CN101615911A - A kind of decoding method and device - Google Patents

A kind of decoding method and device Download PDF

Info

Publication number
CN101615911A
CN101615911A CN200910151836A CN200910151836A CN101615911A CN 101615911 A CN101615911 A CN 101615911A CN 200910151836 A CN200910151836 A CN 200910151836A CN 200910151836 A CN200910151836 A CN 200910151836A CN 101615911 A CN101615911 A CN 101615911A
Authority
CN
China
Prior art keywords
sampling point
frame
value
pulse
pulse sampling
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.)
Granted
Application number
CN200910151836A
Other languages
Chinese (zh)
Other versions
CN101615911B (en
Inventor
齐峰岩
苗磊
张清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009101518360A priority Critical patent/CN101615911B/en
Publication of CN101615911A publication Critical patent/CN101615911A/en
Priority to US12/778,644 priority patent/US8571112B2/en
Priority to EP10162750A priority patent/EP2251981B1/en
Priority to EP12183174A priority patent/EP2533427A1/en
Application granted granted Critical
Publication of CN101615911B publication Critical patent/CN101615911B/en
Priority to US13/956,093 priority patent/US20140006036A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

The embodiment of the invention discloses a kind of decoding method and device.A kind of coding method comprises: the value that obtains each sampling point of input data frame; Sampling point value according to described input data frame distributes, and determines pulse sampling point and non-pulse sampling point in the described input data frame; If be defined as the pulse sampling point in the described input data frame, then adopt first coding mode to encode and obtain first data flow to described pulse sampling point; If be defined as the non-pulse sampling point in the described input data frame, then adopt second coding mode to encode and obtain second data flow to described non-pulse sampling point; Described first data flow and second data flow are carried out multiplexing, obtain the outputting encoded data stream of described input data frame.Compared with prior art, above technical scheme can reduce the required bit number of the whole Frame of coding, improves the compression efficiency to the bigger Frame of dynamic range.

Description

A kind of decoding method and device
Technical field
The present invention relates to communication technical field, particularly relate to a kind of decoding method and device.
Background technology
Lossless compress is to utilize the statistical redundancy of data to compress, and compares with lossy compression method, and lossless compress can recover initial data fully and not cause any distortion.It is exactly lossless compressiong that the WinZip that we use always, WinRAR etc. compress software applied.Along with the continuous growth of user to the high definition media demand, lossless compressiong begins to be applied to more and more audio frequency, video coding.
With the audio coding is example, and in the prior art, a kind of scheme commonly used is the dynamic range coding, promptly encodes according to the maximum sample value of each Frame (data block) in the audio signal and the difference situation of minimum sample value.Its basic process is as follows: at first input signal is analyzed, obtained all sample value of input signal; At n Frame frame n, calculate its dynamic range, promptly the difference of maximum sample value and minimum sample value in this Frame then according to dynamic range, is determined the bit number b that encodes required to the sampling point of this Frame nWhen coding, to frame nIn the difference of each sample value and minimum value use b nIndividual bit is encoded, at last with frame nThe together multiplexing coding output of the minimum sample value of the encoded radio of each sampling point and these data as this Frame.
By research to prior art, the inventor finds that there are the following problems at least in the prior art: use above-mentioned dynamic range encoding scheme, when the dynamic range of Frame hour, can obtain bigger compression ratio, but, if the dynamic range of Frame is bigger, then each sampling point for this frame all needs to use more bit to encode, and can't realize effective compression.
Summary of the invention
The embodiment of the invention provides a kind of decoding method and device, to improve the compression efficiency to the bigger Frame of dynamic range.
The embodiment of the invention provides a kind of coding method, comprising:
Obtain the value of each sampling point of input data frame;
Sampling point value according to described input data frame distributes, and determines pulse sampling point and non-pulse sampling point in the described input data frame;
If be defined as the pulse sampling point in the described input data frame, then adopt first coding mode to encode and obtain first data flow to described pulse sampling point;
If be defined as the non-pulse sampling point in the described input data frame, then adopt second coding mode to encode and obtain second data flow to described non-pulse sampling point;
Described first data flow and second data flow are carried out multiplexing, obtain the outputting encoded data stream of described input data frame.
Correspondingly, the embodiment of the invention also provides a kind of coding/decoding method, comprising:
Obtain the encoded data stream of Frame;
Adopt first coding mode that described encoded data stream is decoded, obtain the pulse sampling point information of described Frame; Adopt second coding mode that described encoded data stream is decoded, obtain the non-pulse sampling point information of described Frame;
According to described pulse sampling point information and non-pulse sampling point information, rebuild described Frame.
Wherein, described pulse sampling point and non-pulse sampling point are determined according to the sampling point value distribution of input data frame by coding side.
The embodiment of the invention provides a kind of code device, comprising:
Analytic unit is used to obtain the value of each sampling point of input data frame;
The sampling point taxon is used for distributing according to the sampling point value of described input data frame, determines pulse sampling point and non-pulse sampling point in the described input data frame;
First coding unit is used for pulse sampling point to the described input data frame determined and adopts first coding mode to encode to obtain first data flow;
Second coding unit is used for non-pulse sampling point to the described input data frame determined and adopts second coding mode to encode to obtain second data flow;
Multiplexing Unit is used for described first data flow and second data flow are carried out multiplexing, obtains the outputting encoded data stream of described input data frame.
Correspondingly, the embodiment of the invention also provides a kind of decoding device, comprising:
Input unit is used to obtain the encoded data stream of Frame;
First decoding unit is used to adopt first coding mode that described encoded data stream is decoded, and obtains the pulse sampling point information of described Frame;
Second decoding unit is used to adopt second coding mode that described encoded data stream is decoded, and obtains the non-pulse sampling point information of described Frame;
Reconstruction unit is used for rebuilding described Frame according to described pulse sampling point information and non-pulse sampling point information;
Wherein, described pulse sampling point and non-pulse sampling point are determined according to the sampling point value distribution of input data frame by coding side.
In the technical scheme that the embodiment of the invention provides, by the distribution situation of input data frame sampling point value is analyzed, sampling point in the Frame is divided into pulse sampling point and non-pulse sampling point two classes, then this two classes sampling point is encoded respectively, coding result to two class sampling points carries out the multiplexing technological means that obtains the outputting encoded data stream of this input data frame at last, reduced the required bit number of whole Frame of encoding, improved compression efficiency the bigger Frame of dynamic range.
Description of drawings
In order to be illustrated more clearly in the technical scheme of the embodiment of the invention, to do to introduce simply to the accompanying drawing of required use in embodiment or the description of the Prior Art below, apparently, accompanying drawing in describing below only is some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain other accompanying drawing according to these accompanying drawings.
Fig. 1 is for realizing the flow chart of the inventive method embodiment one coding method;
Fig. 2 is for realizing the flow chart of the inventive method embodiment one coding/decoding method;
Fig. 3 is for realizing the flow chart of the inventive method embodiment two coding methods;
Fig. 4 is for realizing the flow chart of the inventive method embodiment three coding methods;
Fig. 5 is for realizing the flow chart of the inventive method embodiment three coding/decoding methods;
Fig. 6 is the structural representation of a kind of code device of the embodiment of the invention;
Fig. 7 is the structural representation of a kind of decoding device of the embodiment of the invention.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the invention, the technical scheme in the embodiment of the invention is clearly and completely described, obviously, described embodiment only is the present invention's part embodiment, rather than whole embodiment.Based on the embodiment among the present invention, those of ordinary skills belong to the scope of protection of the invention not making the every other embodiment that is obtained under the creative work prerequisite.
At first a kind of lossless compression-encoding method to the embodiment of the invention describes, and may further comprise the steps:
Obtain the value of each sampling point of input data frame;
Sampling point value according to described input data frame distributes, and determines pulse sampling point and non-pulse sampling point in the described input data frame;
If be defined as the pulse sampling point in the described input data frame, then adopt first coding mode to encode and obtain first data flow to described pulse sampling point;
If be defined as the non-pulse sampling point in the described input data frame, then adopt second coding mode to encode and obtain second data flow to described non-pulse sampling point;
Described first data flow and second data flow are carried out multiplexing, obtain the outputting encoded data stream of described input data frame.
Existing dynamic range encoding scheme, be poor according to the maximum sample value of each Frame and minimum sample value, come to determine the sampling point of this Frame required bit number of encoding, and the concrete distribution situation that does not have the Frame sample value takes in, and causes for the code efficiency of the bigger Frame of some dynamic ranges low.With the audio coding is example, in audio signal, have quite a few Frame to have following characteristics: most sampling points all concentrate on several values in the Frame, have only the value of minority sampling point to be different from other sampling points, and these several minority sampling points cause the overall dynamic range of this frame to increase probably, feasible each sampling point for this frame all needs to use more bit to encode, and causes the waste of code source.
In the technical scheme that the embodiment of the invention provided, at first the distribution situation of input data frame sampling point value is analyzed, sampling point in the Frame is divided into pulse sampling point and non-pulse sampling point two classes, then this two classes sampling point is encoded respectively, the coding result to two class sampling points carries out the multiplexing outputting encoded data stream that obtains this input data frame at last.Wherein, if the most sampling points in the input data frame are non-pulse sampling points, remove so after the pulse sampling point, the dynamic range of the sampling point of these non-pulses is controlled, makes the required bit number of each non-pulse sampling point of coding reduce; Simultaneously, the pulse sampling point for causing whole Frame dynamic range to increase individually also can use less bit separately it to be encoded.Compared with prior art, can reduce the required bit number of the whole Frame of coding, improve compression efficiency.
Below in conjunction with accompanying drawing, embodiment of the present invention are described in detail.
Embodiment one:
Figure 1 shows that the flow chart of a kind of lossless compression-encoding method of the embodiment of the invention, may further comprise the steps:
S101, the value of each sampling point of acquisition input data frame.
The technical scheme that the embodiment of the invention provided is to be that unit encodes to the input data with the frame.A Frame is made up of some sampling points (sample), and each sampling point all has value separately.In this step, encoder at first obtains the value of each sampling point after receiving a Frame.
S102 according to the sampling point value distribution of input data frame, determines pulse sampling point and non-pulse sampling point in the described input data frame.
In audio signal, have quite a few Frame to have following characteristics: most sampling points all concentrate on several values in the Frame, have only the value of minority sampling point to be different from other sampling points, at this situation, the embodiment of the invention is divided into two classes with the sampling point in the Frame, does different encoding process respectively.Wherein, in a Frame, the minority value is different from the sampling point of other sampling points, is called the pulse sampling point, and remaining sampling point is called the non-pulse sampling point.
Determine the pulse sampling point and the non-pulse sampling point of a Frame, need at first to determine that the probability of occurrence of which value in this Frame is than higher.Can pre-determine the high sampling point value of probability of occurrence according to the empirical data of sampling point value distribution.For example, ITU-T G.711 standard uses A rule or mu rule that audio frequency is encoded, and for ITU-T G.711 for the code stream of standard code, the sampling point value is the probability of positive zero-sum negative zero higher (positive zero-sum negative zero is defined in restraining by A rule and mu), so, can make:
The positive null value of V0=, V1=negative zero value,
Then the sampling point that is not equal to V0 in the input data frame and is not equal to V1 is counted, if the number of this class sampling point is less than a preset threshold value K (K is the integer greater than 1), then this class sampling point is defined as the pulse sampling point, the sampling point that simultaneously value is equaled V0 or V1 is defined as the non-pulse sampling point.Wherein, in order to guarantee code efficiency, choosing of K value can not be excessive, perhaps, furthermore, finally can be confirmed as the sampling point of pulse sampling point, should be no more than certain ratio in Frame.The choosing method of relevant K value will be elaborated in the embodiment of back.
In addition, also can distribute, determine the value of V0 and V1 in real time according to the sampling point value of input data frame.For example, input data frame frame nComprise 10 sampling points, value is followed successively by 0222300420, and then in this Frame, two sampling points that probability of occurrence is the highest are respectively 0 and 2, can make:
V0=0、V1=2,
In this example, the sampling point number that value is not equal to V0 and is not equal to V1 be 2 (be value be 3 and value be 4 sampling point), if 2 less than preset threshold value K, then be that two sampling points of 3 and 4 are defined as the pulse sampling point with value, value is equaled 0 and 2 sampling point and be defined as the non-pulse sampling point.
Need to prove, in this step, a kind of situation that may exist is: the number that is not equal to V0 and is not equal to the sampling point of V1 is 0, because 0 must be less than K, therefore, in this case, the sampling point that still value is equaled V0 or V1 is defined as the non-pulse sampling point, and thinks that determined pulse sampling point number is 0.
S103, the pulse sampling point as if being defined as in the described input data frame then adopts first coding mode to encode to described pulse sampling point and obtains first data flow; If be defined as the non-pulse sampling point in the described input data frame, then adopt second coding mode to encode and obtain second data flow to described non-pulse sampling point;
With the frame among the S102 nBe example, remove outside the pulse sampling point that remaining non-pulse sampling point sequence is 02220020, for the non-pulse sampling point, can adopt second coding mode, and the amplitude of each non-pulse sampling point is encoded.In the present embodiment, the non-pulse sampling point has two kinds of amplitudes, therefore can use 1 bit that each non-pulse sampling point is encoded, and promptly the non-pulse sampling point is adopted binary-coding.For example, be that 0 sampling point is encoded to 0 with value, be that 2 sampling point is encoded to 1 with value, be 01110010 then to second data flow behind the non-pulse sampling point coding, 8bit altogether.
For the pulse sampling point, can adopt first coding mode, respectively its amplitude and the relative position in former Frame are encoded, will be introduced respectively below:
1) coding of paired pulses sampling point amplitude.
At first need the required bit number a of each pulse sampling point amplitude of calculation code, the simplest method is to find out the pulse sampling point of amplitude absolute value maximum, and the bit number that this sampling point amplitude of coding is required is as the required bit number of each pulse sampling point amplitude of coding.For example, at frame nIn, pulse sampling point maximum amplitude is 4, uses natural binary code coding amplitude " 4 " to need 3 bits, then a=3.The coding result of amplitude " 3 " is 011, is 100 to the coding result of amplitude " 4 " that the amplitude of two pulse sampling points of coding needs 6 bits altogether.
Here, also can adopt dynamic range Methods for Coding in the similar prior art, the paired pulses sampling point is encoded, for example, the minimum value of pulse sampling point is 3, and maximum is 4, the two the difference of encoding needs 1 bit, two the pulse sampling points of encoding need 2 bits altogether, need also to represent minimum value " 3 " with 2 extra bits that frame then encodes nIn the amplitude of two pulse sampling points need 4 bits altogether.
Certainly, the amplitude that can also the paired pulses sampling point and the difference of certain non-pulse sampling point are encoded, and perhaps adopt the amplitude of additive method paired pulses sampling point to encode, and enumerate no longer one by one here.And, for convenience, more than be to be that example describes with the natural binary coding, it will be understood by those skilled in the art that, can adopt the amplitude of Huffman coding, Rice coding constant entropy coded system paired pulses sampling point to encode, the embodiment of the invention does not limit this yet.
2) coding of paired pulses sampling point position.
The required bit number b in calculation code pulse sampling point position at first.At frame nIn, have 10 sampling points, represent that 10 positions need 4 bits (3 bits can be represented 8 positions at most, and 4 bits can be represented 16 positions at most), so b=4.Wherein two pulse sampling points lay respectively at the 5th and the 8th position, its offset with respect to first sampling point is respectively 4 and 7, use 4 bits respectively " 4 " and " 7 " to be encoded, obtain position encoded being respectively " 0100 " and " 0111 " of these two pulse sampling points.
With above-mentioned 1), 2) coding result carry out multiplexing, then to frame nIn the coding of two pulse sampling points after first data flow following (coding of supposing paired pulses sampling point amplitude adopts above-mentioned first kind of mode):
[011][0100][100][0111]
It is convenient that top bracket only is used for describing, and is not the true content in the data flow.Wherein first [011] represents the amplitude of first pulse sampling point, and second portion [0100] is represented the relative position of first pulse sampling point; The amplitude of second pulse sampling point of third part [100] expression, the relative position of second pulse sampling point of the 4th part [0111] expression, totally 14 bits.
S104 carries out multiplexingly to described first data flow and second data flow, obtain the outputting encoded data stream of described input data frame.
Resulting first data flow and second data flow among the S103 are carried out multiplexing, the result is frame nOutputting encoded data stream.Certainly, in the outputting encoded data stream, need carry the coding mode information of these frame data, being used to identify these frame data is the binding patterns that adopt first coding mode+second coding mode, uses for decoding end.
Need to prove, pulse sampling point number described in the corresponding S102 is 0 situation, described first data flow is empty, the outputting encoded data stream that first data flow and second data flow is carried out the input data frame that obtains after multiplexing is second data flow, also promptly only need the non-pulse sampling point is encoded, and directly will the encoding code stream of non-pulse sampling point be flowed as the Frame outputting encoded data.In the outputting encoded data stream of this frame, need carry the coding mode information of these frame data, being used to identify these frame data is to adopt second coding mode, uses for decoding end.
Corresponding to above-mentioned coding method, present embodiment also provides a kind of coding/decoding method, referring to shown in Figure 2, may further comprise the steps:
S105, the encoded data stream of acquisition Frame;
S106 adopts first coding mode that described encoded data stream is decoded, and obtains the pulse sampling point information of described Frame; Adopt second coding mode that described encoded data stream is decoded, obtain the non-pulse sampling point information of described Frame;
Here be example still,, encoded data stream carried out demultiplexing, obtain first data flow and second data flow respectively at first according to the multiplex mode among the S104 with data encoded frame among the S103.
For second data flow 01110010, adopt second coding mode that it is decoded, that is:
0 value in second data flow is decoded as 0,1 value in second data flow is decoded as 2, obtaining decoded non-pulse sampling point sequence is 02220020.
For first data flow 01101001000111, adopt first coding mode that it is decoded, comprise four partial informations altogether according to above-mentioned as can be known first data flow of a=3, b=4, wherein:
First's 3 bits [011] are represented the amplitude of first pulse sampling point, are decoded as 3;
Second portion 4 bits [0100] are represented the relative position of first pulse sampling point, are decoded as 4;
The amplitude of second pulse sampling point of third part 3 bits [100] expression is decoded as 4;
The relative position of second pulse sampling point of the 4th part 4 bits [0111] expression is decoded as 7;
S107 according to described pulse sampling point information and non-pulse sampling point information, rebuilds described Frame.
In S106, decoding obtains 8 non-pulse sampling points, and its amplitude is followed successively by 02220020; Two pulse sampling points, amplitude is respectively 3 and 4, and is respectively 4 and 7 with respect to the offset of first sampling point in the frame.That is to say, the Frame after the reconstruction, its 5th sampling point is the pulse sampling point, and amplitude is that 3, the 8th sampling points are the pulse sampling point, and amplitude is 4.Then the amplitude of 8 pulse sampling points is write successively the rest position of data reconstruction frame, finally the Frame that can obtain rebuilding is 0222300420.
Need to prove that the pulse sampling point number described in the corresponding S102 is 0 situation, decoding end is according to the coding mode information of Frame, and what can know this frame employing is second coding mode.Therefore, first data flow of this frame is empty, only needs to adopt second coding mode to solve the amplitude of all non-pulse sampling points, has promptly finished the reconstruction to this Frame.
Use the scheme that present embodiment provided, coding frame nNeed 8+14=22 bit (not comprising coding mode information) altogether, if use the dynamic range encoding scheme of prior art, frame nDynamic range be 4, each sampling point of encoding needs 3 bits, 10 sampling points of then encoding need 30 bits altogether.As seen, the technical scheme that present embodiment provided has effectively improved the compression efficiency to the bigger Frame of dynamic range.With pulse sampling point and non-pulse sampling point separate processes, make the required bit number of each non-pulse sampling point of coding significantly reduce, improved the code efficiency of non-pulse sampling point effectively.
Embodiment two:
Scheme described in the embodiment one is adapted to most sampling points and all concentrates on several values, has only the value of minority sampling point to be different from the Frame of other sampling points, yet in actual conditions, in the data to be encoded frame, does not much possess this characteristics in addition.For the Frame that does not possess this characteristics, can still adopt other coded systems of the prior art, referring to shown in Figure 3, in the method that present embodiment provided, S201, S203, S204 are identical with S101, S103, S104 among the embodiment respectively.Difference is determining step S202, if can't determine pulse sampling point and non-pulse sampling point in S202, then carries out S205, adopts other coded systems of the prior art (for example dynamic range coding), obtains the outputting encoded data stream of input data frame.
Preferably, between step S201 and S202, can also further increase a step: whether the sampling point value of judging input data frame is constant, if, then directly adopt the constant coded system that input data frame is encoded, if not, further carry out S202 again.
For judging whether to determine pulse sampling point and non-pulse sampling point in the input data frame, relate to choosing of threshold k, in embodiment one, once mentioned, in order to guarantee code efficiency, choosing of K value can not be excessive, perhaps, and furthermore, finally can be confirmed as the sampling point of pulse sampling point, should in Frame, be no more than certain ratio.
In actual applications, rule of thumb data are directly chosen a less value as the K value, for example make K=2, K=4, or the like.Perhaps, also can following formula as a reference, the K value is estimated:
K<(P-Q)/(a+b)
Wherein, P is for adopting other coding methods required bit number of whole Frame (L sampling point altogether) of encoding, and Q is for adopting the binary-coding method required bit number of (L-K) individual sampling point of encoding.A is required bit number of pulse amplitude of coding; B is required bit number of pulse relative position of coding.
Illustrate, suppose L=16, adopting the dynamic range coded system required bit number of each sampling point of encoding is 8, then:
P=16*8=128bit;
Q=(16-K)bit;
And, obtain a=4bit, b=8bit by prediction and calculation;
The above-mentioned inequality of value substitution with P, Q, a, b:
K<(128-(16-K))/12
Solve K<10.1.
In other words, in the time of L=16, in a Frame,, adopt the encoding scheme of the embodiment of the invention will be basic identical so with the code efficiency that adopts the dynamic range encoding scheme if determined 10 pulse sampling points.Along with reducing of K value, adopt the code efficiency of embodiment of the invention encoding scheme to improve gradually, but the scope of application also narrow down gradually.For example, if finally select threshold k=8, so,,, promptly carry out S205 with adopting other coded system for the Frame of K=9 and K=10.When practical application, concrete characteristics that can the reference data frame, and the combined factors such as demand of encoder efficient, complexity consider, determine the value of threshold k.
In the above-described embodiments, for convenience, all be to adopt simple 0/1 binary-coding mode to describe for the non-pulse sampling point, promptly represent two non-pulse sample value respectively with 0 and 1.What those skilled in the art expected easily is to adopt distance of swimming binary-coding mode that the non-pulse sampling point is encoded.And, can also further adopt Huffman coding, Rice coding constant entropy coded system that Run-Length Coding information is encoded.
Embodiment three:
Below in conjunction with a concrete application example, coding method provided by the present invention is described.Figure 4 shows that and a kind of code stream is G.711 carried out the method flow diagram of lossless compression-encoding, may further comprise the steps:
S301, the value of each sampling point of acquisition input data frame.
Encoder obtains the value of each sampling point in this Frame receiving one G.711 behind the Frame.
S302 judges whether the sampling point value of input data frame is constant.If not, then carry out S303; If then carry out S307.
S303 judges in the input data frame, and value is not whether the number of samples of positive zero or negative zero is less than 2, if then carry out S304; If not, then carry out S307.
G.711 standard uses A rule or mu rule that audio frequency is encoded, and for the code stream of standard code G.711, the sampling point value is that the probability of positive zero-sum negative zero is higher, therefore, can make V0 and V1 be respectively positive null value and negative zero value.Wherein, the sampling point span of G711 code stream is 0~0xff.The positive null value of A rule represents that with 0xd5 the negative zero value is represented with 0x55; The positive null value of mu rule represents that with 0xff the negative zero value is represented with 0x7f.
In the present embodiment, threshold k rule of thumb data decimation is 2, that is: when value in the Frame be not the number of samples of positive zero or negative zero less than 2 the time, adopt scheme that the embodiment of the invention provided to this Frame encode (carrying out S304 and subsequent step thereof); When value in the Frame be not the number of samples of positive zero or negative zero more than or equal to 2 the time, adopt other coding modes to this Frame encode (carrying out S307).
S304 judges in the input data frame, whether value does not equal 0 for the number of samples of positive zero or negative zero, if then carry out S305; If not, then carry out S306.
S305 adopts the binary-coding pattern to obtain the outputting encoded data stream of described input data frame.
In input data frame, value does not equal at 0 o'clock for the number of samples of positive zero or negative zero, promptly has only two kinds of sampling point values of positive zero-sum negative zero in the input data frame, and adopt binary-coding pattern to this Frame this moment.If the change frequency of sample value is higher, can 0/1 binary-coding mode, be about to positive null value and negative zero value and be encoded to 0 and 1 (or 1 and 0) respectively.If the change frequency of sample value is lower, promptly the situation of positive null value of appearance or negative zero value can adopt the method for distance of swimming binary-coding more for a long time continuously, below will the method for distance of swimming binary-coding be described.
S305a analyzes Run-Length Coding information.
The number of samples of at first more positive null value and negative zero value is if the number of samples of positive null value is provided with the positive null value of reference value more_value=, less_value=negative zero value at most.If the number of samples of negative zero value is provided with reference value more_value=negative zero value, the positive null value of less_value=at most; Calculate the continuous number that occurs of more_value and less_value then respectively as Run-Length Coding information; For example, use the Frame of A-law encoding, frame length L=40, the order of sample value is: continuous 15 positive null values, continuous 5 negative zero values, continuous 18 positive null values, continuous 2 negative zero values then can make more_value=0xd5, less_value=0x55, Run-Length Coding information can be expressed as ((0xd5,15), (0x55,5), (0xd5,18), (0x55,2)).
S305b encodes to Run-Length Coding information.
For above-mentioned Itinerary Information, can be directly to the number of more_value and the number (15 of less_value, 5,18,2) encode, also the number that m-1 0 continuous and more_value can be occurred is continuously encoded (wherein, m represents that the number of less_value appears afterwards in more_value continuously) more jointly as Run-Length Coding information.For example ((0xd5,15), (0x55,5), (0xd5,18), (0x55,2)), can further be expressed as (15,0,0,0,0,18,0), wherein the continuous number that occurs of 15 expression more_value is represented after the more_value for 40 of the back, has occurred 5 less_value continuously; The number that 18 expression more_value occur continuously, 10 of back is represented after the more_value, has occurred 2 less_value continuously.
Present embodiment adopts the rice coding method that Itinerary Information is encoded, and at first according to Run-Length Coding information, estimates the parameter value s of its rice coding, then it is carried out coding based on the s parameter.For example for above-mentioned Run-Length Coding information (15,0,0,0,0,18,0), its final coding result can be expressed as:
rice_encode((15,0,0,0,0,18,0),s)
For the estimated s value that goes out, also will encode (can use coding methods such as natural binary, Huffman), and with the together multiplexing coding output stream of the coding result of Run-Length Coding information as the notebook data frame.Wherein, can reserve a s value that probability of occurrence is less, in order to the two-value among the mark S306+pulse code pattern.For example, the probability of occurrence of s=1 is smaller, then s=1 is reserved.Should adopt s=1 as parameter if estimate certain Frame according to Run-Length Coding information, the s value of this frame that then will be used to encode be taken as 1 close on value (for example getting s=0 or s=2), with this value of closing on the Run-Length Coding information of this frame is encoded then.In some execution mode, also can be that the probability of occurrence of s=0 is smaller, and the change frequency of expression sample value be higher, then s=0 is reserved.Adopt s=0 as parameter if estimate certain Frame, then directly these frame data are encoded with 0/1 binary-coding mode according to Run-Length Coding information.Be that example describes below with s=0.
When the length of input data frame is L, use the 0/1 binary-coding mode whole Frame (not containing the pulse sampling point) of encoding to need the L bit, if by prediction, obtain using the used bit number of distance of swimming binary-coding mode less than L, then use distance of swimming binary-coding mode that input data frame is encoded, otherwise use 0/1 binary-coding mode.
S306 adopts two-value+pulse code pattern to obtain the outputting encoded data stream of described input data frame.
In input data frame, value does not equal at 1 o'clock for the number of samples of positive zero or negative zero, this Frame is adopted the coding mode of two-value+pulse.
Wherein, for the non-pulse sampling point, can adopt the mode among the similar S305 to encode.And for the pulse sampling point, need respectively its amplitude and relative position to be encoded.
In the present embodiment, owing to only there is a pulse amplitude, therefore can at first comparing the absolute value of difference of pulse amplitude pulse_value and more_value and less_value, which is littler, and represents comparative result with 1bit, then with the rice method less difference of encoding.
G.711 the frame length L of code stream comprises situations such as L=40, L=80, L=160, L=240, L=320, need be with the 6 bits relative position information of encoding when L=40, need 7 bits during L=80, need 8 bits during L=160/240, use 9 bits during L=320.For the detailed method of pulse sampling point relative position coding, can be referring among the S103 the 2nd) joint is described, no longer repeat specification here.
For adopting two-value+pulse code pattern to carry out the coded data frame, can identify with the s value of reserving, described in s305b, what can identify this Frame employing with the s=0 of reservation is two-value+pulse code pattern.
S307 adopts other coding modes to obtain the outputting encoded data stream of described input data frame.
When the sampling point value of input data frame is a constant, when perhaps not belonging to " most sampling point values are positive zero or negative zero; indivedual sampling points are other values " this situation, further according to the concrete condition of this frame, adopt other coding modes (for example predictive coding, dynamic range coding, constant coding etc.) to obtain the outputting encoded data stream of described input data frame, and in outputting encoded data stream, add the information of identification data frame encoding mode of being used for.
What those skilled in the art were easy to expect is, the rice coded system described in the present embodiment also can be replaced with other entropy coding mode, and these do not influence the present invention program's realization.
It is a kind of for the lossless compression-encoding method of code stream G.711 that present embodiment provides, and in the method, specifically G.711 the data frame dividing of code stream is 4 kinds, and adopts different coding modes respectively:
1), uses the constant coding mode for the constant data frame;
2) for two-value data frame (positive zero-sum negative zero), use the binary-coding pattern;
3), use two-value+pulse code pattern for Frame with a pulse value;
4) for non-1), 2), 3) Frame of situation, use predictive coding, dynamic range coding isotype;
Wherein, above-mentioned binary-coding pattern and two-value+pulse code pattern all can reduce the bit number of outputting encoded data, improves code efficiency.
Corresponding to above-mentioned coding method, present embodiment also provides a kind of coding/decoding method, referring to shown in Figure 5, may further comprise the steps:
S308, the encoded data stream of acquisition Frame; The coding mode of judgment data frame;
Decoding end at first solves the coding mode information in the encoded data stream, with the coding mode of judging that this frame is adopted after the encoded data stream that receives a Frame.Wherein, the coding mode of binary-coding pattern and two-value+pulse is to distinguish with the s value, if solve s ≠ 0, what this Frame employing was described is the binary-coding pattern, carries out S309; If solve s=0, what this Frame employing was described is the coding mode of two-value+pulse, carries out S310.If solve this Frame is the coding mode that adopts other, then carries out S311.
S309 adopts the two-value decoding process to rebuild described Frame;
In encoded data stream, solve the sampling point sequence of positive null value and negative zero value, as the Frame of rebuilding.
S310 adopts two-value decoding+pulse decoding mode to rebuild described Frame;
In encoded data stream, solve the sampling point sequence of positive null value and negative zero value, and the amplitude of pulse sampling point and relative position, according to the relative position of pulse sampling point, the pulse sampling point is merged in positive null value and the negative zero value sampling point sequence Frame that obtains rebuilding then.
S311 adopts other decoding processes to rebuild described Frame;
Other coding modes (for example predictive coding, dynamic range coding, constant coding etc.) that adopted among the corresponding S307 adopt corresponding coding/decoding method, the Frame that obtains rebuilding.
For convenience of description; the embodiment of the invention all concentrates on two this more typical situations of value based on most sampling points in the Frame and describes; what those skilled in the art expected easily is; most sampling points all concentrate on 1 value in Frame; 3 values; 4 values ... etc. during situation; can use technical scheme provided by the present invention equally; promptly the value according to the Frame sampling point distributes; sampling point in the Frame is divided into pulse sampling point and non-pulse sampling point two classes; then this two classes sampling point is encoded respectively; to improve code efficiency, these also should be considered as protection scope of the present invention.
One of ordinary skill in the art will appreciate that: all or part of step that realizes said method embodiment can be finished by the relevant hardware of program command, aforesaid program can be stored in the computer read/write memory medium, this program is carried out the step that comprises said method embodiment when carrying out; And aforesaid storage medium comprises: various media that can be program code stored such as ROM, RAM, magnetic disc or CD.
Embodiment four:
Corresponding to top method embodiment, the embodiment of the invention also provides a kind of code device, referring to shown in Figure 6, comprising: analytic unit 410, sampling point taxon 420, the first coding units, 430, the second coding units 440 and Multiplexing Unit 450.
Analytic unit 410 is used to obtain the value of each sampling point of input data frame;
The technical scheme that the embodiment of the invention provided is to be that unit encodes to the input data with the frame.A Frame is made up of some sampling points (sample), and each sampling point all has value separately.Code device at first obtains the value of each sampling point by analytic unit 410 after receiving a Frame.
Sampling point taxon 420 is used for distributing according to the sampling point value of described input data frame, determines pulse sampling point and non-pulse sampling point in the described input data frame;
In audio signal, have quite a few Frame to have following characteristics: most sampling points all concentrate on several values in the Frame, have only the value of minority sampling point to be different from other sampling points, at this situation, the embodiment of the invention is divided into two classes with the sampling point in the Frame, does different encoding process respectively.Wherein, in a Frame, the minority value is different from the sampling point of other sampling points, is called the pulse sampling point, and remaining sampling point is called the non-pulse sampling point.
Determine the pulse sampling point and the non-pulse sampling point of a Frame, need at first to determine that the probability of occurrence of which value in this Frame is than higher.Can pre-determine the high sampling point value of probability of occurrence according to the empirical data of sampling point value distribution.Also can distribute, determine the high sampling point value of probability of occurrence in real time according to the sampling point value of input data frame.
For example, in Frame, the likelihood ratio that has two kinds of values to occur is higher, and then can make these two values respectively is V0 and V1.Sampling point taxon 420 can comprise:
Two-value is determined subelement, is used for determining the sampling point of described input data frame, two sampling point value V0 that probability of occurrence is the highest and V1; For example, input data frame frame nComprise 10 sampling points, value is followed successively by 0222300420, and then in this Frame, two sampling points that probability of occurrence is the highest are respectively 0 and 2, can make: V0=0, V1=2.
Sampling point classification subelement, if in described input data frame, the sampling point number that value is not equal to V0 and is not equal to V1 is less than preset threshold value, and the sampling point that the sampling point that then described value is not equal to V0 and is not equal to V1 is defined as the pulse sampling point, equal value to V0 or V1 is defined as the non-pulse sampling point.At frame nIn, the sampling point number that value is not equal to V0 and is not equal to V1 be 2 (be value be 3 and value be 4 sampling point), if 2 less than preset threshold value K, then be that two sampling points of 3 and 4 are defined as the pulse sampling point with value, value is equaled 0 and 2 sampling point and be defined as the non-pulse sampling point.
If the number that is not equal to V0 and is not equal to the sampling point of V1 is 0, because 0 must be less than K, therefore, in this case, the sampling point that still value is equaled V0 or V1 is defined as the non-pulse sampling point, and thinks that determined pulse sampling point number is 0.
First coding unit 430 is used for pulse sampling point to the described input data frame determined and adopts first coding mode to encode to obtain first data flow;
The specific implementation of encoding for the pulse sampling point is: adopt first coding mode, respectively its amplitude and the relative position in former Frame are encoded.
1) coding of paired pulses sampling point amplitude.
At first need the required bit number a of each pulse sampling point amplitude of calculation code, the simplest method is to find out the pulse sampling point of amplitude absolute value maximum, and the bit number that this sampling point amplitude of coding is required is as the required bit number of each pulse sampling point amplitude of coding.For example, at frame nIn, pulse sampling point maximum amplitude is 4, uses natural binary code coding amplitude " 4 " to need 3 bits, then a=3.The coding result of amplitude " 3 " is 011, is 100 to the coding result of amplitude " 4 " that the amplitude of two pulse sampling points of coding needs 6 bits altogether.
Here, also can adopt dynamic range Methods for Coding in the similar prior art, the paired pulses sampling point is encoded, for example, the minimum value of pulse sampling point is 3, and maximum is 4, the two the difference of encoding needs 1 bit, two the pulse sampling points of encoding need 2 bits altogether, need also to represent minimum value " 3 " with 2 extra bits that frame then encodes nIn the amplitude of two pulse sampling points need 4 bits altogether.
Certainly, the amplitude that can also the paired pulses sampling point and the difference of certain non-pulse sampling point are encoded, and perhaps adopt the amplitude of additive method paired pulses sampling point to encode, and enumerate no longer one by one here.And, for convenience, more than be to be that example describes with the natural binary coding, it will be understood by those skilled in the art that, first coding unit 430 also can adopt the amplitude of Huffman coding, Rice coding constant entropy coded system paired pulses sampling point to encode, and the embodiment of the invention does not limit this.
2) coding of paired pulses sampling point position.
The required bit number b in calculation code pulse sampling point position at first.At frame nIn, have 10 sampling points, represent that 10 positions need 4 bits (3 bits can be represented 8 positions at most, and 4 bits can be represented 16 positions at most), so b=4.Wherein two pulse sampling points lay respectively at the 5th and the 8th position, its offset with respect to first sampling point is respectively 4 and 7, use 4 bits respectively " 4 " and " 7 " to be encoded, obtain position encoded being respectively " 0100 " and " 0111 " of these two pulse sampling points.
With above-mentioned 1), 2) coding result carry out multiplexing, then to frame nIn the coding of two pulse sampling points after first data flow following (coding of supposing paired pulses sampling point amplitude adopts above-mentioned first kind of mode):
[011][0100][100][0111]
It is convenient that top bracket only is used for describing, and is not the true content in the data flow.Wherein first [011] represents the amplitude of first pulse sampling point, and second portion [0100] is represented the relative position of first pulse sampling point; The amplitude of second pulse sampling point of third part [100] expression, the relative position of second pulse sampling point of the 4th part [0111] expression, totally 14 bits.
Second coding unit 440 is used for non-pulse sampling point to the described input data frame determined and adopts second coding mode to encode to obtain second data flow;
The specific implementation that the non-pulse sampling point is encoded is: adopt second coding mode, the amplitude of each non-pulse sampling point is encoded.For example, the non-pulse sampling point has two kinds of value V0 and V1, then can use 1 bit that each non-pulse sampling point is encoded, and promptly the non-pulse sampling point is adopted binary-coding.
Multiplexing Unit 450 is used for described first data flow and second data flow are carried out multiplexing, obtains the outputting encoded data stream of described input data frame.
The first above-mentioned data flow and second data flow are carried out multiplexing, the result is frame nOutputting encoded data stream.Certainly, in the outputting encoded data stream, need carry the coding mode information of these frame data, being used to identify these frame data is the binding patterns that adopt first coding mode+second coding mode, uses for decoding end.
If the pulse sampling point number that sampling point taxon 420 is determined is 0, then described first data flow is empty, the outputting encoded data stream that first data flow and second data flow is carried out the input data frame that obtains after multiplexing is second data flow, in the outputting encoded data stream of this frame, need carry the coding mode information of these frame data, being used to identify these frame data is to adopt second coding mode, uses for decoding end.
Present embodiment also provides a kind of decoding device, referring to shown in Figure 7, comprising: input unit 460, the first decoding units 470, the second decoding units 480, reconstruction unit 490.
Input unit 460 is used to obtain the encoded data stream of Frame;
First decoding unit 470 is used to adopt first coding mode that described encoded data stream is decoded, and obtains the pulse sampling point information of described Frame;
For example, first data flow 01101001000111 in the encoded data stream adopts second coding mode that it is decoded, and comprises four partial informations altogether according to above-mentioned as can be known first data flow of a=3, b=4, wherein:
First's 3 bits [011] are represented the amplitude of first pulse sampling point, are decoded as 3;
Second portion 4 bits [0100] are represented the relative position of first pulse sampling point, are decoded as 4;
The amplitude of second pulse sampling point of third part 3 bits [100] expression is decoded as 4;
The relative position of second pulse sampling point of the 4th part 4 bits [0111] expression is decoded as 7;
Second decoding unit 480 is used to adopt second coding mode that described encoded data stream is decoded, and obtains the non-pulse sampling point information of described Frame;
For example, second data flow 01110010 in the encoded data stream adopts second coding mode that it is decoded, that is:
0 value in second data flow is decoded as 0,1 value in second data flow is decoded as 2, obtaining decoded non-pulse sampling point sequence is 02220020.
Reconstruction unit 490 is used for rebuilding described Frame according to described pulse sampling point information and non-pulse sampling point information.
First decoding unit 470, decoding obtains 8 non-pulse sampling points, and its amplitude is followed successively by 02220020; Second decoding unit 480, decoding obtains two pulse sampling points, and amplitude is respectively 3 and 4, and is respectively 4 and 7 with respect to the offset of first sampling point in the frame.That is to say, the Frame after the reconstruction, its 5th sampling point is the pulse sampling point, and amplitude is that 3, the 8th sampling points are the pulse sampling point, and amplitude is 4.Then the amplitude of 8 pulse sampling points is write successively the rest position of data reconstruction frame, finally the Frame that can obtain rebuilding is 0222300420.
Need to prove that if first data flow is empty, then only need second decoding unit 480 to adopt second coding mode to solve the amplitude of all non-pulse sampling points, reconstruction unit 490 directly utilizes the amplitude of non-pulse sampling point, can finish the reconstruction to this Frame.
The code device that present embodiment provided, sampling point in the Frame is divided into pulse sampling point and non-pulse sampling point two classes, then this two classes sampling point is encoded respectively, the coding result to two class sampling points carries out the multiplexing outputting encoded data stream that obtains this input data frame at last.Remove after the pulse sampling point, the dynamic range of the sampling point of non-pulse is controlled, makes the required bit number of each non-pulse sampling point of coding reduce, and has effectively improved the code efficiency of non-pulse sampling point; Simultaneously, the pulse sampling point for causing whole Frame dynamic range to increase individually also can use less bit separately it to be encoded.Compared with prior art, can reduce the required bit number of the whole Frame of coding, improve compression efficiency.
For device embodiment, because it is substantially corresponding to method embodiment, so describe fairly simplely, relevant part gets final product referring to the part explanation of method embodiment.Device embodiment described above only is schematic, wherein said unit as the separating component explanation can or can not be physically to separate also, the parts that show as the unit can be or can not be physical locations also, promptly can be positioned at a place, perhaps also can be distributed on a plurality of network element.Can select wherein some or all of module to realize the purpose of present embodiment scheme according to the actual needs.Those of ordinary skills promptly can understand and implement under the situation of not paying creative work.
The above only is the specific embodiment of the present invention; should be pointed out that for those skilled in the art, under the prerequisite that does not break away from the principle of the invention; can also make some improvements and modifications, these improvements and modifications also should be considered as protection scope of the present invention.

