亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chapter4.htm

?? 壓縮/解壓縮類源碼
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>笨笨數(shù)據(jù)壓縮教程</title>
</head>

<body bgcolor="#FFFFFF">

<p align="right"><a href="http://www.contextfree.net/">返回斷章取義堂</a>&nbsp;&nbsp;<a href="http://www.contextfree.net/wangyg/">返回詠剛的家</a></p>

<p style="background-color:#AAEEFF;font-size:14px;color:#0000AA">《笨笨數(shù)據(jù)壓縮教程》是我在1998年因工作需要研究壓縮算法時寫的文章(算是一種工作筆記吧,其中難免有許多疏漏),1999年初隨著項目變遷,就把壓縮技術(shù)的研究暫時擱置了。從那以后,一是工作太忙,二是自己懶惰,總之是沒能把半部壓縮教程補全。非常對不住大家。——王詠剛,2003年3月</p>

<p><img src="benben.jpg"
alt="笨笨數(shù)據(jù)壓縮教程(Benben's Data Compression Guide)"
width="370" height="129"></p>

<h2>第四章 向極限挑戰(zhàn):算術(shù)編碼</h2>
<div align="right">

<address>
    <a href="chapter3.htm">第三章</a> <a href="chapter5.htm">第五章</a>
</address>
</div>

<p>我們在上一章中已經(jīng)明白,Huffman
編碼使用整數(shù)個二進制位對符號進行編碼,這種方法在許多情況下無法得到最優(yōu)的壓縮效果。假設(shè)某個字符的出現(xiàn)概率為
80%,該字符事實上只需要 -log<sub>2</sub>(0.8) = 0.322
位編碼,但 Huffman 編碼一定會為其分配一位 0
或一位 1 的編碼。可以想象,整個信息的 80%
在壓縮后都幾乎相當(dāng)于理想長度的 3
倍左右,壓縮效果可想而知。</p>

<p>難道真的能只輸出 0.322 個 0 或 0.322 個 1
嗎?是用剪刀把計算機存儲器中的二進制位剪開嗎?計算機真有這樣的特異功能嗎?慢著慢著,我們不要被表面現(xiàn)象所迷惑,其實,在這一問題上,我們只要換一換腦筋,從另一個角度……哎呀,還是想不通,怎么能是半個呢?好了,不用費心了,數(shù)學(xué)家們也不過是在十幾年前才想到了算術(shù)編碼這種神奇的方法,還是讓我們虛心地研究一下他們究竟是從哪個角度找到突破口的吧。</p>

<p><strong>輸出:一個小數(shù)</strong></p>

<p>更神奇的事情發(fā)生了,算術(shù)編碼對整條信息(無論信息有多么長),其輸出僅僅是一個數(shù),而且是一個介于
0 和 1
之間的二進制小數(shù)。例如算術(shù)編碼對某條信息的輸出為
1010001111,那么它表示小數(shù) 0.1010001111,也即十進制數(shù)
0.64。</p>

<p>咦?怎么一會兒是表示半個二進制位,一會兒又是輸出一個小數(shù),算術(shù)編碼怎么這么古怪呀?不要著急,我們借助下面一個簡單的例子來闡釋算術(shù)編碼的基本原理。為了表示上的清晰,我們暫時使用十進制表示算法中出現(xiàn)的小數(shù),這絲毫不會影響算法的可行性。</p>

<p>考慮某條信息中可能出現(xiàn)的字符僅有 a b c
三種,我們要壓縮保存的信息為 bccb。</p>

<p>在沒有開始壓縮進程之前,假設(shè)我們對 a b c
三者在信息中的出現(xiàn)概率一無所知(我們采用的是自適應(yīng)模型),沒辦法,我們暫時認為三者的出現(xiàn)概率相等,也就是都為
1/3,我們將 0 - 1
區(qū)間按照概率的比例分配給三個字符,即 a 從
0.0000 到 0.3333,b 從 0.3333 到 0.6667,c 從 0.6667 到
1.0000。用圖形表示就是:</p>

<pre>               +-- 1.0000
               |
   Pc = 1/3    |
               |
               +-- 0.6667
               |
   Pb = 1/3    |
               |
               +-- 0.3333
               |
   Pa = 1/3    |
               |
               +-- 0.0000</pre>

