A method (and apparatus) for coding an audio signal, the method comprising the steps of partitioning the audio signal into a sequence of successive frames; calculating one or more noise thresholds for each of a plurality of frames in the sequence, each noise threshold for a particular one of the frames corresponding to a different perceptual coding quality for the particular frame; estimating a bit demand for each of a corresponding one or more perceptual coding qualities for each frame, wherein each estimated bit demand comprises a number of bits which would be used to code a given frame at the corresponding perceptual coding quality; selecting one of the perceptual coding qualities for the coding of a particular frame based upon the estimated bit demand for the perceptual coding quality for the particular frame, and further based on one or more bit demands estimated for one or more other frames; and coding the particular frame based on the noise threshold corresponding to the selected perceptual coding quality for the particular frame. In particular, and in accordance with one illustrative embodiment of the present invention, the average bit demand for coding each of a plurality of frames at each of a plurality of different perceptual coding qualities is advantageously estimated, and based on these estimates, each frame is coded so as to maintain a relatively consistent perceptual coding quality from one frame to the next.
|
1. A method of coding a signal based on a perceptual model, the method comprising the steps of:
partitioning the signal into a sequence of successive frames; calculating one or more noise thresholds for each of a plurality of said frames in said sequence, each noise threshold for a particular one of said frames corresponding to a different perceptual coding quality for said particular one of said frames; estimating a bit demand for each of a corresponding one or more of said perceptual coding qualities for each of said plurality of said frames, wherein each estimated bit demand comprises a number of bits which would be used to code a given one of said frames at said corresponding perceptual coding quality; selecting one of said perceptual coding qualities for the coding of a particular one of said frames based upon the estimated bit demand for said perceptual coding quality for said particular one of said frames and further based on one or more bit demands estimated for one or more other ones of said frames; and coding said particular one of said frames based on the noise threshold corresponding to said selected one of said perceptual coding qualities for said particular one of said frames.
15. An apparatus for coding a signal based on a perceptual model, the apparatus comprising:
means for partitioning the signal into a sequence of successive frames; means for calculating one or more noise thresholds for each of a plurality of said frames in said sequence, each noise threshold for a particular one of said frames corresponding to a different perceptual coding quality for said particular one of said frames; means for estimating a bit demand for each of a corresponding one or more of said perceptual coding qualities for each of said plurality of said frames, wherein each estimated bit demand comprises a number of bits which would be used to code a given one of said frames at said corresponding perceptual coding quality; means for selecting one of said perceptual coding qualities for the coding of a particular one of said frames based upon the estimated bit demand for said perceptual coding quality for said particular one of said frames and further based on one or more bit demands estimated for one or more other ones of said frames; and means for coding said particular one of said frames based on the noise threshold corresponding to said selected one of said perceptual coding qualities for said particular one of said frames.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
deriving one or more quantization step sizes based on said noise threshold corresponding to said particular perceptual coding quality for said given frame; coding said given frame based on said derived quantization step sizes to produce a set of quantized values; performing a Huffman coding of said set of quantized values; and calculating a number of bits based on said Huffman coding of said set of quantized values.
8. The method of
9. The method of
deriving one or more quantization step sizes based on said noise threshold corresponding to said particular perceptual coding quality for said given frame; coding said given frame based on said derived quantization step sizes to produce a set of quantized values; performing a Huffman coding of said set of quantized values; calculating a number of bits based on said Huffman coding of said set of quantized values; and repeating, zero or more times, said steps of deriving one or more quantization step sizes, coding said given frame, performing said Huffman coding, and calculating said number of bits, until said calculated number of bits is within a predetermined amount of said approximation of said bit demand.
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
16. The apparatus of
17. The apparatus of
18. The apparatus of
19. The apparatus of
20. The apparatus of
21. The apparatus of
means for deriving one or more quantization step sizes based on said noise threshold corresponding to said particular perceptual coding quality for said given frame; means for coding said given frame based on said derived quantization step sizes to produce a set of quantized values; means for performing a Huffman coding of said set of quantized values; and means for calculating a number of bits based on said Huffman coding of said set of quantized values.
22. The apparatus of
23. The apparatus of
means for deriving one or more quantization step sizes based on said noise threshold corresponding to said particular perceptual coding quality for said given frame; means for coding said given frame based on said derived quantization step sizes to produce a set of quantized values; means for performing a Huffman coding of said set of quantized values; means for calculating a number of bits based on said Huffman coding of said set of quantized values; and means for applying, one or more times, said means for deriving one or more quantization step sizes, said means for coding said given frame, said means for performing said Huffman coding, and said means for calculating said number of bits, until said calculated number of bits is within a predetermined amount of said approximation of said bit demand.
24. The apparatus of
25. The apparatus of
26. The apparatus of
27. The apparatus of
28. The apparatus of
|
The present invention relates generally to the field of perceptual audio coding (PAC) techniques and more particularly to a bit allocation scheme which achieves relatively consistent perceptual quality across consecutively coded frames.
In present state of the art audio coders for use in coding signals representative of, for example, speech and music, for purposes of storage or transmission, perceptual models based on the characteristics of the human auditory system are typically employed to reduce the number of bits required to code a given signal. In particular, by taking such characteristics into account, "transparent" coding (i.e., coding having no perceptible loss of quality) can be achieved with significantly fewer bits than would otherwise be necessary. In such coders, typically known as perceptual audio coders, the signal to be coded is first partitioned into individual frames, with each frame comprising a small time slice of the signal, such as, for example, a time slice of approximately twenty milliseconds. Then, the signal for the given frame is transformed into the frequency domain, typically with use of a filter bank. The resulting spectral coefficients may then be quantized and coded. In particular, the quantizer which is used in a perceptual audio coder to quantize the spectral coefficients is advantageously controlled by a psychoacoustic model (i.e., a model based on the performance of the human auditory system), and by the specific number of bits that are available to code the given frame. An illustrative Perceptual Audio Coder (PAC) is described, for example, in U.S. Pat. No. 5,040,217, issued on Aug. 13,1991 to K. Brandenburg et al., and assigned to the assignee of the present invention. U.S. Pat. No. 5,040,217 is hereby incorporated by reference as if fully set forth herein.
Due to the nature of audio signals and the effects of the psychoacoustic model, the bit demand (i.e., the number of bits requested by the quantizer to code the given frame) typically varies with a large range from frame to frame. Therefore, it is invariably necessary to provide for a bit allocation scheme, which, inter alia, makes sure that the average bit rate remains relatively close to the desired bit rate (e.g., the bit rate of the channel over which the coded signal is ultimately to be transmitted, or the amount of available storage per frame if the coded signal is simply to be stored). In addition, the bit allocation scheme must ensure that the coder's output "bit buffer" or "bit reservoir" (which provides the coder with the bits which are available) never runs empty (which is referred to as an underflow condition) or full (which is referred to as an overflow condition). (The use of a bit buffer or reservoir in audio coders is fully familiar to those of ordinary skill in the art.)
A typical prior art bit allocation scheme is described, for example, in U.S. Pat. No. 5,627, 938, issued on May 6, 1997 to J. Johnston, and assigned to the assignee of the present invention. U.S. Pat. No. 5,627, 938 is hereby incorporated by references as if fully set forth herein. Specifically, this prior art bit allocation scheme operates as follows. Each frame of the signal to be coded is initially coded with quantizer step sizes that are determined by a masked threshold which is computed by the psychoacoustic model. The masked threshold corresponds to a transparent coding quality. That is, setting the quantizer step sizes based on the masked threshold will, in general, provide for a coding which when reconstructed will sound (to the human ear) identical to the original signal.
Given the bit demand of the initially coded frame and the state of the bit buffer (i.e., the degree of "emptiness" or "fullness" thereof), the bit allocation scheme decides how many bits are actually given to the quantizer to code the frame. That is, the bit allocator can be viewed as a controller which controls the number of bits allowed, given both the initial bit demand and the buffer state. Specifically, the quantizer step sizes are then modified in an attempt to match the allowed number of bits, and the frame is then re-coded with the modified step sizes, after which the bit allocator again makes a determination of the number of bits to actually be given to the quantizer. This process iterates until the frame is quantized and coded with a number of bits close to the number actually granted by the bit allocator. (This iterative process is referred to in the audio coding art as the "rate loop," and the processor which performs it is referred to as the "rate loop processor.")
Note that when the average bit demand of successive initially coded frames is either significantly higher or significantly lower than the average overall bit rate of the coder, the performance of this rate loop process is limited by the fact that the bit buffer necessarily has a substantial influence on the bit allocation. As such, the process fails to adequately account for the perceptual impact of the resulting bit allocation. In other words, the bit buffer becomes essentially the sole factor in the decision of how much the allocated number of bits diverge from the actual number of initially demanded bits.
To partially address this problem, prior art audio coders such as PAC employ what is known as a noise threshold, which exceeds the masked threshold by a predetermined amount. Typically, this results in an average bit demand which is closer to the desired bit rate. In this manner, the bit buffer state remains relatively well behaved (i.e., having a low risk of suddenly running empty or of overflowing), and the control task of the bit allocator becomes relatively straightforward.
Clearly, the bit demand of the noise threshold which results in an appropriate given range of average bit demand can be well below the bit rate which would be necessary to achieve transparency. Therefore, one disadvantage of having to use different noise thresholds for different target bit rates is the necessity of manually tuning the psychoacoustic model of the coder for each specific target bit rate, in order to achieve a reasonable level of efficiency and performance. However, since different types of audio signals result in significantly different bit demands, even providing for such a manual tuning process may not result in a coder that works well for all types of audio signals, or even one that works well for a single audio signal having characteristics which change over time. The typical result is that the coder provides a quality level which often varies significantly (over time), due to a failure of the bit allocator to allocate bits to consecutive frames in such a manner so as to ensure that they are coded with a relatively consistent quality level. In fact, this inconsistent behavior becomes more severe with increasing divergence between the target bit rate and the bit demand of the initially coded frames.
It has been realized that a more consistent perceptual quality over time provides for a far more pleasing auditory experience to the listener. In other words, significant variations in perceptual quality of a reconstructed audio signal is typically even more disconcerting to a listener than a reduced, but nonetheless consistent level of quality would be. It has also been realized that to provide a consistent perceptual quality over time, it is not sufficient to allow the bit allocation process to be controlled by merely the frame's initial bit demand and the state of the bit buffer. Rather, in accordance with the principles of the present invention, the bit allocation process is further controlled by taking into account the characteristics of a plurality of frames and by analyzing the bit requirements of coding each of these frames at various levels of perceptual quality.
More specifically, the present invention provides a method (and apparatus) for coding an audio signal, the method comprising the steps of partitioning the audio signal into a sequence of successive frames; calculating one or more noise thresholds for each of a plurality of frames in the sequence, each noise threshold for a particular one of the frames corresponding to a different perceptual coding quality for the particular frame; estimating a bit demand for each of a corresponding one or more perceptual coding qualities for each frame, wherein each estimated bit demand comprises a number of bits which would be used to code a given frame at the corresponding perceptual coding quality; selecting one of the perceptual coding qualities for the coding of a particular frame based upon the estimated bit demand for the perceptual coding quality for the particular frame, and further based on one or more bit demands estimated for one or more other frames; and coding the particular frame based on the noise threshold corresponding to the selected perceptual coding quality for the particular frame. In particular, and in accordance with one illustrative embodiment of the present invention, the average bit demand for coding each of a plurality of frames at each of a plurality of different perceptual qualities is advantageously estimated, and based on these estimates, each frame is coded so as to maintain a relatively consistent perceptual quality from one frame to the next.
Bit Allocation in a Conventional Perceptual Audio Coder
Meanwhile, bit buffer 14 provides the buffer state (i.e., the degree of fullness or emptiness) to bit allocator 13. If the initial bit demand is consistent with the buffer state and the given required bit rate, the frame is coded with the given encoding (as determined by quantizer and Huffman coder 12), but if it is not (as is most typical), quantizer and Huffman coder 12 is instructed by bit allocator 13 to re-code the frame with different quantization step sizes, and the process iterates until a bit demand consistent with the buffer state and the given required bit rate is achieved.
An Illustrative Novel Bit Allocation Scheme for a Single Perceptual Audio coder
Based on the one or more noise thresholds provided by psychoacoustic model 21, quantizer and Huffman coder 22 determines corresponding bit demands for the various different perceptual qualities. In particular, each of these thresholds translate into particular quantization step sizes, and based on these step sizes, the spectral coefficients of the given frame are quantized and the resultant data is Huffman coded by quantizer and Huffman coder 12, which results in a set of bit demands corresponding to the various perceptual qualities. Then, enhanced bit allocator 23 determines at which perceptual quality level the given frame is to be coded.
The selection of a perceptual quality level at which to code the given frame is advantageously based upon a number of factors. These include the required bit rate (i.e., the rate of the constant rate bitstream which is to be ultimately output by bit buffer 24); the state of the bit buffer (as provided to it by bit buffer 24); the various bit demands required to code the given frame at each of the various perceptual qualities (as determined by quantizer and Huffman coder 22); and, in accordance with the principles of the present invention, an analysis of the bit demands at one or more perceptual qualities for one or more other frames. These other frames may, for example, advantageously include a number of frames previous to the given frame (i.e., "past" frames) and/or a number of frames subsequent to the given frame (i.e., "future" frames).
Note that when viewed over a relatively long time span the bit demand for a constant perceptual quality is not stationary in the sense that its mean is not constant. However, when viewed over a relatively short time span, such as, for example, 400 milliseconds or 20 frames (each frame being typically 20 milliseconds), the bit demand has a fairly constant mean, changing relatively slowly over time.
Thus, in accordance with an illustrative embodiment of the present invention, for each audio frame k, the perceptual quality Q(k) is adapted over time. Two conditions are advantageously applied to such an adaptation. First, the average demand is advantageously maintained at a value close to the desired bit rate. And second, the perceptual quality is advantageously permitted to change only slowly from frame to frame. Thus, the performance of the illustrative embodiment of the present invention at least approximates the "ideal" scenario of maintaining a constant perceptual quality.
Specifically, noting that the average bit demand for a given perceptual quality Q is relatively constant over the short term, we can advantageously estimate the mean bit demand m(k, Q) at each time (i. e., frame) k using, in general, a weighted average of future and past bit demand values, as follows:
In particular, vector w(i) comprises a weighting vector for estimating the mean bit demand, which in various illustrative embodiments of the present invention may weight the computed mean value towards the bit demands of those frames which are more proximate to the given frame. In other illustrative embodiments, the weighting vector may comprise a simple square window (thereby delineating a particular subsequence of consecutive frames whose bit demand contributes to the computation)--e.g., w(i)=1, for -K≦i≦L. Note also that L is the number of frames previous to the given frame (i.e., the past frames) and K is the number of frames subsequent to the given frame (i. e., the future frames) whose bit demand values are taken into account in computing the mean bit demand, m(k, Q). In one illustrative embodiment of the present invention, K=0, in which case only past frames are taken into account. This simplifies the process significantly (since no "look ahead" is required), but nonetheless does not appear to limit the performance of the novel bit allocation process significantly (if at all).
Given different types of audio signals, or even given different portions of a specific music signal, the average bit demand may vary significantly. Thus, in accordance with an illustrative embodiment of the present invention, the perceptual quality at which each given frame is coded is updated based on the current conditions. In particular, at each time (i.e.,. frame) k, we advantageously calculate the perceptual quality Q(k) at which the estimated mean bit demand m(k, Q) is equal to the average number of bits B which are available for each frame at the desired bit rate, as follows:
Note that given the quality Q(k) which satisfies equation (2), we may advantageously allocate b(k, Q(k)) bits to code frame k. Given that a sufficiently large estimation window is chosen (i.e., the bit demands for a sufficient number of past and/or future frames are included in the computation of the mean bit demand for use in coding the given frame), the perceptual quality Q(k) will advantageously change slowly over time (i.e., as k increases). In accordance with certain other illustrative embodiments of the present invention, additional restrictions which would be obvious to those skilled in the art could be imposed to prevent Q(k) from changing too rapidly. For example, a maximum rate of change criterion for the perceptual quality may be easily integrated into the above-described scheme by one of ordinary skill in the art.
And in addition, in accordance with various illustrative embodiments of the present invention, conventional bit buffer control may also be employed to ensure that the bit buffer does not run empty or full. However, due to the fact that the instant inventive technique (in accordance with the various illustrative embodiments described herein) typically ensures that the bit allocation tracks fairly close to the given bit rate, such bit buffer control is likely to have only a minor influence on the resultant bit allocation.
An Illustrative Novel Bit Allocation Scheme for Multiple Perceptual Audio Coders
In accordance with another illustrative embodiment of the present invention, the bit allocation scheme described above can be advantageously extended to provide for simultaneous bit allocation over N perceptual audio coders which run in parallel. Such multiple audio coders may, for example, be used to code a plurality of independent audio programs, or they may be used to code multiple channels of the same program. In accordance with such an illustrative embodiment, the joint mean bit demand of the multiple (e.g., N) audio coders may be advantageously estimated over time, as follows:
In this manner, the perceptual quality Q(k) is advantageously computed at each point in time k such that the estimated mean bit demand m(k, Q(k)) as computed above is equal or nearly equal to the average number of bits per frame B at the given bit rate, as shown in equation (2). Then, the perceptual quality Q(k) is the quality at which all N of the audio coders code the given frame--that is, for each of the N audio coders j={1, 2, . . . , N}, bj(k, Q(k)) bits are allocated to its corresponding frame k.
An Illustrative Relationship Between Bit Demand and Perceptual Quality
In accordance with various illustrative embodiments of the present invention, the different perceptual qualities (Q) may be defined in any of a number of ways, many of which would be obvious to those of ordinary skill in the art. In accordance with one illustrative embodiment, for example, a psychoacoustic model which computes a noise level (i.e., a noise threshold) for each possible perceptual quality (or for a fixed number of possible perceptual qualities) may be derived based on conventional techniques involving, for example, psychoacoustic experimentation. Alternatively, in accordance with other illustrative embodiments, noise may be systematically added to the masked threshold (as presently computed by conventional psychoacoustic models) in order to estimate a noise threshold corresponding to a desired perceptual quality. Such "enhanced" psychoacoustic models can themselves be implemented in a number of ways, many of which will be obvious to those skilled in the art.
In accordance with one illustrative embodiment, for example, a relatively simple implementation of multiple perceptual qualities (i.e., one requiring only minimal modifications to a conventional PAC coder) may be obtained by merely assuming that two frames are being coded at the same perceptual quality if their masked thresholds are increased or decreased by the same offset (to thereby produce corresponding noise thresholds)--specifically, to decrease the perceptual quality of two frames by the same amount, their corresponding masked thresholds may be advantageously made higher by the same offset in a logarithmic scale (i.e., the same factor on a linear scale). Given such a modified masked threshold, the signal for the given frame can be coded in order to compute the number of bits required for a given perceptual quality--namely, the bit demand, b(k, Q). However, due to the fact that it is computationally intensive to compute such bit demands for a very large number of possible perceptual qualities, in accordance with certain illustrative embodiments of the present invention, the computational complexity is advantageously reduced with the use of either of the two following implementation schemes.
A First Illustrative Implementation Employing a Set of Discrete Perceptual Qualities
Specifically, a limited number of discrete perceptual qualities are predetermined as corresponding to a certain offset of the masking threshold (or, more generally, to the masked threshold with a certain amount of additional noise), as described above. Moreover, these offsets are advantageously set based on the bit rate and the system designer's expectations of the system's performance. For example, for relatively high bit rates, where transparent coding can sometimes be achieved, the "highest" perceptual quality may be set to a fully transparent quality (e.g., by using the original masking threshold), and each successively lower quality may be set to be "less transparent" than the previous one by an approximately equal amount. On the other hand, for lower bit rates where transparency is not expected to occur, one of the "middle" perceptual qualities might be advantageously chosen to be the average "expected" quality, with higher and lower quality levels being approximately equally spaced successively above and successively below the average quality level, respectively.
In particular, in accordance with the first illustrative embodiment of the present invention, for each frame k, the bit demand b(k, Qj) at each of a set of M predetermined discrete perceptual qualities (0≦j<M) is computed as follows. A quantization noise threshold nj for a specific perceptual quality Qj is computed by the psychoacoustic model as described above. Then, the spectral coefficients for the given frame k are quantized with a quantization error corresponding to nj, Huffman coded, and the corresponding bit demand b(k, Qj) is calculated for each j.
With specific reference to
In accordance with the first illustrative embodiment, to ensure that the bit demands at the computed perceptual qualities are within the range of the bit rate, the levels of the perceptual qualities are advantageously adapted slowly over time. For example, this may be implemented by advantageously choosing the best quality Q0 (adaptively) such that the long term mean of the bit demand at Q0 is slightly higher than the average number of bits per frame B at the desired bit rate. Similarly, the lowest quality QM-1 may be advantageously chosen such that the estimated mean bit demand (Equation (1)) never or at most rarely exceeds B. The quality levels in between Q0 and QM-1 may then be perceptually equally spaced therebetween.
Additionally, however, an "escape" quality QE may also be advantageously provided in order to provide additional assurance that the bit buffer does not run empty (i.e., so that no bits are available to code subsequent frames). In particular, the escape quality QE is chosen to be well below the other perceptual qualities. and bit allocator 53 selects this quality to code the given frame any time the bit buffer runs dangerously low. (In practice, however, such a selection will need to be made rarely, if ever.)
Note that the scheme in accordance with the first illustrative embodiment of the present invention eliminates the need for a rate loop as employed in typical prior art perceptual audio coders. By providing for a fixed, but limited number of different perceptual qualities, the process not only results in a well controlled bit allocation and thereby improved perceptual performance, but it is also ensured to require at most a fixed number of iterations. As such, the degree to which the computational load varies in the resulting coder is significantly reduced as compared to that of a conventional prior art audio coder, thus making the implementation easier, particularly for real-time applications.
A Second Illustrative Implementation Employing Estimated Bit Demands
In accordance with a second illustrative embodiment of the present invention, the bit demand for different perceptual qualities is estimated without actually coding and counting the number of bits used. With use of a simple approximation, a rough estimation of the bit demand b(k, Q) may be obtained, and based on this estimation, the quality level to be used for the coding of each frame is selected.
Specifically, note first that the bit demand b(k, Q) consists of side information s(k) and the bits that actually represent the spectral coefficients h(k) (the Huffman bits). This may be represented mathematically as follows:
For the sake of the present approximation (in accordance with the second illustrative embodiment of the present invention), assume that the coding of two frames change perceptually equally in quality if the number of Huffman bits are proportionally equally changed given the bit demand for one particular quality level, for example, Q=1∅ Therefore, the bit demand for a specific quality Q>0 can be estimated given the actual bit demand at quality Q=1.0, as follows:
By using a simple square window,
and w(i)=0 otherwise,
and by assuming that the side information is constant (s(k)=s), the estimated mean demand from Equation (1) becomes
Given the condition of Equation (2), the quality Q(k) for each frame k can then be computed as follows:
And for each frame k, we can allocate the number of bits corresponding to the quality Q(k) as follows:
which satisfies the condition of Equation (2). Specifically, in accordance with the second illustrative embodiment of the present invention, the rate loop (similar to that of an otherwise conventional perceptual audio coder) can be made to iterate (changing the quantizer step sizes) until approximately b(k) bits are used to code frame k.
Note that the implementation in accordance with this second illustrative embodiment can be advantageously integrated into an existing audio coder with only minimal modifications thereto. Clearly, since this implementation uses only a simple formula to estimate the bit demand as a function of perceptual quality, it is likely to be less perceptually controlled than, for example, the implementation in accordance with the first illustrative embodiment described above. However, the simplicity of this approach, and the ease with which an existing coder can be modified to use it, offer certain advantages.
Note also that in accordance with other illustrative embodiments of the present invention, aspects of the first illustrative embodiment and aspects of the second illustrative embodiment may be combined in ways which will be obvious to those of ordinary skill in the art. For example, the bit demand may be estimated as a function of perceptual quality by computing a few data points (as is done by the above-described first illustrative embodiment), and then a more "precise" quality level choice may be advantageously obtained by interpolating in between two of these data points (in accordance with the approach of the second illustrative embodiment). In other words, an iterative rate loop which limits its iterations to be between two pre-calculated perceptual qualities may be used to obtain certain of the advantages of both the first and second illustrative embodiments as described above.
Addendum to the Detailed Description
The preceding merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. For example, the principles of the present invention may be applied to any form of source coding in which the bit demand varies from frame to frame and is based on perceptual criteria, such as, for example, video coding. Furthermore, all examples and conditional language recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventors to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future--i.e., any elements developed that perform the same function, regardless of structure.
Thus, for example, it will be appreciated by those skilled in the art that the block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
The functions of the various elements shown in the figures, including functional blocks labeled as "processors" or "modules" may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the FIGS. are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementor as more specifically understood from the context.
In the claims hereof any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, (a) a combination of circuit elements which performs that function or (b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the mainer which the claims call for. Applicant thus regards any means which can provide those functionalities as equivalent (within the meaning of that term as used in 35 U.S.C. 112, paragraph 6) to those explicitly shown and described herein.
Patent | Priority | Assignee | Title |
6778953, | Jun 02 2000 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Method and apparatus for representing masked thresholds in a perceptual audio coder |
6987889, | Aug 10 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and method for dynamic perceptual coding of macroblocks in a video frame |
7110941, | Mar 28 2002 | Microsoft Technology Licensing, LLC | System and method for embedded audio coding with implicit auditory masking |
7162096, | Aug 10 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and method for dynamic perceptual coding of macroblocks in a video frame |
7373293, | Jan 15 2003 | SAMSUNG ELECTRONICS CO , LTD | Quantization noise shaping method and apparatus |
7724827, | Sep 07 2003 | Microsoft Technology Licensing, LLC | Multi-layer run level encoding and decoding |
7774205, | Jun 15 2007 | Microsoft Technology Licensing, LLC | Coding of sparse digital media spectral data |
7801735, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Compressing and decompressing weight factors using temporal prediction for audio data |
7831434, | Jan 20 2006 | Microsoft Technology Licensing, LLC | Complex-transform channel coding with extended-band frequency coding |
7860720, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding and decoding with different window configurations |
7917369, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Quality improvement techniques in an audio encoder |
7930171, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding/decoding with parametric compression/decompression and weight factors |
7930185, | Sep 05 2005 | Fujitsu Limited | Apparatus and method for controlling audio-frame division |
7953604, | Jan 20 2006 | Microsoft Technology Licensing, LLC | Shape and scale parameters for extended-band frequency coding |
8010370, | Jul 28 2006 | Apple Inc | Bitrate control for perceptual coding |
8032371, | Jul 28 2006 | Apple Inc | Determining scale factor values in encoding audio data with AAC |
8069050, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding and decoding |
8069052, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Quantization and inverse quantization for audio |
8099292, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding and decoding |
8117027, | Oct 05 1999 | Fraunhofer-Gesellschaft zur Foerderung der Angewandten Forschung E.V. | Method and apparatus for introducing information into a data stream and method and apparatus for encoding an audio signal |
8190425, | Jan 20 2006 | Microsoft Technology Licensing, LLC | Complex cross-correlation parameters for multi-channel audio |
8224660, | Mar 13 2006 | France Telecom | Method of coding a source audio signal, corresponding coding device, decoding method and device, signal, computer program products |
8255230, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding and decoding |
8255234, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Quantization and inverse quantization for audio |
8346547, | May 18 2009 | Synaptics Incorporated | Encoder quantization architecture for advanced audio coding |
8386269, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding and decoding |
8428943, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Quantization matrices for digital audio |
8554569, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Quality improvement techniques in an audio encoder |
8595003, | May 18 2009 | Synaptics Incorporated | Encoder quantization architecture for advanced audio coding |
8599925, | Aug 12 2005 | Microsoft Technology Licensing, LLC | Efficient coding and decoding of transform blocks |
8620674, | Sep 04 2002 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding and decoding |
8645127, | Jan 23 2004 | Microsoft Technology Licensing, LLC | Efficient coding of digital media spectral data using wide-sense perceptual similarity |
8645146, | Jun 29 2007 | Microsoft Technology Licensing, LLC | Bitstream syntax for multi-process audio decoding |
8805696, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Quality improvement techniques in an audio encoder |
9026452, | Jun 29 2007 | Microsoft Technology Licensing, LLC | Bitstream syntax for multi-process audio decoding |
9105271, | Jan 20 2006 | Microsoft Technology Licensing, LLC | Complex-transform channel coding with extended-band frequency coding |
9305558, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Multi-channel audio encoding/decoding with parametric compression/decompression and weight factors |
9349376, | Jun 29 2007 | Microsoft Technology Licensing, LLC | Bitstream syntax for multi-process audio decoding |
9443525, | Dec 14 2001 | Microsoft Technology Licensing, LLC | Quality improvement techniques in an audio encoder |
9558785, | Apr 05 2013 | DTS, INC | Layered audio coding and transmission |
9613660, | Apr 05 2013 | DTS, INC | Layered audio reconstruction system |
9721575, | Mar 09 2011 | DTS, INC | System for dynamically creating and rendering audio objects |
9741354, | Jun 29 2007 | Microsoft Technology Licensing, LLC | Bitstream syntax for multi-process audio decoding |
9837123, | Apr 05 2013 | DTS, Inc. | Layered audio reconstruction system |
Patent | Priority | Assignee | Title |
5040217, | Oct 18 1989 | AMERICAN TELEPHONE AND TELEGRAPH COMPANY, A CORP OF NY | Perceptual coding of audio signals |
5627938, | Mar 02 1992 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Rate loop processor for perceptual encoder/decoder |
5649052, | Jan 18 1994 | Daewoo Electronics Co Ltd. | Adaptive digital audio encoding system |
5777992, | Jun 02 1989 | TDF SAS | Decoder for decoding and encoded digital signal and a receiver comprising the decoder |
5848387, | Oct 26 1995 | Sony Corporation | Perceptual speech coding using prediction residuals, having harmonic magnitude codebook for voiced and waveform codebook for unvoiced frames |
5956674, | Dec 01 1995 | DTS, INC | Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels |
5974380, | Dec 01 1995 | DTS, INC | Multi-channel audio decoder |
5999899, | Jun 19 1997 | LONGSAND LIMITED | Low bit rate audio coder and decoder operating in a transform domain using vector quantization |
6098039, | Feb 18 1998 | Fujitsu Limited | Audio encoding apparatus which splits a signal, allocates and transmits bits, and quantitizes the signal based on bits |
6108372, | Oct 30 1996 | Qualcomm Inc.; Qualcomm Incorporated | Method and apparatus for decoding variable rate data using hypothesis testing to determine data rate |
JP10035876, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 04 2000 | Agere Systems Inc. | (assignment on the face of the patent) | / | |||
Mar 03 2000 | FALLER, CHRISTOF | Lucent Technologies Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010695 | /0294 | |
May 06 2014 | LSI Corporation | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 032856 | /0031 | |
May 06 2014 | Agere Systems LLC | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 032856 | /0031 | |
Aug 04 2014 | Agere Systems LLC | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 035365 | /0634 | |
Feb 01 2016 | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | Agere Systems LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RELEASES RF 032856-0031 | 037684 | /0039 | |
Feb 01 2016 | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | LSI Corporation | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RELEASES RF 032856-0031 | 037684 | /0039 | |
Feb 01 2016 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | BANK OF AMERICA, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 037808 | /0001 | |
Jan 19 2017 | BANK OF AMERICA, N A , AS COLLATERAL AGENT | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 041710 | /0001 | |
May 09 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | MERGER SEE DOCUMENT FOR DETAILS | 047195 | /0026 | |
Sep 05 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED ON REEL 047195 FRAME 0026 ASSIGNOR S HEREBY CONFIRMS THE MERGER | 047477 | /0423 |
Date | Maintenance Fee Events |
Jun 15 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 16 2010 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 28 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 24 2005 | 4 years fee payment window open |
Jun 24 2006 | 6 months grace period start (w surcharge) |
Dec 24 2006 | patent expiry (for year 4) |
Dec 24 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 24 2009 | 8 years fee payment window open |
Jun 24 2010 | 6 months grace period start (w surcharge) |
Dec 24 2010 | patent expiry (for year 8) |
Dec 24 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 24 2013 | 12 years fee payment window open |
Jun 24 2014 | 6 months grace period start (w surcharge) |
Dec 24 2014 | patent expiry (for year 12) |
Dec 24 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |