METHOD FOR ENCODING A LOW-FREQUENCY EFFECTS CHANNEL (LFE) AND METHOD FOR DECODING A LOW-FREQUENCY EFFECTS CHANNEL (LFE) BIT STREAM

BR122026015599A2Pending Publication Date: 2026-09-08
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR122026015599
Authority / Receiving Office
BR · BR
Patent Type
Applications
Publication Date
2026-09-08

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

1 / 28 “METHOD FOR ENCODING A LOW-FREQUENCY EFFECTS CHANNEL (LFE) AND METHOD FOR DECODING A LOW-FREQUENCY EFFECTS CHANNEL (LFE) BIT STREAM” Split order BR112022003440-7, filed on 01 / 09 / 2020. Cross-reference to related requests

[001] This application claims priority to U.S. Provisional Patent Application No. 62 / 895,049, filed September 3, 2019, and U.S. Provisional Patent Application No. 63 / 069,420, filed August 24, 2020, each of which is incorporated by reference in its entirety. TECHNICAL FIELD

[002] The present disclosure relates generally to audio signal processing and in particular to low-frequency effects (LFE) channel processing. BACKGROUND

[003] Standardization efforts for immersive services include the development of an Immersive Voice and Audio Service (IVAS) codec for voice, multistream teleconferencing, virtual reality (VR), streaming of live and non-live user-generated content, for example. One goal of the IVAS standard is to develop a single codec with excellent audio quality, low latency, spatial audio coding support, an appropriate bitrate range, high-quality error resilience, and practical implementation complexity. To achieve this goal, it is desirable to develop an IVAS codec that can handle low-latency LFE operations on IVAS-enabled devices or any other devices capable of processing LFE signals. The LFE channel is intended for deep low-intensity sounds ranging from 20-120 Hz, and is typically sent to a loudspeaker that is designed to reproduce low-frequency audio content. Petition 870260060720, dated 06 / 22 / 2026, page 10 / 84 2 / 28 SUMMARY

[004] Implementations for a configurable low-latency LFE codec are revealed.

[005] In some implementations, a method of encoding a low-frequency effect (LFE) channel comprises: receiving, using one or more processors, a time-domain LFE channel signal; filtering, using a low-pass filter, the time-domain LFE channel signal; converting, using one or more processors, the filtered time-domain LFE channel signal into a frequency-domain representation of the LFE channel signal that includes a number of coefficients representing a frequency spectrum of the LFE channel signal; arranging, using one or more processors, coefficients in a number of subband groups corresponding to different frequency bands of the LFE channel signal; quantizing, using one or more processors, coefficients in each subband group according to a frequency response curve of the low-pass filter;To encode, using one or more processors, the quantized coefficients in each subband group using an entropy encoder tuned to the subband group; and to generate, using one or more processors, a bit stream including the encoded quantized coefficients; and to store, using one or more processors, the bit stream in a storage device or to transmit the bit stream to a downstream device.

[006] In some implementations, the quantization of the coefficients in each sub-band group additionally involves generating a scaling shift factor based on a maximum number of available quantization points and a sum of the absolute values ​​of the coefficients; and quantizing the coefficients using the scaling shift factor.

[007] In some implementations, if a quantized coefficient exceeds the maximum number of quantization points, the scaling shift factor Petition 870260060720, dated 06 / 22 / 2026, page 11 / 84 3 / 28 is reduced and the coefficients are quantized again.

[008] In some implementations, the quantization points are different for each subband group.

[009] In some implementations, the coefficients in each subband group are quantized according to a fine quantization scheme or a coarse quantization scheme, wherein with the fine quantization scheme more quantization points are allocated to one or more subband groups than are assigned to the respective subband groups according to the coarse quantization scheme.

[010] In some implementations, sign bits for the coefficients are encoded separately from the coefficients.

[011] In some implementations, there are four subband groups, and a first subband group corresponds to a first frequency range of 0-100 Hz, a second subband group corresponds to a second frequency range of 100-200 Hz, a third subband group corresponds to a third frequency range of 200-300 Hz, and a fourth subband group corresponds to a fourth frequency range of 300-400 Hz.

[012] In some implementations, the entropy encoder is an arithmetic entropy encoder.

[013] In some implementations, the conversion of the filtered time-domain LFE channel signal into a frequency-domain representation of the LFE channel signal that includes a number of coefficients representing a frequency spectrum of the LFE channel signal, further comprises: determining a first advance length of the LFE channel signal; assigning a first window size of a windowing function based on the first advance length; applying the first window size to one or more frames of the time-domain LFE channel signal; and applying a transform Petition 870260060720, dated 06 / 22 / 2026, page 12 / 84 Modified discrete cosine (MDCT) coefficients are used in windowed frames to generate the coefficients.

[014] In some implementations, the method further comprises: determining a second lead length of the LFE channel signal; assigning a second window size of the windowing function based on the second lead length; and applying the second window size to one or more frames of the time-domain LFE channel signal.

[015] In some implementations, the first feed length is N milliseconds (ms), N is greater than or equal to 5 ms and less than or equal to 60 ms, the first window size is greater than or equal to 10 ms, the second feed length is 5 ms and the second window size is 10 ms.

[016] In some implementations, the first advance length is 20 milliseconds (ms), the first window size is 10 ms or 20 ms or 40 ms, the second advance length is 10 ms and the second window size is 10 ms or 20 ms.

[017] In some implementations, the first advance length is 10 milliseconds (ms), the first window size is 10 ms or 20 ms or 40 ms, the second advance length is 5 ms and the second window size is 10 ms.

