Low complexity bandwidth extension target generation

By adopting low-complexity operation methods in downmix encoder, including linear interpolation, spectrum inversion, low-pass filtering and decimation, the complex calculation problem of generating target signals from the frequency domain is solved, and low latency and low computational complexity are achieved The bandwidth expansion target signal is generated.

CN119452413APending Publication Date: 2025-02-14TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380050495.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-09
Filing Date
2023-09-06
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

In downmix encoders, generating target signals from the frequency domain is computationally complex and may result in energy loss and transitional artifacts when switching back to using bandwidth extension (BWE) mode.

Method used

The band-constrained BWE target signal is extracted from the full-band target signal by a low-complexity operation method including linear interpolation, spectrum inversion, linear interpolation and low-pass filtering and decimation.

Benefits of technology

A target BWE signal generation without increasing delay and low computational complexity is achieved, avoiding energy loss and transitional artifacts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119452413A_ABST
    Figure CN119452413A_ABST
Patent Text Reader

Abstract

An encoder, a computer program, a computer program product and a method performed in an encoder (210, 1108A, 1108B). The method includes receiving (1203) a full band input frame. The method includes interpolating (620, 1205) a full-band input frame to an intermediate frame. The method comprises performing (630, 1207) an inversion of the spectrum of the intermediate frame to produce a spectrally inverted intermediate frame. The method includes interpolating (640, 1209) the interpolated spectrally inverted intermediate frame to match the sampling frequency of the lowpass filtering and decimation process. The method comprises performing (650, 121) low-pass filtering and decimation of the spectrally inverted spectrum to produce a bandwidth extension (BWE) target signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to communications, and more particularly, to communications methods and related devices and nodes that support wireless communications for speech and audio coding. Background Art

[0002] Most existing telecommunication systems operate on limited audio bandwidth. Due to the limitations of landline telephone systems, most voice services are limited to the lower end of the transmission spectrum and to a single mono channel. While lower bandwidth mono signals are adequate for most conversations, there is a desire to increase bandwidth and spatial reproduction to improve intelligibility and telepresence. Capacity in telecommunication networks continues to increase, but limiting the bandwidth required for each communication channel remains of great interest. In mobile networks, smaller transmission bandwidth per call results in lower power consumption in both mobile devices and base stations. This translates into energy and cost savings for mobile operators, while end users will experience extended battery life and increased talk time. In addition, with less bandwidth consumed by each user, mobile networks can serve a large number of users in parallel.

[0003] A property of the human auditory system is that perception is frequency dependent. In particular, human hearing is less accurate for higher frequencies. This has inspired so-called bandwidth extension (BWE) techniques, where a high frequency band is reconstructed from a low frequency band using only little additional information.

[0004] Conventional BWE uses a representation of the spectral envelope of an extended high-band signal and reproduces the spectral fine structure of the signal by using a modified version of the low-band signal. If the high-band envelope is represented by a filter, the fine structure signal is often called the excitation signal. An accurate representation of the high-band envelope is perceptually more important than the fine structure. Therefore, it is common that, without additional side information, the available resources in terms of bits are spent on the envelope representation when reconstructing the fine structure from the encoded low-band signal. Furthermore, the temporal shape of the high-band can be adjusted using the temporal envelope. The basic concept of BWE is described in Figure 1 , which will be described in further detail below in the detailed description of various embodiments.

[0005] In a typical stereo recording, the channel pairs show a high degree of similarity or correlation. The latest stereo coding schemes take advantage of this correlation by adopting parametric coding, in which the individual channels are encoded with high quality and supplemented with parameter descriptions that enable reconstruction of a complete stereo image. The process of reducing a channel pair to a single channel is usually referred to as downmixing, and the resulting channel is a downmixed channel. The downmixing process usually attempts to maintain energy by aligning the inter-channel time difference (ITD) and the inter-channel phase difference (IPD) before mixing the channels. In order to maintain the energy balance of the input signal, the inter-channel level difference (ILD) is also measured. Then, ITD, IPD and ILD are encoded and can be used in the reverse upmixing process when reconstructing the stereo channel pair at the decoder. The mentioned parameters describe the correlated components of the channel pair, while the stereo channel pair usually also includes non-correlated components that cannot be reconstructed from the downmix. This component can be represented by the inter-channel coherence parameter (ICC). Non-correlated components can be synthesized at the stereo decoder by passing the decoded downmix channels through a decorrelator filter, the purpose of which is to create a signal with low correlation with the decoded downmix. The strength of the de-correlated components is then controlled with ICC parameters. The same principle applies to multi-channel audio such as 5.1 and 7.1.4, and spatial audio representations such as surround sound or spatial audio object coding. The number of channels is reduced by exploiting the correlation between channels and bundling the reduced set of channels with metadata or parameters for channel reconstruction or spatial audio rendering at the decoder.

[0006] In order to facilitate the reproduction of stereo or spatial audio signals at low bit rates, the BWE technique can be used in conjunction with a parametric approach to spatial reconstruction. In this case, a downmix is ​​also generated for the BWE target band. Summary of the invention

[0007] There is currently a certain challenge. Generating targets from the frequency domain is computationally complex. For down-mix encoders operating in several modes, one solution is to inject zeros instead of synthesizing targets when operating in a mode that does not use BWE, but this may result in zeros in the target frame when switching back to a mode that uses BWE. This will result in energy loss and transition artifacts into a mode that uses BWE.

[0008] Certain aspects of the present disclosure and embodiments thereof may provide solutions to these or other challenges.According to some embodiments, a band-limited BWE target signal is extracted from a full-band target signal using low-complexity operations consisting of linear interpolation, spectrum inversion, linear interpolation, and low-pass filtering and decimation.

[0009] According to some embodiments, a method in an encoder includes receiving a full-band input frame. The method also includes interpolating the full-band input frame to an intermediate frame. The method also includes performing a spectral inversion of the intermediate frame to produce a spectrally inverted intermediate frame. The method also includes interpolating the spectrally inverted intermediate frame to match a sampling frequency of a low-pass filtering and decimation process. The method also includes performing a low-pass filtering and decimation on the interpolated spectrally inverted intermediate frame to produce a bandwidth extended BWE target signal.

