我必須向我的班級解釋如何在小消息上進行基本算術編碼。我一直在調查大量的文件和閱讀很多,我可以說我理論上理解這種方法是如何工作的,但仍然有一些問題。基本算術編碼
我正在通過these examples(第一個例子,第二頁) - 我們有'eaii!'消息,我們希望使用算術方法對其進行編碼。
在這個例子中,它設置
Symbol Probability Range
a .2 [0 , 0.2)
e .3 [0.2 , 0.5)
i .1 [0.5 , 0.6)
o .2 [0.6 , 0.8)
u .1 [0.8 , 0.9)
! .1 [0.9 , 1.0)
我的第一個問題是,它是如何設置的概率?我的邏輯告訴我,如果我有兩個「我」的符號那麼符號應該具有最高概率,不應該嗎?
另外,它是如何確定從哪個範圍開始以及之後的其他範圍?
另一個例子是編碼的消息「ABC」,這是這樣設置:
Symbol Probability Range
a .7 [0 , 0.7)
b .1 [0.7 , 0.8)
c .2 [0.8 , 1.0)
我也不明白爲什麼第一個符號具有比其他人大得多的概率,即使它是一個出現順序的事情,我不明白它是如何設置爲0.7,爲什麼不是0.8或0.5。
我希望我明確自己,我會很感激任何幫助。
你從哪裏獲得這些例子嗎?沒有上下文,如何設定概率沒有多大意義。範圍列似乎只是概率列的運行總數,從0開始到1結束。 – Krease
http://www.stanford.edu/class/ee398a/handouts/papers/WittenACM87ArithmCoding.pdf –
這是第一個例子,第二頁 –