算術編碼解碼!具體的數據,
假設信源符號為{00, 01, 10, 11},這些符號的概率分別為{ 0.1, 0.4, 0.2, 0.3 },根據這些概率可把間隔[0, 1)分成4個子間隔:[0, 0.1), [0.1, 0.5), [0.5, 0.7), [0.7, 1),其中 表示半開放間隔,即包含 不包含 。上面的信息可綜合在表1中。
表1 信源符號,概率和初始編碼間隔
符號 00 01 10 11
概率 0.1 0.4 0.2 0.3
初始編碼間隔 [0, 0.1) [0.1, 0.5) [0.5, 0.7) [0.7, 1)
如果二進制消息序列的輸入為:10 00 11 00 10 11 01。編碼時首先輸入的符號是10,找到它的編碼范圍是[0.5, 0.7)。由于消息中第二個符號00的編碼范圍是[0, 0.1),因此它的間隔就取[0.5, 0.7)的第一個十分之一作為新間隔[0.5, 0.52)。依此類推,編碼第3個符號11時取新間隔為[0.514, 0.52),編碼第4個符號00時,取新間隔為[0.514, 0.5146),… 。消息的編碼輸出可以是最后一個間隔中的任意數。
標簽:
算術編碼
數據
解碼
上傳時間:
2014-01-03
上傳用戶:cooran