Claims (18)

1, a kind of coding method is characterized in that, comprising:
Obtain the value of each sampling point of input data frame;
Sampling point value according to described input data frame distributes, and determines pulse sampling point and non-pulse sampling point in the described input data frame;
If be defined as the pulse sampling point in the described input data frame, then adopt first coding mode to encode and obtain first data flow to described pulse sampling point;
If be defined as the non-pulse sampling point in the described input data frame, then adopt second coding mode to encode and obtain second data flow to described non-pulse sampling point;
Described first data flow and second data flow are carried out multiplexing, obtain the outputting encoded data stream of described input data frame.
2, method according to claim 1 is characterized in that, described sampling point value according to described input data frame distributes, and determines pulse sampling point and non-pulse sampling point in the described input data frame, comprising:
Determine in the sampling point of described input data frame two sampling point value V0 that probability of occurrence is the highest and V1;
If in described input data frame, the sampling point number that value is not equal to V0 and is not equal to V1 is less than preset threshold value, and the sampling point that the sampling point that then described value is not equal to V0 and is not equal to V1 is defined as the pulse sampling point, equal value to V0 or V1 is defined as the non-pulse sampling point.
3, method according to claim 2 is characterized in that, if in described input data frame, determined pulse sampling point number is 0, then
The outputting encoded data stream of resulting described input data frame is second data flow.
According to claim 2 or 3 described methods, it is characterized in that 4, in the sampling point of described definite input data frame, two sampling point value V0 that probability of occurrence is the highest and V1 comprise:
Empirical data according to the sampling point value distributes pre-determines V0 and V1,
Perhaps,
Sampling point value according to described input data frame distributes, and determines the V0 and the V1 of described input data frame.
According to each described method of claim 1 to 3, it is characterized in that 5, described paired pulses sampling point adopts first coding mode to encode, and comprising:
Amplitude and the relative position of described pulse sampling point in described input data frame to described pulse sampling point are encoded.
6, according to each described method of claim 1 to 3, it is characterized in that, describedly adopt second coding mode to encode, comprising the non-pulse sampling point:
Amplitude to described non-pulse sampling point is encoded.
7, a kind of coding/decoding method is characterized in that, comprising:
Obtain the encoded data stream of Frame;
Adopt first coding mode that described encoded data stream is decoded, obtain the pulse sampling point information of described Frame; Adopt second coding mode that described encoded data stream is decoded, obtain the non-pulse sampling point information of described Frame;
According to described pulse sampling point information and non-pulse sampling point information, rebuild described Frame;
Wherein, described pulse sampling point and non-pulse sampling point are determined according to the sampling point value distribution of input data frame by coding side.
8, method according to claim 7 is characterized in that, described employing first coding mode is decoded to described encoded data stream, obtains the pulse sampling point information of described Frame, comprising:
Adopt first coding mode that described encoded data stream is decoded, obtain the pulse sampling point amplitude and the relative position of described pulse sampling point in described Frame of described Frame.
9, method according to claim 7 is characterized in that, described employing second coding mode is decoded to described encoded data stream, obtains the non-pulse sampling point information of described Frame, comprising:
Adopt second coding mode that described encoded data stream is decoded, obtain the non-pulse sampling point amplitude of described Frame.
10, a kind of code device is characterized in that, comprising:
Analytic unit is used to obtain the value of each sampling point of input data frame;
The sampling point taxon is used for distributing according to the sampling point value of described input data frame, determines pulse sampling point and non-pulse sampling point in the described input data frame;
First coding unit is used for pulse sampling point to the described input data frame determined and adopts first coding mode to encode to obtain first data flow;
Second coding unit is used for non-pulse sampling point to the described input data frame determined and adopts second coding mode to encode to obtain second data flow;
Multiplexing Unit is used for described first data flow and second data flow are carried out multiplexing, obtains the outputting encoded data stream of described input data frame.
11, device according to claim 10 is characterized in that, described sampling point taxon comprises:
Two-value is determined subelement, is used for determining the sampling point of described input data frame, two sampling point value V0 that probability of occurrence is the highest and V1;
Sampling point classification subelement, if in described input data frame, the sampling point number that value is not equal to V0 and is not equal to V1 is less than preset threshold value, and the sampling point that the sampling point that then described value is not equal to V0 and is not equal to V1 is defined as the pulse sampling point, equal value to V0 or V1 is defined as the non-pulse sampling point.
12, device according to claim 11 is characterized in that, when the determined pulse sampling point of described sampling point classification subelement number is 0,
The outputting encoded data stream of the described input data frame that described Multiplexing Unit obtains is second data flow.
13, according to claim 11 or 12 described devices, it is characterized in that,
Described two-value is determined subelement, and the empirical data according to the sampling point value distributes pre-determines V0 and V1, perhaps, according to the sampling point value distribution of described input data frame, determines the V0 and the V1 of described input data frame.
14, according to each described device of claim 10 to 12, it is characterized in that,
Described first coding unit is used for the amplitude and the described pulse sampling point of described pulse sampling point are encoded at the relative position of described input data frame.
15, according to each described device of claim 10 to 12, it is characterized in that,
Described second coding unit is used for the amplitude of described non-pulse sampling point is encoded.
16, a kind of decoding device is characterized in that, comprising:
Input unit is used to obtain the encoded data stream of Frame;
First decoding unit is used to adopt first coding mode that described encoded data stream is decoded, and obtains the pulse sampling point information of described Frame;
Second decoding unit is used to adopt second coding mode that described encoded data stream is decoded, and obtains the non-pulse sampling point information of described Frame;
Reconstruction unit is used for rebuilding described Frame according to described pulse sampling point information and non-pulse sampling point information;
Wherein, described pulse sampling point and non-pulse sampling point are determined according to the sampling point value distribution of input data frame by coding side.
17, device according to claim 16 is characterized in that,
Described first decoding unit is used to adopt first coding mode that described encoded data stream is decoded, and obtains the pulse sampling point amplitude and the relative position of described pulse sampling point in described Frame of described Frame.
18, device according to claim 16 is characterized in that,
Described second decoding unit is used to adopt second coding mode that described encoded data stream is decoded, and obtains the non-pulse sampling point amplitude of described Frame.
CN2009101518360A 2009-05-12 2009-06-25 Coding and decoding methods and devices Active CN101615911B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2009101518360A CN101615911B (en) 2009-05-12 2009-06-25 Coding and decoding methods and devices
US12/778,644 US8571112B2 (en) 2009-05-12 2010-05-12 Specification method and apparatus for coding and decoding
EP10162750A EP2251981B1 (en) 2009-05-12 2010-05-12 Method and apparatus for coding and decoding
EP12183174A EP2533427A1 (en) 2009-05-12 2010-05-12 Method and apparatus for coding and decoding
US13/956,093 US20140006036A1 (en) 2009-05-12 2013-07-31 Method and apparatus for coding and decoding

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200910138674.7 2009-05-12
CN200910138674 2009-05-12
CN2009101518360A CN101615911B (en) 2009-05-12 2009-06-25 Coding and decoding methods and devices

