Patent Description:
In <CIT> the concept of transposition was established as a method to recreate a high frequency band from a lower frequency band of an audio signal. A substantial saving in bitrate can be obtained by using this concept in audio coding. In an HFR based audio coding system, a low bandwidth signal is processed by a core waveform coder and the higher frequencies are regenerated using transposition and additional side information of very low bitrate describing the target spectral shape at the decoder side. For low bitrates, where the bandwidth of the core coded signal is narrow, it becomes increasingly important to recreate a high band with perceptually pleasant characteristics. The harmonic transposition defined in <CIT> performs very well for complex musical material in a situation with low crossover frequency. The principle of a harmonic transposition is that a sinusoid with frequency ω is mapped to a sinusoid with frequency Tω where T > <NUM> is an integer defining the order of transposition. In contrast to this, a single sideband modulation (SSB) based HFR method maps a sinusoid with frequency ω to a sinusoid with frequency ω + Δω where Δω is a fixed frequency shift. Given a core signal with low bandwidth, a dissonant ringing artifact can result from SSB transposition.

In order to reach the best possible audio quality, state of the art high quality harmonic HFR methods employ complex modulated filter banks, e.g. a Short Time Fourier Transform (STFT), with high frequency resolution and a high degree of oversampling to reach the required audio quality. The fine resolution is necessary to avoid unwanted intermodulation distortion arising from nonlinear processing of sums of sinusoids. With sufficiently high frequency resolution, i.e. narrow subbands, the high quality methods aim at having a maximum of one sinusoid in each subband. A high degree of oversampling in time is necessary to avoid alias type of distortion, and a certain degree of oversampling in frequency is necessary to avoid pre-echoes for transient signals. The obvious drawback is that the computational complexity can become high.

Subband block based harmonic transposition is another HFR method used to suppress intermodulation products, in which case a filter bank with coarser frequency resolution and a lower degree of oversampling is employed, e.g. a multichannel QMF bank. In this method, a time block of complex subband samples is processed by a common phase modifier while the superposition of several modified samples forms an output subband sample. This has the net effect of suppressing intermodulation products which would otherwise occur when the input subband signal consists of several sinusoids. Transposition based on block based subband processing has much lower computational complexity than the high quality transposers and reaches almost the same quality for many signals. However, the complexity is still much higher than for the trivial SSB based HFR methods, since a plurality of analysis filter banks, each processing signals of different transposition orders T, are required in a typical HFR application in order to synthesize the required bandwidth. Additionally, a common approach is to adapt the sampling rate of the input signals to fit analysis filter banks of a constant size, albeit the filter banks process signals of different transposition orders. Also common is to apply bandpass filters to the input signals in order to obtain output signals, processed from different transposition orders, with non-overlapping power spectral densities.

Storage or transmission of audio signals is often subject to strict bitrate constraints. In the past, coders were forced to drastically reduce the transmitted audio bandwidth when only a very low bitrate was available. Modern audio codecs are nowadays able to code wideband signals by using bandwidth extension (BWE) methods [<NUM>-<NUM>]. These algorithms rely on a parametric representation of the high-frequency content (HF) which is generated from the low-frequency part (LF) of the decoded signal by means of transposition into the HF spectral region ("patching") and application of a parameter driven post processing. The LF part is coded with any audio or speech coder. For example, the bandwidth extension methods described in [<NUM>-<NUM>] rely on single sideband modulation (SSB), often also termed the "copy-up" method, for generating the multiple HF patches.

Lately, a new algorithm, which employs a bank of phase vocoders [<NUM>-<NUM>] for the generation of the different patches, has been presented [<NUM>] (see <FIG>). This method has been developed to avoid the auditory roughness which is often observed in signals subjected to SSB bandwidth extension. However, since the BWE algorithm is performed on the decoder side of a codec chain, computational complexity is a serious issue. State-of-the-art methods, especially the phase vocoder based HBE, comes at the prize of a largely increased computational complexity compared to SSB based methods.

As outlined above, existing bandwidth extension schemes apply only one patching method on a given signal block at a time, be it SSB based patching [<NUM>-<NUM>] or HBE vocoder based patching [<NUM>-<NUM>]. Additionally, modern audio coders [<NUM>-<NUM>] offer the possibility of switching the patching method globally on a time block basis between alternative patching schemes.

SSB copy-up patching introduces unwanted roughness into the audio signal, but is computationally simple and preserves the time envelope of transients. Moreover, the computational complexity is significantly increased over the computational very simple SSB copy-up method.

<CIT> discloses a bank of digital filters that can be cascade connected. It also relates to a reception circuit comprising such a bank of cascaded filters. With the digital filter being sampled at a given sampling frequency Fs, the bank of cascadable digital filters has: at the input, a frequency transposition circuit for the digital signal. A polyphase filter receives as input the frequency-transposed digital signal clocked at the sampling frequency Fs. The polyphase filter has an FFT filter having a number N of points. The output of the filtering device retains a given number of outputs of the FFT filter so that the information bit rate at the output of the device is equal to the information bit rate at the input. The bank of digital filters is particularly applicable to heterodyne-type radar signal receivers.

When it comes to a complexity reduction, sampling rates are of particular importance. This is due to the fact that a high sampling rate means a high complexity and a low sampling rate generally means low complexity due to the reduced number of required operations. On the other hand, however, the situation in bandwidth extension applications is particularly so that the sampling rate of the core coder output signal will typically be so low that this sampling rate is too low for a full bandwidth signal. Stated differently, when the sampling rate of the decoder output signal is, for example, <NUM> or <NUM> times the maximum frequency of the core coder output signal, then a bandwidth extension by for example a factor of <NUM> means that an upsampling operation is required so that the sampling rate of the bandwidth extended signal is so high that the sampling can "cover" the additionally generated high frequency components.

Additionally, filterbanks such as analysis filterbanks and synthesis filterbanks are responsible for a considerable amount of processing operations. Hence, the size of the filterbanks, i.e. whether the filterbank is a <NUM> channel filterbank, a <NUM> channel filterbank or even a filterbank with a higher number of channels will significantly influence the complexity of the audio processing algorithm. Generally, one can say that a high number of filterbank channels requires more processing operations and, therefore, higher complexity than a small number of filterbank channels. In view of this, in bandwidth extension applications and also in other audio processing applications, where different sampling rates are an issue, such as in vocoder-like applications or any other audio effect applications, there is a specific interdependency between complexity and sampling rate or audio bandwidth, which means that operations for upsampling or subband filtering can drastically enhance the complexity without specifically influencing the audio quality in a good sense when the wrong tools or algorithms are chosen for the specific operations.

It is an object of the present invention to provide an improved concept of audio processing, which allows a low complexity processing on the one hand and a good audio quality on the other hand.

This object is achieved by an apparatus for downsampling an audio signal in accordance with claim <NUM>.

Embodiments of the present invention rely on a specific cascaded placement of analysis and/or synthesis filterbanks in order to obtain a low complexity resampling without sacrificing audio quality. In an embodiment, an apparatus for processing an input audio signal comprises a synthesis filterbank for synthesizing an audio intermediate signal from the input audio signal, where the input audio signal is represented by a plurality of first subband signals generated by an analysis filterbank placed in processing direction before the synthesis filterbank, wherein a number of filterbank channels of the synthesis filterbank is smaller than a number of channels of the analysis filterbank. The intermediate signal is furthermore processed by a further analysis filterbank for generating a plurality of second subband signals from the audio intermediate signal, wherein the further analysis filterbank has a number of channels being different from the number of channels of the synthesis filterbank so that a sampling rate of a subband signal of the plurality of subband signals is different from a sampling rate of a first subband signal of the plurality of first subband signals generated by the analysis filterbank.

The cascade of a synthesis filterbank and a subsequently connected further analysis filterbank provides a sampling rate conversion and additionally a modulation of the bandwidth portion of the original audio input signal which has been input into the synthesis filterbank to a base band. This time intermediate signal, that has now been extracted from the original input audio signal which can, for example, be the output signal of a core decoder of a bandwidth extension scheme, is now represented preferably as a critically sampled signal modulated to the base band, and it has been found that this representation, i.e. the resampled output signal, when being processed by a further analysis filterbank to obtain a subband representation allows a low complexity processing of further processing operations which may or may not occur and which can, for example, be bandwidth extension related processing operations such as non-linear subband operations followed by high frequency reconstruction processing and by a merging of the subbands in the final synthesis filterbank.

