徐志強(qiáng),嚴(yán)偉雄,許潛航,高凱強(qiáng)
(1.浙江華云信息科技有限公司,浙江 杭州 310000;2.國(guó)網(wǎng)衢州供電公司信通分公司,浙江 衢州 324000;3.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
基于軟件視頻會(huì)議的幀有效無(wú)損壓縮異構(gòu)算法
徐志強(qiáng)1,嚴(yán)偉雄2,許潛航2,高凱強(qiáng)3
(1.浙江華云信息科技有限公司,浙江 杭州 310000;2.國(guó)網(wǎng)衢州供電公司信通分公司,浙江 衢州 324000;3.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
基于軟件視頻會(huì)議系統(tǒng)是未來(lái)遠(yuǎn)程會(huì)議系統(tǒng)的發(fā)展趨勢(shì),而視頻會(huì)議未來(lái)發(fā)展的主要關(guān)鍵技術(shù)之一是視頻的編解碼技術(shù)。針對(duì)視頻會(huì)議中高帶寬下顯示幀訪問(wèn)引起視頻解碼器性能下降的問(wèn)題,提出了一種基于軟件視頻會(huì)議顯示幀的簡(jiǎn)單和有效的無(wú)損壓縮算法。該算法基于字典編碼、霍夫曼編碼,提出了兩種創(chuàng)新的編碼方法,通過(guò)計(jì)算獲得相鄰每對(duì)像素差的分布情況和表征每對(duì)像素的空間位置LPM值,顯著提高了視頻顯示幀的壓縮比例。在定量分析視頻顯示幀特性的基礎(chǔ)上,提出了一種兩組分類(lèi)方法。該方法將顯示幀的所有像素分為三組,通過(guò)頭碼壓縮方式減少碼字的位數(shù),以提高壓縮效率。實(shí)驗(yàn)結(jié)果表明,相對(duì)于已有壓縮算法,提出的無(wú)損壓縮算法的壓縮率提高了百分之二十。
壓縮;字典編碼;軟件視頻會(huì)議;霍夫曼編碼
軟件視頻會(huì)議系統(tǒng)是通過(guò)視、音頻壓縮和多媒體通信技術(shù)實(shí)現(xiàn)的,支持人們遠(yuǎn)距離進(jìn)行實(shí)時(shí)信息交流與共享,開(kāi)展協(xié)同工作的應(yīng)用系統(tǒng),同時(shí)軟件視頻會(huì)議還利用多媒體支持協(xié)同工作中各種信息的處理,如數(shù)據(jù)共享等,從而營(yíng)造一個(gè)多人共享的工作空間。而視頻會(huì)議未來(lái)發(fā)展的主要關(guān)鍵技術(shù)之一便是視頻的編解碼技術(shù)。如MPEG-2,MPEG-4和H.264/AVC這樣的視頻編解碼器是用戶(hù)使用的多種電子產(chǎn)品中最常見(jiàn)的組成部分,由于人們對(duì)高清視頻的需求逐漸增加,視頻編解碼器將不得不在有限的時(shí)間內(nèi)處理更多的數(shù)據(jù)。這些數(shù)據(jù)通常被存儲(chǔ)在一個(gè)低成本的外部動(dòng)態(tài)隨機(jī)存儲(chǔ)器中,將導(dǎo)致大量的存儲(chǔ)器讀寫(xiě)。在文獻(xiàn)[1-2]中,Yang等分析了在完全固定的H.264/AVC解碼器中的內(nèi)存存取量,發(fā)現(xiàn)訪問(wèn)顯示幀占總存儲(chǔ)器存儲(chǔ)周期的大約45%,并且只有大約45.7%的總線(xiàn)利用率,這是因?yàn)閮?nèi)存存取器中的視頻解碼行為和顯示設(shè)備的工作方式是有區(qū)別的。視頻解碼器通常是通過(guò)一個(gè)個(gè)宏模塊來(lái)處理和寫(xiě)入顯示幀的,然而顯示設(shè)備是逐行獲取和展示顯示幀的。文獻(xiàn)[3-9]中大量的內(nèi)存讀取通常會(huì)降低系統(tǒng)的性能,提升系統(tǒng)的能耗,由于研究成果十分不靈活,使得它們很難支持各種視頻編碼系統(tǒng)。
因此,在大量的研究中,提出幀壓縮算法來(lái)減少內(nèi)存的讀取。幀壓縮算法既可以是有損的也可以是無(wú)損的,有損的算法能夠保證數(shù)據(jù)的損失比例,但該算法是以視頻質(zhì)量為損失而實(shí)現(xiàn)的。另一方面,無(wú)損的算法能夠保持視頻的質(zhì)量,隨著視頻分辨率的增加以及顯示技術(shù)的不斷進(jìn)步,視頻質(zhì)量變得越來(lái)越重要,因此累積下來(lái)的大量研究成果都表明應(yīng)該采用無(wú)損幀壓縮算法。
(1)
為此,提出了一種基于行的軟件視頻顯示幀的無(wú)損壓縮算法。該算法組合了字典編碼、霍夫曼編碼和兩種新的創(chuàng)新方案來(lái)達(dá)到一個(gè)高的壓縮比,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
大多數(shù)諸如MPEG-2和H.264/AVC的視頻編碼標(biāo)準(zhǔn)占用一個(gè)塊作為隨機(jī)存儲(chǔ)單元來(lái)處理參考的幀,因此基于塊的無(wú)損壓縮算法主要是為了壓縮參考幀而提出的,這是因?yàn)樗軌蚪o每個(gè)塊提供一個(gè)隨機(jī)的存儲(chǔ)單元,該算法能夠給720P和1080P的視頻減少50%~60%的內(nèi)存帶寬。文獻(xiàn)[6]基于對(duì)15個(gè)1080P高清視頻的序列分析,提出一種新的壓縮算法,采用一種層次結(jié)構(gòu)預(yù)測(cè)和分組方法來(lái)預(yù)測(cè)8×8的塊并且使用一種階段包裝方法進(jìn)行壓縮,該算法能夠在1080P高清視頻序列中使DRR達(dá)到至少60%。文獻(xiàn)[10]提出了基于DDR2控制器的存儲(chǔ)接口方案設(shè)計(jì)和電路實(shí)現(xiàn),還系統(tǒng)地描述了存儲(chǔ)器接口的時(shí)序。文獻(xiàn)[11]研究了分布式視頻編碼的相關(guān)理論和關(guān)鍵技術(shù)。文獻(xiàn)[12]進(jìn)一步擴(kuò)展了以前的算法來(lái)處理16×8的塊,從而達(dá)到一個(gè)更高的DRR。文獻(xiàn)[13]提出一種針對(duì)顯示幀緩沖區(qū)的基于字典的壓縮算法,該算法使用一個(gè)緩沖來(lái)存儲(chǔ)之前許多不同的像素作為字典像素以及一個(gè)指針來(lái)指示緩沖地址需要在接下來(lái)進(jìn)行更新。它將每個(gè)輸入的像素和字典像素進(jìn)行比較,如果輸入的像素和其中的一個(gè)字典像素一致,那么算法就會(huì)輸出一個(gè)與之相對(duì)應(yīng)的編碼來(lái)取代輸入像素,否則就同時(shí)輸出編碼和輸入像素,并且將像素存儲(chǔ)在緩存地址中指向的指針。文獻(xiàn)[14]提出一種壓縮算法來(lái)減少現(xiàn)實(shí)設(shè)備的內(nèi)存大小,該算法將圖片中的一行作為基礎(chǔ)單元并且進(jìn)行獨(dú)立處理,采用修改過(guò)的阿達(dá)瑪變換使一行中的像素不相關(guān),并采用一種自適應(yīng)哥倫布-萊斯碼編碼方法(Golomb-Rice)壓縮這些不相關(guān)的系數(shù)。實(shí)驗(yàn)結(jié)果表明,該算法在測(cè)試圖像中DRR平均為36%。文獻(xiàn)[15]重點(diǎn)研究了三維視頻編碼的關(guān)鍵技術(shù)。
對(duì)于上述算法,首先壓縮算法不該降低視頻編碼系統(tǒng)的性能,因此所有之前的算法都是低復(fù)雜度的;其次,因?yàn)榛趬K的算法可以使用二維相鄰信息來(lái)壓縮一個(gè)像素,它們相較于基于行的算法能夠獲得一個(gè)高的DRR,但是視頻設(shè)備是一行一行地展示顯示幀的,采用基于塊的算法處理視頻顯示幀通常會(huì)導(dǎo)致大量的內(nèi)存讀取,因此一種更有效的基于行的無(wú)損壓縮算法是軟件視頻會(huì)議迫切需要的。
2.1概述
主要想法是使用先前像素的空間位置對(duì)空間的局部性來(lái)預(yù)測(cè)當(dāng)前像素,提出的算法結(jié)合了字典編碼、霍夫曼編碼,并提出了兩個(gè)方案:兩級(jí)分類(lèi)(TC)和一個(gè)頭代碼壓縮(HCC)。該算法利用霍夫曼編碼和字典編碼來(lái)實(shí)現(xiàn)更好的壓縮性能。使用一種具有大量字典容量的字典編碼方案,以更多的內(nèi)存空間來(lái)得到更好的壓縮比率,提出了一種自適應(yīng)的前綴截?cái)喾桨竵?lái)減少內(nèi)存空間的使用,但卻沒(méi)有降低壓縮性能。該方案利用了像素的二進(jìn)制表示形式的相同性。
采用了13個(gè)1080P高清軟件視頻序列分析顯示幀的特征,并且根據(jù)分析結(jié)果提出了算法。每個(gè)序列的編碼和解碼都使用H.264/AVC的參考軟件JM11.0[16]。JM11.0的參數(shù)設(shè)置列于表1。
在軟件視頻會(huì)議編碼比特率和失真之間進(jìn)行了折衷。在H.264 / AVC中,使用較小的量化參數(shù)(QP)值導(dǎo)致的以較高的比特速率為代價(jià)的失真,在量化階段由于較少的信息量被舍去,因此,通過(guò)使用更小的QP值的H.264 / AVC解碼器解碼的顯示幀具有更好的視頻質(zhì)量。采用四個(gè)QP值4,16,28,和40來(lái)為不同質(zhì)量的視頻來(lái)分析顯示幀的特征。
表1 測(cè)試序列參數(shù)表
2.2兩級(jí)分類(lèi)方案
所提出的TC方案將所有像素分為三類(lèi),在第一階段,使用兩個(gè)水平方向相鄰像素之間的差異對(duì)像素進(jìn)行分類(lèi)。假設(shè)當(dāng)前的像素是pi其前一個(gè)像素pi-1,如果這兩個(gè)像素差的絕對(duì)值小于或等于一個(gè)“差域(DTH)”,使用字典編碼方案編碼當(dāng)前像素。
在字典編碼中,將Pi-1,Pi-1±1,Pi-1±2,…,Pi-1±DTH存儲(chǔ)進(jìn)字典,并將它們稱(chēng)為字典像素,此外將每個(gè)視頻行上的先前的第一個(gè)像素設(shè)為0,從而為每一行提供隨機(jī)存儲(chǔ)空間,為每個(gè)字典像素提供如CW0,CW+1,CW-1,…,CW+DTH和CW-DTH的碼字。如果Pi和這些碼字中的任何一個(gè)相似,就輸出與其對(duì)應(yīng)的碼字而不是這個(gè)像素,從而達(dá)到壓縮的效果。在該算法中,DTH的6和4表示像素的亮度和色度。
為了給出DTH的值,計(jì)算DIFFi=Pi-Pi-1并得到DIFF下的亮度和色度的分布信息,如圖1(a)和(b)所示。根據(jù)分布情況,亮度像素相比色度像素來(lái)說(shuō)與水平的相鄰像素對(duì)更相似。
圖1 相鄰節(jié)點(diǎn)的亮度和色度差異分布
根據(jù)分布來(lái)計(jì)算采用霍夫曼編碼的各種數(shù)字符號(hào)的DRRhuff。以亮度符號(hào)的數(shù)字4為例,這些具有差異的0,-1,1和剩余的值(+-2,3,…,255)是四種符號(hào),并且它們的概率分別是45.25%,11.57%,11.47%和31.71%。采用霍夫曼編碼方案生成碼字02,1102,1112,102且用于給差異-1,0,1進(jìn)行編碼,如果當(dāng)前的像素Pi等于Pi-1或Pi-1-1或Pi-1+1,僅僅輸出碼字,否則輸出{102,Pi}。最終通過(guò)計(jì)算得到DRRhuff為46.07%。亮度和色度像素的實(shí)驗(yàn)結(jié)果如圖2(a)和(b)所示。
圖2 亮度和色度在不同霍夫曼符號(hào)數(shù)下的DRRhuff
根據(jù)分析結(jié)果,DRRhuff將伴隨符號(hào)的增加以一個(gè)遞減的速度增加,然而一個(gè)大字典將需要更多的內(nèi)存空間。因此應(yīng)先考慮壓縮性能和內(nèi)存使用量之間的權(quán)衡再確定字典大小。根據(jù)圖2,最合適的亮度和色度的符號(hào)像素分別是14和10。因此,分別使用6和4作為像素亮度和色度的DTH。稱(chēng)可用字典編碼對(duì)其進(jìn)行編碼的像素為字典預(yù)測(cè)像素,否則稱(chēng)之為字典丟失像素。在第二階段中,采用一個(gè)稱(chēng)為最長(zhǎng)前綴匹配的參數(shù)對(duì)每一個(gè)字典丟失像素進(jìn)行進(jìn)一步分類(lèi),然后采用提出的APBT方式對(duì)它們進(jìn)行壓縮,最長(zhǎng)前綴匹配是通過(guò)使用二進(jìn)制表示的字典丟失以及利用二進(jìn)制表示水平對(duì)每?jī)蓚€(gè)相鄰像素之間的相似度進(jìn)行壓縮得到的。
當(dāng)前像素Pi的最長(zhǎng)前綴匹配是Y,如果Pi和Pi-1最初的Y位相同,例如,Pi是99(01100011),而Pi-1是108(01101100),那么最長(zhǎng)前綴匹配是4。因?yàn)檫@兩個(gè)像素的最初4位是相同的,采用最長(zhǎng)前綴匹配來(lái)進(jìn)行壓縮,這時(shí)能夠縮短Pi的前4位,這是因?yàn)樗鼈兣cPi-1的前4位相同,只要采用一個(gè)碼字來(lái)表示當(dāng)前像素被截?cái)嗔瞬⑶抑恍栎敵鯬i的余下4位即可。
2.3頭碼壓縮方案
提出頭碼壓縮方案是為了進(jìn)一步壓縮這些碼字,其主要思想是利用軟件視頻會(huì)議中視頻幀的性質(zhì)來(lái)執(zhí)行壓縮,如果影片是靜態(tài)的,連續(xù)像素的值有很大的機(jī)會(huì)完全一樣。另一方面,如果影片是動(dòng)態(tài)的,連續(xù)像素的值就有很大可能是不同的,因此提出了頭碼壓縮方案來(lái)壓縮這些碼字,稱(chēng)每個(gè)碼字的第一位為頭碼并且剩下的位都叫尾碼,頭碼為0或1,用來(lái)表示當(dāng)前像素是否與之前的像素相同,此外,“equal”像素的碼字只包含頭碼。檢查每一個(gè)最佳游程長(zhǎng)度的連續(xù)碼字(BRL),確認(rèn)它們是否包含了全部的二進(jìn)制0或1,如果一個(gè)最佳游程長(zhǎng)度包含了全部的0或1(也可能翻譯為全部由0或1組成),采用{02,S2}對(duì)它們進(jìn)行編碼,第一個(gè)0是一個(gè)標(biāo)志位,表示碼字包含了全部的0或1,而第二個(gè)S根據(jù)BRL碼是包含了全部的0還是1來(lái)分別表示為0和1,否則第一位輸出1,后面輸出原來(lái)的碼字。能夠被壓縮的連續(xù)頭碼數(shù)量與壓縮率存在權(quán)衡,例如,一次同時(shí)檢查四個(gè)連續(xù)碼字比一次檢查八個(gè)連續(xù)碼字有更高的概率實(shí)現(xiàn)包含全部0或1的情況,然而,如果4或8的連續(xù)頭碼包含了全部的0或1,可以把這些碼字壓縮成兩位,從而數(shù)據(jù)分別減少50%和75%,然后計(jì)算每個(gè)N的DRRN:[N-(P0/1×2+Pother×(N+1))]/N×100%。
實(shí)驗(yàn)結(jié)果如圖3所示,對(duì)亮度和色度的像素有著最好的壓縮效果,因此在提出的算法中,亮度和色度像素的BRL分別為6和8。
圖3 亮度和色度像素的不同連續(xù)碼數(shù)量
采用13個(gè)1080P高清視頻序列分析顯示幀的特征,并根據(jù)分析結(jié)果對(duì)文中算法與先前算法[1,12-14]進(jìn)行了對(duì)比,如圖4所示。
通過(guò)所有的樣例序列表明,文中算法在性能上均優(yōu)于其他算法。而且對(duì)于一些靜態(tài)的模糊的1080P高清視頻,文中算法在性能上比其他算法提高了26%。對(duì)于運(yùn)動(dòng)或詳盡的視頻該算法提高了16%。圖4中顯示了DRR和其他算法的QP值,文中算法分別實(shí)現(xiàn)了27.5%,28%,31.5%和33.6%的性能改善。
圖4 仿真性能對(duì)比
針對(duì)軟件視頻會(huì)議中高帶寬下顯示幀的訪問(wèn)引起視頻解碼器性能降低的問(wèn)題,提出了一種高性能的軟件視頻無(wú)損幀壓縮算法,以顯著降低顯示幀的大小。該算法獲得了相鄰每對(duì)像素差的分布和表征每對(duì)像素空間位置的LPM值,結(jié)合字典編碼與霍夫曼編碼,提出了兩種創(chuàng)新編碼方案,將幀的所有像素分為三組,采用對(duì)頭碼壓縮的方法減少碼字的位數(shù),實(shí)現(xiàn)了較高的壓縮比。
[1] Yang H T,Chen J W,Kuo H C,et al.An effective dictionary-based display frame compressor[C]//IEEE/ACM/IFIP workshop on embedded systems for real-time multimedia.[s.l.]:IEEE,2009:28-34.
[2] Kuo H C,Chen J W,Lin Y L.A high-performance low-power H.264/AVC video decoder accelerator for embedded systems[C]//IEEE/ACM/IFIP workshop on embedded systems for real-time multimedia.[s.l.]:IEEE,2009:1-8.
[3] Lee K B,Lin T C,Jen C W.An efficient quality-aware memory controller for multimedia platform SoC[J].IEEE Transactions on Circuits & Systems for Video Technology,2005,15(5):620-633.
[4] Heithecker S, Ernst R. Traffic shaping for an FPGA based SDRAM controller with complex QoS requirements[C]//Proceedings of the 42nd annual design automation conference.[s.l.]:ACM,2005:575-578.
[5] 宋 柳,劉佩林.視頻解碼系統(tǒng)中讀寫(xiě)帶寬壓縮算法設(shè)計(jì)[J].信息技術(shù),2012(4):1-4.
[6] Zhu J,Liu P,Zhou D.An SDRAM controller optimized for high definition video coding application[C]//IEEE international symposium on circuits and systems.[s.l.]:IEEE,2008:3518-3521.
[7] Kim H,Park I C.High-performance and low-power memory-interface architecture for video processing applications[J].IEEE Transactions on Circuits & Systems for Video Technology,2001,11(11):1160-1170.
[8] Zhu J,Hou L,Wu W,et al.High performance synchronous DRAMs controller in H.264 HDTV decoder[C]//7th international conference on solid-state and integrated circuits technology.[s.l.]:IEEE,2004:1621-1624.
[9] Wang T H,Chiu C T.Low power design of high performance memory access architecture for HDTV decoder[C]//2007 IEEE international conference on multimedia and expo.[s.l.]:IEEE,2007:699-702.
[10] 劉賢梅,任 重.H.265視頻編碼器在TMS320C6678上的優(yōu)化實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015,25(3):171-174.
[11] 王尊亮,李學(xué)俊.分布式視頻編碼技術(shù)研究進(jìn)展[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(3):550-554.
[12] Kim J,Kyung C M.A lossless embedded compression using significant bit truncation for HD video coding[J].IEEE Transactions on Circuits & Systems for Video Technology,2010,20(6):848-860.
[13] Lei J,Zou X,Wu Z,et al.Research of an image map encoding algorithm on frame buffer[C]//7th international conference on ASIC.[s.l.]:IEEE,2007:894-897.
[14] Yng T B,Lee B G,Yoo H.A low complexity and lossless frame memory compression for display devices[J].IEEE Transactions on Consumer Electronics,2008,54(3):1453-1458.
[15] 陶思平.三維視頻編碼的關(guān)鍵技術(shù)研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2009.
[16] Dikbas S,Zhai F.Lossless image compression using adjustable fractional line-buffer[J].Signal Processing Image Communication,2010,25(5):345-351.
AHeterogeneousLosslessCompressionAlgorithmforEffectiveFramesBasedonSoftwareVideoConference
XU Zhi-qiang1,YAN Wei-xiong2,XU Qian-hang2,GAO Kai-qiang3
(1.Zhejiang Huayun Information Technology Co.,Ltd.,Hangzhou 310000,China; 2.Xintong Branch of Quzhou Power Supply Company of State Grid,Quzhou 324000,China; 3.College of Communication and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
Software-based video conferencing system is future trend of conference system development and the coding and decoding technology is one of the key technologies in the future development.In software video conferencing,performance of video decoder is usually reduced due to the high bandwidth required.Therefore a simple and efficient lossless compression algorithm based on software video conference display is proposed.It puts forward two kinds of innovation coding methods based on dictionary coding and Huffman coding.Through calculating the distribution of each pair of adjacent pixels difference and space LPM values of every pixels,the compression ratio of the video display frame is increased significantly.On the basis of quantitative analysis on characteristics of video display frames,a two level classification method is presented,by which all of the pixels are divided into three groups and the code digit size is decreased to promote the compression efficiency.Experimental results show that the compression ratio of the proposed algorithm is enhanced by twenty percent compared with previous algorithm.
compression;dictionary coding;software video conference;Hoffman coding
TP301.6
A
1673-629X(2017)10-0087-04
2016-10-27
2017-02-16 < class="emphasis_bold">網(wǎng)絡(luò)出版時(shí)間
時(shí)間:2017-07-11
國(guó)家自然科學(xué)基金資助項(xiàng)目(61302100,61471203);教育部博士點(diǎn)基金資助項(xiàng)目(20133223120002);國(guó)網(wǎng)浙江省電力公司2016年科技項(xiàng)目(No.5211QZ1500HL)
徐志強(qiáng)(1977-),男,高級(jí)工程師,從事電力系統(tǒng)通信專(zhuān)業(yè)技術(shù)和管理工作。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1456.072.html
10.3969/j.issn.1673-629X.2017.10.019
計(jì)算機(jī)技術(shù)與發(fā)展2017年10期