Frame splitting and grouping for audio encoding

The method optimizes audio encoding by merging audio blocks based on side information cost and spectral coefficient quantization, addressing inefficiencies in existing methods and improving encoding quality and efficiency.

JP2026512714APending Publication Date: 2026-04-20DOLBY LABORATORIES LICENSING CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DOLBY LABORATORIES LICENSING CORP
Filing Date
2024-03-18
Publication Date
2026-04-20

Smart Images

  • Figure 2026512714000001_ABST
    Figure 2026512714000001_ABST
Patent Text Reader

Abstract

Apparatus, systems, and methods for encoding blocks of audio with content into frames are described. An exemplary method includes receiving an input signal containing blocks of audio information. Blocks of audio information contain a set of block groups for each frame. Some methods include obtaining a first quality measure for each block group and obtaining a second quality measure for each block group. The first quality measure represents the cost associated with merging two or more blocks of audio information to form each block group. The second quality measure represents the estimated distortion associated with merging two or more blocks of audio information to form each block group. The method includes merging at least two block groups based on the first and second quality measures to produce an encoded signal.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [Cross-reference of related applications] This application claims the benefits of U.S. Provisional Patent Application No. 63 / 560,563, filed March 1, 2024, and U.S. Provisional Patent Application No. 63 / 491,839, filed March 23, 2023. Both applications are incorporated herein by reference in their entirety.

[0002] [Technical field] This application relates in general to audio and speech coding, and more specifically to conversion and subband coding. [Background technology]

[0003] Unless otherwise specified, the contents described in this chapter are not prior art relating to the claims of this application, and their inclusion in this chapter does not make them recognized as prior art.

[0004] Many audio processing systems operate by dividing a stream of audio information into frames, and further dividing the frames into blocks of continuous data representing a portion of the audio information at a specific time interval. Certain signal processing is applied to each block in the stream. Examples of audio processing systems that apply perceptual coding processes to each block include systems conforming to the AAC (Advanced Audio Coder) standard described in ISO / IEC 13818-7, "MPEG-2 advanced audio coding, AAC," international standard, 1997, ISO / IEC JTCI / SC29, "Information technology - very low bitrate audio - visual coding," and the so-called AC-3 system conforming to ISO / IEC IS-14496 (Part 3, Audio), 2019, ATSC (Advanced Television Systems Committee) A / 52A document, titled "Revision A to Digital Audio Compression (AC-3) Standard," issued August 20, 2001.

[0005] Many perceptual audio and speech codecs operate in the frequency domain, where segments of time-domain samples are converted into sets of spectral coefficients (e.g., blocks). Each block is represented in an encoded bitstream by a set of spectral coefficients combined with several control parameters (e.g., side information). One or more sets of blocks, combined with the associated side information, form individual frames. In most encoders, the number of bits allocated to spectral coefficients and side information within each frame varies depending on the characteristics of the input audio signal. Side information typically represents high-level information about the signal, while spectral coefficients convey detailed information. For signals where high-level information does not change significantly over a frame (e.g., short-term stationary signals), a low side information rate can be used. This allows more bits to be allocated to spectral coefficients, resulting in a corresponding reduction in overall quantization noise compared to a time-invariant allocation scheme. For signals where high-level information changes significantly over a frame (e.g., short-term non-stationary signals), a relatively high side information rate is required to preserve temporal features.

[0006] The side information rate is typically controlled by dividing each frame into one or more separate block groups. For example, in MPEG-4 AAC, a single frame may consist of one Modified Discrete Cosine Transform (MDCT) block of length 1024 or eight blocks of length 128. In the latter case, the eight blocks may be transmitted as eight separate groups of size 1, as one larger group of size 8, or as any group configuration in between. Since each group contains relevant side information, the side information rate increases accordingly as the number of groups increases. This disclosure acknowledges various limitations in AAC. For example, the primary side information rate or cost in AAC is assigned to a scale factor value. Since the scale factor is shared across all blocks within a group, adding a new group increases the side information rate by the amount of additional bits required to represent the scale factor and the relevant information. For codecs operating at a constant bitrate, the increase in side information reduces the number of bits available for spectral coefficients. Therefore, for audio encoders, it is advantageous to carefully select block groupings to optimize signal processing efficiency for all frames.

[0007] The only fully optimal solution currently known is based on exhaustive search methods. However, this approach is computationally very expensive for most coding applications. Greedy merge methods are less computationally expensive than exhaustive search and can often achieve near-optimal results. This disclosure acknowledges various limitations in conventionally implemented search methods. For example, a limitation of conventional optimization methods is that distortion is defined only with respect to side information (e.g., scale factor and spectral envelope), as described, for example, in U.S. Patent No. 7,840,410, "Audio Coding Based on Block Grouping," which is incorporated entirely herein. This type of method attempts to maintain the original spectral shape while reducing the amount of side information required. For example, the cost metric is expressed as a measure of the error between the logarithmic energy of spectral coefficients from two separate groups of a block and the logarithmic energy of spectral coefficients from the merged group of candidates. However, these conventional methods for grouping do not account for the change in distortion due to spectral coefficient quantization. For a fixed number of spectral coefficient bits within a single frame, merging two groups can, at best, maintain the same spectral coefficient quantization error as transmitting them separately. However, in many merging scenarios, the quantization error increases. By observing only the spectral envelope energy, conventional methods only partially consider the effect of the grouping decision on the overall signal distortion at the decoder output.

[0008] The disclosures made herein are presented with respect to these and other considerations. [Overview of the project]

[0009] Techniques for processing audio signals are described herein. Various embodiments described herein provide systems and methods for grouping and processing audio blocks based on both side information bitrate and distortion changes due to coefficient quantization.

[0010] Apparatus, systems, and methods for encoding blocks of audio with content into frames are described. An exemplary method includes receiving an input signal containing blocks of audio information. Blocks of audio information contain a set of block groups for each frame. Some methods include obtaining a first quality measure for each block group and obtaining a second quality measure for each block group. The first quality measure represents the cost associated with merging two or more blocks of audio information to form each block group. The second quality measure represents the estimated distortion associated with merging two or more blocks of audio information to form each block group. The method includes merging at least two block groups based on the first and second quality measures to produce an encoded signal.

[0011] According to an exemplary embodiment, a method is provided for encoding blocks of audio within a frame, where each frame comprises a set of block groups, and each block comprises content. The method comprises receiving an input signal comprising blocks of audio information. The blocks of audio information comprise a set of block groups for each frame. The method comprises obtaining a first quality measure for each block group and obtaining a second quality measure for each block group. The first quality measure represents the cost associated with merging two or more blocks of audio information to form each block group. The second quality measure represents the estimated distortion associated with merging two or more blocks of audio information to form each block group. The method comprises merging at least two block groups from the set of block groups based on the first and second quality measures to generate an encoded signal representing the associated control parameters for each block group in the set and the content of the input signal, and outputting the encoded signal.

[0012] According to another exemplary embodiment, a device is provided for processing blocks of audio information arranged within a frame. The device includes an electronic processor configured to receive an input signal containing blocks of audio information. The blocks of audio information contain a set of block groups for each frame. The electronic processor is configured to obtain a first quality metric for each block group and a second quality metric for each block group. The first quality metric represents the cost associated with merging two or more blocks of audio information to form each block group. The second quality metric represents the estimated distortion associated with merging two or more blocks of audio information to form each block group. Based on the first and second quality metrics, the electronic processor is configured to merge at least two block groups from the set of block groups to generate an encoded signal representing the associated control parameters and content of the input signal for each block group in the set, and to output the encoded signal.

