數(shù)字視頻編碼技術(shù)論文(2)
數(shù)字視頻編碼技術(shù)論文
數(shù)字視頻編碼技術(shù)論文篇二
視頻編碼中熵編碼的關(guān)鍵技術(shù)分析
摘要:隨著通信科技與網(wǎng)絡(luò)信息技術(shù)的高速發(fā)展,音頻信息量與日俱增,海量的音頻信息也為寬帶傳送、音頻信息儲存空間等帶來了一定壓力,而壓縮編碼正是緩解這一問題的有效途徑之一。自上世紀末期起,主流的視頻編碼都采取以塊結(jié)構(gòu)的編碼框架,并綜合運用如預(yù)測編碼、熵編碼等技術(shù)實現(xiàn)編碼壓縮。本文就以其中的熵編碼作為研究中心,對視頻編碼中熵編碼的基本原理及關(guān)鍵編碼技術(shù)展開分析。
關(guān)鍵詞:視頻編碼 熵編碼 編碼 原理
中圖分類號:TN919 文獻標識碼:A 文章編號:1007-9416(2015)12-0000-00
熵編碼是視頻編碼中的最后一個步驟,視頻系列經(jīng)預(yù)測和變換后會存在一定的統(tǒng)計冗余,而采用熵編碼技術(shù)的主要目的正是減少這些冗余。常見的熵編碼關(guān)鍵技術(shù)主要可分為編程編碼與算術(shù)編碼等類型,以下本文就以視頻編碼中的熵編碼作為論述中心,對視頻編碼中熵編碼的基本原理及關(guān)鍵編碼技術(shù)進行重點分析,具體如下。
1 熵編碼基本原理概述
熵編碼是視譜編碼中的最后一個步驟,主要是將包括圖像、文本、音頻等數(shù)據(jù)等信息根據(jù)相應(yīng)的轉(zhuǎn)換原理及公式轉(zhuǎn)換成一系列符號,并盡可能以最少的比特數(shù)進行表述[1]。其轉(zhuǎn)換原理主要是將編碼中出現(xiàn)頻率多的符號對應(yīng)分配上較短碼字,而出現(xiàn)幾率小的符號則分配較長碼字。只要各符號出現(xiàn)幾率不相同,就可通過此種方式進行數(shù)據(jù)壓縮。進行熵編碼之前需要對某個視頻信息語法元素中的符號集,并通過符號集獲取可能出現(xiàn)的符號以及各個符號的發(fā)生幾率,最終確定這段視頻信息語法元素的熵,在根據(jù)信號源編碼的編碼原理實現(xiàn)編碼操作。
2 熵編碼的常用編碼技術(shù)
2.1 變長編碼
變長編碼主要是將視頻符號轉(zhuǎn)換為不同長度的碼字,是一種基本的熵編碼技術(shù)。主要是根據(jù)符號可能出現(xiàn)的幾率進行碼字分配。所分配的碼字長短和符號出現(xiàn)幾率成反比[2]。變長編碼有一定的局限,這一局限主要是碼長必須是整數(shù),即使實際碼長小于1,也應(yīng)最少用1比特碼長進行編碼。如果符號發(fā)生幾率超過50%,那么這與符號的信息量將不足1,而采取1比特進行編碼,就違背盡可能減少比特數(shù)的編制原則,造成浪費。此外由因長度只能是整數(shù),如果變長編碼中的各符號發(fā)生幾率相近,那么編碼工作效率也會隨之受到影響,從而起不到高效的熵編碼效果。
2.2 算術(shù)編碼
算數(shù)編碼的基本原理。算數(shù)編碼是變長編碼這種基礎(chǔ)的熵編碼技術(shù)的改進,此種熵編碼技術(shù)中的碼長可以為非整數(shù),主要操作原理是將信息源符號轉(zhuǎn)換為比特流,這一轉(zhuǎn)換過程需要借助包括加、乘的公式計算,因此又稱作算數(shù)編碼[3]。此種熵編碼技術(shù)雖然能夠?qū)崿F(xiàn)非整數(shù),從而實現(xiàn)幾乎無失真且最大化減少比特數(shù),但此種編碼技術(shù)與常規(guī)熵編碼相比要復(fù)雜的多,但隨著算法的不斷完善,加上相關(guān)技術(shù)的不斷發(fā)展,使得此種編碼技術(shù)越來越成熟,并得到了更為廣泛的應(yīng)用。如H.264采用的上下文自適應(yīng)算術(shù)編碼技術(shù)等,在實踐中都發(fā)揮著良好的應(yīng)用效果。
2.3 基于上下文的自適應(yīng)二進制算數(shù)編碼
此種編碼又稱為CABAC編碼,H.264即使采用此種熵編碼技術(shù),該技術(shù)是較為先進、成熟,其基本流程主要分為三個步驟,分別是二進制化――上下建模――算術(shù)解碼。
首先將源信息語法元素進行二進制排列,每位二進制數(shù)作為一個bin,如果源信息的語法元素就是二進制,則可直接進行建模與解碼。根據(jù)二進制轉(zhuǎn)換結(jié)果,以及對每個bin進行概率模型的構(gòu)建,最后將bin及其模型輸入到算數(shù)解碼其中,進行二進制解碼。
3 熵編碼中的關(guān)鍵碼字結(jié)構(gòu)
3.1 Huffman碼
在對信息源符號集中各符號出現(xiàn)幾率分布情況有一定了解的情況下,以Huffman碼作為變長異字頭二元碼是最佳選擇。變長編碼整數(shù)比特的表述方式下,以Huffman碼進行轉(zhuǎn)換,能夠使轉(zhuǎn)換后的碼長均值相對較短。
Huffman碼的基本結(jié)構(gòu)是通過一系列最小冗余進行假設(shè)求證所推算出來的。以公式表達Huffman,信號源假設(shè)為:
但考慮到只能為整數(shù)比特數(shù),即比特數(shù)小于1也用1來表述,所以將最后兩個符號合并表示,即得到輔助信源:
假設(shè)其中
得出輔助信號源后,將其根據(jù)Pk’的大小差異進行重新排列,并將出現(xiàn)幾率最小的符號碼字分別以0和1表述,再將小于1即0比特的一項和1合并,之后再重構(gòu)新的輔助信息源。以此方法不斷重復(fù)循環(huán),一直到將輔助信號源壓縮至只有兩個元素。之后連接原先信息符號和其在輔助信息源中對應(yīng)的1以及0,最后得到各個符號相對應(yīng)的碼字[4]??傮w來說,雖然此種編碼是目前最佳的可譯二源碼,但其不規(guī)則的碼字結(jié)構(gòu)使其算法變得相對繁復(fù)。
3.2 指數(shù)哥倫布碼
指數(shù)哥倫布碼(簡稱EG碼)是熵編碼技術(shù)中的一種固定結(jié)構(gòu)的碼字形式,結(jié)構(gòu)簡單,這也使得其算法更加簡易。以H.264采用的0階EG碼為例,其固定結(jié)構(gòu)形式為:[M zeros][1][info],其中前綴部分表示M個0比特,之后是1個比特1,最后的info代表信息部分,長度與前綴相同。
此種編碼的解碼過程為,先讀入前綴與前后之后的1,根據(jù)的前綴明確信息的長度,之后在這一長度范圍解讀后面的信息INFO內(nèi)容。
4 結(jié)語
熵編碼主要是將包括圖像、文本、音頻等數(shù)據(jù)等信息根據(jù)相應(yīng)的轉(zhuǎn)換原理及公式轉(zhuǎn)換成一系列符號,并盡可能以最少的比特數(shù)進行表述,是視譜編碼的重要步驟。綜上所述,本文首先對熵編碼的基本原理進行闡述,之后對其中的變長編碼、算術(shù)編碼等編碼技術(shù)及關(guān)鍵碼字結(jié)構(gòu)展開分析,希望能為相關(guān)人士提供些許參考。
參考文獻
[1]路偉,余寧梅,南江涵,王冬芳.并行可配置的HEVC熵編碼的VLSI結(jié)構(gòu)[J].計算機工程與應(yīng)用,2014,03:121-124+144.
[2]邸金紅,張克新,祁躋,張鑫明.基于Syntax級分組和多線程處理的HEVC熵編碼并行算法[J].電訊技術(shù),2014,10:1435-1440.
[3]李恒忠,崔建明,郭勇,李洪強.基于HEVC視頻標準的熵編碼過程[J].電腦知識與技術(shù),2013,14:3356-3359+3365.
看了“數(shù)字視頻編碼技術(shù)論文”的人還看: