• 
    

    
    

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

      H.264/AVC基本檔次編碼器時域可伸縮編碼的實現(xiàn)

      2012-06-07 04:15:04曾嘉亮
      電視技術(shù) 2012年21期
      關(guān)鍵詞:碼流檔次解碼器

      曾嘉亮,張 杰

      (1.汕頭職業(yè)技術(shù)學(xué)院機(jī)電工程系,廣東 汕頭 515078;2.汕頭大學(xué)計算機(jī)科學(xué)系,廣東 汕頭 515063)

      在傳統(tǒng)的視頻傳輸和存儲系統(tǒng)中,視頻數(shù)據(jù)必須具有某種固定的時間和空間分辨力[1-2],以適應(yīng)所處系統(tǒng)的顯示和計算能力。由于現(xiàn)行網(wǎng)絡(luò)的帶寬跨越了一個很大的范圍[3],這種時、空分辨力固定的模式就導(dǎo)致網(wǎng)絡(luò)視頻應(yīng)用的種種問題:高分辨力的視頻在低端設(shè)備上處理不過來,低分辨力視頻在高端設(shè)備上的顯示效果很差;此外,還有錯誤恢復(fù)的方法過于復(fù)雜等等[4]。

      H.264/AVC[5]作為性能卓越的視頻編解碼技術(shù)標(biāo)準(zhǔn),在面對網(wǎng)絡(luò)視頻應(yīng)用時,同樣存在上述問題。為此,JVT(Joint Video Team)提出了稱為可伸縮視頻編碼(Scalable Video Coding,SVC)[6-7]的解決方案。該方案允許應(yīng)用根據(jù)用戶的需要、網(wǎng)絡(luò)的帶寬以及終端的運算能力等指標(biāo),從1個SVC碼流中提取出多個具有不同時間和空間分辨力的碼流,通過不同的網(wǎng)絡(luò)環(huán)境,送到各種終端進(jìn)行解碼播放,從而靈活地適應(yīng)多變的網(wǎng)絡(luò)環(huán)境和用戶需求。

      SVC提供了時域、空域和精度等3方面的可伸縮編碼能力,代表了現(xiàn)代視頻編碼技術(shù)的發(fā)展趨勢。遺憾的是,SVC出現(xiàn)的時間較晚,目前許多視頻應(yīng)用中的H.264/AVC解碼器,大都早在SVC出現(xiàn)之前已經(jīng)投入應(yīng)用,因而無法直接兼容SVC碼流。要對這些解碼器進(jìn)行SVC解碼擴(kuò)展,所需成本無疑是巨大的。

      通過對SVC各種方式[1,6]的詳細(xì)分析發(fā)現(xiàn):至少在時間維度上,可以在H.264/AVC基本檔次(Baseline Profile,BP,)編碼器上實現(xiàn)時域可伸縮編碼。

      這一發(fā)現(xiàn)的意義在于:BP是所有的H.264/AVC解碼器都支持的一個檔次,一旦BP碼流包含時域可伸縮特性,則現(xiàn)有的解碼器不需任何修改,就能夠直接支持這種可伸縮性能。

      1 SVC中基于基本檔次的時域可伸縮方案

      H264/AVC基本檔次支持I幀、P幀以及多參考幀機(jī)制[5,8-9],而文獻(xiàn)[1]所列出的 3 種時域可伸縮編碼方案中,有1種是基于基本檔次編碼器的技術(shù)來實現(xiàn)的。

      1.1 SVC的1種時域可伸縮方案

      先來看看SVC是如何實現(xiàn)這種方案的。如圖1所示。圖1中,I0,P1~P16表示1個圖像組(GoP)中連續(xù)的17幀圖像,各幀上方帶箭頭的線段表示各幀間的參考關(guān)系。其中,I0的編碼預(yù)測模式為幀內(nèi)模式,因此沒有箭頭指向它,表明對它解碼不需參考其他幀;P1~P16的預(yù)測模式為幀間模式,因此每個P幀都被一個箭頭所指,箭頭的源端即該P幀的參考幀,例如,P2的參考幀就是I0。

      圖1 基于基本檔次的時域可伸縮編碼幀間預(yù)測模型

      T0~T3表示時域?qū)蛹?T0為時域基準(zhǔn)層;T1~T3為時域增強層。對于增強層T1~T3的各幀,在解碼時都必須參考其各個低層的幀[1]。

      在SVC模型中,任何終端要想解碼時域可伸縮的視頻流,都必須先得到T0層的圖像。因此,服務(wù)器會先向各終端發(fā)送基準(zhǔn)層的數(shù)據(jù),然后根據(jù)不同終端所處網(wǎng)絡(luò)的帶寬及其該終端的運算能力,來派發(fā)不同數(shù)目的增強層,這樣就實現(xiàn)了同一碼流對不同終端的時域可伸縮性。例如,圖1所示的編碼器輸出碼流,可以有4種不同的時域解碼方式,如圖2所示。

      圖2 圖1所示視頻流的4種不同的時域解碼方式

      1.2 兩項關(guān)鍵技術(shù)

      SVC實現(xiàn)上述時域可伸縮方案,有2項關(guān)鍵技術(shù):

      1)多參考幀機(jī)制

      H.264/AVC的多參考幀機(jī)制,允許待編碼圖像在進(jìn)行幀間預(yù)測編碼時參考多個之前已編碼的圖像。該機(jī)制將參考幀分為長期參考和短期參考兩類:長期參考幀用于預(yù)測其后的多幀圖像,因此需要一直駐留在參考幀隊列中;而短期參考幀最多只能對其后面的5幀進(jìn)行預(yù)測[9],因此在參考幀隊列中停留的時間極短。

      對于只含I,P幀的基本檔次碼流,編碼時只有1個參考幀隊列 list 0[8]。

      引入多參考幀機(jī)制的本意,是通過增加參考幀數(shù)目來提高運動估計的匹配精度,從而提高壓縮效率。

      但是在SVC中,這一機(jī)制被擴(kuò)展應(yīng)用,其作用變成將時域?qū)蛹壉犬?dāng)前幀低的圖像駐留在參考幀隊列中,以實現(xiàn)時域可伸縮編解碼。

      以圖1中的I0為例,由于在解碼P2,P4和P8時都需要參考I0,因此I0必須作為長期參考幀,而P2只用作P3的參考幀,因此是1個典型的短期參考幀,解碼完P(guān)3后,就應(yīng)將P2移出參考幀隊列。

      2)時域?qū)蛹?/p>

      編碼器除了如上所述,負(fù)責(zé)確定各幀是長期還是短期參考幀,以及它們在參考幀隊列中的位置之外,還必須把這些信息通知給解碼器;解碼器依據(jù)此信息,對其參考幀隊列進(jìn)行與編碼器相同的控制動作,以保證編解碼的一致性。

      為了在傳輸參考幀隊列控制信息時盡量減少數(shù)據(jù)量,SVC定義了“時域?qū)蛹墶边@一概念,編碼器只需通知解碼器當(dāng)前幀所屬的時域?qū)蛹?,解碼器即可按照事先約定的步驟對參考幀隊列進(jìn)行操作,從而與編碼器保持一致。

      以圖1中的P8為例,編碼器指定它為T0層,則在傳輸時域?qū)蛹壭畔r,只需傳輸其編號0,解碼器就能恰當(dāng)?shù)剡M(jìn)行參考幀隊列的操作。

      1.3 H.264/AVC 基本檔次的制約

      1.2節(jié)中所述的兩項關(guān)鍵技術(shù),1)屬于H.264/AVC基本檔次解碼器支持的技術(shù);而2)則是SVC新增的擴(kuò)展機(jī)制。

      也就是說,對于2),基本檔次的解碼器無力解釋它,這就制約了上述時域可伸縮方案在H.264/AVC基本檔次中的實現(xiàn)。這一點正是本文所提交的方法要解決的問題。

      2 H.264/AVC基本檔次編碼器域可伸縮編碼的實現(xiàn)

      如前所述,基本檔次編碼器無法實現(xiàn)圖1所示的時域可伸縮性,主要障礙在于:不支持時域?qū)蛹壍木浞?,使編解碼雙方無法通過傳遞時域?qū)蛹墎硗綄⒖紟犃械牟僮鳌?/p>

      實際上,在基本檔次編碼器的句法元素中,存在著時域?qū)蛹壍奶娲穬?nèi)存管理控制操作。

      2.1 內(nèi)存管理控制操作

      內(nèi)存管理控制操作(Memory Management Control Operation,MMCO)是一組命令集,通過這一命令集,包括基本檔次編碼器在內(nèi)的所有H.264/AVC編碼器,就能夠指示解碼器對參考幀隊列進(jìn)行相應(yīng)操作。

      2.2 用內(nèi)存管理控制操作取代時域?qū)蛹?/h3>

      內(nèi)存管理控制操作與時域?qū)蛹?,均是用于同步編解碼雙方對多參考幀隊列的操作。

      二者的區(qū)別在于:使用時域?qū)蛹墪r,僅需傳送其編號,該編號所對應(yīng)的一組操作是編解碼雙方事先約定好的,不需傳輸;而使用內(nèi)存管理控制操作時,編碼器對參考幀隊列每做一個操作,都必須發(fā)送一條對應(yīng)的MMCO命令。

      可見,在實現(xiàn)圖1所示的時域可伸縮編碼方案時,基本檔次編碼器雖然無法直接傳送時域?qū)蛹墸瑓s可以將時域?qū)蛹壐骶幪査鶎?yīng)的操作解析出來,用MMCO命令告知解碼器,從而令解碼器實現(xiàn)時域可伸縮解碼。

      2.3 1個簡化的時域可伸縮編碼示例

      在基本檔次編碼器中使用MMCO命令實現(xiàn)圖1所示的可伸縮編碼方案,是一個繁復(fù)的過程,限于文章篇幅,為便于說明,將該方案簡化為2個時域?qū)蛹?,如圖3所示。

      圖3 H.264/AVC基本檔次編碼器實現(xiàn)時域可伸縮編碼的方法

      其中,BT0,BT1表示用基本檔次編碼器實現(xiàn)的時域?qū)蛹?,BT0對應(yīng)圖2中的T1,而BT1則對應(yīng)圖2的T3,也就是說,圖3所示的碼流有2種不同的時域解碼方式,如圖4所示。

      圖4 圖3所示視頻流的2種不同的時域解碼方式

      下面結(jié)合圖5,給出在基本檔次編碼器中,利用多參考幀和內(nèi)存管理控制操作機(jī)制實現(xiàn)圖3所示碼流編碼方案的詳細(xì)步驟[5,8-9]。

      圖5 2個時域?qū)蛹壍臅r域可伸縮編碼參考幀隊列l(wèi)ist0的管理

      1)編碼前,設(shè)置參考幀數(shù)目為2。

      2)編完I0后,將其long_term_reference_flag標(biāo)志設(shè)為1,以通知解碼器,該幀為長期參考幀,且其長期參考幀索引值為0,如圖5中a所示。

      3)編完P(guān)1后,將其adaptive_ref_pic_marking_mode_flag標(biāo)志均置為0,解碼器收到該標(biāo)志后,將P1設(shè)置為短期參考幀,推入?yún)⒖紟犃衛(wèi)ist 0的位置[0]處;并將I0推入?yún)⒖紟犃衛(wèi)ist 0的位置[1]處,如圖5中b所示。

      對P1后面的所有短期參考幀,編碼器都執(zhí)行步驟3),解碼器就會將當(dāng)前短期參考幀覆蓋掉先前位于list 0[0]處的短期參考幀;并保持I0的位置list 0[1]不動,如圖5中 c,d,f所示。

      4)編完P(guān)4后,將其adaptive_ref_pic_marking_mode_flag標(biāo)志均置為1,以告知解碼器:該幀為長期參考幀;緊跟著發(fā)出如下3個MMCO命令:

      (1)memory_management_control_operation=6,該值非0,表示MMCO指令開始,該值為6是告訴解碼器:后面馬上要給當(dāng)前幀指定1個長期參考幀索引值;

      (2)long_term_frame_idx=0,明確指出P4的長期參考幀索引值與I0相同,均為0,這樣解碼器就會將P4置于list 0[1]處,覆蓋掉 I0;

      (3)memory_management_control_operation=0,該值為0是告知解碼器:MMCO指令結(jié)束了。

      對P4后面的所有長期參考幀,編碼器都執(zhí)行步驟4),以令解碼器將當(dāng)前長期參考幀覆蓋掉先前位于list 0[1]處的長期參考幀,如圖5中e所示。

      其余步驟可按上述4步進(jìn)行類推后得出。

      顯然,將該例加以推廣,只要將參考幀數(shù)目增加到4,并輔以相應(yīng)的MMCO指令,就完全可以在基本檔次的H.264/AVC編碼器中實現(xiàn)圖1所示的時域可伸縮編碼方案。

      3 實驗結(jié)果

      本實驗采用開源的H264/AVC編碼器[10]和解碼器[11]。對編碼器進(jìn)行修改,以實現(xiàn)2.3所述編碼方案。解碼器則不做任何修改。

      3.1 實踐中的一個折中

      修改后的編碼器輸出2個碼流,理論上這2個碼流應(yīng)與圖4一致。但是在實現(xiàn)上需要對碼流BT0做一個折中,如圖6所示。

      圖6 編碼器實際輸出的2種不同的時域?qū)蛹壌a流

      對比圖4和圖6,不難看出:BT1'和BT1完全相同,而BT0'則須比BT0多傳1個P1幀。這樣折中的目的是利用P1幀讓BT0'端的解碼器將I0、P4等長期參考幀推入list 0[1]這個位置。

      3.2 實驗結(jié)果

      對CIF格式的測試視頻文件“foreman.yuv”截取前17幀YUV數(shù)據(jù)進(jìn)行編碼,生成圖6所示碼流BT0'和BT1',然后用解碼器對BT0'和BT1'分別解碼,在解碼輸出的2個數(shù)據(jù)流中截取對應(yīng)于長期參考幀I0,P4,P8,P12,P16的YUV數(shù)據(jù),利用文件對比工具[12]進(jìn)行二進(jìn)制比較,結(jié)果表明,從2個不同時域?qū)蛹壌a流解出的所有長期參考幀的圖像數(shù)據(jù),對比結(jié)果均為“二進(jìn)制相同”[12]。

      另外,使用通用的H.264/AVC碼流播放器[13]對BT0'和BT1'進(jìn)行直接播放,所有圖像均能正常顯示。

      上述結(jié)果表明,對于本文所提交的方案生成的時域可伸縮碼流,解碼器不需做任何修改就可以直接解碼,并且不同時域?qū)蛹壗獯a器解出來的同一時間點上的圖像,內(nèi)容完全一致。

      4 結(jié)論

      本文提出一種在H.264/AVC基本檔次編碼器中實現(xiàn)時域可伸縮編碼的方案,該方案利用H.264/AVC標(biāo)準(zhǔn)所提供的多參考幀和內(nèi)存管理控制操作等機(jī)制,實現(xiàn)了時域可伸縮性。

      理論分析及實驗結(jié)果表明,現(xiàn)有的H.264/AVC解碼器,不需任何修改,就可直接解碼由本方案生成的時域可伸縮碼流。

      本方案允許視頻服務(wù)器根據(jù)用戶需要、網(wǎng)絡(luò)帶寬以及終端運算能力等指標(biāo),從全碼流中提取出多個具有不同時間分辨力的子碼流,送到各種終端進(jìn)行解碼播放;以極低的代價實現(xiàn)了視頻服務(wù)器對多變的網(wǎng)絡(luò)環(huán)境和用戶需求的適應(yīng)能力。

      [1]SCHWARZ H,MARPE D,WIEGAND T.Overview of the scalable video coding extension of the H.264/AVC standard[J].Circuits And Systems For Video Technology,2007,17(9):1103-1120.

      [2]林福宗.多媒體技術(shù)基礎(chǔ)[M].3版.北京:清華大學(xué)出版社,2012.

      [3]鄢欣萌,何小海,曾強宇,等.基于SVC碼流自適應(yīng)機(jī)制的視頻轉(zhuǎn)碼技術(shù)[J].電視技術(shù),2010,34(1):22-25.

      [4]袁濤,樊豐.無線網(wǎng)絡(luò)中基于H.264/SVC的RoI視頻流傳輸[J].電視技術(shù),2011,35(5):29-34.

      [5]ITU-T and ISO/IEC JTC 1,Advanced video coding for generic audiovisual services ITU-T recommendation H.264 and ISO/IEC 14496-10(MPEG4-AVC)[S].2007.

      [6]JVT-T202,Joint scalable video model JSVM-7[S].2006.

      [7]RICHARDSON I E G.H.264 and MPEG-4 video compression[M].UK:John Wiley&Sons Ltd,2003.

      [8]RICHARDSON I E G.H.264_MPEG-4 part 10 white paper[EB/OL].[2012-04-01].http://www.vcodex.com.

      [9]鐘似玢,曾嘉亮.一種視頻壓縮方法:中國,200810216851.4[P/OL].[2012-04-01].http://211.157.104.87:8080/sipo/zljs/hyjs-yx-new.jsp?recid=CN200810216851.4&leixin=fmzl&title=一種視頻壓縮方法 &ipc=H04N7/32(2006.01)I.

      [10]X264 software[EB/OL].[2012-05-01].ftp://ftp.videolan.org/pub/videolan/x264/snapshots.

      [11]FFMPEG software[EB/OL].[2012-04-30].http://ffmpeg.org.

      [12]Beyond compare software[EB/OL].[2012-04-30].http://www.scootersoftware.com.

      [13]Elecard streameye application[EB/OL].[2012-04-30].http://www.elecard.com.

      猜你喜歡
      碼流檔次解碼器
      銀保監(jiān)會發(fā)布《外國銀行分行綜合監(jiān)管評級辦法(試行)》
      科學(xué)解碼器(一)
      分布式碼流實時監(jiān)控與錄制系統(tǒng)的設(shè)計與實現(xiàn)
      數(shù)字電視TS碼流協(xié)議簡要分析
      視聽(2021年8期)2021-08-12 10:53:42
      科學(xué)解碼器(二)
      科學(xué)解碼器(三)
      線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
      閱讀能力在小學(xué)語文教學(xué)中的重要性
      閱讀能力在小學(xué)語文 教學(xué)中的重要性
      教育(2016年29期)2017-02-13 14:52:15
      這個假期你錯過的不是院線片而是這些……
      朝阳区| 特克斯县| 棋牌| 慈利县| 阿图什市| 浦城县| 萍乡市| 横山县| 夏津县| 拉萨市| 双城市| 洪江市| 阿拉善盟| 霍林郭勒市| 蓬溪县| 米林县| 精河县| 沧源| 龙胜| 亚东县| 江川县| 雷山县| 宜州市| 蓬溪县| 尚志市| 漠河县| 新宾| 贞丰县| 汕尾市| 惠安县| 深州市| 永寿县| 蕉岭县| 瑞金市| 云南省| 乐清市| 弥渡县| 专栏| 广丰县| 玉屏| 余干县|