Así son los nuevos formatos de imagen y vídeo en iOS 11: HEVC y HEIF

Con la llegada de iOS 11, hemos visto cómo Apple ha dado a conocer la utilización de un codec (algoritmo) de compresión para vídeos e imágenes, y un nuevo formato de fichero; HEVC y HEIF. Aunque muchos usuarios podrían ni siquiera darse cuenta de este cambio, en realidad es algo muy importante, porque realmente cambia muchísimo cómo funciona el sistema de generación de imágenes cuando hacemos una foto o tomamos un vídeo, y eso directamente afecta al espacio de almacenamiento que tenemos disponible. Por ejemplo, si tenemos hacemos muchas fotos, tras actualizar a iOS 11 deberíamos notar que éstas ocupan menos, y por lo tanto, caben más en el mismo espacio de almacenamiento. Otros pequeños problemas de iOS que son casi transparentes pero que han estado ahí desde el lanzamiento de las Live Photos, van a desaparecer; Hasta ahora, Apple utilizaba un fichero de vídeo y una imagen JPEG cada vez que hacíamos una foto en la que podemos también ver el segundo y medio antes y después de la misma apretando más fuerte con 3D Touch sobre la imagen, o dejando el dedo sobre la misma en dispositivos que no tienen 3D Touch, como por ejemplo el iPad Pro. El resultado es una foto, que cuando se activa, se mueve ligeramente… pero esa Live Photo está guardada de una manera muy poco eficiente; Una imagen, y luego un vídeo. El nuevo formato HEIF solucionará este problema porque es capaz de almacenar tanto imágenes como secuencias de imágenes en un sólo fichero.

Formatos de imagen y video HEVC y HEIF

Este tipo de detalles son súper importantes pero pasarán desapercibidos para la inmensa mayoría de usuarios de iPhone o iPad. Hasta ahora hemos utilizado JPEG como formato para guardar las foros, pero la mayoría de usuarios no lo sabe. No tiene por qué saberlo. Lo único que se sabe es que le das al botón, se hace la foto, la vemos bien… se envía a otra persona y esa persona la puede ver… y es aquí en donde Apple consigue que este cambio de formato en imágenes y vídeo se produzca de manera totalmente transparente para el usuario; Cada vez que compartamos una foro, ésta puede cambiar de formato automáticamente para que la persona que hay al otro lado la reciba en el estándar JPEG, aceptado en cualquier dispositivo, garantizando así que podemos compartirla sin problemas.

Cambiando el formato de imagen para que sea compatible con otros dispositivos

Esa decisión, no obstante, la toma el programador… que puede cambiar el formato siempre, en cada envío, o puede comprobar si al otro lado la recibirá un dispositivo compatible con estos nuevos formatos, y, si ese es el caso, no codificar el vídeo o foto para ahorrar tiempo, consumo de energía y no degradar la calidad del mismo.

Comprobando el formato compatible del otro lado

Dentro de nuestro iPhone, la imagen o el vídeo utilizará siempre un sistema de compresión de última generación, mucho más avanzado que el JPEG o H.264 (el algoritmo de codificación de vídeo utilizado hasta ahora), pero fuera del mismo, todos recibirán la imagen en el formato que requieran como compatible, y todo ocurre sin que el usuario tenga idea de que se está produciendo ese cambio para garantizar la compatibilidad. La realidad, es que en muchas situaciones no se puede comprobar qué formatos puede soportar el dispositivo delo otro lado, por lo que la inmensa mayoría de imágenes se codificarán en formato JPEG para garantizar que se puedan visualizar al otro lado. Lo mismo con los vídeos, pasarán a H.264 en la mayoría de los casos. Quizás, sólo cuando utilicemos iMessage, el formato no cambiará, pero si utilizamos WhatsApp o Email, muy probablemente cambiarán siempre.

HEVC en detalle

Este nuevo formato de vídeo es básicamente viene a sustituir a H.264 como el estándar de vídeo de alta definición. Es probable que hayas visto antes su nombre, por ejemplo, en las especificaciones de una TV 4K en una tienda de electrónica. El vídeo 4K se graba generalmente utilizando este formato. iOS 11 lo utiliza como el formato de vídeo por defecto, tanto para vídeos 4K como para 1080p o 720p. Este formato se aprobó en el año 2013 pero se necesitan muchos años para ir expandiéndolo a TVs, ordenadores y otros dispositivos. Desde Septiembre de este año, HEVC se empezará a utilizar en cientos de millones de dispositivos iOS en todo el mundo… y también cualquier Mac con High Sierra macOS.

Formato HEVC

No vamos a entrar en cómo consigue HEVC sus mejoras de reducción de peso con una calidad de imagen comparable a H.264 porque esos detalles están sólo al alcance de alguien que entiende muy bien cómo funcionan estos algoritmos. Basta enseñar esta tabla comparativa entre un y otro formato para comprender que la complejidad de estos tipos de sistemas de compresión de vídeo hacen el asunto bastante difíciles de explicar a los profanos.

