FR2929790A1 - Data e.g. scalable video coding image, transmitting method for client, involves transmitting layer of priorities at required switching during reception of request for switching between initial and target spatial resolutions from client - Google Patents

Data e.g. scalable video coding image, transmitting method for client, involves transmitting layer of priorities at required switching during reception of request for switching between initial and target spatial resolutions from client Download PDF

Info

Publication number
FR2929790A1
FR2929790A1 FR0852361A FR0852361A FR2929790A1 FR 2929790 A1 FR2929790 A1 FR 2929790A1 FR 0852361 A FR0852361 A FR 0852361A FR 0852361 A FR0852361 A FR 0852361A FR 2929790 A1 FR2929790 A1 FR 2929790A1
Authority
FR
France
Prior art keywords
level
switching
spatial
priority
client
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.)
Granted
Application number
FR0852361A
Other languages
French (fr)
Other versions
FR2929790B1 (en
Inventor
Leannec Fabrice Le
Patrice Onno
Xavier Henocq
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0852361A priority Critical patent/FR2929790B1/en
Publication of FR2929790A1 publication Critical patent/FR2929790A1/en
Application granted granted Critical
Publication of FR2929790B1 publication Critical patent/FR2929790B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The method involves determining switching between two levels of different spatial resolution, and generating a scalability layer of priorities at the level of spatial resolution in the absence of switching. The scalability layer of priorities is generated in the switching, and the scalability layer of priorities is transmitted at the required switching during reception of a request for switching between the level of initial spatial resolution and a level of target spatial resolution from a part of client. Independent claims are also included for the following: (1) a device for transmitting data between a server and a client (2) a computer program comprising a set of instructions for implementing a method for transmitting data between a server and a client (3) a information medium comprising a set of instructions for implementing a method for transmitting data between a server and a client.

Description

La présente invention concerne un procédé et un dispositif de transmission de données. Elle s'applique, notamment, à la transmission de flux vidéo adaptables (en anglais scalable ) SVC (acronyme de scalable video coding pour codage vidéo adaptable) contenant plusieurs niveaux de résolution spatiale, d'un serveur vers un client, avec la possibilité de modifier les couches d'adaptabilité, ou scalabilité , transmises en cours de session vidéo, notamment le niveau de résolution spatiale reçu par le client. Dans un système de codage SVC client-serveur, il peut être intéressant, pour l'utilisateur, de naviguer entre les couches ( layers ) de scalabilité, en particulier entre les couches spatiales. On vise ici à rendre une séquence vidéo décodée avec la meilleure qualité possible du côté client lors de la commutation entre les couches de scalabilité spatiale. A cet effet, il est nécessaire que le processus de décodage vidéo soit capable de commuter depuis un niveau spatial à un autre à certains endroits de la séquence vidéo. The present invention relates to a method and a device for transmitting data. It applies, in particular, to the transmission of adaptable video streams (in English scalable) SVC (acronym for scalable video coding for adaptable video coding) containing several levels of spatial resolution, from a server to a client, with the possibility of modify the adaptability or scalability layers transmitted during the video session, in particular the level of spatial resolution received by the client. In a client-server SVC encoding system, it may be interesting for the user to navigate between scalability layers, especially between spatial layers. The aim here is to render a decoded video sequence with the best quality possible on the client side when switching between spatial scalability layers. For this purpose, it is necessary for the video decoding process to be able to switch from one spatial level to another at certain locations in the video sequence.

Plusieurs solutions techniques existent déjà pour cela. On connaît des techniques de réduction de dérive durant des opérations de commutation, notamment l'introduction d'images dites IDR (acronyme de Instantaneous Decoder Refresh pour rafraîchissement de décodeur instantanée), l'introduction d'images SVC dites clés , les images H.264 SP et SVC ESP proposées au JVT (acronyme de joint video team pour équipe vidéo), la technique décrite dans la demande de Brevet Français n°06 50974 déposée le 21 mars 2006 et la solution technique décrite dans le document US 6,961,383. Ces différentes techniques sont analysées ci-dessous. Une première technique de codage vidéo SVC permettant la commutation entre niveaux de résolution spatiale consiste à insérer fréquemment des images codées en intra (c'est-à-dire sans référence à d'autres images) dans les différentes couches spatiales. Cette solution a comme inconvénient un coût additionnel en termes de taux de compression associé au codage intra. Une deuxième technique de codage vidéo SVC permettant la commutation entre niveaux de résolution spatiale consiste à utiliser des images dites clés . Ces images, codées dans une couche de base d'une couche d'amélioration spatiale donnée, sont systématiquement entièrement reconstruites au cours du procédé de décodage et sont utilisées comme images de référence des images futures dans la couche d'amélioration. Par conséquent, cette technique de codage mène à une plus grande complexité, en comparaison avec un mode de décodage à boucle simple ( single loop ) ainsi qu'à une perte d'efficacité de codage dans la couche d'amélioration. La demande de Brevet Français n°06 50974 décrit un procédé de codage qui comporte, lors du passage à partir d'une image dite courante , d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial un codage et une reconstruction de l'image courante jusqu'au niveau de qualité visé pour fournir une image courante codée, l'obtention de chaque image de référence de l'image courante au niveau de qualité initial, une détermination d'un raffinement de texture différentiel fonction de l'image de prédiction pour le niveau de qualité initial et de l'image courante reconstruite de niveau de qualité visé et une étape de codage du raffinement de texture différentiel. Cette technique présente donc l'inconvénient d'augmenter la quantité d'information à transmettre. Le problème à la base de la présente invention est de restituer la meilleure qualité vidéo possible à un client donné lors d'une commutation demandée par le client, entre deux niveaux de résolution spatiale différents. A cet effet, la présente invention vise, selon un premier aspect, un procédé de transmission de données entre un serveur et un client, caractérisé en ce qu'il comporte, réalisées par ledit serveur : - une étape de détermination d'au moins une commutation possible 30 entre deux niveaux de résolution spatiale différents, - une étape de génération d'au moins une couche de priorité adaptée à un niveau de résolution spatiale, en l'absence de commutation, - une étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible, et - lors d'une réception d'une demande de commutation entre un niveau de résolution spatiale initial et un niveau de résolution spatiale cible, de la part du client, une étape de transmission de la couche de priorité adaptée à la commutation demandée. On tire ainsi profit du phénomène de dérive temporelle lors d'une commutation entre deux niveaux spatiaux SVC, au moins lorsque cette dérive apporte un gain en qualité par rapport à une commutation de résolution spatiale sans dérive ( drift ). Une dérive temporelle dans le décodeur est ainsi autorisée si elle améliore la qualité visuelle. Les avantages de la présente invention comportent : - de fournir au client la meilleure qualité en fonction des débits disponibles pour ce client, au moment d'un changement de niveau de résolution spatiale et - il n'y a pas de coût de mise en oeuvre de l'invention, en termes de débit, puisqu'il n'y a transmission d'aucune information additionnelle lors de la commutation. Selon des caractéristiques particulières, au cours de l'étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on génère un groupe d'images décodées obtenu lors d'une commutation entre le niveau spatial initial et le niveau spatial cible en ré-échantillonnant la dernière image d'un groupe d'images précédent pour l'adapter au niveau spatial cible. Several technical solutions already exist for this. Drift reduction techniques are known during switching operations, in particular the introduction of so-called IDR images (acronym for Instantaneous Decoder Refresh), the introduction of so-called key SVC images, the H. images. 264 SP and SVC ESP proposed to the JVT (acronym for joint video team for video team), the technique described in the French patent application No. 06 50974 filed March 21, 2006 and the technical solution described in US 6,961,383. These different techniques are analyzed below. A first SVC video coding technique for switching between spatial resolution levels is to frequently insert intra-coded images (i.e. without reference to other images) in the different spatial layers. This solution has the disadvantage of an additional cost in terms of compression ratio associated with intra coding. A second video coding SVC technique for switching between spatial resolution levels is to use so-called key images. These images, encoded in a base layer of a given spatial enhancement layer, are systematically completely reconstructed during the decoding process and are used as reference images of the future images in the enhancement layer. Therefore, this coding technique leads to greater complexity, compared with a single loop decode mode as well as a loss of coding efficiency in the enhancement layer. French Patent Application No. 06 50974 describes a coding method which comprises, when switching from a so-called current image, an initial quality level to a target quality level different from the initial quality level. and reconstructing the current image to the desired quality level to provide a coded current image, obtaining each reference image of the current image at the initial quality level, determining a differential texture refinement prediction image function for the initial quality level and the reconstructed current target quality level image and a differential texture refinement code step. This technique therefore has the disadvantage of increasing the amount of information to be transmitted. The problem underlying the present invention is to render the best possible video quality to a given client during a switching requested by the customer, between two different levels of spatial resolution. For this purpose, the present invention aims, in a first aspect, a method of data transmission between a server and a client, characterized in that it comprises, performed by said server: - a step of determining at least one possible switching between two different spatial resolution levels, - a step of generating at least one priority layer adapted to a spatial resolution level, in the absence of switching, - a step of generating at least one layer of a priority adapted to a said possible switching, and - when receiving a switching request between an initial spatial resolution level and a target spatial resolution level, on the part of the client, a transmission step of the layer of priority adapted to the requested switching. This takes advantage of the phenomenon of time drift when switching between two spatial levels SVC, at least when this drift provides a gain in quality compared to a drift drift. A time drift in the decoder is thus allowed if it improves the visual quality. The advantages of the present invention include: - to provide the customer with the best quality according to the bit rates available for this customer, at the time of a change of spatial resolution level and - there is no cost of implementation of the invention, in terms of bit rate, since no additional information is transmitted during the switching. According to particular characteristics, during the step of generating at least one priority layer adapted to a said possible switching, a group of decoded images obtained during a switching between the initial spatial level and the level is generated. target space by resampling the last image from a previous group of images to fit the target spatial level.

Selon des caractéristiques particulières, au cours de l'étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on décode les images du groupe d'images courant au niveau spatial cible avec, comme image de référence dans la prédiction temporelle, l'image décodée et ré-échantillonnée. According to particular characteristics, during the step of generating at least one priority layer adapted to a said possible switching, the images of the current image group are decoded at the target spatial level with, as a reference image in the temporal prediction, the decoded and resampled image.

Selon des caractéristiques particulières, au cours de l'étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on calcule, avec les images du groupe d'images courant ainsi décodées, les distorsions liées au décodage d'entités élémentaires du train binaire du groupe d'images courant. Selon des caractéristiques particulières, au cours de l'étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on constitue chaque couche de priorité en fonction des ratios des distorsions liées au décodage de chaque entité élémentaire du train binaire du groupe d'images courant par le débit nécessaire pour transmettre ladite entité élémentaire. Selon des caractéristiques particulières, au cours de l'étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on réalise une optimisation débit-distorsion pour attribuer des indices de couches de priorité, ou niveaux de priorité, à chaque entité élémentaire du groupe d'images courant. On obtient ainsi un jeu modifié d'entités élémentaires ("NAL units") transmises au client où le niveau de résolution spatiale est modifié en comparaison avec les approches connues dans l'art antérieur. Selon des caractéristiques particulières, l'étape de génération d'au moins une couche de priorité adaptée à une dite commutation possible comporte une étape de stockage, au cours de laquelle on stocke un identifiant d'au moins une couche de priorité définie en fonction desdits indices de couches de priorité. Selon des caractéristiques particulières, au cours de l'étape de stockage, on écrit des messages SEI (acronyme de Supplemental Enhancement Information ) qui codent et stockent des données utiles pour une extraction et transmission de sous-flux optimaux, lorsque le client ou le réseau provoque une commutation spatiale. La présente invention vise, selon un deuxième aspect, un dispositif de transmission de données entre un serveur et un client, caractérisé en ce qu'il comporte, dans un serveur : - un moyen de détermination d'au moins une commutation possible entre deux niveaux de résolution spatiale différents, - un moyen de génération d'au moins une couche de priorité adaptée à un niveau de résolution spatiale, en l'absence de commutation, - un moyen de génération d'au moins une couche de priorité adaptée à une dite commutation possible, et - un moyen de transmission adapté, lors d'une réception d'une demande de commutation entre un niveau de résolution spatiale initial et un niveau de résolution spatiale cible, de la part du client, à transmettre la couche de priorité adaptée à la commutation demandée. Selon un troisième aspect, la présente invention vise un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de transmission objet de la présente invention tel que succinctement exposé ci-dessus. Selon un quatrième aspect, la présente invention vise un support d'informations lisibles par un ordinateur ou un microprocesseur, amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé de transmission objet de la présente invention tel que succinctement exposé ci-dessus. Les avantages, buts et caractéristiques particulières de ce dispositif, de ce programme et de ce support d'information étant similaires à ceux du procédé tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques particulières de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif, en regard des dessins annexes, dans lesquels : - la figure 1 représente, schématiquement, un mode de réalisation particulier du dispositif objet de la présente invention ; - la figure 2 représente une dérive lors de la commutation d'un niveau de résolution spatiale à un autre ; - les figures 3A et 3B représentent, schématiquement, des couches 30 de priorité mises en oeuvre dans un codage SVC et leur représentation dans un courbe ; - la figure 4 représente, schématiquement, le traitement de couches de priorité en vue de la commutation de niveau de résolution spatiale et - les figures 5 à 8 représentent, sous forme de logigramme, des étapes mises en oeuvre dans un mode de réalisation particulier du procédé objet de la présente invention. On observe, en figure 1, que, dans un mode de réalisation particulier, le dispositif objet de la présente invention, prend la forme d'un micro-ordinateur 100 muni d'un logiciel implémentant le procédé objet de la présente invention et de différents périphériques. Le dispositif constitue, ici un serveur adapté à transmettre des images codées à des clients (non représentés). Le micro-ordinateur 100 est connecté à différents périphériques, par exemple un moyen d'acquisition ou de stockage d'images 107, par exemple une caméra numérique ou un scanner, relié à une carte graphique (non représentée) et fournissant des informations d'image à compresser et à transmettre. Le micro-ordinateur 100 comporte une interface de communication 118 reliée à un réseau 134 apte à transmettre des données numériques à compresser et à transmettre des données compressées par le micro-ordinateur. Le micro-ordinateur 100 comporte également un moyen de stockage 112 tel que, par exemple, un disque dur. Le micro-ordinateur 100 comporte aussi un lecteur de disquette 114. Une disquette 116, comme le moyen de stockage 108, peuvent contenir des données compressées ou à compresser. La disquette 116 peut aussi contenir des instructions d'un logiciel implémentant le procédé objet de la présente invention, instructions qui, une fois lues par le micro-ordinateur 100, sont stocké dans le moyen de stockage 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre la présente invention est stocké en mémoire morte 104 (appelée ROM , acronyme de read only memory, en figure 1). En seconde variante, le programme est reçu par l'intermédiaire du réseau de communication 134 et est stocké dans le moyen de stockage 108. Le micro-ordinateur 100 est relié à un micro 124 par l'intermédiaire de la carte d'entrée/sortie 122. Le micro-ordinateur 100 possède un écran 108 permettant de visualiser les données à compresser ou de servir d'interface avec l'utilisateur,, à l'aide d'un clavier 110 ou de tout autre moyen (souris par exemple). Bien entendu, la disquette 116 peut être remplacée par tout support d'information tel que CD-ROM (acronyme de compact disc û read only memory pour mémoire en lecture seule en disque compact) ou une carte mémoire. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé objet de la présente invention. According to particular features, during the step of generating at least one priority layer adapted to a said possible switching, the images of the current image group thus decoded are calculated with the distortions related to the decoding of elementary entities of the bit stream of the current image group. According to particular characteristics, during the step of generating at least one priority layer adapted to a said possible switching, each priority layer is constituted according to the ratios of the distortions related to the decoding of each elementary entity of the bit stream. current image group by the rate necessary to transmit said elementary entity. According to particular characteristics, during the step of generating at least one priority layer adapted to a said possible switching, a bit rate-distortion optimization is performed to assign priority layer indices, or priority levels, to each elementary entity of the current group of images. Thus, a modified set of elementary entities ("NAL units") is transmitted to the client where the level of spatial resolution is modified in comparison with the approaches known in the prior art. According to particular features, the step of generating at least one priority layer adapted to a said possible switching comprises a storage step, during which an identifier of at least one priority layer defined is stored according to said priority layer indices. According to particular features, during the storage step, SEI (Supplemental Enhancement Information) messages are written which encode and store useful data for optimal sub-stream extraction and transmission, when the client or the network causes a spatial switch. The present invention aims, according to a second aspect, a device for transmitting data between a server and a client, characterized in that it comprises, in a server: a means for determining at least one possible switching between two levels of different spatial resolution, - means for generating at least one priority layer adapted to a spatial resolution level, in the absence of switching, - means for generating at least one priority layer adapted to a said switching possible, and - a suitable transmission means, when receiving a switching request between an initial spatial resolution level and a target spatial resolution level, on the part of the client, to transmit the adapted priority layer at the requested switching. According to a third aspect, the present invention provides a computer program loadable in a computer system, said program containing instructions for implementing the transmission method object of the present invention as briefly described above. According to a fourth aspect, the present invention aims at a support of information readable by a computer or a microprocessor, removable or not, retaining instructions of a computer program, characterized in that it allows the implementation of the transmission method object of the present invention as succinctly set forth above. The advantages, aims and special features of this device, this program and this information medium being similar to those of the method as succinctly set forth above, they are not recalled here. Other advantages, aims and particular features of the present invention will emerge from the description which follows, made for an explanatory and non-limiting purpose, with reference to the accompanying drawings, in which: FIG. 1 represents, schematically, a particular embodiment of the device object of the present invention; FIG. 2 represents a drift when switching from one spatial resolution level to another; FIGS. 3A and 3B show, schematically, priority layers implemented in an SVC encoding and their representation in a curve; FIG. 4 schematically represents the processing of priority layers with a view to the spatial resolution level switching and FIGS. 5 to 8 represent, in the form of a logic diagram, steps implemented in a particular embodiment of FIG. process object of the present invention. FIG. 1 shows that, in a particular embodiment, the device that is the subject of the present invention takes the form of a microcomputer 100 equipped with software implementing the method that is the subject of the present invention and different peripheral devices. The device constitutes, here a server adapted to transmit coded images to customers (not shown). The microcomputer 100 is connected to different peripherals, for example a means of acquiring or storing images 107, for example a digital camera or a scanner, connected to a graphics card (not shown) and providing information about image to compress and transmit. The microcomputer 100 includes a communication interface 118 connected to a network 134 capable of transmitting digital data to compress and transmit data compressed by the microcomputer. The microcomputer 100 also includes a storage means 112 such as, for example, a hard disk. The microcomputer 100 also includes a floppy disk drive 114. A floppy disk 116, such as the storage means 108, may contain compressed or compressed data. The diskette 116 may also contain instructions of a software implementing the method that is the subject of the present invention, instructions which, when read by the microcomputer 100, are stored in the storage means 108. According to one variant, the program enabling the device implementing the present invention is stored in ROM 104 (called ROM, acronym for read only memory, in FIG. 1). In the second variant, the program is received via the communication network 134 and is stored in the storage means 108. The microcomputer 100 is connected to a microphone 124 via the input / output card 122. The microcomputer 100 has a screen 108 for viewing the data to be compressed or to interface with the user, using a keyboard 110 or any other means (mouse for example). Of course, the floppy disk 116 may be replaced by any information medium such as CD-ROM (acronym for compact disc read only memory for read-only memory compact disk) or a memory card. More generally, an information storage means, readable by a computer or by a microprocessor, whether or not integrated into the device, possibly removable, stores a program implementing the method that is the subject of the present invention.

Une unité centrale 120 (appelée CPU , acronyme de central processing unit, en figure 1) exécute les instructions du logiciel implémentant le procédé objet de la présente invention. Lors de la mise sous tension, les programmes permettant l'implémentation du procédé objet de la présente invention stockés dans une mémoire non volatile, par exemple la ROM 104, sont transférés dans la mémoire vive RAM 106 qui contient alors les instructions de ce logiciel ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. Un bus de communication 102 permet la communication entre les différents éléments du micro-ordinateur 100 ou reliés à lui. La représentation du bus 102 n'est pas limitative. Notamment, l'unité centrale 120 est susceptible de communiquer des instructions à tout élément du dispositif directement ou par l'intermédiaire d'un autre élément du dispositif. La figure 2 illustre la qualité d'image qui peut être obtenue en décodant une séquence SVC lors d'une commutation depuis un niveau de résolution spatiale supérieur à un niveau de résolution spatiale inférieur. Les lignes horizontales 205 et 210 représentent les niveaux de qualité, en termes de rapport signal/bruit, par exemple PSNR (acronyme de Peak Signal to Noise Ratio pour rapport signal/bruit de pic), obtenus lorsque l'on décode régulièrement les niveaux de résolution spatiale supérieur et inférieur, respectivement, sans réaliser de commutation de niveau. A CPU 120 (called CPU, acronym for central processing unit, in Figure 1) executes the instructions of the software implementing the method object of the present invention. When powering on, the programs enabling the implementation of the method that is the subject of the present invention stored in a non-volatile memory, for example the ROM 104, are transferred into RAM RAM 106 which then contains the instructions of this software as well as registers to memorize the variables necessary for the implementation of the invention. A communication bus 102 allows communication between the different elements of the microcomputer 100 or connected to it. The representation of the bus 102 is not limiting. In particular, the central unit 120 is capable of communicating instructions to any element of the device directly or via another element of the device. Figure 2 illustrates the image quality that can be obtained by decoding an SVC sequence when switching from a higher spatial resolution level to a lower spatial resolution level. The horizontal lines 205 and 210 represent the quality levels, in terms of signal-to-noise ratio, for example PSNR (acronym for Peak Signal to Noise Ratio for peak signal-to-noise ratio), obtained when the levels of the signal are regularly decoded. higher and lower spatial resolution, respectively, without performing level switching.

En conséquence, si une commutation est effectuée sans aucune dérive par le décodeur, la qualité d'image obtenue par l'utilisateur correspond à la ligne 215, au cours de la commutation. Au contraire, si une dérive temporelle est présente lors de la commutation descendante depuis le niveau de résolution spatiale supérieur vers le niveau de résolution spatiale inférieur, la qualité d'image obtenue 220 peut se trouver entre les deux lignes 205 et 210. La présente invention met à profit cette qualité d'image, qui est supérieure à celle obtenue sans dérive temporelle. Accordingly, if a switch is performed without any drift by the decoder, the image quality obtained by the user corresponds to the line 215, during switching. On the contrary, if a time drift is present during the downward switching from the higher spatial resolution level to the lower spatial resolution level, the resulting image quality 220 can be between the two lines 205 and 210. The present invention takes advantage of this quality of image, which is superior to that obtained without temporal drift.

Les figures 3A et 3B illustrent le principe des couches de priorité mises en oeuvre dans le codage vidéo adaptable ( scalable ) SVC. En figure 3A est représenté un groupe d'image, ou GOP d'une séquence vidéo. En figure 3A, ne sont représentés que deux niveaux de résolution spatiale 305 et 310, étant entendu que plus de deux niveaux peuvent être mis en oeuvre dans le codage SVC. De plus, chaque niveau spatial contient deux niveaux de qualité, 306 et 307, pour le niveau spatial 305, et 311 et 312, pour le niveau spatial 310. Dans chaque niveau spatial, chaque image du GOP est identifiée par son type de codage, P ou B, et, pour les premières, l'indice du GOP et, pour les secondes, son indice dans la séquence. On a ainsi, successivement, les images P0, BO, B1, B2, B3, B4, B5, B6 et P1. Enfin, puisque l'adaptabilité temporelle est fournie par le codage SVC par le codage d'images B hiérarchisées, chaque image du GOP possède un identifiant de niveau temporel, indiqué au dessus des images. Ici cet identifiant prend successivement les valeurs t0, t3, t2, t3, t1, t3, t2, t3 et t0. Les images possédant les niveaux temporels les plus élevés peuvent être exclues pour extraire un sous-flux ( substream ) présentant une résolution temporelle réduite, ou fréquence d'images ( frame rate ). Dans la suite, chaque image d'un niveau spatial est identifiée par son niveau de qualité et son identifiant dans le niveau de qualité. Par exemple, B3, QO correspond à l'image B ayant un indice 3 et un niveau qualité Q0, dans le niveau spatial considéré. En termes d'éléments NAL (acronyme de Network Abstract Layer pour couche d'abstraction de réseau) Units.de train binaire ( bitstream ), une telle image est codée en un ou plusieurs éléments, en fonction du nombre de tranches de macroblocs ( slices ) utilisées pour encoder cette image (une NAL unit par tranche de macroblocs). Une NAL unit représente une entité élémentaire de données H.264 ou SVC, et est composée d'un en-tête et d'un corps). L'en-tête fournit des caractéristiques des données contenues dans le corps. Le corps contient soit des données d'un slice codé soit des paramètres de codage de la séquence ou d'images de la séquence vidéo. Ici, pour des raisons de clarté, on ne considère pas la possibilité d'encoder des images auxiliaires, qui transporteraient des données redondantes dans une unité NAL dédiée qui serait utilisée pour augmenter la robustesse de la transmission, face aux erreurs de transmission. La figure 3B illustre la manière dont les couches de priorité sont calculées pour les images du GOP illustré en figure 3A, pour un niveau spatial donné. D'une manière générale, le calcul des couches de priorité vise à fournir à chaque NAL unit codée contenue dans le GOP au niveau spatial donné une valeur dite d'identifiant de priorité ( priority ID-value ). Cet identifiant de priorité représente donc la contribution de chaque NAL unit à la qualité de la version décodée du GOP considéré, en fonction du coût de la NAL unit, en terme de débit. Ainsi, les NAL units qui portent la plus grande contribution à la qualité du GOP reconstruit obtiennent le niveau de priorité le plus élevé et une plus haute priorité de transmission. En d'autres termes, lorsque le serveur doit sélectionner un sous-flux pour un débit cible, le sous-flux est formé en sélectionnant, en premier, les NAL units possédant les plus hauts niveaux de priorité. Ainsi, le sous-flux possédant la meilleure qualité vidéo est formé par l'agent d'extraction de sous-flux ( substream extraction agent") en fonction du débit requis. Dans la suite, on explique comment les couches de priorité sont calculées dans SVC. Une couche de priorité réunit toutes les NAL units qui possèdent la même valeur d'identifiant de priorité dans un train binaire SVC. FIGS. 3A and 3B illustrate the principle of the priority layers implemented in the adaptable (scalable) video coding SVC. In Figure 3A is shown an image group, or GOP of a video sequence. In FIG. 3A, only two levels of spatial resolution 305 and 310 are represented, it being understood that more than two levels can be implemented in the SVC coding. In addition, each spatial level contains two quality levels, 306 and 307, for the spatial level 305, and 311 and 312, for the spatial level 310. In each spatial level, each image of the GOP is identified by its type of coding, P or B, and for the first, the index of the GOP and, for seconds, its index in the sequence. Thus, successively, the images P0, BO, B1, B2, B3, B4, B5, B6 and P1. Finally, since the temporal adaptability is provided by the SVC encoding by encoding hierarchical B-images, each GOP image has a time-level identifier, indicated above the images. Here this identifier successively takes the values t0, t3, t2, t3, t1, t3, t2, t3 and t0. Images with the highest temporal levels can be excluded to extract a sub-stream (substream) with a reduced temporal resolution, or frame rate. In the following, each image of a spatial level is identified by its quality level and its identifier in the quality level. For example, B3, Q0 corresponds to the image B having an index 3 and a quality level Q0, in the spatial level considered. In terms of NAL elements (Network Abstraction Layer for Network Abstraction Layer) units.de bitstream, such an image is encoded in one or more elements, depending on the number of macroblock slices (slices ) used to encode this image (one NAL unit per macroblock slice). A NAL unit represents an elementary H.264 or SVC data entity, and consists of a header and a body). The header provides characteristics of the data contained in the body. The body contains either data of an encoded slice or encoding parameters of the sequence or images of the video sequence. Here, for the sake of clarity, we do not consider the possibility of encoding auxiliary images, which would carry redundant data in a dedicated NAL unit that would be used to increase the robustness of the transmission, facing transmission errors. Figure 3B illustrates how the priority layers are calculated for the GOP images illustrated in Figure 3A for a given spatial level. In general, the calculation of the priority layers aims to provide each coded NAL unit contained in the GOP at the given spatial level a so-called priority ID value value. This priority identifier therefore represents the contribution of each NAL unit to the quality of the decoded version of the GOP considered, according to the cost of the NAL unit, in terms of bit rate. Thus, the NAL units that make the greatest contribution to the quality of the reconstructed GOP get the highest priority level and highest transmission priority. In other words, when the server must select a substream for a target rate, the substream is formed by first selecting the NAL units with the highest priority levels. Thus, the sub-stream having the best video quality is formed by the substream extraction agent ("substream extraction agent") as a function of the required bit rate, in the following it explains how the priority layers are calculated in SVC A priority layer consists of all NAL units that have the same priority identifier value in an SVC bit stream.

