código fuente


En la teoría de la codificación , los códigos fuente (también conocidos como códigos de borrado sin tasa ) son una clase de códigos de borrado con la propiedad de que se puede generar una secuencia potencialmente ilimitada de símbolos de codificación a partir de un conjunto dado de símbolos fuente, de modo que los símbolos fuente originales pueden ser idealmente recuperados de cualquier subconjunto de los símbolos de codificación de tamaño igual o ligeramente mayor que el número de símbolos fuente. El término fuente o sin tasa se refiere al hecho de que estos códigos no exhiben una tasa de código fija .

Un código fuente es óptimo si los k símbolos fuente originales pueden recuperarse de cualquier k símbolo de codificación recibido con éxito (es decir, excluyendo los que se borraron). Se conocen códigos fuente que tienen algoritmos de codificación y decodificación eficientes y que permiten la recuperación de los k símbolos fuente originales de cualquier k' de los símbolos de codificación con una alta probabilidad, donde k' es ligeramente mayor que k .

Los códigos LT fueron la primera realización práctica de los códigos fuente. Los códigos Raptor y los códigos en línea se introdujeron posteriormente y logran una codificación de tiempo lineal y una complejidad de decodificación a través de una etapa de precodificación de los símbolos de entrada.

Los códigos fuente se aplican de forma flexible a una tasa de código fija , o cuando no se puede determinar a priori una tasa de código fija, y donde se requiere una codificación y decodificación eficiente de grandes cantidades de datos.

Un ejemplo es el de un carrusel de datos , donde un archivo grande se transmite continuamente a un conjunto de receptores. [1] Usando un código de borrado de tasa fija, un receptor al que le falta un símbolo de origen (debido a un error de transmisión) enfrenta el problema del recolector de cupones : debe recibir con éxito un símbolo de codificación que aún no tiene. Este problema se vuelve mucho más evidente cuando se usa un código de borrado de longitud corta tradicional, ya que el archivo debe dividirse en varios bloques, cada uno codificado por separado: el receptor ahora debe recopilar el número requerido de símbolos de codificación que faltan para cada bloque. Usando un código fuente, basta con que un receptor recupere cualquiersubconjunto de símbolos de codificación de tamaño ligeramente mayor que el conjunto de símbolos fuente. (En la práctica, un operador suele programar la transmisión para un período de tiempo fijo en función de las características de la red y los receptores y la confiabilidad de entrega deseada y, por lo tanto, el código fuente se usa a una tasa de código que se determina dinámicamente en el momento en que se transmite). el archivo está programado para ser transmitido).

Otra aplicación es la de ARQ híbrido en escenarios de multidifusión fiables : la información de paridad que solicita un receptor puede ser potencialmente útil para todos los receptores del grupo de multidifusión.