WebP - WebP

WebP
logo
Johnrogershousemay2020.webp
Una imagen de WebP de ejemplo
Extensión de nombre de archivo
.webp
Tipo de medio de Internet
imagen / webp
número mágico 52 49 46 46 xx xx xx xx 57 45 42 50
Desarrollado por Google
Versión inicial 30 de septiembre de 2010 ; Hace 11 años ( 30 de septiembre de 2010 )
Tipo de formato
Contenido por Formato de archivo de intercambio de recursos (RIFF)
¿ Formato abierto ?
Sitio web desarrolladores .google .com / speed / webp
libwebp
Desarrollador (es) Google
Lanzamiento estable
1.2.0 / 30 de enero de 2021 ; hace 8 meses ( 30/01/2021 )
Repositorio cromo .googlesource .com / WebM / libwebp
Escrito en C
Plataforma Multiplataforma
Escribe Imagen digital
Licencia Licencia BSD
Sitio web desarrolladores .google .com / speed / webp

WebP es un formato de imagen que emplea compresión con y sin pérdida, y admite animación y transparencia alfa . Desarrollado por Google , está diseñado para crear archivos más pequeños para la misma calidad, o de mayor calidad para el mismo tamaño, que los formatos de imagen JPEG , PNG y GIF .

El formato WebP se anunció en septiembre de 2010, y la biblioteca de soporte alcanzó la versión 1.0 en abril de 2018. El soporte para el formato ha aumentado a lo largo de los años y, en mayo de 2021, WebP era compatible con el 94% de los navegadores web en uso en todo el mundo.

Historia

WebP fue anunciado por primera vez por Google el 30 de septiembre de 2010 como un nuevo formato abierto para gráficos de color verdadero comprimidos con pérdida en la web, produciendo archivos que eran más pequeños que los archivos JPEG para una calidad de imagen comparable. Se basó en tecnología que Google adquirió con la compra de On2 Technologies . Como derivado del formato de video VP8 , es un proyecto hermano del formato contenedor multimedia WebM . El software relacionado con WebP se publica bajo una licencia de software libre BSD .

El 3 de octubre de 2011, Google agregó un "Formato de archivo extendido" que permite la compatibilidad con WebP para animación , perfil ICC , metadatos XMP y Exif y mosaico (composición de imágenes muy grandes de un máximo de 16384 × 16384 mosaicos). Los archivos GIF animados más antiguos se pueden convertir a WebP animado.

El 18 de noviembre de 2011, Google anunció un nuevo modo de compresión sin pérdida y soporte para transparencia ( canal alfa ) tanto en modo sin pérdida como con pérdida; el soporte estaba habilitado de forma predeterminada en libwebp 0.2.0 (16 de agosto de 2012). Según las mediciones de Google en noviembre de 2011, una conversión de PNG a WebP resultó en una reducción del 45% en el tamaño del archivo al comenzar con PNG que se encuentran en la web, y una reducción del 28% en comparación con los PNG que se recomprimen con pngcrush y PNGOUT .

En julio de 2016, Apple agregó compatibilidad con WebP a las primeras versiones beta de macOS Sierra e iOS 10, pero la compatibilidad se eliminó posteriormente en las versiones semilla GM de iOS 10 y macOS Sierra lanzadas en septiembre de 2016. En septiembre de 2020, se agregó compatibilidad con WebP en Safari. versión 14.

La biblioteca libwebp compatible alcanzó la versión 1.0 en abril de 2018.

En mayo de 2021, WebP era compatible con el 94% de los navegadores web en uso en todo el mundo.

Tecnología

WebP simple
Bytes Contenido
 0- 3 R I F F
 4- 7 longitud + 8
 8-11 W mi B PAG
12-15 V PAG 8
16-19 largo (acolchado)
20- … Marco clave VP8
almohadilla (longitud uniforme)

Algoritmo de compresión con pérdida de WebP se basa en el intra-cuadro de codificación del formato de vídeo VP8 y el formato de archivo de intercambio de recursos (RIFF) como un formato contenedor . Como tal, es un esquema de transformación basado en bloques con ocho bits de profundidad de color y un modelo de luminancia-crominancia con submuestreo de croma en una proporción de 1: 2 ( YCbCr 4: 2: 0). Sin más contenido, el contenedor RIFF obligatorio tiene una sobrecarga de solo veinte bytes, aunque también puede contener metadatos adicionales. La longitud lateral de las imágenes WebP está limitada a 16,383 píxeles.

WebP se basa en la predicción de bloques. Cada bloque se predice sobre los valores de los tres bloques que están por encima de él y de un bloque a la izquierda (la decodificación de bloques se realiza en orden de barrido de trama: de izquierda a derecha y de arriba a abajo). Hay cuatro modos básicos de predicción de bloques: horizontal, vertical, DC (un color) y TrueMotion. Los datos mal predichos y los bloques no predichos se comprimen en un subbloque de 4 × 4 píxeles con una transformada de coseno discreta o una transformada de Walsh-Hadamard . Ambas transformaciones se realizan con aritmética de punto fijo para evitar errores de redondeo. La salida se comprime con codificación de entropía . WebP también tiene soporte explícito para decodificación paralela.

