多媒體 3. 字元編碼和錯誤偵測與修正 - Ian-Liu-1990/Computer-Arch-OS GitHub Wiki

I.字元編碼

0. 浮點數

  • 正規化表示 : 1.0000
  1. 單精確度 : 32bits = 1bit(正負號) + 8bits(超127) + 剩餘表示小數位
  2. 雙精確度 : 64bits = 1bit(正負號) + 11bits(超1023) + 剩餘表示小數位

1. 中文編碼

  1. 大五碼 : 2Byte
  2. 中文資訊交換碼CCCII : 3Byte
  3. 中文標準交換碼CNS 11643 : 2Byte
  4. EUC碼 : UNIX使用系統,4Byte
  5. 電信碼 : 2Byte

2. 歐洲編碼

  1. ANSCII : 1Btye 0(48),A(65)和a(97)
  2. ISO-8859-X系列

3. 萬國碼、國際碼、統一碼、單一碼

  1. Unicode : Unicode的實現方式稱為Unicod轉換格式UTF
  2. UTF-8 : 可變動1至4byte對Unicod編碼實現
  3. UTF-16 : 可變動2至4byte對Unicod編碼實現
  4. UTF-32 : 編碼長度固定,可以直接由Unicode碼位來索引
  5. UTF-7 : 可變長度字元編碼方式,將Unicode字元以ASCII編碼的字元串來呈現

II. 壓縮編碼

  1. 霍夫曼編碼 : 將固定長度字元用不同長度的碼編輯,無失真資料壓縮 <= 求霍夫曼樹,與壓縮比

  2. Lzw編碼 : 將不同長度字串以固定長的碼編輯,與資料性質無關的無失真資料壓縮

    • 成本低
    • 還原速度快
    • 不對資料進行分析,轉換結果不一定最好
  3. RLE,遊程編碼又稱行程長度編碼或變動長度編碼法 : 與資料性質無關的無失真資料壓縮,使用變動長度的碼來取代連續重複出現的原始資料

    • 一組資料串"AAAABBBCCDEEEE",由4個A、3個B、2個C、1個D、4個E組成,經過變動長度編碼法可將資料壓縮為4A3B2C1D4E
    • TIFF檔案
    • PDF檔案

III. 錯誤偵測與修正

A. 錯誤偵測

1. CRC循環碼

2. 奇偶位元檢查

  1. 奇位元檢查 : 使得總的1的個數是奇數,將原來bits位元作XOR,決定同位元檢查1或0
  2. 偶位元檢查 : 使得總的1的個數是偶數,將原來bits位元作XOR,決定同位元檢查1或0

3. 檢查和

  1. 檢查項目以4bits對4bits以1's補數相加(最高位元進位回加最低位元)
  2. 最後結果在轉1's補數
  3. 接收端將1.和2.相加結果即可得到全為0,資料無誤

B. 錯誤糾正

1. 自動重傳請求(ARQ)

2. 錯誤更正碼(ECC)

  1. 漢明碼 : 糾正單個隨機差錯
  2. 渦輪碼Turbo code : 一種前向糾錯的編碼技術,廣泛運用於3G/4G移動通信(如UMTS與LTE)
  3. 低密度奇偶檢查碼LDPC code :
  4. 里所碼或 RS codes : CD、DVD 和藍光光碟上的使用;在資料傳輸中,它也被用於 DSL 和 WiMAX, RAID 6 標準的重要成員