[018] In some implementations, the first advance length is 20 milliseconds (ms), the first window size is 10 ms, 20 ms or 40 ms, the second advance length is 5 ms and the second window size is 10 ms.

[019] In some implementations, the windowing function is a Kaiser-Bessel derived windowing function (KBD) with a configurable fade length.

[020] In some implementations, the low-pass filter is a fourth-order Butterworth low-pass filter with a cutoff frequency of about 130 Hz or lower. Petition 870260060720, dated 06 / 22 / 2026, page 13 / 84 5 / 28

[021] In some implementations, the method further comprises: determining, using one or more processors, whether an energy level of a frame of the LFE channel signal is below a threshold; according to the energy level being below a threshold level, generating a silent frame indicator indicating the decoder; inserting the silent frame indicator into the metadata of the LFE channel bitstream, and reducing an LFE channel bitrate after silent frame detection.

[022] In some implementations, a method of decoding a low-frequency effect (LFE) comprises: receiving, using one or more processors, an LFE channel bitstream, the LFE channel bitstream including entropy-encoded coefficients representing a frequency spectrum of a time-domain LFE channel signal; decoding, using one or more processors, the quantized coefficients using an entropy decoder; inverse quantizing, using one or more processors, the quantized coefficients, wherein the coefficients have been quantized into subband groups corresponding to frequency bands according to a frequency response curve of a low-pass filter used to filter the time-domain LFE channel signal in an encoder; converting, using one or more processors, the inverse quantized coefficients into a time-domain LFE channel signal;Adjust, using one or more processors, a delay in the time-domain LFE channel signal; and filter, using a low-pass filter, the delay-adjusted LFE channel signal.

[023] In some implementations, a low-pass filter order is configured to ensure that a first total algorithmic delay due to encoding and decoding of the LFE channel is less than or equal to a second total algorithmic delay due to encoding and decoding of other audio channels of a multichannel audio signal that includes the LFE channel signal.

[024] In some implementations, the method additionally includes: Petition 870260060720, dated 06 / 22 / 2026, page 14 / 84 6 / 28 determine if the second total algorithmic delay exceeds a threshold value; and if the second total algorithmic delay exceeds the threshold value, configure the low-pass filter as an order low-pass filter, where N is an integer greater than or equal to two; and if the second total algorithmic delay does not exceed the threshold value, configure the order of the low-pass filter to be less than N.

[025] Other implementations disclosed in the present invention are directed to a computer-readable system, apparatus and media. The details of the disclosed implementations are set forth in the accompanying drawings and the description below. Other features, objectives and advantages are evident from the description, drawings and claims.

[026] Particular embodiments disclosed in the present invention provide one or more of the following advantages. The disclosed low-latency LFE codec: 1) is primarily directed to the LFE channel; 2) is primarily directed to a frequency range of 20 to 120 Hz, but carries audio up to 300 Hz in low / medium bitrate scenarios and up to 400 Hz in high bitrate scenarios; 3) achieves a low bitrate by applying a quantization scheme according to a frequency response curve of an input low-pass filter; 4) has a low algorithmic latency and is designed to operate at a 20 millisecond (ms) advance and have a total algorithmic latency (including framing) of 33 ms; 5) can be configured for lower advances and lower algorithmic latency to support other scenarios, including configurations down to 5 ms advances and a total algorithmic latency (including framing) of 13 ms;6) It automatically selects a low-pass filter at the decoder output based on the latency available with the LFE codec; 7) It has a mute mode with a low bit rate of 50 bits per second (bps) during mute; and 8) During active frames, the bit rate fluctuates between 2 kilobits per second (kbps) and 4 kbps based on the quantization level used, and during silent frames, the bit rate is 50 bps. Petition 870260060720, dated 06 / 22 / 2026, p. 15 / 84 7 / 28 DESCRIPTION OF THE DRAWINGS

[027] In drawings, specific arrangements or orderings of schematic elements, such as those representing devices, units, instruction blocks, and data elements, are shown for ease of description. However, it should be understood by those skilled in the art that the specific ordering or arrangement of schematic elements in drawings is not intended to suggest that a specific processing order or sequence, or separation of processes, is required. Additionally, the inclusion of schematic elements in a drawing is not intended to suggest that such an element is required in all embodiments or that the features represented by such an element may not be included in or combined with other elements in some implementations.

[028] Additionally, in drawings where connecting elements, such as arrows or dashed or solid lines, are used to illustrate a connection, relationship, or association between two or more other schematic elements, the absence of any such connecting elements is not intended to suggest that no connection, relationship, or association may exist. In other words, some connections, relationships, or associations between elements are not shown in the drawings so as not to obscure the revelation. Furthermore, for ease of illustration, a single connecting element is used to represent multiple connections, relationships, or associations between elements. For example, where a connecting element represents a communication of signals, data, or instructions, it should be understood by those skilled in the art that such element represents one or multiple signal paths, as may be necessary, to affect the communication.

[029] Figure 1 illustrates an IVAS codec for encoding and decoding LFE and IVAS bitstreams, according to one or more implementations.

[030] Figure 2A is a block diagram illustrating LFE coding, according to one or more implementations. Petition 870260060720, dated 06 / 22 / 2026, page 16 / 84 8 / 28

[031] Figure 2B is a block diagram illustrating LFE decoding, according to one or more implementations.

[032] Figure 3 is a graph illustrating a frequency response of a 4th order Butterworth low-pass filter with a 130 Hz corner cutoff, according to one or more implementations.

[033] Figure 4 is a graph illustrating a Fielder window, according to one or more implementations.

