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

用于運動矢量預測的運動矢量列表建立的方法、裝置的制作方法

文檔序號:7862369閱讀:269來源:國知局
專利名稱:用于運動矢量預測的運動矢量列表建立的方法、裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻編碼領(lǐng)域,尤其涉及用于運動矢量預測的運動矢量列表建立的方法、裝置。
背景技術(shù)
HEVC (High Efficiency Video Coding,高效視頻編碼標準)中的巾貞間預測技術(shù),采用傳統(tǒng)的MCP (Motion Compensated Prediction,運動補償預測)的方法,在運動矢量預測方面,HEVC采用多運動矢量競爭的方法,提高了運動矢量預測的精度,從而提升編碼壓縮性能。HEVC巾貞間預測模式可以包括但不限于Merge mode (合并模式)、Skip mode (跳 過模式)等,且均是利用多運動矢量競爭的方法進行幀間預測的。在進行運動矢量預測時,用到了運動矢量列表。對于Merge mode和Skip mode,運動矢量列表中允許有最多4個空域運動矢量預測值和I個時域運動矢量預測值,Merge mode和Skip mode共用同一個運動矢量列表。編碼器從該運動矢量列表中選出一個最佳的運動矢量預測值作為當前PU(Prediction Unit,預測單元〈以下可稱為預測塊 >)的運動矢量預測值。其中,運動矢量列表的建立方法可以包括如圖I所示,與當前I3U在空域上相鄰塊可以包括相鄰塊AO(當前PU左下角位置對應的左下參考塊)、相鄰塊Al(當前PU左下角位置對應的左邊參考塊)、相鄰塊BO(當前PU右上角位置對應的右上參考塊)、相鄰塊BI(當前PU右上角位置對應的上邊參考塊)、相鄰塊B2 (當前PU左上角位置對應的左上參考塊);TMVP (Temporal Motion Vector predictor,運動矢量時域預測值)為當前PU在時域上相應的運動矢量預測值。首先,按照相鄰塊Al、相鄰塊BI、相鄰塊B0、相鄰塊A0、相鄰塊B2、相鄰塊TMVP的順序依次從各相鄰塊以及TMVP中獲取運動矢量預測值,然后,按照HEVC中的規(guī)則將獲取到的各運動矢量預測值加入運動矢量列表中。具體的運動矢量列表建立過程為本領(lǐng)域技術(shù)人員熟知的技術(shù),在此不再贅述。進一步的,當前⑶(Coding Unit,編碼單元〈以下可稱為編碼單元 >)可以包含至少兩個PU,采用串行方式建立至少兩個I3U的運動矢量列表的。在實現(xiàn)上述運動矢量列表建立的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題若當前⑶包含至少兩個PU,采用串行方式建立至少兩個的運動矢量列表,使得同一⑶中的至少兩個PU建立運動矢量列表的速度較慢,降低并行處理能力。