[0010] Similar encoders, computer programs and computer program products are provided.

[0011] Certain embodiments may provide one or more of the following technical advantages: Various embodiments may provide a target BWE signal with no additional delay and with low computational complexity. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The accompanying drawings, which are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments of the inventive concept. In the drawings:

[0013] Figure 1 It is a graphic illustration of the basic concept of bandwidth extension (BWE).

[0014] Figure 2 is a block diagram illustrating a stereo encoder and decoder system;

[0015] Figure 3 is a block diagram illustrating a down-mix encoder according to some embodiments;

[0016] Figure 4 is a block diagram illustrating a downmix decoder according to some embodiments;

[0017] Figure 5 is a block diagram illustrating a BWE target extractor according to some embodiments;

[0018] Figure 6 is a flow chart illustrating the operation of an encoder according to some embodiments;

[0019] Figure 7 A-7H are exemplary sample images and target frequency bands according to some embodiments;

[0020] Figure 8 is a graphical illustration of interpolation according to some embodiments;

[0021] Fig. 9 is a block diagram of an encoder according to some embodiments;

[0022] Fig.10 is a block diagram of a decoder according to some embodiments;

[0023] Fig.11 is a block diagram of a virtualization environment according to some embodiments; and

[0024] Figure 12-13 is a flow chart illustrating the operation of an encoder according to some embodiments. DETAILED DESCRIPTION

[0025] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, wherein examples of embodiments of the inventive concept are shown. However, the inventive concept can be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided so that this disclosure will be thorough and complete, and the scope of the inventive concept will be fully conveyed to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be self-evidently assumed to exist / use in another embodiment.

[0026] As indicated before, a target BWE signal is provided with no additional delay and with low computational complexity.

[0027] In an exemplary embodiment of the present disclosure, the embodiment is as follows Figure 2 The stereo encoder and decoder system shown in FIG. 2 operates in the stereo encoder of the stereo encoder and decoder system. The stereo encoder 210 processes the input left and right channel signals in segments called frames. The stereo analysis and downmix block 212 performs parameter analysis and produces a downmix. For a given frame m, the input channels can be written as: Where n = 0, 1, 2, ..., N represents the number of samples in frame m, and N is the input sampling frequency f input In the following description, it is assumed that frames with overlap are extracted in the encoder so that the decoder can reconstruct the stereo signal using an overlap-add strategy. This means that the analysis frame length N a It is usually larger than the input frame length N. The input signals on the left and right channels are windowed with a suitable windowing function w(n) and transformed into the DFT (Discrete Fourier Transform) domain. Note that other frequency domain representations may be used here, such as a QMF (Quadrature Mirror Filter) filter bank, a hybrid QMF filter bank, or an odd-order DFT (ODFT) representation consisting of MDCT (Modified Discrete Cosine Transform) and MDST (Modified Discrete Sine Transform) transform components.

[0028] For parametric analysis, the spectrum is divided into frequency bands b, where each band corresponds to a series of frequency coefficients k=k start(b) …k end(b) , b=0,1,2,...N bands -1 Where N bands Indicates the total number of frequency bands. The band limits are usually set to reflect the resolution of human hearing, which means narrow bands for low frequencies and wide bands for high frequencies. Note that different band resolutions can be used for different parameters.

[0029] Then, the signal is analyzed in the parameter analysis block to extract ITD, IPD and ILD parameters. In addition, channel coherence can be analyzed and ICC parameters can be derived. The parameters are encoded by parameter encoder 218 and added to the bit stream for storage or transmission to a decoder. Optionally, a stereo residual bit stream can be produced by residual encoder 216 and added to the bit stream for storage or transmission to a decoder.

[0030] Before generating the downmix channels, it may be beneficial to compensate for ITD and IPD to reduce cancellation and maximize the energy of the downmix. ITD compensation can be implemented in either the time domain or in the frequency domain before frequency transformation, but it is essentially performing a time shift on one or both channels to eliminate ITD. Phase alignment can be implemented in different ways, but the goal is to align the phases so that cancellation is minimized. This ensures maximum energy in the downmix. ITD and IPD adjustments can be performed in frequency bands or over the full spectrum, and preferably should be performed using quantized ITD and IPD parameters to ensure that the modifications can be reversed at the decoder level. The various embodiments described herein are independent of the implementation of IPD and ITD parameter analysis and compensation. Here, the channels for ITD and IPD adjustments are represented as

[0031] Downmix signalX M (m, k) is encoded by the downmix encoder 214 for storage or transmission to a decoder. This encoding can be done in the frequency domain, but can also be done in the time domain. In the case of a time domain downmix encoder, a DFT synthesis stage is required to generate the downmix signal x M At least one time domain version of (m, n) is obtained, which in turn is fed to a downmix encoder. If the downmix encoder operates on several frequency bands of the downmix signal, several DFT synthesis can be performed to generate the time domain signal of the required frequency bands.

[0032] exist Figure 3The downmix encoder 214 is further described in detail in . The downmix encoder 214 can include at least two encoding modes, wherein at least one of the encoding modes 310 operates on at least two frequency bands using a low-band encoder 312 and a BWE encoder 314. For example, the encoding mode can be selected using a signal analysis that selects the most suitable mode, or the encoding mode can be selected by running all possible modes and selecting the mode that gives the best performance for the current frame m. The low-band encoder 312 receives a low-band downmix signal x M,LO (m, n) and encodes the representation of this frequency band. The BWE encoder 314 receives the delay-adjusted high-band downmix signal x′ from the BWE target signal buffer 316. M,HI (m, n). The buffer allows alignment of the analysis frames, which gives the desired analysis length and alignment, compensating for any possible delay from the BWE process. Typically, the BWE encoder also uses parameters from a low-band encoder, such as a low-band excitation signal in a low-band ACELP (Algebraic Code Excited Linear Prediction) encoder.

