

Adam7 es un algoritmo de entrelazado para imágenes rasterizadas , conocido principalmente por ser el esquema de entrelazado que se utiliza opcionalmente en imágenes PNG . Una imagen entrelazada con Adam7 se divide en siete subimágenes, definidas mediante la replicación de este patrón de 8×8 píxeles en toda la imagen.
A continuación, las subimágenes se almacenan en el archivo de imagen en orden numérico.
Adam7 utiliza siete pasadas y opera en ambas dimensiones, en comparación con las cuatro pasadas en la dimensión vertical que utiliza GIF . Esto significa que se puede percibir una aproximación de la imagen completa mucho más rápidamente en las primeras pasadas, especialmente si se utilizan algoritmos de interpolación como la interpolación bicúbica . [ 1 ]
Historia
Adam7 recibe su nombre de Adam M. Costello, quien sugirió el método el 2 de febrero de 1995, y de los siete pasos que lo componen.
Es una reorganización [ 2 ] de este esquema de cinco pasos [ 3 ] que había sido propuesto anteriormente por Lee Daniel Crocker :
Entre las propuestas especulativas alternativas de la época se incluían el entrelazado en espiral cuadrada y el uso de curvas de Peano , pero estas fueron rechazadas por ser demasiado complicadas.
Pases
Los píxeles incluidos en cada pasada y el total de píxeles codificados en ese punto son los siguientes:
Pasada 1, 1/64 = 1,5625%
Paso 2, 1/32 = 3,125%
Pase 3, 1/16 = 6,25%
Pasar 4, 1/8 = 12,5%
Pasar 5, 1/4 = 25%
Pasar 6, 1/2 = 50%
Aprobar 7, 1/1 = 100%
Al renderizar, la imagen generalmente se interpola en etapas anteriores, en lugar de renderizar solo esos píxeles.
Algoritmos relacionados
Adam7 es un modelo multiescala de los datos, similar a una transformada wavelet discreta con wavelets de Haar , aunque parte de un bloque de 8×8 y submuestrea la imagen en lugar de diezmarla ( filtrado de paso bajo y posterior submuestreo). Por lo tanto, ofrece un peor comportamiento en frecuencia, mostrando artefactos ( pixelación ) en las primeras etapas, a cambio de una implementación más sencilla.
Iteración
Adam7 surge de la iteración del siguiente patrón:
lo cual puede interpretarse como un "plegamiento" en las dimensiones vertical y horizontal. De manera similar, el entrelazado GIF1324puede verse como una iteración de la12patrón, pero solo en la dirección vertical (12se expande a1.2.que se rellena como1324).
El uso de este patrón de 3 pasadas significa que la primera pasada es (1/2) 2 = 1/4 (25%) de la imagen.
Al iterar este patrón una vez se obtiene un esquema de 5 pasadas; después de 3 pasadas se obtiene
que luego se rellena con:
En el patrón de 5 pasadas, la primera pasada (1/4) 2 = 1/16 (6,25%) de la imagen.
Al iterar nuevamente se obtiene el esquema Adam7 de 7 pasadas, donde la primera pasada (1/8) 2 = 1/64 (1,5625%) de la imagen.
En principio, este proceso puede iterarse, dando como resultado un esquema de 9 pasadas, otro de 11, etc., o bien, se puede utilizar un número adaptativo de pasadas, tantas como lo permita el tamaño de la imagen (de modo que la primera pasada consista en un solo píxel), como es habitual en el modelado multiescala sin escala. En el contexto en el que se desarrolló PNG (es decir, para los tamaños de imagen y las velocidades de conexión en cuestión), se consideró que un esquema de 7 pasadas era suficiente y preferible a un esquema simple de 5 pasadas.
Referencias
- ↑ Introducción a PNG - nuwen.net
- ↑ Costello, Adam M. (2 de febrero de 1995). "Entrelazado revisitado: el esquema Adam7" . png-list (Lista de correo) . Recuperado el 18 de abril de 2016.
Reorganicé un poco el esquema Lee7 (Lee7 es la extensión obvia del esquema de 5 pasadas de Lee), llegando al esquema Adam7.
- ↑ Lane, Tom (1 de febrero de 1995). "Métodos de entrelazado: pruebas visuales" . png-list (Lista de correo) . Consultado el 18 de abril de 2016.
Propuesta de entrelazado 2D de 5 pasadas de Lee Crocker
.
Enlaces externos
- Comparación animada del entrelazado de Adam7 y GIF
- Algoritmos de compresión sin pérdidas
- Compresión de imágenes