国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

新的可快速切入的H.264/AVC視頻編碼方法

2013-08-13 05:06:24曾嘉亮鐘似玢
電視技術(shù) 2013年5期
關(guān)鍵詞:視頻流碼流編碼器

曾嘉亮,鐘似玢

(1.汕頭職業(yè)技術(shù)學(xué)院機電工程系,廣東 汕頭 515078;2.中山大學(xué)計算機應(yīng)用研究所,廣東 廣州 510006)

在視頻直播、視頻會議等多終端應(yīng)用中,將新加入的觀眾從發(fā)出切入請求,到真正開始收看視頻的時間間隔,稱為切入時間。

在傳統(tǒng)的H.264/AVC[1]多終端視頻系統(tǒng)中,最長切入時間是由圖像組(Group Of Pictures,GOP)的長度決定的。GOP越長,切入時間被延長的概率就增大;而長時間等待勢必嚴(yán)重影響用戶體驗。一個簡單的解決方法為縮短GOP的長度。這樣做可以解決切入時間過長的問題,但與此同時也導(dǎo)致了壓縮效率下降的負面效果。

經(jīng)過進一步研究發(fā)現(xiàn)一個較好的解決方案:利用H.264/AVC 標(biāo)準(zhǔn)所提供的多參考幀機制[1-4],在編碼時令特定的 P 幀(Predictively coded picture[2])成為長期參考幀,并對編碼服務(wù)器進行相應(yīng)設(shè)置,既能解決切入時間過長的問題,又降低了對壓縮效率的影響。

1 傳統(tǒng)視頻系統(tǒng)切入等待的問題及其簡易解決方法

在多終端視頻系統(tǒng)中,由于新加入的觀眾必須在得到一個I(Intra)幀之后,才能正常收看視頻,而通常一個GOP只有第一幀是I幀,因此,傳統(tǒng)編碼方案中,最長切入時間由GOP的長度決定。另一方面,為提高編碼效率,編碼器一般會將GOP的長度設(shè)置盡可能大,這就增加了切入時間延長的概率??梢姡趥鹘y(tǒng)視頻系統(tǒng)中,切入時間和編碼效率是一對矛盾。

1.1 傳統(tǒng)的多客戶端視頻系統(tǒng)的切入等待問題

1.1.1 服務(wù)器編碼發(fā)送碼流S

假設(shè)服務(wù)器端編碼和發(fā)送的視頻流GOP長度為100幀,整個視頻共200幀,則服務(wù)器需要發(fā)送的碼流記為S,如圖1所示。

圖1 碼流S

圖1中,字母I,P表示各幀的編碼類型,下標(biāo)的數(shù)字表示各幀在視頻流中的編碼和顯示順序。I0~P99表示同一GOP中連續(xù)的100幀圖像,各幀上方帶箭頭的線段表示各幀間的參考關(guān)系。其中,I0的編碼預(yù)測模式為幀內(nèi)模式,對它解碼不需參考其他幀;P1~P99的預(yù)測模式為幀間模式,因此每個P幀都被一個箭頭所指,箭頭的源端即該P幀的參考幀。

在碼流S中,各個P幀的默認參考幀都是其前面的一幀。這也是傳統(tǒng)H.264/AVC編碼器的典型編碼方案。

1.1.2 新觀眾

新觀眾是指當(dāng)編碼服務(wù)器已經(jīng)處于編、發(fā)碼流S的狀態(tài)時,才向服務(wù)器請求接收視頻流的客戶端。

由于P幀的解碼必須依賴于本GOP的I幀,因此,在傳統(tǒng)的系統(tǒng)中,無論新觀眾何時發(fā)出切入視頻流的請求,都必須等候S的下一個GOP的I幀到達,才能正確地解碼和顯示視頻流的后繼內(nèi)容。

將新觀眾從服務(wù)器接收的、能正確解碼的視頻流記為碼流N。顯然,N是S的一個子集。由于新觀眾可能隨時發(fā)出切入視頻流的請求,因此不同的新觀眾收到N的情況千差萬別。假設(shè)某個新觀眾在圖1所示碼流S的P3處發(fā)出切入視頻流的請求。由于已經(jīng)錯過了第一個GOP的I幀(I0)的廣播,因此該觀眾所得到的碼流N如圖2所示。

