多媒體 3. 字元編碼和錯誤偵測與修正 - Ian-Liu-1990/Computer-Arch-OS GitHub Wiki
I.字元編碼
0. 浮點數
- 正規化表示 : 1.0000
- 單精確度 : 32bits = 1bit(正負號) + 8bits(超127) + 剩餘表示小數位
- 雙精確度 : 64bits = 1bit(正負號) + 11bits(超1023) + 剩餘表示小數位
1. 中文編碼
- 大五碼 : 2Byte
- 中文資訊交換碼CCCII : 3Byte
- 中文標準交換碼CNS 11643 : 2Byte
- EUC碼 : UNIX使用系統,4Byte
- 電信碼 : 2Byte
2. 歐洲編碼
- ANSCII : 1Btye 0(48),A(65)和a(97)
- ISO-8859-X系列
3. 萬國碼、國際碼、統一碼、單一碼
- Unicode : Unicode的實現方式稱為Unicod轉換格式UTF
- UTF-8 : 可變動,1至4byte對Unicod編碼實現
- UTF-16 : 可變動,2至4byte對Unicod編碼實現
- UTF-32 : 編碼長度固定,可以直接由Unicode碼位來索引
- UTF-7 : 可變長度字元編碼方式,將Unicode字元以ASCII編碼的字元串來呈現
II. 壓縮編碼
-
霍夫曼編碼 : 將固定長度字元用不同長度的碼編輯,無失真資料壓縮 <= 求霍夫曼樹,與壓縮比
- 出現機率高的字母使用較短的編碼,反之則短
- 霍夫曼樹與編碼結果不只一種
-
Lzw編碼 : 將不同長度字串以固定長的碼編輯,與資料性質無關的無失真資料壓縮
- 成本低
- 還原速度快
- 不對資料進行分析,轉換結果不一定最好
-
RLE,遊程編碼又稱行程長度編碼或變動長度編碼法 : 與資料性質無關的無失真資料壓縮,使用變動長度的碼來取代連續重複出現的原始資料
- 一組資料串"AAAABBBCCDEEEE",由4個A、3個B、2個C、1個D、4個E組成,經過變動長度編碼法可將資料壓縮為4A3B2C1D4E
- TIFF檔案
- PDF檔案
III. 錯誤偵測與修正
A. 錯誤偵測
1. CRC循環碼
2. 奇偶位元檢查
- 奇位元檢查 : 使得總的1的個數是奇數,將原來bits位元作XOR,決定同位元檢查1或0
- 偶位元檢查 : 使得總的1的個數是偶數,將原來bits位元作XOR,決定同位元檢查1或0
3. 檢查和
- 檢查項目以4bits對4bits以1's補數相加(最高位元進位回加最低位元)
- 最後結果在轉1's補數
- 接收端將1.和2.相加結果即可得到全為0,資料無誤
B. 錯誤糾正
1. 自動重傳請求(ARQ)
- 定義 : 通過錯誤檢測碼、確認或否決訊息,以及可靠訊息資料傳輸的訊息逾時來完成資料傳輸的一種錯誤控制方法。
- 適性 : 需要極低錯誤率的數位貨幣轉移需要ARQ;低延遲的電話通話)和在傳送後立即忘記資訊的應用不能使用ARQ
- ARQ協議分類 : OSI網路7層,資料鏈結層CRC檢查ARQ修正與傳輸層CheckSum檢查ARQ錯誤修正辦法,網路層只用CheckSum檢查封包表頭是否正確,不檢查內容也沒有錯誤修正
- 停止並等待ARQ
- 後退N影格ARQ
- 選擇重傳ARQ。
2. 錯誤更正碼(ECC)
- 前向錯誤更正FEC : 通過連同數據發送額外的資訊進行錯誤恢復,以降低位元錯誤率,發現錯誤無須通知傳送方重發。
- 適性 : RAID、分散式檔案系統、電話通話、網路攝影機
- 漢明碼 : 糾正單個隨機差錯
- 渦輪碼Turbo code : 一種前向糾錯的編碼技術,廣泛運用於3G/4G移動通信(如UMTS與LTE)
- 低密度奇偶檢查碼LDPC code :
- 里所碼或 RS codes : CD、DVD 和藍光光碟上的使用;在資料傳輸中,它也被用於 DSL 和 WiMAX, RAID 6 標準的重要成員