IP Library › Granted Patent US 8,184,702
Granted Patent B2
US 8,184,702 · App. 11/577,329 · Granted May 22, 2012

Method for encoding/decoding a video sequence based on hierarchical B-picture using adaptively-adjusted GOP structure

Assignees: Electronics and Telecommunications Research Institute; Kyunghee University
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,184,702
App. No.
11/577,329
Granted
May 22, 2012
Kind
B2
Abstract

Provided is a method for performing hierarchical B picture-based coding on a video sequence using the structure of adaptively divided group of pictures (GOP). The method includes the steps of, for each predefined 2 N frame-sized group of pictures (GOP) of the video sequence, (a) encoding the 2 N frame-sized GOP of the video sequence based on each of the different GOP sizes from the maximum size, 2 N , to the minimum size, 2 M (M is an integer between 1 and N) and obtaining different values between frames reconstructed after the encoding is performed and frames after the hierarchical B-picture prediction is performed, based on each of the different GOP sizes; (b) selecting at least one sub-GOP based on the difference values obtained by encoding the 2 N frame-sized GOP of the video sequence based on each of the different GOP sizes; and (c) generating a bitstream by encoding the 2 N -frame-sized GOP based on the at least one selected sub-GOP. Thereby, the hierarchical B picture-based video coding is performed by adaptively dividing the GOP size based on performance and thereby obtains high coding efficiency.

Claims (143)

1. A method for performing hierarchical B picture-based coding on a video sequence, the method comprising the steps of:

(a) for each predetermined 2 N -frame-sized GOP of the video sequence,

(a1) encoding the 2 N frame-sized GOP of the video sequence based on each of the different GOP sizes from the maximum size, 2 N , to the minimum size, 2 M (M is an integer between 1 and N) and selecting at least one sub-GOP based on the encoding result by

(a1-i) comparing the difference values obtained from the encoding based on each of the different GOP sizes from 2 N to 2 M and, if the difference value obtained from the encoding based on the 2 N -sized GOP unit is the smallest, selecting the 2 N -sized GOP as a sub-GOP; and

(a1-ii) if the difference value obtained from the encoding based on the 2 N -sized GOP is not the smallest, after decreasing N by 1 (i.e., N=N−1), selecting two 2 M -sized GOPs as the sub-GOPs if N has the same value as M, and repeating steps (a1-i) and (a2-ii) for each of the front 2 N frames and the rear 2 N frames, if N does not have the same value as M; and

(a2) generating a bitstream by encoding the 2 N -frame-sized GOP based on the at least one selected sub-GOP;

(b) decoding each 2 N frame-sized GOP bitstream; and

(c) providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(c1) initializing “k” to 0 (k is an integer);

(c2) initializing “FrameNum” to 2 N ;

(c3) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(c4) based on the result of detecting in the step (c3),

(c4-i) increasing the value of k by 1, if there is no low-frequency frame, and

(c4-ii) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(c5) repeating the steps (c3) and (c4) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

2. The method of claim 1 , wherein the range of temporal scalability is based on the minimum size, 2 M , of the selected sub-GOP.

3. The method of claim 1 , wherein the temporal scalability range that can be supported is one of at least ½ N−1 , at least ½ N−2 , or at least ½ N−3 .

4. A method for decoding a hierarchical B picture-based encoded bitstream, the method comprising the steps of: for each predetermined 2 N -sized GOP bitstream,

(a) reading and checking a value of a bit indicating whether the GOP is divided;

(b) when the bit value is “0”, decoding the GOP bitstream;

(c) when the bit value is “1”, dividing the GOP bitstream into a front half-sized GOP bitstream and a rear half-sized GOP bitstream;

(d) repeating the steps (a) through (d) for each of the front GOP bitstream and the rear GOP bitstream, respectively; and

(e) providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(e1) initializing “k” to 0 (k is an integer);

(e2) initializing “FrameNum” to 2 N ;

(e3) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(e4) based on the result of detecting in the step (e3),

(e4-i) increasing the value of k by 1, if there is no low-frequency frame, and

