Patent ID: 7881320

Claim:
A method for multiplexing data from bitstreams, comprising: determining data status for data of each of the bitstreams; assigning stream numbers respectively to the bitstreams such that each of the bitstreams has an associated stream number associated with a source of the bitstream; controllably storing the data of each of the bitstreams in respective memory buffers according to the data status for the data of each of the bitstreams and the stream number of each of the bitstreams, the bitstreams and the memory buffers being associated with one another; controllably selecting a memory buffer of the memory buffers from which to obtain the data stored therein; parsing the data obtained from the memory buffer selected to provide an output; loading the data stored in each of the memory buffers into respective shift registers for respective look-ahead operations, wherein controllably selecting a memory buffer comprises selecting the memory buffer according to a look-ahead status of the data stored in the respective shift registers determined according to the look-ahead operations; and repeating the controllably selecting and the parsing to obtain and parse the data stored in at least one other memory buffer of the memory buffers to provide the output with the data obtained from the at least one other memory buffer in addition to the data obtained from the memory buffer; providing the output to a single back-end decoder, wherein the output is multiplexed data from the bitstreams respectively associated with the memory buffer and the at least one other memory buffer; and wherein the multiplexed data has switching points therein, wherein each switching point comprises a frame boundary, and wherein controllably selecting a memory buffer of the memory buffers from which to obtain the data stored therein further comprises selecting the memory buffer to coincide with a switching point within the multiplexed data.