IP Library › Granted Patent US 9,319,710
Granted Patent B2
US 9,319,710 · App. 13/002,582 · Granted Apr 19, 2016

Video encoding and decoding apparatus and method

Inventors: Hayoon Kim (Gyeonggi-do, KR); Haekwang Kim (Seoul, KR); Byeungwoo Jeon (Gyeonggi-do, KR); Yunglyul Lee (Seoul, KR); Joohee Moon (Seoul, KR); Jie Jia (Seoul, KR)
Assignee: SK TELECOM CO., LTD.
H04N19/577H04N19/93
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 9,319,710
App. No.
13/002,582
Granted
Apr 19, 2016
Kind
B2
Abstract

Video encoding and its corresponding decoding are disclosed. The video encoding incorporates: a predictor for predicting a pixel value of each pixel in a current block of the video to generate a predicted pixel value; a subtractor for calculating a difference between an original pixel value of the pixel in the current block and the predicted pixel value of the pixel in the current block to generate a residual signal; a transformer for transforming the residual signal into frequency coefficients; a quantizer for quantizing the transformed frequency coefficients; and an encoder for encoding the quantized frequency coefficients by using one of different variable length coding tables.

Claims (46)

1. An apparatus for encoding a video, the apparatus comprising:

a predictor configured to predict a pixel value of each pixel in a current block of the video to generate a predicted pixel value;

a subtractor configured to calculate a difference between an original pixel value of said each pixel in the current block and the predicted pixel value of said each pixel in the current block to generate a residual signal;

a transformer configured to transform the residual signal into frequency coefficients;

a quantizer configured to quantize the transformed frequency coefficients; and

an encoder configured to

scan the quantized frequency coefficients, and

encode the scanned quantized frequency coefficients,

wherein the encoder is configured to use a variable length coding table selected from a plurality of variable length coding tables for encoding a value of a run_before, the run_before representing the number of zero-level frequency coefficients interposed between a current non-zero frequency coefficient and a preceding non-zero frequency coefficient,

wherein the variable length coding table is selected from the plurality of variable length coding tables based on a non_zero_left which represents the number of preceding non-zero frequency coefficients remaining at current non-zero frequency positions in a direction to a DC coefficient of the scanned quantized frequency coefficients, and

wherein, in each of the plurality of variable length coding tables, a plurality of code words is specified for a combination of a plurality of values of run_befores and a plurality of values of zero_lefts wherein the encoder is further configured to encode the scanned quantized frequency coefficients by a context adaptive variable length coding wherein an encoding of a TotalCoeff, a level and a total zero is included in the encoding of the scanned quantized frequency coefficients, the TotalCoeff representing the number of non-zero frequency coefficients, the level representing a coefficient value of non-zero frequency coefficients, the total zero representing the number of frequency coefficients of zeros occurring before a last non-zero frequency coefficient; wherein the encoder is further configured to encode the scanned quantized frequency coefficients after a zig-zag scanning, in the order of the level, the totalzero, and the runbefore; wherein the encoder is further configured to encode a trailingOnes and a trailing ones sign flag, if there exist coefficients having consecutive absolute value of 1 among the scanned quantized frequency coefficients at the end, the trailingOnes representing the number of coefficients having consecutive absolute value of 1 at the end, the trailing-onestsignflag representing the sign of the trailingOnes, and wherein the trailingOnes and the trailing-onestsign-flag are located between the TotalCoeff and the level.

2. The apparatus of claim 1 , wherein in the variable length coding tables, the more probable that the previous non-zero frequency coefficient comes before the current non-zero frequency coefficient, the smaller the bit number the run_before has.

3. The apparatus of claim 1 , wherein the variable length coding table becomes smaller as the non_zero_left becomes larger.

4. A method for encoding a video, the method comprising:

predicting a pixel value of each pixel in a current block of the video to generate a predicted pixel value;

calculating a difference between an original pixel value of said each pixel in the current block and the predicted pixel value of said each pixel in the current block to generate a residual signal;

transforming the residual signal into frequency coefficients;

quantizing the transformed frequency coefficients;

scanning the quantized frequency coefficients; and

encoding the scanned quantized frequency coefficients,

wherein the encoding of the scanned quantized frequency coefficients comprises encoding a value of a run_before by using a variable length coding table selected from a plurality of variable coding tables, the run_before representing the number of zero-level frequency coefficients interposed between a current non-zero frequency coefficient and a preceding non-zero frequency coefficient, and

wherein the variable length coding table is selected from the plurality of variable length coding tables based on a non_zero_left which represents the number of preceding non-zero frequency coefficients remaining at current non-zero frequency positions in a direction to a DC coefficient of the scanned quantized frequency coefficients, and

