IP Library Granted Patent US 8,699,580
Granted Patent B2
US 8,699,580 · App. 12/900,886 · Granted Apr 15, 2014

Method, apparatus, and computer readable medium for video compression

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,699,580
App. No.
12/900,886
Granted
Apr 15, 2014
Kind
B2
Abstract

A method for scanning MacroBlocks in video compression and selecting alternative sized Large Macroblocks accordingly. The scanning pattern is divided into scanning fragments with a size corresponding to different possible Large Macroblocks. This allows for varying the size of the selected Macroblocks, based on minimizing distortion and/or bit rate consumption.

Claims (33)

1. A method of video coding executed by an encoder apparatus, the method comprising:

arranging, at the encoder apparatus, a residual pixels into blocks sized as at least one of p×p sized MacroBlocks (MBs), (k*p)×(l*p) sized first LargeMacroBlocks (LMBs), and (m*p)×(n*p) sized second LargeMacroBlocks (LMBs) determined by a predefined criterion for minimizing bit rate consumption or distortion, wherein p indicates a spatial size of an MB, k, l, m and n are integer numbers, m is divisible by k and n is divisible by l;

scanning, at the encoder apparatus, the blocks in a zig-zag scanning pattern within first rectangular picture fragments having a size corresponding to the size of the first LMBs or the second LMBs, the zig-zag pattern being determined based on the size of the first rectangular picture fragments; and

indicating, at the encoder apparatus, occurrences of MBs, first LMBs and/or second LMBs by a block type code arranged in an order of which the MBs, first LMBs or second LMBs are scanned.

2. The method according to claim 1 , wherein when the first rectangular picture fragments correspond to the size of the first LMBs, then a scanning order of the first rectangular picture fragments corresponds to a first zig-zag scanning pattern within second rectangular picture fragments corresponding to the size of the second LMBs.

3. The method according to claim 1 , further comprising:

determining whether coding is based on the MBs, the first LMBs, or the second LMBs based on rate distortion,

wherein the rate distortion is defined by a sum of distortion and rate; and

calculating the rate distortion as a square sum of reconstructed pixel errors, and a rate express number of bits used to code a block.

4. The method according to claim 1 , further comprising:

transforming a first LMB by one (k*p)×(l*p) transform matrix resulting in a corresponding first LMB of transform coefficients; and

transforming a second LMB by one (m*p)×(n*p) transform matrix resulting in a corresponding second LMB of transform coefficients.

5. The method according to claim 1 , wherein the first or second LMBs are represented by one set of motion vectors.

6. The method according to claim 1 , further comprising:

quantizing only i×i upper left transform coefficients of an LMB of transform coefficients; and

setting not-quantized transform coefficients of the LMB of transform coefficients to zero.

7. The method according to claim 2 , further comprising:

starting the first zig-zag scanning pattern in a first rectangular picture fragment in an upper left corner of one certain second rectangular picture fragment and ending in a first rectangular picture fragment in a lowest right corner of the one certain second rectangular picture fragment.

8. The method according to claim 1 ,

wherein when the first rectangular picture fragments correspond to the size of the second LMBs, starting a first zig-zag pattern in a leftmost and first block in an upper and first row of blocks in a rectangular picture fragment, heading horizontally towards the right along the upper and first row of blocks to an m'th block of the upper and first row of blocks, turning to a leftmost and first block in a second row of blocks proceeding to the m'th block of the second row of blocks, and continuing accordingly until the m'th block in the m'th row of blocks is reached.

9. The method according to claim 1 ,

wherein when the first rectangular picture fragments correspond to the size of the first LMBs, a first zig-zag pattern starts in a leftmost and first block in an upper and first row of blocks in a rectangular picture fragment, heading horizontally towards the right along the upper and first row of blocks to a k'th block of the upper and first row of blocks, turning to a leftmost and first block in a second row of blocks proceeding to the k'th block of the second row of blocks, and continuing accordingly until the k'th block in the l'th row of blocks is reached.

10. The method according to claim 1 , wherein

p equals 16, m and n equals 4, and k and l equals 2.

11. A method of video decoding, executed by a decoding apparatus, for transforming transform coefficients to residual pixels in a coded video picture, the method comprising:

decoding, at the decoding apparatus, a run code resulting in non-skipped block runs

decoding, at the decoding apparatus, a block type code resulting in block type indications of pxp sized MacroBlocks (MBs), (k*p)×(l*p) sized first LargeMacroBlocks (LMBs), or (m*p)×(n*p) sized second LargeMacroBlocks (LMBs) of transform coefficients, wherein p indicates the spatial size of an MB, k, l, m and n are integer numbers, m is divisible by k and n is divisible by l;

deriving, at the decoding apparatus, a zig-zag scanning pattern within first rectangular picture fragments having a size corresponding to the size of the first LMBs or the second LMBs, the zig-zag pattern being determined based on the size of the first rectangular picture fragments; and

determining, at the decoding apparatus, occurrences and positions of the MBs, the first LMBs or the second LMBs in the coded video picture from the block type indications.

12. The method according to claim 11 , further comprising:

transforming an MB by a pxp transform matrix resulting in a corresponding MB of residual pixels;

transforming a first LMB by a (k*p)×(l*p) transform matrix resulting in a corresponding first LMB of residual pixels; and

transforming a second LMB by a (m*p)×(n*p) transform matrix resulting in a corresponding second LMB of residual pixels.

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 Jan 20, 2011
From: BJONTEGAARD, GISLE
To: TANDBERG TELECOM AS
Reel/Frame 025668/0744 →