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

一種基于HEVC視頻編碼的TU樹狀結(jié)構(gòu)抉擇算法的制作方法

文檔序號:11778927閱讀:715來源:國知局
一種基于HEVC視頻編碼的TU樹狀結(jié)構(gòu)抉擇算法的制作方法與工藝

本發(fā)明涉及視頻編碼領(lǐng)域,具體涉及一種基于hevc視頻編碼的tu樹狀結(jié)構(gòu)抉擇算法。



背景技術(shù):

hevc視頻編碼中,tu樹狀結(jié)構(gòu)是hevc視頻標準新提出的一種提高編碼效率的編碼工具,tu大小有4x4,8x8,16x16,32x32,對于提高編碼效率有很大作用,但其抉擇算法要求極高的計算復雜度,使得硬件的開銷較大,增加了硬件成本。

比如,hm是jctvc組織的hevc參考編碼器與算法實現(xiàn)。其采用的tu抉擇過程如下:

對所有可能的tu塊(64個4x4塊,16個8x8塊,4個16x16塊,1個32x32塊),做如下運算過程:

1.變換(transform)->量化(quant)->反量化(dequant)->反變換(inversetransform)->重構(gòu)(reconstruct).

2.計算該tu塊的失真,distortion=sum(原始像素–重構(gòu)像素)^2

3.對量化后的系數(shù)做簡化的cabac,然后算出較為準確的殘差編碼的比特數(shù)bits

4.該tu的rdcost=distortion+lambda*bits,(lambda是基于qp和幀類型而定的常數(shù))。

5.對所有的tu塊的rdcost做遍歷比較,選出最小的tu_rdcost組合,得到tu樹結(jié)構(gòu)。

上述算法中,反變換(inversetransform)和重構(gòu)(reconstruct)的計算復雜度較高,導致硬件的開銷較大,硬件pipeline的級數(shù)較多,因此,硬件的整體性能不高。



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

本發(fā)明的目的在于提供一種基于hevc視頻編碼的tu樹狀結(jié)構(gòu)抉擇算法,解決目前的tu樹狀結(jié)構(gòu)抉擇算法的計算復雜度很高,導致硬件成本增加以及硬件性能不高的問題。

本發(fā)明為實現(xiàn)上述目的,采用以下技術(shù)方案實現(xiàn):

一種基于hevc視頻編碼的tu樹狀結(jié)構(gòu)抉擇算法,包括以下步驟:

(a)對tu的殘差residual進行變換,得到量化前的系數(shù)c0;

(b)對步驟(a)中得到的c0進行量化,得到系數(shù)c1;

(c)采用固定的二進制bin與bits的壓縮比,得到比特數(shù)估計值bits_estimate;

(d)對步驟(b)中得到的c1進行反量化,得到系數(shù)c2;

(e)計算該tu的失真值distortion:distortion=sum(c2-c0)^2;

(f)計算該tu殘差編碼后的率失真代價rdcost=distortion+lambda*bits_estimate,其中,lambda是根據(jù)qp與幀類型而定的常數(shù);

(g)計算該tu殘差在全部不編碼的情況下的率失真代價rdcost_zero:rdcost_zero=sum(residual)^2;

(h)將步驟(g)得到的rdcost_zero與步驟(f)得到的rdcost進行比較,數(shù)值較小的作為該tu的最優(yōu)代價tu_cost:tu_cost=min(rdcost_zero,rdcost)。

進一步地,作為優(yōu)選技術(shù)方案,所述步驟(c)的具體過程為:

(c1)按照hevc殘差cabac的二進制化過程,得到該tu殘差二進制化過后的bin的總數(shù);

(c2)將bin/(1.2~1.4)作為該tu殘差部分的比特數(shù)估計值bits_estimate。

進一步地,作為優(yōu)選技術(shù)方案,所述步驟(c2)中,將bin/1.3作為該tu殘差部分的比特數(shù)估計值bits_estimate。

