Backward-compatible integration of harmonic converters for high-frequency reconstruction of audio signals

The method enhances audio quality by regenerating high-frequency components using harmonic conversion or linear translation, addressing the limitations of spectral patching in MPEG-4 AAC for music content, ensuring compatibility with existing systems.

JP2026108774APending Publication Date: 2026-06-30DOLBY INTERNATIONAL AB

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DOLBY INTERNATIONAL AB
Filing Date
2026-03-26
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Spectral patching or linear translation in MPEG-4 AAC standard may not be ideal for certain types of audio, particularly music content with low crossover frequencies, necessitating improved spectral band replication techniques.

Method used

Implementing a method for decoding audio bitstreams that involves filtering the low-pass audio signal through a decomposition filter bank, extracting high-frequency reconstruction metadata, and regenerating the high-pass portion using harmonic conversion or linear translation based on a flag, and combining the signals to form a broadband audio signal.

Benefits of technology

Enhances audio quality by improving spectral band replication for music content, particularly at low crossover frequencies, while maintaining compatibility with existing decoding systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026108774000001_ABST
    Figure 2026108774000001_ABST
Patent Text Reader

Abstract

A method for decoding an encoded audio bitstream is disclosed. [Solution] The method includes receiving an encoded audio bitstream, decoding the audio data, and generating a decoded low-frequency audio signal. The method further includes extracting high-frequency reconstruction metadata and filtering the decoded low-frequency audio signal through a decomposition filter bank to generate a filtered low-frequency audio signal. The method further includes extracting a flag indicating whether spectral translation or harmonic conversion should be performed on the audio data, and regenerating the high-frequency portion of the audio signal using the filtered low-frequency audio signal and the high-frequency reconstruction metadata according to the flag.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments relate to audio signal processing, and more particularly to the encoding, decoding or transcoding of an audio bitstream having control data specifying that either a basic form of high frequency reconstruction (HFR) or an improved form of HFR should be performed on audio data.

Background Art

[0002] A typical audio bitstream includes both audio data (e.g., encoded audio data) indicating one or more channels of audio content, and metadata indicating at least one characteristic of the audio data or audio content. One well-known format for generating an encoded audio bitstream is the MPEG-4 Advanced Audio Coding (AAC) format described in the MPEG standard ISO / IEC14496-3:2009. In the MPEG-4 standard, AAC represents "advanced audio coding", and HE-AAC represents "high-efficiency advanced audio coding".

[0003] The MPEG-4 AAC standard defines several audio profiles, which determine which objects and encoding tools are present in a compliant encoder or decoder. Three of these audio profiles are (1) the AAC profile, (2) the HE-AAC profile, and (3) the HE-AAC v2 profile. The AAC profile includes the AAC low complexity (or "AAC-LC") object type. The AAC-LC object corresponds to the MPEG-2 AAC low complexity profile with some modifications and does not include the spectral band replication ("SBR") object type or the parametric stereo ("PS") object type. The HE-AAC profile is a superset of the AAC profile and additionally includes the SBR object type. The HE-AAC v2 profile is a superset of the HE-AAC profile and additionally includes the PS object type.

[0004] The SBR object type includes a spectral band replication tool. This is a crucial high-frequency reconstruction ("HFR") encoding tool that significantly improves the compression efficiency of perceptual audio codecs. SBR reconstructs the high-frequency components of the audio signal at the receiver side (e.g., in the decoder). Therefore, the encoder only needs to encode and transmit the low-frequency components, allowing for much higher audio quality at low data rates. SBR is based on replicating sequences of harmonics previously truncated to reduce the data rate from the available bandwidth-limited signal and control data obtained from the encoder. The ratio between tone-like and noise-like components is maintained by adaptive inverse filtering as well as the optional addition of noise and sine waves. In the MPEG-4 AAC standard, the SBR tool performs spectral patching (also called linear translation or spectral translation), in which several consecutive quadrature mirror filter (QMF) subbands are copied (or "patched") from the transmitted low-frequency portion of the audio signal to the high-frequency portion of the audio signal generated in the decoder. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] MPEG standard ISO / IEC14496-3:2009 [Overview of the project] [Problems that the invention aims to solve]

[0006] Spectral patching or linear translation may not be ideal for certain types of audio, such as music content, which has relatively low crossover frequencies. Therefore, techniques are needed to improve spectral band replication. [Means for solving the problem]

[0007] A first-class embodiment relates to a method for decoding an encoded audio bitstream. The method includes receiving an encoded audio bitstream, decoding the audio data to generate a decoded low-pass audio signal. The method further includes extracting high-frequency reconstruction metadata and filtering the decoded low-pass audio signal through a decomposition filter bank to generate a filtered low-pass audio signal. The method further includes extracting a flag indicating whether spectral translation or harmonic conversion should be performed on the audio data, and regenerating the high-pass portion of the audio signal using the filtered low-pass audio signal and the high-frequency reconstruction metadata according to the flag. Finally, the method includes combining the filtered low-pass audio signal and the regenerated high-pass portion to form a broadband audio signal.

[0008] A second class of embodiment relates to an audio decoder for decoding an encoded audio bitstream. The decoder includes an input interface for receiving an encoded audio bitstream, the encoded audio bitstream comprising audio data representing the low-frequency portion of an audio signal, and a core decoder for decoding the audio data to produce a decoded low-frequency audio signal. The decoder also includes a demultiplexer for extracting high-frequency reconstruction metadata from the encoded audio bitstream, the high-frequency reconstruction metadata comprising operating parameters for a high-frequency reconstruction process that linearly translates several consecutive subbands from the low-frequency portion of the audio signal to the high-frequency portion of the audio signal, and a decomposition filter bank for filtering the decoded low-frequency audio signal to produce a filtered low-frequency audio signal. The decoder further includes a demultiplexer that extracts a flag from the encoded audio bitstream indicating whether linear translation or harmonic conversion should be performed on the audio data, and a high-frequency regenerator that, according to the flag, regenerates the high-frequency portion of the audio signal using the filtered low-frequency audio signal and the high-frequency reconstruction metadata. Finally, the decoder includes a composite filter bank that combines the filtered low-frequency audio signal and the regenerated high-frequency portion to form a broadband audio signal.

[0009] Other embodiments of this class relate to encoding and transcoding an audio bitstream that includes metadata identifying whether enhanced spectral band replication (eSBR) processing should be performed. [Brief explanation of the drawing]

[0010] [Figure 1]This is a block diagram of an embodiment of a system that can be configured to carry out one embodiment of the method of the present invention. [Figure 2] This is a block diagram of an encoder, which is an embodiment of the audio processing unit of the present invention. [Figure 3] This is a block diagram of a system that includes a decoder, which is an embodiment of the audio processing unit of the present invention, and optionally a post-processor coupled thereto. [Figure 4] This is a block diagram of a decoder, which is an embodiment of the audio processing unit of the present invention. [Figure 5] This is a block diagram of a decoder, which is another embodiment of the audio processing unit of the present invention. [Figure 6] This is a block diagram of another embodiment of the audio processing unit of the present invention. [Figure 7] This figure shows a block of an MPEG-4 AAC bitstream containing divided segments. [Modes for carrying out the invention]

[0011] Throughout this disclosure, including the claims, the expression "performing an operation on" a signal or data (e.g., filtering, scaling, transforming, or applying gain to a signal or data) is used broadly to mean performing the operation directly on the signal or data, or on a processed version of the signal or data (e.g., on a version of the signal that has undergone preliminary filtering or preprocessing prior to the performance of the operation).

[0012] Throughout this disclosure, including the claims, the terms “audio processing unit” or “audio processor” are used in a broad sense to describe any system, device, or apparatus configured to process audio data. Examples of audio processing units include, but are not limited to, encoders, transcoders, decoders, codecs, pre-processing systems, post-processing systems, and bitstream processing systems (sometimes referred to as bitstream processing tools). Virtually any consumer electronic device, such as mobile phones, televisions, laptops, and tablet computers, includes an audio processing unit or audio processor.

[0013] Throughout this disclosure, including the claims, the terms “to combine” or “to be combined” are used broadly to mean direct or indirect connections. Thus, when a first device combines with a second device, the connection may be through a direct connection or through an indirect connection via other devices and connections. Furthermore, components integrated with other components are also combined with each other.

