WO2007135319A1 - Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps - Google Patents

Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps Download PDF

Info

Publication number
WO2007135319A1
WO2007135319A1 PCT/FR2007/051266 FR2007051266W WO2007135319A1 WO 2007135319 A1 WO2007135319 A1 WO 2007135319A1 FR 2007051266 W FR2007051266 W FR 2007051266W WO 2007135319 A1 WO2007135319 A1 WO 2007135319A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
sub
conversion
blocks
coefficients
Prior art date
Application number
PCT/FR2007/051266
Other languages
English (en)
Inventor
Guillaume Picard
Abdellatif Benjelloun Touimi
Original Assignee
France Telecom
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Priority to US12/227,241 priority Critical patent/US20090307294A1/en
Priority to EP07766042A priority patent/EP2022046A1/fr
Publication of WO2007135319A1 publication Critical patent/WO2007135319A1/fr

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders

Definitions

  • the present invention relates to data processing for transcoding.
  • Signal processing in particular for compression coding, aims to bring a signal back into a subband domain.
  • this processing consists in applying a bank of analysis filters BA to a first expression x of the signal (for example temporal) possibly including a subsampling (decimation) DEC, to obtain a second expression of the signal. [y o , y ⁇ , ..., y M ⁇ ⁇ ) in the aforementioned subband domain.
  • the so-called "transcoding” processing then aims at a conversion between different subband domains.
  • TRC in order to carry out this type of processing, it is sought to compact in the same step TRC the application of a first vector X representing the signal in a first domain of sub-bands to a bank of synthesis filters.
  • BS1 then to an analysis filter bank BA2, to obtain a second vector F representing the signal in a second subband domain.
  • the respective ratings BS1 and BA2 of the synthesis and analysis benches are justified by the fact that the bank BS1 is relative to the conversion in the first domain of sub-bands, while the bank BA2 is relative to the conversion in the second domain. subband domain.
  • Transcoding is a crucial point in the communication of a digital signal (audio, video, multimedia, more generally a signal representing any data). Indeed, the diversity of coding formats, supported by different terminals and used for signal communication, often poses incompatibility problems, particularly in certain content delivery applications. Transcoding for the adaptation of the format of a signal to the type of decoding supported by a rendering terminal provides a solution to this problem.
  • the conventional transcoding technique often introduces additional algorithmic delay and requires some processing complexity.
  • the most recent coders (in particular in standard MPEG-2/4 AAC coding, or in Dolby AC-3 coding for digital audio signals) use time / frequency representations where the resolution may be variable over time. .
  • the resolution depends in particular on the short-term properties of the processed signal.
  • the coefficients defining the banks of analysis and synthesis filters applied for the passage of a first to a second domain of subbands and vice versa vary in time and the main equations of the conversion system. , proposed in the aforementioned document FR-2,875,351, can no longer be applied directly.
  • the present invention improves the situation.
  • the application of matrix filtering to the first vector is provided to directly obtain the second vector.
  • the synthesis bench and / or the analysis bench are variant in time.
  • the matrix filtering is represented by a global conversion matrix comprising matrix sub-blocks:
  • a finite number of possible states are provided with respective sets of coefficients of the synthesis and / or analysis banks, and the aforementioned sub-blocks are pre-calculated from said respective sets for all possible states.
  • the overall conversion matrix is determined for at least one possible state defined from the properties of the signal to be processed, in particular stationary properties of the signal.
  • a memory DD storing the pre-calculated sub-blocks
  • an MFM matrix filtering module arranged to recover from the DD memory the pre-calculated sub-blocks for these successive instants, for the construction of the global conversion matrix.
  • the device further comprises a SW toggle control for:
  • FIG. 6 is a detailed conventional diagram of the conversion between different subband domains
  • FIG. 11 illustrates an exemplary embodiment of a global conversion system within the meaning of the invention
  • FIG. 12A illustrates the operation of an order subsystem i of the system of FIG. 11, to deliver a converted polyphase component V 1 .
  • FIG. 12B illustrates a representation of the global conversion system, defined in the form A, as a set of linear subsystems varying in time;
  • FIG. 12D illustrates a representation of the global conversion system, defined in the form B, as a set of linear subsystems varying in time
  • FIG. 12E illustrates the development of the overall conversion system, as a time-varying linear system using overlapping transformations (OLA);
  • FIGS. 13A and 13B illustrate a global, three-dimensional conversion matrix represented by sub-blocks;
  • FIG. 14 illustrates an exemplary embodiment of the steps for constructing the global conversion matrix.
  • time-invariant MLT transforms The principle of time-invariant MLT transforms is not described in detail, it being understood that it is widely disclosed in the prior art, especially in HS Malvar's Signal Processing with Lapped Transform, Artech House, Boston, 1992. .
  • the case of a temporal variation of the conversion is described here, following, for example, a change of resolution of one of the coders involved in the transcoding.
  • the MPEG-2/4 AAC and Dolby AC-3 encoders operate with MLT transforms whose parameter M can take two values which define two different window function sizes h (n) (M 1 or M 2 according to the table below). -after).
  • the transition from one window size to another creates a variation in the time of the frequency resolution of the transform. Moreover, this passage must be operated while retaining the property of perfect reconstruction of the signal.
  • the TV-MLT transforms used by the above-mentioned coders verify this condition. More particularly, the Windows switching technique, defined in the MPEG-2/4 AAC standard, uses asymmetrical transition window functions noted below, h start and h stop , during the changeover periods. resolution.
  • TV-MLT transforms are defined below by following the shape of the windows of transitions h start and h stop which guarantee the property of perfect reconstruction.
  • the overlap transform matrix, P is decomposed in the following manner
  • h M (h M (O) h M ( ⁇ ) ... h M (2M - ⁇ ))
  • h M (n) can be defined for example by the sinusoidal function
  • two successive blocks are concatenated such as:
  • the signal block transform UJm denoted Y_ ⁇ m
  • Y (m) ⁇ U (m) (5)
  • the signal U_ (m + 2) is of length 2M 1 and a long transition window, denoted h stop , is applied with the modulation matrix O M .
  • FIG. 3 illustrates a long window to short window transition at time mM ⁇ and a short window to long window transition at time (m + I) M 1 .
  • the time axis is referenced TEMP.
  • This overlap is the same as that between the short vectors and the first long vector following UJm + 2).
  • the perfect reconstruction property of the TV-MLT transform depends, as in the case of a conventional MLT transform, only on the windows functions used and, in particular, on the two transition windows. start and h stop of length 2M 1 .
  • the perfect reconstruction condition is verified during the transition periods if these transition windows are those defined according to the following four conditions, assuming that the dimension of the transform changes at the instant mM x from M 1 to M 2 , then at the instant (m + I) M 1 of M 2 to M 1 .
  • FIG. 4A illustrates the shape of the transition function h stm (n) which occurs during a change in size from M 1 to M 2 defined by the four conditions above ensuring a perfect reconstruction. Note that the transition window h stop (n) reciprocal intervening during a transition from M 2 to M x is simply such than :
  • FIG. 4B represents the succession of transition windows that occur during the two periods of change of temporal resolution of the transform
  • first region on a long window for the instants n between 0 and 2047, hereinafter referred to as the "first region”, on a first transition window to ensure a perfect reconstruction, for times n between 1024 and 2623, referred to hereinafter as after "second region",
  • fourth region On a second transition window to ensure a perfect reconstruction towards a return to a long window, for instants n between 3520 and 5119, hereinafter called "fourth region".
  • the overall TV-MLT transformation can be defined in a complete way by a global matrix of conversion, of dimension "infinite”, noted T (m) and such that:
  • P 0 (m) and P 1 (W) are sub-matrices of size M xM defined at the block indices m which corresponds to the instant mM x .
  • the perfect reconstruction condition (7) implies that the transform matrix overlap P (Vw) remains orthogonal to the two neighboring matrices P (m-1) and V (m + 1).
  • the overlapping transform matrices are then defined by:
  • the finite recovery transform matrix, associated with the m + 1 block corresponding to r successive MLT transformations of size M 2 is, for its part, defined by:
  • the direct transformation operation of the TV-MLT transform is then defined by:
  • the inverse transformation operation is defined, as for the invariant case of the MLT transform, by two steps:
  • the TV-MLT transform presented above makes it possible to go from an MLT transform of size M 1 to an MLT transform of size M 2 (or vice versa from M 2 to M 1 ), while preserving the property of perfect reconstruction of the signal. .
  • the vector 7 (m + 1) of size M x such as:
  • Y (m + 1) ⁇ (m + 1) U (m + 1) is defined, by construction, as the concatenation of the following transformed vectors, all of size M 2 :
  • the overlap transform matrix of the block (m + 1) is constructed to respect the time offset An (FIG. 3).
  • AAC or Dolby AC-3 and previously described has a time-varying maximum decimation filter bank representation.
  • the length of the filters is twice the number M 1 of sub-bands.
  • the equivalent analysis (respectively synthetic) filter bank is described by the diagram of FIG. 5A (respectively of FIG. 5B) and the representations in the range of the Z variable of the filters H '' (n, Z), ..., H M ⁇ "l (n, Z) (respectively F 0 (Z, n), ..., F M> ⁇ 1 (Z, n)) at instants mM x are defined as follows.
  • the analysis / synthesis filter bank thus defined is then perfectly reconstructed. This is the basis of the representation of the TV-MLT transform by filter banks. Here, only the coefficients of the filters vary in time, the number of subbands remaining fixed.
  • each set of coefficients of the analysis or synthesis bench, associated with a possible state can be calculated as a function of a modulation matrix D and of a vector h characterizing this possible state. and ensuring a perfect reconstruction property (as in the example described above) or still “almost perfect”.
  • Near-perfect reconstruction is understood to mean the property of reconstruction of the filterbanks used in coders of the MPEG-1/2 type I & I1 type in particular. It will then be understood that, in the case for example of a combination of an encoder of this type with a time-varying coder, the properties described above can still be observed.
  • Time-varying systems commonly used in particular MPEG-2/4 AAC and Dolby AC-3 coders, can then implement adaptive subband representations, which can be defined, as described above, by the formalism of linear systems varying in time.
  • Figure 6 shows the multi-rate block representation to illustrate the conversion.
  • time / frequency representations of the signal used by these coders are specified in the standards and are such that:
  • TDAC TDAC filter bank representation with 320 subbands
  • the G 722.1 encoder and the MPEG-1/2 (layer I & II) coders use time-invariant filter bank representations. Furthermore, it has been pointed out above that the TV-MLT transforms of the MPEG-2/4 AAC and AC-3 coders admit a representation in the form of a bank of maximum decimation filters and M number of sub-bands. fixed, with filters varying over time.
  • FIG. 6 formally represents all possible conversions between the various examples of coders mentioned.
  • gf (n) (respectively gf (")) defines the matrix of dimension M x L and having all the z-th filter coefficients gf" * 2 (") given by the relation (24) above (respectively given by relation (26)).
  • the input vector X () of the subband signals is decomposed as follows
  • This equation (31) is important because it represents the conversion of the polyphase components of order p 2 of the input signals to those of order p ⁇ of the output signals.
  • the sub-blocks A. - (“, Z) of the same index i can be computed for the same instant i involved in the expression" + iM for the calculation of the matrix g.
  • these blocks A 1 . (n, Z) calculated for the same instant i are distributed on a "horizontal plane" of the global conversion matrix T (", Z), three-dimensional.
  • the conversion matrix T (n, Z) has a depth (z-axis as shown in Figure 13A) corresponding to the size (or degree) of the filters. If you choose to represent the conversion matrix in two dimensions (projection perpendicular to the z axis), the sub-blocks calculated for the same instant i are distributed on the same line of sub-blocks.
  • the conversion matrix T (Z, ri) is then defined by sub-blocks A. j (Z, n) such that
  • the sub-blocks A. 7 (Z ") with the same index j can be calculated for the same instant are involved in the expression n + jL for the calculation of the matrix g.
  • these blocks A 1 . ; (Z, n) calculated for the same instant are distributed on a "vertical plane" of the global conversion matrix T (w, Z). If one chooses to represent the conversion matrix in two dimensions (projection perpendicular to the z axis), the sub-blocks computed for the same instant / are distributed on the same column of sub-blocks. It is then pressed that the sub-blocks of the global conversion matrix can be pre-calculated and stored in memory for different times and especially for different admissible states. The sub-blocks associated with the same instants can then be recovered from the memory according to the changes in time that occur in the encoding formats. This property of a system within the meaning of the invention will be described in detail below, in particular with reference to FIG. 11.
  • the following steps are applied when the input vector has a number L of respective subband components and the output vector has a number M of respective subband components, after determining a number K, least common multiple between L and M:
  • the conversion matrix is square, of dimension Kx K, and has / ?, rows and p 2 columns of sub-blocks A y each having L rows and M columns.
  • sub-blocks A y of the same index i (form A) or sub-blocks A y of the same index y (form B) are pre-calculated for the same moment.
  • the conversion matrix is three-dimensional, with: a first dimension defined by the current index i of the sub-blocks,
  • Sub-blocks pre-calculated for the same instant then form matrix planes extending to the third dimension and are: - horizontal and pre-calculated for p ⁇ successive moments in an expression according to the form 1,
  • control of the algorithmic delay is in all respects to that described in document FR-2,875,351, with the difference that the sub-blocks Ay depend on the time.
  • the matrix sub-blocks g ( «, Z) are such that:
  • the advance is controlled at the intermediate signal x (n) at the output of the synthesis filter bank and at the input of the analysis filter bank.
  • the index element i, j of the conversion matrix T ( «, Z) is the e t . -the K-type type 1 polyphase component of g ("+ iM, Z), so that:
  • the index element i, j of the conversion matrix T ( «, Z) is the (K + e tj ) -th polyphase component of type 1 of order K of g ("+ iM + K, Z), composed with a delay Z ⁇ ⁇ , and we obtain:
  • the index element i, j of the conversion matrix T (Z, «) is the ⁇ K + e t ⁇ ) -th polyphase component of type 2 of order AT of g (Z, n + (j - a) L) composed with a delay Z ⁇ ! and
  • the length N 4 is determined by
  • the sub-blocks of the conversion matrix are the components (M -1-JL) -th of the M-type polyphase decomposition of order M of g (", Z) such that
  • the elements of the filter matrix gf (") are determined by:
  • Each sub-block of the conversion matrix corresponds to the M-1 + iM -th polyphase component of type 2 of order Z of the filtering matrix g (Z, ") at time nL and we obtain
  • each sub-block of the conversion matrix is the (M - 1 + iM) -th polyphase component of type 2 of order L of the sub-matrix g (Z, n) at time nL.
  • the filter coefficients of the synthesis banks are constant in pieces and vary as a function of the instant n, in particular at the multiple instants of L (respectively of M). Therefore, to perform the convolution products impulse responses of the two filter banks account should be taken of variations in the
  • F ° (Z, n + L-1i), ..., F L ⁇ 1 (Z, n + L-1 -i) of the synthesis bank F (Z, n + L - 1 - 1) make a change at least once with the index i.
  • a f [(N h + N f -I) IL] + I (56) corresponding to the number of successive states of the synthesis filter bank and the convolution products according to the relation (50) are calculated with a single state the analysis filter bank to determine all matrix "slices" gf (nM).
  • FIG. 8A schematically shows the groupings made to perform the convolution products of the successive states of the synthesis filter bank with those of the analysis filter bank.
  • a state of the global conversion matrix T ( «, Z) is defined following the determination of N 7 matrix slices of size M xM.
  • the conversion matrix T (n, Z) defined by the relation (48) can also be written:
  • the number N 7 . matrix slices P 0 («), ..., P ⁇ -1 OO is defined by the value of the maximum length of the polyphase components of order M of g ( «, Z) such that
  • the conversion matrix T ( «, Z) was completely constructed.
  • each sub-block A 1 - (Z 9 W) of the main conversion matrix is the (M -1 + iM) -th polyphase component of type 2 of order L of g (Z, ") at time nL and we get
  • a state of the main conversion matrix T (Z, n) is constructed from the data of the state g (Z, ") at time nL. It remains to extract and order the matrix slices of g (Z, nL), determined for the same instant nL, to identify the polyphase components of type 2 of order L. This last step is also similar to that described in document FR-2,875,351 for the construction of the conversion matrix T (z) from g (z).
  • the conversion matrix T (Z, ri) is therefore defined by the data, at each instant n, of its N ⁇ matrix slices of size Lx L.
  • P m (n) the matrix slice of index m of the conversion matrix T (Z, n), defined at time n by
  • the number of matrix slices P 0 ( ⁇ ), ..., P ⁇ -1 (W) is defined by the value of the maximum length of the polyphase components of order L of g (Z, n), here, such that
  • the main conversion matrix T ( «, Z) is defined by the construction of its sub-blocks A .. (n, Z) such that:
  • the element A 1 . j (n, Z) of the main conversion matrix T (M, Z) is e. y- th polyphase component of type 1 of order K of the matrix g (n + iM, Z) and we therefore have
  • the current index / designates both the number of the polyphase component with e tj and a time advance iM.
  • Figure 9A illustrates the groupings of several states of g (", Z) for calculating a state of the conversion matrix.
  • This series represents a line of p 2 components among the p ⁇ lines of T ( «, Z). It is important to observe in this figure 9A that the scheduling of polyphase components A 1 , (n, Z) represents the states of the transposed matrix T ' ( «, Z) of T («, Z).
  • the main conversion matrix is determined by the domain representation of all sub-blocks A. (Z, n) such as
  • the element A 1 -. (Z, H) of the conversion matrix T (Z, n) is the e ( . -Th polyphase component of type 2 of order iT of g (Z, n + (j -a) L) and therefore Note that the index j occurs both in the number e ( of polyphase component and in the time advance (j -a) L.
  • the element A ⁇ (Z, w) of the main conversion matrix T (Z, n) is the (X + e ; / ) -th polyphase component of type 2 of order K of g (Z, n + ( j - Ci) L), composed with a delay Z ⁇ ] . It is written:
  • the global conversion matrix at each instant is obtained following the construction of P 1 columns.
  • Y (n) F 0 (n) ⁇ (n) + P ] (n) ⁇ ( n-1 ) + ... + P N ⁇ (n) V (n-N ⁇ + 1)
  • Y (+ 1) P 0 (n + I) U (M + 1) + P 1 (n + 1) U (n) + ... + P V / _, (n + 1) U (n - N ⁇ + 2)
  • V (n) T (Z, n) X (n) and represents a time-varying type B matrix filtering. vector of the signals in sub-bands X (n) by the conversion operator T (Z, ri).
  • the conversion takes place directly on the sub-band signals at the input of a transcoder, while a polyphase decomposition of order p of the signals after conversion is carried out.
  • the successive polyphase components V (w), V ("+ 1), ..., V (n + iV r -1), of order p, are obtained by the operations:
  • V ( ⁇ ) ' P 0 (n) X (n) + V i (n - ⁇ ) X (n-1) + ... + V ⁇ _ ⁇ (n -N ⁇ + 1) X (n - N ⁇ + 1)
  • Y (n + 1) ⁇ 0 (n + 1) X (n + 1) + ⁇ 1 (n) X (n) + ... + P N 1 1 (H - N ⁇ + 2) X (n - N ⁇ + 2)
  • V ⁇ n + N ⁇ -1 ) F 0 (n + N ⁇ -1) X (n + N 1 , -1) + ... + P + 1 (w) X (n)
  • a conversion system between signal representations in different subband domains comprises a serial / parallel conversion module CSP of the incident signal vector X (ri) comprising the components x n (n ') ,. .., x L , ('') in respective sub-bands.
  • the CSP module performs the equivalent of a polyphase decomposition of order /? 2 of the signal vector X (n '), to deliver pi components U 0 (H),. .., U pi _, (/ i) of a vector U ( «).
  • the p ⁇ components V 0 («), ..., V p _ j ( «) of the vector V ( «) coming from the matrix filter MFM module are finally applied to a parallel / serial conversion CPS module, which delivers the components y Q ⁇ n " ⁇ ..., y M _ ⁇ ⁇ n") of the output signal vector Y (n ")
  • the CPS module then realizes the equivalent of a recombination of the polyphase components of order / J 1.
  • the output signal vector Y (n "), thus converted, can be used in its new format, for example by quantization and coding, or transported, or stored for subsequent applications.
  • a flip-flop control module SW can detect the best time / frequency resolution, taking into account for example the stationarity properties of the incident signals. This control can advantageously control the state switching mechanism among a plurality of admissible states, in particular those described with reference to the different windows of FIG. 4B.
  • the flip-flop control module SW can search in the memory DD for all the pre-calculated sub-blocks as a function of all the possible states of the conversion matrix T, for example matrix slices by matrix slices.
  • a clock HOR determines a current instant r.
  • step S 146 the matrix slices recovered from the memory DD (step S 146) are given for different states (step AM 144) of those recovered for the previous instant nKT e (step AM 143).
  • the matrix T is determined until a next instant (n + 2) KT e (loop S 148). In the example shown, it is therefore possible to analyze the properties of the signal on the test T 142, all the KT e instants, to construct the matrix T globally.
  • the global conversion matrix T is progressively built up by calls to the memory DD at successive times for which the sub-blocks A have been pre-calculated therein .
  • the flip-flop control SW of FIG. 11 thus manages the DD memory calls of the states of the conversion matrix.
  • the memory DD delivers, in return, the matrix slices denoted P 0 («), ..., P V _, ( «) pre-calculated for the same instant n. It is advantageous to provide for this purpose a fast memory.
  • the slices P 0 («), ..., P ⁇ _ j ( «) can be pre-calculated taking into account the different admissible states, while the calls in DD memory of these filtering slices can be made to the fly, at each successive instant nK (or, in the aforementioned variant of FIG. 14: at each instant nM or nL to call lines (form A) or columns (form B) of sub-blocks and progressively calculate the matrix global conversion T).
  • the serial / parallel conversion corresponds to a polyphase decomposition of order p 2 of each of the sub-signals.
  • the parallel / series conversion corresponds to a recombination of the polyphase components of order p x of the signal in sub-bands Y (n ").
  • the global conversion matrix is determined periodically for multiple instants of a quantity KT e and is expressed in function of matrices of type g ( «, Z), calculated for successive multiple instants of a quantity MT e .
  • the global conversion matrix is determined periodically for multiple instants of a quantity KT e and is expressed as a function of matrices of type g (Z, n), calculated for successive multiple instants of a quantity
  • the computation of the coefficients of each matrix of type g (Z, «) at a multiple instant of the quantity LT e is then carried out by taking: - ⁇ / , successive sets (or" admissible states ") of coefficients of the bank of analysis filters determined for ⁇ ;, successive instants in a period LT e , and starting from a multiple instant of LT e ,
  • the operation of the overall conversion system in the general case, defined as A, can be seen as the structure of Figure 12B. It then comprises />, linear subsystems varying in time and the "switch" COM1 at the input operates periodically (with a period p 2 / ' f x ).
  • T (n, Z) vary with time and its changes of state occur after each period of duration Ki f e .
  • the global system is thus equivalent to a linear system, periodically varying in time, and of period KI f e , with:
  • the two switches at the input COM1 and at the output COM2 of the system operate with a frequency f e l K which corresponds to the frequency of change of state of the components A ; . ⁇ n, Z).
  • the entry X (n), at the moment kl f x contact the numbered connections j of each p ⁇ subsystems s-LPTV when j - k moâp 2 .
  • the conversion equation defined in the form B is such that the polyphase component numbered i of the output subband signals is determined by
  • the conversion system in the general case and defined in the form B can be interpreted as a set of subsystems as shown in FIG. 12D.
  • This structure comprises p ⁇ linear subsystems varying in time and the COM1 switch at the input is period periodic P 2 Zf x -
  • These subsystems operate in parallel and one of their outputs is periodically selected as the output of the conversion system with a period pj f y .
  • the filter coefficients of the main conversion matrix T (Z, n) vary with time and its changes of state occur after each period of duration KI f e .
  • the global system is therefore linear periodically varying in the period of time Kl f e , with:
  • the two switches at the input COM1 and at the output COM2 of the structure of FIG. 12D operate with a frequency fJK which is also the frequency of change of state of the components A 1 . (Z, ri).
  • the input X ( «), at the instant kl f x , contacts the connections numbered j of each of the p ⁇ LPTV subsystems when j k mod p 2 .
  • the s-LPTV representations of the global systems according to FIGS. 12B and 12D respectively associated with the forms A and B, are rearranged naturally and lead to the diagram of FIG. 12E.
  • the storage operations are performed after matrix multiplications of the input signals by the matrices B hJ (n).
  • the OLA-rated blocks (for "overlap and add” in English) perform the storage and addition operations with final recovery of the vectors transformed by the matrices B ⁇ (n).
  • the calculation procedure for the conversion between subband domains is preferentially as follows:
  • the output Y ("") of the conversion system corresponds to the output V 1 (n) of the subsystem s-LPTV numbered i with n "-np x + i.
  • the two dimensions are equivalently TV-MLT time-lapse transforms (defined as a function of the ratio M 1 ZM 2 ).
  • the synthesis filter bank is of the P-QMF (L) type, for a transcoding between an MPEG-1/2 layer I and II encoder to an MPEG-2/4 AAC type encoder and / or an MPEG-1/2 layer I and II encoder to a Dolby AC-3 type encoder.
  • the characteristic constants of the conversion system are then as follows:
  • the index / is a simple convolution index and the coefficients of the synthesis filters do not vary.
  • ⁇ r the number of admissible states of the main conversion matrix
  • the ⁇ r 4 acceptable states of the conversion matrix T ( «, Z) are determined from the N 7 . slices that are all of size M 1 x M 1 .
  • This number of different states A 7 is determined by assuming that the state changes of the synthesis filter bank F (Z, n) and those of the analysis filter bank H (n, Z) are independent. It is preferentially provided two independent SW flip-flop commands that control the resolution changes of the two TV-MLT transforms.
  • the SW toggle controls advantageously operate on the basis of an analysis of the statistical properties of the incident signal and determine, in particular by perceptual entropy criteria, which are the most suitable resolutions for each block of length. 2I 1 or 2M 1 .
  • These commands are at least partly consistent and certain changes in the resolution of the TV-MLT transform (Z 1 ZL 2 ) are advantageously synchronous with those of the TV-MLT transform (M 1 ZM 2 ).
  • the system can be implemented in the form A or in the form B.
  • the present invention is not limited to the embodiment described above by way of example; it applies to other variants.
  • the invention applies to any transcoding between coding formats, in particular audio formats, using banks of filters that vary over time.
  • These transcoders may be implemented in gateways, in particular in telecommunication network nodes, or in multimedia content servers in the context of "streaming" mode broadcasting applications, or downloading or broadcasting applications.
  • digital television MPEG-4 AAC format to MPEG-2 Layer II or Dolby AC-3 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Conversion entre représentations en domaines de sous-bandes pour des bancs de filtres variant dans le temps L'invention concerne un traitement de transcodage entre domaines différents de sous- bandes, visant à compacter l'application d'un premier vecteur représentant le signal dans un premier domaine de sous-bandes à un banc de filtres de synthèse, puis à un banc de filtres d'analyse, pour obtenir un second vecteur représentant le signal dans un second domaine de sous-bandes. En particulier, le banc de synthèse et/ou le banc d'analyse sont variants dans le temps. On prévoit au sens de l'invention un filtrage matriciel du premier vecteur pour obtenir directement le second vecteur, ce filtrage matriciel étant représenté par une matrice globale de conversion comportant des sous-blocs matriciels (A<SUB>i0</SUB>,..., A<SUB>ij</SUB>,..., A<SUB>ip2-1</SUB>) pré-calculés en tenant compte des variations possibles dans le temps des bancs de filtres, puis stockés en mémoire. La matrice globale de conversion est alors construite par appels à la mémoire pour obtenir les sous-blocs pré-calculés à des instants successifs.

Description

Conversion entre représentations en domaines de sous-bandes pour des bancs de filtres variant dans le temps
La présente invention concerne un traitement de données pour un transcodage.
Un traitement de signal, notamment pour un codage en compression, vise à ramener un signal dans un domaine de sous-bandes. En référence à la figure 1, ce traitement consiste à appliquer un banc de filtres d'analyse BA à une première expression x du signal (par exemple temporelle) incluant éventuellement un sous-échantillonnage (décimation) DEC, pour obtenir une seconde expression du signal [yo,yι,...,yM^ι) dans le domaine des sous-bandes précité. A l'inverse, pour retrouver la première expression du signal x , à partir de sa seconde expression (_y0 , ^1 , ..., yu_x ) , on applique à la seconde expression (yQ,yλ,...,yM_x ) un banc de filtres de synthèse BS, incluant un sur-échantillonnage (expansion) EXP.
Le traitement dit "de transcodage" vise alors une conversion entre différents domaines de sous-bandes. En référence à la figure 2, pour réaliser ce type de traitement, on cherche à compacter en une même étape TRC l'application d'un premier vecteur X représentant le signal dans un premier domaine de sous-bandes à un banc de filtres de synthèse BSl, puis à un banc de filtres d'analyse BA2, pour obtenir un second vecteur F représentant le signal dans un second domaine de sous-bandes. Les notations BSl et BA2 respectives des bancs de synthèse et d'analyse se justifient par le fait que le banc BSl est relatif à la conversion dans le premier domaine de sous-bandes, tandis que le banc BA2 est relatif à la conversion dans le second domaine de sous-bandes.
Le transcodage est un point crucial dans la communication d'un signal numérique (audio, vidéo, multimédia, plus généralement un signal représentant des données quelconques). En effet, la diversité des formats de codage, supportés par des terminaux différents et utilisés pour la communication de signaux, pose souvent des problèmes d'incompatibilité, notamment dans certaines applications de délivrance de contenu. Le transcodage pour l'adaptation du format d'un signal au type du décodage supporté par un terminal de restitution apporte une solution à ce problème.
La technique conventionnelle de transcodage introduit souvent un retard algorithmique supplémentaire et nécessite une certaine complexité de traitement.
Le transcodage dit "intelligent" vise à réduire ces paramètres. En traitement de signaux audionumériques notamment, les codeurs utilisés sont à base de codage par transformée. Souvent, différents formats de compression utilisent différents types de transformées ou "bancs de filtres". Une première difficulté à surmonter consiste donc à réaliser des structures efficaces de passage entre différentes représentations en domaine de sous-bandes, notamment lorsque le nombre de filtres d'un banc d'un premier domaine de sous-bandes est différent du nombre de filtres d'un banc d'un second domaine.
Une solution générale à ce problème a été proposée dans le document FR-2,875,351 et vise un filtrage matriciel unique, remplaçant l'application successive du banc de synthèse du premier domaine et du banc d'analyse du second domaine, ce filtrage unique étant représenté par une matrice carrée de dimension valant le plus petit commun multiple des nombres de filtres par banc respectivement dans le premier et dans le second domaine.
Néanmoins, il peut se poser une difficulté supplémentaire liée au fait que les bancs de filtres précités peuvent varier dans le temps.
En effet, la plupart des codeurs actuels (MPEG-4 AAC, Dolby AC-3) utilisent des bancs de filtres variant dans le temps, alors que les conversions entre différents domaines de sous-bandes qui ont été proposées dans l'état de l'art ne sont applicables que pour des représentations temps/fréquences correspondantes invariantes dans le temps.
En particulier, les codeurs les plus récents (notamment en codage normalisé MPEG- 2/4 AAC, ou en codage de type Dolby AC-3, pour des signaux audionumériques) utilisent des représentations temps/fréquences où la résolution peut être variable dans le temps. La résolution dépend en particulier des propriétés à court terme du signal traité. Dans ce cas, les coefficients définissant les bancs de filtres d'analyse et de synthèse appliqués pour le passage d'un premier à un second domaine de sous-bandes et vice- versa, varient dans le temps et les principales équations du système de conversion, proposées dans le document précité FR-2,875,351, ne peuvent plus être appliquées directement. Ainsi, pour étendre l'application du transcodage au cas d'une variabilité en fonction du temps, les équations de conversion entre représentations du signal dans différents domaines de sous-bandes doivent permettre de traiter le cas des codeurs perceptuels les plus récents dans lesquels interviennent des bancs de filtres variant dans le temps.
La présente invention vient améliorer la situation.
Elle propose à cet effet un procédé mis en œuvre par des ressources informatiques pour traiter un signal par passage entre domaines différents de sous-bandes. Le procédé vise à compacter en un même traitement l'application d'un premier vecteur représentant le signal dans un premier domaine de sous-bandes à un banc de filtres de synthèse, puis à un banc de filtres d'analyse, pour obtenir un second vecteur représentant le signal dans un second domaine de sous-bandes.
On prévoit dans ce type de procédé l'application d'un filtrage matriciel au premier vecteur pour obtenir directement le second vecteur.
Selon l'invention, le banc de synthèse et/ou le banc d'analyse sont variants dans le temps. Le filtrage matriciel est représenté par une matrice globale de conversion comportant des sous-blocs matriciels :
• pré-calculés en tenant compte des variations possibles dans le temps des bancs de filtres, • et stockés en mémoire, et la matrice globale de conversion est construite par appel à ladite mémoire pour obtenir lesdits sous-blocs pré-calculés à des instants successifs.
Avantageusement, on prévoit un nombre fini d'états possibles auxquels sont associés des jeux respectifs de coefficients des bancs de synthèse et/ou d'analyse, et les sous- blocs précités sont pré-calculés à partir desdits jeux respectifs pour tous les états possibles, tandis que la matrice globale de conversion est déterminée pour au moins un état possible défini à partir des propriétés du signal à traiter, notamment des propriétés de stationnante du signal.
La présente invention vise aussi un dispositif pour traiter un signal par passage entre domaines différents de sous-bandes. Un exemple d'un tel dispositif est illustré sur la figure 11 qui sera décrite en détail plus loin. Pour la mise en œuvre du procédé au sens de l'invention, il comporte, outre des ressources informatiques générales incluant notamment un processeur (non représenté) :
- une mémoire DD stockant les sous-blocs pré-calculés,
- une horloge HOR pour déterminer des instants successifs, et
- un module de filtrage matriciel MFM agencé pour récupérer de la mémoire DD les sous-blocs pré-calculés pour ces instants successifs, pour la construction de la matrice globale de conversion.
Avantageusement, le dispositif comporte en outre une commande de bascule SW pour:
- définir, à partir du signal à traiter, l'un desdits états possibles et des jeux de coefficients associés, et - gérer l'accès à ladite mémoire en fonction de l'état défini. Un tel dispositif peut être intégré à un équipement tel qu'un serveur, une passerelle, ou encore un terminal, destinés à un réseau de communication.
La présente invention vise aussi un programme informatique, destiné à être stocké dans une mémoire d'un tel dispositif et comportant des instructions pour la mise en œuvre du procédé au sens de l'invention. Un algorithme possible d'un tel programme peut être représenté très schématiquement par l'organigramme de la figure 14 qui sera décrite en détail plus loin.
D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée ci-après, donnée à titre d'exemple de réalisations, et des dessins annexés sur lesquels, outre les figures 1 et 2 décrites précédemment :
- la figure 3 illustre des recouvrements de blocs successifs longs et courts intervenant pendant deux transitions d'une transformée TV-MLT, en comparaison d'un axe temporel TEMP ;
- la figure 4A représente une fonction de transition Aitart(») d'une transformée TV-
MLT ;
- la figure 4B représente le fenêtrage intervenant pendant deux changements de résolution de la transformée TV-MLT ; - la figure 5A illustre un banc de filtres d'analyse variant dans le temps, à décimation maximale ;
- la figure 5B illustre un banc de filtres de synthèse variant dans le temps, à décimation maximale ;
- la figure 6 est un schéma conventionnel détaillé de la conversion entre différents domaines de sous-bandes ;
- la figure 7 est un schéma illustrant la conversion entre les représentations d'un signal par deux transformées TV-MLT de tailles différentes, à titre d'exemple pour un transcodage entre le format Dolby AC-3 vers le format MPEG-2/4 AAC ;
- la figure 8A illustre une étape intermédiaire de la construction des états d'une sous- matrice de conversion basée sur une première forme, dite "forme A" ci-après ; - la figure 8B illustre une étape intermédiaire de la construction des états d'une sous- matrice de conversion basée sur une seconde forme, dite "forme B" ci-après ;
- la figure 9A illustre la construction des états de la matrice globale de conversion T(w,Z ) dans un cas général K = ppcm(L,M) sous la forme A ; - la figure 9B illustre la construction des états de la matrice globale de conversion T(Z ,n) dans un cas général K = ppcm(L,M) sous la forme B ;
- la figure 1OA illustre un exemple de conversion globale comme une transformée à recouvrement dans un premier cas particulier où M = pL ;
- la figure 1OB illustre un exemple de conversion globale comme une transformée à recouvrement dans un second cas particulier où L = pM ;
- la figure 11 illustre un exemple de réalisation d'un système global de conversion au sens de l'invention ;
- la figure 12A illustre le fonctionnement d'un sous-système d'ordre i du système de la figure 11 , pour délivrer une composante polyphasée convertie V1. (n) d'un vecteur signal de sortie, à la manière d'un système linéaire variant dans le temps, pour une mise en œuvre selon la forme A ;
- la figure 12B illustre une représentation du système global de conversion, défini sous la forme A , comme un ensemble de sous-systèmes linéaires variant dans le temps ;
- la figure 12C illustre le fonctionnement d'un sous-système d'ordre / du système de la figure 11, pour délivrer une composante polyphasée convertie V.(n) d'un vecteur signal de sortie, à la manière d'un système linéaire variant dans le temps, pour une mise en œuvre selon la forme B ;
- la figure 12D illustre une représentation du système global de conversion, défini sous la forme B, comme un ensemble de sous-systèmes linéaires variant dans le temps ; - la figure 12E illustre le développement du système global de conversion, en tant que système linéaire variant dans le temps et utilisant les transformations à recouvrement (OLA) ;
- les figures 13A et 13B illustrent une matrice de conversion globale, tridimensionnelle, représentée par des sous-blocs ; - la figure 14 illustre un exemple de réalisation des étapes de construction de la matrice globale de conversion.
Avant de décrire en détail un ou plusieurs modes de réalisation, on justifie ci-après le choix de l'approche que propose la présente invention. En particulier, on justifie dans ce qui suit le fait de représenter des transformées variant dans le temps par des bancs de filtres et on démontre d'ailleurs une équivalence dans leur représentation par des bancs de filtres.
Les codeurs notamment de type MPEG-2/4 AAC et Dolby AC-3 utilisent des représentations temps/fréquences à résolution variable . Ils opèrent en procédant à des analyses par transformées à recouvrement variant dans le temps, dont un exemple est la transformée de type dit "TV-MLT" (pour "time-varying modulated lapped tmnsform" ce qui se traduit par "transformée modulée à recouvrement, variant dans le temps") où la taille des blocs traités dépend des propriétés instantanées du signal. La représentation temps/fréquences de ces codeurs est qualifiée d'adaptative car les fonctions de base de la transformée à recouvrement varient dans le temps, selon les caractéristiques à court terme du signal.
La représentation d'une transformée MLT classique (invariante dans le temps) par un banc de filtres uniforme à reconstruction parfaite est connue. On rappelle qu'une transformée MLT est un cas particulier d'analyse/synthèse par banc de filtres modulé en cosinus, où la longueur N des filtres (équivalente au degré des filtres "plus 1") est égale à deux fois le nombre de sous-bandes M (équivalente au nombre de filtres par banc), soit Λr = 2Af .
On ne décrit pas en détail le principe des transformées MLT invariables dans le temps, étant entendu qu'il est divulgué largement dans l'art antérieur, notamment dans : "Signal Processing with Lapped Transform" de H.S. Malvar, Artech House, Boston, 1992. On décrit ici le cas d'une variation temporelle de la conversion, suite par exemple à un changement de résolution de l'un des codeurs intervenant dans le transcodage.
Les codeurs de type MPEG-2/4 AAC et Dolby AC-3 fonctionnent avec des transformées MLT dont le paramètre M peut prendre deux valeurs qui définissent deux tailles de fonction fenêtre h(n) différentes (M1 ou M2 selon le tableau ci-après).
Figure imgf000010_0001
Tailles des fenêtres des codeurs MPEG-2/4 AAC et Dolby AC-3.
Le passage d'une taille de fenêtre à l'autre crée une variation dans le temps de la résolution fréquentielle de la transformée. Par ailleurs, ce passage doit être opéré tout en conservant la propriété de reconstruction parfaite du signal. Les transformées TV- MLT utilisées par les codeurs précités vérifient bien cette condition. Plus particulièrement, la technique de commutation de fenêtres (pour "windows switching"), définie dans la norme MPEG-2/4 AAC, utilise des fonctions fenêtres de transition asymétriques notées ci-après hstart et hstop , pendant les périodes de changement de résolution.
On définit ci-après les opérations mises en œuvre par les transformées TV-MLT en suivant l'allure des fenêtres de transitions hstart et hstop qui garantissent la propriété de reconstruction parfaite.
La matrice de transformée à recouvrement, P , est décomposée de la manière suivante
P = DM ®hΛ/ où l'opérateur ® est défini comme le produit composantes à composantes et lignes à lignes des éléments matriciels. Dw est la matrice de modulation, de taille, M x 2M , définie par :
Figure imgf000011_0001
avec les fonctions de base telles que :
Figure imgf000011_0002
et * = O,...,M -1 , w = 0,1,...,(2M -I) .
On note hw le vecteur associé à la fonction fenêtre de longueur 2M , avec : hM = (hM (O) hM(\)...hM(2M -\)) Ses composantes hM (n) peuvent être définies par exemple par la fonction sinusoïdale
(la plus couramment utilisée dans les applications de traitement de signaux audio), de type :
Figure imgf000011_0003
On note enfin hM et hM les vecteurs associés respectivement aux fonctions fenêtres de longueurs respectives M1 et M2 , et r le ratio tel que r = MxIM1 (>1).
On adopte une représentation en composantes polyphasées du signal d'entée x{n) telle que : u,(m) = x(mM -l), / = O,...,M -1 Le bloc d'échantillons représentant une composante polyphasée d'indice m est alors défini par : u(m) = {uM ^m)...U1(In) uo(m))' , où la notation xτ désigne la transposée du vecteur x . Pour obtenir un bloc de 2M échantillons, on concatène deux blocs successifs tel que :
U(m) = (u(m - V) u{m))' (4)
La transformée du bloc signal UJm) , notée Y_{m) , est déterminée par :
Y(m) = ¥U(m) (5) où Yjjri) = (yo(m) y\ (m) ...yM_χ (m))' est le vecteur des coefficients transformés.
Lors d'un passage d'une fenêtre longue à une fenêtre courte, on prend le cas d'un vecteur de signal U_{m) de longueur 2M1 auquel on applique une fenêtre longue de transition, notée hstart , avec la matrice de modulation DM . Le vecteur précédent H(m ~ 1) es* de longueur 2M1 auquel on a normalement appliqué une fenêtre longue standard hM avec la matrice de modulation Dw . En revanche, les r vecteurs aux instants suivants (m+l, m+2, ..., m+r), notés W_(m + V) , Wjjn + 2) ,..., W_(m + r) , sont tous de longueur courte 2M2 . On leur applique des fenêtres courtes standard hw avec la matrice de modulation DM .
Ensuite, lors d'un passage d'une fenêtre courte à une fenêtre longue, le signal U_(m + 2) est de longueur 2M1 et on applique une fenêtre longue de transition, notée hstop , avec la matrice de modulation OM .
Les composantes des vecteurs qui interviennent pendant les deux changements successifs de taille de fenêtre s'écrivent :
U (m) = [xφn - 2)Mι + 1) ...x(mMx )) W_(m + 1) = (x((m - I)M1 + An + 1) ...x({m - V)Mx + An + 2M1))
W(m + r) = (Jt(Cm -I)M1 + An + (r -I)M2 + V)... x((m -I)M1 + An + (r + V)M2)) U_(m + 2) = (x(mMι +ï)...x((m + 2)Mι))
Le paramètre An est fixé à la valeur An = (Mι -M2)I2 . Les dispositions de ces vecteurs sont illustrées sur la figure 3 pour le cas où MJM1 = 2 . La figure 3 illustre en particulier une transition fenêtre longue à fenêtre courte à l'instant mMλ et une transition fenêtre courte à fenêtre longue à l'instant (m + I)M1. L'axe des temps porte la référence TEMP. On constate un recouvrement entre le vecteur long UJm) et les vecteurs courts WJm + 1) , WJm + 2) suivants. Ce recouvrement est le même que celui entre les vecteurs courts et le premier vecteur long suivant UJm + 2) .
Dans ces conditions, il a été montré que la propriété de reconstruction parfaite de la transformée TV-MLT ne dépend, comme pour le cas d'une transformée MLT classique, que des fonctions fenêtres utilisées et, en particulier, des deux fenêtres de transition hstart et hstop de longueur 2M1 . La condition de reconstruction parfaite est vérifiée pendant les périodes de transitions si ces fenêtres de transitions sont celles définies selon les quatre conditions ci-après, en supposant que la dimension de la transformée change à l'instant mMx de M1 vers M2 , puis à l'instant (m + I)M1 de M2 vers M1 .
* Première condition : la fonction fenêtre, pour une transformée de taille M1 , est telle que :
Figure imgf000013_0001
* Seconde condition : la fonction fenêtre qui intervient à la transition de M1 vers M2 est telle que :
Figure imgf000014_0001
* Troisième condition : la fonction fenêtre, pour une transformée de taille M2 , est telle que :
Figure imgf000014_0002
* Quatrième condition : la fonction fenêtre qui intervient à la transition de M2 vers M, est telle que :
Figure imgf000014_0003
Pour la troisième condition, il y a r transformées MLT successives de dimension M2 entre deux périodes de transition. La première transformée débute à l'instant (m - I)M \ + An . La dernière transformée se termine à l'instant mMλ + M1 + An .
La figure 4A illustre l'allure de la fonction de transition hstm(n) qui intervient pendant un changement de dimension de M1 vers M2 définie par les quatre conditions ci-avant assurant une reconstruction parfaite. On notera que la fenêtre de transition hstop(n) réciproque intervenant pendant une transition de M2 vers Mx est simplement telle que :
La figure 4B représente la succession des fenêtres de transition qui interviennent pendant les deux périodes de changement de résolution temporelle de la transformée
TV-MLT. Plus particulièrement, la figure 4B illustre le fenêtrage intervenant pendant les deux changements de résolution de M1 vers M1 , puis de M2 vers M1 , avec dans l'exemple représenté M1 = 1024 et M2 = 128.
En pratique, on peut alors considérer plusieurs changements de résolution de la transformée. Ces changements de résolution interviennent aux instants multiples de M1 et sont déclenchés en fonction des propriétés du signal incident, notamment de stationnarité. Cette propriété est connue des codeurs à changement dynamique de résolution.
En particulier, en référence à la figure 4B, on note des équivalents de transformées MLT :
- sur une fenêtre longue pour les instants n compris entre 0 et 2047, appelée ci-après "première région", - sur une première fenêtre de transition pour assurer une reconstruction parfaite, pour les instants n compris entre 1024 et 2623, appelée ci-après "deuxième région",
- sur une succession d'une pluralité de fenêtres courtes ( r fenêtres hM> de taille M2 ), pour les instants n compris entre 2496 et 3647, appelée ci-après "troisième région", et
- sur une seconde fenêtre de transition pour assurer une reconstruction parfaite vers un retour à une fenêtre longue, pour les instants n compris entre 3520 et 5119, appelée ci- après "quatrième région".
L'observation du fenêtrage sur la transition, comportant en particulier la troisième région avec la succession de fenêtres courtes, est importante pour la suite de la description.
La transformation TV-MLT globale peut être définie de façon complète par une matrice globale de conversion, de dimension "infinie", notée T(m) et telle que :
Figure imgf000016_0001
où P0 (m) et P1(W) sont des sous-matrices de taille M xM définies aux indices de bloc m qui correspond à l'instant mMx .
En particulier, la concaténation P(m) = [P0(/w) P1(^)] dé taille M1 X 2M1 représente la matrice de transformation à recouvrement dont les expressions seront données ci- après pour tout instant mMx .
La condition de reconstruction parfaite qu'assure la transformée TV-MLT est régie par l'égalité :
T" (m)Υ(m) = I
En utilisant la formulation (6) de la matrice de transformation, la condition de reconstruction parfaite est définie de façon équivalente simplement par les trois égalités suivantes :
Figure imgf000016_0002
La condition de reconstruction parfaite (7) implique que la matrice de transformée à recouvrement P(Vw) reste orthogonale aux deux matrices voisines P(m -l) et V(m + 1) . En reprenant les quatre conditions données plus haut, avec la succession de changements de taille de la transformation, les matrices de transformées à recouvrement sont alors définies par :
Figure imgf000017_0005
La matrice de transformée à recouvrement, finie, associée au bloc m + l qui correspond à r transformées MLT successives de taille M2 ("troisième région" de la figure 4B) est, quant à elle, définie par :
Figure imgf000017_0001
où et sont les matrices de transformées à recouvrement de la transformée
Figure imgf000017_0002
Figure imgf000017_0003
MLT de taille M2 x 2M, et qui se décomposent aussi sous une forme du type
Figure imgf000017_0004
On montre ainsi qu'il existe quatre situations possibles (quatre régions de la figure 4B) définies par quatre valeurs possibles de la matrice F (m) . On comprendra déjà que la matrice de transformée à recouvrement P(w) admet quatre "états" possibles.
Dans la suite, l'expression de la matrice P(m + 1) donnée ci-avant, correspondant à l'un des quatre états admissibles, sera notée QM pour qualifier de manière générale cet état parmi les quatre états admissibles.
Partant des définitions des matrices à recouvrements possibles P(m) , on montre que les conditions de reconstruction parfaite (7) sont vérifiées quand les fonctions fenêtres des filtres prototypes hstart et hstop sont celles définies par les quatre conditions ci- avant.
L'opération de transformation directe de la transformée TV-MLT est alors définie par :
Y(m) ≈ Ϋ(m)U(m) (10) où Y_{m) est le vecteur des coefficients transformés à l'instant mMx et U_{m) est un vecteur défini à partir du vecteur d'entrée par la relation (3) ci-avant.
L'opération de transformation inverse est définie, comme pour le cas invariant de la transformée MLT, par deux étapes :
- transformation inverse des vecteurs des coefficients transformés :
Z (m) = P(m)' Y (m) (11)
- addition avec recouvrement (ou OLA pour "overlap and add") des vecteurs obtenus û{m) = zo(m) + zι{m -l) (12) où on note :
" z_o(m) e* h(m) ^es blocs de taille M1 composant le vecteur ZJjn) , tel que Z(m) = (zo(m) z,(w)) , et - û(m) le vecteur reconstruit, censé valoir le vecteur initial u(m) car la reconstruction est parfaite.
On décrit maintenant les bases d'une représentation d'une transformée TV-MLT par des bancs de filtres.
La transformée TV-MLT présentée ci-avant permet de passer d'une transformée MLT de taille M1 à une transformée MLT de taille M2 (ou inversement de M2 à M1 ), tout en conservant la propriété de reconstruction parfaite du signal. On a ainsi montré comment traiter les transformations directes et inverses de la transformation TV-MLT, sur des blocs vecteurs de même taille constante 2M1 .
En considérant le cas de la transformation du vecteur U_(m + Ï) par la matrice de transformation à recouvrement donnée par la relation (9) ci-avant (troisième région de la figure 4B), le vecteur 7(m + 1) de taille Mx , tel que :
Y(m + l) = Ϋ(m + l)U(m + l) est défini, par construction, comme étant la concaténation des r vecteurs transformés suivants, tous de taille M2 :
Figure imgf000019_0001
.
On rappelle que cette construction découle de l'observation de la figure 4B dont l'importance était soulignée ci-avant.
La matrice de transformée à recouvrement du bloc (m + 1) est construite de manière à respecter le décalage temporel An (figure 3).
Dans le cadre de la modélisation du système de conversion entre différents domaines de sous-bandes, il est avantageux de disposer d'une architecture d'implémentation de la transformée TV-MLT qui conduit à des opérations d'analyse/synthèse à dimension constante. Il est proposé ci-après une architecture en bancs de filtres à décimation maximale variant dans le temps définie comme suit.
La transformation TV-MLT utilisée notamment par les codeurs normalisés MPEG-2/4
AAC ou Dolby AC-3 et décrite précédemment admet une représentation en banc de filtres à décimation maximale variant dans le temps. La longueur des filtres est égale à deux fois le nombre M1 de sous-bandes. Le banc de filtres d'analyse (respectivement de synthèse) équivalent est décrit par le diagramme de la figure 5A (respectivement de la figure 5B) et les représentations dans le domaine de la variable Z des filtres H''(n,Z ),...,HMι"l(n,Z ) (respectivement F0 (Z , n),...,FM>~1 (Z , n) ) aux instants mMx sont définies comme suit.
Sur une période à résolution temporelle M1 , les coefficients des réponses impulsionnelles hϋ k {mMλ),...,h2 k M^ {mMx) et fo k(mMx),...,f2 k λf^x(mMx) , avec k = 0,...,M1 -1 , sont donnés par les relations (13) et (14) :
Figure imgf000020_0001
II s'agit d'un premier état possible correspondant à la situation de la première région de la figure 4B.
Pendant une période à résolution temporelle M2 , les coefficients des réponses impulsionnelles
Figure imgf000020_0002
, avec k = 0,...,M1 -1 , sont donnés par les relations (15) et (16) :
Figure imgf000020_0003
Figure imgf000021_0001
II s'agit d'un deuxième état possible correspondant à la situation de la troisième région de la figure 4B.
Pendant une période de transition passant d'une résolution M1 vers M1 , les coefficients des réponses impulsionnelles
Figure imgf000021_0002
et
Figure imgf000021_0003
avec k = 0,...,Mx —l , sont donnés par les relations (17) et (18) :
Figure imgf000021_0004
Figure imgf000021_0005
11 s'agit d'un troisième état possible correspondant à la situation de la deuxième région en figure 4B.
Pendant une période de transition passant d'une résolution M2 vers M1 , les coefficients des réponses impulsionnelles et
Figure imgf000021_0006
fcj(mMr ),..., f*M ^λ{mMx) , avec k = 0,...,Mx ~\ , sont donnés par les relations (19) et (20) :
Figure imgf000022_0001
Figure imgf000022_0002
II s'agit enfin d'un quatrième état possible correspondant à la situation de la quatrième région de la figure 4B.
Les résultats ci-avant seront utiles pour ce qui suit, dans le sens où les termes définissant les filtres
Figure imgf000022_0003
sont finalement déterminés directement à partir de la matrice de modulation D, connue et exprimée par la relation (1), d'une part, et à partir des fenêtres h définies par les quatre conditions ci-avant pour satisfaire la reconstruction parfaite, d'autre part.
Le banc de filtres d'analyse/synthèse ainsi défini est alors à reconstruction parfaite. Telle est la base de la représentation de la transformée TV-MLT par des bancs de filtres. Ici, seuls les coefficients des filtres varient dans le temps, le nombre de sous- bandes restant fixe.
On retiendra alors, en termes généraux, que chaque jeu de coefficients du banc d'analyse ou de synthèse, associé à un état possible, peut être calculé en fonction d'une matrice de modulation D et d'un vecteur h caractérisant cet état possible et assurant une propriété de reconstruction parfaite (comme dans l'exemple décrit ci-avant) ou encore "quasi-parfaite". On entend par reconstruction "quasi-parfaite" la propriété de reconstruction des bancs de filtres utilisés dans des codeurs de type MPEG- 1/2 layer I&I1 notamment. On comprendra alors que, dans le cas par exemple d'une combinaison d'un codeur de ce type à un codeur variant dans le temps, les propriétés décrites ci- avant peuvent encore être observées.
On a ainsi vaincu un préjugé de l'état de l'art selon lequel il n'était pas possible de représenter une transformée variante dans le temps par des bancs de filtres. Ici, on a démontré qu'une transformée TV-MLT était bien équivalente à une représentation en bancs de filtres avec un nombre fixe de sous-bandes, maximum, correspondant à l'état où la fenêtre de pondération est longue, et ce, quelque soit l'état de la transformée TV- MLT. Cette réalisation permet alors d'anticiper tous les changements possibles d'état de la transformée TV-MLT.
En particulier, on a montré l'équivalence de la représentation des transformées à recouvrement variant dans le temps TV-MLT par un banc de filtres FIR (à réponse impulsionnelle finie) et à décimation maximale variant dans le temps. Des systèmes variant dans le temps, couramment utilisés, notamment par les codeurs MPEG-2/4 AAC et Dolby AC-3, peuvent alors mettre en œuvre des représentations en sous- bandes adaptatives, lesquelles peuvent être définies, comme décrit ci-avant, par le formalisme des systèmes linéaires variant dans le temps.
Des détails sur le formalisme des systèmes linéaires variant dans le temps sont décrits notamment dans : "Time-Varying Filters and Filter Banks: Some Basic Principles" ', S Phoong et P.P.
Vaidyanathan, IEEE Transactions on Signal Processing, volume 44, n°12, pages 2971-
2987 (Décembre 1996), et
" Factorizability of lossless time-varying filters and filter banks", S Phoong et P.P.
Vaidyanathan, IEEE Transactions on Signal Processing, volume 45, n° 8, pages 1971- 1986 (AoUt 1997). On décrit maintenant la technique de conversion au sens de l'invention, elle-même, en tenant compte de cas particuliers de transcodage, ainsi que le contrôle du retard algorithmique induit par la conversion au sens de l'invention.
Comme indiqué précédemment, on décrit des conversions où les représentations temps/fréquences varient dans le temps.
La figure 6 montre la représentation en blocs multi-cadences pour illustrer la conversion.
Des vecteurs de signaux en sous-bandes X(κ) = [x0 («),... ,Λi_1(n)]' sont transmis en entrée d'un banc de filtres de synthèse F°(Z ,n),...,FL~ι(Z ,n) comportant L canaux, après avoir subi une expansion (sur-échantillonnage d'un facteur L ). Le signal synthétisé x(n) est analysé par le banc de filtres Hυ(«,Z ),..., H^"1 («, Z ) comportant M canaux et on obtient en sortie, suite à l'application d'une décimation (sous- échantillonnage d'un facteur M), de nouveaux signaux en sous-bandes
Y(«) = [>Ό («),---, yM _](«)]' • On comprendra alors que le nombre de canaux L et M restent constants mais les valeurs des coefficients des filtres changent notamment selon le fenêtrage (fenêtres longues, fenêtre courtes, fenêtres de transition, conformément à l'observation de la figure 4B). Sur la figure 6, la notation T L correspond à un suréchantillonnage (ou expansion) d'un facteur L tandis que la notation X M correspond à un sous-échantillonnage (ou décimation) d'un facteur M.
On cherche alors à fusionner en une seule étape l'application des deux bancs de filtres synthèse/analyse pour réduire la complexité algorithmique (nombre d'opérations de calcul et mémoire requise).
Les techniques de conversion entre représentations du signal dans différents domaines de sous-bandes sont utilisées pour effectuer les transcodages notamment entre les codeurs :
- selon la norme MPEG- 1/2 (layer I et II),
- et/ou MPEG-2/4 AAC, - et/ou du type Dolby AC-3, et
- et/ou encore selon la norme G 722.1 (par exemple le codeur dit "TDAC" pour « Time Domain Aliasing Cancellation »).
Les représentations temps/fréquences du signal utilisées par ces codeurs, sont précisées dans les normes et sont telles que :
• pour MPEG- 1/2 layer I et layer II, on utilise une représentation du signal en sous-bandes, basée sur l' analyse/synthèse par bancs de filtres de type pseudo- QMF (pour « Quadrature Mirror Filter » qui se traduit par « filtre miroir en quadrature »), comportant 32 canaux, • pour MPEG-2/4 AAC, on utilise des représentations en sous-bandes à résolution variable et des analyses par transformées à recouvrement, variant dans le temps TV-MLT où la longueur des blocs 2M transformés dépend des propriétés du signal traité,
• pour Dolby AC-3, on utilise une représentation du signal par transformée TV- MLT, à recouvrement variante dans le temps avec M = 256 ou M = 128 ,
• pour G 722.1 (TDAC), on utilise une représentation par bancs de filtres TDAC comportant 320 sous-bandes.
Dans ces conditions, le codeur G 722.1 et les codeurs MPEG-1/2 (layer I & II) utilisent des représentations par bancs de filtres invariant dans le temps. Par ailleurs, il a été souligné plus haut que les transformées TV-MLT des codeurs MPEG-2/4 AAC et AC- 3 admettent une représentation sous la forme d'un banc de filtres à décimation maximale et à nombre M de sous-bandes fixe, avec des filtres variant dans le temps.
On propose alors de définir ci-après les filtres d'analyses Hk(n, Z ) et de synthèse Fk(Z ,n) , pour tous les types de codeurs cités. Ainsi, la figure 6 représente formellement tous les cas de conversions possibles entre les différents exemples de codeurs cités.
On note : le vecteur colonne regroupant les M filtres
Figure imgf000026_0001
d'analyse variant dans le temps, et
- F(Z , n) = [F° (Z , n),...,FL"ι(Z ,n)] le vecteur ligne regroupant les L filtres de synthèse variant dans le temps.
* Définition de l'expression selon la forme A
Les représentations dans le domaine Z correspondantes peuvent être notées :
Figure imgf000026_0003
où l longueurs respectives des filtres Nh (d'analyse) et Nf (de synthèse) sont constantes.
Le vecteur des signaux en sous-bandes, Y(«) , à la sortie du banc de filtres d'analyse, s'écrit :
Figure imgf000026_0002
où on définit l'opérateur matriciel g(n,Z ) = H(n,Z )F(Z ,n) par sa représentation dans le domaine Z d'une forme dite ci-après "forme A" telle que ses éléments sont définis par :
Figure imgf000027_0002
ave kx =0,..., (M-I) et k2 =0,..., (L-I). Ses coefficients g*"*2(«) sont définis par :
Figure imgf000027_0003
* Définition de l'expression selon la forme B
On peut définir aussi l'opérateur g(/7,Z) = H(«,Z)F(Z,«) sous une autre forme, dite ci-après "forme B ", comme suit :
Figure imgf000027_0001
avec £, ,..., (M-I) et A2 =0,..., (L-I) et les coefficients g^ι'kl(n) étant définis par :
Figure imgf000027_0004
Dans ce cas, l'équation générale de la conversion entre les signaux en sous-bandes, définie selon cette forme B s'écrit :
Figure imgf000027_0005
On comprendra donc que ces deux variantes d'expression selon la forme A ou selon la forme B sont équivalentes mais diffèrent simplement par la manière de calculer mathématiquement les matrices g. En reprenant le formalisme des systèmes variant dans le temps décrit ci-avant, on cherche maintenant à fusionner des opérations induites par le schéma conventionnel de conversion.
Dans la suite, les représentations des opérateurs matriciels g(«,Z ) ou g(Z ,«) sont notées de la manière suivante :
• Selon la forme
• Selon la forme
Figure imgf000028_0003
Ainsi, à un instant d'indic n donné, gf (n) (respectivement gf(«) ) définit la matrice de dimension M x L et comportant tous les z-èmes coefficients de filtrage gf"*2 («) donnés par la relation (24) ci-avant (respectivement donnés par la relation (26)).
On utilise maintenant des principes du document FR-2,875,351 et on note à cet effet K = ppcm(L,M) , le plus petit entier commun multiple des nombres M et L .
On note aussi px , p2 les entiers naturels tels que K = P1M = p2L .
On note U -(Λ) le vecteur de la j -ème composante de la décomposition polyphasée d'ordre pn du vecteur X(w) défini ar :
Figure imgf000028_0004
Le vecteur d'entrée X(«) des signaux en sous-bandcs se décompose comme suit
Figure imgf000028_0001
et l'équation de conversion (22) s'écrit :
Figure imgf000028_0002
Par ailleurs, en décomposant le vecteur des signaux Y(«) en sous-bandes en pλ composantes polyphasées telles que , où i = 0,...,p{ , on obtient
Figure imgf000029_0002
une nouvelle équation de conversion pour la z' -ème composante polyphasées du vecteur signal en sous-bande Y(n) telle que :
Figure imgf000029_0001
Cette équation (31) est importante car elle représente la conversion des composantes polyphasées d'ordre p2 des signaux d'entrée vers celles d'ordre pλ des signaux de sortie.
En notant T(«,Z ) la matrice de conversion globale définie par la représentation selon la forme A , ses sous-éléments de filtrage A1. .(n,Z ) sont tels que
Figure imgf000029_0003
On notera ici que les sous-blocs A/ y.(«,Z ) ont la même dimension (L lignes et M colonnes) que la matrice g dont les coefficients sont donnés à la relation (24) ou (26) ci-avant (^1 compris entre 0 et M-I et kj compris entre 0 et L-I) et que la matrice globale T, carrée, comporte bienp2Z=^ lignes etpiM -K colonnes.
On notera en outre une caractéristique remarquable des sous-blocs A1 ^ (H, Z ) de la matrice de conversion globale T(n,Z ) . Les sous-blocs A. -(«,Z ) de même indice i peuvent être calculés pour un même instant i intervenant dans l'expression «+iM pour le calcul de la matrice g. En référence à la figure 13 A, ces blocs A1. .(n,Z ) calculés pour un même instant i sont répartis sur un « plan horizontal » de la matrice globale de conversion T(«,Z ) , tridimensionnelle. La matrice de conversion T(n,Z ) présente une profondeur (axe z tel que représenté sur la figure 13A) correspondant à la dimension (ou au degré) des filtres. Si Ton choisit de représenter la matrice de conversion en deux dimensions (projection perpendiculaire à l'axe z), les sous-blocs calculés pour un même instant i sont répartis sur une même ligne de sous-blocs.
L'équation de conversion se met finalement sous une forme plus simple :
V(») ≈ T(ι»,Z )U(n) (33) où U(«) = [U0(«),...,U^_,(«)T et V(«) = [V0 {ri),... ,V _,(«)]' sont les vecteurs des composantes polyphasées des signaux, respectivement d'ordre p2 en entrée, et d'ordre P1 en sortie.
En choisissant maintenant une expression selon la forme B , on utilise l'expression g(Z ,n) ici selon la relation (25) pour représenter les opérations successives de filtrages et on obtient une équation de conversion de la forme : V(w) = T(Z ,n)U(n) (34)
La matrice de conversion T(Z , ri) est alors définie par des sous-blocs A. j(Z ,n) tels qu
Figure imgf000030_0001
Là encore, les sous-blocs A.7(Z ,«) de même indice j peuvent être calculés pour un même instant y intervenant dans l'expression n + jL pour le calcul de la matrice g. En référence à la figure 13B, ces blocs A1. ;(Z ,n) calculés pour un même instant y sont répartis sur un « plan vertical » de la matrice globale de conversion T(w,Z ) . Si l'on choisit de représenter la matrice de conversion en deux dimensions (projection perpendiculaire à l'axe z), les sous-blocs calculés pour un même instant/ sont répartis sur une même colonne de sous-blocs. On pressent alors que les sous-blocs de la matrice globale de conversion peuvent être pré-calculés et stockés en mémoire pour différents instants et surtout pour différents états admissibles. Les sous-blocs associés à de mêmes instants peuvent être alors récupérés de la mémoire selon les changements dans le temps qui interviennent dans les formats de codage. Cette propriété d'un système au sens de l'invention sera décrite en détail plus loin, notamment en référence à la figure 11.
En termes plus généraux, on applique les étapes suivantes lorsque le vecteur d'entrée comporte un nombre L de composantes en sous-bandes respectives et le vecteur de sortie comporte un nombre M de composantes en sous-bandes respectives, après détermination d'un nombre K, plus petit commun multiple entre L et M :
- conversion série/parallèle du vecteur d'entrée pour obtenir p2 vecteurs composantes polyphasées, avec p2 = KfL , et
- conversion parallèle/série pour obtenir le vecteur de sortie. La matrice de conversion est alors appliquée aux P1 composantes polyphasées du vecteur d'entrée pour obtenir pλ composantes polyphasées du vecteur de sortie, avec P1 = KjM . Dans ces conditions, la matrice de conversion est carrée, de dimension Kx K , et comporte /?, lignes et p2 colonnes de sous-blocs Ay comportant chacun L lignes et M colonnes. En particulier, comme observé ci-avant en référence aux figures 13A et 13B, des sous-blocs Ay d'un même indice i (forme A) ou des sous-blocs Ay d'un même indice y (forme B) sont pré-calculés pour un même instant.
Ainsi encore, en référence aux figures 13A et 13B, la matrice de conversion est tridimensionnelle, avec : - une première dimension définie par l'indice courant i des sous-blocs,
- une deuxième dimension définie par l'indice courant 7 des sous-blocs,
- et une troisième dimension (axe Z) définie par le degré du filtrage matriciel.
Les sous-blocs pré-calculés pour un même instant forment alors des plans matriciels s'étendant vers la troisième dimension et sont : - horizontaux et pré-calculés pour p\ instants successifs dans une expression selon la forme l,
- ou verticaux et pré-calculés pour pi instants successifs dans une expression selon la forme B.
Dans la conversion entre domaines de sous-bandes au sens de l'invention, on cherche maintenant à minimiser le retard algorithmique introduit par le traitement des signaux en sous-bandes.
A cet effet, on introduit d'abord des avances dans le schéma de conversion conventionnel de la figure 6 pour réduire le retard créé par les bancs de filtres. Il s'agit alors de contrôler le retard algorithmique en ajoutant :
• une avance Z α en entrée du banc de filtres de synthèse, • une avance Z * en entrée du banc de filtres d'analyse, où a et b sont des paramètres numériques à déterminer.
Le contrôle du retard algorithmique est en tout point conforme à celui décrit dans le document FR-2,875,351, à la différence près néanmoins que les sous-blocs Ay dépendent ici du temps.
Dans ces conditions, la matrice de conversion T(«,Z ) définie par la représentation de domaine de tous ses éléments, est telle que :
Figure imgf000032_0002
Les sous-blocs matriciels g(«,Z ) sont tels que :
Figure imgf000032_0001
avec A1 =O,...,(M-1) et A2 =0,...,(1-1) et les coefficients gf"*2(w) de gf(n) sont définis par
La matrice de conversion T(Z, ή) selon la forme B maintenant, définie par la représentation de domaine de tous ses éléments, est telle que :
Figure imgf000033_0001
avec i = 0,...,P1-I et j = 0,...,p2-l. Les matrices g(Z ,#) sont telles que :
Figure imgf000033_0004
avec A1 =0,...,(M-I) et A2 =0,...,(Z-I) et les coefficients gfukl (n) de gf («) sont définis par :
Figure imgf000033_0002
Dans les deux cas selon la forme A ou selon la forme B, l'exposant eij=aL + b + iM - jL avec i = 0,...,P1 -1 et j = 0,...,p2-l qui apparaît dans la construction de la matrice de conversion, varie entre les deux valeurs extrêmes : e mm=aL + b-κ + L pour, z = 0, J = P2-I. eιmx=aL + b + K-M pour, i = px - 1, j = 0.
Les filtres de la matrice de conversion sont causaux si e^ ≤ K - 1 et de ce fait, on obtient la condition supplémentaire suivante : aL+b≤M-l
Pour un système de conversion à retard algorithmique minimal, il convient d'introduire le maximum d'avance possible. Le choix de a et b est fait avantageusement de manière à ce que elliax = K-I, ce qui implique : aL + b-M-l
D'après les équations de construction des matrices de filtrages g(«,Z) et g(Z,«), un choix avantageux des entiers (a,b) consiste à prendre : a = p2-l et, b = M + L-K-l (42)
Néanmoins, une alternative possible à la détermination du couple d'entiers (a,b) consiste à choisir a = 0 et b = M — l .
Dans ce cas, l'avance est contrôlée au niveau du signal intermédiaire x(n) en sortie du banc de filtres de synthèse et à l'entrée du banc de filtres d'analyse.
Pour construire la matrice de conversion, on cherche à identifier les composantes de la décomposition polyphasée de type 1 d'ordre K de la matrice g(« + /M,Z). On distingue alors deux cas selon les valeurs de et . =aL + b + iM - jL quand i = 0,...,-l et J = 0,...,p2 -1 :
- si 0 < e,. ;. < K-I, l'élément d'indice i,j de la matrice de conversion T(«,Z) est la et . -ème composante polyphasée de type 1 d'ordre K de g(« + iM, Z ) , de sorte que :
Figure imgf000034_0002
- si {aL + b + L- K)≤et j <-\ , l'élément d'indice i,j de la matrice de conversion T(«,Z) est la (K + etj)-ème composante polyphasée de type 1 d'ordre K de g(« + iM + K,Z), composée avec un retard Z , et on obtient :
Figure imgf000034_0001
Dans le cas d'une expression selon la forme B , pour construire la matrice de conversion, on identifie d'abord les composantes de la décomposition polyphasée de type 2 d'ordre K de la matrice g(Z , n + (J - ά)L) . On distingue encore deux cas :
- si O≤βj j ≤K -I, l'élément d'indice i,j de la matrice de conversion T(Z , ri) est la et ;. -ème composante polyphasée de type 2 d'ordre K de g(Z ,n + (j- a)L) et on a donc :
Figure imgf000035_0003
- si aL + b + L — K≤βij≤-l, l'élément d'indice i,j de la matrice de conversion T(Z, «) est la {K + et ^) -ème composante polyphasée de type 2 d'ordre AT de g(Z ,n + (j - a)L) composée avec un retard Z ~! et :
Figure imgf000035_0001
Dans la suite, on considère un système à retard minimal où a et b sont définis par la relation (42).
Pour les systèmes de conversion définis selon la forme A, quand i = 0,...,px-\ et j = O,...,p2-l:
• si 0 < ei j < K - 1 , le sous-bloc A1. } {n, Z ) de T(/z, Z ) est tel que :
Figure imgf000035_0004
où les matrices sont définies par
Figure imgf000035_0006
Figure imgf000035_0005
• si aL + b + L-K≤eu <-l, le sous-bloc A(/(«,Z) de T(«,Z) est tel que :
où les matrices
Figure imgf000035_0002
On définit la longueur NA intervenant dans l'indice maximum des termes des sommes ci-avant par :
1 , si 0≤e:j <r0,ou si 0≤K + et ; <r0
si r0 + 1 < e, j ≤ K - 1, ou si r0 + 1 < K + el} ≤K-l
Figure imgf000036_0001
où r0 = (N. +Nf—2) mod K , la notation "mod K" désignant la fonction "modulo K".
Pour les systèmes de conversion définis selon la forme B quand i = 0,...,p1 -1 et j = 0,...,p2-ï:
• s , le sous-bloc A1 ; (Z , ή) de T(Z , ή) s'écrit
Figure imgf000036_0005
Figure imgf000036_0002
les matrices A™; (n) étant définies par
Figure imgf000036_0003
• si , le sous-bloc A1 (Z , w) de T(Z , n) s'écrit
Figure imgf000036_0006
Figure imgf000036_0007
les matrices A"' (n) étant définies par
Figure imgf000036_0008
• si ai + b + L - K ≤ et >y < -1 , le sous-bloc A, ; (Z , n) de T(Z , ή) s'écrit
Figure imgf000036_0009
les matrices
Figure imgf000036_0004
(«AT + (y - a)L) . La longueur N4 est déterminée par
Figure imgf000037_0001
où ro = h + Nf -3 + K)mod K .
Pour simplifier les notations, on utilisera plus simplement les représentations suivantes, ci-après :
Figure imgf000037_0002
pour représenter les sous-blocs des matrices de conversion respectivement définies sous une forme A ou B .
Certains éléments A™y.(n) sont identiquement nuls et on obtient ainsi une longueur unique Nτ pour toutes les composantes de la matrice globale de conversion, définie par :
Figure imgf000037_0003
On traite ci-après le cas particulier où les nombres de sous-bandes respectives sont multiples l'un de l'autre, avec, tout d'abord M = pL .
Il s'agit du cas pratique où le nombre de sous-bandes du banc de filtres d'analyse est un multiple entier de celui du banc de filtres de synthèse. La conversion entre domaines de sous-bandes est alors définie par l'équation de conversion :
Figure imgf000037_0004
où la matrice de conversion T(«,Z ) est définie par :
Figure imgf000038_0001
Les sous-blocs de la matrice de conversion sont les composantes (M -1- JL) -ème de la décomposition polyphasée de type 1 d'ordre M de g(«,Z ) telle que
Figure imgf000038_0005
De plus, on choisit la relation (42) pour les paramètres de retard algorithmique, soit : a = p — \ et ό = Z -l et, dans ces conditions, les éléments e la matrice de
Figure imgf000038_0006
filtrage g/ (n) sont déterminés par
Figure imgf000038_0002
On notera encore deux alternatives possibles concernant le choix des paramètres de contrôle du retard algorithmique : (a, b) = (p , -1) ou (a, h) = (0,M - 1)
Un deuxième cas particulier est celui où le nombre de sous-bandes du banc de filtres de synthèse est un multiple entier de celui du banc de filtres d'analyse, soit : L = pM . Ici, le choix des paramètres d'avance (42) est tel que : α = 0 et ό = M -l De ce fait, les éléments de la matrice de filtrage gf («) sont déterminés par :
Figure imgf000038_0007
Figure imgf000038_0003
' (51)
L'équation de conversion de la composante V.(«) , définie sous la forme B , devient
Figure imgf000038_0004
avec / = 0,...,p -l . La conversion entre domaines de sous-bandes est définie par l'équation de conversion V(») = T(Z ,«)X(n) (52) où la matrice de conversion T(Z , n) est définie par
Figure imgf000039_0001
Chaque sous-bloc de la matrice de conversion correspond à la M - 1 + iM -ème composante polyphasée de type 2 d'ordre Z de la matrice de filtrage g(Z ,«) à l'instant nL et on obtient
Figure imgf000039_0002
II a été donné, dans ce qui précède, les équations à la base de la conversion au sens de l'invention. Dans ce qui suit, on décrit la manière de construire les opérateurs principaux intervenant dans un système au sens de l'invention, ainsi que la mise en œuvre pratique des traitements, pour l'exécution de l'invention.
Pour la construction pratique des opérateurs du système de conversion, il est distingué tout d'abord les cas où les dimensions M et L sont des multiples entiers l'un de l'autre, puis le cas général où le plus petit commun multiple K est différent des nombres respectifs de sous-bandes L et M . En effet, les cas où les dimensions sont des entiers multiples l'un de l'autre, sont d'abord décrits, pour plus de clarté de l'exposé, en vue de la construction des matrices principales de conversion T(«,Z ) (selon la forme A) ou T(Z , n) (selon la forme B).
La conversion pour le cas où M = pL est préférentiellement défini par une application de la forme A des opérations de filtrage. Le cas réciproque où L = pM est préférentiellement défini par une application de la forme B . Dans les deux cas, la construction des matrices principales de conversion suit deux étapes.
En particulier, dans le cas M = pL : - on construit la sous-matrice g(#,Z) dont les coefficients sont définis par la relation (50) :
Figure imgf000040_0004
où ^1=O,...,M-I, ^2=O,...,1-1 et i = 0,...,(Nh+Nf-2), - puis, on construit les p composantes polyphasées de type 1 d'ordre M de g(«,Z) telles que :
Figure imgf000040_0001
avec j = 0,...,p-\, et on applique une concaténation de ces p blocs de composantes polyphasées pour obtenir finalement la matrice globale T(«,Z), définie par la relation (48) :
Figure imgf000040_0003
Dans le cas où L = pM :
- on construit la matrice g(Z , ri) dont les coefficients sont définis par la relation (51):
Figure imgf000040_0002
où *, =0,...,M-l, /t2=0,...,L-I et i = 0,...,(Nh+Nf~2),
- puis, on construit la matrice principale de conversion T(Z , n) , définie par :
Figure imgf000040_0005
où chaque sous-bloc de la matrice de conversion est la ( M - 1 + iM )-ème composante polyphasée de type 2 d'ordre L de la sous-matrice g(Z ,n) à l'instant nL.
* premier cas particulier M — pL
Pour le cas M = pL, les coefficients de filtrage des bancs de synthèse (respectivement d'analyse) sont constants par morceaux et varient en fonction de l'instant n , en particulier aux instants multiples de L (respectivement de M ). De ce fait, pour effectuer les produits de convolution des réponses impulsionnelles des deux bancs de filtre
Figure imgf000041_0001
il convient de tenir compte des variations dans le
temp des réponses impulsionnelles de F(Z ,n + L — l — i) quand i = 0,...,(Nk + Nf - 2) . En effet, l'indice i de numérotation des coefficients d'une tranche matricielle gf («) apparaît dans le produit de convolution, à la fois comme indice de convolution et comme variable temporelle. Cette notion de "tranche matricielle" sera décrite plus loin en référence à la figure 8A.
De ce fait :
• si (N h + N, - 2) ≤ L , à un instant ri = nL , les coefficients des filtres de
F(Z ,nL + L -l -i) sont constants quelle que soit la valeur de z = 0,...,Nh + Nf -2 , • si (N11 + Nf - 2) > L , les réponses impulsionnelles de
F°(Z ,n + L -l-i),...,FL~1(Z ,n + L -l -i) du banc de synthèse F(Z , n + L - 1 - ï) effectuent un changement d'état au moins une fois avec l'indice i .
Dans ce dernier cas, pour construire le sous-bloc matriciel à un instant donné, il faut disposer de plusieurs états successifs du banc de filtres de synthèse et de l'état courant du banc de filtre d'analyse.
On se réfère maintenant à la figure 7 illustrant la conversion entre deux transformées TV-MLT. On indique que Nh = 2M1 , Nf = 2L1 et dans ce cas, ι = 0,...,2(p + I)I1 - 2.
Ainsi, pour déterminer l'état de la sous-matrice g(n',Z ) à un instant ri = ItM1 , les opérations de convolution partielle suivantes sont effectuées :
Figure imgf000042_0001
Pour construire la matrice g(nMx,Z ) d'après les relations de calcul de ses coefficients données ci-avant, on fournit, d'une part, les coefficients du banc d'analyse H(nM,,Z ) et, d'autre part, les coefficients des filtres des 2p + 2 bancs de synthèse : F(Z 9MM1XF(Z 5WM1 -L1 ),..., F(Z , nMx - (2 p + I)L1) , lesquels se succèdent dans le temps.
Ce traitement revient à effectuer 2p + 2 produits de convolution et concaténer 2p + 2 segments obtenus, de longueur L1 , pour obtenir les coefficients gf(«Mj) pour tous i = Q,...,2(p + Y)L1 -I . Si par exemple p = 2 , on regroupe les 2p + 2 = 6 états successifs du banc de filtres de synthèse autour de l'instant ri = nMx pour calculer les produits de convolution et obtenir des "tranches" (figure 8A) gg (nMx),...,gi(p+x), _,(«M,) qui définissent l'état de la sous-matrice g(n',Z ) à l'instant ri = nMx .
Ce résultat est valable pour le cas général de la conversion entre deux transformées TV-MLT. Par ailleurs, dans le cas général de deux bancs de filtres dont les longueurs sont déterminées par Nh et JV, , on détermine le terme :
Af = [(Nh + Nf -I)IL] + I (56) correspondant au nombre d'états successifs du banc de filtres de synthèse et on calcule les produits de convolution selon la relation (50) avec un seul état du banc de filtres d'analyse pour déterminer toutes les "tranches" matricielles gf (nM) . Cette construction est illustrée sur la figure 8A, laquelle montre schématiquement les regroupements réalisés pour effectuer les produits de convolution des états successifs du banc de filtres de synthèse avec ceux du banc de filtres d'analyses. Dans l'exemple représenté sur la figure 8A, on a p = 3 et Δ^ = 4 , dans le cas M=pL.
Avec ces regroupements, il est alors possible de calculer les états de la sous-matrice g(«',Z ) aux instants ri ≈ nM, (« + X)M, (n + 2)M,... etc.
Ensuite, pour la construction de la matrice globale de conversion, les sous-blocs de cette matrice globale de conversion T(«,Z ) = [A0(«,Z ),...,Ap_j(«,Z )] sont les
(M - 1 - jL) -ème composantes de la décomposition polyphasée de type 1 , d'ordre M , de la sous-matrice g(n,Z ) , avec :
Figure imgf000043_0001
Lorsque la sous-matrice g(«,Z ) est déterminée, il reste donc à extraire et ordonner les "tranches" matricielles gf(«M) pour construire chaque sous-bloc de la matrice globale T(«,Z ) . On notera alors que ces tranches matricielles gf (nM) sont toutes déterminées pour un même instant nM. En référence aux figures 13A et 13B, il s'agit de plans perpendiculaires à l'axe Z et définis chacun pour une puissance de Z , puisqu'il est rappelé que l'axe Z représente la dimension des filtres.
Ainsi, un état de la matrice globale de conversion T(«,Z ) est défini suite à la détermination de N7 tranches matricielles de taille M xM . Ci-après, on note Pm(n) la tranche matricielle d'indice m de la matrice de conversion T(«,Z ) , définie à l'instant d'indice n par
Figure imgf000044_0003
avec m = 0,...,(W7, -1) . De ce fait, la matrice de conversion T(n,Z ) définie par la relation (48), s'écrit aussi :
Figure imgf000044_0004
Le nombre N7. de tranches matricielles P0 («),... ,P^-1OO est défini par la valeur de la longueur maximale des composantes polyphasées d'ordre M de g(«,Z ) telle que
Figure imgf000044_0001
Ainsi, la matrice T(«,Z ) , exprimée selon la forme A, préférée dans le cas M = pL , s'écrit en fonction des sous-blocs Ay. selon les relations données ci-avant, et chaque sous-bloc A7. s'exprime en fonction des matrices g dont les coefficients g^'{n) dépendent des coefficients des filtres hk et fk déterminés, eux-mêmes, en fonction des quatre cas possibles illustrés sur la figure 4B. Finalement, on a construit complètement la matrice de conversion T(«,Z ) .
* second cas particulier L = pM
On décrit maintenant la construction de la sous-matrice g(Z ,«) pour le cas où L = pM . La différence principale avec le cas M = pL précédent est que les matrices de conversion sont préférentiellement définies sous la forme de type B. Le calcul des coefficients de filtrages gf1'*2 («) est déterminé par
Figure imgf000044_0002
On retrouve la même propriété sur l'indice i qui est à la fois un indice de convolution et une variable temporelle. Il faut donc tenir compte des variations du banc de filtres d'analyse H(« -M + l + z",Z ) , c'est-à-dire des changements d'états du banc de filtres, pendant le calcul des tranches matricielles gζ (n),,..,gB m+N ^2(n) . On a illustré sur la figure 8B le regroupement des états du banc de filtres d'analyse qui est utilisé pour déterminer les états de la sous-matrice g(Z ,«') aux instants ri = nMι,(n + l)Mι,(n + 2)Mι,....
Dans l'exemple représenté, on a p = 3 et Ah = 4 , cette quantité :
Figure imgf000045_0003
déterminant le nombre d'état successifs du banc de filtres d'analyse H(n -M + l + i,Z ) regroupés avec un état du banc de filtres de synthèse F(Z , ri) et permettant le calcul d'un état de la sous-matrice g(Z ,n) suivant une convolution partielle.
Dans ce second cas particulier où L = pM , la matrice de conversion T(Z , n) est définie par :
Figure imgf000045_0001
chaque sous-bloc A1-(Z 9W) de la matrice principale de conversion est la (M -1 + iM )-ème composante polyphasée de type 2 d'ordre L de g(Z ,«) à l'instant nL et on obtient
Figure imgf000045_0002
Un état de la matrice principale de conversion T(Z , n) est construit à partir de la donnée de l'état g(Z ,«) à l'instant nL . Il reste à extraire et ordonner les tranches matricielles de g(Z , nL) , déterminées pour un même instant nL, pour identifier les composantes polyphasées de type 2 d'ordre L . Cette dernière étape est aussi semblable à celle décrite dans le document FR-2,875,351 pour la construction de la matrice de conversion T(z) à partir de g(z) .
La matrice de conversion T(Z ,ri) est donc définie par la donnée, à chaque instant n , de ses Nτ tranches matricielles de taille Lx L . On note Pm (n) la tranche matricielle d'indice m de la matrice de conversion T(Z ,n) , définie à l'instant n par
Figure imgf000046_0001
avec m = 0,...,(Nr -l) . De ce fait, la matrice de conversion T(Z , n) définie par la relation (53), s'écrit aussi
Figure imgf000046_0004
Le nombre de tranches matricielles P0 (Λ), ... ,P^-1(W) est défini par la valeur de la longueur maximale des composantes polyphasées d'ordre L de g(Z ,n) , ici, telle que
Figure imgf000046_0002
Là encore, on a complètement construit la matrice de conversion T(Z ,n) à ce stade.
* Cas général K = ppcm{L,M)
Forme A
Dans le cas général maintenant où les nombres respectifs de filtres dans les bancs ne sont pas multiples l'un de l'autre (K = ppcm(L,M)), sous la forme A , la détermination des états de la sous-matrice g(«,Z ) est définie par le calcul de tous ses coefficients de filtrage gf"k2 (n) tels que :
Figure imgf000046_0003
avec A1 = O,...,(M -1) et k2 = 0,...,(L -I) et les paramètres de contrôle du retard algorithmique sont déterminés par les solutions données aux relations (42). On effectue, là encore, des regroupements de Af états successifs du banc de filtres de synthèse pour effectuer un produit de convolution, partiel, avec un état du banc de filtres d'analyse H(H,Z ) (figure 9A).
La matrice principale de conversion T(«,Z ) est définie par la construction de ses sous-blocs A .. (n, Z ) tels que :
Figure imgf000047_0002
avec i = 0,...,P1 -1 et j = 0,...,p2-\.
Lorsque O≤e^ ≤K-l, l'élément A1. j(n,Z) de la matrice de conversion principale T(M,Z) est la e.y-ème composante polyphasée de type 1 d'ordre K de la matrice g(n + iM,Z ) et on a donc
Figure imgf000047_0001
L'indice courant / désigne à la fois le numéro de la composante polyphasé avec et j et une avance temporelle iM . Dans ces conditions, la construction d'un état de la matrice principale de conversion est déterminée par la donnée de pλ états successifs de g(ra',Z) pris aux instants ri = nK,nK + M,...,(n + l)K-M .
Cette propriété est aussi vérifiée pour les composantes polyphasées ei} telles que (aL + b + L-K)≤etj <-l. L'élément A.;(w,Z) de la matrice de conversion principale T(n,Z) est la (K-Ve1 ;.)-ème composante polyphasée de type 1 d'ordre K de g(« + iM + K,Z) composée avec un retard Z "' , soit :
Figure imgf000047_0003
On détermine donc les états de g(«',Z) pris aux instants ri = nK,nK + M,...,(n + \)K -M pour construire un état de la matrice principale de conversion.
La figure 9A illustre les regroupements de plusieurs états de g(«,Z) permettant de calculer un état de la matrice de conversion. Dans l'exemple représenté, on a choisi P1 =3 et P2=A. Un état de g(n',Z) à l'instant ri = nK + ïM permet d'extraire la série de composantes polyphasée A1 (n, Z ) avec j = 0, ...,/?,— 1. Cette série représente une ligne de p2 composantes parmi les pχ lignes deT(«,Z). Il est important d'observer, sur cette figure 9A, que l'ordonnancement des composantes polyphasées A1., (n, Z ) représente les états de la matrice transposée T' («,Z ) de T(«,Z ) .
* Cas général K = ppcm(L,M)
Forme B
Sous la forme B des opérateurs et toujours dans le cas général, les états de g(Z , n) sont déterminés par le calcul des coefficients de filtrages g*"*2 (n) tels que :
Figure imgf000048_0002
avec kx = 0,...,(M -I) et k2 = O,...,(I -1) et les paramètres de contrôle du retard algorithmique sont déterminés par les solutions des relations (42). Il faut regrouper Δh états successifs du banc de filtres d'analyse pour effectuer un produit de convolution partiel avec un état du banc de filtres de synthèse F(n,Z ) (figure 9B).
La matrice principale de conversion est déterminée par la représentation de domaine de tous les sous-blocs A . (Z , n) tels que
Figure imgf000048_0001
avec / = 0,...,/?, -1 et / = 0,...,/>, -1.
Lorsque 0 ≤ et ;. < K -I , l'élément A1- . (Z , H) de la matrice de conversion T(Z , n) est la e(. . -ème composante polyphasée de type 2 d'ordre iT de g(Z ,n + (j -a)L) et on a donc
Figure imgf000048_0003
On notera que l'indice j intervient à la fois dans le numéro e(. de composante polyphasée et dans l'avance temporelle (j -a)L . De ce fait, pour calculer l'état de la matrice principale de conversion à l'instant n , on détermine p2 états successifs de g(Z ,«') associés aux instants n' = (n — X)K + L,(n - I)K + 2L,...,nK ( a = p0 -1 ). Ce regroupement permet de construire aussi les composantes polyphasées e . telles que aL + b + L - K ≤ et J ≤ -1 . L'élément A^(Z ,w) de la matrice de conversion principale T(Z , n) est la (X + e; /)-ème composante polyphasée de type 2 d'ordre K de g(Z ,n + (j - Ci)L) , composée avec un retard Z ~] . Il s'écrit :
Figure imgf000049_0001
Pour la mêm raison, on détermine au préalable p2 états de g(Z , n') associés aux instants n' = (n — I)K + L,(n -l)K + 2L,...,nK , pour construire toutes les composantes polyphasées qui constituent un état de la matrice principale de conversion.
La figure 9B illustre la construction de la matrice de conversion correspondant au cas où P1 = 4 et p2 = 3. Un état de g(Z , n') pris à l'instant n' = (n - I)K + (j + I)L permet de construire une colonne complète, constituée de p{ composantes polyphasées A. (Z ,n) avec i = 0,...,pι —l . Finalement, la matrice globale de conversion à chaque instant est obtenue suite à la construction des P1 colonnes.
On définit maintenant un système de conversion au sens de l'invention.
Pour le cas où M = pL , la relation de la conversion (47) établie sous la forme Y(«) = T(«,Z )U(M) définit, sous la forme A , un filtrage matriciel variant dans le temps du vecteur U(n) par la matrice globale T(n,Z ) . Les signaux en sous-bandes Y(n),Y(κ + l),...,Y(« + JV7, -1) successifs sont obtenus par les opérations :
Y(n) = F0(n)υ(n) + P] (n)υ(n -l) + ...+ P^(n)V(n ~ Nτ +l) Y(« + 1) = P0 (n + I)U(M + 1) + P1 (n + l)U(n) + ... + PV/ _, (n + l)U(n - Nτ + 2)
Y(n + N7. -1) = Po(« + Nτ -l)U(w + Nτ - 1) + ...+ Pv+1(« + Nτ -l)U(w)
Le schéma de la figure 1OA illustre une mise en œuvre de la conversion (avec Λf r = 3 dans l'exemple représenté) des signaux en sous-bandes successifs U(«),...,U(« + 3) . Il apparaît donc que le système de conversion peut être construit par de simples matrices de transformées, suivie d'une addition avec recouvrement des blocs des vecteurs transformés.
Pour l'autre cas particulier des conversions où L = pM , la relation de conversion est établie sous la forme V(n) = T(Z ,n)X(n) et représente un filtrage matriciel de type B variant dans le temps du vecteur des signaux en sous-bandes X(n) par l'opérateur de conversion T(Z , ri) . La conversion s'effectue directement sur les signaux en sous- bandes en entrée d'un transcodeur, tandis qu'on effectue une décomposition polyphasée d'ordre p des signaux après conversion. Les composantes polyphasées successives V(w),V(« + l),...,V(n + iVr -1) , d'ordre p , sont obtenues par les opérations :
V(ή) = 'P0(n)X(n) + Vi(n -\)X(n -ï) + ...+ V^_ι(n -Nτ +ï)X(n -Nτ +l)
Y(n + 1) = ¥0(n + l)X(n + l) + ¥1(n)X(n) + ...+ PN^1(H - Nτ + 2)X(n - Nτ + 2)
V{n + Nτ -l) = F0(n + Nτ - l)X(n + N1, - 1) + ... + P^+1 (w)X(n)
Le schéma de la figure 1OB illustre la conversion (ici avec Nτ = 3 ) des signaux en sous-bandes successifs X(n),...,X(n + 3) . Il apparaît encore que le système de conversion peut être mis en œuvre par des matrices de transformées, suivi d'une addition avec recouvrement.
On décrit maintenant un exemple de fonctionnement du système de conversion global au sens de l'invention.
En référence à la figure 11, un système de conversion entre représentations du signal dans différents domaines de sous-bandes comporte un module CSP de conversion série/parallèle du vecteur signal incident X(ri) comportant les composantes xn (n '),..., xL ,(«') en sous-bandes respectives. Le module CSP effectue l'équivalent d'une décomposition polyphasée d'ordre /?2 du vecteur signal X(n') , pour délivrer pi composantes U0 (H) ,. .., Upi_, (/i) d'un vecteur U(«) .
Ces composantes du vecteur U(«) sont alors appliquées à un module de filtrage matriciel MFM variant dans le temps et caractérisé par la matrice globale de conversion T(n,Z ) (ou T(Z ,n) selon la forme B) du type défini ci-avant. Le module MFM utilise alors des matrices de conversion variant dans le temps.
Les p\ composantes V0 («) ,..., Vp _j («) du vecteur V(«) issu du module MFM de filtrage matriciel sont finalement appliquées à un module CPS de conversion parallèle/série, lequel délivre les composantes yQ{n"\...,yM_ι {n") du vecteur signal de sortie Y(n"). Le module CPS réalise alors l'équivalent d'une recombinaison des composantes polyphasées d'ordre /J1. Le vecteur signal de sortie Y(n") , ainsi converti, peut être utilisé dans son nouveau format par exemple par quantification et codage, ou véhiculé, ou encore stocké pour des applications ultérieures.
L'ensemble de ces trois traitements successifs que réalisent les modules CSP, MFM et CPS est indiqué par un contour SYS en traits pointillés sur la figure 11 pour illustrer les modules réalisant la conversion proprement dite. On indique en outre qu'un module de commande de bascule SW peut détecter la meilleure résolution temps/fréquence, compte tenu par exemple des propriétés de stationnarité des signaux incidents. Cette commande peut contrôler avantageusement le mécanisme de commutation d'états parmi une pluralité d'états admissibles, notamment ceux décrits en référence aux différentes fenêtres de la figure 4B. De manière générale, on indique que le module de commande de bascule SW peut rechercher dans la mémoire DD tous les sous-blocs pré-calculés en fonction de tous les états possibles de la matrice de conversion T, par exemple tranches matricielles par tranches matricielles.
Un exemple de fonctionnement d'une commande de bascule SW est illustré sur la figure 14. Une horloge HOR (étape H 145) détermine un instant courant r . On a déterminé la matrice de conversion T à un instant t = nKTe , (avec K=ppcm(L,M) dans le cas général) où Te est la période d'échantillonnage du signal à traiter dans le domaine temporel). Si cet instant t a atteint un instant suivant (n+\)KTe (test T141), on doit redéterminer la matrice T . On vérifie néanmoins que les propriétés du signal n'ont pas changé (test T142), auquel cas les tranches matricielles récupérées de la mémoire DD (étape S 146) sont données pour des états différents (étape AM 144) de celles récupérées pour l'instant précédent nKTe (étape AM 143). En fonction de l'état défini au test T142, on détermine la matrice T (étape S 147) jusqu'à un instant suivant (n+2)KTe (boucle S 148). Dans l'exemple représenté, on peut donc analyser les propriétés du signal au test T 142, tous les KTe instants, pour construire globalement la matrice T .
Dans une variante de la réalisation illustrée sur la figure 14, puisque les lignes (forme A) ou les colonnes (forme B) de sous-blocs A17 de la matrice de conversion T sont pré-calculées pour de mêmes instants, on peut augmenter la fréquence du test Tl 42 sur les propriétés du signal, soit donc réduire la période d'exécution du test T 142 à MTe (pour la forme A) ou à LTe (pour la forme B) et récupérer des tranches matricielles à jour quant à la variation dans le temps des états possibles précités. Une telle variation, pouvant intervenir au sein d'une période KTe, sera alors détectée et prise en compte pour la construction de la matrice T.
Ainsi, dans cette variante, la matrice globale de conversion T est construite progressivement par appels à la mémoire DD à des instants successifs pour lesquels les sous-blocs Ay ont été pré-calculés.
La commande de bascule SW de la figure 11 gère donc les appels en mémoire DD des états de la matrice de conversion. La mémoire DD délivre, en retour, les tranches matricielles notées P0 («),... ,PV _,(«) pré-calculées pour un même instant n. Il est avantageux de prévoir à cet effet une mémoire rapide. Ainsi, les tranches P0 («),... ,PΛ _j(«) peuvent être pré-calculées en tenant compte des différents états admissibles, tandis que les appels en mémoire DD de ces tranches de filtrage peuvent être effectués à la volée, à chaque instant successif nK (ou, dans la variante précitée de la figure 14 : à chaque instant nM ou nL pour appeler des lignes (forme A) ou des colonnes (forme B) de sous-blocs et calculer progressivement la matrice globale de conversion T ).
On précise ci-après une relation entre l'indice n relatif aux états du système de conversion, d'une part, et les indices temporels notés ri et ri sur la figure 11, relatifs aux signaux en sous-bandes.
On note à cet effet fe la fréquence d'échantillonnage du signal temporel Xt et fx la fréquence d'échantillonnage des signaux en sous-bandes X(V) . Par construction, les signaux X(V) sont les signaux en sous-bandes définis dans le domaine transformé du banc de filtres de synthèse et on a une relation du type : fx = fJL La conversion série/parallèle correspond à une décomposition polyphasée d'ordre p2 de chacun des sous-signaux. De ce fait, la fréquence d'échantillonnage, notée fu , des vecteurs de composantes U(«) est p2 fois plus petite de sorte que : fu = fjp2 En principe, la conversion des vecteurs U (ri) afin d'obtenir les vecteurs \(n) ne fait pas intervenir de changement de fréquence. Par conséquent, la fréquence d'échantillonnage fv relative à V(n) est telle que /v = fu .
En revanche, la conversion parallèle/série correspond à une recombinaison des composantes polyphasées d'ordre px du signal en sous-bandes Y(n") . On note / la fréquence d'échantillonnage des signaux en sous-bande de sortie, de sorte que :
Figure imgf000053_0001
Par conséquent, pour garantir l'adaptation de cadence des trois échantillonnages intervenant dans le système de conversion, les trois indices temporels ri , n et ri vérifient la relation d'égalité : n' L = nK = ri M avec K = ppcm(L,M) . De ce fait, à une fréquence d'échantillonnage fe donnée, relative au domaine temporel, un nouveau L -uplet de coefficients en sous-bandes X(V) arrive en entrée du système de conversion aux instants multiples de L , c'est-à-dire après qu'une durée égale à LIf e se soit écoulée. Les changements d'état de la matrice de conversion interviennent aux instants multiples de K . Les tranches de filtrage P0(w),...,P^(n) arrivent donc en retour de la mémoire quand une durée K/fe s'est écoulée dans la réalisation illustrée à titre d'exemple sur la figure 14. On notera encore que dans la variante précitée de cette figure 14, on peut encore délivrer les lignes (forme A) ou les colonnes (forme B) de sous-blocs Atj pour de mêmes instants n, tous les M/fe ou tous les L/fe , respectivement, pour construire progressivement la matrice T. Au final, on délivre en sortie du système de conversion un nouveau M -uplet de coefficient en sous-bandes aux instants multiples de M , c'est-à-dire après qu'une durée de M/fe se soit écoulée.
Ainsi, en termes plus généraux, pour la forme A, le signal à traiter étant numérique et échantillonné initialement à une période Te, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g(«,Z ) , calculées quant à elles pour des instants successifs multiples d'une quantité MTe.
En particulier, le calcul des coefficients de chaque matrice de type g(«,Z ) à un instant multiple de la quantité MTe s'effectue alors en prenant :
- Af jeux successifs (ou "états admissibles") de coefficients du banc de filtres de synthèse déterminés pour Δ/ instants successifs dans une période MT e, et à partir d'un instant multiple de MTe,
- et un jeu de coefficients du banc de filtres d'analyse déterminé pour cet instant multiple de MTe, et en appliquant une convolution partielle entre les jeux successifs de coefficients du banc de synthèse et les coefficients du banc d'analyse, avec Δ/ = [(Nh +Nf-I)/ L]+l, où Nj1 et Nf sont les longueurs respectives des filtres d'analyse et de synthèse.
Pour la forme B, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g(Z ,n) , calculées quant à elles pour des instants successifs multiples d'une quantité
LTe.
Plus particulièrement, le calcul des coefficients de chaque matrice de type g(Z ,«) à un instant multiple de la quantité LTe s'effectue alors en prenant : - Δ/, jeux successifs (ou "états admissibles") de coefficients du banc de filtres d'analyse déterminés pour Δ;, instants successifs dans une période LT e, et à partir d'un instant multiple de LTe,
- et un jeu de coefficients du banc de filtres de synthèse déterminé pour cet instant multiple de LT e, et en appliquant une convolution partielle entre lesdits jeux successifs de coefficients du banc d'analyse et les coefficients du banc de synthèse, avec Δ/, = [(Nh+Nf-l)/M]+l, où Nh et Nf sont les longueurs respectives des filtres d'analyse et de synthèse.
On décrit maintenant comment la conversion au sens de l'invention peut être représentée par un schéma similaire à une représentation par un système linéaire, périodiquement variant dans le temps, ou LPTV (pour "Linear Periodically Time Varying"), décrite dans le document FR-2,875,351. Ci-après, une représentation ainsi similaire à une représentation par un système LPTV sera notée "s-LPTV".
* Mise en œuvre selon la forme A
Sous la forme A, pour i = 0,...,pι -\ , la relation de conversion est telle que la composante polyphasée numérotée i des signaux en sous-bandes de sortie est déterminée par
Figure imgf000055_0001
Dans ces conditions et tenant compte de la forme A , on obtient un sous-système numéroté / qui délivre la composante V1-(Ji) du signal de sortie comme représenté sur la figure 12 A. A titre illustratif, on a représenté un commutateur COM en entrée du sous-système, pour schématiser le "parcours" des p2 étages du sous-système à tour de rôle. Les opérations de filtrage qu'effectue le sous-système sont caractérisées par les composantes A. . (n, Z ) de la matrice principale de conversion (avec j = O, ..., p2 - 1 ).
Le fonctionnement du système global de conversion, dans le cas général, défini sous la forme A , peut être vu comme la structure de la figure 12B. Il comporte alors />, sous- systèmes linéaires variant dans le temps et le "commutateur" COMl à l'entrée opère périodiquement (avec une période p2 / ' fx ).
Chaque sous-système parmi cet ensemble (numéroté i avec i = 0,...,pι —l sur la figure 12B) est caractérisé par les p2 filtres A. ;(«,Z ) avec / = 0,...,/?, -1. Ces sous- systèmes fonctionnent en parallèle et le "commutateur" de sortie COM2 choisit aussi une de leurs sorties périodiquement comme sortie du système de conversion avec une période px l f . Les coefficients de filtrage de la matrice principale de conversion
T(n,Z ) varient avec le temps et ses changements d'état s'opèrent après chaque période de durée Ki fe . Le système global est donc équivalent à un système linéaire, périodiquement variant dans le temps, et de période K I fe , avec :
K = P2L = P1PI eI fe = Lfx = Mfy
Les deux commutateurs à l'entrée COMl et à la sortie COM2 du système opèrent avec une fréquence fe l K qui correspond à la fréquence de changement d'état des composantes A. ;. {n, Z ) . La sortie Y(«) de la conversion, à l'instant »//, est égale à la sortie du sous-système s-LPTV numéroté i , à l'instant n /'fv , quand i = n modp, . L'entrée X(n) , à l'instant kl fx , contacte les connections numérotées j de chacun des pλ sous-systèmes s-LPTV quand j - k moâp2 .
Dans le cas particulier où M = pL , il suffît de poser simplement pλ = 1 et /?, = p et l'équation de conversion se réduit à :
Figure imgf000057_0003
La représentation du sys me comme un système s-LPTV, dans ce cas particulier, correspond en tout point au schéma de la figure complètement représentée par la structure de la figure 12A et la sortie V;.(«) correspond directement au signal Y(n) en sous-bandes après conversion.
* Mise en œuvre selon la forme B
Pour / = 0,...,/», -1 , l'équation de conversion définie sous la forme B est telle que la composante polyphasée numérotée i des signaux en sous-bandes de sortie est déterminée par
Figure imgf000057_0002
Dans le cas particulier où L - pM , on a p2 = 1 et P1 = p et l'équation de conversion se réduit simplement à
Figure imgf000057_0001
Dans ces conditions et tenant compte de la forme B , on obtient un sous-système numéroté / qui détermine la composante V( («) du signal de sortie comme représenté sur la figure 12C. Le commutateur COM de l'entrée parcourt les p2 étages de ce sous- système et effectue les opérations de filtrage caractérisé par les composantes A; j(Z ,n) avec j = O, ..., p2 - 1 de la matrice principale de conversion.
Le système de conversion dans le cas général et défini sous la forme B peut être interprété comme un ensemble de sous-systèmes comme représenté sur la figure 12D. Cette structure comporte px sous-systèmes linéaires variant dans le temps et le commutateur COMl à l'entrée est périodique de période P2 Zfx - Le sous-système numéroté / avec i = O,...,pr —l , parmi cet ensemble, est caractérisé par les p-, filtres A1. j (Z ,n) avec j = 0,...,p2 -1. Ces sous-systèmes fonctionnent en parallèle et on choisit une de leurs sorties périodiquement comme sortie du système de conversion avec une période pj fy . Les coefficients de filtrage de la matrice principale de conversion T(Z , n) varient avec le temps et ses changements d'état s'opèrent après chaque période de durée K I fe . Le système global est donc linéaire périodiquement variant dans le temps de période Kl fe , avec :
K = P2L = P1M et fe = Lfx = Mfy
Les deux commutateurs à l'entrée COMl et à la sortie COM2 de la structure de la figure 12D opèrent avec une fréquence fJK qui est aussi la fréquence de changement d'état des composantes A1. .(Z , ri) .
La sortie Y(«) de la conversion, à l'instant ni fy , est égale à la sortie du sous-système s-LPTV numéroté / , à l'instant ni fy , quand i = n mod/j, . L'entrée X(«) , à l'instant kl fx , contacte les connections numérotées j de chacun des p{ sous-systèmes s- LPTV quand j = k mod p2 . On décrit maintenant une réalisation basée sur les transformations à recouvrement. On note à cet effet, comme dans FR-2,875,351, B («) (i = 0,...,pι -1 et j = 0,...,p2 -I ) des matrices de taille NxM xL , "réarrangées" et associées à chacune des composantes A (n,Z ) pour la forme A et associées à chacune des composantes A (Z ,ή) pour la forme B telles que :
Forme A :
Figure imgf000059_0001
Avec ces définitions, les représentations s-LPTV des systèmes globaux selon les figures 12B et 12D associées respectivement aux formes A et B , sont réarrangées naturellement et conduisent au schéma de la figure 12E. Les opérations de mise en mémoire sont effectuées après les multiplications matricielles des signaux en entrées par les matrices BhJ (n) . Les blocs notés OLA (pour "overlap and add" en anglais) effectuent la mise en mémoire et les opérations d'addition avec recouvrement final des vecteurs transformés par les matrices B^ } (n) . La procédure de calcul pour la conversion entre domaines de sous-bandes se fait préférentiellement comme suit :
- chaque nouveau vecteur X(w') tel que U («) = X(n') } avec n' = np2 + j , est placé en entrée des blocs matriciels B (n) ( i = O, ..., p} - 1 ) ;
- pour chaque "numéro" i fixé, on applique :
• une transformation matricielle de U7 (n) par la matrice B1 y (n) , • une sommation de tous les vecteurs transformés en sortie des matrices
Figure imgf000059_0002
• une addition avec recouvrement sur ces vecteurs, l'opération OLA s'effectuant sur des vecteurs de longueur NrM avec un recouvrement de
(N1 -I)M , - la sortie Y(«") du système de conversion correspond à la sortie V1. (n) du sous- système s-LPTV numérotée i avec n" - npx + i .
On rappelle que les matrices B; y(/î) varient dans le temps. A part ce point important, le traitement mené globalement reste similaire à celui décrit dans le document FR-2,875,351. On a représenté sur la figure 12E le principe du traitement global.
De manière générale, on retiendra que la conversion globale met en jeu une transformée à recouvrement avec addition, en tenant compte en particulier d'une évolution temporelle dans les quantités qui sont additionnées avec recouvrement.
* Exemples de réalisation
On décrit ci-après des applications de l'invention aux cas de codeurs audio MPEG- 1/2, MPEG-2/4, Dolby AC-3, G722.1 (type TDAC de la Demanderesse), normalisés pour la plupart.
Selon les caractéristiques de chacun des bancs de filtres utilisés par ces codeurs, on obtient un système de conversion correspondant généralement au cas K = ppcm(L,M) , mais avec aussi des occurrences fréquentes des deux cas particuliers M = pL et L = pM . Il peut advenir aussi que l'un des bancs de filtres d'analyse ou de synthèse soit invariant dans le temps. Bien entendu, les cas où les deux bancs de filtres sont invariants dans le temps sont traités couramment par l'état de l'art, notamment dans le document FR-2,875,351.
Le tableau suivant résume les différents cas observés auprès des types de codeurs existants.
Figure imgf000061_0001
On notera que les cas de conversion où M = pL correspondent aux cas particuliers où les nombres de canaux "déterminants" des bancs de filtres sont des multiples entiers. On note, dans ces cas, simplement que K = M (P1 = I) et p2 = p .
La plupart des représentations utilisées par les codeurs MPEG-2/4 AAC ou Dolby AC- 3 sont définies par deux dimensions notées M1 et M2 . Néanmoins, comme montré précédemment, les deux dimensions sont, de façon équivalente, des transformées à recouvrement variant dans le temps TV-MLT (définies en fonction du rapport M1ZM2 ). Pour ce qui concerne les codeurs précités, les cas M = pL indiquent implicitement que la dimension la plus grande M1 de la transformée TV-MLT (avec MJMj) du banc de filtres d'analyse est un multiple de celle (notée L1 ) de la transformée TV-MLT (avec LxIL1 ) du banc de filtres de synthèse. De façon plus explicite, on peut parler alors d'une "conversion des cas où M1 = pLλ ".
A titre d'exemple, le schéma conventionnel de la conversion entre le codeur audio Dolby AC-3 et le codeur MPEG-2/4 AAC est représenté sur la figure 7, sur laquelle on a L1 = 256 et M1 = 1024 , soit donc simplement p = A vérifiant M\ = pL\. Ainsi, la condition de proportionnalité s'applique seulement sur la dimension la plus grande du banc de filtres variant dans le temps.
* Exemple de conversion entre un banc de filtres de type P-QMF(L) et un banc de filtres de type TV-MLT(M1IM2) avec L et M1 multiples
On considère le cas où le banc de filtres de synthèse est de type P-QMF( L ), pour un transcodage entre un codeur de type MPEG-1/2 layer I et II vers un codeur de type MPEG-2/4 AAC et/ou un codeur de type MPEG- 1/2 layer I et II vers un codeur de type Dolby AC-3.
Il s'agit typiquement de deux exemples de conversion conformes au cas M = pL .
Le banc de filtre de synthèse du schéma conventionnel est invariant dans le temps. Il comporte L = 32 sous-bandes et la longueur des filtres est Nf ≈ 512 . La transformée
TV-MLT( MxIM2) est définie par les valeurs M1 /M2 = 1024/128 pour le codeur MPEG-2/4 AAC et MJM2 = 256/128 pour le codeur Dolby AC-3. On trouve alors les constantes caractéristiques du système de conversion comme suit :
Figure imgf000062_0001
Le nombre Δ/ n'est pas défini dans ce cas puisque le banc de filtres P-QMF est invariant dans le temps et, de ce fait, les tranches matricielles de g(n,Z ) sont définies simplement comme :
Figure imgf000063_0001
L'indice / est un indice de convolution simple et les coefficients des filtres de synthèse ne varient pas.
On note Δr le nombre d'états admissibles de la matrice principale de conversion
T(«,Z ) . Il existe A1, = 4 états possibles et différents pour les variations temporelles (indice n ) de la matrice globale T(«,Z ) . Le banc de filtres d'analyse H(n,Z ) admet en effet quatre états distincts. De ce fait, à un instant «M, , la matrice principale de conversion T(«,Z ) est construite, d'une part, à partir des coefficients du filtre de synthèse P-QMF( L ) et, d'autre part :
- des coefficients de la transformée TV-MLT définis par la relation (13), si la transformée est à résolution temporelle longue 2M1 ;
- ou des coefficients de la transformée TV-MLT définis par la relation (15), si la transformée est à résolution temporelle courte 2M2 ;
- ou des coefficients de la transformée TV-MLT définis par la relation (17), si la transformée effectue un changement de résolution longue 2M1 vers courte 2M2 ;
- ou des coefficients de la transformée TV-MLT définis par la relation (19), si la transformée effectue un changement de résolution courte 2M2 vers longue 2M1 .
Les Δr = 4 états admissibles de la matrice de conversion T(«,Z ) sont déterminés à partir des N7. tranches qui sont toutes de taille M1 x M1 .
Dans le cas d'une conversion réciproque avec I1 = pM où le banc de filtres P- QMF( M ) est le banc de filtres d'analyse, tandis que la transformée TV-MLT(I1ZZ-, ) est le banc de filtres de synthèse, le système de conversion est défini sous la forme B .
La matrice de conversion T(Z , n) admet Δ7 = 4 états différents et chaque état est déterminé par Nτ tranches comportant Lx x Lx coefficients de filtrage. Si 1/Z2 = 1024/128 (cas de la transformée MDCT du codeur MPEG-2/4 AAC), alors N1. = 4 et si L1IL2 = 256/128 (cas de la transformée MDCT du codeur Dolby AC-3), alors Nτ = 3 .
* Cas de transformées TV-MLT(L1ZL2) et TV-MLT(MxIM2) avec Lx et M1 multiples
II s'agit par exemple du cas du transcodage entre le codeur audio Dolby AC-3 vers les codeurs MPEG-2/4 AAC. Le système de conversion correspond au cas particulier où M1 = PL1 avec L1IL2 = 256/128 et M1ZM, = 1024/128. Les constantes du système de conversion sont donc déterminées par p = A A7 = IO Nτ = 3
Un état de la matrice de conversion comporte N7. = 3 tranches de coefficients de filtrage P0 («),?,(«), P2 (n) . Chaque tranche de coefficients est de taille 1024x1024.
On montre que le nombre maximal d'états différents de la matrice principale de conversion T(«,Z ) est égal à A7. = 1152. Ce nombre est obtenu à partir de la valeur du terme uk d'une suite de Fibonacci, définie pour les valeurs initiales u\=A, «2=6, quand k = Af . On a observé en effet que, de manière générale, le dénombrement d'états possibles de la matrice T respectait les variations d'une suite de Fibonacci. Ce nombre d'états différents A7 est déterminé en supposant que les changements d'états du banc de filtres de synthèse F(Z , n) et ceux du banc de filtres d'analyse H(n,Z ) sont indépendants. Il est préférentiellement prévu deux commandes de bascule SW indépendantes qui contrôlent les changements de résolution des deux transformées TV- MLT. Pour la transformée TV-MLT( L1IL2 ), ce contrôle s'effectue à tous les instants multiples de L1 et pour la transformée TV-MLT( M1IM2), ce contrôle s'effectue à tous les instants multiples de M1 . Comme indiqué ci-avant, les commandes de bascule SW opèrent avantageusement sur la base d'une analyse des propriétés statistiques du signal incident et déterminent, notamment par des critères d'entropie perceptuelle, quelles sont les résolutions les plus adaptées pour chaque bloc de longueur 2I1 ou 2M1 . Ces commandes sont au moins en partie cohérentes et certains changements de résolution de la transformée TV- MLT(Z1ZL2 ) interviennent avantageusement de façon synchrones avec ceux de la transformée TV-MLT(M1ZM2). Par exemple, si la transformée TV-MLT(L1ZI2 ) procède sur plusieurs périodes, par des transformées de résolution L2 , la transformée TV-MLT(M1ZM2) n'effectue pas, a priori, de changement de résolution M2 -» M, ou ne passe pas par des états définis par la résolution M1 . Il convient donc de préciser que le nombre d'états admissibles Aτ = 1152 est maximum car certains états parmi les Δr états ne sont plus admissibles s'ils ne sont plus cohérents par rapport au fonctionnement de la commande de transition du transcodeur.
Pour le cas de la conversion intervenant dans le transcodage entre le format MPEG-2Z4 AAC vers le format dolby AC-3, on a L1 = PM1 avec p = 4 et le système de conversion est défini sous la forme B . La construction de la matrice g(Z ,«) nécessite d'effectuer des regroupements de Δft = 10 états successifs de la transformée TV- MLT(M1ZM2). Chaque état de la matrice de conversion T(Z , n) est déterminé par la donnée de N7. = 4 tranches de 1024x 1024 coefficients. On peut dénombrer un total maximum de 1022 états différents admissibles pour la matrice de conversion.
* Codeur TDAC(L) et transformée TV-MLT(MxIM2) avec K = PfCm(L7M1)
Dans le cas où le banc de filtres de synthèse est un banc de filtres de type TDAC comportant L = 320 sous-bandes, chaque filtre étant de longueur N = 640, il n'existe pas de multiplicité entre la dimension L et la dimension M1 = 1024 du codeur MPEG- 2/4 AAC, ni entre la dimension L et la dimension M1 = 256 du codeur Dolby AC-3. Dans ces deux cas de conversion, le système de conversion est déterminé par la valeur de K = PpCm(L7M1) telle que K = 5120 avec le codeur MPEG-2/4 AAC et iïT = 1280 avec le codeur Dolby AC-3. Le système peut être mis en œuvre sous la forme A ou sous la forme B .
Dans le cas d'une mise en œuvre selon la forme A , il existe quatre états admissibles pour la sous-matrice de filtrage g(n,Z ) car les coefficients du banc de filtres de synthèse sont invariants dans le temps, tandis que ceux du banc de filtres d'analyse relatifs à la transformée TV-MLT(M1ZM2) admettent quatre définitions différentes.
Pour la construction de la matrice principale, on regroupe pλ états successifs de g(«,Z ) dans le but de construire un état de T(«,Z ) . En supposant que les règles de changements d'état de g(n,Z ) sont les mêmes que celles de la transformée TV- MLT(Af1 /M2), le nombre total d'états Aτ de T(«,Z ) est déduit des valeurs d'une suite de Fibonacci. On obtient donc A1 = uk , calculé avec k = px .
Dans le cas du transcodage où intervient le codeur MPEG-2/4 AAC, on a ^1 = 16 et Δr = 8362. Un état de la matrice de conversion comporte N1, = 1 seule tranche avec 5120 coefficients. Dans le cas du transcodage où intervient le format Dolby AC-3, on a P1 = 4 et
Δr = 26. Un état de la matrice de conversion comporte N1. = 1 seule tranche avec 1280 coefficients de filtrage.
Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci- avant à titre d'exemple ; elle s'applique à d'autres variantes. De manière générale, l'invention s'applique à tout transcodage entre formats de codage, notamment audio, utilisant des bancs de filtres variants dans le temps. Ces transcodeurs peuvent être mis en œuvre dans des passerelles, notamment en des nœuds de réseaux de télécommunication, ou dans des serveurs de contenu multimédia dans le cadre d'applications de diffusion en mode dit "de streaming", ou de téléchargement ou de diffusion pour télévision numérique (format MPEG-4 AAC vers un format MPEG- 2 Layer II ou Dolby AC-3), ou autres.
Elle peut être appliquée aussi à toute mise en œuvre pour un passage entre deux représentations de sous-bandes, notamment au sein de codeurs au format MPEG-4 HE- AAC et/ou MPEG Surround Audio Coding.
Par ailleurs, la plupart des formats de codage indiqués ci-avant opèrent sur des signaux audionumériques, mais la présente invention s'applique à tout type de transcodage variant dans le temps et opéré sur tout type de signal.

Claims

REVENDICATIONS
1. Procédé mis en œuvre par des ressources informatiques pour traiter un signal par passage entre domaines différents de sous-bandes, visant à compacter en un même traitement l'application d'un premier vecteur représentant le signal dans un premier domaine de sous-bandes à un banc de filtres de synthèse, puis à un banc de filtres d'analyse, pour obtenir un second vecteur représentant le signal dans un second domaine de sous-bandes, dans lequel on prévoit l'application d'un filtrage matriciel au premier vecteur pour obtenir directement le second vecteur, caractérisé en ce que le banc de synthèse et/ou le banc d'analyse sont variants dans le temps, en ce que le filtrage matriciel est représenté par une matrice globale de conversion comportant des sous-blocs matriciels : • pré-calculés en tenant compte des variations possibles dans le temps des bancs de filtres,
• et stockés en mémoire, et en ce que la matrice globale de conversion est construite par appel à ladite mémoire pour obtenir lesdits sous-blocs pré-calculés à des instants successifs.
2. Procédé selon la revendication 1, caractérisé en ce que la matrice globale de conversion est construite progressivement par appels à ladite mémoire à des instants successifs pour lesquels lesdits sous-blocs ont été pré-calculés.
3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que, le premier vecteur comportant un premier nombre L de composantes en sous-bandes respectives tandis que le second vecteur comporte un second nombre M de composantes en sous-bandes respectives, après détermination d'un troisième nombre K, plus petit commun multiple entre le premier nombre L et le second nombre M : - on applique une conversion série/parallèle du premier vecteur pour obtenir />, vecteurs composantes polyphasées, avec p2 = K/ L , et
- on applique une conversion parallèle/série pour obtenir ledit second vecteur, en ce que : * la matrice de conversion est appliquée auxdites p2 composantes polyphasées du premier vecteur pour obtenir px composantes polyphasées du second vecteur, avec P1 = K/ M , et
* la matrice de conversion est carrée, de dimension K x K , et comporte px lignes et P1 colonnes de sous-blocs Ay comportant chacun L lignes et M colonnes, et en ce que des sous-blocs Ay d'un même indice /' ou des sous-blocs Ay d'un même indicey sont pré-calculés pour un même instant.
4. Procédé selon la revendication 3, caractérisé en ce que la matrice de conversion est tridimensionnelle, avec : - une première dimension définie par l'indice courant / des sous-blocs,
- une deuxième dimension définie par l'indice courant y des sous-blocs,
- et une troisième dimension définie par un degré de filtrage matriciel, et en ce que les sous-blocs pré-calculés pour un même instant forment des plans matriciels s'étendant vers ladite troisième dimension.
5. Procédé selon l'une des revendications 3 et 4, caractérisé en ce que les sous-blocs Ay s'expriment chacun :
• en fonction d'un type de matrice g(n, Z ), dont les éléments sont donnés par :
Figure imgf000069_0001
• ou, de façon équivalente, en fonction d'un type de matrice g(Z ,n), dont les éléments sont donnés par :
Figure imgf000069_0002
où :
- Ni, est la longueur des filtres d'analyse,
- Nf est la longueur des filtres de synthèse,
- n est une variable temporelle, - Z est une variable de domaine transformé,
- k\ est compris entre O et M-I et &2 compris entre O et L-I, et
- les coefficients gf"*2 («) , dans chaque cas, s'expriment en fonction des coefficients des filtres d'analyse et de synthèse.
6. Procédé selon la revendication 5, prise en combinaison avec la revendication 4, caractérisé en ce que chaque sous-bloc d'indice i, exprimé en fonction d'une matrice de type g(n,Z ) est donné par :
A., (n, Z ) = [g (n + ïM, Z ) Z iM'jL 1 où la notation i K désigne une décimation d'un facteur K, et les plans matriciels sont constitués de sous-blocs de même indice de ligne i et sont horizontaux, et en ce que la matrice globale de conversion est constituée par lesdits plans matriciels horizontaux pré-calculés pourri instants successifs.
7. Procédé selon la revendication 5, prise en combinaison avec la revendication 4, caractérisé en ce que chaque sous-bloc d'indice j, exprimé en fonction d'une matrice de t3Φe g (Z ,n) , est donné par :
A . (Z , n) = | Z lM'jLg (Z ,n + jL) \ , où la notation i K désigne une décimation d'un facteur K, et les plans matriciels sont constitués de sous-blocs de même indice de colonne j et sont verticaux, et en ce que la matrice globale de conversion est constituée par lesdits plans matriciels verticaux pré-calculés pour /^2 instants successifs.
8. Procédé selon l'une des revendications 5 et 6, caractérisé en ce que le nombre M est un multiple du nombre L (M=pL), et en ce que chaque sous-bloc s'exprime en fonction d'une matrice de type g(«,Z ) .
9. Procédé selon l'une des revendications 5 et 7, caractérisé en ce que le nombre L est un multiple du nombre M (L=pM), et en ce que chaque sous-bloc s'exprime en fonction d'une matrice de type g (Z , rî) .
10. Procédé selon l'une des revendications 5, 6 et 8, caractérisé en ce que, le signal à traiter étant numérique et échantillonné initialement à une période Te, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g(«,Z ) , calculées quant à elles pour des instants successifs multiples d'une quantité MTe.
11. Procédé selon la revendication 10, caractérisé en ce que le calcul des coefficients de chaque matrice de type g (M, Z ) à un instant multiple de la quantité MTe s'effectue en prenant :
- Δ/jeux successifs de coefficients du banc de filtres de synthèse déterminés pour Δ/ instants successifs dans une période MT e, et à partir d'un instant multiple de MTe, - et un jeu de coefficients du banc de filtres d'analyse déterminé pour ledit instant multiple de MTe, et en appliquant une convolution partielle entre lesdits jeux successifs de coefficients du banc de synthèse et les coefficients du banc d'analyse, avec Af = [(Nh+Nfl)/L]+l, où Nt, et Nf sont les longueurs respectives des filtres d'analyse et de synthèse.
12. Procédé selon l'une des revendications 5, 7 et 9, caractérisé en ce que, le signal à traiter étant numérique et échantillonné à une période Te, la matrice globale de conversion est déterminée périodiquement pour des instants multiples d'une quantité KTe et s'exprime en fonction de matrices de type g(Z ,n) , calculées quant à elles pour des instants successifs multiples d'une quantité LT e.
13. Procédé selon la revendication 12, caractérisé en ce que le calcul des coefficients de chaque matrice de type g(Z ,n) à un instant multiple de la quantité LTe s'effectue en prenant :
- Δ/, jeux successifs de coefficients du banc de filtres d'analyse déterminés pour Δ/( instants successifs dans une période LTe, et à partir d'un instant multiple de LTe,
- et un jeu de coefficients du banc de filtres de synthèse déterminé pour ledit instant multiple de L Te, et en appliquant une convolution partielle entre lesdits jeux successifs de coefficients du banc d'analyse et les coefficients du banc de synthèse, avec A/, = [(Nk +NfY)IM]+!, où Nh et Nf sont les longueurs respectives des filtres d'analyse et de synthèse.
14. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'on prévoit un nombre fini d'états possibles auxquels sont associés des jeux respectifs de coefficients des bancs de synthèse et/ou d'analyse, et en ce que lesdits sous-blocs sont pré-calculés à partir desdits jeux respectifs pour tous les états possibles, tandis que la matrice globale de conversion est déterminée pour au moins un état possible défini à partir de propriétés du signal à traiter.
15. Procédé selon la revendication 14, caractérisé en ce que chaque jeu est calculé en fonction d'une matrice de modulation et d'un vecteur h caractérisant un état possible et assurant une propriété de reconstruction parfaite ou quasi-parfaite.
16. Procédé selon la revendication 15, dans lequel les bancs de synthèse et/ou d'analyse sont variants dans le temps par changements de résolution, caractérisé en ce que l'on dénombre quatre états possibles et en ce que lesdits vecteurs h définissent : - une fenêtre longue correspondant à un premier état possible, - une succession de fenêtres courtes correspondant à un second état possible,
- une fenêtre de transition de la fenêtre longue vers la succession de fenêtres courtes correspondant à un troisième état possible, et
- une fenêtre de transition de la succession de fenêtres courtes vers la fenêtre longue correspondant à un quatrième état possible.
17. Procédé selon l'une des revendications 3 à 16, caractérisé en ce que l'on tient compte et on applique en conséquence un contrôle d'un retard algorithmique produit par un traitement des signaux en sous-bandes.
18. Procédé selon l'une des revendications précédentes, caractérisé en ce que la conversion globale met enjeu une transformée à recouvrement avec addition, en tenant compte d'une évolution temporelle dans les quantités qui sont additionnées.
19. Dispositif pour traiter un signal par passage entre domaines différents de sous- bandes, caractérisé en ce qu'il comporte, pour la mise en œuvre du procédé selon l'une des revendications précédentes :
- une mémoire (DD) stockant les sous-blocs pré-calculés,
- une horloge (HOR) pour déterminer des instants successifs, et - un module de filtrage matriciel (MFM) agencé pour récupérer de ladite mémoire les sous-blocs pré-calculés pour lesdits instants successifs pour la construction de la matrice globale de conversion.
20. Dispositif selon la revendication 19, pour la mise en œuvre du procédé selon la revendication 14, caractérisé en ce qu'il comporte en outre une commande de bascule (SW) pour :
- définir, à partir du signal à traiter, l'un desdits états possibles et des jeux de coefficients associés, et
- gérer l'accès à ladite mémoire en fonction de l'état défini.
21. Dispositif selon l'une des revendications 19 et 20, pour la mise en œuvre du procédé selon la revendication 3, caractérisé en ce qu'il comporte en outre :
- un convertisseur série/parallèle (CSP) en amont du module de filtrage matriciel, et
- un convertisseur parallèle/série (CPS) en aval du module de filtrage matriciel.
22. Dispositif selon l'une des revendications 19 à 21, caractérisé en ce qu'il est intégré à un équipement tel qu'un serveur, une passerelle, ou encore un terminal, destinés à un réseau de communication.
23. Programme informatique, destiné à être stocké dans une mémoire d'un dispositif selon l'une des revendications 19 à 22, caractérisé en ce qu'il comporte des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 18.
PCT/FR2007/051266 2006-05-19 2007-05-14 Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps WO2007135319A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/227,241 US20090307294A1 (en) 2006-05-19 2007-05-14 Conversion Between Sub-Band Field Representations for Time-Varying Filter Banks
EP07766042A EP2022046A1 (fr) 2006-05-19 2007-05-14 Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0604507 2006-05-19
FR0604507A FR2901433A1 (fr) 2006-05-19 2006-05-19 Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps

Publications (1)

Publication Number Publication Date
WO2007135319A1 true WO2007135319A1 (fr) 2007-11-29

Family

ID=37607406

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/051266 WO2007135319A1 (fr) 2006-05-19 2007-05-14 Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps

Country Status (4)

Country Link
US (1) US20090307294A1 (fr)
EP (1) EP2022046A1 (fr)
FR (1) FR2901433A1 (fr)
WO (1) WO2007135319A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110004478A1 (en) * 2008-03-05 2011-01-06 Thomson Licensing Method and apparatus for transforming between different filter bank domains

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2875351A1 (fr) * 2004-09-16 2006-03-17 France Telecom Procede de traitement de donnees par passage entre domaines differents de sous-bandes
FR2918228A1 (fr) * 2007-06-29 2009-01-02 France Telecom Conversion entre domaines de sous-bandes pour bancs de filtres modules.
WO2015038578A2 (fr) 2013-09-12 2015-03-19 Dolby Laboratories Licensing Corporation Aspects de système d'un codec audio

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2875351A1 (fr) 2004-09-16 2006-03-17 France Telecom Procede de traitement de donnees par passage entre domaines differents de sous-bandes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2782147B2 (ja) * 1993-03-10 1998-07-30 日本電信電話株式会社 波形編集型音声合成装置
SE519552C2 (sv) * 1998-09-30 2003-03-11 Ericsson Telefon Ab L M Flerkanalig signalkodning och -avkodning
US7072412B1 (en) * 1999-11-09 2006-07-04 Maurice Bellanger Multicarrier digital transmission system using an OQAM transmultiplexer
US6963842B2 (en) * 2001-09-05 2005-11-08 Creative Technology Ltd. Efficient system and method for converting between different transform-domain signal representations
KR100499047B1 (ko) * 2002-11-25 2005-07-04 한국전자통신연구원 서로 다른 대역폭을 갖는 켈프 방식 코덱들 간의 상호부호화 장치 및 그 방법
CA2481629A1 (fr) * 2004-09-15 2006-03-15 Dspfactory Ltd. Methode et systeme de suppression active du bruit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2875351A1 (fr) 2004-09-16 2006-03-17 France Telecom Procede de traitement de donnees par passage entre domaines differents de sous-bandes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S PHOONG; P.P. VAIDYANATHAN: "Factorizability of lossless time-varying filters and filter banks", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 45, no. 8, August 1997 (1997-08-01), pages 1971 - 1986
S PHOONG; P.P. VAIDYANATHAN: "Time-Varying Filters and Filter Banks: Some Basic Principles", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 44, no. 12, December 1996 (1996-12-01), pages 2971 - 2987

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110004478A1 (en) * 2008-03-05 2011-01-06 Thomson Licensing Method and apparatus for transforming between different filter bank domains
US8620671B2 (en) * 2008-03-05 2013-12-31 Thomson Licensing Method and apparatus for transforming between different filter bank domains

Also Published As

Publication number Publication date
US20090307294A1 (en) 2009-12-10
FR2901433A1 (fr) 2007-11-23
EP2022046A1 (fr) 2009-02-11

Similar Documents

Publication Publication Date Title
EP1794748B1 (fr) Procédé de traitement de données par passage entre domaines différents de sous-bandes
EP2732448B1 (fr) Adaptations de fenêtres de pondération d&#39;analyse ou de synthèse pour un codage ou décodage par transformée
EP2104936B1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
US9093065B2 (en) Method and device for transcoding audio signals exclduing transformation coefficients below −60 decibels
EP1692689B1 (fr) Procede de codage multiple optimise
EP3330964B1 (fr) Ré-échantillonnage d&#39;un signal audio pour un codage /décodage à bas retard
WO2015197989A1 (fr) Ré-échantillonnage par interpolation d&#39;un signal audio pour un codage /décodage à bas retard
TW200926146A (en) Efficient design of MDCT/IMDCT filterbanks for speech and audio coding applications
EP2022046A1 (fr) Conversion entre representations en domaines de sous-bandes pour des bancs de filtres variant dans le temps
FR2867648A1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
EP2769378A2 (fr) Codage hierarchique perfectionne
FR3024581A1 (fr) Determination d&#39;un budget de codage d&#39;une trame de transition lpd/fd
WO2009081003A1 (fr) Codage/decodage par transformee, a fenetres adaptatives
WO2010012925A1 (fr) Procede de mise a jour d&#39;un codeur par interpolation de filtre
WO2023165946A1 (fr) Codage et décodage optimisé d&#39;un signal audio utilisant un auto-encodeur à base de réseau de neurones
EP2126904B1 (fr) Procede et dispositif de codage audio
FR2911227A1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
CN113222113B (zh) 一种基于反缩放卷积层的信号生成方法及装置
WO2007091000A2 (fr) Procede de codage d&#39;un signal audio source, dispositif de codage, procede de decodage, signal, support de donnees, produits programme d&#39;ordinateur correspondants
WO2009004263A1 (fr) Conversion entre domaines de sous-bandes pour bancs de filtres modules
WO2015145050A1 (fr) Estimation d&#39;un bruit de codage introduit par un codage en compression de type micda
FR2905539A1 (fr) Procede et dispositif de codage de signaux numeriques multidimensionnels

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07766042

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007766042

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12227241

Country of ref document: US