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

存儲運動信息的方法和使用該方法導出時間運動矢量預測值的方法與流程

文檔序號:11263872閱讀:290來源:國知局
存儲運動信息的方法和使用該方法導出時間運動矢量預測值的方法與流程

本申請是2013年9月25日提交的、國際申請日為2012年2月9日的、申請?zhí)枮?01280015152.8(pct/kr2012/000965)的,發(fā)明名稱為“存儲運動信息的方法和使用該方法導出時間運動矢量預測值的方法”專利申請的分案申請。

本發(fā)明涉及視頻數(shù)據(jù)壓縮技術(shù),并且更特別地,涉及在幀間預測中推導時間運動矢量預測值的方法,以及存儲對于推導時間運動矢量預測值所必需的信息的方法。



背景技術(shù):

最近,對高清晰度和高質(zhì)量圖像的需求在各種應(yīng)用領(lǐng)域中增加。當圖像具有較高分辨率和較高質(zhì)量時,關(guān)于圖像的數(shù)據(jù)量增加更多。從而,當使用諸如現(xiàn)有的有線或無線寬帶線傳送圖像數(shù)據(jù)或者將圖像數(shù)據(jù)存儲在現(xiàn)有的存儲媒體中時,傳送成本和存儲成本增加。為了有效地傳送、存儲和再現(xiàn)關(guān)于高分辨率和高質(zhì)量圖像的信息,可以利用高效圖像壓縮技術(shù)。

可以使用幀間預測和幀內(nèi)預測提高圖像壓縮效率。

在幀間預測中,從當前圖片的先前或隨后圖片預測包括在當前圖片中的像素值。在幀內(nèi)預測中,使用當前圖片中的像素信息,預測包括在當前圖片中的像素值。

除了幀間預測和幀內(nèi)預測之外,可以使用用于防止由于照明變化等導致的圖像質(zhì)量惡化的加權(quán)值預測技術(shù),將短代碼分配給具有高出現(xiàn)頻率的符號并且將長代碼分配給具有低出現(xiàn)頻率的符號的熵編碼技術(shù)等,以用于更有效的處理。



技術(shù)實現(xiàn)要素:

技術(shù)問題

本發(fā)明的技術(shù)目標在于提供一種執(zhí)行有效預測的方法和設(shè)備。

本發(fā)明的另一個技術(shù)目標在于提供一種可以在幀間預測中推導時間運動矢量預測值時防止失真并且提高壓縮效率的方法和設(shè)備。

本發(fā)明的另一個技術(shù)目標在于提供一種可以在存儲用于推導時間運動矢量預測值的信息時縮減存儲容量的方法和設(shè)備。

本發(fā)明的另一個技術(shù)目標在于提供一種可以在存儲用于推導時間運動矢量預測值的信息時減少計算負荷并且降低復雜度的方法和設(shè)備。

問題的解決方案

(1)根據(jù)本發(fā)明的一方面,提供一種運動信息存儲方法,包括以下步驟:在當前圖片中的共址圖片中的運動數(shù)據(jù)存儲單元的塊當中確定代表性塊;將代表性塊的運動信息存儲為運動數(shù)據(jù)存儲單元的運動信息,其中,代表性塊的運動信息被用作運動數(shù)據(jù)存儲單元中所包括的塊的運動信息。

(2)在(1)中,代表性塊的運動信息包括運動矢量和參考索引,并且代表性塊的運動矢量和參考索引被用作運動數(shù)據(jù)存儲單元中所包括的塊的運動矢量和參考索引。

(3)在(2)中,可以指示在運動數(shù)據(jù)存儲單元中所包括的塊當中在幀內(nèi)預測模式下編碼的塊是幀內(nèi)塊。

(4)在(3)中,將用于指示塊是幀內(nèi)塊的參考索引,而不是代表性塊的參考索引,分配給在運動數(shù)據(jù)存儲單元中所包括的塊當中在幀內(nèi)預測模式下編碼的塊。

(5)在(3)中,可以使用編碼塊的預測類型來指示:在運動數(shù)據(jù)存儲單元中所包括的塊當中在幀內(nèi)預測模式下編碼的塊是幀內(nèi)塊。

(6)在(1)中,代表性塊的運動信息包括運動矢量、參考索引、以及預測模式,并且代表性塊的運動矢量、參考索引、以及預測模式被用作運動數(shù)據(jù)存儲單元中所包括的塊的運動矢量、參考索引、以及預測模式。

(7)在(1)中,代表性塊的運動信息包括運動矢量、參考索引、以及預測模式,代表性塊的運動矢量、參考索引、以及預測模式可以被用作運動數(shù)據(jù)存儲單元中所包括的塊的運動矢量、參考索引、以及預測模式,并且可以指示在運動數(shù)據(jù)存儲單元中所包括的塊當中在幀內(nèi)預測模式下編碼的塊是幀內(nèi)塊。

(8)在(1)中,代表性塊可以是運動數(shù)據(jù)存儲單元中所包括的塊當中的左上塊。

(9)在(1)中,代表性塊可以是當按照預定搜索順序搜索運動數(shù)據(jù)存儲單元中所包括的塊時首先被搜索的幀間塊。

(10)在(9)中,搜索順序可以是從運動數(shù)據(jù)存儲單元中的左上塊開始的光柵掃描順序。

(11)在(9)中,搜索順序可以是從運動數(shù)據(jù)存儲單元中的中心塊按照螺旋方向進行的順序。

(12)在(1)中,代表性塊可以是其參考索引具有值0的塊,并且代表性塊是當按照預定搜索順序搜索運動數(shù)據(jù)存儲單元中所包括的塊時首先被搜索的幀間塊。

(13)在(1)中,當在幀內(nèi)預測模式下對運動數(shù)據(jù)存儲單元中所包括的所有塊編碼時,在鄰近運動數(shù)據(jù)存儲單元的塊當中在幀內(nèi)預測模式下編碼的塊被選擇為代表性塊。

(14)在(1)中,代表性塊可以是運動數(shù)據(jù)存儲單元的中心處的四個塊當中的位于右下角的塊。

(15)在(1)中,代表性塊可以是在鄰近運動數(shù)據(jù)存儲單元的塊當中的、鄰近運動數(shù)據(jù)存儲單元的右下角的塊。

(16)在(1)中,運動數(shù)據(jù)存儲單元的尺寸可以由編碼器確定并且以信號發(fā)送至解碼器。

(17)在(1)中,當位于圖片邊界處的邊界運動數(shù)據(jù)存儲單元的尺寸小于位于圖片內(nèi)部的內(nèi)部運動數(shù)據(jù)存儲單元,并且與內(nèi)部運動數(shù)據(jù)存儲單元的代表性塊共址的塊不可用作為邊界運動數(shù)據(jù)存儲單元的代表性塊時,邊界運動數(shù)據(jù)存儲單元中所包括的塊當中位于左上角的塊可以被確定為邊界運動數(shù)據(jù)存儲單元的代表性塊。

(18)根據(jù)本發(fā)明的另一方面,提供一種時間運動矢量預測值推導方法,包括以下步驟:確定當前圖片的共址圖片;確定共址圖片中的當前塊的共址預測單元;以及將共址預測單元的運動信息設(shè)置為當前塊的時間運動矢量預測值,其中,共址預測單元是位于運動數(shù)據(jù)存儲單元中的左上角處的預測單元,所述運動數(shù)據(jù)存儲單元包括用于共址預測單元的定位像素,并且定位像素是在共址圖片中鄰近當前塊的共址塊的右下角的像素。

(19)在(18)中,當鄰近共址塊的右下角的像素是不可用于幀間預測的像素時,在位于共址塊的中心處的四個像素當中在右下角處的像素可以被選擇為定位像素。

(20)在(18)中,共址預測單元可以是位于運動數(shù)據(jù)存儲單元的中心處的預測單元和鄰近運動數(shù)據(jù)存儲單元的右下角的預測單元中的任一個。

本發(fā)明的有益效果

根據(jù)本發(fā)明的多個方面,可以在壓縮圖像數(shù)據(jù)的處理中提高預測效率并且改進編碼/解碼性能。

根據(jù)本發(fā)明的多個方面,可以在推導用于幀間預測的時間運動矢量預測值時防止失真并且提高壓縮效率。

根據(jù)本發(fā)明的多個方面,可以在存儲用于推導時間運動矢量預測值的信息時減小存儲容量。

根據(jù)本發(fā)明的多個方面,可以在存儲用于推導時間運動矢量預測值的信息時減少計算負荷并且降低復雜度。

附圖說明

圖1是示意性地示出根據(jù)本發(fā)明的實施例的圖像編碼設(shè)備(編碼器)的框圖。

圖2是示意性地示出根據(jù)本發(fā)明的實施例的圖像解碼設(shè)備的框圖。

圖3是示意性地示出當amvp被應(yīng)用至幀間預測模式時推導運動矢量的方法的實例的流程圖。

圖4是示意性地示出創(chuàng)建mvp候選列表的方法的實例的概念圖。

圖5是示意性地示出在成像解碼設(shè)備中推導用于幀間預測的tmvp的方法的實例的流程圖。

圖6是示意性地示出指定colpu的方法的示意圖。

圖7是示意性地示出存儲運動信息的方法的示意圖。

圖8是示意性地示出在不考慮參考索引的情況下執(zhí)行運動矢量內(nèi)存壓縮(運動矢量存儲縮減)的實例的示意圖。

圖9是示意性地示出當在應(yīng)用本發(fā)明的系統(tǒng)中將4x4運動數(shù)據(jù)塊設(shè)置為單個運動數(shù)據(jù)存儲單元時的運動數(shù)據(jù)塊的運動信息的示意圖。

圖10是示意性地示出根據(jù)本發(fā)明用于搜索預測模式的順序的示意圖,在該預測模式中對運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊進行編碼。

圖11是示意性地示出根據(jù)本發(fā)明使用當前運動數(shù)據(jù)存儲單元的鄰近塊存儲關(guān)于當前運動數(shù)據(jù)存儲單元的運動信息的方法的示意圖。

圖12是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時對參考索引以及運動矢量執(zhí)行運動信息內(nèi)存壓縮的狀態(tài)的示意圖。

圖13是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時根據(jù)本發(fā)明僅對幀間塊執(zhí)行運動矢量和參考索引的運動信息內(nèi)存壓縮的狀態(tài)的示意圖。

圖14是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時在根據(jù)本發(fā)明執(zhí)行運動矢量和參考索引的運動信息內(nèi)存壓縮的狀態(tài)下推斷幀內(nèi)塊的方法的示意圖。

圖15示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時根據(jù)本發(fā)明壓縮關(guān)于預測模式的信息的狀態(tài)的示意圖。

圖16是示意性地示出當壓縮并且存儲運動信息時,根據(jù)本發(fā)明利用與鄰近當前運動數(shù)據(jù)存儲單元的塊有關(guān)的信息的方法的示意圖。

圖17是示意性地示出當壓縮并且存儲運動信息時,根據(jù)本發(fā)明壓縮并且存儲比運動信息的壓縮和存儲單元更小的像素塊的運動信息的方法的示意圖。

圖18是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的左上塊時,根據(jù)本發(fā)明壓縮并且存儲剩余塊的運動信息的方法的示意圖。

圖19是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的右下塊時,根據(jù)本發(fā)明壓縮并且存儲剩余塊的運動信息的方法的示意圖。

圖20是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的右下塊但是在剩余塊中存在不可用區(qū)域時,壓縮并且存儲剩余塊的運動信息的方法的示意圖。

圖21是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的中心左上塊時,根據(jù)本發(fā)明壓縮并且存儲剩余塊的運動信息的方法的示意圖。

圖22是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的中心左上塊但是在剩余塊中存在不可用區(qū)域時,壓縮并且存儲剩余塊的運動信息的方法的示意圖。

圖23是示意性地示出位于中心處的運動信息被用作tmvp,而不是在鄰近當前幀的幀中位于與當前塊相同的位置處的塊的左上側(cè)處的運動信息的實例的示意圖。

圖24是示意性地示出當推導tmvp時,處理位于中心處的幀間塊的運動信息的方法的示意圖。

圖25是示意性地示出根據(jù)本發(fā)明基于在參考圖片中位于col塊的中心處的塊的運動信息來推導tmvp的方法的示意圖。

圖26是示意性地示出根據(jù)本發(fā)明考慮幀內(nèi)塊的存在或不存在來推導tmvp的方法的示意圖。

具體實施方式

