A block size determination method of a transform coder

Abstract: A method for determining the block size of a transform coder in which the digital audio signals having spectral and temporal structure are decomposed into plural spectral frames. The method involves defining the audio signal into time intervals according to the temporal masking properties of a human auditory system; obtaining a peak value in each of these time intervals; calculating differences among the peak values; and selecting a block size based on a comparison of the differences against a predefined value.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to a method of determining the transform block length in a transform coder process which decomposes digital audio signals having spectral and temporal structures, into plural spectral frames. 2. Related art of the Invention From WO 91/16769, an adaptive-block-length, adaptive-transform and adaptive-window transform coder, decoder and encoder/decoder or high-quality audio is known in which the trade off in transform coders between time resolution and frequency resolution is optimized by adaptively selecting the transform and/or by adaptively selecting the analysis window. It is known that a long block length may improve filter selectivity but will reduce temporal resolution, which may result in audible signal distortion occurring outside the ear's temporal psychoacoustic masking interval. In the known device, a transient detector adaptively selects signal sample block lengths shorter than the maximum block lengths normally used when shorter block lengths are needed to ensure psychoacoustic masking of distortion artifacts created by transient signals. The digitized signal samples are passed through a high-pass filter and grouped into subblocks. The peak amplitude within each subblock is compared with the peak amplitude of the previous subblock. If the change between peak amplitudes of adjacent subblocks does not exceed specific thresholds, the coder utilizes the maximum signal sample block length. If the change in amplitude between adjacent subblocks does exceed the specific thresholds, a shorter block length is selected. From WO 92/17884, a high efficiency digital data encoding and decoding apparatus is known in which digital data are arranged into blocks by plural samples and orthogonal transform is effected in each block to produce coefficient data, which are encoded with an adaptive number of bits. A plurality of orthogonal transform units transform the input digital data with different block lengths. Only one of the outputs is selected on the basis of outputs of the orthogonal transform units. The apparatus includes a block length decision unit for determining the block lengths for orthogonal transform of each band based on characteristics of block data prior to orthogonal transform of each band. Compression algorithms for wide band audio signals are finding wide-spread applications in recent years. In the area of consumer electronics, the digital compact cassette (DCC) and the mini-disc system (MD) are two applications of these compression algorithms. While the DCC system uses a compression algorithm that is based on sub-band coding, the MD system uses an algorithm that is based on a hybrid of sub-band and transform coding with the transform coding portion forming the backbone of the algorithm. This invention is related to the determination of the block length of the transform coder used in the MD system. The MD system uses the ATRAC compression algorithm which is documented in chapter 10 of the MD system description by Sony in December 1991. The ATRAC algorithm compresses the input audio signals at a bit rate of 705.6 kbit/s/channel to a bit rate of 146.08 kbit/s/channel. Fig. 3 shows the block diagram of the encoding process. The input time signals are first passed through a splitting filter bank, 1, 2, 3, to obtain the signals in three frequency bands. The lower two bands are each at half the bandwidth of the uppermost band. Block length decision, 4, is made for each band to determine the sample size or block mode for the windowing and transform process, 5, 6, 7. One of the two block modes available, short block mode or long block mode, will be selected for each of the bands. The transformed spectral samples are grouped into units and in each unit, a scale factor is derived from the peak values of the samples in the unit, 8. Quantization, 10, is carried out on the samples using the scale factor and bit allocation information from the dynamic bit allocation module, 9. Now the unit is described as follows. The audio signal is transformed into , for example , 256 spectral lines by MDCT (modified discrete cosine transform). The spectral lines are grouped into plural units. In Fig. 4 the 256 pieces of spectral lines are grouped into 26 units numbered 0-25. The bit allocation data WL(u) is given by unit as shown in Fig. 5. In the example of Figs.4 and 5 , the spectrum of 1-8 has same bit allocation data WL(0) and the spectral line numbers 9-12 have the same bit allocation data WL(1). The block length decision plays an important role in transform coders to improve its time versus frequency performance. In the event of an attack (or a sharp rise of signal energy) in the signal, the singularities in the time signals need to be reflected in the coding or a pre-echo condition would occur, resulting in noise preceding the audio signal. The block length decision method proposed in the MD system description is shown in Fig. 6. Step of numeral 1 is the peak value detection. The adjacent peak values are compared in step of numeral 2, and step of numeral 3 contains the decision switch (threshold) to be compared. In step of numeral 4, mode 1, the short block mode is selected while in step of numeral 5, mode 4 or mode 3 is selected for the high or middle/low band respectively. Meanwhile good block length decision is needed to reduce the pre-echo condition described earlier. The design of the block length decision hinges upon two important considerations. Firstly, it is desirable to make the block length as long as possible because of greater frequency resolution. From real signal statistics and the physiology of the human ear in perceiving sounds, greater redundancy and irrelevancy can be removed with greater frequency resolution. Secondly, a conflicting condition to the first exists in that the audio signals are time-domain signals and some important cues need to be faithfully reproduced in time. In a transform coder, the block length selected determines the time versus frequency resolution. It is therefore important to detect the need to change the block length correctly for the optimum performance of the transform coder. The prior art does not accurately reflect the proper design of the block length decision block. The block showing the process of ' compare adjacent peak values' in Fig. 2 can have the following two interpretations. Firstly, the procedure could be interpreted to mean comparing the two adjacent peak values, one from the previous time block and one from the next time block, or secondly, it could mean comparing with only one adjacent peak value namely, the one from the previous time block. SUMMARY OF THE INVENTION The present invention is intended to offer a block length determination technique of a transform coder to accurately determine a block length for realizing the most adequate transform coding process. Therefore, the present invention consists of a method of determining a block length of a transform coder in which digital audio signals having spectral and temporal structure are decomposed into plural spectral frames. The steps of the invention are set forth in claim 1. Through the above described means, the present invention is able to detect attacks of a signal occurring within a 5 ms time interval approximately. By the means of computing and comparing the difference between the current and the previous two time intervals (approximately 10 ms), a more accurate detection of the attack can be done. Further, by comparing the differences against a positive pre-defined value, releases of a signal are ignored as the resultant post-echo effects will be masked by the post-masking phenomena. The accurate detection of the attack will ensure that the optimal block size is selected. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is the flow chart of the present embodiment of the invention. Fig. 2 is the illustration of how the said differences are calculated. Fig. 3 is the encoding process of the prior art. Fig. 4 is the illustration of spectrum grouped into 26 units. Fig. 5 is the table of the bit allocation data WL. Fig. 6 is the flow chart of the prior art. PREFERRED EMBODIMENTS OF THE INVENTION Firstly, the invention is made based on considering the temporal masking conditions of pre-masking and post-masking. Pre-masking is a condition caused by a fast build up of loud sounds such that the sounds occurring in time before the attack are masked while post-masking is the lingering effect of the loud masker such that sounds occurring after this sound are also masked. Psychoacoustic experiments using single tones on pre-masking and post-masking showed that the pre-masking duration is between 5 to 20 ms. The post-masking duration is longer, lasting between 20 to 200 ms depending on the duration of the masker. For a masker duration which is as short as 5 ms, the post-masking duration is 20 ms. Translating these temporal effects to the design of the block length decision, these experiments show that attacks of a signal are important and cannot be ignored since in the long block mode, the transform coder has a time resolution of 11.6 ms. This is less than the post-masking duration. The release of the signal, on the other hand, is unimportant as the post-masking effects at the worst case of 11.6 ms away from the point of release suffers only a small degradation (about 3 dB) in its simultaneous masking threshold. In the invention, attacks in a block of signal, whether a full spectrum or sub-sampled and filtered, are detected by grouping the audio samples into time intervals of approximately 5 ms, corresponding to the pre-masking duration. The peak values in each of these time intervals are determined and two differences in the logarithmic values of the peak amplitudes are calculated for each time interval. The first difference calculated is between the peak amplitude of the current time interval and the peak amplitude of the previous time interval while the second difference is calculated between the peak amplitude of the current time interval and the peak amplitude of the time interval prior to the previous time interval. These differences are then compared against a pre-defined positive value and the block length is determined from this comparison. Fig. 1 shows the flow chart of the embodiment. In the present embodiment described, the invention is used to detect the attacks of a signal that has first been filtered by a two-stage quadrature mirror filter (QMF). These sub-band signals are to be buffered into lengths of 256 samples for the low and middle band and 512 samples for the high band. The sampling frequency of the high band is double that of the low and middle bands. The buffered sub-band samples are made up of 64 previous samples, 128 current samples and 64 future samples due to the 50% overlapping in the MDCT (modified discrete cosine transform) process. In Fig.1, step of numeral 1 checks whether the block length determination process has been done for all the three bands. Step of numeral 2 checks whether the low or middle band is currently being processed. When the low or middle band is currently being processed, step of numeral 3 then finds the peak values from every 64 time samples, corresponding to a time interval of 5.8 ms. As is illustrated in Fig. 2, each band is made up of four 5.8 ms segments, one segment from the previous block, two segments from the current block and one segment from the next block. The peak values, P1, P2, P3 and P4 are calculated from each of these blocks. These values are in decibels and they are related to the peak values by P = 10*log 1⊘ [absolute (peak amplitude)] When the high band is currently being processed, then in Fig. 1 the step of numeral 4 finds the peak values from every 128 time samples, P1, P2, P3 and P4 instead of 64 as done in the prior art. This again corresponds to a time interval of 5.8 ms. Comparisons are made for the previous, current and future blocks by calculating the differences δ 1, δ 2, δ 3 and δ 4 in numeral 5. These differences are then compared against the pre-defined threshold of 18 dB in step of numeral 6. If the threshold is exceeded, then mode 1 is selected in step of numeral 8 but if the differences are below the threshold, then mode 3 is selected for the low or middle band while mode 4 is selected for the high band in step of numeral 7. Testings done with critical signals like glockenspiel and triangle shows a decrease in the detection of noticeable artifacts. There is also a need for the least usage on resources such as RAM, ROM, computational steps and execution time. This invention is able to meet all the above requirements. The invention is tested to be effective in detecting attacks of the signal and as the release of the signal is irrelevant, no computational time is wasted in detecting the release of the signal. The application of this block size decision technique results in a simple, effective and accurate way of controlling time-domain related artifacts for transform coders.