[0014] <Detailed description of embodiments of the present invention> The MPEG-4 AAC standard considers that an encoded MPEG-4 AAC bitstream includes metadata indicating each type of high-frequency reconstruction (HFR) processing to be applied by the decoder to decode the audio content of the bitstream (if any), and / or indicating at least one characteristic or parameter of at least one HFR tool to control such HFR processing and / or to be used to decode the audio content of the bitstream. Here, the expression “SBR metadata” is used to represent this type of metadata as described or referred to in the MPEG-4 AAC standard for use with spectral band reproduction (SBR). As will be understood by those skilled in the art, SBR is a form of HFR.

[0015] SBR is preferably used as a dual-rate system. The SBR operates at the original sampling rate, while the underlying codec operates at half the original sampling rate. The SBR encoder operates in parallel with the underlying core codec, but at a higher sampling rate. Although the SBR is primarily a post-processing step in the decoder, key parameters are extracted in the encoder to ensure the most accurate high-frequency reconstruction in the decoder. The encoder estimates the spectral envelope of the SBR range for a time and frequency range / resolution suitable for the current input signal segment characteristics. The spectral envelope is estimated by complex QMF decomposition and subsequent energy calculations. The time and frequency resolution of the spectral envelope can be chosen with a high degree of freedom to ensure the most suitable time-frequency resolution for a given input segment. Envelope estimation must take into account that transient components in the original (e.g., hi-hats), mainly located in the high-frequency range, will be present to a small extent in the high-frequency generated SBR before envelope adjustment. This is because the high frequencies in the decoder are based on low frequencies where transient components are much less prominent than high frequencies. This aspect imposes different requirements on the time-frequency resolution of the spectral envelope data compared to the usual spectral envelope estimation used in other audio coding algorithms.

[0016] Apart from the spectral envelope, several additional parameters are extracted that represent the spectral characteristics of the input signal for different time and frequency regions. Naturally, the encoder has access to the original signal and information about how the SBR unit in the decoder generates the high frequencies, so given a particular set of control parameters, the system can handle situations where the low frequencies constitute a strong harmonic series and the regenerated high frequencies mainly consist of random signal components, and situations where strong tone-like components exist in the original high frequencies but there is no corresponding component in the low frequencies underlying the high frequency region. Furthermore, the SBR encoder functions in close relation to the underlying core codec in order to evaluate which frequency ranges should be covered by SBR at a given time. The SBR data is efficiently encoded prior to transmission by exploiting entropy coding and, in the case of stereo signals, the channel dependence of the control data.

[0017] The control parameter extraction algorithm typically needs to be carefully tuned to the underlying codec for a given bit rate and a given sampling rate. This is because lower bit rates typically imply a larger SBR range compared to higher bit rates, and different sampling rates correspond to different temporal resolutions of the SBR frames.

[0018] The SBR decoder typically includes several different parts. The SBR decoder has a bitstream decoding module, a high frequency reconstruction (HFR) module, an additional high frequency component module and an envelope adjuster module. The system is based on per-complex QMF filterbank. In the bitstream extraction module, control data is read from and decoded from the bitstream. Prior to reading the envelope data from the bitstream, a time-frequency lattice for the current frame is obtained. The underlying core decoder decodes the audio signal of the current frame (at the lower sampling rate as mentioned above) to generate a time-domain audio signal. The resulting frame of audio data is used for high frequency reconstruction by the HFR module. Then, the decoded low-band signal is decomposed using a QMF filterbank. High frequency reconstruction and envelope adjustment are then performed on the subband samples of the QMF filterbank. The high frequencies are reconstructed from the low band in a flexible manner based on the given control parameters. Further, the reconstructed high band is adaptively filtered for each subband / channel according to the control data to ensure appropriate spectral characteristics in the given time / frequency domain.

[0019] The top level of the MPEG-4 AAC bitstream is a sequence of data blocks ("raw_data_block" elements), each data block being a segment of data (referred to herein as a "block") containing audio data (typically over a time period of 1024 or 960 samples) and associated information and / or other data. Here, the term "block" is used to represent a segment of an MPEG-4 AAC bitstream that contains audio data (and corresponding metadata and optionally other associated data) that determines or indicates one (and not more than one) "raw_data_block" element.

[0020] Each block of an MPEG-4 AAC bitstream can contain several syntax elements (each of which is also embodied as a data segment in the bitstream). Seven types of such syntax elements are defined in the MPEG-4 AAC standard. Each syntax element is identified by a different value of the data element "id_syn_ele". Examples of syntax elements include "single_channel_element()", "channel_pair_element()", and "fill_element()". A single channel element is a container that contains audio data for a single audio channel (a monophonic audio signal). A channel pair element contains audio data for two audio channels (i.e., a stereo audio signal).

[0021] A fill element is a container of information that contains an identifier (for example, the value of the element "id_syn_ele" above) and subsequent data referred to as "fill data". Historically, fill elements have been used to adjust the instantaneous bitrate of a bitstream to be transmitted through a constant-rate channel. A constant data rate can be achieved by adding an appropriate amount of fill data to each block.

[0022] According to various embodiments of the present invention, the fill data may include one or more extension payloads that extend the types of data (e.g., metadata) that can be transmitted in the bitstream. A decoder that receives a bitstream containing fill data with new types of data may optionally be used by a device (e.g., a decoder) that receives the bitstream to extend the functionality of the device. Thus, as will be understood by those skilled in the art, the fill elements are a special type of data structure, different from data structures typically used to transmit audio data (e.g., audio payloads containing channel data).

[0023] In some embodiments of the present invention, the identifier used to identify a filler element may consist of a three-bit unsigned integer ("uimsbf") with a value of 0x6, where the most significant bit is transmitted first. Several instances of the same type of syntax element (e.g., several filler elements) may occur within a single block.

[0024] Another standard for encoding audio bitstreams is the MPEG Unified Speech and Audio Coding (USAC) standard (ISO / IEC 23003-3:2012). The MPEG USAC standard describes encoding and decoding audio content using spectral band duplication processing (including SBR processing described in the MPEG-4 AAC standard, and other improved forms of spectral band duplication processing). This processing applies an extended and improved version of spectral band duplication tools (sometimes referred to in this paper as "improved SBR tools" or "eSBR tools") from the set of SBR tools described in the MPEG-4 AAC standard. Thus, eSBR (as defined in the USAC standard) is an improvement over SBR (as defined in the MPEG-4 AAC standard).

[0025] In this paper, the term "enhanced SBR processing" (or "eSBR processing") is used to refer to spectral band duplication processing that uses at least one eSBR tool not described or mentioned in MPEG-4 AAC (for example, at least one eSBR tool described or mentioned in the MPEG USAC standard). Examples of such eSBR tools include harmonic transposition, QMF patching additional preprocessing, or "pre-flattening."

[0026] An integer-order T harmonic converter maps a sine wave of frequency ω to a sine wave of frequency Tω while preserving signal duration. Typically, three orders T=2,3,4 are used sequentially to generate each portion of the desired output frequency range using the smallest possible transposition order. If an output above the fourth-order transposition range is required, it may be generated by frequency shifting. Where possible, a nearly critically sampled baseband time domain is generated for the process to minimize computational complexity.

[0027] A bitstream generated in accordance with the MPEG USAC standard (sometimes referred to in this paper as a "USAC bitstream") includes encoded audio content and typically includes metadata indicating each type of spectral band replication processing to be applied by a decoder to decode the audio content of the USAC bitstream and / or metadata indicating at least one characteristic or parameter of at least one SBR tool and / or eSBR tool to control such spectral band replication processing and / or to be used to decode the audio content of the USAC bitstream.

[0028] Here, the term "enhanced SBR metadata" (or "eSBR metadata") is used to refer to metadata that indicates and / or controls each type of spectral band duplication process to be applied by a decoder to decode the audio content of an encoded audio bitstream (e.g., a USAC bitstream), and / or controls such spectral band duplication processes, and / or controls at least one characteristic or parameter of at least one SBR tool and / or eSBR tool to be used to decode such audio content, which is not described or mentioned in the MPEG-4 AAC standard. An example of eSBR metadata is metadata (for indicating or controlling spectral band duplication processes) that is described or mentioned in the MPEG USAC standard but not described or mentioned in the MPEG-4 AAC standard. Thus, in this paper, eSBR metadata refers to metadata that is not SBR metadata, and SBR metadata refers to metadata that is not eSBR metadata.

