ES2342465T3 - Procedimiento y sistema de correccion de error de envio para la transmision fiable de datos en tiempo real por redes basadas en paquetes. - Google Patents

Procedimiento y sistema de correccion de error de envio para la transmision fiable de datos en tiempo real por redes basadas en paquetes. Download PDF

Info

Publication number
ES2342465T3
ES2342465T3 ES03757318T ES03757318T ES2342465T3 ES 2342465 T3 ES2342465 T3 ES 2342465T3 ES 03757318 T ES03757318 T ES 03757318T ES 03757318 T ES03757318 T ES 03757318T ES 2342465 T3 ES2342465 T3 ES 2342465T3
Authority
ES
Spain
Prior art keywords
data
package
parity
packages
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03757318T
Other languages
English (en)
Inventor
Jeffrey S. Pattavina
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harris Corp
Original Assignee
Harris Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harris Corp filed Critical Harris Corp
Application granted granted Critical
Publication of ES2342465T3 publication Critical patent/ES2342465T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • H03M13/2912Product codes omitting parity on parity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un procedimiento de corrección de errores en un sistema de comunicaciones basado en paquetes, en el que una estación de origen transmite paquetes de datos a una estación de destino a través de medios de red, que comprende: compilar una corriente de datos serie en una secuencia de paquetes de datos para su transmisión a la estación de destino a través de los medios de red; generar un primer paquete de paridad como OR-exclusiva a modo de bit, de un primer paquete de datos y un segundo paquete de datos a partir de la secuencia de paquetes de datos; generar un segundo paquete de paridad como OR-exclusiva a modo de bit, de un tercer paquete de datos y un cuarto paquete de datos a partir de la secuencia de paquetes de datos; generar un tercer paquete de paridad como OR-exclusiva a modo de bit, del primer paquete de datos y del tercer paquete de datos a partir de la secuencia de paquetes de datos; generar un cuarto paquete de paridad como OR-exclusiva a modo de bit, del segundo paquete de datos y del cuarto paquete de datos a partir de la secuencia de paquetes de datos; formar una palabra código a partir del primer, segundo, tercer y cuarto paquetes de paridad, y del primer, segundo, tercer y cuarto paquetes de datos, asociar un número de secuencia a cada paquete, representativo de una posición relativa del paquete en la palabra código; transmitir la palabra código de ocho paquetes hasta la estación de destino, a través de los medios de red; recibir la palabra código de ocho paquetes en la estación de destino, y examinar el número de secuencia asociado a cada paquete para determinar si falta uno o más paquetes de la palabra código de ocho paquetes, e identificar el uno o más paquetes en falta, si falta alguno; procesar los paquetes de datos y los paquetes de paridad dentro de la palabra código asociada en la estación de destino, de acuerdo con las combinaciones de paquetes de datos utilizadas para generar los paquetes de paridad, con el fin de recuperar uno o más paquetes en falta, en el que el procesamiento de los paquetes de datos incluye: en primer lugar, corregir un error simple, si existe, en un grupo de paridad consistente en un primer paquete de paridad, el primer paquete de datos y el segundo paquete de datos, y corregir un error simple, si existe, en un grupo de paridad consistente en el segundo paquete de paridad, el tercer paquete de datos y el cuarto paquete de datos, y en segundo lugar, corregir un error simple, si existe, en un grupo de paridad consistente en un tercer paquete de datos, el primer paquete de datos y el tercer paquete de datos, y corregir un error simple, si existe, en un grupo de paridad consistente en un cuarto paquete de datos, el segundo paquete de datos y el cuarto paquete de datos, en tercer lugar, determinar si existen errores después de haber completado la segunda etapa, y en caso afirmativo, repetir la primera etapa y la segunda etapa.

Description

