CN101626242B - Improved Huffman decoding method and device - Google Patents

Improved Huffman decoding method and device Download PDF

Info

Publication number
CN101626242B
CN101626242B CN200810116546.8A CN200810116546A CN101626242B CN 101626242 B CN101626242 B CN 101626242B CN 200810116546 A CN200810116546 A CN 200810116546A CN 101626242 B CN101626242 B CN 101626242B
Authority
CN
China
Prior art keywords
search unit
level
order
module
dra
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.)
Active
Application number
CN200810116546.8A
Other languages
Chinese (zh)
Other versions
CN101626242A (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.)
Guangdong Guangsheng Research And Development Institute Co ltd
Original Assignee
Digital Technology Beijing 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 Digital Technology Beijing Co ltd filed Critical Digital Technology Beijing Co ltd
Priority to CN200810116546.8A priority Critical patent/CN101626242B/en
Publication of CN101626242A publication Critical patent/CN101626242A/en
Application granted granted Critical
Publication of CN101626242B publication Critical patent/CN101626242B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a Huffman decoding method. The method comprises the following steps: obtaining a first-stage search of a first-stage search unit having three components of a two-stage Huffman codebook based on a data stream to be decoded; a first-level judgment for judging whether the first-level search unit is a leaf node or a root node; if the first-stage search unit is judged to be a leaf node, outputting a third component and a second component of the first-stage search unit as the bit number of the decoded data and the Huffman code word respectively; otherwise, the method of the invention also carries out the second-stage search, and obtains the bit number of the decoding data and the Huffman code word according to the second-stage search unit obtained by the second-stage search. The invention also provides a Huffman decoding device corresponding to the method. By the method and the device, Huffman decoding, particularly DRA Huffman decoding, can be optimized remarkably.

Description

Improved Hofmann decoding method and device
Technical field
The present invention relates to improved Hofmann decoding method and device, more specifically, relate to improved audio frequency Hofmann decoding method and device for DRA audio coding and decoding system.
Background technology
Multimedia technology is along with the mankind enter the information age and obtain fast development, and the thing followed is that magnanimity sound, video information are widely used.For example, in the multimedia technology field such as Digital Television, IPTV, DVD, a large amount of sounds, video information by the form with transmission-play and/or storage-play for user.But then, because the data volume of these sounds, video information is very large, therefore brought the inconvenience in transmission and storage.For this reason, when transmission and/or storage, need to carry out compressed encoding processing to original sound, video, when playing, by decoding, process and recover original sound or image again.
For compressed encoding sound, video data, in prior art, occurred a series of audio compression algorithm and video compression algorithm, wherein the most common audio compression algorithm is as MPEG series audio compression algorithm (as mp3, MPEG-2AAC, MPEG-4AAC etc.).In MPEG series audio compression algorithm, except original audio signal being carried out the first compression processing by the conventional means in this areas such as time-frequency conversion, psychoacoustic model, also the signal of processing through the first compression is carried out to for example the second compression of Huffman entropy coding and process, to utilize the statistical redundancy also existing in this signal to carry out further amount of compressed data.
Except MPEG serial algorithm, in prior art, also exist other to utilize the audio compression algorithm of huffman coding, as the DRA audio encoding and decoding technique of mentioning herein, this technology is by the present patent application people's Guangsheng Digital Technology Co., Ltd., Guangzhou of affiliated company independent research.As shown in Figure 1A and 1B, as the DRA audio frequency coding and decoding technology of Chinese audio coding electron trade standard in recent years by being known in the industry.The more detailed content of relevant DRA audio encoding and decoding technique can be referring to industry standard issue, standard sequence number SJ/T 11368-2006 in the Ministry of Information Industry's on January 4th, 2007, and the full content of this standard is incorporated to herein by reference at this.In addition, in order to narrate conveniently, hereinafter by this standard referred to as " DRA standard ", and will be with the corresponding DRA audio encoding and decoding technique of DRA standard referred to as " DRA technology ".
Although huffman coding has produced good encoding efficiency, (term herein " code efficiency " may be defined as: the ratio of original audio signal data volume and coding audio signal data volume), it is also not immaculate greatly to have improved code efficiency.For example,, when Huffman code word is long, code word is total when more, while coding audio signal being carried out to inverse transformation with traditional single-stage Hofmann decoding method: average time of search code book is long and different codeword decoding time phase differences are large, required storage is large.Specific to DRA Hofmann decoding algorithm: in DRA decoding end, the time that Hofmann decoding is shared and internal memory have occupied the considerable part of total decode time and total memory requirements.Therefore, provide Hofmann decoding method rapidly and efficiently just to become the key of optimizing DRA decoding end decoding efficiency.
In order to address the above problem, some improvement technology for audio decoder end Hofmann decoding method are disclosed in prior art.
For example, be published in < < electronic measurement technique > > on the second phase in 2005, the people's such as author Wei Li Yue, exercise question is in Hofmann decoding algorithm in the < < audio system paper that improves > > (under be called file 1), set forth a kind of improved Hofmann decoding method, it passes through the code word low level zero padding in MPEG-1 code book, thereby generate the new code book that 19 bit word ascending orders are arranged, and by front 4 speed of all code words mode of (usining this value of 4 as grouping serial number) of dividing into groups having been accelerated to Hofmann decoding of 19 bit word.But the method for file 1 at least has following defect: may need, to code word zero padding, has increased storage demand; In the two-step searching method of mentioning at file 1, first step search is fixed as first 4, has not necessarily weighed the optimal selection after decoding speed and storage demand.
Again for example, be published in < < microcomputer with application > > on the second phase in 2005, author is the people's such as Wang Yujie, exercise question is in mono-kind of the < < paper that is applied to the Fast Huffman Decoding Algorithm > > of MPEG-2AAC (under be called file 2), set forth a kind of improved Hofmann decoding method, it optimizes Hofmann decoding efficiency by following step: by the code word low level zero padding in AAC code book, thereby generated the new code book that 16 bit word ascending orders are arranged, and first code word of each code length forms navigation watch while getting former code word, the mode of the plot+side-play amount providing by navigation watch is determined former Huffman code word sequence number.But the method for file 2 at least has following defect: may need, to code word zero padding, has increased storage demand; Need traversal navigation watch at every turn, to search for the binary coding of the reading in correspondence position in navigation watch, increased amount of calculation.
Again for example, in the paper that deliver on the < < in December, 2004 computer engineering > > (the 30th volume), that author is the people such as Xue Yingzhi, exercise question is the Huffman algorithm choice and optimization > > of < < AAC decoder (under be called file 3), discussed respectively under ARM platform, to tabling look-up based on substep and the improvement of the Hofmann decoding method of Binary tree search.But the method for file 3 at least has following defect: meticulous not to the improvement of substep look-up table, and may not reach and weigh codeword size and search depth optimal result afterwards; The improvement of Binary tree search method, based on ARM system own characteristic, is not had to versatility.
In addition, also unexposed about improving one's methods for Hofmann decoding algorithm DRA system, rapidly and efficiently in prior art.
Summary of the invention
In order to address the above problem and other problem, spy of the present invention has provided following technical scheme.
The invention discloses a kind of Hofmann decoding method.The method comprises: the data flow based on to be decoded obtains the first order search of two-stage Huffman first order search unit code book, that have three components; Judge that first order search unit is leaf node or the judgement of the first order of root node; If it is leaf node that first order search unit is determined, the three-component of first order search unit and second component are exported as the bit number of decoded data and Huffman code word respectively; Otherwise method of the present invention is also carried out second level search, and the second level search unit obtaining according to second level search, the bit number of acquisition decoded data and Huffman code word.In addition, the present invention also provides Hoffman decoding device correspondingly.
Based on technique scheme, the present invention has realized audio frequency Hofmann decoding rapidly and efficiently.
For the feature of DRA code book, the present invention also provides further DRA Hofmann decoding method, and the method is determined for the optimum first order of DRA code book and read in bit number x by the mode of integrate-cost function or three grades of judgements.
Based on above-mentioned further technical scheme, the present invention has realized for audio frequency Hofmann decoding DRA technology, rapidly and efficiently.
Accompanying drawing explanation
Hereinafter, with reference to explaining in more detail purport of the present invention by the illustrated preferred illustrative embodiment of accompanying drawing, identical Reference numeral represents element identical or that be equal in the accompanying drawings.In the accompanying drawings:
Figure 1A and 1B are block diagrams, and it shows respectively DRA audio frequency coding and decoding device;
Fig. 2 is flow chart, and it shows according to Hofmann decoding method first embodiment of the invention, improved;
Fig. 3 is block diagram, and it shows according to Hoffman decoding device first embodiment of the invention, improved;
Fig. 4 is flow chart, and it shows according to DRA Hofmann decoding method second embodiment of the invention, improved;
Fig. 5 is block diagram, and it shows according to DRA Hoffman decoding device second embodiment of the invention, improved;
Fig. 6 is flow chart, and it shows in detail x numerical computations step: corresponding to the x calculation procedure 3101 ' of step 3101A; And
Fig. 7 is block diagram, and it shows in detail x Numerical Simulation Module: corresponding to the bits of original computing module 4101 ' of module 4101A.
Embodiment
By describing the preferred embodiments of the present invention hereinafter by accompanying drawing.Unnecessary details in the following description, by being described in detail, do not become the function of prior art or structure, because will cause the ambiguous of introducing of the present invention.
Typical DRA audio coder 10 has been shown in Figure 1A, and it can be realized by hardware, software and/or firmware.In brief, the related technology of DRA standard is exactly, with a plurality of technology modules, source sound (for example, input PCM sample) is carried out to signal processing, to reach the object of pressure source sound " coding defect is audible hardly ".Above-mentioned a plurality of technology modules includes but not limited to: transient analysis module 20, multirate filter bank module 22, linear scalar quantization module 30, quantification index coding module 32, code book are selected module 34, human auditory model module 40, overall bit distribution module 42 and multiplexing module 50.According to the relevant regulations of DRA standard, above-mentioned technology modules is essential module, and standard compliant DRA output code flow (that is, DRA standard code stream) must be the code stream after above-mentioned resume module.According to its function, above-mentioned module can be divided into four groups, it is multiresolution analysis group (comprising transient analysis module 20, multirate filter bank module 22), quantification group (comprising linear scalar quantization module 30, quantification index coding module 32, code book selection module 34), psychoacoustic model group (comprising human auditory model module 40, overall bit distribution module 42), MUX group (multiplexing module 50).Content of the present invention is main relevant with above-mentioned quantification group.
DRA audio decoder 110 has been shown in Figure 1B, and it is decoded to DRA encoding code stream, to obtain DRA decoded signal (that is, PCM sample output).Hereinafter in connection with Figure 1B discussion flow process relevant to DRA Hofmann decoding method: first receive DRA encoding code stream at demultiplexing module 150 places, and extract control information and data message wherein; Subsequently code book is selected communication to select module 134 to code book, and by this module controls quantification index module 132 and quantifying unit number module; The data of quantification index module 132 based on from demultiplexing module 150 and select the control information of module 134 from code book, decoding obtains quantification index; Finally, inverse quantization module 130 is according to the quantification index of decoding and the control information that provides of quantifying unit number module, the quantification index of re-quantization decoding.
The first embodiment: the Hofmann decoding technology of optimization
Below in conjunction with Fig. 2, explain according to the improvement Hofmann decoding method 1000 of first embodiment of the invention in detail, this coding/decoding method not only can be for DRA audio coding and decoding system, also can be used for other audio frequency and/or video coding and decoding system, therefore be referred to as hereinafter " general improved Hofmann decoding method ".
In order to discuss conveniently, exemplarily provide 1 Huffman code book (being shown in table 1) to be decoded, it can be used for any known audio/video encoding/decoding system.This code book is scheduled to 2 grades, and nodes at different levels form by three variablees, the general formula of first order node is designated as to Structure1 (X, Determin1, Determin2) herein; Second level node is designated as to Structure2 (X, Determin1, Determin2).For example,, corresponding to the first order node (that is, node (1,3,0)) that is numbered 2, X=1, Determin1=3, Determin2=0.Again for example, corresponding to the 3rd second level node (that is, node (5,23,4)) that is numbered 4, X=5, Determin1=23, Determin2=4.Table 1 Huffman code book example (walking abreast)
Figure 2008101165468A00800011
All nodes of table 1 are divided into parallel two groups (that is, two row) and represent, therefore, the Huffman code book shown in table 1 can be referred to as to parallel Huffman code book.Correspondingly, also have a kind of Huffman code book aligning method of serial, in this aligning method, all node sequence form a line (that is, being divided into one group), and first order node is front, after second level node sequence comes first order node.The serial Huffman code book corresponding with parallel Huffman code book shown in table 1 is shown in Table 2.Table 2 Huffman code book example (serial)
Figure 2008101165468A00800021
Associative list 1, the arrangement mode of his-and-hers watches 2 is briefly described: in table 2, be numbered the node of 0-15 one by one corresponding to the first order node that is numbered 0-15 in table 1; In table 2, be numbered the node of 16-27 one by one corresponding to 12 second level nodes that are numbered 4 in table 1; In table 2, be numbered the node of 28-33 one by one corresponding to 6 second level nodes that are numbered 6 in table 1; In table 2, be numbered the node of 34-37 one by one corresponding to 4 second level nodes that are numbered 11 in table 1.
Hereinafter, in connection with table 1-2 and Fig. 2, introduce in detail general improved Hofmann decoding method 1000.As shown in Figure 2, general improved Hofmann decoding method 1000 starts at step 1100 place, reads in subsequently x Bit data (x ∈ N, and 4≤x≤8, and x is fixed as 4 in the first embodiment) in step 1101 from data flow to be decoded.Then, in step 1102, the x Bit data by this with binary representation is converted to decimal number, usings the linear directory of this numerical value as the first order code book in table 1.Then, in step 1103, according to this linear directory, table look-up 1, obtain a search unit in first order code book.So far, complete first order search, and start to judge for the first time.
Then, in step 1104, whether the Determin2 that judges this search unit is zero: if Determin2=0 illustrates that Structure1 is leaf node, the concrete form of Structure1 becomes (symbol, bit_used1,0), and decoding process forwards step 1110 to, and symbol is as decoded data in output, and export bit_used1 as the bit number of Huffman code word, then decoding process forwards step 1109 place to and finishes.If Determin2 is non-zero, illustrate that Structure1 is root node, the concrete form of Structure1 becomes (jump_address, Determin1, num_of_subentries), and decoding process forwards step 1105 to, calculate the original position orig (i.e. index position in table 2) of second level Hofmann decoding search.Specifically, according to three variate-values of the Structure1 in the non-zero situation of Determin2, can obtain the original position orig of second level Hofmann decoding search, be orig=jump_address, according to the value of orig, table look-up and 2 can in step 1105, obtain initial second level Huffman node Structure2; And the 3rd the variable num_of_subentries of Structure1 indicated the sum of corresponding second level Huffman node, it is referred to as again the maximum search degree of depth (max_depth).Finally, still, in step 1105, cyclic variable i is initialized as to orig.So far, complete judgement for the first time, and start to carry out second level search (step 1106).
In the search of the second level, second level Huffman node Structure2 is leaf node, and its concrete form can be expressed as Structure2 (codeword, symbol, bit_used2).In step 1106, read in the binary data of the individual bit of bit_used2 (i), and be converted into and treat than code word C_cw, wherein, bit_used2 (i) is illustrated in the numerical value of the bit_used2 of the node that is numbered i in table 2.Next, in step 1107, relatively whether C_cw and code word codeword (i) equate, wherein, codeword (i) is illustrated in the codeword value of the code word that is numbered i in table 2.If C_cw=codeword (i), enters step 1108; Otherwise, make i add 1, proceed step 1106-1107.In fact, the number of times that step 1107 repeats is not more than the maximum search degree of depth (max_depth).In step 1108, export symbol that i node is corresponding as decoded data, output bit_used2+x is as the bit number of Huffman code word.Decoding process subsequently forwards step 1109 place to and finishes.
Below, for first order Huffman node, be leaf node and two kinds of situations of root node, and associative list 1-2 is illustrated.
The situation that is leaf node for first order Huffman node, for example, 4 bits 0001 that read in step 1101 2(in this article, with XYZ 2the data XYZ that represents binary representation) indicate: first order codebook index is 1, in step 1103, tables look-up 1, obtain node for (2,3,0).In step 1104, judge Determin2=0, so node (2,3,0) is leaf node, in the output 2 of step 1110 place as decoded data, output 3 bit numbers as Huffman code word, decoding process subsequently forwards step 1109 place to and finishes.
The situation that is root node for first order Huffman node, for example, 4 bits 0110 that read in step 1101 2indicate: first order codebook index is 6, in step 1103, tables look-up 1, obtain node for (28,0,6).In step 1104, judge Determin2 non-zero, so node (28,0,6) is root node.Further, in step 1105, calculate: the node that second level search is numbered 28 (orig=28) from table 2; And the second level node of corresponding node (28,0,6) adds up to 6 (that is, corresponding to the nodes that are numbered 28-33 in table 2); Cyclic variable is initialized to 28.Then, again read in the binary data 10 of bit_used2 (28)=2 bit 2, and be converted into and treat than code word C_cw=2.In step 1107, can judge C_cw=2 ≠ codeword (28)=3, therefore make i add 1 (being i=29) repeating step 1106-1107 ... until the 4th is when repeat, bit_used2 (31)=3,3 Bit datas that read in are 100 2, corresponding C_cw=4, and codeword (31)=4=C_cw, illustrate and find qualified node (that is, be numbered in table 2 31 node).Now, decoding process enters into step 1108, is numbered symbol=18 that 31 node is corresponding as decoded data in output table 2, and output bit_used2+x=3+4=7 is as the bit number of Huffman code word.Decoding process subsequently forwards step 1109 place to and finishes.
Hereinafter in conjunction with Fig. 3, detailed description is according to the improvement Hoffman decoding device 2000 of first embodiment of the invention, this decoding device not only can be for DRA audio coding and decoding system, also can be used for other audio frequency and/or video coding and decoding system, therefore be referred to as hereinafter " general improved Hoffman decoding device ".
Huffman code book to be decoded as previously mentioned, still be scheduled to 2 grades, nodes at different levels form by three variablees, and the general formula of first order node can be expressed as Structure1 (X, Determin1, Determin2), second level node can be expressed as (the X into Structure2, Determin1, Determin2).The concrete arrangement mode of code book is still as described in table 1-2.
Hereinafter associative list 1-2 and Fig. 2, introduce general improved Hoffman decoding device 2000 in detail.As shown in Figure 3, general improved Hoffman decoding device 2000 comprises: can from encoding code stream, read in x Bit data (x ∈ N, and 4≤x≤8, be still fixed as 4 at this x), and by the buffer module of its output 2101; Receive the x bit of above-mentioned output, and be converted into decimal number, then export this numerical value as the linear directory modular converter 2102 of first order code book linear directory in table 1; Receive the above-mentioned linear directory being output and table look-up 1, then exporting the search module 2103 of corresponding search unit in first order code book.The function of above-mentioned three module 2101-2103 is: carry out first order search.
General improved Hoffman decoding device 2000 also comprises: whether the Determin2 that receives the search unit of above-mentioned output and judge this search unit is zero and selects the judge module 2104 exported.Judge module 2104 shown in Fig. 3 is " selecting an output in single input-bis-" modules, and this module selects one to export according to judged result from two output channels.Particularly, if Determin2=0, judge module 2104 judges that the concrete form of Structure1 is (symbol, bit_used1,0), and using symbol as decoded data, bit_used1 outputs to the first result output module 2110 as Huffman code word bit number, subsequently from the first result output module 2110 output Hofmann decoding data.Otherwise, if Determin2 is non-zero, judge module 2104 judges that the concrete form of Structure1 is (jump_address, Determin1, num_of_subentries), and by jump_address, num_of_subentries output to second level Hofmann decoding original position computing module 2105.Second level Hofmann decoding original position computing module 2105 calculates the original position orig of second level Hofmann decoding search according to formula orig=jump_address, according to this numerical value 2 initial second level of acquisition Huffman node Structure2 that table look-up; And module 2105 is usingd the numerical value of num_of_subentries as sum and the maximum search degree of depth (max_depth) of corresponding second level Huffman node.Finally, in module 2105, cyclic variable i initialization is equaled to orig, and finally export Structure2, max_depth and tri-amounts of i.The effect of above-mentioned module 2104-2110 or 2104-2105 is: carried out judgement for the first time, and prepared to start second level search (for the situation of module 2105 branches).
Situation for module 2105 branches, general improved Hoffman decoding device 2000 also comprises: circulation and code word comparison module 2106, it receives Structure2, max_depth and tri-amounts of i of above-mentioned output, and the concrete data file layout of judging Structure2 is Structure2 (codeword, symbol, bit_used2).Next circulation and code word comparison module 2106 read in the binary data of the individual bit of bit_used2 (i), and are converted into and treat than code word C_cw.Then or in circulation and code word comparison module 2106, relatively whether C_cw and the corresponding corresponding codewords codeword of i (i) equate.If C_cw=codeword (i), circulation and code word comparison module 2106 bit_used2 using the symbol in initial second level Huffman node Structure2 as decoded data, in initial second level Huffman node Structure2 outputs to the second result output module 2108 as Huffman code word bit number, subsequently from the second result output module 2108 output Hofmann decoding data.Otherwise, if judge C_cw ≠ codeword (i) in circulation and code word comparison module 2106, module 2106 makes i add 1, i node searched in continuation in table 2, the re-reading bit_used2 of entering (the i)-> that lays equal stress on is converted to and treats to judge C_cw and the whether equal step of codeword (i) than code word C_cw->, until C_cw=codeword (i).When arriving the node that needs by cyclic search (, determined suitable i) time, circulation and code word comparison module 2106 add that using being numbered symbol in the second level Huffman node of the i bit_used2 numerical value in decoded data, this node in table 2 x outputs to the second result output module 2108 as Huffman code word bit number, subsequently from the second result output module 2108 output Hofmann decoding data.
Preferably, can in circulation and code word comparison module 2106, add a correction module (not shown), it detects the number of times of circulation in circulation and code word comparison module 2106, and when this number of times equals the numerical value of max_depth, correction module reports an error.
Compare with one-level Hofmann decoding method and device in prior art, according to the Hofmann decoding method of first embodiment of the invention and device, may make faster searched the arriving of code book that probability of occurrence is high, and then improve decoding efficiency.Further, in second level node that use according to the Hofmann decoding method of first embodiment of the invention, Huffman code book, bit_used2 monotone increasing, and the probability inverse correlation that bit_used2 and code word occur, so the code word of high probability can be decoded quickly.
Those skilled in the art can understand, no matter to general improved Hofmann decoding method 1000, or to general improved Hoffman decoding device 2000, according to the Huffman code book hierarchical approaches of first embodiment of the invention, are all preferably two-stage.But be also not limited to this, according to code book feature, may construct the improvement Huffman code book more than two-stage.In addition, the data bit reading at first in encoding code stream is counted x and is also not limited to 4, and it can be fixed and be chosen as 5,6,7 or 8.
The second embodiment: improved DRA Hofmann decoding technology
The following examples, for the feature of DRA technology, are further improved it on the basis of " general improved Hofmann decoding method ", are referred to as " improved DRA Hofmann decoding method " herein.
First, in conjunction with to the explanation of Figure 1A-1B and according to DRA standard, DRA Hofmann decoding is mainly used in: decoding transition segment length (seeing DRA standard 5.4.3 joint), decoding code book range of application (seeing DRA standard 5.5.2 joint table 20), decoding code book index (seeing DRA standard 5.5.3 joint table 21), the quantification index based on selected code book index decoder sub-band samples (seeing DRA standard 5.6 joint table 22-23) and decoding quantization step index (seeing DRA standard 5.7 joint tables 25).In addition, by DRA standard subordinate list, B.1 can obtain quantization step based on quantization step index.Finally, based on quantification index and quantization step, in inverse quantization module 130 (seeing Figure 1B), obtain sub-band samples (seeing DRA standard 6.4 joints).In DRA standard altogether for above-mentioned every solution code requirement provides 27 Huffman code book Hufftab01-Hufftab27.Based on each code book feature separately, can further optimize above-described Hofmann decoding method again.
For the convenience on describing, only provide the result of calculation (seeing table 3) for 27 Huffman code books of DRA herein, the appropriate section of the concrete visible DRA standard of code book data appendix.Those skilled in the art are scrutable, by reading the explanation of the present embodiment and in conjunction with 27 actual DRA Huffman code books, can realizing the optimization to DRA Hofmann decoding.
Particularly, Fig. 4 shows the improved DRA Hofmann decoding method 3000 according to second embodiment of the invention.The method with above in conjunction with the general improved Hofmann decoding method 1000 described in Fig. 2 basic identical (step 3101-3110 respectively corresponding step 1101-1110), except increased the step 3101A of the numerical value that reads in x before step 3101, in this step, from encoding code stream, read in the numerical value of x, and with the numerical value guiding step 3101 of this x.After a while in connection with Fig. 6 pair of x numerical computations step 3101 relevant with step 3101A ' carry out detailed explanation.
In addition, in Fig. 5, also show improved DRA Hoffman decoding device 4000.This decoding device and the general improved Hoffman decoding device 2000 basic identical (module 4101-4110 is respective modules 2101-2110 respectively) of being above combined described in Fig. 3, except having increased the input of reading in module 4101A from bits of original for buffer module 4101.In bits of original, read in module 4101A, from encoding code stream, read in the numerical value of x, and with the numerical value of this x, instruct the operation of module 4101.In connection with Fig. 7 pair of x Numerical Simulation Module 4101 ' relevant with module 4101A, carry out detailed explanation after a while.
In order to realize the object of further optimizing Hofmann decoding for DRA code book feature, need to be according to code book feature, in the required search bit of the first order, count between x and the second level maximum search degree of depth (max_depth) and weigh: in the situation that the total item of the two-stage code book corresponding with x does not increase is a lot (as, be no more than certain multiple value of the two-stage decoding code book total item in x=4 situation), the flex point of the searching second level maximum search degree of depth.Finally can further reach following object: in the situation that code book total item is exceeded increase, improve as far as possible Hofmann decoding speed.
Below in conjunction with Fig. 6 and Fig. 7, describe respectively step 3101 in detail ' and module 4101 '.First, forward Fig. 6 to, first describe step 3101 in detail ', this step is in coding side, for calculating and x being stored in to DRA encoding code stream.As shown in Figure 6, in step 3b, will for certain Huffman code book (as, y code book is numbered corresponding to code book in table 3 data that #Hufftaby is capable) the value initialization of cyclic variable x be 4; Then at step 3c, size value (size (m) when the judgement first order is read in m bit, if label in table 3 is the corresponding size value of tab_mX.dat in capable) T1 of size value when whether being greater than the first order and reading in 4 bit (size (4), for example in table 3, label is the corresponding size value of tab_4X.dat in capable) is doubly.Wherein, T1 is first threshold, is preferably 1.5-2, more preferably 1.8-2, more preferably 1.9-2.If being judged as YES in step 3c, directly enters step 3d, x is set as to 4; Then in step 3h by the value storage of x in DRA encoding code stream, and end step 3101 '.
If being judged as NO in step 3c, enters into step 3e and further judge, judge whether m equals 8.If being judged as YES in step 3e, directly enters step 3d, x is set as to 4; Then in step 3h by the value storage of x in DRA encoding code stream, and end step 3101 '.If being judged as NO in step 3e, enters the 3rd determining step 3f, whether judgement (MD (m)-MD (m+1))/MD (m) is greater than T2.Maximum search degree of depth when wherein, MD (m) represents that the first step is read in m bit (if label in table 3 is the corresponding max_depth value of tab_mX.dat in capable); T2 is Second Threshold, is preferably 0.2-0.7, more preferably 0.2-0.5, more preferably 0.25-0.3.
If being judged as YES in step 3f, enters step 3g, x is set as to m+1; Then in step 3h by the value storage of x in DRA encoding code stream, and end step 3101 '.If being judged as NO in step 3f, makes m add 1, and get back to step 3c, proceed the judgement of next round.
Next, forward Fig. 7 to, describe module 4101 ' in detail, this module is in coding side, for calculating and x being stored in to DRA encoding code stream.As shown in Figure 7, assignment module 4b first will for certain Huffman code book (as, y code book is numbered corresponding to code book in table 3 data that #Hufftab y is capable) the value initialization of cyclic variable m be 4; The T1 of size value size (4) when then whether the first determination module 4c is greater than the first order and reads in 4 bit for judging size value size (m) when the first order is read in m bit doubly.Wherein, T1 is first threshold, is preferably 1.5-2, more preferably 1.8-2, more preferably 1.9-2.If being judged as YES in module 4c, enters an x value determination module 4d via its first path, this module is set as 4 by x; Then in memory module 4h by the value storage of x in DRA encoding code stream, and finish the processing of whole module 4101 '.
If being judged as NO in module 4c, enters in the second judge module 4e and judges whether m equals 8 via its alternate path.If being judged as YES in module 4e, enters an x value determination module 4d via its first path, this module is set as 4 by x; Then in memory module 4h by the value storage of x in DRA encoding code stream, and finish the processing of whole module 4101 '.If being judged as NO in module 4e, enters the 3rd determination module 4f via its alternate path, whether judgement (MD (m)-MD (m+1))/MD (m) is greater than T2.Maximum search degree of depth when wherein, MD (m) represents that the first step is read in m bit (if label in table 3 is the corresponding max_depth value of tab_mX.dat in capable); T2 is Second Threshold, is preferably 0.2-0.7, more preferably 0.2-0.5, more preferably 0.25-0.3.
If being judged as YES in module 4f, directly enters the 2nd x value determination module 4g, it is set as m+1 by x; Then in memory module 4h by the value storage of x in DRA encoding code stream, and finish the processing of whole module 4101 '.Otherwise, make m add 1, and forward the first determination module 4c to, re-start the judgement of next round.Table 3 is for the analysis of 27 Huffman code books
Figure 2008101165468A00800031
Figure 2008101165468A00800041
Figure 2008101165468A00800051
The 3rd embodiment: improved DRA Hofmann decoding technology
The following examples, for the feature of DRA technology, describe another improved DRA Hofmann decoding technology in detail.In the present embodiment for 27 code books consistent in conjunction with Figure 1A-1B and described 27 the DRA Huffman code books of DRA standard with the second embodiment.
In two-stage Hofmann decoding process, first order search bit is counted total item number size positive correlation of x and two-stage code book, with depth capacity (max_depth) negative correlation of second level decoding.The two-stage code book of optimizing need to be weighed between total item number and depth capacity, obtains preferred x value.Therefore definable one integrate-cost function, is used in it respectively and improves Hofmann decoding method 5000 (not shown) and improve in Hoffman decoding device 6000 (not shown).
The specific definition of above-mentioned integrate-cost function is: cost (x)=α * max_depth (x)+log 2(size (x)) * log 2(size (0)) wherein, α is weight parameter; X is illustrated in the bit number that the decoding end first order is initially read in; In max_depth (x), size (x) expression table 3, label is max_depth and the size corresponding value of tab_xX.dat in capable; Size (0) represents linear code book item number.
In improving Hofmann decoding method 5000, give first within the specific limits value of α, this scope is preferably 0.4-1.6, more preferably 0.6-1.4, more preferably 0.8-1.2; Then, calculate respectively y code book cost (that is one of 27 code books, mentioning in DRA algorithm), corresponding different x values y(x) numerical value (y is code book numbering, span from 1 to 27); Then, record each cost y(x) the value x of the x while getting minimum value yMin; Last corresponding y DRA code book, output x yMinvalue, instructs the decoding of y DRA code book (with x with this numerical value subsequently yMinas the first order, initially read in bit number).
In improving Hoffman decoding device 6000, comprising: assignment module, for giving value of α, this scope is preferably 0.4-1.6, more preferably 0.6-1.4, more preferably 0.8-1.2; Computing module, for calculating respectively y DRA code book cost (that is one of 27 code books, mentioning in DRA algorithm), corresponding different x values y(x) numerical value (y is code book numbering, span from 1 to 27); Logging modle, for recording each cost y(x) the value x of the x while getting minimum value yMin; Output module, for corresponding y DRA code book output x yMinvalue, instructs the decoding of y DRA code book (with x with this numerical value subsequently yMinas the first order, initially read in bit number).
Improving Hofmann decoding method 5000 and/or improving in Hoffman decoding device 6000, larger α value means that choosing the code book that x is corresponding has less max_depth and larger size, i.e. lower decoding speed and larger code book memory space; Otherwise less α value means that code book corresponding to x of choosing just has larger max_depth and less size, i.e. lower decoding speed and less code book memory space.
According to an example of the present invention, when α=1.0, and 4≤m≤8 o'clock, 27 cost that code book is corresponding of table 3 yand x (x) yMinas shown in table 4.Table 4 first order search bit is counted choosing of m
Figure 2008101165468A00800071
Figure 2008101165468A00800081
It will be appreciated by persons skilled in the art that above-mentioned second, third embodiment is not limited to for DRA Huffman code book.By reading specification of the present invention and claims, those skilled in the art can all can be used for the optimization method for DRA Huffman code book of mentioning in second, third embodiment, device the first order bit number optimization of general two-stage Huffman code book.
Simulation result
Three kinds of improvement Hofmann decoding methods and existing linear search Hofmann decoding method that present inventor proposes the application at fixed point 16 bit digital signal processor Blackfin-533 have been done performance comparison.Two kinds of Hofmann decoding programs all adopt standard C language, do not comprise the optimization for platform, are embedded in actual DRA audio decoder and move.Although verification platform is Blackfin-533, program itself can be moved on universal PC and most flush bonding processor and digital signal processor.The data that table 4-1~4-3 provides are the processor clock cycle consumption of 1 second DRA code stream Hofmann decoding part of decoding, and wherein the sample rate of DRA code stream is 48kHz, and code check is 128kbps.Table 4-1 is for the contrast test of first embodiment of the invention
Figure DEST_PATH_G200810116546801D00031
For the situation of the first embodiment, code book item number 3112 after improving, original item number 2819, item number has increased approximately 10%.Table 4-2 is for the contrast test of second embodiment of the invention
Figure S2008101165468D00211
For the situation of the second embodiment, code book item number 4266 after improving, original item number 2819, item number has increased approximately 51%.Table 4-3 is for the contrast test of third embodiment of the invention
For the situation of the 3rd embodiment, code book item number 4324 after improving, original item number 2819, item number has increased approximately 53%.
By table, 4-1~4-3 can draw following conclusion: without Compiler Optimization in the situation that, the Hofmann decoding module processor clock cycle consumption per second after optimization is 1/6~1/7 of the corresponding consumption of linear search, has 6-7 speed-up ratio doubly; In the situation that having Compiler Optimization, the processor clock cycle consumption per second of Hofmann decoding module is 1/4~1/5 of the corresponding consumption of linear search, has 4-5 speed-up ratio doubly.Visible, the method that the application proposes and device have significant effect of optimization to Hofmann decoding module.
Although described the present invention in conjunction with being considered at present most realistic and optimum embodiment, but those skilled in the art are to be understood that and the invention is not restricted to the disclosed embodiments, on the contrary, the present invention is intended to cover various modifications and the equivalent construction comprising within the spirit of claims and category.Those skilled in the art can understand: can various deformation and/or improvement be used to the present invention as being shown in specific embodiment, and this does not depart from the spirit or scope of the present invention of describing in broad mode.Therefore, to be considered to be descriptive but not determinate in all fields for embodiment herein.