[034] Figure 5 illustrates the variation of fine quantization points with frequency, according to one or more implementations.

[035] Figure 6 illustrates the variation of coarse quantization points with frequency, according to one or more implementations.

[036] Figure 7 illustrates a probability distribution of quantized MDCT coefficients with fine quantization, according to one or more implementations.

[037] Figure 8 illustrates a probability distribution of quantized MDCT coefficients with coarse quantization, according to one or more implementations.

[038] Figure 9 is a flowchart of a process for encoding modified discrete cosine transform (MDCT) coefficients, according to one or more implementations.

[039] Figure 10 is a flowchart of a process for decoding modified discrete cosine transform (MDCT) coefficients, according to one or more implementations.

[040] Figure 11 is a block diagram of a system to implement the features and processes described with reference to figures 1-10, according to one or more implementations.

[041] The same reference symbol used in several drawings indicates similar elements. DETAILED DESCRIPTION Petition 870260060720, dated 06 / 22 / 2026, p. 17 / 84 9 / 28

[042] In the following detailed description, numerous specific details are set forth to provide a complete understanding of the various embodiments described. It will be evident to a person with ordinary knowledge of the art that several implementations described can be put into practice without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. Several features are described below that can be used, each independently of each other or with any combination of other features. Nomenclature

[043] As used in the present invention, the term “includes” and its variants should be read as unlimited terms meaning “includes, but is not limited to.” The term “or” should be read as “and / or” unless the context clearly indicates otherwise. The term “based on” should be read as “based at least in part on.” The term “an example implementation” and “an example implementation” should be read as “at least one example implementation.” The term “another implementation” should be read as “at least one other implementation.” The terms “determined,” “determines,” or “determining” should be read as obtain, receive, compute, calculate, estimate, predict, or derive. Furthermore, in the following description and claims, unless defined otherwise, all technical and scientific terms used in the present invention have the same meaning as commonly understood by a person with common knowledge of the art to which this disclosure pertains. System overview

[044] Figure 1 illustrates an IVAS 100 codec for encoding and decoding IVAS bitstreams, including an LFE channel bitstream, according to one or more implementations. For encoding, the IVAS 100 codec receives N+1 channels of data from Petition 870260060720, dated 06 / 22 / 2026, page 18 / 84 10 / 28 audio 101, where N channels of audio data 101 are entered into spatial analysis and down-mixing unit 102 and one LFE channel is entered into the LFE channel encoding unit 105. Audio data 101 includes, but is not limited to: mono signals, stereo signals, binaural signals, spatial audio signals (e.g., multichannel spatial audio objects), first-order Ambisonics (FoA), higher-order Ambisonics (HoA), and any other audio data.

[045] In some implementations, the Descending Mix and Spatial Analysis Unit 102 is configured to implement complex forward coupling (CACPL) to analyze / descending stereo audio data and / or spatial reconstruction (SPAR) to analyze / descending FoA audio data. In other implementations, the Descending Mix and Spatial Analysis Unit 102 implements other formats. The output of Descending Mix and Spatial Analysis Unit 102 includes spatial metadata and channels 1 to N of audio data. The spatial metadata is entered into the Spatial Metadata Encoding Unit 104, which is configured to quantize and entropy-encode the spatial metadata. In some implementations, quantization may include fine, moderate, coarse, and extra-coarse quantization strategies, and entropy encoding may include arithmetic or Huffman encoding.

[046] Audio data channels 1 to N are entered into the main audio channel coding unit 103, which is configured to encode audio data channels 1 to N into one or more enhanced voice service (EVS) bitstreams. In some implementations, the main audio channel coding unit 103 conforms to 3GPP TS 26.445 and provides a wide range of functionalities, such as enhanced coding efficiency and quality for narrowband (EVS-NB) and wideband (EVS-WB) speech services, enhanced quality using super-wideband speech (EVS-SWB), enhanced quality for music and mixed content in conservation applications, and robustness for loss of Petition 870260060720, dated 06 / 22 / 2026, page 19 / 84 11 / 28 packet and instability due to delay and backward compatibility with the AWR-WB codec.

[047] In some implementations the main audio channel encoding unit 103 includes a mode selection and preprocessing unit that selects between a speech encoder for encoding speech signals and a perceptual encoder for encoding audio signals at a bitrate specified based on bitrate / mode control. In some implementations, the speech encoder is an improved variant of algebraic code excited linear prediction (ACELP), extended with specialized LP-based modes for different speech classes.

[048] In some implementations, the audio encoder is a modified discrete cosine transform (MDCT) encoder with increased efficiency at low bit rates / low delay and is designed to perform reliable and seamless switching between the audio and speech encoders.

[049] As previously described, the LFE channel signal is intended for low-intensity, deep sounds ranging from 20-120 Hz, and is typically sent to a loudspeaker that is designed to reproduce low-frequency audio content (e.g., a subwoofer). The LFE channel signal is entered into the LFE channel signal encoding unit 105 which is configured to encode the LFE channel signal as described in reference to figure 2A.

[050] In some implementations, an IVAS decoder includes a spatial metadata decoding unit 106 which is configured to retrieve spatial metadata and a main audio channel decoding unit 107 which is configured to retrieve audio signals from channel 1 to N. The retrieved spatial metadata and recovered audio signals from channel 1 to N are fed into the spatial rendering / upmixing / synthesis unit 109, which is configured to synthesize and render the audio signals from channel 1 to N into N or more channel output audio signals using the spatial metadata for high-resolution playback. Petition 870260060720, dated 06 / 22 / 2026, page 20 / 84 12 / 28 speakers from various audio systems including, but not limited to: home theater systems, video conferencing room systems, virtual reality (VR) gear, and any other audio system capable of rendering audio. The LFE 108 channel decoding unit receives the LFE bitstream and is configured to decode the LFE bitstream as described in reference to Figure 2B.

