FR2940737A1 - Generation de flux de paquets de donnees video contenant des informations d'acceleration pour le decodage - Google Patents
Generation de flux de paquets de donnees video contenant des informations d'acceleration pour le decodage Download PDFInfo
- Publication number
- FR2940737A1 FR2940737A1 FR0859156A FR0859156A FR2940737A1 FR 2940737 A1 FR2940737 A1 FR 2940737A1 FR 0859156 A FR0859156 A FR 0859156A FR 0859156 A FR0859156 A FR 0859156A FR 2940737 A1 FR2940737 A1 FR 2940737A1
- Authority
- FR
- France
- Prior art keywords
- images
- video
- image
- group
- acceleration information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 claims description 17
- 230000002441 reversible effect Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000010304 firing Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/783—Adaptations for reproducing at a rate different from the recording rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Selon l'invention, on rajoute dans le flux d'images codées H264 une information, dite d'accélération, renseignant sur les vitesses d'accélération (x2,x4,x8,x16...) supportées par chaque image du flux à décoder. Cette information d'accélération est introduite dans l'en-tête d'au moins un des paquets de données vidéo de l'image. Lorsque le décodeur reçoit ce flux de paquets de données vidéo, les informations d'accélération contenues dans les paquets des images lui permettent d'obtenir directement, sans décodage préalable des images, les vitesses d'avance ou de retour rapide possibles pour décoder le flux ainsi que les images à décoder pour chacune des vitesses. L'invention est plus particulièrement destinée à améliorer le fonctionnement des décodeurs numériques vidéo ne disposant pas de capacité de décodage plus rapide que le temps réel.
Description
1 Domaine de l'invention La présente invention concerne un procédé de traitement d'une séquence d'images vidéo dans un codeur vidéo pour générer un flux de paquets de données vidéo destiné à être décodé par un décodeur s numérique. L'invention est destinée à améliorer le fonctionnement des décodeurs numériques vidéo ne disposant pas de capacité de décodage plus rapide que le temps réel.
Arrière-plan technologique 10 Les décodeurs numériques vidéo sont couramment équipés de disque de stockage, ce qui permet une relecture ultérieure des données vidéo. Pour cela, le flux vidéo codé est stocké dès réception sur le disque de stockage puis relu pour être décodé lors du visionnage. La lecture à partir d'un disque de stockage apporte la possibilité de fonctions 1s avancées comme l'avance rapide (AR) et le retour rapide (RR). Cependant, ces fonctions ARIRR ne sont possibles qu'à condition de pouvoir décoder très rapidement les images du flux vidéo. Deux solutions sont envisageables pour cela: soit le décodeur dispose d'une capacité de décodage plus rapide que le temps réel et il peut alors 20 décoder toutes les images pour n'en afficher que le nombre requis pour la vitesse d'affichage demandée par l'utilisateur, soit le décodeur ne dispose pas d'une capacité de décodage plus rapide que le temps réel et il ne décode qu'une partie des images du flux vidéo codé. La présente invention est destinée aux décodeurs ne 25 disposant pas de capacité de décodage plus rapide que le temps réel et s'applique tout particulièrement au flux vidéo codé selon la norme H264 (AVC/MPEG4). Un flux vidéo H264 introduit des relations d'interdépendance dans le codage, et par là-même dans le décodage, des 30 images. Ces relations permettent de réduire considérablement la quantité d'informations nécessaires à la transmission ou au stockage d'images successives fortement corrélées temporellement. Ce codage basé sur des techniques dites de prédiction avec compensation de mouvement permet de déduire avec un minimum d'informations additionnelles la plupart des 2 images vidéo à partir de ses voisines. Il existe donc une interdépendance des images qui permet de les hiérarchiser. Dans la suite de la présente description, on considérera une hiérarchie comportant 4 types d'images: s - les images I (pour Intra) qui n'ont aucune dépendance avec les autres images et qui, de ce fait, constituent des points d'accès au décodage d'un flux vidéo; ces images servent généralement de référence aux autres images du flux vidéo; - les images P (pour Prédites) dont le décodage se fait en 10 référence à des images I ou P précédemment décodées du le flux vidéo; - les images Br (pour Bidirectionnelles références) dont le décodage se fait en référence à des images I ou P ou Br du flux vidéo; elles sont dites bidirectionnelles car elles s'appuient sur des images situées en amont et en aval dans le flux vidéo et servent de référence 1s pour le décodage d'autres images; - les images B (pour Bidirectionnelles) dont le décodage se fait en référence à des images I, P ou Br du flux vidéo; elles sont dites bidirectionnelles car elles s'appuient sur des images situées en amont et en aval dans le flux vidéo mais ne servent pas de référence pour le 20 décodage des autres images du flux. Ces relations d'interdépendance sont montrées sur la figure 1 pour un groupe d'images successives comportant 16 images. Dans cette figure, les flèches indiquent les relations de dépendance prédictive entre les images. Une image pointant sur une autre image indique que le 25 décodage (ou codage) de l'image qui pointe dépend temporellement de l'image pointée. Dans cette figure, les images sont représentées dans l'ordre temporel. Dans l'exemple de la figure 1, deux niveaux hiérarchiques sont définis pour les images de type Br: le décodage des images Br de niveau 2, notées Br2, se fait uniquement en référence à des 30 images I ou P et le décodage des images Br de niveau 1, notées Br1, se fait uniquement en référence à des images I, P ou Br2. A noter que les dernières images Br2, Br1 et B du groupe d'images se réfèrent à une image I du groupe d'images suivant. 3 Cette figure 1 montre que cette organisation hiérarchique des prédictions entre images présente un intérêt pour réaliser des applications de décodage accéléré. En effet, un décodage des images I et P uniquement permet un décodage accéléré de rapport 8 par rapport à un s décodage temps réel. De la même façon, un décodage des images I, P et Br2 uniquement permet un décodage accéléré de rapport 4 par rapport à un décodage temps réel. Enfin, un décodage des images I, P, Br2 et Br1 uniquement permet un décodage accéléré de rapport 2 par rapport à un décodage temps réel. 10 Si cette organisation hiérarchique constitue un apport évident pour la réalisation de fonctions d'avance rapide dans le décodeur numérique, il convient néanmoins de noter que le choix de l'organisation hiérarchique, c'est-à-dire le nombre de niveaux hiérarchiques, a un impact sensible sur la performance du codage en termes de qualité de 1s rendu des images, les solutions de codage les plus performantes consistant à rendre dynamique la structure du groupe d'images (ou GOP en langue anglaise pour Group of Pictures) en l'ajustant au mieux au contenu des images à coder. En effet, d'un point de vue purement intuitif, il est 20 compréhensible d'imaginer qu'une baisse de la fréquence des images I et P rend l'apport de la prédiction temporelle moins efficace pour le codage. En effet, l'éloignement des images I ou P entre elles augmente les distorsions spatiales liées aux déplacements des objets et/ou de la caméra dans la scène. Ainsi, plus les scènes présentent des mouvements 25 complexes et importants, plus il convient de réduire la période entre images I ou P lorsque l'on cherche à optimiser la performance de codage. Les figures 2A à 2D montrent différentes structures de GOP définies en fonction du contenu vidéo des images de ce GOP. 30 La figure 2A montre une première structure de GOP comprenant 32 images et 6 niveaux hiérarchiques. Le GOP comprend plus précisément une image I, une image P, 2 images Br3 (images Br de niveau 3), quatre images Br2 (images Br de niveau 2), huit images Br1 (images Br de niveau 1) et seize images B. Une image I ou P apparaît 4 toutes les 16 images. Cette structure est adaptée pour les mouvements très lents et peu complexes. La figure 2B montre une deuxième structure de GOP comprenant 16 images et 5 niveaux hiérarchiques. Le GOP comprend s plus précisément une image I, deux images P, deux images Br2 (images Br de niveau 2), quatre images Br1 (images Br de niveau 1) et huit images B. Une image I ou P apparaît dans le GOP toutes les 8 images. Cette structure est adaptée pour les mouvements lents et moyennement complexes. 10 La figure 2C montre une troisième structure de GOP comprenant 16 images et 4 niveaux hiérarchiques. Le GOP comprend plus précisément une image I, quatre images P, quatre images Br1 (images Br de niveau 1) et huit images B. Une image I ou P apparaît dans le GOP toutes les 8 images. Cette structure est adaptée pour les 1s mouvements moyens et/ou complexes. La figure 2D montre une quatrième structure de GOP comprenant 16 images et 4 niveaux de hiérarchie. Le GOP comprend plus précisément une image I, huit images P et huit images B. Une image I ou P apparaît dans le GOP toutes les 4 images. Cette structure est 20 adaptée pour les mouvements forts et/ou très complexes. En référence à ces figures, on remarque que le nombre de niveaux hiérarchiques se réduit au fur et à mesure que la complexité et/ou l'amplitude du mouvement des objets et/ou de la caméra dans la scène filmée s'intensifie(nt). 25 Si l'utilisation de structures dynamiques de GOP hiérarchique adaptées au contenu vidéo permet d'améliorer la performance du codage, elle rend la gestion des fonctions de décodage accéléré difficile à gérer. En effet, les dépendances entre les images du GOP étant variables, la norme H264 ne permet pas actuellement au 30 décodeur de disposer d'informations pertinentes et facilement accessibles pour déterminer à tout instant les images qu'il doit décoder pour atteindre la vitesse d'accélération demandée par l'utilisateur. La seule solution consiste à effectuer un décodage d'au moins une partie du flux vidéo pour accéder à ces informations pertinentes. Ce décodage est 2940737 s coûteux en ressources, notamment si un cryptage est réalisé sur les données lors de leur transport et/ou stockage. Pour remédier à ce problème, la norme DVB ETSI TS 101154 a défini une structure de données appelée AU_information. Cette structure de données est placée s sur une couche non cryptée de la paquétisation (section utilisateur de la couche de transport MPEG2 ISO/IEC 13181-1) et fournit des informations au décodeur pour faciliter l'accès aux images. Mais, avec la norme DVB ETSI TS 101154 telle qu'elle existe actuellement, le décodeur est uniquement en mesure de connaître le type des images 10 I/P/B et de savoir si l'image sert de référence (champ AU_ref_pic_idc de la structure AU_information) à une autre image. Ce champ permet simplement de distinguer une image Br (champ AU_ref_pic_idc non nul) d'une image B (champ AU_ref pic_idc nul). A partir de ces informations, le décodeur n'est pas en mesure de déterminer les relations 1s d'interdépendance entre les images du GOP, surtout si les images bidirectionnelles comportent plusieurs niveaux hiérarchiques et si la structure du GOP est variable.
Résumé de l'invention 20 Un objet de l'invention est de proposer une solution permettant au décodeur de connaître à tout instant les accélérations de décodage couvertes par chacune des images codées. Selon l'invention, on introduit, pour chaque image du flux vidéo H264, une information dite d'accélération renseignant sur les vitesses d'accélération 25 (x2,x4,x8,x16,...) pour lesquelles cette image est à décoder. Cette information est introduite par le codeur dans les paquets du flux vidéo. Aussi la présente invention a pour objet un procédé de traitement d'au moins un groupe d'images consécutives d'une séquence d'images vidéo dans un codeur vidéo destiné à générer un flux de 30 paquets de données vidéo en vue de leur stockage ou de leur transport, caractérisé en ce qu'il comprend les étapes suivantes: - analyser ledit groupe d'images consécutives de manière à attribuer un type d'image à chaque image vidéo dudit groupe, le type d'image de chaque image vidéo définissant la dépendance entre ladite 35 image vidéo et les autres images vidéo dudit groupe, 6 - coder lesdites images du groupe en fonction de leur type d'image de manière à générer des images vidéo codées, - déterminer une information, dite d'accélération, pour chaque image vidéo du groupe, ladite information d'accélération s indiquant les vitesses d'avance ou de retour rapide pour lesquelles l'image vidéo codée correspondante est à décoder lors du décodage du groupe d'images, et - générer, à partir desdites images codées, un flux de paquets de données vidéo, l'information d'accélération de chaque image 10 vidéo du groupe étant introduite dans l'en-tête d'au moins un paquet se rapportant à l'image vidéo correspondante. Lorsque le décodeur reçoit ce flux de paquets de données vidéo, les informations d'accélération contenues dans les paquets des images lui permettent d'obtenir directement, sans décodage préalable des 1s images, les vitesses d'avance ou de retour rapide possibles pour décoder le flux ainsi que les images à décoder pour chacune des vitesses. Selon une particularité de l'invention, l'information d'accélération de chaque image vidéo est déterminée à partir de son type d'image. 20 Selon un mode de réalisation particulier, les images vidéo sont codées conformément à la norme H264 et le type des images vidéo est sélectionné parmi les types I, P, Br (avec plusieurs niveaux hiérarchiques possibles Br1, Br2...) et B. Selon un mode de réalisation avantageux, l'information 25 d'accélération d'une image vidéo est en outre déterminée en fonction de l'écart minimum entre deux images de type I ou P consécutives dans le groupe d'images pour tenir compte des cas où la période entre deux images I ou P varie au sein du GOP. Selon un mode de réalisation particulier, les paquets générés 30 sont conformes à la norme ISO/IEC 13818-1 et l'information d'accélération est introduite dans la structure AU information définie par la norme DVB ETSI TS 101154.
L'invention concerne également un procédé de décodage 35 d'un flux de paquets de données vidéo généré selon le procédé de 7 traitement décrit précédemment, caractérisé en ce qu'il comprend les étapes suivantes: - recevoir une consigne de vitesse d'avance ou de retour rapide; s - extraire, à partir dudit flux de paquets de données vidéo, des images codées et une information d'accélération pour chacune desdites images codées; et - décoder les images vidéo codées dont l'information d'accélération contient une vitesse d'avance ou de retour rapide égale à 10 ladite consigne de vitesse d'avance ou de retour rapide ou, en l'absence de telles images, décoder les images vidéo codées dont l'information d'accélération contient la vitesse d'avance ou de retour rapide la plus proche en valeur absolue de ladite consigne de vitesse d'avance ou de retour rapide. 15 L'invention concerne également un encodeur vidéo destiné à traiter au moins un groupe d'images consécutives d'une séquence d'images vidéo et à générer un flux de paquets de données vidéo, caractérisé en ce qu'il comprend: 20 - un module d'analyse pour analyser ledit groupe d'images consécutives et attribuer un type d'image à chaque image vidéo dudit groupe, le type d'image de chaque image vidéo définissant la dépendance entre ladite image vidéo et les autres images vidéo dudit groupe, 25 - un module de codage pour coder lesdites images du groupe en fonction de leur type d'image de manière à générer des images vidéo codées, - un module de détermination pour déterminer une information, dite d'accélération, pour chaque image vidéo du groupe, 30 ladite information d'accélération indiquant les vitesses d'avance ou de retour rapide pour lesquelles l'image vidéo codée correspondante est à décoder lors du décodage du groupe d'images, et - un module de génération pour générer, à partir desdites images codées, un flux de paquets de données vidéo, l'information 35 d'accélération de chaque image vidéo du groupe étant introduite dans l'en-tête d'au moins un paquet de données vidéo de ladite image vidéo. 8 Enfin, l'invention concerne un décodeur vidéo apte à décoder un flux de paquets de données vidéo généré par l'encodeur vidéo défini précédemment, caractérisé en ce qu'il comprend: s - un module de réception pour recevoir une consigne de vitesse d'avance ou de retour rapide; - un module d'extraction pour extraire, à partir dudit flux de paquets de données vidéo, des images codées et une information d'accélération pour chacune desdites images codées; et 10 - un module de décodage pour décoder les images vidéo codées dont l'information d'accélération contient une vitesse d'avance ou de retour rapide égale à ladite consigne de vitesse d'avance ou de retour rapide ou, en l'absence de telles images, pour décoder les images vidéo codées dont l'information d'accélération contient la vitesse 1s d'avance ou de retour rapide la plus proche en valeur absolue de ladite consigne de vitesse d'avance ou de retour rapide.
Brève description des figures 20 L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages apparaîtront plus clairement au cours de la description explicative détaillée qui va suivre de modes de réalisation particuliers actuellement préférés de l'invention, en référence aux figures annexées, parmi lesquels : 25 - la figure 1 illustre une première structure hiérarchique de groupe d'images; - les figures 2A à 2D illustrent d'autres structures hiérarchiques de groupe d'images dont la composition varie en fonction de la complexité et de l'amplitude du mouvement dans le groupe 30 d'images; - la figure 3 représente un organigramme des étapes du procédé de l'invention ; - la figure 4 illustre une structure hiérarchique de groupe d'images dans laquelle la période entre images I ou P à l'intérieur du 35 groupe d'images varie ; et 9 - la figure 5 représente schématiquement un codeur apte à mettre en oeuvre le procédé de l'invention.
Description détaillée de l'invention s L'invention propose de rajouter dans le flux d'images codées H264 une information, dite d'accélération, renseignant sur les vitesses d'accélération supportées par l'image à décoder. Du fait de la structure hiérarchique des images entre elles dans le GOP, ces vitesses d'accélération sont dichotomiques : x2, x4, x8, x16 dans le cas de la 10 figure 1. On rajoute à ces vitesses d'accélération, les vitesses rendues possible par le décodage des images I uniquement et qui correspondent à toutes les tailles de GOP, à savoir dans notre exemple toutes les vitesses multiples de 8: x24, x32, x40 .... Dans le tableau qui suit, on s'arrête à la vitesse d'accélération x32.
15 Le tableau qui suit représente l'information d'accélération associée à chaque image de la structure de GOP de la figure 1. I B Br1 B Br2 B Br1 B P B Br1 B Br2 B Br1 B x2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 C x4 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 o x8 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 x16 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q x32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Une telle information d'accélération est introduite, pour 20 chaque image du GOP, dans le flux d'images codées (flux H264). Comme montré dans le tableau précédent, cette information se présente par exemple sous la forme d'un train binaire, chaque bit du train binaire étant associé à une vitesse d'accélération possible. Lorsque, dans ce train binaire, un bit est à 1, cela signifie que l'image doit être décodée pour 25 obtenir la vitesse d'accélération associée à ce bit lors du décodage. Les informations d'accélération contenues dans le tableau précédent indiquent que l'image I du GOP de la figure 1 doit être décodée pour les vitesses d'accélération x2, x4, x8 et x16, que l'image P doit être décodée pour les vitesses d'accélération x2, x4 et x8, que les images Br2 doivent 10 être décodées pour les vitesses d'accélération x2 et x4, et que les images Br1 doivent être décodées pour la vitesse d'accélération x2. L'information d'accélération est de préférence associée à une couche de transport non cryptée et est introduite dans l'en-tête des s paquets de données, par exemple dans la structure AU_information définie par la norme DVB ETSI TS 101154. La figure 3 représente un organigramme des étapes du procédé de l'invention mise en oeuvre dans un codeur. Selon une première étape E1, le codeur analyse un groupe 10 d'images consécutives et détermine, pour celui-ci, une structure hiérarchique adaptée au contenu des images. Le codeur détermine en particulier un type d'image pour chacune d'entre elles. Pour cela, le codeur réalise sur les images vidéo à coder des mesures de corrélation entre images (accumulation des différences absolues entre pixels de 1s mêmes positions géographiques sur des images espacées de 1, 2 et 3 images). A partir de ces mesures, il sélectionne un type d'image, parmi les types I, P, Br3, Br2, Br1, B, pour chaque image. Selon une deuxième étape E2, les images à coder sont codées selon leur type d'image I, P, Br3, Br2, Br1, B conformément à la 20 norme H264. Cette étape de codage comprend une étape préalable de réarrangement des images en fonction de leur type pour que les images servant de référence à au moins une autre image soient disposées avant cette image dans le flux. Cette étape de codage avec réarrangement des images est bien connue de l'homme du métier et ne sera donc pas décrite 25 en détail ici. Selon une troisième étape E3, qui peut être effectuée parallèlement à l'étape E2, on détermine une information d'accélération pour chaque image. Cette information d'accélération est déterminée à partir du type de l'image. Le principe de base de cette étape est le 30 suivant pour une structure de GOP comportant des images I, P, Br2, Br1 et B: les images Br1 sont à décoder pour obtenir une vitesse d'accélération x2, les images Br2 sont à décoder pour obtenir les vitesses d'accélération x2 et x4, les images P sont à décoder pour obtenir les vitesses d'accélération x2, x4 et x8 et l'image I est à décoder pour 35 obtenir les vitesses d'accélération x2, x4, x8 et x16. Ce cas correspond au tableau défini précédemment pour la structure de la figure 1. Dans le ii cas d'une structure de GOP comportant des images I, P, Br3, Br2, Br1 et B: les images Br1 sont à décoder pour obtenir une vitesse d'accélération x2, les images Br2 sont à décoder pour obtenir les vitesses d'accélération x2 et x4, les images Br3 sont à décoder pour obtenir les vitesses s d'accélération x2, x4 et x8, l'image P est à décoder est pour obtenir les vitesses d'accélération x2, x4, x8 et x16 et l'image I est à décoder pour obtenir les vitesses d'accélération x2, x4, x8, x16 et x32. Pour tenir compte des structures de GOP dans lesquelles la période p entre deux images I ou P consécutives varie au sein du GOP, 10 l'information d'accélération dépend en outre avantageusement de l'écart minimum entre deux images I ou P consécutives au sein du GOP. Dans ce cas, les valeurs de vitesses d'accélération définies précédemment pour les images I, P, Br3, Br2, Br1 et B sont ensuite corrigées en fonction de cet écart minimum. Plus précisément, le nombre de vitesses 1s d'accélération est réduit si cet écart minimum est faible. Si cet écart vaut 2, alors seule la vitesse x2 est maintenue pour les images I, P et Br2. Si cet écart vaut 4, seules les vitesses x2 et x4 sont maintenues pour les images I et P, et si cet écart vaut 8, seules les vitesses x2, x4 et x8 sont maintenues.
20 Ce cas où la période p entre deux images I ou P consécutives varie au sein du GOP est illustré par la figure 4. Cette structure comporte des images I, P, Br2, Br1 et B. L'écart minimum entre deux images I ou P consécutives est égal à 4. Les valeurs de vitesse d'accélération sont alors corrigées comme indiqué précédemment. On 25 obtient alors les informations d'accélération suivantes pour cette structure de GOP: I B Br1 B Br2 B Br1 B P B Br1 B P B Br1 B P B Br1 B P B Br1 B x2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 C x4 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 o ï x8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ,Û x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q x24 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 Dans cet exemple, les vitesses d'accélération pour les images P et Br2 se limitent à x2 et x4 et, pour l'image I, elles se limitent à x2, x4 et x24. Selon une quatrième étape E4, les images vidéo codées sont s encapsulées dans des paquets selon la norme MPEG2 System, ISO/IEC13818-1. Pour chaque image codée, on introduit dans l'en-tête d'au moins un paquet de données se rapportant à cette image codée l'information d'accélération déterminée pour cette image. Avantageusement, on introduit cette information d'accélération dans la 10 section utilisateur de l'en-tête du premier paquet de l'image. Comme indiqué précédemment, cette information d'accélération est par exemple introduite dans la structure AU_information définie à chaque image par la norme DVB ETSI TS 101154. Ainsi, selon l'invention, un décodeur recevant un flux de 1s paquets de données générés selon le procédé décrit précédemment est en mesure d'identifier immédiatement lors du décodage de l'image I les vitesses d'accélération possibles pour décoder ce flux. Il est aussi capable de définir, à partir de l'ensemble des informations d'accélération des images du GOP, les images à décoder pour satisfaire au mieux 20 l'accélération demandée par l'utilisateur. En mode opératoire, le décodeur peut ainsi à chaque image I définir la vitesse d'accélération la plus proche de celle demandée par l'utilisateur car, du fait de l'aspect dynamique de la structure du GOP, il se peut que toutes les vitesses d'accélération demandées par l'utilisateur 25 ne soient pas accessibles dans le flux vidéo. L'exemple qui suit, qui correspond à la structure de GOP de la figure 2D, est un cas où le codeur a choisi une structure de GOP adaptée à un contenu vidéo à mouvements forts et/ou complexes. I B P B P B P B P B P B P B P B x2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 C x4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 o ï x8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x16 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q x24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 13 Dans ce cas, si l'utilisateur demande une vitesse d'accélération x4 à l'affichage, le décodeur doit choisir soit de la limiter à x2, soit de passer à x16. Si le décodeur choisit la vitesse d'accélération la plus proche de la vitesse demandée par l'utilisateur, il choisit la vitesse s x2. Le décodeur peut également choisir d'alterner entre la vitesse x2 et la vitesse x16 pour obtenir une vitesse d'accélération moyenne égale à la vitesse demandée par l'utilisateur. A noter que cette limitation de qualité de service est la conséquence d'un choix de la part l'opérateur qui émet le flux de 10 privilégier la performance de codage. Si l'opérateur souhaite privilégier à tout instant le nombre de vitesses d'accélérations du mode spécial (ou trick mode en langue anglaise) du décodeur, il peut demander à ce que le codeur réalisant l'organisation en GOP emploie des structures de GOP permettant un plus grand nombre d'accélérations. La contrepartie de ce 1s grand nombre de vitesses d'accélérations est la réduction du nombre de structures de GOP possibles. La figure 5 représente le schéma d'un codeur vidéo (appelé également encodeur vidéo) apte à mettre en oeuvre le procédé de l'invention décrit précédemment. Dans ce schéma, les modules 20 représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant, ou constituer des fonctionnalités d'un même logiciel. A contrario, certains modules peuvent être éventuellement composés 25 d'entités physiques séparées. La plupart de ces modules ont une mémoire interne ou externe (non représentée) pour stocker temporairement des données. L'encodeur vidéo comprend un premier module d'analyse 10 d'images vidéo reçues en bande de base. Ce module d'analyse réalise 30 des mesures de corrélation entre les images d'un premier groupe d'images et détermine, à partir de ces mesures de corrélation, une structure hiérarchique de GOP et donc un type d'image pour chacune des images du groupe. Un module 20 est ensuite prévu pour réarranger les images 35 en fonction de leur type de manière à ce que les images servant de 14 référence à une autre image soient disposées avant cette image dans le flux. Le flux des images réarrangées est ensuite retardé par un module 30 de retard. Le retard appliqué est égal au nombre d'images du s GOP. Ce retard est nécessaire pour calculer l'écart minimum entre deux images I ou P consécutives au sein du GOP. Le flux d'images retardé est ensuite traité par un module 40 destiné à coder pour les images selon leur type conformément à la norme H264.
10 Un module 50 est prévu pour déterminer l'information d'accélération pour chacune des images du GOP. Cette information d'accélération est déterminée pour chaque image à partir de son type et éventuellement de l'écart minimum entre deux images I ou P dans le GOP.
15 Enfin, un module 60 de paquetisation est prévu pour encapsuler les images codées dans des paquets de données vidéo conformément à la norme MPEG2 System, ISO/IEC13818-1. Ce module introduit également dans la section utilisateur de l'en-tête du premier paquet de rapportant à chaque image l'information d'accélération 20 déterminée précédemment pour cette image. A noter que le module de retard 30 peut être disposé à d'autres positions entre le module 10 d'analyse et le module 60 de paquetisation. Il peut être placé entre les modules 10 et 20 ou entre les modules 40 et 60.
25 Bien que l'invention ait été décrite en liaison avec différents exemples de structures de GOP, il est bien évident qu'elle n'y est nullement limitée et qu'elle est applicable à tout type de structure de GOP.
Claims (9)
- REVENDICATIONS1. Procédé de traitement d'au moins un groupe d'images consécutives d'une séquence d'images vidéo dans un codeur vidéo s destiné à générer un flux de paquets de données vidéo en vue de leur stockage ou de leur transport, caractérisé en ce qu'il comprend les étapes suivantes: - analyser (El) ledit groupe d'images consécutives de manière à attribuer un type d'image à chaque image vidéo dudit groupe, 10 le type d'image de chaque image vidéo définissant la dépendance entre ladite image vidéo et les autres images vidéo dudit groupe, - coder (E2) lesdites images du groupe en fonction de leur type d'image de manière à générer des images vidéo codées, - déterminer (E3) une information, dite d'accélération, pour 1s chaque image vidéo du groupe, ladite information d'accélération indiquant les vitesses d'avance ou de retour rapide pour lesquelles l'image vidéo codée correspondante est à décoder lors du décodage du groupe d'images, et - générer (E4), à partir desdites images codées, un flux de 20 paquets de données vidéo, l'information d'accélération de chaque image vidéo du groupe étant introduite dans l'en-tête d'au moins un paquet de données vidéo de ladite image vidéo.
- 2. Procédé selon la revendication 1, caractérisé en ce que 25 l'information d'accélération d'une image vidéo est déterminée à partir du type d'image de ladite image vidéo.
- 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que les images vidéo sont codées conformément à la norme H264. 30
- 4. Procédé selon la revendication 3, elle-même dépendante de la revendication 2, caractérisé en ce que l'information d'accélération d'une image vidéo est en outre déterminée en fonction de l'écart minimum entre deux images de type I ou P consécutives dans le groupe 35 d'images. 16
- 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que les paquets générés sont conformes à la norme ISO/IEC 13818-1.
- 6. Procédé selon la revendication 5, caractérisé en ce que l'information d'accélération de chaque image est introduite dans la structure AU_information définie par la norme DVB ETSI TS 101154.
- 7. Procédé de décodage d'un flux de paquets de données vidéo généré selon le procédé de traitement selon l'une des revendications 1 à 6, caractérisé en ce qu'il comprend les étapes suivantes: - recevoir une consigne de vitesse d'avance ou de retour rapide; - extraire, à partir dudit flux de paquets de données vidéo, des images codées et une information d'accélération pour chacune desdites images codées; et - décoder les images vidéo codées dont l'information d'accélération contient une vitesse d'avance ou de retour rapide égale à ladite consigne de vitesse d'avance ou de retour rapide ou, à défaut, décoder les images vidéo codées dont l'information d'accélération contient la vitesse d'avance ou de retour rapide la plus proche en valeur absolue de ladite consigne de vitesse d'avance ou de retour rapide.
- 8. Encodeur vidéo destiné à traiter au moins un groupe d'images consécutives d'une séquence d'images vidéo et à générer un flux de paquets de données vidéo, caractérisé en ce qu'il comprend: - un module d'analyse (10) pour analyser ledit groupe d'images consécutives et attribuer un type d'image à chaque image vidéo dudit groupe, le type d'image de chaque image vidéo définissant la dépendance entre ladite image vidéo et les autres images vidéo dudit groupe, - un module de codage (20, 30, 40) pour coder lesdites images du groupe en fonction de leur type d'image de manière à générer 35 des images vidéo codées,17 - un module de détermination (50) pour déterminer une information, dite d'accélération, pour chaque image vidéo du groupe, ladite information d'accélération indiquant les vitesses d'avance ou de retour rapide pour lesquelles l'image vidéo codée correspondante est à s décoder lors du décodage du groupe d'images, et - un module de génération (60) pour générer, à partir desdites images codées, un flux de paquets de données vidéo, l'information d'accélération de chaque image vidéo du groupe étant introduite dans l'en-tête d'au moins un paquet de données vidéo de ladite 10 image vidéo.
- 9. Décodeur vidéo apte à décoder un flux de paquets de données vidéo généré par l'encodeur vidéo selon la revendication 8, caractérisé en ce qu'il comprend: 15 - un module de réception pour recevoir une consigne de vitesse d'avance ou de retour rapide; - un module d'extraction pour extraire, à partir dudit flux de paquets de données vidéo, des images codées et une information d'accélération pour chacune desdites images codées; et 20 - un module de décodage pour décoder les images vidéo codées dont l'information d'accélération contient une vitesse d'avance ou de retour rapide égale à ladite consigne de vitesse d'avance ou de retour rapide ou, à défaut, pour décoder les images vidéo codées dont l'information d'accélération contient la vitesse d'avance ou de retour 25 rapide la plus proche en valeur absolue de ladite consigne de vitesse d'avance ou de retour rapide. 30
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0859156A FR2940737A1 (fr) | 2008-12-31 | 2008-12-31 | Generation de flux de paquets de donnees video contenant des informations d'acceleration pour le decodage |
| PCT/EP2009/067804 WO2010076269A1 (fr) | 2008-12-31 | 2009-12-22 | Génération de flux de paquets de données vidéo contenant des informations d'accélération pour le décodage |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0859156A FR2940737A1 (fr) | 2008-12-31 | 2008-12-31 | Generation de flux de paquets de donnees video contenant des informations d'acceleration pour le decodage |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR2940737A1 true FR2940737A1 (fr) | 2010-07-02 |
Family
ID=40929591
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR0859156A Pending FR2940737A1 (fr) | 2008-12-31 | 2008-12-31 | Generation de flux de paquets de donnees video contenant des informations d'acceleration pour le decodage |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR2940737A1 (fr) |
| WO (1) | WO2010076269A1 (fr) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003009085A (ja) * | 2001-06-20 | 2003-01-10 | Mitsubishi Electric Corp | デジタル信号記録装置および方法、デジタル信号再生装置および方法 |
| US20050147375A1 (en) * | 2003-01-17 | 2005-07-07 | Shinya Kadono | Moving picture coding method and moving picture decoding method |
| WO2005106875A1 (fr) * | 2004-04-28 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd. | Appareil de generation de flux d'images animees, appareil de codage d'images animees, appareil de multiplexage d'images animees et appareil de decodage d'images animees |
-
2008
- 2008-12-31 FR FR0859156A patent/FR2940737A1/fr active Pending
-
2009
- 2009-12-22 WO PCT/EP2009/067804 patent/WO2010076269A1/fr not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003009085A (ja) * | 2001-06-20 | 2003-01-10 | Mitsubishi Electric Corp | デジタル信号記録装置および方法、デジタル信号再生装置および方法 |
| US20050147375A1 (en) * | 2003-01-17 | 2005-07-07 | Shinya Kadono | Moving picture coding method and moving picture decoding method |
| WO2005106875A1 (fr) * | 2004-04-28 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd. | Appareil de generation de flux d'images animees, appareil de codage d'images animees, appareil de multiplexage d'images animees et appareil de decodage d'images animees |
Non-Patent Citations (1)
| Title |
|---|
| "Digital Video Broadcasting (DVB); Specification for the use of Video and Audio Coding in Broadcasting Applications based on the MPEG-2 Transport Stream European Broadcasting Union Union Européenne de Radio-Télévision EBUÜER; ETSI TS 101 154", ETSI STANDARDS, LIS, SOPHIA ANTIPOLIS CEDEX, FRANCE, vol. BC, no. V1.8.1, 1 July 2007 (2007-07-01), XP014037552, ISSN: 0000-0001 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2010076269A1 (fr) | 2010-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9398301B2 (en) | Parallel video encoding based on complexity analysis | |
| FR2894421A1 (fr) | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique | |
| US8391688B2 (en) | Smooth rewind media playback | |
| FR2931610A1 (fr) | Procede et un dispositif de transmission de donnees d'images | |
| FR2849327A1 (fr) | Procede et dispositif de decodage audio/video, circuit pilote video et boitier decodeur l'incorporant | |
| CN102771134A (zh) | 用于支持播放内容的方法及装置 | |
| EP3449634B1 (fr) | Procédé de composition contextuelle d'une représentation vidéo intermédiaire | |
| FR2944938A1 (fr) | Procede et dispositif de correction d'erreurs. | |
| FR2930387A1 (fr) | Procede de traitement d'un flux de donnees codes | |
| FR2908585A1 (fr) | Procede et dispositif de transmission de donnees video. | |
| FR2959636A1 (fr) | Procede d'acces a une partie spatio-temporelle d'une sequence video d'images | |
| FR2879387A1 (fr) | Procede de transmission a debit binaire variable a travers un canal de transmission. | |
| EP1862009B1 (fr) | Procede d'envoi de commande a un serveur de flux de donnees numeriques et appareil implementant le procede | |
| FR2940737A1 (fr) | Generation de flux de paquets de donnees video contenant des informations d'acceleration pour le decodage | |
| EP1261209A2 (fr) | Procédé de détection de bruit dans un flux de données vidéo codées | |
| WO2025075799A1 (fr) | Transcodage sélectif juste à temps | |
| EP2870773B1 (fr) | Dispositif et procede d'enregistrement de donnees relatifs a une fonction de decalage temporel sur un support d'enregistrement | |
| EP1241894A1 (fr) | Procédé de codage d'images numériques basé sur la dissimulation d'erreurs | |
| WO2011128574A1 (fr) | Reception d'un contenu numerique en mode truque | |
| EP3926929B1 (fr) | Procédé de gestion de la lecture d'un contenu numérique au sein d'un terminal lecteur de contenus multimédias connecté à un dispositif de restitution | |
| CN120604518A (zh) | 用于对视频流进行解码的方法 | |
| FR2934453A1 (fr) | Procede et dispositif de masquage d'erreurs | |
| FR3124301A1 (fr) | Procédé de construction d’une image de profondeur d’une vidéo multi-vues, procédé de décodage d’un flux de données représentatif d’une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d’ordinateur correspondants. | |
| WO2014096638A1 (fr) | Procédé et dispositif de transmission d'une séquence d'images basé sur un codage région adaptatif | |
| WO2010086562A1 (fr) | Procede et dispositif de codage d'images mettant en oeuvre des modes de codage distincts, procede et dispositif de decodage, et programmes d'ordinateur correspondants |