本發(fā)明屬于視頻壓縮編解碼,特別涉及一種vvc幀內(nèi)預(yù)測(cè)模式快速選擇方法。
背景技術(shù):
1、vvc在保留原有hevc框架的基礎(chǔ)上,同時(shí)也對(duì)某些方面進(jìn)行升級(jí)改進(jìn)。vvc中幀內(nèi)預(yù)測(cè)包含了67個(gè)預(yù)測(cè)模式,相較于hevc增加了32個(gè)模式,其中planar模式和dc模式是非角度模式,其余65個(gè)模式是角度模式。選擇一個(gè)正確的模式,能夠使圖像質(zhì)量更好且占用儲(chǔ)存的空間更小。vvc在幀內(nèi)預(yù)測(cè)中rdcost的計(jì)算最為耗時(shí),現(xiàn)有技術(shù)大多是對(duì)模式抽樣逐步篩選最優(yōu)模式,或者用機(jī)器學(xué)習(xí)方法來(lái)篩選最優(yōu)模式,錯(cuò)誤率高且比較耗時(shí)。如圖1所示,為67個(gè)預(yù)測(cè)模式示意圖。
2、現(xiàn)有技術(shù)中,例如中國(guó)發(fā)明專利cn201910496326.0《一種vvc幀內(nèi)預(yù)測(cè)角度模式快速選擇方法》中所描述:計(jì)算模式2、18、34、50、66的satd值,并比較五個(gè)模式satd值以得到最小satd值對(duì)應(yīng)的模式i0;計(jì)算模式i0-8和i0+8的satd值,并比較模式i0、i0-8、i0+8的satd值以得到最小satd值對(duì)應(yīng)的模式i1;其中,若模式i0-8或i0+8不存在,則不進(jìn)行計(jì)算;若具有最小satd值的模式為i1=2或i1=66,則轉(zhuǎn)至s4;否則,計(jì)算第i1-4和i1+4模式的satd值,并比較模式i1、i1-4、i1+4的satd值以得到最小satd值對(duì)應(yīng)的模式i2;確定rdo模式集合,并采用vvc的rdo技術(shù)計(jì)算rdo模式集合中每種角度模式的rdo值,選擇rdo值最小的角度模式作為最優(yōu)角度模式。
3、因此,現(xiàn)有技術(shù)的缺陷在于:
4、rdcost判定使用失真和比特作為度量,選擇到最佳的模式,在進(jìn)行模式選擇時(shí)會(huì)對(duì)模式進(jìn)行預(yù)測(cè),由于rdcost在計(jì)算上非常復(fù)雜,為了減少了rdcost計(jì)算,會(huì)初步篩選一定數(shù)量的模式進(jìn)行計(jì)算rdcost,現(xiàn)有的最優(yōu)模式篩選方法大部分較為復(fù)雜且準(zhǔn)確度不高,導(dǎo)致最終選出來(lái)的模式不是最優(yōu)模式,導(dǎo)致內(nèi)存占用大,視頻質(zhì)量欠佳。
5、此外,現(xiàn)有技術(shù)常用的術(shù)語(yǔ)包括:
6、vvc:是一種視頻壓縮的編碼標(biāo)準(zhǔn),是一種有損壓縮方案標(biāo)準(zhǔn),基于hevc/h.265編碼標(biāo)準(zhǔn)的擴(kuò)展。
7、cu:vvc中的編碼單元,尺寸有128*128?64*64、32*32、16*16?8*8和4*4,cu內(nèi)包含對(duì)應(yīng)大小的圖像數(shù)據(jù)。
8、失真/distortion:當(dāng)前cu經(jīng)過(guò)編碼后與編碼前cu相比有一定圖像質(zhì)量損失,損失即為失真。
9、碼流大小/bit:當(dāng)前cu經(jīng)過(guò)編碼后,使用的內(nèi)存空間大小。
10、rdcost:一般情況下,視頻壓縮碼率越大,失真越??;而碼流越小,失真越大。rdcost是計(jì)算碼率和失真的一個(gè)表達(dá)式,rdcost=d+λr。其中d為失真,r為碼流大小,λ為外部輸入。通過(guò)rdcost比較,對(duì)模式進(jìn)行判決,保持碼流大小與失真的平衡。
11、幀內(nèi)預(yù)測(cè)/intra:不參考其他圖像,只消除當(dāng)前編碼圖像內(nèi)空間冗余信息。模式選擇:vvc幀內(nèi)模式預(yù)測(cè)有67種模式,其中包含65種角度模式、planar模式(0模式)和dc模式(1模式),編碼器會(huì)選擇其中的一種方式進(jìn)行編碼,官方模型中選擇rdcost最小的模式。
12、satd:使用哈達(dá)瑪變換粗略估計(jì)當(dāng)前cu使用某個(gè)模式時(shí)的rdcost,速度比rdcost快很多,但精度比rdcost差,常用來(lái)進(jìn)行模式快速選擇。mpm模式列表:根據(jù)當(dāng)前cu的左和上cu的最優(yōu)模式所構(gòu)建的模式列表,每一個(gè)cu都有一個(gè)mpm模式列表。
13、sobel算子:一種用來(lái)檢測(cè)圖像紋理的算子。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述問(wèn)題,本技術(shù)的目的在于:通過(guò)對(duì)原始圖像進(jìn)行數(shù)據(jù)處理,提取出有效的特征,能夠快速且準(zhǔn)確的找出幀內(nèi)預(yù)測(cè)的最優(yōu)模式,使編碼后的視頻占用內(nèi)存小且圖像質(zhì)量好。使用sobel算子,提取cu中像素的紋理信息,建立紋理信息與幀內(nèi)預(yù)測(cè)模式的關(guān)系,能夠有效減少satd和rdo等計(jì)算的耗時(shí),大大加速幀內(nèi)預(yù)測(cè)的模式選擇過(guò)程。
2、具體地,本發(fā)明提供一種vvc幀內(nèi)預(yù)測(cè)模式快速選擇方法,所述方法包括以下步驟:
3、s1,特征提?。禾卣鬟x擇圖像的梯度方向和梯度幅值,用來(lái)檢測(cè)cu塊中圖像紋理方向和紋理強(qiáng)度;進(jìn)一步包括:
4、s1.1,對(duì)cu像素值進(jìn)行擴(kuò)展;
5、s1.2,使用sobel算子計(jì)算cu中每一個(gè)像素的梯度方向和對(duì)應(yīng)的梯度幅值;
6、s2,建立梯度方向和預(yù)測(cè)模式的對(duì)應(yīng)關(guān)系,即將梯度方向與預(yù)測(cè)模式進(jìn)行映射:將步驟s1計(jì)算得到的梯度方向與幀內(nèi)預(yù)測(cè)的65個(gè)角度模式進(jìn)行映射;
7、s3,使用組合中最大梯度幅值占所有組合梯度幅值的占比和mpm模式來(lái)綜合篩選最優(yōu)模式。
8、所述步驟s1.1對(duì)cu像素值進(jìn)行擴(kuò)展,進(jìn)一步包括:
9、為計(jì)算cu塊中梯度方向和梯度幅值,要對(duì)cu像素進(jìn)行擴(kuò)展,對(duì)cu像素值進(jìn)行擴(kuò)展,分為兩種情況:
10、(1),cu不是圖像的邊緣塊,因此cu周邊的像素可用,直接取cu周邊的可用像素填充;
11、(2),cu是圖像的邊緣塊,cu位于圖像邊緣,周圍有可用像素直接使用可用像素進(jìn)行填充,無(wú)可用像素,使用最鄰近的像素填充
12、所述步驟s1.1中包括4*4大小的cu,其他大小的cu擴(kuò)展方法與4*4大小的相同:
13、(1),cu不是圖像的邊緣塊,示意如下表所示,實(shí)線內(nèi)部分p為cu內(nèi)像素,實(shí)線外部分s為cu周邊的可用像素;
14、
15、(2),cu是圖像的邊緣塊,示意如下表所示,cu為表右上角,cu左和下方有可用像素,直接使用可用像素進(jìn)行填充,cu上和右無(wú)可用像素,使用最鄰近的像素填充;
16、
17、所述步驟s1.2,使用sobel算子進(jìn)行特征的提取,sobel算子的水平方向模板和垂直方向模板如下表1、表2所示:
18、
19、
20、梯度由模板與所覆蓋的像素一一對(duì)應(yīng)相乘并相加得到;
21、假設(shè)如下表3中示意的p1和表4中示意的p6像素計(jì)算,計(jì)算過(guò)程如下:細(xì)虛線部分為圖像被模板覆蓋的位置,模板中間位置為需要計(jì)算特征的像素,gx和gy分別是像素的水平梯度和垂直梯度,其他像素計(jì)算與其一致,只需要計(jì)算cu的像素梯度和梯度幅值即可,填充的像素不需要計(jì)算;
22、表3:
23、
24、p1的水平方向梯度:gxp1=(s19-s1)+2*(p2-s2)+(p6-s3);
25、p1的垂直方向梯度:gyp1=(s1-s3)+2*(s20-p5)+(s19-p6);
26、表4:
27、
28、p6的水平方向梯度:gxp6=(p3-p1)+2*(p7-p5)+(p11-p9);
29、p6的垂直方向梯度:gyp6=(p1-p9)+2*(p2-p10)+(s3-p11);
30、通過(guò)兩個(gè)方向的梯度可得到梯度幅值,梯度幅值采用了近似計(jì)算,運(yùn)算簡(jiǎn)單速度更快,公式如下:
31、g=|gx|+|gy|
32、通過(guò)兩個(gè)方向的梯度可以得到對(duì)應(yīng)的梯度方向,梯度方向計(jì)算公式:
33、
34、根據(jù)以上兩個(gè)步驟,即可得到cu中每個(gè)像素的梯度方向和梯度幅值。
35、所述步驟s2中,進(jìn)一步包括:將角度模式2-66按角度分為32個(gè)組合,如下表所示:
36、
37、即將步驟s1計(jì)算得到的梯度方向與幀內(nèi)預(yù)測(cè)的65個(gè)角度模式進(jìn)行映射。
38、所述步驟s3進(jìn)一步包括:
39、s3.1,根據(jù)梯度方向和預(yù)測(cè)模式的對(duì)應(yīng)關(guān)系,將梯度對(duì)應(yīng)的幅值分類到對(duì)應(yīng)的組合里,對(duì)在同一個(gè)組合的模式梯度幅值進(jìn)行相加,找到最大梯度幅值的組合q,對(duì)應(yīng)的幅值和為t,表達(dá)式如下:
40、t=max(xi(i=1,2,3...32)),x為每個(gè)組合的幅值和;
41、s3.2,計(jì)算最大幅值t占全部組合的梯度幅值和sum的比例p,表達(dá)式如下:p=t/sum;
42、s3.3,閾值th設(shè)為0.5,若p大于閾值th則進(jìn)行步驟s3.4,表明最終的角度模式大概率在這個(gè)最大區(qū)間內(nèi);否則進(jìn)行步驟s3.5;
43、s3.4,對(duì)組合q內(nèi)的模式進(jìn)行satd計(jì)算,選出satd最小的模式作為最優(yōu)模式,轉(zhuǎn)到步驟s3.8;
44、s3.5,判斷組合q中的模式是否在mpm模式列表中,如果在mpm列表中則進(jìn)入步驟s3.6,否則轉(zhuǎn)到步驟s3.7;
45、s3.6,將mpm中的模式、dc模式和planar模式加入組合q中,去除重復(fù)模式,計(jì)算組合內(nèi)的satd,選出satd最小的模式為最優(yōu)模式,轉(zhuǎn)到步驟s3.8;
46、s3.7,將mpm中的模式、dc模式和planar模式加入組合q中,計(jì)算組合內(nèi)的rdcost,選出rdcost最小的模式為最優(yōu)模式,轉(zhuǎn)到步驟s3.8;s3.8,選出最優(yōu)模式。
47、由此,本技術(shù)的優(yōu)勢(shì)在于:
48、1:方法流程步驟簡(jiǎn)單且精度高,只用很少的步驟就能篩選出最優(yōu)的模式;
49、2:方法計(jì)算簡(jiǎn)單,沒(méi)有很復(fù)雜的運(yùn)算,只需要幾個(gè)簡(jiǎn)單計(jì)算就可以得出結(jié)果;
50、3:速度快,由于方法流程和方法公式計(jì)算簡(jiǎn)單,編碼器的運(yùn)行速度很快。