[0013] In yet another exemplary embodiment, a non-temporary computer-readable storage medium is provided for recording a program of instructions executable by the device in order to perform a method for processing blocks of audio information arranged within a frame. The method includes receiving an input signal containing blocks of audio information. The blocks of audio information contain a set of block groups for each frame. The method includes obtaining a first quality measure for each block group and obtaining a second quality measure for each block group. The first quality measure indicates the cost associated with merging two or more blocks of audio information to form each block group. The second quality measure indicates the estimated distortion associated with merging two or more blocks of audio information to form each block group. The method includes merging at least two block groups from the set of block groups based on the first and second quality measures to generate an encoded signal representing the associated control parameters and content of the input signal for each block group in the set, and outputting the encoded signal.

[0014] In yet another exemplary embodiment, a method is provided for encoding blocks of audio information into frames. This method includes receiving an input signal containing a set of block groups in a frame, each block containing content. In a first loop, the method includes sequentially selecting each block group from the set of block groups as a selected first block group for potential merging. In a second loop, the method includes sequentially selecting each block group from the set of block groups that is different from the first block group as a selected second block group for potential merging, obtaining a first quality metric related to the merging of the selected first block group and the selected second block group, obtaining a second quality metric related to the merging of the selected first block group and the selected second block group, and selectively identifying the second block group as a merge candidate block by comparing the first and second quality metrics of the second block group with a previous iteration of the second loop. After the second loop has completed all iterations, the method includes selectively merging the selected first block group with the identified merge candidate block, assembling the frame as an encoded signal, and outputting the encoded signal.

[0015] Further exemplary embodiments provide a device for encoding blocks of audio information arranged within a frame, where each frame includes a set of block groups, and each block includes content. The device includes an electronic processor, which is configured to perform the operation of a method, the method including receiving an input signal including a set of block groups in a frame, where each block includes content. In a first loop, the method includes sequentially selecting each block group from the set of block groups as a selected first block group for potential merge. In a second loop, the method includes sequentially selecting each block group from the set of block groups that is different from the first block group as a selected second block group for potential merge; obtaining a first quality metric related to the merge of the selected first block group with the selected second block group; and selectively identifying the second block group as a merge candidate block by comparing the first and second quality metrics of the second block group with a previous iteration of the second loop. The method includes, after the second loop has completed all iterations, selectively merging the selected first block group with the identified merge candidate blocks, assembling the frames as an encoded signal, and outputting the encoded signal.

[0016] According to yet another exemplary embodiment, there is provided a non - transient computer - readable storage medium recording a program of executable instructions for a device to perform a method including receiving an input signal including a set of block groups within a frame, each block including content. In a first loop, the method includes sequentially selecting each block group from the set of block groups as a selected first block group for potential merging. In a second loop, the method includes sequentially selecting each block group different from the first block group from the set of block groups as a selected second block group for potential merging, obtaining a first quality measure associated with merging the selected first block group with the selected second block group, obtaining a second quality measure associated with merging the selected first block group with the selected second block group, comparing the first and second quality measures of the second block group with previous iterations of the second loop, and selectively identifying the second block group as a merge candidate block. After the second loop has completed all iterations, the method includes selectively merging the selected first block group with the identified merge candidate blocks, assembling the frame as an encoded signal, and outputting the encoded signal.

[0017] In some examples, a method of encoding audio blocks within a frame includes receiving an input signal including blocks of audio information and merging a set of blocks of audio information based on (i) a cost associated with merging two or more blocks of audio information and (ii) an estimated distortion resulting from merging two or more blocks of audio information.

[0018] In some additional examples, the cost associated with merging two or more blocks of audio information and / or the estimated distortion resulting from merging two or more blocks of audio information is determined based on the weighted dB cost of the two or more blocks. The weighted dB cost is implemented to identify whether merging two or more blocks is advantageous (e.g., cost-effective) compared to not merging the two or more blocks. The weighted dB cost may be based on the average power level of each scale factor band and the per-block power level of the blocks of audio information.

[0019] In some other examples, the cost associated with merging two or more blocks of audio information and / or the estimated distortion resulting from merging two or more blocks of audio information is determined based on the bit cost for transmitting the blocks of audio information calculated using perceptual entropy.

[0020] In some further examples, merging two or more blocks of audio information includes merging adjacent blocks. The blocks of audio information may include time-domain samples of the audio information, frequency-domain coefficients of the audio information, or a combination thereof.

[0021] Thus, various aspects of the present disclosure provide for the processing of audio blocks, offering an improvement in effectiveness, at least in the technical fields of audio encoding, audio decoding, and the like.

[0022] The embodiments described herein can generally be described as a technology, where the term "technology" can refer to a system, apparatus, method, computer-readable instructions, module, component, hardware logic, and / or operation, as suggested by the context in which it is applied herein.

[0023] Features and technical benefits other than those explicitly stated above will become apparent upon reading the following detailed description and related drawings. This summary is provided to introduce the selection of technology in a simplified form and is not intended to identify key or essential features of the claimed subject matter as defined by the attached claims. [Brief explanation of the drawing]

[0024] These and other more detailed and specific features of various embodiments are further fully disclosed in the following description and with reference to the attached drawings.

[0025] [Figure 1] This is a block diagram of an exemplary audio coding system to which various embodiments of the present invention may be applied.

[0026] [Figure 2A] This is a block diagram of an exemplary electronic device architecture suitable for carrying out various aspects of the present invention.

[0027] [Figure 2B] Figure 2A shows a schematic block diagram of an exemplary CPU implemented in the device architecture which can be used to carry out various aspects of the present invention.

[0028] [Figure 3] This flowchart illustrates various exemplary methods for merging blocks based on quality metrics.

[0029] [Figure 4] The flowcharts show several exemplary methods for merging blocks based on a 6dB / bit estimation rule.

[0030] [Figure 5] This section presents flowcharts illustrating various exemplary methods for merging blocks based on perceptual entropy.

[0031] [Figure 6] A block diagram is shown illustrating an example of a Greedy Merge process applied to four blocks according to various embodiments of the present invention.

[0032] [Figure 7] A flowchart shows an exemplary method performed by a decoding device according to various embodiments of the present invention. [Modes for carrying out the invention]

[0033] The following description includes numerous details, such as audio device configuration, timing, and operation, to provide an understanding of one or more aspects of the present disclosure. It will be immediately apparent to those skilled in the art that these specific details are merely examples and are not intended to limit the scope of the application.

[0034] When used in this specification, the term “includes” and its variations shall be interpreted as a broad term meaning “includes, but not limited to.” The term “or” shall be interpreted as “and / or” unless explicitly indicated in the context. The term “based on” shall be interpreted as “based at least in part.” The terms “one exemplary implementation” and “exemplary implementation” should be interpreted as “at least one exemplary implementation.” The term “another implementation” should be interpreted as “at least one other implementation.” The terms “determined,” “determine,” or “to determine” should be interpreted as “obtain,” “receive,” “calculate,” “calculate,” “estimate,” “predict,” or “derive.” Furthermore, in the following descriptions and claims, unless otherwise noted, all technical and scientific terms used in this specification shall have the same meaning as those generally understood by those skilled in the art to which this disclosure belongs.

[0035] Figure 1 shows a block diagram of an exemplary audio coding system 100 that can incorporate various embodiments of the present invention. The exemplary audio coding system 100 includes an encoder 110 and a decoder 120. The input of encoder 100 corresponds to a first signal path 105, and the output of encoder 100 corresponds to a second signal path 115. The input of decoder 120 corresponds to a second signal path 115, and the output of decoder 125 corresponds to a third signal path 125.