The present application provides different aspects of apparatuses, methods or computer programs for processing audio signals in the context of bandwidth extension and in the context of other audio applications, which are not related to bandwidth extension. The features of the subsequently described and claimed individual aspects can be partly or fully combined, but can also be used separately from each other, since the individual aspects already provide advantages with respect to perceptual quality, computational complexity and processor/memory resources when implemented in a computer system or micro processor.

Embodiments provide a method to reduce the computational complexity of a subband block based harmonic HFR method by means of efficient filtering and sampling rate conversion of the input signals to the HFR filter bank analysis stages. Further, the bandpass filters applied to the input signals can be shown to be obsolete in a subband block based transposer.

The present embodiments help to reduce the computational complexity of subband block based harmonic transposition by efficiently implementing several orders of subband block based transposition in the framework of a single analysis and synthesis filter bank pair. Depending on the perceptual quality versus computational complexity trade-off, only a suitable sub-set of orders or all orders of transposition can be performed jointly within a filterbank pair. Furthermore, a combined transposition scheme where only certain transposition orders are calculated directly whereas the remaining bandwidth is filled by replication of available, i.e. previously calculated, transposition orders (e.g. <NUM>nd order) and/or the core coded bandwidth. In this case patching can be carried out using every conceivable combination of available source ranges for replication.

Additionally, embodiments provide a method to improve both high quality harmonic HFR methods as well as subband block based harmonic HFR methods by means of spectral alignment of HFR tools. In particular, increased performance is achieved by aligning the spectral borders of the HFR generated signals to the spectral borders of the envelope adjustment frequency table. Further, the spectral borders of the limiter tool are by the same principle aligned to the spectral borders of the HFR generated signals.

Further embodiments are configured for improving the perceptual quality of transients and at the same time reducing computational complexity by, for example, application of a patching scheme that applies a mixed patching consisting of harmonic patching and copy-up patching.

In specific embodiments, the individual filterbanks of the cascaded filterbank structure are quadrature mirror filterbanks (QMF), which all rely on a lowpass prototype filter or window modulated using a set of modulation frequencies defining the center frequencies of the filterbank channels. Preferably, all window functions or prototype filters depend on each other in such a way that the filters of the filterbanks with different sizes (filterbank channels) depend on each other as well. Preferably, the largest filterbank in a cascaded structure of filterbanks comprising, in embodiments, a first analysis filterbank, a subsequently connected filterbank, a further analysis filterbank, and at some later state of processing a final synthesis filter bank, has a window function or prototype filter response having a certain number of window function or prototype filter coefficients. The smaller sized filterbanks are all sub-sampled version of this window function, which means that the window functions for the other filterbanks are sub-sampled versions of the "large" window function. For example, if a filterbank has half the size of the large filterbank, then the window function has half the number of coefficients, and the coefficients of the smaller sized filterbanks are derived by sub-sampling. In this situation, the sub-sampling means that e.g. every second filter coefficient is taken for the smaller filterbank having half the size. However, when there are other relations between the filterbank sizes which are non-integer valued, then a certain kind of interpolation of the window coefficients is performed so that in the end the window of the smaller filterbank is again a sub-sampled version of the window of the larger filterbank.

Embodiments of the present invention are particularly useful in situations where only a portion of the input audio signal is required for further processing, and this situation particularly occurs in the context of harmonic bandwidth extension. In this context, vocoder-like processing operations are particularly preferred.

It is an advantage of embodiments that the embodiments provide a lower complexity for a QMF transposer by efficient time and frequency domain operations and an improved audio quality for QMF and DFT based harmonic spectral band replication using spectral alignment.

Embodiments relate to audio source coding systems employing an e.g. subband block based harmonic transposition method for high frequency reconstruction (HFR), and to digital effect processors, e.g. so-called exciters, where generation of harmonic distortion adds brightness to the processed signal, and to time stretchers, where the duration of a signal is extended while maintaining the spectral content of the original. Embodiments provide a method to reduce the computational complexity of a subband block based harmonic HFR method by means of efficient filtering and sampling rate conversion of the input signals prior to the HFR filter bank analysis stages. Further, embodiments show that the conventional bandpass filters applied to the input signals are obsolete in a subband block based HFR system. Additionally, embodiments provide a method to improve both high quality harmonic HFR methods as well as subband block based harmonic HFR methods by means of spectral alignment of HFR tools. In particular, embodiments teach how increased performance is achieved by aligning the spectral borders of the HFR generated signals to the spectral borders of the envelope adjustment frequency table. Further, the spectral borders of the limiter tool are by the same principle aligned to the spectral borders of the HFR generated signals.

The present invention will now be described by way of illustrative examples, not limiting the scope of the invention, with reference to the accompanying drawings, in which:.

The below-described embodiments are merely illustrative and may provide a lower complexity of a QMF transposer by efficient time and frequency domain operations, and improved audio quality of both QMF and DFT based harmonic SBR by spectral alignment. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.

<FIG> illustrates a preferred implementation of the apparatus for processing an input audio signal, where the input audio signal can be a time domain input signal on line <NUM> output by, for example, a core audio decoder <NUM>. The input audio signal is input into a first analysis filterbank <NUM> which is, for example, an analysis filterbank having M channels. Particularly, the analysis filterbank <NUM> therefore outputs M subband signals <NUM>, which have a sampling rate fs = fs/M. This means that the analysis filterbank is a critically sampled analysis filterbank. This means that the analysis filterbank <NUM> provides, for each block of M input samples on line <NUM> a single sample for each subband channel. Preferably, the analysis filterbank <NUM> is a complex modulated filterbank which means that each subband sample has a magnitude and a phase or equivalently a real part and an imaginary part. Hence, the input audio signal on line <NUM> is represented by a plurality of first subband signals <NUM> which are generated by the analysis filterbank <NUM>.

A subset of all first subband signals is input into a synthesis filterbank <NUM>. The synthesis filterbank <NUM> has Ms channels, where Ms is smaller than M. Hence, not all the subband signals generated by filterbank <NUM> are input into synthesis filterbank <NUM>, but only a subset, i.e. a certain smaller amount of channels as indicated by <NUM>. In the <FIG> embodiment, the subset <NUM> covers a certain intermediate bandwidth, but alternatively, the subset can also cover a bandwidth starting with filterbank channel <NUM> of the filterbank <NUM> until a channel having a channel number smaller than M, or alternatively the subset <NUM> can also cover a group of subband signals aligned with the highest channel M and extended to a lower channel having a channel number higher than channel number <NUM>. Alternatively, the channel indexing can be started with zero depending on the actually used notation. Preferably, however, for bandwidth extension operations a certain intermediate bandwidth represented by the group of subband signals indicated at <NUM> is input into the synthesis filterbank <NUM>.

The other channels not belonging to the group <NUM> are not input into the synthesis filterbank <NUM>. The synthesis filterbank <NUM> generates an intermediate audio signal <NUM>, which has a sampling rate equal to fs · Ms/M. Since Ms is smaller than M, the sampling rate of the intermediate signal <NUM> will be smaller than the sampling rate of the input audio signal on line <NUM>. Therefore, the intermediate signal <NUM> represents a downsampled and demodulated signal corresponding to the bandwidth signal represented by subbands <NUM>, where the signal is demodulated to the base band, since the lowest channel of group <NUM> is input into channel <NUM> of the Ms synthesis filterbank and the highest channel of block <NUM> is input into the highest input of block <NUM>, apart from some zero padding operations for the lowest or the highest channel in order to avoid aliasing problems at the borders of the subset <NUM>. The apparatus for processing an input audio signal furthermore comprises a further analysis filterbank <NUM> for analyzing the intermediate signal <NUM>, and the further analysis filterbank has MA channels, where MA is different from Ms and preferably is greater than Ms. When MA is greater than Ms, then the sampling rate of the subband signals output by the further analysis filterbank <NUM> and indicated at <NUM> will be lower than the sampling rate of a subband signal <NUM>. However, when MA is lower than Ms, then the sampling rate of a subband signal <NUM> will be higher than a sampling rate of a subband signal of the plurality of first subband signals <NUM>.

Therefore, the cascade of filterbanks <NUM> and <NUM> (and preferably <NUM>) provides very efficient and high quality upsampling or downsampling operations or generally a very efficient resampling processing tool. The plurality of second subband signals <NUM> are preferably further processed in a processor <NUM> which performs the processing with the data resampled by the cascade of filterbanks <NUM>, <NUM> (and preferably <NUM>). Additionally, it is preferred that block <NUM> also performs an upsampling operation for bandwidth extension processing operations so that in the end the subbands output by block <NUM> are at the same sampling rate as the subbands output by block <NUM>. Then, in a bandwidth extension processing application, these subbands are input together with additional subbands indicated at <NUM>, which are preferably the low band subbands as, for example, generated by the analysis filterbank <NUM> into a synthesis filterbank <NUM>, which finally provides a processed time domain signal, for example a bandwidth extended signal having a sampling rate 2fs. This sampling rate output by the block <NUM> is in this embodiment <NUM> times the sampling rate of the signal on line <NUM>, and this sampling rate output by block <NUM> is large enough so that the additional bandwidth generated by the processing in block <NUM> can be represented in the processed time domain signal with high audio quality.

