如何進行算術解碼
2 回答

牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
奇怪啊..最近連續碰到算術編碼的問題....
解碼的過程和編碼的過程是類似的。
一開始的區間是[0.0, 1.0],然后根據6個字符的概率,把這個區間分成6分,也就是:
a: (0.0, 0.2)
e: (0.2, 0.5)
i: (0.5, 0.6)
o: (0.6, 0.8)
u: (0.8, 0.9)
!: (0.9, 1.0)
然后你看0.32256落在哪個區間,就是哪個字符,現在它落在(0.2, 0.5)之內,所以第一個字符是e
然后再把e的(0,2, 0.5)按照概率分成6分,再看0.32256落在哪個范圍內,以此類推
當然,算術編碼有一些變種,比如概率是否是自適應性的?一段編碼包含幾個字符?你問題中的感嘆號是否代表結束符?這些都是根據你的實際實現來確定的。你要知道的最重要的一點就是,解碼的過程和編碼幾乎是一致的。
- 2 回答
- 0 關注
- 1964 瀏覽
添加回答
舉報
0/150
提交
取消