[0036] Encoder 110 is configured to receive one or more streams of audio information representing one or more channels of an audio signal from a first signal path 105. Encoder 110 is further configured to process the streams of audio information to generate an encoded signal that can be output to a second signal path 115. In the second signal path 115, the encoded signal may be stored (e.g., captured, buffered and / or recorded) or transmitted (e.g., via a wired or wireless communication medium). Decoder 120 is configured to receive the encoded signal from the second signal path 115. Decoder 120 is further configured to process the encoded signal to generate a decoded signal that can be output to a third signal path 125. The decoded signal generated by decoder 120 corresponds to a copy of the audio information previously received by encoder 110 from the first signal path 105. In the third signal path, the decoded signal may be stored (e.g., captured and / or recorded), transmitted (e.g., via a wireless or wired electronic communication medium), or output to a listening device (e.g., an audio processing device such as a receiver, speaker, or soundbar).

[0037] In the various examples described herein, the terms “replica” and “replica signal” are not intended to mean that the stream of audio information is “identical.” Instead, the term “replica” may indicate that the stream of audio information is substantially identical to the original audio information. For example, if encoder 110 generates an encoded signal using lossless coding techniques, decoder 120 can, in principle, reconstruct a lossless version from the stream that is substantially identical to the original audio information. However, in examples where encoder 110 uses lossy coding techniques, such as perceptual coding, the content of the reconstructed replica signal may not be identical to the content of the original stream, but may be perceptually indistinguishable from the original content. Thus, the terms “replica” and “replica signal” are intended to cover both lossless and lossy coding techniques as used herein.

[0038] Figure 2A shows a block diagram of an exemplary electronic device architecture 200 (e.g., device 200) suitable for carrying out various aspects of the present disclosure. The architecture 200 includes, but is not limited to, server and client devices, systems, and methods, as described with reference to Figures 3 to 5. As shown, the architecture 200 includes a central processing unit (CPU) 201 capable of performing various operations according to a program stored, for example, in read-only memory (ROM) 202 or a program loaded, for example, from a storage unit 208 into random access memory (RAM) 203. The CPU 201 may be, for example, an electronic processor 201. The RAM 203 also stores data necessary when the CPU 201 performs various operations, as needed. The CPU 201, ROM 202, and RAM 203 are connected to each other via a bus 204. The CPU 201 can execute instructions stored in ROM 202, RAM 203, or both, to perform methods described herein relating to frame segmentation and data encoding and decoding. The input / output (I / O) interface 205 is also connected to bus 204.

[0039] The following components are connected to the I / O interface 205: an input unit 206 which may include a keyboard, mouse, etc.; an output unit 207 which may include a display such as a liquid crystal display (LCD) and one or more speakers; a storage unit 208 which includes a hard disk or another suitable storage device; and a communication unit 209 which includes a network interface card such as a network card (e.g., wired or wireless).

[0040] In some implementations, the input unit 206 includes one or more microphones located at different positions (depending on the host device) that enable the capture of audio signals in various formats (e.g., mono, stereo, spatial, immersive, or other appropriate formats).

[0041] In some implementations, the output unit 207 includes a system with varying numbers of speakers. The output unit 207 can render audio signals in various formats (e.g., mono, stereo, immersive, binaural, or other appropriate formats) depending on the capabilities of the host device.

[0042] In some embodiments, the communication unit 209 is configured to communicate with other devices (e.g., via a network). The drive 210 is also connected to the I / O interface 205, if necessary. A removable medium 211, such as a magnetic disk, optical disk, magneto-optical disk, flash drive, or another suitable removable medium, is mounted on the drive 210, and as a result, computer programs read from it are installed in the storage unit 208, if necessary. Those skilled in the art will understand that although the device 200 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 that all such changes or variations are all included within the scope of this disclosure.

[0043] According to exemplary embodiments of the present disclosure, the processing described above may be implemented as a computer software program or on a computer-readable storage medium. For example, embodiments of the present disclosure include a computer program product which includes a computer program tangibly embodied on a machine-readable medium. The computer program includes program code for performing the method. In such embodiments, the computer program may be downloaded and implemented from a network via a communication unit 209 and / or installed from a removable medium 211, as shown in Figure 2A.

[0044] Figure 2B shows a schematic block diagram of an exemplary CPU 201 implemented in the device architecture 200 of Figure 2A, which may be used to carry out various embodiments of the present invention. The CPU 201 includes an electronic processor 220 and a memory 221. The electronic processor 220 is electrically and / or communicatively connected to the memory 221 for bidirectional communication. The memory 221 stores encoding software 222 and / or decoding software 223. In some examples, the memory 221 may be located inside the electronic processor 220, such as an internal cache memory or other internally located ROM, RAM, or flash memory. In other examples, the memory 221 may be located, for example, in ROM 202, RAM 203, flash memory, or removable media 211, or another non-temporary computer-readable medium conceivable for the device architecture 200. In some cases, the electronic processor 220 may implement the encoding software 222 stored in the memory 221 to perform, among other things, method 300 of Figure 3, method 400 of Figure 4, and / or method 500 of Figure 5. Furthermore, the electronic processor 220 can implement decoding software 223 stored in memory 221, in particular, to perform the method 700 shown in Figure 7.

[0045] Typically, various exemplary embodiments of this disclosure may be implemented in hardware or dedicated circuitry (e.g., control circuits), software, logic, or any combination thereof. For example, the unit described above may be executed by a control circuit (e.g., CPU 201 in combination with other components in Figure 2A). Thus, the control circuit can perform the operations described in this disclosure. Some embodiments may be implemented in hardware, while others may be firmware or software implementations that may be executed by a control unit, microprocessor, or other computing device (e.g., control circuit). Although various embodiments of the exemplary embodiments of this disclosure have been illustrated and described using block diagrams, flowcharts, or some other graphical representations, it should be understood that the blocks, devices, systems, techniques, or methods described in this specification may, in non-limiting examples, be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or control units or other computing devices, or any combination thereof.

[0046] Furthermore, the various blocks shown in the flowchart may be considered as steps of a method, and / or as operations resulting from operations in computer program code, and / or as a plurality of coupled logic circuit elements configured to perform related functions. For example, embodiments of the present disclosure include a computer program product which includes a computer program tangibly embodied on a machine-readable medium. The computer program includes program code configured to perform the methods described above.

[0047] In the context of this disclosure, a machine-readable medium may be any tangible medium that contains or can store a program for use by or in connection with an instruction execution system, device, or apparatus. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may be intangible and may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatus, or any suitable combination thereof. More specific examples of machine-readable storage media may include one or more wires, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0048] Computer program code for performing the methods of this disclosure may be written in any combination of one or more programming languages. This computer program code may be provided to the processor of a general-purpose computer, a dedicated computer, or another programmable data processing device having a control circuit. As a result, when the program code is executed by the processor of the computer or other programmable data processing device, it causes the functions / operations specified in the flowchart and / or block diagrams to be performed. The program code may be executed entirely on a computer, partially on a computer, as a standalone software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server, or distributed across one or more remote computers and / or servers.

[0049] Embodiments described herein perform frame segmentation by considering together the effects of grouping based on both side information cost and distortion due to spectral coefficient quantization. Metrics are developed for both forms of cost and are typically expressed in bits. For a given pair of neighboring groups that are candidates for merging, the number of side information bits saved by the merge is compared to the number of bits lost in spectral coefficient quantization. If the number of bits saved is greater than the number of bits lost, the corresponding neighboring groups can be merged with a net reduction in quantization distortion.

[0050] Embodiments described herein may be implemented by any cost-based search method for finding a grouping solution. These cost-based search methods include the Exhaustive Search Method, the Greedy Merge Method, and the Fast Optimal Method. As an example, the Greedy Merge Method starts with each block in a single frame represented by its own side information, and then iteratively merges the blocks into groups that minimize a suitable cost metric. In each iteration step, the cost of merging all adjacent pairs of a group is compared to the cost of keeping them separate. The group pair with the most favorable cost is merged into a single group. This iterative process continues until it is no longer possible to merge adjacent groups to generate a more optimal solution.