Depending on the certain application of the present invention of cascaded filterbanks, the filterbank <NUM> can be in a separate device and an apparatus for processing an input audio signal may only comprise the synthesis filterbank <NUM> and the further analysis filterbank <NUM>. Stated differently, the analysis filterbank <NUM> can be distributed separately from a "post"-processor comprising blocks <NUM>, <NUM> and, depending on the implementation, blocks <NUM> and <NUM>, too.

In other embodiments, the application of the present invention implementing cascaded filterbanks can be different in that a certain device comprises the analysis filterbank <NUM> and the smaller synthesis filterbank <NUM>, and the intermediate signal is provided to a different processor distributed by a different distributor or via a different distribution channel. Then, the combination of the analysis filterbank <NUM> and the smaller synthesis filterbank <NUM> represents a very efficient way of downsampling and at the same time demodulating the bandwidth signal represented by the subset <NUM> to the base band. This downsampling and demodulation to the base band has been performed without any loss in audio quality, and particularly without any loss in audio information and therefore is a high quality processing.

The table in <FIG> illustrates certain exemplary numbers for the different devices. Preferably, the analysis filterbank <NUM> has <NUM> channels, the synthesis filterbank has <NUM> channels, the further analysis filterbank has <NUM> times the channels of the synthesis filterbank, such as <NUM> channels, and the final synthesis filterbank <NUM> has <NUM> channels. Generally stated, the number of channels in the analysis filterbank <NUM> is big, the number of channels in the synthesis filterbank <NUM> is small, the number of channels in the further analysis filterbank <NUM> is medium and the number of channels in the synthesis filterbank <NUM> is very large. The sampling rates of the subband signals output by the analysis filterbank <NUM> is fs/M. The intermediate signal has a sampling rate fs · Ms/M. The subband channels of the further analysis filterbank indicated at <NUM> have a sampling rate of fs · Ms/(M - MA), and the synthesis filterbank <NUM> provides an output signal having a sampling rate of 2fs, when the processing in block <NUM> doubles the sampling rate. However, when the processing in block <NUM> does not double the sampling rate, then the sampling rate output by the synthesis filterbank will be correspondingly lower. Subsequently, further preferred embodiments related to the present invention are discussed.

<FIG> illustrates the principle of subband block based transposition. The input time domain signal is fed to an analysis filterbank <NUM> which provides a multitude of complex valued subband signals. These are fed to the subband processing unit <NUM>. The multitude of complex valued output subbands is fed to the synthesis filterbank <NUM>, which in turn outputs the modified time domain signal. The subband processing unit <NUM> performs nonlinear block based subband processing operations such that the modified time domain signal is a transposed version of the input signal corresponding to a transposition order T > <NUM>. The notion of a block based subband processing is defined by comprising nonlinear operations on blocks of more than one subband sample at a time, where subsequent blocks are windowed and overlap added to generate the output subband signals.

The filterbanks <NUM> and <NUM> can be of any complex exponential modulated type such as QMF or a windowed DFT. They can be evenly or oddly stacked in the modulation and can be defined from a wide range of prototype filters or windows. It is important to know the quotient ΔfS / ΔfA of the following two filter bank parameters, measured in physical units.

For the configuration of the subband processing <NUM> it is necessary to find the correspondence between source and target subband indices. It is observed that an input sinusoid of physical frequency Ω will result in a main contribution occurring at input subbands with index n ≈ Ω/ΔfA. An output sinusoid of the desired transposed physical frequency T·Ω will result from feeding the synthesis subband with index m ≈ T·Ω/ΔfS. Hence, the appropriate source subband index values of the subband processing for a given target subband index m must obey <MAT>.