本發(fā)明可以以多種形式被不同地修改,并且其特定實施例將被描述并且在圖中示出。然而,實施例不意圖限制本發(fā)明。以下說明書中使用的術(shù)語僅用于描述特定實施例,而不意圖限制本發(fā)明。只要被不同地清楚地理解,單數(shù)的表述包括復數(shù)的表述。諸如“包括”和“具有”的術(shù)語指示存在以下說明中使用的特征、數(shù)量、步驟、操作、元件、組件或其結(jié)合,并且從而應(yīng)該理解,不排除一個或多個不同特征、數(shù)量、步驟、操作、元件、組件或其結(jié)合的存在或添加的可能性。

另一方面,本發(fā)明中描述的圖中的元件被獨立繪制以用于便于說明圖像編碼/解碼設(shè)備中的不同特定功能的目的,并且不意味著元件由獨立硬件或獨立軟件實現(xiàn)。例如,元件中的兩個或多個元件可以被結(jié)合形成單個元件,或者一個元件可以被劃分為多個元件。元件被結(jié)合和/或劃分的實施例屬于本發(fā)明的范圍,而不脫離本發(fā)明的概念。

此后,將參考附圖詳細地描述本發(fā)明的示例性實施例。圖中的類似的組成部分將由類似的參考數(shù)字指代并且不被重復描述。

圖1是示意性地示出根據(jù)本發(fā)明的實施例的圖像編碼設(shè)備(編碼器)的框圖。參考圖1,圖像編碼設(shè)備100包括圖片劃分模塊105、預測模塊110、變換模塊115、量化模塊120、重排模塊125、熵編碼模塊130、解量化模塊135、逆變換模塊140、濾波器模塊145、以及存儲器150。

圖片劃分模塊105可以將輸入圖片劃分為至少一個處理單元。在此,處理單元可以是預測單元(此后稱為“pu”)、變換單元(此后稱為“tu”)、或編碼單元(此后稱為“cu”)。在本說明書中,為了便于解釋的目的,預測單元可以由預測塊表示,變換單元可以由變換塊表示,以及編碼單元可以由編碼塊表示。

預測模塊110包括執(zhí)行幀間預測處理的幀間預測模塊和執(zhí)行幀內(nèi)預測處理的幀內(nèi)預測模塊,如隨后描述的。預測模塊110對通過圖片劃分模塊105劃分的圖片的處理單元執(zhí)行預測處理,以創(chuàng)建預測塊。在預測模塊110中,圖片的處理單元可以是cu、tu、或pu??梢源_定對相應(yīng)處理單元執(zhí)行的預測是幀間預測還是幀內(nèi)預測,并且可以確定預測方法的特定詳情(例如,預測模式)。經(jīng)過預測處理的處理單元可以不同于確定其預測方法和特定詳情的處理單元。例如,預測方法和預測模式可以由pu單元確定,并且預測處理可以由tu單元執(zhí)行。

在幀間預測中,基于與當前圖片的先前圖片和/或隨后圖片中的至少一個有關(guān)的信息來執(zhí)行預測處理以創(chuàng)建預測塊。在幀內(nèi)預測中,基于當前圖片的像素信息來執(zhí)行預測處理以創(chuàng)建預測塊。

在幀間預測中,參考圖片被選擇用于pu,并且具有與pu相同尺寸的參考塊可以通過整數(shù)像素采樣來選擇。然后,創(chuàng)建預測塊,在該預測塊中具有當前pu的殘留信號被最小化并且運動矢量幅度被最小化。另一方面,跳過(skip)模式、合并模式、mvp(運動矢量預測)等可以被用作幀內(nèi)預測方法??梢砸孕∮谡麛?shù)像素的像素采樣,諸如1/2像素采樣和1/4像素采樣,為單位,創(chuàng)建預測塊。在此,運動矢量也可以以小于整數(shù)像素的像素采樣為單位來表示。例如,亮度像素可以以1/4像素為單位表示,并且色度像素可以以1/8像素為單位表示。

諸如索引、運動矢量(例如,運動矢量預測值)、以及通過幀間預測選擇的參考圖片的殘留信號的信息被熵編碼,并且被發(fā)送至解碼器。

當執(zhí)行幀內(nèi)預測時,可以以pu為單位確定預測模式,并且可以以pu為單位執(zhí)行預測處理??梢砸詐u為單位確定預測模式,并且可以以tu為單位執(zhí)行幀間預測。

幀內(nèi)預測中的預測模式包括33個方向預測模式和至少兩個非方向模式。非方向模式包括dc預測模式和平面模式。

在幀內(nèi)預測中,在將濾波器應(yīng)用至參考采樣之后,可以產(chǎn)生預測塊。此時,可以根據(jù)幀內(nèi)預測模式和/或當前塊的尺寸,確定是否應(yīng)該將濾波器應(yīng)用至參考采樣。當前塊可以是將經(jīng)過預測處理的變換單元。另一方面,本說明書中的像素的使用是指,使用諸如像素值的像素信息。為了便于解釋的目的,應(yīng)該注意,表述“使用像素的信息”或“使用像素值”可以由“使用像素”簡單地表示。特定幀內(nèi)預測方法如隨后所述。

pu具有多種尺寸和形狀。例如,在幀間預測的情況下,pu可以具有諸如2nx2n、2nxn、nx2n、以及nxn的尺寸。在幀內(nèi)預測的情況下,pu可以具有諸如2nx2n和nxn(其中,n是整數(shù))的尺寸。具有nxn尺寸的pu可以被設(shè)置為僅應(yīng)用至特定情況。例如,具有nxn尺寸的pu可以被設(shè)置為僅用于最小編碼單元,或者可以被設(shè)置為僅用于幀內(nèi)預測。除了具有上述尺寸的pu之外,可以另外限定和使用具有諸如nxmn、mnxn、2nxmn、以及mnx2n(其中,m<1)的尺寸的pu。

將所產(chǎn)生的預測塊和原始塊之間的殘值(殘留塊或殘留信號)輸入至變換模塊115。被用于預測的預測模式信息、運動矢量信息等與殘值一起通過熵編碼模塊130編碼,并且被發(fā)送至解碼器。

變換模塊115以tu為單位對殘留塊執(zhí)行變換處理并且輸出變換系數(shù)。變換模塊115中的變換單元可以是tu,并且可以具有四叉樹(quadtree)結(jié)構(gòu)。變換單元的尺寸可以被確定在預定的最大和最小尺寸范圍內(nèi)。變換模塊115可以使用dct(離散余弦變換)和/或dst(離散正弦變換)變換殘留塊。

量化模塊120可以量化通過變換模塊115變換的殘值,并且可以輸出量化系數(shù)。由量化模塊120計算的值可以被提供給解量化模塊135和重排模塊125。

重排模塊125可以重排從量化模塊120提供的量化系數(shù)。通過重排量化系數(shù),可以提高熵編碼模塊130中的編碼效率。重排模塊125可以通過使用系數(shù)掃描方法,將二維塊形式的量化系數(shù)重排為一維矢量的形式。重排模塊125可以通過基于從量化模塊發(fā)送的系數(shù)的隨機統(tǒng)計信息改變系數(shù)掃描的順序,來提高熵編碼模塊130中的熵編碼效率。

熵編碼模塊130對通過重排模塊125重排的量化系數(shù)執(zhí)行熵編碼處理。熵編碼方法的實例包括指數(shù)哥倫布方法、cavlc(上下文自適應(yīng)變長度編碼)方法、cabac(上下文自適應(yīng)二進制算術(shù)編碼)方法。熵編碼模塊130可以對多種信息編碼,諸如從重排模塊125和預測模塊110發(fā)送的編碼單元的殘留系數(shù)信息和塊類型信息、預測模式信息、劃分單元信息、預測單元信息、變換單元信息、運動矢量信息、參考圖片信息、塊內(nèi)插信息、以及濾波信息。

如有必要,熵編碼模塊130可以對將被發(fā)送的參數(shù)集合或語法給予預定改變。

解量化模塊135解量化通過量化模塊120量化的值。逆變換模塊140逆變換通過解量化模塊135解量化的值。通過解量化模塊135和逆變換模塊140生成的殘值與通過預測模塊110預測的預測塊合并,以創(chuàng)建重建塊。

濾波器模塊145將去塊濾波器、alf(自適應(yīng)環(huán)路濾波器)、sao(采樣自適應(yīng)偏移)應(yīng)用至重建圖片。

去塊濾波器去除重建圖片中的塊之間的邊界處生成的塊失真。alf基于原始圖片與重建圖片的比較的結(jié)果值,執(zhí)行濾波處理,該重建圖片的塊被通過去塊濾波器濾波。僅當高效率是必須的時,可以應(yīng)用alf。sao重建對其應(yīng)用了去塊濾波的殘留塊和原始圖片之間的偏移差,并且被以頻帶偏移、邊緣偏移等的形式應(yīng)用。

另一方面,濾波器模塊145可以不對用于幀間預測的重建塊執(zhí)行濾波處理。

存儲器150存儲通過濾波器模塊145計算的重建塊或圖片。當執(zhí)行幀間預測時,將存儲在存儲器150中的重建塊或圖片提供給預測模塊110。

圖2是示意性地示出根據(jù)本發(fā)明的實施例的圖像解碼設(shè)備的框圖。參考圖2,圖像解碼設(shè)備200包括熵解碼模塊210、重排模塊215、解量化模塊220、逆變換模塊225、預測模塊230、濾波器模塊235、以及存儲器240。

當從圖像編碼設(shè)備輸入圖像比特流時,基于通過圖像編碼設(shè)備處理圖像信息的順序,對輸入比特流解碼。

例如,當圖像編碼設(shè)備使用諸如cavlc的可變長度編碼(此后稱為“vlc”)方法以執(zhí)行熵編碼處理時,圖像解碼模塊210可以實現(xiàn)如在圖像編碼設(shè)備中使用的相同vlc表,并且可以執(zhí)行熵解碼處理。當圖像編碼設(shè)備使用cabac執(zhí)行熵編碼處理時,熵解碼模塊210可以使用對應(yīng)于其的cabac執(zhí)行熵解碼處理。

將通過熵解碼模塊210解碼的信息中的用于創(chuàng)建預測塊的信息提供給預測模塊230,并且將通過熵解碼模塊熵解碼的殘值輸入到重排模塊215。

重排模塊215基于圖像編碼設(shè)備中的重排方法,重排通過熵解碼模塊210熵解碼的比特流。重排模塊215將以一維矢量形式表示的系數(shù)重建并且重排為二維塊形式的系數(shù)。重排模塊215被提供有與通過編碼模塊執(zhí)行的系數(shù)掃描相關(guān)的信息,并且可以使用基于掃描順序逆向地掃描系數(shù)的方法執(zhí)行重排,相應(yīng)的編碼模塊以該掃描順序執(zhí)行掃描。

解量化模塊220基于從編碼器提供的量化參數(shù)和重排后的塊的系數(shù)值執(zhí)行解量化。

逆變換模塊225對來自圖像編碼設(shè)備的量化結(jié)果執(zhí)行已由圖像編碼設(shè)備的變換模塊執(zhí)行的dct和dst的逆dct和逆dst?;谕ㄟ^圖像編碼設(shè)備確定的圖片的變換單元或劃分單元,執(zhí)行逆變換。圖像編碼設(shè)備的變換模塊根據(jù)諸如預測方法、當前塊的尺寸、以及預測方向的多個信息元素,選擇性地執(zhí)行dct和dst,并且圖像解碼設(shè)備的逆變換模塊225基于與通過圖像編碼設(shè)備的變換模塊執(zhí)行的變換有關(guān)的變換信息執(zhí)行逆變換。

預測模塊230基于從熵解碼模塊210提供的預測塊創(chuàng)建信息和從存儲器240提供的先前解碼的塊和/或圖片信息,創(chuàng)建預測塊??梢允褂猛ㄟ^預測模塊230生成的預測塊和從逆變換模塊225提供的殘留塊,推導重建塊。當當前pu的預測模式是幀內(nèi)預測模塊(幀內(nèi)模式)時,可以執(zhí)行基于當前圖片中的像素信息創(chuàng)建預測塊的幀內(nèi)預測處理。

當當前pu的預測模式是幀間預測模式(幀間模式)時,可以基于包括在當前圖片的先前圖片或隨后圖片中的至少一個中的信息,對當前pu執(zhí)行幀間預測處理。此時,可以由從編碼器接收的跳過標記、合并標記等中推導從圖像編碼設(shè)備提供的當前pu的幀間預測所必需的運動信息,例如,關(guān)于運動矢量的信息、參考圖片索引等。

將重建塊和/或圖片提供給濾波器模塊235。濾波器模塊235對重建塊和/或圖片執(zhí)行去塊濾波處理、sao(采樣自適應(yīng)偏移)處理、和/或自適應(yīng)環(huán)路濾波處理。

存儲器240存儲用作參考圖片或參考塊的重建圖片或塊,并且將重建圖片提供給輸出模塊。

