Methods and devices for encoding and decoding an image sequence implementing a prediction by forward motion compensation, corresponding stream and computer program
First Claim
1. A method for encoding a sequence of images, the method comprising:
- receiving by a processor of an encoding device at least one current image and at least one reference image, the current image being divided into a plurality of blocks;
generating with the processor a prediction of the at least one current image by forward motion compensation from the at least one reference image, wherein forward motion compensation uses motion vectors pointing from the reference image towards the at least one current image, and wherein generating the prediction comprises;
for at least one block of said current image, called an overlapped current block, a sub-step of forward projection of at least two blocks of the reference image on said current image, delivering at least two projected blocks at least partially overlapping said overlapped current block, and two motion vectors, each motion vector representing shift of one of the projected blocks in the current image;
partitioning said overlapped current block into a plurality of sub-blocks, wherein at least one of the sub-blocks is at least partially overlapped by at least one of said projected blocks, called an overlapped sub-block; and
at least one iteration of the following steps for at least one overlapped sub-block;
checking that the overlapped sub-block complies with a predetermined allotting criterion that is based on overlap of the at least one projected block with respect to the overlapped sub-block;
if the overlapped sub-block complies with the predetermined allotting criterion, allotting, to said overlapped sub-block, one of the projected motion vectors selected from among the projected motion vector or vectors associated with the projected block or blocks at least partially overlapping said overlapped sub-block; and
if the overlapped sub-block does not comply with the predetermined allotting criterion, and so long as a predetermined minimum size is not reached for said overlapped sub-block;
partitioning of said overlapped sub-block into a plurality of new sub-blocks, wherein at least one new sub-block, called a new overlapped sub-block, is at least partially overlapped by at least one of said projected blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for encoding a sequence of images by predicting at least one current image by forward motion compensation from at least one reference image. Prediction implements, for at least one current block of the current image: forward projection of a block of the reference image on the current image, delivering a projected block at least partially overlapping the current block; partitioning the current block delivering a sub-block at least partially overlapped by at least one projected block; and at least one iteration of the following steps for at least one overlapped sub-block: checking that the overlapped sub-block complies with a predetermined allotting criterion; with a positive check, allotting, to the overlapped sub-block, one of the projected motion vectors; and with a negative check, and so long as a predetermined minimum size is not reached for the overlapped sub-block: partitioning of the overlapped sub-block.
41 Citations
17 Claims
-
1. A method for encoding a sequence of images, the method comprising:
-
receiving by a processor of an encoding device at least one current image and at least one reference image, the current image being divided into a plurality of blocks; generating with the processor a prediction of the at least one current image by forward motion compensation from the at least one reference image, wherein forward motion compensation uses motion vectors pointing from the reference image towards the at least one current image, and wherein generating the prediction comprises; for at least one block of said current image, called an overlapped current block, a sub-step of forward projection of at least two blocks of the reference image on said current image, delivering at least two projected blocks at least partially overlapping said overlapped current block, and two motion vectors, each motion vector representing shift of one of the projected blocks in the current image; partitioning said overlapped current block into a plurality of sub-blocks, wherein at least one of the sub-blocks is at least partially overlapped by at least one of said projected blocks, called an overlapped sub-block; and at least one iteration of the following steps for at least one overlapped sub-block; checking that the overlapped sub-block complies with a predetermined allotting criterion that is based on overlap of the at least one projected block with respect to the overlapped sub-block; if the overlapped sub-block complies with the predetermined allotting criterion, allotting, to said overlapped sub-block, one of the projected motion vectors selected from among the projected motion vector or vectors associated with the projected block or blocks at least partially overlapping said overlapped sub-block; and if the overlapped sub-block does not comply with the predetermined allotting criterion, and so long as a predetermined minimum size is not reached for said overlapped sub-block;
partitioning of said overlapped sub-block into a plurality of new sub-blocks, wherein at least one new sub-block, called a new overlapped sub-block, is at least partially overlapped by at least one of said projected blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 16)
-
-
9. An encoding device for encoding a sequence of images, the encoding device comprising:
-
an input receiving at least one current image and at least one reference image, the current image being divided into a plurality of blocks; an output; a non-transitory computer-readable medium comprising instructions stored thereon; a processor, which is configured by the instructions to perform acts of; generating with the processor a prediction of the at least one current image by forward motion compensation from the at least one reference image, wherein forward motion compensation uses motion vectors pointing from the reference image towards the at least one current image, and generating the prediction comprises, for at least one block of said current image, called an overlapped current block; forward projection of at least two blocks of the reference image on said current image, delivering at least two projected blocks at least partially overlapping said overlapped current block, and two motion vectors, each motion vector representing shifting of one of the projected blocks in the current image, partitioning said overlapped current block into a plurality of sub-blocks, wherein at least one of the sub-blocks is at least partially overlapped by at least one of said projected blocks, called an overlapped sub-block, and at least iteration of the following steps for at least one overlapped sub-block; checking that the overlapped sub-block complies with a predetermined allotting criterion that is based on overlap of the at least one projected block with respect to the overlapped sub-block; allotting, to said overlapped sub-block, one of said projected motion vectors selected from among the projected motion vector or vectors associated with the projected block or blocks at least partially overlapping the overlapped sub-block, activated if the overlapped sub-block complies with the predetermined allotting criterion; and partitioning said overlapped sub-block into a plurality of new sub-blocks, wherein at least one new sub-block, called a new overlapped sub-block, is at least partially overlapped by at least one of said projected blocks, the means for partitioning said overlapped sub-block being activated if the overlapped sub-block does not comply with the predetermined allotting criterion, and so long as a predetermined minimum size is not reached for said overlapped sub-block.
-
-
11. A method for decoding a stream representing a sequence of images, the method comprising:
-
receiving by a processor of a decoding device the stream representing the sequence of images; generating a prediction with the processor of at least one image of the stream to be rebuilt by forward motion compensation from at least one reference image, the image to be rebuilt being divided into a plurality of blocks, wherein forward motion compensation uses motion vectors pointing from the reference image towards the at least one current image, and wherein generating a prediction comprises; for at least one block of said image to be rebuilt, called an overlapped current block to be rebuilt, a sub-step of forward projection of at least two blocks of the reference image on said image to be rebuilt, delivering at least two projected blocks at least partially overlapping said overlapped current block to be rebuilt, and two motion vectors, each motion vector representing shift of one of the blocks projected in the image to be rebuilt, partitioning said overlapped current block into a plurality of sub-blocks, wherein at least one of the sub-blocks is at least partially overlapped by at least one of said projected blocks, called an overlapped sub-block; and at least one iteration of the following steps for at least one overlapped sub-block; checking that the overlapped sub-block complies with a predetermined allotting criterion that is based on overlap of the at least one projected block with respect to the overlapped sub-block; if the overlapped sub-block complies with the predetermined allotting criterion;
allotting, to said overlapped sub-block, one of said projected motion vectors selected from among the projected motion vector or vectors associated with said projected block or blocks at least partially overlapping said overlapped sub-block; andif the overlapped sub-block does not comply with the predetermined allotting criterion, and so long as a predetermined minimum size is not reached for said overlapped sub-block;
partitioning said overlapped sub-block into a plurality of new sub-blocks, wherein at least one new sub-block, called a new overlapped sub-block, is at least partially overlapped by at least one of said projected blocks. - View Dependent Claims (12, 13, 17)
-
-
14. A decoding device for decoding a stream representing a sequence of images, the decoding device comprising:
-
an input receiving the stream representing the sequence of images; an output; a non-transitory computer-readable medium comprising instructions stored thereon; a processor, which is configured by the instructions to perform acts of; generating a prediction of at least one image of the stream to be rebuilt by forward motion compensation from at least one reference image, the image to be rebuilt being divided into a plurality of blocks, wherein forward motion compensation uses motion vectors pointing from the reference image towards the at least one current image, and wherein generating comprises, for at least one block of said image to be rebuilt, called an overlapped current block to be rebuilt; forward projection of at least two blocks of the reference image on said image to be rebuilt, delivering at least two projected blocks at least partially overlapping said overlapped current block to be rebuilt, and two motion vectors, each motion vector representing shift of one of the blocks projected in the image to be rebuilt, partitioning said overlapped current block into a plurality of sub-blocks, wherein at least one of the sub-blocks is at least partially overlapped by at least one of said projected blocks, called an overlapped sub-block, and at least iteration of the following steps for at least one overlapped sub-block; checking that said overlapped sub-block complies with a predetermined allotting criterion that is based on overlap of the at least one projected block with respect to the overlapped sub-block; allotting, to said overlapped sub-block, one of said projected motion vectors selected from among the projected motion vector or vectors associated with the projected block or blocks at least partially overlapping said overlapped sub-block, activated if the overlapped sub-block complies with the predetermined allotting criterion; and partitioning said overlapped sub-block into a plurality of new sub-blocks, wherein at least one new sub-block, called a new overlapped sub-block, is at least partially overlapped by at least one of said projected blocks, the means for partitioning said overlapped sub-block being activated if the overlapped sub-block does not comply with the predetermined allotting criterion, and so long as a predetermined minimum size is not reached for said overlapped sub-block.
-
-
15. A non-transitory computer-readable medium comprising a computer program comprising instructions for implementing a method for encoding a sequence of images, when this program is executed by a processor of an encoding device, wherein the instructions comprise:
-
instructions configured to cause the processor to receive at least one current image and at least one reference image and to generate a prediction of the at least one current image by forward motion compensation from the at least one reference image, the current image being divided into a plurality of blocks, wherein forward motion compensation uses motion vectors pointing from the reference image towards the at least one current image, and wherein the processor implements; for at least one block of said current image, called an overlapped current block, a sub-step of forward projection of at least two blocks of the reference image on said current image, delivering at least two projected blocks at least partially overlapping said overlapped current block, and two motion vectors, each motion vector representing shift of one of the projected blocks in the current image; partitioning said overlapped current block into a plurality of sub-blocks, wherein at least one of the sub-blocks is at least partially overlapped by at least one of said projected blocks, called an overlapped sub-block; and at least one iteration of the following steps for at least one overlapped sub-block; checking that the overlapped sub-block complies with a predetermined allotting criterion that is based on overlap of the at least one projected block with respect to the overlapped sub-block; if the overlapped sub-block complies with the predetermined allotting criterion, allotting, to said overlapped sub-block, one of the projected motion vectors selected from among the projected motion vector or vectors associated with the projected block or blocks at least partially overlapping said overlapped sub-block; and if the overlapped sub-block does not comply with the predetermined allotting criterion, and so long as a predetermined minimum size is not reached for said overlapped sub-block;
partitioning said overlapped sub-block into a plurality of new sub-blocks, wherein at least one new sub-block, called a new overlapped sub-block, is at least partially overlapped by at least one of said projected blocks.
-
Specification