資料處理概念與方法-資料壓縮
CSFG課程-編碼壓縮
提問-在日常生活何時會使用壓縮?壓縮的目的為何?
說明
在冬天時白天穿著蓬蓬的毛衣,或晚上蓋著厚厚的棉被,到了夏天,是不是又覺得它們很佔位置呢?
你是否有試過收棉被或毛衣的套子,把一件棉被,或好幾件毛衣放進套子裡後,再把空氣抽出來,原來一大蓬的,往往馬上就變成扁扁的一層了!隔年冬天,一放出來,又是蓬蓬的一堆。
檔案壓縮也是類似的情況,把不必要的抽掉,讓它小一點。或把一堆東西綁在一起,以方便攜帶。
資料壓縮
1.資料類型
2.目的
從遠古時代開始,文字的發明讓我們可以儲存語言的資料;照相機發明於 1820 年左右,讓我們可以儲存圖像的資料;愛迪生於1877 年發明留聲機,讓我們可以儲存聲音的資料;電影發明於1895 年,讓我們可以儲存動畫的資料。有了電腦之後,文字、語言、圖像、聲音、動畫的資料都可以用 0 和 1 來表達,也就可以由電腦來處理,用記憶體來儲存,並且透過網路來傳送。當用 0 和 1 以某一個形式來表達資料時,資料壓縮就是指能否找到另一個形式,以較少的 0 和1 來表達。
資料壓縮是一項重要的技術,其目的可以減少儲存空間和傳送的時間。
3.原理
壓縮是靠演算法(數學公式)的計算,將檔案變小。
範例
比如說:有一位痴情男寫了一句話給一位正妹:「我愛愛愛愛愛愛愛愛愛愛妳!」(原本的句子,未壓縮過的)然而,這句話經過壓縮之後,就變成「我愛x10妳!」(已壓縮),乘以10,是給電腦看的,已壓縮過的東西通常是看不太懂的。當這位正妹收到這句話的時候,要經過「解壓縮」的過程,才能把「我愛x10妳!」,變成「我愛愛愛愛愛愛愛愛愛愛妳!」。以這個例子,句子的長度整整少了一半哦!
4.技術
資料壓縮的技術可以分成兩大類:
無失真壓縮(Lossless Compression):無失真壓縮減少使用 0 和 1 的數目,但原來的資料仍保持完整無缺,原因是原始資料的表達形式不見得是最有效率的,因此可以有改進的空間;
失真(破壞性)壓縮(Lossy Compression):而失真壓縮減少了更多 0 和 1 的數目,並造成一部份原始資料消失了,如果消失的部份不是那麼重要的話,為了讓資料量變得更小,倒也是一個值得的代價。
編碼(Coding)
變動長度編碼法
資料來源:北一女資訊科學簡報
5.效率
壓縮的效率和資料的內容有關,當我們傳送一份用英文寫的文件的時候,上面講的壓縮方法是相當有效的,但是如果傳送的是一份閩南語羅馬字拼音的文件,那麼 a、b、c、d、e……的使用頻率可能和英文不同,上面講的壓縮方法,效率可能不會那麼高,甚至可能適得其反,增加了一共要使用 0 和 1 的數目了。
參考資料
http://www.csie.ntnu.edu.tw/~violet/cs92/datacompression.htm
http://www.netprint101.com/text/43373744-416.html
活動設計1-檔案壓縮
請利用7-zip或Windows內建的壓縮軟體.壓縮檔案
說明
1.壓縮檔案用途
(1)備份資料的時候,方便整理。
(2)將檔案變小,節省電腦硬碟的空間。(但圖片、音訊、視訊等多媒體檔案壓縮率低,並不能有效節省空間)
(3)將無數個散亂的檔案打包成一個較小的檔案,亦方便資訊在網路上流通。(可將永久免費版之付費軟體輕鬆分享)
(4)壓縮檔案時,可以視情況進行加密。
2.壓縮程式
壓縮程式有許多種,您可到提供下載的網站,比較您喜歡哪一個廠牌。
目前比較推薦的是 "7.zip",因為它是 "免費軟體"(Freeware),
而許多人習慣使用的 "WinRAR",它是 "分享軟體"(Shareware),試用限制為40 天(超過就不算合法使用)。
3.壓縮應用與注意事項
不管什麼檔,壓完後都包在.zip 或 .rar 或 .arj 或... 裡,從 "外觀" 根本看不出裡面裝的是什麼,也許純粹是好心的想把檔案壓小的 Word 檔或簡報檔,但也許是 "包藏禍心" 的病毒檔!對於來路不明的檔案,如果您一時好奇,一解開來看後,可能就無法收拾了! 雖然大部分穿雨衣、戴安全帽、戴口罩的,都不是壞人,但不想被認出的壞人,他一個很簡便的做法就是:穿雨衣、戴安全帽、戴口罩~開啟壓縮檔前,請先想清楚你要不要冒這個險!是否要開啟壓縮檔,請先確認清楚!
文字壓縮
提問:為何文字要壓縮?
說明
參考網站
http://www.csie.ntnu.edu.tw/~u91029/Compression.html
活動設計2-文字壓縮2
操作步驟說明:
1. 找到重覆出現的單字,在其中選取一個單字(或是一整個句子),稱為保留標的。
2. 再選取其他重覆出現的單字(或是一整個句子),稱為壓縮標的。
3. 選取完成之後,按下「開始壓縮」按鈕,將所有重覆的單字(或句子)清除到只剩一個,被壓縮的標的則用數字標示其所在的位置。
4. 一直進行到無法再找到保留或壓縮標的為止,看看總共用了幾個壓縮的步驟、成功壓縮了幾個字元。
問題一、為什麼選取標的時,要被限制在至少選取兩個字元以上?
問題二、尋找壓縮標的時,如果漏掉了其中幾個,對於結果有什麼影響?
問題三、要優先標記一整個句子,還是以較短的單字為優先?
說明
LZW(Lempel-Ziv-Welch)
是跟隨著開發此壓縮演算法的科學家 Abraham Lempel, Jakob Ziv 與 Terry Welch 命名,這是一個『基於字典』的無失真壓縮演算法。基於字典演算法掃描文件中出現一次以上的序列資料,這些序列資料儲存於壓縮文件內的字典內,每次出現重複性資料時只要替換為參照字典的索引即可。
範例
假設你要壓縮以下字符串的文字:"the quick brown fox jumps over the lazy dog.";其中 'the' 這個詞發生兩次
所以這個資料可以壓縮成:"the quick brown fox jumps over << lazy dog.",其中 "<<" 是一個指向最前面 4 個字符的指標。
LZ78
範例
以上述的例子來說,重複的 'the' 將被編入索引假設該索引是*,則壓縮後的字串變成:"* quick brown fox jumps over * lazy dog.",這與實用上還很遙遠,但是它透過片語取代舉例說明壓縮方法。
實用上取代的不一定是一個單字,也可以是幾個字組成的片語,字典基礎的壓縮會以標記(token)來取代片語(phrase);片語的選取法則將影響字典的大小與取代的重複次數,各種變異型大都是在此問題上做文章;如果標記的位元數量是少於片語所需的位元數目,那麼壓縮就如此產生。
在大部份的應用,LZW 壓縮比當時已有且廣為人之的方法提供一個比較好的壓縮率。它變成電腦上第一個被廣泛使用在一般目的資料壓縮的方法。在大的英文文本中,一般它可以壓縮到大約原來大小的一半。其他的資料種類在很多情況下也相當的有用
參考網站
https://sites.google.com/ntjh.ntct.edu.tw/cstt/(南投縣謝宗翔老師)
圖像壓縮
說明
範例
壓縮方法
影像壓縮格式
資料來源:北一女資訊科學簡報
活動設計3-線上壓縮圖像
步驟
1.上Google搜尋圖檔
2.進入上述網址.選擇有損或無損壓縮
3.將檔案上傳
4.將圖檔下載.比較與原始圖有何差別
活動設計4-RLE法壓縮黑白圖像
黑白圖像編碼
請依照以下指定的像素編碼,完成圖案。(提示:表格設定為5欄、6行)
參考資料:
https://drive.google.com/file/d/0B4aePY-HfMMla3lRVnlVS2M2UEE/view
https://drive.google.com/file/d/0B4aePY-HfMMlU1Z5eUpkV1ZyYWs/view
https://csfieldguide.org.nz/en/chapters/coding-compression/run-length-encoding/
https://csfieldguide.org.nz/en/chapters/coding-compression/
https://sites.google.com/site/arpa1002/10601-8/005ren-shi-tu-xiang-picture
音樂壓縮
影片壓縮
活動設計5-格式工廠(多媒體資料轉檔壓縮)