imagen bmp

Upload: santiago-alvarado

Post on 14-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Estructura de datos de una imagen BMP, Transformación de modelo RGB a Canal R, G, B y YUV. Submuestreo

TRANSCRIPT

  • Introduccin

    Uno de los campos de la multimedia es el estudio de las imgenes, su generacin, compresin, codificacin, submuestreo, entro otros. Tal estudio permite que las imgenes sean procesadas de tal manera que puedan proyectarse, transmitirse o ser almacenado en algn medio. Dicho estudio se ha enfocado en procesar la imagen para reducir su tamao de bytes sin que esta pierda demasiada calidad o no sea comparable con la imagen original. Todo esto con el propsito de ahorrar espacio de almacenamiento o ancho de banda. A continuacin se ver el estudio realizado para llevar a cabo el procesamiento de una imagen con formato BMP de tal manera que se pueda llegar a una conclusin y ver los resultados obtenidos y as poder comparar la imagen original con las imgenes procesadas en cada una de sus componentes de color. Se ha elegido el formato bmp de 24bits puesto que es un formato utilizando una compresin sin perdidas de calidad. Formatos cmo JPEG, PNG, entre otros son formatos utilizando una compresin con prdidas.

    Modelo de color RGB

    Las siglas RGB corresponden a las iniciales de los colores primarios que son Red, Green y Blue. Se hace mencin a RGB puesto que es la composicin de color en trminos de la intensidad de los colores primarios de la Luz [1]. RGB es utilizado para representar imgenes que sern mostradas en algn medio visual sean estos monitores o en papel fotogrfico, etc. Utilizando el modo RGB, se asigna un valor entre 0 y 255 para cada uno de los colores que forman el modo. Valores que estn cercanos al cero son valores de intensidad oscura mientras que valores que estn cercanos a 255 son valores de intensidad brillante. Cuando los tres valores RGB contienen el mismo valor numrico se obtiene un matiz gris (oscuro o luminoso). Si los tres valores RGB son 255 se obtiene el color blanco puro, mientras que si los valores de RGB son 0, se obtendr el valor negro puro.

    Modelo de color YUV Las siglas YUV es un estndar CCIR 601 conocido anteriormente como YCrCb, y al igual que RGB representa modelos de colores primarios, este es un modelo de representacin de luminancia y crominancias. Y representa la luminancia, es decir la informacin lumnica de las tres componentes de color de RGB, mientras que U representa la crominancia R, es decir la informacin crmica de las tres componentes de color RGB y V representa la crominancia B. Este modelo es utilizado para realizar procesos de compresin, submuestreo, codificacin de la imagen de tal manera que se pueda reducir componentes de color y por ende reducir su tamao. Para llevar a cabo este proceso, se analizan las crominancias. Ms adelante se ver el proceso de reducir informacin de las crominancias.

    Transformacin de modelo de color RGB a YUV y viceversa La conversin de modelo de color RGB a YUV no solo es un proceso llevado a cabo para la compresin de imgenes en formato JPEG, puede ser utilizado en otro tipo de compresin, la diferencia est en que tipo de transformacin, cuantificacin y cuantizacin es utilizada. Como la tarea a llevar a cabo es simplemente descomponer la imagen en cada uno de sus canales de color, submuestrear, insertar ruido y volver a componer la imagen; no se har un estudio de transformacin, cuantizacin y cuantificacin de la imagen. Para llevar a cabo la conversin del modelo de color es necesario seguir las reglas definidas en el estndar Rec.601 donde se incluye las frmulas para llevar a cabo la conversin as como el valor de las constantes que conforman la ecuacin Rec.709 FCC. [4] [5]

  • Frmula para conversin de RGB->YUV y YUV->RGB Coeficientes Rc : Red channel constant 0.299 0.2125 0.3 Gc : Green channel constant 0.587 0.7154 0.59 Bc : Blue channel constant 0.114 0.0721 0.11

    = 219

    215 +

    219

    215 +

    219

    215 + 16 = 0.257 + 0.504 + 0.098 + 16

    = 112

    215 (1 ) +

    112

    215 (1 ) +

    112

    215 + 128

    = 0148 0.291 + 0.439 + 128

    = 112

    215 +

    112

    215(1 )

    112

    215(1 ) + 128

    = 0.439 + 0.368 0.071 + 128 De las ecuaciones anteriores se puede despejar las componentes RGB quedando como resultado.

    = 1.164 ( 16) + 2.018 ( 128) = 1.164 ( 16) 0.813 ( 128) 0.391 ( 128) = 1.164 ( 16) + 1.596 ( 128)

    Las primeras tres ecuaciones las componentes toman como valor mnimo el 16. El canal de luminancia

    (canal Y) tiene como valor mximo el 235, mientras que los canales de crominancia es el 240. Durante

    esta fase no hay prdida significativa de informacin, aunque el redondeo introduce un pequeo

    margen de error imperceptible para el ojo humano. [6].

    Submuestreo

    La reduccin de la resolucin de color se lleva a cabo en las componentes Cb y Cr con el propsito

    de reducir espacio de almacenamiento y ancho de banda. Para comprimir dichas componentes se lelva

    a cabo el muestreo. Los ojos no perciben tanto el cambio en las componentes Cb y Cr.

    Es representado con a:b:c la compresin que se lleva a cabo en cada una de las componentes. Por

    defecto la luminancia no se realiza ninguna compresin puesto que es la componente que mayor

    informacin lleva. Por lo tanto no se le aplica ningn factor de compresin. A las componentes Cb y

    Cr se les aplica una compresin con factor 2, 1 o inclusive 0.

    Por ejemplo para un factor de compresin 4:4:4 no existe reduccin de componentes por lo tanto la

    imagen quedar congruente a la imagen original.

    Figura 1. Compresin 4:4:4[7]

    Para una compresin 4:2:2 las componentes Cb y Cr son restructuradas de tal manera que por cada pixel de informacin se eliminar el pixel contiguo. De otra manera, por cada 4 pixeles existentes quedarn nicamente 2 pixeles no contiguos. Ver la imagen siguiente

    Figura 2. Compresin 4:2:2 [7]

  • Para una compresin 4:1:1 las componentes Cb y Cr son restructuradas de tal manera que por cada pixel de informacin que exista se eliminarn 3 pixeles contiguos.

    Figura 3. Compresin 4:2:2 [7]

    Windows Bitmap

    Es un formato de imagen de mapa de bits, propio del sistema operativo de Microsoft Windows. Puede guardar imgenes de hasta 24 bits (16.7 millones de colores) Normalmente, se caracterizan por ser muy poco eficientes en su uso de espacio en disco, pero pueden mostrar un buen nivel de calidad. A diferencia de los grficos vectoriales, al ser reescalados a un tamao mayor, pierden calidad. Otra desventaja de los archivos BMP es que no son utilizables en pginas web debido a su gran tamao en relacin a su resolucin. [2]. El formato bmp de 24 bits elegido, se compone de 3 bytes por cada pixel de la imagen. El Bitmap de una imagen .BMP comienza a leerse desde abajo a arriba, es decir: en una imagen en 24 bits los primeros 3 bytes corresponden al primer pxel inferior izquierdo.

    Estructura de la imagen de formato bmp

    Figura 4. Estructura de bmp. Imagen tomada de la web binaryworld.net[3]

  • Herramientas utilizadas para desarrollar el algoritmo. 1. Hex Editor and Disk Editor: Para estudio de la estructura de datos de la imagen bmp. 2. Sublime Text: Editor de texto y cdigo 3. Nodejs sobre Windows 8: Plataforma ejecuta Javascript, el lenguaje de programacin

    utilizado para este proyecto. Algoritmos desarrollados

    Ver cdigo fuente adjunto

    Resultados obtenidos

    Imagen Original

    Imagen RGB a partir del modelo YUV 4:2:2

    RGB a partir de YUV

    Blue

    Green

    Red

    Imagen YUV 4:4:4

    Luma factor 4

    Chroma U factor 4

    Chroma V factor 4

    Imagen YUV 4:2:2

    Luma factor 2

    Chroma factor 2

    Chroma factor 2

  • Referencias bibliogrficas. [1]. http://www.fotonostra.com/grafico/rgb.htm [2]. http://es.wikipedia.org/wiki/Windows_bitmap [3]. http://binaryworld.net/Main/Articles/Lang1/Cat277/Code3685/image3685_1.jpg [4]. http://www.avisynth.org/mediawiki/wiki/Color_conversions [5]. http://www.intersil.com/data/an/an9717.pdf [6]. http://es.wikipedia.org/wiki/Joint_Photographic_Experts_Group [7]. http://www.pcmag.com/encyclopedia/term/57460/chroma-subsampling [8]. http://www.robertstocker.co.uk/jpeg/jpeg_new_7.htm