[0029] The USAC bitstream may include both SBR metadata and eSBR metadata. More specifically, the USAC bitstream may include eSBR metadata that controls the execution of eSBR processing by the decoder and SBR metadata that controls the execution of SBR processing by the decoder. According to a typical embodiment of the present invention, eSBR metadata (e.g., eSBR-specific configuration data) is included in the MPEG-4 AAC bitstream (in accordance with the present invention) (for example, in the sbr_extension() container at the end of the SBR payload).

[0030] During the decoding of an encoded bitstream using an eSBR toolset (including at least one eSBR tool), the eSBR processing performed by the decoder regenerates the high-frequency band of the audio signal based on a copy of the harmonic sequence truncated during encoding. Such eSBR processing typically involves adjusting the spectral envelope of the generated high-frequency band, applying inverse filtering, and adding noise and sinusoidal components to reproduce the spectral characteristics of the original audio signal.

[0031] According to a typical embodiment of the present invention, eSBR metadata (for example, a small number of control bits that are eSBR metadata) is included in one or more metadata segments of an encoded audio bitstream (for example, an MPEG-4 AAC bitstream). The encoded audio bitstream also includes encoded audio data in other segments (audio data segments). Typically, at least one such metadata segment in each block of the bitstream is (or includes) a filler element (including an identifier that indicates the beginning of the filler element), and the eSBR metadata is included in the filler element after the identifier.

[0032] Figure 1 is a block diagram of an exemplary audio processing chain (audio data processing system), in which one or more elements of the system may be configured according to embodiments of the present invention. The system includes the following elements coupled together as shown in the figure: encoder 1, delivery subsystem 2, decoder 3, and post-processing unit 4. In variations of the illustrated system, one or more elements may be omitted, or additional audio data processing units may be included.

[0033] In some implementations, encoder 1 (which optionally includes a preprocessing unit) is configured to accept PCM (time-domain) samples containing audio content as input and to output an encoded audio bitstream representing the audio content (having a format compliant with the MPEG-4 AAC standard). The data of the bitstream representing the audio content is sometimes referred to in this paper as "audio data" or "encoded audio data". When the encoder is configured according to a typical embodiment of the present invention, the audio bitstream output from the encoder includes eSBR metadata (and typically other metadata) in addition to the audio data.

[0034] One or more encoded audio bitstreams output from encoder 1 may be presented to an encoded audio delivery subsystem 2. Subsystem 2 is configured to store and / or deliver each encoded bitstream output from encoder 1. The encoded audio bitstreams output from encoder 1 may be stored by subsystem 2 (for example, in the form of a DVD or Blu-ray disc), or transmitted by subsystem 2 (which may implement a transmission link or network), or stored and transmitted by subsystem 2.

[0035] Decoder 3 is configured to decode an encoded MPEG-4 AAC audio bitstream (generated by encoder 1) received via subsystem 2. In some embodiments, decoder 3 is configured to extract eSBR metadata from each block of the bitstream, decode the bitstream (including by performing eSBR processing using the extracted eSBR metadata) to produce decoded audio data (e.g., a stream of decoded PCM audio samples). In some embodiments, decoder 3 is configured to extract SBR metadata from the bitstream (but ignoring the eSBR metadata contained in the bitstream), decode the bitstream (including by performing SBR processing using the extracted SBR metadata) to produce decoded audio data (e.g., a stream of decoded PCM audio samples). Typically, decoder 3 includes a buffer for storing (e.g., non-temporarily) segments of the encoded audio bitstream received from subsystem 2.

[0036] The post-processing unit 4 in Figure 1 is configured to receive a stream of decoded audio data (e.g., decoded PCM audio samples) from the decoder 3 and perform post-processing on it. The post-processing unit may also be configured to render the post-processed audio content (or the decoded audio received from the decoder 3) for playback by one or more speakers.

[0037] Figure 2 is a block diagram of an encoder (100) which is an embodiment of the audio processing unit of the present invention. Any component or element of the encoder 100 may be implemented in hardware, software, or a combination of hardware and software, as one or more processes and / or one or more circuits (e.g., ASIC, FPGA, or other integrated circuit). The encoder 100 includes an encoder 105, a stuffer / formatter stage 107, a metadata generation stage 106, and a buffer memory 109, connected as shown in the figure. Typically, the encoder 100 also includes other processing elements (not shown). The encoder 100 is configured to convert an input audio bitstream into an encoded output MPEG-4 AAC bitstream.

[0038] The metadata generator 106 is coupled and configured to generate (and / or pass through to stage 107) metadata (including eSBR metadata and SBR metadata) that should be included by stage 107 in the encoded bitstream to be output from encoder 100.

[0039] The encoder 105 encodes the input audio data (for example, by performing compression on it) and is coupled and configured to present the resulting encoded audio to the stage 107 for inclusion in the encoded bitstream that is to be output from the stage 107.

[0040] Stage 107 is configured to multiplex the encoded audio from encoder 105 and metadata (including eSBR metadata and SBR metadata) from generator 106 to generate an encoded bitstream to be output from stage 107. Preferably, the encoded bitstream has a format defined by one embodiment of the present invention.

[0041] The buffer memory 109 is configured to store (for example, non-temporarily) at least one block of the encoded audio bitstream output from stage 107. The sequence of blocks of the encoded audio bitstream is then presented from the buffer memory 109 to the delivery system as output from encoder 100.

[0042] Figure 3 is a block diagram of a system that includes a decoder (200), which is an embodiment of the audio processing unit of the present invention, and optionally also includes a post-processor (300) coupled thereto. Any component or element of the decoder 200 may be implemented in hardware, software, or a combination of hardware and software, as one or more processes and / or one or more circuits (e.g., ASIC, FPGA, or other integrated circuit). The decoder 200 has a buffer memory 201, a bitstream payload deformatter (parser) 205, an audio decoding subsystem 202 (sometimes referred to as the "core" decoding stage or "core" decoding subsystem), an eSBR processing stage 203, and a control bit generation stage 204, connected as shown in the figure. Typically, the decoder 200 also includes other processing elements (not shown).

[0043] Buffer memory (buffer) 201 stores (for example, non-temporarily) at least one block of the encoded MPEG-4 AAC audio bitstream received by decoder 200. In the operation of decoder 200, a sequence of blocks of the bitstream is presented from buffer 201 to deformatter 205.

[0044] In a variation of the embodiment in Figure 3 (or the embodiment in Figure 4 described later), an APU that is not a decoder (for example, APU 500 in Figure 6) includes a buffer memory (for example, the same buffer memory as buffer 201) that stores (for example, in a non-temporary manner) at least one block of an encoded audio bitstream of the same type (for example, an MPEG-4 AAC audio bitstream) (i.e., an encoded audio bitstream including eSBR metadata) that is received by buffer 201 in Figure 3 or Figure 4.

[0045] Referring again to Figure 3, the deformatter 205 is configured to multiplex each block of the bitstream, extract therefrom SBR metadata (including quantized envelope data) and eSBR metadata (and typically other metadata as well), and present at least the eSBR metadata and the SBR metadata to the eSBR processing stage 203, and typically further extracting metadata to the decode subsystem 202 (and optionally to the control bit generator 204). The deformatter 205 is also configured to extract audio data from each block of the bitstream and present the extracted audio data to the decode subsystem (decode stage) 202.

[0046] The system in Figure 3 optionally also includes a post-processor 300. The post-processor 300 includes a buffer memory (buffer) 301 and other processing elements (not shown) which include at least one processing element coupled to the buffer 301. The buffer 301 stores (for example, non-temporarily) at least one block (or frame) of decoded audio data received by the post-processor 300 from the decoder 200. The processing elements of the post-processor 300 are coupled and configured to receive a sequence of decoded audio blocks (or frames) output from the buffer 301 and process them adaptively using metadata output from the decode subsystem 202 (and / or deformatter 205) and / or control bits output from stage 204 of the decoder 200.

[0047] The audio decoding subsystem 202 of the decoder 200 is configured to decode the audio data extracted by the parser 205 (such decoding may be referred to as a “core” decoding operation) to produce decoded audio data and to present the decoded audio data to the eSBR processing stage 203. Decoding is performed in the frequency domain and typically involves inverse quantization followed by spectral processing. Typically, the final stage of processing in subsystem 202 applies a frequency-domain to time-domain conversion to the decoded frequency-domain audio data, so that the output of the subsystem is time-domain decoded audio data. Stage 203 is configured to apply the SBR and eSBR tools, indicated by the SBR metadata and eSBR metadata (extracted by the parser 205), to the decoded audio data (i.e., perform SBR and eSBR processing on the output of the decoding subsystem 202 using the SBR and eSBR metadata) to generate fully decoded audio data output from the decoder 200 (for example, to the post-processor 300). Typically, the decoder 200 includes memory (accessible by subsystem 202 and stage 203) for storing the deformatted audio data and metadata output from the deformatter 205, and stage 203 is configured to access the audio data and metadata (including SBR metadata and eSBR metadata) as needed during SBR and eSBR processing. The SBR and eSBR processing in stage 203 may be considered post-processing on the output of the core decoding subsystem 202. Optionally, decoder 200 also includes a final upmix subsystem (which can apply the parametric stereo ("PS") tools defined in the MPEG-4 AAC standard using the PS metadata extracted by deformatter 205 and / or control bits generated in subsystem 204).The upmix subsystem is coupled and configured to perform an upmix on the output of stage 203 to produce fully decoded, upmixed audio output from decoder 200. Alternatively, the post-processor 300 is configured to perform an upmix on the output of decoder 200 (for example, using PS metadata extracted by deformatter 205 and / or control bits generated in subsystem 204).

[0048] In response to metadata extracted by the deformatter 205, the control bit generator 204 may generate control data. The control data may be used within the decoder 200 (for example, in the final upmix subsystem) and / or presented as output of the decoder 200 (for example, to the post-processor 300 for use in post-processing). In response to metadata extracted from the input bitstream (and optionally in response to the control data as well), stage 204 may generate (and present to the post-processor 300) control bits indicating that the decoded audio data output from the eSBR processing stage 203 should undergo a particular type of post-processing. In some implementations, the decoder 200 is configured to present the metadata extracted from the input bitstream by the deformatter 205 to the post-processor 300, and the post-processor 300 is configured to perform post-processing on the decoded audio data output from the decoder 200 using the metadata.

[0049] Figure 4 is a block diagram of an audio processing unit ("APU") (210), which is another embodiment of the audio processing unit of the present invention. The APU 210 is a legacy decoder not configured to perform eSBR processing. Any component or element of the APU 210 may be implemented in hardware, software, or a combination of hardware and software, as one or more processes and / or one or more circuits (e.g., ASIC, FPGA, or other integrated circuits). The APU 210 has a buffer memory 201, a bitstream payload deformatter (parser) 215, an audio decoding subsystem 202 (sometimes referred to as the "core" decoding stage or "core" decoding subsystem), and an SBR processing stage 213, connected as shown in the figure. Typically, the APU 210 also includes other processing elements (not shown). The APU 210 may represent, for example, an audio encoder, decoder, or transcoder.

[0050] Elements 201 and 202 of the APU 210 are identical to the correspondingly numbered elements of the decoder 200 (in Figure 3), and the above description of them is not repeated. In the operation of the APU 210, a sequence of blocks of the encoded audio bitstream (MPEG-4 AAC bitstream) received by the APU 210 is presented from buffer 201 to deformatter 215.

[0051] The deformatter 215 is configured to multiplex each block of the bitstream and therefrom extract SBR metadata (including quantized envelope data), and typically other metadata as well, but to ignore eSBR which may be included in the bitstream according to any embodiment of the present invention. The deformatter 215 is configured to present at least the SBR metadata to the SBR processing stage 213. The deformatter 215 is also configured to extract audio data from each block of the bitstream and present the extracted audio data to the decoding subsystem (decoding stage) 202.

[0052] The audio decoding subsystem 202 of the decoder 200 is configured to decode the audio data extracted by the deformatter 215 (such decoding may be referred to as a “core” decoding operation) to produce decoded audio data and to present the decoded audio data to the SBR processing stage 213. Decoding is performed in the frequency domain. Typically, the final stage of processing in subsystem 202 applies a frequency-domain to time-domain conversion to the decoded frequency-domain audio data, so that the output of the subsystem is time-domain decoded audio data. Stage 213 is configured to apply SBR tools indicated by the SBR metadata (extracted by the deformatter 215) to the decoded audio data (but not the eSBR tools) (i.e., perform SBR processing on the output of the decoding subsystem 202 using the SBR metadata) to produce fully decoded audio data output from the APU 210 (for example, to the post-processor 300). Typically, the APU 210 includes memory (accessible by subsystems 202 and stage 213) for storing the deformatted audio data and metadata output from the deformatter 215, and stage 213 is configured to access the audio data and metadata (including SBR metadata) as needed during SBR processing. The SBR processing in stage 213 may be considered post-processing on the output of the core decoding subsystem 202. Optionally, the APU 210 also includes a final upmix subsystem (which may apply the parametric stereo ("PS") tools defined in the MPEG-4 AAC standard using the PS metadata extracted by the deformatter 215). The upmix subsystem is coupled and configured to perform upmixing on the output of stage 213 to produce fully decoded, upmixed audio output from the APU 210.Alternatively, the post-processor may be configured to perform an upmix on the output of the APU 210 (for example, using the PS metadata extracted by the deformatter 215 and / or control bits generated in the APU 210).

[0053] Various implementations of the encoder 100, decoder 200, and APU 210 are configured to perform different embodiments of the method of the present invention.

[0054] According to some embodiments, legacy decoders (not configured to parse eSBR metadata or use any eSBR tools that involve eSBR metadata) ignore eSBR metadata, but the eSBR metadata (e.g., a small number of control bits that are eSBR metadata) is included in the encoded audio bitstream (e.g., an MPEG-4 AAC bitstream) so that the bitstream can still be decoded as far as possible without using eSBR metadata or any eSBR tools that involve eSBR metadata, typically without any significant penalty to the decoded audio quality. However, an eSBR decoder configured to parse the bitstream to identify eSBR metadata and to use at least one eSBR tool in response to said eSBR metadata will benefit from using at least one such eSBR tool. Thus, embodiments of the present invention provide means for efficiently transmitting improved spectral band replication (eSBR) control data or metadata in a backward-compatible manner.

[0055] Typically, eSBR metadata in a bitstream indicates one or more of the following eSBR tools (as described in the MPEG USAC standard and which may or may not be applied by the encoder during bitstream generation) (for example, indicating one or more of the following eSBR tools, at least one characteristic or parameter): • Harmonic conversion; and • Additional pretreatment (pre-flattening) after QMF patching.

[0056] For example, the eSBR metadata contained in the bitstream may represent the values ​​of the parameters (as described in the MPEG USAC standard and this disclosure): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch], and bs_sbr_preprocessing.

[0057] Here, the notation X[ch] indicates that the parameter relates to a channel ("ch") of the audio content in the encoded bitstream to be decoded, where X is some parameter. For simplicity, the notation [ch] is sometimes omitted, and it is assumed that the parameter in question relates to a channel of audio content.

[0058] Here, the notation X[ch][env], where X is some parameter, indicates that the parameter relates to the SBR envelope ("env") of a channel ("ch") of audio content in the encoded bitstream to be decoded. For simplicity, the expressions [env] and [ch] are sometimes omitted, and it is assumed that the relevant parameter relates to a certain SBR envelope of a certain channel of audio content.

[0059] During the decoding of the encoded bitstream, the execution of harmonic conversions between the eSBR processing stages of the decoding (for each channel "ch" of the audio content represented by the bitstream) is controlled by the following eSBR metadata parameters: sbrPatchingMode[ch]; sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch] and sbrPitchInBins[ch].

[0060] The value of sbrPatchingMode[ch] indicates the type of transposer used in eSBR. sbrPatchingMode[ch]=1 indicates non-harmonic patching as described in section 4.6.18.6.3 of the MPEG-4 AAC standard; sbrPatchingMode[ch]=0 indicates harmonic SBR patching as described in section 7.5.3 or 7.5.4 of the MPEG USAC standard.