[0051] In some implementations, side information primarily consists of a scale factor, also known as spectral envelope data for AC-3 and split-rendering codecs. The scale factor can be derived from the perceptual masking threshold in the context of MPEG-AAC. However, other forms of side information, such as Huffman codebook assignments and section information, can also be used in perceptual audio codecs, as described by M. Bosi et al., “ISO / IEC MPEG-2 Advanced Audio Coding”, J. Audio Eng. Soc., Vol. 45, No. 10, October 1997. The side information cost can be calculated by encoder 110 using conventional bit-counting means. Alternatively, the side information cost can be estimated using long-term average values ​​of the scale factor, Huffman codebook, and section data.

[0052] Figure 3 shows flowcharts of various exemplary methods 300 for merging blocks based on a quality metric. Exemplary methods 300 can be executed by a processor, such as a CPU 201, which can be configured to execute methods 300 via machine-executable instructions. Exemplary methods 300 can be divided into various blocks or partitions, such as blocks 302, 304, 306, and 308. The various processing blocks shown in Figure 3 provide examples of the various methods disclosed herein, and it is understood that some blocks can be removed, added, merged, or modified without departing from the spirit of this disclosure. In some examples, the processing of various blocks, which can be described as processes, methods, steps, blocks, actions, or functions, can begin in block 302.

[0053] In block 302, "Receive a block of audio information," the CPU 201 receives a block of audio information. The block of audio information is placed within a frame. In some embodiments, each block of audio information contains content representing each time interval of the audio information. Furthermore, the block may include time-domain samples of the audio information, frequency-domain coefficients of the audio information, or a combination thereof. Processing may proceed from block 302 to block 304.

[0054] In block 304, “Obtain a first quality measure for each block group,” CPU 201 obtains a first quality measure for each block group. For example, CPU 201 may obtain a first quality measure as a measure of side information cost for each possible block group that may be formed by merging various blocks of audio information. The measure of side information cost may be obtained or determined by, for example, estimation (multiple estimations), calculation (multiple calculations), or other methods, as will be described in more detail below. Processing may proceed from block 304 to block 306.

[0055] In block 306, "Obtain a second quality measure for each block group," CPU 201 obtains a second quality measure for each block group. For example, CPU 201 may obtain a second quality measure for each possible block group as a measure of distortion due to spectral coefficient quantization. The distortion measure can be obtained or determined, for example, by estimation (multiple estimations), calculation (multiple calculations), or other methods, as will be described in more detail below. The process may proceed from block 306 to block 308.

[0056] In block 308, "Merge sets of audio information blocks based on the first and second quality measures," CPU 201 merges sets of audio information blocks based on the first and second quality measures. For example, for each possible block group that may be formed, CPU 201 can iteratively process the first and second quality measures and selectively merge blocks of audio information that reduce cost while limiting distortion. In some examples, the set of block groups includes at least two block groups. In other examples, the set of block groups may include at least one block group, at least three block groups, at least four block groups, and so on.

[0057] In some implementations, the measure of distortion is related to the change in spectral coefficient bits assigned using the 6dB / bit rule. For example, b k In a specific bandwidth containing several spectral coefficients, if merging (compared to coding blocks individually) increases the scale factor by 3dB, the number of bits lost is approximately 3b. k It is / 6. The resulting distortion increases in this bandwidth. Alternatively, if merging reduces the scale factor by 4dB, the number of bits obtained compared to coding the blocks individually is 4b k It is / 6. In this case, the allocated gain can be considered as overcoding of the spectral coefficients.

[0058] Figure 4 shows flowcharts of several exemplary methods for merging blocks based on an estimated rule of 6 dB / bit. Exemplary method 400 can be executed by a processor such as CPU 201, which can be configured to execute method 400 via machine-executable instructions. Exemplary method 400 can be divided into various blocks or partitions such as blocks 402, 404, 406, 408, 410, 412, and 414. The various processing blocks shown in Figure 4 provide examples of the various methods disclosed herein, and it is understood that some blocks can be removed, added, merged, or modified without departing from the spirit of this disclosure. In some examples, the processing of various blocks, which can be described as processes, methods, steps, blocks, operations, or functions, can begin in block 402.

[0059] In block 402, "Receive a pair of audio block groups," the CPU 201 receives a pair of block groups. For example, multiple blocks of audio information are received. The blocks of audio information form block groups, each containing at least one audio block. The CPU 201 considers merging the first block group and the second block group. In some implementations, the first and second block groups are adjacent block groups. The first block group contains N1 blocks, and the merged group (for example, the group formed by merging or combining the first and second block groups) contains N blocks. Each block of audio information contains K scale factor bandwidths per block. Processing may continue from block 402 to block 404.

[0060] In block 404, "Calculate the total weighted dB cost of the first block group," CPU 201 calculates the total weighted dB cost of the first block group for not generating a merged group. For example, Equation 1 provides a way to calculate the first total weighted cost C1.

number

[0061] In block 406, "Calculate the total weighted dB cost of the second block group," CPU 201 calculates the total weighted dB cost of the second block group for not generating a merged group. For example, Equation 2 provides a way to calculate the second total weighted cost.

number

[0062] In block 408, "Calculate the total weighted dB cost of the merged group," CPU 201 calculates the total weighted dB cost of the merged group compared to not generating a merged group. For example, Equation 3 provides a way to calculate the total weighted cost of the merged group.

number

[0063] In block 410, "Calculate the merge ratio based on total weighted cost," CPU201 calculates the merge ratio based on the total weighted dB cost (for example, based on the calculated first total weighted dB cost, the calculated second total weighted dB cost, and the calculated merged total weighted dB cost). For example, CPU201 calculates the merge ratio R by dividing the estimated number of spectral bits lost during merging by the saved side information bits, as shown in Equation 4.

number

[0064] In the merge ratio R, the following components:

number

[0065] In block 412, "Have all block groups been considered?", the CPU 201 determines whether all block groups contained within multiple blocks of audio information have been considered. Specifically, the CPU 201 determines whether the merge ratio has been calculated for all block groups that may be merged. If not all block groups have been considered, the process proceeds from block 412 to block 414, where the CPU 201 selects the next pair of audio block groups. The process then returns from block 414 to block 404, where the CPU 201 proceeds to calculate the merge ratio for the new block groups.

[0066] When all block groups included in a plurality of blocks of audio information are considered, the process proceeds from block 412 to block 416. At block 416, "Is there a merge that meets the threshold?", the CPU 201 determines whether any merge of the block groups meets the threshold. For example, the CPU 201 compares the calculated merge ratio of each pair of audio block groups with the threshold. For example, when the calculated merge ratio is less than the threshold and meets the threshold, the pair of audio block groups with the lowest calculated merge ratio is identified. In another example, when the calculated merge ratio is above the threshold and meets the threshold, the pair of audio block groups with the highest calculated merge ratio is identified.

[0067] In some examples, the threshold may be 1. When the merge ratio R is less than 1, merging the first block group and the second block group into a merged group is considered more preferable than encoding the first block group and the second block group separately. When the merge ratio R is 1 or more, merging the first block group and the second block group into a merged group is considered unfavorable, and the first block group and the second block group are retained as separate groups.

[0068] Since the merged set of scale factors results in a higher quantizer accuracy loss than two separate groups, the numerator may be non - negative. The weight w nk may be calculated, for example, based on the masking effect at the perceptual level so that spectral components that are subjectively larger than other components contribute more to the total cost than components with lower significance. Further details regarding the masking effect at the perceptual level are described in U.S. Patent Application Publication No. 2022 / 0415334, "A Psychoacoustic Model for Audio Processing", the entire contents of which are incorporated herein by reference.