<p>現(xiàn)在我們拿到第一個字符 b,讓我們把目光投向
b 對應(yīng)的區(qū)間 0.3333 - 0.6667。這時由于多了字符 b,三個字符的概率分布變成:Pa
= 1/4,Pb = 2/4,Pc = 1/4。好,讓我們按照新的概率分布比例劃分
0.3333 - 0.6667 這一區(qū)間,劃分的結(jié)果可以用圖形表示為:</p>

<pre>               +-- 0.6667
   Pc = 1/4    |
               +-- 0.5834
               |
               |
   Pb = 2/4    |
               |
               |
               +-- 0.4167
   Pa = 1/4    |
               +-- 0.3333</pre>

<p>接著我們拿到字符 c,我們現(xiàn)在要關(guān)注上一步中得到的
c 的區(qū)間 0.5834 - 0.6667。新添了 c
以后,三個字符的概率分布變成 Pa = 1/5,Pb = 2/5,Pc
= 2/5。我們用這個概率分布劃分區(qū)間 0.5834 - 0.6667:</p>

<pre>               +-- 0.6667
               |
   Pc = 2/5    |
               |
               +-- 0.6334
               |
   Pb = 2/5    |
               |
               +-- 0.6001
   Pa = 1/5    |
               +-- 0.5834</pre>

<p>現(xiàn)在輸入下一個字符 c,三個字符的概率分布為:Pa
= 1/6,Pb = 2/6,Pc = 3/6。我們來劃分 c 的區(qū)間 0.6334
- 0.6667:</p>

<pre>               +-- 0.6667
               |
               |
   Pc = 3/6    |
               |
               |
               +-- 0.6501
               |
   Pb = 2/6    |
               |
               +-- 0.6390
   Pa = 1/6    |
               +-- 0.6334</pre>

<p>輸入最后一個字符 b,因為是最后一個字符,不用再做進一步的劃分了,上一步中得到的
b 的區(qū)間為 0.6390 - 0.6501,好,讓我們在這個區(qū)間內(nèi)隨便選擇一個容易變成二進制的數(shù),例如
0.64,將它變成二進制 0.1010001111,去掉前面沒有太多意義的
0 和小數(shù)點,我們可以輸出 1010001111,這就是信息被壓縮后的結(jié)果,我們完成了一次最簡單的算術(shù)壓縮過程。</p>

<p>怎么樣,不算很難吧?可如何解壓縮呢?那就更簡單了。解壓縮之前我們?nèi)匀患俣ㄈ齻€字符的概率相等,并得出上面的第一幅分布圖。解壓縮時我們面對的是二進制流
1010001111,我們先在前面加上 0
和小數(shù)點把它變成小數(shù) 0.1010001111,也就是十進制
0.64。這時我們發(fā)現(xiàn) 0.64 在分布圖中落入字符 b
的區(qū)間內(nèi),我們立即輸出字符 b,并得出三個字符新的概率分布。類似壓縮時采用的方法,我們按照新的概率分布劃分字符
b 的區(qū)間。在新的劃分中,我們發(fā)現(xiàn) 0.64
落入了字符 c 的區(qū)間,我們可以輸出字符 c。同理,我們可以繼續(xù)輸出所有的字符,完成全部解壓縮過程(注意,為了敘述方便,我們暫時回避了如何判斷解壓縮結(jié)束的問題,實際應(yīng)用中,這個問題并不難解決)。</p>

<p><font color="#FF8000">現(xiàn)在把教程拋開,仔細回想一下,直到你理解了算術(shù)壓縮的基本原理,并產(chǎn)生了許多新的問題為止。</font></p>

<p><strong>真的能接近極限嗎?</strong></p>

<p>現(xiàn)在你一定明白了一些東西,也一定有了不少新問題,沒有關(guān)系,讓我們一個一個解決。</p>

<p>首先,我們曾反復(fù)強調(diào),算術(shù)壓縮可以表示小數(shù)個二進制位,并由此可以接近無損壓縮的熵極限,怎么從上面的描述中沒有看出來呢?</p>

<p>算術(shù)編碼實際上采用了化零為整的思想來表示小數(shù)個二進制位,我們確實無法精確表示單個小數(shù)位字符,但我們可以將許多字符集中起來表示,僅僅允許在最后一位有些許的誤差。</p>