wherein, in each of the plurality of variable length coding tables, a plurality of code words is specified for a combination of a plurality of values of run_befores and a plurality of values of zero_lefts wherein the scanned quantized frequency coefficients are encoded by a context adaptive variable length coding, wherein an encoding of a TotalCoeff, a level and a total zero isincluded in the encoding of the scanned quantized frequency coefficients, the TotalCoeff representing the number of non-zero frequency coefficients, the level representing a coefficient value of non-zero frequency coefficients, the total zero representing the number of frequency coefficients of zeros occurring before a last non-zero frequency coefficient; wherein the scanned quantized frequency coefficients are encoded after a zig-zag scanning with levels, the totalzero, and run_befores; further comprising encoding a trailingOnes and a trailing ones sign flag, if there exist coefficients having consecutive absolute value of 1 among the scanned quantized frequency coefficients at the end, the trailing_Ones representing the number of coefficients having consecutive absolute value of 1 at the end the trailing-ones_sign_flag representing the sign of the trailing_Ones, and wherein the trailing_Ones and the trailing-onestsign-flag are located between the TotalCoeff and the level.

5. The method of claim 4 , wherein in the variable length coding tables, the more probable that the previous non-zero frequency coefficient comes before the current non-zero frequency coefficient, the smaller the bit number the run_before has.

6. The method of claim 4 , wherein the variable length coding table becomes smaller as remaining value of the non_zero_left becomes larger.

7. A method for encoding a video, the method comprising:

scanning quantized frequency coefficients of respective pixels in a current block of the video to arrange scanned quantized frequency coefficients in a one-dimensional vector;

encoding the scanned quantized frequency coefficients by encoding a TotalCoeff, a level, a total_zero and a run_before in an orderly manner, the TotalCoeff representing the number of non-zero frequency coefficients, the level representing a coefficient value of non-zero frequency coefficients, the total_zero representing the number of frequency coefficients of zeros occurring before a last non-zero frequency coefficient, the run_before representing the number of zero-level frequency coefficients interposed between a current non-zero frequency coefficient and a preceding non-zero frequency coefficient; and

outputting the encoded coefficients and numbers in a bitstream,

wherein the encoding of the scanned quantized frequency coefficients comprises:

selecting a variable length coding table from a plurality of variable length coding tables for encoding a value of the run_before based on a non_zero_left which represents the number of preceding non-zero frequency coefficients remaining at current non-zero frequency positions in a direction to a DC coefficient of the scanned quantized frequency coefficients, and

encoding the scanned quantized frequency coefficients by encoding a value of the run_before by using the selected variable length coding table, and

wherein, in each of the plurality of variable length coding tables, a plurality of code words is specified for a combination of a plurality of values of run_befores and a plurality of values of zero_lefts further comprising encoding a trailingOnes and a trailing ones sign flag, if there exist coefficients having consecutive absolute value of 1 among the scanned quantized frequency coefficients at the end, the trailingOnes representing the number of coefficients having consecutive absolute value of 1 at the end the trailing-ones-sign-flag representing the sign of the trailingOnes, and wherein the trailingOnes and the trailing-ones-sign-flag are located between the TotalCoeff and the level.

8. The method of claim 7 , wherein, in the variable length coding tables, the more probable that the previous non-zero frequency coefficient comes before the current non-zero frequency coefficient, the smaller the bit number the run_before has.

9. The method of claim 7 , wherein the variable length coding table becomes smaller as the non_zero_left becomes larger.

10. The method of claim 7 , wherein the encoded coefficients and numbers are output in reverse order if the level and the run_before are plural numbers.

11. A method for decoding, the method comprising:

loading an inputted bitstream;

decoding frequency coefficients from the bitstream by using information including a TotalCoeff, a level and a run_before, the TotalCoeff representing the number of non-zero frequency coefficients, the level representing a coefficient value of non-zero frequency coefficients, the run_before representing the number of zero-level frequency coefficients interposed between a current non-zero frequency coefficient and a preceding non-zero frequency coefficient; and

reconstructing the decoded frequency coefficients back into the original block shape,

wherein the decoding of the frequency coefficients comprises:

selecting a variable length coding table from a plurality of variable length coding tables for decoding a value of the run_before, based on a non_zero_left which represents the number of preceding non-zero frequency coefficients remaining at current non-zero frequency positions in a direction to a DC coefficient of the decoded frequency coefficients, and

decoding the frequency coefficients by decoding a value of the run_before by using the selected variable length coding table, and

wherein, in each of the plurality of variable length coding tables, a plurality of code words is specified for a combination of a plurality of values of run_befores and a plurality of values of zero_lefts wherein the inputted bitstream includes a trailingOnes and a trailing ones sign flag, if there exist coefficients having consecutive absolute value of 1 at the end, the trailingOnes representing the number of coefficients having consecutive absolute value of 1 at the end the trailing-onestsignflag representing, the sign of the trailingOnes between the TotalCoeff and the level, and wherein the frequency coefficients are decoded by decoding the trailingOnes and the trailing-onestsignflag.

12. The method of claim 11 , wherein, in the variable length coding tables, the more probable that the previous non-zero frequency coefficient comes before the current non-zero frequency coefficient, the smaller the bit number the run_before has.

13. The method of claim 11 , wherein the variable length coding table becomes smaller as remaining value of the non_zero_left becomes larger.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2011
From: KIM, HAYOON; KIM, HAEKWANG; JEON, BYEUNGWOO; LEE, YUNGLYUL; MOON, JOOHEE; JIA, JIE
To: SK TELECOM CO., LTD.
Reel/Frame 026042/0657 →
Priority Claims (1)
KR 10-2008-0064903 · Jul 4, 2008 · national
Continuity (1)
Related Publication 20110176605A1 · Jul 21, 2011