[0033] During the use of the coding mode 310, the BWE target buffer 316 is used to generate the high-band downmix signal x generated by DFT synthesis. M,HI (m, n) is updated. In coding mode 320, the full-band downmix signal x M (m, n) is used as input to the full-band encoder 322. The full-band signal is also added to the low-complexity BWE target signal extractor 324. An alternative to extracting the BWE target signal is to run a DFT synthesis to generate the target signal in the same way as when using mode 310. However, this solution may be computationally complex. Another solution may be to skip the target signal generation during the use of mode 320 and inject zeros into the buffer 316. This will present almost zero additional complexity, but when the next frame is encoded using mode 310, the buffer may partially contain zeros. This may result in energy loss in the BWE region during the transition to mode 310, which has a negative impact on performance.

[0034] In the decoder 220, the stereo parameters are decoded by a parameter decoder 228, and optionally, a reconstructed residual signal is generated by a residual decoder 226. The downmix decoder 224 is configured to decode and reconstruct the downmix signal encoded by the downmix encoder 214. Figure 4, the down-mix decoder at least comprises a decoding mode 420 with a full-band decoder 422, and a decoding mode 410 with a low-band decoder 412 and a BWE decoder 414. Similar to encoder, the BWE decoder can use parameters from the low-band decoder, such as the low-band excitation signal of an ACELP decoder. The output of the decoding mode for the current frame is a reconstructed down-mix. The reconstructed down-mix, the reconstructed stereo parameters and the optional reconstructed residual signal are fed to a stereo up-mixer 222, to produce a reconstructed stereo signal.

[0035] follow Figure 6 The steps outlined in Figure 5 An efficient implementation of the BWE target extractor 324 can be seen in FIG. 1 . Assuming that the BWE operates on several different target frequency bands, an optional initial step 610 can be performed by the intermediate length determiner 510 to determine the intermediate length of the interpolated signal. By input The intermediate length is determined by rescaling the length of the input frame N so that the upper limit of the target band matches the Nyquist frequency in the interpolated frame. lo , f hi ), then the intermediate sampling frequency f inter for f inter =2f hi And the middle length N inter yes

[0036] Different target bands may depend on the bandwidth of the low-band encoder. If the low-band encoder uses a lower bandwidth, the start of the BWE target band should match the end of the low-band bandwidth. Typically, the BWE target band is extracted to have a small overlap with the low-band encoder bandwidth to ensure a smooth frequency transition between the encoding bands.

[0037] In step 620, the interpolator 520 converts the full-band input frame x M (m, n) interpolation to the intermediate frame x inter (m, n). The length is N=640 and the sampling frequency is f input =32kHz example input frame in Figure 7 A shows the spectrum and the target frequency band in Figure 7 Figure B.

[0038] like Figure 8 As shown in the figure, the interpolator can use linear interpolation. Assume that the sample points are connected by straight lines, and resampling uses the sample points that intersect the straight lines. In general, for i = 0, 1, ..., N2 , the length N 1 The frame is stretched or compressed to length N 2 The linear interpolation function of the frame can be written as in

[0039] For x int The first two lines of equation (i) deal with the case at the edge of a frame, where the new sample points are extrapolated from the last two points of the frame or the first two points of the frame. offset Disposal 2 >N 1 And the first sample point in the stretched frame will be below i=0 and the last sample point will be above i=N 1 In some cases, a displacement is desired, denoted here as ∈. In one embodiment, ∈ can be defined according to the following

[0040] Linear interpolation provides cheap resampling at the expense of high aliasing. Due to the linear interpolation, there is some built-in weak low-pass filtering. However, if the resampling is not too large, the aliasing is limited. In addition, the BWE target signal is not directly encoded, but only used for spectral shaping, time shaping and energy measurement. For this reason, it is less sensitive to aliasing. It should be noted that other variants of low-complexity interpolation can also be used.

[0041] Figure 7 The result of the interpolation step 620 is illustrated in C, where N inter = 560 and the upper limit of the target band is now equal to Figure 7 The Nyquist frequency in D is matched. In step 630, spectrum inverter 530 performs an inversion on the spectrum of the intermediate frame. This can be achieved by changing the sign of every other sample.

[0042] Alternatively, the spectrum inversion equivalent for this purpose can be obtained using the formula

[0043] The result of spectrum inversion is Figure 7 E shows that its inverse spectrum is Figure 7F. In step 640, the interpolator 540 adjusts the frame length to match the sampling frequency of step 650, where the low pass filter and decimator 550 performs low pass filtering and decimation to produce the BWE target signal. Here, the decimator performs decimation by 2, which gives an output sampling frequency that is half of the input sampling frequency. The low pass filter has a cutoff frequency in the middle of the spectrum. Figure 7 In the example shown in Figure 2, the low-pass filter and decimator are connected at f dec =32kHz, which gives the following decimator frame length which in the illustrated example evaluates to N dec = 640. After performing this interpolation, the decimator frame x dec (m, n) Figure 7 As shown in G. Figure 7 In the spectrum illustrated in H, the target band is now aligned in the lower half of the spectrum. This is the band that the low pass filter and decimator 550 then extract to give the extracted BWE target signal. Note that the spectrum of the BWE target signal is now inverted. If the BWE encoder operates on an inverted spectrum, the target signal is ready to be fed to the BWE target buffer 316. If the spectrum needs to be inverted, the spectrum inversion can be performed by changing the sign of every other sample as described previously.

[0044] The downmix encoder outputs the encoded representation from the downmix coding mode into a downmix bitstream. This bitstream is then combined with the bitstream of the parameter encoder 218. Optionally, a stereo residual bitstream may be produced by the residual encoder 216. The bitstream components of the active modules are combined into a composite bitstream for storage or transmission to a decoder.

[0045] As described above, in decoder 220, stereo parameters are decoded by parameter decoder 228, and optionally, a reconstructed residual signal is generated by residual decoder 226. Downmix decoder 224 is configured to decode and reconstruct the downmix signal encoded by downmix encoder 214. The output of active decoding mode is the reconstructed downmix. The reconstructed downmix, the reconstructed stereo parameters and the optional reconstructed residual signal are fed to stereo upmixer 222 to generate a reconstructed stereo signal.

