WO1995006984A1 - Sub-band coder with differentially encoded scale factors - Google Patents

Sub-band coder with differentially encoded scale factors Download PDF

Info

Publication number
WO1995006984A1
WO1995006984A1 PCT/US1994/009736 US9409736W WO9506984A1 WO 1995006984 A1 WO1995006984 A1 WO 1995006984A1 US 9409736 W US9409736 W US 9409736W WO 9506984 A1 WO9506984 A1 WO 9506984A1
Authority
WO
WIPO (PCT)
Prior art keywords
scaling factors
scaling
scaled
subband
block
Prior art date
Application number
PCT/US1994/009736
Other languages
French (fr)
Inventor
Craig Campbell Todd
Original Assignee
Dolby Laboratories Licensing Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolby Laboratories Licensing Corporation filed Critical Dolby Laboratories Licensing Corporation
Priority to AU76765/94A priority Critical patent/AU685505B2/en
Priority to JP50821395A priority patent/JP3940165B2/en
Priority to CA002167527A priority patent/CA2167527C/en
Priority to DE69401517T priority patent/DE69401517T2/en
Priority to EP94927268A priority patent/EP0716787B1/en
Publication of WO1995006984A1 publication Critical patent/WO1995006984A1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/667Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using a division in frequency subbands

Definitions

  • the invention relates in general to low bit-rate encoding and decoding of information. More particularly, the invention relates to encoding the spectral envelope of one or more channels of information such as audio or video information.
  • Digital signals comprising signal samples encoded with fewer binary bits impose lower transmission information capacity requirements than digital signals encoded using a greater number of bits to represent the signal. Of course, there are limits to the amount of reduction which can be realized without degrading the perceived signal quality.
  • the number of bits available for representing each signal sample establishes the accuracy of the signal representation by the encoded signal samples.
  • Lower bit rates mean that fewer bits are available to represent each sample; therefore, lower bit rates imply greater quantizing inaccuracies or quantizing errors.
  • quantizing errors are manifested as quantizing noise, and if the errors are of sufficient magnitude, the quantizing noise will degrade the subjective quality of the encoded signal.
  • split-band Coding Various "split-band" coding techniques attempt to reduce information requirements without any perceptible degradation by exploiting various psycho-perceptual effects.
  • the human auditory system displays frequency-analysis properties resembling those of highly asymmetrical tuned filters having variable center frequencies and bandwidths that vary as a function of the center frequency.
  • the ability of the human auditory system to detect distinct tones generally increases as the difference in frequency between the tones increases; however, the resolving ability of the human auditory system remains substantially constant for frequency differences less than the bandwidth of the above mentioned filters.
  • the frequency-resolving ability of the human auditory system varies according to the bandwidth of these filters throughout the audio spectrum.
  • the effective bandwidth of such an auditory filter is referred to as a "critical bandwidth.”
  • a dominant signal is more likely to mask the audibility of other signals anywhere within a critical bandwidth than it is likely to mask other signals at frequencies outside that critical bandwidth. See generally, the Audio Engineering
  • Audio split-band coding techniques which divide the useful signal bandwidth into frequency bands with bandwidths no wider than the critical bandwidths of the human auditory system can better exploit psychoacoustic effects than wider band techniques.
  • Such digital split-band coding techniques comprise dividing the signal bandwidth with a filter bank, quantizing the signal passed by each filter band using just enough bits to render quantizing noise inaudible, and reconstructing a replica of the original signal with an inverse filter bank.
  • Two such techniques are subband coding and transform coding.
  • Subband and transform encoders can reduce transmitted information in particular frequency bands where the resulting quantizing noise is psychoacoustically masked by neighboring spectral components without degrading the subjective quality of the encoded signal.
  • Subband encoders may use various analog and/or digital techniques to implement a filter bank.
  • an input signal comprising signal samples is passed through a bank of digital filters and each "subband signal" passed by a respective filter in the filter bank is downsampled according to the bandwidth of that subband 's filter.
  • Each subband signal comprises samples which represent a portion of the input signal spectrum.
  • Digital subband decoders recover a replica of the input signal by upsampling the downsampled subband signals and merging the upsampled subband signals into an output signal. This process is one example of a signal synthesis process referred to herein as the application of an inverse filter bank.
  • Digital coding techniques may be used with analog filter banks by sampling and quantizing the subband signals passed by the filter bank.
  • Transform encoders may use any of various so-called time-domain to frequency- domain transforms to implement a bank of digital filters.
  • An input signal comprising signal samples is segmented into "signal sample blocks" prior to filtering.
  • Individual coefficients obtained from the transform, or two or more adjacent coefficients grouped together, define "subbands" having effective bandwidths which are sums of individual transform coefficient bandwidths.
  • Transform decoders recover a replica of the input signal by applying to the transform coefficients an inverse filter bank implemented by complementary inverse transforms or so-called frequency-domain to time-domain transforms.
  • split-band coding refers to subband encoding and decoding, transform encoding and decoding, and other encoding and decoding techniques which operate upon portions of the useful signal bandwidth.
  • subband refers to these portions of the useful signal bandwidth, whether implemented by a true subband coder, a transform coder, or other technique.
  • subband signal refers to the split-band filtered representation of the spectral energy within a respective subband.
  • subband signal block refers to the subband signals for all subbands across the useful signal bandwidth within a given interval or block of time.
  • a subband signal block For subband coders implemented by a digital filter bank, a subband signal block comprises the set of samples for all subband signals over a given time interval. For transform coders, a subband signal block comprises the set of all transform coefficients corresponding to a signal sample block.
  • many split-band encoders utilizing psychoacoustic principles provide high-quality encoding at low bit rates by applying a filter bank to an input signal to generate subband signals, quantizing each subband signal using a number of bits allocated to that signal such that resulting quantizing noise is inaudible due to psychoacoustic masking effects, and assembling the quantized information into a form suitable for transmission or storage.
  • a complementary split-band decoder recovers a replica of the original input signal by extracting quantized information from an encoded signal, dequantizing the quantized information to obtain subband signals, and applying an inverse filter bank to the subband signals to generate the replica of the original input signal.
  • split-band audio coding pertains more generally to coding applications which reduce encoded signal information requirements by exploiting signal irrelevancy and redundancy.
  • Signal irrelevancy pertains to signal components which are not needed to achieve a desired level of coding performance such as, for example, perceived fidelity of an encoded signal.
  • Signal redundancy pertains to signal components which can be recreated from other signal components.
  • Split-band audio coding and split-band video coding using psycho-perceptual effects are only two examples of coding applications to which the principles and concepts discussed herein apply. Many split-band coders convey subband signals using a "scaled representation" to extend the dynamic range of encoded information represented by a limited number of bits.
  • a scaled representation comprises one or more "scaling factors" associated with “scaled values” corresponding to elements of the encoded subband signals. Many forms of scaled representation are known. By sacrificing some accuracy in the scaled values, even fewer bits may be used to convey information using a "block-scaled representation.”
  • a block- scaled representation comprises a group or block of scaled values associated with a common scaling factor.
  • a "forward- adaptive” encoder passes explicit allocation information or "side information” to a decoder.
  • a “backward-adaptive” encoder passes implicit rather than explicit allocation information, allowing a decoder to determine allocation information from the encoded signal itself.
  • backward-adaptive encoders pass implicit allocation information in the form of an estimate of the spectral shape of the information represented by the encoded signal. The estimate often comprises block scaling factors corresponding to frequency subbands.
  • a backward-adaptive audio encoder prepares a piecewise-linear estimate of the input signal spectral envelope, establishes allocation information by applying an allocation function to the envelope estimate, scales blocks of audio information using elements of the envelope estimate as scaling factors, quantizes the scaled audio information according to the established allocation information, and assembles the quantized information and the envelope estimate into an encoded signal.
  • a backward- adaptive decoder extracts the envelope estimate and quantized information from the encoded signal, establishes allocation information by applying to the envelope estimate the same allocation function as that used by the encoder, dequantizes the quantized information, and reverses the scaling of the audio information.
  • a filter bank splits an input signal into a plurality of subband signals
  • a sealer generates scaled representations of the subband signals comprising scaling factors and scaled values
  • a differentiator generates a differential coded representation of the scaling factors
  • a formatter assembles the scaled values and scaling factor information comprising the differential coded representation into an encoded signal having a format suitable for transmission or storage.
  • the differential coded representation comprises scaling factor differentials across the input signal bandwidth.
  • the sealer In a variation of the encoder embodiment just described, the sealer generates scaled representations comprising scaling factors having values which are adjusted when necessary to restrict the range of differentials between scaling factors. In another variation, the sealer determines whether the information requirements of the encoded signal can be reduced by using a previous set of scaling factors to generate the scaled representation. When the information requirements can be reduced, the sealer generates scaled representations using the previous scaling factors; the differentiator does not need to generate the differential coded representation because the formatter assembles into an encoded signal scaling factor information comprising a "reuse indicator" instead of a differential coded representation.
  • a deformatter extracts from an encoded signal a plurality of scaled values and scaling factor information comprising a differential coded representation of scaling factors, an integrator generates scaled representations in response to the extracted scaled values and the differential coded representation, an inverse sealer generates subband signals in response to the scaled representations, and an inverse filter bank generates an output signal in response to the subband signals.
  • the deformatter extracts scaling factor information comprising a reuse indicator from the encoded signal.
  • the integrator does not need to generate the scaled representations because the inverse sealer generates subband signals from the scaled values using the scaling factors derived previously from the encoded signal.
  • Figure 1 is a block diagram illustrating one embodiment of a split-band encoder incorporating various aspects of the present invention.
  • Figure 2 is a block diagram illustrating one embodiment of a split-band decoder incorporating various aspects of the present invention.
  • Figure 3 is a block diagram illustrating another embodiment of a split-band encoder incorporating various aspects of the present invention.
  • Figure 4 is a block diagram illustrating another embodiment of a split-band decoder incorporating various aspects of the present invention.
  • Figure 5 is a hypothetical graphical representation of differential coded scaling factors.
  • Figure 6 is a hypothetical graphical representation of scaling factors and corresponding adjusted values which restrict the range of differentials.
  • Figures 7-10 are hypothetical graphical representations of scaling factors and corresponding adjusted values according to various differential coding modes.
  • Figure 11 is a hypothetical graphical representation of subband signal components illustrating some effects of block scaling.
  • FIG. 1 illustrates one embodiment of a split-band encoder incorporating various aspects of the present invention.
  • Filterbank 102 generates subband signals in response to an input signal received from path 100.
  • Sealer 104 generates a scaled representation of the subband signals received from filterbank 102; the scaled representation comprises scaling factors associated with one or more scaled values.
  • Differentiator 106 generates a differential coded representation of the scaling factors and passes the differential coded representation and the scaled values to formatter 108.
  • Formatter 108 generates along path 110 an encoded signal which comprises the scaled values and the differential coded representation.
  • Figure 3 illustrates another embodiment of a split-band encoder which is similar in structure to the embodiment illustrated in Figure 1.
  • sealer 304 passes some but not all scaling factors to differentiator 306.
  • the remaining scaling factors are passed along path 312 to formatter 308. It is a matter of mere design choice whether a particular encoder implementation passes the scaled values to deformatter 308 along path 312, through differentiator 306, and/or along another path not shown.
  • Formatter 308 generates an encoded signal comprising the scaled values, the differential coded representation, and the scaling factors not included in the differential coded representation.
  • FIG. 2 illustrates one embodiment of a split-band decoder incorporating various aspects of the present invention.
  • Deformatter 202 extracts scaled values and a differential coded representation of scaling factors from an encoded signal received from path 200.
  • Integrator 204 generates a scaled representation of subband signals comprising scaling factors associated with one or more scaled values; the scaling factors are generated in response to the differential coded representation received from deformatter 202.
  • Inverse sealer 206 generates subband signals in response to the scaled representation received from integrator 204.
  • Filterbank 208 generates along path 210 an output signal by applying an inverse filter bank to the subband signals received from inverse sealer 206.
  • Figure 4 illustrates another embodiment of a split-band decoder which is similar in structure to the embodiment illustrated in Figure 2.
  • deformatter 402 extracts scaled values, a differential coded representation, and scaling factors not included in the differential coded representation from an encoded signal received from path 400.
  • the differential coded representation is passed to integrator 404.
  • the scaling factors not included in the differential coded representation are passed along path 412 to inverse sealer 406. It is a matter of mere design choice whether a particular decoder implementation passes the scaled values to inverse sealer 406 along path 412, through integrator 404, and/or along another path not shown.
  • the diagrams shown in Figures 1 and 3 illustrate basic structures for an encoder incorporating various aspects of the present invention. They do not expressly show any coding component which reduces the information requirements of the encoded signal.
  • a component employing various coding techniques may exploit psychoacoustic principles to minimize the audible effects of reducing the information requirements of the encoded signal.
  • the present invention is well suited for use with coding components such as those used in many audio coding and video coding applications, but such a coding component is not required to practice the present invention.
  • Information reduction coding may be incorporated into the embodiment illustrated in Figure 1 in many ways.
  • the coding function may be performed within any one, or within any combination of filterbank 102, sealer 104, differentiator 106 and formatter 108.
  • the coding process may be performed by a component not shown which incorporates sealer 104 and differentiator 106. Similar examples also apply to the embodiment illustrated in Figure 3.
  • Figures 2 and 4 illustrate basic structures for a decoder incorporating various aspects of the present invention. They do not expressly show any decoding component which reverses the effects of a process which reduced information requirements of the encoded signal.
  • Information reduction decoding may be incorporated into the embodiment illustrated in Figure 2 in many ways.
  • the decoding function may be performed within any one, or within any combination of deformatter 202, integrator 204, inverse sealer 206 and inverse filterbank 208.
  • the decoding process may be performed by a component not shown which incorporates integrator 204 and inverse sealer 206. Similar examples also apply to the embodiment illustrated in Figure 4.
  • Filterbank Various digital and analog techniques may be used to implement the encoder filter bank. If analog techniques are used, the subband signals passed by the encoder filterbank may be sampled and quantized to obtain digital signals for subsequent coding operations. No particular technique is critical to the practice of the present invention but digital techniques may often be implemented less expensively.
  • Digital techniques include nonrecursive or so-called Finite Impulse Response (FIR) filters and recursive or so-called Infinite Impulse Response (IIR) filters. See generally, Hamming, Digital Filters. Englewood Cliffs, NJ, 1989, pp. 124-270.
  • FIR filters may be implemented using techniques such as polynomial filters or transforms such as the Fourier transform. Examples of specific filter designs include various Fourier transforms such as the Discrete Fourier Transform (DFT) and Discrete Cosine Transform (DCT), the Quadrature Mirror Filter (QMF) which is discussed in Esteban and Galand, "Application of Quadrature Mirror Filters to Split Band Voice Coding Schemes," Proc. ICASSP. May 1977, pp.
  • DFT Discrete Fourier Transform
  • DCT Discrete Cosine Transform
  • QMF Quadrature Mirror Filter
  • TDAC Time-Domain Aliasing Cancellation
  • subbands with bandwidths commensurate with the critical bandwidths allows greater exploitation of psychoacoustic effects than does wider band techniques, application of the teachings of the present invention are not so limited.
  • the term "subband” and the like as used herein should be understood as one or more frequency bands within the useful bandwidth of an input signal.
  • split-band coders use a scaled representation to extend the dynamic range of encoded information represented by a limited number of bits.
  • the scaling factors themselves also provide a basis from which an estimate of the spectral envelope may be obtained.
  • the estimated spectral envelope may be used in backward-adaptive coding systems to convey adaptive bit allocation information.
  • a split-band encoder which forms an estimate of the spectral envelope from scaling factors may use a combination of individual and block scaling.
  • a scaled representation may use scaling factors associated with individual scaled values to represent low-frequency subband signals because the critical bandwidths for low frequencies are narrow, and use scaling factors associated with a block of two or more scaled values to represent high-frequency subband signals because the critical bandwidths for high frequencies are wider.
  • Block scaling in accordance with critical bandwidths is attractive in many low bit- rate coding systems because fewer scaling factors are required to convey the allocation information as compared to individual scaling. Block scaling reduces the information requirement of the scaling factors in an encoded signal, but it also reduces the resolution of the estimated spectral envelope and tends to increase the information requirements of the scaled values. This effect is discussed in more detail below.
  • floating ⁇ point comprises an exponent (the scaling factor) and a mantissa (the scaled value).
  • exponent represents the power of two of a multiplier used to "normalize" the mantissa, or scale the magnitude of the mantissa into a range between 0.5 and 1.0; a multiplier with the reciprocal power of two is used to obtain the true quantity from the normalized mantissa.
  • a 7-bit floating-point number which comprises a 4-bit exponent equal to 3 and a normalized 3-bit mantissa in two's complement form expressing a scaled value equal to 0.75, represents the quantity 0.75 x 2 3 or 0.09375.
  • the exponent is used to scale the mantissa, thereby increasing the range of quantities which can be represented by a limited number of bits.
  • block-scaled representation is commonly known as block-floating ⁇ point (BFP) which comprises a block of mantissas (the scaled values) associated with a common exponent (the block scaling factor).
  • BFP block-floating ⁇ point
  • the block exponent represents the power of two of a multiplier which normalizes the mantissa corresponding to the quantity having the greatest magnitude in the block.
  • the other mantissas in the block are scaled according to the block exponent and may not be normalized because they may have scaled values with magnitudes less than 0.5.
  • a BFP representation comprising a 4-bit block exponent, which is equal to 4, associated with three scaled 3-bit mantissas, which are equal to 0.5, 0.75 and -0.25, represents the numeric quantities 0.03125, 0.046875 and -0.015625.
  • a block-scaled representation comprises a block of scaled values associated with a linear multiplier (the block scaling factor).
  • the block multiplier is equal to the magnitude of the largest quantity in the block and the quantities in the block are scaled by dividing each quantity by the scaling factor.
  • the true quantities are obtained by multiplying each scaled value by the scaling factor.
  • three scaled values, which are equal to -0.75, 1.00 and 0.50, associated with a block multiplier, which is equal to 0.1875 represent the quantities -0.140625 (-0.75 x 0.1875), 0.1875 and 0.09375, respectively.
  • An embodiment of an encoder incorporating various aspects of the present invention may use any of a wide variety of scaling functions S(q).
  • the scaling function S(q) may be linear, logarithmic, or trigonometric; however, the scaling function should provide for a complementary inverse scaling function S " "(g) which can be applied in the decoder to recover an approximation of the true quantities from the scaled values.
  • Various design criteria for a particular encoder/decoder application will often influence the choice of the scaling function.
  • backward-adaptive split-band coding systems may use exponents in a floating-point representation similar to that discussed above to implicitly convey bit allocations made according to subband signal amplitude.
  • a unit increase in exponent value represents an approximate decrease in amplitude of one-half or a change of -6 dB (20 log ⁇ 0 0.5) for the quantity represented by the floating-point number; therefore, such a floating-point representation may be a good design choice for backward-adaptive coding systems which allocate one additional bit for an increase in amplitude of 6 dB or some multiple such as 18 dB.
  • Differentiator generates a differential coded representation of one or more of the scaling factors by establishing the difference between scaling factors across the spectrum.
  • Figure 5 illustrates two sets of points representing two sets of hypothetical values.
  • the points connected by broken line 502 represent a set of scaling factors such as floating-point exponents, for example, for subband signals in a subband signal block.
  • the exponents X t are plotted on the graph as negative numbers so that larger values correspond to larger amplitude signals.
  • exponent X 0 has a value of 8 but is plotted as -8
  • exponent X has a value of 7 but is plotted as -7.
  • the points connected by broken line 504 represent the difference between successive exponents.
  • the first point ⁇ having a value of one indicates that exponent X ] is one larger than exponent X 0 .
  • the third point ⁇ 3 having a value of negative two indicates that exponent X 3 is two less than exponent X 2 .
  • Many variations in the process for generating the differential coded representation are possible.
  • the differential function £>( ) may be linear, logarithmic, or trigonometric; however, the differential function should provide for a complementary integral function D ⁇ (j) which can be applied in the decoder to recover the scaling factors from the differential coded representation.
  • the differential function D(i) X t - X,_, is a linear function but, because of the nature of floating-point exponents, the differential varies approximately as the exponential of the underlying signal amplitude.
  • a particular embodiment of an encoder may apply the differential function to all scaling factors, or it may apply the function only to scaling factors associated with adaptively selected subband signals.
  • the adaptive selection may be made so as to obtain an optimum reduction in the information requirements of the encoded signal. For example, referring to Figure 5, more bits may be required to convey a differential coded representation of exponents X, 3 to X 20 than would be required to convey the exponents themselves. In this instance, an encoder could select only exponents Xi to X 12 for differential coding and pass an indication of this selection in the encoded signal.
  • the differential function need not distinguish between block scaling factors and scaling factors associated with a single scaled value. In other embodiments such as some of those discussed below which adapt the differential function to achieve the greatest possible reduction in information requirements, the distinction may be important.
  • the formatting process generates an encoded signal by assembling the scaled values, differential coded representation, a base value, and possibly one or more scaling values into a form which is suitable for transmission or storage.
  • One scaling factor can serve as the base value from which the relative values in the differential coded representation are determined.
  • additional information such as error detection/correction codes (EDC), frame synchronization codes, and/or database retrieval keys are also assembled into the encoded signal.
  • EDC error detection/correction codes
  • frame synchronization codes and/or database retrieval keys
  • Deformatter The deformatter, reverses the effects of the formatting process by extracting scaled values, a differential coded representation, a base value, and possibly one or more scaling factors from an encoded signal.
  • EDC and frame synchronization codes are used to correctly interpret the received encoded signal and, where possible, to detect and correct errors introduced during transmission or storage/retrieval.
  • the defor atting process used in a particular embodiment is not critical to the practice of the present invention.
  • Integrator is a complementary function to that used to generate the differential coded representation in the encoder.
  • a scaling factor may be recovered from the differential coded representation and a base value using the relation
  • X 0 the base value.
  • the inverse scaling function is a complementary function to that used to obtain the scaled representation in the encoder.
  • a normalized 3-bit mantissa equal to 0.11 2 represents the scaled value 0.75 in two's complement form.
  • the true quantity represented by this normalized mantissa, associated with an exponent having a value equal to 3, is 0.75 x 2 3 or 0.09375.
  • inverse scaling may be implemented by logically shifting the bits of the binary mantissa to the right a number times equal to the value of the exponent.
  • the inverse scaling process for BFP representations is similar.
  • Differential Range Information requirements of the encoded signal may sometimes be reduced by limiting the range of the differentials generated by the differential function D(i).
  • quantities are represented by floating-point numbers comprising 4-bit exponents. Two quantities expressed in this representation have exponents which may differ by an amount in the range from -15 to 15.
  • a conventional binary representation of a differential with this range requires five bits, but only four bits are required to convey the exponents themselves.
  • the differential between exponents of successive floating-point numbers can be restricted to any arbitrary range.
  • Differentials can be restricted by adjusting the exponent of the smaller magnitude quantity and scaling the associated mantissa accordingly.
  • This process is described below using the notation ⁇ 0.nnn 2 E xx to represent a binary fraction mantissa +0.wr ⁇ 2 in two's complement form associated with a decimal exponent xx.
  • a successive quantity Q 2 - 0.001953125 may be expressed as the floating-point number +0.1 2 E 8.
  • the exponent differential between the two quantities is +5.
  • the exponent differential is reduced to + 1.
  • Figure 6 illustrates the results of adjusting exponents to restrict the differentials to the range from -2 to 2.
  • the circles represent the values of exponents before adjustment and are the same as those shown in Figure 5.
  • the squares represent the values of exponents after adjustment. No adjustment is required for exponents X, to X 3 because the corresponding differentials ⁇ j to ⁇ 3 are already within the restricted range from -2 to 2.
  • the exponent X 4 is adjusted to a new value represented by square 602 to reduce the magnitude of the original differential ⁇ 4 from -3 to -2. Similar adjustments are also made to exponents X g , X, 0 , X n , X I5 , X 16 and X, 8 .
  • Exponent X J3 is also adjusted but this adjustment is influenced by two considerations. First, an initial adjustment to the exponent reduces the magnitude of the original differential ⁇ 13 between exponents X ]2 and X I3 from -6 to -2. The exponent value which results from this adjustment is represented by cross symbol 604, Second, an additional adjustment is required because the remaining differential ⁇ , 4 between exponents X, 3 and X H is too large. This additional adjustment reduces the remaining differential from 4-6 to + 2. The exponent value X, 3 which results from the second adjustment is represented by square 606. The resulting differential ⁇ 13 between exponents X 12 and X, 3 is +2, therefore no further adjustments are required.
  • exponent X, 2 would be increased to reduce the differential. If exponent X, 2 was increased, then the differential between exponents X u and X 12 would be examined to determine if further adjustments to exponent X n were required to ensure the differential is not too large. These further adjustments would be made to each preceding exponent until either the preceding differential is not too large or the first exponent X 0 is processed.
  • the following program fragment represents one way in which the adjustments may be carried out. A wide variety of alternative ways are possible. (01) for / from 1 to 20
  • Line (05) determines whether the differential ⁇ ,- is within the restricted range. If it is, line (04) advances the index i to the next differential and reiterates the process performed in lines (05) to (21) until all differentials have been processed. If line (05) determines that differential ⁇ ,- is not within the restricted range, then an adjustment to one or more exponents is needed. Line (06) determines whether the differential is too large or too small. If the differential is too small, lines (07) to (10) make the needed adjustments, otherwise lines (12) to (18) make the needed adjustments.
  • line (07) determines the amount by which the exponent X,- must be increased to obtain a differential equal to -2.
  • the variable k is set equal to this amount.
  • Line (08) increases the exponent X, by the amount A'.
  • Line (09) sets the differential ⁇ ,- equal to -2 and line (10) decreases the differential ⁇ I+ , for the following exponent by the amount k.
  • line (12) sets variable; equal to the current value of index .
  • Line (13) reiterates the process performed in lines (14) to (18) until encountering a differential which is less than 2 or until the variable; becomes equal to zero.
  • Line (14) determines the amount by which the previous exponent X j must be increased to obtain a differential equal to 2.
  • the variable k is set equal to this amount.
  • Line (15) increases exponent X,-., by the amount k.
  • Line (16) sets the differential A j equal to 2 and line (17) increases the differential A j ⁇ for the previous exponent by the amount k.
  • Line (18) decrements the variable; to point to the previous differential and exponent.
  • Line (15) will adjust the value of exponent X 0 if the differential ⁇ , between exponents X 0 and X, is too large, but line (17) need not attempt to adjust the value of differential because this differential is not defined.
  • Restricting exponent differentials may reduce the number of bits required to convey the differentials, but it also may increase the number of bits required to convey mantissas with a given level of accuracy. Referring to the example discussed above, by adjusting the exponent of Q 2 from 8 to 4, the number of bits required to express the mantissa with the same accuracy increases by four. Restricting the differential to the range from -1 to 1 saves two bits to convey the differential, but four additional bits are required to convey associated mantissas with the same accuracy.
  • FIG. 7 which is similar to that in Figure 6, shows the results of adjusting exponents to restrict differentials to the range from -2 to 2.
  • the circles represent the values of the exponents before adjustment and the squares represent the values of the modified exponents after adjustment.
  • the broken line connecting the circles is a more accurate representation of the spectral envelope than is the broken line connecting the squares, fewer bits are required to convey the restricted differentials of the adjusted exponents.
  • a conventional binary representation for example, four bits are required to represent each unadjusted exponent but only three bits are required to represent each restricted differential for the adjusted exponents. This results in a savings of 20 bits for the twenty exponents.
  • the shaded area illustrated in Figure 7 between the two broken lines is a rough measure of the additional bits required to convey floating-point mantissas associated with the adjusted exponents with the same level of accuracy as that conveyed by mantissas associated with the exponents before adjustment. For example, one additional bit is required for each mantissa associated with exponent X 3 and three additional bits are required for each mantissa associated with exponent X 4 .
  • the sum of the differences between the adjusted and respective unadjusted exponents for the example shown in Figure 7 is equal to 23.
  • This mode of differential coding is referred to herein as D15.
  • the one indicates that one scaled value is associated with one scaling factor.
  • the five indicates that the scaling factor differentials are restricted so that they may assume one of only five states.
  • the five states are the five integers in the range from -2 to 2.
  • the D 15 coding mode is not able to achieve a reduction in information requirements because the number of bits saved to convey the restricted differentials is less than the number of additional bits required to preserve mantissa accuracy. Eighty bits are required to convey twenty 4-bit exponents.
  • a block-by-block figure of merit for the D 15 mode of coding the exponents shown in Figure 5, as well as for the other coding modes discussed below, is expressed in terms of the net number of bits saved relative to the number of bits required to code twenty floating-point numbers comprising 4-bit exponents.
  • Figure 8 is a graphical illustration similar to that shown in Figure 7.
  • the squares represent adjusted exponent values which restrict differentials to the range from -1 to 1. Only two bits are required to convey each differential in a conventional binary representation; therefore, these adjustments result in a savings of 40 bits to convey twenty restricted differentials as compared to twenty exponents.
  • the sum of the differences between the adjusted and respective unadjusted exponents for the example shown in Figure 8 is equal to 45. Assuming each exponent is associated with one mantissa, restricting the differentials to the range from -1 to 1 allows the twenty floating-point numbers to be conveyed with a given level of accuracy using 5 fewer bits than is required to convey the numbers using the restricted differentials.
  • This mode of differential coding is referred to herein as D13 because the scaling factor differentials are restricted to three states.
  • asymmetric ranges may also be used.
  • a four-state D14 coding mode could restrict differentials to the range from -1 to 2.
  • a D15 coding mode could restrict differentials to the range from -1 to 3. If asymmetric ranges are used in audio coding systems, for example, it is generally preferable to allow for larger positive differentials because most audio signals comprise larger and more rapid increases in amplitude than decreases, and because coding errors are more tolerable for large decreases in amplitude rather than large increases due to temporal psychoacoustic masking effects.
  • Differential Code Packing is generally preferable to allow for larger positive differentials because most audio signals comprise larger and more rapid increases in amplitude than decreases, and because coding errors are more tolerable for large decreases in amplitude rather than large increases due to temporal psychoacoustic masking effects.
  • a conventional binary representation is not an efficient way to convey differentials.
  • differentials which are limited to the range from -1 to 1 can be conveyed by a conventional binary representation of only two bits; however, this representation is inefficient.
  • the range from -1 to 1 comprises only the three distinct integer values -1, 0 and 1, but two binary bits are capable of expressing four distinct integer values.
  • a fractional part of a bit is wasted if two bits are used to convey a differential which can assume only one of three values. Fractional bits can be reclaimed by packing multiple differentials together.
  • mapping function M ⁇ maps each possible differential value to an integer within the range from 0 to N-l, and then to perform the packing operation by computing the polynomial n
  • each five-state differential can be conveyed by approximately 2.33 bits.
  • each three-state differential can be conveyed by approximately 1.67 bits.
  • approximately 33.33 bits are required to convey twenty packed differentials using the D 13 coding mode as opposed to 80 bits which are required to convey the exponents themselves, but 45 additional bits are required to preserve mantissa accuracy.
  • D13 coding with code packing achieves a net savings of approximately 1.67 bits.
  • the D15 coding mode is able to reduce the information requirements to a greater extent than the D13 coding mode. This will not be true in all instances.
  • a "lower" differential coding mode such as D13 will be more effective in reducing information requirements than a "higher” mode such as D15 for signals having flatter spectral shapes.
  • Any number of differentials may be packed by using a polynomial of appropriate length, but a three- term polynomial was used for each of the previous examples because the packing is reasonably efficient. Although packing efficiency will tend to increase as the number of polynomial terms increases, the number of terms is restricted in practical embodiments because the resulting packed representation would otherwise become excessively long and more difficult to process. The following discussion of various embodiments assumes that a three- term polynomial is used.
  • Code packing in general is not perfectly efficient.
  • the 7-bit representation of three 5-state differentials is only about 98% efficient because only 125 of the 128 total possible states that can be represented by 7 bits are needed to convey the three differentials.
  • the remaining 3 "unused" states are wasted unless they are used for something else.
  • these unused states may be used to represent scaling factor differentials which fall outside the restricted range but which occur frequently enough to deserve special treatment.
  • Several other uses for these otherwise unused states are suggested below.
  • Block Scaling Block scaling techniques may sometimes be used to further reduce information requirements of the encoded signal.
  • Figures 9 and 10 which are similar to Figures 7, illustrate the effects of one example of block scaling upon differential coding.
  • the squares represent adjusted exponent values which restrict differentials to the range from -2 to 2, but the values of adjusted exponents are further constrained to equal the largest exponent in a block. Because the exponents in each block are equal, information requirements can be reduced by encoding only one exponent from each block.
  • exponents are grouped into blocks of two exponents.
  • exponent Xi is adjusted so that it is equal to exponent X 2 which is the largest exponent in the block.
  • exponent X 10 is adjusted to equal exponent X 9 .
  • This differential coding is one example of a mode of coding referred to herein as D25. The two indicates that two scaled values are associated with each scaling factor. The five indicates that the scaling factor differentials are restricted so that they may assume one of only five states.
  • the exponents are grouped into blocks of four exponents.
  • This differential coding is one example of a mode of coding referred to herein as D45.
  • the four indicates that four scaled values are associated with each scaling factor. Because only five differentials are coded, approximately 11.67 bits can convey the differentials using the D45 coding mode with code packing. By referring to the shaded area in Figure 10, however, it can be determined that 67 additional bits are required to preserve mantissa accuracy. As a result, D45 coding achieves a net savings of approximately 1.33 bits.
  • the D25 coding mode is able to reduce the information requirements to a greater extent than either the D13, the D15 or the D45 coding modes. This will not be true in all instances.
  • the D45 coding mode can reduce information requirements more than can the other coding modes.
  • no form of differential coding can reduce information requirements below that achieved by individual scaling.
  • a "broader" differential coding mode such as D45 will be more effective in reducing information requirements of an encoded signal than a "narrower" coding mode such as D15.
  • the D25 coding mode may use a five-state mapping function M(i) for a pair of exponent differentials ⁇ , and ⁇ I+1 such as that shown in Table I.
  • the D45 coding mode may use a five-state mapping function M(i) for four exponent differentials ⁇ ,- to ⁇ /+3 such as that shown in Table II.
  • mapping function may have significant effects upon coding performance, but the choice is not critical to practicing the concepts of the present invention.
  • split-band coding systems control quantizing noise by adaptively allocating bits to subband signals based upon block scaling factors.
  • transform coefficients are grouped into subbands and all coefficients within a subband are allocated the same number of bits based upon the magnitude of the largest coefficient within the subband.
  • each sample in a subband signal is allocated the same number of bits based upon the amplitude of the subband signal.
  • Figure 11 illustrates a hypothetical example of subband signal components resulting from a transform filter bank in which the circles represent individual scaling factors for each transform coefficient.
  • the scaling factors are assumed to be 4-bit exponents in the floating-point representation discussed above.
  • exponent X, lg which is associated with the largest magnitude component Q m in the illustrated subband, is the block scaling factor.
  • an allocation function establishes a masking threshold 1102 which is approximately 30 dB below the amplitude of the quantity Q m . Quantizing noise below this threshold is considered to be masked by the spectral energy within the subband.
  • the allocation function uses a simple 6 dB per bit rule, allocates six bits to each of the fourteen components in the subband. One of the six bits represents the sign of the quantity and the remaining five bits represent the magnitude of the quantity in two's complement form.
  • quantity Q n6 0.03125 which may be expressed as the floating-point number +0.1 2 E 4.
  • quantity Q 6 may be expressed as 4-0.00010 E 1.
  • the mantissa is not normalized, that is, it has a magnitude less than 0.5, because it is rescaled relative to the block scaling factor X .
  • the Q U6 mantissa is not normalized, the signal-to-noise ratio (SNR) between quantity Q m and the quantizing noise resulting from the allocation is only about 12 dB even though six bits are allocated to the mantissa. In spite of this reduced SNR, the quantizing noise is not audible because it is still under the masking threshold 1102.
  • bit allocation is not as efficient as it could be.
  • a normalized mantissa for Q m requires only three bits to achieve the 12 dB SNR necessary to mask the quantizing noise.
  • Three of the bits allocated to the Q 6 mantissa are not needed if the mantissa can be coded in normalized form, but this requires individual scaling. From this example, it can be seen that the information requirements of an encoded signal may be reduced by balancing the number of bits required to code individual scaling factors against the number of bits saved by more precise allocation to normalized mantissas.
  • the distance between the top of the shaded area and a point on the broken line along the bottom of the shaded area represents the number of mantissa bits which can be saved by coding normalized mantissas. For example, ten additional bits are required to code the Q n2 mantissa when it is scaled relative to the block scaling factor X n8 as opposed to the number of bits required to code the Q n2 mantissa when it is scaled relative to an individual scaling factor X 112 .
  • spectral components with exponents below threshold 1102 do not need to be coded because they will not be audible.
  • the spectral energy they represent will be masked by other spectral energy within the subband.
  • the mantissas associated with the quantities Q u2 to Q 4 and Q n2 to Q ns do not need to be allocated any bits. This results in a further reduction in the information requirements of the encoded signal.
  • an encoder which uses block scaling, five- state differential coding and the code packing discussed above will require approximately 2.33 bits to convey the block scaling factor and 84 bits to convey the fourteen 6-bit mantissas, for a total of approximately 86.33 bits.
  • an encoder which uses individual scaling, five-state differential coding and the code packing above will require approximately 32.67 bits to convey fourteen exponent differentials and 26 bits to convey the mantissas for the seven quantities above the masking threshold, for a total of approximately 58.67 bits.
  • the use of a higher-resolution spectral envelope realizes a net savings of approximately 27.67 bits for this particular subband signal.
  • An encoder can sometimes reduce the information requirements of the encoded signal by using scaling factors already known to the decoder.
  • One simple way in which this may be done is to encode subband signals using a set of scaling factors which was generated earlier, and pass in the encoded signal an indication to the decoder that it is to reuse the earlier set of scaling factors.
  • a set of scaling factors from any number of previous sets of scaling factors can be reused but the number is usually limited by practical considerations such as the amount of memory available to the encoder and decoder to store these sets, the information capacity available in the encoded signal to convey which scaling factors in which of the previous sets are to be reused, and the amount of processing required by the encoder to select from the sets.
  • Scaling factor reuse may not reduce informational requirements if the earlier scaling factors are significantly different from the current scaling factors. This situation is essentially the same as that discussed above for adjusting exponents to restrict the range of differentials.
  • the graphical illustration in Figure 7, for example, may be interpreted to represent the current scaling factors with the circles and to represent the earlier scaling factors with the squares. The difference between the two sets of scaling factors represents the need for additional bits to preserve the accuracy of the scaled values when reusing the earlier scaling factors.
  • the reuse indicator is a single bit which is always present in the encoded signal. When set to one, it indicates that new scaling factors are not present in the encoded signal and that the previous set of scaling factors is to be used by the decoder.
  • the encoder decides for each subband signal block whether to reuse the previous set of scaling factors. Scaling factors are reused whenever the number of additional bits required to preserve scaled value accuracy is less than the number of bits required to convey the current scaling factors and/or their differentials.
  • an additional 23 bits are required to preserve mantissa accuracy but approximately 46.67 bits are saved by reusing earlier scaling factors.
  • an additional 45 bits are required to preserve mantissa accuracy and only about 33.33 bits are saved by reusing the earlier scaling factors.
  • an additional 45 bits are required to preserve mantissa accuracy and only about 23.33 bits are saved by reusing the earlier scaling factors.
  • an additional 67 bits are required to preserve mantissa accuracy and only about 11.67 bits are saved by reusing the earlier scaling factors.
  • a broader coding mode may also reuse scaling factors previously generated for a narrower coding mode.
  • a D45 mode of coding may use a set of scaling factors previously used for D15 coding by selecting, for example, every fourth scaling factor in the set.
  • An encoder may also maximize scaling factor reuse by "looking ahead.”
  • an encoder examines a frame of two or more subband signal blocks and establishes a set of scaling actors which can be used to code a majority of blocks in the frame.
  • a set of "frame scaling factors" which best represents all or most of the blocks in the frame is encoded once in the frame and reused for blocks occurring later in the frame.
  • An isolated block in the frame which is not well represented by the frame scaling factors can be encoded using a special set of scaling factors. The isolated block also contains an indication that its scaling factors are to be used perhaps only one time, and that the frame scaling factors are to be used for subsequent blocks.
  • One simple technique which establishes frame scaling factors comprises calculating the scaling factor for each subband signal in each block in the frame, determining the value of the largest scaling factor for each respective subband across all the blocks in the frame, and constructing a set which comprises these largest scaling factors.
  • the blocks which are to be coded using a special set of scaling factors rather than the frame scaling factors are identified by using a block-by-block figure of merit similar to that discussed above.
  • An encoder may be able to reduce information requirements of an encoded signal by applying various coding methods to selected subbands. For example, an encoder may apply D25 coding to a relatively flat portion of the spectrum, apply D15 coding to a portion of the spectrum which is not as flat, not apply any differential coding for a portion of the spectrum in which the differentials are very large, and indicate the reuse of an earlier set of scaling factors for another portion of the spectrum.
  • An "unused" state for example, may be used with code packing to indicate a switch from one coding mode to another.
  • an encoder selects a frequency above which all exponents are encoded using the D45 coding mode. Below this frequency, either the D15 or the D25 coding mode is used. An indication of the cutoff frequency and the coding mode selected for the lower frequencies is included in the encoded signal.
  • the present invention may be used in embodiments of coding system which adapt the length of the subband signal block in response to various events such as signal transients.
  • WIPO publication WO 91/16769 published October 31, 1991, discloses a coding system using the TDAC filter bank of Princen and Bradley which may switch to a shorter block length in response to the occurrence of a transient in the input signal.
  • No special considerations are necessary to incorporate the present invention into such coding systems, but various practical considerations may be pertinent.
  • the D15 coding mode is not used to code the shorter subband signal blocks but the D25 and the D45 modes are used as desired. The reason for this is that generally not enough bits are available to code a shorter block using the D15 mode.
  • the present invention may also be used in embodiments of multi-channel coding systems which control the information requirements of the encoded signal by adaptively combining two or more channels into a composite representation.
  • WIPO publication WO 92/12607 published July 23, 1992, discloses such a coding system for multiple channels of audio information. No special considerations are necessary to incorporate the present invention into such coding systems.
  • a multi-channel split-band encoder only high-frequency subband signals representing two or more of the channels are combined into a composite representation. Differential coding of subband signal scaling factors is applied to the combined representation but not to the individual low-frequency subband signals.
  • An encoder can sometimes further reduce the information requirements of an encoded signal by first determining the information requirements of the encoded signal which results from the use of various coding modes, and then adaptively switching to the mode which achieves the greatest reduction.
  • Many alternative switching functions are available. For example, a switching function may base a decision to switch between modes upon a measure of spectral shape. Lower coding modes such as D13 as opposed to D15, and broader coding modes such as D45 as opposed to D 15, are generally more efficient for coding signals with flatter spectral characteristics.
  • One possible measure is the basic block-by-block figure of merit discussed above. Another measure is the Spectral Flatness Measure (SFM) described by Jayant and Noll, Digital Coding of Waveforms. Englewood Cliffs, NJ, 1984, pp.
  • the SFM describes the shape of a signal's power spectral density by a single number which ranges in value from 0 to 1.
  • the SFM is inversely proportional to waveform predictability.
  • a value of 1 describes an unpredictable signal with the properties of white noise.
  • a value of zero describes a signal which is perfectly predictable.
  • One embodiment of an encoder incorporating various aspects of the present invention adaptively switches to progressively broader coding modes as the SFM falls below progressively lower thresholds.
  • the switching decision may be based upon a longer-term average of a measure F(k) such as SFM or a measure such as the block-by-block figure of merit discussed earlier.
  • An average may be obtained by applying a low-pass filter to the measure.
  • an exponentially decaying average of the calculated measure F(k) can be obtained from a simple IIR filter such as
  • the time constant of the filter is chosen to balance response time with stability of response across short-term conditions.