Procedimiento y sistema de corrección de error de envío para la transmisión fiable de datos en tiempo real por redes basadas en paquetes.
Antecedentes de la invención
La presente invención se refiere a comunicaciones digitales, y más en particular, a procedimientos y sistemas para detectar y corregir errores de supresión en los datos transmitidos a través de redes basadas en paquetes.
Según se mejora la velocidad y el rendimiento de la red Internet pública, se plantea una opción crecientemente viable de transmisión de datos de Tasa de Bits Constante (CBR) y de otros tipos seleccionados de datos en "tiempo real". La CBR incluye datos tales como voz, vídeo, y audio profesional, con calidad de estudio (es decir, de programa). Típicamente, los datos de tasa de bits constante (CBR) se formatean en ranuras de tiempo (TS) de 64 kbps, y se utilizan técnicas TDM para mapear las ranuras de tiempo en tramas T1 o E1 que son transportadas por la Red de Telefonía Pública Conmutada (PSTN). Con el tiempo, las mejoras en la Calidad de Servicio de Internet (QoS) transformarán Internet pública en un medio de transporte multimedia de bajo coste, de propósito general.
La distribución basada en paquetes de datos de CBR, puede proporcionar así una alternativa de bajo coste respecto a la distribución tradicional que se basa en trayectorias de transmisión específicas por la Red de Telefonía Pública Conmutada (PSTN). Tales líneas específicas incurren típicamente en altos costes de periodicidad mensual, o requieren el uso de espectro de RF insuficiente.
La ventaja económica de las redes de IP se deriva del hecho de que múltiples corrientes de paquetes dentro de la red por paquetes, son multiplexadas estadísticamente en circuitos comunes compartidos. La PSTN, por otra parte, requiere corrientes que tengan circuitos específicos o cerrados conectados extremo a extremo.
Aunque exista una motivación económica para transportar datos de CBR por medio de redes por paquetes, se deben direccionar algunas cuestiones de pérdida de calidad en las redes por paquetes si las redes por paquetes han de funcionar efectivamente como alternativa al transporte por circuitos especializados tradicionales.
Las redes por paquetes fueron diseñadas principalmente para proporcionar un servicio de "Mejor Esfuerzo". Un servicio de Mejor Esfuerzo se define como un servicio que no garantiza métricas de comportamiento tales como retardo de extremo-a-extremo, perturbaciones de paquete y pérdida de paquete, dentro de la corriente de paquetes. Esto se debe a que una red por paquetes trabaja de modo que lleva paquetes desde un punto A hasta un punto B sin guardar relación con la trayectoria particular desde el punto A hasta el punto B. Los paquetes específicos dentro de una corriente de datos pueden tomar trayectorias separadas hasta el destino, de modo que la corriente de datos debe ser reconstruida una vez que todos los paquetes llegan al destino. Debido a este modelo de mejor esfuerzo, la fiabilidad de las redes por paquetes ha sido, hasta la fecha, significativamente menor que cuando se ha proporcionado la red PSTN. En general, una red por paquetes presenta proporciones altas de pérdida de paquetes, así como un gran retardo de paquete y perturbaciones de paquete. En comparación, la infraestructura PSTN existente proporciona un sistema de transporte extremadamente fiable, con una disponibilidad del 99,999%. Las tasas de error que presenta la PSTN son típicamente del orden de 10^{-9}, y el retardo y la perturbación están estrechamente controlados. Con el fin de transmitir CBR y otros datos en Tiempo Real a través de redes por paquetes, los sistemas de comunicación deben emplear diversos mecanismos para mitigar los efectos de estas disminuciones de calidad de la red.
Para transmisiones no interactivas, tales como las emisiones de radio o de televisión, la latencia es de una importancia considerablemente menor que la calidad de la recepción, de modo que en el caso de pérdida de un paquete, resulta apropiado el uso de Petición Automática de Retransmisión (ARQ) o de Corrección de Error de Envío (FEC). Para datos interactivos, sin embargo, el retardo que impone la retransmisión no es aceptable, y un FEC de baja latencia proporciona un mecanismo de reducción de calidad de red más adecuado.
Aunque los paquetes pueden perderse debido a errores de transmisión a nivel de enlace de datos, la fuente primaria de pérdidas de paquete es la congestión en los conmutadores y enrutadores de paquete. Protocolos tales como TCP y RTP, asocian un número de secuencia a cada paquete dentro de la cabecera del paquete. Cuando un paquete resulta alterado o cuando un enrutador elimina un paquete debido a congestión, el equipo de comunicaciones en destino puede determinar qué paquetes faltan observando los números de secuencia. Estos tipos de errores (es decir, paquetes perdidos) son mencionados en la presente memoria como Supresiones de Paquetes. Una diferencia importante entre supresiones de paquetes y errores de bit tradicionales consiste en que, con las supresiones de paquete, el paquete faltante particular puede ser identificado debido a los números de secuencia. Con los errores de bit individuales que ocurren dentro de un campo de datos, un esquema de detección (por ejemplo, CRC) puede reconocer que uno o más bits de un campo son erróneos, pero típicamente no pueden identificar la posición exacta del bit o bits alterados.
Muchos esquemas de FEC existentes son relativamente complejos, y requieren recursos importantes de procesamiento para acometer la tarea de corrección de error. Para algunos esquemas de FEC, la complejidad asociada se debe, no solo a la aritmética sofisticada asociada a las correcciones de error, sino también al hecho de que están diseñados para corregir errores de bit dentro de un campo de datos sin un conocimiento a priori de la posición del error de bit. Un ejemplo de tal esquema de FEC es una clase de códigos de FEC conocida como códigos de "Reed-Solomon" (mencionados en la presente memoria como códigos RS). En general, un código RS puede corregir h/2 supresiones, donde h es el número de paquetes redundantes generados y enviados junto con los paquetes de datos.
Para otros esquemas de FEC que utilizan un conocimiento a priori de la posición de error de bit como parte del algoritmo de corrección, la complejidad se debe a la aritmética asociada. Un ejemplo de tal esquema de FEC es un código RS que ha sido adaptado para corregir supresiones de paquete, conocido como código de Supresión de Reed-Solomon (RSE). En general, un código de RSE puede corregir h supresiones, donde h es el número de paquetes redundantes, y enviarlos junto con los paquetes de datos.
El documento XP010019378, SHACHAM N ET AL., "Recuperación de paquete en redes de alta velocidad utilizando gestión de codificación y compensación", divulga un procedimiento de recuperación de paquete perdido basado en un código de producto construido sobre códigos de comprobación de paridad simple en la dirección horizontal y en la vertical. Cada paquete de paridad es generado por acumulación XOR de K paquetes de información, si solamente falta un paquete de datos del bloque, los K paquetes aplicados al descodificador incluyen K-1 paquetes de datos y el paquete de paridad vertical. La supresión se sustituye por el contenido de la salida del generador de paridad después de que esos K paquetes se hayan aplicado al descodificador.
El documento XP0110010099, MAAN A KOUSA: "Una Nueva Alternativa para Evaluar el Comportamiento de Códigos de Producto SPC Bajo Descodificación de Supresión", divulga una alternativa que estudia la estructura de los patrones de supresión en códigos de producto SPC. Se supone que la palabra código (matriz MxN) es recibida con alguno de los bits borrados. El descodificador divulgado en el mismo realiza descodificación iterativa por filas y columnas, para recuperar los bits suprimidos. Si un bit ha sido suprimido, éste puede ser recuperado mediante comprobación de paridad simple. Si se ha suprimido más de un bit, se salta la columna. La descodificación se realiza hasta que se recuperan todos los bits.
\vskip1.000000\baselineskip
Sumario de la invención
Lo que antecede y otros objetos, han sido conseguidos por la invención que, en un aspecto, comprende un procedimiento de corrección de errores en un sistema de comunicaciones basado en paquetes, en el que una estación de origen transmite paquetes de datos a una estación de destino a través de medios de red. Según se utiliza aquí, el término "paquetes de datos" puede describir agrupaciones de datos bien conocidas en el estado de la técnica, utilizadas típicamente para transportar datos por redes basadas en paquetes a través de diversos protocolos admitidos. Sin embargo, el término "paquetes de datos", según se utiliza aquí, puede describir también en general cualesquiera bloques de datos, con independencia del tamaño, protocolo o uso pretendido. Por ejemplo, los datos tomados desde el canal DS0 de un enlace T1, pueden ser considerados paquetes de datos según se describe aquí. Según otro ejemplo, las palabras de datos tomadas desde un bus en un sistema de ordenador, pueden ser también consideradas como paquetes según se describe aquí. El procedimiento incluye compilar una corriente de datos serie en una secuencia de paquetes de datos para su transmisión hasta la estación de destino a través de los medios de red. El procedimiento incluye además generar m paquetes de paridad a partir de cada grupo de k paquetes de datos de la secuencia de paquetes de datos, con el fin de formar una palabra código de k paquetes de datos y m paquetes de paridad. En otra realización, los m paquetes de paridad se generan a partir de cada grupo de paquetes de datos consecutivos de la secuencia de paquetes de datos. Cada m paquetes de paridad es una combinación de dos o más de los k paquetes de datos, y que asocia un número de secuencia a cada paquete, representativo de una posición relativa del paquete en la palabra código. El procedimiento incluye también transmitir la palabra código de m+k paquetes hasta la estación de destino a través de los medios de red. El procedimiento incluye también recibir la palabra código de m+k paquetes en la estación de destino, y examinar el número de secuencia asociado a cada paquete para determinar si falta(n) uno o más paquetes de la palabra código de m+k paquetes. Si faltan algunos paquetes, el procedimiento incluye identificar el (o los) paquete(s) en falta. El procedimiento incluye además procesar los paquetes de datos y los paquetes de paridad dentro de la palabra código asociada en la estación de destino, de acuerdo con las combinaciones de paquetes de datos utilizadas para generar los paquetes de paridad, con el fin de recuperar uno o más paquetes faltantes.
En otra realización, el procedimiento incluye además generar cada uno de los m paquetes de paridad utilizando una OR-exclusiva a modo de bit, de un par de paquetes de datos.
En otra realización, el procedimiento incluye además procesar los paquetes de datos y los paquetes de paridad analizando cada grupo de paridad consistente en un paquete de paridad particular, y los paquetes de datos particulares que fueron combinados para generar el paquete de paridad. El procedimiento incluye también determinar cuál, si se da el caso, de los grupos de paridad es un paquete faltante, y combinar los paquetes restantes del grupo de paridad para recuperar el paquete faltante.
En otra realización, el procedimiento incluye además generar cada uno de los m paquetes de paridad utilizando una OR-exclusiva a modo de bit, de un par de paquetes de datos, en el que cada paquete de datos se utiliza para generar dos paquetes de paridad diferentes.
En otra realización, el procedimiento incluye además generar cuatro paquetes de paridad a partir de cada grupo de cuatro paquetes de datos consecutivos.
En otra realización, el procedimiento incluye además generar un primer paquete de paridad como OR-exclusiva a modo de bit, de un primer paquete de datos y de un segundo paquete de datos. El procedimiento incluye también generar un segundo paquete de paridad como OR-exclusiva a modo de bit, de un tercer paquete de datos y de un cuarto paquete de datos. El procedimiento incluye también generar un tercer paquete de paridad como OR-exclusiva a modo de bit, del primer paquete de datos y del tercer paquete de datos, y un cuarto paquete de paridad como OR-exclusiva a modo de bit, del segundo paquete de datos y del cuarto paquete de datos.
En otra realización, el procedimiento incluye además procesar los paquetes de datos y los paquetes de paridad en la estación de destino, en un proceso de dos etapas. En primer lugar, corregir un error simple, si existe, en un grupo de paridad consistente en el primer paquete de paridad, el primer paquete de datos y el segundo paquete de datos. Además, corregir un error simple, si existe, en el grupo de paridad consistente en el segundo paquete de paridad, el tercer paquete de datos y el cuarto paquete de datos. En segundo lugar, corregir un error simple, si existe, en un grupo de paridad consistente en el tercer paquete de paridad, el primer paquete de datos y el tercer paquete de datos. Además, corregir un error simple, si existe, en el grupo consistente en el cuarto paquete de paridad, el segundo paquete de datos y el cuarto paquete de datos.
En otra realización, el procedimiento incluye además determinar si existen errores tras la terminación de la segunda etapa, y si es así, repetir la primera etapa y la segunda etapa.
En otra realización, el procedimiento incluye además sustituir los paquetes faltantes irrecuperables por un paquete inmediatamente anterior.
En otra realización, el procedimiento incluye además sustituir uno o más paquetes faltantes irrecuperables por un paquete sustitutivo predeterminado.
En otra realización, el procedimiento incluye además sustituir uno o más paquetes faltantes irrecuperables por un paquete promedio calculado mediante la determinación de un número predeterminado de paquetes adyacentes en torno al paquete faltante.
Según otro aspecto, la invención comprende un sistema para corregir errores en un sistema de comunicaciones basado en paquetes, en el que una estación de origen transmite paquetes de datos a una estación de destino a través de medios de red. El sistema incluye un ensamblador de paquete y un codificador en la estación de origen, y un descodificador en la estación de destino. El ensamblador de paquete compila una corriente de datos serie en una secuencia de paquetes de datos para su transmisión a la estación de destino a través de los medios de red. El codificador recibe los paquetes de datos procedentes del ensamblador de paquete, y genera m paquetes de paridad a partir de cada grupo de k paquetes consecutivos de la secuencia de paquetes de datos, con el fin de formar una palabra código de k paquetes de datos y paquetes de paridad. Cada uno de los m paquetes de paridad es una combinación de dos o más de los k paquetes de datos. El codificador asocia también un número de secuencia a cada paquete, representativo de una posición relativa del paquete en la palabra código. El descodificador recibe la palabra código de m+k paquetes en la estación de destino, y examina el número de secuencia asociado a cada paquete para determinar si falta uno o más paquetes de la palabra código de m+k paquetes. Si faltan algunos de los paquetes, el descodificador identifica cuál o cuáles están faltando, y procesa los paquetes de datos y los paquetes de paridad dentro de la palabra código asociada de acuerdo con las combinaciones de paquetes de datos utilizadas para generar los paquetes de paridad, con el fin de recuperar uno o más paquetes faltantes.
En otra realización, el codificador genera cada uno de los m paquetes de paridad utilizando una OR-exclusiva a modo de bit, de un par de paquetes de datos.
En otra realización, el descodificador procesa los paquetes de datos y los paquetes de paridad analizando cada grupo de paridad. Un grupo de paridad consiste en un paquete de paridad particular y los paquetes de datos particulares que fueron combinados para generar ese paquete de paridad. El descodificador determina cuál, si lo hay, de los grupos de paridad es un paquete faltante, y combina los paquetes restantes del grupo de paridad para recuperar el paquete faltante.
En otra realización, el codificador genera cada uno de los m paquetes de paridad utilizando una OR-exclusiva a modo de bit, de un par de paquetes de datos. En esta realización, cada paquete de datos se utiliza para generar dos paquetes de paridad diferentes.
En otra realización, el codificador genera cuatro paquetes de paridad a partir de cada grupo de cuatro paquetes de datos consecutivos.
En otra realización, el codificador genera un primer paquete de paridad como OR-exclusiva a modo de bit, de un primer paquete de datos y de un segundo paquete de datos, y un segundo paquete de paridad como OR-exclusiva a modo de bit, de un tercer paquete de datos y de un cuarto paquete de datos. El codificador genera también un tercer paquete de paridad como OR-exclusiva a modo de bit, del primer paquete de datos y del tercer paquete de datos, y un cuarto paquete de datos como OR-exclusiva a modo de bit, del segundo paquete de datos y del cuarto paquete de datos.
En otra realización, el descodificador procesa los paquetes de datos y los paquetes de paridad en la estación de destino corrigiendo un error simple, si existe, en un grupo de paridad consistente en el primer paquete de paridad, el primer paquete de datos y el segundo paquete de datos. El descodificador corrige también un error simple, si existe, en el grupo de paridad consistente en el segundo paquete de paridad, el tercer paquete de datos y el cuarto paquete de datos. El descodificador procesa además los datos corrigiendo un error simple, si existe, en el grupo de paridad consistente en el tercer paquete de paridad, el primer paquete de datos y el tercer paquete de datos. El descodificador corrige también un error simple, si existe, en el grupo de paridad consistente en el cuarto paquete de paridad, el segundo paquete de datos y el cuarto paquete de datos.
En otra realización, el descodificador determina si existen errores después de que se haya completado la segunda etapa, y si es así, repite la primera etapa y la segunda etapa.
En otra realización, el descodificador sustituye los paquetes faltantes irrecuperables por un paquete inmediatamente anterior.
En otra realización, el descodificador sustituye uno o más paquetes faltantes irrecuperables por un paquete sustitutivo predeterminado.
En otra realización, el descodificador sustituye uno o más paquetes faltantes irrecuperables por un paquete promedio calculado mediante la determinación de un promedio de un número predeterminado de paquetes adyacentes en torno al paquete faltante.
\vskip1.000000\baselineskip
Breve descripción de los dibujos
Lo anterior y otros objetos de esta invención, las diversas características de la misma, y también la propia invención, pueden ser entendidos de manera más completa a partir de la descripción que sigue, cuando se lee junto con los dibujos que se acompañan, en los que:
La Figura 1 muestra una vista de un diagrama de bloques de una realización preferida de un sistema de corrección de error de envío;
la Figura 2 muestra una realización de un codificador JFEC de la Figura 1;
la Figura 3 muestra un diagrama de flujo de las etapas que el descodificador JFEC de la Figura 1 realiza para descodificar los paquetes dentro del grupo de paquetes de código recibidos;
la Figura 4 ilustra cómo el descodificador de la Figura 1 descodifica un grupo de código con cuatro supresiones de paquete;
la Figura 5 ilustra, para un grupo de código de cuatro paquetes de datos y cuatro paquetes de paridad, los posibles patrones de error dado un total de tres errores y un error en un paquete de datos particular;
la Figura 6 ilustra, para un grupo de código de cuatro paquetes de datos y cuatro paquetes de paridad, los posibles patrones de error dado un total de cuatro errores y un error en un paquete de datos particular;
la Figura 7 muestra un diagrama de estado de un proceso de Bernouilli;
la Figura 8 ilustra gráficamente la actuación entre los códigos JFEC y RSE aquí descritos, y
la Figura 9 muestra resultados experimentales obtenidos utilizando el código JFEC aquí descrito.
\vskip1.000000\baselineskip
Descripción de las realizaciones preferidas
La Figura 1 muestra una vista de un diagrama de bloques de una realización preferida de un sistema 100 de corrección de error de envío para transmitir datos en tiempo real desde una estación 102 de origen hasta una estación 104 de destino por una red basada en paquetes. La Figura 1 muestra los componentes necesarios para la transmisión en una dirección; se necesitan componentes adicionales para comunicaciones bidireccionales. En la estación 102 de origen, el sistema 100 de corrección incluye un ensamblador 106 de paquete, un codificador 108 de error de envío (mencionado en la presente memoria como codificador "JFEC"), y un componente 110 de interfaz física de transmisor. En la estación 104 de destino, el sistema 100 de corrección incluye un componente 114 de interfaz física de receptor, y un descodificador 116 JFEC. La estación 102 de origen y la estación 104 de destino, están conectadas a través de medios 112 de red, que incluyen cualesquiera de, y todos, los componentes de infraestructura de red necesarios para soportar la red por paquetes. Los componentes de infraestructura pueden incluir enrutadores, puentes, conmutadores, y medios de interconexión (tales como cable y fibra óptica), entre otros componentes adecua-
dos.
En la estación de origen, el ensamblador 106 de paquetes recibe los datos 103 CBR (u otro tiempo real) desde una fuente de datos (por ejemplo, un dispositivo CODEC de audio, vídeo o voz, una línea T1 o E1, etc.), y configura los datos en paquetes, de acuerdo con un protocolo de paquete apropiado. En los ejemplos de realización aquí descritos, la fuente de datos proporciona datos en tiempo real. En general, sin embargo, los datos 103 procedentes de la fuente de datos no necesitan ser datos en tiempo real, sino que pueden ser de cualquier clase de datos, en tiempo real o en tiempo no real, que requieran corrección de error a continuación de la transmisión. El ensamblador 106 de paquetes hace pasar los paquetes de datos completados hasta el codificador 106 JFEC, el cual genera m paquetes de paridad por cada conjunto de k paquetes de datos que recibe desde el ensamblador 106 de paquetes. El codificador 108 JFEC produce de ese modo grupos de n paquetes, en los que cada grupo de código incluye k paquetes más m paquetes de paridad (es decir, n=m+k). En una realización preferida, descrita en la presente memoria con mayor detalle, el codificador 108 JFEC genera cuatro paquetes de paridad por cada conjunto de cuatro paquetes de datos, con el fin de formar un grupo de código de ocho paquetes. El codificador 108 JFEC hace pasar cada grupo de código hasta la interfaz 110 física de TX, la cual separa los paquetes y lleva los datos del paquete a los medios 112 de red por paquetes en la capa física.
En la estación 104 de destino, la interfaz 114 física de RX recibe los datos de paquete en la capa física, y proporciona los datos de paquete al descodificador 116 JFEC. El descodificador 116 JFEC examina los números de secuencia dentro de los paquetes para determinar si falta alguno de los paquetes dentro del grupo de código. Si no falta ningún paquete, el descodificador 116 JFEC produce los k paquetes de datos como datos 118 corregidos. Si falta uno o más paquetes, el descodificador 116 JFEC procesa el grupo de paquete de código de n paquetes, para recuperar (en la mayor parte de los casos) los k paquetes de datos como datos 118 corregidos. Para algunos grupos de código de los paquetes, el descodificador 116 JFEC no puede corregir todos los paquetes faltantes. En esos casos, el descodificador 116 JFEC sustituye el N^{ésimo} paquete faltante por el paquete N-1^{ésimo} (es decir, el paquete anterior recibido). En otra realización, el descodificador 116 JFEC sustituye cada paquete faltante por un paquete sustitutivo "fijo", es decir, algún paquete predeterminado. En otra realización, el descodificador 116 JFEC promedia los valores de un número predeterminado de paquetes anteriores y posteriores al paquete faltante, y sustituye el paquete faltante por un paquete correspondiente a este valor "promediado", con el fin de suavizar el espacio creado por el paquete faltante. El motivo principal de utilización de este paquete promedio consiste en minimizar el cambio que se produce a través del espacio que forma el paquete faltante.
La Figura 2 muestra una realización de un codificador 108 JFEC de la Figura 1, que incluye un primer elemento 150 de almacenamiento, un segundo elemento 152 de almacenamiento, un tercer elemento 154 de almacenamiento, y un cuarto elemento de almacenamiento, acoplados eléctricamente en serie, para almacenar una cadena de paquetes consecutivos. La realización de la Figura 2 es solamente una forma de implementar el concepto de codificador aquí descrito; en otras realizaciones, el codificador puede estar implementado en un software que corra en un procesador, en un circuito integrado, o de cualquier otra forma conocida en el estado de la técnica para materializar el concepto de descodificador aquí descrito. Además, la realización de la Figura 2 describe un ejemplo de código que genera cuatro paquetes de paridad por cada uno de los paquetes de datos. Este código particular se utiliza en la presente memoria como ejemplo para describir una realización. Otras realizaciones pueden implementar códigos con diferentes números de paquetes de datos y de paquetes de paridad, sin apartarse de las características esenciales de la invención. En operación, la cadena de paquetes, designados en la presente memoria mediante a, b y c, son enganchados secuencialmente en la cadena de elementos 150, 152, 154 y 156 de almacenamiento a través del puerto 158 de entrada de paquete. Una vez enganchados, el paquete a se fija en la salida del cuarto elemento 156 de almacenamiento, el paquete b se fija en la salida del tercer elemento 154 de almacenamiento, el paquete c se fija en la salida del segundo elemento 152 de almacenamiento, y el paquete d se fija en la salida del primer elemento 150 de almacenamiento. Una primera función 160 de OR-exclusiva (citada como "puerta" XOR por motivos de simplicidad, aunque según se utiliza aquí, una puerta XOR no implica un número particular de entradas o salidas), recibe la salida a del tercer elemento 154 de almacenamiento y la salida b del cuarto elemento de almacenamiento, y produce la OR-exclusiva lógica de a y b, designada en la presente memoria como (a, b), es decir, a \oplus b = (a, b). De manera similar, una segunda puerta 162 XOR produce (a, c), la OR-exclusiva lógica de a y c. Una tercera puerta 164 XOR produce (b, d), la OR-exclusiva lógica de b y d, y una cuarta puerta 166 XOR produce (c, d), la OR-exclusiva lógica de c y d.
Los cuatro paquetes de datos de cada grupo pueden ser visualizados a modo de matriz en la que los paquetes a y b están apilados en la parte superior de los paquetes c y d. A continuación, se calcula un paquete de paridad para cada fila (paridad horizontal) y cada columna (paridad vertical) como se muestra en la ecuación (1) que sigue. Según se utiliza en la presente memoria descriptiva, un "grupo de paridad" se define como un paquete de paridad y los paquetes de datos utilizados para generar el paquete de paridad. Por ejemplo, un grupo de paridad viene dado por los paquetes de datos a y c, y el paquete de paridad (a, c).
1
En una realización, el grupo de paquetes de código puede ser transmitido como sigue:
a, b, c, d, (a, b), (c, d), (a, c), (b, d).
En otras realizaciones, el orden de transmisión de los paquetes dentro de un grupo de código puede ser diferente al mostrado en lo que antecede; por ejemplo, los paquetes de paridad pueden ser transmitidos con anterioridad a los paquetes de datos. Alternativamente, los paquetes pueden ser intercalados en la transmisión, o los paquetes de datos pueden ser transmitidos por una trayectoria de red diferente de la trayectoria utilizada para los paquetes de paridad. En general, el orden de transmisión de los paquetes no es importante, siempre que los paquetes dentro del grupo de código sean acumulados entre sí en el descodificador 116 JFEC de la estación 104 de destino, y la posición relativa de los paquetes dentro de cada grupo de código sea conocida.
Con el fin de descodificar los paquetes dentro del grupo de paquetes de código recibido, el descodificador 116 JFEC lleva a cabo las etapas mostradas en el diagrama de flujo de la Figura 3. El descodificador 116 JFEC determina, en primer lugar, si existe algún error dentro del grupo de código. Un error se define como un paquete faltante dentro del grupo de código. El descodificador 116 JFEC determina qué paquete es el faltante examinando los números de secuencia dentro de los paquetes. Una vez que el descodificador 116 identifica los paquetes faltantes, el algoritmo de descodificación de la Figura 3 realiza dos pasadas por la matriz de la ecuación (1). En la primera pasada, el algoritmo examina cada fila, y a continuación cada columna, con relación a errores simples, y corrige los errores si los detecta. En una ecuación XOR (es decir, x \oplus y = p), se puede calcular un paquete faltante generando XOR para las dos variables conocidas (es decir, x \oplus p = y, e y \oplus p = x). Una vez que han sido corregidos todos los erros simples de filas y columnas, el descodificador 116 JFEC realiza otra pasada por la matriz para examinar cada fila y después cada columna con relación a errores simples, y corrige esos errores. Obsérvese que la primera pasada por la matriz puede reducir algunas filas y/o columnas con errores dobles, a errores simples, y a continuación, en la segunda pasada, los errores simples pueden ser eliminados. Este concepto se muestra explícitamente por medio del ejemplo de la Figura 4, la cual ilustra cómo el descodificador 116 descodifica un grupo de código con cuatro supresiones de paquete. En este ejemplo, P1 = (a, b), P2 = (c, d), P3 = (a, c) y P4 = (b, d). Las supresiones de paquete (es decir, los paquetes faltantes a, b, c y P4), se muestran como caracteres subrayados. En la primera etapa 200, el descodificador 116 examina las filas de la matriz, y calcula el paquete c desconocido a partir de los paquetes d y P2 conocidos de generación de XOR. Obsérvese que la primera fila de la matriz no puede ser corregida debido a que faltan dos de los paquetes (a y b). En la segunda etapa 202, el descodificador 116 evalúa las columnas de matriz, y calcula el paquete a desconocido mediante paquetes c y P3 de producción de XOR. Obsérvese que la segunda columna no puede ser corregida, debido a que faltan dos de los paquetes (b y P4). En la tercera etapa 204, el descodificador 116 realiza una segunda pasada por las filas, y esta vez está capacitado para calcular el paquete b desconocido, puesto que el paquete a previamente desconocido fue determinado en la segunda etapa 202. En la cuarta etapa 206, el descodificador 116 realiza una segunda pasada por las columnas, y esta vez determina que están presentes la totalidad de los cuatro paquetes de datos, detiene el procedimiento de corrección y genera los cuatro paquetes a, b, c y d de datos, como salida 118 de paquete
corregido.
La Pérdida Efectiva de Paquete (EPL) es una medición de la probabilidad de que se pierda o se borre un paquete particular, y no pueda ser recuperado por el código. La descripción que sigue relativa a la EPL para el código JFEC descrito en (1), se deriva de las probabilidades de error para "a". El paquete a es representativo de los otros paquetes de datos, de modo que las probabilidades para los otros paquetes serán las mismas. El código JFEC puede corregir todos los errores de paquete simples y dobles. Para un total de tres patrones de error posibles dado un error en a, existirán 2 errores distribuidos entre los 7 paquetes restantes. Esto da como resultado 21 patrones de error posibles, mostrados en la Figura 5. Los paquetes con errores han sido mostrados como caracteres subrayados. De los 21 patrones de error, solamente un patrón da como resultado un paquete a que es irrecuperable.
Para un total de 4 patrones de error posibles dado un error en a, existirán 3 errores distribuidos entre los 7 paquetes restantes. Esto da como resultado 35 patrones de error posibles. De los 35 patrones, solamente 8 patrones dan como resultado un paquete a que no sea recuperable, como se muestra en la Figura 6.
La Pérdida Efectiva de Paquete para el código JFEC de (1), puede ser deducida como sigue: si P_{OK} es la probabilidad de que el paquete a sea (i) recibido sin ningún error, o (ii) recibido con un error pero posteriormente corregido, entonces la probabilidad de que a tenga un error irrecuperable es:
\vskip1.000000\baselineskip
2
\newpage
Supóngase que P(a=ok) representa la probabilidad de que el paquete a fue recibido sin error, y P(a\neqok) representa la probabilidad de que el paquete a se recibió con un error (es decir, antes de la corrección). Entonces, la probabilidad P_{OK} puede ser expresada como:
3
Un proceso de Bernouilli, cuyo diagrama de estado ha sido mostrado en la Figura 7, se utiliza para modelar las pérdidas de paquete. Un proceso de Bernouilli producirá pérdidas de paquete distribuidas geométricamente como conocen en general los expertos en la materia. La Figura 2 muestra el diagrama de estado para el modelo de Bernouilli. En la Figura, p es la probabilidad de que un paquete se pierda, q es la probabilidad de que un paquete no se pierda, y p + q = 1. Utilizando el modelo de Bernouilli para la pérdida de paquete, se puede calcular la Pérdida Efectiva de Paquete (EPL) que viene dada por (2), es decir:
4
Resulta útil comparar el JFEC aquí descrito, con un RSE expuesto previamente, que corrige todos los errores simples, dobles, triples y cuádruples. La EPL para este código RSE, es:
5
La Figura 8 ilustra gráficamente el comportamiento entre los códigos JFEC y RSE descritos en lo que antecede. El código JFEC puede ser considerado como marginalmente sub-óptimo en el sentido de que posee una EPL ligeramente más alta que el código RSE equivalente. Sin embargo, el JFEC tiene la ventaja de ser significativamente más fácil de codificar y descodificar mientras se obtiene aproximadamente la misma EPL que con el RSE. De ese modo, en muchas aplicaciones sería deseable permitir una pequeña cantidad de pérdida de paquete para reducir significativamente la complejidad de los componentes de corrección de error.
La Figura 9 muestra los resultados experimentales obtenidos utilizando el código JFEC descrito en la presente memoria. Se introdujeron errores de paquete aleatorios en una corriente de audio, y posteriormente se procesaron con el código JFEC aquí descrito. El número de errores de paquete no recuperables, y el número total de errores de paquete, fue registrado a continuación. La Figura 9 representa gráficamente la pérdida efectiva de paquete (EPL) frente a la pérdida de paquete real (PL). Los valores teóricos se solaparon con los resultados reales obtenidos en el laboratorio.
La invención puede ser materializada de otras maneras específicas sin apartarse de las características esenciales de la misma. Las presentes realizaciones han de ser consideradas, por lo tanto, en sentido ilustrativo y no limitativo, estando el alcance de la invención indicado por las reivindicaciones anexas, en vez de por la descripción que antecede, y todos los cambios que caigan dentro del significado y del rango de equivalencia de las reivindicaciones, deben ser por tanto considerados como abarcados por las mismas.