La détermination des couches de priorité est effectuée en trois phases principales : - d'abord, on calcule l'information de débit-distorsion de chaque NAL unit. Le débit associé à chaque NAL unit constituant le GOP est donné par la longueur, en octets de la NAL unit codée. La distorsion est obtenue en calculant la réduction de distorsion obtenue par le décodage du GOP avec ou sans la NAL unit considérée. Plus de détail sur les différentes manières de calculer la distorsion associée à une NAL unit donnée sont donnés dans l'article de I. Amonou, N. Gammas, S. Kervadec, et S. Pateux Optimized rate-distortion extraction with quality layers in the scalable extension of h.264/avc paru dans IEEE Transactions on Circuits and Systems for Video Technology , 17(9) : 1186-1193, Septembre 2007. - puis on détermine la courbe de débit-distorsion 320 dans le codage du GOP courant, comme illustrée en figure 3B. Cette courbe de débit-distorsion 320 est obtenue en triant les NAL units en fonction de leur pente ( slope ) de débit-distorsion. Cette pente est obtenue en divisant la réduction de distorsion associée à la NAL unit par le coût en termes de débit de cette NAL unit. Ainsi, les NAL units sont triées par ordre décroissant de leur pente, ce qui fournit la courbe de débit-distorsion 320 associée au codage du GOP courant dans le niveau spatial considéré. On note que des contraintes, imposées par la dépendance temporelle entre les images du GOP ont été prises en compte pour que des données de référence apparaissent avant les données prédites correspondantes, dans la liste des NAL units. La section III.B du document mentionné au paragraphe précédent fournit des éléments algorithmiques précis pour assurer le respect de ces contraintes. - enfin, on forme les couches de priorité (appelées glayer sur la figure) en fonction des points de débit-distorsion ordonnés et de chaque débit de couche désiré. Cette phase réunit les NAL units adjacentes à la fin de la phase précédente dans des niveaux de qualité. Différents critères peuvent être utilisés pour décider comment réunir les NAL units adjacentes dans la même couche de priorité. Par exemple, un débit cible requis pour chaque couche de priorité peut servir de critère. Les identifiants de couches de priorité sont encodés dans le train binaire SVC soit dans l'en-tête dans chaque NAL unit, dans un champ de six bits appelé priority_id , ou dans le message SEI appelé "Priority layer information" (pour information de couche de priorité). La syntaxe de ce message est décrite dans l'article de T. Wiegand, G. Sullivan, J. Reichel, H. Schwarz, et M. Wien Joint Draft ITU-T Rec. H.264 / ISO/IEC 14496-10/Amd.3 Scalable Video Coding . Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, Genève, Suisse, Juillet 2007. Document JVTX201, section G.13.6. Une fois les couches de priorité calculées et écrites dans le train binaire SVC, elles peuvent être utilisées dans le processus d'extraction de sous-flux. Les couches de priorité indiquent des points de décodage optimal en termes de débit-distorsion, dans le train binaire SVC. Ainsi, quand un serveur SVC doit transmettre un sous-flux à un débit donné, il peut utiliser l'information des couches de priorité pour extraire les couches de priorité qui fournissent un sous-flux avec un débit égal au débit requis. L'avantage technique d'utiliser des couches de priorité pour réaliser cette extraction est que le sous-flux extrait fournit la meilleure qualité vidéo pour le débit requis. Ainsi, les couches de priorité garantissent une extraction de sous-flux et une transmission optimales dans de système SVC client/serveur. La figure 4 illustre le calcul des couches de priorité dédiées à la commutation spatiale, en vue d'exploiter l'amélioration de qualité qui peut être obtenue par la dérive temporelle lors d'une commutation de niveau spatial contenus dans une séquence vidéo SVC. Dans le mode de réalisation de la présente invention illustré en figure 4, on calcule, pour chaque GOP de la séquence, un ou deux jeux additionnels d'identifiants de couches de priorité qui sont associés aux possibles commutations de niveau spatial pour le GOP considéré. Un exemple de séquence SVC, comportant trois niveaux spatiaux 480, 481 et 482 est représenté en figure 4. Une flèche horizontale droite représente le décodage régulier d'un GOP au niveau spatial intermédiaire. Une flèche descendante représente le chemin de décodage suivi lors d'une commutation depuis le niveau spatial supérieur 482 vers le niveau spatial intermédiaire 481. Une flèche ascendante représente le chemin de décodage suivi lors d'une commutation depuis le niveau spatial inférieur 480 vers le niveau spatial intermédiaire 481. Les références PLSEI des messages SEI des NAL units des couches de priorité sont données en dessous des images du niveau spatial intermédiaire 481. Elles comportent, en première ligne, les identifiants de couches de priorité normalement calculés comme décrit précédemment en regard de la figure 3. Pour chaque image du GOP du niveau spatial intermédiaire, deux autres messages SEI de couches de priorité sont illustrés en figure 4. Le premier, écrit juste en dessous de la référence PLSEI , noté PLSEI_do représente l'information de niveau de qualité qui est calculé en tenant compte de la commutation descendante entre le GOP précédent au niveau spatial supérieur 482 au GOP courant au niveau spatial intermédiaire 481. Le second, écrit juste en dessous de la référence PLSEI_do , noté PLSEI_up représente l'information de niveau de qualité qui est calculé en tenant compte de la commutation ascendante entre le GOP précédent au niveau spatial inférieur 480 au GOP courant au niveau spatial intermédiaire 481. L'intérêt de calculer des jeux additionnels de couches de priorité et de les écrire dans le train binaire est que ces informations supplémentaires de couche de priorité peuvent être utilisées par le serveur SVC lorsque le client effectue une commutation de niveau spatial. Le serveur SVC peut alors utiliser les informations de couches de priorité pré-enregistrées qui sont adaptées à la commutation effectuée par le client. A cet effet, le serveur SVC extrait et transmet le sous-flux qui présente les performances débit-distorsion optimales pour la commutation considérée puisque les couches de priorité utilisées sont précisément calculées pour déterminer une configuration de décodage qui est optimale en débit-distorsion pour cette commutation particulière. Les phases réalisées pour calculer les couches de priorité adaptées à la commutation considérée sont décrites ci-dessous. On note que le calcul de couches de priorité est réalisé hors-ligne ( off-line ) par le serveur SVC et que son résultat est conservé dans le train binaire à transmettre. Ainsi, le coût, en termes de traitements, lié au calcul des couches de priorité n'a pas d'impact sur le processus de transmission en temps-réel. Pour chaque chemin de décodage associé à chaque commutation possible (ascendante ou descendante), pour chaque GOP, pour chaque niveau spatial (d'identifiant de niveau spatial dans le flux vidéo dependency_id ) et pour chaque représentation d'image dans ledit niveau spatial ( dependency unit qui représente l'ensemble des NAL Units correspondant à une image dans un niveau spatial donné), on remplace l'image I ou P du GOP précédent par sa version décodée dans le niveau spatial de départ ré-échantillonné au niveau spatial d'arrivée (ou cible ) de la commutation considérée. On réalise le processus d'attribution de couche de priorité classique sur le GOP obtenu. On génère un message SEI additionnel de type Priority Layer information , ou information de couche de priorité en français, correspondant à la commutation de niveau spatial considérée vers le niveau spatial courant (481 sur la figure 4). On enregistre chaque information de couche de priorité du côté serveur en distinguant les informations des messages SEI réguliers et les identifiants de couche de priorité nouveaux en générant un message SEI de couche de priorité propriétaire qui signale l'identifiant de couche de priorité adapté à la commutation. Selon les spécifications H.264 / AVC et SVC, de tels messages SEI propriétaires sont ignorés par les décodeurs qui ne les connaissent pas. Puis, lorsque la transmission en temps réel du train binaire SVC ainsi augmenté a lieu dans le serveur, en cas de commutation entre deux niveaux spatiaux, le serveur réalise une extraction optimale au sens débit-distorsion par le biais des messages SEI de couches de priorité enregistrés et correspondant à la commutation considérée. Comme ces couches ont été déterminées en prenant en compte le processus de décodage mis en oeuvre par le client au cours de la commutation considérée, elles donnent nécessairement des performances débit-distorsion supérieures ou égales à celles fournies par les couches de priorité classiques (identifiées par les messages PLSEI de la figure 4) qui ne prennent pas en compte de commutation spatiale. The determination of the priority layers is carried out in three main phases: firstly, the flow-distortion information of each NAL unit is calculated. The bit rate associated with each NAL unit constituting the GOP is given by the length, in bytes, of the encoded NAL unit. The distortion is obtained by calculating the distortion reduction obtained by decoding the GOP with or without the NAL unit under consideration. More details on the different ways of calculating the distortion associated with a given NAL unit are given in the article by I. Amonou, N. Gammas, S. Kervadec, and S. Pateux. Optimized rate-distortion extraction scalable extension of h.264 / avc published in IEEE Transactions on Circuits and Systems for Video Technology, 17 (9): 1186-1193, September 2007. - then the rate-distortion curve 320 is determined in the coding of the current GOP, as illustrated in FIG. 3B. This rate-distortion curve 320 is obtained by sorting the NAL units according to their rate-distortion slope. This slope is obtained by dividing the distortion reduction associated with the NAL unit by the cost in terms of flow rate of this NAL unit. Thus, the NAL units are sorted in descending order of their slope, which provides the rate-distortion curve 320 associated with the coding of the current GOP in the spatial level considered. It is noted that constraints imposed by the temporal dependence between the images of the GOP have been taken into account so that reference data appear before the corresponding predicted data, in the list of NAL units. Section III.B of the document mentioned in the previous paragraph provides precise algorithmic elements to ensure compliance with these constraints. and finally, the priority layers (called glittering in the figure) are formed as a function of the ordered flow-distortion points and each desired layer rate. This phase brings together adjacent NAL units at the end of the previous phase into quality levels. Different criteria can be used to decide how to join adjacent NAL units in the same priority layer. For example, a target bit rate required for each priority layer can serve as a criterion. The priority layer identifiers are encoded in the SVC bit stream either in the header in each NAL unit, in a six-bit field called priority_id, or in the SEI message called "Priority layer information" (for layer information priority). The syntax of this message is described in the article by T. Wiegand, G. Sullivan, J. Reichel, H. Schwarz, and M. Wien Joint Draft ITU-T Rec. H.264 / ISO / IEC 14496-10 / Amd.3 Scalable Video Coding. Joint Video Team (JVT) of ISO / IEC MPEG & ITU-T VCEG, Geneva, Switzerland, July 2007. Document JVTX201, section G.13.6. Once the priority layers are calculated and written in the SVC bit stream, they can be used in the sub-stream extraction process. The priority layers indicate optimal rate-distortion decoding points in the SVC bit stream. Thus, when an SVC server is to transmit a substream at a given rate, it can use the priority layer information to retrieve the priority layers that provide a substream with a rate equal to the required rate. The technical advantage of using priority layers to perform this extraction is that the extracted sub-stream provides the best video quality for the required bit rate. Thus, the priority layers ensure optimal sub-stream extraction and transmission in client / server SVC systems. FIG. 4 illustrates the calculation of the priority layers dedicated to spatial switching, in order to exploit the quality improvement that can be obtained by the time drift during a spatial level switching contained in an SVC video sequence. In the embodiment of the present invention illustrated in FIG. 4, for each GOP of the sequence, one or two additional sets of priority layer identifiers are computed which are associated with possible spatial level switches for the considered GOP. An example of an SVC sequence with three spatial levels 480, 481 and 482 is shown in FIG. 4. A right horizontal arrow represents the regular decoding of a GOP at the intermediate spatial level. A down arrow represents the decoding path followed when switching from the higher spatial level 482 to the intermediate spatial level 481. An upward arrow represents the decoding path followed when switching from the lower spatial level 480 to the level The PLSEI references of the SEI messages of the NAL units of the priority layers are given below the images of the intermediate spatial level 481. They comprise, in the first line, the priority layer identifiers normally calculated as described above with respect to Figure 3. For each intermediate spatial level GOP image, two other priority layer SEI messages are shown in Figure 4. The first, written just below the PLSEI reference, denoted PLSEI_do, represents the quality level information. which is calculated taking into account the downward switching between the GOP previous at the higher 482 spatial level at the intermediate GOP 481. The second, written just below the reference PLSEI_do, denoted PLSEI_up represents the quality level information which is calculated taking into account the upward switching between the GOP previous lower spatial level 480 to the intermediate GOP at the intermediate spatial level 481. The advantage of calculating additional sets of priority layers and writing them in the bitstream is that this additional priority layer information can be used by the server SVC when the client performs a spatial level switch. The SVC server can then use the pre-recorded priority layer information that is adapted to the switching made by the client. For this purpose, the SVC server extracts and transmits the sub-stream which presents the optimal bit rate-distortion performance for the considered switching since the priority layers used are precisely calculated to determine a decoding configuration which is optimal in bit rate-distortion for this particular switching. The phases performed to calculate the priority layers adapted to the commutation considered are described below. It is noted that the calculation of priority layers is performed offline (off-line) by the SVC server and that its result is preserved in the bit stream to be transmitted. Thus, the cost, in terms of processing, related to the calculation of the priority layers has no impact on the transmission process in real time. For each decoding path associated with each possible switch (ascending or descending), for each GOP, for each spatial level (spatial level identifier in the video stream dependency_id) and for each image representation in said spatial level (dependency unit which represents the set of NAL Units corresponding to an image in a given spatial level), we replace the image I or P of the previous GOP by its decoded version in the starting spatial level resampled at the spatial level of arrival (or target) of the commutation considered. The conventional priority layer assignment process is performed on the obtained GOP. An additional Priority Layer information SEI message, or priority layer information in French, corresponding to the spatial level switching considered, is generated to the current spatial level (481 in FIG. 4). Each server-side priority layer information is recorded by distinguishing the information from the regular SEI messages and the new priority layer identifiers by generating a proprietary priority layer SEI message which signals the priority layer identifier adapted for switching. . According to H.264 / AVC and SVC specifications, such proprietary SEI messages are ignored by decoders that do not know them. Then, when the real-time transmission of the SVC bit stream thus increased takes place in the server, in the event of switching between two spatial levels, the server achieves optimal extraction in the sense-distortion direction through the priority layer SEI messages. recorded and corresponding to the switch in question. Since these layers have been determined by taking into account the decoding process implemented by the client during the commutation in question, they necessarily give debit-distortion performances greater than or equal to those provided by the conventional priority layers (identified by the PLSEI messages in Figure 4) that do not take into account spatial switching.

