[0001] This application relates to the field of audio coding, and in particular to the field
of sinusoidal coding of audio signals.
BACKGROUND
[0002] For the MPEG-H 3D Audio Core Coder a High Frequency Sinusoidal Coding (HFSC) enhancement
has been proposed. The respective HFSC tool was already presented in 111th MPEG meeting
in Geneva [1] and in 112th meeting in Warsaw [2].
[0003] TOMASZ ZERNICKI et al.: "Updated MPEG-H 3D Audio Phase 2 Core Experiment Proposal
on tonal component coding", describes high frequency sinusoidal coding. Segments are represented by a limited
set of quantized DCT coefficients, including the obligatory DC coefficient and a variable
number of AC coefficients, whose indices and values are transmitted using 8th order
Golomb codes. Huffman codes are described as resulting in about 10% better coding
efficiency, but requiring more memory for Huffman tables storage.
AU 2011205144 A1 describes a scalable compressed audio bit stream and codec using a hierarchical filterbank
and multichannel joint coding, including a primary channel and a secondary channel
for each tonal component.
[0004] US 2005/078832 A1 describes parametric audio coding, where common components in various signal channels
can be represented by a single, common frequency and the respective amplitudes and
phases of the respective components in the respective channels may differ. PURNHAGEN
H: "Advances in parametric audio coding" describes extended sinusoidal models for
parametric audio coding, and teaches taking source and perception models utilized
in a parametric coder into account as a "joint model".
[0005] US 2007/238415 A1 describes bandwidth extension to allow information to be encoded and decoded using
a fractal self similarity model or an accurate spectral replacement model, where these
tonal components are analyzed to determine if these fit into a harmonic structure.
SUMMARY
[0006] It is an object of the present invention to provide improvements for, for example,
the MPEG-H 3D Audio Codec, and in particular for the respective HFSC tool. However,
embodiments of the present invention may also be used in and for other audio codecs
using sinusoidal coding. The term "codec" refers to or defines the functionalities
of the audio encoder/encoding and audio decoder/decoding to implement the respective
audio codec. More specifically, the present invention provides encoders, encoding
methods, decoders and decoding methods as set out in the attached claims.
[0007] Embodiments of the invention can be implemented in Hardware or in Software or in
any combination thereof.
SHORT DESCRIPTION OF THE FIGURES
[0008]
Figure 1 shows an embodiment of the invention, in particular the general location
of the proposed tool within the MPEG-H 3D Audio Core Encoder.
Figure 2 shows partitioning of sinusoidal trajectories into segments and their relation
to GOS according to an embodiment of the invention.
Figure 3 shows a scheme of linking trajectory segments according to an embodiment
of the invention.
Figure 4a shows an illustration of independent encoding for each channel according
to an example useful for understanding the invention which was originally filed but
which does not represent an embodiment of the presently claimed invention.
Figure 4b shows illustration of sending additional information related to trajectory
panning according to an embodiment of the invention.
Fig. 5 shows the motivation for embodiments of the present invention.
Fig. 6 shows exemplary MPEG-H 3D Audio artifacts above fSBR.
Fig. 7 shows a comparison for 20kbps (∼2kbps of HESC), fSBR=4kHz, between "Original",
"MPEG 3DA" and "MPEG 3DA+ HESC".
Figure 8 shows a flow-chart of an exemplary decoding method.
Figure 9 shows a block-diagram of an exemplary decoder.
Fig. 10 shows an example analysis of sinusoidal trajectories showing sparse DCT spectra
according to prior art.
Fig. 11 shows a flow-chart of an exemplary decoding method.
Fig. 12 shows a block diagram of a corresponding exemplary decoder.
Figure 13a) shows another embodiment of the invention, in particular the general location
of the proposed tool within the MPEG-H 3D Audio Core Encoder .
Figure 13b) shows a part of Fig. 11.
Figure 13c) shows an embodiment of the present invention, wherein the steps depicted
therein replace the respective steps in Fig. 13b).
Figure 14a) shows an example for multichannel coding, useful for understanding the
invention, which was originally filed but which does not represent an embodiment of
the presently claimed invention.
Figure 14b) shows an alternative embodiment of the invention for multichannel coding.
Identical reference signs refer to identical or at least functionally equivalent features.
DETAILED DESCRIPTION
[0009] In the following certain embodiments are described in relation to an MPEG-H 3D Audio
Phase 2 Core Experiment Proposal on tonal component coding.
1. Executive Summary
[0010] This document provides a full technical description of the High Frequency Sinusoidal
Coding (HFSC) for MPEG-H 3D Audio Core Coder. The HFSC tool was already presented
in 111th MPEG meeting in Geneva [1] and in 112th meeting in Warsaw [2]. This document
supplements the previous descriptions and clarifies all the issues concerning the
target bit rate range of the tool, decoding process, sinusoidal synthesis, bit stream
syntax and computational complexity and memory requirements of the decoder.
[0011] The proposed scheme consists of parametric coding of selected high frequency tonal
components using an approach based on sinusoidal modeling. The HFSC tool acts as a
preprocessor to MPS in Core Encoder (Figure 1). It generates an additional bit stream
in the range of 0 kbps to 1 kbps only in cases of signals exhibiting a strong tonal
character in the high frequency range. The HFSC technique was tested as an extension
to USAC Reference Quality Encoder. Verification tests were conducted to assess the
subjective quality of proposed extension [3].
2. Technical Description of proposed tool
2.1. Functions
[0012] The purpose of the HFSC tool is to improve the representation of prominent tonal
components in the operating range of the eSBR tool. In general, eSBR reconstructs
high frequency components by employing the patching algorithm. Thus, its efficiency
strongly depends on the availability of corresponding tonal components in the lower
part of the spectrum. In certain situations, described below, the patching algorithm
will not be able to reconstruct some important tonal components.
- If the signal has a prominent components with fundamental frequency near or above
the f_SBR_start frequency. This includes highly pitched sounds, like orchestral bells,
and other percussive instruments. In this case, no shifting or scaling is able to
recreate such components in the SBR range. The eSBR tool may use an additional technique
called "sinusoidal coding" to inject a fixed sinusoidal component into a certain subband
of the QMF filterbank. This component has a low frequency resolution and causes a
significant discrepancy of timbre due to added inharmonicity.
- If the signal has a significantly varying frequency (e.g. vibrato modulation), its
energy in the lower band is spread over a range of transform coefficients which are
subsequently distorted by quantization. For very low bit rates the local SNR becomes
very low, and a partial that was originally purely tonal may not be considered as
tonal any more. In such case, different patching variants lead to different additional
artifacts:
∘ With harmonic patching mode based on phase vocoder, the quantization noise is further
spread in frequency, and affects also the cross-terms
o With non-harmonic mode (spectral shifting), the frequency modulations are not properly
scaled (modulation depth does not increase with partial order).
[0013] In our proposal, the HFSC tool is used occasionally, when sounds rich with prominent
high frequency tonal partials are encountered. In such situations, prominent tonal
components in the range from 3360Hz to 24000 Hz are detected, their potential distortion
by the eSBR tool is analyzed, and the sinusoidal representation of selected components
is encoded by the HFSC tool. The additional HFSC data represents a sum of sinusoidal
partials with continuously varying frequencies and amplitudes. These partials are
encoded in the form of sinusoidal trajectories, i.e. data vectors representing varying
amplitude and frequency [4].
[0014] HFSC tool is active only when the strong tonal components are detected by dedicated
classification tools. It additionally uses Signal Classifier embedded in Core Coder.
There might be also an optional pre-processing done at the input of the MPS (MPEG
Surround) block in core encoder, in order to minimize the further processing of selected
components by the eSBR tool (Figure 1).
[0015] Figure 1 shows the general location of the proposed tool within the MPEG-H 3D Audio
Core Encoder.
2.2. HFSC Decoding Process
2.2.1. Segmentation of sinusoidal trajectories
[0016] Each individually encoded sinusoidal component is uniquely represented by its parameters:
frequency and amplitude, one pair of values per component per each output data frame
containing H = 256 samples. The parameters describing one tonal component are linked
into so called sinusoidal trajectories. The original sinusoidal trajectories build
in the encoder may have an arbitrary length. For the purpose of coding, these trajectories
are partitioned into segments. Finally, segments of different trajectories starting
within particular time are grouped into Groups of Segments (GOS). In our proposal
GOS_LENGTH was limited to 8 trajectory data frames, which results in reduced coding
delay and higher bit stream granularity.
[0017] Data values within each segment are encoded jointly. All segments of a trajectory
can have lengths in the range from HFSC_MIN_SEG_LENGTH=GOS_LENGTH to HFSC_MAX_SEG_LENGTH
= 32 and they are always multiple of 8, so the possible segment length values are:
8, 16, 24, and 32. During encoding process the segments length is adjusted by extrapolation
process. Thanks to this the partitioning of trajectory into segments is synchronized
with the endpoints of GOS structure, i.e. each segment always starts and ends at the
endpoints of GOS structure.
[0018] Upon decoding, this segment may continue to the next GOS (or even further), as shown
in Figure 2. After decoding, the segmented trajectories are joined together in the
trajectory buffer, as described in section 2.2.2. Decoding process of GOS structure
is detailed in Annex A.
[0019] Figure 2 shows partitioning of sinusoidal trajectories into segments and their relation
to GOS according to an embodiment of the invention.
[0020] Encoding algorithm has also an ability to jointly encode clusters of segments belonging
to harmonic structure of the sound source, i.e. clusters represent fundamental frequency
of each harmonic structure and its integer multiplications. It can exploit the fact
that each segment is characterized with a very similar FM and AM modulations.
2.2.2. Ordering and linking of corresponding trajectory segments
[0021] Each decoded segment contains information about its length and if there will be any
further corresponding continuation segment transmitted. The decoder uses this information
to determine when (i.e. in which of the following GOS) the continuation segment will
be received. Linking of segments relies on the particular order the trajectories are
transmitted. The order of decoding and linking segments is presented and explained
in Figure 3.
[0022] Figure 3 shows a scheme of linking trajectory segments according to an embodiment
of the invention. Segments decoded within one GOS are marked with the same color.
Each segment is marked with a number (e.g. SEG #5) which determines the order of decoding
(i.e. order of receiving the segment data from bitstream). In above example SEG#1
has length of 32 data points and is marked to be continued (isCont = 1). Therefore,
SEG #1 is going to be continued in GOS #5, where there are two new segments received
(SEG #5 and SEG #6). The order of decoding this segments determines that the continuation
for SEG #1 is SEG #5.
2.2.3. Sinusoidal synthesis and output signal
[0023] The currently decoded trajectories amplitude and frequency data are stored in the
trajectory buffers segAmpl and segFreq. The length of each of the buffers is HFSC_BUFF_LENGTH
is equal to HFSC_MAX_SEGMENT_LENGTH = 32 trajectory data points. In order to keep
high audio quality the decoder employs classic oscillator-based additive synthesis
performed in sample domain. For this purpose, the trajectory data are to be interpolated
on a sample basis, taking into account the synthesis frame length H = 256. In order
to reduce the memory requirements the output signal is synthesized only from trajectory
data points corresponding to currently decoded USAC frame and HFSC_BUFFER_LENGTH is
equal to 2048. Once the synthesis is finished the buffer is shifted and appended with
new HFSC data. There is no delay added during the synthesis process.
[0024] The operation of the HFSC tool is strictly synchronized with the USAC frame structure.
The HFSC data frame (GOS) is sent once per 1 USAC frame. It describes up to 8 trajectory
data values corresponding to 8 synthesis frames. In other words, there are 8 synthesis
frames of sinusoidal trajectory data per each USAC frame and each synthesis frame
is 256 samples long at the sampling rate of the USAC codec.
[0025] If Core Decoder output is carried in sample domain, the group of 2048 HFSC samples
are passed to the output, where the data is mixed with the contents produced by the
USAC decoder with appropriate scaling.
[0026] If output of the Core Decoder needs to be carried in frequency domain an additional
QMF analysis is required. The QMF analysis introduces delay of 384 samples, however
it holds within the delay introduced by eSBR decoder. Another option might be direct
synthesis of sinusoidal partials to QMF domain.
3. Bitstream Syntax and Specification Text
[0027] The necessary changes to the standard text containing bit stream syntax, semantics
and a description of the decoding process can be found in Annex A of the document
as a diff-text.
4. Coding delay
[0028] The maximum coding delay is related to HFSC_MAX_SEGMENT_LENGTH, GOS_LENGTH, sinusoidal
analysis frame length SINAN_LENGTH=2048 and synthesis frame length H = 256. Sinusoidal
analysis requires zero-padding with 768 samples and overlapping with 1024 samples.
The resulting maximum coding delay of HFSC tool is: (HFSC_MAX_SEGMENT_LENGTH + GOS
_LENGTH - 1)
∗H + SINAN_LENGTH - H = (32+8-1)
∗256+2048-256 = 11776 samples. The delay is not added at the front of other Core Coder
tools.
5. Stereo and multichannel signals coding
[0029] For stereo and multichannel signals, the trajectories of the channels are grouped
and only the presence of the trajectories is signaled in a header. The HFSC tool is
active only for part of audio channels. The HFSC payload is transmitted in USAC Extension
Element. It is recommended to send additional information related to trajectory panning
as illustrated in the Figures 4b below to further save some bits. However, due to
low bitrate overhead introduced by HFSC each channel can also be encoded independently
as illustrated in Figure 4a. Figure 4a shows an illustration of independent encoding
for each channel according to an example useful for understanding the invention which
was originally filed but which does not represent an embodiment of the presently claimed
invention. Figure 4b shows an illustration of sending additional information related
to trajectory panning according to an embodiment of the invention.
6. Complexity and memory requirements
6.1. Computational complexity
[0030] The computational complexity of the proposed tool depends on the number of currently
transmitted trajectories which in every HFSC frame is limited to HFSC_MAX_TRJ=8. The
dominant component of the computational complexity is related to the sinusoidal synthesis.
Time domain synthesis assumptions are as follows:
- Taylor series expansions employed for calculating of cos() and exp() functions
- 16-bit output resolution
[0031] The computational complexity of DCT based segment decoding is negligibly small when
compared to the synthesis. The HFSC tool generates in average is 0.6 sinusoidal trajectory,
thus the total number of operations per sample is 18
∗0.6 = 10.8. Assuming the output sampling frequency is 44100 Hz, the total number of
MOPS per one channel active is 0.48. When 8 audio channels would be enhanced by HFSC
tool, the total number of MOPS is 3.84.
- Comparison to the total computational complexity of Core decoder with 22 channels
(11 CPE's used):Reference Model Core coder: 118 MOPS
- HFSC: 8∗0.48 = 3.48
- RM+HFSC = 121.48
- (RM+HFSC/RM) = 1,02
- 2% increase of computational complexity, when no additional QMF analysis is needed
6.2. Memory requirements
[0032] For online operation, the trajectory decoding algorithm requires a number of matrices
of size:
- 32 × 8 = 256 elements for amplCoeff
- 32 × 8 = 256 elements for freqCoeff
- 33 × 8 = 256 elements for segAmpl
- 33 × 8 = 256 elements for segFreq
- 32 elements for DCT decoding
[0033] The synthesis requires vectors of size:
- 256∗8 = 2048 elements for amplitude output buffer
- 256∗8 = 2048 elements for frequency and phase output buffer
[0034] Since these elements are used to store a 4-byte floating point values, the estimated
amount of memory required for computations is around 20kB RAM.
[0035] The Huffman tables require approximately 250B ROM.
7. Evidence of merit
[0036] According to workplan [5], the listening tests were conducted for stereo signals
with total bitrate of 20kbps. The listening test report is presented in [3].
8. Summary and conclusions
[0037] In the current document a complete CE proposal of HFSC tool was presented which improves
high frequency tonal component coding in MPEG-H Core Coder. Embodiments of the presented
CE technology may be integrated into the MPEG-H audio standard as part of Phase 2.
Annex A: Proposed changes to the specification text
[0038] The following bit stream syntax is based on ISO/IEC 23008-3:2015 where we propose
the following modifications.
Add table entry ID_EXT_ELE_HFSC to Table 50:
[0039]
Table 50 - Value of usacExtElementType
| usacExtElementType Value |
usacExtElementType Value |
| ··· |
··· |
| ID_EXT_ELE_HFSC 10 |
10 |
| ··· |
··· |
Add table entry ID_EXT_ELE_HFSC to Table 51:
[0040]
Table 51 - Interpretation of data blocks for extension payload decoding
| usacExtElementType |
The concatenated usacExtElementSegmentData represents: |
| ··· |
··· |
| ID_EXT_ELE_HFSC |
HfscGroupOfSegments() |
| ··· |
··· |
Add case ID_EXT_ELE_HFSC to syntax of mpegh3daExtElementConfig():
[0041]
Table XX - Syntax of mpegh3daExtElementConfig()
| Syntax |
No. of bits |
Mnemonic |
| mpegh3daExtElementConfig() |
|
|
| { |
|
|
| ··· |
|
|
| case ID_EXT_ELE_HFSC: /∗ high freq. sin. coding∗/ |
|
|
| HFSCConfig(); |
|
|
| break; |
|
|
| ··· |
|
|
| } |
|
|
Add Table XX - Syntax of HFSCConfig():
[0042]
Table XX - Syntax of HFSCConfig()
| Syntax |
No. of bits |
Mnemonic |
| HFSCConfig() |
|
|
| { |
|
|
| for(elm=0;elm < numElements; elm++) { |
|
|
| hfscFlag[elm]; |
1 |
uimsbf |
| } |
|
|
| } |
|
|
| NOTE: numElements corresponds only to SCE, CPE and QCE channel elements. |
Add Table XX - Syntax of HfscGroupOfSegments():
[0043]
Table XX - Syntax of HfscGroupOfSegments()
| Syntax |
No. of bits |
Mnemonic |
| HfscGroupOfSegments() |
|
|
| { |
|
|
| if(hfscDataPresent){ |
1 |
uimsbf |
| numTrajectories; |
3 |
uimsbf |
| for(k=0;k<numTrajectories;k++){ |
|
|
| isContinued[k]; |
1 |
uimsbf |
| segLength[k]; |
2 |
uimsbf |
| amplQuant[k]; |
1 |
uimsbf |
| amplTransformCoeffDC[k]; |
8 |
uimsbf |
| j = 0; |
NOTE 1) |
|
| while(amplTransformIndex[k][j] = huff_dec(huffWord)){ |
1..12 |
|
| if(amplTransformIndex[k][j] == 0) { |
|
|
| numAmplCoeffs = j; |
|
|
| break; |
|
|
| } |
|
|
| j++; |
|
|
| } |
|
|
| for(j=0; j < numAmplCoeffs; j++) |
NOTE 2) |
|
| amplTransformCoeffAC[k][j]= huff_dec(huffWord); |
1..15 |
|
| freqQuant[k]; |
1 |
uimsbf |
| freqTransformCoeffDC[k]; |
11 |
uimsbf |
| j = 0; |
NOTE 1) |
|
| while(freqTransformlndex[k][j] = huff_dec(huffWord)){ |
1..12 |
|
| if(freqTransformlndex[k][j] = =0) { |
|
|
| numFreqCoeffs = j; |
|
|
| break; |
|
|
| } |
|
|
| j++; |
|
|
| } |
|
|
| for(j=0; j < numFreqCoeffs; j++) |
NOTE 2) |
|
| freqTransformCoeffAC[k][j]= huff_dec(huffWord); |
1..15 |
|
| } |
|
|
| } |
|
|
| } |
|
|
| NOTE 1: Huffman codes table: Table XX |
| NOTE 2: Huffman codes table: Table XX |
[0044] It is proposed to append the following descriptive text to a new section "5.5.X High
Frequency Sinusoidal Coding Tool" with the following content:
5.5.X High Frequency Sinusoidal Coding Tool
5.5.X.1 Tool description
[0045] The High Frequency Sinusoidal Coding Tool (HFSC) is a method for coding of selected
high frequency tonal components using an approach based on sinusoidal modeling. Tonal
components are represented as sinusoidal trajectories - data vectors with varying
amplitude and frequency values. The trajectories are divided into segments and encoded
with technique based on Discreet Cosine Transform.
5.5.X.2 Terms and Definitions
Help elements:
[0046]
hfscFlag[elm] Indicates the use of the tool for a certain group of signals:
Table XX - hfscFlag
| hfscFlag |
Meaning |
| 0 |
HFSC tool not applied |
| 1 |
HFSC tool applied |
HfscGroupOfSegments () Syntactic element that contains HFSC Group Of Segment data
hfscDataPresent Indicates if HFSC data are there any segments transmitted in current
Group Of Segments (GOS)
numTrajectories Indicates the number of trajectory segments transmitted in current
GOS
isContinued Indicates whether this particular segment will have its continuation
in next GOS
Table XX - isContinued
| isContinued |
Meaning |
| 0 |
Segment will not be continued |
| 1 |
Segment will be continued |
segLength Indicates the length of the currently decoded segment
Table XX - segLength
| segLength |
Trajectory segment length |
| 00 |
8 |
| 01 |
16 |
| 10 |
24 |
| 11 |
32 |
amplQuant Quantization step for amplitude coefficients
Table XX - amplQuant
| amplQuant |
Amplitude quantization step in dB |
| 0 |
0.5 |
| 1 |
1 |
freqQuant Quantization step for frequency coefficients
| freqQuant |
Frequency quantization step in cents |
| 0 |
2 |
| 1 |
4 |
huffWord Huffman codeword
amplTransformCoeffDC Amplitude DCT transform DC coefficient
freqTransformCoeffDC Frequency DCT transform DC coefficient
numAmplCoeffs Number of decoded amplitude AC coefficients
- numFreqCoeffs
- Number of decoded frequency AC coefficients
- amplTransformCoeffAC
- Array with amplitude DCT transform AC coefficients
- freqTransformCoeffAC
- Array with frequency DCT transform AC coefficients
- amplTransformIndex
- Array with amplitude DCT transform AC indices
- freqTransformIndex
- Array with frequency DCT transform AC indices
- amplOffsetDC
- Constant integer added to each decoded amplitude DC coefficient, equal to 32
- freqOffsetDC
- Constant integer added to each decoded frequency DC coefficient, equal to 600
- offsetAC
- Constant integer added to each decoded amplitude and frequency AC coefficient, equal
to 1
- sgnAC
- Bit indicating the sign of decoded AC coefficient, 1 indicates negative value.
- MAX_NUM_TRJ
- Maximum number of processed trajectories, equal to 8
- HFSC_BUFFER_LENGTH
- Length of buffer for storing decoded trajectory amplitude and frequency data
- HFSC_SYNTH_LENGTH
- Length of buffer for storing synthesized HFSC samples, equal to 2048
- HFSC_FS
- Nominal sampling frequency for HFSC sinusoidal trajectory data, equal to 48000 Hz
5.5.X.3 Decoding process
5.5.X.3.1 General
[0047] Element usacExtElementType ID_EXT_ELE_HFSC according to hfscFlag[] contains HFSC
data (HFSC Groups of Segments - GOS) corresponding to the currently processed channel
elements i.e. SCE (Single Channel Element), CPE (Channel Pair Element), QCE (Quad
Channel Element). The number of transmitted GOS structures for particular type of
channel element is defined as follows:
Table XX - Number of transmitted GOS structures
| USAC element type |
Number of GOS structures |
| SCE |
1 |
| CPE |
2 |
| QCE |
4 |
[0048] The decoding of each GOS starts with decoding the number of transmitted segments
by reading the field numSegments and increasing it by 1. Then decoding of particular
k-th segment starts from decoding its length segLength[k] and isContinued[k] flag.
The decoding of other segment data is performed in multiple steps as follows:
5.5.X.3.2 Decoding of segment amplitude data
5.5.X.3.3 Decoding of segment frequency data
[0050] The following procedures are performed for
k-th segment frequency data decoding:
- 1. The frequency quantization stepF[k] is calculated according to formula:

where freqQuant[k] is expressed in cents.
- 2. The freqTransformCoeffDC[k] is decoded according to formula:

- 3. Decoding process of frequency AC indices is the same as for amplitude AC indices.
The resulting data vector is freqIndex[k][j].
- 4. Decoding process of frequency AC coefficients is the same as for amplitude AC coefficients.
The resulting data vector is freqAC[k][j].
- 5. Decoded frequency transform DC and AC coefficients are placed into vector freqCoeff of length equal to segLength[k]. The freqDC[k] coefficient is placed in position j=0 and freqAC[k][j] coefficients are placed according to decoded freqIndex[k][j] indices.
- 6. The reconstruction of sequence of trajectory frequency data in logarithmic scale
and further transformation to linear scale is performed in the same manner as for
amplitude data. The resulting vector is segFreq[k][i]. The linear values of frequency data are stored in the range from 0.07 - 0.5. In order
to obtain frequency in Hz, decoded frequency values should be multiplied by HFSC_FS.
5.5.X.3.4 Ordering and linking of trajectory segments
[0051] The original sinusoidal trajectories build in the encoder are partitioned into an
arbitrary number of segments. The length of currently processed segment segLength[k]
and continuation flag isContinued[k] is used to determine when (i.e. in which of the
following GOS) the continuation segment will be received. Linking of segments relies
on the particular order the trajectories are transmitted. The order of decoding and
linking segments is presented and explained in Figure 3.
5.5.X.3.5 Synthesis of decoded trajectories
[0052] The received representation of trajectory segments is temporarily stored in data
buffers
segAmpl[k][i] and
segFreq[k][i], where
k represents the index of segment not greater than
MAX_NUM_TRJ = 8, and
i represents the trajectory data index within a segment,
0<=
i < HFSC_BUFFER_LENGTH. The index
i=0 of buffers
segAmpl and
segFreq is filled with data depending on the one of two possible scenarios for further processing
of particular segments:
- 1. The received segment is starting a new trajectory, then the i=0 index amplitude and frequency data are provided by simple extrapolation process:

- 2. The received segment is recognized as a continuation for the segment processed
in the previously received GOS structure, then the i=0 index amplitude and frequency data are copy of the last data points from the segment
being continued.
[0053] The output signal is synthesized from sinusoidal trajectory data stored in the synthesis
region of
segAmpl[k][l] and
segFreq[k][l], where each column corresponds to one synthesis frame and
l=
0, 1, ...,8. For the purpose of synthesis, these data are to be interpolated on a sample
basis, taking into account the synthesis frame length H = 256. The samples of the
output signal are calculated according to

where:
n = 0... HFSC SYNTH LENGTH-1,
[0054] K[n] denotes the number of currently active trajectories, i.e. the number of rows synthesis
region of
segAmpl[k][l] and
segFreq[k][l] which have valid data in the frame
l =
floor(n/
H) and
l = floor(
n/H)+1.
Ak[n] denotes the interpolated instantaneous amplitude of k-th partial,
ϕk[n] denotes the interpolated instantaneous phase of k-th partial.
[0055] The instantaneous phase ϕ
k[n] is calculated from the instantaneous frequency
Fk[n] according to:

where
nstart[k] denotes the initial sample, at which the current segment is started. This initial
value of phase is not transmitted and should be stored between consecutive buffers,
so that the evolution of phase is continuous. For this purpose the final value of
ϕ
k[HFSC_SYNTH_LENGTH-1] is written to a vector
segPhase[k]. This value is used as ϕ
k[nstart[k]] during the synthesis in the next buffer. At the beginning of each trajectory, ϕ
k[nstart[k]] = 0 is set.
[0056] The instantaneous parameters
Ak[n] and
Fk[n] are interpolated on a sample basis from trajectory data stored in trajectory buffer.
These parameters are calculated by linear interpolation:

where:
n' = n-nstart
h = n' mod H
[0057] Once the group of HFSC_SYNTH_LENGTH samples is synthesized, it is passed to the output,
where the data is mixed with the contents produced by the Core Decoder with appropriate
scaling to the output data range through multiplication by 215. After the synthesis,
the content of
segAmpl[k][l] and
segFreq[k][l] is shifted by 8 trajectory data points and updated with new data from incoming GOS.
5.5.X.3.6 Additional transform of output signal to QMF domain
[0058] Depending on the Core Decoder output signal domain, an additional QMF analysis of
the HFSC output signal should be performed according to ISO/IEC 14496-3:2009, subclause
4.6.18.4.
5.5.X.3.7 Huffman Tables for AC indices
[0059] The following Huffman table huff_idxTab[] shall be used for decoding the DCT AC indices:

5.5.X.3.8 Huffman Tables for AC coefficients
[0060] The following Huffman table huff_acTab[] shall be used for decoding the DCT AC values.
Each code word in the bitstream is followed by a 1 bit indicating the sign of decoded
AC value.
[0061] The decoded AC values need to be increased by adding the offsetAC value.

[0062] In the following further information about embodiments of the invention is provided.
[0063] Subject of the application:
High Efficiency Sinusoidal Coding
- low bitrate coding technique for audio signals
- based on hiqh quality sinusoidal model
- extended with transient and noise coding
- bridge between speech and general audio coding techniques
- deals with high frequency artifacts introduced by Spectral Band Replication
- MPEG-H 3D Audio and Unified Speech and Audio Coding extension
- MPEG-H 3D Audio / USAC has known problems with high frequency tonal
components
[0064] Fig. 5 shows the motivation for embodiments of the present invention.
[0065] Fig. 6 shows exemplary MPEG-H 3D Audio artifacts above fSBR, and in particular that
the SBR tool is not capable of proper reconstruction of high frequency tonal components
(over fSBR band)
[0066] Fig. 7 shows a comparison for 20kbps (~2kbps of HESC), fSBR=4kHz, between "Original",
"MPEG 3DA" and "MPEG 3DA+ HESC".
[0067] Fig. 8 shows a flow-chart of an exemplary encoding method, comprising the following
steps and/or content:
114: audio signal samples per frame
312: determining sinusoidal components
313: estimation of frequencies of the components for each frame
314: estimation of amplitudes of the components for each frame
315: splitting particular trajectories into segments
---: merging thus obtained pairs into sinusoidal trajectories
316 & 317: transform the values into the logarithmic scale
320 & 321: quantization
318 & 319: transforming particular trajectories to the frequency
domain by means of a digital transform performed on segments
longer than the frame duration
320 & 321: quantization
322 & 323: selection of transform coefficients in the segments
324 & 326: array of indices of selected coefficients
325 & 327: array of values of selected coefficients
328: entropy encoding
115: outputting the quantized coefficients as output data
[0068] Thus, Fig. 8 illustrates the schematic flow of an exemplary audio signal encoding
method comprising the steps of: collecting the audio signal samples (114), determining
sinusoidal components (312) in subsequent frames, estimation of amplitudes (314) and
frequencies (313) of the components for each frame, merging thus obtained pairs into
sinusoidal trajectories, splitting particular trajectories into segments, transforming
(318, 319) particular trajectories to the frequency domain by means of a digital transform
performed on segments longer than the frame duration, quantization (320, 321) and
selection (322, 323) of transform coefficients in the segments, entropy encoding (328),
outputting the quantized coefficients as output data (115), wherein the length of
the segments into which each trajectory is split is individually adjusted in time
for each trajectory.
[0069] Figure 9 shows a block-diagram of an exemplary encoder, comprising the following
features:
110: audio signal encoder
111: analog-to-digital converter
112: processing unit
115: compressed data sequence
113: audio signal
114: audio signal samples
[0070] Thus, Fig. 9 illustrates the schematic structure of an exemplary audio signal encoder
(110) comprising an analog-to-digital converter (111) and a processing unit (112)
provided with: an audio signal samples collecting unit, a determining unit receiving
the audio signal samples from the audio signal samples collecting unit and converting
them into sinusoidal components in subsequent frames, an estimation unit receiving
the sinusoidal components' samples from the determining unit and returning amplitudes
and frequencies of the sinusoidal components in each frame, a synthesis unit, generating
sinusoidal trajectories on a basis of values of amplitudes and frequencies, a splitting
unit, receiving the trajectories from the synthesis unit and splitting them into segments,
a transforming unit, transforming trajectories' segments to the frequency domain by
means of a digital transform, a quantization and selection unit, converting selected
transform coefficients into values resulting from selected quantization levels and
discarding remaining coefficients, an entropy encoding unit, encoding quantized coefficients
outputted by the quantization and selection unit, and a data outputting unit, wherein
the splitting unit is adapted to set the length of the segment individually for each
trajectory and to adjust this length over time.
[0071] Fig. 10 shows an example analysis of sinusoidal trajectories showing sparse DCT spectra
according to prior art.
[0072] Fig. 11 shows a flow-chart of an exemplary decoding method, comprising the following
steps and/or content:
115: transferred compressed data
411: entropy code decoder
324 & 326: reconstructed array of indices of the quantized transform coeff.
325 & 327: reconstructed array of values of the quantized transform coeff.
412 & 413: reconstruction blocks, vectors' elements of transform coeff. are filled
with the decoded values corresponding to the decoded indices
414 & 415: dequantization, not-encoded coeff. are reconstructed using "ACEnergy" and/or
"ACEnvelope"
416 & 417: inverse transform to obtain the reconstructed logarithmic values of frequency
and amplitude
418 & 419: convert to linear scale by means of antilogarithm
420 & 421: merging the reconstructed trajectories' segments with the already decoded
segments
422: synthesis based on a sinusoidal representation
214: synthesized signal
[0073] Thus, Fig. 11 illustrates the schematic flow of an exemplary audio signal decoding
method comprising the steps of: retrieving encoded data, reconstruction (411, 412,
413, 414, 415) from the encoded data digital transform coefficients of trajectories'
segments, subjecting the coefficients to an inverse transform (416, 417) and performing
reconstruction of the trajectories' segments, generation (420, 421) of sinusoidal
components, each having amplitude and frequency corresponding to the particular trajectory,
reconstruction of the audio signal by summation of the sinusoidal components, wherein
missing, not encoded transform coefficients of the sinusoidal components' trajectories
are replaced with noise samples generated on a basis of at least one parameter introduced
to the encoded data instead of the missing coefficients.
[0074] Fig. 12 shows a block diagram of an exemplary decoder comprising the following features:
210: audio signal decoder
213: compressed data
215: analog signal
212: digital-to-analog converter
211: processing unit
214: synthesized digital samples
[0075] Thus, Fig. 12 illustrates the schematic structure of an audio signal decoder 210,
comprising a digital-to-analog converter 212 and a processing unit 211 provided with:
an encoded data retrieving unit, a reconstruction unit, receiving the encoded data
and returning digital transform coefficients of trajectories' segments, an inverse
transform unit, receiving the transform coefficients and returning reconstructed trajectories'
segments, a sinusoidal components generation unit, receiving the reconstructed trajectories'
segments and returning sinusoidal components, each having amplitude and frequency
corresponding to the particular trajectory, an audio signal reconstruction unit, receiving
the sinusoidal components and returning their sum, the decoder comprising a unit adapted
to randomly generate not encoded coefficients on a basis of at least one parameter,
the parameter being retrieved from the input data, and transferring the generated
coefficients to the inverse transform unit.
[0076] In the following, specific aspects of embodiments of the inventions are described.
Aspect 1: QMF and/or MDCT synthesis
[0077] Figure 13a) shows another embodiment of the invention, in particular the general
location of the proposed tool within the MPEG-H 3D Audio Core Encoder.
[0078] Figure 13b) shows a part of Fig. 11. The problem of such implementations: due to
complexity issue, the amplitudes and frequencies may not always be synthesized directly
into the time domain representation.
[0079] Figure 13c) shows an embodiment of the present invention, wherein the steps depicted
therein replace the respective steps in Fig. 13b), i.e. provide a solution: depending
on the system configuration, the decoder shall perform the processing accordingly.
Aspect 2: Extension of Trajectory Length
[0080] In some implementations, the length of the segments into which each trajectory is
split is individually adjusted in time for each trajectory.
[0081] Such implementations have the problem that the actual trajectory length is arbitrary
at the encoder side. This means that a segment may start and end arbitrarily within
the group of segments (GOS) structure. Additional signaling is required.
[0082] In an embodiment, the partitioning of trajectory into segments is instead synchronized
with the endpoints of the Group of Segments (GOS) structure.
[0083] Thus, there is no need for additional signaling since it will always be guaranteed
that the beginning and end of a segment is aligned with the GOS structure.
Aspect 3: Information about trajectory panning
[0084]
Problem: In the context of multichannel coding, it has been found out that the information
regarding sinusoidal trajectories is redundant since it may be shared between several
channels.
Solution:
According to an embodiment, instead of coding these trajectories independently for
each channel (as shown in Fig. 14a)), they can be grouped and only signal their presence
with fewer bits (as shown in Fig. 14b)), e.g. in headers. Therefore, it is recommended
to send additional information related to trajectory panning.
Aspect 4: Encoding of trajectory groups
[0085]
Problem: Some trajectories may have redundancies such as the presence of harmonics.
Solution: The trajectories can be compressed by signaling only the presence of harmonics
in the bitstream as described below as an example.
[0086] Encoding algorithm has also an ability to jointly encode clusters of segments belonging
to harmonic structure of the sound source, i.e. clusters represent fundamental frequency
of each harmonic structure and its integer multiplications. It can exploit the fact
that each segment is characterized with a very similar FM and AM modulations.
[0087] Combination of the Aspects
- The aspectss mentioned above can be applied independently or combined
- The benefit of the combination is mostly cumulative. For example, Aspects 2, 3 and
4 can be combined resulting in a total reduced bitrate.
9. References
[0088]
[1] ISO/IEC JTC1/SC29/WG11/M35934, "MPEG-H 3D Audio Phase 2 Core Experiment Proposal on
tonal component coding," 111th MPEG Meeting, February 2015, Geneva, Switzerland.
[2] ISO/IEC JTC1/SC29/WG11/M36538, "Updated MPEG-H 3D Audio Phase 2 Core Experiment Proposal
on tonal component coding," 112th MPEG Meeting, June 2015, Warsaw, Poland.
[3] ISO/IEC JTC1/SC29/WG11/M37215, "Zylia Listening Test Report on High Frequency Tonal
Component Coding CE," 113th MPEG Meeting, October 2015, Geneva, Switzerland.
[4] Zernicki T., Bartkowiak M., Januszkiewicz L., Chryszczanowicz M., "Application of
sinusoidal coding for enhanced bandwidth extension in MPEG-D USAC," Convention paper
presented at the 138th AES Convention, Warsaw.
[5] ISO/IEC JTC1/SC29/WG11/N15582, "Workplan on 3D Audio," 112th MPEG Meeting, June 2015,
Warsaw, Poland.
[Zernicki et al., 2011] Tomasz Zernicki, Maciej Bartkowiak, Marek Domanski, "Enhanced coding of high-frequency
tonal components in MPEG-D USAC through joint application of eSBR and sinusoidal modeling,"
in ICASSP 2011, pp. 501-504, 2011.
[Zernicki et al., 2015] Tomasz Zernicki, Maciej Bartkowiak, Lukasz Januszkiewicz, Marcin Chryszczanowicz,
"Application of sinusoidal coding for enhanced bandwidth extension in MPEG-D USAC,"
in Audio Engineering Society 138th Convention, Warsaw, Poland, May 2015.
1. An audio signal encoding method, the method comprising the steps of:
- collecting the audio signal samples (114),
- determining sinusoidal components (312) in subsequent frames,
- estimation of amplitudes (314) and frequencies (313) of the components for each
frame,
- merging thus obtained pairs into sinusoidal trajectories,
- splitting trajectories into segments,
- transforming (318, 319) the trajectories to the frequency domain by means of a digital
transform performed on segments longer than the frame duration,
- quantization (320, 321) and selection (322, 323) of transform coefficients in the
segments,
- entropy encoding (328), and
- outputting the quantized coefficients as output data (115),
wherein:
- when the method is an audio signal encoding method for stereo or multichannel encoding,
the trajectories of the channels are grouped and only the presence of the trajectories
is signaled in a header.
2. The audio signal encoding method according to claim 1,
wherein
- segments of different trajectories starting within a particular time are grouped
into Groups of Segments, GOS, and
- the partitioning of trajectories into segments is synchronized with the endpoints
of a Group of Segments, GOS.
3. The audio signal encoding method according to claim 2, wherein the segments length
is adjusted by extrapolation to synchronize the partitioning of trajectories with
the endpoints of the GOS.
4. The audio signal encoding method according to claim 2 or 3, wherein the length of
a group of segments is limited to eight frames.
5. The audio signal encoding method according to any one of claims 2 to 4, wherein the
audio signal encoding method is used for high frequency sinusoidal coding, HFSC, for
example for HFSC according to the MPEG-H 3D codec.
6. The audio signal encoding method according to any one of claims 1 to 5, wherein clusters
of segments belonging to harmonic structures of a sound source are jointly encoded,
clusters representing a fundamental frequency of each harmonic structure and its integer
multiplications.
7. An audio signal encoding apparatus configured to:
- collect the audio signal samples (114),
- determine sinusoidal components (312) in subsequent frames,
- estimate amplitudes (314) and frequencies (313) of the components for each frame,
- merge thus obtained pairs into sinusoidal trajectories,
- split trajectories into segments,
- transform (318, 319) the trajectories to the frequency domain by means of a digital
transform performed on segments longer than the frame duration,
- quantize (320, 321) and select (322, 323) transform coefficients in the segments,
- entropy encode (328), and
- output the quantized coefficients as output data (115),
wherein:
- when the apparatus is an audio signal encoding apparatus for stereo or multichannel
encoding, the trajectories of the channels are grouped and only the presence of the
trajectories is signaled in a header.
8. The audio signal encoding apparatus according to claim 7,
wherein
- segments of different trajectories starting within a particular time are grouped
into Groups of Segments, GOS, and
- the partitioning of trajectories into segments is synchronized with the endpoints
of a Group of Segments, GOS.
9. The audio signal encoding apparatus according to claim 7 or claim 8, wherein clusters
of segments belonging to harmonic structures of a sound source are jointly encoded,
clusters representing a fundamental frequency of each harmonic structure and its integer
multiplications.
10. An audio signal decoding method comprising the steps of:
- retrieving encoded data,
- reconstruction (411, 412, 413, 414, 415) from the encoded data digital transform
coefficients of trajectories' segments,
- subjecting the coefficients to an inverse transform (416, 417) and performing reconstruction
of the trajectories' segments,
- for each trajectory, generation (420, 421) of a sinusoidal components having an
amplitude and a frequency corresponding to the trajectory,
- reconstruction of the audio signal by summation of the sinusoidal components,
wherein
- when the method is an audio signal decoding method for stereo or multichannel decoding,
the trajectories of the channels are grouped and only the presence of the trajectories
is signaled in a header in the retrieved encoded data.
11. The audio signal decoding method according to claim 10, wherein:
- segments of different trajectories starting within a particular time are grouped
into Groups of Segments, GOS, and
- the partitioning of trajectories into segments is synchronized with the endpoints
of a Group of Segments, GOS.
12. The audio signal decoding method according to claim 10 or claim 11, wherein clusters
of segments belonging to harmonic structures of a sound source are jointly encoded
in the retrieved encoded data, clusters representing a fundamental frequency of each
harmonic structure and its integer multiplications.
13. An audio signal decoding apparatus configured to:
- retrieve encoded data,
- reconstruct (411, 412, 413, 414, 415) from the encoded data digital transform coefficients
of trajectories' segments,
- subject the coefficients to an inverse transform (416, 417) and perform reconstruction
of the trajectories' segments,
- for each trajectory, generate (420, 421) a sinusoidal component having an amplitude
and a frequency corresponding to the trajectory,
- reconstruct the audio signal by summation of the sinusoidal components,
wherein
- when the method is an audio signal decoding method for stereo or multichannel decoding,
the trajectories of the channels are grouped and only the presence of the trajectories
is signaled in a header in the retrieved encoded data.
14. The audio signal decoding apparatus according to claim 13, wherein:
- segments of different trajectories starting within a particular time are grouped
into Groups of Segments (GOS), and
- the partitioning of trajectories into segments is synchronized with the endpoints
of a Group of Segments (GOS).
15. The audio signal decoding apparatus according to claim 13 or claim 14, wherein clusters
of segments belonging to harmonic structures of a sound source are jointly encoded
in the retrieved encoded data, clusters representing a fundamental frequency of each
harmonic structure and its integer multiplications.
1. Audiosignalcodierverfahren, wobei das Verfahren die folgenden Schritte umfasst:
- Sammeln der Audiosignalproben (114),
- Bestimmen von sinusförmigen Komponenten (312) in den nachfolgenden "Frames",
- Schätzen der Amplituden (314) und Frequenzen (313) der Komponenten für jedes "Frame",
- Zusammenfügen der so erhaltenen Paare zu sinusförmigen Bewegungsbahnen,
- Teilen der Bewegungsbahnen in Segmente,
- Transformieren (318, 319) der Bewegungsbahnen in den Frequenzbereich mittels einer
digitalen Transformation, die an Segmenten durchgeführt wird, die länger als die "Frame"-Dauer
sind,
- Quantisierung (320, 321) und Auswahl (322, 323) der Transformationskoeffizienten
in den Segmenten,
- Entropiecodierung (328), und
- Ausgeben der quantisierten Koeffizienten als Ausgangsdaten (115),
wobei:
- wenn das Verfahren ein Audiosignalcodierverfahren für Stereo- oder Mehrkanalcodierung
ist, die Bewegungsbahnen der Kanäle gruppiert werden und nur das Vorhandensein der
Bewegungsbahnen in einem Kopfabschnitt signalisiert wird.
2. Audiosignalcodierverfahren gemäß Anspruch 1,
wobei
- Segmente verschiedener Bewegungsbahnen, die innerhalb eines bestimmten Zeitraums
beginnen, in Segmentgruppen, GOS, gruppiert werden und
- das Unterteilen der Bewegungsbahnen in Segmente mit den Endpunkten einer Segmentgruppe,
GOS, synchronisiert wird.
3. Audiosignalcodierverfahren gemäß Anspruch 2, wobei die Segmentlänge durch Extrapolation
angepasst wird, um das Unterteilen der Bewegungsbahnen mit den Endpunkten der GOS
zu synchronisieren.
4. Audiosignalcodierverfahren gemäß Anspruch 2 oder 3, wobei die Länge einer Segmentgruppe
auf acht "Frames" begrenzt ist.
5. Audiosignalcodierverfahren gemäß einem der Ansprüche 2 bis 4, wobei das Audiosignalcodierverfahren
für die Hochfrequenz-Sinus-Codierung, HFSC, verwendet wird, zum Beispiel für die HFSC
gemäß dem MPEG-H 3D-Codec.
6. Audiosignalcodierverfahren gemäß einem der Ansprüche 1 bis 5, wobei Cluster von Segmenten,
die zu harmonischen Strukturen einer Schallquelle gehören, gemeinsam codiert werden,
wobei die "Cluster" eine Grundfrequenz jeder harmonischen Struktur und ihre ganzzahligen
Multiplikationen darstellen.
7. Audiosignalcodiervorrichtung, die dafür konfiguriert ist:
- die Audiosignalproben zu sammeln (114),
- die sinusförmigen Komponenten (312) in den nachfolgenden "Frames" zu bestimmen,
- die Amplituden (314) und Frequenzen (313) der Komponenten für jedes "Frame" zu schätzen,
- die so erhaltenen Paare zu sinusförmigen Bewegungsbahnen zusammenzufügen,
- Bewegungsbahnen in Segmente zu unterteilen,
- die Bewegungsbahnen in den Frequenzbereich mittels einer digitalen Transformation
zu transformieren (318, 319), die an Segmenten durchgeführt wird, die länger als die
"Frame"-Dauer sind,
- Transformationskoeffizienten in den Segmenten zu quantisieren (320, 321) und auszuwählen
(322, 323),
- Entropiecodierung vorzunehmen (328), und
- die quantisierten Koeffizienten als Ausgangsdaten auszugeben (115),
wobei:
- wenn die Vorrichtung eine Audiosignalcodiervorrichtung für Stereo- oder Mehrkanalcodierung
ist, die Bewegungsbahnen der Kanäle gruppiert werden und nur das Vorhandensein der
Bewegungsbahnen in einem Kopfabschnitt signalisiert wird.
8. Audiosignalcodiervorrichtung gemäß Anspruch 7,
wobei
- Segmente verschiedener Bewegungsbahnen, die innerhalb eines bestimmten Zeitraums
beginnen, in Segmentgruppen, GOS, gruppiert werden und
- das Unterteilen der Bewegungsbahnen in Segmente mit den Endpunkten einer Segmentgruppe,
GOS, synchronisiert wird.
9. Audiosignalcodiervorrichtung gemäß Anspruch 7 oder 8, wobei "Cluster" von Segmenten,
die zu harmonischen Strukturen einer Schallquelle gehören, gemeinsam codiert werden,
wobei die "Cluster" eine Grundfrequenz jeder harmonischen Struktur und ihre ganzzahligen
Multiplikationen darstellen.
10. Audiosignaldecodierverfahren, umfassend die folgenden Schritte:
- Abrufen codierter Daten,
- Rekonstruktion (411, 412, 413, 414, 415) der digitalen Transformationskoeffizienten
der Segmente der Bewegungsbahn aus den codierten Daten,
- Unterziehen der Koeffizienten einer inversen Transformation (416, 417) und Durchführen
einer Rekonstruktion der Segmente der Bewegungsbahnen,
- für jede Bewegungsbahn Erzeugung (420, 421) einer sinusförmigen Komponente mit einer
Amplitude und einer Frequenz, die der Bewegungsbahn entsprechen,
- Rekonstruktion des Audiosignals durch Summierung der sinusförmigen Komponenten,
wobei
- wenn das Verfahren ein Audiosignaldecodierverfahren für Stereo- oder Mehrkanaldecodierung
ist, die Bewegungsbahnen der Kanäle gruppiert werden und nur das Vorhandensein der
Bewegungsbahnen in einem Kopfabschnitt der abgerufenen codierten Daten signalisiert
wird.
11. Audiosignaldecodierverfahren gemäß Anspruch 10, wobei:
- Segmente verschiedener Bewegungsbahnen, die innerhalb eines bestimmten Zeitraums
beginnen, in Segmentgruppen, GOS, gruppiert werden und
- das Unterteilen der Bewegungsbahnen in Segmente mit den Endpunkten einer Segmentgruppe,
GOS, synchronisiert wird.
12. Audiosignaldecodierverfahren gemäß Anspruch 10 oder 11, wobei "Cluster" von Segmenten,
die zu harmonischen Strukturen einer Schallquelle gehören, gemeinsam in den abgerufenen
codierten Daten codiert werden, wobei die "Cluster" eine Grundfrequenz jeder harmonischen
Struktur und ihre ganzzahligen Multiplikationen darstellen.
13. Audiosignaldecodiervorrichtung, die dafür konfiguriert ist:
- codierte Daten abzurufen,
- digitale Transformationskoeffizienten der Bewegungsbahnsegmente aus den codierten
Daten zu rekonstruieren (411, 412, 413, 414, 415),
- die Koeffizienten einer inversen Transformation (416, 417) zu unterziehen und eine
Rekonstruktion der Segmente der Bewegungsbahnen vorzunehmen,
- für jede Bewegungsbahn eine sinusförmige Komponente mit einer Amplitude und einer
Frequenz entsprechend der Bewegungsbahn zu erzeugen (420, 421),
- das Audiosignal durch Summierung der sinusförmigen Komponenten zu rekonstruieren,
wobei
- wenn das Verfahren ein Audiosignaldecodierverfahren für Stereo- oder Mehrkanaldecodierung
ist, die Bewegungsbahnen der Kanäle gruppiert werden und nur das Vorhandensein der
Bewegungsbahnen in einem Kopfabschnitt der abgerufenen codierten Daten signalisiert
wird.
14. Audiosignaldecodiervorrichtung gemäß Anspruch 13, wobei:
- Segmente verschiedener Bewegungsbahnen, die innerhalb eines bestimmten Zeitraums
beginnen, in Segmentgruppen (GOS) gruppiert werden und
- das Unterteilen der Bewegungsbahnen in Segmente mit den Endpunkten einer Segmentgruppe
(GOS) synchronisiert wird.
15. Audiosignaldecodiervorrichtung gemäß Anspruch 13 oder 14, wobei "Cluster" von Segmenten,
die zu harmonischen Strukturen einer Schallquelle gehören, gemeinsam in den abgerufenen
codierten Daten codiert werden, wobei die "Cluster" eine Grundfrequenz jeder harmonischen
Struktur und ihre ganzzahligen Multiplikationen darstellen.
1. Procédé d'encodage de signal audio, le procédé comprenant les étapes de :
- la collecte des échantillons de signal audio (114),
- la détermination de composantes sinusoïdales (312) dans des trames subséquentes,
- l'estimation d'amplitudes (314) et de fréquences (313) des composantes pour chaque
trame,
- la fusion de paires ainsi obtenues en trajectoires sinusoïdales,
- la division de trajectoires en segments,
- la transformation (318, 319) des trajectoires en le domaine de fréquence au moyen
d'une transformée numérique réalisée sur des segments plus longs que la durée de trame,
- la quantification (320, 321) et la sélection (322, 323) de coefficients de transformée
dans les segments,
- l'encodage entropique (328), et
- la sortie des coefficients quantifiés sous forme de données de sortie (115),
dans lequel :
- lorsque le procédé est un procédé d'encodage de signal audio pour encodage stéréo
ou multicanal, les trajectoires des canaux sont groupées et seulement la présence
des trajectoires est signalée dans un en-tête.
2. Procédé d'encodage de signal audio selon la revendication 1, dans lequel
- des segments de différentes trajectoires commençant au sein d'un temps particulier
sont groupés en Groupes de Segments, GOS, et
- le partitionnement de trajectoires en segments est synchronisé avec les points terminaux
d'un Groupe de Segments, GOS.
3. Procédé d'encodage de signal audio selon la revendication 2, dans lequel la longueur
des segments est ajustée par extrapolation pour synchroniser le partitionnement de
trajectoires avec les points terminaux du GOS.
4. Procédé d'encodage de signal audio selon la revendication 2 ou 3, dans lequel la longueur
d'un groupe de segments est limitées à huit trames.
5. Procédé d'encodage de signal audio selon l'une quelconque des revendications 2 à 4,
dans lequel le procédé d'encodage de signal audio est utilisé pour un codage sinusoïdal
haute fréquence, HFSC, par exemple pour HFSC selon le codec MPEG-H 3D.
6. Procédé d'encodage de signal audio selon l'une quelconque des revendications 1 à 5,
dans lequel des groupements de segments appartenant à des structures harmoniques d'une
source de son sont encodés conjointement, des groupements représentant une fréquence
fondamentale de chaque structure harmonique et ses multiplications entières.
7. Appareil d'encodage de signal audio, configuré pour :
- collecter les échantillons de signal audio (114),
- déterminer des composantes sinusoïdales (312) dans des trames subséquentes,
- estimer des amplitudes (314) et des fréquences (313) des composantes pour chaque
trame,
- fusionner des paires ainsi obtenues en trajectoires sinusoïdales,
- diviser des trajectoires en segments,
- transformer (318, 319) les trajectoires en le domaine de fréquence au moyen d'une
transformée numérique réalisée sur des segments plus longs que la durée de trame,
- quantifier (320, 321) et sélectionner (322, 323) des coefficients de transformée
dans les segments,
- encoder entropiquement (328), et
- sortir les coefficients quantifiés sous forme de données de sortie (115),
dans lequel :
- lorsque l'appareil est un appareil d'encodage de signal audio pour encodage stéréo
ou multicanal, les trajectoires des canaux sont groupées et seulement la présence
des trajectoires est signalée dans un en-tête.
8. Appareil d'encodage de signal audio selon la revendication 7, dans lequel
- des segments de différentes trajectoires commençant au sein d'un temps particulier
sont groupés en Groupes de Segments, GOS, et
- le partitionnement de trajectoires en segments est synchronisé avec les points terminaux
d'un Groupe de Segments, GOS.
9. Appareil d'encodage de signal audio selon la revendication 7 ou la revendication 8,
dans lequel des groupements de segments appartenant à des structures harmoniques d'une
source de son sont encodés conjointement, des groupements représentant une fréquence
fondamentale de chaque structure harmonique et ses multiplications entières.
10. Procédé de décodage de signal audio, comprenant les étapes de :
- la récupération de données encodées,
- la reconstruction (411, 412, 413, 414, 415) à partir des données encodées, des coefficients
de transformée numérique de segments de trajectoires,
- la soumission des coefficients à une transformée inverse (416, 417) et la réalisation
d'une reconstruction des segments de trajectoires,
- pour chaque trajectoire, la génération (420,421) d'une composante sinusoïdale ayant
une amplitude et une fréquence correspondant à la trajectoire,
- la reconstruction du signal audio par sommation des composantes sinusoïdales, dans
lequel
- lorsque le procédé est un procédé de décodage de signal audio pour décodage stéréo
ou multicanal, les trajectoires des canaux sont groupées et seulement la présence
des trajectoires est signalée dans un en-tête dans les données encodées récupérées.
11. Procédé de décodage de signal audio selon la revendication 10, dans lequel :
- des segments de différentes trajectoires commençant au sein d'un temps particulier
sont groupés en Groupes de Segments, GOS, et
- le partitionnement de trajectoires en segments est synchronisé avec les points terminaux
d'un Groupe de Segments, GOS.
12. Procédé de décodage de signal audio selon la revendication 10 ou la revendication
11, dans lequel des groupements de segments appartenant à des structures harmoniques
d'une source de son sont encodés conjointement dans les données encodées récupérées,
des groupements représentant une fréquence fondamentale de chaque structure harmonique
et ses multiplications entières.
13. Appareil de décodage de signal audio, configuré pour :
- récupérer des données encodées,
- reconstruire (411, 412, 413, 414, 415), à partir des données encodées, des coefficients
de transformée numérique de segments de trajectoires,
- soumettre les coefficients à une transformée inverse (416, 417) et réaliser une
reconstruction des segments de trajectoires,
- pour chaque trajectoire, générer (420, 421) une composante sinusoïdale ayant une
amplitude et une fréquence correspondant à la trajectoire,
- reconstruire le signal audio par sommation des composantes sinusoïdales, dans lequel
- lorsque le procédé est un procédé de décodage de signal audio pour décodage stéréo
ou multicanal, les trajectoires des canaux sont groupées et seulement la présence
des trajectoires est signalée dans un en-tête dans les données encodées récupérées.
14. Appareil de décodage de signal audio selon la revendication 13, dans lequel :
- des segments de différentes trajectoires commençant au sein d'un temps particulier
sont groupés en Groupes de Segments (GOS), et
- le partitionnement de trajectoires en segments est synchronisé avec les points terminaux
d'un Groupe de Segments (GOS).
15. Appareil de décodage de signal audio selon la revendication 13 ou la revendication
14, dans lequel des groupements de segments appartenant à des structures harmoniques
d'une source de son sont encodés conjointement dans les données encodées récupérées,
des groupements représentant une fréquence fondamentale de chaque structure harmonique
et ses multiplications entières.