La implementación de referencia consta de un software conversor en forma de programa de línea de comandos para Linux (cwebp) y una librería de programación para la decodificación, al igual que para WebM. La comunidad de código abierto rápidamente logró portar el convertidor a otras plataformas, como Windows.

La compresión sin pérdidas de WebP, un formato más nuevo no relacionado con VP8, fue diseñado por el ingeniero de software de Google Jyrki Alakuijala. Utiliza técnicas avanzadas como códigos de entropía dedicados para diferentes canales de color, explotando la localidad 2D de distancias de referencia hacia atrás y un caché de color de colores usados ​​recientemente. Esto complementa las técnicas básicas como la codificación de diccionario , la codificación de Huffman y la transformación de indexación de color. Este formato utiliza una definición recursiva: todas las imágenes de control, como la selección del código de entropía local, se codifican de la misma forma que la imagen completa.

El contenedor WebP (es decir, el contenedor RIFF para WebP) permite el soporte de funciones más allá del caso de uso básico de WebP (es decir, un archivo que contiene una sola imagen codificada como un fotograma clave VP8). El contenedor WebP proporciona soporte adicional para:

Compresión sin perdidas
Una imagen se puede comprimir sin pérdidas, utilizando el formato WebP Lossless.
Metadatos
Una imagen puede tener metadatos almacenados en formatos Exif o XMP.
Transparencia
Una imagen puede tener transparencia, es decir, un canal alfa.
Perfil de color
Una imagen puede tener un perfil ICC incrustado según lo descrito por el Consorcio Internacional del Color.
Animación
Una imagen puede tener varios fotogramas con pausas entre ellos, lo que la convierte en una animación.

Animación

Google ha propuesto usar WebP para imágenes animadas como una alternativa al popular formato GIF , citando las ventajas del color de 24 bits con transparencia, combinando cuadros con compresión con pérdida y sin pérdida en la misma animación, y soporte para buscar cuadros específicos. Google informa una reducción del 64% en el tamaño del archivo para las imágenes convertidas de GIF animados a WebP con pérdida, sin embargo, con un impacto visual muy notable, tanto en la configuración predeterminada como en la configuración optimizada. Al realizar la conversión utilizando WebP sin pérdidas, se logra una reducción del 19% según lo informado por Google, aunque el rendimiento en el mundo real está más cerca del 10%.

Apoyo

navegadores web

Google Chrome y todos los navegadores basados ​​en Chromium , Firefox (y sus bifurcaciones Pale Moon y Waterfox ), GNOME Web , Midori y Falkon son compatibles de forma nativa con WebP. Google promueve activamente WebP. La herramienta patentada PageSpeed ​​Insights sugiere que los webmasters cambien de JPEG y PNG a WebP para mejorar la puntuación de velocidad de su sitio web.

Las versiones de Microsoft Edge lanzadas después de enero de 2020 se basan en el navegador Chromium y tienen compatibilidad nativa con WebP. Las versiones de Microsoft Edge basadas en EdgeHTML admiten WebP a través de una extensión de plataforma (instalada de forma predeterminada) (a menos que se ejecuten en el modo "Application Guard" de seguridad reforzada, que no admite extensiones de plataforma).

Safari agregó soporte para WebP con iOS 14 y macOS Big Sur .

WebP también se puede mostrar en todos los navegadores principales utilizando la biblioteca de JavaScript de WebPJS, aunque la compatibilidad con Internet Explorer 6 y superior se logra mediante Flash .

Software de gráficos

Picasa (desde la versión 3.9), PhotoLine , Pixelmator , ImageMagick , XnView , IrfanView , GDAL , Aseprite, Paint.NET (desde la versión 4.2.5), GIMP (desde la versión 2.10) y gThumb (desde septiembre de 2012) son compatibles con WebP de forma nativa. En 2019, Google lanzó un complemento gratuito que permite la compatibilidad con WebP en Adobe Photoshop . Telegraphics y fnordware habían lanzado complementos gratuitos de Photoshop antes de eso. Imagine es compatible con WebP a través de un complemento. GIMP hasta la versión 2.8 también es compatible con WebP a través de un complemento; más tarde, este complemento se envió en la rama GIMP 2.9 y recibió múltiples mejoras. Google también ha lanzado un complemento para Microsoft Windows que permite la compatibilidad con WebP en Windows Photo Viewer , Microsoft Office 2010 , FastPictureViewer y cualquier otra aplicación que utilice Windows Imaging Component . Xara Designer Pro (desde v 18.0).

Otros programas

FFmpeg vinculado con la biblioteca de códec de referencia VP8 / VP9 libvpx puede extraer fotogramas clave VP8 de los medios WebM y un script puede agregar el encabezado RIFF de WebP y el byte de almohadilla NUL para longitudes de fotogramas impares. Mientras tanto, FFmpeg admite libwebp directamente.