Claims (6)

1. a Hofmann decoding method, is characterized in that: comprising:
First order search, it obtains two-stage Huffman first order search unit code book, that have three components based on data flow to be decoded;
First order judgement, it judges that described first order search unit is leaf node or root node; Wherein,
If it is leaf node that described first order search unit is determined, the three-component of described first order search unit and second component are exported as the bit number of decoded data and Huffman code word respectively;
Otherwise described Hofmann decoding method also comprises: second level search, it receives described first order search unit, and the three-component based on described first order search unit obtains second level search unit described two-stage Huffman code book, that have three components; Wherein, described Hofmann decoding method further comprises:
Receive described second level search unit, and carry out second level judgement,
The judgement of the described second level comprises:
1) judge whether described second level search unit is object element;
2), if described second level search unit is judged as object element, the bit number of decoded data and Huffman code word is output the function of the first and second components as described second level search unit;
3) otherwise, second level search unit is reset to the next search unit in described two-stage Huffman code book, and re-starts the judgement of the described second level;
In described first order search, using and first read in numerical value as index, in described two-stage Huffman code book, obtain described first order search unit, wherein, described first to read in numerical value be the decimal representation value corresponding to x Bit data of reading in from described data flow to be decoded; Described x is fixed as 4;
In described first order judgement, if the first component of described first order search unit is 0, judge that described first order search unit is leaf node; Otherwise, judge that described first order search unit is root node;
If it is root node that described first order search unit is determined,, in the judgement of the described second level, when the three-component of described second level search unit equals second value of reading in, judge that described second level search unit is object element; Otherwise, judge that described second level search unit is not object element, wherein, described second read in numerical value from the decimal representation of the decimal system numerical value Bit data that described data flow to be decoded is read in again, the first component of described second level search unit is corresponding;
In the judgement of the described second level, the function of the first and second components of described second level search unit is:
The second component of decoded data=described second level search unit; And the first component+x of the bit number of Huffman code word=described second level search unit.
2. Hofmann decoding method according to claim 1, it is characterized in that, if it is root node that described first order search unit is determined, described Hofmann decoding method also comprises an error correction step, it records the cycle-index in the judgement of the described second level, and reports an error when described cycle-index equals the first component of described first order search unit.
3. a Hoffman decoding device, is characterized in that: comprising:
First order search module, for obtaining two-stage Huffman first order search unit code book, that have three components based on data flow to be decoded;
First order judge module, for judging that described first order search unit is leaf node or root node;
Wherein, if described first order search unit is determined, be leaf node, by the first result output module, the three-component of described first order search unit and second component are exported as the bit number of decoded data and Huffman code word respectively;
Otherwise, described Hoffman decoding device also comprises: second level search module, be used for receiving described first order search unit, and the three-component based on described first order search unit obtains second level search unit described two-stage Huffman code book, that have three components; Wherein, described Hoffman decoding device further comprises:
Receive the receiver module of described second level search unit, described receiver module is transferred to second level judge module by described second level search unit,
The operation of described second level judge module comprises:
1) judge whether described second level search unit is object element;
2), if described second level search unit is judged as object element, the bit number of decoded data and Huffman code word is output first and three-component function as described second level search unit;
3) otherwise, second level search unit is reset to the next search unit in described two-stage Huffman code book, and re-starts the operation of described second level judge module;
In described first order search module, using and first read in numerical value as index, in described two-stage Huffman code book, obtain described first order search unit, wherein, described first to read in numerical value be the decimal representation value corresponding to x Bit data of reading in from described data flow to be decoded; Described x is fixed as 4;
If it is root node that described first order search unit is determined, in the judge module of the described second level, when the three-component of described second level search unit equals second while reading in numerical value, judge that described second level search unit is object element; Otherwise, judge that described second level search unit is not object element, wherein, described second read in numerical value from the decimal representation of the decimal system numerical value Bit data that described data flow to be decoded is read in again, the first component of described second level search unit is corresponding;
In the judge module of the described second level, first and three-component function of described second level search unit are: the second component of decoded data=described second level search unit; And the first component+x of the bit number of Huffman code word=described second level search unit;
In described first order judge module, if the first component of described first order search unit is 0, judge that described first order search unit is leaf node; Otherwise, judge that described first order search unit is root node.
4. Hoffman decoding device according to claim 3, it is characterized in that, if it is root node that described first order search unit is determined, described Hoffman decoding device also comprises a correction module, it records the cycle-index in the judge module of the described second level, and reports an error when described cycle-index equals the first component of described first order search unit.
5. a DRA Hofmann decoding method, is characterized in that: comprising:
From data flow to be decoded, read in the numerical value of x, and the decimal representation value corresponding to described x Bit data of usining in described data flow to be decoded read in numerical value as first;
First order search, it is usingd and described first reads in numerical value as index, obtains the first order search unit with three components in two-stage DRA Huffman code book,
First order judgement, it judges that described first order search unit is leaf node or root node; Wherein, if described first order search unit is determined, be leaf node, the three-component of described first order search unit and second component are exported as the bit number of decoded data and Huffman code word respectively;
Otherwise, described DRA Hofmann decoding method also comprises: second level search, it receives described first order search unit, and the three-component based on described first order search unit obtains second level search unit described two-stage DRA Huffman code book, that have three components; Wherein, described DRA Hofmann decoding method further comprises:
Receive described second level search unit, and carry out second level judgement, the judgement of the described second level comprises:
1) judge whether described second level search unit is object element;
2), if described second level search unit is judged as object element, the bit number of decoded data and Huffman code word is output the function of the first and second components as described second level search unit;
3) otherwise, second level search unit is reset to the next search unit in described two-stage DRA Huffman code book, and re-starts the judgement of the described second level;
Described x determines as follows:
1), according to given weight coefficient α, calculate respectively the integrate-cost function cost of y two-stage DRA Huffman code book y(x), y=1 wherein, 2,3 ... 27;
2) corresponding y the two-stage DRA Huffman code book of difference, the first order of record when described integrate-cost function is got minimum value read in the numerical value x of bit number x yMin;
3) export described x yMinvalue conduct is read in bit number corresponding to the optimum first order of y two-stage DRA Huffman code book, and by described x yMinvalue is stored in described data flow to be decoded;
Wherein, the integrate-cost function in corresponding y two-stage DRA Huffman code book is the second level maximum search degree of depth max of y two-stage DRA Huffman code book -depth (x), code book size value size (x) and linear code book item number size(0) function;
The general formula of described integrate-cost function is: cost(x)=α ﹡ max -depth (x)+log 2(size (x)) ﹡ log 2(size (0)); α=1;
Or described x determines as follows:
1) by the value initialization of the cyclic variable m for y two-stage DRA Huffman code book, be 4;
2) T1 that judges size value when whether size value when the first order is read in m bit is greater than the first order and reads in 4 bit doubly;
3) if 2) be true, forward step 4) to; Otherwise, forward step 5) to;
4) described x is set as to 4, then forwards step 8) to;
5), if m equals 8, forward step 4) to; Otherwise forward step 6) to;
6) if (MD (m)-MD (m+1))/MD(m) be greater than T2, forward step 7) to, otherwise make m add 1, and forward step 2 to); Maximum search degree of depth when wherein, described MD (m) the expression first step is read in m bit;
7) described x is set as to m+1; And
8) by the value storage of described x in described data flow to be decoded;
Described T1 is 2, and described T2 is 0.25.
6. a DRA Hoffman decoding device, is characterized in that: comprising:
Bits of original is read in module, and it reads in the numerical value of x from data flow to be decoded, and the decimal representation value corresponding to described x Bit data of usining in described data flow to be decoded read in numerical value as first;
First order search module, it is usingd and described first reads in numerical value as index, obtains the first order search unit with three components in two-stage DRA Huffman code book,
First order judge module, it judges that described first order search unit is leaf node or root node;
Wherein, if described first order search unit is determined, be leaf node, by the first result output module, the three-component of described first order search unit and second component are exported as the bit number of decoded data and Huffman code word respectively;
Otherwise, described DRA Hoffman decoding device also comprises: second level search module, be used for receiving described first order search unit, and the three-component based on described first order search unit obtains second level search unit described two-stage DRA Huffman code book, that have three components; Wherein, described DRA Hoffman decoding device further comprises:
Receive the receiver module of described second level search unit, described receiver module is transferred to second level judge module by described second level search unit,
The operation of described second level judge module comprises:
1) judge whether described second level search unit is object element;
2), if described second level search unit is judged as object element, the bit number of decoded data and Huffman code word is output the function of the first and second components as described second level search unit;
3) otherwise, second level search unit is reset to the next search unit in described two-stage DRA Huffman code book, and re-starts the operation of described second level judge module;
Described x determines by x Numerical Simulation Module, and described x Numerical Simulation Module comprises:
Integrate-cost function computing module, for according to given weight coefficient α, calculates respectively the integrate-cost function cost of y two-stage DRA Huffman code book y(x), y=1 wherein, 2,3 ... 27;
Logging modle, for corresponding y the two-stage DRA Huffman code book of difference, the first order of record when described integrate-cost function is got minimum value read in the numerical value x of bit number x yMin;
Output module, for exporting described x yMinvalue conduct is read in bit number corresponding to the optimum first order of y two-stage DRA Huffman code book, and by described x yMinvalue is stored in described data flow to be decoded,
Wherein, the integrate-cost function of corresponding y two-stage DRA Huffman code book is the second level maximum search degree of depth max of y two-stage DRA Huffman code book -depth(x), the function of code book size value size (x) and linear code book item number size (0);
The general formula of described integrate-cost function is: cost(x)=α ﹡ max -depth (x)+log 2(size (x)) ﹡ log 2(size (0)); α=1;
Or described x determines by x Numerical Simulation Module, described x Numerical Simulation Module comprises:
Assignment module, for being 4 by the value initialization of the cyclic variable m for y two-stage DRA Huffman code book;
The first determination module, the T1 of the size value that whether size value when judging that the first order is read in m bit is greater than the first order while reading in 4 bit is doubly;
If the result of determination in described the first determination module is true, forward an x value determination module to; Otherwise, forward the second determination module to;
A described x value determination module, for described x is set as to 4, and forwards output module to;
In described the second determination module, if m equals 8, forward a described x value determination module to; Otherwise forward the 3rd determination module to;
In described the 3rd determination module, if (MD (m)-MD (m+1))/MD(m) be greater than T2, forward the 2nd x value determination module to, otherwise make m add 1, and forward described the first determination module to; Wherein, maximum search degree of depth when described MD (m) the expression first step is read in m bit,
Described the 2nd x value determination module, is set as m+1 by described x, and forwards described output module to; And
Described output module, by the value storage of described x in described data flow to be decoded; Described T1 is 2, and described T2 is 0.25.
CN200810116546.8A 2008-07-11 2008-07-11 Improved Huffman decoding method and device Active CN101626242B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810116546.8A CN101626242B (en) 2008-07-11 2008-07-11 Improved Huffman decoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810116546.8A CN101626242B (en) 2008-07-11 2008-07-11 Improved Huffman decoding method and device