[0069] If at least one merge satisfies the threshold, processing can continue from block 416 to block 418. In block 418, "Identify the block group that best satisfies the threshold," CPU 201 identifies which block group best satisfies the threshold. For example, in a situation where the CPU determines whether the calculated merge ratio R is less than 1, CPU 201 identifies the pair of audio block groups having the "smallest" calculated merge ratio R greater than 1. In another example, in a situation where the CPU determines whether the calculated merge ratio R is greater than 1, CPU 201 identifies the pair of audio block groups having the "largest" calculated merge ratio R greater than 1. Processing can continue from block 418 to block 420. In block 420, "Merge the identified first and second block groups," CPU 201 merges the identified first and second block groups identified in block 418.

[0070] In another example, CPU201 calculates a merge difference value S, which provides the difference between the "lost" bits and the bits saved by the merge, as provided by Equation 5.

number

[0071] A variation of estimating spectral coefficient bit loss using a 6dB per bit rule is based on a backward-adaptive bit allocation scheme, as described in G. Davidson et al., “Parametric Bit Allocation in a Perceptual Audio Coder,” 97th AES Convention, San Francisco, November 1994. In this example, the scale factor represents the spectral envelope (e.g., band RMS or peak signal energy). Furthermore, when bit allocation is derived based on perceptual level masking, two opposing factors affect the bit loss estimation. As mentioned above, increasing the spectral envelope decreases the estimated number of spectral coefficient bits. Alternatively, a masking threshold derived using the perceptual level rule from an increased envelope increases the estimated number of spectral coefficient bits. The combined effects of both changes can be used to estimate the net change in estimated spectral bits.

[0072] In an example of a backward-adaptive codec based on sensory level masking, the first total weighted cost C1, the second total weighted cost C2, and the absolute value operator of C can be adjusted to account for the offsetting effect of sensory level masking. Furthermore, the mean side information difference estimate b SI *K may be replaced with the actual bit difference to improve precision. For example, as shown in Equation 6, b SI The term *K may be replaced with a value corresponding to the difference between the number of side information bits for the two separate groups and the merged group.

number

[0073] Referring again to block 416, in some cases none of the calculated merge ratios meet the threshold. In such cases, processing can proceed from block 416 to block 422. In block 422, “End merge operation”, CPU 201 terminates the merge operation and none of the audio block groups are merged. Various exemplary methods 400 may continue until none of the calculated merge ratios meet the threshold. For example, once a merge is performed, the process of considering each possible merge group and merging the adjacent group that yields the greatest improvement continues until it is no longer possible to merge two adjacent groups to yield an improvement in coding accuracy. Considering each group before performing the merge, since there may be multiple candidates that meet the threshold, provides merging the group that yields the greatest amount of improvement.

[0074] Another example of estimating the spectral coefficient bits lost during group merging is based on perceived entropy. In some encoders, such as MPEG-4 AAC and Dolby AC-4, the scale factor is derived from an estimate of the noise masking threshold. The noise masking threshold can be used to estimate the number of bits required to transmit spectral coefficients from each block in a perceptually transparent manner (e.g., perceptual entropy). The estimated number of bits lost after the merge operation is then derived based on the cumulative per-band difference between the perceived entropy and the number of bits actually used.

[0075] Figure 5 shows flowcharts of various exemplary methods 500 for merging blocks based on perceived entropy. Exemplary methods 500 can be executed by a processor such as a CPU 201, which can be configured to execute methods 500 via machine-executable instructions. Exemplary methods 500 can be divided into various blocks or partitions such as blocks 502, 504, 506, 508, 510, 512, and 514. The various processing blocks shown in Figure 5 provide examples of the various methods disclosed herein, and it is understood that some blocks can be removed, added, merged, or modified without departing from the spirit of this disclosure. In some examples, the processing of various blocks, which can be described as processes, methods, steps, blocks, actions, or functions, can begin in block 502.

[0076] In block 502, "Receive a pair of audio block groups," the CPU 201 receives a pair of audio block groups. For example, multiple blocks of audio information are received. The blocks of audio information form block groups, each containing at least one audio block. The CPU 201 considers merging the first block group and the second block group. In some implementations, the first and second block groups are adjacent block groups. The first block group contains N1 blocks, and the merged group (for example, the group formed by merging or combining the first and second block groups) contains N blocks. Each block of audio information contains K scale factor bandwidths per block. Processing may continue from block 502 to block 504.

[0077] In block 504, “Calculate the cost of transmitting separate groups,” CPU 201 calculates the cost of transmitting the first block group and the second block group separately. For example, CPU 201 calculates the cost Cs of transmitting the separate groups in bits relative to the baseline condition, as provided by Equation 7.

number

[0078] In block 506, “Calculate the cost of sending the merged group,” CPU 201 calculates the cost of sending the first block group and the second block group as a merged group. For example, CPU 201 calculates the cost Cm in bits of sending the merged group in relation to the baseline condition, as provided by Equation 8.

number

[0079] In block 508, "Calculate the cost difference between merging and not merging," CPU201 calculates the cost difference between merging and not merging a pair of audio blocks. For example, CPU201 calculates the difference between cost Cm and cost Cs, as given by equation 9.

number

[0080] In block 510, "Have all block groups been considered?", the CPU 201 determines whether all block groups contained within multiple blocks of audio information have been considered. In particular, the CPU 201 determines whether cost differences have been calculated for all block groups that may be merged. If not all block groups have been considered, the process can proceed from block 510 to block 512. In block 512, "Select the next pair of audio block groups", the CPU 201 selects the next pair of audio block groups. The process then returns to block 504, where the CPU 201 proceeds to calculate the cost differences for the new block groups.

[0081] If all block groups contained within multiple blocks of audio information are considered, processing proceeds from block 510 to block 514. In block 514, "Are there any merges that satisfy the threshold?", CPU 201 determines whether any merges satisfy the threshold. For example, CPU 201 compares the calculated cost difference of each pair of audio block groups to the threshold. For example, if the calculated cost difference is less than the threshold and satisfies the threshold, it identifies the pair of audio block groups with the lowest calculated cost difference. In another example, if the calculated cost difference is above the threshold and satisfies the threshold, it identifies the pair of audio block groups with the highest calculated cost difference.

[0082] In some implementations, the threshold is 0. If the cost difference C is less than 0, merging is considered preferable, and CPU201 identifies the first and second block groups as candidates for generating a merged group. If the cost difference C is 0 or greater, CPU201 does not merge the first and second block groups.

[0083] The process can proceed from block 514 to block 516. In block 516, "Identify the pair of audio block groups that best satisfy the threshold," the CPU 201 identifies which block group best satisfies the threshold. For example, if the threshold is 0, the CPU 201 identifies which pair of audio block groups is the "smallest" of 0. The process can proceed from block 516 to block 518. In block 518, "Merge the identified first and second block groups," the CPU 201 merges the identified first and second block groups identified in block 516.

[0084] Referring again to block 514, in some cases none of the calculated merge ratios meet the threshold. In such cases, processing can proceed from block 514 to block 520. In block 520, “End merge operation”, CPU201 terminates the merge operation and none of the audio block groups are merged. Method 500 may continue until none of the calculated merge ratios meet the threshold. For example, once a merge is performed, the process of considering each possible merge group and merging the adjacent group that yields the greatest improvement continues until it is no longer possible to merge two adjacent groups to yield an improvement in coding accuracy. Considering each group before performing the merge, since there may be multiple candidates that meet the threshold, provides the opportunity to merge the group that yields the greatest amount of improvement.

[0085] In some cases, the MDCT transformation is used to calculate spectral coefficients. In such cases, the perceptual entropy PE is used.nk and estimated bit number G1 nk , G2 nk M nk This can be calculated for one block n and one band k using Equation 10.

number

