7 de junio de 2016

¿Recomprimir de H.264 a H.265?

El códec de vídeo H.264, también conocido como MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), ha sido durante unos años el estándar de eficiencia de compresión de vídeo por su excelente relación entre calidad y cantidad de datos necesaria para la compresión (o tasa de bits, del inglés bitrate); es decir, consigue vídeos de más calidad incluso que el popular Xvid (y DivX), u otros anteriores a H.264, con un tamaño de archivo igual o menor. Sin embargo, podría ser reemplazado ya en pocos años por el más moderno H.265, o High Efficiency Video Coding (HEVC), porque teóricamente es capaz de conseguir mejor calidad con tasas de bit iguales o algo menores; o dicho de otro modo: podría ser incluso más eficiente.

Sin embargo, no es oro todo lo que reluce. Digo «teóricamente» porque todavía falta mucho que mejorar y demostrar, ya que H.265 es un proyecto que está todavía en una fase relativamente temprana. Además, por el momento parece que su objetivo principal, y en donde parece residir la mayor ventaja respecto a H.264, es conseguir menos pérdida visible de calidad en tasas de bits bajas (que nunca son buenas por todo lo que en realidad hacen con los datos, dicho sea de paso) para vídeos en alta definición y más allá, o requerir menos cantidad de datos para una calidad perceptiblemente similar, dicho de otra manera.

Uno de los mayores inconvenientes de H.265 es que requiere muchos más recursos para poder ser codificado y reproducido, por lo que necesita bastante más tiempo que H.264 para realizar la compresión, o procesadores más potentes. Esto puede ser todavía hoy un problema para muchas personas con equipos antiguos o sencillos.

Teniendo en cuenta pros y contras, imagino que este cambio de códec estándar para usos de alta compresión podría ocurrir finalmente cuando se madure H.265 y su entorno lo suficiente como para que sea realmente más eficiente y conveniente que H.264 en todos los casos, y cuando se implemente por lo tanto en suficiente software y hardware (programas y reproductores domésticos, básicamente). Si es que sucediera tal cosa porque programadores y fabricantes de componentes fueran capaces finalmente conseguir alcanzar los objetivos necesarios, que podría fácilmente no ocurrir, especialmente teniendo en cuenta que la potencia o velocidad de los procesadores ha llegado a un ligero estancamiento... Además, cada vídeo es un mundo, y el códec debe poder ser suficientemente eficiente en todos los casos para ser preferible al ya perfeccionado y más que probado H.264 (que tampoco es perfecto, pero que en buenas manos cumple a la perfección con sus cometidos principales).

Algunos, encandilados por esta presunta eficiencia mejorada de H.265 y sin investigar ni pensar mucho en ello, creen que convertir un archivo de vídeo ya comprimido (o peor, recomprimido) con el códec H.264 a otro con H.265 es buena idea para reducir el tamaño de archivo. Si lo meditamos bien y disponemos de algunos conocimientos multimedia, sin duda nos daremos cuenta de que en realidad esto sería absurdo porque produce más desventajas que ventajas. Y no ocurre solamente entre estos dos códecs, que estoy usando solo como ejemplo contemporáneo, sino que se aplica a cualquier compresión con pérdida (lossy) ya sea vídeo, audio, imagen... Y recordemos que la compresión con pérdida, sea cual sea, descarta unos datos que se pierden para siempre y es imposible recuperarlos, a diferencia de la compresión sin pérdida, o lossless.

A continuación enumero y explico las razones principales por las que generalmente no deberíamos recomprimir un archivo que ya ha sido comprimido con pérdida:

1. Cada generación de recompresión con pérdida degrada la calidad, más o menos visiblemente según muchos factores, porque siempre hay una pérdida de datos, y cada códec realiza sus particulares cálculos, procesos y modificaciones sobre los imágenes, sonidos...

2. Codificar cualquier archivo multimedia, aunque especialmente vídeo por su mayor complejidad, no es tarea fácil ni apta para cualquiera. Para hacerlo correctamente, conservando la mejor calidad y la mayor parte de propiedades del original, hay que disponer de un determinado nivel de conocimientos y herramientas. Cualquiera puede convertir o recomprimir archivos multimedia, pero solo unos pocos podemos hacerlo de la mejor manera en cada caso concreto.

Así pues, a menos que la recompresión sea auténticamente sin pérdida (método que, dicho sea de paso, también puede cambiar en algunos casos algunas propiedades del archivo, incluso aunque no sean perceptibles a simple vista o no supongan intrínsecamente pérdida de calidad), siempre se descartan datos, que como ya he comentado, son irrecuperables. Pero, a su vez, convertir un archivo lossy a uno lossless es generalmente absurdo porque el archivo resultante suele ser bastante más grande, sin ganar calidad alguna. A menos que se planee hacer ciertas modificaciones importantes en el vídeo, esto no tiene ninguna ventaja, y además el resultado probablemente acabe recomprimiéndose con pérdida igualmente... Los códecs con alta compresión están diseñados para ahorrar la mayor cantidad de datos posible, porque están pensados para que se usen en los archivos que se consideran definitivos.

La única razón comprensible para recomprimir de lossy a lossy podría ser hacer el archivo compatible con algún reproductor concreto que no acepte el códec del primer vídeo. Pero el archivo valioso es siempre el menos comprimido... Siempre hay que intentar recomprimir lo mínimo y lo mejor posible, y con la menor cantidad de generaciones con pérdida que podamos permitirnos. Por ejemplo, un DVD, con su antiquísimo, poco eficiente y limitado códec MPEG-2, siempre tendrá mejor calidad que su recompresión con pérdida, sea cual sea el códec y los parámetros empleados; otra cosa muy distinta es el tamaño del archivo final, pero hay que preguntarse y plantearse cuidadosamente si el poco ahorro en espacio compensa la irreversible pérdida de calidad. Quizá de MPEG-2 a H.265 todavía podría llegar a merecer la pena si se recomprime adecuadamente, pero de H.264 a H.265... Ni hablar. Mayormente, el poco espacio que pudiera recuperarse no compensará la recompresión con pérdida adicional que se ha aplicado. A menos que el archivo H.264 tenga una tasa de bits excesiva... Pero la expresión tasa de bits excesiva es una contradicción en sí misma en cuanto a compresión con pérdida.

Además, voy todavía más lejos: de momento no usaría H.265 para nada importante o definitivo. Los primeros años de H.264, y sus codificadores, tampoco eran tan buenos como lo son ahora. Así que H.265, sus codificadores y los usuarios, necesitamos algo más de tiempo para conseguir sacar el máximo partido a su potencial.

En conclusión, desde un punto de vista teórico no hay mejor calidad que la del mismo original, o como mucho alguna versión suya comprimida sin pérdida, al menos en cuanto a cantidad de información original disponible, sean cuales sean los códecs. Métodos de recompresión, parámetros, tasas de bits y retoques «molones» aparte, la norma general es no recomprimir de lossy a lossy.

Véase también
Escritura de símbolos como kb/s, Mb/s, km/h...
dron, drones
Extranjerismos: lista de equivalentes en español
¿Piratería digital?