EP2561679A1 - Procédé de traitement d'une information de mouvement et procédés de codage - Google Patents

Procédé de traitement d'une information de mouvement et procédés de codage

Info

Publication number
EP2561679A1
EP2561679A1 EP11731021A EP11731021A EP2561679A1 EP 2561679 A1 EP2561679 A1 EP 2561679A1 EP 11731021 A EP11731021 A EP 11731021A EP 11731021 A EP11731021 A EP 11731021A EP 2561679 A1 EP2561679 A1 EP 2561679A1
Authority
EP
European Patent Office
Prior art keywords
motion information
information
list
association
coded
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.)
Ceased
Application number
EP11731021A
Other languages
German (de)
English (en)
Inventor
Joël JUNG
Julien Le Tanou
Jean-Marc Thiesse
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of EP2561679A1 publication Critical patent/EP2561679A1/fr
Ceased 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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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 field of the invention is that of coding and decoding images, and in particular a video stream consisting of a series of successive images.
  • the invention relates to prediction coding techniques implementing the coding of motion information relating to an image, for example the coding of motion vectors, or motion residues.
  • the invention can notably apply to video coding implemented in current (MPEG, H.264, etc.) or future (ITU-T / VCEG (H.265) or ISO / MPEG (HVC) video encoders) .
  • a block consists of a set of points or pixels, the block may have a square shape, rectangular, triangle or other geometric shapes.
  • the coder calculates, for a current block to be encoded, a motion residual, also called motion residue, by subtracting a predictor p from the current motion vector mv:
  • the coders present in H.264 adapt to the context, that is to say that the current residue can be coded differently depending on the neighboring vectors (the code words are different), they do not make it possible to consider a lower-cost objective of encoding motion information when calculating the motion information.
  • the invention proposes a new solution that does not have all of these disadvantages of the prior art, in the form of a method of processing at least one motion information / mv relating to a current image of a sequence of images.
  • such a method comprises:
  • the invention is based on a new and inventive approach to improving encoding an image, for associating motion information relating to said image with motion information to be encoded from potential motion information.
  • this association is first performed according to predetermined criteria and to achieve a coding improvement objective, expressed according to a first rule, and a goal that all the information of potential movements are associated with a single motion information to be encoded.
  • the method according to the invention constructs a list comprising potential movement information, that is to say potentially able to be selected, according to predefined conventional coding criteria, for coding the image in question. .
  • This list includes in particular already encoded motion information, that is to say already selected by an encoder, according to predetermined criteria, for example when coding images preceding the current image, or when coding blocks of the current image, preceding the encoding of the current block.
  • This movement information is subsequently noted as "expected" motion information.
  • This list also contains “theoretical" motion information, that is to say potentially usable for coding the image or block, but not previously coded, so not previously selected by an encoder, nor when encoding images preceding the current image, nor when encoding blocks of the current image, preceding the encoding of the current block.
  • This movement information is subsequently noted as “unexpected" motion information.
  • This potential motion information has different component values.
  • the motion information is information conventionally allowing the coding of an image by motion compensation prediction from at least one reference image.
  • the motion information is for example motion vectors, or movement residues, corresponding to a difference between a motion vector and a predictor (the latter corresponding for example to a vector median movement motion vectors of neighboring blocks of the current block , already coded).
  • the list is modified, according to a first rule, by adding at least one association between one of the expected movement information it initially contains, and a motion information to be coded, identified among the Unexpected movement information from the start list and the expected movement information from the start list already associated during a previous iteration of this first association step.
  • This motion information to be encoded is identified to potentially enhance the coding of the image or block of the image. Indeed, if the associated motion information is selected for this block, when encoding (according to predefined conventional coding criteria), this The motion information to be coded is the one that will actually be encoded for the block.
  • the expected motion information is processed according to a predetermined order, defined by a processing priority criterion detailed below.
  • the list is modified, according to a second rule, by adding at least one association between one of the unexpected motion information that was not associated during the first association step, and a motion information to be encoded, identified among the movement information of the start list so that all the movement information of the start list is associated once to a single motion information to be encoded.
  • the list is constructed, or updated, for each block to be encoded of the current image.
  • said first association step comprises a first selection step, according to at least one first processing priority criterion, of at least one of said expected movement information of said list, called current motion information, and for said current motion information, at least one iteration of the following substeps, as long as said first rule is not checked:
  • a first rule is thus used to obtain motion information to be coded during the first association step.
  • the first rule defines a coding improvement objective aimed at reducing, at the time of coding a block or an image, the coding cost of a movement information for this block, or this image. .
  • the first rule also defines a first processing priority criterion for determining the current motion information to be considered among the expected motion information, and a second processing priority criterion for determining the unexpected motion information to be considered.
  • the unexpected motion information and the expected motion information already associated are considered indiscriminately, that is, first, the unexpected motion information is not considered, and then the expected motion information already associated, but all this information one after the other as long as the objective of improving the coding cost is not achieved,
  • the unexpected motion information is chosen if it can be considered that its coding cost would be a priori lower than the coding cost of the current motion information.
  • said current movement information is associated with itself.
  • these coding costs are calculated in order to verify the coding cost optimization hypothesis.
  • said second association step comprises at least one iteration of the following steps:
  • a second substep of identification according to at least a fourth processing priority criterion, of said unmatched non-associated motion information during said first association step and said associated expected motion information during said first step; of association, of a movement information to be coded and
  • the second rule is that all movement information in the start list is associated with motion information at. encode, while attempting to achieve a coding cost optimization objective, for example, to obtain the least "unfavorable" coding cost of the motion information to be encoded, with respect to its associated motion information .
  • the second association step also takes into account criteria (third and fourth) of processing priority of the movement information of the list, as already described above in relation to the first and second criteria.
  • processing priority criteria correspond to at least one parameter belonging to the group comprising:
  • the processing priority may depend on different parameters, combined or not.
  • the processing priority corresponds to a processing direction of the movement information, when it is represented "graphically" in a repository.
  • a repository represents motion information according to two dimensions (x, y), each corresponding to a component of the motion information, when it is representative of a movement in two dimensions.
  • a frame of reference represents a movement information in three dimensions (x, y, z), each corresponding to a component of the motion information, when this is representative of a movement in three dimensions.
  • motion information can be represented by a point, or a position, whose coordinates in this frame of reference correspond to the values of the components of the motion information.
  • the center of the repository can for example represent a zero movement.
  • the processing priority takes into account a frequency of appearance of the motion information in the previous codings performed. (coding of the images preceding the current image and / or coding of the blocks preceding the current block).
  • an expected motion information may be associated with an occurrence frequency indicating the number of times it has been previously coded, i.e. selected by the coder, or an order of magnitude of the number of times it has been previously coded. For example, it may be considered that the motion information with the highest frequency of occurrence will be processed in priority.
  • the processing priority takes into account a degree of confidence associated with motion information, that is, the processing priority takes into account a more or less significant probability value that a movement information of the list is effectively selected for block coding according to predefined conventional coding criteria.
  • the motion information with the highest degree of confidence is treated first.
  • these parameters may be combined to define the processing priority.
  • processing direction belongs to the group comprising:
  • processing direction is centered on a predetermined motion information or a barycenter of said motion information of said list.
  • a direction of processing the information when represented in a repository, consists in traversing the points or positions representing the movement information, according to a predefined geometric template, such as a spiral or a diamond.
  • a spiral is scanned away from the center thereof, this center being represented by a predetermined movement information or a barycenter of the motion information represented.
  • a direction of information processing can take into account the respective positions of the represented motion information. For example, priority is given to the motion information whose positions are farthest from the center of the reference frame, that is to say the movement information representative of a large movement.
  • said construction step takes into account a number n of reference images.
  • the temporal activity of the scene can be taken into account. For example, if the successive images are very different from each other, then the already encoded motion information may not be relevant to the current image. In this case, it is best not to consider a large number of previous images.
  • the invention also relates to a method of encoding at least one current block of a current image of an image sequence.
  • such a coding method implements a treatment method as described above and the following steps:
  • the invention makes it possible to code motion information in an optimized manner.
  • the coded motion information is not directly the selected motion information, according to conventional criteria predetermined for coding, but a modified motion information according to the invention, associated with the selected motion information.
  • the coding of a current image is optimized because it has a globally reduced coding cost for all the blocks of the image, compared with the prior art.
  • the reduction of the coding cost corresponds to a reduction in the cost of transport, between an encoder and a decoder, of the movement information associated with the blocks of an image.
  • the transmission rate can be increased compared with the prior art.
  • Another aspect of the invention relates to a signal representative of at least one coded block of an image of a sequence of images.
  • a signal carries at least one encoded motion information according to the coding method described above.
  • such a signal also carries information representative of a number n of reference images.
  • the invention also relates to a method for decoding at least one current block of a current image of a sequence of images.
  • such a decoding method comprises the following steps: receiving and decoding a coded motion information according to the encoding method described above, delivering decoded motion information;
  • Another aspect of the invention relates to a device for processing at least one movement information relating to a current image of a sequence of images.
  • a treatment device comprises:
  • Means for constructing at least one list L comprising at least one motion information, called expected motion information iinvi-a, resulting from a motion compensation prediction from at least one reference image and having has been previously coded, and at least one motion information, called untimely movement information Imvi- ⁇ , not previously coded;
  • said first association means being adapted to respect a first coding cost optimization rule of said motion information to be coded and to issue a modified list L comprising at least one association (Imv r a, ⁇ );
  • said second association means being adapted to comply with a second rule that each of the movement information Jmvi of said list is associated, by said first or second association means, with a single motion information to be encoded ⁇ , the second association means delivering a modified list L including as many associations (Imv i -a, I'mv i ) as motion information in the list L constructed by the means of construction.
  • Such a processing device is particularly suitable for implementing the steps of the treatment method described above.
  • This device may of course include the various features relating to the treatment method according to the invention.
  • the features and advantages of this treatment device are the same as those of the treatment method, and are not detailed further.
  • a coding device also called coder
  • a coding device of at least one current block of a current image of a sequence of images.
  • a coding device comprises means of the treatment device described above and:
  • the invention also relates to a device for decoding at least one current block of a current image of a sequence of images, comprising:
  • Means for reconstructing said block from said selected motion information Means for reconstructing said block from said selected motion information.
  • the invention relates to a computer program comprising instructions for the implementation of a method of processing, coding or decoding as described above, when this program is executed by a processor.
  • FIG. 1 already commented on in relation with the prior art, illustrates an exemplary encoding system according to the prior art H.264 technique;
  • FIG. 2 illustrates the main steps of the method of processing an image-related motion information according to an embodiment of the invention
  • FIGS 3a and 3b respectively illustrate the first and second association steps. the treatment method of Figure 2;
  • FIGS. 4a, 4b, 5a, 5b and 6 illustrate examples of representation of motion information for a current block of an image
  • FIG. 7 illustrates an example of a simplified structure of a processing device, according to one embodiment of the invention.
  • the general principle of the invention is based on the processing of a motion information Imv relating to an image of a sequence of images, so as to deliver to the encoder, for the coding of the image, or a block of the image, a modified motion information I'mv, hereinafter called motion information to be encoded, whose coding cost is a priori optimized with respect to the motion information before processing.
  • the invention makes it possible to obtain an overall improvement in the encoding cost of a sequence of video images, by not directly coding the motion information Imv relative to each image, but a motion information processed I'mv according to the invention.
  • the invention is based on a set of potentially useful movement information for coding the block, or the image.
  • the construction of this assembly according to the invention then allows the processing of each of the motion information that it contains, so that the motion information that will actually be selected for the coding of the block, or of the image, is processed. also.
  • Motion information Imv is considered to be information conventionally enabling the coding of an image by motion compensation prediction from at least one reference image.
  • a motion information is, for example, a motion vector, or a movement residue, corresponding to a difference between a motion vector and a predictor (the latter corresponding for example to a vector median movement of motion vectors of the neighboring blocks of the current block , already coded), or a predictor.
  • the processing of the motion information according to the principle of the invention is also implemented, in order to efficiently decode the motion information relative to the block, or image, in the process of reconstruction.
  • a motion information Imv corresponds to a movement residue Bnv, calculated for example according to the known technique described in relation with the prior art, for a block of a current image of a sequence images.
  • the treatment method according to this embodiment of the invention mainly comprises three stages 20, 21 and 22.
  • a first step of building a list L all the previously selected and coded motion information is coded during the coding of one or more images preceding the current image and / or during the coding of blocks preceding the current image. . current block.
  • This movement information is subsequently called expected motion information, and noted Imvi-a.
  • step 20 all the potentially selectable motion information from the encoder, different from the motion information Imvi-a, called theoretical motion information or unexpected motion information, and noted Imvi -n / A.
  • FIG. 4a firstly presents an "Image" image, in which a current block is being processed according to the method of the invention. This block is represented by a hatched square. Previously coded neighboring blocks are represented by white squares with black dots
  • motion information mvj to mv4 is represented in the form of vectors by arrows along the x and y axes each corresponding to a component of the motion information.
  • This motion information corresponds to the previously coded motion vectors of the neighboring blocks of the current block.
  • the motion information mvj corresponds approximately to a movement of two blocks to the right, and two blocks to the bottom, while the motion information mvj corresponds approximately to a movement of a block to the right, and a block up.
  • the motion information P corresponds to the calculated predictor for the current block.
  • FIG. 4b is represented a specific reference centered on the predictor P, under the form of a dotted window, making it possible to represent relative to the predictor P of the current block the motion information Imv by points, also called positions, according to their components.
  • This repository corresponds to the repository of the potential motion residuals for the coding of the motion residual of the current block.
  • Each of the motion information Imv1 to Imv4 is the difference between. on the one hand respectively each motion vector mv 1 to mv 4 and, on the other hand, the motion information P (the motion vector predictor).
  • the size of the dotted window being predetermined and defining the size of the list L.
  • this number n of images preceding the current image taken into account for the construction of the list may vary, according to certain criteria, related for example to the temporal activity of the image sequence.
  • this number n must be known to the decoder, and can for example be transmitted to it in a signal.
  • the motion information from reference images and therefore temporally distant from the current image, are classically rescaled, so as to manage the temporal distance.
  • this list can include the movement information of the blocks previously coded to the current block, so it can be updated for each block.
  • an objective is to associate with each of the information Imv t -, including the motion information Imvj-a and Imvj-na, a unique motion information ⁇ , having a priori an optimized coding cost.
  • a motion information Jmv / is selected for the current block, according to known coding criteria, it is the motion information to be coded / W; associated according to this embodiment of the invention which is encoded by the encoder, thereby optimizing the coding cost of the block.
  • a first association step 21 consists of associating, when possible, all the expected motion information Imvfa of the list L with motion information I'mv i , chosen from the unexpected motion information Imv t -na from the list L and the expected motion information associated with a previous iteration of the first step 21, so that the coding cost of I'mvi is a priori lower than that of Imvi-a.
  • This optimization of the coding cost is defined according to a first rule.
  • This first association step may for example consist of creating a second column in the list L, or of creating links between the various elements of the list. L, thus modifying it in a list L '.
  • each element of the starting list L that has not been associated during step 21 is processed, so that, at the end of this second association step 22, each movement information / mv / from the start list L is associated with a motion information to code ⁇ ,.
  • the movement information processed during this second step is unexpected motion information Imv i -na that has not "served” an association, in the first step 21,
  • Figure 5a graphically represents the motion information of the list L as black dots for the expected motion information hnv r - a and white for the unexpected motion information Iinvi-na.
  • FIG. 3a illustrates the main substeps of the association step 21, namely a selection sub-step 210, an identification sub-step 211 and an association sub-step 212 itself.
  • the first selection sub-step 210 firstly consists in selecting, according to a processing priority criterion, a motion information Imvi-a from the list L to be processed first. Since the purpose of this first association step 21 is an optimization of the coding cost, it is preferable to process Imvi-a motion information considered to have a higher potential of being selected at the time of coding. Thus, the motion information that will actually be chosen coding is well associated with a motion information to code whose coding cost is optimized.
  • this first selection consists in choosing a black point, among those represented in FIG. 5a.
  • the treatment priority criterion may for example be based on the occurrence frequency related to each movement information of the list, and corresponding to a piece of information. representative of the number of times a motion information has been previously coded. For example, the occurrence frequency is equal to the exact number of times the motion information has already been coded, during the coding of the n preceding images and blocks preceding the current block. The frequency of occurrence may also be equal to an order of magnitude of the number of times it has already been coded, such as "greater than 20", or "less than 5".
  • This processing priority criterion thus makes it possible to process, in priority, the most frequent expected Imvi-a motion information, and therefore to associate to them motion information to code Z'mv / that is optimal in terms of coding cost.
  • motion information has never been previously coded (which is the case, for example, of the unexpected information Imvi-na described above), their occurrence frequency is zero.
  • the priority criterion may also be based on a geometric direction of travel when the motion information is graphically represented, as in Figure 5a.
  • a sense of processing consists in taking the expected motion information in the order in which it appears when starting from the center of the repository, towards the outside of the repository, by going through a spiral (such as for example the spiral connecting the white dots in Figure 5a which is traversed in the direction indicated by the double arrows).
  • the direction of travel can also be represented as a rhombus, centered on the center of the repository.
  • the geometric path sense examples described above may also be centered on another point in the repository distinct from the center, for example a point representing the center of gravity of all the motion information of the list L.
  • the direction of travel can also take into account a calculated distance between the point to be treated and another point considered as a reference.
  • the processing priority criterion may also be based on information representative of a degree of confidence associated with the motion information of the list L.
  • the motion information of the list L having a high degree of confidence can be processed by priority, which allows them to associate motion information coding / 'mv / optimal in terms of coding cost.
  • the treatment priority criterion used is to number the black dots, for example from 1 to 7, and to process them in the ascending order of their number. .
  • This identification is based on the first rule already described above, which consists in optimizing the coding cost of a movement information.
  • an unexpected motion information or an expected motion information but already associated with an unexpected motion information during a previous iteration (for example point 6 is associated with point 2, having itself already was associated with a white point during a previous iteration), which would potentially cost less to code than the currently selected motion information, among all the unexpected motion information Imv ⁇ -na from the L list.
  • a treatment priority criterion as previously described.
  • This first association step 21 is implemented for all the expected movement information of the list, and gives rise to as many associations. It can therefore be considered that the list L has been modified following this first step 21 into a list ⁇
  • FIG. 5b A representation of this modified list L is presented in FIG. 5b.
  • Previous blackheads that have been associated with white dots have become white with black dots, and the associated white dots have become black dots with white dots.
  • the positions corresponding to the black dots of Figure 5a are "released” in Figure 5b.
  • the positions corresponding to the white dots of FIG. 5a are now "occupied” in FIG. 5b.
  • Step 22 also comprises three substeps 220, 221 and 222, identical in principle to the sub-steps 210, 211 and 212 described above, in relation to the first association step 21. Indeed, substeps 220, 221 and 222 differ from substeps 210, 21 1 and 212 only by the motion information they process. This difference is essentially related to the fact that the objective of this second association step is that each movement information of the list L is associated with a unique motion information to be encoded I'mv.
  • the three selection sub-steps 220, identification 221 and association 222 are also based on processing priority criteria, as previously described.
  • the selection sub-step 220 takes into account all the unexpected non-associated motion information in the first association step, i.e. the motion information graphically represented in FIG. 5a by white dots ;
  • the identification sub-step 221 takes into account the motion information graphically represented in FIG. 5a by white dots and white dots with black dots, so that the motion information to be coded for the identified mv has a priori an optimal coding cost, or the least unfavorable;
  • association sub-step 222 makes it possible to associate with each movement information selected in the substep 220 a unique motion information to be coded I'mv identified during the sub-step 221. These associations are represented on the Figure 5b by dashed lines.
  • information from The motion to be coded I'mv may have a priori higher coding cost, but as least unfavorable as possible, than the selected motion information to which this motion information to be encoded I'mv is associated.
  • this second association step does not deal with the most frequent expected motion information (as indicated above in relation to the processing priority criteria), this has no overall effect on the coding cost. of the image.
  • FIG. 6 illustrates a variant of the embodiment described above, in which only part of the list L constructed, called sub-list L ', is considered in order to compromise between coding quality and complexity of implementation. .
  • a first type of restriction applied to the list L may be based on the type of expected motion information it contains. Indeed, it is preferable for example the expected motion information from the previous coding of neighboring blocks in the image of the current block.
  • the sublist 1 then corresponds to the "sub-window" 1 illustrated in Figure 6, dotted.
  • a second type of restriction applied to the list L may be based on a degree of confidence associated with the expected motion information it contains. Indeed, it is preferable for example the expected motion information having the highest probability of being effectively selected coding.
  • Sub-list 2 then corresponds to the "sub-window" 2 illustrated in Figure 6, in solid line.
  • the steps of the processing method described above are implemented by a method of encoding a block of an image.
  • the coding method selects, from the motion information of the list L, motion information corresponding to conventional predefined criteria for coding, such as for example the "rate-distortion” criterion. ".
  • the "rate” parameter of the "rate-distortion” criterion is then calculated from the motion information to code the associated I'mv.
  • the motion information actually coded for the block, and transmitted for to be decoded by a decoder at the time of the reconstruction of the block of the image is the motion information to be coded I'mv which has been associated with it during the steps of the treatment method described above, and which presents a priori a lower coding cost.
  • the coding cost of the block of the image is optimized, while ensuring optimal coding performance.
  • the motion information I'mv transmitted by the encoder is considered as motion information to be decoded.
  • the decoder When decoding a block, the decoder implements the same steps as those implemented by the coder, that is to say that it implements the steps of the processing method, so as to obtain a list and a plurality of associations between motion information Imv and the motion information to be decoded I'mv.
  • the decoder decodes the received information, transmitted by the coder, then identifies in the list, among the motion information to be decoded I'mv, that which corresponds to the motion information that has just decoded. To find the motion information corresponding to the block he is rebuilding, he looks for the associated motion information Imv.
  • FIG. 7 illustrates an example of a simplified structure of a processing device according to one embodiment of the invention.
  • the processing device comprises a memory 71 consisting of a buffer memory, a processing unit 72, equipped for example with a microprocessor ⁇ , and driven by the computer program 73, implementing the processing method according to the invention.
  • the code instructions of the computer program 73 are for example loaded into a RAM memory before being executed by the processor of the processing unit
  • the processing unit 72 receives as input at least one relative motion information, an image of a sequence of images.
  • the microprocessor of the processing unit 72 implements the steps of the processing method described above, according to the instructions of the computer program 73, to output at least one motion information to be encoded.
  • the processing device comprises, in addition to the buffer memory 71:
  • a module M20 for constructing at least one list L comprising at least one motion information, called the expected motion information Imvi-a, resulting from a prediction by motion compensation from at least one image of reference and having been previously coded, and at least one motion information, called unexpected motion information Imv [-na, not previously coded.
  • a second module M22 associating each unexpected motion information not associated with the first association module with a motion information to be coded ⁇ ; identified among the expected non-associated motion information by the first association module and the expected motion information associated with the first association module, the second association module being adapted to comply with a second rule that each Imvi motion information of the list is associated, by the first or second association modules, with a single motion information to be encoded I'mvi, said second association module delivering a modified list L comprising as many associations ⁇ Imvi-a, I'mvi) motion information in the list L constructed by the building module M20.
  • These modules are driven by the microprocessor of the processing unit 72.

Landscapes

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

Abstract

L'invention concerne un procédé de traitement d'une information de mouvement Imv relative à une image courante d'une séquence d'images. Selon l'invention, un tel procédé comprend; une étape de construction d'une liste comprenant au moins une information de mouvement attendue et au moins une information de mouvement non attendue; une première étape d'association d'une information de mouvement attendue à une information de mouvement selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder; une deuxième étape d'association de chaque information de mouvement non attendue non associée lors de ladite première étape d'association, à une information de mouvement à coder identifiée parmi lesdites informations de mouvement de la liste, selon une deuxième règle visant à ce que chacune des informations de mouvement soit associée à une unique information de mouvement à coder.

Description

PROCEDE DE TRAITEMENT D'UNE INFORMATION DE MOUVEMENT ET
PROCEDES DE CODAGE
1. Domaine de l'invention
Le domaine de l'invention est celui du codage et du décodage d'images, et notamment d'un flux vidéo constitué d'une série d'images successives.
Plus précisément, l'invention concerne les techniques de codage par prédiction mettant en œuvre le codage d'informations de mouvement relatives à une image, par exemple le codage de vecteurs mouvement, ou de résidus de mouvement.
L'invention peut notamment s'appliquer au codage vidéo mis en œuvre dans les codeurs vidéo actuels (MPEG, H.264, etc) ou à venir (ITU-T/VCEG (H.265) ou ISO/MPEG (HVC)).
2. Art antérieur
On décrit ci-après, en relation avec la figure 1, l'art antérieur relatif à la prédiction d'images dans le domaine du codage ou du décodage de séquences d'images utilisant le codage de vecteurs mouvement, pour des blocs d'une image découpée en macroblocs, qui sont ensuite subdivisés en blocs. Un bloc est constitué d'un ensemble de points ou pixels, le bloc pouvant avoir une forme carrée, rectangulaire, triangle ou toutes autres formes géométriques.
Ainsi, selon la technique H.264 par exemple, le codeur calcule, pour un bloc courant à coder, un résiduel de mouvement, encore appelé résidu de mouvement, en soustrayant un prédicteur p au vecteur de mouvement courant mv :
em. =mv-p ,
avec em la valeur de l'information de mouvement à coder, appelée résidu, mv le vecteur mouvement, issu d'une estimation de mouvement (« M Estimation » dans la figure 1) sélectionné par le codeur, et p le prédicteur calculé. Le prédicteur correspond par exemple à un médian modifié des vecteurs de mouvement des blocs voisins du bloc courant considéré. Ce résidu est envoyé dans un codeur entropique (par exemple de type codage adaptatif de type Huffman à longueur variable, ou « CAVLC » pour « Context-adaptive Huffman variable-length coding » en anglais), ou arithmétique (par exemple de type« CABAC » pour « Context-adaptive binary arithmetic coding » en anglais).
Bien que les codeurs présents dans H.264 s'adaptent au contexte, c'est-à-dire que le résidu courant peut être codé différemment en fonction des vecteurs voisins, (les mots de code sont différents), ils ne permettent pas de prendre en considération un objectif de moindre coût de codage de l'information de mouvement au moment du calcul de cette dernière.
Pour tenter de remédier à cet inconvénient, une technique connue, décrite dans le document de brevet US 6, 178, 265, vise à compresser l'information de mouvement à coder, en ne codant que des vecteurs mouvement sélectionnés comme pertinents selon des critères prédéfinis et donc en réduisant le nombre d'informations de mouvement à coder.
Cependant, un inconvénient de cette technique réside dans la perte d'informations liée à la sélection des vecteurs mouvement à coder.
H existe donc un besoin pour une nouvelle technique permettant d'offrir une optimisation du codage en terme de coût de codage, sans dégrader les performances de codage.
3. Exposé de l'invention
L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de traitement d'au moins une information de mouvement /mv relative à une image courante d'une séquence d'images.
Selon l'invention, un tel procédé comprend :
- une étape (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Imv(-a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Imvi-na, non préalablement codée ;
- une première étape (21) d'association d'au moins une information de mouvement attendue lmvc- a à une information de mouvement de ladite liste, dite information de mouvement à coder ladite première étape d'association étant mise en œuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder et délivrant une liste L modifiée comprenant au moins une association (Imvi-a, I'mvi);
- une deuxième étape (22) d'association de chaque information de mouvement non attendue non associée lors de ladite première étape d'association, à une information de mouvement à coder Γιηνι identifiée parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, ladite deuxième étape d'association étant mise en œuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Tmv; de ladite liste soit associée, lors de ladite première ou de ladite deuxième étape d'association, à une unique information de mouvement à coder Γιηνι, ladite deuxième étape d'association délivrant une liste L modifiée comprenant autant d'associations (Imvi-a, î'mvî) que d'informations de mouvement dans la liste L construite lors de ladite étape de construction.
Ainsi, l'invention repose sur une approche nouvelle et inventive de l'amélioration du codage d'une image, permettant d'associer à une information de mouvement relative à cette image, une information de mouvement à coder, à partir d'informations de mouvement potentielles.
Selon un mode de réalisation de l'invention, cette association est d'abord effectuée en fonction de critères prédéterminés et pour atteindre un objectif d'amélioration du codage, exprimés selon une première règle, et un objectif visant à ce que toutes les informations de mouvement potentielles soient associées à une unique information de mouvement à coder.
Ainsi, dans un premier temps, le procédé selon l'invention construit une liste comprenant des informations de mouvement potentielles, c'est-à-dire pouvant potentiellement être choisies, selon des critères de codage classiques prédéfinis, pour coder l'image en question.
Cette liste comprend en particulier des informations de mouvement déjà codées, c'est-à- dire déjà sélectionnées par un codeur, selon des critères prédéterminés, par exemple lors du codage d'images précédant l'image courante, ou lors du codage de blocs de l'image courante, précédant le codage du bloc courant. Ces informations de mouvement sont notées par la suite informations de mouvement « attendues ».
Cette liste contient également des informations de mouvement « théoriques », c'est-à-dire potentiellement utilisables pour le codage de l'image ou du bloc, mais n'ayant pas été auparavant codées, donc pas auparavant sélectionnées par un codeur, ni lors du codage d'images précédant l'image courante, ni lors du codage de blocs de l'image courante, précédant le codage du bloc courant. Ces informations de mouvement sont notées par la suite informations de mouvement « non attendues ».
Ces informations de mouvement potentielles ont des valeurs de composantes différentes.
Les informations de mouvement sont des informations permettant classiquement le codage d'une image par prédiction par compensation en mouvement à partir d'au moins une image de référence. Ainsi, les informations de mouvement sont par exemple des vecteurs mouvement, ou des résidus de mouvement, correspondant à une différence entre un vecteur mouvement et un prédicteur (ce dernier correspondant par exemple à un vecteur mouvement médian des vecteurs mouvement des blocs voisins du bloc courant, déjà codés).
Dans un deuxième temps, une fois la liste construite, elle est modifiée, selon deux étapes d'association successives.
Lors de la première étape d'association, la liste est modifiée, selon une première règle, en ajoutant au moins une association entre une des informations de mouvement attendue qu'elle contient au départ, et une information de mouvement à coder, identifiée parmi les informations de mouvement non attendues de la liste de départ et les informations de mouvement attendues de la liste de départ déjà associées lors d'une itération précédente de cette première étape d'association. Cette information de mouvement à coder est identifiée de façon à améliorer potentiellement le codage de l'image ou d'un bloc de l'image. En effet, si l'information de mouvement associée est sélectionnée pour ce bloc, lors du codage (selon des critères de codage classiques prédéfinis), cette information de mouvement à coder est celle qui sera effectivement codée pour le bloc.
Les informations de mouvement attendues sont traitées selon un ordre prédéterminé, défini par un critère de priorité de traitement détaillé ci-dessous.
Lors de la deuxième étape d'association, la liste est modifiée, selon une deuxième règle, en ajoutant au moins une association entre une des informations de mouvement non attendue n'ayant pas été associée lors de la première étape d'association, et une information de mouvement à coder, identifiée parmi les informations de mouvement de la liste de départ de façon à ce que toutes les informations de mouvement de la liste de départ, soient associées une seule fois à une unique information de mouvement à coder.
Selon un mode de réalisation de l'invention, la liste est construite, ou mise à jour, pour chaque bloc à coder de l'image courante.
En particulier, ladite première étape d'association comprend une première étape de sélection, selon au moins un premier critère de priorité de traitement, d'au moins une desdites informations de mouvement attendues de ladite liste, dite information de mouvement courante, et pour ladite information de mouvement courante, au moins une itération des sous-étapes suivantes, tant que ladite première règle n'est pas vérifiée :
o une première sous-étape d'identification, selon au moins un deuxième critère de priorité de traitement, d'une information de mouvement à coder parmi lesdites informations de mouvement non attendues et lesdites informations de mouvement attendues associées lors d'une itération précédente, et
o lorsque ladite première règle est vérifiée, une première sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
Selon un mode de réalisation de l'invention, une première règle est donc utilisée pour obtenir des informations de mouvement à coder, lors de la première étape d' association.
Comme indiqué précédemment, la première règle définit un objectif d'amélioration du codage visant à réduire, au moment du codage d'un bloc ou d'une image, le coût de codage d'une information de mouvement pour ce bloc, ou cette image.
La première règle définit également un premier critère de priorité de traitement permettant de déterminer l'information de mouvement courante à considérer parmi les informations de mouvement attendues, et un deuxième critère de priorité de traitement pour déterminer l'information de mouvement non attendue à considérer.
Ainsi, on considère d'abord, les unes après les autres, selon le premier critère de priorité choisi, les informations de mouvement attendues de la liste. Ensuite, pour chaque information de mouvement attendue considérée, appelée information de mouvement courante, on considère, les unes après les autres, selon le deuxième critère de priorité choisi (qui peut être identique à celui choisi pour les informations de mouvement courantes), les informations de mouvement non attendues de la liste et les informations de mouvement attendues de la liste ayant déjà été associées lors d'une itération précédente. Il est à noter que les informations de mouvement non attendues et les informations de mouvement attendues déjà associées sont considérées sans distinction, c'est-à- dire qu'on ne considère pas d'abord les informations de mouvement non attendues, puis ensuite les informations de mouvement attendues déjà associées, mais toutes ces informations les unes après les autres tant que l'objectif d'amélioration du coût de codage n'est pas atteint,
Par exemple, l'information de mouvement non attendue est choisie si on peut considérer que son coût de codage serait a priori inférieur au coût de codage de l'information de mouvement courante.
Lorsque la première règle n'est pas vérifiée, c'est-à-dire lorsque l'information de mouvement identifiée (non attendue ou attendue ayant déjà été associée lors d'une itération précédente) n'apporte pas a priori d'amélioration de coût de codage, alors une autre information de mouvement (non attendue ou attendue ayant déjà été associée lors d'une itération précédente) est identifiée, selon le deuxième critère de priorité choisi, pour tester à nouveau si la première règle se vérifie.
Si, finalement, aucune information de mouvement non attendue ne peut être associée à l'information de mouvement courante, alors cette dernière est associée avec elle-même, c'est-à-dire que son information de mouvement à coder associée est elle-même.
Ainsi, selon ce mode de réalisation de l'invention, lorsque ladite première règle n'est pas vérifiée, ladite information de mouvement courante est associée avec elle-même.
Selon une variante de réalisation de l'invention, ces coûts de codage sont calculés afin de vérifier l'hypothèse d'optimisation de coût de codage.
Selon une caractéristique particulière de l'invention, ladite deuxième étape d'association comprend au moins une itération des étapes suivantes :
- une deuxième étape de sélection, selon au moins un troisième critère de priorité de traitement, d'au moins une desdites informations de mouvement non attendue non associée lors de ladite première étape d'association, dite information de mouvement courante, et
pour ladite information de mouvement courante :
o une deuxième sous-étape d'identification, selon au moins un quatrième critère de priorité de traitement, parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, d'une information de mouvement à coder et
o une deuxième sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
On considère donc maintenant les informations de mouvement non attendues non associées lors de la première étape d'association.
La deuxième règle a pour objectif que toutes les informations de mouvement de la liste de départ soient associées à une information de mouvement à. coder, tout en essayant d'atteindre un objectif d'optimisation du coût de codage, par exemple, pour obtenir un coût de codage le moins « défavorable possible » de l'information de mouvement à coder, par rapport à son information de mouvement associée.
La deuxième étape d'association tient également compte de critères (troisième et quatrième) de priorité de traitement des informations de mouvement de la liste, comme déjà décrit précédemment en relation avec les premiers et deuxièmes critères.
De même que pour la première étape, il est possible qu'une information de mouvement courante (non attendue) ne puisse pas être associée à une information de mouvement à coder distincte d'elle-même. Dans ce cas, l'information de mouvement courante est associée à elle- même, c'est-à-dire que son information de mouvement à coder associée est elle-même.
Par exemple, lesdits critères de priorité de traitement correspondent à au moins un paramètre appartenant au groupe comprenant :
- un sens de traitement des informations de mouvement de ladite liste, lorsqu'elles sont représentées dans un référentiel dont chaque axe correspond à une composante distincte d'une information de mouvement ;
- une information représentative du nombre de fois où une information de mouvement attendue a été préalablement codée, dite fréquence d' apparition ;
— une information représentative d'un degré de confiance associé à une information de mouvement ; ou
— une combinaison des paramètres précédents.
Ainsi, la priorité de traitement peut dépendre de différents paramètres, combinés ou non.
Selon un mode de réalisation particulier de l'invention, la priorité de traitement correspond à un sens de traitement des informations de mouvement, lorsqu'elles sont représentées « graphiquement » dans un référentiel. Par exemple, un tel référentiel représente une information de mouvement selon deux dimensions (x,y), correspondant chacune à une composante de l'information de mouvement, lorsque celle-ci est représentative d'un mouvement en deux dimensions. Selon une variante, un tel référentiel représente une information de mouvement selon trois dimensions (x,y,z), correspondant chacune à une composante de l'information de mouvement, lorsque celle-ci est représentative d'un mouvement en trois dimensions. Ainsi, une information de mouvement peut être représentée par un point, ou une position, dont les coordonnées dans ce référentiel correspondent aux valeurs des composantes de l'information de mouvement. Le centre du référentiel peut par exemple représenter un mouvement nul.
Selon un autre mode de réalisation, la priorité de traitement prend en considération une fréquence d'apparition de l'information de mouvement dans les précédents codages effectués (codage des images précédant l'image courante et/ou codage des blocs précédant le bloc courant). Ainsi, dans la liste d'informations de mouvement, une information de mouvement attendue peut être associée à une fréquence d'apparition indiquant le nombre de fois où elle a été préalablement codée, c'est-à-dire sélectionnée par le codeur, ou un ordre de grandeur du nombre de fois où elle a été préalablement codée. On pourra par exemple considérer que les informations de mouvement présentant la plus grande fréquence d'apparition seront traitées en priorité.
Selon encore un mode de réalisation, la priorité de traitement prend en considération un degré de confiance associé à une information de mouvement, c'est-à-dire que la priorité de traitement tient compte d'une valeur de probabilité plus ou moins importante qu'une information de mouvement de la liste soit effectivement sélectionnée pour le codage du bloc, selon des critères de codage classiques prédéfinis. Ainsi, les informations de mouvement présentant le plus fort degré de confiance sont traitées en priorité. Cette technique d'association d'un degré de confiance à une information de mouvement est notamment décrite plus en détail dans la demande de brevet intitulée « Procédé d'enrichissement d'une information de mouvement, procédé de codage, dispositifs et programme d'ordinateur correspondants » déposée le même jour que la présente demande, au nom du même demandeur.
Selon d'autres modes de réalisation, ces paramètres peuvent être combinés pour définir la priorité de traitement.
En particulier, ledit sens de traitement appartient au groupe comprenant :
- un sens de traitement en spirale,
— un sens de traitement en losange,
- un sens de traitement tenant compte d'au moins une position, dans ledit référentiel, desdites informations de mouvement,
et en ce que ledit sens de traitement est centré sur une information de mouvement prédéterminée ou sur un barycentre desdites informations de mouvement de ladite liste.
Par exemple, selon un premier mode de réalisation, un sens de traitement des informations, lorsqu'elles sont représentées dans un référentiel, consiste à parcourir les points ou positions représentant les informations de mouvement, selon un gabarit géométrique prédéfini, comme une spirale ou un losange. En pratique, on parcourt par exemple une spirale en s'éloignant du centre de celle-ci, ce centre pouvant être représenté par une information de mouvement prédéterminée ou un barycentre des informations de mouvement représentées.
Selon un deuxième mode de réalisation, un sens de traitement des informations peut tenir compte des positions respectives des informations de mouvement représentées. Par exemple, on traite en priorité les informations de mouvement dont les positions sont les plus éloignées du centre du référentiel, c'est-à-dire les informations de mouvement représentatives d'un grand mouvement.
Selon un mode de réalisation de l'invention, ladite étape de construction tient compte d'un nombre n d'images de référence.
Ainsi, on peut choisir de prendre en considération un nombre plus ou moins grand d'images de référence, et donc un échantillon plus ou moins large d'information de mouvement déjà codées. Ainsi, l'activité temporelle de la scène peut être prise en compte. Par exemple, si les images successives sont très différentes les unes des autres, alors les informations de mouvement déjà codées risquent de ne pas être pertinentes pour l'image courante. Dans ce cas, il est préférable de ne pas considérer un grand nombre d'images précédentes.
L'invention concerne également un procédé de codage d'au moins un bloc courant d'une image courante d'une séquence d'images.
Selon l'invention, un tel procédé de codage met en œuvre un procédé de traitement tel que décrit précédemment et les étapes suivantes :
- sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ;
— codage d'une information de mouvement à coder associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement sélectionnée lors de ladite étape de sélection, délivrant une information de mouvement codée pour ledit bloc.
Ainsi, l'invention, selon ce mode de réalisation, permet de coder une information de mouvement de manière optimisée. En effet, l'information de mouvement codée n'est pas directement l'information de mouvement sélectionnée, selon des critères classiques prédéterminés pour le codage, mais une information de mouvement modifiée selon l'invention, associée à l'information de mouvement choisie.
Ainsi, selon ce mode de réalisation de l'invention, le codage d'une image courante est optimisé car il présente un coût de codage globalement réduit pour l'ensemble des blocs de 1 ' image, par rapport à 1 ' art antérieur.
En particulier, la réduction du coût de codage correspond à une réduction du coût de transport, entre un codeur et un décodeur, des informations de mouvement associées aux blocs d'une image. De cette manière, le débit de transmission peut être augmenté par rapport à l'art antérieur.
Un autre aspect de l'invention concerne un signal représentatif d'au moins un bloc codé d'une image d'une séquence d'images. Selon l'invention, un tel signal porte au moins une information de mouvement codée selon le procédé de codage décrit précédemment.
De plus, un tel signal porte en outre une information représentative d'un nombre n d'images de référence.
L'invention concerne également un procédé de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images.
Selon l'invention, un tel procédé de décodage comprend les étapes suivantes : - réception et décodage d'une information de mouvement codée selon le procédé de codage décrit précédemment, délivrant une information de mouvement décodée ;
- mise en œuvre des étapes du procédé de traitement décrit précédemment ;
- sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement décodée ;
- reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée.
Un autre aspect de l'invention concerne un dispositif de traitement d'au moins une information de mouvement relative à une image courante d'une séquence d'images. Selon l'invention, un tel dispositif de traitement comprend :
— des moyens de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue îinvi-a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Imvi-ιια, non préalablement codée ;
— des premiers moyens d'association d'au moins une information de mouvement attendue Imvf-a à une information de mouvement de ladite liste, dite information de mouvement à coder l'mvi,
lesdits premiers moyens d'association étant adaptés pour respecter une première règle d'optimisation du coût de codage de ladite information de mouvement à coder et délivrer une liste L modifiée comprenant au moins une association (Imvra, Γιηνι);
— des deuxièmes moyens (22) d'association de chaque information de mouvement non attendue non associée par lesdits premiers moyens d'association, à une information de mouvement à coder l'mvi identifiée parmi lesdites informations de mouvement non attendues non associées par lesdits premiers moyens d'association et lesdites informations de mouvement attendues associées par lesdits premiers moyens d'association,
lesdits deuxièmes moyens d'association étant adaptés pour respecter une deuxième règle visant à ce que chacune des informations de mouvement Jmvi de ladite liste soit associée, par lesdits premiers ou deuxièmes moyens d'association, à une unique information de mouvement à coder Γηινι, les deuxièmes moyens d'association délivrant une liste L modifiée comprenant autant d'associations (Imvi-a, I'mvi) que d'informations de mouvement dans la liste L construite par les moyens de construction.
Un tel dispositif de traitement est notamment adapté à mettre en œuvre les étapes du procédé de traitement décrit précédemment. Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de, traitement selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de traitement sont les mêmes que ceux du procédé de traitement, et ne sont pas détaillés plus amplement.
Un autre aspect de l'invention concerne un dispositif de codage, encore appelé codeur, d'au moins un bloc courant d'une image courante d'une séquence d'images. Selon l'invention, un tel dispositif de codage comprend des moyens du dispositif de traitement décrit précédemment et :
— des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ;
- des moyens de codage d'une information de mouvement à coder associée, par lesdits moyens dudit dispositif de traitement, à ladite information de mouvement sélectionnée par lesdits moyens de sélection.
L'invention concerne également un dispositif de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images, comprenant :
— des moyens de réception et de décodage d'une information de mouvement codée par les moyens du dispositif de codage décrit précédemment, délivrant une information de mouvement décodée ;
— des moyens de mise en œuvre des moyens du dispositif de traitement décrit précédemment ;
— des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, par lesdits premiers ou deuxièmes moyens d'association, à ladite information de mouvement décodée ;
— des moyens de reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée.
Enfin, l'invention concerne un programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de traitement, de codage ou de décodage tels que décrits précédemment, lorsque ce programme est exécuté par un processeur.
4. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
la figure 1, déjà commentée en relation avec l'art antérieur, illustre un exemple de système de codage selon la technique H.264 de l'art antérieur ; la figure 2 illustre les principales étapes du procédé de traitement d'une information de mouvement relative à une image selon un mode de réalisation de l'invention ;
les figures 3a et 3b illustrent respectivement les première et deuxième étapes d'association . du procédé de traitement de la figure 2 ;
- les figures 4a, 4b, 5a, 5b et 6 illustrent des exemples de représentation d'informations de mouvement pour un bloc courant d'une image ;
- la figure 7 illustre un exemple de structure simplifiée d'un dispositif de traitement, selon un mode de réalisation de l'invention.
5. Description d'un mode de réalisation de l'invention
5.1 Principe général
Le principe général de l'invention repose sur le traitement d'une information de mouvement Imv relative à une image d'une séquence d'images, de façon à délivrer au codeur, pour le codage de l'image, ou d'un bloc de l'image, une information de mouvement modifiée I'mv, appelée par la suite information de mouvement à coder, dont le coût de codage est a priori optimisé par rapport à l'information de mouvement avant traitement.
Ainsi, l'invention permet d'obtenir une amélioration globale du coût de codage d'une séquence d'images vidéo, en ne codant pas directement l'information de mouvement Imv relative à chaque image, mais une information de mouvement traitée I'mv selon l'invention.
Pour ce faire, l'invention se base sur un ensemble d'informations de mouvement potentiellement utilisables pour le codage du bloc, ou de l'image. La construction de cet ensemble selon l'invention permet ensuite le traitement de chacune des informations de mouvement qu'il contient, de sorte que l'information de mouvement qui sera effectivement sélectionnée pour le codage du bloc, ou de l'image, est traitée également.
On considère une information de mouvement Imv comme étant une information permettant classiquement le codage d'une image par prédiction par compensation en mouvement à partir d'au moins une image de référence.
Ainsi, une information de mouvement est par exemple un vecteur mouvement, ou un résidu de mouvement, correspondant à une différence entre un vecteur mouvement et un prédicteur (ce dernier correspondant par exemple à un vecteur mouvement médian des vecteurs mouvement des blocs voisins du bloc courant, déjà codés), ou encore un prédicteur.
Par ailleurs, au moment du décodage d'un bloc ou d'une image, le traitement de l'information de mouvement selon le principe de l'invention, est également mis en œuvre, afin de décoder efficacement l'information de mouvement relative au bloc, ou à l'image, en cours de reconstruction.
5.2 Description d'un mode de réalisation
On présente maintenant, en relation avec les figures 2 à 6, les principales étapes du procédé de traitement selon un mode de réalisation de l'invention.
On considère dans ce mode de réalisation qu'une information de mouvement Imv correspond à un résidu de mouvement Bnv, calculé par exemple selon la technique connue décrite en relation avec l'art antérieur, pour un bloc d'une image courante d'une séquence d'images.
Comme illustré en figure 2, le procédé de traitement selon ce mode de réalisation de l'invention comprend principalement trois étapes 20, 21 et 22.
Lors d'une première étape 20 de construction d'une liste L, on répertorie toutes les informations de mouvement précédemment sélectionnées et codées lors du codage d'une ou plusieurs images précédant l'image courante et/ou lors du codage de blocs précédant le . bloc courant. Ces informations de mouvement sont appelées par la suite informations de mouvement attendues, et notées Imvi-a.
On intègre également dans la liste L, lors de l'étape 20, toutes les informations de mouvement potentiellement sélectionnables par le codeur, différentes des informations de mouvement Imvi-a, appelées informations de mouvement théoriques ou informations de mouvement non attendues, et notées Imvi-na.
Une illustration sous forme graphique d'un exemple de cette liste L, comme présenté en figures 4a et 4b, permet de mieux appréhender ces notions.
La figure 4a présente tout d'abord une image « Image », dans laquelle un bloc courant est en cours de traitement selon le procédé de l'invention. Ce bloc est représenté par un carré hachuré. Des blocs voisins précédemment codés sont représentés par des carrés blancs à pois noirs
Par ailleurs, des informations de mouvement mvj à mv4 sont représentées sous la forme de vecteurs par des flèches, selon les axes x et y correspondant chacun à une composante de l'information de mouvement. Ces informations de mouvement correspondent aux vecteurs mouvement préalablement codés des blocs voisins du bloc courant. Par exemple, l'information de mouvement mvj correspond approximativement à un mouvement de deux blocs vers la droite, et deux blocs vers le bas, alors que l'information de mouvement mvj correspond approximativement à un mouvement de un bloc vers la droite, et un bloc vers le haut.
En addition de ces informations de mouvement courantes, l'information de mouvement P correspond au prédicteur calculé pour le bloc courant.
Sur la figure 4b est représenté un référentiel spécifique centré sur le prédicteur P, sous la forme d'une fenêtre en pointillé, permettant de représenter relativement au prédicteur P du bloc courant les informations de mouvement Imv par des points, encore appelés positions, en fonction de leurs composantes. Ce référentiel correspond au référentiel des résiduels de mouvement potentiels pour le codage du résiduel de mouvement du bloc courant. Chacune des informations de mouvement Imv1 à Imv4 correspond à la différence entre. d'une part respectivement chaque vecteur mouvement mv1 à mv4 et, d'autre part, l'information de mouvement P (le vecteur mouvement prédicteur).
On peut ainsi voir, sur la figure 4b, que certains points correspondent effectivement à des informations de mouvement (Imv2 et Imv4 ), appartenant à des blocs codés avant le bloc courant. D'autres points correspondent quant à eux à des informations de mouvement relatives à des images codées avant l'image courante. Tous ces points représentés correspondent aux informations de mouvement lmvi-a de la liste L, pour le bloc courant considéré.
La taille de la fenêtre en pointillé étant prédéterminée et définissant la taille de la liste L.
Il est à noter que ce nombre n d'images précédant l'image courante prises en compte pour la construction de la liste peut varier, en fonction de certains critères, liés par exemple à l'activité temporelle de la séquence d'images. De plus, ce nombre n doit être connu du décodeur, et peut donc par exemple lui être transmis dans un signal.
Par ailleurs, les informations de mouvement issues d'images de référence, et par conséquent distantes temporellement de l'image courante, sont classiquement remises à l'échelle, de façon à gérer la distance temporelle.
Enfin, cette liste pouvant inclure les informations de mouvement des blocs codés précédemment au bloc courant, elle peut donc être mise à jour pour chaque bloc.
A partir de cette liste, un objectif est d'associer à chacune des informations Imvt-, comprenant les informations de mouvement Imvj-a et Imvj-na, une unique information de mouvement ΙΊην,, présentant a priori un coût de codage optimisé.
Ainsi, lorsque, au codage, une information de mouvement Jmv/ est sélectionnée pour le bloc courant, selon des critères de codage connus, c'est l'information de mouvement à coder /W; associée selon ce mode de réalisation de l'invention qui est codée par le codeur, permettant ainsi d'optimiser le coût de codage du bloc.
Pour ce faire, une première étape d'association 21 consiste à associer, lorsque cela est possible, à toutes les informations de mouvement attendues Imvfa de la liste L une information de mouvement I'mvi, choisie parmi les informations de mouvement non attendues Imvt-na de la liste L et les informations de mouvement attendues associées lors d'une précédente itération de la première étape 21, de sorte que le coût de codage de I'mvi soit a priori inférieur à celui de Imvi-a. Cette optimisation du coût de codage est définie selon une première règle.
Cette première étape d'association, décrite ci-dessous plus en détail en relation avec les figures 3a et 5a, peut consister par exemple à créer une deuxième colonne dans la liste L, ou bien à créer des liens entre les différents éléments de la liste L, la modifiant ainsi en une liste L'.
Une fois cette première étape 21 d'association effectuée, une deuxième étape 22 d'association est mise en œuvre, à partir de la liste modifiée L'.
Lors de cette étape, chaque élément de la liste de départ L n'ayant pas été associé lors de l'étape 21 est traité, de façon à ce que, à la fin de cette deuxième étape d'association 22, chaque informations de mouvement /mv/ de la liste de départ L soit associé à une information de mouvement à coder Γιην,.
Par exemple, les informations de mouvement traitées lors de cette deuxième étape sont des informations de mouvement non attendues Imvi-na n'ayant pas « servi » à une association, lors de la première étape 21,
On décrit maintenant plus en détail ces deux étapes successives 21 et .22 d'association, en relation avec les figures 3a, 3b et 5a et 5b.
La figure 5a représente graphiquement les informations de mouvement de la liste L, sous la forme de points, noirs pour les informations de mouvement attendues hnvr- a et blancs pour les informations de mouvement non attendues Iinvi-na.
La figure 3a illustre les principales sous-étapes de l'étape 21 d'association, à savoir une sous-étape 210 de sélection, une sous-étape 211 d'identification et une sous-étape 212 d'association proprement dite.
La première sous-étape de sélection 210 consiste tout d'abord à sélectionner, selon un critère de priorité de traitement, une information de mouvement Imvi-a de la liste L à traiter en premier. L'objectif de cette première étape d'association 21 étant une optimisation du coût de codage, il est préférable de traiter en priorité des informations de mouvement Imvi-a considérées comme présentant un plus fort potentiel d'être sélectionnées au moment du codage. Ainsi, l'information de mouvement qui sera effectivement choisie au codage est bien associée à une information de mouvement à coder dont le coût de codage est optimisé.
Graphiquement, cette première sélection consiste à choisir un point noir, parmi ceux représentés en figure 5a.
Le critère de priorité de traitement peut par exemple être basé sur la fréquence d'apparition liée à chaque information de mouvement de la liste, et correspondant à une information représentative du nombre de fois où une information de mouvement a été préalablement codée. Par exemple, la fréquence d'apparition est égale au nombre exact de fois où l'information de mouvement a déjà été codée, au cours du codage des n images précédentes et des blocs précédant le bloc courant. La fréquence d'apparition peut également être égale à un ordre de grandeur de ce nombre de fois où elle a déjà été codée, comme « supérieure à 20 », ou « inférieure à 5 ». Ce critère de priorité de traitement permet ainsi de traiter en priorité les informations de mouvement attendues Imvi-a les plus fréquentes, et donc de leur associer des informations de mouvement à coder Z'mv/ optimales en terme de coût de codage. Lorsqu'une information de mouvement n'a jamais été préalablement codée (ce qui est le cas par exemple des informations non attendues Imvi-na décrites ci-dessus), leur fréquence d'apparition est nulle.
Le critère de priorité peut également être basé sur un sens de parcours géométrique lorsque les informations de mouvement sont représentées graphiquement, comme sur la figure 5a. Par exemple, un tel sens de traitement consiste à prendre les informations de mouvement attendues dans l'ordre où elles apparaissent lorsqu'on part du centre du référentiel, vers l'extérieur du référentiel, en parcourant une spirale (comme par exemple la spirale reliant les points blancs sur la figure 5a qui est parcourue dans le sens indiqué par les doubles flèches). Le sens de parcours peut également être représenté sous la forme d'un losange, centré sur le centre du référentiel. Les exemples de sens de parcours géométriques décrits ci-dessus peuvent également être centrés sur un autre point du référentiel distinct du centre, par exemple un point représentant le barycentre de toutes les informations de mouvement de la liste L.
Le sens de parcours peut également tenir compte d'une distance calculée entre le point à traiter et un autre point considéré comme une référence.
Le critère de priorité de traitement peut également être basé sur une information représentative d'un degré de confiance associé aux informations de mouvement de la liste L. Ainsi, les informations de mouvement de la liste L ayant un fort degré de confiance peuvent être traitées en priorité, ce qui permet de leur associer des informations de mouvement à coder /'mv/ optimales en terme de coût de codage.
Ces différents types de critère de priorité peuvent être combinés. Us doivent également être connus du décodeur, de façon à ce que celui-ci puisse également mettre en œuvre ces étapes d'association.
Selon la figure 5a, le critère de priorité de traitement utilisé, par exemple en fonction de la fréquence d'apparition, revient à numéroter les points noirs, par exemple de 1 à 7, et à les traiter dans l'ordre croissant de leur numéro. Une fois une information de mouvement attendue sélectionnée lors de la sous-étape 210, et considérée comme une information de mouvement courante lmvc, une sous-étape 211 d'identification d'une information de mouvement non attendue est mise en œuvre.
Cette identification se base sur la première règle déjà décrite précédemment, et qui consiste à optimiser le coût de codage d'une information de mouvement. Ainsi, on cherche une information de mouvement non attendue, ou une information de mouvement attendue mais déjà associée à une information de mouvement non attendue lors d'une précédente itération (par exemple le point 6 est associé au point 2, ayant lui-même déjà été associé à un point blanc lors d'une itération précédente), qui potentiellement coûterait moins cher à coder que l'information de mouvement courante sélectionnée, parmi toutes les informations de mouvement non attendues Imv{-na de la liste L. Cette identification se base également sur un critère de priorité de traitement, tel que décrit précédemment.
En considérant la représentation de la figure 5a, on cherche donc à associer pour chaque point noir 1 à 7 un point blanc qui vérifie la première règle précitée, par exemple en considérant les points blancs selon la spirale illustrée en figure 5a.
Dès qu'une information de mouvement (non attendue ou attendue déjà associée lors d'une itération précédente) permet de vérifier ladite première règle, alors elle est considérée comme une information de mouvement à coder I'mvi et associée, lors d'une sous-étape 212 d'association, à l'information de mouvement courante Imvc. Cette association est représentée sur la figure 5a par un trait pointillé reliant :
- le point noir 2 et le premier point blanc de la spirale,
- le point noir 3 et le deuxième point blanc de la spirale,
- le point noir 4 et le troisième point blanc de la spirale.
II est possible, lors de la première étape d'association 21, que certaines informations de mouvement attendues ne puissent pas être associées à des informations de mouvement à coder identifiées parmi les informations de mouvement non attendues. Il s'agit par exemple, lorsqu'on les représente comme sur la figure 5a, des informations de mouvement dont les positions sont situées sur un des axes du référentiel. Ainsi, on peut choisir de ne pas les associer à une information de mouvement à coder dont la position ne se situe pas sur cet axe. C'est le cas par exemple de les informations de mouvement représentées par les points noirs 1 et 5. La première règle se traduit alors de la façon suivante : on ne déplace pas un point noir vers un point blanc si les composantes de ce point blanc sont respectivement inférieures ou égales aux composantes du point noir, en valeur absolue. Dès lors, pour ce type d'informations de mouvement attendues, l'information de mouvement à coder associée I'mvi est l'information de mouvement attendue elle-même.
Cette première étape d'association 21 est mise en œuvre pour toutes les informations de mouvement attendues de la liste, et donne lieu à autant d'associations. On peut donc considérer que la liste L a été modifiée suite à cette première étape 21 en une liste ΙΛ
Une représentation de cette liste L modifiée est présentée en figure 5b. Les points noirs précédents ayant été associés à des points blancs sont devenus blancs à pois noirs, et les points blancs associés sont devenus des points noirs à pois blancs. Ainsi, en termes de représentation graphique, les positions correspondant aux points noirs de la figure 5a sont « libérées » sur la figure 5b. Par contre, les positions correspondant aux points blancs de la figure 5a sont maintenant « occupées » sur la figure 5b.
L'étape 22 comprend également trois sous-étapes 220, 221 et 222, identiques dans le principe aux sous-étapes 210, 211 et 212 décrites ci-dessus, en relation avec la première étape 21 d'association. En effet, les sous-étapes 220, 221 et 222 ne diffèrent des sous-étapes 210, 21 1 et 212 que par les informations de mouvement qu'elles traitent. Cette différence est essentiellement liée au fait que l'objectif de cette deuxième étape 22 d'association vise à ce que chaque information de mouvement de la liste L soit associée à une unique information de mouvement à coder I'mv.
Les trois sous-étapes de sélection 220, d'identification 221 et d'association 222 sont également basées sur des critères de priorité de traitement, tels que décrits précédemment.
On ne décrit pas à nouveau en détail les trois sous-étapes 220, 221 et 222. On note cependant les spécificités suivantes :
la sous-étape 220 de sélection prend en considération toutes les informations de mouvement non attendues non associées lors de la première étape 21 d'association, c'est-à- dire les informations de mouvement représentées graphiquement sur la figure 5a par des points blancs ;
- la sous-étape 221 d'identification prend en considération les informations de mouvement représentées graphiquement sur la figure 5a par des points blancs et des points blancs avec des pois noirs, de sorte que l'information de mouvement à coder I'mv identifiée présente a priori un coût de codage optimal, ou le moins défavorable ;
la sous-étape 222 d'association permet d'associer à chaque information de mouvement sélectionnée lors de la sous-étape 220 une unique information de mouvement à coder I'mv identifiée lors de la sous-étape 221. Ces associations sont représentées sur la figure 5b par des traits pointillés.
Il est à noter que, lors de cette deuxième étape d'association 22, une information de mouvement à coder I'mv peut présenter un coût de codage a priori plus élevé, mais le moins défavorable possible, que l'information de mouvement sélectionnée à laquelle cette information de mouvement à coder I'mv est associée. Cependant, cette deuxième étape d'association ne traitant pas les informations de mouvement attendues les plus fréquentes (comme indiqué ci-dessus en relation avec les critères de priorité de traitement), cela n'a globalement pas d'incidence sur le coût de codage de l'image.
Ainsi, en sortie de cette deuxième étape 22 d'association, et comme illustré en figure 5b, toutes les informations de mouvement Imv de la liste L ont été associées à une information de mouvement à coder I'mv.
5.3 Description d'une variante du mode de réalisation
La figure 6 illustre une variante du mode de réalisation décrit ci-dessus, dans laquelle on considère une partie seulement de la liste L construite, appelée sous-liste L', dans un souci de compromis entre qualité de codage et complexité de mise en œuvre.
Ainsi, un premier type de restriction appliquée à la liste L peut être basé sur le type d'informations de mouvement attendues qu'elle contient. En effet, on peut privilégier par exemple les informations de mouvement attendues issues du codage précédent de blocs voisins, dans l'image, du bloc courant. La sous-liste L'1 correspond alors à la « sous-fenêtre » L'1 illustrée en figure 6, en pointillé.
Un deuxième type de restriction appliquée à la liste L peut être basé sur un degré de confiance associé aux informations de mouvement attendues qu'elle contient. En effet, on peut privilégier par exemple les informations de mouvement attendues ayant les plus fortes probabilités d'être effectivement sélectionnées au codage. La sous-liste L'2 correspond alors à la « sous- fenêtre » L'2 illustrée en figure 6, en trait continu.
5.4 Description d'un mode de réalisation de codage et de décodage d'un bloc d'une imase
Selon ce mode de réalisation de l'invention, les étapes du procédé de traitement décrit ci- dessus sont mises en œuvre par un procédé de codage d'un bloc d'une image.
Ainsi, le procédé de codage selon ce mode de réalisation de l'invention, sélectionne, parmi les informations de mouvement de la liste L, une information de mouvement correspondant à des critères prédéfinis classiques de codage, comme par exemple le critère « débit-distorsion ». Dans ce cas, le paramètre « débit » du critère « débit-distorsion » est alors calculé à partir de l'information de mouvement à coder I'mv associée.
En effet, l'information de mouvement effectivement codée pour le bloc, et transmise pour être ensuite décodée par un décodeur au moment de la reconstruction du bloc de l'image, est l'information de mouvement à coder I'mv qui lui a été associée, lors des étapes du procédé de traitement décrit ci-dessus, et qui présente a priori un plus faible coût de codage.
Ainsi, le coût de codage du bloc de l'image est optimisé, tout en assurant une performance : de codage optimale.
Au décodage, les informations de mouvement I'mv qui sont transmises par le codeur sont considérées comme des informations de mouvement à décoder.
Au décodage d'un bloc, le décodeur met en œuvre les mêmes étapes que celle mises en œuvre par le codeur, c'est-à-dire qu'il met en œuvre les étapes du procédé de traitement, de façon à obtenir une liste et une pluralité d'associations entre des informations de mouvement Imv et les informations de mouvement à décoder I'mv.
Ensuite, le décodeur décode l'information reçue, transmise par le codeur, puis il identifie dans la liste, parmi les informations de mouvement à décoder I'mv, celle qui correspond à l'information de mouvement qu'il vient de décoder. Pour connaître l'information de mouvement correspondant au bloc qu'il est en train de reconstruire, il cherche l'information de mouvement Imv associée.
5.5 Structure d'un dispositif de traitement
La figure 7 illustre un exemple de structure simplifiée d'un dispositif de traitement selon un mode de réalisation de l'invention.
Par exemple, le dispositif de traitement comprend une mémoire 71 constituée d'une mémoire tampon, une unité de traitement 72, équipée par exemple d'un microprocesseur μΡ, et pilotée par le programme d'ordinateur 73, mettant en œuvre le procédé de traitement selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur 73 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement
72. L'unité de traitement 72 reçoit en entrée au moins une information de mouvement relative, à une image d'une séquence d'images. Le microprocesseur de l'unité de traitement 72 met en œuvre les étapes du procédé de traitement décrit précédemment, selon les instructions du programme d'ordinateur 73, pour délivrer au moins une information de mouvement à coder. Pour cela, le dispositif de traitement comprend, outre la mémoire tampon 71 :
- un module M20 de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Imvi-a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Imv[-na, non préalablement codée.
- un premier module M21 d'association d'au moins une information de mouvement attendue ïmvra à une information de mouvement de ladite liste, dite information de mouvement à coder I'mvi, le premier module d'association M21 étant adapté pour respecter une première règle d'optimisation du coût de codage de l'information de mouvement à coder et délivrer une liste L modifiée comprenant au moins une association {Imvi-a, I'mvi);
- un deuxième module M22 d'association de chaque information de mouvement non attendue non associée par le premier module d'association, à une information de mouvement à coder Γηιν; identifiée parmi les informations de mouvement non attendues non associées par le premier module d'association et les informations de mouvement attendues associées par le premier module d'association, le deuxième module d'association étant adapté pour respecter une deuxième règle visant à ce que chacune des informations de mouvement Imvi de la liste soit associée, par les premier ou deuxième modules d'association, à une unique information de mouvement à coder I'mvi, ledit deuxième module d'association délivrant une liste L modifiée comprenant autant d'associations {Imvi-a, I'mvi) que d'informations de mouvement dans la liste L construite par le module de construction M20.
Ces modules sont pilotés par le microprocesseur de l'unité de traitement 72.

Claims

REVENDICATIONS
Procédé de traitement d'au moins une information de mouvement Imv relative à une image courante d'une séquence d'images,
caractérisé en ce qu'il comprend ;
— une étape (20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue Imvj-a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Imvi-na, non préalablement codée ;
— une première étape (21) d'association d'au moins une information de mouvement attendue Imvi-a à une information de mouvement de ladite liste, dite information de mouvement à coder Z'/nv/,
ladite première étape d'association étant mise en œuvre selon une première règle d'optimisation du coût de codage de ladite information de mouvement à coder et délivrant une liste L modifiée comprenant au moins une association (Imvi-a, I'mvi ) ;
— une deuxième étape (22) d'association de chaque information de mouvement non attendue Imvi-na non associée lors de ladite première étape d'association, à une information de mouvement à coder Z'mv; identifiée parmi lesdites informations de mouvement non attendues Imvi-na non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues lmvi-a associées lors de ladite première étape d'association,
ladite deuxième étape d'association étant mise en œuvre selon une deuxième règle visant à ce que chacune des informations de mouvement Imv; de ladite liste soit associée, lors de ladite première ou de ladite deuxième étape d'association, à une unique information de mouvement à coder I'miv;, ladite deuxième étape d'association délivrant une liste L modifiée comprenant autant d'associations {Imvt--a, Finv}) que d'informations de mouvement dans la liste L construite lors de ladite étape de construction.
Procédé selon la revendication 1, caractérisé en ce que ladite première étape d'association comprend une première étape de sélection, selon au moins un premier critère de priorité de traitement, d'au moins une desdites informations de mouvement attendues de ladite liste, dite information de mouvement courante, et pour ladite information de mouvement courante, au moins une itération des sous-étapes suivantes, tant que ladite première règle n'est pas vérifiée :
o une première sous-étape d'identification, selon au moins un deuxième critère de priorité de traitement, d'une information de mouvement à coder parmi lesdites informations de mouvement non attendues et lesdites informations de mouvement attendues associées lors d'une itération précédente, et
o lorsque ladite première règle est vérifiée, une première sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
3. Procédé selon la revendication 1, caractérisé en ce que ladite deuxième étape d'association comprend au moins une itération des étapes suivantes :
- une deuxième étape de sélection, selon au moins un troisième critère de priorité de traitement, d'au moins une desdites informations de mouvement non attendue non associée lors de ladite première étape d'association, dite information de mouvement courante, et
pour ladite information de mouvement courante :
o une deuxième sous-étape d'identification, selon au moins un quatrième critère de priorité de traitement, parmi lesdites informations de mouvement non attendues non associées lors de ladite première étape d'association et lesdites informations de mouvement attendues associées lors de ladite première étape d'association, d'une information de mouvement à coder et
o une deuxième sous-étape d'association, à ladite information de mouvement courante, de ladite information de mouvement à coder identifiée.
4. Procédé selon la revendication 2 ou la revendication 3, caractérisé en ce que lesdits critères de priorité de traitement correspondent à au moins un paramètre appartenant au groupe comprenant :
- un sens de traitement des informations de mouvement de ladite liste, lorsqu'elles sont représentées dans un référentiel dont chaque axe correspond à une composante distincte d'une information de mouvement ;
- une information représentative du nombre de fois où une information de mouvement attendue a été préalablement codée, dite fréquence d'apparition ;
- une information représentative d'un degré de confiance associé à une information de mouvement ; ou
- une combinaison des paramètres précédents.
5. Procédé selon la revendication 4, caractérisé en ce que ledit sens de traitement appartient au groupe comprenant : - un sens de traitement en spirale,
- un sens de traitement en losange,
- un sens de traitement tenant compte d'au moins une position, dans ledit référentiel, desdites informations de mouvement,
et en ce que ledit sens de traitement est centré sur une information de mouvement prédéterminée ou sur un barycentre desdites informations de mouvement de ladite liste.
6. Procédé selon la revendication 1, caractérisé en ce que ladite étape de construction tient compte d'un nombre n d'images de référence.
7. Procédé de codage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il met en œuvre un procédé de traitement selon la revendication 1 et les étapes suivantes :
- sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ;
- codage d'une information de mouvement à coder associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement sélectionnée lors de ladite étape de sélection, délivrant une information de mouvement codée pour ledit bloc.
8. Signal représentatif d'au moins un bloc codé d'une image d'une séquence d'images, caractérisé en ce qu'il porte au moins une information de mouvement codée selon le procédé de codage selon la revendication 7.
9. Signal selon la revendication 8, caractérisé en ce qu'il porte en outre une information représentative d'un nombre n d'images de référence.
10. Procédé de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il comprend les étapes suivantes :
- réception et décodage d'une information de mouvement codée selon le procédé de codage selon la revendication 7, délivrant une information de mouvement décodée ;
- mise en œuvre des étapes du procédé de traitement selon la revendication 1 ;
- sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, lors de ladite première ou de ladite deuxième étape d'association, à ladite information de mouvement décodée ;
- reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée.
11. Dispositif de traitement d'au moins une information de mouvement relative à une image courante d'une séquence d'images,
caractérisé en ce qu'il comprend :
- des moyens (M20) de construction d'au moins une liste L comprenant au moins une information de mouvement, dite information de mouvement attendue ïnivi-a, issue d'une prédiction par compensation en mouvement à partir d'au moins une image de référence et ayant été préalablement codée, et au moins une information de mouvement, dite information de mouvement non attendue Imvi-na, non préalablement codée ;
- des premiers moyens (M21) d'association d'au moins une information de mouvement attendue Imvi-a à une information de mouvement de ladite liste, dite information de mouvement à coder /'mvi,
lesdits premiers moyens d'association étant adaptés pour respecter une première règle d'optimisation du coût de codage de ladite information de mouvement à coder et délivrer une liste L modifiée comprenant au moins une association (Imvt-a, I'mvi);
- des deuxièmes moyens (M22) d'association de chaque information de mouvement non attendue non associée par lesdits premiers moyens d'association, à une information de mouvement à coder I'mvi; identifiée parmi lesdites informations de mouvement non attendues non associées par lesdits premiers moyens d'association et lesdites informations de mouvement attendues associées par lesdits premiers moyens d'association,
lesdits deuxièmes moyens d'association étant adaptés pour respecter une deuxième règle visant à ce que chacune des informations de mouvement Imvi de ladite liste soit associée, par lesdits premiers ou deuxièmes moyens d'association, à une unique information de mouvement à coder I'mvi,, lesdits deuxièmes moyens d'association délivrant une liste L modifiée comprenant autant d'associations (Imv;-a, Vmvi) que d'informations de mouvement dans la liste L construite par lesdits moyens de construction.
12. Dispositif de codage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il comprend des moyens du dispositif de traitement selon la revendication 11 et :
- des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement pour ledit bloc courant ;
- des moyens de codage d'une information de mouvement à coder associée, par lesdits moyens dudit dispositif de traitement, à ladite information de mouvement sélectionnée par lesdits moyens de sélection.
13. Dispositif de décodage d'au moins un bloc courant d'une image courante d'une séquence d'images, caractérisé en ce qu'il comprend :
- des moyens de réception et de décodage d'une information de mouvement codée par les moyens du dispositif de codage selon la revendication 7, délivrant une information de mouvement décodée ;
- des moyens de mise en œuvre des moyens du dispositif de traitement selon la revendication 11 ;
— des moyens de sélection, parmi lesdites informations de mouvement de ladite liste, d'une information de mouvement associée, , par lesdits premiers ou deuxièmes moyens d'association, à ladite information de mouvement décodée ;
- des moyens de reconstruction dudit bloc à partir de ladite information de mouvement sélectionnée.
14. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon les revendications 1, 7 ou 10 lorsque ce programme est exécuté par un processeur.
EP11731021A 2010-04-22 2011-04-19 Procédé de traitement d'une information de mouvement et procédés de codage Ceased EP2561679A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1053060A FR2959376A1 (fr) 2010-04-22 2010-04-22 Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
PCT/FR2011/050898 WO2011131903A1 (fr) 2010-04-22 2011-04-19 Procede de traitement d'une information de mouvement et procedes de codage

Publications (1)

Publication Number Publication Date
EP2561679A1 true EP2561679A1 (fr) 2013-02-27

Family

ID=43127333

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11731021A Ceased EP2561679A1 (fr) 2010-04-22 2011-04-19 Procédé de traitement d'une information de mouvement et procédés de codage

Country Status (5)

Country Link
US (1) US9560376B2 (fr)
EP (1) EP2561679A1 (fr)
CN (1) CN102959954B (fr)
FR (1) FR2959376A1 (fr)
WO (1) WO2011131903A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959376A1 (fr) * 2010-04-22 2011-10-28 France Telecom Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
CN107277506B (zh) * 2017-08-15 2019-12-03 中南大学 基于自适应运动矢量精度的运动矢量精度选择方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178265B1 (en) 1994-09-22 2001-01-23 Intel Corporation Method and apparatus for motion vector compression
JP4102973B2 (ja) * 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8000392B1 (en) * 2004-02-27 2011-08-16 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
JPWO2007074605A1 (ja) * 2005-12-26 2009-06-04 株式会社ニコン 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
US7672377B2 (en) * 2006-04-21 2010-03-02 Dilithium Holdings, Inc. Method and system for video encoding and transcoding
KR101311403B1 (ko) * 2006-07-04 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
KR101366242B1 (ko) * 2007-03-29 2014-02-20 삼성전자주식회사 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
CN101159875B (zh) * 2007-10-15 2011-10-05 浙江大学 二重预测视频编解码方法和装置
CN101933328B (zh) * 2008-01-22 2014-11-19 杜比实验室特许公司 利用动态查询表更新的自适应运动信息成本估计
WO2009115901A2 (fr) * 2008-03-19 2009-09-24 Nokia Corporation Vecteur de mouvement combiné et prédiction d'indice de référence pour codage vidéo
US20090316042A1 (en) * 2008-06-19 2009-12-24 Chin-Chuan Liang Video processing methods and related devices for determining target motion vector
EP2227012A1 (fr) * 2009-03-05 2010-09-08 Sony Corporation Système et procédé pour la fourniture de vecteurs de mouvement fiables
US8873626B2 (en) * 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
FR2959376A1 (fr) * 2010-04-22 2011-10-28 France Telecom Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
JP5298140B2 (ja) * 2011-01-12 2013-09-25 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
EP2787728B1 (fr) * 2011-09-23 2020-11-11 KT Corporation Procédé de provocation d'un bloc candidat à la fusion

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JULIEN LE TANOU ET AL: "Motion vector forecast and mapping (MV-FMap) method for entropy coding based video coders", 2010 IEEE INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP '10), SAINT MALO, FRANCE, 4-6 OCT. 2010, IEEE, IEEE, PISCATAWAY, USA, 4 October 2010 (2010-10-04), pages 206 - 211, XP031830583, ISBN: 978-1-4244-8110-1 *
See also references of WO2011131903A1 *

Also Published As

Publication number Publication date
CN102959954A (zh) 2013-03-06
US9560376B2 (en) 2017-01-31
WO2011131903A1 (fr) 2011-10-27
US20130039425A1 (en) 2013-02-14
CN102959954B (zh) 2016-05-11
FR2959376A1 (fr) 2011-10-28

Similar Documents

Publication Publication Date Title
EP2446628B1 (fr) Procédé de décodage d'images, dispositifs de décodage et programme d'ordinateur correspondants
EP2991350B1 (fr) Procédé de décodage d'images
EP3061246B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP3651466A1 (fr) Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et decodage utilisant une telle prediction
EP2347590B1 (fr) Prediction d'une image par compensation en mouvement en avant
FR2933565A1 (fr) Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
EP2443835B1 (fr) Codage de vecteurs mouvement par compétition de prédicteurs
EP3075155B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP2392142A1 (fr) Procedes de codage et de decodage d'une sequence d'image mettant en oeuvre une compensation en mouvement, dispositifs de codage et de decodage, signal et programmes d'ordinateur correspondants
EP2486659B1 (fr) Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
WO2011131903A1 (fr) Procede de traitement d'une information de mouvement et procedes de codage
FR3040578A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
EP3360328B1 (fr) Codage et décodage multi-vues
WO2020070409A1 (fr) Codage et décodage d'une vidéo omnidirectionnelle
WO2019115899A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues représentative d'une vidéo omnidirectionnelle
WO2010086562A1 (fr) Procede et dispositif de codage d'images mettant en oeuvre des modes de codage distincts, procede et dispositif de decodage, et programmes d'ordinateur correspondants
WO2018065687A1 (fr) Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
WO2024042286A1 (fr) Lissage hors boucle de codage d'une frontière entre deux zones d'image
FR2956552A1 (fr) Procede de codage ou de decodage d'une sequence video, dispositifs associes
WO2020058595A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
WO2011131902A2 (fr) Procédé d'enrichissement d'une information de mouvement et procédé de codage

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: 20121113

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

17Q First examination report despatched

Effective date: 20170606

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20180322