Claims (4)

1. Un procedimiento de corrección de errores en un sistema de comunicaciones basado en paquetes, en el que una estación de origen transmite paquetes de datos a una estación de destino a través de medios de red, que comprende:
compilar una corriente de datos serie en una secuencia de paquetes de datos para su transmisión a la estación de destino a través de los medios de red;
generar un primer paquete de paridad como OR-exclusiva a modo de bit, de un primer paquete de datos y un segundo paquete de datos a partir de la secuencia de paquetes de datos;
generar un segundo paquete de paridad como OR-exclusiva a modo de bit, de un tercer paquete de datos y un cuarto paquete de datos a partir de la secuencia de paquetes de datos;
generar un tercer paquete de paridad como OR-exclusiva a modo de bit, del primer paquete de datos y del tercer paquete de datos a partir de la secuencia de paquetes de datos;
generar un cuarto paquete de paridad como OR-exclusiva a modo de bit, del segundo paquete de datos y del cuarto paquete de datos a partir de la secuencia de paquetes de datos;
formar una palabra código a partir del primer, segundo, tercer y cuarto paquetes de paridad, y del primer, segundo, tercer y cuarto paquetes de datos,
asociar un número de secuencia a cada paquete, representativo de una posición relativa del paquete en la palabra código;
transmitir la palabra código de ocho paquetes hasta la estación de destino, a través de los medios de red;
recibir la palabra código de ocho paquetes en la estación de destino, y examinar el número de secuencia asociado a cada paquete para determinar si falta uno o más paquetes de la palabra código de ocho paquetes, e identificar el uno o más paquetes en falta, si falta alguno;
procesar los paquetes de datos y los paquetes de paridad dentro de la palabra código asociada en la estación de destino, de acuerdo con las combinaciones de paquetes de datos utilizadas para generar los paquetes de paridad, con el fin de recuperar uno o más paquetes en falta, en el que el procesamiento de los paquetes de datos incluye:
en primer lugar, corregir un error simple, si existe, en un grupo de paridad consistente en un primer paquete de paridad, el primer paquete de datos y el segundo paquete de datos, y corregir un error simple, si existe, en un grupo de paridad consistente en el segundo paquete de paridad, el tercer paquete de datos y el cuarto paquete de datos, y
en segundo lugar, corregir un error simple, si existe, en un grupo de paridad consistente en un tercer paquete de datos, el primer paquete de datos y el tercer paquete de datos, y corregir un error simple, si existe, en un grupo de paridad consistente en un cuarto paquete de datos, el segundo paquete de datos y el cuarto paquete de datos,
en tercer lugar, determinar si existen errores después de haber completado la segunda etapa, y en caso afirmativo, repetir la primera etapa y la segunda etapa.
2. El procedimiento de acuerdo con la reivindicación 1, que comprende además sustituir uno o más paquetes en falta irrecuperables por un paquete sustitutivo.
3. Un sistema para corregir errores en un sistema de comunicaciones basado en paquetes, en el que una estación de origen transmite paquetes de datos hasta una estación de destino a través de medios de red, que comprende:
un ensamblador de paquete en la estación de origen, para compilar una corriente de datos serie en una secuencia de paquetes de datos para su transmisión a la estación de destino a través de los medios de red;
un codificador en la estación de origen (i) para recibir los paquetes de datos desde el ensamblador de paquete, (ii) para generar un primer paquete de paridad como OR-exclusiva a modo de bit, de un primer paquete de datos y de un segundo paquete de datos a partir de la secuencia de paquetes de datos; (iii) para generar un segundo paquete de paridad como OR-exclusiva a modo de bit, de un tercer paquete de datos y de un cuarto paquete de datos a partir de la secuencia de paquetes de datos; (iv) para generar un tercer paquete de paridad como OR-exclusiva a modo de bit, del primer paquete de datos y del tercer paquete de datos a partir de la secuencia de paquetes de datos, (v) para generar un cuarto paquete de paridad como OR-exclusiva a modo de bit, del segundo paquete de datos y del cuarto paquete de datos a partir de la secuencia de paquetes de datos; (vi) para formar una palabra código a partir del primer, segundo, tercero y cuarto paquetes de paridad, y del primer, segundo, tercer y cuarto paquetes de datos, y (vii) para asociar un número de secuencia a cada paquete, representativo de una posición relativa del paquete en la palabra código;
un descodificador para recibir la palabra código de ocho paquetes en la estación de destino, y examinar el número de secuencia asociado a cada paquete para determinar si falta uno o más paquetes de la palabra código de ocho paquetes, e identificar el uno o más paquetes en falta, si falta alguno, y para procesar los paquetes de datos y los paquetes de paridad dentro de la palabra código asociada en la estación de destino, de acuerdo con las combinaciones de paquetes de datos utilizadas para generar los paquetes de paridad, con el fin de recuperar uno o más paquetes en falta, en el que el descodificador procesa los paquetes de datos y los paquetes de paridad en la estación de destino:
en primer lugar, corrigiendo un error simple, si existe, en un grupo de paridad consistente en un primer paquete de paridad, el primer paquete de datos y el segundo paquete de datos, y corrigiendo un error simple, si existe, en un grupo de paridad consistente en el segundo paquete de paridad, el tercer paquete de datos y el cuarto paquete de datos, y
en segundo lugar, corrigiendo un error simple, si existe, en un grupo de paridad consistente en un tercer paquete de paridad, el primer paquete de datos y el tercer paquete de datos, y corrigiendo un error simple, si existe, en un grupo de paridad consistente en un cuarto paquete de paridad, el segundo paquete de datos y el cuarto paquete de datos;
en tercer lugar, determinando si existen errores después de que se haya completado la segunda etapa, y en caso afirmativo, repitiendo la primera etapa y la segunda etapa.
4. Un sistema de acuerdo con la reivindicación 3, en el que el descodificador sustituye uno o más paquetes en falta irrecuperables por un paquete sustitutivo.
ES03757318T 2002-06-10 2003-06-03 Procedimiento y sistema de correccion de error de envio para la transmision fiable de datos en tiempo real por redes basadas en paquetes. Expired - Lifetime ES2342465T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US38734302P 2002-06-10 2002-06-10
US387343P 2002-06-10
US310514 2002-12-05
US10/310,514 US6851084B2 (en) 2002-06-10 2002-12-05 Forward error correction method and system for reliable transmission of real time data over a packet based network