發(fā)明內(nèi)容
本發(fā)明的實施例提供一種用于運動矢量預測的運動矢量列表建立的方法、裝置,解決了采用串行方式建立同一編碼單元中的至少兩個PU的運動矢量列表的問題,提高并行處理能力。為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案
一方面,提供一種用于運動矢量預測的運動矢量列表建立的方法,包括獲取當前預測塊空域上的相鄰塊,所述當前預測塊位于當前編碼單元中;根據(jù)所述當前編碼單元的劃分方式確定所述當前預測塊的適用相鄰塊,所述適用相鄰塊位于所述當前編碼單元外;根據(jù)所述適用相鄰塊的運動矢量預測值并按照預設順序從所述適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量 預測值加入到所述運動矢量列表。另一方面,提供一種用于運動矢量預測的運動矢量列表建立的裝置,包括接收器,用于獲取當前預測塊空域上的相鄰塊,所述當前預測塊位于當前編碼單元中;處理器,用于根據(jù)所述當前編碼單元的劃分方式確定所述當前預測塊的適用相鄰塊,所述適用相鄰塊位于所述當前編碼單元外;根據(jù)所述適用相鄰塊的運動矢量預測值并按照預設順序從所述適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到所述運動矢量列表。本發(fā)明實施例提供的用于運動矢量預測的運動矢量列表建立的方法、裝置,采用上述方案后,當建立預測塊的運動矢量列表時,首先,獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到所述運動矢量列表。這樣,建立預測塊的運動矢量列表時,不考慮位于當前編碼單元中的相鄰塊,當編碼單元包含至少兩個預測塊時,可以采用并行方式建立至少兩個預測塊的運動矢量列表,增加了同一編碼單元中的至少兩個預測塊建立運動矢量列表的速度,提高了并行處理能力。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本實施例提供的編碼單元CU、PU以及相鄰塊的結(jié)構(gòu)示意圖;圖2a至圖2g為本實施例提供的編碼單元CU的不同劃分方式下的結(jié)構(gòu)示意圖;圖3為本實施例提供的一種用于運動矢量預測的運動矢量列表建立的方法流程圖;圖4為本實施例提供的一種用于運動矢量預測的運動矢量列表建立的裝置結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
現(xiàn)有技術(shù)中,⑶中可以包含至少兩個I3U,采用串行方式建立至少兩個PU的運動矢量列表,即當前I3U建立運動矢量列表完成后,下一個I3U才開始建立運動矢量列表。具體的可以包括如圖2a至圖2g所示,一個⑶(圖中的實現(xiàn)框)可以進一步劃分成多個PU,在HEVC中,⑶可以有7種partition (劃分)方式。如圖2a至圖2c中的partition方式是把當前CU劃分成左右2個PU (PUl和PU2),又如圖2d的partition方式是把當前CU劃分成4個PU (PU1、PU2、PU3、PU4),其他類型不再贅述。以圖2a所示的partition為例,由于,PU2的空域參考塊Al位于PU2內(nèi),因此,只有當PUl編碼結(jié)束后,PU2才可以開始建立運動矢量列表,PUl與PU2采用串行方式建立運動矢量列表。具體的,首先,PUl按照上述方法建立運動矢量列表,然后,PU2按照上述方法建立運動矢量列表?!み@樣,使得至少兩個PU建立運動矢量列表的速度較慢,降低壓縮編碼的性能。為了解決上述至少兩個建立運動矢量列表的速度較慢,降低壓縮編碼的性能的問題,本實施例提供一種用于運動矢量預測的動矢量列表建立的方法,如圖3所示,可以包括301、獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;302、根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;303、根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表。采用上述方案后,當建立預測塊的運動矢量列表時,首先,獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表。這樣,建立預測塊的運動矢量列表時,不考慮位于當前編碼單元中的相鄰塊,當編碼單元包含至少兩個預測塊時,可以采用并行方式建立至少兩個預測塊的運動矢量列表,增加了同一編碼單元中的至少兩個預測塊建立運動矢量列表的速度,提高了并行處理能力。本實施例提供另一種用于運動矢量預測的運動矢量列表建立的方法,該方法是對圖3所示的方法的進一步擴展,如圖3所示,可以包括301、獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中。如圖I所示,預測塊空域上的相鄰塊可以包括位于預測塊左下側(cè)的相鄰塊A0,位于預測塊左側(cè)的相鄰塊Al,位于預測塊右上側(cè)的相鄰塊B0,位于預測塊上側(cè)的相鄰塊BI,位于預測塊左上側(cè)的相鄰塊B2。本實施例對獲取預測塊空域上的相鄰塊的方法、預測塊以及相鄰塊不作限定,為本領(lǐng)域技術(shù)人員熟知的技術(shù),在此不再贅述。302、根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外。進一步,如圖2e至圖2g所示,若當前編碼單元⑶被上下劃分為第一預測塊PUl和第二預測塊PU2,且當前預測塊為第二預測塊TO2,則PU2的適用相鄰塊包括第二預測塊的相鄰塊A0、相鄰塊Al、相鄰塊B0、相鄰塊B2。此時,相鄰塊BI位于當前編碼單元CU中,不作為第二預測塊PU2的適用相鄰塊。如圖2a至圖2c所示,若當前編碼單元⑶被左右劃分為第一預測PUl塊和第二預測塊PU2,且當前預測塊為第二預測塊PU2,則PU2的適用相鄰塊包括第二預測塊PU2的相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2。此時,相鄰塊Al位于當前編碼單元CU中,不作為第二預測塊PU2的適用相鄰塊。進一步的,可以通過相鄰塊的標志位確定適用相鄰塊。標志位可以為但不限于用于標識相鄰塊不位于CU中。本實施例對通過相鄰塊的標志位確定適用相鄰塊的方法不作限定,為本領(lǐng)域技術(shù)人員熟知的技術(shù),在此不再贅述。
303、根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表。進一步的,按照預設順序從適用相鄰塊中獲取運動矢量預測值可以包括若適用相鄰塊為幀間編碼塊,則按照相鄰塊Al、相鄰塊BI、相鄰塊B0、相鄰塊A0、相鄰塊B2的順序從適用相鄰塊中獲取運動矢量預測值。具體的,若適用相鄰塊為幀間編碼塊,說明該相鄰塊包含有運動矢量信息,則從該相鄰塊中獲取運動矢量預測值。具體的,若預測塊的適用相鄰塊包括第二預測塊的相鄰塊A0、相鄰塊Al、相鄰塊B0、相鄰塊B2,則按照相鄰塊A0、相鄰塊Al、相鄰塊B0、相鄰塊B2的順序從相鄰塊A0、相鄰塊Al、相鄰塊B0、相鄰塊B2中獲取運動矢量預測值;可見,當前⑶上下劃分為第一和第二預測塊時,第二預測塊的適用相鄰塊不包括位于第一預測塊內(nèi)的相鄰塊BI,因此,不會從BI獲取運動矢量預測值。若預測塊的適用相鄰塊包括第二預測塊PU2的相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2,則按照相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2的順序從相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2中獲取運動矢量預測值??梢姡斍阿亲笥覄澐譃榈谝缓偷诙A測塊時,第二預測塊的適用相鄰塊不包括位于第一預測塊內(nèi)的相鄰塊Al,因此,不會從Al
獲取運動矢量預測值。進一步的,若獲取到的運動矢量預測值為當前適用相鄰塊的運動矢量預測值,則將獲取到的運動矢量預測值加入到運動矢量列表包括判斷當前適用相鄰塊的運動矢量預測值與除當前適用相鄰塊以外的其他適用相鄰塊的運動矢量預測值是否相同;若不相同,則將當前適用相鄰塊的運動矢量預測值加入運動矢量列表??梢?,上述過程中,由于適用相鄰塊不包括位于當前⑶內(nèi)的相鄰塊,因此⑶內(nèi)的多個PU,不存在依賴性,可以并行執(zhí)行。例如,當前CU左右劃分為第一和第二預測塊時,第二預測塊的適用相鄰塊不包括位于第一預測塊內(nèi)的相鄰塊Al,Al的運動矢量預測值不會參與該判斷過程。因此第二預測塊與第一預測塊可以并行執(zhí)行該過程。具體的,作為本實施例的一種實施方式,若當前適用相鄰塊為相鄰塊BI,則判斷相鄰塊BI的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同;
若當前適用相鄰塊為相鄰塊B0,則判斷相鄰塊BO的運動矢量預測值與相鄰塊BI的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊A0,則判斷相鄰塊AO的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B2,則判斷相鄰塊B2的運動矢量預測值與相鄰塊Al的運動矢量預測值、相鄰塊BI的運動矢量預測值中至少一項是否相同。進一步的,若獲取到的運動矢量預測值為當前適用相鄰塊的運動矢量預測值,則將獲取到的運動矢量預測值加入到運動矢量列表還可以包括判斷當前適用相鄰塊的運動矢量預測值與已被加入到運動矢量列表中的運動矢量預測值是否相同;若不相同,則將當前適用相鄰塊的運動矢量預測值加入運動矢量列表。
具體的,作為本實施例的一種實施方式,若當前適用相鄰塊為相鄰塊BI,則判斷相鄰塊BI的運動矢量預測值與已被加入運動矢量列表的相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B0,則判斷相鄰塊BO的運動矢量預測值與已被加入運動矢量列表的相鄰塊BI的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊A0,則判斷相鄰塊AO的運動矢量預測值與已被加入運動矢量列表的相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B2,則判斷相鄰塊B2的運動矢量預測值與已被加入運動矢量列表的相鄰塊Al的運動矢量預測值、已被加入運動矢量列表的相鄰塊BI的運動矢量預測值中至少一項是否相同。進一步的,在建立運動矢量列表過程中還可以考慮TMVP中的運動矢量。作為本實施例的一種實施方式,按照預設順序從適用相鄰塊中獲取運動矢量預測值還可以為按照相鄰塊Al、相鄰塊BI、相鄰塊B0、相鄰塊A O、相鄰塊B2、TMVP的順序從適用相鄰塊和/或TMVP中獲取運動矢量預測值。為了更清晰的描述本實施的方案,下面對在CU不同劃分方式下的運動矢量列表建立的方法進行具體描述。I、CU被左右劃分為PUl和PU2(I)PUl建立運動矢量列表I)按照相鄰塊Al,相鄰塊BI,相鄰塊B0,相鄰塊A0,相鄰塊B2的順序,從相鄰塊Al,相鄰塊BI,相鄰塊B0,相鄰塊A0,相鄰塊B2中獲取運動矢量,并加入到運動矢量列表中。a.當前相鄰塊為相鄰塊Al時,僅當相鄰塊Al中包含運動矢量預測值時,將相鄰塊Al的運動矢量預測值加入到運動矢量列表中;b.當前相鄰塊為相鄰塊BI時,僅當相鄰塊BI中包含運動矢量預測值,并且該預測值與已被加入運動矢量列表中的相鄰塊Al的運動矢量預測值不相同時,將相鄰塊BI的運動矢量預測值加入到運動矢量列表中;c.當前相鄰塊為相鄰塊BO時,僅當相鄰塊BO中包含運動矢量預測值,并且該預測值與已被加入運動矢量列表中的相鄰塊BI的運動矢量預測值不相同時,將相鄰塊BO的運動矢量預測值加入到運動矢量列表中;
d.當前相鄰塊為相鄰塊AO時,僅當相鄰塊AO中包含運動矢量預測值,并且該預測值與已被加入運動矢量列表中的相鄰塊Al的運動矢量預測值不相同時,將相鄰塊AO的運動矢量預測值加入到運動矢量列表中;e.當前相鄰塊為相鄰塊B2時,僅當相鄰塊B2中包含運動矢量預測值,該預測值與已被加入運動矢量列表中的相鄰塊Al的運動矢量預測值、和與已被加入運動矢量列表中的相鄰塊BI的運動矢量預測值均不相同,并且相鄰塊Al、相鄰塊BI、相鄰塊B0、相鄰塊AO中至少一項的運動矢量預測值未被加入運動矢量列表中時,將相鄰塊B2的運動矢量預測值加入運動矢量列表中。2)從TMVP中獲取運動矢量預測值,并加入到運動矢量列表中。具體的,利用PUl的時域參考圖像獲取PUl的TMVP,如果PUl的TMVP可用,則將TMVP的運動矢量加入到運動矢量列表中。(2) PU2建立運動矢量列表
I)按照相鄰塊BI,相鄰塊B0,相鄰塊A O,相鄰塊B2的順序,從相鄰塊BI,相鄰塊B0,相鄰塊A0,相鄰塊B2中獲取運動矢量,并加入到運動矢量列表中。a.當前相鄰塊為相鄰塊BI時,僅當相鄰塊BI中包含運動矢量預測值時,將相鄰塊BI的運動矢量預測值加入到運動矢量列表中;b.當前相鄰塊為相鄰塊BO時,僅當相鄰塊BO中包含運動矢量預測值,并且該預測值與已被加入運動矢量列表中的相鄰塊BI的運動矢量預測值不相同時,將相鄰塊BO的運動矢量預測值加入到運動矢量列表中;c.當前相鄰塊為相鄰塊AO時,僅當相鄰塊AO中包含運動矢量預測值時,將相鄰塊AO的運動矢量預測值加入到運動矢量列表中;d.當前相鄰塊為相鄰塊B2時,僅當相鄰塊B2中包含運動矢量預測值,該預測值與已被加入運動矢量列表中的相鄰塊BI的運動矢量預測值不相同時,將相鄰塊B2的運動矢量預測值加入運動矢量列表中。2)從TMVP中獲取運動矢量預測值,并加入到運動矢量列表中。具體的,利用PUl的時域參考圖像獲取PUl的TMVP,如果PUl的TMVP可用,則將TMVP的運動矢量加入到運動矢量列表中。此時,由于在建立PU2的運動矢量列表時,不考慮PU2的相鄰塊Al,則可以采用并行方式建立PUl與的運動矢量列表。2、CU被上下劃分為PUl和PU2(I)PUl建立運動矢量列表與“I、⑶被左右劃分為PUl和PU2”中“(I) PUl建立運動矢量列表”的方法類似,在此不再贅述。(2) PU2建立運動矢量列表I)按照相鄰塊BI,相鄰塊B0,相鄰塊A0,相鄰塊B2的順序,從相鄰塊BI,相鄰塊B0,相鄰塊A0,相鄰塊B2中獲取運動矢量,并加入到運動矢量列表中。a.當前相鄰塊為相鄰塊Al時,僅當相鄰塊Al中包含運動矢量預測值時,將相鄰塊Al的運動矢量預測值加入到運動矢量列表中;b.當前相鄰塊為相鄰塊BO時,僅當相鄰塊BO中包含運動矢量預測值時,將相鄰塊BO的運動矢量預測值加入到運動矢量列表中;c.當前相鄰塊為相鄰塊AO時,僅當相鄰塊AO中包含運動矢量預測值,并且該預測值與已被加入運動矢量列表中的相鄰塊Al的運動矢量預測值不相同時,將相鄰塊AO的運動矢量預測值加入到運動矢量列表中;d.當前相鄰塊為相鄰塊B2時,僅當相鄰塊B2中包含運動矢量預測值,該預測值與已被加入運動矢量列表中的相鄰塊Al的運動矢量預測值不相同時,將相鄰塊B2的運動矢量預測值加入運動矢量列表中。2)從TMVP中獲取運動矢量預測值,并加入到運動矢量列表中。具體的,利用PUl的時域參考圖像獲取PUl的TMVP,如果PUl的TMVP可用,則將TMVP的運動矢量加入到運動矢量列表中。此時,由于在建立PU2的運動矢量列表時,不考慮PU2的相鄰塊BI,則可以采用并行方式建立PUl與的運動矢量列表。 采用上述方案后,當建立預測塊的運動矢量列表時,首先,獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表。這樣,建立預測塊的運動矢量列表時,不考慮位于當前編碼單元中的相鄰塊,當編碼單元包含至少兩個預測塊時,可以采用并行方式建立至少兩個預測塊的運動矢量列表,增加了同一編碼單元中的至少兩個預測塊建立運動矢量列表的速度,提高了并行處理能力。下面提供一些裝置實施例,提供的裝置實施例分別與上述方法實施例相對應,具體的裝置及裝置中包含的接收器處理器的實施方法參見方法實施例。本實施例提供一種用于運動矢量預測的運動矢量列表建立的裝置,如圖4所示,可以包括接收器41,用于獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;處理器42,用于根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表。進一步的,接收器41獲取到的預測塊空域上的相鄰塊包括位于預測塊左下側(cè)的相鄰塊A0,位于預測塊左側(cè)的相鄰塊Al,位于預測塊右上側(cè)的相鄰塊B0,位于預測塊上側(cè)的相鄰塊BI,位于預測塊左上側(cè)的相鄰塊B2。進一步的,處理器42,還用于若當前編碼單元被上下劃分為第一預測塊和第二預測塊,且當前預測塊為第二預測塊,則預測塊的適用相鄰塊包括第二預測塊的相鄰塊A0、相鄰塊Al、相鄰塊BO、相鄰塊B2 ;若當前編碼單元被左右劃分為第一預測塊和第二預測塊,且當前預測塊為第二預測塊,則預測塊的適用相鄰塊包括第二預測塊的相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2。進一步的,處理器42,還用于若適用相鄰塊為幀間編碼塊,則按照相鄰塊Al、相鄰塊BI、相鄰塊BO、相鄰塊A0、相鄰塊B2的順序從適用相鄰塊中獲取運動矢量預測值。進一步的,處理器42,還用于判斷當前適用相鄰塊的運動矢量預測值與除當前適用相鄰塊以外的其他適用相鄰塊的運動矢量預測值是否相同;若不相同,則將當前適用相鄰塊的運動矢量預測值加入運動矢量列表。進一步的,處理器42,還用于判斷當前適用相鄰塊的運動矢量預測值與已被加入到運動矢量列表中的運動矢量預測值是否相同;若不相同,則將當前適用相鄰塊的運動矢量預測值加入運動矢量列表。進一步的,處理器42,還用于若當前適用相鄰塊為相鄰塊BI,則判斷相鄰塊BI的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B0,則判斷相鄰塊BO的運動矢量預測值與相鄰塊BI的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊A0,則判斷相鄰塊AO的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B2,則判斷相鄰塊B2的運動矢量預測值與相鄰塊Al的運動矢量預測值、相鄰塊BI的運動矢量預測值中至少一項是否相同。進一步的,處理器42,還用于若當前適用相鄰塊為相鄰塊BI,則判斷相鄰塊BI的運動矢量預測值與已被加入運動矢量列表的相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B0,則判斷相鄰塊BO的運動矢量預測值與已被加入運動矢量列表的相鄰塊BI的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊A0,則判斷相鄰塊AO的運動矢量預測值與已被加入運動矢量列表的相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B2,則判斷相鄰塊B2的運動矢量預測值與已被加入運動矢量列表的相鄰塊Al的運動矢量預測值、已被加入運動矢量列表的相鄰塊BI的運動矢量預測值中至少一項是否相同。采用上述方案后,當建立預測塊的運動矢量列表時,首先,接收器獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;處理器根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表。這樣,建立預測塊的運動矢量列表時,不考慮位于當前編碼單元中的相鄰塊,當編碼單元包含至少兩個預測塊時,可以采用并行方式建立至少兩個預測塊的運動矢量列表,增加了同一編碼單元中的至少兩個預測塊建立運動矢量列表的速度,提聞了并行處理能力。通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范 圍為準。
權(quán)利要求
1.一種用于運動矢量預測的運動矢量列表建立的方法,其特征在于,包括 獲取當前預測塊空域上的相鄰塊,所述當前預測塊位于當前編碼單元中; 根據(jù)所述當前編碼單元的劃分方式確定所述當前預測塊的適用相鄰塊,所述適用相鄰塊位于所述當前編碼單元外; 根據(jù)所述適用相鄰塊的運動矢量預測值并按照預設順序從所述適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到所述運動矢量列表。
2.根據(jù)權(quán)利要求I所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,所述預測塊空域上的相鄰塊包括 位于預測塊左下側(cè)的相鄰塊A0,位于預測塊左側(cè)的相鄰塊Al,位于預測塊右上側(cè)的相鄰塊B0,位于預測塊上側(cè)的相鄰塊BI,位于預測塊左上側(cè)的相鄰塊B2。
3.根據(jù)權(quán)利要求2所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,所述根據(jù)所述當前編碼單元的劃分方式確定所述當前預測塊的適用相鄰塊包括 若所述當前編碼單元被上下劃分為第一預測塊和第二預測塊,且所述當前預測塊為第二預測塊,則所述預測塊的適用相鄰塊包括所述第二預測塊的相鄰塊A0、相鄰塊Al、相鄰塊B0、相鄰塊B2 ; 若所述當前編碼單元被左右劃分為第一預測塊和第二預測塊,且所述當前預測塊為第二預測塊,則所述預測塊的適用相鄰塊包括所述第二預測塊的相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2。
4.根據(jù)權(quán)利要求2或3所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,所述按照預設順序從所述適用相鄰塊中獲取運動矢量預測值包括 若所述適用相鄰塊為幀間編碼塊,則按照相鄰塊Al、相鄰塊BI、相鄰塊B0、相鄰塊A0、相鄰塊B2的順序從所述適用相鄰塊中獲取運動矢量預測值。
5.根據(jù)權(quán)利要求4所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,若所述獲取到的運動矢量預測值為當前適用相鄰塊的運動矢量預測值,則所述將獲取到的運動矢量預測值加入到所述運動矢量列表包括 判斷所述當前適用相鄰塊的運動矢量預測值與除所述當前適用相鄰塊以外的其他適用相鄰塊的運動矢量預測值是否相同; 若不相同,則將所述當前適用相鄰塊的運動矢量預測值加入所述運動矢量列表。
6.根據(jù)權(quán)利要求4所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,若所述獲取到的運動矢量預測值為當前適用相鄰塊的運動矢量預測值,則所述將獲取到的運動矢量預測值加入到所述運動矢量列表包括 判斷所述當前適用相鄰塊的運動矢量預測值與已被加入到所述運動矢量列表中的運動矢量預測值是否相同; 若不相同,則將所述當前適用相鄰塊的運動矢量預測值加入所述運動矢量列表。
7.根據(jù)權(quán)利要求5所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,所述判斷所述當前適用相鄰塊的運動矢量預測值與除所述當前適用相鄰塊以外的其他適用相鄰塊的運動矢量預測值是否相同包括 若當前適用相鄰塊為相鄰塊BI,則判斷所述相鄰塊BI的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同;若當前適用相鄰塊為相鄰塊B0,則判斷所述相鄰塊BO的運動矢量預測值與相鄰塊BI的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊A0,則判斷所述相鄰塊AO的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B2,則判斷所述相鄰塊B2的運動矢量預測值與相鄰塊Al的運動矢量預測值、所述相鄰塊BI的運動矢量預測值中至少一項是否相同。
8.根據(jù)權(quán)利要求6所述的用于運動矢量預測的運動矢量列表建立的方法,其特征在于,所述判斷所述當前適用相鄰塊的運動矢量預測值與已被加入到所述運動矢量列表中的運動矢量預測值是否相同包括 若當前適用相鄰塊為相鄰塊BI,則判斷所述相鄰塊BI的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B0,則判斷所述相鄰塊BO的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊BI的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊A0,則判斷所述相鄰塊AO的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B2,則判斷所述相鄰塊B2的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊Al的運動矢量預測值、已被加入所述運動矢量列表的相鄰塊BI的運動矢量預測值中至少一項是否相同。
9.一種用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,包括 接收器,用于獲取當前預測塊空域上的相鄰塊,所述當前預測塊位于當前編碼單元中; 處理器,用于根據(jù)所述當前編碼單元的劃分方式確定所述當前預測塊的適用相鄰塊,所述適用相鄰塊位于所述當前編碼單元外;根據(jù)所述適用相鄰塊的運動矢量預測值并按照預設順序從所述適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到所述運動矢量列表。
10.根據(jù)權(quán)利要求9所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述接收器獲取到的所述預測塊空域上的相鄰塊包括 位于預測塊左下側(cè)的相鄰塊A0,位于預測塊左側(cè)的相鄰塊Al,位于預測塊右上側(cè)的相鄰塊B0,位于預測塊上側(cè)的相鄰塊BI,位于預測塊左上側(cè)的相鄰塊B2。
11.根據(jù)權(quán)利要求10所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述處理器,還用于若所述當前編碼單元被上下劃分為第一預測塊和第二預測塊,且所述當前預測塊為第二預測塊,則所述預測塊的適用相鄰塊包括所述第二預測塊的相鄰塊AO、相鄰塊Al、相鄰塊BO、相鄰塊B2 ; 若所述當前編碼單元被左右劃分為第一預測塊和第二預測塊,且所述當前預測塊為第二預測塊,則所述預測塊的適用相鄰塊包括所述第二預測塊的相鄰塊A0、相鄰塊B0、相鄰塊BI、相鄰塊B2。
12.根據(jù)權(quán)利要求10或11所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述處理器,還用于若所述適用相鄰塊為幀間編碼塊,則按照相鄰塊Al、相鄰塊BI、相鄰塊B0、相鄰塊A0、相鄰塊B2的順序從所述適用相鄰塊中獲取運動矢量預測值。
13.根據(jù)權(quán)利要求12所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述處理器,還用于判斷所述當前適用相鄰塊的運動矢量預測值與除所述當前適用相鄰塊以外的其他適用相鄰塊的運動矢量預測值是否相同; 若不相同,則將所述當前適用相鄰塊的運動矢量預測值加入所述運動矢量列表。
14.根據(jù)權(quán)利要求12所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述處理器,還用于判斷所述當前適用相鄰塊的運動矢量預測值與已被加入到所述運動矢量列表中的運動矢量預測值是否相同; 若不相同,則將所述當前適用相鄰塊的運動矢量預測值加入所述運動矢量列表。
15.根據(jù)權(quán)利要求13所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述處理器,還用于若當前適用相鄰塊為相鄰塊BI,則判斷所述相鄰塊BI的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B0,則判斷所述相鄰塊BO的運動矢量預測值與相鄰塊BI的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊A0,則判斷所述相鄰塊AO的運動矢量預測值與相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B2,則判斷所述相鄰塊B2的運動矢量預測值與相鄰塊Al的運動矢量預測值、所述相鄰塊BI的運動矢量預測值中至少一項是否相同。
16.根據(jù)權(quán)利要求14所述的用于運動矢量預測的運動矢量列表建立的裝置,其特征在于,所述處理器,還用于若當前適用相鄰塊為相鄰塊BI,則判斷所述相鄰塊BI的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B0,則判斷所述相鄰塊BO的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊BI的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊A0,則判斷所述相鄰塊AO的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊Al的運動矢量預測值是否相同; 若當前適用相鄰塊為相鄰塊B2,則判斷所述相鄰塊B2的運動矢量預測值與已被加入所述運動矢量列表的相鄰塊Al的運動矢量預測值、已被加入所述運動矢量列表的相鄰塊BI的運動矢量預測值中至少一項是否相同。
全文摘要
本發(fā)明提供一種用于運動矢量預測的運動矢量列表建立的方法、裝置。涉及視頻編碼領(lǐng)域。解決了采用串行方式建立同一編碼單元中的至少兩個PU的運動矢量列表的問題,提高并行處理能力。具體可以包括獲取當前預測塊空域上的相鄰塊,當前預測塊位于當前編碼單元中;根據(jù)當前編碼單元的劃分方式確定當前預測塊的適用相鄰塊,適用相鄰塊位于當前編碼單元外;根據(jù)適用相鄰塊的運動矢量預測值并按照預設順序從適用相鄰塊中獲取運動矢量預測值,并將獲取到的運動矢量預測值加入到運動矢量列表??蓱糜诮⑦\動矢量列表中。
文檔編號H04N7/32GK102883163SQ201210377579
公開日2013年1月16日 申請日期2012年10月8日 優(yōu)先權(quán)日2012年10月8日
發(fā)明者林永兵 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
通辽市| 灵石县| 旌德县| 赣榆县| 资源县| 和硕县| 高平市| 林周县| 罗定市| 三门峡市| 莲花县| 宣威市| 东至县| 长治市| 凤翔县| 斗六市| 英德市| 华宁县| 舟山市| 门源| 盈江县| 邮箱| 保康县| 霍州市| 黎川县| 水富县| 大同县| 灯塔市| 景洪市| 白银市| 河间市| 新平| 兴仁县| 新源县| 六盘水市| 保靖县| 涿州市| 同德县| 合江县| 吉木乃县| 扎赉特旗|