EP1982525A1 - Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video - Google Patents

Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video

Info

Publication number
EP1982525A1
EP1982525A1 EP07704281A EP07704281A EP1982525A1 EP 1982525 A1 EP1982525 A1 EP 1982525A1 EP 07704281 A EP07704281 A EP 07704281A EP 07704281 A EP07704281 A EP 07704281A EP 1982525 A1 EP1982525 A1 EP 1982525A1
Authority
EP
European Patent Office
Prior art keywords
macroblock
mode
frame
coding
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07704281A
Other languages
German (de)
English (en)
Inventor
Dominique Thoreau
Franck Hiron
Yannick Olivier
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 DTV 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
Publication of EP1982525A1 publication Critical patent/EP1982525A1/fr
Withdrawn 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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for 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/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/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/513Processing of motion vectors
    • 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

Definitions

  • the invention relates to a method of coding an image block of a sequence of video images.
  • the domain is that of video data compression.
  • block compression schemes that perform an adaptive bitrame / frame coding at the macroblock level, better known by the acronym MBAFF, of the English MacroBlock Adaptive Frame / Field.
  • MBAFF adaptive bitrame / frame coding at the macroblock level
  • the standards concerned are for example the standard MPEG 4 part 2 and MPEG 4 part 10.
  • the "block matching" motion estimation is implemented in an encoder to exploit the temporal correlation of the images of a sequence of images. It allows the calculation of predicted blocks subtracted from a current block for coding in inter mode. Because of the different choices in the coding parameters proposed by the standards, for example the size of the image block for motion estimation, the image or the reference images from which these motion estimates are made, the upper frame, the lower frame or the bi-frame image for these reference images, etc., a selection being then made according to criteria such as the coding cost, a large number of motion calculations must be carried out by the encoder. These calculations are expensive in terms of time and processing capacity. Motion estimators must be encoder-specific or at least compatible with the multitude of choices proposed in the standard and implemented by the encoder.
  • a motion vector field is calculated for each block size (4x4, 4x8, 8x4, 8x8, 8x16, 16x8, 16x16) and for each reference picture.
  • Figure 1 shows different types of partition of a 16-line macroblock of 16 samples, for an encoder using this standard.
  • the first line corresponds to a horizontal and vertical cut of a macroblock of 16x16 size respectively in two sub-macroblocks of 16x8 and 8x16 size and in a cut into four 8x8 sub-macroblocks.
  • the second line corresponds to these same cuts in blocks but at a lower level, for a sub-macroblock of size 8x8.
  • image designates thereafter a bitrame image (frame in English) or a frame (field in English).
  • the bitrame image is divided into two interlaced frames that are shown at different intervals.
  • the first frame in time called the upper frame or the odd field, appears on each odd line of the image
  • the second image frame called the lower frame or the even field, appears on each even line of the image.
  • the two frames form the bi-frame image.
  • the motion estimator provides, by macroblock, 1 motion vector field for the bitmap image, 2 motion vector fields for the frames.
  • FIG. 2 represents an example of such an MBAFF coding.
  • 16x16 macroblocks referenced 1 and 2 belong to a first upper frame represented in vertical solid line, and a 16x16 macroblock referenced 3 belongs to the next upper frame represented in full line.
  • 16x16 macroblocks referenced 4 and 5 belong to a first lower frame represented in dashed line, and a 16x16 macroblock referenced 6 belongs to the next lower frame represented in dashed line.
  • the pairs of macroblocks in bitrame mode, referenced 7 and 8 consist of two 16x16 macroblocks, each belonging to the interlaced image or bi-field image, and therefore themselves constituted of a succession of lines of the upper and lower fields. , first frames for the referenced pair 7 and subsequent frames for the referenced pair 8.
  • the associated motion vector referenced 9 points to the previous interlaced image, designating a pair of 16x32 macroblocks referenced 7.
  • the frame mode macroblock pairs referenced (1, 4), (2, 5), or (3, 6) consist of an upper macroblock containing the lines of the upper or odd field and a lower macroblock containing the lines. the lower frame or even frame. If the pair of macroblocks (3, 6) is coded in frame mode, the motion vector associated with the upper macroblock can point to either a macroblock of the upper frame or preceding odd field, referenced vector 10, or to a macroblock of the lower frame or preceding pair of frames, referenced vector 11.
  • the motion vector associated with the lower macroblock can point to either a macroblock of the previous pair of frames, referenced vector 12, or to a macroblock of the previous odd field, referenced vector 13
  • 3 motion vectors are calculated, for a reference image, for each of the 5 macroblocks of size 16x16, 16x8 and 8x16 and each of the 9 blocks constituting the 4 sub-macroblocks of size 8x8.
  • FIG. 3 represents an example of a video image sequence portion numbered from 1 to 8, according to the display order or time order.
  • the images indexed 0 and 4 respectively reference images intra Io and predictive P 4 , bound 3 BiEstives images Bi, B 2 , B 3 .
  • the process of encoding the biprescriptive images or type B is more complex than that of the P-type predictive images.
  • 2 lists of prediction images or reference images, called list 0 and list 1, while the images of type P only have one list 0, thereby inducing more calculations.
  • the number of coding modes for type B macroblocks is greater, bi-predictive mode, direct mode etc., thereby increasing the complexity of the coding decision algorithm.
  • the number of motion vectors is multiplied by the number of reference images.
  • the coding mode decision for example based on the measurement of coding cost and mode-related distortion, is made at the macroblock pair level and not at the macroblock level as for the MPEG2 standard, whereas the correlations are calculated at the level of each macroblock, the possible combinations and the computing load resulting from it are very important.
  • the subject of the invention is a method of coding, in blocks of images, a sequence of video images performing, at the level of a pair of macroblocks, a selection of one of a plurality of coding modes according to intra or inter, the macroblock being codable in raster mode or in bi-frame mode according to whether it relates respectively to a single frame or to two frames, the coding of a macroblock of a bipredictive type image using at least two reference images, characterized in that the frame or bitrame mode is selected according to the following steps:
  • the method is characterized in that the motion vector associated with the co-located macroblock is the motion vector associated with the block located at the top left of the partitioned macroblock.
  • the method is characterized in that the motion vector associated with the collocated macroblock is the calculated motion vector, when determining the coding and partitioning mode of this macroblock, for the 16x16 block.
  • the method is characterized in that the reference image chosen is the previous reference image or the next reference image closest to the current image.
  • the method can be implemented in a method for encoding a bi-predictive type image according to the MPEG4 part 10 standard.
  • the method is characterized in that a second reference image is chosen from the reference images corresponding to the motion vector, for a second scaling of the motion vector, in that a second reference image is chosen from among the reference images corresponding to the motion vector, for a second scaling of the motion vector, in that a second temporal macroblock is determined in this second reference image, from this second motion vector scaled, in that the inter-image difference is calculated between the current macroblock and each of the time macroblocks and in that the coding of the current macroblock is performed by exploiting, for the selection of the coding mode, the same field or frame coding mode as that of the temporal macroblock having the smallest inter-image difference.
  • the method is characterized in that the frame coding or bitrame mode is selected at a pair of macroblocks, in that the selection is made for one of the macroblocks of the pair of macroblocks and in the selected mode is assigned to both macroblocks of the pair.
  • the method is characterized in that the frame coding or bitrame mode is selected at a pair of macroblocks, in that the selection is made for each of the macroblocks of the pair of macroblocks and in that, when the selected mode is different for the macroblocks, the coding mode chosen for the macroblock pair is that corresponding to the macroblock giving the lowest inter-image difference between the macroblock of the current pair and the corresponding temporal macroblock.
  • Adaptive bitrame / frame coding provides a substantial gain in compression. Thanks to the invention, this feature is operated with a reasonable cost in terms of implementation using calculation results already made in the reference images.
  • a preselection of the frame or bitmap encoding mode is performed at each pair of macroblocks belonging to bi-predictive images (B slices). This pre-selection makes it possible to considerably reduce the number of calculations to be performed in the macroblock decision module making it possible to choose the coding mode.
  • the solution proposed is based on the principle that there is continuity in the movement. It consists in not recalculating the bitrame / frame coding decision for the macroblocks of the bi-predictive coded images but in recovering this decision in the macroblocks of the reference images, of the P or I type, thus reducing the complexity of implementation of the coding adaptive bit frame / frame for type B macroblocks.
  • FIG. 1 partitions of a macroblock and sub-macroblock
  • FIG. 2 an example of the MBAFF mode
  • FIG. 3 a sequence of images of type I, P and B,
  • FIG. 4 an example of the direct temporal mode.
  • the coding modes of the bipredicting images exploit prediction modes for example described in the document ISO / IEC FCD 14496-10, paragraph 10, entitled "decoding process for B slices".
  • This is the intra mode, the direct mode, the bileydictif mode exploiting reference images of the list 0 and / or list 1, the predictive mode list 0 or list 1 using an image of the list 0 or the list 1.
  • These prediction modes can be chosen separately for each of the sub-macroblocks or image blocks of the macroblock to be encoded.
  • the "direct spatial" mode consists, for example, in calculating a 16 ⁇ 16 predictor, motion vector associated with the 16 ⁇ 16 pixel macroblock, by exploiting motion vectors of the neighboring macroblocks, for example by performing a median filtering of these neighboring vectors.
  • the "direct time” mode consists, in one technique, of exploiting the same block structure as that of the co-located macroblock of the first image in the list 1 of the reference images.
  • the motion vectors of the list 0 and of the list 1 ie the motion vectors respectively pointing in the reference image of the list 0 and the reference image of the list 1 , are obtained by scaling the motion vectors of the list 0 of the corresponding collocated block.
  • FIG. 4 represents an example of the exploitation of a temporal direct mode for the selection of the MBAFF coding mode of a current macroblock referenced 21 of a bi-repeating current picture B.
  • the vertical dotted lines denoted f 0 and f-, represent the even and odd fields and the solid vertical lines inside represent the image corresponding bitrame. The different stages of the process are described below.
  • the macroblocks of the B-type image may be encoded, in the case where the frame / bitrame adaptive mode exists, in frame mode or bit-frame mode, also known as field mode and image mode respectively.
  • the current macroblock and therefore the collocated macroblock are chosen in bitrame mode.
  • mvLO DistScaleFactor * mvCol with
  • DistScaleFactor TD B / TD D, the quotient of the temporal distance between the current image and the past reference image by the temporal distance between the future reference image and the past reference picture, mvCol, motion vector of the first partition of the collocated macroblock, corresponding to the block at the top left of the partitioned macroblock, numbered 0 in the standard.
  • This scaled mvLO motion vector is then applied to the current macroblock to determine the position of the time macroblock in the past reference picture of the list 0.
  • the frame / bitrame coding information relating to the coding of this temporal macroblock 25 is recovered to be exploited by the current macroblock.
  • the idea is to get the frame / bi-frame coding information in the macroblocks of the reference images in the direction of the movement, so as not to have to recalculate it.
  • the temporal direct prediction process makes it possible to recover the frame / bitrame coding mode in the macroblock pointed by the direct temporal motion vector.
  • the motion vector mvCol is the motion vector associated with the collocated macroblock. This macroblock is actually partitioned into blocks as shown in Figure 1 and a partition was selected for its encoding with motion vectors assigned to the blocks of the partition as mentioned above.
  • the mvCol vector associated with the macroblock is chosen as being the vector associated with the block 0, that is to say the block at the top left of the macroblock. It would also be possible to choose, as a motion vector associated with the macroblock, inter alia, the motion vector calculated for the 16x16 dimension block during the correlation operations, that is to say the operations for selecting the coding mode of the this macroblock collocated.
  • the current macroblock pair is encoded according to the frame or bitrame coding mode of this intra macroblock.
  • the temporal direct prediction process is not unrolled.
  • the encoder encoding loop if it conforms to the H264 standard and thus supports the direct time mode, performs all the calculations necessary for the realization of this algorithm, the process being partly similar to this mode. direct time coding.
  • the previous reasoning was done considering the current macroblock in bitrame mode. It would have been equally possible to start from a current macroblock in raster mode. It is indeed a starting hypothesis to determine if the current macroblock will actually be coded in frame mode.
  • the mvLO motion vectors are scaled according to this initial hypothesis, that is to say by taking into account the time distance between the exploited reference image of the list 0, frame or bitrame and the frame or bitrame of the current image B corresponding to the hypothesis chosen, that is to say the frame or bitrame mode of the current macroblock.
  • the upper macroblock of the macroblock pair is selected as the current macroblock and the mode selected for this macroblock is applied to the lower macroblock of the macroblock pair.
  • the determination of the frame or bitrame coding mode is therefore performed, in the example given, at the level of a macroblock of the pair of macroblocks.
  • One variant of the invention consists in reasoning at the level of the current macroblock pair for the selection of the frame or bitrame coding mode.
  • the colocalized macroblock pair then gives us two motion vectors to the reference image of list 0, one for each macroblock.
  • the decision algorithm of the frame coding or bitrame mode can then be as follows:
  • the selected mode is that of the macroblock which provides the lowest inter picture difference.
  • a variant of the invention consists in exploiting not the time macroblock in a reference image of the list LO but in a reference image of the list L1.
  • Another variant consists in using the coded frame / bitrame mode of the colocalized macroblock or the coding mode of the macroblock pointed by one of the motion vectors calculated in the coding loop during coding of the co-located macroblock. It is for example possible to select the coding mode of the macroblock pointed by the motion vector calculated for the 16x16 inter mode of the collocated block, frame vector or bitrame.
  • Another possibility consists in taking into account the coding modes of the co-located macroblock and the macroblock designated by a motion vector 23 associated with the macroblock collocated in the reference image of the list LO.
  • the decision algorithm of the frame coding or bitrame mode can then be as follows:
  • both macroblocks are encoded in the same frame or bitrame mode, this mode is selected for the current macroblock pair.
  • the selected mode is that of the macroblock which provides the lowest inter picture difference.
  • One variant consists, based on the direct temporal prediction process, of using a combination of the vectors mvl_1 and mvLO to implement the method. For example, it is possible to choose the type of frame or bitrame coding according to the area pointed by the motion vector mvl_1 or the motion vector mvLO, the one that provides the inter-image difference, also called the lowest residual.

