專利名稱::可適應性范式哈夫曼解碼器及其方法與圖像解碼器的制作方法
技術領域:
:本發(fā)明涉及一種熵解碼器(entropydecoder),且特別涉及一種可適應性范式哈夫曼解碼器(adaptivecanonicalHuffmandecoder)及其方法,以及使用此適應性范式哈夫曼解碼器或其方法的圖像解碼器。
背景技術:
:哈夫曼編碼(Huffmancoding)是一種常用于圖像壓縮(imageorvideocompression)中的熵編碼(entropycoding),且哈夫曼編碼是一種存在已久的無失真壓縮(losslesscompression)方法。然而,在使用哈夫曼編碼時,解碼器需要知道哈夫曼編碼樹的結構,因此編碼器必須在比特流(bitstream)中將哈夫曼編碼樹傳送給解碼器,或者解碼器必須使用其與編碼器事先約定好的哈夫曼編碼樹。然而,隨著時代的進步,所需要壓縮的數(shù)據(jù)量愈來愈龐大,因此若是在比特流中傳送哈夫曼編碼樹,則數(shù)據(jù)的壓縮率會被大大地降低。雖然,在解碼器中預先存儲龐大的哈夫曼編碼樹可以解決壓縮率被降低的問題,但是,預先將龐大的哈夫曼編碼樹存儲于解碼器中則會大量地占據(jù)整個解碼器或圖像解碼器的硬件資源。為了解決上述的問題,范式哈夫曼編碼(canonicalHuffmancoding)是由Schwartz[1964]所提出,范式哈夫曼編碼跟哈夫曼編碼同樣屬于最佳化前置編碼(optimalprefixcoding)及非等長編碼(variablelengthcoding)。范式哈夫曼編碼是哈夫曼編碼的一個子集,其主要的特征是在哈夫曼編碼中加入一些強制的約定,使得解碼器只需要知道很少的信息便能重建出整個哈夫曼編碼樹。范式哈夫曼編碼最重要的約定就是數(shù)字序列屬性(numericalsequenceproperty)的約定,此約定規(guī)范所有相同長度的碼字(codeword)是連續(xù)的二進制的數(shù)字。舉例來說,如果碼字長度為4的第一碼(firstcode)為0010,則其他碼字長度為4的碼字必然為0011、0100、0101、...等。除了數(shù)字序列屬性的約定之外,范式哈夫曼編碼還外加了其他的約定。根據(jù)這些約定,范式哈夫曼編碼可分成兩種類,其中一種為種類1的范式哈夫曼編碼,另一種則為種類2的范式哈夫曼編碼。傳統(tǒng)范式哈夫曼編碼的解碼方式多半采用軟件解碼的方式,然而,在決定碼字長度時是采用循序的作法,因此,在碼字長度較長時,采用軟件解碼的方式會因為效率太低,而不能應用于一些有速度需求的系統(tǒng)下,例如實時系統(tǒng)(real-timesystem)。在美國第5,173,695號專利中,Ming-TingSun使用硬件架構來對非等長碼(VariableLengthCode)進行解碼。由于范式哈夫曼編碼亦屬于非等長碼的一種,故此解碼器也可使用于范式哈夫曼編碼的解碼上。請參照圖1A,圖IA是美國第5,173,695號專利所提供的非等長碼解碼器10的系統(tǒng)方塊圖。此傳統(tǒng)的解碼器10包括寄存器101、102、桶狀(barrel)寄存器103、加法器104與查找表(lookuptable)Il0其中,查找表11包括了碼字表110、解碼符號表(decodedsymboltable)111與碼字長度表112。范式哈夫曼解碼器10中的各元件的耦接關系如同圖IA所示,在此便不贅述。此傳統(tǒng)的解碼器10利用碼字表110去平行比對輸入的比特流,然后再將比對所得到的碼字長度及解碼符號輸出。碼字表110、碼字長度表112與解碼符號表111都是由可編程邏輯陣列(programmablelogicarray)所存儲,因此傳統(tǒng)的解碼器10的解碼的速度非??臁4藗鹘y(tǒng)的解碼器10在每一個時鐘周期內可解出一個符號(1symbol/cycle),因此能符合許多實時系統(tǒng)的需求。但隨著編碼演算法的進步,有人提出了內容可適應性(contentadaptive)的概念,此概念主要的訴求是在不同的編碼環(huán)境底下,各種符號的機率分布應有所不同。因此,在不同的環(huán)境下,編碼器會采用不同的編碼表來進行編碼,而解碼器則必須選擇對應的編碼表來進行解碼。例如在VC-I的規(guī)格中,總共會有8個交流(AC)編碼表,且VC-I會根據(jù)量化參數(shù)(quantizationparameter,簡稱QP)或畫面間與畫面內(inter/intra)的差異性來決定使用那一個AC編碼表來編碼。一些近期的圖像編碼標準(videocodingstandard),例如H.264及VC-1都有使用到這個概念。如果要用美國第5,173,695號專利的概念來實作一個具有內容可適應性的解碼器,則必須加入了一個編碼表選擇信號及兩個多工器來選擇正確的解碼符號。請參照圖1B,圖IB是利用美國第5,173,695號專利的概念所實作的一個具有內容可適應性的解碼器20的系統(tǒng)方塊圖。解碼器20包括寄存器201、202、桶狀寄存器203、加法器204、第一查找表21、第二查找表22、第三查找表23、第四查找表24與多工器205、206。其中,第一至第四查找表2124存儲了其對應的不同編碼表的內容,例如,第一查找表21包括了其對應的編碼表中的碼字表、解碼符號表與碼字長度表。解碼器20中的各元件的耦接關系如同圖IB所示,在此便不贅述。解碼器20是利用可編程邏輯陣列來平行比對輸入的比特流,每一個查找表2124皆會輸出一個解碼符號與碼字長度,而編碼表選擇信號Table_sel則用以控制多工器205與206選擇一個正確的解碼符號與碼字長度。然而,隨著編碼表的增加,此種實施方式的硬件成本也會等比例成長。雖然此種實施方式可適用于所有的非等長碼解碼(variablelengthdecoding)且易于實作,不過在內容可適應性編碼(contentadaptivecoding)的應用下,其硬件成本會增大許多。雖然,美國第5,173,695號專利所提供的解碼器的解碼時間快速,其硬件易于實作,且用途廣泛,甚至可用來實作所有非等長碼的解碼器。但是,在范式哈夫曼編碼的解碼器的實作上,由于沒有好好地利用到范式哈夫曼編碼不需要存儲整個編碼二元樹的特性,所以,使用美國第5,173,695號專利所提供的解碼器來實作范式哈夫曼解碼器時,會有硬件成本過高的問題。因此,在美國第6,657,569號專利中,MarkL.Barnett提出了一個利用硬件加速解碼的范式哈夫曼解碼器。請參照圖2,圖2是美國第6,657,569號專利所提供的范式哈夫曼解碼器30的系統(tǒng)方塊圖。范式哈夫曼解碼器30包括了第一碼寄存器301、符號指標寄存器302、比較器33033N、減法器35035N、加法器34034N與多工器312。其中,范式哈夫曼解碼器30中各元件之間的耦接關系如同圖2所示,便不再贅述。外部的存儲器會記錄多個不同的編碼表,而每一個編碼表有其對應的第一碼表(firstcodetable)、符號指標表(symbolpointertable)與符號表(symboltable)。第一碼寄存器301會自外部的存儲器所存儲的多個第一碼表中選擇一個與目前編碼表對應的第一碼表,其中,所選擇的第一碼表中記錄了碼字長度為1至N+1的第一碼FIRSTC0DEFIRSTC0DE[N]。指標寄存器302自外部的存儲器所存儲的多個符號指標表中選擇一個與目前編碼表對應的符號指標表,其中,指標寄存器302僅存儲與第一碼寄存器301所對應的多個第一碼的符號指標SYM_PTRSYM_PTR[N],其中,SYM_PTR[i]表示碼字長度為i+Ι的第一碼的符號指標,i為0至N的整數(shù)。范式哈夫曼解碼器30是利用范式哈夫曼編碼的特性,去平行比較所有的第一碼以及輸入的比特流,然后利用多工器312去選擇出正確的碼字長度以及地址信號。最后,以所得到的地址信號到外部存儲器中讀取正確的解碼符號。由于范式哈夫曼解碼器30的輸入及輸出都必須對外部的存儲器進行存取,所以在使用范式哈夫曼解碼器30的系統(tǒng)中,所有的存儲器存取都必須通過仲裁器(arbiter)的仲裁來決定存取存儲器的權力,因此速度上會比較慢。因此,在一些實時系統(tǒng)中,范式哈夫曼解碼器30可能達不到速度的需求。另外,范式哈夫曼解碼器30只能對種類2的范式哈夫曼編碼作解碼,而且當范式哈夫曼解碼器30運用于圖像解碼器時,為了速度上的考量,一般都僅會在解完一個畫面后才允許更新對應的編碼表的解碼信息。因此,范式哈夫曼解碼器30在應用與使用上比較不具有通用性。綜上所述,傳統(tǒng)的范式哈夫曼解碼器無法兼顧硬件成本與解碼效率,而且也無法使其具有通用性。
發(fā)明內容本發(fā)明的示范實施例提供一種可適應性范式哈夫曼解碼器,此可適應性范式哈夫曼解碼器包括符號索引值產生器、內容選擇器與符號表緩沖存儲電路。其中,內容選擇器耦接于符號索引值產生器,符號表緩沖存儲電路耦接于符號索引值產生器與內容選擇器。內容選擇器用以輸出內容選擇信號。符號索引值產生器用以存儲多個編碼表的解碼信息,并且根據(jù)內容選擇信號自此多個解碼信息中選擇對應解碼信息。符號表緩沖存儲電路根據(jù)內容選擇信號自外部存儲器所存儲的多個符號表中讀取對應符號表,并存儲此對應符號表。之后,符號索引值產生器接收比特流,并根據(jù)對應解碼信息對比特流解碼,以解得符號索引值。接著,符號表緩沖存儲電路根據(jù)符號索引值自對應符號表中解得輸出符號。根據(jù)本發(fā)明的示范實施例,上述的符號索引值產生器包括比較器電路、多工器、符號索引值計算電路與解碼信息產生器。其中,多工器耦接于比較器電路,符號索引值計算電路耦接于多工器,而解碼信息產生器耦接于內容選擇器。解碼信息產生器用以存儲多個編碼表的解碼信息,并根據(jù)內容選擇信號自多個解碼信息中選擇對應解碼信息。比較器電路具有1至N個位的N個比較器,用以比較比特流與N個第一碼的大小,以產生N個選擇信號。多工器根據(jù)N個選擇信號與N個識別信號自N個第一碼中選擇碼字長度為L的第一碼與自N個第一碼索引值中選擇碼字長度為L的第一碼索引值,其中,N大于等于2,L為小于等于N的自然數(shù),且N個識別信號用以指示碼字長度為1至N的N個第一碼是否存在。符號索引值計算電路根據(jù)碼字長度為L的第一碼索引值、碼字長度為L的第一碼與比特流中的L個位所形成的碼字計算出符號索引值。本發(fā)明的示范實施例提供一種圖像解碼器,此圖像解碼器包括可適應性范式哈夫曼解碼器與解碼控制器。其中,可適應性范式哈夫曼解碼器包括符號索引值產生器、內容選擇器與符號表緩沖存儲電路。其中,內容選擇器耦接于符號索引值產生器,符號表緩沖存儲電路耦接于符號索引值產生器與內容選擇器,而解碼控制器耦接于符號索引值產生器與符號表緩沖存儲電路。內容選擇器用以輸出內容選擇信號。符號索引值產生器用以存儲多個編碼表的解碼信息,并根據(jù)內容選擇信號自多個解碼信息中選擇對應解碼信息。符號索引值產生器更用以接收比特流,并根據(jù)對應解碼信息對比特流進行解碼,以解得符號索引值。符號表緩沖存儲電路根據(jù)內容選擇信號自外部存儲器所存儲的多個符號表中讀取對應符號表,存儲對應符號表,并根據(jù)符號索引值自對應符號表中解得輸出符號。解碼控制器用以控制符號索引值產生器與符號表緩沖存儲電路。根據(jù)本發(fā)明的示范實施例,上述的圖像解碼器還包括主要控制器。主要控制器耦接于解碼控制器,主要控制器自外部存儲器讀取比特流的標頭,并對標頭進行解碼,以獲得初始信號。其中,內容選擇器接收初始信號,并根據(jù)初始信號決定內容選擇信號。根據(jù)本發(fā)明的示范實施例,其中,主要控制器在對標頭進行解碼后,還輸出起始信號給解碼控制器,解碼控制器在收到起始信號后,解碼控制器告知符號索引值產生器選擇對應解碼信息與告知符號表緩沖存儲電路自外部存儲器中讀取及存儲對應符號表。根據(jù)本發(fā)明的示范實施例,其中,當符號索引值產生器選擇對應解碼信息與符號表緩沖存儲電路自外部存儲器中讀取及存儲對應符號表后,解碼控制器告知符號索引值產生器開始對比特流進行解碼,以獲得符號索引值,解碼控制器還告知符號表緩沖存儲電路根據(jù)符號索引值自其所存儲的對應符號表中找出輸出符號。根據(jù)本發(fā)明的示范實施例,其中,如果比特流解碼完畢或者對應符號表及對應解碼信息的其中之一需要更新時,解碼控制器更送出結束信號給主要控制器。主要控制器在收到結束信號后,主要控制器自外部存儲器讀取一個新的標頭。本發(fā)明的示范實施例提供一種可適應性范式哈夫曼解碼方法。首先,提供第一快取空間存儲多個編碼表的解碼信息。之后,根據(jù)內容選擇信號自多個解碼信息中選擇對應解碼信息。接著,根據(jù)內容選擇信號自外部存儲器所存儲的多個符號表中選擇對應符號表,并將對應符號表存儲于第二快取空間。之后,接收比特流,并根據(jù)對應解碼信息對比特流解碼,以解得符號索引值。接著,根據(jù)符號索引值自對應符號表中解得輸出符號。綜上所述,與傳統(tǒng)的可適應性范式哈夫曼解碼器及其方法與圖像解碼器相比,本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器及其方法與圖像解碼器比較具有通用性,而且,其速度可以達到許多實時系統(tǒng)的需求。另外,本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器及其方法與圖像解碼器可以隨著內容選擇信號的變化選擇適當?shù)木幋a表的對應解碼信息來解碼,且不會隨著編碼表增多而需增加硬件的成本。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉示范實施例,并配合附圖,作詳細說明如下。圖1A是美國第5,173,695號專利所提供的范式哈夫曼解碼器10的系統(tǒng)方塊圖。圖1B是利用美國第5,173,695號專利的概念所實作的一個具有內容可適應性的解碼器20的系統(tǒng)方塊圖。圖2是美國第6,657,569號專利所提供的范式哈夫曼解碼器30的系統(tǒng)方塊圖。圖3是本發(fā)明的示范實施例所提供的一個可適應性范式哈夫曼解碼器40的系統(tǒng)方塊圖。圖4是本發(fā)明的示范實施例所提供的一個圖像解碼器50的系統(tǒng)方塊圖。圖5是本發(fā)明的示范實施例所提供的一個圖像解碼方法的流程圖。圖6是本發(fā)明的示范實施例所提供的一個可適應性范式哈夫曼解碼方法的流程圖。圖7是圖6的步驟S74的流程圖。主要元件符號說明10范式哈夫曼解碼器101、102:寄存器103桶狀寄存器104:加法器10411查找表110:碼字表111解碼符號表112:碼字長度表20解碼器201、202:寄存器203桶狀寄存器204加法器21第一查找表22:第二查找表23第三查找表24:第四查找表205,206多工器30范式哈夫曼解碼器301第一碼寄存器302符號指標寄存器33033N比較器34034N加法器35035N減法器312:多工器40可適應性范式哈夫曼解碼器41符號索引值產生器42:內容選擇器43:符號表緩沖存儲電路440外部存儲器410:比較器電路411比特流寄存器412多工器413符號索引值計算電路414解碼信息產生器CMP._1CMP_N比較器SUB._1減法器ADD._1加法器50圖像解碼器51可適應性范哈夫曼解碼器52解碼控制器53主要控制器510符號索引值產生器511內容選擇器512符號表緩沖存儲電路599外部存儲器S60S65步驟流程S70S76步驟流程S741S743步驟流程具體實施例方式在介紹本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器及其方法與圖像解碼器之前,在此先介紹種類1與種類2的范式哈夫曼編碼。種類1的范式哈夫曼編碼除了數(shù)字序列屬性的約定外,還有額外的兩個約定。第一個約定是從碼字長度最小的第一個符號開始編碼,且此碼字的數(shù)值必須為0。第二個約定是為了盡可能地利用編碼空間而規(guī)范的約定,其約定是碼字長度為L的第一碼可以從碼字長度為L-n的最后一碼得出。其中,碼字長度為L-l、L-2.....L-n+1的碼字為不存在于哈夫曼編碼樹的碼字,n為1至L-1的整數(shù)的其中之一。若假設碼字長度為L-1的碼字存在于哈夫曼編碼樹中,則碼字長度為L的第一碼等于碼字長度為L-1的最后一碼加1之后再左移一位所形成的碼字。此時,碼字長度為L的第一碼可用數(shù)學公式可以表示如下FIRSTC0DE[L]=(LASTCODE[L-1]+1)<<1其中,F(xiàn)IRSTC0DE[L]表示碼字長度為L的第一碼,LASTCODE[L_l]表示碼字長度為L-1的最后一碼,“<<1”表示左移一位的運算子。若假設碼字長度為L-1、L_2.....L-n+1的碼字不存在于哈夫曼編碼樹中,而碼字長度為L-n的碼字有存在于哈夫曼編碼樹中,則碼字長度為L的第一碼為碼字長度等于L-n的最后一碼加1之后再右移n位所形成的碼字。此時,碼字長度為L的第一碼可用數(shù)學公式可以表示如下FIRSTC0DE[L]=(LASTCODE[L-n]+1)<<n其中,F(xiàn)IRSTC0DE[L]表示碼字長度為L的第一碼,LASTCODE[L_n]表示碼字長度為L-n的最后一碼,“<<n”表示左移n位的運算子。種類2的范式哈夫曼編碼和種類1的范式哈夫曼編碼主要的差別是在于開始編碼的起點不同,種類2的范式哈夫曼編碼除了數(shù)字序列屬性的約定外,還有額外的兩個約定。第一個約定是從碼字長度最大的第一個符號開始編碼,且此碼字的數(shù)值必須為0。第二個約定是為了盡可能地利用編碼空間而規(guī)范的約定,其約定是碼字長度為L的第一碼可以從碼字長度為L+n的最后一碼得出。其中,碼字長度為L+l、L+2.....L+n-1的碼字為不存在于哈夫曼編碼樹的碼字,n為自然數(shù)。如果假設碼字長度為L+1的碼字存在于哈夫曼編碼樹中,則碼字長度為L的第一碼等于碼字長度為L+1的最后一碼右移一位后再加1所形成的碼字。此時,碼字長度為L的第一碼可用數(shù)學公式可以表示如下FIRSTC0DE[L]=(LASTCODE[L+1]>>1)+1其中,F(xiàn)IRSTC0DE[L]表示碼字長度為L的第一碼,LASTCODE[L+1]表示碼字長度為L+1的最后一碼,“>>1”表示右移一位的運算子。若假設碼字長度為L+l、L+2.....L+n-1的碼字不存在于哈夫曼編碼樹中,而碼字長度為L+n的碼字有存在于哈夫曼編碼樹中,則碼字長度為L的第一碼為碼字長度等于L+n的最后一碼右移n位后再加1所形成的碼字。此時,碼字長度為L的第一碼可用數(shù)學公式可以表示如下FIRSTC0DE[L]=(LASTCODE[L+n]>>n)+l其中,F(xiàn)IRSTC0DE[L]表示碼字長度為L的第一碼,LASTCODE[L+n]表示碼字長度為L+n的最后一碼,“>>n”表示右移n位的運算子。接著,請參照圖3,圖3是本發(fā)明的示范實施例所提供的一個可適應性范式哈夫曼解碼器40的系統(tǒng)方塊圖。此可適應性范式哈夫曼解碼器40包括符號索引值產生器41、內容選擇器42與符號表緩沖存儲電路43,其中,內容選擇器42耦接于符號索引值產生器41,符號表緩沖存儲電路43耦接于符號索引值產生器41與內容選擇器42。內容選擇器42可以根據(jù)量化參數(shù)(quantizationparameter,簡稱QP)或畫面間與畫面內(inter/intra)的差異性等來決定內容選擇信號,并在決定內容選擇信號之后,將此內容選擇信號輸出給符號索引值產生器41與符號表緩沖存儲電路43。符號索引值產生器41在收到內容選擇信號之后,會根據(jù)內容選擇信號自其存儲多個編碼表的解碼信息中選擇一個對應解碼信息來使用,此對應解碼信息對應于比特流在編碼時所使用的編碼表;同時,符號表緩沖存儲電路43會根據(jù)內容選擇信號自外部存儲器440所存儲的多個符號表中讀取一個對應符號表,并存儲此對應符號表。例如,符號表緩沖存儲電路43根據(jù)內容選擇信號所讀取到的對應符號表為第二符號表,則符號表緩沖存儲電路43會存儲此第二符號表。在圖3的示范實施例中,所選擇到的編碼表的對應解碼信息包括碼字長度為1N的N個第一碼FIRSTC0DE[1]FIRSTCODE[N]、N個第一碼索引值FC0DE_INDX[1]FC0DE_INDEX[N]與N個識別信號VALID[1]VALID[N]。其中,N個識別信號VALID[1]~VALID[N]用以指示碼字長度為1至N的N個第一碼FIRSTCODE[1]FIRSTCODE[N]是否存在,而N個第一碼索引值FC0DE_INDX[1]FC0DE_INDEX[N]分別表示的N個第一碼FIRSTCODE[1]FIRSTCODE[N]的索引值。在符號索引值產生器41選擇完對應解碼信息與符號表緩沖存儲電路43存儲完對應符號表之后,符號索引值產生器41會接收比特流,并根據(jù)對應解碼信息對比特流解碼,以解得符號索引值SYMB0L_INDEX。接著,符號表緩沖存儲電路43會根據(jù)符號索引值SYMN0L_INDEX自對應符號表中解得輸出符號。另外,值得注意的是,由于數(shù)字序列屬性的約定與種類1或種類2的范式哈夫曼編碼的其他約定,符號索引值產生器41不需要存儲每一個編碼表的所有信息,符號索引值產生器41僅需存儲每一個編碼表的解碼信息即可。外部存儲器440所存儲的多個符號表中的每一個符號表存儲了多個符號與其多個對應的索引值,因此,符號表緩沖存儲電路43可以根據(jù)符號索引值SYMB0L_INDEX自其存儲的對應符號表中找到對應的輸出符號。其中,符號表緩沖存儲電路43事實上是一個可以根據(jù)內容選擇信號進行更新的查找表。接著,在此介紹符號索引值產生器41的詳細結構。符號索引值產生器41包括比較器電路410、比特流寄存器411、多工器412、符號索引值計算電路413與解碼信息產生器414。其中,比特流寄存器411耦接于比較器電路410、多工器412與符號索引值計算電路413。解碼信息產生器414耦接于內容選擇器42與多工器412,而多工器擇耦接于比較器電路410。比特流寄存器411用以暫存比特流,并輸出比特流的第一至第N個位給比較器電路410。在多工器412決定比特流的碼字長度L后,多工器412會告知比特流寄存器411輸出比特流的第一至第L個位所形成的碼字NEXTBIT[L]給符號索引值計算電路413。其中,要注意的是,在多工器412告知比特流寄存器411輸出比特流的第一至第L個位所形成的碼字NEXTBIT[L]給符號索引值計算電路413后,會將其暫存的比特流移位L個位,以等待下一次的解碼。換句話說,就是此次輸出的碼字NEXTBIT[L]將不會繼續(xù)存在于比特流寄存器411。解碼信息產生器414用以存儲多個編碼表的解碼信息,并根據(jù)內容選擇信號自此多個編碼表的解碼信息中選擇對應解碼信息。解碼信息產生器414所選到的對應解碼信息包括碼字長度為1N的N個第一碼FIRSTC0DE[1]FIRSTCODE[N]、N個第一碼索引值FC0DE_INDX[1]FC0DE_INDEX[N]與N個識別信號VALID[1]VALID[N],解碼信息產生器414會將所選到的對應解碼信息提供給多工器412。比較器電路410具有1至N個位的N個比較器CMP_1CMP_N,比較器電路410用以比較比特流與N個第一碼FIRSTCODE[1]FIRSTCODE[N]的大小,以產生N個選擇信號,其中,N大于等于2。比較器CMP_1會比較比特流中第一個位所形成的碼字與碼字長度為1的第一碼FIRSTCODE[1]的大小,并輸出一個選擇信號給多工器412。比較器CMP_N會比較比特流中第一至第N個位所形成的碼字與碼字長度為N的第一碼FIRSTCODE[N]的大小,并輸出一個選擇信號給多工器412。其他的比較器CMP_2CMP_N-1則可以依此類推,在此便不多說明。在圖3的示范實施例中,這N個選擇信號事實上僅是0或1的信號,這N個選擇信號用以表示比較后的結果,并藉此告知多工器412以決定碼字長度L。多工器412根據(jù)N個選擇信號與N個識別信號VALID[1]VALID[N]自N個第一碼FIRSTCDE[1]FIRSTCODE[N]中選擇碼字長度為L的第一碼FIRSTC0DE[L]與自N個第一碼索引值中FC0DE_INDEX[1]FC0DE_INDEX[N]選擇碼字長度為L的第一碼索引值FC0DE_INDEX[L],其中,L為小于等于N的自然數(shù)。另外,值得注意的是,在有些編碼的情況下,有些長度的碼字并不存在,此時某一些比較器所輸出的選擇信號并沒有任何意義,但卻會影響解碼的結果。因此在解碼信息產生器414中會產生N個識別信號VALID[1]VALID[N]。例如,如果在一個編碼表中,并沒有碼字長度為3跟5的碼字,此時識別信號VALID[3]與VALID[5]會等于1,其余的則會等于0。有了這些識別信號VALID[1]VALID[N]之后,多工器412會根據(jù)每一個比較器CMP_1CMP_N產生的選擇信號與識別信號VALID[1]VALID[N]來決定碼字的長度L。當識別信號VALID[i]等于1時,則多工器412會無視(ignore)比較器CMP_i所輸出的選擇信號,而此碼字長度i將不可能被決定為碼字的碼字長度。符號索引值計算電路413根據(jù)碼字長度為L的第一碼索引值FC0DE_INDEX[L]、碼字長度為L的第一碼FIRSTC0DE[L]與比特流中的L個位所形成的碼字NEXTBIT[L]計算出符號索引值SYMB0L_INDEX。其中,要注意的是不管是采用種類1或種類2的范式哈夫曼編碼,在解碼時,該符號索引值SYMB0L_INDEX皆等于第一碼索引值FC0DE_INDEX[L]與碼字NEXTBIT[L]的總和減去第一碼FIRSTC0DE[L]的值,亦即SYMB0L_INDEX=NEXTBIT[L]+FC0DE_INDEX[L]-FIRSTCODE[L]。因此,符號索引值計算電路413包括減法器SUB_1與加法器ADD_1。其中,減法器SUB_1用以將碼字NEXTBIT[L]減去第一碼FIRSTCODE[L],而加法器ADD_1則用以將減法器SUB_1的輸出加上第一碼索引值FC0DE_INDEX[L]。當然,上述的符號索引值計算電路413的實施方式僅是本發(fā)明之一種示范實施例,并非用以限定本發(fā)明,根據(jù)上述SYMB0L_INDEX=NEXTBIT[L]+FC0DE_INDEX[L]-FIRSTCODE[L]的結論,本領域技術人員可以采用其他的方式來實施符號索引值計算電路413,或者僅對圖3的符號索引值計算電路413做適當?shù)男薷?。接著,請參照表一與表二,表一是多個符號使用種類1的范式哈夫曼編碼的一個編碼表,而表二表示對應表一的編碼表所需存儲的解碼信息。其中,表二的碼字長度為L的第一碼FIRSTCODE[L]是用十進位表示。另外,雖然碼字為1的第一碼FIRSTCODE[1]不存在于哈夫曼編碼樹中,但因為有識別信號VALID[1]的指示,在此可以將碼字長度為1的第一碼FIRSTCODE[1]設為0,而其第一碼索引值FC0DE_INDEX[1]則設為0。表一符號索引值012345678910碼字長度23334444455碼字00010011100101010111100110111101111011111符號abcdefghiJk13表二<table>tableseeoriginaldocumentpage14</column></row><table>在此,以種類1的范式哈夫曼編碼的一個編碼表為例,說明可適應性范式哈夫曼解碼器40如何對所接收到的比特流進行解碼。假設可適應性范式哈夫曼解碼器40中的比較器電路410具有1至5位的5個比較器,內容選擇信號指示符號表緩沖存儲電路43所存儲的符號表包括表一的符號與符號索引值的全部,而解碼信息產生器414所選擇到的對應解碼信息則包括表二的第一碼FIRSTC0DE[1]FIRSTC0DE[5]、第一碼索引值FC0DE_INDEX[1]FC0DE_INDEX[5]以及5個識別信號VALID[1]~VALID[5]其中,識別信號VALID[2]VALID[5]為0,用以表示碼字長度為25的第一碼FIRSTC0DE[2]FIRSTC0DE[5]存在于哈夫曼編碼樹中,而識別信號VALID[1]為1,用以表示碼字長度為1的第一碼FIRSTC0DE[1]不存在于哈夫曼編碼樹中。如果接收到的比特流為{001001101},則比較器電路410會接收比特流中的前5個位{01101},并輸出5個選擇信號給多工器412。比較器CMP_1比較第一碼FIRSTC0DE[1]與比特流中第一個位{1},并輸出選擇信號,其選擇信號為1。比較器CMP_2比較第一碼FIRSTC0DE[2]與比特流中前兩個位{01},并輸出選擇信號,其選擇信號為1。比較器CMP_3比較第一碼FIRSTC0DE[3]與比特流中前3個位{101},并輸出選擇信號,其選擇信號為1。比較器CMP_4比較第一碼FIRSTC0DE[4]與比特流中前4個位{1101},并輸出選擇信號,其選擇信號為1。比較器CMP_5比較第一碼FIRSTC0DE[5]與比特流中前兩個位{01101},并輸出選擇信號,其選擇信號為0。根據(jù)比較器電路410所輸出的5個選擇信號,多工器412可以得知目前所要解碼的符號的碼字長度為4。因為識別信號VAILD[4]為0,且多工器412知道目前所要解碼的符號的碼字長度為4,所以此多工器412會選擇第一碼FIRSTC0DE[4]與第一碼索引值FC0DE_INDEX[4]作為輸出。接著,符號索引值計算電路413會根據(jù)擇第一碼FIRSTC0DE[4]、第一碼索引值FC0DE_INDEX[4]與接收比特流中前4個位所形成的碼字NEXTBIT[4]計算出符號索引值SYMB0L_INDEX。此時,碼字NEXTBIT[4]的十進位值是13,而第一碼FIRSTC0DE[4]、第一碼索引值FC0DE_INDEX[4]分別為10與4,因此,符號索引值SYMB0L_INDEX=13+4-10=7。接著,符號表緩沖存儲電路43根據(jù)符號索引值SYMB0L_INDEX在其存儲的對應符號表中找出輸出符號,以順利地完成比特流中前4個位的解碼。在這個示范實施例中,符號索引值SYMB0L_INDEX為7時,輸出符號為h(參照表二)。在解完比特流中前4個位{1101}后,這4個位{1101}就不會繼續(xù)存在比特流寄存器411。因此,接下來的比特流僅剩下5個位{00100}。接著,可適應性范式哈夫曼解碼器40會針對之后的5個位{00100}進行解碼,而可適應性范式哈夫曼解碼器40針對5個位{00100}進行解碼的解碼方式,可以從前面的敘述得知,因此在此便不多贅述。接著,請參照表三與表四,表三是多個符號使用種類2的范式哈夫曼編碼的一個編碼表,而表四表示對應表三的編碼表所需存儲的解碼信息。其中,表四的碼字長度為L的第一碼FIRSTC0DE[L]是用十進位表示。另外,雖然碼字為1的第一碼FIRSTC0DE[1]不存在于哈夫曼編碼樹中,但因為有識別信號VALID[1]的指示,在此可以將碼字長度為1的第一碼FIRSTC0DE[1]設為30,其第一碼索引值FC0DE_INDEX[1]則設為12。表三<table>tableseeoriginaldocumentpage15</column></row><table>在此,以種類2的范式哈夫曼編碼的一個編碼表為例,說明可適應性范式哈夫曼解碼器40如何對所接收到的比特流進行解碼。假設可適應性范式哈夫曼解碼器40中的比較器電路410具有1至5位的5個比較器,內容選擇信號指示符號表緩沖存儲電路43所存儲的符號表包括表一的符號與符號索引值的全部,而解碼信息產生器414所選擇到的對應解碼信息則包括表二的第一碼FIRSTC0DE[1]FIRSTC0DE[5]、第一碼索引值FC0DE_INDEX[1]FC0DE_INDEX[5]以及5個識別信號VALID[1]~VALID[5]其中,識別信號VALID[2]VALID[5]為0,用以表示碼字長度為25的第一碼FIRSTC0DE[2]FIRSTC0DE[5]存在于哈夫曼編碼樹中,而識別信號VALID[1]為1,用以表示碼字長度為1的第一碼FIRSTC0DE[1]不存在于哈夫曼編碼樹中。如果接收到的比特流為{1101100001},則比較器電路410會接收比特流中的前5個位{00001},并輸出5個選擇信號給多工器412。比較器CMP_1比較第一碼FIRSTC0DE[1]與比特流中第一個位{1},并輸出選擇信號,其選擇信號為0。比較器CMP_2比較第一碼FIRSTC0DE[2]與比特流中前兩個位{01},并輸出選擇信號,其選擇信號為0。比較器CMP_3比較第一碼FIRSTC0DE[3]與比特流中前3個位{001},并輸出選擇信號,其選擇信號為0。比較器CMP_4比較第一碼FIRSTC0DE[4]與比特流中前4個位{0001},并輸出選擇信號,其選擇信號為0。比較器CMP_5比較第一碼FIRSTCODE[5]與比特流中前兩個位{00001},并輸出選擇信號,其選擇信號為1。根據(jù)比較器電路410所輸出的5個選擇信號,多工器412可以得知目前所要解碼的符號的碼字長度為5。因為識別信號VAILD[5]為0,且多工器412知道目前所要解碼的符號的碼字長度為5,所以此多工器412會選擇第一碼FIRSTC0DE[5]與第一碼索引值FC0DE_INDEX[5]作為輸出。接著,符號索引值計算電路413會根據(jù)擇第一碼FIRSTC0DE[5]、第一碼索引值FC0DE_INDEX[5]與接收比特流中前5個位所形成的碼字NEXTBIT[5]計算出符號索引值SYMB0L_INDEX。此時,碼字NEXTBIT[5]的十進位值是1,而第一碼FIRSTC0DE[5]、第一碼索引值FC0DE_INDEX[5]皆為0,因此,符號索引值SYMB0L_INDEX=1+0-0=1。接著,符號表緩沖存儲電路43根據(jù)符號索引值SYMB0L_INDEX在其存儲的對應符號表中找出輸出符號,以順利地完成比特流中前4個位的解碼。在這個示范實施例中,符號索引值SYMB0L_INDEX為1時,輸出符號為b(參照表四)。在解完比特流中前5個位{00001}后,這5個位{00001}就不會繼續(xù)存在比特流寄存器411。因此,接下來的比特流僅剩下5個位{11011}。接著,可適應性范式哈夫曼解碼器40會針對之后的5個位{11011}進行解碼,而可適應性范式哈夫曼解碼器40針對5個位{11011}進行解碼的解碼方式,可以從前面的敘述得知,因此在此便不多贅述。綜上所述,可以知道本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器40具有通用性,可以用來對種類1或種類2的范式哈夫曼編碼的比特流進行解碼。另外,所有的符號表存在外部存儲器414中,而且符號表緩沖存儲電路43可以根據(jù)內容選擇信號自外部存儲器中讀取一個對應符號表,因此本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器40的硬件成本可以被大量減少,而且其速度可以符合一般實時系統(tǒng)的要求。接著,請參照圖4,圖4是本發(fā)明的示范實施例所提供的一個圖像解碼器50的系統(tǒng)方塊圖。圖像解碼器50包括可適應性范式哈夫曼解碼器51、解碼控制器52與主要控制器53。其中,可適應性范式哈夫曼解碼器51耦接于解碼控制器52與主要控制器53,主要控制器53耦接于解碼控制器52??蛇m應性范式哈夫曼解碼器51包括符號索引值產生器510、內容選擇器511與符號表緩沖存儲電路512。其中,內容選擇器511耦接于主要控制器53、符號索引值產生器510與符號表緩沖存儲電路512,符號表緩沖存儲電路512耦接于外部存儲器599、解碼控制器52與符號索引值產生器510,而符號索引值產生器510耦接于解碼控制器52。解碼控制器52用以符號索引值產生器510與符號表緩沖存儲電路512,解碼控制器52利用一些控制信號向符號索引值產生器510與符號表緩沖存儲電512路進行溝通,以藉此確認彼此間的狀態(tài),并指示符號索引值產生器510與符號表緩沖存儲電路512所進行的工作。主要控制器53自外部存儲器599讀取標頭,并對標頭進行解碼,以獲得初始信號C0ntent_set、起始信號Start_set。另外,主要控制器53更從解碼控制器52接收結束信號Finish^ignal。其中,標頭可以是要進行解碼的比特流的標頭,標頭可以是欲解碼的比特流中的前面幾個位,或者是獨立傳送的標頭。可適應性范式哈夫曼解碼器51的功能與圖3所提供的可適應性范式哈夫曼解碼器40的功能相近,且其符號索引值產生器510、內容選擇器511與符號表緩沖存儲電路512的功能亦與圖3所述的符號索引值產生器41、內容選擇器42與符號表緩沖存儲電路43的功能相近。其不同的地方僅在于,圖5所述的符號索引值產生器510、內容選擇器511與符號表緩沖存儲電路512是建立在圖像解碼器50中,因此,符號索引值產生器510、內容選擇器511與符號表緩沖存儲電路512會受到主要控制器53與解碼控制器52的控制。當然,符號索引值產生器510、內容選擇器511與符號表緩沖存儲電路512的實施方式可以參考圖3所述的符號索引值產生器41、內容選擇器42與符號表緩沖存儲電路43的實施方式,只是,必須額外加入控制電路而已。當主要控制器53自外部存儲器599讀取標頭,并對標頭進行解碼后,會分別輸出初始信號C0ntent_set與起始信號Start_signal給內容選擇器511及解碼控制器52。內容選擇器511在收到初始信號C0ntent_set后,會根據(jù)初始信號C0ntent_set產生內容選擇信號給符號索引值產生器510及符號表緩沖存儲電路512。其中,內容信號可能夾帶了量化參數(shù)、畫面間的差異性或畫面內的差異性的信息,通過這些信息,符號索引值產生器510可以自多個編碼表中的解碼信息選擇一個對應編碼表的對應解碼信息,而符號表緩沖存儲電路512則可以自外部存儲器599所存儲的多個符號表中選擇一個對應符號表。解碼控制器52在接收到起始信號Start_signal之后,才會允許可適應性范式哈夫曼解碼器51對比特流進行解碼。首先,解碼控制器52會告知符號索引值產生器510根據(jù)內容選擇信號選擇對應解碼信息,同時,解碼控制器52亦會告知符號表緩沖存儲電路512自外部存儲器599中讀取及存儲對應符號表。在符號索引值產生器510根據(jù)內容選擇信號選擇對應解碼信息與符號表緩沖存儲電路512自外部存儲器599中讀取及存儲對應符號表之后,解碼控制器52才會允許符號索引值產生器510開始對比特流進行解碼,以獲得符號索引值。接著,在符號索引值計算完畢后,解碼控制器52會告知符號表緩沖存儲電路512根據(jù)符號索引值自其所存儲的對應符號表中找出輸出符號。之后,解碼控制器52會判斷比特流解碼是否完畢或者對應符號表及對應解碼信息是否需要更新。如果比特流解碼完畢,或者應符號表及對應解碼信息其中之一需要更新時,則解碼控制器52會送出結束信號Finishjignal給主要控制器53。主要控制器53在收到結束信號Finishjignal后,主要控制器53會從外部存儲器讀取一個新的標頭,并產生新的初始信號C0ntent_set與起始信號Startsignal。接著,可適應性范式哈夫曼解碼器51便能夠開始對之后比特流進行解碼。接著,請參照圖5,圖5是本發(fā)明的示范實施例所提供的一個圖像解碼方法的流程圖。此示范實施例所提供的圖像解碼方法是根據(jù)圖4的圖像解碼器50所得到的,然而,圖5的圖像解碼方法僅是本發(fā)明的一個示范實施例,并非用以限定本發(fā)明。首先,在步驟S60中,主要控制器53自外部存儲器599中讀取比特流并對比特流的標頭進行解碼。接著,在步驟S61中,內容選擇器511根據(jù)標頭解碼后所挾帶的信息設定內容選擇信號。接著,在步驟S62中,主要控制器53送出起始信號Startjignal給解碼控制器52,解碼控制器52接著告知第一快取空間(也就是前述的符號索引值產生器510內的解碼信息產生器)選擇對應解碼信息與告知第二快取空間(也就是前述的符號表緩沖存儲電路512)自外部存儲器599選擇對應符號表。接著,在步驟S63中,解碼控制器52告知符號索引值產生器510根據(jù)對應解碼信息對比特流進行解碼,以獲得符號索引值。之后,在步驟S64中,解碼控制器52告知符號表緩沖存儲電路512根據(jù)符號索引值自對應符號表中找出輸出符號。之后,在步驟S65中,解碼控制器52判斷比特流是否解碼完畢或對應解碼信息與對應符號表其中之一是否需要更新。如果比特流解碼完畢,或者,對應解碼信息與對應符號表其中之一需要更新,則解碼控制器52會送出結束信號Finishjignal給主要控制器53,之后,便進行步驟S60。如果比特流尚未解碼完畢,且對應解碼信息與對應符號表皆不需要更新時,則回到步驟S63。之后,請參照圖6,圖6是本發(fā)明的示范實施例所提供的一個可適應性范式哈夫曼解碼方法的流程圖。此示范實施例所提供的圖像解碼方法是根據(jù)圖3的可適應性范式哈夫曼解碼器40加上圖4的圖像解碼器50的觀點所產生的,然而,圖4的圖像解碼方法僅是本發(fā)明的一個示范實施例,并非用以限定本發(fā)明。首先,在步驟S70中,根據(jù)量化參數(shù)、畫面間的差異性或畫面內的差異性來決定內容選擇信號。之后,在步驟S71中,提供第一快取空間存儲多個編碼表的解碼信息。其中,第一快取空間可以是圖3中的解碼信息產生器414。在步驟S72中,根據(jù)內容選擇信號自多個解碼信息中選擇對應解碼信息。換句話說,就是自多個編碼表中選擇一個對應編碼表,并存儲此對應編碼表的對應解碼信息。在步驟S73中,根據(jù)內容選擇信號自外部存儲器所存儲的多個符號表中選擇對應符號表,并將對應符號表存儲于第二快取空間。其中,第二快取空間可以是圖3中的符號表緩沖存儲電路43。接著,在步驟S74中,接收比特流,并根據(jù)對應解碼信息對比特流解碼,以解得符號索引值。在步驟S75中,根據(jù)符號索引值自對應符號表中解得輸出符號。接著,在步驟S76中,判斷比特流解碼完畢或者對應符號表及對應解碼信息的其中之一需要更新。如果比特流解碼完畢,或者對應符號表及對應解碼信息的其中之一需要更新,則回到步驟S70;若比特流尚未解碼完畢且對應符號表及對應解碼信息皆不需要更新,則回到步驟S74。接著,請參照圖7,圖7是圖6的步驟S74的流程圖。圖6的步驟S74可以用步驟S741S743來實現(xiàn),然而,圖7流程圖并非用以限定步驟S74。在步驟S741中,比較比特流中前i個位所形成的碼字與碼字長度為i的第一碼的大小,以產生選擇信號,其中,i為1至N的整數(shù)。執(zhí)行步驟S741所產生的功能相當于圖3的比較器電路410的功能,因此,在步驟S741中,總共會產生N個選擇信號。接著,在步驟S742中,根據(jù)N個選擇信號與N個識別信號自N個第一碼中選擇碼字長度為L的第一碼與自N個第一碼索引值中選擇碼字長度為L的第一碼索引值,其中,L為小于等于N的自然數(shù)。執(zhí)行步驟S741所產生的功能相當于圖3的多工器412的功能。之后,在步驟S743中,根據(jù)碼字長度為L的第一碼索引值、碼字長度為L的第一碼與比特流中的L個位所形成的碼字計算出符號索引值。執(zhí)行步驟S743所產生的功能相當于圖3的符號索引值計算電路413的功能。通過圖7所提供的詳細流程,符號索引值便能被正確地計算出來,接著,便可以根據(jù)符號索引值來解得正確的輸出符號。綜上所述,與傳統(tǒng)的可適應性范式哈夫曼解碼器及其方法與圖像解碼器相比,本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器及其方法與圖像解碼器比較具有通用性,能夠對經過種類1或種類2的范式哈夫曼編碼的比特流進行解碼。除此之外,示范實施例所提供的可適應性范式哈夫曼解碼器利用快取的概念,根據(jù)內容選擇信號來選擇對應解碼信息與對應符號表,使得其解碼的速度較傳統(tǒng)的可適應性范式哈夫曼解碼器來得快,因此能夠達到許多實時系統(tǒng)的需求。另外,本發(fā)明的示范實施例所提供的可適應性范式哈夫曼解碼器及其方法與圖像解碼器可以隨著內容選擇信號的變化選擇適當?shù)木幋a表的對應解碼信息來解碼,且不會隨著編碼表增多而需增加硬件的成本。雖然本發(fā)明已以示范實施例公開如上,然其并非用以限定本發(fā)明,本領域技術人員,在不脫離本發(fā)明的精神和范圍內,當可作些許的更動與潤飾,因此本發(fā)明的保護范圍當視所附權利要求書所界定者為準。權利要求一種可適應性范式哈夫曼解碼器,包括一符號索引值產生器,用以存儲多個編碼表的解碼信息,根據(jù)一內容選擇信號自這些解碼信息中選擇一對應解碼信息,用以接收一比特流,并根據(jù)該對應解碼信息對該比特流解碼,以解得一符號索引值;一內容選擇器,耦接于該符號索引值產生器,用以輸出該內容選擇信號;以及一符號表緩沖存儲電路,耦接于該符號索引值產生器與該內容選擇器,根據(jù)該內容選擇信號自一外部存儲器所存儲的多個符號表中讀取一對應符號表,存儲該對應符號表,并根據(jù)該符號索引值自該對應符號表中解得一輸出符號。2.如權利要求1所述的可適應性范式哈夫曼解碼器,其中,該對應解碼信息包括碼字長度為1至N的N個第一碼、N個第一碼索引值與N個識別信號,其中,該N個識別信號用以指示碼字長度為1至N的N個第一碼是否存在,其中,N大于等于2。3.如權利要求2所述的可適應性范式哈夫曼解碼器,其中,該符號索引值產生器包括一比較器電路,具有1至N個位的N個比較器,用以比較該比特流與該N個第一碼的大小,以產生N個選擇信號;一多工器,耦接于該比較器電路,根據(jù)該N個選擇信號與該N個識別信號自該N個第一碼中選擇碼字長度為L的該第一碼與自N個第一碼索引值中選擇碼字長度為L的該第一碼索引值,其中,L為小于等于N的自然數(shù);以及一符號索引值計算電路,耦接于該多工器,根據(jù)碼字長度為L的該第一碼索引值、碼字長度為L的該第一碼與該比特流中的L個位所形成的碼字計算出該符號索引值。4.如權利要求2所述的可適應性范式哈夫曼解碼器,其中,該符號索引值產生器包括一解碼信息產生器,耦接于該內容選擇器,用以存儲多個編碼表的解碼信息,并根據(jù)該內容選擇信號自這些解碼信息中選擇該對應解碼信息。5.如權利要求3所述的可適應性范式哈夫曼解碼器,其中,如果該符號索引值等于碼字長度為L的該第一碼索引值表示為FCODE_INDEX[L],該比特流中的L個位所形成的碼字表示為NEXTBIT[L],而碼字長度為L的該第一碼表示為FIRSTCODE[L],則該符號索引值SYMBOL_INDEX=NEXTBIT[L]+FCODE_INDEX[L]-FIRSTCODE[L]。6.如權利要求1所述的可適應性范式哈夫曼解碼器,其中該內容選擇器根據(jù)一根據(jù)量化參數(shù)、一畫面間(inter-frame)的差異性或一畫面內(intra-frame)的差異性來決定該內容選擇信號。7.一種圖像解碼器,包括一可適應性范式哈夫曼解碼器,包括一符號索引值產生器,用以存儲多個編碼表的解碼信息,根據(jù)一內容選擇信號自這些解碼信息中選擇一對應解碼信息,用以接收一比特流,并根據(jù)該對應解碼信息對該比特流進行解碼,以解得一符號索引值;一內容選擇器,耦接于該符號索引值產生器,用以輸出該內容選擇信號;以及一符號表緩沖存儲電路,耦接于該符號索引值產生器與該內容選擇器,根據(jù)該內容選擇信號自該外部存儲器所存儲的多個符號表中讀取一對應符號表,存儲該對應符號表,并根據(jù)該符號索引值自該對應符號表中解得一輸出符號;以及一解碼控制器,耦接于該符號索引值產生器與該符號表緩沖存儲電路,用以控制該符號索引值產生器與該符號表緩沖存儲電路。8.如權利要求7所述的圖像解碼器,還包括一主要控制器,耦接于該解碼控制器,自一外部存儲器讀取一標頭,并對該標頭進行解碼,以獲得一初始信號;其中,該內容選擇器接收該初始信號,并根據(jù)該初始信號決定該內容選擇信號。9.如權利要求8所述的圖像解碼器,該初始信號包括一量化參數(shù)、一畫面間(inter-ffame)的差異性或一畫面內(intra-frame)的差異性。10.如權利要求8所述的圖像解碼器,其中,該主要控制器在對該標頭進行解碼后,還輸出一起始信號給該解碼控制器,該解碼控制器在收到該起始信號后,該解碼控制器告知該符號索引值產生器選擇該對應解碼信息與告知該符號表緩沖存儲電路自該外部存儲器中讀取及存儲該對應符號表。11.如權利要求10所述的圖像解碼器,其中,當該符號索引值產生器選擇該對應解碼信息與該符號表緩沖存儲電路自該外部存儲器中讀取及存儲該對應符號表后,該解碼控制器告知該符號索引值產生器開始對該比特流進行解碼,以獲得該符號索引值,該解碼控制器還告知該符號表緩沖存儲電路根據(jù)該符號索引值自其所存儲的對應符號表中找出該輸出符號。12.如權利要求8所述的圖像解碼器,其中,如果該比特流解碼完畢或者該對應符號表及該對應解碼信息的其中之一需要更新時,該解碼控制器更送出一結束信號給該主要控制器,該主要控制器在收到該結束信號后,該主要控制器自該外部存儲器讀取一個新的標頭。13.如權利要求7所述的圖像解碼器,其中,該對應解碼信息包括碼字長度為1至N的N個第一碼、N個第一碼索引值與N個識別信號,其中,該N個識別信號用以指示碼字長度為1至N的N個第一碼是否存在,其中,N大于等于2。14.如權利要求13所述的圖像解碼器,其中,該符號索引值產生器包括一比較器電路,具有1至N個位的N個比較器,用以比較該比特流與該N個第一碼的大小,以產生N個選擇信號;一多工器,耦接于該比較器電路,根據(jù)該N個選擇信號與該N個識別信號自該N個第一碼中選擇碼字長度為L的該第一碼與自N個第一碼索引值中選擇碼字長度為L的該第一碼索引值,其中,L為小于等于N的自然數(shù);以及一符號索引值計算電路,耦接于該多工器,根據(jù)碼字長度為L的該第一碼索引值、碼字長度為L的該第一碼與該比特流中的L個位所形成的碼字計算出該符號索引值。15.如權利要求13所述的圖像解碼器,其中,該符號索引值產生器包括一解碼信息產生器,耦接于該內容選擇器,用以存儲多個編碼表的解碼信息,并根據(jù)該內容選擇信號自這些解碼信息中選擇該對應解碼信息。16.如權利要求14所述的圖像解碼器,其中,如果該符號索引值等于碼字長度為L的該第一碼索引值表示為FCODE_INDEX[L],該比特流中的L個位所形成的碼字表示為NEXTBIT[L],而碼字長度為L的該第一碼表示為FIRSTCODE[L],則該符號索引值SYMBOL_INDEX=NEXTBIT[L]+FCODE_INDEX[L]-FIRSTCODE[L]。17.一種可適應性范式哈夫曼解碼方法,包括提供一第一快取空間存儲多個編碼表的解碼信息;根據(jù)一內容選擇信號自這些解碼信息中選擇一對應解碼信息;根據(jù)該內容選擇信號自一外部存儲器所存儲的多個符號表中選擇一對應符號表,并將該對應符號表存儲于一第二快取空間;接收一比特流,并根據(jù)該對應解碼信息對該比特流解碼,以解得一符號索引值;以及根據(jù)該符號索引值自該對應符號表中解得一輸出符號。18.如權利要求17所述的可適應性范式哈夫曼解碼方法,其中,該對應解碼信息包括碼字長度為1至N的N個第一碼、N個第一碼索引值與N個識別信號,其中,該N個識別信號用以指示碼字長度為1至N的N個第一碼是否存在,其中,N大于等于2。19.如權利要求18所述的可適應性范式哈夫曼解碼方法,其中,「根據(jù)該對應解碼信息對該比特流解碼,以解得該符號索引值」的步驟還包括比較該比特流中前i個位所形成的碼字與碼字長度為i的該第一碼的大小,以產生一選擇信號,其中,i為1至N的整數(shù);根據(jù)該N個選擇信號與該N個識別信號自該N個第一碼中選擇碼字長度為L的該第一碼與自N個第一碼索引值中選擇碼字長度為L的該第一碼索引值,其中,L為小于等于N的自然數(shù);以及根據(jù)碼字長度為L的該第一碼索引值、碼字長度為L的該第一碼與該比特流中的L個位所形成的碼字計算出該符號索引值。20.如權利要求18所述的可適應性范式哈夫曼解碼方法,其中,如果該符號索引值等于碼字長度為L的該第一碼索引值表示為FCODE_INDEX[L],該比特流中的L個位所形成的碼字表示為NEXTBIT[L],而碼字長度為L的該第一碼表示為FIRSTCODE[L],則該符號索引值SYMBOL_INDEX=NEXTBIT[L]+FCODE_INDEX[L]-FIRSTCODE[L]。21.如權利要求17所述的可適應性范式哈夫曼解碼方法,還包括根據(jù)一根據(jù)量化參數(shù)、一畫面間(inter-frame)的差異性或一畫面內(intra-frame)的差異性來決定該內容選擇信號。22.如權利要求17所述的可適應性范式哈夫曼解碼方法,如果該比特流解碼完畢或者該對應符號表及該對應解碼信息的其中之一需要更新時,則重新設定該內容選擇信號。全文摘要可適應性范式哈夫曼解碼器及其方法與圖像解碼器。該可適應性范式哈夫曼解碼器,包括符號索引值產生器、內容選擇器與符號表緩沖存儲電路。內容選擇器用以輸出內容選擇信號,而符號表緩沖存儲電路根據(jù)內容選擇信號自外部存儲器所存儲的多個符號表中讀取一個對應符號表并存儲此對應符號表。符號索引值產生器用以存儲多個編碼表的解碼信息,并根據(jù)內容選擇信號自此多個解碼信息中選擇一個對應解碼信息。接著,符號索引值產生器接收比特流,并根據(jù)對應解碼信息對比特流解碼,以解得符號索引值。之后,符號表緩沖存儲電路根據(jù)符號索引值自對應符號表中解得輸出符號。文檔編號H03M7/42GK101808248SQ20091000669公開日2010年8月18日申請日期2009年2月13日優(yōu)先權日2009年2月13日發(fā)明者呂盈宏,黃朝宗申請人:聯(lián)詠科技股份有限公司