FR3136099A1 - Codage audio spatialisé avec adaptation d’un traitement de décorrélation - Google Patents
Codage audio spatialisé avec adaptation d’un traitement de décorrélation Download PDFInfo
- Publication number
- FR3136099A1 FR3136099A1 FR2205172A FR2205172A FR3136099A1 FR 3136099 A1 FR3136099 A1 FR 3136099A1 FR 2205172 A FR2205172 A FR 2205172A FR 2205172 A FR2205172 A FR 2205172A FR 3136099 A1 FR3136099 A1 FR 3136099A1
- Authority
- FR
- France
- Prior art keywords
- current frame
- indication
- coding
- value
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 44
- 230000006978 adaptation Effects 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000004913 activation Effects 0.000 claims abstract description 13
- 230000005236 sound signal Effects 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 56
- 238000004590 computer program Methods 0.000 claims description 7
- 238000000513 principal component analysis Methods 0.000 description 26
- 230000009466 transformation Effects 0.000 description 17
- 238000013459 approach Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 238000011282 treatment Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 239000002775 capsule Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 101100189060 Arabidopsis thaliana PROC1 gene Proteins 0.000 description 1
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 1
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 1
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 1
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- RKTYLMNFRDHKIL-UHFFFAOYSA-N copper;5,10,15,20-tetraphenylporphyrin-22,24-diide Chemical compound [Cu+2].C1=CC(C(=C2C=CC([N-]2)=C(C=2C=CC=CC=2)C=2C=CC(N=2)=C(C=2C=CC=CC=2)C2=CC=C3[N-]2)C=2C=CC=CC=2)=NC1=C3C1=CC=CC=C1 RKTYLMNFRDHKIL-UHFFFAOYSA-N 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
Abstract
Codage audio spatialisé avec adaptation d’un traitement de décorrélation L’invention se rapporte à un procédé de codage de signaux sonores formant une succession dans le temps de trames (t-1, t) d’échantillons, dans chacun de n canaux en représentation ambisonique d’ordre supérieur à 0, le procédé comportant :- déterminer pour la trame courante à coder, la valeur d’une indication d’activation d’un traitement de décorrélation à appliquer aux signaux de la trame courante et coder cette valeur dans le train binaire;- dans le cas où la dite indication a une valeur positive, coder dans le train binaire des informations de traitement de décorrélation ;- générer un signal de sortie à coder dans le train binaire, en fonction du la dite indication dans la trame courante et la trame précédente. L’invention se rapporte également à un procédé de décodage correspondant ainsi qu’à des dispositifs de codage et de décodage mettant en œuvre les procédés de codage et de décodage respectifs. Figure de l’abrégé : Figure 3
Description
La présente invention concerne le codage/décodage de données sonores spatialisées, notamment en contexte ambiophonique (noté ci-après également « ambisonique »).
Les codeurs/décodeurs (ci-après appelés « codecs ») qui sont utilisés actuellement en téléphonie mobile sont mono (un seul canal de signal pour une restitution sur un seul haut-parleur). Le codec 3GPP EVS (pour « Enhanced Voice Services ») permet d’offrir une qualité « Super-HD » (aussi appelée voix « Haute Définition Plus » ou HD+) avec une bande audio en bande super-élargie (SWB pour « super-wideband » en anglais) pour des signaux échantillonnés à 32 ou 48 kHz ou pleine bande (FB pour « Fullband ») pour des signaux échantillonnés à 48 kHz ; la largeur de bande audio est de 14,4 à 16 kHz en mode SWB (de 9,6 à 128 kbit/s) et de 20 kHz en mode FB (de 16,4 à 128 kbit/s).
La prochaine évolution de qualité dans les services conversationnels proposés par les opérateurs devrait être constituée par les services immersifs, en utilisant des terminaux tels que des smartphones équipés de plusieurs microphones ou des équipements de conférence audio spatialisée ou de visioconférence de type télé-présence ou vidéo 360°, ou encore des équipements de partage de contenus audio « live », avec un rendu sonore spatialisé en 3D autrement plus immersif qu’une simple restitution stéréo 2D. Avec les usages de plus en plus répandus d’écoute sur téléphone mobile avec un casque audio et l’apparition d’équipements audio avancés (accessoires tels qu’un microphone 3D, assistants vocaux avec antennes acoustiques, casques de réalité virtuelle, etc.) la captation et le rendu de scènes sonores spatialisées sont désormais assez communes pour offrir une expérience de communication immersive.
A ce titre, la future norme 3GPP « IVAS » (pour « Immersive Voice And Audio Services ») propose l’extension du codec EVS à l’immersif en acceptant comme format d’entrée du codec au moins les formats de son spatialisé listés ci-dessous (et leurs combinaisons):
- Format multicanal (channel-based en anglais) de type stéréo ou 5.1, où chaque canal vient alimenter un haut-parleur (par exemple L et R en stéréo, ou L, R, Ls, Rs et C en 5.1) ;
- Format objet (object-based en anglais), où des objets sonores sont décrits comme un signal audio (en général mono) associé à des métadonnées décrivant les attributs de cet objet (position dans l’espace, largeur spatiale de la source, etc.),
- Format ambisonique (scene-based en anglais) qui décrit le champ sonore en un point donné, en général capté par un microphone sphérique ou synthétisé dans le domaine des harmoniques sphériques.
- Format multicanal (channel-based en anglais) de type stéréo ou 5.1, où chaque canal vient alimenter un haut-parleur (par exemple L et R en stéréo, ou L, R, Ls, Rs et C en 5.1) ;
- Format objet (object-based en anglais), où des objets sonores sont décrits comme un signal audio (en général mono) associé à des métadonnées décrivant les attributs de cet objet (position dans l’espace, largeur spatiale de la source, etc.),
- Format ambisonique (scene-based en anglais) qui décrit le champ sonore en un point donné, en général capté par un microphone sphérique ou synthétisé dans le domaine des harmoniques sphériques.
On s’intéresse ci-après typiquement au codage d’un son au format ambisonique, à titre d’exemple de réalisation (au moins certains aspects présentés en lien avec l’invention ci-après pouvant également s’appliquer à d’autres formats que de l’ambisonique).
L’ambisonique est une méthode d’enregistrement (« codage » au sens acoustique) de son spatialisé et de reproduction (« décodage » au sens acoustique). Un microphone ambisonique (à l’ordre 1) comprend au moins quatre capsules (typiquement de type cardioïde ou sous-cardioïde) arrangées sur une grille sphérique, par exemple les sommets d’un tétraèdre régulier. Les canaux audio associés à ces capsules s’appellent le « A-format ». Ce format est converti dans un « B-format », dans lequel le champ sonore est décomposé en quatre composantes (harmoniques sphériques) notées W, X, Y, Z, qui correspondent a quatre microphones virtuels coïncidents. La composante W correspond à une captation omnidirectionnelle du champ sonore alors que les composantes X, Y et Z, plus directives, sont assimilables a des microphones à gradients de pression orientés suivant les trois axes orthogonaux de l’espace. Un système ambisonique est un système flexible dans le sens où l’enregistrement et la restitution sont séparés et découplés. Il permet un décodage (au sens acoustique) sur une configuration quelconque de haut-parleurs (par exemple, binaural, son « surround » de type 5.1 ou périphonie (avec élévation) de type 7.1.4). L’approche ambisonique peut être généralisée à plus de quatre canaux en B-format et cette représentation généralisée est couramment nommée « HOA » (pour « Higher-Order Ambisonics »). Le fait de décomposer le son sur plus d’harmoniques sphériques améliore la précision spatiale de restitution lors d’un rendu sur haut-parleurs.
Un signal ambisonique à l’ordre M comprend K=(M+1)² composantes et, à l’ordre 1 (si M=1), on retrouve les quatre composantes, W, X, Y, et Z, qui est couramment appelé FOA (pour First-Order Ambisonics). Il existe aussi une variante dite « planaire » de l’ambisonique (W, X, Y) qui décompose le son défini dans un plan qui est en général le plan horizontal. Dans ce cas, le nombre de composantes est de K =2M+1 canaux. L’ambisonique d’ordre 1 (4 canaux : W, X, Y, Z), l’ambisonique d’ordre 1 planaire (3 canaux : W, X, Y), l’ambisonique d’ordre supérieur sont tous désignés ci-après par « ambisonique » indistinctement pour faciliter la lecture, les traitements présentés étant applicables indépendamment du type planaire ou non et du nombre de composantes ambisoniques.
Par la suite, on appellera « signal ambisonique » un signal en B-format à un ordre prédéterminé avec un certain nombre de composantes ambisoniques. Cela comprend également les cas hybrides, où par exemple à l’ordre 2 on ne dispose que de 8 canaux (au lieu de 9) – plus précisément, à l’ordre 2, on retrouve les 4 canaux de l’ordre 1 (W, X, Y, Z) auxquels on ajoute normalement 5 canaux (habituellement notés R, S, T, U, V), et on peut par exemple ignorer un des canaux d’ordre supérieur (par exemple R). Cela comprend aussi les cas où un signal ambisonique a subi des prétraitements pour le transformer en des canaux prétraités avant codage.
Les signaux à traiter par le codeur/décodeur se présentent comme des successions de blocs d’échantillons sonores appelés « trames » ou « sous-trames » ci-après.
En outre, ci-après, les notations mathématiques suivent la convention suivante :
- Scalaire : s ou N (minuscule pour les variables ou majuscule pour les constantes)
- Scalaire : s ou N (minuscule pour les variables ou majuscule pour les constantes)
- l’opérateur Re(.) désigne la partie réelle d’un nombre complexe
- Vecteur :u (minuscule, gras)
- Matrice :A (majuscule, gras)
- Vecteur :u (minuscule, gras)
- Matrice :A (majuscule, gras)
Les notationsA T etA H indique respectivement la transposition et la transposition hermitienne (transposée et conjuguée) deA.
- Un signal unidimensionnel à temps discret, s(i), défini sur un intervalle temporel i=0, …, L-1 de longueur L est représenté par un vecteur ligne
- Un signal unidimensionnel à temps discret, s(i), défini sur un intervalle temporel i=0, …, L-1 de longueur L est représenté par un vecteur ligne
On pourra aussi écrire :s= [s0,…, sL-1] pour éviter l’usage des parenthèses.
- Un signal multidimensionnel à temps discret,b(i), défini sur un intervalle temporel i=0, …, L-1 de longueur L et à K dimensions est représenté par une matrice de taille LxK:
.
.
On pourra aussi noter :B= [Bij], i=0,…K-1, j=0…L-1, pour éviter l’usage des parenthèses.
Par ailleurs, on ne rappelle pas ici les conventions connues de l’état de l’art en ambisonique concernant l’ordre des composantes ambisoniques (dont ACN pour « Ambisonic Channel Number », SID pour « Single Index Designation », FuMA pour « Furse-Malham ») et la normalisation des composantes ambisoniques (SN3D, N3D, maxN). Plus de détails peuvent être trouvés par exemple dans la ressource disponible en ligne : https://en.wikipedia.org/wiki/Ambisonic_data_exchange_formats
Par convention, la première composante d’un signal ambisonique correspond en général à la composante omnidirectionnelle W.
L’approche la plus simple pour coder un signal ambisonique consiste à utiliser un codeur mono et à l’appliquer séparément à chacun des canaux individuels avec éventuellement une allocation des bits différente selon les canaux. Cette approche est appelée ici « multi-mono ». On peut étendre l’approche multi-mono à du codage multi-stéréo (où des paires de canaux sont codées séparément par un codec stéréo) ou plus généralement à l’utilisation de plusieurs instances parallèles d’un même codec cœur. Le signal d’entrée est divisé en canaux (un canal mono ou plusieurs canaux). Ces canaux sont codés séparément en fonction d’une répartition et d’une allocation binaire prédéterminées. Au décodage les canaux décodés sont recombinés selon la convention du signal d’entrée.
La qualité du codage multi-mono ou multi-stéréo varie selon le codage et le décodage cœur utilisé, et elle n’est en général satisfaisante qu’à très haut débit. Par exemple, dans le cas multi-mono, le codage EVS peut être jugé quasi-transparent (d’un point de vue perceptif) à un débit d’au moins 48 kbit/s par canal (mono); ainsi pour un signal ambisonique à l’ordre 1 on obtient un débit minimal de 4x48 = 192 kbit/s. L’approche de codage multi-mono ne prenant pas en compte la corrélation entre canaux, elle produit des déformations spatiales avec l’ajout de différents artéfacts comme l’apparition de sources sonores fantômes, de bruits diffus ou de déplacements des trajectoires de sources sonores. Ainsi, le codage d’un signal ambisonique selon cette approche engendre des dégradations de la spatialisation.
Une approche alternative au codage séparé des canaux est donnée par le codage paramétrique comme le codage DiRAC décrit par exemple dans l’article V. Pulkki, Spatial sound reproduction with directional audio coding, Journal of the Audio Engineering Society, vol. 55, no. 6, pp. 503-516, 2007. Dans ce document, une analyse directionnelle du signal ambisonique est réalisée par trame et sous-bandes pour déterminer des directions de source (DoA). Les DoA sont complétées par des paramètres de « diffuseness », ce qui donne une description paramétrique de la scène sonore. Le signal d’entrée multicanal est codé sous la forme de canaux de downmix (typiquement un signal mono ou stéréo obtenu par réduction de multiples canaux captés) et des métadonnées spatiales (DoA et « diffuseness » par sous-bandes).
On s’intéresse dans l’invention à une autre approche particulière de codage ambisonique, décrite dans les publications suivantes :
- P. Mahé, S. Ragot, S. Marchand, "First-order ambisonic coding with quaternion-based interpolation of PCA rotation matrices," Proc. EAA Spatial Audio Signal Processing Symposium, Paris, France, Sept. 2019, pp. 7-12
- P. Mahé, S. Ragot, S. Marchand, "First-Order Ambisonic Coding with PCA Matrixing and Quaternion-Based Interpolation," Proc. DAFx, Birmingham, UK, Sept. 2019.
Cette approche, appelée par la suite codage par analyse en composantes principales ou simplement codage PCA (pour Principal Component Analysis) utilise la quantification et l’interpolation de matrices de rotations associées aux vecteurs propres d’une analyse PCA, comme décrit également dans la demande de brevet WO2020177981. La stratégie de ce type de codage ambisonique est de décorréler les canaux du signal ambisonique et de coder ensuite séparément les canaux transformés avec un codec cœur (par exemple multi-mono). Cette stratégie permet de limiter les artéfacts spatiaux dans le signal ambisonique décodé.
Dans cette approche, pour un signal ambisonique d’ordre 1, des matrices de rotation de taille 4x4 en 3D (issues d’une analyse PCA/KLT telle que décrite par exemple dans la demande de brevet suscitée) sont converties en paramètres, par exemple 6 angles d’Euler généralisés ou deux quaternions unitaires, qui sont codés.
Sans perte de généralité, on retient ici plus particulièrement le domaine des quaternions qui permet d’interpoler efficacement les matrices de transformation calculées pour l’analyse PCA/KLT ; les matrices de transformation étant des matrices de rotation, au décodage, l’opération de matriçage inverse s’effectue simplement en transposant la matrice appliquée au codage.
La illustre cette méthode de codage dans le cas où la représentation par quaternions est utilisée à la fois pour le codage et l’interpolation des matrices de rotation. Le codage se déroule en plusieurs étapes.
Le signal multicanal d’origineAde dimension KxL (soit K composantes de L échantillons temporels ou fréquentiels) est en entrée. Dans le bloc 100 on réalise une analyse PCA divisée en plusieurs étapes :
- Les signaux des canaux (par exemple W, Y, Z, X pour le cas FOA) sont supposés être sous une forme matricielle avec une matrice (pour canaux ambisoniques (ici 4) et échantillons par trame). On peut optionnellement pré-traiter ces canaux par exemple par un filtre passe-haut.
Une matrice de covariance du signal multicanalAest obtenue, par exemple comme suit :
C = A.A T à un facteur de normalisation près (dans le cas réel)
ou
C =Re(A.A H ) à un facteur de normalisation près (dans le cas complexe)
Des opérations de lissage temporel de la matrice de covariance peuvent être utilisées. Dans les cas d’un signal multicanal dans le domaine temporel, la covariance peut être estimée de façon récursive (échantillon par échantillon). On peut également diviser la trame en sous-trames et déterminer une matrice de covariance par sous-trames qui est ensuite lissée.
On note en particulier les éléments diagonaux deCsous la forme Cii, ils représentent l’énergie du i-ème canal d’entrée du traitement PCA.
- On applique une analyse en composantes principales PCA ou de façon équivalente une transformée de Karhunen-Loeve (KLT), avec une décomposition en valeurs propres de la matrice de covarianceC, pour obtenir des valeurs propres et une matrice de vecteurs propresU de sorte que
- La matrice de vecteurs propres initialeU, obtenue pour la trame courante t, subit des permutations signées pour qu’elle soit la plus alignée possible avec la matrice de même natureVde la trame précédente , afin d’assurer une cohérence maximale entre les matrices de transformation entre deux trames. On s’assure en outre que la matrice de vecteurs propres de la trame courante , ainsi corrigée par permutations signées, représente bien l’application d’une rotation.
Dans le bloc 110, la nouvelle matrice de vecteurs propresVpour la trame courante (qui est une matrice de rotation) est convertie dans un domaine approprié de paramètres de quantification. La matrice de valeurs propres correspondante est ici noté . On prend ici le cas d’une conversion en 2 quaternions unitaires pour une matrice 4x4 ; on aurait un seul quaternion unitaire pour une matrice 3x3 dans le cas ambisonique planaire.
En dimension 4 ( ), une matrice de rotationVpeut être paramétrée par le produit de deux quaternions unitaires et sous la forme matricielle :
où les quaternions sont et , avec par exemple :
Et
Inversement, étant donné une matrice de rotation 4x4, il est possible de retrouver un double quaternion associé ( , ) et les matrices correspondantes. Autrement dit, on peut factoriser cette matrice en un produit de matrices sous la forme , par exemple avec la méthode dite « factorisation de Cayley ». Cela implique en général de calculer une matrice intermédiaire appelée « matrice associée » (ou « transformée tétragonale ») et d’en déduire les quaternions à une indétermination près sur le signe des deux quaternions.
Ces paramètres , sont codés selon une méthode de codage de l’état de l’art (bloc 120) sur un nombre de bits alloués à la quantification de paramètres. Par exemple on pourrait utiliser 19 bits pour et 18 bits pour , ce qui donne un budget NQ=37 bits par trame.
La trame courante est découpée en sous-trames, dont le nombre ici est supposé fixe. La représentation par quaternions codés est interpolée (bloc 130) par sous-trames successives d’indice t’ depuis la fin de la trame précédente jusqu’à fin de la trame courante , afin de lisser dans le temps la différence entre matriçage inter-trames. Les quaternions interpolés dans chaque sous-trame sont convertis en matrices de rotation (t’) (bloc 140) puis on applique les matrices résultantes de rotation décodées et interpolées dans chaque sous-trame (bloc 150).
On obtient en sortie du bloc 150 une matrice représentant chacune des sous-trames des signaux des canaux ambisoniques pour décorréler ces signaux et obtenir le signal transforméB. Une allocation binaire aux canaux séparés est également effectuée (bloc 160) à partir du nombre de bits global auquel on retranche les NQbits utilisés dans le bloc 120.
La illustre le décodage correspondant. Les indices de quantification des paramètres de quantification de la matrice de rotation dans la trame courante sont dé-multiplexés (bloc 200) et décodés dans le bloc 230 selon une méthode de décodage correspondant au codage (bloc 120). Les canaux transformés sont également décodés (bloc 220), à partir de l’allocation binaire (bloc 210) identique au codeur (bloc 160).
Les étapes de conversion et d’interpolation (blocs 240, 250) du décodeur sont identiques à celles effectuées à l’encodeur (blocs 130 et 140).
Le bloc 260 applique par sous-trame le matriçage inverse issu du bloc 250 aux signaux décodés des canaux ambisoniques, en rappelant que l’inverse d’une matrice de rotation est sa transposée. On notera que le retard algorithmique lié au codage-décodage (blocs 170 et 220) doit être compensé en mémorisant de façon adéquate les valeurs de matriçage inverse.
Le codage ambisonique tel que réalisé aux figures 1 et 2 suppose que les canaux d’entrée sont (suffisamment) corrélés. En particulier il suppose que la décorrélation par le bloc 150 apporte un gain de codage ; de plus, il suppose que le matriçage est stable d’une trame à l’autre pour ne pas générer d’artéfacts audio au niveau du signal transforméB. On note également que le codage des métadonnées (bloc 120) utilise un débit typiquement de l’ordre de 2 kbit/s (par exemple 1.85 kbit/s quand NQ=37 bits par trame de 20 ms) qui est pris au budget de codage des canaux (blocs 160 et 170).
Cependant, pour certains signaux tels que des enregistrements d’applaudissement où le champ sonore est relativement diffus, le gain de décorrélation peut être faible. Pour des signaux instables spatialement, par exemple des sons percussifs dont la localisation alterne rapidement à chaque trame dans l’espace sonore, l’analyse PCA (bloc 100) peut conduire à une très forte variation du matriçage par . Dans ces deux cas, une utilisation constante de métadonnées pour représenter la transformation PCA s’avère peu pertinente.
La présente invention vient améliorer cette situation.
Elle propose à cet effet un procédé de codage de signaux sonores formant une succession dans le temps de trames (t-1, t) d’échantillons, dans chacun de n canaux en représentation ambisonique d’ordre supérieur à 0, le procédé comportant :
- déterminer pour la trame courante à coder, la valeur d’une indication d’activation d’un traitement de décorrélation à appliquer aux signaux de la trame courante et coder cette valeur dans le train binaire;
- dans le cas où la dite indication a une valeur positive, coder dans le train binaire des informations de traitement de décorrélation ;
- générer un signal de sortie à coder dans le train binaire, en fonction du la dite indication dans la trame courante et la trame précédente.
- déterminer pour la trame courante à coder, la valeur d’une indication d’activation d’un traitement de décorrélation à appliquer aux signaux de la trame courante et coder cette valeur dans le train binaire;
- dans le cas où la dite indication a une valeur positive, coder dans le train binaire des informations de traitement de décorrélation ;
- générer un signal de sortie à coder dans le train binaire, en fonction du la dite indication dans la trame courante et la trame précédente.
Ainsi, la présente invention permet d’adapter l’utilisation d’une décorrélation entre les n canaux en fonction des caractéristiques du signal d’entrée.
Dans un mode de réalisation, la détermination de la valeur de l’indication s’effectue selon au moins un critère de gain de codage de signaux avant et après traitement de décorrélation.
Ce critère permet ainsi de s’assurer que le traitement de décorrélation apporte un gain suffisant pour être activer.
Selon un mode particulier de réalisation, le gain de codage est défini par la valeur logarithmique suivante :
avec les énergies des canaux d’entrée du traitement de décorrélation et les valeurs propres des canaux d’entrée, la valeur de l’indication étant déterminée négative pour une valeur du gain G prédéfinie.
Dans un mode de réalisation, la détermination de la valeur de l’indication s’effectue selon un critère de distance inter-trame entre matrices de rotation appliquant le traitement de décorrélation.
Ainsi, selon la valeur de cette distance, on adapte la génération du signal à coder pour éviter de trop fortes variations de la matrice de transformation appliquant le traitement de décorrélation.
Selon un mode de réalisation particulier, dans lequel les matrices de rotation sont représentées en double quaternion, la distance inter-trame entre matrices de rotation s’exprimant à partir d’un produit scalaire entre les quaternions à la trame courante et ceux de la trame précédente.
Dans un mode de réalisation, la détermination de la valeur de l’indication s’effectue selon un critère de distance entre une matrice de rotation, appliquant le traitement de décorrélation, de la trame courante et la matrice identité.
Ainsi, là aussi, selon la valeur de cette distance, on adapte la génération du signal à coder pour éviter de trop fortes variations de la matrice de transformation appliquant le traitement de décorrélation par rapport à un codage direct de l’entrée.
Dans un mode de réalisation particulier, dans lequel les matrices de rotation sont représentées en double quaternion, la distance entre la une matrice de rotation de la trame courante et la matrice identité s’exprimant sous la forme d’un produit scalaire entre les quaternions à la trame courante et des quaternions unitaires.
L’invention s’applique à un procédé de décodage de signaux sonores formant une succession dans le temps de trames (t-1, t) d’échantillons, dans chacun de n canaux en représentation ambisonique d’ordre supérieur à 0, le procédé comportant :
- recevoir, pour une trame courante (t), en plus des signaux des n canaux de cette trame courante, une indication d’activation d’un traitement de décorrélation appliqué au signaux de la trame courante ;
- dans le cas où la dite indication a une valeur positive, décoder des informations de traitement de décorrélation reçues dans le train binaire;
- générer un signal de sortie, en fonction du la dite indication dans la trame courante et la trame précédente.
- recevoir, pour une trame courante (t), en plus des signaux des n canaux de cette trame courante, une indication d’activation d’un traitement de décorrélation appliqué au signaux de la trame courante ;
- dans le cas où la dite indication a une valeur positive, décoder des informations de traitement de décorrélation reçues dans le train binaire;
- générer un signal de sortie, en fonction du la dite indication dans la trame courante et la trame précédente.
Le procédé de décodage a les mêmes avantages que le procédé de codage correspondant.
La présente invention vise aussi un dispositif de codage comportant un circuit de traitement pour la mise en œuvre du procédé de codage présenté précédemment.
Elle vise aussi un dispositif de décodage comportant un circuit de traitement pour la mise en œuvre du procédé de décodage ci-avant.
Elle vise aussi un programme informatique comportant des instructions pour la mise en œuvre du procédé ci-avant, lorsque ces instructions sont exécutées par un processeur d’un circuit de traitement.
Elle vise aussi un support mémoire non-transitoire stockant les instructions d’un tel programme informatique.
D’autres avantages et caractéristiques et caractéristiques de l’invention apparaitront à la lecture d’exemples de réalisation présentés dans la description détaillée ci-après, et à l’examen des dessins annexés sur lesquels :
Sans perte de généralité le signal d’entrée est supposé être un signal ambisonique d’ordre 1 FOA au format ACN et selon la normalisation SN3D. Dans des variantes, le signal d’entrée pourra avoir subi des prétraitements, pour obtenir 4 canaux dérivés d’un signal ambisonique (FOA) original.
La illustre une méthode de codage selon l’invention où la décorrélation par PCA est appliquée de façon adaptive (PCA active ou non) dans chaque trame supposée ici de longueur 20 ms (par exemple L=960 échantillons à 48 kHz). On suppose que R bits sont alloués à la trame courante pour le codage, par exemple à 256 kbit/s on a R = 5120 bits. Dans des variantes, ce budget R pourra être diminué en fonction de bits déjà utilisés par d’éventuelles opération de prétraitement sur le signal avant codage par PCA.
La décision d’adaptation est donnée par le bloc 300 qui détermine la valeur d’une indication d’activation ou non d’un traitement de décorrélation (PCA) à appliquer à la trame courante, cette indication correspond àmode=ON (PCA active ou activée) ou OFF (PCA inactive ou désactivée). Les critères de décision seront décrits ultérieurement.
Le fonctionnement du codeur dépend du mode dans la trame courante d’indice t (mode) et celui de la trame précédente d’indice t-1 (prev_mode). Sans perte de généralité, on suppose qu’au démarrage du codeur, l’état initial de la trame précédente estprev_mode=OFF.
On distingue les 4 combinaisons possibles :
- Simode= ON etprev_mode= ON, on retrouve un fonctionnement identique à celui de la
Dans le bloc d’allocation 340, on prend en compte le fait que le codage par PCA utilise 1 bit pour indiquer le mode (ON) de la trame courante, NQbits pour coder les métadonnées et R-1-NQbits pour coder les canaux (bloc 170). - Simode= OFF etprev_mode= OFF, la décorrélation par PCA est « court-circuitée », la branche 1 est sélectionnée par le bloc de sélection 330. Le signal à coderBest identique au signal d’entréeA. Le bloc d’allocation 340 prend en compte le fait qu’on utilise 1 bit pour indiquer le mode (OFF) de la trame courante et R-1 bits pour coder les canaux (bloc 170). Par défaut, on fixe les vecteurs propres
- Simode= OFF etprev_mode= ON, on fixe les vecteurs propres
- Simode= ON etprev_mode= OFF, on réalise une interpolation (bloc 320) entre les valeurs courantes des quaternions codés
A l’issue du traitement de la trame précédente, les vecteurs propres et les quaternions codés et à la trame courante t sont mémorisés pour définir le nouvel état de la trame précédente t-1 avant de traiter la prochaine trame. La décision de mode (mode) de la trame courante t est également mémorisée pour définir le nouvel état (prev_mode) de la trame précédente t-1 avant de traiter la prochaine trame.
Le module de multiplexage 350 insère ainsi les données codées dans le train binaire selon l’allocation définie au bloc 340 et en fonction de l’indication d’activation déterminée pour la trame courante et pour la trame précédente.
On décrit maintenant des réalisations de l’interpolation (bloc 320). Ce bloc s’appuie sur les quaternions codés (t) et à la trame courante t et les quaternions codés (t-1) et à la trame précédente t-1. L’interpolation peut être mise en œuvre selon le pseudo code suivant où on utilise N sous-trames, par exemple N=40 :
- Détermination du chemin le plus court pour les quaternions :
d1 =
d2 =
si d1<0 et d2<0 ou (si d0<0 et si -d0>d1) ou (si d1<0 et si -d1>d0) :
- Interpolation par sous-trames des quaternions sur N sous-trames selon la méthode NLERP (pour Normalized linear interpolation) :
Pour t’ = 0 à N-1 :
Oùnormest l’opération de normalisation (à la norme unité) de quaternion qui correspond à une normalisation sur la sphère unité en dimension 4. Dans des variantes la définition de
Dans des variantes, d’autres interpolations de quaternions (ex : SLERP pour Spherical linear interpolation ou autre) sont possibles. La méthode NLERP est ici utilisée car elle est moins complexe et plus stable pour une précision numérique limitée.
- Conversion de
Ainsi cette interpolation conduit à des valeurs de matriçage constantes par morceaux avec une découpe régulière en N sous-trames.
Dans des variantes, d’autres méthodes d’interpolation seront possibles. Par exemple, il sera possible d’appliquer l’interpolation échantillon par échantillon au début de la trame (sur les N premiers échantillons) avant de conserver une valeur constante (t) et sur le reste de la trame (soit L-N échantillons) ; dans ce cas l’indice t’ ci-dessus correspond à l’indice de l’échantillon, la sous-trame comprend un seul échantillon.
Dans des variantes d’autres réalisations de l’interpolation sont possibles avec une découpe en sous-trames différente.
On décrit maintenant des exemples de réalisation du bloc de décision 300.
Dans un exemple de réalisation, la détermination de l’indication d’activation du traitement de décorrélation, utilise plusieurs critères avec des décisions par seuil :
- Gain de codage de la PCA
- Distance inter-trame entre matrices de rotation (qui peut se voir comme une mesure de stabilité spatiale)
- Distance entre la matrice de rotation dans la trame courante et une matrice identité
Les motivations des différents critères sont respectivement les suivantes :
- S’assurer que la décorrélation par PCA apporte un gain suffisant pour justifier son activation par rapport à un codage direct
- S’assurer que l’interpolation entre la matrice de rotation dans la trame courante et celle de la trame précédente n’occasionne pas de variations très fortes du matriçage dans le temps
- S’assurer que l’interpolation entre la matrice de rotation dans la trame courante et une éventuelle désactivation de la PCA n’occasionne pas de variations très fortes du matriçage dans le temps.
On donne ci-dessous des exemples de réalisation de ces critères de décision.
On reprend ici la définition du gain de codage pour une transformation PCA/KLT dans le cas d’une source gaussienne avec canaux :
Ce qui correspond au ratio entre la moyenne arithmétique et la moyenne géométrique des variances (énergies) des composantes à coder (dans le cas gaussien).
Selon l’invention on prend plutôt le ratio des moyennes géométriques entre les énergies des canaux d’entréeAau numérateur et les valeurs propres au dénominateur. Le gain exprimé en valeur logarithmique devient :
On suppose que les valeurs propres sont en ordre décroissant et positives. Le terme est par exemple fixé à pour conditionner le calcul du logarithme.
Le gainGcorrespond en fait à la somme (dans le domaine logarithmique) des gains de codage (ou décorrélation) entre les canaux individuels (séparés) pris avant et après PCA.
Dans des variantes, on pourra aussi normaliser les valeurs propres, dans ce cas le facteur de normalisation est également appliqué aux valeurs d’énergie .
On définit maintenant un exemple de critère de distance entre matrices. Dans le mode de réalisation privilégié, on s’appuie sur la représentation en double quaternion, et on détermine la distance angulaire par un produit scalaire entre les quaternions à la trame courante t et ceux de la trame précédente t-1:
P1 = .
P2 = .
La distance entre les matrices de rotations associées aux trames t et t-1 est évaluée comme :
minP=min(P1, P2)
De façon similaire, on peut définir la distance entre la matrice de rotation à la trame t et une matrice identité (représentée par les quaternions unitaires ) comme :
Et minP2 = min( )
Alors la décision (bloc 300) peut être réalisée dans un exemple comme suit :
lorsque l’indication d’activation est par défaut positive, c'est-à-dire telle quemode= ON, l’indication bascule en mode négatif telle quemode= OFF si le gain de codage G est inférieur à un seuil prédéfini, par exemple à 6 ou si la distance inter-trame entre matrice de rotation est inférieure à un seuil par exemple 0.8 ou encore si la distance entre la matrice de rotation de la trame courante et une matrice identité est inférieure à un seuil, par exemple 0.
On a alors :
Si G < 6
mode= OFF
Si minP < 0.8
mode= OFF
Si minP2 < 0
mode= OFF
Dans des variantes, les valeurs des seuils (respectivement 6, 0.8, 0) peuvent être différentes.
Dans des variantes l’indication d’activation est par défaut négative, c'est-à-dire telle quemode= OFF, et l’indication bascule en mode positif telle quemode= ON si tous les critères vérifient les conditions opposées à celles définies ci-dessus. Cela revient donc à simplement inverser la logique de décision pour le même résultat.
Dans d’autres variantes, au moins un des trois critères définis selon l’invention est utilisé, les autres peuvent ne pas être utilisés ou remplacés par d’autres critères.
On décrit maintenant des variantes des critères de décision.
Dans des variantes on pourrait prendre d’autres définitions des critères, par exemple le gain de codage pourrait être:
Ou
Dans des variantes, d’autres mesures de distance entre matrices de rotation peuvent être définies, par exemple une distance de Fröbenius ou une autre distance entre les matrices de rotation et .
Dans des variantes, le bloc de décision pourra réaliser une décision « en boucle fermée », cela revient à appliquer un traitement PCA pour les blocs 100 à 150 afin d’obtenir une version initiale du signal transforméBavant de confirmer que la décisionmodedans la trame courante d’indice t est ON. On peut dans ce cas remplacer les valeurs propres par les énergies respectives des canaux de la version initialeB. Si la décision est finalement à OFF, il faut alors remplacer la version initiale du signal transforméB.
Dans des variantes, où la décision en boucle fermée est utilisée, on pourra ajouter des critères de décision d’activation supplémentaires, comme la détection de valeur absolue maximale dans chaque canal individuel avant et après PCA (dansAetB), si cette valeur absolue (dans la trame courante) dans l’un des canaux deBdépasse celle du canal correspondant dans le signal d’entréeAle mode est mis à OFF dans la trame courante.
La illustre un décodeur mettant en œuvre le procédé de décodage selon un mode de réalisation de l’invention.
Le train binaire est démultiplexé en 400 et le décodeur 220 reçoit les canaux du signal multicanal à décoder selon une allocation binaire déterminé en 420.
Le module 410 reçoit l’indication d’activation d’un traitement de décorrélation pour la trame courante et applique les traitements de décodage et de transformation adaptés à cette indication, de la même façon que ceux effectués au codage.
En fonction de la valeur de l’indication de la trame précédente, on distingue les 4 combinaisons suivantes :
- Simode= ON etprev_mode= ON, on retrouve un fonctionnement identique à celui de la
Le module de décodage des informations de transformation reçues dans le train binaire est mis en œuvre par le bloc de connexion 430. Le bloc d’allocation 420 utilise les R-1-NQbits pour décoder les canaux en 220. Par défaut, on fixe les vecteurs propres - Simode= OFF etprev_mode= OFF, la décorrélation par PCA est « court-circuitée », la branche 1 est sélectionnée par le bloc de sélection 440. Le signal décodé
- Simode= OFF etprev_mode= ON, on fixe les vecteurs propres
- Simode= ON etprev_mode= OFF, on réalise une interpolation (bloc 430) entre les valeurs courantes des quaternions codés et les valeurs (par défaut) de la trame précédente de façon identique au bloc 320. Le module de sélection 440 active la branche 2, dans laquelle les signaux décodés sont transformés en 260 par une matrice issue de l’interpolation effectuée en 430. Le module de décodage 230 des données de transformation de la trame courante codées, est ici connecté par le module 430, car une transformation PCA et donc un traitement de décorrélation est bien appliqué pour cette trame courante. Le bloc d’allocation 420 utilise les R-1-NQbits pour décoder les canaux en 220.
On notera que le retard algorithmique lié au codage-décodage (blocs 170 et 220) doit être compensé en mémorisant les valeurs de matriçage inverse pour chaque sous-trame dans la trame courante ainsi que dans la trame précédente. Par exemple, lorsque le codage-décodage (blocs 170-220) est un codage EVS multi-mono on aura typiquement un retard de 12 ms à compenser. Si l’interpolation utilise N=40 sous-trames dans une trame de 20 ms (soit des sous-trames de 0.5 ms), il faudra donc utiliser une mémoire de 40+24=64 valeurs de matriçage (matrices 4x4) et le bloc 260 appliquera le matriçage décalé dans le temps de 24 sous-trames dans le passé.
A l’issue du traitement de la trame précédente, les vecteurs propres et les quaternions codés et à la trame courante t sont mémorisés pour définir le nouvel état de la trame précédente t-1 avant de traiter la prochaine trame. La décision de mode (mode) de la trame courante t est également mémorisée pour définir le nouvel état (prev_mode) de la trame précédente t-1 avant de traiter la prochaine trame.
On a illustré sur la un dispositif de codage DCOD et un dispositif de décodage DDEC, au sens de l’invention, ces dispositifs étant duals l’un de l’autre (dans le sens de « réversibles ») et reliés l’un à l’autre par un réseau de communication RES.
Le dispositif de codage DCOD comporte un circuit de traitement incluant typiquement :
- une mémoire MEM1 pour stocker des données d’instructions d’un programme informatique au sens de l’invention (ces instructions pouvant être réparties entre le codeur DCOD et le décodeur DDEC) ;
- une interface INT1 de réception de signaux ambisoniques répartis sur différents canaux (par exemple quatre canaux W, Y, Z, X à l’ordre 1) en vue de leur codage en compression au sens de l’invention ;
- un processeur PROC1 pour recevoir ces signaux et les traiter en exécutant les instructions de programme informatique que stocke la mémoire MEM1, en vue de leur codage ; et
- une interface de communication COM 1 pour transmettre les signaux codés via le réseau.
Le dispositif de décodage DDEC comporte un circuit de traitement propre, incluant typiquement :
- une mémoire MEM2 pour stocker des données d’instructions d’un programme informatique au sens de l’invention (ces instructions pouvant être réparties entre le codeur DCOD et le décodeur DDEC comme indiqué précédemment) ;
- une interface COM2 pour recevoir du réseau RES les signaux codés en vue de leur décodage en compression au sens de l’invention ;
- un processeur PROC2 pour traiter ces signaux en exécutant les instructions de programme informatique que stocke la mémoire MEM2, en vue de leur décodage ; et
- une interface de sortie INT2 pour délivrer les signaux décodés sous forme de canaux ambisoniques W’, Y’, Z’, X’, par exemple en vue de leur restitution.
Bien entendu, cette illustre un exemple d’une réalisation structurelle d’un codec (codeur ou décodeur) au sens de l’invention. Les figures 3 à 4 décrivent en détails des réalisations plutôt fonctionnelles de ces codecs.
Claims (11)
- Procédé de codage de signaux sonores formant une succession dans le temps de trames (t-1, t) d’échantillons, dans chacun de n canaux en représentation ambisonique d’ordre supérieur à 0, le procédé comportant :
- déterminer (300) pour la trame courante à coder, la valeur d’une indication d’activation d’un traitement de décorrélation à appliquer aux signaux de la trame courante et coder cette valeur dans le train binaire;
- dans le cas où la dite indication a une valeur positive, coder (310) dans le train binaire des informations de traitement de décorrélation ;
- générer (330) un signal de sortie à coder dans le train binaire, en fonction de la dite indication dans la trame courante et la trame précédente. - Procédé selon la revendication 1, dans lequel la détermination de la valeur de l’indication s’effectue selon au moins un critère de gain de codage de signaux avant et après traitement de décorrélation.
- Procédé selon la revendication 2, dans lequel le gain de codage est défini par la valeur logarithmique suivante :
- Procédé selon la revendication 1, dans lequel la détermination de la valeur de l’indication s’effectue selon un critère de distance inter-trame entre matrices de rotation appliquant le traitement de décorrélation.
- Procédé selon la revendication 4, dans lequel les matrices de rotation sont représentées en double quaternion, la distance inter-trame entre matrices de rotation s’exprimant à partir d’un produit scalaire entre les quaternions à la trame courante et ceux de la trame précédente.
- Procédé selon la revendication 1, dans lequel la détermination de la valeur de l’indication s’effectue selon un critère de distance entre une matrice de rotation, appliquant le traitement de décorrélation, de la trame courante et la matrice identité.
- Procédé selon la revendication 6, dans lequel les matrices de rotation sont représentées en double quaternion, la distance entre la une matrice de rotation de la trame courante et la matrice identité s’exprimant sous la forme d’un produit scalaire entre les quaternions à la trame courante et des quaternions unitaires.
- Procédé de décodage de signaux sonores formant une succession dans le temps de trames (t-1, t) d’échantillons, dans chacun de n canaux en représentation ambisonique d’ordre supérieur à 0, le procédé comportant :
- recevoir (410), pour une trame courante (t), en plus des signaux des n canaux de cette trame courante, une indication d’activation d’un traitement de décorrélation appliqué au signaux de la trame courante ;
- dans le cas où la dite indication a une valeur positive, décoder (430) des informations de traitement de décorrélation reçues dans le train binaire;
- générer (440) un signal de sortie, en fonction du la dite indication dans la trame courante et la trame précédente. - Dispositif de codage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de codage selon l’une des revendications 1 à 7.
- Dispositif de décodage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de décodage selon la revendication 8.
- Support de stockage, lisible par un processeur, mémorisant un programme informatique comportant des instructions pour l’exécution du procédé de codage selon l’une des revendications 1 à 7 ou du procédé de décodage selon la revendication 8.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2205172A FR3136099A1 (fr) | 2022-05-30 | 2022-05-30 | Codage audio spatialisé avec adaptation d’un traitement de décorrélation |
PCT/EP2023/064457 WO2023232823A1 (fr) | 2022-05-30 | 2023-05-30 | Titre: codage audio spatialisé avec adaptation d'un traitement de décorrélation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2205172A FR3136099A1 (fr) | 2022-05-30 | 2022-05-30 | Codage audio spatialisé avec adaptation d’un traitement de décorrélation |
FR2205172 | 2022-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3136099A1 true FR3136099A1 (fr) | 2023-12-01 |
Family
ID=82319882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2205172A Pending FR3136099A1 (fr) | 2022-05-30 | 2022-05-30 | Codage audio spatialisé avec adaptation d’un traitement de décorrélation |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3136099A1 (fr) |
WO (1) | WO2023232823A1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9431019B2 (en) * | 2010-08-25 | 2016-08-30 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus for decoding a signal comprising transients using a combining unit and a mixer |
WO2020177981A1 (fr) | 2019-03-05 | 2020-09-10 | Orange | Codage audio spatialisé avec interpolation et quantification de rotations |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9984693B2 (en) * | 2014-10-10 | 2018-05-29 | Qualcomm Incorporated | Signaling channels for scalable coding of higher order ambisonic audio data |
-
2022
- 2022-05-30 FR FR2205172A patent/FR3136099A1/fr active Pending
-
2023
- 2023-05-30 WO PCT/EP2023/064457 patent/WO2023232823A1/fr unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9431019B2 (en) * | 2010-08-25 | 2016-08-30 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus for decoding a signal comprising transients using a combining unit and a mixer |
WO2020177981A1 (fr) | 2019-03-05 | 2020-09-10 | Orange | Codage audio spatialisé avec interpolation et quantification de rotations |
Non-Patent Citations (5)
Title |
---|
JOURNAL OF THE AUDIO ENGINEERING SOCIETY, vol. 55, no. 6, 2007, pages 503 - 516 |
LAITINEN MIKKO-VILLE ET AL: "Reproducing Applause-Type Signals with Directional Audio Coding", JAES, AES, 60 EAST 42ND STREET, ROOM 2520 NEW YORK 10165-2520, USA, vol. 59, no. 1/2, 1 January 2011 (2011-01-01), pages 29 - 43, XP040567322 * |
MAHÉ PIERRE ET AL: "First-Order Ambisonic Coding with PCA Matrixing and Quaternion-Based Interpolation", PROCEEDINGS OF THE 22 ND INTERNATIONAL CONFERENCE ON DIGITAL AUDIO EFFECTS, 2 September 2019 (2019-09-02), pages 1 - 8, XP055835009, Retrieved from the Internet <URL:https://www.dafx.de/paper-archive/2019/DAFx2019_paper_15.pdf> [retrieved on 20210825] * |
P. MAHÉS. RAGOTS. MARCHAND: "First-Order Ambisonic Coding with PCA Matrixing and Quaternion-Based Interpolation", PROC. DAFX, BIRMINGHAM, UK, September 2019 (2019-09-01) |
P. MAHÉS. RAGOTS. MARCHAND: "First-order ambisonic coding with quaternion-based interpolation of PCA rotation matrices", PROC. EAA SPATIAL AUDIO SIGNAL PROCESSING SYMPOSIUM, PARIS, FRANCE, September 2019 (2019-09-01), pages 7 - 12 |
Also Published As
Publication number | Publication date |
---|---|
WO2023232823A1 (fr) | 2023-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2374123B1 (fr) | Codage perfectionne de signaux audionumeriques multicanaux | |
EP2374124B1 (fr) | Codage perfectionne de signaux audionumériques multicanaux | |
EP2002424B1 (fr) | Dispositif et procede de codage scalable d'un signal audio multi-canal selon une analyse en composante principale | |
EP3427260B1 (fr) | Codage et décodage optimisé d'informations de spatialisation pour le codage et le décodage paramétrique d'un signal audio multicanal | |
EP2304721B1 (fr) | Synthese spatiale de signaux audio multicanaux | |
EP2143102B1 (fr) | Procede de codage et decodage audio, codeur audio, decodeur audio et programmes d'ordinateur associes | |
WO2020177981A1 (fr) | Codage audio spatialisé avec interpolation et quantification de rotations | |
US10553223B2 (en) | Adaptive channel-reduction processing for encoding a multi-channel audio signal | |
US11765536B2 (en) | Representing spatial audio by means of an audio signal and associated metadata | |
FR3049084A1 (fr) | ||
FR3136099A1 (fr) | Codage audio spatialisé avec adaptation d’un traitement de décorrélation | |
Mahé et al. | First-order ambisonic coding with quaternion-based interpolation of PCA rotation matrices | |
JP7453997B2 (ja) | DirACベースの空間オーディオ符号化のためのパケット損失隠蔽 | |
EP4042418B1 (fr) | Détermination de corrections à appliquer a un signal audio multicanal, codage et décodage associés | |
FR3112015A1 (fr) | Codage optimisé d’une information représentative d’une image spatiale d’un signal audio multicanal | |
RU2807473C2 (ru) | Маскировка потерь пакетов для пространственного кодирования аудиоданных на основе dirac | |
FR3118266A1 (fr) | Codage optimisé de matrices de rotations pour le codage d’un signal audio multicanal | |
FR3132811A1 (fr) | Codage et décodage de coordonnées sphériques utilisant un dictionnaire de quantification sphérique optimisé | |
WO2009081002A1 (fr) | Traitement d'un flux audio 3d en fonction d'un niveau de presence de composantes spatiales | |
FR2990551A1 (fr) | Codage/decodage parametrique d'un signal audio multi-canal, en presence de sons transitoires |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20231201 |