On note que les nouvelles couches de priorité ainsi signalées dans ces messages SEI propriétaires ne sont pas transmises au client. Elles ne servent qu'au niveau du serveur pour déterminer le meilleur jeu de NAL units à transmettre en cas de commutation de niveau spatial. It is noted that the new priority layers thus reported in these proprietary SEI messages are not transmitted to the client. They are only used at the server level to determine the best set of NAL units to transmit in case of spatial level switching.

La figure 5 représente un algorithme global de calcul de couches de priorité dans un mode de réalisation particulier du procédé objet de la présente invention. L'objectif de cet algorithme est d'attribuer trois indices différents, pour les couches intermédiaires (et deux, pour couches extrêmes), de couche de priorité optimisée en termes de débit-distorsion à chaque NAL unit du train binaire SVC : - l'indice de couche de priorité standard correspondant au décodage d'un sous-flux SVC sans changement de niveau spatial en cours de décodage, - l'indice de couche de priorité optimisé en termes de débit-distorsion dans le contexte d'une commutation spatiale depuis un niveau spatial inférieur vers le niveau spatial courant et - l'indice de couche de priorité optimisé en termes de débit-distorsion dans le contexte d'une commutation spatiale depuis un niveau spatial supérieur vers le niveau spatial courant. En variante on attribue deux indices différents pour les couches intermédiaires, et un indice pour les couches extrêmes, de couche de priorité optimisée en termes de débit-distorsion à chaque NAL unit du train binaire SVC, dont la couche de priorité standard. Cet algorithme correspond à l'algorithme de calcul de couches de priorité standard de SVC décrit dans l'article de J. Reichel, H. Schwarz, et M. FIG. 5 represents a global algorithm for calculating priority layers in a particular embodiment of the method that is the subject of the present invention. The objective of this algorithm is to assign three different indices, for the intermediate layers (and two, for extreme layers), layer of priority optimized in terms of rate-distortion at each NAL unit of the bit stream SVC: - the standard priority layer index corresponding to the decoding of an SVC sub-stream without spatial level change during decoding, - the debit-distortion optimized priority layer index in the context of a spatial switch from a lower spatial level to the current spatial level and - the bias-optimized priority layer index in the context of spatial switching from a higher spatial level to the current spatial level. As a variant, two different indices for the intermediate layers, and one index for the extreme layers, of a rate-distortion optimized priority layer for each NAL unit of the SVC bitstream, including the standard priority layer, are attributed. This algorithm corresponds to the SVC standard priority layer calculation algorithm described in the article by J. Reichel, H. Schwarz, and M.

Wien Joint Scalable Video Model JSVM-11 ISO/IEC JTC1/SC29/WG11 et ITU-T SG16 Q.6, Genève, Suisse, Juillet 2007, document Joint Video Team JVT-X202, auquel sont ajoutées les déterminations des indices de couche de priorité attribués aux différentes NAL units dans le contexte d'une commutation ascendante ou descendante entre niveaux spatiaux. Wien Joint Scalable Video Model JSVM-11 ISO / IEC JTC1 / SC29 / WG11 and ITU-T SG16 Q.6, Geneva, Switzerland, July 2007, Joint Video Team document JVT-X202, to which are added the determinations of priority assigned to different NAL units in the context of upward or downward switching between spatial levels.

Les entrées de l'algorithme illustré en figure 5 sont les suivantes: - le train binaire B pour lequel on cherche à calculer les couches de priorité, - le nombre NbDid de niveaux de résolution spatiale contenus dans le train binaire B, - le nombre de niveaux de qualité contenus dans chaque niveau de résolution spatiale du train binaire SVC considéré: {NbQL(d), V d e [0,..., NbDid - 1]}. Selon cet algorithme, on opère une boucle comportant les étapes 510 à 540 sur les niveaux spatiaux d successifs contenus dans le train binaire B. Après une étape 505 d'initialisation du niveau spatial courant d à 0, pour chaque niveau spatial d, on effectue une étape 510 qui consiste à calculer le coût en termes de débit 6R(d, q, t, i) et la baisse de distorsion 6D(d, q, t, i) de chaque NAL unit du train binaire B de niveau spatial d. Ce calcul est identique à celui effectué dans l'algorithme standard d'estimation des couches de priorité SVC décrit dans le document cité dans le paragraphe précédent et est connu de l'homme du métier. En effet, il correspond au calcul de débit et de distorsion pour un décodage d'un sous-flux SVC sans changement de niveau spatial en cours de décodage. Dans les notations ci-dessus, les grandeurs q et t représentent respectivement les niveaux de qualité et temporels auxquels contribue la NAL unit considérée. L'indice i est l'indice de l'image courante dans le niveau spatial, de qualité et temporel considéré. Dans le cas où chaque image est codée en une seule tranche de macrobloc ( slice ), une seule NAL unit contenant des données d'images codée est présente pour chaque combinaison d'indice (d, q, t, i). La suite de l'algorithme consiste à calculer des distorsions associées à chaque NAL unit de niveau spatial d dans le contexte de commutations, ou commutations, entre niveaux spatiaux. Au cours d'une étape 515, on détermine si le niveau spatial d est strictement supérieur à 0. Dans le cas où d est strictement supérieur à 0, une commutation spatiale ascendante, d'un niveau spatial inférieur à d vers le niveau spatial d, est possible puisqu'il existe au moins un niveau spatial inférieur au niveau d. On calcule alors, au cours d'une étape 520, les distorsions liées au décodage des NAL units dans le contexte d'un changement de niveau spatial au niveau du GOP (groupe d'images) dans lequel se trouve la NAL unit considérée. Cette étape 520 est détaillée en regard de la figure 6. Si le résultat de l'étape 515 est négatif, c'est-à-dire si le niveau spatial d est égal à 0, ou à la suite de l'étape 520, au cours d'une étape 525, on détermine si le niveau spatial d est strictement inférieur à sa valeur maximale NbDid-1. Si oui, une commutation descendante, du niveau spatial supérieur à d vers le niveau d, est possible. Au cours d'une étape 530, on calcule les distorsions associées au décodage de chaque NAL unit, dans le cas où une commutation spatiale descendante s'effectuerait au niveau du GOP dans lequel se situe la NAL unit courante. Cette étape 530 est détaillée en regard de la figure 7. Si le résultat de l'étape 525 est négatif ou à la suite de l'étape 530, c'est-à-dire une fois que le débit et les trois types de distorsion associés à chaque NAL units du niveau spatial courant sont obtenus au cours d'une étape 535, on calcule les couches de priorité optimales standards, c'est à dire en considérant un décodage sans changement spatial, puis les couches de priorité dans le cadre de commutations spatiales ascendante et descendante. Cette étape est détaillée en regard de la figure 8. Puis, au cours d'une étape 540, on détermine si le niveau d est strictement inférieur à sa valeur maximale NbDid-1. Si oui, on incrémente le niveau d puis on retourne à l'étape 510. Sinon, l'algorithme illustré en figure 5 prend fin car les couches de priorité on été calculées pour chaque niveau spatial d contenu dans le train binaire SVC B. La figure 6 illustre l'algorithme de calcul de distorsion associée au décodage des NAL units d'un niveau spatial donné d du train binaire B considéré, dans le contexte d'une commutation de niveau spatial ascendante, depuis le niveau spatial d-1, directement inférieur à d, vers le niveau d. Les entrées de l'algorithme sont les suivantes : - le train binaire en cours de traitement B, - le niveau spatial d courant pour lequel l'algorithme de la figure 5 cherche à optimiser les couches de priorité en termes de débit-distorsion et - le nombre de niveaux de qualité contenus dans le train binaire B au niveau de résolution spatial d : NbQL(d). L'algorithme opère une boucle (étapes 610 à 650) sur les niveaux de qualité contenus dans le niveau spatial courant d du train binaire B. Pour chaque niveau de qualité, une boucle (étape 615 à 640) sur les images du train binaire B de niveau spatial d et de niveau de qualité q est parcourue. On note I(d, q, t, i) l'image couramment traitée. Dans la suite, on parle également d'incrément de qualité car la portion de train binaire correspondant à ces paramètres, spatial, de qualité et temporel, constituent des données de raffinement en qualité SVC. Les indices t et i désignent respectivement le niveau temporel de l'image considérée et l'indice de l'image au sein des niveaux, spatial, de qualité, et temporel auxquels elle appartient. Au cours d'une étape 605, on effectue une initialisation du niveau de qualité courant q à la valeur O. Puis, au cours d'une étape 610, on effectue une initialisation de l'image courante I(d,q,t,i) à la première image du sous-flux de paramètres d et q. Au cours d'une étape 615, on détermine si le niveau temporel de l'image courante est égal à O. Si oui, on passe à l'étape 655, au cours de laquelle on décode l'image courante au niveau spatial inférieur. Puis, au cours d'une étape 660, on sur-échantillonne l'image décodée au cours de l'étape 655, de façon à générer une image décodée de résolution spatiale égal à celle du niveau spatial d. Le résultat de ce décodage suivi du sur-échantillonnage est alors stocké dans une image temporaire notée Iref(d, q, t = 0, i) et sera utilisée ultérieurement pour le calcul des distorsions associées aux images du GOP suivant le GOP contenant l'image courante I(d, q, t, i). Au cours d'une étape 665, on remplace l'image de référence de niveau temporel 0 précédent le GOP courant par l'image issue du décodage suivi de sur-échantillonnage spatial effectué sur le GOP précédent: Iref(d, q, t = 0, i - 1). En référence à la figure 4, cette étape revient à remplacer l'image de type P notée S1, QO en figure 4 par l'image du niveau spatial SO de même instant temporel dans sa version décodée et sur-échantillonnée vers le niveau spatial S1. Ainsi, l'image de type 1 ou P qui sert de référence pour la prédiction temporelle des images du GOP courant est modifiée, de façon à simuler le comportement obtenu au décodeur (côté client) lors d'un changement de niveau spatial en cours de décodage de la séquence SVC considérée. On considère ici que les changements de niveaux spatiaux sont toujours effectués au niveau des images de niveau temporel O. Ce changement d'image de référence mis en oeuvre lors d'un changement de niveau spatial a donc un impact sur le décodage de toutes les images du GOP suivant de niveau temporel zéro correspondant à l'instant du changement de niveau spatial. L'objectif de l'algorithme de la figure 6 est précisément de déterminer l'impact de cette commutation spatiale sur la distorsion des images décodées et de fournir les valeurs de distorsion ainsi obtenues au processus d'optimisation des couches de priorité. Une fois le remplacement d'image de référence du GOP courant effectué, on passe a l'étape 620. Si le résultat de l'étape 615 est négatif ou à la suite de l'étape 665, au cours d'une étape 620, on effectue un décodage de l'image courante sans la NAL unit contenant l'incrément de qualité I(d, q, t, i). Au cours d'une étape 625, on effectue un décodage de l'image courante avec la NAL unit contenant l'incrément de qualité I(d, q, t, i). La baisse de distorsion, correspondant à une hausse de qualité, liée 20 au décodage de l'image courante avec l'incrément de qualité I(d, q, t, i) est alors calculée, au cours d'une étape 630, et est notée 6Dup(d, q, t, i). Au cours d'une étape 635, on détermine si l'image I(d,q,t,i) est la dernière image du sous flux de paramètres d et q. Si non, au cours d'une étape 640, on passe à la prochaine image du sous-flux considéré et on retourne à 25 l'étape 615. Si le résultat de l'étape 635 est positif, au cours d'une étape 645, on détermine si q est le dernier niveau de qualité dans le niveau spatial courant d. Si non, on incrémente la valeur de q, au cours d'une étape 650 et on retourne à l'étape 610. Si le résultat de l'étape 645 est positif, l'algorithme s'achève. L'algorithme de la figure 6 prend ainsi fin lorsque tous les niveaux de 30 qualité contenus dans le niveau spatial d du train binaire B ont été traités. La figure 7 illustre le calcul de distorsion dans le contexte d'une commutation spatiale descendante. L'algorithme de la figure 7 est analogue à celui de la figure 6 et vise à calculer les valeurs de distorsion associées aux NAL units du train binaire B, lorsque celles-ci sont décodées dans le cadre d'une commutation descendante, entre deux niveaux spatiaux, survenant en cours de session vidéo. Les mêmes traitements que dans l'algorithme de la figure 6 sont mis en oeuvre, mais sont adaptés au cas d'un changement depuis un niveau spatial supérieur au niveau courant d vers le niveau spatial courant d. Ainsi, les étapes 705 à 725 et 735 à 750 sont respectivement identiques aux étapes 605 à 625 et 635 à 650. Au cours de l'étape 730, la baisse de distorsion, correspondant à une hausse de qualité, liée au décodage de l'image courante avec l'incrément de qualité I(d, q, t, i) est calculée et est notée 6Ddown(d, q, t, i). Si le résultat de l'étape 715 est positif, au cours de l'étape 755, on décode l'image courante au niveau spatial supérieur. Puis, au cours d'une étape 760, on sous-échantillonne l'image décodée au cours de l'étape 755, de façon à générer une image décodée de résolution spatiale égale à celle du niveau spatial d. Le résultat de ce décodage suivi du sous-échantillonnage est alors stocké dans une image temporaire notée Iref(d, q, t = 0, i) et sera utilisée ultérieurement pour le calcul des distorsions associées aux images du GOP suivant le GOP contenant l'image courante I(d, q, t, i). Au cours d'une étape 765, on remplace l'image de référence de niveau temporel 0 précédent le GOP courant par l'image issue du décodage suivi de sous-échantillonnage spatial effectué sur le GOP précédent: Iref(d, q, t=0, i - 1). La figure 8 illustre la détermination des indices de couches de priorité optimales dans un mode de réalisation particulier du procédé objet de la présente invention. Cette figure 8 détaille l'étape de calcul des couches de priorité standards adaptées aux changements de niveaux spatiaux de l'algorithme illustré en figure 5. Les entrées de l'algorithme de la figure 8 sont les suivantes : - le train binaire B en cours de traitement, - le niveau spatial courant d dans lequel on cherche à optimiser les couches de priorité, - le nombre de niveaux de qualité NbQL(d) contenus dans le niveau spatial courant et - le nombre de niveaux temporels dans chaque niveau de qualité du niveau spatial courant : {NbTL(d,q), V q E [0,. , , , NbQL(d) - 1]}. The inputs of the algorithm illustrated in FIG. 5 are the following: the bit stream B for which it is sought to calculate the priority layers, the number NbDid of spatial resolution levels contained in the bit stream B, the number of quality levels contained in each level of spatial resolution of the considered SVC bit stream: {NbQL (d), V of [0, ..., NbDid - 1]}. According to this algorithm, a loop is performed comprising steps 510 to 540 on the successive spatial levels d contained in bit stream B. After a step 505 for initializing the current spatial level d to 0, for each spatial level d, it is performed a step 510 which consists in calculating the cost in terms of rate 6R (d, q, t, i) and the decrease in distortion 6D (d, q, t, i) of each NAL unit of the bit stream B of spatial level d . This calculation is identical to that carried out in the standard algorithm for estimating the SVC priority layers described in the document cited in the preceding paragraph and is known to those skilled in the art. Indeed, it corresponds to the calculation of bit rate and distortion for a decoding of an SVC sub-stream without spatial level change during decoding. In the above notations, the quantities q and t respectively represent the quality and time levels to which the NAL unit contributes. The index i is the index of the current image in the spatial level, of quality and time considered. In the case where each image is coded in a single slice of macroblock, a single NAL unit containing encoded image data is present for each index combination (d, q, t, i). The rest of the algorithm consists in calculating distortions associated with each NAL unit of spatial level d in the context of commutations, or commutations, between spatial levels. During a step 515, it is determined whether the spatial level d is strictly greater than 0. In the case where d is strictly greater than 0, an upward spatial switching, from a spatial level below d to the spatial level of is possible since there is at least one spatial level below level d. Then, during a step 520, the distortions related to the decoding of the NAL units are calculated in the context of a spatial level change at the GOP (group of images) in which the NAL unit in question is located. This step 520 is detailed with regard to FIG. 6. If the result of step 515 is negative, that is to say if the spatial level d is equal to 0, or following step 520, during a step 525, it is determined whether the spatial level d is strictly less than its maximum value NbDid-1. If yes, a downward switch from spatial level higher than d to level d is possible. During a step 530, the distortions associated with the decoding of each NAL unit are calculated, in the case where a downward spatial switch is performed at the level of the GOP in which the current NAL unit is located. This step 530 is detailed with respect to FIG. 7. If the result of step 525 is negative or following step 530, that is, once the bit rate and the three types of distortion associated with each NAL units of the current spatial level are obtained during a step 535, the optimal optimal priority layers are calculated, that is to say considering a decoding without spatial change, then the priority layers in the context of upward and downward spatial commutations. This step is detailed with reference to FIG. 8. Then, during a step 540, it is determined whether the level d is strictly less than its maximum value NbDid-1. If yes, the level d is incremented and then we return to step 510. Otherwise, the algorithm illustrated in FIG. 5 ends because the priority layers have been calculated for each spatial level d contained in the SVC B bit stream. FIG. 6 illustrates the distortion calculation algorithm associated with the decoding of the NAL units of a given spatial level d of the considered bitstream B, in the context of an upward spatial level switching, from the spatial level d-1, directly less than d, towards level d. The inputs of the algorithm are the following: the bit stream in process B, the spatial level of current for which the algorithm of FIG. 5 seeks to optimize the priority layers in terms of bit rate-distortion and the number of quality levels contained in bit stream B at spatial resolution level d: NbQL (d). The algorithm operates a loop (steps 610 to 650) on the quality levels contained in the current spatial level d of bitstream B. For each quality level, a loop (steps 615 to 640) on the bitstream B images spatial level d and quality level q is covered. I (d, q, t, i) is the commonly processed image. In the following, we also speak of quality increment because the bitstream portion corresponding to these parameters, spatial, quality and time, constitute refinement data in SVC quality. The indices t and i respectively denote the temporal level of the image considered and the index of the image within the levels, spatial, quality, and temporal to which it belongs. During a step 605, the current quality level q is initialized to the value O. Then, during a step 610, an initialization of the current image I (d, q, t, i) to the first image of the substream of parameters d and q. During a step 615, it is determined whether the temporal level of the current image is equal to 0. If yes, step 655 is followed, during which the current image is decoded at the lower spatial level. Then, during a step 660, the decoded image is oversampled during the step 655, so as to generate a decoded spatial resolution image equal to that of the spatial level d. The result of this decoding followed by the oversampling is then stored in a temporary image denoted Iref (d, q, t = 0, i) and will be used later for calculating the distortions associated with the images of the GOP according to the GOP containing the current image I (d, q, t, i). During a step 665, the temporal level 0 reference image preceding the current GOP is replaced by the image resulting from the decoding followed by spatial oversampling performed on the preceding GOP: Iref (d, q, t = 0, i - 1). With reference to FIG. 4, this step amounts to replacing the image of the type P noted S1, Q0 in FIG. 4 by the image of the spatial level SO of the same time instant in its decoded and oversampled version towards the spatial level S1. . Thus, the type 1 or P image that serves as a reference for the temporal prediction of the current GOP images is modified, so as to simulate the behavior obtained at the decoder (client side) during a spatial level change being made. decoding of the SVC sequence considered. It is considered here that the spatial level changes are always made at the time level images O. This change of reference image implemented during a spatial level change therefore has an impact on the decoding of all the images. the next zero time level GOP corresponding to the instant of the spatial level change. The objective of the algorithm of FIG. 6 is precisely to determine the impact of this spatial switching on the distortion of the decoded images and to provide the distortion values thus obtained to the optimization process of the priority layers. Once the reference image replacement of the current GOP has been performed, step 620 is performed. If the result of step 615 is negative or following step 665, in step 620, the current image is decoded without the NAL unit containing the quality increment I (d, q, t, i). During a step 625, the current image is decoded with the NAL unit containing the quality increment I (d, q, t, i). The decrease in distortion, corresponding to an increase in quality, related to the decoding of the current image with the quality increment I (d, q, t, i) is then calculated, during a step 630, and is denoted 6Dup (d, q, t, i). During a step 635, it is determined whether the image I (d, q, t, i) is the last image of the sub stream of parameters d and q. If not, during a step 640, the next image of the sub-stream under consideration is passed to the next image and step 615 is returned. If the result of step 635 is positive, in step 645 , we determine if q is the last level of quality in the current spatial level d. If no, the value of q is incremented during a step 650 and step 610 is returned. If the result of step 645 is positive, the algorithm is completed. The algorithm of FIG. 6 thus ends when all the quality levels contained in the spatial level d of the bit stream B have been processed. Figure 7 illustrates the distortion calculation in the context of a downward spatial switch. The algorithm of FIG. 7 is similar to that of FIG. 6 and aims to calculate the distortion values associated with the NAL units of bit stream B, when these are decoded as part of a downward switching between two levels. space, occurring during a video session. The same treatments as in the algorithm of FIG. 6 are implemented, but are adapted to the case of a change from a spatial level higher than the current level d towards the current spatial level d. Thus, the steps 705 to 725 and 735 to 750 are respectively identical to the steps 605 to 625 and 635 to 650. During the step 730, the decrease in distortion, corresponding to an increase in quality, related to the decoding of the current image with the quality increment I (d, q, t, i) is computed and is denoted 6Ddown (d, q, t, i). If the result of step 715 is positive, in step 755, the current image is decoded at the higher spatial level. Then, during a step 760, the decoded image is sub-sampled during step 755, so as to generate a decoded spatial resolution image equal to that of the spatial level d. The result of this decoding followed by the subsampling is then stored in a temporary image denoted Iref (d, q, t = 0, i) and will be used later for calculating the distortions associated with the images of the GOP according to the GOP containing the current image I (d, q, t, i). During a step 765, the temporal level 0 reference image preceding the current GOP is replaced by the image resulting from the decoding followed by spatial subsampling performed on the preceding GOP: Iref (d, q, t = 0, i - 1). FIG. 8 illustrates the determination of the indexes of optimal priority layers in a particular embodiment of the method that is the subject of the present invention. This FIG. 8 details the step of calculating the standard priority layers adapted to the spatial level changes of the algorithm illustrated in FIG. 5. The inputs of the algorithm of FIG. 8 are the following: the current bit stream B processing, - the current spatial level d in which the priority layers are sought to be optimized, - the number of NbQL quality levels (d) contained in the current spatial level and - the number of temporal levels in each quality level. current spatial level: {NbTL (d, q), V q E [0,. ,,, NbQL (d) - 1]}.

