Brevet FR2682846A1 — publié le 19930423

Cette invention se rapporte à un système de répartition de données vidéo entre deux trains de données. Des données vidéo numériques de haute définition peuvent être transmises avec succès sur des canaux de télévision terrestres en générant des données vidéo comprimées, en partageant les données vidéo entre une information de haute priorité et une information de basse priorité10 et en modulant en amplitude en quadrature les données de haute et basse priorité sur des porteuses séparées respectivement Les porteuses modulées sont incluses dans un spectre de fréquence de 6 MHZ et ensuite le signal combiné15 est transmis pour occuper un spectre du canal de diffusion -standard Les données de haute priorité sont transmises avec une puissance relativement élevée et les doinées de basse priorité avec une puissance relativement faible Des données de haute priorité sont ces données vidéo qui sont suf- fisantes pour reproduire une image, quoique de qualité moindre qu'une image de haute définition. La présente invention est orientée vers un circuit de séparation de données vidéo comprimées en données vidéo de haute et de basse priorité Pour les propos de cette description, les données vidéo seront présumées être comprimées dans le format type MPEG (bien que tout format de données qui peut être structuré hiérarchiquement en couches soit susceptible d'utilisation) Ce qui est signifié par "type MPEG" est un format de codage semblable au format de codage standardisé établi par 2 2682846 l'Organisation Internationale de Normalisation Le standard est décrit dans le document "International Organisation for Standardization", ISO- IEC JT (l/SC 2/WGI), Coding of Moving Pictured and Associated Audio, MPEG 90/176 Rev 2, 18 Déc 1990, lequel docunent est incorporé ici en référence pour la description du format de code général. Le standard MPEG transmet 240 lignes (NTSC) par image non entrelacée, ce qui est réalisé typiquement en codant seulement les trames impaires ou paires d'un signal vidéo à source entrelacée. Pour transmettre des signaux HDTV le standard est modifié pour fournir, par exemple 480 lignes par trame, et à la fois les trames paires et impaires sont transmises De plus, le nombre de pixels par ligne est augmenté par exemple à 1440 Conceptuellement, ces changements affectent seulement le débit de données et n'affectent pas le principe de la compression D'intérêt particulier par rapport à ce format de codage est le fait que les trames successives sont codées selon une séquence cyclique dans laquelle des trames particulières de la séquence sont codées intra-trames (trames I), d'autres trames (trames P) sont codées inter-trames vers l'avant, et encore d'autres trames (trames B) sont codées inter- trames à la fois vers l'avant et vers l'arrière. Le format des signaux codés pour les trames de chaque type de codage est similaire mais l'im- portance relative des types de trames codées pour la reproduction d'image est 1, P, B Les images peuvent être reproduites à partir des seules trames 1, cependant la reproduction d'image pour les trames P ou B requiert une information dérivée 3 2682846 des trames I ou P décodées antérieures. La quantité de bits de donnée pour les trames codées respectives varie largement. De plus, le pourcentage d'information considéré nomina- l-esent pour être des données de basse priorité dans les traoes respectives peut varier largement Allouer des données aux canaux de haute et basse priorité n'est pas une simple affaire de répartition d'un pourcentage K particulier des données de chaque trame vers le canal de haute priorité et le reste ( 100-K) pour cent au canal de basse priorité Le partage devient davantage compliqué si l'importance relative des types de trames codées est incluse dans le procédé d'affectation de priorité. La présente invention est orientée vers un dispositif pour déterminer le pourcentage ou la fraction de données à partir des trames codées respectives de l'information vidéo qui sera répartie entre les canaux de haute et basse priorité La fraction est déterminée indépendamment de chaque trame Les canaux de haute et basse priorité incluent des tampons de débit La fraction est déterminée sur la base de l'occupation du tampon de débit Des données vidéo comprimées à partir de trames codées Intra-trame sont allouées au tampon de débit de haute priorité pour tendre à remplir sensiblement le tampon de débit Des données vidéo comprimées pour les trames codées inter-trame restantes des groupes respectifs de trames sont allouées au tampon de débit de haute priorité en quantités qui permettent au tampon de débit de tendre sensiblement à se vider sur un groupe de trames. Brève Description des Dessins La Figure 1 est un schéma fonctionnel d'un système de compression d'un signal vidéo réalisant l'invention. La Figure 2 est une représentation en image des couches de données fournies par le circuit de compression de la Figure 1. La Figure 3 est une représentation en image généralisée du format des données fourni par le circuit de compression de la Figure 1. La Figure 4 est un schéma fonctionnel d'un circuit exemplaire qui peut être réalisé pour le circuit Choix de Priorité de la Figure 1. La Figure 5 est un ordinograrrme 1.5 indiquant le processus de formation des points de séparation des données. La Figure 6 est un ordinogrammrne du processus de détermination de la fraction des données destinée aux trames respectives à attribuer aux canaux respectifs de haute et basse priorité. La Figure I illustre sous forme de blocs un système de compression d'un signal vidéo qui peut être utilisé pour transmettre des signaux de télévision à haute définition (HDTV) Dans ce système, le signal vidéo est initialement comprimé en conformité avec un format de type MPEG. Après cela, les mots codes du signal de type MPEG sont partagés en deux trains de bits selon l'importance relative des types respectifs de mot code Les deux trains de bits sont traités indé- pendarrment pour appliquer des bits supplémentaires de correction d'erreur, et ensuite entrainés vers les porteuses respectives QAM Les porteuses modulées sont combinées pour la transmission Les trains de bits d'importance relativement plus ou moins grande sont désignés respectivement canaux -' haute priorité (HP) et basse priorité (LP) Le canal haute priorité est transmis avec une puissance approximativement double du canal basse priorité Le rapport d'informations haute priorité/basse priorité est environ un à quatre Les débits nets approximatifs des données après auto-correction des erreurs sont de 4,5 Mbps HP et de 18 Mbps LP. En Figure 1, les signaux vidéo venant d'une source 10, qui peut être, par exemple, une caméra HDTV sont appliqués au circuit de compression 12 le circuit de compression 12 comprime le signal vidéo selon des séquences de codage cycliques identifées commre groupes de trames, GOF, voir en Figure 2 La séquence de codage d'un GOF inclut une première trame ( 1) qui est codée intra-trame, suivie d'une pluralité de trames B (codées inter-trame bidirectionnellement) qui sont régulièrement entremêlées de trames P (codées inter-trame vers l'avant) Les données codées pour les trames codées P comprennent les différences comprimées entre la trame vidéo en cours et une trame prédite à partir de la toute dernière trame I ou P se produisant Les données codées pour les trames B comprennent les différences comprimées entre la trame en cours et la meilleure des deux trames prédites qui sont prédites à partir des trames I et P entre lesquelles la trame B particulière est disposée Les données codées pour toutes les trames sont segmentées en tranches, qui incluent, par exemple, les données codées pour des sections horizontales des images respectives, chaque section étant haute d'un multiple de 16 pixels Les tranches sont segmentées en macroblocs Chaque macrobloc est constitué de 6 blocs, incluant quatre blocs de luminance, un bloc U de chrominance et un bloc V de chrominance. Un bloc représente une matrice de pixels, par exemple de 8 x 8 sur laquelle une transformée en cosinus discrets (DCT) est effectuée Les quatre blocs de luminance sont une matrice 2 x 2 de blocs de luminance contigus représentant, par exemple, une matrice de 16 x 16 pixels Les blocs de chrominance (U et V) représentent la même surface totale que les quatre blocs de luminance C'est à dire que le signal de chrominance est sous- échantillonné d'un facteur deux horizontalement et verticalement par rapport à la luminance, avant compression. Le signal de sortie codé fourni par le circuit compresseur 12 est généralement dans le format en couche illustré en Figure 3. La couche de dessus comporte des groupes de trames (GOF) illustrés par la rangée de cases LI. Chaque GOF (L 2) inclut un en-tête suivi des segments de données d'image L'en-tête des GOF peut inclure des données relatives aux dimensions d'image horizontale et verticale, au format d'image, au débit trame/image, au débit binaire, etc. 7 " 2682846 Les données d'image (L 3) correspondant aux trames respectives incluent un en-tête suivi de données des tranches (L 4) L'en-tête d'image peut inclure un nombre de trames et un type de code image Chaque tranche (L 4) inclut un en-tête suivi d'une pluralité de blocs de données M Bi. L'en-tête des tranches peut inclure un nombre de groupes et un paramètre de quantification. Chaque bloc M Bi (L 5) représente un macrobloc et inclut un en- tête suivi des vecteurs de déplacement et des coefficients de transformée (par exemple, coefficients de Transformée en Cosinus Discrets) Les en-têtes des M Bi peuvent inclure une adresse de microbloc, un type de macrobloc et un paramètre de quantification Les coefficients de transformée sont illustrés dans la couche L 6 Les coefficients du bloc sont fournis un bloc à la fois avec le DGT, le coefficient DC arrivant en premier suivi des coefficients respectifs AC de DCT dans l'ordre de leur importance relative. Un code de fin de bloc EOB est ajouté à la fin de chaque bloc de données arrivant successi- vement. Les données issues du compresseur 12 sont appliquées à un processeur de priorité 14 qui partage les données entre les canaux HP et LP. Les données affectées de priorité sont couplées aux tampons de débit respectifs HP et LP 15 A et 15 B. Comme il est bien connu les données vidéo comprimées arrivent à des débits variables, et préférentiellement, les données sont transmises à une vitesse constante équivalente a la capacité du canal, pour réaliser une utilisation efficace du canal Les tampons de débit 15 A et 15 B réalisent le passage d'un débit de données va-iables à un débit constant Il est également bien connu d'ajuster la quantité de données fournie par le compresseur 12 selon le niveau d'occupation des tampons Ainsi, les tampons 15 A et 15 B incluent un circuit pour indiquer leur niveau d'occupation Ces indications sont appliquées au contrôleur 18 pour ajuster le débit de données moyen fourni par le compresseur 12. Les données vidéo comprimées formatées hiérarchiquement corrmne indiqué en Figure 3 sont couplées à un élément de sélection de priorité 14, qui partage les données codées entre un canal de haute priorité HP et un canal de basse priorité LP De façon générale, l'information de haute priorité est cette information dont la perte ou la mutilation céerait la plus grande dégradation des images reproduites Enoncé inversement, ce sont les moindres données nécessaires à la création d'une image, bien que moins qu'une image parfaite L'information de basse priorité est l'information restante L'information de haute priorité inclut sensiblement toute l'information d'en-tête incluse dans les différents niveaux hiérarchiques plus les coefficients DC des blocs respectifs et une partie des coefficients AC des blocs respectifs (niveau 6, Figure 3). Dans le circuit 16 les signaux peuvent être couplés à un modem de transmission dans lequel les données du canal HP modulent en amplitude en quadrature une première porteuse et les données du canal LP modulent enamplitude en quadrature une seconde porteuse décalée de la première porteuse tl rX 9 d'environ 2,88 M Hz Les largeurs de bande de 6 d B des première et seconde porteuses modulées sont respectivement d'environ 0,96 M Hz et 3,84 Miz. La première porteuse modulée est transmise avec une puissance plus grande d'environ 9 d B que la seconde porteuse modulée Puisque l'information HP est transmise avec une plus grande puissance, elle est beaucoup moins prédisposée à une dégra- dation par le canal de transmission La porteuse HP est située dans la partie de spectre de fréquences d'un canal de transmission, par exemple, TV NTSC, la porteuse LP est située de telle sorte que le spectre des données LP occupe la partie d'uncanal NTSC normalement occupée par la bande latérale supérieure de l'information de luminance d'un signal TV du standard NTSC. Les données comprimées qui sont transmises peuvent être codées statistiquement. Un codage statistique peut être effectué dans le compresseur 12 ou dans ou après l'affectation de priorité aux données Sans considérer o le codage statistique est effectué, pour les propos de cette description, il est admis que le compresseur 12 fournit non seulement les mots codes comprimés, mais également les données concernant le type de chaque mot code et la longueur de chaque mot code Dans le cas o les mots codes seront statistiquement codés après affectation de priorité la longueur correspondra à la longueur du mot I O codé codé statistiquement Il est également admis que le compresseur 12 inclut une mémoire de sortie pour enregistrer chaque trame des données comprimées et longueurs et types de mot code associés, de sorte que pour chaque nouvelle trame fournie au circuit de sélection de priorité 14, le nombre total de bits, N bits, des mots code 3 inclus dans une telle trame soit disponible Ce nombre peut être fourni en accumulant simplement les données correspondant aux longueurs de mot code lorsque les mots codes respectifs sont générés. Les données comprimées arrivent comme une pluralité de type de mot code incluant, par exemple, Données d'En-Tête, Vecteurs de Déplacement, coefficients DC et coefficients AC L'importance relative de chaque type de mot code pour la reproduction d'image est subjective et est ainsi un choix de conception Cependant, il est générale- ment admis que les coefficients AC représentant l'information de fréquence plus élevée sont de moindre importance Une hiérarchie exemplaire de type de mot code peut établir la classification, mots codes d'en-tête de GOF (-4), mots codes d'en- tête d'image et d'en-tête de tranche (-3), mots codes d'en-tête de macrobloc (-2), vecteurs de déplacement (-1), coefficients DC ( 0), coefficients AC ( 1) à ( 64), etc Pendant l'affectation de priorité, les classes à numéros les plus bas seront transmises vers le canal HP, et les classes à numéros les plus élevés dirigées vers le canal LP selon un paramètre dynamique de séparation des données désigné par Hfrac - La Figure 4 illustre un exemple de dispositif pour réaliser cette partie du processus de sélection de la priorité qui partage les données en deux canaux Dans la Figure 4, les données comprimées issues de 12 (c'est à dire, de la mémoire de sortie du compresseur) sont couplées aux bornes d'entrée des deux mémoires tampons 150 A et 150 B et à un analyseur de données 152 Les tampons respectifs incluent suffisamment de mémoire pour enregistrer par exemple une tranche de données Les tampons 150 A et 150 B fonctionnent en mode "ping pong" pour alternativement écrire les tranches de données et lire les tranches de données Ainsi, tandis que le tampon 150 A écrit des données à partir, par exemple, de la tranche n, le tampon B lit des données à partir de la tranche n-1. Lorsque les données sont écrites dans un tampon particulier, l'analyseur 152, sensible aux données du type de mot code, génère des numéros de classification des mots codes CW#i pour les mots codes respectifs et enregistre les CW#i en association avec le mot code correspondant. L'analyseur calcule ainsi le point, ou le mot code, au niveau duquel les données seront réparties entre canaux HP et LP Le calcul est déterminé pour la quantité de données enregistrées dans le tampon 150 A ( 150 B) Le nombre total de bits est compté pour tous les mots codes dans le tampon 150 A ( 150 B) Puis la classe de mot code pour laquelle la sorrme des bits est égale au pourcentage HP est identifiée par un numéro de mot de code, CW#j Ce numéro est appliqué à un élément de commutation 153 A ( 153 B), et utilisé pour commander le multiplexeur 155 A ( 155 B) Ap-rès iden- tification du numéro de mot code CW#j, les mots codes, les données de longueur de code, les données de type de mot code et les numéros de mot code CW#i sont lus en parallèle à partir du tampon A ( 150 B) Les mots codes, longueurs de code et types de code sont appliqués à l'entrée d'un multiplexeur 155 A ( 155 B), et les numéros de mot code 1 1 12 2682846 sont appliqués à une entrée de l'élément de corrmutation 153 A ( 153 B) Lorsque les données sont lues à partir du tampon, l'élément de conmutation 153 A ( 153 B) compare les numéros de classification de mot de code CW#i au numéro calculé CW#j. Pour tous les numéros de classification de mot code inférieurs ou égaux à CWV#j, l'élément de commutation fournit un signal de commande qui conditionne le multiplexeur 155 A ( 155 B) pour faire passer les données correspondantes vers le canal HP via un autre multiplexeur 156 Pour les numéros de classification du mot code supérieurs à CW#j, le multiplexeur 155 A ( 155 B) est conditionné pour faire passer les données correspondantes vers le canal LP via le multiplexeur 156 Le multiplexeur 156 est conditionné pour faire passer les données HP et LP fournies par le tampon 150 A ( 150 B) qui est en cours de lecture. L'analyseur 152 inclut un accumulateur qui, sensible aux signaux de longueur de code et de type, sormme indépendarrment le nombre de bits des mots codes de chaque type de code introduit dans le tampon 150 A ( 150 B) Ces somes sont additionnées pour fournir le nombre total de bits des mots codes contenus dans le tampon, (ou les bits des mots codes codés statistiquement correspondant aux mots codes contenus dans le tampon) La somme totale est multipliée par Hfrac pour fournir une somme test. Après cela, les sorrmes respectives des types de code sont séquentiellement additionnées dans l'ordre croissant du numéro de classification du mot code CW#i pour fournir des sommes partielles. Chaque somme partielle est comparée avec la somme test jusqu'à ce que la sormme partielle dépasse la somme test Le numéro de classification du mot code CW#j associé avec la somme partielle irrmédiatement précédente est la dernière classe des mots codes d'un bloc à être assignée au canal HP Toutes les classes de mot code suivantes, c'est à dire, CW#j+l à CW#n, pour les blocs respectifs sont assignées au canal LP Ainsi, on peut voir que ce qui est considéré être une information de haute priorité varie en fait, entre les périodes d'analyses, si les données de haute priorité sont définies par les données appliquées au canal HP. La Figure 5 est un ordinogramme du fonctionnement de l'analyseur 152 Au commencement de chaque tranche de données l'analyseur initialise l 500 l les valeurs de comptage des types respectifs des mots codes Puis lorsque les données sont écrites dans le tampon respectif, l'analyseur lit l 502 l le type de mot code, la longueur L du mot code correspondant, et assigne un numéro de classification de mot code CW#i en fonction du type de mot code L'analyseur ajoute l 504 l la longueur L du mot code à la somme des mots codes précédents qui ont été assignés au même numéro de classi- fication de mot code CW#i Il teste alors l 506 l pour déterminer si toutes les données pour une tranche ont été évaluées Cela peut être effectué en examinant les types de mot code pour l'en-tête de la tranche arrivant ensuite Si la fin de la tranche n'a pas été rencontrée, il continue l 502 l. Si elle a eu lieu, l'analyseur procède l 508 l à la détermination du point de séparation HP/LP. Ce processus est initié en établissant à zéro une valeur de somme partielle, et ensuite pour commencer d'accumuler l 510 l les sommnes de bits des classes respectives de mots codes correspondant 14 2682846 aux CW#i assignés C'est à dire que la somme de bits de CW#-4 est ajoutée à la somme de bits de CW#-3 pour produire une première soi Tme partielle. Ensuite la somme de bits de CW#-2 est ajoutée à la première soimnie partielle pour fournir une autre somme partielle et ainsi de suite Chaque fois qu'une somme partielle est fournie une comparaison l 512 l est faite entre le rapport de la somme partielle en cours au nombre total de bits dans la tranche et Hfrac Si le rapport est infé- rieur, la somme de bits des mots codes corres- pondant à la classification plus élevée suivante CW#i est ajoutée l 514, 510 l à la somme partielle précédente Si le rapport est supérieur l'indice i = j du dernier numéro de classification CW#i, est sorti l 518 l, c'est à dire que CWX#j est sorti. Le système applique ensuite n'importe quelle priorité demandée Par exemple, la période d'analyse peut inclure seulement des données d'en- tête de GOF, d'image et de tranche dont l'ensemble serait assigné au canal HP Dans ce cas, CW#j calculé doit être outrepassé puisqu'il dirigera de façon inhérente certains mots de codes vers le canal LP Des priorités sont effectuées en examinant les types de valeurs de priorité l 520 l Le test l 516 l pour j égal à 64 est inclus pour prévenir le système d'entrer dans une boucle sans fin puisque dans cet exemple CW#i ne peut pas dépasser 64. Les commandes de priorité et la valeur Hfrac peuvent être appliquées à l'analyseur 152 à partir du contrôleur du système 18 via le bus de commande CB Tous les signaux de synchronisation nécessaires et les commandes de contrôle pour l'analyseur peuvent également être fourinies via le bus de commande, CB Tous les signaux de synchro- nisation nécessaires et les commandes de contrôle pour l'analyseur peuvent également être fournies via le bus de commande. Parce que la proportion de ce qui peut être nominalement considéré comme données de haute priorité varie de trame à trame, assigner une valeur constante au pourcentage de données à allouer au canal HP devient problématique, lorsque les canaux respectifs HP et LP peuvent être entrainés vers un dépassement de capacité et/ou un dépassement négatif En conséquence, il est nécessaire de déterminer les proportions de façon dynamique selon les données traitées La détermi- nation est effectuée trame par trame et la proportion des données de chaque trame à allouer HP est ci-après désignée Hfrac. La détermination de Hfrac est faite avec les données correspondant aux groupes respectifs de trames Les valeurs pour Hfrac, seront, en général, proportionnelles à la capacité du canal restant après que les données pour les trames précédentes dans un groupe de trames ont été assignées. Dans ce qui suit, les valeurs pour Hfrac seront déterminées pour des trames I,P, B traitées de façon égale, et pour des trames I et P données prioritaires sur les trames B. , Définissons: Bgof (T) = capacité totale de bits pour un groupe de trames; Bgof (HP) = capacité totale de bits pour le canal HP pour un groupe de trames; Blgof(T) = capacité totale de bits laissée pour transmettre le restant du GOF; Blgof (HP) = capacité totale de bits laissée sur le canal HP pour le restant du GOF; Bf(T) = bits totaux transmis pour la trame en cours Bf(HP = bits transmis sur le canal HP pour la trame en cours. Considérons d'abord la situation o les trames I, P, B sont traitées également Nominalement, la quantité de données pour chaque trame à allouer au canal HP doit correspondre au rapport de la capacité du canal HP à la capacité totale du canal, c'est à dire la fraction Bgof (HP)/ Bgof(T) Cependant, à cause des contraintes men- tionnées ci-dessus (par exemple priorités), la quantité en cours de données dirigées vers le canal HP, pour des trames particulières peut différer de cette fraction Supposons que pour un nombre de premières trames dans un GOF il existe des données allouées au canal HP en dépassement significatif de la fraction Bgof(HP)/Bgof(T). Si le système continue à essayer d'attribuer des données pour les trames restantes au canal HP selon la fraction Bgof(HP)/Bgof(T) le canal HP tendra au dépassement et le canal LP au dépas- sement de capacité négatif Autrement, si des données sont allouées au canal HP sur la base de la capacité restante du canal HP de telles situations de dépassement de capacité/dépassement négatif peuvent être évitées Corrme telle, la fraction de données pour les trames respectives d'un groupe de trames à allouer au canal HP est déterminée à partir de la relation Blgof(HP)/Blgof(T) Ce calcul est fait suivant l'attribution de données HP pour chaque trame. Afin de réaliser ce calcul le processus suivant est suivi A l'initialisation du système, les valeurs Bf(T) et Bf(HI) sont établies à zéro et les valeurs Blgof(T) et Blgof(HP) sont établies à zéro Au début de chaque GOF, les valeurs Bigof(T) et Blgof(HP) sont actualisées avec les valeurs Bgof(T) et Bgof(HP), respectivement, à savoir Blgof(T)nouveau GOF = Blgof(T)dernier +Bgof(T) Blgof(HP)nouveau GOF= Blgof(HP)dernier+B+Bgo(HP) et Hfrac est calculé comme Hfrac = Blgof(HP)/ Blgof(T). La valeur de Hfrac est communiquée au circuit de sélection de priorité 14 et sur la base de la valeur de Hfrac, le numéro du mot code CW#j est déterminé Un test est pratiqué pour déterminer si des données en excès sont été allouées au canal HP dans les périodes antérieures d'analyse de CW#j Ce test peut comporter de générer le rapport Bf(HP)/Bf(T), et de le comparer avec Hfrac Si le rapport dépasse Hfrac beaucoup trop de données ont été allouées au canal HP. Pour contrecarrer cette situation CW#j est réduit à CW#j-l Les mots codes sont alors répartis entre les canaux HP et LP Les valeurs accumulées pour la quantité de données HP et de données totales pour la période d'analyse de CW#j en cours sont respectivement ajoutées aux valeurs Bf(HP-) et Bf(T). Les valeurs actualisées Bf(HP) et Bf(T) sont utilisées dans la période d'analyse CW#j suivante pour tester les données en excès allouées au canal HP A la fin de chaque trame les valeurs Bf(HP) et Bf(T) sont soustraites respectivement des valeurs Blgof(HP) et Blgof(T) et ensuite les valeurs Bf(HP) et Bf(T) sont remises à zéro. 18 2682846 Considérons ensuite un autre système dans lequel il est souhaité que des trames I soient données prioritaires de telle sorte que la majorité des données des trames I soit transmise sur le canal HP Cela peut être réalisé en condi- tionnant le système pour remplir sensiblement le tampon de débitHP avec les données des trames I et après cela en permettant au tampon de débit HP de se vider pendant le restant du GOF Les données de trame I ne peuvent pas remplir complè- tement le tampon de débit HP puisqu'un certain espace est requis pour une certaine information venant des trames P et B de chaque GOF Le pourcentage PHP de la capacité de tampon de débit HP que les données des trames I sont autorisées à occuper est un choix de conception Le PHP est rendu d'autant plus grand que la priorité donnée aux trames I est plus grande. En plus des variantes précédentes, définissons bo(HP) = occupation du tampon de débit du canal HP ( 15 A); bo(LP) = occupation du tampon de débit du canal LP ( 15 B); bsize(LP)=la dimension du tampon de débit du canal LP( 15 B); bsize(HP)=la dimension du tampon de débit du canal LP( 15 A); Ns = le nombre de trames source par seconde; N = le nombre de trames dans un GOF, M = le nombre de trames B entre trames P successives plus 1, R(LP) = le débit des bits du canal LP; R(HP) = le débit des bits du canal HP; R(T) = le débit total des bits des canaux La discussion de ce procédé de calcul de Hfrac se fera avec référence à l'ordinograrrme de la figure 6 Quand le système est initialisé Blgof(HP) et Blgof(T) sont initialisés à zéro. Remarquez que le système traite les trames I,P et B dans une séquence corme débutant avec une trame I Au commencement d'une trame l 600 l, on accède à la valeur Nbits et Bf(T) et Bf(HP) sont mis à zéro On accède aux valeurs bo(HP) et bo(LP) l 610 l à partir des tampons de débit Un test l 611 l est pratiqué pour déterminer si la dernière trame était une trame I S'il en est ainsi, une variable Mbpf est calculée l 614 l pour utilisation dans la détermination de Hfrac pour les trames P suivantes. Cette variable est calculée selon la relation, Mbp F = jbo(HP) R(HP)*(N-I)/Nst /(I-N/M). La valeur Mbp F est approximativement égale à une répartition uniforme de la capacité restante du canal HP (après affectation de priorité à la trame I) pour les trames P du groupe de trames. Celle-ci est la quantité minimale de données qui doit être appliquée au canal haute priorité pour chaque trame P pour prévenir un dépassement négatif du canal haute priorité. Le calcul de Hfrac pour les trames I procède l 612 l en actualisant d'abord les valeurs Blgof(T) et Blgof(HP) selon Blgof(T)nouveau GOF = Blgof(T)dernier+Bgof(T) Bllglaf(HP)nouveau GOF=Blgof(HP)dernier+ Bgof(HP) Deux valeurs de Hfrac sont calculées, Hfrac et Hfrac T Hfrac est déduit selon la relation: Hfrac =ibsize(HP)*PHP -bo(HP) + R(HP)/Ns) /Nbits. Les deux premiers termes du numérateur correspondent à l'espace disponible en cours du tampon de débit HP Le troisième terme est la quantité que le tampon de débit HP videra pendant un intervalle de trame normal. Hfrac T = t Blgof(HP)+lR(HP)/R(T)l lNbits-Blgof(T)l /Nbits 2682846 La valeur de Hfrac sortie est la valeur calculée dans l'équation de Hfrac à moins que Hfrac T soit supérieure à Hfrac, en quel cas la valeur sortie pour Hfrac est égale à la valeur calculée pour Hfrac Un test est fait pour s'assurer que cette valeur de Hfrac ne provoque pas de dépassement négatif pour le canal LP L'occupation attendue, Eo LP, du tampon LP est calculée selon l'équation Eo LP = ( 1-Hfrac)Nbits + bo(LP)-R(LP)/Ns. Si Eo LP est inférieur à zéro la valeur pour Hfrac est calculée à partir de: Hfrac = 14 +bo(LP)-(R(LP)/Ns)l /Nbits qui assurera en moyenne, que des données juste suffisantes seront allouées au canal LP pour prévenir un dépassement de capacité négatif La valeur de Hfrac est ensuite appliquée l 620 l pour démarrer l'analyse des valeurs CW#j de la trame I. Hfrac pour les trames P est généré l 616 l selon l'équation: Hfrac = Mbp F/Nbits Cette valeur est appliquée l 620 l pour générer les valeurs CW#j pour les trames P respectives. Hfrac pour les trames B est calculé l 6181 avec l'intention d'allouer une majorité de l'information des trames B au canal LP, c'est à dire toutes les données sauf celles qui sont considérées comme essentielles Les niveaux considérés comme essentiels dans n'importe quelle hiérarchie de données particulière structurée en couches sont certes subjectifs et sont déterminés selon la volonté du concepteur On doit prendre soin de s'assurer que le tampon de débit HP ne présente pas un dépassement de capacité négatif ni le tampon de de débit LP un dépassement Une variable MB est générée selon la relation: MB = -bo(HP) + R(HP)/Ns. Si MB est plus grand que zéro le tampon HP peut subir un dépassement de capacité négatif, en quel cas Hfrac est déterminé à partir de: Hfrac = MB/Nbits (+ une certaine marge) Si une condition de dépassement négatif HP n'existe pas un test est pratiqué pour déterminer un dépassement de capacité possible du tampon LP. Ceci est réalisé en générant la variable MBX donnée par: MBX =bsize(LP)-bo(LP)+R(LP)/Ns MBX est environ la quantité maximale de données que le tampon LP peut maintenir dans des conditions de charge courantes Si Nbits est plus grand que MBX, le tampon LP peut présenter un dépassement de capacité, et Hfrac est généré à partir de la relation: Hfrac = 1-MBX/Nbits (+ marge) Si ni l'une ni l'autre des deux conditions ci- dessus n'existent, alors Hfrac est mis à zéro, c'est à dire que toutes les données pour la trame B sont allouées au canal LP Cependant certaines couches de données peuvent encore être dirigées vers le canal HP en vertu des chevauchement de CW#j. Une fois que Hfrac est déterminé le processus de sélection de priorité es-t initié l 620 l Ce processus de sélection de priorité l 622 l peut être du type décrit relativement à la Figure 4, incluant les chevauchements de CW#j l 626 l. Considérant le format du signal du type MPEG, qui inclut, dans un exemple d'ordre hiérarchique, en-têtes de trames, en-têtes de tranche, en-têtes * J 2 22 2682846 de macroblocs, vecteurs de déplacement, et coef- ficients DCT, le processus de chevauchement peut entrainer toutes les données dans l'ordre hiérar- chique à partir des vecteurs de déplacement et au- dessus, à être appliquées au canal haute priorité De plus, il est inclus un processus de correction de CW#j l 624 l pour prévenir que beaucoup trop de données ne soient allouées au canal HP Dans le processus de correction l 624 l, le rapport Bf(HP) / Bf(T) est comparé à la valeur de Hfrac, et si le rapport dépasse Hfrac, la valeur générée de CW#j est diminuée de une unité Suivant la correction de CW#j, les données de mot code sont allouées l 626 l entre les canaux HP et LP et toute priorité de couche est effectuée Après chaque intervalle d'analyse de CW#j, la quantité de données traitées est accumulée l 628 l avec la quantité de données traitées dans les intervalles d'analyse antérieurs pour cette trame, pour actualiser les variables Bf(HP) et Bf(T) utilisées dans le processus de correction l 624 l. Des expériences ont indiqué que pour le processus générateur de Hfrac ci-dessus, comme on peut s'y attendre, l'occupation du canal haute priorité oscille entre un état relativement plein pour les trames I et un état relativement vide pour la dernière trame B d'un groupe de trames L'occu- pation du tampon de débit de basse priorité apparait rester à un niveau relativement constant si on le compare à l'occupation de tampon de débit de haute priorité. Une autre alternative traite les trames B comme indiqué i Tmnédiatement ci-dessus, et traite les trames I et P sur une base égale Dans ce mode de réalisation, les valeurs de Hfrac pour les trames I et P respectives sont générées selon la relation: Hfrac = Blgof(HP)+R(HP)*(Nbits-Blgof(T))/R(T)} /Nbits Les étapes de traitement pour générer Hfrac peuvent être prograrrmées dans l'analyseur de données 152 de la Figure 4, ou dans le contrôleur du système 18 montré en Figure I. Dans les revendications une fonction décrite corrme étant proportionnelle à une variable signifie que la variable apparait dans le numérateur d'une relation définissant la fonction Une fonction décrite comme étant inversement proportionnelle à une variable signifie que la variable apparait dans le dénominateur d'une relation définissant la fonction. REVENDICATIONS I 1 Dispositif pour partager les données vidéo comprimées entre un canal de haute priorité ayant une première capacité de canal et un canal de basse priorité ayant une seconde capacité de canal, lesdites données vidéo comprimées arrivant conmne des mots codes de différents types et en groupes de trames, chaque groupe de trames incluant une trame codée intra-trame et des trames codées inter-trame, ledit dispositif étant caractérisé par: une source ( 10, 12) desdites données vidéo comprimées; des tampons de débit de haute et basse priorité ( 15 A, 15 B) inclus respectivement dans lesdits canaux de haute et basse priorité, lesdits tampons de débit incluant des moyens pour générer des signaux respectifs indiquant leur état d'occupation en cours; des moyens 14 sensibles à une valeur Hfrac et auxdits mots codes pour classifier lesdits mots codes selon une hiérarchie prédéterminée desdits types, et appliquer au tampon de débit de haute priorité, selon ladite hiérarchie, les mots codes desdits types représentant la fraction Hfrac desdites données vidéo comprimées, et appliquer le restant dudit signal vidéo comprimé audit tampon de débit de basse priorité; des moyens ( 18) sensibles au signal indiquant l'occupation en cours du tampon de débit de haute priorité, pour générer ladite valeur Hfrac pour les trames respectives de chaque groupe, dans lesquels pour chaque groupe de trames, la valeur de Hfrac pour ladite trame codée intra-trame est x d'une grandeur à entraîner les données codées intra-trame à remplir sensiblement le tampon de débit de haute priorité, et la valeur de Hfrac pour lesdites trames codées inter-trame, est d'une grandeur pour tendre à entraîner le tampon de débit de haute priorité à se vider sur un groupe de trames. 2 Dispositif selon la revendication I caractérisé en ce que lesdits moyens pour générer Hfrac, génèrent Hfrac en proportion de l'occupation en cours du tampon de débit de haute priorité. 3 Dispositif selon la revendication 1 caractérisé en ce que lesdits moyens pour générer Hfrac, génèrent Hfrac en proportion inverse de la quantité de données vidéo comprimées des trames respectives. 4 Dispositif selon la revendication 1 caractérisé en ce que lesdits moyens pour générer Hfrac, génèrent Hfrac en proportion de l'occupation en cours du tampon de débit de haute priorité et en proportion inverse de la quantité de données vidéo comprimées des trames respectives; Dispositif selon la revendication l caractérisé en ce que lesdits moyens pour générer Hfrac, génèrent Hfrac pour ladite trame codée intra-trame selon la relation Hfrac = isize HP*PHP+ (R(HP)/Ns) bo(HP)} /Nbits ou size HP est la capacité du tampon de débit de haute priorité, PHP est la fraction de la capacité du tampon de débit que les trames codées intra-trame sont autorisées à occuper, R(HP)/Ns est le nombre moyen de bits par trame auquel le canal de haute priorité peut s'adapter, bo(HP) est l'occupation du tampon de débit de haute priorité en cours, et Nbits est la quantité de données vidéo comprimées pour les trames respectives. 6 Dispositif selon la revendication 5 caractérisé en ce que lesdites trames codées inter- trame sont de deux types de codage et lesdits moyens pour générer Hfrac, génèrent Hfrac pour l'un desdits types codés inter-trame selon la relation Hfrac = t(N- 1)*R(HP)/Ns -bo(HP)9 / t K*Nbitss ou N est le nombre de trames dans un groupe de trames, K est le nombre de trames codées inter- trame dudit type dans un groupe de trames, et bo(HP) est l'occupation du tampon de débit de haute priorité inmnédiatement après affectation de priorité à la toute dernière trame codée intra- trame. 7 Dispositif selon la revendication 6 caractérisé en ce que la valeur de Hfrac pour les trames codées inter-trame d'un second type est une constante prédéterminée. 8 Dispositif pour répartir des données vidéo comprimées entre un canal de haute priorité ayant une première capacité de canal et un canal de basse priorité ayant une seconde capacité de canal, lesdites données vidéo comprimées ( 12) arrivant comme des mots codes de différents types et en groupes de trames, chaque groupe de trames incluant une trame codée intra-trame et des trames codées inter-trame, caractérisé par ledit canal de haute priorité incluant un tampon de débit de haute priorité ( 15 A) et ledit canal de basse priorité incluant un tampon de débit de basse priorité ( 15 B) et des moyens ( 14, 18) sensibles à l'occupation desdits tampons de débit pour appliquer lesdits mots codes auxdits tampons de débit de haute et basse priorité selon une hiérarchie prédéterminée de telle sorte que pour les groupes respectifs de trames l'occupation du tampon de débit de haute priorité oscille entre un état de remplissage relatif et un état de vide relatif. 9 Dispositif selon la revendication 8, caractérisé en ce que l'occupation dudit tampon de débit de basse priorité est maintenue à un remplissage relativement constant en comparaison audit tampon de débit de haute priorité. Dispositif selon la revendication 8 caractérisé en ce que lesdits moyens sensibles à l'occupation desdits tampons de débit pour appliquer lesdits mots codes auxdits tampons de débit de haute et basse priorité incluent des moyens pour appliquer suffisarmment de données vidéo comprimées des trames codées intra-trame au tampon de débit de haute priorité pour remplir sensiblement ledit tampon de débit de haute priorité.