Method and apparatus for parallel decoding and encoding of data
First Claim
Patent Images
1. A system for decompressing a data stream of a plurality of codewords comprising:
- channel means for receiving the plurality of codeword of the data stream; and
decoding means coupled to said channel means for decoding each codeword in the data stream according to its context and a probability estimate, wherein codewords of different contexts in the data stream are decoded at the same time, such that the data stream is decoded in parallel.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for encoding and decoding data in parallel. The present invention provides a system for decompressing a data stream having multiple codewords. The system includes an input channel that receives the data stream. The system also includes a decoder which decodes each bit of the data stream, wherein at least two of the codewords in the data stream are decoded at the same time, such that the data stream is decoded in parallel.
-
Citations
84 Claims
-
1. A system for decompressing a data stream of a plurality of codewords comprising:
-
channel means for receiving the plurality of codeword of the data stream; and decoding means coupled to said channel means for decoding each codeword in the data stream according to its context and a probability estimate, wherein codewords of different contexts in the data stream are decoded at the same time, such that the data stream is decoded in parallel. - View Dependent Claims (2, 5, 6, 7, 8, 9, 10)
-
-
3. A system for decompressing a data stream of a plurality of codewords comprising:
-
channel means for receiving the plurality of codewords of the data stream; and decoding means coupled to said channel means or decoding each codeword in the data stream according to its context and a probability estimate, wherein codewords of different probability estimates in the data stream are decoded at the same time, such that the data stream is decoded in parallel. - View Dependent Claims (4)
-
-
11. A system or decompressing a data stream of a plurality of codewords comprising:
-
a channel control mechanism coupled to receive the plurality of codewords of the data stream; a plurality of decoders coupled to said channel control mechanism to receive and decode each codeword in the data stream according to its context, wherein codewords in the data stream of different contexts are decoded at the same time, such that decoded data bits from codewords of different contexts are output in parallel; data storage coupled to the plurality of decoders to store the decoded data; and modeling mechanism coupled to the data storage to select the decoded data from the data storage, such that the decoded data is output in its original order. - View Dependent Claims (12)
-
-
13. A system for decompressing a data stream of a plurality of codewords comprising:
-
a channel control mechanism coupled to receive the plurality of codewords of the data stream; a plurality of decoders coupled to said channel control mechanism to receive and decode each codeword in the data stream according to its probability class, wherein codewords in the data stream of different probability classed are decoded at the same time, such that decoded data bits from codewords of different probability classes are output in parallel; data storage coupled to the plurality of decoders to store the decoded data; and modeling mechanism coupled to the data storage to select the decoded data from the data storage, such that the decoded data is output in its original order.
-
-
14. A system for decompressing a data stream of a plurality of codewords coded according to a coding scheme, said system comprising:
-
channel control means for receiving the plurality of codewords of the data stream, wherein the channel control means includes means for partitioning the plurality of codewords into a plurality of parallel data streams based on one of a set of attributes of the coding scheme and means for supplying the plurality of parallel data streams; plurality of bit-stream generators, each coupled to a distinct one of the plurality of parallel data streams, wherein each of the plurality of bit-stream generators decodes codewords of the plurality of parallel data streams and further wherein at least two of the plurality of bit-stream generators decode codewords at the same time, such that codewords in the data stream partitioned into different parallel data streams based on the coding scheme are decoded in parallel to produce decoded data; modeling means coupled to the plurality of bit-stream generators for selecting the decoded data from the bit-stream generators to output the decoded data in a deterministic order. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for decompressing a data stream of a plurality of codewords comprising the steps of:
-
producing decoded results using a plurality of bit stream generators in response to data in a plurality of data streams supplied from the data stream, wherein each of the plurality of data streams corresponds to a particular context bin, and further wherein at least two of the decoded results are produced as the same time, such that decoded results are generated in parallel; and selecting the decoded results singularly to output the decompressed data according to the deterministic order of the data, such that the data stream is decoded in parallel. - View Dependent Claims (38)
-
-
39. A method for decompressing a data stream of a plurality of codewords comprising the steps of:
-
producing decoded results using a plurality of bit stream generators in response to data in a plurality of data streams supplied from the data stream, wherein each of the plurality of data streams corresponds to a particular probability class and further wherein at least two of the decoded results are produced as the same time, such that decoded results are generated in parallel; and selecting the decoded results singularly to output the decompressed data according to the deterministic order of the data, such that the data stream is decoded in parallel.
-
-
40. A system for decoding a coded data stream of a plurality of bits comprising:
-
a memory coupled to receive and store the coded data stream; a decoder coupled to the memory, wherein the decoder receives coded data from the memory and decodes the coded data; a plurality of counters coupled to receive the decoded data from the decoder, wherein the plurality of counters generate decoded results, such that at least two of the plurality of counters have decoded results available at the same time; a modeling mechanism coupled to receive the decoded results produced by the plurality of counters, wherein the modeling mechanism selects the plurality of counters singularly to obtain its decoded result to produce decompressed data.
-
-
41. A method for decompressing a data stream of a plurality of codewords comprising the steps of:
-
providing a plurality of data streams, wherein each of the plurality of channels supplies data corresponding to a particular context bin; producing a decoded result in response to the data in the plurality of data streams using a plurality of bit-stream generators, wherein each one of the plurality of bit stream generators provides decoded results for a distinct context bin and wherein at least two of the plurality of bit-stream generators produce decoded results at the same time; indicating the code to the plurality of bit stream generation means for decoding their individual data streams; and selecting the plurality of probability estimation means singularly to receive the decoded results produced by its associated bit stream generator to produce decompressed data, such that the data stream is decoded in parallel.
-
-
42. A method for decompressing a data stream of a plurality of codewords comprising the steps of:
-
providing a plurality of data streams, wherein each of the plurality of channels supplies data corresponding to a particular probability class; producing a decoded result in response to the data in the plurality of data streams using a plurality of bit-stream generators, wherein each one of the plurality of bit stream generators provides decoded results for a distinct probability class and wherein at least two of the plurality of bit-stream generators produce decoded results at the same time; indicating the code to the plurality of bit stream generation means for decoding their individual data streams; and selecting the plurality of probability estimation means singularly to receive the decoded results produced by its associated bit stream generator to produce decompressed data, such that the data stream is decoded in parallel.
-
-
43. A system for decoding a data stream of a plurality of bits coded according to a coding scheme employing contexts and probability estimates, said system comprising:
-
channel means for receiving the plurality of bits of the data stream; decoding means coupled to the channel means for decoding portions of the plurality of bits in parallel, such that bits are decoded according to a coding-based partitioning, such that at least two streams of decoded data bits are generated; and modeling means coupled to receive the decoded data bits from the decoding means, wherein the modeling means selects decoded data bits from the decoding means singularly, such that the modeling means selects its output from a plurality of decoded data bit streams. - View Dependent Claims (44, 45)
-
-
46. A system for decoding a coded data stream of a plurality of bits comprising:
-
a memory coupled to receive and store the coded data stream; a decoder coupled to the memory, wherein the decoder receives the coded data from the memory and decodes the coded data, such that the run length is determined and whether a least probable symbol is at the end of the run is determined; a plurality of counters coupled to receive the run length and least probable symbol determination from the decoder, wherein the plurality of counters generates decoded results, such that at least two of the plurality of counters have decoded results available at the same time; a modeling mechanism coupled to receive the decoded results produced by the plurality of counters, wherein the modeling mechanism selects the plurality of counters singularly to obtain its decoded result to produce decompressed data.
-
-
47. A system for decoding a coded data stream of a plurality of bits comprising:
-
memory means for receiving and storing the coded data stream; decoding means coupled to the memory means for receiving coded data from the memory means and decoding the coded data; a plurality of counter means coupled to receive the decoded data from the decoding means and for generating decoded results, such that at least two of the plurality of counter means have decoded results available at the same time; modeling means coupled to receive the decoded results produced by the plurality of counter means, wherein the modeling means selects the plurality of counter means singularly to obtain its decoded result to produce decompressed data. - View Dependent Claims (48)
-
-
49. A system for decoding a coded data stream of a plurality of bits comprising:
-
memory means for receiving and storing the coded data stream; decoding means coupled to the memory means for receiving coded data from the memory means and decoding the coded data, such that the run length is determined and whether a least probable symbol is at the end of the run is determined; a plurality of counters coupled to receive the run length and least probable symbol determination from the decoding means and for generating decoded results, such that at least two of the plurality of counters have decoded results available at the same time; modeling means coupled to receive the decoded results produced by the plurality of counters, wherein the modeling means selects the plurality of counters singularly to obtain its decoded result to produce decompressed data.
-
-
50. A real-time video system for decompressing a data stream of a plurality of codewords comprising:
-
first decoding means coupled to receive the data stream for decoding each codeword in the data stream, wherein at least two of the codewords in the data stream are decoded at the same time according to a coding-based partitioning of the data stream, such that the data stream is decoded in parallel; second decoder means or further decoding the decoded data stream to prepare the decoded data stream for display; and display means for displaying the decoded data. - View Dependent Claims (51, 52, 53, 54, 55, 56)
-
-
57. A system for encoding a data stream having a plurality of bits comprising:
-
a memory means for storing the data stream; means coupled to the memory means for providing a plurality of data streams from the data stream, wherein each of the plurality of data streams includes data from the data stream corresponding to a particular context bin; plurality of encoding means coupled to the means for providing a plurality of data streams, said plurality of encoding means for encoding the data, such that the data is encoded in parallel, wherein one of the plurality of encoding means is coupled to one of the plurality of data streams; storage means coupled to received the encoded data from the plurality of encoding means; and ordering means coupled to the storage means for accessing the storage means to produce an ordered coded stream. - View Dependent Claims (58, 59, 60, 61, 62)
-
-
63. A system for encoding a data stream having a plurality of bits comprising:
-
a memory means for storing the data stream; means coupled to the memory means for providing a plurality of data streams from the data stream, wherein each of the plurality of data streams includes data from the data stream corresponding to a particular probability class; plurality of encoding means coupled to the means for providing a plurality of data streams, said plurality of encoding means for encoding the data, such that the data is encoded in parallel, wherein one of the plurality of encoding means is coupled to one of the plurality of data streams; storage means coupled to received the encoded data from the plurality of encoding means; and ordering means coupled to the storage means for accessing the storage means to produce an ordered coded stream. - View Dependent Claims (64, 65, 66, 67)
-
-
68. An entropy decoder for decoding a data stream of a plurality of codewords comprising:
-
a bit stream generator coupled to receive the data stream; and a probability estimation mechanism coupled to the bit stream generator, wherein the probability estimation mechanism provides probability estimates to the bit stream generator, wherein the bit stream generator generates decoded results for each codeword in the data stream in response to probability estimates from the probability estimation mechanism, wherein the bit stream generator provides decoded results using at least a first Rn(k) code and a second Rn(k) code having a value of n different than the first Rn(k) code. - View Dependent Claims (69, 70, 71, 72, 73, 74)
-
-
75. An entropy decoder or decoding a data stream of a plurality of codewords comprising:
-
a bit stream generator coupled to receive the data stream; and a state table coupled to the bit stream generator, wherein the state table provides a probability estimate to the bit stream generator, wherein the state table includes a plurality of states, each of which is associated with a code, and further wherein at least two of the plurality of states include the same code, such the bit stream generator generates a decoded result for each codeword in the data stream in response to the probability estimate from the state table using a Rn(k) codes, where n and k are integers.
-
-
76. A system for decoding a compressed data stream of a plurality of bits comprising:
-
decoder means for decoding the data stream, wherein a run length and an indication of whether the Least Probable Symbol (LPS) occurred in response to the plurality of bits is generated, wherein the decoder means includes a state table having a plurality of states, each of which is associated with a code, and further wherein at least two states associated with the same code, such upon transitioning between said at least two, the decoder means uses the same code; and counter means coupled to decoder means for outputting decoded data in response to the LPs and run length. - View Dependent Claims (77, 78, 79, 80, 81, 82)
-
-
83. A system for decompressing a data stream of a plurality of codewords comprising:
-
channel means for supplying the plurality of codewords of the data stream; and decoding means coupled to said channel means for decoding each codeword in the data stream, wherein the decoding means includes a plurality of decoders for decoding the data stream according to probability classes using codes, wherein the plurality of decoders are coupled in a cascaded manner, each having an input of the previous one of the cascaded coders and a data input corresponding to a probability class, and further wherein each of the plurality of coders outputs a code stream at a probability different than the probability of the data input, such that the data stream is decoded by receiving data at an input in the cascaded chain of coders and having the data propagate through the remainder of the cascaded chain to produce decoded data. - View Dependent Claims (84)
-
Specification