[0086] Figure 5 provides only a few exemplary methods for calculating perceptual entropy. Other exemplary methods for calculating perceptual entropy will be understood in light of this disclosure and may be implemented herein.

[0087] Figure 6 shows an example of a Greedy Merge process applied to four blocks according to various embodiments of the present invention. The Greedy Merge process may be, for example, method 300, method 400, or method 500. In the example of Figure 6, the four blocks are initially placed into four groups a, b, c, and d, each having one block. The four groups a, b, c, and d are the original block groups from the input audio data. These groups are candidate block groups when the CPU 201 begins to decide whether the block groups should be merged. Next, this method finds (e.g., identifies or determines) two adjacent groups that should be merged, as determined using method 400 or method 500. In the first iteration, this method finds that groups b and c have a cost J less than the threshold T and should be merged. Thus, groups b and c are merged into a new group, yielding three groups a, bc, and d. In the second iteration, groups a, bc, and d are candidate groups. The method described finds (e.g., identify or decide) that adjacent groups a and bc have a cost J less than the threshold T and should be merged. Groups a and bc are merged into a new group, giving a total of two groups abc and d. In the third iteration, the method finds (e.g., identify or decide) that the cost J of the only remaining pair of groups is greater than the threshold T. The method then terminates, leaving the last two groups abc and d.

[0088] Figure 7 shows a flowchart of an exemplary method 700 for decoding an encoded signal. The exemplary method 700 can be executed by a processor, such as a CPU 201, which can be configured to execute the method 700 via machine-executable instructions. The exemplary method 700 can be divided into various blocks or partitions, such as blocks 702 and 704. The various processing blocks shown in Figure 7 provide examples of the various methods disclosed herein, and it is understood that some blocks can be removed, added, combined, or modified without departing from the spirit of this disclosure. In some examples, the processing of various blocks, which can be described as processes, methods, steps, blocks, operations, or functions, can begin in block 702.

[0089] In block 702, "Receive an encoded signal containing merged blocks of audio information," the CPU 201 receives an encoded signal containing merged blocks of audio information. As previously mentioned, the blocks of audio information were merged based on the first and second scale quality. Processing may continue from block 702 to block 704.

[0090] In block 704, "Decode the Encoded Signal," CPU 201 decodes the encoded signal. In some cases, the decoded signal specifies the grouping of block groups calculated during encoding in the grouping information (provided as metadata). Therefore, the decoder reconstructs the audio information by ungrouping the merged groups based on the grouping information. In some cases, a scale factor is decoded from the encoded signal and applied to the spectral coefficients to reconstruct the audio information.

[0091] Those skilled in the art will understand that the present invention is not limited to the embodiments described above. Rather, many modifications and variations are possible and should be considered within the scope of the appended claims. Various aspects and implementations of this disclosure can also be understood from the enumerated example embodiments (EEEs) listed below. These may represent systems, methods, and apparatus arranged according to aspects of this disclosure, rather than being claims themselves.

[0092] (EEE1) A method for encoding blocks of audio within a frame, wherein each frame comprises a set of block groups, each block comprises content, and the method is: A step of receiving an input signal including a block of audio information, wherein the block of audio information includes a set of block groups for each frame, A step of obtaining a first quality measure for each block group in the set of block groups, wherein the first quality measure represents the cost associated with merging multiple blocks of audio information to form each block group. A step of obtaining a second quality measure for each block group, wherein the aforementioned second quality measure indicates the estimated distortion associated with the merging of multiple blocks of audio information to form each block group. A step of merging at least two block groups from the set of block groups based on the first quality measure and the second quality measure to generate an encoded signal representing the associated control parameters and input signal content for each block group in the set, The steps include outputting the encoded signal, A method that includes this.

[0093] (EEE2) For each block group, the steps for obtaining the first quality metric and for each block group, the steps for obtaining the second quality metric are as follows: In the first loop, the steps include sequentially selecting each block group from the set of block groups as the selected first block group for potential merging, In the second loop, the steps include sequentially selecting each block group from the set of block groups that is different from the selected first block group as the selected second block group for potential merging, The method described in EEE1, including the method described in EEE1.

[0094] (EEE3) For each block group, the steps for obtaining the first quality metric and for each block group, the steps for obtaining the second quality metric are as follows: The method of EEE2, comprising the step of selectively identifying the second block group as a merge candidate block by comparing the first and second scales of the second block group with a previous iteration of the second loop.

[0095] (EEE4) The steps of merging at least two block groups from the set of block groups to generate the encoded signal, and outputting the encoded signal, After the second loop has completed all iterations, the selected first block group is selectively merged with the identified merge candidate blocks. The second loop completes all iterations, and then outputs the encoded signal. The methods described in EEE3, including those described in EEE3.

[0096] A method for encoding a block of audio within a (EEE5) frame, wherein the method is: A step of receiving an input signal which includes a set of block groups in a frame, wherein each block includes content, In the first loop, the steps include sequentially selecting each block group from a set of block groups as the first selected block group for potential merges, In the second loop, the steps include sequentially selecting each block group from the set of block groups that is different from the aforementioned first block group as the selected second block group for potential merging, A step of obtaining a first quality measure related to the merging of the selected first block group with the selected second block group, A step of obtaining a second quality measure related to the merging of the selected first block group with the selected second block group, A step of selectively identifying the second block group as a merge candidate block by comparing the first and second quality measures of the second block group with the previous iteration of the second loop, After the second loop has completed all iterations, the selected first block group is selectively merged with the identified merge candidate blocks. After the second loop has completed all iterations, the steps include assembling the frame as an encoded signal and outputting the encoded signal, A method that includes this.

[0097] (EEE6) The steps of obtaining the first quality measure and obtaining the second quality measure are: A step of calculating the first total weighted dB cost of the first block group relating to not merging the first block group and the second block group, A step of calculating the second total weighted dB cost of the second block group relating to not merging the first block group and the second block group, A step of calculating the total weighted cost of the merged group relating to not merging the first block group and the second block group, A step of determining whether to merge the first block group and the second block group to form the merged group based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost, The method described in any one of the EEE1 to 5, including the method described in any one of the EEE1 to 5.

[0098] (EEE7) The step of deciding whether or not to merge the first block group and the second block group is: The steps include: calculating the value of the merge ratio based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost; The steps include comparing the value of the aforementioned merge ratio with a threshold, The method described in EEE6, including the method described in EEE6.

[0099] (EEE8) The method according to EEE7, wherein the value of the merge ratio is based on the bit count difference between the side information bit counts of the first block group, the second block group, and the merged group.

[0100] (EEE9) The step of calculating the first total weighted dB cost is the method according to EEE6, based on the average power level of each scale factor band and the power domain scale factor per block of each scale factor band.

[0101] (EEE10) The method according to any one of EEE6 to 9, wherein the first block group and the second block group are adjacent block groups.

[0102] (EEE11) The steps of obtaining the first quality measure and obtaining the second quality measure are: The steps include: using perceived entropy to calculate the first bit cost for sending the first block group and the second block group separately relative to the baseline perceived entropy; A step of using perceived entropy to calculate a second bit cost for transmitting the first block group and the second block group as a merged group with respect to the baseline perceived entropy, A step of calculating the cost difference between the first bit cost and the second bit cost, The method described in any one of the EEE1 to 5, including the method described in any one of the EEE1 to 5.

[0103] (EEE12) A step of determining whether or not to merge the first block group and the second block group by comparing the cost difference with a threshold, The method described in EEE11, further including the above.

[0104] (EEE13) The method according to any one of EEE1 to EEE12, wherein the block includes a time-domain sample of the audio.

[0105] (EEE14) The method according to any one of EEE1 to 12, wherein the block includes the frequency domain coefficients of the audio.

[0106] (EEE15) The method according to any one of EEE5 to 14, further comprising the step of terminating the potential merge of the selected first block group and the selected second block group after the first loop has completed all iterations and the second loop has completed all iterations.

