Conversion entre domaines de sous-bandes pour bancs de filtres modulés
Domaine Technique
La présente concerne un traitement de données numériques en contexte de transcodage.
Elle concerne plus particulièrement une conversion entre domaines différents de sous-bandes, pour des bancs de filtres modulés.
Arrière-plan technique de l'invention
Le contexte de la présente invention peut être celui décrit dans les documents FR-0409820 et FR-0604507 qui proposent de fusionner les opérations de synthèse et d'analyse intervenant dans un schéma conventionnel de conversion. Ces documents décrivent aussi un contrôle paramétré du retard algorithmique créé par les deux bancs de filtres (de synthèse et d'analyse) placés en cascade. Les nouveaux schémas de conversion ainsi obtenus permettent alors une réduction du retard algorithmique ainsi qu'un meilleur parallélisme dans les traitements mis en œuvre. Le document FR-0409820 présente une conversion générale en contexte de transcodage et le document FR-0604507 présente en particulier une conversion dans le cas où les bancs de filtres (d'analyse ou de synthèse) sont susceptibles de varier dans le temps.
L'enseignement du document FR-0409820 est repris dans la publication postérieure : "Efficient Conversion Method ofi Subband Domain Représentations" , A. Benjelloun Touimi, A. Mouhssine, IEEE International Conférence on Multimedia and Expo (Proceedings), Amsterdam (Pays-bas), 6-8 juillet 2005.
L'enseignement du document FR-0604507 est repris dans la publication postérieure :
"Subband Domain data Conversion for Time-Varying Filter Banks", G. Picard, A. Benjelloun Touimi, International Symposium on Signal Processing and its Applications (Proceedings), Sharjah (Emirats Arabes Unis), 12-15 février 2007.
On s'intéresse ici aux cas particuliers des bancs de filtres modulés, tels que notamment les bancs de filtres modulés en cosinus. Ces cas sont prédominants en pratique. En effet, pour des applications de transcodage, les bancs de filtres utilisés en compression d'un signal audio et/ou vidéo sont quasiment tous de type modulé en cosinus.
Les bancs de filtres modulés en cosinus résultent de la modulation d'un filtre prototype par une matrice dont les termes s'expriment par des fonctions en cosinus. L'une de leurs caractéristiques, qui est classique et avantageuse, est la possibilité de dériver des schémas de mises en œuvre rapides à base de transformées à cosinus discret (DCT), voire aussi des transformées de Fourier rapides (FFT). Ces schémas profitent directement des algorithmes rapides existants pour ce type de transformées, ce qui permet de réduire la complexité des traitements. Cette possibilité s'avère particulièrement avantageuse dans le domaine de la compression du signal et elle est largement utilisée pour mettre en œuvre par exemple les transformées temps -fréquence s implémentées couramment dans les codeurs audio.
Bien entendu, d'autres types de bancs de filtres modulés (en sinus ou autre) peuvent présenter les mêmes avantages et l'invention ne se limite pas au cas particulier d'une modulation en cosinus uniquement.
Les schémas de conversion proposés dans les documents FR-0409820 et FR-0604507 ci-avant permettent une fusion des opérations de synthèse et d'analyse. Ils donnent donc une réduction de la complexité par rapport à un schéma de conversion conventionnel où les bancs de synthèse et d'analyse se suivent mais sont appliqués de façon séparée. Par ailleurs, cette réduction de complexité de traitement n'est plus garantie si l'on utilise des algorithmes rapides propres aux transformées DCT pour la mise en œuvre de la synthèse
et de l'analyse dans un schéma conventionnel.
La présente invention vient améliorer la situation.
Exposé de l'invention
Au sens de l'invention, il est proposé un traitement dérivé de ceux visés dans les documents FR-0409820 et FR-0604507 précités, mais tenant compte toutefois de la structure spécifique des filtres modulés, pour générer de nouveaux schémas de conversion dans ce type de bancs en cascade.
On cherche en particulier, au sens de l'invention, à isoler les matrices de modulation et à fusionner les opérations relatives aux filtres prototypes de synthèse et d'analyse.
En termes plus précis, la présente invention vise un procédé mis en œuvre par des ressources informatiques pour traiter des données par passage entre domaines différents de sous-bandes, consistant à compacter en un même traitement l'application d'un premier vecteur X(z) comportant un premier nombre L de composantes en sous-bandes respectives, à un banc de filtres de synthèse, puis à un banc de filtres d'analyse, pour obtenir un second vecteur Y(z) comportant un second nombre de composantes M en sous-bandes respectives.
Le procédé comporte les étapes suivantes, après détermination d'un troisième nombre K , plus petit commun multiple entre le premier nombre L et le second nombre M : a) si le troisième nombre K est différent du premier nombre L , mise en blocs par une conversion série/parallèle du premier vecteur pour obtenir p2 vecteurs composantes polyphasées, avec p2 = K/ L , b) application d'un filtrage matriciel choisi, impliquant une matrice de conversion, carrée et de dimensions 2K x 2K , auxdits p2 vecteurs composantes polyphasées
pour obtenir px vecteurs composantes polyphasées du second vecteur, avec
c) si le troisième nombre K est différent du second nombre M , mise en blocs par une conversion parallèle/série pour obtenir ledit second vecteur,
Au sens de l'invention, le banc de filtres de synthèse et le banc de filtres d'analyse mettent en œuvre des transformées à modulation et résultent chacun de la modulation d'un filtre prototype par une matrice de modulation, et en particulier :
- avant l'étape a), le premier vecteur X(z) est appliqué d'abord à la transposée de la matrice de modulation Dτ f du banc de filtres de synthèse,
- après l'étape c), le second vecteur Y(z) résulte de l'application de la matrice de modulation Ch du banc de filtres d'analyse.
La matrice de conversion T '(z) s'exprime alors en fonction :
* de 2M composantes polyphasées du filtre prototype du banc de filtres d'analyse, et
* de IL composantes polyphasées du filtre prototype du banc de filtres de synthèse.
Il convient de noter que le document US-2005/0018796 propose une méthode de conversion entre domaines de bancs de filtres modulés en cosinus. Toutefois, le traitement au sens de l'invention se distingue de l'enseignement de ce document notamment en ce que :
- le schéma général de traitement au sens de l'invention (figure 3), déjà, est différent de celui décrit dans ce document, - le traitement au sens de l'invention intègre implicitement une réduction maximale du retard algorithmique dans le schéma de conversion, puisque cette propriété découlait déjà des documents FR-0409820 et FR-0604507,
- le traitement au sens de l'invention gère aussi bien les cas particuliers où M et L sont multiples l'un de l'autre que le cas général où M et L sont quelconques.
Avantageusement, une structure au sens de l'invention permet d'utiliser des algorithmes rapides classiques pour les matrices de modulation et de chercher des structures de mises en œuvre efficaces pour le cœur où les opérations de synthèse/analyse sont fusionnées, l'objectif final étant, bien entendu, d'obtenir une réduction de complexité de traitement par rapport à un schéma conventionnel de conversion. La mise en œuvre de l'invention permet donc d'améliorer le procédé présenté dans les documents FR-0409820 et FR-0604507 tout en gardant les avantages de réduction de retard algorithmique et de parallélisme propres à l'enseignement de ces documents.
Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci- après, et des dessins annexés sur lesquels :
- la figure 1 illustre un banc de filtres d'analyse modulé en cosinus ;
- la figure 2 illustre un banc de filtres de synthèse modulé en cosinus ;
- la figure 3 représente schématiquement une structure pour une conversion entre domaines de sous-bandes, pour des bancs de filtres modulés, avec une isolation des matrices de modulation au sens de l'invention ;
- la figure 4 est une représentation du traitement de conversion de la figure 3 mis sous la forme d'un système linéaire périodiquement variant dans le temps (ou « LPTV » pour « Linear Periodically Time-Varying ») ;
- la figure 5 représente la mise en œuvre du traitement de conversion de la figure 4 dans le cas particulier M - pL ;
- la figure 6 représente la mise en œuvre du traitement de conversion de la figure 4 dans le cas particulier inverse L - pM ,
- la figure 7 illustre un filtrage avantageux par des sous-systèmes A'0(z) et A'2(z) dans le cadre d'une conversion MPEG- 1/2 Layer I & II vers Dolby AC-3 en fenêtre courte,
- la figure 8 illustre un filtrage avantageux par des sous-systèmes
dans le cadre de la conversion MPEG- 1/2 Layer I & II vers Dolby AC-3 en fenêtre courte,
- la figure 9 illustre des chaînes de concaténation avec entrelacement intervenant : * (A) : dans un sous-système de la figure 7 ou 8,
* (B) : dans un sous-système
de la figure 7 ou 8,
* l'architecture (C) étant équivalente à l'architecture (A),
- la figure 10 illustre une mise en œuvre avantageuse du cœur du système de conversion MPEG- 1/2 LI & II vers Dolby AC-3 en fenêtre courte, - la figure 11 illustre des systèmes de matrices de filtrage intervenant dans la mise en œuvre avantageuse de la conversion MPEG- 1/2 Layer I & II vers Dolby AC-3 en fenêtre longue,
- la figure 12 illustre des chaînes de retard à plusieurs canaux intervenant dans la mise en œuvre avantageuse de la conversion MPEG- 1/2 Layer I & II vers Dolby AC-3 en fenêtre longue, et
- la figure 13 illustre globalement la mise en œuvre avantageuse de la conversion MPEG- 1/2 Layer I & II vers Dolby AC-3 en fenêtre longue,
- la figure 14 représente à titre illustratif un exemple de sous-bloc de matrice de conversion comportant des portions d' anti- diagonale nulles, - les figures 15A à 15C illustrent schématiquement des étapes de construction de la matrice de conversion T '(z) respectivement dans les cas M=pL, L=pM et dans un cas général où il existe un plus petit commun multiple des entiers Met L,
- la figure 16A détaille le test T15 de la figure 15 A, et
- la figure 16B détaille le test T25 de la figure 15B.
Description de modes de réalisation
* Rappels sur les bancs de filtres modulés
On rappelle ci-après les formulations classiques des bancs de filtres modulés. Dans
l'exemple décrit les bancs de filtres sont modulés en cosinus.
Un résultat avantageux relatif aux techniques des bancs de filtres modulés en cosinus consiste en la possibilité de séparer une matrice de modulation des composantes polyphasées du filtre prototype. Cette technique est décrite notamment dans :
"Multirate Systems and Filters Banks ", P.P. Vaidyanathan, PTR Prentice Halls, Englewood Cliffs, New Jersey, 1992.
Elle est rappelée brièvement ci-après.
* Expression du banc de filtres d 'analyse
On note h(z) =
, le vecteur des M fonctions de transfert d'un banc de filtres d'analyse modulés en cosinus comportant M canaux. Par construction, la fonction de transfert du filtre d'analyse d'ordre k ( k = 0, ..., M -I ) s'écrit :
où hp(n) avec n - 0, ...,Nh -l est la réponse impulsionnelle du filtre prototype Hp(z) , de longueur Nh , du banc de filtres. On établit alors que :
où ck j avec k - 0,...,M -I et j - 0,...,2M -I sont les éléments de la matrice de modulation Ch définis par :
Les fonctions de transfert G} (z) avec j - 0, ..., 2M - 1 sont les composantes j -èmes de la décomposition polyphasées d'ordre 2M du filtre prototype Hp(z) et, par définition,
on a :
On en déduit alors que le vecteur h(z) se met sous la forme
Par ailleurs, on reprend la représentation polyphasée d'un banc de filtres à décimation maximale telle que :
où E(z) est la matrice polyphasée d'analyse.
En comparant les deux expressions du vecteur h(z) , on identifie
E(z) apparaît bien comme une matrice à 2M lignes pour M colonnes.
La partie analyse d'un banc de filtres à décimation maximale peut donc être représentée par le diagramme illustré sur la figure 1 montrant un banc de filtres d'analyse modulé en cosinus, où :
- x(z) est un signal d'entrée,
- z 1 est une avance temporelle,
- « i M » désigne un sous-échantillonnage (ou « décimation ») d'un facteur M,
- y j (z) désigne la composante d'ordre j du vecteur de sortie y du banc de filtres d'analyse.
* Expression du banc de filtres de synthèse
On établit de la même manière une équivalence entre l'expression polyphasée des bancs de filtres de synthèse avec une formulation utilisant une matrice de modulation.
On note alors f (z) = [F0 (z),Fι(z),...,
, le vecteur des L fonctions de transfert d'un banc de filtres de synthèse modulé en cosinus. Par construction, le filtre de synthèse d'ordre / est de la forme
où f Λή) avec n = 0,...,Nf -l est la réponse impulsionnelle du filtre prototype noté
Fp(z) .
On établit alors que :
où d, avec I - 0, ...,L -l et j - 0,...,2L -I sont les éléments de la matrice de modulation D7 définis par
Les fonctions de transfert K} (z) avec j - 0, ..., 2L -I sont les composantes y' -ème de la décomposition polyphasées d'ordre 2L du filtre prototype Fp(z) et, par définition,
on a :
On en déduit que le vecteur f (z) se met sous la forme : f{z) = {K0{-z2L),z-iKι{-z2L),...,z-(2L-V)K2L_ι{-z2L))O-f (11)
Par la suite, on reprend la représentation polyphasée d'un banc de filtres de synthèse à décimation maximale telle que : f (z) =
où R(z) est la matrice polyphasée de synthèse.
En comparant les deux expressions du vecteur ligne f (z) , il apparaît que :
ce qui correspond bien à une matrice de M lignes pour 2M colonnes.
La partie synthèse d'un banc de filtres à décimation maximale est représentée par le diagramme de la figure 2, où la notation « T L » désigne un sur-échantillonnage (ou « expansion ») d'un facteur L.
* Expression de la conversion entre domaines de sous-bandes
Dans une réalisation au sens de l'invention, la conversion consiste à passer d'un domaine de sous-bandes à un autre domaine de sous-bandes. On applique donc en cascade un banc de filtres de synthèse, puis un banc de filtres d'analyse.
Ainsi, de façon générale, les équations principales de la conversion entre domaines de sous-bandes pour un premier banc de filtres comportant L canaux et un second banc de
filtres comportant M canaux sont établies sous la forme : V(z) = T(z)U(z) , où la matrice de conversion T(z) est définie par :
T(z) = [v(z) ®g(z)|^ (13) avec K - ppcm(L,M) , et ce, selon l'enseignement du document précité FR-0409820.
La matrice de retard v(z) est de taille P1 X p2. Elle est définie par ses éléments :
Vιj (z) = zM-ι+ιM-jL i = 0, ..., A - 1 et j = Q,..., p2 -\ , avec K = PïM = p2L .
La sous-matrice de filtres g(z) est définie par g(z) =h(z)f(z) (14) où h(z) et f(z) désignent respectivement le vecteur colonne des M filtres d'analyse et le vecteur ligne des L filtres de synthèse. Les définitions et les notations des vecteurs de signaux :
sont celles introduites dans le document FR-0409820.
Compte tenu de l'expression obtenue du vecteur de filtres d'analyse (5) et du vecteur des filtres de synthèse (11), une nouvelle définition des éléments de la matrice de conversion T(z) peut alors être donnée, au sens de l'invention, par :
où la matrice g'(z) , de taille 2M x 2L , est définie par ses éléments g'k ,(z) tels que
avec £ = 0, ...,2M -l et / - 0, ...,2Z -I .
Ainsi, un sous-bloc At j (z) de la matrice de conversion T(z) se met sous une forme arrangée
On définit alors des matrices de fonctions de transfert telles que :
Selon un avantage que procure le traitement au sens de l'invention, il est possible alors de définir une expression At'J (z) à partir des sous-blocs AtJ (z) de la matrice de conversion telle que les deux matrices C h et D7 de modulation des bancs de filtres respectifs sont maintenant isolées.
Cette propriété permet avantageusement de conserver l'utilisation des algorithmes rapides de calcul de transformée DCT ou de transformée de Fourier rapide FFT pour effectuer une partie des opérations de la conversion entre domaines de sous-bandes, notamment la modulation par les matrices Ch et D7 .
La figure 3 donne le nouveau schéma de conversion pour les bancs de filtre modulés en cosinus où on note uy (z) et v'(z) les vecteurs de signaux modulés tels que,
La nouvelle matrice de conversion T'(z) est alors définie par :
et s'écrit aussi :
La figure 4 illustre, quant à elle, la mise en œuvre d'une conversion équivalente à celle illustrée sur la figure 3, sous la forme d'un système linéaire périodiquement variant dans le temps ou « LPTV », comme décrit dans le document FR-0409820.
Dans la réalisation illustrée sur la figures 3, comme dans la réalisation illustrée sur la figure 4, la mise en œuvre au sens de l'invention se différencie de celle proposée dans les documents FR-0409820 et FR-0604507 par le fait qu'une partie des calculs (notamment
les modulations par les matrices D^ et Ch ) est réalisée en entrée et en sortie du système et directement sur les signaux en sous-bandes avant les commutateurs (bascules de la figure 4).
* Expressions des sous-blocs de matrice
La fonction de transfert Gk m(z) est la composante m-ième de la décomposition polyphasée d'ordre pγ de la composante Gk(z) telle que :
Gk m(z) représente aussi la composante numéro 2mM + k de la décomposition polyphasée d'ordre 2K du filtre prototype H p(z) .
La fonction de transfert Kl r(z) est la composante r-ième de la décomposition polyphasée d'ordre p2 de K1(Z) telle que :
K1 r (z) représente aussi la composante numéro IrL + 1 de la décomposition polyphasée d'ordre 2K du filtre prototype Fp(z) .
Un élément d'indice (k,l) du sous-bloc A' y (z) s'écrit alors :
Dans cette expression (24), on définit alors un paramètre important dans l'exposé ci-après. Il s'agit de la variable de retard
qui s'écrit ainsi :
où z' = 0,...,/J1 -I , j = 0,..., p2 -l , m = 0,...,P1 -I et r = O,...,p2 -\ .
En effet, cette dernière expression (24) des éléments de Ah'j (z) est intéressante dans la mesure où il apparait l'opérateur :
qui se comporte soit comme un opérateur de retard simple, soit comme un coupe-circuit, d'après la propriété suivante :
On étudie donc ci-après les variations de l'expression pour identifier ses
valeurs lorsqu'elles sont des multiples de K et ainsi déterminer les seuls éléments non nuls dans la somme de l'équation (24), lorsqu'ils existent. Cette étude permettra alors de définir les propriétés de simplicité (en termes de nombre d'éléments nuls) de la matrice
et de donner de manière explicite et simplifiée les expressions de ses éléments non nuls.
Pour une plus grande clarté de l'exposé et dans un but didactique, il est décrit d'abord les cas particuliers où les variables Met L sont multiples l'une de l'autre, ce qui permet de simplifier l'expression , comme on le verra ci-après.
* Cas particulier où M — pL
La figure 5 représente la mise en œuvre du traitement de conversion (variant dans le temps en tant que système LPTV dans l'exemple représenté) dans le cas particulier où M = pL .
Dans ce cas particulier, les équations de la conversion au cœur du système, avec ici
P1=I et p2= p , se mettent sous la forme :
où on note v'(z) le vecteur signal modulé tel que Y(z) =CAv'(z), où le sous-bloc de filtres
est défini par ses éléments d'indice (k,l) tels que :
La variable de retard notée précédemment
ne dépend donc plus que de quatre indices et s'écrit :
avec j = Q,...,p-l, r = Q,...,p-l, k = 0,...,2M-l et /-0,...,2Z-I
Ci-après, on cherche à identifier les indices (j,r,k,l) pour lesquels les valeurs du retard
sont des multiples de M , dans la recherche des éléments de matrice non nuls de chaque sous-bloc
On définit en particulier un indice de portion d' anti- diagonale de la matrice , noté
u = k + l , avec 0≤u≤2(M + L-1). La variable de retard s'écrit alors :
On rappelle en outre que l'indice j désigne l'indice d'un sous-bloc parmi p
sous-blocs et caractérise donc un sous-bloc général A^ (z) . Ainsi, pour tout indice j fixé, les variations du retard sont limitées comme suit :
-3M-jL + l≤εr J(u)≤M-jL-l
L'indice r varie aussi. Il s'agit d'un indice de la sommation qui apparaît à partir de la décomposition polyphasée selon la relation (28). Toutefois, en le fixant, il est possible de déterminer les termes de cette somme qui sont non nuls, comme suit (en notant aussi que, quand j et r sont fixés, la variable u représentant l'indice de diagonale dans la relation (30) devient le seul degré de liberté du retard
.
On montre que, pour tout j - 0, ..., p - 1 et r - 0, ..., p - 1 fixés : ε3 (u) est multiple de M tel que ε3 (u) - nM , si et seulement si u = aL - 1 (31) avec a=(l-n)p - (j + 2r) , où l ≤ a ≤ 2p + l et n e V (r) , V (r) étant un intervalle de Z défini par :
I3 (32)
II est donc possible de donner une expression de l'opérateur de la forme :
où wa (j, r; n) - (\- ή)M - (j + 2r)L - 1 et δu (x) (symbole de Kronecker) tel que :
Ainsi, pour j et r fixés, d'après la relation (32), l'entier relatif n ne peut prendre que les valeurs comprises dans l'intervalle V (r) . Par exemple, si V (r) = {-1, 0} , on a :
et les indices de diagonale u non
nulle à identifier sont alors :
uk (j,r;-l) = 2M - (j + 2r)L -l et uk (j,r;0) = M - (j + 2r)L -l
On remarquera en particulier que si u = 2M - (j + Ir)L - 1 , alors
Si on utilise l'indice u = k + l de numérotation des 2(M + L -Y) portions d' anti- diagonale dans l'expression (28) des sous-blocs A^ (z) de la matrice de conversion, on obtient alors :
Ainsi, en termes plus génériques, on considère chaque portion d' anti-diagonale d'indice u = k + l d'un sous-bloc d'éléments de matrice . Si une valeur donnée
de cet indice u ne vérifie pas la condition (31) énoncée ci-avant (u = aL -l), tous les éléments de la portion d' anti-diagonale ayant cette valeur d'indice u sont nuls. Il s'agit là d'une première condition notée Cl.
On a illustré sur la figure 14 l'allure d'un sous-bloc A^ (z) d'éléments aM où, à titre d'exemple purement illustratif, seules les portions d' anti-diagonales dont les indices u = k + l valant 3, 7 et 11 sont non nulles. On remarque bien qu'il s'agit de portions d' anti- diagonale s complètes où les éléments du sous-bloc A^ (z) sont nuls. Comme on le verra aussi dans les autres cas L =pM et K - ppcm(L,M) ci-après, on retrouve encore des propriétés similaires de portions d' anti-diagonales nulles. Dans la suite de l'exposé, on indiquera, par abus de langage, que l'indice u est un « indice de diagonale » et on parlera de « diagonales nulles » pour désigner en réalité des portions d' anti- diagonale s nulles comme illustré sur la figure 14.
D'autres conditions portent encore sur ces « diagonales » pour qu'elles soient non nulles.
En effet, parmi les diagonales susceptibles de comporter des éléments non nuls (donc pour les valeurs de l'indice u vérifiant déjà u = aL -\ ), on distingue en particulier deux situations différentes selon la parité de l'entier p .
On montre en effet que, pour tout j - 0, ...,p - 1 fixé et deux couples d'entiers (r, n) et (r',n ) tels que εr J (u) - nM et εr J,(u) - n'M avec r ≤ r' :
• si p est un entier impair, alors nécessairement r = r' et n = n' . ;
• si p est un entier pair tel que p - 2p' alors nécessairement r' - r + p' et ri = n -l .
Par ailleurs, lorsque l'entier /? est pair avec p - 2p' , seules les diagonales d'indices u = aL - 1 où (a + j) est un entier pair sont susceptibles de comporter des éléments non nuls. Il s'agit là d'une deuxième condition notée C2 associée au cas p - 2p' .
Lorsque l'entier p est impair avec p - 2p' + l , seules les diagonales d'indices u = aL - l où (n -ï) + a + j est un entier pair sont susceptibles de comporter des éléments non nuls. On rappelle que l'entier relatif n appartient à l'intervalle V (r) défini ci-avant. Il s'agit là d'une deuxième condition notée C'2, équivalente en réalité à la condition C2 ci-avant mais associée au cas p - 2p + 1 . En effet, cette condition C'2 porte directement sur la parité du terme (a + j) lorsque ce dernier appartient à un intervalle bien identifié parmi différents intervalles successifs comme explicitée dans le tableau I ci-après.
Ce tableau I exprime les éléments des diagonales qui sont non nulles, donné pour le cas M - pL , en gardant à l'esprit que O ≤ r ≤ p' -1 pour respecter les deux solutions possibles (r,n) et (r + p',n -l) (cas p - 2p ). Dans ce tableau I, la notation « x e 2D » signifie que l'élément x est un entier relatif pair (positif ou négatif), et « x e 2D +1 », que l'élément x est impair (positif ou négatif).
Les autres éléments du sous-bloc A^ (z) sont nuls. On rappelle que le terme « éléments de matrice » dans les sous-blocs vise des fonctions de transfert.
* Cas particulier où L = pM
La figure 6 représente la mise en œuvre du traitement de conversion dans le cas particulier où L = pM dans un contexte de bancs de filtres variant dans le temps (système LPTV).
Ici, la variable de retard s'écrit :
où u est l'indice de diagonale comme défini précédemment u=k + l et tel que 0<u≤2(L + M-Y).
II apparaît alors des propriétés similaires à celles présentées pour le cas particulier précédent où M = pL.
En effet, selon une première condition Cl, pour tout i = 0,...,p-l et pour tout m = 0,...,p-l, fixés:
avec a=i-2m-np + l, où l≤a≤2p + l, et ne V (m), V (m) étant un intervalle de Z défini par :
Par ailleurs, pour i = 0,...,p-l fixé, les deux couples d'entiers (m,n) et (m1, ri) tels que
sont définis comme suit :
• si p est un entier impair, alors nécessairement m = rri et n = ri ,
• si p est un entier pair tel que p = 2p , alors m =m + p' et ri = n - 1.
Enfin, selon une deuxième condition C2 ou C'2, pour i = 0,...,p -l et a = l,..., 2p + l fixés, l'égalité , admet une solution si et seulement si,
• si p est pair, (i- a) est impair.
• si p est impair, (n + a -i) est impair.
Donc : si p = 1p alors (oc -i) doit être impair pour qu'il existe des diagonales non nulles, selon la condition C2, et si p = 2p' + l , alors (n + a -i) doit être impair pour que les éléments des diagonales restantes soient non nuls, et la condition C'2 porte ainsi sur la parité du terme (a -i) , selon son intervalle d'appartenance.
Les expressions non nulles des éléments d'un sous-bloc A'(z) vérifiant les trois conditions possibles Cl, C2 (et de manière équivalente C'2) sont alors données dans le tableau II ci-après.
* Etude du cas général où K = ppcm(L,M)
On s'intéresse à l'étude de la fonction du retard selon son expression générale :
et à la détection des conditions sur six entiers i, j, r, m,k,l , conditions pour lesquelles
On rappelle que K = ppcm(L,M) = pγM = p2L , la notation « ppcm » désignant le plus petit multiple commun de L et M, et on définit alors un entier D tel que D = pgcd(L,M) , la notation "pgcd" désignant le plus grand diviseur commun de L et
M
On a alors la propriété suivante M - p2D et L- p1D , p1 et p2 étant premiers entre eux.
On note encore u l'indice de diagonale tel que u-k + l . Les indices de lignes k et de colonnes / sont tels que 0 ≤ k ≤ 2M -1 et 0≤l≤2L-l. Ainsi, l'indice u est tel que 0<u≤2(M + L-l).
On montre alors que : - pour tout i et tout m tels que 0 ≤ i, m ≤ P1 - 1 ,
- pour tout j et tout r tels que 0<j,r≤p2-l, on a, selon une première condition Cl :
avec αεZ tel que : a = (l-npι-(2m-i))p2-(2r + j)pι où l≤ a ≤ 2{pγ + p2)-l
De plus, pour i et j fixés, les valeurs entières de n admissibles sont telles que «mn ≤ «mn (U j)≤n≤ nmax (U j) ≤ 0 , où on note :
«mn (U j) = -4 + [(/ + IVp1 - JIp2 + Vp1P2 ] , «πim=-5+[l/A + Vp2 + Vp1P2 ] H^(Uj)=[Q-+ I)Ip1- JIp2] la notation [je] désignant la partie entière de x . On montre aussi que :
- pour i et m fixés tels que 0 ≤ i, m ≤ pγ - 1 ,
- pourj et r fixés tels que 0<j,r≤p2-l
avec: a-{l-np1-(2m-i))p2-(2r + j)p1 où l≤α ≤2(/?1 +p2)-l
Les bornes de l'intervalle nimn (i, j,r, m) et nmiiX(i,j,r,m) sont déterminées par
Une autre condition porte sur la fonction du retard. Quand i, j sont fixés et pour un indice de diagonale déterminé par le terme a , on cherche à déterminer la condition sur les indices r et m qui conduisent à des valeurs entières nK .
En effet, pour i,j et a fixés, on suppose l'existence de deux triplets d'entiers (n,m,r) et (n',m',r') qui vérifient les égalités
, et on établit alors des propriétés sur les deux triplets (n,m,r) et (n',m',rf) qui sont utiles pour le développement d'une expression simplifiée des éléments de
. En effet, en fixant :
- une valeur de l'indice de diagonale u tel que (avec
U = CiD - I ), on montre que pour deux triplets d'entiers (n,m,r) et (n',m',r') tels que
et
(avec r ≤ r' et m ≤ m' ) :
• si P1P2 est impair alors nécessairement n = ri , m = m' et r = r' , mais
• si P1P2 est pair et : o si P1 = 2p\ est pair tandis que p2 est impair, alors n = n - 1 , m = m + p\ et r = / , et o si p2 = 2p'2 est pair tandis que pγ est impair, alors n' = n - 1 , m' = m et r' = r + p'2 .
On rappelle que pγ et /?2 sont premiers entre eux et ne peuvent donc pas être pairs tous les deux à la fois.
Une autre condition C2 porte sur les indices de diagonale où la fonction de retard prend une valeur entière, quand A A> est pair, selon la parité des entiers pγ et p2 . En effet, en fixant i <≡ Dθ, P1 - lD et y <≡ Dθ, P2 -IU , pour tout m <≡ Dθ, pγ - lD et pour tout r <≡ Dθ, p2 - lD, on montre les conditions suivantes sur le paramètre a :
• si P1 = 2p\ et p2 est impair, alors (i-a) est impair,
• si p2 - Ip' 2 et P1 est impair, alors (j + a) est pair.
Une autre condition porte sur les bornes de l'entier relatif n. En effet, en fixant / e Dθ, P1 - lD , y <≡ Dθ, /^2 - lD et « <≡ Ql, 2( A + p2 ) - lQ , on montre que les valeurs de n telles que εm ι J r (uj) = nK vérifient l'inégalité : N101n (i, j;a) ≤ n ≤ Nmax (i, j; a) , où les bornes entières N ^iJ; a) et NmiiX(i,j;a) sont déterminées par :
Nmn (i, y; α) = -4 + [2(Pl + p2 )lPιp2 + B(i, f,a)lPιp2 ] , Nmax (i, j; a) - [B (i, f,a)lPιp2 ] et on note B(i, j; a) tel que : B(i, j; a) - (i + \)p2 - Jp1 - a.
Ainsi, pour le cas général K - ppcm(M,L) , une expression de l'opérateur de retard est donnée par :
avec Ma (i, j, m, r; n) = ((I - npx - (2m - i))p2 - (2r + y) A )D -1 Pour un quadruplet (i,j,m,r) fixé, l'intervalle Vm J r est alors complètement défini. Par exemple si n0 et nγ sont les deux seuls entiers compris dans V^1, , alors
Dès lors, seul l'indice de diagonale peut varier dans cette égalité. L'utilisation du symbole de Kronecker δu permet justement de détecter les positions des diagonales qui sont les solutions associées aux deux valeurs admissibles n0 et nγ .
De ce fait, il est possible de construire des sous-blocs A' } (z) à partir de l'expression générale suivante :
Ainsi, les éléments de sous-blocs, dans le cas général K = ppcm{M ,L) , peuvent être déterminés comme suit.
On fixe i et j (numéros du sous-système) et les indices matriciels u de diagonale et / de numéro de colonne. Pour tout indice, m - 0,...,P1 -1 et pour tout r - 0,...,p2 -\ : on détermine les deux bornes de l'ensemble ,
- on détermine les solutions u* (i,j,m,r\ή) pour chaque valeur entière admissible, comprise dans l'intervalle
,
- quand l'indice de diagonal est tel que u =u* (i,j,m,r;n) alors, on évalue le terme : (-ï)m+rznGk>m ((-ï)Λ z2)κι>r ((-ï)p* z2)
On incrémente ensuite l'indice r puis l'indice m et on ajoute les termes identifiés non nuls dans les doubles sommations sur m et r de l'expression (41).
Les expressions non nulles des éléments de sous-blocs sont données dans le
tableau III ci-après, pour 1 - 0, ..., P1 -I , j - 0, ...,p2 -1 . Les autres éléments de diagonales sont nuls.
A titre d'exemple illustratif, en considérant des cas pratiques d'application de la conversion entre domaines de sous-bandes pour le cas par exemple du transcodage entre un codage normalisé G.722.1 et un codage normalisé MPEG-2/4 AAC, on a, selon la condition (39) :
• en fenêtre courte, pγ = 2 et p2 = 5 , de sorte que nmn = -5 ,
• en fenêtre longue, pγ = 16 et p2 = 5 , de sorte que nmn = -5 .
Pour le cas du transcodage entre un codage G.722.1 et un codage Dolby AC-3, on a :
• en fenêtre courte, pγ = 2 et p2 = 5 , de sorte que nmn = -5 , et
• en fenêtre longue, pγ = 4 et p2 = 5 , de sorte que H101n = -5 , encore.
Ainsi, dans ces deux cas d'application de transcodage, les valeurs de n admissibles sont toujours comprises dans l'intervalle entier
II convient de noter que les expressions précises des éléments de matrice
peuvent s'exprimer aussi en fonction des composantes polyphasées directes des filtres prototypes. Par exemple dans le cas M = pL , en notant 5'0(z),...,5'2M_1(z) les 2M composantes de la décomposition polyphasée d'ordre 2M de type 1 du filtre prototype de synthèse Fp (z) ,
avec
puisque K = M = pL , on a ici KI r(z) = S2rL+ι (z) , pour tout / = 0, ..., 2L - 1 et pour tout r = 0, ...,p -l . Les éléments d'un sous-blocs sont alors donnés par :
- où nh est tel que Nh - 2nhM , - les valeurs des indices r et n étant déterminées par celles fixées de l'indice j et de l'indice u de diagonale tel que r = ((I - n)p - (a + j))l2 , avec u - aL -l ;
- où S représentent les composantes polyphasées d'ordre M (et
non plus 2M ) de type 1 du filtre prototype Fp (z) , - les valeurs des indices r et n étant encore déterminées par celles fixées de l'indice de sous-bloc j et de l'indice de diagonale u tels que : 0 < r = (l-n)p' - (a + j)/2 ≤ p' -l .
De même, pour le cas L = pM , à partir des 2L composantes (notées R0(Z), ...,R21-1(Z) ) de la décomposition polyphasée d'ordre 2L de type 1 du filtre prototype d'analyse
Hp(z) , avec :
où l'entier nh est tel que Nh - 2nhL , puisque K - L - pM ici, on a : Gk,m (z) ~ R≥mM+k (z) pour tout £ = 0, ...,2M -l et pour tout m = 0,...,/? -l , et le calcul des éléments de sous-blocs A'(z) est déterminé par les relations suivantes :
- (A[(z))ur K1^z2X-IT R^^ i-z^z" (46)
- où nf tel que N7 = 2nfL ,
- les valeurs de m et n sont déterminées par ceux de l'indice i du sous-système et l'indice u de la diagonale tel que m = ((I - n)p + (i + 1 - α))/2 , et - (A[(z))ur K1C-Z2X-Ir R2'mM+u_ι ((-iy'z)zn (47)
- où R0' (z), ..., R^1 1(Z) représentent les composantes polyphasées d'ordre L de type 1 du filtre prototype H p (z) ,
- les valeurs de m et n sont déterminées par celles fixés de l'indice / du sous-système et l'indice u de la diagonale tel que 0 < m = (l-n)p' - (i + l-a)/2 ≤ p'-l .
Construction de la matrice de conversion T '(z)
De façon avantageuse, la matrice de conversion T '(z) peut être construite au préalable, hors ligne, avant sa mise en œuvre dans un système de transcodage, ou encore de codage ou de décodage incluant une cascade de bancs de filtres.
Comme illustré sur la figure 15A, à l'étape Sl, on déterminera s'il existe une relation particulière entre les entiers M et L. Par exemple si M = pL (flèche o en sortie du test
TlO), selon le premier cas décrit ci-avant, seules les diagonales d'indices u tels que
u = aL - 1 (test Tl 1) sont non nulles. On identifie déjà une première série de diagonales d'éléments tous nuls à l'étape S 12 en sortie n du test TI l de la figure 15A. Parmi les diagonales potentiellement non nulles (sortie o du test TI l), on étudie la parité de l'entier/? (test T13). Si l'entier/? est pair (sortie o du test T13), seules les diagonales dont l'indice est tel que a + j est pair (test T14) sont non nulles (sortie o du test T14) et les autres diagonales (sortie n du test T14) sont nulles (étape S 12). Les éléments non nuls peuvent être alors donnés à l'étape S 16 par les relations exprimées dans le tableau I ci-avant. Ces relations peuvent être stockées initialement dans une mémoire d'ordinateur sous forme d'instructions d'un programme informatique (étape S 17). Si l'entier/? est impair (sortie n du test T13), seules les diagonales dont l'indice vérifie la condition C'2 sur la parité du terme a + j selon les intervalles dans lequel il se situe (test T15) sont non nulles (sortie o du test T15) et leurs éléments peuvent être alors donnés à l'étape S 16 par les relations exprimées dans le tableau I ci-avant. Les autres diagonales sont nulles (sortie n du test T15 vers l'étape S 12).
On a détaillé sur la figure 16A le test T15 illustré sur la figure 15 A. Il s'agit en réalité d'une batterie de tests T151 à T155 pour situer le terme a + j dans l'un des intervalles possibles : (test T151), auquel cas a + j doit être impair (test T153) pour que des
diagonales puissent être non nulles,
-
(test T152), auquel cas a + j doit être impair (test T153) pour que des diagonales puissent être non nulles,
-
(test T154), auquel cas a + j doit être pair (test T156) pour que des diagonales puissent être non nulles, et -
(test T155), auquel cas a + j doit être pair (test T156) pour que des diagonales puissent être non nulles.
En pratique, le test T155 n'a pas lieu d'être exécuté car il s'agit en réalité du seul intervalle possible restant à la somme a + j après la série de tests précédents.
En référence maintenant à la figure 15B, si L = pM (flèche o en sortie du test T20), selon le deuxième cas décrit ci- avant, seules les diagonales d'indices u tels que u = aM - \ (test T21) sont non nulles. On identifie déjà une première série de diagonales d'éléments tous nuls à l'étape S22 en sortie n du test T21. Parmi les diagonales potentiellement non nulles (sortie o du test T21), on étudie en outre la parité de l'entier/? (test T23). Si l'entier/? est pair (sortie o du test T23), seules les diagonales dont l'indice est tel que a -i est impair sont non nulles (sortie o du test T24) et les autres diagonales (sortie n du test T24) sont nulles (étape S22). Les éléments non nuls peuvent être alors donnés à l'étape S26 par les relations exprimées dans le tableau II ci-avant. Ces relations peuvent être, là encore, stockées initialement dans une mémoire d'ordinateur sous forme d'instructions d'un programme informatique (étape S27). Si l'entier/? est impair (sortie n du test T23), seules les diagonales dont l'indice vérifie la condition C 2 sur la parité du terme a -i sont non nulles (sortie o du test T25) et leurs éléments peuvent être alors donnés à l'étape S26 par les relations exprimées dans le tableau IL Les autres diagonales sont nulles (sortie n du test T25 vers l'étape S22).
On a détaillé sur la figure 16B le test T25 illustré sur la figure 15B. Il s'agit là encore d'une batterie de tests T251 à T255 pour situer le terme i-a dans l'un des intervalles possibles : -
(test T251), auquel cas i-a doit être impair (test T253) pour que des diagonales puissent être non nulles,
-
(test T252), auquel cas i-a doit être impair (test T253) pour que des diagonales puissent être non nulles,
-
(test T254), auquel cas i -a doit être pair (test T256) pour que des diagonales puissent être non nulles, et
-
(test T255), auquel cas i - a doit être pair (test T256) pour que des diagonales puissent être non nulles.
Là encore, le test T255 n'a pas lieu d'être exécuté en pratique car il s'agit en réalité du seul intervalle possible restant à la différence i - a après la série de tests précédents.
En référence maintenant à la figure 15C, en dehors des cas M=pL etL=pM (flèches n en sortie des tests TlO et T20), selon le troisième cas, général, décrit ci-avant, seules les diagonales d'indices u tels que u - aD -l (test T31) sont non nulles (avec D = pgcd(Z,M) ). On identifie déjà une première série de diagonales d'éléments tous nuls à l'étape S32 en sortie n du test T31. Parmi les diagonales potentiellement non nulles (sortie o du test T31), on étudie en outre la parité du produit pφx (test T33). Si ce produit est impair (sortie n du test T33), seules les diagonales tel que l'équation E : 2mp2 + 2rpι = (i + Y) P2 -Jp1 - a -npγp2 admet un (et un seul) triplet (m,r,n) comme solution (test T34), avec :
- m, r tï n entiers et compris respectivement entre 0 et P1 -I , entre 0 et p2 -1 , et entre
N101n (I, j;a) et NmàX (i,j;a) sont non nulles (sortie o du test T34) et les autres diagonales (sortie n du test T34) sont nulles (étape S32). Les éléments non nuls peuvent être alors donnés à l'étape S35 par les relations exprimées dans le tableau III ci-avant. Ces relations peuvent être, là encore, stockées initialement dans une mémoire d'ordinateur sous forme d'instructions d'un programme informatique (étape S37).
Si le produit pφ2 est pair (sortie o du test T33) et, en particulier, si l'entier p\ est pair (sortie o du test T37), seules les diagonales telles que l'équation E :
2mp2 + 2rpï = (i + Y)P2 -Jp1 - Cc -Hp1P2 admet un (et un seul) triplet (m,r,n) comme solution (test T38), avec cette fois :
- m, r et n entiers et compris respectivement entre 0 et p \-l (avec P1 - 2p\ ), entre 0 et /72 -l , et entre N^JiJ; a) et NmJi,j;a) sont non nulles (sortie o du test T38) et les autres diagonales (sortie n du test T38) sont nulles (étape S32). Les éléments non nuls peuvent être alors donnés à l'étape S35 par les relations exprimées dans le tableau III.
Si le produit P1P2 est pair (sortie o du test T33) et, en particulier, l'entier p2 est
maintenant pair (sortie n du test T37), seules les diagonales telles que l'équation E : 2mp2 + 2rpγ = (i + Y)P2 -Jp1 - U - Up1P2 admet un (et un seul) triplet {m,r,n) comme solution (test T40), avec cette fois :
- m, r et n entiers et compris respectivement entre 0 et P1 -I , entre 0 et p\-\ (en définissant p2 = 2p \ à l'étape S39), et entre N^n(I, j;a) et Nmax (i,j;a) , sont non nulles (sortie o du test T40) et les autres diagonales (sortie n du test T40) sont nulles (étape S32). Les éléments non nuls peuvent être encore donnés à l'étape S35 par les relations exprimées dans le tableau III.
Avantageusement, on peut prévoir un premier programme informatique comportant des instructions pour déterminer les éléments de la matrice de conversion T '(z) comme décrit ci-avant. Typiquement, l'algorithme correspondant à ce premier programme peut présenter un organigramme global correspondant à l'ensemble des figures 15A à 15C décrites ci-avant. A ce titre, la présente invention vise aussi ce premier programme informatique. Elle vise aussi un dispositif comportant une mémoire sur laquelle ce premier programme est stocké, le dispositif comportant alors un processeur pour exécuter les instructions du premier programme.
Description détaillée d'un exemple de réalisation
On décrit ci-après en détail un exemple d'application de l'invention à un transcodage où M - pL , par exemple dans le cadre d'une conversion d'un codage de type MPEG- 1/2 (Layer I & II) vers un codage de type Dolby AC-3.
Le domaine en sous-bandes en entrée est défini par les caractéristiques d'un banc de filtres dit « pseudo-QMF » (pour « Quadrature Mirror Filter »), pour lequel L=32, et le domaine en sous-bandes de sortie est défini par les caractéristiques d'une transformée à recouvrement dite MLT (pour « Modulated Lapped Transform »), faisant intervenir
deux types de fenêtre de codage :
- une fenêtre courte, pour laquelle M=128, et
- une fenêtre longue pour laquelle M=256.
a) Cas du transcodage vers la fenêtre courte M= 128
Ici, la relation M - pL est vérifiée avec/? = 4 (en rappelant que £=32), de sorte que/? est pair avec p - 2p où p ' - 2. Les valeurs des longueurs nf et nh des composantes polyphasées d'ordre 2M des filtres prototypes sont telles que nh - 1 et nf - 2 .
La longueur du filtre prototype de synthèse Fp(z) est Nf - 5l2 . La longueur des composantes S1 (Z) de la décomposition polyphasée selon la relation (42), d'ordre 2M = 256 , de Fp(z) , est telle que 2nfM = 512 , donc nf = 2 . La longueur du filtre prototype Hp (z) de la transformée MDCT est Nh - 2M , soit donc nh - l .
Il apparaît alors ici qu'avec nf - nh + 1 = 2 et p - 4 (et p ' = 2 ), le calcul des éléments des sous-blocs A!} (z) s'effectue comme suit :
(A; (z)) = (-iγhp(u -l)z" {fp(2rL + l) + fp(M + 2^ + I)Z-1 2 - W
+/ (2Af + 2rL + l)z~2 + f (3M + 2rL + l)z
On peut détailler l'expression des éléments des sous-blocs Aj' (z) par tranches d'intervalles du terme (a + j) comme présenté dans le tableau I ci-avant.
Il apparaît surtout que les indices r = 0,...,p' -l et j = O,...,p -l modifient l'expression générale et la position des fonctions de transfert (non nulles) constituant les éléments de matrices A^ (z) .
D'une part, pour j = 0,...,3 :
- si j est pair, seules les diagonales u = (2L -1), (4L -1), (6L -1), (SL -I) sont non nulles et le nombre d'élément sur chaque diagonale est IL , - si j est impair, seules les diagonales u = (L - 1), (3L - 1), (5 L - 1), (IL - 1), (9L - 1) sont non nulles et le nombre d'éléments présents sur les diagonales extrêmes est L , alors que les diagonales u = (3L -l), (5L -l), Ç7L -l) comportent chacune 2L éléments. D'autre part, on a r - 0 ou r - 1 et de ce fait, il faut distinguer les expressions de la forme,
Ainsi, la parité de l'indice j détermine la position des diagonales non nulles et la valeur de l'indice r détermine le numéro 2rL + î de la composante polyphasée du filtre prototype de synthèse S2'rL+ι (z) .
Il peut alors être proposé un schéma de mise en œuvre particulièrement avantageux en distinguant les caractéristiques de traitement selon la parité de l'indice j de la composante
, et en distinguant aussi les opérations définies par les composantes
du filtre prototype de synthèse de celles définies par les composantes G0,..., G2M_X (z) du filtre prototype d' analyse.
A cet effet, on définit quatre matrices de filtres, ty (z) , 0 ≤ j < 3 , chacune de dimension
2Lx 2L , définies comme suit : - pour un indice j - 0,2 pair, on pose :
et pour un indice j - 1,3 impair, on pose :
On note ci-après w^ (z) des vecteurs intermédiaires en sortie des sous-blocs , tels
que :
En référence à la figure 7 qui illustre les opérations effectuées par les sous- systèmes
d'indice j pair (respectivement et à la figure 8 qui illustre les
opérations effectuées par les sous-systèmes A d'indice j impair (respectivement
, pour un indice j fixé, le vecteur des signaux en sous-bandes
est distribué en entrée vers deux canaux parallèles, définis respectivement par : - to(z) , I1(Z) pour le cas où j est pair,
- et par t2(z) , t3(z) pour le cas où j est impair.
Chaque canal transmet en sortie deux vecteurs comportant chacun IL coefficients. Un retard z"1 est appliqué à l'un des deux vecteurs comme représenté sur les figures 7 et 8 et finalement, les quatre vecteurs ainsi délivrés sont concaténés pour atteindre la dimension 2χ 2χ 2L = 2M . Ainsi, les canaux de transmission se subdivisent, créent des retards sur chaque vecteur et concatènent enfin ces vecteurs. Ensuite, les vecteurs de dimension 2M sont tous multipliés par la fenêtre hp(n) du filtre prototype d'analyse.
La seule différence de traitement entre les cas j = 0 et / = 2 (ou encore entrey=l ety=3) se situe donc au niveau de la concaténation avec entrelacement en amont de la multiplication par la fenêtre hp (n) . Ainsi, pour le cas où j est pair (respectivement impair), il est possible de n'utiliser qu'un seul système de filtres à deux canaux, caractérisé par les matrices simples dites « anti- diagonale s » to (z) et t:(z)
(respectivement t2(z) et t3 (z) ). En effet, ces matrices to(z) à t3 (z) sont particulièrement simples à manipuler, du fait qu'elles ne comportent que quelques éléments non nuls (sur des anti-diagonales), de sorte que, par exemple, la multiplication d'un vecteur par une telle matrice ne fait intervenir qu'une seule multiplication pour calculer chaque coefficient du vecteur produit.
De plus, deux types seulement de concaténation avec retard peuvent être prévus. Sur la figure 9, le diagramme (A) illustre la concaténation avec retard qui intervient en sortie des sous-blocs et le diagramme (B) illustre la concaténation avec retard
en sortie des sous-blocs
. La concaténation qui résulte de la chaîne de retards (C) est alors équivalente à la concaténation avec retard du schéma (A) : il s'agit d'une inversion de deux canaux (avec un retard z"1 ) suivie de la concaténation avec retard selon le schéma (B).
En référence à la figure 10 illustrant le cœur du système de conversion, finalement, le vecteur des coefficients v'(z) en sous-bandes, en sortie de la conversion, est le simple
résultat de l'opération d'addition avec recouvrement suivante :
Judicieusement : - la chaîne de concaténation (B) est mutualisée pour l'ensemble des sous-systèmes (juste avant la concaténation), - et ainsi, une seule multiplication par la fenêtre hp(n) est prévue après l'opération d'addition avec recouvrement.
Le tableau IV ci- après compare le nombre d'opérations (additions et multiplications) nécessaires à la production d'un vecteur de 2M coefficients Y(n) en sortie de la conversion par transcodage :
- dans le cas d'une mise en œuvre directe comme illustrée sur la figure 5, et
- dans le cas d'une mise en œuvre perfectionnée comme illustrée sur la figure 10.
Tableau IV
b) Cas du transcodage vers la fenêtre longue M=256
Ici, la relation M - pL est encore vérifiée avec/? = 8 (en rappelant que £=32), de sorte que/? est pair avec p = 2p où p - 4.
Les valeurs des longueurs nf et nh des composantes polyphasées d'ordre 2M des filtres prototypes sont telles que nh - 1 et nf - 1.
Il apparaît alors qu'avec nf - nh = 1 et p - S , le calcul des éléments des sous-blocs
s'effectue comme suit :
On peut exprimer à nouveau les sous-blocs
en fonction de matrices simples, selon la parité de l' indice/
Pour j - 0,2,4,6 pairs, on donne :
Pour les indices j = 1,3,5,7 impairs, on donne :
Compte tenu du nombre élevé ( p = S ) de sous-systèmes qui interviennent dans la conversion, il est proposé ci-après des notations simplifiées pour représenter les traitements associés aux matrices anti- diagonale s to(z),...,t7(z) . De ce fait, comme illustré sur la figure 11, les deux sous-systèmes tu (z) , tv (z) qui seront utiles pour l'implémentation du cœur de la conversion sont définis ainsi :
- le sous-système tu (z) traite les signaux en sous-bande d'indicesy pairs et
- le sous-système tv(z) traite les signaux en sous-bande d'indicesy impairs. Les signaux en sous-bandes u^(z) sont des vecteurs de coefficients de dimension IL . A la sortie de la matrice tu (z) ou de la matrice tv(z) , on obtient des signaux de coefficients filtrés de dimension 4x 2L = M . Les lignes de connexion représentées en
pointillés sur la figure 11 signifient qu'il s'agit de la transmission en parallèle de quatre vecteurs comportant 2L coefficients (4χ 2Z = 2M coefficients en sortie).
De plus, on définit avantageusement quatre chaînes de traitement différentes, notées ΣA ,ΣB,ΣC,ΣD et illustrées par les équivalences représentées sur la figure 12. La chaîne
ΣD admet en entrée des vecteurs de signaux de dimension M et transmet en sortie des vecteurs de coefficients de dimension 2M . Les chaînes ΣA,ΣB,ΣC admettent en entrée des vecteurs de coefficients de dimension M et transmettent en sortie des vecteurs de dimension M aussi.
Par une étude complète des opérations effectuées par les sous-sytèmes A^ (z) caractérisées par les fonctions de transfert exprimées précédemment, il est proposé sur la figure 13 une mise en œuvre préférée du cœur de la conversion entre domaines de sous-bandes.
L'avantage principal de la mise en œuvre illustrée sur cette figure 13 vient du fait que :
- chaque sous-système A^ (z) de dimensions initiales 2M χ 2L est réduit d'un facteur
2 en nombre de lignes, pour obtenir finalement des systèmes simples tu (z) et tv(z) à 4 canaux, de dimensions M x 2L ; - il n'est mis en œuvre qu'une seule multiplication par la fenêtre de pondération hp(n) du filtre prototype d'analyse (mutualisée ici aussi) ;
- l'addition est effectuée sur des vecteurs de dimension M .
En comparant la complexité du cœur du système de conversion selon une mise en œuvre directe au sens de la figure 5 (avec même l'identification des éléments de filtrage identiquement nuls) et celle correspondante à la mise en œuvre illustrée sur la figure 13, on obtient avantageusement les résultats indiqués dans le tableau V ci-après, pour produire un vecteur de 2M = 512 coefficients v'(n) en sortie du cœur de conversion.
Tableau V
Ainsi, il découle de ce qui précède que, au moins dans le cas M = pL avec/? pair tel que p - 2p , chaque composante issue d'une décomposition polyphasée d'ordre /?
d'un vecteur d'entrée M' (Z) , modulé (et résultant donc de l'étape a) du procédé au sens de l'invention), avecy compris entre 0 et/?-l, est multipliée par chaque matrice d'un jeu de p' matrices élémentaires (références tu (z) et tv(z) des figures 11 et 13).
De façon avantageuse, on ne prévoit que deux jeux de matrices élémentaires, l'un ou l'autre de ces deux jeux étant choisi simplement selon la parité de l'indicey. Par ailleurs, chaque matrice élémentaire ne comporte qu'un seul élément non nul par ligne et/ou par colonne.
On applique ensuite, globalement, des permutations, retards z ^ , sommations et démultiplications, choisis, aux résultats des produits des composantes par ces
matrices élémentaires, pour obtenir p sous- vecteurs. On regroupe ensuite, par concaténation, ces p sous-vecteurs pour leur appliquer préférentiellement une modulation par une fenêtre du filtre prototype du banc de filtres d'analyse hp (0) , ...,
Ap (2Af -I) .
On obtient finalement un vecteur v' (z) , auquel peut être appliquée ensuite la matrice de
modulation Ch du banc de filtres d'analyse en vue de délivrer le vecteur de sortie du système, référencé Y(z) sur la figure 5 et correspondant au "second vecteur" obtenu après l'étape c) selon la terminologie générique utilisée ci-avant pour la définition de la présente invention.
Avantageusement, les permutations, retards z 1 , sommations et démultiplications sont optimisés pour minimiser le nombre de calculs intervenant avant le regroupement par concaténation.
Avantageusement, on peut prévoir un deuxième programme informatique comportant des instructions pour exécuter les calculs de conversion entre domaines de sous-bandes eux-mêmes. Typiquement, l'algorithme correspondant à ce deuxième programme peut présenter un organigramme global correspondant, par exemple dans le cas de la conversion MPEG-1/2 (LI&II) vers Dolby-AC3, aux figures 10 (pour une fenêtre courte) et 13 (pour une fenêtre longue), et plus généralement (dans d'autres cas de conversion notamment) à l'une des figures 4 à 6.
A ce titre, la présente invention vise aussi ce deuxième programme informatique. Elle vise aussi un dispositif de conversion entre différents domaines de sous-bandes, par exemple pour du transcodage, ou encore du codage ou du décodage faisant intervenir une cascade de bancs de filtres (tels que ceux définis dans la norme MPEG AAC+SBR, appelée aussi "HE-AAC", MPEG Surround ou MPEG Enhanced Low Delay AAC) comportant une mémoire dans laquelle ce deuxième programme est stocké, le dispositif de transcodage comportant alors un processeur pour exécuter les instructions du deuxième programme.
Bien entendu, la présente invention ne se limite aux formes de réalisation décrites ci-avant ; elle s'étend à d'autres variantes.
Par exemple, il apparaît dans le traitement décrit ci-avant que la nature des transformées de modulation (en cosinus, en sinus, ou autre) n'influence en rien la détermination de la matrice de conversion T'(z) . Par conséquent, le traitement au sens de l'invention s'applique pour tout type de transformée (en cosinus, en sinus, ou autre).
Par ailleurs, les avantages obtenus dans le cas d'une conversion d'un codage MPEG- 1/2 (LI&II) vers un codage Dolby AC-3 ne sont liés, comme on l'a vu, qu'au fait qu'il existe une relation avantageuse entre les coefficients L et M et aucunement à la nature même des codages. On comprendra donc que ces résultats avantageux sont directement transposables à tout autre type de conversion à transformées où L et M vérifient les mêmes relations.