Publications (2)

Publication Number Publication Date
CN101615911A true CN101615911A (en) 2009-12-30
CN101615911B CN101615911B (en) 2010-12-08

Family

ID=41495372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101518360A Active CN101615911B (en) 2009-05-12 2009-06-25 Coding and decoding methods and devices

Country Status (3)

Country Link
US (2) US8571112B2 (en)
EP (2) EP2533427A1 (en)
CN (1) CN101615911B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014029260A1 (en) * 2012-08-21 2014-02-27 电信科学技术研究院 Method and device for data compression, transmission, and decompression
WO2014139454A1 (en) * 2013-03-14 2014-09-18 Huawei Technologies Co., Ltd. System and method for multi-stream compression and decompression
CN107945807A (en) * 2016-10-12 2018-04-20 厦门雅迅网络股份有限公司 Audio recognition method and its system based on the mute distance of swimming
CN110086548A (en) * 2019-03-19 2019-08-02 上海林果实业股份有限公司 Coding method, encoding device, coding/decoding method and decoding device
CN111179946A (en) * 2013-09-13 2020-05-19 三星电子株式会社 Lossless encoding method and lossless decoding method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700410B2 (en) * 2009-06-18 2014-04-15 Texas Instruments Incorporated Method and system for lossless value-location encoding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4684923A (en) * 1984-09-17 1987-08-04 Nec Corporation Encoder with selective indication of compression encoding and decoder therefor
JP2841362B2 (en) * 1987-12-25 1998-12-24 松下電器産業株式会社 High efficiency coding device
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
US6823303B1 (en) * 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6260017B1 (en) * 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
US7328150B2 (en) * 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
CN101494460B (en) * 2003-09-02 2012-07-11 日本电信电话株式会社 Floating point signal reversible encoding method, decoding method, device thereof, program, and recording medium thereof
US7724838B2 (en) * 2003-09-25 2010-05-25 Qualcomm Incorporated Hierarchical coding with multiple antennas in a wireless communication system
CN101241701B (en) 2004-09-17 2012-06-27 广州广晟数码技术有限公司 Method and equipment used for audio signal decoding
EP2009623A1 (en) * 2007-06-27 2008-12-31 Nokia Siemens Networks Oy Speech coding
DE102007017254B4 (en) * 2006-11-16 2009-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for coding and decoding

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014029260A1 (en) * 2012-08-21 2014-02-27 电信科学技术研究院 Method and device for data compression, transmission, and decompression
US9515737B2 (en) 2012-08-21 2016-12-06 China Academy Of Telecommunications Technology Method and device for data compression, transmission, and decompression
WO2014139454A1 (en) * 2013-03-14 2014-09-18 Huawei Technologies Co., Ltd. System and method for multi-stream compression and decompression
CN105052040A (en) * 2013-03-14 2015-11-11 华为技术有限公司 System and method for multi-stream compression and decompression
US10015285B2 (en) 2013-03-14 2018-07-03 Huawei Technologies Co., Ltd. System and method for multi-stream compression and decompression
CN111179946A (en) * 2013-09-13 2020-05-19 三星电子株式会社 Lossless encoding method and lossless decoding method
CN111179946B (en) * 2013-09-13 2023-10-13 三星电子株式会社 Lossless encoding method and lossless decoding method
CN107945807A (en) * 2016-10-12 2018-04-20 厦门雅迅网络股份有限公司 Audio recognition method and its system based on the mute distance of swimming
CN107945807B (en) * 2016-10-12 2021-04-13 厦门雅迅网络股份有限公司 Voice recognition method and system based on silence run
CN110086548A (en) * 2019-03-19 2019-08-02 上海林果实业股份有限公司 Coding method, encoding device, coding/decoding method and decoding device

