• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      H.264/AVC圖標(biāo)插入轉(zhuǎn)碼算法及軟件實(shí)現(xiàn)

      2012-06-06 08:13:58程相昱段繼忠汪少初
      電視技術(shù) 2012年1期
      關(guān)鍵詞:碼器宏塊轉(zhuǎn)碼

      程相昱,劉 昱,段繼忠,汪少初

      (天津大學(xué) 信息工程學(xué)院,天津 300072)

      H.264/AVC[1]作為新一代視頻壓縮編碼標(biāo)準(zhǔn),由于其高效的壓縮性能和良好的網(wǎng)絡(luò)親和性,在數(shù)字廣播電視領(lǐng)域和互聯(lián)網(wǎng)領(lǐng)域逐步進(jìn)入實(shí)際應(yīng)用。基于視頻轉(zhuǎn)換編碼技術(shù)[2-3]的H.264/AVC圖標(biāo)、字幕插入應(yīng)用將會(huì)有廣泛的應(yīng)用需求。視頻轉(zhuǎn)換編碼的核心思想是通過信息重用在視頻質(zhì)量、碼率和編碼計(jì)算量之間取得平衡。經(jīng)測(cè)算,在H.264/AVC編碼過程中,宏塊模式判斷和幀間運(yùn)動(dòng)估計(jì)占用了75%左右的計(jì)算量。因此,在轉(zhuǎn)碼系統(tǒng)中,編碼端重用解碼獲得的宏塊類型、幀內(nèi)/幀間預(yù)測(cè)模式、運(yùn)動(dòng)矢量、參考幀等編碼參數(shù),可以在保證輸出高質(zhì)量視頻的前提下,大幅度降低計(jì)算量,提高編碼速度。

      文獻(xiàn)[4]系統(tǒng)評(píng)價(jià)了多種轉(zhuǎn)碼架構(gòu)的優(yōu)劣性,根據(jù)轉(zhuǎn)碼需求,本文采用像素域級(jí)聯(lián)轉(zhuǎn)碼架構(gòu)。文獻(xiàn)[5]討論了在MPEG-2碼流中的圖標(biāo)插入算法。文獻(xiàn)[6]提出一種H.264碼流中的圖標(biāo)插入算法,該算法在幀內(nèi)編碼時(shí),對(duì)圖標(biāo)周圍的宏塊采用IPCM編碼的方式以保證無損,但此方案在應(yīng)用中會(huì)造成碼率明顯增大,且不能有效解決幀間編碼由于圖標(biāo)插入而造成的影響。筆者在此基礎(chǔ)上,提出了一種高效、優(yōu)質(zhì),且支持碼流特性全面的H.264/AVC圖標(biāo)插入轉(zhuǎn)換編碼器。

      1 H.264/AVC圖標(biāo)插入關(guān)鍵技術(shù)

      1.1 轉(zhuǎn)碼器架構(gòu)

      轉(zhuǎn)碼器架構(gòu)如圖1所示。

      圖1 轉(zhuǎn)碼器架構(gòu)框圖

      該轉(zhuǎn)碼器架構(gòu)采用像素域的級(jí)聯(lián)轉(zhuǎn)碼器(Cascaded Pixel-Domain Transcoder,CPDT)[4],解碼端將視頻完整解碼到像素域作為編碼端輸入,重新執(zhí)行變換和量化,編碼所需要的宏塊類型、量化參數(shù)、預(yù)測(cè)模式、運(yùn)動(dòng)矢量等參數(shù)從解碼端獲得。重用的語法信息如表1所示。

      表1 重用的語法元素(對(duì)應(yīng)標(biāo)準(zhǔn))

      本文采用了無再損編碼方案,減少二次編碼過程的信息損失,保證轉(zhuǎn)碼得到的碼流具有高圖像質(zhì)量;通過重用輸入碼流的編碼參數(shù),節(jié)省編碼過程中模式判斷和運(yùn)動(dòng)估計(jì)的計(jì)算量,大幅提高編碼速度。

      1.2 無再損H.264編碼

      簡(jiǎn)化的轉(zhuǎn)碼過程如圖2所示。

      圖2 簡(jiǎn)化的轉(zhuǎn)碼過程框圖

      無再損H.264編碼,即第一次編碼的重建圖像和第二次編碼的重建圖像嚴(yán)格一致。文獻(xiàn)[7]提出無再損幀內(nèi)編碼的算法,解決了幀內(nèi)編碼中由于數(shù)據(jù)溢出和整數(shù)運(yùn)算誤差造成的圖像失真問題。

      H.264中引入去塊效應(yīng)濾波,濾波會(huì)修改宏塊邊界以及邊界附近的像素。為保證兩次編碼重構(gòu)圖像一致,筆者在解碼過程中關(guān)閉去塊效應(yīng)濾波,以未濾波的圖像作為編碼端輸入,最大限度地減少了二次編碼過程的信息損失。

      在以未濾波圖像為輸入源的情況下,假設(shè)反變換與反量化均為線性可逆運(yùn)算,則圖2中,從B到G的過程沒有信息損失,兩次編碼的重建圖像嚴(yán)格一致,即為無再損編碼。H.264編解碼中大多數(shù)運(yùn)算為8 bit整數(shù)運(yùn)算,在重構(gòu)過程中可能產(chǎn)生數(shù)據(jù)溢出,H.264標(biāo)準(zhǔn)中規(guī)定了Clip運(yùn)算保證輸出數(shù)據(jù)的有效性。由于整數(shù)運(yùn)算的誤差及數(shù)據(jù)溢出的誤差,嚴(yán)格的無再損無法實(shí)現(xiàn),但實(shí)驗(yàn)結(jié)果表明,在大多數(shù)情況下,該方法可高質(zhì)量恢復(fù)原圖像,部分序列可實(shí)現(xiàn)完全恢復(fù)原圖像。

      1.3 H.264對(duì)幀/場(chǎng)特性的支持

      編碼器大多只實(shí)現(xiàn)標(biāo)準(zhǔn)中的一部分特性而非全部,而在實(shí)際轉(zhuǎn)碼應(yīng)用中,存在一些碼流,含有不被編碼器支持的碼流特性。在這種情況下,解碼參數(shù)直接映射到編碼端,不能被正確編碼。解決此類問題有兩個(gè)方案,一是設(shè)計(jì)合理的算法,選擇其他參數(shù)代替該特性;二是對(duì)于一些常見的而編碼器不支持的碼流特性,完善編碼器,并加入其對(duì)該特性的支持。

      該轉(zhuǎn)碼平臺(tái)選用x264作為編碼器,此編碼器不支持宏塊幀場(chǎng)自適應(yīng)編碼(MacroBlock Adaptive Field Frame,MBAFF),而此特性在碼流中較為常見,因此筆者為x264平臺(tái)加入其對(duì)宏塊幀場(chǎng)自適應(yīng)的支持。

      MBAFF幀編碼最核心的問題是相鄰宏塊、塊地址的推導(dǎo),相鄰像素的加載、相鄰宏塊的幀/場(chǎng)狀態(tài)、CBP(Code Block Pattern)、非零系數(shù)個(gè)數(shù)、運(yùn)動(dòng)矢量等參數(shù)的加載都與此直接相關(guān)。

      MBAFF幀中,直接賦予宏塊幀/場(chǎng)狀態(tài)、宏塊類型等編碼參數(shù)。在P、B幀中,遇到Skip類型的宏塊,會(huì)出現(xiàn)特殊問題。由于Skip類型的宏塊在碼流中只有1個(gè)mb_skip_flag的標(biāo)志位,表征該宏塊幀/場(chǎng)狀態(tài)的語法元素mb_field_decoding_flag的值與該宏塊對(duì)中另一非Skip類型宏塊的值相同,如果1個(gè)宏塊對(duì)中的2個(gè)宏塊均為Skip類型,則該宏塊對(duì)中的每個(gè)宏塊都不存在mb_field_decoding_flag。這時(shí),根據(jù)標(biāo)準(zhǔn),該宏塊對(duì)的mb_field_decoding_flag值將按下列規(guī)則推導(dǎo)出。相應(yīng)程序段為:

      一對(duì)在原始碼流中不全為Skip類型的宏塊對(duì),可能在第二次編碼后,恰好全滿足Skip類型的條件,這是在被賦予的mb_field_decoding_flag值條件下滿足Skip類型的條件。解碼過程中,如果按上述規(guī)則推導(dǎo)出的mb_field_decoding_flag值與當(dāng)前宏塊編碼的真實(shí)mb_field_decoding_flag值不一致時(shí),由于幀/場(chǎng)狀態(tài)錯(cuò)誤,解碼圖像將出現(xiàn)錯(cuò)誤,后續(xù)解碼宏塊也都將解碼錯(cuò)誤。因此,如果一個(gè)宏塊對(duì)中的每個(gè)宏塊的mb_field_decoding_flag都不存在,且該宏塊對(duì)的mb_field_decoding_flag值與按照標(biāo)準(zhǔn)預(yù)測(cè)出的值不一致時(shí),本文將強(qiáng)制把該宏塊對(duì)的底宏塊的類型修正為非Skip類型,且將正確的mb_field_decoding_flag賦予該宏塊,并寫入碼流中,以保證碼流中存在表征該宏塊對(duì)真實(shí)幀/場(chǎng)狀態(tài)的語法信息。

      1.4 圖標(biāo)插入后編碼參數(shù)的優(yōu)化

      根據(jù)插入圖標(biāo)處理對(duì)宏塊編碼參數(shù)造成的影響,可將一幀中的宏塊分為3類,如圖3所示。Ⅰ為圖標(biāo)區(qū)域宏塊,圖像數(shù)據(jù)發(fā)生變化;Ⅱ?yàn)榉菆D標(biāo)區(qū)域的宏塊,自身圖像沒有變化,但幀內(nèi)、幀間預(yù)測(cè)時(shí)參考了圖標(biāo)區(qū)域的圖像;Ⅲ為非圖標(biāo)區(qū)域的宏塊,自身圖像、參考圖像都沒有變化。

      圖3 受圖標(biāo)插入影響不同的幾類宏塊示意圖

      對(duì)應(yīng)上述不同類型的宏塊,編碼參數(shù)的優(yōu)化采取不同方案。

      Ⅰ、Ⅱ類宏塊,由于圖像數(shù)據(jù)或參考圖像數(shù)據(jù)的變化,其宏塊類型、預(yù)測(cè)模式、運(yùn)動(dòng)矢量等參數(shù)已非最優(yōu),如果把這些參數(shù)編入碼流,將會(huì)導(dǎo)致圖像質(zhì)量惡化、碼率增加。因此,這兩類宏塊須重新做模式判斷和運(yùn)動(dòng)估計(jì),以得到最優(yōu)的編碼參數(shù)。

      Ⅲ類宏塊,自身圖像和參考圖像都沒有變化,直接用原碼流的參數(shù),可大幅度提高編碼速度。

      在Ⅲ類宏塊中,幀間的Skip類型宏塊必須同時(shí)滿足運(yùn)動(dòng)矢量殘差為0和像素殘差為0;由于圖標(biāo)插入處理,相鄰宏塊的運(yùn)動(dòng)矢量可能發(fā)生變化,導(dǎo)致當(dāng)前宏塊運(yùn)動(dòng)矢量殘差不再為0,同時(shí),由于二次編碼中,變換、量化中整數(shù)運(yùn)算造成的舍入誤差和數(shù)據(jù)溢出的誤差,像素殘差也可能不再為0。因此,Skip類型宏塊需要判斷是否滿足Skip條件,做出調(diào)整,規(guī)則(程序段)如下:

      2 實(shí)驗(yàn)結(jié)果及性能比較

      本文使用H.264碼流作為測(cè)試輸入,序列采用walk、crew、ice、soccer、city,格式為 720 ×756,GOP 長(zhǎng)度為 15,幀結(jié)構(gòu)為“I-B-B-P-B-B-P”,I,P,B 幀 QP 分別為25,28,30,疊加的圖標(biāo)尺寸為160×60。運(yùn)行平臺(tái)為Pentium(R)4,CPU 3.00 GHz,Windows XP。

      實(shí)驗(yàn)分別采用本文提出的轉(zhuǎn)碼算法,和完整解碼到像素域用JM重新編碼兩種方案,進(jìn)行圖標(biāo)插入的轉(zhuǎn)換編碼測(cè)試,每個(gè)序列編碼298幀,將輸入H.264碼流解碼到像素域,疊加圖標(biāo),作為基準(zhǔn)參考圖像,比較兩種方案得到碼流的PSNR、碼率以及各自的編碼時(shí)間。walk序列轉(zhuǎn)碼前、后碼流第一幀的解碼圖像如圖4所示。

      圖4 walk序列轉(zhuǎn)碼前后碼流第一幀的解碼圖像

      如圖4所示,轉(zhuǎn)碼后,在主觀上,人眼幾乎察覺不到圖像變化;客觀上,非圖標(biāo)區(qū)域宏塊參數(shù)保持不變,最大限度地保持了輸入碼流的圖像質(zhì)量。

      該設(shè)計(jì)的轉(zhuǎn)碼器,編碼端采用開源代碼自由軟件庫x264,x264是通用計(jì)算平臺(tái)上較為快速的H.264編碼器。作為官方標(biāo)準(zhǔn)的編解碼模型,JM[8]注重全面實(shí)現(xiàn)H.264標(biāo)準(zhǔn)中定義的編解碼工具,而不注重編碼速度。因此,為了公平評(píng)價(jià)實(shí)驗(yàn)結(jié)果,本文只與JM編碼得到的碼流比較PSNR、碼率的變化,不比較編碼速度。為了體現(xiàn)轉(zhuǎn)碼器速度上的優(yōu)勢(shì),以解碼到像素域并疊加圖標(biāo)的YUV數(shù)據(jù)作為輸入,用x264編碼器重新編碼,記錄編碼時(shí)間,與轉(zhuǎn)碼器運(yùn)行實(shí)際時(shí)間進(jìn)行對(duì)比。

      表2列出了圖標(biāo)插入的情況下,分別采用本文設(shè)計(jì)的轉(zhuǎn)碼器和全解全編(JM編碼)轉(zhuǎn)碼后碼流的PSNR、兩種方案得到碼流碼率與原始輸入碼流碼率相比變化的百分比,以及x264編碼器重新編碼時(shí)間和轉(zhuǎn)碼器運(yùn)行時(shí)間。

      表2 圖標(biāo)插入的轉(zhuǎn)換編碼PSNR、碼率和編碼時(shí)間的比較

      實(shí)驗(yàn)結(jié)果表明,轉(zhuǎn)碼前后,碼率波動(dòng)幅度較小;在保持碼率穩(wěn)定的情況下,與JM相比,可以獲得具有較高PSNR值的碼流。表2的運(yùn)行時(shí)間數(shù)據(jù)表明,轉(zhuǎn)碼運(yùn)行的時(shí)間受碼率大小影響明顯,表明大部分計(jì)算量被用于熵編碼過程,即用于模式判斷計(jì)算量的優(yōu)化已趨近極限。多種序列的測(cè)試結(jié)果表明,本文提出的H.264/AVC圖標(biāo)插入架構(gòu)可高效、優(yōu)質(zhì)地實(shí)現(xiàn)標(biāo)清H.264碼流中的圖標(biāo)插入應(yīng)用。

      3 結(jié)束語

      本文實(shí)現(xiàn)了一種基于x264編碼平臺(tái)的像素域級(jí)聯(lián)轉(zhuǎn)碼器,高效、優(yōu)質(zhì)地實(shí)現(xiàn)在H.264碼流中實(shí)時(shí)插入圖標(biāo)的需求,支持大多數(shù)碼流特性,可用于實(shí)用產(chǎn)品。與H.264標(biāo)準(zhǔn)編碼器JM和開源的x264相比,本文無論在編碼速度上,還是圖像質(zhì)量上,均具有明顯優(yōu)勢(shì)。

      [1] ITU-T Recommendations H.264-ISO/IEC 14496-10,Advanced video coding for generic audiovisual services[S].2005.

      [2]李桂苓,王立.轉(zhuǎn)換編碼技術(shù)述評(píng)[J].電視技術(shù),2007,31(7):18-20.

      [3]殷國(guó)炯,薛永林.MPEG-2到H.264轉(zhuǎn)碼的快速模式選擇算法[J].電視技術(shù),2010,34(1):26-29.

      [4] XIN J,LIN C,SUN M.Digital video transcoding[J].Proceedings of the IEEE,2005,93(1):84-97.

      [5] LIU Yu,LI Guiling,TANG Qiang,et al.DCT domain logo insertion of MPEG2 transcoding[C]//Proc.IEEE CCECE 2003.[S.l.]:IEEE Press,2003:1219-1222.

      [6] XU Di,NASIOPOULOS P.Logo insertion transcoding for H.264/AVC compressed video[C]//Proc.the 16th IEEE ICIP 2009.[S.l.]:IEEE Press,2009:3693-3696.

      [7]董鵬宇,林濤.基于H.264的無再損幀內(nèi)編碼[J].電子與信息學(xué)報(bào),2010,32(1):848-851.

      [8] Joint Video Team.JVT reference software version 12.4[EB/OL].[2011-07-22].http://iphome.hhi.de/suehring/tml/.

      猜你喜歡
      碼器宏塊轉(zhuǎn)碼
      移動(dòng)云盤在線轉(zhuǎn)碼功能技術(shù)研究
      磁吸式掃碼器固定調(diào)節(jié)裝置的研究
      五金科技(2023年5期)2023-11-02 01:50:06
      對(duì)于多位置條煙條形碼統(tǒng)一檢測(cè)的應(yīng)用研究
      視頻轉(zhuǎn)碼技術(shù)在廣播電視中的應(yīng)用研究
      締客世界(2020年1期)2020-12-12 18:18:28
      基于IPTV點(diǎn)播業(yè)務(wù)的視頻分段式轉(zhuǎn)碼方案的研究與應(yīng)用
      傳播力研究(2018年7期)2018-05-10 09:42:47
      基于Hadoop 的分布式視頻轉(zhuǎn)碼方案
      基于選擇特征宏塊的快速視頻穩(wěn)像
      康耐視 DataMan?8050系列手持式讀碼器
      讀碼器DATAMAN 50L
      基于宏塊合并的H.264模式選擇算法
      吴桥县| 永川市| 京山县| 手机| 曲阳县| 潮安县| 莒南县| 扬州市| 孙吴县| 黔东| 苍溪县| 招远市| 调兵山市| 古蔺县| 广东省| 普陀区| 娄底市| 安平县| 静乐县| 沂南县| 凤山县| 灵丘县| 崇明县| 南漳县| 湘阴县| 苏州市| 资源县| 盐池县| 万荣县| 冕宁县| 鄱阳县| 福贡县| 广州市| 乌审旗| 云梦县| 黎平县| 井研县| 松溪县| 大渡口区| 和龙市| 泽普县|