在幀間預測模式的情況下,解碼器和編碼器推導當前塊的運動信息,并且基于所推導的運動信息對當前塊執(zhí)行幀間預測。

圖3是示意性地示出當將amvp(高級運動矢量預測值)應(yīng)用至幀間預測模式時推導運動矢量的方法的實例的流程圖。

參考圖3,編碼器和解碼器可以推導當前塊的運動矢量預測值(此后稱為“mvp”)候選列表(s310)。mvp表示當前塊的運動矢量的預測值。

編碼器和解碼器可以使用鄰近當前塊的可用相鄰塊和/或與當前塊共址(co-located)的參考圖片的塊當中的可用塊(為了便于解釋的目的,此后稱為“col塊”(共址塊))的運動矢量,生成mvp候選列表。

隨后將描述創(chuàng)建mvp候選列表的具體方法。

在本說明書中,為了便于解釋的目的,鄰近當前塊的塊被限定為“相鄰塊”。

編碼器和解碼器可以選擇包括在mvp候選列表中的mvp候選者中的當前塊的mvp。

編碼器可以通過對包括在mvp候選列表中的mvp候選者應(yīng)用運動矢量競爭(competition)(mvc),選擇當前塊的最佳mvp。當選擇mvp時,編碼器使用比特流將mvp索引傳送到解碼器。mvp索引是指示當前塊的mvp的索引,并且選自包括在mvp候選列表中的mvp候選者。

解碼器從編碼器接收mvp索引。解碼器使用所接收的mvp索引,在包括在mvp候選列表中的mvp候選者中選擇當前塊的mvp。

解碼器可以使用所選的mvp推導當前塊的運動矢量(s330)。

當選擇當前塊的mvp時,編碼器計算當前塊的運動矢量和mvp之間的差。運動矢量和mvp之間的差被稱為運動矢量差(此后稱為“mvd”)。

編碼器可以將關(guān)于mvd而不是運動矢量的信息傳送到解碼器。在該情況下,mvd變得越小,從編碼器傳送到解碼器的信息量可以變得越小。

解碼器從編碼器接收關(guān)于mvd的信息。當選擇當前塊的mvp時,解碼器將mvd添加至所選mvp,以計算當前塊的運動矢量。

圖4是示意性地示出創(chuàng)建mvp候選列表的方法的實例的概念圖。

在本說明書中,為了便于解釋的目的,包括左下相鄰塊a0410(其是當前塊400的左下角的相鄰塊)和左部塊a1420(其位于當前塊400的左相鄰塊中的底部)的候選組被限定為左候選組。包括右上相鄰塊b0430(其是當前塊400的右上角的相鄰塊)、右相鄰塊b1440(其位于當前塊400的頂部相鄰塊中的最右側(cè))、以及左上塊b2450(其是當前塊400的左上角的相鄰塊)的候選組被限定為頂部候選組。

編碼器和解碼器從左候選組(a0和a1)中選擇一個mvp候選者。從左候選組選擇的mvp候選者被限定為mva。例如,編碼器和解碼器可以選擇具有與當前塊相同的參考圖片索引并且可用的第一塊的運動矢量,作為當前塊的mvp候選者mva,同時按照a0→a1的順序掃描包括在左候選組中的塊。

編碼器和解碼器還可以從頂部候選組(b0、b1和b2)中選擇一個mvp候選者。從頂部候選組中選擇的mvp候選者被限定為mvb。例如,編碼器和解碼器可以選擇具有與當前塊相同的參考圖片索引并且可用的第一塊的運動矢量,作為當前塊的mvp候選者mvb,同時按照b0→b1→b2的順序掃描包括在頂部候選組中的塊。

編碼器和解碼器可以選擇參考圖片中的col塊col460的運動矢量作為當前塊的mvp候選者。在此,col塊660的運動矢量由mvcol表示。

在上述實施例中,從左候選組中選擇的mvp候選者和從頂部候選組中選擇的mvp候選者被稱為空間運動矢量預測值(此后稱為“smvp”)。使用參考圖片中的col塊選擇的mvp候選者被稱為時間運動矢量預測值(此后稱為“tmvp”)。從而,mvp候選列表包括smvp和/或tmvp。

當在通過上述方法選擇的mvp候選者中存在重疊候選者時,編碼器和解碼器可以去除除了重疊候選者中的最高秩候選者之外的其他候選者。

如上所述,tmvp以及smvp被用于當前塊的幀間預測。

圖5是示意性地示出在解碼器中推導用于幀間預測的tmvp的方法的實例的流程圖。為了便于解釋的目的,在圖5中示出解碼器的操作,但是編碼器也執(zhí)行與解碼器相同的操作,以使用與解碼器中相同的tmvp候選者執(zhí)行幀間預測。從而,參考圖5描述的解碼器的操作可以類似地應(yīng)用至編碼器。

參考圖5,解碼器首先指定包括col塊(共址塊)或col分段(共址分段)的共址圖片(此后稱為“colpic”)(s510)。

解碼器可以基于關(guān)于條帶(slice)類型的信息和關(guān)于從什么參考圖片列表選擇colpic的信息,指定colpic。

例如,當當前塊的條帶類型是b并且參考圖片不選自l0時,從l1指定colpic。

用于對圖像編碼和解碼的圖片可以被分類為i圖片、p圖片、以及b圖片。

i圖片是不管其先前和隨后圖片如何,使用其本身的圖片獨立編碼的圖片。時間預測不被應(yīng)用至i圖片,并且僅幀內(nèi)信息被用于其編碼。p圖片是可以使用單個參考圖片通過單向幀間預測來編碼的圖片。p圖片要求一個參考圖片列表,其被稱為參考圖片列表0(l0)。使用選自l0的參考圖片的幀間預測還被稱為l0預測。l0預測主要用于前向預測。幀內(nèi)預測或l0預測可以被執(zhí)行用于p圖片。

b圖片是可以使用兩個參考圖片,通過前向、后向、或雙向幀間預測來編碼的圖片。b圖片要求兩個參考圖片列表,其被稱為參考圖片列表0(l0)和參考圖片列表1(l1)。如上所述,使用選自l0的參考圖片的幀間預測被稱為l0預測。l0預測主要用于前向預測。使用選自l1的參考圖片的幀間預測被稱為l1預測。l1預測主要用于后向預測。使用選自l0和l1的兩個參考圖片的幀間預測被稱為雙向預測(biprediction)。

幀內(nèi)預測、l0預測、l1預測或雙向預測可以被執(zhí)行用于b圖片。兩條運動信息可以被用于b圖片。從而,使用兩個先前參考圖片,前向預測可以被執(zhí)行用于b圖片,使用兩個隨后參考圖片,后向預測可以被執(zhí)行,并且使用一個先前參考圖片和一個隨后參考圖片,雙向預測可以被執(zhí)行??梢詧?zhí)行雙向預測的b圖片要求兩個參考圖片列表l0和l1。

i圖片、p圖片、以及b圖片的特征可以以條帶為單位而不是以圖片為單位限定。例如,可以限定以條帶為單位具有i圖片的特征的i條帶、具有p圖片的特征的p條帶、以及具有b圖片的特征的b條帶。

當當前塊的條帶類型是b并且colpic選自l0時,或者當當前塊的條帶類型是p時,可以從l0選擇colpic。

解碼器可以從所選的colpic中指定將被用于當前塊的預測的共址預測塊colpu(s520)。解碼器可以使用在colpic中指定的colpu的信息作為在當前塊的幀間預測中的tmvp。

圖6是示意性地示出指定colpu的方法的示意圖。參考圖6,在colpic(未示出)中,位于col塊600(對應(yīng)于當前塊)的左上角的像素采樣stl的位置被指定為(xp,yp)。在此,當前塊和col塊可以是pu。

當當前塊的寬度被限定為npsw并且當前塊的高度被限定為npsh時,位于col塊600的右下角的像素采樣srb的位置被指定為(xprb,yprb)。從而,通過srb指定當前塊(col塊)的尺寸。srb用作隨后描述的定位像素。

當stl和srb屬于相同lcu(最大cu)時,在colpic中,覆蓋srb所屬的預定運動數(shù)據(jù)存儲單元的左上角的預測塊被指定為colpu(共址預測單元)。例如,srb用作用于定位colpu的位置的像素。

運動數(shù)據(jù)存儲單元是存儲用于幀間預測中的預測的運動信息的單元。具有預定尺寸的塊可以被設(shè)置為運動數(shù)據(jù)存儲單元,并且一條運動信息可以被存儲用于每個運動數(shù)據(jù)存儲單元。例如,當對于colpic中的每nxn采樣(其中,n是整數(shù))指派并且存儲一個值,并且colpic中的特定塊的運動信息被用于幀間預測時,可以使用覆蓋特定塊的運動數(shù)據(jù)存儲單元的運動信息。運動數(shù)據(jù)存儲單元可以被設(shè)置為具有特定尺寸的采樣塊,諸如,4x4采樣、6x6采樣、8x8采樣、12x12采樣、16x16采樣、32x32采樣、以及64x64采樣??梢砸跃哂兴O(shè)置尺寸的采樣塊為單位存儲運動信息。

例如,當運動數(shù)據(jù)存儲單元是16x16采樣塊時,((xprb>>4)<<4,(yprb>>4)<<4)的位置可以被指定為覆蓋srb所屬的運動數(shù)據(jù)存儲單元的左上角的colpu的位置。

當stl和srb不屬于相同lcu時,可以基于位于col塊的中心處(特別是,在由col塊尺寸的1/2指定的中心右下角處)的采樣sctr指定colpu。從而,sctr還用作用于定位colpu的定位像素。sctr的位置(xpctr,ypctr)可以被指定為(xp+(npsw>>1),yp+(npsh>>1))。在該情況下,覆蓋sctr所屬的運動數(shù)據(jù)存儲單元的左上角的預測塊可以被指定為colpu。

在該情況下,當運動數(shù)據(jù)存儲單元是16x16采樣塊時,位置((xpctr>>4)<<4,(yctr>>4)<<4)可以被指定為colpu的位置。

另一方面,colpic中的colpu的位置(xpcol,ypcol)可以被指定為相對于colpic的左上采樣的位置的、colpu的左上采樣的位置。

解碼器可以基于colpu的信息,推導關(guān)于時間運動矢量的信息和將被用于當前塊的預測的參考列表的可用性(s530)。

例如,當在幀內(nèi)預測模式下對colpu編碼時,當colpu不可用時,以及當colpic被設(shè)置成不被用于tmvp(時間運動矢量預測值)時,時間運動矢量mvcol可以被設(shè)置為0,并且參考列表可以被設(shè)置為不可用。

此時,availableflaglxcol(其中,x是0或1)可以被用作指示參考列表的可用性的信息。確定當availableflaglxcol的值為0時,參考圖片列表可用,并且確定當availableflaglxcol的值為1時,參考圖片列表不可用。

除了當在幀內(nèi)預測模式下不對colpu編碼時,當colpu不可用時,以及當colpic被設(shè)置成不被用于tmvp(時間運動矢量預測值)時之外,即,當參考圖片列表可用時,可以如下地推導作為運動信息的參考列表標識符listcol、時間運動矢量mvcol、以及參考列表refidxcol。

當用于colpu的l0的利用性被確定并且確定l0不被利用時,可以使用l1作為參考列表并且使用colpu的數(shù)據(jù),來指定時間運動矢量mvcol的值和參考索引refidxcol的值。例如,時間運動矢量mvcol的值可以被設(shè)置為mvl1[xpcol][ypcol],并且參考索引refidxcol的值可以被設(shè)置為refidxl1[xpcol][ypcol]。

當l0的利用性被確定并且確定利用l0但是不利用l1時,可以使用l0作為參考列表并且使用colpu的數(shù)據(jù),來指定時間運動矢量mvcol的值和參考索引refidxcol的值。例如,時間運動矢量mvcol的值可以被設(shè)置為mvl0[xpcol][ypcol],并且參考索引refidxcol的值可以被設(shè)置為refidxl0[xpcol][ypcol]。

當確定利用l0和l1時,通過比較當前圖片的圖片順序計數(shù)與每個參考圖片列表中的圖片的圖片順序計數(shù),來確定時間運動信息。例如,當當前圖片的圖片順序計數(shù)等于或大于參考圖片列表中的圖片的圖片順序計數(shù)時,由用于推導時間運動信息的參考圖片列表中的colpu的位置(xpcol,ypcol)指示的參考索引和運動矢量可以分別被設(shè)置為refidxcol和mvcol的值。

