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