[0046] Before describing the operation from the perspective of encoder 210, Fig. 9is a block diagram illustrating elements of an encoder 210 configured to encode audio frames according to various embodiments herein. As shown, the encoder 210 may include a network interface circuit 905 (also referred to as a network interface) configured to provide communication with other devices / entities / functions, etc. The encoder 210 may also include a processing circuit 901 (also referred to as a processor and processor circuit) coupled to the network interface circuit 905, and a memory circuit 903 (also referred to as a memory) coupled to the processing circuit. The memory circuit 903 may include computer-readable program code that, when executed by the processing circuit 901, causes the processing circuit to perform operations according to the embodiments disclosed herein.

[0047] According to other embodiments, the processing circuit 901 can be defined to include a memory so that a separate memory circuit is not required. As discussed herein, the operation of the encoder 210 can be performed by the processing circuit 901 and / or the network interface 905. For example, the processing circuit 901 can control the network interface 905 to transmit communications to the decoder 220 and / or receive communications from one or more other network nodes / entities / servers (such as other encoder nodes, storage servers, etc.) through the network interface 905. In addition, modules can be stored in the memory 903, and these modules can provide instructions so that when the instructions of the modules are executed by the processing circuit 901, the processing circuit 901 performs the corresponding operations.

[0048] Fig.10 1 is a block diagram illustrating elements of a decoder 220 configured to decode audio frames according to some embodiments of the inventive concepts. As shown, the decoder 220 may include a network interface circuit 1005 (also referred to as a network interface) configured to provide communication with other devices / entities / functions, etc. The decoder 220 may also include a processing circuit 1001 (also referred to as a processor or processor circuit) coupled to the network interface circuit 1005, and a memory circuit 1003 (also referred to as a memory) coupled to the processing circuit. The memory circuit 1003 may include computer-readable program code that, when executed by the processing circuit 1001, causes the processing circuit to perform operations according to the embodiments disclosed herein.

[0049] According to other embodiments, the processing circuit 1001 may be defined to include a memory so that a separate memory circuit is not required. As discussed herein, the operations of the decoder 220 may be performed by the processor 1001 and / or the network interface 1005. For example, the processing circuit 1001 may control the network interface circuit 1005 to receive communications from the encoder 210. In addition, modules may be stored in the memory 1003, and these modules may provide instructions so that when the instructions of the modules are executed by the processing circuit 1001, the processing circuit 1001 performs the corresponding operations.

[0050] In some embodiments, various operations of encoder 210 and / or decoder 220 may be distributed across various components. Fig.11 1100, in which the functions implemented by some embodiments may be virtualized. In this context, virtualization means creating a virtual version of a device or apparatus such as an encoder and / or decoder, which may include virtualized hardware platforms, storage devices, and networking resources. As used herein, virtualization may be applied to any apparatus described herein or its components, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 1100, which are hosted by one or more hardware nodes in a hardware node, such as a hardware computing device operating as an encoder, decoder, network node, UE, core network node, etc.

[0051] Application 1102 (which may alternatively be referred to as a software instance, a virtual appliance, a network function, a virtual node, a virtual network function, etc.) runs in a virtualized environment 1100 to implement some of the features, functions and / or benefits of some of the embodiments disclosed herein.

[0052] The hardware 1204 includes processing circuitry, memory storing software and / or instructions executable by the hardware processing circuitry, and / or other hardware devices as described herein, such as network interfaces, input / output interfaces, etc. The software may be executed by the processing circuitry to instantiate one or more virtualization layers 1106 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1108a and 1108B (one or more of which may be generally referred to as VMs 1108), and / or perform any of the functions, features, and / or benefits described in connection with some embodiments described herein. The virtualization layer 1106 may present a virtual operating platform that appears to be networked hardware to the VMs 1108.

[0053] The VMs 1108 include virtual processing, virtual memory, virtual networking or interfaces, and virtual storage, and may be run by a corresponding virtualization layer 1106. Different embodiments of instances of virtual appliances 1102 may be implemented on one or more of the VMs 1108, and the implementation may be performed in different ways. Virtualization of hardware is referred to in some contexts as network function virtualization (NFV). NFV may be used to integrate many network device types onto industry-standard high-volume server hardware, physical switches, and physical storage devices, which may be located in data centers and customer premises equipment.

[0054] In the context of NFV, VMs 1108 may be software implementations of physical machines that run programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 1108 and that portion of the hardware 1104 on which that VM executes, whether it is hardware dedicated to that VM and / or hardware shared by that VM with other VMs in the VM, forms an independent virtual network element. Still in the context of NFV, a virtual network function is responsible for handling a specific network function running in one or more VMs 1108 on top of the hardware 1104 and corresponds to an application 1102.

[0055] The hardware 1104 may be implemented in a standalone network node with general or specialized components. The hardware 1104 may implement some functions via virtualization. Alternatively, the hardware 1104 may be part of a larger hardware cluster (e.g., such as in a data center or CPE), where many hardware nodes work together and are managed via management and coordination 1110, which in particular oversees the lifecycle management of the application 1102. In some embodiments, the hardware 1104 is coupled to one or more radio units, each of which includes one or more transmitters and one or more receivers that may be coupled to one or more antennas. The radio unit may communicate directly with other hardware nodes via one or more suitable network interfaces, and may be used in conjunction with virtual components to provide radio capabilities to virtual nodes, such as radio access nodes or base stations. In some embodiments, some signaling may be provided using the use of a control system 1112, which may alternatively be used for communication between hardware nodes and radio units.

[0056] Now, according to some embodiments of the inventive concept, reference will be made to Fig.12 The operation of encoder 210 is discussed in detail with reference to FIG. Fig. 9 For example, the modules can be stored in Fig. 9The modules are stored in the memory 903, and these modules can provide instructions so that when the instructions of the modules are executed by the corresponding encoder processing circuit 901, the encoder 210 performs the corresponding operations of the flowchart.

[0057] Steering Fig.12 In block 1201, the encoder 210 determines an intermediate length of an intermediate frame. In some embodiments, the encoder 210 performs the operation by rescaling the input sampling frequency f input The intermediate length is determined by the length N of the input frame in , until the upper limit of the target frequency band matches the Nyquist frequency in the intermediate frame.

