Method of processing variable size blocks of data by storing numbers representing size of data blocks in a fifo
Abstract
A digital data processing system receives compressed variable length encoded digital data in the form of variable length codewords in contiguous variable speed Blocks of data. The boundary signals between adjacent codewords are determined and a demultiplexer sequentially sorts the serial digital data among a plurality of parallelly connected buffers for reducing the bit read speed of the buffers. A corresponding plurality of variable length decoders decodes the data from the buffers and outputs the data in parallel form to a multiplexer where it is reassembled into a serial expanded data stream. The incoming data includes selector information in fixed length headers that are separated, buffered and variable length decoded for controlling the demultiplexer. In one aspect of the invention, the data is sorted into substantially equal sized groups of integral codewords for equalizing the loading of the parallel buffers. In another aspect of the invention, the Block boundary marker signals are processed through much smaller auxiliary buffers using counters to keep track of the Block boundary marker signals for synchronization with the data flowing through the buffers.
Claims
exact text as granted — not AI-modified1. A method of dynamically processing variably sized Blocks of compressed data in a signal processing apparatus, the method comprising continuously:
providing a bit stream of the compressed data, the compressed data being processed by,
writing said compressed data into a first first-in first-out (fifo) memory;
developing input numbers representing the sizes of said Blocks of compressed data;
storing said developed input numbers in a second fifo memory: ; and
reading said stored input numbers from said second fifo memory to identify said Blocks of compressed data as said Blocks of compressed data are being read from said first fifo memory.
2. The method of claim 1 , further comprising: the compressed data being further processed by,
developing a Block boundary signal indicating the junctions between said Blocks of compressed data;
developing said input numbers by counting bits in said Blocks of compressed data under control of said Block boundary signal; and
controlling operation of said second fifo memory with said Block boundary signal.
3. The method of claim 2 , further including the compressed data being further processed by, stepping an input counter to develop said input numbers and stepping an output counter that is loaded with said input numbers as they are read from said second fifo memory.
4. The method of claim 3 , further comprising the compressed data being further processed by, developing a reset signal when said output counter has been stepped a number of counts equal to the input number loaded therein; and
controlling the read out of said second fifo memory and the reset of said output counter with said reset signal.
5. A method of dynamically synchronously processing contiguous unequal size Blocks of compressed data comprising continuously:
serially writing said compressed data into a first first-in first-out (fifo) memory;
developing counts of the numbers of bits in each of said Blocks;
storing said counts in a second fifo memory: ; and
sequentially reading said counts from said second fifo memory for identifying corresponding Blocks of data as said Blocks of data are being read from said first fifo memory.
6. The method of claim 5 wherein a Block boundary signal denoting the boundaries between said contiguous unequal size Blocks is developed and further comprising:
controlling an input counter with said Block boundary signal for counting the number of bits in each of said Blocks of data;
controlling an output counter loaded with the stored counts from said second fifo memory and operated by bits being read from said first fifo memory for developing a reset signal in synchronization with said Block boundary signal; and
resetting said output counter and controlling the reading of data from said second fifo memory with said reset signal.
7. A receiver for processing a continuous stream of digital data in contiguous Blocks of sequential bits wherein the number of bits of data in each Block is not uniform comprising:
a first and a second first-in first-out (fifo) memory;
an input counter and an output counter;
means for writing said digital data to said first fifo memory;
means for controlling said input counter to develop a count representative of the number of bits in a Block of data supplied to said first fifo memory and for writing said count to said second fifo memory;
detection means for reading said count from said second fifo memory and for loading said count in said output counter; and
means for controlling said output counter as said digital data is being read from said first fifo memory;
said detection means comprising means for determining when the number of bits read from said first fifo memory equals the count loaded in said output counter for developing a reset signal and means for resetting said output counter and controlling said second fifo memory with said reset signal.
8. The receiver of claim 7 wherein said output counter controlling means comprises a variable length decoder coupled to said first fifo memory, said variable length decoder including a request line for reading said digital data from said first fifo memory and for operating said output counter and wherein said detection means comprises means for resetting said variable length decoder with said reset signal.
9. The receiver of claim 8 wherein said determining means comprises an all zeroes detector and wherein said output counter is decremented responsive to said request line.
10. A method of dynamically processing variably sized blocks of compressed data in a signal processing apparatus, the method comprising continuously:
receiving a video bitstream including compressed data; and processing the compressed data in the video bitstream by variable length decoding, the processing being based on inpput numbers representing sizes of Blocks of the compressed data by, sequentially writing the compressed data into a first first-in first-out (fifo) memory, sequentially developing the input numbers representing the sizes of the Blocks of the compressed data, sequentially storing the developed input numbers in a second fifo memory, and sequentially reading the stored input numbers from the second fifo memory in order to identify the Blocks of compressed data being read out from the first fifo memory.
11. The method of claim 10 , wherein the first fifo memory and the second fifo memory are arranged in a buffer memory.
12. The method of claim 11 , wherein a plurality of the buffer memories are arranged in parallel.
13. The method of claim 10 , wherein the Blocks include at least one of 8 × 8 arrays, partial blocks, frames, and header data.
14. The method of claim 13 , wherein the bitstream includes header data and wherein the input numbers are developed based on at least one of marker signals, boundary signal, starting points, and sync signals in the header data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.