Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD BASED ON ERROR CORRECTOR CODES, APPLICABLE TO A VARIABLE RATE MULTIMEDIA DATASTREAM
Document Type and Number:
WIPO Patent Application WO/2009/004248
Kind Code:
A1
Abstract:
The present invention relates to a method for creating a correction matrix for errors in transmitting multimedia data packets at non-constant rate between a sender terminal and at least one receiver terminal, said multimedia data packets constituting elements of said correction matrix. Such a method of creating a correction matrix is particular in that the correction matrix has dimensions which are determined as a function of a maximum rate of said multimedia data packets at the input of said sender terminal, and in that said multimedia data packets are arrayed in the correction matrix at regular time intervals, an absence of a multimedia data packet noted for a given time interval being represented in said correction matrix by a void.

Inventors:
RIGAUDEAU SERGE (FR)
CRESTEL JEROME (FR)
Application Number:
PCT/FR2008/051086
Publication Date:
January 08, 2009
Filing Date:
June 18, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
RIGAUDEAU SERGE (FR)
CRESTEL JEROME (FR)
International Classes:
H04L1/00; H03M13/07
Domestic Patent References:
WO2001039505A22001-05-31
Foreign References:
US20070064707A12007-03-22
Other References:
MOCHIZUKI K ET AL: "FORWARD ERROR CORRECTION FOR VISUAL COMMUNICATION SYSTEMS USING VBR CODEC", IEICE TRANSACTIONS ON COMMUNICATIONS, COMMUNICATIONS SOCIETY, TOKYO, JP, vol. E89B, no. 2, February 2006 (2006-02-01), pages 334 - 341, XP001240999, ISSN: 0916-8516
"Pro-MPEG Code of Practice #3", INTERNET CITATION, 3 April 2003 (2003-04-03), XP002308517, Retrieved from the Internet [retrieved on 20041201]
Attorney, Agent or Firm:
FRANCE TELECOM/FTR & D/PIV/BREVETS (38-40 rue du Général Leclerc, Issy Moulineaux Cédex 9, FR)
Download PDF:
Claims:

REVENDICATIONS

1. Procédé de création d'une matrice de correction d'erreurs de transmission de paquets de données multimédia à débit non constant entre un terminal émetteur et au moins un terminal récepteur, lesdits paquets de données multimédia constituant des éléments de ladite matrice de correction, caractérisé en ce que la matrice de correction a des dimensions qui sont déterminées en fonction d'un débit maximal desdits paquets de données multimédia en entrée dudit terminal émetteur, et en ce que lesdits paquets de données multimédia sont rangés dans la matrice de correction à intervalles de temps réguliers, une absence de paquet de données multimédia constatée pour un intervalle de temps donné étant représentée dans ladite matrice de correction par un emplacement vide.

2. Procédé de création d'une matrice de correction selon la revendication 1 , ledit procédé comprenant une étape de génération de paquets de données de correction à partir desdits paquets de données multimédia rangés dans ladite matrice de correction, caractérisé en ce qu'il comporte une étape d'émission d'au moins un message comportant au moins un desdits paquets de données de correction et une indication sur les emplacements vides et une indication sur l'emplacement desdits paquets de données multimédia dans la matrice de correction.

3. Procédé de création d'une matrice de correction selon la revendication 1 , ledit procédé comprenant une étape de génération de paquets de données de correction à partir desdits paquets de données multimédia rangés dans ladite matrice de correction, caractérisé en ce qu'il comporte une étape d'émission d'au moins un premier message comportant au moins un desdits paquets de données de correction et une indication sur les emplacements vides dans la matrice de correction et une étape d'émission d'au moins un deuxième message comprenant au moins un desdits paquets de données multimédia et une indication sur l'emplacement dudit au moins un paquets de données multimédia dans la matrice de correction. 4. Procédé de création d'une matrice de correction selon l'une quelconque des revendications 1 à 3 caractérisé en ce que lorsque plusieurs paquets de données

multimédia sont émis dans un même intervalle temporel, lesdits paquets de données multimédia sont rangés simultanément dans des emplacements adjacents de la matrice de correction.

5. Procédé de reconstitution d'une matrice de correction d'erreurs de transmission de paquets de données multimédia à débit non constant entre un terminal émetteur et au moins un terminal récepteur, ledit procédé comportant une étape de rangement desdits paquets de données multimédia de sorte à reconstituer ladite matrice de correction, caractérisé en ce que ledit procédé comprend, préalablement à l'étape de rangement, une étape de réception par ledit terminal récepteur d'au moins un message comprenant une indication sur l'emplacement des paquets de données multimédia et une indication sur des emplacements vides correspondant à une absence de paquets de données multimédia dans la matrice de correction.

6. Procédé de reconstitution selon la revendication 5, caractérisé en ce que ledit message reçu comporte également au moins un paquet de données de correction, ledit paquet de données de correction étant généré à partir des paquets de données multimédia émis par le terminal émetteur.

7. Procédé de reconstitution selon la revendication 5, caractérisé en ce que lors de l'étape de réception, le terminal récepteur reçoit un premier message comportant au moins un paquet de données de correction, ledit paquet de données de correction étant généré à partir des paquets de données multimédia émis par le terminal émetteur, et une indication sur les emplacements vides dans la matrice de correction, et un deuxième message comprenant au moins un desdits paquets de données multimédia et une indication sur l'emplacement dudit au moins un paquets de données multimédia dans la matrice de correction.

