Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
Abstract
A system for coding of digital video images such as bi-directionally predicted video object planes (B-VOPs), in particular, where the B-VOP and/or a reference image used to code the B-VOP is interlaced coded. For a B-VOP macroblock which is co-sited with a field predicted macroblock of a future anchor picture, direct mode prediction is made by calculating four field motion vectors, then generating the prediction macroblock. The four field motion vectors and their reference fields are determined from (1) an offset term of the current macroblock's coding vector, (2) the two future anchor picture field motion vectors, (3) the reference field used by the two field motion vectors of the co-sited future anchor macroblock, and (4) the temporal spacing, in field periods, between the current B-VOP fields and the anchor fields. Additionally, a coding mode decision process for the current MB selects a forward, backward, or average field coding mode according to a minimum sum of absolute differences (SAD) error which is obtained over the top and bottom fields of the current MB.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for calculating direct mode motion vectors for a current bi-directionally predicted, field coded image having top and bottom fields, in a sequence of digital video images, comprising the steps of:
determining a past field coded reference image having top and bottom fields, and a future field coded reference image having top and bottom fields;
wherein the future image is predicted using the past image such that MV top , a forward motion vector of the top field of the future image, references one of the top and bottom fields of the past image, and MV bot , a forward motion vector of the bottom field of the future image, references one of the top and bottom fields of said past image; and
determining forward and backward motion vectors for predicting at least one of the top and bottom fields of the current image by scaling the forward motion vector of the corresponding field of the future image.
2. The method of claim 1 , wherein:
MV f,top , the forward motion vector for predicting the top field of the current image is determined according to the expression (MV top *TR B,top )/TR D,top +MV D ;
where TR B,top corresponds to a temporal spacing between the top field of the current image and the field of the past image which is referenced by MV top , TR D,top corresponds to a temporal spacing between the top field of the future image and the field of the past image which is referenced by MV top , and MV D is a delta motion vector.
3. The method of claim 2 , wherein:
MV f,top is determined using integer division with truncation toward zero; and
MV top and MV bot are integer half-luma pel motion vectors.
4. The method of claim 2 , wherein:
TR B,top and TR D,top incorporate a temporal correction which accounts for whether said current field coded image is top field first or bottom field first.
5. The method of claim 1 , wherein:
MV f,bot , the forward motion vector for predicting the bottom field of the current image is determined according to the expression (MV bot *TR B,bot )/(TR D,bot +MV D ;
where TR B,bot corresponds to a temporal spacing between the bottom field of the current image and the field of the past image which is referenced by MV bot , TR D,bot corresponds to a temporal spacing between the bottom field of the future image and the field of the past image which is referenced by MV bot , and MV D is a delta motion vector.
6. The method of claim 5 , wherein:
MV f,bot is determined using integer division with truncation toward zero; and
MV top and MV bot are integer half-luma pel motion vectors.
7. The method of claim 5 , wherein:
TR B,bot and TD D,bot incorporate a temporal correction which accounts for whether said current field coded image is top field first or bottom field first.
8. The method of claim 1 , wherein:
MV b,top , the backward motion vector for predicting the top field of the current image is determined according to one of the equations (a) MV b,top =((TR B,top −TR D,top )*MV top )/TR D,top and (b) MV b,top =MV f,top −MV top ;
where TR B,top corresponds to a temporal spacing between the top field of the current image and the field of the past image which is referenced by MV top , TR D,top corresponds to a temporal spacing between the top field of the future image and the field of the past image which is referenced by MV top , and MV f,top is the forward motion vector for predicting the top field of the current image.
9. The method of claim 8 , wherein:
said equation (a) is selected when a delta motion vector MV D =0, and said equation (b) is selected when MV D ≠0.
10. The method of claim 1 , wherein:
MV b,bot , the backward motion vector for predicting the bottom field of the current image is determined according to one of the equations (a) MV b,bot =((TR B,bot −TR D,bot )*MV bot )/TR D,bot and (b) MV b,bot =MV f,bot −MV bot ;
where TR B,bot corresponds to a temporal spacing between the bottom field of the current image and the field of the past image which is referenced by MV bot , TR D,bot corresponds to a temporal spacing between the bottom field of the future image and the field of the past image which is referenced by MV bot , and MV f,bot is the forward motion vector for predicting the bottom field of the current image.
11. The method of claim 10 , wherein:
said equation (a) is selected when a delta motion vector MV D =0, and said equation (b) is selected when MV D ≠0.
12. A method for selecting a coding mode for a current predicted, field coded macroblock having top and bottom fields, in a sequence of digital video images, comprising the steps of:
determining a forward sum of absolute differences error, SAD forward,field for the current macroblock relative to a past reference macroblock, which corresponds to a forward coding mode;
determining a backward sum of absolute differences error, SAD backward,field for the current macroblock relative to a future reference macroblock, which corresponds to a backward coding mode;
determining an average sum of absolute differences error, SAD average,field for the current macroblock relative to an average of said past and future reference macroblocks, which corresponds to an average coding mode; and
selecting said coding mode according to the minimum of said SADs.
13. The method of claim 12 , comprising the further step of:
selecting said coding mode according to the minimum of respective sums of said SADs with corresponding bias terms which account for the number of required motion vectors of the respective coding modes.
14. The method of claim 12 , wherein:
SAD forward,field is determined according to a sum of: (a) a sum of absolute differences for the top field of the current macroblock relative to a top field of the past reference macroblock, and (b) a sum of absolute differences for the bottom field of the current macroblock relative to a bottom field of the past reference macroblock.
15. The method of claim 12 , wherein:
SAD backward,field is determined according to a sum of: (a) a sum of absolute differences for the top field of the current macroblock relative to a top field of the future reference macroblock, and (b) a sum of absolute differences for the bottom field of the current macroblock relative to a bottom field of the future reference macroblock.
16. The method of claim 12 , wherein:
SAD average,field is determined according to a sum of: (a) a sum of absolute differences for the top field of the current macroblock relative to an average of the top fields of the past and future reference macroblocks, and (b) a sum of absolute differences for the bottom field of the current macroblock relative to an average of the bottom fields of the past and future reference macroblocks.
17. A decoder for recovering a current, direct mode, field coded macroblock having top and bottom fields in a sequence of digital video macroblocks from a received bitstream, wherein said current macroblock is bi-directionally predicted using a past field coded reference macroblock having top and bottom fields, and a future field coded reference macroblock having top and bottom fields, comprising:
means for recovering MV top , a forward motion vector of the top field of the future macroblock which references one of the top and bottom fields of the past macroblock, and MV bot , a forward motion vector of the bottom field of the future macroblock which references one of the top and bottom fields of said past macroblock; and
means for determining forward and backward motion vectors for predicting at least one of the top and bottom fields of the current macroblock by scaling the forward motion vector of the corresponding field of the future macroblock.
18. The decoder of claim 17 , further comprising:
means for determining MV f,top , the forward motion vector for predicting the top field of the current macroblock, according to the expression (MV top *TR B,top )/TR D,top +MV D ;
where TR B,top corresponds to a temporal spacing between the top field of the current macroblock and the field of the past macroblock which is referenced by MV top , TR D,top corresponds to a temporal spacing between the top field of the future macroblock and the field of the past macroblock which is referenced by MV top , and MV D is a delta motion vector.
19. The decoder of claim 18 , wherein:
MV f,top is determined using integer division with truncation toward zero; and
MV top and MV bot are integer half-luma pel motion vectors.
20. The decoder of claim 18 , wherein:
TR B,top and TR D,top incorporate a temporal correction which accounts for whether said current field coded image is top field first or bottom field first.
21. The decoder of claim 17 , further comprising:
means for determining MV f,bot , the forward motion vector for predicting the bottom field of the current macroblock, according to the expression (MV bot *TR B,bot )TR D,bot +MV D ;
where TR B,bot corresponds to a temporal spacing between the bottom field of the current macroblock and the field of the past macroblock which is referenced by MV bot , TR D,bot corresponds to a temporal spacing between the bottom field of the future macroblock and the field of the past macroblock which is referenced by MV bot , and MV D is a delta motion vector.
22. The decoder of claim 21 , wherein:
MV f,bot is determined using integer division with truncation toward zero; and
MV top and MV bot are integer half-luma pel motion vectors.
23. The decoder of claim 21 , wherein:
TR B,bot and TR D,bot incorporate a temporal correction which accounts for whether said current field coded image is top field first or bottom field first.
24. The decoder of claim 17 , further comprising:
means for determining MV b,top , the backward motion vector for predicting the top field of the current macroblock, according to one of the equations (a) MV b,top =((TR B,top −TR D,top )*MV top )/TR D,top and (b) MV b,top =MV f,top −MV top ;
where TR B,top corresponds to a temporal spacing between the top field of the current macroblock and the field of the past macroblock which is referenced by MV top , TR D,top corresponds to a temporal spacing between the top field of the future macroblock and the field of the past macroblock which is referenced by MV top , and MV f,top is the forward motion vector for predicting the top field of the current macroblock.
25. The decoder of claim 24 , further comprising:
means for selecting said equation (a) when a delta motion vector MV D =0; and
means for selecting said equation (b) when MV D ≠0.
26. The decoder of claim 17 , further comprising:
means for determining MV b,bot the backward motion vector for predicting the bottom field of the current macroblock, according to one of the equations (a) MV b,bot =((TR B,bot −TR D,bot )*MV bot )/TR D,bot and (b) MV b,bot =MV f,bot −MV bot ;
where TR B,bot corresponds to a temporal spacing between the bottom field of the current macroblock and the field of the past macroblock which is referenced by MV bot , TR D,bot corresponds to a temporal spacing between the bottom field of the future macroblock and the field of the past macroblock which is referenced by MV bot , and MV f,bot is the forward motion vector for predicting the bottom field of the current macroblock.
27. The decoder of claim 26 , further comprising:
means for selecting said equation (a) when a delta motion vector MV D =0; and
means for selecting said equation (b) when MV D ≠0.
28. An encoded video signal, said signal comprising:
prediction information for providing a current, direct mode, field coded macroblock having top and bottom fields in a sequence of digital video macroblocks, said current macroblock being bi - directionally predicted using a past field coded reference macroblock having top and bottom fields, and a future field coded reference macroblock having top and bottom fields, said prediction information comprising:
a forward motion vector MV
top
of the top field of the future macroblock which references one of the top and bottom fields of the past macroblock, and
a forward motion vector MV
bot
of the bottom field of the future macroblock which references one of the top and bottom fields of said past macroblock;
wherein forward and backward motion vectors for predicting at least one of the top and bottom fields of the current macroblock are determinable from said prediction information by scaling the forward motion vector of the corresponding field of the future macroblock.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.