確定視頻序列的圖像的編碼或解碼所用的參數(shù)的方法和裝置制造方法
【專利摘要】一種用于確定將視頻序列的圖像部分編碼成位流的編碼參數(shù)所用的方法和裝置,圖像部分通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償進(jìn)行編碼,對圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,編碼模式是從至少第一編碼模式和第二編碼模式選擇的,運(yùn)動信息預(yù)測結(jié)果是從針對至少第一編碼模式和第二編碼模式相同的運(yùn)動信息預(yù)測結(jié)果的集合所選擇的,編碼模式和運(yùn)動信息預(yù)測結(jié)果的選擇涉及對這兩個(gè)編碼模式中使用集合的運(yùn)動信息預(yù)測結(jié)果來編碼圖像部分的成本進(jìn)行比較,該方法包括以下步驟或該裝置包括以下的部件:針對集合的至少一個(gè)運(yùn)動信息預(yù)測結(jié)果,省略針對第一編碼模式和第二編碼模式至少之一的成本的計(jì)算。結(jié)果,可縮短編碼時(shí)間并降低復(fù)雜性,并且可改進(jìn)編碼性能。
【專利說明】確定視頻序列的圖像的編碼或解碼所用的參數(shù)的方法和裝
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于確定將視頻序列的圖像編碼成位流所用的參數(shù)的方法和裝置。本發(fā)明還涉及用于對數(shù)字圖像序列進(jìn)行編碼的方法和裝置。
[0002]本發(fā)明可以應(yīng)用于數(shù)字信號處理領(lǐng)域,尤其應(yīng)用于使用運(yùn)動補(bǔ)償來減少視頻流中的空間冗余和時(shí)間冗余的視頻壓縮領(lǐng)域。
【背景技術(shù)】
[0003]例如H.263、H.264、MPEG-U MPEG-2、MPEG-4、SVC等的許多視頻壓縮格式使用基于塊的離散余弦變換(DCT)和運(yùn)動補(bǔ)償來除去空間冗余和時(shí)間冗余。這些格式經(jīng)常被稱為預(yù)測視頻格式。視頻信號的各幀或各圖像被分割成編碼后的并且能夠獨(dú)立進(jìn)行解碼的片(slice)。片通常是幀的矩形部分、或者更通常為幀的一部分或整個(gè)幀。此外,各片可以被分割成宏塊(MB),并且各宏塊被進(jìn)一步分割成塊、通常為64 X 64、32 X 32、16 X 16或8 X 8個(gè)像素的塊。
[0004]在高效率視頻編碼(HEVC)中,使用64X64~4X4的塊。根據(jù)四叉樹結(jié)構(gòu),基于最大編碼單位(IXU)來對該分區(qū)進(jìn)行組織。IXU與64X64的正方形塊相對應(yīng)。如果需要對IXU進(jìn)行分割,則分割標(biāo)志表示將IXU分割成4個(gè)32 X 32的塊。同樣,如果需要對這4個(gè)塊中的任何塊進(jìn)行分割,則將分割標(biāo)志設(shè)置為真并且將32X32的塊分割成4個(gè)16X16的塊
坐寸ο
[0005]在將分割標(biāo)志設(shè)置為假的情況下,當(dāng)前塊是編碼單位⑶。⑶的大小等于64X64、32X32、16X 16 或 8X8 個(gè)像素。
[0006]各CU具有如后面將說明的跳過、合并、幀間或幀內(nèi)的編碼模式。對于合并或幀間編碼,可以將該編碼單位分割成兩個(gè)預(yù)測單位(PU)。因而,對于合并模式和幀間模式,可以利用一個(gè)2NX2N的PU或者利用具有如圖10所示的NX2N、2NXN、NXN、nLX2N、nRX2N、2NXnT和2ΝΧηΒ的這些分區(qū)的2個(gè)PU來預(yù)測編碼單位。對于跳過模式,僅使2ΝΧ 2Ν的分區(qū)有效。
[0007]針對圖像的編碼塊,存在被稱為幀內(nèi)(INTRA)預(yù)測的基于空間預(yù)測的編碼模式和基于時(shí)間預(yù)測的模式(幀間(INTER)、合并、跳過)這兩類編碼模式。在空間預(yù)測模式和時(shí)間預(yù)測模式這兩者中,通過從原始塊中減去預(yù)測值來計(jì)算殘差。
[0008]通常根據(jù)INTRA塊的因果邊界處的編碼像素、通過INTRA預(yù)測處理來預(yù)測該INTRA塊。在INTRA預(yù)測中,對預(yù)測方向進(jìn)行編碼。
[0009]時(shí)間預(yù)測在于:從參考幀(視頻序列的先前幀或?qū)韼?中發(fā)現(xiàn)最接近要編碼的塊的圖像部分或參考區(qū)域。該步驟通常已知為運(yùn)動估計(jì)。接著,在通常被稱為運(yùn)動補(bǔ)償?shù)牟襟E中使用參考區(qū)域來預(yù)測要編碼的塊,即連同與表示運(yùn)動補(bǔ)償要使用的參考區(qū)域的運(yùn)動矢量有關(guān)的運(yùn)動信息項(xiàng)一起,對要編碼的塊和參考部分之間的差進(jìn)行編碼。在時(shí)間預(yù)測中,對至少一個(gè)運(yùn)動矢量進(jìn)行編碼。[0010]為了進(jìn)一步降低對運(yùn)動信息進(jìn)行編碼的成本,代替直接對運(yùn)動矢量進(jìn)行編碼,在假定運(yùn)動均勻的情況下,可以按照運(yùn)動矢量和通常根據(jù)要編碼的塊周圍的塊的一個(gè)或多個(gè)運(yùn)動矢量所計(jì)算出的運(yùn)動矢量預(yù)測結(jié)果之間的差來對運(yùn)動矢量進(jìn)行編碼。
[0011]在H.264中,例如,針對根據(jù)位于要編碼的塊的因果鄰域的運(yùn)動矢量(例如根據(jù)位于要編碼的塊的上方和左方的三個(gè)塊)所計(jì)算出的中值預(yù)測結(jié)果,來對運(yùn)動矢量進(jìn)行編碼。僅將中值預(yù)測結(jié)果和當(dāng)前塊運(yùn)動矢量之間的差(還被稱為殘差運(yùn)動矢量)編碼成位流以降低編碼成本。
[0012]使用殘差運(yùn)動矢量的編碼節(jié)省了若干位率,但需要解碼器進(jìn)行運(yùn)動矢量預(yù)測結(jié)果的相同計(jì)算從而對要解碼的塊的運(yùn)動矢量的值進(jìn)行解碼。
[0013]近來,已提出了諸如使用多個(gè)潛在運(yùn)動矢量預(yù)測結(jié)果等的編碼效率的進(jìn)一步改進(jìn)。通常被稱為運(yùn)動矢量競爭(MVCOMP)的該方法在于:在幾個(gè)運(yùn)動矢量預(yù)測結(jié)果候選之間判斷哪個(gè)運(yùn)動矢量預(yù)測結(jié)果候選使編碼成本最小化。該成本一般是殘差運(yùn)動信息的率失真成本。這種處理中的殘差運(yùn)動信息包括殘差運(yùn)動矢量(即,要編碼的塊的實(shí)際運(yùn)動矢量和所選擇的運(yùn)動矢量預(yù)測結(jié)果之間的差),并且在必要時(shí)包括例如所選擇的運(yùn)動矢量預(yù)測結(jié)果的索引的編碼值等的表示所選擇的運(yùn)動矢量預(yù)測結(jié)果的信息項(xiàng)?;诠潭斜泶笮。跃哂幸辉畲蟠a的位流來對所選擇的運(yùn)動矢量預(yù)測結(jié)果的索引進(jìn)行編碼。在所有的運(yùn)動矢量候選均相等的情況下,獲得了進(jìn)一步改進(jìn)。在這種情況下,解碼器能夠推斷運(yùn)動矢量預(yù)測結(jié)果值,結(jié)果無需對索引進(jìn)行編碼。
[0014]在高效率視頻編碼(HEVC)中,已提出了用于使得能夠從包括空間運(yùn)動矢量和時(shí)間運(yùn)動矢量的預(yù)測結(jié)果的給定集合中選擇最佳預(yù)測結(jié)果的相同概念的新實(shí)現(xiàn)。該技術(shù)被稱為高級運(yùn)動矢量預(yù)測(AMVP),并且可以應(yīng)用于幀間模式、合并模式和跳過模式。該方法使得能夠從包括空間運(yùn)動矢量和 時(shí)間運(yùn)動矢量的給定集合中選擇最佳預(yù)測結(jié)果。對該集合中的最佳性能所用的空間預(yù)測結(jié)果和時(shí)間預(yù)測結(jié)果的數(shù)量進(jìn)行評估。例如,HEVC的一個(gè)已知實(shí)現(xiàn)包括2個(gè)空間預(yù)測結(jié)果和I個(gè)時(shí)間同位置預(yù)測結(jié)果。
[0015]在HEVC標(biāo)準(zhǔn)中,定義了如前面所述的幀間模式、合并模式和跳過模式這三個(gè)幀間編碼模式。這些模式之間的差異是所傳輸?shù)男畔⒌姆N類和所使用的分區(qū)大小。
[0016]在幀間模式中,對所有數(shù)據(jù)進(jìn)行編碼。對運(yùn)動矢量的參考幀索引進(jìn)行編碼,并且還對運(yùn)動矢量的預(yù)測結(jié)果索引進(jìn)行編碼。HEVC標(biāo)準(zhǔn)草案的當(dāng)前實(shí)現(xiàn)使用2個(gè)運(yùn)動矢量預(yù)測結(jié)果。因而,可以將預(yù)測結(jié)果索引編碼為具有I位。利用所選擇的預(yù)測結(jié)果來預(yù)測幀間塊的運(yùn)動矢量,并且對運(yùn)動矢量殘差(運(yùn)動和該運(yùn)動的預(yù)測結(jié)果之間的運(yùn)動矢量差)進(jìn)行編碼。對于運(yùn)動矢量殘差,單獨(dú)對垂直分量和水平分量進(jìn)行編碼。在需要的情況下,還對紋理殘差進(jìn)行編碼(變換和量化)。紋理殘差是原始當(dāng)前塊和參考幀索引中運(yùn)動矢量所指向的塊預(yù)測結(jié)果之間的差。
[0017]雙向幀間預(yù)測使用2個(gè)塊預(yù)測結(jié)果來進(jìn)行運(yùn)動補(bǔ)償,而對于單向預(yù)測,使用I個(gè)塊。雙向預(yù)測的最終塊預(yù)測結(jié)果是2個(gè)塊預(yù)測結(jié)果的平均值。這2個(gè)塊來自于被稱為LO和LI的參考幀的兩個(gè)列表(針對各“方向”為一個(gè)列表)。
[0018]在能夠?qū)ζM(jìn)行雙向預(yù)測的情況下,針對各幀間塊來明確地對方向預(yù)測的類型(雙向或單向)進(jìn)行編碼。對于單向預(yù)測,在能夠進(jìn)行雙向預(yù)測的情況下,還針對使用單向方向的各幀間塊來編碼單向方向所使用的列表(L0或LI)。在幀間塊是雙向塊的情況下,由于使用這兩個(gè)列表,因此無需對列表索引進(jìn)行編碼。然而,需要傳輸與各塊預(yù)測結(jié)果相對應(yīng)的兩個(gè)集合的運(yùn)動信息。因而,對于各列表LO和LI,對一個(gè)參考幀索引、以及一個(gè)運(yùn)動矢量預(yù)測結(jié)果和一個(gè)運(yùn)動矢量殘差進(jìn)行編碼。
[0019]在HEVC標(biāo)準(zhǔn)草案中,對于所有塊分區(qū)均可用幀間模式。因此,對于CU,以幀間模式對所有PU進(jìn)行編碼。
[0020]合并模式是幀間編碼的特定類型。在合并模式中,僅對預(yù)測結(jié)果索引及其相關(guān)紋理殘差(在需要的情況下)進(jìn)行編碼。與幀間模式相比,沒有對預(yù)測類型(單向或雙向)、單向預(yù)測的列表索引、參考幀索引和運(yùn)動矢量殘差進(jìn)行編碼。合并模式具有5個(gè)可能的預(yù)測結(jié)果。在HEVC標(biāo)準(zhǔn)草案中,利用最大值等于5的一元最大碼來對預(yù)測結(jié)果索引進(jìn)行編碼。與幀間模式的主要不 同之處是預(yù)測結(jié)果推導(dǎo)。合并預(yù)測結(jié)果不僅是運(yùn)動矢量值,而且是針對包括參考幀和列表索引的所有運(yùn)動矢量信息的預(yù)測結(jié)果。這些預(yù)測結(jié)果是根據(jù)現(xiàn)有的空間相鄰運(yùn)動矢量和時(shí)間運(yùn)動矢量所推導(dǎo)出的。此外,幀間預(yù)測的類型(雙向或單向)、列表索引和參考幀索引是根據(jù)空間相鄰塊所推導(dǎo)出的。
[0021]可以將合并模式應(yīng)用于所有塊分區(qū)。因而,對于合并編碼單位,可以以合并模式對所有PU進(jìn)行編碼。
[0022]跳過模式是合并模式編碼的特定類型。跳過模式使用與合并模式完全相同的運(yùn)動矢量預(yù)測結(jié)果的列表。關(guān)于合并模式,僅對5個(gè)潛在候選中的預(yù)測結(jié)果索引進(jìn)行編碼。該預(yù)測結(jié)果是所有運(yùn)動信息的預(yù)測結(jié)果。與合并模式的主要不同之處是沒有對紋理殘差進(jìn)行編碼。
[0023]跳過模式僅應(yīng)用于2NX2N的分區(qū)并且沒有如幀間和合并模式那樣應(yīng)用于所有塊大小。因而,對于跳過CU,與合并模式和幀間模式相比,無需對CU分區(qū)進(jìn)行編碼。
[0024]圖1示出HEVC編碼器中的用于針對運(yùn)動矢量預(yù)測結(jié)果選擇最佳預(yù)測模式和最佳候選的選擇處理。
[0025]在初始步驟101中,確定候選運(yùn)動矢量預(yù)測結(jié)果的列表。這些運(yùn)動矢量預(yù)測結(jié)果可以是空間預(yù)測結(jié)果或時(shí)間預(yù)測結(jié)果。這意味著這些運(yùn)動矢量預(yù)測結(jié)果與已編碼的編碼單位的運(yùn)動矢量相對應(yīng)。例如,使用位于當(dāng)前運(yùn)動矢量上方或位于左側(cè)的編碼單位的運(yùn)動矢量。
[0026]接著,在步驟102中,通過將候選索引i設(shè)置為i = O來初始化該選擇處理,以對列表中的第一候選進(jìn)行編索引。然后,在步驟103中,提取具有索引i的候選。在步驟105中,計(jì)算與第i候選相關(guān)聯(lián)的針對跳過模式的率失真成本。該率失真成本表示視頻序列和對該視頻序列進(jìn)行編碼時(shí)的位率之間的折中。通常,使用Lagrangian(拉格朗日)表達(dá)式來確定率失真成本J。
[0027]J = D(i) + AR(i) (I)
[0028]其中,D與針對編碼單位引入的失真相對應(yīng),R表示與該編碼單位相關(guān)聯(lián)的率,并且λ表示固定為給定值的Lagrangian參數(shù)。
[0029]因而,在步驟105期間,將跳過模式的率失真成本確定為如下。
[0030]JSkip (i) 二 DSkip (i) +λ RSkip (i) (2)
[0031]這意味著:在跳過模式的情況下,使用該預(yù)測結(jié)果來進(jìn)行運(yùn)動補(bǔ)償并且沒有使用附加數(shù)據(jù)。由于與跳過模式相關(guān)聯(lián)的率RSkip(i)全局對應(yīng)于預(yù)測結(jié)果索引編碼,因此該率較低。
[0032]在使用該預(yù)測結(jié)果進(jìn)行運(yùn)動補(bǔ)償之后,通過計(jì)算例如該編碼單位和原始圖像中的相應(yīng)塊之間的均方差來確定失真DSkip (i)。
[0033]同樣,在步驟106中,根據(jù)等效表達(dá)式,針對合并模式來評價(jià)利用i編索引的同一預(yù)測結(jié)果候選。
[0034]JMrg (i) =DMrg (i) + λ RMrg (i) (3)
[0035]在這種情況下,由于針對合并模式計(jì)算紋理殘差數(shù)據(jù),因此該計(jì)算耗費(fèi)大量時(shí)間。這意味著:在運(yùn)動補(bǔ)償之后,首先對預(yù)測到的編碼單位和與該編碼單位相對應(yīng)的原始數(shù)據(jù)之間的差進(jìn)行變換,然后進(jìn)行量化,并且最后進(jìn)行熵編碼。在HEVC的特殊情況中,針對合并模式來評價(jià)變換的四叉樹:這導(dǎo)致確定一個(gè)預(yù)測結(jié)果的合并模式的成本所用的時(shí)間大幅增加。
[0036]接著,在步驟107中,進(jìn)行比較,以求出步驟106中針對合并模式所確定出的率失真成本和步驟105中針對跳過模式所確定出的率失真成本之間的率失真成本的最小值。
[0037]在步驟108中,使與該預(yù)測結(jié)果候選的索引i有關(guān)的計(jì)數(shù)器遞增。
[0038]然后,在步驟109中進(jìn)行檢查,從而判斷是否處理了 N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選的列表中的所有預(yù)測結(jié)果候選。
[0039]如果判斷為尚未處理所有N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選,則該處理返回至步驟103以從運(yùn)動矢量候選的列表中提取下一運(yùn)動矢量預(yù)測結(jié)果候選來進(jìn)行處理。
[0040]否則,如果步驟109中判斷為處理了所有N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選,則該處理進(jìn)入步驟110,其中該步驟110與選擇算法的輸出相對應(yīng)。作為選擇處理的輸出,識別出最佳預(yù)測結(jié)果imin。該最佳預(yù)測結(jié)果與所有N個(gè)預(yù)測結(jié)果候選中的給出最小成本J的預(yù)測結(jié)果候選相對應(yīng)。該結(jié)果還提供了跳過模式和合并模式之間的、提供imin候選的最小成本的最佳模式BM。
[0041]在上述處理中,針對跳過模式和合并模式這兩者來評價(jià)列表中的各運(yùn)動矢量預(yù)測結(jié)果候選的率失真成本。由于對該列表的各候選進(jìn)行評價(jià),因此該評價(jià)的成本相當(dāng)高。由于在運(yùn)動矢量(MV)預(yù)測之后進(jìn)行用于基于變換四叉樹來確定最佳殘差編碼的步驟,因此這特別是在合并模式的情況下為真。
[0042]因而,與跳過模式相比,針對幀間模式或合并模式的運(yùn)動矢量推導(dǎo)對編碼和解碼復(fù)雜性產(chǎn)生極大影響。實(shí)際上,對于當(dāng)前HEVC運(yùn)動矢量推導(dǎo),需要推導(dǎo)各預(yù)測結(jié)果位置(上方、左方、時(shí)間、左下方、右上方)。這種推導(dǎo)處理暗示了在計(jì)算方面成本相當(dāng)高的存儲器訪問和微縮性。
[0043]此外,在編碼側(cè),測試各預(yù)測結(jié)果,并且將各預(yù)測結(jié)果與給定列表的其它預(yù)測結(jié)果進(jìn)行比較以求出最佳預(yù)測結(jié)果。這意味著:在選擇一個(gè)預(yù)測結(jié)果之后,計(jì)算與該預(yù)測值和原始信號之間的差相對應(yīng)的殘差數(shù)據(jù)。然后,對該紋理殘差數(shù)據(jù)進(jìn)行變換和量化。由于對幾個(gè)類型的變換進(jìn)行了測試,因此紋理殘差編碼的該步驟特別復(fù)雜。因而,復(fù)雜性依賴于要評價(jià)的候選的數(shù)量。
[0044]在該處理結(jié)束時(shí),通過使考慮到與該預(yù)測結(jié)果相對應(yīng)的率和該預(yù)測結(jié)果所產(chǎn)生的失真的成本函數(shù)最小化,來求出最佳預(yù)測結(jié)果。
[0045]已提出了用以降低編碼器側(cè)所測試的編碼可能性的許多算法。提前終止算法是這樣一種方式。主要思想是:測試塊的一個(gè)或多個(gè)可能性,并且一旦找到一個(gè)可能性的RD成本低于閾值,則停止尋找更好的編碼可能性。
[0046]圖2示出用于選擇與H.264視頻編碼器相對應(yīng)的編碼模式的提前終止算法。在
H.264規(guī)格中,對于幀間模式僅考慮一個(gè)運(yùn)動矢量預(yù)測結(jié)果,并且對于跳過模式也僅考慮一個(gè)運(yùn)動矢量預(yù)測結(jié)果。運(yùn)動矢量預(yù)測結(jié)果是基于相鄰塊的中值,但對于跳過模式和幀間模式并不完全相同。在針對H.264的提前終止規(guī)則的該簡單實(shí)施例中,認(rèn)為在編碼器側(cè)僅測試一個(gè)塊大小。因而在該示例中,編碼器針對一個(gè)塊或編碼單位選擇最佳編碼模式。可以注意,在H.264中,合并模式并不存在,并且僅是在HEVC標(biāo)準(zhǔn)化過程中最近才引入的。
[0047]首先,在步驟201中,編碼器推導(dǎo)跳過模式。在步驟202中,確定跳過模式的最佳RD成本。接著,在步驟203中,提前決定步驟將RD成本與預(yù)定的第一閾值threshold_l進(jìn)行比較。如果判斷為該RD成本低于該第一閾值,則選擇跳過模式作為當(dāng)前塊的編碼模式。在步驟209中,編碼器利用跳過模式對當(dāng)前塊進(jìn)行編碼并且進(jìn)入下一步驟。否則,如果判斷為所計(jì)算出的RD成本高于預(yù)定的第一閾值,則編碼器在步驟204中推導(dǎo)幀間模式并且在步驟205中計(jì)算其RD成本。在步驟206中,將所計(jì)算出的幀間RD成本與第二預(yù)定閾值threshold_2進(jìn)行比較。如果所計(jì)算出的幀間RD成本低于第二閾值,則在步驟209中編碼器選擇幀間模式作為用于對當(dāng)前塊進(jìn)行編碼的最佳模式。否則,編碼器在步驟207中推導(dǎo)幀內(nèi)模式預(yù)測并且在步驟208中計(jì)算最佳相關(guān)RD成本。在該步驟,對所有編碼可能性進(jìn)行了測試。在步驟209中,編碼器選擇這三個(gè)模式中給出最佳RD成本的模式來對塊進(jìn)行編碼。
[0048]上述方法的缺陷是該方法針對各編碼模式僅考慮一個(gè)候選,并且不適用于最近發(fā)展的編碼方法。
【發(fā)明內(nèi)容】
[0049]本發(fā)明是為了解決前述擔(dān)心中的一個(gè)或多個(gè)而作出的。
[0050]根據(jù)本發(fā)明的第一方面,提供一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的方法,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,其中,所述編碼模式是從至少第一編碼模式和第二編碼模式中所選擇的,以及所述運(yùn)動信息預(yù)測結(jié)果是從針對至少所述第一編碼模式和所述第二編碼模式相同的運(yùn)動信息預(yù)測結(jié)果的集合中所選擇的,所述編碼模式和所述運(yùn)動信息預(yù)測結(jié)果的選擇涉及對所述第一編碼模式和所述第二編碼模式這兩個(gè)編碼模式中使用所述集合的運(yùn)動信息預(yù)測結(jié)果來編碼所述圖像部分的成本進(jìn)行比較,所述方法包括以下步驟:針對所述集合的至少一個(gè)所述運(yùn)動信息預(yù)測結(jié)果,省略針對所述第一編碼模式和所述第二編碼模式中的至少一個(gè)編碼模式的成本的計(jì)算。
[0051]通過針對該集合的至少一個(gè)運(yùn)動信息預(yù)測結(jié)果省略針對編碼模式其中之一的成本的計(jì)算,可以降低編碼處理的復(fù)雜性并且可以改進(jìn)編碼性能。
[0052]在實(shí)施例中,所述方法還包括:檢測滿足與所述集合的一個(gè)或多個(gè)運(yùn)動信息預(yù)測結(jié)果有關(guān)或與已計(jì)算出的一個(gè)或多個(gè)成本有關(guān)的至少一個(gè)條件的時(shí)間;以及在檢測到滿足所述條件的情況下,針對所述集合的至少一個(gè)所述運(yùn)動信息預(yù)測結(jié)果,省略所述第一編碼模式的成本和/或所述第二編碼模式的成本的計(jì)算,否則,執(zhí)行所述第一編碼模式的成本和/或所述第二編碼模式的成本的計(jì)算。
[0053]在實(shí)施例中,所述條件或一個(gè)所述條件為:所述集合中的第一個(gè)運(yùn)動信息預(yù)測結(jié)
果是零矢量。
[0054]在實(shí)施例中,在檢測到滿足所述條件的情況下,針對除所述第一個(gè)運(yùn)動信息預(yù)測結(jié)果以外的所有運(yùn)動信息預(yù)測結(jié)果,省略所述第二編碼模式的成本的計(jì)算。
[0055]在實(shí)施例中,所述條件或一個(gè)所述條件為:針對所述集合的運(yùn)動信息預(yù)測結(jié)果其中之一,所述第二編碼模式的成本大于所述第一編碼模式的成本。在本實(shí)施例中,該條件可以依賴于所述第二編碼模式對殘差紋理數(shù)據(jù)的使用。
[0056]在實(shí)施例中,所述條件或一個(gè)所述條件為:針對所述集合的運(yùn)動信息預(yù)測結(jié)果其中之一,所述第二編碼模式的成本相對于所述第一編碼模式的成本超出了大于預(yù)定量的量。
[0057]在實(shí)施例中,在檢測到滿足所述條件的情況下,針對滿足所述條件的所述一個(gè)運(yùn)動信息預(yù)測結(jié)果之后的所有運(yùn)動信息預(yù)測結(jié)果,省略所述第二編碼模式的成本的計(jì)算。
[0058]在實(shí)施例中,所述方法還包括:從所述集合的第一個(gè)運(yùn)動信息預(yù)測結(jié)果起,針對所述集合的各運(yùn)動信息預(yù)測結(jié)果順次計(jì)算所述成本。
[0059]在特定實(shí)施例中,所述方法還包括:在不滿足所述條件的情況下、或者在存在多于一個(gè)的條件時(shí)不滿足 任何條件的情況下,針對運(yùn)動信息預(yù)測結(jié)果,計(jì)算所述第一編碼模式的成本和所述第二編碼模式的成本這兩者;以及在檢測到滿足所述條件或一個(gè)所述條件的情況下,針對運(yùn)動信息預(yù)測結(jié)果,計(jì)算所述第一編碼模式的成本而不計(jì)算所述第二編碼模式的成本。
[0060]在實(shí)施例中,各所述成本是率失真成本。
[0061]本發(fā)明的另一方面提供一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的方法,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,其中,所述編碼模式是從至少第一編碼模式和第二編碼模式中所選擇的,以及所述運(yùn)動信息預(yù)測結(jié)果是從運(yùn)動信息預(yù)測結(jié)果的集合中所選擇的,所述集合的各運(yùn)動信息預(yù)測結(jié)果被配置為用來在至少所述第一編碼模式和所述第二編碼模式中通過運(yùn)動補(bǔ)償對所述圖像部分進(jìn)行編碼,所述方法包括以下步驟:針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第一編碼模式對所述圖像部分進(jìn)行編碼的成本的第一成本參數(shù)值;針對確定了所述第一成本參數(shù)值的所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的一部分運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第二編碼模式對所述圖像部分進(jìn)行編碼的成本的第二成本參數(shù)值;以及選擇與所確定的所述第一成本參數(shù)值和所述第二成本參數(shù)值中的最小成本參數(shù)值相對應(yīng)的編碼模式和運(yùn)動信息預(yù)測結(jié)果。
[0062]通過減少針對編碼模式其中之一的成本的計(jì)算次數(shù),可以降低編碼處理的復(fù)雜性并且可以改進(jìn)編碼性能。
[0063]在實(shí)施例中,在所述集合中,運(yùn)動信息預(yù)測結(jié)果是按預(yù)定順序排列的。
[0064]在實(shí)施例中,針對所述集合的運(yùn)動信息預(yù)測結(jié)果來確定所述第一成本參數(shù)值,直到滿足第一預(yù)定條件為止。在特定實(shí)施例中,根據(jù)所述預(yù)定順序針對所述集合的運(yùn)動信息預(yù)測結(jié)果來確定所述第一成本參數(shù),直到滿足第一預(yù)定條件為止。[0065]在實(shí)施例中,針對根據(jù)所述預(yù)定順序得到的所述集合的運(yùn)動信息預(yù)測結(jié)果來確定所述第二成本參數(shù)值,直到滿足第二預(yù)定條件為止。
[0066]在實(shí)施例中,在針對所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的所述一部分運(yùn)動信息預(yù)測結(jié)果確定所述第二成本參數(shù)值之前,針對所述多個(gè)運(yùn)動信息預(yù)測結(jié)果來順次確定所述第一成本參數(shù)值。
[0067]在實(shí)施例中,針對所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的所述一部分運(yùn)動信息預(yù)測結(jié)果,以運(yùn)動信息預(yù)測結(jié)果為單位來并行地確定所述第一成本參數(shù)值和所述第二成本參數(shù)值。
[0068]在實(shí)施例中,所述第一預(yù)定條件為:針對整個(gè)所述集合的運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果確定了所述第一成本參數(shù)值。
[0069]在實(shí)施例中,所述第二預(yù)定條件為:
[0070](i)運(yùn)動信息預(yù)測結(jié)果具有預(yù)定索引并且是零矢量;或者
[0071](ii)針對運(yùn)動預(yù)測結(jié)果所確定的所述第一成本參數(shù)值表示比針對所述運(yùn)動預(yù)測結(jié)果所確定的各所述第二成本參數(shù)值低的成本。
[0072]在實(shí)施例中,所述預(yù)定索引表示所述運(yùn)動信息預(yù)測結(jié)果是所述集合的第一個(gè)運(yùn)動信息預(yù)測結(jié)果。 [0073]在實(shí)施例中,所述第一成本參數(shù)和所述第二成本參數(shù)各自表示率失真成本。
[0074]在實(shí)施例中,在所述第一編碼模式中,僅將運(yùn)動信息預(yù)測結(jié)果的索引編碼成所述位流。
[0075]在實(shí)施例中,在所述第二編碼模式中,將運(yùn)動信息預(yù)測結(jié)果的標(biāo)識符以及表示所述圖像部分和所述參考圖像部分之間的差的紋理殘差信息編碼成所述位流。
[0076]在實(shí)施例中,所述第一編碼模式是跳過型幀間編碼模式,并且所述第二編碼模式是合并型幀間編碼模式。
[0077]在實(shí)施例中,確定所述第二成本參數(shù)值,直到滿足了所述第二預(yù)定條件、或者所述運(yùn)動信息預(yù)測結(jié)果滿足了另一第二預(yù)定條件為止,其中,所述第二預(yù)定條件為所述運(yùn)動信息預(yù)測結(jié)果具有預(yù)定索引并且是零矢量,以及所述另一第二預(yù)定條件為:針對所述集合的所述運(yùn)動預(yù)測結(jié)果所確定的所述第一成本參數(shù)值表示比針對所述運(yùn)動預(yù)測結(jié)果的各所述第二成本參數(shù)值低的成本。
[0078]根據(jù)本發(fā)明的另一方面,提供一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的方法,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,其中,所述編碼模式是從至少第一編碼模式和第二編碼模式中所選擇的,以及所述運(yùn)動信息預(yù)測結(jié)果是從運(yùn)動信息預(yù)測結(jié)果的集合中所選擇的,各運(yùn)動信息預(yù)測結(jié)果被配置為用來在至少所述第一編碼模式和所述第二編碼模式中通過運(yùn)動補(bǔ)償對所述圖像部分進(jìn)行編碼,所述方法包括以下步驟:
[0079]針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第一編碼模式對所述圖像部分進(jìn)行編碼的成本的第一成本參數(shù)值,直到滿足第一預(yù)定條件為止;
[0080]針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第二編碼模式對所述圖像部分進(jìn)行編碼的成本的第二成本參數(shù)值,直到所述集合的所述運(yùn)動信息預(yù)測結(jié)果滿足第二預(yù)定條件為止;以及
[0081]選擇與所確定的所述第一成本參數(shù)值和所述第二成本參數(shù)值中的最小成本參數(shù)值相對應(yīng)的編碼模式和運(yùn)動信息預(yù)測結(jié)果。
[0082]結(jié)果,通過一旦運(yùn)動信息預(yù)測結(jié)果其中之一滿足了預(yù)定條件、則終止針對第二編碼模式的計(jì)算成本的判斷,可以縮短編碼時(shí)間并降低復(fù)雜性,由此改進(jìn)視頻編碼性能。
[0083]在特定實(shí)施例中,所述第二預(yù)定條件為:
[0084](i)所述運(yùn)動信息預(yù)測結(jié)果具有預(yù)定索引并且是零矢量;或者
[0085](ii)針對所述運(yùn)動信息預(yù)測結(jié)果所確定的所述第一成本參數(shù)值表示比針對所述集合的所述運(yùn)動信息預(yù)測結(jié)果所確定的各所述第二成本參數(shù)值低的成本。例如,所述第一預(yù)定條件可以是:針對整體所述集合的運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果確定了第一成本參數(shù)值。
[0086]可以并行或順次進(jìn)行用于確定所述第一成本參數(shù)值和所述第二成本參數(shù)值的步驟。在優(yōu)選實(shí)施例中,針對各候選來計(jì)算所述第一成本參數(shù)值和所述第二成本參數(shù)值。所述運(yùn)動信息預(yù)測結(jié)果可以是運(yùn)動矢量預(yù)測結(jié)果。
[0087]本發(fā)明的另一方面提供一種用于將圖像部分編碼成位流的方法,所述方法包括以下步驟:
[0088]根據(jù)前述實(shí)施例中任一實(shí)施例所述的方法來確定通過相對于參考圖像部分的運(yùn)動補(bǔ)償來對所述圖像部分進(jìn)行編碼所用的編碼參數(shù);以及
[0089]使用所確定的編碼參數(shù)來對所述圖像部分進(jìn)行編碼。
[0090]本發(fā)明的又一方面提供一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的裝置,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,所述裝置包括:選擇部件,用于從至少第一編碼模式和第二編碼模式中選擇編碼模式,并且從針對至少所述第一編碼模式和所述第二編碼模式相同的運(yùn)動信息預(yù)測結(jié)果的集合中選擇運(yùn)動信息預(yù)測結(jié)果,其中所述選擇是基于所述第一編碼模式和所述第二編碼模式這兩個(gè)編碼模式中使用所述集合的運(yùn)動信息預(yù)測結(jié)果來編碼所述圖像部分的成本;以及處理部件,用于計(jì)算所述第一編碼模式和所述第二編碼模式這兩個(gè)編碼模式中使用所述集合的運(yùn)動信息預(yù)測結(jié)果來編碼所述圖像部分的所述成本,并且被配置為針對所述集合的至少一個(gè)所述運(yùn)動信息預(yù)測結(jié)果,省略針對所述第一編碼模式和所述第二編碼模式中的至少一個(gè)編碼模式的成本的計(jì)算。
[0091]本發(fā)明的另一方面提供一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的裝置,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,所述裝置包括:選擇部件,用于從至少第一編碼模式和第二編碼模式中選擇編碼模式并且從運(yùn)動信息預(yù)測結(jié)果的集合中選擇運(yùn)動信息預(yù)測結(jié)果,所述集合的各運(yùn)動信息預(yù)測結(jié)果被配置為用來在至少所述第一編碼模式和所述第二編碼模式中通過運(yùn)動補(bǔ)償對所述圖像部分進(jìn)行編碼,所述裝置還包括處理部件,所述處理部件用于進(jìn)行以下操作:針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第一編碼模式對所述圖像部分進(jìn)行編碼的成本的第一成本參數(shù)值;以及針對確定了所述第一成本參數(shù)值的所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的一部分運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第二編碼模式對所述圖像部分進(jìn)行編碼的成本的第二成本參數(shù)值,其中,所述選擇部件被配置為選擇與所確定的所述第一成本參數(shù)值和所述第二成本參數(shù)值中的最小成本參數(shù)值相對應(yīng)的編碼模式和運(yùn)動信息預(yù)測結(jié)果。
[0092]本發(fā)明的又一方面提供一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的裝置,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,其中,所述編碼模式是從至少第一編碼模式和第二編碼模式中所選擇的,以及所述運(yùn)動信息預(yù)測結(jié)果是從被配置為在至少所述第一編碼模式和所述第二編碼模式中通過運(yùn)動補(bǔ)償來對所述圖像部分進(jìn)行編碼的運(yùn)動信息預(yù)測結(jié)果的集合中所選擇的,所述裝置包括:處理部件,用于針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果來確定表示使用所述第一編碼模式對所述圖像部分進(jìn)行編碼的成本的第一成本參數(shù)值,直到滿足第一預(yù)定條件為止;以及針對所述集合的多個(gè)運(yùn)動信息預(yù) 測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果來確定表示使用所述第二編碼模式對所述圖像部分進(jìn)行編碼的成本的第二成本參數(shù)值,直到所述集合的所述運(yùn)動信息預(yù)測結(jié)果滿足第二預(yù)定條件為止;以及選擇部件,用于選擇與所確定的所述第一成本參數(shù)值和所述第二成本參數(shù)值中的最小成本參數(shù)值相對應(yīng)的編碼模式和運(yùn)動信息預(yù)測結(jié)果。
[0093]在特定實(shí)施例中,所述第二預(yù)定條件是:所述運(yùn)動信息預(yù)測結(jié)果具有預(yù)定索引并且是零矢量;或者針對所述運(yùn)動預(yù)測結(jié)果所確定的所述第二成本參數(shù)值表示比針對所述集合的所述運(yùn)動預(yù)測結(jié)果所確定的各所述第一成本參數(shù)值大的成本;所述第一預(yù)定條件可以是:針對整個(gè)所述集合的運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果確定了所有成本參數(shù)值。
[0094]本發(fā)明的另一方面提供一種用于將圖像部分編碼成位流的編碼器,所述方法包括:根據(jù)前述實(shí)施例的裝置,用于確定通過相對于參考圖像部分的運(yùn)動補(bǔ)償來對所述圖像部分進(jìn)行編碼所用的編碼參數(shù);以及編碼部件,用于使用所確定的編碼參數(shù)來對所述圖像部分進(jìn)行編碼。
[0095]根據(jù)本發(fā)明的方法的至少一部分可以通過計(jì)算機(jī)來實(shí)現(xiàn)。因此,本發(fā)明可以采用完全硬件實(shí)施例、(包括固件、常駐軟件、微代碼等的)完全軟件實(shí)施例、或者組合這里通??梢匀糠Q為“電路”、“模塊”或“系統(tǒng)”的軟件和硬件方面的實(shí)施例的形式。此外,本發(fā)明可以采用以介質(zhì)中嵌入有計(jì)算機(jī)可用程序代碼的表現(xiàn)的任何有形介質(zhì)中所體現(xiàn)的計(jì)算機(jī)程序產(chǎn)品的形式。
[0096]由于本發(fā)明可以以軟件來實(shí)現(xiàn),因此本發(fā)明可以體現(xiàn)為計(jì)算機(jī)可讀代碼以提供至可編程設(shè)備的任何適當(dāng)載體介質(zhì)上。有形載體介質(zhì)可以包括諸如軟盤、⑶-ROM、硬盤驅(qū)動器、磁帶裝置或固態(tài)存儲器裝置等的存儲介質(zhì)。瞬態(tài)載體介質(zhì)可以包括諸如電信號、光學(xué)信號、聲學(xué)信號、磁信號或者例如微波或RF信號的電磁信號等的信號。
【專利附圖】
【附圖說明】
[0097]現(xiàn)在將僅通過示例的方式并且參考以下附圖來說明本發(fā)明的各實(shí)施例,其中:[0098]圖1是示出現(xiàn)有技術(shù)的用于選擇編碼參數(shù)的選擇處理的步驟的流程圖;
[0099]圖2是示出現(xiàn)有技術(shù)的用于選擇編碼模式的處理的步驟的流程圖;
[0100]圖3是示出可以實(shí)現(xiàn)本發(fā)明的實(shí)施例的處理裝置的組件的框圖;
[0101]圖4是示出根據(jù)本發(fā)明的實(shí)施例的編碼方法的步驟的流程圖;
[0102]圖5是示出解碼方法的步驟的流程圖;
[0103]圖6是示出根據(jù)本發(fā)明第一實(shí)施例的用于選擇編碼參數(shù)的方法的步驟的流程圖;
[0104]圖7是示出根據(jù)本發(fā)明第二實(shí)施例的用于選擇編碼參數(shù)的方法的步驟的流程圖;
[0105]圖8是示出根據(jù)本發(fā)明第三實(shí)施例的用于選擇編碼參數(shù)的方法的步驟的流程圖;
[0106]圖9是示出根據(jù)本發(fā)明第四實(shí)施例的用于選擇編碼參數(shù)的方法的步驟的流程圖;以及
[0107]圖10示出本發(fā)明的實(shí)施例的上下文中可以使用的塊分區(qū)的示例。
【具體實(shí)施方式】
[0108]圖3示意性示出被配置為實(shí)現(xiàn)本發(fā)明的至少一個(gè)實(shí)施例的處理裝置300。處理裝置300可以是諸如微計(jì)算機(jī)、工作站或輕薄便攜式裝置等的裝置。裝置300包括通信總線313,其中該通信總線 313連接有以下組件:
[0109]-諸如微處理器等的表示為CPU的中央處理單元311;
[0110]-表示為ROM的只讀存儲器307,用于存儲實(shí)現(xiàn)本發(fā)明所用的計(jì)算機(jī)程序;
[0111]-表示為RAM的隨機(jī)存取存儲器312,用于存儲本發(fā)明的實(shí)施例的方法的可執(zhí)行代碼以及如下寄存器,其中這些寄存器被配置為記錄實(shí)現(xiàn)根據(jù)本發(fā)明的實(shí)施例的對數(shù)字圖像序列進(jìn)行編碼的方法和/或?qū)ξ涣鬟M(jìn)行解碼的方法所需的變量和參數(shù);以及
[0112]-通信接口302,其連接至發(fā)送或接收要處理的數(shù)字?jǐn)?shù)據(jù)所經(jīng)由的通信網(wǎng)絡(luò)303。
[0113]可選地,裝置300還可以包括以下組件:
[0114]-諸如硬盤等的數(shù)據(jù)存儲部件304,用于存儲實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)實(shí)施例的方法的計(jì)算機(jī)程序以及在本發(fā)明的一個(gè)或多個(gè)實(shí)施例的實(shí)現(xiàn)期間所使用或所產(chǎn)生的數(shù)據(jù);
[0115]-盤306所用的盤驅(qū)動器305,其中該盤驅(qū)動器被配置為從盤306讀取數(shù)據(jù)或者將數(shù)據(jù)寫到所述盤上;
[0116]-屏幕309,用于利用鍵盤310或任何其它指示部件來顯示數(shù)據(jù)以及/或者用作與用戶的圖形界面。
[0117]裝置300可以連接至例如數(shù)字照相機(jī)320或麥克風(fēng)308等的各種外圍設(shè)備,其中這些外圍設(shè)備各自連接至輸入/輸出卡(未示出)從而向裝置300供給多媒體數(shù)據(jù)。
[0118]通信總線提供裝置300內(nèi)所包括的或連接至裝置300的各種元件之間的通信和互操作性。該總線的代表并非限制性的,并且特別地,中央處理單元可用于將指示直接地或者利用裝置300的其它元件通信至裝置300的任意元件。
[0119]盤306可以由例如(可重寫或不可重寫的)致密盤(⑶-ROM)、ZIP盤或存儲卡等的任何信息介質(zhì)以及概括而言由信息存儲部件來替換,其中該信息存儲部件可以由集成于該裝置內(nèi)或沒有集成于該裝置內(nèi)的可移除的微計(jì)算機(jī)或微處理器來讀取,并且被配置為存儲如下的一個(gè)或多個(gè)程序,其中執(zhí)行該一個(gè)或多個(gè)程序使得能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的對數(shù)字圖像序列進(jìn)行編碼的方法和/或?qū)ξ涣鬟M(jìn)行解碼的方法。
[0120]可執(zhí)行代碼可以存儲在只讀存儲器307中、硬盤304上或者例如前面所述的盤306等的可移除數(shù)字介質(zhì)上。根據(jù)變形例,程序的可執(zhí)行代碼可以利用通信網(wǎng)絡(luò)303經(jīng)由接口302來接收,從而在執(zhí)行之前存儲在諸如硬盤304等的裝置300的存儲部件的其中一個(gè)內(nèi)。
[0121]中央處理單元311被配置為控制和指導(dǎo)根據(jù)本發(fā)明的程序的指令或軟件代碼的一部分的執(zhí)行,其中這些指令存儲在上述存儲部件的其中一個(gè)內(nèi)。在通電時(shí),將存儲在非易失性存儲器中(例如硬盤304上或只讀存儲器307中)的程序傳遞至隨機(jī)存取存儲器312,然后該隨機(jī)存取存儲器312容納程序的可執(zhí)行代碼以及用于存儲實(shí)現(xiàn)本發(fā)明所需的變量和參數(shù)的寄存器。
[0122]在本實(shí)施例中,該設(shè)備是使用軟件來實(shí)現(xiàn)本發(fā)明的可編程設(shè)備。然而,可選地,本發(fā)明可以以硬件形式(例如,以專用集成電路或ASIC的形式)來實(shí)現(xiàn)。
[0123]圖4示出根據(jù)本發(fā)明的至少一個(gè)實(shí)施例的編碼器的框圖。該編碼器由所連接的模塊來表示,其中各模塊被配置為例如以裝置300的CPU311要執(zhí)行的編程指令的形式來執(zhí)行用于實(shí)現(xiàn)根據(jù)本發(fā)明的一個(gè)或多個(gè)實(shí)施例的對圖像序列中的圖像進(jìn)行編碼的至少一個(gè)實(shí)施例的方法的至少一個(gè)相應(yīng)步驟。
[0124]編碼器40接收原始的數(shù)字圖像序列i0~in401作為輸入。各數(shù)字圖像由已知為像素的一組樣本來表不。
[0125]編碼器40在執(zhí)行了編碼處理之后輸出位流410。
[0126]位流410包括多個(gè) 編碼單位或片,其中各片包括:片頭,用于傳輸對片進(jìn)行編碼所使用的編碼參數(shù)的編碼值;以及片本體,其包括編碼視頻數(shù)據(jù)。
[0127]模塊402將所輸入的數(shù)字圖像iO~in401分割成像素的塊。這些塊與圖像部分相對應(yīng),并且可以具有可變大小(例如,4\4、8父8、16\16、32父32個(gè)像素)。針對各輸入塊來選擇編碼模式。設(shè)置有基于空間預(yù)測編碼的編碼模式(幀內(nèi)預(yù)測)和基于時(shí)間預(yù)測的編碼模式(幀間編碼、合并、跳過)這兩類編碼模式。對可能的編碼模式進(jìn)行測試。
[0128]模塊403實(shí)現(xiàn)幀內(nèi)預(yù)測,其中在幀內(nèi)預(yù)測中,利用根據(jù)要編碼的給定塊附近的像素計(jì)算出的預(yù)測結(jié)果來預(yù)測該要編碼的塊。在選擇幀內(nèi)編碼的情況下,對所選擇的幀內(nèi)預(yù)測結(jié)果和給定塊與其預(yù)測結(jié)果之間的差的標(biāo)示進(jìn)行編碼,以提供殘差。
[0129]時(shí)間預(yù)測由運(yùn)動估計(jì)模塊404和運(yùn)動補(bǔ)償模塊405來實(shí)現(xiàn)。首先,選擇一組參考圖像416中的參考圖像,并且利用運(yùn)動估計(jì)模塊404來選擇該參考圖像中作為與要編碼的給定塊最接近的區(qū)域的部分(還被稱為參考區(qū)域或圖像部分)。然后,運(yùn)動補(bǔ)償模塊405使用所選擇的區(qū)域來預(yù)測要編碼的塊。利用運(yùn)動補(bǔ)償模塊405來計(jì)算所選擇的參考區(qū)域和給定塊(還稱為殘差塊)之間的差。所選擇的參考區(qū)域由運(yùn)動矢量來表示。
[0130]因而,在這兩種情況(空間和時(shí)間預(yù)測)中,通過從原始塊中減去預(yù)測值來計(jì)算殘差。
[0131]在利用塊403實(shí)現(xiàn)的幀內(nèi)預(yù)測中,對預(yù)測方向進(jìn)行編碼。在時(shí)間預(yù)測中,對至少一個(gè)運(yùn)動矢量進(jìn)行編碼。
[0132]在選擇了幀間預(yù)測的情況下,對與運(yùn)動矢量和殘差塊有關(guān)的信息進(jìn)行編碼。為了進(jìn)一步降低位率,在運(yùn)動均勻的情況下,利用相對于運(yùn)動矢量預(yù)測結(jié)果的差來對運(yùn)動矢量進(jìn)行編碼。利用運(yùn)動矢量預(yù)測和編碼模塊417來從運(yùn)動矢量字段418獲得運(yùn)動信息預(yù)測結(jié)果的集合中的運(yùn)動矢量預(yù)測結(jié)果。
[0133]編碼器40還包括用于通過應(yīng)用諸如率失真標(biāo)準(zhǔn)等的編碼成本標(biāo)準(zhǔn)來選擇編碼模式的選擇模塊406。以下將參考圖6~8中的任一個(gè)來更詳細(xì)地說明編碼模式和運(yùn)動矢量預(yù)測的選擇。
[0134]為了進(jìn)一步減少冗余,變換模塊407向殘差塊應(yīng)用變換,然后所獲得的變換數(shù)據(jù)由量化模塊408進(jìn)行量化并且由熵編碼模塊409進(jìn)行熵編碼。最后,將編碼中的當(dāng)前塊的編碼殘差塊連同諸如所選擇運(yùn)動矢量預(yù)測結(jié)果的索引等的與所使用的預(yù)測結(jié)果有關(guān)的信息一起插入位流410。對于以“跳過”模式編碼后的塊,僅將針對該預(yù)測結(jié)果的索引編碼成位流,而無任何殘差塊。
[0135]編碼器40還進(jìn)行編碼圖像的解碼,從而產(chǎn)生后續(xù)圖像的運(yùn)動估計(jì)所用的參考圖像。這使得編碼器和解碼器能夠接收位流以具有相同的參考幀。逆量化模塊411對量化數(shù)據(jù)進(jìn)行逆量化,之后由逆變換模塊412進(jìn)行逆變換。逆幀內(nèi)預(yù)測模塊413使用預(yù)測信息來判斷哪個(gè)預(yù)測結(jié)果用于給定塊,并且逆運(yùn)動補(bǔ)償模塊414實(shí)際將模塊412所獲得的殘差添加至從一組參考圖像416所獲得的參考區(qū)域。可選地,應(yīng)用去塊濾波器415以除去塊效應(yīng)并且提高解碼圖像的視覺質(zhì)量。在解碼器處應(yīng)用相同的去塊濾波器,以使得在不存在傳輸損失的情況下,編碼器和解碼器應(yīng)用相同的處理。
[0136]圖5示出根據(jù)本發(fā)明的至少一個(gè)實(shí)施例的可以用于接收來自編碼器的數(shù)據(jù)的解碼器50的框圖。該解碼器由所連接的模塊來表示,其中各模塊被配置為例如以裝置300的CPU311要執(zhí)行的編程指令的形式來執(zhí)行解碼方法的相應(yīng)步驟。
[0137]解碼器50接收包 括編碼單位的位流501,其中每一個(gè)編碼單位包括包含與編碼參數(shù)有關(guān)的信息的頭以及包含編碼視頻數(shù)據(jù)的本體。如參考圖4所述,對編碼視頻數(shù)據(jù)進(jìn)行熵編碼,并且按預(yù)定的位數(shù)針對給定塊來編碼運(yùn)動矢量預(yù)測結(jié)果的索引。所接收到的編碼視頻數(shù)據(jù)由模塊502進(jìn)行熵解碼。然后殘差數(shù)據(jù)由模塊503去量化,然后由模塊504應(yīng)用逆變換以獲得像素值。
[0138]還對表示編碼模式的模式數(shù)據(jù)進(jìn)行熵解碼,并且基于該模式,對編碼后的圖像數(shù)據(jù)的塊進(jìn)行幀內(nèi)型解碼或幀間型解碼。
[0139]在幀內(nèi)模式的情況下,逆幀內(nèi)預(yù)測模塊505基于位流中所指定的幀內(nèi)預(yù)測模式來確定幀內(nèi)預(yù)測結(jié)果。
[0140]在模式是幀間模式的情況下,從位流提取運(yùn)動預(yù)測信息以尋找編碼器所使用的參考區(qū)域。該運(yùn)動預(yù)測信息包括參考幀索引和運(yùn)動矢量殘差。利用運(yùn)動矢量解碼模塊510將運(yùn)動矢量預(yù)測結(jié)果與運(yùn)動矢量殘差相加以獲得運(yùn)動矢量。
[0141]運(yùn)動矢量解碼模塊510對通過運(yùn)動預(yù)測編碼后的各當(dāng)前塊應(yīng)用運(yùn)動矢量解碼。一旦獲得了針對當(dāng)前塊的運(yùn)動矢量預(yù)測結(jié)果的索引,則可以對與當(dāng)前塊相關(guān)聯(lián)的運(yùn)動矢量的實(shí)際值進(jìn)行解碼并且模塊506使用該實(shí)際值來應(yīng)用逆運(yùn)動補(bǔ)償。從參考圖像508提取由解碼后的運(yùn)動矢量所表示的參考圖像部分以應(yīng)用逆運(yùn)動補(bǔ)償506。利用解碼后的運(yùn)動矢量來更新運(yùn)動矢量字段數(shù)據(jù)511從而用于下一解碼后的運(yùn)動矢量的逆預(yù)測。
[0142]最終,獲得了解碼塊。與在編碼器處應(yīng)用的去塊濾波器415類似,應(yīng)用去塊濾波器507。最終,解碼器50提供了解碼后的視頻信號509。
[0143]圖6是示出根據(jù)本發(fā)明第一實(shí)施例的用于選擇視頻序列的圖像的塊所用的編碼參數(shù)的方法的步驟的流程圖。在本實(shí)施例中,從合并編碼模式和跳過編碼模式中選擇編碼模式;并且根據(jù)所確定的率失真成本,從候選運(yùn)動矢量預(yù)測結(jié)果的列表中選擇運(yùn)動矢量預(yù)測結(jié)果。通常,根據(jù)第一實(shí)施例,在運(yùn)動預(yù)測結(jié)果矢量候選的列表中的第一個(gè)運(yùn)動預(yù)測結(jié)果矢量候選等于零矢量(O,O)的情況下,在合并模式中僅針對該第一個(gè)運(yùn)動預(yù)測結(jié)果矢量候選計(jì)算率失真成本。如果滿足該條件,則在合并模式中針對列表中的剩余運(yùn)動預(yù)測結(jié)果候選沒有計(jì)算進(jìn)一步的率失真成本。如果不滿足該條件,則在合并模式中計(jì)算列表中的剩余運(yùn)動預(yù)測結(jié)果候選的率失真成本,以選擇編碼參數(shù)。
[0144]通過本發(fā)明人所進(jìn)行的統(tǒng)計(jì)分析,已經(jīng)表明運(yùn)動矢量預(yù)測結(jié)果候選的列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果非常重要并且表示使用圖1的選擇處理時(shí)約60%的選擇。此外,在第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選等于零矢量(0,0)的情況下,這表示無運(yùn)動的圖像的區(qū)域。結(jié)果,考慮該集合的其它運(yùn)動矢量預(yù)測結(jié)果候選不太可能是高效的。
[0145]現(xiàn)在將參考圖6來說明用于避免針對編碼的合并模式的率失真成本的不必要計(jì)算的這種終止規(guī)則的應(yīng)用示例。
[0146]在步驟600中,通過將提前終止標(biāo)志(ETF)變量設(shè)置為FALSE (假)來初始化用于選擇編碼參數(shù)的處理。在步驟601中提供N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選的列表,并且在步驟602中考慮列表中的索引為O (i = O)的第一候選。
[0147]在下一步驟603中,進(jìn)行檢查以評價(jià)列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選是否等于表示所有分量均等于O的零矢量。如果判斷為列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選等于零,則在步驟604中將變量ETF設(shè)置為TRUE (真)。這意味著滿足了使針對合并模式的率失真成本的計(jì)算提前終止的條件。
[0148]否則,如果 在步驟603中判斷為列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選不等于零矢量,則該處理直接進(jìn)入步驟605,其中在該步驟605中,從候選的列表中提取索引i的運(yùn)動矢量預(yù)測結(jié)果候選(606)。在下一步驟607中,計(jì)算跳過模式中的運(yùn)動矢量預(yù)測結(jié)果候選i的率失真成本。
[0149]可以使用Lagrangian表達(dá)式來確定用于對當(dāng)前塊進(jìn)行編碼的跳過模式中的運(yùn)動矢量預(yù)測結(jié)果候選i的率失真成本JSkipi。
[0150]JSkip ⑴=DSkip ⑴ + λ RSkip ⑴
[0151]其中,D與針對編碼單位所引入的失真相對應(yīng),R表示與該編碼單位相關(guān)聯(lián)的率,并且λ表示固定為給定值的Lagrangian參數(shù)。
[0152]在步驟609中,進(jìn)行檢查,以驗(yàn)證所評估的運(yùn)動矢量預(yù)測結(jié)果候選是否是列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選、并且ETF變量是否被設(shè)置為真,從而判斷是否需要在合并模式中針對運(yùn)動矢量預(yù)測結(jié)果候選i計(jì)算率失真成本。
[0153](i>0)并且(ETF ==真)
[0154]如果在步驟609中判斷為ETF被設(shè)置為真、但候選不是列表的第一候選,則針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選沒有進(jìn)行合并模式的率失真成本計(jì)算。
[0155]在另一示例中,在步驟609中,可以檢查運(yùn)動矢量預(yù)測結(jié)果候選的索引是否大于預(yù)定索引i(i>I),其中I與能夠控制編碼時(shí)間的預(yù)定義值相對應(yīng)。
[0156]否則,如果在步驟609中判斷為要針對候選i計(jì)算率失真成本,則在步驟611中,根據(jù)與跳過模式所用的表達(dá)式等效的表達(dá)式,針對列表中利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選來計(jì)算合并模式的率失真成本。
[0157]JMrg (i) =DMrg (i) + λ RMrg (i)
[0158]然后,在步驟613中,針對該特定運(yùn)動矢量預(yù)測結(jié)果候選i,將針對合并模式所計(jì)算出的率失真成本和針對跳過模式所計(jì)算出的率失真成本進(jìn)行比較。
[0159]接著,在步驟614中,使與運(yùn)動矢量預(yù)測結(jié)果候選的索引i有關(guān)的計(jì)數(shù)器遞增。在步驟615中,進(jìn)行檢查以判斷是否處理了 η個(gè)運(yùn)動矢量預(yù)測結(jié)果候選的整個(gè)列表。如果判斷為尚未處理運(yùn)動矢量預(yù)測結(jié)果候選的整個(gè)列表、即i〈N-l,則通過返回至該處理的步驟605來處理運(yùn)動矢量預(yù)測結(jié)果列表中的下一候選,否則在步驟616中完成用于選擇MV預(yù)測結(jié)果和編碼的選擇處理。
[0160]在步驟616中,識別出跳過模式和合并模式中的最佳模式以及最佳預(yù)測結(jié)果。最佳模式和最佳候選運(yùn)動矢量預(yù)測結(jié)果與針對跳過模式和/或合并模式計(jì)算了率失真成本的所有候選中的給出最小率失真成本的運(yùn)動矢量預(yù)測結(jié)果候選相對應(yīng)。
[0161]與圖1中的針對HEVC編碼器的現(xiàn)有技術(shù)的選擇處理相比,針對合并模式的率失真成本運(yùn)算次數(shù)大幅減少。
[0162]在編碼HEVC測試模型中所進(jìn)行的數(shù)值實(shí)驗(yàn)表明:在沒有對編碼效率產(chǎn)生影響的情況下,編碼時(shí)間縮短了約5%。
[0163]圖7是示出根據(jù)本發(fā)明第二實(shí)施例的用于選擇視頻序列圖像的塊所用的編碼參數(shù)的方法的步驟的流程圖。在本實(shí)施例中,從合并編碼模式和跳過編碼模式中選擇編碼模式;并且根據(jù)所確定的率失真成本,從N個(gè)候選運(yùn)動矢量預(yù)測結(jié)果的列表中選擇運(yùn)動矢量預(yù)測結(jié)果。通常,根據(jù)第二實(shí)施例,針對運(yùn)動矢量預(yù)測結(jié)果候選在合并模式中計(jì)算率失真成本,直到列表的運(yùn)動矢量預(yù)測結(jié)果候選其中之一滿足了預(yù)定標(biāo)準(zhǔn)為止。在該特定實(shí)施例中,針對運(yùn)動矢量預(yù)測結(jié)果候選在合并模式中計(jì)算率失真成本,直到得出(給定候選的針對合并模式的率失真成本+ △所表示的給定值)高于該給定候選的針對跳過模式的相應(yīng)RD成本為止,其中Λ可以表示JMrgi或JSkipi的特定百分比。在另一示例中,Λ可以等于O。如果運(yùn)動矢量預(yù)測結(jié)果候選滿足了該條件,則在合并模式中沒有針對列表中的剩余運(yùn)動預(yù)測結(jié)果候選計(jì)算進(jìn)一步的率失真成本。如果不滿足該條件,則在合并模式中計(jì)算列表中的剩余運(yùn)動矢量預(yù)測結(jié)果候選的率失真成本以選擇編碼參數(shù),直到滿足了該條件為止、或者直到評價(jià)了列表的所有運(yùn)動預(yù)測結(jié)果候選為止。
[0164]關(guān)于前述實(shí)施例,第一預(yù)測結(jié)果非常重要并且表示使用圖1的選擇處理時(shí)約60%的選擇。如果合并模式對于給定預(yù)測結(jié)果是高效的,則可以認(rèn)為合并模式對于列表的后續(xù)運(yùn)動矢量預(yù)測結(jié)果候選可能不是高效的。
[0165]在初始步驟701中,確定候選運(yùn)動矢量預(yù)測結(jié)果的列表。這些運(yùn)動矢量預(yù)測結(jié)果與作為跳過編碼模式和合并編碼模式中的運(yùn)動補(bǔ)償所用的適當(dāng)運(yùn)動矢量預(yù)測結(jié)果的已編碼塊的運(yùn)動矢量相對應(yīng)。
[0166]在步驟702中,通過將提前終止標(biāo)志ETF設(shè)置為假來初始化該選擇處理。
[0167]在步驟703中,將候選索引i設(shè)置為i = 0,從而對列表中的第一候選編索引。然后,在步驟704中提取具有索引i的候選(705)。在步驟706中,根據(jù)Lagrangian表達(dá)式來計(jì)算與第i候選相關(guān)聯(lián)的針對跳過模式的率失真成本。
[0168]JSkip ⑴=DSkip ⑴ + λ RSkip ⑴[0169]其中,D與針對編碼單位所引入的失真相對應(yīng),R表示與該編碼單位相關(guān)聯(lián)的率,并且λ表示固定為給定值的Lagrangian參數(shù)。通過計(jì)算該編碼單位和原始圖像中的相應(yīng)塊之間的均方差來確定失真DSkip (i)。
[0170]在步驟708中,通過判斷列表的運(yùn)動矢量預(yù)測結(jié)果候選是否已滿足預(yù)定條件來判斷是否需要針對合并模式計(jì)算利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的率失真成本。在該示例中,這通過驗(yàn)證ETF標(biāo)志是否被設(shè)置為真來進(jìn)行。如果ETF標(biāo)志沒有被設(shè)置為真,則判斷為尚未滿足預(yù)定條件,并且在步驟710中,根據(jù)等效表達(dá)式來評價(jià)利用i編索引的預(yù)測結(jié)果候選的針對合并模式的RD成本。
[0171]JMrg (i) =DMrg (i) + λ RMrg (i)
[0172]在該步驟之后進(jìn)行步驟711,其中在該步驟711中,針對列表中的利用i編索引的候選,在跳過模式的率失真成本和合并模式的率失真成本之間進(jìn)行比較。在步驟711中針對利用i編索引的候選判斷為跳過模式的率失真成本低于合并模式的率失真成本的情況下,即JSkiPi〈JMrgi+Λ,然后,在步驟712中,將ETF標(biāo)志設(shè)置為真以表示滿足了預(yù)定終止條件,其中△是可以與JSkipi或JMrgi成比例的正值或者等于O。結(jié)果,針對列表中的剩余運(yùn)動矢量預(yù)測結(jié)果候選沒有計(jì)算合并模式的率失真成本。然后,在步驟712之后進(jìn)行步驟707,其中在該步驟707中,將針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的成本JSkipi與迄今為止針對列表中的先前運(yùn)動矢量預(yù)測結(jié)果候選所求出的最小值J進(jìn)行比較。如果JSkipi是最小值,則將新的最小值J設(shè)置為JSkipi。
[0173]否則,如果在步驟711中針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選判斷為跳過模式的率失真成本大于合并模式的率失真成本,則該處理進(jìn)入步驟713。在步驟713中,將迄今為止針對列表的 運(yùn)動矢量預(yù)測結(jié)果候選所計(jì)算出的最小率失真成本J、針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的率失真成本JSkiP1、以及針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的合并模式的率失真成本JMrgi中的最小值保持在存儲器中。
[0174]在步驟714中,使與預(yù)測結(jié)果候選的索引i有關(guān)的計(jì)數(shù)器遞增。
[0175]然后,在步驟715中進(jìn)行檢查,以判斷是否處理了 N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選的列表中的所有運(yùn)動矢量預(yù)測結(jié)果候選。
[0176]如果判斷為尚未處理所有N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選,則該處理返回至步驟704以提取MV預(yù)測結(jié)果候選的列表中的下一運(yùn)動矢量預(yù)測結(jié)果候選來進(jìn)行處理。
[0177]否則,如果在步驟715中判斷為處理了所有N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選,則該處理進(jìn)入步驟716,其中該步驟716與選擇算法的輸出相對應(yīng)。作為選擇處理的輸出,識別出最佳運(yùn)動矢量預(yù)測結(jié)果候選imin。該最佳運(yùn)動矢量預(yù)測結(jié)果候選與確定了率失真成本的所有N個(gè)預(yù)測結(jié)果候選中的給出最小成本J且源于跳過模式和合并模式這兩個(gè)模式的預(yù)測結(jié)果候選相對應(yīng)。該結(jié)果還提供了跳過模式和合并模式中的針對imin候選的最佳模式BM。
[0178]與針對HEVC編碼器的現(xiàn)有技術(shù)方法相比,針對合并模式的率失真成本運(yùn)算次數(shù)大幅減少。在HEVC測試模型的編碼器中所進(jìn)行的數(shù)值實(shí)驗(yàn)表明:在沒有對編碼效率產(chǎn)生影響的情況下,編碼時(shí)間縮短了約5%。
[0179]圖8是示出根據(jù)本發(fā)明第三實(shí)施例的用于選擇視頻序圖像的塊所用的編碼參數(shù)的方法的步驟的流程圖。在本實(shí)施例中,從合并幀內(nèi)編碼模式和跳過幀內(nèi)編碼模式中選擇編碼模式;并且根據(jù)所確定的率失真成本來從N個(gè)候選運(yùn)動矢量預(yù)測結(jié)果的列表中選擇運(yùn)動矢量預(yù)測結(jié)果。通常,根據(jù)第三實(shí)施例,針對運(yùn)動矢量預(yù)測結(jié)果候選在合并模式中計(jì)算率失真成本,直到該列表的運(yùn)動矢量預(yù)測結(jié)果候選其中之一滿足了兩個(gè)預(yù)定條件其中之一為止。第一條件與第一實(shí)施例的條件相對應(yīng),即在第一個(gè)運(yùn)動預(yù)測結(jié)果候選等于零矢量(O,O)的情況下,在合并模式中僅針對運(yùn)動預(yù)測結(jié)果矢量候選中的第一個(gè)運(yùn)動預(yù)測結(jié)果矢量候選來計(jì)算率失真成本。第二條件與第二實(shí)施例的條件相對應(yīng),即給定候選的針對合并模式的率失真成本高于該給定候選的針對跳過模式的相應(yīng)RD成本。如果滿足了這兩個(gè)預(yù)定條件任意一個(gè),則在合并模式針對該列表中的剩余運(yùn)動預(yù)測結(jié)果候選沒有計(jì)算進(jìn)一步的率失真成本。如果沒有滿足條件,則在合并模式中計(jì)算該列表中的剩余運(yùn)動預(yù)測結(jié)果候選的率失真成本,以選擇編碼參數(shù)。
[0180]在步驟800中,通過將提前終止標(biāo)志(ETF)變量設(shè)置為假來初始化根據(jù)本發(fā)明第三實(shí)施例的選擇編碼參數(shù)的處理。在步驟801中提供適合在合并編碼模式和跳過編碼模式中通過運(yùn)動補(bǔ)償進(jìn)行編碼的N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選的列表,并且在步驟802中考慮該列表中的索引為O (i = O)的第一候選。
[0181]在下一步驟803中,進(jìn)行檢查以評價(jià)列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選是否等于表示所有分量均等于O的零矢量。如果判斷為列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選等于零,則在步驟817中將變量ETF設(shè)置為TRUE。這意味著滿足了使針對合并模式的率失真成本的計(jì)算提前終止的條件。
[0182]否則,如果在步驟803中判斷為列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選不等于零矢量,則該處理直接進(jìn)入步驟804,其中在該步驟804中,從運(yùn)動矢量預(yù)測結(jié)果候選的列表中提取索引i的運(yùn)動矢量預(yù)測結(jié)果候選(805)。在下一步驟806中,計(jì)算跳過模式的運(yùn)動矢量預(yù)測結(jié)果候選i的率失真成本。 [0183]可以使用Lagrangian表達(dá)式來確定用于以跳過模式對當(dāng)前塊進(jìn)行編碼的運(yùn)動矢量預(yù)測結(jié)果候選i的率失真成本JSkipi。
[0184]JSkip ⑴=DSkip ⑴ + λ RSkip ⑴
[0185]其中,D與針對塊所引入的失真相對應(yīng),R表示與該編碼單位相關(guān)聯(lián)的率,并且入表示固定為給定值的Lagrangian參數(shù)。
[0186]在步驟808中,進(jìn)行檢查以驗(yàn)證所評估的運(yùn)動矢量預(yù)測結(jié)果候選是否是列表中的第一個(gè)運(yùn)動矢量預(yù)測結(jié)果候選、并且ETF變量是否被設(shè)置為真,從而判斷是否需要在合并模式中針對運(yùn)動矢量預(yù)測結(jié)果候選i來計(jì)算率失真成本。
[0187](i>0)并且(ETF ==真)
[0188]如果在步驟808中判斷為ETF被設(shè)置為真、但候選不是列表的第一候選,則針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選沒有進(jìn)行合并模式的率失真成本計(jì)算。
[0189]在步驟808的另一示例中,可以檢查運(yùn)動矢量預(yù)測結(jié)果候選的索引是否大于預(yù)定索引i(i>I),其中I與能夠控制編碼時(shí)間的預(yù)定義值相對應(yīng)。
[0190]否則,如果在步驟808中判斷為要在合并模式中針對候選i計(jì)算率失真成本,則在步驟810中,根據(jù)與跳過模式所用的表達(dá)式等效的表達(dá)式,針對列表中的利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選來計(jì)算合并模式的率失真成本。
[0191]JMrg (i) =DMrg (i) + λ RMrg (i)
[0192]在該步驟之后進(jìn)行步驟811,其中在步驟811中,針對列表中的利用i編索引的候選,在跳過模式的率失真成本和合并模式的率失真成本之間進(jìn)行比較。如果在步驟811中針對利用i編索引的候選判斷為跳過模式的率失真成本低于合并模式的率失真成本、即JSkiPi〈JMrgi的情況下,則在步驟812中,將ETF標(biāo)志設(shè)置為真以表示滿足了替代的預(yù)定終止條件。結(jié)果,針對列表中的剩余運(yùn)動矢量預(yù)測結(jié)果候選沒有計(jì)算合并模式的率失真成本。在替代實(shí)施例中,與圖7的步驟711相同,在步驟811中將JSkipi與JMrgi+ Δ進(jìn)行比較,其中Δ是可以與JSkipi或JMrgi成比例的正值、或者等于O。
[0193]然后,在步驟812之后進(jìn)行步驟807,其中在該步驟807中,將針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的成本JSkipi與迄今為止針對列表中的先前運(yùn)動矢量預(yù)測結(jié)果候選所求出的最小值J進(jìn)行比較。如果JSkipi是最小值,則將新的最小值J設(shè)置為 JSkipi。
[0194]否則,如果在步驟811中針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選判斷為跳過模式的率失真成本大于合并模式的率失真成本,則該處理進(jìn)入步驟813。在步驟813中,將迄今為止針對列表的運(yùn)動矢量預(yù)測結(jié)果候選所計(jì)算出的最小率失真成本J、針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的率失真成本JSkiP1、以及針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的合并模式的率失真成本JMrgi中的最小值保持在存儲器中。
[0195]在步驟814中,使與預(yù)測結(jié)果候 選的索引i有關(guān)的計(jì)數(shù)器遞增。
[0196]然后,在步驟815中進(jìn)行檢查,以判斷是否處理了 N個(gè)MV預(yù)測結(jié)果候選的列表中的所有運(yùn)動矢量預(yù)測結(jié)果候選。
[0197]如果判斷為尚未處理所有N個(gè)MV預(yù)測結(jié)果候選,則該處理返回至步驟804以提取MV預(yù)測結(jié)果候選的列表中的下一 MV預(yù)測結(jié)果候選,以進(jìn)行處理。
[0198]否則,如果在步驟815中判斷為處理了所有N個(gè)MV預(yù)測結(jié)果候選,則該處理進(jìn)入步驟816,其中該步驟816與選擇算法的輸出相對應(yīng)。作為選擇處理的輸出,識別出最佳運(yùn)動矢量預(yù)測結(jié)果候選imin。該最佳運(yùn)動矢量預(yù)測結(jié)果候選與確定了率失真成本的所有N個(gè)預(yù)測結(jié)果候選中的給出最小成本J且源于跳過模式和合并模式這兩個(gè)模式的運(yùn)動矢量預(yù)測結(jié)果候選相對應(yīng)。該結(jié)果還提供了跳過模式和合并模式中的針對imin候選的最佳模式BM0
[0199]圖9是示出根據(jù)本發(fā)明第四實(shí)施例的用于選擇視頻序列圖像的塊所用的編碼參數(shù)的方法的步驟的流程圖。在本實(shí)施例中,從合并編碼模式和跳過編碼模式中選擇編碼模式,并且根據(jù)所確定的率失真成本來從N個(gè)候選運(yùn)動矢量預(yù)測結(jié)果的列表中選擇運(yùn)動矢量預(yù)測結(jié)果。通常,根據(jù)第二實(shí)施例,針對運(yùn)動矢量預(yù)測結(jié)果候選在合并模式中計(jì)算率失真成本,直到該列表的運(yùn)動矢量預(yù)測結(jié)果候選其中之一滿足了預(yù)定標(biāo)準(zhǔn)為止。在該特定實(shí)施例中,針對運(yùn)動矢量預(yù)測結(jié)果候選在合并模式中計(jì)算率失真成本,直到得出給定候選的針對跳過模式的率失真成本低于已處理的先前候選的(跳過模式或合并模式的)最小率失真成本為止。如果運(yùn)動矢量預(yù)測結(jié)果候選滿足該條件,則在合并模式中針對列表中的剩余運(yùn)動矢量預(yù)測結(jié)果候選沒有計(jì)算進(jìn)一步的率失真成本。如果沒有滿足該條件,則在合并模式中計(jì)算列表中的剩余運(yùn)動矢量預(yù)測結(jié)果候選的率失真成本以選擇編碼參數(shù),直到滿足該條件為止、或直到評價(jià)了列表的所有運(yùn)動預(yù)測結(jié)果候選為止。
[0200]在初始步驟901中,確定候選運(yùn)動矢量預(yù)測結(jié)果的列表。這些運(yùn)動矢量預(yù)測結(jié)果與作為跳過編碼模式和合并編碼模式中的運(yùn)動補(bǔ)償所用的適當(dāng)運(yùn)動矢量預(yù)測結(jié)果的已編碼塊的運(yùn)動矢量相對應(yīng)。
[0201]在步驟902中,通過將提前終止條件ETF設(shè)置為假來初始化該選擇處理。
[0202]在步驟903中,將候選的索引i設(shè)置為i = 0,以對列表中的第一候選進(jìn)行編索引。然后,在步驟904中提取(附圖標(biāo)記905所示的)具有索引i的候選。在步驟906中,根據(jù)Lagrangian表達(dá)式來計(jì)算與第i候選相關(guān)聯(lián)的針對跳過模式的率失真成本。
[0203]JSkip (i) =DSkip (i) + λ RSkip (i)
[0204]其中,D與針對編碼單位所引入的失真相對應(yīng),R表示與該編碼單位相關(guān)聯(lián)的率,并且λ表示固定為給定值的Lagrangian參數(shù)。失真DSkip(i)是通過計(jì)算該編碼單位和原始圖像中的相應(yīng)塊之間的均方差所確定的。
[0205]然后,在步驟906之后進(jìn)行步驟917。在步驟917中,通過判斷列表的運(yùn)動矢量預(yù)測結(jié)果候選是否已滿足預(yù)定條件,來判斷除了迄今為止針對列表的運(yùn)動矢量預(yù)測結(jié)果候選所計(jì)算出的最小率失真成本J以外、是否必須將針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的率失真成本JSkipi與針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的合并模式的率失真成本JMrgi進(jìn)行比較。在該示例中,這通過驗(yàn)證ETF標(biāo)志是否被設(shè)置為真來進(jìn)行。如果ETF被設(shè)置為真,則在步驟917之后進(jìn)行步驟907,其中在該步驟907中,將針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的成本JSkipi與迄今為止針對列表的先前運(yùn)動矢量預(yù)測結(jié)果候選所求出的最小值J進(jìn)行比較。如果JSkipi是最小值,則將新的最小值J設(shè)置為JSkipi。
[0206]如果ETF沒有被設(shè)置為真,則在步驟917之后進(jìn)行以下所述的步驟911。 [0207]在步驟908中,通過判斷列表的運(yùn)動矢量預(yù)測結(jié)果候選是否已滿足預(yù)定條件,來判斷針對合并模式是否需要計(jì)算利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的率失真成本。如果ETF標(biāo)志沒有被設(shè)置為真,則判斷為尚未滿足預(yù)定條件,并且在步驟910中,根據(jù)等效表達(dá)式來評價(jià)針對利用i編索引的預(yù)測結(jié)果候選的合并模式的RD成本。
[0208]JMrg (i) =DMrg (i) + λ RMrg (i)
[0209]在該步驟910之后進(jìn)行步驟911,其中在該步驟911中,將迄今為止針對列表的運(yùn)動矢量預(yù)測結(jié)果候選所計(jì)算出的最小率失真成本J、針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的率失真成本JSkiP1、以及針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的合并模式的率失真成本JMrgi中的最小值保持在存儲器中。
[0210]然后在步驟911之后進(jìn)行步驟912,其中在該步驟912中,在最小率失真成本J和針對利用i編索引的運(yùn)動矢量預(yù)測結(jié)果候選的跳過模式的率失真成本JSkipi之間進(jìn)行相等測試。
[0211]如果在步驟912中回答為肯定,則在該步驟之后進(jìn)行步驟913,其中在該步驟913中,將ETF標(biāo)志設(shè)置為真以表示滿足了預(yù)定終止條件。結(jié)果,針對列表中的剩余運(yùn)動矢量預(yù)測結(jié)果候選沒有計(jì)算合并模式的率失真成本(參見步驟917和908)。
[0212]如果步驟912中回答為否定,則該處理繼續(xù)步驟914,其中在該步驟914中,使與預(yù)測結(jié)果候選的索引i有關(guān)的計(jì)數(shù)器遞增。
[0213]然后,在步驟915中進(jìn)行檢查,以判斷是否處理了 N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選的列表中的所有運(yùn)動矢量預(yù)測結(jié)果候選。
[0214]如果判斷為尚未處理所有N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選,則該處理返回至步驟904,以在MV預(yù)測結(jié)果候選的列表中提取下一運(yùn)動矢量預(yù)測結(jié)果候選來進(jìn)行處理。
[0215]否則,如果在步驟915中判斷為處理了所有N個(gè)運(yùn)動矢量預(yù)測結(jié)果候選,則該處理進(jìn)入步驟916,其中該步驟916與選擇算法的輸出相對應(yīng)。作為選擇處理的輸出,識別出最佳運(yùn)動矢量預(yù)測結(jié)果候選imin。該最佳運(yùn)動矢量預(yù)測結(jié)果候選與確定了率失真成本的所有N個(gè)預(yù)測結(jié)果候選中的給出最小成本J且源于跳過模式和合并模式這兩個(gè)模式的預(yù)測結(jié)果候選相對應(yīng)。該結(jié)果還提供了跳過模式和合并模式中的針對imin候選的最佳模式BM。
[0216]與針對HEVC編碼器的現(xiàn)有技術(shù)方法相比,針對合并模式的率失真成本運(yùn)算次數(shù)大幅減少。在HEVC測試模型的編碼器中所進(jìn)行的數(shù)值實(shí)驗(yàn)表明:在沒有對編碼效率產(chǎn)生影響的情況下,編碼時(shí)間縮短了約5%。另外,由于通過該處理較少選擇合并模式,因此解碼時(shí)間也縮短,并且在HEVC測試模型中觀察到解碼時(shí)間縮短了約3%。
[0217]本發(fā)明的實(shí)施例由此提供降低HEVC編碼器中選擇運(yùn)動矢量預(yù)測結(jié)果候選和編碼模式的計(jì)算復(fù)雜性的方式。通過使與跳過模式(或幀間模式)相比、針對評價(jià)耗費(fèi)更多時(shí)間的合并模式的率失真成本的評價(jià)最小化,來降低該復(fù)雜性。因而引入提前終止算法有助于避免針對所有候選預(yù)測結(jié)果計(jì)算率失真成本的必要性。
[0218]盡管以上已經(jīng)參考特定實(shí)施例說明了本發(fā)明,但本發(fā)明不限于這些特定實(shí)施例,并且本領(lǐng)域技術(shù)人員將明白存在于本發(fā)明的范圍內(nèi)的變形例。許多其它修改和改變在參考僅以示例方式給出的并且并不意圖限制本發(fā)明的范圍的前述例示實(shí)施例時(shí)向精通本技術(shù)的人員表明這些修改和改變僅是由所附權(quán)利要求書來確定的。特別地,在適當(dāng)情況下,可以互換來自不同實(shí)施例的不同特征。
[0219]在權(quán)利要求書中,詞語“包括”沒有排除其它元件或步驟,并且不定冠詞“a”或“an”沒有排除多個(gè)。在 相互不同的從屬權(quán)利要求中陳述不同的特征的僅有事實(shí)并不表明不能有利地使用這些特征的組合。
【權(quán)利要求】
1.一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的方法,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,其中,所述編碼模式是從至少第一編碼模式和第二編碼模式中所選擇的,以及所述運(yùn)動信息預(yù)測結(jié)果是從針對至少所述第一編碼模式和所述第二編碼模式相同的運(yùn)動信息預(yù)測結(jié)果的集合中所選擇的,所述編碼模式和所述運(yùn)動信息預(yù)測結(jié)果的選擇涉及對所述第一編碼模式和所述第二編碼模式這兩個(gè)編碼模式中使用所述集合的運(yùn)動信息預(yù)測結(jié)果來編碼所述圖像部分的成本進(jìn)行比較,所述方法包括以下步驟: 針對所述集合的至少一個(gè)所述運(yùn)動信息預(yù)測結(jié)果,省略針對所述第一編碼模式和所述第二編碼模式中的至少一個(gè)編碼模式的成本的計(jì)算。
2.根據(jù)權(quán)利要求1所述的方法,其中,還包括以下步驟: 檢測滿足與所述集合的一個(gè)或多個(gè)運(yùn)動信息預(yù)測結(jié)果有關(guān)或與已計(jì)算出的一個(gè)或多個(gè)成本有關(guān)的至少一個(gè)條件的時(shí)間;以及 在檢測到滿足所述條件的情況下,針對所述集合的至少一個(gè)所述運(yùn)動信息預(yù)測結(jié)果,省略所述第一編碼模式的成本和/或所述第二編碼模式的成本的計(jì)算,否則,執(zhí)行所述第一編碼模式的成本和/或所述第二編碼模式的成本的計(jì)算。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述條件或一個(gè)所述條件為:所述集合中的第一個(gè)運(yùn)動信息預(yù)測結(jié)果是零矢量。
4.根據(jù)權(quán)利要求3 所述的方法,其中,在檢測到滿足所述條件的情況下,針對除所述第一個(gè)運(yùn)動信息預(yù)測結(jié)果以外的所有運(yùn)動信息預(yù)測結(jié)果,省略所述第二編碼模式的成本的計(jì)笪
5.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其中,所述條件或一個(gè)所述條件為:針對所述集合的運(yùn)動信息預(yù)測結(jié)果其中之一,所述第二編碼模式的成本大于所述第一編碼模式的成本。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述第二編碼模式的成本大于所述第一編碼模式的成本的條件依賴于所述第二編碼模式對殘差紋理數(shù)據(jù)的使用。
7.根據(jù)權(quán)利要求2至6中任一項(xiàng)所述的方法,其中,所述條件或一個(gè)所述條件為:針對所述集合的運(yùn)動信息預(yù)測結(jié)果其中之一,所述第二編碼模式的成本相對于所述第一編碼模式的成本超出了大于預(yù)定量的量。
8.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其中,所述條件或一個(gè)所述條件為:針對所述集合的運(yùn)動信息預(yù)測結(jié)果其中之一,所述第一編碼模式的成本小于任意先前計(jì)算出的第一編碼模式的成本、并且小于任意先前計(jì)算出的第二編碼模式的成本。
9.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其中,所述條件或一個(gè)所述條件為:針對所述集合的運(yùn)動信息預(yù)測結(jié)果其中之一,所述第一編碼模式的成本比任意先前計(jì)算出的第一編碼模式的成本少了大于預(yù)定量的量、并且比任意先前計(jì)算出的第二編碼模式的成本少了大于預(yù)定量的量。
10.根據(jù)權(quán)利要求5至9中任一項(xiàng)所述的方法,其中,在檢測到滿足所述條件的情況下,針對滿足所述條件的所述一個(gè)運(yùn)動信息預(yù)測結(jié)果之后的所有運(yùn)動信息預(yù)測結(jié)果,省略所述第二編碼模式的成本的計(jì)算。
11.根據(jù)權(quán)利要求1至10中任一項(xiàng)所述的方法,其中,還包括以下步驟:從所述集合的第一個(gè)運(yùn)動信息預(yù)測結(jié)果起,針對所述集合的各運(yùn)動信息預(yù)測結(jié)果順次計(jì)算所述成本。
12.根據(jù)在引用權(quán)利要求2至10中任一項(xiàng)的情況下的權(quán)利要求11所述的方法,其中,還包括以下步驟: 在不滿足所述條件的情況下、或者在存在多于一個(gè)的條件時(shí)不滿足任何條件的情況下,針對運(yùn)動信息預(yù)測結(jié)果,計(jì)算所述第一編碼模式的成本和所述第二編碼模式的成本這兩者;以及 在檢測到滿足所述條件或一個(gè)所述條件的情況下,針對運(yùn)動信息預(yù)測結(jié)果,計(jì)算所述第一編碼模式的成本而不計(jì)算所述第二編碼模式的成本。
13.根據(jù)權(quán)利要求1至12中任一項(xiàng)所述的方法,其中,各所述成本是率失真成本。
14.一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的方法,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,其中,所述編碼模式是從至少第一編碼模式和第二編碼模式中所選擇的,以及所述運(yùn)動信息預(yù)測結(jié)果是從運(yùn)動信息預(yù)測結(jié)果的集合中所選擇的,所述集合的各運(yùn)動信息預(yù)測結(jié)果被配置為用來在至少所述第一編碼模式和所述第二編碼模式中通過運(yùn)動補(bǔ)償對所述圖像部分進(jìn)行編碼,所述方法包括以下步驟: 針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第一編碼模式對所述圖像部分進(jìn)行編碼的成本的第一成本參數(shù)值; 針對確定了所述第一成本參數(shù)值的所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的一部分運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第二編碼模式對所述圖像部分進(jìn)行編碼的成本的第二成本參數(shù)值;以及 選擇與所確定的所述第一成本參數(shù)值和所述第二成本參數(shù)值中的最小成本參數(shù)值相對應(yīng)的編碼模式和運(yùn)動信息預(yù)測結(jié)果。
15.根據(jù)權(quán)利要求14所述的方法,其中,在所述集合中,運(yùn)動信息預(yù)測結(jié)果是按預(yù)定順序排列的。
16.根據(jù)權(quán)利要求14或15所述的方法,其中,針對所述集合的運(yùn)動信息預(yù)測結(jié)果來確定所述第一成本參數(shù)值,直到滿足第一預(yù)定條件為止。
17.根據(jù)權(quán)利要求15或16所述的方法,其中,針對根據(jù)所述預(yù)定順序得到的所述集合的運(yùn)動信息預(yù)測結(jié)果來確定所述第二成本參數(shù)值,直到滿足第二預(yù)定條件為止。
18.根據(jù)權(quán)利要求14至17中任一項(xiàng)所述的方法,其中,在針對所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的所述一部分運(yùn)動信息預(yù)測結(jié)果確定所述第二成本參數(shù)值之前,針對所述多個(gè)運(yùn)動信息預(yù)測結(jié)果來順次確定所述第一成本參數(shù)值。
19.根據(jù)權(quán)利要求14至17中任一項(xiàng)所述的方法,其中,針對所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的所述一部分運(yùn)動信息預(yù)測結(jié)果,以運(yùn)動信息預(yù)測結(jié)果為單位來并行地確定所述第一成本參數(shù)值和所 述第二成本參數(shù)值。
20.根據(jù)權(quán)利要求16至19中任一項(xiàng)所述的方法,其中,所述第一預(yù)定條件為:針對整個(gè)所述集合的運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果確定了所述第一成本參數(shù)值。
21.根據(jù)權(quán)利要求17至20中任一項(xiàng)所述的方法,其中,所述第二預(yù)定條件為:(iii)運(yùn)動信息預(yù)測結(jié)果具有預(yù)定索引并且是零矢量;或者 (iv)針對運(yùn)動預(yù)測結(jié)果所確定的所述第一成本參數(shù)值表示比針對所述運(yùn)動預(yù)測結(jié)果所確定的各所述第二成本參數(shù)值低的成本。
22.根據(jù)權(quán)利要求21所述的方法,其中,所述預(yù)定索引表示所述運(yùn)動信息預(yù)測結(jié)果是所述集合的第一個(gè)運(yùn)動信息預(yù)測結(jié)果。
23.根據(jù)權(quán)利要求14至22中任一項(xiàng)所述的方法,其中,所述第一成本參數(shù)和所述第二成本參數(shù)各自表示率失真成本。
24.根據(jù)權(quán)利要求14至23中任一項(xiàng)所述的方法,其中,在所述第一編碼模式中,僅將運(yùn)動信息預(yù)測結(jié)果的索引編碼成所述位流。
25.根據(jù)權(quán)利要求14至24中任一項(xiàng)所述的方法,其中,在所述第二編碼模式中,將運(yùn)動信息預(yù)測結(jié)果的標(biāo)識符以及表示所述圖像部分和所述參考圖像部分之間的差的紋理殘差信息編碼成所述位流。
26.根據(jù)權(quán)利要求24或25所述的方法,其中,所述第一編碼模式是跳過型幀間編碼模式,并且所述第二編碼模式是合并型幀間編碼模式。
27.根據(jù)權(quán)利要求17至26中任一項(xiàng)所述的方法,其中,確定所述第二成本參數(shù)值,直到滿足了所述第二預(yù)定條件、或者所述運(yùn)動信息預(yù)測結(jié)果滿足了另一第二預(yù)定條件為止,其中,所述第二預(yù)定 條件為所述運(yùn)動信息預(yù)測結(jié)果具有預(yù)定索引并且是零矢量,以及所述另一第二預(yù)定條件為:針對所述集合的所述運(yùn)動預(yù)測結(jié)果所確定的所述第一成本參數(shù)值表示比針對所述運(yùn)動預(yù)測結(jié)果的各所述第二成本參數(shù)值低的成本。
28.一種用于將圖像部分編碼成位流的方法,所述方法包括以下步驟: 根據(jù)權(quán)利要求1至27中任一項(xiàng)所述的方法來確定通過相對于參考圖像部分的運(yùn)動補(bǔ)償對所述圖像部分進(jìn)行編碼所用的編碼參數(shù);以及 使用所確定的編碼參數(shù)來對所述圖像部分進(jìn)行編碼。
29.一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的裝置,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,所述裝置包括: 選擇部件,用于從至少第一編碼模式和第二編碼模式中選擇編碼模式,并且從針對至少所述第一編碼模式和所述第二編碼模式相同的運(yùn)動信息預(yù)測結(jié)果的集合中選擇運(yùn)動信息預(yù)測結(jié)果,其中所述選擇是基于所述第一編碼模式和所述第二編碼模式這兩個(gè)編碼模式中使用所述集合的運(yùn)動信息預(yù)測結(jié)果來編碼所述圖像部分的成本;以及 處理部件,用于計(jì)算所述第一編碼模式和所述第二編碼模式這兩個(gè)編碼模式中使用所述集合的運(yùn)動信息預(yù)測結(jié)果來編碼所述圖像部分的所述成本,并且被配置為針對所述集合的至少一個(gè)所述運(yùn)動信息預(yù)測結(jié)果,省略針對所述第一編碼模式和所述第二編碼模式中的至少一個(gè)編碼模式的成本的計(jì)算。
30.一種用于確定將視頻序列的圖像部分編碼成位流所用的編碼參數(shù)的裝置,所述圖像部分是通過相對于至少一個(gè)參考圖像部分的運(yùn)動補(bǔ)償來進(jìn)行編碼的,對所述圖像部分進(jìn)行編碼所用的編碼參數(shù)包括編碼模式和運(yùn)動信息預(yù)測結(jié)果,所述裝置包括: 選擇部件,用于從至少第一編碼模式和第二編碼模式中選擇編碼模式并且從運(yùn)動信息預(yù)測結(jié)果的集合中選擇運(yùn)動信息預(yù)測結(jié)果,所述集合的各運(yùn)動信息預(yù)測結(jié)果被配置為用來在至少所述第一編碼模式和所述第二編碼模式中通過運(yùn)動補(bǔ)償對所述圖像部分進(jìn)行編碼, 所述裝置還包括處理部件,所述處理部件用于進(jìn)行以下操作: 針對所述集合的多個(gè)運(yùn)動信息預(yù)測結(jié)果中的各運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第一編碼模式對所述圖像部分進(jìn)行編碼的成本的第一成本參數(shù)值;以及 針對確定了所述第一成本參數(shù)值的所述多個(gè)運(yùn)動信息預(yù)測結(jié)果中的一部分運(yùn)動信息預(yù)測結(jié)果,確定表示使用所述第二編碼模式對所述圖像部分進(jìn)行編碼的成本的第二成本參數(shù)值, 其中,所述選擇部件被配置為選擇與所確定的所述第一成本參數(shù)值和所述第二成本參數(shù)值中的最小成本參數(shù)值相對應(yīng)的編碼模式和運(yùn)動信息預(yù)測結(jié)果。
31.一種用于將圖像部分編碼成位流的編碼器,所述方法包括: 根據(jù)權(quán)利要求29或30所述的裝置,用于確定通過相對于參考圖像部分的運(yùn)動補(bǔ)償來對所述圖像部分進(jìn)行編碼所用的編碼參數(shù);以及 編碼部件,用于使用所確定的編碼參數(shù)來對所述圖像部分進(jìn)行編碼。
32.—種可編程設(shè)備所用的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括用于在載入所述可編程設(shè)備并且由所述可編程設(shè)備執(zhí)行的情況下、實(shí)現(xiàn)根據(jù)權(quán)利要求1至28中任一項(xiàng)所述的方法的指令序列。
33.一種存儲有 計(jì)算機(jī)程序的指令的計(jì)算機(jī)可讀存儲介質(zhì),所述指令用于實(shí)現(xiàn)根據(jù)權(quán)利要求I至28中任一項(xiàng)所述的方法。
【文檔編號】H04N19/109GK104025592SQ201280053150
【公開日】2014年9月3日 申請日期:2012年10月26日 優(yōu)先權(quán)日:2011年10月28日
【發(fā)明者】G·拉羅徹, P·烏諾 申請人:佳能株式會社