當參考圖片列表中的至少一個圖片的圖片順序計數(shù)大于當前圖片的圖片順序計數(shù)時,使用來自編碼器的信令所指示的參考圖片列表,可以分別將由相應(yīng)參考圖片列表中的colpu的位置(xpcol,ypcol)指示的參考索引和運動矢量設(shè)置為refidxcol和mvcol的值。

解碼器可以使用tmvp(其具有被推導作為運動信息的時間運動矢量和參考圖片索引)作為mvp候選者。在此,當colpic和colpic的參考圖片之間的距離等于當前圖片和當前圖片的參考圖片之間的距離時,可以將所推導的mvcol本身用作時間運動矢量。當colpic和colpic的參考圖片之間的距離不等于當前圖片和當前圖片的參考圖片之間的距離時,所推導的mvcol可以被縮放(scale)并且用作時間運動矢量。

如上所述,在tmvp中使用的colpu的運動信息可以由預定運動數(shù)據(jù)存儲單元存儲。即,colpu可以通過運動數(shù)據(jù)存儲單元設(shè)置,并且colpu的運動信息可以被用作屬于相應(yīng)運動數(shù)據(jù)存儲單元的塊的運動信息。

這旨在減小用于存儲運動信息的內(nèi)存容量。用作運動數(shù)據(jù)存儲單元的n1xn2(其中,n1和n2是整數(shù))塊的尺寸可以被預先設(shè)置或者可以從編碼器以信號發(fā)送。

圖7是示意性地示出存儲運動信息的方法的示意圖。圖7示出塊b0至b15(其是用于設(shè)置運動信息的最小單元)被設(shè)置為單個運動數(shù)據(jù)存儲單元的實例。

在本說明書中,為了便于解釋的目的,用于設(shè)置運動信息的最小單元被表示為運動數(shù)據(jù)塊。運動數(shù)據(jù)塊可以是cu、pu、tu或除了cu、tu、和pu之外的單元。運動數(shù)據(jù)塊可以對應(yīng)于由參考圖6描述的stl、srb和sctr指定的塊。當運動數(shù)據(jù)塊是4x4采樣的塊時,運動數(shù)據(jù)存儲單元700是16x16采樣的塊。

在圖7中,每個運動數(shù)據(jù)塊bi(其中,i=0,…,15)的運動矢量被指定為(xi,yi)。

是否壓縮并且通過存儲單元存儲運動信息以及使用什么存儲單元可以被預先設(shè)置或者可以從編碼器以信號發(fā)送。當從編碼器以信號發(fā)送這樣的信息時,可以使用表示是否壓縮并且通過存儲單元存儲運動信息的標記(motion_vector_buffer_comp_flag)和與多少運動數(shù)據(jù)塊(或多少像素)被設(shè)置為單個存儲單元有關(guān)的壓縮率信息(motion_vector_buffer_comp_ratio)。

例如,當motion_vector_buffer_comp_flag的值為1時,運動信息可以被壓縮并且由存儲單元存儲。當motion_vector_buffer_comp_ratio的值為4時,4x4運動數(shù)據(jù)塊可以被用作單個運動數(shù)據(jù)存儲單元,如圖7中所示。

解碼器可以首先應(yīng)用自適應(yīng)環(huán)路濾波器,并且然后可以使用圖7中所示的運動數(shù)據(jù)存儲單元中的左邊最上運動數(shù)據(jù)塊b0的運動矢量(x0,y0)作為運動數(shù)據(jù)存儲單元700的代表值。即,(x0,y0)的運動矢量值被分配給其他15個運動數(shù)據(jù)塊b1至b15。

為了便于在本說明書中的解釋,具有被存儲作為運動數(shù)據(jù)存儲單元的代表性運動矢量的運動矢量的運動數(shù)據(jù)塊被稱為代表性運動數(shù)據(jù)塊。當運動數(shù)據(jù)塊是pu時,代表性運動數(shù)據(jù)塊可以對應(yīng)于參考圖5描述的colpu。

當作為代表性運動數(shù)據(jù)塊的塊b0是不可用于幀間預測的塊,例如,在幀內(nèi)預測模式下編碼的塊(為了便于解釋的目的,此后稱為“幀內(nèi)塊”)時,將零運動矢量(0,0)分配給16個運動數(shù)據(jù)塊。

換句話說,當作為運動數(shù)據(jù)存儲單元700中的第一運動數(shù)據(jù)塊的塊b0不被幀內(nèi)編碼時,運動數(shù)據(jù)塊b0的運動矢量(x0,y0)在運動矢量緩沖器中被存儲為16個運動數(shù)據(jù)塊b0至b15的代表性運動矢量,以用于推導時間運動矢量(tmvp)。當運動數(shù)據(jù)塊b0被幀內(nèi)編碼時,運動矢量(0,0)在運動矢量緩沖器中被存儲為運動數(shù)據(jù)存儲單元700的代表性運動矢量,以用于推導tmvp。

當運動信息如上所述被壓縮并且被存儲時,將左邊最上塊b0的運動信息分配給運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊。

存在以下問題:通過將運動數(shù)據(jù)塊b0的運動信息共同地分配給運動數(shù)據(jù)存儲單元中的其他運動數(shù)據(jù)塊,降低了編碼效率。例如,當塊b0是幀內(nèi)塊并且在運動數(shù)據(jù)存儲單元中的其他塊中存在著在幀間預測模式下編碼的塊(為了便于解釋的目的,此后稱為“幀間塊”)時,將(0,0)存儲為運動數(shù)據(jù)存儲單元的代表性運動矢量。

通過在不考慮運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊的參考索引的情況下分配相同的運動矢量,可能導致失真。

圖8是示意性地示出在不考慮參考索引的情況下執(zhí)行運動矢量內(nèi)存壓縮(運動矢量存儲縮減)的實例的示意圖。在此,運動矢量存儲縮減是指,單個運動矢量(代表性運動矢量)或單條運動信息(代表性運動信息)被分配給運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊,并且結(jié)果被存儲并且使用,如上所述。

參考圖8,通過運動矢量內(nèi)存壓縮,不管ref_idxi的值如何,將相同的運動矢量(x0,y0)分配給運動數(shù)據(jù)存儲單元800中的運動數(shù)據(jù)塊b0至b15的運動信息,即,運動矢量(xi,yi)和參考索引ref_idxi(其中,i=0,…,15)。

從而,必須考慮用于推導tmvp并且能夠解決上述問題的存儲運動信息的方法。

以下參考圖中所示的實施例具體地描述根據(jù)本發(fā)明的用于推導tmvp的存儲運動信息的方法。

實施例1

在本實施例中,當nxn(其中,n是整數(shù))運動數(shù)據(jù)塊被用作單個運動數(shù)據(jù)存儲單元時,位于另一個特定位置處的運動數(shù)據(jù)塊的運動矢量,而不是位于運動數(shù)據(jù)存儲單元中的左上角的運動數(shù)據(jù)塊的運動矢量,被存儲并且被用作運動數(shù)據(jù)存儲單元的代表性運動矢量。

在此,將被用作代表性運動矢量的運動矢量可以是以下任一個:(1)位于右上(rt)角的運動數(shù)據(jù)塊的運動矢量,(2)位于左下(bl)角的運動數(shù)據(jù)塊的運動矢量,(3)位于右下(br)角的運動數(shù)據(jù)塊的運動矢量,(4)位于中心處的運動數(shù)據(jù)塊的左上(center_lt)運動數(shù)據(jù)塊的運動矢量,(5)位于中心處的運動數(shù)據(jù)塊的右上(center_rt)運動數(shù)據(jù)塊的運動矢量,(6)位于中心處的運動數(shù)據(jù)塊的左下(center_bl)運動數(shù)據(jù)塊的運動矢量,以及(7)位于運動數(shù)據(jù)存儲單元的中心處的運動數(shù)據(jù)塊的右下(center_br)運動數(shù)據(jù)塊的運動矢量。

解碼器可以將在(1)至(7)中指定的運動數(shù)據(jù)塊的運動矢量,而不是位于運動數(shù)據(jù)存儲單元中的左上角的運動數(shù)據(jù)塊的運動矢量,分配給運動數(shù)據(jù)塊,并且可以使用所分配的運動矢量推導tmvp。

圖9是示意性地示出當在本發(fā)明應(yīng)用到的系統(tǒng)中4x4運動數(shù)據(jù)塊被設(shè)置為單個運動數(shù)據(jù)存儲單元時的運動數(shù)據(jù)塊的運動信息的示意圖。

參考圖9,示出運動數(shù)據(jù)塊bi(其中,i=0,1,…,15)的運動矢量(xi,yi)。在該情況下,除了運動數(shù)據(jù)塊b0之外的運動數(shù)據(jù)塊可以被指派為代表性運動數(shù)據(jù)塊,并且所指派的代表性運動數(shù)據(jù)塊的運動矢量可以被用作運動數(shù)據(jù)存儲單元900的運動矢量。

在此,什么運動數(shù)據(jù)塊被指派為代表性運動數(shù)據(jù)塊可以被預先確定或者可以從編碼器以信號發(fā)送。

例如,當位于運動數(shù)據(jù)存儲單元900中的右上(rt)角的運動數(shù)據(jù)塊b3被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x3,y3)。當位于運動數(shù)據(jù)存儲單元900中的左下(bl)角的運動數(shù)據(jù)塊b12被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x12,y12)。當位于運動數(shù)據(jù)存儲單元900中的右下(br)角的運動數(shù)據(jù)塊b15被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x15,y15)。當位于運動數(shù)據(jù)存儲單元900中的中心左上(center_lt)角的運動數(shù)據(jù)塊b5被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x5,y5)。當位于運動數(shù)據(jù)存儲單元900中的中心右上(center_rt)角的運動數(shù)據(jù)塊b6被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x6,y6)。當位于運動數(shù)據(jù)存儲單元900中的中心左下(center_bl)角的運動數(shù)據(jù)塊b9被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x9,y9)。當位于運動數(shù)據(jù)存儲單元900中的中心右下(center_br)角的運動數(shù)據(jù)塊b10被指派為代表性運動數(shù)據(jù)塊時,運動數(shù)據(jù)存儲單元900的運動矢量是(x10,y10)。

另一方面,可以根據(jù)將被壓縮的單元,即,運動數(shù)據(jù)存儲單元的尺寸,適應(yīng)地確定在運動信息壓縮和存儲中具有被用作為代表值的運動信息的運動數(shù)據(jù)塊的位置。例如,當將被壓縮的單元由編碼器確定并且傳送時,可以根據(jù)motion_vector_buffer_comp_ratio的值確定具有被用于壓縮的運動矢量(運動信息)的塊(運動數(shù)據(jù)塊)的位置。

具體地,當將被壓縮的單元由編碼器確定并被傳送到解碼器,并且motion_vector_buffer_comp_ratio的值是4時,位于右下角的運動數(shù)據(jù)塊的運動矢量可以被用作相應(yīng)運動數(shù)據(jù)存儲單元的運動矢量(位于右下角的運動數(shù)據(jù)塊可以被用作代表性運動數(shù)據(jù)塊)。當motion_vector_buffer_comp_ratio的值是8或16時,位于中心右下(center_br)角的運動數(shù)據(jù)塊的運動矢量可以用作為相應(yīng)運動數(shù)據(jù)存儲單元的運動矢量(位于中心右下角的運動數(shù)據(jù)塊可以用作為代表性運動數(shù)據(jù)塊)。

在此,根據(jù)將被壓縮的單元(即,運動數(shù)據(jù)存儲單元的多種尺寸)而確定的代表性運動數(shù)據(jù)塊的位置不限于上述位置。

本實施例提供以下方法:因為代表性運動數(shù)據(jù)塊(從其指派代表性運動矢量值)是幀內(nèi)塊,防止零運動矢量被存儲為代表性運動矢量。

在本實施例中,通過按照預定順序掃描運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊,確定塊是幀內(nèi)塊還是幀間塊,并且被檢測為幀間塊的第一運動數(shù)據(jù)塊的運動矢量被用作為運動數(shù)據(jù)存儲單元的代表性運動矢量。

圖10是示意性地示出根據(jù)本發(fā)明的用于搜索預測模式的順序的視圖,以該預測模式編碼運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊。

圖10示出運動數(shù)據(jù)存儲單元1000包括4x4運動數(shù)據(jù)塊b0至b15的實例。在圖10中的運動數(shù)據(jù)塊bi(其中,i=0,1,…,15)中,i表示掃描順序。

在圖10的(a)中所示的實例中,位于運動數(shù)據(jù)存儲單元1000中的左上角的運動數(shù)據(jù)塊被指派為第一塊b0以用于掃描運動數(shù)據(jù)塊,并且按照光柵掃描(rasterscan)順序確定其是幀間塊還是幀內(nèi)塊(或者其是否可用,即,當用于l0的運動矢量被存儲時,是否將運動矢量存儲在l0中)。

