IP Library › Granted Patent US 7,894,532
Granted Patent B2
US 7,894,532 · App. 11/288,855 · Granted Feb 22, 2011

Variable-length encoding apparatus and method

Assignee: Canon Kabushiki Kaisha
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,894,532
App. No.
11/288,855
Granted
Feb 22, 2011
Kind
B2
Abstract

A variable-length encoding apparatus receives image data on a block basis, generates a plurality of syntax elements from the image data, and outputs an encoded stream by performing variable-length encoding of the syntax elements. This apparatus includes a block memory unit group including at least two block memory units which store image data on a block basis, generates at least one syntax element by reading out transformation coefficients from the block memory units, independently variable-length-encodes each of syntax elements and outputs variable-length codewords, includes a variable-length code memory unit group including at least two variable-length code memory units which independently store the variable-length codewords as codeword streams, and generates one encoded stream from the respective codeword streams supplied from the variable-length code memory unit group.

Claims (20)

1. A variable-length encoding apparatus which receives image data on a block basis, generates syntax elements from the image data, and outputs an encoded stream by performing variable-length encoding of the syntax elements, comprising:

a block memory unit group including a plurality of block memory units which store the image data on a block basis;

a syntax element generation unit group including a plurality of syntax element generation units which read out image data from said block memory units and generate syntax elements;

a variable-length encoding unit group including a plurality of variable-length encoding units which independently variable-length-encode syntax elements input from said syntax element generation unit group and output variable-length codewords;

a variable-length code memory unit group including a plurality of variable-length code memory units which independently store the variable-length codewords supplied from said variable-length encoding unit group as codeword streams; and

a variable-length code combination unit which generates an encoded stream by combining a plurality of codeword streams supplied from said variable-length code memory unit group for each syntax element independently, wherein the codeword streams of at least two types of syntax elements are combined.

2. The apparatus according to claim 1 , wherein said block memory unit group and said variable-length code memory unit group alternately perform write operation and read operation on an n block basis, n is an integer not less than one, so as to perform write operation and read operation in parallel.

3. The apparatus according to claim 1 , wherein said block memory unit group and said variable-length code memory unit group serve as boundaries of stages in pipeline operation.

4. The apparatus according to claim 1 , wherein said syntax element generation unit group generates a run and/or a level.

5. The apparatus according to claim 2 , wherein read operation from said variable-length code memory unit group is executed for each type of code stored in said variable-length code memory unit group.

6. A variable-length encoding method of receiving image data on a block basis, generating syntax elements from the image data, and outputting an encoded stream by performing variable-length encoding of the syntax elements, comprising:

storing the image data in a block memory unit group including a plurality of block memory units on a block basis;

generating syntax elements in a plurality of syntax element generation units by reading out image data from the block memory units;

variable-length-encoding the generated syntax elements independently for each syntax element in a plurality of variable-length encoding units and outputting a variable-length codewords;

storing the output variable-length codewords independently as codeword streams in a plurality of variable-length code memory units included in a variable-length code memory unit group; and

generating an encoded stream by combining a plurality of codeword streams supplied from the variable-length code memory unit group for each syntax element independently, wherein the codeword streams of at least two types of syntax elements are combined.

7. The method according to claim 6 , wherein write operation and read operation in the block memory unit group and the variable-length code memory unit group are performed on a block basis.

8. The method according to claim 6 , wherein the block memory unit group and the variable-length code memory unit group serve as boundaries of stages in pipeline operation.

9. The method according to claim 6 , wherein in the step of generating syntax elements, a run and/or a level is generated.

10. The method according to claim 7 , wherein read operation from the variable-length code memory unit group is executed for each type of code stored in the variable-length code memory unit group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2005
From: OTSUKA, KATSUMI
To: CANON KABUSHIKI KAISHA
Reel/Frame 017294/0411 →
Priority Claims (1)
JP 2004-347238 · Nov 30, 2004 · national
Continuity (1)
Related Publication 20060115000A1 · Jun 1, 2006