8. Terminal émetteur de paquets de données multimédia à débit non constant, ledit terminal émetteur comportant des moyens de création d'une matrice de correction d'erreurs de transmission des paquets de données multimédia entre ledit terminal émetteur et au moins un terminal récepteur, lesdits paquets de données multimédia constituant des éléments de ladite matrice de correction, caractérisé en ce que ledit terminal comporte, en outre, des moyens de détermination des dimensions de la matrice de correction en fonction d'un débit maximal desdits

paquets de données multimédia, et des moyens de rangement desdits paquets de données multimédia dans la matrice de correction à intervalles de temps réguliers, l'absence de paquets de données se traduisant par un emplacement vide dans ladite matrice de correction. 9. Terminal émetteur selon la revendication 8, ledit terminal comprenant des moyens de génération de paquets de données de correction à partir desdits paquets de données multimédia rangés dans ladite matrice de correction, caractérisé en ce qu'il comporte des moyens d'émission d'au moins un message comportant au moins un desdits paquets de données de correction et une indication sur les emplacements vides et une indication sur l'emplacement desdits paquets de données multimédia dans la matrice de correction.

10. Terminal émetteur selon la revendication 8, ledit terminal comprenant des moyens de génération de paquets de données de correction à partir desdits paquets de données multimédia rangés dans ladite matrice de correction, caractérisé en ce qu'il comporte des moyens d'émission d'au moins un premier message comportant au moins un desdits paquets de données de correction et une indication sur les emplacements vides dans la matrice de correction et des moyens d'émission d'au moins un deuxième message comprenant au moins un desdits paquets de données multimédia et une indication sur l'emplacement dudit au moins un paquets de données multimédia dans la matrice de correction.

1 1 . Terminal récepteur de paquets de données multimédia à débit non constant, ledit terminal récepteur comportant des moyens de reconstitution d'une matrice de correction d'erreurs de transmission desdits paquets de données multimédia entre un terminal émetteur et ledit terminal récepteur, ledit terminal récepteur comportant également des moyens de rangement desdits paquets de données multimédia de sorte à reconstituer ladite matrice de correction, caractérisé en ce que ledit terminal récepteur comporte des moyens de réception d'au moins un message comprenant une indication sur l'emplacement des paquets de données multimédia, et une indication sur des emplacements vides correspondant à une absence de paquets de données multimédia dans la matrice de correction.

12. Terminal de réception selon la revendication 1 1 , caractérisé en ce qu'il comporte des moyens de réception d'un premier message comportant au moins un

paquet de données de correction, ledit paquet de données de correction étant généré à partir des paquets de données multimédia émis par le terminal émetteur, et une indication sur les emplacements vides dans la matrice de correction, et des moyens de réception d'un deuxième message comprenant au moins un desdits paquets de données multimédia et une indication sur l'emplacement dudit au moins un paquets de données multimédia dans la matrice de correction.

13. Signal destiné à être transmis entre un terminal émetteur et au moins un terminal récepteur, caractérisé en ce qu'il est porteur d'un message comportant une indication sur un emplacement d'éléments et une indication sur des emplacements vides correspondant à une absence d'éléments dans une matrice de correction d'erreurs de la transmission de paquets de données multimédia à débit non constant entre le terminal émetteur et le terminal récepteur, lesdits paquets de données multimédia constituant les éléments de ladite matrice de correction.

14. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de création d'une matrice de correction d'erreurs de transmission de paquets de données multimédia à débit non constant entre un terminal émetteur et au moins un terminal récepteur selon l'une quelconque des revendications 1 à 4 lorsque ledit programme est exécuté par un processeur.

15. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de reconstitution d'une matrice de correction d'erreurs de transmission de paquets de données multimédia à débit non constant entre un terminal émetteur et au moins un terminal récepteur selon l'une quelconque des revendication 5 à 7 lorsque ledit programme est exécuté par un processeur.

Description:

METHODE A BASE DE CODES CORRECTEURS D' ERREURS APPLICABLE A UN FLUX DE DONNEES MULTIMEDIA A DEBIT VARIABLE

L'invention se situe dans le domaine des télécommunications, et plus particulièrement dans le domaine de la transmission de flux de données multimédia.

Dans un réseau de communication de type paquets, tel qu'un réseau IP (Internet Protocol, ou protocole internet) par exemple, la transmission de flux de données multimédia, se présentant sous la forme de paquets de données multimédia, entre un terminal émetteur d'un flux de données multimédia et un ou plusieurs terminaux récepteurs peut être altérée en cas de dysfonctionnement d'équipements appartenant au réseau (tels que des routeurs), de parasitage de la transmission, etc. Cette altération se traduit par la perte d'un ou plusieurs paquets de données multimédia échangés entre le terminal émetteur et le terminal récepteur, perte qui entraîne une dégradation de la qualité de service.

Il est connu un mécanisme de correction d'erreurs intervenant lors de la transmission de paquets de données multimédia, qui régénère au niveau du terminal récepteur des paquets de données multimédia perdus a l'aide de paquets de données de correction. C'est la technique dite de correction d'erreurs ou Forward Error Correction (FEC). Un exemple de mise en œuvre d'une telle technique est défini dans le document Code of Practise /3 release 2 du Pro MPEG (Moving Picture Experts Group, ou groupe d'experts pour le codage d'images animées) Forum.