[0058] In some of these embodiments, encoder 210 determines the intermediate length according to the following formula Among them, when the target frequency band has a limit (f lo , f hi )hour, f inter =2f hi N inter is the intermediate length, N is the length of the input frame, and f inter Intermediate sampling frequency.

[0059] In block 1203, the encoder 210 receives a full-band input frame. For example, in some embodiments, the encoder 210 receives the full-band input frame by receiving a full-band down-mix signal generated by discrete Fourier transform (DFT) synthesis as described above.

[0060] In block 1205, the encoder 210 interpolates the full-band input frame to the intermediate frame. In some embodiments, the encoder 210 interpolates the full-band input frame by interpolating the full-band input frame using linear interpolation.

[0061] In some embodiments using linear interpolation, the encoder 210 uses the following equation: 2 , use linear interpolation to convert the length N 1 The frame length is stretched or compressed to length N 2 Frame in where x int (i) is the interpolated sample value at point i, x(0) is the sample point in the source vector x at the first point 0, x(1) is the sample point in the source vector x at the second point 1, i frac is the fractional point where the source vector x is to be estimated, i offset is the offset, and ∈ is the displacement. As described above, the offset ioffset Disposal 2 >N 1 And the first sample point in the stretched frame will be below i=0 and the last sample point will be above i=N 1 -1 situation.

[0062] In some of these embodiments, ∈ is defined according to

[0063] Other displacements may be used.

[0064] In block 1207, the encoder 210 performs spectral inversion of the intermediate frame to generate a spectrally inverted intermediate frame. In some embodiments, the encoder 210 performs spectral inversion according to the following formula:

[0065] In some other embodiments, the encoder 210 performs the inversion of the spectrum according to the following equation:

[0066] In block 1209, the encoder 210 interpolates the spectrum inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process. In block 1211, the encoder 210 performs low pass filtering and decimation on the interpolated spectrum inverted intermediate frames to generate a bandwidth extended BWE target signal.

[0067] In such Fig.13 In some embodiments illustrated in FIG. 13 , the encoder 210 selects the cutoff frequency of the low-pass filtering to be substantially close to the middle of the frequency spectrum, as illustrated in block 1301. In block 1303, the encoder 210 performs low-pass filtering and decimation on the inverted spectrum to generate a BWE target signal by performing low-pass filtering and decimation to align the BWE target signal in the lower half of the frequency spectrum.

[0068] In some of these embodiments, encoder 210 determines the decimator frame length according to Where N dec is the decimator frame length, N inter is the middle length, f dec is the operating frequency of the decimator, and f inter is the frequency of the intermediate frames.

[0069] return Fig.12In block 1213, the encoder 210 inputs the BWE target signal to the BWE encoder 314 via the BWE target buffer 316, wherein the BWE encoder 314 and the BWE target buffer 316 are parts of the encoder 210 operating on at least two frequency bands. In an embodiment, the BWE encoder 314 and the BWE target buffer 316 are parts of the downmix encoder 214. In some embodiments, the downmix encoder 214 of the encoder 210 has at least two encoding modes, wherein at least one of the at least two encoding modes has the BWE encoder 314.

[0070] In some of these embodiments, the encoder 210 operates on the downmix signal in a parametric stereo encoder.

[0071] Regarding some embodiments of communication devices and related methods, from Fig.12 Various operations of the flowchart may be optional. With respect to the method of Example Embodiment 1 (described below), for example, Fig.12 The operations of blocks 1201 and 1213 may be optional.

[0072] Although the computing devices (e.g., encoders, decoders, UEs, network nodes) described herein may include combinations of hardware components illustrated, other embodiments may include computing devices with different combinations of components. It is to be understood that these computing devices may include any suitable combination of hardware and / or software required to perform the tasks, features, functions, and methods disclosed herein. The determination, calculation, acquisition, or similar operations described herein may be performed by a processing circuit, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or the converted information with the information stored in the network node, and / or performing one or more operations based on the obtained information or the converted information, and making a determination as a result of the processing. In addition, although the components are depicted as a single box within a larger box, or nested within multiple boxes, in reality, the computing device may include multiple different physical components constituting a single illustrated component, and functionality may be divided between independent components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be divided between a processing circuit and a communication interface. In another example, the non-computationally intensive functions of any of such components may be implemented in software or firmware, while the computationally intensive functions may be implemented in hardware.