[051] Although the example LFE encoding / decoding implementation described above is performed by an IVAS codec, the low-latency LFE codec described below can be a standalone LFE codec, or it can be included in any standardized or proprietary audio codec that encodes and decodes low-frequency signals in audio applications where low latency and configurability are required or desired.

[052] Figure 2A is a block diagram illustrating functional components of the LFE 105 channel encoding unit shown in Figure 1 according to one or more modes. Figure 2B is a block diagram illustrating functional components of the LFE 108 channel decoder shown in Figure 1 according to one or more modes. The LFE 108 channel decoder includes an inverse quantization and entropy decoding unit 204, a windowing and inverse MDCT unit 205, a delay adjustment unit 206, and an output LPF 207. The delay adjustment unit 206 can be before or after LPF 207 and performs delay adjustment (e.g., by storing the decoded LFE channel signal) to match the decoded LFE channel signal and the decoded main codec output. The LFE 105 channel encoding unit and the LFE 108 channel decoding unit described in Figure 2B are collectively referred to as an LFE codec.

[053] The LFE 105 channel coding unit includes an input low-pass filter (LPF) 201, an MDCT and windowing unit 202, and an entropy and quantization coding unit 203. In one embodiment, the input audio signal is a Petition 870260060720, dated 06 / 22 / 2026, page 21 / 84 13 / 28 pulse-code modulated (PCM) audio signal and the LFE 105 channel coding unit expect an input audio signal with a 5 millisecond, 10 millisecond, or 20 millisecond lead. Internally, the LFE 105 channel coding unit operates on 5-millisecond or 10-millisecond subframes, and windowing and MDCT are performed on a combination of these subframes. In one embodiment, the LFE 105 channel coding unit operates with a 20-millisecond input lead and internally splits this input into two subframes of equal length. The last subframe of the previous input frame for LFE is concatenated with the first subframe of the current input frame for LFE and windowed. The first subframe of the current input frame for LFE is concatenated with the second subframe of the current input frame for LFE and windowed. MDCT is executed twice, once in each windowed block.

[054] In one embodiment, the algorithmic delay (without framing delay) is equal to 8 milliseconds plus the delay incurred by input LPF 103 plus the delay incurred by output LPF 207. With a 4th-order input LPF and a 4th-order output LPF 207, the total system latency is approximately 15 milliseconds. With a 4th-order input LPF 201 and a 2nd-order output LPF 207, the total LFE codec latency is approximately 13 milliseconds.

[055] Figure 3 is a graph illustrating a frequency response of an example 201 input LPF, according to one or more embodiments. In the example shown, LPF 201 is a 4th order Butterworth filter with a cutoff frequency of 130 Hz. Other embodiments may use a different type of LPF (e.g., a Chebyshev, Bessel) with the same or different order and the same or different cutoff frequency.

[056] Figure 4 is a graph illustrating a Fielder window, according to one or more embodiments. In one embodiment, the windowing function applied by unit MDCT and windowing 202 is a Fielder window function with a Petition 870260060720, dated 06 / 22 / 2026, page 22 / 84 14 / 28 fade length of 8 milliseconds. The Fielder window is a Kaiser-Bessel (KBD) derived window with alpha=5, which is a window that by construction satisfies the Princen-Bradley condition for MDCT and is thus used with an Advanced Audio Coding (AAC) digital audio format. Other windowing functions can also be used. Entropy-based coding and quantization

[057] In one embodiment, the entropy coding and quantization unit 203 implements a quantization strategy that follows the input LPF frequency response curve 201 to more efficiently quantize the MDCT coefficients. In one embodiment, the frequency range is divided into 4 sub-band groups representing 4 frequency bands: 0-100 Hz, 100-200 Hz, 200-300 Hz, and 300-400 Hz. These bands are examples, and a greater or lesser number of bands may be used with the same or different frequency ranges. More particularly, the MDCT coefficients are quantized using a scaling shift factor that is dynamically computed based on the MDCT coefficient values ​​in a particular frame, and the quantization points are selected according to the LPF frequency response curve, as shown in Figures 5-8.This quantization strategy helps reduce the quantization points for the MDCT coefficients that belong to the 100-200 Hz, 200-300 Hz, and 300-400 Hz bands, while maintaining the optimal quantization points for the main LFE band of 0-100 Hz, which is where the energy of most low-frequency effects (e.g., noise) will be found.

[058] In one embodiment, a quantization strategy for a Fien millisecond (ms) input PCM advance (input frame length) for the LFE 105 channel encoding unit, is described below where the Fien frame length can take any value given by 5 *f ms, here 1 <= / <=12.

[059] Firstly, the input PCM advance is divided into N Petition 870260060720, dated 06 / 22 / 2026, page 23 / 84 15 / 28 subframes of equal length, each subframe width (Sw) = Fien / N ms. N must be selected so that each 5 is a multiple of 5 ms (for example, if Fien = 20 ms then N can be 1, 2 or 4; if Fien = 10 ms then N can be 1 or 2; and if Fien = 5 ms then N is equal to 1). Let 5 be the i° subframe in any given frame, here i is an integer with the range 0 <= i <= N, where So corresponds to the last subframe of the previous input frame for the LFE 105 encoding unit and Si to Sn are the N subframes of the current frame.