Comparación entre el Formato HEVC y H.264

En la práctica, lo que hay que entender es que cuando grabemos un vídeo con un iPhone o iPad con iOS 11 instalado, lo que veremos en pantalla será lo mismo que antes, pero ese vídeo resultante, ocupará casi la mitad de espacio en comparación con el mismo vídeo grabado con el mismo iPhone o iPad si tuviera iOS 10. Además, la calidad de vídeo puede ser incluso mejor a pesar de esa reducción de tamaño, porque los sistemas que HEVC utiliza para comprimir el vídeo son mucho más avanzados. Dicho de otra manera, si descargamos películas en este formato a un iPad o iPhone… ahora podremos meter casi el doble de películas que antes. El fichero en donde se guarda el vídeo, continuará utilizando un fichero .mov o un fichero .mp4 como contenedor para los vídeos, pero para las imágenes, no puede utilizar .jpg. Es por esa razón que Apple ha creado un nuevo formato de imagen llamado HEIF, que permite utilizar las bondades que ya hemos visto del codec HEVC con imágenes además de con vídeos.

HEIF en detalle

HEIF (High Efficiency Image File) es un formato o contenedor de imágenes que puede utilizar el codec HEVC y también añade mejoras como la posibilidad de añadir información de transparencia en la imagen (Alpha channel) o de profundidad, algo que es necesario por ejemplo para las fotos que la cámara doble trasera del iPhone 7 puede hacer en el modo Retrato. También soporta animaciones, es decir, GIFs animados o Live Photos, como hemos comentado antes… o directamente, puede guardar en un sólo fichero una secuencia de imágenes, algo muy útil por ejemplo cuando hacemos una foto dejando el botón de disparo apretado para poder captar el mejor momento de una escena determinada.

Athar Shah de Apple

Como los ficheros HEIF pueden llegar a pasar mucho si se trata de una imagen en alta resolución o con muchos fotogramas de una secuencia en su interior, el formato también permite dividir la imagen en rectángulos de manera que sea posible descargar una vista previa de la imagen antes de que el fichero haya llegado completamente. Las imágenes guardadas en formato HEIF tendrán una extensión de fichero .heic, aunque según la codificación de la imagen (si viene de otro dispositivo) podría tener extensiones .avci o .heif. El formato también incluye una vista en miniatura con una resolución de 320 x 240 pixeles, también codificada con HEVC. En cualquier caso, todas las nuevas fotos que hagamos con nuestro iPhone o iPad se guardarán con nombres como image35.heic, aunque en realidad, en muy pocas ocasiones tendremos oportunidad de ver el nombre de fichero a no ser que nos enviemos una foto a nuestro ordenador, por ejemplo adjunta en un email.

Velocidad en modelos de iPhone actuales

En el lado un poco negativo de las cosas, vemos que toda la decodificación de estos formatos se hará vía hardware en cualquier dispositivo iOS que tenga un procesador A9 en adelante, es decir, del iPhone 6S en adelante. En el resto de iPhones, se podrá utilizar igual pero será la CPU la que utilice software para descomprimir estos formatos. El resultado es que abrir el carrete de fotos, sobre todo si tienes muchas, será bastante más lento en un iPhone 6 que en un iPhone 6S o 7, no sólo por tener una CPU más lenta, sino también porque esa decodificación de las imágenes o de los vídeos, la tiene que hacer vía software.

Esto es un problema, por ejemplo, si queremos que el iPhone 5S reproduzca un vídeo 4K a 30 fotogramas por segundo, grabado con un iPhone 7. Tiene que decodificarlo vía software, y su CPU no es lo suficientemente rápida para esa tarea en muchos casos. La solución es la implementación de una variable llamada isPlayable que permite a los desarrolladores saber si sus Apps podrán reproducir un vídeo en un dispositivo como el iPhone 5S. Dicho de otra manera, en esos casos veremos un mensaje que indica que el vídeo no puede ser reproducido. Es muy poco probable que alguien con un iPhone 5S acabe con un vídeo 4K almacenado porque, habitualmente, cuando se envían los vídeos se suelen re-comprimir para que pesen mucho menos, ya que eso ayuda a reducir el número de datos que hace falta transmitir, muy importante sobre todo si estamos conectados vía radio celular 3G/4G en lugar de Wi-Fi.

En cuanto a la creación de estos vídeos HEVC, sólo el A10 Fusion tiene capacidad para hacerlo vía hardware.

Vía: Programadores de Apple Gavin Thomson (Photos Manager) y Athar Shah (CoreMedia Manager), en la WWDC 2017.

3 Comentarios

Dejar respuesta

Please enter your comment!
Please enter your name here