在圖10的(b)中所示的實例中,位于運動數(shù)據(jù)存儲單元1000中的中心右下角的運動數(shù)據(jù)塊被設(shè)置為將被掃描的第一塊b0,并且按照螺旋順時針方向執(zhí)行掃描。

在圖10的(c)中所示的實例中,位于運動數(shù)據(jù)存儲單元1000中的中心左上角的運動數(shù)據(jù)塊被設(shè)置為將被掃描的第一塊b0,并且按照螺旋順時針方向執(zhí)行掃描。

圖10的(d)至(m)示出考慮基于掃描的計算負荷來減少計算負荷的實施例。

在圖10的(d)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的中心的運動數(shù)據(jù)塊被掃描,并且位于中心左下角的運動數(shù)據(jù)塊被設(shè)置為將被掃描的第一塊b0,并且按照順時針方向執(zhí)行掃描。

在圖10的(e)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的中心的運動數(shù)據(jù)塊被掃描,并且位于中心左上角的運動數(shù)據(jù)塊被設(shè)置為將被掃描的第一塊b0,并且按照順時針方向執(zhí)行掃描。

在圖10的(f)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的中心的運動數(shù)據(jù)塊被掃描,并且按照位于中心右下角的運動數(shù)據(jù)塊(b0)→位于中心左下角的運動數(shù)據(jù)塊(b1)→位于中心右上角的運動數(shù)據(jù)塊(b2)→位于中心左上角的運動數(shù)據(jù)塊(b3)的順序執(zhí)行掃描。

在圖10的(g)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的中心的運動數(shù)據(jù)塊被掃描,并且按照位于中心右下角的運動數(shù)據(jù)塊(b0)→位于中心右上角的運動數(shù)據(jù)塊(b1)→位于中心左下角的運動數(shù)據(jù)塊(b2)→位于中心左上角的運動數(shù)據(jù)塊(b3)的順序執(zhí)行掃描。

在圖10的(h)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的中心的運動數(shù)據(jù)塊被掃描,并且按照位于中心右下角的運動數(shù)據(jù)塊(b0)→位于中心左上角的運動數(shù)據(jù)塊(b1)→位于中心右上角的運動數(shù)據(jù)塊(b2)→位于中心左上角的運動數(shù)據(jù)塊(b3)的順序執(zhí)行掃描。

在圖10的(i)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的中心的運動數(shù)據(jù)塊被掃描,并且按照位于中心右下角的運動數(shù)據(jù)塊(b0)→位于中心左上角的運動數(shù)據(jù)塊(b1)→位于中心左下角的運動數(shù)據(jù)塊(b2)→位于中心右上角的運動數(shù)據(jù)塊(b3)的順序執(zhí)行掃描。

在圖10的(j)中所示的實例中,僅位于運動數(shù)據(jù)存儲單元1000的角落處的運動數(shù)據(jù)塊被掃描,位于中心左上角的運動數(shù)據(jù)塊被設(shè)置為將被掃描的第一塊b0,并且按照順時針方向執(zhí)行掃描。

在圖10的(k)至(m)中所示的實例中,掃描單元被設(shè)置為圖10的(a)至(c)中設(shè)置的掃描單元的兩倍,并且執(zhí)行掃描。例如,當圖10的(a)至(c)中的每個運動數(shù)據(jù)塊是4x4采樣的塊時,在圖10的(k)至(m)中以8x8采樣的塊為單位執(zhí)行掃描。從而,位于8x8采樣的塊中的左上角的第一運動數(shù)據(jù)塊被掃描。

當運動數(shù)據(jù)存儲單元1000包括4x4運動數(shù)據(jù)塊時,在圖10的(k)中所示的實例中,從左上2x2個運動數(shù)據(jù)塊,按照順時針方向掃描每個2x2個運動數(shù)據(jù)塊中的左上運動數(shù)據(jù)塊。例如,掃描順序是圖中所示的b0→b1→b2→b3。

在圖10的(l)中所示的實例中,從左下2x2個運動數(shù)據(jù)塊,按照逆時針方向掃描每個2x2個運動數(shù)據(jù)塊中的左上運動數(shù)據(jù)塊。例如,掃描順序是圖中所示的b0→b1→b2→b3。

在圖10的(m)中所示的實例中,從左下2x2個運動數(shù)據(jù)塊,按照z字形方向掃描每個2x2個運動數(shù)據(jù)塊中的左上運動數(shù)據(jù)塊。例如,掃描順序是圖中所示的b0→b1→b2→b3。

在圖10中所示的實施例中,解碼器使用首先檢測到的將在幀間預測模式下被編碼的運動數(shù)據(jù)塊的運動矢量作為相應(yīng)運動數(shù)據(jù)存儲單元1000的代表性運動矢量。

實施例3

在實施例1和2中,可以基于幀內(nèi)塊的信息,存儲運動數(shù)據(jù)存儲單元的代表性運動信息。例如,當位于在實施例1中涉及的位置處的運動數(shù)據(jù)塊是幀內(nèi)塊時(或當目標參考列表的運動矢量不可用時),并且當運動數(shù)據(jù)存儲單元的所有運動數(shù)據(jù)塊是幀內(nèi)塊時(或當目標參考列表的運動矢量不可用時),零運動矢量(0,0)被用作運動數(shù)據(jù)存儲單元的代表性運動矢量。

本實施例提供參考當前塊的運動數(shù)據(jù)存儲單元(此后稱為“當前運動數(shù)據(jù)存儲單元”)的相鄰塊存儲運動信息的方法。

圖11示意性地示出根據(jù)本發(fā)明的使用當前運動數(shù)據(jù)存儲單元的相鄰塊來存儲當前運動數(shù)據(jù)存儲單元的運動信息的方法的示意圖。圖11示出運動數(shù)據(jù)存儲單元包括4x4運動數(shù)據(jù)塊的實例。

參考圖11,當當前運動數(shù)據(jù)存儲單元1100中的所有運動數(shù)據(jù)塊b0至b15是幀內(nèi)塊時,使用當前運動數(shù)據(jù)存儲單元1100的相鄰塊b16至b35的運動信息,存儲和使用當前運動數(shù)據(jù)存儲單元1100的運動信息。此時,相鄰塊b16至b35可以是運動數(shù)據(jù)塊。

當僅相鄰塊b16至b35中的一個塊是幀間塊時,該塊的運動信息被存儲并且被用作包括幀內(nèi)塊的當前運動數(shù)據(jù)存儲單元1100的運動信息。

此時,當僅相鄰塊b16至b35中的一個塊是具有目標參考列表的運動矢量的幀間塊時,該塊的運動信息可以被存儲并且被用作包括幀內(nèi)塊的當前運動數(shù)據(jù)存儲單元1100的運動信息。

當相鄰塊b16至b35中的兩個或更多個塊是幀間塊時,可以使用以下描述的(1)至(3)中的任一個方法確定當前運動數(shù)據(jù)存儲單元的代表性運動矢量。

(1)按照預定順序掃描相鄰塊,并且塊(其被首先檢測作為具有參考索引ref_idx0的塊)的運動矢量被用作當前運動數(shù)據(jù)存儲單元的運動矢量。在圖11中所示的實例中,從位于當前運動數(shù)據(jù)存儲單元中的左上角的相鄰塊b16,按照順時針方向,在幀間預測模式下對相鄰塊編碼。從而,具有參考索引值0的塊被檢測,并且首先檢測到的塊的運動信息被用作當前運動數(shù)據(jù)存儲單元的運動信息。

圖11示出從當前運動數(shù)據(jù)存儲單元的左上相鄰塊,按照順時針方向掃描相鄰塊的實例,但是本實施例不限于該方向,而是可以從諸如左上相鄰塊、左下相鄰塊、以及右下相鄰塊的多種相鄰塊,按照順時針方向或逆時針方向掃描相鄰塊。

(2)當前運動數(shù)據(jù)存儲單元的相鄰塊的運動矢量的中間值被用作當前運動數(shù)據(jù)存儲單元的運動矢量。在計算中間值時,可以排除相鄰塊的幀內(nèi)塊,或者幀內(nèi)塊的運動矢量可以被設(shè)置為(0,0)并且可以用于計算中間值。

(3)當前運動數(shù)據(jù)存儲單元周圍的幀間塊當中的、與當前運動數(shù)據(jù)存儲單元中的相鄰幀內(nèi)塊(或者目標參考列表的運動矢量不可用的塊)具有最小像素差的塊的運動信息被用作當前運動數(shù)據(jù)存儲單元的運動信息。

例如,計算塊b16的右下像素和塊b0的左上像素之間的差。計算塊b17和相鄰幀內(nèi)塊b0(或目標參考列表的運動矢量不可用的塊)的八個底部像素之間的差,并且將所得到的值除以8,以計算平均像素差。計算當前運動數(shù)據(jù)存儲單元中的幀內(nèi)塊(或者目標參考列表的運動矢量不可用的塊)和相鄰塊之間的像素差,并且具有最小差的相鄰塊的運動信息被用作當前運動數(shù)據(jù)存儲單元的運動信息。當存在具有相同像素差的相鄰塊時,可以預先給予其優(yōu)先級順序。例如,當如圖11中所示那樣對相鄰塊分等級(rank)時,具有較低等級的相鄰塊的運動信息可以用作當前運動數(shù)據(jù)存儲單元的運動信息。

另一方面,當當前運動數(shù)據(jù)存儲單元的所有相鄰塊均是幀內(nèi)塊時(或者當所有相鄰塊不可用時),當前運動數(shù)據(jù)存儲單元的運動矢量可以被設(shè)置為零矢量。

實施例4

本實施例提供在運動信息壓縮和存儲(運動信息存儲縮減)中指派和存儲用于參考索引的代表值以及運動數(shù)據(jù)存儲單元的運動矢量的方法。

例如,在實施例1至3中,以上描述了通過運動數(shù)據(jù)存儲單元僅存儲一個運動矢量的內(nèi)存壓縮或存儲縮減,但是在實施例4中將描述指派運動數(shù)據(jù)存儲單元的代表性參考索引值并且存儲所指定的代表性參考索引值以及運動矢量值的方法。

類似于實施例1至3中的用于存儲運動矢量的存儲緩沖器的縮減,在實施例4中可以縮減用于存儲參考索引的存儲緩沖器。

具體地,在本實施例中,當運動數(shù)據(jù)存儲單元的代表性運動數(shù)據(jù)塊被確定時,將代表性運動數(shù)據(jù)塊的參考索引以及運動矢量分配給運動數(shù)據(jù)存儲單元中的其他運動數(shù)據(jù)塊。解碼器可以使用代表性運動信息(代表性運動數(shù)據(jù)塊的運動信息)作為運動數(shù)據(jù)存儲單元中的塊的運動信息。從而,因為將代表性運動數(shù)據(jù)塊的運動矢量值分配給運動數(shù)據(jù)存儲單元的運動數(shù)據(jù)塊的運動矢量,但是保持參考索引,所以可以解決失真的問題。

圖12是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮(運動矢量存儲縮減)時,對參考索引以及運動矢量執(zhí)行運動信息內(nèi)存壓縮(運動信息存儲縮減)的狀態(tài)的示意圖。在此,類似于運動矢量存儲縮減,運動信息存儲縮減意味著,僅一條運動信息(代表性運動信息)被分配給運動數(shù)據(jù)存儲單元的運動數(shù)據(jù)塊,并且如上所述被存儲和使用。

圖12示出運動數(shù)據(jù)存儲單元包括4x4運動數(shù)據(jù)塊的實例。

圖12示出位于運動數(shù)據(jù)存儲單元1200的左上角的運動數(shù)據(jù)塊b0的運動信息(運動矢量和參考索引)被用作代表性運動信息的實例。

參考圖12,運動數(shù)據(jù)塊b0的運動矢量和參考索引通過運動信息存儲縮減被分配作為運動數(shù)據(jù)存儲單元1210的運動信息。在圖12中所示的實例中,作為代表性運動數(shù)據(jù)塊的塊b0的運動矢量和參考索引分別是(x0,y0)和ref_idx2。從而,當運動數(shù)據(jù)存儲單元1210包括由圖5和圖6中的scrt或sbr指定的塊時,塊b0的運動矢量(x0,y0)和參考索引ref_idx2可以用于推導tmvp。colpu的參考索引以及colpu的運動矢量的使用對應(yīng)于將代表性運動數(shù)據(jù)塊的參考索引以及其運動矢量存儲和使用作為運動數(shù)據(jù)存儲單元的運動信息。

