Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR ENCODING DATA IN BURSTS
Document Type and Number:
WIPO Patent Application WO/2012/175589
Kind Code:
A1
Abstract:
The invention relates to a method for encoding data in a sequence of bursts (..., Bi-2, Bi-1, Bi, Bi+1,...), wherein each burst includes a block of data symbols and a block of redundancy symbols. The block of redundancy symbols (Ri) of the current burst (Bi) of the sequence is generated by the calculating the sum of a series of encoding values relating to a series of bursts (Bi-2, Bi-1), each encoding value from the series of encoding values being obtained by a respective encoding function applied to the block of data symbols of the burst corresponding to the series of bursts.

Inventors:
SMITH GUILLAUME (FR)
LACAN JEROME (FR)
CLARAC LAURENCE (FR)
Application Number:
PCT/EP2012/061923
Publication Date:
December 27, 2012
Filing Date:
June 21, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CENTRE NAT ETD SPATIALES (FR)
SMITH GUILLAUME (FR)
LACAN JEROME (FR)
CLARAC LAURENCE (FR)
International Classes:
H03M13/05; H04L1/00
Foreign References:
US5870412A1999-02-09
US20090006927A12009-01-01
US20100031121A12010-02-04
US5870412A1999-02-09
Other References:
"Digital Video Broadcasting (DVB); Upper Layer FEC for DVB Systems", TECHNICAL REPORT, EUROPEAN TELECOMMUNICATIONS STANDARDS INSTITUTE (ETSI), 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS ; FRANCE, vol. BROADCAS, no. V1.1.1, 1 February 2011 (2011-02-01), XP014064504
MOHAMED AMINE ISMAIL ET AL: "A Multi-Burst Sliding Encoding for Mobile Satellite TV Broadcasting", RAPPORT DE RECHERCHE NUMERO 6785, INRIA, THÈME COM - SYSTÈMES COMMUNICANTS, ÉQUIPE-PROJETS PLANETE, INRIA-00349223, VERSION 1, 24 December 2008 (2008-12-24), Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex - France - ISSN 0249-6399, pages 1 - 24, XP055007412, Retrieved from the Internet [retrieved on 20110916]
"Digital Video Broadcasting (DVB); DVB-SH Implementation Guidelines", ETSI TS 102 584 V1.1.1, December 2008 (2008-12-01)
ETSI TR 102 993 V.1.1.1, February 2011 (2011-02-01)
M. ISMAIL: "A Multi-Burst Sliding Encoding for Mobile Satellite TV Broadcasting", RAPPORT DE RECHERCHE N°6785, INRIA
Attorney, Agent or Firm:
BRUCK, Mathis et al. (LU)
Download PDF:
Claims:
Revendications

1 . Procédé d'encodage de données d'information en une séquence de bursts (... , Bi-2, Bi-i, Bi, Bi+i, ...), chaque burst comprenant un bloc de symboles d'information (Di-2, Dj_i, D,, Di+i) et un bloc de symboles de redondance (Ri-2, Ri-i, Ri, Ri+i), le procédé comprenant

la génération du bloc de symboles de redondance (R,) d'un burst actuel (B,) de la séquence à partir de symboles d'information des blocs de symboles d'information de plusieurs bursts de la séquence ;

caractérisé en ce que la génération du bloc de symboles de redondance (R,) du burst actuel (B,) comprend le calcul d'une somme d'une série de valeurs de codage relative à une série de bursts (Bi-2, B ), chaque valeur de codage de la série de valeurs de codage étant obtenue en tant que résultat d'une fonction de codage respective, appliquée au bloc de symboles d'information (Di-2, respectivement D ) du burst correspondant de la série de bursts (Bi-2, B ), chaque fonction de codage étant une fonction, qui, appliquée sur un bloc de symboles, donne, en tant que valeur de codage, les symboles de redondance d'un code correcteur et qui a la propriété d'utiliser tous les symboles du bloc auquel elle est appliquée, au sens que, si la valeur d'un seul, quelconque, symbole du bloc est changée, la valeur de codage obtenue change aussi. 2. Procédé selon la revendication 1 , dans lequel ladite série de bursts (Bi-2, B ) est une série de bursts précédant le burst actuel (B,), et de préférence une série de bursts précédant immédiatement le burst actuel (B,).

3. Procédé selon la revendication 1 ou 2, dans lequel chaque burst comprend une structure ordonnée de blocs de symboles d'information (D,0, D,j, DiPE"1) et une structure ordonnée de blocs de symboles de redondance (R,0,

Rij, RiPE"1), le nombre de blocs de symboles d'information dans la structure ordonnée de blocs de symboles d'information étant égal au nombre de blocs de symboles de redondance dans la structure ordonnée de blocs de symboles de redondance ;

