MXPA06004392A - Metodo para reconstruccion de paquete perdido y dispositivo para llevar a cabo dicho metodo. - Google Patents

Metodo para reconstruccion de paquete perdido y dispositivo para llevar a cabo dicho metodo.

Info

Publication number
MXPA06004392A
MXPA06004392A MXPA06004392A MXPA06004392A MXPA06004392A MX PA06004392 A MXPA06004392 A MX PA06004392A MX PA06004392 A MXPA06004392 A MX PA06004392A MX PA06004392 A MXPA06004392 A MX PA06004392A MX PA06004392 A MXPA06004392 A MX PA06004392A
Authority
MX
Mexico
Prior art keywords
correction
packets
function
packet
matrix
Prior art date
Application number
MXPA06004392A
Other languages
English (en)
Inventor
Marie-Luc Champel
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of MXPA06004392A publication Critical patent/MXPA06004392A/es

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/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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)
  • Error Detection And Correction (AREA)

Abstract

La invencion se relaciona con un metodo para asegurar una corriente de paquete de datos que involucra las siguientes etapas: distribuir los paquetes que se van a enviar en una matriz de D hileras y L columnas, a cada hilera y cada columna de la matriz, se aplica una funcion de correccion de error, cuyo resultado es un paquete de correccion; despues se envian los paquetes de correccion resultantes ademas de los paquetes de datos. La invencion tambien se relaciona con un metodo para reconstruir paquetes perdidos en una corriente de paquetes de datos que involucra las siguientes etapas: distribuir los paquetes recibidos en una matriz de D hileras y L columnas, tomando en consideracion su numero de secuencia; a cada hilera y cada columna de la matriz que contiene por lo menos un paquete perdido, aplicar una funcion para reconstruir paquetes perdidos utilizando los paquetes recibidos y el paquete de correccion que corresponde a la hilera o a la columna. La invencion tambien se relaciona con dispositivos que incrementan estos metodos.

Description