[0073] In some embodiments, some or all of the functionality described herein may be provided by a processing circuit that executes instructions stored in a memory, which in some embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by a processing circuit, such as in a hardwired manner, without executing instructions stored on an independent or discrete device-readable storage medium. In any of those specific embodiments, the processing circuit may be configured to perform the described functionality, regardless of whether instructions stored on a non-transitory computer-readable storage medium are executed. The benefits provided by such functionality are not limited to separate processing circuits or to other components of a computing device, but are enjoyed by the computing device as a whole and / or by end users and wireless networks in general. Example Embodiment 1. A method performed in an encoder (210, 1108A, 1108B), the method comprising: Receive (1203) a full-band input frame; Interpolate (620, 1205) the full-band input frame to an intermediate frame; performing (630, 1207) inversion of the spectrum of the intermediate frame to produce a spectrum inverted intermediate frame; interpolating (640, 1209) the spectrally inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; and Low pass filtering and decimation of the interpolated spectrum inverted intermediate frames are performed (650, 1211) to produce a bandwidth extended BWE target signal. Embodiment 2. The method of embodiment 1, wherein interpolating the full-band input frame comprises using linear interpolation in interpolating the full-band input frame. Embodiment 3. The method of embodiment 2, wherein using linear interpolation in interpolating the full-band input frame comprises: according to the following formula, for i=0, 1, ..., N 2 , use linear interpolation to convert the length N 1 The frame is stretched or compressed to length N 2 Frame in where x int (i) is the interpolated sample value at point i, x(0) is the sample point in the source vector x at the first point 0, x(1) is the sample point in the source vector x at the second point 1, i offset is the offset, and ∈ is the displacement. Embodiment 4. The method as described in Embodiment 3, wherein ∈ is defined according to the following Embodiment 5. The method as described in any one of embodiments 1-4, wherein receiving a full-band input frame comprises receiving a full-band down-mix signal generated by discrete Fourier transform (DFT) synthesis. Embodiment 6. The method of any one of embodiments 1-5, wherein performing inversion of the spectrum of the intermediate frame comprises performing inversion of the spectrum according to the following formula: Embodiment 7. The method as described in any one of embodiments 1-5, wherein performing the inversion of the spectrum of the intermediate frame comprises performing the inversion of the spectrum according to the following formula: Embodiment 8. The method as described in any one of embodiments 1-7 further includes: The intermediate length of the intermediate frame is determined (610, 1201). Embodiment 9. The method of embodiment 8, wherein determining the intermediate length comprises: input The input frame length N is rescaled in until the upper limit of the target band matches the Nyquist frequency in the intermediate frame. Embodiment 10. A method as described in any one of embodiments 8-9, wherein determining the intermediate length comprises determining the intermediate length according to the following formula Among them, when the target frequency band has a limit (f lo , f hi )hour, f inter =2f hi N inter is the intermediate length, N is the length of the input frame, and f input is the intermediate sampling frequency. Embodiment 11. The method as described in any one of embodiments 1-10 further comprises selecting (1301) a cutoff frequency of the low-pass filter to be substantially close to the middle of the frequency spectrum. Embodiment 12. The method of Embodiment 11, wherein performing low pass filtering and decimation of the inverted frequency spectrum to produce the BWE target signal comprises performing (1303) low pass filtering and decimation to align the BWE target signal in a lower half of the frequency spectrum. Embodiment 13. The method of embodiment 12, wherein the decimator frame length is determined according to the following formula Where N dec is the decimator frame length, N inter is the middle length, f decis the operating frequency of the decimator, and f inter is the frequency of the intermediate frames. Embodiment 14. The method as described in any of embodiments 1-13 also includes inputting (1213) a BWE target signal to a BWE encoder (314) via a BWE target buffer (316), wherein the BWE encoder (314) and the BWE target buffer (316) are part of an encoder (210, 1108A, 1108B) operating on at least two frequency bands. Embodiment 15. The method of Embodiment 14, wherein the BWE encoder (314) and the BWE target buffer (316) are part of a downmix encoder (214) of the encoder (210, 1108A, 1108B). Embodiment 16. The method of embodiment 15, wherein a downmix encoder (214) of the encoder (210, 1108A, 1108B) comprises at least two encoding modes, wherein at least one of the at least two encoding modes has a BWE encoder (314). Embodiment 17. The method of Embodiment 16, wherein the encoder (210, 1108A, 1108B) operates on a downmix signal in a parametric stereo encoder. Embodiment 18. An encoder (210, 1108A, 1108B), adapted for: receiving (1203) a full-band input frame; Interpolate (620, 1205) the full-band input frame to an intermediate frame; performing (630, 1207) inversion of the spectrum of the intermediate frame to produce a spectrum inverted intermediate frame; interpolating (640, 1209) the spectrally inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; and Low pass filtering and decimation of the interpolated spectrum inverted intermediate frames are performed (650, 1211) to produce a bandwidth extended BWE target signal. Embodiment 19. The encoder (210, 1108A, 1108B) of Embodiment 18, wherein interpolating the full-band input frame comprises using linear interpolation in interpolating the full-band input frame. Embodiment 20. The encoder (210, 1108A, 1108B) of embodiment 19, wherein using linear interpolation in interpolating the full-band input frame comprises according to the following equation, for i=0, 1, ..., N 2 , use linear interpolation to convert the length N 1 The frame is stretched or compressed to length N 2 Frame in where x int (i) is the interpolated sample value at point i, x(0) is the sample point in the source vector x at the first point 0, x(1) is the sample point in the source vector x at the second point 1, i offset is the offset, and ∈ is the displacement. Embodiment 21. An encoder (210, 1108A, 1108B) as described in Embodiment 20, wherein ∈ is defined according to the following Embodiment 22. An encoder (210, 1108A, 1108B) as described in any of embodiments 18-21, wherein receiving a full-band input frame includes receiving a full-band down-mix signal generated by discrete Fourier transform (DFT) synthesis. Embodiment 23. The encoder (210, 1108A, 1108B) of any one of embodiments 18-22, wherein performing inversion of the spectrum of the intermediate frame comprises performing inversion of the spectrum according to the following formula: Embodiment 24. The encoder (210, 1108A, 1108B) of any one of embodiments 18-22, wherein performing inversion of the spectrum of the intermediate frame comprises performing inversion of the spectrum according to the following formula: Embodiment 25. The encoder (210, 1108A, 1108B) of any one of embodiments 18-24, wherein the encoder (210, 1108A, 1108B) is further adapted to: Determine (610, 2201) the intermediate length of the intermediate frame. Embodiment 26. The encoder (210, 1108A, 1108B) of embodiment 25, wherein determining the intermediate length comprises determining the intermediate length at the input sampling frequency f input The input frame length N is rescaled in until the upper limit of the target band matches the Nyquist frequency in the intermediate frame. Embodiment 27. An encoder (210, 1108A, 1108B) as described in any of embodiments 25-26, wherein determining the intermediate length includes determining the intermediate length according to the following formula Among them, when the target frequency band has a limit (f lo , f hi )hour, f inter =2f hi Ninter is the intermediate length, N is the length of the input frame, and f input is the intermediate sampling frequency. Embodiment 28. An encoder (210, 1108A, 1108B) as described in any of embodiments 18-27, wherein the encoder (210, 1108A, 1108B) is further adapted to select (1301) a cutoff frequency of the low-pass filter to be substantially close to the middle of the frequency spectrum. Embodiment 29. An encoder (210, 1108A, 1108B) as described in Embodiment 28, wherein performing low-pass filtering and decimation of the inverted spectrum to produce a BWE target signal includes performing (1303) low-pass filtering and decimation to align the BWE target signal in the lower half of the spectrum. Embodiment 30. The encoder (210, 1108A, 1108B) of Embodiment 29, wherein the decimator frame length is determined according to Where N dec is the decimator frame length, N inter is the middle length, f dec is the operating frequency of the decimator, and f inter is the frequency of the intermediate frames. Embodiment 31. An encoder (210, 1108A, 1108B) as described in any of embodiments 18-30, wherein the encoder (210, 1108A, 1108B) is further suitable for inputting (1213) a BWE target signal to a BWE encoder (314) via a BWE target buffer (316), wherein the BWE encoder (314) and the BWE target buffer (316) are part of an encoder (210, 1108A, 1108B) operating on at least two frequency bands. Embodiment 32. The encoder (210, 1108A, 1108B) of Embodiment 31, wherein the WE encoder (314) and the BWE target buffer (316) are part of a downmix encoder (214) of the encoder (210, 1108A, 1108B). Embodiment 33. An encoder (210, 1108A, 1108B) as described in Embodiment 30, wherein a downmix encoder (214) of the encoder (210, 1108A, 1108B) includes at least two encoding modes, wherein at least one of the at least two encoding modes has a BWE encoder (314). Embodiment 34. The encoder (210, 1108A, 1108B) of Embodiment 33, wherein the encoder (210, 1108A, 1108B) operates on a downmix signal in a parametric stereo encoder. Embodiment 35. An encoder (210, 1108A, 1108B), comprising: Processing circuit (901); A memory (903) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the encoder (210, 1108A, 1108B) to perform operations including: receiving (1203) a full-band input frame; interpolating (1205) the full-band input frames into intermediate frames; performing (1207) inversion of the spectrum of the intermediate frame to produce a spectrum inverted intermediate frame; interpolating (1209) the spectrally inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; and Low pass filtering and decimation of the interpolated spectrum inverted intermediate frames are performed (1211) to produce a bandwidth extended BWE target signal. Embodiment 36. An encoder (100, 1008A, 1008B) as described in Embodiment 35, wherein the memory includes further instructions, which, when executed by the processing circuit, cause the encoder (210, 1108A, 1108B) to perform operations according to any of Embodiments 2-17. Embodiment 37. A computer program comprising program code to be executed by a processing circuit (903) of an encoder (210, 1108A, 1108B), whereby execution of the program code causes the encoder (210, 1008A, 1008B) to perform operations comprising: receiving (1203) a full-band input frame; interpolating (1205) the full-band input frames into intermediate frames; performing (1207) inversion of the spectrum of the intermediate frame to produce a spectrum inverted intermediate frame; interpolating (1209) the spectrally inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; and Low pass filtering and decimation of the interpolated spectrum inverted intermediate frames are performed (1211) to produce a bandwidth extended BWE target signal. Embodiment 38. A computer program as described in embodiment 37, wherein the computer program includes further program code, which, when executed by the processing circuit (903) of the encoder (210, 1008A, 1008B), causes the encoder (210, 1008A, 1008B) to perform further operations according to any of embodiments 2-17. Embodiment 39. A computer program product comprising a non-transitory computer-readable storage medium having program code to be executed by a processing circuit (903) of an encoder (210, 1008A, 1008B), whereby execution of the program code causes the encoder (210, 1108A, 1108B) to perform operations comprising: Receive (1203) a full-band input frame; interpolating (1205) the full-band input frames into intermediate frames; performing (1207) inversion of the spectrum of the intermediate frame to produce a spectrum inverted intermediate frame; interpolating (1209) the spectrally inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; and Low pass filtering and decimation of the interpolated spectrum inverted intermediate frames are performed (1211) to produce a bandwidth extended BWE target signal. Embodiment 40. A computer program product as described in embodiment 39, wherein the non-transitory computer-readable storage medium includes additional program code, which, when executed by the processing circuit (903) of the encoder (210, 1008A, 1008B), causes the encoder (210, 1008A, 1008B) to perform further operations according to any of embodiments 2-17.