Abstract

The invention relates in general to low bit-rate encoding and decoding of information such as audio information. More particularly, the invention relates to method and apparatus for reducing the amount of information required to convey a high-resolution spectral envelope of a signal. A sub-band encoder prepares an estimate of an input signal spectral envelope by splitting the input signal into frequency sub-band signals, generates a scaled representation of the sub-band signals comprising scaling factors and scaled values, generates a differential coded representation of the scaling factors, and assembles the differential coded representation and scaled values into an encoded signal.

Description

DESCRIPTION
SUB-BAND CODER WITH DIFFERENTIALLY ENCODED SCALE FACTORS
Technical Field The invention relates in general to low bit-rate encoding and decoding of information. More particularly, the invention relates to encoding the spectral envelope of one or more channels of information such as audio or video information.
Background
There is considerable interest among those in the fields of audio- and video-signal processing to minimize the amount of information required to represent a signal without perceptible loss in signal quality. By reducing information requirements, signals impose lower information capacity requirements upon communication channels and storage media.
Digital signals comprising signal samples encoded with fewer binary bits impose lower transmission information capacity requirements than digital signals encoded using a greater number of bits to represent the signal. Of course, there are limits to the amount of reduction which can be realized without degrading the perceived signal quality.
The number of bits available for representing each signal sample establishes the accuracy of the signal representation by the encoded signal samples. Lower bit rates mean that fewer bits are available to represent each sample; therefore, lower bit rates imply greater quantizing inaccuracies or quantizing errors. In many applications, quantizing errors are manifested as quantizing noise, and if the errors are of sufficient magnitude, the quantizing noise will degrade the subjective quality of the encoded signal.
Split-band Coding Various "split-band" coding techniques attempt to reduce information requirements without any perceptible degradation by exploiting various psycho-perceptual effects. In audio applications, for example, the human auditory system displays frequency-analysis properties resembling those of highly asymmetrical tuned filters having variable center frequencies and bandwidths that vary as a function of the center frequency. The ability of the human auditory system to detect distinct tones generally increases as the difference in frequency between the tones increases; however, the resolving ability of the human auditory system remains substantially constant for frequency differences less than the bandwidth of the above mentioned filters. Thus, the frequency-resolving ability of the human auditory system varies according to the bandwidth of these filters throughout the audio spectrum. The effective bandwidth of such an auditory filter is referred to as a "critical bandwidth." A dominant signal is more likely to mask the audibility of other signals anywhere within a critical bandwidth than it is likely to mask other signals at frequencies outside that critical bandwidth. See generally, the Audio Engineering
Handbook. K. Blair Benson ed., McGraw-Hill, San Francisco, 1988, pages 1.40-1.42 and 4.8-4.10.
Audio split-band coding techniques which divide the useful signal bandwidth into frequency bands with bandwidths no wider than the critical bandwidths of the human auditory system can better exploit psychoacoustic effects than wider band techniques. Such digital split-band coding techniques comprise dividing the signal bandwidth with a filter bank, quantizing the signal passed by each filter band using just enough bits to render quantizing noise inaudible, and reconstructing a replica of the original signal with an inverse filter bank. Two such techniques are subband coding and transform coding. Subband and transform encoders can reduce transmitted information in particular frequency bands where the resulting quantizing noise is psychoacoustically masked by neighboring spectral components without degrading the subjective quality of the encoded signal.
Subband encoders may use various analog and/or digital techniques to implement a filter bank. In a digital embodiment of such encoders, an input signal comprising signal samples is passed through a bank of digital filters and each "subband signal" passed by a respective filter in the filter bank is downsampled according to the bandwidth of that subband 's filter. Each subband signal comprises samples which represent a portion of the input signal spectrum. Digital subband decoders recover a replica of the input signal by upsampling the downsampled subband signals and merging the upsampled subband signals into an output signal. This process is one example of a signal synthesis process referred to herein as the application of an inverse filter bank. Digital coding techniques may be used with analog filter banks by sampling and quantizing the subband signals passed by the filter bank.
Transform encoders may use any of various so-called time-domain to frequency- domain transforms to implement a bank of digital filters. An input signal comprising signal samples is segmented into "signal sample blocks" prior to filtering. Individual coefficients obtained from the transform, or two or more adjacent coefficients grouped together, define "subbands" having effective bandwidths which are sums of individual transform coefficient bandwidths. Transform decoders recover a replica of the input signal by applying to the transform coefficients an inverse filter bank implemented by complementary inverse transforms or so-called frequency-domain to time-domain transforms.
Throughout the following discussion, the term "split-band coding" and the like refers to subband encoding and decoding, transform encoding and decoding, and other encoding and decoding techniques which operate upon portions of the useful signal bandwidth. The term "subband" refers to these portions of the useful signal bandwidth, whether implemented by a true subband coder, a transform coder, or other technique. The term "subband signal" refers to the split-band filtered representation of the spectral energy within a respective subband. The term "subband signal block" refers to the subband signals for all subbands across the useful signal bandwidth within a given interval or block of time. For subband coders implemented by a digital filter bank, a subband signal block comprises the set of samples for all subband signals over a given time interval. For transform coders, a subband signal block comprises the set of all transform coefficients corresponding to a signal sample block.
As discussed above, many split-band encoders utilizing psychoacoustic principles provide high-quality encoding at low bit rates by applying a filter bank to an input signal to generate subband signals, quantizing each subband signal using a number of bits allocated to that signal such that resulting quantizing noise is inaudible due to psychoacoustic masking effects, and assembling the quantized information into a form suitable for transmission or storage.
A complementary split-band decoder recovers a replica of the original input signal by extracting quantized information from an encoded signal, dequantizing the quantized information to obtain subband signals, and applying an inverse filter bank to the subband signals to generate the replica of the original input signal.
Throughout this discussion more particular mention is made of split-band audio coding, but the discussion pertains more generally to coding applications which reduce encoded signal information requirements by exploiting signal irrelevancy and redundancy. Signal irrelevancy pertains to signal components which are not needed to achieve a desired level of coding performance such as, for example, perceived fidelity of an encoded signal. Signal redundancy pertains to signal components which can be recreated from other signal components. Split-band audio coding and split-band video coding using psycho-perceptual effects are only two examples of coding applications to which the principles and concepts discussed herein apply. Many split-band coders convey subband signals using a "scaled representation" to extend the dynamic range of encoded information represented by a limited number of bits. A scaled representation comprises one or more "scaling factors" associated with "scaled values" corresponding to elements of the encoded subband signals. Many forms of scaled representation are known. By sacrificing some accuracy in the scaled values, even fewer bits may be used to convey information using a "block-scaled representation." A block- scaled representation comprises a group or block of scaled values associated with a common scaling factor.
The number of bits allocated to quantize each subband signal must be available to the decoder to permit accurate dequantization of the subband signals. A "forward- adaptive" encoder passes explicit allocation information or "side information" to a decoder. A "backward-adaptive" encoder passes implicit rather than explicit allocation information, allowing a decoder to determine allocation information from the encoded signal itself. In many embodiments, backward-adaptive encoders pass implicit allocation information in the form of an estimate of the spectral shape of the information represented by the encoded signal. The estimate often comprises block scaling factors corresponding to frequency subbands.
In one embodiment, a backward-adaptive audio encoder prepares a piecewise-linear estimate of the input signal spectral envelope, establishes allocation information by applying an allocation function to the envelope estimate, scales blocks of audio information using elements of the envelope estimate as scaling factors, quantizes the scaled audio information according to the established allocation information, and assembles the quantized information and the envelope estimate into an encoded signal. A backward- adaptive decoder extracts the envelope estimate and quantized information from the encoded signal, establishes allocation information by applying to the envelope estimate the same allocation function as that used by the encoder, dequantizes the quantized information, and reverses the scaling of the audio information. Two examples of a backward-adaptive encoder/decoder system using spectral envelope estimates for scaling and allocation are disclosed in U.S. patents 4,790,016 and 5,109,417. On the one hand, it is desirable to use smaller blocks with fewer scaled values to improve the allocation process. Smaller blocks increase the number of scaling factors across the useful signal bandwidth, thereby increasing the resolution of the spectral envelope estimate which is available to the allocation function. By using a higher- resolution spectral envelope estimate, an allocation function can apply more accurate psychoacoustic models to each scaled value to establish more optimum allocation information.
On the other hand, it is desirable to use larger blocks with more scaled values to reduce the number of bits required to represent the scaling factors in the encoded signal. Larger blocks decrease the number of scaling factors across the useful signal bandwidth, thereby decreasing the resolution of the spectral envelope estimate. Although this reduces the number of bits required to convey the scaling factors, it is generally not desirable to use blocks representing subbands which are wider than a critical bandwidth. As discussed above, coders using subbands having bandwidths no wider than the critical bandwidths are better able to exploit psychoacoustic effects than can wider band techniques.
Disclosure of Invention
It is an object of the present invention to provide for low bit-rate coding of high- resolution spectral envelope estimates.
According to the teachings of the present invention in one embodiment of an encoder, a filter bank splits an input signal into a plurality of subband signals, a sealer generates scaled representations of the subband signals comprising scaling factors and scaled values, a differentiator generates a differential coded representation of the scaling factors, and a formatter assembles the scaled values and scaling factor information comprising the differential coded representation into an encoded signal having a format suitable for transmission or storage. The differential coded representation comprises scaling factor differentials across the input signal bandwidth.
In a variation of the encoder embodiment just described, the sealer generates scaled representations comprising scaling factors having values which are adjusted when necessary to restrict the range of differentials between scaling factors. In another variation, the sealer determines whether the information requirements of the encoded signal can be reduced by using a previous set of scaling factors to generate the scaled representation. When the information requirements can be reduced, the sealer generates scaled representations using the previous scaling factors; the differentiator does not need to generate the differential coded representation because the formatter assembles into an encoded signal scaling factor information comprising a "reuse indicator" instead of a differential coded representation.
According to the teachings of the present invention in one embodiment of a decoder, a deformatter extracts from an encoded signal a plurality of scaled values and scaling factor information comprising a differential coded representation of scaling factors, an integrator generates scaled representations in response to the extracted scaled values and the differential coded representation, an inverse sealer generates subband signals in response to the scaled representations, and an inverse filter bank generates an output signal in response to the subband signals.
In a variation of the decoder embodiment just described, the deformatter extracts scaling factor information comprising a reuse indicator from the encoded signal. The integrator does not need to generate the scaled representations because the inverse sealer generates subband signals from the scaled values using the scaling factors derived previously from the encoded signal.
The present invention is not restricted to these embodiments. The various features of the present invention and its preferred embodiments may be better understood by referring to the following discussion and the accompanying drawings. The contents of the following discussion and the drawings are set forth as examples only and should not be understood to represent limitations upon the scope of the present invention.
Brief Description of Drawings
Figure 1 is a block diagram illustrating one embodiment of a split-band encoder incorporating various aspects of the present invention.
Figure 2 is a block diagram illustrating one embodiment of a split-band decoder incorporating various aspects of the present invention.
Figure 3 is a block diagram illustrating another embodiment of a split-band encoder incorporating various aspects of the present invention.
Figure 4 is a block diagram illustrating another embodiment of a split-band decoder incorporating various aspects of the present invention. Figure 5 is a hypothetical graphical representation of differential coded scaling factors.
Figure 6 is a hypothetical graphical representation of scaling factors and corresponding adjusted values which restrict the range of differentials.
Figures 7-10 are hypothetical graphical representations of scaling factors and corresponding adjusted values according to various differential coding modes.
Figure 11 is a hypothetical graphical representation of subband signal components illustrating some effects of block scaling. Modes for Carrying Out the Invention Basic Encoder/Decoder Structure
Figure 1 illustrates one embodiment of a split-band encoder incorporating various aspects of the present invention. Filterbank 102 generates subband signals in response to an input signal received from path 100. Sealer 104 generates a scaled representation of the subband signals received from filterbank 102; the scaled representation comprises scaling factors associated with one or more scaled values. Differentiator 106 generates a differential coded representation of the scaling factors and passes the differential coded representation and the scaled values to formatter 108. Formatter 108 generates along path 110 an encoded signal which comprises the scaled values and the differential coded representation.
Figure 3 illustrates another embodiment of a split-band encoder which is similar in structure to the embodiment illustrated in Figure 1. In contrast to the embodiment illustrated in Figure 1 , sealer 304 passes some but not all scaling factors to differentiator 306. The remaining scaling factors are passed along path 312 to formatter 308. It is a matter of mere design choice whether a particular encoder implementation passes the scaled values to deformatter 308 along path 312, through differentiator 306, and/or along another path not shown. Formatter 308 generates an encoded signal comprising the scaled values, the differential coded representation, and the scaling factors not included in the differential coded representation.
Figure 2 illustrates one embodiment of a split-band decoder incorporating various aspects of the present invention. Deformatter 202 extracts scaled values and a differential coded representation of scaling factors from an encoded signal received from path 200. Integrator 204 generates a scaled representation of subband signals comprising scaling factors associated with one or more scaled values; the scaling factors are generated in response to the differential coded representation received from deformatter 202. Inverse sealer 206 generates subband signals in response to the scaled representation received from integrator 204. Filterbank 208 generates along path 210 an output signal by applying an inverse filter bank to the subband signals received from inverse sealer 206. Figure 4 illustrates another embodiment of a split-band decoder which is similar in structure to the embodiment illustrated in Figure 2. In contrast to the embodiment illustrated in Figure 2, deformatter 402 extracts scaled values, a differential coded representation, and scaling factors not included in the differential coded representation from an encoded signal received from path 400. The differential coded representation is passed to integrator 404. The scaling factors not included in the differential coded representation are passed along path 412 to inverse sealer 406. It is a matter of mere design choice whether a particular decoder implementation passes the scaled values to inverse sealer 406 along path 412, through integrator 404, and/or along another path not shown. The diagrams shown in Figures 1 and 3 illustrate basic structures for an encoder incorporating various aspects of the present invention. They do not expressly show any coding component which reduces the information requirements of the encoded signal. In audio coding systems, for example, a component employing various coding techniques may exploit psychoacoustic principles to minimize the audible effects of reducing the information requirements of the encoded signal. The present invention is well suited for use with coding components such as those used in many audio coding and video coding applications, but such a coding component is not required to practice the present invention. Information reduction coding may be incorporated into the embodiment illustrated in Figure 1 in many ways. For example, the coding function may be performed within any one, or within any combination of filterbank 102, sealer 104, differentiator 106 and formatter 108. As another example, the coding process may be performed by a component not shown which incorporates sealer 104 and differentiator 106. Similar examples also apply to the embodiment illustrated in Figure 3.
Similarly, Figures 2 and 4 illustrate basic structures for a decoder incorporating various aspects of the present invention. They do not expressly show any decoding component which reverses the effects of a process which reduced information requirements of the encoded signal. Information reduction decoding may be incorporated into the embodiment illustrated in Figure 2 in many ways. For example, the decoding function may be performed within any one, or within any combination of deformatter 202, integrator 204, inverse sealer 206 and inverse filterbank 208. As another example, the decoding process may be performed by a component not shown which incorporates integrator 204 and inverse sealer 206. Similar examples also apply to the embodiment illustrated in Figure 4.
The embodiments illustrated in Figures 1-4 do not include various components which are often necessary in many practical applications. For example, practical embodiments of an encoder often apply a low-pass filter (LPF) to limit the bandwidth of the input signal and prevent aliasing. Such practical considerations do not fall within the scope of the present invention and are not discussed in detail herein. Additional details of i plementation may be obtained from U.S. patent 5,109,417, for example, which is cited above.
Filterbank Various digital and analog techniques may be used to implement the encoder filter bank. If analog techniques are used, the subband signals passed by the encoder filterbank may be sampled and quantized to obtain digital signals for subsequent coding operations. No particular technique is critical to the practice of the present invention but digital techniques may often be implemented less expensively.
Digital techniques include nonrecursive or so-called Finite Impulse Response (FIR) filters and recursive or so-called Infinite Impulse Response (IIR) filters. See generally, Hamming, Digital Filters. Englewood Cliffs, NJ, 1989, pp. 124-270. FIR filters may be implemented using techniques such as polynomial filters or transforms such as the Fourier transform. Examples of specific filter designs include various Fourier transforms such as the Discrete Fourier Transform (DFT) and Discrete Cosine Transform (DCT), the Quadrature Mirror Filter (QMF) which is discussed in Esteban and Galand, "Application of Quadrature Mirror Filters to Split Band Voice Coding Schemes," Proc. ICASSP. May 1977, pp. 191-195, and the Time-Domain Aliasing Cancellation (TDAC) filter which is discussed in Princen and Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation," IEEE Trans, on Acoust.. Speech. Signal Proc. vol. ASSP-34, 1986, pp. 1153-1161.
Although the use of subbands with bandwidths commensurate with the critical bandwidths allows greater exploitation of psychoacoustic effects than does wider band techniques, application of the teachings of the present invention are not so limited. The term "subband" and the like as used herein should be understood as one or more frequency bands within the useful bandwidth of an input signal.
Sealer Many split-band coders use a scaled representation to extend the dynamic range of encoded information represented by a limited number of bits. The scaling factors themselves also provide a basis from which an estimate of the spectral envelope may be obtained. The estimated spectral envelope may be used in backward-adaptive coding systems to convey adaptive bit allocation information.
A split-band encoder which forms an estimate of the spectral envelope from scaling factors may use a combination of individual and block scaling. For example, a scaled representation may use scaling factors associated with individual scaled values to represent low-frequency subband signals because the critical bandwidths for low frequencies are narrow, and use scaling factors associated with a block of two or more scaled values to represent high-frequency subband signals because the critical bandwidths for high frequencies are wider. Block scaling in accordance with critical bandwidths is attractive in many low bit- rate coding systems because fewer scaling factors are required to convey the allocation information as compared to individual scaling. Block scaling reduces the information requirement of the scaling factors in an encoded signal, but it also reduces the resolution of the estimated spectral envelope and tends to increase the information requirements of the scaled values. This effect is discussed in more detail below.
One example of an individual-scaled representation commonly known as floating¬ point comprises an exponent (the scaling factor) and a mantissa (the scaled value). Many forms of floating-point are known. In one form, the exponent represents the power of two of a multiplier used to "normalize" the mantissa, or scale the magnitude of the mantissa into a range between 0.5 and 1.0; a multiplier with the reciprocal power of two is used to obtain the true quantity from the normalized mantissa. For example, a 7-bit floating-point number, which comprises a 4-bit exponent equal to 3 and a normalized 3-bit mantissa in two's complement form expressing a scaled value equal to 0.75, represents the quantity 0.75 x 23 or 0.09375. The exponent is used to scale the mantissa, thereby increasing the range of quantities which can be represented by a limited number of bits.
One example of a block-scaled representation is commonly known as block-floating¬ point (BFP) which comprises a block of mantissas (the scaled values) associated with a common exponent (the block scaling factor). In one embodiment similar to that described above, the block exponent represents the power of two of a multiplier which normalizes the mantissa corresponding to the quantity having the greatest magnitude in the block. The other mantissas in the block are scaled according to the block exponent and may not be normalized because they may have scaled values with magnitudes less than 0.5. For example, a BFP representation comprising a 4-bit block exponent, which is equal to 4, associated with three scaled 3-bit mantissas, which are equal to 0.5, 0.75 and -0.25, represents the numeric quantities 0.03125, 0.046875 and -0.015625.
Another example of a block-scaled representation comprises a block of scaled values associated with a linear multiplier (the block scaling factor). The block multiplier is equal to the magnitude of the largest quantity in the block and the quantities in the block are scaled by dividing each quantity by the scaling factor. The true quantities are obtained by multiplying each scaled value by the scaling factor. For example, three scaled values, which are equal to -0.75, 1.00 and 0.50, associated with a block multiplier, which is equal to 0.1875, represent the quantities -0.140625 (-0.75 x 0.1875), 0.1875 and 0.09375, respectively. An embodiment of an encoder incorporating various aspects of the present invention may use any of a wide variety of scaling functions S(q). For example, the scaling function S(q) may be linear, logarithmic, or trigonometric; however, the scaling function should provide for a complementary inverse scaling function S""(g) which can be applied in the decoder to recover an approximation of the true quantities from the scaled values. Various design criteria for a particular encoder/decoder application will often influence the choice of the scaling function. For example, backward-adaptive split-band coding systems may use exponents in a floating-point representation similar to that discussed above to implicitly convey bit allocations made according to subband signal amplitude. A unit increase in exponent value represents an approximate decrease in amplitude of one-half or a change of -6 dB (20 logι0 0.5) for the quantity represented by the floating-point number; therefore, such a floating-point representation may be a good design choice for backward-adaptive coding systems which allocate one additional bit for an increase in amplitude of 6 dB or some multiple such as 18 dB.
Differentiator The differentiator generates a differential coded representation of one or more of the scaling factors by establishing the difference between scaling factors across the spectrum. Figure 5 illustrates two sets of points representing two sets of hypothetical values. The points connected by broken line 502 represent a set of scaling factors such as floating-point exponents, for example, for subband signals in a subband signal block. Continuing the floating point examples discussed above, the exponents Xt are plotted on the graph as negative numbers so that larger values correspond to larger amplitude signals. In the example shown, exponent X0 has a value of 8 but is plotted as -8, and exponent X, has a value of 7 but is plotted as -7. Throughout the following discussion, the negative values as plotted will be referred to as the value of an exponent Xt. The quantity represented by the floating-point number comprising exponent X is approximately twice as large as the quantity represented by the floating-point number comprising exponent X0. The same set of exponents are illustrated in Figures 6-10.
The points connected by broken line 504 represent the difference between successive exponents. For example, the first point Δ, having a value of one indicates that exponent X] is one larger than exponent X0. The third point Δ3 having a value of negative two indicates that exponent X3 is two less than exponent X2. There is no differential point corresponding to exponent X0 because this exponent is the base from which the differential values are determined. Many variations in the process for generating the differential coded representation are possible. For example, the differential function £>( ) may be linear, logarithmic, or trigonometric; however, the differential function should provide for a complementary integral function DΛ(j) which can be applied in the decoder to recover the scaling factors from the differential coded representation. In the example discussed above, the differential function D(i) = Xt - X,_, is a linear function but, because of the nature of floating-point exponents, the differential varies approximately as the exponential of the underlying signal amplitude.
A particular embodiment of an encoder may apply the differential function to all scaling factors, or it may apply the function only to scaling factors associated with adaptively selected subband signals. The adaptive selection may be made so as to obtain an optimum reduction in the information requirements of the encoded signal. For example, referring to Figure 5, more bits may be required to convey a differential coded representation of exponents X,3 to X20 than would be required to convey the exponents themselves. In this instance, an encoder could select only exponents Xi to X12 for differential coding and pass an indication of this selection in the encoded signal.
For some embodiments, the differential function need not distinguish between block scaling factors and scaling factors associated with a single scaled value. In other embodiments such as some of those discussed below which adapt the differential function to achieve the greatest possible reduction in information requirements, the distinction may be important.
Formatter The formatting process generates an encoded signal by assembling the scaled values, differential coded representation, a base value, and possibly one or more scaling values into a form which is suitable for transmission or storage. One scaling factor can serve as the base value from which the relative values in the differential coded representation are determined. In many practical embodiments, additional information such as error detection/correction codes (EDC), frame synchronization codes, and/or database retrieval keys are also assembled into the encoded signal. The formatting process used in a particular embodiment and the format of the encoded signal resulting from the formatting process are not critical to the practice of the present invention.
Deformatter The deformatter, reverses the effects of the formatting process by extracting scaled values, a differential coded representation, a base value, and possibly one or more scaling factors from an encoded signal. In many practical embodiments, EDC and frame synchronization codes are used to correctly interpret the received encoded signal and, where possible, to detect and correct errors introduced during transmission or storage/retrieval. The defor atting process used in a particular embodiment is not critical to the practice of the present invention.
Integrator The integrator is a complementary function to that used to generate the differential coded representation in the encoder. Referring to the example discussed above, for example, a scaling factor may be recovered from the differential coded representation and a base value using the relation
*. = *„-> + = *o + ∑ A- for « > 1, i -1 where Δ,. = X. - X for t > 1, and
X0 = the base value. In general, the integral function D~l(ϊ) is the inverse of the differential function D(ϊ) such that the scaling factor X, = D l{D(ι)}.
If the encoded signal was prepared by an encoder which differentially codes adaptively selected scaling factors, an indication of the selection is extracted from the encoded signal by the deformatter and is used to adapt the integral function to derive only the appropriate scaling factors. Inverse Sealer
The inverse scaling function is a complementary function to that used to obtain the scaled representation in the encoder. Referring to the floating-point representation discussed above, for example, a normalized 3-bit mantissa equal to 0.112 represents the scaled value 0.75 in two's complement form. The true quantity represented by this normalized mantissa, associated with an exponent having a value equal to 3, is 0.75 x 23 or 0.09375. In this example, inverse scaling may be implemented by logically shifting the bits of the binary mantissa to the right a number times equal to the value of the exponent. The inverse scaling process for BFP representations is similar.
In general, the inverse scaling function S~ q) is the inverse of the scaling function S(q) such that the true quantity q -= S"'{S(<7)}. Strict equality is not always expected because use of the scaling function may result in the loss of some accuracy.
Inverse Filterbank No particular technique for implementing the inverse filter bank is critical to the practice of the invention. Many techniques such as QMF and TDAC provide for critical sampling and, in theory, permit exact reconstruction of the original input signal by the inverse filter bank. Although these properties are often very desirable characteristics for practical embodiments of an encoder/decoder system, they are not essential to the practice of the present invention.
Alternate Embodiments The following discusses various alternative embodiments to the basic embodiments discussed above. Examples are used to describe aspects of the present invention; however, the present invention is not limited to the specific examples cited. Several of these alternatives pertain to coding techniques which attempt to reduce the information requirements of the encoded signal without perceptibly degrading the encoded signal.
Differential Range Information requirements of the encoded signal may sometimes be reduced by limiting the range of the differentials generated by the differential function D(i). In one embodiment of an encoder incorporating aspects of the present invention, quantities are represented by floating-point numbers comprising 4-bit exponents. Two quantities expressed in this representation have exponents which may differ by an amount in the range from -15 to 15. A conventional binary representation of a differential with this range requires five bits, but only four bits are required to convey the exponents themselves. By restricting the differentials to the range from -1 to 1, for example, only two bits are required to convey the differentials using a conventional binary representation. This results in a savings of two bits per differential. The differential between exponents of successive floating-point numbers can be restricted to any arbitrary range. Differentials can be restricted by adjusting the exponent of the smaller magnitude quantity and scaling the associated mantissa accordingly. This process is described below using the notation ±0.nnn2 E xx to represent a binary fraction mantissa +0.wrø2 in two's complement form associated with a decimal exponent xx. For example, a quantity £?, = -0.09375 may be expressed as the floating-point number -0.112 E 3, and a successive quantity Q2 - 0.001953125 may be expressed as the floating-point number +0.12 E 8. The exponent differential between the two quantities is +5. By adjusting the exponent of quantity Q2 and rescaling the associated mantissa such that Q2 is expressed as +0.000012 E 4, for example, the exponent differential is reduced to + 1.
Figure 6 illustrates the results of adjusting exponents to restrict the differentials to the range from -2 to 2. The circles represent the values of exponents before adjustment and are the same as those shown in Figure 5. The squares represent the values of exponents after adjustment. No adjustment is required for exponents X, to X3 because the corresponding differentials Δj to Δ3 are already within the restricted range from -2 to 2. The exponent X4 is adjusted to a new value represented by square 602 to reduce the magnitude of the original differential Δ4 from -3 to -2. Similar adjustments are also made to exponents Xg, X,0, Xn, XI5, X16 and X,8. Exponent XJ3 is also adjusted but this adjustment is influenced by two considerations. First, an initial adjustment to the exponent reduces the magnitude of the original differential Δ13 between exponents X]2 and XI3 from -6 to -2. The exponent value which results from this adjustment is represented by cross symbol 604, Second, an additional adjustment is required because the remaining differential Δ,4 between exponents X,3 and XH is too large. This additional adjustment reduces the remaining differential from 4-6 to + 2. The exponent value X,3 which results from the second adjustment is represented by square 606. The resulting differential Δ13 between exponents X12 and X,3 is +2, therefore no further adjustments are required. If the differential between exponents X12 and X13 was too large, exponent X,2 would be increased to reduce the differential. If exponent X,2 was increased, then the differential between exponents Xu and X12 would be examined to determine if further adjustments to exponent Xn were required to ensure the differential is not too large. These further adjustments would be made to each preceding exponent until either the preceding differential is not too large or the first exponent X0 is processed. The following program fragment represents one way in which the adjustments may be carried out. A wide variety of alternative ways are possible. (01) for / from 1 to 20
(02) set Δ,. = X; - X,„
(03) endfor
(04) for from 1 to 20
(05) if | Δ,| > 2 then
(06) if Δ,- < 0 then
Figure imgf000018_0001
(13) while Δ, > 2 and; > 0
(14) set k = Aj - 2
(15) set X = X + k
(16) set Aj = 2
(17) set A = A + k
(18) set; = ;* - l
(19) endwhile
(20) endif
(21) endif
(22) endfor Lines (01) to (03) calculate the exponent differentials for exponents Xj to X20. The variable Δ,- represents the differential between exponent X,-., and exponent X,. Lines (04) to (22) adjust the exponents to restrict the exponent differentials to a range from -2 to 2.
Line (05) determines whether the differential Δ,- is within the restricted range. If it is, line (04) advances the index i to the next differential and reiterates the process performed in lines (05) to (21) until all differentials have been processed. If line (05) determines that differential Δ,- is not within the restricted range, then an adjustment to one or more exponents is needed. Line (06) determines whether the differential is too large or too small. If the differential is too small, lines (07) to (10) make the needed adjustments, otherwise lines (12) to (18) make the needed adjustments.
If the differential is too small, line (07) determines the amount by which the exponent X,- must be increased to obtain a differential equal to -2. The variable k is set equal to this amount. Line (08) increases the exponent X, by the amount A'. Line (09) sets the differential Δ,- equal to -2 and line (10) decreases the differential ΔI+, for the following exponent by the amount k.
If the differential is too large, line (12) sets variable; equal to the current value of index . Line (13) reiterates the process performed in lines (14) to (18) until encountering a differential which is less than 2 or until the variable; becomes equal to zero. Line (14) determines the amount by which the previous exponent Xj must be increased to obtain a differential equal to 2. The variable k is set equal to this amount. Line (15) increases exponent X,-., by the amount k. Line (16) sets the differential Aj equal to 2 and line (17) increases the differential A for the previous exponent by the amount k. Line (18) decrements the variable; to point to the previous differential and exponent.
The logic shown in lines (13) to (19) may be further refined. Line (15) will adjust the value of exponent X0 if the differential Δ, between exponents X0 and X, is too large, but line (17) need not attempt to adjust the value of differential because this differential is not defined. Restricting exponent differentials may reduce the number of bits required to convey the differentials, but it also may increase the number of bits required to convey mantissas with a given level of accuracy. Referring to the example discussed above, by adjusting the exponent of Q2 from 8 to 4, the number of bits required to express the mantissa with the same accuracy increases by four. Restricting the differential to the range from -1 to 1 saves two bits to convey the differential, but four additional bits are required to convey associated mantissas with the same accuracy.
The graphical illustration in Figure 7, which is similar to that in Figure 6, shows the results of adjusting exponents to restrict differentials to the range from -2 to 2. The circles represent the values of the exponents before adjustment and the squares represent the values of the modified exponents after adjustment. Although the broken line connecting the circles is a more accurate representation of the spectral envelope than is the broken line connecting the squares, fewer bits are required to convey the restricted differentials of the adjusted exponents. By using a conventional binary representation, for example, four bits are required to represent each unadjusted exponent but only three bits are required to represent each restricted differential for the adjusted exponents. This results in a savings of 20 bits for the twenty exponents.
It is worthwhile to note one characteristic of the frequency response of digital filter banks implemented by discrete transforms. As a general rule which is dependent upon the design of the analysis-window, transform-based filters can achieve a narrow main lobe at the expense of high side lobes which allow a significant amount of spectral energy to leak into neighboring filter bands. See Harris, "On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform," Proc. IEEE, vol. 66, January 1978, pp. 51-83. Because of this side-lobe leakage, part of the spectral energy which exists only at the frequency represented by one transform coefficient will leak into adjacent transform coefficients; the neighboring transform coefficients will indicate falsely that spectral energy exists at their respective frequencies.
One consequence of side-lobe leakage is a limit which is imposed upon the rate at which spectral energy, can change between transform coefficients. Because of this limitation, the magnitude of scaling factor differentials is inherently restricted. In other words, because of filter bank side-lobe leakage, very few if any large adjustments will need to be made to the scaling factors to restrict the range of scaling factor differentials.
The shaded area illustrated in Figure 7 between the two broken lines is a rough measure of the additional bits required to convey floating-point mantissas associated with the adjusted exponents with the same level of accuracy as that conveyed by mantissas associated with the exponents before adjustment. For example, one additional bit is required for each mantissa associated with exponent X3 and three additional bits are required for each mantissa associated with exponent X4. The sum of the differences between the adjusted and respective unadjusted exponents for the example shown in Figure 7 is equal to 23. Assuming each exponent is associated with one mantissa, this means that 23 additional bits are required to convey all of the mantissas using the adjusted exponents; however, because only 20 bits are saved by restricting the differentials to the range from -2 to 2, the twenty floating-point numbers comprising an exponent and mantissa may be conveyed with a given level of accuracy using 3 fewer bits than is required to convey the numbers using the restricted differentials.
This mode of differential coding is referred to herein as D15. The one indicates that one scaled value is associated with one scaling factor. The five indicates that the scaling factor differentials are restricted so that they may assume one of only five states. In this example, the five states are the five integers in the range from -2 to 2. In this example, the D 15 coding mode is not able to achieve a reduction in information requirements because the number of bits saved to convey the restricted differentials is less than the number of additional bits required to preserve mantissa accuracy. Eighty bits are required to convey twenty 4-bit exponents. A block-by-block figure of merit for the D 15 mode of coding the exponents shown in Figure 5, as well as for the other coding modes discussed below, is expressed in terms of the net number of bits saved relative to the number of bits required to code twenty floating-point numbers comprising 4-bit exponents.
Figure 8 is a graphical illustration similar to that shown in Figure 7. The squares represent adjusted exponent values which restrict differentials to the range from -1 to 1. Only two bits are required to convey each differential in a conventional binary representation; therefore, these adjustments result in a savings of 40 bits to convey twenty restricted differentials as compared to twenty exponents. The sum of the differences between the adjusted and respective unadjusted exponents for the example shown in Figure 8 is equal to 45. Assuming each exponent is associated with one mantissa, restricting the differentials to the range from -1 to 1 allows the twenty floating-point numbers to be conveyed with a given level of accuracy using 5 fewer bits than is required to convey the numbers using the restricted differentials. This mode of differential coding is referred to herein as D13 because the scaling factor differentials are restricted to three states.
Each of the two examples discussed above restrict exponent differentials to a range which is symmetric about zero, but asymmetric ranges may also be used. For example, a four-state D14 coding mode could restrict differentials to the range from -1 to 2. A D15 coding mode could restrict differentials to the range from -1 to 3. If asymmetric ranges are used in audio coding systems, for example, it is generally preferable to allow for larger positive differentials because most audio signals comprise larger and more rapid increases in amplitude than decreases, and because coding errors are more tolerable for large decreases in amplitude rather than large increases due to temporal psychoacoustic masking effects. Differential Code Packing
Generally, a conventional binary representation is not an efficient way to convey differentials. For example, as mentioned above, differentials which are limited to the range from -1 to 1 can be conveyed by a conventional binary representation of only two bits; however, this representation is inefficient. The range from -1 to 1 comprises only the three distinct integer values -1, 0 and 1, but two binary bits are capable of expressing four distinct integer values. In effect, a fractional part of a bit is wasted if two bits are used to convey a differential which can assume only one of three values. Fractional bits can be reclaimed by packing multiple differentials together.
One example of how this may be done is to first apply to each differential a mapping function M{ϊ) which maps each possible differential value to an integer within the range from 0 to N-l, and then to perform the packing operation by computing the polynomial n
P = (l) + (2) -N + ... + M(n) -N"-1 = ∑ M(i) -N'-1 i = l where M(i) = the mapped value of differential Δ ,
N = the number of states each differential may assume, and n = the number of scaling factors to pack. A simple mapping function M(i) for differentials which may assume any integer value within a range of N consecutive integers is W) - Δ,. - Δmin where Δmin = minimum value a differential may assume.
The ability to pack differentials into a more efficient representation helps make the restriction of differential range more attractive. For example, a five-state differential with a range from -2 to 2 may be mapped into the range 0 to 4 by the mapping function M(i) = Δ,. - (-2) = Δ,. + 2. Three mapped values can be packed into a 7-bit binary representation P by calculating the polynomial P = (l) + 5 (2) + 25 (3). As a result, each five-state differential can be conveyed by approximately 2.33 bits. Referring to the example illustrated in Figure 7, approximately 46.67 bits are required to convey twenty packed differentials using the D15 coding mode as opposed to 80 bits which are required to convey the exponents themselves, but 23 additional bits are required to preserve mantissa accuracy. As a result, D15 coding with code packing achieves a net savings of approximately 10.33 bits over that required to convey twenty exponents and associated mantissas. A three- state differential with a range from -1 to 1 may be mapped into the range 0 to 2 by the mapping function M(i) = Δ; - (-1) = A. , + 1. Three mapped values can be packed into a 5-bit binary representation P by calculating the polynomial P = M(l) + 3 (2) 4* 9 (3). As a result, each three-state differential can be conveyed by approximately 1.67 bits. Referring to the example illustrated in Figure 8, approximately 33.33 bits are required to convey twenty packed differentials using the D 13 coding mode as opposed to 80 bits which are required to convey the exponents themselves, but 45 additional bits are required to preserve mantissa accuracy. As a result, D13 coding with code packing achieves a net savings of approximately 1.67 bits.
For this particular example, the D15 coding mode is able to reduce the information requirements to a greater extent than the D13 coding mode. This will not be true in all instances. Within certain limits, a "lower" differential coding mode such as D13 will be more effective in reducing information requirements than a "higher" mode such as D15 for signals having flatter spectral shapes. Any number of differentials may be packed by using a polynomial of appropriate length, but a three- term polynomial was used for each of the previous examples because the packing is reasonably efficient. Although packing efficiency will tend to increase as the number of polynomial terms increases, the number of terms is restricted in practical embodiments because the resulting packed representation would otherwise become excessively long and more difficult to process. The following discussion of various embodiments assumes that a three- term polynomial is used.
Code packing in general is not perfectly efficient. For example, the 7-bit representation of three 5-state differentials is only about 98% efficient because only 125 of the 128 total possible states that can be represented by 7 bits are needed to convey the three differentials. The remaining 3 "unused" states are wasted unless they are used for something else. For example, these unused states may be used to represent scaling factor differentials which fall outside the restricted range but which occur frequently enough to deserve special treatment. Several other uses for these otherwise unused states are suggested below.
Block Scaling Block scaling techniques may sometimes be used to further reduce information requirements of the encoded signal. Figures 9 and 10, which are similar to Figures 7, illustrate the effects of one example of block scaling upon differential coding. The squares represent adjusted exponent values which restrict differentials to the range from -2 to 2, but the values of adjusted exponents are further constrained to equal the largest exponent in a block. Because the exponents in each block are equal, information requirements can be reduced by encoding only one exponent from each block.
In Figure 9, the exponents are grouped into blocks of two exponents. Although the differential for the unadjusted exponent X, is within the allowed range, exponent Xi is adjusted so that it is equal to exponent X2 which is the largest exponent in the block. Similarly, exponent X10 is adjusted to equal exponent X9. This differential coding is one example of a mode of coding referred to herein as D25. The two indicates that two scaled values are associated with each scaling factor. The five indicates that the scaling factor differentials are restricted so that they may assume one of only five states.
By packing the five-state differentials as discussed above, three differentials can be conveyed in 7 bits. Because only ten differentials are coded, approximately 23.33 bits can convey the differentials using the D25 coding mode. By referring to the shaded area in Figure 9, however, it can be determined that 45 additional bits are required to preserve mantissa accuracy. As a result, D25 coding with code packing achieves a net savings of approximately 11.67 bits.
In Figure 10, the exponents are grouped into blocks of four exponents. This differential coding is one example of a mode of coding referred to herein as D45. The four indicates that four scaled values are associated with each scaling factor. Because only five differentials are coded, approximately 11.67 bits can convey the differentials using the D45 coding mode with code packing. By referring to the shaded area in Figure 10, however, it can be determined that 67 additional bits are required to preserve mantissa accuracy. As a result, D45 coding achieves a net savings of approximately 1.33 bits. For this particular example, the D25 coding mode is able to reduce the information requirements to a greater extent than either the D13, the D15 or the D45 coding modes. This will not be true in all instances. In certain situations, the D45 coding mode can reduce information requirements more than can the other coding modes. In other situations, no form of differential coding can reduce information requirements below that achieved by individual scaling. Within certain limits, for signals having flatter spectral shapes, a "broader" differential coding mode such as D45 will be more effective in reducing information requirements of an encoded signal than a "narrower" coding mode such as D15.
Many variations in the block scaling technique described above are possible. For example, the D25 coding mode may use a five-state mapping function M(i) for a pair of exponent differentials Δ, and ΔI+1 such as that shown in Table I.
Figure imgf000024_0001
4 + 1 + 1
3 + 1 0
2 0 0
1 -1 0
0 -1 -1
Table I The D45 coding mode may use a five-state mapping function M(i) for four exponent differentials Δ,- to Δ/+3 such as that shown in Table II. M(i) Δ, Δi+ I ΔI+2 Δ1+3
4 + 1 0 4- 1 0
3 + 1 0 0 0
2 0 0 0 0
1 -1 0 0 0
0 -1 0 -1 0
Table II The choice of the mapping function may have significant effects upon coding performance, but the choice is not critical to practicing the concepts of the present invention.
Spectral Envelope Resolution Some embodiments of split-band coding systems control quantizing noise by adaptively allocating bits to subband signals based upon block scaling factors. In a transform coding system, for example, transform coefficients are grouped into subbands and all coefficients within a subband are allocated the same number of bits based upon the magnitude of the largest coefficient within the subband. In a subband coding system, each sample in a subband signal is allocated the same number of bits based upon the amplitude of the subband signal. Figure 11 illustrates a hypothetical example of subband signal components resulting from a transform filter bank in which the circles represent individual scaling factors for each transform coefficient. For ease of discussing the following examples, the scaling factors are assumed to be 4-bit exponents in the floating-point representation discussed above. In one embodiment of a transform coding system using block scaling, exponent X,lg, which is associated with the largest magnitude component Qm in the illustrated subband, is the block scaling factor. In response to the value of the block scaling factor, an allocation function establishes a masking threshold 1102 which is approximately 30 dB below the amplitude of the quantity Qm. Quantizing noise below this threshold is considered to be masked by the spectral energy within the subband. Using a simple 6 dB per bit rule, the allocation function allocates six bits to each of the fourteen components in the subband. One of the six bits represents the sign of the quantity and the remaining five bits represent the magnitude of the quantity in two's complement form.
For example, assume that quantity Qn6 = 0.03125 which may be expressed as the floating-point number +0.12 E 4. By using exponent X118 as a block scaling factor and allocating six bits to the mantissa, quantity Q 6 may be expressed as 4-0.00010 E 1. The mantissa is not normalized, that is, it has a magnitude less than 0.5, because it is rescaled relative to the block scaling factor X . Because the QU6 mantissa is not normalized, the signal-to-noise ratio (SNR) between quantity Qm and the quantizing noise resulting from the allocation is only about 12 dB even though six bits are allocated to the mantissa. In spite of this reduced SNR, the quantizing noise is not audible because it is still under the masking threshold 1102.
It is apparent, however, that the bit allocation is not as efficient as it could be. Although six bits are allocated to the mantissa, a normalized mantissa for Qm requires only three bits to achieve the 12 dB SNR necessary to mask the quantizing noise. Three of the bits allocated to the Q 6 mantissa are not needed if the mantissa can be coded in normalized form, but this requires individual scaling. From this example, it can be seen that the information requirements of an encoded signal may be reduced by balancing the number of bits required to code individual scaling factors against the number of bits saved by more precise allocation to normalized mantissas. Referring to Figure 11, the distance between the top of the shaded area and a point on the broken line along the bottom of the shaded area represents the number of mantissa bits which can be saved by coding normalized mantissas. For example, ten additional bits are required to code the Qn2 mantissa when it is scaled relative to the block scaling factor Xn8 as opposed to the number of bits required to code the Qn2 mantissa when it is scaled relative to an individual scaling factor X112.
It is also apparent that spectral components with exponents below threshold 1102 do not need to be coded because they will not be audible. The spectral energy they represent will be masked by other spectral energy within the subband. For the example shown in Figure 11, the mantissas associated with the quantities Qu2 to Q 4 and Qn2 to Qns do not need to be allocated any bits. This results in a further reduction in the information requirements of the encoded signal.
Referring again to the example illustrated in Figure 11, an encoder which uses block scaling, five- state differential coding and the code packing discussed above will require approximately 2.33 bits to convey the block scaling factor and 84 bits to convey the fourteen 6-bit mantissas, for a total of approximately 86.33 bits. In contrast, an encoder which uses individual scaling, five-state differential coding and the code packing above will require approximately 32.67 bits to convey fourteen exponent differentials and 26 bits to convey the mantissas for the seven quantities above the masking threshold, for a total of approximately 58.67 bits. The use of a higher-resolution spectral envelope realizes a net savings of approximately 27.67 bits for this particular subband signal.
Although the illustration in Figure 11 and the discussion of spectral envelope resolution are directed more particularly toward transform coding systems, the principles also apply to subband coding systems. In general, the resolution of the spectral envelope is controlled by the bandwidth of the individual filters in the subband filter bank. Block scaling factors can be applied to subband signals which downsample to multiple points, and individual scaling factors can be applied to subband signals which downsample to single points. These scaling factors can provide an estimate of the spectral envelope. Scaling Factor Reuse
An encoder can sometimes reduce the information requirements of the encoded signal by using scaling factors already known to the decoder. One simple way in which this may be done is to encode subband signals using a set of scaling factors which was generated earlier, and pass in the encoded signal an indication to the decoder that it is to reuse the earlier set of scaling factors. A set of scaling factors from any number of previous sets of scaling factors can be reused but the number is usually limited by practical considerations such as the amount of memory available to the encoder and decoder to store these sets, the information capacity available in the encoded signal to convey which scaling factors in which of the previous sets are to be reused, and the amount of processing required by the encoder to select from the sets.
Scaling factor reuse may not reduce informational requirements if the earlier scaling factors are significantly different from the current scaling factors. This situation is essentially the same as that discussed above for adjusting exponents to restrict the range of differentials. The graphical illustration in Figure 7, for example, may be interpreted to represent the current scaling factors with the circles and to represent the earlier scaling factors with the squares. The difference between the two sets of scaling factors represents the need for additional bits to preserve the accuracy of the scaled values when reusing the earlier scaling factors.
In one embodiment, the reuse indicator is a single bit which is always present in the encoded signal. When set to one, it indicates that new scaling factors are not present in the encoded signal and that the previous set of scaling factors is to be used by the decoder. The encoder decides for each subband signal block whether to reuse the previous set of scaling factors. Scaling factors are reused whenever the number of additional bits required to preserve scaled value accuracy is less than the number of bits required to convey the current scaling factors and/or their differentials.
Referring to the D 15 coding example in Figure 7, an additional 23 bits are required to preserve mantissa accuracy but approximately 46.67 bits are saved by reusing earlier scaling factors. For the D13 coding example in Figure 8, an additional 45 bits are required to preserve mantissa accuracy and only about 33.33 bits are saved by reusing the earlier scaling factors. For the D25 coding example in Figure 9, an additional 45 bits are required to preserve mantissa accuracy and only about 23.33 bits are saved by reusing the earlier scaling factors. For the D45 coding example in Figure 9, an additional 67 bits are required to preserve mantissa accuracy and only about 11.67 bits are saved by reusing the earlier scaling factors.
A broader coding mode may also reuse scaling factors previously generated for a narrower coding mode. For example, a D45 mode of coding may use a set of scaling factors previously used for D15 coding by selecting, for example, every fourth scaling factor in the set.
An encoder may also maximize scaling factor reuse by "looking ahead." In one embodiment, an encoder examines a frame of two or more subband signal blocks and establishes a set of scaling actors which can be used to code a majority of blocks in the frame. A set of "frame scaling factors" which best represents all or most of the blocks in the frame is encoded once in the frame and reused for blocks occurring later in the frame. An isolated block in the frame which is not well represented by the frame scaling factors can be encoded using a special set of scaling factors. The isolated block also contains an indication that its scaling factors are to be used perhaps only one time, and that the frame scaling factors are to be used for subsequent blocks. One simple technique which establishes frame scaling factors comprises calculating the scaling factor for each subband signal in each block in the frame, determining the value of the largest scaling factor for each respective subband across all the blocks in the frame, and constructing a set which comprises these largest scaling factors. The blocks which are to be coded using a special set of scaling factors rather than the frame scaling factors are identified by using a block-by-block figure of merit similar to that discussed above.
Differential Coding of Selected Subbands An encoder may be able to reduce information requirements of an encoded signal by applying various coding methods to selected subbands. For example, an encoder may apply D25 coding to a relatively flat portion of the spectrum, apply D15 coding to a portion of the spectrum which is not as flat, not apply any differential coding for a portion of the spectrum in which the differentials are very large, and indicate the reuse of an earlier set of scaling factors for another portion of the spectrum. An "unused" state, for example, may be used with code packing to indicate a switch from one coding mode to another.
Practical considerations entail trading the potential net reduction in the information requirement of the encoded signal with the increase in information requirements to convey the indication for these selections and the cost of the processing to make the selections. In one embodiment, an encoder selects a frequency above which all exponents are encoded using the D45 coding mode. Below this frequency, either the D15 or the D25 coding mode is used. An indication of the cutoff frequency and the coding mode selected for the lower frequencies is included in the encoded signal.
Other Features The present invention may be used in embodiments of coding system which adapt the length of the subband signal block in response to various events such as signal transients. For example, WIPO publication WO 91/16769, published October 31, 1991, discloses a coding system using the TDAC filter bank of Princen and Bradley which may switch to a shorter block length in response to the occurrence of a transient in the input signal. No special considerations are necessary to incorporate the present invention into such coding systems, but various practical considerations may be pertinent.
For example, in one particular embodiment of a low bit-rate 20 kHz bandwidth coding system which adaptively switches between a 512-point block and a 256-point block, the D15 coding mode is not used to code the shorter subband signal blocks but the D25 and the D45 modes are used as desired. The reason for this is that generally not enough bits are available to code a shorter block using the D15 mode.
The present invention may also be used in embodiments of multi-channel coding systems which control the information requirements of the encoded signal by adaptively combining two or more channels into a composite representation. For example, WIPO publication WO 92/12607, published July 23, 1992, discloses such a coding system for multiple channels of audio information. No special considerations are necessary to incorporate the present invention into such coding systems.
In one embodiment of a multi-channel split-band encoder, only high-frequency subband signals representing two or more of the channels are combined into a composite representation. Differential coding of subband signal scaling factors is applied to the combined representation but not to the individual low-frequency subband signals.
Various considerations may depend upon the needs of a particular coding application but they do not represent any limitation upon how the present invention may be used. Switching Criteria
An encoder can sometimes further reduce the information requirements of an encoded signal by first determining the information requirements of the encoded signal which results from the use of various coding modes, and then adaptively switching to the mode which achieves the greatest reduction. Many alternative switching functions are available. For example, a switching function may base a decision to switch between modes upon a measure of spectral shape. Lower coding modes such as D13 as opposed to D15, and broader coding modes such as D45 as opposed to D 15, are generally more efficient for coding signals with flatter spectral characteristics. One possible measure is the basic block-by-block figure of merit discussed above. Another measure is the Spectral Flatness Measure (SFM) described by Jayant and Noll, Digital Coding of Waveforms. Englewood Cliffs, NJ, 1984, pp. 56-58. The SFM describes the shape of a signal's power spectral density by a single number which ranges in value from 0 to 1. The SFM is inversely proportional to waveform predictability. A value of 1 describes an unpredictable signal with the properties of white noise. A value of zero describes a signal which is perfectly predictable. One embodiment of an encoder incorporating various aspects of the present invention adaptively switches to progressively broader coding modes as the SFM falls below progressively lower thresholds.
As another example, the switching decision may be based upon a longer-term average of a measure F(k) such as SFM or a measure such as the block-by-block figure of merit discussed earlier. An average may be obtained by applying a low-pass filter to the measure. For example, an exponentially decaying average of the calculated measure F(k) can be obtained from a simple IIR filter such as
A(k) = {F(k)-A(kΛ)}-E + A(k-\) where A(k) -*-** filtered average for iteration k, and E = filter time constant. The time constant of the filter is chosen to balance response time with stability of response across short-term conditions.
The features of the alternative embodiments discussed above may be combined in various ways and incorporated into a single embodiment. Features may also be applied selectively, either adaptively in response to signal characteristics, for example, or in an invariant manner. For example, different differential coding modes may be applied to selected subbands in response to input signal spectral shape, or they may be applied in an invariant manner based upon empirical evidence of signal characteristics. The manner in which selective application is accomplished does not limit the scope of the present invention.

