Method and system for video encoding using a variable number of B frames
First Claim
1. A method of assigning frame types for coding of pictures in a video sequence, comprising:
- determining movement between image data of a reference picture and each of a plurality of pictures in temporal order, comparing the movement of a first picture in the plurality, temporally closest to the reference picture, to movement of other pictures therein, if the plurality of pictures exhibits consistent motion speed, assigning the pictures therein as B pictures.
2 Assignments
0 Petitions
Accused Products
Abstract
An effective method for dynamically selecting the number of I, P and B frames during video coding is proposed. Short-term look-ahead analysis of a video sequence yields a variable number of B frames to be coded between any two stored pictures. The first picture of a group of frames (GOF) may be coded as a B picture. Motion speed is calculated for each picture of the GOF with respect to the first picture of the GOF. Subject to exceptions, as long as the subsequent pictures exhibit motion speeds that are similar and motion vector displacements that are co-linear with those of the first picture in the GOF, they may be coded as B pictures. When a picture is encountered having a motion speed that is not the same as that of the first picture in the GOF, the picture may be coded as a P picture. In some embodiments, a sequence of B pictures that terminates in a P picture may be called a “group of frames” (GOF).
194 Citations
32 Claims
-
1. A method of assigning frame types for coding of pictures in a video sequence, comprising:
-
determining movement between image data of a reference picture and each of a plurality of pictures in temporal order, comparing the movement of a first picture in the plurality, temporally closest to the reference picture, to movement of other pictures therein, if the plurality of pictures exhibits consistent motion speed, assigning the pictures therein as B pictures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A video coding method, comprising, from a sequence of video data:
-
determining a motion speed between a first picture and a reference picture;
for each picture following the first picture, until a termination condition is met;
determining a motion speed for the respective picture, comparing the motion speed of a respective picture with the motion speed of the first picture, and coding the respective picture as a B picture if the motion speeds are consistent with each other; and
when the termination is met, coding a picture as a P picture. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. Apparatus, comprising:
-
a memory to store pictures of a video sequence, a video coder coupled to the memory, to code each stored picture as one of an I picture, a P picture and a B picture, a motion vector generator coupled to the memory to generate motion vectors for a plurality of stored pictures, the motion vectors measuring motion between a respective picture and a stored reference picture, a colinearity detector having an input coupled to the output of the motion vector generator, and a picture type decision unit to assign pictures having generally consistent motion speeds for B picture coding and to assign a picture that does not exhibit consistent motion speed for coding as a P picture. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A coded video signal created from a method comprising:
-
from a sequence of video data, determining a motion speed between a first picture and a reference picture;
for each picture following the first picture in the sequence, until a termination condition is met;
determining a motion speed for the respective picture, coding the respective picture as a B picture if its motion speed is consistent with the motion speed of the first picture;
when the termination is met, coding a picture as a P picture; and
outputting coded data of the B pictures and the P picture to a channel. - View Dependent Claims (26, 27, 28)
-
-
29. A video coding assignment method, comprising, for each of a plurality of pictures following a reference picture:
-
adding a first picture that follows the reference picture in display order to a group of frames, determining a motion speed of the first picture with respect to the reference picture, iteratively, for pictures subsequent to the first picture in display order;
adding the subsequent picture to the group of frames, determining a motion speed of the subsequent picture with respect to the reference picture, if the motion speed of the subsequent picture is consistent with the motion speed of the first picture, performing a next iteration, and if not, coding the last picture of the group of frames as a P picture and coding all other pictures in the group of frames as a B picture. - View Dependent Claims (30, 31, 32)
-
Specification