欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于碼流比特數(shù)與塊劃分映射的H.265快速轉(zhuǎn)碼方法與流程

文檔序號:12279698閱讀:527來源:國知局
基于碼流比特數(shù)與塊劃分映射的H.265快速轉(zhuǎn)碼方法與流程

本發(fā)明涉及視頻圖像編碼技術(shù),特別涉及H.265快速視頻轉(zhuǎn)碼技術(shù)。



背景技術(shù):

面向新一代視頻編解碼標(biāo)準(zhǔn)H.265的轉(zhuǎn)碼應(yīng)用,先將碼流解碼成為YUV、Y4M等格式作為信源輸入,再用H.265編碼器進(jìn)行編碼,這被稱為全解全編方式。

H.265視頻轉(zhuǎn)碼分兩種類型:一是同構(gòu)視頻流轉(zhuǎn)碼,二是異構(gòu)視頻流轉(zhuǎn)碼。同構(gòu)視頻轉(zhuǎn)碼即按相同視頻編碼標(biāo)準(zhǔn)壓縮的碼流間轉(zhuǎn)換,而異構(gòu)轉(zhuǎn)碼則是按照不同視頻編碼標(biāo)準(zhǔn)壓縮的碼流間轉(zhuǎn)換。

H.265中采用分塊編碼方式。與前幾代編碼器不同的是,H.265編碼標(biāo)準(zhǔn)中采用更加靈活的基于自適應(yīng)四叉樹結(jié)構(gòu)的編碼樹單元CTU(Coding Tree Unit)。CTU可以按照四叉樹的結(jié)構(gòu)分解為若干個正方形的編碼單元CU(Coding Unit),同一層的四個CU必須是同樣的尺寸。CU的尺寸的可以取值為8×8,16×16,32×32,64×64。如果CTU不分解,CTU僅包含一個CU。因此一個CTU最多有4層,至少有1層。H.265規(guī)定在CTU中最頂層的CU尺寸為64×64,這個最頂層的CU也被稱作最大編碼單元LCU(Largest Coding Unit)。不失一般性,用四叉樹對正方形塊的劃分進(jìn)行描述。

CTU具有三條性質(zhì):

(1)在CTU中任意一個結(jié)點(diǎn)有且僅有4個或0個孩子結(jié)點(diǎn);

(2)任意結(jié)點(diǎn)有且僅有一個父節(jié)點(diǎn),可以根據(jù)孩子結(jié)點(diǎn)找到其父節(jié)點(diǎn)(第0層的根結(jié)點(diǎn)除外);

(3)同一父節(jié)點(diǎn)的四個兄弟結(jié)點(diǎn)已知一個必能推出其余兄弟結(jié)點(diǎn)。

全解全編方式最易于實(shí)現(xiàn)且能在率失真、比特率、主觀質(zhì)量等方面保有良好的表現(xiàn)。但是全解全編方式實(shí)施過程極其耗時,特別轉(zhuǎn)碼過程中由于未知的塊劃分,需要遍歷各類情況或者大量選取分塊情況,在實(shí)際生產(chǎn)應(yīng)用中往往不可取。因而視頻快速轉(zhuǎn)碼方法具有非常強(qiáng)的現(xiàn)實(shí)急迫性。

另外,不同時期和不同設(shè)備進(jìn)行采集和壓縮視頻時,采用的視頻編碼格式各有不同,導(dǎo)致信源輸入的碼流格式多樣。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是,提供一種能夠充分利用輸入的碼流中的信息來指導(dǎo)H.265編碼以達(dá)到快速進(jìn)行H.265換碼的方法。

本發(fā)明為解決上述技術(shù)問題所采用技術(shù)方案是,基于碼流比特數(shù)與塊劃分映射的H.265快速轉(zhuǎn)碼方法,包括以下步驟:

第一步,根據(jù)輸入的源碼流的信息選擇解碼器對源碼流解碼,根據(jù)解碼后信息對應(yīng)生成YUV序列,并統(tǒng)計(jì)源碼流中各編碼單元CU的比特數(shù)Bit、量化參數(shù)QP和編碼類型;

