IP Library Granted Patent US 6,944,351
Granted Patent B2
US 6,944,351 · App. 10/395,781 · Granted Sep 13, 2005

Apparatus and method of encoding/decoding a coded block pattern

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 6,944,351
App. No.
10/395,781
Granted
Sep 13, 2005
Kind
B2
Abstract

The present invention selectively applies one of VLC tables stored in a memory for encoding a coded block pattern of a macroblock according to the number of blocks having an object within the macroblock, the number of blocks obtained using shape information, thereby reducing the amount of data transmitted and increasing coding efficiency. The present invention also selectively applies one of VLD tables stored in a memory for decoding a coded block pattern of a macroblock according to the number of blocks having an object within the macroblock, the number of blocks obtained using shape information.

Claims (348)

1. In an object-based video coding system comprising a shape information encoding unit for encoding input shape information and providing reconstructed shape information and a texture information encoding unit for encoding input texture information, a coded block pattern encoding apparatus comprising:

a non-transparent block counter for detecting the number of non-transparent blocks, which are blocks where an object is present, in a macroblock to be encoded based on the input reconstructed shape information;

a coded block pattern decision unit for generating numerical information for reading a coded block pattern according to the number of non-transparent blocks based on the input reconstructed shape information;

a VLC table memory for providing the encoded coded block pattern according to the number of non-transparent blocks; and

multiplexing means for multiplexing the coded block pattern and the texture information to provide an output.

2. The apparatus as recited in claim 1 , wherein said VLC table memory includes:

a first sub-memory for storing a first VLC table corresponding to a macroblock having one block where an object is present and providing a coded block pattern corresponding to the macroblock having one block where the object is present;

a second sub-memory for storing a second VLC table corresponding to a macroblock having two blocks where an object is present and providing a coded block pattern corresponding to the macroblock having two blocks where the object is present;

a third sub-memory for storing a third VLC table corresponding to a macroblock having three blocks where an object is present and providing a coded block pattern corresponding to the macroblock having three blocks where the object is present; and

a fourth sub-memory for storing a fourth VLC table corresponding to a macroblock having four blocks where an object is present and providing a coded block pattern corresponding to the macroblock having four blocks where the object is present.

3. The apparatus as recited in claim 1 , wherein one VLC table stored in one memory is shared for encoding both an intra macroblock and an inter macroblock if frequency in occurrence of coded block patterns of two kinds of macroblocks coincides.

4. The apparatus as recited in to claim 2 , wherein the third VLC table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(123)

(123)

NUMBER OF BITS

CODE

000

111

3

011

001

110

4

000001

010

101

4

00001

011

100

3

010

100

011

3

00010

101

010

3

00011

110

001

3

001

111

000

2

1

5. The apparatus as recited in claim 2 , wherein the second VLC table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(12)

(12)

NUMBER OF BITS

CODE

00

11

2

0001

01

10

3

001

10

01

3

01

11

00

1

1

6. The apparatus as recited in claim 2 , wherein the first VLC table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(12)

(12)

NUMBER OF BITS

CODE

0

1

1

01

1

0

1

1

7. A coded block pattern encoding method in an object-based video coding system comprising a shape information encoding unit for encoding input shape information and providing reconstructed shape information and a texture information encoding unit for encoding input texture information, said method comprising the steps of:

a) detecting the number of non-transparent blocks, which are blocks where an object is present, in a macroblock to be encoded based on the reconstructed shape information;

b) deciding a coded block pattern according to the number of non-transparent blocks based on the input reconstructed shape information;

c) selecting one of a plurality of variable length coding (VLC) tables having different lengths according to the number of the non-transparent blocks in the macroblock;

d) encoding the decided coded block pattern based on the selected VLC table; and

e) multiplexing the coded block pattern and texture information to provide an output.

8. The method as recited in claim 7 , wherein said plurality of VLC tables having different lengths are a first VLC table having a length of “2” for a case that the macroblock has one block where an object is present, a second VLC table having a length of “4” for a case that the macroblock has two blocks where an object is present, a third VLC table having a length of “8” for a case that the macroblock has three blocks where an object is present, and a fourth VLC table having a length of “16” for a case that the macroblock has four blocks where an object is present.

9. The method as recited in claim 7 , wherein one VLC table stored in one memory is shared for encoding both an intra macroblock and an inter macroblock if frequency in occurrence of coded block patterns of two kinds of macroblocks coincides.

10. The method as recited in claim 8 , wherein the third VLC table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(123)

(123)

NUMBER OF BITS

CODE

000

111

3

011

001

110

4

000001

010

101

4

00001

011

100

3

010

100

011

3

00010

101

010

3

00011

110

001

3

001

111

000

2

1

11. The method as recited in claim 8 , wherein the second VLC table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(12)

(12)

NUMBER OF BITS

CODE

00

11

2

0001

01

10

3

001

10

01

3

01

11

00

1

1

12. The method as recited in claim 8 , wherein the first VLC table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(12)

(12)

NUMBER OF BITS

CODE

0

1

1

01

1

0

1

1