[0061] The value of sbrOversamplingFlag[ch] indicates the use of signal-adaptive frequency-domain oversampling in eSBR in combination with DFT-based harmonic SBR patching as described in Section 7.5.3 of the MPEG USAC standard. This flag controls the size of the DFT used in the converter. 1 indicates signal-adaptive frequency-domain oversampling enabled as described in Section 7.5.3.1 of the MPEG USAC standard; 0 indicates signal-adaptive frequency-domain oversampling disabled as described in Section 7.5.3.1 of the MPEG USAC standard.

[0062] The value of sbrPitchInBinsFlag[ch] controls the interpretation of the sbrPitchInBins[ch] parameter. A value of 1 indicates that the value in sbrPitchInBins[ch] is valid and greater than 0; a value of 0 indicates that the value of sbrPitchInBins[ch] is set to 0.

[0063] The value of sbrPitchInBins[ch] controls the addition of cross-product terms in the SBR harmonic converter. The value sbrPitchInBins[ch] is an integer within the range [0, 127] and represents the distance measured in the frequency bins for the 1536-line DFT acting on the sampling frequency of the core encoder.

[0064] If an MPEG-4 AAC bitstream represents a pair of uncoupled SBR channels (rather than a single SBR channel), the bitstream represents two instances of the above syntax (for harmonic or non-harmonic conversion): one instance for each channel of sbr_channel_pair_element().

[0065] The harmonic conversion of eSBR tools typically improves the quality of decoded music signals at relatively low crossover frequencies. Non-harmonic conversion (i.e., legacy spectral patching) typically improves speech signals. Therefore, the starting point in determining which type of conversion is preferable for encoding specific audio content is to choose the conversion method based on speech / music detection, where harmonic conversion is used for music content and spectral patching is used for speech content.

[0066] The execution of pre-flattening during eSBR processing is controlled by the value of a single-bit eSBR metadata parameter known as bs_sbr_preprocessing. This means that pre-flattening is performed or not performed depending on the value of this single bit. When the SBR QMF patching algorithm described in Section 4.6.18.6.3 of the MPEG-4 AAC standard is used, a pre-flattening step may be performed (as indicated by the bs_sbr_preprocessing parameter) to avoid discontinuities in the form of the spectral envelope of the high-frequency signal being input to the subsequent envelope adjuster (which performs another stage of the eSBR processing). Pre-flattening typically improves the operation of the subsequent envelope adjuster stage, resulting in a more stable perceived high-frequency signal.

[0067] The overall bitrate requirement for including eSBR metadata indicating the aforementioned eSBR tools (harmonic conversion and pre-flattening) in an MPEG-4 AAC bitstream is expected to be on the order of several hundred bits per second. This is because, according to some embodiments of the present invention, only the differential control data required to perform the eSBR processing is transmitted. Since this information is included in a backward-compatible manner (as will be explained later), legacy decoders can ignore it. Therefore, the negative bitrate impact associated with including eSBR metadata can be ignored for several reasons, including: • The bitrate penalty (resulting from including eSBR metadata) is a very small percentage of the total bitrate because only the differential control data required to perform eSBR processing is transmitted (not a simulcast of SBR control data); and • Tuning of control information related to SBR typically does not depend on the details of the conversion.

[0068] Thus, embodiments of the present invention provide means for efficiently transmitting improved spectral band replication (eSBR) control data or metadata in a backward-compatible manner. This efficient transmission of eSBR control data reduces memory requirements in decoders, encoders, and transcoders using aspects of the present invention without any apparent adverse effects on the bitrate. Furthermore, the complexity and processing requirements associated with performing eSBR according to embodiments of the present invention are also reduced. This is because the SBR data only needs to be processed once and does not need to be simulcast, as would be the case if eSBR were treated as a completely separate object type in MPEG-4 AAC rather than being integrated into the MPEG-4 AAC codec in a backward-compatible manner.

[0069] Next, with reference to Figure 7, we describe the elements of a raw data block of an MPEG-4 AAC bitstream that contains eSBR metadata according to some embodiments of the present invention. Figure 7 is a diagram of a raw data block of an MPEG-4 AAC bitstream, showing some of its segments.

[0070] A block of MPEG-4 AAC bitstream may contain at least one single_channel_element() (e.g., the single-channel element shown in Figure 7) and / or at least one channel_pair_element() (not specifically shown in Figure 7, but may exist) containing audio data about an audio program. The block may also contain several fill_elements (e.g., fill element 1 and / or fill element 2 in Figure 7) containing program-related data (e.g., metadata). Each single_channel_element() may contain an identifier indicating the beginning of a single-channel element (e.g., "ID1" in Figure 7) and may contain audio data indicating different channels in a multi-channel audio program. Each channel_pair_element may contain an identifier indicating the beginning of a channel-pair element (not shown in Figure 7) and may contain audio data indicating two channels in a program.

[0071] The fill_element (referred to as the fill element in this paper) of an MPEG-4 AAC bitstream contains an identifier (for example, "ID2" in Figure 7) that indicates the beginning of the fill element, followed by the fill data. The identifier ID2 may consist of a three-bit unsigned integer ("uimsbf") with a value of 0x6, where the most significant bit is transmitted first. The fill data may contain an extension_payload() element (sometimes referred to as the extension payload in this paper). Its syntax is shown in Table 4.57 of the MPEG-4 AAC standard. Several types of extension payloads exist and are identified through the extension_type parameter. This parameter is a four-bit unsigned integer ("uimsbf") where the most significant bit is transmitted first.

[0072] The filler data (for example, its extension payload) may include a header or identifier (for example, "Header 1" in Figure 7) that indicates a segment of the filler data that represents an SBR object (i.e., the header initializes an "SBR object" type, referred to as sbr_extension_data() in the MPEG-4 AAC standard). For example, a spectral band replication (SBR) extension payload is identified by a value of "1101" or "1110" for the extension_type field in the header, where the identifier "1101" identifies an extension payload using SBR data, and "1110" identifies an extension payload using SBR data with cyclic redundancy check (CRC) to verify the correctness of the SBR data.

[0073] When a header initializes an SBR object type (for example, the extension_type field), the header is followed by SBR metadata (sometimes referred to as "spectral band duplicate data" in this paper, and as sbr_data() in the MPEG-4 AAC standard), which can be followed by at least one spectral band duplicate extension element (for example, the "SBR extension element" in filler element 1 of Figure 7). Such a spectral band duplicate extension element (a segment of the bitstream) is referred to as an sbr_extension() container in the MPEG-4 AAC standard. A spectral band duplicate extension element optionally includes a header (for example, the "SBR extension header" in filler element 1 of Figure 7).

[0074] The MPEG-4 AAC standard assumes that a spectral band duplicate extension element can contain PS (parametric stereo) data for the program's audio data. The MPEG-4 AAC standard assumes that the header of a filler element (e.g., its extended payload) initializes an SBR object type (as shown in "Header 1" in Figure 7), and that when the filler element's spectral band duplicate extension element contains PS data, the filler element (e.g., its extended payload) contains the spectral band duplicate data bs_extension_id parameter. The value of this parameter (i.e., bs_extension_id=2) indicates that the PS data is included in the filler element's spectral band duplicate extension element.

[0075] According to some embodiments of the present invention, eSBR metadata (for example, a flag indicating whether enhanced spectral band duplication (eSBR) processing is performed on the audio content of that block) is included in the spectral band duplication extension element of the filler element. For example, such a flag is shown in filler element 1 in Figure 7, and the flag appears after the header of the “SBR extension element” of filler element 1 (the “SBR extension header” of filler element 1). Optionally, such a flag and additional eSBR metadata are included in the spectral band duplication extension element after the header of the spectral band duplication extension element (for example, after the SBR extension header in the SBR extension element of filler element 1 in Figure 7). According to some embodiments of the present invention, a filler element containing eSBR metadata also includes a bs_extension_id parameter. The value of that parameter (for example, bs_extension_id=3) indicates that the filler element contains eSBR metadata and that eSBR processing should be performed on the audio content of that block.

[0076] According to some embodiments of the present invention, eSBR metadata is included in a filler element of the MPEG-4 AAC bitstream other than the spectral band replication extension element (SBR extension element) of the filler element (e.g., filler element 2 in Figure 7). This is because a filler element containing extension_payload() with SBR data or SBR data with CRC does not contain any other extension payload of any other extension type. Therefore, in embodiments in which eSBR metadata is stored in its own extension payload, a separate filler element is used to store the eSBR metadata. Such a filler element includes an identifier indicating the beginning of the filler element (e.g., "ID2" in Figure 7), followed by the filler data. The filler data may include an extension_payload() element (sometimes referred to as the extension payload in this paper). Its syntax is shown in Table 4.57 of the MPEG-4 AAC standard. The fill data (e.g., its extension payload) may include a header indicating an eSBR object (e.g., “Header 2” in fill element 2 of Figure 7) (i.e., the header initializes an Enhanced Spectral Band Reproduction (eSBR) object type), and the fill data (e.g., its extension payload) may include eSBR metadata after the header. For example, fill element 2 of Figure 7 includes such a header ("Header 2"), and after the header, also includes eSBR metadata (i.e., a “flag” in fill element 2 indicating whether Enhanced Spectral Band Reproduction (eSBR) processing is performed on the audio content of that block). Optionally, additional eSBR metadata may also be included after Header 2 in the fill data of fill element 2 of Figure 7. In the embodiments described in this paragraph, the header (e.g., Header 2 in Figure 7) has an identifier value indicating an eSBR extension payload, rather than one of the usual values ​​specified in Table 4.57 of the MPEG-4 AAC standard (thus, the extension_type field of the header indicates that the fill data includes eSBR metadata).

[0077] In a first-class embodiment, the present invention is an audio processing unit (e.g., a decoder) which: A memory (e.g., buffer 201 in Figure 3 or 4) configured to store at least one block of the encoded audio bitstream (e.g., at least one block of the MPEG-4 AAC bitstream); A bitstream payload deformatter (for example, element 205 in Figure 3 or element 215 in Figure 4) coupled to the memory and configured to demultiplex at least a portion of the blocks of the bitstream; The bitstream has a configured decoding subsystem (for example, elements 202 and 203 in Figure 3 or elements 202 and 213 in Figure 4) which is coupled to decode at least one portion of the audio content of the block, and the block is It includes a filler element, an identifier indicating the beginning of the filler element (for example, an id_syn_ele identifier with the value 0x6 in Table 4.85 of the MPEG-4 AAC standard), and filler data following the identifier, wherein the filler data is: Includes at least one flag that identifies whether an enhanced spectral band reproduction (eSBR) process should be performed on the audio content of the block (for example, using spectral band reproduction data and eSBR metadata contained in the block), This is an audio processing unit.

[0078] The aforementioned flag is eSBR metadata, and an example of such a flag is the sbrPatchingMode flag. Another example of such a flag is the harmonicSBR flag. Both of these flags indicate whether basic spectral band duplication or enhanced spectral duplication should be performed on the audio data of the block. Basic spectral duplication is spectral patching, while enhanced spectral band duplication is harmonic conversion.

[0079] In some embodiments, the fill data also includes additional eSBR metadata (i.e., eSBR metadata other than the flags).

[0080] The memory may be a buffer memory (for example, an implementation of buffer 201 in Figure 4) that stores the at least one block of the encoded audio bitstream (for example, in a non-temporary manner).

[0081] The complexity of performing eSBR processing (using eSBR harmonic conversion and pre-flattening) by an eSBR decoder during decoding of an MPEG-4 AAC bitstream containing eSBR metadata (where the eSBR metadata indicates these eSBR tools) is estimated to be as follows (for a typical decoding with the given parameters): ●Harmonic conversion (16kbps, 14400 / 28800Hz) ○DFT-based: 3.68 WMOPS (weighted million operations per second); ○QMF base: 0.98 WMOPS; ●QMF patching pretreatment (pre-flattening): 0.1 WMOPS For transient components, DFT-based conversions are typically known to perform better than QMF-based conversions.

[0082] According to some embodiments of the present invention, a filler element (of an encoded audio bitstream) containing eSBR metadata also includes a parameter (e.g., the bs_extension_id parameter) having a value (e.g., bs_extension_id=3) that signals that eSBR metadata is included in the filler element and that eSBR processing should be performed on the audio content of the block, and / or a parameter (e.g., the same bs_extension_id parameter) having a value (e.g., bs_extension_id=2) that signals that the sbr_extension() container of the filler element contains PS data. For example, as shown in Table 1 below, such a parameter with the value bs_extension_id=2 may signal that the sbr_extension() container of the filler element contains PS data, and such a parameter with the value bs_extension_id=3 may signal that the sbr_extension() container of the filler element contains eSBR metadata. [Table 1] According to some embodiments of the present invention, the syntax for each spectral band replication extension element, including eSBR metadata and / or PS data, is as shown in Table 2 below (where sbr_extension() represents the container which is the spectral band replication extension element, bs_extension_id is as described in Table 1 above, ps_data represents the PS data, and esbr_data represents the eSBR metadata). [Table 2] In one exemplary embodiment, the esbr_data() mentioned in Table 2 above represents the following metadata parameter values: 1. The above one-bit metadata parameter bs_sbr_preprocessing; and 2. For each channel ("ch") of the audio content of the encoded bitstream to be decoded, the parameters above: sbrPatchingMode[ch]; sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; and sbrPitchInBins[ch] respectively.

[0083] For example, in some embodiments, esbr_data() may have the syntax shown in Table 3 to indicate these metadata parameters. [Table 3-1] [Table 3-2] The syntax described above enables efficient implementation of enhanced spectral band duplication, such as harmonic conversion, as an extension to legacy decoders. Specifically, the eSBR data in Table 3 includes only the parameters required to perform enhanced spectral band duplication that are not already supported in the bitstream or can be directly introduced from parameters already supported in the bitstream. All other parameters and processing data required to perform enhanced spectral band duplication are extracted from existing parameters located in positions already defined in the bitstream.

[0084] For example, an MPEG-4 HE-AAC or HE-AAC-v2 compliant decoder may be extended to include an improved form of spectral band duplication, such as harmonic conversion. This improved form of spectral band duplication is in addition to the basic form of spectral band duplication already supported by the decoder. In the context of an MPEG-4 HE-AAC or HE-AAC-v2 compliant decoder, this basic form of spectral band duplication is the QMF spectral patching SBR tool defined in section 4.6.18 of the MPEG-4 AAC standard.

[0085] When performing an improved form of spectral band duplication, the extended HE-AAC decoder can reuse many of the bitstream parameters already included in the bitstream's SBR extension payload. Specific parameters that can be reused include, for example, various parameters that determine the master frequency band table. These parameters include bs_start_freq (a parameter that determines the start of the master frequency table parameters), bs_stop_freq (a parameter that determines the end of the master frequency table), bs_freq_scale (a parameter that determines the number of frequency bands per octave), and bs_alter_scale (a parameter that changes the scale of the frequency bands). Reusable parameters also include those that determine the noise band table (bs_noise_bands) and the limiter band table parameters (bs_limiter_bands). Thus, in various embodiments, at least some of the equivalent parameters specified in the USAC standard are omitted from the bitstream, thereby reducing control overhead in the bitstream. Typically, if a parameter specified in an AAC standard has an equivalent parameter specified in a USAC standard, the equivalent parameter specified in the USAC standard will have the same name as the parameter specified in the AAC standard. For example, the envelope scale factor E OrigMapped However, the equivalent parameters specified in the USAC standard typically have different values ​​that are "tuned" for the enhanced SBR processing defined in the USAC standard, rather than for the SBR processing defined in the AAC standard.

[0086] In addition to the numerous parameters mentioned above, other data elements may also be reused by the extended HE-AAC decoder when performing an improved form of spectral band replication according to embodiments of the present invention. For example, envelope data and noise floor data may be extracted from bs_data_env (envelope scale factor) and bs_noise_env (noise floor scale factor) data and used during the improved form of spectral band replication.