[060] Next, each S, and S,+ 1 subframe is concatenated and windowed with a Fielder window (see figure 4) and then MDCT is run on these windowed samples. This results in a total of N MDCTs for each frame. The number of MDCT coefficients from each MDCT (num_coeffs) = sampling frequency * Sw / 1000. The frequency resolution of each MDCT (width of each MDCT coefficient) (Wmdct) is around 1000 / (2* Sw) Hz. Given that subwoofers typically have an LPF cutoff around 100-120 Hz, and the post-LPF energy after 400 Hz is typically very low, MDCT coefficients up to 400 Hz are quantized and sent to the LFE 108 decoding unit while the rest of the MDCT coefficients are quantized to 0. Sending MDCT coefficients up to 400 Hz ensures high-quality reconstruction up to 120 Hz in the LFE 108 decoding unit. The total number of MDCT coefficients to quantize and encode (Nquant) is therefore equal to N* 400 / Wmdct.

[061] Next, the MDCT coefficients are arranged in subband groups M where the width of each subband group is a multiple of Wmdct and the sum of the widths of all subband groups equals 400 Hz. Let the width of each subband be SBWm Hz, where m is an integer with range 1 <= m <= M. With this width, the number of coefficients in the mth subband group = SNquant = N * SBWm / Wmdct (i.e., coefficients SBWm / Wmdct of each MDCT). The MDCT coefficients in each subband group are then scaled with an offset scaling factor (offset) described below, determined by the sum or max. of Petition 870260060720, dated 06 / 22 / 2026, page 24 / 84 16 / 28 absolute values ​​of all Nquant MDCT coefficients. The scaled MDCT coefficients in each subband group are then quantized and encoded separately using a quantization scheme that follows the LPF curve at the encoder input. The encoding of quantized MDCT coefficients is done with an entropy encoder (e.g., a Huffman or arithmetic encoder). Each subband group is encoded with a different entropy encoder, and each entropy encoder uses an appropriate probability distribution model to efficiently encode the respective subband group.

[062] An example quantization strategy for a 20 millisecond (ms) advance (Fien = 20 ms), 2 subframes (N = 2) and sampling frequency = 48000 will now be described. With this example input configuration, the subframe width Sw = 10 ms and the number of MDCTs = N = 2. The first MDCT is executed in a 20 ms block. This block is formed by concatenating a 10-20 ms subframe from the previous 20 ms input and a 0-10 ms subframe from the current 20 ms input, and then windowing with the Fielder window with a length of 20 ms (see Figure 4). With N = 1 and N = 4, the Fielder window is scaled accordingly and the fade length is changed to 16 / N ms. The second MDCT runs on a 20 ms block formed by windowing the current 20 ms input frame with a 20 ms long Fielder window.The number of MDCT coefficients (num_coeffs) with each MDCT = 480, the width of each MDCT coefficient Wmdct = 50 Hz, the total number of coefficients to quantize and encode Nquant = 16, and the total number of coefficients to quantize and encode per MDCT = 16 / N = 8.

[063] Next, the MDCT coefficients are arranged into 4 subband groups (M=4), where each subband group corresponds to a 100 Hz band (0-100, 100-200, 200-300, 300-400, SBWm = 100 Hz, number of coefficients in each subband group = SNquant = N * SBWm / Wmdct = 4). Let a1, a2, a3, a4, a5, ae, a7, ae, be the first 8 MDCT coefficients to be quantized starting from the first. Petition 870260060720, dated 06 / 22 / 2026, page 25 / 84 17 / 28 MDCT and bi, b2, b3, b4, b5, b6, b7, b8 being the first 8 MDCT coefficients to be quantized starting from the second MDCT. The 4 subband groups are arranged to have the following coefficients: subband group 1 = {ai, a2, bi, b2} subband group 2 = {a3, a4, b3, b4], subband group 3 = {a5, ae, b5, be], subband group 4 = {a7, a8, b7, b8}, where each subband group corresponds to a 100 Hz band.

[064] A frame with a gain around -30 dB (or less) may have MDCT coefficients with values ​​on the order of 10-2 or 10-1, or lower, while a frame with full scale gain may have MDCT coefficients with values ​​of 20 or above. To accommodate this wide range of values, a scaling shift factor (offset) is computed based on the maximum available quantization points (max_value) and a sum of the absolute value of the MDCT coefficients (lfe_dct_new) as follows: shift = floor (shifts_per_double*log2(max_value / sum(abs(lfe_dct_new)))),

[065] In one implementation, lfe_dct_new is a set of 16 MDCT coefficients, shifts_per_double is a constant (e.g., 4), max_value is an integer chosen for fine quantization (e.g., 63 quantization values) and for coarse quantization (e.g., 31 quantization values), and the shift is limited to a 5-bit value from 4 to 35 for fine quantization and 2 to 33 for coarse quantization.

[066] The quantized MDCT coefficients are then computed as follows: vals = round(lfe_dct_new*(2*(shift / shifts_per_double))), where the round() operation rounds the result to the nearest integer value.

[067] If the quantized values ​​(vals) exceed the maximum allowed number Petition 870260060720, dated 06 / 22 / 2026, page 26 / 84 With 18 / 28 of the quantization points available (max_val), the scaling shift factor (shift) is reduced and the quantized values ​​(va / s) are recalculated. In other implementations, instead of the sum function sum(abs( / fe_dct_new))), the max function max(abs( / fe_dct_new))) can be used to compute the scaling shift factor (shift), however the quantization values ​​will be more dispersed using the max() function, making it more difficult to design an efficient entropy encoder.

