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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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/2909—Product codes
- H03M13/2912—Product codes omitting parity on parity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block 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.
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
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
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
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.
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).
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.
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
\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:
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:
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:
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.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38734302P | 2002-06-10 | 2002-06-10 | |
US387343P | 2002-06-10 | ||
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 |
US310514 | 2002-12-05 |
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)
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 | 삼성전자주식회사 | 통신 시스템에서 데이터 송/수신 장치 및 방법 |
EP2823616B1 (en) * | 2012-03-06 | 2020-09-23 | Appear TV AS | Method, device and system for packet transmission over ip networks |
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 |
CN106685591B (zh) * | 2016-12-09 | 2020-06-02 | 华为技术有限公司 | 一种数据传输方法及设备 |
CN113839736A (zh) * | 2020-06-08 | 2021-12-24 | 华为技术有限公司 | 编码方法及装置 |
Family Cites Families (14)
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 |
US6421804B1 (en) * | 1999-12-20 | 2002-07-16 | Agere Systems Guardian Corp. | Generating reliability values for iterative decoding of block codes |
US6505034B1 (en) * | 1999-12-20 | 2003-01-07 | Nokia Ip Inc. | Adaptive ARQ feedback bandwidth allocation |
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 |
-
2002
- 2002-12-05 US US10/310,514 patent/US6851084B2/en not_active Expired - Lifetime
-
2003
- 2003-06-03 WO PCT/US2003/017388 patent/WO2003105349A1/en not_active Application Discontinuation
- 2003-06-03 DE DE60332345T patent/DE60332345D1/de not_active Expired - Lifetime
- 2003-06-03 EP EP03757318A patent/EP1512228B1/en not_active Expired - Lifetime
- 2003-06-03 ES ES03757318T patent/ES2342465T3/es not_active Expired - Lifetime
- 2003-06-03 AU AU2003251388A patent/AU2003251388A1/en not_active Abandoned
- 2003-06-03 AT AT03757318T patent/ATE466412T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20030229840A1 (en) | 2003-12-11 |
US6851084B2 (en) | 2005-02-01 |
EP1512228A1 (en) | 2005-03-09 |
EP1512228B1 (en) | 2010-04-28 |
ATE466412T1 (de) | 2010-05-15 |
WO2003105349A1 (en) | 2003-12-18 |
DE60332345D1 (de) | 2010-06-10 |
AU2003251388A1 (en) | 2003-12-22 |
EP1512228A4 (en) | 2008-08-20 |
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. | |
US8037397B2 (en) | Method for recovering a lost data unit | |
KR101143282B1 (ko) | 연쇄 반응 코드의 체계적 인코딩 및 디코딩 | |
US8065591B2 (en) | Method of transmitting digital data packets and device implementing the method and receiver | |
US20070165673A1 (en) | Method for reconstructing lost packets using a binary parity check | |
US20150229329A1 (en) | Encoding/decoding system for parallel data | |
CA2543349C (en) | Method for lost packet reconstruction and device for carrying out said method | |
JPWO2007029432A1 (ja) | 誤り訂正方法及び装置 | |
JP3701956B2 (ja) | パケット中継装置及びその方法と、パケット受信装置及びその方法と、パケット中継プログラム及びそのプログラムを記録した記録媒体と、パケット受信プログラム及びそのプログラムを記録した記録媒体 | |
JP4580278B2 (ja) | パケット中継装置、コンテンツ送信装置、パケット中継プログラムならびにパケット中継方法 | |
RU2001132150A (ru) | Способ и устройство для передачи и приема мультимедийных данных | |
JP4920189B2 (ja) | 順方向誤り訂正方法 | |
US20220052785A1 (en) | Data sending and receiving method and device | |
US6697996B2 (en) | Multi-dimensional packet recovery system and method | |
US20120233525A1 (en) | Method for optimizing the forward error correction scheme | |
US7516393B2 (en) | System and method of error detection for unordered data delivery | |
KR101690661B1 (ko) | 오류 정정의 병렬 처리를 위한 방송 신호 부호화 및 복호화 방법, 이를 위한 방송 신호 송수신 장치 및 이를 위한 시스템 | |
EP1758254A1 (en) | Improved erasure correction scheme based on XOR operations for packet transmission | |
JP2005323171A (ja) | 送信装置、誤り訂正装置、ネットワーク接続装置およびパケット中継方法 | |
TWI520528B (zh) | 增壓碼 | |
JP2004274214A (ja) | 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 | |
ES2359292T3 (es) | Método basado en códigos correctores de errores aplicable a un flujo de datos multimedia de caudal variable. | |
Singh et al. | Data Link Layer Designing Issues: Error Control-A Roadmap | |
Kenchannavar et al. | Efficiency of FEC coding in IP networks |