Claims: A method of determing the transform block length in a transform coder process which decomposes digital audio signals having spectral and temporal structure into plural spectral frames, comprising: dividing a digital audio signal into a plurality of time intervals according to temporal masking properties of a human auditory system, said plurality of time intervals, including a current time interval, a previous time interval preceding said current time interval and a time interval preceding said previous time interval; obtaining a peak value in each of said time intervals; calculating a first difference between the peak value of said current time interval and the peak value of said previous time interval: calculating a second difference between the peak value of said current time interval and the peak value of said time interval preceding said previous time interval; selecting the block length based on whether said first difference or said second difference exceeds a predefined value. A method of determing the transform block length in a transform coder process which decomposes digital audio signals having spectral and temporal structure into plural spectral frames, comprising: dividing a digital audio signal into a plurality of time intervals according to temporal masking properties of a human auditory system, said plurality of time intervals including a current time interval, a previous time interval preceding said current time interval and a future time interval; obtaining a peak value in each of said time intervals; calculating a first difference between the peak value of said current time interval and the peak value of said previous time interval; calculating a second difference between the peak value of said future time interval and the peak value of said previous time interval; selecting the block length based on whether said first difference or said second difference exceeds a predefined value. A method of determining the transform block length for a frame which is a part of a digital audio signal having spectral and temporal structure, said block length being used for a transform coding process which decomposes digital audio signals into frequency spectral frames, comprising steps of; dividing a digital audio signal into a plurality of time intervals according to temporal masking properties of a human auditory system; said frame being composed of four continuous time intervals; obtaining a peak value in each of said time intervals; calculating a first difference between the peak value of one of said time intervals and the peak value of an adjacent time interval; calculating a second difference between the peak value of said one of said time intervals and the peak value of another said time intervals, selecting the block length for said frame, based on whether said first difference or said second difference exceeds a predefined value.

Inventors: TEH DO HUI, TEH, DO HUI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1994
Main classification: H04B1
IPC codes: H04B1, H03M7, G10L19