Also Published As

Publication number Publication date
CN101615911B (en) 2010-12-08
US8571112B2 (en) 2013-10-29
EP2533427A1 (en) 2012-12-12
EP2251981B1 (en) 2012-10-24
US20100290535A1 (en) 2010-11-18
EP2251981A1 (en) 2010-11-17
US20140006036A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
CN101615911B (en) Coding and decoding methods and devices
CN100456638C (en) Treating method for sound frequency data and nondamage decoding method
CN101849258B (en) Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
CN101615910B (en) Method, device and equipment of compression coding and compression coding method
CN101796579B (en) Hierarchical coding of digital audio signals
CN1112799A (en) Method and apparatus for encoding digital signals, method and apparatus for decoding the coded signals, and medium for recording the coded signals
AU2009267477A1 (en) Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver
CZ300954B6 (en) Process of and apparatus for encoding digital information signal, decoding apparatus and record carrier
CN101290774B (en) Audio encoding and decoding system
CN1071769A (en) The method that a kind of voice signal to the people is encoded and deciphered
US11508386B2 (en) Audio coding method based on spectral recovery scheme
Zhao et al. Fingerprint image compression based on directional filter banks and TCQ
US20090063161A1 (en) Method and apparatus for encoding and decoding continuation sinusoidal signal of audio signal
KR20230121396A (en) Stereo encoding method and encoding device, decoding method and decoding device using neural network
KR20230018976A (en) Audio Signal Encoding and Decoding Method, and Encoder and Decoder Performing the Methods
CN102571270A (en) Decoding method and device
CN101605017A (en) The distribution method of coded-bit and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CI01 Publication of corrected invention patent application

Correction item: Contrast file

Correct: CN 101312041 A

False: CN 10131204 A

Number: 49

Volume: 26

CI03 Correction of invention patent

Correction item: Contrast file

Correct: CN 101312041 A

False: CN 10131204 A

Number: 49

Page: The title page

Volume: 26

ERR Gazette correction

Free format text: CORRECT: REFERENCES; FROM: CN 10131204 A TO: CN 101312041 A