IP Library Granted Patent US 7,088,867
Granted Patent B2
US 7,088,867 · App. 10/902,330 · Granted Aug 8, 2006

Frequency coefficient scanning paths for coding digital video content

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,088,867
App. No.
10/902,330
Granted
Aug 8, 2006
Kind
B2
Abstract

A method and system of transform-based encoding, decoding, and bitstream generation of digital video content. The digital video content comprises a stream of pictures, slices, or macroblocks which can each be intra, predicted or bi-predicted pictures. The pictures, slices, or macroblocks comprise blocks of pixels. The method comprises scanning frequency coefficients from each of the block's two dimensional array of frequency coefficients in a manner that is vertically biased.

Claims (136)

1. A method of transform-based encoding of digital video content wherein the digital video content is represented in a two dimensional array of frequency coefficients wherein the two dimensional array of frequency coefficients is represented in columns and rows, the columns represented by a variable n=0, 1, 2, 3, 4, 5, 6, or 7, the rows represented by a variable m=0, 1, 2, or 3, the method comprising:

scanning the two dimensional array of frequency coefficients in a scanning order starting at 0 and ending at 31 further comprising:

scanning the two dimensional array coefficient located at n=0 and m=0 at scanning order 0;

scanning the two dimensional array coefficient located at n=0 and m=1 at scanning order 1;

scanning the two dimensional array coefficient located at n=1 and m=0 at scanning order 2;

scanning the two dimensional array coefficient located at n=0 and m=2 at scanning order 3;

scanning the two dimensional array coefficient located at n=0 and m=3 at scanning order 4;

scanning the two dimensional array coefficient located at n=1 and m=4 at scanning order 5;

scanning the two dimensional array coefficient located at n=2 and m=0 at scanning order 6;

scanning the two dimensional array coefficient located at n=1 and m=2 at scanning order 7;

scanning the two dimensional array coefficient located at n=1 and m=3 at scanning order 8;

scanning the two dimensional array coefficient located at n=2 and m=1 at scanning order 9;

scanning the two dimensional array coefficient located at n=3 and m=0 at scanning order 10;

scanning the two dimensional array coefficient located at n=2 and m=2 at scanning order 11;

scanning the two dimensional array coefficient located at n=2 and m=3 at scanning order 12;

scanning the two dimensional array coefficient located at n=3 and m=1 at scanning order 13;

scanning the two dimensional array coefficient located at n=4 and m=0 at scanning order 14;

scanning the two dimensional array coefficient located at n=3 and m=2 at scanning order 15;

scanning the two dimensional array coefficient located at n=3 and m=3 at scanning order 16;

scanning the two dimensional array coefficient located at n=4 and m=1 at scanning order 17;

scanning the two dimensional array coefficient located at n=5 and m=0 at scanning order 18;

scanning the two dimensional array coefficient located at n=4 and m=2 at scanning order 19;

scanning the two dimensional array coefficient located at n=4 and m=3 at scanning order 20;

scanning the two dimensional array coefficient located at n=5 and m=1 at scanning order 21;

scanning the two dimensional array coefficient located at n=6 and m=0 at scanning order 22;

scanning the two dimensional array coefficient located at n=5 and m=2 at scanning order 23;

scanning the two dimensional array coefficient located at n=5 and m=3 at scanning order 24;

scanning the two dimensional array coefficient located at n=6 and m=1 at scanning order 25;

scanning the two dimensional array coefficient located at n=7 and m=0 at scanning order 26;

scanning the two dimensional array coefficient located at n=6 and m=2 at scanning order 27;

scanning the two dimensional array coefficient located at n=6 and m=3 at scanning order 28;

scanning the two dimensional array coefficient located at n=7 and m=1 at scanning order 29;

scanning the two dimensional array coefficient located at n=7 and m=2 at scanning order 30; and

scanning the two dimensional array coefficient located at n=7 and m=3 at scanning order 31.

2. A method of transform-based encoding of digital video content wherein the digital video content is represented in a two dimensional array of frequency coefficients wherein the two dimensional array of frequency coefficients is represented in columns and rows, the columns represented by a variable n=0, 1, 2, 3, 4, 5, 6, or 7, the rows represented by a variable m=0, 1, 2, or 3, the method comprising:

generating a one dimensional array of frequency coefficients from the two dimensional array of frequency coefficients wherein the one dimensional array of frequency coefficients is represented by a variable p=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, or 31, further comprising:

assigning the value of the two dimensional array coefficient located at n=0 and m=0 to a value of a one dimensional frequency coefficient at p=0;

assigning the value of the two dimensional array coefficient located at n=0 and m=1 to a value of a one dimensional frequency coefficient at p=1;

assigning the value of the two dimensional array coefficient located at n=1 and m=0 to a value of a one dimensional frequency coefficient at p=2;

assigning the value of the two dimensional array coefficient located at n=0 and m=2 to a value of a one dimensional frequency coefficient at p=3;

assigning the value of the two dimensional array coefficient located at n=0 and m=3 to a value of the one dimensional frequency coefficient at p=4;

assigning the value of the two dimensional array coefficient located at n=1 and m=1 to a value of the one dimensional frequency coefficient at p=5;

assigning the value of the two dimensional array coefficient located at n=2 and m=0 to a value of the one dimensional frequency coefficient at p=6;

assigning the value of the two dimensional array coefficient located at n=1 and m=2 to a value of the one dimensional frequency coefficient at p=7;

assigning the value of the two dimensional array coefficient located at n=1 and m=3 to a value of the one dimensional frequency coefficient at p=8;

assigning the value of the two dimensional array coefficient located at n=2 and m=1 to a value of the one dimensional frequency coefficient at p=9;

assigning the value of the two dimensional array coefficient located at n=3 and m=0 to a value of the one dimensional frequency coefficient at p=10;

assigning the value of the two dimensional array coefficient located at n=2 and m=2 to a value of the one dimensional frequency coefficient at p=11;

assigning the value of the two dimensional array coefficient located at n=2 and m=3 to a value of the one dimensional frequency coefficient at p=12;

assigning the value of the two dimensional array coefficient located at n=3 and m=1 to a value of the one dimensional frequency coefficient at p=13;

assigning the value of the two dimensional array coefficient located at n=4 and m=0 to a value of the one dimensional frequency coefficient at p=14;

assigning the value of the two dimensional array coefficient located at n=3 and m=2 to a value of the one dimensional frequency coefficient at p=15;

assigning the value of the two dimensional array coefficient located at n=3 and m=3 to a value of the one dimensional frequency coefficient at p=16;

assigning the value of the two dimensional array coefficient located at n=4 and m=1 to a value of the one dimensional frequency coefficient at p=17;

assigning the value of the two dimensional array coefficient located at n=5 and m=0 to a value of the one dimensional frequency coefficient at p=18;

assigning the value of the two dimensional array coefficient located at n=4 and m=2 to a value of the one dimensional frequency coefficient at p=19;

assigning the value of the two dimensional array coefficient located at n=4 and m=3 to a value of the one dimensional frequency coefficient at p=20;

assigning the value of the two dimensional array coefficient located at n=5 and m=1 to a value of the one dimensional frequency coefficient at p=21;

assigning the value of the two dimensional array coefficient located at n=6 and m=0 to a value of the one dimensional frequency coefficient at p=22;

assigning the value of the two dimensional array coefficient located at n=5 and m=2 to a value of the one dimensional frequency coefficient at p=23;

assigning the value of the two dimensional array coefficient located at n=5 and m=3 to a value of the one dimensional frequency coefficient at p=24;

assigning the value of the two dimensional array coefficient located at n=6 and m=1 to a value of the one dimensional frequency coefficient at p=25;

assigning the value of the two dimensional array coefficient located at n=7 and m=0 to a value of the one dimensional frequency coefficient at p=26;

assigning the value of the two dimensional array coefficient located at n=6 and m=2 to a value of the one dimensional frequency coefficient at p=27;

assigning the value of the two dimensional array coefficient located at n=6 and m=3 to a value of the one dimensional frequency coefficient at p=28;

assigning the value of the two dimensional array coefficient located at n=7 and m=1 to a value of the one dimensional frequency coefficient at p=29;

