FR2881898A1 - Procede et dispositif de codage d'une image video en mode inter ou intra - Google Patents
Procede et dispositif de codage d'une image video en mode inter ou intra Download PDFInfo
- Publication number
- FR2881898A1 FR2881898A1 FR0550396A FR0550396A FR2881898A1 FR 2881898 A1 FR2881898 A1 FR 2881898A1 FR 0550396 A FR0550396 A FR 0550396A FR 0550396 A FR0550396 A FR 0550396A FR 2881898 A1 FR2881898 A1 FR 2881898A1
- Authority
- FR
- France
- Prior art keywords
- coding
- intra
- macroblock
- image
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D13/00—Diggers, e.g. potato ploughs
-
- 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
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01B—SOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
- A01B59/00—Devices specially adapted for connection between animals or tractors and agricultural machines or implements
- A01B59/06—Devices specially adapted for connection between animals or tractors and agricultural machines or implements for machines mounted on tractors
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D75/00—Accessories for harvesters or mowers
- A01D75/002—Carriers for the transport of harvesters or mowers
-
- 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/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- 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/176—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 block, e.g. a macroblock
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D69/00—Driving mechanisms or parts thereof for harvesters or mowers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P60/00—Technologies relating to agriculture, livestock or agroalimentary industries
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Zoology (AREA)
- Mechanical Engineering (AREA)
- Soil Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Le procédé est caractérisé en ce que l'étape de sélection (4) d'un mode de codage parmi des modes inter et des modes intra est décomposée en deux étapes séquentielles, une étape de présélection (1) du mode de codage intra pour présélectionner un mode intra pour le macrobloc courant parmi les modes de codage intra, et en une étape de décision de codage, partie du codage effectif du macrobloc courant (4) pour sélectionner le mode de codage du macrobloc courant parmi les modes inter et le mode intra présélectionné et en ce que l'étape de présélection pour le macrobloc courant est effectuée pendant l'étape de décision de codage pour un macrobloc précédent.
Description
L'invention concerne un procédé et un dispositif de codage d'une image
vidéo d'une séquence d'images mettant en oeuvre des modes 5 de codage intra et inter de blocs d'image.
Le domaine est celui de la compression vidéo exploitant plus particulièrement des algorithmes de codage inter et intra basés respectivement sur la compensation de mouvement entre images, la compensation spatiale et sur les transformées par blocs. Le contexte visé o est le standard MPEG-4 AVC, aussi appelé MPEG-4 partiel0 ou H.264.
Le standard de codage vidéo MPEG-4 AVC introduit un codage intra beaucoup plus sophistiqué que dans les précédents standards, dans la mesure où il fait intervenir une compensation spatiale: est codé, non pas le macrobloc source, mais la différence entre ce macrobloc source et les pixels issus des macroblocs voisins déjà codés.
Le codage différentiel intra en luminance peut être fait sur un bloc unique de taille 16 x 16 ou bien sur 16 blocs indépendants de taille 4 x 4. Le nombre de prédictions possibles est très riche, puisque 9 modes sont définis pour les blocs 4 x 4 et 4 modes sont définis pour les blocs 16 x 16.
La figure 1 représente de manière schématique les différents modes de codage intra en luminance pour des blocs 4 x 4. La figure 2 représente les différents modes de codage intra en luminance pour des blocs 16 x 16.
Le document ITU -T Rec. H.264 (2002 E), aussi référencé ISO/IEC FCD 1449610, décrit au chapitre 8.5 intitulé intra prediction ces différents modes de codage. La figure reprend les termes anglais de la norme afin de pouvoir s'y reporter plus facilement. Il est à noter que le mode intra pur n'existe pas, tous les modes intra de la norme sont des modes différentiels. Le codage intra en chrominance est fait sur un bloc unique de taille 8x8, avec une prédiction choisie parmi les 4 possibilités définies pour le mode intra 16 x 16.
La décision de codage intra est donc d'une complexité considérablement accrue par rapport aux standards précédents. Outre la complexité de calcul, l'implémentation du codage intra pose un problème de causalité, puisque les pixels voisins utilisés dans les prédictions sont des pixels reconstruits, c'est à dire précédemment codés, en inter ou en intra, puis décodés. Le modèle de codage de référence du standard, qui est un modèle générique, décrit une syntaxe générale qui ne prend pas en compte les contraintes de fonctionnement en temps réel. La complexité de calcul et le lien de causalité du codage intra ne sont pas l'objet de ce modèle.
Lorsque l'on vise des applications temps réel, par exemple en s format de télévision standard, des problèmes de temps de traitement apparaissent, du fait du grand nombre de modes de codage à tester. Le codage des macroblocs de l'image se fait selon un balayage télévision, le test des modes intra du macrobloc courant ne peut être effectué qu'après le traitement du macrobloc précédent. Le problème apparaît lors de la lo réalisation matérielle, les tests étant effectués de rnanière séquentielle.
Un des buts de l'invention est de pallier les inconvénients précités. L'invention a pour objet un procédé de codage d'une image vidéo en mode inter ou intra comportant - une étape de conversion de l'image en macroblocs d'image, - une étape de sélection, pour un macrobloc courant, en fonction d'un critère coût et/ou facteur de qualité, d'un mode de codage au moins parmi des modes inter dépendant d'une découpe du macrobloc en blocs et exploitant une compensation en mouvement de ces blocs dans une ou des images précédemment codées et des modes intra dépendant d'une découpe du macrobloc en blocs et exploitant la compensation spatiale de ces blocs dans l'image, compensations utilisées pour le calcul de valeurs prédites et de résidus correspondant à coder, un mode de codage inter ou intra d'un macrobloc correspondant à la combinaison des modes de codage inter ou intra des blocs constituant le macrobloc, caractérisé en ce que l'étape de sélection est décomposée en deux étapes séquentielles, une étape de présélection du mode de codage intra pour présélectionner un mode intra pour le macrobloc courant parmi les modes de codage intra, et en une étape de décision de codage, partie du codage effectif du macrobloc courant, pour sélectionner le mode de codage du macrobloc courant parmi les modes inter et le mode intra présélectionné et en ce que l'étape de présélection pour le macrobloc courant est effectuée pendant l'étape de décision de codage pour un macrobloc précédent.
Selon une mise en oeuvre particulière, le macrobloc précédent appartient à une image précédente et le macrobloc courant appartient à une image courante, l'image courante étant mémorisée pendant le codage effectif des macroblocs de l'image précédente.
Selon une mise en oeuvre particulière, le macrobloc précédent appartient à une rangée précédente de macroblocs de l'image courante et le macrobloc courant appartient à une rangée courante de macroblocs, la rangée courante de macroblocs étant mémorisée pendant le codage effectif des macroblocs d'une rangée précédente.
Selon une mise en oeuvre particulière, l'étape de présélection comporte une ou plusieurs découpes des macroblocs de l'image en blocs de différentes tailles sur lesquels sont effectués les compensations spatiales pour le calcul des résidus, le coût de codage du macrobloc étant la somme des coûts de codage des blocs le constituant.
Selon une mise en oeuvre particulière, des modes intra sont relatifs au choix des pixels à partir des valeurs desquels sont calculées les 15 valeurs prédites.
Selon une mise en oeuvre particulière, les modes intra des blocs sont au moins les modes intra 16 x 16 et 4 x 4 définis dans la norme H264.
Selon une mise en oeuvre particulière, le coût et/ou le facteur de qualité d'un mode intra pour un bloc d'un macrobloc sont obtenus en effectuant le codage du bloc selon le procédé de codage effectif des blocs lorsque ce mode de codage intra est sélectionné pour le bloc du macrobloc.
Selon une mise en oeuvre particulière, le coût et/ou le facteur de qualité d'un mode intra pour un bloc d'un macrobloc sont obtenus en effectuant une estimation à partir, respectivement, de la syntaxe du flux relative aux données codées selon le mode intra et de la différence entre le bloc source à coder et le bloc prédit selon le mode intra.
L'invention concerne également un dispositif de codage d'une image vidéo en mode inter avec compensation de mouvement ou en mode intra avec compensation spatiale, parmi des modes de codage inter et des modes de codage intra, selon un critère coût et/ou distorsion, caractérisé en ce qu'il comporte - un circuit de codage intra première passe effectuant un codage intra d'une image ou partie d'image pour sélectionner un mode de 35 codage parmi un ensemble de modes de codage intra, - une mémoire pour la mémorisation de l'image ou partie d'image pendant la première passe, - un circuit de décision de codage pour l'image ou partie d'image mémorisée transmise par la mémoire, entre des modes de codage de type inter et le mode de codage de type intra sélectionné transmis par le circuit de codage intra première passe.
La solution proposée consiste à prendre la décision de codage intra dans un contexte de codage intra de toute l'image et de ré-utiliser cette décision intra dans le processus final de décision de codage des images P et B. Ce processus final peut alors se limiter à sélectionner le meilleur mode to de prédiction entre N modes de prédiction inter possibles et 1 mode de prédiction intra, celui sélectionné lors de la première passe de codage.
Grâce à la mise en oeuvre d'une première passe de codage intra de l'image, il n'est plus nécessaire d'attendre la fin de traitement d'un macrobloc pour calculer les coûts de codage du rnacrobloc suivant dans les différents modes intra.
D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent: - la figure 1, des modes de codage intra 4 x 4, selon l'art antérieur, - la figure 2, des modes de codage intra 16 x 16, selon l'art antérieur, - la figure 3, un schéma du circuit de codage, - la figure 4, un schéma du circuit de codage intra première 25 passe.
La figure 3 décrit un dispositif de codage pour la mise en oeuvre du procédé selon l'invention.
Dans l'exemple décrit, la première passe de codage intra est effectuée image par image, générant un retard d'une période image. Les modes intra sélectionnés sont associés à chacun des macroblocs de l'image. De même, l'estimation de mouvement est effectuée pour une image complète, le champ de vecteurs mouvement généré associant des vecteurs mouvement à chaque macrobloc de l'image.
Une séquence d'image est traitée par un circuit de prétraitement, de la séquence, non représenté :sur la figure, qui effectue entre autres la structuration en groupes d'images ou GOP, acronyme de l'expression anglaise Group Of Pictures, le choix du type de chaque image, I, P ou B, c'est à dire intra, prédictionnelle anticipée ou différée ou bien bidirectionnelle, et le réordonnancement des images. Chaque image source de la séquence vidéo, après réordonnancement, est transmise à l'entrée du dispositif représenté sur la figure 3, entrée reliée à un circuit de codage intra première passe référencé 1, à un circuit à retard et de conversion en blocs image référencé 2 et à un circuit d'estimation de mouvement référencé 3.
Le circuit de codage intra première passe 1 effectue un codage en mode intra des blocs de l'image vidéo reçue, qu'elle soit de type I, P ou B. Les différents modes de codage intra 16 x 16 et intra 4 x 4 tels que précédemment décrits, sont ainsi testés pour chacun des macroblocs, le circuit sélectionnant un mode intra 16 x 16 pour le macrobloc ou un mode intra 4 x 4 pour chacun des blocs du macrobloc, à partir d'une fonction coût/facteur de qualité qui prend en considération le coût de codage et la distorsion du macrobloc codé.
Le circuit d'estimation de mouvement 3 reçoit l'image source sur une première entrée et une image reconstruite d'une mémoire d'images reconstruites 11 sur une deuxième entrée. Il associe à chacun des macroblocs de l'image, des vecteurs mouvement correspondant à un calcul de corrélation des blocs du macrobloc de l'image source avec des blocs d'une image reconstruite. Il peut s'agir de l'image précédente ou suivante ou une combinaison des deux selon le type de l'image à coder. Les vecteurs mouvement associés correspondent aux différentes découpes du macrobloc en blocs, ce sont par exemple les vecteurs issus de la corrélation de blocs de taille 16 x 16, 16 x 8, 8 x 8... constituant le macrobloc.
Les informations relatives au mode de codage intra sélectionné lors du codage intra première passe sont transmises à un circuit de décision de codage au niveau macrobloc référencé 4. La fonction de ce circuit est de faire le choix, pour les macroblocs des différentes images de type P ou B, entre le mode de codage intra sélectionné et un mode de codage de type inter.
Le circuit à retard et de conversion en blocs image référencé 2 mémorise chaque image pendant le codage intra première passe. L'image ainsi retardée est également découpée en macroblocs et blocs. Les macroblocs sont transmis à un circuit de décision de codage au niveau macroblocs 4. Egalement, et de manière classique, chaque bloc source 4 x 4 du macrobloc à coder est transmis à un soustracteur 5 qui reçoit, sur une deuxième entrée, le bloc prédit correspondant. Le bloc de luminance 4 x 4 en sortie du soustracteur, appelé bloc d'erreur de prédiction, est transmis à un circuit de transformation cosinus discrète ou DCT entière et de quantification, référencé 6, pour fournir des blocs de coefficients quantifiés ou blocs de résidus, puis à un circuit de codage entropique 7 qui réalise un codage entropique des valeurs quantifiées et sérialisées et à une mémoire tampon 8 en sortie du dispositif. Le taux de remplissage de la mémoire tampon 8 est exploité par un circuit de régulation 9 qui agit sur le pas de quantification du quantificateur 6 pour réguler le débit du flux de données du io codeur.
Lorsque le mode inter est sélectionné par le circuit de décision de codage au niveau macrobloc 4, ce dernier positionne un interrupteur 17 de manière à relier la sortie d'un circuit de compensation de mouvement 16 au soustracteur 5. Le circuit de compensation de mouvement, à partir du mode de codage inter transmis par le circuit de décision de codage au niveau macrobloc et des vecteurs mouvement transmis par le circuit d'estimation de mouvement pour le macrobloc, va chercher, dans la mémoire d'images reconstruites 11, le ou les blocs d'image reconstruits correspondant à ce ou ces vecteurs mouvement pour calculer le bloc prédit 4 x 4 à transmettre sur la deuxième entrée du soustracteur, bloc d'image prédit correspondant au bloc 4 x 4 du macrobloc traité, présent sur la première entrée du soustracteur.
Lorsque le mode intra est sélectionné par le circuit de décision de codage au niveau macrobloc 4, ce dernier positionne l'interrupteur 17 de manière à relier la sortie d'un circuit de compensation spatiale 16 au soustracteur 5. Est alors transmis, sur la deuxième entrée du soustracteur, un bloc d'image prédit correspondant au bloc 4 x 4 du macrobloc traité présent sur la première entrée du soustracteur. Le circuit de compensation spatiale 16 va chercher dans une mémoire de rangée de macroblocs 15, les valeurs de luminance des pixels correspondant au bloc prédit défini par le mode de codage intra sélectionné, mode transmis par le circuit de décision de codage au niveau du macrobloc 4.
Le bloc de coefficients quantifiés en sortie du circuit de transformation cosinus discrète et quantification 6 est également transmis à un circuit de quantification inverse et transformation cosinus discrète inverse référencé 12 pour fournir un bloc de luminance. A. ce bloc est ajouté le bloc prédit, par l'intermédiaire d'un additionneur 13. Le bloc ainsi reconstruit est transmis à un mémoire de rangées de macroblocs 15 qui mémorise la dernière rangée de macroblocs. Il est également transmis à un filtre 14 qui atténue les effets de bloc. Le bloc filtré est mémorisé dans la mémoire d'images reconstruites 11.
Le circuit de codage intra première passe 1 peut baser la sélection du meilleur mode intra, lors de cette passe de codage intra, sur différents modèles, par exemple sur un codage réel, c'est le modèle a posteriori ou bien sur une estimation du doublet coût/distorsion, c'est le io modèle à priori .
Dans le premier cas, un module de décision de mode intra du circuit de codage intra première passe effectue un codage complet de chaque bloc 4 x 4 en utilisant les 9 modes intra 4 x 4 possibles et les 4 modes intra 16 x 16. Pour chaque mode intra 4 x 4 de chaque bloc du macrobloc, un coût de codage est calculé ainsi qu'une distorsion fonction de la différence entre le bloc source et le bloc reconstruit. Le mode correspondant au meilleur compromis coût / distorsion est choisi pour chacun des blocs du macrobloc. Le coût et la distorsion de codage au niveau du macrobloc global correspondant à la cornbinaison des modes intra 4 x 4 choisis est ensuite comparé au coût et distorsion pour les modes intra 16 x 16. Ce module est donc constitué d'un ensemble de blocs dont les fonctions réalisent les différentes opérations de codage intra, entre autres un soustracteur, un circuit de calcul de DCT et un quantificateur pour fournir des résidus, des circuits inverses de DCT et quantification, un additionneur pour reconstruire le bloc, une mémoire, une compensation de mouvement pour calculer le bloc prédit comme décrit plus loin en regard de la figure 4.
Dans le deuxième cas, le modèle à priori, le module de décision de mode intra se contente d'estimer le coût de codage/distorsion sans effectuer un calcul du bloc reconstruit, à parti de l'erreur de prédiction.
Une telle solution est proposée dans le modèle de référence du standard AVC. Les valeurs de prédiction sont extraites du bloc source et non du bloc reconstruit. Par exemple, la fonction SATD, acronyme de l'expression anglaise Sum of Absolute Transform Difference, est utilisée. Les différents modes de codage intra 4 x 4 et 16 x 16 sont mis en oeuvre pour donner, pour chacun des blocs 4 x 4 constituant le macrobloc, des erreurs de prédiction en soustrayant aux luminances sources les luminances prédites correspondant à ces modes. Une transformée de Hadamard des blocs d'erreurs de prédiction fournit ensuite des coefficients ou résidus qui sont sommés en valeur absolue. II est également possible d'effectuer la somme des carrés des erreurs de prédiction. La somme obtenue est indicative, en première approximation, de la distorsion. Le calcul du coût peut se limiter à celui de la syntaxe, c'est à dire les entêtes du macrobloc, sans prendre en compte le coût de codage des coefficients. Ce module comprend, entre autres, un soustracteur, un circuit de calcul de transformée.
De même que pour la sélection du mode de codage intra dans la première passe de codage intra, la sélection du meilleur mode de codage inter/intra, réalisée par le circuit de décision de codage au niveau macrobloc 4, peut être basée sur un codage réel ou sur une estimation du couple coût/distorsion.
Dans le premier cas, codage réel, le circuit comprend l'ensemble des blocs précédemment décrits permettant de calculer le coût de codage inter et intra et donc les blocs prédits du macrobloc et les résidus. II s'agit, entre autres, d'un soustracteur, un circuit de calcul de DCT, un quantificateur, des circuits inverses de DCT et quantification, un additionneur pour reconstruire le bloc et macrobloc, une compensation de mouvement pour calculer le bloc prédit. En ce qui concerne plus particulièrement le mode intra, le calcul du bloc de prédiction est en effet nécessaire, si l'on souhaite un calcul précis, car différent du bloc de prédiction calculé lors de la première passe pour ce bloc et mode intra sélectionné. Le mode intra première passe effectue un codage intra pur, c'est à dire que l'ensemble des macroblocs de l'image sont codés en mode intra. Le mode effectif de codage choisi par le circuit de décision de codage au niveau macrobloc peut être le mode inter ou intra et il est donc tout à fait possible que les valeurs de prédiction pour le calcul du mode intra soient issues de macroblocs codés en mode inter et donc de valeurs reconstruites différentes de celles calculées lors de la première passe.
Dans le deuxième cas, valeurs estimées, le coût et la distorsion peuvent être estimées respectivement sur le seul coût de la syntaxe et sur la différence entre un bloc source et le bloc de prédiction. Toutefois, dans une variante permettant une architecture simplifiée, l'estimation de la distorsion, pour le mode intra, peut se faire en exploitant les valeurs de prédiction du bloc source et non du bloc reconstruit, en utilisant les informations coût/distorsion calculées par le circuit de codage intra première passe pour le mode intra sélectionné.
Un circuit de codage intra première passe 1 selon le modèle 5 a posteriori est maintenant décrit à l'aide de la figure 4.
L'entrée du circuit est alimentée par l'image source. Un circuit de conversion en blocs image fournit des blocs de dimensions 4 x 4 pixels au circuit soustracteur 22 qui alimente le circuit de transformation cosinus discrète et de quantification 23. Ce circuit est relié au circuit de codage to entropique 24 et au circuit de quantification inverse et transformation inverse 25. Un bloc prédit est transmis sur la deuxième entrée du soustracteur 22. Le circuit de quantification inverse et transformation cosinus discrète inverse 25 réalise les opérations inverses du circuit 23. L'additionneur 26 reçoit le bloc codé puis décodé provenant du circuit 25 sur une première entrée et le 1s bloc prédit sur une deuxième entrée pour fournir, en sa sortie un bloc intra reconstruit.
Ce bloc d'image intra est mémorisé dans une mémoire de rangées de macroblocs 27. Un circuit de compensation spatiale 28 va chercher dans la mémoire 27, en fonction du mode de codage intra à tester reçu d'un circuit de décision de codage intra au niveau macrobloc référencé 21, les valeurs de prédiction du bloc à tester se trouvant sur la première entrée du circuit soustracteur 22, pour le calcul du bloc prédit présenté sur le deuxième entrée du soustracteur 22. Le circuit de décision de codage intra 21 passe en revue les différents modes de codage intra au niveau du macrobloc. II reçoit du circuit de codage entropique le flux de donnée permettant le calcul du coût de codage à partir de Ila syntaxe.
L'estimation de mouvement décrite est effectuée sur l'image complète pendant le codage intra 1 ére passe. Il est tout aussi envisageable de réaliser cette estimation de mouvement de manière plus classique, macrobloc par macrobloc, lors du codage du macrobloc.
De même, la première passe intra est effectuée, selon la description précédente, image par image. II est tout aussi envisageable de réaliser cette première passe, rangée de macroblocs par rangée de macroblocs. Si la norme exploitée permet une partition de l'image en paires de macroblocs, comme décrit par exemple au paragraphe 6.3 intitulé calculation of the macroblock address du document ITU -T Rec. H.264 (2002 E), le traitement première passe se fait alors par deux rangées de macroblocs. Le retard occasionné par ce traitement dit première passe correspond alors non plus à une image complète niais à une rangée ou deux rangées de macroblocs. Le circuit à retard 2 permet de mémoriser l'image courante à coder, la ou les rangées de macroblocs à coder pendant le traitement ou préanalyse relatif à la première passe. Le retard correspond donc à la durée d'une image, d'une ou deux rangées de macroblocs dans ces exemples. C'est pendant la mémorisation de l'image, de la rangée ou des rangées de macroblocs qu'est réalisé le codage effectif de l'image précédente, de la rangée ou des rangées précédentes, codage comportant l'étape de décision de codage au niveau macrobloc.
Le partitionnement d'un macrobloc en blocs d'images a été décrit pour des blocs de dimensions 4 x 4 pixels. Tout partitionnement du macrobloc en des blocs de dimensions autres, pour la définition de modes intra, fait partie du domaine de l'invention, invention qui a d'ailleurs d'autant plus d'intérêt que le nombre de modes intra possibles d'un macrobloc, qui est au moins égal au nombre de combinaisons possibles des modes intra des blocs constituant le macrobloc, est important. Il est bien sûr également envisageable de considérer des modes correspondant à des découpes du macrobloc en blocs de tailles différentes entre eux. Le standard MPEG4 AVC propose un profil appelé high profile qui permet le codage de blocs de dimensions 8 x 8 de manière semblable aux 9 rnodes de prédiction intra 4 x 4 décrits.
Selon les exemples de réalisation, l'image source est partitionnée en macroblocs d'image, un macrobloc étant défini par la norme MPEG. Il s'agit bien sûr d'exemples et l'invention s'applique également à tout type de partitionnement de l'image en blocs d'image, un macrobloc devant alors être considéré de façon plus générale, c'est à dire comme un ensemble de blocs, chaque bloc pouvant être l'objet d'un mode de codage intra particulier, la combinaison de ces modes définissant le mode de codage intra pour le macrobloc.
Les pertes de qualité de codage dues à la mise en oeuvre du procédé restent mesurées. Ce dernier permet de paralléliser les processus de décisions et de supprimer, le cas échéant, le lien de causalité contraignant existant entre un macrobloc et son entourage pour le calcul de la prédiction intra.
Le domaine de l'invention est celui des schémas de codage reposant sur l'utilisation de compensation de mouvement et de compensation spatiale. En particulier, il comprend le standard MPEG-4 AVC et les architectures matériel permettant le développement de produits de codage temps réel d'images de télévision standarcl.
Le procédé proposé ne remet pas en cause l'intégrité du flux produit, puisqu'il affecte le processus de sélection du mode de codage mais pas le codage lui-même. En particulier, si le mode de codage intra est finalement retenu dans le processus de décisions inter / intra, le macrobloc to ou bloc sera codé en utilisant les pixels voisins précédemment codés et décodés, de façon à respecter le standard.
Claims (9)
12 REVENDICATIONS
1 Procédé de codage d'une image vidéo en mode inter ou intra 5 comportant - une étape de conversion de l'image en macroblocs d'image -une étape de sélection (4), pour un macrobloc courant, en fonction d'un critère coût et/ou facteur de qualité, d'un mode de codage au moins parmi des modes inter dépendant d'une découpe du macrobloc en blocs et exploitant une compensation en mouvement (10) de ces blocs dans une ou des images précédemment codées et des modes intra dépendant d'une découpe du macrobloc en blocs et exploitant la compensation spatiale (16) de ces blocs dans l'image, compensations utilisées pour le calcul de valeurs prédites et de résidus correspondant à coder, un mode de codage inter ou intra d'un macrobloc correspondant à la combinaison des modes de codage inter ou intra des blocs constituant le macrobloc, caractérisé en ce que l'étape de sélection (4) est décomposée en deux étapes séquentielles, une étape de présélection (1) du mode de codage intra pour présélectionner un mode intra pour le macrobloc courant parmi les modes de codage intra, et en une étape de décision de codage, partie du codage effectif du macrobloc courant (4), pour sélectionner le mode de codage du macrobloc courant parmi les modes inter et le mode intra présélectionné et en ce que l'étape de présélection pour le macrobloc courant (1) est effectuée pendant l'étape de décision de codage pour un macrobloc précédent (4).
2 Procédé selon la revendication 1, caractérisé en ce que le macrobloc précédent appartient à une image précédente et le macrobloc courant appartient à une image courante, l'image courante étant mémorisée (2) pendant le codage effectif des macroblocs de l'image précédente.
3 Procédé selon la revendication 1, caractérisé en ce que le macrobloc précédent appartient à une rangée précédente de macroblocs de l'image courante et le macrobloc courant appartient à une rangée courante de macroblocs, la rangée courante de macroblocs étant mémorisée (2) pendant le codage effectif des macroblocs d'une rangée précédente.
4 Procédé selon la revendication 1, caractérisé en ce que l'étape de présélection (1) comporte une ou des découpes des macroblocs de l'image en blocs de différentes tailles sur lesquels sont effectuées les compensations spatiales pour le calcul des résidus, le coût de codage du macrobloc étant la somme des coûts de codage des blocs le constituant.
io 5 Procédé selon la revendication 1, caractérisé en ce que des modes intra sont relatifs au choix des pixels à partir des valeurs desquels sont calculées les valeurs prédites.
6 Procédé selon la revendication 1, caractérisé en ce que les 15 modes intra des blocs, sont au moins les modes intra 16 x16 et 4 x 4 définis dans la norme H264.
7 Procédé selon la revendication 1, caractérisé en ce que le coût et/ou le facteur de qualité d'un mode intra pour un bloc d'un macrobloc sont obtenus en effectuant le codage du bloc selon le procédé de codage effectif des blocs lorsque ce mode de codage intra est sélectionné pour le bloc du macrobloc.
8 Procédé selon la revendication 1, caractérisé en ce que le coût et/ou le facteur de qualité d'un mode intra pour un bloc d'un macrobloc sont obtenus en effectuant une estimation à partir, respectivement, de la syntaxe du flux relative aux données codées selon le mode intra et de la différence entre le bloc source à coder et le bloc prédit selon le mode intra.
9 Dispositif de codage d'une image vidéo en mode inter avec compensation de mouvement ou en mode intra avec compensation spatiale, parmi des modes de codage inter et des modes de codage intra, selon un critère coût et/ou distorsion, caractérisé en ce qu'il comporte - un circuit de codage intra première passe (1) effectuant un 35 codage intra d'une image ou partie d'image pour sélectionner un mode de codage parmi un ensemble de modes de codage intra, - une mémoire (2) pour la mémorisation de l'image ou partie d'image pendant la première passe - un circuit de décision de codage (4) pour l'image ou partie d'image mémorisée transmise par la mémoire, entre des modes de codage de type inter et le mode de codage de type intra sélectionné transmis par le circuit de codage intra première passe. io
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0550396A FR2881898A1 (fr) | 2005-02-10 | 2005-02-10 | Procede et dispositif de codage d'une image video en mode inter ou intra |
CN200610006944A CN100593955C (zh) | 2005-02-10 | 2006-01-26 | 用于以帧间或帧内模式编码视频图像的方法和设备 |
US11/345,108 US8000389B2 (en) | 2005-02-10 | 2006-01-31 | Method and device for coding a video picture in inter or intra mode |
MYPI20060440A MY144150A (en) | 2005-02-10 | 2006-02-03 | Method and device for coding a video picture in inter or intra mode |
DE602006021248T DE602006021248D1 (de) | 2005-02-10 | 2006-02-07 | Verfahren und Vorrichtung zur Kodierung eines Videobildes in Inter- oder Intramode |
KR1020060011558A KR101210528B1 (ko) | 2005-02-10 | 2006-02-07 | 인터 또는 인트라 모드에서 비디오 화상을 코딩하기 위한 방법 및 디바이스 |
EP06101385A EP1691559B1 (fr) | 2005-02-10 | 2006-02-07 | Méthode et dispositif pour le codage d'une image vidéo en mode inter ou intra |
JP2006031128A JP5100015B2 (ja) | 2005-02-10 | 2006-02-08 | 画面間又は画面内符号化モードの動画像符号化方法及び装置 |
TW095104470A TWI366399B (en) | 2005-02-10 | 2006-02-10 | Method and device for coding a video picture in inter or intra mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0550396A FR2881898A1 (fr) | 2005-02-10 | 2005-02-10 | Procede et dispositif de codage d'une image video en mode inter ou intra |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2881898A1 true FR2881898A1 (fr) | 2006-08-11 |
Family
ID=34954044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0550396A Pending FR2881898A1 (fr) | 2005-02-10 | 2005-02-10 | Procede et dispositif de codage d'une image video en mode inter ou intra |
Country Status (9)
Country | Link |
---|---|
US (1) | US8000389B2 (fr) |
EP (1) | EP1691559B1 (fr) |
JP (1) | JP5100015B2 (fr) |
KR (1) | KR101210528B1 (fr) |
CN (1) | CN100593955C (fr) |
DE (1) | DE602006021248D1 (fr) |
FR (1) | FR2881898A1 (fr) |
MY (1) | MY144150A (fr) |
TW (1) | TWI366399B (fr) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8824567B2 (en) * | 2007-04-04 | 2014-09-02 | Ittiam Systems (P) Ltd. | Method and device for tracking error propagation and refreshing a video stream |
JP4799477B2 (ja) * | 2007-05-08 | 2011-10-26 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
KR101396365B1 (ko) | 2007-08-28 | 2014-05-30 | 삼성전자주식회사 | 영상의 시공간적 움직임 추정/보상 방법 및 장치 |
CA2701893C (fr) * | 2007-10-15 | 2015-09-29 | Nippon Telegraph And Telephone Corporation | Dispositif de codage d'image et dispositif de decodage d'image, procede de codage d'image et procede de decodage d'image, programme pour les dispositifs et les procedes, et programme d'enregistrement de support d'enregistrement |
FR2925819A1 (fr) * | 2007-12-21 | 2009-06-26 | Thomson Licensing Sas | Procede de codage double passe par macrobloc |
CN101217663B (zh) * | 2008-01-09 | 2010-09-08 | 上海华平信息技术股份有限公司 | 用于编码器的图像像素块编码模式的快速选择方法 |
US8750378B2 (en) * | 2008-09-23 | 2014-06-10 | Qualcomm Incorporated | Offset calculation in switched interpolation filters |
US9479786B2 (en) | 2008-09-26 | 2016-10-25 | Dolby Laboratories Licensing Corporation | Complexity allocation for video and image coding applications |
US8406297B2 (en) | 2008-10-17 | 2013-03-26 | Futurewei Technologies, Inc. | System and method for bit-allocation in video coding |
US9432674B2 (en) * | 2009-02-02 | 2016-08-30 | Nvidia Corporation | Dual stage intra-prediction video encoding system and method |
KR20100095992A (ko) | 2009-02-23 | 2010-09-01 | 한국과학기술원 | 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 |
FR2944936A1 (fr) * | 2009-04-23 | 2010-10-29 | Thomson Licensing | Procedes de codage et de decodage d'un bloc de donnees images, dispositifs de codage et de decodage implementant lesdits procedes |
KR101648123B1 (ko) * | 2011-08-31 | 2016-08-18 | 한국과학기술원 | 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 |
GB2495990A (en) * | 2011-10-28 | 2013-05-01 | Canon Kk | Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set. |
JP6507047B2 (ja) * | 2015-02-10 | 2019-04-24 | 日本放送協会 | 送信装置、受信装置、及び半導体チップ |
KR20170058837A (ko) | 2015-11-19 | 2017-05-29 | 한국전자통신연구원 | 화면내 예측모드 부호화/복호화 방법 및 장치 |
KR20170058871A (ko) * | 2015-11-19 | 2017-05-29 | 한국전자통신연구원 | 화면내 예측 모드 부호화/복호화 방법 및 장치 |
CN109640081B (zh) * | 2019-02-14 | 2023-07-14 | 深圳市网心科技有限公司 | 一种帧内预测方法、编码器、电子设备及可读存储介质 |
CN111586416B (zh) * | 2020-06-02 | 2024-07-12 | 浙江大华技术股份有限公司 | 视频编码方法、装置、编码器及存储装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2851111A1 (fr) * | 2003-02-10 | 2004-08-13 | Nextream France | Dispositif de codage d'un flux de donnees video |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2813001B1 (fr) * | 2000-08-11 | 2002-12-20 | Thomson Multimedia Sa | Procede de conversion de format couleur d'une sequence d'images |
KR100358159B1 (ko) | 2000-12-01 | 2002-10-25 | 에스케이 텔레콤주식회사 | 영상 압축 시스템에서 매크로블록 압축모드 선택 방법 |
WO2003026315A1 (fr) * | 2001-09-14 | 2003-03-27 | Ntt Docomo, Inc. | Procede de codage, procede de decodage, appareil de codage, appareil de decodage, systeme de traitement d'image, programme de codage, et programme de decodage |
JP2004140473A (ja) * | 2002-10-15 | 2004-05-13 | Sony Corp | 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法 |
JP2004304724A (ja) * | 2003-04-01 | 2004-10-28 | Sony Corp | 画像処理装置とその方法、並びに符号化装置 |
KR100987765B1 (ko) * | 2003-09-30 | 2010-10-13 | 삼성전자주식회사 | 동영상 부호화기에서의 예측 수행 방법 및 장치 |
TWI245539B (en) * | 2004-09-22 | 2005-12-11 | Sony Taiwan Ltd | Spatial domain pre-processing to reduce the intra-coding computation complexity |
-
2005
- 2005-02-10 FR FR0550396A patent/FR2881898A1/fr active Pending
-
2006
- 2006-01-26 CN CN200610006944A patent/CN100593955C/zh active Active
- 2006-01-31 US US11/345,108 patent/US8000389B2/en active Active
- 2006-02-03 MY MYPI20060440A patent/MY144150A/en unknown
- 2006-02-07 KR KR1020060011558A patent/KR101210528B1/ko active IP Right Grant
- 2006-02-07 EP EP06101385A patent/EP1691559B1/fr active Active
- 2006-02-07 DE DE602006021248T patent/DE602006021248D1/de active Active
- 2006-02-08 JP JP2006031128A patent/JP5100015B2/ja not_active Expired - Fee Related
- 2006-02-10 TW TW095104470A patent/TWI366399B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2851111A1 (fr) * | 2003-02-10 | 2004-08-13 | Nextream France | Dispositif de codage d'un flux de donnees video |
Non-Patent Citations (1)
Title |
---|
T. WIEGAND (EDITOR): "TEXT OF FINAL COMMITTEE DRAFT OF JOINT VIDEO SPECIFICATION (ITU-T REC. H.264 / ISO/IEC 14496-10 AVC)", DRAFT ISO/IEC 14496-10:2002, July 2002 (2002-07-01), pages 67 - 72, XP002319332 * |
Also Published As
Publication number | Publication date |
---|---|
EP1691559B1 (fr) | 2011-04-13 |
EP1691559A1 (fr) | 2006-08-16 |
CN100593955C (zh) | 2010-03-10 |
MY144150A (en) | 2011-08-15 |
CN1819658A (zh) | 2006-08-16 |
US20060176956A1 (en) | 2006-08-10 |
TW200633538A (en) | 2006-09-16 |
KR101210528B1 (ko) | 2012-12-10 |
JP5100015B2 (ja) | 2012-12-19 |
TWI366399B (en) | 2012-06-11 |
JP2006222968A (ja) | 2006-08-24 |
US8000389B2 (en) | 2011-08-16 |
KR20060090749A (ko) | 2006-08-16 |
DE602006021248D1 (de) | 2011-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2881898A1 (fr) | Procede et dispositif de codage d'une image video en mode inter ou intra | |
KR100955152B1 (ko) | 비디오 인코딩을 위한 다차원 인접 블록 예측 | |
EP2225888B1 (fr) | Procédé de codage double passe par macrobloc | |
EP0675652B1 (fr) | Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit | |
US8718138B2 (en) | Image encoding apparatus and image encoding method that determine an encoding method, to be used for a block to be encoded, on the basis of an intra-frame-prediction evaluation value calculated using prediction errors between selected reference pixels and an input image | |
FR2725577A1 (fr) | Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede | |
JP2009528798A (ja) | アーチファクト評価による向上した画像/ビデオ品質 | |
US20040202249A1 (en) | Real-time MPEG video encoding method of maintaining synchronization between video and audio | |
EP2036358A1 (fr) | Procédé et appareil de codage/décodage d'image | |
EP3318061B1 (fr) | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede | |
JP2007134755A (ja) | 動画像符号化装置及び画像記録再生装置 | |
JP5130245B2 (ja) | 撮影解像度予測型動画像符号化装置および復号装置 | |
US20080025402A1 (en) | Method of detecting scene conversion for controlling video encoding data rate | |
US20160142716A1 (en) | Video coder with simplified rate distortion optimization and methods for use therewith | |
EP3941045A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
FR2996093A1 (fr) | Procede de codage et decodage d'images, dispositifs de codage et decodage et programmes d'ordinateur correspondants | |
EP2633687B1 (fr) | Codage et décodage vidéo a partir d'un épitome | |
Chung et al. | A high performance lossless bayer image compression scheme | |
US20170280154A1 (en) | Signal processing apparatus, imaging apparatus, and signal processing method | |
US20120230425A1 (en) | Encoding apparatus and method of conversion block for increasing video compression efficiency | |
FR2956552A1 (fr) | Procede de codage ou de decodage d'une sequence video, dispositifs associes | |
JPH08140095A (ja) | 符号化装置 | |
FR2918203A1 (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. | |
WO2007119021A2 (fr) | Procede et dispositif de codage d ' une image | |
JP2004120620A (ja) | 符号化動画像変換装置 |