Feeds:
文章
留言

Archive for 五月 5th, 2006

因天發現網路上有一篇"利用 WinRAR 使 1G 的文件壓成 1M 的文件"文章,由於我並不清楚原作者是誰,我只列出 Google 中的其中一篇
 
詳細的內請參考上述網址。
 
看完那篇文章之後,回想到研究所上課的壓縮觀念,發現文章構想相當不錯,不過實用上是否可行可能還需要進行分析。首先文章提到的壓縮方法是很常見的 Run Length Coding,也就是將一串連續相同的數值,以 "(run, level)"方式來表示,例如:資料串流是 01 01 01 02 02 03 03 03 03,以 Run Length Coding 表示就是 (3, 01) (2, 02) (4, 03),因此原來需要 9bytes,使用 Run length coding 後只需要 6 個 bytes。因此這種編碼壓縮適合連續資料,如果資料屬於 01 02 03 04 完全不連續的資料,使用 Run Length Coding 反而會達到反效果。所以,文章中將 Zip 中的檔案大小取代為 FFFFFF,基本上就是為了產生連續資料。但是這個步驟所做的是否能夠反向還原,如果可以的話,那基本上還是屬於無損壓縮,可以用來壓縮重要的文件。如果不能還原,那基本上這種技術不適合使用在文件的壓縮。不過,還是可以嘗試用於影像或視訊這類有損壓縮技術中。
 
總結,基本上這邊文章提供一個很好的逆向思考概念,不過,實務上還需要做許多分析才知是否可行…

Read Full Post »