[0107] (EEE16) A device for encoding blocks of audio information arranged within a frame, wherein each frame includes a set of block groups, each block includes content, and the device comprises: A device including an electronic processor configured to perform an operation including the method described in any one of the EEE5-15 clauses.

[0108] (EEE17) A non-temporary computer-readable storage medium that stores a program of instructions executable by a device for performing the method described in any one of EEE5 to EEE15.

[0109] (EEE18) A device for encoding blocks of audio information arranged within a frame, wherein each frame includes a set of block groups, each block includes content, and the device comprises: Includes an electronic processor, the electronic processor is An input signal is received that includes a block of audio information, and the block of audio information includes a set of block groups for each frame. For each block group, a first quality metric is obtained, and the aforementioned first quality metric represents the cost associated with merging multiple blocks of audio information to form each block group. For each block group, a second quality metric is obtained, and the aforementioned second quality metric indicates the estimated distortion associated with the merging of multiple blocks of audio information to form each block group. Based on the first and second quality measures, at least two block groups from the set of block groups are merged to generate an encoded signal representing the associated control parameters and input signal content for each block group included in the set. Outputting the coded signal, A device configured in such a way.

[0110] (EEE19) In order to obtain the first quality measure and the second quality measure, the electronic processor The first total weighted dB cost of the first block group is calculated in relation to not merging the first block group and the second block group. The second total weighted dB cost of the second block group is calculated in relation to not merging the first block group and the second block group. Calculate the total weighted cost of the merged group related to not merging the first block group and the second block group, Based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost, it is determined whether or not to merge the first block group and the second block group to form the merged group. The equipment described in EEE18, configured as follows.

[0111] (EEE20) In order to determine whether or not to merge the first block group and the second block group, the electronic processor The value of the merge ratio is calculated based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost. The value of the aforementioned margin ratio is compared with a threshold. The equipment described in EEE19, configured as follows.

[0112] (EEE21) The device according to EEE20, wherein the value of the merge ratio is based on the bit count difference between the side information bit counts of the first block group, the second block group, and the merged group.

[0113] (EEE22) The step of calculating the first total weighted dB cost is the equipment described in EEE19, based on the energy of each scale factor band and the power domain scale factor per block of each scale factor band.

[0114] (EEE23) The first block group and the second block group are adjacent block groups, and the equipment is as described in any one of EEE18 to 22.

[0115] (EEE24) In order to obtain the first quality measure and the second quality measure, the electronic processor Using perceived entropy, calculate the first bit cost for sending the first block group and the second block group separately relative to the baseline perceived entropy. Using the perceived entropy, calculate the second bit cost for sending the first block group and the second block group as a merged group relative to the baseline perceived entropy. The cost difference between the first bit cost and the second bit cost is calculated. The equipment described in EEE18, configured as follows.

[0116] (EEE25) The electronic processor is The apparatus according to EEE24, configured to determine whether or not to merge the first block group and the second block group by comparing the cost difference with a threshold.

[0117] (EEE26) The block is an apparatus according to any one of EEE18 to 25, which includes the time-domain sample of the audio.

[0118] A non-temporary computer-readable storage medium recording a program of (EEE27) instructions, wherein the program is executable by a device to perform a method for processing blocks of audio information arranged within a frame, and the method is A step of receiving an input signal including a block of audio information, wherein the block of audio information includes a set of block groups for each frame, For each block group, a step of obtaining a first quality metric, wherein the first quality metric represents the cost associated with merging multiple blocks of audio information to form each block group. A step of obtaining a second quality measure for each block group, wherein the aforementioned second quality measure indicates the estimated distortion associated with the merging of multiple blocks of audio information to form each block group. A step of merging at least two block groups from the set of block groups based on the first quality measure and the second quality measure to generate an encoded signal representing the associated control parameters and input signal content for each block group in the set, The steps include outputting the encoded signal, Non-temporary computer-readable storage media, including [specific type of storage medium].

[0119] (EEE28) A method for encoding a block of audio within a frame, wherein the method is: A step of receiving an input signal which includes a set of multiple audio block groups within a frame, where each block includes content, The steps include selecting one or more pairs of audio block groups from the aforementioned frame as merge candidates, For each merge candidate, the steps include obtaining a first quality measure related to the merging of the audio block group, For each merge candidate, the steps include obtaining a second quality measure related to the merging of the audio block group, A step of selecting from merge candidates a pair of audio block groups that will result in the greatest improvement in coding accuracy based on the first quality metric and the second quality metric, The steps include merging the selected pairs of audio block groups, The steps include assembling the frame as an encoded signal and outputting the encoded signal, A method that includes this.

[0120] While processes, systems, methods, heuristics, etc., are described in this specification, it should be understood that such steps, etc., are described as occurring in a specific ordered sequence, but such processes may be performed in conjunction with described steps that are performed in an order different from that described in this specification. It should be further understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described in this specification may be omitted, replaced, or amended. In other words, the descriptions of processes in this specification are provided for the purpose of illustrating specific embodiments and should not be considered as limiting the claims.

[0121] Therefore, it should be understood that the above description is intended to be illustrative and not restrictive. Reading the above description will reveal many embodiments and applications beyond those provided. The scope should be determined without reference to the above description, but instead by reference to the attached claims, along with the entire equivalent scope of the claims granted. It is anticipated and intended that future developments will occur in the technology discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In summary, it should be understood that this application is subject to modification and alteration.

[0122] All terms used in the claims are intended to give their broadest, most reasonable form and ordinary meaning so that they may be understood by those familiar with the art described herein. In particular, the use of singular articles such as “a,” “the,” and “said” should be read to refer to one or more of the elements shown, unless the claim expressly states the opposite limitation.

[0123] This summary of the disclosure is provided to enable readers to quickly assess the characteristics of the technical disclosure. It is understood that it is not to be used to interpret or limit the scope or meaning of the claims. Furthermore, it is found that in the prior detailed description, various features are grouped together into various embodiments for the purpose of streamlining the disclosure. This method of the disclosure should not be interpreted as reflecting an intention that the claimed embodiments incorporate more features than those expressly described in each claim. Rather, as reflected in the following claims, the subject matter of the invention lies in fewer features than all of a single disclosed embodiment combined. Accordingly, the following claims are incorporated herein into the detailed description, and each claim stands alone as separately claimed subject matter.

Claims

1. A method for encoding blocks of audio within a frame, wherein each frame comprises a set of block groups, each block comprises content, and the method is: A step of receiving an input signal including a block of audio information, wherein the block of audio information includes a set of block groups for each frame, For each block group, a step of obtaining a first quality metric, wherein the first quality metric indicates the cost associated with merging multiple blocks of audio information to form each block group. A step of obtaining a second quality measure for each block group, wherein the said second quality measure indicates the estimated distortion associated with the merging of multiple blocks of audio information to form each block group. A step of merging at least two block groups from the set of block groups based on the first quality measure and the second quality measure to generate an encoded signal representing the associated control parameters and input signal content for each block group included in the merge; The steps include outputting the encoded signal, A method that includes this.

2. For each block group, the steps for obtaining the first quality metric and for each block group, the steps for obtaining the second quality metric are as follows: In the first loop, the steps include sequentially selecting each block group from the set of block groups as the selected first block group for potential merging, In the second loop, the steps include sequentially selecting each block group from the set of block groups that is different from the selected first block group as the selected second block group for the potential merge, The method according to claim 1, including the method described in claim 1.

3. For each block group, the steps for obtaining the first quality metric and for each block group, the steps for obtaining the second quality metric are as follows: The method according to claim 2, further comprising the step of selectively identifying the second block group as a merge candidate block by comparing the first and second scales of the second block group with a previous iteration of the second loop.