Claims

1. A method performed in an encoder (210, 1108A, 1108B), the method comprising: Receive (1203) a full-band input frame; interpolating (620, 1205) the full-band input frame to an intermediate frame; performing (630, 1207) inversion of the spectrum of the intermediate frame to produce a spectrum-inverted intermediate frame; interpolating (640, 1209) the spectrally inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; as well as Low pass filtering and decimation of the interpolated spectrum inverted intermediate frames are performed (650, 1211) to produce a bandwidth extended BWE target signal.

2. The method of claim 1, further comprising: Determine (610, 1201) the intermediate length N of the intermediate frame inter .

3. The method of claim 2, wherein: Determine the intermediate length including the input sampling frequency f input The length N of the input frame is rescaled until the upper limit of the target frequency band matches the Nyquist frequency in the intermediate frame.

4. The method according to any one of claims 2 to 3, wherein: Determining the intermediate length includes determining the intermediate length according to the following formula Among them, when the target frequency band has a limit (f lo , f hi )hour, in inter =2f hi N inter is the intermediate length, N is the length of the input frame, and f input is the intermediate sampling frequency.

5. The method according to any one of claims 1 to 4, wherein: Interpolating the full-band input frame includes using linear interpolation in interpolating the full-band input frame.

6. The method of claim 5, wherein: Using the linear interpolation in interpolating the full-band input frame includes stretching or compressing a frame of length N1 to a frame of length N2 using the linear interpolation according to the following equation: in where x int (i) is the interpolated sample value at point i, x(0) is the sample point in the source vector x at the first point 0, x(1) is the sample point in the source vector x at the second point 1, i frac It is necessary to estimate the fractional point where the source vector x is located, i offset is the offset, and ∈ is the displacement.

7. The method of claim 6, wherein: Define ∈ according to the following 8. The method according to any one of claims 1 to 7, wherein: Receiving the full-band input frame includes receiving a full-band down-mix signal generated by discrete Fourier transform (DFT) synthesis.

9. The method according to any one of claims 1 to 8, wherein: Performing the inversion of the spectrum of the intermediate frame includes performing the inversion of the spectrum according to: Where N inter is the length of the intermediate frame.

10. The method according to any one of claims 1 to 9, wherein: Performing the inversion of the spectrum of the intermediate frame includes performing the inversion of the spectrum according to: Where N inter is the length of the intermediate frame.

11. The method of any one of claims 1-10, further comprising selecting (1301) a cut-off frequency of the low-pass filtering to be substantially close to the middle of the frequency spectrum.

