US2005185541A1PendingUtilityA1

Method and system for memory usage in real-time audio systems

Priority: Feb 23, 2004Filed: Dec 14, 2004Published: Aug 25, 2005
Est. expiryFeb 23, 2024(expired)· nominal 20-yr term from priority
Inventors:Darren Neuman
G11B 20/10527G11B 20/00007G11B 2020/00014G11B 2020/10601G11B 2020/10675H04H 20/426H04H 60/27
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

System and method for encoding, transmitting and decoding audio data. Audio bit steam syntax is re-organized to allow system optimizations that work well with memory latency and memory burst operations. Multiple small entropy coding tables are stored in RAM and loaded to on-chip memory as needed. Audio prediction is pipelined in the bitstream syntax. Intra frames, independent of other frames in the bitstream, are included in the bitstream for error recovery and channel change. New algorithms are implemented in legacy syntax by including the new information in the user data space of the audio frame. The new decoder can use projection to determine where the new information is and read ahead in the stream. Audio prediction from the immediately previous frame is restricted. Audio prediction is performed across channels within a single audio frame. A variable re-order function comprises storing channels of data to DRAM in the order they are decoded and reading them out in presentation order.

Claims

exact text as granted — not AI-modified
1 . A method of encoding a data stream, comprising: 
 (a) maintaining a plurality of code tables, each code table implementing a different coding scheme;    (b) receiving a data stream;    (c) determining which of the plurality of code tables would encode the data stream most efficiently;    (d) encoding the data stream using the code table determined to encode the data stream most efficiently.    
   
   
       2 . The method of  claim 1  wherein operation (c) comprises determining which of the plurality of code tables would encode the data stream using the least number of bits.  
   
   
       3 . The method of  claim 1  wherein the data stream comprises a media data stream.  
   
   
       4 . A method of decoding a data stream in a system comprising a data processor, comprising: 
 (a) storing a plurality of code tables in memory external to the data processor, each of the code tables implementing a different coding scheme;    (b) receiving an encoded data stream;    (c) loading an appropriate code table from the external memory to a memory module in the data processor based on the coding scheme used to encode the encoded data stream; and    (d) decoding the encoded data stream using the code table loaded to the memory module in the data processor.    
   
   
       5 . The method of  claim 4  wherein the external memory comprises DRAM.  
   
   
       6 . The method of  claim 4  wherein the encoded data stream comprises a media data stream.  
   
   
       7 . A method of processing media data, comprising: 
 performing prediction on a first clip of media data to produce a media frame comprising a reference to a previous media clip and difference data representing a difference between the first clip and the previous clip;    transmitting the media frame;    receiving the media frame at a decoder;    decoding the difference data;    accessing stored prediction data referred to by the reference, the prediction data representing said previous media clip; and    adding the decoded difference data to the stored prediction data to produce data representing the first media clip;    wherein the first media clip and the previous media clip are each at least 256 bytes in size.    
   
   
       8 . The method of  claim 7  wherein the media data comprises audio data.  
   
   
       9 . A method of transmitting media data, comprising: 
 determining a difference value between a first media clip and a previous media clip;    transmitting a reference to the previous media clip; and    after transmitting the reference, transmitting the difference value.    
   
   
       10 . The method of  claim 9  wherein the reference and the difference value are transmitted in a media data frame and wherein the reference is positioned ahead of the difference value in the frame.  
   
   
       11 . The method of  claim 9  wherein the reference is transmitted in a first media data frame and the difference value is transmitted in a second media data frame and wherein the first frame is transmitted before the second frame.  
   
   
       12 . The method of  claim 9  wherein the media data comprises audio data.  
   
   
       13 . A method of decoding media data, comprising: 
 receiving a reference to a previous media clip;    retrieving data corresponding to the previous media clip from memory;    after receiving the reference, receiving difference data corresponding to a first media clip;    decoding the difference data, at least a portion of said retrieving occurring substantially in parallel with at least a portion of said decoding; and    adding the data retrieved from memory to the decoded difference data to produce a decoded value corresponding to the first media clip.    
   
   
       14 . The method of  claim 13  wherein the decoding and adding operations are performed by a media processor and wherein the memory from which the previous media clip data is retrieved is external to the media processor.  
   
   
       15 . The method of  claim 14  wherein the external memory comprises DRAM.  
   
   
       16 . The method of  claim 13  wherein the media data comprises audio data.  
   
   
       17 . A method of transmitting media data, comprising: 
 utilizing prediction wherein transmitted media data frames include a difference value between a first media clip and a previous media clip and further include a reference to the previous media clip; and    periodically transmitting an intra media data frame wherein all of the data needed to decode the intra frame is included in said intra frame, and wherein no frames transmitted after the intra frame refer to frames transmitted prior to the intra frame.    
   
   
       18 . The method of  claim 17  wherein periodically transmitting an intra media data frame comprises transmitting at least one intra frame per second.  
   
   
       19 . The method of  claim 17  wherein the media data comprises audio data.  
   
   
       20 . A method of transmitting and processing media data, comprising: 
 including, in a media data portion of a media data frame structured according to a first media standard, media data corresponding to said first media standard;    including, in a user data portion of the media data frame structured according to said first media standard, media data corresponding to a second media standard;    decoding the media data in the media data portion of the frame according to the first media standard; and    decoding the media data in the user data portion of the frame according to the second media standard.    
   
   
       21 . The method of  claim 20  wherein the first media standard is a legacy standard and the second media standard is a new standard.  
   
   
       22 . The method of  claim 20  further comprising adding the result of the decoding according to the first media standard to the result of the decoding according to the second media standard to produce a final decoded result.  
   
   
       23 . The method of  claim 20  further comprising including, at the beginning of the media data frame, a pointer to the user data portion of the media data frame, and wherein at least a portion of the decoding of the media data in the media data portion of the frame according to the first media standard occurs in parallel with at least a portion of the decoding of the media data in the user data portion of the frame according to the second media standard.  
   
   
       24 . The method of  claim 20  wherein the media data comprises audio data.  
   
   
       25 . A method of transmitting a media data stream comprising media data frames, comprising: 
 utilizing prediction wherein transmitted media data frames include a difference value between a first media clip and a previous media clip and further include a reference to the previous media clip; and    restricting frames from utilizing prediction based upon the immediately preceding frame.    
   
   
       26 . The method of  claim 25  wherein the media data comprises audio data.  
   
   
       27 . A method of transmitting a media data stream comprising media data frames, comprising: 
 utilizing prediction wherein transmitted media data frames include a difference value between a first media clip and a previous media clip and further include a reference to the previous media clip; and    restricting frames from utilizing prediction based upon the immediately preceding two frames.    
   
   
       28 . The method of  claim 27  wherein the media data comprises audio data.  
   
   
       29 . A method of transmitting audio data, comprising: 
 determining a difference value between a first audio clip of a first audio channel and a previous audio clip of a second audio channel;    transmitting a reference to the previous audio clip of the second audio channel; and    transmitting the difference value.    
   
   
       30 . A method of decoding a first audio clip of a first audio channel, comprising: 
 receiving a reference to a previous audio clip of a second audio channel;    receiving difference data indicating a difference value between the first audio clip and the previous audio clip;    retrieving previous clip data, referred to by the reference, from memory;    decoding the difference data; and    adding the previous clip data to the decoded difference data to produce a decoded value corresponding to the first audio clip.    
   
   
       31 . The method of  claim 30  wherein the first audio clip is received in a first audio data frame and the previous data clip is received in a previous audio data frame.  
   
   
       32 . A method of transmitting audio data, comprising: 
 determining a difference value between a first audio clip of a first audio channel and a second audio clip of a second audio channel, the first and second audio clips being part of a single audio data frame;    transmitting a reference to the second audio clip of the second audio channel; and    transmitting the difference value.    
   
   
       33 . A method of decoding a first audio clip of a first audio channel, comprising: 
 receiving a reference to a second audio clip of a second audio channel, the first and second audio clips being part of a single audio data frame;    receiving difference data indicating a difference value between the first audio clip and the second audio clip;    retrieving data corresponding to the second audio clip, referred to by the reference, from memory;    decoding the difference data; and    adding the retrieved second audio clip data to the decoded difference data to produce a decoded value corresponding to the first audio clip.    
   
   
       34 . A method of transmitting audio data corresponding to a first audio clip of a first audio channel, comprising: 
 phase-shifting a second audio clip of a second audio channel;    determining a difference value between said first audio clip of said first audio channel and the phase-shifted second audio clip of said second audio channel;    transmitting a reference to the second audio clip of said second audio channel; and    transmitting the difference value.    
   
   
       35 . The method of  claim 34  wherein the first audio clip is part of a first audio data frame and the second audio clip is part of a second audio data frame that is previous to the first audio frame.  
   
   
       36 . The method of  claim 34  wherein the first and second audio clips are part of a single audio data frame.  
   
   
       37 . A method of decoding a first audio clip of a first channel, comprising: 
 receiving a reference to a second audio clip of a second audio channel;    receiving difference data indicating a difference value between the first audio clip and the second audio clip;    receiving phase shift data indicating a difference in phase between the first audio clip and the second audio clip;    retrieving previous clip data, referred to by the reference, from memory;    phase-shifting the second clip data by an amount indicated by the phase shift data;    decoding the difference data; and    adding the phase-shifted second clip data to the decoded difference data to produce a decoded value corresponding to the first audio clip.    
   
   
       38 . The method of  claim 37  wherein the first audio clip and the previous audio clip are part of a single audio data frame.  
   
   
       39 . The method of  claim 37  wherein the first audio clip is part of a first audio data frame and the second audio data clip is part of a previous audio data frame.  
   
   
       40 . A method of decoding audio data, comprising: 
 performing intra-frame, inter-channel prediction to determine decoded values of a plurality of audio clips corresponding to a plurality of channels based on decoded values of other audio channels within the same audio data frame, whereby the audio clips are decoded in channel order;    storing in memory the decoded values for the plurality of audio clips in the order they are decoded; and    reading the decoded values for the plurality of audio clips from memory in an order of presentation.    
   
   
       41 . The method of  claim 40  wherein the operation of performing intra-frame, inter-channel prediction is performed by a data processor and wherein the memory comprises memory external to the data processor.  
   
   
       42 . The method of  claim 41  wherein the memory comprises DRAM.  
   
   
       43 . The method of  claim 40  wherein the order of presentation comprises reading the plurality of decoded values from memory in parallel.

Join the waitlist — get patent alerts

Track US2005185541A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.