Código de raptor


En informática , los códigos Raptor ( rap id tor nado ; [1] ver códigos Tornado ) son la primera clase conocida de códigos fuente con codificación y decodificación de tiempo lineal. Fueron inventados por Amin Shokrollahi en 2000/2001 y se publicaron por primera vez en 2004 como resumen ampliado. Los códigos Raptor son una mejora teórica y práctica significativa sobre los códigos LT , que fueron la primera clase práctica de códigos fuente .

Los códigos Raptor, al igual que los códigos fuente en general, codifican un bloque de datos fuente dado que consiste en un número k de símbolos fuente de igual tamaño en una secuencia potencialmente ilimitada de símbolos de codificación, de modo que la recepción de cualquier k o más símbolos de codificación permite que el bloque fuente recuperarse con alguna probabilidad distinta de cero. La probabilidad de que se pueda recuperar el bloque fuente aumenta cuando el número de símbolos de codificación recibidos por encima de k se acerca mucho a 1, una vez que el número de símbolos de codificación recibidos es solo muy ligeramente mayor que k . Por ejemplo, con la última generación de códigos Raptor, los códigos RaptorQ , la posibilidad de decodificar fallas cuando kSe han recibido símbolos de codificación es inferior al 1%, y la probabilidad de que falle la decodificación cuando se han recibido k + 2 símbolos de codificación es inferior a uno en un millón. (Consulte la sección Probabilidad de recuperación y gastos generales a continuación para obtener más información sobre esto). Un símbolo puede ser de cualquier tamaño, desde un solo byte hasta cientos o miles de bytes.

Los códigos de aves rapaces pueden ser sistemáticos o no sistemáticos. En el caso sistemático, los símbolos del bloque fuente original, es decir, los símbolos fuente, se incluyen dentro del conjunto de símbolos de codificación. Algunos ejemplos de un código Raptor sistemático es el uso por parte del Proyecto de Asociación de Tercera Generación en la transmisión y multidifusión inalámbrica celular móvil , y también por los estándares DVB-H para la transmisión de datos IP a dispositivos de mano (ver enlaces externos). Los códigos Raptor utilizados en estos estándares también se definen en IETF RFC 5053.

La versión más avanzada de Raptor es el código RaptorQ definido en IETF RFC 6330. El código RaptorQ es un código sistemático, se puede implementar para lograr un rendimiento de codificación y decodificación de tiempo lineal, tiene propiedades de recuperación casi óptimas (consulte Probabilidad de recuperación y sección superior a continuación para obtener más detalles), admite hasta 56,403 símbolos de origen y puede admitir un número esencialmente ilimitado de símbolos de codificación.

El código RaptorQ definido en IETF RFC 6330 se especifica como parte del estándar Next Gen TV ( ATSC 3.0 ) para permitir transmisión de video de alta calidad (TV móvil robusta) y entrega de archivos de transmisión eficiente y confiable (transmisión de datos). En particular, el código RaptorQ se especifica en A / 331: Señalización, entrega, sincronización y protección contra errores dentro de ATSC 3.0 (consulte la Lista de estándares ATSC para obtener una lista de las partes estándar ATSC 3.0). Next Gen TV (ATSC 3.0) va mucho más allá de la televisión tradicional para proporcionar una transmisión de Internet que permite servicios generales de entrega de datos.

Un código de borrado de tasa fija , generalmente con una tasa bastante alta, se aplica como "código previo" o "código externo". Este precódigo puede ser en sí mismo una concatenación de múltiples códigos, por ejemplo, en el código estandarizado por 3GPP, un código de verificación de paridad de alta densidad derivado de la secuencia de Gray binaria se concatena con un código de verificación de paridad de baja densidad regular simple . Otra posibilidad sería una concatenación de un código Hamming con un código de verificación de paridad de baja densidad.