Landscapes

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

Abstract

Le procédé est caractérisé en ce que le mode trame ou bitrame est sélectionné selon les étapes suivantes: détermination d'un vecteur mouvement (23) associé au macrobloc colocalisé (22) du macrobloc à coder (21) et se trouvant dans l'image de référence suivante, macrobloc à coder (21) prédéfini, pour la sélection, en mode trame ou bitrame, mise à l'échelle (24) du vecteur mouvement (23) en fonction des distances temporelles entre les images de référence correspondant à ce vecteur mouvement et entre l'image courante, trame ou bitrame selon le mode prédéfini, et une image de référence choisie parmi les images de référence correspondant à ce vecteur mouvement, détermination du macrobloc temporel (25) dans l'image de référence choisie, désigné par le vecteur mouvement mis à l'échelle (24) attribué au macrobloc à coder (21), et de son mode de codage trame ou bitrame, sélection du mode de codage trame ou bitrame du macrobloc temporel (25) pour le codage pour le codage du macrobloc courant (21). Les applications concernent la compression de données exploitant par exemple la norme MPEG 4 part 10.

Description

DERIVATION DU MODE DE CODAGE OU BITRAME AU NIVEAU D'UNE PAIRE DE MACROBLOCS
VIDEO
L'invention concerne un procédé de codage par bloc d'image d'une séquence d'images vidéo.
Le domaine est celui de la compression de données vidéo. On s'intéresse en particulier aux schémas de compression par blocs réalisant un codage adaptatif bitrame/trame au niveau macrobloc, plus connu sous l'acronyme MBAFF, de l'anglais MacroBlock Adaptive Frame/Field. Les standards concernés sont par exemple le standard MPEG 4 part 2 et MPEG 4 part 10.
L'estimation de mouvement de type « appariement de blocs », plus connue sous l'appellation anglaise « block matching », est mise en œuvre, dans un codeur, pour exploiter la corrélation temporelle des images d'une séquence d'images. Elle permet le calcul de blocs prédits soustrait à un bloc courant pour un codage en mode inter. Du fait des différents choix dans les paramètres de codage proposés par les normes, par exemple la taille du bloc d'image pour l'estimation de mouvement, l'image ou les images de référence à partir desquelles sont effectuées ces estimations de mouvement, la trame supérieure, la trame inférieure ou l'image bi-trame pour ces images de référence, etc., une sélection étant ensuite effectuée en fonction de critères tels que le coût de codage, un nombre important de calculs de mouvement doit être réalisé par le codeur. Ces calculs sont coûteux en termes de temps et capacité de traitement. Les estimateurs de mouvement doivent être spécifiques au codeur ou du moins être compatibles de la multitude de choix proposés dans la norme et mis en œuvre par le codeur.
Par exemple dans le cas 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. La figure 1 représente différents types de partition d'un macrobloc de taille 16 lignes de 16 échantillons, pour un codeur exploitant cette norme. La première ligne correspond à une découpe horizontale et verticale d'un macrobloc de taille 16x16 respectivement en deux sous-macroblocs de taille 16x8 et 8x16 et en une découpe en quatre sous-macroblocs de taille 8x8. La deuxième ligne correspond à ces mêmes découpes en blocs mais à un niveau inférieur, pour un sous-macrobloc de taille 8x8. Le terme image désigne par la suite une image bitrame (frame en anglais) ou une trame (field en anglais). L'image bitrame est divisée en deux trames entrelacées qui sont montrées à intervalle différent. La première trame dans le temps, 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.
Dans le cas du codage par paire de macroblocs ou codage adaptatif trame/bitrame, ou codage MBAFF, l'estimateur de mouvement fournit, par macrobloc, 1 champ de vecteurs mouvement pour l'image bitrame, 2 champs de vecteurs mouvement pour les trames. La figure 2 représente un exemple d'un tel codage MBAFF.
Des macroblocs 16x16 référencés 1 et 2 appartiennent à une première trame supérieure représentée en trait plein vertical, et un macrobloc 16x16 référencé 3 appartient à la trame supérieure suivante représentée en trait plein.
Des macroblocs 16x16 référencés 4 et 5 appartiennent à une première trame inférieure représentée en trait pointillé, et un macrobloc 16x16 référencé 6 appartient à la trame inférieure suivante représentée en trait pointillé.
Les paires de macroblocs en mode bitrame, référencées 7 et 8, sont constituées de deux macroblocs 16x16, chacun appartenant à l'image entrelacée ou image bi-trame, et donc eux-mêmes constitués d'une succession de lignes des trames supérieures et inférieures, premières trames pour la paire référencée 7 et trames suivantes pour la paire référencée 8.
Si la paire de macroblocs est codée en mode bi-trame, référence 8, le vecteur mouvement associé référencé 9 pointe vers l'image entrelacée précédente, désignant une paire de macroblocs 16x32 référencé 7.
Les paires de macroblocs en mode trame, référencées (1 , 4), (2, 5) ou (3, 6) sont constituées d'un macrobloc supérieur contenant les lignes de la trame supérieure ou trame impaire et un macrobloc inférieur contenant les lignes de la trame inférieure ou trame paire. Si la paire de macroblocs (3, 6) est codée en mode trame, le vecteur mouvement associé au macrobloc supérieur peut pointer soit sur un macrobloc de la trame supérieure ou trame impaire précédente, vecteur référencé 10, soit sur un macrobloc de la trame inférieure ou trame paire précédente, vecteur référencé 11. Le vecteur mouvement associé au macrobloc inférieur peut pointer soit sur un macrobloc de la trame paire précédente, vecteur référencé 12, soit sur un macrobloc de la trame impaire précédente, vecteur référencé 13. Ainsi, pour un macrobloc, 3 vecteurs mouvement sont calculés, pour une image de référence, pour chacun des 5 sous macroblocs de taille 16x16, 16x8 et 8x16 et chacun des 9 blocs constituant les 4 sous macroblocs de taille 8x8.
La figure 3 représente un exemple d'une portion de séquence d'images vidéo numérotées de 1 à 8, selon l'ordre d'affichage ou ordre temporel. Les images indicées 0 et 4, respectivement des images de référence intra Io et prédictive P4, bornent 3 images biprédictives B-i, B2, B3.
Toujours dans le cas d'un encodeur faisant appel à la norme H264 ou MPEG 4 part 10, le processus d'encodage des images biprédictives ou de type B est plus complexe que celui des images prédictives de type P. Les images de type B possèdent 2 listes d'images de prédiction ou images de référence, appelées liste 0 et liste 1 , alors que les images de type P n'en possèdent qu'une, liste 0, induisant par là même plus de calculs. D'autre part, le nombre de modes de codage pour les macroblocs de type B est plus important, mode biprédictif, mode direct etc., augmentant d'autant la complexité de l'algorithme de décision de codage.
Ainsi, pour des macroblocs de taille 16x16, dans le mode multi- références, le nombre de vecteurs mouvement est multiplié par le nombre d'images de référence.
Du fait que, en mode MBAFF, la décision de mode de codage, par exemple 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, les combinaisons possibles et la charge de calcul en découlant sont très importantes.
Un but de l'invention est de pallier les inconvénients précités. L'invention a pour objet un procédé de codage par blocs d'images d'une séquence d'images vidéo effectuant, au niveau d'une paire de macroblocs, une sélection d'un mode de codage parmi une pluralité de modes de codage en intra ou en inter, le macrobloc pouvant être codé en mode trame ou en mode bi-trame selon qu'il est relatif respectivement à une seule trame ou à deux trames, le codage d'un macrobloc d'une image de type biprédictif exploitant au moins deux images de référence, caractérisé en ce que le mode trame ou bitrame est sélectionné selon les étapes suivantes :
- détermination d'un vecteur mouvement associé au macrobloc colocalisé du macrobloc à coder et se trouvant dans l'image de référence suivante, macrobloc à coder prédéfini, pour la sélection, en mode trame ou bitrame,
- mise à l'échelle du vecteur mouvement en fonction des distances temporelles entre les images de référence correspondant à ce vecteur mouvement et entre l'image courante, trame ou bitrame selon le mode prédéfini, et une image de référence choisie parmi les images de référence correspondant à ce vecteur mouvement,
- détermination du macrobloc temporel dans l'image de référence choisie, désigné par le vecteur mouvement mis à l'échelle attribué au macrobloc à coder, et de son mode de codage trame ou bitrame,
- sélection du mode de codage trame ou bitrame du macrobloc temporel (25) pour le codage pour le codage du macrobloc courant.
Selon une mise en œuvre particulière, le procédé est caractérisé en ce que le vecteur mouvement associé au macrobloc colocalisé est le vecteur mouvement associé au bloc se trouvant en haut et à gauche du macrobloc partitionné.
Selon une mise en œuvre particulière, le procédé est caractérisé en ce que le vecteur mouvement associé au macrobloc colocalisé est le vecteur mouvement calculé, lors de la détermination du mode de codage et partitionnement de ce macrobloc, pour le bloc de dimension 16x16.
Selon une mise en œuvre particulière, le procédé est caractérisé en ce que l'image de référence choisie est l'image de référence précédente ou l'image de référence suivante la plus proche de l'image courante.
Le procédé peut être mis en œuvre dans un procédé de codage d'une image de type biprédictive selon la norme MPEG4 part 10.
Selon une mise en œuvre particulière, le procédé est caractérisé en ce qu'une deuxième image de référence est choisie parmi les images de référence correspondant au vecteur mouvement, pour une deuxième mise à l'échelle du vecteur mouvement, en ce qu'un deuxième macrobloc temporel est déterminé dans cette deuxième image de référence, à partir de ce deuxième vecteur mouvement mis à l'échelle, en ce la différence inter image est calculée entre le macrobloc courant et chacun des macroblocs temporels et en ce que le codage du macrobloc courant est effectué en exploitant, pour la sélection du mode de codage, le même mode de codage trame ou bi-trame que celui du macrobloc temporel ayant la plus faible différence inter image.
Selon une mise en œuvre particulière, le procédé est caractérisé en ce que le mode de codage trame ou bitrame est sélectionné au niveau d'une paire de macroblocs, en ce que la sélection est effectuée pour un des macroblocs de la paire de macroblocs et en ce que le mode sélectionné est affecté aux deux macroblocs de la paire.
Selon une mise en œuvre particulière, le procédé est caractérisé en ce que le mode de codage trame ou bitrame est sélectionné au niveau d'une paire de macroblocs, en ce que la sélection est effectuée pour chacun des macroblocs de la paire de macroblocs et en ce que, lorsque le mode sélectionné est différent pour les macroblocs, le mode de codage retenu pour la paire de macroblocs est celui correspondant au macrobloc donnant la différence inter image la plus faible entre le macrobloc de la paire courante et le macrobloc temporel correspondant.
Le codage adaptatif bitrame/trame apporte un gain substantiel en compression. Grâce à l'invention, cette fonctionnalité est exploitée avec un coût raisonnable en terme de mise en oeuvre en utilisant des résultats de calcul déjà effectués dans les images de référence.
Une présélection du mode de codage trame ou bitrame (MBAFF) est effectuée au niveau de chaque paire de macroblocs appartenants à des images de type biprédictif (B slices). Cette présélection permet de réduire considérablement le nombre de calculs à effectuer dans le module de décision macrobloc permettant de choisir le mode de codage.
La solution proposée part du principe qu'il y a une continuité dans le mouvement. Elle consiste à ne pas recalculer la décision de codage bitrame/trame pour les macroblocs des images à codage biprédictif mais à récupérer cette décision dans les macroblocs des images de référence, de type P ou I, diminuant ainsi la complexité de mise en œuvre du codage adaptatif bitrame/trame pour les macroblocs de type B. 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 partitions d'un macrobloc et sous-macrobloc,
- la figure 2, un exemple du mode MBAFF,
- la figure 3, une séquence d'images de type I, P et B,
- la figure 4, un exemple du mode direct temporel.
Les modes de codage des images biprédictives exploitent des modes de prédiction par exemple décrits dans le document ISO/IEC FCD 14496-10, paragraphe 10, intitulé « decoding process for B slices ». Il s'agit du mode intra, du mode direct, du mode biprédictif exploitant des images de référence de la liste 0 et/ou de la liste 1 , du mode prédictif liste 0 ou liste 1 exploitant une image de la liste 0 ou de la liste 1. Ces modes de prédiction peuvent être choisis séparément pour chacun des sous-macroblocs ou blocs d'image du macrobloc à coder.
Ce même paragraphe 10 décrit le mode de prédiction direct, pour les macroblocs appartenant à une image de type B, qui permet de ne pas transmettre d'information de mouvement.
Le mode « direct spatial » consiste, par exemple, à calculer un prédicteur 16x16, vecteur mouvement associé au macrobloc de 16x16 pixels, en exploitant des vecteurs mouvement des macroblocs voisins, en effectuant par exemple un filtrage médian de ces vecteurs voisins.
Le mode « direct temporel » consiste, dans une technique, à exploiter la même structure de bloc que celle du macrobloc colocalisé de la première image dans la liste 1 des images de référence. Pour chaque bloc du macrobloc courant, les vecteurs mouvement de la liste 0 et de la liste 1 , c'est à dire les vecteurs mouvement pointant respectivement dans l'image de référence de la liste 0 et l'image de référence de la liste 1 , sont obtenus en mettant à l'échelle les vecteurs mouvement de la liste 0 du bloc colocalisé correspondant.
La figure 4 représente un exemple de l'exploitation d'un mode direct temporel pour la sélection du mode de codage MBAFF d'un macrobloc courant référencé 21 d'une image courante biprédictive B. Les lignes verticales pointillées notées f0 et f-, représentent les trames paires et impaires et les lignes verticales pleines à l'intérieur représentent l'image bitrame correspondante. Les différentes étapes du processus sont décrites ci-après.
Les macroblocs de l'image de type B peuvent être codés, dans le cas ou le mode adaptatif trame/bitrame existe, en mode trame ou bien en mode bitrame, également connus sous l'appellation respective de mode champ et mode image.
Le macrobloc colocalisé, dans la première image de référence stockée dans la liste 1 des images de référence, c'est à dire le macrobloc se trouvant au même emplacement, dans cette image, que le macrobloc courant de l'image courante, est référencé 22 sur la figure. Le vecteur mouvement mvCol attribué au macrobloc colocalisé, et permettant de déterminer le macrobloc de prédiction dans l'image de référence de la liste 0, est référencé 23. Dans l'exemple de la figure 4, le macrobloc courant et donc le macrobloc colocalisé sont choisis en mode bitrame.
A partir du vecteur de mouvement 23 attribué au macrobloc colocalisé est calculé le vecteur de mouvement mvLO référencé 24. Il s'agit d'une mise à l'échelle du vecteur de mouvement du macrobloc colocalisé : mvLO = DistScaleFactor * mvCol avec
DistScaleFactor = TDB/TDD, quotient de la distance temporelle entre l'image courante et l'image de référence passée par la distance temporelle entre l'image de référence future et l'image de référence passée, mvCol, vecteur de mouvement de la première partition du macrobloc colocalisé, correspondant au bloc situé en haut et à gauche du macrobloc partitionné, numéroté 0 dans la norme.
Ce vecteur mouvement mvLO mis à l'échelle est ensuite appliqué au macrobloc courant pour déterminer la position du macrobloc temporel 25 dans l'image de référence passée de la liste 0. L'information de codage trame/bitrame relative au codage de ce macrobloc temporel 25 est récupérée pour être exploitée par le macrobloc courant.
L'idée consiste ainsi à aller chercher l'information de codage trame/bi-trame dans les macroblocs des images de référence dans la direction du mouvement, pour ne pas avoir à la recalculer. Le processus de prédiction direct temporel permet de récupérer le mode de codage trame/bitrame dans le macrobloc pointé par le vecteur de mouvement temporel direct.
Le vecteur mouvement mvCol est le vecteur mouvement associé au macrobloc colocalisé. Ce macrobloc est en fait partitionné en blocs comme représenté sur la figure 1 et une partition a été retenue pour son codage avec des vecteurs mouvement attribués aux blocs de la partition comme mentionné plus haut. Le vecteur mvCol associé au macrobloc est choisi comme étant le vecteur associé au bloc 0, c'est à dire le bloc en haut et à gauche du macrobloc. Il serait tout aussi envisageable de choisir, comme vecteur de mouvement associé au macrobloc, entre autres, le vecteur de mouvement calculé pour le bloc de dimension 16x16 lors des opérations de corrélations, c'est à dire les opérations de sélection du mode de codage de ce macrobloc colocalisé.
Si le macrobloc colocalisé a été encodé en mode intra, alors la paire de macroblocs courante est encodée conformément au mode de codage trame ou bitrame de ce macrobloc intra. Le processus de prédiction direct temporel n'est pas déroulé.
La boucle d'encodage de l'encodeur, s'il est conforme au standard H264 et donc s'il supporte le mode direct temporel, réalise tous les calculs nécessaires à la réalisation de cet algorithme, le processus étant en partie similaire à ce mode de codage direct temporel.
Le raisonnement précédent a été fait en considérant le macrobloc courant en mode bitrame. Il aurait été tout aussi envisageable de partir d'un macrobloc courant en mode trame. C'est en effet une hypothèse de départ pour déterminer si le macrobloc courant sera effectivement codé en mode trame. Les vecteurs mouvement mvLO sont mis à l'échelle en fonction de cette hypothèse de départ, c'est à dire en prenant en compte la distance temporelle entre l'image de référence exploitée de la liste 0, trame ou bitrame et la trame ou bitrame de l'image courante B correspondant à l'hypothèse choisie, c'est à dire au mode trame ou bitrame du macrobloc courant.
Par hypothèse également, le macrobloc supérieur de la paire de macroblocs est choisi comme macrobloc courant et le mode sélectionné pour ce macrobloc est appliqué au macrobloc inférieur de la paire de macroblocs. La détermination du mode de codage trame ou bitrame est donc effectuée, dans l'exemple donné, au niveau d'un macrobloc de la paire de macroblocs. Une variante de l'invention consiste à raisonner au niveau de la paire de macroblocs courante pour la sélection du mode de codage trame ou bitrame. La paire de macroblocs colocalisée nous donne alors deux vecteurs mouvements vers l'image de référence de la liste 0, un pour chaque macrobloc. On a alors deux macroblocs temporels pour une paire de macroblocs courante. L'algorithme de décision du mode de codage trame ou bitrame peut alors être le suivant :
- si les deux macroblocs temporels sont codés dans le même mode de codage trame ou bitrame, ce mode est sélectionné pour la paire de macroblocs courante.
- si les deux macroblocs temporels sont codés dans des modes de codage trame ou bitrame différents, le mode sélectionné est celui du macrobloc qui fournit la différence inter image la plus faible.
Une variante de l'invention consiste à exploiter non pas le macrobloc temporel dans une image de référence de la liste LO mais dans une image de référence de la liste L1. Il s'agit du macrobloc pointé par le vecteur de prédiction temporel appelé mvL1 , vecteur pointant du macrobloc courant vers l'image la plus proche de l'image courante et appartenant à la liste 1 des images de référence et obtenu par mise à l'échelle du vecteur associé au macrobloc colocalisé : mvL1 = (TDD-TDB)/TDD * mvCol.
Une autre variante consiste à exploiter le mode de codage trame/bitrame du macrobloc colocalisé ou le mode de codage du macrobloc pointé par un des vecteurs de mouvement calculés dans la boucle d'encodage lors du codage du macrobloc colocalisé. Il est par exemple possible de sélectionner le mode de codage du macrobloc pointé par le vecteur de mouvement calculé pour le mode inter 16x16 du bloc colocalisé, vecteur trame ou bitrame.
Il est également possible de prendre en compte les modes de codage du macrobloc désigné par le vecteur mouvement mvLO et du macrobloc désigné par le vecteur mouvement mvL1 pour décider du mode de codage trame/bitrame du macrobloc courant.
Une autre possibilité consiste à prendre en compte les modes de codage du macrobloc colocalisé et du macrobloc désigné par un vecteur mouvement 23 associé au macrobloc colocalisé dans l'image de référence de la liste LO. L'algorithme de décision du mode de codage trame ou bitrame peut alors être le suivant :
- si les deux macroblocs sont codés dans le même mode de codage trame ou bitrame, ce mode est sélectionné pour la paire de macroblocs courante. - si les deux macroblocs sont codés dans des modes de codage trame ou bitrame différents, le mode sélectionné est celui du macrobloc qui fournit la différence inter image la plus faible.
Une variante consiste, sur la base du processus de prédiction temporel direct, à utiliser une combinaison des vecteurs mvl_1 et mvLO pour mettre en œuvre le procédé. Par exemple, il est possible de choisir le type de codage trame ou bitrame en fonction de la zone pointée par le vecteur mouvement mvl_1 ou le vecteur mouvement mvLO, celui qui fournit la différence inter-image, aussi appelée résidu, la plus faible.

Claims

REVENDICATIONS
1. Procédé de codage par blocs d'images d'une séquence d'images vidéo effectuant, au niveau d'une paire de macroblocs, une sélection d'un mode de codage parmi une pluralité de modes de codage en intra ou en inter, le macrobloc pouvant être codé en mode trame ou en mode bi-trame selon qu'il est relatif respectivement à une seule trame ou à deux trames, le codage d'un macrobloc d'une image de type biprédictif exploitant au moins deux images de référence, caractérisé en ce que le mode trame ou bitrame est sélectionné selon les étapes suivantes :
- détermination d'un vecteur mouvement (23) associé au macrobloc colocalisé (22) du macrobloc à coder (21 ) et se trouvant dans l'image de référence suivante, macrobloc à coder (21 ) prédéfini, pour la sélection, en mode trame ou bitrame,
- mise à l'échelle (24) du vecteur mouvement (23) en fonction des distances temporelles entre les images de référence correspondant à ce vecteur mouvement et entre l'image courante, trame ou bitrame selon le mode prédéfini, et une image de référence choisie parmi les images de référence correspondant à ce vecteur mouvement,
- détermination du macrobloc temporel (25) dans l'image de référence choisie, désigné par le vecteur mouvement mis à l'échelle (24) attribué au macrobloc à coder (21 ), et de son mode de codage trame ou bitrame,
- sélection du mode de codage trame ou bitrame du macrobloc temporel (25) pour le codage pour le codage du macrobloc courant (21 ).
2. Procédé de codage selon la revendication 1 , caractérisé en ce que le vecteur mouvement (23) associé au macrobloc colocalisé (22) est le vecteur mouvement associé au bloc se trouvant en haut et à gauche du macrobloc partitionné.
3. Procédé de codage selon la revendication 1 , caractérisé en ce que le vecteur mouvement (23) associé au macrobloc colocalisé (22) est le vecteur mouvement calculé, lors de la détermination du mode de codage et partitionnement de ce macrobloc, pour le bloc de dimension 16x16.
4. Procédé de codage selon la revendication 1 , caractérisé en ce que l'image de référence choisie est l'image de référence précédente ou l'image de référence suivante la plus proche de l'image courante.
5. Procédé de codage selon la revendication 1 , caractérisé en ce qu'il est mis en œuvre dans un procédé de codage d'une image de type biprédictive selon la norme MPEG4 part 10.
6. Procédé de codage selon la revendication 1 , caractérisé en ce qu'une deuxième image de référence est choisie parmi les images de référence correspondant au vecteur mouvement, pour une deuxième mise à l'échelle du vecteur mouvement (23), en ce qu'un deuxième macrobloc temporel est déterminé dans cette deuxième image de référence, à partir de ce deuxième vecteur mouvement mis à l'échelle, en ce la différence inter image est calculée entre le macrobloc courant et chacun des macroblocs temporels et en ce que le codage du macrobloc courant est effectué en exploitant, pour la sélection du mode de codage, le même mode de codage trame ou bi-trame que celui du macrobloc temporel ayant la plus faible différence inter image.
7. Procédé selon la revendication 1 , caractérisé en ce que le mode de codage trame ou bitrame est sélectionné au niveau d'une paire de macroblocs, en ce que la sélection est effectuée pour un des macroblocs de la paire de macroblocs et en ce que le mode sélectionné est affecté aux deux macroblocs de la paire.
8. Procédé selon la revendication 1 , caractérisé en ce que le mode de codage trame ou bitrame est sélectionné au niveau d'une paire de macroblocs, en ce que la sélection est effectuée pour chacun des macroblocs de la paire de macroblocs et en ce que, lorsque le mode sélectionné est différent pour les macroblocs, le mode de codage retenu pour la paire de macroblocs est celui correspondant au macrobloc donnant la différence inter image la plus faible entre le macrobloc de la paire courante et le macrobloc temporel correspondant.
EP07704281A 2006-02-08 2007-01-31 Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video Withdrawn EP1982525A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0650452A FR2897213A1 (fr) 2006-02-08 2006-02-08 Procede de codage par blocs d'images d'une sequence d'images video
PCT/EP2007/050959 WO2007090780A1 (fr) 2006-02-08 2007-01-31 Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video