圖2 碼流N

假設(shè)圖1、圖2對應(yīng)的應(yīng)用中幀率為10 f/s(幀/s),則新觀眾從發(fā)出切入請求,到正常收看視頻,需等待將近10 s。

可見,在傳統(tǒng)的視頻系統(tǒng)中,從概率上講,新觀眾的等候時間與GOP的長度有關(guān)——GOP越長,新觀眾等候的時間可能也越長。

1.2 切入等待問題的簡易解決方法

1.2.1 方法概述

針對1.1節(jié)所述問題,一個簡單的解決方法是縮短GOP的長度。即在編碼幀數(shù)相同的情況下,增加輸出碼流中I幀的數(shù)目。

例如,對于1.1節(jié)所述情況,采用此方法解決切入等待問題的一種方案如圖3所示。

圖3 碼流S′

圖3中,碼流S’的GOP長度縮短為20。若沿用1.1.2的假設(shè):新觀眾在碼流S’的P3處發(fā)出切入視頻流的請求。由于S’每隔20幀就有一個I幀,因此該觀眾得到的碼流N’如圖4所示。

圖4 碼流N′

同1.1.2,設(shè)圖3、圖4 對應(yīng)的應(yīng)用幀率為10 f/s,則新觀眾從發(fā)出切入請求,到正常收看視頻,最多只需等待2 s,最長等待時間縮短為圖1、圖2所示情況的20%。換言之,切入速度提高了5倍??梢?,這種方法簡單易行,并且對于縮短切入時間效果顯著。

1.2.2 簡易方法的缺點

上述簡易方法雖然可以有效縮短切入時間,但同時也存在著編碼效率降低的硬傷。下面通過一個對比實驗來說明這一缺點。

該實驗采用開源編碼器對3個測試視頻分別采用前文所述的2種方法進行編碼,為便于表述,下文將1.1節(jié)所述方法記為T1,1.2節(jié)所述方法記為T2。

實驗中,T1和T2的共同設(shè)置如下:

1)3 個編碼對象均為 CIF[3](Common Intermediate Format)格式、200 幀;

2)幀率均為10 f/s;

3)輸出目標(biāo)碼率均設(shè)為100 kbit/s;

T1和T2的編碼設(shè)置只有一點不同,即T1的GOP長度是100,而 T2是20。

實驗結(jié)果記見表1。

表1 T1,T2對比實驗數(shù)據(jù)表

表1 中,Y -PSNR[3](Peak Signal to Noise Ratio)是壓縮圖像亮度分量的峰值信噪比。3組壓縮結(jié)果的YPSNR相差不超過1.36%,說明2種方法壓縮結(jié)果的圖像質(zhì)量基本相同。較之T1,T2雖將切入時間縮短了80%,但其壓縮碼流最多比T1增大了9.62%,即T2的壓縮效率明顯低于T1。

根據(jù)H.264/AVC的技術(shù)原理,同樣的一幀圖像,將其編為I幀的輸出碼流將遠遠大于編為P幀??梢?,導(dǎo)致T2編碼效率明顯低于T1的根本原因是——I幀過于頻密。因此,要解決T2編碼效率低下的問題,關(guān)鍵在于降低I幀的密度。這正是本文提交的方法所解決的問題。

2 一種新的可快速切入的H.264/AVC視頻編碼方法

如前文所述,T2已經(jīng)解決了切入等待的問題,其缺陷在于編碼效率低,根源則是I幀過于密集。

研究發(fā)現(xiàn),利用H.264/AVC標(biāo)準(zhǔn)所提供的多參考幀和內(nèi)存管理控制操作機制,輔以編碼服務(wù)器端的相應(yīng)設(shè)置,就可以用一種特殊的P幀代替T2中的多數(shù)I幀,從而既解決了切入等待問題,又保證了編碼效率。

2.1 相關(guān)術(shù)語

2.1.1 多參考幀

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

對于只含I,P幀的碼流,編碼時只需要一個參考幀隊列 list0[3]。

引入多參考幀機制的本意是提高壓縮效率。但在本文提交的方法中,這一機制被創(chuàng)新性地應(yīng)用,其作用變?yōu)閷⑿掠^眾切入視頻流時所必需的最近的一幀保留在參考幀隊列中,以實現(xiàn)快速切入。

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