Publications (1)

Publication Number Publication Date
ES2342465T3 true ES2342465T3 (es) 2010-07-07

Family

ID=29714973

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03757318T Expired - Lifetime ES2342465T3 (es) 2002-06-10 2003-06-03 Procedimiento y sistema de correccion de error de envio para la transmision fiable de datos en tiempo real por redes basadas en paquetes.

Country Status (7)

Country Link
US (1) US6851084B2 (es)
EP (1) EP1512228B1 (es)
AT (1) ATE466412T1 (es)
AU (1) AU2003251388A1 (es)
DE (1) DE60332345D1 (es)
ES (1) ES2342465T3 (es)
WO (1) WO2003105349A1 (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584404B2 (en) * 2002-12-19 2009-09-01 Intel Corporation Method and apparatus for multimedia communication over packet channels
US7328393B2 (en) * 2004-04-13 2008-02-05 Cisco Technology, Inc. Forward error correction in packet networks
DE102004019598B3 (de) * 2004-04-22 2005-12-29 Siemens Ag Verfahren und Vorrichtung zur fehlertoleranten Datenübertragung für eine CT-Anlage
US7971121B1 (en) * 2004-06-18 2011-06-28 Verizon Laboratories Inc. Systems and methods for providing distributed packet loss concealment in packet switching communications networks
GB0416720D0 (en) * 2004-07-27 2004-09-01 British Telecomm Method and system for voice over IP streaming optimisation
JP2006074656A (ja) * 2004-09-06 2006-03-16 Yokogawa Electric Corp 前方向誤り訂正方法とそれを用いた通信方法および通信装置
US8842666B2 (en) * 2005-05-13 2014-09-23 Qualcomm Incorporated Methods and apparatus for packetization of content for transmission over a network
US20070033496A1 (en) * 2005-07-14 2007-02-08 Hitachi, Ltd. System and method for adjusting BER/PER to increase network stream-based transmission rates
KR100762957B1 (ko) * 2005-07-19 2007-10-04 삼성전자주식회사 AV(Audio Visual) 스트림을 디스크램블하는방법 및 장치
EP1758254A1 (en) * 2005-08-23 2007-02-28 Thomson Licensing Improved erasure correction scheme based on XOR operations for packet transmission
JP4513725B2 (ja) 2005-11-09 2010-07-28 ソニー株式会社 パケット送信装置、通信システム及びプログラム
US7941724B2 (en) * 2006-05-01 2011-05-10 Nokia Siemens Networks Oy Embedded retransmission scheme with cross-packet coding
JP4250654B2 (ja) * 2006-11-17 2009-04-08 株式会社東芝 通信装置、通信方法および通信プログラム
US20080273080A1 (en) * 2007-05-04 2008-11-06 Legend Silicon Corp. Method and apparatus for decision feedback locationing using digtital telelvision signals
US8201056B2 (en) * 2008-02-19 2012-06-12 Nec Laboratories America, Inc. Anti-jamming piecewise coding method for parallel inference channels
US8004963B2 (en) * 2008-02-27 2011-08-23 Audividi Inc. Apparatus and method for packet redundancy and recovery
US8145975B2 (en) * 2008-02-28 2012-03-27 Ip Video Communications Corporation Universal packet loss recovery system for delivery of real-time streaming multimedia content over packet-switched networks
US8578247B2 (en) * 2008-05-08 2013-11-05 Broadcom Corporation Bit error management methods for wireless audio communication channels
US8139655B2 (en) * 2008-06-09 2012-03-20 Sony Corporation System and method for effectively transferring electronic information
JP5135121B2 (ja) * 2008-08-22 2013-01-30 株式会社東芝 データ受信装置、データ受信方法、及びデータ受信プログラム
JP5408981B2 (ja) * 2008-12-09 2014-02-05 キヤノン株式会社 通信装置、及び通信方法、プログラム
CN101877620B (zh) * 2009-04-30 2013-08-14 华为技术有限公司 前向纠错方法、装置和系统
US8543893B2 (en) * 2009-09-02 2013-09-24 Agere Systems Llc Receiver for error-protected packet-based frame
KR101907943B1 (ko) * 2012-01-31 2018-12-19 삼성전자주식회사 통신 시스템에서 데이터 송/수신 장치 및 방법
DK2823616T3 (da) * 2012-03-06 2021-01-11 Appear Tv As Fremgangsmåde, enhed og system til pakketransmission over ip-netværk
CN103379360B (zh) * 2012-04-23 2015-05-27 华为技术有限公司 一种视频质量评估方法和装置
US9560172B2 (en) * 2013-05-06 2017-01-31 Alcatel Lucent Stateless recognition of keep-alive packets
GB2526777B (en) * 2014-04-09 2021-02-17 Huawei Tech Co Ltd Constructing a reliable data stream
US10432553B2 (en) * 2016-02-23 2019-10-01 Microsemi Solutions (U.S.), Inc. Systems and methods for transportation of multiple constant bitrate data streams
US10154317B2 (en) 2016-07-05 2018-12-11 BoxCast, LLC System, method, and protocol for transmission of video and audio data
CN111800225A (zh) * 2016-12-09 2020-10-20 华为技术有限公司 一种数据传输方法及设备
CN113839736A (zh) * 2020-06-08 2021-12-24 华为技术有限公司 编码方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU594995B2 (en) * 1986-01-24 1990-03-22 Sony Corporation Data transmission method suitable for a disc
WO1997038549A1 (en) * 1996-04-05 1997-10-16 Universität Karlsruhe (Th) Method and apparatus for forward error correction of transmitted digital signals in networks
US5943347A (en) * 1996-06-07 1999-08-24 Silicon Graphics, Inc. Apparatus and method for error concealment in an audio stream
US6000053A (en) * 1997-06-13 1999-12-07 Microsoft Corporation Error correction and loss recovery of packets over a computer network
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6445717B1 (en) * 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6430233B1 (en) * 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6505034B1 (en) * 1999-12-20 2003-01-07 Nokia Ip Inc. Adaptive ARQ feedback bandwidth allocation
US6421804B1 (en) * 1999-12-20 2002-07-16 Agere Systems Guardian Corp. Generating reliability values for iterative decoding of block codes
US7103669B2 (en) * 2001-02-16 2006-09-05 Hewlett-Packard Development Company, L.P. Video communication method and system employing multiple state encoding and path diversity
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system

Also Published As

Publication number Publication date
EP1512228B1 (en) 2010-04-28
EP1512228A1 (en) 2005-03-09
WO2003105349A1 (en) 2003-12-18
ATE466412T1 (de) 2010-05-15
EP1512228A4 (en) 2008-08-20
AU2003251388A1 (en) 2003-12-22
US20030229840A1 (en) 2003-12-11
DE60332345D1 (de) 2010-06-10
US6851084B2 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
ES2342465T3 (es) Procedimiento y sistema de correccion de error de envio para la transmision fiable de datos en tiempo real por redes basadas en paquetes.
KR100312729B1 (ko) 에이알큐 시스템용 에러검출방법
US8037397B2 (en) Method for recovering a lost data unit
US8065591B2 (en) Method of transmitting digital data packets and device implementing the method and receiver
US20090189792A1 (en) Systematic encoding and decoding of chain reaction codes
US10193566B2 (en) Encoding/decoding system for parallel data
US20070165673A1 (en) Method for reconstructing lost packets using a binary parity check
CA2543349C (en) Method for lost packet reconstruction and device for carrying out said method
JPWO2007029432A1 (ja) 誤り訂正方法及び装置
JP4580278B2 (ja) パケット中継装置、コンテンツ送信装置、パケット中継プログラムならびにパケット中継方法
RU2001132150A (ru) Способ и устройство для передачи и приема мультимедийных данных
US11831434B2 (en) Data sending and receiving method and device
JP4920189B2 (ja) 順方向誤り訂正方法
JP2005012753A (ja) パケット中継装置及びその方法と、パケット受信装置及びその方法と、パケット中継プログラム及びそのプログラムを記録した記録媒体と、パケット受信プログラム及びそのプログラムを記録した記録媒体
US6697996B2 (en) Multi-dimensional packet recovery system and method
US8423872B2 (en) Method for optimizing the forward error correction scheme
KR101690661B1 (ko) 오류 정정의 병렬 처리를 위한 방송 신호 부호화 및 복호화 방법, 이를 위한 방송 신호 송수신 장치 및 이를 위한 시스템
EP1758254A1 (en) Improved erasure correction scheme based on XOR operations for packet transmission
US7516393B2 (en) System and method of error detection for unordered data delivery
JP2005323171A (ja) 送信装置、誤り訂正装置、ネットワーク接続装置およびパケット中継方法
TWI520528B (zh) 增壓碼
WO2015169049A1 (zh) 一种微波传输的容错性方法和装置、计算机可读存储介质
JP2004274214A (ja) 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置
ES2359292T3 (es) Método basado en códigos correctores de errores aplicable a un flujo de datos multimedia de caudal variable.
Kenchannavar et al. Efficiency of FEC coding in IP networks