Publications (1)

Publication Number Publication Date
EP1982525A1 true EP1982525A1 (fr) 2008-10-22

Family

ID=36821881

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07704281A Withdrawn EP1982525A1 (fr) 2006-02-08 2007-01-31 Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video

Country Status (6)

Country Link
US (1) US8687696B2 (fr)
EP (1) EP1982525A1 (fr)
JP (1) JP4907673B2 (fr)
CN (1) CN101379830B (fr)
FR (1) FR2897213A1 (fr)
WO (1) WO2007090780A1 (fr)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8457201B2 (en) * 2006-01-09 2013-06-04 Lg Electronics Inc. Inter-layer prediction method for video signal
US8634469B2 (en) * 2006-02-06 2014-01-21 Thomson Licensing Method and apparatus for reusing available motion information as a motion estimation predictor for video encoding
WO2008153262A1 (fr) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Procédé et appareil de codage biprévisionnel, procédé et appareil de décodage biprévisionnel et support d'enregistrement
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
FR2930059B1 (fr) * 2008-04-09 2010-04-09 Ateme Sa Traitement d'une sequence video dans une memoire cache
US9479786B2 (en) * 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
CN101742297B (zh) * 2008-11-14 2012-09-05 北京中星微电子有限公司 一种基于视频运动特征的宏块自适应帧场编码方法及设备
JP2011259093A (ja) * 2010-06-07 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
KR101484171B1 (ko) * 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
GB2488334B (en) * 2011-02-23 2015-07-22 Canon Kk Method of decoding a sequence of encoded digital images
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
WO2013006386A1 (fr) 2011-07-01 2013-01-10 General Instrument Corporation Simplification de conception de prédiction de vecteur de mouvement
US9819963B2 (en) * 2011-07-12 2017-11-14 Electronics And Telecommunications Research Institute Inter prediction method and apparatus for same
US9185428B2 (en) 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
CN104137549B9 (zh) * 2012-01-18 2020-06-05 韩国电子通信研究院 对图像进行编码和解码的方法及设备
ES2728146T3 (es) 2012-01-20 2019-10-22 Sun Patent Trust Procedimientos y aparato de codificación y decodificación de vídeo utilizando predicción temporal de vector de movimiento
CN103563373B (zh) 2012-02-03 2017-09-26 太阳专利托管公司 图像编码方法及图像编码装置
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
JP6421931B2 (ja) 2012-03-06 2018-11-14 サン パテント トラスト 動画像符号化方法及び動画像符号化装置
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
CN104601988B (zh) * 2014-06-10 2018-02-02 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2545394T3 (es) * 2001-11-21 2015-09-10 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
FR2872973A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage d'une sequence d'images sources

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2007090780A1 *