Un tel mécanisme est notamment utilisé lorsque le terminal récepteur est privé de voie de communication retour avec le terminal émetteur. En effet, dans ce cas l'utilisation d'un protocole de retransmission tel que les protocoles TCP/IP (Transmission Control Protocol/Internet Protocol, ou protocole de contrôle de transmission/protocole internet en français) ou RTP/RTCP (Real-time Transport Protocol/Real-time Transport Control Protocol, ou protocole de transport en temps- réel/protocole de contrôle de transport en temps-réel en français) est impossible. Dans une telle configuration, en effet, le terminal récepteur ne peut pas informer le terminal émetteur de la non-réception de certains paquets de données

multimédia, interdisant ainsi toute réémission des paquets perdus. C'est le cas de flux de paquets de données multimédia diffusés à destination d'une pluralité de terminaux récepteurs aptes à les recevoir, un exemple peut être les flux TNT (Télévision Numérique Terrestre). Une méthode à base de codes correcteurs d'erreurs telle que celle proposée par le Pro MPEG Forum consiste, au niveau du terminal émetteur, à créer une matrice de correction d'erreurs de transmission. Les paquets de données multimédia sont rangés dans la matrice de correction au fur et à mesure de leur génération, chaque paquet de données multimédia étant identifié par un numéro de séquence stocké dans son entête RTP. Deux paquets de données multimédia générés consécutivement, et donc adjacents dans la matrice de correction, sont identifiés par deux numéros de séquences consécutifs.

Une fois la matrice de correction complétée, des paquets de données de correction sont générés à partir de groupes de paquets de données multimédia. De tels groupes correspondent, par exemple, à des paquets de données multimédia constituant des lignes ou des colonnes de la matrice de correction.

Les paquets de données de correction ainsi générés forment une redondance des données des paquets de données multimédia constituant les groupes de paquets de données multimédia à partir desquels ils sont générés. De tels paquets de données de corrections comportent également des informations permettant de reconstituer la matrice de correction au niveau du terminal récepteur.

Les paquets de données multimédia et les paquets de données de correction sont ensuite émis à destination du ou des terminaux récepteurs. Ces deux types de paquets de données font l'objet de flux de données différents afin de permettre à des terminaux récepteurs qui ne sont pas aptes à mettre en œuvre cette méthode à base de correcteur d'erreur de pouvoir tout de même exploiter le flux de paquets de données multimédia.

Il est donc nécessaire de réserver de la bande passante supplémentaire afin d'assurer l'acheminement des paquets de données de correction, le flux de ces paquets générant un sur-débit.

Un tel sur-débit est fixé en fonction de la taille de la matrice de correction. Le sur-débit engendré par le flux de paquets de données de correction est défini par le ratio entre le nombre de paquets de données multimédia constituant la matrice de correction et les paquets de données de correction associés à cette même matrice de correction. Les dimensions de la matrice de correction étant fixes, la valeur du surdébit est constante.

A réception des paquets de données multimédia et des paquets de données de correction, le terminal récepteur reconstitue la matrice de correction. Chaque paquet de données multimédia reçu est rangé dans la matrice de correction ainsi reconstituée à l'emplacement qui était le sien dans la matrice de correction d'origine au moyen de son numéro de séquence et d'informations supplémentaires contenues dans les paquets de données de correction.

La perte d'un paquet de données multimédia se traduit dans la matrice de correction reconstituée par un emplacement vide là où devrait se trouver le paquet de donnés multimédia perdu. Le paquet de données multimédia perdu est reconstruit à l'aide d'un ou plusieurs paquets de données de correction correspondants à la ligne et/ou la colonne de la matrice de correction d'origine à laquelle appartient le paquet de données multimédia perdu.

Une telle méthode s'applique principalement à des flux de paquets de données multimédia à débit constant ou CBR (Constant Bit Rate). Le débit du flux de paquets de données multimédia étant constant, les dimensions de la matrice de correction, définies en fonction de ce débit, sont constantes, la matrice de correction est par conséquent une matrice de taille fixe. Dans un tel cas de figure, la durée nécessaire pour générer les paquets de données de correction, durée qui correspond à la durée nécessaire pour compléter la matrice de correction, et pour réaliser la correction du flux de paquets de données multimédia reçu par le terminal récepteur est constante. De même, la latence introduite par l'application de cette méthode pour corriger un flux de données multimédia est constante. Le nombre maximum de paquets de données multimédia perdus présentant des numéros de séquence consécutifs qui peut être corrigé par application de cette méthode est également constant.

Lorsque la méthode à base de codes correcteurs d'erreur est appliquée à des flux de données multimédia à débit non constant ou VBR ( Variable Bite Rate), les dimensions de la matrice de correction sont déterminées en fonction du débit moyen du flux de paquet de données multimédia par exemple. Les dimensions de la matrice de correction restent alors fixes jusqu'à la fin de la transmission du flux de paquets de données multimédia. De même, la valeur du sur-débit engendré par le flux de paquets de données de correction est constante.

Lorsque le débit du flux de paquets de données multimédia varie, la matrice de correction est, dans la plupart des cas, soit sous-dimensionnée soit surdimensionnée par rapport à la valeur effective du débit du flux de paquets de données multimédia.

Dans le cas de figure où la matrice de correction est sous-dimensionnée par rapport au débit du flux de paquets de données multimédia, le nombre de lignes de la matrice est inférieur au nombre maximum de paquets de données multimédia générés consécutivement qui doivent pouvoir être corrigés pour un tel débit de flux de paquets de données multimédia. Ainsi lorsque un nombre de paquet de données multimédia est égal au nombre maximum de paquets de données multimédia générés consécutivement pouvant être corrigés, ces paquets de données multimédia occupent plus d'une ligne de la matrice de correction. Si tous ces paquets de données multimédia sont perdus lors de la transmission, comme ils occupent plus d'une ligne de la matrice de correction, certaines colonnes de la matrice de correction présentent plus d'un emplacement vide. Il devient alors impossible pour ces colonnes de régénérer les paquets de données multimédia perdus à l'aide des paquets de données de correction.

Ceci entraîne une perte d'efficacité de la correction appliquée en vue de régénérer les paquets de données multimédia perdus lors de la transmission puisqu'il n'est pas possible de tous les régénérer.

Dans le cas de figure où la matrice de correction est sur-dimensionnée par rapport au débit du flux de paquets de données multimédia, la durée de remplissage d'une matrice est plus longue que si les dimensions de la matrice de correction étaient adaptées au débit du flux de paquets de données multimédia. Ainsi le temps nécessaire à l'application de la méthode à base de codes correcteur d'erreur est,

dans la plupart des cas, beaucoup plus long avec une matrice surdimensionnée qu'avec une matrice adaptée au débit du flux de paquets de données multimédia.

Cette augmentation du temps nécessaire à l'application de la méthode à base de codes correcteur d'erreur est incompatible avec les exigences de qualité de service des services de diffusion de flux de données audiovisuelles, tel que le délai nécessaire à un usager recevant les flux de paquets de données multimédia pour passer d'un flux à un autre.

Ainsi, il apparaît que l'application de la méthode à base de codes correcteurs d'erreur à un flux de données multimédia à débit non constant entraîne perte d'efficacité de correction et une augmentation des délais de traitement qui sont préjudiciables à la qualité du service délivré aux usagers recevant les flux de paquets de données multimédia. De tels inconvénients rendent impropre l'utilisation de cette méthode à la correction de flux de paquets de données multimédia à débit non constant. La diffusion de flux de paquets de données multimédia à débit non constant tendant à ce développer, il existe par conséquent un besoin grandissant des opérateurs en télécommunications pour une méthode à base de codes correcteurs d'erreurs permettant le traitement de flux de données multimédia à débit non constant qui ne présente pas de tels inconvénients. L'invention répond à ce besoin en proposant un procédé de création d'une matrice de correction d'erreurs de transmission de paquets de données multimédia à débit non constant entre un terminal émetteur et au moins un terminal récepteur, lesdits paquets de données multimédia constituant des éléments de ladite matrice de correction. Un tel procédé de création d'une matrice de correction d'erreurs de transmission est particulier en ce que la matrice de correction a des dimensions qui sont déterminées en fonction d'un débit maximal desdits paquets de données multimédia en entrée dudit terminal émetteur, et en ce que lesdits paquets de données multimédia sont rangés dans la matrice de correction à intervalles de temps réguliers, une absence de paquet de données multimédia constatée pour un intervalle de temps donné étant représentée dans ladite matrice de correction par un emplacement vide.

En dimensionnant la matrice de correction en fonction du débit maximal que peuvent atteindre les paquets de données multimédia en entrée du terminal émetteur, de sorte que celle-ci présente une taille fixe quel que soit le débit effectif des paquets de données multimédia, on s'assure de pouvoir traiter tous les paquets de données multimédia à émettre. Les paquets de données multimédia sont générés par un dispositif d'émission, tel qu'un encodeur de flux vidéo. La sortie de ce dispositif d'émission du flux de paquets de données multimédia est connectée en entrée du terminal émetteur.

Afin de prendre en compte les fluctuations de débit, les paquets de données multimédia sont rangés dans la matrice à intervalles de temps réguliers. La durée de cet intervalle de temps doit être inférieure ou égal à la durée séparant la réception par le terminal récepteur de deux paquets de données multimédia émis consécutivement par le dispositif d'émission lorsque le débit en entrée du terminal émetteur est maximal. Ainsi, à chaque intervalle de temps un paquet de données multimédia est rangé dans la matrice de correction. Si au cours d'un intervalle de temps, aucun paquet de données multimédia n'est généré, l'emplacement prévu dans la matrice de correction pour ce paquet de données multimédia est laissé vide. On procède ainsi jusqu'à remplissage complet de la matrice de correction. La matrice de correction ainsi obtenue est dite « matrice à trous » car l'absence de paquets de données multimédia se traduit par un vide dans la matrice de correction.

En dimensionnant la matrice en fonction du débit maximal des paquets de données multimédia et en prenant en compte les variations de ce débit lors de la création de la matrice, tout se passe comme si le flux de paquets de données traités avait un débit constant. Un tel procédé permet, par conséquent, d'appliquer la méthode des codes correcteurs d'erreurs à un flux de paquets de données multimédia à débit non constant sans être confronté aux inconvénients de l'art antérieur.

Selon une particularité du procédé de création objet de l'invention, celui-ci comprend une étape de génération de paquets de données de correction à partir desdits paquets de données multimédia rangés dans ladite matrice de correction, et une étape d'émission d'au moins un message comportant au moins un desdits paquets de données de correction et une indication sur les emplacements vides et une indication sur l'emplacement desdits paquets de données multimédia dans la matrice de correction.

Un tel message est constitué d'un ou plusieurs paquets de données de correction. Les indications sur l'emplacement des emplacements vides dans la matrice de correction ainsi que les indications sur l'emplacement des paquets de données multimédia dans la matrice de correction sont contenues dans l'entête des paquets de données de correction constituant le deuxième message.