assigning the value of the two dimensional array coefficient located at n=7 and m=2 to a value of the one dimensional frequency coefficient at p=30; and

assigning the value of the two dimensional array coefficient located at n=7 and m=3 to a value of the one dimensional frequency coefficient at p=31.

3. A device that encodes digital video content wherein the digital video content is represented in a two dimensional array of frequency coefficients wherein the two dimensional array of frequency coefficients is represented in columns and rows, the columns represented by a variable n=0, 1, 2, 3, 4, 5, 6, or 7, the rows represented by a variable m=0, 1, 2, or 3, the device comprising:

a scanner tat scans the two dimensional array of frequency coefficients in a scanning order starting at 0 and ending at 31 further comprising:

scanning the two dimensional array coefficient located at n=0 and m=0 at scanning order 0;

scanning the two dimensional array coefficient located at n=0 and m=1 at scanning order 1;

scanning the two dimensional array coefficient located at n=1 and m=0 at scanning order 2;

scanning the two dimensional array coefficient located at n=0 and m=2 at scanning order 3;

scanning the two dimensional array coefficient located at n=0 and m=3 at scanning order 4;

scanning the two dimensional array coefficient located at n=1 and m=1 at scanning order 5;

scanning the two dimensional array coefficient located at n=2 and m=0 at scanning order 6;

scanning the two dimensional array coefficient located at n=1 and m=2 at scanning order 7;

scanning the two dimensional array coefficient located at n=1 and m=3 at scanning order 8;

scanning the two dimensional array coefficient located at n=2 and m=1 at scanning order 9;

scanning the two dimensional array coefficient located at n=3 and m=0 at scanning order 10;

scanning the two dimensional array coefficient located at n=2 and m=2 at scanning order 11;

scanning the two dimensional array coefficient located at n=2 and m=3 at scanning order 12;

scanning the two dimensional array coefficient located at n=3 and m=1 at scanning order 13;

scanning the two dimensional array coefficient located at n=4 and m=0 at scanning order 14;

scanning the two dimensional array coefficient located at n=3 and m=2 at scanning order 15;

scanning the two dimensional array coefficient located at n=3 and m=3 at scanning order 16;

scanning the two dimensional array coefficient located at n=4 and m=1 at scanning order 17;

scanning the two dimensional array coefficient located at n=5 and m=0 at scanning order 18;

scanning the two dimensional array coefficient located at n=4 and m=2 at scanning order 19;

scanning the two dimensional array coefficient located at n=4 and m=3 at scanning order 20;

scanning the two dimensional array coefficient located at n=5 and m=1 at scanning order 21;

scanning the two dimensional array coefficient located at n=6 and m=0 at scanning order 22;

scanning the two dimensional array coefficient located at n=5 and m=2 at scanning order 23;

scanning the two dimensional array coefficient located at n=5 and m=3 at scanning order 24;

scanning the two dimensional array coefficient located at n=6 and m=1 at scanning order 25;

scanning the two dimensional array coefficient located at n=7 and m=0 at scanning order 26;

scanning the two dimensional array coefficient located at n=6 and m=2 at scanning order 27;

scanning the two dimensional array coefficient located at n=6 and m=3 at scanning order 28;

scanning the two dimensional array coefficient located at n=7 and m=1 at scanning order 29;

scanning the two dimensional array coefficient located at n=7 and m=2 at scanning order 30; and

scanning the two dimensional array coefficient located at n=7 and m=3 at scanning order 31.

4. A device for encoding digital video content wherein the digital video content is represented in a two dimensional array of frequency coefficients wherein the two dimensional array of frequency coefficients is represented in columns and rows, the columns represented by a variable n=0, 1, 2, 3, 4, 5, 6, or 7, the rows represented by a variable m=0, 1, 2, or 3, the device comprising:

a generator that generates a one dimensional array of frequency coefficients from the two dimensional array of frequency coefficients wherein the one dimensional array of frequency coefficients is represented by a variable p=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, or 31, further comprising:

assigning the value of the two dimensional array coefficient located at n=0 and m=0 to a value of a one dimensional frequency coefficient at p=0;