Publications (2)

Publication Number Publication Date
CN101626242A CN101626242A (en) 2010-01-13
CN101626242B true CN101626242B (en) 2014-04-16

Family

ID=41521948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810116546.8A Active CN101626242B (en) 2008-07-11 2008-07-11 Improved Huffman decoding method and device

Country Status (1)

Country Link
CN (1) CN101626242B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894556B (en) * 2010-05-26 2012-02-22 北京红旗胜利科技发展有限责任公司 Method and device for testing audio decoding program
CN105207677B (en) * 2015-09-01 2018-02-06 上海斐讯数据通信技术有限公司 A kind of graphical coding/decoding system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6891976B2 (en) * 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
CN1826732A (en) * 2003-09-02 2006-08-30 诺基亚公司 Huffman coding and decoding
CN101051845A (en) * 2007-05-09 2007-10-10 上海广电(集团)有限公司中央研究院 Huffman decoding method for quick extracting bit stream
US7822601B2 (en) * 2002-09-04 2010-10-26 Microsoft Corporation Adaptive vector Huffman coding and decoding based on a sum of values of audio data symbols

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6891976B2 (en) * 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
US7822601B2 (en) * 2002-09-04 2010-10-26 Microsoft Corporation Adaptive vector Huffman coding and decoding based on a sum of values of audio data symbols
CN1826732A (en) * 2003-09-02 2006-08-30 诺基亚公司 Huffman coding and decoding
CN101051845A (en) * 2007-05-09 2007-10-10 上海广电(集团)有限公司中央研究院 Huffman decoding method for quick extracting bit stream

