System for byte packing multiple data channels in an MPEG/DVD system
First Claim
1. A DVD player comprising:
- an input that receives interleaved data comprising N types of data, wherein N is greater than 1, and wherein the input receives the data in units of a first number of bits;
a type-recognition block coupled to said input, wherein said type-recognition block determines a type of data received by said input;
a parsing block coupled to said input and to said type-recognition block, wherein said parsing block comprises;
N preliminary buffers corresponding to the N types of data, wherein said preliminary buffers are coupled to said input, and a FIFO buffer coupled to each of said preliminary buffers and configured to receive a second number of bits from each of said preliminary buffers;
wherein said parsing block is operable to store data from said input into said preliminary buffers in response to the type of data received by said input so that each preliminary buffer receives a single type of data; and
wherein each of the preliminary buffers is operable to flush the second number of bits of data to said FIFO buffer after receiving the second number of bits from said input; and
a channel memory coupled to said FIFO, wherein the FIFO buffer outputs the second number of bits to said channel memory.
9 Assignments
0 Petitions
Accused Products
Abstract
A memory buffer allowing preliminary access to an upstream data portion in a data stream and a method for allowing the access. This memory buffer is a “peek-ahead” FIFO comprising a data input that receives a data stream, a data output, a circular FIFO buffer that stores data from the input at a circulating read location and provided data from a circulating write location to the data output. The memory buffer also has read and write pointers that indicate the read and write locations in the FIFO buffer. If the upstream data portion is stored in the memory buffer, the read pointer can temporarily advance by an offset number of memory locations to allow reading of the upstream data portion. In one embodiment, this memory buffer is included in a DVD decoder and is used to identify the type of an incoming packet before the entire header of the packet is processed. Also described is a method and system for parsing data words from an interleaved byte stream. The method has steps of: (a) reading a byte from the byte stream, (b) determining a type of the byte, that is—what type of data is carried in the packet that it comes from, (c) storing the byte in a word-length buffer for its type, (d) transferring the buffer to a word-write memory if the buffer is full, and (e) repeating steps (a)-(d) for subsequent bytes in the data stream.
12 Citations
18 Claims
-
1. A DVD player comprising:
-
an input that receives interleaved data comprising N types of data, wherein N is greater than 1, and wherein the input receives the data in units of a first number of bits;
a type-recognition block coupled to said input, wherein said type-recognition block determines a type of data received by said input;
a parsing block coupled to said input and to said type-recognition block, wherein said parsing block comprises;
N preliminary buffers corresponding to the N types of data, wherein said preliminary buffers are coupled to said input, and a FIFO buffer coupled to each of said preliminary buffers and configured to receive a second number of bits from each of said preliminary buffers;
wherein said parsing block is operable to store data from said input into said preliminary buffers in response to the type of data received by said input so that each preliminary buffer receives a single type of data; and
wherein each of the preliminary buffers is operable to flush the second number of bits of data to said FIFO buffer after receiving the second number of bits from said input; and
a channel memory coupled to said FIFO, wherein the FIFO buffer outputs the second number of bits to said channel memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data parsing block comprising:
-
an input that receives data blocks comprising a first number of bits, wherein each data block comprises one of N types of data;
a type indicator that determines the type of the data in the data blocks;
N preliminary buffers corresponding to the N types of data, wherein said preliminary buffers are coupled to said input and to said type indicator;
a FIFO buffer coupled to each of said preliminary buffers, the FIFO buffer configured to receive data words comprising a second number of bits from each of said preliminary buffers, and configured to store type information for the data words;
wherein said preliminary buffers are operable to store data from said input into said preliminary buffers in response to the type of data so that each preliminary buffer receives a single type of data; and
wherein each of the preliminary buffers is operable to flush the second number of bits of data to said FIFO buffer after receiving the second number of bits from said input.
-
-
11. A method for parsing data words from an interleaved data stream, the method comprising:
-
receiving data from a data stream at an input of a parsing block, wherein the data is received in data blocks comprising a first number of bits, and wherein each data block comprises one of N types of data;
determining the type of data in the data blocks using a type indicator, wherein the type indicator is coupled to the input of the parsing block;
storing the data blocks in a data buffer, the data buffer including N preliminary buffers, wherein each of the N preliminary buffers corresponds to one of the N types of data, wherein the data is stored in the preliminary buffers in response to the type of data so that each preliminary buffer receives a single type of data; and
transferring a second number of bits from the data buffer to a FIFO memory, wherein the second number of bits comprises a complete data word, and wherein the FIFO memory is configured to store type information for the complete data word. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification