Integration of high frequency reconstruction techniques with post-processing delay reduction

The method addresses the challenge of efficiently processing audio bitstreams by regenerating the high-band portion of audio signals using spectral transformation or harmonic transposition, as indicated by metadata in the bitstream, thereby enhancing audio quality for music content with low crossover frequencies.

JP7679989B2Active Publication Date: 2025-05-20DOLBY INTERNATIONAL AB
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024081435
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-04-25
Filing Date
2024-05-20
Publication Date
2025-05-20
Estimated Expiration
2039-04-25

AI Technical Summary

Technical Problem

Existing audio encoding and decoding technologies, such as those using the MPEG-4 AAC standard, face challenges in efficiently processing audio bitstreams with control data that specifies whether basic or enhanced high frequency reconstruction (HFR) should be performed, particularly for audio types with low crossover frequencies.

Method used

The method involves decoding an encoded audio bitstream, extracting high-frequency reconstruction metadata, and filtering the decoded low-band audio signal to regenerate the high-band portion using either spectral transformation or harmonic transposition, as indicated by a flag in the metadata.

Benefits of technology

This approach enhances the quality of audio signals by allowing for improved spectral band replication, particularly for music content with low crossover frequencies, while maintaining backward compatibility with legacy decoders.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007679989000015
    Figure 0007679989000015
  • Figure 0007679989000016
    Figure 0007679989000016
  • Figure 0007679989000017
    Figure 0007679989000017
Patent Text Reader

Abstract

To disclose a method for decoding an encoded audio bitstream.SOLUTION: A method includes receiving an encoded audio bitstream and decoding audio data to generate a decoded lowband audio signal. The method further includes extracting high frequency reconstruction metadata and filtering the decoded lowband audio signal with an analytical filterbank to generate a filtered lowband audio signal. The method also includes extracting a flag indicating whether either spectral translation or harmonic transposition is to be performed on the audio data, and regenerating a highband portion of the audio signal using the filtered lowband audio signal and the high frequency reconstruction metadata in accordance with the flag. The high frequency regeneration is performed as a post-processing operation with a delay of 3010 samples per audio channel.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims the benefit of priority to U.S. Provisional Patent Application No. 62 / 662,296, filed April 25, 2018, which is incorporated herein by reference in its entirety.

[0002] Embodiments relate to audio signal processing, and more particularly to encoding, decoding, or transcoding audio bitstreams having control data that specifies whether a base form of high frequency reconstruction ("HFR") or an enhanced form of HFR should be performed on the audio data. [Background technology]

[0003] A typical audio bitstream contains both audio data (e.g., encoded audio data) that describes one or more channels of audio content, and metadata that describes at least one characteristic of the audio data or audio content. One well-known format for generating encoded audio bitstreams is the MPEG-4 Advanced Audio Coding (AAC) format, described in MPEG standard ISO / IEC 14496-3:2009. In the MPEG-4 standard, AAC stands for "Advanced Audio Coding" and HE-AAC stands for "High-Efficiency Advanced Audio Coding".

[0004] The MPEG-4 AAC standard specifies several audio profiles that determine which objects and coding tools are present in a compliant encoder or decoder. Three of the 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 (i.e., “AAC-LC”) object type. The AAC-LC object type corresponds to the MPEG-2 AAC low complexity profile with some adjustments and does not include either 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 also includes the SBR object type. The HE-AAC v2 profile is a superset of the HE-AAC profile and also includes the PS object type.

[0005] The SBR object type includes a spectral band replication tool, which is an important high frequency reconstruction ("HFR") coding 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). Thus, the encoder only needs to encode and transmit the low frequency components, allowing a much higher audio quality at a lower data rate. SBR is based on replicating a sequence of harmonics, previously truncated to reduce the data rate, from the control data obtained from the encoder and the signal with limited available bandwidth. The ratio between tonal and noise-like components is maintained by adaptive inverse filtering and optional addition of noise and sinusoids. In the MPEG-4 AAC standard, the SBR tool performs a spectral patching (also called a linear transformation or spectral transformation), in which a number of consecutive quadrature mirror filter (QMF) subbands are replicated (or "patched") from the transmitted low-band part of the audio signal to the high-band part of the audio signal, which is generated in the decoder.

[0006] Spectral patching or linear transformation may not be ideal for certain audio types, such as music content that has relatively low crossover frequencies, and therefore techniques that improve spectral band replication are desirable. Summary of the Invention

[0007] A first class of embodiments relates to a method for decoding an encoded audio bitstream, the method including receiving an encoded audio bitstream and decoding audio data to generate a decoded low-band audio signal. The method further includes extracting high-frequency reconstruction metadata and filtering the decoded low-band audio signal with an analysis filterbank to generate a filtered low-band audio signal. The method further includes extracting a flag indicating whether a spectral transformation or a harmonic transposition should be performed on the audio data, and regenerating a high-band portion of the audio signal using the filtered low-band audio signal and the high-frequency reconstruction metadata according to the flag. Finally, the method includes combining the filtered low-band audio signal with the regenerated high-band portion to form a wideband audio signal.

[0008] A second class of embodiments relates to an audio decoder for decoding an encoded audio bitstream. The decoder includes an input interface for receiving the encoded audio bitstream, the encoded audio bitstream including audio data representative of a low-band portion of an audio signal, and a core decoder for decoding the audio data to generate a decoded low-band audio signal. The decoder also includes a demultiplexer for extracting high-frequency reconstruction metadata from the encoded audio bitstream, the high-frequency reconstruction metadata including operating parameters for a high-frequency reconstruction process for linearly transforming a successive number of subbands from the low-band portion of the audio signal to a high-band portion of the audio signal, and an analysis filter bank for filtering the decoded low-band audio signal to generate a filtered low-band audio signal. The decoder further includes a demultiplexer for extracting a flag from the encoded audio bitstream indicating whether a linear transformation or a harmonic transposition should be performed on the audio data, and a high-frequency regenerator for regenerating the high-band portion of the audio signal using the filtered low-band audio signal and the high-frequency reconstruction metadata according to the flag. Finally, the decoder includes a synthesis filterbank that combines the filtered lowband audio signal with the regenerated highband portion to form a wideband audio signal.

[0009] Another class of embodiments relates to encoding and transcoding audio bitstreams that include metadata that specifies whether enhanced spectral band replication (eSBR) processing should be performed. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a block diagram of an embodiment of a system that can be configured to perform an embodiment of the inventive method. [Diagram 2] FIG. 2 is a block diagram of an encoder that is an embodiment of the inventive audio processing unit. [Diagram 3] FIG. 1 is a block diagram of a system including a decoder, which is an embodiment of the inventive audio processing unit, and optionally including a post-processor coupled thereto. [Figure 4] FIG. 2 is a block diagram of a decoder, which is an embodiment of the inventive audio processing unit. [Diagram 5] FIG. 2 is a block diagram of a decoder, another embodiment of the inventive audio processing unit. [Figure 6] FIG. 2 is a block diagram of another embodiment of the inventive audio processing unit. [Figure 7] A diagram of blocks of an MPEG-4 AAC bitstream, including the segments into which it is divided. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Notation and nomenclature Throughout this disclosure, including in the claims, the expression performing processing "on" a signal or data (e.g., filtering, scaling, transforming, or applying a gain to the signal or data) is used broadly to refer to performing processing either 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 before the processing is performed).

[0012] Throughout this disclosure, including in the claims, the terms "audio processing unit" or "audio processor" are used broadly to denote a 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). Nearly all consumer electronics products, such as mobile phones, televisions, laptops, and tablet computers, include audio processing units or audio processors.

[0013] Throughout this disclosure, including in the claims, the terms "couple" and "coupled" are used broadly to mean either a direct or indirect connection. Thus, when a first device couples to a second device, the connection may be through a direct connection or through an indirect connection through other devices and connections. Components that are integrated into or with other components are also coupled to each other.

[0014] Detailed Description of the Invention Embodiments The MPEG-4 AAC standard contemplates that an encoded MPEG-4 AAC bitstream will include the following metadata: metadata indicating the type of High Frequency Reconstruction ("HFR") processing to be applied by a decoder (if any) to decode the audio content of the bitstream, 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. The expression "SBR metadata" is used herein to refer to this type of metadata that is described or mentioned in the MPEG-4 AAC standard for use with Spectral Band Replication ("SBR"). As will be appreciated by those skilled in the art, SBR is a form of HFR.

[0015] SBR is preferably used as a dual-rate system, where the underlying codec operates at half the original sampling rate, while SBR operates at the original sampling rate. The SBR encoder runs in parallel with the underlying core codec, albeit at a higher sampling rate. Although SBR is mainly a post-processing in the decoder, important 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 in terms of the time and frequency range / resolution suited to the current input signal segment characteristics. The spectral envelope is estimated by a complex QMF analysis followed by an energy calculation. 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. The envelope estimation needs to take into account that the original, mainly located in the high-frequency region, transient components (e.g. hi-hat) are slightly present in the SBR-generated high band before envelope adjustment, because the high band in the decoder is based on the low band, where the transient components are much less prominent compared to the high band. 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 further parameters are extracted that describe the spectral characteristics of the input signal in different time and frequency domains. Since the encoder naturally has access to the original signal as well as to information about how the SBR unit in the decoder creates the high band given a particular set of control parameters, the system is able to handle the following situations: the low band constitutes a strong harmonic sequence and the recreated high band constitutes mainly random signal components, and there are strong tonal components in the original high band that have no counterpart in the low band on which the high band region is based. Furthermore, the SBR encoder works closely with the underlying core codec to find out which frequency range should be covered by the SBR at a given time. The SBR data is efficiently coded before 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 bitrate and a given sampling rate due to the fact that a lower bitrate usually means a larger SBR range compared to a higher bitrate, and different sampling rates correspond to different temporal resolutions of the SBR frames.

[0018] An SBR decoder typically includes several different parts. It includes a bitstream decoding module, a high frequency reconstruction (HFR) module, an additional high frequency component module, and an envelope adjustment module. The system is based on a complex-valued QMF filter bank (for high quality SBR) or a real-valued QMF filter bank (for low power SBR). The invention embodiments are applicable to both high quality SBR and low power SBR. In the bitstream extraction module, control data is read from the bitstream and decoded. Before reading the envelope data from the bitstream, a time-frequency grid is obtained for the current frame. The underlying core decoder decodes the audio signal of the current frame (albeit at a lower sampling rate) to generate time domain audio samples. The resulting frame of audio data is used for high frequency reconstruction by the HFR module. The decoded low band signal is then analyzed using the QMF filter bank. Subsequently, high frequency reconstruction and envelope adjustment are performed on the subband samples of the QMF filter bank. The high frequencies are reconstructed from the low band in a flexible manner based on given control parameters. Furthermore, the reconstructed highband is adaptively filtered on a subband channel basis according to control data to ensure proper spectral characteristics in a given time / frequency domain.

[0019] The top level of an MPEG-4 AAC bitstream is a sequence of data blocks ("raw_data_block" elements), each of which is a segment of data (referred to herein as a "block") that contains audio data (typically spanning a duration of 1024 or 960 samples) and related information and / or other data. The term "block" is used herein to denote a segment of an MPEG-4 AAC bitstream having audio data (and corresponding metadata, and optionally other associated data) that defines or indicates one (but not more than one) "raw_data_block" element.

[0020] Each block of an MPEG-4 AAC bitstream may contain a number of syntax elements (each of which is also embodied in the bitstream as a segment of data). 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 (i.e., a mono audio signal). A channel pair element contains audio data for two audio channels (i.e., a stereo audio signal).

[0021] Filler elements are containers of information that contain an identifier (e.g., the value of element "id_syn_ele" above) followed by data (referred to as "filler data"). Filler elements have historically been used to regulate the instantaneous bit rate of a bitstream to be transmitted over a constant rate channel. By adding an appropriate amount of filler data to each block, a constant data rate can be achieved.

[0022] According to an embodiment of the invention, the filler data may include one or more extension payloads that extend the type of data (e.g., metadata) that can be transmitted in the bitstream. A decoder that receives a bitstream with filler data that includes new types of data may optionally be used by the device (e.g., decoder) receiving the bitstream to extend the capabilities of the device. Thus, as can be appreciated by those skilled in the art, a filler element is a special type of data structure that is distinct from data structures typically used to transmit audio data (e.g., audio payloads that include channel data).

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

[0024] Another standard for encoding audio bitstreams is the MPEG USAC™ Unified Speech and Audio Coding standard (ISO / IEC 23003-3:2012). The MPEG USAC standard describes the encoding and decoding of audio content using a spectral band duplication process (which includes the SBR process described in the MPEG-4 AAC standard, as well as other enhanced forms of the spectral band duplication process). This process applies an extended and enhanced version of the spectral band duplication tools (sometimes referred to herein as the “enhanced SBR tools” or “eSBR tools”) of the SBR toolset 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] The term "enhanced SBR processing" (or "eSBR processing") is used herein to refer to a spectral band duplication process using at least one eSBR tool not described or referenced in the MPEG-4 AAC standard (e.g., at least one eSBR tool described or referenced in the MPEG USAC standard). Examples of such eSBR tools are harmonic transposition and additional pre-processing or "pre-flattening" by QMF patching.

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

[0027] The harmonic transposer may be either QMF-based or DFT-based. When using a QMF-based harmonic transposer, the bandwidth expansion of the core coder time domain signal is performed entirely in the QMF domain using an improved phase vocoder structure, and decimation and subsequent time expansion are performed for all QMF subbands. Transposition with several transposition factors (e.g., T=2, 3, 4) is performed in a common QMF analysis / synthesis transformation stage. Since the QMF-based harmonic transposer does not feature signal-adaptive frequency domain oversampling, the corresponding flag (sbrOversamplingFlag[ch]) in the bitstream may be ignored.

[0028] When using DFT-based harmonic transposers, preferably, to reduce complexity, factor 3 and 4 transposers (third and fourth order transposers) are merged into a factor 2 transposer (second order transposer) by interpolation. For each frame (corresponding to coreCoderFrameLength core coder samples), first a transposer with a nominal "full size" transform size is determined by the signal adaptive frequency domain oversampling flag (sbrOverSamplingFlag[ch]) in the bitstream.

[0029] When sbrPatchingMode==1, it indicates that a linear transposition should be used to generate the high band, and an additional step may be introduced to avoid discontinuities in the shape of the spectral envelope of the high frequency signal input to the subsequent envelope adjuster. This improves the processing of the subsequent envelope adjustment stage, resulting in a high band signal that feels more stable. This additional pre-processing operation is beneficial for signal types where the coarse spectral envelope of the low band signal used for high frequency reconstruction exhibits large level variations. However, the value of the bitstream element may be determined at the encoder by applying some kind of signal-dependent classification. This additional pre-processing is preferably activated by a 1-bit bitstream element bs_sbr_preprocessing. When bs_sbr_preprocessing is set to 1, this additional processing is enabled. When bs_sbr_preprocessing is set to zero, this additional pre-processing is disabled. This additional processing is preferably performed by preprocessing the low band X for each patch. Low Uses a preGain curve that is used by the high frequency generator to scale the

number

number

number

number

[0030] Bitstreams generated in accordance with the MPEG USAC standard (sometimes referred to herein as "USAC" bitstreams) contain encoded audio content and typically also include metadata indicating each type of spectral band replication process applied by a decoder to decode the audio content of the USAC bitstream, and / or metadata that controls such spectral band replication processes and / or indicates at least one characteristic or parameter of at least one SBR tool and / or eSBR tool used to decode the audio content of the USAC bitstream.

[0031] The expression "enhanced SBR metadata" (or "eSBR metadata") is used herein to represent metadata that indicates each type of spectral band duplication process applied by a decoder to decode audio content of an encoded audio bitstream (e.g., a USAC bitstream) and / or that controls such spectral band duplication process and / or that indicates at least one characteristic or parameter of at least one SBR tool and / or eSBR tool used to decode such audio content, but that is not described or mentioned in the MPEG-4 AAC standard. An example of eSBR metadata is metadata that is not described or mentioned in the MPEG-4 AAC standard but is described or mentioned in the MPEG USAC standard (indicating or controlling a spectral band duplication process). Thus, eSBR metadata represents metadata that is not SBR metadata and SBR metadata represents metadata that is not eSBR metadata.

[0032] A USAC bitstream may include both SBR and eSBR metadata. More specifically, a USAC bitstream may include eSBR metadata that controls the decoder's performance of eSBR processing, and SBR metadata that controls the decoder's performance of SBR processing. According to an exemplary embodiment of the present invention, eSBR metadata (e.g., eSBR-specific configuration data) is included (in accordance with the present invention) in an MPEG-4 AAC bitstream (e.g., in an sbr_extension() container at the end of the SBR payload).

[0033] The implementation of an eSBR process by a decoder during decoding of an encoded bitstream using an eSBR toolset (having at least one eSBR tool) restores the high frequency band of an audio signal based on replicating a sequence of harmonics that were truncated during encoding. Such an eSBR process typically adjusts the spectral envelope of the generated high frequency band, applies inverse filtering, and adds noise and sinusoidal components in order to recreate the spectral characteristics of the original audio signal.

[0034] According to an exemplary embodiment of the invention, the eSBR metadata is included in one or more of multiple metadata segments (e.g., a small number of control bits that are the eSBR metadata) of an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream) that also contains audio data encoded in other segments (audio data segments). Typically, at least one such metadata segment for each block of the bitstream is (or includes) a filler element (containing an identifier pointing to the start of the filler element), and the eSBR metadata is included in the filler element after the identifier.

[0035] 1 is a block diagram of an exemplary audio processing chain (audio data processing system), one or more of the system's elements may be configured in accordance with an embodiment of the present invention. The system includes the following elements coupled together as shown: an encoder 1, a delivery subsystem 2, a decoder 3, and a post-processing unit 4. Variations of the illustrated system omit one or more of these elements or include additional audio data processing units.

[0036] In some implementations, the encoder 1 (which optionally includes a pre-processing unit) is configured to accept as input PCM (time domain) samples having audio content and to output an encoded audio bitstream (having a format conforming to the MPEG-4 AAC standard) indicative of the audio content. Data in the bitstream indicative of the audio content may be referred to herein as "audio data" or "encoded audio data." When the encoder is configured according to an exemplary embodiment of the present invention, the audio bitstream output from the encoder includes the audio data as well as the eSBR metadata (and typically other metadata as well).

[0037] One or more encoded audio bitstreams output from Encoder 1 may be asserted 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 (e.g., in the form of a DVD or Bluray® disc), or transmitted by subsystem 2, or may be both stored and transmitted by subsystem 2.

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

[0039] 1 is configured to accept a stream of decoded audio data (e.g. decoded PCM audio samples) from the decoder 3 and perform post-processing thereon. The post-processing unit may also be configured to render the post-processed audio content (or decoded audio received from the decoder 3) for playback over one or more speakers.

[0040] 2 is a block diagram of an embodiment of an inventive audio processing unit, an encoder (100). Any of the components or elements 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 circuits). 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. 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.

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

[0042] Encoder 105 is coupled and configured to encode input audio data (e.g., by performing compression on it) and assert the resulting encoded audio to stage 107 for inclusion in an encoded bitstream output from stage 107.

[0043] Stage 107 is configured to multiplex the encoded audio from encoder 105 and the metadata (including eSBR metadata and SBR metadata) from generator 106 to generate an encoded bitstream that is output from stage 107, preferably such that the encoded bitstream has a format specified by one of the embodiments of the present invention.

[0044] The buffer memory 109 is configured to store (e.g., non-temporarily) at least one block of the encoded audio bitstream output from stage 107, and a series of blocks of the encoded audio bitstream are asserted from the buffer memory 109 as output from the encoder 100 to the delivery system.

[0045] 3 is a block diagram of a system including a decoder (200) and, optionally, a post-processor (300) coupled thereto, which is an embodiment of an inventive audio processing unit. Any of the components or elements of the decoder 200 and the post-processor 300 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 decoder 200 includes a buffer memory 201, a bitstream payload de-formatter (parser) 205, an audio decoding subsystem 202 (sometimes referred to as a "core" decoding stage or "core" decoding subsystem), an eSBR processing stage 203, and a control bit generation stage 204, connected as shown. Typically, the decoder 200 also includes other processing elements (not shown).

[0046] Buffer memory (buffer) 201 stores (e.g., non-temporarily) at least one block of an encoded MPEG-4 AAC audio bitstream received by decoder 200. In operation of decoder 200, successive blocks of the bitstream are asserted from buffer 201 to deformatter 205.

[0047] In a variation on the embodiment of FIG. 3 (or the embodiment of FIG. 4 described below), an APU that is not a decoder (e.g., APU 500 of FIG. 6) includes a buffer memory (e.g., the same buffer memory as buffer 201) that stores (e.g., non-temporarily) at least one block of the same type of encoded audio bitstream (i.e., an encoded audio bitstream including eSBR metadata) (e.g., an MPEG-4 AAC audio bitstream) received by buffer 201 of FIG. 3 or FIG. 4.

[0048] 3, the deformatter 205 is coupled and configured to demultiplex each block of the bitstream, extract therefrom SBR metadata (including quantized envelope data) and eSBR metadata (and typically other metadata as well), assert at least the eSBR metadata and SBR metadata to the eSBR processing stage 203, and typically also assert other extracted metadata to the decoding subsystem 202 (and optionally also to the control bit generator 204). The deformatter 205 is also coupled and configured to extract audio data from each block of the bitstream, and assert the extracted audio data to the decoding subsystem (decoding stage) 202.

[0049] The system of Figure 3 also optionally includes a post-processor 300. The post-processor 300 includes a buffer memory (buffer) 301 and other processing elements (not shown) including at least one processing element coupled to the buffer 301. The buffer 301 stores at least one block (or frame) of decoded audio data received by the post-processor 300 from the decoder 200. The processing element of the post-processor 300 is coupled and configured to receive a sequence of blocks (or frames) of decoded audio output from the buffer 301 and adaptively process it using metadata output from the decoding subsystem 202 (and / or the deformatter 205) and / or control bits output from stage 204 of the decoder 200.

[0050] 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 the "core" decoding process) to generate decoded audio data, and to assert the decoded audio data to the eSBR processing stage 203. This decoding is performed in the frequency domain, and typically includes inverse quantization followed by spectral processing. Typically, the final stage of processing in the subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data, such that the output of the subsystem 202 is time domain decoded audio data. Stage 203 applies the SBR and eSBR tools indicated by the SBR and eSBR metadata (extracted by the parser 205) to the decoded audio data (i.e., performs SBR and eSBR processing on the output of the decoding subsystem 202 using the SBR and eSBR metadata) to generate the fully decoded audio data that is output from the decoder 200 (e.g., to the post-processor 300). Typically, decoder 200 includes a memory (accessible by subsystem 202 and stage 203) that stores deformatted audio data and metadata output from deformatter 205, with stage 203 configured to access the audio data and metadata (including SBR and eSBR metadata) as needed during SBR and eSBR processing. The SBR and eSBR processing in stage 203 may be considered as post-processing on the output of core decoding subsystem 202. Optionally, decoder 200 also includes a final upmixing subsystem (which may apply parametric stereo ("PS") tools as defined in the MPEG-4 AAC standard using PS metadata extracted by deformatter 205 and / or control bits generated by subsystem 204) coupled and configured to perform upmixing on the output of stage 203 to generate fully decoded and upmixed audio output from decoder 200.Alternatively, the post-processor 300 is configured to perform upmixing on the output of the decoder 200 (eg, using PS metadata extracted by the deformatter 205 and / or control bits generated by the subsystem 204).

[0051] In response to the metadata extracted by the deformatter 205, the control bit generator 204 may generate control data that may be used within the decoder 200 (e.g., in a final upmixing subsystem) and / or asserted as an output of the decoder 200 (e.g., to a post-processor 300 for use in post-processing). In response to the metadata extracted from the input bitstream (and optionally also in response to the control data), stage 204 may generate (and assert to the post-processor 300) a control bit 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 assert the metadata extracted by the deformatter 205 from the input bitstream to the post-processor 300, and the post-processor 300 is configured to use the metadata to perform post-processing on the decoded audio data output from the decoder 200.

[0052] FIG. 4 is a block diagram of an audio processing unit ("APU") 210, which is another embodiment of an inventive audio processing unit. The APU 210 is a legacy decoder that is not configured to perform eSBR processing. Any of the components or elements 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., an ASIC, FPGA, or other integrated circuit). The APU 210 includes a buffer memory 201, a bitstream payload deformatter (parser) 215, an audio decode subsystem 202 (sometimes referred to as a "core" decode stage or "core" decode subsystem), and an SBR processing stage 213, connected as shown. Typically, the APU 210 also includes other processing elements (not shown). The APU 210 may represent, for example, an audio encoder, decoder, or transcoder.

[0053] Elements 201 and 202 of APU 210 are the same as the like-numbered elements of decoder 200 (of FIG. 3) and their descriptions above will not be repeated. In operation of APU 210, a series of blocks of an encoded audio bitstream (an MPEG-4 AAC bitstream) received by APU 210 are asserted from buffer 201 to deformatter 205.

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

[0055] The audio decoding subsystem 202 of the APU 210 is configured to decode the audio data extracted by the deformatter 215 (such decoding may be referred to as the "core" decoding process) to generate decoded audio data, and to assert the decoded audio data to the SBR processing stage 213. This decoding is performed in the frequency domain. Typically, the final stage of processing in the subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data, such that the output of the subsystem 202 is time domain decoded audio data. Stage 213 applies the SBR tools (but not the eSBR tools) indicated by the SBR metadata (extracted by the deformatter 215) to the decoded audio data (i.e., performs SBR processing on the output of the decoding subsystem 202 using the SBR metadata) to generate the fully decoded audio data that is output from the APU 210 (e.g., to the post-processor 300). Typically, APU 210 includes a memory (accessible by subsystem 202 and stage 213) that stores the deformatted audio data and metadata output from deformatter 215, with stage 213 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 as post-processing on the output of core decode subsystem 202. Optionally, APU 210 also includes a final upmixing subsystem (which may apply parametric stereo ("PS") tools defined in the MPEG-4 AAC standard using the PS metadata extracted by deformatter 205) coupled and configured to perform upmixing on the output of stage 213 to generate fully decoded and upmixed audio output from APU 210. Alternatively, a post-processor is configured to perform upmixing on the output of APU 210 (e.g., using PS metadata extracted by deformatter 215 and / or control bits generated by APU 210).

[0056] Various implementations of the encoder 100, the decoder 200, and the APU 210 may be configured to perform different embodiments of the inventive method.

[0057] According to some embodiments, eSBR metadata is included in an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream) (e.g., a small number of control bits that are eSBR metadata are included), but legacy decoders (which are not configured to parse the eSBR metadata or use the eSBR tools to which the eSBR metadata pertains) are able to ignore the eSBR metadata and are nevertheless able to decode the bitstream to the extent possible without the use of the eSBR metadata or the eSBR tools to which the eSBR metadata pertains, typically without a significant penalty in decoded audio quality. On the other hand, eSBR decoders configured to parse the bitstream to identify eSBR metadata and to use at least one eSBR tool in response to the eSBR metadata will benefit from the use of at least one such eSBR tool. Thus, embodiments of the invention provide a means of efficiently transmitting enhanced spectral band replication (eSBR) control data or metadata in a backward compatible manner.

[0058] Typically, the eSBR metadata in the bitstream indicates (e.g., indicates at least one characteristic or parameter of) one or more of the following eSBR tools (which are described in the MPEG USAC standard and may or may not be applied by an encoder during generation of the bitstream): Harmonic transposition, and -Additional pre-processing (pre-flattening) via QMF patching.

[0059] For example, eSBR metadata included in the bitstream may indicate values ​​for the following parameters (described in the MPEG USAC standard and in this disclosure): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch], and bs_sbr_preprocessing.

[0060] Here, the notation X[ch] denotes that X is some parameter that relates to a channel ("ch") of the audio content of the coded bitstream to be decoded. For simplicity, the notation [ch] may be omitted and it may be assumed that the parameter relates to a channel of the audio content.

[0061] Here, the notation X[ch][env], where X is some parameter, denotes that the parameter relates to the SBR envelope ("env") of a channel ("ch") of the audio content of the coded bitstream to be decoded. For simplicity, the notations [env] and [ch] may be omitted and it may be assumed that the parameter relates to the SBR envelope of a channel of the audio content.

[0062] During decoding of an encoded bitstream, the performance of harmonic transposition during the eSBR processing stage of the decoding (for each channel "ch" of the audio content represented by the bitstream) is controlled by the eSBR metadata parameters sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBinsFlag[ch], and sbrPitchInBins[ch].

[0063] The value "sbrPatchingMode[ch]" indicates the transposer type used for eSBR, where sbrPatchingMode[ch]=1 indicates linear transposition patching (used with either high quality SBR or low power SBR) as described in section 4.6.18 of the MPEG-4 AAC standard, and sbrPatchingMode[ch]=0 indicates harmonic SBR patching as described in sections 7.5.3 or 7.5.4 of the MPEG USAC standard.

[0064] The value "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 transposer, with 1 indicating that signal adaptive frequency domain oversampling is enabled as described in section 7.5.3.1 of the MPEG USAC Standard, and 0 indicating that signal adaptive frequency domain oversampling is disabled as described in section 7.5.3.1 of the MPEG USAC Standard.

[0065] The value "sbrPitchInBinsFlag[ch]" controls the interpretation of the sbrPitchInBins[ch] parameter, with 1 indicating that the value of sbrPitchInBins[ch] is valid and greater than zero, and 0 indicating that the value of sbrPitchInBins[ch] is set to zero.

[0066] The value "sbrPitchInBins[ch]" controls the addition of cross product terms in the SBR harmonic transposer. The value sbrPitchinBins[ch] is an integer value in the range [0,127] and represents the distance measured in frequency bins of a 1536-line DFT acting on the sampling frequency of the core coder.

[0067] If an MPEG-4 AAC bitstream indicates an SBR channel pair whose channels are not combined (rather than a single SBR channel), then the bitstream indicates two instances of the above syntax (for harmonic transposition or non-harmonic transposition), one for each channel in the sbr_channel_pair_element().

[0068] The harmonic transposition of the eSBR tool typically improves the quality of the decoded music signals at relatively low crossover frequencies. Non-harmonic transposition (i.e., legacy spectral patching) typically improves the quality of the voice (speech) signals. Thus, the starting point in deciding which type of transposition is preferred for encoding a particular audio content is to select the transposition method depending on the voice / music detection, with harmonic transposition being used for music content and spectral patching being used for voice content.

[0069] The performance of pre-flattening in eSBR processing is controlled by the value of a one-bit eSBR metadata parameter known as "bs_sbr_preprocessing" (in the sense that pre-flattening is either performed or not, 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 post-pre-flattening step may be performed (as indicated by the "bs_sbr_preprocessing" parameter) as part of an effort to avoid discontinuities in the shape of the spectral envelope of the high-frequency signal input to the subsequent envelope adjuster (which performs another stage of eSBR processing). Pre-flattening typically improves the processing of the subsequent envelope adjustment stage, resulting in a high-band signal that is perceived as more stable.

[0070] The overall bitrate requirement for including eSBR metadata indicating the above-mentioned eSBR tools (harmonic transposition and pre-flattening) in an MPEG-4 AAC bitstream is expected to be on the order of a few hundred bits per second, since, according to some embodiments of the invention, only the differential control data required to perform the eSBR processing is transmitted. This information is included in a backwards-compatible manner (as described below), so that legacy decoders can ignore it. Thus, the negative bitrate impact of including the eSBR metadata is negligible for several reasons, including the following: Since only the differential control data required to perform the eSBR processing is transmitted (rather than simultaneous transmission of SBR control data), the bitrate penalty (due to the inclusion of eSBR metadata) is a small fraction of the overall bitrate; and Tuning of SBR-related control information is typically independent of the details of the transposition. Examples of cases where the control data depends on the operation of the transposer are described later in this application.

[0071] Thus, embodiments of the invention provide a means of efficiently transmitting enhanced spectral band replication (eSBR) control data or metadata in a backwards-compatible manner. This efficient transmission of eSBR control data reduces memory requirements in decoders, encoders, and transcoders employing aspects of the invention without having a visible adverse effect on bitrate. Furthermore, the complexity and processing requirements associated with performing eSBR in accordance with embodiments of the invention are also reduced because SBR data only needs to be processed once (rather than simultaneously transmitted, as would be the case if eSBR were treated as an entirely separate object type in MPEG-4 AAC, instead of being integrated into the MPEG-4 AAC codec in a backwards-compatible manner).

[0072]

[0046] Referring now to Figure 7, elements of an MPEG-4 AAC bitstream block ("raw_data_block") into which eSBR metadata may be included in accordance with some embodiments of the present invention will be described. Figure 7 is a diagram of an MPEG-4 AAC bitstream block ("raw_data_block") showing a portion of a segment thereof.

[0073] A block of an MPEG-4 AAC bitstream may contain at least one "single_channel_element()" (e.g., the single channel element shown in FIG. 7) and / or at least one "channel_pair_element()" (not specifically shown in FIG. 7, but which may be present) that contain audio data for an audio program. The block may also contain multiple "filler elements" (e.g., filler element 1 and / or filler element 2 in FIG. 7) that contain data (e.g., metadata) related to the program. Each "single_channel_element()" may contain an identifier (e.g., "ID1" in FIG. 7) that indicates the beginning of a single channel element and may contain audio data that indicates different channels of a multi-channel audio program. Each "channel_pair_element()" may contain an identifier (not shown in FIG. 7) that indicates the beginning of a channel pair element and may contain audio data that indicates two channels of the program.

[0074] A fill_element (herein referred to as a fill element) in an MPEG-4 AAC bitstream includes an identifier ("ID2" in FIG. 7) indicating the beginning of the fill element, followed by fill data. The identifier ID2 may consist of a 3-bit unsigned integer with a value of 0x6, transmitted most significant bit first ("uimsbf"). The fill data may include an extension_payload() element (herein also referred to as an extension payload), the syntax of which is shown in Table 4.57 of the MPEG-4 AAC standard. There are several types of extension payloads, identified via the "extension_type" parameter, which is a 4-bit unsigned integer transmitted most significant bit first ("uimsbf").

[0075] The filling data (e.g., its extension payload) may include a header or identifier (e.g., "Header 1" in FIG. 7) that indicates a segment of the filling data that indicates an SBR object (i.e., the header begins 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 with a value of '1101' or '1110' in the extension_type field in the header, with the identifier '1101' identifying an extension payload with SBR data and '1110' identifying an extension payload with SBR data with a cyclic redundancy check (CRC) that verifies the accuracy of the SBR data.

[0076] When a header (e.g., the extension_type field) initiates an SBR object type, the header is followed by SBR metadata (called "sbr_data()" in the MPEG-4 AAC standard and sometimes referred to herein as "spectral band replication data"), which may then be followed by at least one spectral band replication extension element (e.g., the "SBR extension element" of filler element 1 in FIG. 7). Such a spectral band replication extension element (a segment of a bitstream) is called an "sbr_extension()" container in the MPEG-4 AAC standard. A spectral band replication extension element optionally includes a header (e.g., the "SBR extension header" of filler element 1 in FIG. 7).

[0077] The MPEG-4 AAC standard contemplates that a spectral band replication extension element may contain PS (parametric stereo) data for the audio data of a program. The MPEG-4 AAC standard contemplates that when a filler element's header (e.g., its extension payload header) begins an SBR object type (as does "Header 1" in FIG. 7) and the filler element's spectral band replication extension element contains PS data, the filler element (e.g., its extension payload) contains the spectral band replication data and a "bs_extension_id" parameter with a value indicating that PS data is contained in the filler element's spectral band replication extension element (i.e., bs_extension_id=2).

[0078] According to some embodiments of the invention, eSBR metadata (e.g. a flag indicating whether enhanced spectral band replication (eSBR) processing should be performed on the audio content of the block) is included in a spectral band replication extension element of a filler element. For example, such a flag is shown in filler element 1 of FIG. 7, where it occurs after the header of the "SBR extension element" of filler element 1 ("SBR extension header" of filler element 1). Optionally, such a flag and additional eSBR metadata are included in a spectral band replication extension element after the header of the spectral band replication extension element (e.g. SBR extension element of filler element 1 after the SBR extension header in FIG. 7). According to some embodiments of the invention, a filler element including eSBR metadata also includes a "bs_extension_id" parameter with a value (e.g. bs_extension_id=3) indicating that the filler element includes eSBR metadata and that eSBR processing should be performed on the audio content of the block.

[0079] According to some embodiments of the present invention, eSBR metadata is included in a filler element (e.g., filler element 2 in FIG. 7) of an MPEG-4 AAC bitstream other than the filler element's Spectral Band Replication extension element (SBR extension element). This is because a filler element containing an extension_payload() with SBR data or SBR data with a CRC does not contain any other extension payload of other extension types. Thus, 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 (e.g., "ID2" in FIG. 7) that indicates the beginning of the filler element, followed by the filler data. The filler data may include an extension_payload() element (sometimes referred to herein as the extension payload), the syntax of which is shown in Table 4.57 of the MPEG-4 AAC standard. The filler data (e.g., its extended payload) includes a header (e.g., "Header 2" of filler element 2 of FIG. 7) indicating an eSBR object (i.e., this header starts the enhanced spectral band replication (eSBR) object type), and the filler data (e.g., its extended payload) includes eSBR metadata after the header. For example, filler element 2 of FIG. 7 includes such a header ("Header 2") and also includes eSBR metadata after the header (i.e., a "flag" in filler element 2 that indicates whether enhanced spectral band replication (eSBR) processing should be performed on the audio content of the block). Optionally, additional eSBR metadata is also included in the filler data of filler element 2 of FIG. 7 after Header 2. In the embodiment described in this paragraph, the header (e.g., Header 2 in FIG. 7) has an identification value that is not one of the conventional values ​​specified in Table 4.57 of the MPEG-4 AAC standard, and instead indicates an eSBR extension payload (such that the extension_type field of the header indicates that the filling data contains eSBR metadata).

[0080] In a first class of embodiments, the invention is an audio processing unit (e.g. a decoder), the audio processing unit comprising: a memory (e.g., buffer 201 of FIG. 3 or FIG. 4 ) configured to store at least one block of an encoded audio bitstream (e.g., at least one block of an MPEG-4 AAC bitstream); a bitstream payload deformatter (e.g., element 205 of FIG. 3 or element 215 of FIG. 4 ) coupled to the memory and configured to demultiplex at least a portion of the block of the bitstream; a decoding subsystem (e.g., elements 202 and 203 of FIG. 3 or elements 202 and 213 of FIG. 4 ) coupled and configured to decode at least a portion of the audio content of said block of the bitstream, said block comprising: a filler element, the filler element including an identifier indicating the beginning of the filler element (e.g., the "id_syn_ele" identifier having the value 0x6 of table 4.85 of the MPEG-4 AAC standard) and filler data following the identifier; At least one flag that specifies whether enhanced spectral band replication (eSBR) processing should be performed on the audio content of the block (e.g., using the spectral band replication data and eSBR metadata included in the block); and Includes.

[0081] This flag is eSBR metadata, and an example of a flag is the sbrPatchingMode flag. Another example of a flag is the harmonicSBR flag. Both of these flags indicate whether a basic or enhanced form of spectral band replication should be performed on the block's audio data. The basic form of spectral band replication is spectral patching, and the enhanced form of spectral band replication is harmonic transposition.

[0082] In some embodiments, the fill data also includes additional eSBR metadata (ie, eSBR metadata other than the flags described above).

[0083] The memory may be a buffer memory (eg, an implementation of buffer 201 of FIG. 4) that stores (eg, non-temporarily) at least one block of the encoded audio bitstream.

[0084] It is estimated that the complexity of performing eSBR processing (with eSBR harmonic transposition and pre-flattening) by an eSBR decoder during decoding of an MPEG-4 AAC bitstream containing eSBR metadata (pointing to these eSBR tools) is the following (for a typical decoding with the pointed-to parameters): Harmonic transposition (16kbps, 14400 / 28800Hz) DFT-based: 3.68 WMOPS (weighted million operations per second) 〇 QMF base: 0.98 WMOPS QMF patching pre-processing (pre-flattening): 0.1 WMOPS It is known that DFT-based transposition typically performs better than QMF-based transposition for transient signals.

[0085] According to some embodiments of the invention, a filler element (of a coded audio bitstream) containing eSBR metadata also contains a parameter (e.g., a "bs_extension_id" parameter) whose value signals that the filler element contains eSBR metadata and that eSBR processing should be performed on the audio content of the block (e.g., bs_extension_id=3) and / or a parameter (e.g., the same "bs_extension_id" parameter) whose value signals that the sbr_extension() container of the filler element contains PS data (e.g., bs_extension_id=2). For example, as shown in Table 1 below, having such a parameter with a value of bs_extension_id=2 may signal that the sbr_extension() container of the filler element contains PS data, and having such a parameter with a value of bs_extension_id=3 may signal that the sbr_extension() container of the filler element contains eSBR metadata. [Table 1]

[0086] According to some embodiments of the invention, the syntax of each spectral band replication extension element containing eSBR metadata and / or PS data is as shown in Table 2 below (where "sbr_extension()" represents a container that is a 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() referenced in Table 2 above points to values ​​for the following metadata parameters: 1. The 1-bit metadata parameter “bs_sbr_processing”, and 2. Each of the above-mentioned parameters “sbrPatchingMode[ch]”, “sbrOversamplingFlag[ch]”, “sbrPitchInBinsFlag[ch]”, and “sbrPitchInBins[ch]”, for each channel (“ch”) of the audio content of the encoded bitstream to be decoded.

[0087] 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]

[0088] The above syntax allows for efficient implementation of enhanced forms of spectral band replication, such as harmonic transposition, as an extension to legacy decoders. Specifically, the eSBR data in Table 3 includes only the parameters required to perform the enhanced forms of spectral band replication that are not already supported in the bitstream or directly derivable from parameters already supported in the bitstream. All other parameters and processing data required to perform the enhanced forms of spectral band replication are extracted from parameters that are pre-existing in predefined positions in the bitstream.

[0089] For example, an MPEG-4 HE-AAC or HE-AAC v2 compliant decoder may be extended to include an enhanced form of spectral band replication, such as harmonic transposition, in addition to the basic form of spectral band replication 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 replication is the QMF spectral patching SBR tool as specified in section 4.6.18 of the MPEG-4 AAC standard.

[0090] When performing the enhanced form of spectral band replication, the extended HE-AAC decoder may reuse many of the bitstream parameters already included in the SBR extension payload of the bitstream. Specific parameters that may be reused include, for example, various parameters that determine the master frequency band table. These parameters include bs_start_freq (a parameter that specifies the start of the master frequency table parameters), bs_stop_freq (a parameter that specifies the end of the master frequency table), bs_freq_scale (a parameter that specifies the number of frequency bands per octave), and bs_alter_scale (a parameter that alters the scale of the frequency bands). Parameters that may be reused also include parameters that determine the noise band table (bs_noise_bands) and the limiter band table (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 the control overhead in the bitstream. Typically, if a parameter specified in the AAC standard has an equivalent parameter specified in the USAC standard, the equivalent parameter specified in the USAC standard has the same name as the parameter specified in the AAC standard, e.g., envelope scalefactor EOrigMapped, but the equivalent parameter specified in the USAC standard typically has a different value that is "tuned" for the enhanced SBR process specified in the USAC standard rather than for the SBR process specified in the AAC standard.

[0091] To improve the subjective quality of audio content with harmonic frequency structure and strong tonal characteristics, especially at low bit rates, the activation of Enhanced SBR is recommended. The values ​​of the corresponding bitstream elements (i.e., esbr_data()) that control these tools can be determined at the encoder by applying a signal-dependent classification mechanism. In general, the use of the harmonic patching method (sbrPatchingMode==1) is preferred for encoding music signals at very low bit rates, in which case the core codec may be significantly limited in audio bandwidth. This is especially true if these signals contain a significant harmonic structure. In contrast, for speech and mixed signals, the use of the regular SBR patching method is preferred, since it offers a better preservation of the temporal structure in speech.

[0092] To improve the performance of the harmonic transposer, a preprocessing step (bs_sbr_preprocessing==1) can be activated that aims to avoid the introduction of spectral discontinuities in the signal entering the subsequent envelope adjuster. The operation of this tool is beneficial for signal types that exhibit large level variations, where the coarse spectral envelope of the low-band signal is used for high-frequency reconstruction.

[0093] To improve the transient response of harmonic SBR patching, signal adaptive frequency domain oversampling (sbrOversamplingFlag==1) can be applied. Since signal adaptive frequency domain oversampling increases the computational complexity of the transposer but only benefits frames containing transient content, the use of this tool is controlled by a bitstream element that is transmitted once per independent SBR channel and once per frame.

[0094] A decoder operating in the proposed enhanced SBR mode typically needs to be able to switch between legacy and enhanced SBR patching. Therefore, depending on the decoder settings, a delay may be introduced that can be as long as the duration of one core audio frame. Typically, this delay is the same for both legacy and enhanced SBR patching.

[0095] In addition to these numerous parameters, other data elements may also be reused by the enhanced HE-AAC decoder when performing enhanced forms of spectral band replication in accordance with embodiments of the invention. For example, envelope data and noise floor data may also be extracted from the bs_data_env (envelope scale factor) and bs_noise_env (noise floor scale factor) data and used during enhanced forms of spectral band replication.

[0096] Essentially, these embodiments utilize configuration parameters and envelope data already supported by legacy HE-AAC or HE-AAC v2 decoders in the SBR extension payload to enable enhanced-format spectral band duplication with as little additional transmission data as possible. Metadata originally tuned for the basic-format HFR (e.g., SBR spectral transformation operation) is used for the enhanced-format HFR (e.g., eSBR harmonic transposition) in accordance with the embodiment. As previously mentioned, the metadata generally represents operational parameters (e.g., envelope scale factor, noise floor scale factor, time / frequency grid parameters, sinusoidal summation information, variable crossover frequencies / bands, inverse filtering mode, envelope resolution, smoothing mode, frequency interpolation mode) intended and tuned for use in the basic-format HFR (e.g., linear spectral transformation). However, this metadata may be combined with additional metadata parameters specific to the enhanced-format HFR (e.g., harmonic transposition) to efficiently and effectively process audio data using the enhanced-format HFR.

[0097] Thus, by relying on already defined bitstream elements (e.g., those in the SBR extension payload) and adding only the parameters necessary to support the enhanced form of spectral band duplication, an enhanced decoder supporting the enhanced form of spectral band duplication may be created very efficiently. This data reduction feature, in combination with placing the newly added parameters in reserved data fields, such as an extension container, substantially reduces the barrier to creating a decoder supporting the enhanced form of spectral band duplication by ensuring that the bitstream is backward compatible with legacy decoders that do not support the enhanced form of spectral band duplication.

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

[0099] In some embodiments, the SBR object type defined in MPEG-4 AAC is updated to include aspects of the SBR-Tool and enhanced SBR (eSBR) tools signaled in the SBR extension element (bs_extension_id==EXTENSION_ID_ESBR). If a decoder supports and detects this SBR extension element, it uses the signaled enhanced SBR tool aspects. We refer to the SBR object type updated in this way as SBR enhancement.

[0100] In some embodiments, the invention is a method that includes encoding audio data to generate an encoded bitstream (e.g., an MPEG-4 AAC bitstream) by including eSBR metadata in at least one segment of at least one block of the encoded bitstream and including audio data in at least one other segment of the block. In an exemplary embodiment, the method includes multiplexing the audio data with the eSBR metadata in each block of the encoded bitstream. In an exemplary decoding of the encoded bitstream in an eSBR decoder, the decoder extracts the eSBR metadata from the bitstream (including by parsing and demultiplexing the eSBR metadata and the audio data) and processes the audio data with the eSBR metadata to generate a stream of decoded audio data.

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

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

[0103] In operation of the decoder 400 , a series of blocks of an encoded audio bitstream (an MPEG-4 AAC bitstream) received by the decoder 400 are asserted from the buffer 201 to the deformatter 215 .

[0104] The deformatter 215 demultiplexes each block of the bitstream and extracts therefrom the SBR metadata (including quantized envelope data) and typically other metadata as well. The deformatter 215 is configured to assert at least the SBR metadata to the eSBR processing stage 203. The deformatter 215 is also coupled and configured to extract audio data from each block of the bitstream and assert the extracted audio data to the decoding subsystem (decoding stage) 202.

[0105] 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 the "core" decoding process) to generate decoded audio data, and to assert the decoded audio data to the eSBR processing stage 203. This decoding is performed in the frequency domain. Typically, the final stage of processing in the subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data, such that the output of the subsystem 202 is time domain decoded audio data. Stage 203 applies the SBR tools (and eSBR tools) pointed to by the SBR metadata (extracted by the deformatter 215) and by the eSBR metadata generated in the subsystem 401 to the decoded audio data (i.e., performs SBR and eSBR processing on the output of the decoding subsystem 202 using the SBR and eSBR metadata) to generate the fully decoded audio data that is output from the decoder 400. Typically, decoder 400 includes a memory (accessible by subsystem 202 and stage 203) that stores the deformatted audio data and metadata output from deformatter 215 (and optionally also subsystem 401), with stage 203 configured to access the audio data and metadata as needed during SBR and eSBR processing. The SBR processing in stage 203 may be considered as post-processing on the output of core decoding subsystem 202. Optionally, decoder 400 also includes a final upmixing subsystem (which may apply parametric stereo ("PS") tools as defined in the MPEG-4 AAC standard, using the PS metadata extracted by deformatter 215) coupled and configured to perform upmixing on the output of stage 203 to generate fully decoded and upmixed audio output from decoder 400.

[0106] Parametric stereo is a coding tool that represents a stereo signal using linear downmixing of the left and right channels of the stereo signal and a set of spatial parameters that describe the stereo image. Parametric stereo typically uses three types of spatial parameters: (1) inter-channel intensity differences (IID) that describe the intensity differences between the channels, (2) inter-channel phase differences (IPD) that describe the phase differences between the channels, and (3) inter-channel coherence (ICC) that describes the coherence (or similarity) between the channels. Coherence can be measured as a maximum of cross-correlation as a function of time or phase. These three parameters generally allow a high-quality reconstruction of the stereo image. However, the IPD parameters only describe the relative phase differences between the channels of a stereo input signal, but do not indicate the distribution of these phase differences across the left and right channels. Therefore, a fourth type of parameter that describes the overall phase offset or the overall phase difference can be additionally used. In the stereo reconstruction process, successive windowed segments of both the received downmixed signal s[n] and the decorrelated version of the received downmix d[n] are processed together with the spatial parameters, l k (n)=H 11 (k,n)s k (n)+H 21 (k,n)d k (n) r k (n)=H 12 (k,n)s k (n)+H 22 (k,n)d k (n) According to the left reconstruction signal (l k (n)) and the right reconstructed signal (r k (n)) is generated, where H 11 , H 12 , H 21 and H 22is defined by the stereo parameters. k (n) and signal r k (n) is finally transformed back into the time domain by a frequency-to-time transformation.

[0107] 5 is coupled and configured to detect at least one characteristic of the encoded audio bitstream to be decoded, and to generate eSBR control data (which may be or include eSBR metadata of any of the types included in encoded audio bitstreams according to other embodiments of the invention) in response to at least one result of the detection step. The eSBR control data is asserted to stage 203 to trigger and / or control the application of individual eSBR tools or combinations of eSBR tools in response to detecting a particular characteristic (or combination of characteristics) of the bitstream. For example, to control the execution of eSBR processing with harmonic transposition, some embodiments of the control data generation subsystem 401 may include a music detector that sets a sbrPatchingMode[ch] parameter (and asserts the set parameter to stage 203) in response to detecting whether the bitstream indicates music, a transient detector that sets a sbrOversamplingFlag[ch] parameter (and asserts the set parameter to stage 203) in response to detecting the presence or absence of a transient component in the audio content indicated by the bitstream, and / or a pitch detector that sets sbrPitchInsFlag[ch] and sbrPitchIns[ch] parameters (and asserts the set parameter to stage 203) in response to detecting the pitch of the audio content indicated by the bitstream. Another aspect of the invention is an audio bitstream decoding method performed by any of the embodiments of the inventive decoders described in this and the previous paragraphs.

[0108] Aspects of the invention include encoding or decoding methods of the type that any embodiment of an invention APU, system or device is configured (e.g., programmed) to perform. Other aspects of the invention include systems or devices configured (e.g., programmed) to perform any embodiment of an invention method, as well as computer readable media (e.g., disks) that store (e.g., non-transitory) code for implementing any embodiment of an invention method or steps thereof. For example, an invention system can be or include a programmable general-purpose processor, digital signal processor, or microprocessor that is programmed with software or firmware or otherwise configured to perform any of a variety of operations on data, including an embodiment of an invention method or steps thereof. Such a general-purpose processor can be or include a computer system that includes an input device, a memory, and processing circuitry that is programmed (and / or otherwise configured) to perform an embodiment of an invention method (or steps thereof) in response to data asserted thereto.

[0109] Embodiments of the present invention may be implemented in hardware, firmware, or software, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the algorithms or processes included as part of the invention are not inherently related to a particular computer or other apparatus. In particular, various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus (e.g., integrated circuits) to perform the required method steps. Thus, the invention may be implemented in one or more computer programs executing on one or more programmable computer systems (e.g., an implementation of any of the elements of FIG. 1, or the encoder 100 (or elements thereof) of FIG. 2, or the decoder 200 (or elements thereof) of FIG. 3, or the decoder 210 (or elements thereof) of FIG. 4, or the decoder 400 (or elements thereof) of FIG. 5, each having 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 input data to perform the functions described herein and generate output information. The output information is provided to one or more output devices, in known fashion.

[0110] Each such program may be implemented in any desired computer language to communicate with a computer system, including machine language, assembly language, or a higher level procedural, logical, or object-oriented programming language, and in any case, the language may be a compiled or interpreted language.

[0111] For example, when implemented by computer software instruction sequences, various functions and steps of embodiments of the invention may be implemented by multi-threaded software instruction sequences running on suitable digital signal processing hardware, in which case various units, steps and functions of the embodiments may correspond to portions of the software instructions.

[0112] Each such computer program is preferably stored or downloaded onto a general purpose or special purpose programmable computer readable storage medium or storage device (e.g., solid state memory or media, or magnetic or optical media) and, when the storage medium or storage device is read by a computer system, configures and operates the computer to perform the procedures described herein. The inventive system may also be implemented as a computer readable storage medium configured with (i.e., having stored thereon) a computer program, the storage medium so configured causing the computer system to operate in a particular predetermined manner to perform the functions described herein.

[0113] Numerous embodiments of the invention have been described. However, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Numerous modifications and variations of the present invention are possible in light of the above teachings. For example, a phase shift may be used in combination with a complex QMF analysis and synthesis filter bank to aid in efficient implementation. The analysis filter bank is responsible for filtering the time domain low band signal generated by the core decoder into multiple sub-bands (e.g., QMF sub-bands). The synthesis filter bank is responsible for combining the regenerated high band generated by the selected HFR technique (indicated by the received sbrPatchingMode parameter) with the decoded low band to generate a wideband output audio signal. A given filter bank implementation operating in a particular sample rate mode, such as normal dual rate operation or downsampled SBR mode, should not have a bitstream dependent phase shift, however. The QMF bank used in SBR is a complex exponential extension of the cosine modulated filter bank theory. It can be shown that when extending the cosine modulated filter bank with complex exponential modulation, the alias cancellation constraint is not used. Therefore, in the SBR QMF bank, the analysis filter h k (n) and synthesis filter f k (n)

number

[0114] Coefficients of the prototype filter p 0 The coefficients of (n) may be defined as the 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] Prototype filter p 0 (n) may also be derived from Table 4 by one or more mathematical operations, such as rounding, subsampling, interpolation, and decimation.

[0115] Although tuning of SBR-related control information is typically independent of the details of the transposition (as described above), in some embodiments, certain elements of the control data may be co-transmitted within the eSBR extension container (bs_extension_id==EXTENSION_ID_ESBR) to improve the quality of the regenerated signal. Some of the co-transmitted elements may include noise floor data (e.g., noise floor scale factor and parameters indicating the direction in either frequency or time of delta coding for each noise floor), inverse filtering data (e.g., parameters indicating an inverse filtering mode selected from no inverse filtering, low level inverse filtering, medium level inverse filtering, and strong level inverse filtering), and missing harmonics data (e.g., parameters indicating whether a sinusoid should be added to a particular frequency band of the regenerated high band). All of these elements rely on the synthetic emulation of the decoder's transposer performed in the encoder, and thus may improve the quality of the regenerated signal if properly adjusted for the selected transposer.

[0116] Specifically, in some embodiments, missing harmonics and inverse filtering control data are transmitted in the eSBR extension container (along with other bitstream parameters in Table 3) and adjusted for the eSBR harmonic transposer. The additional bitrate required to transmit these two classes of metadata for the eSBR harmonic transposer is relatively low. Thus, sending the adjusted missing harmonics and / or inverse filtering control data in the eSBR extension container will increase the quality of the audio generated by the transposer with minimal impact on the bitrate. To ensure backward compatibility with legacy decoders, the adjusted parameters for the SBR spectral conversion process may also be sent in the bitstream as part of the SBR control data using either implicit or explicit signaling.

[0117] The complexity of a decoder with the SBR enhancements described in this application must be limited so as not to significantly increase the overall computational complexity of the implementation. Preferably, the PCU (MOP) for SBR object types is 4.5 or less when using the eSBR tool, and the RCU for SBR object types is 3 or less when using the eSBR tool. Approximate processing power is given in Processor Complexity Units (PCU) defined as an integer number of MOPS. Approximate RAM usage is given in RAM Complexity Units (RCU) defined as an integer number of kWords (thousands of words). The RCU number does not include a work buffer that can be shared between different objects and / or channels. Also, PCU is proportional to the sampling frequency. PCU values ​​are given in MOPS (Million Operations per Second) per channel, and RCU values ​​are given in kWords per channel.

[0118] Special care is needed for compressed data, such as HE-AAC encoded audio, which can be decoded by different decoder configurations. In this case, the decoding can be done backwards compatible (AAC only) and enhanced (AAC+SBR). If the compressed data allows both backwards compatible and enhanced decoding, and the decoder is operating in an enhanced manner, such as using a post-processor that inserts some additional delay (e.g., the SBR post-processor in HE-AAC), it must ensure that this additional time delay, which occurs for the backwards compatible mode, described by the corresponding value of n, is taken into account when presenting the synthesis unit. To ensure that the synthesis timestamps are handled correctly (so that the audio remains synchronized with other media), the additional delay introduced by the post-processing, given in number of samples (per audio channel) at the output sample rate, is 3010 when the decoder operation mode includes the SBR enhancements (including eSBR) described in this application. Thus, in an audio synthesis unit, when the decoder operating mode includes the SBR enhancements described in this application, the synthesis time is applied to the 3011th audio sample in the synthesis unit.

[0119] To improve the subjective quality of audio content with harmonic frequency structure and strong tonal characteristics, especially at low bitrates, Enhanced SBR should be activated. The values ​​of the corresponding bitstream elements (i.e., esbr_data()) that control those tools can be determined at the encoder by applying a signal-dependent classification mechanism.

[0120] In general, the use of the harmonic patching method (sbrPatchingMode==0) is preferred for encoding music signals at very low bit rates, where the core codec may be significantly limited in audio bandwidth. This is especially true if these signals contain significant harmonic structure. In contrast, for speech and mixed signals, the use of the regular SBR patching method is preferred, since it offers a better preservation of the temporal structure in speech.

[0121] To improve the performance of the harmonic transposer, a preprocessing step (bs_sbr_preprocessing==1) can be activated that avoids the introduction of spectral discontinuities in the signal entering the subsequent envelope adjuster. The operation of this tool is beneficial for signal types that exhibit large level variations, where the coarse spectral envelope of the low-band signal is used for high-frequency reconstruction.

[0122] To improve the transient response of harmonic SBR patching (sbrPatchingMode==0), signal-adaptive frequency-domain oversampling (sbrOversamplingFlag==1) can be applied. Since signal-adaptive frequency-domain oversampling increases the computational complexity of the transposer but only benefits frames containing transient content, the use of this tool is controlled by a bitstream element that is transmitted once per independent SBR channel and once per frame.

[0123] Typical bitrate setting recommendations for HE-AACv2 with SBR enhancement (i.e. enabling the harmonic transposer of the eSBR tool) correspond to 20-32 kbps for stereo audio content with sampling rates of either 44.1 kHz or 48 kHz. The relative subjective quality gain of SBR enhancement increases towards the lower bitrate boundary, and a properly configured encoder allows this range to be extended to even lower bitrates. The bitrates presented above are only recommendations and can be adapted to specific service requirements.

[0124] A decoder operating in the proposed enhanced SBR mode typically needs to be able to switch between legacy and enhanced SBR patching. Therefore, depending on the decoder settings, a delay may be introduced that can be as long as the duration of one core audio frame. Typically, this delay is the same for both legacy and enhanced SBR patching.

[0125] It is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein. Any reference signs included in the following claims are for illustrative purposes only and should not be used to interpret or limit the claims in any way.

[0126] Various aspects of the present invention can be understood from the following enumerated example embodiments (EEE).

[0127] EEE1. A method for performing high frequency reconstruction of an audio signal, the method comprising: receiving an encoded audio bitstream, the encoded audio bitstream including audio data representative of a low-band portion of the audio signal and high-frequency reconstruction metadata; Decoding the audio data to generate a decoded lowband audio signal; extracting the high frequency reconstruction metadata from the encoded audio bitstream, the high frequency reconstruction metadata including operational parameters for a high frequency reconstruction process, the operational parameters including a patching mode parameter placed in a backward compatible extension container of the encoded audio bitstream, a first value of the patching mode parameter indicating a spectral transformation and a second value of the patching mode parameter indicating a harmonic transposition by phase vocoder frequency spreading; filtering the decoded low-band audio signal to generate a filtered low-band audio signal; regenerating a highband portion of the audio signal using the filtered lowband audio signal and the high frequency reconstruction metadata, the regenerating comprising a spectral transformation when the patching mode parameter is at the first value, and the regenerating comprising a harmonic transposition with phase vocoder frequency spreading when the patching mode parameter is at the second value; combining the filtered lowband audio signal with the regenerated highband portion to form a wideband audio signal. Having said that, the filtering, regenerating and combining are performed as post-processing operations with a delay of no more than 3010 samples per audio channel, and the spectral transformation comprises maintaining a ratio between tonal and noise-like components by adaptive inverse filtering. method.

[0128] EEE2. The method of EEE1, wherein the encoded audio bitstream further includes a filler element having an identifier indicating a start of the filler element and filler data following the identifier, the filler data including the backward compatible extension container.

[0129] EEE3. The method of EEE2, wherein the identifier is a 3-bit unsigned integer with the most significant bit transmitted first and having a value of 0x6.

[0130] EEE4. said filler data comprises an extended payload, said extended payload comprising spectral band replication extended data, said extended payload being identified by a 4-bit unsigned integer transmitted most significant bit first and having a value of '1101' or '1110'; Optionally, said spectral band replication extension data comprises: Optional Spectral Band Replication Header; spectral band replica data following said header; a spectral band duplication extension element following the spectral band duplication data, the spectral band duplication extension element including a flag; Including, Method EEE2 or 3.

[0131] EEE5. The method of any one of EEE1 to EEE4, wherein the high frequency reconstruction metadata includes parameters indicating envelope scale factors, noise floor scale factors, time / frequency grid information, or crossover frequencies.

[0132] EEE6. The method of any one of EEE1 to EEE5, wherein the backward compatible extension container further includes a flag indicating whether additional pre-processing is used to avoid discontinuities in the shape of the spectral envelope of the highband portion when the patching mode parameter is equal to the first value, a first value of the flag enabling the additional pre-processing and a second value of the flag disabling the additional pre-processing.

[0133] EEE7. The method of EEE6, wherein the additional pre-processing includes calculating a pre-gain curve using linear prediction filter coefficients.

[0134] EEE8. The method of any one of EEE1 to EEE5, wherein the backward compatible extension container further includes a flag indicating whether signal adaptive frequency domain oversampling should be applied when the patching mode parameter is equal to the second value, a first value of the flag enabling the signal adaptive frequency domain oversampling and a second value of the flag disabling the signal adaptive frequency domain oversampling.

[0135] EEE9. The method of EEE8, wherein the signal adaptive frequency domain oversampling is applied only to frames containing transient signals.

[0136] EEE10. The method of any one of EEE1 to EEE9, wherein said harmonic transposition with phase vocoder frequency spreading is performed with an estimated complexity of 4.5 million operations per second and 3k words of memory or less.

[0137] EEE11. A non-transitory computer readable medium containing instructions that, when executed by a processor, perform any one of the methods EEE1-10.

[0138] EEE12. A computer program product having instructions which, when executed by a computing device or system, cause the computing device or system to perform any one of the methods of EEE1 to EEE10.

[0139] EEE13. An audio processing unit for performing high frequency reconstruction of an audio signal, the audio processing unit comprising: an input interface for receiving an encoded audio bitstream, the encoded audio bitstream including audio data representative of a low-band portion of the audio signal and high-frequency reconstruction metadata; a core audio decoder for decoding the audio data to generate a decoded lowband audio signal; a deformatter for extracting the high frequency reconstruction metadata from the encoded audio bitstream, the high frequency reconstruction metadata including operational parameters for a high frequency reconstruction process, the operational parameters including a patching mode parameter placed in a backwards compatible extension container of the encoded audio bitstream, a first value of the patching mode parameter indicating a spectral transformation and a second value of the patching mode parameter indicating a harmonic transposition by phase vocoder frequency spreading; an analysis filterbank for filtering the decoded lowband audio signal to generate a filtered lowband audio signal; a high frequency regenerator for reconstructing a high frequency portion of the audio signal using the filtered low frequency audio signal and the high frequency reconstruction metadata, the reconstructing comprising a spectral transformation when the patching mode parameter is at the first value, and the reconstructing comprising a harmonic transposition with phase vocoder frequency spreading when the patching mode parameter is at the second value; a synthesis filterbank for combining the filtered lowband audio signal with the regenerated highband portion to form a wideband audio signal; having the analysis filter bank, the high frequency regenerator and the synthesis filter bank are implemented in a post-processor with a delay of less than or equal to 3010 samples per audio channel, and the spectral transformation comprises maintaining the ratio between tonal and noise-like components by adaptive inverse filtering. Audio processing unit.

[0140] EEE14. An audio processing unit of EEE13, wherein said harmonic transposition with phase vocoder frequency spreading is performed with an estimated complexity of 4.5 million operations per second and 3k words of memory or less.

Claims

1. 1. A method for performing high frequency reconstruction of an audio signal, the method comprising the steps of: receiving an encoded audio bitstream, the encoded audio bitstream comprising audio data representative of a low-band portion of the audio signal and high-frequency reconstruction metadata, the encoded audio bitstream further comprising a filler element, the filler element having an identifier indicating a beginning of the filler element and filler data following the identifier, the identifier being a 3-bit unsigned integer transmitted most significant bit first and having a value of 0x6; Decoding the audio data to generate a decoded lowband audio signal; extracting the high frequency reconstruction metadata from the encoded audio bitstream, the high frequency reconstruction metadata including operational parameters for a high frequency reconstruction process, the operational parameters including a patching mode parameter placed in a backward compatible extension container of the encoded audio bitstream, a first value of the patching mode parameter indicating a spectral transformation and a second value of the patching mode parameter indicating a harmonic transposition by phase vocoder frequency spreading, the filling data including the backward compatible extension container; filtering the decoded low-band audio signal to generate a filtered low-band audio signal; regenerating a highband portion of the audio signal using the filtered lowband audio signal and the high frequency reconstruction metadata, the regenerating comprising a spectral transformation when the patching mode parameter is at the first value, and the regenerating comprising a harmonic transposition with phase vocoder frequency spreading when the patching mode parameter is at the second value. Having said that, the filtering and the regenerating are performed as post-processing operations with a delay of 3010 samples per audio channel, and the spectral transformation comprises preserving the ratio between tonal and noise-like components by adaptive inverse filtering. method.

2. 2. The method of claim 1, wherein the backward compatible extension container further includes a flag indicating whether additional pre-processing is used to avoid discontinuities in the shape of the spectral envelope of the highband portion when the patching mode parameter is equal to the first value, a first value of the flag enabling the additional pre-processing and a second value of the flag disabling the additional pre-processing.

3. The method of claim 2 , wherein the additional pre-processing includes calculating a pre-gain curve using linear prediction filter coefficients.

4. 2. The method of claim 1, wherein the backward compatible extension container further includes a flag indicating whether signal adaptive frequency domain oversampling should be applied when the patching mode parameter is equal to the second value, a first value of the flag enabling the signal adaptive frequency domain oversampling and a second value of the flag disabling the signal adaptive frequency domain oversampling.

5. The method of claim 4 , wherein the signal adaptive frequency domain oversampling is applied only to frames containing transient signals.

6. 2. The method of claim 1, wherein the harmonic transposition with phase vocoder frequency spreading is performed with an estimated complexity of less than 4.5 million operations per second and less than 3k words of memory.

7. 13. A non-transitory computer readable medium containing instructions that, when executed by a processor, perform the method of claim 1.

8. 13. A computer program stored on a non-transitory computer readable medium having instructions which, when executed by a computing device or system, cause the computing device or system to perform the method of claim 1.

9. An audio processing unit for performing a high frequency reconstruction of an audio signal, the audio processing unit comprising: an input interface for receiving an encoded audio bitstream, the encoded audio bitstream comprising audio data representative of a low-band portion of the audio signal and high-frequency reconstruction metadata, the encoded audio bitstream further comprising filler elements having an identifier indicating a beginning of the filler element and filler data following the identifier, the identifier being a 3-bit unsigned integer transmitted most significant bit first and having a value of 0x6; a core audio decoder for decoding the audio data to generate a decoded lowband audio signal; a deformatter for extracting the high frequency reconstruction metadata from the encoded audio bitstream, the high frequency reconstruction metadata including operational parameters for a high frequency reconstruction process, the operational parameters including a patching mode parameter placed in a backward compatible extension container of the encoded audio bitstream, a first value of the patching mode parameter indicating a spectral transformation and a second value of the patching mode parameter indicating a harmonic transposition by phase vocoder frequency spreading, and the filling data including the backward compatible extension container; an analysis filterbank for filtering the decoded lowband audio signal to generate a filtered lowband audio signal; a high frequency regenerator for reconstructing a high frequency portion of the audio signal using the filtered low frequency audio signal and the high frequency reconstruction metadata, the reconstructing comprising a spectral transformation when the patching mode parameter is at the first value, and the reconstructing comprising a harmonic transposition with phase vocoder frequency spreading when the patching mode parameter is at the second value; having the analysis filterbank and the high frequency regenerator are implemented in a post-processor with a delay of 3010 samples per audio channel, and the spectral transformation comprises maintaining the ratio between tonal and noise-like components by adaptive inverse filtering. Audio processing unit.

Citation Information

Patent Citations

  • Speech coder and method, speech decoder and method, speech band spreading apparatus and method

    JP2010020251A

  • Audio signal synthesizer and audio signal encoder

    JP2011527447A

  • Bandwidth expansion coding device, bandwidth expansion decoding device, and phase vocoder

    JP2012531632A

  • Improvement of harmonic transposition based on subbandblocking

    JP2013516652A

  • Apparatus and method for improved amplitude response and temporal alignment in a bandwidth expansion method based on a phase vocoder for audio signals.

    JP2013521536A