[0087] Essentially, these embodiments leverage configuration parameters and envelope data already supported by legacy HE-AAC or HE-AAC v2 decoders in SBR extended payloads to enable improved spectral bandwidth replication with minimal additional transmission data. While the metadata was originally tuned for basic HFR (e.g., spectral patching in SBRs), depending on the embodiment, it is used for improved HFR (e.g., harmonic conversion in eSBRs). As discussed earlier, the metadata generally represents the operating parameters tuned for use with basic HFR (e.g., linear translation) and intended for use with basic HFR (e.g., linear translation) (e.g., envelope scale factor, noise floor scale factor, time / frequency grid parameters, sinusoid addition information, variable crossover frequency / bandwidth, inverse filtering mode, envelope resolution, smoothing mode, frequency interpolation mode). However, this metadata may be combined with additional metadata parameters specific to improved forms of HFR (e.g., harmonic conversion) to efficiently and effectively process audio data using improved forms of HFR.

[0088] Therefore, an extended decoder that supports improved spectral bandwidth replication can be generated in a highly efficient manner by relying on already defined bitstream elements (e.g., those in the SBR extension payload) and adding only the parameters required to support improved spectral bandwidth replication (in the fill element extension payload). This data reduction feature, combined with placing newly added parameters in a reserved data field such as an extension container, substantially reduces the barrier to creating decoders that support improved spectral bandwidth replication by ensuring that the bitstream is backward compatible with legacy decoders that do not support improved spectral bandwidth replication.

[0089] In Table 3, the numbers in the right column indicate the number of bits for the corresponding parameter in the left column.

[0090] In some embodiments, the SBR object type defined in MPEG-4 AAC is updated to include aspects of SBR-Tool or enhanced SBR (eSBR) so that it is signaled in the SBR extension element (bs_extension_id==EXTENSION_ID_ESBR).

[0091] In some embodiments, the present invention is a method comprising the step of encoding audio data to generate an encoded bitstream (e.g., an MPEG-4 AAC bitstream). This generation comprises including eSBR metadata in at least one segment of at least one block of the encoded bitstream and audio data in at least one other segment of the block. In a typical embodiment, the method comprises the step of multiplexing the audio data with the eSBR metadata in each block of the encoded bitstream. In a typical decoding of the encoded bitstream in an eSBR decoder, the decoder extracts the eSBR metadata from the bitstream (which includes parsing and multiplexing the eSBR metadata and audio data) and uses the eSBR metadata to process the audio data and generate a stream of decoded audio data.

[0092] Another aspect of the present invention is an eSBR decoder configured to perform eSBR processing (using at least one of the eSBR tools known, for example, harmonic conversion or pre-flattening) during the decoding of an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream) that does not contain eSBR metadata. An example of such a decoder is described with reference to Figure 5.

[0093] The eSBR decoder (400) in Figure 5 includes, connected as shown in the figure, a buffer memory 201 (identical to memory 201 in Figures 3 and 4), a bitstream payload deformatter 215 (identical to deformatter 215 in Figure 4), an audio decoding subsystem 202 (sometimes referred to as the "core" decoding stage or "core" decoding subsystem, and identical to the core decoding subsystem 202 in Figure 3), an eSBR control data generation subsystem 401, and an eSBR processing stage 203 (identical to stage 203 in Figure 3). Typically, the decoder 400 also includes other processing elements (not shown).

[0094] In the operation of the decoder 400, a sequence of blocks of the encoded audio bitstream (MPEG-4 AAC bitstream) received by the decoder 400 is presented from the buffer 201 to the deformatter 215.

[0095] The deformatter 215 is configured to demultiplex each block of the bitstream and then extract SBR metadata (including quantized envelope data), and typically other metadata as well. The deformatter 215 is configured to present at least the SBR metadata to the eSBR processing stage 203. The deformatter 215 is also configured to extract audio data from each block of the bitstream and present the extracted audio data to the decoding subsystem (decoding stage) 202.

[0096] The audio decoding subsystem 202 of the decoder 400 is configured to decode the audio data extracted by the deformatter 215 (such decoding may be referred to as a “core” decoding operation) to produce decoded audio data and to present the decoded audio data to the eSBR processing stage 203. Decoding is performed in the frequency domain. Typically, the final stage of processing in subsystem 202 applies a frequency-domain to time-domain conversion to the decoded frequency-domain audio data, so that the output of the subsystem is time-domain decoded audio data. Stage 203 is configured to apply the SBR tools (and eSBR tools) indicated by the SBR metadata (extracted by the deformatter 215) and the eSBR metadata generated in subsystem 401 to the decoded audio data (i.e., perform SBR and eSBR processing on the output of the decoding subsystem 202 using the SBR and eSBR metadata) to produce fully decoded audio data output from decoder 400. Typically, the decoder 400 includes memory (accessible by subsystems 202 and stage 203) for storing the deformatted audio data and metadata output from the deformatter 215 (and optionally subsystem 401), and stage 203 is configured to access the audio data and metadata as needed during SBR and eSBR processing. The SBR processing in stage 203 may be considered post-processing on the output of the core decoding subsystem 202. Optionally, the decoder 400 also includes a final upmix subsystem (which may apply the parametric stereo ("PS") tools defined in the MPEG-4 AAC standard using the PS metadata extracted by the deformatter 215). The upmix subsystem is coupled and configured to perform upmixing on the output of stage 203 to produce fully decoded, upmixed audio output from the APU 210.

[0097] The control data generation subsystem 401 in Figure 5 is coupled and configured to detect at least one attribute of the encoded audio bitstream to be decoded and generate eSBR control data (which, according to other embodiments of the invention, may also include, eSBR metadata of any of the types contained in the encoded audio bitstream) in response to at least one result of the detection step. The eSBR control data is presented to step 203 to trigger the application of individual eSBR tools or combinations of eSBR tools and / or control the application of such eSBR tools when a particular attribute (or combination of attributes) of the bitstream is detected. For example, to control the execution of eSBR processing using harmonic conversion, some embodiments of the control data generation subsystem 401 would include: a music detector (e.g., a simplified version of a normal music detector) for setting the sbrPatchingMode[ch] parameter in response to detecting whether the bitstream indicates music or not (and presenting the set parameter to stage 203); a transient detector for setting the sbrOversamplingFlag[ch] parameter in response to detecting the presence or absence of transient components in the audio content indicated by the bitstream (and presenting the set parameter to stage 203); and / or a pitch detector for setting the sbrPitchInBinsFlag[ch] and sbrPitchInBins[ch] parameters in response to detecting the pitch of the audio content indicated by the bitstream (and presenting the set parameters to stage 203). Another aspect of the present invention is an audio bitstream decoding method performed by any embodiment of the decoder of the present invention described in this paragraph and the previous paragraph.

[0098] Aspects of the present invention include encoding or decoding methods of a type configured (e.g., programmed) to be performed by any embodiment of the APU, system, or device of the present invention. Other aspects of the present invention include a system or device configured (e.g., programmed) to perform any embodiment of the method of the present invention, and a computer-readable medium (e.g., disk) that stores (e.g., non-temporarily) code for implementing any embodiment or stage thereof of the method of the present invention. For example, a system of the present invention may include, or be, a programmable general-purpose processor, digital signal processor, or microprocessor programmed and / or otherwise configured with software or firmware to perform any of a variety of operations, including embodiments or stages thereof of the method of the present invention, on data. Such a general-purpose processor may also include, or be a computer system including input devices, memory, and processing circuits programmed (and / or otherwise configured) to perform embodiments (or stages thereof) of the method of the present invention in response to data presented thereto.

[0099] Embodiments of the present invention may be implemented in hardware, firmware, software, or a combination thereof (for example, as a programmable logic array). Unless otherwise noted, the algorithms or processes included as part of the present invention are not inherently related to any particular computer or other device. In particular, various general-purpose machines may be used with programs written in accordance with the teachings of this paper, or it may be more convenient to construct a more specialized device (for example, an integrated circuit) to perform the required method steps. Thus, the present invention may be implemented in one or more computer programs running on one or more programmable computer systems (for example, an implementation of any of the elements of Figure 1 or the encoder 100 (or any element thereof) of Figure 2 or the decoder 200 (or any element thereof) of Figure 3 or the decoder 210 (or any element thereof) of Figure 4 or the decoder 400 (or any element thereof) of Figure 5). Each computer system has at least one processor, at least one data storage system (including volatile and non-volatile memory and / or storage elements), at least one input device or port, and at least one output device or port. The program code is applied to the input data to perform the functions described in this paper and generate output information. The output information is added to one or more output devices in a known manner.

