De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

PCX , que significa PiCture eXchange , es un formato de archivo de imagen desarrollado por la ahora desaparecida ZSoft Corporation de Marietta, Georgia , Estados Unidos . Fue el formato de archivo nativo de PC Paintbrush y se convirtió en uno de los primeros estándares de imágenes de DOS ampliamente aceptados , aunque desde entonces ha sido reemplazado por formatos de imagen más sofisticados, como BMP , JPEG y PNG . Los archivos PCX comúnmente almacenan imágenes indexadas por paleta que van desde 2 o 4 colores hasta 16 y 256 colores, aunque el formato se ha extendido para registrar imágenes de color verdadero (24 bits) también. [2]

Formatos de imagen PCX [ editar ]

PCX se diseñó durante el desarrollo inicial del hardware de visualización de PC y la mayoría de los formatos que admitía ya no se utilizan. La Tabla A muestra una lista de los formatos PCX más utilizados. Es posible que los programas de edición de imágenes actuales no lean archivos PCX que coincidan con hardware antiguo.

PCX es compatible con software de procesamiento de imágenes común que incluye ACDSee , GIMP , ImageMagick , IrfanView , LView , Netpbm , PaintShop Pro , Photoshop , Visio , PMview , XnView y GraphicConverter . [3] [4] En la versión 2.1.4, FFmpeg podía codificar y decodificar los formatos de píxeles PCX rgb24, rgb8, bgr8, rgb4_byte, bgr4_byte, gray, pal8 y monob . [5]

Existe una versión de varias páginas de PCX, utilizada por algunos programas de administración de documentos y fax de computadora , con extensión de archivo .dcx. Un archivo DCX consta de un encabezado que presenta un conjunto de los siguientes archivos PCX. [6]

Formato de archivo PCX [ editar ]

Los archivos PCX se diseñaron para su uso en PC compatibles con IBM y siempre utilizan el orden de bytes little endian . Un archivo PCX tiene tres secciones principales, en el siguiente orden

  1. Encabezado de 128 bytes
  2. datos de imagen
  3. (opcional) paleta de 256 colores

El encabezado del archivo PCX contiene un byte identificador (valor 10), un número de versión, dimensiones de la imagen, 16 colores de paleta, planos de color numéricos, profundidad de bits de cada plano y un valor para el método de compresión. Los números de versión de PCX van de 0 a 5, esto originalmente denotaba la versión del programa PC Paintbrush utilizado para crear el archivo PCX. El encabezado siempre tiene espacio para 16 colores, aunque el número de colores utilizados depende de la profundidad de bits de la imagen. [ aclaración necesaria ] El encabezado tiene 74 bytes de longitud y los datos de la imagen comienzan 128 bytes después del inicio del archivo, los 54 bytes entre ellos no se utilizan. [7] El encabezado se compone de 18 campos: [2]

Todos los archivos PCX utilizan el mismo esquema de compresión y el valor de compresión es siempre 1. No se han definido otros valores y no hay archivos PCX sin comprimir. Una fuente afirma que se permite 0 (sin comprimir) , pero no hay mucho software que lo admita . [8]

Diseño de datos de imagen [ editar ]

Los datos de la imagen PCX se almacenan en filas o líneas de exploración en orden descendente. Si la imagen tiene varios planos, estos se almacenan por plano dentro de la fila, de modo que todos los datos rojos de la fila 0 van seguidos de todos los datos verdes de la fila 0, luego todos los datos azules y luego los datos alfa. Este patrón se repite para cada línea como se muestra en la Tabla B.

Cuando una imagen tiene menos de 8 bits por píxel, cada línea se rellena hasta el siguiente límite de bytes. Por ejemplo, si una imagen tiene 1 plano de datos de 1 bit (monocromo) con un ancho de 22 píxeles, cada fila tendrá una longitud de 3 bytes, con 24 bits por fila con 2 bits sin usar.

Compresión de datos de imagen [ editar ]

