AAD[自適應算術碼解碼器]

AAD[自適應算術碼解碼器]

AdaptiveArithmeticDecoder),自適應算術碼解碼器。算術編碼是把一個信源表示為實軸上0和1之間的一個區間,信源集合中的每一個元素都用來縮短這個區間。自適應算術編碼在一次掃描中可完成兩個過程,即機率模型建立過來和掃描編碼過程。自適應算術編碼在掃描符號序列前並不知道各符號的統計機率,這時假定每個符號的機率相等,並平均分配區間[0,1]。然後在掃描符號序列的過程中不斷調整各個符號的機率。

AAD(

AADAAD
同樣假定要編碼的是一個來自四符號信源{A,B,C,D}的五個符號組成的符號序列:ABBCD。編碼開始前首先將區間[0,1]等分為四個子區間,分別對應A,B,C,D四個符號。掃描符號序列,第一個符號是A,對應區間為[0,0.25],然後改變各個符號的統計機率,符號A的機率為2/5,符號B的機率為1/5,符號C的機率為1/5,符號D的機率為1/5,再將區間[0,0.25]等分為五份,A占兩份,其餘各占一份。接下來對第二個符號B進行編碼,對應的區間為[0.1,0.15],再重複前面的機率調整和區間劃分過程。

實現算術編碼首先需要知道信源發出每個符號的機率大小,然後再掃描符號序列,依次分割相應的區間,最終得到符號序列所對應的碼字。整個編碼需要兩個過程,即機率模型建立過程和掃描編碼過程。算術編碼的基本原理是:根據信源可能發現的不同符號序列的機率,把[0,1]區間劃分為互不重疊的子區間,子區間的寬度恰好是各符號序列的機率。這樣信源發出的不同符號序列將與各子區間一一對應,因此每個子區間內的任意一個實數都可以用來表示對應的符號序列,這個數就是該符號序列所對應的碼字。顯然,一串符號序列發生的機率越大,對應的子區間就越寬,要表達它所用的比特數就減少,因而相應的碼字就越短。

出一個實現算術編碼的示例。要編碼的是一個來自四符號信源{A,B,C,D}的由五個符號組成的符號序列:ABBCD。假設已知各信源符號的機率分別為:P(A)=0.2,P(B)=0.4,P(C)=0.2,P(D)=0.2。編碼時,首先根據各個信源符號的機率將區間[0,1]。分成四個子區間。符號A對應[0,0.2],符號B對應[0.2,0.6],符號C對應[0.6,0.8],符號D對應[0.8,1.0]。符號序列中第一個符號是A,其對應的區間為[0,0.2],接下來將這個區間擴展為整個高度,再根據各個信源符號的機率將這個間擴展為整個高度,再根據各個信源符號的機率將這個新區間分成四段;第二個符號是B,它對應新的子區間的第二個子區間,即對應區間[0.04,0.12];再將該區間擴展為整個高度,再根據這個過程直接最後一個符號得到一個區間[0.08032,0.0816],這樣該區間內的任何一個實數就可以表示整個符號序列,如0.081。

解碼是編碼的逆過程,它的功能是將具有特定含義的二進制碼進行辨別,並轉換成控制信號,具有解碼功能的邏輯電路稱為解碼器。解碼器可分為兩種類型,一種是將一系列代碼轉換成與之一一對應的有效信號。這種解碼器可稱為唯一地址解碼器,它常用於計算機中對存儲器單元地址的解碼,即將每一個地址代碼轉換成一個有效信號,從而選中對應的單元。另一種是將一種代碼轉換成另一種代碼,所以也稱為代碼變換器,以下先介紹二進制唯一地址解碼器。從二進制解碼器的一般原理可見,它具有N個輸入端,2n個輸出端和一個使能輸入端。在使能輸入端為有效電平時,對應每一組輸入代碼,只有其中一個輸出端為有效電平,其餘輸出端則為非有效電平。

解碼器是組合邏輯電路的一個重要的器件,其可以分為:變數解碼和顯示解碼兩類。變數解碼一般是一種較少輸入變為較多輸出的器件,一般分為2n解碼和8421BCD碼解碼兩類。示解碼主要解決二進制數顯示成對應的十、或十六進制數的轉換功能,一般其可分為驅動LED和驅動LCD兩類。解碼是編碼的逆過程,在編碼時,每一種二進制代碼,都賦予了特定的含義,即都表示了一個確定的信號或者對象。把代碼狀態的特定含義“翻譯”出來的過程叫做解碼,實現解碼操作的電路稱為解碼器。或者說,解碼器是可以將輸入二進制代碼的狀態翻譯成輸出信號,以表示其原來含義的電路。根據需要,輸出信號可以是脈衝,也可以是高電平或者低電平。

熱門詞條

聯絡我們