FR2918520A1 - Procede et dispositif de transmission video - Google Patents
Procede et dispositif de transmission video Download PDFInfo
- Publication number
- FR2918520A1 FR2918520A1 FR0756243A FR0756243A FR2918520A1 FR 2918520 A1 FR2918520 A1 FR 2918520A1 FR 0756243 A FR0756243 A FR 0756243A FR 0756243 A FR0756243 A FR 0756243A FR 2918520 A1 FR2918520 A1 FR 2918520A1
- Authority
- FR
- France
- Prior art keywords
- data
- encoding
- loss
- primary
- masking
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000005540 biological transmission Effects 0.000 title claims abstract description 72
- 230000000873 masking effect Effects 0.000 claims abstract description 107
- 238000004088 simulation Methods 0.000 claims abstract description 40
- 230000001419 dependent effect Effects 0.000 claims abstract description 6
- 230000006872 improvement Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 18
- 230000001172 regenerating effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013139 quantization Methods 0.000 description 23
- 230000009466 transformation Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000009897 systematic effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/188—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/67—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving unequal error protection [UEP], i.e. providing protection according to the importance of the data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234327—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2383—Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Le procédé de transmission d'un flux vidéo sur un réseau entre un dispositif de transmission et au moins un dispositif de réception comporte :- une étape (502) d'encodage de données du flux vidéo dites « primaires » selon un premier type d'encodage,- une étape (516, 518) d'obtention de données vidéo dites « secondaires », dépendantes des données primaires, par simulation d'erreurs de transmission potentiellement subies par le flux vidéo et d'au moins une méthode de masquage de pertes dues aux dites erreurs de transmission et susceptible d'être mise en oeuvre par un dispositif de réception apte à décoder le flux vidéo primaire encodé selon le premier type d'encodage,- une étape (520, 522) d'encodage des données secondaires selon un second type d'encodage différent du premier type d'encodage et- une étape de transmission, par l'intermédiaire du réseau, des données primaires encodées selon le premier type d'encodage et d'au moins une partie des données secondaires encodées avec le deuxième type d'encodage.
Description
La présente invention concerne un procédé et un dispositif de transmission
vidéo. Elle s'applique, en particulier, à la transmission vidéo sur des canaux à pertes. La norme H.264 constitue l'état de l'art en termes de compression vidéo. Elle est notamment décrite dans le document G. Sullivan, T. Wiegand, D. Marpe, A. Luthra, Text of ISO/IEC 14496-10 Advanced Video Coding, 3rd edition . Ce standard développée par le groupe JVT (acronyme de Joint Video Team pour équipe vidéo) a permis d'accroitre les performances de compression de manière significative par rapport à d'autres standards tels que MPEG-2, MPEG-4 part 2 et H.263. En termes de technologie, la norme H.264 s'appuie sur un schéma d'encodage hybride basé sur une combinaison de transformations spatiales et de prédiction/compensation de mouvement. Les transformations utilisées ont toutefois évolué puisque la classique DCT 8x8 (acronyme de discrete cosine transform pour transformation cosinus discrète) a été remplacée par une DCT entière 4x4. De plus la prédiction de mouvement se fait maintenant avec une précision au 1/4 de pixel et une image peut faire référence à plusieurs images de son voisinage. De nouveaux outils ont été introduits, dont, par exemple : - le CABAC (acronyme de contextadaptive Binary Arithmetic Coding pour encodage arithmétique binaire adaptatif au contexte), - le CAVLC (acronyme de Context-adaptive Variable Length Coding pour encodage à longueur variable adaptatif au context), - les slices (en français tranches) redondants et - les images SI (acronyme de switching intra pour image Intra de passage) et SP (acronyme de switching predictive pour Image prédite de passage). On rappelle que les images de passage (appelées SP et SI ) permettent de passer d'une première image à une seconde image, la première et la seconde image n'appartenant pas forcément au même flux vidéo et les deux images n'étant pas successives temporellement. Les slices redondants permettent d'encoder dans un même train binaire une version principale d'une image (ou d'un slice) avec une qualité donnée et une seconde version avec une qualité inférieure. Si la version principale de l'image est perdue durant la transmission, sa version redondante pourra la remplacer. SVC est une nouvelle norme d'encodage vidéo reprenant pour base les techniques de compression de la norme H.264. Les avancées technologiques de SVC concernent principalement la scalabilité (an français adaptabilité) du format vidéo. En effet, ce nouveau format vidéo aura la possibilité d'être décodé de manière différente en fonction des possibilités du décodeur et les caractéristiques du réseau. Par exemple, à partir d'une vidéo haute résolution, type SD (acronyme de standard definition pour définition standard), de définition 704x576 et de fréquence 60Hz, il sera possible d'encoder dans un flux binaire unique, à l'aide de deux couches , les données compressées de la séquence SD et celles d'une séquence au format CIF (acronyme de common intermediate format pour format intermédiaire commun), qui assure un débit de 60 images/seconde avec une définition de 352x288. Pour décoder la résolution CIF, le décodeur ne décodera qu'une partie des informations encodées dans le flux binaire. A l'inverse, il devra décoder l'intégralité du flux binaire pour restituer la version SD. Cet exemple illustre la fonctionnalité de scalabilité spatiale, c'est-à-dire la possibilité à partir d'un flux unique d'extraire des vidéos dont les tailles 25 des images sont différentes. On note également que, pour une taille d'image donnée et pour une fréquence temporelle donnée, il sera possible de décoder une vidéo en sélectionnant la qualité souhaitée en fonction de la capacité du réseau. Ceci illustre les trois axes principaux de scalabilité offerts par SVC que sont les 30 scalabilités spatiale, temporelle et en qualité (aussi appelée SNR , acronyme de signal to noise ratio pour rapport signal sur bruit).
La présente invention se situe dans le domaine de la transmission vidéo d'un serveur vers un client. Elle s'applique tout particulièrement lorsque le réseau de transmission n'est pas fiable et que des pertes se produisent dans les données transmises.
Dans l'article the Rate-Distortion Function for Source Coding with Side Information at the Decoder (IEEE Tr. On Information Theory, Vol. rr-22, No. 1, January 1976.), est proposé le théorème de Wyner-Ziv. Selon ce théorème, si l'on dispose de deux sources de copies indépendantes de variables aléatoires dépendantes (X,Y), alors le débit pour une distorsion d lorsque l'encodeur et le décodeur ont des informations parallèles (Rx Y (d )) est inférieur ou égal au débit lorsque seulement le décodeura des informations parallèles (R*Y(d)). Les figures 1A et 1B illustrent ce théorème. Dans la figure 1A une vidéo 102 est compressée par deux encodeurs vidéo 104 et 106. Ces deux encodeurs vidéo 104 et 106 ne génèrent que des images intra (c'est-à-dire non prédites) sous forme de slices primaires à une qualité dl et de slices secondaires à une qualité d2 (dl étant supérieure ou égale à d2). Les slices primaires sont transmis sur un réseau non fiable 110. On suppose ici que les slices primaires et secondaires ont tous une représentation encodée (représentation binaire) de même taille et qu'ils sont envoyés par groupe de N paquets, chaque paquet contenant un slice. N slices secondaires sont envoyés en entrée d'un encodeur canal 108 de type Reed-Solomon , noté RS , systématique, de paramètres N et R. Du côté réception, trois décodeurs 112, 114 et 116 correspondent, respectivement aux encodeurs 104, 106 et 108. On note que l'encodeur 108 et le décodeur 116 de Reed-Solomon jouent ici le rôle des encodeurs et décodeurs de Wyner-Ziv. Le paramètre R représente la quantité de redondance ajoutée par l'encodeur. En d'autres termes, on trouve en sortie de l'encodeur un ensemble de N+R paquets. On rappelle que, lorsqu'un encodeur est systématique, les N paquets mis en entrée de l'encodeur de canal, se retrouvent en sortie de l'encodeur associé à K paquets de redondance. L'avantage d'un encodeur de canal systématique est que, si aucune perte n'est constatée durant la transmission, on peut récupérer directement les données sans avoir à réaliser le décodage de RS. Les slices secondaires ne sont pas transmis sur le canal. Seules les R données redondantes issues de l'encodage de RS sont transmises.
Lors de la transmission sur le canal, un certain nombre de slices primaires et de données redondantes sont perdues. Pour que le décodage de RS puisse se réaliser sans pertes, il est nécessaire de recevoir au moins N paquets parmi les paquets représentant les slices secondaires et les paquets de redondance. Ici, les slices secondaires n'étant pas transmis, il est nécessaire que le client les régénère. Pour cela, le client peut s'appuyer sur les slices primaires reçus et sur l'inter-corrélation I (X r,Yr) entre les données primaires et secondaires, les slices secondaires obtenus constituant alors les informations parallèles du décodeur de Wyner-Ziv. Toutefois la régénération des slices secondaires à partir de ces seules informations parallèles est un problème difficile n'ayant de solution que si une corrélation suffisante a été maintenue entre les slices primaires et secondaires. Le moyen le plus simple est de générer, au niveau du serveur, des slices primaires et secondaires identiques. Cette solution est inefficace puisqu'elle implique un important débit du serveur.
En revanche, dans la figure 1B, l'encodeur de Reed-Solomon 158 (jouant le rôle d'un encodeur de Wyner-Ziv), reçoit lui aussi de l'information parallèle. Ces informations parallèles représentent les paramètres de quantification utilisés par l'encodeur vidéo primaire 104 et ceux utilisés par l'encodeur secondaire 106. Le serveur transmet alors les paquets redondants et ces informations parallèles. A l'aide des ces informations parallèles et des slices primaires reçus, le client peut régénérer un certain nombre de slices secondaires qui, s'il est suffisant, permet, en sortie du décodeur de Reed-Solomon 166, de récupérer tous les slices secondaires transmis. Ici, l'envoi des paramètres de quantification QP fait augmenter le débit du serveur, mais cette augmentation est compensée par le fait que, comparativement au schéma de la figure 1A, il n'est pas nécessaire de maintenir une corrélation entre les slices primaires et secondaires. Selon le théorème de Wyner-Ziv, le débit du serveur de la figure 1B est inférieur ou égal au débit du serveur de la figure 1A. En ce qui concerne la méthode appelée SLEP , dans leur article Systematic Lossy Error Protection (SLEP) (Journal of Zhejiang university, 2006), les auteurs, Baccichet et autres, proposent une méthode de contrôle d'erreur adapté à la transmission vidéo sur un canal non fiable. Cette méthode est illustrée en figure 2. Ce schéma reprend l'idée de la figure 1 B. Une vidéo 172 est encodée par un encodeur H.264 réalisant des fonctions d'encodage de slices primaires 174 et d'encodage de slices redondant 178. Cet encodeur génère ainsi des slices primaires de haute qualité et des slices redondants (tels que définis par le standard) constituant les slices secondaires. Les slices secondaires conservent les mêmes vecteurs de mouvement et les mêmes modes d'encodage par macroblocs que les slices primaires. Afin de diminuer le débit des slices redondants, un module de région d'intérêt 176, notée ROI (acronyme de region of interest pour région d'intérêt) extrait les zones les plus importantes des images. Les données représentatives des slices redondants sont complétées par des informations représentatives des slices primaires telles que les paramètres de quantifications QP. L'ensemble de ces données redondantes sont transmises à un encodeur de Reed-Solomon systématique 180 qui génère des paquets de redondance et insère les paramètres de quantification et des informations représentatives des frontières des slices redondants dans des paquets. Un module réseau (non représenté) transmet les slices primaires et les données redondantes sur le réseau 182. Le réseau 182 n'étant pas fiable, des slices primaires et des données redondantes peuvent être perdus lors de la transmission. Un décodage entropique 184 et une quantification inverse 186 sont effectués sur les slices reçus. Lorsque le nombre de slices primaires et de données redondantes correctement reçues et décodées permet d'envisager le décodage de canal, une procédure de décodage de Wyner-Ziv est mise en oeuvre. Celle-ci consiste à régénérer une partie des slices redondants, fonction 192, grâce aux slices primaires et aux informations représentant les paramètres de quantification QP. L'ensemble de ces informations représentent ici les informations parallèles du décodeur. Les slices secondaires régénérés et les données redondantes reçues sont transmises à un décodeur de Reed-Solomon 194 qui génère alors les slices secondaires manquants. Les slices secondaires sont ensuite décodés par décodage entropique 196 et décodage de slices redondants 198 puis injectés dans le chemin de décodage des slices primaires pour remplacer les slices primaires perdus. L'approche SLEP ne prend pas en compte les capacités de masquage de pertes du décodeur. En effet, en cas de pertes, un décodeur classique met en oeuvre des procédures visant à atténuer l'impact visuel des pertes. Ces procédures consistent, le plus souvent, en des interpolations spatiales ou temporelles à partir des zones reçues. Ces procédures peuvent s'avérer très efficaces, voir plus efficace que le remplacement d'un slice perdu par un slice secondaire. En d'autres termes, l'approche SLEP n'assure pas que la vidéo obtenue est de meilleure qualité que ce qui aurait pu être obtenu par masquage de pertes. De plus, la méthode SLEP engendre un débit pour les données redondantes non négligeable même s'il est en partie compensé par l'utilisation de régions d'intérêt appelées ROI. En effet, la génération des slices redondants est sous optimale puisqu'elle s'appuie sur les vecteurs de mouvement et les modes d'encodage des slices primaires et il est nécessaire de transmettre les paramètres de quantification et les frontières de slices. La présente invention vise à remédier à ces inconvénients. A cet effet, selon un premier aspect, la présente invention vise un procédé de transmission d'un flux vidéo sur un réseau entre un dispositif de transmission et au moins un dispositif de réception, caractérisé en ce qu'il comporte : - une étape d'encodage de données du flux vidéo dites primaires selon un premier type d'encodage, - une étape d'obtention de données vidéo dites secondaires , dépendantes des données primaires, par simulation d'erreurs de transmission potentiellement subies par le flux vidéo et d'au moins une méthode de masquage de pertes dues aux dites erreurs de transmission et susceptible d'être mise en oeuvre par un dispositif de réception apte à décoder le flux vidéo primaire encodé selon le premier type d'encodage, - une étape d'encodage des données secondaires selon un second type d'encodage différent du premier type d'encodage et - une étape de transmission, par l'intermédiaire du réseau, des données primaires encodées selon le premier type d'encodage et d'au moins une partie des données secondaires encodées avec le deuxième type d'encodage. Grâce à ces dispositions, on prend en compte le masquage de pertes dans le calcul des données secondaires, par exemple des slices redondants. Ceci a pour avantage d'assurer d'obtenir au décodage des résultats au moins égaux à ceux qu'on obtiendrait en appliquant seulement un masquage de pertes. De plus, lorsque le masquage de pertes est performant, la méthode génère des slices redondants ayant un débit très faible. Enfin, il n'est plus nécessaire d'utiliser des ROI. Selon des caractéristiques particulières, au cours de l'étape d'obtention des données vidéo secondaires, on calcule la différence entre au moins une version du flux vidéo ayant subi la simulation des erreurs de transmission et un masquage de pertes simulé et la version encodée selon le premier type d'encodage. Selon des caractéristiques particulières, au cours de l'étape d'encodage des données secondaires, on encode ladite différence. Selon des caractéristiques particulières, au cours de l'étape d'encodage des données secondaires, on calcule des informations de redondance sur cette différence pour fournir des données secondaires. Selon des caractéristiques particulières, au cours de l'étape de transmission, on transmet ces informations de redondance sous forme de paquets de données dans lesquelles on insère des informations permettant au client de régénérer les données secondaires.
Selon des caractéristiques particulières, au cours de l'étape de transmission, les informations permettant de régénérer les différences comportent un identifiant de méthode de masquage de perte utilisé pour déterminer les données secondaires. Ainsi, une pluralité de méthodes de masquage de pertes peut être mise en oeuvre par le codeur, sans nécessité d'avoir une connaissance préalable des méthodes de masquage de pertes effectivement mises en oeuvre par le dispositif de réception, dans la mesure où serveur et client(s) partagent un ensemble d'identifiants de méthodes de masquage. Selon des caractéristiques particulières, au cours de l'étape de transmission, les informations permettant de régénérer les différences comportent un identifiant d'une configuration de pertes utilisée pour déterminer les données secondaires. Selon des caractéristiques particulières, au cours de l'étape d'obtention des données secondaires, on ne simule le masquage de pertes que pour des configurations de pertes dans lesquelles au plus un nombre prédéterminé de paquets primaires sont perdus parmi les paquets primaires transmis. Il n'est en effet pas nécessaire de simuler des configurations de pertes pour lesquelles le dispositif de réception ne sait pas mettre en oeuvre le masquage de pertes et/ou le décodage des données secondaires encodées.
Selon des caractéristiques particulières, l'étape d'encodage des données secondaires comporte une étape de quantification des données secondaires, au cours de laquelle on prend en compte la probabilité d'occurrence des configurations de pertes et on alloue plus de débit aux configurations le plus probables.
Selon des caractéristiques particulières, au cours de l'étape d'encodage des données primaires, on met en oeuvre un encodage SVC. En effet, bien qu'adaptée à toute norme vidéo, la présente invention est particulièrement avantageuse dans le cadre de SVC. Selon des caractéristiques particulières, au cours de l'étape 30 d'obtention de données vidéo secondaires, on simule un masquage de pertes mettant en oeuvre un niveau de base et un niveau d'amélioration.
De manière avantageuse, dans le contexte de l'encodage SVC, une seule méthode de masquage de pertes est considérée, ce qui permet de simplifier le traitement du flux vidéo. Le masquage des pertes d'un niveau d'amélioration à partir du niveau de base est particulièrement adapté au format d'encodage SVC. Selon des caractéristiques particulières, au cours de l'étape d'encodage des données secondaires, on met en oeuvre un encodage de Reed-Solomon. Selon des caractéristiques particulières, au cours de l'étape d'obtention de données secondaires, lors de la simulation de masquage de perte, pour la configuration de perte la plus probable, on applique un processus de sélection d'une méthode de masquage de pertes mis en oeuvre par le dispositif de réception, pour fournir au moins une version décodée des données vidéo, chaque version représentant la vidéo telle que l'afficherait le client dans une configuration de pertes donnée. Selon un deuxième aspect, la présente invention vise un procédé de réception d'un flux vidéo sur un réseau en provenance d'un dispositif de transmission, caractérisé en ce qu'il comporte : - une étape de réception de données primaires et d'information 20 représentative de données secondaires d'un flux vidéo, - une étape de décodage de données primaires selon un premier type de décodage, - une étape de masquage de pertes de données primaires, - une étape de calcul de différences entre les données primaires 25 décodées et les données résultant du masquage de pertes, une étape d'obtention de données vidéo dites secondaires , en mettant en oeuvre, sur l'information représentative de données secondaires, un second type de décodage différent du premier type de décodage et lesdites différences, 30 - une étape de combinaison des données primaires et des données secondaires pour générer un flux vidéo.
Selon des caractéristiques particulières, au cours de l'étape de combinaison, on ajoute les données secondaires aux données primaires. Selon des caractéristiques particulières, au cours de l'étape d'obtention de données vidéo secondaires, on compare la configuration de pertes mise en oeuvre au cours de l'étape de masquage de pertes des données primaires avec une pluralité de configurations de pertes pour lesquelles des données secondaires ont été reçues pour déterminer des données secondaires correspondant à ladite configuration de pertes. Selon des caractéristiques particulières, au cours de l'étape d'obtention de données vidéo secondaires, on simule la perte d'images reçues et le masquage de ces pertes, pour déterminer une différence entre des données primaires décodées et leur version sur laquelle a été simulé un masquage de pertes. Selon un troisième aspect, la présente invention vise un dispositif de 15 transmission d'un flux vidéo à au moins un dispositif de réception, caractérisé en ce qu'il comporte : - un moyen d'encodage de données du flux vidéo dites primaires selon un premier type d'encodage, - un moyen d'obtention de données vidéo dites secondaires , 20 dépendantes des données primaires, par simulation d'erreurs de transmission potentiellement subies par le flux vidéo et d'au moins une méthode de masquage de pertes dues aux dites erreurs de transmission et susceptible d'être mise en oeuvre par un dispositif de réception apte à décoder le flux vidéo primaire encodé selon le premier type d'encodage, 25 - un moyen d'encodage des données secondaires selon un second type d'encodage différent du premier type d'encodage et - un moyen de transmission, par l'intermédiaire du réseau, des données primaires encodées selon le premier type d'encodage et d'au moins une partie des données secondaires encodées avec le deuxième type 30 d'encodage.
Selon un quatrième aspect, la présente invention vise un dispositif de réception d'un flux vidéo sur un réseau en provenance d'un dispositif de transmission, caractérisé en ce qu'il comporte : - un moyen de réception de données primaires et d'information représentative de données secondaires d'un flux vidéo, - un moyen de décodage de données primaires selon un premier type de décodage, - un moyen de masquage de pertes de données primaires, - un moyen de calcul de différences entre les données primaires 10 décodées et les données résultant du masquage de pertes, - un moyen d'obtention de données vidéo dites secondaires , en mettant en oeuvre, sur l'information représentative de données secondaire, un second type de décodage différent du premier type de décodage et lesdites différences et 15 - un moyen de combinaison des données primaires et des données secondaires pour générer un flux vidéo. Selon un cinquiè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 20 transmission et/ou du procédé de réception tels que succinctement exposé ci-dessus. Selon un sixiè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 25 ce qu'il permet la mise en oeuvre du procédé de transmission et/ou du procédé de réception tels que succinctement exposés ci-dessus. Les avantages, buts et caractéristiques de ce procédé de réception, de ces dispositifs, de ce programme et de ce support d'information étant similaires à ceux du procédé de transmission objet de la présente invention, tel 30 que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard des dessins annexés, dans lesquels : - les figures 1A et 1B illustrent, schématiquement, le théorème de Wyner-Ziv, - la figure 2 représente, schématiquement, un encodeur et un décodeur mettant en oeuvre une méthode dite SLEP , - la figure 3 représente, schématiquement, un premier mode de réalisation du dispositif de transmission et du dispositif de réception objets de la présente invention, - la figure 4 représente, schématiquement, un deuxième mode de réalisation du dispositif de transmission et du dispositif de réception objets de la présente invention et - la figure 5 représente, schématiquement, un modèle de perte de paquets de données sur un réseau, -la figure 6 représente, sous forme d'un logigramme, des étapes mises en oeuvre dans un premier mode de réalisation du procédé de transmission et du procédé de réception objets de la présente invention, - la figure 7 représente, sous forme d'un logigramme, des étapes mises en oeuvre dans un deuxième mode de réalisation du procédé de transmission et du procédé de réception objets de la présente invention et - la figure 8 représente, schématiquement, la configuration matérielle d'un mode de réalisation particulier d'un dispositif de transmission et d'un dispositif de réception objets de la présente invention. Les figures 1A, 1B et 2 ont déjà été décrites lors de la discussion des dispositifs connus de transmission de flux vidéo.
On observe, en figure 3, un premier mode de réalisation adapté au cas d'une application de transmission vidéo quelconque mais décrit dans le cas d'un encodage H.264. Ainsi, d'autres standards de compression vidéo pourraient être utilisés (MPEG-2, MPEG-4 part 2, H.263, Motion JPEG, Motion JPEG2000...) sans modification substantielle des moyens illustrés en figure 3. On observe, en figure 3, un encodeur 302 mettant en oeuvre la norme H.264 pour encoder une vidéo d'entrée 304, sous forme de slices qu'on appelle, dans la suite, slices primaires . Chaque slice primaire est inséré dans des paquets RTP (acronyme de real-time transport protocol pour protocole de transport en temps réel) selon le format décrit dans le document de S. Wenger, M. Hannuksela, T. Stockhammer, M. Westerlund, et D. Singer, RFC3984, RTP payload format for H.264 Video , publié en février 2005, puis transmis sur un réseau 306 par un module de transmission réseau (non représenté). On suppose qu'un mécanisme de contrôle de congestion, de type connu, régule l'envoi des paquets RTP sur le réseau. De plus, le dispositif de réception 310 du client acquitte chaque paquet reçu de sorte que le dispositif d'émission 312, ici un serveur, sait quels paquets ont été reçus et quels paquets ont été perdus. Un encodeur de Wyner-Ziv 314, inséré dans le dispositif de transmission comporte les moyens 316 à 322. Dès qu'un groupe de N prsm slices primaires a été généré, le moyen de simulation 316 simule les méthodes de masquage de pertes que mettrait en oeuvre le dispositif de réception 310 du client en cas de pertes de paquets parmi les N prsm paquets transmis. Dans le cas général, le dispositif de réception 310 du client est capable de mettre en oeuvre plusieurs méthodes de masquage de pertes. Il peut, par exemple, réaliser un masquage de perte spatial ou un masquage de pertes temporel. La simulation du masquage de pertes suppose d'avoir une connaissance du processus de pertes sur le réseau. Le dispositif de transmission 312 recevant un acquittement pour chaque paquet transmis, le moyen de simulation 316 est capable de calculer les paramètres d'un modèle de pertes sur le réseau. Il est généralement admis que les modèles des pertes sur le réseau sont des modèles à mémoire. Le modèle 200 de Elliot-Gilbert, représenté en figure 5, est particulièrement adapté dans ce cas. C'est un modèle à deux états (un état reçu et un état perdu ) et des probabilités de transition p et q entre les états.
Dans des modes de réalisation, le moyen de simulation 316 simule toutes les configurations de pertes possibles entre le dernier slice primaire acquitté et le slice courant. Si N est le nombre de paquets transportant les slices transmis depuis le dernier slice primaire acquitté, le moyen de simulation 316 simule toutes les configurations de 1 à N pertes. Par exemple si N paquets séparent le dernier paquet acquitté et le paquet contenant le slice courant, le N N! nombre de configurations de pertes possibles est k!(N û k)! . Le nombre de configurations possibles peut être réduit si, parmi les N paquets primaires transmis, un certain nombre ont été acquittés avant l'encodage de Wyner-Ziv.
Pour chacune des configurations de pertes possibles, le moyen de simulation 316 applique le masquage de pertes en appliquant le même processus de sélection d'une méthode de masquage de pertes que le dispositif de réception du client. Un processus de sélection d'une méthode de masquage de perte peut, par exemple, consister à appliquer un masquage de pertes temporel lorsque les slices contenus dans un paquet perducorrespondent à une image, et un masquage de pertes spatial lorsque les slices correspondent à une portion d'une image. On suppose, ici, que tous les macroblocs d'un slice subissent la même méthode de masquage de pertes. A la sortie du moyen de simulation 316, plusieurs versions décodées de la vidéo ont été générées, chaque version représentant la vidéo telle que l'afficherait le client dans une configuration de pertes donnée. Un moyen de calcul 318 effectue, pour chacune des configurations de pertes obtenues, le calcul de la différence entre les images issues du masquage de pertes et les images primaires qui leur correspondent temporellement. Un moyen d'encodage 320 encode chacune des différences. Les macroblocs d'une image de différence sont traités comme des macroblocs de résidu issus de la prédiction de mouvement. Le moyen d'encodage 320 met donc en oeuvre les modules d'encodage de résidu de l'algorithme H.264.
L'image de différence est divisée en macroblocs de dimension 4x4 pixels. Les étapes d'encodage d'un macrobloc de différence sont les suivantes : -transformation du bloc 4x4 par une transformation de type DCT (acronyme de discrete cosine transform pour transformation cosinus discrète) entière, - quantification des données transformées, au cours de laquelle on peut utiliser une quantification uniforme de l'ensemble des macroblocs de différence d'une image et - codage entropique à l'aide, par exemple, d'un encodeur CAVLC tel que défini par le standard. On note que la quantification permet de réguler le débit des différences. Dans une seconde mise en oeuvre, le moyen de simulation 316 simule au moins une des configurations de pertes les plus probables. Chacune des configurations de pertes est associée à une probabilité d'occurrence calculable grâce au modèle de pertes. Par exemple, si N=3, la probabilité Pppr de la configuration (perdu, perdu, reçu) est la probabilité de tomber de l'état reçu vers l'état perdu, la probabilité de rester dans l'état perdu et la probabilité de revenir à l'état reçu ( Pppr (p)(1- q)(q) ) Dans une troisième mise en oeuvre, la procédure de quantification réalisée par le moyen d'encodage 320 des différences prend en compte la probabilité d'occurrence des configurations de pertes. De cette manière, on alloue plus de débit aux configurations le plus probables. Dans une quatrième mise en oeuvre, le moyen de simulation 316 ne simule le masquage de pertes que pour les configurations dans lesquelles au plus K paquets primaires seront perdus parmi les N prsm paquets primaires transmis. Il n'est en effet pas nécessaire de simuler des configurations de pertes pour lesquelles le dispositif de réception 310 du client ne sait pas mettre en oeuvre le décodage de Wyner-Ziv. Puis, un encodeur 322 applique un encodage de canal aux N prim slices correspondant aux images de différence. Ici, chaque configuration de perte est traitée séparément et séquentiellement de sorte qu'on a toujours N prsm slices de différence en entrée de l'encodeur de canal 322. On utilise dans le mode de réalisation représenté en figure 3, un encodeur 322 de Reed-Solomon systématique pour l'encodage canal. Cet encodeur 322 génère K slices de redondance, le nombre K pouvant être fonction soit du taux d'erreur sur le canal P (P = p p q lorsque le canal est modélisé par un processus d'Elliot-Gilbert), soit de la probabilité d'occurrence d'une configuration de pertes, soit des deux. A la sortie de l'encodeur 322, seuls les K slices de redondance sont transmis. Ces slices redondants sont insérés dans des paquets RTP puis transmis sur le réseau. Un identifiant de la configuration de pertes, de la méthode de masquage de pertes et du paramètre de quantification QP appliqués à chaque image de différence est inséré dans chaque paquet de redondance transmis. Ces données constituent les informations parallèles fournies à l'encodeur de Wyner-Ziv. On observe que la transmission de méthodes de masquage de perte n'est pas indispensable. En effet, la connaissance par le client de la configuration de perte est suffisante puisque, en fonction de cette configuration, le client applique son algorithme de sélection d'une méthode de masquage, cet algorithme étant connu par le serveur et donc appliqué par ce serveur pour cette même configuration de perte. Lors de leur transmission sur le réseau, des paquets peuvent être perdus. Ces pertes peuvent affecter de manière quelconque des paquets transportant des slices primaires ou des paquets transportant des slices de redondance. Le dispositif de réception 310 du client est composé de deux modules principaux, un décodeur 330, mettant en oeuvre un décodage H.264 classique avec masquage de pertes et comportant les moyens 332 et 334, et un décodeur de Wyner-Ziv 336 et comportant les moyens 338 à 346. Le moyen de décodage avec masquage de perte 332 met en oeuvre le décodage des slices primaires reçus en appliquant du masquage de pertes si des pertes se sont produites. La configuration de pertes et les méthodes de masquage appliquées pour cette configuration sont stockées par le moyen de stockage 334. Si le nombre de pertes dans l'ensemble des paquets primaires et de redondance est inférieur à K, on met en oeuvre le décodeur de Wyner-Ziv 336. Sinon, on passe au décodage du groupe de N prsm slices primaires suivant, par le décodeur 332. Le moyen de simulation de masquage de perte 338 compare la configuration de pertes stockée par le moyen de stockage 336 avec l'ensemble des configurations de pertes considérées lors de la simulation du masquage de pertes par le serveur ou pour lesquels le dispositif de transmission a envoyé des informations redondantes. On cherche alors une configuration de perte qui permet de retrouver les différences perdues. Si aucune configuration ne permet de retrouver les différences perdues, on arrête le décodage de Wyner-Ziv.
Sinon, on poursuit ce décodage en s'appuyant sur la configuration de pertes permettant de retrouver les différences perdues, par la simulation de la perte de certaines images reçues suivie de la simulation du masquage de ces pertes, par le moyen de simulation 338. La simulation de ces pertes et de leur masquage permet à un moyen de calcul de différence 340 de calculer la différence entre un certain nombre de slices primaires décodées par le décodeur H.264 et leur version sur laquelle a été simulé un masquage de pertes. Puis, un moyen de quantification 342 quantifie les différences obtenues en s'appuyant sur les paramètres de quantifications transmis dans les 20 paquets de redondance. Les différences reconstituées et les slices redondants correspondant à la configuration de perte considérée par le moyen de quantification 340 sont transmis à un décodeur de Reed-Solomon 344, qui régénère les slices de différence perdus. 25 Puis, un moyen d'ajout de différences 346 ajoute les slices de différence aux images correspondantes temporellement issues du masquage de pertes réalisé par le décodeur 334. Deux types d'images sont donc affichés : d'une part les images résultant du décodage de leur train binaire, d'autre part les images dont le train binaire a été perdu, mais que le décodeur H.264 a 30 généré par masquage de pertes et sur lesquelles on a ajouté les différences obtenues par décodage de Wyner-Ziv.
On observe, en figure 4, un deuxième mode de réalisation adapté à l'encodage SVC. Dans cette mise en oeuvre, nous considérons un encodage scalable avec un niveau de base, noté BL (acronyme de base layer ), et un niveau d'amélioration, noté EL (acronyme de enhancement layer ). Le niveau d'amélioration peut être un niveau d'amélioration spatial ou en qualité de type CGS (acronyme de coarse grain scalability pour adaptabilité à granularité grossière) tel que défini par le standard SVC. On note que le cas de la scalabilité temporelle est couvert par la mise en oeuvre de la figure 3. Le dispositif de transmission 400 comporte un encodeur SVC 401 comportant les moyens 402, 403 et 404, un encodeur de Wyner-Ziv 405 comportant les moyens 406, 407, 408 et 409 et un module réseau (non représenté). Le moyen d'encodage 403 effectue un encodage primaire pour encoder le flux de base. Le moyen d'encodage 402 effectue un encodage primaire pour encoder le flux d'amélioration. Les moyens d'encodage 402 et 403 suffisent dans le cas de l'encodage d'un niveau d'amélioration CGS. Cependant, dans le cas de l'encodage d'un niveau d'amélioration spatial, le moyen de sous-échantillonnage 404 sous-échantillonne le flux original d'entrée pour l'encodage du niveau de base. Les moyens d'encodage 402 et 403 échangent des informations de manière à assurer une prédiction inter niveaux de scalabilité. Les slices primaires de base et d'amélioration sont insérés dans des paquets RTP en utilisant, par exemple, le format décrit dans l'article de S. Wenger, Y; K. Wang, T; Schierl, RTP Payload format for SVC video, draft-wenger-avt-rtp-svc-03.txt , d'octobre 2006, puis transmis sur le réseau 410 par le module réseau. On considère ici que les paquets primaires de base et les paquets primaires d'amélioration sont transmis sur des sessions RTP différentes, de sorte que les pertes subies par l'un ou l'autre niveau de scalabilité sont décorrélées. De plus, on protège plus les paquets de base que les paquets d'amélioration, en leur donnant par exemple des niveaux de priorité supérieurs, de manière à assurer une transmission quasi fiable du niveau de base.
Dès que N prsm paquets de base et N prsm paquets d'amélioration ont été crées, le dispositif de transmission met en oeuvre l'encodeur de Wyner-Ziv 405. Comme dans le mode de réalisation illustré en figure 3, l'encodeur de Wyner-Ziv 405 comporte un moyen 406 de simulation du masquage de pertes pour différentes configurations de pertes. Dans le cadre de la scalabilité telle que décrit plus haut, une méthode simple de masquage de pertes consiste à remplacer une image de la couche d'amélioration perdue par l'image de la couche de base correspondant temporellement. Dans l'exemple de mise en oeuvre illustré en figure 4, on se limite à cette seule méthode de masquage de pertes. De plus, parmi les configurations de pertes considérées par le serveur, on considère au moins la configuration dans laquelle tous les N i paquets d'amélioration sont perdus. L'encodeur de Wyner-Ziv 405 comporte un moyen de calcul 407 qui calcule la différence entre l'image obtenue après décodage de la couche d'amélioration et l'image résultant du décodage de la couche de base. On note qu'une interpolation de l'image de la couche de base peut être nécessaire si les deux couches de scalabilité n'ont pas la même résolution spatiale. Dans ce cas, le calcul de la différence revient à calculer cette différence entre l'image de la couche d'amélioration et l'image de la couche de base. Cette image de différence est encodée avec l'aide du moyen de régulation de débit 408 de la même manière que décrit en regard de la figure 3. Le moyen d'encodage de Reed-Solomon 409 est identique à celui illustré en figure 3. Toutefois ici, puisqu'une seule méthode de masquage est considérée, il n'est pas nécessaire d'insérer un identifiant de cette méthode. Comme dans le mode de réalisation illustré en figure 3, les K paquets de redondance sont transmis sur le réseau 410. De son coté, le dispositif de réception 420 du client comporte un décodeur SVC 421 qui réalise le décodage des images reçues, par la mise en oeuvre de ses moyens de décodage 422 et 423, respectivement pour décoder les slices primaires et les slices secondaires.
Le moyen de masquage de perte (non représenté) du décodeur masque les images perdues, de la même manière que le moyen 406 du dispositif de transmission 400. On note qu'une image faisant référence à une image perdue sera considérée comme perdue afin d'éviter les problèmes de propagation d'erreurs. Si parmi les N prsm paquets d'amélioration primaires et les K paquets de redondance, au plus K paquets sont perdus, le dispositif de réception 420 met en oeuvre le décodeur de Wyner-Ziv 425. Le décodage de Wyner-Ziv consiste à chercher une configuration de pertes qui permette de retrouver les différences perdues parmi les configurations de pertes considérées par le dispositif de transmission 400. On pourra considérer la configuration de pertes où tous les N i' paquets sont perdus.
Dans cette configuration, un moyen de simulation du masquage de pertes 426 remplace chacune des images du niveau d'amélioration transportée dans les N prsm paquets par les images correspondantes du niveau de base. Le moyen de calcul 427 calcule la différence entre chaque image d'amélioration reçue et sa version obtenue par masquage de pertes. Le moyen de quantification 428 quantifie cette différence en s'appuyant sur les informations de quantification indiquées dans les paquets de redondance. Les différences quantifiées et les slices redondants seront transmis au décodeur de Reed-Solomon 429 qui récupère les différences manquantes et les décode. Un moyen d'ajout 430 ajoute ces différences aux images du niveau d'amélioration perdues régénérées par masquage de pertes. Les images résultant de ces ajouts sont insérées dans la suite des images à afficher. On observe, en figure 6, un premier mode de réalisation des procédés de transmission et de réception objets de la présente invention, adapté au cas d'une application de transmission vidéo quelconque mais décrit dans le cas d'un encodage H.264. Ainsi, d'autres standards de compression vidéo pourraient être utilisés (MPEG-2, MPEG-4 part 2, H.263, Motion JPEG, Motion JPEG2000...) sans modification substantielle des étapes illustrées en figure 6. Au cours d'une étape 502, on met en oeuvre la norme H.264 pour encoder une vidéo d'entrée, sous forme de slices qu'on appelle, dans la suite, slices primaires . Chaque slice primaire est inséré dans des paquets RTP puis transmis sur un réseau. On suppose qu'un mécanisme de contrôle de congestion, de type connu, régule l'envoie des paquets RTP sur le réseau et que le dispositif de réception du client acquitte chaque paquet reçu de sorte que le dispositif d'émission sait quels paquets ont été reçus et quels paquets ont été perdus.
Dès qu'un groupe de N prsm slices primaires a été généré, on effectue une étape de simulation 516 des méthodes de masquage de pertes que mettrait en oeuvre le dispositif de réception du client en cas de pertes de paquets parmi les N prsm paquets transmis. Dans le cas général, le dispositif de réception du client est capable de mettre en oeuvre plusieurs méthodes de masquage de pertes. Il peut, par exemple, réaliser un masquage de perte spatial ou un masquage de pertes temporel. La simulation du masquage de pertes suppose d'avoir une connaissance du processus de pertes sur le réseau. Le dispositif de transmission recevant un acquittement pour chaque paquet transmis, au cours de l'étape de simulation 516, on est capable de calculer les paramètres d'un modèle de pertes sur le réseau. Dans des modes de réalisation, au cours de l'étape de simulation 516, on simule toutes les configurations de pertes possibles entre le dernier slice primaire acquitté et le slice courant. Si N est le nombre de paquets transportant les slices transmis depuis le dernier slice primaire acquitté, au cours de l'étape de simulation 516, on simule toutes les configurations de 1 à N pertes. Par exemple si N paquets séparent le dernier paquet acquitté et le paquet contenant le slice courant, le nombre de configurations de pertes N N! possibles est 4 k!(N û k)! . Le nombre de configurations possibles peut être réduit si, parmi les N paquets primaires transmis, un certain nombre ont été acquittés avant l'encodage de Wyner-Ziv. Pour chacune des configurations de pertes possibles, au cours de l'étape de simulation 516, on applique le masquage de pertes en appliquant le même processus de sélection d'une méthode de masquage de pertes que le dispositif de réception du client. La sélection d'une méthode de masquage de perte peut, par exemple, consister à appliquer un masquage de pertes temporel lorsque les slices contenus dans un paquet perdu correspondent à une image, et un masquage de pertes spatial lorsque les slices correspondent à une portion d'une image. On suppose, ici, que tous les macroblocs d'un slice subissent la même méthode de masquage de pertes.
L'étape de simulation 516 génère ainsi plusieurs versions décodées de la vidéo, chaque version représentant la vidéo telle que l'afficherait le client dans une configuration de pertes donnée. Puis, au cours d'une étape de calcul 518, on effectue, pour chacune des configurations de pertes obtenues, le calcul de la différence entre les images issues du masquage de pertes et les images primaires qui leur correspondent temporellement. Au cours d'une étape d'encodage 520, on encode chacune des différences. Les macroblocs d'une image de différence sont traités comme des macroblocs de résidu issus de la prédiction de mouvement. L'étape d'encodage 520 met donc en oeuvre les modules d'encodage de résidu de l'algorithme H.264. L'image de différence est divisée en macroblocs de dimension 4x4 pixels. Les étapes d'encodage d'un macrobloc de différence sont les suivantes : -transformation du bloc 4x4 par une transformation de type DCT (acronyme de discrete cosine transform pour transformation cosinus discrète) entière, - quantification des données transformées, au cours de laquelle on peut utiliser une quantification uniforme de l'ensemble des macroblocs de différence d'une image et - codage entropique à l'aide, par exemple, d'un encodeur CAVLC tel que défini par le standard. On note que la quantification permet de réguler le débit des différences. Dans une seconde mise en oeuvre, au cours de l'étape de simulation 516, on simule au moins une des configurations de pertes les plus probables.
Dans une troisième mise en oeuvre, la procédure de quantification réalisée au cours de l'étape d'encodage 520 des différences prend en compte la probabilité d'occurrence des configurations de pertes. De cette manière, on alloue plus de débit aux configurations le plus probables. Dans une quatrième mise en oeuvre, au cours de l'étape de simulation 516, on ne simule le masquage de pertes que pour les configurations dans lesquelles au plus K paquets primaires seront perdus parmi les N prsm paquets primaires transmis. Il n'est en effet pas nécessaire de simuler des configurations de pertes pour lesquelles le dispositif de réception du client ne sait pas mettre en oeuvre le décodage de Wyner-Ziv. Puis, au cours d'une étape d'encodage 522, on applique un encodage de canal aux N prsm slices correspondant aux images de différence. Ici, chaque configuration de perte est traitée séparément et séquentiellement de sorte qu'on a toujours N prsm slices de différence en entrée de l'étape d'encodage 522. On utilise, dans le mode de réalisation représenté en figure 6, un encodage de Reed-Solomon systématique pour l'encodage canal. Cet encodage 522 génère K slices de redondance, le nombre K pouvant être fonction soit du taux d'erreur sur le canal P (P = p P q lorsque le canal est modélisé par un processus d'Elliot-Gilbert), soit de la probabilité d'occurrence d'une configuration de pertes, soit des deux. A la sortie de l'étape d'encodage 522, seuls les K slices de redondance sont transmis. Ces slices redondants sont insérés dans des paquets RTP puis transmis sur le réseau. Un identifiant de la configuration de pertes, de la méthode de masquage de pertes et du paramètre de quantification QP appliqués à chaque image de différence est inséré dans chaque paquet de redondance transmis. Ces données constituent les informations parallèles fournies à l'encodeur de Wyner-Ziv.
Lors de leur transmission sur le réseau, des paquets peuvent être perdus. Ces pertes peuvent affecter de manière quelconque des paquets transportant des slices primaires ou des paquets transportant des slices de redondance. Le dispositif de réception effectue deux ensembles d'étapes 30 principaux, un décodage H.264 classique avec masquage de pertes 532, et un décodage de Wyner-Ziv comportant les étapes 538 à 546.
Au cours de l'étape de décodage avec masquage de perte 532, on met en oeuvre le décodage des slices primaires reçus en appliquant du masquage de pertes si des pertes se sont produites. Si le nombre de pertes dans l'ensemble des paquets primaires et de 5 redondance est inférieur à K, on met en oeuvre le décodage de Wyner-Ziv. Sinon, on passe au décodage du groupe de N prsm slices primaires suivant. Pour le décodage de Wyner-Ziv, au cours d'une étape de simulation de masquage de perte 538 compare la configuration de pertes avec l'ensemble des configurations de pertes considérées lors de la simulation du masquage de 10 pertes effectuée au cours de l'encodage. On cherche alors une configuration de perte qui permette de retrouver les différences perdues. Si aucune configuration ne permet de retrouver les différences perdues, on arrête le décodage de Wyner-Ziv. Sinon, on poursuit ce décodage en s'appuyant sur la configuration de pertes permettant de retrouver les différences perdues, par la simulation de 15 la perte de certaines images reçues suivie de la simulation du masquage de ces pertes, effectuée au cours de l'étape de simulation 538. La simulation de ces pertes et de leur masquage permet, au cours d'une étape 540, de calculer la différence entre un certain nombre de slices primaires décodées par le décodeur H.264 et leur version sur laquelle a été simulé un masquage de 20 pertes. Puis, au cours d'une étape de quantification 542, on quantifie les différences obtenues en s'appuyant sur les paramètres de quantifications transmis dans les paquets de redondance. Les différences reconstituées et les slices redondants correspondant 25 à la configuration de perte considérée au cours de l'étape 540 sont mis en oeuvre au cours d'une étape de décodage de Reed-Solomon 544, qui régénère les slices de différence perdus. Puis, au cours d'une étape d'ajout de différences 546, on ajoute les slices de différence à l'image correspondant temporellement issue du 30 masquage de pertes réalisé au cours de l'étape de décodage 532. Deux types d'images sont donc affichés : d'une part les images résultant du décodage de leur train binaire, d'autre part les images dont le train binaire a été perdu, mais que le décodeur H.264 a généré par masquage de pertes et sur lesquelles on a ajouté les différences obtenues par décodage de Wyner-Ziv. On observe, en figure 7, un deuxième mode de réalisation des procédés de transmission et de réception objets de la présente invention adaptés à l'encodage SVC. Dans cette mise en oeuvre, nous considérons un encodage scalable avec un niveau de base et un niveau d'amélioration. Le niveau d'amélioration peut être un niveau d'amélioration spatial ou en qualité de type CGS (acronyme de coarse grain scalability pour adaptabilité à grain grossier) tel que défini par le standard SVC. On note que le cas de la scalabilité temporelle est couvert par la mise en oeuvre du procédé illustré en figure 6. Le procédé de transmission comporte un groupe d'étapes d'encodage SVC comportant les étapes 602, 603 et 604 et un groupe d'étapes d'encodage de Wyner-Ziv comportant les étapes 606, 607, 608 et 609. Au cours d'une étape d'encodage 602, on effectue un encodage primaire pour encoder le flux de base. Au cours d'une étape 603, on effectue un encodage primaire pour encoder le flux d'amélioration. Les étapes d'encodage 602 et 603 suffisent dans le cas de l'encodage d'un niveau d'amélioration CGS. Cependant, dans le cas de l'encodage d'un niveau d'amélioration spatial, une étape de sous-échantillonnage 604 sous-échantillonne le flux original d'entrée pour l'encodage du niveau de base. Les étapes d'encodage 602 et 603 échangent des informations de manière à assurer une prédiction inter niveaux de scalabilité. Les slices primaires de base et d'amélioration sont insérés dans des paquets RTP puis transmis sur le réseau.
On considère ici que les paquets primaires de base et les paquets primaires d'amélioration sont transmis sur des sessions RTP différentes, de sorte que les pertes subies par l'un ou l'autre niveau de scalabilité sont décorrélées. De plus, on protège plus les paquets de base que les paquets d'amélioration, en leur donnant par exemple des niveaux de priorité supérieurs, de manière à assurer une transmission quasi fiable du niveau de base. Dès que N prsm paquets de base et N prsm paquets d'amélioration ont été crées, on met en oeuvre les étapes d'encodage de Wyner-Ziv. Comme dans le mode de réalisation illustré en figure 6, l'encodage de Wyner-Ziv comporte une étape 606 de simulation du masquage de pertes pour différentes configurations de pertes. Dans le cadre de la scalabilité telle que décrit plus haut, une méthode simple de masquage de pertes consiste à remplacer une image de la couche d'amélioration perdue par l'image de la couche de base correspondant temporellement. Dans l'exemple de mise en oeuvre illustré en figure 7, on se limite à cette seule méthode de masquage de pertes. De plus, parmi les configurations de pertes considérées par le serveur, on considère au moins la configuration dans laquelle tous les N prsm paquets d'amélioration sont perdus. L'encodage de Wyner-Ziv comporte une étape 607 de calcul de la différence entre l'image obtenue après décodage de la couche d'amélioration et l'image résultant du décodage de la couche de base. On note qu'une interpolation de l'image de la couche de base peut être nécessaire si les deux couches de scalabilité n'ont pas la même résolution spatiale. Dans ce cas, le calcul de la différence revient à calculer cette différence entre l'image de la couche d'amélioration et l'image de la couche de base. Cette image de différence est encodée après une étape de régulation de débit 608 de la même manière que décrit en regard de la figure 6. Au cours d'une étape 609, on effectue un encodage de Reed- Solomon identique à celui illustré en figure 6. Toutefois ici, puisqu'une seule méthode de masquage est considérée, il n'est pas nécessaire d'insérer un identifiant de cette méthode. Comme dans le mode de réalisation illustré en figure 6, les K paquets de redondance sont transmis sur le réseau. De son coté, le procédé de réception comporte un groupe d'étapes de décodage SVC, qui réalise le décodage des images reçues, au cours des étapes 622 et 623, respectivement pour décoder les slices primaires et les slices secondaires. Au cours d'une étape de masquage de perte 624, on masque les images perdues, de la même manière qu'au cours de l'étape 606. On note qu'une image faisant référence à une image perdue sera considérée comme perdue afin d'éviter les problèmes de propagation d'erreurs.
Si parmi les paquets d'amélioration primaires et les K paquets de redondance, au plus K paquets sont perdus, on met en oeuvre les étapes de décodage de Wyner-Ziv, qui consiste à chercher une configuration de pertes qui permette de retrouver les différences perdues parmi les configurations de pertes considérées par le procédé de transmission. On pourra considérer la configuration de pertes où tous les N prsm paquets sont perdus. Dans cette configuration, au cours d'une étape de simulation du masquage de pertes 626, on remplace chacune des images du niveau d'amélioration transportée dans les N prsm paquets par les images correspondantes du niveau de base. Au cours d'une étape de calcul 627, on calcule la différence entre chaque image d'amélioration reçue et sa version obtenue par masquage de pertes. Au cours d'une étape de quantification 628, on quantifie cette différence en s'appuyant sur les informations de quantification indiquées dans les paquets de redondance. Les différencesquantifiées et les slices redondants seront mis en oeuvre au cours d'une étape de décodage de Reed-Solomon 629, au cours de laquelle on récupère les différences manquantes et on les décode. Au cours d'une étape d'ajout 630, on ajoute ces différences aux images du niveau d'amélioration perdues régénérées par masquage de pertes. Les images résultant de ces ajouts sont insérées dans la suite des images à afficher. En référence à la figure 8, un dispositif apte à fonctionner en tant que dispositif de transmission et / ou dispositif de réception d'un flux vidéo selon l'invention est maintenant décrit dans sa configuration matérielle. Le dispositif de traitement d'information de la figure 8 possède l'ensemble des moyens nécessaires à la mise en oeuvre du procédé de transmission et / ou du procédé de réception d'un flux vidéo selon l'invention. Selon le mode de réalisation choisi, ce dispositif peut être par exemple un micro-ordinateur 700 connecté à différentes périphériques, par exemple, une caméra numérique 701 (ou tout autre moyen d'acquisition ou de stockage d'images) reliée à une carte graphique (non représentée) et fournissant ainsi un flux vidéo à transmettre ou reçu.
Le micro-ordinateur 700 comporte de préférence une interface de communication 702 reliée à un réseau 703 apte à transmettre des informations numériques. Le micro-ordinateur 700 comporte également un moyen de stockage 704, tel que par exemple un disque dur, ainsi qu'un lecteur de disquette 705. La disquette 706 comme le disque 704 peuvent contenir des données d'implantation logicielle de l'invention ainsi que le code d'un programme implémentant le procédé de transmission et/ou le procédé de réception objets de la présente invention, code qui, une fois lu par le micro- ordinateur 700, sera stocké dans le disque dur 704. Selon une variante, le ou les programmes permettant au dispositif 700 de mettre en oeuvre l'invention sont stockés dans une mémoire morte ROM 707. Selon une autre variante, le ou les programmes sont reçus totalement ou partiellement à travers le réseau de communication 703 pour être stockés comme indiqué. Le micro-ordinateur 700 peut également être relié à un microphone 708 par l'intermédiaire d'une carte d'entrée/sortie (non représentée). Le micro-ordinateur 700 comprend également un écran 709 pour visualiser la vidéo à encoder ou la vidéo décodée et/ou servir d'interface avec l'utilisateur, afin que l'utilisateur puisse par exemple paramétrer certains modes de traitement à l'aide du clavier 710 ou de tout autre moyen approprié tel qu'une souris. L'unité centrale CPU 711 exécute les instructions relatives à la mise en oeuvre de l'invention, ces instructions étant stockées dans la mémoire morte ROM 707 ou dans les autres éléments de stockage décrits. Lors de la mise sous tension, les programmes et procédés de traitement stockés dans une des mémoires non-volatiles, par exemple la ROM 707, sont transférés dans la mémoire vive RAM 712 qui contient alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. De manière 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 dont l'exécution met en oeuvre les procédés de transmission ou de réception. Il est aussi possible de faire évoluer le mode de réalisation de l'invention, par exemple, en ajoutant des méthodes de traitement actualisées ou améliorées qui sont transmises par le réseau de communication 703 ou chargées par l'intermédiaire d'une ou de plusieurs disquettes 706. Bien entendu, les disquettes 706 peuvent être remplacées par tout support d'information tel que CD-ROM ou carte mémoire. Un bus de communication 713 permet la communication entre les différents éléments du micro-ordinateur 700 et les éléments reliés à celui-ci. On notera que la représentation du bus 713 n'est pas limitative. En effet, l'unité centrale CPU 711 est, par exemple, susceptible de communiquer des instructions à tout élément du micro-ordinateur 700, directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 700. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier.
Claims (1)
1 - Procédé de transmission d'un flux vidéo sur un réseau entre un dispositif de transmission et au moins un dispositif de réception, caractérisé en ce qu'il 5 comporte : - une étape (502, 602) d'encodage de données du flux vidéo dites primaires selon un premier type d'encodage, - une étape (516, 518, 603 à 607) d'obtention de données vidéo dites secondaires , dépendantes des données primaires, par simulation d'erreurs 10 de transmission potentiellement subies par le flux vidéo et d'au moins une méthode de masquage de pertes dues aux dites erreurs de transmission et susceptible d'être mise en oeuvre par un dispositif de réception apte à décoder le flux vidéo primaire encodé selon le premier type d'encodage, - une étape (520, 522, 609) d'encodage des données secondaires 15 selon un second type d'encodage différent du premier type d'encodage et - une étape de transmission, par l'intermédiaire du réseau, des données primaires encodées selon le premier type d'encodage et d'au moins une partie des données secondaires encodées avec le deuxième type d'encodage. 20 2 û Procédé selon la revendication 1, caractérisé en ce que, au cours de l'étape (518, 607) d'obtention des données vidéo secondaires, on calcule la différence entre au moins une version du flux vidéo ayant subi la simulation des erreurs de transmission et un masquage de pertes simulé et la version encodée selon le premier type d'encodage. 25 3 û Procédé selon la revendication 2, caractérisé en ce que, au cours de l'étape (520, 609) d'encodage des données secondaires, on encode ladite différence. 4 û Procédé selon la revendication 3, caractérisé en ce que, au cours de l'étape (520, 522, 609) d'encodage des données secondaires, on calcule des informations de redondance sur cette différence pour fournir des données 30 secondaires. û Procédé selon la revendication 4, caractérisé en ce que, au cours de l'étape de transmission, on transmet ces informations de redondance sous forme depaquets de données dans lesquelles on insère des informations permettant au client de régénérer les données secondaires. 6 û Procédé selon la revendication 5, caractérisé en ce que, au cours de l'étape de transmission, les informations permettant de régénérer les différences comportent un identifiant de méthode de masquage de perte utilisé pour déterminer les données secondaires. 7 û Procédé selon l'une quelconque des revendications 5 ou 6, caractérisé en ce que, au cours de l'étape de transmission, les informations permettant de régénérer les différences comportent un identifiant d'une configuration de pertes utilisée pour déterminer les données secondaires. 8 û Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que, au cours de l'étape (516, 518, 606) d'obtention des données secondaires, on ne simule le masquage de pertes que pour des configurations de pertes dans lesquelles au plus un nombre prédéterminé de paquets primaires sont perdus parmi les paquets primaires transmis. 9 û Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'étape (520, 522, 609) d'encodage des données secondaires comporte une étape de quantification des données secondaires, au cours de laquelle on prend en compte la probabilité d'occurrence des configurations de pertes et on alloue plus de débit aux configurations le plus probables. 10 û Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que, au cours de l'étape (520, 522, 609) d'encodage des données primaires, on met en oeuvre un encodage SVC. 11 û Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que, au cours de l'étape (516, 518, 606) d'obtention de données vidéo secondaires, on simule un masquage de pertes mettant en oeuvre un niveau de base et un niveau d'amélioration. 12 û Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce que, au cours de l'étape (520, 522, 609) d'encodage des données 30 secondaires, on met en oeuvre un encodage de Reed-Solomon. 13 û Procédé selon l'une quelconque des revendications 1 à 12, caractérisé en ce que, au cours de l'étape (516, 518, 606) d'obtention de donnéessecondaires, lors de la simulation de masquage de perte, pour la configuration de perte la plus probable, on applique un processus de sélection d'une méthode de masquage de pertes mis en oeuvre par le dispositif de réception, pour fournir au moins une version décodée des données vidéo, chaque version représentant la vidéo telle que l'afficherait le client dans une configuration de pertes donnée. 14 - Procédé de réception d'un flux vidéo sur un réseau en provenance d'un dispositif de transmission, caractérisé en ce qu'il comporte : - une étape de réception de données primaires et d'information représentative de données secondaires d'un flux vidéo, - une étape (532, 622) de décodage de données primaires selon un premier type de décodage, - une étape (538, 624) de masquage de pertes de données primaires, - une étape (540, 627) de calcul de différences entre les données primaires décodées et les données résultant du masquage de pertes, - une étape (542, 544, 626, 629) d'obtention de données vidéo dites secondaires , en mettant en oeuvre, sur l'information représentative de données secondaires, un second type de décodage différent du premier type de décodage et lesdites différences, -une étape (546, 630) de combinaison des données primaires et des données secondaires pour générer un flux vidéo. 15 û Procédé selon la revendication 14, caractérisé en ce que, au cours de l'étape (546, 630) de combinaison, on ajoute les données secondaires aux données primaires. 16 û Procédé selon l'une quelconque des revendications 14 ou 15, caractérisé en ce que, au cours de l'étape (542, 544, 626, 629) d'obtention de données vidéo secondaires, on compare la configuration de pertes mise en oeuvre au cours de l'étape de masquage de pertes des données primaires avec une pluralité de configurations de pertes pour lesquelles des données secondaires ont été reçues, pour déterminer des données secondaires correspondant à ladite configuration de pertes.17 ù Procédé selon l'une quelconque des revendications 14 à 16, caractérisé en ce que, au cours de l'étape (542, 544, 626) d'obtention de données vidéo secondaires, on simule la perte d'images reçues et le masquage de ces pertes, pour déterminer une différence entre des données primaires décodées et leur version sur laquelle a été simulé un masquage de pertes. 18 - Dispositif (700) de transmission d'un flux vidéo à au moins un dispositif de réception, caractérisé en ce qu'il comporte : - un moyen (707, 711, 712) d'encodage de données du flux vidéo dites primaires selon un premier type d'encodage, - un moyen (707, 711, 712) d'obtention de données vidéo dites secondaires , dépendantes des données primaires, par simulation d'erreurs de transmission potentiellement subies par le flux vidéo et d'au moins une méthode de masquage de pertes dues aux dites erreurs de transmission et susceptible d'être mise en oeuvre par un dispositif de réception apte à décoder le flux vidéo primaire encodé selon le premier type d'encodage, - un moyen (707, 711, 712) d'encodage des données secondaires selon un second type d'encodage différent du premier type d'encodage et - un moyen (702, 703, 707) de transmission, par l'intermédiaire du réseau, des données primaires encodées selon le premier type d'encodage et d'au moins une partie des données secondaires encodées avec le deuxième type d'encodage. 19 - Dispositif de réception d'un flux vidéo sur un réseau en provenance d'un dispositif de transmission, caractérisé en ce qu'il comporte : - un moyen (702, 703, 707) de réception de données primaires et d'information représentative de données secondaires d'un flux vidéo, - un moyen (707, 711, 712) de décodage de données primaires selon un premier type de décodage, - un moyen (707, 711, 712) de masquage de pertes de données primaires, - un moyen (707, 711, 712) de calcul de différences entre les données primaires décodées et les données résultant du masquage de pertes,- un moyen (707, 711, 712) d'obtention de données vidéo dites secondaires , en mettant en oeuvre, sur l'information représentative de données secondaire, un second type de décodage différent du premier type de décodage et lesdites différences et - un moyen (707, 711, 712) de combinaison des données primaires et des données secondaires pour générer un flux vidéo. 20 - Programme d'ordinateur chargeable dans un système informatique (700), ledit programme contenant des instructions permettant la mise en oeuvre du procédé de transmission selon l'une quelconque des revendications 1 à 13 et/ou du procédé de réception selon l'une quelconque des revendications 14 à 17. 21 - Support d'informations (704, 706) 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 selon l'une quelconque des revendications 1 à 13 et/ou du procédé de réception selon l'une quelconque des revendications 14 à 17.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0756243A FR2918520A1 (fr) | 2007-07-03 | 2007-07-03 | Procede et dispositif de transmission video |
PCT/IB2008/002715 WO2009010882A2 (fr) | 2007-07-03 | 2008-06-27 | Procédé et dispositif de transmission de données vidéo |
US12/595,953 US8638848B2 (en) | 2007-07-03 | 2008-06-27 | Video transmission method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0756243A FR2918520A1 (fr) | 2007-07-03 | 2007-07-03 | Procede et dispositif de transmission video |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2918520A1 true FR2918520A1 (fr) | 2009-01-09 |
Family
ID=39144489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0756243A Withdrawn FR2918520A1 (fr) | 2007-07-03 | 2007-07-03 | Procede et dispositif de transmission video |
Country Status (3)
Country | Link |
---|---|
US (1) | US8638848B2 (fr) |
FR (1) | FR2918520A1 (fr) |
WO (1) | WO2009010882A2 (fr) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102036070A (zh) * | 2005-12-08 | 2011-04-27 | 维德约股份有限公司 | 用于视频通信***中的差错弹性和随机接入的***和方法 |
US8693538B2 (en) | 2006-03-03 | 2014-04-08 | Vidyo, Inc. | System and method for providing error resilience, random access and rate control in scalable video communications |
CA2674710C (fr) * | 2007-01-09 | 2016-02-23 | Vidyo, Inc. | Systemes et procedes ameliores de resilience aux pannes dans des systemes de communication video |
JP5553663B2 (ja) * | 2010-03-31 | 2014-07-16 | 日立コンシューマエレクトロニクス株式会社 | 映像送信装置、映像受信装置、映像伝送システム |
WO2012105959A1 (fr) * | 2011-02-01 | 2012-08-09 | Vidyo, Inc. | Échelonnabilité spatiale utilisant des images redondantes et des groupes de tranches |
US8934530B2 (en) | 2011-02-01 | 2015-01-13 | Vidyo, Inc. | Spatial scalability using redundant pictures and slice groups |
US20130329810A1 (en) * | 2012-06-12 | 2013-12-12 | Broadcom Corporation | Power Optimization for Sending Static Indications in Video Transmissions |
GB2505399B (en) * | 2012-07-11 | 2015-09-23 | Canon Kk | Method and device for receiving or transmitting data |
US10587663B2 (en) * | 2013-05-31 | 2020-03-10 | Verily Life Sciences Llc | Video stream preview |
DE102013226802A1 (de) * | 2013-12-20 | 2015-06-25 | Siemens Aktiengesellschaft | Schutz von Privatsphäre in einem Videostrom mittels einer redundanten Slice |
US9386275B2 (en) * | 2014-01-06 | 2016-07-05 | Intel IP Corporation | Interactive video conferencing |
US9516220B2 (en) | 2014-10-02 | 2016-12-06 | Intel Corporation | Interactive video conferencing |
US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
US10021346B2 (en) | 2014-12-05 | 2018-07-10 | Intel IP Corporation | Interactive video conferencing |
WO2022217555A1 (fr) * | 2021-04-15 | 2022-10-20 | 深圳市大疆创新科技有限公司 | Procédé de transmission d'image pour véhicule aérien sans pilote, et véhicule aérien sans pilote et support de stockage lisible par ordinateur |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275531B1 (en) * | 1998-07-23 | 2001-08-14 | Optivision, Inc. | Scalable video coding method and apparatus |
DE19958658A1 (de) * | 1999-12-06 | 2001-06-07 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Erzeugen einer Sendesequenz und Vorrichtung und Verfahren zum Ermitteln von Informationen |
FR2816138B1 (fr) | 2000-10-27 | 2003-01-17 | Canon Kk | Decodage de donnees numeriques |
US7106907B2 (en) * | 2002-10-18 | 2006-09-12 | Mitsubishi Electric Research Laboratories, Inc | Adaptive error-resilient video encoding using multiple description motion compensation |
US7916796B2 (en) * | 2005-10-19 | 2011-03-29 | Freescale Semiconductor, Inc. | Region clustering based error concealment for video data |
FR2924296B1 (fr) | 2007-11-28 | 2010-05-28 | Canon Kk | Procede et dispositif de traitement d'un flux de donnees multimedia hierarchique transmis sur un reseau avec perte |
FR2928807B1 (fr) | 2008-03-11 | 2017-04-07 | Canon Kk | Procede de transmission sur un reseau de communication d'un signal video pre-encode |
FR2932050B1 (fr) | 2008-06-03 | 2010-05-21 | Canon Kk | Procede et dispositif de transmission de donnees video |
-
2007
- 2007-07-03 FR FR0756243A patent/FR2918520A1/fr not_active Withdrawn
-
2008
- 2008-06-27 US US12/595,953 patent/US8638848B2/en not_active Expired - Fee Related
- 2008-06-27 WO PCT/IB2008/002715 patent/WO2009010882A2/fr active Application Filing
Non-Patent Citations (1)
Title |
---|
S. RANE ET B. GIROD: "Analysis of error-resilient video transmission based on systematic source-channel coding.", PICTURE CODING SYMPOSIUM 2004, 17 December 2004 (2004-12-17), San Francisco, CA, pages 1 - 6, XP002472188, Retrieved from the Internet <URL:http://www.ece.ucdavis.edu/PCS2004/> [retrieved on 20080310] * |
Also Published As
Publication number | Publication date |
---|---|
US8638848B2 (en) | 2014-01-28 |
WO2009010882A2 (fr) | 2009-01-22 |
US20100132002A1 (en) | 2010-05-27 |
WO2009010882A3 (fr) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2918520A1 (fr) | Procede et dispositif de transmission video | |
TWI507018B (zh) | 用於視訊寫碼之參數集合的指示及啓用 | |
EP1501310A1 (fr) | Procede de conversion/transmission de codes de donnees d'images animees procede de conversion/reception de codes et dispositif associe | |
FR2917262A1 (fr) | Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable. | |
FR2939593A1 (fr) | Procede et dispositif de codage video | |
US8055974B2 (en) | Content distribution method, encoding method, reception/reproduction method and apparatus, and program | |
CN101960466A (zh) | 用于误差弹性视频编码的帧间模式生成的比率失真优化 | |
FR2894421A1 (fr) | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique | |
FR2903253A1 (fr) | Procede permettant de determiner des parametres de compression et de protection pour la transmission de donnees multimedia sur un canal sans fil. | |
FR2936926A1 (fr) | Systeme et procede de determination de parametres de codage | |
US20090110062A1 (en) | Optimal heegard-berger coding schemes | |
EP2052545B1 (fr) | Dispositif et procede de codage et de decodage echelonnables de flux de donnees d'images, signal et programme d'ordinateur correspondants | |
CN116614645A (zh) | 视频流的编码方法和设备 | |
EP2297968A1 (fr) | Procede et systeme permettant de proteger un flux video compresse contre les erreurs survenant lors d'une transmission | |
WO2005032135A1 (fr) | Embrouillage, desembrouillage et distribution securisee de sequences audiovisuelles issues de codeurs videos bases dct | |
FR3008840A1 (fr) | Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants | |
US20120002726A1 (en) | Method and apparatus for scalable video coding | |
US9681129B2 (en) | Scalable video encoding using a hierarchical epitome | |
FR2913163A1 (fr) | Procede et dispositif de transmission de donnees video | |
EP3972247A1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR3062010A1 (fr) | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'une sequence d'images | |
EP3259909A1 (fr) | Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants | |
FR3033114A1 (fr) | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants | |
WO2009007603A2 (fr) | Procedes et dispositifs de codage et de decodage d'images numeriques tenant compte du type des blocs source, signal et produits programme d'ordinateur correspondants | |
Park et al. | Mobile to mobile video communication using DVC framework with channel information transmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20090331 |