L'algorithme illustré en figure 8 parcourt une boucle (étapes 810 à 840) sur les différents niveaux de qualité contenus dans le niveau spatial courant d. Pour chaque niveau de qualité q, un indice de niveau de scalabilité temporelle t est initialisé au plus haut niveau temporel contenu dans le niveau de qualité q, au cours d'une étape 810 précédée par une étape 805 au cours de laquelle le niveau de qualité courant q est initialisé à la valeur O. A la suite de l'étape 810, au cours d'une étape 815, pour chaque image d'indice i du niveau de scalabilité temporelle maximum dans les niveaux de qualité et spatial courants, on initialise une liste d'incréments de qualité notée LOd,q,t,i. Les incréments de cette liste correspondent à la NAL unit contenant les données codées pour l'image courante dans la couche de scalabilité courante. Trois (ou deux pour les couches extrêmes) incréments constituent cette liste, sont notés I(d,q,t,i), Iup(d,q,t,i) et IdQWn(d,q,t,i), et correspondent respectivement au décodage de la NAL unit considérée sans changement de niveau spatial, avec commutation ascendante de niveau spatial et avec commutation descendante de niveau spatial. Ces trois incréments sont ordonnés dans la liste LOd,q,t,i, en fonction de leur pente débit-distorsion respectives, 6D(d,q,t,i) / 6R(d,q,t,i), 6Dup(d,q,t,i) / 6Rup(d,q,t,i) et 6DdoWn(d,q,t,i) / 6Rdown(d,q,t,i). La suite de l'algorithme, est connue de l'homme du métier et consiste à parcourir tous les niveaux temporels depuis le niveau temporel directement inférieur au plus haut niveau jusqu'au niveau temporel O. Ainsi, au cours d'une étape 820, on passe au niveau temporel juste inférieur, en décrémentant de 1 le niveau temporel courant. Puis, au cours d'une étape 825, on détermine si le niveau temporel est supérieur ou égal à O. Si oui, au cours d'une étape 830, pour chaque image du niveau temporel considéré, on opère une fusion et un tri des listes d'incréments de qualité des images du niveau temporel supérieur et dépendantes de l'image courante, notées LOd,q,ft,fi, de façon à former la liste ordonnée d'incréments de qualité associée à l'image courante: LOd,q,t,i. Cette boucle sur les niveaux temporels du plus élevé vers le plus bas fournit enfin, pour le niveau de qualité couramment traité, une liste d'incréments de qualité fusionnée et ordonnée notée LOd,q,0,0. Puis on retourne à l'étape 820. Si le résultat de l'étape 825 est négatif, au cours d'une étape 835, on détermine si le niveau de qualité q est égal au nombre NbQL(d)-1. Si non, au cours d'une étape 840, on incrémente la valeur du niveau de qualité q et on retourne à l'étape 810. Si le résultat de l'étape 835 est positif, cela signifie qu'une liste d'incréments de qualité fusionnée et ordonnée a été obtenue pour chaque niveau de qualité q contenue dans le niveau spatial d. Au cours d'une étape 845, les listes associées à chaque niveau de qualité sont fusionnées entre elles. Cette étape est également connue de l'homme du métier. Sa réalisation consiste à rassembler et ordonner les différents incréments de qualité des différentes listes par pente débit distorsion décroissante, tout en respectant les dépendances entre images de références et images prédites, imposant de positionner les images de référence devant les images qui en dépendent. La liste unique d'incréments de qualité en résultant est notée LOd,0,0,0. The algorithm illustrated in FIG. 8 traverses a loop (steps 810 to 840) on the different levels of quality contained in the current spatial level d. For each quality level q, a temporal scalability level index t is initialized at the highest temporal level contained in the quality level q, during a step 810 preceded by a step 805 during which the level of quality current q is initialized to the value O. Following step 810, during a step 815, for each index image i of the maximum temporal scalability level in the current quality and spatial levels, one initializes a list of quality increments denoted LOd, q, t, i. The increments in this list correspond to the NAL unit containing the coded data for the current image in the current scalability layer. Three (or two for the extreme layers) increments constituting this list, are denoted I (d, q, t, i), Iup (d, q, t, i) and IdQWn (d, q, t, i), and correspond respectively to the decoding of the NAL unit considered without spatial level change, with upward switching of spatial level and with downward switching of spatial level. These three increments are ordered in the list LOd, q, t, i, according to their respective flow-distortion slope, 6D (d, q, t, i) / 6R (d, q, t, i), 6Dup ( d, q, t, i) / 6Rup (d, q, t, i) and 6DdoWn (d, q, t, i) / 6Rdown (d, q, t, i). The rest of the algorithm is known to those skilled in the art and consists in traversing all the temporal levels from the time level directly below the highest level to the time level O. Thus, during a step 820, we go to the just lower temporal level, by decreasing the current time level by 1. Then, during a step 825, it is determined whether the temporal level is greater than or equal to 0. If yes, during a step 830, for each image of the time level considered, a merger and a sorting of the lists of quality increments of images of the higher temporal level and dependent on the current image, denoted LOd, q, ft, fi, so as to form the ordered list of quality increments associated with the current image: LOd, q, t, i. This loop on the temporal levels from the highest to the lowest provides finally, for the level of quality currently treated, a list of merged and ordered quality increments denoted LOd, q, 0,0. Then we return to step 820. If the result of step 825 is negative, during a step 835, it is determined whether the quality level q is equal to the number NbQL (d) -1. If not, during a step 840, the value of the quality level q is incremented and we return to step 810. If the result of step 835 is positive, it means that a list of increments of Merged and ordered quality was obtained for each quality level q contained in the spatial level d. During a step 845, the lists associated with each quality level are merged together. This step is also known to those skilled in the art. Its realization consists of gathering and ordering the different quality increments of the different lists by decreasing rate decreasing distortion, while respecting the dependencies between reference images and predicted images, imposing to position the reference images in front of the images that depend on them. The unique list of resulting quality increments is denoted LOd, 0,0,0.

Puis, au cours d'une étape 850, on attribue les indices de couches de priorité aux différentes NAL units de niveau spatial d du train binaire B, de façon standard, c'est à dire en ne considérant que des décodages de sous-flux à niveau spatial constant au cours du décodage. Cette attribution ignore donc la présence dans la liste ordonnée des incréments de qualité de type Iup(d, q, t, i) et Idown (d, q, t, i), qui ne concernent que les cas de commutations spatiales ascendante et descendante. Cette étape 850 d'attribution d'indices de couches de priorité est effectuée de façon identique à la méthode standard mentionnée ci-dessus. Puis, au cours d'une étape 855, on attribue des indices de couches de priorité aux NAL units de niveau spatial d du train binaire B, en prenant en compte le cas où celles-ci seraient décodées lors d'un changement de niveau spatial. Cette étape 855 utilise l'ordonnancement des incréments de qualité correspondant aux commutations spatiales ascendante et descendante, par rapport aux incréments de qualité standards, au sein de la liste LOd,0,0,0 dans laquelle ils cohabitent. Les incréments correspondant à des commutations spatiales se voient attribuer un indice de couche de priorité égal à celui des incréments standards voisins dans la liste commune ordonnée LOd,0,0,0. De cette façon, dans un serveur vidéo SVC, lors d'un changement de niveau spatial en cours d'une session vidéo, les indices de couche de priorité correspondant à la commutation spatiale en cours, et attribués aux NAL units contenues dans le GOP au niveau duquel le changement spatial s'opère, seront pris en compte dans le choix des NAL units à transmettre de façon à fournir la meilleure qualité vidéo possible au client au cours de la commutation spatiale. Par exemple, en référence à la figure 4, si une commutation spatiale descendante, depuis la plus haute couche spatiale vers la couche spatiale intermédiaire survient au niveau du premier GOP illustré en figure 4, les indices de couches de priorité intermédiaires, stockés dans les messages SEI notés "PLSEI do" seront pris en compte par le serveur dans le processus d'extraction de sous-flux SVC à transmettre au client. Enfin, la dernière étape de l'algorithme de la figure 8, étape 860, consiste à stocker les indices de couches de priorité attribués aux NAL units et correspondant aux différentes commutations spatiales, par exemple dans des messages de type SEI spécifiquement définis pour ce besoin. De tels messages de type SEI sont donc non standards et sont uniquement utilisables par un serveur qui connaîtrait ces messages. Cependant ceci ne pose pas de problème d'interopérabilité dans la mesure où ces messages servent uniquement à améliorer le processus d'extraction de sous-flux SVC en cas de commutation spatiale, et ne sont pas transmis aux clients SVC. Then, during a step 850, the priority layer indices are assigned to the different spatial level NAL units d of the bitstream B, in a standard way, ie considering only sub-stream decodings. at constant spatial level during decoding. This allocation therefore ignores the presence in the ordered list of quality increments of type Iup (d, q, t, i) and Idown (d, q, t, i), which only concern the cases of upward and downward spatial commutations. . This step 850 of assigning priority layer indices is performed identically to the standard method mentioned above. Then, during a step 855, priority layer indices are assigned to the spatial level NAL units d of the bit stream B, taking into account the case where these would be decoded during a spatial level change. . This step 855 uses the scheduling of the quality increments corresponding to the upward and downward spatial switches, with respect to the standard quality increments, within the list LOd, 0,0,0 in which they coexist. The increments corresponding to spatial switches are assigned a priority layer index equal to that of the neighboring standard increments in the ordered common list LOd, 0,0,0. In this way, in an SVC video server, during a spatial level change during a video session, the priority layer indices corresponding to the current spatial switching, and attributed to the NAL units contained in the GOP at at which spatial change takes place, will be taken into account in the choice of NAL units to be transmitted in order to provide the best possible video quality to the customer during the spatial switching. For example, with reference to FIG. 4, if a downward spatial switch from the highest spatial layer to the intermediate spatial layer occurs at the first GOP illustrated in FIG. 4, the intermediate priority layer indices stored in the messages SEI rated "PLEI do" will be taken into account by the server in the SVC sub-stream extraction process to be transmitted to the client. Finally, the last step of the algorithm of FIG. 8, step 860, consists in storing the priority layer indices attributed to the NAL units and corresponding to the different spatial switches, for example in messages of the SEI type specifically defined for this need. . Such SEI type messages are therefore non-standard and can only be used by a server that would know these messages. However, this does not pose an interoperability problem since these messages only serve to improve the SVC sub-stream extraction process in the case of spatial switching, and are not transmitted to the SVC clients.

