FR2894740A1 - Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video - Google Patents

Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video Download PDF

Info

Publication number
FR2894740A1
FR2894740A1 FR0553837A FR0553837A FR2894740A1 FR 2894740 A1 FR2894740 A1 FR 2894740A1 FR 0553837 A FR0553837 A FR 0553837A FR 0553837 A FR0553837 A FR 0553837A FR 2894740 A1 FR2894740 A1 FR 2894740A1
Authority
FR
France
Prior art keywords
video data
decoding
slices
slice
image
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
Application number
FR0553837A
Other languages
English (en)
Inventor
Bruno Garnier
Frederic Pasquier
Sylvain Fabre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to FR0553837A priority Critical patent/FR2894740A1/fr
Priority to CN2006101641592A priority patent/CN1984329B/zh
Priority to EP06125564A priority patent/EP1827022A3/fr
Priority to US11/636,258 priority patent/US20070133674A1/en
Priority to KR1020060125469A priority patent/KR101345015B1/ko
Priority to JP2006334881A priority patent/JP2007166625A/ja
Publication of FR2894740A1 publication Critical patent/FR2894740A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un dispositif et un procédé de codage de données vidéo. Le dispositif comprenant des moyens de coder chaque image en tranches d'images, chaque tranche étant codée de manière indépendante des autres tranches. Selon l'invention, le dispositif comprend des moyens d'insérer dans le flux de données au moins un message (SEI) indiquant la structure relative au découpage en tranches des images.L'invention concerne également un système de décodage et un procédé de décodage de données vidéo, lesdites données vidéo ayant été codées en tranches, chacune des tranches étant codée de manière indépendante des autres tranches. Selon l'invention, le système de codage comprend- des moyens d'analyser les données vidéo de manière à connaître la décomposition en tranches des données,- des moyens de décodage des données vidéo tranche par tranche,- des moyens de reconstruire les différentes données vidéo après leur décodage afin de reconstruire les données vidéo décodéesApplication à la norme H264

Description