內(nèi)存管理控制操作(Memory Management Control Operation,MMCO)是H.264/AVC提供的一組命令集,編碼器通過該命令集來指示解碼器對參考幀隊列進行相應(yīng)操作。

2.2 新方法的編碼思路和步驟

2.2.1 編碼思路

針對T2編碼效率低的問題根源,新方法的主要思路是:將T2中為了減少切入時間而插入的I幀,全部用指定為長期參考幀的P幀來取代。

按照這一思路,圖3所示的碼流可以用新方法重新編碼為圖5所示碼流S″。

圖5 碼流S″

對比圖3和圖5,很容易看出兩種方法的關(guān)鍵區(qū)別:

1)T2為減少切入時間而增加的 I20,I40,…,I180等 I幀,在新方法中被P20,P40,…,P180等P幀所取代。

2)在圖5 中,I0,P20,P40,…,P180被指定為長期參考幀。例如,圖5中I0和P20下方帶箭頭的長線,表明I0為P20的參考幀。這些長期參考幀的作用是幫助新觀眾快速切入視頻流,因此下文將其稱為切入幀。

2.2.2 編碼端實施步驟

圖6、圖7分別說明了利用新方法實現(xiàn)圖5所示碼流S″的過程中,編碼器對參考幀列表list0的控制過程,以及編碼服務(wù)器的輸出緩沖區(qū)數(shù)據(jù)的變化情況。

下面結(jié)合圖6和圖7,給出新編碼方案實現(xiàn)碼流S″的具體步驟[3-5]:

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

2)編碼I0時,使用MMCO指令通知解碼器:I0為長期參考幀,如圖6中(a)所示;并將I0的壓縮碼流存入編碼服務(wù)器的輸出緩沖區(qū),如圖7中(a)所示。

3)編完P(guān)1后,通過MMCO指定其為短期參考幀,推入?yún)⒖紟犃衛(wèi)ist0的位置[0]處,并將I0推入list0的位置[1]處,如圖6中(b)所示;同時將P1存入編碼服務(wù)器的輸出緩沖區(qū),如圖7中(a)所示。

對P2~P19,編碼器重復(fù)P1的步驟,如圖6中(c)所示:新的短期參考幀覆蓋先前位于list0[0]處的短期參考幀,并保持I0的位置list0[1]不動。不過,P2~P19無須放入編碼服務(wù)器的輸出緩沖區(qū)。

4)編碼P20時,指定其參考I0,并設(shè)置P20為長期參考幀,P20編碼完成后,便覆蓋掉I0,存入list0的位置[1],如圖6中(d)和(e)所示;此外,P20也需要存入編碼服務(wù)器的輸出緩沖區(qū),如圖7中(a)所示。

5)對于P21~P39幀,編碼器重復(fù)執(zhí)行步驟3),如圖6中(f)所示。

其余步驟可按上述5步進行類推后得出。

2.2.3 解碼端的切入步驟

仍然用1.1.2節(jié)的假設(shè)進行舉例說明:新觀眾在碼流S″的P3處發(fā)出切入視頻流的請求。

編碼服務(wù)器收到切入請求,就將輸出緩沖區(qū)中的I0和P1發(fā)送給新觀眾,等待下一個切入幀P20到達后,就將壓縮碼流源源不斷地送出,該觀眾得到的碼流N″如圖8所示。

圖8 碼流N″

圖9說明解碼器如何根據(jù)MMCO指令來管理參考幀隊列,正確、快速地進行切入。

圖9 新觀眾的解碼器對參考幀隊列l(wèi)ist0的控制

由上述過程不難理解,圖7將非切入幀P1緩存起來發(fā)送給新觀眾的目的是讓解碼器利用P1將I0推入list0[1]位置。

至此,新方法實現(xiàn)了對任意時刻新觀眾切入請求的快速響應(yīng)。

3 實驗結(jié)果

為便于表述,將第2節(jié)所述新方法記為PP。對開源編碼器按照第2節(jié)所述內(nèi)容進行相應(yīng)修改,實現(xiàn)PP的編碼程序。PP編碼器生成的碼流N″,可以直接用開源解碼器進行正確解碼。本實驗以1.2.2所述實驗為基礎(chǔ)。