Tanto Gmail como Google Photos son compatibles con WebP. La compatibilidad con WebP también está prevista para Google App Engine . La función Vistas previas instantáneas de la Búsqueda de Google utiliza WebP internamente para reducir el espacio en disco utilizado por las vistas previas. Android 4.0 admite la codificación y decodificación de imágenes WebP (a través de mapa de bits y Skia ). SDL_image admite el formato desde 1.2.11.

Telegram Messenger usa WebP para sus pegatinas, afirmando que se muestran 5 veces más rápido en comparación con los otros formatos que generalmente se usan en las aplicaciones de mensajería.

Signal usa WebP para sus pegatinas no animadas.

Los sistemas de administración de contenido (CMS) generalmente no son compatibles con WebP de forma nativa o predeterminada. Sin embargo, para los CMS más populares, las extensiones están disponibles para la conversión automática de otros formatos de imagen a WebP y para entregar imágenes de WebP a navegadores compatibles. Desde junio de 2021, WordPress soporta de forma nativa WebP.

Restricciones

Al igual que VP8 en el que se basa, el anterior WebP con pérdida solo admite el formato YUV 4: 2: 0 de 8 bits , que puede causar pérdida de color en imágenes con elementos de contraste delgados (como en pixel art y gráficos de computadora ) y efecto fantasma en anaglifo . Para superar esta restricción, el nuevo WebP sin pérdidas admite la codificación VP8L que funciona exclusivamente con el espacio de color RGBA (rojo, verde, azul, alfa) de 8 bits.

Crítica

En septiembre de 2010, Fiona Glaser, desarrolladora del codificador x264 , escribió una crítica muy temprana de WebP. Al comparar diferentes codificaciones (JPEG, x264 y WebP) de una imagen de referencia, afirmó que la calidad del resultado codificado con WebP era la peor de las tres, principalmente debido a que la imagen estaba borrosa. Su comentario principal fue que "libvpx, un codificador mucho más potente que el codificador jpeg de ffmpeg, pierde porque se esfuerza demasiado en optimizar para PSNR " (relación pico señal / ruido), argumentando en cambio que "las buenas optimizaciones psico-visuales son más importante que cualquier otra cosa para la compresión ".

En octubre de 2013, Josh Aas de Mozilla Research publicó un estudio completo de las técnicas de codificación con pérdida actuales y no pudo concluir que WebP superó a mozjpeg por ningún margen significativo.

En una comparación realizada entre GIF, APNG y WebP sin pérdidas, se demostró que a partir de fuentes GIF, APNG tenía un tamaño de archivo más bajo manteniendo la misma calidad.

Metadatos

Aunque WebP admite el almacenamiento de metadatos Exif, XMP o ITPC como fragmentos de contenedor RIFF como parte del formato de archivo extendido , Google no proporciona herramientas para las principales plataformas como Windows, macOS, Android o iOS para editar y ver metadatos en archivos de imagen WebP, pero proporciona herramientas para migrar metadatos existentes en archivos JPEG a WebP.

WebP 2

WebP 2 es una generación más nueva de WebP en desarrollo por Google a partir de junio de 2021. Su implementación de referencia es libwebp2. El objetivo principal de este nuevo formato es alcanzar proporciones de compresión similares a las de AVIF sin dejar de ser más rápido para codificar y decodificar.

Ver también

  • Comparación de formatos de archivos gráficos
  • AVIF, un formato de imagen basado en el códec de video AV1
  • BPG , un formato de imagen destinado a ser un reemplazo más eficiente en compresión para el formato de imagen JPEG, basado en la codificación intracuadro del estándar de compresión de video High Efficiency Video Coding (HEVC), introducido en 2014
  • FLIF , un formato de imagen sin pérdidas descontinuado que afirmaba superar a PNG, WebP sin pérdidas, BPG sin pérdidas y JPEG2000 sin pérdidas en términos de relación de compresión, introducido en 2015. FLIF fue reemplazado por JPEG XL.
  • HEIF , otro formato de imagen basado en HEVC
  • Del Grupo Conjunto de Expertos en Fotografía:
    • JPEG-LS , un formato sin pérdidas antiguo pero eficiente, introducido en 1999
    • JPEG 2000 , una mejora destinada a reemplazar el JPEG anterior por el comité JPEG, introducida en 2000
    • JPEG XR , una alternativa a JPEG 2000 que admite HDR y espacios de color de amplia gama , introducido en 2009
    • JPEG XL , especialmente optimizado para entornos web receptivos, para que el contenido se reproduzca bien en una amplia gama de dispositivos. Además, incluye varias funciones que ayudan en la transición del formato JPEG heredado. JPEG XL se introdujo a finales de 2020.
  • MNG y APNG, formatos de imagen animada basados ​​en PNG, que admiten color RGB de 24 bits sin pérdidas y canal alfa de 8 bits

Referencias

enlaces externos