進一步地,作為優(yōu)選技術(shù)方案,所述步驟(h)的具體過程為:

(h1)當tu塊為8x8塊時,比較tu_cost_8x8和4個tu_cost_4x4的和,決定該8x8塊是否分割.

如果tu_cost_8x8較小,則該8x8塊不分割,否則,該8x8塊分割;

該8x8塊的最終最優(yōu)代價tu_best_cost_8x8=min(tu_cost_8x8,sum(tu_cost_4x4)),其中,tu_cost_8x8表示8x8塊的最優(yōu)代價,tu_cost_4x4表示4x4塊的最優(yōu)代價;

(h2)當tu塊為16x16塊時,比較tu_cost_16x16和4個tu_best_cost_8x8的和,決定該16x16塊是否分割;

如果tu_cost_16x16較小,則該16x16塊不分割,否則,該16x16塊分割;

該16x16塊的最終最優(yōu)代價tu_best_cost_16x16=min(tu_cost_16x16,sum(tu_best_cost_8x8)),其中tu_cost_16x16表示16x16塊的最優(yōu)代價,tu_best_cost_8x8表示8x8塊的最終最優(yōu)代價;

(h3)當tu塊為32x32塊時,比較tu_cost_32x32和4個tu_best_cost_16x16的和,決定該32x32塊是否分割.

如果tu_cost_32x32較小,則該32x32塊不分割,否則,該32x32塊分割;

該32x32塊的最終最優(yōu)代價tu_best_cost_32x32=min(tu_cost_32x32,sum(tu_best_cost_16x16)),其中,tu_best_cost_32x32表示32x32塊的最優(yōu)代價,tu_best_cost_16x16表示16x16塊的最終最優(yōu)代價。

本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點及有益效果:

(1)本發(fā)明相較于現(xiàn)有技術(shù),巧妙地省去了反變換(inversetransform)和重構(gòu)(reconstruct)過程,降低了計算的復雜程度,減少了硬件開銷,同時也減少了硬件pipeline的級數(shù),同時提高了硬件的性能。

(2)本發(fā)明采用固定的二進制bin與bits的壓縮比估計比特數(shù),去除了cabac(編碼、解碼)的計算需求,極大降低了實現(xiàn)的復雜度,提高了硬件實現(xiàn)的性能。

(3)本發(fā)明相較于現(xiàn)有的復雜tu算法,只有0.5bd-r的損失,即在相同視頻編碼質(zhì)量下,只增加了0.5%的碼率。

附圖說明

圖1為本發(fā)明的tu塊的率失真計算過程;

圖2為本發(fā)明的tu樹狀結(jié)構(gòu)抉擇過程;

圖3為本發(fā)明的tu樹狀結(jié)構(gòu)結(jié)果示例。

具體實施方式

下面結(jié)合實施例對本發(fā)明作進一步地詳細說明,但本發(fā)明的實施方式不限于此。

實施例:

hevc視頻編碼中,tu樹型結(jié)構(gòu)是hevc視頻標準新提出的一種提高編碼效率的編碼工具,tu大小有4x4、8x8、16x16、32x32,在對tu樹狀結(jié)構(gòu)抉擇時,是對所有的tu塊做rdcost(率失真)計算,tu塊包括64個4x4塊,16個8x8塊,4個16x16塊,1個32x32塊,總共85個塊。

如圖1所示,本實施例所述的一種基于hevc視頻編碼的tu樹狀結(jié)構(gòu)抉擇算法,包括以下步驟:

(a)對tu的殘差residual進行變換,得到量化前的系數(shù)c0;

(b)對步驟(a)中得到的c0進行量化,得到系數(shù)c1;

(c)采用固定的二進制bin與bits的壓縮比,得到比特數(shù)估計值bits_estimate;

(d)對步驟(b)中得到的c1進行反量化,得到系數(shù)c2;

(e)計算該tu的失真值distortion:distortion=sum(c2-c0)^2;