Selon une particularité du procédé de création objet de l'invention, celui-ci comprend une étape de génération de paquets de données de correction à partir desdits paquets de données multimédia rangés dans ladite matrice de correction, une étape d'émission d'au moins un premier message comportant au moins un desdits paquets de données de correction et une indication sur les emplacements vides dans la matrice de correction et une étape d'émission d'au moins un deuxième message comprenant au moins un desdits paquets de données multimédia et une indication sur l'emplacement dudit au moins un paquets de données multimédia dans la matrice de correction. Un tel deuxième message est constitué d'un ou plusieurs paquets de données multimédia. Les indications sur l'emplacement des paquets de données multimédia dans la matrice de correction sont contenues dans l'entête des paquets de ces données multimédia.

Dans ce mode de réalisation, le premier message ne comporte plus que les paquets de données de correction et les indications sur l'emplacement des emplacements vides dans la matrice de correction.

La mise en œuvre de ce mode de réalisation entraîne une modification de l'entête RTP des paquets de données multimédia.

Selon une autre particularité du procédé de création d'une matrice de correction objet de l'invention, lorsque plusieurs paquets de données multimédia sont émis dans un même intervalle temporel, lesdits paquets de données multimédia sont rangés simultanément dans des emplacements adjacents de la matrice de correction.

Cette caractéristique permet de gérer l'émission en rafale de paquets de données multimédia. Une telle situation se présente lors d'une variation soudaine du débit des paquets de données multimédia.

L'invention concerne également un procédé de reconstitution d'une matrice de

correction d'erreurs de transmission de paquets de données multimédia à débit non constant entre un terminal émetteur et au moins un terminal récepteur, ledit procédé comportant une étape de rangement desdits paquets de données multimédia de sorte à reconstituer ladite matrice de correction. Un tel procédé de reconstitution d'une matrice de correction comprend, préalablement à l'étape de rangement, une étape de réception par ledit terminal récepteur d'au moins un message comprenant une indication sur l'emplacement des paquets de données multimédia et une indication sur des emplacements vides correspondant à une absence de paquets de données multimédia dans la matrice de correction.

Selon une particularité du procédé de reconstitution objet de l'invention, ledit message reçu comporte également au moins un paquet de données de correction, ledit paquet de données de correction étant généré à partir des paquets de données multimédia émis par le terminal émetteur. Selon une autre particularité du procédé de reconstitution objet de l'invention, lors de l'étape de réception, le terminal récepteur reçoit un premier message comportant au moins un paquet de données de correction, ledit paquet de données de correction étant généré à partir des paquets de données multimédia émis par le terminal émetteur, et une indication sur les emplacements vides dans la matrice de correction, et un deuxième message comprenant au moins un desdits paquets de données multimédia et une indication sur l'emplacement dudit au moins un paquets de données multimédia dans la matrice de correction.

A l'aide des informations contenues dans le ou les messages, ainsi que des dimensions de la matrice de correction le terminal récepteur est capable de reconstituer la matrice de correction. Les dimensions de la matrice de correction sont connues du terminal récepteur par lecture de l'entête des paquets de données de corrections conformément à ce qui est défini dans le Code of Practise #3 release 2.

Une fois qu'il a identifié les éléments vides correspondant à des paquets de données multimédia perdus par détection d'une rupture de séquence dans les numéros de séquence identifiant les paquets de données multimédia et à l'aide des indications sur les emplacements vides, le terminal récepteur procède à leur reconstitution à l'aide des paquets de données de correction. On voit donc l'intérêt de

ces premier et deuxième messages émis suite à la création de la matrice de correction.

L'invention concerne également un terminal émetteur de paquets de données multimédia à débit non constant, ledit terminal émetteur comportant des moyens de création d'une matrice de correction d'erreurs de transmission des paquets de données multimédia entre ledit terminal émetteur et au moins un terminal récepteur, lesdits paquets de données multimédia constituant des éléments de ladite matrice de correction.

Un tel terminal émetteur est particulier en ce qu'il comporte, en outre, des moyens de détermination des dimensions de la matrice de correction en fonction d'un débit maximal desdits paquets de données multimédia, et des moyens de rangement desdits paquets de données multimédia dans la matrice de correction à intervalles de temps réguliers, l'absence de paquets de données se traduisant par un emplacement vide dans ladite matrice de correction. L'invention concerne également un terminal récepteur de paquets de données multimédia à débit non constant, ledit terminal récepteur comportant des moyens de reconstitution d'une matrice de correction d'erreurs de transmission desdits paquets de données multimédia entre un terminal émetteur et ledit terminal récepteur, ledit terminal récepteur comportant également des moyens de rangement desdits paquets de données multimédia de sorte à reconstituer ladite matrice de correction.

Un tel terminal récepteur est particulier en ce qu'il comporte, en outre, des moyens de réception d'au moins un premier message comprenant une indication sur l'emplacement des paquets de données multimédia, et une indication sur des emplacements vides correspondant à une absence de paquets de données multimédia dans la matrice de correction.

L'invention concerne encore un premier signal destiné à être transmis entre un terminal émetteur et au moins un terminal récepteur. Un tel premier signal est porteur d'un message comportant une indication sur un emplacement d'éléments et une indication sur des emplacements vides correspondant à une absence d'éléments dans une matrice de correction d'erreurs de la transmission de paquets de données multimédia à débit non constant entre le terminal émetteur et le terminal récepteur, lesdits paquets de données multimédia constituant les éléments de ladite matrice de

correction.

D'autres caractéristiques et avantages apparaîtront à la lecture de modes de réalisation préférés décrits en référence aux dessins dans lesquels :

- la figure 1 illustre de manière schématique un système de diffusion de flux de paquets de données multimédia dans lequel l'invention est mise en œuvre,

