WO2011160537A1 - 脉冲编解码方法及脉冲编解码器 - Google Patents

脉冲编解码方法及脉冲编解码器 Download PDF

Info

Publication number
WO2011160537A1
WO2011160537A1 PCT/CN2011/074999 CN2011074999W WO2011160537A1 WO 2011160537 A1 WO2011160537 A1 WO 2011160537A1 CN 2011074999 W CN2011074999 W CN 2011074999W WO 2011160537 A1 WO2011160537 A1 WO 2011160537A1
Authority
WO
WIPO (PCT)
Prior art keywords
index
track
pulse
pulses
positions
Prior art date
Application number
PCT/CN2011/074999
Other languages
English (en)
French (fr)
Inventor
马付伟
张德军
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to AU2011269502A priority Critical patent/AU2011269502B2/en
Priority to EP11797568.0A priority patent/EP2587480B1/en
Priority to KR1020137002001A priority patent/KR101384574B1/ko
Priority to JP2013515680A priority patent/JP5785255B2/ja
Priority to ES11797568T priority patent/ES2764832T3/es
Publication of WO2011160537A1 publication Critical patent/WO2011160537A1/zh
Priority to US13/725,301 priority patent/US9020814B2/en
Priority to US14/150,498 priority patent/US8959018B2/en
Priority to US14/547,860 priority patent/US9508348B2/en
Priority to US15/338,098 priority patent/US9858938B2/en
Priority to US15/853,690 priority patent/US10446164B2/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Definitions

  • the invention relates to a pulse codec method and a pulse codec.
  • adaptively filtered residual signals are often quantized using a generational digital book. After the search obtains the position and symbol information of the best generation digital book pulse on the track, the corresponding index value is obtained by the coding calculation, so that the decoding end can reconstruct the pulse sequence according to the index value. Under the premise of ensuring lossless reconstruction, minimizing the bits required to encode index values is one of the main goals of the research and development of digital book pulse coding methods.
  • the AMR WB + Adaptive Multi-Rate Wideband coding method
  • the index value encoding a signed pulse is:
  • ⁇ ⁇ [0 , 2 m - l] is the position index of the pulse; s is the symbol index of the pulse. When the pulse symbol is positive, s is set to 0. When the pulse symbol is negative, s is set to 1; I lp G [0 , 2 m+1 - l].
  • the number of bits required to encode 1 pulse per track is: m + 1.
  • each track encodes 1 pulse and needs m + 1 bit, and the other pulse's position index needs to encode m bits, because there is no special requirement for the pulse sequence,
  • the index value for encoding 2 pulses is:
  • I 2p (m) pl + I lp0 x 2 m 1 + P 0 x 2 m + sx 2 2m
  • p0, pi G [0, 2 m - 1] are the position indices of 2 pulses respectively; s is the symbol index of the pO pulse; the specific representation rule of the pi pulse symbol is: pO ⁇ pi means that the two pulse symbols are the same, pO > pi means that 2 pulse symbols are opposite; l 2p e[0, 2 2m+1 -l].
  • the number of bits required to encode 2 pulses per track is: 2m + 1.
  • Each track is divided into two parts: Section A and Section B, each part contains 2" ⁇ positions.
  • a part contains at least 2 pulses. According to the result of 2, it takes 2 X to encode the part.
  • - l) + l 2m - 1 bit; another pulse searches over the entire track, depending on the result of 1, requires m + 1 bit; in addition, 1 bit is required to indicate the part containing 2 pulses.
  • the index value of the encoded 3 pulses is:
  • I 3p (m) I 2p (m - l) + kx 2 2mA + I lp (m) x 2 2m
  • the number of bits required to encode 3 pulses per track is: 3m + 1.
  • Each track is divided into two parts: Section A and Section B, each part containing 2" ⁇ positions.
  • the combination of the number of pulses in each part is shown in the following table:
  • the number of required bits for each category is based on: For category 0 and category 4, a method similar to 3 is used in the portion with 4 pulses, but the number of pulses for the overall search is 2, which is equivalent to I 2p (m- 2) + kx2 2m - 3 + I 2p (m- l)x2 2m - 2 ; For category 1, equivalent to I lp (m -1) + I 3p (mI)x2 m ; for category 2, equivalent to I 2p (m-1 ) + I 2p (m- l 2 2 " 1 - 1 ; for category 3, equivalent to I 3p (m - 1) + I lp (m - 1) x 2 3m - 2 .
  • the number of bits required to encode 4 pulses per track is: 4m.
  • Each track is divided into two parts: Section A and Section B, each part contains 2" ⁇ positions.
  • a part contains at least 3 pulses. According to the result of 3, it takes 3 X to encode the part.
  • - 1) + 1 3m - 2 bits; the remaining two pulses are searched over the entire track. According to the result of 2, 2m + 1 bits are required; in addition, 1 bit is required to indicate that there are 3 pulses.
  • Part. The index value for encoding 5 pulses is:
  • I 5p (m) I 3p (m - l) + kx 2 3m - 2 + I lp (m) x 2 3m
  • the number of bits required to encode 5 pulses per track is: 5m.
  • Each track is divided into two parts: Section A and Section B, each part containing 2" ⁇ positions.
  • the combination of the number of pulses in each part is shown in the following table:
  • the number of bits required to encode 6 pulses per track is: 6m - 2.
  • the algebraic pulse coding method provided by AMR-WB+ uses a code logic similar to recursion to split the case of a large number of coded pulses into a plurality of coded pulses.
  • the computational complexity is large.
  • the redundancy of the coding index will gradually increase, which is likely to cause waste of coding bits.
  • Embodiments of the present invention provide a pulse coding method capable of saving coding bits.
  • a pulse coding method comprising: acquiring pulses to be encoded on T tracks, T is an integer greater than or equal to 2; separately counting the pulses to be coded on each track according to the position, and obtaining the number of pulse positions on each track N t , the distribution of the pulse position on the track and the number of pulses at each pulse position, where the subscript t represents the tth track, te [0, T-1]; according to the number of pulse positions on each track ⁇ ⁇ , ⁇ ., ⁇ ⁇ determines the first index II, the first index corresponds to the number of pulse positions it represents, and all the possible distributions of the pulse positions on each track; respectively, according to each track
  • the distribution of the pulse positions determines a second index I2 t of each track, the second index indicating a distribution corresponding to the distribution of the current pulse position on the corresponding track from all possible distributions corresponding to the first index; respectively, according to each track has the number of pulses on each pulse positions of each track to determine the third index I3
  • Another pulse coding method includes: acquiring pulses that need to be encoded on T tracks, T is an integer greater than or equal to 2; separately counting the pulses that need to be coded on each track according to the position, and obtaining pulse positions on each track.
  • the number N t the distribution of the pulse position on the track and the number of pulses at each pulse position, wherein the subscript t represents the tth track, te [0, T-1]; respectively, according to the pulse position on each track
  • the number determines a first index lit of each track, the first index corresponds to the number of pulse positions it represents, and all the possible distributions of the pulse positions on the track; Determining a second index I2 t of each track according to a distribution of pulse positions on each track, the second index indicating a distribution of the current pulse position on the track from all possible distributions corresponding to the first index Corresponding distribution situation; determining a third index I3 t of each track according to the number of pulses at each pulse position on each track; generating
  • Embodiments of the present invention also provide a pulse decoding method corresponding thereto and a corresponding pulse encoder and decoder.
  • the codebook space that is idle in the case of single track coding can be combined at the time of joint coding, and becomes a coded bit that can be saved, and
  • the pulses that need to be encoded are combined according to the position, and the number of pulse positions, the distribution of the pulse position on the track, and the number of pulses at each pulse position are respectively coded, thereby avoiding the separate pulses of the same position. Encoding makes the coding bits more economical.
  • FIG. 1 is a schematic flow chart of an encoding method according to an embodiment of the present invention.
  • Embodiment 2 is a schematic diagram of pulse position mapping in Embodiment 1 of the present invention.
  • FIG. 3 is a schematic flowchart of a coding method according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic flow chart of a third encoding method according to an embodiment of the present invention.
  • Embodiment 4 is a schematic diagram of superposition of orbital pulses in Embodiment 4 of the present invention.
  • FIG. 6 is a schematic diagram of a track index of a pulse distribution in Embodiment 4 of the present invention.
  • FIG. 7 is a schematic flowchart of a decoding method according to Embodiment 5 of the present invention.
  • FIG. 8 is a schematic flowchart of a decoding method according to Embodiment 6 of the present invention.
  • FIG. 9 is a schematic flowchart of a decoding method according to Embodiment 7 of the present invention.
  • FIG. 10 is a schematic diagram showing the logical structure of an eighth encoder according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram showing the logical structure of a decoder of a ninth embodiment of the present invention.
  • Embodiments of the present invention provide a pulse coding method, which is a coding bit saved by jointly coding two or more tracks.
  • the embodiment of the invention also provides a corresponding pulse decoding method and pulse codec Device. The details are described below separately.
  • the position and symbol (if involved) information of all the pulses on each track are obtained, and the information needs to be completely transmitted to the decoding end, so that the position of all the pulses can be uniquely recovered at the decoding end. And symbols (if involved) information, and in order to minimize the bit rate, it is desirable to use as few bits as possible to pass this information.
  • the number of combinations of all pulse positions and symbols (if any) on the same orbit is the minimum value of the codebook space, and the corresponding number of coded bits is the theoretical lower limit.
  • the total number of positions on the track and the total number of pulses are constant.
  • the number of combinations of all pulse positions and symbols is not always an integer power of 2, so the coding
  • the theoretical lower limit value of the number of bits is not always an integer.
  • the actual number of coded bits of the single track code is at least one integer part of the theoretical lower limit value, which makes it inevitable that the partial codebook space is idle.
  • Table 1 shows the theoretical lower limit value of the number of coded bits and the free space in the case where the total number of pulses to be coded W is 1-6 on a track with a total number of positions of 16.
  • the present invention proposes to jointly encode two or more tracks, so that it is idle in single track coding.
  • the codebook space can be merged, and once the combined free space is sufficient, one actual coded bit can be reduced.
  • K > l / (l-kk)
  • kk is a monorail
  • a track with kk less than 0.5 for example, a track with a total number of pulses of 3, 4, and 5 in Table 1
  • different types of track joint coding can achieve the same effect, as long as the sum of kk of the two tracks is less than 1, or the sum of kk of the three tracks is less than 2, one bit can be saved, obviously if three tracks The sum of kk accumulated less than 1 saves 2 bits, and so on.
  • Table 2 gives a comparison of the same type of 2 track joint coding and single track coding (taking into account the pulse signed), the total number of positions on the track is 16, and the total number of pulses to be coded is 3-5.
  • Table 3 shows the comparison of different types of 2-3 track joint coding and single track coding (considering the pulse signed), the total number of positions on the track is 16, and the total number of pulses to be coded is 3-5.
  • Embodiment 1 A pulse coding method, as shown in FIG. 1, includes:
  • the total number of pulses on each track of the joint encoding may be the same or different.
  • the pulses to be coded on each track are respectively counted according to the position, and the number N t of pulse positions on each track, the distribution of pulse positions on the track, and the number of pulses at each pulse position are obtained.
  • p t (n) denotes the position number of the pulse position on the tth orbit, ne [0, N t - 1] ,
  • M t is represented in this paper
  • the total number of positions on the t-th track, generally M t may be 8, 16, etc., and the total number of positions on each track of the joint coding may be the same or different.
  • the pulse that needs to be encoded may also have a symbol, that is, it has a positive or negative characteristic. At this time, when the pulse to be encoded on the track is counted according to the position, it is also necessary to obtain the pulse symbol information of each pulse position. :
  • s t (n) represents the pulse symbol at the position p t (n), called p t (n)
  • the pulse symbol is not a necessary feature. According to the actual needs, the pulse can have only the position and quantity characteristics, and it is not necessary to count the pulse symbol information at this time.
  • the two correspondences can be selected according to the specific characteristics of the parameters. Generally speaking, in the case of a large amount of data, it is more advantageous to design a correspondence relationship represented by a calculation relationship to save the storage amount of both the codec and the decoding.
  • the encoding of each parameter is described below.
  • A3. Determine the first index II according to the number of pulse positions ⁇ , ⁇ ., ⁇ ⁇ on each track.
  • the first index II corresponds to the number of pulse positions it represents, and all the pulse positions on each track Possible distribution.
  • the total number of combined tracks T will not be too large, so that the total number of possible cases of ⁇ N Q , Ni, ... , Nw ⁇ combination is not 4 ⁇ , so ⁇ 0 , ⁇ . , ⁇ ⁇ combination and first
  • the corresponding calculation of the index II or the query relationship is feasible.
  • ⁇ N Q , N 1 ... , Nw ⁇ combinations and II they generally have a one-to-one correspondence with II, that is, a first index and a ⁇ N 0 , N 1 .. . , Nw ⁇ combination corresponds.
  • pos- num t N t value determined P t (N t) the total number of all possible cases W t (N t), Wt (N t) , "C" indicates finding Combination number; therefore one II corresponds to PW
  • N T values of a certain track correspond to fewer P T (N T ) cases
  • these N T values can be combined to correspond to the same II, that is, at least one II and more than two ⁇ N
  • the combination of Q , N 1 ... and Nw ⁇ corresponds to the combination of ⁇ N 0 , N 1 ... , Nw ⁇ corresponding to the same II by an additional additional index, that is, with an additional index 3 ⁇ 4 II and further determines a corresponding value of N T not only track the current value of N T.
  • Different II can be regarded as a classification index of the joint coding of the track, which divides the entire joint coded codebook space into several parts according to the combination of the number of pulse positions of the respective tracks.
  • Table 4 shows a combined classification scheme for 3-pulse 2-track joint coding. There are 3 ⁇ 3 kinds of N T value combinations, and each combination corresponds to one classification (II), assuming that the total position M T of the orbit is 16.
  • Table 5 shows a combined classification scheme for 4-pulse 2-track joint coding. There are a total of 44 combinations of N T values, and each combination corresponds to one classification (II), assuming that the total number of positions M T on the orbit is 16. Track 0 track 1
  • the second index I2 t is determined in accordance with the distribution of each track P t (N t) of each pulse position on the track, all possible distributions corresponding to the second index I2 t II from the first index, the indicated corresponding track The distribution of the distribution corresponding to the current pulse position.
  • the N t value that determines the range of the I2 t is determined by the first index II combined with the additional index.
  • p t (n) denotes the position number of the nth pulse position on the orbit, ne[0, N t _l], p t (0) e [0, M t — N t ], p t (n ) e[p t (nl)+l, M t — N t + n], p t (0) ⁇ p t (l) ⁇ ... ⁇ p t (N t - 1), or p t (0) > p t (l) > ... > p t (N t - 1).
  • the second index I2 t of each track can be obtained by the calculation relationship. Since I2 t occupies a large amount of data in the coding index, the calculation method can minimize the storage amount of both sides of the codec. At the same time, since I2 t is continuously coded and strictly corresponds to P t (N t ), it is possible to make maximum use of coded bits and avoid waste.
  • the principle of the calculation method and the specific derivation and description please refer to the Chinese patent application with the publication number CN101295506 (the publication date is October 29, 2008), in particular, the 13th page to the 15th page of the specification of the application document. Line 9 (Embodiment 2, Figures 14, 15), the corresponding decoding calculation method can be found on page 16 of the specification of the application document, line 23 to page 17, line 12 (Embodiment 4).
  • A5. Determine a third index I3 t of each track according to the number of pulses SU t (N t ) at each pulse position on each track.
  • the value of t and ⁇ is usually not large, generally 1 ⁇ 6, so the total possible number of SU t (N t ) is not large, and the corresponding calculation relationship or query relationship with the third index I3 t is feasible.
  • I3 t can be Any value considered to not affect the final encoding index generation.
  • the case where there are ⁇ pulses at N t pulse positions is mapped to the case where there are W _ N t pulses at N t positions, where ⁇ indicates that coding is required on the t-th track.
  • the number of pulses is decremented by 1 (because there is at least 1 pulse per position) to get ⁇ 0, 1, 0, 1 ⁇ , that is, the information of SU t (N t ) is mapped to the coding situation of 2 pulses and 4 positions.
  • a calculation formula embodying the above calculation method is:
  • h l
  • q(h) represents the position number of the h+1th pulse, he [0, A i t -l], q(h)e [0, N t - 1], q(0) q(l) ... q(A ⁇ - 1), or q(0) > q(l) >... q(A ⁇ V[- 1)
  • denotes summation.
  • A6 Generate a total coding index Ind of T tracks, and the coding index Ind includes information of the first index II and the second and third indexes I2 t and I3 t of the respective tracks.
  • N t values of the respective pos- num t II determines the range indicated by I2 t and I3 t, i.e., determine the I2 t and The number of coded bits required for I3 t (in the case of the case, also determines the number of coded bits required for Is t ), so the code index can be constructed in the following way:
  • I2 t , I3 t can be placed in any way that can be recognized by the decoder, for example, the simplest, can be stored separately. Since I2 t and I3 t can not be expressed as an integer power of 2, in order to save coding bits as much as possible, the t-th track I2 t and I3 t can be combined into the following range to be placed in the value range delimited by II. In the allocated part:
  • I2 t and I3 t are all coded from 0, I2 t e[0, W t (N t )-1], I3 t G [0, Class(N t ) - 1], Class(N t ) Is the total possible number of SU t (N t ).
  • this method is equivalent to dividing the value range assigned from II into Class(N t ) parts of length W t (N t ), each part corresponding to a distribution of SU t (N t ).
  • each Index (t) also need to include information of each pulse symbol index s t (n), e.g., symbol index Is t-th tracks may be t
  • a field of length N t is placed at a fixed position in the range of values assigned to the track from II, such as the end, at this time,
  • Index(t) (I2 t + I3 t ) ⁇ 2 Nt + Is t (for a track unique to the N t value corresponding to the first index), or,
  • a general coding index of T tracks can be expressed as:
  • Ind 11 + Index(T - 1) + I ( ⁇ -1) ⁇ ⁇ ... ⁇ ⁇ Index(2) + I (2) ⁇ [Index(l) + I (1) lndex(O)] ⁇ .. .
  • Index(t) represents the upper limit of Index(t) and " ⁇ " represents the product.
  • Index(t) can be separated one by one by using the method of I max (t), for example, taking (Ind - II ) to I max (T - 1) to obtain Index(T - 1), subtracting - (II Ind) continue from the Index I max (T - 2) after - - (1 T) modulo obtained Index (T - 2) (T 1) divided by I max, and so on, until Get lndex(0).
  • Embodiment 2 A pulse coding method.
  • each track of the joint coding is respectively calculated into a respective index, and then combined into an encoding index, as shown in FIG. 3, including the steps:
  • T is an integer greater than or equal to 2.
  • the pulses to be coded on each track are respectively counted according to the position, and the number of pulse positions N t on each track, the distribution of the pulse position on the track, and the number of pulses at each pulse position are obtained.
  • Steps B1 and B2 can be performed by referring to steps A1 and A2 of the first embodiment.
  • Steps B3-B5 can be performed by referring to steps A1 and A2 of the first embodiment, and the process of obtaining the indexes of the respective tracks is respectively referred to the Chinese patent application with the publication number CN101295506 (the disclosure date is October 29, 2008), especially The application document specification page 6 page 13 to page 15 line 9 (Embodiment 1, Example 2), the corresponding decoding calculation method can be found in the application document specification page 15 page 11 to page 17 12 (Example 3, Example 4).
  • Ind coding index comprises a first, second and third indices of each track Il t, I2 t, I3 t of information.
  • Il t , I2 t , I3 t and the symbol index Is t can be placed into the encoding index in any way that can be recognized by the decoder, for example, the simplest, can be stored separately in a fixed field.
  • it is also possible to combine, for example, to combine the indexes of the respective tracks and then superimpose them, that is, construct the coding index as follows: Ind Index(O) x ⁇ (t) + Index(l) x ⁇ (t ) + ... + Index(T - 1)
  • Embodiment 3 A pulse coding method, which is a method for further saving coding bits based on Embodiment 1 or 2.
  • the encoding index of the pulse encoding method in this embodiment may be performed by referring to the first or second method. After the encoding index Ind is generated, the following operations are performed. As shown in FIG. 4, the method includes:
  • I max (T) represents the upper limit value of Ind
  • Bmax represents the upper limit value of the number of bits used to encode the encoding index. If Ind is smaller than THR, the process proceeds to step C2, otherwise, the process proceeds to step C3.
  • the adjustment threshold THR can be set smaller than 208666624 to save more bits, but the probability of a bit-saving situation can be greatly reduced, which can be balanced.
  • Embodiment 4 A pulse coding method, this embodiment proposes a new track joint coding method from a different perspective from Embodiments 1 and 2.
  • the pulse position distribution for each track is required.
  • the present embodiment adopts a new idea, that is, the respective tracks of the joint coding are overlapped into one track, and the pulse distribution information is superimposed. For example, as shown in Figure 5, two 3 pulse tracks are superimposed into one 6-pulse track (assuming the number of positions of each track is 16), and then
  • the distribution index of the superimposed track is calculated, for example, the combination of Il t , I 2 t , I 3 t and Is t described in the second embodiment can be used.
  • the track index is prepared.
  • the 3-position 6 pulse obtained by superimposing in FIG. 5 corresponds to different track distribution situations, and different track indexes may be used to respectively represent the corresponding situation
  • FIG. 6 Medium “0" represents the pulse on track
  • "X" represents the pulse on track 1.
  • the joint coding method in this embodiment can also save coding bits as in the first embodiment and the second embodiment, and can also be used in combination with the third embodiment to achieve further saving of coded bits.
  • Embodiment 5 A pulse decoding method, the decoding method provided in this embodiment decodes the encoding index obtained by the encoding method according to the first embodiment, and the decoding process is the reverse process of the encoding process. As shown in FIG. 7, the method includes:
  • Extracting the information of each index from Ind can be performed in the reverse of the process of combining the indexes into Ind when encoding. For example, if each index is stored in a separate field, it can be extracted separately.
  • Ind ⁇ uses the structure provided by the first embodiment to superimpose other indexes with II as the starting value, then II may be extracted first, and each combination of ⁇ N Q , Ni, ..., N T _ corresponding to II will be used.
  • the index (t) of the track is separated from Ind.
  • the decoding party can determine the range of values to which Ind belongs from the set number of independent value ranges, according to the value of the belonging.
  • the starting value corresponding to the range determines the first index II.
  • I2 t Index(t) % W t (N t )
  • I3 t Int[Index(t) / W t (N t )] , where % indicates The remainder, Int means rounding.
  • the additional index 3 ⁇ 4 may be determined according to the starting value corresponding to the value range to which the Index(t) belongs, and after the separation, the I2 t is further extracted according to the determined N t value, I3 t and Is t (if involved).
  • Decoding I2 t ⁇ uses the reverse process of encoding I2 t . If I2 t is obtained by using the computational relationship during encoding, then In the decoding, the same calculation relationship can be used for the inverse operation; if I2 t is obtained by using the query relationship during encoding, the same correspondence can be queried during decoding.
  • the pulse sequence on the track is reconstructed according to the distribution P t (N t ) of the pulse position on the track and the number of pulses SU t (N t ) at each pulse position.
  • Embodiment 6 is a pulse decoding method.
  • the decoding method provided in this embodiment decodes the encoding index obtained by the encoding method according to the second embodiment.
  • the decoding process is the reverse process of the encoding process. As shown in FIG. 8, the method includes:
  • EL, Ind obtain the coding index, extracted from the coding index in the first index Ind Il t of each track, respectively, for each track, the pulse position is determined to follow a first index number N t Il t.
  • the decoder can directly determine the total number of pulses on each track according to the length (number of bits) of the coding index ⁇ ), the upper limit value I max (t) of Index(t) is determined, so the Index(t) of each track can be directly separated from Ind, and then I t and corresponding are determined according to the value range of Index(t) N t .
  • the second index I2 t and the third index I3 t of each track are extracted from the encoding index Ind. That is, I2 t and I3 t are separated from Index(t), and can be performed by referring to step D2 of the fifth embodiment. If a pulse symbol is involved, Is t can be further separated.
  • the pulse sequence on the track is reconstructed according to the distribution P t (N t ) of the pulse position on the track and the number of pulses SU t (N t ) at each pulse position.
  • Steps E3-E5 can be performed by referring to steps D3-D5 of the fifth embodiment.
  • Embodiment 7 A pulse decoding method, the decoding method provided in this embodiment corresponds to the third encoding method, and the code stream of the third variable length encoding is decoded to obtain a coding index.
  • the value decoded by the first number of coded bits is used as the coding index Ind.
  • the number of extracted coded bits is increased to a second number, and the offset value THR Q is subtracted from the decoded value of the second number of coded bits as the coding index Ind.
  • the encoding index Ind can be further decoded according to the decoding method of Embodiment 5 or 6.
  • Embodiment 8 A pulse encoder 10 is provided.
  • the encoder provided in this embodiment can be used to perform the coding method of the first embodiment. As shown in FIG. 10, the method includes:
  • the pulse statistic unit 101 is configured to acquire pulses to be encoded on T tracks, T is an integer greater than or equal to 2, and respectively perform statistics on the pulses to be coded on the respective tracks according to positions, and obtain the number of pulse positions on each track.
  • t the distribution of the pulse position in the orbit and the number of pulses at each pulse position, wherein the subscript t represents the tth track, te [0, T-1];
  • the index calculation unit 102 includes:
  • the first index unit 1021 is for following the number of pulse positions ⁇ N on each track. , NI, ..., Nw ⁇ output first index II, II corresponds to the number of pulse positions it represents, and all possible distributions of pulse positions on each track;
  • a second indexing unit 1022 configured to output a second index I2 t of each track according to a distribution of pulse positions on each track, and I2 t indicates that the corresponding track has a current pulse position from all possible distributions corresponding to II. Distribution of the corresponding distribution;
  • a third index unit 1023 configured to output a third index I3 t of each track according to the number of pulses at each pulse position on each track;
  • the index combining unit 103 is configured to combine the first index II and the information of the second and third indexes I2 t and I3 t of the respective tracks to generate a coding index Ind.
  • the index calculation unit 102 may further include an additional index unit 1024 (shown by a dashed box in FIG. 10) And for determining, for a track that is not unique to the N t value corresponding to the first index, determining an additional index 3 ⁇ 4 corresponding to the number of current pulse positions on the track, the additional index corresponding to the number of pulse positions it represents , the orbit has all possible distributions of pulse positions.
  • the index combining unit 103 also combines the information of the additional index 3 ⁇ 4 into the encoding index Ind.
  • the pulse encoder 10 of the present embodiment may further include a coded bit adjustment unit 104 (shown by a broken line in FIG. 10) for After the index combining unit 103 generates the encoding index, the encoding index Ind and the adjustment threshold value THR are compared, where
  • I max (T) represents the upper limit value of Ind
  • Bmax represents the upper limit value of the number of bits used to encode the coding index
  • Embodiment 9 is a pulse decoder 20.
  • the decoder provided in this embodiment may be used to perform the fifth embodiment decoding method. As shown in FIG. 11, the method includes:
  • a first extracting unit 201 configured to acquire an encoding index Ind, and extract a first index from the encoding index
  • a second extracting unit 202 configured to extract a second index I2 t and a third index I3 t of each track from the encoding index Ind;
  • a first decoding unit 203 configured to determine, according to the second index I2 t , for each track, respectively, that the pulse position is distributed on the track under the number of pulse positions corresponding to the first index;
  • a second decoding unit 204 configured to determine, according to the third index I3 t , the number of pulses at each pulse position for each track respectively;
  • the pulse reconstruction unit 205 is configured to reconstruct a pulse sequence on the track for each track according to the distribution of the pulse position on the track and the number of pulses at each pulse position.
  • the decoder of this embodiment may further include:
  • An additional extraction unit 206 (shown in phantom in FIG. 11) for extracting an additional index 3 ⁇ 4 corresponding to the number of current pulse positions on the track for tracks that are not unique to the N t value corresponding to the first index,
  • the additional index corresponds to the number of pulse positions it represents, with all possible distributions of pulse positions on the track.
  • the second extracting unit 202 extracts the second index I2 t and the third index I3 t of the track based on the number of current pulse positions on the respective tracks determined by the additional index extracted by the additional extracting unit 206.
  • the pulse decoder 20 of the present embodiment may further include a decoding bit adjusting unit 207 (shown by a broken line in FIG. 11). Extracting a first number of coded bits from the coded code stream, if the decoded value of the first number of coded bits is less than the adjustment threshold value THR, the value decoded by the first number of coded bits is output as the code index Ind, otherwise And increasing the number of extracted coded bits to the second number, and subtracting the offset value THR Q from the decoded value of the second number of coded bits as the coded cable I Ind output.
  • a decoding bit adjusting unit 207 shown by a broken line in FIG. 11

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种脉冲编解码方法及脉冲编解码器,通过将两个以上的轨道联合进行编码,使得在单个轨道编码的情况下空闲的码书空间能够在联合编码时合并,成为可以被节省的编码比特,此外,对各个轨道上需要进行编码的脉冲按照位置进行合并,分别对有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目进行编码,避免了对同一位置的多个脉冲进行分别编码,使得编码比特更加节省。

