1. Field of the Invention
The present invention relates to a moving picture coding method, and more particularly to a technique for deriving motion vectors of a B (bi-predictive) picture.
2. Description of the Related Art
A conventional B picture has five types of predictive modes such as forward mode, backward mode, bi-directional mode, direct mode and intra mode. In the forward mode, backward mode and bi-directional mode, the directions of motion vectors can be recognized from mode names because direction information are involved in the mode names. In the direct mode, two motion vectors of both directions are derived from a motion vector of a co-located block in a neighboring picture on the basis of a temporal redundancy characteristic that motion continuity is constantly maintained between two adjacent pictures. This direct mode has an advantage in terms of coding efficiency because motion information is not sent to a decoder.
On the other hand, a B picture proposed in a next-generation moving picture compression technique such as H.264 or MPEG-4 part 10 is characterized in that the B picture is allowed to be used as a reference picture because it can be stored in a reference picture buffer. This B picture is further characterized in that it has five types of predictive modes such as list 0 mode, list 1 mode, hi-predictive mode, direct mode and intra mode.
The list 0 mode is similar to the conventional forward mode, and motion information such as a reference picture index and motion vector difference are indicated respectively by ref_idx_l0 and mvd_l0. The list 1 mode is also similar to the conventional backward mode, and motion information such as a reference picture index and motion vector difference are indicated respectively by ref_idx_l1 and mvd_l1. The bi-predictive mode has two reference pictures, both of which may be located temporally before or after the B picture, or which may be located temporally before and after the B picture, respectively. In this case, two reference picture indexes and two motion vector differences are indicated respectively by ref_idx_l0, ref_idx_l1, mvd_l0, and mvd_l1, and each reference pictures has picture order count (POC) data which is temporal location information.
In the direct mode, motion vectors are obtained by selecting any one of a spatial technique and temporal technique. The spatial direct mode technique is to derive list 0 and list 1 reference picture indexes and motion vectors from neighboring blocks of a macroblock to be coded. The temporal direct mode technique is to derive a list 0 motion vector MVF and list 1 motion vector MVB by scaling the only motion vector, a list 0 motion vector, of a co-located block in a list 1 reference picture for direct mode, which is similar to the conventional B picture. Here, the list 1 reference picture for direct mode is a P picture (hence the single motion vector) where an index for list 1 prediction is 0, and a list 0 reference picture for direct mode is a list 0 reference picture pointed by a motion vector of a co-located block in the list 1 reference picture for direct mode.
In conclusion, as seen from
As seen from
The present invention relates to a method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture.
In one embodiment, the method includes selecting the list 1 motion vector of the co-located block in a first reference picture if the co-located block only has the list 1 motion vector. The first reference picture is a type of reference picture permitted to be located temporally before or after a current picture. The current picture includes the bi-predictive block. The method further includes scaling the selected motion vector based on temporal distance between the current picture and the first reference picture, and deriving at least one motion vector of the bi-predictive block by applying a bit operation to the scaled motion vector.
In one embodiment, the method includes selecting, by a moving picture coding system, a list 0 motion vector of the first block in the first picture as the motion vector for deriving list 0 and list 1 motion vectors of the bi-predictive block if the first block has both a list 1 motion vector and the list 0 motion vector, the first picture being permitted to be located temporally before the current picture and permitted to be located temporally after the current picture, deriving a first temporal distance between the current picture and a reference picture of the current picture, deriving a second temporal distance between the first reference picture and a reference picture of the first picture, scaling the selected motion vector based on the first and the second temporal distances and deriving at least one motion vector of the bi-predictive block by applying a bit operation to the scaled motion vector, the bit operation including 8 bits right shift.
The above and other objects, features and other advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
The present invention proposes a method for deriving direct mode motion vectors when a co-located macroblock in a list 1 reference picture for direct mode is in an intra mode, and a method for acquiring the direct mode motion vectors in a case where the list 1 reference picture temporally follows a B picture and in a case where the list 1 reference picture temporally precedes the B picture.
The present invention further proposes a method for calculating the direct mode motion vectors regardless of the locations of list 0 and list 1 reference pictures for direct mode by assigning a sign to an inter-picture temporal distance value to simplify algorithms used for calculation of the direct mode motion vectors.
On the other hand, a frame mode and a field mode are switched at a picture level, so the B picture and list 1 reference picture can be coded into frame mode or field mode. As a result, a macroblock of the B picture and a co-located macroblock of the list 1 reference picture have four types of frame/field-coded combinations.
[1] Case where Co-Located Macroblock of List 1 Reference Picture is in Intra Mode
As shown in
A reference picture index for each list mode is acquired in the following manner.
if the neighboring blocks A, B and C have different reference picture indexes, a smallest one of the reference picture indexes is determined to be a reference picture index for the direct mode.
if two ones of the neighboring blocks have the same reference picture index, this index is determined to be a reference picture index for the direct mode.
if all the neighboring blocks have the same reference picture index, this index is determined to be a reference picture index for the direct mode.
Also, a motion vector for each list mode is acquired through the following motion vector prediction. At this time, if any one of the neighboring blocks A, B and C is in the intra mode, its list 0 and list 1 motion vectors are set to 0.
a motion vector having the same direction as that of a temporal location of the above-acquired reference picture for each list mode is selected from a neighboring block and a motion vector for each list mode is acquired through a median operation.
On the other hand, if neither of the effective list 0 and list 1 reference picture indexes can be derived from a neighboring block, they are set to 0 and a motion vector for each list mode is set to 0.
[2] Cases where List 1 Reference Picture for Direct Mode Temporally Follows B Picture
Case 1: Both Macroblock of B Picture and Co-Located Macroblock of List 1 Reference Picture are in Frame Mode
As seen from
Accordingly,
If the list 0 reference picture and list 1 reference picture for direct mode are located temporally before and after the B picture, respectively (FIG. 6(A)), or if both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally follows the list 1 reference picture (FIG. 6(B)), direct mode motion vectors MVF and MVB are calculated as follows:
MVF=TDB×MV/TDD
MVB=(TDB−TDD)×MV/TDD
where, TDB represents a temporal distance between a current B frame and a list 0 reference frame, and TDD represents a temporal distance between a list 1 reference frame and the list 0 reference frame.
Applying a bit operation to the calculation of the direct mode motion vectors MVF and MVB for the convenience thereof, the above equation may be expressed as follows:
Z=TDB×256/TDD MVF=(Z×MV+128)>>8
W=Z−256 MVB=(W×MV+128)>>8
If both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally precedes the list 1 reference picture (FIG. 6(C)), the direct mode motion vectors MVF and MVB are calculated as follows:
MVF=−TDB×MV/TDD
MVB=−(TDB+TDD)×MV/TDD
This equation may be expressed as follows:
Z=−TDB×256/TDD MVF=(Z×MV+128)>>8
W=Z−256 MVB=(W×MV+128)>>8
Case 2: Both Macroblock of B Picture and Co-Located Macroblock of List 1 Reference Picture are in Field Mode
If the list 0 and list 1 reference pictures for the direct mode are located temporally before and after the B picture, respectively (FIG. 7(A)), or if both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally follows the list 1 reference picture (FIG. 7(B)), direct mode list 0 and list 1 motion vectors MVF,i and MVB,i for each field i of a B frame (i=0 signifies a first field and i=1 signifies a second field) are calculated as follows:
MVF,i=TDB,i×MVi/TDD,i
MVB,i=(TDB,i−TDD,i)×MVi/TDD,i
where, MVi represents a motion vector of a co-located block of a field i in a list 1 reference frame, TDB,i represents a temporal distance between a current B field and a list 0 reference field, and TDD,i represents a temporal distance between a list 1 reference field and the list 0 reference field.
The above equation may be expressed as follows:
Z=TDB,i×256/TDD,i MVF,i=(Z×MVi+128)>>8
W=Z−256 MVB,i=(W×MVi+128)>>8
If, because the co-located block of the field i in the list 1 reference frame has a motion vector pointing to a field in a frame temporally following the B picture, both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally precedes the list 1 reference picture (FIGS. 7(C) and 7(D)), the direct mode list 0 and list 1 motion vectors MVF,i and MVB,i are calculated as follows:
MVF,i=−TDB,i×MVi/TDD,i
MVB,i=−(TDB,i+TDD,i)×MVi/TDD,i
The above equation may be expressed as follows:
Z=−TDB,i×256/TDD,i MVF,i=(Z×MVi+128)>>8
W=Z−256 MVB,i=(W×MVi+128)>>8
Case 3: Macroblock of B Picture is in Field Mode and Co-Located Macroblock of List 1 Reference Picture is in Frame Mode
If the list 0 and list 1 reference pictures for the direct mode are located temporally before and after the B picture, respectively (FIG. 8(A)), or if both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally follows the list 1 reference picture (FIG. 8(B)), the direct mode list 0 and list 1 motion vectors MVF,i and MVB,i for each field i of the B frame are calculated as follows:
MVF,i=TDB,i×MV/TDD
MVB,i=(TDB,i−TDD)×MV/TDD
The above equation may be expressed as follows:
Z=TDB,i×256/TDD MVF,i=(Z×MV+128)>>8
W=Z−256 MVB,i=(W×MV+128)>>8
If, because the co-located block in the list 1 reference frame has a motion vector pointing to a frame temporally following the B picture, both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally precedes the list 1 reference picture (FIG. 8(C)), the direct mode list 0 and list 1 motion vectors MVF,i and MVB,i for each field i of the B frame are calculated as follows:
MVF,i=−TDB,i×MV/TDD
MVB,i=−(TDB,i+TDD)×MV/TDD
The above equation may be expressed as follows:
Z=−TDB,i×256/TDD MVF,i=(Z×MV+128)>>8
W=Z−256 MVB,i=(W×MV+128)>>8
where, TDB,i represents a temporal distance between the current B field and the list 0 reference field, TDD represents a temporal distance between the list 1 reference frame and the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference frame for direct mode.
Case 4: Macroblock of B Picture is in Frame Mode and Co-Located Macroblock of List 1 Reference Picture is in Field Mode
If the list 0 and list 1 reference pictures for the direct mode are located temporally before and after the B picture, respectively (FIG. 9(A)), or if both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally follows the list 1 reference picture (FIG. 9(B)), the direct mode list 0 and list 1 motion vectors MVF and MVB of the B frame are calculated as follows:
MVF=TDB×MV0/TDD,0
MVB=(TDB−TDD,0)×MV0/TDD,0
The above equation may be expressed as follows:
Z=TDB×256/TDD,0 MVF=(Z×MV0+128)>>8
W=Z−256 MVB=(W×MV0+128)>>8
If, because the co-located block of the field 0 of the list 1 reference frame has a motion vector pointing to a field of a frame temporally following the B picture, both the list 0 and list 1 reference pictures for the direct mode are located temporally after the B picture and the list 0 reference picture temporally precedes the list 1 reference picture (FIG. 9(C)), the direct mode list 0 and list 1 motion vectors MVF and MVB are calculated as follows:
MVF=−TDB×MV0/TDD,0
MVB=−(TDB+TDD,0)×MV0/TDD,0
The above equation may be expressed as follows:
Z=−TDB×256/TDD,0 MVF=(Z×MV0+128)>>8
W=Z−256 MVB=(W×MV0+128)>>8
where, TDB represents a temporal distance between the current B frame and the list 0 reference frame, TDD,0 represents a temporal distance between a field 0 of the list 1 reference frame and the list 0 reference field, and MV0 represents a motion vector of the co-located block in the field 0 of the list 1 reference frame for direct mode.
[3] Cases where List 1 Reference Picture for Direct Mode Temporally Precedes B Picture
In this case, both the list 0 and list 1 reference pictures are located temporally before the B picture.
Case 1: Both Macroblock of B Picture and Co-Located Macroblock of List 1 Reference Picture are in Frame Mode
As seen from
Accordingly,
If the list 0 reference picture for direct mode temporally precedes the list 1 reference picture for direct mode, direct mode motion vectors MVF and MVB are calculated as follows (FIG. 10(A)):
MVF=TDB×MV/TDD
MVB=(TDB−TDD)×MV/TDD
where, TDB represents a temporal distance between a current B frame and a list 0 reference frame, TDD represents a temporal distance between a list 1 reference frame and the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference picture for direct mode.
The above equation may be expressed as follows:
Z=−TDB×256/TDD MVF=(Z×MV+128)>>8
W=Z−256 MVB=(W×MV+128)>>8
If the list 0 reference picture temporally follows the list 1 reference picture, the direct mode motion vectors MVF and MVB are calculated as follows (FIG. 10(B)):
MVF=−TDB×MV/TDD
MVB=−(TDB+TDD)×MV/TDD
This equation may be expressed as follows:
Z=−TDB×256/TDD MVF=(Z×MV+128)>>8
W=Z−256 MVB=(W×MV+128)>>8
where, TDB represents a temporal distance between the current B frame and the list 0 reference frame, TDD represents a temporal distance between the list 1 reference frame and the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference picture for direct mode.
Case 2: Both Macroblock of B Picture and Co-Located Macroblock of List 1 Reference Picture are in Field Mode
If the list 0 reference picture for direct mode temporally precedes the list 1 reference picture for direct mode, direct mode list 0 and list 1 motion vectors MVF,i and MVB,i for each field i of a B frame are calculated as follows (FIGS. 11(A) and 11(B)):
MVF,i=TDB,i×MVi/TDD,i
MVB,i=(TDB,i−TDD,i)×MVi/TDD,i
The above equation may be expressed as follows:
Z=TDB,i×256/TDD,i MVF,i=(Z×MVi+128)>>8
W=Z−256 MVB,i=(W×MVi+128)>>8
where, TDB,i represents a temporal distance between a current B field and a list 0 reference field, TDD,i represents a temporal distance between a list 1 reference field and the list 0 reference field, and MVi represents a motion vector of a co-located block in a list 1 reference field for direct mode.
If, because the co-located block of the field i in the list 1 reference frame has a motion vector pointing to a field in a temporally following frame, the list 0 reference picture temporally precedes the list 1 reference picture, the direct mode list 0 and list 1 motion vectors MVF,i and MVB,i are calculated as follows (FIGS. 11(C) and 11(D)):
MVF,i=−TDB,i×MVi/TDD,i
MVB,i=−(TDB,i+TDD,i)×MVi/TDD,i
The above equation may be expressed as follows:
Z=−TDB,i×256/TDD,i MVF,i=(Z×MVi+128)>>8
W=Z−256 MVB,i=(W×MVi+128)>>8
where, TDB,i represents a temporal distance between the current B field and the list 0 reference field, TDD,i represents a temporal distance between the list 1 reference field and the list 0 reference field, and MV represents a motion vector of the co-located block in the list 1 reference field for direct mode.
Case 3: Macroblock of B Picture is in Field Mode and Co-Located Macroblock of List 1 Reference Picture is in Frame Mode
If the list 0 reference picture for direct mode temporally precedes the list 1 reference picture for direct mode, the direct mode list 0 and list 1 motion vectors MVF,i and MVB,i for each field i of the B frame are calculated as follows (FIG. 12(A)):
MVF,i=TDB,i×MV/TDD
MVB,i=(TDB,i−TDD)×MV/TDD
The above equation may be expressed as follows:
Z=TDB,i×256/TDD MVF,i=(Z×MV+128)>>8
W=Z−256 MVB,i=(W×MV+128)>>8
where, TDB,i represents a temporal distance between the current B field and the list 0 reference field, TDD represents a temporal distance between the list 1 reference frame and the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference frame for direct mode.
If, because the co-located block in the list 1 reference frame has a motion vector pointing to a temporally following frame, the list 0 reference picture temporally follows the list 1 reference picture, the direct mode list 0 and list 1 motion vectors MVF,i and MVB,i for each field i of the B frame are calculated as follows (FIG. 12(B)):
MVF,i=−TDB,i×MV/TDD
MVB,i=−(TDB,i+TDD)×MV/TDD
The above equation may be expressed as follows:
Z=−TDB,i×256/TDD MVF,i=(Z×MV+128)>>8
W=Z−256 MVB,i=(W×MV+128)>>8
where, TDB,i represents a temporal distance between the current B field and the list 0 reference field, TDD represents a temporal distance between the list 1 reference frame and the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference frame for direct mode.
Case 4: Macroblock of B Picture is in Frame Mode and Co-Located Macroblock of List 1 Reference Picture is in Field Mode
Because the field 1 f1 of the list 1 reference frame is temporally closer to the B picture than the field 0 f0 thereof, motion information of a co-located block of the field 1 f1 is used for calculation of the direct mode motion vectors.
If the list 0 reference picture for direct mode temporally precedes the list 1 reference picture for direct mode, the direct mode list 0 and list 1 motion vectors MVF and MVB for each field i of the B frame are calculated as follows (FIG. 13(A)):
MVF=TDB×MV1/TDD,1
MVB=(TDB−TDD,1)×MV1/TDD,1
The above equation may be expressed as follows:
Z=−TDB×256/TDD,1 MVF=(Z×MV1+128)>>8
W=Z−256 MVB=(W×MV1+128)>>8
where, TDB represents a temporal distance between the current B frame and the list 0 reference frame, TDD,1 represents a temporal distance between a field 1 of the list 1 reference frame and the list 0 reference field, and MV1 represents a motion vector of the co-located block in the field 1 of the list 1 reference frame for direct mode.
If, because the co-located block of the field 1 f1 of the list 1 reference frame has a motion vector pointing to a field of a temporally following frame, the list 0 reference picture temporally follows the list 1 reference picture, the direct mode list 0 and list 1 motion vectors MVF and MVB are calculated as follows (FIG. 13(B)):
MVF=−TDB×MV1/TDD,1
MVB=−(TDB+TDD,1)×MV1/TDD,1
The above equation may be expressed as follows:
Z=−TDB×256/TDD,1 MVF=(Z×MV1+128)>>8
W=Z−256 MVB=(W×MV1+128)>>8
where, TDB represents a temporal distance between the current B frame and the list 0 reference frame, TDD,1 represents a temporal distance between a field 1 of the list 1 reference frame and the list 0 reference field, and MV1 represents a motion vector of the co-located block in the field 1 of the list 1 reference frame for direct mode.
[4] Cases where Direct Mode Motion Vectors are Calculated by Assigning Sign to Inter-Picture Temporal Distance Value
In case the list 1 reference picture for direct mode is located temporally before or after the B picture, two types of algorithms are given in each case. Such algorithms can be simply expressed by assigning a sign to an inter-picture temporal distance value, as follows.
Case 1: Both Macroblock of B Picture and Co-Located Macroblock of List 1 Reference Picture are in Frame Mode
If both the macroblock of the B picture and the co-located macroblock of the list 1 reference picture are in the frame mode, the direct mode motion vectors MVF and MVB of the B picture can be calculated as follows:
MVF=TDB×MV/TDD
MVB=(TDB−TDD)×MV/TDD
or
Z=TDB×256/TDD MVF=(Z×MV+128)>>8
W=Z−256 MVB=(W×MV+128)>>8
where, TDB represents a temporal distance between a current B frame and a list 0 reference frame, which is assigned a positive (+) sign if it is measured from the B frame and a negative (−) sign if it is measured from the list 0 reference frame, TDD represents a temporal distance between a list 1 reference frame and the list 0 reference frame, which is assigned a positive (+) sign if it is measured from the list 1 reference frame and a negative (−) sign if it is measured from the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference picture for direct mode.
Case 2: Both Macroblock of B Picture and Co-Located Macroblock of List 1 Reference Picture are in Field Mode
If both the macroblock of the B picture and the co-located macroblock of the list 1 reference picture are in the field mode, the direct mode motion vectors MVF,i and MVB,i for each field i of the B frame can be calculated as follows:
MVF,i=TDB,i×MVi/TDD,i
MVB,i=(TDB,i−TDD,i)×MVi/TDD,i
or
Z=−TDB,i×256/TDD,i MVF,i=(Z×MVi+128)>>8
W=Z−256 MVB,i=(W×MVi+128)>>8
where, TDB,i represents a temporal distance between a current B field and a list 0 reference field, which is assigned a positive (+) sign if it is measured from the B field and a negative (−) sign if it is measured from the list 0 reference field, TDD,i represents a temporal distance between a list 1 reference field and the list 0 reference field, which is assigned a positive (+) sign if it is measured from the list 1 reference field and a negative (−) sign if it is measured from the list 0 reference field, and MVi represents a motion vector of a co-located block in a list 1 reference field for direct mode.
Case 3: Macroblock of B Picture is in Field Mode and Co-Located Macroblock of List 1 Reference Picture is in Frame Mode
If the macroblock of the B picture is in the field mode and the co-located macroblock of the list 1 reference picture is in the frame mode, the direct mode motion vectors MVF,i and MVB,i for each field i of the B frame can be calculated as follows:
MVF,i=TDB,i×MV/TDD
MVB,i=(TDB,i−TDD)×MV/TDD
or
Z=−TDB,i×256/TDD MVF,i=(Z×MV+128)>>8
W=Z−256 MVB,i=(W×MV+128)>>8
where, TDB,i represents a temporal distance between the current B field and the list 0 reference field, which is assigned a positive (+) sign if it is measured from the B field and a negative (−) sign if it is measured from the list 0 reference field, TDD represents a temporal distance between the list 1 reference frame and the list 0 reference frame, which is assigned a positive (+) sign if it is measured from the list 1 reference frame and a negative (−) sign if it is measured from the list 0 reference frame, and MV represents a motion vector of the co-located block in the list 1 reference frame for direct mode.
Case 4: Macroblock of B Picture is in Frame Mode and Co-Located Macroblock of List 1 Reference Picture is in Field Mode
If the macroblock of the B picture is in the frame mode, the co-located macroblock of the list 1 reference picture is in the field mode and the list 1 reference picture temporally follows the B picture, the field 0 of the list 1 reference frame is temporally closer to the B picture than the field 1 thereof, so motion information of a co-located block of the field 0 is used for calculation of the direct mode motion vectors. As a result, the direct mode motion vectors MVF and MVB of the B frame can be obtained from the below equation where the motion information of the co-located block in the field 0 of the list 1 reference frame is used for calculation of the direct mode motion vectors:
MVF=TDB×MV0/TDD,0
MVB=(TDB−TDD,0)×MV0/TDD,0
or
Z=TDB×256/TDD,0 MVF=(Z×MV0+128)>>8
W=Z−256 MVB=(W×MV0+128)>>8
where, TDB represents a temporal distance between the current B frame and the list 0 reference frame, which is assigned a positive (+) sign if it is measured from the B frame and a negative (−) sign if it is measured from the list 0 reference frame, TDD,0 represents a temporal distance between a field 0 of the list 1 reference frame and the list 0 reference field, which is assigned a positive (+) sign if it is measured from the field 0 of the list 1 reference frame and a negative (−) sign if it is measured from the list 0 reference field, and MV0 represents a motion vector of the co-located block in the field 0 of the list 1 reference frame for direct mode.
If the list 1 reference picture temporally precedes the B picture, the field 1 of the list 1 reference frame is temporally closer to the B picture than the field 0 thereof, so motion information of a co-located block of the field 1 is used for calculation of the direct mode motion vectors. As a result, the direct mode motion vectors MVF and MVB of the B frame can be obtained from the below equation where the motion information of the co-located block in the field 1 of the list 1 reference frame is used for calculation of the direct mode motion vectors:
MVF=TDB×MV1/TDD,1
MVB=(TDB−TDD,1)×MV1/TDD,1
or
Z=TDB×256/TDD,1 MVF=(Z×MV1+128)>>8
W=Z−256 MVB=(W×MV1+128)>>8
where, TDB represents a temporal distance between the current B frame and the list 0 reference frame, which is assigned a positive (+) sign if it is measured from the B frame and a negative (−) sign if it is measured from the list 0 reference frame, TDD,1 represents a temporal distance between a field 1 of the list 1 reference frame and the list 0 reference field, which is assigned a positive (+) sign if it is measured from the field 1 of the list 1 reference frame and a negative (−) sign if it is measured from the list 0 reference field, and MV1 represents a motion vector of the co-located block in the field 1 of the list 1 reference frame for direct mode.
As apparent from the above description, the present invention provides a method for calculating direct mode motion vectors of a B (Bi-predictive) picture defined in a next-generation moving picture compression technique. A technique for extracting the direct mode motion vectors of the B picture is proposed to raise the probability that a direct mode will be selected as a predictive mode of a macroblock, thereby improving a B picture coding efficiency.
As further described with respect to the above embodiments, a method for determining motion vectors of a B (Bi-predictive) picture includes, if a co-located block in a list 1 reference picture for direct mode has two motion vectors, selecting one (a list 0 motion vector or list 1 motion vector) of the two motion vectors, and deriving the direct mode motion vectors of the B picture from the selected motion vector.
The one of the list 0 and list 1 motion vectors, which points to a picture temporally closer to the list 1 reference picture for direct mode, may be selected as the motion vector for derivation of the direct mode motion vectors, or the list 0 motion vector may be selected as the motion vector for derivation of the direct mode motion vectors if the two motion vectors point to the same reference picture. The direct mode motion vectors may then be derived as discussed in detail above using the selected motion vector.
However, instead of selecting between the list 1 and list 0 motion vectors of the co-located block, the list 0 motion vector may be unconditionally selected as the motion vector for derivation of the direct mode motion vectors. Namely, if both the list 0 and list 1 motion vectors of the co-located block exist, the list 0 motion vector is selected as the motion vector for derivation of the direct mode motion vectors. Accordingly, in this embodiment, the list 0 motion vector is selected regardless of whether a list 1 motion vector is present. Stated another way, the list 0 motion vector is selected regardless of the prediction modes of the co-located block. The direct mode motion vectors may then be derived as discussed in detail above using the selected motion vector.
Also, according to another embodiment, one of the motion vectors of the co-located block in the list 1 reference picture for direct mode may be selected as the motion vector for derivation of the direct mode motion vectors regardless of modes (a list 0 mode and/or a list 1 mode) of the motion vectors of the co-located block. The direct mode motion vectors may then be derived as discussed in detail above using the selected motion vector.
In a further alternative embodiment, if a co-located block in a list 1 reference picture for direct mode has only a list 1 motion vector, the list 1 motion vector of the co-located block is selected and used as the motion vector for derivation of the direct mode motion vectors. The direct mode motion vectors may then be derived as discussed in detail above using the selected motion vector.
The embodiments of the present invention may further include determining the list 0 reference picture for direct mode as a reference picture referenced by the co-located block. The co-located block may include reference information referencing a reference picture. For example, the selected motion vector may point to a reference picture, and this reference picture may be selected as the list 0 reference picture for direct mode.
Alternatively, a decoded picture located temporally just before the B picture may be determined as the list 0 reference picture for direct mode.
Although example embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2002-0060742 | Oct 2002 | KR | national |
10-2002-0061243 | Oct 2002 | KR | national |
10-2002-0071226 | Nov 2002 | KR | national |
This application is a divisional of U.S. application Ser. No. 13/850,332 filed on Mar. 26, 2013, which is a continuation of U.S. application Ser. No. 12/285,553 filed Oct. 8, 2008 and issued as U.S. Pat. No. 8,432,969, which is a divisional of U.S. application Ser. No. 11/044,002 filed Jan. 28, 2005 and issued as U.S. Pat. No. 7,606,307, which is a divisional of U.S. application Ser. No. 10/338,283 filed Jan. 6, 2003 and issued as U.S. Pat. No. 7,233,621, which claims priority under 35 U.S.C. 119 on Korean Application No. 10-2002-0060742 filed Oct. 4, 2002, Korean Application No. 10-2002-0061243 filed Oct. 8, 2002 and Korea Application No. 10-2002-0071226, filed Nov. 15, 2002; the contents of each of which are hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
6215823 | Kim et al. | Apr 2001 | B1 |
6404813 | Haskell et al. | Jun 2002 | B1 |
6654420 | Snook | Nov 2003 | B1 |
7003035 | Tourapis et al. | Feb 2006 | B2 |
7463685 | Haskell et al. | Dec 2008 | B1 |
7558321 | Jeon | Jul 2009 | B2 |
7660353 | Wang et al. | Feb 2010 | B2 |
7940845 | Kondo et al. | May 2011 | B2 |
20010012403 | Takizawa et al. | Aug 2001 | A1 |
20030005015 | Chen | Jan 2003 | A1 |
20030005051 | Gottlieb | Jan 2003 | A1 |
20040001545 | Chang | Jan 2004 | A1 |
20040001546 | Tourapis et al. | Jan 2004 | A1 |
20040057520 | Sun | Mar 2004 | A1 |
20040136461 | Kondo et al. | Jul 2004 | A1 |
20050129118 | Jeon | Jun 2005 | A1 |
20050129119 | Jeon | Jun 2005 | A1 |
20050129120 | Jeon | Jun 2005 | A1 |
20080031332 | Jeon | Feb 2008 | A1 |
20080037640 | Jeon | Feb 2008 | A1 |
Number | Date | Country |
---|---|---|
0 863 674 | Sep 1998 | EP |
0 863 674 | Sep 1998 | EP |
0 986 261 | Mar 2000 | EP |
1 460 450 | Apr 2004 | EP |
1 422 946 | May 2004 | EP |
2002-027414 | Jan 2002 | JP |
2004-208258 | Jul 2004 | JP |
10-1999-0015907 | Mar 1999 | KR |
10-2000-0008513 | Feb 2000 | KR |
2119727 | Sep 1998 | RU |
2182727 | May 2002 | RU |
WO 9938331 | Jul 1999 | WO |
WO 0133864 | May 2001 | WO |
Entry |
---|
“Joint Final Committee Draft (JFCD) of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC).” Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG. 4th Meeting: Klagenfurt, Austria, Jul. 22-26, 2002. |
Japanese Patent Office Action dated Jul. 11, 2005. |
UK Search Report dated Aug. 23, 2005. |
Working Draft No. 2, Revision 2 (WD-2) Joint Video Team (JVT) of ISO/IEC MPEG (MPEG-4 Part 10 AVC) and ITU-T VCEG (H.26L), Geneva; Mar. 15, 2002; pp. 1-106, XP002245569; *paragraph 7.4.2*. |
“Text of Final Committee Draft of Joint Video Specification (ITU-T REC.H264/ISO/IEC 14496-10 AVC)”; International Organization for Standardization—Organisation Internationale De Normalisation; XX, XX, Jul. 2002, pp. I-XV, 1-197, XP001100641. |
EP Office Action dated Oct. 6, 2005. |
Kondo S. et al. “A New Method of Direct Mode Motion Compensation in Multiple Picture Prediction.” IEICE Transations on Information and Systems, Information & Systems Society, Vo. E87-D, No. 9, Sep. 2004, pp. 2212-2220. |
Netherlands Search Report dated Mar. 2, 2006. |
Japanese Patent Office Action for corresponding Japanese patent application dated Sep. 11, 2007. |
Jeon, Byeong-Moon. “Direct Mode in B Pictures”. Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6). 4th Meeting: Klagenfurt, Austria, Jul. 22-26, 2002, [JVT-D056]. |
U.S. Office Action mailed Jan. 30, 2009 for corresponding U.S. Appl. No. 11/907,074. |
Japanese Office Action dated Sep. 29, 2010 issued in corresponding Japanese application No. 2008-061152. |
Office Action dated Oct. 4, 2010 issued by the German Patent Office for German Application No. 103 62 106.7-55 with English translation. |
T. Wiegand, et al. “Long-Term Memory Motion-Compensated Prediction”, IEEE Transactions in Circuits and Systems for Video Technology, vol. 9, No. 1, Feb. 1999. |
Office Action for corresponding Korean Application No. 10-2008-0089780 dated Jun. 29, 2009. |
Office Action for corresponding Korean Application No. 10-2009-0008017 dated Mar. 12, 2009. |
Office Action for corresponding Korean Application No. 10-2008-0008015 dated Oct. 13, 2008. |
Office Action for corresponding Korean Application No. 10-2008-0108251 dated Sep. 30, 2010. |
Office Action for corresponding Chinese Application No. 2005100488533 dated Sep. 16, 2008. |
Notice of Allowance for corresponding UK Application No. GB05143436.6 dated Apr. 11, 2006. |
Office Action for corresponding Russian Application No. 2003100396/09 dated Mar. 30, 2004. |
Decision on Grant of Patent for corresponding Russian Application No. 2003100396/09 dated Feb. 21, 2005. |
Newnes Guide to Digital TV, “Video data compression”, pp. 131-135. |
U.S. Office Action dated Apr. 25, 2012 for corresponding U.S. Appl. No. 12/285,545. |
U.S. Office Action dated Apr. 9, 2012 for corresponding U.S. Appl. No. 11/907,075. |
U.S. Office Action dated Apr. 11, 2012 for corresponding U.S. Appl. No. 11/907,076. |
U.S. Office Action dated Apr. 24, 2012 for corresponding U.S. Appl. No. 11/907,078. |
U.S. Office Action dated Apr. 25, 2012 for corresponding U.S. Appl. No. 12/285,546. |
U.S. Office Action dated May 2, 2012 for corresponding U.S. Appl. No. 12/285,624. |
U.S. Office Action dated May 8, 2012 for corresponding U.S. Appl. No. 12/285,668. |
U.S. Office Action dated May 15, 2012 for corresponding U.S. Appl. No. 12/285,664. |
U.S. Office Action dated May 2, 2012, for corresponding U.S. Appl. No. 12/285,667. |
U.S. Office Action dated May 31, 2012 for corresponding U.S. Appl. No. 12/285,626. |
U.S. Office Action dated Jun. 4, 2012 for corresponding U.S. Appl. No. 12/285,665. |
U.S. Office Action dated Jun. 4, 2012 for corresponding U.S. Appl. No. 12/285,552. |
U.S. Office Action dated May 3, 2012 for corresponding U.S. Appl. No. 12/285,628. |
U.S. Office Action dated May 31, 2012 for corresponding U.S. Appl. No. 12/285,627. |
European Summons Notice dated May 4, 2012 for corresponding European Patent Application No. 09000883.0/2223/2046055. |
European Summons Notice dated May 14, 2012 for corresponding European Patent Application No. 09000866.5-2223/2059054. |
European Summons Notice dated May 14, 2012 for corresponding European Patent Application No. 09000885.5-2223/2046057. |
European Summons Notice dated May 14, 2012 for corresponding European Patent Application No. 09000884.8-2223/2046056. |
European Summons Notice dated May 14, 2012 for corresponding European Patent Application No. 09000865.7-2223/2046054. |
European Summons Notice dated May 14, 2012 for corresponding European Patent Application No. 09000886.3-2223/2046058. |
European Summons Notice dated May 15, 2012 for corresponding European Patent Application No. 08016892.5-2223/2009926. |
European Summons Notice dated May 15, 2012 for corresponding European Patent Application No. 09000888.9-2223/2046060. |
European Summons Notice dated May 15, 2012 for corresponding European Patent Application No. 08016894.1-2223/2015586. |
European Summons Notice dated May 15, 2012 for corresponding European Patent Application No. 09000887.1-2223/2046059. |
European Summons Notice dated May 15, 2012 for corresponding European Patent Application No. 08016889.1-2223/2009925. |
Number | Date | Country | |
---|---|---|---|
20140098873 A1 | Apr 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13850332 | Mar 2013 | US |
Child | 14103413 | US | |
Parent | 11044002 | Jan 2005 | US |
Child | 12285553 | US | |
Parent | 10338283 | Jan 2003 | US |
Child | 11044002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12285553 | Oct 2008 | US |
Child | 13850332 | US |