WO2008145893A2 - Procede de codage et decodage audio, codeur audio, decodeur audio et programmes d'ordinateur associes - Google Patents
Procede de codage et decodage audio, codeur audio, decodeur audio et programmes d'ordinateur associes Download PDFInfo
- Publication number
- WO2008145893A2 WO2008145893A2 PCT/FR2008/050671 FR2008050671W WO2008145893A2 WO 2008145893 A2 WO2008145893 A2 WO 2008145893A2 FR 2008050671 W FR2008050671 W FR 2008050671W WO 2008145893 A2 WO2008145893 A2 WO 2008145893A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- spectral
- elements
- coded
- signals
- components
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000004590 computer program Methods 0.000 title claims description 5
- 230000003595 spectral effect Effects 0.000 claims abstract description 161
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000009466 transformation Effects 0.000 claims description 63
- 239000013598 vector Substances 0.000 claims description 60
- 238000013139 quantization Methods 0.000 claims description 58
- 239000011159 matrix material Substances 0.000 claims description 49
- 230000008569 process Effects 0.000 description 78
- 238000009877 rendering Methods 0.000 description 29
- 230000005236 sound signal Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000011002 quantification Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000000873 masking effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 102000029797 Prion Human genes 0.000 description 2
- 108091000054 Prion Proteins 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 101150036841 minJ gene Proteins 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Definitions
- the present invention relates to audio signal coding devices, intended in particular to take place in applications for transmission or storage of digitized and compressed audio signals.
- the invention relates more specifically to audio hierarchical coding systems, having the capacity to provide varied bit rates, by distributing the information relating to an audio signal to be coded in hierarchical subsets, so that they can be used in order of importance in terms of audio quality.
- the criterion taken into account for determining the order is a criterion for optimizing (or rather reducing) the quality of the coded audio signal.
- Hierarchical coding is particularly suited to transmission over heterogeneous networks or having variable available rates over time, or to transmission to terminals having different or variable characteristics.
- the invention more particularly relates to the hierarchical coding of a 3D sound stage.
- a 3D sound scene comprises a plurality of audio channels corresponding to monophonic audio signals and is still referred to as its spatialized sound.
- a coded sound stage is intended to be reproduced on a sound rendering system, which may include a simple headset, two speakers of a computer or a home theater system 5.1 (home theater) with five loudspeakers (a loudspeaker on the screen and on the front of the intended listener: a speaker on the left and a speaker on the right, on the back of the theoretical listener a speaker on the left and a speaker on the right), etc.
- a sound rendering system which may include a simple headset, two speakers of a computer or a home theater system 5.1 (home theater) with five loudspeakers (a loudspeaker on the screen and on the front of the intended listener: a speaker on the left and a speaker on the right, on the back of the theoretical listener a speaker on the left and a speaker on the right), etc.
- a sound rendering system which may include a simple headset, two speakers of a computer or a home theater system 5.1 (home theater) with five loudspeakers (a loudspeaker on the screen and on the
- a technique used includes the determination of elements of description of the sound stage, then compression operations of each of the monophonic signals. The data resulting from these compressions and the description elements are then supplied to the decoder.
- Scalability also known as scalability
- Scalability is therefore achievable, by adapting the bit rate during compression operations, but it is performed according to criteria for optimizing the quality of each signal considered individually.
- Another coding technique which is used in the encoder
- MPEG Audio Surround includes parameter extraction and coding from the set of monophonic audio signals on the different channels. These signals are then mixed to obtain a monophonic or stereophonic signal, which is then compressed by a conventional mono or stereo encoder (for example of the MPEG-4 AAC, HE-AAC type, etc.). At the level of the decoder, the synthesis of the 3D sound scene is made from the spatial parameters and the decoded mono or stereo signal. Adaptability in flow with this other technique is thus achievable using a mono or hierarchical stereo encoder, but it is performed according to a criterion of optimizing the quality of the monophonic or stereophonic signal.
- the PSMAC Progressive Syntax-Rich Multichannel Audio Coded
- KLT in English "Karhunen Loeve Transform”
- the adaptability in flow is based on a cancellation of the least energy components. However, these components can sometimes be of great importance to overall audio quality.
- none of the known 3D sound stage coding techniques makes it possible to adapt to the bit rate on the basis of a criterion for optimizing the spatial resolution, during the rendering of the 3D sound scene. This adaptability makes it possible to guarantee that each reduction in flow rate will degrade as little as possible the accuracy of the location of the sound sources in the space, as well as the size of the restitution area, which must be as wide as possible around the head of the room. 'auditor.
- none of the known 3D sound stage coding techniques allows rate adaptability that directly guarantees optimal quality regardless of the sound rendering system used for the rendering of the 3D sound stage.
- the current coding algorithms are defined to optimize the quality with respect to a particular configuration of the sound rendering system. Indeed, for example in the case of the encoder "MPEG Audio Surround” described above implemented with a hierarchical coding, direct listening on headphones or two speakers, or monophonic is possible. If it is desired to use the compressed bit stream with a 5.1 or 7.1 type sound rendering system, it is necessary to implement additional processing at the decoder, for example using OTT boxes (in English "One-To-One"). Two ”) to generate the five signals from the two decoded signals.
- the present invention aims at providing, in a first aspect, a method for scheduling spectral components of elements to be coded from an audio scene comprising N signals with N> 1, an element to be coded comprising spectral components. relating to respective spectral bands.
- the method comprises the following steps: calculation of the respective influence of at least some computable spectral components as a function of spectral parameters derived from at least some of the N signals, on mask-to-noise ratios determined on the spectral bands as a function of an encoding of said spectral components; assigning an order of priority to at least one spectral component as a function of the calculated influence for said spectral component compared to the other calculated influences.
- a method according to the invention thus makes it possible to order in order of importance as to the overall audio quality of the element components to be coded.
- a binary sequence is constituted after comparison between them of the different spectral components of the different elements to be encoded in the global scene compared with each other in terms of their contribution to the overall perceived audio quality.
- the interaction between signals is thus taken into account to compress them together.
- the bit stream can thus be ordered in such a way that each rate reduction degrades as little as possible the perceived overall audio quality of the 3D sound scene, since the least important elements in terms of their contribution to overall audio quality are detected, so that they can not be inserted (when the bit rate allocated for transmission is insufficient to transmit all the components of the elements to be coded) or end of binary sequence (to minimize the defects generated by a subsequent truncation).
- the calculation of the influence of a spectral component is carried out according to the steps of: a-encoding a first set of spectral components of elements to be coded according to a first bit rate; b- determining a first mask-to-noise ratio by spectral band; c- determining a second flow rate lower than said first; removing said current spectral component from the elements to be encoded and coding the remaining spectral components of the elements to be coded according to the second rate; e- determining a second mask-to-noise ratio by spectral band; f- calculating a mask-to-noise ratio variation as a function of the differences determined between the first and second mask-to-noise ratios for the first and second spectral band rate; g-iteration of steps d to f for each of the spectral components of the set of spectral components of elements to be coded to be ordered and determination of a mask-to-noise ratio variation; the priority order assigned
- steps a to g are repeated with a set of spectral components of elements to be coded to be restricted by deleting the spectral components for which an order of priority has been assigned.
- steps a to g are repeated with a set of spectral components of elements to be coded to be ordered in which the spectral components for which an order of priority has been assigned are assigned a lower quantization rate when using a nested quantizer.
- the elements to be encoded comprise the spectral parameters calculated for the N channels. These are then, for example, the spectral components of the signals that are coded directly.
- the elements to be encoded comprise elements obtained by spatial transformation, for example of the ambisonic type, called in English "ambisonic", spectral parameters calculated for the N signals.
- This arrangement makes it possible on the one hand to reduce the number of data to be transmitted since, in general, the N signals can be very satisfactorily described by a reduced number of surround components (for example, a number equal to 3 or 5 ), less than N.
- This provision also allows adaptability to any type of sound rendering system, since it is sufficient at the decoder, to apply a reverse surround transform of size Q'x (2p '+ 1), (where Q 'is equal to the number of loudspeakers of the sound rendering system used at the output of the decoder and 2p' + 1 the number of received surround components), to determine the signals to be supplied to the sound rendering system, while preserving the overall audio quality.
- a reverse surround transform of size Q'x (2p '+ 1), (where Q 'is equal to the number of loudspeakers of the sound rendering system used at the output of the decoder and 2p' + 1 the number of received surround components), to determine the signals to be supplied to the sound rendering system, while preserving the overall audio quality.
- Q ' is equal to the number of loudspeakers of the sound rendering system used at the output of the decoder and 2p' + 1 the number of received surround components
- the mask-to-noise ratios are determined as a function of the errors due to the coding and relating to elements to be encoded and in addition according to a spatial transformation matrix and a matrix determined according to the transpose of said spatial transformation matrix.
- elements to be encoded are ambiophonic components, some of the spectral components then being spectral parameters of ambiophonic components.
- the method comprises the following steps: a. calculating the influence of at least some of said spectral components on an angle vector defined as a function of energy and velocity vectors associated with Gerzon criteria and calculated according to an inverse surround transformation on said quantized surround components; b. assigning an order of priority to at least one spectral component as a function of the calculated influence for said spectral component compared to the other calculated influences.
- a method according to the invention thus makes it possible to order at least some spectral parameters of ambiophonic components of the set to be ordered, according to their relative importance in terms of contribution to spatial accuracy.
- Spatial resolution or spatial precision measures the fineness of the location of sound sources in space. An increased spatial resolution allows a finer localization of the sound objects in the room and allows for a wider playback area around the listener's head.
- the bit stream can thus be ordered in such a way that each rate reduction degrades as little as possible the perceived spatial accuracy of the 3D sound scene, since the least important elements in terms of their input are detected, in order to be at the end of the binary sequence (to minimize the defects generated by a subsequent truncation).
- angles ⁇ v and ⁇ E associated with the Velocity V and energy É vectors of the Gerzon criteria are used in the manner indicated below to identify elements to be coded as the least relevant. in terms of contribution, in terms of spatial accuracy, to the 3D sound scene.
- velocity vectors are used in the manner indicated below to identify elements to be coded as the least relevant. in terms of contribution, in terms of spatial accuracy, to the 3D sound scene.
- V and energy É are not used to optimize a sound rendering system considered.
- the calculation of the influence of a spectral parameter is carried out according to the following steps: a-encoding a first set of spectral parameters of surround components to be encoded according to a first rate; b- determining a first angle vector per spectral band; c- determining a second flow rate lower than said first; d- deleting said current spectral parameter of the components to be coded and encoding the remaining spectral parameters of the components to be coded according to the second bit rate; e- determining a second angle vector per spectral band; f- calculating an angle vector variation as a function of the differences determined between the first and second angle vectors for the first and second spectral band rate; g-iterating steps d to f for each of the spectral parameters of the set of spectral parameters of components to be coded to be ordered and determining a minimum angle vector variation; the priority order assigned to the spectral parameter corresponding to the minimum variation being a minimum order of priority.
- This arrangement makes it possible, in a limited number of calculations, to determine the spectral parameter of the component to be determined whose contribution to the spatial accuracy is minimum.
- steps a to g are repeated with a set of spectral parameters of components to be coded to be restricted by deleting the spectral parameters for which an order of priority has been assigned.
- steps a to g are repeated with a set of spectral parameters of components to be coded to be ordered in which the spectral parameters for which an order of priority has been assigned are assigned a lower quantization rate. when using a nested quantizer.
- V i ⁇ 0 Ti 2 sin ⁇ of the energy vector is a function of the formula - - -, a first
- V ⁇ ⁇ 0 Ti cos ⁇ coordinate of the velocity vector is a function of the formula
- ⁇ l ⁇ ' ⁇ Q Ti a second coordinate of the velocity vector is a function of the formula
- a first coordinate of an angle vector indicates an angle depending on the sign of the second coordinate of the velocity vector and the arccosinus of the first coordinate of the velocity vector and that a second coordinate of the velocity vector an angle vector indicates an angle depending on the sign of the second coordinate of the energy vector and the arccosinus of the first coordinate of the energy vector.
- the invention proposes a scheduling module comprising means for implementing a method according to the first aspect of the invention.
- the invention proposes an audio coder adapted to encode a 3D audio scene comprising N respective signals into an output bit stream, with N> 1, comprising: a transformation module adapted to determine, as a function of the N signals spectral components relating to respective spectral bands; a scheduling module according to the second aspect of the invention, adapted to order at least some of the spectral components relating to respective spectral bands; a module for constituting a binary sequence adapted to constitute a binary sequence comprising data indicating spectral components relating to respective spectral bands as a function of the scheduling performed by the scheduling module.
- the invention proposes a computer program to be installed in a scheduling module, said program comprising instructions for implementing the steps of a method according to the first aspect of the invention during a execution of the program by means of processing said module.
- the invention proposes a method for decoding a bit stream, encoded according to a method according to the first aspect of the invention, for determining a number Q 'of audio signals for the rendering of a scene.
- 3D audio using Q 'loudspeakers according to which: a binary sequence is received; the coding data are extracted and, according to said extracted data, a set of parameters is determined which relate to respective spectral bands for each of the Q 'channels; at least one signal frame is determined as a function of each set of parameters.
- the invention proposes an audio decoder adapted for decoding a bit stream coded according to a method according to the first aspect of the invention, for determining a number Q 'of audio signals for the restitution of an audio scene. 3D using loudspeakers, comprising means for implementing the steps of a method according to the fourth aspect of the invention.
- the invention proposes a computer program to be installed in a decoder adapted to decode an encoded bitstream according to a method according to the first aspect of the invention, with a view to determining a number Q 'of audio signals for the rendering of a 3D audio scene using loudspeakers, said program comprising instructions for implementing the steps of a method according to the fourth aspect of the invention when performing the program by processing means of said decoder.
- the invention proposes a binary sequence comprising spectral components relating to respective spectral bands of elements to be encoded originating from an audio scene comprising N signals with N> 1, characterized in that at least some of the Spectral components are ordered according to a scheduling method according to the first aspect of the invention.
- Figure 1 shows an encoder in an embodiment of the invention
- FIG. 2 represents a decoder in one embodiment of the invention
- Figure 3 illustrates the propagation of a plane wave in space
- Fig. 4 is a flow chart showing steps of a first process Prod in an embodiment of the invention
- FIG. 5a shows a binary sequence constructed in one embodiment of the invention
- Fig. 5b shows a binary sequence Seq constructed in another embodiment of the invention
- Fig. 6 is a flowchart showing steps of a second process Proc2 in one embodiment of the invention
- FIG. 7 represents an exemplary configuration of a sound rendering system comprising 8 loudspeakers h1, h2,..., h8
- Figure 8 shows a processing line
- - Figure 9 comprises a second processing line
- Fig. 10 shows a third process line
- Fig. 11 is a flowchart showing steps of a Proc process in one embodiment of the invention.
- Figure 1 shows an audio coder 1 in one embodiment of the invention.
- the encoder 1 comprises a time / frequency transformation module 3, a masking curve calculation module 7, a spatial transformation module 4, a module 5 for defining the least relevant coding elements combined with a quantization module 10, a module 6 for scheduling elements, a module 8 for constituting a binary sequence, for the transmission of a bit stream ⁇ .
- a 3D sound scene comprises N channels on each respective signal S1, ..., SN is delivered.
- Figure 2 shows an audio decoder 100 in one embodiment of the invention.
- the decoder 100 comprises a bit sequence reading module 104, an inverse quantization module 105, a reverse surround conversion module 101, a frequency / time transformation module 102.
- the decoder 100 is adapted to receive as input the bitstream ⁇ transmitted by the encoder 1 and to output Q 'signals S'1, S'2,..., S'Q' intended to feed the Q 'loudspeakers. respective speakers H1, H2 ..., HQ 'of a sound rendering system 103.
- the time / frequency conversion module 3 of the encoder 1 receives as input the N signals S1,..., SN of the 3D sound scene to be encoded.
- the time / frequency transformation module 3 On each time frame of each of these signals indicating the different values taken over time by the acoustic pressure Pi, the time / frequency transformation module 3 performs a time / frequency transformation, in this case a modified discrete cosine transform. (MDCT).
- MDCT modified discrete cosine transform.
- the definition elements of these masking curves are delivered to the module 5 for defining the least relevant coding elements.
- the spatial transformation module 4 is adapted to perform a spatial transformation of the input signals provided, that is to say to determine the spatial components of these signals resulting from the projection on a spatial repository depending on the order of the transformation. .
- the order of a spatial transformation is related to the angular frequency according to which it "scans" the sound field.
- the spatial transformation module 4 performs an ambiophonic transformation, which gives a compact spatial representation of a 3D sound scene, by making projections of the sound field on the associated spherical or cylindrical harmonic functions.
- (J m ) represent the functions of Bessel, r the distance between the center of the marker and the position of a listener placed at a point M, Pi the acoustic pressure of the signal Si, ⁇ i the angle of propagation of the wave acoustic signal corresponding to the signal Si and ⁇ the angle between the position of the listener and the axis of the marker.
- the ambiophonic transformation is of order p (any positive integer p), for a 2D ambiophonic transformation (in the horizontal plane), the ambiophonic transform of a signal Si expressed in the time domain then comprises the following 2p + 1 components:
- This module 5 for defining the least relevant elements is adapted to implement operations, following the execution on the processing means of the module 5, of a first algorithm and / or a second algorithm, with a view to defining elements to code the least relevant and to order the elements to be coded between them.
- This scheduling of the elements to be coded is used later when constituting a binary sequence to be transmitted.
- the first algorithm comprises instructions adapted to implement, when executed on the processing means of the module 5, the steps of the Prod process described below with reference to FIG. 4.
- the principle of the Prod process is as follows: the respective influence of at least some computable spectral components is calculated as a function of spectral parameters derived from at least some of the N signals, on mask-to-noise ratios determined on the spectral bands in question. function of a coding of said spectral components. Then, an order of priority is assigned to at least one spectral component as a function of the calculated influence for said spectral component compared to the other calculated influences.
- the detailed Prod process is as follows:
- d k j be the rate attributed to the element to be coded A (kj), [k, JJ e E 0 , during this allocation (the sum of these flows d k j
- the elements to be coded A (kj), (fc, j) ⁇ E 0 are quantized by the quantization module 10 as a function of the allocation defined for the bit rate Do.
- FIG. 8 represents a processing chain 200 comprising a p-order ambiophonic transformation module 201 (similar to the p-order ambiophonic transformation module 4 of FIG. 1) followed by a module 202 of p-type inverse ambiophonic transformation.
- the p-order ambiophonic transformation module 201 receives as input the spectral representations X1,..., XN of the signals S1,..., SN, performs on these signals a p-order ambiophonic transformation, delivers the ambiophonic signals obtained.
- Amb (p) is the p-order ambiophonic transformation matrix
- Amblnv (p) is the p-order inverse ambiophonic transformation matrix (also called surround decoding matrix).
- FIG. 9 represents a processing chain 210 comprising the p-order ambiophonic transformation module 201 followed by a quantization module 203, then a reverse quantization module 204, and a command inverse ambiophonic transformation module 202.
- the p-channel ambiophonic transformation module 201 at the input of the processing chain 210 receives as input the spectral representations X1,..., XN of the signals S1,..., SN and delivers the ambiophonic signals obtained A1 to AQ. which are provided at the input of the quantization module 203.
- the signals A1,..., AQ are the signals delivered to the inverse ambiophonic transformation module 202 by the inverse quantization module 204, resulting from the inverse quantization performed on the signals delivered by the quantization module 203.
- the processing chain 210 of FIG. 9 provides the same output acoustic pressures ITi as the processing chain 211 represented. in FIG. 10, in which the p-order ambiophonic transformation module 201 is situated between the inverse quantization module 204 and the p-order inverse ambiophonic transformation module 202.
- the quantization module 203 at the input of the processing chain 211 receives as input the spectral representations X1, ..., XN, quantizes them and then delivers the result of this quantization to the inverse quantization module 204, which delivers the N signals Zl, ..., XN. These signals Z1,..., XN are then supplied to the cascaded inverse surround and surround-back transform modules 201 and 202.
- N quantization errors E or B_ne depend only on the coding performed and not on the decoding. What will change in the decoding, depending on the decoding matrix used corresponding to the speaker system used, is how the error will be distributed between the speakers. That is due to the fact that the psychoacoustics used do not take into account the interactions between the signals. So if the calculation is done for a well defined decoding matrix and the quantization module optimizes the error for this matrix, then for the other decoding matrices the error will be suboptimal).
- Step 1d Then, for each pair (k, j) e E 0 , considered successively from the pair (1, 0) to the pair (Q, M-1) according to the lexicographic reading order of the pairs of E 0 , the following operations ai to a7 are repeated: it is considered that the sub-band (k, j) is suppressed for the operations a2 to a5; a2- the elements to be coded A (i, n), with (i, n) e E 0 ⁇ (k, j) (i.e., i, n) equal to each of the pairs of E 0 to the exception of the pair (k, j)) are quantized by the quantization module 10 as a function of a defined distribution of the rate Di between said elements to be coded A (i, n), with (i, w) e E 0 ⁇ (fc, j); a3- in the same way as indicated in step 1b, we calculate from the elements A (i,
- ⁇ MNR t>; (l) ⁇ MNR (I 5 D 1) - MNR * ,, (0, D 0); with MNR i>; ( ⁇ , D o ) is the matrix MNR (O 1 Do) from which the element of index (kj) a5 has been removed - a norm
- the value of this standard evaluates the impact, on the set of signal-to-noise ratios of the signals Si, of the suppression of the component A (k, j) among the elements to be coded A (i, n), with (i , n) ⁇ E 0 .
- Step 1e Determine (hji) corresponding to the smallest value among the values
- the element to be encoded A (H ji) is thus identified as the least relevant element as to the overall audio quality among the set of elements to be coded A (ij) with ( ⁇ , j) e E 0
- Step 1q The identifier of the pair (h ji) is delivered to the scheduling module 6 as a result of the first iteration of the Prod process.
- Steps similar to steps 1c to 1g are performed for each iteration n, n> 2, as described below.
- Step 1d Then, for each pair (k, j) e E nl and considered successively in lexicographical order, the following steps are repeated to have a7: Ai is considered that the sub-band (k, j) is deleted in operations a2 to a5; a2- the elements to be coded A (i, n), with (i, n) e E B _ 1 ⁇ ⁇ (k, j) ⁇ are quantized by the quantization module 10 as a function of a distribution of the flow rate D n between the elements to be coded A (i, n), with (i, n) ; a3- we calculate from the elements A (i, n), (i, n) e E n _ 1 ⁇ ⁇ (k, j) ⁇ determined as a function of the quantization in step a2, the matrix MNR k , j (n, D n ) indicating the ratio between the mask and the quantization error (or noise) for each signal Si and for
- Step 1e we determine (i n j n ) corresponding to the smallest value among the values obtained
- MNR (n, D n) MNR; (n, D n ).
- the element to be encoded A (J n J n ) is thus identified as the least relevant element as to the overall audio quality among the set of elements to be coded A (ij), such that (i, j> E B the Step 1f: the identifier of the pair (i n j n) is supplied to the scheduling module 6 as a result of the nth iteration of the process Prod Step 1g. is then eliminated band (i n j n), of the set of elements to be coded in the rest of the Prod process.
- E n E n _ 1 ⁇ ⁇ (i n , j n ) ⁇ .
- Priority indices are then allocated by the scheduling module 6 to the different frequency bands, for the purpose of inserting the coding data into a binary sequence.
- scheduling of the elements to be coded is performed by the scheduling module 6 on the sole basis of the results successively provided by the successive iterations of the process
- the element to be encoded A (h, ji) corresponding to the pair (h, ji) determined during the first iteration of Prod is considered the least relevant in terms of overall audio quality. It is therefore assigned a Priol minimum priority index by module 5.
- the element to be encoded A (i 2 , J 2 ) corresponding to the pair (i 2 , J 2 ) determined during the second iteration of Prod, is considered as the element to be coded the least relevant in terms of overall audio quality, after the one assigned to Priol priority. It is therefore assigned a minimum priority index Prio2, with
- the scheduling module 6 thus successively orders r elements to be coded each assigned to increasing priority indices Priol, Prio2 to Prio r.
- the elements to be coded that have not been assigned to an order of priority during an iteration of the Prod process are more important in terms of overall audio quality than the items to be coded to which priority orders have been assigned.
- the priority order assigned to an element to be encoded A (kj) is also assigned to the coded element A (k, j) resulting from a quantization of this element to be coded.
- the binary sequence thus consists of spectral components relating to respective spectral bands, elements to be coded from of an audio scene comprising N signals with N> 1, and which are ordered according to their influence on determined mask-to-noise ratios on the spectral bands.
- the spectral components of the binary sequence are, for example, ordered according to the method of the invention.
- only some of the spectral components included in the constituted binary sequence are ordered using a method according to the invention.
- a nested quantizer is used for the quantization operations.
- the spectral component of an element to be coded A (iojo) identified is not suppressed, but a reduced bit rate is assigned to the coding of this component relative to the coding of the other spectral components of elements to be coded remaining. to order.
- the encoder 1 is thus an encoder allowing a rate adaptability taking into account the interactions between the different monophonic signals. It allows to define compressed data optimizing the overall perceived audio quality.
- the first iteration of the process 1 is assigned, for example, a minimum priority index (minimum of the elements remaining to be ordered) to the element to be coded X (h, ji) such that the suppression of the component spectral X (h, ji) gives rise to a minimum variation of mask to noise ratio. Then we repeat the process Prod.
- a minimum priority index minimum of the elements remaining to be ordered
- Gerzon's criteria are generally used to characterize the location of virtual sound sources synthesized by the reproduction of signals from the loudspeakers of a given sound rendering system.
- the velocity vector V is then defined as follows:
- the energy vector ⁇ is defined as follows:
- the operations described below in one embodiment of the invention use the Gerzon vectors in an application other than that of searching for the best angles ⁇ ⁇ , characterizing the position of the loudspeakers of the sound rendering system under consideration.
- Gerzon's criteria are based on the study of the velocity and energy vectors of the acoustic pressures generated by a sound rendering system used.
- the second algorithm comprises instructions adapted to implement, when executed on processing means of the module 5, the Proc2 process steps described below with reference to FIG. 6.
- the principle of the Proc2 process is as follows: one calculates the influence of each spectral parameter, among a set of spectral parameters to be ordered, on a vector of angle defined as a function of energy and velocity vectors associated with criteria of Gerzon and calculated according to an inverse surround transformation on said quantized surround components. And an order of priority is assigned to at least one spectral parameter according to the calculated influence for said spectral parameter compared to the other calculated influences.
- dkj the rate attributed to the element to be coded A (kj), (k, j) e E 0 , during this initial allocation (the sum of these flows d k j
- Step 2b Then each element to be coded A (kj), (kj) e E 0 is quantized by the quantization module 10 as a function of the rate dkj which has been allocated to it in step 2a.
- Each element A (k, j) is the result of the quantization, with the rate dkj, of the parameter A (kj) relative to the spectral band Fj, of the ambiophonic component A (k).
- the element A (k, j) therefore defines the quantized value of the spectral representation for the frequency band Fj, of the ambiophonic component Ak considered.
- Amblnv (p) is the p-order inverse ambiophonic transformation matrix (or p-order ambiophonic decoding) delivering N signals T11, ..., T1 N corresponding to N loudspeakers H'1, ..., H'N respective, arranged regularly around a point. Consequently, the matrix Amblnv (p) is deduced from the transposition of the matrix Amb (p, N), which is the resulting surround encoding matrix of the encoding of the sound scene defined by the N sources corresponding to the N high- speakers H'1, ..., H'N and respectively arranged in the positions ⁇ ⁇ , ..., ⁇ N. So we can
- each quantized element A (k, j) is the sum of the spectral parameter A (kj) of ambiophonic component to be quantized and the quantization noise relative to said parameter).
- an ambiophonic decoding matrix has been considered for a regular sound reproduction device and which comprises a number of loudspeakers equal to the number of input signals, which simplifies the calculation of the ambiophonic decoding matrix. Nevertheless, this step can be implemented by considering an ambiophonic decoding matrix corresponding to non-regular sound rendering devices and also for a number of speakers different from the number of input signals.
- each element to be coded A (k, j), (k, j) e E 0 is quantized by the quantization module 10 as a function of the bit rate that has been allocated to it in step 2d.
- A_ is now the updated matrix of the quantized elements A (k, j), (k, j) e E 0 each resulting from the latter quantization according to the overall flow D 1 , parameters A (kj).
- This standard represents the variation of the vector of Gerzon angles generalized following the reduction of the flow rate from D 0 to Di in each frequency band F j .
- the index of the frequency band F h is determined as the norm
- F h is less than or equal to each norm
- step 2c After calculating a p-order ambiophonic decoding performed as a function of the elements quantized with the overall flow Di (A (IJ 1 ) being zero), the vector of generalized Gerzon angles is determined
- Step 2i We compare the values
- the component A (J 1 , ji) is thus identified as the element to be coded of smaller importance in terms of spatial accuracy, compared to the other elements to be coded A (kj), (kj) e E 0 .
- ⁇ ⁇ (l) 1 (1) if I [0, M-1] ⁇ ⁇ ji ⁇ ;
- Step 2k The identifier of the pair (ii, ji) is supplied to the sequencing module 6 as a result of the 1 st iteration of the process Proc2.
- the element to be encoded A (J 1 J 1 ) of the set of elements to be coded in the rest of the process Proc2 is then deleted.
- E 1 E 0 ⁇ (ii, ji).
- ⁇ ⁇ min d kj for (kj) e E 1 .
- the process Proc2 is repeated as many times as desired to order between them some or all of the elements to be coded A (kj), (kj) e E 1 remaining to be ordered.
- E n -I E 0 ⁇ ⁇ (ii ji), ..., (in-1, jn-i) ⁇ .
- each element to be encoded A (kj), (kj) e E n- i is quantized by the quantization module 10 as a function of the bit rate allocated in step 2d above.
- the result of this quantization of the element to be coded A (kj) is
- the vector A ⁇ ⁇ (n) equal to the difference between the vector of Gerzon angles ⁇ ⁇ (n -l) calculated in step 2j of the iteration n-1 and the
- Step 2g One calculates the standard
- n is the index of the frequency band F 1 as the standard
- frequency F 1 is less than or equal to each norm
- , calculated for each frequency band Fj, j 0 to M-1. So we have
- This standard represents the variation, in the frequency band F 1 , of the generalized Gerzon angle vector and for a bit rate D n , due to the removal of the ambiophonic component A (i, j n ) during the nth iteration of the process.
- ⁇ ⁇ (n) ⁇ ⁇ (n) if I [0, M-1] ⁇ ⁇ j n ⁇ ;
- Step 2k The identifier of the pair (J n J n ) is delivered to the scheduling module 6 as a result of the nth iteration of the process Proc2.
- the band (i n , j n ) of the set of elements to be coded is then eliminated in the rest of the process Proc2, that is to say that the element to be coded A (J n J n ) is deleted. .
- E n E n- i ⁇ (i n , j n ).
- the elements to be coded A (i, j), with (ij) e E n remain to be ordered.
- the elements to be coded A (i, j), with (ij) e ⁇ (ii, ji), ..., (i n jn) ⁇ have already been ordered during the iterations 1 to n.
- the Proc2 process is repeated once and at most Q * M-1 times. Priority indices are thus assigned by the scheduling module 6 to the different elements to be encoded, for the purpose of inserting the coding data into a binary sequence. Scheduling of the elements to be coded and constitution of a binary sequence, on the basis of the results successively provided by the successive iterations of the Proc2 process:
- the scheduling module 6 defines an order of said elements to be encoded, reflecting the importance of the elements to be coded in terms of spatial accuracy.
- the element to be coded A (J 1 J 1 ) corresponding to the pair (J 1 J 1 ) determined during the first iteration of the Proc2 process is considered to be the least relevant in terms of spatial accuracy . It is therefore assigned a Priol minimum priority index by module 5.
- the element to be encoded A (i 2 , J 2 ) corresponding to the pair (i 2 , J 2 ) determined during the second iteration of the process Proc 2, is considered to be the element to be coded that is least relevant in terms of spatial accuracy, after the one assigned to Priol priority. It is therefore assigned a minimum priority index Prio2, with Prio2> Priol.
- the scheduling module 6 thus successively orders r elements to be coded each assigned to increasing priority indices Priol, Prio2 to Prio r.
- the elements to be coded that have not been assigned to an order of priority during an iteration of the process Proc2 are more important in terms of spatial accuracy than the elements to be coded to which an order of priority has been assigned.
- the priority order assigned to an element to be encoded A (kJ) is also assigned to the coded element according to the result A (k, j) of the quantization of this element to code. Note also below A (k, j) the coded element corresponding to the element to be coded A (kj).
- the binary sequence Seq is ordered in accordance with the scheduling performed by the module 6.
- a nested quantizer is used for the quantization operations.
- the spectral component of an element to be coded A (ij) identified as the least important in terms of spatial precision during an iteration of the process Proc2 is not suppressed, but a reduced flow is affected. the coding of this component with respect to the coding of the other spectral components of elements to be coded to be ordered.
- the encoder 1 is thus an encoder allowing a rate adaptability taking into account the interactions between the different monophonic signals. It allows to define compressed data optimizing perceived spatial precision.
- the least important coding elements are defined using a process Proc combining the Proc and Proc2 processes described above, according to criteria taking into account the overall audio quality and the spatial relevance. .
- the initialization of the Proc process includes the initializations of the Prod and Proc2 processes as described above.
- An iteration n (n> 1) of such a process Proc will now be described with reference to FIG. 11, considering a (n + 1) th coding rate D n and a set of elements to be coded A (kj ) with (kj) e E n- i with order.
- This rate and set of elements to be coded are determined during previous iterations of the Proc process on the basis of previous iterations of the Proc process using the Proc and Proc2 processes.
- the previous iterations made it possible to determine elements of coding determined the least important according to defined criteria. These defined criteria have been established based on the overall audio quality and spatial accuracy desired.
- step 300 only one of the two elements to be coded identified or the two elements to be coded identified.
- a (i n , J n ) denote the one or each element to be coded.
- the identifier or identifiers of the pair (i n , j n ) are provided to the scheduling module 6 as a result of the nth iteration of the process Proc2, which assigns it a priority Prion in view of the criteria defined.
- the assigned Prion priority is greater than the priority of the elements to be coded during the previous iterations of the Proc process according to the defined criteria.
- This step replaces steps 1f of the process Prod and 2k of the process Proc2 as described above.
- the element or elements to be coded A (J n J n ) selected are then inserted into the binary sequence to be transmitted before the elements to be coded selected during the previous iterations of the Proc process (because the element to be coded A (J n J n ) is more important in terms of the defined criteria than the elements to be coded previously selected by Proc).
- the element or elements to be encoded A (J n J n ) selected are inserted in the binary sequence to be transmitted after the other elements to be encoded of the set E n- i (because the element to be coded A (i n J n ) is less important in terms of the defined criteria than these other elements to be coded).
- This step 301 replaces steps 1g of the process Prod and 2m of the process Proc2 as described above.
- the defined criteria make it possible to select the one or the least relevant elements identified respectively in step 300 of the Proc process.
- the element identified by the process Prod is deleted at each iteration n, with n even and the element identified by the process Proc2 is deleted at each iteration n with n odd, which makes it possible to preserve the best overall audio quality and spatial accuracy.
- Coding implementing such a Proc process thus makes it possible to obtain an adaptable bitstream in terms of audio quality and in terms of spatial accuracy.
- the decoder 100 comprises a bit sequence reading module 104, an inverse quantization module 105, a reverse surround conversion module 101 and a frequency / time transformation module 102.
- the decoder 100 is adapted to receive as input the bitstream ⁇ transmitted by the encoder 1 and to output Q 'signals S'1, S'2,..., S'Q' intended to feed the Q 'loudspeakers. respective speakers H1, ..., HQ 'of a sound rendering system 103.
- the number of speakers Q' may in one embodiment be different from the number Q of transmitted surround components.
- the configuration of a sound rendering system comprising 8 loudspeakers h1, h2, ..., h8 is represented in FIG.
- the inverse quantization module 105 performs an inverse quantization operation.
- At least some of the operations performed by the decoder are in one embodiment implemented following the execution. on decoder processing means, computer program instructions.
- An advantage of the coding of the components resulting from the ambiophonic transformation of the signals S1,..., SN as described is that in the case where the number of signals N of the sound scene is large, it is possible to represent them by a number Q of ambiophonic components much lower than N, degrading very little the spatial quality of the signals. The volume of data to be transmitted is reduced and this without significant degradation of the audio quality of the sound scene.
- Another advantage of coding according to the invention is that such a coding allows an adaptability to the different types of sound rendering systems, whatever the number, the arrangement and the type of loudspeakers whose sound rendering system is equipped.
- a decoder receiving a binary sequence comprising Q ambiophonic components operates on them an inverse surround transformation of any order p 'and corresponding to the number Q' of loudspeakers of the sound rendering system for which the signals are intended once. decoded.
- Coding as performed by the coder 1 makes it possible to order the elements to be coded according to their respective contributions on the audio quality by means of the first Prod process and / or according to their respective contributions on the spatial precision and respect for the reproduction of the directions contained in the sound scene, using the second Proc2 process.
- Proc and Proc processes 2 can be implemented, depending on the embodiments, in combination or alone, independently of one another to define a binary sequence.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereophonic System (AREA)
Abstract
Procédé d'ordonnancement de composantes spectrales d'éléments à coder (A1,..., AQ) provenant d'une scène audio comprenant N signaux (Sii=1 à N), avec N>1, un élément à coder comportant des composantes spectrales se rapportant à des bandes spectrales respectives, caractérisé en ce qu'il comporte les étapes suivantes : calcul de l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en fonction d'un codage desdites composantes spectrales; attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.
Description
PROCEDE DE CODAGE ET DECODAGE AUDIO, CODEUR AUDIO, DECODEUR AUDIO ET PROGRAMMES D'ORDINATEUR ASSOCIES
La présente invention concerne les dispositifs de codage de signaux audio, destinés notamment à prendre place dans des applications de transmission ou de stockage de signaux audio numérisés et compressés.
L'invention est relative plus précisément aux systèmes de codage hiérarchique audio, ayant la capacité de fournir des débits variés, en répartissant les informations relatives à un signal audio à coder dans des sous- ensembles hiérarchisés, de telle sorte qu'elles puissent être utilisées par ordre d'importance sur le plan de la qualité audio. Le critère pris en compte pour déterminer l'ordre est un critère d'optimisation (ou plutôt de moindre dégradation) de la qualité du signal audio codé. Le codage hiérarchique est particulièrement adapté à la transmission sur des réseaux hétérogènes ou présentant des débits disponibles variables au cours du temps, ou encore à la transmission à destination de terminaux présentant des caractéristiques différentes ou variables.
L'invention concerne plus particulièrement le codage hiérarchique de scène sonore 3D. Une scène sonore 3D comprend une pluralité de canaux audio correspondant à des signaux monophoniques audio et est encore appelée son spatialisé.
Une scène sonore codée est destinée à être reproduite sur un système de rendu sonore, qui peut comprendre un simple casque, deux haut-parleurs d'un ordinateur ou encore un système de type Cinéma maison 5.1 (en anglais « Home Cinéma ») avec cinq haut-parleurs (un haut-parleur au niveau de l'écran et à l'avant de l'auditeur théorique : un haut-parleur à gauche et un haut-parleur à droite ; à l'arrière de l'auditeur théorique : un haut-parleur à gauche et un haut-parleur à droite), etc. Par exemple, considérons une scène sonore d'origine comportant trois sources sonores distinctes, localisées à différents endroits dans l'espace. Les signaux de description de cette scène sonore sont codés. Les données issues de ce codage sont transmises au décodeur, puis sont décodées. Les données décodées sont exploitées afin de générer cinq signaux destinés aux cinq haut-
parleurs du système de rendu sonore. Chacun des cinq haut-parleurs diffusent un des signaux, l'ensemble des signaux diffusés par les haut-parleurs synthétisant la scène sonore 3D et donc positionnant dans l'espace trois sources sonores virtuelles. II existe différentes techniques de codage de scènes sonores.
Par exemple, une technique utilisée comprend la détermination d'éléments de description de la scène sonore, puis des opérations de compression de chacun des signaux monophoniques. Les données issues de ces compressions et les éléments de description sont alors fournis au décodeur.
L'adaptabilité (encore appelée scalabilité) en débit selon cette première technique est donc réalisable, en adaptant le débit lors des opérations de compression, mais elle est réalisée selon des critères d'optimisation de la qualité de chaque signal considéré individuellement. Une autre technique de codage, qui est utilisée dans le codeur
« MPEG Audio Surround » (cf. « Text of ISO/IEC FDIS 23003-1 , MPEG Surround », ISO/IEC JTC1 / SC29 / WG11 N8324, JuIy 2006, Klagenfurt, Austria), comprend l'extraction et le codage de paramètres spatiaux à partir de l'ensemble des signaux audio monophoniques sur les différents canaux. Ces signaux sont ensuite mélangés pour obtenir un signal monophonique ou stéréophonique, qui est alors comprimé par un codeur mono ou stéréo classique (par exemple de type MPEG-4 AAC, HE-AAC, etc). Au niveau du décodeur, la synthèse de la scène sonore 3D se fait à partir des paramètres spatiaux et du signal mono ou stéréo décodé. L'adaptabilité en débit avec cette autre technique est ainsi réalisable en utilisant un codeur mono ou stéréo hiérarchique, mais elle est réalisée selon un critère d'optimisation de la qualité du signal monophonique ou stérophonique.
Par ailleurs, la méthode PSMAC (en anglais « Progressive Syntax-rich Multichannel Audio Codée ») permet de coder les signaux de différents canaux en utilisant la transformée KLT (en anglais « Karhunen Loeve Transform »), utile principalement pour la décorrélation des signaux et qui correspond à une décomposition sur des composantes principales dans un espace représentant
les statistiques des signaux. Elle permet de distinguer les composantes les plus énergétiques des composantes les moins énergétiques.
L'adaptabilité en débit est basée sur une annulation des composantes les moins énergétiques. Toutefois, ces composantes peuvent parfois avoir une grande importance quant à la qualité audio globale.
Ainsi, si les techniques connues donnent de bons résultats en termes d'adaptabilité en débit, aucune ne propose une méthode d'adaptabilité en débit pleinement satisfaisante sur la base d'un critère d'optimisation de la qualité audio globale, en vue de définir des données compressées optimisant la qualité audio globale perçue, lors de la restitution de la scène sonore 3D décodée.
Par ailleurs, aucune des techniques de codage de scène sonore 3D connues ne permet d'adaptabilité en débit sur la base d'un critère d'optimisation de la résolution spatiale, lors de la restitution de la scène sonore 3D. Cette adaptabilité permet de garantir que chaque réduction de débit dégradera le moins possible la précision de la localisation des sources sonores dans l'espace, ainsi que la dimension de la zone de restitution, qui doit être la plus large possible autour de la tête de l'auditeur.
En outre, aucune des techniques de codage de scène sonore 3D connues ne permet d'adaptabilité en débit qui permette de garantir directement une qualité optimale quel que soit le système de rendu sonore utilisé pour la restitution de la scène sonore 3D. Les algorithmes de codage actuels sont définis pour optimiser la qualité par rapport à une configuration particulière du système de rendu sonore. En effet, par exemple dans le cas du codeur « MPEG Audio Surround » décrit ci-dessus mis en œuvre avec un codage hiérarchique, une écoute directe sur casque ou deux haut-parleurs, ou encore en monophonique est possible. Si on souhaite exploiter le flux binaire compressé avec un système de rendu sonore de type 5.1 ou 7.1 , il faut mettre en œuvre des traitements supplémentaires au niveau du décodeur, par exemple à l'aide de boîtiers OTT (en anglais « One-To-Two ») pour générer les cinq signaux à partir des deux signaux décodés. Ces boîtiers permettent d'obtenir le nombre désiré de signaux dans le cas d'un système de rendu sonore de type 5.1 ou 7.1 , mais ne permettent pas de reproduire l'aspect
spatial réel. En outre, ces boîtiers ne garantissent pas l'adaptabilité à des systèmes de rendu sonores autres que ceux du type 5.1 et 7.1. La présente invention vient améliorer la situation. A cet effet la présente invention vise à proposer, suivant un premier aspect, un procédé d'ordonnancement de composantes spectrales d'éléments à coder provenant d'une scène audio comprenant N signaux avec N>1 , un élément à coder comportant des composantes spectrales se rapportant à des bandes spectrales respectives.
Le procédé comporte les étapes suivantes : - calcul de l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en fonction d'un codage desdites composantes spectrales ; attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées. Un procédé selon l'invention permet ainsi d'ordonner par ordre d'importance quant à la qualité audio globale des composantes d'élément à coder.
Une séquence binaire est constituée après comparaison entre elles des différentes composantes spectrales des différents éléments à coder de la scène globale comparées entre elles sur le plan de leur apport quant à la qualité audio globale perçue. L'interaction entre signaux est ainsi prise en compte pour les comprimer de façon conjointe.
Le flux binaire peut ainsi être ordonné de manière à ce que chaque réduction de débit dégrade le moins possible la qualité audio globale perçue de la scène sonore 3D, puisque les éléments les moins importants sur le plan de leur apport au niveau de la qualité audio globale sont détectés, afin de pouvoir ne pas être insérés (lorsque le débit alloué pour la transmission est insuffisant pour transmettre toutes les composantes des éléments à coder) ou être mis en
fin de séquence binaire (permettant de minimiser les défauts générés par une troncature ultérieure).
Dans un mode de réalisation, le calcul de l'influence d'une composante spectrale s'effectue selon les étapes : a- codage d'un premier ensemble de composantes spectrales d'éléments à coder selon un premier débit; b- détermination d'un premier rapport masque à bruit par bande spectrale; c- détermination d'un second débit inférieur au dit premier; d- suppression de ladite composante spectrale courante des éléments à coder et codage des composantes spectrales restantes des éléments à coder selon le second débit; e- détermination d'un second rapport masque à bruit par bande spectrale; f- calcul d'une variation de rapport masque à bruit en fonction des écarts déterminés entre les premier et second rapports masque à bruit pour le premier et le second débit par bande spectrale; g- itération des étapes d à f pour chacune des composantes spectrales de l'ensemble de composantes spectrales d'éléments à coder à ordonner et détermination d'une variation de rapport masque à bruit minimum; l'ordre de priorité attribué à la composante spectrale correspondant à la variation minimum étant un ordre de priorité minimum.
Un tel processus permet ainsi de déterminer au moins une composante d'un élément à coder qui est la moins importante sur le plan de l'apport à la qualité audio globale, comparée à l'ensemble des autres composantes d'éléments à coder à ordonner. Dans un mode de réalisation, on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner restreint par suppression des composantes spectrales pour lesquelles un ordre de priorité a été attribué.
Dans un autre mode de réalisation, on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner dans lequel les composantes spectrales pour lesquelles un ordre de priorité a été
attribué sont affectées d'un débit de quantification plus réduit lors de l'utilisation d'un quantificateur imbriqué.
Dans un mode de réalisation, les éléments à coder comprennent les paramètres spectraux calculés pour les N canaux. Ce sont alors, par exemple, les composantes spectrales des signaux qui sont codées directement.
Dans un autre mode de réalisation, les éléments à coder comprennent des éléments obtenus par transformation spatiale, par exemple de type ambiophonique, appelé en anglais « ambisonic », des paramètres spectraux calculés pour les N signaux. Cette disposition permet d'une part de réduire le nombre de données à transmettre puisque, en général, les N signaux peuvent être décrits d'une manière très satisfaisante par un nombre de composantes ambiophoniques réduit (par exemple, un nombre égal à 3 ou 5), inférieur à N. Cette disposition permet en outre une adaptabilité à tout type de système de rendu sonore, puisqu'il suffit au niveau du décodeur, d'appliquer une transformée ambiophonique inverse de taille Q'x(2p'+1 ), (où Q' est égal au nombre de haut-parleurs du système de rendu sonore utilisé en sortie du décodeur et 2p'+1 le nombre de composantes ambiophoniques reçues), pour déterminer les signaux à fournir au système de rendu sonore, tout en préservant la qualité audio globale. Dans un mode de réalisation, on utilise à la place de la transformée spatiale d'autres transformées linéaires telles que KLT etc.
Dans un mode de réalisation, on détermine les rapports masque à bruit en fonction des erreurs due au codage et relatives à des éléments à coder et en fonction en outre d'une matrice de transformation spatiale et d'une matrice déterminée en fonction de la transposée de ladite matrice de transformation spatiale.
Dans un mode de réalisation, des éléments à coder sont des composantes ambiophoniques, certaines des composantes spectrales étant alors des paramètres spectraux de composantes ambiophoniques. Le procédé comporte les étapes suivantes: a. calcul de l'influence de certaines au moins desdites composantes spectrales, sur un vecteur d'angle défini en fonction de vecteurs d'énergie et de vélocité associés à des
critères de Gerzon et calculés en fonction d'une transformation ambiophonique inverse sur lesdits composantes ambiophoniques quantifiés; b. attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.
Un procédé selon l'invention permet ainsi d'ordonner certains au moins des paramètres spectraux de composantes ambiophoniques de l'ensemble à ordonner, en fonction de leur importance relative sur le plan de l'apport à la précision spatiale.
La résolution spatiale ou précision spatiale mesure la finesse de la localisation des sources sonores dans l'espace. Une résolution spatiale accrue permet une localisation plus fine des objets sonores dans la pièce et permet d'avoir une zone de restitution plus large autour de la tête de l'auditeur.
Les interactions entre signaux et leur conséquence sur le plan de la précision spatiale sont prises en compte pour les comprimer de façon conjointe.
Le flux binaire peut ainsi être ordonné de manière à ce que chaque réduction de débit dégrade le moins possible la précision spatiale perçue de la scène sonore 3D, puisque les éléments les moins importants sur le plan de leur apport sont détectés, afin d'être mis en fin de séquence binaire (permettant de minimiser les défauts générés par une troncature ultérieure).
Dans un mode de réalisation d'un tel procédé, on exploite, de la façon indiquée ci-dessous, les angles ξv et ξE associés aux vecteurs vélocité V et énergie É des critères de Gerzon pour identifier des éléments à coder les moins pertinents sur le plan de l'apport, en termes de précision spatiale, à la scène sonore 3D. Ainsi contrairement à l'usage habituel, les vecteurs vélocité
V et énergie É ne sont pas utilisés pour optimiser un système de rendu sonore considéré.
Dans un mode de réalisation, le calcul de l'influence d'un paramètre spectral s'effectue selon les étapes suivantes :
a- codage d'un premier ensemble de paramètres spectraux de composantes ambiophoniques à coder selon un premier débit; b- détermination d'un premier vecteur d'angle par bande spectrale; c- détermination d'un second débit inférieur au dit premier; d- suppression dudit paramètre spectral courant des composantes à coder et codage des paramètres spectraux restants des composantes à coder selon le second débit; e- détermination d'un second vecteur d'angle par bande spectrale; f- calcul d'une variation de vecteur d'angle en fonction des écarts déterminés entre les premier et second vecteurs d'angle pour le premier et le second débit par bande spectrale; g- itération des étapes d à f pour chacun des paramètres spectraux de l'ensemble de paramètres spectraux de composantes à coder à ordonner et détermination d'une variation de vecteur d'angle minimum; l'ordre de priorité attribué au paramètre spectral correspondant à la variation minimum étant un ordre de priorité minimum.
Cette disposition permet, en un nombre limité de calculs, de déterminer le paramètre spectral de la composante à déterminer dont l'apport à la précision spatiale est minimum.
Dans un mode de réalisation, on réitère les étapes a à g avec un ensemble de paramètres spectraux de composantes à coder à ordonner restreint par suppression des paramètres spectraux pour lesquelles un ordre de priorité a été attribué. Dans un autre mode de réalisation, on réitère les étapes a à g avec un ensemble de paramètres spectraux de composantes à coder à ordonner dans lequel les paramètres spectraux pour lesquels un ordre de priorité a été attribué sont affecté d'un débit de quantification plus réduit lors de l'utilisation d'un quantificateur imbriqué. De tels processus itératifs permettent d'identifier successivement, parmi les paramètres spectraux des composantes ambiophoniques auxquels
n'ont pas encore été affectés des ordres de priorité, ceux qui apportent le moins sur le plan de la précision spatiale.
Dans un mode de réalisation, une première coordonnée du vecteur
V i≤ι≤0Ti2 sin^ du vecteur d'énergie est fonction de la formule — — — , une première
V ι≤ ≤0Ti cos ξ coordonnée du vecteur de vélocité est fonction de la formule et
Σ l≤'≤Q Ti une seconde coordonnée du vecteur de vélocité est fonction de la formule
V ,< <0 Ti sin ξ
" , dans lesquelles les Ti, i=1 à Q, représentent les signaux
Σ l≤'≤Q Ti déterminés en fonction de la transformation ambiophonique inverse sur lesdits paramètres spectraux quantifiés selon le débit considéré et les ξι i=1 à Q, sont des angles déterminés.
Dans un mode de réalisation, une première coordonnée d'un vecteur d'angle indique un angle fonction du signe de la deuxième coordonnée du vecteur de vélocité et de l'arccosinus de la première coordonnée du vecteur de vélocité et selon lequel une deuxième coordonnée d'un vecteur d'angle indique un angle fonction du signe de la deuxième coordonnée du vecteur d'énergie et de l'arccosinus de la première coordonnée du vecteur d'énergie.
Suivant un second aspect, l'invention propose un module d'ordonnancement comprenant des moyens pour mettre en œuvre un procédé suivant le premier aspect de l'invention.
Suivant un troisième aspect, l'invention propose un codeur audio adapté pour coder une scène audio 3D comprenant N signaux respectifs en un flux binaire de sortie, avec N>1 , comprenant : un module de transformation adapté pour déterminer, en fonction des N signaux, des composantes spectrales se rapportant à des bandes spectrales respectives;
un module d'ordonnancement suivant le deuxième aspect de l'invention, adapté pour ordonner au moins certaines des composantes spectrales se rapportant à des bandes spectrales respectives; - un module de constitution d'une séquence binaire adapté pour constituer une séquence binaire comportant des données indiquant des composantes spectrales se rapportant à des bandes spectrales respectives en fonction de l'ordonnancement effectué par le module d'ordonnancement. Suivant un quatrième aspect, l'invention propose un programme d'ordinateur à installer dans un module d'ordonnancement, ledit programme comprenant des instructions pour mettre en œuvre les étapes d'un procédé suivant le premier aspect de l'invention lors d'une exécution du programme par des moyens de traitement dudit module. Suivant un cinquième aspect, l'invention propose un procédé de décodage d'un flux binaire, codé selon un procédé suivant le premier aspect de l'invention, en vue de déterminer un nombre Q' de signaux audio pour la restitution d'une scène audio 3D à l'aide de Q' haut-parleurs, selon lequel : on reçoit une séquence binaire ; - on extrait les données de codage et on détermine en fonction desdites données extraites un ensemble de paramètres qui se rapportent à des bandes spectrales respectives pour chacun des Q' canaux ; on détermine au moins une trame de signal en fonction de chaque ensemble de paramètres.
Suivant un sixième aspect, l'invention propose un décodeur audio adapté pour décoder un flux binaire codé selon un procédé suivant le premier aspect de l'invention, en vue de déterminer un nombre Q' de signaux audio pour la restitution d'une scène audio 3D à l'aide de Q' haut-parleurs, comprenant des moyens pour mettre en œuvre les étapes d'un procédé suivant le quatrième aspect de l'invention.
Suivant un septième aspect, l'invention propose un programme d'ordinateur à installer dans un décodeur adapté pour décoder un flux binaire codé selon un procédé suivant le premier aspect de l'invention, en vue de déterminer un nombre Q' de signaux audio pour la restitution d'une scène audio 3D à l'aide de Q' haut-parleurs, ledit programme comprenant des instructions pour mettre en œuvre les étapes d'un procédé suivant le quatrième aspect de l'invention lors d'une exécution du programme par des moyens de traitement dudit décodeur.
Suivant un huitième aspect, l'invention propose une séquence binaire comportant des composantes spectrales se rapportant à des bandes spectrales respectives d'éléments à coder provenant d'une scène audio comprenant N signaux avec N>1 , caractérisé en ce que certaines au moins des composantes spectrales sont ordonnées selon un procédé d'ordonnancement suivant le premier aspect de l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : la figure 1 représente un codeur dans un mode de réalisation de l'invention ; - la figure 2 représente un décodeur dans un mode de réalisation de l'invention ; la figure 3 illustre la propagation d'une onde plane dans l'espace ; la figure 4 est un organigramme représentant des étapes d'un premier processus Prod dans un mode de réalisation de l'invention ; la figure 5a représente une séquence binaire construite dans un mode de réalisation de l'invention ; la figure 5b représente une séquence binaire Seq construite dans un autre mode de réalisation de l'invention ; la figure 6 est un organigramme représentant des étapes d'un second processus Proc2 dans un mode de réalisation de l'invention ;
la figure 7 représente un exemple de configuration d'un système de rendu sonore comprenant 8 haut-parleurs h1 , h2,..., h8 ; la figure 8 représente une chaîne de traitement ; - la figure 9 comporte une deuxième chaîne de traitement ; la figure 10 représente une troisième chaîne de traitement ; la figure 11 est un organigramme représentant des étapes d'un processus Proc dans un mode de réalisation de l'invention.
La figure 1 représente un codeur audio 1 dans un mode de réalisation de l'invention.
Le codeur 1 comprend un module 3 de transformation temps/fréquence, un module 7 de calcul de courbe de masquage, un module 4 de transformation spatiale, un module 5 de définition des éléments à coder les moins pertinents combiné avec un module 10 de quantification, un module 6 d'ordonnancement des éléments, un module 8 de constitution d'une séquence binaire, en vue de la transmission d'un flux binaire Φ.
Une scène sonore 3D comprend N canaux sur chacun un signal respectif S1 , ... , SN est délivré.
La figure 2 représente un décodeur audio 100 dans un mode de réalisation de l'invention.
Le décodeur 100 comprend un module 104 de lecture de séquence binaire, un module 105 de quantification inverse, un module 101 de transformation ambiophonique inverse, un module 102 de transformation fréquence/temps.
Le décodeur 100 est adapté pour recevoir en entrée le flux binaire Φ transmis par le codeur 1 et pour délivrer en sortie Q' signaux S'1 , S'2, ..., S'Q' destinés à alimenter les Q' haut-parleurs H1 , H2 ..., HQ' respectifs d'un système de rendu sonore 103.
A chaque haut-parleur Hi, i=1 à Q', est associé un angle βi indiquant l'angle de propagation acoustique depuis le haut-parleur.
Opérations réalisées au niveau du codeur :
Le module 3 de transformation temps/fréquence du codeur 1 reçoit en entrée les N signaux S1 ,..., SN de la scène sonore 3D à coder.
Chaque signal Si, i = 1 à N, est représenté par la variation de sa pression omnidirectionnelle acoustique Pi et l'angle θi de propagation de l'onde acoustique dans l'espace de la scène 3D.
Sur chaque trame temporelle de chacun de ces signaux indiquant les différentes valeurs prises au cours du temps par la pression acoustique Pi, le module 3 de transformation temps/fréquence effectue une transformation temps/fréquence, dans le cas présent, une transformée en cosinus discrète modifiée (MDCT).
Ainsi il détermine, pour chacun des signaux Si, i=1 à N, sa représentation spectrale Xi, caractérisée par M coefficients MDCT X(i, j), avec j= 0 à M-1. Un coefficient MDCT X(i,j) représente ainsi le spectre du signal Si pour la bande de fréquence Fj.
Les représentations spectrales Xi des signaux Si, i= 1 à N, sont fournies en entrée du module 4 de transformation spatiale, qui reçoit en outre en entrée les angles θi de propagation acoustique caractérisant les signaux d'entrée Si. Les représentations spectrales Xi des signaux Si, i= 1 à N, sont en outre fournies en entrée du module 7 de calcul des courbes de masquage.
Le module 7 de calcul de courbe de masquage est adapté pour déterminer la courbe de masquage spectrale de chaque signal Si considéré individuellement, à l'aide de sa représentation spectrale Xi et d'un modèle psychoacoustique, ce qui fournit un niveau de masquage pour chaque bande de fréquence Fj, j=0 à M-1 de chaque représentation spectrale Xi. Les éléments de définition de ces courbes de masquages sont délivrés au module 5 de définition des éléments à coder les moins pertinents.
Le module 4 de transformation spatiale est adapté pour effectuer une transformation spatiale des signaux d'entrée fournies, c'est-à-dire déterminer les composantes spatiales de ces signaux résultant de la projection sur un référentiel spatial dépendant de l'ordre de la transformation. L'ordre d'une
transformation spatiale se rattache à la fréquence angulaire selon laquelle elle « scrute » le champ sonore.
Dans un mode de réalisation, le module 4 de transformation spatiale effectue une transformation ambiophonique, qui donne une représentation spatiale compacte d'une scène sonore 3D, en réalisant des projections du champ sonore sur les fonctions harmoniques sphériques ou cylindriques associées.
Pour plus d'information sur les transformations ambiophoniques, on pourra se référer aux documents suivants : « Représentation de champs acoustiques, application à la transmission et à la reproduction de scènes sonores complexes dans un contexte multimédia », Thèse de doctorat de l'université Paris 6, Jérôme DANIEL, 31 juillet 2001 , « A highly scalable spherical microphone array based on an orthonormal décomposition of the sound field », Jens Meyer - Gary Elko, Vol. Il - pp. 1781-1784 in Proc. ICASSP 2002.
En référence à la figure 3, la formule suivante donne la décomposition en harmoniques cylindriques à un ordre infini d'un signal Si de la scène sonore :
Si(r, φ) = Pi.[J0(kr) + ∑2.jmJm (kr).(cosm.θi.cos m.φ + smm.θi.sm m.φ) ]
où (Jm) représentent les fonctions de Bessel, r la distance entre le centre du repère et la position d'un auditeur placé en un point M, Pi la pression acoustique du signal Si, θi l'angle de propagation de l'onde acoustique correspondant au signal Si et φ l'angle entre la position de l'auditeur et l'axe du repère. Si la transformation ambiophonique est d'ordre p (p entier positif quelconque), pour une transformation ambiophonique 2D (selon le plan horizontal), la transformée ambiophonique d'un signal Si exprimée dans le domaine temporel comprend alors les 2p+1 composantes suivantes :
(Pi, Pi.cosθi, Pi.sinθi, Pi.cos2θi, Pi.sin2θi, Pi.cos3θi, Pi.sin3θi, ..., Pi.cospθi, Pi.sinpθi).
Dans ce qui suit, il a été considéré une transformation ambiophonique 2D. Néanmoins l'invention peut être mise en œuvre avec une transformation
ambiophonique 3D (dans un tel cas, on considère que les haut-parleurs sont disposés sur une sphère).
Les composantes ambiophoniques Ak, k=1 à Q = 2p + 1, considérées dans le domaine fréquentiel, comportent chacune M paramètres spectraux A(kj), j= 0 à M-1 se rapportant respectivement aux bandes Fj telles que : si A est la matrice comportant les composantes Ak, k=1 à Q issues de la transformation ambiophonique d'ordre p des signaux Si, i= 1 à N, Amb(p) est la matrice de transformation ambiophonique d'ordre p pour la scène sonore spatiale, et X est la matrice des composantes fréquentielles des signaux Si, i= 1 à N, alors :
A(l,0) Λ(l,l) A(I, M-I) A(2,0) A(2, Af-I)
A=
A(Q,0) A(Q,\) A(Q5Af-I)
Amb(p)=[Amb(p)(U)l, avec i=1 à Q et j=1 à N, avec: Amb(p)(1,j)= 1,
et on a A= Amb(p) x X Equation (1 ).
Le module 4 de transformation spatiale est adapté pour déterminer la matrice A, à l'aide de l'équation (1 ) en fonction des données X(i, j) et θi (i=1 à N, j= 0 à M-1 ) qui lui sont fournies en entrée.
Dans le cas particulier considéré, les composantes ambiophoniques Ak, k=1 à Q, soit les paramètres A(k, j), k=1 à Q et j=0 à M-1 , de cette matrice A1 sont les éléments à coder par le codeur 1 dans une séquence binaire.
Les composantes ambiophoniques Ak, k=1 à Q, sont délivrées au module 5 de définition des éléments les moins pertinents pour quantification et détermination d'un ordonnancement des composantes ambiophoniques.
Ce module 5 de définition des éléments les moins pertinents est adapté pour mettre en œuvre des opérations, suite à l'exécution sur des moyens de traitement du module 5, d'un premier algorithme et/ou un second algorithme, en vue de définir des éléments à coder les moins pertinents et d'ordonner les éléments à coder entre eux.
Cet ordonnancement des éléments à coder est utilisé ultérieurement lors de la constitution d'une séquence binaire à transmettre.
Le premier algorithme comprend des instructions adaptées pour mettre en œuvre, lorsqu'elles sont exécutées sur les moyens de traitement du module 5, les étapes du processus Prod décrit ci-dessous en référence à la figure 4.
Processus Prod
Le principe du processus Prod est le suivant : on calcule l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en
fonction d'un codage desdites composantes spectrales. Puis on attribue un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.
Dans un mode de réalisation, le processus Prod détaillé est le suivant:
Initialisation
• Etape 1a: Dans cette étape, on définit un premier débit Do=Dmax et une allocation de parties de ce débit D0 entre les éléments à coder A(kj), (k, j) e E0 = {(k, j) tel que £ = l à. Q et j = 0 àΛf -l} . On nomme dkj le débit attribué à l'élément à coder A(kj), [k, JJ e E0 , lors de cette allocation (la somme de ces débits dkj| k =1 ào, j=oà M-i est égale à D0) et S0 = min<it ; pour (£, j) <≡ E0 . Puis les éléments à coder A(kj), (fc, j) <≡ E0 , sont quantifiés par le module 10 de quantification en fonction de l'allocation définie pour le débit Do.
• Etape 1b :
Ensuite, on calcule le rapport entre le masque et l'erreur (ou bruit) de quantification (« Mask to noise Ratio » en anglais ou MNR) pour chaque signal Si et pour chaque sous-bande Fj, avec i= 1 à N et j = 0 à M-1 , qui est égal à la puissance du masque du signal Si dans la bande Fj divisée par la puissance du bruit de quantification (E(i,j)) relative au signal Si dans cette bande Fj.
Pour ce faire, on détermine d'abord l'erreur de quantification b(k,j) dans chaque bande Fj des éléments à coder A(k,j), (έ,j) e E0 , de la façon suivante :
b(k,j) = A(k,j) - A (k, j) , avec A(k, j) le résultat de la quantification, puis quantification inverse de l'élément A(k,j) (en général la quantification fournit un indice de quantification indiquant la valeur de l'élément quantifié dans un dictionnaire, le quantificateur inverse fournit la valeur de l'élément quantifié en fonction de l'indice). Puis on détermine l'erreur de quantification E(i,j) dans chaque bande Fj pour chaque signal Si avec i= 1 à N et j = 0 à M-1 , due à la quantification des
éléments à coder selon le débit D0, en calculant la matrice E comportant les éléments E (ij) :
E = \ (Ambfp).Ambfp)V .Ambfp)t .B, Equation (2)
où Q= 2p+1 , Amb(p) est la matrice de transformation ambiophonique d'ordre p et
£(1,0) £(1,1) E(l, M -l)
£(2,0) E(2,l) £(2, M -I)
E= - [E(Jj)] i= 1 à N, j = O à M-1 θt
E(N,0) . E(N, M -I)
W) b(i,i) b(\,M - \) b(2,0) b(2,M ~ l)
B= - [b(k,j)]k=1 à Q, j=0 à M-1
b(Q,0) b(Q,\) . . . b(Q,M - \)
Puis le rapport entre le masque et l'erreur de quantification pour chaque signal Si et pour chaque bande Fj, avec i= 1 à N et j = 0 à M-1 est déterminé en fonction du bruit de quantification EΞ(iJ) ainsi calculé relatif au signal Si dans cette bande Fj et du masque du signal Si dans la bande Fj fourni par le module 7 de calcul de masque.
On appelle MNR(O, D0) la matrice telle que l'élément (i,j) de la matrice MNR(O1Do), i= 1 à N et j = 0 à M-1 , indique le rapport entre le masque et l'erreur de quantification pour le signal Si et pour la bande Fj pour la quantification précédemment effectuée.
Avant de décrire l'itération n°1 du processus Prod , on indique ci- dessous comment l'équation (2) a été déterminée.
La figure 8 représente une chaîne de traitement 200 comportant un module 201 de transformation ambiophonique d'ordre p (similaire au module 4 de transformation ambiophonique d'ordre p de la figure 1 ) suivi d'un module
202 de transformation ambiophonique inverse d'ordre p. Le module 201 de transformation ambiophonique d'ordre p reçoit en entrée les représentations spectrales X1 ,..., XN des signaux S1 , ..., SN, effectue sur ces signaux une transformation ambiophonique d'ordre p, délivre les signaux ambiophoniques obtenus A1 à AQ au module 202 de transformation ambiophonique inverse d'ordre Q, lequel délivre N signaux de pressions acoustiques respectives FIi, i=1 à N.
On a alors où Amb(p) est la
matrice de transformation ambiophonique d'ordre p et Amblnv(p) est la matrice de transformation ambiophonique inverse d'ordre p (encore appelée matrice de décodage ambiophonique) .
La figure 9 représente une chaîne de traitement 210 comportant le module 201 de transformation ambiophonique d'ordre p suivi d'un module 203 de quantification, puis un module 204 de quantification inverse, et d'un module 202 de transformation ambiophonique inverse d'ordre p. Le module 201 de transformation ambiophonique d'ordre p en entrée de la chaîne de traitement 210 reçoit en entrée les représentations spectrales X1 ,..., XN des signaux S1 , ..., SN et délivre les signaux ambiophoniques obtenus A1 à AQ, qui sont fournis en entrée du module 203 de quantification. Les signaux Al , ..., AQ sont les signaux délivrés au module 202 de transformation ambiophonique inverse par le module 204 de quantification inverse, résultant de la quantification inverse effectuées sur les signaux délivrés par le module 203 de quantification. Le module 202 de transformation ambiophonique inverse d'ordre Q délivre N signaux de pressions acoustiques respectives ITi, i=1 à N. La chaîne de traitement 210 de la figure 9 fournit les mêmes pressions acoustiques ITi de sortie que la chaîne de traitement 211 représentée en figure 10, dans laquelle le module 201 de transformation ambiophonique d'ordre p se situe entre le module de quantification inverse 204 et le module 202 de transformation ambiophonique inverse d'ordre p. Dans la chaîne de traitement 211 , le module 203 de quantification en entrée de la chaîne de traitement 211
reçoit en entrée les représentations spectrales X1 , ..., XN, les quantifie puis délivre le résultat de cette quantification au module 204 de quantification inverse, qui délivre les N signaux Zl , ..., XN . Ces signaux Zl , ..., XN sont ensuite fournis aux modules 201 et 202 de transformation ambiophonique et de transformation ambiophonique inverse mis en cascade. Le module 202 de transformation ambiophonique inverse d'ordre p délivre les N signaux de pressions acoustiques respectives ITi, i=1 à N.
Donc on en déduit : E = (Amblnv(p) x Amb{p) )Λ AmbInv(p) x B.
Dans le cas où la matrice de décodage ambiophonique correspond à un
système à haut-parleurs réguliers, on a Amblnv(p) = — Amb(p)' (en fait, les
N erreurs de quantification E ou B_ne dépendent que du codage effectué et non du décodage. Ce qui changera au niveau du décodage, en fonction de la matrice de décodage utilisée correspondant au système de haut-parleurs utilisé, c'est la façon dont l'erreur sera répartie entre les haut-parleurs. Cela est
dû au fait que la psychoacoustique utilisée ne prend pas en compte les interactions entre les signaux. Donc si le calcul est fait pour une matrice de décodage bien définie et que le module de quantification optimise l'erreur pour cette matrice, alors pour les autres matrices de décodage l'erreur sera sous- optimale).
On en déduit donc l'équation (2).
Revenons à la description de la figure 4.
Itération n°1 : - Etape 1c :
On définit maintenant un deuxième débit Di de codage, avec Di=D0- S0 , et une répartition de ce débit Di bits de codage entre les éléments à coder
A(kj), k=1 à Q et J=O a M-L
• Etape 1d : Ensuite, pour chaque couple (k, j) e E0 , considéré successivement depuis le couple (1 ,0) jusqu'au couple (Q,M-1 ) selon l'ordre de lecture lexicographique des couples de E0 , on réitère les opérations ai à a7 suivantes : ai- on considère que la sous-bande (k,j) est supprimée pour les opérations a2 à a5 ; a2- les éléments à coder A(i,n), avec (i,n) e E0 \(k, j) (c'est-à-dire (i,n) égal à chacun des couples de E0 à l'exception du couple (k,j)) sont quantifiés par le module 10 de quantification en fonction d'une répartition définie du débit Di entre lesdits éléments à coder A(i,n), avec (i, w) e E0 \ (fc, j) ; a3- de la même façon qu'indiquée à l'étape 1b, on calcule à partir des éléments A (i,n) , (i,n) e E0 \(k, j) issus des opérations de quantification effectuées à l'étape a2, la matrice MNRk,j(1 ,Di) = [MNRkj(1 ,Di) (i, t)] i= 1 à N et t = o à M-i telle que chaque élément MNRkj(1 ,Di) (i, t) de la matrice indique le rapport entre le masque et l'erreur (ou bruit) de quantification pour chaque signal Si et pour chaque sous-bande Ft, avec i= 1 à N et t = 0 à M-1 suite à la quantification effectuée à l'étape a2 (la sous-bande (k,j) étant considérée
comme supprimée, le bruit de quantification b(k,j) a été considéré nul dans les calculs). On mémorise les valeurs prises par les éléments de cette matrice MNRkJ(I 1D1) ; a4- puis, on calcule et on mémorise la matrice ΔMNRkj(1) de variation de rapport entre le masque et l'erreur de quantification
ΔMNRt>; (l) = MNR^ (I5D1) - MNR*,, (0,D0 ) ; avec MNRi>; (θ,Do ) est la matrice MNR(O1Do) dont on a supprimé l'élément d'indice (kj) a5- on calcule une norme |ΔMNRkJ(l)| de cette matrice ΔMNRkj(1 ). La valeur de cette norme évalue l'impact, sur l'ensemble des rapports signal à bruit des signaux Si, de la suppression de la composante A(k,j) parmi les éléments à coder A(i,n), avec (i,n) <≡ E0.
La norme calculée permet de mesurer l'écart entre MNRkj(1 ,Di) et
MNRt ; (0,D0) et est par exemple égale à la racine carrée de la somme de chaque élément de la matrice ΔMNRkj(1 ) élevé au carré. a6- on considère que la sous-bande (kj) n'est plus supprimée ; a7- si (kj) ≠ maχE0 = (Q,M-1 ), on incrémente le couple (kj) dans E0 et on réitère les étapes ai à a7 jusqu'à atteindre maχE0.
• Etape 1e : On détermine (hji) correspondant à la valeur la plus petite parmi les valeurs |ΔMNRkJ(l)| , obtenues pour (k, j) ≡ E0 , soit :
(/1, j1) = arg (minJ|ΔMNR,,; (l)| .
L'élément à coder A(H ji) est ainsi identifié comme l'élément le moins pertinent quant à la qualité audio globale parmi l'ensemble des éléments à coder A(i j) avec (ï, j) e E0
• Etape 1f :
L'identifiant du couple (h ji) est délivrée au module d'ordonnancement 6 en tant que résultat de la première itération du processus Prod .
• Etape 1q :
On supprime alors la bande (ii Ji), de l'ensemble des éléments à coder dans la suite du processus Prod . On définit l'ensemble E1 =
Itération 2 et suivantes :
Des étapes similaires aux étapes 1c à 1g sont effectuées pour chaque itération n, n>2, comme décrit ci-après.
• Etape 1c : on définit maintenant un (n+1)ième débit Dn de codage, avec Dn = Dn_1 -δn_1 tel que δn_γ = min(dy ) , pour (*, ./) <= En-1 .
• Etape 1d : ensuite, pour chaque couple (fc, j) e En l et considéré successivement selon l'ordre lexicographique, on réitère les opérations suivantes ai à a7 : ai- on considère que la sous-bande (k,j) est supprimée dans les opérations a2 à a5 ; a2- les éléments à coder A(i,n), avec (i,n) e EB _1 \{(k, j)} sont quantifiés par le module 10 de quantification en fonction d'une répartition du débit Dn entre les éléments à coder A(i,n), avec (i,n)
; a3- on calcule à partir des éléments A (i,n) , (i,n) e En_1 \{(k, j)} déterminés en fonction de la quantification à l'étape a2, la matrice MNRk,j(n, Dn) indiquant le rapport entre le masque et l'erreur (ou bruit) de quantification pour chaque signal Si et pour chaque sous-bande Fj, avec i= 1 à N et j = 0 à M-1 , suite à la quantification effectuée à l'étape a2 ; a4- puis on calcule et on mémorise la matrice de variation de rapport entre le masque et l'erreur de quantification
ΔMNR, ; («) = MNR, ; (n,Dn ) - MNR*,, (n-l5DnJ L avec MNR*,, (n-l5DnJ
correspond à la matrice MNR (n-l,DnJ dont on a supprimé l'élément d'indice
(k,j), et une norme |ΔMNRkJ(n)| de cette matrice ΔMNRk,j(n). La valeur de cette norme évalue l'impact, sur l'ensemble des rapports signal à bruit des
signaux Si, de la suppression de la composante A(kj) parmi les éléments à coder A(i,n), avec (i,n) ≡ En_1 \{(k,j)} . a5- on considère que la sous-bande (kj) n'est plus supprimée ; a6- si (k, j) ≠ maχEn ] , on incrémente le couple (kj) dans EH_7 et on réitère les étapes ai à a6 jusqu'à atteindre maχEH 7 Etape 1e : on détermine (injn) correspondant à la valeur la plus petite parmi les valeurs obtenues |ΔMNRkJ(n)| , pour (k, j) e En_1 , soit
(ïn, jn) = arg min IIAMNR^ ; («)|| . On mémorise aussi la matrice
MNR (n,Dn ) = MNR, ; (n,Dn ) . L'élément à coder A(JnJn) est ainsi identifié comme l'élément le moins pertinent quant à la qualité audio globale parmi l'ensemble des éléments à coder A(ij), tels que (i, j> EB l Etape 1f : l'identifiant du couple (injn) est délivrée au module d'ordonnancement 6 en tant que résultat de la nième itération du processus Prod . Etape 1g : on supprime alors la bande (injn), de l'ensemble des éléments à coder dans la suite du processus Prod . On définit l'ensemble En = En_1 \{(in, jn)} .
On réitère le processus Prod r fois et au maximum Q*M-1 fois. Des indices de priorité sont ainsi ensuite attribués par le module 6 d'ordonnancement aux différentes bandes de fréquence, en vue de l'insertion des données de codage dans une séquence binaire.
Ordonnancement des éléments à coder et constitution d'une séquence binaire sur la base des résultats successivement fournies par les itérations successives du processus Prod :
Dans un mode de réalisation où l'ordonnancement des éléments à coder est réalisé par le module 6 d'ordonnancement sur la seule base des résultats successivement fournies par les itérations successives du processus
Prod mis en œuvre par le module 5 de définition des éléments à coder les moins pertinents à l'exclusion des résultats fournis par le processus Proc2, ce
dernier définit un ordre desdits éléments à coder, traduisant l'importance des éléments à coder sur le plan de la qualité audio globale.
En référence à la figure 5a, l'élément à coder A(h,ji) correspondant au couple (h,ji) déterminé lors de la première itération de Prod est considéré le moins pertinent sur le plan de la qualité audio globale. Il lui est donc affecté un indice de priorité minimale Priol par le module 5.
L'élément à coder A(i2,J2) correspondant au couple (i2,J2) déterminé lors de la deuxième itération de Prod , est considéré comme l'élément à coder le moins pertinent sur le plan de la qualité audio globale, après celui affecté à la priorité Priol . Il lui est donc affecté un indice de priorité minimale Prio2, avec
Prio2 > Priol . Lorsque le nombre r d'itération du processus est strictement inférieur à Q*M-1 , le module 6 d'ordonnancement ordonne ainsi successivement r éléments à coder affectés chacun à des indices de priorité croissants Priol , Prio2 à Prio r. Les éléments à coder n'ayant pas été affectés à un ordre de priorité au cours d'une itération du processus Prod sont plus importants sur le plan de la qualité audio globale que les éléments à coder auxquels ont été affectés des ordres de priorité.
Lorsque r est égal à Q*M -1 fois, tous les éléments à coder sont ordonnées un à un. Dans ce qui suit, on considère que le nombre d'itérations r du processus Prod effectuées est égal à Q*M -1 fois.
L'ordre de priorité affecté à un élément à coder A(kj) est également affecté à l'élément codé A(k, j) résultant d'une quantification de cet élément à coder. Le module 8 de constitution de la séquence binaire constitue une séquence binaire correspondant à une trame de chacun des signaux Si, i=1 à
N en y intégrant successivement des éléments codés A(k, j) par ordre décroissant d'indices de priorité attribués, la séquence binaire étant à transmettre dans le flux binaire Φ. Ainsi la séquence binaire constituée est ordonnée conformément à l'ordonnancement effectué par le module 6.
La séquence binaire est ainsi constituée de composantes spectrales se rapportant à des bandes spectrales respectives, d'éléments à coder provenant
d'une scène audio comprenant N signaux avec N>1 , et qui sont ordonnés en fonction de leur influence sur des rapports masque à bruit déterminés sur les bandes spectrales.
Les composantes spectrales de la séquence binaire sont par exemple ordonnées selon le procédé de l'invention.
Dans un mode de réalisation, seules certaines des composantes spectrales comprises dans la séquence binaire constituée sont ordonnées à l'aide d'un procédé selon l'invention.
Dans le mode de réalisation considéré ci-dessus, une suppression d'une composante spectrale d'un élément à coder A(i,j) a lieu à chaque itération de l'algorithme Prod .
Dans un autre mode de réalisation, on utilise un quantificateur imbriqué pour les opérations de quantification. Dans un tel cas, la composante spectrale d'un élément à coder A(iojo) identifié n'est pas supprimé, mais un débit réduit est affecté au codage de cette composante par rapport au codage des autres composantes spectrales d'éléments à coder restant à ordonner.
Le codeur 1 est ainsi un codeur permettant une adaptabilité en débit prenant en compte les interactions entre les différents signaux monophoniques. Il permet de définir des données compressées optimisant la qualité audio globale perçue.
Les opérations d'ordonnancement des éléments de la séquence binaire et de constitution de la séquence binaire à l'aide du processus Prod ont été décrites ci-dessus pour un mode de réalisation de l'invention dans lequel les éléments à coder comprennent les composantes ambiophoniques des signaux.
Dans un autre mode de réalisation, un codeur selon l'invention ne code pas ces composantes ambiophoniques, mais les coefficients spectraux X(i,j), j= O a M, des signaux Si.
Dans un tel cas, on affecte à la première itération du processus 1 par exemple, un indice de priorité minimum (minimum parmi les éléments restant à ordonner) à l'élément à coder X(h, ji) tel que la suppression de la composante spectrale X(h, ji) donne lieu à une variation minimale de rapport masque à bruit. Puis on réitère le processus Prod .
Processus Proc2
Les critères de Gerzon sont généralement utilisés pour caractériser la localisation des sources sonores virtuelles synthétisées par la restitution de signaux depuis les haut-parleurs d'un système de rendu sonore donné.
Ces critères reposent sur l'étude des vecteurs de vélocité et d'énergie des pressions acoustiques générées par un système de rendu sonore utilisé.
Lorsqu'un système de rendu sonore comprend L haut-parleurs, les signaux, i=1 à L, générés par ces haut-parleurs, sont définies par une pression acoustique Ti et un angle de propagation acoustique ξι .
Le vecteur de vélocité V est alors défini ainsi :
Le vecteur d'énergie È est défini ainsi :
∑ 1≤i≤L Ti2 cos ξt
= rE cos ξE
∑ i≤ώ ^"2
E = Equation (4) ∑ ι≤ι≤LTi2 sm ξt
= rE ύn ξE
∑ ^î1''
Les conditions nécessaires pour que la localisation des sources sonores virtuelles soit optimale se définissent en cherchant les angles ξι , caractérisant la position des haut-parleurs du système de rendu sonore considéré, vérifiant les critères ci-dessous, dits critères de Gerzon, qui sont : - critère 1 , relatif à la précision de l'image sonore de la source S en basses fréquences : ξv = ξ ; où est ξ l'angle de propagation de la source S réelle qu'on cherche à atteindre.
- critère 2, relatif à la stabilité de l'image sonore de la source S en basses fréquences : rv = 1 ; - critère 3, relatif à la précision de l'image sonore de la source S en hautes fréquences : ξE = ξ ;
- critère 4, relatif à la stabilité de l'image sonore de la source S en hautes fréquences : rE = 1.
Les opérations décrites ci-dessous dans un mode de réalisation de l'invention utilisent les vecteurs de Gerzon dans une application autre que celle consistant à rechercher les meilleurs angles ξι , caractérisant la position des haut-parleurs du système de rendu sonore considéré.
Les critères de Gerzon reposent sur l'étude des vecteurs de vélocité et d'énergie des pressions acoustiques générées par un système de rendu sonore utilisé.
Chacune des coordonnées Xv, yv, XE, yE indiquées dans les équations 3 et 4 relatives aux vecteurs d'énergie et vélocité associés aux critères de Gerzon est élément de [-1 ,1]. Donc il existe un unique couple (ξv , ξE ) vérifiant les équations suivantes, correspondant au cas parfait (rv , rE ) = (1 ,1 ) :
Les angles ξv et ξE de ce couple unique sont donc définis par les équations suivantes (équations (5)):
& = sign ( % ). arccos( % )
Σ l≤l<LTl Σ l≤l<LTl
On appellera par la suite vecteur d'angles de Gerzon généralisé le
vecteur ξ tel que ξ = 'ξv
Le deuxième algorithme comprend des instructions adaptées pour mettre en œuvre, lorsqu'elles sont exécutées sur des moyens de traitement du module 5, les étapes du processus Proc2 décrit ci-dessous en référence à la figure 6.
Le principe du processus Proc2 est le suivant : on calcule l'influence de chaque paramètre spectral, parmi un ensemble de paramètres spectraux à ordonner, sur un vecteur d'angle défini en fonction de vecteurs d'énergie et de vélocité associés à des critères de Gerzon et calculés en fonction d'une transformation ambiophonique inverse sur lesdits composantes ambiophoniques quantifiés. Et on attribue un ordre de priorité à au moins un paramètre spectral en fonction de l'influence calculée pour ledit paramètre spectral comparé aux autres influences calculées.
Dans un mode de réalisation, le processus Proc2 détaillé est le suivant: Initialisation (n=0) - Etape 2a :
On définit un débit D0=Dm3x et une allocation de ce débit entre les éléments à coder A(kj), pour (k,j) e E0 = {(k,j) tel que k=1 à Q et j=0 à M-1}.
On nomme dkj le débit attribué à l'élément à coder A(kj), (k,j) e E0, lors de cette allocation initiale (la somme de ces débits dkj| i =1 à Q, J=O à M-I est égale à D0) et S0 = min dkj, pour (k,j) e E0.
- Etape 2b :
Puis chaque élément à coder A(kj), (kj) e E0 est quantifié par le module 10 de quantification en fonction du débit dkj qui lui a été alloué à l'étape 2a.
A_ est la matrice des éléments A(k, j) , k=1 à Q et j=0 à M-1. Chaque élément A(k, j) est le résultat de la quantification, avec le débit dkj, du paramètre A(kj), relative à la bande spectrale Fj, de la composante ambiophonique A(k). L'élément A(k, j) définit donc la valeur quantifiée de la représentation spectrale pour la bande de fréquence Fj, de la composante ambiophonique Ak considérée.
A (1,0) Λ(l,l) A (1,Af - I) Â(2,0) J(2, Af - I) A =
Λ(Q,0) A(Q,\) A(QM - D
m Etape 2c :
Ensuite, on effectue sur ces composantes ambiophoniques quantifiées
A(k, j) , k=1 à Q et j=0 à M-1 , un décodage ambiophonique d'ordre p tel que 2p+1 =Q et qui correspond à un système régulier de N haut-parleurs, pour déterminer les pressions acoustiques T1 i, i = 1 à N, des N signaux sonores obtenus en résultat de ce décodage ambiophonique.
Dans le cas considéré, Amblnv(p) est la matrice de transformation ambiophonique inverse d'ordre p (ou décodage ambiophonique d'ordre p) délivrant N signaux T11 , ..., T1 N correspondant e N haut-parleurs H'1 , ..., H'N respectifs, disposés régulièrement autour d'un point. Par conséquent, la matrice Amblnv(p) se déduit de la transposition de la matrice Amb(p,N) qui est la matrice d'encodage ambiophonique résultante de l'encodage de la scène sonore définie par les N sources correspondant aux N haut-parleurs H'1 , ..., H'N et disposés respectivement dans les positions ξγ , ..., ξN . Ainsi on peut
écrire que : Amblnv(p) = — Amb(p,iV)' .
N
Xl est la matrice des composants spectraux T1(ij) des signaux T1i, i=1 à N relatifs aux bandes de fréquences Fj, j= O à M-1. Ces composants spectraux sont issus de la transformation ambiophonique inverse d'ordre p appliquée sur les composantes ambiophonique quantifiées A(k, j) , k=1 à Q et j=0 à M-1.
ri(i,θ) ri(i,i) Tl(l,M - l) ri(2,0) ri(2,i) ΓI(2,M -I
T1 =
TI(N,O) . Tl(N, M - I)
et on a T1 = Amblnv(p) x A = — Amb(p,N)' x A Equation (6)
— N —
Ainsi les composants T1 (ij), i=1 à N, dépendent de l'erreur de quantification relative à la quantification considérée des composantes ambiophoniques A(kj), k=1 à Q et j=0 à M-1 (en effet, chaque élément quantifié A(k, j) est la somme du paramètre spectral A(kj) de composante ambiophonique à quantifier et du bruit de quantification relatif audit paramètre).
Pour chaque bande de fréquence Fj, j= 0 à M-1 , on calcule alors, à l'aide des équations (5), le vecteur d'angles de Gerzon généralisé ξ} (0) à l'initialisation du processus Proc2 (n=0), en fonction des composantes spectrales T1 (i,j), i =1 à N et j=0 à M-1 déterminées suite au décodage
∑ i≤1<NT1(iJ) sin £ ∑ I≤1≤N Tl(i,j)cos£ ξv, = sign arccos
∑ i≤1≤NTl(i,j) ∑ i≤1<NT1(iJ)
ξE, = sign
Et on définit ξ} (0) = ξ} (0) .
On notera qu'ici a été considérée une matrice de décodage ambiophonique pour un dispositif de rendu sonore régulier et qui comporte un nombre de haut-parleurs égal au nombre des signaux d'entrées, ce qui simplifie le calcul de la matrice de décodage ambiophonique. Néanmoins, cette étape peut être mise en œuvre en considérant une matrice de décodage ambiophonique correspondant à des dispositifs de rendu sonore non réguliers et aussi pour un nombre de haut-parleurs différents du nombre des signaux d'entrée.
Itération n °1 (n=1 )
- Etape 2d :
On définit un débit Di=D0 -S0 et une allocation de ce débit Di entre les éléments à coder A(kj), pour (k,j) e E0.
• Etape 2e :
Puis chaque élément à coder A(k,j), (k,j) e E0 est quantifié par le module 10 de quantification en fonction du débit qui lui a été alloué à l'étape 2d.
A_ est maintenant la matrice actualisée des éléments quantifiés A(k, j) , (k,j) e E0 résultant chacun de cette dernière quantification selon le débit global D1, des paramètres A(kj).
- Etape 2f :
De façon similaire à celle décrite précédemment dans l'étape 2c, après calcul d'un nouveau décodage ambiophonique d'ordre p effectué en fonction des éléments quantifiés avec le débit global Di, on calcule, pour l'itération n°1 du processus Proc2, un premier vecteur d'angles de Gerzon généralisé I7 (I) dans chaque bande fréquentielle Fj, en fonction des composantes spectrales T1(i,j), i =1 à N, j=0 à M-1 déterminées suite au nouveau décodage ambiophonique, à l'aide de l'équation (6).
On calcule ensuite le vecteur Δ£; (l) égal à la différence entre le
vecteur d'angles de Gerzon ξ} (0) calculé à l'étape 2c de l'initialisation et le
vecteur d'angles de Gerzon généralisé ξ} {\) calculé à l'étape 2f de l'itération
n°1 : Δ|; (I) = I7 (I) - |; (0) , j=0 à M-1.
• Etape 2q :
On calcule la norme Δ|; (1) , dans chaque bande fréquentielle Fj, de la
variation Δ|; (1) , j=0 à M-1.
Cette norme représente la variation du vecteur d'angles de Gerzon généralisé suite à la réduction du débit de D0 à Di dans chaque bande fréquentielle Fj.
On détermine ji l'indice de la bande fréquentielle Fh telle que la norme
Δ|; (1) de la variation d'angle de Gerzon calculée dans la bande fréquentielle
Fh soit inférieure ou égale à chaque norme |Δ£; (1)| , calculée pour chaque
bande fréquentielle Fj, j=0 à M-1. On a donc J1 = arg min IUf (I)II .
7=0 M-I II II
- Etape 2h :
On considère maintenant les paramètres spectraux des composantes ambiophoniques relatifs à la bande spectrale Fh , soit les paramètres A(k, J1), avec k e F0=[I 1Q].
Et on réitère les étapes 2h1 à 2h5 suivantes pour tout i e F0 considéré alternativement depuis 1 jusqu'à Q :
2h1- on considère que la sous-bande (i,ji) est supprimée pour les opérations 2h2 à 2h4 : on considère donc que A(i,ji) est nul et que l'élément quantifié correspondant A(IJ1 ) est aussi nul ;
2h2- De façon similaire à celle décrite précédemment dans l'étape 2c, après calcul d'un décodage ambiophonique d'ordre p effectué en fonction des
éléments quantifiés avec le débit global Di (A(IJ1 ) étant nul), on détermine le vecteur d'angles de Gerzon généralisé |Λ (A(Ij1) = 0, 1) dans la bande fréquentielle Fh en fonction des composantes spectrales T1 (ij), i =1 à N et j =
0 à M-1 déterminées suite audit décodage ambiophonique à l'aide de l'équation (6).
2h3- On calcule ensuite le vecteur Aξl} (1) représentant la différence dans la bande fréquentielle Fh entre le vecteur d'angles de Gerzon généralisé
ξh (A(IJj) = O, 1) calculé ci-dessus et le vecteur d'angles de Gerzon généralisé
|Λ (1) calculé à l'étape 2f de l'itération n°1 ci-dessus : Δ|y (l) = ξh (A(Ij1) = 0, 1) - ξh (l) . Puis on calcule la norme IIΔ|y (l) ll du vecteur Δ|y (l) : IIΔ|y (l) ll =
II ^ (A(Ij1) = 0, 1) - |Λ (1) N.
Cette norme représente la variation du vecteur d'angles de Gerzon généralisé dans la bande fréquentielle F1 lorsque pour un débit D1 , on supprime la composante ambiophonique fréquentielle A(Jj1). 2h4- Si i ≠ max F0, on considère que la sous-bande (iji) n'est plus supprimée et on passe à l'étape 2h5. Si i = max F0, on considère que la sous- bande (iji) n'est plus supprimée et on passe à l'étape 2i.
2h5- On incrémente i dans l'ensemble F0 et on réitère les étapes 2h1 à 2h4 pour la valeur de i ainsi mise à jour jusqu'à i = max Fo.
On obtient ainsi Q valeurs de variation d'angle de Gerzon généralisé
|Δ^Λ (I)II , pour chaque i e F0=[I , Q].
• Etape 2i : On compare entre elles les valeurs |Δ|Λ (1)| , pour chaque i e F0=[I , Q], on identifie la valeur minimale parmi ces valeurs et on détermine l'indice H e F0 correspondant à la valeur minimale, soit J1 = arg min jAξi (1) . ïeFn
La composante A(J1, ji) est ainsi identifiée comme l'élément à coder de plus faible importance sur le plan de la précision spatiale, comparé aux autres éléments à coder A(kj), (kj) e E0.
- Etape 2i :
On redéfinit, pour chaque bande spectrale Fj, le vecteur d'angles de
Gerzon généralisé ξ} (l) issu de l'itération 1 , calculé pour un débit Di :
ξ} (l) = 1 (1) si j e [0,M-1]\{ji} ;
I1 (X) = |A (A(i1 ,j1 ) = O ,l) si j = ji . Ce vecteur redéfini d'angles de Gerzon généralisé, établi pour un débit de quantification égal à Di, prend en compte la suppression de l'élément à coder A(ii, ji) et sera utilisé pour l'itération suivante du processus Proc2.
- Etape 2k : L'identifiant du couple (ii,ji) est délivré au module d'ordonnancement 6 en tant que résultat de la 1ere itération du processus Proc2.
• Etape 2m :
On supprime alors l'élément à coder A(J1J1) de l'ensemble des éléments à coder dans la suite du processus Proc2. On définit l'ensemble E1= E0\(ii,ji). On définit ή ≈min dkj, pour (kj) e E1.
Dans une itération n°2 du processus Proc2, on réitère des étapes similaires aux étapes 2d à 2n indiquées ci-dessus.
Le processus Proc2 est réitéré autant de fois que souhaité pour ordonner entre eux certains ou la totalité des éléments à coder A(kj), (kj) e E1 restant à ordonner.
Ainsi les étapes 2d à 2n décrites ci-dessus sont réitérées pour une nième itération :
Itération n (n>1 ) :
En-I= E0\{(ii ji ), ..., (in-1 ,jn-i)}.
Les éléments à coder A(kj), pour (kj) e E0\En-i ont été supprimés au cours des étapes 2m des itérations précédentes.
- Etape 2d :
On définit un débit Dn = Dn-1 -δn_γ et une allocation de ce débit Dn entre les éléments à coder A(kj), pour (kj) e En-i .
Lors du calcul des décodages ambiophoniques effectués ci-après, on considère donc que les éléments quantifiés A(k, j) , pour (kj) e E0\En-i sont nuls
• Etape 2e :
Puis chaque élément à coder A(kj), (kj) e En-i, est quantifié par le module 10 de quantification en fonction du débit alloué à l'étape 2d ci-dessus. Le résultat de cette quantification de l'élément à coder A(kj) est
A(JcJ) , (kj) e En-i .
- Etape 2f : De façon similaire à celle décrite précédemment pour l'itération 1 , après calcul d'un décodage ambiophonique d'ordre p effectué en fonction des éléments quantifiés avec le débit global Dn (on a donc considéré lors de ce décodage ambiophonique que les composantes A(I1J1) ,..., A(in _15 jn ^ sont nulles), on calcule, pour l'itération n du processus Proc2, un premier vecteur d'angles de Gerzon généralisé ξ} (n) dans chaque bande fréquentielle Fj en fonction des composantes spectrales T1 i, i =1 à N déterminées suite audit décodage ambiophonique, à l'aide de l'équation (6).
On calcule ensuite le vecteur Aξ} (n) égal à la différence entre le vecteur d'angles de Gerzon ξ} (n -l) calculé à l'étape 2j de l'itération n-1 et le
vecteur d'angles de Gerzon généralisé ξ} (ή) calculé à la présente étape :
Aξ}(n) = l (n) - I7 (W -I) J=O a M-I .
• Etape 2g : On calcule la norme |Δ£; (W)| , dans chaque bande fréquentielle Fj, de
la variation Aξ} (n) , j=0 à M-1. Cette norme représente la variation du vecteur d'angles de Gerzon généralisé dans chaque bande fréquentielle Fj, suite à la réduction de débit de Dn à Dn-i (les paramètres A(I1J1) , ..., A(^1Jn-1) et A(I1J1) , ..., Â(in-ιJn-ι) étant supprimés).
On détermine Jn l'indice de la bande fréquentielle F1 telle que la norme
|Δ£; («)|| de la variation du vecteur d'angles de Gerzon calculée dans la bande
fréquentielle F1 est inférieure ou égale à chaque norme |Δ£; (W)| , calculée pour chaque bande fréquentielle Fj, j=0 à M-1. On a donc
- Etape 2h :
On considère maintenant les paramètres spectraux des composantes ambiophoniques relatifs à la bande spectrale F1n , soit les paramètres A(k, jn), avec k e Fn-I= {i e [1 ,...,Q] tel que (i, Jn) e En-i}.
Et on réitère les étapes 2h1 à 2h5 suivantes pour tout i e Fn-i considéré alternativement depuis l'élément le plus petit de l'ensemble Fn-i (min Fn-i) jusqu'à l'élément le plus grand de l'ensemble Fn-i (max Fn-i) :
2h1- on considère que la sous-bande (i,jn) est supprimée pour les opérations 2h2 à 2h4 : on considère donc que A(i,jn) est nul et que l'élément quantifié correspondant A(IJn ) est aussi nul ;
2h2- De façon similaire à celle décrite précédemment dans l'étape 2c, après calcul d'un décodage ambiophonique d'ordre p effectué en fonction des éléments quantifiés avec le débit global Dn (A(IJn) étant nul), on calcule, le vecteur d'angles de Gerzon généralisé nommé ξ} (A(i,jn) = O ,n) dans la bande
fréquentielle F1 en fonction des composantes spectrales T1(ij) i =1 à N et j=0 à M-1 déterminées suite audit décodage ambiophonique, à l'aide de l'équation (6).
2h3- On calcule ensuite le vecteur Aξl} (n) égal à la différence, dans la bande fréquentielle F1 , entre le vecteur d'angles de Gerzon généralisé
ξ} (A(i,jn) = O, n) calculé ci-dessus en 2h2 et le vecteur d'angles de Gerzon
généralisé ξ} (n) calculé à l'étape 2f de l'itération n ci-dessus : Aξi3 (n) = ξ]n (A(Ijn ) = 0, n) - ξjn) .
Puis on calcule la norme IIΔ|y Jn) W du vecteur Δξl} Jn) : IIΔ|jn (n) ll = II 4 (A(Ijn) = 0, H) - IJn) II.
Cette norme représente la variation, dans la bande fréquentielle F1 , du vecteur d'angles de Gerzon généralisé et pour un débit Dn, due à la suppression de la composante ambiophonique A(i,jn) lors de la nième itération du processus Proc2. 2h4- Si i ≠ max Fn-i, on considère que la sous-bande (i,jn) n'est plus supprimée et on va à l'étape 2h5. Si i = max Fn-i, on considère que la sous- bande (ijn) n'est plus supprimée et on va à l'étape 2i.
2h5- On incrémente i dans l'ensemble Fn-i et on réitère les étapes 2h1 à 2h4 pour la valeur de i ainsi mise à jour jusqu'à i = max Fn-i .
On obtient ainsi, pour chaque i e Fn-i, une valeur \\Δξυ («) ll, représentant la variation du vecteur d'angles de Gerzon généralisé dans la bande fréquentielle F1 due à la suppression de la composante A(i,jn) .
- Etape 2i :
On compare entre elles les valeurs IIΔ|y (n) II, pour chaque i e Fn-i, on identifie la valeur minimale parmi ces valeurs et on détermine l'indice in ε Fn correspondant à la valeur minimale, soit in - argmin Δ|y («) . ïeF,
La composante A(JnJn) est ainsi identifiée comme l'élément à coder de plus faible importance sur le plan de la précision spatiale, comparé aux autres éléments à coder A(kj), (kj) e En-i .
- Etape 2i :
On redéfinit, pour chaque bande spectrale Fj, un vecteur d'angles de
Gerzon généralisé ξ} (n) issu de l'itération n :
ξ} (n) = ξ} (n) si j e [0,M-1]\{jn} ;
ξjn) = |Λ (A(In JJ = O , «) Si J = Jn. Cet angle de Gerzon généralisé redéfini, établi pour un débit de quantification égal à Dn, prend en compte la suppression de l'élément à coder A(in, jn) et sera utilisé pour l'itération suivante.
- Etape 2k : L'identifiant du couple (JnJn) est délivré au module d'ordonnancement 6 en tant que résultat de la nième itération du processus Proc2.
• Etape 2m :
On supprime alors la bande (in,jn) de l'ensemble des éléments à coder dans la suite du processus Proc2, c'est-à-dire qu'on supprime l'élément à coder A(JnJn).
On définit l'ensemble En= En-i\(in,jn). Les éléments à coder A(i,j), avec (ij) e En restent à ordonner. Les éléments à coder A(i,j), avec (ij) e {(ii,ji ),..., (injn)} ont déjà été ordonnés lors des itérations 1 à n.
On réitère le processus Proc2 r fois et au maximum Q*M-1 fois. Des indices de priorité sont ainsi ensuite attribués par le module 6 d'ordonnancement aux différents éléments à coder, en vue de l'insertion des données de codage dans une séquence binaire.
Ordonnancement des éléments à coder et constitution d'une séquence binaire, sur la base des résultats successivement fournies par les itérations successives du processus Proc2 :
Dans un mode de réalisation où l'ordonnancement des éléments à coder est réalisé par le module 6 d'ordonnancement sur la base des résultats successivement fournies par les itérations successives du processus Proc2 mis en œuvre par le module 5 de définition des éléments à coder les moins pertinents (à l'exclusion des résultats fournis par le processus Prod ), le module 6 d'ordonnancement définit un ordre desdits éléments à coder, traduisant l'importance des éléments à coder sur le plan de la précision spatiale.
En référence à la figure 5b, l'élément à coder A(J1J1) correspondant au couple (J1J1) déterminé lors de la première itération du processus Proc2 est considéré comme le moins pertinent sur le plan de la précision spatiale. Il lui est donc affecté un indice de priorité minimale Priol par le module 5.
L'élément à coder A(i2,J2) correspondant au couple (i2,J2) déterminé lors de la deuxième itération du processus Proc2, est considéré comme l'élément à coder le moins pertinent sur le plan de la précision spatiale, après celui affecté à la priorité Priol . Il lui est donc affecté un indice de priorité minimale Prio2, avec Prio2 > Priol . Le module 6 d'ordonnancement ordonne ainsi successivement r éléments à coder affectés chacun à des indices de priorité croissants Priol , Prio2 à Prio r.
Les éléments à coder n'ayant pas été affectés à un ordre de priorité au cours d'une itération du processus Proc2 sont plus importants sur le plan de la précision spatiale que les éléments à coder auxquels à été affecté un ordre de priorité.
Lorsque r est égal à Q*M -1 fois, l'ensemble des éléments à coder sont ordonnées un à un. Dans ce qui suit, on considère que le nombre d'itérations r du processus Proc2 effectuées est égal à Q*M -1 fois.
L'ordre de priorité affecté à un élément à coder A(kJ) est également affecté à l'élément codé en fonction du résultat A(k, j) de la quantification de
cet élément à coder. On note ci-dessous également A(k, j) l'élément codé correspondant à l'élément à coder A(kj).
Le module 8 de constitution de la séquence binaire constitue une séquence binaire Seq correspondant à une trame de chacun des signaux Si, i=1 à N en y intégrant successivement des éléments codés A(k, j) par ordre décroissant d'indices de priorité attribués, la séquence binaire Seq étant à transmettre dans le flux binaire Φ.
Ainsi la séquence binaire constituée Seq est ordonnée conformément à l'ordonnancement effectué par le module 6.
Dans le mode de réalisation considéré ci-dessus, une suppression d'une composante spectrale d'un élément à coder A(ij) a lieu à chaque itération du processus Proc2.
Dans un autre mode de réalisation, on utilise un quantificateur imbriqué pour les opérations de quantification. Dans un tel cas, la composante spectrale d'un élément à coder A(ij) identifiée comme la moins importante sur le plan de la précision spatiale lors d'une itération du processus Proc2 n'est pas supprimée, mais un débit réduit est affecté au codage de cette composante par rapport au codage des autres composantes spectrales d'éléments à coder restant à ordonner.
Le codeur 1 est ainsi un codeur permettant une adaptabilité en débit prenant en compte les interactions entre les différents signaux monophoniques. Il permet de définir des données compressées optimisant la précision spatiale perçue.
Combinaison des processus Prod et Proc2
Dans un mode de réalisation, on définit les éléments à coder les moins importants à l'aide d'un processus Proc combinant les processus Prod et Proc2 décrits ci-dessus, en fonction de critères prenant en compte la qualité audio globale et la pertinence spatiale.
L'initialisation du processus Proc comporte les initialisations des processus Prod et Proc2 comment décrits plus haut.
Une itération n (n>1 ) d'un tel processus Proc va être maintenant décrite en référence à la figure 11 , en considérant un (n+1 )ième débit Dn de codage et un ensemble d'éléments à coder A(kj) avec (kj) e En-i avec à ordonner. Ces débit et ensemble d'éléments à coder sont déterminés lors d'itérations précédentes du processus Proc sur la base d'itérations précédentes du processus Proc à l'aide des processus Prod et Proc2. Les itérations précédentes ont permis la détermination d'éléments à coder déterminés les moins importants en fonction de critères définis. Ces critères définis ont été établis en fonction de la qualité audio globale et de la précision spatiale souhaitées.
On met en œuvre sur cet ensemble d'éléments à ordonner en parallèle une itération des étapes 1d et 1e du processus Prod , identifiant l'élément à coder A(ini, jni) le moins pertinent sur le plan de la qualité audio globale et une itération des étapes 2e à 2i du processus Proc2, identifiant l'élément à coder A(in2, jn2) le moins pertinent sur le plan de la précision spatiale.
En fonction des critères définis, on sélectionne à l'étape 300, un seul des deux éléments à coder identifiés ou encore les deux éléments à coder identifiés. On repère par A(in, Jn) celui ou chaque élément à coder sélectionné. Puis, d'une part, on fournit le ou les identifiants du couple (in,jn) au module d'ordonnancement 6 en tant que résultat de la nième itération du processus Proc2, qui lui attribue une priorité Prion au vu des critères définis. La priorité Prion affectée est supérieure à la priorité des éléments à coder sélectionnés au cours des itérations précédentes du processus Proc en fonction des critères définis. Cette étape remplace les étapes 1f du processus Prod et 2k du processus Proc2 tels que décrits précédemment.
Le ou les éléments à coder A(JnJn) sélectionnés sont ensuite insérés dans la séquence binaire à transmettre avant les éléments à coder sélectionnés au cours des itérations précédentes du processus Proc (car l'élément à coder A(JnJn) est plus important sur le plan des critères définis que les éléments à coder sélectionnés précédemment par le processus Proc). Le ou les éléments à coder A(JnJn) sélectionnés sont insérés dans la séquence binaire à transmettre après les autres éléments à coder de l'ensemble En-i (car
l'élément à coder A(in Jn) est moins important sur le plan des critères définis que ces autres éléments à coder).
D'autre part, dans une étape 301 , on supprime le ou les éléments à coder A(JnJn) sélectionné pour l'itération suivante (itération n+1 ) du processus Proc (comprenant une itération n+1 pour les processus Prod et Proc2), qui s'appliqueront alors à l'ensemble des éléments à coder En = En-i \ (A(JnJn), sur la base d'un débit réduit comme défini dans l'étape 1c du processus Prod et l'étape 2n du processus Proc2.
Cette étape 301 remplace les étapes 1g du processus Prod et 2m du processus Proc2 tels que décrits précédemment.
Les critères définis permettent de sélectionner celui ou ceux des éléments les moins pertinents identifiés respectivement lors de l'étape 300 du processus Proc.
Par exemple, dans un mode de réalisation, on supprime l'élément identifié par le processus Prod à chaque itération n, avec n pair et on supprime l'élément identifié par le processus Proc2 à chaque itération n avec n impair, ce qui permet de préserver au mieux la qualité audio globale et la précision spatiale.
D'autres critères peuvent être utilisés. Un codage mettant en œuvre un tel processus Proc permet ainsi d'obtenir un flux binaire adaptable en débit sur le plan de la qualité audio et sur la plan de la précision spatiale.
Opérations réalisées au niveau du décodeur
Le décodeur 100 comprend un module de lecture de séquence binaire 104, un module de quantification inverse 105, un module 101 de transformation ambiophonique inverse et un module 102 de transformation fréquence/temps.
Le décodeur 100 est adapté pour recevoir en entrée le flux binaire Φ transmis par le codeur 1 et pour délivrer en sortie Q' signaux S'1 , S'2, ..., S'Q' destinés à alimenter les Q' haut-parleurs H1 , ..., HQ' respectifs d'un système de rendu sonore 103. Le nombre de haut-parleurs Q' peut dans un mode de réalisation être différent du nombre Q de composantes ambiophoniques transmises.
A titre d'exemple, la configuration d'un système de rendu sonore comprenant 8 haut-parleurs h1 , h2,..., h8 est représentée en figure 7.
Le module 104 de lecture de séquence binaire extrait de la séquence binaire Φ reçue des données indiquant les indices de quantification déterminés pour des éléments A(k, j) , k=1 à Q et j=0 à M-1 et les fournit en entrée du module 105 de quantification inverse.
Le module 105 de quantification inverse effectue une opération de quantification inverse.
Les éléments de la matrice A' des éléments A'(k, j) , k=1 à Q et j=0 à M-1 , sont déterminés, tels que A'(k, j) = A(k, j) lorsque la séquence reçue comportait des données indiquant l'indice de quantification de l'élément A(k, j) issu du codage des paramètres A(kj) des composantes ambiophoniques par le décodeur 100 et A'(k, j) = 0 lorsque la séquence reçue ne comportait pas de données indiquant l'indice de quantification de l'élément A(k, j) (par exemple ces données ont été coupés lors de la transmission de la séquence au niveau d'un serveur de streaming pour s'adapter au débit disponible dans le réseau et/ou aux caractéristiques du terminal).
Le module 101 de transformation spatiale inverse est adapté pour déterminer les éléments X'(i, j), i=1 à Q', j= 0 à M-1 , de la matrice X_ définissant les M coefficients spectraux X'(i, j), i=1 à Q', j= 0 à M-1 , de chacun des Q'i signaux S'i, à partir des composantes ambiophoniques A'(k, j) , k=1 à Q et j=0 à M-1 , déterminées par le module 105 de quantification inverse..
Amblnv(p',Q') est la matrice de transformation ambiophonique inverse d'ordre p' pour la scène 3D adaptée pour déterminer les Q' signaux S'i, i= 1 à
Q', destinés aux Q' haut-parleurs du système de rendu sonore associé au décodeur 100, à partir des Q composantes ambiophoniques reçues. Les angles βi, pour i=1 à Q', indiquent l'angle de propagation acoustique depuis le haut-parleur Hi. Dans l'exemple représenté en figure 7, ces angles correspondent aux angles entre l'axe de propagation d'un son émis par un haut-parleur et l'axe XX.
X_ est la matrice des composants spectraux X'(ij) des signaux Si', i=1 à Q' relatifs aux bandes de fréquences Fj, j= O à M-1. Ainsi :
A ' (1,O) A '(U) A' (1,M - I) A1 (2,0) J1 (2, Af - I)
A' =
A'(β,0) A'(Q,\) Λ'(β,M - l)
et
X '(1,0) Z'(l,l) X'(l, Af - I) Z '(2,0) X '(2,1) Z'(2,M - 1
X'=
Z'(β',0) Z'(β',M - l)
et on aJÇ = Amblnv(p',Q') x A^_ Equation (7).
Le module 101 de transformation spatiale inverse est adapté pour déterminer les coefficients spectraux X'(i, j), i=1 à Q', j= 0 à M-1 , éléments de la matrice X_, à l'aide de l'équation (7).
Ces éléments X'(i, j), i=1 à Q', j= 0 à M-1 , une fois déterminés, sont délivrées en entrée du module 102 de transformation fréquence/temps.
Le module 102 de transformation fréquence/temps du décodeur 100 effectue une transformation de l'espace de représentation fréquentielle vers l'espace de représentation temporelle sur la base des coefficients spectraux reçus X'(i, j), i=1 à Q', j= 0 à M-1 (cette transformation est dans le cas présent,
une MDCT inverse), et il détermine ainsi une trame temporelle de chacun des Q' signaux S'1 ,..., S1Q'.
Chaque signal S'i, i = 1 à Q', est destiné au haut-parleur Hi du système de rendu sonore 103. Certaines au moins des opérations effectuées par le décodeur sont dans un mode de réalisation mises en œuvre suite à l'exécution sur des moyens de traitement du décodeur, d'instructions de programme d'ordinateur.
Un avantage du codage des composantes issues de la transformation ambiophonique des signaux S1 , ..., SN tel que décrit est que dans le cas où le nombre de signaux N de la scène sonore est grand, il est possible de les représenter par un nombre Q de composantes ambiophoniques bien inférieur à N, en dégradant très peu la qualité spatiale des signaux. Le volume de données à transmettre est donc réduit et ceci sans dégradation importante de la qualité audio de la scène sonore. Un autre avantage d'un codage selon l'invention est qu'un tel codage permet une adaptabilité aux différents types de systèmes de rendu sonores, quels que soient le nombre, la disposition et le type de haut-parleurs dont le système de rendu sonore est muni.
En effet, un décodeur recevant une séquence binaire comprenant Q composantes ambiophoniques opère sur celles-ci une transformation ambiophonique inverse d'ordre p' quelconque et correspondant au nombre Q' de haut-parleurs du système de rendu sonore auquel sont destinés les signaux une fois décodés.
Un codage tel qu'effectué par le codeur 1 permet d'ordonner les éléments à coder en fonction de leur apport respectif sur la qualité audio à l'aide du premier processus Prod et/ou en fonction de leur apport respectif sur la précision spatiale et le respect de la reproduction des directions contenus dans la scène sonore, à l'aide du deuxième processus Proc2.
Pour s'adapter aux contraintes de débit imposées, il suffit de tronquer la séquence des éléments de priorités inférieures disposés dans la séquence. Il est garanti qu'alors la meilleure qualité audio globale (quand le processus Prod est mis en œuvre) et/ou la meilleure précision spatiale (quand le processus Proc2 est mis en œuvre) est fournie. En effet l'ordonnancement des
éléments à été fait de façon à ce que les éléments qui apportent le moins à la qualité audio globale et/ou la précision spatiale soient mis à la fin de la séquence.
Les processus Prod et Proc 2 peuvent être mis en œuvre, suivant les modes de réalisations, en combinaison ou alors seuls, indépendamment l'un de l'autre pour définir une séquence binaire.
Claims
1. Procédé d'ordonnancement de composantes spectrales d'éléments à coder (Ai,..., AQ) provenant d'une scène audio comprenant N signaux
(Sii=i à N), avec N>1 , un élément à coder comportant des composantes spectrales se rapportant à des bandes spectrales respectives, caractérisé en ce qu'il comporte les étapes suivantes : calcul de l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en fonction d'un codage desdites composantes spectrales ; - attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.
2. Procédé selon la revendication 1 , caractérisé en ce que le calcul de l'influence d'une composante spectrale s'effectue selon les étapes : a- codage d'un premier ensemble de composantes spectrales d'éléments à coder selon un premier débit; b- détermination d'un premier rapport masque à bruit par bande spectrale; c- détermination d'un second débit inférieur au dit premier; d- suppression de ladite composante spectrale courante des éléments à coder et codage des composantes spectrales restantes des éléments à coder selon le second débit; e- détermination d'un second rapport masque à bruit par bande spectrale; f- calcul d'une variation de rapport masque à bruit en fonction des écarts déterminés entre les premier et second rapports masque à bruit pour le premier et le second débit par bande spectrale; g- itération des étapes d à f pour chacune des composantes spectrales de l'ensemble de composantes spectrales d'éléments à coder à ordonner et détermination d'une variation de rapport masque à bruit minimum; l'ordre de priorité attribué à la composante spectrale correspondant à la variation minimum étant un ordre de priorité minimum.
3. Procédé selon la revendication 2, caractérisé en ce que on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner restreint par suppression des composantes spectrales pour lesquelles un ordre de priorité a été attribué.
4. Procédé selon la revendication 2, caractérisé en ce que on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner dans lequel les composantes spectrales pour lesquelles un ordre de priorité a été attribué sont affectées d'un débit de quantification plus réduit lors de l'utilisation d'un quantificateur imbriqué.
5. Procédé selon l'une quelconque des revendications précédentes, selon lequel les éléments à coder comprennent les paramètres spectraux calculés pour les N signaux.
6. Procédé selon l'une quelconque des revendications précédentes, selon lequel les éléments à coder comprennent des éléments (A1 ,..., AQ) obtenus par transformation spatiale des paramètres spectraux calculés pour les N signaux.
7. Procédé selon la revendication 6, selon lequel la transformation spatiale est une transformation ambiophonique.
8. Procédé selon la revendication 6 ou 7, selon lequel on détermine les rapports masque à bruit en fonction des erreurs due au codage et relatives à des éléments à coder, d'une matrice de transformation spatiale et d'une matrice déterminée en fonction de la transposée de ladite matrice de transformation spatiale.
9. Procédé selon l'une quelconque des revendications précédentes et la revendication 6, certaines des composantes spectrales étant alors des paramètres spectraux de composantes ambiophoniques, ledit procédé comportant en outre les étapes suivantes : a. calcul de l'influence respective d'au moins certains desdits paramètres spectraux, sur un vecteur d'angle défini en fonction de vecteurs d'énergie et de vélocité associés à des critères de Gerzon et calculés en fonction d'une transformation ambiophonique inverse sur lesdits composantes ambiophoniques quantifiés; b. attribution d'un ordre de priorité (PrioO) à au moins un paramètre spectral en fonction de l'influence calculée pour ledit paramètre spectral comparé aux autres influences calculées.
10. Module d'ordonnancement (5) comprenant des moyens pour mettre en œuvre un procédé selon l'une des revendications précédentes.
11. Codeur audio (1 ) adapté pour coder une scène audio 3D comprenant N signaux respectifs en un flux binaire de sortie, avec N>1 , comprenant :
un module (3,4) de transformation adapté pour déterminer, en fonction des N signaux, des composantes spectrales se rapportant à des bandes spectrales respectives; un module (6) d'ordonnancement selon la revendication 10, adapté pour ordonner au moins certaines des composantes spectrales se rapportant à des bandes spectrales respectives; un module (8) de constitution d'une séquence binaire adapté pour constituer une séquence binaire comportant des données indiquant des composantes spectrales se rapportant à des bandes spectrales respectives en fonction de l'ordonnancement effectué par le module d'ordonnancement.
12. Programme d'ordinateur à installer dans un module d'ordonnancement (6), ledit programme comprenant des instructions pour mettre en œuvre les étapes d'un procédé selon l'une quelconque des revendications 1 à 9 lors d'une exécution du programme par des moyens de traitement dudit module.
13. Séquence binaire comportant des composantes spectrales se rapportant à des bandes spectrales respectives d'éléments à coder provenant d'une scène audio comprenant N signaux avec N>1 , caractérisé en ce que certaines au moins des composantes spectrales sont ordonnées selon un procédé d'ordonnancement conforme à l'une des revendications 1 à 9.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/597,771 US8488824B2 (en) | 2007-05-10 | 2008-04-16 | Audio encoding and decoding method and associated audio encoder, audio decoder and computer programs |
EP08788186A EP2145167B1 (fr) | 2007-05-10 | 2008-04-16 | Procédé de codage audio, codeur audio, signal codé et programme d'ordinateur associés |
CN200880022393.9A CN101730832B (zh) | 2007-05-10 | 2008-04-16 | 音频编解码方法及相编解码器和计算机程序 |
AT08788186T ATE538369T1 (de) | 2007-05-10 | 2008-04-16 | Audiokodierungsverfahren sowie entsprechendes audiokodierungsgerät, kodierten signal und computerprogramme dafür |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0703349A FR2916079A1 (fr) | 2007-05-10 | 2007-05-10 | Procede de codage et decodage audio, codeur audio, decodeur audio et programmes d'ordinateur associes |
FR0703349 | 2007-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2008145893A2 true WO2008145893A2 (fr) | 2008-12-04 |
WO2008145893A3 WO2008145893A3 (fr) | 2009-12-03 |
Family
ID=38858968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2008/050671 WO2008145893A2 (fr) | 2007-05-10 | 2008-04-16 | Procede de codage et decodage audio, codeur audio, decodeur audio et programmes d'ordinateur associes |
Country Status (6)
Country | Link |
---|---|
US (1) | US8488824B2 (fr) |
EP (1) | EP2145167B1 (fr) |
CN (1) | CN101730832B (fr) |
AT (1) | ATE538369T1 (fr) |
FR (1) | FR2916079A1 (fr) |
WO (1) | WO2008145893A2 (fr) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2688066A1 (fr) | 2012-07-16 | 2014-01-22 | Thomson Licensing | Procédé et appareil de codage de signaux audio HOA multicanaux pour la réduction du bruit, et procédé et appareil de décodage de signaux audio HOA multicanaux pour la réduction du bruit |
US9565314B2 (en) | 2012-09-27 | 2017-02-07 | Dolby Laboratories Licensing Corporation | Spatial multiplexing in a soundfield teleconferencing system |
US9685163B2 (en) * | 2013-03-01 | 2017-06-20 | Qualcomm Incorporated | Transforming spherical harmonic coefficients |
US10020000B2 (en) | 2014-01-03 | 2018-07-10 | Samsung Electronics Co., Ltd. | Method and apparatus for improved ambisonic decoding |
EP3090574B1 (fr) * | 2014-01-03 | 2019-06-26 | Samsung Electronics Co., Ltd. | Procédé et appareil de décodage ambiophonique amélioré |
US10405126B2 (en) | 2017-06-30 | 2019-09-03 | Qualcomm Incorporated | Mixed-order ambisonics (MOA) audio data for computer-mediated reality systems |
WO2021138517A1 (fr) | 2019-12-30 | 2021-07-08 | Comhear Inc. | Procédé pour fournir un champ sonore spatialisé |
US11743670B2 (en) | 2020-12-18 | 2023-08-29 | Qualcomm Incorporated | Correlation-based rendering with multiple distributed streams accounting for an occlusion for six degree of freedom applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023529A1 (fr) * | 2000-09-15 | 2002-03-21 | Telefonaktiebolaget Lm Ericsson | Codage et décodage de signaux multiplex |
FR2820573A1 (fr) * | 2001-02-02 | 2002-08-09 | France Telecom | Methode et dispositif de traitement d'une pluralite de flux binaires audio |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277765B1 (en) * | 2000-10-12 | 2007-10-02 | Bose Corporation | Interactive sound reproducing |
CA2437927A1 (fr) * | 2003-08-14 | 2005-02-14 | Ramesh Mantha | Codage adaptatif pour canal partage de transmission de donnees |
AU2004320207A1 (en) * | 2004-05-25 | 2005-12-08 | Huonlabs Pty Ltd | Audio apparatus and method |
WO2007098258A1 (fr) * | 2006-02-24 | 2007-08-30 | Neural Audio Corporation | Système et procédé de conditionnement pour un codec audio |
US8379868B2 (en) * | 2006-05-17 | 2013-02-19 | Creative Technology Ltd | Spatial audio coding based on universal spatial cues |
CN100458788C (zh) * | 2006-09-25 | 2009-02-04 | 北京搜狗科技发展有限公司 | 一种互联网音频文件的聚类方法、搜索方法及系统 |
-
2007
- 2007-05-10 FR FR0703349A patent/FR2916079A1/fr not_active Withdrawn
-
2008
- 2008-04-16 CN CN200880022393.9A patent/CN101730832B/zh active Active
- 2008-04-16 EP EP08788186A patent/EP2145167B1/fr active Active
- 2008-04-16 WO PCT/FR2008/050671 patent/WO2008145893A2/fr active Application Filing
- 2008-04-16 US US12/597,771 patent/US8488824B2/en active Active
- 2008-04-16 AT AT08788186T patent/ATE538369T1/de active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023529A1 (fr) * | 2000-09-15 | 2002-03-21 | Telefonaktiebolaget Lm Ericsson | Codage et décodage de signaux multiplex |
FR2820573A1 (fr) * | 2001-02-02 | 2002-08-09 | France Telecom | Methode et dispositif de traitement d'une pluralite de flux binaires audio |
Non-Patent Citations (2)
Title |
---|
"ISO/IEC 23003-1:2006/FDIS, MPEG Surround" GENEVA : ISO, CH, 21 juillet 2006 (2006-07-21), XP030014816 cité dans la demande * |
ADIL MOUHSSINE ET ABDELLATIF BENJELLOUN TOUIMI: "Structure de codage audio spatialisé à scalabilité hybride" CORESA'07, [Online] 8 novembre 2007 (2007-11-08), - 9 novembre 2007 (2007-11-09) XP002463627 Montpellier, France Extrait de l'Internet: URL:http://www.lirmm.fr/CORESA07/PDF/27.pdf> [extrait le 2008-01-07] * |
Also Published As
Publication number | Publication date |
---|---|
CN101730832B (zh) | 2014-05-28 |
EP2145167B1 (fr) | 2011-12-21 |
ATE538369T1 (de) | 2012-01-15 |
WO2008145893A3 (fr) | 2009-12-03 |
US8488824B2 (en) | 2013-07-16 |
EP2145167A2 (fr) | 2010-01-20 |
FR2916079A1 (fr) | 2008-11-14 |
CN101730832A (zh) | 2010-06-09 |
US20100305952A1 (en) | 2010-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2143102B1 (fr) | Procede de codage et decodage audio, codeur audio, decodeur audio et programmes d'ordinateur associes | |
EP2374123B1 (fr) | Codage perfectionne de signaux audionumeriques multicanaux | |
EP2145167B1 (fr) | Procédé de codage audio, codeur audio, signal codé et programme d'ordinateur associés | |
EP2002424B1 (fr) | Dispositif et procede de codage scalable d'un signal audio multi-canal selon une analyse en composante principale | |
EP1600042B1 (fr) | Procede de traitement de donnees sonores compressees, pour spatialisation | |
EP2374124B1 (fr) | Codage perfectionne de signaux audionumériques multicanaux | |
EP2168121B1 (fr) | Quantification apres transformation lineaire combinant les signaux audio d'une scene sonore, codeur associe | |
WO2007104882A1 (fr) | Dispositif et procede de codage par analyse en composante principale d'un signal audio multi-canal | |
FR2903562A1 (fr) | Spatialisation binaurale de donnees sonores encodees en compression. | |
EP3935629A1 (fr) | Codage audio spatialisé avec interpolation et quantification de rotations | |
FR3049084A1 (fr) | ||
EP2198425A1 (fr) | Procede, module et programme d'ordinateur avec quantification en fonction des vecteurs de gerzon | |
EP4042418B1 (fr) | Détermination de corrections à appliquer a un signal audio multicanal, codage et décodage associés | |
WO2023232823A1 (fr) | Titre: codage audio spatialisé avec adaptation d'un traitement de décorrélation | |
WO2022003275A1 (fr) | Codage optimise d'une information representative d'une image spatiale d'un signal audio multicanal | |
EP4268374A1 (fr) | Codage optimise de matrices de rotations pour le codage d'un signal audio multicanal | |
Karadimou | Multichannel Audio Modeling and Coding Using a Multiscale Source/Filter Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200880022393.9 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008788186 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12597771 Country of ref document: US |