T1,T2和PP的共同設(shè)置是:

1)3個編碼對象均為CIF格式、200幀;

2)幀率均為10幀/秒;

3)輸出目標(biāo)碼率均設(shè)為100 kbit/s。

T1,T2和PP三者的不同設(shè)置是:

1)T1的GOP長度是100;

2)T2的GOP長度是20;

3)PP的GOP長度是100,而切入幀的間隔是20。

實驗結(jié)果記見表2。

由圖2、圖4、圖9可知,T2和PP的切入速度都是T1的5倍。

由表2可知:1)圖像質(zhì)量方面:由Y-PSNR數(shù)據(jù)可知三種方法的圖像質(zhì)量基本相同;2)碼流大小方面,PP輸出的碼流比T1不但沒有增加,甚至還減小了,而T2的碼流比T1最多增大了9.62%。

綜上所述,新方法是在保持與T1相同的壓縮效率的情況下,將切入速度提高為T1的5倍。

4 結(jié)論

本文提出一種新的可快速切入H.264/AVC視頻的編碼方法,該方法通過H.264/AVC標(biāo)準(zhǔn)所提供的多參考幀和內(nèi)存管理控制操作等機制得以實現(xiàn)。

表2 PP,T1和T2對比數(shù)據(jù)表

理論分析及實驗結(jié)果表明:現(xiàn)有的H.264/AVC解碼器,不須任何修改,就可直接解碼由新方法生成的碼流;并且新方法在壓縮效率不變的情況下可將切入速度提高5倍以上。

本方法還允許更為深入的靈活設(shè)置。例如,切入幀的間隔可以不固定,任何新觀眾發(fā)出切入請求時,就將當(dāng)時的待編碼幀指定為切入幀,這就允許視頻編碼服務(wù)器即時響應(yīng)新觀眾的請求,使得切入時間趨近于0。

可見,本文所提交的方法以極低的代價實現(xiàn)了視頻編碼服務(wù)器對用戶需求的快速響應(yīng)能力。

[1]Joint Draft ITU-T Rec.H.264 ISO/IEC 14496-10/Amd.3 scalable video coding[EB/OL].[2012-07-14].http://ip.hhi.de/imagecom_G1/savce/downloads/H.264-MPEG4-AVC-Version8-FinalDraft.pdf.

[2]WIEGAND T,SULLIVAN G J,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13(7):560-576.

[3]RICHARDSON I E G.H.264 and MPEG-4 video compression[EB/OL].[2012-07-14].http://ishare.iask.sina.com.cn/f/9982600.html.

[4]RICHARDSON I E G.H.264_MPEG-4 Part 10 white paper[EB/OL].[2012-07-14].http://www.vcodex.com.

[5]鐘似玢,曾嘉亮.一種視頻壓縮方法:中國,200810216851.4[P].2008-10-15.

猜你喜歡
視頻流碼流編碼器
邊緣實時視頻流分析系統(tǒng)配置動態(tài)調(diào)整算法研究
分布式碼流實時監(jiān)控與錄制系統(tǒng)的設(shè)計與實現(xiàn)
數(shù)字電視TS碼流協(xié)議簡要分析
視聽(2021年8期)2021-08-12 10:53:42
基于視頻流傳輸中的擁塞控制研究
基于FPGA的同步機軸角編碼器
基于PRBS檢測的8B/IOB編碼器設(shè)計
美國視頻流市場首現(xiàn)飽和征兆
JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
電子器件(2015年5期)2015-12-29 08:42:24
一種比較ASN.1碼流差異的方法
多總線式光電編碼器的設(shè)計與應(yīng)用
台北县| 四子王旗| 潜江市| 南投市| 彰化市| 怀集县| 哈尔滨市| 聂荣县| 原阳县| 赤城县| 永州市| 盐池县| 淮北市| 新化县| 儋州市| 兴文县| 合江县| 永善县| 安康市| 武川县| 交城县| 普洱| 蒙自县| 滨州市| 临泉县| 清原| 忻州市| 天柱县| 大丰市| 深圳市| 桦甸市| 石嘴山市| 安新县| 即墨市| 区。| 新蔡县| 嘉义市| 民和| 延庆县| 沿河| 扬中市|