2017年5月6日 星期六

[公開課閒聊] 計算機概論第三講 Data Storage - 台大 于天立

Ped隨手摘


  1. 二進位小數轉成十進位其實常有誤差存在,十進位常常不是二的倍數
  2. 壓縮
    1. 非失真壓縮
      1. Run-length : 一連串相同的位元在紀錄時就只記連續幾位 ex.11111 連續5bits 為1
      2. Frequency-dependent : 常用的碼用比較少位元數代表;少用的用比較長的位元數表示
        1. Huffman code
          1. 固定長度編碼接收端比較好分割,但會比較占空間。
            1. ex.A=00;B=01;C=10
          2. 利用二元樹依出現頻率由短至長編碼有機會會更省空間
            1. ex.A出現9次;B出現3次;C出現2次;D出現1次  A=0;B=10;C=110;D=111
      3. dictionary : 將常用的 pattern 用一組較短位元數紀錄他,跟frequecy有點關係
        1. LZW
          1. 不用把字典傳給接收端,因為接收端可用和傳送端同樣的演算法進行解碼
    2. 失真壓縮
      1. relative/difference : 只記錄有改變的地方
        1. ex.影像、聲音
    3. 如果原始資料重複的pattern (redundancy) 很少,反而可能會壓大
    4. Communication errors
      1. 壓縮過的資料如果有遺失會導致解碼錯誤
      2. error detection  : 可發現傳送的資料有誤,但無法回復
        1. check code
          1. 身分證字號
          2. ISBN
        2. parity bits
          1. ex.多傳一個 bit 讓資料永遠為奇數,但同時錯兩個 bit 時就沒救了 XD
          2. RAID (磁碟陣列)  
      3. error-correcting code (ECC)
        1. repetition code
          1. 多傳幾次ex.傳三次 010 因為 0 比較多所以回復成 0
          2. ex.(7,4)Hamming Code
            1. 發生錯誤時根據 Hamming distance 還原成最近的

沒有留言:

張貼留言