Un código en cadena es un algoritmo de compresión sin pérdidas para imágenes monocromas . El principio básico de los códigos de cadena es codificar por separado cada componente conectado , o "blob", en la imagen.
Para cada una de estas regiones, se selecciona un punto en el límite y se transmiten sus coordenadas. El codificador luego se mueve a lo largo del límite de la región y, en cada paso, transmite un símbolo que representa la dirección de este movimiento.
Esto continúa hasta que el codificador vuelve a la posición inicial, momento en el que el blob se ha descrito por completo y la codificación continúa con el siguiente blob de la imagen.
Este método de codificación es particularmente eficaz para imágenes que constan de un número razonablemente pequeño de grandes componentes conectados.
Variaciones
Algunos códigos de cadena populares incluyen:
- el Código de Ocho Direcciones de Freeman Chain [1] (FCCE)
- Código direccional de la cadena Freeman de ocho direcciones [2] (DFCCE)
- Código de cadena de vértice [3] (VCC)
- Código de cadena de tres símbolos OThogonal [4] (3OT)
- Código de cadena de Manhattan sin firmar [5] (UMCC)
- Código de cadena de colonias de hormigas [6] (ACCC)
- Código de cadena del sistema Predator-Prey [7] [8] (PPSCC)
- Código de cadena de Beaver Territories [9] (BTCC)
- Código de la cadena de reproducción biológica [10] (BRCC)
- Código de cadena de modelado basado en agentes [11] (ABMCC)
En particular, FCCE, VCC, 3OT y DFCCE se pueden transformar de uno a otro [12]
Un método de codificación de blobs relacionado es el código crack . [13] Existen algoritmos para convertir entre código en cadena, código crack y codificación de longitud de ejecución.
Una nueva tendencia de los códigos en cadena implica la utilización de comportamientos biológicos. Esto comenzó con el trabajo de Mouring et al. [6] quien desarrolló un algoritmo que aprovecha la feromona de las hormigas para rastrear la información de la imagen. Una hormiga libera una feromona cuando encuentra un trozo de comida. Otras hormigas usan la feromona para rastrear la comida. En su algoritmo, una imagen se transfiere a un entorno virtual que consta de alimentos y caminos según la distribución de los píxeles en la imagen original. Luego, las hormigas se distribuyen y su trabajo es moverse mientras liberan feromonas cuando encuentran alimentos. Esto ayuda a otras hormigas a identificar información y, por lo tanto, a codificarla.
En uso
Recientemente, la combinación de la transformación de movimiento al frente y la codificación de longitud de ejecución adaptativa logró una compresión eficiente de los códigos de cadena populares. [14] Los códigos en cadena también se pueden utilizar para obtener altos niveles de compresión para documentos de imagen, superando estándares como DjVu y JBIG2 . [11] [10] [9] [8] [7] [6] [15]
Ver también
Referencias
- ^ H. Freeman. Sobre la codificación de configuraciones geométricas arbitrarias , IRE Transactions on Electronic Computers EC-10 (1961) 260-268.
- ^ YK Liu, B.Zalik, Un código de cadena eficiente con codificación Huffman , Reconocimiento de patrones 38 (4) (2005) 553-557.
- ^ E. Bribiesca, Un nuevo código de cadena , Reconocimiento de patrones 32 (1999) 235-251.
- ↑ H. Sánchez-Cruz, RM Rodríguez-Dagnino. Comprimir imágenes de dos niveles mediante un código de cadena de 3 bits . Ingeniería óptica. SPIE. 44 (9) 097004 (2005) 1-8.
- ↑ B. Žalik, D. Mongus, Y.-K. Liu, N. Lukač, Código de cadena de Manhattan sin firmar , Revista de comunicación visual y representación de imágenes 38 (2016) 186-194.
- ↑ a b c Duelo, M., Dhou, K. y Hadzikadic, M. (2018). Un algoritmo novedoso para la codificación de imágenes de dos niveles y la compresión sin pérdidas basado en colonias de hormigas virtuales, en la '3ª Conferencia Internacional sobre Complejidad, Sistemas de Información Futuros y Riesgo', Setubal - Portugal, págs. 72-78.
- ↑ a b Dhou, K. (2020). 'Un nuevo mecanismo de codificación en cadena para la compresión estimulado por un entorno virtual de un ecosistema depredador-presa', Future Generation Computer Systems 102, 650-669
- ↑ a b Dhou, K. (2018). Un nuevo enfoque de modelado basado en agentes para la codificación de imágenes y la compresión sin pérdidas basado en el modelo de depredación lobo-oveja, en 'Computational Science - ICCS 2018', Springer International Publishing, Cham, págs. 117-128.
- ↑ a b Dhou, K. y Cruzen, C. (2021). 'Un código de cadena altamente eficiente para la compresión utilizando una simulación de modelado basada en agentes de territorios en castores biológicos', Future Generation Computer Systems, 118, 1-13.
- ↑ a b Dhou, K. y Cruzen, C. (2019). Una innovadora técnica de codificación en cadena para la compresión basada en el concepto de reproducción biológica: un enfoque de modelado basado en agentes. IEEE Internet of Things Journal, 6 (6), 9308-9315
- ↑ a b Dhou, K. (2019). 'Un diseño innovador de un algoritmo de codificación de cadena híbrida para la compresión de imágenes de dos niveles utilizando un enfoque de modelado basado en agentes', Applied Soft Computing 79, 94-110.
- ^ H, Sánchez-Cruz; HH López-Valdéz (2014). "Equivalencia de códigos de cadena". Imágenes electrónicas . 23 (1): 013031. Código bibliográfico : 2014JEI .... 23a3031S . doi : 10.1117 / 1.JEI.23.1.013031 .
- ^ A. Rosenfeld, AC Kak. Procesamiento de imágenes digitales, 2ª edición (1982) . Página 220. Academic Press, Inc. Orlando, FL, EE. UU.
- ^ Žalik, Borut; Lukač Niko (2013). "Compresión sin pérdida de código en cadena mediante transformación de movimiento al frente y codificación adaptativa de longitud de ejecución". Procesamiento de señales: comunicación de imágenes . 29 : 96-106. doi : 10.1016 / j.image.2013.09.002 .
- ^ M, Rodríguez-Díaz; H. Sánchez-Cruz (2014). "Clasificación de objetos binarios de doble paso fijo refinada para la compresión de imágenes de documentos". Procesamiento de señales digitales . 30 : 114-130. doi : 10.1016 / j.dsp.2014.03.007 .