MÉTODO PARA RECONSTRUCCIÓN DE PAQUETE PERDIDO Y DISPOSITIVO PARA LLEVAR A CABO DICHO MÉTODO DESCRIPCIÓN DE LA INVENCIÓN La presente invención se relaciona con corrección de error cuando se envían datos digitales en forma de paquetes . Cuando se envían datos digitales sobre una red en forma de paquete de datos, los paquetes pueden ser afectados por errores de transmisión. Las redes que habilitan la transferencia de datos digitales en forma de paquetes tiene características particulares, tales como ancho de banda, latencia o confiabilidad que varía de un tipo de red a otra. Dependiendo del tipo de red, se pueden observar diferentes niveles de sensibilidad para diferentes tipos de error que es probable que se produzcan durante la transmisión de datos por paquete sobre esta red. Los tipos de errores que probablemente surjan incluyen la transmisión de un paquete con un bitio erróneo, la pérdida aleatoria de un paquete, la pérdida de una secuencia de paquetes adyacentes, la duplicación de un paquete o una secuencia de paquetes . Tradicionalmente existen dos tipos de método para corregir estos errores. En primer lugar, existe los métodos de detección de errores para detectar que un paquete transmitido está en un error y no se le toma en cuenta.
Generalmente, estos métodos se utilizan cuando el protocolo de transmisión tiene la facilidad de solicitar que se vuelvan a enviar los paquetes perdidos. Los ejemplos de tales métodos incluyen el método CRC (verificación de redundancia cíclica) y el protocolo TCP (protocolo de control de transmisión) en redes IP. En segundo lugar, existen métodos que permiten no sólo la detección de un paquete erróneo sino también su reconstrucción. Estos métodos se conocen bajo el acrónimo. FEC (corrección de error directa) y son muy adecuados para protocolos en los cuales no es posible solicitar que se vuelva a enviar un paquete de datos erróneo. Un ejemplo del uso de tales métodos se produce en el caso de protocolos para transmitir contenido multimedia en tiempo real, en donde el cumplimiento del requerimiento en tiempo real es incompatible con el reenvío de paquetes erróneos. El protocolo RTP (protocolo en tiempo real) es un ejemplo de tal caso. El principio general de operación de los métodos FEC es aplicar una función, por ejemplo un XOR, a un grupo de paquetes de datos. El resultado de esta función produce un paquete, denominado un paquete de corrección, el cual es transmitido además de los paquetes de datos utilizados para generarla. Cuando se detecta que un paquete está en un error, el paquete de corrección, asociado con los paquetes transmitidos correctamente, habilita al paquete erróneo para que sea reconstruido. No obstante, este método tiene sus limitaciones en la medida en que existen algunos errores que no pueden ser corregidos. Específicamente, sí existen dos paquetes erróneos en el grupo de paquetes utilizado para generar un paquete de corrección vía la función XOR, dicho paquete de corrección puede no ser suficiente para reconstruir los dos paquetes de erróneos. La estrategia adoptada al seleccionar paquetes para generar el paquete de corrección por lo tanto es crucial para la eficacia del método de corrección. En particular, esta estrategia dependerá del tipo de errores que se produzcan más frecuentemente y del tipo de red utilizada. Por ejemplo, al calcular la función de corrección en N paquetes adyacentes resultará en corrección de errores aleatorios que son de poca cantidad, pero será ineficaz en una serie de paquetes perdidos. Para corregir una serie de paquetes perdidos, una solución conocida, como se documenta por ejemplo en el forum de Pro-MPEG "Code of Practice" es calcular la función de corrección en un grupo de paquetes D tomados periódicamente cada L paquetes. La función se aplica a los paquetes i, i+L, i+2L, i+(D-l)L. De esta manera, se pueden corregir por el método una serie de paquetes erróneos como máximo L paquetes adyacentes . El problema con este método es que, aunque muy adecuado para una serie de paquetes erróneos, hace evidente el tener una tasa estadística de éxito que disminuye muy rápidamente conforme se incrementa la tasa de errores aleatorios. Por lo tanto, es evidente en la necesidad de un método que resista mejor el incremento en la tasa de errores aleatorios y que al mismo tiempo mantenga un buen funcionamiento de corrección para series de paquetes de datos . El objetivo de. la invención por lo tanto es proponer dicho método. Consiste en aplicar la función de corrección a paquetes D como se describe en lo anterior pero también en aplicarlos a L paquetes numerados i, i+1, i+2, i+ L-l. De esta manera, cada paquetes de datos se utiliza para calcular dos paquetes de corrección, y la tasa de corrección en presencia de errores aleatorios se incrementa de manera significativa mientras se mantiene un buen funcionamiento de corrección para una serie de paquetes de datos . La invención se relaciona con un método para asegurar una corriente de paquetes de datos que involucra las siguientes etapas: distribuir los paquetes que se van a enviar en una matriz de D hileras y L columnas; a cada hilera y cada columna de la matriz, aplicar una función de corrección de error, el resultado de la cual es un paquete de corrección; después enviar los paquetes de corrección resultantes además de los paquetes de datos . De acuerdo con otro aspecto de la invención, la función de corrección también se aplica a la hilera formada por paquetes de corrección que resulta de la aplicación de la función de corrección de cada columna en la matriz que genera un paquete de corrección adicional . De acuerdo con otro aspecto de la invención, la función de corrección también se aplica a la columna formada por los paquetes de corrección que resultan de la aplicación de la función de corrección a cada hilera de la matriz que genera un paquete de corrección adicional. De acuerdo con otro aspecto de la invención, los encabezadores de los paquetes de corrección contienen un campo para diferenciar sí han sido calculados en una hilera o una columna de la matriz. De acuerdo con otro aspecto de la invención, los paquetes de corrección se transmiten en la misma corriente que los paquetes de datos. De acuerdo con otro aspecto de la invención, los paquetes de corrección se transmiten en una corriente diferente desde una que transporta los paquetes de datos . La invención también se relaciona con un método para reconstruir paquetes perdidos en una -corriente de paquetes de datos que involucra las siguientes etapas: distribuir los paquetes recibidos en una matriz de D hileras y L columnas, tomar en consideración su número de secuencia; a cada hilera y cada columna de la matriz que contiene por lo menos un paquete perdido, aplicar una función para reconstruir los paquetes perdidos utilizando los paquetes recibidos y el paquete de corrección que corresponde a la hilera o a la columna. De acuerdo con otro aspecto de la invención, la función de reconstrucción también se puede aplicar a una hilera o a una columna de paquetes de corrección utilizando un paquete de corrección adicional generado para este propósito . La invención también se relaciona con un dispositivo transmisor para transmitir una corriente de paquetes de datos sobre una red que contiene un medio de cálculo que genera un paquete de corrección al aplicar una función de corrección a uh grupo"de" paquetes de datos y que está caracterizada porque el dispositivo contiene un medio para aplicar esta función a las hileras y a las columnas de una matriz formada por paquetes de datos. De acuerdo con otro aspecto de la invención, el medio que aplica la función para hacer esto, de acuerdo con el método que se describe en la patente. La invención también se relaciona con un dispositivo receptor para recibir una corriente de paquete de datos sobre una red que contiene un medio para calcular paquetes perdidos como una función de los paquetes de datos y paquetes de corrección recibidos, caracterizado porque el dispositivo tiene un medio para aplicar este medio de cálculo a las hileras y las columnas de una matriz de paquetes de datos de la corriente y a los paquetes de corrección que corresponden a estas hileras y estas columnas . De acuerdo con otro aspecto de la invención, los paquetes de corrección se generan de acuerdo con uno de los métodos descritos en la patente. La invención se comprenderá mejor, y otras características y ventajas se volverán evidentes ante la lectura de la siguiente descripción la cual hace referencia a los dibujos anexos, en los cuales: La figura 1 es un diagrama de bloques de la representación de la aplicación de la función de corrección a paquetes de datos. La figura 2 representa la estructura de un paquete de corrección colocado en un paquete, de acuerdo con el protocolo RTP. La figura 3 representa el encabezador de un paquete de corrección, de acuerdo con RFC 2733. La figura 4 representa un encabezador de un paquete de corrección, de acuerdo con la implementación de ejemplo de invención descrita.
La figura 5 representa la arquitectura de hardware de un dispositivo transmisor o receptor de acuerdo con la implementación de ejemplo de la invención. La figura 6 representa las etapas del método para el transmisor. La figura 7 representa las etapas del método para el receptor. La figura 5 representa la arquitectura interna de un dispositivo 1 transmisor o receptor el cual contiene una ROM 4 (memoria de solo lectura) que le permite almacenar programas y datos y una RAM 3 (memoria de acceso aleatorio) que le permite cargar estos programas en preparación para una ejecución por el procesador 2. Este dispositivo se conecta a una red IP vía una interconexión 5 de red lo cual significa que puede transmitir o recibir las corrientes. Estos componentes se comunican vía un enlace común 6 interno . El ejemplo de implementación de la invención está en el contexto de transferencia de datos digitales en tiempo real sobre una red IP. Los datos son transmitidos, en este ejemplo de implementación, en forma de una corriente via el protocolo RTP (protocolo en tiempo real) . Como ya se ha mencionado, RFC 2733 describe una manera estándar de corregir paquetes de datos transmitidos por el protocolo RTP. Este método es el objeto de una extensión descrita en el documento "Code of Practice" del forum Pro- MPEG. El ejemplo de implementación de la invención el cual no se describirá, es una mejora que es compatible con este método . En este ejemplo de implementación, los paquetes de datos son separados en grupos de paquetes L*D. Después se distribuyen en una matriz de D hileras y L columnas, como lo muestra la figura 1. Se seleccionan L y D de acuerdo. con la eficacia deseada. La manera en la cual estos parámetros afectan la eficacia del método de corrección se describirá posteriormente. Después se aplica una función de corrección a cada columna de la matriz; la misma función de corrección también se aplica a cada hilera de la matriz. Esta función de corrección puede ser un XOR, el cual puede ser el más sencillo de implementar, pero también son ' posibles otras funciones tales como la función de Reed- Solomon o un código Hamming. Estas funciones son más poderosas pero más costosas en términos de cálculos. Cualquiera que sea la función de corrección que se seleccione, el resultado de aplicación de esta función a un grupo de paquetes, en este caso una hilera o una columna de la matriz, es un paquete denominado como el paquete de corrección. Por lo tanto, el método resulta en L paquetes de corrección que corresponden a la aplicación de la función de cada columna y D paquetes de corrección que corresponden a la aplicación de la función a cada hilera. También es posible agregar un paquete de corrección calculado al aplicar la función de corrección a los paquetes de corrección mismos y esto agrega un segundo nivel de protección para corregir la pérdida de un paquete de corrección. Estos paquetes deben ser transmitidos a la corriente de datos. Esta transmisión se puede llevar a cabo de varias maneras. Los paquetes de corrección se pueden transmitir en la misma corriente que los paquetes de datos, pero después se someten a los mismos riesgos de transmisión que la corriente que están protegiendo. También pueden ser transmitidos en una corriente separada, y de esta manera se incrementa la resistencia a los errores. El método descrito por el forum Pro-MPEG consiste en calcular y enviar los paquetes de corrección calculados desde las columnas de la matriz. El método descrito en la patente, en la medida en que envía estos mismos paquetes, permanece compatible con el método Pro-MPEG. Esto es debido a que los dispositivos receptores de acuerdo con este estándar no tomarán en cuenta las paquetes de corrección calculados en las hileras de la matriz y por lo tanto serán capaces de operar de la misma manera que con un transmisor de acuerdo con la invención y con un transmisor de acuerdo con el método Pro-MPEG.
En la figura 2 se representa la estructura de un paquete, como se describe en el RFC. Consiste de un encabezador de paquete RTP, cuya descripción se puede encontrar en RFC 1889. Este encabezador es seguido por un encabezador FEC y después por el paquete de corrección real. En la figura 3 se presenta la estructura de un encabezador FEC de acuerdo con RFC 2733. Este encabezador contiene un campo de base SN el cual contiene el número más pequeño de secuencia del grupo de paquetes de datos utilizado para construir el paquete de corrección. El campo de recuperación de Longitud se utiliza para determinar la longitud de cualquier paquete de datos . Se construye al aplicar la función de corrección al grupo formado por las longitudes de cada paquete de datos. El campo E se utiliza para indicar una extensión para el encabezador. El campo de recuperación PT se obtiene al aplicar la función de corrección al campo de Tipo de paquete de datos. El campo Máscara es un campo de 24 bitios para determinar cuales paquetes de datos se utilizan para construir el paquete de corrección. Sí el bitio i está en 1, esto significa que los paquetes N + i se utilizan para construir el paquete de corrección. N es la base almacenada en el campo de base SN. El campo de recuperación TS se calcula al aplicar la función de corrección a las marcas de tiempo de los paquetes de datos. Se utiliza para reconstruir estas marcas de tiempo. Se observa que a través de este mecanismo, los paquetes de corrección únicamente se pueden calcular en grupos de un máximo de 24 paquetes de datos . Para exceder este limite, una extensión de este encabezado se define en el documento "Code of Practice" del forum Pro-MPEG. En la figura 4 se representa esta extensión, la cual muestra el mismo encabezador que previamente, con el campo de extensión establecido en 1. Se agrega un campo de extensión de 2 bitios nuevo, E, el cual determina el uso del campo "campo de extensión". El campo Tipo indica cual función de corrección se utiliza: 0 para XOR, 1 para el código Hamming o 2 para la función de Reed-Solomon. El campo índice se utiliza para ordenar los paquetes FEC en caso de que el resultado de la función de corrección exceda el tamaño máximo de un paquete . Este puede ser el caso para funciones de corrección complejas. El campo Desviación determina el período elegido para seleccionar los paquetes de datos; corresponde con el parámetro L de la matriz. El campo NA (Número de Asociado) determina el número de paquetes de datos asociados para la generación del paquete de corrección; este número corresponde al parámetro D de la matriz. El campo "campo de Extensión" está reservado para uso futuro. El campo Máscaras se vuelve inútil y se inicializa por presentación de objetos que tienen un valor de 0. La modificación llevada a cabo por la invención consiste en separar el campo E de 2 bitios en un campo E' nuevo de 1 bitio y un campo D de 1 bitio, los cuales determinan sí el paquete de corrección en cuestión se calcula en las columnas, en cuyo caso este campo D se establece en 0. Sí el paquete de corrección se calcula en una hilera, este campo D se establece en 1. Se observa que aún mediante este mecanismo, un paquete de corrección calculado en una columna permanece completamente idéntico al mismo paquete calculado de acuerdo con el método del forum Pro-MPEG, mientras que los paquetes adicionales calculados en las hileras se pueden identificar por la presencia del campo D establecido en 1, lo cual constituye el ajuste a 1 del campo de extensión de 2 bitios, E, sí el paquete se interpreta de acuerdo con el método Pro-MPEG indicando que este paquete se utiliza como una extensión en el formato definido por el forum. Cuando se reciben los paquetes, el receptor almacenará los paquetes recibidos en una memoria intermedia. El tamaño de esta memoria intermedia debe ser tal que pueda almacenar por lo menos L*D paquetes de datos y los L+D paquetes de corrección correspondientes . La distinción entre los paquetes de datos y los paquetes de corrección se realiza por el campo Tipo del encabezador RTP como se describe en RFC 1889 que describe este protocolo. Será posible identificar los paquetes de datos entre ellos mediante su número de secuencia y los paquetes de corrección entre ellos mediante el campo de base SN de su encabezador. El conocimiento de los paquetes perdidos después permitirá realizar un intento por reconstruirlos mediante la utilización de la función de corrección y los paquetes de corrección. Por ejemplo, sí la función de corrección utilizada es para la función XOR, es posible corregir la pérdida de un paquete de datos en un grupo de paquetes de datos utilizados para generar un paquete de corrección, utilizando este paquete de corrección. Por lo tanto, aquí se identificará en la matriz de paquetes recibidos, las hileras y columnas que contienen únicamente un paquete perdido con el fin de reconstruirlos con el paquete de corrección correspondiente. Por ejemplo, la corrección se puede llevar a cabo utilizando el siguiente método : Cálculo de un vector NLi del número de paquetes de datos perdidos en hilera i. Cálculo de un vector NCi del número de paquetes de datos perdidos en la columna i. Aunque permanece un paquete perdido en la matriz : Encontrar el índice mínimo p de manera tal que NLp = 1; Sí existe tal p: • encontrar el índice de columna q que corresponde al paquete perdido • reconstruir el paquete perdido del índice p y q al aplicar la función XOR a los otros paquetes de la hilera y al paquete de corrección que corresponde a dicha hilera • NLp = 0; MCq = NCq - 1 ; En ausencia de tal índice p encontrando un índice q mínimo de manera tal que NCq = 1 • sí existe tal q: Encontrar el índice p de columna que corresponde al paquete perdido reconstruir el paquete perdido del índice p y q al aplicar la función XOR a otros paquetes de la hilera y al paquete de corrección que corresponda esta columna NLp = NLp - 1/ NCq = 0; • de otra manera, el método de reconstrucción ha fallado. En caso de éxito, todos los paquetes perdidos se reconstruyen . Los parámetros L y D del método deben seleccionar con consideración a la siguiente información. En primer lugar, el sobreencabezado generado por los paquetes de corrección el cual debe ser enviado además de los paquetes de datos es l/L + l/D; por lo tanto, la selección de valores grandes para L y D minimizará la ocupación del ancho de banda requerido para el uso del método . Además , el método se puede utilizar para corregir series de los paquetes perdidos de un máximo de L + 1 paquetes adyacentes, de manera que cuanto más grande sea L, más eficaz será el método para corregir este tipo de error. El método es capaz de corregir todas las pérdidas de paquetes aleatorios de hasta tres paquetes perdidos y ciertas pérdidas de paquete aleatorio hasta D+L-l paquetes perdidos. La simetría del problema lleva a una eficacia máxima de pérdidas de paquetes aleatorias cuando L y D tienen el mismo valor. Ahora, el método requiere memorias intermedias tanto en los dispositivos reductor como transmisor, que tienen un tamaño mínimo de L*D paquetes. Por lo tanto, se observa que la selección de valores grandes para L y D es benéfica para maximizar la eficacia del método, pero la selección se limita por el tamaño de las memorias intermedias de transmisión y recepción de los dispositivos. Puede surgir otra limitación del tiempo de cálculo de función de corrección el cual se puede volver prolongado para una gran cantidad de paquetes y si se selecciona una función compleja. Se pueden utilizar cálculos estadísticos para comparar la eficacia del método con lo descrito por el forum Pro-MPEG. Como se espera, su eficacia se observa que se incrementa de manera notable. Por ejemplo, mediante la utilización de la función de corrección XOR y una matriz en la cual L y D tienen un valor de 6, el método corrige 94.1 por ciento de las pérdidas aleatorias de 6 paquetes de datos mientras que el método EFC corrige únicamente 2.4 por ciento. Por lo tanto, el método se vuelve mucho más eficaz en la corrección de pérdidas aleatorias del paquete de datos en la corriente . El método es capaz de corregir todas las pérdidas de paquetes adyacentes hasta D+l paquetes sucesivos en donde el método Pro-MPEG corrige únicamente hasta D paquetes sucesivos. Por lo tanto, se observa que el uncionamiento respecto a la pérdida de paquetes de datos adyacentes mejora ligeramente, mientras que el funcionamiento con respecto a errores aleatorios se incrementa de manera notable. Es evidente, para una persona experta en la técnica, que el ejemplo de implementacion descrito aqui no es limitante. En particular, la invención puede ser utilizada en el contexto de todos los protocolos para transferencia de datos por paquetes y no solo en el contexto de RTP. También es posible utilizar cualquier función de corrección; la invención no se limita a las funciones de corrección mencionadas en la patente.

