header-anunciants-es  

Antropología
Arte
Astronomía
Biología
Economía
Enología
Física
Geología
Historia
Informática
Lingüística
Literatura
Matemáticas
Medicina
Medio ambiente
Meteorología
Mitología
Nutrición
Pensamiento
Psicología
Química
Salud
Sociedad
Tecnología
Experimenta
Profesiones
Personajes
Falsos mitos
Humor

Compresión de datos Imprimir E-Mail
escrito por Edgar González   
jueves, 29 de junio de 2006

Compresión

Muchos de los contenidos que se transmiten a través de Internet están comprimidos. Archivos de texto, de música, de vídeo o de cualquier otro tipo se comprimen para reducir su tamaño, facilitar su intercambio a través de la red o ahorrar espacio de disco. Sin embargo, ¿cómo es posible reducir el tamaño de un archivo sin perder su contenido? Unos cuantos trucos de teoría de información son los que lo hacen posible.

Código binario

En nuestros ordenadores sólo se procesan señales activas o apagadas (de sí o no). Toda la información se representa mediante dos símbolos, habitualmente escritos 0 y 1, según haya corriente o no. Cada uno de estos símbolos recibe el nombre de bit. La principal información que manejan los ordenadores son cantidades, y el código binario permite una representación de los números similar a la que utilizamos las personas. Así, la serie 1, 2, 3, 4, 5... en binario es 1, 10, 11, 100, 101...

Código binario

Códigos para letras

asciiMuchas aplicaciones necesitan representar letras además de cantidades. En estos casos, lo que se hace es crear un código a modo de diccionario que atribuye a cada letra una cadena de símbolos binarios, normalmente de un tamaño fijo (llamados códigos uniformes). Dependiendo del alfabeto a representar y de la tecnología existente se utiliza un código u otro, pero el más utilizado ha sido el código ASCII para el alfabeto inglés, ideado el año 1963 y que codifica cada letra como una secuencia de 7 bits. Actualmente se utilizan extensiones del ASCII con caracteres como las letras con acento; y propuestas como Unicode, que busca integrar todas las formas de escritura utilizadas en el mundo en un único código, permitiendo por ejemplo texto en castellano, griego, japonés, hebreo y árabe en un mismo documento.

Comprimiendo...

...texto

CompresiónTeniendo un código para letras podemos plantearnos el problema de cómo comprimir un documento de texto. Realmente, con un código que asigne una secuencia de tamaño fijo a todas las letras, la única manera de reducir la longitud de un texto es utilizar menos bits por letra, pero eso reduce las letras que se pueden utilizar (con 7 bits se pueden representar 128 caracteres, pero con 6 sólo 64, con 5 sólo 32...). Un punto clave es el darnos cuenta que no todas las letras son igual de frecuentes, de modo que podríamos crear un código que asigne secuencias más cortas a las letras más usadas, y secuencias más largas a las menos habituales. Con un código así, se puede esperar que la longitud total de todo un texto será más corta que la del mismo texto usando un código uniforme. Un ejemplo aparece en la figura de la derecha. En ella se observa un alfabeto con sólo 4 letras: A, B, C y D. La letra A es 2 veces más frecuente que la B y 4 veces más frecuente que la C y la D; usando un código uniforme de 2 bits la palabra AAAABBCD se codifica con 16 bits mientras que usando un código de longitud variable se usan sólo 14. A este tipo de código se le llama código de Huffman, fue inventado el año 1952, y aunque existen otros tipos de código que comprimen mejor, éste se sigue utilizando en muchas aplicaciones por su simplicidad.

...y otros archivos:

Todos los archivos de un ordenador se pueden ver como documentos de texto en un alfabeto imaginario. Evidentemente, podemos aplicar sobre ellos métodos como el de Huffman para reducir su tamaño. Sin embargo, algunos contenidos destinados directamente a los humanos, como imágenes, sonido o vídeo, permiten mayor compresión a costa de perder algo de información, ya que nuestro cerebro es capaz de recomponer la parte perdida. Tomemos algunos ejemplos:

ipod

Imágenes

Imágenes como fotografías, en que existen grandes zonas de un mismo color, permiten sacrificar los detalles más pequeños y aún así mantener el contenido principal. Métodos de compresión que sacrifican información hay muchos, según el tipo de imagen, pero quizás el más común es el JPEG para fotografías, usado en la mayoría de cámaras digitales. Otros métodos como GIF o PNG resultan más adecuados para ficheros que contengan gráficos.

Sonido

Nuestro oído no es igual de sensible a todas las frecuencias de sonido. El formato de compresión de sonido más popular, el MP3, aprovecha este hecho para reducir el tamaño de los ficheros. Tomando como referencia este comportamiento del oído, se eliminan partes de las ondas acústicas a las que somos poco sensibles para conseguir un tamaño de archivo menor.

Vídeo

Otra capacidad de nuestro cerebro es la de distinguir entre figuras y fondo. No es necesario guardar toda la imagen en cada fotograma de un vídeo, ya que muy a menudo en dos fotogramas consecutivos el fondo apenas habrá cambiado y serán muy parecidos. Si guardamos tan sólo los cambios entre imágenes, podemos reducir enormemente el tamaño de los archivos de vídeo, y esta idea es la que aplican, entre otros, los estándares de vídeo MPEG o ITU-T.

 
 
 
 
patrocinador-informatica-es.jpg
Los artículos más vistos
Últimos artículos
Artículos relacionados

banner-works-vertical.jpg
| Sala de prensa | Escuelas | Anunciantes | Aviso legal | Copia y distribución | ¿Quiénes somos? | Contacta | Área de profesores | Área de alumnos | Eureka en Madrid |