- la figure 2 décrit un algorithme de fonctionnement du procédé de création d'une matrice de correction selon l'invention,

- la figure 3 décrit un algorithme de fonctionnement du procédé de reconstitution d'une matrice de correction selon l'invention, - la figure 4 illustre schématiquement un terminal émetteur dans lequel l'invention est implémentée,

- la figure 5 illustre schématiquement un terminal récepteur dans lequel l'invention est implémentée.

La figure 1 représente un système de diffusion dans lequel l'invention est mise en œuvre. Sur cette figure, un terminal émetteur 1 diffuse des flux de paquets de données multimédia à débit non constant à destination d'une pluralité de terminaux récepteurs 2,, i e{1 , ..., N}, au travers d'un réseau de télécommunications R. Un tel réseau de télécommunications est un réseau de type paquets sans garantie d'acheminement, tel qu'un réseau IP, et peut être à support filaire, ou un réseau radiofréquence. Les terminaux récepteurs 2, sont connectés au réseau R au moyen d'un nœud d'accès NA, constitué par exemple par un DSLAM (Digital Subscriber Une

Access Multiplexer, ou multiplexeur d'accès pour ligne numérique d'abonné) lorsque des segments terminaux 1 O 1 , c'est à dire les segments reliant le nœud d'accès aux terminaux récepteurs 2,, utilisent une technologie xDSL (Digital Subscriber Une, ou ligne numérique d'abonné), pour offrir aux usagers une connexion haut débit. D'autres technologies peuvent être utilisées sur les segments terminaux telles que le WIFI ou encore Ethernet.

De telles technologies présentent une sensibilité aux bruits impulsifs ayant pour conséquence une perte des données transmises. Dans le cas d'un flux de paquets de données multimédia, la perte d'un paquet de données multimédia se traduit par une

dégradation de la qualité de service telle que par exemple une pixellisation de l'image lorsque les données contenues dans les paquets sont des données vidéo.

Afin de résoudre le problème de perte de paquets de données multimédia, le terminal émetteur 1 met en œuvre un procédé de création d'une matrice de correction d'erreurs de transmission M dont les éléments sont constitués par les paquets de données multimédia, rendant possible l'application de la méthode des codes correcteurs d'erreurs au traitement de paquets de données multimédia à débit non constant. Un tel procédé est décrit en référence à la figure 2.

Au cours d'une première étape E1 , les dimensions de la matrice de correction M, à savoir le nombre de lignes et le nombre de colonnes que celle-ci comprend, sont déterminées en fonction d'un débit maximal auquel les paquets de données multimédia peuvent être reçus en entrée du terminal émetteur 1. Une fois obtenues, les dimensions de la matrice de correction M sont fixes.

Au cours d'une étape E2, la valeur d'un intervalle de temps δt correspondant au plus au délai séparant la génération, par un dispositif d'émission (non représenté sur les figures) de deux paquets de données multimédia consécutifs lorsque le débit d'émission des paquets de données multimédia est maximal, est déterminée et mémorisée dans un compteur. La sortie du dispositif d'émission est connectée en entrée du terminal émetteur 1 de sorte que le débit d'émission des paquets de données multimédia est identique au débit des paquets de données multimédia en entrée du terminal émetteur 1.

Lorsque les dimensions de la matrice de correction M et la valeur de l'intervalle de temps δt ont été déterminées, une phase de création PH 1 de la matrice de correction est mise en œuvre. Cette phase regroupe les étapes E3 à E7, ainsi que les étapes E9 et E10.

Au cours de l'étape E3, la valeur indiquée par le compteur est testée. Si la valeur relevée est un multiple de la valeur de l'intervalle de temps δt alors, le procédé exécute l'étape E4, sinon, la valeur indiquée par le compteur est testée jusqu'à ce que celle-ci corresponde à un multiple de la valeur de l'intervalle de temps δt. Au cours de l'étape E4, des moyens de rangement de paquets de données multimédia appartenant au terminal émetteur 1 vérifient qu'au moins un paquet de

données multimédia est reçu par le terminal émetteur 1 . Si aucun paquet de données multimédia n'est reçu par le terminal émetteur 1 un emplacement vide est laissé dans la matrice de correction M, ceci correspond à l'étape E9.

Si au moins un paquet de données multimédia est reçu par le terminal émetteur 1 , les moyens de rangements du terminal émetteur 1 déterminent le nombre de paquets de données multimédia reçus depuis le dispositif d'émission. Si un seul paquet de données multimédia a été reçu, le procédé de création de la matrice de correction M exécute alors l'étape E6 au cours de laquelle le paquet de données multimédia reçus est rangé dans la matrice de correction M. Si plus d'un paquet de données multimédia est reçu, le procédé de création de la matrice de correction M exécute l'étape E10. Au cours de cette étape, les paquets de données ainsi reçus sont rangés à des emplacements adjacents dans la matrice de correction M.

Dans un premier mode de réalisation de l'invention, une fois le ou les paquets de données multimédia rangés dans la matrice de correction M, l'étape E7 est exécutée. Au cours de cette étape, une indication concernant l'emplacement des paquets de données multimédia dans la matrice de correction M est stockée dans l'entête des paquets de données multimédia.

La phase de création PH 1 de la matrice de correction est exécutée autant de fois que nécessaire pour remplir la matrice de correction M.

Un exemple de matrice de correction M de dimensions 4x4 obtenue conformément au précédé décrit précédemment est donné par :

M = Q 2 Q 3 P 4 Q 4

P 5 P 6 P 7

Q 5 P 9 Q 6 - 10

Où P j représente un paquet de données multimédia et Q m représente un emplacement vide tel que défini à l'étape E9.

Lorsqu'un paquet de données multimédia est généré par le dispositif d'émission, il se voit attribuer un numéro de séquence qui permet de l'identifier. Deux paquets de données multimédia émis consécutivement ont des numéros de

séquences qui se suivent.

Une fois la matrice de correction créée, des paquets de données de correction sont déterminés à partir de groupes de paquets de données multimédia. De tels groupes correspondent aux paquets de données multimédia constituant des lignes ou des colonnes de la matrice de correction M. L'appartenance d'un paquet de données à un groupe de données multimédia est vérifiée par son numéro de séquence.

Ainsi pour chaque ligne de la matrice de correction de données M, un opérateur logique est appliqué aux différents paquets de données multimédia. Le résultat ainsi obtenu constitue le paquet de données de correction correspondant à la ligne de la matrice traitée. Une telle opération est appliquée, dans un premier mode de réalisation de l'invention à toutes les lignes de la matrice de correction M. Dans un deuxième mode de réalisation, une telle opération est appliquée à toutes les colonnes de la matrice de correction M. Enfin dans un troisième mode de réalisation, cette opération est appliquée à toutes les lignes et à toutes les colonnes de la matrice de correction M.

Un exemple d'opérateur logique utilisé afin de générer les paquets de données de correction est l'opérateur OU exclusif ou XOR, représenté par le symbole θ et dont la table de vérité est :

Ainsi appliqué aux paquets de données multimédia Pi, P 2 et P 3 appartenant à la première ligne de la matrice de correction M l'opérateur OU exclusif permet d'obtenir le paquet de données de correction Di :

1101 1101 0011 0011 dans cet exemple d'application les paquets de données multimédia sont codés sur quatre bits.

L'association des paquets de données de correction avec les paquets de données multimédia correspondant peut être représentée de la manière suivante :

Q 2 Q 3 P 4 Q 4 D 2

M =

P 7 D 3

Q 5 Q 6 L 10

D', D', D', D'

Où D n représentent les paquets de données de correction associés aux n lignes de la matrice de correction d'erreurs M et D' p les paquets de données de corrections associés aux p colonnes de la matrice de correction d'erreurs M.

Une fois la matrice de correction d'erreurs M créée, et les paquets de données de correction générés, les paquets de données multimédia sont émis par le terminal émetteur 1 à destination d'une pluralité de terminaux récepteurs 2,. Ceci constitue un premier flux de données. Les paquets de données de correction sont émis

séparément par le terminal émetteur 1 , constituant ainsi un deuxième et/ou un troisième flux de données distinct du premier, selon le mode de réalisation mis en œuvre.

En effet, les paquets de données de correction correspondant aux lignes de la matrice de correction M et les paquets de données de correction correspondant aux colonnes de la matrice de correction M font l'objet de flux séparés. Chaque paquet de données de correction contient, stockées dans son en-tête, des indications sur les emplacements vides de la ligne ou de la colonne de la matrice de correction de données à laquelle il correspond. Dans ce mode de réalisation, les indications relatives à l'emplacement des paquets de données multimédia dans la matrice de correction sont stockées en-tête de ces paquets de données multimédia.

Dans un deuxième mode de réalisation de l'invention, les paquets de données de correction comportent également stockées dans leur en-tête des indications concernant l'emplacement des paquets de données multimédia dans la matrice de correction M, ces indications n'étant alors plus stockées en en-tête des paquets de données multimédia.

Dans le premier mode de réalisation, les indications relatives à l'emplacement des paquets de données multimédia contenues dans l'en-tête des paquets de données multimédia sont par exemple les coordonnées du paquet de données multimédia dans la matrice de correction, c'est-à-dire, un numéro de ligne et un numéro de colonne. Un autre exemple d'indication relative à l'emplacement d'un paquet de données multimédia dans la matrice de correction est le numéro de séquence du premier paquet de données multimédia de la ligne ou de la colonne de la matrice de correction et le nombre d'emplacements qui séparent le paquet de données multimédia du premier paquet de données multimédia de la ligne ou de la colonne.

Concernant les indications sur les emplacements vides contenues dans les paquets de données de correction, celles-ci sont par exemple des coordonnées dans la matrice de correction. Dans le deuxième mode de réalisation, les indications relatives à l'emplacement de paquets de données multimédia et aux emplacements vides dans la matrice de correction contenues dans l'en-tête des paquets de données de correction sont par exemple le numéro de séquence du premier paquet de données multimédia de la ligne ou de la colonne de la matrice de correction et une liste

ordonnée des numéros de séquence des paquets de données multimédia appartenant à la ligne ou à la colonne en fonction de leur position dans celle-ci. Dans cette liste ordonnée, les emplacements vides sont représentés par un nombre codé en hexadécimal, par exemple le nombre FF. Ainsi la présence du nombre FF entre deux numéros de séquence signifie que les deux paquets de données multimédia identifiés par ces numéros de séquence sont séparés par un emplacement vide dans la matrice de correction.

A réception des premier et deuxième et/ou troisième flux de données, un terminal récepteur 2, met en œuvre un procédé de reconstitution de la matrice de correction M.

En référence à la figure 3, au cours d'une étape F1 , le terminal récepteur 2, reçoit des paquets de données multimédia et les paquets de données de correction.

Au cours d'une étape F2, les paquets de données multimédia réceptionnés sont rangés dans une matrice M' qui est la reconstitution de la matrice de correction M créée par le terminal émetteur 1. Les paquets de données multimédia sont rangés dans la matrice reconstituée M' à l'aide des indications sur leur emplacement dans la matrice de correction M contenues dans leur en-tête ou dans l'entête des paquets de données de correction associés selon que le premier ou le deuxième de réalisation est mis en œuvre. A l'issue de cette étape on obtient une première version de la matrice reconstituée M' :

Les paquets de données de correction sont traités par le terminal récepteur 2, au cours d'une étape F3. Ces paquets de données de correction contiennent stockés dans leur en-tête des indications sur les emplacements vides des lignes et/ou des colonnes de la matrice de correction M.

Il est possible d'identifier les paquets de données multimédia perdus lors de la transmission des flux de données entre le terminal émetteur 1 et le terminal récepteur

2,, ainsi que leur emplacement dans la matrice de correction M à l'aide de leur numéro de séquence et des indications sur les emplacements vides.

Une fois les paquets de données multimédia perdus identifiés, la matrice reconstituée M' est complétée au cours d'une étape F4, de sorte qu'à l'issue de cette étape la matrice reconstituée M' définitive est obtenue et peut être représentée comme suit, toujours en référence à notre exemple :

P 1 P 2 Q 1 V

Q 2 Q 3 P 4 Q 4

M' =

V V - 1 S

Q 5 P 9 Q 6 v où V indique un emplacement ne correspondant pas à un emplacement vide de la matrice de correction M et pour lequel aucun paquet de données multimédia n'a été reçu.

Une fois les paquets de données multimédia perdus identifiés, les paquets de données de correction à utiliser pour régénérer l'information perdues sont à leur tour identifiés.

Afin de régénérer l'information perdue, un opérateur logique est appliqué aux différents paquets de données multimédia présents dans la matrice reconstituée M' et appartenant à la même ligne ou à la même colonne que le paquet de données multimédia perdu ainsi qu'au paquet de données de correction correspondant. L'opérateur logique utilisé est le même que celui qui a été utilisé pour générer le paquet de données de correction. Le résultat ainsi obtenu correspond au paquet de données multimédia perdu.

Reprenons l'exemple des paquets de données multimédia Pi , P 2 et P 3 appartenant à la première ligne de la matrice de correction M. On voit dans la matrice reconstituée M' que le paquet de données multimédia P 3 a été perdu lors de la transmission. Afin de régénérer les informations qu'il contient, on applique l'opérateur OU exclusif aux paquets de données multimédia Pi et P 2 , qui eux, ont été reçus par le terminal récepteur 2,, ainsi qu'au paquet de données de correction D1 correspondant à la première ligne de la matrice de correction M :

P 1 ® P 2 ® D 1 - P 3 1101 1101 0011 0011 "

En procédant ainsi pour chaque paquet de données multimédia perdu, il est possible de régénérer l'information perdue et ainsi assurer une qualité de service satisfaisante, sachant qu'un paquet de donnée de correction correspondant à une ligne de la matrice de correction M' ne peut corriger la perte que d'un élément de cette ligne et qu'un paquet de donnée de correction correspondant à une colonne de la matrice de correction M' ne peut corriger la perte que d'un élément de cette colonne.

Un terminal émetteur 1 de paquets de données multimédia mettant en œuvre le procédé de création d'une matrice de correction selon l'invention est représenté à la figure 4.

Un tel terminal émetteur 1 comporte des moyens 30 de détermination des dimensions de la matrice de correction M en fonction du débit maximal d'émission des paquets de données multimédia par le dispositif d'émission. Un tel terminal comporte également des moyens de détermination 31 de la valeur de l'intervalle de temps δt correspondant au délai séparant la génération de deux paquets de données multimédia consécutifs par le dispositif d'émission lorsque le débit d'émission des paquets de données multimédia par le dispositif d'émission est maximal. Cette valeur est dans un compteur 32. Les paquets de données multimédia ainsi reçus sont rangés dans la matrice de correction M à l'aide de moyens de rangement 34 tous les δt. Une fois créée la matrice de correction M, les paquets de données de correction sont générés par des moyens de génération de paquet de données de correction 35.

Les paquets de données multimédia et les paquets de données de correction sont ensuite émis à destination d'une pluralité de terminaux récepteurs 2, par des moyens d'émission 36 du terminal émetteur 1.

Un terminal récepteur 2, mettant en œuvre le procédé de reconstruction de la matrice de correction objet de l'invention est représenté à la figure 5. Un tel terminal récepteur 2, comporte des moyens de réception 40 aptes à recevoir les paquets de données multimédia et les paquets de données de correction émis par le terminal émetteur 1. Une fois réceptionnées, les paquets de données multimédia sont rangés dans une matrice reconstituée M' à l'aide de moyens de rangement 41. Ces moyens de rangement 41 positionnent les paquets de données multimédia dans la matrice reconstituée M' à partir d'indications sur l'emplacement des paquets de données

multimédia dans la matrice de correction M contenues dans l'en-tête des paquets de données multimédia ou dans l'en-tête des paquets de données de correction selon le mode de réalisation de l'invention mis en œuvre. Des moyens de détermination 42 permettent d'identifier, dans la matrice reconstituée M', les paquets de données multimédia perdus lors de la transmission. Des moyens de correction 43 du terminal récepteur 2, permettent de régénérer les paquets de données multimédia perdus à l'aide des paquets de données de correction correspondants.

Enfin, l'invention a aussi pour objet un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations ou mémoire, adapté à mettre en œuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter un procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.