Claims (3)

REIVINDICACIONES
1. Método para asegurar una corriente de paquete de datos, método el cual se caracteriza porque involucra las siguientes etapas: distribuir los paquetes para ser enviados en una matriz de D hileras y L columnas ; a cada hilera y cada columna de la matriz, aplicar una función de corrección de error, cuyo resultado es un paquete de corrección; enviar los paquetes de corrección resultantes además de los paquetes de datos.
2. Método como se describe en la reivindicación 1, en el cual la función de corrección se aplica también a la hilera formada por paquetes de corrección que resulta de la aplicación de la función de corrección a cada columna de la matriz que genera un paquete de corrección adicional.
3. Método como se describe en la reivindicación 1, en el cual la función de corrección se aplica también a la columna formada por los paquetes de corrección que resultan de la aplicación de la función de corrección a cada hilera de la matriz que genera un paquete de corrección adicional. . Método como se describe en cualquiera de las reivindicaciones precedentes, en el cual los encabezadores de los paquetes de corrección contienen un campo para distinguir sí han sido calculados en una hilera o en una columna de la matriz. 5. Método como se describe en cualquiera de las reivindicaciones precedentes, en el cual los paquetes de corrección se transmiten en la misma corriente que los paquetes de datos . 6. Método como se describe en cualquiera de las reivindi aciones 1 a 4, en el cual los paquetes de corrección se transmiten en una corriente diferente desde una que transporta a los paquetes de datos . 7. Método para reconstruir paquetes perdidos en una corriente de paquete de datos, método el cual está caracterizado porque involucra las siguientes etapas: distribuir los paquetes recibidos en una matriz de D hileras y L columnas, tomando en consideración su número de secuencia; a cada hilera y cada columna de la matriz que contiene por lo menos un paquete perdido, aplicar una función para reconstruir paquetes perdidos utilizando los paquetes recibidos y el paquete de corrección que corresponde a la hilera o a la columna. 8. Método como se describe en la reivindicación 7, en el cual la función de reconstrucción también se aplica a una hilera o una columna de paquetes de corrección utilizando un paquete de corrección adicional generado para este propósito. . 9. Dispositivo transmisor para transmitir una corriente de paquete de datos sobre una red que contiene un medio de cálculo que genera un paquete de corrección al aplicar una función de corrección a un grupo de paquetes de datos y caracterizado porque el dispositivo contiene un medio para aplicar esta función a las hileras y a las columnas de una matriz formada por lo paquetes de datos. 10. Dispositivo como se describe en la reivindicación 9, en el cual el medio de aplicación de la función para ser esto de acuerdo con un método descrito en una de las reivindicaciones 1 a 6. 11. Dispositivo receptor para recibir una corriente de paquetes de datos sobre una red que contiene un medio para calcular paquetes perdidos como una función de los paquetes de datos y paquetes ' de corrección recibidos, caracterizado porque el dispositivo tiene un medio para aplicar este medio de cálculo a las hileras y a las columnas de una matriz de paquetes de datos de la corriente y a los paquetes de corrección que corresponden a estas hileras y a estas columnas. 12. Dispositivo como se describe en la reivindicación 11, en el cual los paquetes de corrección se generan de acuerdo con uno de los métodos descritos en las reivindicaciones 7 y 8.,
MXPA06004392A 2003-10-23 2004-09-27 Metodo para reconstruccion de paquete perdido y dispositivo para llevar a cabo dicho metodo. MXPA06004392A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0312391A FR2861517B1 (fr) 2003-10-23 2003-10-23 Methode de reconstruction de paquets perdus et appareils implementant la methode
PCT/FR2004/050464 WO2005041466A1 (fr) 2003-10-23 2004-09-27 Methode de reconstruction de paquets perdus et appareil implementant la methode

