新四季網

改進的霍夫曼解碼方法及裝置的製作方法

2024-01-23 05:07:15 2


專利名稱::改進的霍夫曼解碼方法及裝置的製作方法
技術領域:
:本發明涉及改進的霍夫曼解碼方法及裝置,更具體地,涉及用於DRA音頻編解碼系統的改進的音頻霍夫曼解碼方法及裝置。
背景技術:
:多媒體技術隨著人類進入資訊時代而得到迅猛發展,隨之而來的是海量音、視頻信息被廣泛使用。例如,在數位電視、IPTV、DVD等多媒體
技術領域:
中,大量的音、視頻信息被以傳輸-播放和/或存儲-播放的形式供用戶使用。但另一方面,由於這些音、視頻信息的數據量很大,因此帶來了傳輸和存儲上的不便。為此,在傳輸和/或存儲時需要對原始音、視頻進行壓縮編碼處理,在播放時再通過解碼處理恢復原始聲音或圖像。為了壓縮編碼音、視頻數據,現有技術中出現了一系列音頻壓縮算法和視頻壓縮算法,其中最為常見的音頻壓縮算法如MPEG系列音頻壓縮算法(如mp3、MPEG-2AAC、MPEG-4AAC等)。在MPEG系列音頻壓縮算法中,除了通過時頻變換、心理聲學模型等本領域常用的手段對原始音頻信號進行第一壓縮處理以外,還對經過第一壓縮處理的信號進行例如霍夫曼熵編碼的第二壓縮處理,以利用該信號中還存在的統計冗餘來進一步壓縮數據量。除MPEG系列算法以外,現有技術中還存在其它利用霍夫曼編碼的音頻壓縮算法,如本文中提到的DRA音頻編解碼技術,該技術由本發明申請人的關聯公司廣州廣晟數碼技術有限公司自主研發。如圖1A和1B所示,作為中國音頻編碼電子行業標準的DRA音頻編、解碼技術近年來已為業內所熟知。有關DRA音頻編解碼技術更詳細的內容可參見信息產業部2007年1月4日發布的、標準序號SJ/T11368—2006的行業標準,該標準的全部內容在此以引用的方式併入本文。另外,為了敘述方便,下文中將該標準簡稱為"DRA標準",並將與DRA標準相應的DRA音頻編解碼技術簡稱為"DRA技術"。儘管霍夫曼編碼產生了良好的編碼效果,極大提高了編碼效率(本文中的術語"編碼效率"可定義為原始音頻信號數據量和編碼音頻信號數據量之比),但其也並非沒有缺點。例如,當霍夫曼碼字較長、碼字總數較多時,以傳統的單級霍夫曼解碼方法對編碼音頻信號進行逆變換時搜索碼書的平均時間長且不同碼字解碼時間相差大、所需存儲量大。具體到DRA霍夫曼解碼算法在DRA解碼端,霍夫曼解碼所佔用的時間和內存佔據了總解碼時間和總內存需求的相當部分。因此,提供快速高效的霍夫曼解碼方法就成為優化DRA解碼端解碼效率的關鍵。為了解決上述問題,現有技術中已公開了一些針對音頻解碼端霍夫曼解碼方法的改進技術。例如,在發表於《電子測量技術》2005年第二期上的、作者為李玥等人的、題目為《音頻系統中的霍夫曼解碼算法改進》的論文(下稱為文件1)中,闡述了一種改進的霍夫曼解碼方法,其通過將MPEG-1碼書中的碼字低位補零,從而生成19位碼字升序排列的新碼書;以及按19位碼字前4位對所有碼字進行分組(以該4位的值作為分組序號)的方式加快了霍夫曼解碼的速度。但文件l的方法至少具有以下缺陷可能需要對碼字補零,增加了存儲需求;在文件1所提到的兩歩式搜索方法中,第一步搜索固定為前4位,不一定是權衡了解碼速度和存儲需求後的最優選擇。再例如,在發表於《微型機與應用》2005年第二期上的、作者為王昱潔等人的、題目為《一種應用於MPEG—2AAC的快速Huffman解碼算法》的論文(下稱為文件2)中,闡述了一種改進的霍夫曼解碼方法,其通過下述步驟來優化霍夫曼解碼效率將AAC碼書中的碼字低位補零,從而生成了16位碼字升序排列的新碼書;以及取原碼字時各碼長的第一個碼字組成定位表;通過定位表提供的基址+偏移量的方式確定原霍夫曼碼字序號。但文件2的方法至少具有以下缺陷可能需要對碼字補零,增加了存儲需求;每次需遍歷定位表,以搜索讀入的二進位編碼在定位表中的對應位置,增加了計算量。又例如,在2004年12月的《計算機工程》(第30巻)上發表的、作者為薛英智等人的、題目為《AAC解碼器的Huffman算法選擇和優化》的論文(下稱為文件3)中,分別討論了在ARM平臺下,對基於分步查表和二進位樹搜索的霍夫曼解碼方法的改進。但文件3的方法至少具有以下缺陷對分步査表法的改進不夠精細,可能並未達到權衡了碼字尺寸和搜索深度之後的最優結果;對二進位樹搜索方法的改進是基於ARM系統自身特點的,不具有通用性。此外,現有技術中並未公開關於針對DRA系統的、快速高效的霍夫曼解碼算法的改進方法。
發明內容為了解決上述問題以及其它問題,本發明特給出了以下的技術方案。本發明公開了一種霍夫曼解碼方法。該方法包括基於待解碼的數據流獲得兩級霍夫曼碼書的、具有三個分量的第一級搜索單元的第一級搜索;判定第一級搜索單元是葉子節點還是根節點的第一級判斷;如果第一級搜索單元被判定是葉子節點,則將第一級搜索單元的第三分量和第二分量分別作為解碼數據和霍夫曼碼字的比特數輸出;否則,本發明的方法還進行第二級搜索,並根據第二級搜索獲得的第二級搜索單元,獲得解碼數據和霍夫曼碼字的比特數。另外,本發明還提供了與之相應的霍夫曼解碼裝置。基於上述技術方案,本發明實現了快速高效的音頻霍夫曼解碼。針對DRA碼書的特點,本發明還提供了進一步的DRA霍夫曼解碼方法,該方法通過綜合代價函數或三級判斷的方式來確定針對DRA碼書的最優第一級讀入比特數x。基於上述進一步的技術方案,本發明實現了針對DRA技術的、快速高效的音頻霍夫曼解離。下文中將參考由附圖所圖解說明的優選示例性實施例來更詳細地解釋本發明的主旨,在附圖中相同的附圖標記代表相同或等同的元件。在附圖中圖1A和1B是方框圖,其分別示出了DRA音頻編、解碼器;圖2是流程圖,其示出了根據本發明第一實施例的、改進的霍夫曼解碼方法;圖3是方框圖,霍夫曼解碼裝置;圖4是流程圖DRA霍夫曼解碼方法;圖5是方框圖DRA霍夫曼解碼裝置;其示出了根據本發明第一實施例的、改進的其示出了根據本發明第二實施例的、改進的其示出了根據本發明第二實施例的、改進的圖6是流程圖,其詳細示出了x數值計算步驟對應於步驟3101A的x計算步驟3101';以及圖7是方框圖,其詳細示出了x數值計算模塊對應於模塊4101A的初始比特計算模塊4101'。具體實施例方式通過藉助附圖在下文中將描述本發明的優選實施例。在以下描述中,將不詳細描述已成為現有技術的功能或結構,因為不必要的細節將導致本發明的介紹含混不清。在圖1A中示出了典型的DRA音頻編碼器10,其可通過硬體、軟體、和/或韌件來實現。簡言之,DRA標準所涉及的技術就是以多個技術模塊對源音(例如,輸入PCM樣本)進行信號處理,以達到"編碼缺陷幾乎不可聞"地壓縮源音的目的。上述多個技術模塊包括但不限於暫態分析模塊20、多解析度濾波器組模塊22、線性標量量化模塊30、量化指數編碼模塊32、碼書選擇模塊34、人耳聽覺模型模塊40、全局比特分配模塊42及多路復用模塊50。按照DRA標準的相關規定,上述技術模塊為必選模塊,即符合標準的DRA輸出碼流(即,DRA標準碼流)一定是經過上述模塊處理後的碼流。按照其功能,可將上述模塊分為四組,即多解析度分析組(包含暫態分析模塊20、多解析度濾波器組模塊22),量化組(包含線性標量量化模塊30、量化指數編碼模塊32、碼書選擇模塊34),心理聲學模型組(包含人耳聽覺模型模塊40、全局比特分配模塊42),MUX組(多路復用模塊50)。本發明的內容主要與上述量化組有關。在圖1B中示出了DRA音頻解碼器110,其對DRA編碼碼流進行解碼,以獲得DRA解碼信號(即,PCM樣本輸出)。下文中將結合圖1B討論與DRA霍夫曼解碼方法相關的流程首先在多路解復用模塊150處接收DRA編碼碼流,並提取其中的控制信息和數據信息;隨後將碼書選擇信息傳輸到碼書選擇模塊134,並通過該模塊控制量化指數模塊132和量化單元個數模塊;量化指數模塊132基於來自多路解復用模塊150的數據和來自碼書選擇模塊134的控制信息,解碼獲得量化指數;最後,逆量化模塊130根據解碼的量化指數和量化單元個數模塊提供的控制信息,逆量化解碼的量化指數。第一,蘑銀汰眾遊霍^^,媽趁術下面結合圖2,詳細解釋根據本發明第一實施例的改進霍夫曼解碼方法IOOO,這種解碼方法不僅可以用於DRA音頻編解碼系統,還可用於其它音頻和/或視頻編解碼系統,故在下文中稱之為"一般改進的霍夫曼解碼方法"。為了討論方便,示例性地給出1個待解碼的霍夫曼碼書(示於表1),其可用於任何公知的音視頻編解碼系統。該碼書被排定為2級,各級節點均由三個變量組成,本文中將第一級節點的通式記為Structurel(X,Determinl,Determin2);將第二級節點記為Structure2(X,Determinl,Determin2)。例如,對應於編號為2的第一級節點(即,節點(1,3,0)),X=l、Determinl=3、Determin2二0。再例如,對應於編號為4的第3個第二級節點(即,節點(5,23,4)),X=5、Determinl二23、Determin2=4。表l霍夫曼碼書實例(並行)tableseeoriginaldocumentpage15表1的所有節點被分為並行的兩組(即,兩列)來表示,因此,可將表1所示的霍夫曼碼書稱之為並行的霍夫曼碼書。與之相應地,還有一種串行的霍夫曼碼書排列方法,在該排列方法中,所有節點順序排成一列(即,分為一組),並且第一級節點在前,第二級節點順序排在第一級節點之後。與表1所示並行霍夫曼碼書相對應的串行霍夫曼碼書被示於表2中。表2霍夫曼碼書實例(串行)tableseeoriginaldocumentpage15tableseeoriginaldocumentpage16結合表1,對表2的排列方式進行簡單說明表2中編號為0-15的節點一一對應於表1中編號為0-15的第一級節點;表2中編號為16-27的節點一一對應於表1中編號為4的12個第二級節點;表2中編號為28-33的節點一一對應於表1中編號為6的6個第二級節點;表2中編號為34-37的節點一一對應於表1中編號為11的4個第二級節點。下文中將結合表1-2及圖2,詳細介紹一般改進的霍夫曼解碼方法IOOO。如圖2所示,一般改進的霍夫曼解碼方法1000在步驟1100處開始,隨後在步驟1101中從待解碼的數據流中讀入x比特數據(xeW,且"x^8,且在第一實施例中x固定為4)。然後,在步驟1102中,將這以二進位表示的x比特數據轉換為十進位數,以該數值作為表1中的第一級碼書的線性索引。接著,在步驟1103中,根據該線性索引查表l,得到第一級碼書中的一個搜索單元。至此,完成第一級搜索,並開始進行第一次判斷。然後,在步驟1104中,判斷這個搜索單元的Determin2是否為零如果Determin2二0,則說明Structurel為葉子節點,Stmcturel的具體形式變為(symbol,bit—usedl,O),並且解碼進程轉到歩驟1110,輸出symbol作為解碼數據,以及輸出bit—usedl作為霍夫曼碼字的比特數,然後解碼進程轉到步驟1109處結束。如果Determin2非0,則說明Structurel為豐艮節點,Stmcturel的具體形式變為(jump—address,Determinl:num一of一subentries),並且解碼進程轉到步驟1105,計算第二級霍夫曼解碼搜索的起始位置orig(即表2中的索引位置)。具體來說,根據Determin2非0情況下的Structurel的三個變量值,可以獲得第二級霍夫曼解碼搜索的起始位置orig,即orig=jump—address,根據orig的值查表2可在步驟1105中獲得初始第二級霍夫曼節點Structure;而Structurel的第三個變量num一of一subentries指示了對應的第二級霍夫曼節點的總數,其又稱之為最大搜索深度(max一depth)。最後,仍在步驟1105中,將循環變量i初始化為orig。至此,完成第一次判斷,並開始進行第二級搜索(步驟1106)。在第二級搜索中,第二級霍夫曼節點Structure2為葉子節點,其具體形式可表示為Structure2(codeword,symbol,bit—used2)。在步驟1106中,讀入bit—used2(0個比特的二進位數據,並將其轉換為待比碼字C一cw,其中,bit一used2(i)表示在表2中編號為i的節點的bit一used2的數值。接下來,在步驟1107中,比較C_cw和碼字codeword(i)是否相等,其中,codeword(i)表示在表2中編號為i的碼字的codeword值。如果C一cw二codeword(i),則進入步驟1108;否則,使i加l,繼續進行步驟1106-1107。實際上,步驟1107重複的次數不大於最大搜索深度(max—depth)。在步驟1108中,輸出第i個節點對應的symbol作為解碼數據,輸出bit—used2+x作為霍夫曼碼字的比特數。隨後解碼進程轉到步驟1109處結束。下面,針對第一級霍夫曼節點為葉子節點和根節點兩種情況,並結合表l-2進行實例說明。對於第一級霍夫曼節點為葉子節點的情況,例如,在步驟1101讀入的4個比特00012(在本文中,以XYZ2表示二進位表示的數據XYZ)指示出第一級碼書索引為1,則在步驟1103中查表1,得到節點為(2,3,0)。在步驟1104中,判斷出Determin2二0,因此節點(2,3,0)即為葉子節點,在步驟1110處輸出2作為解碼數據,輸出3作為霍夫曼碼字的比特數,隨後解碼進程轉到步驟1109處結束。對於第一級霍夫曼節點為根節點的情況,例如,在步驟1101讀入的4個比特01102指示出第一級碼書索引為6,則在步驟1103中査表l,得到節點為(28,0,6)。在步驟1104中,判斷出Determin2非0,因此節點(28,0,6)為根節點。進一步地,在步驟1105中計算出第二級搜索從表2編號為28(orig=28)的節點開始;並且對應節點(28,0,6)的第二級節點總數為6個(即,對應於表2中編號為28-33的節點);循環變量被初始化為28。然後,再次讀入bit一used2(28)=2個比特的二進位數據102,並將其轉換為待比碼字C一cw二2。在步驟1107中,可判斷出C—cw二2^codeword(28)二3,因此令i力口1(即i=29)並重複步驟1106-1107……直到第4次重複時,bit—認d2(31)=3,i賣入的3比特數據為1002,對應的C—cw=4,並且codeword(31)=4=C—cw,說明已找到符合條件的節點(即,表2中編號為31的節點)。此時,解碼進程進入到步驟1108,輸出表2中編號為31的節點對應的symbol=18作為解碼數據,輸出bit—used2+x=3+4=7作為霍夫曼碼字的比特數。隨後解碼進程轉到步驟1109處結束。下文中結合圖3,詳細描述根據本發明第一實施例的改進霍夫曼解碼裝置2000,這種解碼裝置不僅可以用於DRA音頻編解碼系統,還可用於其它音頻和/或視頻編解碼系統,故在下文中稱之為"一般改進的霍夫曼解碼裝置"。待解碼的霍夫曼碼書如前所述,仍被排定為2級,各級節點均由三個變量組成,並且第一級節點的通式可表示為Structurel(X,Determinl,Determin2),第二級節點可表示為為Stmcture2(X,Determinl,Determin2)。碼書的具體排列方式仍如表l-2所描述的那樣。下文中結合表1-2及圖2,詳細介紹一般改進的霍夫曼解碼裝置2000。如圖3所示,一般改進的霍夫曼解碼裝置2000包括可從編碼碼流中讀入x比特數據("H""8,在此x仍固定為4),並將其輸出的緩衝模塊2101;接收上述輸出的x比特,並將其轉換為十進位數,再輸出該數值作為表1中第一級碼書線性索引的線性索引轉換模塊2102;接收上述被輸出的線性索引並查表1,再輸出第一級碼書中對應搜索單元的搜索模塊2103。上述三個模塊2101-2103的功能在於進行第一級搜索。—般改進的霍夫曼解碼裝置2000還包括接收上述輸出的搜索單元並判斷該搜索單元的Determin2是否為零並進行選擇輸出的判斷模塊2104。圖3中所示的判斷模塊2104是"單輸入一二中選一輸出"模塊,即該模塊根據判斷結果從兩個輸出通路中選擇其一進行輸出。具體地,如果Determin2二0,則判斷模塊2104判定Structurel的具體形式為(symbol,bit—usedl,0),並且將symbol作為解碼數據、bit—used1作為霍夫曼碼字比特數輸出到第一結果輸出模塊2110,隨後從第一結果輸出模塊2110輸出霍夫曼解碼數據。反之,如果Determin2非0,則判斷模塊2104判定Structurel的具體開多式為(jump—address,Determinl,num—of一subentries),並且^(每jump—address、num—of—subentries輸出至(J第二級霍夫曼解碼起始位置計算模塊2105。第二級霍夫曼解碼起始位置計算模塊2105按照公式orig=jump—address來計算第二級霍夫曼解碼搜索的起始位置orig,根據此數值查表2獲得初始第二級霍夫曼節點Structure2;並且模塊2105以num一of—subentries的數值作為對應的第二級霍夫曼節點的總數和最大搜索深度(max—depth)。最後,在模塊2105中,將循環變量i初始化等於orig,並最終輸出Stmcture2、max—depth及i三個量。上述模塊2104-2110或2104-2105的作用在於進行了第一次判斷,並準備開始第二級搜索(對於模塊2105分支的情況)。對於模塊2105分支的情況,一般改進的霍夫曼解碼裝置2000還包括循環及碼字比較模塊2106,其接收上述輸出的Structure2、max—depth及i三個量,並判定Structure2的具體數據存儲形式為Structure2(codeword,symbol,bit—used2)。循環及碼字比較模塊2106接下來讀入bit—used2(i)個比特的二進位數據,並將其轉換為待比碼字C—cw。然後還是在循環及碼字比較模塊2106中,比較C—cw和i所對應的相應碼字codeword(i)是否相等。如果C_cw=codeword(i),則循環及碼字比較模塊2106將初始第二級霍夫曼節點Structure2中的symbol作為解碼數據、初始第二級霍夫曼節點Stmcture2中的bit_used2作為霍夫曼碼字比特數輸出到第二結果輸出模塊2108,隨後從第二結果輸出模塊2108輸出霍夫曼解碼數據。反之,如果在循環及碼字比較模塊2106中判定C—cw,codeword(i),則模塊2106使i加1,繼續在表2中搜索第i個節點,並重複讀入bit—used2(i)—>轉換為待比碼字C—cw—〉判斷C—cw和codeword(i)是否相等的步驟,直到C—cw=codeword(i)為止。當通過循環搜索到需要的節點(即,確定了合適的i)時,循環及碼字比較模塊2106將表2中編號為i的第二級霍夫曼節點中的symbol作為解碼數據、該節點中的bit—used2數值加上x作為霍夫曼碼字比特數輸出到第二結果輸出模塊2108,隨後從第二結果輸出模塊2108輸出霍夫曼解碼數據。優選地,可以在循環及碼字比較模塊2106中添加一個糾錯模塊(未示出),其檢測循環及碼字比較模塊2106中循環的次數,當該次數等於max一depth的數值時,糾錯模塊報錯。與現有技術中一級霍夫曼解碼方法及裝置相比,根據本發明第一實施例的霍夫曼解碼方法及裝置可能使出現概率高的碼書更快被搜索到,進而提高了解碼效率。進一步地,在根據本發明第一實施例的霍夫曼解碼方法所使用的、霍夫曼碼書的第二級節點中,bit—used2單調上升,而bit一used2和碼字出現的概率反相關,因此高概率的碼字可以更快地解碼。本領域技術人員能夠理解的是,不論對一般改進的霍夫曼解碼方法1000,還是對一般改進的霍夫曼解碼裝置2000,根據本發明第一實施例的霍夫曼碼書分級方式均優選為兩級。但也並不限於此,根據碼書特點,可能構造出多於兩級的改進霍夫曼碼書。另外,在編碼碼流中最初讀入的數據比特數x也並不限於4,其可被固定選擇為5、6、7、或8。第二實雄,改遂遊顏,賴i辦財下面的實施例針對DRA技術的特點,在"一般改進的霍夫曼解碼方法"的基礎上對其進行進一步的改進,本文中稱之為"改進的DRA霍夫曼解碼方法"。首先,結合對圖1A-1B的說明並根據DRA標準,DRA霍夫曼解碼主要用於解碼瞬態段長度(見DRA標準5.4.3節)、解碼碼書應用範圍(見DRA標準第5.5.2節表20)、解碼碼書指數(見DRA標準5.5.3節表21)、基於所選碼書指數解碼子帶樣本的量化指數(見DRA標準5.6節表22-23)、及解碼量化步長指數(見DRA標準5.7節表25)。另外,通過DRA標準附表B.l可基於量化步長指數獲得量化步長。最後,基於量化指數和量化步長,在逆量化模塊130(見於圖1B)中獲得子帶樣本(見DRA標準6.4節)。DRA標準中共為上述各項解碼需求提供了27個霍夫曼碼書Huffiab01-Hufftab27。基於每個碼書各自的特點,又可以對上文描述的霍夫曼解碼方法進行進一步的優化。為了描述上的方便,本文僅給出針對DRA的27個霍夫曼碼書的計算結果(見於表3),具體的碼書數據可見DRA標準附錄的相應部分。本領域技術人員可以了解的是,通過閱讀本實施例的說明並結合實際的27個DRA霍夫曼碼書,能夠實現對DRA霍夫曼解碼的優化。具體地,圖4示出了根據本發明第二實施例的改進的DRA霍夫曼解碼方法3000。該方法與上文中結合圖2所述的一般改進的霍夫曼解碼方法1000基本相同(步驟3101-3110分別對應步驟1101-1110),除了在步驟3101之前增加了讀入x的數值的步驟3101A,在該步驟中從編碼碼流中讀入x的數值,並以該x的數值指導步驟3101。稍後將結合圖6對與步驟3101A有關的x數值計算步驟3101'進行詳細的解釋。另外,在圖5中還示出了改進的DRA霍夫曼解碼裝置4000。該解碼裝置與上文中結合圖3所述的一般改進的霍夫曼解碼裝置2000基本相同(模塊4101-4110分別對應模塊2101-2110),除了為緩衝模塊4101增加了來自初始比特讀入模塊4101A的輸入。在初始比特讀入模塊4101A中,從編碼碼流中讀入x的數值,並以該x的數值指導模塊4101的操作。稍後將結合圖7對與模塊4101A有關的x數值計算模塊4101'進行詳細的解釋。為了實現針對DRA碼書特點進一步優化霍夫曼解碼的目的,需要根據碼書特點,在第一級所需搜索比特數x和第二級最大搜索深度(max一depth)之間進行權衡在與x對應的兩級碼書的總項數並未增大很多的情況下(如,不超過x=4情況下的兩級解碼碼書總項數的某個倍數值),尋找第二級最大搜索深度的拐點。最終可進一步達到下述目的在碼書總項數不過多增加的情況下,儘可能提高霍夫曼解碼速度。下面結合圖6和圖7,分別詳細說明步驟3101,和模塊410r。首先,轉到圖6,首先詳細說明步驟3101',該步驟處於編碼端,用於計算並將x存儲在DRA編碼碼流中。如圖6所示,在步驟3b中,將針對某個霍夫曼碼書(如,第y個碼書對應於表3中碼書編號為弁Hufftaby行的數據)的循環變量x的值初始化為4;然後在步驟3c,判斷第一級讀入m比特時的尺寸值(size(m),如表3中標號為tab—mX.dat行中的相應size值)是否大於第一級讀入4比特時的尺寸值(即size(4),例如表3中標號為tab_4X.dat行中的相應size值)的Tl倍。其中,Tl為第一閾值,優選為1.5-2,更優選為1.8-2,進一步優選為1.9-2。如果在步驟3c中的判斷為是,則直接進入歩驟3d,將x設定為4;然後在步驟3h中將x的數值存儲在DRA編碼碼流中,並結束步驟3101,。如果在步驟3c中的判斷為否,則進入到步驟3e中進行進一步的判斷,即判斷m是否等於8。如果在步驟3e中的判斷為是,則直接進入步驟3d,將x設定為4;然後在步驟3h中將x的數值存儲在DRA編碼碼流中,並結束步驟3101'。如果在步驟3e中的判斷為否,則進入第三個判斷步驟3f,即判斷(MD(m)-MD(m+l))/MD(m)是否大於T2。其中,MD(m)表示第一步讀入m比特時的最大搜索深度(如表3中標號為tab一mX.dat行中的相應的max一depth值);T2為第二閾值,優選為0.2-0.7,更優選為0.2-0.5,進一步優選為0.25-0.3。如果在歩驟3f中的判斷為是,則進入步驟3g,將x設定為m+l;然後在步驟3h中將x的數值存儲在DRA編碼碼流中,並結束步驟3101'。如果在步驟3f中的判斷為否,則令m加l,並回到步驟3c,繼續進行下一輪的判斷。接下來,轉到圖7,詳細說明模塊410r,該模塊處於編碼端,用於計算並將x存儲在DRA編碼碼流中。如圖7所示,賦值模塊4b首先將針對某個霍夫曼碼書(如,第y個碼書對應於表3中碼書編號為#Hufftaby行的數據)的循環變量m的值初始化為4;然後第一判定模塊4c用於判斷第一級讀入m比特時的尺寸值size(m)是否大於第一級讀入4比特時的尺寸值size(4)的T1倍。其中,Tl為第一閾值,優選為1.5-2,更優選為1.8-2,進一步優選為1.9-2。如果在模塊4c中的判斷為是,則經由其第一通路進入第一x值確定模塊4d,該模塊將x設定為4;然後在存儲模塊4h中將x的數值存儲在DRA編碼碼流中,並結束整個模塊4101,的處理。如果在模塊4c中的判斷為否,則經由其第二通路進入第二判斷模塊4e中判斷m是否等於8。如果在模塊4e中的判斷為是,則經由其第一通路進入第一x值確定模塊4d,該模塊將x設定為4;然後在存儲模塊4h中將x的數值存儲在DRA編碼碼流中,並結束整個模塊4101'的處理。如果在模塊4e中的判斷為否,則經由其第二通路進入第三判定模塊4f,判斷(MD(m)-MD(m+l))/MD(m)是否大於T2。其中,MD(m)表示第一步讀入m比特時的最大搜索深度(如表3中標號為tab—mX.dat行中的相應的max—depth值);T2為第二閾值,優選為0.2-0.7,更優選為0.2-0.5,進一步優選為0.25-0.3。如果在模塊4f中的判斷為是,則直接進入第二x值確定模塊4g,其將x設定為m+l;然後在存儲模塊4h中將x的數值存儲在DRA編碼碼流中,並結束整個模塊4101,的處理。否則,令m加l,並轉到第一判定模塊4c,重新進行下一輪的判斷。表3針對27個霍夫曼碼書的分析標號碼書編號數據tab——4X.datHufftab1,7entries,max——codeword一—length4,size16,—depth0tab—-5X.datHufftab1,7entries,max——codeword——length4,size32,msx—一d印th0tab——6X.datHufftab1,7entries,max——codsword一—length4,siz664,max_—depth0tab_—7X.dstHufftab1,7entries,nmx——codeword—length4,size128,max_—depth0tab_—8X.datHufftab1,7entries,max——codeword——length4,siz6256,max_—depth0tab——4X.dat#Hufftab2,64entries,max——codeword——length15,size72,max—_depth25tab——5X,dstHufftab2,64entries,max——codeword——length15,84,max—_ciepth24tab——6X.dstHufftab2'64entries,max——codeword—length15,size113,max—_depth13tab一—7X.datHufftab2,64entries,max——codeword—length15,sizs174,max——depth12tab—-8X.datHufftab2,64entries,max—一codeword一—length15,sizs295,max——depth11tab_—4X.dat#Hufftab3,32entries,max——codeword——length11,sizs38,max—_depth12tab_一5X.datHufftab3,32entries,—codeword——length11,size52,max—_depth11tab一—6X.datttHufftab3,32entries,max——codeword——length11,size79,nmx__depth10tab——7X.datttHufftab3,32entries,max——codeword—length11,sizs140,nmx——depth5tab——8X,dstHufftab3'32entries,max——codeword—length11,siz6265,max_—depth4tab——4X.dat#Hufftab4,18entries,max——codeword——length11,size29,max—_depth8tab—_5X.dat#Hufftab4,18entries,max——codeword——length11,size41,nmx一_depth7tab—_6X.dstHufftab4,18entries,max_—codeword——length11,size70,ina^x—_depth6tab—_7X.datHufftab4,18entries,msx_—codeword——length11,size133,nmx一_depth5tab-_8X,datttHufftab4,18entries,max_一codeword一—length11,size260,ma_x—_depth4tab——4X.datttHufftab5,18entries,max—一codeword一—length12,size29,max——depth11tab一_5X.datHufftab5,18entries,max—一codeword一—length12,size42,m3x__depth10tab—_6X.dat#Hufftab5,18entries,—codeword——length12,size73,max__depth9tab——7X.datHufftab5,18entries,max_—codeword-—length12,size136,m3x_—depth8tab——8X.datHufftab5'18entries,max—codeword-—length12,size263,ni3X_—depth7tab_-4X,datHufftab6,116entries,nrnx——codeword——length17,size124,nmx_jiepth28tab_—5X.datHufftab6,116entries,m3X-—codeword——length17,size136,max__depth26tab_—6X.datHufftab6,116entries,max—_cod6word_—length17,size161,ma_x——depth22tab一—7X.datHufftab6,116entries,max——codsword_—length17,size219,nmx_—depth18tab_—8X.dat#Hufftab6,116entries,max——codeword——length17,size340,maLX—_depth15tab——4X.datHufftab7,116entries,max——codeword——length13,size126,max__depth26tab——5X.dstHufftab7,116entries,nrnx——codeword——length13'size133,ma^x__depth25tab_6X,dstHufftab7,116entries,ffl3X一—codeword——length13,sizs157,max_—depth24tab——7X,datHufftab7,116entries,nmx——codeword——length13,size213,_depth22tableseeoriginaldocumentpage25tableseeoriginaldocumentpage26tableseeoriginaldocumentpage27第三,蕭..改遂遊細鼓,微,下面的實施例針對DRA技術的特點,詳細說明再一種改進的DRA霍夫曼解碼技術。在本實施例中所針對的27個碼書與第二實施例中結合圖1A-1B及DRA標準所描述的27個DRA霍夫曼碼書一致。在兩級霍夫曼解碼過程中,第一級搜索比特數x與兩級碼書的總項目數size正相關,與第二級解碼的最大深度(max—depth)負相關。優化的兩級碼書需要在總項目數和最大深度之間權衡,得到優選的x值。因此可定義一綜合代價函數,將其分別用在改進霍夫曼解碼方法5000(未示出)和改進霍夫曼解碼裝置6000(未示出)中。上述綜合代價函數的詳細定義為cost(x)=a*max—depth(x)+log2(size(x))*log2(size(0))其中,a是權重參數;x表示在解碼端第一級初始讀入的比特數;max—depth(x)、size(x)表示表3中標號為tab—xX.dat行中的max—depth和size所對應的值;size(O)表示線性碼書項數。在改進霍夫曼解碼方法5000中,首先在一定範圍內賦予a—個取值,該範圍優選為0.4-1.6,更優選為0.6-1.4,進一步優選為0.8-1.2;然後,分別計算第y個碼書(即,DRA算法中提到的27個碼書之一)的、對應不同x取值的costy(x)的數值(y為碼書編號,取值範圍從1到27);接著,記錄每個COSty(X)取最小值時的X的值XyMin;最後對應第y個DRA碼書,輸出XyMin值,隨後以該數值指導第y個DRA碼書的解碼(即以XyMin作為第一級初始讀入比特數)。在改進霍夫曼解碼裝置6000中,包括賦值模塊,用於賦予a—個取值,該範圍優選為0.4-1.6,更優選為0.6-1.4,進一步優選為0.8-1.2;計算模塊,用於分別計算第y個DRA碼書(S卩,DRA算法中提到的27個碼書之一)的、對應不同x取值的costy(x)的數值(y為碼書編號,取值範圍從1到27);記錄模塊,用於記錄每個costy(x)取最小值時的x的值xyMin;輸出模塊,用於對應第y個DRA碼書輸出xyMin值,隨後以該數值指導第y個DRA碼書的解碼(即以XyMin作為第一級初始讀入比特數)。在改進霍夫曼解碼方法5000和/或改進霍夫曼解碼裝置6000中,越大的a值意味著選取x對應的碼書具有更小的maX_depth及更大的size,即更低的解碼速度及更大的碼書存儲空間;反之,更小的a值意味著選取的x對應的碼書就有更大的max—depth及更小的size,即更低的解碼速度及更小的碼書存儲空間。根據本發明的一個實例,當a-l.O,且4^n^8時,表3的27個碼書對應的costy(x)及XyMin如表4所示。表4第一級搜索比特數m的選取tableseeoriginaldocumentpage28tableseeoriginaldocumentpage29本領域技術人員可以理解的是,上述第二、第三實施例並不限於針對DRA霍夫曼碼書。通過閱讀本發明的說明書和權利要求書,本領域技術人員可將第二、第三實施例中提到的針對DRA霍夫曼碼書的優化方法、裝置均可用於一般的兩級霍夫曼碼書的第一級比特數優化。仿真潛菜本申請的發明人在定點16位數位訊號處理器Blackfm-533對本申請提出的三種改進霍夫曼解碼方法和現有的線性搜索霍夫曼解碼方法做了性能對比。兩種霍夫曼解碼程序均採用標準C語言,不包含針對平臺的優化,嵌在實際的DRA音頻解碼器中運行。雖然驗證平臺是Blackfin-533,但程序本身可以在通用PC及多數嵌入式處理器和數位訊號處理器上運行。表4-l4-3給出的數據是解碼1秒DRA碼流霍夫曼解碼部分的處理器時鐘周期消耗,其中DRA碼流的採樣率為48kttz,碼率為128kbps。表4-i針對本發明第一實施例的對比測試tableseeoriginaldocumentpage29對於第一實施例的情況,改進後碼書項數3112,原始項數2819,即項數增加了約10%。表4-2針對本發明第二實施例的對比測試tableseeoriginaldocumentpage30對於第二實施例的情況,改進後碼書項數4266,原始項數2819,即項數增加了約51%。表4-3針對本發明第三實施例的對比測試tableseeoriginaldocumentpage30對於第三實施例的情況,改進後碼書項數4324,原始項數2819,即項數增加了約53%。由表4-l4-3可以得出下述結論在無編譯器優化的情況下,優化後的霍夫曼解碼模塊每秒的處理器時鐘周期消耗只是線性搜索相應消耗的1/61/7,即具有6-7倍的加速比;在有編譯器優化的情況下,霍夫曼解碼模塊每秒的處理器時鐘周期消耗只是線性搜索相應消耗的1/41/5,即具有4-5倍的加速比。可見,本申請提出的方法及裝置對霍夫曼解碼模塊有顯著的優化效果。雖然結合目前被認為是最實際和最優的實施例描述了本發明,但本領域技術人員應當理解本發明不限於所公開的實施例,相反,本發明旨在覆蓋所附權利要求的精神和範疇之內包括的各種各樣的修改和等價結構。本領域技術人員能夠理解的是可如示於特定實施例地將多種變形和/或改進使用到本發明,而這並不脫離以寬廣方式描述的本發明精神或範圍。因此,本文的實施例被認為在各個方面是描述性的而非限定性的。權利要求1.一種霍夫曼解碼方法,包括第一級搜索,其基於待解碼的數據流獲得兩級霍夫曼碼書的、具有三個分量的第一級搜索單元;第一級判斷,其判定所述第一級搜索單元是葉子節點還是根節點;其中,如果所述第一級搜索單元被判定是葉子節點,則將所述第一級搜索單元的第三分量和第二分量分別作為解碼數據和霍夫曼碼字的比特數輸出;否則,所述霍夫曼解碼方法還包括第二級搜索,其接收所述第一級搜索單元,並基於所述第一級搜索單元的第三分量獲得所述兩級霍夫曼碼書的、具有三個分量的第二級搜索單元;其中,所述霍夫曼解碼方法進一步包括接收所述第二級搜索單元,並進行第二級判斷,所述第二級判斷包括p)判定所述第二級搜索單元是否為目標單元;q)如果所述第二級搜索單元被判定為目標單元,則解碼數據和霍夫曼碼字的比特數將作為所述第二級搜索單元的第一和第二分量的函數而被輸出;r)否則,將第二級搜索單元重新設定為在所述兩級霍夫曼碼書中的下一個搜索單元,並重新進行所述第二級判斷。2.根據權利要求1所述的霍夫曼解碼方法,其特徵在於,在所述第一級搜索中,以第一讀入數值作為索引,在所述兩級霍夫曼碼書中獲得所述第一級搜索單元,其中,所述第一讀入數值是從所述待解碼的數據流讀入的x比特數據對應的十進位表示值。3.根據權利要求2所述的霍夫曼解碼方法,其特徵在於,所述x固定為4。4.根據權利要求3所述的霍夫曼解碼方法,其特徵在於,如果所述第一級搜索單元被判定是根節點,則在所述第二級判斷中,當所述第二級搜索單元的第三分量等於第二讀入數值時,判定所述第二級搜索單元是目標單元;否則,判定所述第二級搜索單元不是目標單元,其中,所述第二讀入數值是從所述待解碼的數據流再次讀入的、所述第二級搜索單元的第一分量對應的十進位數值個比特數據的十進位表不。5.根據權利要求4所述的霍夫曼解碼方法,其特徵在於,在所述第二級判斷中,所述第二級搜索單元的第一和第二分量的函數為解碼數據=所述第二級搜索單元的第二分量;且霍夫曼碼字的比特數二所述第二級搜索單元的第一分量+x。6.根據權利要求3所述的霍夫曼解碼方法,其特徵在於,在所述第一級判斷中,如果所述第一級搜索單元的第一分量為0,則判定所述第一級搜索單元是葉子節點;否則,則判定所述第一級搜索單元是根節點。7.根據權利要求6所述的霍夫曼解碼方法,其特徵在於,如果所述第一級搜索單元被判定是根節點,則所述霍夫曼解碼方法還包括一個糾錯步驟,其記錄所述第二級判斷中的循環次數,並在所述循環次數等於所述第一級搜索單元的第一分量時報錯。8.—種霍夫曼解碼裝置,包括第一級搜索模塊,用於基於待解碼的數據流獲得兩級霍夫曼碼書的、具有三個分量的第一級搜索單元;第一級判斷模塊,用於判定所述第一級搜索單元是葉子節點還是根節點;其中,如果所述第一級搜索單元被判定是葉子節點,則通過第一結果輸出模塊將所述第一級搜索單元的第三分量和第二分量分別作為解碼數據和霍夫曼碼字的比特數輸出;否則,所述霍夫曼解碼裝置還包括第二級搜索模塊,用於接收所述第一級搜索單元,並基於所述第一級搜索單元的第三分量獲得所述兩級霍夫曼碼書的、具有三個分量的第二級搜索單元;其中,所述霍夫曼解碼裝置進一步包括接收所述第二級搜索單元接收模塊,所述接收模塊將所述第二級搜索單元傳輸給第二級判斷模塊,所述第二級判斷模塊的操作包括p)判定所述第二級搜索單元是否為目標單元;q)如果所述第二級搜索單元被判定為目標單元,則解碼數據和霍夫曼碼字的比特數將作為所述第二級搜索單元的第一和第二分量的函數而被輸出;r)否則,將第二級搜索單元重新設定為在所述兩級霍夫曼碼書中的下一個搜索單元,並重新進行所述第二級判斷模塊的操作。9.根據權利要求8所述的霍夫曼解碼裝置,其特徵在於,在所述第一級搜索模塊中,以第一讀入數值作為索引,在所述兩級霍夫曼碼書中獲得所述第一級搜索單元,其中,所述第一讀入數值是從所述待解碼的數據流讀入的x比特數據對應的十進位表示值。10.根據權利要求9所述的霍夫曼解碼裝置,其特徵在於,所述x固定為4。11.根據權利要求10所述的霍夫曼解碼裝置,其特徵在於,如果所述第一級搜索單元被判定是根節點,則在所述第二級判斷模塊中,當所述第二級搜索單元的第三分量等於第二讀入數值時,判定所述第二級搜索單元是目標單元;否則,判定所述第二級搜索單元不是目標單元,其中,所述第二讀入數值是從所述待解碼的數據流再次讀入的、所述第二級搜索單元的第一分量對應的十進位數值個比特數據的十進位表示。12.根據權利要求ll所述的霍夫曼解碼裝置,其特徵在於,在所述第二級判斷模塊中,所述第二級搜索單元的第一和第二分量的函數為解碼數據=所述第二級搜索單元的第二分量;且霍夫曼碼字的比特數二所述第二級搜索單元的第一分量+x。13.根據權利要求10所述的霍夫曼解碼裝置,其特徵在於,在所述第一級判斷模塊中,如果所述第一級搜索單元的第一分量為0,則判定所述第一級搜索單元是葉子節點;否則,則判定所述第一級搜索單元是根節點。14.根據權利要求13所述的霍夫曼解碼裝置,其特徵在於,如果所述第一級搜索單元被判定是根節點,則所述霍夫曼解碼裝置還包括一個糾錯模塊,其記錄所述第二級判斷模塊中的循環次數,並在所述循環次數等於所述第一級搜索單元的第一分量時報錯。15.—種DRA霍夫曼解碼方法,包括從待解碼數據流中讀入x的數值,並以所述待解碼數據流中的所述x個比特數據對應的十進位表示值作為第一讀入數值;第一級搜索,其以所述第一讀入數值作為索引,在兩級DRA霍夫曼碼書中獲得具有三個分量的第一級搜索單元,第一級判斷,其判定所述第一級搜索單元是葉子節點還是根節點;其中,如果所述第一級搜索單元被判定是葉子節點,則將所述第一級搜索單元的第三分量和第二分量分別作為解碼數據和霍夫曼碼字的比特數輸出;否則,所述DRA霍夫曼解碼方法還包括第二級搜索,其接收所述第一級搜索單元,並基於所述第一級搜索單元的第三分量獲得所述兩級DRA霍夫曼碼書的、具有三個分量的第二級搜索單元;其中,所述DRA霍夫曼解碼方法進一步包括接收所述第二級搜索單元,並進行第二級判斷,所述第二級判斷包括p)判定所述第二級搜索單元是否為目標單元;q)如果所述第二級搜索單元被判定為目標單元,則解碼數據和霍夫曼碼字的比特數將作為所述第二級搜索單元的第一和第二分量的函數而被輸出;r)否則,將第二級搜索單元重新設定為在所述兩級DRA霍夫曼碼書中的下一個搜索單元,並重新進行所述第二級判斷。16.根據權利要求15所述的DRA霍夫曼解碼方法,其特徵在於,所述x按如下步驟確定x)根據給定的權重係數a,分別計算第y個兩級DRA霍夫曼碼書的綜合代價函數costy(x),其中y二l,2,3,……27;y)分別對應第y個兩級DRA霍夫曼碼書,記錄當所述綜合代價函數取最小值時的第一級讀入比特數x的數值xyMin;z),輸出所述XyMh值作為對應於第y個兩級DRA霍夫曼碼書的最優第一級讀入比特數,並將所述XyMin值存儲在所述待解碼數據流中;其中,對應第y個兩級DRA霍夫曼碼書的綜合代價函數為第y個兩級DRA霍夫曼碼書的第二級最大搜索深度max一depth(x)、碼書尺寸值size(x)及線性碼書項數size(0)的函數。17.根據權利要求16所述的DRA霍夫曼解碼方法,其特徵在於,所述綜合代價函數的通式為formulaseeoriginaldocumentpage618.根據權利要求17所述的方法,其特徵在於a=l。19.根據權利要求15所述的DRA霍夫曼解碼方法,其特徵在於,所述X按如下步驟確定a)將針對第y個兩級DRA霍夫曼碼書的循環變量m的值初始化為4;b)判斷第一級讀入m比特時的尺寸值是否大於第一級讀入4比特時的尺寸值的Tl倍;C)如果b)為真,則轉到步驟d);否則,轉到步驟e);d)將所述X設定為4,然後轉到步驟h);e)如果m等於8,則轉到步驟d);否則轉到步驟f);f)如果(MD(m)-MD(m+l))/MD(m)大於T2,則轉到步驟g),否則令m加1,並轉到步驟b);其中,所述MD(m)表示第一步讀入m比特時的最大搜索深度,g)將所述x設定為m+l;以及h)將所述x的數值存儲在所述待解碼數據流中。20.根據權利要求19所述的DRA霍夫曼解碼方法,其特徵在於,所述T1為2,所述T2為0.25。21.—種DRA霍夫曼解碼裝置,包括初始比特讀入模塊,其從待解碼數據流中讀入x的數值,並以所述待解碼數據流中的所述x個比特數據對應的十進位表示值作為第一讀入數值;第一級搜索模塊,用於以所述第一讀入數值作為索引,在兩級DRA霍夫曼碼書中獲得具有三個分量的第一級搜索單元,第一級判斷模塊,用於判定所述第一級搜索單元是葉子節點還是根節點;其中,如果所述第一級搜索單元被判定是葉子節點,則通過第一結果輸出模塊將所述第一級搜索單元的第三分量和第二分量分別作為解碼數據和霍夫曼碼字的比特數輸出;否則,所述DRA霍夫曼解碼裝置還包括第二級搜索模塊,用於接收所述第一級搜索單元,並基於所述第一級搜索單元的第三分量獲得所述兩級DRA霍夫曼碼書的、具有三個分量的第二級搜索單元;其中,所述DRA霍夫曼解碼裝置進一步包括接收所述第二級搜索單元接收模塊,所述接收模塊將所述第二級搜索單元傳輸給第二級判斷模塊,所述第二級判斷模塊的操作包括p)判定所述第二級搜索單元是否為目標單元;q)如果所述第二級搜索單元被判定為目標單元,則解碼數據和霍夫曼碼字的比特數將作為所述第二級搜索單元的第一和第二分量的函數而被輸出;r)否則,將第二級搜索單元重新設定為在所述兩級DRA霍夫曼碼書中的下一個搜索單元,並重新進行所述第二級判斷模塊的操作。22.根據權利要求21所述的DRA霍夫曼解碼裝置,其特徵在於,所述x由x數值計算模塊來確定,所述x數值計算模塊包括綜合代價函數計算模塊,用於根據給定的權重係數ct,分別計算第y個兩級DRA霍夫曼碼書的綜合代價函數costy(x),其中y二l,2,3,27;記錄模塊,用於分別對應第y個兩級DRA霍夫曼碼書,記錄當所述綜合代價函數取最小值時的第一級讀入比特數x的數值xyMm;輸出模塊,用於輸出所述XyMiJ直作為對應於第y個兩級DRA霍夫曼碼書的最優第一級讀入比特數,並將所述XyMiJ直存儲在所述待解碼數據流中,其中,對應第y個兩級DRA霍夫曼碼書的綜合代價函數為第y個兩級DRA霍夫曼碼書的第二級最大搜索深度max—depth(x)、碼書尺寸值size(x)及線性碼書項數size(0)的函數。23.根據權利要求22所述的DRA霍夫曼解碼裝置,其特徵在於,所述綜合代價函數的通式為formulaseeoriginaldocumentpage824.根據權利要求23所述的DRA霍夫曼解碼裝置,其特徵在於a=l。25.根據權利要求21所述的DRA霍夫曼解碼裝置,其特徵在於,所述x由x數值計算模塊來確定,所述x數值計算模塊包括賦值模塊,用於將針對第y個兩級DRA霍夫曼碼書的循環變量m的值初始化為4;第一判定模塊,用於判斷第一級讀入m比特時的尺寸值是否大於第一級讀入4比特時的尺寸值的Tl倍;如果所述第一判定模塊中的判定結果為真,則轉到第一x值確定模塊;否則,轉到第二判定模塊;所述第一x值確定模塊,用於將所述x設定為4,並轉到輸出模塊;在所述第二判定模塊中,如果m等於8,則轉到所述第一x值確定模塊;否則轉到第三判定模塊;在所述第三判定模塊中,如果(MD(m)-MD(m+l))/MD(m)大於T2,則轉到第二x值確定模塊,否則令m加l,並轉到所述第一判定模塊;其中,所述MD(m)表示第一步讀入m比特時的最大搜索深度,所述第二x值確定模塊,將所述x設定為m+l,並轉到所述輸出模塊;以及所述輸出模塊,將所述x的數值存儲在所述待解碼數據流中。26.根據權利要求25所述的DRA霍夫曼解碼裝置,其特徵在於,所述T1為2,所述T2為0.25。全文摘要本發明公開了一種霍夫曼解碼方法。該方法包括基於待解碼的數據流獲得兩級霍夫曼碼書的、具有三個分量的第一級搜索單元的第一級搜索;判定第一級搜索單元是葉子節點還是根節點的第一級判斷;如果第一級搜索單元被判定是葉子節點,則將第一級搜索單元的第三分量和第二分量分別作為解碼數據和霍夫曼碼字的比特數輸出;否則,本發明的方法還進行第二級搜索,並根據第二級搜索獲得的第二級搜索單元,獲得解碼數據和霍夫曼碼字的比特數。本發明還提供了與上述方法相應的霍夫曼解碼裝置。通過本發明的方法及裝置,可以顯著優化霍夫曼解碼,特別是DRA霍夫曼解碼。文檔編號H03M7/40GK101626242SQ20081011654公開日2010年1月13日申請日期2008年7月11日優先權日2008年7月11日發明者張盈華申請人:數維科技(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