前向運(yùn)動(dòng)估計(jì)和后向運(yùn)動(dòng)估計(jì)。在實(shí)際應(yīng)用中,單向運(yùn)動(dòng)估 計(jì)的具體是指:設(shè)t時(shí)刻的圖像為當(dāng)前圖像f(x,y),t'時(shí)刻的圖像為參考圖像f' (x,y),參 考圖像在時(shí)間上可W超前或者滯后于當(dāng)前圖像。當(dāng)t'<t時(shí),稱(chēng)之為前向運(yùn)動(dòng)估計(jì),當(dāng)t'〉t 時(shí),稱(chēng)之為后向運(yùn)動(dòng)估計(jì)。
[0089] 在具體實(shí)現(xiàn)中,除了對(duì)圖像進(jìn)行前向運(yùn)動(dòng)估計(jì)和后向運(yùn)動(dòng)估計(jì),還將結(jié)合前向運(yùn) 動(dòng)估計(jì)和后向運(yùn)動(dòng)估計(jì)進(jìn)行雙向運(yùn)動(dòng)估計(jì),最后從=種運(yùn)動(dòng)估計(jì)方法中選擇一種最優(yōu)的運(yùn) 動(dòng)估計(jì)方法。
[0090] 在本發(fā)明的一種優(yōu)選實(shí)施例中,若所述單向運(yùn)動(dòng)估計(jì)為前向運(yùn)動(dòng)估計(jì),所述當(dāng)前 塊可W具有對(duì)應(yīng)的前向預(yù)測(cè)塊,則所述步驟101,即所述獲取當(dāng)前圖像進(jìn)行單向運(yùn)動(dòng)估計(jì)的 單向總花費(fèi)的步驟可W包括如下子步驟:
[0091] 子步驟S11,對(duì)所述當(dāng)前圖像中的當(dāng)前塊和對(duì)應(yīng)的前向預(yù)測(cè)塊相減獲得第一差值, 并對(duì)所述第一差值進(jìn)行阿達(dá)瑪變換,獲得阿達(dá)瑪花費(fèi);子步驟S12,獲取指定前向運(yùn)動(dòng)向量 的第一編碼碼率;
[0092] 子步驟S13,采用所述第一阿達(dá)瑪花費(fèi)和第一編碼碼率按照預(yù)設(shè)規(guī)則獲得前向總 花費(fèi)。
[0093] 在本發(fā)明的一種優(yōu)選實(shí)施例中,若所述單向運(yùn)動(dòng)估計(jì)為后向運(yùn)動(dòng)估計(jì),所述當(dāng)前 塊可W具有對(duì)應(yīng)的后向預(yù)測(cè)塊,則所述步驟101,即則所述獲取當(dāng)前圖像進(jìn)行單向運(yùn)動(dòng)估計(jì) 的單向總花費(fèi)的步驟可W包括如下子步驟:
[0094] 子步驟S21,對(duì)所述當(dāng)前圖像中的當(dāng)前塊和它的后向預(yù)測(cè)塊相減獲得第二差值,并 對(duì)所述第二差值進(jìn)行阿達(dá)瑪變換,獲得第二阿達(dá)瑪花費(fèi);子步驟S22,獲取指定后向運(yùn)動(dòng)向 量的第二編碼碼率;
[0095] 子步驟S23,采用所述第二阿達(dá)瑪花費(fèi)和第二編碼碼率按照預(yù)設(shè)規(guī)則獲得后向總 花費(fèi)。
[0096] 對(duì)于一個(gè)大小為MxN的塊,在前向運(yùn)動(dòng)估計(jì)和后向運(yùn)動(dòng)估計(jì)結(jié)束后,假設(shè)前向運(yùn) 動(dòng)估計(jì)的最優(yōu)MV產(chǎn)生的前向預(yù)測(cè)塊是PrdO,預(yù)測(cè)的第一阿達(dá)瑪花費(fèi)是HAD0,MV的第一編 碼碼率是MVBitO;后向運(yùn)動(dòng)估計(jì)的最優(yōu)MV產(chǎn)生的后向預(yù)測(cè)塊是Prdl,預(yù)測(cè)的第二阿達(dá)瑪花 費(fèi)是HAD1,MV的第二編碼碼率是MVBitl。
[0097] 在具體實(shí)現(xiàn)中,對(duì)于任意一個(gè)MxN的殘差塊,即當(dāng)前塊和預(yù)測(cè)塊之間的差分塊,如 果它的寬和高都是8的倍數(shù),那么將它分成若干8x8塊,否則將它分成若干4x4塊。然后對(duì) 每個(gè)8x8塊或4x4塊執(zhí)行hadamard(阿達(dá)瑪)變換,執(zhí)行阿達(dá)瑪變換后將所有的變換系數(shù) 的絕對(duì)值累加起來(lái)得到Ap。如果當(dāng)前塊是4x4塊,那么Ap就是4x4塊的阿達(dá)瑪花費(fèi),如果 當(dāng)前塊是8x8塊,那么(Ap+2)〉〉2則是8x8塊的阿達(dá)瑪花費(fèi),阿達(dá)瑪花費(fèi)是其所有分割出的 4x4塊,或8x8塊的阿達(dá)瑪花費(fèi)的和。
[009引在本發(fā)明具體應(yīng)用的一種示例中,
[0099] 所述前向運(yùn)動(dòng)估計(jì)的總花費(fèi)的計(jì)算公式為:
[0100] costO二HAD0+AmotionXMVBitO;
[0101] 所述后向運(yùn)動(dòng)估計(jì)的總花費(fèi)的計(jì)算公式為:
[0102] costl二HAD1+AmotionXMVBitl;
[0103] 需要說(shuō)明的是,上述前向運(yùn)動(dòng)估計(jì)的總花費(fèi)和后向運(yùn)動(dòng)估計(jì)的總花費(fèi)的計(jì)算過(guò)程 僅僅作為示例,在本發(fā)明實(shí)施例中可W采用其他方式計(jì)算前向運(yùn)動(dòng)估計(jì)的總花費(fèi)和后向運(yùn) 動(dòng)估計(jì)的總花費(fèi)的計(jì)算過(guò)程僅僅作為示例,本發(fā)明實(shí)施例對(duì)此不加W限制。
[0104] 步驟102,獲取當(dāng)前圖像進(jìn)行雙向運(yùn)動(dòng)估計(jì)的初始雙向總花費(fèi);
[0105] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述步驟102,即所述獲取當(dāng)前圖像進(jìn)行雙向運(yùn)動(dòng) 估計(jì)的初始雙向總花費(fèi)的步驟可W包括如下子步驟:
[0106] 子步驟S31,對(duì)所述當(dāng)前圖像當(dāng)前塊的前向預(yù)測(cè)塊和后向預(yù)測(cè)塊進(jìn)行平均得到初 始雙向預(yù)測(cè)塊;
[0107] 子步驟S32,采用所述當(dāng)前塊和所述初始雙向預(yù)測(cè)塊進(jìn)行相減獲得第=差值,并對(duì) 所述第=差值進(jìn)行阿達(dá)瑪變換,獲得第=阿達(dá)瑪花費(fèi);
[0108] 子步驟S33,將所述第一編碼碼率和所述第二編碼碼率相加,獲得第S編碼碼率;
[0109] 子步驟S34,采用所述第S阿達(dá)瑪花費(fèi)和第S編碼碼率按照預(yù)設(shè)規(guī)則獲得初始雙 向總花費(fèi)。
[0110] 在本發(fā)明實(shí)施例中,將采用前向預(yù)測(cè)塊Prdo和后向預(yù)測(cè)塊Prdl進(jìn)行平均處理,從 而計(jì)算它們和源塊(當(dāng)前塊)之間的阿達(dá)瑪花費(fèi)HAD2。具體計(jì)算過(guò)程與單向運(yùn)動(dòng)估計(jì)的過(guò) 程類(lèi)似,在此處不再進(jìn)行寶述了。
[0111] 在本發(fā)明具體應(yīng)用的一種示例中,所述雙向運(yùn)動(dòng)估計(jì)的初始總花費(fèi)的計(jì)算公式 為:
[011引cost2 =HAD2+Am0"0nX(MVBitO+MVBitl);
[011引其中,
[0114] 具體而言,a取決于是否是參考圖像W及B帖數(shù)目,它的取值介于0.5到 1,如果非參考圖像,那么a=1,否則采用clip3函數(shù)計(jì)算a的數(shù)值,具體地,a= l+clip3 (0, 0. 5, 0. 05Xnum_b打m)。num_b打m是指B帖數(shù)目,當(dāng)層次為 8 時(shí),num_b打m為 7。 wk為常數(shù),它和圖像類(lèi)型、編碼結(jié)構(gòu)W及QP(QuantParam,量化參數(shù))有關(guān),其取值在0.4 到2之間。
[0115] 步驟103,依據(jù)所述單向總花費(fèi)和所述初始雙向總花費(fèi)排除對(duì)當(dāng)前圖像的雙向運(yùn) 動(dòng)估計(jì)。
[0116] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述步驟103可W包括如下子步驟:
[0117] 子步驟S41,判斷所述初始雙向總花費(fèi)是否大于所述前向總花費(fèi),或大于所述后向 總花費(fèi);
[0118] 子步驟S42,若所述初始雙向總花費(fèi)大于所述前向總花費(fèi),或大于所述后向總花 費(fèi),則判斷所述初始雙向阿達(dá)瑪花費(fèi)是否小于預(yù)設(shè)闊值;
[0119] 子步驟S43,若所述初始雙向阿達(dá)瑪花費(fèi)小于所述預(yù)設(shè)闊值,則排除對(duì)當(dāng)前圖像的 雙向運(yùn)動(dòng)估計(jì)。
[0120] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述的方法還可W包括如下子步驟:
[0121] 子步驟S44,若述初始雙向總花費(fèi)小于所述前向總花費(fèi),且小于所述后向總花費(fèi), 則執(zhí)行對(duì)當(dāng)前圖像的雙向運(yùn)動(dòng)估計(jì)。
[0122] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述的方法還可W包括如下子步驟:
[0123] 若所述初始雙向阿達(dá)瑪花費(fèi)大于或等于所述預(yù)設(shè)闊值,則采用所述初始雙向阿達(dá) 瑪花費(fèi)獲得預(yù)估雙向阿達(dá)瑪花費(fèi);
[0124] 采用所述預(yù)估雙向阿達(dá)瑪花費(fèi)、第S阿達(dá)瑪花費(fèi),W及初始雙向總花費(fèi)獲得預(yù)估 雙向總花費(fèi)獲得預(yù)估雙向總花費(fèi)。
[0125] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述的方法還可W包括如下子步驟:
[0126] 判斷所述預(yù)估雙向總花費(fèi)是否大于所述前向總花費(fèi),或者大于所述后向總花費(fèi);
[0127] 若所述預(yù)估雙向總花費(fèi)大于所述前向總花費(fèi),或者大于所述后向總花費(fèi),則排除 對(duì)當(dāng)前圖像的雙向運(yùn)動(dòng)估計(jì)。
[0128] 在本發(fā)明具體應(yīng)用的一種示例中,具體雙向運(yùn)動(dòng)估計(jì)的排除過(guò)程為:
[0129]
[0130]
[0131]在本不例中,初始化skip_iter_block_bi_me=0,在skip_iter_block_bi_me= 1時(shí),終止雙向運(yùn)動(dòng)估計(jì)的過(guò)程。
[0132] 在具體實(shí)現(xiàn)中,前向運(yùn)動(dòng)估計(jì)和后向運(yùn)動(dòng)估計(jì)的最佳的運(yùn)動(dòng)向量生成前向預(yù)測(cè)塊 PrdO,和后向預(yù)測(cè)塊Prdl該兩個(gè)預(yù)測(cè)塊,并進(jìn)行平均得到初始的雙向預(yù)測(cè)塊Prd2。計(jì)算出 前向阿達(dá)瑪花費(fèi)HAD0、后向阿達(dá)瑪花費(fèi)HAD1W及初始雙向阿達(dá)瑪花費(fèi)HAD2,并進(jìn)一步計(jì)算 出前向總花費(fèi)costO、后向總花費(fèi)costlW及初始雙向總花費(fèi)cost2。
[0133] 判斷初始雙向總花費(fèi)cost2是否大于前向總花費(fèi)costO,或大于后向總花費(fèi) costl,若初始雙向總花費(fèi)cost2大于所述前向總花費(fèi)costO,或大于所述后向總花費(fèi) costl,則判斷所述初始雙向阿達(dá)瑪花費(fèi)HAD2是否小于預(yù)設(shè)闊值i_bime_th0,其中預(yù)設(shè)闊 值;[_13;[1116_1:110 =(M*N*34)〉〉3。i_bime_th0表示如果單向最優(yōu)匹配的總花費(fèi)如果小于該 個(gè)值,那么說(shuō)明雙向運(yùn)動(dòng)估計(jì)不值得做,則不執(zhí)行雙向運(yùn)動(dòng)估計(jì)。
[0134] 若初始雙向阿達(dá)瑪花費(fèi)HAD