Apparatus and method for data compression

Abstract: Apparatus for compressing a digital input signal, to provide a compressed digital output signal, comprises means (11-15) for deriving plural spectral coefficients from the digital input signal, and for grouping the spectral coefficients into bands, and adaptive bit allocation means (16-18) for adaptively allocating a number of signal-dependent quantizing bits among the bands to allocate to each band a number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band, the number of signal-dependent quantizing bits allocated to each band being determined according to the band magnitude, weighted depending on the band frequency.

Description: This invention relates to apparatus for and methods of compressing digital signals. A variety of techniques for compressing digital audio or voice signals are known. An example of such a technique in sub-band coding, which is a non-block-forming frequency band dividing system in which the input audio signal is not divided in time into blocks, but is divided in frequency by a filter into plural frequency bands for quantization. In a block-forming frequency band dividing system, such as a transform encoding system, the input audio signal in the time domain is converted into spectral coefficients in the frequency domain by an orthogonal transform. The resulting spectral coefficients are divided into plural frequency bands, and the spectral coefficients in each band are quantized. There is also known a technique consisting of a combination of sub-band coding and transform coding, in which frequency range signals produced by dividing the input audio signal in frequency are individually orthogonally transformed into spectral coefficients. The spectral coefficients are then divided into plural frequency bands, and the spectral coefficients in each band are then quantized. Among the filters useful for dividing a digital audio input signal into bands is the quadrature mirror (QMF) filter, which is described, for example, in R. E. Crochiere, Digital Coding of Speech in Sub-bands, 55 Bell Syst. Tech. J. No.8, (1976). The technique of dividing the audio input signal in frequency into frequency bands of an equal width is discussed in Joseph H. Rothweiler, Polyphase Quadrature Filters-a New Sub-band Coding Technique, ICASSP 83, BOSTON (1983). Among the techniques for carrying out an orthogonal transform, it is known to divide the digital audio input signal in time into blocks of a predetermined number of samples and having a predetermined duration, and to process each block using a fast Fourier transform, a discrete cosine transform, or a modified discrete cosine transform (MDCT) to convert the signal in the time domain into a signal in the frequency domain. A description of the MDCT may be found in J. P. Princen & A. B. Bradley, Sub-Band/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation, ICASSP 1987 (1987). As a technique for quantizing the respective spectral coefficients obtained by frequency division, a sub-band system which takes into account characteristics of the human sense of hearing is known. The audio signal may be divided in frequency into plural bands, such as 25 critical bands which have a bandwidth that increases with increasing frequency. When the spectral coefficients in each of the respective bands are quantized, the spectral coefficients are quantized by adaptive bit allocation applied to each band. For example, when quantizing the spectral coefficients resulting from an MDCT, the spectral coefficients are divided into bands and the spectral coefficients in each band are quantized using an adaptively-determined number of bits. Among known adaptive bit allocation techniques, two will be discussed. First, in the technique described in ASSP-25, IEEE Transactions of Acoustics, Speech, and Signal Processing, No.4, August 1977, bit allocation is carried out on the basis of the magnitude of the signals of the respective bands. Although this system provides a flat quantization noise spectrum, and minimizes noise energy, the actual noise perceived by the listener is not minimized because this technique does not exploit the masking characteristics on the human sense of hearing. On the other hand, the technique described in M. A. Kransner, The Critical Band Coder-Digital Encoding of the Perceptual Requirements of the Auditory System, ICASSP 1980, uses the masking characteristics of the human sense of hearing to determine the signal-to-noise ratio necessary for each band in making a fixed quantizing bit allocation. However, this technique provides relatively poor results with a single sine-wave input because the bit allocation remains fixed. To overcome the above-mentioned drawbacks in the bit allocation techniques discussed above, a data compression apparatus described in European Patent Application Publication No. EP-A-0 525 809 which is part of the State of the Art pursuant to Article 54(3) and (4) EPC, the specification of which is incorporated herein by reference, has been proposed. In this apparatus, the total number of bits available for quantizing all the spectral coefficients resulting from an orthogonal transform is divided between bits to be allocated according to a fixed bit allocation pattern and bits to be allocated according to a variable bit allocation pattern. The total number of bits allocated for quantizing each of the spectral coefficients in each band is the sum of the number of bits allocated to the band according to the fixed bit allocation pattern and the number of bits allocated to the band according to the variable bit allocation pattern. The division ratio of the total number of quantizing bits between the fixed and variable bit allocation patterns can be variable, depending on a signal related to the input signal such that, the smoother the signal spectrum, the larger is division ratio for the fixed bit allocation pattern. For each block of the digital audio input signal, the number of bits allocated for quantizing each of the spectral coefficients in each band according to the fixed bit allocation pattern is fixed, whereas the number of bits allocated for quantizing the spectral coefficients in each band according to the variable bit allocation pattern depends on the band magnitude in each band. The band magnitude can be any one of the energy of the band, the peak level in the band, the integrated level over the band, or some other suitable parameter relating to the band. If the energy of the input signal is concentrated in particular spectral regions, as in the case of a single sine wave input, the quantizing bit allocation technique just described enables the number of bits allocated to bands containing high levels of spectral energy to be increased to improve the overall signal-to-noise characteristics. Since the human sense of hearing is, in general, highly sensitive to signals containing narrow spectral components, the above bit allocation technique improves not only the measured value of signal-to-noise ratio, but also the signal-to-noise ratio perceived by the human listener. However, if signal-dependent bit allocation is performed simply with the purpose of improving the signal-to-noise characteristics, a sufficient number of bits cannot be allocated to bands corresponding to the spectral regions in a signal containing a large number of narrow spectral components, such as the sound of a triangle. With such a signal, it is desirable to improve the sound quality provided by the bit allocation technique just described. GLOBECOM '90 vol. 1, December 1990, NY, pages 518 - 522, MAHIEUX ET AL: 'Transform Coding of Audio Signals at 64Kbits/s' (this document is annexed to this Communication) discloses apparatus for compressing a digital input signal to provide a compressed digital output signal, the apparatus comprising means for deriving plural spectral coefficients from the digital input signal, and for grouping the spectral coefficients into bands; and adaptive bit allocation means for adaptively allocating a number of signal dependent quantizing bits among the bands to allocate to each band a number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band, and a bit allocation in which the number of signal-dependent quantizing bits allocated to each band being determined according to the band magnitude, weighted depending on the band frequency. US-A-4 535 472 discloses the use of fixed bit allocation patterns in an audio signal compression apparatus. EP-A-420 475 disloses an invention relating to a digital signal encoding apparatus in which the width of the range is selected to be wider for the higher frequency range of the digital signals divided into a plurality of regions and in which the encoded signals are synthesized for the respective ranges, wherein encoding is conrtrolled as a function of the output detecting the characteristics of the components of the divided frequency ranges and the detection time interval is selected to be longer for the lower frequency to enable more efficient encoding to be performed as a function of the properties of input digital signals. According to a first aspect of the invention there is provided apparatus for compressing a digital input signal to provide a compressed digital output signal, the apparatus comprising: means for deriving plural spectral coefficients from the digital input signal, and for grouping the spectral coefficients into bands; means for allocating a number of fixed-pattern quantizing bits among the bands according to a fixed bit allocation pattern defining, for each band, a number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band, and means for adaptively allocating a number of signal-dependent quantizing bits among the bands to allocate to each band a number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band, the number of signal-dependent quantizing bits allocated to each band being determined according to the band magnitude weighted depending on the band frequency; and a quantizing means for quantizing each spectral coefficient in a band using a number of quantizing bits equal to the sum of the number of signal-dependent quantizing bits allocated for quantizing each spectral coefficient in the band and the number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band. With a data compression apparatus embodying the invention, the total number of bits available for bit allocation may be distributed to a fixed bit allocation pattern in which the number of bits is prefixed for each short time duration and to a variable bit allocation pattern in which bit allocation is achieved depending on the signal magnitude from block to block. Besides, not only the fixed bit allocation pattern but also the variable bit allocation pattern dependent on the block-to-block signal magnitude is achieved by weighting from one frequency range of the block to another. The weighting depending on the band frequency is performed most effectively when the number of energy-dependent quantizing bits allocated to lower frequency bands for a given band energy is increased. This is because noise at higher frequencies is less audible because of the frequency characteristics of the human hearing mechanism, and also because noise at higher frequencies tends to be masked by lower frequency signals. Consequently, the adaptive bit allocation means may be so designed that more bits are allocated to lower frequency bands for the same signal energy as a way of performing the above-mentioned weighting of the bit allocation in each band. The apparatus may additionally comprise a fixed bit allocation means that allocates a number of fixed-pattern quantizing bits among the bands according to a fixed bit allocation pattern defining, for each band, a number of fixed-pattern quantizing bits allocated for quantizing each of the spectral coefficients in the band. The apparatus may also include a quantizing device for quantizing each of the spectral coefficients in a band using a number of quantizing bits. The number of quantizing bits may be equal to the sum of the number of energy-dependent quantizing bits allocated for quantizing each of the spectral coefficients in the band and the number of fixed-pattern quantizing bits allocated for quantizing each of the spectral coefficients in the band. Although the ratio between the bits allocated according to a fixed allocation pattern and the bits allocated according to a signal-dependent bit allocation pattern may be fixed, sound quality can be further improved by making this ratio variable in response to the input signal. Consequently, data compression apparatus embodying the invention may provide a total number of available quantizing bits for quantizing all the spectral coefficients and may additionally include a division ratio determining device for determining a division of the total number of available quantizing bits between the number of energy-dependent quantizing bits and the number of fixed-pattern quantizing bits in response to the smoothness of the spectrum of the digital input signal. The sound quality perceived by a listener can be further improved by providing a plurality of weighting patterns and selecting the appropriate one of the weighting patterns in response to the input signal, or by progressively changing weighting variables in response to the input signal. Consequently, data compression apparatus embodying the invention may store plural frequency-dependent weighting patterns, and select, in response to the digital input signal, and providing to the adaptive bit allocation means as a selected frequency-dependent weighting pattern, an appropriate one of the stored frequency-dependent weighting patterns. Alternatively, the adaptive bit allocation means may weight the energy of each band by a weighting coefficient dependent on the digital input signal and the frequency of the band. In a data compression apparatus (compressor) embodying the invention, the number of signal dependent quantizing bits allocated to quantize the spectral coefficients in each band is determined by the band magnitude, and weighted in dependence on the band frequency to allocate quantizing bits more efficiently and compatibly with the human sense of hearing. With this technique, improved sound quality is achieved, especially with input signals having plural narrow lone spectral components, even at low bit rates. A preferred embodiment of the invention described below in detail provides data compression apparatus that provides a data compression using signal-weighted quantizing bit allocation. Specifically, the preferred apparatus provides a high degree of compression of a digital audio input signal, and provides a compressed signal that, after expansion, decoding, and reproduction, has an acceptable sound quality as perceived by the listener, even when the signal includes a large number of narrow spectral components. According to a second aspect of the invention there is provided a method of compressing a digital input signal to provide a compressed digital output signal, the method comprising the steps of: deriving plural spectral coefficients from the digital input signal, and grouping the spectral coefficients into bands; allocating a number of fixed-pattern quantizing bits among the bands according to a fixed bit allocation pattern defining, for each band, a number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band, adaptively allocating a number of signal-dependent quantizing bits among the bands to allocate to each band a number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band, the number of signal-dependent quantizing bits allocated to each band being determined according to the band magnitude weighted depending on the band frequency; and quantizing each spectral coefficient in a band using a number of quantizing bits equal to the sum of the number of signal-dependent quantizing bits allocated for quantizing each spectral coefficient in the band and the number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band. According to a third aspect of the invention there is provided a system comprising apparatus for compressing a digital input signal according to said first aspect and an expander for expanding a compressed digital signal derived from the compressing apparatus, the expander comprising: a means for separating from the compressed digital signal, for each band, the quantized spectral coefficients and the data indicating the number of quantizing bits; a means for dequantizing, for each band, the quantized spectral coefficients in response to the data indicating the number of quantizing bits; and a means for deriving the output signal from the dequantized spectral coefficients. The invention will now be further described, by way of illustrative and nonlimiting example, with reference to the accompanying drawings, in which: Figure 1 is a block circuit diagram showing a typical construction of a data compression apparatus embodying the invention; Figure 2 is a diagrammatic view for explaining frequency and time division of an input signal in the apparatus shown in Figure 1; Figure 3 is a block circuit diagram showing the construction of an adaptive bit allocation and quantizing circuit of the apparatus shown in Figure 1; Figures 4A to 4D are frequency response curves showing four different weighting patterns, frequency on a logarithmic scale being plotted on the x-axis and relative level, in decibels, being plotted on the y-axis in each of these curves; Figure 5 is a graph showing a Bark spectrum in which frequency on a logarithmic scale is plotted on the x-axis, and level, in decibels, is plotted on the y-axis; Figure 6 is a graph showing the spectrum of an input signal including narrow spectral components in which frequency on a logarithmic scale is plotted on the x-axis, and level, in decibels, is plotted on the y-axis; Figure 7 is a graph for explaining bit allocation to the input signal shown in Figure 6 by the apparatus shown in Figure 1, frequency on a logarithmic scale being plotted on the x-axis and the number of bits being plotted on the y-axis; and Figure 8 is a block circuit diagram showing the typical construction of a complementary data expander embodying the invention. Referring to the drawings, an illustrative embodiment of the present invention will be described in detail. The data compression apparatus shown in Figure 1 is designed for compressing a digital audio input signal supplied to the input terminal 10 by adaptive bit allocation. The apparatus includes the adaptive bit allocation and quantizing circuits 16 through 18, by means of which the total number of quantizing bits available for allocation among the bands is divided between bits for allocation according to a fixed bit allocation pattern and bits for allocation according to a variable bit allocation pattern. For each block, into which the input signal is divided in time, a fixed number of bits allocated to each band, into which the input signal is divided in frequency, according to the fixed bit allocation pattern, and a variable number of bits allocated to each band depending on the band magnitude of each band. Variable bit allocation is carried out using weighting depending on the frequency of each band. Noise at higher frequencies is less perceptible to the human sense of hearing than noise at lower frequencies. This is because of the frequency response characteristics of the human sense of having, and also because lower-frequency signals tend to mask higher-frequency signals (or noise). Accordingly, it is more effective to apply the weighting so that, for a given energy level, the number of bits allocated to lower-frequency bands is increased compared with the number of bits allocated to the lower-frequency bands when weighting is not employed. Since the number of available quantizing bits is fixed, increasing the number of bits allocated to lower-frequency bands decreases the number of bits allocated to higher-frequency bands. Consequently, the adaptive bit allocation and quantizing circuits 16 through 18 may be so designed that bit allocation is weighted according to the frequency of the bands, so that, for a given signal energy, more bits are allocated to the lower-frequency bands than are allocated to the higher-frequency bands. In the present apparatus, the ratio between the number of bits allocated according to a fixed bit allocation pattern and the number of bits allocated according to a variable bit allocation pattern may be fixed, or may depend on the input signal. The sound quality is improved if the ratio is made to depend on the input signal. Consequently, bit allocation may be carried out by the adaptive bit allocation and quantizing circuits 16 through 18 with an input signal-dependent ratio between the number of bits allocated according to a fixed bit allocation pattern and the number of bits allocated according to a variable bit allocation pattern. By providing a plurality of weighting patterns, and selecting an appropriate one of the weighting patterns according to the input signal, or by gradually changing the weighting factors according to the input signal, the bit allocation may be made more compatible with the characteristics of the human sense of hearing, and the sound quality may be further improved. Consequently, the adaptive bit allocation and quantizing circuits 16 through 18 may carry out bit allocation, which, for each block of the input signal, depends on the weighted band magnitude in each band, which, in turn, depends on weighting dependent on the frequency of each band, using weighting coefficients that can be changed according to the input signal. Referring to Figure 1, an embodiment of a data compression apparatus in which a digital input audio signal, such as a PCM audio signal, is compressed using the techniques of sub-band coding, adaptive transform coding, and adaptive bit allocation, will now be described. The circuit shown in Figure 1 may be constructed using digital logic chips, or may be realized using a suitably-programmed microprocessor and associated memory. The circuit may also be constructed using a suitably-programmed digital signal processor chip and associated memory. In the data compression apparatus shown in Figure 1, a digital input audio signal is divided in frequency into a plurality of frequency ranges by a filter. The signal in each frequency range is divided in the time domain into blocks, and each block of each frequency range signal is orthogonally transformed to provide plural spectral coefficients. The resulting spectral coefficients in the frequency domain are grouped into bands, and the spectral coefficients in each band are quantized by adaptive bit allocation in which quantizing bits are allocated for quantizing the spectral coefficients in each band. Alternatively, the spectral coefficients may be generated by using suitable filters to divide the input signal in frequency into plural narrow frequency bands without dividing the inputs signal in time. The spectral coefficients are preferably grouped into critical bands, which take the characteristics of the human sense of hearing into account. The term "critical band" means a frequency band produced by a frequency division system that takes the frequency discrimination characteristics of the human sense of hearing into account. A critical band is a band of noise that can be masked by a pure sound having the same intensity as the band of noise, and a frequency in the middle of the band of noise. The width of the critical band increases with increasing frequency. The audio frequency range of 0 Hz to 20 kHz is normally divided into 25 critical bands. In the embodiment shown, the block size or block length into which the input signal is divided in time is adaptively changed in response to the input signal before the orthogonal transform. Block floating may be applied to each block of each frequency range signal before the block is orthogonally transformed. Additionally, block floating is applied to the spectral coefficients in each critical band, and to sub-bands obtained by dividing the higher-frequency critical bands in frequency. Referring to Figure 1, a PCM digital audio input signal in the frequency range of 0 Hz to 20 kHz, for example, is supplied to the input terminal 10. The input signal is divided by the band-dividing filter 11, which is preferably a Quadrature Mirror (QMF) filter, into a frequency range signal in the frequency range of 0 Hz to 10 kHz and a high frequency range signal in the frequency range of 10 to 20 kHz. The frequency range signal in the frequency range of 0 Hz to 10 kHz is further divided by the band-dividing filter 12, which is also preferably a QMF filter, into a low frequency range signal in the frequency range of 0 Hz to 5 kHz and a middle frequency range signal in the frequency range of 5 to 10 kHz. The 10 kHz to 20 kHz frequency range signal from the band-dividing filter 11 is fed into the orthogonal transform circuit, 13, which is preferably a modified discrete cosine transform (MDCT) circuit, and the block size decision circuit 19. The 5 kHz to 10 kHz frequency range signal from the band-dividing filter 12 is fed into the MDCT circuit 14, and the block size decision circuit 12. The 0 Hz to 5 kHz frequency range signal from the band-dividing filter 12 is fed into the MDCT circuit 14, and the block size decision circuit 21. The block size that is subject to MDCT processing is decided in each of the block size decision circuits 19, 20 and 21. The frequency range signals from the band-dividing filters 11 and 12 are MDCT processed by the MDCT circuits 13, 14 and 15 using block sizes indicated by block size data supplied from the block size decision circuits 19, 20 and 21. Figure 2 shows a practical example of block sizes used by the MDCT circuits 13, 14 and 15. In this, the frequency ranges are made wider and the time resolution is increased (i.e., the block length is made shorter) in the direction of increasing frequency. In the same time as one MDCT operation carried out on the blocks b L , b M of the low-frequency range signal (0 Hz to 5 kHz) and the middle frequency range signal (5 to 10 kHz), respectively, two MDCT operations are carried out on the blocks b H1 , b H2 of the high frequency range signal (10 to 20 kHz). The arrangement just described enables the construction of the apparatus to be simplified by having the same number of spectral coefficients in each frequency range, were providing a frequency resolution that is greater in the low- and middle-frequency ranges, where frequency resolution is critical, and a time resolution that is greater in the high-frequency range, because transient signals include more high frequency components. Additionally, the time resolution in all the frequency ranges may be adaptively increased when the input signal undergoes significant temporal changes by further dividing the block lengths by a factor of 2 or 4. Returning to Figure 1, spectral coefficients in the frequency domain, which are preferably produced by MDCT processing by the MDCT circuits 13 through 15, are grouped into critical bands before being fed into the adaptive bit allocation and quantizing circuits 16 through 18. The higher frequency spectral coefficients may alternatively be grouped into sub-bands obtained by dividing the higher frequency critical bands in frequency. To simplify the following explanation, the term "critical band," as used herein, will be taken to include such sub-bands. In the adaptive bit allocation and quantizing circuits 16 through 18, all the spectral coefficients in each critical band are quantized with same number of quantizing bits. The adaptive bit allocation and quantizing circuits 16 through 18 allocate the number of quantizing bits that is used for quantizing the spectral coefficients in each critical band. The construction of the adaptive bit allocation and quantizing circuits 16, 17, and 18 will be described below. The quantized spectral coefficients are fed from the adaptive bit allocation and quantizing circuits 16 through 18 to the output terminals 22, 24, and 26. Block floating coefficients, indicating the normalization of the spectral coefficients in each critical band, and word length data, indicating the number of quantizing bits that have been used to quantize the spectral coefficients in each critical band, are fed to the output terminals together with the quantized spectral coefficients. A practical example of the construction of the adaptive bit allocation and quantizing circuit will next be described with reference to Figure 3. This circuit may be constructed using digital logic chips, or may be realized using a suitably-programmed microprocessor and associated memory. The circuit may also be constructed using a suitably programmed digital signal processor chip. The circuit may be realized using the same digital signal processing chip as that used to realize the circuit shown in Figure 1. The outputs of the MDCT circuits 13, 14 and 15 shown in Figure 1 are fed via the input terminal 400 of the adaptive bit allocation and quantizing circuit 300 shown in Figure 3 to the band magnitude calculating circuit 303. The band magnitude calculating circuit 303 calculates the band magnitude for each band, preferably for each critical band, preferably by calculating the energy in each band by taking the square root of the sum of the squares of the signal amplitudes in the band. The band magnitude for each band may alternatively be calculated from the peak or mean values of the signal amplitudes, or by integrating the signal amplitudes. The spectrum of the output from the band magnitude calculating circuit 303 for each critical band represents a spectrum known as a Bark spectrum, as shown, for example, in Figure 4. In this Figure, only twelve critical bands, B1 to B12, are shown to simplify the drawing. The circuit shown in Figure 3 allocates, to each band, fixed-pattern quantizing bits according to a fixed bit allocation pattern, and signal-dependent quantizing bits allocated according the band magnitude, weighted depending on the frequency of the band. If, for example, the number of bits available for quantizing the all the spectral coefficients, and which may be used for transmission or recording, is 100 kilobits per second (kb/s), the present embodiment allocates the fixed-pattern quantizing bits according to a selected one of a number of fixed bit allocation patterns, each of which employs a number of bits corresponding to the bit-rate of 100 kb/s. The actual number of bits allocated according the fixed bit allocation pattern for quantizing the spectral coefficients is adjusted according to the distribution ratio by the multiplier 402, which will be described in detail below. The total available number of bits, e.g., bits corresponding to a bit rate of 100 kb/s, is indicated by the total available number of bits indicating circuit 302. The total available number of bits may also be externally programmable. In the arrangement shown in Figure 3, a plurality of fixed bit allocation patterns are provided and an appropriate one of the plurality of patterns is selected, depending on the input signal. The fixed bit allocation circuit 305 has stored therein a variety of fixed bit allocation patterns, each of which defines, for each block of the input signal, an allocation among the bands of a number of bits corresponding to 100 kb/s. The different fixed bit allocation patterns have different bit allocations between the middle- to low-frequency bands on one hand, and the high-frequency bands on the other hand. The most appropriate one of the fixed bit allocation patterns is selected in response to the input signal, such that a pattern in which fewer bits are allocated to higher-frequency bands is selected for lower input signal levels. This selection takes advantage of the loudness effect, in which the sensitivity of the human sense of hearing to higher frequencies ranges is reduced at lower signal levels. Although the appropriate fixed bit allocation pattern may be selected in response to the level of the input signal, or in response to the signal levels of all the bands, selection may also be performed in response to an output of a frequency division circuit, which divides the input signal into frequency components by means of a filter, or in response to one or more of the spectral coefficients provided by one or more of the MDCT circuits 14 through 16 (Figure 1). The signal-dependent bit allocation is carried out by the signal-dependent bit allocation circuit 304, in response to the weighted output of the band magnitude calculating circuit 303. The multiplier 410 receives a weighting pattern and the output of the band magnitude calculating circuit 303, and multiplies the magnitude of each band by the weighting coefficient for the band, defined by the weighting pattern, to provide a weighted band magnitude for each band. The weighted band magnitude for each band is fed to the signal-dependent bit allocation circuit 304. The preferred embodiment uses the weighting pattern shown in Figure 5A. For each block of the input signal, the signal-dependent bit allocation circuit 304 allocates signal-dependent quantizing bits to the spectral coefficients in each band such that bits are allocated in response to the weighted band magnitude of each band. In the embodiment shown, the signal-dependent bit allocation circuit allocates a number of signal-dependent quantizing bits equal to the number of fixed-pattern quantizing bits allocated according to the selected fixed bit allocation pattern. The actual number of signal-dependent bits finally allocated for quantizing the spectral coefficients is adjusted according to the distribution ratio by the multiplier 401, which will be described in detail below. The signal-dependent bit allocation circuit 304 allocates quantizing bits among the bands according to the formula: b(k) = δ + ½/log 2 [σ' 2 (k)/P] where b(k) is the number of signal-dependent quantizing bits allocated to quantize each of the spectral coefficients in the k'th band, δ is an optimum bias, σ' 2 (k) is the weighted band magnitude of the k'th band, and P is the mean quantization noise power over all the entire frequency spectrum. To find the optimum value of b(k) for each band, the value of δ is changed so that the sum of the b(k)s for all the bands is equal to, or just less than, the number of signal-dependent quantizing bits available. As an alternative to multiplying the band magnitudes from the band magnitude calculating circuit 303 by single pattern of weighting coefficients, the band magnitudes may be multiplied by the weighting coefficients of an appropriate one of plural weighting patterns. A plurality of patterns of weighting coefficients may be stored in the weighting pattern memory 406, and an appropriate one of the weighting patterns may be selected in response to the input signal. The input signal is fed via the input terminal 404 into the weighting pattern selector 408. The weighting pattern selector 408 selects the appropriate one of the weighting patterns 406, and feeds the selected weighting pattern into the multiplier 410. The multiplier also receives the output of the band magnitude calculating circuit 303, and multiplies the band magnitude of each band by the weighting coefficient for the band defined by the selected weighting pattern to provide a weighted band magnitude for each band, which is fed to the signal-dependent bit allocation circuit 304. Some typical weighting patterns are shown in Figures 5A through 5D. In addition, variations on the basic patterns shown may also be stored. In the variations, the basic patterns are altered in terms of slope and turn-over frequency or frequencies to provide optimum weighting for a wide range of input signal conditions. The weighting pattern selector 408 selects the appropriate one of the available weighting patterns from the weighting pattern store 406 according to the level of the input signal. The weighting pattern selector may additionally or alternatively take the spectral content of the input signal into account when selecting the appropriate one of the available weighting patterns. As a further alternative, the weighting pattern selector 408 may calculate a weighting pattern by interpolating between, e.g., two weighting patterns in response to the input signal, or may adjust the weighting coefficients of a selected weighting pattern in response to the input signal. In the ways just described, the present embodiment changes the weighting coefficients to provide a bit allocation that is more compatible with the human sense of hearing, thereby improving sound quality. The division of the total available number of bits between bits to be allocated according to a fixed bit allocation pattern and bits to be allocated according to a signal-dependent bit allocation is determined in response to an index that indicates the smoothness of the input signal spectrum. The output of the band magnitude calculating circuit 303 is fed into to the spectral smoothness calculating circuit 308. The spectral smoothness calculating circuit receives the spectral coefficients via the input terminal 400, and calculates the quotient of the sum of absolute values of the differences between the values of adjacent spectral levels by the sum of all the spectral levels, i.e., where I is the spectral smoothness index, and S i is the spectral level in the i 'th band. The spectral coefficients are preferably used as the spectral levels. The calculated spectral smoothness index I is supplied to the division ratio decision circuit 309. The division ratio decision circuit determines the division ratio D that is applied to the total available number of bits. The division ratio D is the ratio between the number of bits to be allocated according to a fixed bit allocation pattern and the total available number of bits. The division ratio decision circuit also calculates the complement of the division ratio, (1 - D ), which is the ratio between number of bits to be allocated according to a signal-dependent bit allocation and the total available number of bits. The division ratio decision circuit 309 feeds the division ratio D to the multiplier 402, which is also supplied with the output of the fixed bit allocation circuit 305. The multiplier 402 calculates the actual number of bits that are to be allocated to each band according to a fixed bit allocation pattern, taking into account the division ratio D . The division ratio decision circuit 309 also feeds the quantity complement of the division ratio, 1 - D , to the multiplier 401, which is also supplied with the output of the signal-dependent bit allocation circuit 304. The multiplier 401 calculates the actual number of bits that are to be allocated to each band according to the signal-dependent bit allocation, taking into account the division ratio D . In an alternative arrangement, the multipliers 401 and 402 can be dispensed with, and the division ratio D can be fed into the fixed bit allocation circuit 305, which would then select a fixed bit allocation pattern using the number of bits indicated by multiplying the total available number of bits, e.g., bits equivalent to 100 kb/s, by the division ratio. The complement of the division ratio, 1 - D , would be fed to the signal-dependent bit allocation circuit 304, which would allocate a number of bits calculated by multiplying the total available number of bits, e.g., bits equivalent to 100 kb/s, by the complement of the division ratio among the bands according to the weighted band magnitude of each band. The outputs of the multipliers 401 and 402 are fed into the adder 306. The adder 306 determines the total number of quantizing bits allocated for quantizing each spectral coefficient in each band by summing, for each block of the input signal, for each band, the value of the fixed bit allocation and the value of the signal-dependent bit allocation. The output of the adder 306, indicating a sum total of quantizing bits, is supplied to the output terminal 307. The spectral coefficients in each band are then quantized using the number of quantizing bits indicated by data taken from the output terminal 307. For each block of the input signal, a set of numbers is provided at the output terminal 307 indicating the number of bits allocated to quantize the spectral coefficients in each band. The division of the total available number of bits between bits to be allocated according to a fixed bit allocation pattern and bits to be allocated according to a signal-dependent allocation may alternatively be determined as follows: the values of the weighted signal energy expressed in decibels, for each band, are multiplied by the spectral smoothness index R, which can have a value between 0 and 1, and the resulting products are summed to find a first sum S1. The fixed bit allocation pattern for each band is multiplied by (1 - R), and the resulting products are summed to find a second sum S2. The first and second sums, S1 and S2, are divided by the sum of the first and second sums (S1 + S2) to provide first and second ratios. The first and second ratios are then used as the bit division ratios between the signal-dependent bit allocation and the fixed pattern bit allocation, respectively, and the total available number of bits. Figure 7 shows an example of how bits are allocated to an input signal having the spectrum shown in Figure 6. To simplify the drawings, only twelve frequency bands are shown. In Figure 7, the shaded rectangles indicate the number of signal-dependent bits allocated to each band, and the unshaded rectangles show the number of bits allocated to each band according to the fixed bit allocation pattern. A number of bits equal to the sum of the two numbers of bits is allocated for quantizing each of the spectral coefficients in each band. Although the numbers of bits are shown in Figure 7 as having real values, instead of being integers, the real numbers are ultimately converted into corresponding integers by, e.g., rounding, to find the number of bits to be allocated for quantizing the spectral coefficients in each band. Referring to Figure 6, the input signal includes the narrow spectral components A, B and C having a substantially equal level to one another. In a conventional data compressor, signal-dependent bits would be allocated in such a way as to optimize the signal-to-noise ratio in response to the levels of signal components in each band. To the quantizing bits allocated in accordance with the fixed bit allocation pattern to each bands 2, 6 and 10 would be added substantially the same number of signal-dependent bits in each of the bands. The data compressor embodying the present invention allocates fewer quantizing bits to bands of a given level as the frequency increases. Thus, fewer quantizing bits are allocated to band 10 than to band 6, and fewer quantizing bits are allocated to band 6 than to band 2. Compared with a conventional data compressor, the data compressor embodying the present invention has a signal-to-noise characteristic that is improved towards lower frequencies, and is degraded towards higher frequencies. Because of the frequency characteristic of the sensitivity of the human sense of hearing, noise towards higher frequencies, which is increased in the data compressor embodying the present invention, is less audible than noise towards lower frequencies. Moreover, the noise towards higher frequencies is masked by lower frequency signals. Thus, the increase in noise towards higher frequencies in the data compressor embodying the present invention is imperceptible by the human sense of hearing. On the other hand, noise towards lower frequencies, to which the human sense of hearing is more sensitive, is reduced in the data compressor embodying the present invention. The overall effect of this is an improvement in the sound quality perceived by the listener. It should be noted that fewer bits are allocated to, e.g., the middle-frequency band number 6 of Figures 6 and 7 than to the lower-frequency band number 2. Such a bit allocation cannot be achieved simply by permanently allocating more bits to lower-frequency bands in the fixed bit allocation pattern. This effect may only be achieved by signal-dependent bit allocation, for each block of the input signal, in response to the band magnitude in each band that is weighted depending on the frequency of the band. In the embodiment illustrated, it is assumed that the MDCT produces relatively few spectral coefficients below about 100 Hz. However, since signals corresponding to higher frequencies are effectively present in each lower frequency spectral coefficient, a sufficiently large number of bits needs to be allocated for quantizing the lower frequencies. Thus, as an approximation, it suffices if bits are allocated depending on the levels of the signal components of the respective bands so that more bits are allocated to the lower frequencies. A data compression apparatus in which a relatively long block of the input signal is orthogonally transformed to provide the spectral coefficients provides a sufficient density of spectral coefficients in the frequency range below 100 Hz that the signal-dependent bit allocation to spectral coefficients in bands below 50 Hz can be reduced compared with the bit allocation to bands above this frequency. This bit reduction may be made because of the reduced sensitivity of the human sense of hearing in the very low frequency range. Figure 8 shows a block diagram of a complementary expander for expanding signals compressed by the data compression apparatus described above. Referring to Figure 8, the quantized spectral coefficients for each band are supplied to the input terminals 122, 124, and 126 of the expander. Block floating information, block size information, and data indicating the number of bits used to quantize the spectral coefficients in each band is supplied to the input terminals 123, 125, and 127. The signals supplied to the input terminals are fed into the dequantizing circuits 116, 117, and 118, where the adaptive bit allocation is reversed using the above-mentioned data on the number of quantizing bits, which, for each block of the original input signal, indicates how many bits have been used to quantize the spectral coefficients in each band. The outputs of the dequantizing circuits 116, 117, and 118 are supplied to inverse modified discrete cosine transform (IMDCT) circuits 113, 114, and 115, which are also supplied with the block size information via the input terminals 123, 125, and 127. In the IMDCT circuits, the dequantized spectral coefficients in the frequency domain are orthogonally transformed into a block of samples of three frequency range signals in the time domain. The frequency range signals in the time domain from the IMDCT circuits 113, 114, and 115, are combined using the inverse quadrature mirror filter (IQMF) circuits 112 and 111, into a full frequency range PCM digital audio signal, which is fed to the output terminal 110. It should be noted that, since the expander circuit shown in Figure 8 is provided with data indicating the number of quantizing bits from the compressor circuit, the expander can expand a signal compressed by a known data compressor, and will give improved sound quality when expanding a signal compressed by a data compressor embodying the invention. The expander circuit shown in Figure 8 can expand the compressed data provided by the data compression apparatus to produce a high quality decoded signal using a relatively small amount of circuitry. It will be seen from above that there has been provided a data compression apparatus in which the total bits available for bit allocation are distributed into those allocated according to a fixed bit allocation pattern and those allocated according to a signal-dependent bit allocation. The signal-dependent bit allocated in carried in response to the band magnitude, weighted depending on the frequency of the band. This provides a bit allocation that is optimum when the compressed signal is expanded, decoded, reproduced, and perceived by the human sense of hearing, without the need to carry out complicated calculations for masking, for signals having a flat spectrum, for signals having a single spectral line, and for signals having a large number of narrow spectral lines. The result is that a data compression apparatus may be achieved which has a high sound quality despite the small size and a low bit rate.

