FR2872973A1 - Procede ou dispositif de codage d'une sequence d'images sources - Google Patents

Procede ou dispositif de codage d'une sequence d'images sources Download PDF

Info

Publication number
FR2872973A1
FR2872973A1 FR0451445A FR0451445A FR2872973A1 FR 2872973 A1 FR2872973 A1 FR 2872973A1 FR 0451445 A FR0451445 A FR 0451445A FR 0451445 A FR0451445 A FR 0451445A FR 2872973 A1 FR2872973 A1 FR 2872973A1
Authority
FR
France
Prior art keywords
coding
image
frame
motion
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0451445A
Other languages
English (en)
Inventor
Yannick Olivier
Edouard Francois
Franck Hiron
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to FR0451445A priority Critical patent/FR2872973A1/fr
Priority to US11/170,574 priority patent/US7801218B2/en
Priority to EP05105956A priority patent/EP1622388A1/fr
Priority to CNA2005100821894A priority patent/CN1719735A/zh
Priority to KR1020050060254A priority patent/KR101192026B1/ko
Priority to MXPA05007297A priority patent/MXPA05007297A/es
Priority to JP2005197950A priority patent/JP4851741B2/ja
Publication of FR2872973A1 publication Critical patent/FR2872973A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

Le procédé est caractérisé en ce que la phase de préanalyse (6) effectue des calculs de niveaux de corrélation de blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés lors de cette phase et correspondant aux blocs pour imposer, lors de l'étape de décision de mode de codage (13) et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation.

Description

L'invention concerne un procédé ou dispositif de codage d'une séquence
d'images sources, plus particulièrement un procédé comprenant une phase de préanalyse avec estimation de mouvement de type pel-récursif et une
phase de codage proprement dite avec estimation de mouvement de type appariement par blocs.
Le domaine est celui de la compression vidéo. On s'intéresse en particulier aux schémas de compression par blocs réalisant un codage adaptatif image/trame au niveau image ou au niveau bloc, codage apportant un gain substantiel en compression. Il s'agit par exemple du standard mpeg4 part-10 (H264). Dans ces schémas classiquement mis en oeuvre, la décision de codage imageltrame au niveau macrobloc est prise au sein de la boucle de codage, introduisant une complexité double par rapport à un codeur non adaptatif qui ne fonctionnerait qu'en mode image ou en mode trame. Cette fonctionnalité est d'un coût élevé en termes de réalisation.
Cette décision de codage dépend, entre autres, de la corrélation temporelle et donc des estimations de mouvement effectuées par le circuit de codage pour le codage prédictif, généralement du type appariement par bloc, connus sous l'appellation anglaise block matching et du type hiérarchique.
Par exemple dans le cas d'un estimateur de mouvement hiérarchique de type block-matching pour un codeur compatible de la norme H264 ou MPEG4 part 10, un champ de vecteurs mouvement est calculé pour chaque taille de bloc (4x4, 4x8, 8x4, 8x8, 8x16, 16x8, 16x16) et pour chaque image de référence. Dans le cas du codage par paire de macroblocs, connu sous l'appellation MBAFF, acronyme de l'anglais MacroBlock Adaptive Frame Field, l'estimateur fournit, par macrobloc, 1 champ de vecteurs mouvement pour l'image bi-trame, 2 champs de vecteurs mouvement pour les trames. Ainsi, pour des macroblocs de taille 16x16, 41 x 3 vecteurs mouvement peuvent être calculés pour chaque image de référence, ce nombre étant multiplié si plusieurs images de référence sont exploitées, tel que dans le mode multi-références. Le choix parmi cette multiplicité de possibilités de codage est très coûteux en terme de calculs.
D'autre part, dans l'exemple de la norme H264, la décision de codage image bi-trame ou trame peut être effectuée indépendamment pour chaque paire verticale de macroblocs dans l'image, de dimensions 16x32 pour le bloc luminance. Cette option de codage est connue sous l'appellation MBAFF, acronyme de l'anglais macroblock-adaptive framelfield coding . Pour une paire de macroblocs codée en mode image bi-trame, chaque macrobloc contient des lignes de l'image entrelacée. Pour une paire de macroblocs codée en mode trame, le macrobloc supérieur contient les lignes de la trame supérieure ou trame impaire et le macrobloc inférieur contient les lignes de la trame inférieure ou trame paire.
La décision de mode de codage, pouvant être basée sur la mesure du coût de codage et de la distorsion associée au mode, est effectuée au niveau de la paire de macroblocs et non au niveau du macrobloc comme pour la norme MPEG2 alors que les corrélations sont calculées au niveau de chaque macrobloc, multipliant ainsi les combinaisons possibles et donc la charge de calcul.
Une solution, pour réduire les calculs, consiste à effectuer un choix entre trames et bi-trame pour les images de faible résolution, pour limiter les calculs aux résolutions supérieures. Ces choix prématurés, effectués dans les niveaux hauts de la pyramide et donc à des résolutions plus faibles que celle des images sources, ne donnent pas de bons résultats, du fait de la définition verticale insuffisante, une sélection trame supérieure, trame inférieure correspondant à un décalage d'une ligne.
L'invention a pour but de pallier les inconvénients précités.
A cet effet, un des objets de l'invention est un procédé de codage d'une séquence d'images sources comprenant une phase de préanalyse avec estimation de mouvement de type pel-récursif entre l'image courante et une image de référence et une phase de codage proprement dite par blocs d'image, avec une étape d'estimation de mouvement par appariement de blocs, entre l'image courante et l'image de référence, puis une étape de décision de mode de codage tel que le mode intra, le mode inter entre trames de même parité ou de parité opposée ou entre bi-trames, caractérisé en ce que la phase de préanalyse effectue des calculs de niveaux de corrélation de blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés lors de cette phase et correspondant aux blocs pour imposer, lors de l'étape de décision de mode de codage et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi- trames, en fonction des niveaux de corrélation.
Selon une mise en oeuvre particulière, le codage inter entre trames est imposé lorsque le niveau de corrélation entre trames de parité opposées est inférieur au niveau de corrélation entre trames de même parité.
Selon une mise en oeuvre particulière, la phase de préanalyse effectue également des calculs de corrélation d'un bloc bi-trame de l'image courante avec un bloc bi-trame d'une image de référence pour déterminer le mode de codage inter entre trames ou entre images bi-trames en fonction des niveaux de corrélation.
Selon une mise en oeuvre particulière, le calcul de corrélation 10 consiste en un calcul de la valeur DFD suivante: i, j=15 DFD = pix, (i, j) pixpred (i, J)I i,j=0 pixc(i,j) correspondant à la valeur de luminance d'un pixel de la ligne i et colonne j d'un bloc courant, pixpred(i, j) correspondant à la valeur de luminance d'un pixel de la 15 ligne i et colonne j d'un bloc désigné par le vecteur mouvement dans l'image de référence ou bloc prédit.
Selon une mise en oeuvre particulière, un bloc d'image est partitionné en bloc supérieur et bloc inférieur, le bloc supérieur correspondant à la trame supérieure et le bloc inférieur à la trame inférieure, ou inversement, le mode inter entre trames consistant en un choix de la trame reconstruite supérieure ou inférieure de l'image de référence pour chacun des blocs supérieur et inférieur et ce choix étant fonction des mesures de corrélation sur l'ensemble du bloc d'image.
Selon une mise en oeuvre particulière, la phase de préanalyse comporte une étape de réduction de bruit par filtrage compensé en mouvement à partir du mouvement calculé par l'estimation de mouvement de type pelrécursif.
Selon une mise en oeuvre particulière, l'estimation de mouvement par appariement de blocs est du type hiérarchique.
Selon une mise en oeuvre particulière, l'estimation de mouvement de type pel-récursif est effectuée sur une image source de plus faible résolution.
Selon une mise en oeuvre particulière, les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont ceux 35 calculés pour les pixels relatifs aux blocs.
Selon une mise en oeuvre particulière, les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont obtenus à partir de la valeur médiane ou bien valeur moyenne des composantes des vecteurs mouvement calculés pour les pixels relatifs aux blocs.
Selon une mise en oeuvre particulière, les calculs de corrélation sont effectués sur plusieurs images de référence et la phase de préanalyse effectue une sélection d'une ou des images de référence en fonction des valeurs de corrélation.
L'invention concerne également un dispositif de codage comprenant un circuit de préanalyse avec un estimateur de mouvement de type pelrecursif et un circuit de codage proprement dit par blocs d'image comportant un estimateur de mouvement par appariement de blocs d'images relié à un circuit de décision de mode de codage, caractérisé en ce que le circuit de préanalyse effectue des calculs de corrélation des blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés par l'estimateur de mouvement de type pel-récursif pour imposer au circuit de décision de mode de codage et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation.
Selon une mise en oeuvre particulière, les informations de mode de codage du circuit de préanalyse sont transmises au circuit d'estimation de mouvement par appariement de blocs pour définir une estimation de mouvement sur les trames et/ou l'image bi-trame relatives à l'image reconstruite.
Une présélection du mode de codage image bi-trame ou trame est effectuée en amont de la boucle de codage en utilisant les champs de vecteurs mouvement calculés par l'estimateur de mouvement du circuit de filtrage compensé en mouvement réalisant, en amont du codage proprement dit, une réduction de bruit sur l'image source.
Ainsi, la complexité de mise en oeuvre du codage adaptatif image bitrame/trame au niveau macrobloc est réduite. Les calculs du circuit de 35 décision de codage du module de codage sont simplifiés.
D'autres particularités et avantages de l'invention apparaîtront clairement dans la description donnée à titre d'exemple non limitatif et faite en regard des figures annexées représentant: - la figure 1, un synoptique d'un codeur selon l'invention, - la figure 2, 5 vecteurs mouvement calculés par l'estimateur de mouvement du circuit de préanalyse, dans une première solution, - la figure 3, 4 vecteurs mouvement calculés par l'estimateur de mouvement du circuit de préanalyse, dans une seconde solution.
Les données vidéo numériques de l'image source sont reçues en entrée du codeur pour être transmises à un circuit de préanalyse 6. Les images sont filtrées et transmises, par bloc d'image, à une première entrée d'un soustracteur 1. Selon le mode de codage, intra ou inter, le soustracteur 1 transmet l'information relative au bloc courant reçue sur sa première entrée ou bien soustrait à cette dernière les informations correspondant à un bloc prédit disponibles sur sa deuxième entrée. Les données en sortie du soustracteur sont transmises à un circuit de transformation cosinus discrète et quantification 2. Les coefficients quantifiés en sortie de ce circuit subissent un codage entropique à travers le codeur entropique 3 puis sont mémorisées dans une mémoire tampon 4. Le niveau de remplissage de cette mémoire est transmis à un circuit de régulation de débit 5, qui reçoit également des données du circuit de préanalyse, et qui agit sur le pas de quantification du quantificateur 2.
L'image courante est reconstruite pour fournir des blocs prédits. Ainsi, les coefficients quantifiés subissent une quantification inverse et une transformation cosinus discrète inverse à travers le circuit référencé 7 pour donner des valeurs de luminance décodées.
L'additionneur 8 permet d'ajouter le bloc prédit au bloc de coefficients décodé, s'il est codé en mode inter. Le bloc reconstruit est filtré par le circuit de filtrage 9 avant d'être mémorisé dans une mémoire image 10 qui 30 mémorise l'image courante reconstruite.
Un estimateur de mouvement hiérarchique 11 reçoit les informations relatives à l'image décodée ou reconstruite mémorisée par la mémoire d'image 10 et les informations relatives au macrobloc courant de l'image source provenant du circuit de préanalyse 6. II effectue un calcul de corrélation entre ce macrobloc courant et l'image reconstruite selon un principe connu, pour fournir les vecteurs mouvement. Ces vecteurs sont transmis à un circuit de décision de codage 13 qui effectue des calculs de coûts de codage pour déterminer le mode de codage. Ce mode de codage et, le cas échéant, les vecteurs mouvement correspondants sont transmis à un circuit de compensation de mouvement 12 qui réalise la compensation de mouvement de l'image reconstruite pour fournir un bloc d'image prédit provenant de cette image reconstruite. Les vecteurs de mouvement sont également transmis au circuit de codage entropique 3 pour leur codage et transmission au décodeur.
De manière plus détaillée, en entrée du codeur se trouve un circuit de préanalyse 6 comportant un circuit de réduction de résolution, un circuit d'estimation de mouvement de type pel-récursif et un circuit de filtrage. Ces circuits permettent de procéder à une réduction de bruit sur l'image avant son codage. Dans ce domaine, il est reconnu qu'une estimation de mouvement de type pel-récursif est plus adaptée à la réduction de bruit qu'une estimation de mouvement par blocs. C'est donc ce type d'algorithme qui est mis en oeuvre dans cette phase de préanalyse du codeur.
Selon l'invention, le circuit de préanalyse effectue des calculs de corrélation pour fournir des informations de décision de codage image/trame au circuit de décision de mode de codage 13. Il réalise une présélection du mode trame/image bi-trame afin d'alléger les calculs réalisés par le module de décision, comme indiqué plus loin.
Les images sources de la séquence d'images reçue en entrée du codeur sont sous-échantillonnées et éventuellement interpolées par le circuit de préanalyse pour fournir des images de plus faible résolution spatiale. L'estimation de mouvement de type pel-récursif est réalisée par ce circuit de préanalyse, préalablement à l'encodage effectif des images. Elle est donc calculée par pixel sur une image de plus faible résolution, de taille divisée par deux en horizontal et vertical dans notre exemple. Cette estimation peut également fournir, à l'avance, un certain nombre d'indications utiles pour le module d'encodage, telles que détection de zones en mouvement, de zones non prédictibles, direction de prédiction privilégiée...
Un filtrage compensé en mouvement, à partir de cette estimation de mouvement, est ensuite réalisé sur les images pleines résolutions. Ce filtrage permet de diminuer le bruit de l'image et donc d'améliorer le rendement du codeur.
Le circuit de préanalyse peut être exploité pour définir la structure 35 en GOPs de la séquence à coder, c'est à dire le type des images, inter ou intra, images de référence, bidirectionnelles.... Ce terme GOP qui signifie groupe d'images est l'acronyme de l'anglais Group Of Pictures défini dans la norme MPEG.
La préanalyse se fait sur un nombre prédéfini d'images. Le temps de retard entre la préanalyse et le codage effectif des images peut être de l'ordre du groupe d'images considéré pour la régulation de débit. II correspond par exemple à un ou plusieurs GOPs dans le cas de la norme MPEG.
Dans notre exemple, le circuit d'estimation de mouvement 11 est basé sur une structure hiérarchique et sur une approche appariement par bloc. Le macrobloc courant est comparé à l'image décodée, construite selon une pyramide de résolution croissante, en partant de la résolution la plus faible de la pyramide jusqu'au niveau de résolution le plus élevé, Les champs de vecteurs mouvement sont estimés pour chaque niveau de résolution, du niveau le plus faible au niveau le plus élevé, les estimations faites à un niveau pouvant servir de prédiction pour le niveau supérieur. Les pyramides dépendent des différents modes de codage du circuit de codage. Il existe donc des pyramides pour les images bitrames, pour les trames, et cela, pour une image de référence donnée. Dans l'approche références multiples, ce nombre est donc multiplié.
Les vecteurs mouvement sont calculés pour les paires de macroblocs relatives à une image bi-trame et pour chacun des macroblocs de ces paires de macroblocs relatifs à des trames.
Le circuit de filtrage 9, dans la boucle de codage, réalise un filtrage de l'image reconstruite pour diminuer les effets de blocs. C'est cette image filtrée qui est mémorisée dans la mémoire d'image 10.
Le circuit de préanalyse 6 est relié au circuit de régulation de débit 5 pour lui fournir des informations de structure de GOP et des informations de coût de codage par type d'image afin de faciliter la régulation de débit qui peut donc prendre en compte des informations a posteriori. Le circuit de préanalyse détermine, lors d'une première passe en mode intra, la complexité des images, en termes de codage et transmet une estimation du coût de codage par type d'image au circuit de régulation pour permettre à ce dernier de calculer les pas de quantification du circuit TCD +Q.
Le circuit de décision de mode de codage effectue des calculs de coût de codage ou d'énergie pour sélectionner le mode de codage, mode intra, mode inter, bidirectionnel, choix de l'image de référence... Il élimine, parmi les vecteurs de mouvement reçus de l'estimateur de mouvement, ceux correspondant aux modes non sélectionnées par le circuit de préanalyse, et sélectionne, parmi ceux restant, les vecteurs mouvement donnant le plus faible coût de codage.
La figure 2 symbolise les estimations de mouvement effectuées 5 par l'estimateur de mouvement de type pel-récursif pour les différents types de codage des macroblocs.
L'image, que l'on appelle aussi image bi-trames (frame en anglais) est divisée en deux trames entrelacées qui sont montrées à intervalle différent. La première trame dans le temps (field en anglais), appelée trame supérieure ou trame impaire, apparaît sur chaque ligne impaire de l'image, tandis que la deuxième trame d'image, appelée trame inférieure ou trame paire, apparaît sur chaque ligne paire de l'image. Les deux trames forment l'image bi-trame.
Des macroblocs 16x16 référencés 13 appartiennent à une première trame supérieure représentée en traits pleins, et un macrobloc 16x16 référencé 15 appartient à la trame supérieure suivante représentée en traits pleins.
Des macroblocs 16x16 référencés 14 appartiennent à une première trame inférieure représentée en traits pointillés, et un macrobloc 16x16 référencé 16 appartient à la trame inférieure suivante représentée en traits pointillés.
Les paires de macroblocs constitués de deux macroblocs 16x16, référencés 21 et 22 appartiennent à l'image entrelacée ou image bi-trame et sont donc constitués d'une succession de lignes des trames supérieures et inférieures.
Si la paire de macroblocs est codée en mode bi-trame et est donc constituée d'une succession de lignes paires et impaires, référence 21, le vecteur mouvement référencé 23 pointe vers l'image entrelacée précédente, désignant un macrobloc 16x32 référencé 22. L'interpolation pour l'estimation de mouvement est effectuée en utilisant les lignes paires et les lignes impaires.
Si la paire de macroblocs est codée en mode trame, elle est alors constituée d'un macrobloc supérieur constitué de lignes impaires et d'un macrobloc inférieur constitué de lignes paires respectivement référencés 15 et 16. Le vecteur mouvement pour le macrobloc supérieur peut pointer soit sur un macrobloc de la trame supérieure ou trame impaire précédente, vecteur référencé 17, soit sur un macrobloc de la trame inférieure ou trame paire précédente, vecteur référencé 18. Le vecteur mouvement pour le macrobloc inférieur peut pointer soit sur un macrobloc de la trame paire précédente, vecteur référencé 20, soit sur un macrobloc de la trame impaire précédente, vecteur référencé 19.
L'image exploitée pour l'estimation de mouvement est une image de plus faible résolution que l'image source. Le sous-échantillonnage et filtrage sont effectués par le circuit de préanalyse. L'image de plus faible résolution est mémorisée et une estimation de mouvement de type pelrécursif est réalisée entre cette image courante et une image précédente de référence, mémorisée.
Le champ de vecteurs mouvement, un vecteur mouvement par pixel, est traité de manière à faire correspondre un vecteur mouvement par macrobloc. On prend par exemple en compte l'ensemble des vecteurs mouvement des pixels relatifs à un macrobloc de l'image pleine résolution et l'on attribue à ce macrobloc le vecteur mouvement médian de cet ensemble de vecteurs mouvement. II est aussi possible de choisir les valeurs moyennes de ces vecteurs mouvement. On peut également effectuer un sous échantillonnage tel qu'un pixel de l'image échantillonnée corresponde à un macrobloc de l'image originale, un vecteur mouvement correspondant alors à un macrobloc.
La figure 2 correspond à une première solution dans la présélection des modes de codage.
L'estimateur de mouvement du circuit de préanalyse 6 calcule 5 champs de vecteurs mouvement pour chaque image. Ces vecteurs correspondent au mouvement: - entre l'image courante et l'image précédente - entre la trame paire courante et la trame paire précédente - entre la trame paire courante et la trame impaire précédente - entre la trame impaire courante et la trame paire précédente - entre la trame impaire courante et la trame impaire précédente. Il réalise les calculs de corrélation relatifs à ces champs de vecteurs mouvement, pour chacun des macroblocs.
Ainsi, pour chacune des trames de l'image courante, il calcule les sommes des différences inter-trames pour les trames de référence de même parité. En partant du double macrobloc de l'image bi-trame ou entrelacée correspondant à chacune de ces trames, de dimension 32 lignes, 16 colonnes, on a, pour un macrobloc de la trame paire: i, j=15 DFD paire, mêmeparité - E I Fixe (2i, i) pix pred (2i, J)I i, j=0 et pour un macrobloc de la trame impaire: i, j=15 DFDimpaire,mêmeparité = I pixc (2i + 1, j) pix pred (2i + 1, j) i, j=0 avec pixpred, la valeur prédite à partir du vecteur de mouvement. Pour chaque valeur i d'une ligne du double macrobloc de l'image bi-trame, la colonne j est incrémentée de 0 à 15. Les lignes 2i correspondent au macrobloc de la trame paire extrait du double macrobloc et les lignes 2i+1 au macrobloc de la trame impaire.
Egalement, pour chacune des trames de l'image courante, il calcule les sommes des différences inter-trames pour les trames de référence de parité opposée. On a, pour un macrobloc de la trame courante paire: i, j=15 DFDpaire,paritéopposée - pixc (2i, j) PiX pred (2i + 1,1)1 i, j=0 et, pour un macrobloc de la trame courante impaire: i, j=15 DFDimpaire, paritéopposée E I pixc (2i + 1, j) pix pred (2i, j) Z, j=0 Enfin, pour une image bi-trame, pour un double macrobloc, il calcule la somme des différences inter-images: i, j=15 i i, j=15 DFD image = E +pixc (i, j) plx pred (i, j) + E pixc (i +16, j) pix pred (i +16, j) _ i,j=0 i, j=0 i=31,j=15 E I pixc (i, j) pix pred (i, j) i, j=0 avec pixpred, la valeur prédite à partir du vecteur de mouvement.
Pour chacune des trames de l'image, le circuit de calcul sélectionne la parité de la trame de référence générant la DFD la plus faible.
memeparité DFD pair paire,memeparité DFDpaire,paritéopposée paritéopposée memeparité DFD impaire = DFD impaire,memeparité ) DFDimpaire, paritéopposée paritéopposée Par exemple pour la 1 ère expression, si DFDpaire, même parité est de valeur inférieure à DFDpaire parité opposée, c'est DFDpaire, même parité qui est sélectionnée. Si elle est de valeur supérieure, c'est DFDpaire, parité opposée qui est sélectionnée.
Les valeurs DFD minimales de chaque trame sont additionnées: DFDt ame = DFD pâlie + DFDimpaire La sélection entre le codage trame et le codage bitrame ou image est faite en comparant les DFD correspondantes, la DFD relative au codage trame étant pénalisée d'une valeur X. Ce paramètre X>0 permet de prendre en compte le surcoût du codage en mode trame, les deux vecteurs mouvement à transmettre: trame image DFDirame + )
DFD image
Ainsi, le circuit de préanalyse sélectionne, en fonction des résultats précédents, les modes de codage les plus avantageux. Il transmet cette information au circuit de décision de mode de codage qui limite ses calculs aux seuls modes de codage sélectionnés.
Selon que le mode sélectionné par le circuit de préanalyse est un codage au simple niveau trame ou image bi-trame, les calculs de coûts de codage effectués par le circuit de décision de mode de codage se limitent alors au mode trame ou au mode image bi-trame.
Cette limitation peut être poussée plus loin. Ainsi, lorsque le mode trame est sélectionné, le circuit de préanalyse peut imposer, pour le mode de 25 codage, la trame paire ou la trame impaire et cela, pour chacun des macroblocs constituant la paire de macroblocs.
Une deuxième solution, plus simple, correspond à la figure 3. Elle consiste, pour l'estimateur de mouvement du circuit de préanalyse, à calculer les 4 champs de vecteurs relatifs aux trames, référencés 17, 18, 19, 20 sur la figure et, pour chacune des trames de l'image courante, les sommes des différences inter-trames pour les trames de référence de même parité et de parité opposée: 4)=15 DFD paire,memeparité = E pixc (2i, j) pix pred (2i, j) i, j=0 i, j=15 DFDimpaire,memeparité E pic (2i + 1, j) pix pred (2i + 1, j)I i,j=o i, j=15 DFD paire, paritéopposée = E I pixc (2i, j) pix pred (2i + 1, j)I i, j=0 i, j=15
E
i, j=0 Le choix bi-trame est généralement effectué dans le cas ou les deux macroblocs constituant la paire de macroblocs subissent le même mouvement d'une trame à la trame de même parité. Ainsi, si pour l'une des trames de l'image courante, la DFD correspondant à la trame de parité opposée est inférieure à la DFD correspondant à la trame de même parité, le choix de codage du macrobloc est le mode trame. En effet, dans ce cas, il y a de bonnes chances que le macrobloc de la trame paire et le macrobloc de la trame impaire constituant la paire de macroblocs ne subissent pas ce même mouvement, et donc que le mode image ou bi-trame soit moins avantageux. C'est par exemple le cas lors d'un mouvement important dans l'espace temporel entre deux trames qui est de 20 ms.
Dans le cas contraire, c'est à dire si les vecteurs mouvement relatifs aux trames de même parité sont voisins, le mode image bi -trame est 20 sélectionné par le circuit de préanalyse.
Dans cette solution, il n'est donc pas nécessaire que le circuit de préanalyse 6 effectue une estimation de mouvement au niveau image bitrame pour sélectionner les modes de codage à tester par le circuit de décision de mode de codage 13.
Une autre solution consiste à calculer le champ de vecteurs bitrames à partir des vecteurs trames calculés par l'estimateur de mouvement du circuit de préanalyse. Les vecteurs mouvement calculés pour les trames sont exploités pour calculer les DFD correspondantes relatives au double macrobloc de l'image bi-trame, le vecteur sélectionné étant celui donnant la plus faible différence DFD qui est alors la DFDimageÉ On se retrouve dans le cas de la DFDimpaire,paritéopposée pixc (2i + 1, j) pix pred (21, J)I première solution pour le calcul des DFDs mais ici, l'estimateur de mouvement n'a pas à estimer les mouvements entre images bi-trames.
Il s'agit d'exemples de réalisation. Bien évidemment, l'invention s'applique à tout type de partitionnement de l'image en blocs ou macroblocs pour lesquels une corrélation est recherchée. Une étape intermédiaire peut consister en un partitionnement de ces blocs ou macroblocs et recherche de corrélation pour chacune des parties de ces blocs ou macroblocs.
Les estimateurs de mouvement peuvent être d'un autre type que 10 du type pel-récursif ou hiérarchique sans que l'on sorte du domaine de l'invention.
Les informations relatives à la sélection du mode de codage transmises au circuit de choix de mode de codage 13 peuvent également être transmises aucircuit d'estimation de mouvement hiérarchique 11. Alors, celui-ci peut limiter ses calculs d'estimation de mouvement aux seuls modes sélectionnés, trame ou bi-trame, réduisant ainsi le volume de calcul de l'estimateur de mouvement.
Les applications concernent la compression de données numériques pour la transmission ou le stockage d'informations vidéo.