第二步,判斷源碼流的編碼類型是否為H.265,如是,直接進(jìn)入第三步,如否,根據(jù)Bit和QP實(shí)現(xiàn)到H.265的比特數(shù)映射后,再進(jìn)入步驟三;

R265|QP=a1·Rother2|QP+a2·Rother|QP+a3

其中,R265|QP表示當(dāng)前QP下的H.265碼流中一個CU的比特數(shù),Rother|QP表示在指定QP下采用H.265之外編碼標(biāo)準(zhǔn)的編碼的碼流中對應(yīng)CU的比特數(shù),a1,a2,a3是三個經(jīng)驗(yàn)參數(shù);

第三步,將解碼生成的YUV序列第0幀用H.265編碼器I模式編碼,第1幀使用H.265編碼器P模式編碼,對其余幀先預(yù)測分塊再進(jìn)行H.265編碼;

其中,預(yù)測分塊的步驟如下:

1)從源碼流中每一幀中獲取每一個8×8的CU的比特數(shù)以及歸一化比特數(shù)、8×8的CU的比特數(shù)的最大值與最小值;從源碼流中獲取每一幀使用的總比特數(shù);

2)從目標(biāo)碼流中每一幀中獲取每一個8×8的CU的比特數(shù)歸一化比特數(shù)、8×8的CU的比特數(shù)的最大值與最小值、8×8的CU的比特數(shù)歸一化比特數(shù)最小值;從目標(biāo)碼流中獲取每一幀使用的總比特數(shù);

求比例系數(shù)k:

其中,表示目標(biāo)碼流t幀的總比特數(shù),表示源碼流t幀的總比特數(shù),表示目標(biāo)碼流t幀中8×8的CU最大比特數(shù),表示目標(biāo)碼流t幀中8×8的CU最小比特數(shù),表示源碼流t幀中8×8的CU最大比特數(shù),表示源碼流t幀8×8的CU最小比特數(shù);

3)求每一個8×8的CU的分布情況,當(dāng)滿足以下條件的8×8的CU必在目標(biāo)碼流中出現(xiàn):

其中表示目標(biāo)碼流中第t幀第p個CTU中8×8的CU的歸一化比特數(shù)的最小值;表示源碼流中第t幀第p個CTU中8×8的CU的歸一化比特數(shù);

4)根據(jù)每一個8×8的CU的分布情況預(yù)測出除第0幀和第1幀外剩下的目標(biāo)碼流中必須出現(xiàn)的8×8的CU;

5)目標(biāo)碼流CTU分塊預(yù)測。根據(jù)已求得必定出現(xiàn)在目標(biāo)碼流中的8×8的CU,依次推出全部的8×8的CU、16×16的CU、32×32的CU、64×64的CU,從而構(gòu)建出一個完整的CTU;

6)根據(jù)已知的CTU分塊情況對當(dāng)前幀進(jìn)行H.265編碼。

本發(fā)明的有益效果是,充分利用輸入的碼流中的信息來指導(dǎo)H.265編碼,降低塊劃分和模式選擇的運(yùn)算量,以大量縮短轉(zhuǎn)碼時間,同時也保證轉(zhuǎn)碼后視頻的主客觀視覺質(zhì)量。本發(fā)明碼流格式并不局限于H.265同構(gòu)轉(zhuǎn)碼,技術(shù)將支持H.264/AVC或H.263++,甚至是更早的MPGE各代標(biāo)準(zhǔn)的異構(gòu)轉(zhuǎn)碼。

附圖說明

圖1為本發(fā)明H.265視頻轉(zhuǎn)碼架構(gòu);

圖2為本發(fā)明CTU分塊策略;

圖3為本發(fā)明CTU構(gòu)建過程;

圖4為實(shí)施例周期內(nèi)各幀編碼方式分布規(guī)則。

具體實(shí)施方式:

本發(fā)明所述視頻轉(zhuǎn)碼主要分為五個主要步驟:

第一步,解碼及轉(zhuǎn)碼前處理過程。解碼輸入碼流生成YUV序列并統(tǒng)計(jì)每一幀的每一個CU使用的比特數(shù)。分析輸入源碼流的頭信息確定該碼流采用的編碼標(biāo)準(zhǔn)。如果是H.265標(biāo)準(zhǔn),直接進(jìn)入第二步。如果是其它標(biāo)準(zhǔn),如H.264/AVC,H.263++,MPEG-x等,甚至是未來的基于分塊方式管理的編碼標(biāo)準(zhǔn),則需要完成該標(biāo)準(zhǔn)到H.265的比特數(shù)映射。用式(1)描述CU的比特數(shù)映射關(guān)系。

R265|QP=a1·Rother2|QP+a2·Rother|QP+a3 (1)

其中,R265|QP表示當(dāng)前QP下的H.265碼流中一個CU的比特數(shù),Rother|QP表示在指定QP下采用H.265之外編碼標(biāo)準(zhǔn)的編碼的碼流中對應(yīng)CU的比特數(shù),a1,a2,a3是三個經(jīng)驗(yàn)參數(shù)。總之,通過式(1)可完成異構(gòu)情況比特數(shù)映射。即實(shí)現(xiàn)其他編碼標(biāo)準(zhǔn)到H.265標(biāo)準(zhǔn)CU的比特數(shù)轉(zhuǎn)換。

第二步,比特數(shù)信息收集與處理。目標(biāo)碼流比特數(shù)的歸一化和幀總比特數(shù)統(tǒng)計(jì)。將YUV序列的前兩幀用H.265編碼器編碼。第0幀用I模式編碼,第1幀使用P模式編碼。統(tǒng)計(jì)第t幀及幀內(nèi)每個CU編碼使用的比特數(shù),然后對第t幀中8×8的CU進(jìn)行歸一化處理。統(tǒng)計(jì)該幀使用總比特數(shù)。源碼流比特數(shù)的歸一化處理和幀總比特數(shù)統(tǒng)計(jì)。即將第一步各幀中8×8的CU使用比特數(shù)進(jìn)行歸一化處理。歸一化處理過程如式(2)所示。

統(tǒng)計(jì)碼流中各幀使用的總比特數(shù),如式(3)所示。

w表示每一行中N×N的CU的個數(shù)W表示視頻的寬,H表示視頻的高,N表示每個LCU的尺寸大??;h表示每一列中N×N的CU的個數(shù)為上取整運(yùn)算;在式(2)中,p表示視頻幀內(nèi)CTU的編號,0≤p≤w×h-1;4·i表示CTU內(nèi)的編號,i=0,1,2,…,(N/8)2-1;B(t,p,4·i)表示第t幀第p塊第4·i號8×8的CU塊的比特數(shù);Bmax(t)表示t這一幀8×8的CU塊比特數(shù)的最大值,Bmin(t)表示在第t幀中CU(8×8)塊比特數(shù)的最小值;在式(3)中,B*(t,p,4·i)表示第t幀第p塊第4·i號所有尺寸CU的比特數(shù),所有的CU塊包含了16x16,32x32,64x64,BF(t)表示第t幀的總比特數(shù)。

第三步:8×8的CU預(yù)測。根據(jù)第二步處理得到的CU(8×8)塊的歸一化比特數(shù)來預(yù)測目標(biāo)碼流中該CU(8×8)塊存在與否。在同構(gòu)轉(zhuǎn)碼情況下,不同QP下碼流在比特方面存在線性關(guān)系。即輸入碼流中8×8的CU歸一化比特數(shù)與該分塊在目標(biāo)碼流中的8×8的CU歸一化比特數(shù)存在正比例關(guān)系,如式(4)所示。

式(4)變形為式(5)。

其中表示源碼流中第t幀中第p個CTU中編號為4·i的8×8的CU的歸一化比特數(shù),表示目標(biāo)碼流中第t幀中第p個CTU中編號為4·i的8×8的CU的歸一化比特數(shù),k表示與之間的比值關(guān)系。因此有