(e4-ii) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(e5) repeating the steps (e3) and (e4) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

5. A method for decoding a hierarchical B picture-based encoded bitstream, the method comprising the steps of: for a predetermined-sized GOP bitstream,

(a) determining whether the GOP is divided;

(b) when the GOP is determined not to be divided, decoding the GOP bitstream;

(c) when the GOP is determined to be divided, dividing the GOP bitstream;

(d) decoding the divided GOP bitstreams; and

(e) providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(e1) initializing “k” to 0 (k is an integer);

(e2) initializing “FrameNum” to 2 N ;

(e3) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(e4) based on the result of detecting in the step (e3),

(e4-i) increasing the value of k by 1, if there is no low-frequency frame, and

(e4-ii) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(e5) repeating the steps (e3) and (e4) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

6. The method of claim 5 , further comprising repeating steps (a) through (c) for each of the divided GOP bitstreams prior to performing the step (d).

7. A method for decoding a hierarchical B picture-based encoded bitstream, the method comprising the steps of: for each predetermined 2 N -sized GOP bitstream, reading adaptively-divided GOP structure information from the GOP bitstream; decoding the GOP bitstream based on the adaptively-divided GOP structure information; and providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(a) initializing “k” to 0 (k is an integer);

(b) initializing “FrameNum” to 2 N ;

(c) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(d) based on the result of detecting in the step (c),

(d1) increasing the value of k by 1, if there is no low-frequency frame, and

(d2) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(e) repeating the steps (c) and (d) until FrameNum reaches 0, and finally selecting 2 N /L number of frames,

wherein the structure information comprises the original GOP size information in a sequence header and information on sub-GOPs is in a slice header of a first frame of each GOP.

8. A method for providing 1/L temporal scalability upon decoding a hierarchical B picture-based encoded bitstream, the method comprising the steps of: for each predetermined 2 N -frame-sized GOP bitstream,

(a) initializing “k” to 0 (k is an integer);

(b) initializing “FrameNum” to 2 N ;

(c) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing FrameNum by L;

(d) based on the result of detecting in the step (c),

(d1) increasing the value of k by 1, if there is no low-frequency frame, and

(d2) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then re-initializing k to 0; and

(e) repeating the steps (c) and (d) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

9. A computer-readable recording medium having a computer program stored therein for performing the method for providing 1/L temporal scalability according to claim 8 .

10. A method for decoding a hierarchical B picture-based encoded bitstream, the method comprising the steps of: for a predetermined-sized GOP bitstream,

reading variable GOP information from a data structure of the GOP bitstream, wherein the data structure comprises information about a variable GOP size in a header of the GOP bitstream;

decoding the GOP bitstream based on the variable GOP information, and

providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(a) initializing “k” to 0 (k is an integer);

(b) initializing “FrameNum” to 2 N ;

(c) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(d) based on the result of detecting in the step (c3),

(d1) increasing the value of k by 1, if there is no low-frequency frame, and

(d2) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(e) repeating the steps (c) and (d) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

11. A method for decoding a hierarchical B picture-based encoded bitstream, the method comprising the steps of: for a predetermined-sized GOP bitstream,

reading variable GOP information from a data structure of the GOP bitstream, wherein the data structure comprises information indicating whether each GOP is divided;

decoding the GOP bitstream based on the variable GOP information, and

providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(a) initializing “k” to 0 (k is an integer);

(b) initializing “FrameNum” to 2N;

(c) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(d) based on the result of detecting in the step (c3),

(d1) increasing the value of k by 1, if there is no low-frequency frame, and

(d2) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(e) repeating the steps (c) and (d) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

12. A method for performing hierarchical B picture-based coding on a video sequence, the method comprising the steps of:

(a) for each predefined 2 N frame-sized group of pictures (GOP) of the video sequence,

(a1) encoding the 2 N frame-sized GOP of the video sequence based on each of the different GOP sizes from the maximum size, 2 N , to the minimum size, 2 M (M is an integer between 1 and N) and selecting at least one sub-GOP based on the encoding result, and

