Compresión de datos
La compresión de datos es el conjunto de operaciones que se realizan sobre la información de una fuente con el objetivo de conseguir que ocupe menos espacio de almacenamiento. Esto se consigue eliminando la redundancia de información que existe en los datos fuente.
La compresión de datos se basa fundamentalmente en buscar repeticiones en series de datos para después almacenar solo el dato junto al número de veces que se repite. Así, por ejemplo, si en un fichero aparece una secuencia como "AAAAAAA", ocupando 6 bytes se podría almacenar simplemente "6A" que ocupa solo 2 bytes.
En realidad, el proceso es mucho más complejo, ya que raramente se consigue encontrar patrones de repetición tan exactos (salvo en algunas imágenes), por lo que los algoritmos de compresión suelen hacer dos cosas: Por un lado algunos buscan series largas que luego codifican de formas más cortas y por otro lado algunos algoritmos como el algoritmo de Huffman, examinan los caracteres más repetidos para luego codificar de forma más corta los que más se repiten.
FEC:
Acrónimo inglés de Forward Error Correction (Corrección de errores a posteriori) es un protocolo utilizado para corregir errores en una transmisión. Este se utiliza en sistemas sin retorno o sistemas en tiempo real donde no se puede esperar a la retransmisión para mostrar los datos
El funcionamiento consiste en evaluar el sindrome del vector recibido (si no existe error el sindrome es el vector cero). Asociado a éste síndrome tenemos varios errores (para un código C(n,k) 2^k diferentes) de entre todos ellos tomaremos el más probable según las características del canal (en general el de menor peso). Para recuperar el vector original enviado sumamos el error calculado a el vector recibido de forma que si hemos acertado al suponer el error concreto de todos los asociados al síndrome cancelaremos su efecto.
Esta técnica tiene sus limitaciones ya que la interpretación del vector error asociado al síndrome calculado no es exacta.
ARQ:
El ARQ (del inglés Automatic repeat request) es un protocolo utilizado para el control de errores en la transmisión de datos, garantizando la integridad de los mismos. Éste suele utilizarse en sistemas que no actúan en tiempo real ya que el tiempo que se pierde en el reenvío puede ser considerable y ser más útil emitir mal en el momento que correctamente un tiempo después. Esto se puede ver muy claro con una aplicación de videoconferencia donde no resulta de utilidad emitir el pixel correcto de la imagen 2 segundos después de haber visto la imagen.
Esta técnica de control de errores se basa en el reenvio de los paquetes de información que se detecten como erróneos (Esto quiere decir que no todos los paquetes de información se detectan como erroneos).
Para controlar la correcta recepción de un paquete se utilizan ACK's (acknowledge) y NACK´s de forma que cuando el receptor recibe un paquete correctamente el receptor asiente con un ACK y si no es correcto responde con un NACK.Durante el protocolo que controla recepción de paquetes pueden surgir múltiples problemas (perdida de ACK, recibir un ACK incorrecto, etc,...) complicandose así elcontenido del ACK y surgiendo nuevos conceptos como el de timeout.
Si el emisor no recibe información sobre la recepción del paquete durante un tiempo fijado (timeout) éste se reenvía automaticamente.
Esencialmente existen tres tipos de ARQ aunque en la práctica se combinen buscando el sistema óptimo para cada canal o estado de tráfico concreto.
Parada y espera
Parada y espera
Rechazo selectivo
Parada y espera:
En este tipo de respuesta ARQ no se envia el siguiente paquete hasta que no se recibe el correspondiente ACK y en caso de recibir un NACK se reenvia el paquete anterior.
Rechazo múltiple es un tipo de respuesta ARQ en la cual no se dejan de enviar paquetes hasta que se recibe un NACK. En ese momento se interrumpe la transmisión y se empieza la transmisión continua a partir del paquete que tenía errores desperdiciando así toda la información transmitida entre el primer envío y la detección del error.
Este tipo de ARQ exige una memoria en el transmisor que sea capaz de almacenar tantos datos como los que puedan enviarse en un timeout, ya que será el tiempo máximo de espera y esos datos deben reenviarse tras detectar un error.
Otra de las exigencias de este tipo de ARQ es la numeración de los ACK's para poder distinguir a que paquete de información estan asintiendo.
El rechazo selectivo es un tipo de respuesta usado en control de errores.
En este tipo de respuesta ARQ no se dejan de enviar paquetes hasta que se recibe un NACK en ese momento se termina de enviar el paquete que estábamos transmitiendo y se reenvia el paquete que tenía errores inmediatamente depués se sigue enviando la información a partir del último paquete que se había enviado.
Este tipo de ARQ exige una memoria en el transmisor que sea capaz de almacenar tantos datos como los que puedan enviarse en un timeout, ya que será el tiempo máximo de espera y esos datos deben reenviarse tras detectar un error.
Otra de las exigencias de este tipo de ARQ es la numeración de los ACK's para poder distinguir a que paquete de información estan asintiendo.
Quizá el más molesto de todos los inconvenientes sea la recepción desordenada de la información lo que nos obliga a ordenarla en el emisor o tener una memoria que nos permita al macenar los datos mientras tenemos un paquete erróneo.
Control de errores tipo 1
Esta técnica híbrida consiste en combinar las capacidades correctoras y detectoras de los códigos. De esta forma en el receptor si podemos corregir el error lo corregimos y si no pedimos retransmisión (ARQ).
Control de errores tipo 2
En el caso anterior híbrida Tipo 1 en caso de corregir estamos desperdiciando información ya que no hemos utilizado la información relativa a la detección de errores. Con esta técnica buscamos optimizar por esa vía. Ahora transmitimos la información mas la redundancia para detectar errores. Si se produce se pide al transmisor que nos envie la redundancia de un código invertible que permita repara los errores que pueden ser detectados.
De esta forma sólo se envia información para ser utilizada.
De Wikipedia, la enciclopedia libre.
[ Volver Atrás ]Enciclopedia Informática |