12. The method of claim 11, wherein: Performing the low pass filtering and decimation of the inverse spectrum to produce the BWE target signal includes performing (1303) the low pass filtering and decimation to align the BWE target signal in a lower half of the spectrum.

13. The method of claim 12, wherein: The decimator frame length is determined according to Where N dec is the decimator frame length, N inter is the middle length, f dec is the operating frequency of the decimator, and f inter is the frequency of the intermediate frames.

14. The method of any one of claims 1-13, further comprising inputting (1213) the BWE target signal to a BWE encoder (314) via a BWE target buffer (316), wherein the BWE encoder (314) and the BWE target buffer (316) are part of an encoder (210, 1108A, 1108B) operating on at least two frequency bands.

15. The method of claim 14, wherein: The BWE encoder (314) and the BWE target buffer (316) are part of a downmix encoder (214) of the encoder (210, 1108A, 1108B).

16. The method of claim 15, wherein: The down-mix encoder (214) of the encoder (210, 1108A, 1108B) includes at least two encoding modes, wherein at least one of the at least two encoding modes has the BWE encoder (314).

17. The method of claim 16, wherein: The encoder (210, 1108A, 1108B) operates on a downmix signal in a parametric stereo encoder.

18. An encoder (210, 1108A, 1108B) adapted to perform the method according to at least one of claims 1-17.

19. An encoder (210, 1108A, 1108B), comprising: Processing circuit (901); a memory (903) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the encoder (210, 1108A, 1108B) to perform operations comprising: receiving a full-band input frame; interpolating the full-band input frame into an intermediate frame; performing inversion of the spectrum of the intermediate frame to produce a spectrum-inverted intermediate frame; interpolating the spectrum inverted intermediate frames to match the sampling frequency of the low pass filtering and decimation process; and Low-pass filtering and decimation of the interpolated spectrum-inverted intermediate frames are performed to produce a bandwidth-extended BWE target signal.

20. The encoder of claim 19, wherein: The memory includes instructions which, when executed by the processing circuit, cause the encoder (210, 1108A, 1108B) to perform operations further including: Determine the intermediate length N of the intermediate frame inter .

21. The encoder of claim 20, wherein: Determine the intermediate length including the input sampling frequency f input The length N of the input frame is rescaled until the upper limit of the target frequency band matches the Nyquist frequency in the intermediate frame.

22. An encoder as claimed in any one of claims 20 to 21, wherein: Determining the intermediate length includes determining the intermediate length according to the following formula Among them, when the target frequency band has a limit (f lo , f hi )hour, in inter =2f ni N inter is the intermediate length, N is the length of the input frame, and f input is the intermediate sampling frequency.

23. An encoder as claimed in any one of claims 19 to 22, wherein: Interpolating the full-band input frame includes using linear interpolation in interpolating the full-band input frame.

24. The encoder of claim 23, wherein: Using the linear interpolation in interpolating the full-band input frame includes stretching or compressing a frame of length N1 to a frame of length N2 using the linear interpolation according to the following equation, for i=0, 1, ..., N2: in where x int (i) is the interpolated sample value at point i, x(0) is the sample point in the source vector x at the first point 0, x(1) is the sample point in the source vector x at the second point 1, i frac is the fractional point where the source vector x is to be estimated, i offset is the offset, and ∈ is the displacement.

25. The encoder of claim 24, wherein: Define ∈ according to the following 26. An encoder as claimed in any one of claims 19 to 25, wherein: Receiving the full-band input frame includes receiving a full-band down-mix signal generated by discrete Fourier transform (DFT) synthesis.

27. An encoder as claimed in any one of claims 19 to 26, wherein: Performing the inversion of the spectrum of the intermediate frame includes performing the inversion of the spectrum according to: Where N inter is the length of the intermediate frame.

28. An encoder as claimed in any one of claims 19 to 27, wherein: Performing the inversion of the spectrum of the intermediate frame includes performing the inversion of the spectrum according to: Where N inter is the length of the intermediate frame.

29. The encoder method of any one of claims 19-28, wherein: The memory includes instructions which, when executed by the processing circuit, cause the encoder (210, 1108A, 1108B) to perform operations further including: The cut-off frequency of the low-pass filtering is selected to be substantially close to the middle of the frequency spectrum.

30. The encoder of claim 29, wherein: Performing the low pass filtering and decimation of the inverse spectrum to produce the BWE target signal includes performing the low pass filtering and decimation to align the BWE target signal in a lower half of the spectrum.

31. The encoder of claim 30, wherein: The decimator frame length is determined according to Where N dec is the decimator frame length, N inter is the middle length, f dec is the operating frequency of the decimator, and f inter is the frequency of the intermediate frames.

32. An encoder as claimed in any one of claims 19 to 31, wherein: The memory includes instructions which, when executed by the processing circuit, cause the encoder (210, 1108A, 1108B) to perform operations further including: The BWE target signal is input to a BWE encoder (314) via a BWE target buffer (316), wherein the BWE encoder (314) and the BWE target buffer (316) are part of an encoder (210, 1108A, 1108B) operating on at least two frequency bands.

33. An encoder as claimed in claim 32, wherein: The BWE encoder (314) and the BWE target buffer (316) are part of a downmix encoder (214) of the encoder (210, 1108A, 1108B).

34. An encoder as claimed in claim 33, wherein: The down-mix encoder (214) of the encoder (210, 1108A, 1108B) includes at least two encoding modes, wherein at least one of the at least two encoding modes has the BWE encoder (314).

35. An encoder as claimed in claim 34, wherein: The encoder (210, 1108A, 1108B) operates on a downmix signal in a parametric stereo encoder.

36. A computer program comprising program code to be executed by a processing circuit (903) of an encoder (210, 1108A, 1108B), whereby execution of the program code causes the encoder (210, 1008A, 1008B) to perform operations according to at least one of claims 1-17.

37. A computer program product comprising a non-transitory computer-readable storage medium having program code, the program code being executed by a processing circuit (903) of an encoder (210, 1008A, 1008B), whereby execution of the program code causes the encoder (210, 1108A, 1108B) to perform operations according to at least one of claims 1-17.