(a2) generating a bitstream by encoding the 2 N -frame-sized GOP based on the at least one selected sub-GOP; and

(b) decoding each 2 N frame-sized GOP bitstream; and

(c) providing 1/L temporal scalability for each predetermined 2 N frame-sized GOP bitstream by:

(c1) initializing “k” to 0 (k is an integer);

(c2) initializing “FrameNum” to 2 N ;

(c3) detecting whether there is a low-frequency frame in a bitstream from FrameNum th frame to L th frame in the reverse direction, and decreasing Frame Num by L;

(c4) based on the result of detecting in the step (c3),

(c4-i) increasing the value of k by 1, if there is no low-frequency frame, and

(c4-ii) selecting the low-frequency frame detected first in the reverse direction if there is a low-frequency picture and, if the value of k is not 0, further selecting subsequent k number of high-frequency frames and then reinitializing k to 0; and

(c5) repeating the steps (c3) and (c4) until FrameNum reaches 0, and finally selecting 2 N /L number of frames.

13. The method for performing motion compensated temporal filtering hierarchical B picture-based encoding on a video sequence according to claim 12 , wherein step (a1) further comprises

obtaining different values between frames reconstructed after the encoding is performed and frames after the hierarchical B-picture prediction is performed, based on each of the different GOP sizes and wherein the selecting at least one sub-GOP based on the encoding result comprises selecting at least one sub-GOP based on the difference values obtained by encoding the 2 N frame-sized GOP of the video sequence based on each of the different GOP sizes;

(a1-i) comparing the difference values obtained from the encoding based on each of the different GOP sizes from 2 N to 2 M and, if the difference value obtained from the encoding based on the 2 N -sized GOP unit is the smallest, selecting the 2 N -sized GOP as a sub-GOP; and

(a1-ii) if the difference value obtained from the encoding based on the 2 N -sized GOP is not the smallest, after decreasing N by 1 (i.e., N=N−1), selecting two 2 M -sized GOPs as the sub-GOPs if N has the same value as M, and repeating steps (a1-i) and (a2-ii) for each of the front 2 N frames and the rear 2 N frames, if N does not have the same value as M.

14. The method of claim 13 , wherein the difference value is selected from a group of MSE (Mean Square Error), SAD (Sum of Absolute Differences), SSE (Sum of Squared Errors), SAD+λ SAD R (R is the number of bits of the GOP unit), and SSE+λ SSE R.

15. The method of claim 14 , wherein the MSE has the difference value calculated by the following Equation 5:

MSE

⁡

(

k

)

=

1

k

⁢

∑

i

=

0

k

⁢

[

F

⁡

(

i

)

-

G

⁡

(

i

)

]

2

[

Equation

⁢

⁢

5

]

where k is the number of pixels in one frame, F(i) is the pixel value of the frame after the hierarchical B-picture prediction is performed, and G(i) is the pixel value of the frame reconstructed after the encoding is performed.

16. The method of claim 13 , wherein the step (b) further includes setting a GOP divide bit inserted before the GOP bitstream as “0”.

17. The method of claim 13 , further comprising a step of setting the at least one selected sub-GOP information in the first frame header information of the GOP to transmit to a decoder.

18. A computer-readable recording medium having a computer program stored therein for performing the hierarchical B picture-based coding method according to any one of claims 13 to 3 and 12 .

19. A computer-readable recording medium having a computer program stored therein for performing the method for decoding a hierarchical B-picture-based encoded bitstream according to any one of claims 4 to 7 , 10 , and 11 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2007
From: JEONG, SE YOON; KIM, KYU HEON; HONG, JIN WOO; PARK, GWANG HOON; PARK, MIN WOO
To: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE; KYUNGHEE UNIVERSITY
Reel/Frame 019165/0781 →
Priority Claims (4)
KR 10-2004-0087801 · Nov 1, 2004 · national
KR 10-2005-0002242 · Jan 10, 2005 · national
KR 10-2005-0031714 · Apr 16, 2005 · national
KR 10-2005-0068497 · Jul 27, 2005 · national
Continuity (1)
Related Publication 20070247549A1 · Oct 25, 2007