<FIG> illustrates an example scenario for the application of subband block based transposition using several orders of transposition in a HFR enhanced audio codec. A transmitted bit-stream is received at the core decoder <NUM>, which provides a low bandwidth decoded core signal at a sampling frequency fs. The low frequency is resampled to the output sampling frequency 2fs by means of a complex modulated <NUM> band QMF analysis bank <NUM> followed by a <NUM> band QMF synthesis bank (Inverse QMF) <NUM>. The two filterbanks <NUM> and <NUM> have the same physical resolution parameters ΔfS = ΔfA and the HFR processing unit <NUM> simply lets through the unmodified lower subbands corresponding to the low bandwidth core signal. The high frequency content of the output signal is obtained by feeding the higher subbands of the <NUM> band QMF synthesis bank <NUM> with the output bands from the multiple transposer unit <NUM>, subject to spectral shaping and modification performed by the HFR processing unit <NUM>. The multiple transposer <NUM> takes as input the decoded core signal and outputs a multitude of subband signals which represent the <NUM> QMF band analysis of a superposition or combination of several transposed signal components. The objective is that if the HFR processing is bypassed, each component corresponds to an integer physical transposition of the core signal, (T = <NUM>,<NUM>,.

<FIG> illustrates a prior art example scenario for the operation of a multiple order subband block based transposition <NUM> applying a separate analysis filter bank per transposition order. Here three transposition orders T = <NUM>,<NUM>,<NUM> are to be produced and delivered in the domain of a <NUM> band QMF operating at output sampling rate 2fs. The merge unit <NUM> simply selects and combines the relevant subbands from each transposition factor branch into a single multitude of QMF subbands to be fed into the HFR processing unit.

Consider first the case T = <NUM>. The objective is specifically that the processing chain of a <NUM> band QMF analysis <NUM>-<NUM>, a subband processing unit <NUM>-<NUM>, and a <NUM> band QMF synthesis <NUM> results in a physical transposition of T = <NUM>. Identifying these three blocks with <NUM>, <NUM> and <NUM> of <FIG>, one finds that and ΔfS /ΔfA = <NUM> such that (<NUM>) results in the specification for <NUM>-<NUM> that the correspondence between source n and target subbands m is given by n = m.

For the case T = <NUM>, the exemplary system includes a sampling rate converter <NUM>-<NUM> which converts the input sampling rate down by a factor <NUM>/<NUM> from fs to 2fs/<NUM>. The objective is specifically that the processing chain of the <NUM> band QMF analysis <NUM>-<NUM>, the subband processing unit <NUM>-<NUM>, and a <NUM> band QMF synthesis <NUM> results in a physical transposition of T = <NUM>. Identifying these three blocks with <NUM>, <NUM> and <NUM> of <FIG>, one finds due to the resampling that ΔfS /ΔfA = <NUM> such that (<NUM>) provides the specification for <NUM>-<NUM> that the correspondence between source n and target subbands m is again given by n = m.

For the case T = <NUM>, the exemplary system includes a sampling rate converter <NUM>-<NUM> which converts the input sampling rate down by a factor two from fs to fs/<NUM>. The objective is specifically that the processing chain of the <NUM> band QMF analysis <NUM>-<NUM>, the subband processing unit <NUM>-<NUM>, and a <NUM> band QMF synthesis <NUM> results in a physical transposition of T = <NUM>. Identifying these three blocks with <NUM>, <NUM> and <NUM> of <FIG>, one finds due to the resampling that ΔfS /ΔfA = <NUM> such that (<NUM>) provides the specification for <NUM>-<NUM> that the correspondence between source n and target subbands m is also given by n = m.

<FIG> illustrates an example scenario for the efficient operation of a multiple order subband block based transposition applying a single <NUM> band QMF analysis filter bank. Indeed, the use of three separate QMF analysis banks and two sampling rate converters in <FIG> results in a rather high computational complexity, as well as some implementation disadvantages for frame based processing due to the sampling rate conversion <NUM>-<NUM>. The current embodiments teach to replace the two branches <NUM>-<NUM> → <NUM>-<NUM> → <NUM>-<NUM> and <NUM>-<NUM> → <NUM>-<NUM> → <NUM>-<NUM> by the subband processing <NUM>-<NUM> and <NUM>-<NUM>, respectively, whereas the branch <NUM>-<NUM> → <NUM>-<NUM> is kept unchanged compared to <FIG>. All three orders of transposition will now have to be performed in a filterbank domain with reference to <FIG>, where ΔfS / ΔfA = <NUM>. For the case T = <NUM>, the specification for <NUM>-<NUM> given by (<NUM>) is that the correspondence between source n and target subbands m is given by n ≈ <NUM>m/<NUM>. For the case T = <NUM>, the specifications for <NUM>-<NUM> given by (<NUM>) is that the correspondence between source n and target subbands m is given by n ≈ <NUM>. To further reduce complexity, some transposition orders can be generated by copying already calculated transposition orders or the output of the core decoder.

<FIG> illustrates the operation of a subband block based transposer using transposition orders of <NUM>, <NUM>, and <NUM> in a HFR enhanced decoder framework, such as SBR [ISO/IEC <NUM>-<NUM>:<NUM>, "Information technology - Coding of audio-visual objects - Part <NUM>: Audio]. The bitstream is decoded to the time domain by the core decoder <NUM> and passed to the HFR module <NUM>, which generates a high frequency signal from the base band core signal. After generation, the HFR generated signal is dynamically adjusted to match the original signal as close as possible by means of transmitted side information. This adjustment is performed by the HFR processor <NUM> on subband signals, obtained from one or several analysis QMF banks. A typical scenario is where the core decoder operates on a time domain signal sampled at half the frequency of the input and output signals, i.e. the HFR decoder module will effectively resample the core signal to twice the sampling frequency. This sample rate conversion is usually obtained by the first step of filtering the core coder signal by means of a <NUM>-band analysis QMF bank <NUM>. The subbands below the so-called crossover frequency, i.e. the lower subset of the <NUM> subbands that contains the entire core coder signal energy, are combined with the set of subbands that carry the HFR generated signal. Usually, the number of so combined subbands is <NUM>, which, after filtering through the synthesis QMF bank <NUM>, results in a sample rate converted core coder signal combined with the output from the HFR module.

In the subband block based transposer of the HFR module <NUM>, three transposition orders T = <NUM>, <NUM> and <NUM>, are to be produced and delivered in the domain of a <NUM> band QMF operating at output sampling rate 2fs. The input time domain signal is bandpass filtered in the blocks <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM>. This is done in order to make the output signals, processed by the different transposition orders, to have non-overlapping spectral contents. The signals are further downsampled (<NUM>-<NUM>, <NUM>-<NUM>) to adapt the sampling rate of the input signals to fit analysis filter banks of a constant size (in this case <NUM>). It can be noted that the increase of the sampling rate, from fs to 2fs, can be explained by the fact that the sampling rate converters use downsampling factors of T/<NUM> instead of T, in which the latter would result in transposed subband signals having equal sampling rate as the input signal. The downsampled signals are fed to separate HFR analysis filter banks (<NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM>), one for each transposition order, which provide a multitude of complex valued subband signals. These are fed to the non-linear subband stretching units (<NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM>). The multitude of complex valued output subbands are fed to the Merge/Combine module <NUM> together with the output from the subsampled analysis bank <NUM>. The Merge/Combine unit simply merges the subbands from the core analysis filter bank <NUM> and each stretching factor branch into a single multitude of QMF subbands to be fed into the HFR processing unit <NUM>.

When the signal spectra from different transposition orders are set to not overlap, i.e. the spectrum of the Tth transposition order signal should start where the spectrum from the T-<NUM> order signal ends, the transposed signals need to be of bandpass character. Hence the traditional bandpass filters <NUM>-<NUM>-<NUM>-<NUM> in <FIG>. However, through a simple exclusive selection among the available subbands by the Merge/Combine unit <NUM>, the separate bandpass filters are redundant and can be avoided. Instead, the inherent bandpass characteristic provided by the QMF bank is exploited by feeding the different contributions from the transposer branches independently to different subband channels in <NUM>. It also suffices to apply the time stretching only to bands which are combined in <NUM>.

<FIG> illustrates the operation of a nonlinear subband stretching unit. The block extractor <NUM> samples a finite frame of samples from the complex valued input signal. The frame is defined by an input pointer position. This frame undergoes nonlinear processing in <NUM> and is subsequently windowed by a finite length window in <NUM>. The resulting samples are added to previously output samples in the overlap and add unit <NUM> where the output frame position is defined by an output pointer position. The input pointer is incremented by a fixed amount and the output pointer is incremented by the subband stretch factor times the same amount. An iteration of this chain of operations will produce an output signal with duration being the subband stretch factor times the input subband signal duration, up to the length of the synthesis window.

While the SSB transposer employed by SBR [ISO/IEC <NUM>-<NUM>:<NUM>, "Information technology - Coding of audio-visual objects - Part <NUM>: Audio] typically exploits the entire base band, excluding the first subband, to generate the high band signal, a harmonic transposer generally uses a smaller part of the core coder spectrum. The amount used, the so-called source range, depends on the transposition order, the bandwidth extension factor, and the rules applied for the combined result, e.g. if the signals generated from different transposition orders are allowed to overlap spectrally or not. As a consequence, just a limited part of the harmonic transposer output spectrum for a given transposition order will actually be used by the HFR processing module <NUM>.

<FIG> illustrates another embodiment of an exemplary processing implementation for processing a single subband signal. The single subband signal has been subjected to any kind of decimation either before or after being filtered by an analysis filter bank not shown in <FIG>. Therefore, the time length of the single subband signal is shorter than the time length before forming the decimation. The single subband signal is input into a block extractor <NUM>, which can be identical to the block extractor <NUM>, but which can also be implemented in a different way. The block extractor <NUM> in <FIG> operates using a sample/block advance value exemplarily called e. The sample/block advance value can be variable or can be fixedly set and is illustrated in <FIG> as an arrow into block extractor box <NUM>. At the output of the block extractor <NUM>, there exists a plurality of extracted blocks. These blocks are highly overlapping, since the sample/block advance value e is significantly smaller than the block length of the block extractor. An example is that the block extractor extracts blocks of <NUM> samples. The first block comprises samples <NUM> to <NUM>, the second block comprises samples <NUM> to <NUM>, the third block comprises samples <NUM> to <NUM>, and so on. In this embodiment, the sample/block advance value e is equal to <NUM>, and there is a <NUM>-fold overlapping.

The individual blocks are input into a windower <NUM> for windowing the blocks using a window function for each block. Additionally, a phase calculator <NUM> is provided, which calculates a phase for each block. The phase calculator <NUM> can either use the individual block before windowing or subsequent to windowing. Then, a phase adjustment value p x k is calculated and input into a phase adjuster <NUM>. The phase adjuster applies the adjustment value to each sample in the block. Furthermore, the factor k is equal to the bandwidth extension factor. When, for example, the bandwidth extension by a factor <NUM> is to be obtained, then the phase p calculated for a block extracted by the block extractor <NUM> is multiplied by the factor <NUM> and the adjustment value applied to each sample of the block in the phase adjustor <NUM> is p multiplied by <NUM>. This is an exemplary value/rule. Alternatively, the corrected phase for synthesis is k * p, p + (k-<NUM>)*p. So in this example the correction factor is either <NUM>, if multiplied or <NUM>*p if added. Other values/rules can be applied for calculating the phase correction value.

In an embodiment, the single subband signal is a complex subband signal, and the phase of a block can be calculated by a plurality of different ways. One way is to take the sample in the middle or around the middle of the block and to calculate the phase of this complex sample. It is also possible to calculate the phase for every sample.

Although illustrated in <FIG> in the way that a phase adjustor operates subsequent to the windower, these two blocks can also be interchanged, so that the phase adjustment is performed to the blocks extracted by the block extractor and a subsequent windowing operation is performed. Since both operations, i.e., windowing and phase adjustment are real-valued or complex-valued multiplications, these two operations can be summarized into a single operation using a complex multiplication factor, which, itself, is the product of a phase adjustment multiplication factor and a windowing factor.

The phase-adjusted blocks are input into an overlap/add and amplitude correction block <NUM>, where the windowed and phase-adjusted blocks are overlap-added. Importantly, however, the sample/block advance value in block <NUM> is different from the value used in the block extractor <NUM>. Particularly, the sample/block advance value in block <NUM> is greater than the value e used in block <NUM>, so that a time stretching of the signal output by block <NUM> is obtained. Thus, the processed subband signal output by block <NUM> has a length which is longer than the subband signal input into block <NUM>. When the bandwidth extension of two is to be obtained, then the sample/block advance value is used, which is two times the corresponding value in block <NUM>. This results in a time stretching by a factor of two. When, however, other time stretching factors are necessary, then other sample/block advance values can be used so that the output of block <NUM> has a required time length.

For addressing the overlap issue, an amplitude correction is preferably performed in order to address the issue of different overlaps in block <NUM> and <NUM>. This amplitude correction could, however, be also introduced into the windower/phase adjustor multiplication factor, but the amplitude correction can also be performed subsequent to the overlap/processing.

In the above example with a block length of <NUM> and a sample/block advance value in the block extractor of one, the sample/block advance value for the overlap/add block <NUM> would be equal to two, when a bandwidth extension by a factor of two is performed. This would still result in an overlap of five blocks. When a bandwidth extension by a factor of three is to be performed, then the sample/block advance value used by block <NUM> would be equal to three, and the overlap would drop to an overlap of three. When a four-fold bandwidth extension is to be performed, then the overlap/add block <NUM> would have to use a sample/block advance value of four, which would still result in an overlap of more than two blocks.

Large computational savings can be achieved by restricting the input signals to the transposer branches to solely contain the source range, and this at a sampling rate adapted to each transposition order. The basic block scheme of such a system for a subband block based HFR generator is illustrated in <FIG>. The input core coder signal is processed by dedicated downsamplers preceding the HFR analysis filter banks.

The essential effect of each downsampler is to filter out the source range signal and to deliver that to the analysis filter bank at the lowest possible sampling rate. Here, lowest possible refers to the lowest sampling rate that is still suitable for the downstream processing, not necessarily the lowest sampling rate that avoids aliasing after decimation. The sampling rate conversion may be obtained in various manners. Without limiting the scope of the invention, two examples will be given: the first shows the resampling performed by multi-rate time domain processing, and the second illustrates the resampling achieved by means of QMF subband processing.

<FIG> shows an example of the blocks in a multi-rate time domain downsampler for a transposition order of <NUM>. The input signal, having a bandwidth B Hz, and a sampling frequency fs, is modulated by a complex exponential (<NUM>) in order to frequency-shift the start of the source range to DC frequency as <MAT>.

Examples of an input signal and the spectrum after modulation is depicted in <FIG>. The modulated signal is interpolated (<NUM>) and filtered by a complex-valued lowpass filter with passband limits <NUM> and B/<NUM> (<NUM>). The spectra after the respective steps are shown in <FIG>. The filtered signal is subsequently decimated (<NUM>) and the real part of the signal is computed (<NUM>). The results after these steps are shown in <FIG>. In this particular example, when T=<NUM>, B=<NUM> (on a normalized scale, i.e. fs=<NUM>), P<NUM> is chosen as <NUM>, in order to safely cover the source range. The downsampling factor gets <MAT> , where the fraction has been reduced by the common factor <NUM>. Hence, the interpolation factor is <NUM> (as seen from <FIG>) and the decimation factor is <NUM>. By using the Noble Identities ["Multirate Systems And Filter Banks," P. Vaidyanathan, <NUM>, Prentice Hall, Englewood Cliffs], the decimator can be moved all the way to the left, and the interpolator all the way to the right in <FIG>. In this way, the modulation and filtering are done on the lowest possible sampling rate and computational complexity is further decreased.

Another approach is to use the subband outputs from the subsampled <NUM>-band analysis QMF bank <NUM> already present in the SBR HFR method. The subbands covering the source ranges for the different transposer branches are synthesized to the time domain by small subsampled QMF banks preceding the HFR analysis filter banks. This type of HFR system is illustrated in <FIG>. The small QMF banks are obtained by subsampling the original <NUM>-band QMF bank, where the prototype filter coefficients are found by linear interpolation of the original prototype filter. Following the notation in <FIG>, the synthesis QMF bank preceding the <NUM>nd order transposer branch has Q<NUM>=<NUM> bands (the subbands with zero-based indices from <NUM> to <NUM> in the <NUM>-band QMF). To prevent aliasing in the synthesis process, the first (index <NUM>) and last (index <NUM>) bands are set to zero. The resulting spectral output is shown in <FIG>. Note that the block based transposer analysis filter bank has <NUM>Q<NUM>=<NUM> bands, i.e. the same number of bands as in the multi-rate time domain downsampler based example (<FIG>).

When <FIG> and <FIG> are compared, it becomes clear that element <NUM> of <FIG> corresponds to the analysis filterbank <NUM> of <FIG>. Furthermore, the synthesis filterbank <NUM> of <FIG> corresponds to element <NUM>-<NUM>, and the further analysis filterbank <NUM> of <FIG> corresponds to element <NUM>-<NUM>. Block <NUM>-<NUM> corresponds to block <NUM> and the combiner <NUM> may correspond to the synthesis filterbank <NUM>, but in other embodiments, the combiner can be configured to output subband signals and, then, a further synthesis filterbank connected to the combiner can be used. However, depending on the implementation, a certain high frequency reconstruction as discussed in the context of <FIG> later on can be performed before synthesis filtering by synthesis filterbank <NUM> or combiner <NUM>, or can be performed subsequent to synthesis filtering in synthesis filterbank <NUM> of <FIG> or subsequent to the combiner in block <NUM> of <FIG>.

The other branches extending from <NUM>-<NUM> to <NUM>-<NUM> or extending from <NUM>-T to <NUM>-T are not illustrated in <FIG>, but can be implemented in a similar manner, but with different sizes of filterbanks where T in <FIG> corresponds to a transposition factor. However, as discussed in the context of <FIG>, the transposition by a transposition factor of <NUM> and the transposition by a transposition factor of <NUM> can be introduced into the processing branch consisting of element <NUM>-<NUM> to <NUM>-<NUM> so that block <NUM>-<NUM> does not only provide a transposition by a factor of <NUM> but also a transposition by a factor of <NUM> and a factor of <NUM>, together with a certain synthesis filterbank is used as discussed in the context of <FIG> and <FIG>.

In the <FIG> embodiment, Q<NUM> corresponds to Ms and Ms is equal to, for example, <NUM>. Furthermore, the size of the further analysis filterbank <NUM>-<NUM> corresponding to element <NUM> is equal to <NUM> such as <NUM> in the embodiment.

Furthermore, as outlined before, the lowest subband channel and the highest subband channel of the synthesis filterbank <NUM> can be fed with zeroes in order to avoid aliasing problems.

The system outlined in <FIG> can be viewed as a simplified special case of the resampling outlined in <FIG>. In order to simplify the arrangement, the modulators are omitted. Further, all HFR analysis filtering are obtained using <NUM>-band analysis filter banks. Hence, P<NUM> = P<NUM> = P<NUM> = <NUM> of <FIG>, and the downsampling factors are <NUM>, <NUM> and <NUM> for the <NUM>nd, <NUM>rd and <NUM>th order transposer branches respectively.

It is an advantage of the present invention that in the context of the inventive critical sampling processing, the subband signals from the <NUM>-band analysis QMF bank corresponding to block <NUM> of <FIG> or <NUM> of <FIG> as defined in MPEG4 (ISO/IEC <NUM>-<NUM>) can be used. The definition of this analysis filterbank in the MPEG-<NUM> Standard is illustrated in the upper portion of <FIG> and is illustrated as a flowchart in <FIG>, which is also taken from the MPEG-<NUM> Standard. The SBR (spectral bandwidth replication) portion of this standard is incorporated herein by reference. Particularly, the analysis filterbank <NUM> of <FIG> or the <NUM>-band QMF <NUM> of <FIG> can be implemented as illustrated in <FIG>, upper portion and the flowchart in <FIG>.

Furthermore, the synthesis filterbank illustrated in block <NUM> of <FIG> can also be implemented as indicated in the lower portion of <FIG> and as illustrated in the flowchart of <FIG>. However, any other filterbank definitions can be applied, but at least for the analysis filterbank <NUM>, the implementation illustrated in <FIG> and <FIG> is preferred due to the robustness, stability and high quality provided by this MPEG-<NUM> analysis filterbank having <NUM> channels at least in the context of bandwidth extension applications such as spectral bandwidth replication, or stated generally, high frequency reconstruction processing applications.

The synthesis filterbank <NUM> is configured for synthesizing a subset of the subbands covering the source range for a transposer. This synthesis is done for synthesizing the intermediate signal <NUM> in the time domain. Preferably, the synthesis filterbank <NUM> is a small sub-sampled real-valued QMF bank.

The time domain output <NUM> of this filterbank is then fed to a complex-valued analysis QMF bank of twice the filterbank size. This QMF bank is illustrated by block <NUM> of <FIG>. This procedure enables a substantial saving in computational complexity as only the relevant source range is transformed to the QMF subband domain having doubled frequency resolution. The small QMF banks are obtained by sub-sampling of the original <NUM>-band QMF bank, where the prototype filter coefficients are obtained by linear interpolation of the original prototype filter. Preferably, the prototype filter associated with the MPEG-<NUM> synthesis filterbank having <NUM> samples is used, where the MPEG-<NUM> analysis filterbank has a window of <NUM> window samples.

The processing of the sub-sampled filterbanks is described in <FIG> and <FIG>, illustrating flowcharts. The following variables are first determined: <MAT> <MAT> where MS is the size of the sub-sampled synthesis filter bank and kL represents the subband index of the first channel from the <NUM>-band QMF bank to enter the sub-sampled synthesis filter bank. The array startSubband2kL is listed in Table <NUM>. The function floor{x} rounds the argument x to the nearest integer towards minus infinity.

Hence, the value Ms defines the size of the synthesis filterbank <NUM> of <FIG> and KL is the first channel of the subset <NUM> indicated at <FIG>. Specifically, the value in the equation ftableLow is defined in ISO/IEC <NUM>-<NUM>, section <NUM>. <NUM> which is also incorporated herein by reference. It is to be noted that the value Ms goes in increments of <NUM>, which means that the size of the synthesis filterbank <NUM> can be <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>.

Preferably, the synthesis filterbank <NUM> is a real-valued synthesis filter bank. To this end, a set of Ms real-valued subband samples is calculated from the Ms new complex-valued subband samples according to the first step of <FIG>. To this end, the following equation is used <MAT>.

In the equation, exp() denotes the complex exponential function, i is the imaginary unit and kL has been defined before.

The output from this operation is stored in the positions <NUM> to <NUM>MS-<NUM> of array v.

where µ(n) and ρ(n) are defined as the integer and fractional parts of <NUM>·n / MS, respectively. The window coefficients of c can be found in Table <NUM>. <NUM> of ISO/IEC <NUM>-<NUM>:<NUM>.

Hence, the synthesis filterbank has a prototype window function calculator for calculating a prototype window function by subsampling or interpolating using a stored window function for a filterbank having a different size.

Subsequently, the preferred implementation of the further analysis filterbank <NUM> in <FIG> is illustrated together with the flowchart in <FIG>.

Hence, the further analysis filterbank <NUM> has a prototype window function calculator for calculating a prototype window function by subsampling or interpolating using a stored window function for a filterbank having a different size.

In the equation, exp() denotes the complex exponential function, and i is the imaginary unit.

A block diagram of a factor <NUM> downsampler is shown in <FIG>. The now real-valued low pass filter can be written H(z) = B(z) / A(z), where B(z) is the non-recursive part (FIR) and A(z) is the recursive part (IIR). However, for an efficient implementation, using the Noble Identities to decrease computational complexity, it is beneficial to design a filter where all poles have multiplicity <NUM> (double poles) as A(z<NUM>). Hence the filter can be factored as shown in <FIG>. Using Noble Identity <NUM>, the recursive part may be moved past the decimator as in <FIG>. The non-recursive filter B(z) can be implemented using standard <NUM>-component polyphase decomposition as <MAT>.

Hence, the downsampler may be structured as in <FIG>. After using Noble Identity <NUM>, the FIR part is computed at the lowest possible sampling rate as shown in <FIG>. From <FIG> it is easy to see that the FIR operation (delay, decimators and polyphase components) can be viewed as a window-add operation using an input stride of two samples. For two input samples, one new output sample will be produced, effectively resulting in a downsampling of a factor <NUM>.

A block diagram of the factor <NUM>=<NUM>/<NUM> downsampler is shown in <FIG>. The real-valued low pass filter can again be written H(z) = B(z) / A(z), where B(z) is the non-recursive part (FIR) and A(z) is the recursive part (IIR). As before, for an efficient implementation, using the Noble Identities to decrease computational complexity, it is beneficial to design a filter where all poles either have multiplicity <NUM> (double poles) or multiplicity <NUM> (triple poles) as A(z<NUM>) or A(z<NUM>) respectively. Here, double poles are chosen as the design algorithm for the low pass filter is more efficient, although the recursive part actually gets <NUM> times more complex to implement compared to the triple pole approach. Hence the filter can be factored as shown in <FIG>. Using Noble Identity <NUM>, the recursive part may be moved in front of the interpolator as in <FIG>. The non-recursive filter B(z) can be implemented using standard <NUM> = <NUM> component polyphase decomposition as <MAT>.

Hence, the downsampler may be structured as in <FIG>. After using both Noble Identity <NUM> and <NUM>, the FIR part is computed at the lowest possible sampling rate as shown in <FIG>. From <FIG> it is easy to see that the even-indexed output samples are computed using the lower group of three polyphase filters (E<NUM>(z), E<NUM>(z), E<NUM>(z)) while the odd-indexed samples are computed from the higher group (E<NUM>(z), E<NUM>(z), E<NUM>(z)). The operation of each group (delay chain, decimators and polyphase components) can be viewed as a window-add operation using an input stride of three samples. The window coefficients used in the upper group are the odd indexed coefficients, while the lower group uses the even index coefficients from the original filter B(z). Hence, for a group of three input samples, two new output samples will be produced, effectively resulting in a downsampling of a factor <NUM>.

The time domain signal from the core decoder (<NUM> in <FIG>) may also be subsampled by using a smaller subsampled synthesis transform in the core decoder. The use of a smaller synthesis transform offers even further decreased computational complexity. Depending on the cross-over frequency, i.e. the bandwidth of the core coder signal, the ratio of the synthesis transform size and the nominal size Q (Q < <NUM>), results in a core coder output signal having a sampling rate Qfs. To process the subsampled core coder signal in the examples outlined in the current application, all the analysis filter banks of <FIG> (<NUM>, <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM>) need to scaled by the factor Q, as well as the downsamplers (<NUM>-<NUM>, <NUM>-<NUM> and <NUM>-T) of <FIG>, the decimator <NUM> of <FIG>, and the analysis filter bank <NUM> of <FIG>. Apparently, Q has to be chosen so that all filter bank sizes are integers.

<FIG> illustrates the alignment of the spectral borders of the HFR transposer signals to the spectral borders of the envelope adjustment frequency table in a HFR enhanced coder, such as SBR [ISO/IEC <NUM>-<NUM>:<NUM>, "Information technology - Coding of audio-visual objects - Part <NUM>: Audio]. <FIG> shows a stylistic graph of the frequency bands comprising the envelope adjustment table, the so-called scale-factor bands, covering the frequency range from the cross-over frequency kx to the stop frequency ks. The scale-factor bands constitute the frequency grid used in a HFR enhanced coder when adjusting the energy level of the regenerated high-band frequency, i.e. the frequency envelope. In order to adjust the envelope, the signal energy is averaged over a time/frequency block constrained by the scale-factor band borders and selected time borders. If the signals generated by different transposition orders are unaligned to the scale-factor bands, as illustrated in <FIG>, artifacts may arise if the spectral energy drastically changes in the vicinity of a transposition band border, since the envelope adjustment process will maintain the spectral structure within one scale-factor band. Hence, the proposed solution is to adapt the frequency borders of the transposed signals to the borders of the scale-factor bands as shown in <FIG>. In the figure, the upper border of the signals generated by transposition orders of <NUM> and <NUM> (T=<NUM>, <NUM>) are lowered a small amount, compared to <FIG>, in order to align the frequency borders of the transposition bands to existing scale-factor band borders.

A realistic scenario showing the potential artifacts when using unaligned borders is depicted in <FIG> again shows the scale-factor band borders. <FIG> shows the unadjusted HFR generated signals of transposition orders T=<NUM>, <NUM> and <NUM> together with the core decoded base band signal. <FIG> shows the envelope adjusted signal when a flat target envelope is assumed. The blocks with checkered areas represent scale-factor bands with high intra-band energy variations, which may cause anomalies in the output signal.

<FIG> illustrates the scenario of <FIG>, but this time using aligned borders. <FIG> shows the scale-factor band borders, <FIG> depicts the unadjusted HFR generated signals of transposition orders T=<NUM>, <NUM> and <NUM> together with the core decoded base band signal and, in line with <FIG>, <FIG> shows the envelope adjusted signal when a flat target envelope is assumed. As seen from this figure, there are no scale-factor bands with high intra-band energy variations due to misalignment of the transposed signal bands and the scale-factor bands, and hence the potential artifacts are diminished.

<FIG> illustrates the adaption of the HFR limiter band borders, as described in e.g. SBR [ISO/IEC <NUM>-<NUM>:<NUM>, "Information technology - Coding of audio-visual objects - Part <NUM>: Audio] to the harmonic patches in a HFR enhanced coder. The limiter operates on frequency bands having a much coarser resolution than the scale-factor bands, but the principle of operation is very much the same. In the limiter, an average gain-value for each of the limiter bands is calculated. The individual gain values, i.e. the envelope gain values calculated for each of the scale-factor bands, are not allowed to exceed the limiter average gain value by more than a certain multiplicative factor. The objective of the limiter is to suppress large variations of the scale-factor band gains within each of the limiter bands. While the adaption of the transposer generated bands to the scale-factor bands ensures small variations of the intra-band energy within a scale-factor band, the adaption of the limiter band borders to the transposer band borders handles the larger scale energy differences between the transposer processed bands. <FIG> shows the frequency limits of the HFR generated signals of transposition orders T=<NUM>, <NUM> and <NUM>. The energy levels of the different transposed signals can be substantially different. <FIG> shows the frequency bands of the limiter which typically are of constant width on a logarithmic frequency scale. The transposer frequency band borders are added as constant limiter borders and the remaining limiter borders are recalculated to maintain the logarithmic relations as close as possible, as for example illustrated in <FIG>.

Further examples employ a mixed patching scheme which is shown in <FIG>, where the mixed patching method within a time block is performed. For full coverage of the different regions of the HF spectrum, a BWE comprises several patches. In HBE, the higher patches require high transposition factors within the phase vocoders, which particularly deteriorate the perceptual quality of transients.

Thus examples generate the patches of higher order that occupy the upper spectral regions preferably by computationally efficient SSB copy-up patching and the lower order patches covering the middle spectral regions, for which the preservation of the harmonic structure is desired, preferably by HBE patching. The individual mix of patching methods can be static over time or, preferably, be signaled in the bitstream.

For the copy-up operation, the low frequency information can be used as shown in <FIG>. Alternatively, the data from patches that were generated using HBE methods can be used as illustrated in <FIG>. The latter leads to a less dense tonal structure for higher patches. Besides these two examples, every combination of copy-up and HBE is conceivable.

The advantages of the proposed concepts are.

<FIG> illustrates a preferred processing chain for the purpose of bandwidth extension, where different processing operations can be performed within the non-linear subband processing indicated at blocks 1020a, 1020b. The cascade of filterbanks <NUM>, <NUM>, <NUM> is represented in <FIG> by block <NUM>. Furthermore, block <NUM> may correspond to elements 1020a, 1020b and the envelope adjuster <NUM> can be placed between block <NUM> and block <NUM> of <FIG> or can be placed subsequent to the processing in block <NUM>. In this implementation, the band-selective processing of the processed time domain signal such as the bandwidth extended signal is performed in the time domain rather than in the subband domain, which exists before the synthesis filterbank <NUM>.

<FIG> illustrates an apparatus for generating a bandwidth extended audio signal from a lowband input signal <NUM> in accordance with a further embodiment. The apparatus comprises an analysis filterbank <NUM>, a subband-wise non-linear subband processor 1020a, 1020b, a subsequently connected envelope adjuster <NUM> or, generally stated, a high frequency reconstruction processor operating on high frequency reconstruction parameters as, for example, input at parameter line <NUM>. The envelope adjuster, or as generally stated, the high frequency reconstruction processor processes individual subband signals for each subband channel and inputs the processed subband signals for each subband channel into a synthesis filterbank <NUM>. The synthesis filterbank <NUM> receives, at its lower channel input signals, a subband representation of the lowband core decoder signal. Depending on the implementation, the lowband can also be derived from the outputs of the analysis filterbank <NUM> in <FIG>. The transposed subband signals are fed into higher filterbank channels of the synthesis filterbank for performing high frequency reconstruction.

The filterbank <NUM> finally outputs a transposer output signal which comprises bandwidth extensions by transposition factors <NUM>, <NUM>, and <NUM>, and the signal output by block <NUM> is no longer bandwidth-limited to the crossover frequency, i.e. to the highest frequency of the core coder signal corresponding to the lowest frequency of the SBR or HFR generated signal components.

In the <FIG> embodiment, the analysis filterbank performs a two times over sampling and has a certain analysis subband spacing <NUM>. The synthesis filterbank <NUM> has a synthesis subband spacing <NUM> which is, in this embodiment, double the size of the analysis subband spacing which results in a transposition contribution as will be discussed later in the context of <FIG>.

<FIG> illustrates a detailed implementation of a preferred embodiment of a non-linear subband processor 1020a in <FIG>. The circuit illustrated in <FIG> receives as an input a single subband signal <NUM>, which is processed in three "branches": The upper branch 110a is for a transposition by a transposition factor of <NUM>. The branch in the middle of <FIG> indicated at 110b is for a transposition by a transposition factor of <NUM>, and the lower branch in <FIG> is for a transposition by a transposition factor of <NUM> and is indicated by reference numeral 110c. However, the actual transposition obtained by each processing element in <FIG> is only <NUM> (i.e. no transposition) for branch 110a. The actual transposition obtained by the processing element illustrated in <FIG> for the medium branch 110b is equal to <NUM> and the actual transposition for the lower branch 110c is equal to <NUM>. This is indicated by the numbers in brackets to the left of <FIG>, where transposition factors T are indicated. The transpositions of <NUM> and <NUM> represent a first transposition contribution obtained by having a decimation operations in branches 110b, 110c and a time stretching by the overlap-add processor. The second contribution, i.e. the doubling of the transposition, is obtained by the synthesis filterbank <NUM>, which has a synthesis subband spacing <NUM> that is two times the analysis filterbank subband spacing. Therefore, since the synthesis filterbank has two times the analysis subband spacing, any decimations functionality does not take place in branch 110a.

Branch 110b, however, has a decimation functionality in order to obtain a transposition by <NUM>. Due to the fact that the synthesis filterbank has two times the physical subband spacing of the analysis filterbank, a transposition factor of <NUM> is obtained as indicated in <FIG> to the left of the block extractor for the second branch 110b.

Analogously, the third branch has a decimation functionality corresponding to a transposition factor of <NUM>, and the final contribution of the different subband spacing in the analysis filterbank and the synthesis filterbank finally corresponds to a transposition factor of <NUM> of the third branch 110c.

Particularly, each branch has a block extractor 120a, 120b, 120c and each of these block extractors can be similar to the block extractor <NUM> of <FIG>. Furthermore, each branch has a phase calculator 122a, 122b and 122c, and the phase calculator can be similar to phase calculator <NUM> of <FIG>. Furthermore, each branch has a phase adjuster 124a, 124b, 124c and the phase adjuster can be similar to the phase adjuster <NUM> of <FIG>. Furthermore, each branch has a windower 126a, 126b, 126c, where each of these windowers can be similar to the windower <NUM> of <FIG>. Nevertheless, the windowers 126a, 126b, 126c can also be configured to apply a rectangular window together with some "zero padding". The transpose or patch signals from each branch 110a, 110b, 110c, in the embodiment of <FIG>, is input into the adder <NUM>, which adds the contribution from each branch to the current subband signal to finally obtain so-called transpose blocks at the output of adder <NUM>. Then, an overlap-add procedure in the overlap-adder <NUM> is performed, and the overlap-adder <NUM> can be similar to the overlap/add block <NUM> of <FIG>. The overlap-adder applies an overlap-add advance value of <NUM>·e, where e is the overlap-advance value or "stride value" of the block extractors 120a, 120b, 120c, and the overlap-adder <NUM> outputs the transposed signal which is, in the embodiment of <FIG>, a single subband output for channel k, i.e. for the currently observed subband channel. The processing illustrated in <FIG> is performed for each analysis subband or for a certain group of analysis subbands and, as illustrated in <FIG>, transposed subband signals are input into the synthesis filterbank <NUM> after being processed by block <NUM> to finally obtain the transposer output signal illustrated in <FIG> at the output of block <NUM>.

In an embodiment, the block extractor 120a of the first transposer branch 110a extracts <NUM> subband samples and subsequently a conversion of these <NUM> QMF samples to polar coordinates is performed. This output, generated by the phase adjuster 124a, is then forwarded to the windower 126a, which extends the output by zeroes for the first and the last value of the block, where this operation is equivalent to a (synthesis) windowing with a rectangular window of length <NUM>. The block extractor 120a in branch 110a does not perform a decimation. Therefore, the samples extracted by the block extractor are mapped into an extracted block in the same sample spacing as they were extracted.

However, this is different for branches 110b and 110c. The block extractor 120b preferably extracts a block of <NUM> subband samples and distributes these <NUM> subband samples in the extracted block in a different subband sample spacing. The non-integer subband sample entries for the extracted block are obtained by an interpolation, and the thus obtained QMF samples together with the interpolated samples are converted to polar coordinates and are processed by the phase adjuster. Then, again, windowing in the windower 126b is performed in order to extend the block output by the phase adjuster 124b by zeroes for the first two samples and the last two samples, which operation is equivalent to a (synthesis) windowing with a rectangular window of length <NUM>.

The block extractor 120c is configured for extracting a block with a time extent of <NUM> subband samples and performs a decimation of a decimation factor <NUM>, performs a conversion of the QMF samples into polar coordinates and again performs an operation in the phase adjuster 124b, and the output is again extended by zeroes, however now for the first three subband samples and for the last three subband samples. This operation is equivalent to a (synthesis) windowing with a rectangular window of length <NUM>.

The transposition outputs of each branch are then added to form the combined QMF output by the adder <NUM>, and the combined QMF outputs are finally superimposed using overlap-add in block <NUM>, where the overlap-add advance or stride value is two times the stride value of the block extractors 120a, 120b, 120c as discussed before.

An example comprises a method for decoding an audio signal by using subband block based harmonic transposition, comprising the filtering of a core decoded signal through an M-band analysis filter bank to obtain a set of subband signals; synthesizing a subset of said subband signals by means of subsampled synthesis filter banks having a decreased number of subbands, to obtain subsampled source range signals.

An example relates to a method for aligning the spectral band borders of HFR generated signals to spectral borders utilized in a parametric process.

An example relates to a method for aligning the spectral borders of the HFR generated signals to the spectral borders of the envelope adjustment frequency table comprising: the search for the highest border in the envelope adjustment frequency table that does not exceed the fundamental bandwidth limits of the HFR generated signal of transposition factor T; and using the found highest border as the frequency limit of the HFR generated signal of transposition factor T.

An example relates to a method for aligning the spectral borders of the limiter tool to the spectral borders of the HFR generated signals comprising: adding the frequency borders of the HFR generated signals to the table of borders used when creating the frequency band borders used by the limiter tool; and forcing the limiter to use the added frequency borders as constant borders and to adjust the remaining borders accordingly.

An example relates to combined transposition of an audio signal comprising several integer transposition orders in a low resolution filter bank domain where the transposition operation is performed on time blocks of subband signals.

A further example relates to combined transposition, where transposition orders greater than <NUM> are embedded in an order <NUM> transposition environment.

A further example relates to combined transposition, where transposition orders greater than <NUM> are embedded in an order <NUM> transposition environment, whereas transposition orders lower than <NUM> are performed separately.

A further example relates to combined transposition, where transposition orders (e.g. transposition orders greater than <NUM>) are created by replication of previously calculated transposition orders (i.e. especially lower orders) including the core coded bandwidth. Every conceivable combination of available transposition orders and core bandwidth is possible without restrictions.

An embodiment relates to reduction of computational complexity due to the reduced number of analysis filter banks which are required for transposition.

An example relates to an apparatus for generating a bandwidth extended signal from an input audio signal, comprising: a patcher for patching an input audio signal to obtain a first patched signal and a second patched signal, the second patched signal having a different patch frequency compared to the first patched signal, wherein the first patched signal is generated using a first patching algorithm, and the second patched signal is generated using a second patching algorithm; and a combiner for combining the first patched signal and the second patched signal to obtain the bandwidth extended signal.

A further example relates to this apparatus, in which the first patching algorithm is a harmonic patching algorithm, and the second patching algorithm is a non-harmonic patching algorithm.

A further example relates to a preceding apparatus, in which the first patching frequency is lower than the second patching frequency or vice versa.

A further example relates to a preceding apparatus, in which the input signal comprises a patching information; and in which the patcher is configured for being controlled by the patching information extracted from the input signal to vary the first patching algorithm or the second patching algorithm in accordance with the patching information.

A further example relates to a preceding apparatus, in which the patcher is operative to patch subsequent blocks of audio signal samples, and in which the patcher is configured to apply the first patching algorithm and the second patching algorithm to the same block of audio samples.

A further example relates to a preceding apparatus, in which a patcher comprises, in arbitrary orders, a decimator controlled by a bandwidth extension factor, a filter bank, and a stretcher for a filter bank subband signal.

A further example relates to a preceding apparatus, in which the stretcher comprises a block extractor for extracting a number of overlapping blocks in accordance with an extraction advance value; a phase adjuster or windower for adjusting subband sampling values in each block based on a window function or a phase correction; and an overlap/adder for performing an overlap-add-processing of windowed and phase adjusted blocks using an overlap advance value greater than the extraction advance value.

A further example relates to an apparatus for bandwidth extending an audio signal comprising: a filter bank for filtering the audio signal to obtain downsampled subband signals; a plurality of different subband processors for processing different subband signals in different manners, the subband processors performing different subband signal time stretching operations using different stretching factors; and a merger for merging processed subbands output by the plurality of different subband processors to obtain a bandwidth extended audio signal.

A further example relates to an apparatus for downsampling an audio signal, comprising: a modulator; an interpolator using an interpolation factor; a complex low-pass filter; and a decimator using a decimation factor, wherein the decimation factor is higher than the interpolation factor.

The present invention relates to an apparatus for downsampling an audio signal, comprising: a first filter bank for generating a plurality of subband signals from the audio signal, wherein a sampling rate of the subband signal is smaller than a sampling rate of the audio signal; at least one synthesis filter bank followed by an analysis filter bank for performing a sample rate conversion, the synthesis filter bank having a number of channels different from a number of channels of the analysis filter bank; a time stretch processor for processing the sample rate converted signal; and a combiner for combining the time stretched signal and a low-band signal or a different time stretched signal.

A further example relates to an apparatus for downsampling an audio signal by a non-integer downsampling factor, comprising: a digital filter; an interpolator having an interpolation factor; a poly-phase element having even and odd taps; and a decimator having a decimation factor being greater than the interpolation factor, the decimation factor and the interpolation factor being selected such that a ratio of the interpolation factor and the decimation factor is non-integer.

An example relates to an apparatus for processing an audio signal, comprising: a core decoder having a synthesis transform size being smaller than a nominal transform size by a factor, so that an output signal is generated by the core decoder having a sampling rate smaller than a nominal sampling rate corresponding to the nominal transform size; and a post processor having one or more filter banks, one or more time stretchers and a merger, wherein a number of filter bank channels of the one or more filter banks is reduced compared to a number as determined by the nominal transform size.

A further example relates to an apparatus for processing a low-band signal, comprising: a patch generator for generating multiple patches using the low-band audio signal; an envelope adjustor for adjusting an envelope of the signal using scale factors given for adjacent scale factor bands having scale factor band borders, wherein the patch generator is configured for performing the multiple patches, so that a border between the adjacent patches coincides with a border between adjacent scale factor bands in the frequency scale.

An example relates to an apparatus for processing a low-band audio signal, comprising: a patch generator for generating multiple patches using the low band audio signal; and an envelope adjustment limiter for limiting envelope adjustment values for a signal by limiting in adjacent limiter bands having limiter band borders, wherein the patch generator is configured for performing the multiple patches so that a border between adjacent patches coincides with a border between adjacent limiter bands in a frequency scale.

The inventive processing is useful for enhancing audio codecs that rely on a bandwidth extension scheme. Especially, if an optimal perceptual quality at a given bitrate is highly important and, at the same time, processing power is a limited resource.

Most prominent applications are audio decoders, which are often implemented on hand-held devices and thus operate on a battery power supply.

An encoded audio signal can be stored on a digital storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.

Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the inventive methods described herein is performed. Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the inventive methods when the computer program product runs on a computer.

In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods according to the invention described herein, when the computer program runs on a computer.

A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the inventive methods described herein.

A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods according to the invention described herein.

Claim 1:
Apparatus for downsampling an audio signal, comprising
a first filter bank (<NUM>, <NUM>, <NUM>) for generating a plurality of subband signals from the audio signal, wherein a sampling rate of the subband signals is smaller than a sampling rate of the audio signal;
at least one synthesis filter bank (<NUM>-<NUM>, <NUM>) followed by an analysis filter bank (<NUM>-<NUM>, <NUM>) for performing a sample rate conversion to obtain a sample rate converted signal, the synthesis filter bank (<NUM>-<NUM>) having a number of channels different from a number of channels of the analysis filter bank (<NUM>-<NUM>);
a time stretch processor (<NUM>-<NUM>, <NUM>) for processing the sample rate converted signal to obtain a time stretched signal; and
a combiner (<NUM>, <NUM>) for combining the time stretched signal and a low-band signal or a different time stretched signal.