jueves, 2 de abril de 2015

H.265 y VP9: así funcionan los codec que hacen el streaming 4K posible

H.265 y VP9: así funcionan los codec que hacen el streaming 4K posible


Ejemplo de bloques seleccionados por H.265 a comprimir.

Una de las mayores limitaciones que existían para que el 4K fuese una realidad, era el gran bitrate de los vídeos. En la actualidad eso ya no es un problema tan grande, ya que aquí están los nuevos formatos de compresión que proclaman ser el doble de eficientes que el H.264, el actual estándar de la industria. El beneficio no aplica al contenido 4K en exclusiva, los vídeos en 720p y 10800p serán más fáciles de descargar en conexiones lentas. H.265 y VP9 soportan contenido 4K y... 8K, podríamos decir que son el presente y el futuro del vídeo, por eso son tam importantes.

El formato H.265 ha sido desarrollado como el HEVC (High Efficiency Video Coding), a veces se denomina HEVC H.265, por la VCEG (Video Coding Experts Group) y la MPEG (Moving Picture Experts Group). Se estableció como el sucesor del H.264 (el codec más extendido) en 2013. El problema es que, como el H.264, los fabricantes de hardware han de pagar la licencia por agregar el soporte y los desarrolladores pagar una cuota.

VP9 es open source y libre de royalty. Ha sido desarrollado por Google como sucesor de su VP8, su propia alternativa -no tan exitosa- del H.264. Google ya ha integrado soporte para dicho codec en su navegador Google Chrome y Youtube. Google aboga por el empleo del VP9, como lo hace ya en YouTube alegando que reducen un 35% ancho de banda de media por vídeo y que los vídeos comienzan entre un 15-80% más rápido.

¿Cómo funcionan?

Para comprimir algo tienes que hacer justo lo contrario a lo que ofrece lo que vas a comprimir. Suena estúpido, pero ahora lo entenderás. El vídeo 4K aumenta la nitidez de las imágenes haciendo que cada pixel sea más pequeño. Para reducir el peso del vídeo, H.265 hace los pixeles más grandes. (Pongo en itálicas lo de grande y pequeño porque es una simplificación para que se entienda).

Entonces cuando ha de ser descomprimido y reproducido, emplea una serie de algoritmos para intentar devolver el vídeo a su resolución origen, perdiendo algo de calidad como en todos los formatos con pérdidas. A mejor codec sea, mayor sera la calidad con menor espacio empleado en el fichero final.



Por ejemplo, el H.264 creaba "bloques" de 16x16 pixeles y luego a la hora de descodificar ejecuta 9 tandas de algoritmos (educated guesses) que le permiten reconstruir con mayor o menor fidelidad los pixeles originales. H.265 crea bloques de 64x64 pixeles y ejecuta 35 predicciones para devolverlos a la forma más aproximada posible que la original. En realidad los dos codec usan bloques de diferentes tamaños según las zonas y colores, es muy inteligente con los patrones. Por ejemplo el cielo o un campo.

El VP9 funciona igual, pero permite crear bloques rectangulares además de cuadrados, por lo que aumenta su eficiencia. El problema es que sólo ejecuta 10 modos de predicción para reconstruir el vídeo.
Soporte y futuro

Ambos codecs necesitan bastante más poder computacional para decodificar el vídeo que el H.264 y el VP8, como podrías esperar. A más compresión, mayor trabajo al decodificarlos. Los dos son unos formatos geniales, H.265 tiene una calidad superior, pero VP9 tiene una decodificación más estricta que permite más estabilidad en los vídeos por streaming.

A diferencia de lo ocurrido con el VP8 y el H.264 parece que todos los fabricantes están soportando ambos codec. Qualcomm, Samsung, ARM, por ejemplo, tienen soporte para VP9. Pero también soportan H.265. El futuro es más calidad en menos tiempo y compromisos. Y los fabricantes parecen haberse puesto de acuerdo.

No hay comentarios:

Publicar un comentario