EP1836699B1 - Method and device for carrying out optimized audio coding between two long-term prediction models - Google Patents
Method and device for carrying out optimized audio coding between two long-term prediction models Download PDFInfo
- Publication number
- EP1836699B1 EP1836699B1 EP06709052A EP06709052A EP1836699B1 EP 1836699 B1 EP1836699 B1 EP 1836699B1 EP 06709052 A EP06709052 A EP 06709052A EP 06709052 A EP06709052 A EP 06709052A EP 1836699 B1 EP1836699 B1 EP 1836699B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- dictionary
- format
- coding
- ltp
- orders
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Not-in-force
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000007774 longterm Effects 0.000 title claims abstract description 18
- 230000005236 sound signal Effects 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 110
- 238000005192 partition Methods 0.000 claims description 39
- 230000001934 delay Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 18
- 238000001914 filtration Methods 0.000 claims description 13
- 230000000717 retained effect Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000012443 analytical study Methods 0.000 claims description 5
- 238000004873 anchoring Methods 0.000 claims description 5
- 230000000670 limiting effect Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000006835 compression Effects 0.000 abstract description 9
- 238000007906 compression Methods 0.000 abstract description 9
- 238000004458 analytical method Methods 0.000 description 33
- 102100036044 Conserved oligomeric Golgi complex subunit 4 Human genes 0.000 description 30
- 101000876012 Homo sapiens Conserved oligomeric Golgi complex subunit 4 Proteins 0.000 description 30
- 101001104102 Homo sapiens X-linked retinitis pigmentosa GTPase regulator Proteins 0.000 description 30
- 208000036448 RPGR-related retinopathy Diseases 0.000 description 30
- 201000000467 X-linked cone-rod dystrophy 1 Diseases 0.000 description 30
- 102100040998 Conserved oligomeric Golgi complex subunit 6 Human genes 0.000 description 25
- 101000748957 Homo sapiens Conserved oligomeric Golgi complex subunit 6 Proteins 0.000 description 25
- 201000000465 X-linked cone-rod dystrophy 2 Diseases 0.000 description 25
- 102100033596 Dynein axonemal intermediate chain 2 Human genes 0.000 description 18
- 101000872272 Homo sapiens Dynein axonemal intermediate chain 2 Proteins 0.000 description 18
- 101710196809 Non-specific lipid-transfer protein 1 Proteins 0.000 description 17
- 239000000243 solution Substances 0.000 description 12
- 230000015572 biosynthetic process Effects 0.000 description 11
- 238000003786 synthesis reaction Methods 0.000 description 11
- 230000005284 excitation Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- 102100033595 Dynein axonemal intermediate chain 1 Human genes 0.000 description 4
- 101000872267 Homo sapiens Dynein axonemal intermediate chain 1 Proteins 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 101100162205 Aspergillus parasiticus (strain ATCC 56775 / NRRL 5862 / SRRC 143 / SU-1) aflI gene Proteins 0.000 description 3
- 101150032645 SPE1 gene Proteins 0.000 description 3
- 101100233725 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IXR1 gene Proteins 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 229940082150 encore Drugs 0.000 description 3
- 101150028225 ordA gene Proteins 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 101710196810 Non-specific lipid-transfer protein 2 Proteins 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011045 prefiltration Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100536354 Drosophila melanogaster tant gene Proteins 0.000 description 1
- 239000003637 basic solution Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/173—Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
Definitions
- the present invention relates to the encoding / decoding in compression of digital audio signals, especially speech signals and / or multimedia signals, in particular for transmission or storage applications. More particularly, it relates to an efficient determination of the parameters of a second long term prediction model (or " LTP " for " Long Term Prediction "), based on the parameters of at least one first LTP prediction model.
- LTP long term prediction model
- Compression encoders use digital audio signal properties such as local stationarity, exploited by short-term prediction filters, and its harmonic structure, exploited by LTP long-term prediction filters.
- voiced speech sounds (such as vowels) have a long-term correlation due to vocal cord vibration.
- the delay T is also called “pitch” period, or simply " pitch ".
- the filter parameters vary according to the signals to be coded and for the same signal over time.
- the range of pitch periods seeks to cover the range of fundamental frequencies of the human voice (from low to high voices). For the same speaker, this frequency also varies temporally.
- the coefficient (s) of the filter evolve (s) also in time.
- the parameters of P (z) are determined either by an open-loop analysis or by a closed-loop analysis or most often by a combination of the two analyzes.
- Open loop analysis is performed by minimizing the prediction error on the signal to be modeled.
- Closed-loop analysis (known as "synthesis analysis” ) minimizes the squared error, usually weighted, between the voice signal to be modeled and the synthesis signal.
- an open loop search is first provided to determine a first estimate of the pitch called "open loop pitch”. Then, a synthesis analysis search on a restricted neighborhood around this anchor value makes it possible to obtain a more precise value of the pitch.
- These analyzes are performed on sample blocks. The lengths of the open and closed loop analysis blocks are not necessarily equal. Often, only one open-loop analysis is performed for multiple closed-loop analyzes.
- the determination of the LTP parameters is very expensive in computational complexity. It usually consists of an open loop on a large block of samples followed by closed loops on several sub-sample blocks (also called sub-frames).
- the open loop search of the harmonic delay is a very expensive operation, coding. Usually, it requires the calculation of a function of auto-correlation of the signal for many values (in fact on range of variation of the delays). In the ITU-T G.723.1 coder, this delay range has 125 integral delays (from 18 to 142) and the open loop delay is estimated every 15 ms (ie for blocks of 120 samples).
- the closed loop is also extremely expensive in calculations and, consequently, in resources. It requires the generation of adaptive excitations and their filtering.
- the closed-loop analysis jointly determines the gain vector ( ⁇ i ) and a delay ⁇ (as a candidate pitch) of each sub-frame by exploring a dictionary of gain vectors for several candidate pitch values. This analysis accounts for nearly half of the total complexity of the 5.3 kbps G.723.1 encoder.
- the complexity of the LTP analysis is particularly critical when several codings must be performed by the same processing unit such as a gateway responsible for managing many parallel communications or a server distributing a large number of multimedia contents.
- the problem of complexity is further increased by the multiplicity of compression formats that circulate on networks. It is then provided multiple encodings or cascading (or "transcoding") or in parallel (multiformat coding or multimode coding).
- Transcoding is typically used when, in a transmission chain, a compressed signal frame transmitted by an encoder can not continue in this format. Transcoding makes it possible to convert this frame into another format compatible with the rest of the transmission chain.
- the most basic solution (and the most common at the moment) is the end-to-end addition of a decoder and an encoder.
- multi-format compression systems where the same content is compressed in several formats (typically in the case of content servers that broadcast the same content in several formats adapted to the access conditions, networks and terminals of the various end users) the multi-coding operation becomes extremely complex as the number of desired formats increases, which can quickly saturate the resources of the systems.
- Another case of multiple-coding in parallel is the post-decision multi-mode compression according to which, at each signal segment to be coded, several modes of compression are executed and the mode which optimizes a given criterion or obtains the best compromise rate / distortion is selected.
- the complexity of each of the modes of compression limits the number and / or leads to elaborate a selection a priori of a very limited number of modes.
- the solutions proposed today focus on limiting the number of values explored for the parameters of a second LTP model by using the parameters chosen by the first format, to reduce the complexity of the second format LTP search. .
- Transcoding between two LTP monotap models is the simplest case. Most of the methods currently proposed concern the transcoding between delays, the transcoding of the LTP gain being done most often at the signal itself (we speak of a "partial" tandem). When the two models are identical (same dictionary of delays and same length of subframe), a simple copy of the bit fields of the delays of a flow of bits towards the other is enough. When the dictionaries differ in their resolution (integer or fractional 1/3, 1/6, etc.) and / or their ranges of values, a transcoding in the binary domain or parameters, with a possible transformation, is used. The transformation can be quantization, truncation, doubling, or splitting.
- an interpolation of the delays can be provided. For example, the delays of a first format covering an output subframe are interpolated. We can then use this interpolated delay only when it is close to the delay obtained at the previous subframe, otherwise a conventional search is conducted.
- Another more direct method, without interpolation is to select a delay among these delays of the first format. This selection can be made according to several criteria: last sub-frame, sub-frame having the most samples in common with the subframe of the second format or that which maximizes a criterion dependent on the LTP gain.
- the determined delay is an anchor value for finding the delay of the second format. he can be used as the open loop delay of the second format around which a conventional or restricted closed-loop search is performed, or as a first estimate thereof, or as an anchoring of a delay trajectory.
- this difficulty could be circumvented because the control procedure stability holds the maximum gain among the estimated gains (which can then be very dissimilar) and the adaptive pre-filter is inhibited for any multiptap model gains vector when, over the range of delays considered, the estimated gains are too different or the jigs on the delay are too dissimilar or too big. If, for the modules of adaptive pre-filtering and instability control of the long-term prediction filter, it is possible to circumvent the estimation difficulty without degrading the performances, these advantages are more difficult to achieve with the module of LTP analysis itself which plays a crucial role on the quality.
- the 170 global gains calculated for each vector of the 170 entries of the dictionary can be very far from optimal gains.
- the calculation of the fractional delay ⁇ ' may lead to a poor determination of fractional delay.
- the present invention improves the situation.
- the present invention aims to switch from a LTP model to a single coefficient (monotap) to a multi-coefficient LTP model (multitap) and vice versa, as well as switching between two multitap LTP models.
- it proposes a process whose complexity can be adjusted, in particular according to a desired compromise between a targeted complexity and a desired quality.
- a device for implementing the method according to the invention is, moreover, very useful for multiple coding in cascade (transcoding) or in parallel (multi-coding and multi-mode coding).
- the invention aims first of a coding method as defined in claim 1, according to a second format, from information obtained by the implementation of at least one coding step in a first format.
- the first and second formats implement, in particular for the coding of a speech signal, a step of searching LTP long-term prediction parameters by scanning at least one dictionary including candidate parameters, one of which least first and second coding format using a multi-coefficient filtering (called "multitap" above), for a fine search LTP parameters.
- the invention is thus distinguished from existing solutions by the definition of orders in the dictionary and the exploitation of these orders in the dictionary search procedure.
- the present invention is therefore part of the multiple coding in cascade or in parallel or in any other system using, to represent the long-term periodicity of a signal, a monotap or multitap type of modeling.
- the invention makes it possible from the knowledge of the parameters of a first model to determine the parameters of a second model in the case where at least one of the two models uses multitap modeling.
- multitap modeling For the sake of brevity, only the case of a transition from a first model to a second is described but it will be understood that the invention also applies in the case of passing from m (m ⁇ 1) first models to n ( n ⁇ 2) second models (where m and n are absolutely arbitrary).
- the second coder COD2 has only the bit stream BS1 generated by the first coder COD1 and then including the bit codes of the parameters LTP1.
- the invention is here applicable to intelligent transcoding.
- the second coder COD2 also has the original signal s o (or a derived version) available to the first coder COD1 and the invention applies here to intelligent multi-coding. It is indicated that the invention can also be applied to the case particular of the multiple coding in parallel which is the multi-mode coding with a posteriori decision.
- the first coder COD1 determined the parameters LTP1, in step 21, using at least its dictionary DIC1 (step 22).
- the parameters LTP2 obtained (step 30) by applying the dictionary classification of the second coder within the meaning of the invention can themselves be used for the classification of a dictionary according to a third coding format (not shown), where appropriate, and so on for cascading transcoding or multiple coding in parallel.
- the figure 2 is given here only for mainly didactic purposes.
- the notation e i 2 , e j 2 , e k 2 , ... of the elements of the dictionary DIC2 is not really conventional, as will be seen later.
- the classification of the DIC2 dictionary (step 25b) and the limitation of its elements to be taken into account for the search according to the quality / complexity criterion (step 28) can be conducted jointly substantially in one and the same step.
- a first encoder COD1 issuing priori information (step 23) in the second coder COD2.
- the second coder COD2 can simply recover from the first coder COD1 the binary codes of the parameters LTP1 that the first coder has determined and retrieve this information a priori, thanks in particular to the knowledge of the type of coding and the dictionary used by the first encoder COD1.
- the processor 35 manages all or part of the modules of the device. For this purpose, it can be animated by a computer program product.
- the present invention also aims at such a computer program product, stored in a memory of a processing unit or on a removable medium intended to cooperate with a reader of said processing unit or downloadable from a remote site, and comprising instructions for implementing all or part of the steps of the method according to the invention.
- the device COD2 within the meaning of the invention, can directly recover the parameters LTP1 of the first coder COD1 in order to deduce the aforementioned information and, hence, the order of its dictionary DIC2, or, alternatively, receiving from the first coder COD1 directly the information a priori on the order of its dictionary, the first coder COD1. In the latter case, the first coder COD1 already plays a particular role in the invention.
- the present invention also provides a system including the first encoder and the device within the meaning of the invention.
- the device of the figure 3 can be inserted into a coding system implementing at least a first and a second coding format.
- This system then comprises at least one coding device according to the first format COD1 and a coding device in the sense of the invention and then applying second format COD2.
- the invention aims at such a system.
- the coding device according to the first format and the coding device according to the second format can be cascaded for transcoding as shown in FIG. figure 1a .
- the coding device according to the first format and the coding device according to the second format can be put in parallel, for multiple coding, as shown in FIG. figure 1 b.
- the second coder COD2 can recover from the first coder COD1 (when the latter has determined the parameters LTP1) information that will enable him to order his dictionary DIC2 (see figure 2 ). Then, a search LTP only among the first elements (e i 2 , e j 2 ) DIC2 dictionary so ordered will maintain a good quality of the second coding.
- This adjustment can be made at the beginning of treatment. It can also be performed at each block to be processed according to parameters of the first coding format and / or the characteristics of the signal to be coded (for example, according to a voicing criterion). For the same block, the complexity may also vary depending on the LTP subframes.
- the invention offers a great flexibility which makes it possible to dynamically distribute the computing power available between the modules of the second encoder and / or the resources for processing the LTP subframes.
- the dictionary DIC1 associated with a parameter of the first LTP model that orders DIC2 dictionary associated with a parameter of the second model LTP are determined. It is indicated that the determination of an order consists in classifying the elements of the second dictionary DIC2 according to a certain criterion. A ranking (or "order") is given by indexing the elements of the dictionary DIC2.
- a first example is the elementary partition of a dictionary DIC1 of N elements in N disjoint classes of size 1. N orders of the second dictionary are then determined. More sophisticated partitions may be chosen, in particular by techniques known per se of quantization (vector or scalar) or of classification of the data.
- the classes of the first dictionary are not necessarily disjoined.
- the same element can be associated with more than one order of the second dictionary. Choice of order or combination orders can then take into account factors other than the current LTP parameter of the first dictionary.
- the number of orders and the orders that are appropriate in the second dictionary are determined by a statistical and / or analytical study, as a function of successive sets of LTP parameters according to the first model.
- This study defines, for each class of the partition of the dictionary associated with a LTP parameter of the first format, a classification of the dictionary of a parameter of the second format.
- a statistical study was carried out on an off-line bench by associating in the same coder the LTP model of the first format and the LTP model of the second format. Paralleling the two LTP analyzes was the preferred learning configuration. Of course, other configurations may be used, including a conventional tandem cascading the two encodings.
- the statistical study ensures, for each element of the first dictionary (or each class of its partition), a classification of the elements of the second dictionary according to a certain criterion.
- this criterion evaluates the impact on the quality of the returned signal.
- the quality criterion can be that used in the coding to select the second parameter LTP.
- other criteria can be used, in particular the solicitation of an element of the second dictionary for a class of the first dictionary.
- a combination of criteria can also be used.
- An analytical study can also be performed to determine orders of the second dictionary based on a partition of the first dictionary.
- the analytical study complements the statistical study described above. It is preferentially limited to dictionary parts that lead to satisfactory analytical approximations.
- the partition of a first dictionary is preferably exploited and the commands of the second dictionary which are associated with this partition of the first dictionary.
- each current subframe of the second coding format corresponds to a single sub-frame of the first coding format.
- the first coding format has selected a set of parameters LTP (called "first set LTP1" ). Thanks to the partition of the dictionary associated with one of the LTP parameters of the first model, a search order of the second dictionary is selected by choosing the order associated with the class of the element of the first set LTP1. Then, the second dictionary is explored according to the order thus determined.
- the number of elements tested is restricted. In general, we will remember that among all the elements of the second dictionary, only the first elements determined by the order that has been chosen are tested.
- the two coding formats When the two coding formats have LTP subframes of different durations, it happens that a current subframe of the second format may correspond to more than one subframe of the first format. This situation is illustrated on the figure 5b , for example.
- the first coding format selected sets of LTP parameters. Thanks to the partition of the dictionary associated with one of the LTP parameters of the first model, it is possible to preselect exploration orders of the second dictionary by choosing the orders associated with the classes of the elements of the first games. It may be that only one order is finally selected if the parameters chosen for the first subframes belong to the same class of the partition of the first dictionary. However, this is a special case. We are then brought back to the previous diagram corresponding to LTP subframes of identical duration. If, on the contrary, more than one order has been preselected, only one order (for example the most preselected order) may be retained, or the one which corresponds to the sub-frame of the first format which covers the plus the current subframe of the second format.
- K orders have been selected, we first examine the first element of each K orders, eliminating any redundancies. We obtain K 1 elements (K i ⁇ K). Then, K 2 elements, such as K 2 ⁇ K and K 2 ⁇ NK 1 , chosen from the set consisting of the second element of the K orders (eliminating any redundancies), and so on until obtaining N elements, N being the maximum number of elements of the second dictionary to be tested.
- N elements e i , e j , ..., e k , ... is schematically represented as the first elements of K ORD1, ORD2, ..., ORDK commands, on the figure 10 .
- the number N of elements retained in the set ENS can be chosen for example according to the maximum complexity allowed. In this ranking, it is also possible to focus on the items most often ranked among the first.
- the choice of N i is such that ⁇ Ni ⁇ N and makes it possible to treat the rankings fairly or, on the contrary, to favor certain rankings. Then, one selects all the elements present in the K subsets, then the elements present in K-1 subsets and so on until retaining N elements. If N elements have not been so obtained, the number of elements is completed by, for example, successively taking the following elements in the K subsets.
- the second dictionary is preferably explored according to a "dynamic" order thus determined. This dynamic ordering procedure from predetermined and stored orders can also be applied when the classes of the partition are not disjoint and an element of the first dictionary belongs to more than one class.
- the parameters of the monotap model of a COD1 format are available and it is sought to determine at a lower cost of calculation and / or resources those of the multitap model of a COD2 format.
- the coder COD1 determined the pair ( ⁇ e , ⁇ e ) of parameters of the LTP monotap filter.
- the coding of a sub-frame of COD2 requires the determination of pairs ( ⁇ s , ( ⁇ i ) s ) (where i is a gain index) of LTP multitap filter parameters.
- the set of parameters of the first model is therefore ( ⁇ e , ⁇ e ).
- the set of parameters of the second model is ( ⁇ s , ( ⁇ i ) s ).
- the determination of the delay ⁇ s is done by one of the known methods of the state of the art. For example, it is possible to use the intelligent transcoding method which directly determines this delay ⁇ s by choosing as delay, the one determined by COD1 on its subframe which shares the most samples with the current sub-frame of COD2. (if this delay ⁇ e is fractional, we take its integer part or the nearest integer). This situation will be described later with particular reference to Figures 7a and 7b .
- the vector of gains ( ⁇ i ) s for each COD2 subframe from at least one of the gains ⁇ e of the COD1 subframes is then determined with low complexity in the sense of the invention.
- a study associating the two models LTP one made a partition of the first dictionary (here the dictionary of the scalar gains ⁇ e ).
- orders of the second dictionary associated with this partition are determined. These orders correspond here to all the gain vectors ( ⁇ i ) s . From the scalar LTP gains ⁇ e chosen by the first COD1 format for its subframes corresponding to a current COD2 subframe, the orders of the second dictionary associated with the classes of these scalar gains are preselected.
- N first gain vectors determined by this order are tested to select the best vector (according to a criterion such as the usual CELP criterion). It will be recalled that, thanks to orders, the number N can be easily adjusted as a function, for example, of the desired quality / complexity compromise. In general, N is much smaller than the size of the second dictionary.
- the optimal gain vector of a multitap LTP filter of a second coding format is thus determined from at least one gain of a monotap LTP filter of a first format, significantly reducing the exploration complexity of the second dictionary of gain vectors and limiting the number of gain vectors to be tested.
- the solution according to the invention makes it possible to adjust the exploration of the dictionary by according to the quality sought and complexity constraints. It will be understood that the invention involves more the different orders of the dictionary of vectors of gains than predefined and fixed subsets as in the aforementioned reference.
- the steps outlined above can be applied to the focus of the closed-loop search in the two G.723.1 gain vector dictionaries from the LTP gains of the G.729 encoder.
- the second dictionary consists of the set of jitter values ( ⁇ e - ⁇ s ). From the gain vectors ( ⁇ i ) e chosen by the first format COD1, for its subframes which correspond to the current subframe of COD2, the commands of the second dictionary associated with the classes of these gain vectors are preselected. Then, only one of these orders can be retained, or an order can be dynamically constituted. Finally, the "neighborhood" values thus determined around one or more anchoring delays ⁇ ' s are explored. The determination of the anchoring delay (s) is made by a method known in the state of the art.
- the present invention therefore proposes an original solution making it possible to reduce the complexity of the determination of the delay ⁇ s by reducing the number of tested delay values of a monotap LTP model of a second coding format based on the knowledge of the parameters. of a multitap LTP model of a first coding format.
- Most of the methods of the prior art only use the delay without exploiting the vector of gains.
- both types of parameters are used here.
- a vector of gains points to a set of several jitter values and not to a single value as in this reference. According to one of the advantages afforded by the invention, the problems associated with the approximation of a multitap LTP filter by a single monotap filter are thus overcome.
- the ordered neighborhoods are intervals of increasing size. This measurement is particularly advantageous for focusing the search in open loop and / or closed.
- An exemplary embodiment will be described below, relating to the closed-loop search of the LTP delay of the 8 kbit / s ITU-T G.729 encoder from the LTP parameters of the ITU-T G.723.1 6.3 kbit coder. / s.
- the set of parameters of the first model is therefore written ( ⁇ e , ( ⁇ i ) e ).
- the set of parameters of the second model is also written ( ⁇ s , ( ⁇ i ) s ). From at least one set of parameters selected by the first COD1 format, it is sought to obtain a delay ⁇ s and a gain vector ( ⁇ i ) s for the second format COD2.
- the determination of the delay ⁇ s from at least one delay ⁇ e is done by a known method of the state of the art. It should be noted that the implementation of the present invention makes it possible here to determine with a low complexity the vector of gains ( ⁇ i ) s for each subframe of the second format COD2 from at least one vector of gains ( ⁇ i ) th subframes of the first COD1 format.
- a partition of the first dictionary which is in this case that of the vectors of gains ( ⁇ i ) e .
- the orders of the second dictionary are then determined (here that of the gain vectors ( ⁇ i ) s ) that are associated with this partition. From the gain vectors ( ⁇ i ) e chosen by the first format COD1 for its subframes which correspond to the current subframe of the second format COD2, the commands of the second dictionary associated with the classes of these gain vectors are preselected . Then, only one of these orders can be retained, or an order can be dynamically and evolutionarily constituted. Finally, the first earnings vectors determined by this order are tested to select the best one.
- Three exemplary embodiments are presented which are aimed at transcoding between two different ITU-T G.729 and ITU-T G.723.1 coding formats for the first two, and a bit rate change within a multi-bit encoder ( G.723.1) for the latter.
- a description of these two ITU-T coders is first given as well as their LTP modelings.
- the synthesis model is used to extract the parameters modeling the signals to be coded.
- the compression ratio varies from 1 to 16 so that these encoders operate at rates of 2 to 16 kbit / s in the telephone band, and at rates of 6 to 32 kbit / s. enlarged band.
- the coding and digital decoding device of CELP type, synthesis analysis coder most currently used for the coding of the speech signals, is presented on the 4a.
- the speech signal s 0 is sampled and converted into a series of blocks of (L ') samples called frames. In general, each frame is cut into smaller blocks of (L) samples, called subframes. Each block is synthesized by filtering a waveform extracted from a repertoire (also called fixed excitation dictionary), multiplied by a gain, through two filters varying in time.
- the excitation dictionary is a finite set of waveforms of L samples.
- the first filter is the long-term prediction filter.
- a LTP (Long Term Prediction) analysis is used to evaluate the parameters of this long-term predictor that exploits the periodicity of voiced sounds. This predictor is equivalent to a dictionary storing past excitement for different delays. This dictionary is generally called "adaptive excitation dictionary”.
- the second filter is the short-term prediction filter.
- the Linear Prediction Coding ( LPC) analysis methods make it possible to obtain these short-term prediction parameters, which are representative of the vocal tract transfer function and characteristics of the signal spectrum.
- the speech signal s 0 undergoes the LPC analysis 41 (not shown in detail), as well as an LTP analysis with a construction of the repertoire of fixed excitations 46 and adaptive excitations 45 for supplying the synthesis filter 44.
- LPC analysis 41 not shown in detail
- an LTP analysis with a construction of the repertoire of fixed excitations 46 and adaptive excitations 45 for supplying the synthesis filter 44.
- a perceptual weighting module 42 and an error minimization module 43 are also provided.
- the method used to determine the innovation sequence is therefore the method of synthesis analysis.
- a large number of excitation dictionary innovation sequences are filtered by the two LTP and LPC filters, and the selected waveform is that producing the closest synthetic signal of the original signal according to a criterion.
- perceptual weighting commonly known as the CELP criterion.
- the ITU-T G.729 coder operates on a 3.4 kHz band-limited speech signal sampled at 8 kHz and cut into 10 ms frames (ie 80 samples per frame). Each frame is divided into two sub-frames (numbered hereinafter 0 and 1) of 40 samples (5 ms).
- the LTP model of the ITU-T G.729 encoder is based on fractional resolution monotap modeling. At each frame, the LTP analysis determines a delay ⁇ i and a gain ⁇ i for each subframe. The figure 4b presents the main steps. At each frame, a search for the open-loop delay, denoted ⁇ OL , is performed in the value range [20; 143] (step 401).
- the delay of the first sub-frame is searched in a closed loop around the open-loop delay ⁇ OL over the range [ ⁇ OL -3; ⁇ OL +3] (step 402).
- the delay ⁇ 0 of the even subframe is determined with a fractional resolution of 1/3 in the range [ 19 ⁇ 1 3 ; 84 ⁇ 2 3 ] and in full resolution in the range [85; 143].
- the delay ⁇ 1 of the second sub-frame is determined with a fractional resolution of 1/3 by synthesis analysis around ⁇ 0 over the range [int ( ⁇ 0 ) -5 2/3 ; int ( ⁇ 0 ) +4 2/3 ], int ( ⁇ 0 ) being the integer part of the possibly fractional delay ⁇ 0 (step 404).
- the gain ⁇ is calculated once the determined closed-loop delay (steps 403 and 405). After searching for the fixed excitation, the gain ⁇ is quantized together with the gain of the fixed excitation by a seven-bit vector quantization.
- the definition set (or dictionary) of the G.729 monotap LTP gain is therefore 128.
- the ITU-T G.723.1 coder operates on a 3.4 kHz band-limited speech signal sampled at 8 kHz and cut into 30 ms frames (240 samples per frame). Each frame has 4 subframes of 7.5 ms (60 samples) grouped 2 by 2 in super subframes of 15 ms (120 samples).
- the ITU-T G.723.1 coder uses multitap 5-order modeling.
- the long-term predictor coefficients are vector quantized using two dictionaries previously stored at 85 or 170 inputs for the 6.3 kbit / s mode, while the 5.3 kbit / s mode uses only the 170-input dictionary. In the 6.3 kbit / s mode, the choice of the explored dictionary depends on the delay value of the even subframes.
- the figure 4c illustrates the main steps of the LTP analysis of the G.723.1 encoder.
- two closed loop LTPs are performed for each super subframe.
- the delays ⁇ 2i of the even subframes are searched in a closed loop around the corresponding delay ⁇ i OL over the range [ ⁇ i OL -1; ⁇ i OL +1].
- the earnings vector dictionary is also explored by synthetic analysis (step 411).
- a similar search joint search of the gain vector and the closed-loop delay
- the search for a delay ⁇ 2i + 1 in a loop closed is limited to the vicinity of the closed-loop delay of the previous sub-frame [ ⁇ 2i -1; ⁇ 2i + 2] (step 412).
- a G.723.1 coding frame corresponds to three G.729 coding frames. It thus appears that the subframes of G.729 do not coincide with those of G.723.1, but on the contrary the seconds (7.5 ms) overlap the first ones (5 ms).
- the figure 5b represents a frame of the G723.1 coding and three G.729 coding frames and their respective subframes. The subframes of the G.723.1 frame are numbered from 0 to 3. The three G.729 frames are grouped and their subframes are numbered from 0 to 5.
- the delay is taken equal to the integer part of that of the sub-frames 1 and 4 of G.729.
- a closed loop is performed around the previous delay (even subframe). This closed loop can be identical to that of G.723.1, but can also be restricted according to the desired complexity, or even eliminated to keep then the same value of delay on the two even and odd subframes.
- the delay has been determined, it is still necessary to determine a vector of 5 gains in the vector dictionary of 5 coefficients selected by the G.723.1 coder.
- the implementation of the present invention makes it possible to restrict its exploration to a limited number of gain vectors determined from the monotap LTP gains of the G.729 coder subframes.
- Each subframe of G.723.1 covers (at least partially) two subframes of G.729.
- Each of these two gains is associated with a ranking C (g i ) of the vectors of the multitap coefficient vector dictionary. This dictionary is selected by the delay value of the even subframe of G.723.1.
- the exploration of the earnings vector dictionary is limited to the N vectors determined by the "dynamic" order thus constituted.
- This focused exploration allows you to select the best earnings vector.
- the selection criterion is the CELP criterion conventionally used by G.723.1 for exploring the dictionaries of vectors with LTP coefficients.
- the solution exposed here allows a very strong reduction in the complexity of LTP analysis of G.723.1 coding without compromising quality.
- Figures 9a and 9b for the two dictionaries, the histogram of the exploration sizes which guarantee a loss on the CELP criterion strictly lower than 1% compared to a complete exploration.
- the exploration sizes are much smaller than the total size of the dictionary.
- the average size is 39 for the dictionary with 85 vectors and 49 for the dictionary with 170 vectors.
- the statistical study shows, even for average exploration sizes, well below the dictionary sizes (48 instead of 85 and 58 instead of 170), that the restricted exploration is optimal according to the CELP criterion (practically no loss on the CELP criterion). Focused research can therefore lead to performance equivalent to exhaustive search while exploring just over half of the size 85 dictionary and one third of the 170 dictionary.
- parameters of the multitap LTP model of a G.723.1 frame are available and the G.729 monotap LTP parameters are sought for three frames, that is to say six frames. sub-frames (see figure 5b ).
- each of the three G.729 frames first adopts for delay in open loop the delay of one of the subframes of the G.723.1 encoder.
- the correspondence between G.729 frames and G.723.1 subframe is illustrated on the figure 6 .
- the delay chosen by the G.723.1 encoder may be outside the range of values allowed by the G.729 encoder. Indeed, the smallest value allowed by the G.729 encoder is 19 while it is 18 for the G.723.1 encoder.
- Several solutions are possible to work around this problem. Typically, one can for example double the delay from the G.723.1 coder, or more simply add 1.
- the closed-loop search remains to be performed for each subframe. It is recalled that the value ranges are as follows: ⁇ 0 ⁇ ⁇ OL - 3 ; ⁇ OL + 3 and ⁇ 1 ⁇ int ⁇ 0 - 5 ⁇ 2 3 ; int ⁇ 0 + 4 ⁇ 2 3
- the standard closed-loop search of the G.729 encoder consists firstly in successively testing all the integer values of the range (7 values for ⁇ 0 and 10 for ⁇ 1 ). Once the best integer value has been selected, the different fractions (-2/3, -1/3, 1/3, 2/3) are tested to determine the best one according to the chosen criterion, in this case the one that maximizes the criterion CELP. For the even subframe, it should be noted that the fractional part is only searched if the integer part of ⁇ 0 is less than 85.
- the first dictionary in the definition of the invention given above is one of the two LTP gain vector dictionaries of the G.723.1 coder, the second dictionary being one of two sets of integer values of neighborhood (or jitter) around an anchoring delay. It will be understood that the invention can easily be applied to more than one first dictionary, on the one hand, and more than one second dictionary, on the other hand.
- each G.729 sub-frame is associated with one or two G.723.1 subframes.
- the neighborhood values of A ' are ranked in order of decreasing importance. The number of values tested is then determined according to the targeted complexity or the quality / complexity ratio.
- FIG. figure 7a The association between the even (odd) subframes of the G.729 encoder and the set of parameters ( ⁇ j , ( ⁇ i ) j ) from the G.723.1 encoder is illustrated in FIG. figure 7a (respectively on the figure 7b ).
- the anchor value ⁇ ' may be different from the delay ⁇ j of the set of parameters ( ⁇ j, ( ⁇ i ) j ) determined for the associated G.723.1 sub-frame. This point is explained later where we take into account the parity of the subframes (even or odd). In a first Alternatively, one can simply ignore a possible difference.
- the set of ordered neighborhoods is modified according to the difference ( ⁇ j - ⁇ ') and the size of this set is possibly modified.
- the difference ( ⁇ j - ⁇ ') is subtracted from each element of this ordered neighborhood according to the gains ( ⁇ i ) j and its intersection is considered with the set of definition of neighborhoods (here the interval [-3; 3] for even subframes and the interval [-5.4] for odd subframes, as discussed below.
- the strategy can therefore be adapted to the sub-frame or the gap between the delays, or to the two criteria combined.
- the search must be carried out around the open-loop delay ⁇ OL over the range [ ⁇ OL -3; ⁇ OL +3].
- the gain vector (s) chosen by the G.723.1 encoder orders of all 7 jitter values (-3, -2, -1, 0, 1, 2, 3) are determined.
- subframe 0 (respectively 2) of the G.729 encoder, there is only one subframe of the associated G.723.1 and therefore only one gain vector and, thus, a single order.
- two sub-frames of the G.723.1 coder are associated with the sub-frame 4 of the G.729 coder, as shown in FIG. figure 7a .
- the search must be carried out around the integer part ⁇ ' 2p of the previous sub-frame (pair) in the range [ ⁇ ' 2p -5 2/3 ; ⁇ ' 2p +4 2/3 ].
- the delay ⁇ j of the set of parameters ( ⁇ j , ( ⁇ i ) j ) of (or of) associated G.723.1 subframes can be different from this anchor value ⁇ ' 2p .
- the vector (s) ( ⁇ i ) j of gains chosen by the G.723.1 coder orders of all the jitter values are preselected and modified as a function of the difference ( ⁇ j - ⁇ ' 2p ).
- N (N ⁇ 10) be the maximum number of values tested.
- the following is preferentially performed for each odd subframe.
- the total search range is [ ⁇ ' 2 -5 2/3 ; ⁇ ' 2 +4 2/3 ].
- An order corresponding to the gain vector ( ⁇ i ) 2 is selected.
- the ordered neighborhood is modified according to the difference ( ⁇ 2 - ⁇ ' 2 ).
- the difference between ⁇ 2 and ⁇ ' 2 can be large and the intersection of the ordered neighborhood, modified by subtracting (A 2 -A' 2 ), can be zero.
- the search is made over the entire range [ ⁇ ' 1 -5 2/3 ; ⁇ ' 1 +4 2/3 ].
- the use of ordered neighborhoods can also be conditioned by a threshold on
- the total search range is [ ⁇ ' 4 -5 2/3 ; ⁇ ' 4 +4 2/3 ].
- An order corresponding to the gain vector ( ⁇ i ) 3 is selected.
- the ordered neighborhood is modified according to the difference ( ⁇ 3 - ⁇ ' 4 ).
- this gap is limited. Indeed, the closed-loop delay of G.729, ⁇ ' 2 , is in the vicinity ([-3.3]) of the open-loop delay (here taken as the closed-loop delay ⁇ 3 of G.723.1). .
- the solution presented here allows a very sharp reduction in the complexity of LTP analysis of G.729 coding.
- the invention makes it possible to test only 60% (respectively 40%) of the neighborhood values if the gain vector of the G.723.1 coder is in the dictionary with 170 entries (respectively 85 entries). ).
- the delay of the even subframes can be used as the open loop delay of the super subframe and then restricted.
- the variation range of the closed-loop delay of the 5.3 kbit / s mode as a function of the vector of five coefficients of the filter chosen by the 6.3 kbit / s mode.
- no treatment other than a simple copy of the delay is necessary.
- each 5.3 kbit / s subframe adopts for delay that the 6.3 kbit / s mode has chosen for the same subframe.
- the gain vector that maximizes a criterion is then selected as described above.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
La présente invention concerne le codage/décodage en compression de signaux audionumériques, notamment de signaux de parole et/ou de signaux multimédias, notamment pour des applications de transmission ou de stockage. Elle vise plus particulièrement une détermination efficace des paramètres d'un second modèle de prédiction à long terme (ou "LTP" pour "Long Term Prediction"), à partir des paramètres d'au moins un premier modèle de prédiction LTP.The present invention relates to the encoding / decoding in compression of digital audio signals, especially speech signals and / or multimedia signals, in particular for transmission or storage applications. More particularly, it relates to an efficient determination of the parameters of a second long term prediction model (or " LTP " for " Long Term Prediction "), based on the parameters of at least one first LTP prediction model.
Les codeurs en compression utilisent des propriétés du signal audionumérique telles que sa stationnarité locale, exploitée par des filtres de prédiction à court terme, ainsi que sa structure harmonique, exploitée par des filtres de prédiction à long terme LTP. Typiquement, les sons voisés d'un signal de parole (tels que les voyelles) présentent une corrélation à long terme due à la vibration des cordes vocales. La corrélation à long terme est modélisée par un filtre LTP noté P(z) qui permet de restituer la structure harmonique en utilisant un filtre de synthèse du type :
La forme la plus simple du filtre de prédiction à long terme est le filtre P(z) à un seul coefficient β (appelé aussi gain) et à retard entier T tel que P(z) = βz-T. Le retard T est aussi appelé période de "pitch", ou plus simplement "pitch".The simplest form of the long-term prediction filter is the P (z) filter with a single coefficient β (also called gain) and an integer delay T such that P (z) = βz -T . The delay T is also called "pitch" period, or simply " pitch ".
Actuellement, des modélisations plus élaborées visent :
- une modélisation à plusieurs coefficients (dite "multitap") :
- ou encore une modélisation à retards multiples :
- ou encore une modélisation à retard fractionnaire qui utilise des sur et sous échantillonnages avec des filtres d'interpolation :
résolution 1/D, les coefficients pl(i) sont donnés par pl(i) = hinter(iD-l), 0≤l≤D-1, hinter étant un filtre d'interpolation de longueur 2ID+1.
- a multi-coefficient model (called "multitap "):
- or multiple delay modeling:
- or fractional delay modeling that uses over and under sampling with interpolation filters:
resolution 1 / D, the coefficients p l (i) are given by p l (i) = h inter (iD-1), 0≤l≤D-1, h inter being an interpolation filter of length 2ID +1.
Les paramètres du filtre (retard et gain(s)) varient selon les signaux à coder et pour un même signal au cours du temps. Par exemple, en codage de parole, la plage des périodes de pitch cherche à couvrir la gamme des fréquences fondamentales de la voix humaine (des voix graves aux voix aiguës). Pour un même locuteur, cette fréquence varie aussi temporellement. De même, le(s) coefficient(s) du filtre évolue(nt) aussi dans le temps.The filter parameters (delay and gain (s)) vary according to the signals to be coded and for the same signal over time. For example, in speech coding, the range of pitch periods seeks to cover the range of fundamental frequencies of the human voice (from low to high voices). For the same speaker, this frequency also varies temporally. In the same way, the coefficient (s) of the filter evolve (s) also in time.
Au codage, les paramètres de P(z) sont déterminés soit par une analyse en boucle ouverte soit par une analyse en boucle fermée ou le plus souvent par une combinaison des deux analyses. L'analyse en boucle ouverte est effectuée en minimisant l'erreur de prédiction sur le signal à modéliser. L'analyse en boucle fermée (dite "analyse par synthèse") minimise l'erreur quadratique, habituellement pondérée, entre le signal vocal à modéliser et le signal de synthèse. Habituellement, une recherche en boucle ouverte est d'abord prévue afin de déterminer une première estimation du pitch appelée "pitch en boucle ouverte". Puis, une recherche à analyse par synthèse sur un voisinage restreint autour de cette valeur d'ancrage permet d'obtenir une valeur plus précise du pitch. Ces analyses sont effectuées sur des blocs d'échantillons. Les longueurs des blocs d'analyse en boucle ouverte et fermée ne sont pas nécessairement égales. Souvent, une seule analyse en boucle ouverte est effectuée pour plusieurs analyses en boucle fermée.In coding, the parameters of P (z) are determined either by an open-loop analysis or by a closed-loop analysis or most often by a combination of the two analyzes. Open loop analysis is performed by minimizing the prediction error on the signal to be modeled. Closed-loop analysis (known as "synthesis analysis" ) minimizes the squared error, usually weighted, between the voice signal to be modeled and the synthesis signal. Usually, an open loop search is first provided to determine a first estimate of the pitch called "open loop pitch". Then, a synthesis analysis search on a restricted neighborhood around this anchor value makes it possible to obtain a more precise value of the pitch. These analyzes are performed on sample blocks. The lengths of the open and closed loop analysis blocks are not necessarily equal. Often, only one open-loop analysis is performed for multiple closed-loop analyzes.
Pour tout modèle LTP (monotap ou multitap), la détermination des paramètres LTP est très coûteuse en complexité de calcul. Elle est généralement constituée d'une boucle ouverte sur un grand bloc d'échantillons suivie de boucles fermées sur plusieurs sous-blocs d'échantillons (appelés aussi sous-trames). En particulier, la recherche en boucle ouverte du délai harmonique est une opération très coûteuse, au codage. Habituellement, elle nécessite le calcul d'une fonction d'auto-corrélation du signal pour de nombreuses valeurs (en fait sur plage de variation des retards). Dans le codeur selon la norme UIT-T G.723.1, cette plage de retards comporte 125 retards entiers (de 18 à 142) et le retard en boucle ouverte est estimé toutes les 15 ms (soit donc pour des blocs de 120 échantillons). Dans le codeur selon la norme UIT-T G.729 à 8 kbit/s, l'analyse en boucle ouverte est effectuée toutes les 10 ms (à chaque bloc de 80 échantillons) et explore une plage de 124 retards entiers (de 20 à 143). Cette opération constitue près de 70% de la complexité de l'analyse LTP pour ce type de codage.For any LTP model (monotap or multitap), the determination of the LTP parameters is very expensive in computational complexity. It usually consists of an open loop on a large block of samples followed by closed loops on several sub-sample blocks (also called sub-frames). In particular, the open loop search of the harmonic delay is a very expensive operation, coding. Usually, it requires the calculation of a function of auto-correlation of the signal for many values (in fact on range of variation of the delays). In the ITU-T G.723.1 coder, this delay range has 125 integral delays (from 18 to 142) and the open loop delay is estimated every 15 ms (ie for blocks of 120 samples). In the 8 kbit / s ITU-T G.729 coder, open-loop analysis is performed every 10 ms (at each block of 80 samples) and explores a range of 124 full delays (from 20 to 143). This operation accounts for nearly 70% of the complexity of LTP analysis for this type of coding.
Même si elle est focalisée autour du retard obtenu en boucle ouverte, la boucle fermée est aussi extrêmement coûteuse en calculs et, par conséquent, en ressources. Elle nécessite la génération d'excitations adaptatives et leur filtrage. Par exemple, dans le codage G.723.1 qui utilise un modèle LTP multitap, l'analyse en boucle fermée détermine conjointement le vecteur de gains (β i ) et un délai λ (en tant que pitch candidat) de chaque sous-trame en explorant un dictionnaire de vecteurs de gains pour plusieurs valeurs de pitch candidates. Cette analyse constitue près de la moitié de la complexité totale du codeur G.723.1 à 5,3 kbit/s.Even if it is focused around the delay obtained in open loop, the closed loop is also extremely expensive in calculations and, consequently, in resources. It requires the generation of adaptive excitations and their filtering. For example, in G.723.1 encoding that uses a multitap LTP model, the closed-loop analysis jointly determines the gain vector (β i ) and a delay λ (as a candidate pitch) of each sub-frame by exploring a dictionary of gain vectors for several candidate pitch values. This analysis accounts for nearly half of the total complexity of the 5.3 kbps G.723.1 encoder.
La complexité de l'analyse LTP est particulièrement critique lorsque plusieurs codages doivent être effectués par une même unité de traitement telle qu'une passerelle chargée de gérer de nombreuses communications en parallèle ou un serveur distribuant de nombreux contenus multimédias. Le problème de la complexité est encore accru par la multiplicité des formats de compression qui circulent sur les réseaux. Il est alors prévu plusieurs codages, soit en cascade (ou "transcodage"), soit en parallèle (codage multi-format ou codage multi-mode). Le transcodage est typiquement utilisé lorsque, dans une chaîne de transmission, une trame de signal compressée émise par un codeur ne peut plus poursuivre son chemin, sous ce format. Le transcodage permet de convertir cette trame sous un autre format compatible avec la suite de la chaîne de transmission. La solution la plus élémentaire (et la plus courante à l'heure actuelle) est la mise bout à bout d'un décodeur et d'un codeur. La trame compressée, arrivant sous un premier format, est décompressée. Ce signal décompressé est alors re-compressé sous un second format accepté par la suite de la chaîne de communication. Cette mise en cascade d'un décodeur et d'un codeur est appelée "tandem". Néanmoins, cette solution est très coûteuse en complexité (essentiellement à cause du recodage) et dégrade la qualité, le second codage se faisant en effet sur un signal décodé qui est une version dégradée du signal original. Par ailleurs, une trame peut rencontrer plusieurs tandems avant d'arriver à destination, ce qui accroît encore le coût en calcul et la perte de qualité. En outre, les retards liés à chaque opération de tandem s'accumulent et peuvent nuire à l'interactivité des communications.The complexity of the LTP analysis is particularly critical when several codings must be performed by the same processing unit such as a gateway responsible for managing many parallel communications or a server distributing a large number of multimedia contents. The problem of complexity is further increased by the multiplicity of compression formats that circulate on networks. It is then provided multiple encodings or cascading (or "transcoding") or in parallel (multiformat coding or multimode coding). Transcoding is typically used when, in a transmission chain, a compressed signal frame transmitted by an encoder can not continue in this format. Transcoding makes it possible to convert this frame into another format compatible with the rest of the transmission chain. The most basic solution (and the most common at the moment) is the end-to-end addition of a decoder and an encoder. The compressed frame, arriving in a first format, is decompressed. This decompressed signal is then re-compressed in a second format accepted later in the communication chain. This cascading of a decoder and an encoder is called "tandem". Nevertheless, this solution is very expensive in complexity (essentially because of the recoding) and degrades the quality, the second coding being indeed on a decoded signal which is a degraded version of the original signal. Moreover, a frame can meet several tandems before reaching its destination, which further increases the cost of calculation and the loss of quality. In addition, delays associated with each tandem operation accumulate and can interfere with the interactivity of communications.
Quant aux systèmes de compression multi-format où un même contenu est compressé sous plusieurs formats (typiquement dans le cas de serveurs de contenus qui diffusent un même contenu sous plusieurs formats adaptés aux conditions d'accès, de réseaux et terminaux des différents utilisateurs finaux), l'opération de multi-codage devient extrêmement complexe à mesure qu'augmente le nombre de formats désirés, ce qui peut rapidement saturer les ressources des systèmes. Un autre cas de codage multiple en parallèle est la compression multi-mode à décision a posteriori selon laquelle, à chaque segment de signal à coder, plusieurs modes de compression sont exécutés et le mode qui optimise un critère donné ou obtient le meilleur compromis débit/distorsion est sélectionné. Là encore, la complexité de chacun des modes de compression en limite le nombre et/ou conduit à élaborer une sélection a priori d'un nombre très restreint de modes.As for multi-format compression systems where the same content is compressed in several formats (typically in the case of content servers that broadcast the same content in several formats adapted to the access conditions, networks and terminals of the various end users) the multi-coding operation becomes extremely complex as the number of desired formats increases, which can quickly saturate the resources of the systems. Another case of multiple-coding in parallel is the post-decision multi-mode compression according to which, at each signal segment to be coded, several modes of compression are executed and the mode which optimizes a given criterion or obtains the best compromise rate / distortion is selected. Here again, the complexity of each of the modes of compression limits the number and / or leads to elaborate a selection a priori of a very limited number of modes.
Actuellement, la plupart des opérations de codage multiple ne prennent pas encore pleinement en compte les similitudes entre formats de codages, ce qui pourrait pourtant réduire la complexité et le retard algorithmique tout en limitant la dégradation apportée. Pour un même paramètre de format de codage, les différences entre codeurs résident dans la modélisation, la méthode et/ou la fréquence de calcul, ou encore la quantification.Currently, most multiple coding operations do not yet fully take into account the similarities between encoding formats, which which could however reduce the complexity and the algorithmic delay while limiting the degradation brought. For the same coding format parameter, the differences between coders reside in the modeling, the method and / or the frequency of calculation, or else the quantification.
De manière générale, les solutions proposées aujourd'hui s'attachent à limiter le nombre de valeurs explorées pour les paramètres d'un second modèle LTP en utilisant les paramètres choisis par le premier format, pour réduire la complexité de la recherche LTP du deuxième format.In general, the solutions proposed today focus on limiting the number of values explored for the parameters of a second LTP model by using the parameters chosen by the first format, to reduce the complexity of the second format LTP search. .
Le transcodage entre deux modèles LTP monotap est le cas le plus simple. La plupart des méthodes actuellement proposées concernent le transcodage entre retards, le transcodage du gain LTP étant effectué le plus souvent au niveau du signal-même (on parle de tandem "partiel"). Lorsque les deux modèles sont identiques (même dictionnaire de retards et même longueur de sous-trame), une simple recopie des champs binaires des retards d'un flux de bits vers l'autre suffit. Lorsque les dictionnaires diffèrent par leur résolution (entière ou fractionnaire 1/3, 1/6, etc) et/ou par leurs plages de valeurs, un transcodage dans le domaine binaire ou des paramètres, avec une transformation éventuelle, est utilisé. La transformation peut être une quantification, une troncature, un doublement ou un dédoublement. Lorsque les longueurs de sous-trames des deux formats sont différentes, on peut prévoir une interpolation des retards. Par exemple, les retards d'un premier format recouvrant une sous-trame de sortie sont interpolés. On peut alors n'utiliser ce retard interpolé que lorsque celui-ci est proche du retard obtenu à la sous-trame précédente, sinon une recherche classique est menée. Une autre méthode plus directe, sans interpolation, consiste à sélectionner un retard parmi ces retards du premier format. Cette sélection peut être effectuée selon plusieurs critères : dernière sous-trame, sous-trame ayant le plus d'échantillons en commun avec la sous-trame du second format ou encore celle qui maximise un critère dépendant du gain LTP. Le retard déterminé est une valeur d'ancrage pour la recherche du retard du deuxième format. Il peut être utilisé comme retard en boucle ouverte du second format autour duquel est effectué une recherche en boucle fermée classique ou restreinte, ou comme une première estimation de celui-ci, ou comme ancrage d'une trajectoire de retard.Transcoding between two LTP monotap models is the simplest case. Most of the methods currently proposed concern the transcoding between delays, the transcoding of the LTP gain being done most often at the signal itself (we speak of a "partial" tandem). When the two models are identical (same dictionary of delays and same length of subframe), a simple copy of the bit fields of the delays of a flow of bits towards the other is enough. When the dictionaries differ in their resolution (integer or fractional 1/3, 1/6, etc.) and / or their ranges of values, a transcoding in the binary domain or parameters, with a possible transformation, is used. The transformation can be quantization, truncation, doubling, or splitting. When the subframe lengths of the two formats are different, an interpolation of the delays can be provided. For example, the delays of a first format covering an output subframe are interpolated. We can then use this interpolated delay only when it is close to the delay obtained at the previous subframe, otherwise a conventional search is conducted. Another more direct method, without interpolation, is to select a delay among these delays of the first format. This selection can be made according to several criteria: last sub-frame, sub-frame having the most samples in common with the subframe of the second format or that which maximizes a criterion dependent on the LTP gain. The determined delay is an anchor value for finding the delay of the second format. he can be used as the open loop delay of the second format around which a conventional or restricted closed-loop search is performed, or as a first estimate thereof, or as an anchoring of a delay trajectory.
Dans le cas d'un transcodage entre une modélisation LTP monotap et une modélisation LTP multitap, on ne prévoit aujourd'hui qu'une mise en oeuvre simplement dans le domaine signal, du fait de la dissemblance des modélisations. La plupart des techniques de transcodage existantes se limitent à réduire la complexité de la boucle ouverte du second format en sélectionnant comme retard en boucle ouverte l'un des retards du premier format ou une interpolation de ces retards. Toutefois, quelques techniques ont été proposées pour réduire aussi la complexité de la boucle fermée.In the case of a transcoding between a monotap LTP modeling and a multitap LTP modeling, it is currently expected only a simple implementation in the signal domain, because of the dissimilarity of the modelizations. Most of the existing transcoding techniques are limited to reducing the complexity of the open loop of the second format by selecting as open loop delay one of the delays of the first format or an interpolation of these delays. However, some techniques have been proposed to also reduce the complexity of the closed loop.
Dans le document
Dans le document référencé [1] :
- "
An Efficient Transcoding Algorithm For G. 723.1 And G. 729A Speech Coders", Sung-Wan Yoon, Sung-Kyo Jung, Young-Cheol Park, and Dae-Hee Youn, Proc. Eurospeech 2001, pp.2499-2502 - la recherche en boucle fermée du vecteur de gains d'un modèle multitap est restreinte à un sous-ensemble du dictionnaire des gains multitap, déterminé par le gain du modèle monotap du premier format. Cette détermination, ainsi que la composition des sous-ensembles s'effectuent comme suit : le gain global de chaque vecteur du dictionnaire de gains est calculé; puis, à partir de 170 gains globaux correspondant aux 170 vecteurs du dictionnaire, 8 sous-ensembles sont constitués et un seul de ces sous-ensembles est sélectionné en fonction du gain LTP du premier modèle monotap.
- "
Transcoding algorithm for G723.1 and AMR speech Coders: for interoperability between VoIP and Mobile Networks", Sung-Wan Yoon and al., Proc. Eurospeech 2003, pp. 1101-1104 - les sous-ensembles sont composés par apprentissage comme suit : la plage de variation du gain monotap d'un codeur NB-AMR est divisée en 8 sous-sections, puis, pour chaque sous-section, une étude statistique sur un tandem NB-AMR permet de déterminer M vecteurs de gains des dictionnaires d'un codeur selon la norme G.723.1. Ces vecteurs de gain sont statistiquement les plus probables. Le nombre M est pris égal à 40 pour le dictionnaire comportant 85 vecteurs et à 85 pour le dictionnaire comportant 170 vecteurs. Lors de la recherche du vecteur de gains optimal, l'exploration du dictionnaire est limitée au sous-ensemble associé à la sous-section à laquelle appartient le gain du codeur NB-AMR.
In the document referenced [1]:
- "
An Efficient Transcoding Algorithm for G. 723.1 and G. 729A Speech Coders ", Sung-Wan Yoon, Sung-Kyo Jung, Young-Cheol Park, and Dae-Hee Youn, Eurospeech 2001, pp.2499-2502 - the closed-loop search of the gains vector of a multitap model is restricted to a subset of the multitap earnings dictionary, determined by the gain of the first-form monotap model. This determination and the composition of the subsets are as follows: the overall gain of each vector of the earnings dictionary is calculated; then, from 170 global gains corresponding to the 170 vectors of the dictionary, 8 subsets are constituted and only one of these subsets is selected according to the LTP gain of the first single-ended model.
- "
Transcoding algorithm for G723.1 and AMR speech coders: for interoperability between VoIP and Mobile Networks ", Sung-Wan Yoon et al., Eurospeech 2003, pp. 1101-1104 - the subsets are composed by learning as follows: the range of monotap gain variation of a NB-AMR coder is divided into 8 subsections, then, for each subsection, a statistical study on a NB-AMR tandem allows to determine M vectors of gains of the dictionaries of a coder according to the norm G.723.1. These gain vectors are statistically the most likely. The number M is taken equal to 40 for the dictionary containing 85 vectors and to 85 for the dictionary containing 170 vectors. When searching for the optimal gain vector, the dictionary search is limited to the subset associated with the subsection to which the NB-AMR encoder gain belongs.
Dans "Transcodage intelligent à faible complexité entre les codeurs UIT-T G.729 (8kbit/s) et 3GPP NB-AMR (12.2 kbit/s), CORESA 2004, on propose une méthode originale de conversion pour l'excitation fixe.In "Low complexity intelligent transcoding between ITU-T G.729 (8kbit / s) and 3GPP NB-AMR (12.2 kbit / s) coders, CORESA 2004, an original method of conversion for fixed excitation is proposed.
A la connaissance des inventeurs, il n'existe aujourd'hui aucune technique de transcodage entre deux modélisations LTP multitap. Comme on l'a vu ci-avant, la plupart des solutions actuelles ne concernent que les modèles LTP monotap. Certaines techniques proposent un transcodage entre un modèle multitap et un modèle monotap mais se limitent à réduire la complexité de la recherche du retard en boucle ouverte du second format.To the inventors' knowledge, there is currently no transcoding technique between two multitap LTP models. As we have seen above, most of the current solutions only apply to LTP monotap models. Some techniques propose a transcoding between a multitap model and a monotap model but are limited to reducing the complexity of the search for the open-loop delay of the second format.
Parmi les quelques approches proposées pour réduire la complexité de la boucle fermée, certaines sont basées sur une approximation d'un filtre LTP multitap par un filtre LTP monotap (fractionnaire ou non). Par exemple, dans le cas d'une approximation d'un filtre multitap :
par un filtre monotap non fractionnaire Pmono (z) = βz-(T-δ),
on estime un gain β et une gigue δ de retard tels que :
- Pmono(z) ≅ Pmulti(z), pour tous les retards entiers T considérés.
by a monotap unfractional filter P mono (z) = βz - (T-δ) ,
it is estimated a gain β and a delay jitter δ such that:
- P mono (z) ≅ P multi (z), for all integer delays T considered.
L'approximation d'un modèle LTP multitap par un modèle LTP monotap est déjà exploitée depuis la norme UIT-T G.723.1, en fait pour estimer le pré-filtre adaptatif et aussi pour contrôler l'instabilité du filtre LTP. Les études menées pendant la conception du codeur selon la norme G.723.1 ont montré qu'il n'est pas toujours possible d'approximer de manière satisfaisante un filtre LTP multitap par un filtre LTP monotap, sur une large plage de retards, avec un même gain β et une même gigue δ sur le retard. Pour un même vecteur de gains (β i ), l'estimation du couple optimal (β, δ) peut varier fortement en fonction du retard T. Dans le codeur selon G.723.1, cette difficulté a pu être contournée car la procédure de contrôle de stabilité retient le gain maximum parmi les gains estimés (qui peuvent être alors très dissemblables) et le pré-filtre adaptatif est inhibé pour tout vecteur de gains du modèle multiptap lorsque, sur la plage de retards considérée, les gains estimés sont trop différents ou les gigues sur le retard sont trop dissemblables ou trop grandes. Si, pour les modules de pré-filtrage adaptatif et de contrôle d'instabilité du filtre de prédiction à long terme, il est possible de contourner la difficulté d'estimation sans dégrader les performances, ces avantages sont plus difficilement atteignables avec le module d'analyse LTP lui-même qui joue un rôle crucial sur la qualité. Ainsi, selon le vecteur de gains et/ou le retard considérés, les 170 gains globaux calculés pour chaque vecteur des 170 entrées du dictionnaire, comme vu dans l'art antérieur ci-avant [1], peuvent être très éloignés des gains optimaux. De même, selon le vecteur de gains (β i ) et/ou le retard λ, le calcul du retard fractionnaire λ', comme vu dans l'art antérieur
Que l'approche soit analytique ou statistique, l'approximation, sur une large gamme de retards, d'un filtre LTP multitap par un seul filtre LTP monotap (ou l'approximation inverse) est trop imprécise. Pour résoudre ce problème, on pourrait, pour tenir compte de la variation du gain β et/ou du la gigue δ selon le retard T, stocker pour chaque retard T un couple (β, δ). Cependant, cette solution serait trop coûteuse en stockage puisqu'elle nécessiterait, pour chaque vecteur de gain et pour chaque retard de la plage, de stocker un couple. Dans le cas de l'approximation des filtres LTP multitap du codeur G.723.1 qui comporte deux dictionnaires multitap de 170 et 85 vecteurs, avec une plage de 125 retards, il faudrait stocker 31875 (=125*(170+85)) couples. De plus, cette solution ne résoudrait pas les cas où l'approximation d'un multitap par un monotap est vraiment trop imprécise, voire erronée. On notera qu'à l'inverse, plusieurs couples (β, δ) peuvent aussi constituer de bonnes approximations d'un filtre LTP multitap.Whether the approach is analytic or statistical, the approximation, over a wide range of delays, of a multitap LTP filter by a single LTP monotap filter (or the inverse approximation) is too imprecise. To solve this problem, one could, to take into account the variation of the gain β and / or the jitter δ according to the delay T, store for each delay T a pair (β, δ). However, this solution would be too expensive in storage since it would require, for each gain vector and for each delay in the range, to store a torque. In the case of the G.723.1 encoder multitap LTP filter approximation, which has two multitap dictionaries of 170 and 85 vectors, with a range of 125 delays, it would be necessary to store 31875 (= 125 * (170 + 85)) pairs. Moreover, this solution would not solve the cases where the approximation of a multitap by a monotap is really too inaccurate, even erroneous. Note that, conversely, several pairs (β, δ) can also be good approximations of a multitap LTP filter.
La présente invention vient améliorer la situation.The present invention improves the situation.
Tout d'abord, la présente invention vise le passage d'un modèle LTP à un seul coefficient (monotap) vers un modèle LTP à plusieurs coefficients (multitap) et inversement, ainsi que le passage entre deux modèles LTP multitap. En particulier, elle propose un procédé dont la complexité peut être ajustée, notamment en fonction d'un compromis désiré entre une complexité visée et une qualité souhaitée. Un dispositif pour la mise en oeuvre du procédé selon l'invention est, en outre, très utile pour les codages multiples en cascade (transcodages) ou en parallèle (multi-codages et codages multi-mode).Firstly, the present invention aims to switch from a LTP model to a single coefficient (monotap) to a multi-coefficient LTP model (multitap) and vice versa, as well as switching between two multitap LTP models. In particular, it proposes a process whose complexity can be adjusted, in particular according to a desired compromise between a targeted complexity and a desired quality. A device for implementing the method according to the invention is, moreover, very useful for multiple coding in cascade (transcoding) or in parallel (multi-coding and multi-mode coding).
Ainsi, l'invention vise d'abord un procédé de codage tel que défini dans la revendication 1, selon un second format, à partir d'informations obtenues par la mise en oeuvre d'au moins une étape de codage selon un premier format. Les premier et second formats mettent en oeuvre, notamment pour le codage d'un signal de parole, une étape de recherche de paramètres de prédiction à long terme LTP par exploration d'au moins un dictionnaire comportant des paramètres candidats, l'un au moins des premier et second format de codage utilisant un filtrage à plusieurs coefficients (dit "multitap" ci-avant), pour une recherche fine des paramètres LTP.Thus, the invention aims first of a coding method as defined in
Selon une définition générale de l'invention, le procédé comporte les étapes suivantes :
- a) définir des ordres d'au moins un dictionnaire qu'utilise le second format de codage,
- b) récupérer une information a priori, obtenue suite à la détermination des paramètres LTP au cours du codage selon le premier format, pour sélectionner au moins un ordre dudit dictionnaire,
- c) appliquer l'ordre sélectionné aux candidats dudit dictionnaire pour choisir un nombre limité de premiers candidats, et
- d) pour effectuer le second codage, mener la recherche LTP uniquement parmi ledit nombre limité de candidats.
- a) define orders of at least one dictionary used by the second coding format,
- b) recovering a priori information, obtained following the determination of the LTP parameters during coding according to the first format, to select at least one order of said dictionary,
- c) applying the selected order to the candidates of said dictionary to select a limited number of first candidates, and
- d) to perform the second coding, conduct the LTP search only among said limited number of candidates.
L'invention se distingue donc des solutions existantes par la définition d'ordres dans le dictionnaire et l'exploitation de ces ordres dans la procédure d'exploration du dictionnaire.The invention is thus distinguished from existing solutions by the definition of orders in the dictionary and the exploitation of these orders in the dictionary search procedure.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels :
- la
figure 1a représente schématiquement un système de transcodage intelligent utilisant un dispositif de codage selon le second format au sens de l'invention, - la
figure 1b représente schématiquement un système de codage multiple en parallèle, utilisant un dispositif de codage selon le second format au sens de l'invention, - la
figure 2 illustre les étapes principales du procédé au sens de l'invention, - la
figure 3 représente schématiquement les moyens mis en oeuvre par un dispositif de codage au sens de l'invention, - la
figure 4a représentant un schéma de principe d'un codeur CELP (pour "Code Excited Linear Prediction"), - la
figure 4b représente schématiquement les étapes de l'analyse LTP d'un codeur selon la norme UIT-T G.729, - la
figure 4c représente schématiquement les étapes de l'analyse LTP d'un codeur selon la norme UIT-T G.723.1 (6,3 kbit/s), - la
figure 5a illustre une correspondance entre les trames d'un codeur selon la norme UIT-T G.723.1 (30 ms) et les trames d'un codeur selon la norme UIT-T G.729 (10 ms), - la
figure 5b illustre une correspondance entre les sous-trames du codeur G.729 (5 ms) et les sous-trames du codeur G.723.1 (7,5 ms), - la
figure 6 illustre la recherche du pitch en boucle ouverte du G.729 à partir des valeurs de pitch du G.723.1, - les
figures 7a et 7b illustrent respectivement l'association entre sous-trames paires (respectivement impaires) du codeur G.729 et le jeu de paramètres LTP issu du codeur G.723.1 en tant que codeur selon le premier format, - la
figure 8 représente un tableau d'association des sous-trames du G.723.1 (colonne de droite CD) aux sous-trames du G.729 (colonne de gauche CG), - les
figures 9a et 9b représentent des histogrammes de tailles d'exploration réduites (nombre d'occurrences en ordonnée) dans des dictionnaires (initialement de 85 vecteurs pour lafigure 9a et de 170 vecteurs pour lafigure 9b ), et garantissant moins de 1% de réduction de qualité selon le critère CELP, et - la
figure 10 représente schématiquement la sélection de N éléments du second dictionnaire quand plusieurs ordres sont constitués, dans une réalisation particulière.
- the
figure 1a schematically represents an intelligent transcoding system using a coding device according to the second format in the sense of the invention, - the
figure 1b schematically represents a multiple coding system in parallel, using a coding device according to the second format in the sense of the invention, - the
figure 2 illustrates the main steps of the process within the meaning of the invention, - the
figure 3 schematically represents the means implemented by a coding device in the sense of the invention, - the
figure 4a representing a block diagram of a CELP coder (for Code Excited Linear Prediction), - the
figure 4b schematically represents the steps of the LTP analysis of an encoder according to ITU-T G.729, - the
figure 4c schematically represents the steps of the LTP analysis of an encoder according to the ITU-T G.723.1 standard (6.3 kbit / s), - the
figure 5a illustrates a mapping between ITU-T G.723.1 encoder frames (30 ms) and ITU-T G.729 encoder frames (10 ms), - the
figure 5b illustrates a correspondence between the G.729 (5ms) coder subframes and the G.723.1 (7.5ms) coder subframes, - the
figure 6 illustrates the G.729 open-loop pitch search from the G.723.1 pitch values, - the
Figures 7a and 7b respectively illustrate the association between even (odd) subframes of the G.729 encoder and the LTP parameter set from the G.723.1 encoder as an encoder according to the first format, - the
figure 8 represents an array of G.723.1 subframes (right column CD) to G.729 subframes (left column CG), - the
Figures 9a and 9b represent histograms of reduced exploration sizes (number of occurrences in ordinate) in dictionaries (initially of 85 vectors for thefigure 9a and 170 vectors for thefigure 9b ), and guaranteeing less than 1% reduction in quality according to the CELP criterion, and - the
figure 10 schematically represents the selection of N elements of the second dictionary when several orders are formed, in a particular embodiment.
La présente invention s'inscrit donc dans le cadre du codage multiple en cascade ou en parallèle ou dans tout autre système utilisant, pour représenter la périodicité à long terme d'un signal, une modélisation de type monotap ou multitap. L'invention permet à partir de la connaissance des paramètres d'un premier modèle de déterminer les paramètres d'un second modèle dans le cas où au moins l'un des deux modèles utilise une modélisation multitap. Par souci de concision, seul le cas d'un passage d'un premier modèle vers un second est décrit mais on comprendra que l'invention s'applique aussi dans le cas de passage de m (m ≥1) premiers modèles vers n (n ≥2) seconds modèles (où m et n sont absolument quelconques).The present invention is therefore part of the multiple coding in cascade or in parallel or in any other system using, to represent the long-term periodicity of a signal, a monotap or multitap type of modeling. The invention makes it possible from the knowledge of the parameters of a first model to determine the parameters of a second model in the case where at least one of the two models uses multitap modeling. For the sake of brevity, only the case of a transition from a first model to a second is described but it will be understood that the invention also applies in the case of passing from m (m ≥1) first models to n ( n ≥2) second models (where m and n are absolutely arbitrary).
En référence aux
La présente invention porte sur la détermination d'un paramètre d'un modèle LTP, noté LTP2, à partir d'au moins un paramètre LTP1 d'un autre modèle LTP, quand l'un au moins des deux modèles est un modèle multitap. Au lieu de rechercher le paramètre du second format de codage dans son ensemble de définition (ou "dictionnaire"), l'invention prévoit les étapes suivantes, en se référant maintenant à la
- dans le dictionnaire DIC2 du second format de codage (portant la référence 25 sur la
figure 2 ), on détermine initialement des ordres ORD1, ORD2, ..., ORDN (étape 25b de lafigure 2 ), - à partir de l'un au moins des paramètres LTP1 du premier format de codage, on sélectionne au moins un ordre ORD(DIC2) du dictionnaire du second format (étape 26),
- à l'étape 27, on obtient une succession ordonnée des éléments du dictionnaire ei 2, ej 2, ek 2, ...,
- on limite avantageusement l'exploration aux premiers éléments ei 2, ej 2 du dictionnaire DIC2 ainsi ordonné (étape 29), ce nombre d'éléments étant de préférence choisi selon le compromis qualité/complexité voulu (qualité visée/complexité autorisée), à une étape 28.
- in the DIC2 dictionary of the second coding format (referenced 25 as the
figure 2 ), orders ORD1, ORD2,..., ORDN are initially determined (step 25b of thefigure 2 ) - from at least one of the LTP1 parameters of the first coding format, at least one ORD (DIC2) command of the second format dictionary (step 26) is selected,
- in
step 27, we obtain an ordered succession of the elements of the dictionary e i 2 , e j 2 , e k 2 , ..., - advantageously limits the exploration to the first elements e i 2 , e j 2 of the dictionary DIC2 thus ordered (step 29), this number of elements being preferably chosen according to the desired quality / complexity compromise (target quality / authorized complexity), at a
step 28.
Ainsi, on comprendra que l'on peut limiter, par la mise en oeuvre de l'invention, le nombre d'éléments du second dictionnaire DIC2 sur lequel la recherche LTP va porter pendant le second codage COD2, tout en assurant une bonne qualité du codage COD2. Sur la
On notera que la
On a représenté sur la
- une mémoire MEM stockant une table de correspondance définissant, en fonction des paramètres LTP1 déterminés par le premier format de codage, des ordres d'un dictionnaire qu'utilise le second format de codage,
- des moyens, tels qu'une
interface 31, pour récupérer un signal donnant au moins une information a priori sur des paramètres LTP1 au cours d'un codage selon le premier format, - des moyens 32 actifs sur réception de ce signal pour consulter la table de correspondance et sélectionner au moins un ordre du dictionnaire du second format,
- des moyens de calcul, tel qu'un processeur 35, pour :
- ordonner le dictionnaire 33 du second format selon l'ordre sélectionné, en vue de choisir un nombre limité de premiers candidats dans le dictionnaire 33, et
- poursuivre le codage selon le second format, avec d'autres
modules 34 le cas échéant, en menant la recherche LTP uniquement parmi ce nombre limité de candidats.
- a memory MEM storing a correspondence table defining, as a function of the parameters LTP1 determined by the first coding format, commands from a dictionary used by the second coding format,
- means, such as an
interface 31, for recovering a signal giving at least a prior information on LTP1 parameters during a coding according to the first format, - means 32 active on receiving this signal to consult the correspondence table and select at least one order of the dictionary of the second format,
- computing means, such as a
processor 35, for:- ordering the
dictionary 33 of the second format according to the selected order, in order to select a limited number of first candidates in thedictionary 33, and - continue coding in the second format, with
other modules 34 if necessary, conducting the LTP search only among this limited number of candidates.
- ordering the
Bien entendu, le processeur 35 gère tout ou partie des modules du dispositif. A cet effet, il peut être animé par un produit programme d'ordinateur. La présente invention vise d'ailleurs un tel produit programme d'ordinateur, stocké dans une mémoire d'une unité de traitement ou sur un support amovible destiné à coopérer avec un lecteur de ladite unité de traitement ou téléchargeable d'un site distant, et comportant des instructions pour la mise en oeuvre de tout ou partie des étapes du procédé selon l'invention.Of course, the
On comprendra en particulier que le dispositif COD2, au sens de l'invention, peut directement récupérer les paramètres LTP1 du premier codeur COD1 pour en déduire l'information a priori précitée et, de là, l'ordre de son dictionnaire DIC2, ou, en variante recevoir du premier codeur COD1 directement les informations a priori sur l'ordre de son dictionnaire, du premier codeur COD1. Dans ce dernier cas, le premier codeur COD1 joue déjà un rôle particulier dans l'invention.It will be understood in particular that the device COD2, within the meaning of the invention, can directly recover the parameters LTP1 of the first coder COD1 in order to deduce the aforementioned information and, hence, the order of its dictionary DIC2, or, alternatively, receiving from the first coder COD1 directly the information a priori on the order of its dictionary, the first coder COD1. In the latter case, the first coder COD1 already plays a particular role in the invention.
La présente invention vise aussi un système incluant le premier codeur et le dispositif au sens de l'invention. En effet, le dispositif de la
Dans la mise en oeuvre de l'invention, on retiendra que le second codeur COD2 peut récupérer du premier codeur COD1 (lorsque ce dernier a déterminé les paramètres LTP1) des informations qui vont lui permettre d'ordonner son dictionnaire DIC2 (voir
Avantageusement, l'exploitation des ordres du second dictionnaire DIC2 offre une grande flexibilité sur le nombre d'éléments ordonnés à explorer. Il est alors possible :
- d'ajuster librement le compromis qualité/complexité,
- ou encore, pour une complexité donnée, optimiser la qualité,
- ou, inversement, minimiser la complexité pour une qualité donnée.
- to freely adjust the compromise quality / complexity,
- or, for a given complexity, to optimize the quality,
- or, conversely, minimize the complexity for a given quality.
Cet ajustement peut être effectué au début du traitement. II peut aussi être effectué à chaque bloc à traiter en fonction de paramètres du premier format de codage et/ou des caractéristiques du signal à coder (par exemple, en fonction d'un critère de voisement). Pour un même bloc, la complexité peut aussi varier en fonction des sous-trames LTP. L'invention offre une grande flexibilité qui permet de répartir dynamiquement la puissance de calcul disponible entre les modules du second codeur et/ou les ressources pour traiter les sous-trames LTP.This adjustment can be made at the beginning of treatment. It can also be performed at each block to be processed according to parameters of the first coding format and / or the characteristics of the signal to be coded (for example, according to a voicing criterion). For the same block, the complexity may also vary depending on the LTP subframes. The invention offers a great flexibility which makes it possible to dynamically distribute the computing power available between the modules of the second encoder and / or the resources for processing the LTP subframes.
Préférentiellement, c'est à partir d'une partition initiale du dictionnaire DIC1 associé à un paramètre du premier modèle LTP que l'on détermine des ordres du dictionnaire DIC2 associé à un paramètre du second modèle LTP. On indique que la détermination d'un ordre consiste à classer les éléments du second dictionnaire DIC2 selon un certain critère. Un classement (ou "ordre") est donné par une indexation des éléments du dictionnaire DIC2.Preferably, it is from an initial partition of the dictionary DIC1 associated with a parameter of the first LTP model that orders DIC2 dictionary associated with a parameter of the second model LTP are determined. It is indicated that the determination of an order consists in classifying the elements of the second dictionary DIC2 according to a certain criterion. A ranking (or "order") is given by indexing the elements of the dictionary DIC2.
Plusieurs types de partition du premier dictionnaire DIC1 peuvent être prévus. Un premier exemple est la partition élémentaire d'un dictionnaire DIC1 de N éléments en N classes disjointes de taille 1. N ordres du deuxième dictionnaire sont alors déterminés. Des partitions plus élaborées peuvent être choisies, notamment par des techniques connues en soi de quantification (vectorielle ou scalaire) ou de classification des données.Several types of partition of the first dictionary DIC1 can be provided. A first example is the elementary partition of a dictionary DIC1 of N elements in N disjoint classes of
Avantageusement, il est possible de regrouper des ordres similaires, ce qui revient à modifier la partition initiale du premier dictionnaire et, en conséquence, le nombre d'ordres du deuxième dictionnaire. On peut aussi recalculer les ordres une fois qu'ils ont été regroupés. Les procédures de détermination de la partition du premier dictionnaire en N classes et de calcul des N ordres du second dictionnaire peuvent être itérées, le nombre N pouvant d'ailleurs varier au cours des itérations. En variante ou en complément, pour limiter la mémoire nécessaire au stockage des ordres du second dictionnaire, pour chacun de ces ordres, un nombre maximal d'éléments à retenir est choisi, ce nombre pouvant différer selon les ordres et/ou les classes du premier dictionnaire.Advantageously, it is possible to group similar orders, which amounts to modifying the initial partition of the first dictionary and, consequently, the number of orders of the second dictionary. We can also recalculate the orders once they have been grouped together. The procedures for determining the partition of the first dictionary in N classes and calculating the N commands of the second dictionary can be iterated, the number N being able to vary during the iterations. As a variant or in addition, in order to limit the memory necessary for storing the orders of the second dictionary, for each of these commands, a maximum number of elements to be retained is chosen, this number being able to differ according to the orders and / or classes of the first dictionary.
Dans une variante encore, les classes du premier dictionnaire ne sont pas forcément disjointes. Typiquement, un même élément peut être associé à plus d'un ordre du second dictionnaire. Le choix de l'ordre ou la combinaison des ordres peut alors prendre en compte d'autres facteurs que le paramètre LTP courant du premier dictionnaire.In another variant, the classes of the first dictionary are not necessarily disjoined. Typically, the same element can be associated with more than one order of the second dictionary. Choice of order or combination orders can then take into account factors other than the current LTP parameter of the first dictionary.
Initialement, le nombre d'ordres et les ordres qui conviennent dans le second dictionnaire sont déterminés par une étude statistique et/ou analytique, en fonction de jeux successifs de paramètres LTP selon le premier modèle. Cette étude définit donc, pour chaque classe de la partition du dictionnaire associé à un paramètre LTP du premier format, un classement du dictionnaire d'un paramètre du second format. Une étude statistique a été réalisée sur un banc hors ligne en associant dans un même codeur le modèle LTP du premier format et le modèle LTP du deuxième format. La mise en parallèle des deux analyses LTP a été la configuration préférée d'apprentissage. Bien entendu, d'autres configurations peuvent être utilisées, notamment un tandem conventionnel qui met en cascade les deux codages. L'étude statistique assure, pour chaque élément du premier dictionnaire (ou chaque classe de sa partition), un classement des éléments du second dictionnaire selon un certain critère. Préférentiellement, ce critère évalue l'impact sur la qualité du signal restitué. En effet, le critère de qualité peut être celui utilisé au codage pour sélectionner le second paramètre LTP. Bien entendu, d'autres critères peuvent être utilisés, notamment la sollicitation d'un élément du second dictionnaire pour une classe du premier dictionnaire. En outre, une combinaison de critères peut aussi être utilisée.Initially, the number of orders and the orders that are appropriate in the second dictionary are determined by a statistical and / or analytical study, as a function of successive sets of LTP parameters according to the first model. This study defines, for each class of the partition of the dictionary associated with a LTP parameter of the first format, a classification of the dictionary of a parameter of the second format. A statistical study was carried out on an off-line bench by associating in the same coder the LTP model of the first format and the LTP model of the second format. Paralleling the two LTP analyzes was the preferred learning configuration. Of course, other configurations may be used, including a conventional tandem cascading the two encodings. The statistical study ensures, for each element of the first dictionary (or each class of its partition), a classification of the elements of the second dictionary according to a certain criterion. Preferentially, this criterion evaluates the impact on the quality of the returned signal. Indeed, the quality criterion can be that used in the coding to select the second parameter LTP. Of course, other criteria can be used, in particular the solicitation of an element of the second dictionary for a class of the first dictionary. In addition, a combination of criteria can also be used.
Une étude analytique peut aussi être effectuée pour déterminer des ordres du second dictionnaire en fonction d'une partition du premier dictionnaire. Préférentiellement, l'étude analytique vient en complément de l'étude statistique décrite ci-avant. Elle est préférentiellement limitée aux parties de dictionnaire qui conduisent à des approximations analytiques satisfaisantes.An analytical study can also be performed to determine orders of the second dictionary based on a partition of the first dictionary. Preferably, the analytical study complements the statistical study described above. It is preferentially limited to dictionary parts that lead to satisfactory analytical approximations.
On décrit maintenant la détermination d'un paramètre LTP du second format de codage, à partir des paramètres LTP selon le premier format de codage.The determination of an LTP parameter of the second coding format is now described from the LTP parameters according to the first coding format.
Dans le cadre de la conception d'algorithmes pour une exploration restreinte du second dictionnaire connaissant les paramètres LTP choisis par le premier format de codage, on exploite préférentiellement la partition d'un premier dictionnaire et les ordres du second dictionnaire qui sont associés à cette partition du premier dictionnaire.In the context of the design of algorithms for a restricted exploration of the second dictionary knowing the LTP parameters chosen by the first coding format, the partition of a first dictionary is preferably exploited and the commands of the second dictionary which are associated with this partition of the first dictionary.
Par souci de clarté de l'exposé, on décrit d'abord les principes de l'algorithme utilisé quand les deux formats de codage ont des sous-trames LTP de durée identique. A chaque sous-trame courante du deuxième format de codage correspond une seule sous-trame du premier format de codage. Pour cette première sous-trame, le premier format de codage a sélectionné un jeu de paramètres LTP (dit "premier jeu LTP1"). Grâce à la partition du dictionnaire associé à l'un des paramètres LTP du premier modèle, on sélectionne un ordre d'exploration du second dictionnaire en choisissant l'ordre associé à la classe de l'élément du premier jeu LTP1. Puis, le second dictionnaire est exploré suivant l'ordre ainsi déterminé. De plus, en fonction d'un compromis qualité/complexité et/ou éventuellement du nombre maximal d'éléments du second dictionnaire retenu pour la classe, le nombre d'éléments testés est restreint. De manière générale, on retiendra donc que, parmi tous les éléments du second dictionnaire, seuls sont testés les premiers éléments déterminés par l'ordre qui a été choisi.For the sake of clarity of the presentation, the principles of the algorithm used are first described when the two coding formats have LTP subframes of identical duration. Each current subframe of the second coding format corresponds to a single sub-frame of the first coding format. For this first sub-frame, the first coding format has selected a set of parameters LTP (called "first set LTP1" ). Thanks to the partition of the dictionary associated with one of the LTP parameters of the first model, a search order of the second dictionary is selected by choosing the order associated with the class of the element of the first set LTP1. Then, the second dictionary is explored according to the order thus determined. In addition, depending on a compromise quality / complexity and / or possibly the maximum number of elements of the second dictionary retained for the class, the number of elements tested is restricted. In general, we will remember that among all the elements of the second dictionary, only the first elements determined by the order that has been chosen are tested.
Quand les deux formats de codage ont des sous-trames LTP de durées différentes, il advient qu'une sous-trame courante du deuxième format peut correspondre à plus d'une sous-trame du premier format. Cette situation est illustrée sur la
Selon le type de paramètre LTP de la partition du premier dictionnaire, d'autres critères peuvent être retenus. Au lieu de ne retenir qu'un seul ordre, une autre solution consiste à combiner au moins une partie des différents ordres présélectionnés. Plusieurs procédures de combinaison sont possibles. Par exemple, si K ordres ont été retenus, on examine d'abord le premier élément de chacun des K ordres, en éliminant les redondances éventuelles. On obtient K1 éléments (Ki ≤K). Puis, on ajoute K2 éléments, tels que K2≤K et K2≤N-K1, choisis dans l'ensemble constitué par le deuxième élément des K ordres (en éliminant les redondances éventuelles), et ainsi de suite jusqu'à obtenir N éléments, N étant le nombre maximal d'éléments du second dictionnaire à tester. On a représenté schématiquement cette sélection de N éléments ei, ej, ..., ek, ... en tant que premiers éléments de K ordres ORD1, ORD2, ..., ORDK, sur la
En variante, on peut aussi constituer K sous-ensembles des classements en présélectionnant les Ni (≤N) premiers éléments de chaque classement Ci (1≤i≤K). Le choix des Ni est tel que ∑Ni ≥ N et permet de traiter équitablement les classements ou, au contraire, de privilégier certains classements. Puis, on sélectionne tous les éléments présents dans les K sous-ensembles, ensuite les éléments présents dans K-1 sous-ensembles et ainsi de suite jusqu'à retenir N éléments. Si N éléments n'ont pas été ainsi obtenus, on complète le nombre d'éléments en prenant par exemple successivement les éléments suivants dans les K sous-ensembles.As a variant, it is also possible to constitute K subsets of the rankings by preselecting the N i (≤ N) first elements of each classification C i (1 i i K K). The choice of N i is such that ΣNi ≥ N and makes it possible to treat the rankings fairly or, on the contrary, to favor certain rankings. Then, one selects all the elements present in the K subsets, then the elements present in K-1 subsets and so on until retaining N elements. If N elements have not been so obtained, the number of elements is completed by, for example, successively taking the following elements in the K subsets.
On peut évidemment combiner certaines de ces stratégies de classement. On indique de manière générale que le second dictionnaire est préférentiellement exploré suivant un ordre "dynamique" ainsi déterminé. Cette procédure de constitution d'ordre dynamique à partir d'ordres prédéterminés et stockés peut aussi être appliquée quand les classes de la partition ne sont pas disjointes et qu'un élément du premier dictionnaire appartient à plus d'une classe.One can obviously combine some of these ranking strategies. It is generally indicated that the second dictionary is preferably explored according to a "dynamic" order thus determined. This dynamic ordering procedure from predetermined and stored orders can also be applied when the classes of the partition are not disjoint and an element of the first dictionary belongs to more than one class.
On décrit ci-après trois cas de passage d'un premier modèle LTP vers un deuxième modèle LTP, illustrant l'application de l'invention à différents modèles et types de paramètres LTP. Bien entendu, bien que les exemples ne soient donnés que pour un premier et un second dictionnaire, l'invention se généralise aisément à plus d'un premier et/ou second dictionnaire.Three cases of transition from a first LTP model to a second LTP model are described below, illustrating the application of the invention to different models and types of LTP parameters. Of course, although the examples are given only for a first and a second dictionary, the invention is easily generalized to more than a first and / or second dictionary.
On dispose des paramètres du modèle monotap d'un format COD1 et l'on cherche à déterminer à moindre coût de calcul et/ou de ressources ceux du modèle multitap d'un format COD2. Pour chaque sous-trame, le codeur COD1 a déterminé le couple (λe,βe) de paramètres du filtre LTP monotap. Le codage d'une sous-trame de COD2 requiert la détermination de couples (λs,(βi)s) (où i est un indice de gain) de paramètres du filtre LTP multitap. Le jeu de paramètres du premier modèle est donc (λe,βe). Le jeu de paramètres du deuxième modèle est (λs,(βi)s).The parameters of the monotap model of a COD1 format are available and it is sought to determine at a lower cost of calculation and / or resources those of the multitap model of a COD2 format. For each subframe, the coder COD1 determined the pair (λ e , β e ) of parameters of the LTP monotap filter. The coding of a sub-frame of COD2 requires the determination of pairs (λ s , (β i ) s ) (where i is a gain index) of LTP multitap filter parameters. The set of parameters of the first model is therefore (λ e , β e ). The set of parameters of the second model is (λ s , (β i ) s ).
La détermination du retard λs est faite par une des méthodes connues de l'état de l'art. Par exemple, il est possible d'utiliser la méthode de transcodage intelligent qui détermine directement ce retard λs en choisissant comme retard, celui déterminé par COD1 sur sa sous-trame qui partage le plus d'échantillons avec la sous-trame courante de COD2 (si ce retard λe est fractionnaire, on prend sa partie entière ou l'entier le plus proche). Cette situation sera décrite plus loin en référence notamment aux
On détermine alors, avec une complexité faible au sens de l'invention, le vecteur de gains (βi)s pour chaque sous-trame de COD2 à partir de l'un au moins des gains βe des sous-trames de COD1. Par une étude associant les deux modèles LTP, on a effectué une partition du premier dictionnaire (ici le dictionnaire des gains scalaires βe). On détermine ensuite des ordres du deuxième dictionnaire, associés à cette partition. Ces ordres correspondent ici à l'ensemble des vecteurs de gains (βi)s. A partir des gains LTP scalaires βe choisis par le premier format COD1 pour ses sous-trames correspondant à une sous-trame courante de COD2, les ordres du deuxième dictionnaire associés aux classes de ces gains scalaires sont présélectionnés. Puis, un seul de ces ordres peut être retenu, ou encore, un ordre est dynamiquement constitué. Enfin, les N premiers vecteurs de gains déterminés par cet ordre sont testés pour sélectionner le meilleur vecteur (selon un critère tel que le critère habituel CELP). On rappelle que, grâce aux ordres, le nombre N peut être aisément ajustable en fonction par exemple du compromis qualité/complexité désiré. En général, N est bien inférieur à la taille du second dictionnaire.The vector of gains (β i ) s for each COD2 subframe from at least one of the gains β e of the COD1 subframes is then determined with low complexity in the sense of the invention. By a study associating the two models LTP, one made a partition of the first dictionary (here the dictionary of the scalar gains β e ). Then orders of the second dictionary associated with this partition are determined. These orders correspond here to all the gain vectors (β i ) s . From the scalar LTP gains β e chosen by the first COD1 format for its subframes corresponding to a current COD2 subframe, the orders of the second dictionary associated with the classes of these scalar gains are preselected. Then, only one of these orders can be retained, or an order is dynamically constituted. Finally, the N first gain vectors determined by this order are tested to select the best vector (according to a criterion such as the usual CELP criterion). It will be recalled that, thanks to orders, the number N can be easily adjusted as a function, for example, of the desired quality / complexity compromise. In general, N is much smaller than the size of the second dictionary.
Selon l'un des avantages de la présente invention, on détermine ainsi le vecteur de gains optimal d'un filtre LTP multitap d'un second format de codage à partir d'au moins un gain d'un filtre LTP monotap d'un premier format, en réduisant considérablement la complexité d'exploration du second dictionnaire des vecteurs de gains et en limitant le nombre de vecteurs de gains à tester. Contrairement à la référence [2] donnée ci-avant où, pour chaque gain monotap, un sous-ensemble de vecteurs de gains de taille fixe est associé, la solution au sens de l'invention permet d'ajuster l'exploration du dictionnaire en fonction de la qualité visée et des contraintes de complexité. On comprendra que l'invention fait intervenir davantage les différents ordres du dictionnaire de vecteurs de gains que des sous-ensembles prédéfinis et fixes comme dans la référence précitée.According to one of the advantages of the present invention, the optimal gain vector of a multitap LTP filter of a second coding format is thus determined from at least one gain of a monotap LTP filter of a first format, significantly reducing the exploration complexity of the second dictionary of gain vectors and limiting the number of gain vectors to be tested. Unlike the reference [2] given above, for each monotap gain, a subset of vectors of fixed size gains is associated, the solution according to the invention makes it possible to adjust the exploration of the dictionary by according to the quality sought and complexity constraints. It will be understood that the invention involves more the different orders of the dictionary of vectors of gains than predefined and fixed subsets as in the aforementioned reference.
Dans le cas d'un transcodage intelligent du codeur UIT-T G.729 à 8 kbit/s vers le codeur UIT-T G.723.1 à 6,3 kbit/s, qui sera décrit plus loin en tant qu'exemple de réalisation, les étapes exposées ci-avant pourront s'appliquer à la focalisation de la recherche en boucle fermée dans les deux dictionnaires de vecteurs de gains du G.723.1 à partir des gains LTP du codeur G.729.In the case of intelligent transcoding of the 8 kbit / s ITU-T G.729 encoder to the 6.3 kbit / s ITU-T G.723.1 encoder, which will be described later as an exemplary embodiment , the steps outlined above can be applied to the focus of the closed-loop search in the two G.723.1 gain vector dictionaries from the LTP gains of the G.729 encoder.
Ce cas de figure est l'inverse du précédent. On dispose des paramètres du modèle LTP multitap d'un premier format COD1 et l'on cherche à déterminer à moindre coût ceux du modèle LTP monotap d'un second format COD2. Le jeu de paramètres du premier modèle s'écrit donc (λe,(β i )e) (où i est un indice de gain), tandis que le jeu de paramètres du deuxième modèle s'écrit (λ s ,β s ). A partir d'au moins un jeu de paramètres sélectionnés par le premier codeur COD1, on cherche à obtenir un retard λs et un gain βs pour le format COD2. Par une étude associant les deux modèles LTP, on a effectué une partition du premier dictionnaire qui est, dans ce cas, celui des vecteurs de gains (β i )e. On détermine ensuite, au sens de l'invention, des ordres du deuxième dictionnaire, associés à la partition du premier dictionnaire. Ici, le deuxième dictionnaire est constitué de l'ensemble des valeurs de gigue (λe-λs). A partir des vecteurs de gains (βi)e choisis par le premier format COD1, pour ses sous-trames qui correspondent à la sous-trame courante de COD2, les ordres du deuxième dictionnaire associés aux classes de ces vecteurs de gains sont présélectionnés. Ensuite, un seul de ces ordres peut être retenu, ou encore, un ordre peut être dynamiquement constitué. Enfin, les valeurs de "voisinage" ainsi déterminées autour d'un ou plusieurs retards d'ancrage λ's sont explorées. La détermination du (ou des) retards d'ancrage est faite par une méthode connue dans l'état de l'art.This case is the reverse of the previous one. We have the LTP multitap model parameters of a first COD1 format and we try to determine at lower cost those of the LTP model monotap of a second format COD2. The set of parameters of the first model is therefore written (λ e , (β i ) e ) (where i is a gain index), while the set of parameters of the second model is written (λ s , β s ) . From at least one set of parameters selected by the first coder COD1, it is sought to obtain a delay λ s and a gain β s for the format COD2. By a study associating the two models LTP, one made a partition of the first dictionary which is, in this case, that of the vectors of gains (β i ) e . For the purposes of the invention, orders of the second dictionary associated with the partition of the first dictionary are then determined. Here, the second dictionary consists of the set of jitter values (λ e -λ s ). From the gain vectors (β i ) e chosen by the first format COD1, for its subframes which correspond to the current subframe of COD2, the commands of the second dictionary associated with the classes of these gain vectors are preselected. Then, only one of these orders can be retained, or an order can be dynamically constituted. Finally, the "neighborhood" values thus determined around one or more anchoring delays λ ' s are explored. The determination of the anchoring delay (s) is made by a method known in the state of the art.
La présente invention propose donc une solution originale permettant de réduire la complexité de la détermination du retard λs, en réduisant le nombre de valeurs de retards testés d'un modèle LTP monotap d'un second format de codage à partir de la connaissance des paramètres d'un modèle LTP multitap d'un premier format de codage. La plupart des méthodes de l'art antérieur n'utilisent que le retard sans exploiter le vecteur de gains. Comme dans le document
Dans une variante avantageuse, pour limiter le stockage, les voisinages ordonnés sont des intervalles de taille croissante. Cette mesure est particulièrement avantageuse pour focaliser la recherche en boucle ouverte et/ou fermée. Un exemple de réalisation sera décrit plus loin, relatif à la recherche en boucle fermée du retard LTP du codeur UIT-T G.729 à 8 kbit/s à partir des paramètres LTP du codeur UIT-T G.723.1 à 6,3 kbit/s.In an advantageous variant, to limit the storage, the ordered neighborhoods are intervals of increasing size. This measurement is particularly advantageous for focusing the search in open loop and / or closed. An exemplary embodiment will be described below, relating to the closed-loop search of the LTP delay of the 8 kbit / s ITU-T G.729 encoder from the LTP parameters of the ITU-T G.723.1 6.3 kbit coder. / s.
A la connaissance des inventeurs, ce cas n'a jamais été étudié dans l'art antérieur.To the inventors' knowledge, this case has never been studied in the prior art.
On dispose des paramètres du modèle multitap d'un premier format COD1 et l'on cherche à déterminer à moindre coût ceux du modèle multitap d'un second format COD2. Le jeu de paramètres du premier modèle s'écrit donc (λe,(β i )e). Le jeu de paramètres du deuxième modèle s'écrit aussi (λs, (β i )s). A partir d'au moins un jeu de paramètres sélectionné par le premier format COD1, on cherche à obtenir un retard λs et un vecteur de gains (β i )s pour le second format COD2.We have the parameters of the multitap model of a first COD1 format and we try to determine at a lower cost those of the multitap model of a second COD2 format. The set of parameters of the first model is therefore written (λ e , (β i ) e ). The set of parameters of the second model is also written (λ s , (β i ) s ). From at least one set of parameters selected by the first COD1 format, it is sought to obtain a delay λ s and a gain vector (β i ) s for the second format COD2.
La détermination du retard λs à partir d'au moins un retard λe est faite par une méthode connue de l'état de l'art. On retiendra que la mise en oeuvre de la présente invention permet ici de déterminer avec une complexité faible le vecteur de gains (βi)s pour chaque sous-trame du second format COD2 à partir d'au moins un vecteur de gains (βi)e des sous-trames du premier format COD1. Par une étude associant les deux modèles LTP multitap, on a effectué, au sens de l'invention, une partition du premier dictionnaire qui est dans ce cas celui des vecteurs de gains (βi)e. On détermine ensuite les ordres du deuxième dictionnaire (ici celui des vecteurs de gains (βi)s) qui sont associés à cette partition. A partir des vecteurs de gains (βi)e choisis par le premier format COD1 pour ses sous-trames qui correspondent à la sous-trame courante du second format COD2, les ordres du deuxième dictionnaire associés aux classes de ces vecteurs de gains sont présélectionnés. Ensuite, un seul de ces ordres peut être retenu, ou encore un ordre peut être dynamiquement et évolutivement constitué. Enfin, les premiers vecteurs de gains déterminés par cet ordre sont testés pour sélectionner le meilleur.The determination of the delay λ s from at least one delay λ e is done by a known method of the state of the art. It should be noted that the implementation of the present invention makes it possible here to determine with a low complexity the vector of gains (β i ) s for each subframe of the second format COD2 from at least one vector of gains (β i ) th subframes of the first COD1 format. By a study associating the two models LTP multitap, was carried out, in the sense of the invention, a partition of the first dictionary which is in this case that of the vectors of gains (β i ) e . The orders of the second dictionary are then determined (here that of the gain vectors (β i ) s ) that are associated with this partition. From the gain vectors (β i ) e chosen by the first format COD1 for its subframes which correspond to the current subframe of the second format COD2, the commands of the second dictionary associated with the classes of these gain vectors are preselected . Then, only one of these orders can be retained, or an order can be dynamically and evolutionarily constituted. Finally, the first earnings vectors determined by this order are tested to select the best one.
Un exemple de réalisation entre les débits 6,3 kbit/s et 5,3 kbit/s du codeur UIT-T G.723.1 illustrant ce dernier cas est présenté plus loin.An exemplary embodiment between the bit rates 6.3 kbit / s and 5.3 kbit / s of the ITU-T G.723.1 encoder illustrating the latter case is presented below.
On présente ci-après trois exemples de réalisation qui visent le transcodage entre deux formats de codage différents UIT-T G.729 et UIT-T G.723.1 pour les deux premiers, et un changement de débit au sein d'un codeur multidébit (UIT-T G.723.1) pour le dernier. Une description de ces deux codeurs UIT-T est d'abord donnée ainsi que leurs modélisations LTP.Three exemplary embodiments are presented which are aimed at transcoding between two different ITU-T G.729 and ITU-T G.723.1 coding formats for the first two, and a bit rate change within a multi-bit encoder ( G.723.1) for the latter. A description of these two ITU-T coders is first given as well as their LTP modelings.
Ces deux codeurs appartiennent à la famille des codeurs CELP, codeurs à analyse par synthèse.These two coders belong to the family of CELP coders, synthesis analysis coders.
Dans ces codeurs, le modèle de synthèse est utilisé pour extraire les paramètres modélisant les signaux à coder. Ces signaux peuvent être échantillonnés à la fréquence téléphonique (Fe = 8 kHz) ou une fréquence plus élevée, par exemple à 16 kHz pour le codage en bande élargie (bande passante de 50 Hz à 7 kHz). Selon l'application et la qualité désirée, le taux de compression varie de 1 à 16 de sorte que ces codeurs fonctionnent à des débits de 2 à 16 kbit/s en bande téléphonique, et à des débits de 6 à 32 kbit/s en bande élargie. Le dispositif de codage et décodage numérique de type CELP, codeur à analyse par synthèse le plus utilisé actuellement pour le codage des signaux de parole, est présenté sur la 4a. Le signal de parole s0 est échantillonné et converti en une suite de blocs de (L') échantillons appelés trames. En général, chaque trame est découpée en blocs plus petits de (L) échantillons, appelés sous-trames. Chaque bloc est synthétisé en filtrant une forme d'onde extraite d'un répertoire (appelé aussi dictionnaire d'excitation fixe), multipliée par un gain, à travers deux filtres variant dans le temps. Le dictionnaire d'excitation est un ensemble fini de formes d'ondes de L échantillons. Le premier filtre est le filtre de prédiction à long terme. Une analyse "LTP" (Long Term Prédiction) permet d'évaluer les paramètres de ce prédicteur à long terme qui exploite la périodicité des sons voisés. Ce prédicteur est équivalent à un dictionnaire stockant l'excitation passée pour différents retards. Ce dictionnaire est généralement appelé "dictionnaire d'excitation adaptative". Le second filtre est le filtre de prédiction à court terme. Les méthodes d'analyse "LPC" (Linear Prediction Coding) permettent d'obtenir ces paramètres de prédiction à court terme, représentatifs de la fonction de transfert du conduit vocal et caractéristiques du spectre du signal.In these coders, the synthesis model is used to extract the parameters modeling the signals to be coded. These signals can be sampled at the telephone frequency (F e = 8 kHz) or a higher frequency, for example at 16 kHz for wideband coding (
Ainsi, en se référant à la
Le procédé utilisé pour déterminer la séquence d'innovation est donc la méthode d'analyse par synthèse. Au codeur, un grand nombre de séquences d'innovation du dictionnaire d'excitation sont filtrées par les deux filtres LTP et LPC, et la forme d'onde sélectionnée est celle produisant le signal synthétique le plus proche du signal d'origine selon un critère de pondération perceptuelle, connu en général sous le nom de critère CELP.The method used to determine the innovation sequence is therefore the method of synthesis analysis. At the encoder, a large number of excitation dictionary innovation sequences are filtered by the two LTP and LPC filters, and the selected waveform is that producing the closest synthetic signal of the original signal according to a criterion. perceptual weighting, commonly known as the CELP criterion.
Le codeur UIT-T G.729 opère sur un signal de parole limité en bande à 3,4 kHz, échantillonné à 8 kHz et découpé en trames de 10 ms (soit 80 échantillons par trame). Chaque trame est divisée en deux sous-trames (numérotées ci-après 0 et 1) de 40 échantillons (5 ms). Le modèle LTP du codeur UIT-T G.729 se base sur une modélisation monotap à résolution fractionnaire. A chaque trame, l'analyse LTP détermine un retard λi et un gain βi pour chaque sous-trame. La
Puis, le retard λ1 de la seconde sous-trame est déterminé avec une résolution fractionnaire de 1/3 par analyse par synthèse autour de λ0 sur la plage [int(λ0)-52/3; int(λ0)+42/3], int(λ0) étant la partie entière du retard éventuellement fractionnaire λ0 (étape 404). Pour chaque sous-trame, le gain β est calculé une fois le retard en boucle fermée déterminé (étapes 403 et 405). Après la recherche de l'excitation fixe, le gain β est quantifié conjointement avec le gain de l'excitation fixe par une quantification vectorielle sur sept bits. L'ensemble de définition (ou dictionnaire) du gain LTP monotap du G.729 a donc une taille de 128.Then, the delay λ 1 of the second sub-frame is determined with a fractional resolution of 1/3 by synthesis analysis around λ 0 over the range [int (λ 0 ) -5 2/3 ; int (λ 0 ) +4 2/3 ], int (λ 0 ) being the integer part of the possibly fractional delay λ 0 (step 404). For each subframe, the gain β is calculated once the determined closed-loop delay (
Le codeur UIT-T G.723.1 opère sur un signal de parole limité en bande à 3,4 kHz, échantillonné à 8 kHz et découpé en trames de 30 ms (soit 240 échantillons par trame). Chaque trame comporte 4 sous-trames de 7,5 ms (60 échantillons) regroupées 2 par 2 dans des super sous-trames de 15 ms (120 échantillons). Le codeur UIT-T G.723.1 utilise une modélisation multitap d'ordre 5. Les coefficients du prédicteur à long terme sont quantifiés vectoriellement au moyen de deux dictionnaires préalablement stockés à 85 ou 170 entrées pour le mode à 6,3 kbit/s, tandis que le mode à 5,3 kbit/s n'utilise que le dictionnaire à 170 entrées. Dans le mode 6,3 kbit/s, le choix du dictionnaire exploré dépend de la valeur de retard des sous-trames paires.The ITU-T G.723.1 coder operates on a 3.4 kHz band-limited speech signal sampled at 8 kHz and cut into 30 ms frames (240 samples per frame). Each frame has 4 subframes of 7.5 ms (60 samples) grouped 2 by 2 in super subframes of 15 ms (120 samples). The ITU-T G.723.1 coder uses multitap 5-order modeling. The long-term predictor coefficients are vector quantized using two dictionaries previously stored at 85 or 170 inputs for the 6.3 kbit / s mode, while the 5.3 kbit / s mode uses only the 170-input dictionary. In the 6.3 kbit / s mode, the choice of the explored dictionary depends on the delay value of the even subframes.
La
Comme présenté sur la
La détermination du retard est directe. Ainsi pour les sous-trames paires du G723.1, c'est-à-dire les sous-trames 0 et 2, le retard est pris égal à la partie entière de celui des sous-trames 1 et 4 du G.729. Pour les sous-trames impaires, une boucle fermée est effectuée autour du retard précédent (sous-trame paire). Cette boucle fermée peut être identique à celle du G.723.1, mais peut aussi être restreinte selon la complexité désirée, voire éliminée pour garder alors la même valeur de retard sur les deux sous-trames paires et impaires.The determination of the delay is direct. Thus, for the even subframes of the G723.1, that is to say the
Ici, on ne considère qu'un seul premier dictionnaire qui est l'ensemble des 128 gains LTP monotap du G.729 tandis que i'on considère deux seconds dictionnaires possibles (les deux dictionnaires de vecteurs de gains du G.723.1 dont le choix dépend du retard des sous-trames).Here, we consider only one first dictionary which is the set of 128 monotap LTP gains of the G.729 while we consider two seconds possible dictionaries (the two G.723.1 gain vector dictionaries whose choice depends on the delay of the sub-frames).
Une fois le retard déterminé, il reste encore à déterminer un vecteur de 5 gains dans le dictionnaire de vecteurs de 5 coefficients que sélectionne le codeur G.723.1. La mise en oeuvre de la présente invention permet d'en restreindre l'exploration à un nombre limité de vecteurs de gains déterminés à partir des gains LTP monotap des sous-trames du codeur G.729.Once the delay has been determined, it is still necessary to determine a vector of 5 gains in the vector dictionary of 5 coefficients selected by the G.723.1 coder. The implementation of the present invention makes it possible to restrict its exploration to a limited number of gain vectors determined from the monotap LTP gains of the G.729 coder subframes.
Au préalable, une étude statistique a été réalisée en associant au sein d'un même codeur le modèle multitap du codeur G.723.1 et le modèle monotap du codeur G.729. Cette étude a permis pour chacun des 128 gains LTP monotap du G.729 de classer les 170 et 85 vecteurs de gains LTP multitap des deux dictionnaires du G.723.1 selon leur impact sur la qualité du signal restitué. Ici, c'est le critère CELP qui est utilisé à cette fin. Pour chacun de ces deux dictionnaires du G.723.1, on a ainsi obtenu 128 ordres (ou classements) associés à la partition élémentaire de l'ensemble des 128 gains LTP monotap.Beforehand, a statistical study was carried out by combining within the same encoder the multitap model of the G.723.1 encoder and the monotap model of the G.729 encoder. This study allowed for each of the 128 G.729 monotap LTP gains to classify the 170 and 85 LTP multitap gain vectors of the two G.723.1 dictionaries according to their impact on the quality of the returned signal. Here, the CELP criterion is used for this purpose. For each of these two G.723.1 dictionaries, we obtained 128 orders (or rankings) associated with the basic partition of all 128 LTP monotap gains.
Chaque sous-trame du G.723.1 couvre (au moins partiellement) deux sous-trames du G.729. Tout d'abord, on extrait les deux gains monotap (notés g1 et g2) de ces deux sous-trames correspondantes du G.729. A chacun de ces deux gains, est associé un classement C(gi) des vecteurs du dictionnaire de vecteurs de coefficients multitap. Ce dictionnaire est sélectionné par la valeur du retard de la sous-trame paire du G.723.1.Each subframe of G.723.1 covers (at least partially) two subframes of G.729. First, we extract the two monotap gains (noted g 1 and g 2 ) from these two corresponding G.729 subframes. Each of these two gains is associated with a ranking C (g i ) of the vectors of the multitap coefficient vector dictionary. This dictionary is selected by the delay value of the even subframe of G.723.1.
Soit N le nombre maximal, autorisé, de vecteurs de gains multitap pour la sous-trame courante du codeur G.723.1. Si les deux gains du G.729 sont égaux, il n'y a donc qu'un seul classement et les N premiers éléments ordonnés par ce classement du dictionnaire de vecteurs de gains sont retenus. Sinon, on constitue un ordre de N éléments à partir de deux ordres différents. Par exemple, on constitue deux sous-ensembles des classements C(g1) et C(g2) en présélectionnant leurs N1 et N2 (respectivement) premiers éléments. N1 et N2 sont inférieurs ou égaux à N. On peut traiter équitablement les deux classements (N1=N2) ou privilégier l'un des deux classements. Par exemple, on peut privilégier le classement associé au gain monotap le plus grand (typiquement si g1>g2 alors 0 ≤N2<N1 ≤N). On peut aussi privilégier celui dont la sous-trame du G.729 recouvre le plus la sous-trame du G.723.1 considérée. Puis, on sélectionne tout d'abord tous les éléments appartenant aux deux sous-ensembles. On complète l'ensemble formant le dictionnaire, à N, en prenant alternativement dans les deux sous-ensembles l'élément le mieux classé parmi les restants. Là encore, on peut, en complétant, favoriser l'un des deux sous-ensembles. On peut, bien entendu, combiner certaines de ces stratégies. Par exemple, choisir N1=N2 mais après sélection des éléments communs, poursuivre par les éléments restants de l'un des deux classements avant de compléter éventuellement par les éléments restants de l'autre classement. La stratégie peut aussi varier selon la sous-trame du G.723.1 considérée.Let N be the maximum allowed number of multitap gain vectors for the current G.723.1 encoder subframe. If the two G.729 wins are equal, then there is only one ranking and the first N ordered by this earnings vector dictionary ranking are retained. Otherwise, we build an order of N elements from two different orders. For example, two subsets of the rankings C (g 1 ) and C (g 2 ) are formed by preselecting their N 1 and N 2 (respectively) first elements. N 1 and N 2 are less than or equal to N. The two can be treated equally rankings (N 1 = N 2 ) or favor one of the two rankings. For example, we can favor the ranking associated with the largest monotap gain (typically if g 1 > g 2 then 0 ≤ N 2 <N 1 ≤ N). We can also favor the one whose sub-frame of G.729 covers most the sub-frame of G.723.1 considered. Then, we first select all the elements belonging to the two subsets. We complete the set forming the dictionary, N, taking alternately in the two subsets the highest ranked element among the remaining. Again, one can, by completing, promote one of the two subsets. One can, of course, combine some of these strategies. For example, choose N 1 = N 2 but after selecting the common elements, continue with the remaining elements of one of the two rankings before possibly completing the remaining elements of the other ranking. The strategy can also vary according to the subframe of the G.723.1 considered.
Finalement, l'exploration du dictionnaire de vecteurs de gains est limitée aux N vecteurs déterminés grâce à l'ordre "dynamique" ainsi constitué. Cette exploration focalisée permet de sélectionner le meilleur vecteur de gains. Préférentiellement, le critère de sélection est le critère CELP utilisé classiquement par le G.723.1 pour l'exploration des dictionnaires des vecteurs à 5 coefficients LTP. La solution exposée ici permet une très forte réduction de la complexité de l'analyse LTP du codage G.723.1 sans pour autant nuire à la qualité. A titre d'exemple de performances, on a représenté sur les
Par ailleurs, un stockage complet des 128 ordres pour les deux dictionnaires représente un total de 128*(170+85) =32640 valeurs d'index à stocker. En réalité, il n'est pas nécessaire de retenir toutes ces valeurs puisque, comme indiqué ci-dessus, seul un nombre limité est nécessaire. Ainsi, pour une perte nulle sur le critère CELP, les essais montrent qu'il suffirait de stocker environ 13582 indices. En choisissant une contrainte moins forte sur le critère CELP, on peut encore réduire ce nombre (jusqu'à atteindre 11251 valeurs pour 1% de perte). Il peut encore être fortement réduit en adoptant pour l'ensemble des gains monotap une autre partition que la partition élémentaire.In addition, a complete storage of the 128 orders for the two dictionaries represents a total of 128 * (170 + 85) = 32640 index values to be stored. In reality, it is not necessary to retain all these values since, as indicated above, only a limited number is necessary. Thus, for a zero loss on the CELP criterion, the tests show that it would be sufficient to store about 13582 indices. By choosing a less strong constraint on the CELP criterion, this number can be further reduced (up to 11251 values per 1% loss). It can still be greatly reduced by adopting for all monotap gains another partition than the elementary partition.
A l'inverse du mode de réalisation précédent, on dispose des paramètres du modèle LTP multitap d'une trame de G.723.1 et on cherche à obtenir les paramètres LTP monotap du G.729 pour trois trames c'est-à-dire six sous-trames (voir
La recherche en boucle ouverte a été éliminée. Pour cela, chacune des trois trames G.729 adopte tout d'abord pour retard en boucle ouverte le retard de l'une des sous-trames du codeur G.723.1. La correspondance entre trames G.729 et sous-trame G.723.1 est illustrée sur la
Toutefois, il est à noter que le retard choisi par le codeur G.723.1 peut être hors de la plage de valeurs autorisées par le codeur G.729. En effet, la plus petite valeur autorisée par le codeur G.729 est 19 alors qu'elle est de 18 pour le codeur G.723.1. Plusieurs solutions sont possibles pour contourner ce problème. Typiquement, on peut par exemple doubler le retard issu du codeur G.723.1, ou plus simplement lui ajouter 1.However, it should be noted that the delay chosen by the G.723.1 encoder may be outside the range of values allowed by the G.729 encoder. Indeed, the smallest value allowed by the G.729 encoder is 19 while it is 18 for the G.723.1 encoder. Several solutions are possible to work around this problem. Typically, one can for example double the delay from the G.723.1 coder, or more simply add 1.
Une fois les retards en boucle ouverte fixés pour les trois trames du codeur G.729, il reste à effectuer pour chaque sous-trame la recherche en boucle fermée. On rappelle que les plages de valeurs sont les suivantes :
La recherche en boucle fermée standard du codeur G.729 consiste tout d'abord à tester successivement toutes les valeurs entières de la plage (7 valeurs pour λ0 et 10 pour λ1). Une fois sélectionnée la meilleure valeur entière, les différentes fractions (-2/3, -1/3, 1/3, 2/3) sont testées pour déterminer la meilleure selon le critère choisi, en l'espèce celle qui maximise le critère CELP. Pour la sous-trame paire, on notera que la partie fractionnaire n'est recherchée que si la partie entière de λ0 est inférieure à 85.The standard closed-loop search of the G.729 encoder consists firstly in successively testing all the integer values of the range (7 values for λ 0 and 10 for λ 1 ). Once the best integer value has been selected, the different fractions (-2/3, -1/3, 1/3, 2/3) are tested to determine the best one according to the chosen criterion, in this case the one that maximizes the criterion CELP. For the even subframe, it should be noted that the fractional part is only searched if the integer part of λ 0 is less than 85.
Ici, le premier dictionnaire (dans la définition de l'invention donnée ci-avant) est l'un des deux dictionnaires de vecteurs de gains LTP du codeur G.723.1, le second dictionnaire étant l'un des deux ensembles des valeurs entières de voisinage (ou gigue) autour d'un retard d'ancrage. On comprendra alors que l'invention peut s'appliquer aisément à plus d'un premier dictionnaire, d'une part, et à plus d'un second dictionnaire, d'autre part.Here, the first dictionary (in the definition of the invention given above) is one of the two LTP gain vector dictionaries of the G.723.1 coder, the second dictionary being one of two sets of integer values of neighborhood (or jitter) around an anchoring delay. It will be understood that the invention can easily be applied to more than one first dictionary, on the one hand, and more than one second dictionary, on the other hand.
Pour réduire la complexité de la recherche en boucle fermée des valeurs entières au voisinage de la valeur d'ancrage λ' (λOL ou int(λ0)), on propose, au sens de l'invention, de limiter le nombre de valeurs entières de retard testées par les boucles fermées. En fonction du choix du vecteur de gains LTP fait par le G.723.1, seul un nombre réduit de valeurs est testé. Le retard entier est déterminé dans cet ensemble restreint. Puis, la partie fractionnaire est recherchée de façon classique.To reduce the complexity of the closed-loop search of integer values in the vicinity of the anchor value λ '(λ OL or int (λ 0 )), it is proposed, within the meaning of the invention, to limit the number of values delayed integers tested by closed loops. Depending on the choice of LTP gain vector made by G.723.1, only a reduced number of values is tested. The entire delay is determined in this restricted set. Then, the fractional part is sought in a classical way.
Auparavant, une étude statistique a été réalisée en associant au sein d'un même codeur le modèle multitap du G.723.1 et le modèle monotap du G.729. Cette étude a permis, pour chacun des vecteurs de gains des deux dictionnaires LTP multitap du G.723.1, d'établir pour les deux voisinages de recherche en boucle fermée du G.729 (sous-trames paire et impaire) un ordre d'importance des valeurs de voisinage selon leur impact sur la qualité du signal restitué. Cette classification permet de choisir le nombre de valeurs testées selon les contraintes de qualité et de complexité et de limiter, pour chacune des six sous-trames du G.729, l'étendue de la boucle fermée à partir du choix des gains (βi) fait pour les sous-trames du G.723.1. En utilisant la correspondance entre sous-trames du tableau de la
L'association entre sous-trames paires (respectivement impaires) du codeur G.729 et le jeu de paramètres (λj,(βi)j) issu du codeur G.723.1 est illustrée sur la
On notera que pour certaines sous-trames, la valeur d'ancrage λ' peut être différente du retard λj du jeu de paramètres (λj,(βi)j) déterminé pour la sous-trame G.723.1 associée. Ce point est explicité plus loin où l'on prend en compte la parité des sous-trames (paires ou impaires). Dans une première variante, on peut simplement ne pas tenir compte d'une différence éventuelle. Avantageusement, dans une autre variante, l'ensemble des voisinages ordonnés est modifié en fonction de la différence (λj-λ') et la taille de cet ensemble est éventuellement modifiée. Préférentiellement, on soustrait la différence (λj-λ') à chaque élément de ce voisinage ordonné selon les gains (βi)j et on considère son intersection avec l'ensemble de définition des voisinages (ici l'intervalle [-3;3] pour les sous-trames paires et l'intervalle [-5,4] pour les sous-trames impaires, comme on le verra plus loin).Note that for some subframes, the anchor value λ 'may be different from the delay λ j of the set of parameters (λj, (β i ) j ) determined for the associated G.723.1 sub-frame. This point is explained later where we take into account the parity of the subframes (even or odd). In a first Alternatively, one can simply ignore a possible difference. Advantageously, in another variant, the set of ordered neighborhoods is modified according to the difference (λ j -λ ') and the size of this set is possibly modified. Preferably, the difference (λ j -λ ') is subtracted from each element of this ordered neighborhood according to the gains (β i ) j and its intersection is considered with the set of definition of neighborhoods (here the interval [-3; 3] for even subframes and the interval [-5.4] for odd subframes, as discussed below.
On peut aussi conditionner l'utilisation des voisinages restreints en fonction de l'écart entre les deux retards. La stratégie peut donc être adaptée à la sous-trame ou à l'écart entre les retards, ou aux deux critères combinés.It is also possible to condition the use of restricted neighborhoods as a function of the difference between the two delays. The strategy can therefore be adapted to the sub-frame or the gap between the delays, or to the two criteria combined.
La recherche doit être effectuée autour du retard en boucle ouverte λOL sur la plage [λOL-3; λOL+3]. En fonction du (des) vecteurs de gains choisi(s) par le codeur G.723.1, des ordres de l'ensemble des 7 valeurs de gigue (-3, -2, -1, 0, 1, 2, 3) sont déterminés. Pour la sous-trame 0 (respectivement 2) du codeur G.729, il n'y a qu'une seule sous-trame du G.723.1 associée et donc un seul vecteur de gains et, ainsi, un seul ordre. Par contre, deux sous-trames du codeur G.723.1 sont associées à la sous-trame 4 du codeur G.729, comme le montre la
La recherche doit être menée autour de la partie entière λ'2p de la sous-trame (paire) précédente sur la plage [λ'2p-52/3; λ'2p+42/3]. Pour ces sous-trames impaires, comme pour la sous-trame paire 4, le retard λj du jeu de paramètres (λj,(βi)j) de (ou des) sous-trames G.723.1 associé(es) peut être différent de cette valeur d'ancrage λ'2p. En fonction du (des) vecteur(s) (βi)j de gains choisi(s) par le codeur G.723.1, des ordres de l'ensemble des 10 valeurs de gigue sont présélectionnés et modifiés en fonction de la différence (λj-λ'2p). Soit N (N≤10) le nombre maximal autorisé de valeurs testées.The search must be carried out around the integer part λ ' 2p of the previous sub-frame (pair) in the range [λ' 2p -5 2/3 ; λ ' 2p +4 2/3 ]. For these odd subframes, as for the
Pour déterminer la plage de recherche restreinte, on procède préférentiellement comme suit pour chaque sous-trame impaire.To determine the restricted search range, the following is preferentially performed for each odd subframe.
La plage totale de recherche est [λ'0-52/3; λ'0+42/3]. Deux ordres correspondants aux vecteurs de gains (βi)0 et (βi)1 sont présélectionnés. Puis, les voisinages ordonnés sont modifiés en fonction des différences (λ0-λ'0) et (λ1-λ'0). Ces deux écarts sont limités car :
- d'une part, le retard λ'0 en boucle fermée du G.729 est dans le voisinage (dans l'intervalle [-3,3]) du retard en boucle ouverte (ici, pris égal à λ0 correspondant au retard en boucle fermée du G.723.1),
- d'autre part, dans le codeur G.723.1, l'écart entre les retards en boucle fermée d'une sous-trame paire et la sous-trame impaire suivante est limité car la différence (λ1-λ0) est dans l'intervalle [-1, 2].
- on the one hand, the G.729 closed-loop delay λ ' 0 is in the vicinity (in the range [-3.3]) of the open-loop delay (here, taken as λ 0 corresponding to the delay in closed loop of G.723.1),
- on the other hand, in the G.723.1 coder, the difference between the closed-loop delays of an even sub-frame and the next odd sub-field is limited because the difference (λ 1 -λ 0 ) is in the interval [-1, 2].
A partir des N1 et N2 premiers éléments des voisinages modifiés, on constitue un voisinage ordonné unique de taille N. On sélectionne tout d'abord les valeurs communes aux deux sous-ensembles, puis on complète l'ensemble, si nécessaire, en prenant alternativement la meilleure valeur restante dans les deux sous-ensembles. La recherche en boucle fermée est alors menée dans le sous-ensemble ainsi constitué.Starting from the N 1 and N 2 first elements of the modified neighborhoods, we create a unique ordered neighborhood of size N. We first select the values common to the two subsets, then we complete the set, if necessary, by alternatively taking the best remaining value in both subsets. The closed loop search is then conducted in the subset thus formed.
La plage totale de recherche est [λ'2-52/3; λ'2+42/3]. Un ordre correspondant au vecteur de gains (βi)2 est sélectionné. Puis, le voisinage ordonné est modifié en fonction de la différence (λ2-λ'2). Contrairement au cas précédent, l'écart entre λ2 et λ'2 peut être important et l'intersection du voisinage ordonné, modifié en soustrayant (A2-A'2), peut être nulle. Dans ce cas, préférentiellement, la recherche est faite sur toute la plage [λ'1-52/3; λ'1+42/3]. L'utilisation de voisinages ordonnés peut aussi être conditionnée à un seuil sur |λ2- λ'2|. Par exemple, les voisinages ne sont restreints que si |λ2- λ'2|<3 ; autrement toute la plage [-5,4] est explorée. Le choix de cette variante peut aussi dépendre de la complexité autorisée.The total search range is [λ ' 2 -5 2/3 ; λ ' 2 +4 2/3 ]. An order corresponding to the gain vector (β i ) 2 is selected. Then, the ordered neighborhood is modified according to the difference (λ 2 -λ ' 2 ). Unlike the previous case, the difference between λ 2 and λ ' 2 can be large and the intersection of the ordered neighborhood, modified by subtracting (A 2 -A' 2 ), can be zero. In this case, preferentially, the search is made over the entire range [λ ' 1 -5 2/3 ; λ ' 1 +4 2/3 ]. The use of ordered neighborhoods can also be conditioned by a threshold on | λ 2 - λ ' 2 | . For example, neighborhoods are restricted only if | λ 2 - λ ' 2 | <3; otherwise the whole range [-5.4] is explored. The choice of this variant can also depend on the authorized complexity.
La plage totale de recherche est [λ'4-52/3; λ'4+42/3]. Un ordre correspondant au vecteur de gains (βi)3 est sélectionné. Puis, le voisinage ordonné est modifié en fonction de la différence (λ3-λ'4). Comme dans le cas de la sous-trame 1, cet écart est limité. En effet, le retard en boucle fermée du G.729, λ'2, est dans le voisinage ([-3,3]) du retard en boucle ouverte (ici pris égal au retard en boucle fermée λ3 du G.723.1). On explore les N premières valeurs de l'ensemble ordonné modifié.The total search range is [λ ' 4 -5 2/3 ; λ ' 4 +4 2/3 ]. An order corresponding to the gain vector (β i ) 3 is selected. Then, the ordered neighborhood is modified according to the difference (λ 3 -λ ' 4 ). As in the case of
La solution présentée ici permet une très forte réduction de la complexité de l'analyse LTP du codage G.729. Par rapport à l'exploration des voisinages complets, l'invention permet de ne tester que 60% (respectivement 40 %) des valeurs de voisinage si le vecteur de gains du codeur G.723.1 est dans le dictionnaire à 170 entrées (respectivement 85 entrées).The solution presented here allows a very sharp reduction in the complexity of LTP analysis of G.729 coding. Compared with the exploration of complete neighborhoods, the invention makes it possible to test only 60% (respectively 40%) of the neighborhood values if the gain vector of the G.723.1 coder is in the dictionary with 170 entries (respectively 85 entries). ).
Les deux modèles sont très proches et ne se distinguent pratiquement que par le choix du dictionnaire des vecteurs de gains LTP multitap.The two models are very close and are distinguished practically only by the choice of the dictionary of multitap LTP gain vectors.
De façon similaire à la détermination du retard d'un monotap décrit ci-avant à partir des paramètres LTP multitap, on peut utiliser le retard des sous-trames paires, en tant que retard en boucle ouverte de la super sous-trame, puis restreindre la plage de variation du retard en boucle fermée du mode à 5,3 kbit/s en fonction du vecteur de cinq coefficients du filtre choisi par le mode à 6,3 kbit/s. Préférentiellement, aucun traitement autre qu'une simple recopie du retard n'est nécessaire. Ainsi, chaque sous-trame du 5,3 kbit/s adopte pour retard celui que le mode 6,3 kbit/s a choisi pour la même sous-trame.Similar to determining the delay of a monotap described above from the LTP multitap parameters, the delay of the even subframes can be used as the open loop delay of the super subframe and then restricted. the variation range of the closed-loop delay of the 5.3 kbit / s mode as a function of the vector of five coefficients of the filter chosen by the 6.3 kbit / s mode. Preferably, no treatment other than a simple copy of the delay is necessary. Thus, each 5.3 kbit / s subframe adopts for delay that the 6.3 kbit / s mode has chosen for the same subframe.
Ici, on a un seul second dictionnaire qui est le dictionnaire à 170 vecteurs de cinq coefficients du mode à 5,3 kbit/s tandis qu'il faut considérer deux "premiers dictionnaires", selon la terminologie utilisée dans la définition générale de l'invention. Ces deux premiers dictionnaires sont les deux dictionnaires de vecteurs de gains utilisés par le mode à 6,3 kbit/s du G.723.1.Here, there is only one second dictionary which is the dictionary with 170 vectors of five coefficients of the 5.3 kbit / s mode whereas two "first dictionaries" must be considered , according to the terminology used in the general definition of the invention. These two first dictionaries are the two dictionaries of gain vectors used by the 6.3 kbit / s mode of G.723.1.
Dans cet exemple de réalisation, on cherche donc à déterminer pour le mode à 5,3 kbit/s un vecteur de gains dans le dictionnaire à 170 entrées à partir d'un vecteur de gains sélectionné par le mode 6,3 kbit/s dans l'un des deux dictionnaires (à 170 ou à 85 vecteurs).In this exemplary embodiment, it is therefore sought to determine, for the 5.3 kbit / s mode, a vector of gains in the 170-input dictionary from a gain vector selected by the 6.3 kbit / s mode in one of the two dictionaries (170 or 85 vectors).
L'un des deux cas peut sembler trivial car si le mode 6,3 kbit/s utilise pour la sous-trame courante le même dictionnaire (le dictionnaire à 170 vecteurs), on peut être tenté de choisir pour le mode 5,3 kbit/s le même vecteur que le mode à 6,3 kbit/s. Néanmoins, cette approche apporte une dégradation sensible du signal. En effet, bien que la modélisation LTP soit identique pour les deux modes (même dictionnaires de retards et de vecteurs de 5 gains), il faut garder à l'esprit que le reste du processus de codage n'est pas le même. Le filtrage LTP n'est donc pas appliqué au même signal et il faut alors élargir le choix de vecteurs de coefficients du filtre pour le mode 5,3 kbit/s.One of the two cases may seem trivial because if the 6.3 kbit / s mode uses the same dictionary for the current subframe (the dictionary with 170 vectors), one may be tempted to choose for the 5.3 kbit mode / s the same vector as the 6.3 kbit / s mode. Nevertheless, this approach brings a significant degradation of the signal. Indeed, although the LTP modeling is identical for both modes (same dictionaries of delays and vectors of gains), it must be borne in mind that the rest of the coding process is not the same. Filtering LTP is therefore not applied to the same signal, and the choice of filter coefficient vectors for the 5.3 kbit / s mode must be expanded.
A cet effet, une étude a été réalisée sur les deux dictionnaires pour associer à chacun des vecteurs, un classement des vecteurs du dictionnaire à 170 vecteurs.For this purpose, a study was carried out on the two dictionaries to associate with each of the vectors, a classification of the vectors of the dictionary to 170 vectors.
Ainsi, pour sélectionner un vecteur de gains pour le mode 5,3 kbit/s, il est préféré, à partir du choix du vecteur de gains fait par le mode 6,3 kbit/s, de n'explorer dans le grand dictionnaire (170 vecteurs) qu'un ensemble restreint aux N premiers vecteurs du classement associé au vecteur de gain choisi par le mode 6,3 kbit/s. La taille N dépend de la complexité ou de la qualité ou du compromis/qualité complexité désiré. Dans ce sous-ensemble, on sélectionne alors le vecteur de gains qui maximise un critère, préférentiellement le critère CELP, comme décrit ci-avant.Thus, to select a gain vector for the 5.3 kbit / s mode, it is preferred, from the choice of the gain vector made by the 6.3 kbit / s mode, to explore in the large dictionary ( 170 vectors) that a set restricted to the first N vectors of the classification associated with the gain vector chosen by the 6.3 kbit / s mode. The size N depends on the complexity or the quality or the compromise / quality complexity desired. In this subset, the gain vector that maximizes a criterion, preferably the CELP criterion, is then selected as described above.
Claims (17)
- Method for coding an audio signal according to a second format, on the basis of information obtained by implementing at least one step of coding according to a first format, the first and second formats implementing, in particular for the coding of a speech signal, a step of searching for LTP long-term prediction parameters by exploring at least one dictionary comprising candidate parameters, one at least of the first and second coding formats using a filtering with several coefficients for a fine search for the LTP parameters, characterized in that it comprises the following steps:- accessing results from a statistical and/or analytical study, conducted as a function of successive suites of LTP parameters according to the first coding format, so as to determine a number of orders and appropriate orders in a dictionary that the second coding format uses,- recovering an a priori information of partition of the first dictionary relating to a class of the partition to which an LTP parameter obtained in the course of the coding according to the first format belongs, obtained following the determination of the LTP parameters in the course of the coding according to the first format, so as to select at least one order of said dictionary that the second coding format uses,- applying the selected order to the candidates of said dictionary that the second coding format uses so as to choose a limited number of first candidates, and- so as to perform the second coding, conducting the LTP search only among said limited number of candidates.
- Method according to Claim 1, characterized in that an elementary partition of the first dictionary comprising N elements, into N disjoint classes of size 1, is initially envisaged.
- Method according to Claim 1, in which the first coding format uses a first dictionary and the second coding format uses a second dictionary, characterized in that a partition of the first dictionary into non-disjoint classes is envisaged, so that one and the same element can be associated with more than one order of the second dictionary.
- Method according to one of Claims 1 to 3, in which the first coding format uses a first dictionary and the second coding format uses a second dictionary, characterized in that a grouping of similar orders is envisaged so as to dynamically modify the initial partition of the first dictionary and, thereby, the number of orders of the second dictionary.
- Method according to Claim 4, characterized in that furthermore an operation is envisaged consisting in successively recalculating the orders of the second dictionary, once grouped together, and in that the initial partition of the first dictionary and/or the orders thus grouped together is dynamically modified.
- Method according to either of Claims 4 and 5, in which the first coding format uses a first dictionary and the second coding format uses a second dictionary, characterized in that, for each of the orders of the second dictionary, a maximum number of elements of the second dictionary to be retained is chosen as a function of the classes of the first dictionary and/or of the orders of the second dictionary, so as to limit a memory resource used for storing the orders of the second dictionary.
- Method according to one of the preceding claims, characterized in that said limited number of candidates is chosen as a function of a compromise between quality and complexity of the second coding.
- Method according to Claim 7, in which an input signal to be coded is processed by data blocks, characterized in that said compromise is fixed dynamically, with each data block to be processed as a function of parameters of the first coding format and/or of characteristics of the signal to be coded and preferably as a function of LTP subframes that each data block comprises.
- Method according to one of Claims 1 to 8, in which an input signal to be coded is processed by data blocks each comprising, for the first coding format, first LTP subframes and, for the second coding format, second LTP subframes, characterized in that, for first and second subframes of identical duration, to each current subframe of the second coding format there corresponds a single subframe of the first coding format, and in that:- the first coding format selects a first suite of LTP parameters for the current subframe,- on the basis of the partition by classes of the dictionary associated with one of the LTP parameters of the first format, an order of exploration of the dictionary of the second format is selected by choosing an order associated with the class of the element of said first suite, and- following the order thus selected, a limited number of first candidates of the dictionary of the second format is explored.
- Method according to one of Claims 1 to 8, in which an input signal to be coded is processed by data blocks each comprising, for the first coding format, first LTP subframes and, for the second coding format, second LTP subframes, characterized in that, for first and second subframes of different durations:- the first coding format selects a plurality of LTP parameter suites, for first subframes corresponding substantially to a second current subframe,- on the basis of the partition by classes of the dictionary associated with one of the LTP parameters of the first format, orders of exploration of the dictionary of the second format are preselected by choosing the orders associated with the classes of the elements of said LTP parameter suites,- at least one preferred order is determined on the basis of the preselection of said orders, and- said dictionary of the second format is explored following the preferred order, limiting the exploration to its first elements.
- Method according to one of the preceding claims, in which the first coding format uses a filtering with one coefficient for first LTP subframes while the second coding format uses a filtering with several coefficients for second LTP subframes, characterized in that:- for each first subframe, by implementing the first coding format, a pair (λe,βe) of first parameters of the LTP filter with one coefficient is determined,- for the coding of a second current subframe, a plurality of pairs (λs,(βi)s) of parameters of the LTP filter with several coefficients is determined on the basis of the suite of parameters of the first format (λe,βe), with:- a determination of an LTP delay λs corresponding preferably to that determined by the first coding format on a first subframe which most overlaps the second current subframe,- a determination of a vector of gains (β i )s for the second current subframe on the basis of one at least of the gains βe of the first subframes, by implementing steps b), c) and d) where the orders of the dictionary of the second format correspond to a set of gain vectors (β i )s of the second subframe.
- Method according to Claim 11, characterized in that, for the coding of a second current subframe:- on the basis of first LTP gains of the first format (βe) that are chosen for one or more first subframes corresponding to a second current subframe, the orders of the dictionary of the second format, that are associated with classes of the first LTP gains, are preselected,- a single one of these orders is constructed, preferably dynamically, on the basis of said orders preselected for said second current subframe, and- N first vectors of seconds gains, determined by the order constructed, are tested so as to select, according to a chosen criterion, a better vector of gains to be associated with the second subframe.
- Method according to one of Claims 1 to 10, in which the second coding format uses a filtering with one coefficient for second LTP subframes while the first coding format uses a filtering with several coefficients for first LTP subframes, characterized in that:- for each first subframe, by implementing the first coding format, a first suite of LTP parameters λe,(β i )e corresponding to a pair comprising an LTP delay λe and a vector of associated gains (β i )e of the LTP filter with several coefficients is determined,- a partition of a dictionary of the gain vectors (β i )e of the first format is performed,- for the coding of a second current subframe by the second format, orders of a dictionary of the second format are determined for first subframes corresponding to the second current subframe, said dictionary of the second format being constructed from a set of jitter values and said orders of this dictionary being associated with the partition of the dictionary of the first format,- an order of the jitter values is determined and LTP delay values for the second format are explored successively on the jitter values thus ordered and about one or more anchoring delays determined as a function of the delays λe on the first subframes.
- Method according to one of Claims 1 to 10, in which the first coding format uses a filtering with several coefficients on first LTP subframes and the second coding format uses a filtering with several coefficients on second LTP subframes, characterized in that:- on the basis of at least one first suite of parameters selected by the first format and including at least one vector of gains (β i )e determined for at least one first subframe, a partition is conducted of the dictionary of the first format corresponding to a dictionary of the gain vectors of the first format (β i )e,- orders of the dictionary of the second format corresponding to a dictionary of the gain vectors (β i )s of the second format are deduced therefrom, said orders being associated with said partition,- on the basis of gain vectors (β i )e chosen by the first format for first subframes which substantially cover the second current subframe, orders of the second dictionary that are associated with classes of said partition are preselected,- one of the preselected orders is retained,- several gain vectors to be associated with the second current subframe are determined as a function of the order retained, and- by tests on said several gain vectors, the best gain vector is selected according to a chosen criterion.
- Device for coding an audio signal according to a second format, designed to use coding information obtained by implementing a coding according to a first format, the first and second formats implementing, in particular for the coding of a speech signal, a search for LTP long-term prediction parameters by exploring a dictionary comprising candidate parameters, one at least of the first and second coding formats using a filtering with several coefficients for a fine search for the LTP parameters, characterized in that it comprises:- a memory storing a correspondence table defining, as a function of LTP parameters determined by the first coding format, orders of a dictionary that the second coding format uses, the correspondence table being defined on the basis of results of a statistical and/or analytical study, conducted as a function of successive sets of LTP parameters according to the first coding format, so as to determine a number of orders and appropriate orders in a dictionary used by the second coding format,- means for recovering a signal giving at least one a priori partitioning information of the first dictionary relating to a class of the partition to which an LTP parameter obtained in the course of the coding according to the first format belongs, and obtained following the determination of the LTP parameters in the course of a coding according to the first format, so as to select at least one order of said dictionary that the second coding format used,- means active on reception of said signal for consulting said correspondence table and selecting at least one order of said dictionary that the second coding format uses,- calculation means for:- ordering said dictionary that the second coding format uses according to the selected order, with a view to choosing a limited number of first candidates from the dictionary, and- continuing the coding according to the second format, by conducting the LTP search only among this limited number of candidates.
- Coding system implementing at least one first and one second coding format, characterized in that it comprises at least one device for coding according to the first format and a coding device according to Claim 15, applying said second format.
- Computer program product, stored in a memory of a processing unit or on a removable medium intended to cooperate with a reader of said processing unit or downloadable from a remote site, characterized in that it comprises instructions for implementing all or some of the steps of the method according to one of Claims 1 to 14.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0500272A FR2880724A1 (en) | 2005-01-11 | 2005-01-11 | OPTIMIZED CODING METHOD AND DEVICE BETWEEN TWO LONG-TERM PREDICTION MODELS |
PCT/FR2006/000038 WO2006075078A1 (en) | 2005-01-11 | 2006-01-09 | Method and device for carrying out optimal coding between two long-term prediction models |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1836699A1 EP1836699A1 (en) | 2007-09-26 |
EP1836699B1 true EP1836699B1 (en) | 2011-06-29 |
Family
ID=34954835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06709052A Not-in-force EP1836699B1 (en) | 2005-01-11 | 2006-01-09 | Method and device for carrying out optimized audio coding between two long-term prediction models |
Country Status (6)
Country | Link |
---|---|
US (1) | US8670982B2 (en) |
EP (1) | EP1836699B1 (en) |
CN (1) | CN101124625B (en) |
AT (1) | ATE515019T1 (en) |
FR (1) | FR2880724A1 (en) |
WO (1) | WO2006075078A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2839969B1 (en) | 2002-05-27 | 2005-04-01 | Jean Couturier | HYDRAULIC BINDER RESULTING FROM THE MIXTURE OF A SULFATIC BINDER AND A BLEACH OF POUZZOLANIC CHARACTER |
US7912700B2 (en) * | 2007-02-08 | 2011-03-22 | Microsoft Corporation | Context based word prediction |
US7809719B2 (en) * | 2007-02-08 | 2010-10-05 | Microsoft Corporation | Predicting textual candidates |
US8521520B2 (en) * | 2010-02-03 | 2013-08-27 | General Electric Company | Handoffs between different voice encoder systems |
CN103138874B (en) * | 2011-11-23 | 2016-07-06 | 中国移动通信集团公司 | A kind of encoding and decoding dynamic negotiation method and apparatus |
US9406307B2 (en) * | 2012-08-19 | 2016-08-02 | The Regents Of The University Of California | Method and apparatus for polyphonic audio signal prediction in coding and networking systems |
US9830920B2 (en) | 2012-08-19 | 2017-11-28 | The Regents Of The University Of California | Method and apparatus for polyphonic audio signal prediction in coding and networking systems |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260009B1 (en) * | 1999-02-12 | 2001-07-10 | Qualcomm Incorporated | CELP-based to CELP-based vocoder packet translation |
US6687668B2 (en) * | 1999-12-31 | 2004-02-03 | C & S Technology Co., Ltd. | Method for improvement of G.723.1 processing time and speech quality and for reduction of bit rate in CELP vocoder and CELP vococer using the same |
JP2002202799A (en) * | 2000-10-30 | 2002-07-19 | Fujitsu Ltd | Voice code conversion apparatus |
JP2002229599A (en) * | 2001-02-02 | 2002-08-16 | Nec Corp | Device and method for converting voice code string |
JP4231987B2 (en) * | 2001-06-15 | 2009-03-04 | 日本電気株式会社 | Code conversion method between speech coding / decoding systems, apparatus, program, and storage medium |
EP1464047A4 (en) * | 2002-01-08 | 2005-12-07 | Dilithium Networks Pty Ltd | A transcoding scheme between celp-based speech codes |
US6829579B2 (en) * | 2002-01-08 | 2004-12-07 | Dilithium Networks, Inc. | Transcoding method and system between CELP-based speech codes |
JP4263412B2 (en) * | 2002-01-29 | 2009-05-13 | 富士通株式会社 | Speech code conversion method |
CA2388439A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for efficient frame erasure concealment in linear predictive based speech codecs |
US20040057521A1 (en) * | 2002-07-17 | 2004-03-25 | Macchina Pty Ltd. | Method and apparatus for transcoding between hybrid video CODEC bitstreams |
US7519532B2 (en) * | 2003-09-29 | 2009-04-14 | Texas Instruments Incorporated | Transcoding EVRC to G.729ab |
FR2867648A1 (en) * | 2003-12-10 | 2005-09-16 | France Telecom | TRANSCODING BETWEEN INDICES OF MULTI-IMPULSE DICTIONARIES USED IN COMPRESSION CODING OF DIGITAL SIGNALS |
US7792670B2 (en) * | 2003-12-19 | 2010-09-07 | Motorola, Inc. | Method and apparatus for speech coding |
-
2005
- 2005-01-11 FR FR0500272A patent/FR2880724A1/en active Pending
-
2006
- 2006-01-09 US US11/795,085 patent/US8670982B2/en not_active Expired - Fee Related
- 2006-01-09 CN CN200680003179XA patent/CN101124625B/en not_active Expired - Fee Related
- 2006-01-09 EP EP06709052A patent/EP1836699B1/en not_active Not-in-force
- 2006-01-09 AT AT06709052T patent/ATE515019T1/en not_active IP Right Cessation
- 2006-01-09 WO PCT/FR2006/000038 patent/WO2006075078A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20080306732A1 (en) | 2008-12-11 |
EP1836699A1 (en) | 2007-09-26 |
ATE515019T1 (en) | 2011-07-15 |
CN101124625B (en) | 2012-02-29 |
CN101124625A (en) | 2008-02-13 |
FR2880724A1 (en) | 2006-07-14 |
US8670982B2 (en) | 2014-03-11 |
WO2006075078A1 (en) | 2006-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1692689B1 (en) | Optimized multiple coding method | |
EP1994531B1 (en) | Improved celp coding or decoding of a digital audio signal | |
BE1005622A3 (en) | Segments coding methods of speech and adjustment not for systems summary of the word. | |
EP2277172B1 (en) | Concealment of transmission error in a digital signal in a hierarchical decoding structure | |
EP0782128B1 (en) | Method of analysing by linear prediction an audio frequency signal, and its application to a method of coding and decoding an audio frequency signal | |
EP0749626B1 (en) | Speech coding method using linear prediction and algebraic code excitation | |
EP1836699B1 (en) | Method and device for carrying out optimized audio coding between two long-term prediction models | |
EP1692687B1 (en) | Transcoding between the indices of multipulse dictionaries used for coding in digital signal compression | |
EP3161659A1 (en) | Resampling of an audio signal by interpolation for low-delay encoding/decoding | |
JP2003122400A (en) | Signal modification based upon continuous time warping for low bitrate celp coding | |
EP2727107B1 (en) | Delay-optimized overlap transform, coding/decoding weighting windows | |
FR3001593A1 (en) | IMPROVED FRAME LOSS CORRECTION AT SIGNAL DECODING. | |
EP0428445B1 (en) | Method and apparatus for coding of predictive filters in very low bitrate vocoders | |
EP2795618B1 (en) | Method of detecting a predetermined frequency band in an audio data signal, detection device and computer program corresponding thereto | |
FR2762464A1 (en) | METHOD AND DEVICE FOR ENCODING AUDIO FREQUENCY SIGNAL BY "FRONT" AND "REAR" LPC ANALYSIS | |
EP2080194B1 (en) | Attenuation of overvoicing, in particular for generating an excitation at a decoder, in the absence of information | |
FR2784218A1 (en) | LOW-SPEED SPEECH CODING METHOD | |
EP1197952B1 (en) | Coding method of the prosody for a very low bit rate speech encoder | |
EP2652735B1 (en) | Improved encoding of an improvement stage in a hierarchical encoder | |
WO2023165946A1 (en) | Optimised encoding and decoding of an audio signal using a neural network-based autoencoder | |
FR2884989A1 (en) | Digital multimedia signal e.g. voice signal, coding method, involves dynamically performing interpolation of linear predictive coding coefficients by selecting interpolation factor according to stationarity criteria | |
EP0573358B1 (en) | Variable speed voice synthesizer method and apparatus | |
EP2589045B1 (en) | Adaptive linear predictive coding/decoding | |
WO2011144863A1 (en) | Encoding with noise shaping in a hierarchical encoder | |
WO2002029786A1 (en) | Method and device for segmental coding of an audio signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20070705 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20100225 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RTI1 | Title (correction) |
Free format text: METHOD AND DEVICE FOR CARRYING OUT OPTIMIZED AUDIO CODING BETWEEN TWO LONG-TERM PREDICTION MODELS |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: FRENCH |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602006022775 Country of ref document: DE Effective date: 20110825 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20110629 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110930 Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FD4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111031 Ref country code: IE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111029 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 |
|
26N | No opposition filed |
Effective date: 20120330 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 |
|
BERE | Be: lapsed |
Owner name: FRANCE TELECOM Effective date: 20120131 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602006022775 Country of ref document: DE Effective date: 20120330 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120131 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120131 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120131 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120131 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20111010 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110929 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20110629 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120109 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20060109 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20141219 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20141218 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20150121 Year of fee payment: 10 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602006022775 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20160109 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20160930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160109 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160802 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160201 |