用于對運動矢量進(jìn)行編碼和解碼的方法和設(shè)備本申請是申請日為2011年1月14日、申請?zhí)枮?01310085501.X、題為“用于對運動矢量進(jìn)行編碼和解碼的方法和設(shè)備”的專利申請的分案申請。技術(shù)領(lǐng)域與示例性實施例一致的設(shè)備和方法涉及對運動矢量進(jìn)行編碼和解碼,更具體地,涉及通過預(yù)測當(dāng)前塊的運動矢量對運動矢量進(jìn)行編碼和解碼。
背景技術(shù):諸如運動圖像專家組(MPEG)-4H.264/MPEG-4先進(jìn)視頻編碼(AVC)的編解碼器使用與當(dāng)前塊鄰近的先前編碼塊的運動矢量來預(yù)測當(dāng)前塊的運動矢量。也就是說,與當(dāng)前塊的左、上和右上側(cè)鄰近的先前編碼塊的運動矢量的中值可被用作當(dāng)前塊的運動矢量預(yù)測因子。
技術(shù)實現(xiàn)要素:技術(shù)方案一個或多個示例性實施例提供了一種用于對運動矢量進(jìn)行編碼和解碼的方法和設(shè)備以及其上記錄有用于執(zhí)行所述方法的計算機程序的計算機可讀記錄介質(zhì)。有益效果根據(jù)本發(fā)明,當(dāng)前塊的運動矢量可被精確地預(yù)測并基于所述預(yù)測被編碼。附圖說明通過參照附圖對示例性實施例進(jìn)行詳細(xì)描述,上述和/或其它方面將變得更加清楚,其中:圖1是根據(jù)示例性實施例的用于對圖像進(jìn)行編碼的設(shè)備的框圖;圖2是根據(jù)示例性實施例的用于對圖像進(jìn)行解碼的設(shè)備的框圖;圖3示出根據(jù)示例性實施例的分層編碼單元;圖4是根據(jù)示例性實施例的基于編碼單元的圖像編碼器的框圖;圖5是根據(jù)示例性實施例的基于編碼單元的圖像解碼器的框圖;圖6示出根據(jù)示例性實施例的最大編碼單元、子編碼單元和預(yù)測單元的示圖;圖7示出根據(jù)示例性實施例的編碼單元和變換單元;圖8A到圖8D示出根據(jù)示例性實施例的編碼單元、預(yù)測單元和變換單元的劃分形狀;圖9是根據(jù)示例性實施例的用于對運動矢量進(jìn)行編碼的設(shè)備的框圖;圖10A和圖10B示出根據(jù)示例性實施例的顯式(explicit)模式的運動矢量預(yù)測因子候選;圖10C到圖10E示出根據(jù)示例性實施例的與當(dāng)前塊鄰近的具有各種大小的塊;圖11A到圖11C示出根據(jù)另一示例性實施例的清晰(clear)模式的運動矢量預(yù)測因子候選;圖12A示出根據(jù)示例性實施例的產(chǎn)生隱式(implicit)模式的運動矢量預(yù)測因子的方法;圖12B示出根據(jù)示例性實施例的搜索隱式模式的運動矢量預(yù)測因子的方法;圖12C到圖12D示出根據(jù)示例性實施例的用于產(chǎn)生運動矢量預(yù)測因子的模板;圖13是根據(jù)示例性實施例的用于對運動矢量進(jìn)行解碼的設(shè)備的框圖;圖14是根據(jù)示例性實施例的對運動矢量進(jìn)行編碼方法的流程圖;圖15是根據(jù)示例性實施例的對運動矢量進(jìn)行解碼方法的流程圖。具體實施方式最優(yōu)模式根據(jù)示例性實施例的一方面,提供了一種對運動矢量進(jìn)行編碼的方法,所述方法包括:從第一模式和第二模式中選擇第一模式或第二模式,其中,在第一模式下,指示至少一個運動矢量預(yù)測因子中的運動矢量預(yù)測因子的信息被編碼,在第二模式下,指示基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的像素產(chǎn)生運動矢量預(yù)測因子的信息被編碼;根據(jù)選擇的模式來確定當(dāng)前塊的運動矢量預(yù)測因子,并對關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼;以及對當(dāng)前塊的運動矢量與當(dāng)前塊的運動矢量預(yù)測因子之間的差矢量進(jìn)行編碼,其中,第二模式是指示通過以下步驟產(chǎn)生運動矢量預(yù)測因子的信息被編碼的模式:基于所述至少一個運動矢量預(yù)測因子來設(shè)置將對運動矢量預(yù)測因子進(jìn)行搜索的范圍,并通過使用包括在先前編碼區(qū)域中的像素在搜索范圍內(nèi)進(jìn)行搜索。選擇第一模式或第二模式的步驟可包括:基于深度來選擇第一模式或第二模式,其中,深度指示從當(dāng)前圖像或像條的最大編碼單元的大小減小到當(dāng)前塊的大小的程度。選擇第一模式或第二模式的步驟可包括:以包括當(dāng)前塊的當(dāng)前圖像或像條為單位來選擇第一模式或第二模式。選擇第一模式或第二模式的步驟可包括:基于當(dāng)前塊是否在跳過模式下被編碼來選擇第一模式或第二模式。所述至少一個運動矢量預(yù)測因子可包括與當(dāng)前塊的左側(cè)鄰近的塊的第一運動矢量、與當(dāng)前塊的上側(cè)鄰近的塊的第二運動矢量以及與當(dāng)前塊的右上側(cè)鄰近的塊的第三運動矢量。所述至少一個運動矢量預(yù)測因子還可包括第一運動矢量、第二運動矢量和第三運動矢量的中值。所述至少一個運動矢量預(yù)測因子還可包括基于在參考圖像中與當(dāng)前塊共同定位的塊的運動矢量以及參考圖像與當(dāng)前圖像之間的時間距離而產(chǎn)生的運動矢量預(yù)測因子。對關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼的步驟可包括:對指示與當(dāng)前塊共同定位的塊是時間上在當(dāng)前圖像之前的圖像的塊還是時間上在當(dāng)前圖像之后的圖像的塊的信息進(jìn)行編碼。指示與當(dāng)前塊共同定位的塊是時間上在當(dāng)前圖像之前的圖像的塊還是時間上在當(dāng)前圖像之后的圖像的塊的信息可被插入到包括當(dāng)前塊的像條的頭中。根據(jù)另一示例性實施例的一方面,提供了一種對運動矢量進(jìn)行編碼的設(shè)備,所述設(shè)備包括:預(yù)測單元,從第一模式和第二模式中選擇第一模式或第二模式,其中,在第一模式下,指示至少一個運動矢量預(yù)測因子之一的信息被編碼,在第二模式下,指示基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的像素產(chǎn)生運動矢量預(yù)測因子的信息被編碼;第一編碼器,根據(jù)選擇的模式來確定當(dāng)前塊的運動矢量預(yù)測因子,并對關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼;第二編碼器,對當(dāng)前塊的運動矢量與當(dāng)前塊的運動矢量預(yù)測因子之間的差矢量進(jìn)行編碼,其中,第二模式是指示通過以下步驟產(chǎn)生運動矢量預(yù)測因子的信息被編碼的模式:基于所述至少一個運動矢量預(yù)測因子來設(shè)置將對運動矢量預(yù)測因子進(jìn)行搜索的范圍,并通過使用包括在先前編碼區(qū)域中的像素在搜索范圍內(nèi)進(jìn)行搜索。根據(jù)另一示例性實施例的一方面,提供了一種對運動矢量進(jìn)行解碼的方法,所述方法包括:對根據(jù)從第一模式和第二模式中選擇的模式編碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行解碼;對當(dāng)前塊的運動矢量與當(dāng)前塊的運動矢量預(yù)測因子之間的差矢量進(jìn)行解碼;基于解碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子;以及基于產(chǎn)生的運動矢量預(yù)測因子和解碼的差矢量來恢復(fù)當(dāng)前塊的運動矢量,其中,第一模式是指示至少一個運動矢量預(yù)測因子之一的信息被編碼的模式,第二模式是指示通過以下步驟產(chǎn)生運動矢量預(yù)測因子的信息被編碼的模式:基于所述至少一個運動矢量預(yù)測因子來設(shè)置將對運動矢量預(yù)測因子進(jìn)行搜索的范圍,并通過使用包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的像素在搜索范圍內(nèi)進(jìn)行搜索。根據(jù)另一示例性實施例的一方面,提供了一種對運動矢量進(jìn)行解碼的設(shè)備,所述設(shè)備包括:第一解碼器,對根據(jù)從第一模式和第二模式中選擇的模式編碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行解碼;第二解碼器,對當(dāng)前塊的運動矢量與當(dāng)前塊的運動矢量預(yù)測因子之間的差矢量進(jìn)行解碼;預(yù)測單元,基于解碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子;運動矢量恢復(fù)器,基于產(chǎn)生的運動矢量預(yù)測因子和解碼的差矢量來恢復(fù)當(dāng)前塊的運動矢量,其中,第一模式是指示至少一個運動矢量預(yù)測因子之一的信息被編碼的模式,第二模式是指示通過以下步驟產(chǎn)生運動矢量預(yù)測因子的信息被編碼的模式:基于所述至少一個運動矢量預(yù)測因子來設(shè)置將對運動矢量預(yù)測因子進(jìn)行搜索的范圍,并通過使用包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的像素在搜索范圍內(nèi)進(jìn)行搜索。根據(jù)另一示例性實施例的一方面,提供了一種其上記錄有用于執(zhí)行對運動矢量進(jìn)行編碼的方法和對運動矢量進(jìn)行解碼的方法的計算機程序的計算機可讀記錄介質(zhì)。根據(jù)另一示例性實施例的一方面,提供了一種對運動矢量進(jìn)行編碼的方法,所述方法包括:從第一模式和第二模式中選擇第一模式或第二模式,其中,在第一模式下,指示至少一個運動矢量預(yù)測因子中的運動矢量預(yù)測因子的信息被編碼,在第二模式下,指示基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的像素產(chǎn)生運動矢量預(yù)測因子的信息被編碼;根據(jù)選擇的模式來確定當(dāng)前塊的運動矢量預(yù)測因子,并對關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼;以及對當(dāng)前塊的運動矢量與當(dāng)前塊的運動矢量預(yù)測因子之間的差矢量進(jìn)行編碼。發(fā)明模式在下文中,將參照附圖更詳細(xì)地描述特定示例性實施例。當(dāng)諸如“…中的至少一個”的表述在列出的元件之后時,所述表述修飾列出的全部元件而不是修飾列出的單個元件。在本說明書中,“圖像”可表示用于視頻的靜止圖像或運動圖像(即,視頻本身)。在以下描述中,即使在不同附圖中,相同的標(biāo)號也被用于相同的元件。提供在說明書中限定的事物(諸如,詳細(xì)結(jié)構(gòu)和元件)以助于全面了解示例性實施例。然而,可實現(xiàn)示例性實施例而無需那些具體限定的事物。圖1是根據(jù)示例性實施例的用于對圖像進(jìn)行編碼的圖像編碼設(shè)備100的框圖。圖像編碼設(shè)備100可被實現(xiàn)為例如計算機的處理器或計算機系統(tǒng)的硬件裝置。圖像編碼設(shè)備100或者其一個或多個組件也可被實施為駐留在計算機系統(tǒng)上的軟件模塊。參照圖1,圖像編碼設(shè)備100包括最大編碼單元劃分器110、編碼深度確定器120、圖像數(shù)據(jù)編碼器130和編碼信息編碼器140,上述組件可被實現(xiàn)為例如在圖像編碼設(shè)備100內(nèi)集成的硬件或軟件模塊或者與圖像編碼設(shè)備100相分離的硬件或軟件模塊。最大編碼單元劃分器110可基于作為最大大小的編碼單元的最大編碼單元來對當(dāng)前幀或像條進(jìn)行劃分。也就是說,最大編碼單元劃分器110可將當(dāng)前幀或像條劃分為至少一個最大編碼單元。根據(jù)示例性實施例,編碼單元可使用最大編碼單元和深度來表征。如上所述,最大編碼單元指示當(dāng)前幀的編碼單元中具有最大大小的編碼單元,深度指示分層減小編碼單元的程度。隨著深度加深,編碼單元可從最大編碼單元減小為最小編碼單元,其中,最大編碼單元的深度被定義為最小深度,最小編碼單元的深度被定義為最大深度。由于編碼單元的大小隨著深度加深而從最大編碼單元開始減小,因此,第k深度的子編碼單元可包括多個第(k+n)深度的子編碼單元(其中,k和n是等于或大于1的整數(shù))。根據(jù)將被編碼的幀的大小的增加,按照更大的編碼單元對圖像進(jìn)行編碼可引起更高的圖像壓縮率。然而,如果更大的編碼單元被固定,則可能無法通過反映連續(xù)改變的圖像特征來對圖像進(jìn)行有效編碼。例如,當(dāng)諸如海或天空的平滑區(qū)域被編碼時,編碼單元越大,壓縮率可提高得越多。然而,當(dāng)諸如人或建筑物的復(fù)雜區(qū)域被編碼時,編碼單元越小,壓縮率可提高得越多。因此,在示例性實施例中,針對每個幀或像條設(shè)置不同的最大圖像編碼單元和不同的最大深度。由于最大深度表示編碼單元可減小的最大次數(shù),故包括在最大圖像編碼單元中的每個最小編碼單元的大小可根據(jù)最大深度而被不同地設(shè)置??舍槍γ總€幀或像條或者針對每個最大編碼單元不同地確定最大深度。編碼深度確定器120確定最大編碼單元的劃分形狀??苫诼适д?RD)代價的計算來確定劃分形狀。確定的最大編碼單元的劃分形狀被提供給編碼信息編碼器140,并且根據(jù)最大編碼單元的圖像數(shù)據(jù)被提供給圖像數(shù)據(jù)編碼器130。最大編碼單元可根據(jù)不同深度被劃分為具有不同大小的子編碼單元,包括在最大編碼單元中的具有不同大小的子編碼單元可基于具有不同大小的處理單元被預(yù)測或頻率變換。換句話說,圖像編碼設(shè)備100可基于具有各種大小和各種形狀的處理單元來執(zhí)行用于圖像編碼的多個處理操作。為了對圖像數(shù)據(jù)進(jìn)行編碼,諸如預(yù)測、變換和熵編碼的處理操作被執(zhí)行,其中,可針對每個操作使用具有相同大小或不同大小的處理單元。例如,圖像編碼設(shè)備100可選擇與編碼單元不同的處理單元來對編碼單元進(jìn)行預(yù)測。當(dāng)編碼單元的大小是2N×2N(其中,N是正整數(shù))時,用于預(yù)測的處理單元可以是2N×2N、2N×N、N×2N和N×N。換句話說,可基于具有編碼單元的高度和寬度中的至少一個被二等分的形狀的處理單元來執(zhí)行運動預(yù)測。以下,作為預(yù)測的基礎(chǔ)的處理單元被定義為預(yù)測單元。預(yù)測模式可以是幀內(nèi)模式、幀間模式和跳過模式中的至少一個,可僅對具有特定大小或特定形狀的預(yù)測單元執(zhí)行特定預(yù)測模式。例如,可僅對具有正方形形狀的大小為2N×2N和N×N的預(yù)測單元執(zhí)行幀內(nèi)模式。此外,可僅對大小為2N×2N的預(yù)測單元執(zhí)行跳過模式。如果多個預(yù)測單元存在于編碼單元中,則在對每個預(yù)測單元執(zhí)行預(yù)測之后,可選擇具有最小編碼誤差的預(yù)測模式??蛇x擇地,圖像編碼設(shè)備100可基于具有與編碼單元不同大小的處理單元對圖像數(shù)據(jù)執(zhí)行頻率變換。對于編碼單元中的頻率變換,可基于具有與編碼單元相同的大小或小于編碼單元的大小的處理單元來執(zhí)行頻率變換。以下,作為頻率變換的基礎(chǔ)的處理單元被定義為變換單元。頻率變換可以是離散余弦變換(DCT)或Karhunen-Loeve變換(KLT)。編碼深度確定器120可通過使用基于拉格朗日乘子的RD優(yōu)化來確定包括在最大編碼單元中的子編碼單元。換句話說,編碼深度確定器120可確定從最大編碼單元劃分的多個子編碼單元具有何種形狀,其中,多個子編碼單元根據(jù)子編碼單元的深度而具有不同大小。圖像數(shù)據(jù)編碼器130通過基于由編碼深度確定器120確定的劃分形狀對最大編碼單元進(jìn)行編碼來輸出比特流。編碼信息編碼器140對關(guān)于由編碼深度確定器120確定的最大編碼單元的編碼模式的信息進(jìn)行編碼。換句話說,編碼信息編碼器140通過對以下信息進(jìn)行編碼來輸出比特流:關(guān)于最大編碼單元的劃分形狀的信息、關(guān)于最大深度的信息和關(guān)于每個深度的子編碼單元的編碼模式的信息。關(guān)于子編碼單元的編碼模式的信息可包括關(guān)于子編碼單元的預(yù)測單元的信息、關(guān)于每個預(yù)測單元的預(yù)測模式的信息和關(guān)于子編碼單元的變換單元的信息。關(guān)于最大編碼單元的劃分形狀的信息可以是指示每個編碼單元是否被劃分的標(biāo)志信息。例如,當(dāng)最大編碼單元被劃分并被編碼時,指示最大編碼單元是否被劃分的信息被編碼。另外,當(dāng)從最大編碼單元劃分的子編碼單元被劃分并被編碼時,指示子編碼單元是否被劃分的信息被編碼。由于在每個最大編碼單元中存在具有不同大小的子編碼單元并且針對每個子編碼單元確定關(guān)于編碼模式的信息,故可針對一個最大編碼單元確定關(guān)于至少一個編碼模式的信息。圖像編碼設(shè)備100可根據(jù)深度的增加通過將最大編碼單元的高度和寬度進(jìn)行二等分來產(chǎn)生子編碼單元。也就是說,當(dāng)?shù)趉深度的編碼單元的大小是2N×2N時,第(k+1)深度的編碼單元的大小是N×N。因此,圖像編碼設(shè)備100可考慮圖像特征,基于最大編碼單元的大小和最大深度,針對每個最大編碼單元確定最優(yōu)劃分形狀。通過考慮圖像特征可變地調(diào)整最大編碼單元的大小并通過將最大編碼單元劃分為不同深度的子編碼單元而對圖像進(jìn)行編碼,具有不同分辨率的圖像可被更有效地編碼。圖2是根據(jù)示例性實施例的用于對圖像進(jìn)行解碼的圖像解碼設(shè)備200的框圖。圖像解碼設(shè)備200可被實現(xiàn)為諸如計算機的處理器或計算機系統(tǒng)的硬件設(shè)備。圖像解碼設(shè)備200或其一個或多個組件也可被實現(xiàn)為駐留在計算機系統(tǒng)上的軟件模塊。參照圖2,圖像解碼設(shè)備200包括圖像數(shù)據(jù)獲取單元210、編碼信息提取器220和圖像數(shù)據(jù)解碼器230,上述組件可被實現(xiàn)為例如在圖像解碼設(shè)備200內(nèi)集成的硬件或軟件模塊或者與圖像解碼設(shè)備200相分離的硬件或軟件模塊。圖像數(shù)據(jù)獲取單元210通過對由圖像解碼設(shè)備200接收的比特流進(jìn)行解析來獲取根據(jù)最大編碼單元的圖像數(shù)據(jù),并將圖像數(shù)據(jù)輸出到圖像數(shù)據(jù)解碼器230。圖像數(shù)據(jù)獲取單元210可從當(dāng)前幀或像條的頭提取關(guān)于當(dāng)前幀或像條的最大編碼單元的信息。換句話說,圖像數(shù)據(jù)獲取單元210按照最大編碼單元來劃分比特流,從而圖像數(shù)據(jù)解碼器230可根據(jù)最大編碼單元對圖像數(shù)據(jù)進(jìn)行解碼。編碼信息提取器220通過對由圖像解碼設(shè)備200接收的比特流進(jìn)行解析來從當(dāng)前幀的頭提取關(guān)于最大編碼單元、最大深度、最大編碼單元的劃分形狀和子編碼單元的編碼模式的信息。關(guān)于劃分形狀的信息和關(guān)于編碼模式的信息被提供給圖像數(shù)據(jù)解碼器230。關(guān)于最大編碼單元的劃分形狀的信息可包括關(guān)于根據(jù)深度具有不同大小并包括在最大編碼單元中的子編碼單元的信息,并可以是指示每個編碼單元是否被劃分的標(biāo)志信息。關(guān)于編碼模式的信息可包括關(guān)于根據(jù)子編碼單元的預(yù)測單元的信息、關(guān)于預(yù)測模式的信息以及關(guān)于變換單元的信息。圖像數(shù)據(jù)解碼器230通過基于由編碼信息提取器220提取的信息對每個最大編碼單元的圖像數(shù)據(jù)進(jìn)行解碼來恢復(fù)當(dāng)前幀。圖像數(shù)據(jù)解碼器230可基于關(guān)于最大編碼單元的劃分形狀的信息對包括在最大編碼單元中的子編碼單元進(jìn)行解碼。解碼處理可包括預(yù)測處理和逆變換處理,預(yù)測處理包括幀內(nèi)預(yù)測和運動補償。圖像數(shù)據(jù)解碼器230可基于關(guān)于預(yù)測單元的信息和關(guān)于用于對預(yù)測單元進(jìn)行預(yù)測的預(yù)測模式的信息執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測。圖像數(shù)據(jù)解碼器230還可基于關(guān)于子編碼單元的變換單元的信息對每個子編碼單元執(zhí)行逆變換。圖3示出根據(jù)示例性實施例的分層編碼單元。參照圖3,分層編碼單元可包括寬度和高度是64×64、32×32、16×16、8×8和4×4的編碼單元。除了這些具有完全正方形形狀的編碼單元之外,還可存在寬度和高度是64×32、32×64、32×16、16×32、16×8、8×16、8×4和4×8的編碼單元。參照圖3,對于分辨率是1920×1080的圖像數(shù)據(jù)集310,最大編碼單元的大小被設(shè)置為64×64,最大深度被設(shè)置為2。對于分辨率是1920×1080的圖像數(shù)據(jù)集320,最大編碼單元的大小被設(shè)置為64×64,最大深度被設(shè)置為3。對于分辨率是352×288的圖像數(shù)據(jù)集330,最大編碼單元的大小被設(shè)置為16×16,最大深度被設(shè)置為1。當(dāng)分辨率高或者數(shù)據(jù)量大時,編碼單元的最大大小可被設(shè)置為相對大以提高壓縮率并更精確地反映圖像特征。因此,對于具有比圖像數(shù)據(jù)集330更高的分辨率的圖像數(shù)據(jù)集310和320,可選擇64×64作為最大編碼單元的大小。最大深度指示分層編碼單元中的層的總數(shù)量。由于圖像數(shù)據(jù)集310的最大深度是2,故圖像數(shù)據(jù)集310的編碼單元315可根據(jù)深度的增加而包括長軸大小是64的最大編碼單元和長軸大小是32和16的子編碼單元。另一方面,由于圖像數(shù)據(jù)集330的最大深度是1,故圖像數(shù)據(jù)集330的編碼單元335可根據(jù)深度的增加而包括長軸大小是16的最大編碼單元以及長軸大小是8的編碼單元。然而,由于圖像數(shù)據(jù)集320的最大深度是3,故圖像數(shù)據(jù)集320的編碼單元325可根據(jù)深度的增加而包括長軸大小是64的最大編碼單元以及長軸大小是32、16、8和4的子編碼單元。由于基于隨著深度增加的較小子編碼單元對圖像進(jìn)行編碼,示例性實施例可適用于對包括更多精細(xì)場景的圖像進(jìn)行編碼。圖4是根據(jù)示例性實施例的基于編碼單元的圖像編碼器400的框圖。圖像編碼器400或其一個或多個部件可被實現(xiàn)為諸如計算機的處理器的硬件部件或駐留在計算機系統(tǒng)上的軟件模塊。幀內(nèi)預(yù)測器410對當(dāng)前幀405中的幀內(nèi)模式的預(yù)測單元執(zhí)行幀內(nèi)預(yù)測,運動估計器420和運動補償器425使用當(dāng)前幀405和參考幀495對幀間模式的預(yù)測單元執(zhí)行幀間預(yù)測和運動補償。幀內(nèi)預(yù)測器410、運動估計器420、運動補償器425和參考幀495可被實現(xiàn)為例如在圖像編碼器400內(nèi)集成的硬件或軟件模塊或者與圖像編碼器400相分離的硬件或軟件模塊?;趶膸瑑?nèi)預(yù)測器410、運動估計器420和運動補償器425輸出的預(yù)測單元產(chǎn)生殘差值。產(chǎn)生的殘差值通過變換器430和量化器440而被輸出為量化的變換系數(shù)。量化的變換系數(shù)通過反量化器460和逆變換器470而被恢復(fù)為殘差值,并且恢復(fù)的殘差值通過去塊單元480和環(huán)路濾波單元490被后處理,并被輸出為參考幀495。量化的變換系數(shù)可通過熵編碼器450而被輸出為比特流455。為了基于根據(jù)示例性實施例的編碼方法執(zhí)行編碼,圖像編碼器400的幀內(nèi)預(yù)測器410、運動估計器420、運動補償器425、變換器430、量化器440、熵編碼器450、反量化器460、逆變換器470、去塊單元480和環(huán)路濾波單元490基于最大編碼單元、根據(jù)深度的子編碼單元、預(yù)測單元和變換單元來執(zhí)行圖像編碼處理。圖5是根據(jù)示例性實施例的基于編碼單元的圖像解碼器500的框圖。圖像解碼器500或其一個或多個部件可被實現(xiàn)為諸如計算機的處理器的硬件部件或駐留在計算機系統(tǒng)上的軟件模塊。比特流505經(jīng)過解析器510,從而將被解碼的編碼圖像數(shù)據(jù)以及用于解碼的編碼信息被解析。編碼圖像數(shù)據(jù)通過熵解碼器520和反量化器530而被輸出為反量化的數(shù)據(jù),并通過逆變換器540而被恢復(fù)為殘差值。通過根據(jù)編碼單元將殘差值與幀內(nèi)預(yù)測器550的幀內(nèi)預(yù)測結(jié)果或運動補償器560的運動補償結(jié)果相加來恢復(fù)殘差值?;謴?fù)的編碼單元通過去塊單元570和環(huán)路濾波單元580而被用于下一編碼單元或下一幀的預(yù)測。解析器510、熵解碼器520、反量化器530、逆變換器540、幀內(nèi)預(yù)測器550、運動補償器560、去塊單元570和環(huán)路濾波單元580可被實現(xiàn)為例如在圖像解碼器500內(nèi)集成的硬件或軟件模塊或者與圖像解碼器500相分離的硬件或軟件模塊。為了執(zhí)行基于根據(jù)示例性實施例的解碼方法的解碼,圖像解碼器500的解析器510、熵解碼器520、反量化器530、逆變換器540、幀內(nèi)預(yù)測器550、運動補償器560、去塊單元570和環(huán)路濾波單元580基于最大編碼單元、根據(jù)深度的子編碼單元、預(yù)測單元和變換單元來執(zhí)行圖像解碼處理。特別地,幀內(nèi)預(yù)測器550和運動補償器560通過考慮最大編碼單元和深度來按照子編碼單元確定預(yù)測單元和預(yù)測模式,逆變換器540通過考慮變換單元的大小來執(zhí)行逆變換。圖6示出根據(jù)示例性實施例的最大編碼單元、子編碼單元和預(yù)測單元的示圖。圖1中示出的圖像編碼設(shè)備100和圖2中示出的圖像解碼設(shè)備200通過考慮圖像特征使用分層編碼單元以執(zhí)行編碼和解碼。最大編碼單元和最大深度可根據(jù)圖像特征而被自適應(yīng)地設(shè)置,或根據(jù)用戶的需要而被不同地設(shè)置。在圖6中,分層編碼單元結(jié)構(gòu)600具有最大編碼單元610,其中,最大編碼單元610是高度和寬度是64并且最大深度是4的最大編碼單元。深度沿著分層編碼單元結(jié)構(gòu)600的垂直軸增加,并且隨著深度增加,子編碼單元620到650的高度和寬度減小。最大編碼單元610和子編碼單元620到650的預(yù)測單元沿著分層編碼單元結(jié)構(gòu)600的水平軸被顯示。最大編碼單元610的深度為0,編碼單元的大小(或者高度和寬度)是64×64。深度沿著垂直軸增加,并且存在大小是32×32且深度是1的第一子編碼單元620,大小是16×16且深度是2的第二子編碼單元630,大小是8×8且深度是3的第三子編碼單元640,以及大小是4×4且深度是4的最小編碼單元650。大小是4×4且深度是4的最小編碼單元650是最小編碼單元,并且最小編碼單元可被劃分為預(yù)測單元,每個預(yù)測單元小于最小編碼單元。參照圖6,預(yù)測單元的示例根據(jù)每個深度沿著水平軸而被示出。也就是說,深度是0的最大編碼單元610的預(yù)測單元可以是大小等于最大編碼單元的大小64×64的預(yù)測單元,或者具有小于大小是64×64的最大編碼單元的大小的大小是64×32的預(yù)測單元612、大小是32×64的預(yù)測單元614或大小是32×32的預(yù)測單元616。深度是1的第一子編碼單元620的預(yù)測單元可以是大小等于第一子編碼單元的大小32×32的預(yù)測單元,或者具有小于大小是32×32的第一子編碼單元620的大小的大小是32×16的預(yù)測單元622、大小是16×32的預(yù)測單元624或大小是16×16的預(yù)測單元626。深度是2且大小是16×16的第二子編碼單元630的預(yù)測單元可以是大小等于第一子編碼單元630的大小16×16的預(yù)測單元,或者具有小于大小是16×16的第二子編碼單元630的大小的大小是16×8的預(yù)測單元632、大小是8×16的預(yù)測單元634或大小是8×8的預(yù)測單元636。深度是3且大小是8×8的第三子編碼單元640的預(yù)測單元可以是大小等于第三子編碼單元640的大小8×8的預(yù)測單元,或者具有小于大小是8×8的第三子編碼單元640的大小的大小是8×4的預(yù)測單元642、大小是4×8的預(yù)測單元644或大小是4×4的預(yù)測單元646。深度是4且大小是4×4的最小編碼單元650是最小編碼單元和最大深度的編碼單元。最小編碼單元650的預(yù)測單元可以是大小是4×4的預(yù)測單元650、大小是4×2的預(yù)測單元652,大小是2×4的預(yù)測單元654或大小是2×2的預(yù)測單元656。圖7示出根據(jù)示例性實施例的編碼單元和變換單元。圖1中示出的圖像編碼設(shè)備100和圖2中示出的圖像解碼設(shè)備200使用最大編碼單元本身或者從最大編碼單元劃分的等于或小于最大編碼單元的子編碼單元來執(zhí)行編碼和解碼。在編碼和解碼處理中,用于頻率變換的變換單元的大小被選擇為不大于相應(yīng)的編碼單元的大小。例如,如果當(dāng)前編碼單元710的大小是64×64,則可使用大小是32×32的變換單元720執(zhí)行頻率變換。圖8A、圖8B、圖8C和圖8D示出根據(jù)示例性實施例的編碼單元810、預(yù)測單元860和變換單元870的劃分形狀。圖8A和圖8B示出根據(jù)示例性實施例的編碼單元810和預(yù)測單元860。圖8A示出由圖1中示出的圖像編碼設(shè)備100選擇的用于對最大編碼單元810進(jìn)行編碼的劃分形狀。圖像編碼設(shè)備100將最大編碼單元810劃分為各種形狀,執(zhí)行編碼,并通過基于RD代價將各種劃分形狀的編碼結(jié)果彼此進(jìn)行比較來選擇最優(yōu)劃分形狀。當(dāng)照其原樣對最大編碼單元810進(jìn)行編碼最優(yōu)時,如圖8A到圖8D所示,可對最大編碼單元810進(jìn)行編碼而不劃分最大編碼單元810。參照圖8A,通過將深度是0的最大編碼單元810劃分為深度等于或大于1的子編碼單元來對最大編碼單元810進(jìn)行編碼。也就是說,最大編碼單元810被劃分為4個深度是1的子編碼單元,所有或一些深度是1的子編碼單元被劃分為深度是2的子編碼單元814、816、818、828、850和852。深度是1的子編碼單元中位于右上側(cè)的子編碼單元和位于左下側(cè)的子編碼單元被劃分為深度等于或大于2的子編碼單元。一些深度等于或大于2的子編碼單元可被劃分為深度等于或大于3的子編碼單元820、822、824、826、830、832、840、844和848。圖8B示出用于最大編碼單元810的預(yù)測單元860的劃分形狀。參照圖8B,用于最大編碼單元810的預(yù)測單元860可從最大編碼單元810被不同地劃分。換句話說,用于每個子編碼單元的預(yù)測單元可小于相應(yīng)的子編碼單元。例如,用于位于深度是1的子編碼單元812、854中的右下側(cè)的子編碼單元854的預(yù)測單元可小于子編碼單元854。此外,用于深度是2的子編碼單元814、816、818、828、850和852的子編碼單元814、816、850和852的預(yù)測單元可分別小于子編碼單元814、816、850和852。此外,用于深度是3的子編碼單元822、832和848的預(yù)測單元可分別小于子編碼單元822、832和848。預(yù)測單元可具有各個子編碼單元按照高度或?qū)挾鹊姆较虮欢确值男螤罨蚓哂懈鱾€子編碼單元按照高度或?qū)挾鹊姆较虮凰牡确值男螤?。圖8C和圖8D示出根據(jù)示例性實施例的預(yù)測單元860和變換單元870。圖8C示出用于圖8B中示出的最大編碼單元810的預(yù)測單元860的劃分形狀,圖8D示出最大編碼單元810的變換單元870的劃分形狀。參照圖8D,變換單元870的劃分形狀可從預(yù)測單元860而被不同地設(shè)置。例如,即使以子編碼單元854的高度被二等分的形狀來選擇用于深度是1的子編碼單元854的預(yù)測單元,也可以以子編碼單元854的原始大小來選擇變換單元。相似地,即使以子編碼單元814和850中的每一個的高度被二等分的形狀來選擇用于深度是2的子編碼單元814和850的預(yù)測單元,也可以以與子編碼單元814和850中的每一個的原始大小相同的大小來選擇變換單元??梢砸孕∮陬A(yù)測單元的大小來選擇變換單元。例如,當(dāng)以子編碼單元852的寬度被二等分的形狀來選擇用于深度是2的子編碼單元852的預(yù)測單元時,可以以子編碼單元852按照高度和寬度的方向被四等分的具有小于預(yù)測單元形狀的大小的形狀來選擇變換單元。圖9是根據(jù)示例性實施例的用于對運動矢量進(jìn)行編碼的設(shè)備900的框圖。用于對運動矢量進(jìn)行編碼的設(shè)備900可包括在上面參照圖1描述的設(shè)備100中或上面參照圖4描述的圖像解碼器400中。參照圖9,根據(jù)示例性實施例的運動矢量編碼設(shè)備900包括預(yù)測單元910、第一編碼器920和第二編碼器930。為了對使用幀間預(yù)測(即,幀間圖像預(yù)測)編碼的塊進(jìn)行解碼,使用關(guān)于指示當(dāng)前塊與參考圖像中的相似塊之間的位置差的運動矢量的信息。因此,關(guān)于運動矢量的信息在圖像編碼處理中被編碼并被插入到比特流中。然而,如果關(guān)于運動矢量的信息照其原樣被編碼并被插入,則用于對關(guān)于運動矢量的信息進(jìn)行編碼的開銷增大,從而降低圖像數(shù)據(jù)的壓縮率。因此,在圖像編碼處理中,通過對當(dāng)前塊的運動矢量進(jìn)行預(yù)測、僅對作為預(yù)測結(jié)果而產(chǎn)生的運動矢量預(yù)測因子與原始運動矢量之間的差矢量進(jìn)行編碼、并將編碼的差矢量插入到比特流中,來對關(guān)于運動矢量的信息進(jìn)行壓縮。圖9示出使用這樣的運動矢量預(yù)測因子的用于對運動矢量進(jìn)行編碼的設(shè)備900。參照圖9,預(yù)測單元910確定當(dāng)前塊的運動矢量是基于顯式模式還是隱式模式而被預(yù)測編碼。如上所述,這樣的諸如MPEG-4H.264/MPEG-4AVC的編解碼器使用與當(dāng)前塊鄰近的先前編碼塊的運動矢量以對當(dāng)前塊的運動矢量進(jìn)行預(yù)測。例如,與當(dāng)前塊的左、上和右上側(cè)鄰近的先前編碼塊的運動矢量的中值可被用作當(dāng)前塊的運動矢量預(yù)測因子。由于使用相同的方法對使用幀間預(yù)測編碼的所有塊的運動矢量進(jìn)行預(yù)測,故關(guān)于運動矢量預(yù)測因子的信息不必被分離地編碼。然而,根據(jù)示例性實施例的設(shè)備100或圖像解碼器400使用關(guān)于運動矢量預(yù)測因子的信息未被分離地編碼的模式以及關(guān)于運動矢量預(yù)測因子的信息被編碼的模式兩者,以更準(zhǔn)確地對運動矢量進(jìn)行預(yù)測,現(xiàn)將進(jìn)行詳細(xì)描述。(1)顯式模式一種可被預(yù)測單元910選擇的對運動矢量預(yù)測因子進(jìn)行編碼的方法可以是對關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行顯式編碼的模式。顯式模式是對指示至少一個運動矢量預(yù)測因子候選中的哪個運動矢量預(yù)測因子被用于對當(dāng)前塊的運動矢量進(jìn)行預(yù)測的信息分離地進(jìn)行編碼的模式。將參照圖10A、圖10B和圖11A到圖11C對根據(jù)示例性實施例的運動矢量預(yù)測因子候選進(jìn)行描述。圖10A和圖10B示出根據(jù)示例性實施例的顯式模式的運動矢量預(yù)測因子候選。參照圖10A,根據(jù)示例性實施例的運動矢量預(yù)測方法可使用與當(dāng)前塊鄰近的先前編碼塊的運動矢量之一作為當(dāng)前塊的運動矢量預(yù)測因子。與當(dāng)前塊的上側(cè)鄰近的塊中的最左側(cè)的塊a0、與當(dāng)前塊的左側(cè)鄰近的塊中的最上側(cè)的塊b0、與當(dāng)前塊的右上側(cè)鄰近的塊c、與當(dāng)前塊的左上側(cè)鄰近的塊d、以及與當(dāng)前塊的左下側(cè)鄰近的塊e可被用于當(dāng)前塊的運動矢量預(yù)測因子。在根據(jù)示例性實施例的對圖像進(jìn)行編碼的方法和對圖像進(jìn)行解碼的方法中,圖像基于具有根據(jù)深度而不同的不同大小的編碼單元而被編碼和解碼。因此,與當(dāng)前塊的左下側(cè)鄰近的塊得運動矢量也可被用作當(dāng)前塊的運動矢量預(yù)測因子。參照圖8A,如果當(dāng)前塊是編碼單元820,則與當(dāng)前塊的左上側(cè)鄰近的編碼單元814、與當(dāng)前塊的上側(cè)鄰近的塊中在最左側(cè)的塊中的編碼單元816、與當(dāng)前塊的左側(cè)鄰近的塊中在最上側(cè)的塊中的編碼單元818、與當(dāng)前塊的右上側(cè)鄰近的編碼單元822、以及與當(dāng)前塊的左下側(cè)鄰近的編碼單元824在當(dāng)前塊之前被編碼。因此,與當(dāng)前塊的左下側(cè)鄰近的塊的運動矢量可被用作當(dāng)前塊的運動矢量預(yù)測因子。參照圖10B,與當(dāng)前塊鄰近的所有塊的運動矢量可被用作當(dāng)前塊的運動矢量預(yù)測因子。換句話說,不僅與當(dāng)前塊的上側(cè)鄰近的塊中在最左側(cè)的塊a0而且與當(dāng)前塊的上側(cè)鄰近的所有塊a0到an的運動矢量可被用作當(dāng)前塊的運動矢量預(yù)測因子,不僅與當(dāng)前塊的左側(cè)鄰近的塊中在最上側(cè)的塊b0而且與當(dāng)前塊的左側(cè)鄰近的所有塊b0到bn的運動矢量可被用作當(dāng)前塊的運動矢量預(yù)測因子??蛇x擇的,鄰近塊的運動矢量的中值可被用作運動矢量預(yù)測因子。換句話說,中值(mv_a0,mv_b0,mv_c)可被用作當(dāng)前塊的運動矢量預(yù)測因子,其中,mv_a0指示塊a0的運動矢量,mv_b0指示塊b0的運動矢量,mv_c指示塊c的運動矢量。當(dāng)前塊的運動矢量預(yù)測因子候選可根據(jù)當(dāng)前塊的大小和與當(dāng)前塊鄰近的塊的大小而被限制。這將參照圖10C到圖10E來詳細(xì)描述。圖10C到圖10E示出根據(jù)示例性實施例的與當(dāng)前塊鄰近的具有各種大小的塊。如上所述,在根據(jù)示例性實施例的對圖像進(jìn)行編碼的方法和對圖像進(jìn)行解碼的方法中,使用根據(jù)深度確定的具有各種大小的編碼單元和具有各種大小的預(yù)測單元對圖像進(jìn)行編碼。因此,與當(dāng)前塊鄰近的塊的大小可改變。因此,如果當(dāng)前塊的大小極大地不同于一些與當(dāng)前塊鄰近的塊的大小,則與當(dāng)前塊鄰近的具有不同大小的一個或多個塊的運動矢量可不被用作當(dāng)前塊的運動矢量預(yù)測因子。參照圖10C,與當(dāng)前塊1010的上側(cè)鄰近的塊1014到1018是具有小于當(dāng)前塊1010的大小的大小的塊。由于與當(dāng)前塊1010鄰近并具有與當(dāng)前塊1010相同大小的塊1012的運動矢量可與當(dāng)前塊1010的運動矢量相同或相似的可能性可能較高,故預(yù)測單元910可僅使用與當(dāng)前塊1010鄰近并具有與當(dāng)前塊1010相同大小的塊1012的運動矢量作為運動矢量預(yù)測因子。即使塊1012的大小與當(dāng)前塊1010的大小不同,僅與當(dāng)前塊1010鄰近并具有預(yù)定大小的塊的運動矢量可被用作運動矢量預(yù)測因子。例如,僅具有等于或大于當(dāng)前塊1010的大小的1/4的大小的塊1012和1018的運動矢量可被用作運動矢量預(yù)測因子。參照圖10D,與當(dāng)前塊1020的左側(cè)鄰近的塊1022的大小是當(dāng)前塊1020的大小的16倍,它們之間具有極大的差別。由于這種極大的差別,與當(dāng)前塊1020的左側(cè)鄰近的塊1022的運動矢量可以與當(dāng)前塊1020的運動矢量相同或相似的可能性可能較低。因此,與當(dāng)前塊1020的左側(cè)鄰近的塊1022的運動矢量可不被用作當(dāng)前塊1020的運動矢量預(yù)測因子,并且僅與當(dāng)前塊1020的上側(cè)鄰近的塊1024的運動矢量以及與當(dāng)前塊1020的左上側(cè)鄰近的塊1026的運動矢量可被用作當(dāng)前塊1020的運動矢量預(yù)測因子。參照圖10E,當(dāng)前塊1030的大小大于與當(dāng)前塊1030鄰近的所有塊1031到1037的大小。在這種情況下,如果與當(dāng)前塊1030鄰近的所有塊1031到1037的運動矢量被用作當(dāng)前塊1030的運動矢量預(yù)測因子,則當(dāng)前塊1030的運動矢量預(yù)測因子候選的數(shù)量會太大。隨著當(dāng)前塊1030的大小與鄰近于當(dāng)前塊1030的塊1031到1037的大小之間的差別增大,運動矢量預(yù)測因子候選的數(shù)量增大。因此,圖9中示出的預(yù)測單元910不使用與當(dāng)前塊1030鄰近的一個或多個塊的運動矢量作為當(dāng)前塊1030的運動矢量預(yù)測因子。例如,在圖10E的示例性實施例中,與當(dāng)前塊1030的左下側(cè)鄰近的塊1031的運動矢量和與當(dāng)前塊1030的右上側(cè)鄰近的塊1037的運動矢量可不被用作當(dāng)前塊1030的運動矢量預(yù)測因子。因此,如果當(dāng)前塊1030的大小等于或大于預(yù)定大小,則在預(yù)測方向上與當(dāng)前塊1030鄰近的塊的運動矢量可不被用作當(dāng)前塊1030的運動矢量預(yù)測因子。圖11A到圖11C示出根據(jù)另一示例性實施例的顯式模式的運動矢量預(yù)測因子候選。圖11A示出根據(jù)示例性實施例的對雙向預(yù)測圖像(稱為“B圖像”)的運動矢量預(yù)測因子進(jìn)行計算的方法。當(dāng)包括當(dāng)前塊的當(dāng)前圖像是執(zhí)行雙向預(yù)測的B圖像時,基于時間距離產(chǎn)生的運動矢量可以是運動矢量預(yù)測因子。可使用時間上在前的圖像1112的共同定位的位置中的塊1120的運動矢量來產(chǎn)生當(dāng)前圖像1110的當(dāng)前塊1100的運動矢量預(yù)測因子mv_temporal。例如,如果在與當(dāng)前塊1100共同定位的位置中的塊1120的運動矢量mv_colA被產(chǎn)生用于當(dāng)前圖像1110的時間上在后的圖像1114的搜索的塊1122,則可根據(jù)以下等式產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子候選mv_L0A和mv_L1A:mv_L1A=(t1/t2)×mv_colAmv_L0A=mv_L1A-mv_colA其中,mv_L0A指示用于時間上在前的圖像1112的當(dāng)前塊1100的運動矢量預(yù)測因子,mv_L1A指示用于時間上在后的圖像1114的當(dāng)前塊1100的運動矢量預(yù)測因子。在圖11A的示例性實施例中,作為B圖像的當(dāng)前圖像1110存在于時間上在前的圖像1112與時間上在后的圖像1114之間。在這種情況下,如果在與當(dāng)前塊1100共同定位的位置中的塊1120的運動矢量mv_colA從時間上在后的圖像1114被產(chǎn)生,則當(dāng)前塊1100的運動矢量可基于mv_L1A而被更準(zhǔn)確地預(yù)測。換句話說,與當(dāng)mv_colA是具有與圖11A中示出的方向相反的方向的運動矢量的情況(即,當(dāng)mv_colA是從時間上在前的圖像1112之前的另一圖像被產(chǎn)生時,并當(dāng)mv_colA是按照圖11A的方向的運動矢量時的情況下)相比,當(dāng)前塊1100的運動矢量可被更準(zhǔn)確地預(yù)測。因此,如果從當(dāng)前塊1100到在與當(dāng)前塊1100共同定位的位置中的塊1120的方向是方向List0,在與當(dāng)前塊1100共同定位的位置中的塊1120的運動矢量mv_colA應(yīng)處于方向List1,從而如圖11A中示出的時間上在前的圖像1112與時間上在后的圖像1114之間可存在當(dāng)前圖像1110的可能性可增加,并且當(dāng)前塊1100的運動矢量可基于mv_colA而被更準(zhǔn)確地預(yù)測。此外,由于圖11A中示出的圖像1110到1114按照時間順序排列,故當(dāng)前塊1100的運動矢量預(yù)測因子mv_temporal可基于圖像序列號(POC)而被產(chǎn)生。由于被當(dāng)前塊1100參考的圖像可以是與圖11A中示出的圖像1112和1114不同的圖像,故當(dāng)前塊1100的運動矢量預(yù)測因子mv_temporal基于POC被產(chǎn)生。例如,如果當(dāng)前圖像的POC是CurrPOC,并且被當(dāng)前圖像參考的圖像的POC是CurrRefPOC,則可根據(jù)以下等式產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子mv_temporal:Scale=(CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)mv_temporal=Scale×mv_colA其中,ColPOC是包括在與當(dāng)前塊1100共同定位的位置中的塊1120的時間上在前的圖像1112的POC,ColRefPOC是包括被在與當(dāng)前塊1100共同定位的位置中的塊1120參考的塊1122的時間上在后的圖像1114的POC。圖11B示出根據(jù)另一示例性實施例的產(chǎn)生B圖像的運動矢量預(yù)測因子的方法。與圖11A中示出的方法相比,在與當(dāng)前塊1100共同定位的位置中的塊存在于時間上在后的圖像1114中。參照圖11B,可使用時間上在后的圖像1114的共同定位的位置中的塊1130的運動矢量來產(chǎn)生當(dāng)前圖像1110的當(dāng)前塊1100的運動矢量預(yù)測因子。例如,如果在與當(dāng)前塊1100共同定位的位置中的塊1130的運動矢量mv_colB被產(chǎn)生用于當(dāng)前圖像1110的時間上在前的圖像1112的搜索的塊1132,則可根據(jù)以下等式產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子候選mv_L0B和mv_L1B:mv_L0B=(t3/t4)×mv_colBmv_L1B=mv_L0B-mv_colB其中,mv_L0B指示用于時間上在前的圖像1112的當(dāng)前塊1100的運動矢量預(yù)測因子,mv_L1B指示用于時間上在后的圖像1114的當(dāng)前塊1100的運動矢量預(yù)測因子。與圖11A相似,在圖11B的示例性實施例中,作為B圖像的當(dāng)前圖像1110存在于時間上在前的圖像1112與時間上在后的圖像1114之間。因此,如果在與當(dāng)前塊1100共同定位的位置中的塊1130的mv_L0B被產(chǎn)生用于時間上在前的圖像1112,則當(dāng)前塊1100的運動矢量可基于mv_L0B而被更準(zhǔn)確地預(yù)測。換句話說,與當(dāng)mv_colB是具有與圖11B中示出的方向相反方向的運動矢量時的情況(即,當(dāng)mv_colB是從時間上在后的圖像1114之后的另一圖像被產(chǎn)生時,并當(dāng)mv_colB是按照圖11B的方向的運動矢量時的情況)相比,當(dāng)前塊1100的運動矢量可被更準(zhǔn)確地預(yù)測。因此,如果從當(dāng)前塊1100到在與當(dāng)前塊1100共同定位的位置中的塊1130的方向是方向List1,在與當(dāng)前塊1100共同定位的位置中的塊1130的運動矢量mv_colB應(yīng)處于方向List0,從而如圖11B中示出的時間上在前的圖像1112與時間上在后的圖像1114之間可存在當(dāng)前圖像1110的可能性可增加,并且當(dāng)前塊1100的運動矢量可基于mv_colB而被更準(zhǔn)確地預(yù)測。此外,由于被當(dāng)前塊1100參考的圖像可以是除圖11B中示出的圖像1112和1114之外的圖像,故當(dāng)前塊1100的運動矢量預(yù)測因子可基于POC被產(chǎn)生。例如,如果當(dāng)前圖像的POC是CurrPOC,并且被當(dāng)前圖像參考的圖像的POC是CurrRefPOC,則可根據(jù)以下等式產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子:Scale=(CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)mv_temporal=Scale×mv_colB其中,ColPOC是包括在與當(dāng)前塊1100共同定位的位置中的塊1130的時間上在后的圖像1114的POC,ColRefPOC是包括被在與當(dāng)前塊1100共同定位的位置中的塊1130參考的塊1132的時間上在前的圖像1112的POC。在通過使用預(yù)測單元910產(chǎn)生B圖像的當(dāng)前塊1100的運動矢量中,在圖11A和圖11B中示出的方法之一可被使用。換句話說,由于使用在與當(dāng)前塊1100共同定位的位置中的塊1120或1130的運動矢量和時間距離來產(chǎn)生運動矢量預(yù)測因子,故僅在在共同定位的位置中的塊1120和1130的運動矢量存在時使用圖11A和圖11B中示出的方法產(chǎn)生運動矢量預(yù)測因子。因此,根據(jù)示例性實施例的預(yù)測單元910僅使用在共同定位的位置中的塊1120和1130中具有運動矢量的塊來產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子。例如,當(dāng)使用幀內(nèi)預(yù)測代替幀間預(yù)測對時間上在前的圖像1112的共同定位的位置中的塊1120進(jìn)行編碼時,塊1120的運動矢量不存在,從而不能使用圖11A中示出的產(chǎn)生運動矢量預(yù)測因子的方式來產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子。如圖11A和圖11B中所示,時間上在前的圖像1112的共同定位的位置中的塊1120和時間上在后的圖像1114的共同定位的位置中的塊1130可被用于通過使用預(yù)測單元910產(chǎn)生B圖像的當(dāng)前圖像1110的運動矢量預(yù)測因子。因此,可僅在用于對運動矢量進(jìn)行編碼的設(shè)備900知道在與當(dāng)前塊1100共同定位的位置中的塊1120和1130中的哪個塊被用于產(chǎn)生運動矢量預(yù)測因子mv_temporal時,對當(dāng)前塊1100的運動矢量預(yù)測因子進(jìn)行解碼。為此,用于對運動矢量進(jìn)行編碼的設(shè)備900可對用于指定在與當(dāng)前塊1100共同定位的位置中的塊1120和1130中的哪個塊被用于產(chǎn)生運動矢量預(yù)測因子mv_temporal的信息進(jìn)行編碼,并可將編碼的信息插入到塊頭或像條頭。圖11C示出根據(jù)示例性實施例的產(chǎn)生P圖像的運動矢量預(yù)測因子的方法。參照圖11C,可使用時間上在前的圖像1112的共同定位的位置中的塊1140的運動矢量來產(chǎn)生當(dāng)前圖像1110的當(dāng)前塊1100的運動矢量預(yù)測因子。例如,如果在與當(dāng)前塊1100共同定位的位置中的塊1140的運動矢量mv_colC被產(chǎn)生用于另一時間上在前的圖像1116的搜索的塊1142,則可根據(jù)以下等式產(chǎn)生當(dāng)前塊1100的運動矢量預(yù)測因子候選mv_L0C:mv_L0C=(t6/t5)×mv_colC如上參照圖11A和圖11B所述,mv_L0C還可基于POC被產(chǎn)生?;诋?dāng)前圖像1110的POC、被當(dāng)前圖像1110參考的圖像的POC、時間上在前的圖像1112的POC以及另一時間上在前的圖像1116的POC,可產(chǎn)生mv_L0C。由于當(dāng)前圖像1110是P圖像,與圖11A和圖11B不同,當(dāng)前塊1100的運動矢量預(yù)測因子的數(shù)量是1。綜上所述,可根據(jù)以下等式產(chǎn)生根據(jù)圖10A、圖10B以及圖11A到圖11C的運動矢量預(yù)測因子候選的集C:C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1,…,mv_aN,mv_b0,mv_b1,…,mv_bN,mv_c,mv_d,mv_e,mv_temporal}可選擇地,可根據(jù)以下等式通過減少運動矢量預(yù)測因子候選的數(shù)量來產(chǎn)生集C:C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}這里,mv_x指示塊x的運動矢量,median()指示中值,mv_temporal指示使用上面參照圖11A到圖11C所述的時間距離產(chǎn)生的運動矢量預(yù)測因子候選。此外,mv_a’指示mv_a0,mv_a1,…,mv_aN中的真正(very)第一有效運動矢量。例如,當(dāng)塊a0已經(jīng)使用幀內(nèi)預(yù)測而被編碼或參考與被當(dāng)前塊參考的圖像不同的圖像時,當(dāng)前塊a0的運動矢量mv_a0無效,從而mv_a’=mv_a1,如果塊a1的運動矢量也無效,則mv_a’=mv_a2。相似地,mv_b’指示mv_b0,mv_b1,…,mv_bN中的真正第一有效運動矢量,mv_c’指示mv_c,mv_d,mv_e中的真正第一有效運動矢量。與當(dāng)前塊鄰近的塊的運動矢量中的參考與被當(dāng)前塊參考的圖像不同的圖像的塊的運動矢量可能不會對當(dāng)前塊的運動矢量進(jìn)行有效地預(yù)測。因此,參考與被當(dāng)前塊參考的圖像不同的圖像的塊的運動矢量可從運動矢量預(yù)測因子候選的集C中被排除。顯式模式是對指示哪個運動矢量已被用于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼的模式。例如,當(dāng)運動矢量在顯式模式下被編碼時,二進(jìn)制數(shù)可被分配給集C中的每個元素(即,運動矢量預(yù)測因子候選),如果它們中的一個被用作當(dāng)前塊的運動矢量預(yù)測因子,則相應(yīng)的二進(jìn)制數(shù)可被輸出。由于相應(yīng)的二進(jìn)制數(shù)被分配給每個運動矢量預(yù)測因子候選以指定集C中的元素的一個并且所述相應(yīng)的二進(jìn)制數(shù)被輸出,故隨著集C的元素的數(shù)量減少,可以以更少比特的二進(jìn)制數(shù)來指定集C的元素。因此,如果重復(fù)的運動矢量預(yù)測因子候選在集C中出現(xiàn),則所述重復(fù)的運動矢量預(yù)測因子候選可從集C中被排除,并且二進(jìn)制數(shù)被分配給運動矢量預(yù)測因子候選。例如,當(dāng)如上所述集C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}時,如果mv_a’、mv_b’和mv_c’全部相同,則集C可被確定為如C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_temporal}中的三個元素,并且二進(jìn)制數(shù)可被分配。如果在從集C中排除重復(fù)的運動矢量預(yù)測因子候選之前可使用3比特來指定集C中的元素,則在從集C中排除重復(fù)的運動矢量預(yù)測因子候選之后可使用2比特來指定集C中的元素。取代于從集C中排除重復(fù)的運動矢量預(yù)測因子候選,可添加預(yù)定權(quán)重以增加重復(fù)的運動矢量預(yù)測因子候選可被確定為當(dāng)前塊的運動矢量預(yù)測因子的可能性。在如上所述的示例中,由于mv_a’、mv_b’和mv_c’全部相同并且僅mv_a’包括在集C中,故可通過將預(yù)定權(quán)重添加到mv_a’來增加mv_a’可被確定為當(dāng)前塊的運動矢量預(yù)測因子的可能性。此外,當(dāng)僅存在一個運動矢量預(yù)測因子候選時,不管顯式模式,可不對用于指定運動矢量預(yù)測因子候選中的一個的二進(jìn)制數(shù)進(jìn)行編碼。例如,當(dāng)集C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1,…,mv_aN,mv_b0,mv_b1,…,mv_bN,mv_c,mv_d,mv_e,mv_temporal}時并且如果塊a0到aN、塊b0到bN、塊c、塊d和塊e是幀內(nèi)預(yù)測的塊,則集C={mv_temporal},從而實質(zhì)上包括一個元素。因此,在這種情況下,用于對運動矢量進(jìn)行編碼的設(shè)備900可不管顯式模式而不對用于從多個運動矢量預(yù)測因子候選中指定一個運動矢量預(yù)測因子候選的二進(jìn)制數(shù)進(jìn)行編碼。本領(lǐng)域的普通技術(shù)人員將容易地理解,可使用除了上面參照顯式模式描述的運動矢量預(yù)測因子候選之外的其它運動矢量預(yù)測因子候選。(2)隱式模式可由預(yù)測單元910選擇的對運動矢量預(yù)測因子進(jìn)行編碼的另一方法是僅對指示基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的塊或像素來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼的模式。與顯式模式不同,隱式模式是對指示在隱式模式下運動矢量預(yù)測因子的產(chǎn)生的信息進(jìn)行編碼而不對用于指定運動矢量預(yù)測因子的信息進(jìn)行編碼的模式。如上所述,諸如MPEG-4H.264/MPEG-4AVC的編解碼器使用與當(dāng)前塊鄰近的先前編碼塊的運動矢量以對當(dāng)前塊的運動矢量進(jìn)行預(yù)測。也就是說,與當(dāng)前塊的左、上和右上側(cè)鄰近的先前編碼塊的運動矢量的中值被用作當(dāng)前塊的運動矢量預(yù)測因子。在這種情況下,與顯式模式不同,用于選擇運動矢量預(yù)測因子候選中的一個的信息不是必須被編碼。換句話說,如果在圖像編碼處理中僅對指示當(dāng)前塊的運動矢量預(yù)測因子已經(jīng)在隱式模式下被編碼的信息進(jìn)行編碼,則在圖像解碼處理中與當(dāng)前塊的左、上和右上側(cè)鄰近的先前編碼塊的運動矢量的中值可被用作當(dāng)前塊的運動矢量預(yù)測因子。此外,根據(jù)示例性實施例的圖像編碼方法提供了一種通過將與當(dāng)前塊鄰近的先前編碼像素值用作模板來產(chǎn)生運動矢量預(yù)測因子的新的隱式模式。這將參照圖12A進(jìn)行詳細(xì)描述。圖12A示出根據(jù)示例性實施例的產(chǎn)生隱式模式的運動矢量預(yù)測因子的方法。參照圖12A,包括在與當(dāng)前圖像1210的當(dāng)前塊1200鄰近的先前編碼區(qū)域1220中的像素1222被用于產(chǎn)生當(dāng)前塊1200的運動矢量預(yù)測因子。通過使用鄰近像素1222搜索參考圖像1212來確定相應(yīng)的像素1224??赏ㄟ^計算絕對差和(SAD)來確定相應(yīng)的像素1224。當(dāng)相應(yīng)的像素1224被確定時,鄰近像素1222的運動矢量mv_template被產(chǎn)生,并且運動矢量mv_template可被用作當(dāng)前塊1200的運動矢量預(yù)測因子。運動矢量預(yù)測因子候選的集C可被用于從參考圖像1212搜索mv_template。這將參照圖12B進(jìn)行詳細(xì)描述。圖12B示出根據(jù)示例性實施例的搜索隱式模式的運動矢量預(yù)測因子的方法。參照圖12B,當(dāng)預(yù)測單元910通過使用與當(dāng)前塊1200鄰近的像素1222搜索參考圖像1212時,可設(shè)置預(yù)定的搜索范圍1226,并可僅在預(yù)定的搜索范圍1226內(nèi)搜索相應(yīng)的像素1224??苫谌缟纤龅倪\動矢量預(yù)測因子候選來設(shè)置搜索范圍1226??苫谶\動矢量預(yù)測因子候選來確定搜索范圍1226的中心,并且包括在預(yù)定的像素范圍中的區(qū)域可被設(shè)置為來自搜索范圍的確定的中心的搜索范圍1226。由于可存在多個運動矢量預(yù)測因子候選,故多個搜索范圍1226可被設(shè)置,并且搜索范圍1226可在不同圖像中被設(shè)置。通過搜索多個搜索范圍1226來確定具有最小SAD的相應(yīng)的像素1224,并基于所述確定來產(chǎn)生mv_template。與當(dāng)前塊1200鄰近的像素1222的大小和形狀可改變。因此,現(xiàn)將參照圖12C進(jìn)行詳細(xì)描述。圖12C示出根據(jù)示例性實施例的用于產(chǎn)生運動矢量預(yù)測因子的模板。參照圖12C,用于通過使用預(yù)測單元910產(chǎn)生當(dāng)前塊1200的運動矢量預(yù)測因子的與當(dāng)前塊1200鄰近的像素1222(如圖12A中所示)可具有不同的大小和形狀。例如,當(dāng)當(dāng)前塊1200的大小是4×4時,與當(dāng)前塊1220鄰近的像素1222可被設(shè)置為僅包括9個像素,如圖12C中所述,與當(dāng)前塊1220鄰近的像素1228可被設(shè)置為包括9個或更多像素。此外,像素1222可被設(shè)置為具有除形狀“┌”之外的形狀,如圖12A到圖12C所示。圖12D示出根據(jù)另一示例性實施例的用于產(chǎn)生運動矢量預(yù)測因子的模板。在SAD的計算中,不是所有與當(dāng)前塊1200鄰近的像素均被使用,而是可僅使用與當(dāng)前塊1200鄰近的像素1222中的一些。例如,可僅使用與當(dāng)前塊1200鄰近的大小為4×4的9個像素1222中的3、5或7個像素來計算SAD。圖12D示出通過僅使用與當(dāng)前塊的左上側(cè)鄰近的像素、與當(dāng)前塊的上側(cè)鄰近的像素中在最右側(cè)的像素以及與當(dāng)前塊的左側(cè)鄰近的像素中在最下側(cè)的像素來計算SAD的模板。以上參照圖12B到圖12D描述的關(guān)于模板的不同大小和形狀的信息可與運動矢量分離地編碼,可被編碼為像條參數(shù)并被插入到像條頭,或可被編碼為序列參數(shù)并被插入到比特流中。如果使用鄰近塊的運動矢量的中值作為運動矢量預(yù)測因子的模式被定義為“implicitmode_1”,并且如果使用與當(dāng)前塊鄰近的像素來產(chǎn)生運動矢量預(yù)測因子的模式被定義為“implicitmode_2”,則可使用兩個隱式模式implicitmode_1和implicitmode_2中的一個通過在圖像編碼處理中對關(guān)于兩個隱式模式中的一個的信息進(jìn)行編碼并在圖像解碼處理中參照關(guān)于模式的信息來產(chǎn)生運動矢量預(yù)測因子。(3)模式選擇可存在用于預(yù)測單元910選擇上述顯式模式和隱式模式中的一個的各種標(biāo)準(zhǔn)。由于在顯示模式下選擇了多個運動矢量預(yù)測因子候選中的一個,故與當(dāng)前塊的運動矢量更相似的運動矢量預(yù)測因子可被選擇。相反,由于指示多個運動矢量預(yù)測因子候選中的一個的信息被編碼,故可比在隱式模式下發(fā)生更大的開銷。因此,對于具有較大大小的編碼單元,合適的是在顯式模式下對運動矢量進(jìn)行編碼,這是由于增加當(dāng)運動矢量被錯誤預(yù)測時發(fā)生誤差的可能性對于具有較大大小的編碼單元來說高于具有較小大小的編碼單元,并且當(dāng)編碼單元的大小較大時對每個圖像開銷發(fā)生的頻率減小。例如,當(dāng)平均地劃分為大小為64×64的m個編碼單元的圖像在顯式模式中被編碼時,開銷發(fā)生的次數(shù)是m。然而,當(dāng)平均地劃分為大小為32×32的4m個編碼單元的具有相同大小的圖像在顯式模式中被編碼時,開銷發(fā)生的次數(shù)是4m。因此,根據(jù)示例性實施例的預(yù)測單元910可在當(dāng)前塊的運動矢量被編碼時,基于編碼單元的大小來選擇顯式模式和隱式模式中的一個。由于使用深度來呈現(xiàn)在上面參照圖1到圖8所述的根據(jù)示例性實施例的圖像編碼方法和圖像解碼方法中的編碼單元的大小,故預(yù)測單元910基于當(dāng)前塊的深度來選擇當(dāng)前塊的運動矢量在顯式模式還是在隱式模式中被編碼。例如,當(dāng)深度是0和1的編碼單元被幀間預(yù)測時,編碼單元的運動矢量在顯式模式下被編碼,當(dāng)深度等于或大于2的編碼單元被幀間預(yù)測時,編碼單元的運動矢量在隱式模式下被編碼。根據(jù)另一示例性實施例,預(yù)測單元910可針對每個圖像或像條單元來選擇顯式模式或隱式模式。由于圖像特征對于每個圖像或像條單元是不同的,故可通過考慮這些圖像特征針對每個圖像或像條來選擇顯式模式或隱式模式??赏ㄟ^考慮R-D代價從顯式模式和隱式模式中選擇最優(yōu)模式來對包括在當(dāng)前圖像或像條中的編碼單元的運動矢量進(jìn)行預(yù)測編碼。例如,如果包括在當(dāng)前圖像或像條中的編碼單元的運動矢量可在不使用顯式模式的情況下被準(zhǔn)確地預(yù)測,故包括在當(dāng)前圖像或像條中的所有編碼單元的運動矢量可在隱式模式下被預(yù)測編碼。根據(jù)另一示例性實施例,預(yù)測單元910可基于當(dāng)前塊是否已經(jīng)在跳過模式下被編碼來選擇顯式模式或隱式模式。跳過模式是僅對指示當(dāng)前塊已經(jīng)在跳過模式下被編碼的標(biāo)志信息進(jìn)行編碼而不對像素值進(jìn)行編碼的編碼模式。跳過模式是在通過使用作為當(dāng)前塊的運動矢量的運動矢量預(yù)測因子執(zhí)行運動補償而產(chǎn)生的預(yù)測塊性相似于當(dāng)前塊的情況下當(dāng)前塊的像素值不被編碼的模式。因此,由于運動矢量預(yù)測因子被產(chǎn)生為更相似于當(dāng)前塊的運動矢量,在跳過模式下對當(dāng)前塊進(jìn)行編碼的可能性更高。因此,在跳過模式下編碼的塊可在顯式模式下被編碼。參照回圖9,當(dāng)預(yù)測單元910選擇顯式模式和隱式模式中的一個并根據(jù)選擇的模式確定運動矢量預(yù)測因子時,第一編碼器920和第二編碼器930對關(guān)于編碼模式和運動矢量的信息進(jìn)行編碼。第一編碼器920對關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼。更詳細(xì)地,當(dāng)預(yù)測單元910選擇當(dāng)前塊的運動矢量在顯式模式下被編碼時,第一編碼器920對以下信息進(jìn)行編碼:指示運動矢量預(yù)測因子已經(jīng)在顯式模式下被產(chǎn)生的信息以及指示運動矢量預(yù)測因子候選已被用作當(dāng)前塊的運動矢量預(yù)測因子的信息。此外,如果多個運動矢量預(yù)測因子候選包括上面參照圖11A到圖11C描述的mv_temporal,則指示在與當(dāng)前塊共同定位的位置中的塊1200或1300(作為用于產(chǎn)生mv_temporal的基礎(chǔ))是時間上在前的圖像的塊還是時間上在后的圖像的塊的信息也被編碼。相反,當(dāng)預(yù)測單元910選擇當(dāng)前塊的運動矢量在隱式模式下被編碼時,第一編碼器920對指示當(dāng)前塊的運動矢量預(yù)測因子已經(jīng)在隱式模式下被產(chǎn)生的信息進(jìn)行編碼。換句話說,第一編碼器920對指示已經(jīng)使用與當(dāng)前塊鄰近的塊或像素產(chǎn)生了當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼。如果兩個或更多隱式模式被使用,則第一編碼器920還可對指示哪個隱式模式已被用于產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼。隱式模式可以是通過以下步驟產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子的模式:基于當(dāng)前塊的運動矢量預(yù)測因子候選來設(shè)置搜索范圍,并在基于與當(dāng)前塊鄰近的先前編碼區(qū)域的像素設(shè)置的搜索范圍內(nèi)進(jìn)行搜索,如圖12C所示。第二編碼器930基于由預(yù)測單元910確定的運動矢量預(yù)測因子對當(dāng)前塊的運動矢量進(jìn)行編碼??蛇x擇地,第二編碼器930通過從作為運動補償?shù)慕Y(jié)果而產(chǎn)生的當(dāng)前塊的運動矢量中減去由預(yù)測單元910產(chǎn)生的運動矢量預(yù)測因子來產(chǎn)生差矢量,并對關(guān)于差矢量的信息進(jìn)行編碼。圖13是根據(jù)示例性實施例的用于對運動矢量進(jìn)行解碼的設(shè)備1300的框圖?,F(xiàn)將詳細(xì)描述可包括在上面參照圖2描述的圖像解碼設(shè)備200或上面參照圖5描述的圖像解碼器500中的用于對運動矢量進(jìn)行解碼的設(shè)備1300。參照圖13,運動矢量解碼設(shè)備1300包括第一解碼器1310、第二解碼器1320、預(yù)測單元1330和運動矢量恢復(fù)器1340。第一解碼器1310對包括在比特流中的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行解碼。詳細(xì)地,第一解碼器1310對指示當(dāng)前塊的運動矢量預(yù)測因子已在顯式模式還是隱式模式下被編碼的信息進(jìn)行解碼。當(dāng)當(dāng)前塊的運動矢量預(yù)測因子已在顯式模式下被編碼時,第一解碼器1310還對指示多個運動矢量預(yù)測因子中的被用作當(dāng)前塊的運動矢量預(yù)測因子的一個運動矢量預(yù)測因子的信息進(jìn)行解碼。此外,如果多個運動矢量預(yù)測因子候選包括上面參照圖11A到圖11C描述的mv_temporal,則指示在與當(dāng)前塊共同定位的位置中的塊1200或1300(作為用于產(chǎn)生mv_temporal的基礎(chǔ))是時間上在前的圖像的塊還是時間上在后的圖像的塊的信息也被解碼。當(dāng)當(dāng)前塊的運動矢量預(yù)測因子已在隱式模式中被解碼時,第一解碼器1310還可對指示多個隱式模式中的一個已被用于對當(dāng)前塊的運動矢量預(yù)測因子進(jìn)行編碼的信息進(jìn)行解碼。隱式模式可以是通過以下步驟產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子的模式:基于當(dāng)前塊的運動矢量預(yù)測因子候選來設(shè)置搜索范圍,并在基于與當(dāng)前塊鄰近的先前編碼區(qū)域的像素設(shè)置的搜索范圍內(nèi)進(jìn)行搜索,如圖12C所示。第二解碼器1320對包括在比特流中的當(dāng)前塊的運動矢量與運動矢量預(yù)測因子之間的差矢量進(jìn)行解碼。預(yù)測單元1330基于已由第一解碼器1310解碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子。當(dāng)已在顯式模式中被編碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息被解碼時,預(yù)測單元1330在上面參照圖10A、圖10B和圖11A到圖11C中描述的運動矢量預(yù)測因子候選中產(chǎn)生一個運動矢量預(yù)測因子,并使用其作為當(dāng)前塊的運動矢量預(yù)測因子。當(dāng)已在顯式模式中被編碼的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息被解碼時,預(yù)測單元1330使用包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的塊或像素來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子。更詳細(xì)地,預(yù)測單元1330產(chǎn)生與當(dāng)前塊鄰近的塊的運動矢量的中值作為當(dāng)前塊的運動矢量預(yù)測因子,或通過使用與當(dāng)前塊鄰近的像素搜索參考圖像來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子。運動矢量恢復(fù)器1340通過將由預(yù)測單元1330產(chǎn)生的運動矢量預(yù)測因子與由第二解碼器1320解碼的差矢量相加來恢復(fù)當(dāng)前塊的運動矢量?;謴?fù)的運動矢量被用于當(dāng)前塊的運動補償。圖14是根據(jù)示例性實施例的對運動矢量進(jìn)行編碼方法的流程圖。參照圖14,在操作1410,根據(jù)示例性實施例的運動矢量編碼設(shè)備選擇顯式模式和隱式模式中的一個作為對關(guān)于運動矢量預(yù)測因子的信息進(jìn)行編碼的模式。顯式模式是對作為關(guān)于運動矢量預(yù)測因子的信息的指示至少一個運動矢量預(yù)測因子候選中的一個運動矢量預(yù)測因子候選進(jìn)行編碼的模式,隱式模式是對作為關(guān)于運動矢量預(yù)測因子的信息的指示已基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的塊或像素產(chǎn)生了運動矢量預(yù)測因子的信息進(jìn)行編碼的模式。已在上面參照圖10A到圖10E、圖11A到圖11C和圖12A到圖12C給出了其詳細(xì)描述??苫诋?dāng)前塊的大小(即,當(dāng)前塊的深度)來選擇模式,或可以以包括當(dāng)前塊的當(dāng)前圖像或像條為單位來選擇模式??蛇x擇地,可根據(jù)當(dāng)前塊是否已在跳過模式下被編碼來選擇模式。在操作1420,運動矢量編碼設(shè)備根據(jù)在操作1410中選擇的模式來確定運動矢量預(yù)測因子。詳細(xì)地,運動矢量編碼設(shè)備基于在操作1410中選擇的顯式模式或隱式模式來確定當(dāng)前塊的運動矢量預(yù)測因子。更詳細(xì)地,運動矢量編碼設(shè)備在顯式模式下在至少一個運動矢量預(yù)測因子候選中確定一個運動矢量預(yù)測因子候選作為當(dāng)前塊的運動矢量預(yù)測因子,或者在隱式模式下基于與當(dāng)前塊鄰近的塊或像素來確定當(dāng)前塊的運動矢量預(yù)測因子。在操作1430,運動矢量編碼設(shè)備對在操作1420中確定的關(guān)于運動矢量預(yù)測因子的信息進(jìn)行編碼。在顯式模式的情況下,運動矢量編碼設(shè)備對以下信息進(jìn)行編碼:指示至少一個運動矢量預(yù)測因子候選中的一個運動矢量預(yù)測因子的信息以及指示關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息已在顯式模式下被編碼的信息。此外,如果多個運動矢量預(yù)測因子候選包括上面參照圖11A到圖11C描述的mv_temporal,則指示在與當(dāng)前塊共同定位的位置中的塊1200或1300(作為用于產(chǎn)生mv_temporal的基礎(chǔ))是時間上在前的圖像的塊還是時間上在后的圖像的塊的信息也被編碼。在隱式模式的情況下,運動矢量編碼設(shè)備對指示已經(jīng)基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的塊或像素產(chǎn)生了當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行編碼。在多個隱式模式的情況下,運動矢量編碼設(shè)備還可對指示多個隱式模式中的一個的信息進(jìn)行編碼。隱式模式可以是通過以下步驟產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子的模式:基于當(dāng)前塊的運動矢量預(yù)測因子候選來設(shè)置搜索范圍,并在基于與當(dāng)前塊鄰近的先前編碼區(qū)域的像素設(shè)置的搜索范圍內(nèi)進(jìn)行搜索,如圖12C所示。在操作1440,運動矢量編碼設(shè)備對通過從當(dāng)前塊的運動矢量減去在操作1420中確定的運動矢量預(yù)測因子而產(chǎn)生的差矢量進(jìn)行編碼。圖15是根據(jù)示例性實施例的對運動矢量進(jìn)行解碼方法的流程圖。參照圖15,在操作1510,根據(jù)示例性實施例的運動矢量解碼設(shè)備對包括在比特流中的關(guān)于當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行解碼。詳細(xì)地,運動矢量解碼設(shè)備對關(guān)于顯式模式或隱式模式中的用于對當(dāng)前塊的運動矢量預(yù)測因子進(jìn)行編碼的模式的信息進(jìn)行解碼。在顯式模式的情況下,運動矢量解碼設(shè)備對指示當(dāng)前塊的運動矢量預(yù)測因子已在顯式模式下被編碼的信息以及關(guān)于至少一個運動矢量預(yù)測因子候選中的一個運動矢量預(yù)測因子候選的信息進(jìn)行解碼。此外,如果多個運動矢量預(yù)測因子候選包括上面參照圖11A到圖11C描述的mv_temporal,則指示在與當(dāng)前塊共同定位的位置中的塊1200或1300(作為用于產(chǎn)生mv_temporal的基礎(chǔ))是時間上在前的圖像的塊還是時間上在后的圖像的塊的信息也被解碼。在隱式模式的情況下,運動矢量解碼設(shè)備對指示已經(jīng)基于包括在與當(dāng)前塊鄰近的先前編碼區(qū)域中的塊或像素產(chǎn)生了當(dāng)前塊的運動矢量預(yù)測因子的信息進(jìn)行解碼。在多個隱式模式的情況下,運動矢量解碼設(shè)備還可對指示多個隱式模式中的一個的信息進(jìn)行解碼。隱式模式可以是通過以下步驟產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子的模式:基于當(dāng)前塊的運動矢量預(yù)測因子候選來設(shè)置搜索范圍,并在基于與當(dāng)前塊鄰近的先前編碼區(qū)域的像素設(shè)置的搜索范圍內(nèi)進(jìn)行搜索,如圖12C所示。在操作1520,運動矢量解碼設(shè)備對關(guān)于差矢量的信息進(jìn)行解碼。差矢量是當(dāng)前塊的運動矢量預(yù)測因子與當(dāng)前塊的運動矢量之間的差的矢量。在操作1530,運動矢量解碼設(shè)備基于已在操作1510中解碼的關(guān)于運動矢量預(yù)測因子的信息來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子。詳細(xì)地,運動矢量解碼設(shè)備根據(jù)顯式模式或隱式模式產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子。更詳細(xì)地,運動矢量解碼設(shè)備通過在至少一個運動矢量預(yù)測因子候選中選擇一個運動矢量預(yù)測因子候選或通過使用包括在與當(dāng)前塊鄰近的先前解碼區(qū)域中的塊或像素,來產(chǎn)生當(dāng)前塊的運動矢量預(yù)測因子。在操作1540,運動矢量解碼設(shè)備通過將在操作1520中解碼的差矢量與在操作1530中產(chǎn)生的運動矢量預(yù)測因子相加來恢復(fù)當(dāng)前塊的運動矢量。如上所述,根據(jù)示例性實施例,可通過使用關(guān)于運動矢量的信息不被分離地編碼的模式和關(guān)于運動矢量預(yù)測因子的信息被編碼的模式兩者來更準(zhǔn)確地對運動矢量進(jìn)行預(yù)測。雖然上面已經(jīng)具體示出和描述了示例性實施例,但是本領(lǐng)域的普通技術(shù)人員將理解,在不脫離范圍由權(quán)利要求及其等同物限定的本發(fā)明構(gòu)思的精神和范圍的情況下可做出形式和細(xì)節(jié)上的各種改變。另外,示例性實施例可被實現(xiàn)為計算機可讀記錄介質(zhì)上的計算機可讀代碼。例如,在圖1、圖2、圖4、圖5、圖9和圖13中示出的圖像編碼或解碼設(shè)備、圖像編碼器或解碼器、用于對運動矢量進(jìn)行編碼的設(shè)備和用于對運動矢量進(jìn)行解碼的設(shè)備可包括連接到所述設(shè)備或編碼器的每個單元的總線、連接到總線并用于執(zhí)行命令的至少一個處理器以及連接到總線以存儲命令、接收的消息和產(chǎn)生的消息的存儲器。計算機可讀記錄介質(zhì)是可存儲其后可被計算機系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲裝置。計算機可讀記錄介質(zhì)的示例包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲裝置。計算機可讀記錄介質(zhì)還可分布于聯(lián)網(wǎng)的計算機系統(tǒng),從而以分布式方式存儲和執(zhí)行計算機可讀代碼。