13. In an object-based video coding system comprising a shape information decoding unit for decoding input shape information and providing reconstructed shape information and a texture information decoding unit for encoding input texture information, a coded block pattern decoding apparatus comprising:

demultiplexing means for demultiplexing a coded block pattern from the texture information;

a non-transparent block counter for detecting the number of non-transparent blocks, which are blocks where an object is present, in a macroblock to be decoded based on the input reconstructed shape information;

a coded block pattern decision unit for generating numerical information for reading the coded block pattern according to the number of non-transparent blocks based on the input reconstructed shape information; and

a VLD table memory for providing the coded block pattern decoded according to the number of non-transparent blocks.

14. The apparatus as recited in claim 13 , wherein said VLD table memory includes:

a first sub-memory for storing a first VLD table corresponding to a macroblock having one block where an object is present and providing a coded block pattern corresponding to the macroblock having one block where the object is present;

a second sub-memory for storing a second VLD table corresponding to a macroblock having two blocks where an object is present and providing a coded block pattern corresponding to the macroblock having two blocks where the object is present;

a third sub-memory for storing a third VLD table corresponding to a macroblock having three blocks where an object is present and providing a coded block pattern corresponding to the macroblock having three blocks where the object is present; and

a fourth sub-memory for storing a fourth VLD table corresponding to a macroblock having four blocks where an object is present and providing a coded block pattern corresponding to the macroblock having four blocks where the object is present.

15. The apparatus as recited in claim 13 , wherein one VLD table stored in one memory is shared for encoding both an intra macroblock and an inter macroblock if frequency in occurrence of coded block patterns of two kinds of macroblocks coincides.

16. The apparatus as recited in claim 14 , wherein the third VLD table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(123)

(123)

NUMBER OF BITS

CODE

000

111

3

011

001

110

4

000001

010

101

4

00001

011

100

3

010

100

011

3

00010

101

010

3

00011

110

001

3

001

111

000

2

1

17. The apparatus as recited in claim 14 , wherein the second VLD table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(12)

(12)

NUMBER OF BITS

CODE

00

11

2

0001

01

10

3

001

10

01

3

01

11

00

1

1

18. The apparatus as recited in claim 14 , wherein the first VLD table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(12)

(12)

NUMBER OF BITS

CODE

0

1

1

01

1

0

1

1

19. A coded block pattern decoding method in an object-based video coding system comprising a shape information decoding unit for decoding input shape information and providing reconstructed shape information and a texture information decoding unit for encoding input texture information, said method comprising the steps of:

a) demultiplexing means for demultiplexing a coded block pattern from the texture information;

b) detecting the number of non-transparent blocks, which are blocks where an object is present, in a macroblock to be decoded based on the reconstructed shape information;

c) deciding a coded block pattern according to the number of non-transparent blocks based on the input reconstructed shape information;

d) selecting one of a plurality of variable length decoding (VLD) tables having different lengths according to the number of the non-transparent blocks in the macroblock; and

e) decoding the decided coded block pattern based on the selected VLD table.

20. The method as recited in claim 19 , wherein said plurality of VLD tables having different lengths are a first VLD table having a length of “2” for a case that the macroblock has one block where an object is present, a second VLD table having a length of “4” for a case that the macroblock has two blocks where an object is present, a third VLD table having a length of “8” for a case that the macroblock has three blocks where an object is present, and a fourth VLD table having a length of “16” for a case that the macroblock has four blocks where an object is present.

21. The method as recited in claim 19 , wherein one VLD table stored in one memory is shared for encoding both an intra macroblock and an inter macroblock if frequency in occurrence of coded block patterns of two kinds of macroblocks coincides.

22. The method as recited in claim 20 , wherein the third VLD table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

(123)

(123)

NUMBER OF BITS

CODE

000

111

3

011

001

110

4

000001

010

101

4

00001

011

100

3

010

100

011

3

00010

101

010

3

00011

110

001

3

001

111

000

2

1

23. The method as recited in claim 20 , wherein the second VLD table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

NUMBER

(12)

(12)

OF BITS

CODE

00

11

2

0001

01

10

3

001

10

01

3

01

11

00

1

1

24. The method as recited in claim 20 , wherein the first VLD table is represented as follows:

CBPY (INTRA)

CBPY (INTER)

NUMBER

(12)

(12)

OF BITS

CODE

0

1

1

01

1

0

1

1

Assignments (4)
CHANGE OF NAME Recorded Sep 12, 2016
From: HYUNDAI CURITEL, INC.
To: CURITEL COMMUNICATIONS INC.
Reel/Frame 040149/0348 →
CHANGE OF NAME Recorded Sep 12, 2016
From: CURITEL COMMUNICATIONS INC.
To: PANTECH & CURITEL COMMUNICATIONS INC.
Reel/Frame 040164/0585 →
MERGER Recorded Sep 12, 2016
From: PANTECH & CURITEL COMMUNICATIONS INC.
To: PANTECH CO., LTD.
Reel/Frame 040414/0638 →
DE-MERGER Recorded Sep 12, 2016
From: PANTECH CO., LTD.
To: PANTECH INC.
Reel/Frame 039981/0927 →