Also Published As

Publication number Publication date
CN101626242A (en) 2010-01-13

Similar Documents

Publication Publication Date Title
CN1681213B (en) Lossless audio coding/decoding method and apparatus
JP5113049B2 (en) Method for generating encoded audio signal and method for processing audio signal
US20060173692A1 (en) Audio compression using repetitive structures
CN103280221B (en) A kind of audio lossless compressed encoding, coding/decoding method and system of following the trail of based on base
CN1997988B (en) Method of making a window type decision based on MDCT data in audio encoding
CN102047336B (en) Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
EP2207167A1 (en) Multistage quantizing method and apparatus
BR122018077089B1 (en) audio decoder
NO340485B1 (en) Modification of password in dictionary used for efficient coding of spectral data from digital media
CN1589468A (en) Method and device for determination of the presence of additional coded data in a data frame
CN103380455A (en) Efficient encoding/decoding of audio signals
CN104011794A (en) Audio encoder with parallel architecture
CN1289183A (en) Recording medium for code signal
CN101626242B (en) Improved Huffman decoding method and device
CN102063905A (en) Blind noise filling method and device for audio decoding
KR20030071327A (en) Improved huffman decoding method and apparatus thereof
US6772113B1 (en) Data processing apparatus for processing sound data, a data processing method for processing sound data, a program providing medium for processing sound data, and a recording medium for processing sound data
CN106228976A (en) Audio recognition method and device
CN101626243A (en) Improved Hofmann decoding method and device
CN116206616A (en) Speech translation and speech recognition method based on sequence dynamic compression
CN1656537A (en) Audio coding
Malvar Lossless and near-lossless audio compression using integer-reversible modulated lapped transforms
CN103021415A (en) Digital-to-analog converter (DAC) voice data compression and uncompression technique
JP3565147B2 (en) Decryption device
CN101290771B (en) Bit consumption controlling method based on advanced audio decoder

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
DD01 Delivery of document by public notice