[0100] Each such program may be implemented in any desired computer language (including machine language, assembly language, or high-level procedural, logical, or object-oriented programming languages) to communicate with the computer system. In any case, the language may be a compiled or interpreted language.

[0101] For example, when implemented by computer software instruction sequences, various functions and stages of embodiments of the present invention may be implemented by multithreaded software instruction sequences running on suitable digital signal processing hardware, in which case the various devices, stages and functions of the embodiments may correspond to parts of the software instructions.

[0102] Each such computer system is preferably stored in or downloaded to a storage medium or device (e.g., semiconductor memory or media, or magnetic or optical media) that is readable by a general-purpose or special-purpose programmable computer. This is so that the computer system is configured and operated to perform the procedures described herein when the storage medium or device is read by the computer system. The system of the present invention may be implemented as a computer-readable storage medium configured with (i.e., storing) a computer program, which causes the computer system to operate in a specific, predefined manner to perform the functions described herein.

[0103] Several embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications can be made without deviating from the spirit and scope of the invention. Numerous modifications and variations of the invention are possible in light of the above teachings. For example, to facilitate efficient implementation, phase shift may be used in combination with complex QMF decomposition and composite filter banks. The decomposition filter bank is responsible for filtering the time-domain low-pass signal generated by the core decoder into multiple subbands (e.g., QMF subbands). The composite filter bank is responsible for combining the regenerated high-pass (generated by a selected HFR technique, indicated by the received sbrPatchingMode parameter) with the decoded low-pass to generate a wideband output audio signal. However, a given filter bank implementation operating in certain sample rate modes, such as normal dual-rate operation or downsampled SBR mode, should not have bitstream-dependent phase shift. The QMF bank used in SBR is a complex-exponential extension of the cosine modulation filter bank theory. It is shown that extending the cosine modulation filter bank using complex-exponential modulation eliminates the need for alias cancellation constraints. Thus, for the SBR QMF bank, the decomposed filter h k (n) and composite filter f k (n) can all be defined by the following equation:

number

[0104] The coefficients of the prototype filter p0(n) may be defined with a length L of 640, as shown in Table 4 below. [Table 4-1] [Table 4-2] [Table 4-3] [Table 4-4] [Table 4-5] [Table 4-6] The prototype filter p0(n) may be derived from Table 4 by one or more mathematical operations such as rounding, subsampling, interpolation, and decimation.

[0105] It is understood that, within the scope of the supplementary claims, the present invention may be implemented in ways other than those specifically described herein. Any reference numerals included in the claims are for illustrative purposes only and should not be used in any way to interpret or limit the claims.

[0106] Several aspects are described below. [Aspect 1] A method for decoding an encoded audio bitstream, the method being: A step of receiving an encoded audio bitstream, wherein the encoded audio bitstream includes audio data representing the low-frequency portion of an audio signal; The steps include: decoding the aforementioned audio data to generate a decoded low-frequency audio signal; A step of extracting high-frequency reconstruction metadata from the encoded audio bitstream, wherein the high-frequency reconstruction metadata includes operating parameters for a high-frequency reconstruction process that linearly translates several successive subbands from the low-frequency portion of the audio signal to the high-frequency portion of the audio signal; The steps include: filtering the decoded low-frequency audio signal with a decomposition filter bank to generate a filtered low-frequency audio signal; The steps include: extracting a flag from the encoded audio bitstream indicating whether linear translation or harmonic conversion should be performed on the audio data; The steps include: regenerating the high-frequency portion of the audio signal using the filtered low-frequency audio signal and the high-frequency reconstruction metadata according to the aforementioned flag; The step includes combining the filtered low-frequency audio signal and the regenerated high-frequency portion to form a wideband audio signal. method. [Aspect 2] The method according to Embodiment 1, wherein the encoded audio bitstream further includes a filler element, the filler element having an identifier indicating the beginning of the filler element and filler data following the identifier, the filler data including the flag. [Aspect 3] The method according to aspect 2, wherein the identifier is a three-bit unsigned integer having a value of 0x6, with the most significant bit being transmitted first. [Aspect 4] The fill data includes an extended payload, the extended payload includes spectral band replication extended data, and the extended payload is identified using a four-bit unsigned integer having the value "1101" or "1110", the most significant bit of which is transmitted first, optionally, The aforementioned spectral band replication and extended data is: Arbitrary spectral band replication header, Spectral band replication data after the header, The spectral band replication extension element is included after the spectral band replication data, and the flag is included in the spectral band replication extension element. The method described in Embodiment 2. [Aspect 5] The method according to any one of embodiments 1 to 4, wherein the high-frequency reconstruction metadata includes operating parameters selected from the group consisting of an envelope scale factor, a noise floor scale factor, sinusoidal additional information, time / frequency grid information, a crossover frequency, and an inverse filtering mode. [Aspect 6] The aforementioned decomposition filter bank,

number

number

Claims

1. A method for decoding an encoded audio bitstream, the method being: A step of receiving an encoded audio bitstream, wherein the encoded audio bitstream includes audio data representing the low-frequency portion of an audio signal, and the encoded audio bitstream further includes a fill element, the fill element having an identifier indicating the beginning of the fill element and fill data following the identifier, the identifier being a three-bit unsigned integer with the most significant bit being transmitted first, and having a value of 0x6; The steps include: decoding the aforementioned audio data to generate a decoded low-frequency audio signal; A step of extracting high-frequency reconstruction metadata from the encoded audio bitstream, wherein the high-frequency reconstruction metadata includes linear translation operation parameters tuned for a high-frequency reconstruction process that linearly translates several successive subbands from the low-frequency portion of the audio signal to the high-frequency portion of the audio signal, and the linear translation operation parameters include sinusoidal additional information; The steps include: filtering the decoded low-frequency audio signal with a decomposition filter bank to generate a filtered low-frequency audio signal; The steps include: extracting a flag from the encoded audio bitstream indicating whether linear translation or harmonic conversion should be performed on the audio data; If the aforementioned flag indicates that harmonic conversion should be performed on the audio data: A step of regenerating the high-frequency portion of the audio signal by performing harmonic conversion using the filtered low-frequency audio signal and the high-frequency reconstruction metadata including the sinusoidal additional information, wherein the sinusoidal additional information is reused for harmonic conversion despite being encoded for linear translation processing; The step includes using a composite filter bank to combine the filtered low-frequency audio signal and the regenerated high-frequency portion to form a wideband audio signal. method.

2. A decoder for decoding an encoded audio bitstream, wherein the decoder is: An input interface for receiving an encoded audio bitstream, the encoded audio bitstream comprising audio data representing the low-frequency portion of an audio signal, the encoded audio bitstream further comprising a fill element, the fill element comprising an identifier indicating the beginning of the fill element and fill data following the identifier, the identifier being a three-bit unsigned integer with the most significant bit transmitted first, and having a value of 0x6, the input interface comprising: A core decoder that decodes the aforementioned audio data and generates a decoded low-frequency audio signal; A deformatter for extracting high-frequency reconstruction metadata from the encoded audio bitstream, wherein the high-frequency reconstruction metadata includes linear translation operation parameters tuned for a high-frequency reconstruction process that linearly translates several successive subbands from the low-frequency portion of the audio signal to the high-frequency portion of the audio signal, and the linear translation operation parameters include sinusoidal additional information; A decomposition filter bank that filters the decoded low-frequency audio signal to generate a filtered low-frequency audio signal; A deformatter that extracts a flag from the encoded audio bitstream indicating whether linear translation or harmonic conversion should be performed on the audio data; A high-frequency regenerator that regenerates the high-frequency portion of the audio signal by performing harmonic conversion using the filtered low-frequency audio signal and the high-frequency reconstruction metadata including the sinusoidal additional information, wherein the sinusoidal additional information is reused for harmonic conversion despite being encoded for linear translation processing; The system includes a composite filter bank that combines the filtered low-frequency audio signal and the regenerated high-frequency portion to form a broadband audio signal. decoder.