(f)計算該tu殘差編碼后的率失真代價rdcost=distortion+lambda*bits_estimate,其中,lambda是根據(jù)qp與幀類型而定的常數(shù);

(g)計算該tu殘差在全部不編碼的情況下的率失真代價rdcost_zero:rdcost_zero=sum(residual)^2;

(h)將步驟(g)得到的rdcost_zero與步驟(f)得到的rdcost進行比較,數(shù)值較小的作為該tu的最優(yōu)代價tu_cost:tu_cost=min(rdcost_zero,rdcost)。

通過上述步驟可知,本實施例并未像現(xiàn)有技術(shù)那樣進行反變換(inversetransform)和重構(gòu)(reconstruct),省去了這兩個步驟,通過基于量化前和反量化后的頻域空間的系數(shù)差異,來估計時域的失真,得到的實際仿真差異并不大,但是這樣做大大簡化了計算的復雜程度。另外采用固定的二進制bin與bits的壓縮比,得到比特數(shù)估計值bits_estimate,不用對bin做基于上下文的二進制算術(shù)編碼過程,極大降低了實現(xiàn)的復雜度,提高了硬件實現(xiàn)的性能。

本實施例可對步驟(c)進行如下細分:

(c1)按照hevc殘差cabac的二進制化過程,得到該tu殘差二進制化過后的bin的總數(shù);

(c2)將bin/(1.2~1.4)作為該tu殘差部分的比特數(shù)估計值bits_estimate。

優(yōu)選的,步驟(c2)中,將bin/1.3作為該tu殘差部分的比特數(shù)估計值bits_estimate。

本實施例可采用如下的方式對tu樹狀結(jié)構(gòu)進行抉擇:

(h1)當tu塊為8x8塊時,比較tu_cost_8x8和4個tu_cost_4x4的和,決定該8x8塊是否分割.

如果tu_cost_8x8較小,則該8x8塊不分割,否則,該8x8塊分割;

該8x8塊的最終最優(yōu)代價tu_best_cost_8x8=min(tu_cost_8x8,sum(tu_cost_4x4)),其中,tu_cost_8x8表示8x8塊的最優(yōu)代價,tu_cost_4x4表示4x4塊的最優(yōu)代價;

(h2)當tu塊為16x16塊時,比較tu_cost_16x16和4個tu_best_cost_8x8的和,決定該16x16塊是否分割;

如果tu_cost_16x16較小,則該16x16塊不分割,否則,該16x16塊分割;

該16x16塊的最終最優(yōu)代價tu_best_cost_16x16=min(tu_cost_16x16,sum(tu_best_cost_8x8)),其中tu_cost_16x16表示16x16塊的最優(yōu)代價,tu_best_cost_8x8表示8x8塊的最終最優(yōu)代價;

(h3)當tu塊為32x32塊時,比較tu_cost_32x32和4個tu_best_cost_16x16的和,決定該32x32塊是否分割.

如果tu_cost_32x32較小,則該32x32塊不分割,否則,該32x32塊分割;

該32x32塊的最終最優(yōu)代價tu_best_cost_32x32=min(tu_cost_32x32,sum(tu_best_cost_16x16)),其中,tu_best_cost_32x32表示32x32塊的最優(yōu)代價,tu_best_cost_16x16表示16x16塊的最終最優(yōu)代價。

以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明做任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化,均落入本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
琼海市| 沛县| 沽源县| 怀来县| 哈巴河县| 湘潭县| 娄烦县| 宝清县| 桐柏县| 建阳市| 民权县| 阜康市| 阳信县| 邹平县| 南投市| 翼城县| 乐清市| 宣汉县| 锡林浩特市| 杨浦区| 清镇市| 读书| 黑河市| 白城市| 牟定县| 三台县| 静乐县| 北川| 蓬溪县| 禹城市| 吴江市| 苍山县| 梅州市| 方山县| 兰溪市| 镶黄旗| 佛坪县| 普安县| 福鼎市| 永清县| 丰原市|