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

一種視頻幀的編碼及解碼方法和裝置的制造方法_3

文檔序號(hào):9456190閱讀:來(lái)源:國(guó)知局
運(yùn)動(dòng)矢量差值對(duì)當(dāng)前編碼單元進(jìn)行編碼的過(guò)程與現(xiàn)有的方式相似。
[0118]具體的,該運(yùn)動(dòng)矢量實(shí)際上是該當(dāng)前編碼單元與匹配編碼單元之間的相對(duì)位移,因此,運(yùn)動(dòng)矢量實(shí)際上指向了一個(gè)編碼單元,即該匹配編碼單元。其中,該匹配編碼單元即運(yùn)動(dòng)估計(jì)過(guò)程中匹配出的與該當(dāng)前編碼單元相似的編碼單元。確定該當(dāng)前編碼單元的原始值與該匹配編碼單元的重建值之間的差值,也即得到了該當(dāng)前編碼單元所對(duì)應(yīng)的殘差,根據(jù)殘差和運(yùn)動(dòng)矢量差值便可以進(jìn)行當(dāng)前編碼單元的編碼。
[0119]本申請(qǐng)實(shí)施例中,在確定了當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值后,確定出的與該當(dāng)前編碼單元進(jìn)行匹配的參考區(qū)域中包含了該當(dāng)前編碼單元,并為該當(dāng)前編碼單元分配了初始值,這樣,即使當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值為(0,O),在進(jìn)行匹配搜索時(shí),也會(huì)以該當(dāng)前編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量預(yù)測(cè)值為起始點(diǎn),避免了運(yùn)動(dòng)矢量的起始點(diǎn)與實(shí)際值偏差較大的情況,從而可以減少搜索時(shí)長(zhǎng),降低編碼時(shí)間;同時(shí),由于運(yùn)動(dòng)矢量的起始點(diǎn)與實(shí)際值偏差減小,也使得編碼的運(yùn)動(dòng)矢量差值偏差降低,從而降低了編碼碼流上升,也提高了編碼效率。
[0120]可以理解的是,在實(shí)際應(yīng)用中,當(dāng)該當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值為(0,0)或者是僅僅(0,0)時(shí),進(jìn)行運(yùn)動(dòng)匹配的搜索起點(diǎn)才有可能是從當(dāng)前編碼單元開(kāi)始,因此,可選的,當(dāng)確定出的當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值與(0,0)之間的位移量小于預(yù)設(shè)值時(shí),則在確定出的參考區(qū)域中包含該當(dāng)前編碼單元。
[0121]在本申請(qǐng)以上任意一個(gè)實(shí)施例中,為該當(dāng)前編碼單元確定運(yùn)動(dòng)矢量預(yù)測(cè)值的方式可以有多種。
[0122]可選的,其中一種確定該運(yùn)動(dòng)矢量預(yù)測(cè)值的方式可以為:將該視頻幀中,在當(dāng)前編碼單元之前最近一個(gè)采用幀內(nèi)塊復(fù)制M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元所對(duì)應(yīng)的運(yùn)動(dòng)矢量作為所述當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值。進(jìn)一步的,如果在當(dāng)前編碼單元之前,該視頻幀中沒(méi)有采用MODE_INTRABC編碼模式編碼的編碼單元,則可以將該當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值設(shè)為(O,O)。
[0123]本申請(qǐng)的編碼方式實(shí)際上也是在M0DE_INTRABC編碼模式上進(jìn)行了改進(jìn),因此,該視頻幀中最近一次采用該M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元與該當(dāng)前編碼單元具有一定的相似性,可以通過(guò)該編碼單元對(duì)該當(dāng)前編碼單元進(jìn)行預(yù)測(cè)。
[0124]可選的,另一種確定該運(yùn)動(dòng)矢量預(yù)測(cè)值的方式可以為:對(duì)與所述當(dāng)前編碼單元相鄰且已被編碼的所有編碼單元所對(duì)應(yīng)的運(yùn)動(dòng)矢量取中值,將所述中值作為所述當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值。也就是說(shuō),從與所述當(dāng)前編碼單元相鄰且已被編碼的所有編碼單元所對(duì)應(yīng)的運(yùn)動(dòng)矢量中,分別選取處于中間的橫坐標(biāo)和處于中間的縱坐標(biāo),將選取出的橫坐標(biāo)和縱坐標(biāo)構(gòu)成的運(yùn)動(dòng)矢量作為該當(dāng)前編碼單元的運(yùn)動(dòng)矢量的預(yù)測(cè)值。例如,假設(shè)與該當(dāng)前編碼單元相鄰,且已被編碼的編碼單元有三個(gè),這三個(gè)所對(duì)應(yīng)的運(yùn)動(dòng)矢量分別為(xl,yl),(x2, y2)和(x3,y3),其中,xl>x3>X2, yl>y2>y3,則這三個(gè)運(yùn)動(dòng)矢量的橫坐標(biāo)中x3為中值,而縱坐標(biāo)中12為中值,則該運(yùn)動(dòng)矢量預(yù)測(cè)值為(x3,y2)。
[0125]參見(jiàn)圖2,其示出了本申請(qǐng)一種視頻幀的編碼方法另一個(gè)實(shí)施例的流程示意圖,本實(shí)施例的方法可以包括:
[0126]201,獲取視頻幀中當(dāng)前待編碼的當(dāng)前編碼單元。
[0127]202,確定該當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值。
[0128]當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值可以采用本申請(qǐng)?zhí)岬降娜我夥绞?br>[0129]203,判斷該視頻幀中與當(dāng)前編碼單元相鄰且已被編碼的指定編碼單元中,是否存在采用幀內(nèi)塊復(fù)制M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元,如果否,則進(jìn)入步驟204,如果是,則直接進(jìn)入步驟205 ;
[0130]其中,該視頻幀中已被編碼且與該當(dāng)前編碼單元相鄰的編碼單元可以有多個(gè),如,根據(jù)對(duì)視頻幀的編碼原則,一般是根據(jù)從左到右,且從上到下的順序,視頻幀中依次排列的編碼單元進(jìn)行編碼,這樣,與該當(dāng)前編碼單元相鄰,且已被編碼的編碼單元?jiǎng)t包括四個(gè),如圖3所示,在該圖3中示出了視頻幀的一部分,在圖中當(dāng)前編碼單元CUl的左側(cè),左上方、上方和右上方的編碼單元,即編碼單元B1、Al、A2和A3為與該當(dāng)前編碼單元⑶I相鄰且已被編碼的編碼單元。
[0131]可以理解的是,相鄰編碼單元的圖像相關(guān)性較大,但是當(dāng)該當(dāng)前編碼單元需要采用M0DE_INTRABC編碼模式進(jìn)行編碼,而如果與該當(dāng)前編碼單元相鄰的已被編碼的指定編碼單元均為采用M0DE_INTRABC編碼模式進(jìn)行編碼,則這些指定編碼單元與該當(dāng)前編碼單元的相似性較低,則前面預(yù)測(cè)的該當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值的偏差也較大,因此,在本申請(qǐng)實(shí)施例中增加了該判斷步驟。
[0132]如,當(dāng)將該視頻幀中,在當(dāng)前編碼單元之前最近一個(gè)采用幀內(nèi)塊復(fù)制M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元所對(duì)應(yīng)的運(yùn)動(dòng)矢量作為當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值時(shí),由于與該當(dāng)前編碼單元相鄰指定編碼單元均未采用M0DE_INTRABC編碼模式進(jìn)行編碼,則說(shuō)明最近一個(gè)采用M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元與該當(dāng)前編碼單元的距離較遠(yuǎn),從而當(dāng)前編碼單元與該最近一次采用M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元之間的相似性也較低,如果將該編碼單元的運(yùn)動(dòng)矢量作為該當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值進(jìn)行賦值,則會(huì)使得該運(yùn)動(dòng)矢量預(yù)測(cè)值的誤差較大,進(jìn)而影響到后續(xù)編碼精度。
[0133]又如,將與所述當(dāng)前編碼單元相鄰且已被編碼的所有編碼單元所對(duì)應(yīng)的運(yùn)動(dòng)矢量取中值,將選取的中值作為所述當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值時(shí),也會(huì)由于相鄰編碼單元與該當(dāng)前編碼單元的相似性差,而導(dǎo)致該運(yùn)動(dòng)矢量預(yù)測(cè)值的誤差較大。
[0134]其中,該指定編碼單元可以根據(jù)需要設(shè)定,如可以將與該當(dāng)前編碼單元相鄰且已被編碼的編碼單元均作為指定的編碼單元。
[0135]可選的,考慮到與當(dāng)前編碼單元相鄰,且位于當(dāng)前編碼單元左側(cè)和上方的編碼單元為已被編碼,且該位于當(dāng)前編碼單元上位和左側(cè)的編碼單元與該當(dāng)前編碼單元的相關(guān)性相對(duì)較大,則可以設(shè)定該指定編碼單元包括:與該當(dāng)前編碼單元相鄰且位于該當(dāng)前編碼單元上方的編碼單元,以及與該當(dāng)前編碼單元相鄰且位于該當(dāng)前編碼單元左側(cè)的編碼單元。
[0136]204,當(dāng)該視頻幀中與該當(dāng)前編碼單元相鄰且已被編碼的指定編碼單元中,不存在采用該M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元時(shí),則將運(yùn)動(dòng)矢量預(yù)測(cè)值修改為(O, O)。
[0137]如,當(dāng)該指定編碼單元均采用Mode_INTRA編碼模式進(jìn)行的編碼,則會(huì)將該當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值修改為(0,O),以便后續(xù)可以以當(dāng)前編碼單元為搜索起點(diǎn)進(jìn)行匹配搜索,進(jìn)一步提高搜索精度。
[0138]205,從該視頻幀中確定包含該當(dāng)前編碼單元的參考區(qū)域,并為該當(dāng)前編碼單元分配初始值。
[0139]206,根據(jù)該參考區(qū)域中當(dāng)前編碼單元的初始值以及當(dāng)前編碼單元之外的其他編碼單元的重建值,在該參考區(qū)域內(nèi)進(jìn)行運(yùn)動(dòng)估計(jì),確定出所述當(dāng)前編碼對(duì)應(yīng)的運(yùn)動(dòng)矢量差值。
[0140]207,根據(jù)運(yùn)動(dòng)矢量預(yù)測(cè)值和運(yùn)動(dòng)矢量差值,確定當(dāng)前編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量。
[0141]208,根據(jù)當(dāng)前編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量和運(yùn)動(dòng)矢量差值,對(duì)當(dāng)前編碼單元進(jìn)行編碼。
[0142]在本申請(qǐng)任意一個(gè)編碼方法的實(shí)施例中,考慮到在視頻幀中,該當(dāng)前編碼單元被編碼后得到的重建值與該當(dāng)前編碼單元相鄰的編碼單元的重建值較為接近,則在確定了參考區(qū)域后,可以依據(jù)與該當(dāng)前編碼單元相鄰且已被編碼的編碼單元的重建值,為該當(dāng)前編碼單元分配初始值。
[0143]可選的,可以將該視頻幀中與當(dāng)前編碼單元緊鄰且位于該當(dāng)前編碼單元上方的編碼單元中最下面一行的重建值作為所述當(dāng)前編碼單元各行的初始值??梢岳斫獾氖牵幋a單元實(shí)際上可以是包含多個(gè)像素點(diǎn)的區(qū)別,這些像素點(diǎn)成行列排布,對(duì)編碼單元進(jìn)行編碼后,該編碼單元每個(gè)像素點(diǎn)均對(duì)應(yīng)有一個(gè)重建值,相應(yīng)的,該編碼單元中由多個(gè)像素點(diǎn)排列成的行或列也有對(duì)應(yīng)的重建值。由于與該編碼單元相鄰且位于該編碼單元上方的編碼單元中最下面一行最鄰近該當(dāng)前編碼單元,所以可以將該最下面一行對(duì)應(yīng)的重建值作為該當(dāng)前編碼單元各行的初始值。也就是說(shuō),將該最下面一行中各像素點(diǎn)的重建值進(jìn)行復(fù)制,然后依次對(duì)該當(dāng)前編碼單元各行的點(diǎn)進(jìn)行賦值,從而使得該當(dāng)前編碼單元中同一列的初始值相同,且該當(dāng)前編碼單元每一行中各點(diǎn)的重建值均與該當(dāng)前編碼單元上方的編碼單元中最下面一行中各點(diǎn)重建值相同。
[0144]可選的,也可以是將所述視頻幀中與所述當(dāng)前編碼單元緊鄰且位于該當(dāng)前編碼單元左側(cè)的編碼單元中最右一列的重建值作為所述當(dāng)前編碼單元各列的初始值。
[0145]可選的,也可以是先從該視頻幀中與所述參考單元緊鄰且已被編碼的編碼單元中確定一個(gè)目標(biāo)編碼單元,該目標(biāo)編碼單元可以為位于該當(dāng)前編碼單元上方或者左側(cè)的編碼單元。則可以先對(duì)該目標(biāo)編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量的橫坐標(biāo)和縱坐標(biāo)進(jìn)行比較。如果該橫坐標(biāo)大于縱坐標(biāo),則將所述視頻幀中與所述當(dāng)前編碼單元緊鄰且位于所述當(dāng)前編碼單元左側(cè)的編碼單元最右一列的重建值作為所述當(dāng)前編碼單元各列的初始值;如果所述橫坐標(biāo)小于所述縱坐標(biāo),則將所述視頻幀中與所述當(dāng)前編碼單元緊鄰且位于所述當(dāng)前編碼單元上方的編碼單元最下一行的重建值作為所述當(dāng)前編碼單元各行的初始值;如果所述橫坐標(biāo)等于所述縱坐標(biāo),則根據(jù)與所述參考單元緊鄰且位于所述參考單元上方的編碼單元中最下一行中各像素點(diǎn)的重建值,以及與所述參考單元緊鄰且位于所述參考單元左側(cè)的編碼單元中最右一列中各像素點(diǎn)的中間值,對(duì)所述參考單元中各像素點(diǎn)進(jìn)行二維平面插值,確定所述當(dāng)前編碼單元的初始值;其中,所述目標(biāo)編碼單元為位于所述當(dāng)前編碼單元上方或者左側(cè)的編碼單元。
[0146]在現(xiàn)有的編碼方法中,如果最終計(jì)算出的該當(dāng)前編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量為(O, O),則無(wú)法繼續(xù)對(duì)該當(dāng)前編碼單元進(jìn)行編碼??蛇x的,在本申請(qǐng)實(shí)施例中,當(dāng)該當(dāng)前編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量為(0,0)時(shí),可以將該當(dāng)前編碼單元對(duì)應(yīng)的殘差設(shè)置為O。也就是說(shuō),當(dāng)該當(dāng)前編碼單元對(duì)應(yīng)的運(yùn)動(dòng)矢量為(0,0)時(shí),則采用跳躍Skip編碼模式進(jìn)行編碼,將該當(dāng)前編碼單元的對(duì)應(yīng)的殘差設(shè)置為零。則,在對(duì)該當(dāng)前編碼單元進(jìn)行編碼時(shí),則可以根據(jù)該運(yùn)動(dòng)矢量差值和該設(shè)定的殘差,對(duì)當(dāng)前編碼單元進(jìn)行編碼。
[0147]為了便于理解,下面以一種優(yōu)選方式對(duì)本申請(qǐng)的編碼方式進(jìn)行介紹。參見(jiàn)圖4,其示出了本申請(qǐng)一種視頻幀的編碼方法另一個(gè)實(shí)施例的流程示意圖,可以理解的是,本申請(qǐng)僅僅是一種優(yōu)選方式,但并不是唯一的方式。本實(shí)施例的方法可以包括:
[0148]401,獲取視頻幀中當(dāng)前待編碼的當(dāng)前編碼單元。
[0149]402,將該視頻幀中,在當(dāng)前編碼單元之前最近一個(gè)采用幀內(nèi)塊復(fù)制M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元所對(duì)應(yīng)的運(yùn)動(dòng)矢量作為所述當(dāng)前編碼單元的運(yùn)動(dòng)矢量預(yù)測(cè)值。
[0150]403,判斷該視頻幀中與當(dāng)前編碼單元相鄰且已被編碼的指定編碼單元中,是否存在采用幀內(nèi)塊復(fù)制M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元,如果否,則進(jìn)入步驟404,如果是,則直接進(jìn)入步驟405 ;
[0151]404,當(dāng)視頻幀中與該當(dāng)前編碼單元相鄰且已被編碼的指定編碼單元中,不存在采用所述M0DE_INTRABC編碼模式進(jìn)行編碼的編碼單元時(shí),則將該運(yùn)動(dòng)矢量預(yù)測(cè)值修改為(O, O)。
[0152]405,從該視頻幀中確定包含該當(dāng)前編碼單元的參考區(qū)域,并為該當(dāng)前編碼單元分配初始值。
[0153]406,根據(jù)該參考區(qū)域中當(dāng)前編碼單元的初始值以及當(dāng)前編碼單元之外的其他編碼單元的重建值
當(dāng)前第3頁(yè)1 2 3 4 5 6 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
松桃| 唐海县| 新安县| 玛纳斯县| 吉安市| 贞丰县| 突泉县| 哈密市| 隆林| 阿图什市| 双牌县| 沧源| 芮城县| 肃宁县| 南江县| 涞水县| 乌兰浩特市| 旺苍县| 屏东县| 河北区| 固镇县| 新密市| 安溪县| 敦化市| 浦城县| 丰顺县| 弋阳县| 台南市| 衡阳市| 三都| 安多县| 建阳市| 甘南县| 鄂托克旗| 讷河市| 类乌齐县| 峡江县| 肃宁县| 岐山县| 防城港市| 龙江县|