Claims: Apparatus for compressing a digital input signal to provide a compressed digital output signal, the apparatus comprising: means (11-15) for deriving plural spectral coefficients from the digital input signal, and for grouping the spectral coefficients into bands; means (305) for allocating a number of fixed-pattern quantizing bits among the bands according to a fixed bit allocation pattern defining, for each band, a number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band, and means (303, 304, 404-410) for adaptively allocating a number of signal-dependent quantizing bits among the bands to allocate to each band a number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band, the number of signal- dependent quantizing bits allocated to each band being determined according to the band magnitude weighted depending on the band frequency; and a quantizing means for quantizing each spectral coefficient in a band using a number of quantizing bits equal to the sum of the number of signal-dependent quantizing bits allocated for quantizing each spectral coefficient in the band and the number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band. Apparatus according to claim 1, wherein the adaptive allocating means (303, 304, 404-410) is operative to allocate to each band a number of signal-dependent quantizing bits determined according to the band magnitude, the band magnitude being weighted depending on the band frequency such that the number of signal-dependent quantizing bits allocated to lower frequency bands for a given band magnitude is increased. Apparatus according to claim 1 or claim 2, wherein the adaptive allocating means includes: a means (303) for determining, for each band, the band magnitude in response to the spectral coefficients in the band, and a weighting means (404-410) for weighting, for each band, the band magnitude depending on the band frequency to provide a weighted band magnitude; and the adaptive bit allocation means is operative to allocate to each band the number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band in response to the weighted band magnitude for the band. Apparatus according to claim 1, 2 or 3 wherein the adaptive allocating means is operative to allocate to each band a number of signal-dependent quantizing bits determined according to the band magnitude, the band magnitude being weighted by a weighting coefficient dependent on the digital input signal and the frequency of the band. Apparatus according to claim 1, 2 or 3, wherein the adaptive allocating means is operative to allocate to each band a number of signal-dependent quantizing bits determined according to the band magnitude, the band magnitude for each band being weighted depending on the band frequency according to a selected frequency-dependent weighting pattern and includes a means (406) for storing plural frequency-dependent weighting patterns, and a selecting means (408) for selecting, in response to the digital input signal, and for providing to the adaptive bit allocation means as the selected frequency-dependent weighting pattern, an appropriate one of the stored frequency-dependent weighting patterns. Apparatus according to claim 5, wherein the selecting means (408) is operative to select the appropriate one of the stored frequency-dependent weighting patterns in response to the level of the digital input signal. Apparatus according to claim 5, wherein the selecting means (408) is operative to select the appropriate one of the stored frequency-dependent weighting patterns in response to the spectrum of the digital input signal. Apparatus according to any preceding claim, wherein: a total number of available quantizing bits is available for quantizing all the spectral coefficients; the apparatus additionally comprises a division ratio determining means (308, 309) for determining a division of the total number of available quantizing bits between the number of signal-dependent quantizing bits and the number of fixed-pattern quantizing bits in response to the smoothness of the spectrum of the digital input signal, and for providing a division ratio between the number of fixed-pattern quantizing bits and the total number of available quantizing bits, and a complement of the division ratio; the number of signal-dependent quantizing bits allocated among the bands by the adaptive bit allocation means is substantially proportional to the complement of the division ratio; and the number of fixed-pattern quantizing bits allocated among the bands by the fixed bit allocation means is substantially proportional to the division ratio. Apparatus according to claim 8, wherein additionally including: a means (401) for multiplying the number of signal-dependent quantizing bits for each band by the complement (1-D) of the division ratio, and a means (402) for multiplying the number of fixed-pattern quantizing bits for each band by the division ratio (D); and the quantizing means is operative to quantize each spectral coefficient in a band using a number of quantizing bits equal to the sum of the multiplied number of signal-dependent quantizing bits allocated for quantizing each spectral coefficient in the band and the multiplied number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band. Apparatus according to any one of claims 1 to 7, wherein: the fixed bit allocation means is operative to allocate fixed pattern quantizing bits among the bands according to a selected fixed-bit allocation pattern; and the apparatus additionally comprises a means for storing plural fixed-bit allocation patterns, and an additional selecting means for selecting, in response to the digital input signal, and for providing to the fixed-bit allocating means as the selected fixed-bit allocation pattern, an appropriate one of the stored fixed-bit allocation patterns. Apparatus according to claim 8 or 9, wherein: the fixed-pattern allocating means (305) is operative to allocate fixed-pattern quantizing bits among the bands according to a selected fixed bit allocation pattern; and the apparatus additionally comprises a means for storing plural fixed bit allocation patterns, the fixed bit allocation patterns allocating numbers of fixed pattern quantizing bits corresponding to different values of the division ratio, and an additional selecting means for selecting, in response to the digital input signal, and in response to the division ratio, and for providing to the fixed bit allocating means as the selected fixed bit allocation pattern, an appropriate one of the stored fixed bit allocation patterns. Apparatus according to any one of claims 1 to 10, wherein the means (11-15) for deriving plural spectral coefficients comprises: frequency dividing means (11,12) for receiving the digital input signal and for dividing the digital input signal into plural frequency ranges, and for providing a frequency range signal in each frequency range; time dividing means (19-21) for dividing in time a frequency range signal into blocks; and orthogonal transform means (13-15) for transforming a block of the frequency range signal to provide the plural spectral coefficients. A method of compressing a digital input signal to provide a compressed digital output signal, the method comprising the steps of: deriving (11-15) plural spectral coefficients from the digital input signal, and grouping the spectral coefficients into bands; allocating (305) a number of fixed-pattern quantizing bits among the bands according to a fixed bit allocation pattern defining, for each band, a number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band, adaptively allocating (16-18) a number of signal-dependent quantizing bits among the bands to allocate to each band a number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band, the number of signal-dependent quantizing bits allocated to each band being determined according to the band magnitude weighted depending on the band frequency; and quantizing each spectral coefficient in a band using a number of quantizing bits equal to the sum of the number of signal-dependent quantizing bits allocated for quantizing each spectral coefficient in the band and the number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band. A method according to claim 13, wherein, in the signal dependent allocating step, the band magnitude is weighted depending on the band frequency such that the number of signal-dependent quantizing bits allocated to lower frequency bands for a given band magnitude is increased. A method according to claim 13 or 14, wherein: the method additionally comprises the steps of: determining, (303) for each band, the band magnitude in response to the spectral coefficients in the band, and weighting, (404, 406, 408) for each band, the band magnitude depending on the band frequency to provide a weighted band magnitude; and in the signal-dependent allocating step, the number of signal-dependent quantizing bits for quantizing each spectral coefficient in the band is allocated to each band in response to the weighted band magnitude for the band. A method according to claim 13, 14 or 15, wherein, in the signal-dependent allocating step, the band magnitude for each band is weighted (404, 406, 408) by a weighting coefficient dependent on the digital input signal and the frequency of the band. A method according to claim 13, 14, 15 or 16, wherein: in the signal dependent allocating step, the band magnitude for each band is weighted depending on the band frequency according to a selected frequency-dependent weighting pattern; and the method additionally comprises the steps of: providing (406) plural frequency-dependent weighting patterns, and selecting (408) in response to the digital input signal, and providing to the adaptive bit allocation means as the selected frequency-dependent weighting pattern, an appropriate one of the frequency-dependent weighting patterns. A method according to claim 17, wherein, in the selecting step (408), the appropriate one of the stored frequency-dependent weighting patterns is selected in response to the level of the digital input signal (404). A method according to claim 20, wherein, in the selecting step, the appropriate one of the stored frequency-dependent weighting patterns is selected in response to the spectrum of the digital input signal. A method according to any one of claims 13 to 19, wherein: in the fixed-pattern allocating step, fixed-pattern quantizing bits are allocated among the bands according to a selected fixed-bit allocation pattern; and the method additionally comprises the steps of: providing plural fixed-bit allocation patterns, and selecting in response to the digital input signal, and providing to the fixed-bit allocating means as the selected fixed-bit allocation pattern, an appropriate one of the stored fixed-bit allocation patterns. A method according to any one of claims 13 to 20, using a total number of available quantizing bits for quantizing all the spectral coefficients, wherein: the method additionally comprises: determining a division of the total number of available quantizing bits between the number of signal-dependent quantizing bits and the number of fixed-pattern quantizing bits in response to the smoothness of the spectrum of the digital input signal, and providing in response to the determined division a division ratio between the number of fixed-pattern quantizing bits and the total number of available quantizing bits, and a complement of the division ratio; in the adaptive allocating step, the number of signal-dependent quantizing bits allocated among the bands is substantially proportional to the complement of the division ratio; and in the fixed bit allocating step, the number of fixed-pattern quantizing bits allocated among the bands is substantially proportional to the division ratio. A method according to claim 21, using a total number of available quantizing bits for quantizing all the spectral coefficients, wherein: the method includes: multiplying (401) the number of signal-dependent quantizing bits for each band by the complement of the division ratio, and multiplying (402) the number of fixed-pattern quantizing bits for each band by the division ratio; and in the quantizing step, each spectral coefficient in a band is quantized using a number of quantizing bits equal to the sum of the multiplied number of signal-dependent quantizing bits allocated for quantizing each spectral coefficient in the band and the multiplied number of fixed-pattern quantizing bits allocated for quantizing each spectral coefficient in the band. A method according to claim 21 or 22, wherein: in the fixed bit allocating step, fixed-pattern quantizing bits are allocated among the bands according to a selected fixed bit allocation pattern; and the method additionally comprises the steps of: providing plural fixed bit allocation patterns, the fixed bit allocation patterns allocating numbers of fixed pattern quantizing bits corresponding to different values of the division ratio, and selecting in response to the digital input signal, and in response to the division ratio, and providing to the fixed bit allocating means as the selected fixed bit allocation pattern, an appropriate one of the fixed bit allocation patterns. A method according to any one of claims 13 to 23, wherein the step of deriving plural spectral coefficients from the digital input signal comprises the steps of: dividing (11, 12) the digital input signal into plural frequency ranges, and providing a frequency range signal in each frequency range; dividing (19-21) a frequency range signal in time into blocks; and orthogonally transforming (13-15) a block of the frequency range signal to provide the plural spectral coefficients. A system comprising apparatus for compressing a digital input signal according to any one of claims 1 to 12 and an expander for expanding a compressed digital signal derived from the compressing apparatus, the expander comprising: a means for separating from the compressed digital signal, for each band, the quantized spectral coefficients and the data indicating the number of quantizing bits; a means (116-118) for dequantizing, for each band, the quantized spectral coefficients in response to the data indicating the number of quantizing bits; and a means (111-115) for deriving the output signal from the dequantized spectral coefficients.

Inventors: AKAGIRI KENZO, TSUTSUI KYOYA, AKAGIRI, KENZO, TSUTSUI, KYOYA, AKAGIRI, KENZO, C/O PATENTS DIVISION, Tsutsui, Kyoya, c/o Patents Division
Applicants: SONY CORP, SONY CORPORATION
Application year: 1993
Main classification: G11B20
IPC codes: G11B20, H03M7, H03H17, H04B1