其中表示目標(biāo)碼流中第t幀中CU塊比特數(shù)歸一化處理后的最小非零值。因此,當(dāng)源碼流中每一個8×8的CU歸一化比特數(shù)大于或等于目標(biāo)碼流中最小的非零8×8的CU歸一化比特數(shù)的k倍時,該8×8的CU必在目標(biāo)碼流中出現(xiàn)。根據(jù)式(2)和式(4)推導(dǎo)有

得出比例系數(shù)k由式(8)決定。

其中,表示目標(biāo)碼流第t幀p塊4·i號8×8的CU比特數(shù),表示源碼流第t幀p塊4·i號8×8CU的比特數(shù),表示目標(biāo)碼流t幀的總比特數(shù),表示源碼流t幀的總比特數(shù),表示目標(biāo)碼流t幀中8×8的CU最大比特數(shù),表示目標(biāo)碼流t幀中8×8的CU最小比特數(shù),表示源碼流t幀中8×8的CU最大比特數(shù),表示源碼流t幀8×8的CU最小比特數(shù),為源碼流與目標(biāo)碼流的在t幀中各塊歸一化比特比值的均值。

根據(jù)式(2),式(6)和式(8)可預(yù)測除第0幀和第1幀外剩下的目標(biāo)碼流中必須出現(xiàn)的8×8的CU。第三步中的目標(biāo)碼流比特信息都是第二步中YUV序列第1幀編碼后的比特信息。即根據(jù)YUV序列第1幀的碼流求出k,然后用于后面所有幀的8×8的CU預(yù)測。

第四步,目標(biāo)碼流CTU分塊預(yù)測。第三步中確定了部分8×8的CU,先根據(jù)CTU的性質(zhì)(3)推出全部的8×8的CU分塊;再根據(jù)CTU的性質(zhì)(2)推出部分16×16的CU;然后根據(jù)CTU的性質(zhì)(3)和(2)推出32×32的CU;最后根據(jù)CTU的性質(zhì)(3)和(2)推出64×64的CU。所以可從8×8的CU的片段信息構(gòu)建出一個完整的CTU。如果沒有8×8的CU則CTU只包含一個64×64的大的CU。因此能預(yù)測一個完整的CTU,從而實(shí)現(xiàn)對整個幀的分塊情況的預(yù)測。最后完整對后面所有幀的分塊情況的預(yù)測。

進(jìn)一步的,在H.265的編碼器中按預(yù)測的分塊情況進(jìn)行編碼,從而少了編碼器對分塊情況的探索,節(jié)省編碼時間。但隨著時域的增長,YUV序列在時域上的相關(guān)性逐漸減弱。為了獲得好的轉(zhuǎn)碼質(zhì)量,本發(fā)明提供一種周期性轉(zhuǎn)碼方案:

可對解碼序列進(jìn)行周期性插入P幀直接編碼,以期更新比例系數(shù)k。設(shè)編碼周期為ω,即每個周期內(nèi)有ω幀。將周期內(nèi)的第0幀使用I模式進(jìn)行編碼,第1幀的使用P模式編碼,對第2幀到第ω-1幀先預(yù)測分塊再編碼。

當(dāng)然,為了進(jìn)一步獲取好的轉(zhuǎn)碼質(zhì)量,可在周期內(nèi)第2幀到第ω-1幀選出部分幀直接使用H.265編碼器編碼來更新比值系數(shù)k和最小歸一化比特采用的策略:當(dāng)幀號tmodω=4n時直接使用H.265編碼器編碼,其他的幀則先預(yù)測分塊再編碼,其中mod表示取余,為下取整運(yùn)算。

實(shí)施例

圖1所示意,快速轉(zhuǎn)碼包括:

101:輸入信息碼流。

102:根據(jù)輸入碼流的信息選擇MPGE-x系列解碼器將輸入的碼流解碼,生成對應(yīng)的YUV文件輸入YUV緩沖區(qū)。同時統(tǒng)計(jì)每一個編碼單元的Bit、QP、CTU、編碼標(biāo)準(zhǔn)EncodeType等信息信息;