Los datos de imagen PCX se comprimen mediante codificación de longitud de ejecución (RLE), un algoritmo de compresión sin pérdidas simple que colapsa una serie de tres o más bytes consecutivos con valores idénticos en un par de dos bytes. Los dos bits más significativos de un byte se utilizan para determinar si los datos dados representan un solo píxel de un índice de paleta o valor de color dado, o un par RLE que representa una serie de varios píxeles de un solo valor:

  1. si ambos bits son 1, el byte se interpreta como la longitud de ejecución. Esto deja 6 bits para el valor de longitud de ejecución real, es decir, un rango de valores de 0-63
  2. en cualquier otro caso, el byte se interpreta como un valor de un solo píxel. Esto deja todos los valores para los cuales el bit # 7 y el bit # 8 no son 1 al mismo tiempo. Este requisito no se cumple con todos los valores de 192 (binario 11000000) y superiores.

En comparación con la longitud máxima de ejecución de 128, posible con la compresión TGA RLE, la codificación de longitud de ejecución PCX ofrece un rango de valores de un solo píxel más grande, mientras que la duración máxima de ejecución está restringida a 63.

Debido al uso de los dos bits más significativos como indicadores, los valores de píxeles de 192 a 255 (con su bit más significativo ya establecido) deben almacenarse en un par de bytes RLE, incluso cuando solo ocurren uno o dos píxeles seguidos. , mientras que los índices de color de 0 a 191 pueden almacenarse directamente o en pares de bytes RLE (lo que sea más eficiente en cuanto al espacio); por lo tanto, la relación de compresión real podría optimizarse con la clasificación adecuada de las entradas de la paleta, aunque esto no es factible cuando el archivo debe compartir su paleta de colores con otras imágenes. Por ejemplo, una paleta podría optimizarse con los colores más utilizados en las posiciones de paleta 0 a 191 y los colores menos comunes asignados al cuarto restante de la paleta.

Otra ineficiencia del algoritmo RLE es que es posible almacenar fragmentos con una longitud de 0, lo que permite espacios en blanco en el archivo. Esto permitió que los archivos PCX se descomprimieran un poco más rápido en los procesadores para los que estaba diseñado originalmente. Esta peculiaridad podría usarse para la esteganografía .

El algoritmo de compresión PCX requiere muy poca potencia de procesador o memoria para aplicarse, una preocupación importante con los sistemas informáticos cuando se diseñó. A medida que las computadoras y el hardware de pantalla se vuelven más sofisticados, el algoritmo PCX se vuelve menos eficiente en el espacio. Los algoritmos de compresión utilizados por los formatos de imagen más nuevos son más eficientes al comprimir imágenes como fotografías y gráficos difuminados o complejos.

Paleta de colores [ editar ]

Un archivo PCX tiene espacio en su encabezado para una paleta de 16 colores. Cuando estuvo disponible el hardware VGA de 256 colores, no había suficiente espacio para la paleta en un archivo PCX; incluso los 54 bytes no utilizados después del encabezado no serían suficientes. La solución elegida fue poner la paleta al final del archivo, junto con un byte marcador para confirmar su existencia.

Si un archivo PCX tiene una paleta de 256 colores, se encuentra a 768 bytes del final del archivo. En este caso, el valor del byte que precede a la paleta debe ser 12 (0x0C). La paleta se almacena como una secuencia de triples RGB; su longitud utilizable se define por el número de colores de la imagen. Los valores de colores en una paleta PCX siempre usan 8 bits, independientemente de la profundidad de bits de la imagen.

Referencias [ editar ]

  1. ^ .pcxtipo MIME no registrado en IANA
  2. ↑ a b James D. Murray, William vanRyper (abril de 1996). "Enciclopedia de formatos de archivos gráficos, segunda edición" . O'Reilly . ISBN 1-56592-161-5. Consultado el 7 de marzo de 2014 .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
  3. ^ Nir Sofer. "Extensión .pcx" . Consultado el 12 de enero de 2014 .
  4. ^ "Tipo de archivo: gráfico de mapa de bits Microsoft PaintBrush" . Asociación de archivos de Windows . Microsoft . 2013 . Consultado el 12 de enero de 2014 .
  5. ^ "Formatos de imagen" . Documentación general de FFmpeg . 2014 . Consultado el 23 de febrero de 2014 .
  6. ^ "Extensión de archivo .DCX" . fileinfo.com. 2010-02-19 . Consultado el 14 de marzo de 2014 .
  7. ^ Dean Ansley (1991). "Manual de referencia técnica del formato de archivo ZSoft PCX" . Corporación ZSoft . Consultado el 14 de marzo de 2014 .
  8. ^ "Formato PCX" . ModdingWiki. 2012-06-23 . Consultado el 14 de marzo de 2014 .