本發(fā)明涉及視頻圖像處理領(lǐng)域,尤其涉及視頻圖像編碼和解碼的方法、編碼設(shè)備和解碼設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)科技的迅猛發(fā)展以及人們物質(zhì)精神文化的日益豐富,在互聯(lián)網(wǎng)中針對(duì)視頻的應(yīng)用需求尤其是針對(duì)高清視頻的應(yīng)用需求越來越多,而高清視頻的數(shù)據(jù)量非常大,要想高清視頻能在帶寬有限的互聯(lián)網(wǎng)中傳輸,必須首先解決的問題就是高清視頻壓縮編碼問題。目前,國(guó)際上有兩個(gè)國(guó)際組織專門進(jìn)行視頻編碼標(biāo)準(zhǔn)的制定工作,即國(guó)際標(biāo)準(zhǔn)化組織(International Organization for Standardization,簡(jiǎn)稱為“ISO”)/國(guó)際電工委員會(huì)(International Electrotechnical Commission,簡(jiǎn)稱為“IEC”)下的運(yùn)動(dòng)圖像專家組(Motion Picture Experts Group,簡(jiǎn)稱為“MPEG”)和國(guó)際電信聯(lián)盟電信標(biāo)準(zhǔn)化組(International Telecommunication Union-Telecommunication standardization sector,簡(jiǎn)稱為“ITU-T”)的視頻編碼專家組(Video Coding Experts Group,簡(jiǎn)稱為“VCEG”)。成立于1986年的MPEG專門負(fù)責(zé)制定多媒體領(lǐng)域內(nèi)的相關(guān)標(biāo)準(zhǔn),主要應(yīng)用于存儲(chǔ)、廣播電視、因特網(wǎng)或無線網(wǎng)上的流媒體等。ITU-T則主要制定面向?qū)崟r(shí)視頻通信領(lǐng)域的視頻編碼標(biāo)準(zhǔn),如視頻電話、視頻會(huì)議等應(yīng)用。
在過去的幾十年里,國(guó)際上已經(jīng)成功制定了面向各種應(yīng)用的視頻編碼標(biāo)準(zhǔn),主要包括:用于影音光碟(Video Compact Disc,簡(jiǎn)稱為“VCD”)的MPEG-1標(biāo)準(zhǔn),用于豎直多功能光盤(Digital Video Disc,簡(jiǎn)稱為“DVD”)和數(shù)字視頻廣播(Digital Video Broadcasting,簡(jiǎn)稱為“DVB”)的MPEG-2標(biāo)準(zhǔn),用于視頻會(huì)議的H.261標(biāo)準(zhǔn)以及H.263標(biāo)準(zhǔn)、H.264標(biāo)準(zhǔn),允許對(duì)任意形狀的對(duì)象編碼的MPEG-4標(biāo)準(zhǔn),以及最新的高性能視頻編碼(High Efficiency Video Coding,簡(jiǎn)稱為“HEVC”)標(biāo)準(zhǔn)。
相比于最新的視頻編碼標(biāo)準(zhǔn)HEVC,對(duì)于包含旋轉(zhuǎn)、縮放運(yùn)動(dòng)的序列, 基于線性變化的運(yùn)動(dòng)矢量場(chǎng)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)技術(shù)可以顯著提高編碼性能,在現(xiàn)有的基于仿射變換的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)技術(shù)中,在獲得圖像塊的仿射變換參數(shù)后,要計(jì)算圖像塊內(nèi)每個(gè)點(diǎn)的運(yùn)動(dòng)矢量,根據(jù)每個(gè)點(diǎn)的運(yùn)動(dòng)矢量做運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),從而獲取每個(gè)點(diǎn)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)。由于圖像塊內(nèi)每個(gè)點(diǎn)的運(yùn)動(dòng)矢量都可能不同,需要根據(jù)運(yùn)動(dòng)矢量為每個(gè)點(diǎn)進(jìn)行不同的操作?;邳c(diǎn)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)復(fù)雜度很高,為了降低編解碼的復(fù)雜度,相關(guān)技術(shù)嘗試在圖像塊內(nèi)再劃分子圖像塊,求得每個(gè)子圖像塊的運(yùn)動(dòng)矢量,再獲得每個(gè)子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)。
但是,相關(guān)技術(shù)中的子圖像塊的大小是固定的,子圖像塊過小會(huì)導(dǎo)致較高的編解碼的復(fù)雜度,子圖像塊過大會(huì)降低編解碼性能。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種視頻圖像編碼和解碼的方法、編碼設(shè)備和解碼設(shè)備,可以通過選取合適大小的子圖像塊,降低編解碼的復(fù)雜度,提升編解碼性能。
第一方面,提供了一種視頻圖像編碼的方法,包括:確定仿射圖像塊的運(yùn)動(dòng)矢量差異;確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,該確定仿射圖像塊的運(yùn)動(dòng)矢量差異,包括:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,該根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量,包括:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第 一分量;
其中,該根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量,包括:確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,該方法還包括:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);
其中,該確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值,包括:根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;
其中,該確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值,包括:根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,該方法還包括:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;
其中,該確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值,包括:將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;
其中,該確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值,包括:將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;該確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值,包括:
確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
結(jié)合第一方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,該根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,包括:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第一方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式中,該根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,包括:
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確 定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第一方面的第一種至第七種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第一方面的第八種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
結(jié)合第一方面的第一種至第八種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第一方面的第九種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
結(jié)合第一方面的第七種可能的實(shí)現(xiàn)方式,在第一方面的第十種可能的實(shí)現(xiàn)方式中,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
結(jié)合第一方面,第一方面的第一種至第十種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第一方面的第十一種可能的實(shí)現(xiàn)方式中,該確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,包括:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
結(jié)合第一方面,第一方面的第一種至第十一種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第一方面的第十二種可能的實(shí)現(xiàn)方式中,該根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行編碼處理,包括:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行編碼。
結(jié)合第一方面的第十二種可能的實(shí)現(xiàn)方式,在第一方面的第十三種可能的實(shí)現(xiàn)方式中,該方法還包括:對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
結(jié)合第一方面的第十三種可能的實(shí)現(xiàn)方式,在第一方面的第十四種可能的實(shí)現(xiàn)方式中,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
第二方面,提供了一種視頻圖像解碼的方法,包括:確定仿射圖像塊的 運(yùn)動(dòng)矢量差異;確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,該確定仿射圖像塊的運(yùn)動(dòng)矢量差異,包括:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,該根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量,包括:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;
其中,該根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量,包括:確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,該方法還包括:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);
其中,該確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值,包括:根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;
其中,該確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值,包括:根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,該方法還包括:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;
其中,該確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值,包括:將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;
其中,該確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值,包括:將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第五種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;該確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值,包括:
確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
結(jié)合第二方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第二方面的第六種可能的實(shí)現(xiàn)方式中,該根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,包括:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢 量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第二方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第二方面的第七種可能的實(shí)現(xiàn)方式中,該根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,包括:
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第二方面的第一種至第七種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第二方面的第八種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
結(jié)合第二方面的第一種至第八種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第二方面的第九種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
結(jié)合第二方面的第七種可能的實(shí)現(xiàn)方式,在第二方面的第十種可能的實(shí)現(xiàn)方式中,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
結(jié)合第二方面,第二方面的第一種至第十種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第二方面的第十一種可能的實(shí)現(xiàn)方式中,該確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,包括:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
結(jié)合第二方面,第二方面的第一種至第十一種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第二方面的第十二種可能的實(shí)現(xiàn)方式中,該根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理,包括:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行解碼。
結(jié)合第二方面的第十二種可能的實(shí)現(xiàn)方式,在第二方面的第十三種可能的實(shí)現(xiàn)方式中,該方法還包括:對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
結(jié)合第二方面的第十三種可能的實(shí)現(xiàn)方式,在第二方面的第十四種可能的實(shí)現(xiàn)方式中,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
第三方面,提供了一種編碼設(shè)備,包括:第一確定模塊,用于確定仿射圖像塊的運(yùn)動(dòng)矢量差異;第二確定模塊,用于確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;第三確定模塊,用于根據(jù)該第一確定模塊確定的該運(yùn)動(dòng)矢量差異、該第二確定模塊確定的該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);編碼模塊,用于根據(jù)該第三確定模塊確定的該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值 和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第五種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該第一確定模塊具體用于:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
結(jié)合第三方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第三方面的第六種可能的實(shí)現(xiàn)方式中,該第三確定模塊具體用于:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第三方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第三方面的第七種可能的實(shí)現(xiàn)方式中,該第三確定模塊具體用于:在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第三方面的第一種至第七種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第三方面的第八種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
結(jié)合第三方面的第一種至第八種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第三方面的第九種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
結(jié)合第三方面的第七種可能的實(shí)現(xiàn)方式,在第三方面的第十種可能的實(shí)現(xiàn)方式中,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
結(jié)合第三方面,第三方面的第一種至第十種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第三方面的第十一種可能的實(shí)現(xiàn)方式中,該第二確定模塊具體用于:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
結(jié)合第三方面,第三方面的第一種至第十一種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第三方面的第十二種可能的實(shí)現(xiàn)方式中,該編碼模塊具體用于:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行編碼。
結(jié)合第三方面的第十二種可能的實(shí)現(xiàn)方式,在第三方面的第十三種可能的實(shí)現(xiàn)方式中,該編碼設(shè)備還包括:濾波模塊,用于對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
結(jié)合第三方面的第十三種可能的實(shí)現(xiàn)方式,在第一方面的第十四種可能的實(shí)現(xiàn)方式中,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
第四方面,提供了一種解碼設(shè)備,包括:第一確定模塊,用于確定仿射圖像塊的運(yùn)動(dòng)矢量差異;第二確定模塊,用于確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;第三確定模塊,用于根據(jù)該第一確定模塊確定的該運(yùn)動(dòng)矢量差異、該第二確定模塊確定的該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);解碼模塊,用于根據(jù)該第三確定模塊確定的該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;確定 該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第四種可能的實(shí)現(xiàn)方式中,該第一確定模塊具體用于確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值。
結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第五種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該第一確定模塊具體用于:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
結(jié)合第四方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方 式,在第四方面的第六種可能的實(shí)現(xiàn)方式中,該第三確定模塊具體用于:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第四方面的第三種至第五種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第四方面的第七種可能的實(shí)現(xiàn)方式中,該第三確定模塊具體用于:在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
結(jié)合第四方面的第一種至第七種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第四方面的第八種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
結(jié)合第四方面的第一種至第八種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第四方面的第九種可能的實(shí)現(xiàn)方式中,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
結(jié)合第四方面的第七種可能的實(shí)現(xiàn)方式,在第四方面的第十種可能的實(shí)現(xiàn)方式中,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
結(jié)合第四方面,第四方面的第一種至第十種可能的實(shí)現(xiàn)方式中任一可能的實(shí)現(xiàn)方式,在第四方面的第十一種可能的實(shí)現(xiàn)方式中,該第二確定模塊具體用于:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
結(jié)合第四方面,第四方面的第一種至第十一種可能的實(shí)現(xiàn)方式中任一可 能的實(shí)現(xiàn)方式,在第四方面的第十二種可能的實(shí)現(xiàn)方式中,該解碼模塊具體用于:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行解碼。
結(jié)合第四方面的第十二種可能的實(shí)現(xiàn)方式,在第四方面的第十三種可能的實(shí)現(xiàn)方式中,該解碼設(shè)備還包括:濾波模塊,用于對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
結(jié)合第四方面的第十三種可能的實(shí)現(xiàn)方式,在第四方面的第十四種可能的實(shí)現(xiàn)方式中,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
基于上述技術(shù)方案,本發(fā)明實(shí)施例的視頻圖像編碼和解碼的方法、編碼設(shè)備和解碼設(shè)備,根據(jù)仿射圖像塊的運(yùn)動(dòng)矢量差異、仿射圖像塊的運(yùn)動(dòng)矢量精度和仿射圖像塊中的控制點(diǎn)之間的距離,確定仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,由此,在編解碼過程中能夠通過選取合適大小的子圖像塊,降低編解碼的復(fù)雜度,提升編解碼性能。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的示意性流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的另一示意性流程圖;
圖3是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的再一示意性流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的再一示意性流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的仿射圖像塊及控制點(diǎn)的示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的仿射圖像塊中三個(gè)不重合像素點(diǎn)的示意圖;
圖7是根據(jù)本發(fā)明實(shí)施例的仿射圖像塊的另一示意圖;
圖8是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的再一示意性流程圖;
圖9是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的再一示意性流程圖;
圖10是根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的再一示意性流程圖;
圖11是根據(jù)本發(fā)明實(shí)施例的仿射圖像塊的再一示意圖;
圖12是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的示意性流程圖;
圖13是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的另一示意性流程圖;
圖14是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的再一示意性流程圖;
圖15是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的再一示意性流程圖;
圖16是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的再一示意性流程圖;
圖17是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的再一示意性流程圖;
圖18是根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的再一示意性流程圖;
圖19是根據(jù)本發(fā)明實(shí)施例的編碼設(shè)備的示意性框圖;
圖20是根據(jù)本發(fā)明實(shí)施例的編碼設(shè)備的另一示意性框圖;
圖21是根據(jù)本發(fā)明實(shí)施例的解碼設(shè)備的示意性框圖;
圖22是根據(jù)本發(fā)明實(shí)施例的解碼設(shè)備的另一示意性框圖;
圖23是根據(jù)本發(fā)明另一實(shí)施例的編碼設(shè)備的示意性框圖;
圖24是根據(jù)本發(fā)明另一實(shí)施例的解碼設(shè)備的示意性框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1示出了根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法的示意性流程圖。圖1所示的方法可以由編碼設(shè)備執(zhí)行,例如編碼器,具體地,如圖1所示,方法1000包括:
S1100,確定仿射圖像塊的運(yùn)動(dòng)矢量差異;
S1200,確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;
S1300,根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);
S1400,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
具體而言,編碼設(shè)備根據(jù)確定的控制點(diǎn),確定仿射圖像塊的運(yùn)動(dòng)矢量差異,并確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,根據(jù)確定的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)確定的該大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
因此,本發(fā)明實(shí)施例的視頻圖像編碼的方法,編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,降低編碼的復(fù)雜度,提高編碼性能。
應(yīng)理解,在本發(fā)明實(shí)施例中,該仿射圖像(Affine)塊為圖像塊內(nèi)所有單元的運(yùn)動(dòng)矢量符合相同的仿射模型,例如,同一個(gè)仿射模型,并可以用相同的參數(shù),例如同一組參數(shù)來表示的圖像塊。其中單元是指一組像素,例如,可以是一個(gè)像素點(diǎn),也可以是1×3,2×4等的塊結(jié)構(gòu),本發(fā)明對(duì)此不作限定。
應(yīng)理解,在本發(fā)明實(shí)施例中,仿射運(yùn)動(dòng)補(bǔ)償子圖像(Affine Motion Compensation,簡(jiǎn)稱為“Affine-MC”)塊為Affine塊內(nèi)部劃分出來的用來做運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的子圖像塊,每個(gè)Affine-MC塊的大小可以相同也可以不同,本發(fā)明對(duì)此不作限定。
還應(yīng)理解,在本發(fā)明實(shí)施例中,可以選擇任意不重合的像素點(diǎn)作為控制點(diǎn)來確定Affine塊的運(yùn)動(dòng)矢量差異,本發(fā)明對(duì)此不作限定。
優(yōu)選地,如圖2所示,S1100包括:
S1101,根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;
S1102,根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
應(yīng)理解,在本發(fā)明實(shí)施例中,該運(yùn)動(dòng)矢量差異的第一分量指該運(yùn)動(dòng)矢量差異的水平分量,該運(yùn)動(dòng)矢量差異的第二分量指該運(yùn)動(dòng)矢量差異的豎直分 量。
還應(yīng)理解,在本發(fā)明實(shí)施例中,第一、第二、第三和第四只是為了區(qū)分像素點(diǎn),而不應(yīng)該對(duì)本發(fā)明的保護(hù)范圍構(gòu)成任何限定,例如,第一控制點(diǎn)也可以稱為第二控制點(diǎn),第二控制點(diǎn)可以成為第一控制點(diǎn)等。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)和該第三控制點(diǎn)為同一個(gè)像素點(diǎn),也就是說,選取的控制點(diǎn)的個(gè)數(shù)為3個(gè),并且3個(gè)控制點(diǎn)中的一個(gè)控制點(diǎn)與其他2個(gè)控制點(diǎn)中的一個(gè)控制點(diǎn)位于同一水平線上,與其他2個(gè)控制點(diǎn)中的另一個(gè)控制點(diǎn)位于同一豎直線上。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該Affine塊的頂點(diǎn),假設(shè)一個(gè)Affine塊的4個(gè)頂點(diǎn)分別標(biāo)記為左上角頂點(diǎn)、左下角頂點(diǎn)、右上角頂點(diǎn)和右下角頂點(diǎn),可以選擇位于兩個(gè)正交方向上的任意三個(gè)頂點(diǎn)來確定該Affine塊的運(yùn)動(dòng)矢量差異,例如,可以選擇左上角頂點(diǎn)、左下角頂點(diǎn)和右上角頂點(diǎn),可以選擇左上角頂點(diǎn)、右上角頂點(diǎn)和右下角頂點(diǎn),本發(fā)明對(duì)此不作限定。
在本發(fā)明實(shí)施例中,可選地,可以將第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的兩個(gè)方向上的分量中任意一個(gè)方向上的分量的差值確定為該Affine塊的運(yùn)動(dòng)矢量差異的第一分量,可以將第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的兩個(gè)方向上的分量中任意一個(gè)方向上的分量的差值確定為該Affine塊的運(yùn)動(dòng)矢量差異的第二分量;還可以根據(jù)實(shí)際對(duì)編碼復(fù)雜度和編碼性能的要求,選擇介于第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的兩個(gè)方向上的分量的兩個(gè)差值之間的數(shù)值確定為該第一分量,選擇介于第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的兩個(gè)方向上的分量的兩個(gè)差值之間的數(shù)值確定為該第二分量,本發(fā)明對(duì)此不作限定。
可選地,如圖3所示,S1101具體包括:
S1103,確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;
S1104,將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;
相應(yīng)的,如圖4所示,S1102具體包括:
S1105,確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;
S1106,將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
也就是說,如果用vx(x,y)和vy(x,y)表示位置為(x,y)的像素點(diǎn)的運(yùn)動(dòng)矢量的水平分量和豎直分量,則可以根據(jù)公式(1)和(2)確定Affine塊的運(yùn)動(dòng)矢量差異:
Δmvhor=max(vx(x+w,y)-vx(x,y),vy(x+w,y)-vyx,y) (1)
Δmvver=max(vx(x',y'+h)-vx(x',y'),vy(x',y'+h)-vy(x',y')) (2)
其中,max表示取最大值,Δmvhor表示Affine塊的運(yùn)動(dòng)矢量差異的水平分量,Δmvver表示Affine塊的運(yùn)動(dòng)矢量差異的豎直分量,w表示第一控制點(diǎn)與第二控制點(diǎn)的第一水平距離,h表示第三控制點(diǎn)與第四控制點(diǎn)的第一豎直距離。
在本發(fā)明實(shí)施例中,可選地,可以確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);
相應(yīng)地,S1103具體為:根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;
S1105具體為:根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
應(yīng)理解,上述各過程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。
在本發(fā)明實(shí)施例中,可選地,仿射變換模型可以采用現(xiàn)有技術(shù)中的6參數(shù)仿射變換模型,也可以采用4參數(shù)或2參數(shù)仿射變換模型,在6參數(shù)仿射變換模型中,假設(shè)(x,y)為像素點(diǎn)P在當(dāng)前圖像中的坐標(biāo),(x′,y′)為像素點(diǎn)P在參考圖像中匹配的像素點(diǎn)P'的坐標(biāo),a,b,c,d,e,f為仿射變換參數(shù)。若已知仿射變換參數(shù),即可求得像素點(diǎn)(x,y)在參考圖像中的位置(x′,y′),從而可以從參考圖像中獲得像素點(diǎn)的預(yù)測(cè)信號(hào):
x′=ax+by+e (3)
y′=cx+dy+f (4)
通常情況下,仿射變換參數(shù)可以根據(jù)圖像塊中部分像素點(diǎn)的運(yùn)動(dòng)矢量計(jì)算得到,運(yùn)動(dòng)矢量的水平分量和豎直分量可分別表示為公式(5)和(6):
vx=x-x' (5)
vy=y(tǒng)-y' (6)
將公式(3)帶入公式(5)中,將公式(4)帶入公式(6)中,得到坐標(biāo)為(x,y)的像素點(diǎn)的運(yùn)動(dòng)矢量的水平分量和豎直分量分別為公式(7)和(8):
vx=(1-a)x-by-e (7)
vy=(1-d)y-cx-f (8)
將公式(7)帶入公式(1)中,將公式(8)帶入公式(2)中,公式(1)和(2)分別轉(zhuǎn)變?yōu)楣?9)和(10):
Δmvhor=max((1-a)w,-cw) (9)
Δmvver=max(-bh,(1-d)h) (10)
通過確定仿射變換參數(shù)a、b、c和d,以及控制點(diǎn)之間的距離就可以確定Affine塊的運(yùn)動(dòng)矢量差異的第一分量和第二分量。
應(yīng)理解,在采用4參數(shù)仿射變換模型或2參數(shù)仿射變換模型時(shí),確定運(yùn)動(dòng)矢量差異的方法和采用6參數(shù)仿射變換模型時(shí)的確定方法本質(zhì)上是相同的,為了簡(jiǎn)便,在此不再贅述。
在本發(fā)明實(shí)施例中,可選地,在編碼過程中,仿射變換參數(shù)可以通過對(duì)各個(gè)系數(shù)進(jìn)行迭代計(jì)算得到,比如將系數(shù)a加1,判斷在該模型下運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)是否是最優(yōu)。仿射變換參數(shù)也可以是根據(jù)鄰近Affine塊的仿射變換系數(shù)推導(dǎo)得到的。但本發(fā)明并不限于此。
在本發(fā)明實(shí)施例中,可選地,可以確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;
相應(yīng)地,S1103具體為:將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;
S1105具體為:將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值。
具體而言,可以直接確定出控制點(diǎn)的運(yùn)動(dòng)矢量,通過將運(yùn)動(dòng)矢量的各分量分別作差,就可以直接得到Affine塊的運(yùn)動(dòng)矢量差異的第一分量和第二分 量。
例如,圖5是根據(jù)本發(fā)明實(shí)施例的仿射圖像塊及控制點(diǎn)的示意圖。其中兩個(gè)控制點(diǎn)A和B在同一水平線上,距離為w,兩個(gè)控制點(diǎn)C和D在同一豎直線上,距離為h,如果已知控制點(diǎn)A、B、C和D點(diǎn)的運(yùn)動(dòng)矢量,則可以根據(jù)公式(11)和(12)確定Affine塊的運(yùn)動(dòng)矢量差異的第一分量和第二分量:
Δmvhor=max(vxB-vxA,vyB-vyA) (11)
Δmvver=max(vxC-vxD,vyC-vyD) (12)
在本發(fā)明實(shí)施例中,可選地,控制點(diǎn)A和C可以為同一個(gè)像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,控制點(diǎn)A、B、C和D可以為Affine塊的頂點(diǎn),此時(shí),控制點(diǎn)A和B的距離為Affine塊的寬度W,控制點(diǎn)C和D的間距為Affine塊的高度H。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該S1103和S1105具體為:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
具體而言,假設(shè)A、B和C是圖像塊中任意互相不重合的三個(gè)像素點(diǎn),三個(gè)像素點(diǎn)的位置如圖6所示,三個(gè)點(diǎn)的運(yùn)動(dòng)矢量分別為(vxA,vyA)、(vxB,vyB)和(vxC,vyC)。點(diǎn)A與點(diǎn)B在水平方向的距離是w1,豎直方向的距離是h1,點(diǎn)A與點(diǎn)C在水平方向的距離是w2,豎直方向的距離是h2,點(diǎn)B與點(diǎn)C的在水平方向的距離為w2-w1,豎直方向的距離是h1+h2。假設(shè)在水平方向上相鄰的兩個(gè)像素點(diǎn)的運(yùn)動(dòng)矢量在水平方向的各分量的差異分別為Δmvxhor和Δmvyhor,在豎直方向上相鄰的兩個(gè)像素點(diǎn)的運(yùn)動(dòng)矢量在豎直方向的各分量的差異分別為Δmvxver和Δmvyver,由于圖像塊內(nèi)運(yùn)動(dòng)矢量是線性變化的,則可以通過確定A、B和C點(diǎn)的運(yùn)動(dòng)矢量確定Δmvxhor、Δmvyhor、Δmvxver和Δmvyver,從 而可以確定圖像塊的相鄰像素點(diǎn)的運(yùn)動(dòng)矢量差異。具體可以根據(jù)公式(13)~(16)確定:
vxB=vxA+w1·Δmvxhor+h1·Δmvxver (13)
vyB=vyA+w1·Δmvyhor+h1·Δmvyver (14)
vxC=vxA+w2·Δmvxhor+h2·Δmvxver (15)
vyC=vyA+w2·Δmvyhor+h2·Δmvyver (16)
還可以根據(jù)公式(13)和(14)以及公式(17)和(18)確定:
vxC=vxB+(w2-w1)·Δmvxhor+(h2+h1)·Δmvxver (17)
vyC=vyB+(w2-w1)·Δmvyhor+(h2+h1)·Δmvyver (18)
在本發(fā)明實(shí)施例中,可選地,編碼設(shè)備可以從通過運(yùn)動(dòng)估計(jì)搜索得到所有控制點(diǎn)的運(yùn)動(dòng)矢量;可以從周圍圖像塊獲得所有控制點(diǎn)的運(yùn)動(dòng)矢量;可以根據(jù)仿射變換模型計(jì)算出所有控制點(diǎn)的運(yùn)動(dòng)矢量;可以通過運(yùn)動(dòng)估計(jì)搜索得到部分控制點(diǎn)的運(yùn)動(dòng)矢量,從鄰近圖像塊獲得其他控制點(diǎn)的運(yùn)動(dòng)矢量;可以通過仿射運(yùn)動(dòng)估計(jì)搜索得到部分控制點(diǎn)的運(yùn)動(dòng)矢量,根據(jù)仿射變換模型計(jì)算得到其他控制點(diǎn)的運(yùn)動(dòng)矢量;可以從鄰近圖像塊獲得部分控制點(diǎn)的運(yùn)動(dòng)矢量,根據(jù)仿射變換模型計(jì)算出其他控制點(diǎn)的運(yùn)動(dòng)矢量;但本發(fā)明并不限于此。
可選地,在S1200中,可以將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
具體而言,Affine塊的運(yùn)動(dòng)矢量的值可以是整數(shù),此時(shí)稱運(yùn)動(dòng)矢量是整像素精度,即像素精度為1;運(yùn)動(dòng)矢量的值也可以是非整數(shù)的,此時(shí)稱運(yùn)動(dòng)矢量是亞像素精度,包括1/2、1/4、1/8等精度。圖7所示的是一個(gè)4×4的圖像塊,其中×表示的是整像素位置的像素,采集得到的圖像只有整像素位置的像素。O表示的是1/2精度位置的像素,需要通過整像素位置的像素進(jìn)行插值來得到。其他精度位置的像素值需要使用整像素精度像素或1/2精度像素進(jìn)一步插值來獲得。若當(dāng)前像素點(diǎn)的運(yùn)動(dòng)矢量是整數(shù),則指向參考圖像中×所在的位置,若當(dāng)前像素點(diǎn)的運(yùn)動(dòng)矢量是1/2精度,則指向參考圖像中O所在的位置。
Affine塊的運(yùn)動(dòng)矢量精度指Affine塊內(nèi)所有像素點(diǎn)的運(yùn)動(dòng)矢量的最高精度。Affine塊的運(yùn)動(dòng)矢量精度可以是預(yù)先設(shè)定好的,例如整像素精度、1/2、 1/4、1/8、1/16等精度。也可以是根據(jù)圖Affine塊鄰近圖像塊的特性來確定,例如若周圍的圖像較為平滑,可以預(yù)測(cè)當(dāng)前Affine塊也較為平滑,則可以選用較高的運(yùn)動(dòng)矢量精度,例如1/8、1/16精度等,反之選用較低的運(yùn)動(dòng)矢量精度,例如整像素精度、1/2精度等。獲得的精度用MvAc來表示。
可選地,如圖8所示,S1300具體包括:
S1301,將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
S1302,將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
具體而言,通常獲得的運(yùn)動(dòng)矢量差異Δmvhor和Δmvver較小,表示每個(gè)像素點(diǎn)的運(yùn)動(dòng)矢量的精度過高,例如1/32,1/64等。過高的運(yùn)動(dòng)矢量精度對(duì)視頻的壓縮性能貢獻(xiàn)不大,且會(huì)帶來巨大的計(jì)算量。因此,根據(jù)之前獲得的期望的運(yùn)動(dòng)矢量精度MvAc,來對(duì)Affine塊進(jìn)行劃分,劃分成多個(gè)Affine-MC塊,保證每個(gè)Affine-MC塊的運(yùn)動(dòng)矢量精度達(dá)到MvAc。
在本發(fā)明實(shí)施例中,可選地,假設(shè)第一控制點(diǎn)與第二控制點(diǎn)之間的水平距離為w,第三控制點(diǎn)與第四控制點(diǎn)之間的豎直距離為h,假設(shè)Affine-MC塊的寬度為aMcW,高度為aMcH,則可以根據(jù)公式(19)確定aMcW和aMcH:
等同于:
在本發(fā)明實(shí)施中,可選地,在該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為Affine塊的頂點(diǎn)時(shí),該第一控制點(diǎn)與該第二控制點(diǎn)之間的水平距離為Affine塊的寬度W,該第三控制點(diǎn)與該第四控制點(diǎn)之間的豎直距離為Affine塊的高度H。則Affine-MC塊的寬度aMcW和高度aMcH,可以根據(jù)公式(20)確定:
等同于:
在本發(fā)明實(shí)施例中,可選地,在該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的 控制點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的控制點(diǎn)時(shí),該第一控制點(diǎn)與該第二控制點(diǎn)之間的第一水平距離為1,即第一控制點(diǎn)與第二控制點(diǎn)之間間隔一個(gè)整數(shù)的像素間隔;該第三控制點(diǎn)與該第四控制點(diǎn)之間的第一豎直距離為1,即第三控制點(diǎn)與第四控制點(diǎn)之間間隔一個(gè)整數(shù)的像素間隔。則公式(19)可以簡(jiǎn)化為公式(21):
等同于:
因此,本發(fā)明實(shí)施例的視頻圖像編碼的方法,編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,在保持仿射變換運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)性能的前提下,降低編碼的復(fù)雜度,提高編碼性能。
可選地,如圖9所示,S1300包括:
S1303,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
S1304,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
具體而言,為了編碼過程中的硬件實(shí)現(xiàn),可以對(duì)Affine-MC塊的寬度和高度設(shè)置一個(gè)下限值,在計(jì)算出的寬度或高度小于該預(yù)設(shè)的下限值時(shí),將該預(yù)設(shè)的下限值確定為Affine-MC塊的寬度或高度,優(yōu)選地,可以將該下限值 均設(shè)定為4,但也可以根據(jù)實(shí)際需要設(shè)置為其他數(shù)值,例如,可以將寬度的下限值設(shè)定為2,高度的設(shè)定值設(shè)定為3,或者寬度的下限值設(shè)定為1,高度的設(shè)定值設(shè)定為2,本發(fā)明對(duì)此不作限定。
可選地,如圖10所示,S1400包括:
S1401,確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;
S1402,根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);
S1403,根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);
S1404,對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行編碼。
應(yīng)理解,在本發(fā)明實(shí)施例中,每個(gè)Affine-MC塊可能包含多個(gè)像素點(diǎn),需要從每個(gè)Affine-MC中選取一個(gè)像素點(diǎn)的運(yùn)動(dòng)矢量作為該Affine-MC塊的運(yùn)動(dòng)矢量。
可選地,在S1401中,可以選取Affine-MC塊的中心位置處的像素點(diǎn)的運(yùn)動(dòng)矢量作為該Affine-MC塊的運(yùn)動(dòng)矢量,可以將Affine-MC塊內(nèi)所有像素點(diǎn)的運(yùn)動(dòng)矢量的平均值作為該Affine-MC塊的運(yùn)動(dòng)矢量,可以選取位于Affine-MC塊的左上角的像素點(diǎn)的運(yùn)動(dòng)矢量作為該Affine-MC塊的運(yùn)動(dòng)矢量,但本發(fā)明并不限于此。
在本發(fā)明實(shí)施例中,可選地,對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
具體而言,如圖11所示,粗實(shí)線塊表示Affine塊,細(xì)實(shí)線塊表示Affine-MC塊,虛線框表示相鄰的Affine-MC塊的邊界的像素,交叉點(diǎn)表示像素。其中,圖11中虛線框的區(qū)域包含相鄰Affine-MC塊各自在邊界的兩行或者兩列像素,也可以包含各自邊界的一行或一列,三行或三列等。由于相鄰的Affine-MC塊的運(yùn)動(dòng)矢量可能不同,那么從參考圖像中取得的預(yù)測(cè)信號(hào)在參考圖像中不相鄰,這會(huì)導(dǎo)致相鄰Affine-MC塊邊界的預(yù)測(cè)信號(hào)之間的不連續(xù),從而導(dǎo)致殘差的不連續(xù),影響殘差的編碼性能,因此考慮對(duì) Affine-MC塊邊界處的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)進(jìn)行濾波。
重建信號(hào)一般是將運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)相加而得到。殘差信號(hào)一般使用有損編碼,這會(huì)導(dǎo)致重建的殘差信號(hào)與原始的殘差信號(hào)之間存在失真。相鄰Affine-MC塊的邊界處的像素的失真方向可能不一致,例如第一個(gè)Affine-MC塊右邊的像素由于失真變大,右邊相鄰的Affine-MC塊左邊的像素由于失真變小,這會(huì)導(dǎo)致在Affine-MC塊的重建像素的邊界處像素值不連續(xù),影響主觀和客觀的效果。因此需要對(duì)重建信號(hào)進(jìn)行濾波。
在本發(fā)明實(shí)施例中,可選地,可以通過低通濾波器進(jìn)行濾波,使得邊界區(qū)域的像素值變化的更平緩,例如使用高斯濾波器進(jìn)行濾波,但本發(fā)明并不限于此。
在本發(fā)明實(shí)施例中,可選地,可以采用重疊分塊運(yùn)動(dòng)補(bǔ)償(Overlapped block motion compensation,簡(jiǎn)稱為“OBMC”方法進(jìn)行濾波。對(duì)待濾波的像素使用其鄰近的Affine-MC塊的運(yùn)動(dòng)矢量做運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),將獲得的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與使用待濾波像素自己的運(yùn)動(dòng)矢量獲得的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)進(jìn)行加權(quán)平均,得到最終的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)。
為了更好的證明本發(fā)明實(shí)施例相對(duì)于現(xiàn)有技術(shù)的有益效果,采用LDP測(cè)試結(jié)構(gòu)測(cè)試了采用本發(fā)明實(shí)施例的方法和現(xiàn)有技術(shù)中的方法進(jìn)行編碼時(shí)的編碼復(fù)雜度和編碼性能,結(jié)果如表1所示:
表1
通過表1可以看寫出,采用本發(fā)明實(shí)施例的視頻圖像編碼的方法,能夠提升編碼性能,節(jié)約編碼時(shí)間。
因此,本發(fā)明實(shí)施例的視頻圖像編碼的方法,編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng) 補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,降低編碼的復(fù)雜度,提高編碼性能。
以上結(jié)合圖1至圖11詳細(xì)描述了根據(jù)本發(fā)明實(shí)施例的視頻圖像編碼的方法,下面將結(jié)合圖12至圖18詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法。應(yīng)注意,解碼端的有關(guān)操作本質(zhì)上與編碼端的一致,為了避免重復(fù),在此不再贅述。
圖12示出了根據(jù)本發(fā)明實(shí)施例的視頻圖像解碼的方法的示意性流程圖。圖12所示的方法可以由解碼設(shè)備執(zhí)行,例如解碼器,具體地,如圖12所示,方法2000包括:
S2100,確定仿射圖像塊的運(yùn)動(dòng)矢量差異;
S2200,確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;
S2300,根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);
S2400,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
具體而言,解碼設(shè)備根據(jù)確定的控制點(diǎn),確定仿射圖像塊的運(yùn)動(dòng)矢量差異,并確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,根據(jù)確定的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)確定的該大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
因此,本發(fā)明實(shí)施例的視頻圖像解碼的方法,解碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)確定的該大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。由此,在解碼過程中能夠通過選取合適大小的子圖像塊,降低解碼的復(fù)雜度,提高解碼性能。
優(yōu)選地,如圖13所示,S2100包括:
S2101,根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;
S2102,根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
應(yīng)理解,在本發(fā)明實(shí)施例中,該運(yùn)動(dòng)矢量差異的第一分量指該運(yùn)動(dòng)矢量差異的水平分量,該運(yùn)動(dòng)矢量差異的第二分量指該運(yùn)動(dòng)矢量差異的豎直分量。
可選地,如圖14所示,S2101具體包括:
S2103,確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;
S2104,將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;
相應(yīng)的,如圖15所示,S2102具體包括:
S2105,確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;
S2106,將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
在本發(fā)明實(shí)施例中,可選地,可以確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);
相應(yīng)地,S2103具體為:根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;
S2105具體為:根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,可以確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;
相應(yīng)地,S2103具體為:將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;
S2105具體為:將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定 為該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該S2103和S2105具體為:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,解碼設(shè)備可以從碼流中解析得到所有控制點(diǎn)的運(yùn)動(dòng)矢量;可以從周圍圖像塊獲得所有控制點(diǎn)的運(yùn)動(dòng)矢量;可以根據(jù)仿射變換模型計(jì)算出所有控制點(diǎn)的運(yùn)動(dòng)矢量;可以從碼流中解析得到部分控制點(diǎn)的運(yùn)動(dòng)矢量,從鄰近圖像塊獲得其他控制點(diǎn)的運(yùn)動(dòng)矢量;可以碼流中解析得到部分控制點(diǎn)的運(yùn)動(dòng)矢量,根據(jù)仿射變換模型計(jì)算得到其他控制點(diǎn)的運(yùn)動(dòng)矢量;可以從鄰近圖像塊獲得部分控制點(diǎn)的運(yùn)動(dòng)矢量,根據(jù)仿射變換模型計(jì)算出其他控制點(diǎn)的運(yùn)動(dòng)矢量;但本發(fā)明并不限于此。
可選地,在S2200中,可以將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
可選地,如圖16所示,S2300具體包括:
S2301,將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
S2302,將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
可選地,如圖17所示,S2300包括:
S2303,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的水平分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
S2304,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的豎直分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的豎直分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
可選地,如圖18所示,S2400包括:
S2401,確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;
S2402,根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);
S2403,根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);
S2404,對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行解碼。
在本發(fā)明實(shí)施例中,可選地,對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。因此,本發(fā)明實(shí)施例的視頻圖像解碼的方法,解碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)確定的該大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。由此,在解碼過程中能夠通過選取合適大小的子圖像塊,降低解碼的復(fù)雜度,提高解碼性能。
可選地,本發(fā)明中解碼方法也可以是:
解析碼流,以獲取仿射圖像塊的運(yùn)動(dòng)矢量差異以及該仿射圖像塊的運(yùn)動(dòng)矢量精度,其中,該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);
根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間 的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);
根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
或者;
解析碼流,獲取仿射圖像塊信息;
根據(jù)該仿射圖像塊信息確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大??;
根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
通過這種方式解碼端可以無需重新計(jì)算,而直接用編碼端傳至解碼端的參數(shù)來確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,從而進(jìn)一步降低計(jì)算的復(fù)雜度。
下面將結(jié)合圖19和圖20詳細(xì)描述本發(fā)明實(shí)施例的編碼設(shè)備。如圖19所示,該編碼設(shè)備10包括:
第一確定模塊11,用于確定仿射圖像塊的運(yùn)動(dòng)矢量差異;
第二確定模塊12,用于確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;
第三確定模塊13,用于根據(jù)該第一確定模塊11確定的該運(yùn)動(dòng)矢量差異、該第二確定模塊12確定的該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);
編碼模塊14,用于根據(jù)該第三確定模塊13確定的該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
具體而言,編碼設(shè)備根據(jù)確定的控制點(diǎn),確定仿射圖像塊的運(yùn)動(dòng)矢量差異,并確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,根據(jù)確定的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)確定的該大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
因此,本發(fā)明實(shí)施例的編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,降低編碼的復(fù)雜度,提高編碼性能。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊11具體用于:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢 量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊11具體用于:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊11具體用于:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊11具體用于:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值;
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該第一確定模塊11具體用于:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第 二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,該第三確定模塊13具體用于:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
在本發(fā)明實(shí)施例中,可選地,該第三確定模塊13具體用于:
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
在本發(fā)明實(shí)施例中,可選地,該第二確定模塊12具體用于:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
在本發(fā)明實(shí)施例中,可選地,該編碼模塊14具體用于:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射 運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行編碼。
在本發(fā)明實(shí)施例中,可選地,如圖20所示,該編碼設(shè)備10還包括:
濾波模塊15,用于對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的編碼設(shè)備10可對(duì)應(yīng)于執(zhí)行本發(fā)明實(shí)施例中的視頻圖像編碼的方法1000,并且編碼設(shè)備10中的各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖1至圖11中的各個(gè)方法的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
因此,本發(fā)明實(shí)施例的編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,降低編碼的復(fù)雜度,提高編碼性能。
下面將結(jié)合圖21和圖22詳細(xì)描述本發(fā)明實(shí)施例的解碼設(shè)備。如圖21所示,該解碼設(shè)備20包括:
第一確定模塊21,用于確定仿射圖像塊的運(yùn)動(dòng)矢量差異;
第二確定模塊22,用于確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;
第三確定模塊23,用于根據(jù)該第一確定模塊21確定的該運(yùn)動(dòng)矢量差異、該第二確定模塊22確定的該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);
解碼模塊24,用于根據(jù)該第三確定模塊23確定的該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
具體而言,解碼設(shè)備根據(jù)確定的控制點(diǎn),確定仿射圖像塊的運(yùn)動(dòng)矢量差異,并確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,根據(jù)確定的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng) 矢量精度和控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)確定的該大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
因此,本發(fā)明實(shí)施例的解碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行解碼處理,由此,在解碼過程中能夠通過選取合適大小的子圖像塊,降低解碼的復(fù)雜度,提高解碼性能。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊21具體用于:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊21具體用于:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊21具體用于:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,該第一確定模塊21具體用于:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值; 將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值;
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該第一確定模塊21具體用于:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
在本發(fā)明實(shí)施例中,可選地,該第三確定模塊23具體用于:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
在本發(fā)明實(shí)施例中,可選地,該第三確定模塊23具體用于:
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控 制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
在本發(fā)明實(shí)施例中,可選地,該第二確定模塊22具體用于:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
在本發(fā)明實(shí)施例中,可選地,該解碼模塊24具體用于:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行解碼。
在本發(fā)明實(shí)施例中,可選地,如圖22所示,該解碼設(shè)備20還包括:
濾波模塊25,用于對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
在本發(fā)明實(shí)施例中,可選地,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的解碼設(shè)備20可對(duì)應(yīng)于執(zhí)行本發(fā)明實(shí)施例中的視頻圖像解碼的方法2000,并且解碼設(shè)備20中的各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖12至圖18中的各個(gè)方法的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
因此,本發(fā)明實(shí)施例的解碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該大小對(duì)該仿射圖像塊進(jìn)行解碼處理,由此,在解碼過程中能夠通過選取合適大小的子圖像塊,降低解碼的復(fù)雜度,提高解碼性能。
如圖23所示,本發(fā)明實(shí)施例還提供了一種編碼設(shè)備30,包括處理器31、存儲(chǔ)器32和總線系統(tǒng)33。其中,處理器31和存儲(chǔ)器32通過總線系統(tǒng)33相連,該存儲(chǔ)器32用于存儲(chǔ)指令,該處理器31用于執(zhí)行該存儲(chǔ)器32存儲(chǔ) 的指令。編碼設(shè)備30的存儲(chǔ)器32存儲(chǔ)程序代碼,且處理器31可以調(diào)用存儲(chǔ)器32中存儲(chǔ)的程序代碼執(zhí)行以下操作:確定仿射圖像塊的運(yùn)動(dòng)矢量差異;確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行編碼處理。
因此,本發(fā)明實(shí)施例的編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,降低編碼的復(fù)雜度,提高編碼性能。
應(yīng)理解,在本發(fā)明實(shí)施例中,該處理器31可以是中央處理單元(Central Processing Unit,簡(jiǎn)稱為“CPU”),該處理器31還可以是其他通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
該存儲(chǔ)器32可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器31提供指令和數(shù)據(jù)。存儲(chǔ)器32的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器。例如,存儲(chǔ)器32還可以存儲(chǔ)設(shè)備類型的信息。
該總線系統(tǒng)33除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線系統(tǒng)33。
在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器31中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器32,處理器31讀取存儲(chǔ)器32中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復(fù),這里不再詳細(xì)描述。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的 第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:確定該仿射圖像塊內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值;
可選地,作為一個(gè)實(shí)施例,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該處理器31具體用于:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素 點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
可選地,作為一個(gè)實(shí)施例,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
可選地,作為一個(gè)實(shí)施例,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
可選地,作為一個(gè)實(shí)施例,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
可選地,作為一個(gè)實(shí)施例,該處理器31具體用于:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng) 補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行編碼。
可選地,作為一個(gè)實(shí)施例,該處理器31:還用于對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
可選地,作為一個(gè)實(shí)施例,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的編碼設(shè)備30可對(duì)應(yīng)于本發(fā)明實(shí)施例中的編碼設(shè)備10,并可以對(duì)應(yīng)于執(zhí)行根據(jù)本發(fā)明實(shí)施例的方法1000中的相應(yīng)主體,并且編碼設(shè)備30中的各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖1至圖11中的各個(gè)方法的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
因此,本發(fā)明實(shí)施例的編碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小對(duì)該仿射圖像塊進(jìn)行編碼處理,由此,在編碼過程中能夠通過選取合適大小的子圖像塊,降低編碼的復(fù)雜度,提高編碼性能。
如圖24所示,本發(fā)明實(shí)施例還提供了一種解碼設(shè)備40,包括處理器41、存儲(chǔ)器42和總線系統(tǒng)43。其中,處理器41和存儲(chǔ)器42通過總線系統(tǒng)43相連,該存儲(chǔ)器42用于存儲(chǔ)指令,該處理器41用于執(zhí)行該存儲(chǔ)器42存儲(chǔ)的指令。解碼設(shè)備40的存儲(chǔ)器42存儲(chǔ)程序代碼,且處理器41可以調(diào)用存儲(chǔ)器42中存儲(chǔ)的程序代碼執(zhí)行以下操作:確定仿射圖像塊的運(yùn)動(dòng)矢量差異;確定該仿射圖像塊的運(yùn)動(dòng)矢量精度;根據(jù)該運(yùn)動(dòng)矢量差異、該運(yùn)動(dòng)矢量精度和該仿射圖像塊中的控制點(diǎn)之間的距離,確定該仿射圖像塊中的仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,該控制點(diǎn)為用于確定該運(yùn)動(dòng)矢量差異的像素點(diǎn);根據(jù)該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,對(duì)該仿射圖像塊進(jìn)行解碼處理。
因此,本發(fā)明實(shí)施例的解碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該大小對(duì)該仿射圖像塊進(jìn)行解碼處理。由此,在解碼過程中能夠通過選取合適大小的子圖像塊,降低解碼的復(fù)雜度,提高解碼性能。
應(yīng)理解,在本發(fā)明實(shí)施例中,該處理器41可以是中央處理單元(Central Processing Unit,簡(jiǎn)稱為“CPU”),該處理器41還可以是其他通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
該存儲(chǔ)器42可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器41提供指令和數(shù)據(jù)。存儲(chǔ)器42的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器。例如,存儲(chǔ)器42還可以存儲(chǔ)設(shè)備類型的信息。
該總線系統(tǒng)43除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線系統(tǒng)43。
在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器41中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器42,處理器41讀取存儲(chǔ)器42中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復(fù),這里不再詳細(xì)描述。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:根據(jù)位于同一水平線上的第一控制點(diǎn)與第二控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第一分量;根據(jù)位于同一豎直線上的第三控制點(diǎn)與第四控制點(diǎn)的運(yùn)動(dòng)矢量的差值,確定該運(yùn)動(dòng)矢量差異的第二分量;
其中,該第一控制點(diǎn)與該第二控制點(diǎn)之間具有第一水平距離,該第三控制點(diǎn)與該第四控制點(diǎn)之間具有第一豎直距離。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:確定該第一控制點(diǎn)與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的第一水平分量差值和第一豎直分量差值;將該第一水平分量差值和該第一豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第一分量;確定該第三控制點(diǎn)與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的第二水平分量差值和第二豎直分量差值;將該第二水平分量差值和該第二豎直分量差值中的最大值確定為該運(yùn)動(dòng)矢量差異的第二分量。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:確定該仿射圖像塊 內(nèi)的像素點(diǎn)的仿射變換參數(shù),該仿射圖像塊內(nèi)的像素點(diǎn)具有相同的仿射變換參數(shù);根據(jù)該仿射變換參數(shù)和該第一水平距離,確定該第一水平分量差值和該第一豎直分量差值;根據(jù)該仿射變換參數(shù)和該第一豎直距離,確定該第二水平分量差值和該第二豎直分量差值。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:確定該第一控制點(diǎn)的運(yùn)動(dòng)矢量、該第二控制點(diǎn)的運(yùn)動(dòng)矢量、該第三控制點(diǎn)的運(yùn)動(dòng)矢量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第二控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第一水平分量差值;將該第一控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第二控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量與該第四控制點(diǎn)的運(yùn)動(dòng)矢量的水平分量的差值確定為該第二水平分量差值;將該第三控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量和該第四控制點(diǎn)的運(yùn)動(dòng)矢量的豎直分量的差值,確定為該第二豎直分量差值;
可選地,作為一個(gè)實(shí)施例,該第一控制點(diǎn)與該第二控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn),該第三控制點(diǎn)與該第四控制點(diǎn)為相鄰的兩個(gè)像素點(diǎn);
其中,該處理器41具體用于:確定第一像素點(diǎn)的運(yùn)動(dòng)矢量、第二像素點(diǎn)的運(yùn)動(dòng)矢量和第三像素點(diǎn)的運(yùn)動(dòng)矢量,該第一像素點(diǎn)、該第二像素點(diǎn)和該第三像素點(diǎn)為互相不重合的像素點(diǎn);確定該第一像素點(diǎn)與該第二像素點(diǎn)之間的第二水平距離和第二豎直距離;確定該第一像素點(diǎn)與該第三像素點(diǎn)之間的第三水平距離和第三豎直距離;根據(jù)該第一像素點(diǎn)的運(yùn)動(dòng)矢量、該第二像素點(diǎn)的運(yùn)動(dòng)矢量、該第三像素點(diǎn)的運(yùn)動(dòng)矢量、該第二水平距離、該第二豎直距離、該第三水平距離和該第三豎直距離,確定該第一水平分量差值、該第一豎直分量差值、該第二水平分量差值和該第二豎直分量差值。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:將該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;將該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:
在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值大于或等于第一預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖 像塊的水平方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一水平距離的乘積與該運(yùn)動(dòng)矢量差異的第一分量的比值小于該第一預(yù)設(shè)值時(shí),將該第一預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的水平方向的長(zhǎng)度;
在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值大于或等于第二預(yù)設(shè)值時(shí),將該比值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度,或,在該運(yùn)動(dòng)矢量精度與該第一豎直距離的乘積與該運(yùn)動(dòng)矢量差異的第二分量的比值小于該第二預(yù)設(shè)值時(shí),將該第二預(yù)設(shè)值確定為該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的豎直方向的長(zhǎng)度。
可選地,作為一個(gè)實(shí)施例,該第一控制點(diǎn)與該第三控制點(diǎn)為同一個(gè)像素點(diǎn)。
可選地,作為一個(gè)實(shí)施例,該第一控制點(diǎn)、該第二控制點(diǎn)、該第三控制點(diǎn)和該第四控制點(diǎn)為該仿射圖像塊的頂點(diǎn)。
可選地,作為一個(gè)實(shí)施例,該第一預(yù)設(shè)值為4,和/或,該第二預(yù)設(shè)值為4。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:將第三預(yù)設(shè)值確定為該仿射圖像塊的運(yùn)動(dòng)矢量精度;或,根據(jù)該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運(yùn)動(dòng)矢量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時(shí)間上相鄰的圖像塊。
可選地,作為一個(gè)實(shí)施例,該處理器41具體用于:確定該仿射運(yùn)動(dòng)補(bǔ)償子圖像塊中每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量;根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)矢量,確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào);根據(jù)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào),確定該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào);對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的預(yù)測(cè)殘差信號(hào)進(jìn)行解碼。
可選地,作為一個(gè)實(shí)施例,該處理器41:還用于對(duì)該每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界像素點(diǎn)的信號(hào)進(jìn)行濾波,該邊界像素點(diǎn)為位于每個(gè)仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的邊界的一行或多行像素點(diǎn)。
可選地,作為一個(gè)實(shí)施例,該邊界像素點(diǎn)的信號(hào)包括運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)和/或重建信號(hào),該重建信號(hào)為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)信號(hào)與重建的殘差信號(hào)之和。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的解碼設(shè)備40可對(duì)應(yīng)于本發(fā)明實(shí)施例中的解碼設(shè)備20,并可以對(duì)應(yīng)于執(zhí)行根據(jù)本發(fā)明實(shí)施例的方法2000中的相應(yīng)主 體,并且解碼設(shè)備40中的各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖12至圖18中的各個(gè)方法的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
因此,本發(fā)明實(shí)施例的解碼設(shè)備通過確定的仿射圖像塊的運(yùn)動(dòng)矢量差異、運(yùn)動(dòng)矢量精度和控制點(diǎn)之間的距離,確定仿射運(yùn)動(dòng)補(bǔ)償子圖像塊的大小,根據(jù)該大小對(duì)該仿射圖像塊進(jìn)行解碼處理。由此,在解碼過程中能夠通過選取合適大小的子圖像塊,降低解碼的復(fù)雜度,提高解碼性能。
應(yīng)理解,說明書通篇中提到的“一個(gè)實(shí)施例”或“一實(shí)施例”意味著與實(shí)施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在整個(gè)說明書各處出現(xiàn)的“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”未必一定指相同的實(shí)施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個(gè)或多個(gè)實(shí)施例中。
在本發(fā)明的各種實(shí)施例中,應(yīng)理解,上述各過程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。
另外,本文中術(shù)語“系統(tǒng)”和“網(wǎng)絡(luò)”在本文中??苫Q使用。應(yīng)理解,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
在本申請(qǐng)所提供的實(shí)施例中,應(yīng)理解,“與A相應(yīng)的B”表示B與A相關(guān)聯(lián),根據(jù)A可以確定B。但還應(yīng)理解,根據(jù)A確定B并不意味著僅僅根據(jù)A確定B,還可以根據(jù)A和/或其它信息確定B。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng) 過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(Read-Only Memory,簡(jiǎn)稱為“ROM”)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱為“RAM”)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。