Claims (11)

REVENDICATIONS1. Procédé de transmission de données entre un serveur et un client (100), caractérisé en ce qu'il comporte, réalisées par ledit serveur : - une étape (515, 525) de détermination d'au moins une commutation possible entre deux niveaux de résolution spatiale différents, - une étape (535, 850) de génération d'au moins une couche de priorité adaptée à un niveau de résolution spatiale, en l'absence de commutation, - une étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, et - lors d'une réception d'une demande de commutation entre un niveau de résolution spatiale initial et un niveau de résolution spatiale cible, de la part du client, une étape de transmission de la couche de priorité adaptée à la commutation demandée. REVENDICATIONS1. A method of data transmission between a server and a client (100), characterized in that it comprises, realized by said server: - a step (515, 525) of determining at least one possible switching between two levels of resolution different spatial steps, - a step (535, 850) for generating at least one priority layer adapted to a spatial resolution level, in the absence of switching, - a generation step (520, 530, 535, 855) at least one priority layer adapted to a said possible switching, and - when receiving a switching request between an initial spatial resolution level and a target spatial resolution level, on the part of the client, a step of transmitting the priority layer adapted to the requested switching. 2. Procédé selon la revendication 1, caractérisé en ce que, au cours de l'étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on génère un groupe d'images décodées obtenu lors d'une commutation entre le niveau spatial initial et le niveau spatial cible en ré-échantillonnant (660, 760) la dernière image d'un groupe d'images précédentes pour l'adapter au niveau spatial cible. 2. Method according to claim 1, characterized in that, during the step (520, 530, 535, 855) of generating at least one priority layer adapted to a said possible switching, a group of decoded images obtained when switching between the initial spatial level and the target spatial level by resampling (660, 760) the last image of a previous group of images to adapt it to the target spatial level. 3. Procédé selon la revendication 2, caractérisé en ce que, au cours de l'étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on décode (655, 755) les images du groupe d'images courant au niveau spatial cible avec, comme image de référence dans la prédiction temporelle, l'image décodée et ré-échantillonnée. 3. Method according to claim 2, characterized in that, during the step (520, 530, 535, 855) of generating at least one priority layer adapted to a said possible switching, is decoded (655, 755) the images of the group of images running at the target spatial level with, as reference image in the temporal prediction, the decoded and resampled image. 4. Procédé selon la revendication 3, caractérisé en ce que, au cours de l'étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on calcule (630, 730), avec les images du groupe d'images courant ainsi décodées, les distorsions liées au décodage d'entités élémentaires du train binaire du groupe d'images courant. 4. Method according to claim 3, characterized in that, during the step (520, 530, 535, 855) of generating at least one layer of priority adapted to a said possible switching, is calculated (630, 730), with the images of the current image group thus decoded, the distortions related to the decoding of elementary entities of the bitstream of the current image group. 5. Procédé selon la revendication 4, caractérisé en ce que, au cours de l'étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on constitue (855) chaque couche de priorité en fonction des ratios des distorsions liées au décodage de chaque entité élémentaire du train binaire du groupe d'images courant par le débit nécessaire pour transmettre ladite entité élémentaire. 5. Method according to claim 4, characterized in that, during the step (520, 530, 535, 855) of generating at least one priority layer adapted to a said possible switching, constitutes (855) each priority layer according to the ratios of the distortions related to the decoding of each elementary entity of the bit stream of the current image group by the bit rate necessary to transmit said elementary entity. 6. Procédé selon l'une quelconque des revendications 2 à 5, caractérisé en ce que, au cours de l'étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, on réalise (855) une optimisation débit-distorsion pour attribuer des indices de couches de priorité, ou niveaux de priorité, à chaque entité élémentaire du groupe d'images courant. 6. Method according to any one of claims 2 to 5, characterized in that, during the step (520, 530, 535, 855) of generating at least one layer of priority adapted to a said possible switching a rate-distortion optimization is performed (855) for assigning priority layer indices, or priority levels, to each elementary entity of the current image group. 7. Procédé selon la revendication 6, caractérisé en ce que l'étape (520, 530, 535, 855) de génération d'au moins une couche de priorité adaptée à une dite commutation possible comporte une étape (860) de stockage, au cours de laquelle on stocke au moins une couche de priorité définie en fonction desdits indices de couches de priorité. 7. Method according to claim 6, characterized in that the step (520, 530, 535, 855) of generating at least one priority layer adapted to a said possible switching comprises a step (860) of storage, at the wherein at least one priority layer is stored in accordance with said priority layer indices. 8. Procédé selon la revendication 7, caractérisé en ce que, au cours de l'étape (860) de stockage, on écrit des messages SEI (acronyme de Supplemental Enhancement Information ) qui codent et stockent des données utiles pour une extraction et transmission de sous-flux optimaux, lorsque le client ou le réseau provoque une commutation spatiale. 8. Method according to claim 7, characterized in that during the step (860) of storage, SEI messages (acronym for Supplemental Enhancement Information) are written which code and store data useful for an extraction and transmission of data. optimal substreams, when the client or the network causes a spatial switch. 9. Dispositif (100) de transmission de données entre un serveur et un client, caractérisé en ce qu'il comporte, dans un serveur : - un moyen (104, 106, 120) de détermination d'au moins une commutation possible entre deux niveaux de résolution spatiale différents, - un moyen (104, 106, 120) de génération d'au moins une couche de priorité adaptée à un niveau de résolution spatiale, en l'absence de commutation, - un moyen (104, 106, 120) de génération d'au moins une couche de priorité adaptée à une dite commutation possible, et- un moyen (104, 106, 120) de transmission adapté, lors d'une réception d'une demande de commutation entre un niveau de résolution spatiale initial et un niveau de résolution spatiale cible, de la part du client, à transmettre la couche de priorité adaptée à la commutation demandée. 9. Device (100) for data transmission between a server and a client, characterized in that it comprises, in a server: - means (104, 106, 120) for determining at least one possible switching between two different spatial resolution levels, - means (104, 106, 120) for generating at least one priority layer adapted to a spatial resolution level, in the absence of switching, - means (104, 106, 120 ) of generating at least one priority layer adapted to a said possible switching, and a means (104, 106, 120) of adapted transmission, when receiving a switching request between a spatial resolution level initial and a target spatial resolution level, on the part of the client, to transmit the priority layer adapted to the requested switching. 10. Programme d'ordinateur chargeable dans un système informatique (100), ledit programme contenant des instructions permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 8. Computer program loadable into a computer system (100), said program containing instructions for carrying out the method of any one of claims 1 to 8. 11. Support (116, 112) d'informations lisibles par un ordinateur (100) ou un microprocesseur (120), amovible ou non, conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 8. 11. Support (116, 112) of information readable by a computer (100) or a microprocessor (120), removable or not, retaining instructions of a computer program, characterized in that it allows the implementation of the process according to any one of claims 1 to 8.
FR0852361A 2008-04-08 2008-04-08 METHOD AND DEVICE FOR DATA TRANSMISSION Expired - Fee Related FR2929790B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0852361A FR2929790B1 (en) 2008-04-08 2008-04-08 METHOD AND DEVICE FOR DATA TRANSMISSION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0852361A FR2929790B1 (en) 2008-04-08 2008-04-08 METHOD AND DEVICE FOR DATA TRANSMISSION

