運動向量預(yù)測本申請案主張2011年1月21日申請的第61/435,204號美國臨時申請案以及2011年3月7日申請的第61/449,991號美國臨時申請案的權(quán)利,所述申請案兩者的全部內(nèi)容以引用的方式并入本文中。技術(shù)領(lǐng)域本發(fā)明涉及視頻譯碼,且更具體來說涉及用于在譯碼視頻數(shù)據(jù)時執(zhí)行運動向量預(yù)測、運動估計和運動補償?shù)募夹g(shù)。
背景技術(shù):可將數(shù)字視頻能力并入于廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或臺式計算機、數(shù)碼相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及其類似者。數(shù)字視頻裝置實施視頻壓縮技術(shù)(例如,在由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分(高級視頻譯碼(AVC))定義的標準、當(dāng)前在開發(fā)過程中的高效率視頻譯碼(HEVC)標準及此類標準的擴展中所描述的視頻壓縮技術(shù))以更有效率地發(fā)射、接收和存儲數(shù)字視頻信息。視頻壓縮技術(shù)包含空間預(yù)測和/或時間預(yù)測以減少或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,可將視頻幀或切片分割為多個塊??蓪γ恳粔K進行進一步分割。使用相對于同一幀或切片中的鄰近塊中的參考樣本的空間預(yù)測來編碼經(jīng)幀內(nèi)譯碼(I)的幀或切片中的塊。經(jīng)幀間譯碼(P或B)的幀或切片中的塊可使用相對于同一幀或切片中的鄰近塊中的參考樣本的空間預(yù)測或相對于其它參考幀中的參考樣本的時間預(yù)測??臻g或時間預(yù)測產(chǎn)生待譯碼的塊的預(yù)測性塊。殘余數(shù)據(jù)表示待譯碼的原始塊與預(yù)測性塊之間的像素差。根據(jù)指向形成預(yù)測性塊的參考樣本的塊的運動向量和指示經(jīng)譯碼塊與預(yù)測性塊之間的差的殘余數(shù)據(jù)來編碼幀間譯碼的塊。根據(jù)幀內(nèi)譯碼模式和殘余數(shù)據(jù)來編碼幀內(nèi)譯碼的塊。為了進一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,產(chǎn)生殘余變換系數(shù),接 著可將殘余變換系數(shù)量化??梢蕴囟ù涡騺頀呙枳畛跻远S陣列布置的量化變換系數(shù)以便產(chǎn)生變換系數(shù)的一維向量用于熵譯碼。
技術(shù)實現(xiàn)要素:本發(fā)明大體上描述用于譯碼視頻數(shù)據(jù)的技術(shù)。本發(fā)明描述用于在進行幀間模式譯碼(即,相對于其它幀的塊而對當(dāng)前塊譯碼)時執(zhí)行運動向量預(yù)測、運動估計與運動補償?shù)募夹g(shù)。在一些實例中,所述技術(shù)可包含在對當(dāng)前塊譯碼時從鄰近塊復(fù)制預(yù)測方向和參考幀索引。另外,技術(shù)可包含使用當(dāng)前塊的運動向量與鄰近塊的運動向量之間的運動向量差來允許較有效的譯碼。在本發(fā)明的一個實例中,一種編碼視頻數(shù)據(jù)的方法包含確定視頻幀的一個或一個以上候選部分中的每一者的候選運動向量以及確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量。所述當(dāng)前運動向量識別至少部分匹配所述當(dāng)前幀的所述當(dāng)前部分的參考幀的部分。方法還包含:計算當(dāng)前運動向量與候選運動向量中的每一者之間的運動向量差;基于所計算的運動向量差來選擇候選運動向量中的一者;用信號發(fā)送識別具有候選運動向量中的選定一者的候選部分的索引;以及用信號發(fā)送關(guān)于候選運動向量中的選定一者而計算的對應(yīng)運動向量差。在本發(fā)明的另一實例中,呈現(xiàn)一種經(jīng)配置以編碼視頻數(shù)據(jù)的設(shè)備。所述設(shè)備包括視頻編碼器,其經(jīng)配置以確定視頻幀的一個或一個以上候選部分中的每一者的候選運動向量以及確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量,其中所述當(dāng)前運動向量識別至少部分匹配所述當(dāng)前幀的所述當(dāng)前部分的參考幀的部分。所述視頻編碼器經(jīng)進一步配置以:計算所述當(dāng)前運動向量與所述候選運動向量中的每一者之間的運動向量差;基于所計算的運動向量差來選擇所述候選運動向量中的一者;以及用信號發(fā)送識別具有所述候選運動向量中的選定一者的所述候選部分的索引;以及用信號發(fā)送關(guān)于所述候選運動向量中的選定一者而計算的對應(yīng)運動向量差。在本發(fā)明的另一實例中,一種解碼視頻數(shù)據(jù)的方法包含:接收識別幀的候選部分的索引且接收運動向量差;檢索與候選部分相關(guān)聯(lián)的候選運動向量;基于所接收運動向量差和候選運動向量而確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量;以及使用所確定的當(dāng)前運動向量來對當(dāng)前部分執(zhí)行運動補償來產(chǎn)生預(yù)測性視頻數(shù)據(jù)。在本發(fā)明的另一實例中,呈現(xiàn)一種經(jīng)配置以解碼視頻數(shù)據(jù)的設(shè)備。所述設(shè)備包含視頻解碼器,其經(jīng)配置以接收識別幀的候選部分的索引以及接收運動向量差。所述視頻解碼器經(jīng)進一步配置以:檢索與候選部分相關(guān)聯(lián)的候選運動向量;基于所接收的運動向量 差與候選運動向量而確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量;以及使用所確定的當(dāng)前運動向量來對當(dāng)前部分執(zhí)行運動補償以產(chǎn)生預(yù)測性視頻數(shù)據(jù)。在附圖和以下描述中陳述一個或一個以上實例的細節(jié)。其它特征、目標和優(yōu)勢將從描述和附圖以及從權(quán)利要求書中顯而易見。附圖說明圖1A和1B是說明譯碼單元分裂的實例的概念圖。圖2A和2B是預(yù)測語法譯碼的實例的概念圖。圖3是說明實例視頻編碼與解碼系統(tǒng)的框圖。圖4是說明實例視頻編碼器的框圖。圖5是說明實例視頻解碼器的框圖。圖6是說明編碼視頻的實例方法的流程圖。圖7是說明解碼視頻的實例方法的流程圖。圖8是說明解碼視頻的另一實例方法的流程圖。圖9是說明解碼視頻的另一實例方法的流程圖。具體實施方式本發(fā)明大體上描述用于譯碼視頻數(shù)據(jù)的技術(shù)。本發(fā)明描述用于在對視頻數(shù)據(jù)進行幀間模式譯碼(即,相對于其它幀的塊的譯碼)時執(zhí)行運動估計與運動補償?shù)募夹g(shù)。具體來說,本發(fā)明提議在對當(dāng)前塊譯碼時從鄰近塊復(fù)制預(yù)測方向和參考幀索引。另外,本發(fā)明提議使用當(dāng)前塊的運動向量與鄰近塊的運動向量之間的運動向量差來允許較靈活且有效的譯碼。替代整個運動向量而發(fā)送運動向量差可產(chǎn)生較少的用信號發(fā)送的位。此外,連同復(fù)制預(yù)測方向和參考幀索引一起使用運動向量差提供已經(jīng)解碼預(yù)測語法的有效再用,同時提供當(dāng)前塊的運動向量的更準確再生。數(shù)字視頻裝置實施視頻壓縮技術(shù)以更有效地編碼和解碼數(shù)字視頻信息。視頻壓縮可應(yīng)用空間(幀內(nèi))預(yù)測和/或時間(幀間)預(yù)測技術(shù)以減少或移除視頻序列中所固有的冗余。對于根據(jù)當(dāng)前正由視頻譯碼聯(lián)合合作小組(JCT-VC)開發(fā)的高效率視頻譯碼(HEVC)標準的視頻譯碼,作為一個實例,可將視頻幀分割為多個譯碼單元。譯碼單元(CU)通常指代用作基本單元的圖像區(qū)域,可將各種譯碼工具應(yīng)用于所述基本單元以用于視頻壓縮。CU通常具有亮度分量(指示為Y)和兩個色度分量(指示為U和V)。取決于視頻取樣格式,就樣本數(shù)目來說,U和V分量的大小可與Y分量的大小相同或不同。CU通常為 方形的,且(例如)在其它視頻譯碼標準(例如ITU-TH.264)下可被視為類似于所謂的宏塊。將在本申請案中描述根據(jù)目前正在開發(fā)的HEVC標準的所提議方面中的一些的譯碼以用于說明目的。然而,本發(fā)明中所描述的技術(shù)可有用于其它視頻譯碼過程,例如根據(jù)H.264或其它標準所定義的那些視頻譯碼過程或?qū)S幸曨l譯碼過程。HEVC標準化努力是基于被稱作HEVC測試模型(HM)的視頻譯碼裝置的模型。HM假設(shè)了視頻譯碼裝置優(yōu)于根據(jù)(例如)ITU-TH.264/AVC的裝置的若干能力。舉例來說,盡管H.264提供九個幀內(nèi)預(yù)測編碼模式,但HM提供多達三十四個幀內(nèi)預(yù)測編碼模式。根據(jù)HM,CU可包含一個或一個以上預(yù)測單元(PU)和/或一個或一個以上變換單元(TU)。位流內(nèi)的語法數(shù)據(jù)可界定最大譯碼單元(LCU),LCU就像素數(shù)目來說是最大CU。大體上,除了CU不具有大小區(qū)別之外,CU的用途類似于H.264的宏塊。因此,CU可分裂為多個子CU。大體上,本發(fā)明中對CU的引用可指代圖片的最大譯碼單元或LCU的子CU。LCU可分裂為多個子CU,且每一子CU可進一步分裂為多個子CU。位流的語法數(shù)據(jù)可界定LCU可分裂的最大次數(shù),稱作CU深度。因此,位流還可界定最小譯碼單元(SCU)。本發(fā)明還使用術(shù)語“塊”或“部分”來指代CU、PU或TU中的任一者。大體上,“部分”可指代視頻幀的任何子集。LCU可與四叉樹數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)。圖1A是四叉樹分裂的概念圖。大體上,四叉樹數(shù)據(jù)結(jié)構(gòu)對于每一CU包含一個節(jié)點,其中根節(jié)點對應(yīng)于LCU。如果將CU分裂為四個子CU,那么對應(yīng)于CU的節(jié)點包含四個葉節(jié)點,每一葉節(jié)點對應(yīng)于子CU中的一者。四叉樹數(shù)據(jù)結(jié)構(gòu)中的每一節(jié)點可提供針對對應(yīng)CU的語法數(shù)據(jù)。舉例來說,四叉樹中的節(jié)點可包含分裂旗標,其指示是否將對應(yīng)于節(jié)點的CU分裂為多個子CU。可遞歸地定義用于CU的語法元素,且其可取決于CU是否分裂為多個子CU。如果CU未經(jīng)進一步分裂,那么將其稱作葉CU。在本發(fā)明中,即使不存在原始葉CU的明確分裂,葉CU的四個子CU也將被稱作葉CU。舉例來說,如果16×16大小的CU未經(jīng)進一步分裂,那么即使16×16CU從未經(jīng)分裂,四個8×8子CU也將被稱作葉CU。此外,葉CU的TU也可與相應(yīng)四叉樹數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)。即,葉CU可包含指示如何將葉CU分割為多個TU的四叉樹。本發(fā)明涉及指示如何將LCU分割為CU四叉樹的四叉樹以及指示如何將葉CU分割為多個TU作為TU四叉樹的四叉樹。TU四叉樹的根節(jié)點一般對應(yīng)于葉CU,而CU四叉樹的根節(jié)點一般對應(yīng)于LCU。TU四叉樹的未分裂的TU被稱作葉TU。葉CU可包含一個或一個以上預(yù)測單元(PU)。大體上,PU表示對應(yīng)CU的全部或一部分,且可包含用于檢索PU的參考樣本的數(shù)據(jù)。舉例來說,當(dāng)PU經(jīng)幀間模式編碼時, PU可包含界定PU的運動向量的數(shù)據(jù)。界定運動向量的數(shù)據(jù)可描述(例如)運動向量的水平分量、運動向量的垂直分量、運動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考幀,和/或運動向量的參考列表(例如,列表0或列表1)。界定PU的葉CU的數(shù)據(jù)還可描述(例如)CU到一個或一個以上PU的分割。分割模式可取決于CU是未經(jīng)譯碼或是經(jīng)幀內(nèi)預(yù)測模式編碼或是經(jīng)幀間預(yù)測模式編碼而不同。對于幀內(nèi)譯碼,可與下文描述的葉變換單元一樣來處理PU。對于涉及視頻幀之間的運動估計與補償?shù)膸g預(yù)測,已提議額外類型的分裂。此額外類型的PU分裂被稱作幾何分裂或分割,其允許識別并非嚴格水平和/或垂直的運動邊界。圖1B中展示幾何分裂的概念圖。在幾何分裂中,子CU通過定義為西塔(θ)和柔(ρ)的函數(shù)的直線而分裂為兩個分割區(qū)(其也可稱作預(yù)測單元(PU))。θ界定如從x軸測量的從中心(0,0)延伸的垂直于分割線的線的角度,而ρ界定此線到分割線的距離或長度。不管所執(zhí)行分裂的類型如何,編碼器可執(zhí)行通常稱作“運動估計”的過程以確定在分裂子CU之后形成的每一所得部分(例如,PU)的運動向量。作為一個實例,編碼器通過在參考幀中執(zhí)行可稱作“運動搜索”的動作來確定這些運動向量,其中編碼器在時間上后續(xù)或未來的參考幀中搜索每一部分。在找到參考幀的最佳匹配當(dāng)前部分的部分后,編碼器即刻確定當(dāng)前部分的當(dāng)前運動向量作為當(dāng)前部分與參考幀中的匹配部分的位置差(即,從當(dāng)前部分的中心到匹配部分的中心)。在一些常規(guī)實例中,編碼器可在經(jīng)編碼視頻位流中用信號發(fā)送每一部分的運動向量。由解碼器使用由信號發(fā)送的運動向量以執(zhí)行運動補償,以便解碼視頻數(shù)據(jù)。然而,用信號發(fā)送整個運動向量可導(dǎo)致較不有效的譯碼,這是因為運動向量通常由大量的位來表示。在一些情況下,并非用信號發(fā)送整個運動向量,編碼器可預(yù)測每一分割區(qū)的運動向量。在執(zhí)行此運動向量預(yù)測時,編碼器可選擇針對與當(dāng)前部分在同一幀中的空間上鄰近的PU而確定的一組候選運動向量或針對另一參考幀中相同位置(co-located)的PU而確定的候選運動向量。編碼器可執(zhí)行運動向量預(yù)測而非用信號發(fā)送整個運動向量來降低復(fù)雜性和用信號發(fā)送的位速率。常規(guī)上使用兩種不同模式或類型的運動向量預(yù)測。一種模式稱作“合并”模式。另一模式稱作自適應(yīng)運動向量預(yù)測(AMVP)。在合并模式中,編碼器通過預(yù)測語法的位流信令而指示解碼器從選定候選運動向量復(fù)制運動向量、參考索引(其識別給定參考圖片列表中運動向量所指向的參考幀)和運動預(yù)測方向(其識別參考圖片列表,即,在參考幀在時間上在當(dāng)前幀之前或是之后方面)來用于幀的當(dāng)前部分。這通過在位流中用信號發(fā)送識 別具有選定候選運動向量的候選部分的索引來完成。因此,對于合并模式,預(yù)測語法可包含識別模式(在此情況下為“合并”模式)的旗標和識別候選部分的位置的索引。在一些情況下,候選部分將為關(guān)于當(dāng)前部分的原因部分。即,候選部分將已由解碼器解碼。因而,解碼器已接收和/或確定候選部分的運動向量、參考索引和運動預(yù)測方向。因而,解碼器可僅僅從存儲器檢索與候選部分相關(guān)聯(lián)的運動向量、參考索引和運動預(yù)測方向且復(fù)制這些值用于當(dāng)前部分。在AMVP中,編碼器通過位流信令指示解碼器僅從候選部分復(fù)制運動向量,且分別用信號發(fā)送參考幀和預(yù)測方向。在AMVP中,將被復(fù)制的運動向量可通過發(fā)送運動向量差(MVD)而用信號發(fā)送。MVD是當(dāng)前部分的當(dāng)前運動向量與候選部分的候選運動向量之間的差。以此方式,解碼器無需將候選運動向量的準確復(fù)本用于當(dāng)前運動向量,而是可使用值“接近”當(dāng)前運動向量的候選運動向量且加上MVD來再生當(dāng)前運動向量。在多數(shù)環(huán)境中,MVD需要比整個當(dāng)前運動向量少的位來用信號發(fā)送。因而,AVMP允許比發(fā)送整體運動向量更精確的用信號發(fā)送當(dāng)前運動向量且同時維持譯碼效率。相比來說,合并模式不允許MVD的規(guī)范,且因而,合并模式為了增加的信令效率(即,較少的位)而犧牲了運動向量信令的準確性。AVMP的預(yù)測語法可包含模式(在此情況下為AMVP)的旗標、候選部分的索引、當(dāng)前運動向量與候選部分的候選運動向量之間的MVD、參考索引和運動預(yù)測方向。一旦執(zhí)行運動估計來確定每一部分的運動向量,編碼器便比較參考幀中的匹配部分(如果執(zhí)行運動搜索)或所預(yù)測運動向量所識別的參考幀的部分(如果執(zhí)行運動向量預(yù)測)與當(dāng)前部分。此比較通常涉及從當(dāng)前部分減去參考幀中的部分(其通常稱作“參考樣本”),且產(chǎn)生所謂的殘余數(shù)據(jù)。殘余數(shù)據(jù)指示當(dāng)前部分與參考樣本之間的像素差值。編碼器接著將此殘余數(shù)據(jù)從空間域變換到頻域。通常,編碼器將離散余弦變換(DCT)應(yīng)用到殘余數(shù)據(jù)來完成此變換。編碼器執(zhí)行此變換以便進一步將殘余數(shù)據(jù)壓縮為僅需在變換之后編碼的所得變換系數(shù)而非壓縮殘余數(shù)據(jù)整體。通常,以一方式將所得變換系數(shù)分組在一起而啟用游程長度編碼,尤其在變換系數(shù)經(jīng)首次量化(四舍五入)的情況下。編碼器執(zhí)行經(jīng)量化變換系數(shù)的此游程長度編碼,且接著執(zhí)行統(tǒng)計無損(或所謂的“熵”)編碼以進一步壓縮經(jīng)游程長度譯碼的量化變換系數(shù)。在執(zhí)行無損統(tǒng)計譯碼之后,編碼器產(chǎn)生包含經(jīng)編碼視頻數(shù)據(jù)的位流。在某些情況下此位流還包含許多預(yù)測語法元素,其指定(例如)是否執(zhí)行運動向量預(yù)測、運動向量模式和運動向量預(yù)測器(MVP)索引(即,具有選定運動向量的候選部分的索引)。MVP索引還可稱作其語法元素變量名“mvp_idx”。在經(jīng)提議由ITU-T/ISO/IEC視頻譯碼聯(lián)合合作小組(JCT-VC)采用的當(dāng)前設(shè)計中(稱作高效率視頻譯碼(HEVC)),編碼器執(zhí)行借以預(yù)測當(dāng)前部分的運動向量的許多運動向量預(yù)測模式,包含上文描述的1)AMVP及2)合并模式)。這兩個模式是類似的,但AMVP就能夠界定MVD、運動預(yù)測方向和參考索引方面提供較多靈活性,而合并模式僅復(fù)制此運動向量信息(即,運動向量、運動預(yù)測方向和參考索引)且不允許MVD的增加的精確度。另一差異在于AMVP考慮來自參考幀中相同位置的PU的時間候選運動向量和來自當(dāng)前幀中鄰近或相鄰PU的運動向量,而合并模式僅考慮來自當(dāng)前幀中鄰近或相鄰PU的那些運動向量。提供這些運動向量預(yù)測模式兩者以促進用信號發(fā)送運動信息。AMVP通過僅需要指定MVD而非運動向量本身而降低與用信號發(fā)送此運動信息相關(guān)聯(lián)的成本。合并模式通過僅用信號發(fā)送選擇鄰近空間候選運動向量中的一者來進行復(fù)制以用于當(dāng)前部分而更進一步降低這些相同信令成本。然而,合并模式的限制性在于:其僅能夠指定鄰近部分(當(dāng)前部分從所述鄰近部分繼承其運動向量)且不準許AMVP所提供的靈活性。根據(jù)本發(fā)明中所陳述的技術(shù),呈現(xiàn)用于譯碼運動向量和其它預(yù)測語法的額外運動向量預(yù)測模式。為了進行說明,編碼器可確定一個或一個以上候選部分中的每一者的候選運動向量。在一個實例中,候選部分可與當(dāng)前部分處于同一幀中。候選部分可為當(dāng)前部分的相鄰部分。具體來說,候選部分可以是當(dāng)前部分的原因的相鄰部分。即,相鄰候選部分可能已在編碼當(dāng)前塊時在編碼器處經(jīng)編碼。因此,在解碼器處,相鄰候選部分已在解碼當(dāng)前塊時經(jīng)解碼。不管候選部分的位置如何,編碼器接著確定當(dāng)前幀的當(dāng)前運動向量。編碼器可通過在參考幀中使用針對匹配部分的完整運動搜索而確定此當(dāng)前運動向量。在確定候選運動向量和當(dāng)前運動向量之后,編碼器比較當(dāng)前運動向量與鄰近運動向量中的每一者以確定運動向量差(MVD)。根據(jù)預(yù)定算法,編碼器接著選擇候選運動向量中的一者與相關(guān)聯(lián)MVD。大體上,用以選擇候選運動向量的算法可試圖選擇產(chǎn)生可用最少位表示的MVD的候選運動向量。即,編碼器可選擇候選運動向量中的一者而使得其對應(yīng)MVD與所有其它所確定的運動向量差相比最小(就將用信號發(fā)送的位來說)。在一些情況下,可實施所揭示運動向量預(yù)測模式而使得編碼器將運動向量預(yù)測模式的應(yīng)用限制于其中候選部分的候選運動向量全部返回參考同一參考幀的情況。技術(shù)可在這方面上限制實施以避免必須用信號發(fā)送參考索引,這是因為當(dāng)所有鄰近運動向量參考同一參考幀時可從鄰近運動向量推斷參考。圖2A是當(dāng)所有候選運動向量返回參考同一參考幀時預(yù)測語法譯碼的實例的概念 圖。預(yù)測語法6可包含指示運動向量預(yù)測模式的模式旗標1、識別具有選定候選運動向量的候選部分的預(yù)測單元索引3以及運動向量差7(即,相對于選定候選運動向量確定的對應(yīng)MVD)。如果所揭示運動向量預(yù)測模式僅為所使用的模式,那么模式旗標1可為任選的。舉例來說,即,可使用模式旗標1來區(qū)分所揭示運動向量預(yù)測模式與合并模式或AMVP。預(yù)測語法6還可包含任選的MVD=0旗標5。當(dāng)MVD為0時可使用此旗標(即,當(dāng)前運動向量與選定候選運動向量是相同的)。此旗標可進一步減少用信號發(fā)送所需的位?;蛘?,可不使用所述旗標且可發(fā)送所有零作為MVD7。本發(fā)明的此方面提供AMVP(其中需要用信號發(fā)送參考索引與運動預(yù)測方向兩者連同MVD和識別具有選定候選運動向量的候選部分的索引)與合并模式(其中僅用信號發(fā)送識別具有選定候選運動向量的候選部分的索引)之間的平衡。在其它情況下,可移除使候選運動向量指向同一參考的限制。圖2B是當(dāng)所有候選運動向量未返回參考同一參考幀時預(yù)測語法譯碼的實例的概念圖。預(yù)測語法8可包含指示運動向量預(yù)測模式的模式旗標1、識別具有選定候選運動向量的候選部分的預(yù)測單元索引3以及運動向量差7(即,相對于選定候選運動向量確定的對應(yīng)MVD)。相比于圖2A的實例預(yù)測語法6,圖2B的預(yù)測語法8進一步包含識別選定候選運動向量指向的參考幀的參考幀索引9。同樣,模式旗標1可為任選的。而且,預(yù)測語法8可任選地包含MVD=0旗標5。在此實例中,所揭示運動向量預(yù)測模式可變得很通用以便包含AMVP和合并模式兩者。消除這兩個模式之間的區(qū)別可減少與用信號發(fā)送用以執(zhí)行運動向量預(yù)測的模式相關(guān)聯(lián)的信令成本,這是因為將保留單一模式。應(yīng)理解,圖2A的預(yù)測語法6和圖2B的預(yù)測語法8并非相互排斥的,且可在同一系統(tǒng)中使用。就此來說,可使用模式旗標1來區(qū)分兩模式。即,模式旗標1將取決于運動向量預(yù)測模式是否受限于全部返回參考同一參考幀的候選運動向量或是否不存在此類限制而采用不同的值。如下文關(guān)于圖5將更詳細論述,解碼器可使用用信號發(fā)送的預(yù)測語法來檢索運動向量、運動預(yù)測方向和參考索引來對當(dāng)前幀執(zhí)行運動補償。大體上,解碼器可接收圖2A的包含預(yù)測單元索引3和運動向量差7的預(yù)測語法。可基于識別候選部分的預(yù)測單元索引3來檢索與候選部分相關(guān)聯(lián)的候選運動向量。在一些實例中,候選部分可為正經(jīng)解碼的當(dāng)前部分的原因(即,候選部分已經(jīng)解碼)。因而,可從存儲器存取與候選部分相關(guān)聯(lián)的運動向量。如果候選部分并非表示原因,那么解碼器等待檢索與候選部分相關(guān)聯(lián)的候選運動向量直到候選部分已經(jīng)解碼為止。一旦已檢索候選運動向量,解碼器便基于所接收運動向量差7和所檢索候選運動向 量而確定當(dāng)前部分的當(dāng)前運動向量。即,可通過將運動向量差加到候選運動向量來確定當(dāng)前運動向量。在另一實例中,所接收運動向量差可為圖2A到2B的MVD=0旗標5。在此情況下,僅將與候選部分相關(guān)聯(lián)的候選運動向量復(fù)制到當(dāng)前部分。解碼器還可檢索與候選部分相關(guān)聯(lián)的參考索引和運動預(yù)測方向。在一些實例中,代替使解碼器從與用信號發(fā)送的預(yù)測單元索引相關(guān)聯(lián)的參考幀來復(fù)制參考幀索引(例如,圖2B的實例),明確地用信號發(fā)送參考幀索引。接著使用所確定的當(dāng)前運動向量、運動預(yù)測方向和參考索引來對當(dāng)前部分執(zhí)行運動補償。大體上,本發(fā)明提議一種編碼視頻數(shù)據(jù)的方法,所述方法包含確定視頻幀的一個或一個以上候選部分中的每一者的候選運動向量以及確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量。當(dāng)前運動向量識別至少部分匹配當(dāng)前幀的當(dāng)前部分的參考幀的部分。所述方法還包含:計算當(dāng)前運動向量與候選運動向量中的每一者之間的運動向量差;基于所計算的運動向量差來選擇候選運動向量中的一者;用信號發(fā)送識別具有候選運動向量中的選定一者的候選部分的索引;以及用信號發(fā)送關(guān)于候選運動向量中的選定一者而計算的對應(yīng)運動向量差。此編碼方法可通過視頻編碼器來執(zhí)行。本發(fā)明還提議一種解碼視頻數(shù)據(jù)的方法,其包含:接收識別幀的候選部分的索引且接收運動向量差;檢索與候選部分相關(guān)聯(lián)的候選運動向量;基于所接收運動向量差和候選運動向量而確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量;以及使用所確定的當(dāng)前運動向量來對當(dāng)前部分執(zhí)行運動補償來產(chǎn)生預(yù)測性視頻數(shù)據(jù)。此解碼方法可通過視頻解碼器來執(zhí)行。圖3為根據(jù)本發(fā)明實例的說明可經(jīng)配置以利用運動向量預(yù)測的技術(shù)的實例視頻編碼與解碼系統(tǒng)10的框圖。如圖3中所示,系統(tǒng)10包含源裝置12,其經(jīng)由通信信道16將經(jīng)編碼視頻發(fā)射到目的裝置14。經(jīng)編碼視頻數(shù)據(jù)還可存儲在存儲媒體34或文件服務(wù)器36上,且可根據(jù)需要通過目的裝置14來存取。當(dāng)存儲到存儲媒體或文件服務(wù)器時,視頻編碼器20可將經(jīng)譯碼視頻數(shù)據(jù)提供到另一裝置,例如網(wǎng)絡(luò)接口、壓縮光盤(CD)、藍光光盤(Blu-ray)或數(shù)字視頻光盤(DVD)刻錄機或壓印設(shè)施裝置,或用于將經(jīng)譯碼視頻數(shù)據(jù)存儲到存儲媒體的其它裝置。類似地,與視頻解碼器30分開的裝置(例如,網(wǎng)絡(luò)接口、CD或DVD讀取器或類似物)可從存儲媒體檢索經(jīng)譯碼視頻數(shù)據(jù),且將經(jīng)檢索數(shù)據(jù)提供到視頻解碼器30。源裝置12和目的裝置14可包括廣泛多種裝置中的任一者,包含臺式計算機、筆記型(即,膝上型)計算機、平板計算機、機頂盒、電話手持機(例如所謂的智能電話)、電視、相機、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺或類似者。在許多情況下,此類裝 置可經(jīng)配備用于無線通信。因此,通信信道16可包括無線信道、有線信道,或適合發(fā)射經(jīng)編碼視頻數(shù)據(jù)的無線與有線信道的組合。類似地,可通過目的裝置14經(jīng)由任何標準數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取文件服務(wù)器36。此連接可包含無線信道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線調(diào)制解調(diào)器等),或適合存取存儲在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。可將根據(jù)本發(fā)明實例的用于運動向量預(yù)測的技術(shù)應(yīng)用到支持多種多媒體應(yīng)用(例如,經(jīng)由因特網(wǎng)的空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、流式視頻傳輸)中的任一者的視頻譯碼、用于存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻播放、視頻廣播和/或視頻電話等應(yīng)用。在圖3的實例中,源裝置12包含視頻源18、視頻編碼器20、調(diào)制器/解調(diào)器22和發(fā)射器24。在源裝置12中,視頻源18可包含例如視頻捕捉裝置(例如,攝像機、含有先前捕捉的視頻的視頻存檔、用以從視頻內(nèi)容提供者接收視頻的視頻饋入接口),和/或用于產(chǎn)生計算機圖形數(shù)據(jù)作為源視頻的計算機圖形系統(tǒng)等源,或此類源的組合。作為一個實例,如果視頻源18為攝像機,那么源裝置12和目的裝置14可形成所謂的攝像機電話或視頻電話。然而,本發(fā)明中所描述的技術(shù)可大體上適用于視頻譯碼,且可應(yīng)用到無線和/或有線應(yīng)用,或其中將經(jīng)編碼視頻數(shù)據(jù)存儲在本地磁盤上的應(yīng)用。可通過視頻編碼器20來編碼經(jīng)捕捉、預(yù)捕捉或計算機產(chǎn)生的視頻??捎烧{(diào)制解調(diào)器22根據(jù)通信標準(例如,無線通信協(xié)議)來調(diào)制經(jīng)編碼視頻信息,且經(jīng)由發(fā)射器24將經(jīng)編碼視頻信息發(fā)射到目的裝置14。調(diào)制解調(diào)器22可包含各種混頻器、濾波器、放大器或經(jīng)設(shè)計用于信號調(diào)制的其它組件。發(fā)射器24可包含經(jīng)設(shè)計用于發(fā)射數(shù)據(jù)的電路,包含放大器、濾波器和一個或一個以上天線。還可將由視頻編碼器20編碼的經(jīng)捕捉、預(yù)捕捉或計算機產(chǎn)生的視頻存儲在存儲媒體34或文件服務(wù)器36上用于稍后消耗。存儲媒體34可包含藍光光盤、DVD、CD-ROM、快閃存儲器,或用于存儲經(jīng)編碼視頻的任何其它合適數(shù)字存儲媒體。接著可由目的裝置14存取存儲在存儲媒體34上的經(jīng)編碼視頻以用于解碼和播放。文件服務(wù)器36可為能夠存儲經(jīng)編碼視頻且將所述經(jīng)編碼視頻發(fā)射到目的裝置14的任何類型的服務(wù)器。實例文件服務(wù)器包含web服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)附接存儲(NAS)裝置、本地磁盤驅(qū)動器,或能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將其發(fā)射到目的裝置的任何其它類型裝置。經(jīng)編碼視頻數(shù)據(jù)從文件服務(wù)器36的發(fā)射可為流式發(fā)射、下載發(fā)射,或兩者的組合。可通過目的裝置14經(jīng)由任何標準數(shù)據(jù)連接(包含因特網(wǎng)連接) 來存取文件服務(wù)器36。此連接可包含無線信道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線調(diào)制解調(diào)器、以太網(wǎng)、USB等),或適合存取存儲在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。在圖3的實例中,目的裝置14包含接收器26、調(diào)制解調(diào)器28、視頻解碼器30和顯示裝置32。目的裝置14的接收器26經(jīng)由信道16接收信息,且調(diào)制解調(diào)器28將所述信息解調(diào)以產(chǎn)生用于視頻解碼器30的經(jīng)解調(diào)位流。經(jīng)由信道16傳送的信息可包含由視頻編碼器20產(chǎn)生的多種語法信息以供視頻解碼器30用于解碼視頻數(shù)據(jù)。此類語法還可包含在存儲在存儲媒體34或文件服務(wù)器36上的經(jīng)編碼視頻數(shù)據(jù)內(nèi)。視頻編碼器20和視頻解碼器30中的每一者可形成能夠編碼或解碼視頻數(shù)據(jù)的相應(yīng)編碼器-解碼器(CODEC)的部分。顯示裝置32可與目的裝置14集成在一起或可在目的裝置14外部。在一些實例中,目的裝置14可包含集成顯示裝置,且還可經(jīng)配置以與外部顯示裝置介接。在其它實例中,目的裝置14可為顯示裝置。大體上,顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包括各種顯示裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。在圖3的實例中,通信信道16可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一個或一個以上物理傳輸線,或無線與有線媒體的任何組合。通信媒體16可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)等全局網(wǎng)絡(luò))的部分。通信信道16一般表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的裝置14的任何合適通信媒體,或不同通信媒體的集合,包含有線或無線媒體的任何合適組合。通信信道16可包含路由器、交換器、基站或可有用于促進從源裝置12到目的裝置14的通信的任何其它設(shè)備。視頻編碼器20和視頻解碼器30可根據(jù)視頻壓縮標準(例如,目前在開發(fā)中的高效率視頻譯碼(HEVC)標準)而操作,且可符合HEVC測試模型(HM)?;蛘?,視頻編碼器20和視頻解碼器30可根據(jù)其它專有或產(chǎn)業(yè)標準(例如ITU-TH.264標準,其或者被稱作MPEG-4第10部分高級視頻譯碼(AVC))或此類標準的擴展而操作。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標準。其它實例包含MPEG-2和ITU-TH.263。盡管圖3中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當(dāng)?shù)亩嗦窂?fù)用器-多路分用器(MUX-DEMUX)單元或其它硬件和軟件,以處置對共同數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻與視頻兩者的編碼。如果適用,那么在一些實例中,MUX-DEMUX單元可遵照ITUH.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(UDP)等其它協(xié)議。視頻編碼器20和視頻解碼器30可各自實施為各種合適編碼器電路中的任一者,例如一個或一個以上微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分地以軟件實施所述技術(shù)時,裝置可將用于軟件的指令存儲在合適的非暫時性計算機可讀媒體中,且可使用一個或一個以上處理器在硬件中執(zhí)行指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者可包含于一個或一個以上編碼器或解碼器中,其中任一者可被集成為相應(yīng)裝置中的組合編碼器/解碼器(CODEC)的部分。視頻編碼器20可實施本發(fā)明技術(shù)中的任一者或全部用于視頻編碼過程中的運動向量預(yù)測。類似地,視頻解碼器30可實施這些技術(shù)中的任一者或全部用于視頻譯碼過程中的運動向量預(yù)測。如本發(fā)明中描述的視頻譯碼器可指代視頻編碼器或視頻解碼器。類似地,視頻譯碼單元可指代視頻編碼器或視頻解碼器。類似地,視頻譯碼可指代視頻編碼或視頻解碼。在本發(fā)明的一個實例中,源裝置12的視頻編碼器20可經(jīng)配置以:確定視頻幀的一個或一個以上候選部分中的每一者的候選運動向量;確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量,其中當(dāng)前運動向量識別至少部分匹配當(dāng)前幀的當(dāng)前部分的參考幀的部分;計算當(dāng)前運動向量與候選運動向量中的每一者之間的運動向量差;基于所計算的運動向量差而選擇候選運動向量中的一者;以及用信號發(fā)送識別具有候選運動向量中的選定一者的候選部分的索引;以及用信號發(fā)送關(guān)于候選運動向量中的選定一者而計算的對應(yīng)運動向量差。在本發(fā)明另一實例中,目的裝置14的視頻解碼器30可經(jīng)配置以:接收識別幀的候選部分的索引且接收運動向量差;檢索與候選部分相關(guān)聯(lián)的候選運動向量;基于所接收運動向量差和候選運動向量而確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量;以及使用所確定的當(dāng)前運動向量來對當(dāng)前部分執(zhí)行運動補償來產(chǎn)生預(yù)測性視頻數(shù)據(jù)。圖4是說明可使用本發(fā)明中描述的用于運動向量預(yù)測的技術(shù)的視頻編碼器20的實例的框圖。為了說明目的而將在HEVC譯碼的上下文中描述視頻編碼器20,但并非將本發(fā)明限于可能需要掃描變換系數(shù)的其它譯碼標準和方法。視頻編碼器20可執(zhí)行視頻幀內(nèi)的CU的幀內(nèi)和幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測以減小或移除給定視頻幀內(nèi)的視頻數(shù)據(jù)的空間冗余。幀間譯碼依賴于時間預(yù)測以減小或移除視頻序列的當(dāng)前幀與先前經(jīng)譯碼的幀之間的時間冗余。幀內(nèi)模式(I模式)可指代若干基于空間的視頻壓縮模式中的任一者。幀間模式(例如單向預(yù)測(P模式)或雙向預(yù)測(B模式))可指代若干基于時間的視頻壓縮模式中的任一者。如圖4中所示,視頻編碼器20接收待編碼的視頻幀內(nèi)的當(dāng)前視頻塊。在圖4的實例中,視頻編碼器20包含運動補償單元44、運動估計單元42、幀內(nèi)預(yù)測單元46、參考幀緩沖器64、求和器50、變換單元52、量化單元54和熵編碼單元56。圖5中所說明的變換單元52為將實際變換或變換組合應(yīng)用到殘余數(shù)據(jù)塊的單元,且不與變換系數(shù)塊混淆,變換單元52還可被稱作CU的變換單元(TU)。對于視頻塊重建,視頻編碼器20還包含逆量化單元58、逆變換單元60和求和器62。還可包含解塊濾波器(圖4中未展示)以對塊邊界進行濾波以從重建的視頻移除成塊性假影。如果需要,那么解塊濾波器通常將對求和器62的輸出進行濾波。在編碼過程期間,視頻編碼器20接收待譯碼的視頻幀或切片。可將幀或切片劃分為多個視頻塊,例如,最大譯碼單元(LCU)。運動估計單元42和運動補償單元44相對于一個或一個以上參考幀中的一個或一個以上塊來執(zhí)行經(jīng)接收視頻塊的幀間預(yù)測性譯碼,從而提供時間壓縮。幀內(nèi)預(yù)測單元46可相對于與待譯碼的塊在相同的幀或切片中的一個或一個以上鄰近塊執(zhí)行經(jīng)接收視頻塊的幀內(nèi)預(yù)測性譯碼,從而提供空間壓縮。模式選擇單元40可(例如)基于每一模式的誤差(即,失真)結(jié)果而選擇譯碼模式中的一者(幀內(nèi)或幀間),且將所得幀內(nèi)或幀間預(yù)測的塊(例如,預(yù)測單元(PU))提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù)且提供到求和器62以重建經(jīng)編碼塊以用于在參考幀中使用。求和器62組合經(jīng)預(yù)測的塊與針對所述塊的來自逆變換單元60的經(jīng)逆量化、逆變換的數(shù)據(jù),從而重建經(jīng)編碼的塊,如下文更詳細描述。可將一些視頻幀命名為I幀,其中I幀中的所有塊以幀內(nèi)預(yù)測模式編碼。在一些情況下,例如當(dāng)由運動估計單元42執(zhí)行的運動搜索并未導(dǎo)致塊的充分預(yù)測時,幀內(nèi)預(yù)測單元46可執(zhí)行P幀或B幀中的塊的幀內(nèi)預(yù)測編碼。運動估計單元42和運動補償單元44可高度集成,但為概念目的而分開說明。運動估計(或運動搜索)為產(chǎn)生運動向量的過程,運動向量估計視頻塊的運動。舉例來說,運動向量可指示當(dāng)前幀中的預(yù)測單元相對于參考幀的參考樣本的位移。運動估計單元42通過比較預(yù)測單元與存儲在參考幀緩沖器64中的參考幀的參考樣本來計算經(jīng)幀間譯碼的幀的預(yù)測單元的運動向量。參考樣本可為被發(fā)現(xiàn)在像素差方面緊密地匹配包含經(jīng)譯碼的PU的CU的部分的塊,所述像素差可通過絕對差總和(SAD)、平方差總和(SSD)或其它差度量來確定。參考樣本可在參考幀或參考切片內(nèi)的任何處發(fā)生,且未必在參考幀或切片的塊(例如,譯碼單元)邊界處。在一些實例中,參考樣本可在分數(shù)像素位置處發(fā)生。運動估計單元42將所計算的運動向量發(fā)送到熵編碼單元56和運動補償單元44。由運動向量識別的參考幀的部分可被稱作參考樣本。運動補償單元44可(例如)通過檢索由 PU的運動向量識別的參考樣本而計算當(dāng)前CU的預(yù)測單元的預(yù)測值。根據(jù)本發(fā)明的技術(shù),一旦運動估計單元42已確定當(dāng)前部分的當(dāng)前運動向量,運動估計單元42便比較當(dāng)前運動向量與一個或一個以上候選部分中的每一者的運動向量(即,候選運動向量)。計算當(dāng)前運動向量與候選運動向量中的每一者之間的運動向量差。舉例來說,基于其相關(guān)聯(lián)運動向量差的某一準則來選擇特定候選運動向量。舉例來說,可選擇產(chǎn)生最小MVD的候選運動向量。一旦選擇候選運動向量,運動估計單元42便可在經(jīng)編碼位流中用信號發(fā)送相關(guān)聯(lián)的MVD和相關(guān)聯(lián)的預(yù)測語法。在一個實例中,候選部分中的每一者受限于具有指向同一參考幀的運動向量的那些候選部分。在此實例中,運動估計單元42用信號發(fā)送識別具有選定運動向量和MVD的候選部分的索引。解碼器接著可從具有選定運動向量的候選部分復(fù)制剩余預(yù)測語法(即,參考索引和運動預(yù)測方向)。另外,還可用信號發(fā)送所揭示運動向量預(yù)測方法已使用的模式旗標指示。任選地,在MVD為零(即,當(dāng)前運動向量準確地匹配選定候選運動向量)的環(huán)境下可用信號發(fā)送MVD=0旗標而非MVD。如上文描述,圖2A展示此實例的信令的概念實例。在另一實例中,用于候選部分的運動向量并不受限于僅指向同一參考幀。在此情況下,還用信號發(fā)送參考幀索引。如上文描述,圖2B展示此信令的概念實例。在此上下文中,在經(jīng)編碼位流中用信號發(fā)送運動向量差和其它預(yù)測語法并不要求此類元素從編碼器到解碼器的實時傳輸,而是意味將此類語法元素編碼于位流中且使其以任何方式可由解碼器存取。此可包含實時傳輸(例如,在視頻會議中)以及將經(jīng)編碼位流存儲在計算機可讀媒體上以供未來由解碼器使用(例如,在流式傳輸、下載、磁盤存取、卡存取、DVD、藍光光盤等中)。作為由運動估計單元42和運動補償單元44執(zhí)行的幀間預(yù)測的替代方案,幀內(nèi)預(yù)測單元46可幀內(nèi)預(yù)測所接收的塊。假定針對塊的從左到右、從上到下編碼次序,幀內(nèi)預(yù)測單元46可相對于鄰近、先前經(jīng)譯碼塊(例如,當(dāng)前塊上方的塊、右上方的塊、左上方的塊、或左邊的塊)來預(yù)測所接收塊。幀內(nèi)預(yù)測單元46可經(jīng)配置有多種不同幀內(nèi)預(yù)測模式。舉例來說,幀內(nèi)預(yù)測單元46可基于正經(jīng)編碼的CU的大小而經(jīng)配置有特定數(shù)目個方向預(yù)測模式,例如三十四個方向預(yù)測模式。舉例來說,幀內(nèi)預(yù)測單元46可通過計算各種幀內(nèi)預(yù)測模式的誤差值且選擇產(chǎn)生最低誤差值的模式來選擇幀內(nèi)預(yù)測模式。方向預(yù)測模式可包含用于組合空間鄰近像素的值且將經(jīng)組合值應(yīng)用到PU中的一個或一個以上像素位置的功能。一旦已計算出PU中所有像素位置的值,幀內(nèi)預(yù)測單元46便可基于PU與待編碼的所接收塊之間的像素差來計 算預(yù)測模式的誤差值。幀內(nèi)預(yù)測單元46可繼續(xù)測試幀內(nèi)預(yù)測模式,直到發(fā)現(xiàn)產(chǎn)生可接受誤差值的幀內(nèi)預(yù)測模式為止。幀內(nèi)預(yù)測單元46接著可將PU發(fā)送到求和器50。視頻編碼器20通過從正經(jīng)譯碼的原始視頻塊減去通過運動補償單元44或幀內(nèi)預(yù)測單元46所計算的預(yù)測數(shù)據(jù)來形成殘余塊。求和器50表示執(zhí)行此減法運算的一個或一個以上組件。殘余塊可對應(yīng)于像素差值的二維矩陣,其中殘余塊中的值的數(shù)目與對應(yīng)于殘余塊的PU中的像素數(shù)目相同。殘余塊中的值可對應(yīng)于PU與待譯碼的原始塊中相同位置像素的值之間的差(即,誤差)。取決于經(jīng)譯碼的塊類型,所述差可為色度或亮度差。變換單元52可從殘余塊形成一個或一個以上變換單元(TU)。變換單元52從多個變換中選擇變換??苫谝粋€或一個以上譯碼特性(例如,塊大小、譯碼模式或類似者)來選擇變換。變換單元52接著將選定變換應(yīng)用到TU,產(chǎn)生包括變換系數(shù)的二維陣列的視頻塊。變換單元52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54接著可量化變換系數(shù)。熵編碼單元56接著可根據(jù)掃描模式來執(zhí)行矩陣中經(jīng)量化變換系數(shù)的掃描。本發(fā)明將熵編碼單元56描述為執(zhí)行所述掃描。然而,應(yīng)理解,在其它實例中,例如量化單元54等其它處理單元可執(zhí)行所述掃描。一旦變換系數(shù)經(jīng)掃描為一維陣列,熵編碼單元56便可將熵譯碼(例如,CAVLC、CABAC、基于語法的上下文自適應(yīng)二進制算術(shù)譯碼(SBAC),或另一熵譯碼方法)應(yīng)用到系數(shù)。為了執(zhí)行CAVLC,熵編碼單元56可針對待發(fā)射的符號選擇可變長度碼。可建構(gòu)VLC中的碼字而使得相對較短的碼對應(yīng)于更有可能的符號,而較長碼對應(yīng)于較不可能的符號。以此方式,使用VLC可實現(xiàn)位節(jié)省(與(例如)針對待發(fā)射的每一符號使用等長度碼字相比較)。為了執(zhí)行CABAC,熵編碼單元56可選擇上下文模型以應(yīng)用到特定上下文來編碼待發(fā)射的符號。上下文可能涉及(例如)鄰近值是否為非零。熵編碼單元56還可熵編碼語法元素,例如表示選定變換的信號。根據(jù)本發(fā)明的技術(shù),熵編碼單元56可基于(例如)幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測方向、對應(yīng)于語法元素的系數(shù)的掃描位置、塊類型和/或變換類型連同用于上下文模型選擇的其它因素來選擇用以編碼這些語法元素的上下文模型。在通過熵編碼單元56進行的熵譯碼之后,可將所得經(jīng)編碼視頻發(fā)射到另一裝置(例如,視頻解碼器30)或經(jīng)存檔以供稍后發(fā)射或檢索。在一些情況下,熵編碼單元56或視頻編碼器20的另一單元可經(jīng)配置以除了熵譯碼之外還執(zhí)行其它譯碼功能。舉例來說,熵編碼單元56可經(jīng)配置以確定CU及PU的經(jīng)譯 碼塊樣式(CBP)值。而且,在一些情況下,熵編碼單元56可執(zhí)行系數(shù)的游程長度譯碼。逆量化單元58和逆變換單元60分別應(yīng)用逆量化和逆變換以在像素域中重建殘余塊(例如)以供稍后用作參考塊。運動補償單元44可通過將殘余塊加到參考幀緩沖器64的幀中的一者的預(yù)測性塊來計算參考塊。運動補償單元44還可將一個或一個以上內(nèi)插濾波器應(yīng)用到經(jīng)重建的殘余塊以計算用于在運動估計中使用的子整數(shù)像素值。求和器62將經(jīng)重建的殘余塊加到由運動補償單元44產(chǎn)生的經(jīng)運動補償?shù)念A(yù)測塊以產(chǎn)生用于存儲在參考幀緩沖器64中的經(jīng)重建的視頻塊。經(jīng)重建的視頻塊可由運動估計單元42和運動補償單元44用作參考塊以幀間譯碼在后續(xù)視頻幀中的塊。圖5是說明視頻解碼器30的實例的框圖,視頻解碼器30解碼經(jīng)編碼的視頻序列。在圖5的實例中,視頻解碼器30包含熵解碼單元70、運動補償單元72、幀內(nèi)預(yù)測單元74、逆量化單元76、逆變換單元78、參考幀緩沖器82和求和器80。在一些實例中,視頻解碼器30可執(zhí)行與關(guān)于視頻編碼器20(參見圖4)所描述的編碼遍次大體上互逆的解碼遍次。熵解碼單元70對經(jīng)編碼位流執(zhí)行熵解碼過程以檢索變換系數(shù)的一維陣列。所使用的熵解碼過程取決于視頻編碼器20所使用的熵譯碼(例如,CABAC、CAVLC等)。編碼器所使用的熵譯碼過程可在經(jīng)編碼位流中用信號發(fā)送或可為預(yù)定過程。在一些實例中,熵解碼單元70(或逆量化單元76)可使用鏡射視頻編碼器20的熵編碼單元56(或量化單元54)所使用的掃描模式的掃描來掃描所接收的值。盡管可在逆量化單元76中執(zhí)行系數(shù)的掃描,但為了說明目的而將掃描描述為由熵解碼單元70執(zhí)行。另外,盡管為了容易說明而展示為單獨的功能單元,但熵解碼單元70、逆量化單元76和視頻解碼器30的其它單元的結(jié)構(gòu)與功能性可彼此高度集成。逆量化單元76逆量化(即,解量化)提供于位流中且由熵解碼單元70解碼的量化變換系數(shù)。逆量化過程可包含常規(guī)過程,例如,類似于針對HEVC所提議或通過H.264解碼標準所定義的過程。逆量化過程可包含使用由視頻解碼器20針對CU計算的量化參數(shù)QP來確定量化程度且(同樣地)應(yīng)被應(yīng)用的逆量化程度。逆量化單元76可在系數(shù)從一維陣列轉(zhuǎn)換到二維陣列之前或之后來逆量化變換系數(shù)。逆變換單元78將逆變換應(yīng)用到經(jīng)逆量化的變換系數(shù)。在一些實例中,逆變換單元78可基于來自視頻編碼器20的信令或通過根據(jù)一個或一個以上譯碼特性(例如,塊大小、譯碼模式或類似者)而推斷變換來確定逆變換。在一些實例中,逆變換單元78可基于在包含當(dāng)前塊的LCU的四叉樹的根節(jié)點處用信號發(fā)送的變換來確定將應(yīng)用到當(dāng)前塊的變換?;蛘?,可在LCU四叉樹中的葉節(jié)點CU的TU四叉樹的根處用信號發(fā)送變換。在一 些實例中,逆變換單元78可應(yīng)用級聯(lián)逆變換,其中逆變換單元78將兩個或兩個以上逆變換應(yīng)用到正經(jīng)解碼的當(dāng)前塊的變換系數(shù)。根據(jù)本發(fā)明的實例,視頻解碼器30可從經(jīng)編碼位流接收識別運動向量差和其它預(yù)測語法的信令信息??赏ㄟ^熵解碼單元70或視頻解碼器30的另一單元來將MVD和預(yù)測語法傳遞到運動補償單元72。幀內(nèi)預(yù)測單元74可基于用信號發(fā)送的幀內(nèi)預(yù)測模式和來自當(dāng)前幀的先前經(jīng)解碼塊的數(shù)據(jù)來產(chǎn)生當(dāng)前幀的當(dāng)前塊的預(yù)測數(shù)據(jù)。根據(jù)本發(fā)明的實例,運動補償單元72可基于從熵解碼單元70接收的MVD和預(yù)測語法來產(chǎn)生預(yù)測數(shù)據(jù)。運動補償單元72接收經(jīng)編碼位流中的MVD和預(yù)測語法。在圖2A的實例中,預(yù)測語法包含識別具有用以產(chǎn)生用信號發(fā)送的MVD的候選運動向量的候選部分的索引。運動補償單元72可使用此索引來從存儲器檢索與用信號發(fā)送的候選部分(即,候選部分的索引)相關(guān)聯(lián)的候選運動向量。運動向量可存儲在存儲器中,例如參考幀緩沖器82。運動補償單元72接著可通過將用信號發(fā)送的MVD加到經(jīng)檢索的候選運動向量來計算幀的當(dāng)前部分的當(dāng)前運動向量。如上文參看圖2A所描述,在一些實例中,可將為零的MVD作為旗標用信號發(fā)送而非發(fā)送MVD。在此環(huán)境中,運動補償單元72將僅復(fù)制候選運動向量作為當(dāng)前運動向量。運動補償單元72還可檢索與候選部分相關(guān)聯(lián)的運動預(yù)測方向和參考索引。參考預(yù)測方向指示幀間預(yù)測模式為單向的(例如,P幀)還是雙向的(B幀)。參考索引指示候選運動向量基于哪一參考幀。在例如圖2B中展示的其它實例中,參考幀索引經(jīng)信號發(fā)送到解碼器且無需被檢索?;诮?jīng)檢索的運動預(yù)測方向、參考幀索引和所計算的當(dāng)前運動向量,運動補償單元產(chǎn)生當(dāng)前部分的運動補償塊。這些運動補償塊基本上重新創(chuàng)建用以產(chǎn)生殘余數(shù)據(jù)的預(yù)測性塊。運動補償單元72可有可能基于內(nèi)插濾波器而執(zhí)行內(nèi)插來產(chǎn)生運動補償塊。用于將用于以子像素精度進行運動估計的內(nèi)插濾波器的識別符可包含在語法元素中。運動補償單元72可使用如由視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插濾波器來計算參考塊的子整數(shù)像素的內(nèi)插值。運動補償單元72可根據(jù)接收的語法信息來確定視頻編碼器20所使用的內(nèi)插濾波器,且使用所述內(nèi)插濾波器來產(chǎn)生預(yù)測性塊。另外,在HEVC實例中,運動補償單元72和幀內(nèi)預(yù)測單元74可使用一些語法信息(例如,由四叉樹提供)來確定用以編碼經(jīng)編碼視頻序列的幀的LCU大小。運動補償單元72和幀內(nèi)預(yù)測單元74還可使用語法信息來確定分裂信息,所述分裂信息描述經(jīng)編碼視 頻序列的幀的每一CU分裂的方式(以及類似地,子CU分裂的方式)。語法信息還可包含指示每一分裂經(jīng)編碼的方式的模式(例如,幀內(nèi)預(yù)測或幀間預(yù)測,且對于幀內(nèi)預(yù)測為幀內(nèi)預(yù)測編碼模式)、每一幀間編碼的PU的一個或一個以上參考幀(和/或含有參考幀的識別符的參考列表),以及用以解碼經(jīng)編碼視頻序列的其它信息。求和器80組合殘余塊與運動補償單元72或幀內(nèi)預(yù)測單元74所產(chǎn)生的對應(yīng)預(yù)測塊以形成經(jīng)解碼塊。如果需要,還可應(yīng)用解塊濾波器來對經(jīng)解碼塊濾波以便移除成塊性假影。接著將經(jīng)解碼視頻塊存儲在參考幀緩沖器82中,其提供參考塊用于后續(xù)運動補償且還產(chǎn)生經(jīng)解碼視頻用于呈現(xiàn)在顯示裝置(例如,圖3的顯示裝置32)上。如上文提及,本發(fā)明中所呈現(xiàn)的用于運動向量預(yù)測、運動補償和運動估計的技術(shù)可適用于編碼器和解碼器兩者。大體上且根據(jù)上文描述,編碼器可確定候選運動向量以用作視頻幀的當(dāng)前部分的當(dāng)前運動向量的運動向量預(yù)測器。編碼器用信號發(fā)送選定候選運動向量與當(dāng)前向量之間的運動向量差。編碼器還用信號發(fā)送識別具有選定候選運動向量的候選部分的索引。解碼器接著可檢索與候選部分相關(guān)聯(lián)的運動預(yù)測方向和參考幀索引,且對其進行復(fù)制以用于當(dāng)前部分。解碼器還檢索與候選部分相關(guān)聯(lián)的候選運動向量,且將用信號發(fā)送的運動向量差加到候選運動向量以產(chǎn)生當(dāng)前部分的當(dāng)前運動向量。預(yù)測性數(shù)據(jù)接著可通過解碼器經(jīng)由運動補償過程使用當(dāng)前運動向量、運動向量預(yù)測和參考幀索引而形成。圖6是說明編碼視頻的實例方法的流程圖,所述方法可通過視頻編碼器(例如,圖4的視頻編碼器20)來執(zhí)行。編碼視頻數(shù)據(jù)的方法確定視頻幀的一個或一個以上候選部分中的每一者的候選運動向量(120)。在一個實例中,候選部分是與同一幀中的當(dāng)前部分相鄰的部分。如上文論述,候選運動向量可為先前經(jīng)由運動搜索過程確定的運動向量且存儲在存儲器中。接著,編碼器確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量,其中當(dāng)前運動向量識別至少部分匹配當(dāng)前幀的當(dāng)前部分的參考幀的部分(122)。此外,此過程可為運動搜索過程。計算當(dāng)前運動向量與候選運動向量中的每一者之間的運動向量差(124)。在計算MVD之后,編碼器基于所述計算的運動向量差來選擇所述候選運動向量中的一者(126)。所選擇的候選運動向量可為產(chǎn)生最小運動向量差的候選運動向量。一旦已選擇候選運動向量,編碼器便(例如)在經(jīng)編碼位流中用信號發(fā)送識別具有候選運動向量中的選定一者的候選部分的索引,以及用信號發(fā)送關(guān)于候選運動向量中的選定一者計算的對應(yīng)運動向量差(128)。步驟128的信令可適用于其中候選運動向量中的每一者參考與當(dāng)前運動向量相同的參考幀的情況。在另一任選實例中,候選運動向量中的至少一者參考與當(dāng)前運動向量不同的參考幀。在此情況下,編碼器可用信號發(fā)送識別與選定候選運動向量相關(guān)聯(lián)的參考幀的參考索引(130)。在一些實例中,候選運動向量中的選定一者對應(yīng)于為零的運動向量差。在此情況下,用信號發(fā)送關(guān)于候選運動向量中的選定一者而確定的對應(yīng)運動向量差可包含用信號發(fā)送指示運動向量差的旗標而非用信號發(fā)送運動向量差本身。圖7是說明解碼視頻的實例方法的流程圖,所述方法可通過視頻解碼器(例如,圖5的視頻解碼器30)來執(zhí)行。解碼視頻數(shù)據(jù)的方法包含:接收識別幀的候選部分的索引且接收運動向量差(136);以及檢索與候選部分相關(guān)聯(lián)的候選運動向量(138)??蓮拇鎯ζ鳈z索候選運動向量以用于已經(jīng)解碼的候選部分(即,原因部分)。在一些實例中,接收的運動向量差可通過指示運動向量差為零的旗標來指示。視頻解碼器還可檢索與候選部分相關(guān)聯(lián)的運動預(yù)測方向和參考幀索引(140)。視頻解碼器基于接收的運動向量差和候選運動向量而確定當(dāng)前幀的當(dāng)前部分的當(dāng)前運動向量(142)。這可通過將運動向量差加到候選運動向量來完成。視頻解碼器接著可使用經(jīng)確定的當(dāng)前運動向量、運動預(yù)測方向和參考幀索引來對當(dāng)前部分執(zhí)行運動補償,從而產(chǎn)生預(yù)測性視頻數(shù)據(jù)(144)。圖8是說明為圖7中展示的方法的輕微變體的解碼視頻的實例方法的流程圖。在圖8的實例中,視頻解碼器接收參考幀索引連同運動向量差和識別幀的候選部分的索引(137)。因而,僅需檢索運動向量(138)和運動預(yù)測方向(141)。圖9是說明解碼視頻的另一實例方法的流程圖。在圖7到8中所展示的方法之前或同時,視頻解碼器可熵解碼當(dāng)前部分的視頻數(shù)據(jù)(146),且逆量化和逆變換經(jīng)熵解碼的視頻數(shù)據(jù)以產(chǎn)生殘余數(shù)據(jù)(148)。一旦由圖7或圖8中展示的方法產(chǎn)生預(yù)測性數(shù)據(jù),視頻解碼器便組合預(yù)測性視頻數(shù)據(jù)與殘余視頻數(shù)據(jù)以形成經(jīng)解碼視頻數(shù)據(jù)(150)。在一個或一個以上實例中,所描述功能可以硬件、軟件、固件或其任何組合來實施。如果以軟件實施,那么功能可作為一個或一個以上指令或代碼而存儲在計算機可讀媒體上或經(jīng)由計算機可讀媒體而發(fā)射,且通過基于硬件的處理單元來執(zhí)行。計算機可讀媒體可包含計算機可讀存儲媒體(其對應(yīng)于例如數(shù)據(jù)存儲媒體等有形媒體)或通信媒體,通信媒體包含(例如)根據(jù)通信協(xié)議促進計算機程序從一處傳送到另一處的任何媒體。以此方式,計算機可讀媒體大體上可對應(yīng)于(1)非暫時性的有形計算機可讀存儲媒體,或(2)例如信號或載波等通信媒體。數(shù)據(jù)存儲媒體可為可由一個或一個以上計算機或一個或一個以上處理器存取以檢索指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)以用于實施本發(fā)明中所描述的技術(shù)的任何可用媒體。計算機程序產(chǎn)品可包含計算機可讀媒體。通過實例而非限制,此類計算機可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器,或可用以存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼且可由計算機存取的任何其它媒體。而且,將任何連接適當(dāng)?shù)胤Q為計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或無線技術(shù)(例如,紅外線、無線電和微波)而從網(wǎng)站、服務(wù)器或其它遠程源發(fā)射指令,那么同軸電纜、光纖電纜、雙絞線、DSL或無線技術(shù)(例如,紅外線、無線電和微波)包含在媒體的定義中。然而,應(yīng)理解,計算機可讀存儲媒體和數(shù)據(jù)存儲媒體不包含連接、載波、信號或其它暫時性媒體,而是有關(guān)非暫時性有形存儲媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟磁盤和藍光光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤通過激光以光學(xué)方式再生數(shù)據(jù)。以上各物的組合也應(yīng)包含在計算機可讀媒體的范圍內(nèi)??捎衫缫粋€或一個以上數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一個或一個處理器來執(zhí)行指令。因此,術(shù)語“處理器”在本文中使用時可指代適合于實施本文中所描述的技術(shù)的前述結(jié)構(gòu)或任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼與解碼的專用硬件和/或軟件模塊內(nèi),或并入于組合式編碼解碼器中。而且,所述技術(shù)可完全實施于一個或一個以上電路或邏輯元件中。本發(fā)明的技術(shù)可實施于多種裝置或設(shè)備中,所述裝置或設(shè)備包含無線手持機、集成電路(IC)或IC集合(例如,芯片集)。在本發(fā)明中描述各種組件、模塊或單元以強調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但未必要求通過不同硬件單元來實現(xiàn)。而是,如上文所描述,可將各種單元組合于編碼解碼器硬件單元中,或通過互操作性硬件單元(包含如上文所描述的一個或一個以上處理器)的集合結(jié)合合適軟件和/或固件來提供所述單元。已描述各種實例。這些和其它實例是在所附權(quán)利要求書的范圍內(nèi)。