IP Library Granted Patent US 7,295,613
Granted Patent B2
US 7,295,613 · App. 10/831,158 · Granted Nov 13, 2007

Early detection of zeros in the transform domain

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 7,295,613
App. No.
10/831,158
Granted
Nov 13, 2007
Kind
B2
Abstract

A method detects blocks that are to be indicated as skipped at an earlier stage of the encoding process, than would be the case with other implementations of the ITU H.263 and H.264 standards. The method includes transforming 4×4 blocks in the macro blocks having a skip vector of zero with a binary-transform function. The blocks having values of the four uppermost left binary-transform coefficients less than a predefined threshold, are defined as skipped, thus, minimizing the need for computationally demanding block transformation or quantization.

Claims (59)

1. A method of coding video, comprising:

identifying a first block of residual pixel values of moving pictures;

transforming the residual pixel values of the first block by a binary-transform function and generating a corresponding partial third block of binary-transform coefficients;

creating a second block of integer-transform coefficients based on the first block;

defining the second block to include only zeros when all of the binary-transform coefficients in the partial third block are less than a predefined threshold; and

skipping the second block when coding the video if including only zeros.

2. A method according to claim 1 , wherein said predefined threshold is a smallest decision value of a number of decision values.

3. A method according to claim 1 , wherein the first block and the second block each represent a same first squared area of 4×4 pixels in a moving picture.

4. A method according to claim 3 , wherein said first squared area covers one sixteenth of a macro block representing a second squared area of 16×16 pixels in said moving picture.

5. A method according to claim 4 , further comprising:

determining a skip vector for said macro block based on existing motion vectors of spatially adjacent blocks in said moving picture; and

executing said transforming the first block by a binary-transform function only if said skip vector is equal to zero.

6. A method according to claim 1 , wherein said binary-transform function includes a Hadamard transform or a transform derived from said Hadamard transform.

7. A method according to claim 1 , wherein

the binary-transform coefficients include four binary-transform coefficients in an uppermost left corner of the third block.

8. A method according to claim 1 , further comprising:

executing said transforming the first block by a binary-transform function prior to said transforming the first block by an integer-transform function.

9. A computer readable medium encoded with instructions, which when executed by a computer implement a method of coding video, said method comprising:

identifying a first block of residual pixel values of moving pictures;

transforming the residual pixel values of the first block by a binary-transform function and generating a corresponding partial third block of binary-transform coefficients;

creating a second block of integer-transform coefficients based on the first block,

defining the second block to include only zeros when all of the binary-transform coefficients in the partial third block are less than a predefined threshold; and

skipping the second block when coding the video if including only zeros.

10. The computer readable storage medium of claim 9 , wherein said predefined threshold is a smallest decision value of the number of decision values.

11. The computer readable storage medium of claim 9 , wherein the first block and the second block each represent a same first squared area of 4×4 pixels in a moving picture.

12. The computer readable storage medium of claim 11 , wherein said first squared area covers one sixteenth of a macro block representing a second squared area of 16×16 pixels in said moving picture.

13. The computer readable storage medium of claim 12 , wherein the method further comprises:

determining a skip vector for said macro block based on existing motion vectors of spatially adjacent blocks in said moving picture; and

executing said transforming the first block by a binary-transform function only if said skip vector is equal to zero.

14. The computer readable storage medium of claim 9 , wherein said binary-transform function includes a Hadamard transform or a transform derived from said Hadamard transform.

15. The computer readable storage medium of claim 9 , wherein the binary-transform coefficients include four binary-transform coefficients in an uppermost left corner of the partial third block.

16. The computer readable storage medium of claim 9 , further comprising:

executing said transforming the first block by a binary-transform function prior to said transforming the first block by an integer-transform function; and

skipping said transforming the first block by an integer-transform function if the second block includes only zeros.

17. An apparatus configured to transform a first block of residual pixel values of moving pictures, said apparatus comprising:

means for identifying the first block of residual pixel values of moving pictures;

means for transforming the residual pixel values of the first block by a binary-transform function and for generating a corresponding partial third block of binary-transform coefficients;

means for creating a second block of integer-transform coefficients based on the first block;

means for defining the second block to include only zeros when all of the binary-transform coefficients in the partial third block are less than a predefined threshold; and

means for skipping the second block when coding video if including only zeros.

18. An apparatus configured to transform a first block of residual pixel values of moving pictures, said apparatus comprising:

a transformation unit configured to transform the residual pixel values of the first block by a binary-transform function and to generate a corresponding partial third block of binary-transform coefficients;

a block editing unit configured to create a second block of integer transform coefficients based on the first block;

a defining unit configured to define said second block to include only zeros when all of said binary-transform coefficients in the partial third block are less than a predefined threshold; and

a coding unit configured to skip the second block when coding video if including only zeros.

19. The method of claim 1 , wherein the partial third block of binary-transform coefficients in the third block include four coefficients that form an upper left corner of the third block.

20. A method of coding video, comprising:

identifying a first macro-block of video data;

dividing the macro-block into a plurality of smaller blocks; and

processing each of the smaller blocks,

wherein the processing includes,

transforming residual pixel values of each of the smaller blocks by a binary-transform function and generating a plurality of corresponding binary-transform coefficient blocks,

defining each of the smaller blocks to include only zeros when a subset of values included in the corresponding binary-transform coefficient blocks are less than a predefined threshold,

creating a second macro-block that includes only zeros when all the smaller blocks of the macro-block are defined to include only zeros, and

skipping the second macro-block when coding the video.

21. The method of claim 20 , wherein the macro-block is a 16×16 pixel block and the dividing includes dividing the 16×16 pixel block into a plurality of 4×4 sub-blocks.

22. The method of claim 20 , wherein the macro-block is a 16×16 pixel block and the dividing includes dividing the 16×16 pixel block into plurality of 8×8 blocks.

23. The method of claim 20 , wherein the subset of values is four coefficients that form an upper left corner of each of the corresponding binary-transform coefficient blocks.

24. The method of claim 20 , wherein the processing performed on each of the smaller blocks is performed in parallel.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Dec 1, 2011
From: TANDBERG TELECOM AS; CISCO SYSTEMS INTERNATIONAL SARL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 027307/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2004
From: BJONTEGAARD, GISLE
To: TANDBERG TELECOM AS
Reel/Frame 015751/0337 →