[068] In the quantization steps described above, the quantized values ​​for each subband group are calculated together in a loop, but the quantization points are different for each subband group. If the first subband group exceeds the allowed range, then the scaling shift factor is reduced. If any of the other subband groups exceed the allowed range, then the subband group is truncated to max_va / ue. The sign bits for all MDCT coefficients and the absolute value of the quantized MDCT coefficients are encoded separately for each subband group.

[069] Figure 5 illustrates the variation of fine quantization points with frequency, according to one or more implementations. With fine quantization, subband group 1 (0-100 Hz) has 64 quantization points, subband group 2 (100-200 Hz) has 32 quantization points, subband group 3 (200-300 Hz) has 8 quantization points, and subband group 4 (300-400 Hz) has 2 quantization points. In one embodiment, each subband group is entropy-encoded with a separate entropy encoder (e.g., a Huffman or arithmetic entropy encoder), where each entropy encoder uses a different probability distribution. Consequently, the main 0-100 Hz band is allocated more quantization points.

[070] It is observed that the allocation of quantization points for subband groups 1-4 follows the shape of the LPF frequency response curve, which has more Petition 870260060720, dated 06 / 22 / 2026, page 27 / 84 19 / 28 information is received at lower frequencies than at higher frequencies, and no information is received outside the cutoff frequency. To correctly reconstruct frequencies up to 130 Hz, MDCT coefficients corresponding to frequencies above 130 Hz are also encoded to avoid or minimize aliasing. In some implementations, MDCT coefficients up to 400 Hz are encoded so that frequencies up to 130 Hz can be properly reconstructed in the decoding unit.

[071] Figure 6 illustrates the variation of coarse quantization points with frequency, according to one or more implementations. With coarse quantization, subband group 1 (0-100 Hz) has 32 quantization points, subband group 2 (100-200 Hz) has 16 quantization points, subband group 3 (200-300 Hz) has 4 quantization points, and subband group 4 (300-400 Hz) is not quantized and is entropy-encoded. In one embodiment, each subband group is entropy-encoded with a separate entropy encoder using a different probability distribution.

[072] Figure 7 illustrates a probability distribution of quantized MDCT coefficients with fine quantization, according to one or more implementations. The v-axis is the frequency of occurrence and the x-axis is the number of quantization points. Sg1 is subband group 1 corresponding to quantized MDCT coefficients in the 0-100 Hz band, Sg2 is subband group 2 corresponding to quantized MDCT coefficients in the 100-200 Hz band. Sg3 ​​is subband group 3 corresponding to quantized MDCT coefficients in the 200-300 Hz band. Sg4 is subband group 4 corresponding to quantized MDCT coefficients in the 300-400 Hz band.

[073] Figure 8 illustrates a probability distribution of quantized MDCT coefficients with coarse quantization, according to one or more implementations. The y-axis is the frequency of occurrence and the x-axis is the number of quantization points. Sg1 is the subband group 1 which corresponds to quantized MDCT coefficients in the 0-100 Hz band, Sg2 is the subband group 2 which corresponds to MDCT coefficients Petition 870260060720, dated 06 / 22 / 2026, page 28 / 84 20 / 28 quantized in the 100-200 Hz band. Sg3 ​​is subband group 3 which corresponds to MDCT coefficients quantized in the 200-300 Hz band. Sg4 is subband group 4 which corresponds to MDCT coefficients quantized in the 300-400 Hz band.

[074] It is observed that the main band (0-100 Hz) is where most of the LFE effects are found and therefore more quantization points are allocated for higher resolution. However, fewer bits are allocated to the main band in coarse quantization than for fine quantization. In one embodiment, whether fine quantization or coarse quantization is used for an MDCT coefficient frame is dependent on the target bitrate set desired by the 103 main audio channel encoder. The 103 main audio channel encoder sets this value once during initialization or dynamically on a frame-by-frame basis based on the bits required or used to encode the main audio channels in each frame. Pictures of silence

[075] In some implementations, a signal is added to the LFE channel bitstream to indicate silent frames. A silent frame is a frame that has energy below a specified threshold. In some implementations, 1 bit is included in the LFE channel bitstream transmitted to the decoder (e.g., inserted in the frame header) to indicate a silent frame, and all MDCT coefficients in the LFE channel bitstream are set to 0. This technique can reduce the bit rate by 50 bps during silent frames. LPF decoder

[076] Two options for implementing LPF 207 (see Figure 2B) are provided at the output of the LFE 108 channel decoding unit. LPF 207 is selected based on the available delay (total delay of other audio channels minus LFE fade delay minus input LPF delay). Note that other channels are expected to be encoded / decoded by units of Petition 870260060720, dated 06 / 22 / 2026, page 29 / 84 21 / 28 main audio channel encoding / decoding 103, 107 and the delays for these channels depend on the algorithmic delay of main audio channel encoding / decoding units 103, 107.

[077] In one implementation, if the available delay is less than 3.5 ms then a 2nd order Butterworth LPF with a 130 Hz cutoff is used; otherwise, a 4th order Butterworth LPF with a 130 Hz cutoff is used. Thus, in the LFE 108 channel decoding unit there is a trade-off between removing aliased energy beyond the cutoff frequency and algorithmic delay. In some implementations, LPF 207 may be completely removed since subwoofers typically have an LPF. LPF 207 helps reduce aliased energy beyond the cutoff at the LFE decoder output itself and can aid in efficient post-processing. Example processes

[078] Figure 9 is a flowchart of a 900 process for encoding MDCT coefficients, according to one or more implementations. The 900 process can be implemented using, for example, the 1100 system described in reference to Figure 11.

[079] Process 900 includes the steps of: receiving a time-domain LFE channel signal (901), filtering the time-domain LFE channel signal using a low-pass filter (902) by converting the filtered time-domain LFE channel signal into a frequency-domain representation of the LFE channel signal that includes a number of coefficients representing a frequency spectrum of the LFE channel signal (903); arranging coefficients into a number of subband groups corresponding to different frequency bands of the LFE channel signal (904); quantizing coefficients in each subband group according to a frequency response curve of the low-pass filter using a scaling shift factor (905); encoding the quantized coefficients in each subband group using an entropy encoder configured for the subband group Petition 870260060720, dated 06 / 22 / 2026, page 30 / 84 22 / 28 (906); generate a bit stream including the encoded quantized coefficients (907) and store the bit stream in a storage device or transmit the bit stream to a downstream device (908).

[080] Figure 10 is a flowchart of a process 1000 for decoding MDCT coefficients, according to one or more implementations. Process 1000 can be implemented using, for example, system 1100 described in reference to Figure 11.

[081] Process 1000 includes the steps of: receiving an LFE channel bit stream (1001), wherein the LFE channel bit stream includes entropy-encoded coefficients representing a frequency spectrum of a time-domain LFE channel signal; decoding and inverse quantizing the coefficients (102), wherein the coefficients have been quantized into subband groups corresponding to different frequency bands according to a frequency response curve of a low-pass filter using a scaling shift factor; converting the decoded and inverse quantized coefficients into a time-domain LFE channel signal (1003); fitting a delay to the time-domain LFE channel signal (1004) and filtering, using a low-pass filter, the adjusted delay LFE channel signal (1005).In one embodiment, the low-pass filter order can be configured based on a total algorithmic delay available from a main codec used to encode / decode full-bandwidth channels of a multichannel audio signal that includes the time-domain LFE channel signal. In some implementations, the decoding unit only needs to know whether the MDCT coefficients were encoded with fine or coarse quantization by the encoding unit. The quantization type can be indicated using a bit in the LFE bitstream header or any other suitable signaling mechanism.

[082] In some implementations, the decoding of inverse quantized coefficients in time-domain PCM samples is performed as follows. The Petition 870260060720, dated 06 / 22 / 2026, page 31 / 84 23 / 28 inverse quantized coefficients in each subband group are rearranged into N groups (N is the number of MDCTs computed in the encoding unit), where each group has coefficients corresponding to the respective MDCT. As per the example implementation described above, the encoding unit encodes the following 4 subband groups: subband group l = {a1, a.2, b1, b2}, subband group2 = {a3, a4, b3, b4}, subband group3 = {a5, ae, b5, be}, subband group4 = {a7, ae, b7, b8}.

[083] The decoding unit decodes the 4 subband groups and rearranges them back into {a1, a2, a3, a4, a5, a6, a7, a8} and {b1, b2, b3, b4, b5, b6, b7, b8}, and then pads the groups with zeros to obtain the desired inverse MDCT input length (iMDCT). N iMDCTs are performed to transform inverse MDCT coefficients in each group into time-domain blocks. In this example, each block is 2*Sw ms wide, where Sw is the subframe width defined above. Next, this block is windowed using the same Fielder window used by the LFE encoding unit shown in Figure 4. Each subframe S, (i is an integer between 1 <= i <= N) is reconstructed by appropriately overlaying the addition of the windowed data from the previous iMDCT output and the current iMDCT output. Finally, the output of (1003) is reconstructed by concatenating all N subframes. Example system architecture

[084] Figure 11 is a block diagram of an 1100 system for implementing the features and processes described in reference to Figures 1-10, according to one or more implementations. The 1100 system includes one or more server computers or any client device, including, but not limited to: call servers, user equipment, conference room systems, home theater systems, virtual reality (VR) gear, and devices. Petition 870260060720, dated 06 / 22 / 2026, page 32 / 84 24 / 28 immersive content intake. The 1100 system includes any consumer devices, including but not limited to: smartphones, tablet computers, wearable computers, vehicle computers, game consoles, surround systems, kiosks, etc.

[085] As shown, the 1100 system includes a central processing unit (CPU) 1101 that is capable of executing various processes according to a program stored, for example, in a read-only memory (ROM) 1102 or a program loaded from, for example, a storage unit 1108 in a random access memory (RAM) 1103. In RAM 1103, the data required when the CPU 1101 executes the various processes is also stored, as needed. The CPU 1101, the ROM 1102, and the RAM 1103 are connected to each other via a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.

[086] The following components are connected to the I / O interface 1105, an input unit 1106, which may include a keyboard, a mouse, or similar; an output unit 1107 which may include a display such as a liquid crystal display (LCD) and one or more speakers, the storage unit 1108 including a hard disk, or other suitable storage device; and a communication unit 1109 including a network interface card such as a network card (e.g., wired or wireless).

[087] In some implementations, the 1108 input unit includes one or more microphones in different positions (depending on the host device) enabling the capture of audio signals in various formats (e.g., mono, stereo, spatial, immersive, and other suitable formats).

[088] In some implementations, the 1107 output unit includes systems with multiple numbers of speakers. The 1107 output unit (depending on the capabilities of the host device) can render audio signals in multiple Petition 870260060720, dated 06 / 22 / 2026, page 33 / 84 25 / 28 formats (e.g., mono, stereo, immersive, binaural, and other suitable formats).