Also Published As

Publication number Publication date
US20090016439A1 (en) 2009-01-15
CN101379830A (zh) 2009-03-04
WO2007090780A1 (fr) 2007-08-16
JP2009526456A (ja) 2009-07-16
US8687696B2 (en) 2014-04-01
CN101379830B (zh) 2011-10-19
FR2897213A1 (fr) 2007-08-10
JP4907673B2 (ja) 2012-04-04

Similar Documents

Publication Publication Date Title
EP1982525A1 (fr) Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video
US7580456B2 (en) Prediction-based directional fractional pixel motion estimation for video coding
EP1960967B1 (fr) Estimation de mouvement utilisant une recherche decimee guidee par une prediction
US10306260B2 (en) Device and method for fast block-matching motion estimation in video encoders
KR102295520B1 (ko) 비디오 코딩에서 모션 보상 예측을 위한 광흐름 추정
US9241160B2 (en) Reference processing using advanced motion models for video coding
KR100941123B1 (ko) 에러 은닉을 위한 직접 모드 도출 프로세스
US9621917B2 (en) Continuous block tracking for temporal prediction in video encoding
Zhou et al. Fast variable block-size motion estimation algorithm based on merge and slit procedures for H. 264/MPEG-4 AVC
FR2872973A1 (fr) Procede ou dispositif de codage d'une sequence d'images sources
US8644395B2 (en) Method for temporal error concealment
US20100201870A1 (en) System and method for frame interpolation for a compressed video bitstream
EP3714601B1 (fr) Rendu de trame de référence basée sur un champ de mouvement pour une prédiction à compensation de mouvement en codage vidéo
FR2908007A1 (fr) Procede de codage d'une sequence d'images
WO2009134641A2 (fr) Appareil et procédé pour une prédiction en mode intra de qualité élevée dans un codeur vidéo
KR20130119465A (ko) 블록 기반의 샘플링 코딩 시스템
FR2872974A1 (fr) Procede ou dispositif de codage adaptatif
JP2010288098A (ja) 画像フレーム補間装置、画像フレーム補間方法及び画像フレーム補間プログラム
KR102813427B1 (ko) 구축된 아핀 병합 후보들을 도출하기 위한 방법
WO2012123321A1 (fr) Procédé de reconstruction et de codage d'un bloc d'image
EP4512074A1 (fr) Procédés et dispositifs de compensation d'éclairage local améliorée
Fluegel et al. A highly parallel sub-pel accurate motion estimator for H. 264
WO2025214120A1 (fr) Procédés et appareil de mode de saut voisin et de pondération dérivée par régression dans une compensation de mouvement de blocs en chevauchement pour un codage vidéo
López et al. A high quality/low computational cost technique for block matching motion estimation [video coding applications]
Tang et al. Adaptive frame recovery based on motion activity

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080804

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 20090302

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: THOMSON LICENSING

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: THOMSON LICENSING DTV

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20170612

RIC1 Information provided on ipc code assigned before grant

Ipc: H04N 19/139 20140101AFI20170530BHEP

Ipc: H04N 19/513 20140101ALI20170530BHEP

Ipc: H04N 19/577 20140101ALI20170530BHEP

Ipc: H04N 19/16 20140101ALI20170530BHEP

Ipc: H04N 19/176 20140101ALI20170530BHEP

Ipc: H04N 19/112 20140101ALI20170530BHEP

Ipc: H04N 19/61 20140101ALI20170530BHEP

RIN1 Information on inventor provided before grant (corrected)

Inventor name: THOREAU, DOMINIQUE

Inventor name: HIRON, FRANCK

Inventor name: OLIVIER, YANNICK

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20171024