EP1709743A1 - Vektorquantifizierung mit variabler auflösung und variabler dimension - Google Patents
Vektorquantifizierung mit variabler auflösung und variabler dimensionInfo
- Publication number
- EP1709743A1 EP1709743A1 EP04706703A EP04706703A EP1709743A1 EP 1709743 A1 EP1709743 A1 EP 1709743A1 EP 04706703 A EP04706703 A EP 04706703A EP 04706703 A EP04706703 A EP 04706703A EP 1709743 A1 EP1709743 A1 EP 1709743A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- dimension
- dictionary
- vector
- resolution
- dictionaries
- 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.)
- Withdrawn
Links
- 239000013598 vector Substances 0.000 title claims abstract description 327
- 238000003780 insertion Methods 0.000 claims abstract description 106
- 230000037431 insertion Effects 0.000 claims abstract description 106
- 230000006835 compression Effects 0.000 claims abstract description 17
- 238000007906 compression Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 71
- 238000013139 quantization Methods 0.000 claims description 67
- 238000012217 deletion Methods 0.000 claims description 39
- 230000037430 deletion Effects 0.000 claims description 39
- 230000036961 partial effect Effects 0.000 claims description 34
- 238000010276 construction Methods 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 25
- 230000003247 decreasing effect Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000007619 statistical method Methods 0.000 claims description 6
- 230000001629 suppression Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 44
- 239000000203 mixture Substances 0.000 description 34
- 239000000047 product Substances 0.000 description 16
- 238000013459 approach Methods 0.000 description 14
- 238000011002 quantification Methods 0.000 description 13
- 230000003595 spectral effect Effects 0.000 description 13
- OVOUKWFJRHALDD-UHFFFAOYSA-N 2-[2-(2-acetyloxyethoxy)ethoxy]ethyl acetate Chemical compound CC(=O)OCCOCCOCCOC(C)=O OVOUKWFJRHALDD-UHFFFAOYSA-N 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 241000566613 Cardinalis Species 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 235000018084 Garcinia livingstonei Nutrition 0.000 description 1
- 240000007471 Garcinia livingstonei Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009828 non-uniform distribution Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- VWDWKYIASSYTQR-UHFFFAOYSA-N sodium nitrate Chemical compound [Na+].[O-][N+]([O-])=O VWDWKYIASSYTQR-UHFFFAOYSA-N 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- 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
- G10L19/097—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using prototype waveform decomposition or prototype waveform interpolative [PWI] coders
Definitions
- the present invention relates to the coding and / or decoding in compression of digital signals such as audio, video signals, and more generally multimedia signals for their storage and / or their transmission.
- Vector quantization consists in representing an input vector by a vector of the same dimension chosen from a finite set.
- providing a quantifier at M levels (or code vectors) amounts to creating a non-bijective application of the set of input vectors (generally the real Euclidean space with dimensions R n , or even a subset of R n ) in a finite subset Y of R n .
- the subset Y then has M distinct elements:
- Y is called the reproduction alphabet, or dictionary, or even directory.
- the elements of Y are called “vector-codes”, “code words”, “exit points”, or even “representatives”.
- n n samples are treated as a vector of dimension n.
- the vector is coded by choosing a vector-code, in a dictionary of M vector-codes, the one that "resembles" it the most.
- an exhaustive search is made among all the elements of the dictionary to select the element of the dictionary which minimizes a measurement of distance between it and the input vector.
- vector quantization can also exploit the properties of the source to be coded, for example non-linear and / or linear dependencies, or even the form of the probability distribution.
- vector quantifier dictionaries are designed using statistical methods such as the generalized Lloyd algorithm (noted GLA for "Generalized Lloyd Algori thm"). This well-known algorithm is based on the necessary conditions of optimality of a vector quantization. From a training sequence representative of the • source to be coded and an initial dictionary, the dictionary is constructed iteratively. Each iteration has two stages: construction of the quantification regions by quantification of the training sequence according to the nearest neighbor rule, and - improvement of the dictionary by replacing the old code vectors with the region centroids (according to the centroid rule).
- Scalar quantization which quantifies samples individually, is not as efficient as vector quantization because it can only exploit the form of the probability distribution of the source and the linear dependence.
- scalar quantization is less costly in computation and in memory than vector quantization.
- quantification scalar associated with entropy coding can achieve good performance even at moderate resolutions.
- This type of vector quantization is also called “spherical” vector quantization or “polar” vector quantization, - the vector quantizer "code with permutation”, whose vector-codes are obtained by permutations of the components of a vector-leader and its generalization to the composite (or union) of permutation codes.
- algebraic vector quantization which uses highly structured dictionaries, derived from regular networks of points or error correcting codes. Thanks to the algebraic properties of their dictionaries, algebraic vector quantizers are simple to implement and do not have to be stored in memory. Exploiting the regular structure of these dictionaries allows the development of optimal and fast search algorithms and mechanisms for associating in particular an index (or "index") with a corresponding vector code (for example by a formula ). Vector quantifiers algebraic are less complex to implement and require less memory. However, they are only optimal for a uniform distribution of the source (either in space or on the surface of a hyper-sphere).
- the algebraic vector quantizer is more difficult to adjust to the distribution of the source by the technique called "companding". It is also recalled that the indexing (or numbering) of the vector codes and the reverse operation (decoding) require more calculations than in the case of statistical vector quantizers, for which these operations are performed by simple table readings.
- variable dimension vectors are crucial for the design of many multimedia encoders such as speech or audio encoders ("MBE" encoder, harmonic encoder, sinusoidal encoder, transform encoder, shape interpolation encoder). wave prototypes).
- MBE speech or audio encoders
- harmonic encoder harmonic encoder
- sinusoidal encoder transform encoder
- shape interpolation encoder shape interpolation encoder
- the number of sinusoids extracted depends on the number of sinusoidal peaks detected in the signal, a number which varies over time depending on the nature of the audio signal.
- the number of prototypes is variable, so the number of gains, REW and SEW is also variable, as well as the size of the REW and SEW waveforms.
- coders such as transform audio coders
- the number of transform coefficients obtained over fixed length frame lengths is imposed but it is usual to group these coefficients into frequency bands to quantify them. Conventionally, this cutting is carried out in bands of unequal widths to exploit the psychoacoustic properties of human hearing by following the critical bands of the ear.
- the range of variation of the dimension of these vectors of transform coefficients typically varies from 3 (for the bands of lower frequencies) to 15 (for the bands of high frequencies), in an encoder in wide band (50Hz-7000Hz), and even up to 24 in an FM band encoder (covering the audible range 20Hz - 16000Hz).
- the design of each dictionary requires a training sequence long enough to correctly represent the statistics of the input vectors.
- storing all the dictionaries proves to be impractical or very costly in memory. We see therefore, in the case of variable dimensions, it is difficult to take advantage of the advantages of vector quantization while respecting memory storage constraints and also training sequences.
- the variability of the input signal is not only reflected by the variation in the number of parameters to be coded but also by the variation in the quantity of binary information to be transmitted for a given quality.
- voiced sounds and unvoiced sounds do not require the same bit rate for the same quality.
- Unpredictable attacks require a higher bit rate than more stable voices and whose stationarity can be taken advantage of by "predictors” which reduce the bit rate.
- unvoiced sounds do not require high coding accuracy and therefore require little bit rate.
- variable rate coders are particularly suitable for communications over networks, in packets, such as the Internet, ATM, or others.
- Packet switching makes it possible to manipulate and process information bits more flexibly and therefore increase the capacity of the channel by reducing the average flow.
- the use of variable rate encoders is also an effective way to combat system congestion and / or adapt to the diversity of access conditions.
- variable bit rate quantifiers also make it possible to optimize the bit rate distribution between: source and channel encodings: as in the concept of AMR ("Adaptive Multi Rate"), the bit rate can be switched at each 20 ms frame to be dynamically adapted to channel and traffic error conditions.
- AMR Adaptive Multi Rate
- the overall quality of the speech is thus improved by ensuring good protection against errors, while reducing the bit rate for coding the source if the channel degrades; the different types of media signals (such as voice and video in video conferencing applications);
- transform audio coders for example, it is usual to dynamically distribute the bits between the spectral envelope and the different bands of coefficients.
- entropy coding of the envelope is first performed and aims to exploit the non-uniform distribution of code words by assigning variable length codes to code words, the most likely having a length shorter than least likely, which minimizes the average length of code words.
- the remaining (variable) flow is dynamically allocated to the frequency bands of the coefficients according to - their perceptual importance.
- New multimedia coding applications (such as audio and video) require highly flexible quantifications in both size and bitrate.
- the range of bit rates must in addition allow reaching a high quality, these multidimensional and multi-resolution quantifiers must aim for high resolutions.
- the complexity barrier posed by these vector quantifiers remains, in itself, a performance to be achieved, despite the increase in processing power and memory capacity of new technologies.
- TDAC High Quality Audio Transform Coding at 64 kbit / s
- JP Petit in IEEE Trans. Common, Vol. 42, No 11, pp. 3010-3019, November 1994.
- the "IMBE" coder uses a complicated coding scheme with variable binary allocations and scalar / vector hybrid quantization.
- variable dimension vector quantization consists in considering each input vector of variable dimension L as formed by a subset of components of an "underlying" vector. "of dimension K (L ⁇ K) and to design and use only one" universal "dictionary of fixed dimension K which however covers the whole range of dimensions of the input vectors, the correspondence between the vector of input being effected by a selector.
- this "universal" dictionary encompassing all the other dictionaries of smaller dimensions does not seem optimal for the smaller dimensions.
- the maximum resolution r max per dimension is limited by the storage constraint and by the throughput per vector of parameters.
- a vector of dimension L (L ⁇ K) could have a resolution (or a bit rate per dimension) K / L times greater , and this, for a volume of information to be stored K / L times smaller.
- variable resolution vector quantization As for known variable resolution vector quantization, a simple solution consists in, as in the case of variable dimension vector quantization, using scalar quantization, as for example in the first versions of TDAC transform coder.
- Vector quantization overcomes this constraint of the number of whole levels per sample and allows fine granularity of the available resolutions.
- the complexity of vector quantization often limits the number of bit rates available.
- the AMR-NB multi-rate speech coder based on the well-known ACELP technique, has eight fixed bit rates ranging from 12.2 kbit / s to 4.75 kbit / s, each with a different level of protection against errors thanks to a different distribution of the bit rate between the source and channel codings.
- LSP parameters of the ACELP encoder
- bit rates available for each of these parameters is limited by the storage complexity of non-algebraic vector quantizers.
- the variation of bit rates is essentially ensured by the algebraic excitation dictionaries which do not require storage.
- variable rate quantifiers can indeed be based on constrained vector quantizers such as the already mentioned multistage quantizers, with Cartesian products, but also the tree vector quantizers.
- the use of these tree vector quantizers for variable rate coding has been the subject of numerous studies.
- the vector quantizer in binary tree was the first introduced. It naturally derives from the LBG algorithm for designing a vector quantizer by successive spli tting of the centroids from the "root" node, barycenter of the training sequence.
- Variants of tree vector quantifiers have been proposed by pruning ("pruning" method) or on the contrary by branching certain nodes of the tree according to their attributes such as their distortion, their population leading to vector quantizers in non binary tree and / or unbalanced.
- FIG. 1a and 1b represent vector quantizers structured in a tree. More particularly, FIG. 1a represents a balanced binary tree, while FIG. 1b represents a non-binary and unbalanced tree.
- the distribution of the input vectors must be uniform. Adapting the distribution of the source to this constraint is a very difficult task.
- the design of algebraic quantifiers from regular networks also poses the problem of truncating and adjusting the regions of the different regular networks to obtain the different desired resolutions and this for the different dimensions.
- the present invention improves the situation.
- One of the aims of the present invention is, in general, to propose an efficient and economical solution (in particular in storage memory) to the problem of variable-rate quantization of vectors of variable dimension.
- Another object of the present invention is, without limitation, to propose a vector quantization advantageously adapting to the coding and decoding of digital signals using a quantification of the spectral amplitudes of the harmonic coders and / or of the transform coefficients of the frequency coders, in particular speech and / or audio signals.
- a dictionary comprising code vectors of variable dimension and intended to be used in a coding and / or decoding device in compression of digital signals, by vector quantization at variable bit rate defining a variable resolution, the dictionary comprising:
- a first set made up of vector-codes constructed by inserting, into code vectors of dictionaries of lower dimension, elements taken from a finite set of real numbers according to a finite set of predetermined insertion rules,
- the set of insertion rules is developed from elementary rules consisting in inserting a single element from the finite set of real numbers as a component at a given position of a vector.
- Each elementary rule is preferably defined by a pair of two positive integers representative: of a rank of the element in said finished set, and of an insertion position. It will be understood that the insertion rules thus characterized are read and deduced directly from the very structure of the dictionary within the meaning of the invention.
- suppression rules consisting in deleting one or more elements from a finite set of given dimension N "to reach a lower dimension N (N ⁇ N " ).
- the present invention also relates to a method for forming a dictionary according to the invention, in which, for a given dimension: a) a first set of code vectors formed is constructed by inserting / deleting into code vectors of dimension dictionaries lower / upper elements taken from a finite set of real numbers according to a finite set of predetermined insertion / deletion rules, b) a first intermediate dictionary is constructed for said given dimension, comprising at least said first set, c ) and, in order to adapt said dictionary to use with at least one given resolution, a second dictionary, final, is constructed from the intermediate dictionary, by nesting / simplifying dictionaries of increasing / decreasing resolutions, the dictionaries of increasing resolutions being nested within each other from the lowest resolution dictionary down to the d larger dictionary resolution.
- the terms “nesting of a set A into a set S” mean that the set A is included in the set B.
- steps a) and b), on the one hand, and step c), on the other hand can be substantially reversed to adapt said dictionary to use with a given dimension N code vectors.
- step c) we build, from an initial dictionary of resolution r n and of dimension N ', a first dictionary, intermediate, always of dimension N "but of resolution r N higher / lower, by nesting / simplification of dictionaries of increasing / decreasing resolutions, to substantially reach the resolution r N of said first dictionary,
- a first set of code vectors formed is constructed by inserting / deleting, in code vectors of the first dictionary of dimension N 1 less than / greater than said given dimension N, elements taken from a finite set of real numbers according to a finite set of predetermined insertion / deletion rules, and, in step b), following a possible step of final adaptation to the resolution r N , we built, for said given dimension N, a second dictionary, definitive, comprising at least said first set.
- Step a) can be implemented by successive increasing dimensions.
- steps a1 to a3) and steps a'1) to a'3) preferably from an initial dictionary of dimension n (n ⁇ N) and by the repeated implementation of steps a1 to a3) for the dimensions n + 1 to N, and by the repeated implementation of steps a'1) to a'3) for the dimensions n-1 at 1.
- the finished set and the set of insert / delete rules used to build dictionaries of successive dimensions can be defined: - a priori, before building the dictionary, by analysis of a source to be quantified, - or a posteriori, after the construction of dictionaries, preferably by nesting / simplification of dictionaries of successive resolutions, this construction then being followed by a statistical analysis of these dictionaries thus constructed.
- the source to be quantified is preferably odelized by a learning sequence and the definition "a priori" of the finite set and of the set of insertion / deletion rules is preferably carried out by a statistical analysis of the source.
- the aforementioned finite set is preferably chosen by estimating a one-dimensional probability density of the source to be quantified.
- At least part of said first set and / or of said first set of insertion / deletion rules is updated, by a posteriori analysis of said one or more intermediate dictionaries,
- At least part of the set of vector codes forming said one is also updated or several intermediate dictionaries.
- step c) of adaptation to a given resolution comprises the following operations, in order to reach increasing resolutions: cO) an initial dictionary of initial resolution r a , less than said given resolution r N , cl, is obtained from from the initial dictionary, an intermediate dictionary of resolution r a + ⁇ greater than the initial resolution r n , c2) is constructed and the operation cl) is repeated until the given resolution r N is reached.
- centroids belonging to at least the dictionaries of resolution higher than a current resolution r ⁇ are recalculated and updated.
- the centroids which belong to the dictionaries of resolution lower than a current resolution r ⁇ are updated, preferably, only if the total distortions of all the dictionaries of lower resolution are decreasing from one update to the other.
- step c) comprises the following operations, now to reach decreasing resolutions: c'O) an initial dictionary of initial resolution r n is obtained, greater than said given resolution r N , c'I) from the initial dictionary, an intermediate dictionary of resolution r n _ ⁇ less than the initial resolution r n , by partitioning the initial dictionary into several subsets ordered according to a predetermined criterion, and c'2) the operation c'I) is repeated until the given resolution r H is reached.
- this partition can use the partial composition by controlled extension within the meaning of steps a) and b), using at least part of the insertion / deletion rules implemented.
- step cl to the increasing resolutions r n + ⁇ to r H , and from step c'I) for the decreasing resolutions r n _ ⁇ to ri.
- the finite set and the set of insertion / deletion rules can advantageously be chosen by a study, a posteriori, of a statistics of the dictionaries of different resolutions and dimensions thus obtained, to form a dictionary in the sense of l invention, desired dimensions and resolutions.
- the storage in memory necessary for the implementation of the coding / decoding can be considerably reduced.
- the aforementioned second set can advantageously consist of "second" sub-sets of dimensions smaller than said given dimension.
- the insert / delete mechanism itself can be stored as a program routine, while the insert / delete parameters, for a given insert / delete rule, can be stored in a table general correspondence (in principle different from the aforementioned correspondence table), in combination with the index of this rule of insertion / deletion given.
- the correspondence tables are developed beforehand, for each index of a vector-code of a dictionary of given dimension which can be reconstructed from elements of current indices in the second set of current dimension, by tabulation. of three integer scalar values representing: - a current dimension of said second set, - a current element index of the second set, and - an index of insertion / deletion rule, this insertion / deletion rule at least helping to reconstruct said code vector of the dictionary of given dimension, by applying the insertion / deletion to the element corresponding to said current index and to said current dimension.
- the present invention also relates to a use of the dictionary according to the invention and obtained by the implementation of the above steps, for coding or decoding in compression of digital signals, by vector quantization at variable bit rate defining a variable resolution.
- This use then implements the following steps: * C01) for a current index of said sought vector code, at least partial reconstruction of an index vector code corresponding to said current index, at least by prior reading of the indices appearing in the correspondence tables and, where appropriate, of an element of the second set, making it possible to develop said dictionary, the method continuing with coding / decoding steps proper, comprising: * C02) at least during coding, calculation of a distance between the input vector and the vector-code reconstituted in step COI), * C03) at least during coding, repetition of steps COI) and C02), for all the current indices in said dictionary,
- step C04 at least during coding, identification of the index of the at least partially reconstructed code vector whose distance from the input vector, calculated during one of the iterations of step C02), is the smallest , and
- step C05 at least on decoding, determination of the nearest neighbor of the input vector y as a vector-code whose index was identified in step C04).
- the "second" above-mentioned assembly preferably consists of "second" sub-assemblies of dimensions smaller than a given dimension of the second assembly.
- the step COI), at least during decoding comprises: COU) reading, in the correspondence tables, indices indicative of links to said second set and to the insertion rules and including: - the index of a current dimension of a subset of said second set, the current index of an element of said subset, - and the index of the insertion rule appropriate for the construction of the vector-code of the dictionary of given dimension, from said element,
- COU reading, in the correspondence tables, indices indicative of links to said second set and to the insertion rules and including: the index of a current dimension of a subset of said second set, l current index of an element, of said subset, and the index of the insertion rule appropriate for the construction of the vector-code of the dictionary of given dimension, from said element, C012) reading, in the sub -set identified by its current dimension, of said element identified by its current index, * in step C02), said distance is calculated according to a distortion criterion estimated as a function of: - of said insertion rule, - and of said element.
- an additional structuring property is further provided according to a union of permutation codes, and an indexing of this union of permutation codes is further exploited in the implementation of the following steps:
- the present invention also relates to such a coding / decoding device.
- the present invention also relates to a computer program product intended to be stored in a memory of a processing unit, in particular of a computer or of a mobile terminal, or on a removable memory medium and intended to cooperate with a reader. of the processing unit, this program comprising instructions for the implementation of the above dictionary construction method.
- the present invention can also target a program of this type, in particular a computer program product intended to be stored in a memory of a processing unit, in particular of a computer or of a mobile terminal integrating a coding device. / decoding, or on a removable memory medium and intended to cooperate with a reader of the processing unit, this program then comprising instructions for the implementation of the application for coding / decoding in compression above.
- a program of this type in particular a computer program product intended to be stored in a memory of a processing unit, in particular of a computer or of a mobile terminal integrating a coding device. / decoding, or on a removable memory medium and intended to cooperate with a reader of the processing unit, this program then comprising instructions for the implementation of the application for coding / decoding in compression above.
- FIG. 2b illustrates the property of partial composition by controlled extension of a dictionary within the meaning of the invention
- FIG. 3 illustrates the nesting of the dictionaries as a function of increasing resolutions
- FIG. 4 illustrates the composition of vector-codes d a dictionary from code vectors of smaller dictionaries and insertion rules
- FIG. 5 illustrates the construction according to increasing resolutions of nested dictionaries without updating the dictionaries of lower resolution
- FIG. 6 illustrates the diagram "TDAC" encoder block
- FIGS. 7a to 7g represent, for the wide band TDAC coder using a vector quantizer within the meaning of the invention, tables illustrating respectively:
- FIG. 7d * the memory gain provided by the two properties nesting and controlled extension (fig. 7d), * the gain in memory provided by the two structuring properties as a function of the size and the bit rate, respectively, compared to the memory size necessary for storing a dictionary without use these two properties (fig.7e), * the first leaders of the L ° set in dimensions 1, 2 and 3 (fig.7f), and * the leaders of the permutation codes of dictionaries in dimension 3 (fig.7g ), - Figures 8a and 8b show, for the TDAC coder in FM band, tables illustrating respectively: * a cut into 52 bands (fig. ⁇ a), and * the resolutions by dimension (fig.8b).
- FIGS. 2a and 2b illustrate the two main properties of a dictionary Di N within the meaning of the present invention.
- any dictionary Di N of a given dimension N and of resolution ri is the union of two disjoint sets: o a first set D ' N consisting of Y N code vectors constructed (arrow F3) by inserting into code vectors Y 11 "1 dictionaries Di * 1" 1 of smaller dimension Nl of the elements Xj taken (arrow F2) in a finite set A of real numbers according to a finite set of insertion rules ⁇ R m ⁇ / an insertion rule R '(j, k) determining the elements j to be inserted (arrow FI) and the way of inserting them (for example at a position k of the vector Y N under construction), o and a second set 'consisting of vectors Y' which cannot be obtained by inserting into vectors of lower dimension elements of this finite set according to the game of the aforementioned insertion rules.
- the indices in resolution and / or in dimension begin, by way of example, from the integer 1 to a given integer (i, n , or N as appropriate).
- integer 1 a given integer
- integer i, n , or N a given integer
- these indices may rather start from 0 and reach i-1, n-l, or N-l, depending on the context.
- Nj-1 the greatest resolution reached is Nj-1 starting from 0.
- the links induced by the two structuring properties are advantageously used to develop algorithms for building such dictionaries by adapting the iterative construction algorithms commonly used and described above such as "GLA” or "SKA”.
- a first approach consists in building the dictionaries according to the increasing resolutions (from the smallest resolution to the maximum resolution).
- a second approach conversely consists in building the dictionaries according to decreasing resolutions (from the maximum resolution to the lowest resolution).
- a third approach consists in building the dictionaries from an intermediate resolution dictionary by decreasing the resolutions to the minimum resolution and by increasing them to the maximum resolution. This method is particularly advantageous when the nominal resolution of the vector quantizer of variable resolution is the aforementioned intermediate resolution.
- step 53 where, by an iterative process, we seek to construct a dictionary D ⁇ j from an initial dictionary D ⁇ tO), formed by adding (Ti j - Ti_ ⁇ j ) vectors to the dictionary Di_ ⁇ j of lower resolution r ⁇ - ⁇ .
- the algorithm for constructing classes 54 is identical to a conventional algorithm, but the algorithm for constructing T centroids 55 is modified. Indeed, the (T ⁇ -Ti- ⁇ ) centroids not belonging to the lower resolution dictionaries are recalculated and updated, while the (Ti- ⁇ j ) centroids of the lower resolution dictionaries are not updated.
- a variant authorizes the updating of the centroids of the dictionaries of lower resolutions in the case where the total distortions of all the dictionaries of lower resolution decrease or remain constant. In this case, the dictionaries of lower resolutions are modified accordingly.
- the iter loop index is then incremented (step 56) up to a Niter number (i, j) depending on the i th same resolution and on the dimension j (test 57).
- the dictionary is obtained at this resolution Nj (end step 59), and therefore all the dictionaries Dp of resolution r, for i ranging from 1 to j.
- partitioning the dictionary can be performed in various ways: from the elementary partition (one element in each subset) to a more elaborate partition. This ordered partition is at the base of the construction of the nested dictionaries by progressive union of its ordered classes.
- the partition can be based on the PD property of partial composition by controlled extension by grouping elements based on the extension of the same vector-code from a subset of the set of insertion rules ( possibly equal this set itself).
- nested dictionaries in resolution are constructed from an intermediate resolution dictionary n- This i th dictionary is therefore first constructed. Then, from this dictionary, the dictionaries of lower resolution are constructed using the second method using decreasing resolutions and the dictionaries of higher resolutions using the first method using increasing resolutions.
- the construction algorithm advantageously favors the elements of the first set comprising the elements obtained by controlled extension, as will be seen below.
- each elementary rule consists of inserting one and only one element from the finite set of real numbers A as a component at a given position of a vector.
- Each elementary rule is given by a couple of two positive integers, one giving the rank of the element in the finished set and the other the insertion position. From this set of elementary rules, we can compose any rule, more elaborate, of insertion of components.
- suppression rules consisting in removing one or more elements from a finite set of given dimension N to reach a lower dimension N-n.
- A ⁇ a o , ai, ..., a ..., ana-i ⁇ - R '(i m , p m ) the elementary insertion rule which consists in inserting ai in position p m .
- N a * j max the number of possible elementary rules.
- composition of the rules R '(0,0) and R' (0,1) gives the rule: insert a 0 in positions 0 and 1. It thus allows to obtain a vector-code of dimension j + 2 from d 'a code vector of dimension j.
- composition of the rules R '(1,0) and R' (0,2) gives the rule: insert a x in position 0 and a 0 in position 2. It also makes it possible to obtain a vector-code of dimension j + 2 from a vector code of dimension j.
- the i ra are not necessarily different, on the other hand the n positions p m are distinct.
- FIG. 4 illustrates the composition of code vectors of a dictionary from code vectors of dictionaries of smaller dimensions and of insertion rules.
- Several embodiments are also provided for constructing dictionaries of different dimensions, unions of two disjoint sets, a first set consisting of code vectors constructed by inserting dictionaries of smaller dimensions of the elements taken from a set into code vectors finite of real numbers according to a set of insertion rules, a second set consisting of vectors which cannot be obtained by inserting into the lower-dimensional code vectors elements of this finite set of real numbers according to this set of insertion rules .
- the first set requires the determination of the finite set of reals (i.e. its cardinality and its values) as well as the set of insertion rules.
- this finite set and the elaboration of the set of insertion rules are carried out: either "a priori": the finite set and the set of insertion rules are determined before building the dictionaries.
- This choice is preferably based on an analysis of the statistics of the source to be quantified, modeled for example by a learning sequence.
- the choice of the finite set can be based on the one-dimensional probability density of the source (or its histogram);
- a priori or "a posteriori” can be used successively and / or combined.
- a first set and a first set of insertion rules can be chosen by an analysis of the learning sequence, then after a first construction of the dictionaries, an analysis of these dictionaries can lead to a total update or partial of set A and / or the set of insertion rules.
- the finished set and / or the set of insertion rules may or may not be dependent on the dimensions.
- the dictionary of larger dimension is first constructed. Then, the latter being fixed, the possible code vectors of smaller dimension are extracted.
- the extraction procedure is facilitated by modifying the code vectors of the larger dimensions to reveal elements of A as components of these code vectors.
- the invention can in addition carry out a transformation of the components of the code vectors.
- An example of transformation is a high resolution scalar quantization. It is interesting to build "dictionaries" of smaller dimensions even if these dimensions are not used directly by vector quantization. For example, we can start with dimension 1 even if scalar quantization is not used. Similarly, it can also be interesting to build dictionaries of intermediate dimensions. These "dictionaries" are moreover advantageously used by the controlled extension procedure to reduce the complexity of storage and calculations.
- a preferred construction is used in the embodiment described below which combines the techniques dictionary building according to increasing dimensions and decreasing resolutions to build all the dictionaries M.
- the audio coder named "TDAC coder” is used below, used to encode digital audio signals sampled at 16 kHz (in wide band).
- This encoder is a transform encoder which can operate at different bit rates.
- the bit rate can be fixed before the establishment of the call or vary from frame to frame during a call.
- FIG. 6 shows the block diagram of this TDAC encoder.
- An audio signal x (n) limited in band to 7 kHz and sampled at 16 kHz is divided into frames of 320 samples (20 ms).
- a modified discrete cosine transform 61 is applied to blocks of the input signal of 640 samples with an overlap of 50% (that is to say a refresh of the MDCT analysis every 20 ms).
- a masking curve is determined by the masking module 62 which then sets the masked coefficients to zero.
- the spectrum is divided into thirty-two bands of unequal widths.
- the possible masked bands are determined as a function of the transformed coefficients of the signal x (n). For each band of the spectrum, the energy of the MDCT coefficients is calculated (we speak of scale factors). The thirty-two scale factors constitute the spectral envelope of the signal which is then quantified, coded and transmitted in the frame (block 63). This quantization and this coding use a Huffman coding. The variable number of bits remaining after the quantization of the variable rate spectral envelope is then calculated. These bits are distributed for the vector quantization 65 of the spectrum MDCT coefficients. The dequantized spectral envelope is used to calculate all the masking thresholds per band, this masking curve determining the dynamic allocation of bits 64.
- this masking curve band by band and from the quantized spectral envelope prevents the transmission of auxiliary information relating to binary allocation.
- the decoder calculates the dynamic allocation of the bits in an identical way to the coder.
- the MDCT coefficients are normalized by the dequantized scale factors of their band and then they are quantified by vector quantizers of variable size and bit rate.
- the binary train is constructed by multiplexing 66 information on the spectral envelope and these coefficients normalized by coded band and transmitted in frame. It is indicated that the references 67 and 68 in FIG. 6 correspond to steps known per se of detection of a voiced or unvoiced signal x (n), and of tone detection (determination of tonal frequencies), respectively.
- the vector quantizers with variable bit rate are described below in bands of unequal widths of the MDCT coefficients in the TDAC coder.
- the quantification of the MDCT coefficients normalized by band in particular uses dictionaries constructed according to the invention. Cutting into strips of unequal widths leads to vectors of different dimensions.
- the table in FIG. 7a which gives the strip cutting used also indicates the resulting dimension of the vector of the coefficients, that is to say the number of coefficients indicated by the third column.
- variable number of bits remaining after Huffman coding of the spectral envelope is dynamically allocated to the different bands.
- the table in FIG. 7b gives the numbers of resolutions Nj and the sets of flow rates per band j * Rj (therefore the values of the resolutions per band) for the dimensions j, for j ranging from 1 to 15. It will be noted that to exploit advantageously the structuring property of partial composition by controlled extension, vector quantizers have been constructed in dimensions 1, 2, 6, 11, which, however, do not correspond to any bandwidth, but whose elements are used to compose code vectors of higher dimension. We also note the fineness of the granularity of the resolutions even for large dimensions.
- the criterion of distortion chosen here is the Euclidean distance.
- the dictionary being normalized, the search for the vector code which minimizes the Euclidean distance with an input vector to be quantified amounts to searching for the vector code which maximizes the dot product with this input vector.
- the dictionary being the union of permutation codes, the search for the vector-code maximizing the scalar product with an input vector amounts to searching among the absolute leaders of the dictionary for that which maximizes the scalar product with the absolute leader of this input vector (which is also obtained by permuting the absolute values of its components to arrange them in descending order).
- a learning sequence for the design of vector quantizers within the meaning of the invention.
- a long sequence consisting of frames of 289 MDCT coefficients normalized by the scale factor of their band is first obtained from numerous samples of audio signals in wide band. Then, for each normalized vector of coefficients, we deduce its absolute leader. From the set of absolute leaders of different dimensions, two categories of multidimensional learning sequences S 0 and S 1 are created :
- S - ⁇ [1,15]
- S j being the set of all the vectors formed by the first j components of the absolute leaders having j non-zero coefficients.
- S, - is thus constituted by the absolute leaders of dimension j having no zero coefficient, those of dimension j + 1 having a single zero coefficient, those of dimension j + 2 having two zero coefficients, ... those of dimension 15 having 15-j zero coefficients,
- the first category of sequences is preferably used to determine the initial dictionaries of
- the second category is preferentially used to build multidimensional and multiresolution dictionaries having the two structuring properties.
- This L '° construction technique is inspired by the dictionary construction technique by partial composition by extension controlled according to decreasing dimensions.
- the choice of the set A made a priori could be revised a posteriori to add the element "1" because all the leaders of L '° have at least one "1" as the last component.
- the set L ° serves as the basis for the composition of the initial dictionaries of leaders for the design of vector quantizers with multiple dimensions and resolutions having the two structuring properties of nesting PR and partial composition by controlled extension PD. From the sequence S 1 , the algorithm to construct these quantifiers proceeds by increasing dimension and decreasing resolution.
- L j is formed by all the leaders of L j and by all the leaders obtained by controlled extension of the leaders of the dimensions lower j '(j' ⁇ j) by inserting (j-j ') zeros to the leaders of the sets V.,.
- ⁇ (l) ⁇ , ⁇ (ll), (21), (31), (41), (51), (91) ⁇ , completed by the leaders of E ' 3 .
- the union of permutation codes characterized by LA- constitutes a high resolution dictionary, possibly greater than the maximum resolution desired.
- These permutation codes therefore perform a natural partition of this dictionary, each class of this partition being a permutation code represented by its leader.
- the construction of the nearest neighbor regions corresponding to the classes of this partition is then carried out by quantification of the sequence S 1 .
- the partition is ordered according to the ascending cardinal of the permutation codes. In case of equality of the cardinals of permutation codes, the codes of the leaders obtained by controlled extension are favored compared to those of the leaders of -L'y as indicated above. In case of equality of cardinals of two classes belonging to the same set (either to D , J N , or to D>'- L), the classes are ordered
- the multi-resolution dictionaries nested in resolution are therefore formed by choosing as the last permutation code for each different resolution the one whose rate of cumulation of cardinals is closest to the integer immediately higher . If the resolution of the dictionary characterized by L j is greater than the maximum resolution desired, the last unused permutation codes are eliminated.
- Z, - g: Z, -j the final set
- FIGS. 7c to 7e show the gains in memory provided by the nesting property and by the property of partial composition by controlled extension.
- the table in FIG. 7c compares vector quantizers with multiple resolutions for different dimensions: the first quantifiers simply structured in unions of permutation codes, and the second quantifiers further possessing the property of nesting in resolutions.
- the table in Figure 7d compares these quantifiers, used for multiple dimensions, with quantifiers also having the structuring property of partial composition by controlled extension.
- the table in Figure 7e compares vector quantizers with multiple resolutions and dimensions: the first quantifiers simply structured in union of permutation codes and the latter having in addition the structuring properties of nesting in resolutions and partial composition by controlled extension.
- L j the number of leaders of the set L ° j : their sum of dimensions 1 to j j
- indexing there are several known ways of indexing the code vectors of a dictionary, a union of type II permutation codes.
- the numbering used in the embodiment is inspired by that used to index the spherical codes of the Gosset network.
- each code vector of D _. is indexed by an offset
- Lj leaders index to L ° leaders index.
- the leaders of L ° being stored, there is thus a great freedom of indexing of L °.
- Each index m j of a leader X 7 of Lj is associated with an index l m of a leader x j 'of L °. From this index l m , we find the dimension _ 'of the leader x 7 ' and the leader himself. The leader x j is then found by inserting (j-j ') zeros as the last components of x 3 '.
- the table in Figure 7f gives the first 23 leaders of L °.
- T ⁇ N is much smaller than T ⁇ , because we naturally try to favor the set D ' j N with respect to
- step COI consists in the reconstruction of the code vector x J of index m 3 and is preferably carried out as follows: a) reading of the three indices j ', m' and l r in the correspondence tables associated with D N J , b) reading in the set -D ' ⁇ of the vector x 3' 'of dimension j' and of index m ', c) reconstruction of the code vector x 3 by applying to x 3 ' of the property of partial composition by extension controlled according to the rule of insertion of index l r .
- Step C02) consists in calculating the distance d (y, x 3 ) between y and x according to the chosen distortion criterion.
- the following steps C03) and C04) consist in repeating the operations COI) and C02) to identify the vector index whose distance to the input vector is minimum. So :
- the nearest code vector close to the input vector y is determined as a vector code whose index m m i n has been identified in correspondence of the smallest distance d m i n with the input vector y-
- step C05 * End nearest neighbor x of y in D ⁇ is the vector-code of index m m i n
- step COI The decoding algorithm which consists in searching for a code vector of Dj from its index is given by step COI) of the coding algorithm. It is indicated, in particular, that the decoding implies the complete reconstruction of the code vector x (operation c) of step COI)), whatever the index to be decoded.
- this reconstruction can be partial. Indeed, it can sometimes be omitted if the distortion criterion in the distance calculation of step C02) can be broken down into two terms: one dependent only on the index of the insertion rule, and another on the vector -code x 3 '. For example, in the case of a Euclidean distance distortion criterion, it is possible, at the initialization stage
- the storage / indexing complexity compromise can also be adjusted as required by the application.
- a first simplification is brought about by the "freedom" of the signs of type II permutation codes which the permutation codes of the Gosset network with odd components do not have.
- a second simplification is provided by taking into account the number of non-zero components of each leader for the calculation of the scalar product. This illustrates the exploitation of the structure induced by the property of partial composition by extension controlled by the coding algorithm.
- a final modification takes into account the storage of the leaders of L ° in whole form, which leads to the introduction in the scalar product calculation a corrective factor equal to the inverse of the Euclidean norm of these leaders with strictly positive integer components.
- step CP5 three additional steps are planned: two preliminary steps (before the COI reconstruction step) above) to determine the absolute leader and the sign vector ⁇ of the vector to be coded (steps CP1) and CP2)), and a last step to calculate the rank of its closest neighbor in the dictionary (step CP5)).
- the search for the nearest neighbor of y in Dj amounts to first searching for the most close neighbor of in the set L j (i) (among the L ⁇ l
- the algorithm then preferably takes place according to the following example:
- step CP2 the index of the nearest neighbor of y in Dj is calculated by the procedure of indexing a union of permutation codes from the number of the permutation code m max found in step CP3) , the rank of the permutation carried out in step CP2) and the vector of signs determined in step CP1). It should be noted that step CP2) can be accelerated. Indeed, if nf is the maximum number of non-zero components of the leaders of Lj (i), it suffices to search for the nf largest components of ⁇ y ⁇ . There are several variants of step CP3) depending on the desired storage / complexity compromise.
- step CP3 If one wants to minimize the number of computations, one can tabulate for all the leaders of L ° simply their dimension j 'and their corrective factor.
- the determination of the dimension j 'mentioned in step CP3) consists in this case of a reading of the correspondence table. Conversely, if we rather want to reduce memory, this determination is calculated from the index l m . Likewise, the corrective factor can be calculated after reading the leader x 3 '.
- this step amounts to finding the leader of L ° which maximizes the scalar product modified from the list of Mj leaders of
- L ° indicated by the correspondence table of the Lj leader indexes to the L ° leader indexes. If the dimension of a leader x 3 'of L ° is j'(j' ⁇ j), the computation of its scalar product with is only performed on the j 'first components of , then multiplied by the inverse of the Euclidean norm of x 3 '.
- step CP4 and the index of the rank of this nearest neighbor of y in Dj is calculated by the procedure of indexing a union of permutation codes from the number of the permutation code found in the previous step, of the rank of the permutation carried out in step CP2) and of the vector of signs determined in step CP1).
- step CP2 can be accelerated. Indeed, if nj is the maximum number of non-zero components of the leaders of L j (i), it suffices to search for the nj largest components of M.
- the decoding algorithm is preferably presented as follows.
- mj is associated with a unique index in
- mj points to an element E * ' ⁇ , - . (j ' ⁇ j) and on an insertion rule.
- insertion rule can be explicitly indexed or not.
- the insertion rule is implicitly found from the index. It will also be understood that the compromise storage / indexing complexity can be adjusted according to the needs of the application.
- the decoding algorithm is inspired by the document: "Algorithm of Spherical Algebraic Vector Quantization by the Gosset Network E 8 ", C. Lamblin, JP Adoul, Annales Des Telecommunications, n ° 3-4, 1988, in additionally using the correspondence table of Lj leader indices to those of L °.
- the principle of this coder is similar to that of the TDAC coder in wide band at 16 kHz.
- the audio signal band limited to 16 kHz and now sampled at 32 kHz, is also split into 20 ms frames. This leads after MDCT transformation to obtain 640 coefficients.
- the spectrum is cut into 52 bands of unequal widths, the cutting of the widened band being identical to the cutting carried out by the TDAC encoder in wide band.
- the table in FIG. 8a gives the strip cutting used and the resulting dimension of the vector of the coefficients (corresponding to the number of coefficients indicated in the third column).
- the quantification of the spectral envelope also uses Huffman coding and the remaining variable bit rate is dynamically allocated to the coefficients from the dequantified version of this spectral envelope.
- the quantification of the MDCT coefficients uses dictionaries constructed according to the invention. As in the case described above, the dictionaries are also structured in union of permutation codes. For dimensions less than 15, the vector quantizers are the same as those for the widened band. We build dictionaries for dimensions 16, 17, 18, 19, 20 and 24. For dimension 24, this structure has also been combined with the structure in Cartesian product. The last high band of 24 coefficients is cut into two vectors of dimension 12: one is formed by the even coefficients, the other by the odd coefficients.
- the vector quantizers constructed for dimension 12 have been used.
- the present invention thus provides an effective solution to the problem of vector quantization at variable speed and dimension.
- the invention jointly solves the two problems of variable resolution and dimension by providing a vector quantizer whose dictionaries, for the different dimensions and resolutions, have the structuring properties PR and PD above.
- the nesting of the dictionaries guarantees, on the one hand, the local decrease in distortion depending on the resolution and, on the other hand, significantly reduces the amount of memory required for storage because the dictionaries of the resolutions do not have to be stored, since all the elements of these dictionaries are in the dictionary of maximum resolution.
- the choice to nest the dictionaries therefore already brings two advantages: the assurance of a decrease in local distortion according to increasing resolutions and reduced storage. It also allows a great finesse of resolution with, if necessary, a granularity lower than the bit, facilitating the choice of dictionaries of sizes not necessarily equal to powers of 2. This fine granularity of the resolutions is particularly interesting if several vectors of dimension and / or of variable resolution are to be quantified by frame, by associating with these rate quantifiers by non-integer vector an algorithm for binary training of the indices.
- the PR nesting property of dictionaries means that you only have to store dictionaries of maximum resolution. Thanks to the second PD property, the amount of storage memory is even reduced. Indeed, a part of the elements of the dictionaries of maximum resolution does not have to be stored because it is deduced from elements taken in the dictionaries of maximum resolution but of smaller dimension, by taking account of insertion rules ⁇ R m ⁇ predefined. The proportion of elements thus structured is easily adaptable and allows fine adjustment of the amount of storage memory.
- this structure of dictionaries induced by the two properties offers a great flexibility of design as well for the choice of the dimensions as for that of the resolutions.
- these vector quantifiers adapt to the statistics of the source to be coded and thus avoid the problem of the delicate design of a mandatory "vector companding" in algebraic vector quantization to make the distribution of the source to be coded uniform.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/FR2004/000219 WO2005083889A1 (fr) | 2004-01-30 | 2004-01-30 | Quantification vectorielle en dimension et resolution variables |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1709743A1 true EP1709743A1 (de) | 2006-10-11 |
Family
ID=34896839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04706703A Withdrawn EP1709743A1 (de) | 2004-01-30 | 2004-01-30 | Vektorquantifizierung mit variabler auflösung und variabler dimension |
Country Status (6)
Country | Link |
---|---|
US (1) | US7680670B2 (de) |
EP (1) | EP1709743A1 (de) |
JP (1) | JP4579930B2 (de) |
KR (1) | KR101190875B1 (de) |
CN (1) | CN1906855B (de) |
WO (1) | WO2005083889A1 (de) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201689A1 (en) * | 2005-06-30 | 2008-08-21 | Freescale Semiconductor, Inc. | Vector Crc Computatuion on Dsp |
US7587314B2 (en) | 2005-08-29 | 2009-09-08 | Nokia Corporation | Single-codebook vector quantization for multiple-rate applications |
US7974713B2 (en) * | 2005-10-12 | 2011-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Temporal and spatial shaping of multi-channel audio signals |
FR2897742A1 (fr) * | 2006-02-17 | 2007-08-24 | France Telecom | Codage/decodage perfectionnes de signaux numeriques, en particulier en quantification vectorielle avec codes a permutation |
EP1989707A2 (de) | 2006-02-24 | 2008-11-12 | France Telecom | Verfahren zur binären kodierung von quantifizierungsindizes einer signalhüllkurve; verfahren zur dekodierung einer signalhüllkurve und entsprechende kodier- und dekodiermodule |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US8848442B2 (en) * | 2006-03-06 | 2014-09-30 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US8285544B2 (en) * | 2006-03-21 | 2012-10-09 | France Telecom | Restrained vector quantisation |
US8091006B2 (en) * | 2006-06-02 | 2012-01-03 | Nec Laboratories America, Inc. | Spherical lattice codes for lattice and lattice-reduction-aided decoders |
WO2008047795A1 (fr) * | 2006-10-17 | 2008-04-24 | Panasonic Corporation | Dispositif de quantification vectorielle, dispositif de quantification vectorielle inverse et procédé associé |
US7953595B2 (en) | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
US7966175B2 (en) | 2006-10-18 | 2011-06-21 | Polycom, Inc. | Fast lattice vector quantization |
US8019804B2 (en) * | 2007-03-26 | 2011-09-13 | City University Of Hong Kong | Method and apparatus for calculating an SSD and encoding a video signal |
US7925783B2 (en) * | 2007-05-23 | 2011-04-12 | Microsoft Corporation | Transparent envelope for XML messages |
US8111176B2 (en) * | 2007-06-21 | 2012-02-07 | Koninklijke Philips Electronics N.V. | Method for encoding vectors |
CN100583649C (zh) | 2007-07-23 | 2010-01-20 | 华为技术有限公司 | 矢量编/解码方法、装置及流媒体播放器 |
CN101335004B (zh) * | 2007-11-02 | 2010-04-21 | 华为技术有限公司 | 一种多级量化的方法及装置 |
RU2461079C2 (ru) * | 2008-02-15 | 2012-09-10 | Нокиа Корпорейшн | Упрощенная индексация и деиндексация векторов |
WO2009127097A1 (en) * | 2008-04-16 | 2009-10-22 | Huawei Technologies Co., Ltd. | Method and apparatus of communication |
FR2931963A1 (fr) * | 2008-06-02 | 2009-12-04 | Centre Nat Rech Scient | Procede de traitement de donnees numeriques |
FR2931964A1 (fr) * | 2008-06-02 | 2009-12-04 | Centre Nat Rech Scient | Procede de denombrement des vecteurs dans les reseaux reguliers de points. |
GB2464447B (en) * | 2008-07-01 | 2011-02-23 | Toshiba Res Europ Ltd | Wireless communications apparatus |
CN101577551A (zh) * | 2009-05-27 | 2009-11-11 | 华为技术有限公司 | 一种生成格型矢量量化码书的方法及装置 |
WO2011086900A1 (ja) | 2010-01-13 | 2011-07-21 | パナソニック株式会社 | 符号化装置および符号化方法 |
WO2011104463A1 (fr) * | 2010-02-26 | 2011-09-01 | France Telecom | Compression de flux audio multicanal |
US9070453B2 (en) * | 2010-04-15 | 2015-06-30 | Ramot At Tel Aviv University Ltd. | Multiple programming of flash memory without erase |
JP5258915B2 (ja) * | 2011-02-28 | 2013-08-07 | 株式会社デンソーアイティーラボラトリ | 特徴変換装置、それを含む類似情報探索装置、コード化パラメータ生成方法、及びコンピュータ・プログラム |
US8756262B2 (en) | 2011-03-01 | 2014-06-17 | Splunk Inc. | Approximate order statistics of real numbers in generic data |
US20160019900A1 (en) * | 2013-02-01 | 2016-01-21 | Nokia Technologies Oy | Method and apparatus for lattice vector quantization of an audio signal |
US9444580B2 (en) | 2013-08-06 | 2016-09-13 | OptCTS, Inc. | Optimized data transfer utilizing optimized code table signaling |
US10523490B2 (en) | 2013-08-06 | 2019-12-31 | Agilepq, Inc. | Authentication of a subscribed code table user utilizing optimized code table signaling |
US9455799B2 (en) | 2013-08-06 | 2016-09-27 | OptCTS, Inc. | Dynamic control of quality of service (QOS) using derived QOS measures |
RU2665287C2 (ru) * | 2013-12-17 | 2018-08-28 | Нокиа Текнолоджиз Ой | Кодер звукового сигнала |
US9640376B1 (en) | 2014-06-16 | 2017-05-02 | Protein Metrics Inc. | Interactive analysis of mass spectrometry data |
EP3164942A1 (de) | 2014-07-02 | 2017-05-10 | Agilepq, Inc. | Datenwiederherstellung mit optimierter codetabellensignalisierung |
US9385751B2 (en) * | 2014-10-07 | 2016-07-05 | Protein Metrics Inc. | Enhanced data compression for sparse multidimensional ordered series data |
SE538512C2 (sv) * | 2014-11-26 | 2016-08-30 | Kelicomp Ab | Improved compression and encryption of a file |
US10354421B2 (en) | 2015-03-10 | 2019-07-16 | Protein Metrics Inc. | Apparatuses and methods for annotated peptide mapping |
SE544304C2 (en) * | 2015-04-17 | 2022-03-29 | URAEUS Communication Systems AB | Improved compression and encryption of a file |
US20170214413A1 (en) * | 2016-01-21 | 2017-07-27 | HGST Netherlands B.V. | Joint source-channel coding with dynamic dictionary for object-based storage |
KR102169435B1 (ko) * | 2016-03-21 | 2020-10-23 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 가중된 행렬 계수의 적응형 양자화 |
EP3465974A1 (de) | 2016-06-06 | 2019-04-10 | Agilepq, Inc. | Systeme und verfahren zur datenkonvertierung |
US10319573B2 (en) | 2017-01-26 | 2019-06-11 | Protein Metrics Inc. | Methods and apparatuses for determining the intact mass of large molecules from mass spectrographic data |
US11626274B2 (en) | 2017-08-01 | 2023-04-11 | Protein Metrics, Llc | Interactive analysis of mass spectrometry data including peak selection and dynamic labeling |
US10546736B2 (en) | 2017-08-01 | 2020-01-28 | Protein Metrics Inc. | Interactive analysis of mass spectrometry data including peak selection and dynamic labeling |
US11531695B2 (en) * | 2017-08-23 | 2022-12-20 | Google Llc | Multiscale quantization for fast similarity search |
US10510521B2 (en) | 2017-09-29 | 2019-12-17 | Protein Metrics Inc. | Interactive analysis of mass spectrometry data |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
US11640901B2 (en) | 2018-09-05 | 2023-05-02 | Protein Metrics, Llc | Methods and apparatuses for deconvolution of mass spectrometry data |
US10936810B2 (en) | 2018-12-04 | 2021-03-02 | International Business Machines Corporation | Token embedding based on target-context pairs |
US11625393B2 (en) * | 2019-02-19 | 2023-04-11 | Mellanox Technologies, Ltd. | High performance computing system |
EP3699770A1 (de) | 2019-02-25 | 2020-08-26 | Mellanox Technologies TLV Ltd. | System und verfahren zur kollektiven kommunikation |
CN112020724A (zh) * | 2019-04-01 | 2020-12-01 | 谷歌有限责任公司 | 学习可压缩的特征 |
US11346844B2 (en) | 2019-04-26 | 2022-05-31 | Protein Metrics Inc. | Intact mass reconstruction from peptide level data and facilitated comparison with experimental intact observation |
TWI726822B (zh) * | 2019-10-08 | 2021-05-01 | 創未來科技股份有限公司 | 訊號轉換裝置 |
US11750699B2 (en) | 2020-01-15 | 2023-09-05 | Mellanox Technologies, Ltd. | Small message aggregation |
US11252027B2 (en) | 2020-01-23 | 2022-02-15 | Mellanox Technologies, Ltd. | Network element supporting flexible data reduction operations |
US11876885B2 (en) | 2020-07-02 | 2024-01-16 | Mellanox Technologies, Ltd. | Clock queue with arming and/or self-arming features |
JP2023544647A (ja) | 2020-08-31 | 2023-10-24 | プロテイン・メトリクス・エルエルシー | 多次元時系列データのためのデータ圧縮 |
US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
CN116050460B (zh) * | 2023-03-23 | 2023-06-27 | 中南大学 | 基于注意力神经网络的气温数据空间插值方法 |
CN117041359B (zh) * | 2023-10-10 | 2023-12-22 | 北京安视华业科技有限责任公司 | 一种信息数据高效压缩传输方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4922535A (en) * | 1986-03-03 | 1990-05-01 | Dolby Ray Milton | Transient control aspects of circuit arrangements for altering the dynamic range of audio signals |
US4969192A (en) * | 1987-04-06 | 1990-11-06 | Voicecraft, Inc. | Vector adaptive predictive coder for speech and audio |
US5182773A (en) * | 1991-03-22 | 1993-01-26 | International Business Machines Corporation | Speaker-independent label coding apparatus |
US5765127A (en) * | 1992-03-18 | 1998-06-09 | Sony Corp | High efficiency encoding method |
JP3404837B2 (ja) * | 1993-12-07 | 2003-05-12 | ソニー株式会社 | 多層符号化装置 |
US5890110A (en) * | 1995-03-27 | 1999-03-30 | The Regents Of The University Of California | Variable dimension vector quantization |
US5621660A (en) * | 1995-04-18 | 1997-04-15 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
US5778335A (en) * | 1996-02-26 | 1998-07-07 | The Regents Of The University Of California | Method and apparatus for efficient multiband celp wideband speech and music coding and decoding |
US5809459A (en) * | 1996-05-21 | 1998-09-15 | Motorola, Inc. | Method and apparatus for speech excitation waveform coding using multiple error waveforms |
JP3707153B2 (ja) * | 1996-09-24 | 2005-10-19 | ソニー株式会社 | ベクトル量子化方法、音声符号化方法及び装置 |
JP3707154B2 (ja) * | 1996-09-24 | 2005-10-19 | ソニー株式会社 | 音声符号化方法及び装置 |
US5832443A (en) * | 1997-02-25 | 1998-11-03 | Alaris, Inc. | Method and apparatus for adaptive audio compression and decompression |
WO1999010719A1 (en) * | 1997-08-29 | 1999-03-04 | The Regents Of The University Of California | Method and apparatus for hybrid coding of speech at 4kbps |
US6098037A (en) * | 1998-05-19 | 2000-08-01 | Texas Instruments Incorporated | Formant weighted vector quantization of LPC excitation harmonic spectral amplitudes |
US6141638A (en) * | 1998-05-28 | 2000-10-31 | Motorola, Inc. | Method and apparatus for coding an information signal |
FR2783661B1 (fr) * | 1998-09-17 | 2000-12-08 | Thomson Multimedia Sa | Procede de compression de donnees graphiques |
FR2791166B1 (fr) * | 1999-03-17 | 2003-01-10 | Matra Nortel Communications | Procedes de codage, de decodage et de transcodage |
US6421467B1 (en) * | 1999-05-28 | 2002-07-16 | Texas Tech University | Adaptive vector quantization/quantizer |
CA2388358A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for multi-rate lattice vector quantization |
US20040176950A1 (en) * | 2003-03-04 | 2004-09-09 | Docomo Communications Laboratories Usa, Inc. | Methods and apparatuses for variable dimension vector quantization |
JP2007506986A (ja) * | 2003-09-17 | 2007-03-22 | 北京阜国数字技術有限公司 | マルチ解像度ベクトル量子化のオーディオcodec方法及びその装置 |
-
2004
- 2004-01-30 EP EP04706703A patent/EP1709743A1/de not_active Withdrawn
- 2004-01-30 KR KR1020067017487A patent/KR101190875B1/ko not_active IP Right Cessation
- 2004-01-30 US US10/587,907 patent/US7680670B2/en not_active Expired - Fee Related
- 2004-01-30 WO PCT/FR2004/000219 patent/WO2005083889A1/fr active Application Filing
- 2004-01-30 CN CN200480041141.2A patent/CN1906855B/zh not_active Expired - Fee Related
- 2004-01-30 JP JP2006550218A patent/JP4579930B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
See references of WO2005083889A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2005083889A1 (fr) | 2005-09-09 |
US20070162236A1 (en) | 2007-07-12 |
CN1906855A (zh) | 2007-01-31 |
US7680670B2 (en) | 2010-03-16 |
KR20060129417A (ko) | 2006-12-15 |
CN1906855B (zh) | 2014-04-02 |
KR101190875B1 (ko) | 2012-10-15 |
JP2007523530A (ja) | 2007-08-16 |
JP4579930B2 (ja) | 2010-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2005083889A1 (fr) | Quantification vectorielle en dimension et resolution variables | |
RU2326450C2 (ru) | Способ и устройство для векторного квантования с надежным предсказанием параметров линейного предсказания в кодировании речи с переменной битовой скоростью | |
EP1692689B1 (de) | Optimiertes mehrfach-codierungsverfahren | |
FR2700632A1 (fr) | Système de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués. | |
EP2183851A1 (de) | Codierung/decodierung durch symbolpläne mit dynamischer berechnung von wahrscheinlichkeitstabellen | |
EP1692687B1 (de) | Transcodierung zwischen den indizes von mehrimpuls-wörterbüchern zur codierung bei der digitalen signalkomprimierung | |
EP2289171B1 (de) | Verfahren zur verarbeitung numerischer daten | |
WO2013057453A2 (fr) | Codage hierarchique perfectionne | |
WO2007107659A2 (fr) | Quantification vectorielle contrainte | |
EP2652735B1 (de) | Verbesserte kodierung einer verbesserungsstufe bei einem hierarchischen kodierer | |
EP2289172B1 (de) | Verfahren zur aufzähung von vektoren in einem regulärem punktegitter | |
EP1756806B1 (de) | Verfahren zum quantifizieren eines sprachcodierers mit ultraniedriger rate | |
WO2011144863A1 (fr) | Codage avec mise en forme du bruit dans un codeur hierarchique | |
Motta et al. | Trellis vector residual quantization | |
BOUZID et al. | Split Multi-Stage Vector Quantization Based Steganography for Secure Wideband Speech Coder | |
Bouzid et al. | Channel optimized switched split vector quantization for wideband speech LSF parameters | |
Fischer et al. | High-quality audio transform coded excitation using trellis codes | |
FR2992458A1 (fr) | Methodes de compression audio additionnelles a tres bas debit exploitant les redondances locales et utilisant le codage par dictionnaire adaptatif | |
MXPA06008536A (en) | Dimensional vector and variable resolution quantisation | |
FR2842670A1 (fr) | Perfectionnement a la compression de donnees numeriques | |
EP1037390A1 (de) | Verfahren zur Kodierung, Dekodierung und Transkodierung eines Audiosignals | |
Jahangiri et al. | Scalable speech coding at rates below 900 BPS | |
Oshima et al. | Variable-length coding of ACELP gain using Entropy-Constrained VQ |
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: 20060714 |
|
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 IT LI LU MC NL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: FRANCE TELECOM |
|
17Q | First examination report despatched |
Effective date: 20120710 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ORANGE |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20170801 |