可以應(yīng)用根據(jù)實施例4的方法以及根據(jù)實施例1至3的方法。例如,當根據(jù)實施例1或2指定代表性運動數(shù)據(jù)塊時,可以將相應(yīng)運動數(shù)據(jù)塊的運動矢量和參考索引一起分配給運動數(shù)據(jù)存儲單元。當根據(jù)實施例3,在當前運動數(shù)據(jù)存儲單元的相鄰塊當中確定使用其運動矢量的相鄰塊時,可以將所確定的相鄰塊的參考索引和運動矢量分配給當前運動數(shù)據(jù)存儲單元。

另一方面,當幀內(nèi)塊包括在目標塊(運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊)中,該目標塊的運動信息可以根據(jù)實施例4被壓縮時,可以將代表性運動數(shù)據(jù)塊的參考索引僅分配給其他運動數(shù)據(jù)塊,而不改變幀內(nèi)塊的參考索引。

即,代替于為運動數(shù)據(jù)存儲單元的所有運動數(shù)據(jù)塊設(shè)置相同的參考索引,可以僅將其他幀間塊的參考索引改變?yōu)榇硇赃\動數(shù)據(jù)塊的參考索引,并且可以在不改變運動數(shù)據(jù)存儲單元中的幀內(nèi)塊的參考索引的情況下,存儲結(jié)果。

當僅將幀間塊的參考索引改變?yōu)榇硇赃\動數(shù)據(jù)塊的參考索引時,可以直接讀取并且確定l1和l0中的相應(yīng)運動數(shù)據(jù)塊的參考索引值,以找出col塊的預測方向(l0方向、l1方向、雙向預測、或幀內(nèi)預測)。

圖13是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時,根據(jù)本發(fā)明僅對幀間塊執(zhí)行運動矢量和參考索引的運動信息內(nèi)存壓縮的狀態(tài)的示意圖。圖13示出運動數(shù)據(jù)存儲單元包括4x4運動數(shù)據(jù)塊的實例。

在圖13中所示的實例中,假設(shè)運動數(shù)據(jù)存儲單元1300中的運動數(shù)據(jù)塊b0至b15中的塊b10、b11、b14和b15是幀內(nèi)塊(其參考索引具有值-1)。

從而,可以僅將除了幀內(nèi)塊之外的幀間塊的參考索引改變?yōu)榇硇赃\動數(shù)據(jù)塊的參考索引,并且可以設(shè)置運動數(shù)據(jù)存儲單元1310的運動矢量和參考索引。甚至當將運動數(shù)據(jù)存儲單元1310中的幀內(nèi)塊b10、b11、b14和b15的運動矢量改變?yōu)榇硇赃\動數(shù)據(jù)塊的運動矢量時,參考索引也可以不改變而是被保持。

根據(jù)參考圖13描述的方法,可以使用所存儲的參考索引值,不管col塊的圖片類型(p圖片、b圖片、以及i圖片)如何,來推導col塊的運動矢量,并且可以使col塊的運動矢量不被從幀內(nèi)塊推導。

參考圖13描述的方法可以應(yīng)用至實施例1至3。例如,當在實施例1或2中指定代表性運動數(shù)據(jù)塊,并且將相應(yīng)運動數(shù)據(jù)塊的運動矢量和參考索引分配給運動數(shù)據(jù)存儲單元時,可以不改變幀內(nèi)塊的參考索引。當根據(jù)實施例3,在當前運動數(shù)據(jù)存儲單元的相鄰塊當中確定使用其運動矢量的相鄰塊,并且將所確定的相鄰塊的參考索引分配給當前運動數(shù)據(jù)存儲單元時,可以不改變幀內(nèi)塊的參考索引。

另一方面,在圖13中,可以將不同參考索引分配給相同運動數(shù)據(jù)存儲單元的運動數(shù)據(jù)塊。在該情況下,僅運動矢量被壓縮,并且參考索引不被壓縮。

為了解決該問題,圖14示出僅一個代表值被存儲作為如圖12中所示的參考索引,但是推斷塊是幀內(nèi)塊的方法。

圖14是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時,在根據(jù)本發(fā)明執(zhí)行運動矢量和參考索引的運動信息內(nèi)存壓縮的狀態(tài)下推斷幀內(nèi)塊的方法的示意圖。圖14示出運動數(shù)據(jù)存儲單元包括4x4運動數(shù)據(jù)塊的實例。

在圖14中所示的實例中,假設(shè)在運動數(shù)據(jù)存儲單元1300中的運動數(shù)據(jù)塊b0至b15中的塊b10、b11、b14和b15是幀內(nèi)塊(其參考索引具有值-1)。

參考圖14,將代表性運動數(shù)據(jù)塊b0的參考索引值分配給作為幀內(nèi)塊的塊b10、b11、b14和b15。在此,甚至當被存儲用于塊b10、b11、b14和b15的參考索引值大于0時,解碼器可以推斷出相應(yīng)塊是幀內(nèi)塊。即,解碼器可以識別出塊b10、b11、b14和b15的運動信息不可用的。

可以通過利用相應(yīng)運動數(shù)據(jù)塊所屬的cu的預測類型(幀內(nèi)預測模式或幀間預測模式),來確定運動數(shù)據(jù)塊是幀內(nèi)塊還是幀間塊。

可以與實施例1至3一起應(yīng)用參考圖14描述的方法。例如,當根據(jù)實施例1或2指定代表性運動數(shù)據(jù)塊時,可以將相應(yīng)運動數(shù)據(jù)塊的運動矢量和參考索引分配給運動數(shù)據(jù)存儲單元,并且可以基于相應(yīng)塊所屬的cu的預測類型來確定相應(yīng)運動數(shù)據(jù)塊是否是幀內(nèi)塊。當根據(jù)實施例3,在當前運動數(shù)據(jù)存儲單元的相鄰塊當中確定使用其運動矢量的相鄰塊時,所確定的相鄰塊的參考索引還可以被分配給當前運動數(shù)據(jù)存儲單元,并且可以基于相應(yīng)塊所屬的cu的預測類型來確定所確定的相鄰塊是否是幀內(nèi)塊。

根據(jù)參考圖14描述的方法,可以節(jié)約用于存儲參考索引的內(nèi)存,并且減小內(nèi)存帶寬??梢允沟眠\動矢量不被從幀內(nèi)塊推導。

實施例5

本實施例提供結(jié)合實施例2和實施例4,并且考慮參考索引是否是0的方法,作為運動信息存儲縮減方法。

即,類似于實施例2中描述的方法,基于預定順序,確定運動數(shù)據(jù)存儲單元的運動數(shù)據(jù)塊是幀間塊還是幀內(nèi)塊,并且確定當運動數(shù)據(jù)塊是幀間塊時,其參考索引值是否為0。

在實施例5中,解碼器可以選擇在幀間預測模式下被編碼并且具有參考索引值0的首先檢測的運動數(shù)據(jù)塊,作為代表性運動數(shù)據(jù)塊,同時按照預定順序掃描運動數(shù)據(jù)存儲單元的運動數(shù)據(jù)塊。解碼器可以將所選的代表性運動數(shù)據(jù)塊的運動矢量和參考索引分配給運動數(shù)據(jù)存儲單元的其他運動數(shù)據(jù)塊并且使用其。

實施例6

本實施例提供在運動信息存儲縮減(運動矢量內(nèi)存縮減)中與運動矢量和參考索引一起壓縮和存儲預測模式的方法。

關(guān)于解碼后的圖片,可以通過pu存儲關(guān)于預測模式的信息。此時,存儲了關(guān)于預測模式的信息的pu可以是最小預測單元或者運動數(shù)據(jù)塊,并且最小預測單元或運動數(shù)據(jù)塊可以是4x4采樣的塊。例如,可以存儲關(guān)于以下的信息:預測模式是幀內(nèi)模式還是幀間模式,當預測模式是幀間模式時,在跳過模式或合并模式或amvp中使用哪一個。

關(guān)于預測模式的信息可以被存儲在解碼圖片緩沖器(dpb)中,以檢驗col塊的狀態(tài)。在該情況下,當使用運動矢量緩沖器壓縮(運動矢量內(nèi)存壓縮)時,關(guān)于預測模式的信息可以通過運動數(shù)據(jù)存儲單元存儲,而不通過pu單元存儲關(guān)于預測模式的信息。

從而,在本實施例中,當應(yīng)用運動矢量內(nèi)存壓縮(運動信息存儲縮減)時,還壓縮(存儲)運動數(shù)據(jù)存儲單元的代表性運動數(shù)據(jù)塊的預測模式。

圖15是示意性地示出當執(zhí)行運動矢量內(nèi)存壓縮時,根據(jù)本發(fā)明壓縮關(guān)于預測模式的信息的狀態(tài)的示意圖。圖15示出運動數(shù)據(jù)存儲單元包括4x4運動數(shù)據(jù)塊的實例。

參考圖15,在多種預測模式下對運動數(shù)據(jù)存儲單元1500的16個運動數(shù)據(jù)塊編碼。在圖15中,假設(shè)運動數(shù)據(jù)存儲單元1500的代表性運動數(shù)據(jù)塊是位于左上角的運動數(shù)據(jù)塊b0。

通過運動矢量內(nèi)存壓縮,將與代表性運動數(shù)據(jù)塊b0相同的運動矢量、參考索引、以及預測模式分配給運動數(shù)據(jù)存儲單元1510中的4x4運動數(shù)據(jù)塊。從而,運動數(shù)據(jù)存儲單元1510中的運動數(shù)據(jù)塊b0至b15的運動矢量被存儲為(x0,y0),其參考索引被存儲為ref_idx2,并且其預測模式被存儲為跳過模式。

例如,當運動數(shù)據(jù)存儲單元1510包括由圖5和圖6中的srb或scrt指定的塊時,作為b0的運動矢量的(x0,y0)、作為其參考索引的ref_idx2、以及作為其預測模式的跳過模式可以用作用于推導當前塊的tmvp的運動信息。

實施例7

本實施例提供例如當壓縮運動矢量緩沖器內(nèi)存時,在運動信息存儲縮減時更有效地執(zhí)行壓縮處理的方法。

當應(yīng)用運動信息存儲縮減(或運動矢量緩沖器壓縮(mv緩沖器壓縮))時,根據(jù)圖片的特征,因為局部運動信息條相互類似,可以抑制性能的惡化。局部運動的相似性可以根據(jù)圖片而改變,并且例如在通過16x16像素塊的運動數(shù)據(jù)存儲單元壓縮16:9圖片時與通過16x16像素塊的運動數(shù)據(jù)存儲單元壓縮4:3圖片時之間可能存在壓縮性能的差異。

從而,本實施例提供一種更動態(tài)地壓縮用于存儲運動信息的緩沖器內(nèi)存的方法。

當傳送用于指示以順序等級(sequencelevel)壓縮運動信息或運動矢量的信息時,編碼器可以將關(guān)于壓縮率的信息以信號發(fā)送至解碼器。例如,當nxm(其中,n和m是整數(shù))采樣塊的運動信息被壓縮并且存儲為單個運動信息條時,編碼器可以以信號發(fā)送與水平方向上的壓縮率有關(guān)的n的值和與垂直方向上的壓縮率有關(guān)的m的值。

編碼器可以在運動信息存儲縮減時傳送諸如motion_vector_buffer_comp_x_ratio_log2的信息作為關(guān)于水平方向上的壓縮率的信息,并且傳送諸如motion_vector_buffer_comp_y_ratio_log2的信息作為關(guān)于垂直方向上的壓縮率的信息。

例如,當由編碼器傳送的motion_vector_buffer_comp_x_ratio_log2的值是2并且motion_vector_buffer_comp_y_ratio_log2的值是2時,可以指示執(zhí)行以4x4采樣為單位存儲運動信息的壓縮。

當由編碼器傳送的motion_vector_buffer_comp_x_ratio_log2的值是3并且motion_vector_buffer_comp_y_ratio_log2的值是2時,可以指示執(zhí)行以8x4采樣為單位存儲運動信息的壓縮。

從而,運動信息的壓縮存儲率可以考慮由編碼器處理的圖片的特征來確定,并且可以被傳送到解碼器。解碼器可以基于所傳送的運動信息的壓縮存儲率,獲取用于推導tmvp的運動矢量和/或參考索引的信息。

根據(jù)實施例7,由于考慮圖片的特征來壓縮并且存儲視頻數(shù)據(jù),可以最大地減少時間運動矢量緩沖器的壓縮中的損失。

在該情況下,可以使用關(guān)于運動矢量緩沖器壓縮的信息,以相同方式執(zhí)行參考索引緩沖器壓縮(內(nèi)存壓縮)。用于參考索引緩沖器壓縮的信息可以被單獨地以信號發(fā)送,以與運動矢量緩沖器壓縮分離地執(zhí)行緩沖器壓縮。