L'invention concerne un dispositif et un procédé de codage de données
vidéo, un procédé et un système de décodage. La présente invention s'adresse plus particulièrement aux normes de codage dans lesquelles les images codées sont transmises avec un certain nombre d'informations permettant leur décodage de manière aisée. Les standards de compression tels MPEG-2 et plus récemment H264 transmettent les images codées sous forme de groupe d'images (GOP), ce dernier comprenant également des informations décrivant la structure du groupe d'images. Ces informations servant ensuite au décodeur pour le décodage des images. Le standard H264 transmet les groupes d'images dans des structures de type tranche. Une tranche peut contenir soit la totalité d'une image, soit une partie d'image. L'encodeur est responsable de la découpe en tranches des images (la plupart du temps à partir d'une configuration figée), mais le décodeur ne connaît jamais à priori la structure en tranche des images et la découvre donc au fil du décodage. Les tranches sont encapsulées dans des unités de type NAL (acronyme anglais de network adaptation layer ). La découpe en tranches permet avantageusement d'introduire des points de synchronisation supplémentaires dans l'image. Ainsi, si la couche transport introduit des erreurs durant le transfert de la NAL contenant la tranche 0 , le décodage peut reprendre à partir de la tranche 1 . Si l'image n'est pas découpée en tranche, alors le décodeur ignore l'image dans sa globalité.
La plupart des décodeurs utilisent la même découpe en tranches pour toutes les images d'une séquence vidéo complète mais ceci n'est qu'une généralité et la découpe est vraiment dépendante du dispositif de codage. Les inventeurs ont constaté que, les tranches étant encodées de manière indépendante au décodeur, leur décodage peut donc être aisément parallélisé. Ainsi, un processeur 0 peut traiter la tranche 0 , un processeur 1 peut traiter la tranche 1 et ainsi de suite, tant que l'on a des processeurs aptes à travailler en parallèle au niveau du décodage. Cependant, la découpe en tranches n'est pas connue côté décodeur. Donc cette parallélisation est impossible au décodage puisque le décodeur ne peut pas prédire la découpe. Une solution simple consiste à utiliser toujours la même structure de découpage en tranches au niveau de l'encodeur. Cependant ceci implique plusieurs contraintes. Il faudrait alors que cette découpe soit standardisée pour tous les décodeurs répondant à la norme si l'on veut que tous les flux codés puissent être décodés par tout décodeur du marché.
L'invention se propose de résoudre au moins un des inconvénients 10 mentionnés ci-dessus en proposant une solution permettant à tout flux encodé d'être décodé par tout décodeur.
A cet effet, l'invention concerne un dispositif de codage de données vidéo comprenant des moyens de coder chaque image en tranches d'images, 15 chaque tranche étant codée de manière indépendante des autres tranches. Selon l'invention, le dispositif de codage comprend des moyens d'insérer dans le flux de données au moins un message indiquant la structure relative au découpage en tranches des images.
20 De cette manière, le flux comporte les informations relatives à sa structure. Ceci permet avantageusement d'avoir des données vidéo codées d'une manière choisie par le dispositif de codage et non connues des dispositifs de décodage.
25 Selon un mode de réalisation préféré de l'invention, les moyens d'insérer ledit message insèrent ledit message pour un groupe d'images à coder. Selon un autre mode de réalisation de l'invention les moyens d'insérer ledit message insèrent ledit message pour chaque image à coder. Selon un autre aspect, l'invention concerne un procédé de codage de données vidéo comprenant une étape de codage de chaque image en tranches d'images, chaque tranche étant codée de manière indépendante des autres tranches. Selon l'invention, le procédé de codage comprend une étape 30 d'insertion dans le flux de données d'au moins un message indiquant la structure relative au découpage en tranches des images.
Selon un autre aspect, l'invention concerne également un système de 5 décodage de données vidéo, lesdites données vidéo ayant été codées en tranches, chacune des tranches étant codée de manière indépendante des autres tranches. Selon l'invention le système comprend : - des moyens d'analyser les données vidéo de manière à connaître la décomposition en tranches des données, 10 - des moyens de décodage des données vidéo tranche par tranche, - des moyens de reconstruire les différentes données vidéo après leur décodage afin de reconstruire les données vidéo décodées
Selon un mode de réalisation préféré de l'invention, le système de 15 décodage de données vidéo comprend : - une pluralité de moyens de décodage des données vidéo tranche par tranche, - des moyens d'orienter les différentes tranches vers la pluralité de dispositifs de décodage en fonction de leur disponibilité, de manière à ce 20 qu'une pluralité de tranches soient décodées simultanément.
De manière avantageuse, les différentes tranches peuvent donc être décodées en parallèle, l'image globale étant reconstituée lorsque toutes les tranches correspondant à une même image ont été décodées. De manière préférée, les moyens d'analyser les données vidéo sont aptes à reconnaître et à extraire au moins un message comprenant les informations relatives à la décomposition en tranches.
30 Selon un autre aspect, l'invention concerne également un procédé de décodage de données vidéo, lesdites données vidéo ayant été codées en tranches, chacune des tranches étant codée de manière indépendante des autres tranches. Selon l'invention, il comprend les étapes 25 - d'analyse des données vidéo de manière à connaître la décomposition en tranches des données, - d'orientation des différentes tranches vers des procédés de décodage vidéo, en fonction de la disponibilité des différents 5 procédés, - de décodage en parallèle des tranches de données vidéo, de reconstruction des différentes données vidéo après leur décodage afin de reconstruire les données vidéo décodées. 10 L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles :
15 - la figure 1 représente la structure du flux codé selon l'invention, -la figure 2 représente un dispositif de codage selon l'invention, - la figure 3 représente un dispositif de décodage selon l'invention, - la figure 4 représente un organigramme d'analyse du flux lors du décodage d'un GOP. 20 Les modules représentés sur les différentes figures 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 25 même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. La description ci-dessous est basée sur un codage de données conforme à la norme H264. Cet exemple d'implémentation n'est pas limitatif à un codage de ce type. L'invention concerne effectivement tout type de codage 30 dans lequel des informations sont insérées dans le flux afin de faciliter son utilisation ultérieure.
La figure 1 représente la structure du flux codé selon un mode de réalisation préféré de l'invention.
Les images sont codées de manière découpée. Chaque image est découpée en tranches, mieux connues sous l'acronyme anglais de slice . Le découpage en tranches est décidé lors du codage. Ce découpage en tranches est fait par les utilisateurs du dispositif de codage et notamment par les diffuseurs de programmes. Chaque dispositif de décodage décide seul du type de décomposition qu'il utilise. Ainsi les informations concernant la découpe utilisée par le décodeur ne sont pas connues en dehors de ce décodeur. D'autres dispositifs ne peuvent donc pas utiliser ces informations pour les utiliser à différentes fins.
Ainsi, 'selon ce mode de réalisation, un message SEI est inséré avant un groupe de plusieurs images. Ce message SEI indique la découpe en tranches des images du groupe auquel il se rapporte. Dès que la découpe en tranche d'une nouvelle image est différente de la découpe en tranches des images précédentes un nouveau message SEI est inséré. Ainsi un seul message SEI est inséré pour l'image 0, l'image 1 et l'image 2. Ces trois images sont découpées chacune en trois tranches. Un second message SEI est inséré pour les images 3 et 4. Ces deux images sont découpées chacune en deux tranches. Si les images 5 et suivantes sont découpées différemment de l'image 4, alors un nouveau message SEI est inséré avant les tranches de l'image 5.
La figure 2 représente un dispositif de codage selon le mode de 25 réalisation préféré de l'invention. Une trame Fn courante est présentée en entrée du codeur pour y être codée. Cette trame est codée en groupe de pixels appelés macroblocs, correspondant à des groupes de 16*16 pixels. Chaque macrobloc est codé en mode intra ou inter. Que ce soit en mode intra ou en mode inter, un 30 macrobloc est codé en se basant sur une trame reconstruite. Un module 109 décide du mode de codage en mode intra de l'image courante, en fonction du contenu de l'image. En mode Infra, P (représentée sur la figure 2) est composée d'échantillons de la trame courante Fn qui ont été précédemment encodés, décodés et reconstruits (uF'n sur la figure 2, u signifiant non filtré).
En mode inter, P est constitué à partir d'une estimation de mouvement basée sur une ou plusieurs trames F'n-1. Un module d'estimation de mouvement 101 établit une estimation de mouvement entre la trame courante Fn et au moins une trame précédente F'n-l. A partir de cette estimation de mouvement, un module 102 de compensation de mouvement produit une trame P lorsque l'image courante Fn doit être codée en mode inter. Un soustracteur 103 produit un signal Dn, différence entre l'image Fn à coder et l'image P. Ensuite cette image est transformée par une transformation DCT dans un module 104. L'image transformée est ensuite quantifiée par un module 105 de quantification. Ensuite, les images sont réorganisées par un module 111. Un module de codage entropique 112 de type CABAC (acronyme anglais de Context-based Adaptive Binary Arithmetic Coding ) encode ensuite chaque image.
Des modules 106 et 107 respectivement de quantification et de transformation inverses permettent de reconstituer une différence D'n après transformation et quantification puis quantification inverse et transformation inverse. Lorsque l'image est codée en mode intra, selon le module 109, un module 108 de prédiction intra code l'image. Une image uF'n est obtenue en sortie d'un additionneur 114, comme la somme du signal D'n et du signal P Ce module 108 reçoit également en entrée l'image F'n reconstruite non filtrée. Un module 110 de filtrage permet d'obtenir l'image F'n reconstruite filtrée à partir de l'image uF'n.
Le module 112 de décodage entropique transmet les tranches codées encapsulées dans des unités de type NAL. Les NAL contiennent, outre les tranches, des informations relatives aux en-têtes par exemple. Les unités de type NAL sont transmises à un module 113. Le module 113 insère un message SEI avant l'envoi des différentes images codées vers un réseau de transmission. Un message SEI est inséré afin d'obtenir un flux comme indiqué en figure 1.
La figure 3 représente un système de décodage selon l'invention.
Un module 209 analyse les messages SEI reçus dans le flux de données. Les messages SEI peuvent être de différentes natures.
Effectivement, les messages SEI peuvent être utilisés à d'autres fins, pour transporter d'autres données pouvant être utiles lors du décodage. Après l'analyse du message SEI, les données sont transmises à différents dispositifs de décodage Dl, D2, D3, Di,..., Dn en fonction de l'analyse. Effectivement, suivant la configuration matérielle ou logicielle disponible, un ou plusieurs dispositifs de décodage Dl, D2, D3, Di,..., Dn sont disponibles. Il est avantageux que le nombre de dispositifs de décodage Dl, D2, D3, Di,..., Dn soit égal au nombre de tranches maximales d'une image codée. Par exemple, si les images sont codées en utilisant une décomposition en 4 tranches, alors il est particulièrement avantageux, en terme de rapidité de décodage, que les tranches soient décodées en parallèle pour reconstruire rapidement l'image. Lorsque le nombre de dispositifs de codage Dl, D2, D3, Di,..., Dn est inférieur à la découpe en tranches des images, alors les tranches sont toutefois décodées en parallèle dans les différents modules de décodage. Les tranches restantes seront décodées par la suite, dès qu'un dispositif de décodage Dl, D2, D3, Di,..., Dn est disponible. Il est ainsi possible qu'à un instant t, les différents modules de décodage décodent chacun des tranches appartenant à des images différentes.
L'orientation des tranches vers les différents modules de décodage est décidée par le module 209. Cette orientation prend en compte la disponibilité des différents modules de décodage, leur nombre et la valeur indiquée par le message SEI arrivant. Effectivement, si le message SEI indique la valeur 3 , cela signifie que l'image ou les images qui vont suivre sont décomposées en 3 tranches chacune. Si l'on dispose alors de 3 modules de décodage, cas le plus favorable pour ce groupe d'images, chaque tranche sera alors transmise à un module de décodage Dl, D2, D3.
Les NALs de type image sont transmises à un module 201 de décodage entropique. Le module 201 de décodage entropique effectue l'opération inverse du module 112 de la figure 2. Ensuite, les données sont transmises à un module 202 de ré ordonnancement de manière à obtenir un ensemble de coefficients. Ces coefficients subissent alors une quantification inverse dans le module 203 et une transformation DCT inverse dans le module 204 en sortie duquel on obtient les macro blocs D'n, D'n étant une version déformée de Dn. Un bloc prédictif P est ajouté à D'n, par un additionneur 205, pour reconstruire un macrobloc uF'n. Le bloc P est obtenu après compensation de mouvement, effectuée par un module 208, de la trame décodée précédente, lors d'un codage en mode inter ou après prédiction intra du macrobloc uF'n, par un module 207, dans le cas d'un codage en mode intra. Un filtre 206 est appliqué sur le signal uF'n pour réduire les effets de la distorsion et la tranche F'n reconstruite est crée à partir d'une série de macroblocs.
Une fois décodées par les différents modules de décodage Dl, D2, D3, Di,..., Dn, les tranches sont mises l'une après l'autre pour reconstruire l'image complète, par exemple en les enregistrant dans une mémoire tampon de reconstruction 210, avant d'être transmises à l'application.
La figure 4 représente un mode de réalisation d'un procédé selon l'invention, lorsque les opérations de décodage sont réalisées de manière logicielle.
Lors d'une étape El, on reçoit le flux de données codées avec un dispositif de codage comme représenté en figure 2. Le flux codé a la structure représentée en figure 1. Lors d'une étape E2, on analyse le message SEI. L'analyse du message SEI consiste à regarder si le message SEI contient des informations sur la décomposition des images en tranches. Lorsque cette information est présente, alors l'analyse du message SEI est suivie d'une décision d'orientation, lors d'une étape E3, des tranches dans les différents modules de codage Dl, D2, D3, Di,...,Dn. Les modules de codage sont également réalisés de manière logicielle Dl, D2, D3, Di,...,Dn.
Lors d'une étape E4, les différentes tranches sont décodées par les différents modules de décodage en parallèle. Lors d'une étape E5, les images sont reconstituées, par exemple en utilisant la mémoire tampon 210 de reconstruction de la figure 3. Le tableau ci-dessous illustre la partie données utiles d'un message SEI, utilisant un type de données utiles de type 6, correspondant dans la norme H264 à des données utiles de type user data_unregistered , représenté dans le tableau ci-dessous. user data unregistered( payloadSize) { Descriptor uuid iso_iec 11578 u(128) for( i = 16; i < payloadSize; i++ ) user data_payload_byte b(8) } 10 - le mot de 128 bits uuid_iso_iec 11578 indique au décodeur lors de la phase de décodage le type de message. La norme H264 précise un certain nombre de valeurs pour ce mot en fonction de sa signification. L'une de ces valeurs indique qu'il s'agit d'un message du type 15 user data_payload . - le mot user data_payload_byte est un mot de 8 bits composant une partie du message SEI. Ce mot est utilisé pour coder les données relatives à des applications propriétaires et notamment ici pour coder les données relatives à l'invention comme codé ci-dessous.
20 PayloadSize est égal à 17 octets, dont 16 pour UUID et 1 pour user data_payload_byte. Dans chaque user data_unregistered on a une suite d'octets User data_payload_byte comme indiqué dans le tableau ci-dessus. Cette suite d'octets est en fait une répétition d'une structure de 3 octets (2 octets + 1 octet). La valeur de payloadsize est donc multiple de 3.
25 Le mot user data_payload_byte permet de coder le nombre de tranches dans l'image ainsi que la taille de chaque tranche en macroblocs. Le premier octet représentant le nombre de tranches dans l'image et les deux5 octets suivants permettant de coder la taille de la tranche en macroblocs, reprenant donc ainsi la structure 2 octets + 1 octet mentionnée ci-dessus. Configuration_tranche( payloadSize) { Descriptor Nombre de tranches u(8) for( i = 0; i <= nombre de tranches; i++) Taille de la tranche en macroblocs u(16) } On note que si les dispositifs de décodage ne possèdent pas de module d'analyse des messages SEI tels que décrits dans l'invention, alors ils sont prévus pour les ignorer, ceci étant une requête particulière de la norme H264. Ainsi, les données peuvent tout de même être décodées, tout en ne bénéficiant pas des avantages que peut procurer l'invention, à savoir notamment le décodage en parallèle des différentes tranches. On garde ainsi une compatibilité certaine avec les décodeurs du marché.

Claims (8)

Revendications
1. Dispositif de codage de données vidéo comprenant des moyens de coder chaque image en tranches d'images, chaque tranche étant codée de manière indépendante des autres tranches, caractérisé en ce qu'il comprend des moyens d'insérer dans le flux de données au moins un message (SEI) indiquant la structure relative au découpage en tranches des images.
2. Dispositif selon la revendication 1 caractérisé en ce que les moyens d'insérer ledit message insèrent ledit message pour un groupe d'images à coder.
3. Dispositif selon la revendication 2 caractérisé en ce que les moyens d'insérer ledit message insèrent ledit message pour chaque image à coder.
4. Procédé de codage de données vidéo comprenant une étape de codage de chaque image en tranches d'images, chaque tranche étant codée de manière indépendante des autres tranches, caractérisé en ce qu'il comprend une étape d'insertion dans le flux de données d'au moins un message (SEI) indiquant la structure relative au découpage en tranches des images.
5. Système de décodage de données vidéo, lesdites données vidéo ayant été codées en tranches, chacune des tranches étant codée de manière indépendante des autres tranches, caractérisé en ce qu'il comprend - des moyens d'analyser les données vidéo de manière à connaître la décomposition en tranches des données, - des moyens de décodage des données vidéo tranche par tranche, - des moyens de reconstruire les différentes données vidéo après leur décodage afin de reconstruire les données vidéo décodées
6. Système de décodage de données vidéo selon la revendication 5 caractérisé en ce qu'il comprend - une pluralité de moyens de décodage des données vidéo tranche par tranche, - des moyens d'orienter les différentes tranches vers la pluralité de dispositifs de décodage en fonction de leur disponibilité, de manière à ce qu'une pluralité de tranches soient décodées simultanément.
7. Système de décodage selon l'une des revendications 5 ou 6 caractérisé en ce que les moyens d'analyser les données vidéo sont aptes à reconnaître et à extraire au moins un message comprenant les informations relatives à la décomposition en tranches.
8. Procédé de décodage de données vidéo, lesdites données vidéo ayant été codées en tranches, chacune des tranches étant codée de manière indépendante des autres tranches, caractérisé en ce qu'il comprend les étapes - d'analyse des données vidéo de manière à connaître la décomposition en tranches des données, - d'orientation des différentes tranches vers des procédés de décodage vidéo, en fonction de la disponibilité des différents procédés, - de décodage en parallèle des tranches de données vidéo, - de reconstruction des différentes données vidéo après leur décodage afin de reconstruire les données vidéo décodées.
FR0553837A 2005-12-12 2005-12-12 Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video Pending FR2894740A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0553837A FR2894740A1 (fr) 2005-12-12 2005-12-12 Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video
CN2006101641592A CN1984329B (zh) 2005-12-12 2006-12-06 视频数据的编码设备、编码方法、解码***和解码方法
EP06125564A EP1827022A3 (fr) 2005-12-12 2006-12-07 Dispositif et méthode pour codage, système et méthode pour décodage de signaux vidéo
US11/636,258 US20070133674A1 (en) 2005-12-12 2006-12-08 Device for coding, method for coding, system for decoding, method for decoding video data
KR1020060125469A KR101345015B1 (ko) 2005-12-12 2006-12-11 비디오 데이터 코딩 장치, 방법, 시스템 및 비디오 데이터디코딩 방법
JP2006334881A JP2007166625A (ja) 2005-12-12 2006-12-12 ビデオデータ符号化装置、ビデオデータ符号化方法、ビデオデータ復号化装置およびビデオデータ復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0553837A FR2894740A1 (fr) 2005-12-12 2005-12-12 Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video

Publications (1)

Publication Number Publication Date
FR2894740A1 true FR2894740A1 (fr) 2007-06-15

Family

ID=36843286

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0553837A Pending FR2894740A1 (fr) 2005-12-12 2005-12-12 Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video

Country Status (6)

Country Link
US (1) US20070133674A1 (fr)
EP (1) EP1827022A3 (fr)
JP (1) JP2007166625A (fr)
KR (1) KR101345015B1 (fr)
CN (1) CN1984329B (fr)
FR (1) FR2894740A1 (fr)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8873932B2 (en) 2007-12-11 2014-10-28 Cisco Technology, Inc. Inferential processing to ascertain plural levels of picture interdependencies
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US20080115175A1 (en) * 2006-11-13 2008-05-15 Rodriguez Arturo A System and method for signaling characteristics of pictures' interdependencies
US8155207B2 (en) * 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
KR100898769B1 (ko) * 2007-09-19 2009-05-20 전자부품연구원 실시간 스트리밍 서비스를 위한 svc 비디오 데이터추출기 및 방법
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8681876B2 (en) 2008-11-12 2014-03-25 Cisco Technology, Inc. Targeted bit appropriations based on picture importance
US8326131B2 (en) 2009-02-20 2012-12-04 Cisco Technology, Inc. Signalling of decodable sub-sequences
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US8615039B2 (en) * 2009-05-21 2013-12-24 Microsoft Corporation Optimized allocation of multi-core computation for video encoding
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
KR20110068793A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 영상 부호화 및 복호화를 위한 장치 및 방법
US20110222837A1 (en) * 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
US9497466B2 (en) 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
US9538177B2 (en) 2011-10-31 2017-01-03 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US9602829B2 (en) * 2012-12-06 2017-03-21 Sony Corporation Decoding device, decoding method, and program
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
CN106713909A (zh) * 2016-11-16 2017-05-24 广州弘度信息科技有限公司 一种视频编码方法、装置及***
CN109905715B (zh) * 2019-02-26 2021-07-06 北京世纪好未来教育科技有限公司 ***sei数据的码流转换方法及***
WO2020214899A1 (fr) * 2019-04-19 2020-10-22 Beijing Dajia Internet Information Technology Co., Ltd. Message d'informations d'amélioration supplémentaire pour image intégrée

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010021227A1 (en) * 1998-10-15 2001-09-13 International Business Machines Corporation High definition television decoder

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995146A (en) * 1997-01-24 1999-11-30 Pathway, Inc. Multiple video screen display system
JP3961654B2 (ja) * 1997-12-22 2007-08-22 株式会社東芝 画像データ復号化装置及び画像データ復号化方法
CN1065391C (zh) * 1998-07-08 2001-05-02 国家科学技术委员会高技术研究发展中心 高清晰度电视视频解码器的子图象合成装置及其方法
CN1225544A (zh) * 1998-12-15 1999-08-11 国家科学技术委员会高技术研究发展中心 数字信源解码器
JP2003505956A (ja) * 1999-07-15 2003-02-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 情報信号への補助データの組み込み
JP2003032679A (ja) * 2001-07-11 2003-01-31 Lsi Systems:Kk 復号装置、復号方法およびその方法をコンピュータに実行させるプログラム
WO2003067887A1 (fr) * 2002-02-07 2003-08-14 Koninklijke Philips Electronics N.V. Procede de distribution de video divisee en morceaux spatiaux
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
KR100543700B1 (ko) * 2003-01-30 2006-01-20 삼성전자주식회사 영상의 중복 부호화 및 복호화 방법 및 장치
JP5280003B2 (ja) * 2003-09-07 2013-09-04 マイクロソフト コーポレーション 映像コーデックにおけるスライス層
US7286710B2 (en) * 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010021227A1 (en) * 1998-10-15 2001-09-13 International Business Machines Corporation High definition television decoder

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GOMILA C ET AL: "New features and applications of the H.264 video coding standard", INFORMATION TECHNOLOGY: RESEARCH AND EDUCATION, 2003. PROCEEDINGS. ITRE2003. INTERNATIONAL CONFERENCE ON AUG. 11-13, 2003, PISCATAWAY, NJ, USA,IEEE, 11 August 2003 (2003-08-11), pages 6 - 10, XP010684962, ISBN: 0-7803-7724-9 *
TUDOR P N: "TUTORIAL MPEG-2 VIDEO COMPRESSION", ELECTRONICS AND COMMUNICATION ENGINEERING JOURNAL, INSTITUTION OF ELECTRICAL ENGINEERS, LONDON, GB, vol. 7, no. 6, December 1995 (1995-12-01), pages 257 - 264, XP000545121, ISSN: 0954-0695 *

Also Published As

Publication number Publication date
JP2007166625A (ja) 2007-06-28
EP1827022A2 (fr) 2007-08-29
EP1827022A3 (fr) 2010-08-18
US20070133674A1 (en) 2007-06-14
KR101345015B1 (ko) 2013-12-24
KR20070062428A (ko) 2007-06-15
CN1984329A (zh) 2007-06-20
CN1984329B (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
FR2894740A1 (fr) Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video
CN109729357B (zh) 解码器、传送解多工器和编码器
EP3442228B1 (fr) Procédé de décodage d&#39;images
EP2491719B1 (fr) Procédé d&#39;encapsulation de sous-flux de données, procédé de désencapsulation et programmes d&#39;ordinateur correspondants
TW201246938A (en) Signaling quantization parameter changes for coded units in high efficiency video coding (HEVC)
FR2939593A1 (fr) Procede et dispositif de codage video
FR2903253A1 (fr) Procede permettant de determiner des parametres de compression et de protection pour la transmission de donnees multimedia sur un canal sans fil.
EP1779669A1 (fr) Procede de mise en forme de trames d&#39;une sequence video
WO2015132209A1 (fr) Procédé de modification d&#39;un flux vidéo binaire
FR2932036A1 (fr) Procede et systeme permettant de proteger un flux video compresse contre les erreurs survenant lors d&#39;une transmission
FR3008840A1 (fr) Procede et dispositif de decodage d&#39;un train scalable representatif d&#39;une sequence d&#39;images et procede et dispositif de codage correspondants
EP2486659B1 (fr) Procedes de codage et de décodage d&#39;images, dispositifs de codage et de decodage et programmes d&#39;ordinateur correspondants
WO2017037368A2 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
FR2894739A1 (fr) Procede de codage, procede de decodage, dispositif de codage et dispositif de decodage de donnees video
EP3409016A1 (fr) Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d&#39;ordinateur correspondants
US20240056098A1 (en) Parallel entropy coding
US20240056577A1 (en) Handling trailing bits in arithmetic encoding and decoding
FR2728129A1 (fr) Dispositif de multiplexage numerique de programmes video