Claims

1. An encoder of one or more channels of input signals comprising signal samples, said encoder comprising splitband means for generating a subband signal block comprising a plurality of subband signals by applying a filter bank to said channels of input signals, each subband signal representing a respective frequency subband of said channels of input signals, scaling means for generating scaled representations of one or more subband signals, each of said scaled representations comprising a scaling factor and one or more scaled values, differentiating means for generating a differential coded representation of one or more of said scaling factors, and formatting means for generating an encoded signal comprising said scaled values and scaling factor information representing said scaling factors.
2. An encoder according to claim 1 wherein said filter bank is implemented by one or more discrete transforms.
3. An encoder according to claim 1 wherein said filter bank is implemented by a bank of digital band-pass filters.
4. An encoder according to claim 1 wherein each of said subband signals represents a respective frequency subband of a respective one of said channels of input signals.
5. An encoder of two or more channels of input signals according to claim 1 wherein at least one of said subband signals represents a composite of a respective frequency subband of two or more of said channels of input signals.
6. An encoder according to claim 1 wherein said differential coded representation comprises information corresponding to a difference between values of individual scaling factors, each individual scaling factor associated with a single scaled value.
7. An encoder according to claim 1 wherein said differential coded representation comprises information corresponding to a difference between values of block scaling factors, each block scaling factor associated with two or more scaled values.
8. An encoder according to claim 1 wherein said scaling factor information comprises said differential coded representation.
9. An encoder according to claim 1 wherein said scaling means comprises means for generating a tentative set of scaling factors corresponding to subband signals in said subband signal block, means for storing one or more previous sets of scaling factors, means for comparing results from using the scaling factors in said tentative set with results from using respective scaling factors in said previous sets to generate scaled representations, and means for reusing one or more scaling factors in one of said previous sets by selecting scaling factors from said one previous set whenever the use of respective scaling factors in said tentative set results in higher information requirements for said encoded signal and/or the coding quality of said encoded signal is lower than is achieved by the use of said selected scaling factors from said one previous set, otherwise selecting scaling factors from said tentative set, wherein said scaling means generates said scaled representations comprising said selected scaling factors, and wherein said scaling factor information comprises an indication of reuse of selected scaling factors from said one previous set.
10. An encoder according to claim 1 wherein said splitband means further comprises means for generating one or more additional subband signal blocks each comprising a plurality of subband signals by applying a filter bank to said channels of input signals, wherein said subband signal block and said one or more additional subband signal blocks constitute a frame of blocks, wherein said scaling means generates said scaled representations using selected scaling factors, said scaling means comprising means for establishing sets of tentative scaling factors, one set for each block in said frame of blocks, means for analyzing said sets of tentative scaling factors and for establishing a set of frame scaling factors in response thereto, means for comparing, for each block in said frame of blocks, results from using said frame scaling factors with results from using respective tentative scaling factors to generate scaled representations, and means for selecting, for each block in said frame of blocks, said frame scaling factors whenever the use of said frame scaling factors results in lower information requirements of said encoded signal and/or the coding quality of said encoded signal is higher, otherwise selecting respective tentative scaling factors, and wherein said scaling factor information comprises a representation of respective tentative scaling factors in portions of said encoded signal corresponding to subband signal blocks from which scaled representations were generated using respective tentative scaling factors, a representation of said frame scaling factors in a portion of said encoded signal corresponding to a block in said frame of blocks from which scaled representations were first generated using said frame scaling factors, and an indication to reuse said frame scaling factors in portions of said encoded signal corresponding to one or more other blocks in said frame of blocks from which scaled representations were generated using said frame scaling factors.
11. An encoder according to claim 1 wherein said scaled representation is a floating-point representation, said scaling factor corresponding to a floating-point exponent and said scaled values corresponding to floating-point mantissas.
12. An encoder according to any one of claims 1 through 11 wherein said scaling means comprises means for adjusting the value of said scaling factor and said scaled values in a respective one of said scaled representations to restrict the magnitude of the difference between said scaling factor and a base value and/or one or more other scaling factors.
13. A decoder of an encoded signal comprising deformatting means for extracting from said encoded signal one or more scaled values and scaling factor information, integrating means for generating scaled representations, each scaled representation comprising a scaling factor and one or more scaled values, wherein one or more of said scaling factors is generated in response to said scaling factor information, inverse scaling means for generating a subband signal block comprising a plurality of subband signals, wherein one or more of said subband signals is generated in response to a respective one of said scaled representations, and inverse splitband means for generating one or more channels of output signals by applying an inverse filter bank to said subband signal block.
14. A decoder according to claim 13 wherein said inverse filter bank is implemented by one or more discrete inverse transforms.
15. A decoder according to claim 13 wherein said inverse filter bank is implemented by a bank of digital inverse filters.
16. A decoder according to claim 13 wherein each of said subband signals represents a respective frequency subband of a respective one of said channels of output signals.
17. A decoder according to claim 13 wherein at least one of said subband signals represents a composite of a respective frequency subband of two or more of said channels of output signals.
18. A decoder according to claim 13 wherein said differential coded representation comprises information corresponding to a difference between values of individual scaling factors, each individual scaling factor associated with a single scaled value.
19. A decoder according to claim 13 wherein said differential coded representation comprises information corresponding to a difference between values of block scaling factors, each block scaling factor associated with two or more scaled values.
20. A decoder according to claim 13 wherein said scaling factor information comprises a differential coded representation of one or more scaling factors.
21. A decoder according to claim 13 wherein said scaling factor information comprises an indication of scaling factor reuse, and wherein said integrating means comprises means for storing one or more previous sets of scaling factors, and means for incorporating one or more scaling factors from one of said previous sets into said scaled representations in response to said indication of scaling factor reuse.
22. A decoder according to claim 13 wherein said scaled representation is a floating-point representation, said scaling factor corresponding to a floating-point exponent and said scaled values corresponding to floating-point mantissas.
23. An encoding method of one or more channels of input signals comprising signal samples, said encoding method comprising generating a subband signal block comprising a plurality of subband signals by applying a filter bank to said channels of input signals, each subband signal representing a respective frequency subband of said channels of input signals, generating scaled representations of one or more subband signals, each of said scaled representations comprising a scaling factor and one or more scaled values, generating a differential coded representation of one or more of said scaling factors, and generating an encoded signal comprising said scaled values and scaling factor information representing said scaling factors.
24. An encoding method according to claim 23 wherein said filter bank is implemented by one or more discrete transforms.
25. An encoding method according to claim 23 wherein said filter bank is implemented by a bank of digital band-pass filters.
26. An encoding method according to claim 23 wherein each of said subband signals represents a respective frequency subband of a respective one of said channels of input signals.
27. An encoding method of two or more channels of input signals according to claim 23 wherein at least one of said subband signals represents a composite of a respective frequency subband of two or more of said channels of input signals.
28. An encoding method according to claim 23 wherein said differential coded representation comprises information corresponding to a difference between values of individual scaling factors, each individual scaling factor associated with a single scaled value.
29. An encoding method according to claim 23 wherein said differential coded representation comprises information corresponding to a difference between values of block scaling factors, each block scaling factor associated with two or more scaled values.
30. An encoding method according to claim 23 wherein said scaling factor information comprises said differential coded representation.
31. An encoding method according to claim 23 wherein said generating scaled representations comprises generating a tentative set of scaling factors corresponding to subband signals in said subband signal block, storing one or more previous sets of scaling factors, comparing results from using the scaling factors in said tentative set with results from using respective scaling factors in said previous sets to generate scaled representations, and reusing one or more scaling factors in one of said previous sets by selecting scaling factors from said one previous set whenever the use of respective scaling factors in said tentative set results in higher information requirements for said encoded signal and/or the coding quality of said encoded signal is lower than is achieved by the use of said selected scaling factors from said one previous set, otherwise selecting scaling factors from said tentative set, wherein said scaled representations comprise said selected scaling factors, and wherein said scaling factor information comprises an indication of reuse of selected scaling factors from said one previous set.
32. An encoding method according to claim 23 wherein said generating a subband signal block further comprises generating one or more additional subband signal blocks each comprising a plurality of subband signals by applying a filter bank to said channels of input signals, wherein said subband signal block and said one or more additional subband signal blocks constitute a frame of blocks, wherein said generating scaled representations generates said scaled representations using selected scaling factors, said generating comprising establishing sets of tentative scaling factors, one set for each block in said frame of blocks, analyzing said sets of tentative scaling factors and establishing a set of frame scaling factors in response thereto, comparing, for each block in said frame of blocks, results from using said frame scaling factors with results from using respective tentative scaling factors to generate scaled representations, and selecting, for each block in said frame of blocks, said frame scaling factors whenever the use of said frame scaling factors results in lower information requirements of said encoded signal and/or the coding quality of said encoded signal is higher, otherwise selecting respective tentative scaling factors, and wherein said scaling factor information comprises a representation of respective tentative scaling factors in portions of said encoded signal corresponding to subband signal blocks from which scaled representations were generated using respective tentative scaling factors, a representation of said frame scaling factors in a portion of said encoded signal corresponding to a block in said frame of blocks from which scaled representations were first generated using said frame scaling factors, and an indication to reuse said frame scaling factors in portions of said encoded signal corresponding to one or more other blocks in said frame of blocks from which scaled representations were generated using said frame scaling factors.
33. An encoding method according to claim 23 wherein said scaled representation is a floating-point representation, said scaling factor corresponding to a floating-point exponent and said scaled values corresponding to floating-point mantissas.
34. An encoding method according to any one of claims 23 through 33 wherein said generating scaled representations comprises adjusting the value of said scaling factor and said scaled values in a respective one of said scaled representations to restrict the magnitude of the difference between said scaling factor and a base value and/or one or more other scaling factors.
35. A decoding method of an encoded signal comprising extracting from said encoded signal one or more scaled values and scaling factor information, generating scaled representations, each scaled representation comprising a scaling factor and one or more scaled values, wherein one or more of said scaling factors is generated in response to said scaling factor information, generating a subband signal block comprising a plurality of subband signals, wherein one or more of said subband signals is generated in response to a respective one of said scaled representations, and generating one or more channels of output signals by applying an inverse filter bank to said subband signal block.
36. A decoding method according to claim 35 wherein said inverse filter bank is implemented by one or more discrete inverse transforms.
37. A decoding method according to claim 35 wherein said inverse filter bank is implemented by a bank of digital inverse filters.
38. A decoding method according to claim 35 wherein each of said subband signals represents a respective frequency subband of a respective one of said channels of output signals.
39. A decoding method according to claim 35 wherein at least one of said subband signals represents a composite of a respective frequency subband of two or more of said channels of output signals.
40. A decoding method according to claim 35 wherein said differential coded representation comprises information corresponding to a difference between values of individual scaling factors, each individual scaling factor associated with a single scaled value.
41. A decoding method according to claim 35 wherein said differential coded representation comprises information corresponding to a difference between values of block scaling factors, each block scaling factor associated with two or more scaled values.
42. A decoding method according to claim 35 wherein said scaling factor information comprises a differential coded representation of one or more scaling factors.
43. A decoding method according to claim 35 wherein said scaling factor information comprises an indication of scaling factor reuse, and wherein said generating a subband signal block comprises storing one or more previous sets of scaling factors, and incorporating one or more scaling factors from one of said previous sets into said scaled representations in response to said indication of scaling factor reuse.
44. A decoding method according to claim 35 wherein said scaled representation is a floating-point representation, said scaling factor corresponding to a floating-point exponent and said scaled values corresponding to floating-point mantissas.
PCT/US1994/009736 1993-08-31 1994-08-30 Sub-band coder with differentially encoded scale factors WO1995006984A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU76765/94A AU685505B2 (en) 1993-08-31 1994-08-30 Sub-band coder with differentially encoded scale factors
JP50821395A JP3940165B2 (en) 1993-08-31 1994-08-30 Low bit rate high resolution spectral envelope coding for audio
CA002167527A CA2167527C (en) 1993-08-31 1994-08-30 Sub-band coder with differentially encoded scale factors
DE69401517T DE69401517T2 (en) 1993-08-31 1994-08-30 SUB-BAND ENCODER WITH DIFFERENTIALLY CODED SCALE FACTORS
EP94927268A EP0716787B1 (en) 1993-08-31 1994-08-30 Sub-band coder with differentially encoded scale factors

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/115,513 1993-08-31
US08/115,513 US5581653A (en) 1993-08-31 1993-08-31 Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder

Publications (1)

Publication Number Publication Date
WO1995006984A1 true WO1995006984A1 (en) 1995-03-09

Family

ID=22361888

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1994/009736 WO1995006984A1 (en) 1993-08-31 1994-08-30 Sub-band coder with differentially encoded scale factors

Country Status (11)

Country Link
US (1) US5581653A (en)
EP (1) EP0716787B1 (en)
JP (1) JP3940165B2 (en)
AT (1) ATE147910T1 (en)
AU (1) AU685505B2 (en)
CA (1) CA2167527C (en)
DE (1) DE69401517T2 (en)
DK (1) DK0716787T3 (en)
ES (1) ES2097061T3 (en)
SG (1) SG48278A1 (en)
WO (1) WO1995006984A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003036A1 (en) * 1996-07-12 1998-01-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Process for coding and decoding stereophonic spectral values
WO2007046027A1 (en) * 2005-10-21 2007-04-26 Nokia Corporation Audio coding
WO2008094008A1 (en) * 2007-02-01 2008-08-07 Samsung Electronics Co., Ltd. Audio encoding and decoding apparatus and method thereof
CZ300954B6 (en) * 1999-01-07 2009-09-23 Koninklijke Philips Electronics N. V. Process of and apparatus for encoding digital information signal, decoding apparatus and record carrier

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1111959C (en) * 1993-11-09 2003-06-18 索尼公司 Quantization apparatus, quantization method, high efficiency encoder, high efficiency encoding method, decoder, high efficiency encoder and recording media
PL311812A1 (en) * 1994-04-01 1996-03-18 Sony Corp Method of and apparatus for encoding information, method of and apparatus fro decoding information, method of transmitting information and information recording medium
KR960704300A (en) * 1994-05-25 1996-08-31 이데이 노부유키 Encoding method, decoding method, encoding / decoding method, encoding apparatus, decoding apparatus, and encoding / decoding apparatus (Encoding method, decoding method, encoding / decoding method, encoding apparatus, decoding apparatus, and encoding / decoding apparatus)
US6301555B2 (en) * 1995-04-10 2001-10-09 Corporate Computer Systems Adjustable psycho-acoustic parameters
US6700958B2 (en) 1995-04-10 2004-03-02 Starguide Digital Networks, Inc. Method and apparatus for transmitting coded audio signals through a transmission channel with limited bandwidth
US6263307B1 (en) 1995-04-19 2001-07-17 Texas Instruments Incorporated Adaptive weiner filtering using line spectral frequencies
JP2976860B2 (en) * 1995-09-13 1999-11-10 松下電器産業株式会社 Playback device
US5890125A (en) * 1997-07-16 1999-03-30 Dolby Laboratories Licensing Corporation Method and apparatus for encoding and decoding multiple audio channels at low bit rates using adaptive selection of encoding method
US6091773A (en) * 1997-11-12 2000-07-18 Sydorenko; Mark R. Data compression method and apparatus
US6839674B1 (en) * 1998-01-12 2005-01-04 Stmicroelectronics Asia Pacific Pte Limited Method and apparatus for spectral exponent reshaping in a transform coder for high quality audio
US7194757B1 (en) 1998-03-06 2007-03-20 Starguide Digital Network, Inc. Method and apparatus for push and pull distribution of multimedia
US8284774B2 (en) 1998-04-03 2012-10-09 Megawave Audio Llc Ethernet digital storage (EDS) card and satellite transmission system
US6160797A (en) 1998-04-03 2000-12-12 Starguide Digital Networks, Inc. Satellite receiver/router, system, and method of use
DE69826529T2 (en) * 1998-04-15 2005-09-22 Stmicroelectronics Asia Pacific (Pte) Ltd. FAST DATA FRAME OPTIMIZATION IN AN AUDIO ENCODER
DE19840835C2 (en) 1998-09-07 2003-01-09 Fraunhofer Ges Forschung Apparatus and method for entropy coding information words and apparatus and method for decoding entropy coded information words
JP3352406B2 (en) * 1998-09-17 2002-12-03 松下電器産業株式会社 Audio signal encoding and decoding method and apparatus
US6199041B1 (en) * 1998-11-20 2001-03-06 International Business Machines Corporation System and method for sampling rate transformation in speech recognition
SE9903553D0 (en) 1999-01-27 1999-10-01 Lars Liljeryd Enhancing conceptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL)
SE9903552D0 (en) * 1999-01-27 1999-10-01 Lars Liljeryd Efficient spectral envelope coding using dynamic scalefactor grouping and time / frequency switching
KR100297832B1 (en) * 1999-05-15 2001-09-26 윤종용 Device for processing phase information of acoustic signal and method thereof
US6324505B1 (en) 1999-07-19 2001-11-27 Qualcomm Incorporated Amplitude quantization scheme for low-bit-rate speech coders
JP4287545B2 (en) * 1999-07-26 2009-07-01 パナソニック株式会社 Subband coding method
JP4242516B2 (en) * 1999-07-26 2009-03-25 パナソニック株式会社 Subband coding method
JP2001094433A (en) * 1999-09-17 2001-04-06 Matsushita Electric Ind Co Ltd Sub-band coding and decoding medium
US6978236B1 (en) 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
EP1228569A1 (en) * 1999-10-30 2002-08-07 STMicroelectronics Asia Pacific Pte Ltd. A method of encoding frequency coefficients in an ac-3 encoder
SE0001926D0 (en) * 2000-05-23 2000-05-23 Lars Liljeryd Improved spectral translation / folding in the subband domain
US6647365B1 (en) * 2000-06-02 2003-11-11 Lucent Technologies Inc. Method and apparatus for detecting noise-like signal components
SE0202159D0 (en) 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US8605911B2 (en) 2001-07-10 2013-12-10 Dolby International Ab Efficient and scalable parametric stereo coding for low bitrate audio coding applications
EP1423847B1 (en) 2001-11-29 2005-02-02 Coding Technologies AB Reconstruction of high frequency components
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
JP3765413B2 (en) * 2002-07-12 2006-04-12 ソニー株式会社 Information encoding apparatus and method, information decoding apparatus and method, recording medium, and program
SE0202770D0 (en) 2002-09-18 2002-09-18 Coding Technologies Sweden Ab Method of reduction of aliasing is introduced by spectral envelope adjustment in real-valued filterbanks
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
US20040083495A1 (en) * 2002-10-29 2004-04-29 Lane Richard D. Mulitmedia transmission using variable gain amplification based on data importance
US7272566B2 (en) * 2003-01-02 2007-09-18 Dolby Laboratories Licensing Corporation Reducing scale factor transmission cost for MPEG-2 advanced audio coding (AAC) using a lattice based post processing technique
US7460990B2 (en) 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
DE102004007200B3 (en) * 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for audio encoding has device for using filter to obtain scaled, filtered audio value, device for quantizing it to obtain block of quantized, scaled, filtered audio values and device for including information in coded signal
DE102004007184B3 (en) * 2004-02-13 2005-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for quantizing an information signal
DE102004007191B3 (en) * 2004-02-13 2005-09-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding
DE102004039345A1 (en) * 2004-08-12 2006-02-23 Micronas Gmbh Method and device for noise suppression in a data processing device
US8270439B2 (en) * 2005-07-08 2012-09-18 Activevideo Networks, Inc. Video game system using pre-encoded digital audio mixing
US7630882B2 (en) * 2005-07-15 2009-12-08 Microsoft Corporation Frequency segmentation to obtain bands for efficient coding of digital media
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
US7953604B2 (en) * 2006-01-20 2011-05-31 Microsoft Corporation Shape and scale parameters for extended-band frequency coding
US8190425B2 (en) 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
US7590523B2 (en) * 2006-03-20 2009-09-15 Mindspeed Technologies, Inc. Speech post-processing using MDCT coefficients
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
EP3145200A1 (en) 2007-01-12 2017-03-22 ActiveVideo Networks, Inc. Mpeg objects and systems and methods for using mpeg objects
WO2008114080A1 (en) * 2007-03-16 2008-09-25 Nokia Corporation Audio decoding
US7761290B2 (en) 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio
US8046214B2 (en) * 2007-06-22 2011-10-25 Microsoft Corporation Low complexity decoder for complex transform coding of multi-channel sound
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
KR101403340B1 (en) * 2007-08-02 2014-06-09 삼성전자주식회사 Method and apparatus for transcoding
US8249883B2 (en) 2007-10-26 2012-08-21 Microsoft Corporation Channel extension coding for multi-channel source
KR101599875B1 (en) * 2008-04-17 2016-03-14 삼성전자주식회사 Method and apparatus for multimedia encoding based on attribute of multimedia content, method and apparatus for multimedia decoding based on attributes of multimedia content
KR20090110242A (en) * 2008-04-17 2009-10-21 삼성전자주식회사 Method and apparatus for processing audio signal
KR20090110244A (en) * 2008-04-17 2009-10-21 삼성전자주식회사 Method for encoding/decoding audio signals using audio semantic information and apparatus thereof
US8290782B2 (en) * 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
JP2010079275A (en) * 2008-08-29 2010-04-08 Sony Corp Device and method for expanding frequency band, device and method for encoding, device and method for decoding, and program
US11657788B2 (en) 2009-05-27 2023-05-23 Dolby International Ab Efficient combined harmonic transposition
TWI643187B (en) 2009-05-27 2018-12-01 瑞典商杜比國際公司 Systems and methods for generating a high frequency component of a signal from a low frequency component of the signal, a set-top box, a computer program product and storage medium thereof
US9245529B2 (en) * 2009-06-18 2016-01-26 Texas Instruments Incorporated Adaptive encoding of a digital signal with one or more missing values
US8194862B2 (en) * 2009-07-31 2012-06-05 Activevideo Networks, Inc. Video game system with mixing of independent pre-encoded digital audio bitstreams
KR20130138263A (en) 2010-10-14 2013-12-18 액티브비디오 네트웍스, 인코포레이티드 Streaming digital video between video devices using a cable television system
EP2695388B1 (en) 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US9536534B2 (en) * 2011-04-20 2017-01-03 Panasonic Intellectual Property Corporation Of America Speech/audio encoding apparatus, speech/audio decoding apparatus, and methods thereof
JP5942358B2 (en) * 2011-08-24 2016-06-29 ソニー株式会社 Encoding apparatus and method, decoding apparatus and method, and program
US8527264B2 (en) * 2012-01-09 2013-09-03 Dolby Laboratories Licensing Corporation Method and system for encoding audio data with adaptive low frequency compensation
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
ES2905846T3 (en) 2013-01-29 2022-04-12 Fraunhofer Ges Forschung Apparatus and method for generating a boosted frequency signal by temporal smoothing of subbands
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
WO2019091573A1 (en) * 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0064119A2 (en) * 1981-04-30 1982-11-10 International Business Machines Corporation Speech coding methods and apparatus for carrying out the method
WO1988010035A1 (en) * 1987-06-04 1988-12-15 Motorola, Inc. Protection of energy information in sub-band coding
DE4102324C1 (en) * 1991-01-26 1992-06-17 Institut Fuer Rundfunktechnik Gmbh, 8000 Muenchen, De

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2389277A1 (en) * 1977-04-29 1978-11-24 Ibm France QUANTIFICATION PROCESS WITH DYNAMIC ALLOCATION OF THE AVAILABLE BIT RATE, AND DEVICE FOR IMPLEMENTING THE SAID PROCESS
US4550425A (en) * 1982-09-20 1985-10-29 Sperry Corporation Speech sampling and companding device
DE3506912A1 (en) * 1985-02-27 1986-08-28 Telefunken Fernseh Und Rundfunk Gmbh, 3000 Hannover METHOD FOR TRANSMITTING AN AUDIO SIGNAL
DE3639753A1 (en) * 1986-11-21 1988-06-01 Inst Rundfunktechnik Gmbh METHOD FOR TRANSMITTING DIGITALIZED SOUND SIGNALS
US5109417A (en) * 1989-01-27 1992-04-28 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0064119A2 (en) * 1981-04-30 1982-11-10 International Business Machines Corporation Speech coding methods and apparatus for carrying out the method
WO1988010035A1 (en) * 1987-06-04 1988-12-15 Motorola, Inc. Protection of energy information in sub-band coding
DE4102324C1 (en) * 1991-01-26 1992-06-17 Institut Fuer Rundfunktechnik Gmbh, 8000 Muenchen, De

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003036A1 (en) * 1996-07-12 1998-01-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Process for coding and decoding stereophonic spectral values
US6771777B1 (en) 1996-07-12 2004-08-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Process for coding and decoding stereophonic spectral values
CZ300954B6 (en) * 1999-01-07 2009-09-23 Koninklijke Philips Electronics N. V. Process of and apparatus for encoding digital information signal, decoding apparatus and record carrier
WO2007046027A1 (en) * 2005-10-21 2007-04-26 Nokia Corporation Audio coding
WO2008094008A1 (en) * 2007-02-01 2008-08-07 Samsung Electronics Co., Ltd. Audio encoding and decoding apparatus and method thereof

