miércoles, 19 de septiembre de 2012

REPRESENTACION DE DATOS

Las instrucciones de un programa se representan mediante una secuencia de bits, de acuerdo a una tabla  que asocia una de estas secuencias a cada código de operación del conjunto de instrucciones del procesador. Los datos deben codificarse de alguna forma, para que de esa forma sea posible almacenarlos en la memoria.
 
La forma en que esto se hace depende del tipo de datos, ya sean estos números enteros, números reales, caracteres, figuras, imágenes, animaciones, audio o video. Para cada tipo de datos existen múltiples estándares de codificación.
 
Representación de enteros positivos.-
 
Toda la información y los programas deben convertirse a unos y ceros para que sean tratables. Esta restricción obliga al uso de un sistema de numeración distinto al que estamos acostumbrados, conocido como sistema decimal, o base 10.
 
Representación de números reales.-
 
Los computadores representan los números reales, es decir, aquellos que tienen decimales, de una forma muy similar a como lo hacen las calculadoras científicas. La forma más usual de lograr esto, es seguir un estándar establecido por el Institute of Electrical anid Electronics Engineers,  IEEE. Por su complejidad solo se tratara las generalidades de la representación en punto flotante.

Un número en punto flotante tiene 3 componentes:
 
      ·         Signo

·         Mantisa (numero positivo)

·         Exponente (con signo)
 
La Fig. 1 muestra los tres componentes que forman un número de punto flotante. El signo determina si el número es positivo o negativo, y corresponde a un ¶único bit al inicio de la representación. Tanto la mantisa como el exponente pueden codificarse de distintas maneras. Sin embargo, la cantidad de bits que se utilizan para cada uno determina el rango de números reales que se podría representar.
 
Fig.1: Componentes de un número real representado con punto flotante



 
Cuando se usa 2 como la base de la representación  que es lo más común |, el número representado se puede interpretar como:


Por ejemplo, si el bit de signo es un uno, el exponente es ¡2 y la mantisa es 1, el número representado seria:
 

Los estándares actuales definen dos tipos de números de punto flotante: Los de precisión simple y los de doble precisión. Según el estándar de la IEEE, los números de precisión simple utilizan 24 bits para la mantisa y 8 bits para el exponente, por lo que este último puede variar desde 126 hasta 127. Por otra parte, los de doble precisión utilizan 53 bits para la mantisa y 11 para el exponente, por lo que este último puede variar en el rango de 1022 a 1023.
 

Representación de caracteres.- 

Los caracteres son los símbolos que manipula el computador para representar letras, digitos y otros elementos de puntuación o con sindicados específicos. Básicamente, todos los simbolos que aparecen en el teclado del computador son caracteres, pero también hay otros caracteres que no aparecen en el teclado.

Originalmente existían dos estándares de codificación para representar los caracteres en un computador. Estos códigos asignan un número entero con cada carácter, el cual después puede representarse en notación binaria.

 El primero de ellos, el EBCDIC, toma su nombre de las siglas de Extended Binary Coded Decimal Interchange Code, y era el esquema de codificación utilizado en los primeros mainframes que fabricaba IBM. El EBCDIC utiliza 8 bits para codicar los caracteres. Su uso es muy limitado en la actualidad.

El segundo estándar, que todavia se utiliza en la actualidad es el ASCII, que toma su nombre de las siglas de American Standard Code for Information Interchange. Originalmente, el código utilizaba solo 7 bits, lo que le permitía representar 128 caracteres distintos. En la actualidad, el código ASCII utiliza 8 bits, lo que le permite representar 256 caracteres distintos, incluyendo símbolos de lenguajes distintos al Ingles.

Algunos de los caracteres ASCII no son visibles, y se utilizan para controlar dispositivos de entrada y salida, como modems, terminales e impresoras. Las letras minúsculas y mayúsculas  sin considerar las vocales con acento  así como los dígitos decimales, se encuentran consecutivos en el código, por lo que el código de una letra es muy similar al de su sucesora.

Más recientemente, la International Stantard Organization, ISO, estableció un estándar para la representación universal de caracteres, llamado Unicode. La idea es que el nuevo código permita representar símbolos provenientes de cualquier lenguaje, así como su correcta comunicación a través de Internet, por ejemplo, en mensajes de correo electrónico. El Unicode utiliza 16 bits para representar hasta 65536 caracteres distintos. Sus códigos se expresan normalmente como 4 dígitos hexadecimales.

Los primeros 128 códigos del Unicode coinciden con los 128 códigos que asigna el ASCII de 7 bits. A este subconjunto se le conoce como el Basic Latín, y abarca los códigos que van desde el 000016 hasta el 007F16. Posteriormente existen el Latin-1 (008016 al 00FF16) y el Latín Extended (010016 al 024F16). Para denotar que el código de un carácter se está expresando según el Unicode, se agregan los símbolos U+ antes del código hexadecimal. Por ejemplo, U + 0041, para representar la letra A.

Fig2: Fragmento de la tabla ASCII de 8 bits
 


 

Fig3: Representación de caracteres según distintos estándares de codificación





REPRESENTACION DE IMAGENES

La calidad de una imagen representada en un computador esta determinada por la resolución con la que fue digitalizada es el proceso mediante el cual una imagen es transformada en información numérica. Básicamente la imagen se representa en una matriz de puntos, llamados pixels, manipulables en forma independiente. En una imagen a color, los pixels tienen información de color. En una imagen en blanco y negro los pixels pueden estar únicamente encendidos o apagados

Una misma imagen puede digitalizarse en distintas resoluciones. Por ejemplo, una fotografía de 10x5 cms. Podría digitalizarse en una matriz de 512 x 512 pixels, o en una de 1024 x 1024 pixels. En el segundo caso, existen más pixels por cada centímetro cuadrado de la fotografía, por lo que la calidad de la imagen digitalizada ser la mayor.

La forma más simple para representar una imagen es mediante un mapa de bits, también conocido como bitmap. En un bitmap, se asigna una cantidad constante de bits a cada pixel de la imagen, y en esos bits se almacena la información de color, o de tonalidades de gris, que representan al pixel. En el caso de imágenes en blanco y negro, basta con asociar un bit con cada pixel. Así, una imagen de 1024 x 1024 pixels, en blanco y negro, puede representarse utilizando 2e20 bits, lo que equivale a 128 Kbytes.

Con las imágenes a color el tamaño de los bitmaps aumenta, dependiendo de la cantidad de colores distintos que se quiera manipular, lo que se conoce como la paleta de colores. Por ejemplo, si se utilizan 256 colores distintos, cada pixel requiere de 8 bits para representar su color. Así, una imagen de 1024 x 1024 pixels, con una paleta de 256 colores, requiere de 3 x 2e23 bits, es decir, 1 Mbyte. La paleta de colores preferida es la de 24 bits, que puede formar alrededor de 16 millones de colores diferentes. A este modo de representación se le conoce como color verdadero, o true color. En esta paleta se utilizan 8 bits para representar una tonalidad de cada uno de los tres colores básicos, con los que se forma el color en un computador: Rojo, verde y azul. En este caso, la imagen de 1024 x 1024 pixels requiere de 3 x 2e23 bits, es decir, 3 Mbytes.

La enorme cantidad de espacio que requieren las imágenes representadas como bitmaps ha llevado al desarrollo de técnicas de compresión. Los algoritmos mas populares de compresión de datos, como por ejemplo el conocido como zip, pertenecen a una categoría llamada compresión sin perdida de información. Esto quiere decir que la información comprimida, una vez recuperada, es exactamente la original. Estos algoritmos son muy útiles para compresión de caracteres, documentos, etc., pero no logra buenos radios de compresión con las imágenes.

Para la compresión de imágenes se acostumbra utilizar algoritmos de compresión con perdida de información.

Estos algoritmos desechan información que no es útil, con el objetivo de reducir el tamaño de las imágenes. A pesar de la perdida de información, por lo general los cambios no son perceptibles por los sentidos humanos.

La idea es explotar el hecho de que el ojo humano no percibe con exactitud ligeros cambios en el color, pero si lo hace ante cambios en el brillo.

Uno de los formatos de representación de imágenes, con compresión con pérdida de información, lo constituye el jpeg, que toma su nombre del grupo de expertos que lo diseño: Joint Photographic Experts Group. Este formato funciona muy bien con imágenes a color o en escala de grises, principalmente en escenas del mundo real. Sin embargo, no se recomienda su uso en dibujos generados a base de líneas. El radio de compresión puede alcanzar 20 : 1, pudiendo comprimir una imagen de 2 MBytes en 100 KBytes. Su funcionamiento se basa en el registro de las variaciones existentes entre pixels cercanos.

Otro formato que es muy popular es el gif, el cual es superior al jpeg cuando se tratan imágenes que no son del mundo real, por ejemplo, figuras o gráficos generados por computador, así como imágenes en blanco y negro. También puede encontrarse formatos como el tiff y el eps.

Representación de sonido

La digitalización de sonidos, es decir, la traducción de ondas a números, se lleva acabo utilizando la transformada de Fourier. Dada la gran cantidad de información que resulta es necesario, en primera instancia, eliminar aquellos sonidos que están fuera del rango de frecuencias que el oído humano puede percibir. Aun así, la cantidad de datos es muy grande, incluso para unos pocos segundos de sonido.

Al igual que para el caso de las imágenes, existen estándares de compresión que se basan en la eliminación de información redundante. Este es el caso del formato mpeg, que corresponde a la versión para audio del jpeg. Su nombre proviene de las siglas de Moving Picture Experts Group y no se limita al almacenamiento de audio. En realidad, el mpeg comprende una diversidad de estándares para la representación de audio y video. En la actualidad se utiliza el mpeg de nivel 4, conocido como MPEG-4, a partir del cual han surgido formatos muy populares como el DivX.

En la Internet, los formatos más populares para la transmisión de audio son RealAudio, un estándar propietario de una empresa comercial, y WMA, el estándar de Microsoft.

Representación de video

El video, así como el cine y la televisión, se basa en una serie de cuadros que se pasan rápidamente frente a la vista del espectador. El video es uno de los tipos de datos que requieren mayor cantidad de espacio para su representación. Por esta razón, la compresión es un factor determinante. Incluso los formatos comerciales, como el DVD, existen gracias a complicados esquemas de compresión. La compresión de video puede llevarse a cabo dentro de cada cuadro, registrando diferencias dentro del cuadro, o entre cuadros, registrando diferencias entre un cuadro y el siguiente.

Dentro del ámbito de los computadores, el formato MOV se origino en el mundo de los computadores

Macintosh de Apple, aunque actualmente se utiliza en todo tipo de computadores Esta basado en MPEG-4 y es utilizado por conocidos programas como el Quicktime. En esta gama de formatos se encuentra también el formato RealVideo, que es bastante popular para transferir video por la Internet, junto con el Windows Media de Microsoft.

El formato AVI fue creado por Microsoft, para manipular video dentro de su sistema operativo Windows, e incluye niveles muy bajos de compresión de datos. Su nombre proviene de las siglas de Audio Video Interleave.

Este formato permite representar video compuesto de cuadros de hasta 160 x 120 pixels, con una tasa de refrescamiento de 15 cuadros por segundo.



REFERENCIAS BIBLIOGRAFICAS

Universidad De Talca Facultad De Ingeniería. Computación y Programación


 

No hay comentarios:

Publicar un comentario