The present application is concerned with frequency-domain audio coding supporting transform length switching.
Modern frequency-domain speech/audio coding systems such as the Opus/Celt codec of the IETF [1], MPEG-4 (HE-)AAC [2] or, in particular, MPEG-D xHE-AAC (USAC) [3], offer means to code audio frames using either one long transform—a long block—or eight sequential short transforms—short blocks—depending on the temporal stationarity of the signal.
For certain audio signals such as rain or applause of a large audience, neither long nor short block coding yields satisfactory quality at low bitrates. This can be explained by the density of prominent transients in such recordings; coding only with long blocks can cause frequent and audible time-smearing of the coding error, also known as pre-echo, whereas coding only with short blocks is generally inefficient due to increased data overhead, leading to spectral holes.
Accordingly, it would be favorable to have a frequency-domain audio coding concept at hand which supports transform lengths which are also suitable for the just-outlined kinds of audio signals. Naturally, it would be feasible to build-up a new frequency-domain audio codec supporting switching between a set of transform lengths which, inter alias, encompasses a certain wanted transform length suitable for a certain kind of audio signal. However, it is not an easy task to get a new frequency-domain audio codec adopted in the market. Well-known codecs are already available and used frequently. Accordingly, it would be favorable to be able to have a concept at hand which enables existing frequency-domain audio codecs to be extended in a way so as to additionally support a wanted, new transform length, but which, nevertheless, keeps backward compatibility with existing coders and decoders.
According to an embodiment, a frequency-domain audio decoder supporting transform length switching may have: a frequency-domain coefficient extractor configured to extract frequency-domain coefficients of frames of an audio signal from a data stream; a scale factor extractor configured to extract scale factors from the data stream; an inverse transformer configured to subject the frequency-domain coefficients of the frames, scaled according to the scale factors, to inverse transformation to acquire time-domain portions of the audio signal; a combiner configured to combine the time-domain portions to acquire the audio signal, wherein the inverse transformer is responsive to a signalization within the frames of the audio signal so as to, depending on the signalization, form one transform by sequentially arranging the frequency-domain coefficients of a respective frame, scaled according to the scale factors, in a non-de-interleaved manner and subject the one transform to an inverse transformation of a first transform length, or form more than one transform by de-interleaving the frequency-domain coefficients of the respective frame, scaled according to the scale factors, and subject each of the more than one transforms to an inverse transformation of a second transform length, shorter than the first transform length, wherein the frequency-domain coefficient extractor and the scale factor extractor operate independent from the signalization.
According to another embodiment, frequency-domain audio encoder supporting transform length switching may have: a transformer configured to subject time-domain portions of an audio signal to transformation to acquire frequency-domain coefficients of frames of the audio signal; an inverse scaler configured to inversely scale the frequency-domain coefficients according to scale factors; a frequency-domain coefficient inserter configured to insert the frequency-domain coefficients of the frames of the audio signal, inversely scaled according to scale factors, into the data stream; and a scale factor inserter configured to insert scale factors into the data stream, wherein the transformer is configured to switch for the frames of the audio signals at least between performing one transform of a first transform length for a respective frame, and performing more than one transform of a second transform length, shorter than the first transform length, for the respective frame, wherein the transformer is further configured to signal the switching by a signalization within the frames of the data stream; wherein the frequency-domain coefficient inserter is configured to insert, for a respective frame, a sequence of the frequency-domain coefficients of the respective frame of the audio signal, inversely scaled according to scale factors, into the data stream in a manner independent from the signalization, with, depending on the signalization, the sequence of frequency-domain coefficients formed by sequentially arranging the frequency-domain coefficients of the one transform of a respective frame in a non-interleaved manner in case of one transform performed for the respective frame, and by interleaving the frequency-domain coefficients of the more than one transform of the respective frame in case of more than one transform performed for the respective frame, wherein the scale factor inserter operates independent from the signalization.
According to another embodiment, a method for frequency-domain audio decoding supporting transform length switching may have the steps of: extracting frequency-domain coefficients of frames of an audio signal from a data stream; extracting scale factors from the data stream; subjecting the frequency-domain coefficients of the frames, scaled according to scale factors, to inverse transformation to acquire time-domain portions of the audio signal; combining the time-domain portions to acquire the audio signal, wherein the subjection to inverse transformation is responsive to a signalization within the frames of the audio signal so as to, depending on the signalization, include forming one transform by sequentially arranging the frequency-domain coefficients of a respective frame in a non-de-interleaved manner and subjecting the one transform to an inverse transformation of a first transform length, or forming more than one transform by de-interleaving the frequency-domain coefficients of the respective frame and subjecting each of the more than one transforms to an inverse transformation of a second transform length, shorter than the first transform length, wherein the extraction of the frequency-domain coefficients and the extraction of the scale factors are independent from the signalization.
According to yet another embodiment, a method for frequency-domain audio encoding supporting transform length switching may have the steps of: subjecting time-domain portions of an audio signal to transformation to acquire frequency-domain coefficients of frames of the audio signal; inversely scaling the frequency-domain coefficients according to scale factors; inserting the frequency-domain coefficients of the frames of the audio signal, inversely scaled according to scale factors, into the data stream; and inserting scale factors into the data stream, wherein the subjection to transformation switches for the frames of the audio signal at least between performing one transform of a first transform length for a respective frame, and performing more than one transform of a second transform length, shorter than the first transform length, for the respective frame, wherein the method includes signaling the switching by a signalization within the frames of the data stream; wherein the insertion of the frequency-domain coefficients is performed by inserting, for a respective frame, a sequence of the frequency-domain coefficients of the respective frame of the audio signal, inversely scaled according to scale factors, into the data stream in a manner independent from the signalization, with, depending on the signalization, the sequence of frequency-domain coefficients formed by sequentially arranging the frequency-domain coefficients of the one transform of the respective frame in a non-interleaved manner in case of one transform performed for the respective frame, and by interleaving the frequency-domain coefficients of the more than one transform of the respective frame in case of more than one transform performed for the respective frame, wherein the insertion of scale factors is performed independent from the signalization.
According to yet another embodiment, a non-transitory digital storage medium may have a computer program stored thereon to perform the inventive methods, when said computer program is run by a computer.
The present invention is based on the finding that a frequency-domain audio codec may be provided with the ability to additionally support a certain transform length in a backward-compatible manner, when the frequency-domain coefficients of a respective frame are transmitted in an interleaved manner irrespective of the signalization signaling for the frames as to which transform length actually applies, and when additionally the frequency-domain coefficient extraction and the scale factor extraction operate independent from the signalization. By this measure, old-fashioned frequency-domain audio coders/decoders, insensitive for the signalization, would be able to nevertheless operate without faults and with reproducing a reasonable quality. Concurrently, frequency-domain audio coders/decoders being responsive to the switching to/from the additionally supported transform length would achieve even better quality despite the backward compatibility. As far as coding efficiency penalties due to the coding of the frequency domain coefficients in a manner transparent for older decoders are concerned, same are of comparatively minor nature due to the interleaving.
Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:
The frequency-domain coefficient extractor 12 is configured to extract frequency-domain coefficients 24 of frames 26 of the audio signal from data stream 20. The frequency-domain coefficients 24 may be MDCT coefficients or may belong to some other transform such as another lapped transform. In a manner described further below, the frequency-domain coefficients 24 belonging to a certain frame 26 describe the audio signal's spectrum within the respective frame 26 in a varying spectro-temporal resolution. The frames 26 represent temporal portions into which the audio signal is sequentially subdivided in time. Putting together all frequency-domain coefficients 24 of all frames, same represent a spectrogram 28 of the audio signal. The frames 26 may, for example, be of equal length. Due to the kind of audio content of the audio signal changing over time, it may be disadvantageous to describe the spectrum for each frame 26 with continuous spectro-temporal resolution by use of, for example, transforms having a constant transform length which spans, for example, the time-length of each frame 26, i.e. involves sample values within this frame 26 of the audio signal as well as time-domain samples preceding and succeeding the respective frame. Pre-echo artifacts may, for example, result from lossy transmitting the spectrum of the respective frame in form of the frequency-domain coefficients 24. Accordingly, in a manner further outlined below, the frequency-domain coefficients 24 of a respective frame 26 describe the spectrum of the audio signal within this frame 26 in a switchable spectro-temporal resolution by switching between different transform lengths. As far as the frequency-domain coefficient extractor 12 is concerned, however, the latter circumstance is transparent for the same. The frequency-domain coefficient extractor 12 operates independent from any signalization signaling the just-mentioned switching between different spectro-temporal resolutions for the frames 26.
The frequency-domain coefficient extractor 12 may use entropy coding in order to extract the frequency-domain coefficients 24 from data stream 20. For example, the frequency-domain coefficient extractor may use context-based entropy decoding, such as variable-context arithmetic decoding, to extract the frequency-domain coefficients 24 from the data stream 20 with assigning, to each of frequency-domain coefficients 24, the same context regardless of the aforementioned signalization signaling the spectro-temporal resolution of the frame 26 to which the respective frequency-domain coefficient belongs. Alternatively, and as a second example, the extractor 12 may use Huffman decoding and define a set of Huffman codewords irrespective of said signalization specifying the resolution of frame 26.
Different possibilities exist for the way the frequency-domain coefficients 24 describe the spectrogram 28. For example, the frequency-domain coefficients 24 may merely represent some prediction residual. For example, the frequency-domain coefficients may represent a residual of a prediction which, at least partially, has been obtained by stereo prediction from another audio signal representing a corresponding audio channel or downmix out of a multi-channel audio signal to which the signal spectrogram 28 belongs. Alternatively, or additionally to a prediction residual, the frequency-domain coefficients 24 may represent a sum (mid) or a difference (side) signal according to the M/S stereo paradigm [5]. Further, frequency-domain coefficients 24 may have been subject to temporal noise shaping.
Beyond that, the frequency-domain coefficients 12 are quantized and in order to keep the quantization error below a psycho-acoustic detection (or masking) threshold, for example, the quantization step size is spectrally varied in a manner controlled via respective scaling factors associated with the frequency-domain coefficients 24. The scaling factor extractor 14 is responsible for extracting the scaling factors from the data stream 20.
Briefly spending a little bit more detail on the switching between different spectro-temporal resolutions from frame to frame, the following is noted. As will be described in more detail below, the switching between different spectro-temporal resolutions will indicate that either, within a certain frame 26, all frequency-domain coefficients 24 belong to one transform, or that the frequency-domain coefficients 24 of the respective frame 26 actually belong to different transforms such as, for example, two transforms, the transform length of which is half the transform length of the just-mentioned one transform. The embodiment described hereinafter with respect to the figures assumes the switching between one transform on the one hand and two transforms on the other hand, but in fact, a switching between the one transform and more than two transforms would, in principle, be feasible as well with the embodiments given below being readily transferable to such alternative embodiments.
In data stream 20, the frequency-domain coefficients 24 are transmitted in an interleaved manner so that spectrally corresponding frequency-domain coefficients of the two different transforms immediately follow each other. In even other words, the frequency-domain coefficients 24 of a split transform frame, i.e. a frame 26 for which the transform splitting is signaled in the data stream 20, are transmitted such that if the frequency-domain coefficients 24 as received from the frequency-domain coefficient extractor 12 would be sequentially ordered in a manner as if they were frequency-domain coefficients of a long transform, then they are arranged in this sequence in an interleaved manner so that spectrally co-located frequency-domain coefficients 24 immediately neighbor each other and the pairs of such spectrally co-located frequency-domain coefficients 24 are ordered in accordance with a spectral/frequency order. Interestingly, ordered in such a manner, the sequence of interleaved frequency-domain coefficients 24 look similar to a sequence of frequency-domain coefficients 24 having been obtained by one long transform. Again, as far as the frequency-domain coefficient extractor 12 is concerned, the switching between different transform lengths or spectro-temporal resolutions in units of the frames 26 is transparent for the same, and accordingly, the context selection for entropy-coding the frequency-domain coefficients 24 in a context-adaptive manner results in the same context being selected—irrespective of the current frame actually being a long transform frame or the current frame being of the split transform type without extractor 12 knowing thereabout. For example, the frequency-domain coefficient extractor 12 may select the context to be employed for a certain frequency-domain coefficient based on already coded/decoded frequency-domain coefficients in a spectro-temporal neighborhood with this spectro-temporal neighborhood being defined in the interleaved state depicted in
Due to the fact that, as indicated above, in the interleaved state, the resulting spectrum as obtained by two short transforms looks very similar to a spectrum obtained by one long transform, the entropy coding penalty resulting from the agnostic operation of frequency-domain coefficient extractor 12 with respect to the transform length switching is low.
The description of decoder 10 is resumed with the scaling factor extractor 14 which is, as mentioned above, responsible for extracting the scaling factors of the frequency-domain coefficients 24 from data stream 20. The spectral resolution at which scale factors are assigned to the frequency-domain coefficients 24 is coarser than the comparatively fine spectral resolution supported by the long transform. As illustrated by curly brackets 30, the frequency-domain coefficients 24 may be grouped into multiple scale factor bands. The subdivision in the scale factor bands may be selected based on psycho-acoustic thoughts and may, for example, coincide with the so-called Bark (or critical) bands. As the scaling factor extractor 14 is agnostic for the transform length switching, just as frequency-domain coefficient extractor 12 is, scaling factor extractor 14 assumes each frame 26 to be subdivided into a number of scale factor bands 30 which is equal, irrespective of the transform length switching signalization, and extracts for each such scale factor band 30 a scale factor 32. At the encoder-side, the attribution of the frequency-domain coefficients 24 to these scale factor bands 30 is done in the non-de-interleaved state illustrated in
As a consequence, as far as frames 26 corresponding to the split transform are concerned, each scale factor 32 belongs to a group populated by both, frequency-domain coefficients 24 of the leading transform, and frequency-domain coefficients 24 of the trailing transform.
The inverse transformer 16 is configured to receive for each frame 26 the corresponding frequency-domain coefficients 24 and the corresponding scale factors 32 and subject the frequency-domain coefficients 24 of the frame 26, scaled according to the scale factors 32, to an inverse transformation to acquire time-domain portions of the audio signal. A lapped transform may be used by inverse transformer 16 such as, for example, a modified discrete cosine transform (MDCT). The combiner 18 combines the time-domain portions to obtain the audio signal such as by use of, for example, a suitable overlap-add process resulting in, for example, time-domain aliasing cancelation within the overlapping portions of the time-domain portions output by inverse transformer 16.
Naturally, the inverse transformer 16 is responsive to the aforementioned transform length switching signaled within the data stream 20 for the frames 26. The operation of inverse transformer 16 is described in more detail with respect to
As shown in
Similar facts hold true for the scale factors 32. As the scale factor extractor 14 operates in a manner agnostic with respect to signalization 34, the number and order as well as the values of scale factors 32 arriving from scale factor extractor 14 is independent from the signalization 34, with the scale factors 32 in
In a manner similar to frequency-domain coefficient extractor 12 and scale factor extractor 14, the de-quantizer 36 may operate agnostically with respect to, or independently from, signalization 34. De-quantizer 36 de-quantizes, or scales, the inbound frequency-domain coefficients 24 using the scale factor associated with the scale factor band to which the respective frequency-domain coefficients belong. Again, the membership of the inbound frequency-domain coefficients 24 to the individual scale factor bands, and thus the association of the inbound frequency-domain coefficients 24 to the scale factors 32, is independent from the signalization 34, and the inverse transformer 16 thus subjects the frequency-domain coefficients 24 to scaling according to the scale factors 32 at a spectral resolution which is independent from the signalization. For example, de-quantizer 36, independent from signalization 34, assigns frequency-domain coefficients with indices 0 to 3 to the first scale factor band and accordingly the first scale factor S0, the frequency-domain coefficients with indices 4 to 9 to the second scale factor band and thus scale factor S1 and so forth. The scale factor bounds are merely meant to be illustrative. The de-quantizer 36 could, for example, in order to de-quantize the frequency-domain coefficients 24 perform a multiplication using the associated scale factor, i.e. compute frequency-domain coefficient x0 to be x0·s0, x1 to be x1·s0, . . . , x3 to be x3·s0, x4 to be x4·s1, . . . , x9 to be x9·s1, and so on. Alternatively, the de-quantizer 36 may perform an interpolation of the scale factors actually used for de-quantization of the frequency-domain coefficients 24 from the coarse spectral resolution defined by the scale factor bands. The interpolation may be independent from the signalization 34. Alternatively, however, the latter interpolation may be dependent on the signalization in order to account for the different spectro-temporal sampling positions of the frequency-domain coefficients 24 depending on the current frame being of the split transform type or one/long transform type.
Further, within the joint-stereo coding framework, the inverse transformer 16 could be configured to perform MS decoding 46. That is, decoder 10 of
The frequency-domain audio decoder described so far enables transform length switching in a manner which allows to be compatible with frequency-domain audio decoders which are not responsive to signalization 34. In particular, such “old fashioned” decoders would erroneously assume that frames which are actually signaled by signalization 34 to be of the split transform type, to be of the long transform type. That is, they would erroneously leave the split-type frequency-domain coefficients interleaved and perform an inverse transformation of the long transform length. However, the resulting quality of the affected frames of the reconstructed audio signal would still be quite reasonable.
The coding efficiency penalty, in turn, is still quite reasonable, too. The coding efficiency penalty results from the disregarding signalization 34 as the frequency-domain coefficients and scale factors are encoded without taking into account the varying coefficients' meaning and exploiting this variation so as to increase coding efficiency. However, the latter penalty is comparatively small compared to the advantage of allowing backward compatibility. The latter statement is also true with respect to the restriction to activate and deactivate noise filler 40, complex stereo prediction 42 and MS decoding 46 merely within continuous spectral portions (scale factor bands) in the de-interleaved state defined by indices 0 to N−1 in
Thus, an “old fashioned” decoder which accidentally treats frames of the split transform type as long transform frames, applies TNS coefficients 64 which have been generated by an encoder by analyzing a concatenation of two short transforms, namely 50 and 52, onto transform 54 and accordingly produces, by way of the inverse transform applied onto transform 54, an incorrect time-domain portion 60. However, even this quality degradation at such decoders might be endurable for listeners in case of restricting the use of such split transform frames to occasions where the signal represents rain or applause or the like.
For the sake of completeness,
It should be noted that, for sake of alleviating the description, the above embodiments concentrated on the juxtaposition of long transform frames and split transform frames only. However, embodiments of the present application may well be extended by the introduction of frames of other transform type such as frames of eight short transforms. In this regard, it should be noted that the afore-mentioned agnosticism, merely relates to frames distinguished, by way of a further signalization, from such other frames of any third transform type so that an “old fashioned” decoder, by inspecting the further signalization contained in all frames, accidentally treats split transform frames as long transform frames, and merely the frames distinguished from the other frames (all except for split transform and long transform frames) would comprise signalization 34. As far as such other frames (all except for split transform and long transform frames) are concerned, it is noted that the extractors' 12 and 14 mode of operation such as context selection and so forth could depend on the further signalization, that is, said mode of operation could be different from the mode of operation applied for split transform and long transform frames.
Before describing a suitable encoder fitting to the decoder embodiments described above, an implementation of the above embodiments is described which would be suitable for accordingly upgrading xHE-AAC-based audio coders/decoders to allow the support of transform splitting in a backward-compatible manner.
That is, in the following a possibility is described how to perform transform length splitting in an audio codec which is based on MPEG-D xHE-AAC (USAC) with the objective of improving the coding quality of certain audio signals at low bit rates. The transform splitting tool is signaled semi-backward compatibly such that legacy xHE-AAC decoders can parse and decode bitstreams according to the above embodiments without obvious audio errors or drop-outs. As will be shown hereinafter, this semi-backward compatible signalization exploits unused possible values of a frame syntax element controlling, in a conditionally coded manner, the usage of noise filling. While legacy xHE-AAC decoders are not sensitive for these possible values of the respective noise filling syntax element, enhanced audio decoders are.
In particular, the implementation described below enables, in line with the embodiments described above, to offer an intermediate transform length for coding signals similar to rain or applause, advantageously a split long block, i.e. two sequential transforms, each of half or a quarter of the spectral length of a long block, with a maximum time overlap between these transforms being less than a maximum temporal overlap between consecutive long blocks. To allow coded bitstreams with transform splitting, i.e. signalization 34, to be read and parsed by legacy xHE-AAC decoders, splitting should be used in a semi-backward compatible way: the presence of such a transform splitting tool should not cause legacy decoders to stop—or not even start—decoding. Readability of such bitstreams by xHE-AAC infrastructure can also facilitate market adoption. To achieve the just mentioned objective of semi-backward compatibility for using transform splitting in the context of xHE-AAC or its potential derivatives, a transform splitting is signaled via the noise filling signalization of xHE-AAC. In compliance with the embodiments described above, in order to build transform splitting into xHE-AAC coders/decoders, instead of a frequency-domain (FD) stop-start window sequence a split transform consisting of two separate, half-length transforms may be used. The temporally sequential half-length transforms are interleaved into a single stop-start like block in a coefficient-by-coefficient fashion for decoders which do not support transform splitting, i.e. legacy xHE-AAC decoders. The signaling via noise filling signalization is performed as described hereafter. In particular, the 8-bit noise filling side information may be used to convey transform splitting. This is feasible because the MPEG-D standard [4] states that all 8 bits are transmitted even if the noise level to be applied is zero. In that situation, some of the noise-fill bits can be reused for transform splitting, i.e. for signalization 34.
Semi-backward compatibility regarding bitstream parsing and playback by legacy xHE-AAC decoders may be ensured as follows. Transform splitting is signaled via a noise level of zero, i.e. the first three noise-fill bits all having a value of zero, followed by five non-zero bits (which traditionally represent a noise offset) containing side information concerning the transform splitting as well as the missing noise level. Since a legacy xHE-AAC decoder disregards the value of the 5-bit offset if the 3-bit noise level is zero, the presence of transform splitting signalization 34 only has an effect on the noise filling in the legacy decoder: noise filling is turned off since the first three bits are zero, and the remainder of the decoding operation runs as intended. In particular, a split transform is processed like a traditional stop-start block with a full-length inverse transform (due to the above mentioned coefficient interleaving) and no de-interleaving is performed. Hence, a legacy decoder still offers “graceful” decoding of the enhanced data stream/bitstream 20 because it does not need to mute the output signal 22 or even abort the decoding upon reaching a frame of the transform splitting type. Naturally, such a legacy decoder is unable to provide a correct reconstruction of split transform frames, leading to deteriorated quality in affected frames in comparison with decoding by an appropriate decoder in accordance with
Concretely, an extension of an xHE-AAC coder/decoder towards transform splitting could be as follows.
In accordance with the above description, the new tool to be used for xHE-AAC could be called transform splitting (TS). It would be a new tool in the frequency-domain (FD) coder of xHE-AAC or, for example, MPEG-H 3D-Audio being based on USAC [4]. Transform splitting would then be usable on certain transient signal passages as an alternative to regular long transforms (which lead to time-smearing, especially pre-echo, at low bitrates) or eight-short transforms (which lead to spectral holes and bubble artifacts at low bitrates). TS might then be signaled semi-backward-compatibly by FD coefficient interleaving into a long transform which can be parsed correctly by a legacy MPEG-D USAC decoder.
A description of this tool would be similar to the above description. When TS is active in a long transform, two half-length MDCTs are employed instead of one full-length MDCT, and the coefficients of the two MDCTs, i.e. 50 and 52, are transmitted in a line-by-line interleaved fashion. The interleaved transmission had already been used, for example, in case of FD (stop) start transforms, with the coefficients of the first-in-time MDCT placed at even and the coefficients of the second-in-time MDCT placed at odd indices (where the indexing begins at zero), but a decoder not being able to handle stop-start transforms would not have been able to correctly parse the data stream. That is, owing to different contexts used for entropy coding the frequency-domain coefficients serve such a stop-start transform, a varied syntax streamlined onto the halved transforms, any decoder not able to support stop-start windows would have had to disregard the respective stop-start window frames.
Briefly referring back to the embodiment described above, this means that the decoder of
Back again to the description of a possible extension of xHE-AAC, certain operational constraints could be provided in order to build a TS tool into this coding framework. For example, TS could be allowed to be used only in an FD long-start or stop-start window. That is, the underlying syntax-element window sequence could be requested to be equal to 1. Besides, due to the semi-backward-compatible signaling, it may be a requirement that TS can only be applied when the syntax element noiseFilling is one in the syntax container UsacCoreConfig( ). When TS is signaled to be active, all FD tools except for TNS and inverse MDCT operate on the interleaved (long) set of TS coefficients. This allows for the reuse of the scale factor band offset and long-transform arithmetic coder tables as well as the window shapes and overlap lengths.
In the following, terms and definitions are presented which are used in the following in order to explain as to how the USAC standard described in [4] could be extended to offer the backward-compatible TS functionality, wherein sometimes reference is made to sections within that standard for the interested reader.
A new data element could be:
New help elements could be:
The decoding of an FD (stop-)start transform using transform splitting (TS) in the USAC framework could be performed on purely sequential steps as follows:
First, a decoding of split_transform and half_lowpass_line could be performed.
split_transform actually would not represent an independent bit-stream element but is derived from the noise filling elements, noise_offset and noise_level, and in case of a UsacChannelPairElement( ), the common_window flag in StereoCoreToolInfo( ). If noiseFilling==0, split_transform is 0. Otherwise,
In other words, if noise_level==0, noise_offset contains the split_transform flag followed by 4 bit of noise filling data, which are then rearranged. Since this operation changes the values of noise_level and noise_offset, it has to be executed before the noise filling process of section 7.2. Furthermore, if common_window==1 in a UsacChannelPairElement( ), split_transform is determined only in the left (first) channel; the right channel's split_transform is set equal to (i.e. copied from) the left channel's split_transform, and the above pseudo-code is not executed in the right channel.
Then, as a second step, de-interleaving of half-length spectra for temporal noise shaping would be performed.
After spectrum de-quantization, noise filling, and scale factor application and prior to the application of Temporal Noise Shaping (TNS), the TS coefficients in spec[ ] are de-interleaved using a helper buffer[ ]:
The in-place de-interleaving effectively places the two half-length TS spectra on top of each other, and
Referring to the above, such a procedure has been described with respect to
Then, as the third step, temporary reinterleaving would be used along with two sequential inverse MDCTs.
If common_window==1 in the current frame or the stereo decoding is performed after TNS decoding (tns_on_Ir==0 in section 7.8), spec[ ] has to be re-interleaved temporarily into a full-length spectrum:
The resulting pseudo-spectrum is used for stereo decoding (section 7.7) and to update dmx_re_prev[ ]
Some modification may be made to complex predictions stereo decoding of xHE-AAC.
An implicit semi-backward compatible signaling method may alternatively be used in order to build TS into xHE-AAC.
The above described an approach which employs one bit in a bit-stream to signal usage of the inventive transform splitting, contained in split_transform, to an inventive decoder. In particular, such signaling (let's call it explicit semi-backward-compatible signaling) allows the following legacy bitstream data—here the noise filling side-information—to be used independently of the inventive signal: In the present embodiment, the noise filling data does not depend on the transform splitting data, and vice versa. For example, noise filling data consisting of all-zeros (noise_level=noise_offset=0) may be transmitted while split_transform may hold any possible value (being a binary flag, either 0 or 1).
In cases where such strict independence between the legacy and the inventive bit-stream data is not necessitated and the inventive signal is a binary decision, the explicit transmission of a signaling bit can be avoided, and said binary decision can be signaled by the presence or absence of what may be called implicit semi-backward-compatible signaling. Taking again the above embodiment as an example, the usage of transform splitting could be transmitted by simply using the inventive signaling: If noise_level is zero and, at the same time, noise_offset is not zero, then split_transform is set equal to 1. If both noise_level and noise_offset are not zero, split_transform is set equal to 0. A dependence of the inventive implicit signal on the legacy noise-fill signal arises when both noise_level and noise_offset are zero. In this case, it is unclear whether legacy or inventive implicit signaling is being used. To avoid such ambiguity, the value of split_transform has to be defined in advance. In the present example, it is appropriate to define split_transform=0 if the noise filling data consists of all-zeros, since this is what legacy encoders without transform splitting shall signal when noise filling is not to be used in a frame.
The issue which remains to be solved in case of implicit semi-backward-compatible signaling is how to signal split_transform==1 and no noise filling at the same time. As explained, the noise-fill data do not have to be all-zero, and if a noise magnitude of zero is requested, noise_level ((noise_offset & 14)/2 as above) has to equal 0. This leaves only a noise_offset ((noise_offset & 1)*16 as above) greater than 0 as a solution. Fortunately, the value of noise_offset is ignored if no noise filling is performed in a decoder based on USAC [4], so this approach turns out to be feasible in the present embodiment. Therefore, the signaling of split_transform in the pseudo-code as above could be modified as follows, using the saved TS signaling bit to transmit 2 bits (4 values) instead of 1 bit for noise_offset:
Accordingly, applying this alternative, the description of USAC could be extended using the following description.
The tool description would be largely the same. That is,
When Transform splitting (TS) is active in a long transform, two half-length MDCTs are employed instead of one full-length MDCT. The coefficients of the two MDCTs are transmitted in a line-by-line interleaved fashion as a traditional frequency domain (FD) transform, with the coefficients of the first-in-time MDCT placed at even and the coefficients of the second-in-time MDCT placed at odd indices.
Operational constraints could necessitate that TS can only be used in a FD long-start or stop-start window (window_sequence==1) and that TS can only be applied when noiseFilling is 1 in UsacCoreConfig( ). When TS is signaled, all FD tools except for TNS and inverse MDCT operate on the interleaved (long) set of TS coefficients. This allows the reuse of the scale factor band offset and long-transform arithmetic coder tables as well as the window shapes and overlap lengths.
Terms and definitions used hereinafter involve the following Help Elements
The decoding process involving TS could be described as follows. In particular, the decoding of an FD (stop-)start transform with TS is performed in three sequential steps as follows.
First, decoding of split_transform and half_lowpass_line is performed. The help element split_transform does not represent an independent bit-stream element but is derived from the noise filling elements, noise_offset and noise_level, and in case of a UsacChannelPairElement( ), the common_window flag in StereoCoreToolInfo( ). If noiseFilling==0, split_transform is 0. Otherwise,
In other words, if noise_level==0, noise_offset contains the split_transform flag followed by 4 bit of noise filling data, which are then rearranged. Since this operation changes the values of noise_level and noise_offset, it has to be executed before the noise filling process of ISO/IEC 23003-3:2012 section 7.2.
Furthermore, if common_window==1 in a UsacChannelPairElement( ), split_transform is determined only in the left (first) channel; the right channel's split_transform is set equal to (i.e. copied from) the left channel's split_transform, and the above pseudo-code is not executed in the right channel.
The help element half_lowpass_line is determined from the “long” scale factor band offset table, swb_offset_long_window, and the max_sfb of the current channel, or in case of stereo and common_window==1, max_sfb_ste.
Based on the igFilling flag, half_lowpass_line is derived:
Then, de-interleaving of the half-length spectra for temporal noise shaping is performed.
After spectrum de-quantization, noise filling, and scale factor application and prior to the application of Temporal Noise Shaping (TNS), the TS coefficients in spec[ ] are de-interleaved using a helper buffer[ ]:
The in-place de-interleaving effectively places the two half-length TS spectra on top of each other, and the TNS tool now operates as usual on the resulting full-length pseudo-spectrum.
Finally, temporary re-interleaving and two sequential Inverse MDCTs may be used:
If common_window==1 in the current frame or the stereo decoding is performed after TNS decoding (tns_on_Ir==0 in section 7.8), spec[ ] has to be re-interleaved temporarily into a full-length spectrum:
The resulting pseudo-spectrum is used for stereo decoding (ISO/IEC 23003-3:2012 section 7.7) and to update dmx_re_prev[ ] (ISO/IEC 23003-3:2012 section 7.7.2) and in case of tns_on_Ir==0, the stereo-decoded full-length spectra are again de-interleaved by repeating the process of section. Finally, the 2 inverse MDCTs are calculated with ccfl and the channel's window_shape of the current and last frame.
The processing for TS follows the description given in ISO/IEC 23003-3:2012 section “7.9 Filterbank and block switching”. The following additions should be taken into account.
The TS coefficients in spec[ ] are de-interleaved using a helper buffer[ ] with N, the window length based on the window_sequence value:
The IMDCT for the half-length TS spectrum is then defined as:
Subsequent windowing and block switching steps are defined in the next subsections.
Transform splitting with STOP_START_SEQUENCE would look like the following description:
A STOP_START_SEQUENCE in combination with transform splitting was depicted in
The windows (0, 1) for the two half-length IMDCTs are given as follows:
The overlap and add between the the two half-length windows resulting in the windowed time domain values zi, n is described as follows. Here, N_l is set to 2048 (1920, 1536), N_s to 256 (240, 192) respectively:
Transform Splitting with LONG_START_SEQUENCE would look like the following description:
The LONG_START_SEQUENCE in combination with transform splitting is depicted in
The left/right window halves are given by:
The third window equals the left half of a LONG_START_WINDOW:
The overlap and add between the the two half-length windows resulting in intermediate windowed time domain values {tilde over (Z)}i,n is described as follows. Here, N_l is set to 2048 (1920, 1536), N_s to 256 (240, 192) respectively.
The final windowed time domain values Zi, n are obtained by applying W2:
Z
i,n(n)={tilde over (Z)}i,n(n)·W2(n), for 0≤n<N_l
Regardless of whether explicit or implicit semi-backward-compatible signaling is being used, both of which were described above, some modification may be necessitated to the complex prediction stereo decoding of xHE-AAC in order to achieve meaningful operation on the interleaved spectra.
The modification to complex prediction stereo decoding could be implemented as follows.
Since the FD stereo tools operate on an interleaved pseudo-spectrum when TS is active in a channel pair, no changes are necessitated to the underlying M/S or Complex Prediction processing. However, the derivation of the previous frame's downmix dmx_re_prev[ ] and the computation of the downmix MDST dmx_im[ ] in ISO/IEC 23003-3:2012 section 7.7.2 need to be adapted if TS is used in either channel in the last or current frame:
Finally,
The encoder 100 of
That is, frequency-domain coefficients result at the output of transformer 104 representing a spectrogram of audio signal 102. The inverse scaler 106 is connected to the output of transformer 104 and is configured to inversely scale, and concurrently quantize, the frequency-domain coefficients according to scale factors. Notably, the inverse scaler operates on the frequency coefficients as they are obtained by transformer 104. That is, inverse scaler 106 needs to be, necessarily, aware of the transform length assignment or transform mode assignment to frames 26. Note also that the inverse scaler 106 needs to determine the scale factors. Inverse scaler 106 is, to this end, for example, the part of a feedback loop which evaluates a psycho-acoustic masking threshold determined for audio signal 102 so as to keep the quantization noise introduced by the quantization and gradually set according to the scale factors, below the psycho-acoustic threshold of detection as far as possible with or without obeying some bitrate constraint.
At the output of inverse scaler 106, scale factors and inversely scaled and quantized frequency-domain coefficients are output and the scale factor inserter 110 is configured to insert the scale factors into data stream 20, whereas frequency-domain coefficient inserter 108 is configured to insert the frequency-domain coefficients of the frames of the audio signal, inversely scaled and quantized according to the scale factors, into data stream 20. In a manner corresponding to the decoder, both inserters 108 and 110 operate irrespective of the transform mode associated with the frames 26 as far as the juxtaposition of frames 26a of the long transform mode and frames 26b of the transform splitting mode is concerned.
In other words, inserters 110 and 108 operate independent from the signalization 34 mentioned above which the transformer 104 is configured to signal in, or insert into, data stream 20 for frames 26a and 26b, respectively.
In other words, in the above embodiment, it is the transformer 104 which appropriately arranges the transform coefficients of long transform and split transform frames, namely by plane serial arrangement or interleaving, and the inserter works really independent from 109. But in a more general sense it suffices if the frequency-domain coefficient inserter's independence from the signalization is restricted to the insertion of a sequence of the frequency-domain coefficients of each long transform and split transform frames of the audio signal, inversely scaled according to scale factors, into the data stream in that, depending on the signalization, the sequence of frequency-domain coefficients is formed by sequentially arranging the frequency-domain coefficients of the one transform of a respective frame in a non-interleaved manner in case of the frame being a long transform frame, and by interleaving the frequency-domain coefficients of the more than one transform of the respective frame in case of the respective frame being a split transform frame.
As far as the frequency-domain coefficient inserter 108 is concerned, the fact that same operates independent from the signalization 34 distinguishing between frames 26a on the one hand and frames 26b on the other hand, means that inserter 108 inserts the frequency-domain coefficients of the frames of the audio signal, inversely scaled according to the scale factors, into the data stream 20 in a sequential manner in case of one transform performed for the respective frame, in a non-interleaved manner, and inserts the frequency-domain coefficients of the respective frames using interleaving in case of more than one transform performed for the respective frame, namely two in the example of
Finally, it should be noted that the encoder of
Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some one or more of the most important method steps may be executed by such an apparatus.
Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
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 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 methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.
Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods 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 methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitionary.
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 described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.
A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are performed by any hardware apparatus.
A further embodiment comprises a frequency-domain audio decoder supporting transform length switching, comprising
A further embodiment comprises a frequency-domain audio decoder as in the immediately preceding embodiment, wherein the scale factor extractor (14) is configured to extract the scale factors from the data stream at a spectro-temporal resolution which is independent from the signalization.
A further embodiment comprises a frequency-domain audio decoder as in any of the two immediately preceding embodiments, wherein the frequency-domain coefficient extractor (12) uses context- or codebook-based entropy decoding to extract the frequency-domain coefficients from the data stream, with assigning, for each frequency-domain coefficient, the same context or codebook to the respective frequency-domain coefficient irrespective of the signalization.
A further embodiment comprises a frequency-domain audio decoder as in any of the three immediately preceding embodiments, wherein the inverse transformer is configured to subject the frequency-domain coefficients to scaling according to the scale factors at a spectral resolution independent from the signalization.
A further embodiment comprises a frequency-domain audio decoder as in any of the four immediately preceding embodiments, wherein the inverse transformer is configured to subject the frequency-domain coefficients to noise filling, with the frequency-domain coefficients sequentially arranged in a non-de-interleaved manner, and at a spectral resolution independent from the signalization.
A further embodiment comprises a frequency-domain audio decoder as in any of the five immediately preceding embodiments,
A further embodiment comprises a frequency-domain audio decoder as in any of the six immediately preceding embodiments, wherein the inverse transformer is configured to support joint-stereo coding with or without inter-channel stereo prediction and to use the frequency-domain coefficients as a sum (mid) or difference (side) spectrum or prediction residual of the inter-channel stereo prediction, with the frequency-domain coefficients arranged in a non-de-interleaved manner, irrespective of the signalization.
A further embodiment comprises a frequency-domain audio decoder as in any of the seven immediately preceding embodiments, wherein the number of the more than one transforms equals 2, and the first transform length is twice the second transform length.
A further embodiment comprises a frequency-domain audio decoder as in any of the eight immediately preceding embodiments, wherein the inverse transformation is an inverse modified discrete cosine transform, MDCT.
A further embodiment comprises a frequency-domain audio encoder supporting transform length switching, comprising
A further embodiment comprises a method of frequency-domain audio decoding supporting transform length switching, comprising
A further embodiment comprises a method of frequency-domain audio encoding supporting transform length switching, comprising
A further embodiment comprises a computer program having a program code for performing, when running on a computer, the methods of any of the two immediately preceding embodiments.
While this invention has been described in terms of several advantageous embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
13177373.1 | Jul 2013 | EP | regional |
13189334.9 | Oct 2013 | EP | regional |
This application is a continuation of U.S. patent application Ser. No. 17/227,178, filed Apr. 9, 2021, which is a continuation of U.S. patent application Ser. No. 16/284,534, filed Feb. 25, 2019, now U.S. Pat. No. 10,984,809, which is a continuation of U.S. patent application Ser. No. 15/004,563, filed Jan. 22, 2016, now U.S. Pat. No. 10,242,682, which is a continuation of International Application No. PCT/EP2014/065169, filed Jul. 15, 2014, which is incorporated herein by reference in its entirety, and additionally claims priority from European Applications Nos. EP13177373.1, filed Jul. 22, 2013, and EP13189334.9, filed Oct. 18, 2013, which are all incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 17227178 | Apr 2021 | US |
Child | 18540819 | US | |
Parent | 16284534 | Feb 2019 | US |
Child | 17227178 | US | |
Parent | 15004563 | Jan 2016 | US |
Child | 16284534 | US | |
Parent | PCT/EP2014/065169 | Jul 2014 | US |
Child | 15004563 | US |