IP Library Granted Patent US 9,747,255
Granted Patent B2
US 9,747,255 · App. 13/470,352 · Granted Aug 29, 2017

Inverse transformation using pruning for video coding

Inventors: Madhukar Budagavi (Plano, TX); Vivienne Sze (Dallas, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F17/147H04N19/122H04N19/134H04N19/14H04N19/176H04N19/18H04N19/42H04N19/46H04N19/48H04N19/61
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,747,255
App. No.
13/470,352
Granted
Aug 29, 2017
Kind
B2
Abstract

A method for decoding an encoded video bit stream in a video decoder is provided that includes determining a scan pattern type for a transform block to be decoded, decoding a column position X and a row position Y of a last non-zero coefficient in the transform block from the encoded video bit stream, selecting a column-row inverse transform order when the scan pattern type is a first type, selecting a row-column inverse transform order when the scan pattern type is a second type, and performing one dimensional (1D) inverse discrete cosine transformation (IDCT) computations according to the selected transform order to inversely transform the transform block to generate a residual block.

Claims (52)

1. A method for decoding an encoded video bit stream in a video decoder, the method comprising:

decoding a pruned transform flag in the encoded video bit stream, wherein the pruned transform flag indicates that a subset region of a transform block contains all non-zero coefficients of the transform block, wherein the subset region consists of M rows and N columns of the transform block;

inverse scanning only quantized transform coefficients of the subset region decoded from the encoded video bit stream to generate the transform block; and

performing one dimensional (1D) inverse discrete cosine transformation (IDCT) computations on the transform block to generate a residual block, wherein one of a value of M or N of the subset region signaled by the pruned transform flag is used to determine pruning of the 1D IDCT computations, wherein performing the 1D IDCT computations includes:

receiving a transform coefficient and a corresponding IDCT coefficient;

setting a prune flag to indicate pruning when a value of the transform coefficient is zero;

setting the prune flag to indicate no pruning when the value of the transform coefficient is non-zero;

disabling latching of the transform coefficient for multiplication with the IDCT coefficient during a clock cycle and outputting a zero when the prune flag is set to indicate pruning; and

enabling latching of the transform coefficient for multiplication with the IDCT coefficient during a clock cycle and outputting a product of the transform coefficient and the IDCT coefficient when the pruning flag is set to indicate no pruning.

2. The method of claim 1 , wherein M=N=4.

3. The method of claim 1 , wherein performing the 1D IDCT computations comprises:

using a column-row inverse transform order when N>M, wherein 1D IDCT computations are performed on only N columns of the transform block to generate an interim results block; and

using a row-column inverse transform order when M>N, wherein 1D IDCT computations are performed on only M rows of the transform block to generate an interim results block.

4. The method of claim 1 , further comprising:

determining a scan pattern type for the transform block;

decoding a column position X and a row position Y of a last non-zero coefficient in the transform block from the encoded video bit stream;

selecting a column-row inverse transform order when the scan pattern type is a first type; and

selecting a row-column inverse transform order when the scan pattern type is a second type, wherein performing the 1D IDCT computations further includes:

performing the 1D IDCT computations according to the selected transform order to inversely transform the transform block to generate the residual block.

5. The method of claim 4 ,

wherein the first type is a vertical scan pattern; and

wherein performing the 1D IDCT computations further includes:

performing 1D IDCT computations on only a subset of columns of the transform block to generate an interim results block, wherein a number of columns in the subset is derived from the column position; and

performing 1D IDCT computations on all rows of the interim results block to generate the residual block.

6. The method of claim 4 ,

wherein the second type is a horizontal scan pattern; and

wherein performing the 1D IDCT computations further includes:

performing 1D IDCT computations on only a subset of rows of the transform block to generate an interim results block, wherein a number of rows in the subset is derived from the row position; and

performing 1D IDCT computations on all columns of the interim results block to generate the residual block.

7. The method of claim 4 ,

wherein the first type is an up-right scan pattern; and

wherein performing the 1D IDCT computations further includes:

performing 1D IDCT computations on only a subset of columns of the transform block to generate an interim results block, wherein a number of columns in the subset is derived from the column position and the row position; and

performing 1D IDCT computations on all rows of the interim results block to generate the residual block.

8. The method of claim 4 ,

wherein the second type is a down-left scan pattern; and

wherein performing the 1D IDCT computations further includes:

performing 1D IDCT computations on only a subset of rows of the transform block to generate an interim results block, wherein a number of rows in the subset is derived from the row position and the column position; and

performing 1D IDCT computations on all columns of the interim results block to generate the residual block.

9. The method of claim 4 ,

wherein the first type is a zigzag scan pattern; and

wherein performing the 1D IDCT computations further includes:

performing 1D IDCT computations on only a subset of columns of the transform block to generate an interim results block, wherein a number of columns in the subset is derived from the column position and the row position; and

performing 1D IDCT computations on all rows of the interim results block to generate the residual block.

10. The method of claim 4 ,

wherein the second type is a zigzag scan pattern; and

wherein performing the 1D IDCT computations further includes:

performing 1D IDCT computations on only a subset of rows of the transform block to generate an interim results block, wherein a number of rows in the subset is derived from the row position and the column position; and

performing 1D IDCT computations on all columns of the interim results block to generate the residual block.

11. The method of claim 4 , further comprising:

wherein selecting a column-row inverse transform order comprises selecting the column-row inverse transform order when the scan pattern type is a zigzag scan pattern and a scan direction of a diagonal of the transform block in which the last non-zero coefficient is located is up-right; and

wherein selecting a row-column inverse transform order comprises selecting the row-column inverse transform order when the scan pattern type is a zigzag scan pattern and a scan direction of a diagonal of the transform block in which the last non-zero coefficient is located is down-left.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2012
From: BUDAGAVI, MADHUKAR; SZE, VIVIENNE
To: TEXAS INSTRUMENT INCORPORATED
Reel/Frame 028274/0073 →
Continuity (2)
Provisional Application 61486008 · May 13, 2011
Related Publication 20120287989A1 · Nov 15, 2012