Claims (11)

REVENDICATIONS
1 Procédé de codage d'une séquence d'images sources comprenant une phase de préanalyse (6) avec estimation de mouvement de type pel-récursif entre l'image courante et une image de référence et une phase de codage proprement dite par blocs d'image, avec une étape d'estimation de mouvement (11) par appariement de blocs, entre l'image courante et l'image de référence, puis une étape de décision de mode de codage (13) tel que le mode intra, le mode inter entre trames de même parité ou de parité opposée ou entre bi-trames, caractérisé en ce que la phase de préanalyse effectue des calculs de niveaux de corrélation de blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés lors de cette phase et correspondant aux blocs pour imposer, lors de l'étape de décision de mode de codage et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation.
2 Procédé selon la revendication 1, caractérisé en ce que le codage inter entre trames est imposé lorsque le niveau de corrélation entre trames de parité opposées est inférieur au niveau de corrélation entre trames de même parité.
3 Procédé selon la revendication 1, caractérisé en ce que la phase de préanalyse effectue également des calculs de corrélation d'un bloc bitrame de l'image courante avec un bloc bi-trame d'une image de référence pour déterminer le mode de codage inter entre trames ou entre images bitrames en fonction des niveaux de corrélation.
4 Procédé selon la revendication 1, caractérisé en ce que le calcul 30 de corrélation consiste en un calcul de la valeur DFD suivante: i, j=15 DFD = pixc (i, j) pix pred (z, J)I i, j =0 pixc(i,j) correspondant à la valeur de luminance d'un pixel de la ligne i et colonne j d'un bloc courant, 2872973 15 pixpred(i, j) correspondant à la valeur de luminance d'un pixel de la ligne i et colonne j d'un bloc désigné par le vecteur mouvement dans l'image de référence ou bloc prédit 5 Procédé selon la revendication 1, caractérisé en ce qu'un bloc d'image est partitionné en bloc supérieur et bloc inférieur, le bloc supérieur correspondant à la trame supérieure et le bloc inférieur à la trame inférieure, ou inversement, en ce que le mode inter entre trames consiste en un choix de la trame reconstruite supérieure ou inférieure de l'image de référence pour chacun des blocs supérieur et inférieur et en ce que ce choix est fonction des mesures de corrélation sur l'ensemble du bloc d'image.
6 Procédé selon la revendication 1, caractérisé en ce que la phase de préanalyse (6) comporte une étape de réduction de bruit par filtrage compensé en mouvement à partir du mouvement calculé par l'estimation de mouvement de type pel-récursif.
7 Procédé selon la revendication 1, caractérisé en ce que l'estimateur de mouvement par appariement de blocs est du type hiérarchique.
8 Procédé selon la revendication 1, caractérisé en ce que l'estimation de mouvement de type pel-récursif est effectuée sur une image source de plus faible résolution.
9 Procédé selon la revendication 1, caractérisé en ce que les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont ceux calculés pour les pixels relatifs aux blocs.
Procédé selon la revendication 1, caractérisé en ce que les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont obtenus à partir de la valeur médiane ou bien valeur moyenne des composantes des vecteurs mouvement calculés pour les pixels relatifs aux blocs.
11 Procédé selon la revendication 1, caractérisé en ce que les calculs de corrélation sont effectués sur plusieurs images de référence et en ce que la phase de préanalyse effectue une sélection d'une ou des images de référence en fonction des valeurs de corrélation.
12 Dispositif de codage pour la mise en oeuvre du procédé de la revendication 1, comprenant un circuit de préanalyse (6) avec un estimateur de mouvement de type pel-récursif et un circuit de codage proprement dit par blocs d'image comportant un estimateur de mouvement (11) par appariement de blocs d'images relié à un circuit de décision de mode de codage (13), caractérisé en ce que le circuit de préanalyse effectue des calculs de corrélation des blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés par l'estimateur de mouvement de type pel-récursif pour imposer au circuit de décision de mode de codage (13) et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation.
13 Dispositif selon la revendication 12, caractérisé en ce que le circuit de préanalyse transmet les informations de mode de codage au circuit d'estimation de mouvement par appariement de blocs pour définir une estimation de mouvement sur les trames et/ou l'image bi-trame relatives à l'image reconstruite.
FR0451445A 2004-07-06 2004-07-06 Procede ou dispositif de codage d'une sequence d'images sources Pending FR2872973A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FR0451445A FR2872973A1 (fr) 2004-07-06 2004-07-06 Procede ou dispositif de codage d'une sequence d'images sources
US11/170,574 US7801218B2 (en) 2004-07-06 2005-06-29 Method or device for coding a sequence of source pictures
EP05105956A EP1622388A1 (fr) 2004-07-06 2005-06-30 Procédé et dispositif de codage d'une séquence source d'images
CNA2005100821894A CN1719735A (zh) 2004-07-06 2005-07-01 编码源图像序列的方法和设备
KR1020050060254A KR101192026B1 (ko) 2004-07-06 2005-07-05 소스 픽쳐의 시퀀스를 코딩하는 방법 또는 장치
MXPA05007297A MXPA05007297A (es) 2004-07-06 2005-07-05 Metodo dispositivo para codificar una secuencia de imagenes de fuente.
JP2005197950A JP4851741B2 (ja) 2004-07-06 2005-07-06 ソース画像のシーケンスを符号化する方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0451445A FR2872973A1 (fr) 2004-07-06 2004-07-06 Procede ou dispositif de codage d'une sequence d'images sources