assigning the value of the two dimensional array coefficient located at n=0 and m=1 to a value of a one dimensional frequency coefficient at p=1;

assigning the value of the two dimensional array coefficient located at n=1 and m=0 to a value of a one dimensional frequency coefficient at p=2;

assigning the value of the two dimensional array coefficient located at n=0 and m=2 to a value of a one dimensional frequency coefficient at p=3;

assigning the value of the two dimensional array coefficient located at n=0 and m=3 to a value of the one dimensional frequency coefficient at p=4;

assigning the value of the two dimensional array coefficient located at n=1 and m=1 to a value of the one dimensional frequency coefficient at p=5;

assigning the value of the two dimensional array coefficient located at n=2 and m=0 to a value of the one dimensional frequency coefficient at p=6;

assigning the value of the two dimensional array coefficient located at n=1 and m=2 to a value of the one dimensional frequency coefficient at p=7;

assigning the value of the two dimensional array coefficient located at n=1 and m=3 to a value of the one dimensional frequency coefficient at p=8;

assigning the value of the two dimensional array coefficient located at n=2 and m=1 to a value of the one dimensional frequency coefficient at p=9;

assigning the value of the two dimensional array coefficient located at n=3 and m=0 to a value of the one dimensional frequency coefficient at p=10;

assigning the value of the two dimensional array coefficient located at n=2 and m=2 to a value of the one dimensional frequency coefficient at p=11;

assigning the value of the two dimensional array coefficient located at n=2 and m=3 to a value of the one dimensional frequency coefficient at p=12;

assigning the value of the two dimensional array coefficient located at n=3 and m=1 to a value of the one dimensional frequency coefficient at p=13;

assigning the value of the two dimensional array coefficient located at n=4 and m=0 to a value of the one dimensional frequency coefficient at p=14;

assigning the value of the two dimensional array coefficient located at n=3 and m=2 to a value of the one dimensional frequency coefficient at p=15;

assigning the value of the two dimensional array coefficient located at n=3 and m=3 to a value of the one dimensional frequency coefficient at p=16;

assigning the value of the two dimensional array coefficient located at n=4 and m=1 to a value of the one dimensional frequency coefficient at p=17;

assigning the value of the two dimensional array coefficient located at n=5 and m=0 to a value of the one dimensional frequency coefficient at p=18;

assigning the value of the two dimensional array coefficient located at n=4 and m=2 to a value of the one dimensional frequency coefficient at p=19;

assigning the value of the two dimensional array coefficient located at n=4 and m=3 to a value of the one dimensional frequency coefficient at p=20;

assigning the value of the two dimensional array coefficient located at n=5 and m=1 to a value of the one dimensional frequency coefficient at p=21;

assigning the value of the two dimensional array coefficient located at n=6 and m=0 to a value of the one dimensional frequency coefficient at p=22;

assigning the value of the two dimensional array coefficient located at n=5 and m=2 to a value of the one dimensional frequency coefficient at p=23;

assigning the value of the two dimensional array coefficient located at n=5 and m=3 to a value of the one dimensional frequency coefficient at p=24;

assigning the value of the two dimensional array coefficient located at n=6 and m=1 to a value of the one dimensional frequency coefficient at p=25;

assigning the value of the two dimensional array coefficient located at n=7 and m=0 to a value of the one dimensional frequency coefficient at p=26;

assigning the value of the two dimensional array coefficient located at n=6 and m=2 to a value of the one dimensional frequency coefficient at p=27;

assigning the value of the two dimensional array coefficient located at n=6 and m=3 to a value of the one dimensional frequency coefficient at p=28;

assigning the value of the two dimensional array coefficient located at n=7 and m=1 to a value of the one dimensional frequency coefficient at p=29;

assigning the value of the two dimensional array coefficient located at n=7 and m=2 to a value of the one dimensional frequency coefficient at p=30; and

assigning the value of the two dimensional array coefficient located at n=7 and m=3 to a value of the one dimensional frequency coefficient at p=31.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034472/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2005
From: WANG, LIMIN; BAYLON, DAVID; PANUSOPONE, KRIT; GANDHI, RAJEEV; YU, YUE; LUTHRA, AJAY
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 016740/0026 →