Publications (2)

Publication Number Publication Date
FR2929790A1 true FR2929790A1 (en) 2009-10-09
FR2929790B1 FR2929790B1 (en) 2011-01-07

Family

ID=40280679

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0852361A Expired - Fee Related FR2929790B1 (en) 2008-04-08 2008-04-08 METHOD AND DEVICE FOR DATA TRANSMISSION

Country Status (1)

Country Link
FR (1) FR2929790B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058470A1 (en) * 2005-11-15 2007-05-24 Electronics And Telecommunications Research Institute A method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058470A1 (en) * 2005-11-15 2007-05-24 Electronics And Telecommunications Research Institute A method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AMONOU ET AL: "Layered quality optimization of JSVM-3 when considering closed-loop encoding", JOINT VIDEO TEAM OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6), 16TH MEETING, POZNAN, PL, 24-29 JULY 2005, no. JVT-Q081, 12 October 2005 (2005-10-12), XP030006240 *
AMONOU I ET AL: "Optimized Rate-Distortion Extraction With Quality Layers in the Scalable Extension of H.264/AVC", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 17, no. 9, 1 September 2007 (2007-09-01), pages 1186 - 1193, XP011193014, ISSN: 1051-8215 *
AMONOU I ET AL: "Optimized Rate-Distortion Extraction with Quality Layers", 2006 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, 1 October 2006 (2006-10-01), pages 173 - 176, XP031048601, ISBN: 978-1-4244-0480-3 *
ANONYMOUS: "Joint scalable video model JSVM-12", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6), 25TH MEETING SHENZEN, CN, 21-26 OCT 2007, no. JVT-Y202, 11 March 2008 (2008-03-11), XP030007295 *
LEE B ET AL: "Extension to SVC NAL types for online extraction of SVC bitstreams", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6), 21ST MEETING HANGZHOU, CN, 20-27 OCT 2006, no. JVT-U080, 22 October 2006 (2006-10-22), XP030006726 *
SCHWARZ H ET AL: "Overview of the Scalable Video Coding Extension of the H.264/AVC Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 17, no. 9, 1 September 2007 (2007-09-01), pages 1103 - 1120, XP011193019, ISSN: 1051-8215 *

Also Published As

Publication number Publication date
FR2929790B1 (en) 2011-01-07

Similar Documents

Publication Publication Date Title
FR2931610A1 (en) METHOD AND DEVICE FOR TRANSMITTING IMAGE DATA
FR2939593A1 (en) VIDEO ENCODING METHOD AND DEVICE
FR2894421A1 (en) METHOD AND DEVICE FOR DECODING A VIDEO STREAM CODE FOLLOWING A HIERARCHICAL CODING
FR2904494A1 (en) Video image sequence compressing method for e.g. video coder, involves estimating movement vector between portion of image to be compressed and portion of reference image reconstructed at selected quality level, and coding image portion
EP3183879A1 (en) Method for encoding a digital image, and associated decoding method, devices and computer programmes
FR2982446A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
FR2982447A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
FR2932637A1 (en) METHOD AND DEVICE FOR ENCODING AN IMAGE SEQUENCE
EP2277318B1 (en) Coding and decoding of an image or of a sequence of images sliced into partitions of pixels of linear form
EP2870761A1 (en) Method of video coding by prediction of the partitioning of a current block, method of decoding, coding and decoding devices and computer programs corresponding thereto
WO2014001703A1 (en) Method for encoding a current block of a first image component relative to a reference block of at least one second image component, encoding device and corresponding computer program
FR2889017A1 (en) METHODS OF FILTERING, TRANSMITTING AND RECEIVING SCALABLE VIDEO STREAMS, SIGNAL, PROGRAMS, SERVER, INTERMEDIATE NODE AND CORRESPONDING TERMINAL
FR2932050A1 (en) METHOD AND DEVICE FOR TRANSMITTING VIDEO DATA
FR2959636A1 (en) Method for accessing spatio-temporal part of video image sequence in e.g. mobile telephone of Internet, involves obtaining selection zone updating information, where information is decoding function of data corresponding to selection zone
EP3198876B1 (en) Generation and encoding of residual integral images
WO2011042645A1 (en) Methods for encoding and decoding images, corresponding encoding and decoding devices and computer programs
EP2761871B1 (en) Decoder side motion estimation based on template matching
EP3972247A1 (en) Method for encoding and decoding of images, corresponding device for encoding and decoding of images and computer programs
FR2929790A1 (en) Data e.g. scalable video coding image, transmitting method for client, involves transmitting layer of priorities at required switching during reception of request for switching between initial and target spatial resolutions from client
EP3529987A1 (en) Method for coding and decoding image parameters, device for coding and decoding image parameters and computer programs corresponding thereto
EP3649787A2 (en) Methods and devices for encoding and decoding a data stream representative of an image sequence
WO2017129880A1 (en) Method for encoding and decoding data, device for encoding and decoding data, and corresponding computer programs
EP3360328A1 (en) Multi-view coding and decoding
WO2019076764A1 (en) Methods for encoding and decoding a data flow representing an omnidirectional video
WO2010086562A1 (en) Method and device for encoding images using separate encoding modes, decoding method and device, and corresponding computer programs

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231