<p>結(jié)合上面的簡單例子考慮,我們每輸入一個符號,都對概率的分布表做一下調(diào)整,并將要輸出的小數(shù)限定在某個越來越小的區(qū)間范圍內(nèi)。對輸出區(qū)間的限定是問題的關(guān)鍵所在,例如,我們輸入第一個字符
b 時,輸出區(qū)間被限定在 0.3333 - 0.6667 之間,我們無法決定輸出值得第一位是
3、4、5 還是 6,也就是說,b 的編碼長度小于一個十進制位(注意我們用十進制講解,和二進制不完全相同),那么我們暫時不決定輸出信息的任何位,繼續(xù)輸入下面的字符。直到輸入了第三個字符
c 以后,我們的輸出區(qū)間被限定在 0.6334 - 0.6667
之間,我們終于知道輸出小數(shù)的第一位(十進制)是
6,但仍然無法知道第二位是多少,也即前三個字符的編碼長度在
1 和 2 之間。等到我們輸入了所有字符之后,我們的輸出區(qū)間為
0.6390 - 0.6501,我們始終沒有得到關(guān)于第二位的確切信息,現(xiàn)在我們明白,輸出所有的
4 個字符,我們只需要 1
點幾個十進制位,我們唯一的選擇是輸出 2
個十進制位 0.64。這樣,我們在誤差不超過 1
個十進制位的情況下相當(dāng)精確地輸出了所有信息,很好地接近了熵值(需要注明的是,為了更好地和下面的課程接軌,上面的例子采用的是
0 階自適應(yīng)模型,其結(jié)果和真正的熵值還有一定的差距)。</p>