[089] Communication unit 1109 is configured to communicate with other devices (e.g., via a network). Unit 1110 is also connected to I / O interface 1105, as required. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a flash drive, or other suitable removable media, is mounted on unit 1110 so that a computer program read from there is installed on storage unit 1108, as required. A person skilled in the art would understand that although system 1100 is described as including the components described above, in actual applications it is possible to add, remove, and / or replace some of these components, and all such modifications or alterations are within the scope of representative disclosure.

[090] According to example embodiments of the present disclosure, the processes described above can be implemented as computer software programs or on a computer-readable storage medium. For example, embodiments of the present disclosure include a computer program product including a computer program tangibly embedded in a machine-readable medium, the computer program including program code to execute methods. In such embodiments, the computer program can be downloaded and mounted from the network via the communication unit 1309 and / or installed from removable media 1111.

[091] In general, various embodiments of the present disclosure may be implemented in hardware or special-purpose circuits (e.g., control circuitry), software, logic, or any combination thereof. For example, the units discussed above may be executed by the control circuitry (e.g., a CPU in combination with other components of Figure 11), thus the control circuitry may be Petition 870260060720, dated 06 / 22 / 2026, page 34 / 84 26 / 28 performing the actions described in this disclosure. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device (e.g., control circuitry). Although various aspects of the example embodiments of this disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be recognized that the blocks, apparatus, systems, techniques, or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special-purpose circuits or logic, general-purpose hardware or controller, or other computing devices, or some combination thereof.

[092] Additionally, several blocks shown in the flowcharts can be viewed as method steps, and / or as operations resulting from the operation of computer program code, and / or as a plurality of coupled logic circuit elements constructed to perform the associated function(s). For example, embodiments of the present disclosure include a computer program product including a computer program tangibly embodied in a machine-readable medium, the computer program containing program codes configured to perform the methods as described above.

[093] In the context of disclosure, a computer / machine-readable medium may be any tangible medium that can contain or store a program for use by or with respect to an instruction execution system, apparatus, or device. A computer / machine-readable medium may be a computer / machine-readable signal medium or a computer / machine-readable storage medium. A computer / machine-readable medium may be non-transient and may include, but not be limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any Petition 870260060720, dated 06 / 22 / 2026, page 35 / 84 27 / 28 suitable combination of the above. More specific examples of computer / machine-readable storage media would include an electrical connection having one or more wires, a portable computer floppy disk, a hard disk, RAM, ROM, an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[094] Computer program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. Such computer program codes may be supplied to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing device having a set of control circuits, such that the program codes, when executed by the computer processor or other programmable data processing device, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may run entirely on one computer, partially on the computer as a stand-alone software package, partially on the computer and partially on a remote computer, or entirely on the remote computer or server, or distributed across one or more remote computers and / or servers.

[095] Although this document contains many specific implementation details, these should not be interpreted as limitations on the scope of what can be claimed, but rather as descriptions of features that may be specific to particular modalities. Certain features that are described in this descriptive report in the context of separate modalities may also be implemented in combination in a single modality. Conversely, several features that are described in the context of a single modality may Petition 870260060720, dated 06 / 22 / 2026, page 36 / 84 28 / 28 can also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features of a claimed combination may, in some cases, be removed from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination. Logic flows shown in the figures do not require the specific order shown, or sequential order, to achieve desired results. Furthermore, other steps may be provided, or steps may be eliminated from the described flows, and other components may be added to, or removed from, the described systems. Consequently, other implementations are included within the scope of the following claims. Petition 870260060720, dated 06 / 22 / 2026, page 37 / 84

Claims

1 / 2 CLAIMS 1. A method for encoding a low-frequency effect (LFE) channel, CHARACTERIZED in that it comprises: receiving, using one or more processors, a time-domain LFE channel signal; filtering, using a low-pass filter, the time-domain LFE channel signal to produce a filtered time-domain LFE channel signal; converting, using one or more processors, the filtered time-domain LFE channel signal into a frequency-domain representation of the time-domain LFE channel signal that includes a number of coefficients representing a frequency spectrum of the time-domain LFE channel signal; arranging, using one or more processors, coefficients in two or more subband groups corresponding to different frequency bands of the time-domain LFE channel signal;Generate a scaling shift factor based on a maximum number of available quantization points and a sum of absolute values ​​of the coefficients; quantize, using one or more processors, coefficients in each subband group according to a frequency response curve of the low-pass filter and using the scaling shift factor to produce quantized coefficients, where the quantization points are different for each subband group; encode, using one or more processors, the quantized coefficients in each subband group using an entropy encoder tuned to the subband group; generate, using one or more processors, a bitstream including the encoded quantized coefficients;and Petition 870260060720, dated 06 / 22 / 2026, page 38 / 84 2 / 2 to store, using one or more processors, the bit stream in a storage device or to transmit the bit stream to a downstream device.

2. A method for decoding a low-frequency effect (LFE) channel bitstream, CHARACTERIZED in that it comprises: receiving, using one or more processors, an LFE channel bitstream, the LFE channel bitstream including entropy-encoded quantized coefficients representing a frequency spectrum of a time-domain LFE channel signal; decoding, using one or more processors, the entropy-encoded quantized coefficients using an entropy decoder;Inverse quantize, using one or more processors, the quantized coefficients into inverse quantized coefficients, wherein the quantized coefficients were quantized into subband groups corresponding to frequency bands according to a frequency response curve of a low-pass filter used to filter the time-domain LFE channel signal in an encoder, wherein the quantization points are different for each subband group in an encoder; convert, using one or more processors, the inverse quantized coefficients to the time-domain LFE channel signal; and filter, using the low-pass filter, the time-domain LFE channel signal. Petition 870260060720, dated 06 / 22 / 2026, p. 39 / 84;