Description

脉冲编解码方法及脉冲编解码器
本申请要求于 2010 年 6 月 24 日提交中国专利局、 申请号为 201010213451.5、 发明名称为 "脉冲编解码方法及脉冲编解码器" 的中国专利 申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及脉冲编解码方法及脉冲编解码器。
背景技术
在矢量编码技术中,常常使用代数码书对自适应滤波后的残差信号进行量 化编码。 当经过搜索获得轨道上最佳代数码书脉冲的位置和符号信息后,通过 编码计算得到相应的索引值,使得解码端能够根据该索引值重建脉冲序列。在 保证无损重建的前提下,尽量减少编码索引值所需要的比特,是代数码书脉冲 编码方法研究与发展的主要目标之一。
下面以语音编码中一种较优的编码方法——宽带自适应多码率 ( AMR WB +: Adaptive Multi-Rate Wideband )编码方法为例, 说明现有代数 码书脉冲所釆用的一种具体编码方法。根据编码码率的不同,在每个轨道上可 以编码 1~N个脉冲, 叚定每个轨道有 M = 2""个位置, AMR— WB +中每个轨道 上编码 1~6个脉冲的过程分别描述如下:
①每个轨道编码 1个脉冲
由于每个轨道有 2m个位置, 因此, 每个轨道上脉冲的位置索引需要用 m 个比特进行编码, 脉冲的符号索引需要用 1比特编码。编码 1个带符号脉冲的 索引值为:
Figure imgf000002_0001
其中 ρ ζ [0 , 2m - l]为脉冲的位置索引; s为脉冲的符号索引, 当脉冲符号为正 时, s设置为 0 , 当脉冲符号为负时, s设置为 1 ; Ilp G [0 , 2m+1 - l]。
每个轨道编码 1个脉冲所需的比特数为: m + 1。
②每个轨道编码 2个脉冲
根据①的结果, 每个轨道编码 1个脉冲需要 m + 1个比特, 对另一个脉冲 的位置索引进行编码需要 m个比特, 由于对脉冲顺序没有特别要求, 可通过 排列脉冲位置索引获得的大小关系来表示另一个脉冲的符号。编码 2个脉冲的 索引值为:
I2p(m) = pl + Ilp0 x 2m 1 + P0 x 2m + s x 22m
其中 p0、 pi G [0, 2m - 1]分别为 2个脉冲的位置索引; s为 pO脉冲的符号索引; pi脉冲符号的具体表示规则为: pO < pi表示 2个脉冲符号相同, pO > pi表示 2个脉冲符号相反; l2pe[0, 22m+1-l]。
每个轨道编码 2个脉冲所需的比特数为: 2m + 1。
③每个轨道编码 3个脉冲
将每个轨道分为两个部分: Section A和 Section B, 每个部分各包含 2"^ 个位置。 某个部分中至少包含 2个脉冲, 根据②的结果, 编码该部分需要 2 X (m- l)+ l =2m- 1个比特; 另一个脉冲则在整个轨道上搜索,根据①的结果, 需要 m+ 1个比特; 此外, 还需要用 1个比特来指示包含 2个脉冲的部分。 编 码 3个脉冲的索引值为:
I3p(m) = I2p(m - l) + kx 22mA + Ilp(m) x 22m
其中 k为 Section的索引; I3pe[0, 23m+1 - 1]。
每个轨道编码 3个脉冲所需的比特数为: 3m + 1。
④每个轨道编码 4个脉冲
将每个轨道分为两个部分: Section A和 Section B, 每个部分各包含 2"^ 个位置。 各部分中包含脉冲个数的组合情况如下表所示:
Figure imgf000003_0001
上表中, 各个类别对应的需要比特数的依据为: 对于类别 0和类别 4, 在 有 4 个脉冲的部分中釆用类似③的方法, 只是进行整体搜索的脉冲数目为 2 个, 相当于 I2p(m- 2) + kx22m-3 + I2p(m- l)x22m-2; 对于类别 1, 相当于 Ilp(m -1) + I3p(m-I)x2m; 对于类别 2, 相当于 I2p(m- 1) + I2p(m- l ?2"11; 对于 类别 3 , 相当于 I3p(m - 1) + Ilp(m - 1) x 23m2
将类别 0和类别 4看作一种可能的情况,类别 1~3各作为一种情况, 则总 共有 4种情况, 因此需要用 2个比特来表示对应的情况, 则类别 1~3都需要 4m- 2 + 2 = 4m个比特; 此外, 对于包含类别 0和类别 4的情况, 还需要用 1 个比特来区分, 因此类别 0和类别 4需要 4m- 3 + 2 + 1 =4m个比特。
每个轨道编码 4个脉冲所需的比特数为: 4m。
⑤、 每个轨道编码 5个脉冲
将每个轨道分为两个部分: Section A和 Section B, 每个部分各包含 2"^ 个位置。 某个部分中至少包含 3个脉冲, 根据③的结果, 编码该部分需要 3 X (m- 1)+ 1 =3m- 2个比特; 剩下两个脉冲则在整个轨道上搜索, 根据②的结 果, 需要 2m+ l个比特; 此外, 还需要用 1个比特来指示包含 3个脉冲的部 分。 编码 5个脉冲的索引值为:
I5p(m) = I3p(m - l) + kx 23m-2 + Ilp(m) x 23m
每个轨道编码 5个脉冲所需的比特数为: 5m。
⑥每个轨道编码 6个脉冲
将每个轨道分为两个部分: Section A和 Section B, 每个部分各包含 2"^ 个位置。 各部分中包含脉冲个数的组合情况如下表所示:
Figure imgf000004_0001
上表中, 各个类别对应的需要比特数的依据可仿照④推算, 不再赘述。 分别将类别 0和 6、 类别 1和 5、 类别 2和 4各看作一种可能的情况, 类 别 3单独作为一种情况, 则总共有 4种情况, 因此需要用 2个比特来表示对应 的情况, 则类别 3需要 6m - 4 + 2 = 6m - 2个比特; 对于那些包含合并类别的 情况, 还需要用 1个比特来区分, 因此除类别 3外的其他类别需要 6m - 5 + 2 + 1 = 6m - 2个比特。
每个轨道编码 6个脉冲所需的比特数为: 6m - 2。
在提出本发明的过程中, 发明人发现, AMR— WB +提供的代数脉冲编码 方法, 釆用类似递归的编码逻辑, 将编码脉冲数量较多的情况拆分为若干个编 码脉冲数量较少的情况来处理, 计算复杂度较大, 同时, 随着轨道上编码脉冲 数目的增加, 编码索引的冗余度将逐渐累加, 容易造成编码比特的浪费。 发明内容
本发明实施例提供能够节省编码比特的脉冲编码方法。
一种脉冲编码方法, 包括: 获取 T个轨道上需要编码的脉冲, T是大于或 等于 2的整数; 分别对各个轨道上需要编码的脉冲按照位置进行统计, 获得各 个轨道上有脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置 上的脉冲数目, 其中下标 t表示第 t个轨道, t e [0, T-1]; 按照各个轨道上有脉 冲位置的数目 {Νο, Ν^. , Ν }确定第一索引 II , 所述第一索引对应于其所代表 的有脉冲位置的数目下, 各个轨道上有脉冲位置全部可能的分布情况; 分别按 照各个轨道上有脉冲位置的分布确定各个轨道的第二索引 I2t,所述第二索引从 所述第一索引对应的全部可能的分布情况中,指示相应轨道上与当前有脉冲位 置的分布对应的分布情况;分别按照各个轨道上各个有脉冲位置上的脉冲数目 确定各个轨道的第三索引 I3t; 生成编码索引 Ind, 所述编码索引包括第一索引 和各个轨道的第二、 三索引的信息。
另一种脉冲编码方法, 包括: 获取 T个轨道上需要编码的脉冲, T是大于 或等于 2的整数; 分别对各个轨道上需要编码的脉冲按照位置进行统计, 获得 各个轨道上有脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位 置上的脉冲数目, 其中下标 t表示第 t个轨道, t e [0, T-1]; 分别按照各个轨道 上有脉冲位置的数目确定各个轨道的第一索引 lit,所述第一索引对应于其所代 表的有脉冲位置的数目下, 该轨道上有脉冲位置全部可能的分布情况; 分别按 照各个轨道上有脉冲位置的分布确定各个轨道的第二索引 I2t,所述第二索引从 所述第一索引对应的全部可能的分布情况中,指示该轨道上与当前有脉冲位置 的分布对应的分布情况;分别按照各个轨道上各个有脉冲位置上的脉冲数目确 定各个轨道的第三索引 I3t; 生成编码索引 Ind, 所述编码索引包括各个轨道的 第一、 二、 三索引的信息。
本发明实施例还提供与之相应的脉冲解码方法以及相应的脉冲编码器和 解码器。
本发明实施例中, 通过将两个以上的轨道联合进行编码,使得在单个轨道 编码的情况下空闲的码书空间能够在联合编码时合并,成为可以被节省的编码 比特, 此外, 对各个轨道上需要进行编码的脉冲按照位置进行合并, 分别对有 脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目 进行编码,避免了对同一位置的多个脉冲进行分别编码,使得编码比特更加节 省。
附图说明
图 1是本发明实施例一编码方法流程示意图;
图 2是本发明实施例一中脉冲位置映射示意图;
图 3是本发明实施例二编码方法流程示意图;
图 4是本发明实施例三编码方法流程示意图;
图 5是本发明实施例四中轨道脉冲叠加示意图;
图 6是本发明实施例四中脉冲分布的轨道索引示意图;
图 7是本发明实施例五解码方法流程示意图;
图 8是本发明实施例六解码方法流程示意图;
图 9是本发明实施例七解码方法流程示意图;
图 10是本发明实施例八编码器逻辑结构示意图;
图 11是本发明实施例九解码器逻辑结构示意图。
具体实施方式
本发明实施例提供脉冲编码方法,通过将两个以上的轨道联合进行编码来 节省的编码比特。 本发明实施例还提供相应的脉冲解码方法以及脉冲编解码 器。 以下分别进行详细说明。
在语音编码器中, 经过码书搜索得到每个轨道上所有脉冲的位置和符号 (若涉及)信息, 这些信息需要被完整的传递到解码端, 使得在解码端能够唯 一的恢复所有脉冲的位置和符号(若涉及)信息, 同时为了尽量的降低比特率, 期望使用尽量少的比特来传递这些信息。
通过理论分析可知, 同一轨道上所有脉冲位置和符号(若涉及)的排列组 合数即为码本空间的最小值,对应的编码比特数即为理论下限值。轨道上的位 置总数以及脉冲总数是一定的,对于轨道上的位置总数以及脉冲总数的不同取 值情况而言, 所有脉冲位置和符号的排列组合数并不总是 2的整数次幂, 因此 编码比特数的理论下限值并不总是整数, 此时,单轨道编码的实际编码比特数 至少为理论下限值的整数部分加 1 , 这使得不可避免的出现部分码本空间的空 闲。 例如, 表 1给出了在位置总数为 16的轨道上, 需要编码的脉冲总数 W为 1-6 的情况下, 编码比特数的理论下限值 际下限值以及空闲空间的情况。
Figure imgf000007_0001
Figure imgf000007_0002
从表 1可以看出, 大多数情况下, 实际下限值仍会带来码本空间的较大浪 费, 因此本发明提出, 对两个以上的轨道进行联合编码, 这样在单轨道编码中 空闲的码本空间就可以合并, 一旦合并的空闲空间足够, 即可降低 1个实际编 码比特。显然,对于同样类型(轨道上的位置总数和脉冲总数均相同)的轨道, 只要将 K个轨道联合编码即可节省 1个编码比特, K > l / (l-kk), 其中 kk为单轨 道编码的理论下限值的小数部分。 举例而言, kk小于 0.5的轨道, 例如, 表 1中 脉冲总数为 3、 4、 5的轨道, 2个一起联合编码即可节省 1个编码比特, 表 1中脉 冲总数为 6的轨道, 3个一起联合编码即可节省 1个编码比特。 当然, 不同类型 的轨道联合编码也可以达到同样的效果, 只要 2个轨道的 kk累加之和小于 1 , 或 者 3个轨道的 kk累加之和小于 2即可节省一个比特, 显然若 3个轨道的 kk累加之 和小于 1更可节省 2个比特, 以此类推。表 2给出了同类型 2轨道联合编码与单轨 道编码的比较情况(考虑脉冲有符号), 轨道上的位置总数为 16, 需要编码的 脉冲总数 为 3-5。
Figure imgf000008_0001
Figure imgf000008_0002
表 3给出了不同类型 2-3轨道联合编码与单轨道编码的比较情况(考虑脉冲 有符号), 轨道上的位置总数为 16, 需要编码的脉冲总数 为 3-5。
表 3 联合 单轨道排列组合 单轨道编码实际 轨道联合编码实 ί
模式 数 下限值 际下限值
2轨道 3 5472 13
28 联合 4 44032 16
2轨道 4 44032 16
34 联合 5 285088 19
3 5472 13
3轨道
4 44032 16 47 联合
5 285088 19 以上给出了多轨道联合编码节省比特数的理论分析, 为达到该理论效果, 需要使编码索引尽可能有效的使用码本空间,下面分别以具体实施例给出实现 多轨道联合编码的实际比特下限值的编码方法。 实施例一、 一种脉冲编码方法, 如图 1所示, 包括:
Al、 获取 T个轨道上需要编码的脉冲, T是大于或等于 2的整数。
T个轨道中每个轨道上需要编码的脉冲总数通常根据码率来确定, 需要编 码的脉冲数目越多, 显然编码索引需要的比特数也越多, 码率越高, 本文中, 以 pulse— numt表示第 t个轨道上需要编码的脉冲总数, 假设 pulse— numt = ^, t G
[0, T-l] ; 联合编码的各个轨道上的脉冲总数可以相同也可以不同。
Α2、 分别对各个轨道上需要编码的脉冲按照位置进行统计, 获得各个轨 道上有脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的 脉冲数目。
本文中:
以 pos— numt表示第 t个轨道上有脉冲位置的数目,由于 ^个脉冲在轨道上的 分布可能出现位置重叠, 假设 pos— numt = Nt, 显然有 Nt e [l , ^]。
以脉冲位置矢量 Pt(Nt) = {pt(0), pt(l), pt(Nt - 1)}表示第 t个轨道上有脉 冲位置在轨道上的分布; 其中, pt(n)表示有脉冲位置在第 t个轨道上的位置序 号, n e [0, Nt - 1] , pt(n) G [0, Mt - 1] , Mt在本文中表示第 t个轨道上的位置总 数, 一般 Mt可以为 8 , 16等等, 联合编码的各个轨道上的位置总数可以相同也 可以不同。
以脉冲数目矢量 SUt(Nt) = {sut(0), sut(l), sut(Nt - 1)}表示第 t个轨道上 的各个有脉冲位置上的脉冲数目; 其中, sut(n)表示 pt(n)位置的脉冲数目, 显然 有 sut(0) + sut(l) +… + sut(Nt _ 1) = ^。
此外, 需要编码的脉冲还可能带有符号, 即具有正或负的特性, 此时在对 轨道上需要编码的脉冲按照位置进行统计时,还需要获得各个有脉冲位置的脉 冲符号信息, 本文中:
以脉冲符号矢量 St(Nt) = { (0), st(l), ..· , st(Nt - 1)}表示第 t个轨道上的各 个有脉冲位置的脉冲符号信息;其中, st(n)表示 pt(n)位置的脉冲符号,称为 pt(n) 位置的符号索引, 基于 st(n)所代表的脉冲符号具有或正或负的二值性, 一般可 釆用如下简单的编码方式: 用 st(n) = 0表示正脉冲, st(n) = 1表示负脉冲。 当然, 对于需要编码的脉冲来说, 脉冲符号并不是必须具备的特征, 按照实际需要, 脉冲可以仅有位置和数量特性, 此时无需统计脉冲符号信息。
显然, Pt(Nt)、 SUt(Nt)、 St(Nt)中的值具有——对应的关系。
在统计获得轨道联合编码需要的各项参数 Nt、 Pt(Nt)、 SUt(Nt)、 St(Nt)后, 就需要将各项参数编码为索引, 建立参数与索引之间的对应关系,使得解码方 能够根据索引恢复出对应的参数。对应关系可以釆用两种表示方式,一是用代 数方式表示的计算关系, 这种情况下, 编码方对参数进行正向计算获得索引, 解码方则对索引进行反向计算获得参数; 一是用映射方式表示的查询关系, 这 种情况下, 编解码双方需要存储关联参数与索引的映射表。 两种对应关系可根 据参数的具体特点进行选择, 一般而言, 在数据量大的情况下, 尽量设计出以 计算关系表示的对应关系能够节省编解码双方的存储量, 是更为有利的。 下面 分别对各项参数的编码进行说明。
A3、 按照各个轨道上有脉冲位置的数目 {Νο, Ν^. , Ν }确定第一索引 II , 第一索引 II对应于其所代表的有脉冲位置的数目下,各个轨道上有脉冲位置全 部可能的分布情况。
T-1
{Νο, Ν^. , Ν }组合的可能情况总数为 Π Nt, 由于 Nt取值不大, 通常联 t=o
合编码的轨道总数 T也不会很大, 使得 {NQ, Ni, ... , Nw}组合的可能情况总数不 是 4艮大, 因此 {Ν0, Ν^. , Ν }组合与第一索引 II的对应釆用计算关系或查询关 系都是可行的。 在建立 {NQ, N1 ... , Nw}组合与 II的对应关系时, 一般可令他们与 II具有一 一对应的关系, 即一个第一索引与一个 {N0, N1 ... , Nw}组合对应。 pos— numt 的数值 Nt决定了 Pt(Nt)全部可能情况的总数 Wt(Nt), Wt(Nt) = , "C" 表示求 组合数;因此一个 II对应于
Figure imgf000011_0001
PW
t=o
Τ-1)}。
当然,若某个轨道的某些 NT值对应较少的 PT(NT)情况数,可以将这些 NT值组 合起来对应同一个 II ,即至少有一个 II与两个以上的 {NQ, N1 ... , Nw}组合对应, 此时需要通过额外的附加索引 对这些对应同一个 II的 {N0, N1 ... , Nw}组合进 行区分, 也就是用附加索引 ¾进一步确定与 II对应的 NT值不唯一的轨道当前的 NT值。
可以将不同的 II视为轨道联合编码的分类索引, 它根据各个轨道的脉冲位 置数组合将整个联合编码的码本空间划分为若干个部分。下面举例说明联合编 码的组合分类情况。 表 4为 3脉冲 2轨道联合编码的一种组合分类方案, 共有 3 χ 3种 NT值组合, 每种组合对应一个分类(II ), 假定轨道上的位置总数 MT均为 16。
Figure imgf000011_0002
Figure imgf000011_0003
表 5为 4脉冲 2轨道联合编码的一种组合分类方案, 共有 4 4种 NT值组合, 同样是每种组合对应一个分类 (II ), 假定轨道上的位置总数 MT均为 16。 轨道 0 轨道 1
分类 Pt(Nt)组合数
Nt Nt
1 4 4 1820 1820
2 4 3 1820 560
3 3 4 560 1820
4 3 3 560 560
5 4 2 1820 120
6 2 4 120 1820
7 3 2 560 120
8 2 3 120 560
9 4 1 1820 16
10 1 4 16 1820
11 2 2 120 120
12 3 1 560 16
13 1 3 16 560
14 2 1 120 16
15 1 2 16 120
16 1 1 16 16
表 6为 5脉冲 2轨道联合编码的一种组合分类方案, 与前面两例不同的是, 将 Nt = l、 2、 3的情形组合在一起进行分类, 共有 3 x 3种分类(II ), 某些分类 对应多个 Nt值组合, 假定轨道上的位置总数 Mt均为 16。
表 6 轨道 0 轨道 1
分类 Pt(Nt)组合数
Nt Nt
1 5 5 4368 4368 2 5 4 4368 1820
3 4 5 1820 4368
4 4 4 1820 1820
5 5 1、 2、 3 4368 (16 + 120 + 560)
6 1、 2、 3 5 (16 + 120 + 560) 4368
7 4 1、 2、 3 1820 (16 + 120 + 560)
8 1、 2、 3 4 (16 + 120 + 560) 1820
9 1、 2、 3 1、 2、 3 (16 + 120 + 560) (16 + 120 + 560) 由表 6可以看出, 通过将 Nt值(通常是对应位置组合数较少的 Nt值)组合 在一起进行分类, 可以有效减少总的联合编码分类数量(例如表 6中的分类数 为 9个, 远少于——对应情况下的分类数 25), 当然, 相应的需要在出现非唯一 Nt值的分类情形中使用额外的附加索引 ¾来确定当前 Nt值, 即在 11划分出的空 间中, 进一步划分出由附加索引 ¾标识的子空间。
A4、 分别按照各个轨道上有脉冲位置的分布 Pt(Nt)确定各个轨道的第二索 引 I2t, 第二索引 I2t从第一索引 II对应的全部可能的分布情况中, 指示相应轨道 上与当前有脉冲位置的分布对应的分布情况。
Pt(Nt)的总可能数为 Wt(Nt)= ,数据量较大, 因此与第二索引 I2t的对应 比较适合釆用计算关系, 当然釆用查询关系也是可行的。 显然 Wt(Nt)即是 I2t全 部可能的取值数目, 若 I2t的值从 0开始计数, 则有 I2te [0, Wt(Nt)-l]0
当然, 在需要使用附加索引 ¾的情况下, 决定 I2t范围的 Nt值由第一索引 II 与附加索引 联合确定。
为便于通过代数计算来确定 Pt(Nt)与 I2t的对应关系, 下面给出一种第二索 引 I2t的计算公式:
Figure imgf000013_0001
其中, pt(n)表示第 n个有脉冲位置在轨道上的位置序号, ne[0, Nt_l], pt(0) e [0, Mt— Nt], pt(n) e[pt(n-l)+l, Mt— Nt + n], pt(0) < pt(l) <… < pt(Nt - 1), 或者 pt(0) > pt(l) > … > pt(Nt - 1)。
釆用上述方法能够以计算关系获得各个轨道的第二索引 I2t,由于 I2t在编码 索引中所占数据量较大, 釆用计算方法能够尽量减少编解码双方的存储量。 同 时, 由于 I2t连续编码且与 Pt(Nt)严格——对应, 因此能够最大限度的利用编码 比特,避免浪费。 关于该计算方法的原理以及具体推导和描述请参阅公开号为 CN101295506的中国专利申请(公开日为 2008年 10月 29日 ), 尤其可参见该申 请文件说明书第 13页第 18行至第 15页第 9行(实施例二, 附图 14、 15 ), 相应的 解码计算方法可参见该申请文件说明书第 16页第 23行至第 17页第 12行(实施例 四)。
A5、 分别按照各个轨道上各个有脉冲位置上的脉冲数目 SUt(Nt)确定各个 轨道的第三索引 I3t
SUt(Nt)虽然是与 Pt(Nt)同维度的矢量, 但受限于 sut(0) + sut(l) + ... + sut(Nt - l) = it, 且 ^的数值通常不大, 一般为 1~6 , 因此 SUt(Nt)的总可能数不大, 与第三索引 I3t的对应釆用计算关系或查询关系都是可行的。 需要说明的是,在 某些极端情况下, 例如 Nt = l或 Nt = W, 此时 SUt(Nt)只有一种可能情况, 无须 由具体的 I3t进行指示, 可将 I3t视为不影响最终编码索引生成的任意值。
为便于通过代数计算来确定 SUt(Nt)与 I3t的对应关系,下面给出一种第三索 引 I3t的计算方法:
对于第 t个轨道, 将在 Nt个有脉冲位置上有 ^个脉冲的情况, 映射为在 Nt 个位置上有 W _ Nt个脉冲的情况, 其中 ^表示第 t个轨道上需要编码的脉冲总 数。 例如, 图 2所示的 4种 6脉冲 4位置(^ = 6, Nt = 4 )的情形, 其 SUt(Nt)均为 {1, 2, 1, 2 } , 将每个位置上的脉冲数减 1 (因为每个位置都至少有 1个脉冲 )得 到 {0, 1, 0, 1 } , 即将 SUt(Nt)的信息映射为 2脉冲 4位置的编码情形。
按照设定的顺序, 对 ^ - Nt个脉冲在 Nt个位置上全部可能的分布情况进行 排列, 以排列的序号作为指示有脉冲位置上的脉冲数目的第三索引 I3t
体现上述计算方法的一种计算公式为:
A5Vt _ A5Vt v 「「AWt -h _ A5Vt -h Ί .
丄 -3t — ρρτ — LppT_q(0) 十 Z L^ppx-h-q(h-l) _ ^PPT-h-q(h) J '
h=l 其中, Δ^ = ^- Nt, ΡΡΤ = ^- 1, q(h)表示第 h+ 1个脉冲的位置序号, he [0, A it-l], q(h)e [0, Nt- 1], q(0) q(l) … q(A^ - 1), 或者 q(0) > q(l) >… q(A^V[- 1), ∑表示求和。
关于该计算方法的原理以及具体推导和描述请参阅公开号为 CN101388210的中国专利申请(公开日为 2009年 3月 18日 ), 尤其可参见该申请 文件说明书第 8页第 23行至第 10页第 7行(实施例二, 附图 6), 相应的解码计算 方法可参见该申请文件说明书第 21页第 10行至第 21页第 27行(实施例六;)。
A6、 生成 T个轨道的总的编码索引 Ind, 编码索引 Ind包括第一索引 II和各 个轨道的第二、 三索引 I2t、 I3t的信息。
II、 I2t、 I3t以及附加索引 Ift (若涉及)和符号索引 Ist (若涉及)可以用任 何能够被解码方识别的方式放置到编码索引中, 例如, 最简单的, 可分别单独 存放在固定的字段中。 考虑到在各个轨道需要编码的脉冲总数 pulse— numt—定 的前提下, II指示的各个 pos— numt的数值 Nt决定了 I2t和 I3t的变化范围, 即, 决 定了 I2t和 I3t需要的编码比特数(在涉及的情况下, 也决定了 Ist需要的编码比特 数), 因此可釆用如下方式来构造编码索引:
①以第一索引 II为起始值, 叠加其他索引的信息; II的一个取值对应于编 码索引的一个独立的取值范围; 这样, 解码方就可以根据编码索引的取值范围
Figure imgf000015_0001
当然,在有附加索引的情况下, 根据 II只能确定与第一索引对应的 Nt值不唯一的轨道的 Nt值组合, 例如表 6中 的组合 "1、 2、 3"; 不管是确定的 Nt值还是 Nt值组合, 其所需编码空间都是确 定的, 因此可以将 II划定的取值范围 (通常对应于一定的字段长度)再分成 T 个部分分别给 T个轨道的 I2t、 I3t和 Ift (若涉及)使用。
② I2t、 I3t可以用任何能够被解码方识别的方式进行放置,例如,最简单的, 可分别单独存放。 由于 I2t、 I3t—般不能表示为 2的整数次方, 为尽量节省编码 比特, 可将第 t个轨道 I2t、 I3t组合为如下形式放置到从 II划定的取值范围中所 分配的部分中:
Index(t) = I2t + I3t Wt(Nt) = I2t + I3t
I2t、 I3t均从 0开始编码, I2te[0, Wt(Nt)- 1], I3tG [0, Class(Nt) - 1], Class(Nt) 为 SUt(Nt)的总可能数。 显然, 这种方式相当于将从 II中分配的取值范围分成 Class(Nt)个长度为 Wt(Nt)的部分, 每个部分对应 SUt(Nt)的一种分布情况。
当然, 在需要使用 ¾的情况下, 从 II中分配给该轨道的取值范围需要先由 ¾划分给不同的 Nt使用, 再在划分给各个 Nt的空间中放置 I2t、 I3t, 此时,
Index(t) = Ift + I2t + I3t
③当然, 在所编码的脉冲为带符号脉冲的情况下, 各个 Index(t)中还需要 包括各个脉冲符号索引 st(n)的信息, 例如, 可以将第 t个轨道的符号索引 Ist作为 长度为 Nt的字段放置在从 II中分配给该轨道的取值范围中的固定位置上, 例如 末尾, 此时,
Index(t) = (I2t + I3t ) χ 2Nt + Ist (对于与第一索引对应的 Nt值唯一的 轨道), 或者,
Index(t) = Ift + (I2t + I3t ) 2Nt + Ist (对于与第一索引对应的 Nt值不 唯一的轨道), 其中, Ist = st(0) 2Nt_1 + st(l) χ 2Nt-2 +… + st(Nt - 1)
综上, T个轨道的总的编码索引 Ind的一种构造方式可表示为:
Ind = 11 + Index(T - 1) + I (Τ-1) χ {… χ { Index(2) + I (2) χ [Index(l) + I (1) lndex(O)] } ... }
= II + Index(O) x 丽 (t) + Index(l) x 丽 (t) +… + Index(T - 1) ,
t=l t=2
其中 Imax(t)表示 Index(t)的上限值, "Π" 表示求积。 解码时可釆用对 Imax(t)取余 的方式逐个将 Index(t)分离出来, 例如, 将 ( Ind - II )对 Imax(T - 1)取余获得 Index(T - 1) , 从( Ind - II )中减去 Index(T - 1)再除以 Imax(T - 1)后继续对 Imax(T - 2)取余获得 Index(T - 2) , 以此类推, 直至获得 lndex(0)。 容易理解的是, 一种可选方 式, 本领域技术人员可以利用构成编码索引的基本信息, 容易的得出其他编码 索引结构的构造方式, 例如进行索引位置的互换或重新组合等, 具体可以是先 组合不同轨道的 I2t, 再组合 I3t和 Ist等, 编码索引的具体构造方式不构成对本发 明实施例的限定。 实施例二、一种脉冲编码方法, 本实施例是将联合编码的各个轨道分别计 算出各自索引后, 再组合成编码索引, 如图 3所示, 包括步骤:
Bl、 获取 T个轨道上需要编码的脉冲, T是大于或等于 2的整数。
B2、 分别对各个轨道上需要编码的脉冲按照位置进行统计, 获得各个轨 道上有脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的 脉冲数目。
步骤 Bl、 B2可参照实施例一的步骤 Al、 A2执行。
B3、 分别按照各个轨道上有脉冲位置的数目确定各个轨道的第一索引 Ilt, 第一索引 lit对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部 可能的分布情况。
B4、 分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引 I2t, 第二索引 I2t从第一索引 Ilt对应的全部可能的分布情况中,指示该轨道上与当前 有脉冲位置的分布对应的分布情况。
B5、 分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的 第三索引 I3t
步骤 B3-B5可参照实施例一的步骤 Al、 A2执行,分别获得各个轨道的索引 的过程具体请参阅公开号为 CN101295506的中国专利申请(公开日为 2008年 10 月 29日 ), 尤其可参见该申请文件说明书第 6页第 13行至第 15页第 9行(实施例 一、 实施例二), 相应的解码计算方法可参见该申请文件说明书第 15页第 11行 至第 17页第 12行(实施例三、 实施例四)。
B6、生成 T个轨道的总的编码索引 Ind, 编码索引 Ind包括各个轨道的第一、 二、 三索引 Ilt、 I2t、 I3t的信息。 Ilt、 I2t、 I3t和符号索引 Ist (若涉及)可以用任何能够被解码方识别的方式 放置到编码索引中, 例如, 最简单的, 可分别单独存放在固定的字段中。 当然 也可以进行组合, 例如分别将各个轨道的索引组合在一起后再叠加, 即釆用如 下方式来构造编码索引: Ind = Index(O) x 丽 (t) + Index(l) x 丽 (t) + … + Index(T - 1)
t=l t=2
其中 Imax(t)表示 Index(t)的上限值,
Index(t) = Ilt + I2t + I3t χ (不考虑脉冲符号的情形 ), 或者, Index(t) = Ilt + (I2t + I3t χ C¾ ) χ 2Nt + Ist (考虑脉冲符号的情形 )。
式, 本领域技术人员可以利用构成编码索引的基本信息, 容易的得出其他编码 索引结构的构造方式, 例如在各个轨道内进行索引位置的互换或重新组合等,
实施例三、 一种脉冲编码方法, 本实施例是在实施例一或二的基础上, 提 出的进一步节省编码比特的方法。
本实施例脉冲编码方法的编码索引 Ind生成过程可参照实施例一或二方法 执行, 在生成编码索引 Ind的之后执行如下操作, 如图 4所示, 包括:
Cl、 比较编码索引 Ind和调整门限值 THR, 其中,
THR < 2Bmax - Imax(T) ,
Imax(T)表示 Ind的上限值, Bmax表示用来对编码索引进行编码的比特数量的上 限值, 若 Ind小于 THR, 则转到步骤 C2 , 否则转到步骤 C3。
C2、 釆用第一数量的编码比特对 Ind进行编码。
C3、 釆用第二数量的编码比特对加上偏移值 THRQ的 Ind进行编码, THR < THR0 < 2Bmax - Imax(T) ,所称的第一数量少于第二数量, 而第二数量则小于等于 Bmax, 第一数量和第二数量均为正整数。
例如, 对于 2个 4脉冲轨道联合编码的情形 (每个轨道的位置总数假设为
16 ), Ind的总可能数 Imax(T) = 44032 X 44032 (考虑脉冲有符号), 需要 31个编码 比特, 其空闲码本空间为 231 - 44032 x 44032 = 208666624 , 可以设置 THR = THR0 = 208666624, 当 Ind小于 208666624时, 使用第一数量( 30个) 的编码比 特对 Ind进行编码, 当 Ind大于 208666624时, 使用第二数量( 31个) 的编码比 特对 Ind + 208666624进行编码, 显然, 有 9.7%的几率在 31个比特的基础上再节 省一个比特。 当然, 调整门限值 THR可以设置的比 208666624更小, 以节省更 多的比特,但相应出现可节省比特的情况的概率会大幅度的下降,可平衡考虑。
关于该节省比特的方法的原理以及具体推导和描述请参阅申请号为 CN200910150637.8的中国专利申请(申请日为 2009年 6月 19日)。
进一步的, 为提高可节省比特的情况出现的概率, 可釆用如下优选方式来 设置编码索引 Ind中第一索引 II与 {N0, N1 ... , NT 组合的对应关系: 统计 {N0, Ν^. , Ν }组合的出现概率, 使出现概率越高的组合对应的第一索引越小, 以 尽量减 d、出现概率高的组合的编码索引值。 实施例四、一种脉冲编码方法, 本实施例从与实施例一和二不同的角度提 出一种新的轨道联合编码方法。
在实施例一和二中不管是对轨道有脉冲位置的情况进行联合分类(实施例 一)还是分别对每个轨道设置第一索引 (实施例二), 均需要对每个轨道的脉 冲位置分布进行分别处理, 本实施例则釆用一种新的思路, 即, 将联合编码的 各个轨道重叠为 1个轨道, 叠加其脉冲分布信息。 例如, 如图 5所示, 将 2个 3 脉冲轨道叠加成 1个 6脉冲轨道(假设各个轨道的位置数为 16 ), 然后,
①按照单轨道脉冲分布的情形, 计算叠加后的轨道的分布索引, 例如可釆 用实施例二中所描述的 Ilt、 I2t、 I3t以及 Ist组合的方式。
②按照脉冲所属轨道的情形编制轨道索引, 例如, 如图 6所示, 图 5叠加得 到的 3位置 6脉冲对应不同的轨道分布情形,可以用不同的轨道索引分别来表示 相应的情形, 图 6中 "0" 表示轨道 0上的脉冲, " X " 表示轨道 1上的脉冲。
③将脉冲叠加得到的单轨道的分布索引与表示脉冲所属轨道的轨道索引 组合在一起获得最终的编码索引。
本实施例联合编码方法同样可以象实施例一和二一样节省编码比特, 并 且, 也可以与实施例三结合使用, 以达到进一步节省编码比特的目的。 实施例五、一种脉冲解码方法, 本实施例提供的解码方法对按照实施例一 编码方法获得的编码索引进行解码, 解码过程为编码过程的反过程, 如图 7所 示, 包括:
Dl、 获取编码索引 Ind, 从编码索引 Ind中提取出第一索引 II , 按照第一索 引 II确定 T个轨道的各个轨道上有脉冲位置的数目 {N。, N1 ... , Nw}。
从 Ind中提取各个索引的信息, 可按照与编码时将各个索引组合成 Ind相反 的过程来进行。 例如, 若各个索引单独存放的固定的字段中, 则直接分别提取 即可。
若 Ind釆用实施例一中提供的以 II作为起始值叠加其他索引的结构, 则可 先提取出 II , 按照与 II对应的 {NQ, Ni, ... , NT_ 组合将各个轨道的 Index(t)从 Ind 中分离出来。 在这种情况下, 由于一个 II对应 Ind的一个独立取值范围, 因此, 解码方可从设定的若干个独立的取值范围中, 判断 Ind所属的取值范围, 按照 该所属的取值范围对应的起始值确定第一索引 II。
当然, 在存在与第一索引 II对应的 Nt值不唯一的轨道的情况下, 对于该轨 道, II确定的是其 Nt值组合, 实际 Nt值由进一步提取的附加索引 ¾来确定, 此 时分离出的 Index(t)中包含 的信息。
D2、 从编码索引 Ind中提取出各个轨道的第二索引 I2t和第三索引 I3t; 与 II类似, I2t、 I3t的提取也按照与组合进 Index(^V)相反的过程进行, 在独 立放置时可被直接提取。若 I2t、I3t釆用实施例一中组合后进行叠加的编码方式, 则此步骤是从 Index(t)中分离 I2t、 I3t、 Ift (若涉及)和 Ist (若涉及), 根据组合 的过程进行逆运算即可。
例如, 在不涉及 ¾和 Ist的情况下, I2t = Index(t) % Wt(Nt), I3t = Int[Index(t) / Wt(Nt)] , 其中%表示取余数, Int表示取整。 在涉及 Ift的情况下, 与确定 II类 似,可先根据 Index(t)所属的取值范围对应的起始值确定附加索引 ¾,在分离出 后根据确定的 Nt值进一步提取 I2t、 I3t和 Ist (若涉及)。
D3、 分别对于各个轨道, 按照第二索引 I2t确定, 在第一索引 II和 ¾ (若涉 及)对应的有脉冲位置的数目下, 有脉冲位置在轨道上的分布。
解码 I2t釆用与编码 I2t相反的过程,若 I2t在编码时釆用计算关系获得, 则在 解码时利用同样的计算关系进行逆运算即可; 若 I2t在编码时釆用查询关系获 得, 则在解码时查询相同的对应关系即可。
D4、 分别对于各个轨道, 按照第三索引 I3t确定各个有脉冲位置上的脉冲 数目。
D5、 分别对于各个轨道, 按照有脉冲位置在轨道上的分布 Pt(Nt)和各个有 脉冲位置上的脉冲数目 SUt(Nt), 重建轨道上的脉冲序列。
对于带符号脉冲的情形, 在重建各个轨道上的脉冲序列时,还按照各个符 号索引 st(n)携带的脉冲符号信息, 恢复各个有脉冲位置的脉冲符号的正或负的 特性。 实施例六、一种脉冲解码方法, 本实施例提供的解码方法对按照实施例二 编码方法获得的编码索引进行解码, 解码过程为编码过程的反过程, 如图 8所 示, 包括:
El、 获取编码索引 Ind, 从编码索引 Ind中提取出各个轨道的第一索引 Ilt, 分别对于各个轨道, 按照第一索引 Ilt确定有脉冲位置的数目 Nt
由于在各个轨道上脉冲总数 ^确定的情况下(由于不同码率下, 编码索引 的总比特数不同, 因此解码方可直接根据编码索引的长度(比特数), 确定出 各个轨道上脉冲总数 ^ ), Index(t)的上限值 Imax(t)确定, 因此可以直接从 Ind中 分离出各个轨道的 Index(t) ,进而根据 Index(t)的取值范围确定出 Ilt和相应的 Nt
E2、 从编码索引 Ind中提取出各个轨道的第二索引 I2t和第三索引 I3t。 即, 从 Index(t)中分离出 I2t和 I3t, 可参照实施例五的步骤 D2执行。 若涉及脉冲符号, 还可进一步分离出 Ist
E3、 分别对于各个轨道, 按照第二索引 I2t确定, 在第一索引 Ilt对应的有 脉冲位置的数目下, 有脉冲位置在轨道上的分布。
E4、 分别对于各个轨道, 按照第三索引 I3t确定各个有脉冲位置上的脉冲 数目。
E5、 分别对于各个轨道, 按照有脉冲位置在轨道上的分布 Pt(Nt)和各个有 脉冲位置上的脉冲数目 SUt(Nt), 重建轨道上的脉冲序列。
步骤 E3-E5可参照实施例五的步骤 D3-D5执行。 实施例七、一种脉冲解码方法, 本实施例提供的解码方法与实施例三编码 方法对应, 对实施例三变长编码的码流进行解码, 以获得编码索引, 过程如图
9所示, 包括:
Fl、 从编码码流中提取第一数量的编码比特。
F2、若第一数量的编码比特解码后的值小于调整门限值 THR, 则转到步骤
F3 , 否则转到步骤 F4。
F3、 以第一数量的编码比特解码后的值作为编码索引 Ind。
F4、 否则, 增加提取的编码比特的数量至第二数量, 以第二数量的编码比 特解码后的值减去偏移值 THRQ作为编码索引 Ind。
按照本实施例解码方法从编码码流中获得编码索引 Ind后, 即可按照实施 例五或六的解码方法继续对编码索引 Ind进行解码。 实施例八、一种脉冲编码器 10, 本实施例提供的编码器可用于执行实施例 一编码方法, 如图 10所示, 包括:
脉冲统计单元 101 , 用于获取 T个轨道上需要编码的脉冲, T是大于或等于 2的整数, 分别对各个轨道上需要编码的脉冲按照位置进行统计, 获得各个轨 道上有脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的 脉冲数目, 其中下标 t表示第 t个轨道, t e [0, T-1];
索引计算单元 102, 包括:
第一索引单元 1021 , 用于按照各个轨道上有脉冲位置的数目 {N。, NI, ... , Nw}输出第一索引 II , II对应于其所代表的有脉冲位置的数目下, 各个轨道上 有脉冲位置全部可能的分布情况;
第二索引单元 1022,用于分别按照各个轨道上有脉冲位置的分布输出各个 轨道的第二索引 I2t, I2t从 II对应的全部可能的分布情况中, 指示相应轨道上与 当前有脉冲位置的分布对应的分布情况;
第三索引单元 1023 ,用于分别按照各个轨道上各个有脉冲位置上的脉冲数 目输出各个轨道的第三索引 I3t
索引组合单元 103 , 用于组合第一索引 II和各个轨道的第二、 三索引 I2t、 I3t的信息生成编码索引 Ind。 在至少有一个第一索引与两个以上的 {NQ, Ν^. , Ν }组合对应的情况下, 索引计算单元 102还可进一步包括附加索引单元 1024 (图 10中以虚线框示出 ), 用于对于存在与第一索引对应的 Nt值不唯一的轨道,确定与该轨道上当前有脉 冲位置的数目对应的附加索引 ¾, 附加索引 对应于其所代表的有脉冲位置的 数目下, 该轨道上有脉冲位置全部可能的分布情况。 此时, 索引组合单元 103 还将附加索引 ¾的信息组合到编码索引 Ind中。
此外,在釆用实施例三方法对编码索引进行变长编码的情况下, 本实施例 脉冲编码器 10还可进一步包括编码比特调整单元 104 (图 10中以虚线框示出 ), 用于在索引组合单元 103生成编码索引后, 比较编码索引 Ind和调整门限值 THR, 其中,
THR < 2Bmax - Imax(T) ,
Imax(T)表示 Ind的上限值, Bmax表示用来对编码索引进行编码的比特数量 的上限值,
若 Ind小于 THR, 釆用第一数量的编码比特对 Ind进行编码, 否则釆用第二 数量的编码比特对加上偏移值 THRQ的 Ind进行编码, THR < THR0 < 2Bmax - Imax(T) , 所使用的第一数量少于第二数量, 第二数量小于等于 Bmax, 第一数量 和第二数量均为正整数。 实施例九、一种脉冲解码器 20 , 本实施例提供的解码器可用于执行实施例 五解码方法, 如图 11所示, 包括:
第一提取单元 201 , 用于获取编码索引 Ind, 从编码索引中提取出第一索引
II , 按照第一索引确定 T个轨道的各个轨道上有脉冲位置的数目 {NQ, Ni, - , Ντ-ι} ;
第二提取单元 202 , 用于从编码索引 Ind中提取出各个轨道的第二索引 I2t 和第三索引 I3t;
第一解码单元 203 , 用于分别对于各个轨道, 按照第二索引 I2t确定, 在第 一索引对应的有脉冲位置的数目下, 有脉冲位置在轨道上的分布;
第二解码单元 204 , 用于分别对于各个轨道, 按照第三索引 I3t确定各个有 脉冲位置上的脉冲数目; 脉冲重建单元 205 , 用于分别对于各个轨道, 按照有脉冲位置在轨道上的 分布和各个有脉冲位置上的脉冲数目, 重建轨道上的脉冲序列。
在至少有一个第一索引与两个以上的 {NQ, Ν^. , Ν }组合对应的情况下, 本实施例解码器还可以进一步包括:
附加提取单元 206 (图 11中以虚线框示出 ), 用于对于存在与第一索引对应 的 Nt值不唯一的轨道,提取与该轨道上当前有脉冲位置的数目对应的附加索引 ¾, 附加索引 对应于其所代表的有脉冲位置的数目下, 该轨道上有脉冲位置 全部可能的分布情况。此时, 第二提取单元 202是根据附加提取单元 206提取的 附加索引 确定的相应轨道上当前有脉冲位置的数目,提取出该轨道的第二索 引 I2t和第三索引 I3t
此外,在釆用实施例七方法对变长编码的码流进行解码的情况下, 本实施 例脉冲解码器 20还可进一步包括解码比特调整单元 207 (图 11中以虚线框示 出), 用于从编码码流中提取第一数量的编码比特, 若第一数量的编码比特解 码后的值小于调整门限值 THR,以第一数量的编码比特解码后的值作为编码索 引 Ind输出, 否则, 增加提取的编码比特的数量至第二数量, 再以第二数量的 编码比特解码后的值减去偏移值 THRQ作为编码索弓 I Ind输出。 本领域普通技术人员可以理解,上述实施例中各种方法的全部或部分步骤 可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质 中, 存储介质可以包括: 只读存储器、 随机存储器、 磁盘或光盘等。
以上对本发明实施例所提供的脉冲编解码方法及脉冲编解码器进行了详 上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本 领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会 有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种脉冲编码方法, 其特征在于, 包括:
获取 T个轨道上需要编码的脉冲, T是大于或等于 2的整数;
分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有 脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数 目, 其中下标 t表示第 t个轨道, t e [0, T-1];
按照各个轨道上有脉冲位置的数目 {Νο, Ν^. , Ν }确定第一索引 II , 所述 第一索引对应于其所代表的有脉冲位置的数目下,各个轨道上有脉冲位置全部 可能的分布情况;
分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引 I2t,所述 第二索引从所述第一索引对应的全部可能的分布情况中,指示相应轨道上与当 前有脉冲位置的分布对应的分布情况;
分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三 索引 I3t;
生成编码索引 Ind, 所述编码索引包括第一索引和各个轨道的第二、 三索 引的信息。
2、 根据权利要求 1所述的方法, 其特征在于:
所述分别对各个轨道上需要编码的脉冲按照位置进行统计时,还按照各个 轨道上各个有脉冲位置的脉冲符号的正或负的特性,获得各个轨道的各个有脉 冲位置的脉冲符号信息; 息, 所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息。
3、 根据权利要求 1或 2所述的方法, 其特征在于:
一个第一索引与一个 {Νο, Ν^. , Ν }组合对应, 或者,
至少有一个第一索引与两个以上的 {NQ, Ν^. , Ν }组合对应,对于存在与 第一索引对应的 Nt值不唯一的轨道, 除了确定该轨道的第二、 三索引, 还确定 与该轨道上当前有脉冲位置的数目对应的附加索引,所述附加索引对应于其所 代表的有脉冲位置的数目下, 该轨道上有脉冲位置全部可能的分布情况, 所述 编码索引中还包括所述附加索引的信息。
4、 根据权利要求 3所述的方法, 其特征在于, 所述编码索引 Ind釆用如下 方式生成:
Ind = II + Index(O) x 丽 (t) + Index(l) x 丽 (t) + … + Index(T - 1);
t=l t=2
其中, Imax(t)表示 Index(t)的上限值, "Π"表示求积, Index(t)釆用如下方式 生成: 在不包含符号索引的情况下, 对于与第一索引对应的 Nt值唯一的轨道: Index(t) = I2t + I3t , 其中 "C" 表示求组合数, Mt表示第 t个轨道上
Figure imgf000026_0001
的位置总数; 在不包含符号索引的情况下, 对于与第一索引对应的 Nt值不唯一的轨道:
Index(t) = Ift + I2t + I3t , 其中 Ift表示第 t个轨道与当前 Nt值对应的附
Figure imgf000026_0002
加索引; 在包含符号索引的情况下, 对于与第一索引对应的 Nt值唯一的轨道: Index(t) = (I2t + I3t ) χ 2Nt + Ist, 其中 Ist表示第 t个轨道的符号索引, 共有 Nt个比特,每个比特的取值指示与该比特对应的有脉冲位置的脉冲符号信 息; 在包含符号索引的情况下, 对于与第一索引对应的 Nt值不唯一的轨道: Index(t) = Ift + (I2t + I3t ) χ 2Nt + Ist
5、 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 在所述生成编 码索引的步骤之后还包括:
比较所述编码索引 Ind和调整门限值 THR, 其中,
THR < 2Bmax - Imax(T),
Imax(T)表示 Ind的上限值, Bmax表示用来对编码索引进行编码的比特数量 的上限值, 若 Ind小于 THR, 釆用第一数量的编码比特对 Ind进行编码, 否则釆用第二 数量的编码比特对加上偏移值 THRQ的 Ind进行编码, THR < THR0 < 2Bmax - Imax(T), 所述第一数量少于所述第二数量, 所述第二数量小于等于 Bmax, 所述 第一数量和所述第二数量均为正整数。
6、 根据权利要求 5所述的方法, 其特征在于, 第一索引与
Figure imgf000027_0001
组合的对应关系釆用如下方式确定: 统计 {Νο,Ν^.,Ν }组合的出现概率, 使 出现概率越高的组合对应的第一索引越小。
7、 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 所述分别按照 各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引 I3t的步骤 包括:
对于第 t个轨道, 将在 Nt个有脉冲位置上有 ^个脉冲的情况, 映射为在 Nt 个位置上有 W_Nt个脉冲的情况, 其中 ^表示第 t个轨道上需要编码的脉冲总 数,
按照设定的顺序, 对 ^ - Nt个脉冲在 Nt个位置上全部可能的分布情况进行 排列, 以排列的序号作为指示有脉冲位置上的脉冲数目的第三索引 I3t
8、根据权利要求 7所述的方法, 其特征在于, 各个轨道的第三索引 I3t的计 算公式为:
A5Vt _ A5Vt v 「「AWt A5Vt
丄 -3t— ρρτ — LppT_q(0)十 L^ppx-h-q(h-l) _ ^PPT-h-q(h)J '
h=l
其中, Δ^ = ^- Nt, PPT = ^- 1, q(h)表示第 h+ 1个脉冲的位置序号, he [0, Δ^- 1], q(h) G [0, Nt- 1], q(0) q(l) … q(A^ - 1), 或者 q(0) > q(l) >… q(A^V[- 1), ∑表示求和。
9、 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 各个轨道的第 二索引 I2t的计算公式为:
Figure imgf000027_0002
其中, pt(n)表示第 n个有脉冲位置在轨道上的位置序号, ηζ [0, Nt_ l], pt(0) e [0, Mt— Nt], pt(n) e [pt(n- l)+ l, Mt— Nt + n], pt(0) < pt(l) <… < pt(Nt - 1), 或者 pt(0) > pt(l) >… > pt(Nt - 1)。
10、 一种脉冲编码方法, 其特征在于, 包括:
获取 T个轨道上需要编码的脉冲, T是大于或等于 2的整数;
分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有 脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数 目, 其中下标 t表示第 t个轨道, t e [0, T-1];
分别按照各个轨道上有脉冲位置的数目确定各个轨道的第一索引 lit,所述 第一索引对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可 能的分布情况;
分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引 I2t,所述 第二索引从所述第一索引对应的全部可能的分布情况中,指示该轨道上与当前 有脉冲位置的分布对应的分布情况;
分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三 索引 I3t;
生成编码索引 Ind, 所述编码索引包括各个轨道的第一、 二、 三索引的信 息。
11、 一种脉冲解码方法, 其特征在于, 包括:
获取编码索引 Ind, 从所述编码索引中提取出第一索引, 按照第一索引确 定 T个轨道的各个轨道上有脉冲位置的数目 {Νο, Ν^. , Ν } , 其中 Nt的下标 t表 示第 t个轨道, t e [0, T-1] , T是大于或等于 2的整数;
从所述编码索引中提取出各个轨道的第二索引 I2t和第三索引 I3t;
分别对于各个轨道,按照第二索引确定,在所述第一索引对应的有脉冲位 置的数目下, 有脉冲位置在轨道上的分布;
分别对于各个轨道, 按照第三索引确定各个有脉冲位置上的脉冲数目; 分别对于各个轨道,按照有脉冲位置在轨道上的分布和各个有脉冲位置上 的脉冲数目, 重建轨道上的脉冲序列。
12、 根据权利要求 11所述的方法, 其特征在于, 所述从编码索引中提取出 第一索引釆用: 从设定的若干个独立的取值范围中, 判断所述编码索引所属的 取值范围, 按照该所属的取值范围对应的起始值确定所述第一索引。
13、 根据权利要求 11所述的方法, 其特征在于:
一个第一索引与一个 {Νο, Ν^. , Ν }组合对应, 或者,
至少有一个第一索引与两个以上的 {NQ, Ν^. , Ν }组合对应,对于存在与 第一索引对应的 Nt值不唯一的轨道, 除了提取该轨道的第二、 三索引, 还提取 与该轨道上当前有脉冲位置的数目对应的附加索引,所述附加索引对应于其所 代表的有脉冲位置的数目下, 该轨道上有脉冲位置全部可能的分布情况。
14、 根据权利要求 11至 13中任一项所述的方法, 其特征在于, 所述获取编 码索引 Ind的步骤包括:
从编码码流中提取第一数量的编码比特;
若所述第一数量的编码比特解码后的值小于调整门限值 THR,以所述第一 数量的编码比特解码后的值作为编码索引 Ind;
否则,增加提取的编码比特的数量至第二数量, 以所述第二数量的编码比 特解码后的值减去偏移值 THRQ作为编码索引 Ind。
15、 一种脉冲解码方法, 其特征在于, 包括:
获取编码索引 Ind, 从所述编码索引中提取出各个轨道的第一索引 Ilt, 分 别对于各个轨道, 按照第一索引确定有脉冲位置的数目 Nt, 其中下标 t表示第 t 个轨道, t e [0, T-1] , T是大于或等于 2的整数;
从所述编码索引中提取出各个轨道的第二索引 I2t和第三索引 I3t;
分别对于各个轨道,按照第二索引确定,在所述第一索引对应的有脉冲位 置的数目下, 有脉冲位置在轨道上的分布;
分别对于各个轨道, 按照第三索引确定各个有脉冲位置上的脉冲数目; 分别对于各个轨道,按照有脉冲位置在轨道上的分布和各个有脉冲位置上 的脉冲数目, 重建轨道上的脉冲序列。
16、 一种脉冲编码器, 其特征在于, 包括:
脉冲统计单元, 用于获取 T个轨道上需要编码的脉冲, T是大于或等于 2的 整数, 分别对各个轨道上需要编码的脉冲按照位置进行统计, 获得各个轨道上 有脉冲位置的数目 Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲 数目, 其中下标 t表示第 t个轨道, te[0, T-1];
索引计算单元, 所述索引计算单元包括: 第一索引单元, 用于按照各个轨 道上有脉冲位置的数目 {Νο,Ν^.,Ν }输出第一索引 II, 所述第一索引对应于 其所代表的有脉冲位置的数目下, 各个轨道上有脉冲位置全部可能的分布情 况; 第二索引单元, 用于分别按照各个轨道上有脉冲位置的分布输出各个轨道 的第二索引 I2t, 所述第二索引从所述第一索引对应的全部可能的分布情况中, 指示相应轨道上与当前有脉冲位置的分布对应的分布情况; 第三索引单元, 用 于分别按照各个轨道上各个有脉冲位置上的脉冲数目输出各个轨道的第三索 引 1
索引组合单元, 用于组合所述第一索引和各个轨道的第二、三索引的信息 生成编码索引 Ind。
17、 根据权利要求 16所述的编码器, 其特征在于: 至少有一个第一索引与 两个以上的 {NQ, Νι,...,Ντ-i}组合对应,
所述索引计算单元还包括附加索引单元,用于对于存在与第一索引对应的 Nt值不唯一的轨道, 确定与该轨道上当前有脉冲位置的数目对应的附加索引, 所述附加索引对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全 部可能的分布情况;
所述索引组合单元还将所述附加索引的信息组合到所述编码索引中。
18、 根据权利要求 16或 17所述的编码器, 其特征在于, 还包括: 编码比特 调整单元, 用于在所述索引组合单元生成编码索引后, 比较所述编码索引 Ind 和调整门限值 THR, 其中,
THR<2Bmax-Imax(T),
Imax(T)表示 Ind的上限值, Bmax表示用来对编码索引进行编码的比特数量 的上限值,
若 Ind小于 THR, 釆用第一数量的编码比特对 Ind进行编码, 否则釆用第二 数量的编码比特对加上偏移值 THRQ的 Ind进行编码, THR < THR0 < 2Bmax - Imax(T), 所述第一数量少于所述第二数量, 所述第二数量小于等于 Bmax, 所述 第一数量和所述第二数量均为正整数。
19、 一种脉冲解码器, 其特征在于, 包括:
第一提取单元, 用于获取编码索引 Ind, 从所述编码索引中提取出第一索 引, 按照第一索引确定 T个轨道的各个轨道上有脉冲位置的数目 {N0, Ni, ... , Ντ-ι} , 其中 Nt的下标 t表示第 t个轨道, t e [0, T-l] , Τ是大于或等于 2的整数; 第二提取单元,用于从所述编码索引中提取出各个轨道的第二索引 I2t和第 三索引 1
第一解码单元, 用于分别对于各个轨道, 按照第二索引确定, 在所述第一 索引对应的有脉冲位置的数目下, 有脉冲位置在轨道上的分布;
第二解码单元, 用于分别对于各个轨道,按照第三索引确定各个有脉冲位 置上的脉冲数目;
脉冲重建单元, 用于分别对于各个轨道,按照有脉冲位置在轨道上的分布 和各个有脉冲位置上的脉冲数目, 重建轨道上的脉冲序列。
20、 根据权利要求 19所述的解码器, 其特征在于, 至少有一个第一索引与 两个以上的 {NQ, Νι, ... , Ντ-ι}组合对应, 所述解码器还包括:
附加提取单元, 用于对于存在与第一索引对应的 Nt值不唯一的轨道, 提取 与该轨道上当前有脉冲位置的数目对应的附加索引,所述附加索引对应于其所 代表的有脉冲位置的数目下, 该轨道上有脉冲位置全部可能的分布情况;
所述第二提取单元是根据所述附加提取单元提取的附加索引确定的相应 轨道上当前有脉冲位置的数目, 提取出该轨道的第二索引 I2t和第三索引 I3t
21、 根据权利要求 19或 20所述的解码器, 其特征在于, 还包括: 解码比 特调整单元, 用于从编码码流中提取第一数量的编码比特, 若所述第一数量的 编码比特解码后的值小于调整门限值 THR, 以所述第一数量的编码比特解码 后的值作为编码索引 Ind输出,否则,增加提取的编码比特的数量至第二数量, 以所述第二数量的编码比特解码后的值减去偏移值 THRQ作为编码索引 Ind输 出。
PCT/CN2011/074999 2010-06-24 2011-05-31 脉冲编解码方法及脉冲编解码器 WO2011160537A1 (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
AU2011269502A AU2011269502B2 (en) 2010-06-24 2011-05-31 Pulse encoding and decoding method and pulse codec
EP11797568.0A EP2587480B1 (en) 2010-06-24 2011-05-31 Pulse encoding and decoding method and pulse codec
KR1020137002001A KR101384574B1 (ko) 2010-06-24 2011-05-31 펄스 인코딩 및 디코딩 방법 및 펄스 코덱
JP2013515680A JP5785255B2 (ja) 2010-06-24 2011-05-31 パルス符号化方法、パルス符号化装置、パルス復号化方法及びパルス復号化装置
ES11797568T ES2764832T3 (es) 2010-06-24 2011-05-31 Método de codificación y decodificación de pulso y códec de pulso
US13/725,301 US9020814B2 (en) 2010-06-24 2012-12-21 Pulse encoding and decoding method and pulse codec
US14/150,498 US8959018B2 (en) 2010-06-24 2014-01-08 Pulse encoding and decoding method and pulse codec
US14/547,860 US9508348B2 (en) 2010-06-24 2014-11-19 Pulse encoding and decoding method and pulse codec
US15/338,098 US9858938B2 (en) 2010-06-24 2016-10-28 Pulse encoding and decoding method and pulse codec
US15/853,690 US10446164B2 (en) 2010-06-24 2017-12-22 Pulse encoding and decoding method and pulse codec

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010213451.5A CN102299760B (zh) 2010-06-24 2010-06-24 脉冲编解码方法及脉冲编解码器
CN201010213451.5 2010-06-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/725,301 Continuation US9020814B2 (en) 2010-06-24 2012-12-21 Pulse encoding and decoding method and pulse codec

Publications (1)

Publication Number Publication Date
WO2011160537A1 true WO2011160537A1 (zh) 2011-12-29

Family

ID=45359953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/074999 WO2011160537A1 (zh) 2010-06-24 2011-05-31 脉冲编解码方法及脉冲编解码器

Country Status (9)

Country Link
US (5) US9020814B2 (zh)
EP (1) EP2587480B1 (zh)
JP (3) JP5785255B2 (zh)
KR (1) KR101384574B1 (zh)
CN (1) CN102299760B (zh)
AU (1) AU2011269502B2 (zh)
ES (1) ES2764832T3 (zh)
PT (1) PT2587480T (zh)
WO (1) WO2011160537A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886862B (zh) * 2010-06-24 2018-09-28 华为技术有限公司 脉冲编解码方法及脉冲编解码器
CN102623012B (zh) 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
CN103098128B (zh) * 2011-06-15 2014-06-18 松下电器产业株式会社 脉冲位置搜索装置、码本搜索装置及其方法
US9336788B2 (en) * 2014-08-15 2016-05-10 Google Technology Holdings LLC Method for coding pulse vectors using statistical properties
US9620136B2 (en) 2014-08-15 2017-04-11 Google Technology Holdings LLC Method for coding pulse vectors using statistical properties
CN105007094B (zh) * 2015-07-16 2017-05-31 北京中宸泓昌科技有限公司 一种指数对扩频编码解码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020111799A1 (en) * 2000-10-12 2002-08-15 Bernard Alexis P. Algebraic codebook system and method
CN101295506A (zh) 2007-04-29 2008-10-29 华为技术有限公司 编解码方法及编解码器
CN101388210A (zh) 2007-09-15 2009-03-18 华为技术有限公司 编解码方法及编解码器
CN101483043A (zh) * 2008-01-07 2009-07-15 中兴通讯股份有限公司 基于分类和排列组合的码本索引编码方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4631521A (en) * 1984-12-31 1986-12-23 Wang Laboratories, Inc. Method and apparatus for differential run-length coding
US5754976A (en) 1990-02-23 1998-05-19 Universite De Sherbrooke Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech
JP3350385B2 (ja) 1997-01-24 2002-11-25 京セラ株式会社 符号生成方法および符号化方法
JP2943983B1 (ja) 1998-04-13 1999-08-30 日本電信電話株式会社 音響信号の符号化方法、復号方法、そのプログラム記録媒体、およびこれに用いる符号帳
JP4008607B2 (ja) 1999-01-22 2007-11-14 株式会社東芝 音声符号化/復号化方法
US6236960B1 (en) 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding
US7363219B2 (en) 2000-09-22 2008-04-22 Texas Instruments Incorporated Hybrid speech coding and system
CA2327041A1 (en) 2000-11-22 2002-05-22 Voiceage Corporation A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals
JP2002330075A (ja) * 2001-05-07 2002-11-15 Matsushita Electric Ind Co Ltd サブバンドadpcm符号化方法、復号方法、サブバンドadpcm符号化装置、復号装置およびワイヤレスマイクロホン送信システム、受信システム
US6662154B2 (en) 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
JP2004120623A (ja) 2002-09-27 2004-04-15 Ntt Docomo Inc 符号化装置、符号化方法、復号装置及び復号方法
BR0315179A (pt) * 2002-10-11 2005-08-23 Nokia Corp Método e dispositivo para codificar um sinal de fala amostrado compreendendo quadros de fala
KR100463419B1 (ko) * 2002-11-11 2004-12-23 한국전자통신연구원 적은 복잡도를 가진 고정 코드북 검색방법 및 장치
JP3887598B2 (ja) * 2002-11-14 2007-02-28 松下電器産業株式会社 確率的符号帳の音源の符号化方法及び復号化方法
JP2005062453A (ja) 2003-08-12 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> 秘話送信装置、秘話受信装置、秘話プログラム
FR2867648A1 (fr) 2003-12-10 2005-09-16 France Telecom Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
KR100656788B1 (ko) 2004-11-26 2006-12-12 한국전자통신연구원 비트율 신축성을 갖는 코드벡터 생성 방법 및 그를 이용한 광대역 보코더
CN100412948C (zh) 2005-01-27 2008-08-20 广达电脑股份有限公司 语音编码器中搜寻语音讯号的编码向量的搜寻系统及方法
US8024187B2 (en) 2005-02-10 2011-09-20 Panasonic Corporation Pulse allocating method in voice coding
KR101235425B1 (ko) * 2005-03-09 2013-02-20 텔레폰악티에볼라겟엘엠에릭슨(펍) 저-복잡성 코드 여기 선형 예측 인코딩
US20070124381A1 (en) 2005-11-22 2007-05-31 Zurko Mary E Method and system for providing electronic pickup meetings
LV13528B (en) 2006-09-25 2007-03-20 Ervins Blumbergs Method and apparatus for continuous producing of metallic tifanium and titanium-bases alloys
JP5221642B2 (ja) 2007-04-29 2013-06-26 華為技術有限公司 符号化法、復号化法、符号器、および復号器
CN100530357C (zh) * 2007-07-11 2009-08-19 华为技术有限公司 固定码书搜索方法及搜索器
WO2009033288A1 (en) * 2007-09-11 2009-03-19 Voiceage Corporation Method and device for fast algebraic codebook search in speech and audio coding
WO2009049671A1 (en) * 2007-10-16 2009-04-23 Nokia Corporation Scalable coding with partial eror protection
US8527265B2 (en) * 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
CN100578619C (zh) 2007-11-05 2010-01-06 华为技术有限公司 编码方法和编码器
EP2254110B1 (en) 2008-03-19 2014-04-30 Panasonic Corporation Stereo signal encoding device, stereo signal decoding device and methods for them
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
US8280729B2 (en) * 2010-01-22 2012-10-02 Research In Motion Limited System and method for encoding and decoding pulse indices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020111799A1 (en) * 2000-10-12 2002-08-15 Bernard Alexis P. Algebraic codebook system and method
CN101295506A (zh) 2007-04-29 2008-10-29 华为技术有限公司 编解码方法及编解码器
CN101388210A (zh) 2007-09-15 2009-03-18 华为技术有限公司 编解码方法及编解码器
CN101483043A (zh) * 2008-01-07 2009-07-15 中兴通讯股份有限公司 基于分类和排列组合的码本索引编码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2587480A4 *

Also Published As

Publication number Publication date
CN102299760B (zh) 2014-03-12
EP2587480B1 (en) 2019-10-16
US8959018B2 (en) 2015-02-17
US20140122066A1 (en) 2014-05-01
EP2587480A1 (en) 2013-05-01
US9858938B2 (en) 2018-01-02
US10446164B2 (en) 2019-10-15
US20180190304A1 (en) 2018-07-05
US9020814B2 (en) 2015-04-28
JP2013533505A (ja) 2013-08-22
EP2587480A4 (en) 2013-12-25
US20130124199A1 (en) 2013-05-16
KR101384574B1 (ko) 2014-04-11
JP6042949B2 (ja) 2016-12-14
KR20130023373A (ko) 2013-03-07
US20150081284A1 (en) 2015-03-19
JP2015215630A (ja) 2015-12-03
AU2011269502B2 (en) 2015-01-15
AU2011269502A1 (en) 2013-02-07
JP5785255B2 (ja) 2015-09-24
JP2017068273A (ja) 2017-04-06
US9508348B2 (en) 2016-11-29
US20170053657A1 (en) 2017-02-23
PT2587480T (pt) 2019-11-20
ES2764832T3 (es) 2020-06-04
CN102299760A (zh) 2011-12-28
JP6301431B2 (ja) 2018-03-28

Similar Documents

Publication Publication Date Title
WO2011160537A1 (zh) 脉冲编解码方法及脉冲编解码器
WO2008134974A1 (fr) Procédé de codage et de décodage, codeur et décodeur
WO2010051733A1 (zh) 一种编码、解码、编解码方法、编解码系统以及相关装置
JP2018182747A (ja) ベクトル結合符号化/復号方法および符号復号器
JP2012530266A (ja) パルス符号化のための方法および装置、パルス復号のための方法および装置
WO2010139131A1 (zh) 闪存的控制器以及于闪存存取数据的方法
AU2015201436B2 (en) Pulse encoding and decoding method and pulse codec
WO2010078818A1 (zh) 位平面编码和解码方法、通信系统及相关设备
JP3565147B2 (ja) 復号装置

Legal Events

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

Ref document number: 11797568

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013515680

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011797568

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20137002001

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2011269502

Country of ref document: AU

Date of ref document: 20110531

Kind code of ref document: A