Also Published As

Publication number Publication date
DK0716787T3 (en) 1997-06-23
CA2167527A1 (en) 1995-03-09
DE69401517D1 (en) 1997-02-27
DE69401517T2 (en) 1997-06-12
ES2097061T3 (en) 1997-03-16
EP0716787A1 (en) 1996-06-19
JP3940165B2 (en) 2007-07-04
SG48278A1 (en) 1998-04-17
US5581653A (en) 1996-12-03
CA2167527C (en) 2004-05-18
ATE147910T1 (en) 1997-02-15
EP0716787B1 (en) 1997-01-15
JPH09502314A (en) 1997-03-04
AU685505B2 (en) 1998-01-22
AU7676594A (en) 1995-03-22

Similar Documents

Publication Publication Date Title
EP0716787B1 (en) Sub-band coder with differentially encoded scale factors
CA2164964C (en) Hybrid adaptive allocation for audio encoder and decoder
EP1537562B1 (en) Low bit-rate audio coding
US5451954A (en) Quantization noise suppression for encoder/decoder system
US5623577A (en) Computationally efficient adaptive bit allocation for encoding method and apparatus with allowance for decoder spectral distortions
US5699484A (en) Method and apparatus for applying linear prediction to critical band subbands of split-band perceptual coding systems
EP0610975A2 (en) Coded signal formatting for encoder and decoder of high-quality audio
US6735339B1 (en) Multi-stage encoding of signal components that are classified according to component value
EP1175670B1 (en) Using gain-adaptive quantization and non-uniform symbol lengths for audio coding
EP2302622A1 (en) Method of and appartus for encoding/decoding digital signal using linear quantization by sections
AU677688B2 (en) Computationally efficient adaptive bit allocation for encoding method and apparatus with allowance for decoder spectral distortions
Rabipour Sub-band Coding of Speech
Trinkaus Wideband audio compression using subband coding and entropy-constrained scalar quantization

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2167527

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1994927268

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1994927268

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1994927268

Country of ref document: EP