et dans lequel la génération de chaque bloc de la structure ordonnée de blocs de symboles de redondance du burst actuel comprend le calcul d'une somme d'une série de valeurs de codage relative aux blocs (D,j) se trouvant à la position (j) correspondante dans la structure ordonnée de blocs de symboles d'information des bursts de la série de bursts (Bi-2, B ), chaque valeur de codage de la série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information se trouvant à la position (j) correspondante dans la structure ordonnée de blocs de symboles d'information du burst correspondant de la série de bursts (Bi-2, B ).

Procédé d'encodage de données d'information en une séquence de bursts (..., Bi-2, Bi-i, Bi, Bi+i, ...), chaque burst comprenant un bloc de symboles d'information (D,) et un bloc de symboles de redondance (R,), le procédé comprenant

la génération du bloc de symboles de redondance (R,) d'un burst actuel (B,) de la séquence à partir de symboles d'information des blocs de symboles d'information de plusieurs bursts de la séquence ;

caractérisé en ce que la génération du bloc de symboles de redondance (R,) du burst actuel comprend

la génération d'un premier sous-bloc (R,,o) du bloc de symboles de redondance (R,) du burst actuel (B,), qui inclut

le calcul d'une valeur de codage par une fonction de codage appliquée sur le bloc de symboles d'information d'un burst de la séquence autre que le burst actuel, ou

le calcul d'une somme d'une première série de valeurs de codage relative à une première série (So) de bursts (Bi-2, B ), chaque valeur de codage de la première série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information du burst correspondant de la première série (So) de bursts ;

et la génération d'un deuxième sous-bloc (R,,i) du bloc de symboles de redondance (R,) du burst actuel (B,), qui inclut le calcul d'une somme d'une deuxième série de valeurs de codage relative à une deuxième série (Si) de bursts (Bi-4, Bi-3, Bi-2, B ), chaque valeur de codage de la deuxième série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information du burst correspondant de la deuxième série (Si) de bursts, la première (So) et deuxième (Si) séries de bursts étant de longueur différente, et

chaque fonction de codage étant une fonction, qui, appliquée sur un bloc de symboles, donne, en tant que valeur de codage, les symboles de redondance d'un code correcteur et qui la propriété d'utiliser tous les symboles du bloc auquel elle est appliquée, au sens que, si la valeur d'un seul, quelconque, symbole du bloc est changée, la valeur de codage obtenue change aussi. 5. Procédé selon la revendication 4, dans lequel la première (So) et deuxième (Si) séries de bursts sont des séries de bursts précédant, de préférence immédiatement, le burst actuel (B,).

6. Procédé selon la revendication 4 ou 5, dans lequel chaque burst comprend une structure ordonnée de blocs de symboles d'information (D,0, D,j, DiPE"1) et une structure ordonnée de blocs de symboles de redondance (R°, Rij, RiPE"1), le nombre de blocs de symboles d'information dans la structure ordonnée de blocs de symboles d'information étant égal au nombre de blocs de symboles de redondance dans la structure ordonnée de blocs de symboles de redondance ;

dans lequel la génération de chaque bloc de la structure ordonnée de blocs de symboles de redondance du burst actuel (B,) comprend la génération d'un premier sous-bloc et d'un deuxième sous-bloc ;

la génération du premier sous-bloc incluant

le calcul d'une valeur de codage par une fonction de codage appliquée sur le bloc de symboles d'information se trouvant à la position (j) correspondante dans la structure ordonnée du burst autre que le burst actuel, ou

le calcul d'une somme d'une première série de valeurs de codage relative aux blocs se trouvant à la position correspondante dans la structure ordonnée de blocs de symboles d'information des bursts de la première série (So) de bursts, chaque valeur de codage de la première série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information se trouvant à la position (j) correspondante dans la structure ordonnée de blocs de symboles d'information du burst correspondant de la première série (So) de bursts ;

et la génération du deuxième sous-bloc incluant le calcul d'une somme d'une deuxième série de valeurs de codage relative aux blocs se trouvant à la position (j) correspondante dans la structure ordonnée de blocs de symboles d'information des bursts de la deuxième série (Si) de bursts, chaque valeur de codage de la deuxième série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information se trouvant à la position (j) correspondante dans la structure ordonnée de blocs de symboles d'information du burst correspondant de la deuxième série (Si) de bursts

7. Procédé selon l'une quelconque des revendications 1 à 6, comprenant la répétition de l'étape de génération du bloc de symboles de redondance pour un ou plusieurs bursts suivants (Bi+i, ...) qui deviennent à tour de rôle le burst actuel.

8. Procédé selon la revendication 7, dans lequel les fonctions de codage restent inchangées lors de la répétition de l'étape de génération du bloc de symboles de redondance pour les bursts suivants (Bi+i, ...).

9. Procédé selon la revendication 7, dans lequel les fonctions de codage sont changées de manière cyclique lors de la répétition de l'étape de génération du bloc de symboles de redondance pour les bursts suivants (Bi+i, ...).

10. Procédé selon la revendication 3 ou 6, dans lequel le nombre de blocs de symboles d'information dans la structure ordonnée de blocs de symboles d'information est compris dans la plage de 1 à 1000.

1 1 . Procédé selon l'une quelconque des revendications 1 à 10, dans lequel les symboles d'information et les symboles de redondance sont des éléments d'un corps fini.

Description:
PROCÉDÉ D'ENCODAGE DE DONNÉES D'INFORMATION EN BURSTS

Domaine technique

[0001 ] La présente invention concerne le champ technologique de la transmission de données par bursts (encore appelés « rafales » ou « salves »), et plus particulièrement la protection des données à transmettre contre des erreurs de transmission, notamment la perte de bursts entiers.

Etat de la technique

[0002] Dans le contexte du présent document, des bursts sont des ensembles de symboles représentant des données à transmettre. Chaque burst est transmis pendant un intervalle de temps typiquement court par rapport au temps de latence entre la transmission de deux bursts successifs d'un même service. Les séquences de bursts de plusieurs services (p. ex. de différentes chaînes de télévision) peuvent être entrelacées, mais cela sera sans importance dans la suite. Chaque burst comprend une section de données (comprenant un ou plusieurs blocs de symboles d'information) et une section de protection d'erreurs (comprenant un ou plusieurs blocs de symboles de redondance). Lors de la transmission, il peut se produire des erreurs de symboles de deux types : des symboles erronés sont reçus ou des symboles sont perdus (ou « effacés »). Les blocs de symboles de redondance constituent un code de protection contre des erreurs.

[0003] La transmission de données par bursts se fait, par exemple, dans le cadre d'un système DVB (de l'anglais : digital video broadcasting, diffusion vidéo numérique).

[0004] Une solution classique pour la génération d'un bloc de symboles de redondance d'un burst consiste à appliquer une fonction de codage sur le bloc de symboles d'information du même burst. Il s'agit là d'une protection d'erreurs « intra- burst », qui permet au récepteur de corriger des erreurs de transmission à l'intérieur du bloc de symboles d'information d'un burst reçu. Pour que cette approche puisse fonctionner, il faut que le burst à corriger arrive à destination. On utilise la protection « intra-burst » notamment dans la diffusion vidéo numérique, par exemple selon la norme DVB-H (de l'anglais : digital video broadcasting - handheld). La protection « intra-burst » n'est pas adaptée à des effacements de bursts entiers dans la séquence de bursts reçus. Or de telles situations sont assez fréquentes pour certaines liaisons de communication, par exemple entre un satellite et un terminal mobile.

[0005] Le document US 2009/0006927 propose une protection « inter-bursts » qui permet de remédier à la perte de bursts entiers. Selon le procédé de ce document, les paquets de données sont groupés selon des niveaux de priorité. Des mots de code de correction d'erreurs spécifiques à chaque groupe sont générés sur les paquets de données, appartenant au groupe, d'au moins deux bursts d'un premier ensemble de bursts. Les codes de correction ainsi obtenus sont transmis dans la section de correction d'erreurs d'au moins un burst d'un second ensemble de bursts.

[0006] Le document US 2010/0031 121 décrit aussi un procédé de protection « inter- bursts », dans lequel un mot de code de correction d'erreurs est calculé sur la base de données entrelacées provenant d'une pluralité de bursts d'un flux de données élémentaire. Le document US 5,870,412 divulgue un procédé de protection « inter- paquets », dans lequel on rattache à chaque paquet un code de correction d'erreurs qui se compose de la somme XOR (« OU » logique exclusif) d'un nombre (>1 ) prédéterminé de paquets de charge utile précédents.