<p><strong>小數(shù)有多長?</strong></p>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精选视频在线| 日韩免费成人网| 中文字幕一区二区三区在线不卡| 久久99蜜桃精品| 欧美一区二区三区在线视频| 久久国产三级精品| 久久五月婷婷丁香社区| 国产福利一区二区三区视频| 国产蜜臀av在线一区二区三区| 成人中文字幕在线| 欧美国产日韩亚洲一区| 99国产精品99久久久久久| 亚洲乱码精品一二三四区日韩在线 | 国产亚洲欧美日韩俺去了| 国产一区二区网址| 中文字幕在线观看不卡| 91官网在线观看| 日本麻豆一区二区三区视频| 精品国产乱码久久久久久蜜臀| 国产福利精品一区| 亚洲欧美偷拍三级| 日韩欧美视频一区| jlzzjlzz欧美大全| 亚洲v精品v日韩v欧美v专区| 精品国产乱码久久久久久浪潮 | 欧亚洲嫩模精品一区三区| 亚洲麻豆国产自偷在线| 欧美精品一级二级| 国产精品一区二区在线观看网站| 国产精品久久久久影院老司| av资源站一区| 亚洲国产精品精华液网站| 正在播放亚洲一区| 国产一区二区三区av电影| 国产精品乱人伦中文| 麻豆91在线播放| 中文字幕一区免费在线观看| 欧美影院一区二区| 精彩视频一区二区| 亚洲视频在线一区观看| 91精品国产综合久久久蜜臀图片| 国精产品一区一区三区mba桃花 | 欧美日韩亚洲不卡| 久久成人免费网| 国产欧美一区二区精品婷婷| 日本韩国视频一区二区| 欧美aⅴ一区二区三区视频| 国产亚洲欧洲997久久综合| 99久久99久久综合| 日本亚洲一区二区| 综合分类小说区另类春色亚洲小说欧美| 91黄视频在线观看| 国精品**一区二区三区在线蜜桃| 欧美国产综合一区二区| 91精品1区2区| 久久99久久精品| 中国色在线观看另类| 欧美色图天堂网| 国产成人在线免费| 日韩精品一二三区| 日韩理论片网站| wwwwww.欧美系列| 欧美自拍偷拍一区| 丁香激情综合国产| 秋霞电影网一区二区| 自拍偷拍亚洲综合| 日韩一级片网址| 色八戒一区二区三区| 国产成人免费网站| 免费在线观看成人| 亚洲已满18点击进入久久| 久久精品一区二区三区四区| 欧美日韩夫妻久久| 91热门视频在线观看| 国产麻豆一精品一av一免费| 午夜伊人狠狠久久| 日韩毛片视频在线看| 国产欧美一区二区精品秋霞影院| 欧美一级欧美三级| 欧美日韩不卡视频| 91麻豆免费看| 成人精品鲁一区一区二区| 麻豆免费看一区二区三区| 偷窥少妇高潮呻吟av久久免费| 国产精品高潮呻吟| 欧美激情一二三区| 欧美激情中文字幕一区二区| 91精品国产91综合久久蜜臀| 一本一道久久a久久精品| 国产91精品一区二区| 国产在线播精品第三| 免费黄网站欧美| 蜜臀va亚洲va欧美va天堂| 蜜桃视频一区二区三区在线观看| 亚洲电影第三页| 亚洲成av人片在线观看无码| 一区二区在线观看不卡| 亚洲欧美日韩一区二区三区在线观看 | 日韩一区二区精品| 日韩午夜电影在线观看| 91精品久久久久久蜜臀| 欧美日韩中字一区| 欧美日韩精品电影| 制服视频三区第一页精品| 在线播放/欧美激情| 日韩一区二区免费高清| 欧美tk丨vk视频| 欧美精品一区二区三区蜜桃| 欧美日韩精品是欧美日韩精品| 欧美性色黄大片手机版| 欧美午夜一区二区三区免费大片| 欧美性做爰猛烈叫床潮| 欧美高清视频一二三区 | 免费看欧美女人艹b| 韩国一区二区在线观看| 国产精品18久久久久久vr| 大胆亚洲人体视频| 日本久久一区二区三区| 这里是久久伊人| 久久综合资源网| 国产精品久久久久影视| 国产精品乱人伦| 国产精品污污网站在线观看 | 日韩一区二区在线免费观看| 日韩欧美国产成人一区二区| 久久先锋影音av鲁色资源| 综合久久给合久久狠狠狠97色| 亚洲国产精品尤物yw在线观看| 青青草成人在线观看| 国产精品2024| 国产欧美一区二区精品婷婷| 中文字幕精品在线不卡| 婷婷开心激情综合| 国产精品亚洲视频| 欧美精品久久99久久在免费线| 亚洲精品在线观| 一区二区三区在线影院| 精品一区二区三区在线观看国产| 国产精品538一区二区在线| 欧美日韩国产高清一区二区| 久久一区二区三区国产精品| 亚洲欧美日韩精品久久久久| 日本亚洲天堂网| 成人三级伦理片| 欧美一区二区三区日韩视频| 国产精品九色蝌蚪自拍| 日本不卡一区二区三区| 国产激情偷乱视频一区二区三区| 欧美日韩久久不卡| 亚洲欧洲精品一区二区三区| 奇米色777欧美一区二区| 91网站最新地址| 精品成人私密视频| 亚洲成av人片在www色猫咪| 国产jizzjizz一区二区| 91精品国产色综合久久不卡电影| 中文字幕综合网| 免费人成网站在线观看欧美高清| 91一区二区三区在线观看| 欧美一级午夜免费电影| 亚洲综合清纯丝袜自拍| 国产不卡视频一区| 欧美tickle裸体挠脚心vk| 亚洲国产婷婷综合在线精品| 国产suv精品一区二区883| 日韩欧美成人一区| 亚洲精品欧美激情| 不卡一区在线观看| www国产成人| 毛片基地黄久久久久久天堂| 精品污污网站免费看| 亚洲日本va在线观看| 国产v综合v亚洲欧| 久久影视一区二区| 韩国精品主播一区二区在线观看| 制服丝袜国产精品| 婷婷激情综合网| 欧洲色大大久久| 一区二区三区在线免费视频| 不卡的电影网站| 日韩欧美国产不卡| 日本中文一区二区三区| 欧美日本一道本在线视频| 亚洲综合一区在线| 色乱码一区二区三区88| 亚洲精品久久久蜜桃| eeuss影院一区二区三区| 国产精品国产三级国产aⅴ原创| 成人一区二区视频| 国产精品福利一区二区三区| 粉嫩av一区二区三区| 国产人成亚洲第一网站在线播放| 国产综合成人久久大片91| 2019国产精品| 国产成人在线视频播放| 最近日韩中文字幕| 99精品热视频| 午夜激情综合网| 欧美一二三在线| 韩国女主播一区|