zoukankan      html  css  js  c++  java
  • 信息编码技术


    author: lunar
    date: Mon 12 Oct 2020 10:03:32 AM CST

    第二章 信息编码技术原理

    2.1 信源编码

    2.1.1 信源编码器模型

    正规编码器:能够把信源发出的所有消息一一对应变换成相应代码組。這種編碼器不會損失信息量,編碼後的信源與編碼前的信源的熵相等。

    常見的幾種信源編碼:

    • 二進制代碼:代碼的每個碼元只有兩種量值可以取
    • 同價代碼:兩個碼元長度相等。像莫爾斯電碼就不是同價代碼
    • 等長代碼:每個碼元的長度相等
    • 單義代碼:任意一組代碼只能被唯一地分割成一種碼元序列。
    • 非續長代碼:不能在一種碼元後面加上一些東西變成另一種碼元。非續長編碼一定是單義的。

    2.1.2 信源編碼效率

    信源編碼器的編碼效率定義爲信息傳輸效率與信道容量之比,即

    [eta_s = frac{R_b}{C_t} ]

    單位都是 bit/碼元

    信息传输效率可以用信源發出的時間熵來表示

    [R_b = frac{H(X)}{overline b} ]

    H(X) 表示發出N個字符的信息熵;(overline b) 是每個字符的平均長度。

    联立得

    [eta_s = frac{H(X)}{overline bcdotmathrm{lb}D} ]

    平均码長:每個字符出現的概率與其編碼長度的乘積之和。

    2.1.3 信源編碼方法

    1. 匹配編碼

      根據編碼信息的出現概率來分配不同長度的代碼組,出現概率越大,代碼組長度越短。

    2. 量化編碼

    3. 變換編碼

      先對原信號進行變換,再對變換後的信號進行編碼。

      1. 預測變換:根據信號的已知參數來預測即將發生的參數變化。
      2. 函數變換:最常見的就是傅立葉變換。

    2.2 信源編碼技術

    2.2.1 熵編碼

    最佳編碼方法

    1. 香農編碼方法

      根據字符出現的概率計算 (-log_2p_i),向上取整就得到了編碼長度。

      香農編碼方法的效率接近100%

    2. 費諾編碼方法

      將整個消息概率集合分爲兩個子集,使得兩個子集的概率之和儘可能相等。然後一個子集編碼0,另一個編碼1。然後再對兩個子集進行同樣的操作。

    3. 哈夫曼樹編碼方法

      將所有的概率按遞減分佈,然後將最小概率的兩個編碼爲0和1,將兩者概率相加後作爲一個新的概率加入隊列,仍然是遞減分佈。重複步驟。

    2.2.3 量化編碼

    我們知道,對於連續型信源,需要經過採樣、量化和編碼三個階段才能進行信息傳輸。

    採樣的頻率需要遵循採樣定理的頻率。

    當信源產生的模擬信號經過採樣後,在時間上雖然離散化了,但是在幅值上依舊是連續的,只有經過幅值的分層處理,才能形成時間上和幅值上都是離散的信號。幅值上的分層處理即爲量化處理

    所謂量化就是用有限個量化電平來近似表示連續變化的幅度值。每個連續點的幅度值被四捨五入到最接近的一個電平。因此而產生量化誤差,這個誤差是無法被消除的。

    非均勻量化:大的輸入信號採用大的量化間隔,小的輸入信號採用小的量化間隔。

    A壓縮率

    [y = egin{cases}frac{Ax}{1+ln A}quad 0<xle frac1A\frac{1+ln Ax}{1+ln A}quad frac1Ale xle1 end{cases} ]

    非均勻量化後,對於語音編碼非常容易實現。

    非線性PCM編碼

    • 13折線法編碼

      共8位,(c_1,cdots,c_8)

      • c1: 極性,因爲信號有正有負
      • c2 ~ c4: 段落碼 - 8種段落斜率,每一段的大小不一定是相等的。
      • c5 ~ c8: 段內碼 - 16個量化電平,每一段內的分段都是均勻的。

    非均勻編碼下,信號幅度小,量化誤差小;信號幅度大,量化誤差也大。

    2.2.4 差值編碼

    通過一個預測器預測誤差,量化後的差值信號是預測誤差與量化誤差之和。

    2.2.5 語音參數編碼

    語音不再使用波形進行表示,而是通過各種參數來表示和傳輸。在接受端再進行合成語音。

    2.2.6 正交變換編碼

    信號編碼實際就是一種變換,特別是通過變換來解除信號值之間的相關性,儘可能地逼近於統計獨立的信源符號。

    2.2.6 多媒體信息壓縮編碼

    視頻和音頻信息之所以能夠壓縮,是因爲自然信源存在很大的冗餘度

    數據壓縮方面存在多種壓縮技術:

    graph TD A[壓縮算法] --> B[無失真壓縮] A --> C[有失真壓縮] B --> D[熵編碼] B --> E[霍夫曼編碼] B --> F[遊程編碼] B --> G[語義算數編碼] B --> H[Lempelzev編碼] C --> I[預測編碼] C --> J[面向頻率] C --> K[面向重要性] C --> L[混合編碼] I --> M[運動補償] J --> N[變換編碼] J --> O[子帶編碼] J --> P[小波編碼] K --> Q[濾波] K --> R[子採樣] K --> S[比特分配] K --> T[量化編碼] T --> U[矢量量化] T --> V[標量量化] L --> W[JPEE標準] L --> X[MPEG標準] L --> Y[H.261標準] L --> Z[H.263標準]

    2.3 差錯控制編碼

    數字信息在信道中傳輸,由於收到信道內噪聲的影響,不可避免地會造成數字信號碼元間串擾,同時會產生差錯。當信息系統不能滿足對碼元差錯率要求時,就要採用差錯控制編碼。

    2.4 信道编码技术

    2.4.1 线性分组编码

    将信息中每 (k) 个码元分成一段,然后由这个 (k) 个码元按照一定的规则产生 (r) 个监督码元,两者再组成长度为 (n(=k+r)) 的码字,就称构成了((n,k)) 线性分组码。

    1. 线性分组码的构成

    若要生成一个 (7,3) 线性分组码,(c_6,c_5,c_4) 为信息位。若按下列方程来设定监督码元:

    [left.egin{aligned}&c_3=c_6oplus c_4\&c_2=c_6oplus c_5oplus c_4\&c_1 = c_6oplus c_5\&c_0 = c_5oplus c_4 end{aligned} ight} ]

  • 相关阅读:
    搭建strom 的开发环境
    maven 的plugin 的使用
    Maven 的dependency 的 classifier的作用
    Maven中的dependency的scope作用域详解
    Supervisor-进程监控自动重启
    websocket 实战
    vue 监听路由变化
    vux-uploader 图片上传组件
    vue 定义全局函数
    判断对象属性的值是否空,如为空,删除该属性
  • 原文地址:https://www.cnblogs.com/lunar-ubuntu/p/13805125.html
Copyright © 2011-2022 走看看