Publications (1)

Publication Number Publication Date
FR2872973A1 true FR2872973A1 (fr) 2006-01-13

Family

ID=34946570

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0451445A Pending FR2872973A1 (fr) 2004-07-06 2004-07-06 Procede ou dispositif de codage d'une sequence d'images sources

Country Status (7)

Country Link
US (1) US7801218B2 (fr)
EP (1) EP1622388A1 (fr)
JP (1) JP4851741B2 (fr)
KR (1) KR101192026B1 (fr)
CN (1) CN1719735A (fr)
FR (1) FR2872973A1 (fr)
MX (1) MXPA05007297A (fr)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7738554B2 (en) * 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7253374B2 (en) * 2003-09-15 2007-08-07 General Motors Corporation Sheet-to-tube welded structure and method
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7885341B2 (en) * 2005-10-21 2011-02-08 Cisco Technology, Inc. Spatial filtering for improving compression efficiency of motion compensated interframe coding
FR2897213A1 (fr) * 2006-02-08 2007-08-10 Thomson Licensing Sas Procede de codage par blocs d'images d'une sequence d'images video
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7889789B2 (en) * 2006-04-07 2011-02-15 Microsoft Corporation Making interlace frame level coding mode decisions
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
EP1848218A1 (fr) * 2006-04-20 2007-10-24 THOMSON Licensing Méthode d'héritage données de mouvement pour images à haute résolution de données de mouvement d'images à basse résolution et dispositif de codage et de décodage pour son implementation
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US20080165278A1 (en) * 2007-01-04 2008-07-10 Sony Corporation Human visual system based motion detection/estimation for video deinterlacing
KR100842558B1 (ko) 2007-01-26 2008-07-01 삼성전자주식회사 동영상 부호화를 위한 블록 모드 결정 방법 및 그 장치
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8553758B2 (en) * 2007-03-02 2013-10-08 Sony Corporation Motion parameter engine for true motion
US20080212687A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. High accurate subspace extension of phase correlation for global motion estimation
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
CN101855910B (zh) * 2007-09-28 2014-10-29 杜比实验室特许公司 视频压缩和传送技术
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8559518B2 (en) * 2008-06-30 2013-10-15 Samsung Electronics Co., Ltd. System and method for motion estimation of digital video using multiple recursion rules
US8094714B2 (en) * 2008-07-16 2012-01-10 Sony Corporation Speculative start point selection for motion estimation iterative search
US8144766B2 (en) * 2008-07-16 2012-03-27 Sony Corporation Simple next search position selection for motion estimation iterative search
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
JP5136470B2 (ja) 2009-03-06 2013-02-06 富士通株式会社 動画像符号化装置及び動画像符号化方法
US8699778B2 (en) * 2009-07-29 2014-04-15 Panasonic Corporation Image coding method, image coding apparatus, program, and integrated circuit
US8724022B2 (en) * 2009-11-09 2014-05-13 Intel Corporation Frame rate conversion using motion estimation and compensation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557341A (en) * 1991-04-12 1996-09-17 Dv Sweden Ab Iterative method for estimating motion content in video signals using successively reduced block size
US6026195A (en) * 1997-03-07 2000-02-15 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US6483876B1 (en) * 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
US6591398B1 (en) * 1999-02-12 2003-07-08 Sony Corporation Multiple processing system
US6731684B1 (en) * 1998-09-29 2004-05-04 General Instrument Corporation Method and apparatus for detecting scene changes and adjusting picture coding type in a high definition television encoder

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187097B2 (ja) * 1991-10-17 2001-07-11 株式会社東芝 動画像符号化における符号量配分方法とこれを用いた動画像符号化方法及び装置
US6226327B1 (en) * 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
JP3201344B2 (ja) * 1992-07-03 2001-08-20 ケイディーディーアイ株式会社 インターレース動画像信号の動き補償予測方法及び符号化装置
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
FR2872974A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage adaptatif

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557341A (en) * 1991-04-12 1996-09-17 Dv Sweden Ab Iterative method for estimating motion content in video signals using successively reduced block size
US6026195A (en) * 1997-03-07 2000-02-15 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US6731684B1 (en) * 1998-09-29 2004-05-04 General Instrument Corporation Method and apparatus for detecting scene changes and adjusting picture coding type in a high definition television encoder
US6591398B1 (en) * 1999-02-12 2003-07-08 Sony Corporation Multiple processing system
US6483876B1 (en) * 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BOEROCZKY L ET AL: "MOTIONS ESTIMATION FOR WAVELET TRANSFORM CODING", JOURNAL ON COMMUNICATIONS, PROFINFO, BUDAPEST, HU, vol. 45, May 1994 (1994-05-01), pages 25 - 27, XP001028196, ISSN: 0866-5583 *

