Hevc并行運(yùn)動(dòng)補(bǔ)償方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,特別涉及一種HEVC并行運(yùn)動(dòng)補(bǔ)償方法及裝置。
【背景技術(shù)】
[0002]HEVC (High Efficiency Video Coding,高效率視頻編碼)自 2013 年 1 月起正式成為新的國(guó)際視頻壓縮標(biāo)準(zhǔn),用于替代H.264及之前的視頻壓縮算法。HEVC相對(duì)于H.264壓縮算法,在保證畫(huà)質(zhì)不變的情況下,帶寬可以節(jié)省40% -50%,故采用該標(biāo)準(zhǔn)可有效提高視頻傳輸速度和效率,或是在現(xiàn)有網(wǎng)絡(luò)條件下提高視頻內(nèi)容質(zhì)量。隨著顯示設(shè)備的硬件水平的發(fā)展,在后續(xù)4K、3D等超大分辨率、超清畫(huà)質(zhì)的顯示需求下,HEVC在帶寬上的優(yōu)勢(shì)將使其成為視頻傳輸?shù)奈ㄒ贿x擇。
[0003]但是現(xiàn)有的HEVC標(biāo)準(zhǔn)仍存在一些制約其發(fā)展和普及的缺陷:首先,超高的畫(huà)質(zhì)壓縮比導(dǎo)致算法較為復(fù)雜,計(jì)算性能需求相對(duì)H.264成倍增加;其次,HEVC雖然考慮了并行處理結(jié)構(gòu),但現(xiàn)有標(biāo)準(zhǔn)的并行處理僅在瓦片(tiles,又稱區(qū)塊)、去塊濾波和波前并行處理(WPP,Wave-front Parallel Processing)這三個(gè)方面進(jìn)行了設(shè)計(jì),實(shí)際可以節(jié)省的運(yùn)算能力有限,并不能完全解決性能問(wèn)題;此外,現(xiàn)有HEVC只能采用軟解碼實(shí)現(xiàn),針對(duì)HEVC設(shè)計(jì)的單獨(dú)DSP解碼芯片尚未推出,方案實(shí)現(xiàn)過(guò)于依賴處理器能力且會(huì)占據(jù)過(guò)多的計(jì)算資源,實(shí)際編解碼效率不佳。因此,雖然已成為國(guó)際標(biāo)準(zhǔn)和共識(shí),目前視頻行業(yè)也都在朝著HEVC方向推進(jìn),但受限于上述編碼性能的缺陷以及缺少在線視頻播放技術(shù)(比如flash等)的支持,HEVC技術(shù)的實(shí)際普及和推進(jìn)速度較慢。
【發(fā)明內(nèi)容】
[0004]基于現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的是提供一種HEVC并行運(yùn)動(dòng)補(bǔ)償方法及裝置,以進(jìn)一步挖掘現(xiàn)有硬件的潛力,提高HEVC編碼效率,提升視頻編解碼處理的實(shí)際性能和效率。
[0005]根據(jù)本發(fā)明的一個(gè)方面,提供了一種HEVC并行運(yùn)動(dòng)補(bǔ)償方法,包括步驟:
[0006]接收待處理圖像,由GPU對(duì)所述待處理圖像進(jìn)行預(yù)處理;
[0007]將預(yù)處理后的所述待處理圖像分割為多個(gè)分塊,對(duì)各分塊并行實(shí)施運(yùn)動(dòng)補(bǔ)償計(jì)算;
[0008]對(duì)所述運(yùn)動(dòng)補(bǔ)償計(jì)算的結(jié)果進(jìn)行樹(shù)形收斂后發(fā)送給CPU進(jìn)行補(bǔ)償選取。
[0009]優(yōu)選地,所述預(yù)處理包括采用內(nèi)插補(bǔ)值方式實(shí)現(xiàn)的抽樣優(yōu)化。
[0010]優(yōu)選地,所述內(nèi)插補(bǔ)值根據(jù)不同的運(yùn)動(dòng)補(bǔ)償精度要求采用半像素、1/4像素或1/8
像素插值。
[0011]優(yōu)選地,所述分割為多級(jí)分割;所述并行實(shí)施針對(duì)所述多級(jí)分割中各個(gè)級(jí)別的分塊進(jìn)行。
[0012]優(yōu)選地,所述樹(shù)形收斂采用四叉樹(shù)進(jìn)行。
[0013]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種HEVC并行運(yùn)動(dòng)補(bǔ)償裝置,包括:
[0014]預(yù)處理模塊,用于接收待處理圖像,由GPU對(duì)所述待處理圖像進(jìn)行預(yù)處理;
[0015]運(yùn)動(dòng)補(bǔ)償模塊,用于將預(yù)處理后的所述待處理圖像分割為多個(gè)分塊,對(duì)各分塊并行實(shí)施運(yùn)動(dòng)補(bǔ)償計(jì)算;
[0016]結(jié)果選取模塊,用于對(duì)所述運(yùn)動(dòng)補(bǔ)償計(jì)算的結(jié)果進(jìn)行樹(shù)形收斂后發(fā)送給CPU進(jìn)行補(bǔ)償選取。
[0017]優(yōu)選地,所述預(yù)處理模塊包括:抽樣優(yōu)化模塊,用于采用內(nèi)插補(bǔ)值方式實(shí)現(xiàn)抽樣優(yōu)化。
[0018]優(yōu)選地,所述抽樣優(yōu)化模塊包括:插值模塊,用于根據(jù)不同的運(yùn)動(dòng)補(bǔ)償精度要求采用半像素、1/4像素或1/8像素插值。
[0019]優(yōu)選地,所述運(yùn)動(dòng)補(bǔ)償模塊包括:
[0020]分割模塊,用于進(jìn)行多級(jí)分割;
[0021]并行處理模塊,用于對(duì)所述多級(jí)分割中各個(gè)級(jí)別的分塊進(jìn)行并行處理。
[0022]優(yōu)選地,所述結(jié)果選取模塊包括:四叉樹(shù)形收斂模塊,用于采用四叉樹(shù)進(jìn)行所述樹(shù)形收斂。
[0023]本發(fā)明實(shí)施例提供了一種HEVC并行運(yùn)動(dòng)補(bǔ)償方法及裝置,其技術(shù)方案通過(guò)將壓縮過(guò)程中運(yùn)算量最大的運(yùn)動(dòng)補(bǔ)償模塊單獨(dú)提煉出來(lái),利用顯卡并行運(yùn)算能力,相對(duì)應(yīng)地設(shè)計(jì)獨(dú)立的可并行處理的運(yùn)動(dòng)估計(jì)算方法,形成了獨(dú)立的并行處理的運(yùn)動(dòng)補(bǔ)償模塊,從而大幅減少編碼過(guò)程中運(yùn)動(dòng)估計(jì)時(shí)間,從而提升編碼性能。
【附圖說(shuō)明】
[0024]圖1是本發(fā)明一個(gè)實(shí)施例中HEVC并行運(yùn)動(dòng)補(bǔ)償方法的基本流程示意圖;
[0025]圖2是本發(fā)明一個(gè)實(shí)施例中HEVC并行運(yùn)動(dòng)補(bǔ)償裝置的模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說(shuō)明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0027]現(xiàn)有HEVC技術(shù)過(guò)于依賴于處理器性能,僅有的少量并行優(yōu)化并不能實(shí)際提升視頻處理性能。本發(fā)明實(shí)施例的技術(shù)方案針對(duì)壓縮過(guò)程中運(yùn)算量最大的運(yùn)動(dòng)補(bǔ)償過(guò)程,利用顯卡的運(yùn)算能力來(lái)實(shí)現(xiàn)運(yùn)動(dòng)補(bǔ)償?shù)牟⑿刑幚恚瑥亩蠓嵘司幋a性能和效率。如圖1所示,在本方面實(shí)施例中,HEVC并行運(yùn)動(dòng)補(bǔ)償方法包括步驟:
[0028]S1、接收待處理圖像,由GPU對(duì)所述待處理圖像進(jìn)行預(yù)處理;
[0029]S2、將預(yù)處理后的所述待處理圖像分割為多個(gè)分塊,對(duì)各分塊并行實(shí)施運(yùn)動(dòng)補(bǔ)償計(jì)算;
[0030]S3、對(duì)所述運(yùn)動(dòng)補(bǔ)償計(jì)算的結(jié)果進(jìn)行樹(shù)形收斂后發(fā)送給CPU進(jìn)行補(bǔ)償選取。
[0031]其中,步驟S1中,所述預(yù)處理包括:平滑處理、邊緣檢測(cè)和抽樣優(yōu)化等操作。其中,所述抽樣優(yōu)化采用內(nèi)插補(bǔ)值方式實(shí)現(xiàn),優(yōu)選地,根據(jù)不同的運(yùn)動(dòng)補(bǔ)償精度要求,所述內(nèi)插補(bǔ)值可采用半像素、1/4像素或1/8像素插值。
[0032]步驟S2中,所述分割為多級(jí)分割。其中,在HEVC視頻編解碼過(guò)程中,一幀圖像首先通過(guò)邊緣分割可獨(dú)立形成條帶(Slice)、條帶片段(Slice Segment)或瓦片(tiles),條帶通常由多個(gè)條帶片段組成,條帶片段亦可獨(dú)立存在,瓦片必須為矩形塊,而條帶或條帶片段可為任意形狀。其次,采用樹(shù)形編碼單元(CTU,Coding Tree Unit)對(duì)條帶、條帶片段或瓦片進(jìn)行處理,此時(shí)進(jìn)一步對(duì)亮度和色度分量分割為樹(shù)形編碼塊(CTB,Coding TreeBlock),CTB是一幀中像素組織的基本結(jié)構(gòu)。HEVC支持16X16以上的宏塊,故CTB通常為64X64,32X32或16X16,通常分塊越大編碼效率越高。CTB又進(jìn)一步被分割為編碼塊(CB,Coding