[0007] Le document ETSI TS 102 584 V1 .1 .1 (2008-12), « Digital Video Broadcasting (DVB); DVB-SH Implementation Guidelines » disponible sur le site web du European Télécommunications Standards Institute (ETSI) décrit un procédé de protection « inter-bursts » (voir en particulier les illustrations aux pages 62 et 63). Selon ce procédé, chaque burst transmis contient une section de correction d'erreurs calculée sur la base de données entrelacées de plusieurs bursts antérieurs. Chaque burst de datagrammes est réparti sur B matrices d'encodage. Un mot de code de correction d'erreurs est calculé pour chaque matrice d'encodage et rattaché à un burst de datagrammes, éventuellement après entrelacement avec un ou plusieurs autres mots de codes de correction d'erreurs. Chaque donnée n'est protégée qu'une seule fois, c.-à-d. elle n'entre dans le calcul que d'un seul mot de code de correction d'erreurs. De tels procédés d'encodage similaires sont également connus des documents ETSI TR 102 993 V.1 .1 .1 (201 1 -02) et « A Multi-Burst Sliding Encoding for Mobile Satellite TV Broadcasting » de M. Ismail et autres, Rapport de recherche N°6785, INRIA. Ces documents décrivent des procédés MPE-IFEC (produisant une protection « inter-bursts »), dans lesquels les mots de code de correction d'erreurs sont entrelacés entre eux avant que les blocs ainsi obtenus soient rattachés aux bursts de datagrammes. Comme dans les références précédentes, chaque donnée n'est protégée qu'une seule fois, c.-à-d. elle n'entre dans le calcul que d'un seul mot de code de correction d'erreurs.

Objet de l'invention

[0008] Un objet de la présente invention est d'atteindre une meilleure protection des données dans un système de communication par bursts.

Description générale de l'invention [0009] Il est proposé un procédé d'encodage de données d'information en une séquence de bursts, dont chaque burst comprend un bloc de symboles d'information et un bloc de symboles de redondance (c.-à-d. un bloc de protection ou de mot de code correcteur). Le procédé implémente une protection « inter-bursts » du fait que le bloc de symboles de redondance du burst actuel de la séquence est généré à partir de symboles d'information des blocs de symboles d'information de plusieurs bursts de la séquence. Selon l'invention, la génération du bloc de symboles de redondance du burst actuel comprend le calcul d'une somme (vectorielle, c.-à-d. coordonnée par coordonnée dans le cas d'une représentation par coordonnées) d'une série de valeurs de codage relative à une série de bursts, chaque valeur de codage de la série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information du burst correspondant de la série de bursts.

[0010] Par exemple, si la série de bursts comprend les deux bursts précédant immédiatement le burst actuel, une première valeur de codage est calculée sur le bloc de symboles d'informations du burst immédiatement antérieur au burst actuel et une deuxième valeur de codage est calculée sur le bloc de symboles d'informations du burst qui se trouve dans la séquence de bursts à deux positions devant le burst actuel. Le bloc de symboles de redondance du burst actuel est obtenu, dans cet exemple, par addition vectorielle des première et deuxième valeurs de codage.

[001 1 ] Notons que dans le contexte du présent document, le terme « codage » ou « code » concerne uniquement la notion de codage correcteur. Une fonction de codage est donc une fonction qui, appliquée sur un bloc de symboles, donne les symboles de redondance d'un code correcteur (par exemple de type Reed-Solomon, turbo-code, LDCP, BCH, Reed-Muller, Raptor, RaptorQ etc.) y afférent. Il convient de noter que, dans le cadre de ce document, la fonction de codage utilise tous les symboles du bloc sur lequel elle est appliquée au sens que, si on change la valeur d'un seul, quelconque, symbole du bloc, la valeur de codage (le résultat de l'application de la fonction de codage sur le bloc de symboles) change aussi. En ce qui concerne la valeur de codage, on note qu'elle correspond normalement à un vecteur de symboles, c.-à-d. un nombre composé de plusieurs symboles. De préférence, la fonction de codage correspond à la multiplication par une matrice génératrice d'un code correcteur (par exemple de type Reed-Solomon, turbo-code, LDCP, BCH, Reed-Muller, Raptor, RaptorQ etc.) ou à la multiplication par une sous- matrice d'une telle matrice génératrice.

[0012] Il convient également de noter que le terme « information » est utilisé dans le présent contexte pour distinguer des symboles de redondance les données ou symboles à protéger (c.-à-d. des blocs données ou symboles de redondance). L'utilisation du terme «d'information » n'implique donc pas nécessairement que les symboles, blocs, etc. ainsi qualifiés véhiculent effectivement de l'information (bien que ce soit normalement le cas), voire uniquement de l'information. Par exemple, une partie des symboles d'information pourrait être des symboles de remplissage (en anglais : « padding ») rajoutés pour atteindre une taille de bloc prédéfinie.

[0013] La série de bursts peut être une série de bursts précédant, p. ex. immédiatement, le burst actuel. En pratique, on préférera toutefois, que la série de bursts soit une série de bursts suivant (p. ex. immédiatement) le burst actuel. La série de bursts pourrait aussi s'étendre avant et après le burst actuel (celui-ci pouvant faire partie de la série ou non).

[0014] Selon un mode de réalisation avantageux de l'invention, chaque burst comprend une structure ordonnée de blocs de symboles d'information et une structure ordonnée de blocs de symboles de redondance, le nombre (dit « profondeur d'entrelacement » du codage) de blocs de symboles d'information dans la structure ordonnée de blocs de symboles d'information étant égal au nombre de blocs de symboles de redondance dans la structure ordonnée de blocs de symboles de redondance. La génération d'un bloc se trouvant à une certaine position de la structure ordonnée de blocs de symboles de redondance du burst actuel comprend alors le calcul d'une somme d'une série de valeurs de codage relative aux blocs se trouvant à la position correspondante dans la structure ordonnée de blocs de symboles d'information des bursts de la série de bursts. Chaque valeur de codage de la série de valeurs de codage est dans ce cas obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information se trouvant à la position correspondante dans la structure ordonnée de blocs de symboles d'information du burst correspondant de la série de bursts. Il convient de noter que les blocs de symboles d'information ne sont pas nécessairement tous de la même taille. Il en est de même pour les blocs de symboles de redondance.

[0015] Si, dans l'exemple précédent, chaque burst contient une suite de blocs de symboles d'information et une suite de blocs de symboles de redondance, la première valeur de codage est calculée pour chacun des blocs de symboles d'informations du burst immédiatement antérieur au burst actuel et la deuxième valeur de codage est calculée pour chacun des blocs de symboles d'informations du burst qui se trouve dans la séquence de bursts à deux positions devant le burst actuel. Le bloc de symboles de redondance du burst actuel se trouvant à une position « i » dans la suite est obtenu par addition des première et deuxième valeurs de codage calculées sur les blocs de symboles d'information à la position « i » dans les bursts précédents.

[0016] Le principal intérêt du procédé selon l'invention est que tous les symboles d'information d'un même burst sont protégés par les mêmes données de redondance, alors que dans une protection inter-burst classique (voir le document ETSI TS 102 584 V1 .1 .1 ), ces symboles sont intégrés dans des mots de code différents, ce qui génère des différences de correction.

[0017] Selon une variante avantageuse de l'invention la génération du bloc de symboles de redondance du burst actuel comprend la génération d'un premier et d'un deuxième (et éventuellement d'autres) sous-blocs du bloc de symboles de redondance du burst actuel. La génération du premier sous-bloc inclut :

o le calcul d'une valeur de codage par une fonction de codage appliquée sur le bloc de symboles d'information d'un burst autre que le burst actuel, ou o le calcul d'une somme d'une première série de valeurs de codage relative à une première série de bursts, chaque valeur de codage de la première série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information du burst correspondant de la première série de bursts.

La génération du deuxième sous-bloc du bloc de symboles de redondance du burst actuel inclut le calcul d'une somme d'une deuxième série de valeurs de codage relative à une deuxième série de bursts, chaque valeur de codage de la deuxième série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information du burst correspondant de la deuxième série de bursts. Selon cet aspect de l'invention les première et deuxième séries de bursts sont de longueur différente.

[0018] Selon cette variante, le premier et le second sous-blocs du bloc de symboles de redondance se calculent donc à partir de séries différentes de burst antérieurs au burst actuel. Les première et deuxième séries de bursts peuvent être des séries de burst précédant, p. ex. immédiatement, le burst actuel (mais de longueur différente). Elles peuvent aussi être des séries suivant, p. ex. immédiatement, le burst actuel dans la séquence. Selon une autre variante, lune des séries précède le burst actuel, l'autre le suit. L'une et/ou l'autre des séries pourrait aussi s'étendre de part et d'autre du burst actuel.

[0019] L'avantage de cette variante est de proposer un bon compromis entre la capacité de correction du système, qui est meilleure lorsque la série de bursts est longue, et le délai de décodage, qui est meilleur lorsque la série de bursts est courte. Ce compromis permet de satisfaire simultanément plusieurs récepteurs observant des niveaux de bruit différents.

[0020] Considérons maintenant le cas où chaque burst comprend un nombre de blocs de symboles d'information et le même nombre de blocs de symboles de redondance, qui sont organisés en des structures ordonnées respectives. Dans ce cas, la génération d'un bloc de symboles de redondance en une position « i » dans la structure ordonnée de blocs de symboles de redondance du burst actuel comprend la génération d'un premier sous-bloc et d'un deuxième sous-bloc ; la génération du premier sous-bloc incluant : o le calcul d'une valeur de codage par une fonction de codage appliquée sur le bloc de symboles d'information se trouvant à la position « i » dans la structure ordonnée du burst autre que le burst actuel, ou

o le calcul d'une somme d'une première série de valeurs de codage relative aux blocs se trouvant à la position « i » dans la structure ordonnée de blocs de symboles d'information des bursts de la première série de bursts, chaque valeur de codage de la première série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information se trouvant à la position « i » dans la structure ordonnée de blocs de symboles d'information du burst correspondant de la première série de bursts ;

et la génération du deuxième sous-bloc incluant le calcul d'une somme d'une deuxième série de valeurs de codage relative aux blocs se trouvant à la position « i » dans la structure ordonnée de blocs de symboles d'information des bursts de la deuxième série de bursts, chaque valeur de codage de la deuxième série de valeurs de codage étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information se trouvant à la position « i » dans la structure ordonnée de blocs de symboles d'information du burst correspondant de la deuxième série de bursts.

[0021 ] Il sera apprécié que l'étape de génération du bloc de symboles de redondance puisse être répétée pour un ou plusieurs bursts suivants qui deviennent à tour de rôle le burst actuel.

[0022] De préférence, les fonctions de codage restent inchangées lors de la répétition de l'étape de génération du bloc de symboles de redondance pour les bursts suivants. Dans l'alternative, les fonctions de codage sont changées de manière cyclique lors de la répétition de l'étape de génération du bloc de symboles de redondance pour les bursts suivants.

[0023] Le nombre de blocs de symboles d'information dans la structure ordonnée de blocs de symboles d'information est avantageusement compris dans la plage de 1 à 1000. [0024] Les symboles d'information et les symboles de redondance sont typiquement des éléments d'un corps fini F, tel que par exemple F 2 ou F 25 6-

Brève description des dessins

[0025] D'autres particularités et caractéristiques de l'invention ressortiront de la description détaillée de quelques modes de réalisation avantageux présentés ci- dessous, à titre d'illustration, en se référant aux dessins annexés. Ceux-ci montrent:

Fig. 1 : un diagramme en fonction du temps d'une séquence de bursts ;

Fig. 2: une illustration de la structure interne d'un burst ;

Fig. 3: une illustration schématique d'un premier mode de réalisation préféré de l'invention ;

Fig. 4: une illustration schématique d'un deuxième mode de réalisation préféré de l'invention.

Description d'une exécution préférée

[0026] La figure 1 montre une séquence de bursts B i-2 , B M , B,, B i+ i, dont chaque burst comporte une section de données D i-2 , DM, D,, respectivement D i+ i et une section de protection d'erreurs Ri-2, RM, Ri, respectivement R i+ i .

[0027] La structure interne d'un burst est montrée plus en détail à la figure 2. La section de données D, du burst B, comprend PE blocs de symboles d'information ϋ,,ο, Di 1 , Di 2 ,..., Di j , Di PE"1 . Chaque bloc Di j , j = 0, PE-1 , contient L D symboles éléments d'un corps fini F (par exemple F 2 ou F 2 56). De manière similaire, la section de protection d'erreurs R, comprend PE blocs de symboles de redondance R, 0 , R, 1 , R, 2 ,..., R, j , Ri PE"1 . Chaque bloc R, j , j = 0, PE-1 , contient L R symboles éléments du corps fini F.

[0028] Dans la suite, des modes de réalisation de l'invention seront d'abord illustrés pour le cas PE = 1 . Pour faciliter la notation, l'indice supérieur j, c.-à-d. le numéro du bloc de symboles d'information ou de redondance considéré, sera omis.

[0029] Une solution classique pour obtenir le bloc de symboles de redondance R, pour le burst B, consiste à appliquer une fonction de codage f sur le bloc de symboles d'information D, ; on note: R, = f(Dj). Les symboles du bloc R,

étant des éléments du corps fini F, on a :

où les sont les symboles du bloc D, (et donc des éléments du

corps fini F) et où les sont les coefficients dans F de la matrice génératrice du code correcteur (de la fonction de codage), par exemple de type Reed-Solomon, turbo-code, LDPC, BCH, Reed-Muller, Raptor, RaptorQ ou autre. On a donc :

sont considérés comme des vecteurs ligne.

[0030] Selon un mode de réalisation préféré de l'invention, on propose de construire le bloc de redondance R, du burst B, à partir des blocs de symboles d'information D i-S , D i-s+ ( t- i) d'une série de t bursts précédant le burst actuel B, dans la séquence. Le nombre s est un entier indiquant le début de la série des t bursts, avec s > t. Concrètement, on obtient le bloc de symboles de redondance R, du burst actuel par addition (définie sur ) d'une série de valeurs de codage (C w ) w = i-s, i- s +(t-i) relative à la série de bursts (B w ) w = i- S , i- s +(t-i) précédant le burst actuel B,, chaque valeur de codage C w étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information D w du burst B w .

[0031 ] Formellement, pour un burst B, donné, on a : où les sont les coefficients dans F du vecteur C w et où les , u = 0, ...,L R -1 , v = 0, LD-1 , sont les coefficients dans F de la matrice génératrice du code correcteur (c.-à-d. de la fonction de codage) associé à la position w de la série de bursts (B w ) w = i- S , i- s +(t-i)- Les symboles désignent de

nouveau les coefficients dans F du bloc R,. On peut écrire :

[0032] Une première manière d'obtenir les coefficients des matrices génératrices est d'effectuer un tirage aléatoire.

[0033] Pour construire les matrices génératrices d'une autre manière,

considérons une matrice génératrice d'un code correcteur classique Reed-Solomon, turbo-code, LDPC, BCH, Reed-Muller, Raptor, RaptorQ ou similaire, à t-L D lignes et t-l_R colonnes. Cette matrice génératrice, que nous noterons caractérise de

manière unique un code linéaire systématique de dimensions k-n, k = t-L D étant la longueur du message et n = t-L D + t L R la dimension du code. La matrice se laisse découper en t-t sous-matrices dont chacune contient L D lignes et L R colonnes :

[0034] Il est proposé de calculer les blocs de redondance R, de la manière suivante :

où la notation « x » représente « x modulo t ». Pout un i donné, on obtient pour les matrices génératrices la relation

1 . Il faut noter que selon cette construction, la position (absolue) i du burst B, dans la séquence de bursts est importante, car le code correcteur en dépend, sauf si

Si les fonctions de codag

3 e restent inchangées lors de la répétition de l'étape de génération du bloc de symboles de redondance pour les bursts suivants. Autrement, au fur et à mesure que l'index i augmente, les fonctions de codage changent cycliquement, avec une période t.

[0035] La figure 3 illustre de manière schématique les dépendances des blocs de symboles de redondance R, pour le cas où t = 2 et s = 2. Concrètement, on peut écrire :

ce qui peut être visualisé à l'aide du tableau suivant :

[0036] Le bloc de symboles de redondance d'une colonne x du tableau s'obtient par le calcul de la somme des produits matriciels des blocs de symboles d'information de la première colonne du tableau avec les matrices respectives de la colonne x.

[0037] En adoptant une notation plus classique, où [.] représente un vecteur ou une matrice :

[0038] Comme indiqué plus haut, la matrice

est issue de préférence d'un code correcteur classique.

[0039] L'intérêt de cette construction est que, lors du décodage, on fait apparaître les sous-matrices de la matrice de base ce qui permet d'utiliser les propriétés

du code correspondant, notamment au niveau de l'algorithme de décodage, et de profiter de la capacité de correction de ce code. Par exemple, si les bursts B 0 , Bi, B 3 et B sont reçus, on peut retrouver le bloc de symboles d'informations D 2 du burst B 2 à l'aide des équations ce qui fera apparaître les matrices qui forment une sous-matrice de la matrice Si, par exemple, le code correcteur choisi est un code Reed-Solomon (optimal pour un canal à effacement), la récupération est optimale, c.-à-d. tous les symboles de redondance sont utiles.

[0040] La figure 4 est une illustration schématique d'un deuxième mode de réalisation préféré de l'invention. Selon ce mode de réalisation, les blocs de symboles de redondance sont à chaque fois composés de Z > 2 sous-blocs R,, z , z=0,1 ,...,Z-1 ce que la figure 4 ne montre explicitement que pour le bloc R, avec des sous-blocs Ri,o et Rj, . La longueur de chaque sous-bloc R,, z est notée L z . L z ne dépend pas de i et on a : L z=0 + L z =i + ... +L Z=Z =L R . Dans le présent exemple, on propose de construire les sous-blocs de redondance R,, z du burst B, à chaque fois de manière analogue au premier mode de réalisation de l'invention, c.-à-d. à partir des blocs de symboles d'information D i-s(Z ), Di. S ( Z )+(t(z)-i ) d'une série de t(z) bursts précédant le burst actuel B, dans la séquence. Le nombre s(z) est un entier indiquant le début de la série des t(z) bursts, avec s(z)≥t(z), pour tout z = 0, Z-1 . Concrètement, on obtient le sous-bloc de symboles de redondance R,, z du burst actuel par addition (définie sur ) d'une série de valeurs de codage (C w ) w = i-s(z), i- S (z)+(t(z)-i) relative à la série de bursts (B w ) w = i-s(z), i- S (z)+(t(z)-i) précédant le burst actuel Bi, chaque valeur de codage C w étant obtenue par une fonction de codage respective, appliquée au bloc de symboles d'information D w du burst B w .

[0041 ] Formellement, pour un ze {o,...,Z} et un burst B, donnés, on a :

[0042] où les sont les coefficients dans F du vecteur C w et où

les sont les coefficients dans F de la matrice

génératrice du code correcteur (c.-à-d. de la fonction de codage) associé à la

position w de la série de bursts (B w ) w = i-s(z), i- S (z)+(t(z)-i)- Les symboles

L z -1 , désignent ici les coefficients dans F du bloc R,, z . On peut écrire : [0043] Les matrices génératrices peuvent être construites, individuellement pour chaque ZG {θ,. , .,Ζ} de manière analogue aux matrices A w discutées ci-dessus, avec substitution de t(z) au lieu de t. On obtient ainsi Z systèmes de codage indépendants. On pourrait même les implémenter sur des corps finis différents.

[0044] Considérons par exemple une matrice génératrice lignes et

t(z) L z colonnes d'un code correcteur. La matrice se laisse découper en t(z) t(z)

sous-matrices , dont chacune contient L D lignes et L z colonnes :

[0045] Les sous-blocs de redondance Ri,z peuvent être obtenus par :

où la notation « x » représente ici « x modulo t(z) ».

[0046] Dans l'exemple illustré à la figure 4, le sous-bloc de redondance R i,0 se calcule sur la base des blocs de symboles d'information des bursts de la série So (s(0) = t(0) = 2) tandis que le sous-bloc de redondance R,,i se calcule sur la base des blocs de symboles d'information des bursts de la série Si ((s(1 ) = t(1 ) = 4). On peut donc écrire :

ce qui se visualise à l'aide du tableau suivant :

[0047] Notons qu'au fur et à mesure que l'index i (numéro du burst dans la séquence) augmente, les fonctions de codage changent cydiquement, avec une période t(0), respectivement t(1 ).

[0048] Selon cet exemple, on réduit le temps de zapping grâce au bloc de redondance basé sur la série courte S 0 et on réalise une fiabilité élevée grâce au bloc de redondance basé sur la série plus longue S 1 .

[0049] Il existe une autre manière de construire les matrices génératrices On note f max = max z=0 z (t(z)) . On construit une matrice génératrice d'un code correcteur lignes et t max -(L z=0 + L z=1 + ... + L z=z-1 ) colonnes. se laisse découper en t max -Z lignes et t max -Z colonnes de sous-matrices

et v = 0, t max -1 , dont chacune est de taille L D -L Z .

[0050] Les sous-blocs de redondance R i,z peuvent être obtenus par :

où la notation « x » représente ici « x modulo Z-t max ». [0051 ] Avec, par exemple, Z = 2, s(0) = t(0) = 2, s(1 ) = t(1 ) = 4, la matrice est composée de 8 x 8 sous-blocs et le système de codage se résume à l'aide du tableau suivant :

[0052] Jusqu'à présent, seulement le cas PE = 1 a été discuté. On peut sans difficulté généraliser les exemples ci-dessus aux cas PE > 1 en rajoutant l'index de numérotation j, j = 0, PE-1 , des blocs de symboles d'information ou de redondance dans les formules indiquées. Pour chaque j, on obtient ainsi :

respectivement

[0053] En principe, les matrices peuvent être choisies individuellement

pour chaque j. De préférence, on utilise toutefois les mêmes matrices pour

tous les indices j.

[0054] Au niveau du récepteur, les fonctions de codage (et donc les matrices les représentant) sont connues. Lorsqu'un burst n'est pas correctement ou pas du tout reçu, le récepteur résout un système d'équations pour reconstruire les données d'information perdues. Des algorithmes de reconstruction adéquats sont à la portée de l'homme du métier sur la base de la description du procédé d'encodage selon l'invention. Si des séries de bursts de longueur différente sont utilisées pour obtenir plusieurs systèmes de sous-blocs de redondance, la reconstruction de données perdues peut se faire sur la base des blocs de redondance d'une seule ou de plusieurs séries, selon besoin. Si les données perdues peuvent être reconstruites sur la base de la série la plus courte on bénéficiera d'un temps de latence très court. Si la perte est d'une plus grande envergure (p. ex. sur plusieurs bursts consécutifs), la redondance de la série la plus courte ne sera éventuellement plus suffisante pour la reconstruction et la ou les séries plus longues devront être prises en compte pour la reconstruction. La ou les séries plus longues garantissent donc une fiabilité globale élevée du système.




 
Previous Patent: Valve Mechanism

Next Patent: BAND ATTENUATION FILTER