另一方面,確定并且以信號發(fā)送采樣塊的尺寸到解碼器的方法可以類似地應(yīng)用至實施例1至6,該采樣塊是用于存儲運動信息(即,壓縮和存儲率)的單元。在該情況下,當作為由編碼器確定的壓縮和存儲單元的采樣塊的尺寸是nxm時,實施例1至6中的運動數(shù)據(jù)存儲單元是具有nxm采樣的尺寸的塊。

實施例8

本實施例提供一種使用運動數(shù)據(jù)存儲單元的相鄰塊,而不是運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊,作為用于壓縮和存儲運動信息的代表性運動數(shù)據(jù)塊的方法。例如,在本實施例中,可以使用鄰近當前運動數(shù)據(jù)存儲單元的右下角處的4x4像素塊作為具有關(guān)于當前運動數(shù)據(jù)存儲單元的運動信息的代表性運動數(shù)據(jù)塊,而不是使用當前運動數(shù)據(jù)存儲單元(其是16x16像素塊)中的任何運動數(shù)據(jù)塊作為代表性運動數(shù)據(jù)塊,來壓縮和存儲運動信息。

圖16示意性地示出當壓縮并存儲運動信息時,根據(jù)本發(fā)明利用與鄰近當前運動數(shù)據(jù)存儲單元的塊有關(guān)的信息的方法的示意圖。圖16示出運動數(shù)據(jù)存儲單元包括4x4運動數(shù)據(jù)塊的實例。

在圖16中所示的實例中,pu1600包括四個運動數(shù)據(jù)存儲單元1610、1620、1630和1640,并且每個運動數(shù)據(jù)存儲單元都包括作為4x4像素塊的運動數(shù)據(jù)塊。

根據(jù)本實施例,鄰近當前運動數(shù)據(jù)存儲單元1610的右下角的4x4像素塊b1的運動信息(也被稱為“運動數(shù)據(jù)”)被用作當前運動數(shù)據(jù)存儲單元1610的運動信息,以壓縮和存儲作為16x16像素塊的當前運動數(shù)據(jù)存儲單元1610的運動信息(諸如,運動矢量、參考索引、以及預測模式)。即,塊b1被用作當前運動數(shù)據(jù)存儲單元1610的代表性運動數(shù)據(jù)塊。

從而,將塊b1的運動信息分配給當前運動數(shù)據(jù)存儲單元1610中的所有塊。

鄰近右下角的相鄰塊的運動信息被以相同方式,作為代表性運動數(shù)據(jù)存儲單元的運動信息而分配給pu1600中的其他運動數(shù)據(jù)存儲單元1620、1630、以及1640。

從而,當在當前塊的預測處理中從運動信息被壓縮和存儲的參考圖片取得tmvp時,位于當前pu的中心處的運動數(shù)據(jù)塊(位于中心左上側(cè)、中心左下側(cè)、中心右上側(cè)、以及中心右下側(cè)的塊)的運動信息可以被簡單地使用,而不執(zhí)行每次都搜索位于當前pu的右下角的相鄰pu、并且取得包括上述相應(yīng)pu的運動數(shù)據(jù)存儲單元的左上塊的運動信息的附加處理。

位于當前pu的中心處的運動數(shù)據(jù)塊是圖16中所示的實例中的b1、b2、b3和b4。

此時,當b1是幀內(nèi)塊或不可用塊時,包括在當前運動數(shù)據(jù)存儲單元1610中的pu1600的中心處的其他運動數(shù)據(jù)塊b2、b3、以及b4可以用作當前運動數(shù)據(jù)存儲單元1610的代表性運動數(shù)據(jù)塊。

在該情況下,按照(1)b1→b2→b3→b4,(2)b1→b3→b4→b2,(3)b1→b4→b3→b2中的任一順序,對于當前運動數(shù)據(jù)存儲單元1610掃描運動數(shù)據(jù)塊,并且可以將首先檢測到的幀間塊或可用塊用作當前運動數(shù)據(jù)存儲單元1610的代表性運動數(shù)據(jù)塊。掃描順序可以被預先確定或者可以從編碼器以信號發(fā)送。

實施例9

當圖片的寬度或高度不是運動信息的壓縮和存儲單元(運動數(shù)據(jù)存儲單元)的整數(shù)倍時,具有比運動信息的壓縮和存儲單元小的尺寸的塊的運動信息可以被壓縮和存儲。

本實施例提供一種壓縮和存儲比運動信息的壓縮和存儲單元小的像素塊的運動信息的方法。

圖17是示意性地示出當壓縮和存儲運動信息時,根據(jù)本發(fā)明壓縮和存儲比運動信息的壓縮和存儲單元小的像素塊的運動信息的方法的示意圖。圖17示出圖片的尺寸不是運動數(shù)據(jù)存儲單元的整數(shù)倍并且16x16像素采樣被用作單個運動數(shù)據(jù)存儲單元的實例。

參考圖17,圖片1700包括多個運動數(shù)據(jù)存儲單元。在圖17中所示的實例中,運動數(shù)據(jù)存儲單元是16x16像素塊,諸如,如上所述的塊1710。在此,由于圖片1700的尺寸和運動數(shù)據(jù)存儲單元的尺寸相互不成比例,在圖片的邊界處存在具有比運動數(shù)據(jù)存儲單元小的尺寸的塊(為了便于解釋的目的,此后稱為“剩余塊”),像塊1720。在圖17中所示的實例中,假設(shè)剩余塊的尺寸是8x16。

為了使用mvp執(zhí)行幀間預測,必須壓縮并且存儲剩余塊的運動信息。在實施例9中,將描述根據(jù)什么運動數(shù)據(jù)塊將用作運動數(shù)據(jù)存儲單元的代表性運動數(shù)據(jù)塊,來存儲剩余塊的運動信息的方法??梢杂米鞔硇赃\動數(shù)據(jù)塊的運動數(shù)據(jù)塊的位置與實施例1中描述的相同。

以下將描述根據(jù)實施例中指定的代表性運動數(shù)據(jù)塊的位置來壓縮并存儲剩余塊的運動信息的方法。

(1)代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元中的左上運動數(shù)據(jù)塊的情況

圖18是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的左上塊時,根據(jù)本發(fā)明壓縮并存儲剩余塊的運動信息的方法的示意圖。

在圖18中,假設(shè)圖片1800中的運動數(shù)據(jù)存儲單元1810是16x16像素塊,并且剩余塊1820是16x8像素塊。將參考圖18描述的方法可以應(yīng)用至具有除了上述之外的尺寸的剩余塊和運動數(shù)據(jù)存儲單元。

當左上運動數(shù)據(jù)塊1830被用作運動數(shù)據(jù)存儲單元1810的代表性運動數(shù)據(jù)塊,并且在圖片1800的邊界附近減小運動信息應(yīng)被壓縮和存儲的塊的單元(像剩余塊1820)時,可以使用與運動數(shù)據(jù)存儲單元1810相同的方法,確定剩余塊1820的代表性運動數(shù)據(jù)塊。

從而,位于剩余塊1820的左上角的運動數(shù)據(jù)塊1840的運動信息被用作剩余塊1820的運動信息。

從而,可以使用與運動數(shù)據(jù)存儲單元相同的方法,確定剩余塊的代表性運動數(shù)據(jù)塊。

(2)代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的右下運動數(shù)據(jù)塊的情況

圖19是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的右下塊時,根據(jù)本發(fā)明壓縮并存儲剩余塊的運動信息的方法的示意圖。

在圖19中,假設(shè)圖片1900中的運動數(shù)據(jù)存儲單元1910是16x16像素塊,并且剩余塊1920是16x8像素塊。將參考圖19描述的方法可以應(yīng)用至具有除了上述之外的尺寸的剩余塊和運動數(shù)據(jù)存儲單元。

當右下運動數(shù)據(jù)塊1930被用作運動數(shù)據(jù)存儲單元1910的代表性運動數(shù)據(jù)塊時,位于剩余塊1920的可用區(qū)域的右下角的運動數(shù)據(jù)塊1940的運動信息被用作剩余塊1920的運動信息。

圖20是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的右下塊而在剩余塊中存在不可用區(qū)域時,壓縮并存儲剩余塊的運動信息的方法的示意圖。

具體地,當在剩余塊2020中存在不可用區(qū)域時,位于剩余塊2020的左上角的運動數(shù)據(jù)塊2040的運動信息被用作剩余塊2020的運動信息。在該情況下,由于左上區(qū)域一直可用,所以不必須執(zhí)行用于搜索可用塊的邊界的計算操作。

(3)代表性運動數(shù)據(jù)塊是在運動數(shù)據(jù)存儲單元的中心的任一個運動數(shù)據(jù)塊的情況。

代表性運動數(shù)據(jù)塊是在運動數(shù)據(jù)存儲單元的中心處的任一個運動數(shù)據(jù)塊的情況意味著,代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的中心左上側(cè)、中心左下側(cè)、中心右上側(cè)、以及中心右下側(cè)上的運動數(shù)據(jù)塊中的任一個。此后,為了便于解釋的目的,中心運動數(shù)據(jù)塊的位置由center_xx表示。在此,xx表示lt(左上)、rt(右上)、lb(左下)、以及rb(右下)中的任一個。lt、rt、lb、以及rb中的什么對應(yīng)于xx可以被預先確定或者可以由編碼器確定并且以信號發(fā)送至解碼器。為了便于解釋的目的,假設(shè)xx是lt。以下說明可以類似地應(yīng)用至xx是rt、rb和lb的實例。

圖21是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的中心左上(center_lt)塊時,根據(jù)本發(fā)明壓縮并存儲剩余塊的運動信息的方法的示意圖。

在圖21中,假設(shè)圖片2100中的運動數(shù)據(jù)存儲單元2110是16x16像素塊,并且剩余塊2120是16x8像素塊。參考圖21描述的方法可以應(yīng)用至具有除了上述之外的尺寸的剩余塊和運動數(shù)據(jù)存儲單元。

當中心右上運動數(shù)據(jù)塊2130被用作運動數(shù)據(jù)存儲單元2110的代表性運動數(shù)據(jù)塊時,位于剩余塊2120的可用區(qū)域的中心左上側(cè)上的運動數(shù)據(jù)塊2140的運動信息被用作剩余塊2120的運動信息。

圖22是示意性地示出當代表性運動數(shù)據(jù)塊是運動數(shù)據(jù)存儲單元的中心左上塊但是在剩余塊中存在不可用區(qū)域時,壓縮并存儲剩余塊的運動信息的方法的示意圖。

具體地,當在剩余塊2220中存在不可用區(qū)域時,位于剩余塊2220的左上角的運動數(shù)據(jù)塊2240的運動信息被用作剩余塊2220的運動信息。

當在剩余塊2220中存在不可用區(qū)域而不可用區(qū)域是剩余塊2220中的中心左上區(qū)域時,位于剩余塊2220的左上角的運動數(shù)據(jù)塊2240的運動信息可以用作剩余塊2220的運動信息。

在參考圖22描述的方法中,由于左上區(qū)域一直可用,所以不必須執(zhí)行用于搜索可用塊的邊界的計算操作。

在如圖5中所示推導用于幀間預測的tmvp的處理中,解碼器和編碼器使用運動數(shù)據(jù)存儲單元(其包括位于鄰近當前塊的col塊的右下的角處的像素)的運動信息作為tmvp運動信息。解碼器和編碼器使用運動數(shù)據(jù)存儲單元中的運動數(shù)據(jù)塊當中的代表性運動數(shù)據(jù)塊的運動信息作為運動數(shù)據(jù)存儲單元中的pu的運動信息。除了運動矢量之外,運動數(shù)據(jù)存儲單元的代表性運動數(shù)據(jù)塊的運動信息可以包括參考索引和預測模式。

另一方面,在運動矢量預測中,鄰近當前塊的塊的運動信息被用作mvp候選者,并且鄰近幀(圖片)的共址運動矢量也被用作mvp候選者,如上所述。這被稱為如上所述的tmvp(時間運動矢量預測值)。

為了使用tmvp,應(yīng)該存儲解碼后的信息。僅當在幀(圖片)被解碼之后,以預定塊(例如,4x4像素塊)為單位存儲諸如運動矢量的運動信息時,可以在包括當前塊的下一幀中基于其使用tmvp。

然而,當想要以最小單位4x4存儲所有運動信息時,大量內(nèi)存容量是必需的。從而,必須以較大單位(例如,16x16像素塊、32x32像素塊、以及64x64像素塊中的任一個)壓縮和存儲運動信息。這在以上被描述為運動信息存儲縮減、運動矢量內(nèi)存壓縮、或運動矢量緩沖器壓縮,并且運動信息被壓縮和存儲的單元以上被描述為運動數(shù)據(jù)存儲單元。在此,以什么單位壓縮和存儲運動信息可以被預先確定或者可以由編碼器確定和通過sps(序列參數(shù)集)-級信令傳送到解碼器。