103:據(jù)輸入碼流的信息選擇H.264解碼器將輸入的碼流解碼,生成對應(yīng)的YUV文件輸入YUV緩沖區(qū)。同時統(tǒng)計(jì)每一個編碼單元的Bit、QP、CTU、編碼類型EncodeType等;

104:據(jù)輸入碼流的信息選擇H.265解碼器將輸入的碼流解碼,生成對應(yīng)的YUV文件輸入YUV緩沖區(qū)。同時統(tǒng)計(jì)每一個編碼單元的Bit、QP、CTU、編碼標(biāo)準(zhǔn)EncodeType等;

105:接收并記錄解碼器輸出的每一個編碼單元的Bit、QP、CTU、EncodeType編碼標(biāo)準(zhǔn)等;

106:接收并保存解碼器生成的YUV序列;

107:根據(jù)步驟105中的EncodeType進(jìn)行判斷,如果EncodeType是H.265則直接跳至步驟108,如果不是則需要等將Bit、QP信息帶入式(1)進(jìn)行數(shù)據(jù)的預(yù)處理實(shí)現(xiàn)Bit映射;

108:根據(jù)步驟107的數(shù)據(jù)預(yù)處理的結(jié)果,利用CTU的三條性質(zhì)實(shí)現(xiàn)CTU分塊;

109:通過CTU分塊信息指導(dǎo)編碼器對YUV進(jìn)行快速編碼,得到最終目標(biāo)碼流。

其中步驟107所述的根據(jù)Bit、QP、CTU的統(tǒng)計(jì)信息預(yù)測H.265的CTU分塊信息的流程圖如圖2所示,具體步驟如下:

201:輸入源碼流。

202:從源碼流中獲取每一個8×8的CU的比特數(shù)并計(jì)算其歸一化比特數(shù)和每一幀中歸一化比特的最值;

203:從源碼流中獲取每一幀使用的總比特數(shù);

204:輸入目標(biāo)碼流。

205:從目標(biāo)碼流中獲取每一個8×8的CU的比特數(shù)并計(jì)算其歸一化比特數(shù)和每一幀中歸一化比特的最值;

206:從目標(biāo)碼流中獲取每一幀使用的總比特數(shù);

207:將步驟203,206,202及205的數(shù)據(jù)帶入式(8)便可求出相關(guān)比例系數(shù)k;

208:將步驟202、205的歸一化比特值及最值以及步驟207的系數(shù)k帶入式(6)方可得到每一個8×8的CU的分布情況;

209:根據(jù)8×8的CU的分布情況,構(gòu)建出一個完整CTU分塊樹。

在圖2中步驟209描述了根據(jù)8×8的CU構(gòu)建一個CTU樹,圖3給出其詳盡的步驟。

圖3所描述的是一個CTU的構(gòu)建過程。具體步驟如下:

301:如果不存在8×8的CU,直接跳至步驟304,否則檢查該CU在四叉樹中的其他兄弟結(jié)點(diǎn)是否全部存在。如有不存在的兄弟結(jié)點(diǎn)將其補(bǔ)上,跳至步驟302;

302:創(chuàng)建16×16的CU結(jié)點(diǎn),檢查并補(bǔ)齊其兄弟結(jié)點(diǎn),跳至步驟303;

303:創(chuàng)建32×32的CU結(jié)點(diǎn),檢查并補(bǔ)齊其兄弟結(jié)點(diǎn),跳至步驟304;

304:創(chuàng)建64×64的CU結(jié)點(diǎn);

在圖1所表述的轉(zhuǎn)碼基本流程中,步驟104為使用H.265編碼器對解碼序列編碼。為保證轉(zhuǎn)碼質(zhì)量,需要分周期編碼且每個周期內(nèi)的第0幀必用H.265編碼器直接編碼。為獲取快速轉(zhuǎn)碼過程中使用的相關(guān)系數(shù)k和最小歸一化比特數(shù),需要編碼器對第1幀直接編碼。隨著時間的不斷向后推移,視頻的相關(guān)性不斷衰減。需要在適當(dāng)?shù)奈恢貌迦胄碌膸孒.265編碼器編碼,來更新相關(guān)系數(shù)k和最小歸一化比特數(shù)。

圖4所描述的是本實(shí)施例給出的策略。其中有陰影的部分為H.265直接編碼的幀序號,無陰影的幀為快速編碼的部分。給定的編碼周期為T=32,按30fps的幀率播放視頻,也就是大約1秒更新一個周期。

表1和表2給出本發(fā)明方法在同構(gòu)和異構(gòu)兩種情況下的轉(zhuǎn)碼測試性能。測試采用x265v1.4作為軟件平臺,QP值鎖定為22,進(jìn)行IPP..PP結(jié)構(gòu)進(jìn)行編碼。測試序列選用HEVC標(biāo)準(zhǔn)組定義的9個不同分辨率的序列。

下表給出了異構(gòu)轉(zhuǎn)碼(H.264碼流到H.265碼流)的測試結(jié)果。

先將原始YUV序列用x264進(jìn)行編碼生成H.264的碼流,接著用H.264標(biāo)準(zhǔn)解碼器重構(gòu)出解碼YUV序列。直接編碼測試是將重構(gòu)YUV序列用

x265v1.4進(jìn)行直接轉(zhuǎn)碼,本發(fā)明技術(shù)轉(zhuǎn)碼是將重構(gòu)YUV序列結(jié)合其解碼信息進(jìn)行快速轉(zhuǎn)碼。從測試結(jié)果來看,本發(fā)明快速轉(zhuǎn)碼技術(shù)與直接轉(zhuǎn)碼技術(shù)相比,在編碼時間節(jié)省發(fā)明顯著。在時間節(jié)省方面的性能平均達(dá)到42.31%,最好情況下甚至高達(dá)51.95%。同時,在編碼質(zhì)量方面快速轉(zhuǎn)碼技術(shù)與直接轉(zhuǎn)碼技術(shù)基本持平,僅有0.15%的損失,可以忽略。

下表給出了同構(gòu)轉(zhuǎn)碼(H.265碼流到H.265碼流)的測試結(jié)果。

先將原始YUV序列用x265進(jìn)行編碼生成H.265的碼流,接著用H.265標(biāo)準(zhǔn)解碼器重構(gòu)出解碼YUV序列。直接編碼測試是將重構(gòu)YUV序列用x265v1.4進(jìn)行直接轉(zhuǎn)碼,本發(fā)明技術(shù)轉(zhuǎn)碼是將重構(gòu)YUV序列結(jié)合其解碼信息進(jìn)行快速轉(zhuǎn)碼。與表1中所示異構(gòu)轉(zhuǎn)碼測試結(jié)果類似,表2給出的同構(gòu)轉(zhuǎn)碼測試結(jié)果性能得到保持。在編碼時間節(jié)省方面的性能平均達(dá)到44.75%,編碼質(zhì)量方面僅有0.89%的損失,嚴(yán)格控制在了1%以內(nèi)。

綜上,本發(fā)明技術(shù)在同構(gòu)和異構(gòu)下的轉(zhuǎn)碼在保持視覺質(zhì)量的同時提升編碼效率40%以上。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
彰化市| 竹溪县| 大关县| 察隅县| 青岛市| 五河县| 牟定县| 赣榆县| 游戏| 永州市| 汽车| 沾益县| 阿合奇县| 高邑县| 五大连池市| 沅江市| 黑河市| 永年县| 将乐县| 门头沟区| 灵山县| 闽清县| 长兴县| 宜都市| 吉隆县| 睢宁县| 湘潭县| 神木县| 庄浪县| SHOW| 尼玛县| 闸北区| 伊金霍洛旗| 天津市| 双流县| 宣城市| 水富县| 成都市| 广水市| 建宁县| 射阳县|