亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

視頻編碼和解碼的制作方法

文檔序號:11437394閱讀:166來源:國知局
視頻編碼和解碼的制造方法與工藝
本申請是申請日為2012年3月8日、申請?zhí)枮?01280012474.7、發(fā)明名稱為“視頻編碼和解碼”的申請的分案申請。本發(fā)明涉及一種用于對數(shù)字圖像序列進(jìn)行編碼的方法和裝置以及用于對相應(yīng)的位流進(jìn)行解碼的方法和裝置。本發(fā)明屬于數(shù)字信號處理領(lǐng)域,尤其屬于使用運(yùn)動補(bǔ)償來減少視頻流中的空間冗余和時間冗余的視頻壓縮領(lǐng)域。
背景技術(shù)
:例如h.263、h.264、mpeg-1、mpeg-2、mpeg-4、svc的許多視頻壓縮格式使用基于塊的離散余弦變換(dct)和運(yùn)動補(bǔ)償以去除空間冗余和時間冗余。這些格式可被稱為預(yù)測視頻格式。視頻信號的各幀或圖像被分割成編碼后的并且能夠獨(dú)立進(jìn)行解碼的片(slice)。片通常是幀的矩形部分、或者更通常為幀的一部分或整個幀。此外,各片被分割成多個宏塊(mb),并且各宏塊被進(jìn)一步分割成塊、通常為8×8個像素的塊。在目前處于標(biāo)準(zhǔn)化過程中的最新的高效率視頻編碼(hevc)中,各片被分割成非重疊的最大編碼單位(luc)、通常是大小為64×64個像素的塊。而各lcu可以使用四叉樹分解被迭代地分割成較小的可變大小的編碼單位(cu)。各cu可以進(jìn)一步被分割成最大為2個對稱矩形的分區(qū)單位。這些編碼幀為(被稱為p幀的根據(jù)一個參考幀而預(yù)測到的或者被稱為b幀的根據(jù)兩個參考幀而預(yù)測到的)時間預(yù)測幀和(被稱為內(nèi)幀或i幀的)非時間預(yù)測幀這兩種類型。時間預(yù)測在于從參考幀(視頻序列的先前幀或?qū)韼?中發(fā)現(xiàn)最接近要編碼的塊的圖像部分或參考區(qū)域。該步驟已知為運(yùn)動估計。接著,連同與表示運(yùn)動補(bǔ)償要使用的參考區(qū)域的運(yùn)動矢量有關(guān)的運(yùn)動信息項一起,對要編碼的塊和參考部分之間的差進(jìn)行編碼(運(yùn)動補(bǔ)償)。為了進(jìn)一步降低對運(yùn)動信息進(jìn)行編碼的代價,已提出了利用相對于通常根據(jù)要編碼的塊周圍的塊的運(yùn)動矢量所計算出的運(yùn)動矢量預(yù)測結(jié)果的差來對運(yùn)動矢量進(jìn)行編碼。在h.264中,針對根據(jù)位于要編碼的塊的因果鄰域(例如根據(jù)位于要編碼的塊的上方和左方的塊)中的運(yùn)動矢量所計算出的中值預(yù)測結(jié)果來對運(yùn)動矢量進(jìn)行編碼。僅對中值預(yù)測結(jié)果和當(dāng)前塊運(yùn)動矢量之間的差(還被稱為殘差運(yùn)動矢量)進(jìn)行編碼。使用殘差運(yùn)動矢量的編碼節(jié)省了若干位率,但需要解碼器進(jìn)行運(yùn)動矢量預(yù)測結(jié)果的相同計算從而對要解碼的塊的運(yùn)動矢量的值進(jìn)行解碼。近來,已提出了諸如使用多個可能運(yùn)動矢量預(yù)測結(jié)果等的進(jìn)一步改進(jìn)。被稱為運(yùn)動矢量競爭的該方法在于在幾個運(yùn)動矢量預(yù)測結(jié)果或候選之間判斷哪個運(yùn)動矢量預(yù)測結(jié)果使殘差運(yùn)動信息的編碼代價(通常為率失真代價)最小。該殘差運(yùn)動信息包括殘差運(yùn)動矢量(即,要編碼的塊的實際運(yùn)動矢量和所選擇的運(yùn)動矢量預(yù)測結(jié)果之間的差)、以及例如所選擇的運(yùn)動矢量預(yù)測結(jié)果的索引的編碼值等的表示所選擇的運(yùn)動矢量預(yù)測結(jié)果的信息項。在目前處于標(biāo)準(zhǔn)化過程中的高效率視頻編碼(hevc)中,已提出了以下:在參考幀中,從要編碼的當(dāng)前塊的上方的預(yù)定組的塊中選擇第一空間運(yùn)動矢量預(yù)測結(jié)果,從該當(dāng)前塊的左方的另一預(yù)定組的塊中選擇第二空間運(yùn)動矢量預(yù)測結(jié)果,并且從同位置塊中選擇時間運(yùn)動矢量預(yù)測結(jié)果。同位置塊是位于與要編碼的塊相同位置處、但是在另一圖像中的塊。該運(yùn)動矢量預(yù)測結(jié)果選擇方案被稱為高級運(yùn)動矢量預(yù)測(amvp)。作為運(yùn)動矢量預(yù)測結(jié)果選擇的結(jié)果,獲得了混合有空間預(yù)測結(jié)果和時間預(yù)測結(jié)果的運(yùn)動矢量預(yù)測結(jié)果候選的集合,其中依賴于各種空間運(yùn)動矢量預(yù)測結(jié)果和時間運(yùn)動矢量預(yù)測結(jié)果的可用性,該集合由0、1、2或3個候選構(gòu)成。為了減少在位流中發(fā)送運(yùn)動矢量預(yù)測結(jié)果的開銷,通過應(yīng)用除去重復(fù)的運(yùn)動矢量、即具有相同值的運(yùn)動矢量的抑制處理來縮減運(yùn)動矢量預(yù)測結(jié)果的集合。例如,在上述的第一空間運(yùn)動矢量預(yù)測結(jié)果和第二空間運(yùn)動矢量預(yù)測結(jié)果相等的情況下,應(yīng)僅保持這兩者的其中一個以及時間運(yùn)動矢量預(yù)測結(jié)果作為運(yùn)動矢量預(yù)測候選。在這種情況下,僅需要1位來向解碼器指示運(yùn)動矢量預(yù)測結(jié)果的索引。還可以對運(yùn)動矢量預(yù)測結(jié)果候選進(jìn)行排序,從而將最可能的運(yùn)動矢量預(yù)測結(jié)果定位于第一位置,這是因為在選擇第一候選作為最佳預(yù)測結(jié)果的情況下發(fā)生最小開銷。由于可以使用較少的位來對所選擇的運(yùn)動矢量預(yù)測結(jié)果的指示進(jìn)行編碼,因此充分縮減預(yù)測結(jié)果的集合使得贏得信令開銷。在極限的情況下,例如如果所有的運(yùn)動矢量預(yù)測結(jié)果都相等,則可以將候選的集合縮減為1,因此無需將與所選擇的運(yùn)動矢量預(yù)測結(jié)果有關(guān)的任何信息插入位流。如上所述,在當(dāng)前hevc提議中,使用可以是空間預(yù)測結(jié)果或時間預(yù)測結(jié)果的多個運(yùn)動矢量預(yù)測結(jié)果來通過預(yù)測編碼對運(yùn)動矢量進(jìn)行編碼。因此,針對用于推導(dǎo)同位置運(yùn)動矢量預(yù)測結(jié)果的用作參考幀的各幀,需要將其相關(guān)的運(yùn)動矢量存儲在編碼器側(cè)和解碼器側(cè)。在默認(rèn)情況下,首先考慮到運(yùn)動表示的粒度(在當(dāng)前hevc設(shè)計中,最小幀內(nèi)塊大小為4×4)、其次考慮到針對b_slice的每個運(yùn)動塊最多存在兩個矢量,運(yùn)動矢量存儲器的大小龐大。估計出對于4k×2k的分辨率圖片并且使用4×4個像素的每塊的運(yùn)動矢量的一個集合的粒度,每幀需要26兆位(mbit)。在2010年10月7~15日于中國廣州召開的jctvc-c257上yepingsu和andrewsegall所發(fā)布的“onmotionvectorcompetition”、以及2011年1月20~28日于韓國大邱召開的jctvc-d072上yepingsu和andrewsegall所發(fā)布的“ce9:reducedresolutionstorageofmotionvectordata”提出了縮減解碼器側(cè)所需的用于存儲時間同位置矢量和參考索引的運(yùn)動矢量存儲器的大小。所提出的解決方案包括如圖1所示的運(yùn)動矢量的簡單分塊匯總。在當(dāng)前hevc實現(xiàn)中,將16個中的一個運(yùn)動矢量保持在64×64個像素的各正方形中,并且考慮左上方的4×4塊的運(yùn)動矢量。這樣使存儲器要求降低了16倍。在序列參數(shù)集合中發(fā)送該縮減倍數(shù)。運(yùn)動矢量存儲器壓縮處理是在自適應(yīng)環(huán)路濾波處理之后并且在將解碼圖片放置到解碼圖片緩沖器(dpb)中之前進(jìn)行的。該解決方案使得能夠在編碼效率損失的狀態(tài)下大幅縮減運(yùn)動矢量存儲器。然而,該解決方案沒有考慮mv存儲器壓縮時針對塊匯總的集合中的預(yù)測結(jié)果的多樣性。此外,對幾個標(biāo)準(zhǔn)進(jìn)行測試但并沒有考慮多樣性。此外,該解決方案既非自適應(yīng)的也非靈活的。另外,在需要更多壓縮的情況下,需要運(yùn)動矢量去除時的較高縮減率,這可能會導(dǎo)致極大的編碼效率損失。wo2004/012459a描述了用于限制所存儲的運(yùn)動矢量的數(shù)量的另一提議。將限制信息編碼為頭信息(可能以諸如sps等的全局級、諸如pps等的圖片級或者諸如片頭等的片級)。該限制信息表示圖片的數(shù)量或存儲有運(yùn)動矢量的宏塊的數(shù)量。在編碼塊參考所存儲的運(yùn)動矢量的情況下,使用該運(yùn)動矢量,否則使用空運(yùn)動矢量(這兩個分量均等于0)。然而,該解決方案沒有考慮塊匯總。除了用以降低運(yùn)動矢量存儲要求的提議以外,其它現(xiàn)有提議已尋求amvp的預(yù)測結(jié)果的改進(jìn)。例如,2011年1月20~28日于韓國大邱召開的jctvc-d164上jung,g.clare(orangelabs)所發(fā)布的“temporalmvpredictormodificationformv-comp,skip,directandmergeschemes”提出了使用居中的時間預(yù)測結(jié)果(還參見wo2011/001077a)。在該提議中,代替(作為hevc的以前版本的)塊的原點(左上方),通過將塊的中心映射到同位置參考幀來尋找同位置塊。在同位置塊具有與當(dāng)前塊相同的大小或比當(dāng)前塊大的大小的情況下,中心和左上方的運(yùn)動矢量具有相同值。圖2示出被子分割成64個4×4塊的同位置塊,其中這些塊各自具有自己的運(yùn)動矢量。將該同位置塊用于32×32的要編碼的當(dāng)前塊,并且所選擇的時間預(yù)測結(jié)果是該同位置塊的中心處的加陰影的4×4塊的運(yùn)動矢量。代替左上方而選擇分區(qū)的中心的目的是尋找同位置塊的運(yùn)動的更好表示。理論上,塊的中心由于其是該塊的重心因而是該塊的更好表示。但來自同位置塊的時間預(yù)測結(jié)果不是amvp預(yù)測結(jié)果的集合中的唯一預(yù)測結(jié)果。2011年1月20~28日于韓國大邱召開的jctvc-d125上jian-lianglin、yu-paotsai、yu-wenhuang、shawminlei(mediatekinc.)所發(fā)布的“improvedadvancedmotionvectorprediction”提出了如圖3所示添加幾個時間塊。提出了時間同位置的左上方(t)的預(yù)測結(jié)果以及三個其它角部(左下方(i)、右下方(h)、右上方(e))的預(yù)測結(jié)果這四個預(yù)測結(jié)果。這樣,將這些預(yù)測結(jié)果添加至預(yù)測結(jié)果集合,并且這些預(yù)測結(jié)果根據(jù)率失真標(biāo)準(zhǔn)彼此競爭。用于改善運(yùn)動矢量預(yù)測結(jié)果的以上兩個提議均未涉及對運(yùn)動矢量存儲器進(jìn)行壓縮。期望解決一個或多個現(xiàn)有技術(shù)的缺陷。還期望降低運(yùn)動矢量存儲器要求。優(yōu)選地,該降低應(yīng)在無附加編碼效率損失或無明顯的附加編碼效率損失的情況下實現(xiàn)。此外,更優(yōu)選地,該降低應(yīng)結(jié)合編碼效率改善來實現(xiàn)。還期望實現(xiàn)編碼效率改善。優(yōu)選地,這些改善應(yīng)在無運(yùn)動矢量存儲器要求損失或無明顯的運(yùn)動矢量存儲器要求損失的情況下實現(xiàn)。此外,更優(yōu)選地,這些改善應(yīng)結(jié)合運(yùn)動矢量存儲器要求的降低來實現(xiàn)。還期望在參考幀中尋找良好的代表運(yùn)動矢量來用作預(yù)測結(jié)果,然而還利用這些代表運(yùn)動矢量,即甚至將這些代表運(yùn)動矢量用于除降低運(yùn)動矢量存儲器要求和/或改善編碼效率以外的目的。技術(shù)實現(xiàn)要素:根據(jù)本發(fā)明的第一方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的方法,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述方法包括以下步驟:從與所述當(dāng)前幀不同的參考幀的參考塊內(nèi)的運(yùn)動矢量中選擇一個運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果,其中所述參考塊是所述參考幀中與所述要編碼的塊同位置的同位置塊或所述參考幀中的與所述同位置塊相鄰的塊,以及該選擇基于實現(xiàn)所述集合中的運(yùn)動矢量預(yù)測結(jié)果之間的多樣性所用的多樣性標(biāo)準(zhǔn)。這種方法可以用來尋找存儲器壓縮處理期間的分塊矢量匯總所用的最佳運(yùn)動矢量。最佳預(yù)測結(jié)果的選擇可以基于當(dāng)前運(yùn)動矢量的預(yù)測或合并(merge)模式和跳過(skip)模式的預(yù)測結(jié)果可以使用的預(yù)測結(jié)果的位置之間的空間和/或時空距離。在一個實施例中,在一組位置中選擇運(yùn)動矢量位置,其中該運(yùn)動矢量位置在空間距離方面是與其它預(yù)測結(jié)果的位置相比的最遠(yuǎn)位置。此外,所考慮的位置應(yīng)是同位置塊的相鄰塊的良好表示。這樣,可以獲得預(yù)測結(jié)果集合的多樣性。根據(jù)本發(fā)明的第二方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的方法,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述方法包括以下步驟:選擇所述參考幀中的與所述要編碼的塊同位置的同位置塊的右下方位置處的運(yùn)動矢量,作為所述時間運(yùn)動矢量預(yù)測結(jié)果。這種選擇在相對較小的塊大小的情況下良好地起作用,并且由于該選擇是預(yù)先確定的因而具有無處理負(fù)擔(dān)的優(yōu)點。根據(jù)本發(fā)明的第三方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的方法,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述方法包括以下步驟:選擇所述參考幀中與所述要編碼的塊同位置的同位置塊的右下方位置處、或者所述參考幀中的與所述同位置塊相鄰的塊中的右下方位置附近的預(yù)定位置處的運(yùn)動矢量,作為所述時間運(yùn)動矢量預(yù)測結(jié)果。在本發(fā)明的該方面中,該選擇擴(kuò)展成包括參考幀內(nèi)的與同位置塊相鄰的塊中的所述右下方位置附近的位置。這種選擇在相對較小的塊大小的情況下也良好地起作用,并且由于該選擇是預(yù)先確定的因而具有無處理負(fù)擔(dān)的優(yōu)點。根據(jù)本發(fā)明的第四方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的方法,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述方法包括以下步驟:從與所述當(dāng)前幀不同的參考幀的參考塊內(nèi)的運(yùn)動矢量中選擇一個運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果,其中所述參考塊是所述參考幀中與所述要編碼的塊同位置的同位置塊或所述參考幀中的與所述同位置塊相鄰的塊,以及該選擇依賴于所述要編碼的塊的塊大小。這種方式使得能夠針對不同的塊大小以不同方式選擇運(yùn)動矢量。在實驗中,利用該方法實現(xiàn)了良好結(jié)果。例如,在第一塊大小的情況下,選擇所述參考塊中的預(yù)定的第一位置處的運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果,以及在與所述第一塊大小不同的第二塊大小的情況下,可選擇所述參考塊中的與所述第一位置不同的預(yù)定的第二位置處的運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果。在所述第一塊大小小于所述第二塊大小的情況下,可以使所述第一位置為所述同位置塊中的右下方位置并且使所述第二位置為所述同位置塊中的中心位置。可選地,在第一塊大小的情況下,使用第一選擇方法來選擇所述參考塊中的一個運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果,以及在與所述第一塊大小不同的第二塊大小的情況下,使用與所述第一選擇方法不同的第二選擇方法來選擇所述參考塊中的一個運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果。一些實施例涉及確定至少一個所述空間運(yùn)動矢量預(yù)測結(jié)果與所述參考塊的至少一個運(yùn)動矢量的相對位置,以及根據(jù)所述相對位置來選擇所述時間運(yùn)動矢量預(yù)測結(jié)果。這是確保各預(yù)測結(jié)果之間的受控多樣性的有效方式。其它實施例涉及確定至少一個所述空間運(yùn)動矢量預(yù)測結(jié)果的可用性,以及根據(jù)所述可用性來選擇所述時間運(yùn)動矢量預(yù)測結(jié)果。同樣地,這是確保受控多樣性的有效方式。例如,在一些實現(xiàn)中,可以排除一個或多個空間預(yù)測結(jié)果。此外,對于幀中的若干位置、例如幀的上方或幀的左側(cè)邊,預(yù)先已知一個或多個空間預(yù)測結(jié)果不可用。另一實施例采用查找表來選擇所述時間運(yùn)動矢量預(yù)測結(jié)果,所述查找表用于針對一個或多個能夠選擇的空間運(yùn)動矢量預(yù)測結(jié)果的不同組合存儲識別所述參考塊的運(yùn)動矢量的信息,以針對所關(guān)注的組合進(jìn)行選擇。這具有低復(fù)雜度且可以快速工作。第一方面~第四方面的方法可以用來實現(xiàn)降低用于存儲運(yùn)動矢量的存儲器要求。這些方法還可以用來改善編碼效率。在存儲器縮減的情況下,在選擇至少一個空間運(yùn)動矢量預(yù)測結(jié)果之前選擇所述時間運(yùn)動矢量預(yù)測結(jié)果,因此在這種情況下,所述方法還可包括以下步驟:根據(jù)所關(guān)注的空間運(yùn)動矢量預(yù)測結(jié)果的可能位置的平均位置來估計所關(guān)注的空間運(yùn)動矢量預(yù)測結(jié)果的位置。如需要則可以根據(jù)將選擇可能位置的相對頻率來對平均值進(jìn)行加權(quán)。而這依賴于所應(yīng)用的選擇處理,例如在amvp中,針對上方預(yù)測結(jié)果從右向左以及針對左方預(yù)測結(jié)果從下向上執(zhí)行搜索。這會對相對頻率產(chǎn)生影響。根據(jù)本發(fā)明的第五方面,提供一種用于存儲要用作時間運(yùn)動矢量預(yù)測結(jié)果的運(yùn)動矢量的方法,包括以下步驟:存儲當(dāng)前幀的要編碼的塊的運(yùn)動矢量中、具有與根據(jù)本發(fā)明第一至第四方面中任意一方面所述的方法所確定的時間運(yùn)動矢量預(yù)測結(jié)果相同的位置的運(yùn)動矢量,以使得所存儲的運(yùn)動矢量可用作對相對于所述當(dāng)前幀的將來幀進(jìn)行編碼所用的時間運(yùn)動矢量預(yù)測結(jié)果,并且不存儲所述當(dāng)前幀的所述要編碼的塊中的其它運(yùn)動矢量。這樣與現(xiàn)有技術(shù)的塊匯總方法相比改善了編碼效率。根據(jù)本發(fā)明的第六方面,提供一種用于生成當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合的方法,其中允許所述集合包括至少一個空間運(yùn)動矢量預(yù)測結(jié)果和至少一個時間運(yùn)動矢量預(yù)測結(jié)果,所述方法包括以下步驟:使用根據(jù)根據(jù)本發(fā)明第一至第四方面中任意一方面所述的方法來確定所述集合的所述時間運(yùn)動矢量預(yù)測結(jié)果或一個所述時間運(yùn)動矢量預(yù)測結(jié)果。這樣可以提供編碼效率改善。在本發(fā)明的該方面中,可以存儲所有的運(yùn)動矢量,即并非必須縮減所存儲的運(yùn)動矢量的數(shù)量,盡管這當(dāng)然是優(yōu)選的。在這種情況下,至少一個所述空間運(yùn)動矢量預(yù)測結(jié)果是在確定所述時間運(yùn)動矢量預(yù)測結(jié)果之前選擇的,以及所述時間運(yùn)動矢量預(yù)測結(jié)果的確定是根據(jù)所選擇的空間運(yùn)動矢量預(yù)測結(jié)果來執(zhí)行的。因此,與存儲器縮減應(yīng)用不同,可以考慮到空間預(yù)測結(jié)果選擇的實際結(jié)果,從而在改善多樣性方面得到良好結(jié)果。根據(jù)本發(fā)明的第七方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過相對于參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述方法包括根據(jù)本發(fā)明的第一至第四方面中任意一方面所述的用于確定時間運(yùn)動矢量預(yù)測結(jié)果的方法。根據(jù)本發(fā)明的第八方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過相對于參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述方法包括根據(jù)本發(fā)明的第五方面所述的用于存儲要用作時間運(yùn)動矢量預(yù)測結(jié)果的運(yùn)動矢量的方法。根據(jù)本發(fā)明的第九方面,提供一種用于將數(shù)字圖像序列編碼成位流的方法,其中圖像的至少一部分是通過相對于參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述方法包括根據(jù)本發(fā)明第六方面所述的用于生成當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合的方法。在本發(fā)明的第十方面~第十五方面中,第一方面~第六方面的方法還可用在以下中:一種用于對包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的方法,其中圖像的至少一部分是通過相對于參考圖像的運(yùn)動補(bǔ)償來進(jìn)行編碼的。根據(jù)本發(fā)明的第十六方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的設(shè)備,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述設(shè)備包括用于從與所述當(dāng)前幀不同的參考幀的參考塊內(nèi)的運(yùn)動矢量中選擇一個運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果的部件,其中所述參考塊是所述參考幀中與所述要編碼的塊同位置的同位置塊或所述參考幀中的與所述同位置塊相鄰的塊,以及該選擇基于實現(xiàn)所述集合中的運(yùn)動矢量預(yù)測結(jié)果之間的多樣性所用的多樣性標(biāo)準(zhǔn)。根據(jù)本發(fā)明的第十七方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的設(shè)備,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述設(shè)備包括用于選擇所述參考幀中與所述要編碼的塊同位置的同位置塊的右下方位置處的運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果的部件。根據(jù)本發(fā)明的第十八方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的設(shè)備,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述設(shè)備包括用于選擇所述參考幀中與所述要編碼的塊同位置的同位置塊的右下方位置處、或者所述參考幀中的與所述同位置塊相鄰的塊中的右下方位置附近的預(yù)定位置處的運(yùn)動矢量來作為所述時間運(yùn)動矢量預(yù)測結(jié)果的部件。根據(jù)本發(fā)明的第十九方面,提供一種用于確定時間運(yùn)動矢量預(yù)測結(jié)果的設(shè)備,其中所述時間運(yùn)動矢量預(yù)測結(jié)果能夠連同一個或多個空間運(yùn)動矢量預(yù)測結(jié)果一起包括在當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合中,所述設(shè)備包括用于從與所述當(dāng)前幀不同的參考幀的參考塊內(nèi)的運(yùn)動矢量中選擇一個運(yùn)動矢量作為所述時間運(yùn)動矢量預(yù)測結(jié)果的部件,其中所述參考塊是所述參考幀中與所述要編碼的塊同位置的同位置塊或所述參考幀中的與所述同位置塊相鄰的塊,以及該選擇依賴于所述要編碼的塊的塊大小。根據(jù)本發(fā)明的第二十方面,提供一種用于存儲要用作時間運(yùn)動矢量預(yù)測結(jié)果的運(yùn)動矢量的設(shè)備,包括控制部件,所述控制部件用于存儲當(dāng)前幀的要編碼的塊的運(yùn)動矢量中、具有與根據(jù)本發(fā)明第十六至第十九方面中任意一方面所述的設(shè)備所確定的時間運(yùn)動矢量預(yù)測結(jié)果相同的位置的運(yùn)動矢量,以使得所存儲的運(yùn)動矢量可用作對相對于所述當(dāng)前幀的將來幀進(jìn)行編碼所用的時間運(yùn)動矢量預(yù)測結(jié)果,并且防止存儲所述當(dāng)前幀的所述要編碼的塊中的其它運(yùn)動矢量。根據(jù)本發(fā)明的第二十一面,提供一種用于生成當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合的設(shè)備,其中允許所述集合包括至少一個空間運(yùn)動矢量預(yù)測結(jié)果和至少一個時間運(yùn)動矢量預(yù)測結(jié)果,所述設(shè)備包括根據(jù)本發(fā)明第十六至第十九方面中任意一方面所述的設(shè)備來確定所述集合的所述時間運(yùn)動矢量預(yù)測結(jié)果或一個所述時間運(yùn)動矢量預(yù)測結(jié)果。根據(jù)本發(fā)明的第二十二方面,提供一種用于將數(shù)字圖像序列編碼成位流的設(shè)備,其中圖像的至少一部分是通過相對于參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述設(shè)備包括根據(jù)本發(fā)明第十六至第十九方面中任意一方面所述的用于確定時間運(yùn)動矢量預(yù)測結(jié)果的設(shè)備。根據(jù)本發(fā)明的第二十三方面,提供一種用于將數(shù)字圖像序列編碼成位流的設(shè)備,其中圖像的至少一部分是通過相對于參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述設(shè)備包括根據(jù)本發(fā)明第二十方面所述的用于存儲要用作時間運(yùn)動矢量預(yù)測結(jié)果的運(yùn)動矢量的設(shè)備。根據(jù)本發(fā)明的第二十四方面,提供一種用于將數(shù)字圖像序列編碼成位流的設(shè)備,其中圖像的至少一部分是通過相對于參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述設(shè)備包括根據(jù)本發(fā)明第二十一方面所述的用于生成當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合的設(shè)備。根據(jù)本發(fā)明的第二十五方面,提供一種用于對包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的設(shè)備,其中圖像的至少一部分是通過相對于參考圖像的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述設(shè)備包括根據(jù)本發(fā)明第十六至第十九方面中任意一方面所述的用于確定時間運(yùn)動矢量預(yù)測結(jié)果的設(shè)備。根據(jù)本發(fā)明的第二十六方面,提供一種用于對包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的設(shè)備,其中圖像的至少一部分是通過相對于參考圖像的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述設(shè)備包括根據(jù)本發(fā)明第二十方面所述的用于存儲要用作時間運(yùn)動矢量預(yù)測結(jié)果的運(yùn)動矢量的設(shè)備。根據(jù)本發(fā)明的第二十七方面,提供一種用于對包括編碼后的數(shù)字圖像序列的位流進(jìn)行解碼的設(shè)備,其中圖像的至少一部分是通過相對于參考圖像的運(yùn)動補(bǔ)償來進(jìn)行編碼的,所述設(shè)備包括根據(jù)本發(fā)明第二十一方面所述的用于生成當(dāng)前幀的要編碼的塊的運(yùn)動矢量預(yù)測結(jié)果的集合的設(shè)備。本發(fā)明還擴(kuò)展至一種程序,其中所述程序在運(yùn)行在計算機(jī)或處理器上的情況下,使計算機(jī)或處理器執(zhí)行上述任一方法,或者在載入可編程設(shè)備的情況下,使該設(shè)備成為上述任一設(shè)備。該程序可以由自身提供或者由載體介質(zhì)攜帶。該載體介質(zhì)可以是存儲或記錄介質(zhì),或者該載體介質(zhì)可以是諸如信號的傳輸介質(zhì)。采用本發(fā)明的程序可以是瞬態(tài)或非瞬態(tài)的。如上所述,在本發(fā)明的實施例中,代替使用預(yù)測結(jié)果集合的最佳表示,考慮到空間預(yù)測結(jié)果的位置以在該預(yù)測結(jié)果集合中產(chǎn)生多樣性。對于mv存儲器壓縮,與其它提議相比獲得了顯著結(jié)果。此外,與現(xiàn)有技術(shù)相比沒有對計算復(fù)雜性產(chǎn)生影響。本發(fā)明還可用于運(yùn)動矢量推導(dǎo)過程從而在預(yù)測結(jié)果集合中產(chǎn)生多樣性。本發(fā)明還可用于提高運(yùn)動矢量存儲器壓縮的編碼效率。更精確地,在這種情況下,可以減少由于運(yùn)動矢量存儲器壓縮的塊匯總而產(chǎn)生的(編碼效率方面的)損失、或者以與傳統(tǒng)的塊匯總類似的編碼效率提高(運(yùn)動矢量存儲器壓縮的)壓縮率。廣義來說,本發(fā)明的實施例可以改善amvp方案和合并模式的編碼效率。附圖說明現(xiàn)在將通過示例的方式參考附圖,其中:-(前面所述的)圖1是用于說明用于降低運(yùn)動矢量存儲器要求的現(xiàn)有提議的示意圖;-(前面還論述的)圖2是用于說明用于改善運(yùn)動矢量預(yù)測結(jié)果的集合的現(xiàn)有提議的示意圖;-(前面還論述的)圖3是用于說明用于改善運(yùn)動矢量預(yù)測結(jié)果的集合的另一現(xiàn)有提議的示意圖;-圖4示出根據(jù)本發(fā)明的實施例的適用于實現(xiàn)編碼器或解碼器的設(shè)備的部件;-圖5示出根據(jù)本發(fā)明的實施例的編碼器的部件的框圖;-圖6示出圖5的編碼器所處理的圖像序列;-圖7示出根據(jù)本發(fā)明的實施例的解碼器的各部件的框圖;-圖8是用于說明用于判斷圖5的編碼器和圖7的解碼器能夠使用的運(yùn)動矢量預(yù)測結(jié)果的集合的方法的示意圖;-圖9是在使用圖8的方法的情況下圖5的編碼器所執(zhí)行的步驟的流程圖;-圖10是在使用圖8的方法的情況下圖7的解碼器所執(zhí)行的步驟的流程圖;-圖11是圖5的編碼器和圖7的解碼器能夠使用的運(yùn)動矢量塊匯總方法的流程圖;圖12是用于說明圖11的方法的基本原理的示意圖;以及圖13a~13c示出圖11的方法中適合使用的各距離矩陣。具體實施方式圖4示出被配置為實現(xiàn)根據(jù)本發(fā)明的實施例的編碼器或?qū)崿F(xiàn)根據(jù)本發(fā)明的實施例的解碼器的設(shè)備1000的圖。該設(shè)備1000例如是微計算機(jī)、工作站或輕薄便攜式裝置。設(shè)備1000包括通信總線1113,其中優(yōu)選該通信總線1113連接有以下組件:-諸如微處理器等的表示為cpu的中央處理單元1111;-只讀存儲器(rom)1107,其存儲實現(xiàn)本發(fā)明所用的一個或多個計算機(jī)程序;-隨機(jī)存取存儲器(ram)1112,其存儲本發(fā)明的方法的可執(zhí)行代碼并且提供如下寄存器,其中這些寄存器被配置為記錄實現(xiàn)對數(shù)字圖像序列進(jìn)行編碼的方法和/或?qū)ξ涣鬟M(jìn)行解碼的方法所需的變量和參數(shù);以及-通信接口1102,其連接至傳輸要處理的數(shù)字?jǐn)?shù)據(jù)所經(jīng)由的通信網(wǎng)絡(luò)1103。運(yùn)動矢量存儲器(mvm)1112a構(gòu)成ram1112的一部分并且用于存儲參考幀的運(yùn)動矢量??蛇x地,設(shè)備1000還可以具有以下組件:-諸如硬盤等的數(shù)據(jù)存儲部件1104,其能夠容納實現(xiàn)本發(fā)明的程序以及在本發(fā)明的實現(xiàn)期間所使用或所產(chǎn)生的數(shù)據(jù);-盤1106所用的盤驅(qū)動器1105,其中該盤驅(qū)動器被配置為從盤1106讀取數(shù)據(jù)或者將數(shù)據(jù)寫到所述盤上;-屏幕1109,用于利用鍵盤1110或任何其它指示部件來顯示數(shù)據(jù)以及/或者用作用戶圖形界面。設(shè)備1000可以連接至例如數(shù)字照相機(jī)1100或麥克風(fēng)1108等的各種外圍設(shè)備,其中這些外圍設(shè)備各自連接至輸入/輸出卡(未示出)從而向設(shè)備1000供給多媒體數(shù)據(jù)。通信總線提供設(shè)備1000內(nèi)所包括的或連接至設(shè)備1000的各種元件之間的通信和互操作性。該總線的表示并非限制性的,并且特別地,中央處理單元能夠直接地或者利用設(shè)備1000的其它元件向設(shè)備1000的任意元件傳達(dá)指示。盤1106可以由例如(可重寫或不可重寫的)致密盤(cd-rom)、zip盤或存儲卡等的任何信息介質(zhì)以及概括而言由信息存儲部件來替換,其中該信息存儲部件可以由集成于該設(shè)備內(nèi)或沒有集成于該設(shè)備內(nèi)的可能能夠移除的微計算機(jī)或微處理器來讀取,并且被配置為存儲如下的一個或多個程序,其中執(zhí)行該一個或多個程序使得能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的對數(shù)字圖像序列進(jìn)行編碼的方法和/或?qū)ξ涣鬟M(jìn)行解碼的方法??蓤?zhí)行代碼可以存儲在只讀存儲器1107中、硬盤1104上或者例如前面所述的盤1106等的可移除數(shù)字介質(zhì)上。根據(jù)變形例,程序的可執(zhí)行代碼可以利用通信網(wǎng)絡(luò)1103經(jīng)由接口1102接收到,從而在執(zhí)行之前存儲在諸如硬盤1104等的設(shè)備1000的存儲部件的其中一個中。中央處理單元1111被配置為控制和引導(dǎo)根據(jù)本發(fā)明的程序的指令或軟件代碼的一部分的執(zhí)行,其中這些指令存儲在上述存儲部件的其中一個中。在通電時,將存儲在非易失性存儲器中(例如硬盤1104上或只讀存儲器1107中)的程序傳遞至隨機(jī)存取存儲器1112,然后該隨機(jī)存取存儲器1112容納程序的可執(zhí)行代碼以及用于存儲實現(xiàn)本發(fā)明所需的變量和參數(shù)的寄存器。在本實施例中,該設(shè)備是使用軟件來實現(xiàn)本發(fā)明的可編程設(shè)備。然而,可選地,本發(fā)明可以以硬件形式(例如,以專用集成電路或asic的形式)來實現(xiàn)。圖5示出根據(jù)本發(fā)明的實施例的編碼器30的框圖。該編碼器由連接的模塊來表示,其中各模塊被配置為例如以設(shè)備1000的cpu1111要執(zhí)行的編程指令的形式來執(zhí)行實現(xiàn)本發(fā)明的實施例的方法的相應(yīng)步驟。編碼器30接收到原始的數(shù)字圖像序列i0~in301作為輸入。各數(shù)字圖像由已知為像素的一組樣本來表示。編碼器30輸出位流310。位流310包括多個編碼單位或片,其中各片包括:片頭,其用于對對片進(jìn)行編碼所使用的編碼參數(shù)的值進(jìn)行編碼;以及片本體,其包括編碼視頻數(shù)據(jù)。在hevc中,這些片被分割成非重疊的最大編碼單位(lcu)、通常是大小為64個像素×64個像素的塊。而各lcu可以使用四叉樹分解被迭代地分割成較小的可變大小的編碼單位(cu)。各cu可以進(jìn)一步被分割成最大為2個對稱矩形的分區(qū)單位(pu)。圖6示出數(shù)字圖像i的序列301、片103、lcu104、cu105、pu106和tu107。tu(變換單位)是與pu分開定義的以在cu中進(jìn)行變換和量化。注意,在以下說明中,使用術(shù)語“塊”來代替hevcacu中使用的特定術(shù)語cu和pu,或者pu是像素的塊。返回圖5,模塊302將所輸入的數(shù)字圖像i分割成塊。這些塊是圖像部分并且可以具有可變大小(例如,4×4、8×8、16×16、32×32、64×64))。模塊306針對各輸入塊選擇編碼模式。后面說明模塊306。存在空間預(yù)測編碼或幀內(nèi)編碼以及時間預(yù)測編碼或幀間編碼這兩類編碼模式。對可能的編碼模式進(jìn)行測試。模塊303實現(xiàn)幀內(nèi)預(yù)測,其中利用例如根據(jù)給定要編碼的塊附近的像素計算出的“幀內(nèi)”預(yù)測結(jié)果(由已編碼的信息構(gòu)建的像素塊)來預(yù)測該要編碼的塊。在利用模塊306選擇幀內(nèi)編碼的情況下,對給定塊與其預(yù)測結(jié)果之間的差以及所選擇的幀內(nèi)預(yù)測結(jié)果的指示進(jìn)行編碼。時間預(yù)測由模塊304和305來實現(xiàn)。首先,從一組參考圖像316中選擇參考圖像,并且利用運(yùn)動估計模塊304來選擇該參考圖像中的作為最接近給定要編碼的塊的區(qū)域的部分(還被稱為參考區(qū)域)。通常,運(yùn)動估計模塊304使用塊匹配算法(bma)。關(guān)于“幀間編碼”,兩種預(yù)測類型是可能的。單預(yù)測(p型)包括通過參考一個參考圖像中的一個參考區(qū)域來預(yù)測塊。雙預(yù)測(b型)包括通過參考一個或兩個參考圖像中的兩個參考區(qū)域來預(yù)測塊。在模塊304中,對當(dāng)前塊和參考圖像316之間的運(yùn)動進(jìn)行估計,從而在這些參考圖像中的一個或幾個參考圖像中識別一個(p型)像素塊或幾個(b型)像素塊以用作該當(dāng)前塊的預(yù)測結(jié)果。在使用幾個塊預(yù)測結(jié)果(b型)的情況下,將這些塊預(yù)測結(jié)果合并以生成一個預(yù)測塊。所使用的參考圖像是已編碼的然后(通過解碼)進(jìn)行重建得到的視頻序列中的圖像。利用運(yùn)動補(bǔ)償模塊305來計算所選擇的參考區(qū)域和給定塊之間的差(還稱為殘差塊)。所選擇的參考區(qū)域由運(yùn)動矢量來表示。在利用模塊306選擇幀間預(yù)測的情況下,對與運(yùn)動矢量和殘差塊有關(guān)的信息進(jìn)行編碼。為了進(jìn)一步降低位率,利用相對于運(yùn)動矢量預(yù)測結(jié)果的差來對運(yùn)動矢量進(jìn)行編碼。利用運(yùn)動矢量預(yù)測和編碼模塊317來從運(yùn)動矢量字段318獲得運(yùn)動矢量預(yù)測結(jié)果(還稱為運(yùn)動信息預(yù)測結(jié)果)的集合。后面將參考圖8和9來詳細(xì)說明模塊317的操作。編碼模式選擇模塊306使用諸如率失真標(biāo)準(zhǔn)等的編碼代價標(biāo)準(zhǔn)來判斷在幀內(nèi)預(yù)測模式和幀間預(yù)測模式中哪個模式是最佳模式。將變換307應(yīng)用于殘差塊,然后所獲得的變換數(shù)據(jù)由模塊308進(jìn)行量化并且由模塊309進(jìn)行熵編碼。將該變換應(yīng)用于包括在塊中的前述變換單位(tu)。如圖6所示,可以使用所謂的殘差四叉樹(rqt)分解將tu進(jìn)一步分割成較小的tu。在hevc中,通常使用2級或3級的分解,并且認(rèn)可的變換大小來自于32×32、16×16、8×8和4×4。變換基礎(chǔ)源自于離散余弦變換dct。最后,將要編碼的當(dāng)前塊的編碼殘差塊連同與所使用的預(yù)測結(jié)果有關(guān)的信息一起插入位流310。對于以“skip”模式編碼后的塊,僅將相對于該預(yù)測結(jié)果的參考編碼在位流中,而無任何殘差塊。為了計算“幀內(nèi)”預(yù)測結(jié)果或?qū)Α皫g”預(yù)測結(jié)果進(jìn)行運(yùn)動估計,編碼器利用所謂的“解碼”循環(huán)311~315對已編碼的塊進(jìn)行解碼。該解碼循環(huán)使得可以根據(jù)量化變換后的殘差來重建塊和圖像。在模塊311中,通過對模塊308所提供的殘差應(yīng)用逆量化來對量化變換后的殘差進(jìn)行去量化,并且在模塊312中,通過對模塊307的殘差進(jìn)行逆變換來對量化變換后的殘差進(jìn)行重建。在殘差來自于“幀內(nèi)”編碼的情況下,在模塊313中將所使用的“幀內(nèi)”預(yù)測結(jié)果添加至該殘差,從而恢復(fù)與因源自于有損變換(這里為量化操作)的損失而改變的原始塊相對應(yīng)的重建塊。另一方面,在殘差來自于“幀間”編碼的情況下,在模塊314中,合并當(dāng)前運(yùn)動矢量所指向的塊(這些塊屬于當(dāng)前圖像索引所指的參考圖像316),然后添加至該解碼殘差。這樣,獲得了因源自于量化操作的損失而改變的原始塊。對重建信號應(yīng)用最終環(huán)路濾波器315,從而減輕由于所獲得的殘差的高度量化所產(chǎn)生的影響并且改善信號質(zhì)量。該環(huán)路濾波器包括“去塊”濾波和線性濾波這兩個步驟。去塊濾波使各塊之間的邊界平滑從而從視覺上衰減由編碼產(chǎn)生的這些高頻率。線性濾波使用在編碼器處自適應(yīng)地確定的濾波系數(shù)來進(jìn)一步改善信號。因而,在對圖像的像素的所有塊進(jìn)行了解碼的情況下,將模塊315的濾波應(yīng)用于該圖像。然后將濾波后的圖像(還稱為重建圖像)存儲作為參考圖像316,從而使得能夠在針對當(dāng)前視頻序列的后續(xù)圖像的壓縮期間進(jìn)行接下來的“幀間”預(yù)測。在hevc的情形下,可以使用幾個參考圖像316對當(dāng)前圖像進(jìn)行估計和運(yùn)動補(bǔ)償。換句話說,對n個圖像執(zhí)行運(yùn)動估計。因而,在多個參考圖像的一些參考圖像中選擇運(yùn)動補(bǔ)償所用的當(dāng)前塊的最佳“幀間”預(yù)測結(jié)果。結(jié)果,兩個相鄰塊可以具有來自于兩個不同的參考圖像的兩個預(yù)測結(jié)果塊。這尤其是為什么要在壓縮位流中指示預(yù)測結(jié)果塊所使用的(除運(yùn)動矢量以外的)參考圖像的索引的原因。多個參考圖像的使用即是用于防止錯誤的工具也是用于改善編碼效率的工具。vceg組推薦將參考圖像的數(shù)量限制為4個。圖7示出根據(jù)本發(fā)明的實施例的解碼器40的框圖。該解碼器由連接的模塊來表示,其中各模塊被配置為例如以設(shè)備1000的cpu1111要執(zhí)行的編程指令的形式執(zhí)行實現(xiàn)本發(fā)明的實施例的方法的相應(yīng)步驟。解碼器40接收包括編碼單位的位流401,其中每一個編碼單位包括包含與編碼參數(shù)有關(guān)的信息的頭以及包含編碼視頻數(shù)據(jù)的本體。如前面參考圖5所述,對編碼視頻數(shù)據(jù)進(jìn)行熵編碼,并且按預(yù)定的位數(shù)針對給定塊對運(yùn)動矢量預(yù)測結(jié)果的索引進(jìn)行編碼。接收到的編碼視頻數(shù)據(jù)由模塊402進(jìn)行熵解碼,由模塊403去量化,然后由模塊404應(yīng)用逆變換。特別地,在接收到的編碼視頻數(shù)據(jù)與要解碼的當(dāng)前塊的殘差塊相對應(yīng)的情況下,解碼器也對來自該位流的運(yùn)動預(yù)測信息進(jìn)行解碼,從而得到編碼器所使用的參考區(qū)域。模塊410對通過運(yùn)動預(yù)測編碼后的各當(dāng)前塊應(yīng)用運(yùn)動矢量解碼。與圖5的編碼器的模塊317類似,運(yùn)動矢量解碼模塊410使用與來自當(dāng)前幀和來自參考幀的運(yùn)動矢量有關(guān)的信息(與圖5中的運(yùn)動矢量字段315類似的運(yùn)動矢量字段411),以生成運(yùn)動矢量預(yù)測結(jié)果的集合。后面將參考圖10來更加詳細(xì)地說明模塊410的操作。在毫無丟失地接收到位流的情況下,解碼器生成與編碼器完全相同的運(yùn)動矢量預(yù)測結(jié)果的集合。一旦獲得了當(dāng)前塊的運(yùn)動矢量預(yù)測結(jié)果的索引,則在沒有發(fā)生丟失的情況下,可以對與當(dāng)前塊相關(guān)聯(lián)的運(yùn)動矢量的實際值進(jìn)行解碼并且供給至應(yīng)用逆運(yùn)動補(bǔ)償?shù)哪K406。從所存儲的參考圖像408中的參考圖像提取由解碼后的運(yùn)動矢量表示的參考區(qū)域并且還將該參考區(qū)域供給至模塊406以使得模塊406能夠應(yīng)用逆運(yùn)動補(bǔ)償。在應(yīng)用了幀內(nèi)預(yù)測的情況下,利用模塊405應(yīng)用逆幀內(nèi)預(yù)測。作為根據(jù)幀間模式或幀內(nèi)模式的解碼的結(jié)果,獲得了解碼塊。與在編碼器處應(yīng)用的去塊濾波器315類似,利用模塊407應(yīng)用去塊濾波器。最終,解碼器40提供解碼后的視頻信號409。圖8是用于說明當(dāng)前hevc實現(xiàn)期間運(yùn)動矢量預(yù)測結(jié)果的集合或運(yùn)動矢量候選的集合的生成的示意圖。在當(dāng)前hevc設(shè)計中,使用多個運(yùn)動矢量來通過預(yù)測編碼對運(yùn)動矢量進(jìn)行編碼。該方法被稱為高級運(yùn)動矢量預(yù)測(amvp)并且被配置為考慮塊結(jié)構(gòu)大的新hevc情形。該方案適用于跳過模式、幀間模式和合并模式。該方法使得能夠從包括空間運(yùn)動矢量和時間運(yùn)動矢量的給定集合中選擇最佳預(yù)測結(jié)果。在hevc標(biāo)準(zhǔn)化處理中還對空間預(yù)測結(jié)果和時間預(yù)測結(jié)果的最佳數(shù)量進(jìn)行估計。然而,截至本申請的遞交日期,當(dāng)前實現(xiàn)包括針對跳過模式和幀間模式的2個空間預(yù)測結(jié)果和1個時間同位置預(yù)測結(jié)果、以及針對合并模式的4個空間預(yù)測結(jié)果和1個時間預(yù)測結(jié)果。本發(fā)明不局限于用于amvp的當(dāng)前實現(xiàn)。amvp的實現(xiàn)可以根據(jù)以下所述的當(dāng)前實現(xiàn)改變,但可以設(shè)想以下要說明的本發(fā)明的實施例將提供與可以采用的其它實現(xiàn)相同的有利效果和結(jié)果。此外,在引言部分所參考的jctvc-d072中,提出了代替當(dāng)前版本中僅使用一個時間預(yù)測結(jié)果而是使用多個時間預(yù)測結(jié)果。本發(fā)明還可應(yīng)用于該變形例。在圖8所示的預(yù)測結(jié)果集合中,在上述運(yùn)動矢量中以及包括上角塊和左角塊的左方塊中選擇兩個空間運(yùn)動矢量。左方預(yù)測結(jié)果是從塊i、h、g、f中選擇的。在存在矢量、并且參考幀索引與當(dāng)前塊的參考幀索引相同(這意味著用作預(yù)測結(jié)果的運(yùn)動矢量指向與當(dāng)前塊的運(yùn)動矢量相同的參考幀)的情況下,運(yùn)動矢量預(yù)測結(jié)果被視為可用。該選擇通過從下(i)向上(f)的搜索來進(jìn)行。選擇滿足上述可用性標(biāo)準(zhǔn)的第一個預(yù)測結(jié)果作為左方預(yù)測結(jié)果(將僅一個左方預(yù)測結(jié)果添加至預(yù)測結(jié)果集合)。在不存在滿足標(biāo)準(zhǔn)的預(yù)測結(jié)果的情況下,左方預(yù)測結(jié)果被視為不可用。幀間塊可以是單預(yù)測(p型)或雙預(yù)測(b型)的。在p幀中,幀間塊僅為p型。在b幀中,幀間塊為p型或b型。在p型的幀間塊中,使用參考幀的列表l0。其運(yùn)動矢量是指該列表中的一個參考幀。因此將參考索引與運(yùn)動矢量相關(guān)聯(lián)。在b型的幀間塊中,使用參考幀的兩個列表l0和l1。其兩個運(yùn)動矢量的其中一個是指列表l0中的一個參考幀,并且其兩個運(yùn)動矢量中的另一個是指列表l1中的一個參考幀。因此將參考索引與這兩個運(yùn)動矢量中的每一個相關(guān)聯(lián)。運(yùn)動矢量的不存在意味著對相關(guān)塊進(jìn)行了幀間編碼、或者在編碼后的運(yùn)動矢量所關(guān)聯(lián)的列表中不存在運(yùn)動矢量。例如,對于b幀中的塊,在相鄰塊僅具有列表“l(fā)1”中的一個運(yùn)動矢量并且當(dāng)前運(yùn)動矢量在“l(fā)0”中的情況下,相鄰運(yùn)動矢量被視為針對當(dāng)前運(yùn)動矢量的預(yù)測不存在。作為搜索(在這種情況下為從右向左)的結(jié)果,再次從塊e、d、c、b、a中選擇上方預(yù)測結(jié)果。選擇從右向左的滿足以上所定義的可用性標(biāo)準(zhǔn)的第一個運(yùn)動矢量(在預(yù)測結(jié)果存在并且具有與當(dāng)前運(yùn)動矢量相同的參考幀的情況下)作為上方預(yù)測結(jié)果。在不存在使該標(biāo)準(zhǔn)有效的預(yù)測結(jié)果的情況下,上方預(yù)測結(jié)果被視為不可用。在沒有以針對編碼和針對顯示不同的方式對幀進(jìn)行排序(順次對這些幀進(jìn)行編碼而沒有重新排序)的情況下,時間運(yùn)動矢量預(yù)測結(jié)果來自于最近的參考幀。該結(jié)構(gòu)與低延遲結(jié)構(gòu)(在解碼處理和顯示處理之間無延遲)相對應(yīng)。在b幀的情況下,針對同位置塊考慮2個運(yùn)動矢量。一個運(yùn)動矢量在參考圖像的第一列表“l(fā)0”中并且一個運(yùn)動矢量在參考圖像的第二列表“l(fā)1”中。在這兩個運(yùn)動矢量都存在的情況下,選擇時間距離最短的運(yùn)動。在這兩個預(yù)測結(jié)果具有相同的時間距離的情況下,選擇運(yùn)動形式“l(fā)0”。然后,在需要的情況下,根據(jù)參考圖像和包含要編碼的塊的圖像之間的時間距離來對所選擇的同位置的運(yùn)動矢量進(jìn)行縮放。在不存在同位置預(yù)測結(jié)果的情況下,預(yù)測結(jié)果被視為不可用。對于包括對幀重新排序并因此產(chǎn)生更多解碼延遲的分層b幀編碼,可以考慮2個同位置運(yùn)動矢量。這兩者來自于將來參考幀。選擇與當(dāng)前幀交叉的運(yùn)動矢量。在這兩個預(yù)測結(jié)果均與當(dāng)前幀交叉的情況下,選擇包含時間距離最短的運(yùn)動矢量的塊。在這兩個預(yù)測結(jié)果具有相同的時間距離的情況下,選擇來自第一列表“l(fā)0”的運(yùn)動矢量。然后,在需要的情況下,根據(jù)參考圖像和包含要編碼的塊的圖像之間的時間距離來對被選擇作為時間運(yùn)動矢量預(yù)測結(jié)果的同位置運(yùn)動矢量進(jìn)行縮放。在不存在同位置預(yù)測結(jié)果的情況下,預(yù)測結(jié)果被視為不可用。如本說明書的引言部分所述,對于低延遲和分層這兩個情況,當(dāng)將同位置塊分割成多個分區(qū)(可能地,同位置塊包含多個運(yùn)動矢量)時,所選擇的運(yùn)動矢量來自于中心分區(qū)(參見2011年1月20~28日于韓國大邱召開的jctvc-d164上jung,g.clare(orangelabs)所發(fā)布的“temporalmvpredictormodificationformv-comp,skip,directandmergeschemes”(其提出了使用居中的時間預(yù)測結(jié)果)、以及wo2011/001077a)。作為生成運(yùn)動矢量預(yù)測結(jié)果的該方法,所生成的預(yù)測結(jié)果的集合可以包含0、1、2或3個預(yù)測結(jié)果。在該集合中沒有包含預(yù)測結(jié)果的情況下,無法預(yù)測運(yùn)動矢量。在未經(jīng)預(yù)測的狀態(tài)下對垂直分量和水平分量這兩者進(jìn)行編碼。(這對應(yīng)于利用等于零值的預(yù)測結(jié)果所進(jìn)行的預(yù)測。)在當(dāng)前hevc實現(xiàn)中,預(yù)測結(jié)果的索引等于0。與本領(lǐng)域技術(shù)人員眾所周知的常用跳過模式類似,合并模式是特殊的幀間編碼。與常用跳過模式相比較的主要不同之處是合并模式使參考幀索引的值、運(yùn)動矢量預(yù)測結(jié)果的方向(雙向或單向)以及(單向方向的)列表傳播至預(yù)測塊。除非運(yùn)動矢量預(yù)測結(jié)果是在所考慮的參考幀始終是還稱為ref0的最近的在前參考幀(并且針對b幀始終是雙預(yù)測)的情況下的時間預(yù)測結(jié)果,否則合并模式使用運(yùn)動矢量預(yù)測結(jié)果及其參考幀索引。因而,塊預(yù)測結(jié)果(復(fù)制塊)來自于運(yùn)動矢量預(yù)測結(jié)果所指向的參考幀。對集合內(nèi)的候選進(jìn)行排序?qū)τ跍p少發(fā)送預(yù)測結(jié)果集合中的最佳運(yùn)動預(yù)測結(jié)果的開銷而言很重要。集合的排序被配置成依賴于用以將最可能的運(yùn)動預(yù)測結(jié)果定位于第一位置的當(dāng)前預(yù)測模式,這是因為在選擇第一候選作為最佳預(yù)測結(jié)果的情況下發(fā)生最小開銷。在hevc的當(dāng)前實現(xiàn)中,時間預(yù)測結(jié)果是第一位置??梢酝ㄟ^使集合內(nèi)的候選的數(shù)量最小化來進(jìn)一步減少發(fā)送最佳預(yù)測結(jié)果的索引的開銷。簡單地將重復(fù)的運(yùn)動矢量從集合中除去。對于合并模式的特殊情況,抑制處理考慮運(yùn)動矢量的值及其參考幀。因此,為了判斷兩個預(yù)測結(jié)果是否是重復(fù)的預(yù)測結(jié)果,針對這兩個預(yù)測結(jié)果比較運(yùn)動矢量的兩個分量及其參考索引,并且僅在這三個值相等的情況下,才將一個預(yù)測結(jié)果從集合除去。對于b幀,該相等標(biāo)準(zhǔn)擴(kuò)展至方向和列表。因此,在兩個預(yù)測結(jié)果都使用相同的方向、相同的列表(l0、l1或者l0和l1)、相同的參考幀索引并且具有相同值的運(yùn)動矢量(對于雙預(yù)測為mv_l0和mv_l1)的情況下,這兩個預(yù)測結(jié)果被視為重復(fù)的預(yù)測結(jié)果。在amvp中,索引信令依賴于上述的運(yùn)動矢量預(yù)測結(jié)果抑制處理的結(jié)果。實際上,分配至發(fā)信令的位數(shù)依賴于抑制之后剩余的運(yùn)動矢量的數(shù)量。例如,在抑制處理結(jié)束時、僅剩余一個運(yùn)動矢量的情況下,由于解碼器可以容易地恢復(fù)出運(yùn)動矢量預(yù)測結(jié)果的索引,因此不需要用于發(fā)送該索引的開銷。以下的表1示出針對各索引編碼的與抑制處理之后的預(yù)測結(jié)果的數(shù)量相對應(yīng)的碼字。表1圖9是用于說明編碼器側(cè)的amvp方案的操作的流程圖。除非另外說明,圖9的操作由圖5中的模塊317來執(zhí)行,并且該模塊317可被視為包括圖9中的模塊603、605、607、610和615。圖9中的運(yùn)動矢量字段601對應(yīng)于圖5中的運(yùn)動矢量字段318。圖9中的熵編碼器模塊612對應(yīng)于圖5中的熵編碼器模塊309。圖9的所有操作可以以軟件形式實現(xiàn)并且由設(shè)備1000的中央處理單元1111來執(zhí)行。運(yùn)動矢量預(yù)測結(jié)果生成模塊603接收要編碼的當(dāng)前運(yùn)動矢量的參考幀索引613并且還接收運(yùn)動矢量字段601。該模塊603通過考慮參考幀索引613來如以上參考圖8所述生成運(yùn)動矢量預(yù)測結(jié)果集合604。然后,同樣如以上參考圖8所述,利用模塊605應(yīng)用抑制處理。模塊605生成縮減的運(yùn)動矢量預(yù)測結(jié)果集合606。還輸出縮減集合606中的運(yùn)動矢量預(yù)測結(jié)果的數(shù)量616。模塊607接收要編碼的運(yùn)動矢量602并且應(yīng)用縮減的運(yùn)動矢量預(yù)測結(jié)果集合606中的最佳預(yù)測結(jié)果的率失真(rd)選擇。在選擇了最佳預(yù)測結(jié)果的情況下,模塊607輸出運(yùn)動矢量預(yù)測結(jié)果索引608和所選擇的運(yùn)動矢量預(yù)測結(jié)果609。然后,模塊610形成要編碼的運(yùn)動矢量602和所選擇的運(yùn)動矢量預(yù)測結(jié)果609之間的差。該差是運(yùn)動矢量殘差611。然后,在模塊612中對該運(yùn)動矢量殘差進(jìn)行熵編碼。如以上參考表1所述,模塊614根據(jù)縮減運(yùn)動矢量預(yù)測結(jié)果集合606內(nèi)的預(yù)測結(jié)果的數(shù)量616來將運(yùn)動矢量預(yù)測結(jié)果索引608轉(zhuǎn)換成碼字615。如上所述,在該集合僅包含一個預(yù)測結(jié)果的情況下,沒有向解碼器側(cè)發(fā)送索引并且沒有生成碼字。在該集合包含一個或多個預(yù)測結(jié)果的情況下,在模塊614中生成碼字然后在模塊612中進(jìn)行熵編碼。圖10是用于說明解碼器側(cè)的amvp方案的操作的流程圖。除非另外說明,圖10的操作由圖7中的模塊410來執(zhí)行,并且該模塊410可被視為包括圖10中的模塊702、704、711和715。圖10中的運(yùn)動矢量字段701對應(yīng)于圖7中的運(yùn)動矢量字段411。圖10中的熵解碼器模塊706對應(yīng)于圖7中的熵解碼器模塊402。圖10的所有操作可以以軟件形式實現(xiàn)并且由設(shè)備1000的中央處理單元1111來執(zhí)行。模塊702接收當(dāng)前幀和先前解碼幀的運(yùn)動矢量字段701。該模塊702還接收要解碼的當(dāng)前運(yùn)動矢量的參考幀索引713。模塊702基于運(yùn)動矢量字段701和參考幀索引713來生成運(yùn)動矢量預(yù)測結(jié)果集合703。該處理同與編碼器側(cè)的模塊603相關(guān)的所述處理相同。然后,利用模塊704應(yīng)用抑制處理。該處理同與編碼器側(cè)的模塊605相關(guān)的所述處理相同。模塊704生成縮減運(yùn)動矢量預(yù)測結(jié)果集合708。還輸出縮減集合708中的運(yùn)動矢量預(yù)測結(jié)果的數(shù)量716。熵解碼器模塊706從位流705中提取運(yùn)動矢量殘差707并且對該運(yùn)動矢量殘差707進(jìn)行解碼。然后,模塊706使用縮減集合708中的預(yù)測結(jié)果的數(shù)量716以(根據(jù)需要)提取運(yùn)動矢量預(yù)測結(jié)果碼字714。使用以上轉(zhuǎn)換所用的表1,模塊715根據(jù)縮減集合中的預(yù)測結(jié)果的數(shù)量716來將該碼字(在存在的情況下)轉(zhuǎn)換成預(yù)測結(jié)果索引值709。然后,根據(jù)預(yù)測結(jié)果索引值709來從縮減集合708中提取運(yùn)動矢量預(yù)測結(jié)果710。模塊711將該運(yùn)動矢量預(yù)測結(jié)果添加至運(yùn)動殘差707,從而生成解碼運(yùn)動矢量712。通過上述顯然可知,針對用作同位置運(yùn)動矢量預(yù)測結(jié)果的推導(dǎo)所用的參考幀的各幀,需要將其相關(guān)的運(yùn)動矢量存儲在編碼器側(cè)和解碼器側(cè)。首先考慮到運(yùn)動表示的粒度(在當(dāng)前hevc設(shè)計中,幀內(nèi)模式中的最小塊大小為4×4)、其次考慮到針對b_slice的每運(yùn)動塊存在兩個矢量,這導(dǎo)致運(yùn)動矢量存儲器的大小變大。估計出針對4k×2k分辨率的圖片并且使用每4×4塊一個運(yùn)動矢量集合的粒度,每幀需要26兆位。運(yùn)動矢量存儲器必須是快速存儲器并且通常是ram(例如,圖4中的ram1112)的一部分。這特別是對于便攜式裝置而言很昂貴。第一實施例現(xiàn)在將說明本發(fā)明的第一實施例。在第一實施例中,與引言部分所述的并且圖1所示的提議jctvc-c257和jctvc-d072相同,對于n×n個運(yùn)動矢量的集合的塊匯總使用一個塊位置。將與該一個塊位置的相對應(yīng)的塊的運(yùn)動矢量存儲作為整個n×n集合的代表運(yùn)動矢量。如圖1所示,這些現(xiàn)有提議排他地使用左上方塊位置。然而,該匯總方式無法考慮在與其它空間預(yù)測結(jié)果的競爭方案中使用同位置運(yùn)動矢量預(yù)測結(jié)果。結(jié)果,盡管這些現(xiàn)有提議提供了運(yùn)動矢量存儲器要求的顯著降低(例如,在圖1的示例中,降低了16倍),但這些提議涉及編碼效率方面的損失。例如,估計出在tmucv0.9中使用存儲器要求的16倍降低會得到0.5%的編碼效率損失。由于同位置塊的左上方塊位置處的運(yùn)動矢量通常與來自于要編碼的當(dāng)前塊附近的塊的空間預(yù)測結(jié)果類似,因此發(fā)生該情況。這意味著同位置運(yùn)動矢量預(yù)測結(jié)果不會給預(yù)測結(jié)果集合整體帶來充分的多樣性。通過使用同位置塊內(nèi)的不同塊位置、或者甚至使用同位置塊附近的另一塊中的塊位置,可以獲得較大程度的多樣性。其效果如下:盡管仍實現(xiàn)了與上述現(xiàn)有提議相同的運(yùn)動矢量存儲器要求的降低,但本實施例與存儲了所有的運(yùn)動矢量并且沒有使用塊匯總的系統(tǒng)相比較,沒有產(chǎn)生編碼效率損失或沒有產(chǎn)生顯著的編碼效率損失。本發(fā)明的實施例意識到包括空間預(yù)測結(jié)果和時間預(yù)測結(jié)果的混合的預(yù)測結(jié)果集合的多樣性依賴于這些預(yù)測結(jié)果來自于的塊的相對位置。各預(yù)測結(jié)果之間的距離越大,這些預(yù)測結(jié)果呈多樣化的可能性越高。因而,優(yōu)選可以進(jìn)一步從空間預(yù)測結(jié)果的塊位置中選擇塊位置作為同位置塊的塊位置。當(dāng)然,該距離必須沒有大到使得時間預(yù)測結(jié)果不再代表同位置塊中的運(yùn)動矢量。最終,同位置塊由于其與當(dāng)前塊同位置而被精確地選擇作為時間預(yù)測結(jié)果的源。因此,需要的是為時間預(yù)測結(jié)果選擇提供時間預(yù)測結(jié)果和空間預(yù)測結(jié)果之間的受控多樣性的塊位置。應(yīng)當(dāng)理解,在amvp中,根據(jù)可用性標(biāo)準(zhǔn)來從特定位置(圖8所示的位置a~i)中選擇空間預(yù)測結(jié)果。這意味著可以根據(jù)可用性來選擇0、1或2個空間預(yù)測結(jié)果。針對同位置塊的塊匯總所要選擇的塊位置由于是在空間預(yù)測結(jié)果選擇之前執(zhí)行的,因而無法考慮到實際空間預(yù)測結(jié)果選擇。為了使得可以在選擇同位置塊的塊位置時考慮空間預(yù)測結(jié)果選擇,需要將所有塊位置處的運(yùn)動矢量存儲在同位置塊中,這與降低運(yùn)動矢量存儲器要求相矛盾。然而,順便提及,在目的不是降低存儲器要求而是改善編碼效率的情況下,如后面實施例將說明的,可以在選擇同位置塊的塊位置時考慮空間預(yù)測結(jié)果選擇。在hevc測試模型的當(dāng)前實現(xiàn)中,對于當(dāng)前的跳過塊或幀間塊,如以上參考圖8所述使用兩個空間預(yù)測結(jié)果,而對于合并模式使用四個空間預(yù)測結(jié)果。然而,與跳過模式和幀間模式相比,選擇合并模式的頻率較低。因此,在本實施例中,假定具有如圖8所示的左方預(yù)測結(jié)果和上方預(yù)測結(jié)果這兩個空間預(yù)測結(jié)果。在空間預(yù)測結(jié)果集合中使用更多個或更少個預(yù)測結(jié)果的情況下,可以容易地擴(kuò)展本實施例。此外,本實施例的說明涉及基于4×4的塊匯總的運(yùn)動矢量存儲器壓縮。這可以容易地擴(kuò)展至塊匯總所使用的所有其它大小。圖11示出第一實施例的運(yùn)動矢量存儲器壓縮處理中的用于確定其運(yùn)動矢量將被選擇作為一個運(yùn)動矢量的4×4的塊位置的方法的步驟。如上所述,由于這樣得到選擇一個運(yùn)動矢量作為塊整體的表示,因此這可被視為塊匯總處理。無需存儲具有除所確定的塊位置以外的塊位置的塊的未選擇的運(yùn)動矢量(例如,在本情況中為15個運(yùn)動矢量),從而得到顯著的運(yùn)動矢量存儲器壓縮(例如,在本情況中,16倍)。順便提及,除了(各自具有垂直分量和水平分量以及參考幀索引的)運(yùn)動矢量自身以外,塊位置的選擇還可應(yīng)用于同位置預(yù)測結(jié)果的推導(dǎo)處理所需的所有其它數(shù)據(jù)(mv存儲器壓縮的當(dāng)前實現(xiàn)沒有考慮到其它數(shù)據(jù))。這些數(shù)據(jù)包括模式(幀間/幀內(nèi))、運(yùn)動矢量的參考幀索引、參考圖像的列表“l(fā)0”和“l(fā)1”以及單向或雙向的方向。在第一步驟s1001中,接收到空間預(yù)測結(jié)果的可能位置的列表。這些位置是與當(dāng)前塊相比較的相對位置。由于塊匯總的原因,在如圖1所示應(yīng)用運(yùn)動矢量的4×4塊的匯總的情況下,可以考慮當(dāng)前塊的大小(以像素為單位)為16×16。因而,通過該算法接收到上方預(yù)測結(jié)果的可能位置a、b、c、d、e和左方預(yù)測結(jié)果的可能位置f、g、h、i。為了簡便,如圖12所示,可以考慮相鄰塊的最小cu大小等于4×4(以像素為單位)。在該情況下,所有的空間預(yù)測結(jié)果塊具有作為mv存儲器壓縮期間將匯總的塊的大小的相同大小。如圖12所述,上方預(yù)測結(jié)果的可能位置是tp1~tp6,并且左方預(yù)測結(jié)果的可能位置是lp1~lp5。然后,在步驟s1002中,該算法確定各空間預(yù)測結(jié)果的平均位置。在圖12的簡化示例中,左方預(yù)測結(jié)果的平均位置是塊lp3的位置,并且上方預(yù)測結(jié)果的平均位置是塊tp3和tp4之間的邊界。由于上方預(yù)測結(jié)果的平均位置是塊tp3和tp4之間的邊界,因此在后續(xù)處理中考慮這兩個塊tp3和tp4的位置,而對于左方預(yù)測結(jié)果,在后續(xù)處理中僅考慮塊lp3的位置。然后,在步驟s1003中生成各預(yù)測結(jié)果的距離矩陣。該矩陣具有針對所匯總的塊的各可能塊位置的單元格,并且在各單元格中包含所關(guān)注的預(yù)測結(jié)果(視情況而定為上方預(yù)測結(jié)果或左方預(yù)測結(jié)果)的平均位置和所關(guān)注的單元格的可能塊位置之間的最小距離。根據(jù)運(yùn)動矢量存儲器所采用的z字形表示法,在圖12中將可能的塊位置編號為1~16。以下參考圖13a~13c來說明該矩陣的結(jié)構(gòu)。然后,在步驟s1004中,以逐個單元地對這兩個預(yù)測結(jié)果的距離矩陣求和,從而獲得一個整體矩陣距離。在步驟s1005中,識別該整體距離矩陣中的最大值。與該最大值相對應(yīng)的位置是mv存儲器壓縮的塊匯總所使用的位置(1006)。為了生成平均位置和圖12中的編號為1~16的各可能塊位置之間的最小距離矩陣,可以考慮從所關(guān)注的預(yù)測結(jié)果的平均位置起到達(dá)該塊位置所需橫跨的塊的數(shù)量。例如,通過該測量,如示出左方預(yù)測結(jié)果的距離矩陣的圖13a所述,相關(guān)的平均位置lp3和圖12中編號為7的塊位置之間的最小距離為4。這是由于為了達(dá)到該位置而需要橫跨編號為9、3、4和7的塊位置(4個塊)的必然結(jié)果。在該測量中,沒有考慮對角線情況來計算距離,但在需要的情況下可以使用這種情況。此外,在本算法中可以使用其它的距離測量。圖13a和13b分別示出通過對左方預(yù)測結(jié)果和上方預(yù)測結(jié)果進(jìn)行該測量所計算出的距離矩陣。此外,圖13c示出通過逐個單元格地對圖13a和13b的這兩個矩陣求和所形成的整體距離矩陣??梢杂^察到,對于作為右下方的塊位置的編號為16的塊位置(參考圖12),最大值為10。該塊位置是在使用上方預(yù)測結(jié)果和左方預(yù)測結(jié)果的情況下利用算法識別出的塊位置。在第一實施例中,解碼器也執(zhí)行相同的算法,并且解碼器選擇與編碼器相同的塊位置,并且避免存儲未選擇的塊位置的運(yùn)動矢量。因而,在解碼器處也實現(xiàn)了運(yùn)動矢量存儲器要求的類似降低。第二實施例在第一實施例中,沒有考慮在不同的位置tp1~tp6和lp1~lp5處選擇空間預(yù)測結(jié)果的似然性。然而,在amvp處理中,如已經(jīng)參考圖8所述,針對上方預(yù)測結(jié)果的搜索從最右位置開始并且向著最左位置移動。因而,預(yù)料到在圖12中,從右向左依次如下:與tp5處的預(yù)測結(jié)果相比,選擇位置tp6處的預(yù)測結(jié)果的頻率更高,等等。這同樣適用于搜索在下方位置開始并且向上移動至上方位置的左方預(yù)測結(jié)果??紤]到選擇的相對頻率,優(yōu)選可以將上方預(yù)測結(jié)果的平均位置向右調(diào)整并且將左方預(yù)測結(jié)果的平均位置向下調(diào)整。利用反映相對選擇頻率的權(quán)重,可以將各預(yù)測結(jié)果的平均位置計算作為可能位置的加權(quán)平均值。第三實施例在上述的第一實施例和第二實施例中,編碼器使用兩個空間預(yù)測結(jié)果(上方預(yù)測結(jié)果和左方預(yù)測結(jié)果)。在第三實施例中,編碼器僅使用空間預(yù)測結(jié)果集合中的一個空間預(yù)測結(jié)果。例如,在僅使用左方預(yù)測結(jié)果的情況下,使用圖13a所給出的左方預(yù)測結(jié)果的距離矩陣來求出最佳位置。在該情況下,所選擇的位置是編號為6的塊位置(右上方塊)。在僅使用上方預(yù)測結(jié)果的情況下,兩個塊位置具有最大值(編號為11的塊位置和編號為16的塊位置)。在該情況下,在如參考圖8所述使用amvp的情況下,理論上,與從左側(cè)起的預(yù)測結(jié)果相比,選擇從右側(cè)起的預(yù)測結(jié)果的頻率更高(如所述,在hevc推導(dǎo)處理中,從e~a中選擇預(yù)測結(jié)果)。因此,由于編號為11的塊是最遠(yuǎn)塊,因此該算法可以考慮使用該塊。第四實施例在上述的第一實施例、第二實施例和第三實施例中,假定要編碼的所有塊均可以具有兩個空間預(yù)測結(jié)果(上方預(yù)測結(jié)果和左方預(yù)測結(jié)果)。因此,為了塊匯總而無法在各塊之間進(jìn)行區(qū)別。在第四實施例中,為了塊匯總而對至少一個塊以與其它塊不同的方式進(jìn)行處理。例如,編碼器和解碼器可以得知圖像中的僅存在一個空間預(yù)測結(jié)果或者不存在空間預(yù)測結(jié)果的若干區(qū)域。特別地,編碼器和解碼器得知幀邊界(幀邊界針對所有幀均具有相同位置)。因此,算法可以考慮到該特定知識。例如,對于幀的左上方塊,不存在可用的預(yù)測結(jié)果。在該情況下,算法可以求出塊匯總所用的最佳塊位置是塊的中心。對于沿著上邊界的塊,僅左方預(yù)測結(jié)果可用,并且該算法所選擇的塊位置是編號為6的右上方塊位置(與第三實施例相同)。對于沿著左邊界的塊,僅若干個上方預(yù)測結(jié)果可用。算法可以求出位置是編號為11的塊、即左下方位置。實際上,圖12中的位置tp1決不可用于左邊界,因而這些位置的平均值是tp4(而非tp3和t4之間的邊界),結(jié)果算法求出編號為11的塊作為最遠(yuǎn)位置。在位流中的所有幀具有完全相同的分片(slicing)的情況下(即,在針對所有幀、各片具有完全相同的位置的情況下),本實施例可以擴(kuò)展至片邊界。第五實施例在前述實施例中,解碼器執(zhí)行與編碼器相同的處理以確定塊匯總所用的塊位置。在第五實施例中,僅編碼器使用算法,并且在位流(序列/圖片/片頭)中將塊匯總所使用的塊的位置發(fā)送至解碼器。第六實施例在前述實施例中,編碼器(和解碼器(除第五實施例以外))進(jìn)行圖11的算法以確定塊位置。在第六實施例中,編碼器和解碼器參考包含與空間預(yù)測結(jié)果的使用與否相對應(yīng)的塊位置的表。以下的表2中給出這種表的示例。該表是使用與圖11的算法相同的算法來預(yù)先確定的。該解決方案與始終應(yīng)用算法的情況相比復(fù)雜性變小。下表示出前面所述的示例所用的該特定表。這些位置參考圖12??捎玫目臻g預(yù)測結(jié)果n=4的匯總所用的塊位置x4(中心)左方6(右上方)上方11(左下方)左方和上方16(右下方)第七實施例本實施例進(jìn)一步擴(kuò)展了第六實施例的思想。無論amvp或合并模式所使用的空間塊如何,右下方的塊位置始終用于塊匯總。這樣減輕了處理負(fù)擔(dān)并且無需發(fā)信令至確定了塊位置的解碼器。第八實施例前述實施例假定向所有塊均勻地應(yīng)用塊匯總。然而,在hevc中,允許不同大小的塊。一個大小的塊的塊位置對于另一大小的塊可能不是最佳的。例如,求出了表2所示的塊位置以針對例如4×4塊的小塊良好地起作用,但在大塊的情況下,使用其它的塊位置可能會更好。在第八實施例中,在確定塊位置時可以考慮塊大小。這可以通過針對各不同的塊大小具有與圖13c的距離矩陣相似的距離矩陣來實現(xiàn)。第九實施例可以通過簡單地從第一塊大小的一個預(yù)定塊位置切換至第二塊大小的另一預(yù)定塊位置來簡化第八實施例。例如,在塊大小小、例如小于或等于16×16(個像素)的情況下,可以始終選擇右下方的塊位置,而在塊大小大、例如32×32(個像素)或以上的情況下,參見圖2的陰影塊位置,可以始終選擇中心塊位置。本實施例的模擬結(jié)果有優(yōu)勢。與引言部分jct-vcd164所述的現(xiàn)有提議相同,與在所有情形中均使用中心塊位置相比,獲得了比特率節(jié)省(編碼效率改善)。在需要的情況下,可以針對各塊大小提供包括適合可用預(yù)測結(jié)果的各排列的塊位置的表2所示的這種表。由于在大塊的情況下的右下方位置可能無法如中心塊那樣代表塊整體,因此認(rèn)為與右下方位置相比,中心塊位置對于較大的塊更好地起作用。對于小塊的情況不是這樣,其中在小塊的情況中,右下方位置由于所涉及的距離較小因而仍代表塊整體,并且還向空間預(yù)測結(jié)果引入了受控多樣性。第十實施例在第十實施例中,對于大塊使用jct-vcd164中所使用的塊位置,并且對于小塊使用右下方的塊位置。第十一實施例在前述實施例中,針對塊匯總所選擇的塊位置是同位置塊中的塊位置的其中一個。然而,并非必須將所選擇的塊位置局限于同位置塊中的一個塊位置。例如,代替同位置塊的右下方位置,可以使用來自相同參考幀內(nèi)的同位置塊附近的另一塊的右下方位置附近的塊位置。例如,塊位置可以是同位置塊的正右方的塊內(nèi)的左下方位置、或者同位置塊的正下方的塊內(nèi)的右上方位置、或者同位置塊的右側(cè)對角下方的塊內(nèi)的左上方位置。第十二實施例在引言部分所述的jct-vcd125中,使用來自同位置塊的一個時間預(yù)測結(jié)果(t)、以及來自同位置塊的外部的該同位置塊的左上角、左下角和右下角處的三個其它時間預(yù)測結(jié)果(e、h和i)這4個時間預(yù)測結(jié)果。代替使用t作為時間預(yù)測結(jié)果的其中一個,可以使用同位置塊中的右下方塊位置。這可能不會得到多樣性方面的良好折衷,但在該塊位置內(nèi)中心應(yīng)是最佳的。但就預(yù)測結(jié)果索引的編碼而言,由于右下方等于預(yù)測結(jié)果h的頻率可能更高(經(jīng)常除去一個預(yù)測結(jié)果),因此這具有優(yōu)勢。實際上,在jct-vcd125的貢獻(xiàn)中,使用過多的預(yù)測結(jié)果,因而d125提高了預(yù)測結(jié)果索引專用的比率。第十三實施例在前述實施例中,已經(jīng)為了降低運(yùn)動矢量存儲器要求的目的而選擇了塊位置。在第十三實施例中,為了改善編碼效率的目的而選擇塊位置。這由于以下原因而成為可能:如果選擇來自參考幀、例如來自同位置塊中的適當(dāng)塊位置的時間預(yù)測結(jié)果從而利用空間預(yù)測結(jié)果實現(xiàn)受控多樣性的情況下,則在對預(yù)測結(jié)果進(jìn)行率失真選擇的情況下時間預(yù)測結(jié)果往往成為空間預(yù)測結(jié)果的良好競爭者。在正如實踐情況那樣、時間預(yù)測結(jié)果與空間預(yù)測結(jié)果相比是較好的預(yù)測結(jié)果的情況下,改善該預(yù)測結(jié)果(在使該預(yù)測結(jié)果更接近要編碼的塊的所需運(yùn)動矢量、因而使殘差最小的意義上)對于編碼效率而言有益。原則上,為了改善編碼效率的目的,上述的第一實施例~第十二實施例全部可用于選擇塊位置。在第十三實施例中,仍可以存儲所有的運(yùn)動矢量,即并非必須采用運(yùn)動矢量存儲器縮減。然而,在多數(shù)情況下期望這種縮減。第十四實施例在存儲了所有塊位置處的運(yùn)動矢量的情況下,在選擇最佳塊位置時可以考慮空間預(yù)測結(jié)果的選擇的實際結(jié)果。例如,在圖12中,在僅上方預(yù)測結(jié)果可用并且選擇位置tp6的情況下,可以選擇編號為11的塊位置。另一方面,在僅上方預(yù)測結(jié)果可用并且選擇位置tp1的情況下,可以選擇編號為16的塊位置。再次根據(jù)所選擇的上方預(yù)測結(jié)果和左方預(yù)測結(jié)果的位置,在上方預(yù)測結(jié)果和左方預(yù)測結(jié)果的組合可用的情況下,其它的塊位置將是更好的。通常,針對空間預(yù)測結(jié)果選擇的各可能結(jié)果,可以確定最佳塊位置??梢詫⑦@些最佳塊位置存儲在具有針對各不同結(jié)果的條目的查找表中。上述實施例基于輸入圖像的塊分割,但更通常地,可以考慮要編碼或解碼的任何類型的圖像部分(特別是矩形部分或者更通常為幾何部分)。更通常地,本領(lǐng)域技術(shù)人員可以容易地想到的上述實施例的任何變形或改進(jìn)均應(yīng)被視為落在本發(fā)明的范圍內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1