IP Library › Granted Patent US 8,520,958
Granted Patent B2
US 8,520,958 · App. 12/702,497 · Granted Aug 27, 2013

Parallelization of variable length decoding

Inventors: Surinder Pal Singh (Noida, IN); Aneesh Bhasin (Ghaziabad, IN); Kaushik Saha (Delhi, IN)
Assignee: STMicroelectronics International N.V.
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,520,958
App. No.
12/702,497
Granted
Aug 27, 2013
Kind
B2
Abstract

Parallelization of decoding of a data stream encoded with a variable length code includes determining one or more markers, each of which indicates a position within the encoded data stream. The determined markers are included into the encoded data stream together with the encoded data. At the decoder side, the markers are parsed from the encoded data stream and based on the extracted markers. The encoded data is separated into partitions, which are decoded separately and in parallel.

Claims (28)

1. A method for parallel decoding of a data stream including data encoded with a variable length code and marker data, the method comprising:

extracting with a parser, the marker data from the data stream, the marker data indicating a position within the data encoded with a variable length code;

subdividing with a parallelizer, the data encoded with a variable length code to a plurality of partitions based on the extracted marker data; and

decoding with a parallel variable-length-code decoder, the data encoded with a variable length code in the plurality of partitions in parallel,

wherein the plurality of partitions are formed so that their decoding results in an approximately equal number of computations through each parallel path of the parallel variable-length-code decoder, thereby enabling load balancing of the parallel variable-length-code decoder.

2. The method according to claim 1 wherein the marker data indicates a position within the data encoded with a variable length code, on which a new code-word of the variable length code starts.

3. The method according to claim 1 wherein the marker data indicate N positions, N being an integer equal to or greater than 1, within the data encoded with a variable length code in such a way that the N positions separate the encoded input data into N+1 partitions of essentially the same length.

4. The method according to claim 1 wherein the marker data include at least one of a byte offset within the data encoded with a variable length code and a bit offset within a byte.

5. The method according to claim 4 , wherein the byte offset specifies a number of bytes either from the beginning of the data encoded with a variable length code, or from the middle of the data encoded with a variable length code, or from the position within the data encoded with a variable length code indicated by a previous byte offset and bit offset.

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

decompressing, with a parallel decompressor, the partitions of the data decoded with a variable length code in parallel; and

combining, with a multiplexer, the partitions of decompressed data.

7. The method according to claim 1 wherein the marker data is embedded in a field reserved for future use or in an optional field within a header of a file with a standardized format, the file including the data encoded with a variable length code.

8. The method according to claim 1 , wherein the data encoded with a variable length code are JPEG encoded data and the marker data is embedded within a table specification and miscellaneous marker segment of a JFIF file format.

9. A parallel decoder for parallel decoding of a data stream including data encoded with a variable length code and marker data, the parallel decoder comprising:

a parser for extracting the marker data from the data stream, the marker data indicating a position within the data encoded with a variable length code;

a parallelizer for subdividing the data encoded with a variable length code to a plurality of partitions based on the extracted marker data; and

a parallel variable-length-code decoder for decoding the data encoded with a variable length code in the plurality of partitions in parallel,

wherein the plurality of partitions are formed so that their decoding results in an approximately equal number of computations through each parallel path of the parallel variable-length-code decoder, thereby enabling load balancing of the parallel variable-length-code decoder.

10. The parallel decoder according to claim 9 wherein the marker data indicates a position within the data encoded with a variable length code, on which a new code-word of the variable length code starts.

11. The parallel decoder according to claim 9 wherein the marker data indicate N positions, N being an integer equal to or greater than 1, within the data encoded with a variable length code in such a way that the N positions separate the encoded input data into N+1 partitions of essentially the same length.

12. The parallel decoder according to claim 9 wherein the marker data include at least one of a byte offset within the data encoded with a variable length code and a bit offset within a byte.

13. The parallel decoder according to claim 12 , wherein the byte offset specifies a number of bytes either from the beginning of the data encoded with a variable length code, or from the middle of the data encoded with a variable length code, or from the position within the data encoded with a variable length code indicated by a previous byte offset and bit offset.

14. The parallel decoder according to claim 9 , further comprising:

a parallel decompressor for decompressing the partitions of the data decoded with a variable length code in parallel; and

a multiplexer for combining the partitions of decompressed data.

15. The parallel decoder according to claim 9 wherein the marker data is embedded in a field reserved for future use or in an optional field within a header of a file with a standardized format, the file including the data encoded with a variable length code.

16. The parallel decoder according to claim 9 , wherein the data encoded with a variable length code are JPEG encoded data and the marker data is embedded within the table specification and miscellaneous marker segment of a JFIF file format.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2013
From: STMICROELECTRONICS PVT LTD.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 030590/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2010
From: SINGH, SURINDER PAL; BHASIN, ANEESH; SAHA, KAUSHIK
To: STMICROELECTRONICS PVT. LTD.
Reel/Frame 023921/0903 →
Priority Claims (1)
IN 2675/DEL/2009 · Dec 21, 2009 · national
Continuity (1)
Related Publication 20110150351A1 · Jun 23, 2011