4. The steps of merging at least two block groups from the set of block groups to generate the encoded signal, and outputting the encoded signal, After the second loop has completed all iterations, the selected first block group is selectively merged with the identified merge candidate blocks. The second loop completes all iterations, and then outputs the encoded signal. The method according to claim 3, including the method described in claim 3.

5. A method for encoding a block of audio within a frame, the method being: A step of receiving an input signal which includes a set of block groups in a frame, wherein each block includes content, In the first loop, the steps include sequentially selecting each block group from the set of block groups as the selected first block group for potential merging, In the second loop, the steps include sequentially selecting each block group from the set of block groups that is different from the first block group as the selected second block group for potential merging, A step of obtaining a first quality measure related to the merging of the selected first block group with the selected second block group, A step of obtaining a second quality measure related to the merging of the selected first block group with the selected second block group, A step of selectively identifying the second block group as a merge candidate block by comparing the first and second quality measures of the second block group with the previous iteration of the second loop, After the second loop has completed all iterations, the selected first block group is selectively merged with the identified merge candidate blocks. After the second loop has completed all iterations, the steps include assembling the frame as an encoded signal and outputting the encoded signal, A method that includes this.

6. The steps of obtaining the first quality measure and obtaining the second quality measure are as follows: A step of calculating the first total weighted dB cost of the first block group relating to not merging the first block group and the second block group, A step of calculating the second total weighted dB cost of the second block group relating to not merging the first block group and the second block group, A step of calculating the total weighted cost of the merged group relating to not merging the first block group and the second block group, A step of determining whether to merge the first block group and the second block group to form the merged group based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost, The method according to any one of claims 1 to 5, including the method described in any one of claims 1 to 5.

7. The step of deciding whether or not to merge the first block group and the second block group is: The steps include: calculating the value of the merge ratio based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost; The steps include comparing the value of the aforementioned merge ratio with a threshold, The method according to claim 6, including the method described in claim 6.

8. The method according to claim 7, wherein the value of the merge ratio is based on the bit count difference between the side information bit counts of the first block group, the second block group, and the merged group.

9. The method according to claim 6, wherein the step of calculating the first total weighted dB cost is based on the average power level of each scale factor band and the power domain scale factor per block of each scale factor band.

10. The method according to any one of claims 6 to 9, wherein the first block group and the second block group are adjacent block groups.

11. The steps of obtaining the first quality measure and obtaining the second quality measure are as follows: The steps include: using perceived entropy to calculate the first bit cost for sending the first block group and the second block group separately relative to the baseline perceived entropy; A step of using perceived entropy to calculate a second bit cost for transmitting the first block group and the second block group as a merged group relative to the baseline perceived entropy, A step of calculating the cost difference between the first bit cost and the second bit cost, The method according to any one of claims 1 to 5, including the method described in any one of claims 1 to 5.

12. A step of determining whether or not to merge the first block group and the second block group by comparing the cost difference with a threshold, The method according to claim 11, further comprising:

13. The method according to any one of claims 1 to 12, wherein the block includes a time-domain sample of the audio.

14. The method according to any one of claims 1 to 12, wherein the block includes frequency domain coefficients of the audio.

15. The method according to any one of claims 5 to 14, further comprising the step of terminating the potential merge of the selected first block group and the selected second block group after the first loop has completed all its iterations and the second loop has completed all its iterations.

16. A device for encoding blocks of audio information arranged within a frame, wherein each frame includes a set of block groups, each block includes content, and the device is: A device including an electronic processor configured to perform an operation including the method according to any one of claims 5 to 15.

17. A non-temporary computer-readable storage medium that stores a program of instructions executable by a device for performing the method according to any one of claims 5 to 15.

18. A device for encoding blocks of audio information arranged within a frame, wherein each frame includes a set of block groups, each block includes content, and the device is: Includes an electronic processor, the electronic processor is An input signal is received that includes a block of audio information, and the block of audio information includes a set of block groups for each frame. For each block group, a first quality metric is obtained, and the said first quality metric represents the cost associated with merging multiple blocks of audio information to form each block group. For each block group, a second quality metric is obtained, and the aforementioned second quality metric indicates the estimated distortion associated with the merging of multiple blocks of audio information to form each block group. Based on the first quality measure and the second quality measure, at least two block groups from the set of block groups are merged to generate an encoded signal representing the associated control parameters for each block group included in the set and the content of the input signal. Outputting the coded signal, A device configured in such a way.

19. In order to obtain the first quality measure and the second quality measure, the electronic processor, The first total weighted dB cost of the first block group is calculated in relation to not merging the first block group and the second block group. The second total weighted dB cost of the second block group is calculated in relation to not merging the first block group and the second block group. The total weighted cost of the merged group is calculated in relation to not merging the first block group and the second block group. Based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost, it is determined whether or not to merge the first block group and the second block group to form the merged group. The apparatus according to claim 18, configured as described above.

20. In order to determine whether or not to merge the first block group and the second block group, the electronic processor: Based on the first total weighted dB cost, the second total weighted dB cost, and the total weighted cost, the value of the merge ratio is calculated. The value of the aforementioned margin ratio is compared with a threshold. The apparatus according to claim 19, configured as follows.

21. The apparatus according to claim 20, wherein the value of the merge ratio is based on the bit count difference between the side information bit counts of the first block group, the second block group, and the merged group.

22. The apparatus according to claim 19, wherein the first total weighted dB cost is calculated based on the energy of each scale factor band and the power domain scale factor per block of each scale factor band.

23. The apparatus according to any one of claims 18 to 22, wherein the first block group and the second block group are adjacent block groups.

24. In order to obtain the first quality measure and the second quality measure, the electronic processor, Using perceived entropy, calculate the first bit cost for sending the first block group and the second block group separately relative to the baseline perceived entropy. Using the perceived entropy, calculate the second bit cost for transmitting the first block group and the second block group as a merged group relative to the baseline perceived entropy. The cost difference between the first bit cost and the second bit cost is calculated. The apparatus according to claim 18, configured as described above.

25. The aforementioned electronic processor, The apparatus according to claim 24, configured to determine whether or not to merge the first block group and the second block group by comparing the cost difference with a threshold.

26. The device according to any one of claims 18 to 25, wherein the block includes a time-domain sample of the audio.

27. A non-temporary computer-readable storage medium recording a program of instructions, wherein the program is executable by a device for performing a method for processing blocks of audio information arranged within a frame, and the method is A step of receiving an input signal including a block of audio information, wherein the block of audio information includes a set of block groups for each frame, For each block group, a step of obtaining a first quality metric, wherein the first quality metric indicates the cost associated with merging multiple blocks of audio information to form each block group. A step of obtaining a second quality measure for each block group, wherein the said second quality measure indicates the estimated distortion associated with the merging of multiple blocks of audio information to form each block group. A step of merging at least two block groups from the set of block groups based on the first quality measure and the second quality measure to generate an encoded signal representing the associated control parameters and input signal content for each block group in the set, The steps include outputting the encoded signal, Non-temporary computer-readable storage media, including [specific type of storage medium].

28. A method for encoding a block of audio within a frame, the method being: A step of receiving an input signal which includes a set of multiple audio block groups within a frame, where each block includes content, The steps include selecting one or more pairs of audio block groups from the aforementioned frame as merge candidates, For each merge candidate, the steps include obtaining a first quality measure related to the merging of the audio block group, For each merge candidate, the steps include obtaining a second quality measure related to the merging of the audio block group, Based on the first and second quality measures, the step of selecting one pair of audio block groups from the merge candidates that will result in the greatest improvement in coding accuracy, The steps include merging the selected pairs of audio block groups, The steps include assembling the frame as an encoded signal and outputting the encoded signal, A method that includes this.