例如,當為了便于解釋的目的,假設(shè)以16x16像素塊為單位壓縮和存儲運動信息時,在l0和l1的方向上存儲位于16x16像素塊的左上角的4x4塊的運動信息(例如,運動矢量和參考索引)。在此,可以使用位于16x16像素塊的中心處的4x4像素塊的運動信息,而不使用位于左上角的塊的運動信息。

圖23是示意性地示出代替于在鄰近當前幀(或圖片)2300的幀(或圖片)2310中位于與當前塊2320相同的位置處的塊2330的左上角2340處的運動數(shù)據(jù),位于中心2350處的運動信息被用作tmvp的實例的示意圖。

其詳情如上所述。

如上所述,當要被使用的tmv(時間運動矢量)是包括在幀內(nèi)塊中的運動矢量時,其可能不被認為是對當前塊的幀間預測有用的信息。通常,從幀間塊推導的tmv可以被設(shè)置成具有值(0,0)。

圖24是示意性地示出當推導tmvp時,處理位于中心處的幀間塊的運動信息的方法的示意圖。

在圖24中,假設(shè)當前塊2410應(yīng)該使用其以推導tmvp的塊是相鄰幀2420的共址塊2430中的中心塊2440。此時,當塊2440是幀內(nèi)塊時,從塊2440推導的運動矢量的值被設(shè)置成(0,0),并且從而可能執(zhí)行不準確的預測。當相鄰塊2450是幀間塊并且具有正常的運動矢量時,不必須使用塊2440的不準確的運動矢量。

另一方面,如圖24中所示,當在相鄰幀(colpic)中位于與當前塊相同的位置處的塊(col塊)的中心處的塊的運動信息被用于推導tmvp時,可以根據(jù)塊的尺寸,使用圍繞中心的四個塊中的任一個(例如,中心左上塊),而不是共址塊(col塊)的中心塊。

以上描述了關(guān)于圖23和圖24的詳情,并且以下將參考附圖描述用于推導tmvp的實施例。

實施例10

本實施例提供當想要推導具有多種尺寸的當前塊的tmvp時,使用位于col塊的中心處的塊的運動信息的方法。

圖25是示意性地示出根據(jù)本發(fā)明的基于在參考圖片(參考幀)中位于col塊的中心處的塊的運動信息來推導tmvp的方法的示意圖。為了便于解釋的目的,圖25示出運動信息(例如,運動矢量)的存儲單元(運動數(shù)據(jù)存儲單元)是16x16像素塊的實例。如上所述,運動數(shù)據(jù)存儲單元的尺寸可以被預先確定或者可以由編碼器確定并且通過sps級信令傳送到解碼器。

圖25的(a)示出當前塊和當前塊的col塊2500是64x64像素塊的實例。在圖25的(a)中,作為位于col塊2500的中心處的運動數(shù)據(jù)存儲單元的塊bs0、bs1、bs2、以及bs3被用于推導當前塊的tmvp。

具體地,(1)位于col塊的中心左上角的運動數(shù)據(jù)存儲單元bs0的運動信息、(2)位于col塊的中心右上角的運動數(shù)據(jù)存儲單元bs1的運動信息、(3)位于col塊的中心左下角的運動數(shù)據(jù)存儲單元bs2的運動信息、以及(4)位于col塊的中心右下角的運動數(shù)據(jù)存儲單元bs3的運動信息中的任一個被用于從col塊推導tmvp。使用(1)至(4)中的什么運動信息可以被預先確定,或者可以由編碼器確定并且以信號發(fā)送到解碼器。

在實施例1至9中以上描述了通過運動數(shù)據(jù)存儲單元存儲運動信息的方法(運動信息存儲縮減),并且可以在本實施例中使用通過使用根據(jù)實施例1至9中任一個的方法所存儲的運動信息。

不像圖25的(a),圖25的(b)示出當前塊和當前塊的col塊2510是64x32像素塊的實例。在圖25的(b)中,作為位于col塊2510的中心處的運動數(shù)據(jù)存儲單元的塊bs0、bs1、bs2和bs3被用于推導當前塊的tmvp。

具體地,(1)位于col塊的中心左上角的運動數(shù)據(jù)存儲單元bs0的運動信息、(2)位于col塊的中心右上角的運動數(shù)據(jù)存儲單元bs1的運動信息、(3)位于col塊的中心左下角的運動數(shù)據(jù)存儲單元bs2的運動信息、以及(4)位于col塊的中心右下角的運動數(shù)據(jù)存儲單元bs3的運動信息中的任一個被用于從col塊2510推導tmvp。使用(1)至(4)中的什么運動信息可以被預先確定,或者可以由編碼器確定并且以信號發(fā)送到解碼器。

實施例11

本實施例提供一種當推導當前塊的tmvp時,考慮幀內(nèi)塊的存在的方法。

圖26是示意性地示出根據(jù)本發(fā)明的考慮幀內(nèi)塊的存在或不存在來推導tmvp的方法的示意圖。圖26示出位于與當前塊相同位置處并且與當前塊重疊的參考幀的tmvp候選者。從而,塊2600、塊2610、以及塊2620可以被認為是當前塊或當前塊的col塊。在此,為了便于解釋的目的,假設(shè)塊是當前塊的col塊。

圖26的(a)是示出使用位于當前塊的col塊的中心處的運動數(shù)據(jù)存儲單元來推導tmvp的示意圖。例如,圖26的(a)中所示的實例中的tmvp候選組包括運動數(shù)據(jù)存儲單元bs0、bs1、bs2和bs3的運動矢量。圖26的(a)示出16x16像素塊被用作運動數(shù)據(jù)存儲單元的實例。

在圖26的(a)中,確定運動數(shù)據(jù)存儲單元是幀內(nèi)塊還是幀間塊,并且作為幀間塊的運動數(shù)據(jù)存儲單元的運動信息被用于推導tmvp,而不是不根據(jù)運動數(shù)據(jù)存儲單元是幀內(nèi)塊還是幀間塊,使用運動數(shù)據(jù)存儲單元的運動矢量作為其tmvp。

從而,解碼器按照預定掃描順序掃描位于col塊的中心處的四個運動數(shù)據(jù)存儲單元bs0、bs1、bs2、以及bs3,并且可以使用首先被檢測為幀間塊的運動數(shù)據(jù)存儲單元的運動信息推導tmvp。當所有四個運動數(shù)據(jù)存儲單元bs0、bs1、bs2、以及bs3是幀內(nèi)塊(或不可用)時,可以使用運動數(shù)據(jù)存儲單元bs0的運動信息推導tmvp。

掃描順序可以被確定為1)bs0→bs1→bs2→bs3,(2)bs2→bs3→bs0→bs1,(3)bs0→bs3→bs1→bs2,以及(4)bs0→bs2→bs1→bs3中的任一個。掃描順序可以被預先確定,或者可以由編碼器確定并且以信號發(fā)送到解碼器。

圖26的(b)示出圖26的(a)中的tmvp候選組的數(shù)量增加的實例。在圖26的(b)中,col塊中的所有運動矢量存儲單元的運動信息被包括在tmvp候選組中。

此時,掃描順序可以被不同地確定。按照運動數(shù)據(jù)存儲單元的索引順序,掃描可以從bs0按照順時針方向螺旋地執(zhí)行,或者可以按照逆時針方向螺旋地執(zhí)行??梢砸詂ol塊的中心處的運動數(shù)據(jù)存儲單元當中的、除了bs0之外的塊作為起點執(zhí)行掃描(例如,bs2→bs3→bs0→bs1→bs10→bs11→bs12→bs13→bs14→bs15→bs4→bs5→bs6→bs7→bs8→bs9)。

圖26的(c)是示出使用位于當前塊的col塊以外的塊的運動信息推導tmvp的方法的示意圖。tmvp候選者可以離開col塊(當前塊)的邊界,或者離開col塊(當前塊)的邊界的tmvp候選者可以具有比col塊(當前塊)中的tmvp候選者更高的等級。為了便于解釋的目的,圖26的(c)示出16x16像素塊被用作運動數(shù)據(jù)存儲單元的實例。

在圖26的(c)中,為了便于解釋的目的,使用兩個tmvp候選組。鄰近col塊2620的右下角的塊bs0(其作為位于當前塊的col塊2620以外的塊)和位于col塊2620的中心處的塊當中的、位于中心右下角的運動數(shù)據(jù)存儲單元bs1的運動信息可以被用作tmvp候選者。此時,塊bs0可以是運動數(shù)據(jù)存儲單元。

解碼器首先確定col塊以外的塊bs0是幀間塊(或可用塊)還是幀內(nèi)塊(或不可用塊)。當塊bs0是幀間塊并且可用時,解碼器使用塊bs0的運動信息推導tmvp。例如,塊bs0的運動信息可以被用作tmvp。

當塊bs0是幀內(nèi)塊或者不可用塊時,解碼器確定運動數(shù)據(jù)存儲單元bs1是幀間塊(或可用塊)還是幀內(nèi)塊(或不可用塊)。當塊bs1是幀間塊并且可用時,解碼器使用塊bs1的運動信息推導tmvp。

當塊bs0和bs1都是幀內(nèi)塊時,解碼器可以基于bs0的運動信息推導tmvp。

圖26中的tmvp候選組的數(shù)量、位置、以及掃描順序不限于上述詳情,并且運動數(shù)據(jù)存儲單元的尺寸不限于16x16。當前塊和col塊的尺寸不限于63x64,并且本發(fā)明可應(yīng)用至多種尺寸,諸如,32x32。例如,當當前塊的尺寸是32x32并且運動數(shù)據(jù)存儲單元的尺寸是16x16時,最多四個tmvp候選者可以被用于當前塊。

當當前塊的尺寸小于運動矢量內(nèi)存緩沖器(即,運動數(shù)據(jù)存儲單元)的尺寸時,可以以與現(xiàn)有方法中描述的相同方式,使用col塊等的左上角的運動信息推導tmvp。

在以上說明中,塊索引(bi或bsi,其中i=0,1,2,3,…)被用于指定塊,但是只要未特別提及,其不被用于指示搜索順序或處理順序中的優(yōu)先級。

上述實施例涉及幀間預測中的運動信息存儲和壓縮方法以及使用所存儲的運動信息推導tmvp的方法,并且可以以相同方式應(yīng)用至編碼器和解碼器,以便編碼器和解碼器執(zhí)行相同預測。從而,為了便于解釋的目的,實施例被描述為解碼器的操作,但是可以類似地應(yīng)用至編碼器。例如,本發(fā)明包括用“編碼器”來代替上述實施例中的解碼器的實施例。

在以上說明中,為了便于解釋的目的,“運動信息存儲縮減”、“運動矢量內(nèi)存壓縮”、“運動矢量緩沖器壓縮”、“運動矢量壓縮和存儲”、“運動信息壓縮和存儲”等根據(jù)情況而被混合,但是它們意圖用于便于解釋的目的,并且可以按相同意義被使用。除了所使用的名稱之外,以上說明中用于便于解釋的目的的術(shù)語可以通過附圖及其相關(guān)說明來限定。

雖然已經(jīng)基于包括一系列步驟或塊的流程圖描述了上述示例性系統(tǒng)中的方法,但是本發(fā)明不限于步驟的順序,并且特定步驟可以以除了上述之外的步驟或順序來執(zhí)行,或者與如上所述同時執(zhí)行。上述實施例可以包括多種實例。從而,本發(fā)明包括上述實施例被同時應(yīng)用或結(jié)合的實施例。

當以上提到元件被“連接到”或“耦合到”另一個元件時,應(yīng)該理解,可以有再一個元件插入其間,以及元件可以直接連接或耦合至另一個元件。相反,當提到元件“直接連接到”或“直接耦合到”另一個元件時,應(yīng)該理解,沒有再一個元件插入其間。另外,本發(fā)明的技術(shù)范圍包括實施例的同時應(yīng)用或結(jié)合應(yīng)用。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
北宁市| 齐齐哈尔市| 安仁县| 扬中市| 普陀区| 北川| 南昌市| 阿鲁科尔沁旗| 松原市| 武宣县| 宣武区| 渝中区| 什邡市| 泾川县| 张北县| 松桃| 潼南县| 重庆市| 嘉荫县| 鄯善县| 乌恰县| 和平县| 上犹县| 东光县| 江口县| 辽源市| 游戏| 开江县| 清徐县| 东阳市| 茌平县| 开阳县| 徐州市| 三门县| 新竹县| 兴隆县| 滕州市| 吕梁市| 资源县| 泰顺县| 平乡县|