Also Published As

Publication number Publication date
US7801218B2 (en) 2010-09-21
KR101192026B1 (ko) 2012-10-16
US20060013307A1 (en) 2006-01-19
JP4851741B2 (ja) 2012-01-11
EP1622388A1 (fr) 2006-02-01
MXPA05007297A (es) 2006-01-26
JP2006025428A (ja) 2006-01-26
KR20060049850A (ko) 2006-05-19
CN1719735A (zh) 2006-01-11

Similar Documents

Publication Publication Date Title
FR2872973A1 (fr) Procede ou dispositif de codage d'une sequence d'images sources
CA2703775C (fr) Procede et appareil de selection de mode de codage
KR101269334B1 (ko) 필터 선택에 의한 비디오 인코딩
US8681873B2 (en) Data compression for video
JP5364820B2 (ja) フィルタを選択する装置及び方法
KR100964515B1 (ko) 비디오 인코딩을 위한 비-정수 픽셀 공유
KR101181592B1 (ko) 적응 코딩 방법 또는 장치
US20110206118A1 (en) Data Compression for Video
WO2016040116A1 (fr) Optimisation de la perception pour codage vidéo à base de modèles
KR20080108511A (ko) 아티팩트 평가를 통한 향상된 이미지/비디오 품질
US20130044811A1 (en) Content-Based Adaptive Control of Intra-Prediction Modes in Video Encoding
Hussain et al. A survey on video compression fast block matching algorithms
Jamil et al. Preliminary study of block matching algorithm (bma) for video coding
Wang et al. Fast mode decision for H. 264 video encoder based on MB motion characteristic
WO2015015404A2 (fr) Procédé et système de détermination d'une décision intra-mode dans un codage vidéo h.264
Abdelazim Fast motion estimation algorithms for block-based video coding encoders
Nguyen Optimized techniques for video compression and enhancement
MURMU FAST MOTION ESTIMATION ALGORITHM IN H. 264 STANDARD
Lonetti et al. Temporal video transcoding for multimedia services
Nasiopoulos et al. A Fast Video Motion Estimation Algorithm for the H. 264 Standard
Kim et al. Efficient intra-mode skip algorithm using RD costs of SUB8× 8 and I4MB
Lee et al. Fast Multi Frames Selection Algorithm Based on Macroblock Reference Map for H. 264/AVC
JP2006340014A (ja) 低複雑度動き補償型時間方向フィルタ処理方法ならびに装置