Publications (1)

Publication Number Publication Date
MXPA06004392A true MXPA06004392A (es) 2006-07-06

Family

ID=34400717

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06004392A MXPA06004392A (es) 2003-10-23 2004-09-27 Metodo para reconstruccion de paquete perdido y dispositivo para llevar a cabo dicho metodo.

Country Status (13)

Country Link
US (1) US7716559B2 (es)
EP (1) EP1676389B1 (es)
JP (1) JP4658948B2 (es)
KR (1) KR101118194B1 (es)
CN (1) CN1871803B (es)
BR (1) BRPI0415572B1 (es)
CA (1) CA2543349C (es)
ES (1) ES2713264T3 (es)
FR (1) FR2861517B1 (es)
MX (1) MXPA06004392A (es)
PL (1) PL1676389T3 (es)
TR (1) TR201902906T4 (es)
WO (1) WO2005041466A1 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2103026B1 (en) 2006-12-21 2014-02-26 Thomson Licensing A method to support forward error correction for real-time audio and video data over internet protocol networks
US7957307B2 (en) * 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
CN101296055B (zh) * 2007-04-29 2013-01-09 华为技术有限公司 数据包收发方法及装置
JP4434242B2 (ja) 2007-07-11 2010-03-17 ソニー株式会社 送信装置、受信装置、誤り訂正システム、送信方法及び誤り訂正方法
US9564988B2 (en) * 2007-07-26 2017-02-07 The Directv Group, Inc. Method and system for forming a formatted content stream and using a cyclic redundancy check
JP2009206608A (ja) * 2008-02-26 2009-09-10 Nec Engineering Ltd 通信装置
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
JP5256915B2 (ja) * 2008-07-31 2013-08-07 沖電気工業株式会社 Fecデータ生成方法及びfecデータ生成装置
JP5135121B2 (ja) * 2008-08-22 2013-01-30 株式会社東芝 データ受信装置、データ受信方法、及びデータ受信プログラム
EP2194667B1 (en) * 2008-12-03 2017-03-15 Alcatel Lucent Error control on-demand
JP5412917B2 (ja) * 2009-03-27 2014-02-12 富士通株式会社 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム
KR20120137198A (ko) * 2011-06-11 2012-12-20 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
CN105610552A (zh) * 2011-07-08 2016-05-25 三星电子株式会社 用于在多媒体系统中执行前向纠错编码的装置及方法
US8972815B1 (en) * 2012-03-20 2015-03-03 Xilinx, Inc. Recovery of media datagrams
JP2013085293A (ja) * 2013-01-11 2013-05-09 Thomson Licensing インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法
WO2016009902A1 (ja) * 2014-07-18 2016-01-21 ソニー株式会社 受信装置、受信方法およびコンピュータプログラム
US9559805B2 (en) * 2014-11-03 2017-01-31 Cisco Technology, Inc. Self-describing error correction of consolidated media content
US10484871B2 (en) * 2016-03-18 2019-11-19 Shenzhen Skyworth-Rgb Electronic Co., Ltd. Method and device for transmitting verification information
US10003434B2 (en) 2016-04-08 2018-06-19 Cisco Technology, Inc. Efficient error correction that aggregates different media into encoded container packets

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU544259B2 (en) 1980-04-16 1985-05-23 Sony Corporation Detecting + correcting errors in digital video signals
GB2095440B (en) 1981-03-23 1985-10-09 Sony Corp Digital television signal processing
US4417339A (en) 1981-06-22 1983-11-22 Burroughs Corporation Fault tolerant error correction circuit
KR850003096Y1 (en) 1984-03-15 1985-12-23 Kang Chi Won A basketball goal-adjusting device
JPS60244693A (ja) 1984-05-17 1985-12-04 Nippon Kokan Kk <Nkk> 氷海船舶の係留方法
JPH061605B2 (ja) 1985-02-08 1994-01-05 株式会社日立製作所 デイジタル信号記録伝送方法
US4660202A (en) * 1985-04-29 1987-04-21 Zenith Electronics Corporation Error protection method for packeted data
JPS62177768A (ja) 1986-01-31 1987-08-04 Sony Corp エラ−訂正装置
JPS62234426A (ja) 1986-04-04 1987-10-14 Sony Corp エラ−訂正方法
US4833679A (en) 1987-08-31 1989-05-23 International Business Machines Corporation Method and apparatus with improved error correction and error information availability
JPH03141752A (ja) 1989-10-27 1991-06-17 Hitachi Ltd 画像信号伝送方法
US5392299A (en) 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5590636A (en) 1992-09-01 1997-01-07 Mazda Motor Corporation Vehicle slip control system
KR950002304B1 (ko) 1992-10-07 1995-03-16 삼성전자주식회사 다중 오류정정 방법
JPH06181471A (ja) * 1992-12-14 1994-06-28 Nippon Telegr & Teleph Corp <Ntt> 非同期転送モードの伝達方式
AU665716B2 (en) 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
US5412667A (en) 1993-07-08 1995-05-02 Commodore Electronics Limited Decoder for cross interleaved error correcting encoded data
US5475716A (en) 1994-01-18 1995-12-12 Gi Corporation Method for communicating block coded digital data with associated synchronization/control data
US5694262A (en) 1994-01-31 1997-12-02 Fujitsu Ltd. Method and apparatus for transferring data and making on-the-fly correction of errors
JPH07312030A (ja) 1994-05-18 1995-11-28 Fujitsu Ltd ディスク装置のデータ転送回路
US5615222A (en) * 1994-02-04 1997-03-25 Pacific Communication Sciences, Inc. ADPCM coding and decoding techniques for personal communication systems
US5559506A (en) 1994-05-04 1996-09-24 Motorola, Inc. Method and apparatus for encoding and decoding a digital radio signal
JPH08204583A (ja) * 1995-01-20 1996-08-09 Sanyo Electric Co Ltd ディジタル信号の処理方法および処理装置
US5699062A (en) 1995-02-01 1997-12-16 International Business Machines Corporation Transmission code having local parity
US5677918A (en) 1995-07-28 1997-10-14 Motorola, Inc. Method and device for efficient error correction in a packet-switched communication system
US5844918A (en) 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
FR2753026B1 (fr) 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
US5944843A (en) 1997-08-21 1999-08-31 Hewlett-Packard Company Method and apparatus for using the unused bits of a data packet to transmit additional information
US6785733B1 (en) 1997-09-05 2004-08-31 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
JP4109735B2 (ja) 1997-09-05 2008-07-02 株式会社日立製作所 パケット変換方法、伝送方法、mpegプロトコルとipの変換方法、catvシステム、プロトコル変換方法およびパケット送信方法
JPH11196072A (ja) 1997-12-30 1999-07-21 Sony Corp 誤り訂正符号化方法及びその装置並びにデータ伝送方法
JP3045715B2 (ja) 1998-01-23 2000-05-29 松下電器産業株式会社 伝送システム、送信装置、記録再生装置、および記録装置
JP2000187940A (ja) 1998-01-23 2000-07-04 Matsushita Electric Ind Co Ltd 記録再生装置、および記録装置
JP3413759B2 (ja) 1998-07-17 2003-06-09 株式会社ケンウッド Bsディジタル放送受信機
GB9821518D0 (en) 1998-10-02 1998-11-25 Sony Uk Ltd Digital signal processing and signal format
JP2000165438A (ja) 1998-11-20 2000-06-16 Sony Corp ディジタル信号の通信方法及び装置、並びに通信システム
CN1137388C (zh) 1999-05-18 2004-02-04 刘英彰 直流电子负载模拟装置
JP2000349792A (ja) 1999-06-02 2000-12-15 Toshiba Corp データ伝送装置
EP1059757A1 (fr) 1999-06-11 2000-12-13 Alcatel Procédé de codage par blocs d'une cellule ATM utilisant un code produit
US7020327B2 (en) * 2000-05-09 2006-03-28 Colorzip Media, Inc. Machine readable code image and method of encoding and decoding the same
EP1223578A3 (en) * 2000-12-12 2008-07-16 Kabushiki Kaisha Toshiba Data processing method using error-correcting code and an apparatus using the same method
US7389463B2 (en) 2001-05-29 2008-06-17 Thomson Licensing Hierarchical block coding for a packet-based communications system
US6745364B2 (en) * 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
US7020823B2 (en) * 2002-03-19 2006-03-28 Matsushita Electric Industrial Co., Ltd. Error resilient coding, storage, and transmission of digital multimedia data

