1 / 42

第六章

第六章. 資料壓縮與編碼. 6.0 導論. 資料壓縮的原理,就是將 所有以數位( 0 或 1 )形式來表示的資訊,比如數字、文字、聲音、影像、影片中多餘的元素予以處理 有三種方式來進行資料壓縮: 簡單的編碼機制 基於符號內文的機制 基於符號出現或是相關次數的機制. 6.1 簡單的編碼機制. 簡單的編碼機制,就是 傳送和接收的兩端必同意和堅守一種共通的編碼。例如要傳送城市的名稱,比如 Mumbai 或是 New York 時 可以用 01 來表示 Mumbai 、 02 來表示 New York 等等

tryna
Download Presentation

第六章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 資料壓縮與編碼

  2. 6.0 導論 • 資料壓縮的原理,就是將所有以數位(0 或1)形式來表示的資訊,比如數字、文字、聲音、影像、影片中多餘的元素予以處理 • 有三種方式來進行資料壓縮: • 簡單的編碼機制 • 基於符號內文的機制 • 基於符號出現或是相關次數的機制

  3. 6.1 簡單的編碼機制 • 簡單的編碼機制,就是傳送和接收的兩端必同意和堅守一種共通的編碼。例如要傳送城市的名稱,比如 Mumbai 或是 New York 時可以用 01 來表示 Mumbai、02 來表示New York 等等 • 這種方式在實作上,特別是在有許多端點的情況下較難做到

  4. 6.2 基於符號內文的機制 我們將考慮在這種分類下的兩種方法: • 空白抑制 (Null suppression) • 變動長度編碼法 (Run Length Encoding, RLE)

  5. 6.2.1 空白抑制 • 空白抑制是一種編碼的機制,會被用來指定到底需要送出多少的空白

  6. 6.2.2 變動長度編碼法 • 變動長度編碼法 (Run Length Encoding, RLE) 是空白抑制的綜合機制,我們不只找尋重複的空白,而且會找出任何重複的字元來壓縮

  7. 6.2.2 變動長度編碼法 • 變動長度編碼法 (RLE)

  8. 6.3 統計式的壓縮 • 統計的壓縮是基於符號出現的相對次數。這種方法會依據符號出現了多少次。也就是說,較短的編碼會被用在壓縮經常出現的符號,較長的編碼會被用在不常出現的符號上 • 有三種方法使用這種技術: • 摩斯編碼 • 霍夫曼編碼 (Huffman code) • Lempel-Ziv 編碼

  9. 6.3.1 摩斯編碼 • 摩斯編碼使用不同長度橫線 (dash) (-) 和點 (dot) (.) 的組合符號來表示各式各樣的字元

  10. 部分的摩斯編碼

  11. 6.3.2 Huffman 編碼(1) • 霍夫曼編碼 (Huffman code) 使用由 0 和 1 所組成的變動長度碼來編定字元以及其他的符號

  12. 6.3.2 Huffman 編碼(2) 1. 將整組的字元組織成一個單行,並且依它們的權值來排序 2. 現在,計算兩個相鄰節點的總和,並找出這些總和中的最小值

  13. 6.3.2 Huffman 編碼(3) 3. 我們繼續在其他的階層上進行這個程序,每一次都要在該層中找出兩個相鄰節點總和的最小值 4. 我們重複這個步驟,即使是最低層的節點,也仍然是這個總和計算中的候選者

  14. 6.3.2 Huffman 編碼(4) 5. 我們繼續這個程序直到所有階層的節點都被組合成一棵單獨的樹 6. 下一個步驟就是為每個字元指定編碼

  15. 6.3.2 Huffman 編碼(5) • 由上述原則所得到的編碼指定表

  16. 6.3.2 Huffman 編碼(6) • 解碼的步驟: 1. 讀取訊息中的前三個位元,並且看看它們是否符合列表中的編碼,如果有符合,就將這三個位元替換成適當的字元,並且丟棄這三個位元。繼續找出下三個位元來重複以上的程序 2. 如果在步驟1沒有符合,獨取下一個位元並且加入現存的位元中,讓它成為四個位元的字串,在此列表中找出對應的四個位元樣式 3. 如果在步驟1和2都沒有找到符合的,讀取下一個位元並且加入現存的位元中,讓它成為五個位元的字串 4. 如果仍舊沒有找到符合的,這就表示訊息中有些未被識別的位元,因此會有些錯誤,就要丟棄此訊息

  17. 6.3.3 Lempel-Ziv編碼 • Lempel-Ziv 編碼會找出重複的字串或字組,然後將它們儲存在變數中。接著它會將實際重複的字組或字串用指標替換成對應的變數

  18. 6.4 多媒體儲存的格式 • 導論 • 常見的圖檔格式 • 常見的聲音檔格式

  19. 6.4.1 導論(1) • 多媒體的資料壓縮

  20. 6.4.1 導論(2) • 壓縮具有以下的兩種類型: (a) 在非破壞性的壓縮 (loss-less compression) 方法中,不會損失任何的資訊。所有的(就是所有以數位形式來表示影像的數字)會被壓縮,而不會丟棄任何資訊 (b) 在破壞性的壓縮 (lossy compression) 方法中,冗餘的資訊會被丟棄。在某些情況下這可能是我們不願見到的,因為在壓縮中被丟棄的,可能是很重要的資料

  21. 6.4.2 常見的圖檔格式 1. Graphics Interchange Format (GIF),它是 Internet 上第一種的圖檔類型,GIF 使用LZW (Lempel-Zev-Welch) 壓縮,它以描述每個顏色所需的8 個位元來儲存影像。GIF 檔有兩種主要的類型: • GIF87a是最原始的格式 • GIF89a格式使用幻燈片與動畫的功能。也就是說部分的影像可以被做成透明的 2. Joint Photographic Experts Group (JPEG) ,JPEG使用24 bit的顏色, 與GIF 不同的是JPEG使用破壞性的壓縮技術,而且可以建立 10 : 1 到 20 : 1 的壓縮比 3. Portable Network Graphics (PNG) ,PNG格式支援類似GIF的8 bit 顏色,而且甚至可以到48-bit 的顏色。它使用一種非破壞性以及 較佳的壓縮格式

  22. 6.4.3 常見的聲音檔格式 • 聲音檔可以是以下的兩種類型: • 非資料串流語音檔 (Nonstreaming audio):這些檔在播放前必須先被完整地下載到使用者的硬碟中 • 資料串流語音檔 (Streaming audio):這些檔不需要被下載,並且幾乎可以立即播放 • 常見的聲音檔格式: 1. Waveform audio file format (WAVE) 2. Audio Interchange File Format (AIFF) 3. Moving Picture Expert Group (MPEG) 4. Musical Instrument Digital Interface (MIDI)

  23. 6.5 資料加密 • 任何通訊中你我所說的語言—就是人類所說的語言—它被稱為明文 • 想透過電腦網路進行商業交易,就不能一直使用明文,因為一些有特殊企圖的人會抓住這些訊息然後會對它們做一些動作

  24. 6.6 隱含的風險(1) 根據所洩漏的內容,透過 Internet 傳輸明文時,會有三種主要類型 的危險: • 私密性 (Confidentiality):除了真實收件者之外的其他人想要存取你的訊息 • 身份驗證 (Authenticity):身份驗證的問題就是我們要確定訊息真的是由發送端送出 • 完整性 (Integrity):

  25. 6.6 隱含的風險(2) • 私密性: • 身份驗證: • 完整性:

  26. 6.7 基本的概念 • 明文和密文 • 取代密碼 • 調換密碼 • 密碼學的類型

  27. 6.7.1 明文和密文 • 密碼學 (cryptography) 就是一種編碼(就是加密)和解碼(就是解密)訊息的技術 • 原始的文件稱為明文,將訊息編碼的過程稱為加密,當它被加密後,就被稱為密文,將訊息解碼,擷取出它正確的意義。這個過程就被稱作解密

  28. 6.7.2 取代密碼 • 取代密碼 (substitution) 的技術中,明文訊息中的字元會被另外一個字元、數字或符號所取代 • 凱撒密碼 (Caesar Cipher) 是種特殊情況的取代技術,其中訊息裡的每個字母都會被置換成往下算的第三個字母

  29. 6.7.3 調換密碼 調換密碼(Transposition cipher) 技術並非簡單地以一個字母代換另一 個,它們在明文字母上執行一些排列,例如: • 鐵路柵欄技術 (Rail Fence Technique) • 簡易分欄調換技術 (Simple Columnar Transposition Technique)

  30. 鐵路柵欄技術 • 鐵路柵欄技術 • 範例:

  31. 簡易分欄調換技術 • 簡易分欄調換技術 • 範例:原始的明文訊息:come home tomorrow,獲得的密碼應該是eowoocmroerhm

  32. 6.7.4 密碼學的類型 • 密碼學可以被分成兩種類型: (a) 密鑰加密 :也被稱為私密金鑰對稱加密,相同的鑰匙會被同時用在加密與解密訊息。IBM 的 Data Encryption Standard (DES) 就是使用這種方法 (b) 公鑰加密 :也被稱為非對稱的加密法,在這種類型的加密法,會用到兩把不同的鑰匙(稱為鑰匙對)。一把鑰匙被用在加密,而另一把唯一的鑰匙則被用在解密

  33. 密鑰加密

  34. 公眾金鑰加密

  35. 銀行所使用的一對公鑰-密鑰

  36. RSA演算法

  37. 6.8 數位簽章 • 當發送端以數位的方式傳送訊息,數位簽章建立了無法否認 (non-repudiation) 的概念 • 數位簽章指出了某個人已經以數位的方式簽署了訊息,而它可以被證明是使用數位的簽章

  38. 認證

  39. 數位簽章的原理(1)

  40. 數位簽章的原理(2)

  41. 數位簽章的原理(3)

  42. 數位簽章的原理(4)

More Related