日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第二章、视频压缩技术与原理

發(fā)布時間:2024/3/12 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二章、视频压缩技术与原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2.1.1 熵及熵編碼基本原理

  • 信息量的概念
  • 熵編碼的概念
  • 平均碼長定義
  • 無失真編碼定理
  • 編碼效率的定義
  • 信息量的概念

    信息量:表示該符號所需要的位數(shù)

    • 考慮用0、1組成的二進制數(shù)碼
    • 是為含有n個符號的某條信息編碼
    • 假設(shè)符號aj在整條信息中重復出現(xiàn)的概率為Pj,則該符號的信息量定義為:信息量表示以2為底的對數(shù),是正值?

    Eg:輸入信源字符串為aabbaccbaa,abc出現(xiàn)的概率分別為0.5\0.3\0.2,它們的信息量分別為多少,總信息量也即表達整個字符串需要的位數(shù)為多少?

    ?

    ?如果用二進制等長編碼,需要20位。

    ?熵編碼的概念

    • 數(shù)據(jù)壓縮的基石——Shannon創(chuàng)建的信息論
    • Shannon第一定律(率失真定律)確定了在編碼過程中不損失任何信息,即在無損編碼條件下數(shù)據(jù)壓縮的理論極限是信息的熵,并指出了如何建立最優(yōu)數(shù)據(jù)壓縮編碼方法。
    • 這類保存信息熵的編碼方法統(tǒng)稱為熵編碼(Entropy coding),熵編碼的結(jié)果經(jīng)解碼后可無失真地恢復出原始信息

    ?平均碼長的概念

    如果對字符的編碼長度為,則信號L的平均碼長為:(m為信號中所出現(xiàn)不同字符的個數(shù))

    無失真編碼定理

    熵是平均碼長的下限,這是以信息論為基礎(chǔ)的編碼方式的一個最重要的理論。

    編碼的基本思想就是用較少的比特數(shù)表示出現(xiàn)概率較大的碼源符號,用較多的比特數(shù)表示出現(xiàn)概率小的碼源符號。最常用:霍夫曼編碼

    編碼效率的定義

    熵H(x)除以平均碼長Lavg,即表示 編碼效率

    (熵是編碼的極限,所以<=1)

    ?小結(jié):

    • 數(shù)據(jù)壓縮的理論極限是信息熵
    • 只要信源不是等概率分布,就存在著數(shù)據(jù)壓縮的可能性
    • 數(shù)據(jù)壓縮的基本途徑之一:使各字符的編碼長度盡可能等于字符的信息量

    2.2.1 Huffman編碼?

    簡介:

    Huffman編碼是1952年為壓縮文本文件所設(shè)計的編碼方法,也是目前消除視頻信息冗余最常使用的方法之一。

    對出現(xiàn)概率最大的符號附以最短的碼字,概率越小表示的碼字越長,從而使表示每個符號的平均比特數(shù)最小

    編碼步驟:

    ?編碼特點:

    Huffman編碼是瞬時唯一的可解塊編碼

    • 瞬時:符號串中每個碼字無需參考后繼符號就可解碼
    • 唯一可解碼:任何符號串只能以一種方式解碼
    • 塊編碼:每個信源符號都映射到一個編碼符號的固定序列中

    Huffman編碼是為一個可譯碼。短的碼不會成為更長碼的起始部分

    ?Huffman編碼的平均碼長接近于熵

    與計算機的數(shù)據(jù)結(jié)構(gòu)不匹配

    需要多次排序耗費時間

    注意:

    ????????Huffman編碼的算法是確定的但是編出的碼并非是唯一的

    ????????Huffman編碼的依據(jù)是信源符號的概率分布,故其編碼效率取決于信源的統(tǒng)計特性

    ????????Huffman編碼局限性:只適用于離散信源

    ? ? ? ? 編碼時需要知道輸入符號集的概率分布

    ????????Huffman編碼計算量大而復雜,尤其譯碼復雜度高

    ????????Huffman編碼沒有錯誤保護功能

    ????????由于碼長不等還存在輸入輸出的速率匹配問題

    壓縮比=等長編碼的編碼長度/平均碼長

    按照熵的定義,它表示平均信息量

    2.2.3 算術(shù)編碼

    算術(shù)編碼是1980年代發(fā)展起來的一種熵編碼方法。

    1、原理:

    2、算術(shù)編碼步驟

    ?????????算術(shù)編碼是從整個符號序列出發(fā),采用遞推式連續(xù)編碼的方法。

    ????????解碼時,根據(jù)該區(qū)間判斷信源各個符號出現(xiàn)的順序和類型。

    以多符號的算術(shù)編碼為例,來分析算術(shù)編碼(基于固定模式)步驟:

    設(shè)信源符號表是{al,,a2, a3,a4},其符號出現(xiàn)的概率分別為{0.2,0.1,0.4,0.3},請按照序列{a2, a1, a4, a3}進行算術(shù)編碼。

    解:(1)首先確定算法空間為[0,1]

    ? ? ? ? (2)確定各個字符的區(qū)間分配,建立碼點。

    碼點要滿足兩條規(guī)則:

    (a)每個碼點值是它前面所出現(xiàn)的概率之和。第一個碼點值為0,因為它前面沒有碼字

    (b)將每一個碼點值作為右端點,每個子分過程中所得區(qū)間的寬度對應于該符號的概率。

    ? ? ? ? (3)對輸入的每個信源符號,重復如下步驟:

  • 將第一個信源符號a2出現(xiàn)的概率空間[0.2,0.3)擴展為新的算法子空間,將當前區(qū)間分割為長度正比于信源集內(nèi)各個符號概率的空間(也就是說在[0.2,0.3)這個新的概率空間中,符號a1因為它所出現(xiàn)的概率是0.2,所以符號a1在新的算法子空間中所出現(xiàn)的概率也占整個新算法子空間的0.2);
  • 接下來確定第二個符號是a1的子區(qū)間,即序列a2a1的子空間:

    ?將信源符號序列a2a1的概率空間[0.2,0.22)擴展為新的算法子空間;

    然后確定信源符號序列a2a1a4的新算法子空間[0.214,0.22)

    ?將信源符號序列a2a1a4的概率空間[0.214,0.22)擴展為新的算法子空間;

    確定信源符號序列a2a1a4a4的新算法子空間

    ?那么,任何一個該區(qū)間中的實數(shù),如,0.2160就可以用來表示序列{a2a1a4a3}的編碼

    ?3、算術(shù)解碼步驟

    解碼過程是對按照當前的編碼進行識別的過程。

    當?shù)玫揭粋€圖像的編碼后,根據(jù)其各個信源符號的概率進行分析,找到當前編碼所符合的概率空間,逐步求精,即可得到原始符號序列信息。

    解碼過程示例如下:

  • 通過比較各個信源符號與已編碼序列區(qū)間的數(shù)值范圍,找到序列中第一個信源符號。
  • 上例中,0.2158在區(qū)間[0.2, 0.3)之間,所以第一個符號是a2

    ? ? ? 2. 從編碼數(shù)值中消去第一個符號a2的影響,即首先減去a2的左端點的值,然后除以a2對應范圍的寬度,即

    ?0.158再次比較與哪一個符號對應的數(shù)值范圍符合,得到a1。

    ? ? ??3. 重復步驟1、2,直到解出整個符號流。

    注意:?一個符號的末尾應該有一個結(jié)束符作為標志,它隨信源符號一起被編碼。

    ?4、算術(shù)編碼的分析

    算術(shù)編碼是一種從整個符號系列出發(fā),采用遞推形式連續(xù)編碼的方法。在算術(shù)編碼中,字母表中的符號和碼字間不再存在一一對應關(guān)系,一個算術(shù)碼字要賦給整個信源符號序列(即不是一次編一個號),而碼字本身確定0和1之間的一個實數(shù)區(qū)間。

    不論是否是二元信源,也不論數(shù)據(jù)的概率分布如何,其平均碼長均能逼近信源的熵。

    算術(shù)編碼和Huffman編碼的區(qū)別:
    ? ? ? ? 在算術(shù)編碼中,輸入序列(即被賦給單個碼字的符號塊)的長度,是可變的。可以說算術(shù)編碼是將可變長碼字賦給可變長符號塊。

    正是由于算術(shù)編碼不需要為定長符號塊分配整數(shù)長的碼字,采用算術(shù)編碼每個符號的平均編碼長度可以為小數(shù),理論上能達到無損編碼定理所規(guī)定的最低限。

    算法編碼從全序列出發(fā),采用遞推形式的連續(xù)編碼,它不是將單個的信源符號映射成一個碼字,而是將整個符號序列映射為實數(shù)軸上[0,1)區(qū)間內(nèi)的一個小區(qū)間,其長度等于該序列的概率。

    隨著輸入符號越來越多,子區(qū)間分割越來越細,因此表示其左端點的數(shù)值的有效位數(shù)也越來越多。

    如果等整個符號序列輸入完畢后再將最終得到的左端點輸出,將遇到兩個問題:

  • 當符號序列很長時,將不能實時編解碼;
  • 有效位太長的數(shù)難以表示。為了解決這個問題,
  • 通常采用兩個有限精度的移位寄存器存放碼字的最新部分,隨著序列中符號的不斷輸入,不斷地將其中的高位移出到信道上,以實現(xiàn)實時編解碼。

    ?5、算術(shù)編碼的效率

    • 算術(shù)編碼最大的優(yōu)點之一在于它具有自適應性和高編碼效率
    • 算術(shù)編碼的模式直接影響編碼效率。其模式:固定模式(基于概率分布模型)和自適應模式(其各符號的初始概率都相同,但隨著符號順序的出現(xiàn)而改變,在無法進行信源概率模型統(tǒng)計的條件下,非常適于使用自適應模式的算術(shù)編碼。)

    ?在信道符號概率比較均勻的情況下,算術(shù)編碼的編碼效率高于Huffman編碼,但在是實現(xiàn)上比Huffman編碼的計算過程復雜。

    算術(shù)碼也是邊長碼,編碼過程中的移位和輸出都不均勻,因此也需要有緩沖存儲器。

    在誤差擴散方面,算術(shù)碼比分組碼嚴重。

    算術(shù)碼流的傳輸也要求高質(zhì)量的信道,或者采用檢錯反饋重發(fā)的方式。

    ?小結(jié):

    • 算數(shù)編碼的原理:編碼從序列出發(fā),將各信源序列的概率映射到[0,1]區(qū)間上,使得每個序列對應該區(qū)間內(nèi)的一個點,即一個二進制的小數(shù)。這些點將[0,1]區(qū)間分成許多小段,每段的長度等于某一序列的概率,整個編碼過程就是單位區(qū)間[0,1]內(nèi)的子分過程。
    • 是將一個算術(shù)碼字,賦給整個信源符號序列,而碼字是在0和1之間的一個實數(shù)區(qū)間。

    2.2.4 游程編碼?

  • 游程(行程)編碼的概念
  • 二元信源的游程(行程)編碼
  • 多元信源的游程(行程)編碼
  • 游程(行程)編碼的優(yōu)缺點
  • (圖像)游程編碼
  • ?1、游程編碼基本概念

    游程編碼的基本原理:

    將具有相同值的連續(xù)串,用其串長和一個代表值來代替,該連續(xù)串就稱為游程,串長稱為游程長度

    編碼思想:

    去除像素冗余,游程編碼用游程的灰度和游程的長度來代替游程本身。

    2、二元信源的游程編碼

    二元信源只有兩個不同的信源,只有“0”和“1”符號

    “0”游程和“1”游程總是交替出現(xiàn)(比如:規(guī)定某二元序列是從“0”開始,第一個游程是“0”第二個是“1”然后又是“0”等等)

    “0”游程:連續(xù)出現(xiàn)“0”符號的段? =>? “0”游程的長度L(0)

    “1”游程:連續(xù)出現(xiàn)“1”符號的段? =>? “0”游程的長度L(1)

    這樣游程序列就可以用自然數(shù)標記游程的長度,映射成交替出現(xiàn)的游程長度序列。

    ?3、多元信源的游程(行程)編碼

    多元信源:顧名思義在這個信源中,里面的符號是多個不同的符號,不是只有兩個不同的符號。

    Eg:對多元序列aabbbcddddd用游程編碼

    解:游程長度編碼為2a3b1c5d

    • 定長游程編碼:編碼的游程長度所用的二進制位數(shù)固定。
    • 變長游程編碼:不同范圍的游程長度用不同編碼位,需要增加標志位來表明所使用的二進制位數(shù)。

    ?4、游程編碼的優(yōu)缺點分析

    缺點:

    • 游程編碼仍然是變長編碼,有其固定的缺點,需大量的緩沖和優(yōu)質(zhì)的信道。
    • 編程長度可以從1一直到無限,這在碼字的選擇和碼表的建立方面都有困難,實際應用是尚需采用某些措施來改進。
    • 只適用于二元序列,對于多元信源,一般不能直接利用游程編碼

    游程越長出現(xiàn)的概率越小;游程長度趨于無窮時,其出現(xiàn)的概率也趨向于0。

    按照霍夫曼編碼的規(guī)則,概率越小,碼長越長,但小概率的碼字對平均碼長的影響較小。

    所以在實際應用時,對長游程一般采用截斷處理的方法,將大于一定長度的長游程統(tǒng)一用等長碼編碼。?

    5、(圖像)游程編碼

    對某些相同灰度級成片連續(xù)出現(xiàn)的圖像,游程編碼也是一種高效的編碼方法。特別是對二值圖像效果尤為顯著

    • 游程編碼所能獲得的壓縮比主要取決于圖像本身的特點。
    • 若圖像中具有相同顏色的圖像塊越大圖像塊數(shù)目越少,則壓縮比就越高。反之壓縮比就越小。

    ?通常為了達到比較好的壓縮效果,一般不單獨使用游程編碼,而是和其他編碼方法結(jié)合使用。比如:在JPEG中,綜合使用了游程編碼以及哈夫曼編碼。

    總結(jié)

    以上是生活随笔為你收集整理的第二章、视频压缩技术与原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。