Also Published As

Publication number Publication date
BRPI0415572B1 (pt) 2018-02-06
CN1871803B (zh) 2010-10-13
BRPI0415572A (pt) 2007-01-02
FR2861517A1 (fr) 2005-04-29
FR2861517B1 (fr) 2006-01-27
CA2543349C (en) 2014-12-09
CN1871803A (zh) 2006-11-29
US7716559B2 (en) 2010-05-11
KR20060091055A (ko) 2006-08-17
KR101118194B1 (ko) 2012-03-16
EP1676389B1 (fr) 2018-11-28
WO2005041466A1 (fr) 2005-05-06
JP4658948B2 (ja) 2011-03-23
JP2007509557A (ja) 2007-04-12
CA2543349A1 (en) 2005-05-06
EP1676389A1 (fr) 2006-07-05
US20070124651A1 (en) 2007-05-31
ES2713264T3 (es) 2019-05-20
PL1676389T3 (pl) 2019-05-31
TR201902906T4 (tr) 2019-03-21

Similar Documents

Publication Publication Date Title
MXPA06004392A (es) Metodo para reconstruccion de paquete perdido y dispositivo para llevar a cabo dicho metodo.
JP4785836B2 (ja) デジタルデータパケットを伝送する方法および該方法を実装する装置
US7409627B2 (en) Method for transmitting and receiving variable length packets based on forward error correction (FEC) coding
US8990663B2 (en) Method to support forward error correction for real-time audio and video data over internet protocol networks
US6609223B1 (en) Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
US6516435B1 (en) Code transmission scheme for communication system using error correcting codes
JP3571918B2 (ja) 符号伝送方法、送信装置、受信装置および通信システム
Shi et al. Integration of Reed-Solomon codes to licklider transmission protocol (LTP) for space DTN
EP1512228A1 (en) Forward error correction method and system for reliable transmission of real time data over a packet based networks
US20020159454A1 (en) Method of protecting data packets against errors
CN110099086B (zh) 一种基于融合传输系统的数据传输方法
RU2001132150A (ru) Способ и устройство для передачи и приема мультимедийных данных
CN102239658B (zh) 按需差错控制
US6697996B2 (en) Multi-dimensional packet recovery system and method
CN102752184A (zh) 用于实时多播业务的数据通信系统及其方法
EP1758254A1 (en) Improved erasure correction scheme based on XOR operations for packet transmission
US7100078B1 (en) Method and apparatus for restoration of lost blocks in a multicast data transmission
JP2006217530A (ja) データ伝送システム、送信側端末装置、受信側端末装置、データ送信プログラム及びデータ受信プログラム
EP1655844B1 (en) Method of transmitting digital data packets and apparatus implementing the method
US6981194B1 (en) Method and apparatus for encoding error correction data
WO2022224243A1 (en) Streaming media communication with forward error correction

Legal Events

Date Code Title Description
FG Grant or registration