Addressee: Digital Wave Co., Ltd.

Document name: Notification that Application Deemed to be Withdrawn

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100081. Office building 2, building 2, No. 1, Nongda South Road, Beijing, Haidian District, B-221-183

Patentee after: Digital Wave Co., Ltd.

Address before: 100031, 503/504 building, Capital Times Square, 88 West Chang'an Avenue, Beijing, Xicheng District

Patentee before: Digital Wave Co., Ltd.

ASS Succession or assignment of patent right

Owner name: SHENZHEN RISING SOURCE TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: DIGITAL WAVE (BEIJING) CO., LTD.

Effective date: 20140922

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100081 HAIDIAN, BEIJING TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20140922

Address after: 518057, room 9, 610 software building, Nanshan District hi tech, Guangdong, Shenzhen

Patentee after: Shenzhen Guangsheng Xinyuan Technology Co., Ltd.

Address before: 100081. Office building 2, building 2, No. 1, Nongda South Road, Beijing, Haidian District, B-221-183

Patentee before: Digital Wave Co., Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220512

Address after: 510530 No. 10, Nanxiang 2nd Road, Science City, Luogang District, Guangzhou, Guangdong

Patentee after: Guangdong Guangsheng research and Development Institute Co.,Ltd.

Address before: 518057 room 610, software building, No.9, Gaoxin Zhongyi Road, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN RISING SOURCE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right