執(zhí)行視頻譯碼的運動向量預測的制作方法
【專利摘要】本發(fā)明大體上描述用于執(zhí)行視頻譯碼的運動向量預測的技術。包括處理器的視頻譯碼裝置可執(zhí)行所述技術。所述處理器可經(jīng)配置以針對視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程,且縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量。所述處理器接著可經(jīng)配置以將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。
【專利說明】執(zhí)行視頻譯碼的運動向量預測
[0001]本申請案主張2011年12月22日申請的第61/579,465號美國臨時申請案及2012年I月6日申請的第61/584,096號美國臨時申請案的權利,所述臨時申請案中任一者的全文特此以引用的方式并入。
【技術領域】
[0002]本發(fā)明涉及視頻譯碼,且更確切地說,涉及視頻譯碼的運動補償方面。
【背景技術】
[0003]數(shù)字視頻能力可并入到廣泛范圍的裝置中,所述裝置包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)碼相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及其類似者。數(shù)字視頻裝置實施視頻壓縮技術,例如,由MPEG-2、MPEG-4、ITU-T
H.263、ITU-T H.264/MPEG-4第10部分(高級視頻譯碼(AVC))定義的標準及這些標準的擴展所描述的技術,以較有效率地發(fā)射及接收數(shù)字視頻信息。例如由為MPEG與ITU-T之間的合作者的“聯(lián)合合作小組-視頻譯碼”(JCT-VC)開發(fā)的高效率視頻譯碼(HEVC)標準的新視頻譯碼標準正被開發(fā)。新興HEVC標準有時被稱為H.265,但尚未正式地作出此命名。
【發(fā)明內(nèi)容】
[0004]一股而言,本發(fā)明描述用于將用于運動向量預測過程中的運動向量候選者的范圍限定為在指定范圍內(nèi)的技術。運動向量預測通常是作為改進運動估計被執(zhí)行的效率的方式而用于視頻譯碼中。并非通過執(zhí)行通常被稱作“運動估計”的估計而在參考幀中執(zhí)行針對匹配于當前塊的塊的搜索,而是視頻譯碼器可從為視頻數(shù)據(jù)的當前塊的空間或時間相鄰者的塊確定這些候選運動向量且選擇這些候選運動向量中的一者作為視頻數(shù)據(jù)的所述當前塊的運動向量預測子。在一些例子中,可縮放這些候選運動向量。當選擇經(jīng)縮放候選運動向量作為所述運動向量預測子時,所述技術可使所述視頻譯碼器能夠限定此經(jīng)縮放候選運動向量的水平分量及垂直分量中的一或多者的范圍。
[0005]在一個實例中,一種譯碼視頻數(shù)據(jù)的方法包括:針對所述視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程;縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量;以及將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。所述方法進一步包括:選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子;及基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
[0006]在另一實例中,一種經(jīng)配置以執(zhí)行運動向量預測過程以譯碼視頻數(shù)據(jù)的視頻譯碼裝置包括處理器,所述處理器經(jīng)配置以針對所述視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行所述運動向量預測過程、縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量、將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)、選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子,且基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
[0007]在另一實例中,一種經(jīng)配置以執(zhí)行運動向量預測過程以譯碼視頻數(shù)據(jù)的視頻譯碼裝置包括用于針對所述視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行所述運動向量預測過程的裝置,及用于縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量的裝置。所述視頻譯碼裝置進一步包括用于將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)的裝置、用于選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子的裝置,及用于基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊的裝置。
[0008]在另一實例中,一種非暫時性計算機可讀存儲媒體具有存儲于其上的指令,所述指令在被執(zhí)行時致使一或多個處理器針對視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程、縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量、將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)、選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子,且基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
[0009]以下隨附圖式及描述中陳述一或多個實例的細節(jié)。其它特征、目標及優(yōu)勢將從所述描述及所述圖式且從權利要求書變得顯而易見。
【專利附圖】
【附圖說明】
[0010]圖1為說明實例視頻編碼及解碼系統(tǒng)的框圖,所述視頻編碼及解碼系統(tǒng)可經(jīng)配置以利用本發(fā)明所描述的用于在執(zhí)行運動向量預測過程時限定候選運動向量的范圍的技術。
[0011]圖2為說明視頻編碼器的實例的框圖,所述視頻編碼器可實施本發(fā)明所描述的用于限定MVP的范圍的技術。
[0012]圖3為說明視頻解碼器的實例的框圖,所述視頻解碼器實施本發(fā)明所描述的運動向量預測技術。
[0013]圖4為說明在執(zhí)行本發(fā)明所描述的運動向量預測技術的方面時視頻譯碼器的示范性操作的流程圖。
[0014]圖5為說明在實施本發(fā)明所描述的運動向量預測技術的其它方面時視頻譯碼器的示范性操作的流程圖。
[0015]圖6為說明當前預測性單元(PU)的近鄰I3U及時間同置型I3U的示范性布置的圖解。
【具體實施方式】
[0016]本發(fā)明所描述的技術的實施例使視頻譯碼器(其可表示在此描述中用以指視頻編碼器及視頻解碼器中的一者或此兩者的術語)能夠在執(zhí)行運動向量預測過程時將選定候選運動向量的范圍限定為在指定范圍內(nèi)。換句話說,所述技術使視頻譯碼器能夠針對視頻數(shù)據(jù)的當前塊而確定候選運動向量的列表(其中這些候選運動向量還可被稱作“運動向量預測子候選者”且所述列表可被稱作“候選者列表”),且在此列表中選擇所述候選運動向量中的一者以表示視頻數(shù)據(jù)的當前塊的運動向量預測子(MVP)。視頻譯碼器接著可確定選定候選運動向量是否已被縮放。在確定出此選定候選運動向量已被縮放后,視頻譯碼器即接著可確定選定候選運動向量的水平分量及/或垂直分量是否分別包含于水平分量值的指定范圍及/或垂直分量值的指定范圍內(nèi)。這些指定范圍可有效地表示可被稱作水平位移限制及/或垂直位移限制的限制。如果不包含于水平分量值的指定范圍及/或垂直分量值的指定范圍內(nèi),那么視頻譯碼器接著可裁剪所述值,使得水平分量值及/或垂直分量值包含于水平分量值的指定范圍及/或垂直分量值的指定范圍內(nèi)。
[0017]以此方式,所述技術可修改可被稱作運動向量預測子候選者裁剪過程的過程的候選者列表產(chǎn)生過程。舉例來說,視頻譯碼器可裁剪候選運動向量的垂直分量以使其保持于運動向量范圍的界限內(nèi)。相似地,視頻譯碼器可裁剪候選運動向量的水平分量以使其保持于運動向量范圍的界限內(nèi)。另外,視頻譯碼器可縮放運動向量以使其保持于運動向量范圍的界限內(nèi)。這些技術可應用于中間候選運動向量中的一些或全部,或僅應用于當前視頻塊的最終選定運動向量預測子。
[0018]換句話說,當候選者列表的候選運動向量指向位于運動向量位移限制之外的預測塊時,視頻譯碼器(其還可被稱作“視頻譯碼裝置”)可裁剪或以其它方式截斷候選運動向量的值。視頻譯碼器接著可基于候選者列表的選定經(jīng)裁剪候選運動向量來譯碼當前視頻塊。
[0019]通過在某些例子中限制或以其它方式限定選定候選運動向量的水平分量值及/或垂直分量值的范圍(例如,當縮放此選定候選運動向量時),所述技術可確保水平運動向量及/或垂直運動向量無需特定數(shù)目個以上位來表達其帶正負號整數(shù)值。換句話說,通常使用16個位來表達運動向量的分量值,其為帶正負號整數(shù)值。因此,當定義運動向量時,視頻解碼器分配每運動向量分量16個位。當視頻解碼器設計以硬件進行實施時,允許運動向量超過16個位可顯著地使視頻解碼器設計變復雜,這是因為需要提供額外物理存儲器來存儲那些運動向量分量,從而需要16個以上位進行表達。
[0020]另外,通過在某些例子中將運動向量分量的范圍限定為在指定范圍內(nèi),所述技術可增進存儲器帶寬的較有效率利用。為了進行說明,倘若視頻數(shù)據(jù)的幀的視頻譯碼通常以光柵掃描次序(其讀取次序通常為從頂?shù)降?、從左到?而進行,那么限制運動向量的垂直分量可限定運動向量所參考的參考幀的視頻數(shù)據(jù)中有多少量需要載入到芯片上存儲器中。在光柵掃描視頻譯碼中,較小運動向量垂直分量可被視為用以限定視頻譯碼器的硬件實施方案中所需要的芯片上存儲器的量的有效方式。過大運動向量垂直分量可引起如下例子:多個塊各自參考同一參考幀的完全不同部分,所述塊因而要求視頻解碼器在芯片外存儲器與芯片上存儲器之間頻繁地交換所述參考幀的這些不同部分。通過在某些例子中限定運動向量分量的范圍,所述技術可增進存儲器帶寬的較有效率利用。
[0021]圖1為說明實例視頻編碼及解碼系統(tǒng)10的框圖,視頻編碼及解碼系統(tǒng)10可經(jīng)配置以利用本發(fā)明所描述的用于在執(zhí)行運動向量預測過程時限定候選運動向量的范圍的技術。如圖1的實例所示,系統(tǒng)10包含產(chǎn)生經(jīng)編碼視頻以供目的地裝置14解碼的來源裝置
12。來源裝置12可經(jīng)由通信信道16而將經(jīng)編碼視頻發(fā)射到目的地裝置14或可將經(jīng)編碼視頻存儲于存儲媒體34或文件服務器36上,使得在需要時經(jīng)編碼視頻可由目的地裝置14存取。來源裝置12及目的地裝置14可包括各種各樣的裝置中任一者,包含桌上型計算機、筆記型(即,膝上型)計算機、平板計算機、機頂盒、電話手機(包含蜂窩式電話或手機及所謂智能手機)、電視、相機、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺或其類似者。
[0022]在許多狀況下,這些裝置可經(jīng)裝備用于無線通信。因此,通信信道16可包括無線信道。或者,通信信道16可包括有線信道、無線信道及有線信道的組合或任何其它類型的通信信道,或適合于發(fā)射經(jīng)編碼視頻數(shù)據(jù)的通信信道(例如,射頻(RF)頻譜或一或多個物理發(fā)射線)的組合。在一些實例中,通信信道16可形成以包為基礎的網(wǎng)絡(例如,局域網(wǎng)(LAN)、廣域網(wǎng)(WAN),或例如因特網(wǎng)的全局網(wǎng)絡)的部分。因此,通信信道16通常表示用于將視頻數(shù)據(jù)從來源裝置12發(fā)射到目的地裝置14的任何合適通信媒體或不同通信媒體的集體,包含有線媒體或無線媒體的任何合適組合。通信信道16可包含路由器、交換器、基站,或可有用于促進從來源裝置12到目的地裝置14的通信的任何其它設備。
[0023]如圖1的實例進一步所示,來源裝置12包含視頻來源18、視頻編碼器20、調制器/解調器22( “調制解調器22”)及發(fā)射器24。在來源裝置12中,視頻來源18可包含例如視頻俘獲裝置的來源。作為實例,視頻俘獲裝置可包含以下各者中的一或多者:視頻攝像機、含有經(jīng)先前俘獲視頻的視頻存檔庫、用以從視頻內(nèi)容提供者接收視頻的視頻饋送接口,及/或用于產(chǎn)生計算機圖形數(shù)據(jù)作為來源視頻的計算機圖形系統(tǒng)。作為一實例,如果視頻來源18為視頻攝像機,那么來源裝置12及目的地裝置14可形成所謂攝像機電話或視頻電話。然而,本發(fā)明所描述的技術不限于無線應用或設定,且可應用于包含視頻編碼及/或解碼能力的非無線裝置。因此,來源裝置12及目的地裝置14僅僅為可支持本文所描述的技術的譯碼裝置的實例。
[0024]視頻編碼器20可編碼經(jīng)俘獲、經(jīng)預俘獲或經(jīng)計算機產(chǎn)生視頻。一旦此經(jīng)編碼視頻被編碼,視頻編碼器20就可將此經(jīng)編碼視頻輸出到調制解調器22。調制解調器22接著可根據(jù)例如無線通信協(xié)議的通信標準來調制經(jīng)編碼視頻,隨之發(fā)射器24可將經(jīng)調制的經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14。調制解調器22可包含經(jīng)設計用于信號調制的各種混頻器、濾波器、放大器或其它組件。發(fā)射器24可包含經(jīng)設計用于發(fā)射數(shù)據(jù)的電路,包含放大器、濾波器及一或多個天線。
[0025]由視頻編碼器20編碼的經(jīng)俘獲、經(jīng)預俘獲或經(jīng)計算機產(chǎn)生視頻還可存儲到存儲媒體34或文件服務器36上以供稍后檢索、解碼及消費。存儲媒體34可包含藍光光盤、DVD、⑶-ROM、快閃存儲器,或用于存儲經(jīng)編碼視頻的任何其它合適數(shù)字存儲媒體。目的地裝置14可存取存儲于存儲媒體34或文件服務器36上的經(jīng)編碼視頻、解碼此經(jīng)編碼視頻以產(chǎn)生經(jīng)解碼視頻,且播放此經(jīng)解碼視頻。
[0026]文件服務器36可為能夠存儲經(jīng)編碼視頻且將彼經(jīng)編碼視頻發(fā)射到目的地裝置14的任何類型的服務器。實例文件服務器包含網(wǎng)頁服務器(例如,用于網(wǎng)站)、FTP服務器、網(wǎng)絡附接式存儲(NAS)裝置、本地磁盤驅動器,或能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將其發(fā)射到目的地裝置的任何其它類型的裝置。來自文件服務器36的經(jīng)編碼視頻數(shù)據(jù)的發(fā)射可為流式發(fā)射、下載發(fā)射,或此兩者的組合。目的地裝置14可根據(jù)包含因特網(wǎng)連接的任何標準數(shù)據(jù)連接來存取文件服務器36。此連接可包含無線信道(例如,W1-Fi連接或無線蜂窩式數(shù)據(jù)連接)、有線連接(例如,DSL、電纜調制解調器,等等)、有線信道及無線信道兩者的組合,或適合于存取存儲于文件服務器上的經(jīng)編碼視頻數(shù)據(jù)的任何其它類型的通信信道。
[0027]在圖1的實例中,目的地裝置14包含接收器26、調制解調器28、視頻解碼器30及顯示裝置32。目的地裝置14的接收器26經(jīng)由信道16而接收信息,且調制解調器28解調所述信息以產(chǎn)生用于視頻解碼器30的經(jīng)解調位流。經(jīng)由信道16而傳達的信息可包含由視頻編碼器20產(chǎn)生以供視頻解碼器30用于解碼關聯(lián)經(jīng)編碼視頻數(shù)據(jù)的多種語法信息。此語法還可與存儲于存儲媒體34或文件服務器36上的經(jīng)編碼視頻數(shù)據(jù)一起被包含。視頻編碼器20及視頻解碼器30中每一者可形成能夠編碼或解碼視頻數(shù)據(jù)的相應編碼器-解碼器(CODEC)的部分。
[0028]目的地裝置14的顯示裝置32表示能夠呈現(xiàn)視頻數(shù)據(jù)以供檢視者消費的任何類型的顯示器。盡管顯示裝置32被展示為與目的地裝置14集成,但顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些實例中,目的地裝置14可包含集成式顯示裝置且還經(jīng)配置以與外部顯示裝置建立接口連接。在其它實例中,目的地裝置14可為顯示裝置。一股而言,顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包括多種顯示裝置中任一者,例如,液晶顯示器(LCD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示
>j-U ρ?α裝直。
[0029]本發(fā)明通??芍笇⒄Z法信息“用信號發(fā)送”到例如視頻解碼器30的另一裝置的視頻編碼器20。然而,應理解,視頻編碼器20可通過使語法元素與視頻數(shù)據(jù)的各種經(jīng)編碼部分相關聯(lián)而用信號發(fā)送信息。即,視頻編碼器20可通過將某些語法元素存儲到視頻數(shù)據(jù)的各種經(jīng)編碼部分的標頭而“用信號發(fā)送”數(shù)據(jù)。在一些狀況下,這些語法元素可在由視頻解碼器30接收及解碼之 前被編碼及存儲(例如,存儲到存儲媒體34或文件服務器36)。因此,術語“用信號發(fā)送”通??芍赣靡越獯a經(jīng)壓縮視頻數(shù)據(jù)的語法或其它數(shù)據(jù)的通信,而無論此通信實時地或近實時地發(fā)生抑或遍及一時間跨度而發(fā)生,例如,可能在編碼時間將語法元素存儲到媒體時發(fā)生,所述語法元素接著可在存儲到此媒體之后由解碼裝置在任何時間檢索。
[0030]視頻編碼器20及視頻解碼器30可根據(jù)例如目前在開發(fā)中的高效率視頻譯碼(HEVC)標準的視頻壓縮標準而操作,且可遵照HEVC測試模型(HM)?;蛘撸曨l編碼器20及視頻解碼器30可根據(jù)例如ITU-T H.264標準(或者被稱作MPEG-4第10部分(高級視頻譯碼(AVC))的其它專屬或工業(yè)標準或這些標準的擴展而操作。然而,本發(fā)明的技術不限于任何特定譯碼標準。其它實例包含MPEG-2及ITU-T H.263。
[0031]HM將視頻數(shù)據(jù)的塊稱作譯碼單元(⑶)。一股而言,⑶具有與根據(jù)H.264而譯碼的宏塊相似的目的,惟CU不具有與H.264的宏塊相關聯(lián)的大小差別除外。因此,可將CU分裂成若干子CU。一股而言,本發(fā)明中對CU的參考可指圖像的最大譯碼單元(LCU)或LCU的子CU。舉例來說,位流內(nèi)的語法數(shù)據(jù)可定義LCU,LCU在像素的數(shù)目方面為最大譯碼單元??蓪CU分裂成若干子CU,且可將每一子CU分裂成若干子CU。用于位流的語法數(shù)據(jù)可定義LCU可被分裂的最大次數(shù),其被稱為最大CU深度。因此,位流還可定義最小譯碼單元(SCU)。
[0032]IXU可與階層式四元樹數(shù)據(jù)結構相關聯(lián)。一股而言,四元樹數(shù)據(jù)結構包含每⑶一個節(jié)點,其中根節(jié)點對應于LCU。如果將CU分裂成四個子CU,那么對應于所述CU的節(jié)點包含用于對應于所述子CU的四個節(jié)點中每一者的參考。四元樹數(shù)據(jù)結構的每一節(jié)點可提供用于對應CU的語法數(shù)據(jù)。舉例來說,四元樹中的節(jié)點可包含分裂旗標,其指示對應于所述節(jié)點的CU是否被分裂成若干子CU。用于CU的語法元素可被遞歸地定義,且可取決于所述⑶是否被分裂成若干子⑶。
[0033]未被分裂的⑶可包含一或多個預測單元(PU)。一股而言,PU表示對應⑶的全部或部分,且包含用于檢索用于PU的參考樣本的數(shù)據(jù)。舉例來說,當對進行幀內(nèi)模式編碼時,PU可包含描述用于PU的幀內(nèi)預測模式的數(shù)據(jù)。作為另一實例,當對進行幀間模式編碼時,PU可包含定義用于PU的一或多個運動向量的數(shù)據(jù)。運動向量通常識別一或多個參考幀中的同置型CU,其中術語“參考幀”指時間上出現(xiàn)于PU被定位的幀之前或之后的幀。舉例來說,定義PU的用于CU的數(shù)據(jù)還可描述將CU分割成一或多個ro。在CU被未譯碼、被幀內(nèi)預測模式編碼抑或被幀間預測模式編碼之間,分割模式可不同。
[0034]舉例來說,定義運動向量的數(shù)據(jù)可描述運動向量的水平分量、運動向量的垂直分量、用于運動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考幀、識別經(jīng)識別參考幀在當前幀之前抑或之后的預測方向,及/或用于運動向量的參考列表(例如,列表O或列表I)?;蛘?,定義運動向量的數(shù)據(jù)可在被稱作運動向量預測子(MVP)的預測子方面描述運動向量。運動向量預測子可包含相鄰PU或時間上同置型PU的運動向量。通常,以已定義方式形成五個候選運動向量的列表(例如,從具有最大振幅的候選運動向量開始到具有最小振幅的候選運動向量(即,待譯碼的當前PU與參考PU之間的最大或最小位移)而列出候選運動向量,或基于位置(即,上方塊、左側塊、隅角塊、時間塊)而列出候選運動向量),其中五個候選運動向量中的四者為選自四個相鄰PU的空間運動向量且第五候選運動向量為選自參考幀中的時間上同置型PU的時間上同置型運動向量。
[0035]雖然時間候選運動向量通常與當前幀中的當前部分的運動向量同置于參考幀的同一部分中,但所述技術應不嚴格地限于同置型時間候選運動向量。取而代之,所述技術可關于任何時間候選運動向量予以實施,而無論所述時間候選運動向量是否為同置型。在一些例子中,視頻編碼器可識別未與當前幀的當前塊或部分同置的時間候選運動向量,且在執(zhí)行運動向量預測過程時使用此時間候選運動向量。通常,視頻編碼器可用信號發(fā)送出已使用非同置型時間候選運動向量,或在一些例子中,給定上下文可指示出已使用非同置型時間候選運動向量(在此狀況下,視頻編碼器可不用信號發(fā)送出是否已選擇非同置型時間候選運動向量作為MVP)。
[0036]在形成五個候選運動向量的列表之后,視頻編碼器20可存取所述候選運動向量中每一者以確定哪一候選運動向量提供最好地匹配于經(jīng)選擇用于編碼視頻的給定速率及失真簡檔的最好速率及失真特性。視頻編碼器20可關于五個候選運動向量中每一者而執(zhí)行速率-失真最佳化(RDO)過程,從而選擇所述候選運動向量中具有最好RDO結果的候選運動向量作為MVP?;蛘撸曨l編碼器20可選擇存儲到列表的五個候選運動向量中最好地近似針對當前I3U而確定的運動向量的候選運動向量作為MVP。
[0037]在任何情況下,視頻編碼器20可使用包括以下各者的數(shù)據(jù)來指定運動向量:識別五個候選運動向量的列表中所述候選運動向量中的選定者的索引、所述運動向量所指向的一或多個參考幀(常常呈列表形式),及識別預測為單向抑或雙向的預測方向?;蛘?,定義運動向量的數(shù)據(jù)可僅指定五個候選運動向量的列表中選定候選運動向量的索引而不指定參考幀及預測方向,此情形向視頻解碼器用信號發(fā)送出所述候選運動向量中的選定者待全面地用于當前W。
[0038]除了具有定義一或多個運動向量的一或多個I3U以外,⑶還可包含一或多個變換單元(TU)。在使用PU的預測之后,視頻編碼器可演算CU的對應于的部分的殘余值,其中此殘余值還可被稱作殘余數(shù)據(jù)??勺儞Q、量化及掃描殘余值。TU未必限于PU的大小。因此,TU可大于或小于用于同一⑶的對應PU。在一些實例中,TU的最大大小可為對應⑶的大小。本發(fā)明還使用術語“塊”以指⑶、PU及/或TU中任一者或其組合。
[0039]一股而言,經(jīng)編碼視頻數(shù)據(jù)可包含預測數(shù)據(jù)及殘余數(shù)據(jù)。視頻編碼器20可在幀內(nèi)預測模式或幀間預測模式期間產(chǎn)生預測數(shù)據(jù)。幀內(nèi)預測通常涉及相對于圖像的相鄰的經(jīng)先前譯碼塊中的參考樣本來預測所述同一圖像的塊中的像素值。幀間預測通常涉及相對于經(jīng)先前譯碼圖像的數(shù)據(jù)來預測圖像的塊中的像素值。
[0040]在幀內(nèi)預測或幀間預測之后,視頻編碼器20可演算塊的殘余像素值。殘余值通常對應于塊的預測像素值數(shù)據(jù)與塊的真實像素值數(shù)據(jù)之間的差。舉例來說,殘余值可包含指示經(jīng)譯碼像素與預測性像素之間的差的像素差值。在一些實例中,經(jīng)譯碼像素可與待譯碼的像素塊相關聯(lián),且預測性像素可與用以預測經(jīng)譯碼塊的一或多個像素塊相關聯(lián)。
[0041]為了進一步壓縮塊的殘余值,可將所述殘余值變換成變換系數(shù)集合,所述變換系數(shù)將盡可能多的數(shù)據(jù)(還被稱為“能量”)壓緊成盡可能少的系數(shù)。變換技術可包括離散余弦變換(DCT)過程或概念上相似過程、整數(shù)變換、小波變換,或其它類型的變換。變換將像素的殘余值從空間域轉換到變換域。變換系數(shù)對應于大小通常與原始塊相同的二維系數(shù)矩陣。換句話說,僅僅存在與原始塊中的像素一樣多的變換系數(shù)。然而,歸因于變換,變換系數(shù)中的許多變換系數(shù)可具有等于零的值。
[0042]視頻編碼器20接著可量化變換系數(shù)以進一步壓縮視頻數(shù)據(jù)。量化通常涉及將相對大范圍內(nèi)的值映射到相對小范圍內(nèi)的值,因此縮減表示經(jīng)量化變換系數(shù)所需要的數(shù)據(jù)量。更具體來說,可根據(jù)量化參數(shù)(QP)來應用量化,QP可在LCU層級予以定義。因此,同一層級的量化可應用于與LCU內(nèi)的CU的不同PU相關聯(lián)的TU中的所有變換系數(shù)。然而,并非用信號發(fā)送QP自身,而是可對LCU用信號發(fā)送QP的改變(即,差量)。差量QP定義LCU的量化參數(shù)相對于某參考QP (例如,經(jīng)先前傳達LCU的QP)的改變。
[0043]在量化之后,視頻編碼器20可掃描變換系數(shù),從而從包含經(jīng)量化變換系數(shù)的二維矩陣產(chǎn)生一維向量。視頻編碼器20接著可執(zhí)行統(tǒng)計無損編碼(其通常由誤稱“熵編碼”來指)以編碼所得陣列以甚至進一步壓縮數(shù)據(jù)。一股而言,熵譯碼包括集體地壓縮經(jīng)量化變換系數(shù)序列及/或其它語法信息的一或多個過程。舉例來說,例如差量QP、預測向量、譯碼模式、濾波器、偏移或其它信息等語法元素還可包含于經(jīng)熵譯碼位流中。接著(例如)經(jīng)由內(nèi)容自適應性可變長度譯碼(CAVLC)、上下文自適應性二進制算術譯碼(CABAC)或任何其它統(tǒng)計無損譯碼過程而對經(jīng)掃描系數(shù)連同任何語法信息進行熵譯碼。
[0044]如上文所指出,定義用于PU的運動向量的數(shù)據(jù)可采取數(shù)個形式。視頻編碼器20可實施運動向量可被表達的不同方式以壓縮運動向量數(shù)據(jù)。視頻編碼器20可實施被稱作“合并模式”的模式以將運動向量表達為將候選運動向量識別為存儲到以已定義方式而建構的候選運動向量的列表的索引。在實施此合并模式的反模式時,視頻解碼器30接收此索引、根據(jù)已定義方式來重新建構五個候選運動向量的列表,且選擇所述列表中的五個候選運動向量中由所述索引指示的候選運動向量作為經(jīng)解碼的視頻數(shù)據(jù)的當前塊的MVP。視頻解碼器30接著將候選運動向量中的選定者具現(xiàn)化為關聯(lián)I3U的MVP,所述PU的分辨率與候選運動向量的選定者的分辨率相同且所述PU指向候選運動向量中的選定者所指向的同一參考幀。在實施合并模式時,視頻編碼器20可無需在導出運動向量所必要的完全程度上執(zhí)行運動估計、無需指定運動向量的水平分量及垂直分量、無需指定運動向量分辨率、無需指定運動向量方向(意味:運動向量指向時間上在當前幀之前抑或之后的幀)或無需指定參考幀索引,借此潛在地縮減確定運動向量所需要的處理器循環(huán)且壓縮運動向量數(shù)據(jù)。
[0045]視頻編碼器20還可實施自適應性運動向量預測(AMVP)模式,相似于合并模式,AMVP模式包含將運動向量表達為將候選運動向量中的一者識別為MVP的索引。然而,與合并模式相反,視頻編碼器20還可指定預測方向及參考幀,從而有效地越權控制候選運動向量的選定者的這些部分。在實施AMVP模式時,視頻編碼器20可無需在導出運動向量所必要的完全程度上執(zhí)行運動估計、無需指定運動向量的水平分量及垂直分量且無需指定運動向量分辨率,借此潛在地縮減確定運動向量所需要的處理器循環(huán)且壓縮運動向量數(shù)據(jù)。
[0046]通常,前導子視頻譯碼標準到當前所提議標準(HEVC)定義各種極限以約束運動向量垂直分量及水平分量的大小。如上文所指出,這些極限可被定義為將垂直位移及/或水平位移限定到最大值及最小值的范圍。在HEVC中,首先基于這些運動向量分量范圍(通常被表示為“mvrange”)在前導子視頻譯碼標準(例如,H.264)中的使用來提議及采納這些范圍。然而,新近,關于水平位移及/或垂直位移的這些范圍從HEVC被刪掉,以便使運動向量能夠指參考幀的大體上任何部分。HEVC中還定義具有長度各自為16個位的分量值的運動向量,所述分量值通常提供足夠位以表達針對參考幀的幾乎任何部分的大運動向量分量值。通過使運動向量能夠指參考幀的大體上任何部分,視頻編碼器可針對參考幀的引起最小量的殘余數(shù)據(jù)的部分而執(zhí)行較徹底搜索(此情形為表明視頻數(shù)據(jù)的當前塊的較有效率壓縮的另一方式)。
[0047]然而,在某些情況下,限制運動向量的范圍可有益。舉例來說,當執(zhí)行以上運動向量預測過程中的一者(例如,合并模式或AMVP模式)時,運動向量候選者中的一或多者可在添加到候選者列表之前被縮放。此經(jīng)縮放運動向量分量接著可超過通常針對每一運動向量分量而定義的16位長度。當這些經(jīng)縮放運動向量大于16位長度時,視頻編碼器20可確定出合并模式不可用,或換句話說,不能執(zhí)行合并模式。當執(zhí)行AMVP模式時可出現(xiàn)此同一問題,這是因為當執(zhí)行AMVP時可縮放運動向量中的一或多者。限制合并模式及AMVP模式中任一者或此兩者的使用可引起壓縮低效率。
[0048]根據(jù)本發(fā)明所描述的技術,視頻編碼器20可針對視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程。即,視頻編碼器20可識別視頻數(shù)據(jù)的當前塊的一或多個相鄰塊(其中這些相鄰塊還可被稱作“視頻數(shù)據(jù)的候選塊”或“候選視頻塊”)。視頻編碼器20可識別一或多個(且通常為四個)空間相鄰塊及一或多個(且通常為單個)時間相鄰塊。下文關于圖6來詳細地展示這些空間相鄰塊及時間相鄰塊相對于當前塊的位置。在識別這些相鄰塊之后,視頻編碼器20接著可確定與這些相鄰塊中每一者相關聯(lián)的運動向量,其中所述運動向量可表示用于運動向量預測過程的候選運動向量。
[0049]在某些例子中,在確定這些運動向量后,視頻編碼器20即可縮放針對視頻數(shù)據(jù)的當前塊而確定的多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量。為了進行說明,當執(zhí)行運動向量預測過程的合并模式時,視頻編碼器20可確定與時間相鄰塊相關聯(lián)的運動向量,其中此時間相鄰塊指與視頻數(shù)據(jù)的當前塊同置于參考幀的同一位置中的視頻數(shù)據(jù)塊。此參考幀可與圖像次序計數(shù)相關聯(lián),圖像次序計數(shù)指指派到視頻數(shù)據(jù)的每一幀的號碼,所述號碼識別所述幀相對于其它幀被顯示的次序。通常,視頻編碼器20可基于視頻數(shù)據(jù)的同置型塊所駐留的參考幀與視頻數(shù)據(jù)的當前塊所駐留的當前幀之間的圖像次序計數(shù)的差來縮放時間候選運動向量。
[0050]作為另一實例,當執(zhí)行運動向量預測過程的高級運動向量預測(AMVP)模式時,視頻編碼器20可同樣地基于視頻數(shù)據(jù)的同置型塊所駐留的參考幀與視頻數(shù)據(jù)的當前塊所駐留的當前幀之間的圖像次序計數(shù)的差來縮放時間候選運動向量。然而,如上文所指出,運動向量預測過程的AMVP模式準許有效地越權控制候選運動向量的各種方面。結果,在運動向量預測過程的AMVP模式中,視頻編碼器20可越權控制與空間候選運動向量相關聯(lián)的參考幀,此情形可引起基于指定(或越權控制)參考幀與視頻數(shù)據(jù)的當前塊所駐留的當前幀之間的圖像次序計數(shù)的差來縮放空間候選運動向量。因此,視頻編碼器20可在執(zhí)行運動向量預測過程的AMVP模式時縮放時間候選運動向量及空間候選運動向量兩者。
[0051]視頻編碼器20接著可在選擇多個候選運動向量中的一者作為當前塊的MVP之前將經(jīng)縮放候選運動向量中的一或多者的范圍限定為在指定范圍內(nèi)。換句話說,視頻編碼器20可在選擇候選運動向量中的一者作為當前塊的MVP之前將經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。當在選擇候選運動向量中的一者作為當前塊的MVP之前修改經(jīng)縮放候選運動向量中的一或多者時,視頻編碼器20可修改經(jīng)縮放候選運動向量中每一者以確保這些經(jīng)縮放候選運動向量限定到指定范圍(其還可被稱作“位移極限”)。作為一實例,指定范圍以四分之一像素單位被指定為[-32768,32767]。
[0052]在選擇候選運動向量中的一者作為當前塊的MVP (且潛在地修改候選運動向量中的選定者)之后,視頻編碼器20接著可使用MVP來編碼視頻數(shù)據(jù)的當前塊。即,視頻編碼器20可使用MVP以識別參考幀中的參考塊且產(chǎn)生視頻數(shù)據(jù)的殘余塊作為當前塊與參考塊之間的差。視頻編碼器20接著可執(zhí)行上文所指出的變換操作以將視頻數(shù)據(jù)的此殘余塊從空間域變換到頻率域,從而產(chǎn)生變換系數(shù)的塊。視頻編碼器20接下來可量化變換系數(shù)、對經(jīng)量化變換系數(shù)進行行程長度編碼,且對經(jīng)行程長度編碼的經(jīng)量化變換系數(shù)進行熵編碼(其為指統(tǒng)計無損譯碼的另一方式)。視頻編碼器20可在具有關聯(lián)語法元素的位流中輸出此經(jīng)譯碼視頻數(shù)據(jù)。
[0053]視頻解碼器30可接收此位流且根據(jù)語法元素來解碼所述位流。視頻解碼器30通??蓤?zhí)行與上文關于視頻編碼器20所描述的操作互逆的操作。即,視頻解碼器30可對經(jīng)編碼視頻數(shù)據(jù)的每一塊進行熵解碼、執(zhí)行反量化以解量化經(jīng)編碼視頻數(shù)據(jù)的塊,且應用反變換以將經(jīng)編碼視頻數(shù)據(jù)的經(jīng)解量化塊從頻率域變換到空間域。經(jīng)編碼視頻數(shù)據(jù)的此經(jīng)變換塊可表示殘余數(shù)據(jù)的經(jīng)重新建構版本。視頻解碼器30可從與經(jīng)編碼視頻數(shù)據(jù)的當前塊(其在此例子中可指殘余數(shù)據(jù)的經(jīng)重新建構版本)相關聯(lián)的語法元素確定出將使用運動向量預測過程而導出用于此當前塊的運動向量。
[0054]假定視頻解碼器30確定出將使用運動向量預測過程而導出用于此當前塊的運動向量,那么視頻解碼器30通常接著可執(zhí)行與上文關于視頻編碼器20所描述的操作相同的操作以導出經(jīng)編碼視頻數(shù)據(jù)的當前塊的運動向量預測子。因此,視頻解碼器30可針對視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程。即,視頻解碼器30可識別視頻數(shù)據(jù)的當前塊的一或多個相鄰塊。視頻解碼器30可識別一或多個空間相鄰塊及一或多個時間相鄰塊。再次,下文關于圖6來詳細地展示這些空間相鄰塊及時間相鄰塊相對于當前塊的位置。在識別這些相鄰塊之后,視頻解碼器30接著可確定與這些相鄰塊中每一者相關聯(lián)的運動向量,其中所述運動向量可表示用于運動向量預測過程的候選運動向量。
[0055]在上文關于視頻編碼器20所描述的例子中,在確定這些運動向量后,視頻解碼器30即可縮放針對視頻數(shù)據(jù)的當前塊而確定的多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量。視頻解碼器30接著可在選擇多個候選運動向量中的一者作為當前塊的MVP之前將經(jīng)縮放候選運動向量中的一或多者的范圍限定為在指定范圍內(nèi)。換句話說,視頻解碼器30可在選擇候選運動向量中的一者作為當前塊的MVP之前將經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。當在選擇候選運動向量中的一者作為當前塊的MVP之前修改經(jīng)縮放候選運動向量中的一或多者時,視頻解碼器30可修改經(jīng)縮放候選運動向量中每一者以確保這些經(jīng)縮放候選運動向量限定到指定范圍(其還可被稱作“位移極限”)。以此方式,視頻解碼器30可將經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。
[0056]視頻解碼器30可基于與視頻數(shù)據(jù)的當前塊相關聯(lián)的一或多個語法元素(例如,運動向量預測子索引(“mvp_idx”)語法元素)(其先前在位流中由視頻編碼器20指定)來確定將選擇候選運動向量中的哪一者。在使用(例如)此mvp_idx語法元素的情況下,視頻解碼器30可選擇候選運動向量中的一者。視頻解碼器30接著可使用候選運動向量來重新建構視頻數(shù)據(jù)的當前塊以識別視頻數(shù)據(jù)的參考塊,視頻解碼器30接著將所述參考塊添加到殘余數(shù)據(jù)以重新建構視頻數(shù)據(jù)的當前塊。視頻解碼器30接著存儲視頻數(shù)據(jù)的此經(jīng)重新建構塊。
[0057]以此方式,本發(fā)明所描述的技術通??墒挂曨l譯碼器(例如,視頻編碼器20及視頻解碼器30中任一者或此兩者)能夠修改已被縮放的那些候選運動向量。即,所述技術可使這些視頻譯碼器能夠僅修改運動向量預測過程的待縮放的那些候選運動向量,而不修改或以其它方式甚至進一步考慮所述候選運動向量中尚未被縮放的候選運動向量。在此方面,所述技術可在修改候選運動向量的全部與不修改候選運動向量中任一者之間提供折衷,使得僅考慮已被縮放的那些候選運動向量以供修改。
[0058]關于本發(fā)明的實例而描述的用于限定運動向量分量位移的技術可應用于視頻譯碼以支持多種多媒體應用中任一者,例如,空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、流式視頻發(fā)射(例如,經(jīng)由因特網(wǎng))、對數(shù)字視頻的編碼以供存儲于數(shù)據(jù)存儲媒體上、存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應用。在一些實例中,系統(tǒng)10可經(jīng)配置以支持用于例如視頻流化、視頻播放、視頻廣播及/或視頻電話的應用的單向或雙向視頻發(fā)射。
[0059]盡管圖1中未圖示,但在一些方面中,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當MUX-DEMUX單元或其它硬件及軟件以處置共同數(shù)據(jù)流或分離數(shù)據(jù)流中的音頻及視頻兩者的編碼。在適用時,在一些實例中,MUX-DEMUX單元可遵照ITU H.223多路復用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(UDP)的其它協(xié)議。
[0060]視頻編碼器20及視頻解碼器30可各自實施為多種合適編碼器電路中任一者,例如,一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當所述技術部分地以軟件予以實施時,裝置可將用于所述軟件的指令存儲于合適的非暫時性計算機可讀媒體中,且使用一或多個處理器而以硬件來執(zhí)行所述指令以執(zhí)行本發(fā)明的技術。視頻編碼器20及視頻解碼器30中每一者可包含于一或多個編碼器或解碼器中,所述一或多個編碼器或解碼器中任一者可集成為相應裝置中的組合式編碼器/解碼器(CODEC)的部分。
[0061]圖2為說明視頻編碼器20的實例的框圖,視頻編碼器20可實施用于指定運動向量預測子的技術。視頻編碼器20可執(zhí)行視頻幀內(nèi)的塊(包含宏塊,或宏塊的分割區(qū)或子分割區(qū))的幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依賴于空間預測以縮減或移除給定視頻幀內(nèi)的視頻的空間冗余。幀間譯碼依賴于時間預測以縮減或移除視頻序列的鄰近幀內(nèi)的視頻的時間冗余。幀內(nèi)模式(I模式)可指若干以空間為基礎的壓縮模式中任一者,且例如單向預測(P模式)或雙向預測(B模式)的幀間模式可指若干以時間為基礎的壓縮模式中任一者。盡管圖2中描繪用于幀間模式編碼的組件,但應理解,視頻編碼器20可進一步包含用于幀內(nèi)模式編碼的組件。然而,出于簡潔及清楚起見而未說明這些組件。
[0062]如圖2所示,視頻編碼器20接收待編碼的視頻幀內(nèi)的當前視頻塊。在圖2的實例中,視頻編碼器20包含運動補償單元44、運動估計單元42、存儲器64、求和器50、變換單元52、量化單元54及熵編碼單元56。對于視頻塊重新建構,視頻編碼器20還包含反量化單元58、反變換單元60及求和器62。還可包含解塊濾波器(圖2中未圖示)以濾波塊邊界以從經(jīng)重新建構視頻移除成塊效應假影。必要時,解塊濾波器通常將濾波求和器62的輸出。雖然被描述為包含通常指隨機存取存儲器(RAM)、動態(tài)RAM(DRAM)、靜態(tài)RAM(SRAM)、快閃存儲器或其它持續(xù)或非持續(xù)的以芯片為基礎的存儲媒體的存儲器64,但可利用任何類型的非暫時性計算機可讀媒體,包含硬盤驅動器、光盤驅動器、磁盤驅動器及其類似者。
[0063]在編碼過程期間,視頻編碼器20接收待譯碼的視頻幀或切片??蓪⑺鰩蚯衅瑒澐殖啥鄠€視頻塊。運動估計單元42及運動補償單元44相對于一或多個參考幀中的一或多個塊來執(zhí)行經(jīng)接收視頻塊的幀間預測性譯碼以提供時間壓縮。幀內(nèi)預測單元46還可相對于與待譯碼的塊在同一幀或切片中的一或多個相鄰塊來執(zhí)行經(jīng)接收視頻塊的幀內(nèi)預測性譯碼以提供空間壓縮。
[0064]如圖2的實例進一步所示,視頻編碼器20還包含模式選擇單元40。模式選擇單元40可(例如)基于誤差結果來選擇譯碼模式(幀內(nèi)模式或幀間模式)中的一者,且將所得經(jīng)幀內(nèi)譯碼塊或經(jīng)幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù)且提供到求和器62以重新建構經(jīng)編碼塊以用作參考幀。
[0065]運動估計單元42及運動補償單元44可高度地集成,但出于概念目的而被分離地說明。運動估計為產(chǎn)生運動向量的過程,所述運動向量估計視頻塊的運動。舉例來說,運動向量可指示預測性參考幀(或其它經(jīng)譯碼單元)內(nèi)的預測性塊相對于當前幀(或其它經(jīng)譯碼單元)內(nèi)經(jīng)譯碼的當前塊的位移。預測性塊為被發(fā)現(xiàn)在像素差方面緊密地匹配于待譯碼的塊的塊,所述像素差可由絕對差總和(SAD)、平方差總和(SSD)或其它差度量確定。運動向量還可指示宏塊的分割區(qū)的位移。運動補償可涉及基于由運動估計確定的運動向量來獲取或產(chǎn)生預測性塊。再次,在一些實例中,運動估計單元42及運動補償單元44可功能上集成。
[0066]運動估計單元42通過比較經(jīng)幀間譯碼幀的視頻塊與存儲器64中的參考幀的視頻塊來演算經(jīng)幀間譯碼幀的視頻塊的運動向量。運動補償單元44還可內(nèi)插參考幀(例如,I幀或P幀)的次整數(shù)像素。新興HEVC標準(及ITU H.264標準)通過通常被稱作“列表”的一或多個列表數(shù)據(jù)結構來存儲參考巾貞。因此,存儲于存儲器64中的數(shù)據(jù)還可被視為列表。運動估計單元42比較來自存儲器64的一或多個參考幀(或列表)的塊與當前幀(例如,P幀或B幀)的待編碼塊。當存儲器64中的參考幀包含次整數(shù)像素的值時,由運動估計單元42演算的運動向量可指參考幀的次整數(shù)像素位置。運動估計單元42將經(jīng)演算運動向量發(fā)送到熵編碼單元56及運動補償單元44。由運動向量識別的參考幀塊(其可包括CU)可被稱作預測性塊。運動補償單元44演算參考幀的預測性塊的誤差值。
[0067]運動補償單元44可基于預測性塊來演算預測數(shù)據(jù)。視頻編碼器20通過從經(jīng)譯碼的原始視頻塊減去來自運動補償單元44的預測數(shù)據(jù)而形成殘余視頻塊。求和器50表示執(zhí)行此減法運算的組件。變換單元52將例如離散余弦變換(DCT)或概念上相似變換的變換應用于殘余塊,從而產(chǎn)生包括殘余變換系數(shù)值的視頻塊。變換單元52可執(zhí)行其它變換,例如,由H.264標準定義的變換,所述變換概念上相似于DCT。還可使用小波變換、整數(shù)變換、次頻帶變換,或其它類型的變換。在任何狀況下,變換單元52將變換應用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。所述變換可將殘余信息從像素值域轉換到例如頻率域的變換域。量化單元54量化殘余變換系數(shù)以進一步縮減位率。量化過程可縮減與所述系數(shù)中的一些或全部相關聯(lián)的位深度??赏ㄟ^調整量化參數(shù)來修改量化程度。
[0068]在量化之后,熵編碼單元56對經(jīng)量化變換系數(shù)進行熵譯碼。舉例來說,熵編碼單元56可執(zhí)行內(nèi)容自適應性可變長度譯碼(CAVLC)、上下文自適應性二進制算術譯碼(CABAC)或另一熵譯碼技術。在由熵編碼單元56進行的熵譯碼之后,可將經(jīng)編碼視頻發(fā)射到另一裝置或對經(jīng)編碼視頻進行存檔以供稍后發(fā)射或檢索。在上下文自適應性二進制算術譯碼的狀況下,上下文可基于相鄰宏塊。
[0069]在一些狀況下,除了熵譯碼以外,視頻編碼器20的熵編碼單元56或另一單元還可經(jīng)配置以執(zhí)行其它譯碼功能。舉例來說,熵編碼單元56可經(jīng)配置以確定宏塊及分割區(qū)的CBP值。而且,在一些狀況下,熵編碼單元56可執(zhí)行宏塊或其分割區(qū)中的系數(shù)的行程長度譯碼。明確地說,熵編碼單元56可應用鋸齒狀掃描或其它掃描樣式以掃描宏塊或分割區(qū)中的變換系數(shù)且編碼為零的行程以供進一步壓縮。熵編碼單元56還可用適當語法元素來建構標頭信息以供經(jīng)編碼視頻位流中的發(fā)射。
[0070]反量化單元58及反變換單元60分別應用反量化及反變換以在像素域中重新建構殘余塊(例如)以供稍后用作參考塊。運動補償單元44可通過將殘余塊添加到存儲器64中的參考幀存儲區(qū)的幀中的一者的預測性塊來演算參考塊。運動補償單元44還可將一或多個內(nèi)插濾波器應用于經(jīng)重新建構殘余塊以演算次整數(shù)像素值以用于運動估計。求和器62將經(jīng)重新建構殘余塊添加到由運動補償單元44產(chǎn)生的經(jīng)運動補償預測塊,以產(chǎn)生經(jīng)重新建構視頻塊以供存儲于存儲器64的參考幀存儲區(qū)中。經(jīng)重新建構視頻塊可由運動估計單元42及運動補償單元44用作參考塊以對后續(xù)視頻幀中的塊進行幀間譯碼。
[0071 ] 如上文所指出,在一些例子中,運動估計單元42可不演算運動向量,而是確定候選運動向量的列表(例如,所謂“候選者列表”),所述候選運動向量中的四者為空間候選運動向量且所述候選運動向量中的一者為時間候選運動向量。通常,運動估計單元42放棄運動向量演算,以便縮減運動估計的計算復雜性且借此改進視頻數(shù)據(jù)可被編碼的速度,同時還縮減功率消耗。
[0072]根據(jù)本發(fā)明所描述的技術,運動估計單元42可針對視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程,且縮放針對視頻數(shù)據(jù)的當前塊而確定的多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量。如上文所指出,此縮放過程可基于參考幀的圖像次序計數(shù)與當前幀的圖像次序計數(shù)之間的差。更具體來說,當從指向不同參考圖像或幀的候選運動向量導出運動向量預測子時,運動估計單元42可確定所謂距離縮放因子(其在HEVC中可被表示為“DistScaleFactor”變數(shù))。
[0073]在此運動向量縮放過程中,運動估計單元42可計算DistScaleFactor,DistScaleFactor可由以下方程式(I)定義:
[0074]DistScaleFactor = (POCcurr-POCref) / (POCmvpblk-POCmvpblkref) = tb/td。 (I)
[0075]在方程式⑴中,POC指圖像次序計數(shù),其中?0(;1?表示當前圖像或幀的圖像次序計數(shù),POCief指參考幀或圖像的圖像次序計數(shù),POCmvp blk表示具有候選運動向量中的選定者(或換句話說,MVP)的候選或相鄰塊所駐留的幀或圖像的圖像次序計數(shù),且POCmvp blk 表示MVP所指向的參考塊所駐留的圖像或幀的圖像次序計數(shù)。因此,方程式(I)中的變數(shù)“td”表示塊MVP_BLK與其參考塊之間的圖像次序計數(shù)差(或換句話說,距離),而方程式(I)中的變數(shù)“ tb ”表示當前塊與其參考塊之間的POC距離。
[0076]運動估計單元42可根據(jù)以下方程式(2)來進一步計算被表示為“tx”的縮放因子:
[0077]tx = (16384+Abs (td/2)) /td (2)
[0078]運動估計單元42接著可根據(jù)以下方程式(3)來計算DistScaleFactor:
[0079]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6) (3)
[0080]因此,Dist anceScaleFactor可依據(jù)tb及tx予以計算,但經(jīng)裁剪為在-4096及4095的指定范圍內(nèi)。在使用此DistScaleFactor的情況下,運動估計單元42可根據(jù)以下方程式(4)來縮放候選運動向量中的一或多者:
[0081]ScaledMV = sign (DistScaleFactor XMV) X ((abs (DistScaeFactor XMV)+127))>>8) (4)
[0082]在方程式(4)中,ScaledMV表示經(jīng)縮放候選運動向量,“sign”指保持正負號的函數(shù),“abs”指計算值的絕對值的函數(shù),且“>>”表示按位右移。
[0083]如上文所指出,基于POC距離的ScaledMV可超過指定范圍(其可被稱作“運動向量范圍”,或者“范圍”),所述指定范圍可根據(jù)視頻編碼簡檔或層級予以定義。結果,運動估計單元42可執(zhí)行本發(fā)明所描述的技術以將經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。此外,運動估計單元42可修改經(jīng)縮放候選運動向量而不修改尚未被縮放的其它候選運動向
量中任一者。
[0084]運動估計單元42可以數(shù)個方式修改經(jīng)縮放候選運動向量。舉例來說,運動估計單元42可裁剪經(jīng)縮放候選運動向量的垂直分量以使其保持于運動向量范圍的界限內(nèi)。換句話說,運動估計單元42可有效地將垂直運動向量值限于最大/最小垂直運動向量分量范圍。
[0085]作為另一實例,運動估計單元42可縮放經(jīng)縮放候選運動向量以使其保持于運動向量范圍的界限內(nèi)。為了進行說明,對于具有水平分量(mv_x)及超過垂直運動向量極限的指定范圍的垂直分量(mv_y)的給定經(jīng)縮放運動向量,運動估計單元42可將y分量限于mv_I' ,mv_y/對應于垂直MV極限。運動估計單元42還可根據(jù)以下方程式(5)來縮放水平分量 mv_x:
[0086]mv_x/ = mv_x*mv_y' /mv_y (5)[0087]在方程式(5)中,mv_x/表示經(jīng)縮放候選運動向量的經(jīng)縮放水平分量。運動估計單元42可使用除法運算的近似而以各種精度層級來執(zhí)行被表達為方程式(5)的此縮放運算,以產(chǎn)生潛在地具有經(jīng)修改水平分量及經(jīng)修改垂直分量mv_y'兩者的經(jīng)修改的經(jīng)縮放運動向量。
[0088]盡管上文關于供修改經(jīng)縮放運動向量中的一或多者的數(shù)個不同方式進行描述,但當執(zhí)行運動向量預測過程時可以任何數(shù)目個方式執(zhí)行所述技術以修改候選運動向量。舉例來說,運動估計單元42可在選擇多個候選運動向量中的一者作為視頻數(shù)據(jù)的當前塊的運動向量預測子之前裁剪經(jīng)縮放候選運動向量。
[0089]作為又一實例,運動估計單元42可將經(jīng)縮放候選運動向量的垂直分量裁剪為在垂直指定范圍內(nèi)且將經(jīng)縮放候選運動向量的水平分量裁剪為在水平指定范圍內(nèi)。在這些例子中,裁剪運算可遵照以下方程式(6):
[0090]mvLXA = Clip3(-32768,32767,Sign2(distScaleFactor*mvLXA)* ((Abs (distScaleFactor*mvLXA)+127) > > 8)) (6)
[0091]在方程式(6)中,裁剪方程式包含在上文被展示為方程式(4)的縮放方程式,從而將經(jīng)縮放運動向量的水平分量及垂直分量中的一者或此兩者裁剪到-32768到32767的指定范圍。經(jīng)縮放運動向量在方程式(6)中被表示為“mvLXA”。換句話說,指定范圍可以四分之一像素單位被指定為[-32768,32767],其中在一些例子中,此指定范圍可在視頻解碼器及視頻編碼器中的一或多者中被固定及硬譯碼。
[0092]在一些例子中,如上文所指出,指定范圍可指定包含垂直位移極限的運動向量位移極限,其中運動估計單元42可裁剪經(jīng)縮放候選運動向量的垂直分量而使得經(jīng)縮放候選運動向量的垂直分量在垂直位移極限內(nèi)。
[0093]在一些例子中,運動估計單元42并非裁剪水平分量及垂直分量兩者,而是可僅裁剪經(jīng)縮放候選運動向量的水平分量。再次,指定范圍可指定包含水平位移極限的運動向量位移極限,且運動估計單元42可裁剪經(jīng)縮放候選運動向量的水平分量而使得經(jīng)縮放候選運動向量的水平分量在水平位移極限內(nèi)。如上文所指出,運動估計單元42可裁剪水平分量或垂直分量中的一者,且接著縮放另一未經(jīng)裁剪分量(其可為垂直分量且應不限于以上實例),使得經(jīng)縮放候選運動向量由一或多個運動向量位移極限定界。因此,所述技術應不限于上文所描述的實例修改中的任一者。
[0094]為了選擇候選運動向量中的一者作為運動向量預測子,運動補償單元44接著可針對包含于列表中的每一候選運動向量而識別參考幀塊(其再次可被稱作預測塊)。運動補償單元44接著可基于針對候選運動向量中每一者而確定的預測性塊來計算預測數(shù)據(jù)。視頻編碼器20接著可確定針對候選運動向量中的對應者而計算的每一預測數(shù)據(jù)的殘余數(shù)據(jù)、變換殘余數(shù)據(jù)、量化經(jīng)轉碼殘余數(shù)據(jù),且接著以上文所描述的方式對經(jīng)量化殘余數(shù)據(jù)進行熵編碼。視頻編碼器20接著可執(zhí)行反操作以解碼關于在剪除之后剩余的候選運動向量的教示而產(chǎn)生的此經(jīng)熵編碼殘余數(shù)據(jù),以再生呈經(jīng)重新建構視頻塊的形式的參考數(shù)據(jù)。模式選擇單元40可分析關于候選運動向量中每一者而產(chǎn)生的經(jīng)重新建構視頻塊中的每一者以選擇候選運動向量中的一者。模式選擇單元40可經(jīng)由通常被稱作“速率-失真最佳化”(其通常被縮寫為“RD0”)的過程而選擇候選運動向量中提供最好速率對失真比率的候選運動向量。[0095]RDO通常涉及比較經(jīng)壓縮以實現(xiàn)某一速率(其通常指包含經(jīng)壓縮幀、切片或塊的經(jīng)壓縮視頻數(shù)據(jù)可被發(fā)送的位率)的經(jīng)重新建構幀、切片或塊與原始幀、切片或塊,及在給定速率下確定原始幀、切片或塊與經(jīng)重新建構幀、切片或塊之間的失真量。模式選擇單元40可使用實現(xiàn)或試圖實現(xiàn)給定速率的多個不同度量來編碼相同視頻數(shù)據(jù),從而關于這些各種度量來執(zhí)行失真最佳化過程。在此例子中,模式選擇單元40可比較每一經(jīng)重新建構視頻塊的RD輸出且選擇在目標速率下提供最小失真的經(jīng)重新建構視頻塊。
[0096]模式選擇單元40接著可向運動估計單元42指示此選擇,運動估計單元42著手與熵編碼單元56建立接口連接以向熵編碼單元56通知所述選擇。通常,運動估計單元42與熵編碼單元56建立接口連接以指示出運動向量預測連同識別選定候選運動向量的索引被執(zhí)行。如上文所指出,運動估計單元42可以已定義方式(例如,通過最高振幅到最低振幅或最低振幅到最高振幅,或以任何其它已定義方式)布置候選運動向量?;蛘?,運動估計單兀42還可向熵編碼單兀56用信號發(fā)送候選運動向量布置于此候選者列表中的方式。熵編碼單元56接著可編碼此索引連同可為指示出運動向量預測過程經(jīng)執(zhí)行以編碼運動數(shù)據(jù)所必要的任何其它信息。熵編碼單元56可在位流中輸出經(jīng)編碼索引作為語法元素(其可被表示為“mvp_idX”),所述位流可以上文關于圖1的實例而描述的方式予以存儲或發(fā)射。以此方式,視頻編碼器20可選擇多個候選運動向量中的一者作為視頻數(shù)據(jù)的當前塊的運動向量預測子且基于運動向量預測子來譯碼視頻數(shù)據(jù)的當前塊。
[0097]在一些例子中,熵編碼單元56執(zhí)行被稱作上下文自適應性二進制算術譯碼(CABAC)的熵譯碼的形式。在執(zhí)行CABAC時,熵編碼單元56可選擇多個所謂上下文(其為針對不同上下文而指定以便較有效率地壓縮與對應上下文相關聯(lián)的視頻數(shù)據(jù)的不同碼表)中的一者且根據(jù)針對選定上下文而定義的碼表來編碼經(jīng)壓縮殘余數(shù)據(jù)。熵編碼單元56可基于上下文信息來選擇上下文中的一者,上下文信息可包含在執(zhí)行運動向量預測時確定的參考索引、獨特運動向量候選者的數(shù)目,及在執(zhí)行運動向量預測時確定的預測方向。
[0098]圖3為說明視頻解碼器30的實例的框圖,視頻解碼器30解碼經(jīng)編碼視頻序列。在圖3的實例中,視頻解碼器30包含熵解碼單元70、運動補償單元72、幀內(nèi)預測單元74、反量化單元76、反變換單元78、存儲器82及求和器80。在一些實例中,視頻解碼器30可執(zhí)行與關于視頻編碼器(例如,圖1及圖2的實例所示的視頻編碼器20)而描述的編碼遍次大體上互逆的解碼遍次。盡管大體上互逆,但在一些例子中,視頻解碼器30可執(zhí)行與由視頻編碼器20執(zhí)行的技術相似的技術。換句話說,視頻解碼器30可執(zhí)行與由視頻編碼器20執(zhí)行的過程實質上相似的過程。此外,如上文所描述,視頻編碼器20可在執(zhí)行視頻編碼的過程中執(zhí)行視頻解碼。為了進行說明,視頻編碼器20的反量化單元58、反變換單元60及求和器62可執(zhí)行與視頻解碼器30的反量化單元76、反變換單元78及求和器80的操作實質上相似的操作。
[0099]如圖3的實例所示,熵解碼單元70接收經(jīng)編碼位流,出于說明的目的,經(jīng)編碼位流被假定為包含識別選定候選運動向量(其中,再次,這些候選運動向量可被稱作候選運動向量或候選運動向量預測子(“候選MVP”))的一元或截斷式一元經(jīng)譯碼索引。在執(zhí)行與視頻編碼器20的熵編碼單元56的過程大體上互逆的過程時,熵解碼單元70可接收用于當前PU的語法元素或其它譯碼數(shù)據(jù),其指示出運動向量預測過程經(jīng)執(zhí)行以確定當前的運動向量。回應于此語法元素或其它譯碼數(shù)據(jù),熵解碼單元70剖析來自位流的運動向量預測子索引(mvp_idX),從而將此運動向量預測子索引提供到運動補償單元72。熵解碼單元70還解碼與此運動向量預測子索引相關聯(lián)的視頻數(shù)據(jù)的經(jīng)編碼塊,從而將視頻數(shù)據(jù)的此經(jīng)編碼塊提供到反量化單元76。
[0100]運動補償單元72檢索鄰近于當前的PU的空間候選運動向量及參考幀中的同置型PU的時間候選運動向量。熵解碼單元70還可向運動補償單元72提供針對當前而識別的參考幀(通常作為位流中的另一語法元素)。或者,運動補償單元72可關于AMVP或合并模式予以配置以從以設定方式(例如,從當前I3U所處的當前幀向后或向前的一個、兩個或任何其它數(shù)目)而識別的參考幀檢索時間候選運動向量。
[0101]運動補償單元72接著可建構包含四個空間候選運動向量及時間候選運動向量的候選者列表。在產(chǎn)生此候選者列表時,運動補償單元72可縮放針對視頻數(shù)據(jù)的當前塊而確定的多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量。如上文所指出,此縮放過程可基于參考幀的圖像次序計數(shù)與當前幀的圖像次序計數(shù)之間的差。此外,基于POC距離的經(jīng)縮放運動向量可超過指定范圍(其可被稱作“運動向量范圍”),所述指定范圍可根據(jù)視頻編碼簡檔或層級予以定義。結果,運動補償單元72可執(zhí)行本發(fā)明所描述的技術以將經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)。此外,運動補償單元72可修改經(jīng)縮放候選運動向量而不修改尚未被縮放的其它候選運動向量中任一者。
[0102]運動補償單元72可以上文關于圖1、圖2的實例所示的視頻編碼器20的運動估計單元42而描述的任何數(shù)目個方式修改經(jīng)縮放候選運動向量。舉例來說,運動補償單元72可裁剪經(jīng)縮放候選運動向量的垂直分量以使其保持于運動向量范圍的界限內(nèi)。換句話說,運動補償單元72可有效地將垂直運動向量值限于最大/最小垂直運動向量分量范圍。運動補償單元72還可裁剪經(jīng)縮放候選運動向量的水平分量以使其保持于運動向量范圍的界限內(nèi)。換句話說,運動補償單元72可有效地將水平運動向量值限于最大/最小水平運動向量分量范圍。
[0103]作為另一實例,運動補償單元72可縮放經(jīng)縮放候選運動向量以使其保持于運動向量范圍的界限內(nèi)。為了進行說明,對于具有水平分量(mv_x)及超過垂直運動向量極限的指定范圍的垂直分量(mv_y)的給定經(jīng)縮放運動向量,運動補償單元72可將y分量限于mv_I' , mv_y;對應于垂直MV極限。
[0104]在任何情況下,在形成此候選者列表之后,運動補償單元72接著從由運動向量預測子索引識別的候選者列表選擇候選運動向量中的一者。對于經(jīng)幀間譯碼塊,運動補償單元72接著可基于經(jīng)識別運動向量來產(chǎn)生幀間預測數(shù)據(jù)。運動補償單元72可使用此運動向量以識別存儲到存儲器82的參考幀中的預測塊。對于經(jīng)幀內(nèi)譯碼塊,幀內(nèi)預測單元74可使用在位流中接收的幀內(nèi)預測模式以由空間鄰近塊形成預測塊。反量化單元76反量化(即,解量化)提供于位流中且由熵解碼單元70解碼的經(jīng)量化塊系數(shù)。反量化過程可包含常規(guī)過程,例如,如由H.264解碼標準定義。反量化過程還可包含使用由求和器50針對每一宏塊而演算的量化參數(shù)QPy以確定量化程度,且同樣地確定應被應用的反量化程度。
[0105]反變換單元60將反變換(例如,反DCT、反整數(shù)變換,或概念上相似反變換過程)應用于變換系數(shù),以便在像素域中產(chǎn)生殘余塊。運動補償單元72產(chǎn)生經(jīng)運動補償塊,從而可能地基于內(nèi)插濾波器來執(zhí)行內(nèi)插。待用于具有子像素精度的運動估計的內(nèi)插濾波器的識別符可包含于語法元素中。運動補償單元72可使用如在視頻塊的編碼期間由視頻編碼器20使用的內(nèi)插濾波器以演算參考塊的次整數(shù)像素的內(nèi)插值。運動補償單元72可根據(jù)經(jīng)接收語法信息以確定由視頻編碼器20使用的內(nèi)插濾波器,且使用所述內(nèi)插濾波器以產(chǎn)生預測性塊。
[0106]運動補償單元72使用語法信息中的一些以確定用以編碼經(jīng)編碼視頻序列的幀的CU的大小、描述經(jīng)編碼視頻序列的幀的每一CU如何被分割的分割信息、指示每一CU如何被編碼的模式、用于每一經(jīng)幀間編碼CU的一或多個參考幀(或列表),及用以解碼經(jīng)編碼視頻序列的其它信息。
[0107]求和器80對殘余塊與由運動補償單元72或幀內(nèi)預測單元產(chǎn)生的對應預測塊進行求和以形成經(jīng)解碼塊。必要時,還可應用解塊濾波器以濾波經(jīng)解碼塊,以便移除成塊效應假影。接著將經(jīng)解碼視頻塊存儲于存儲器82中的參考幀存儲區(qū)中,參考幀存儲區(qū)在HEVC標準中可被稱作經(jīng)解碼圖像緩沖區(qū),其提供參考塊以供后續(xù)運動補償且還產(chǎn)生經(jīng)解碼視頻以供呈現(xiàn)于顯示裝置(例如,圖1的顯示裝置32)上。
[0108]在一些例子中,時間候選運動向量可能不可用,例如,當指定時間候選運動向量的切片丟失(即,作為一實例,在經(jīng)編碼位流中未被恢復或接收)時。當此時間候選運動向量不可用時,運動補償單元72可將此時間候選運動向量設定到默認值或以其它方式確定此時間候選運動向量的默認運動向量信息。在一些例子中,可取決于參考幀是否被幀內(nèi)譯碼來重新建構時間候選運動向量的此默認運動向量信息。當參考幀經(jīng)確定為被幀內(nèi)譯碼時,運動補償單元72可基于針對與當前幀中的當前部分同置于參考幀的同一位置中的參考幀的部分而確定的空間運動向量來導出默認候選運動向量的默認運動向量信息。同樣地,時間預測空間候選運動向量中的一或多者可能不可用或丟失,且可基于針對與當前幀中的當前部分同型于參考幀的同一位置中的參考幀的部分而確定的空間運動向量來導出默認候選運動向量的默認運動向量信息。
[0109]如上文所指出,存在兩種類型的運動向量預測:合并模式,及AMVP。對于合并模式,運動補償單元72在確定默認運動信息時確定運動向量振幅、預測方向及參考索引。對于AMVP,運動補償單元72確定運動向量振幅,但無需確定預測方向及參考索引,這是因為在用于當前PU的位流中分離地用信號發(fā)送預測方向及參考索引。因此,運動補償單元72可使默認運動信息的確定基于為了執(zhí)行運動向量預測而用信號發(fā)送的模式,即,對于當前PU,用信號發(fā)送的運動向量預測的類型為合并模式抑或AMVP。
[0110]圖4為說明在執(zhí)行本發(fā)明所描述的運動向量預測技術的方面時視頻譯碼器(例如,圖2的實例所示的視頻編碼器20及/或圖3的實例所示的視頻解碼器30)的示范性操作的流程圖。最初,首先參考視頻編碼器20,如上文所描述,運動估計單元42可針對對應于當前CU的當前PU而確定空間候選運動向量(90)。再次,如上文所描述,運動估計單元42接下來可從參考幀中的同置型PU針對當前而確定時間候選運動向量(92)。在確定空間候選運動向量及時間候選運動向量中任一者或此兩者時,運動估計單元42可以上文所描述的方式縮放所述候選運動向量中的一或多者(94)。另外,運動估計單元42可修改經(jīng)縮放運動向量中的一或多者,如上文所描述(95)。
[0111]在修改一或多個經(jīng)縮放運動向量之后,運動估計單元42可形成空間候選運動向量及時間候選運動向量的候選者列表且選擇所述候選運動向量中的一者作為當前PU的MVP (96,98)。如上文所指出,此選擇可涉及視頻編碼器20執(zhí)行RDO分析,其中接著使用候選運動向量中的選定者以按上文所描述的方式譯碼視頻數(shù)據(jù)的塊。熵編碼單元56可將候選運動向量中的選定者指定為位流中的運動向量預測子索引(mvp_idX),借此使視頻解碼器能夠識別候選運動向量中的選定者。
[0112]關于視頻解碼器30,運動補償單元72可執(zhí)行與上文關于運動估計單元42而描述的操作相似的操作。即,如上文所描述,運動補償單元72可針對對應于當前CU的當前PU而確定空間候選運動向量(90)。再次,如上文所描述,運動補償單元72接下來可從參考幀中的同置型PU針對當前而確定時間候選運動向量(92)。在確定空間候選運動向量及時間候選運動向量中任一者或此兩者時,運動補償單元72可以上文所描述的方式縮放所述候選運動向量中的一或多者(94)。另外,運動補償單元72可將經(jīng)縮放運動向量中的一或多者修改為在指定范圍內(nèi),如上文所描述(95)。
[0113]在修改一或多個經(jīng)縮放運動向量之后,運動補償單元72可形成空間候選運動向量及時間候選運動向量的候選者列表且選擇所述候選運動向量中的一者作為當前PU的MVP(96>98) ο熵解碼單元70可剖析來自位流的運動向量預測子索引(mvp_idx)且將此運動向量預測子索引提供到運動補償單元72以用于選擇候選運動向量中的一者作為當前
的 MVP。
[0114]圖5為說明在執(zhí)行本發(fā)明所描述的運動向量預測技術的其它方面時視頻譯碼器(例如,圖2的實例所示的視頻編碼器20及/或圖3的實例所示的視頻解碼器30)的示范性操作的流程圖。最初,首先參考視頻編碼器20,如上文所描述,運動估計單元42可針對對應于當前CU的當前PU而確定空間候選運動向量(100)。再次,如上文所描述,運動估計單元42接下來可從參考幀中的同置型PU針對當前PU而確定時間候選運動向量(102)。在確定空間候選運動向量及時間候選運動向量中任一者或此兩者時,運動估計單元42可以上文所描述的方式縮放所述候選運動向量中的一或多者(104)。
[0115]接下來,運動估計單元42可形成空間候選運動向量及時間候選運動向量的候選者列表且選擇所述候選運動向量中的一者作為當前PU的MVP(106、108)。如上文所指出,此選擇可涉及視頻編碼器20執(zhí)行RDO分析,其中接著使用候選運動向量中的選定者以按上文所描述的方式譯碼視頻數(shù)據(jù)的塊。在執(zhí)行此RDO分析之前,運動估計單元42可首先確定候選運動向量中的選定者是否已被縮放(109)。如果未被縮放(“否”109),那么運動估計單元42在考慮候選運動向量的當前者時可不執(zhí)行任何額外操作。然而,如果被縮放(“是”109),那么運動估計單元42可以上文所描述的方式將候選運動向量中的選定者修改為在指定范圍內(nèi)(110)。如上文所指出,熵編碼單元56可將候選運動向量中的選定者指定為位流中的運動向量預測子索引(mvp_idX),借此使視頻解碼器能夠識別候選運動向量中的選定者。
[0116]關于視頻解碼器30,如上文所描述,運動補償單元72可針對對應于當前CU的當前PU而確定空間候選運動向量(100)。再次,如上文所描述,運動補償單元72接下來可從參考幀中的同置型PU針對當前而確定時間候選運動向量(102)。在確定空間候選運動向量及時間候選運動向量中任一者或此兩者時,運動補償單元72可以上文所描述的方式縮放所述候選運動向量中的一或多者(104)。
[0117]接下來,運動補償單元72可形成空間候選運動向量及時間候選運動向量的候選者列表且選擇所述候選運動向量中的一者作為當前PU的MVP(106、108)。為了選擇候選運動向量中的一者,熵解碼單元70可剖析來自位流的運動向量預測子索引(mvp_idX)且將此運動向量預測子索引提供到運動補償單元72以用于選擇候選運動向量中的一者作為當前I3U的MVP。運動補償單元72接著可確定候選運動向量中的選定者是否已被縮放(109)。如果未被縮放(“否”109),那么運動補償單元72在考慮候選運動向量的當前者時可不執(zhí)行任何額外操作。然而,如果被縮放(“是”109),那么運動補償單元72可以上文所描述的方式修改候選運動向量中的選定者(110)。
[0118]圖6為說明空間相鄰塊及時間相鄰塊的概念圖,運動向量預測子候選者是從空間相鄰塊及時間相鄰塊被產(chǎn)生以用于運動向量預測模式。在當前HEVC測試模型(HM)中,支持兩種運動向量預測模式:合并模式,及自適應性運動向量預測(AMVP)模式。在任一模式中,視頻編碼器20及視頻解碼器30中每一者產(chǎn)生供針對當前視頻塊或TO112而確定運動向量的同一運動向量預測子候選者列表。在合并模式及AMVP模式中,運動向量預測子候選者可包含當前PU112的空間相鄰塊(例如,圖6所說明的相鄰塊A、B、C、D及E)的運動向量。運動向量預測子候選者還可包含當前TO112的同置型塊114的時間相鄰塊(例如,圖4所說明的相鄰塊^及!^)的運動向量。在一些狀況下,運動向量預測子候選者可包含相鄰塊中的兩者或兩者以上的組合,例如,兩個或兩個以上運動向量的平均值、中值或加權平均值。 [0119]在AMVP模式的狀況下,可產(chǎn)生運動向量預測子候選者列表以包含空間相鄰塊或時間相鄰塊的運動向量。視頻編碼器20接著從候選者列表選擇當前TO112的最準確運動向量預測子候選者。在一實例中,視頻編碼器20可選擇從相鄰塊中的一者的運動向量產(chǎn)生的運動向量預測子候選者作為當前PU112的運動向量預測子。在另一實例中,視頻編碼器20可選擇從相鄰塊中的兩者或兩者以上的運動向量產(chǎn)生的運動向量預測子候選者作為當前PU112的運動向量預測子。在此狀況下,可將運動向量預測子演算為兩個或兩個以上運動向量的平均值、中值或加權平均值。視頻編碼器20接著確定當前PU112的運動向量預測子與運動向量之間的運動向量差。視頻編碼器20接著向視頻解碼器30用信號發(fā)送當前PU112的運動向量差及運動向量預測子索引。
[0120]視頻解碼器30接收表示經(jīng)編碼視頻塊的位流,其包含視頻塊的運動向量差及運動向量預測子索引。為了解碼視頻塊,視頻解碼器30以與視頻編碼器20的方式相同的方式產(chǎn)生運動向量預測子候選者列表。視頻解碼器30通過將當前TO112的用信號發(fā)送的運動向量預測子索引應用于候選者列表來選擇當前PU112的運動向量預測子。視頻解碼器30接著組合用信號發(fā)送的運動向量差與選定運動向量預測子以重新建構當前PU112的運動向量。視頻解碼器30使用當前PU112的運動向量來定位參考圖像中的預測性塊以重新建構經(jīng)編碼視頻塊。
[0121]在合并模式的狀況下,可產(chǎn)生運動向量預測子候選者列表以包含空間相鄰塊或時間相鄰塊中每一者的所有運動信息,其包含運動向量、參考圖像索引及預測方向。視頻編碼器20接著從候選者列表中的相鄰塊選擇當前TO112的最準確運動信息。代替向視頻解碼器30用信號發(fā)送當前PU112的運動向量差、參考圖像索引及預測方向,視頻編碼器20直接使用相鄰塊的選定運動信息作為當前PU112的最終運動信息。以此方式,視頻編碼器20向視頻解碼器30僅用信號發(fā)送用以指示相鄰塊的索引,當前PUl 12的所有運動信息應從所述相鄰塊被導出。
[0122]視頻解碼器30接收表示經(jīng)編碼視頻塊的位流,其包含視頻塊的索引值。為了解碼視頻塊,視頻解碼器30以與視頻編碼器20的方式相同的方式產(chǎn)生運動向量預測子候選者列表。視頻解碼器30通過將用信號發(fā)送的索引應用于候選者列表以選擇相鄰塊的運動信息來確定當前PU112的所有運動信息,其包含運動向量、參考圖像索引及預測方向。視頻解碼器30接著使用當前PU112的運動向量來定位預測性塊以重新建構經(jīng)編碼視頻塊。
[0123]在一或多個實例中,所描述功能可以硬件、軟件、固件或其任何組合予以實施。如果以軟件予以實施,那么所述功能可作為一或多個指令或代碼而存儲于計算機可讀媒體上或經(jīng)由計算機可讀媒體進行發(fā)射。計算機可讀媒體可包含計算機數(shù)據(jù)存儲媒體或通信媒體兩者,通信媒體包含促進計算機程序從一處到另一處的傳送的任何媒體。數(shù)據(jù)存儲媒體可為可由一或多個計算機或一或多個處理器存取以檢索用于實施本發(fā)明所描述的技術的指令、代碼及/或數(shù)據(jù)結構的任何可用媒體。作為實例而非限制,這些計算機可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器,或可用以載送或存儲呈指令或數(shù)據(jù)結構的形式的所要程序代碼且可由計算機存取的任何其它媒體。又,將任何連接適當?shù)胤Q為計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖纜線、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電及微波的無線技術而從網(wǎng)站、服務器或其它遠程來源發(fā)射軟件,那么同軸電纜、光纖纜線、雙絞線、DSL或例如紅外線、無線電及微波的無線技術包含于媒體的定義中。如本文所使用,磁盤及光盤包含緊密光盤(CD)、激光光盤、光學光盤、數(shù)字影音光盤(DVD)、軟性磁盤及藍光光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤用激光以光學方式再生數(shù)據(jù)。以上各者的組合還應包含于計算機可讀媒體的范圍內(nèi)。
[0124]代碼可由例如一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路的一或多個處理器執(zhí)行。因此,如本文所使用,術語“處理器”可指上述結構或適合于實施本文所描述的技術的任何其它結構中任一者。另外,在一些方面中,可將本文所描述的功能性提供于經(jīng)配置用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入于組合式編碼解碼器中。而且,所述技術可完全地實施于一或多個電路或邏輯元件中。
[0125]本發(fā)明的技術可實施于各種各樣的裝置或設備中,所述裝置或設備包含無線手機、集成電路(IC)或IC集合(例如,芯片集)。各種組件、模塊或單元在本發(fā)明中被描述以強調經(jīng)配置以執(zhí)行所揭示技術的裝置的功能方面,但未必要求由不同硬件單元實現(xiàn)。而是,如上文所描述,各種單元可組合于編碼解碼器硬件單元中,或由包含如上文所描述的一或多個處理器的互操作性硬件單元的集體結合合適軟件及/或固件而提供。
[0126]已描述各種實例。這些及其它實例是在隨附權利要求書的范圍內(nèi)。
【權利要求】
1.一種譯碼視頻數(shù)據(jù)的方法,所述方法包括: 針對所述視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程;縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量; 將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi); 選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子;以及 基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
2.根據(jù)權利要求1所述的方法,其中修改所述經(jīng)縮放候選運動向量包括修改所述經(jīng)縮放候選運動向量而不修改尚未被縮放的所述其它候選運動向量中的任一者。
3.根據(jù)權利要求1所述的方法,其中修改所述經(jīng)縮放候選運動向量包括在選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子之前裁剪所述經(jīng)縮放候選運動向量。
4.根據(jù)權利要求1所述的方法,其中所述運動向量預測過程為合并模式及高級運動向量預測模式中的一者。
5.根據(jù)權利要求1所述的方法,其中所述指定范圍是由視頻譯碼簡檔或層級定義。
6.根據(jù)權利要求 1所述的方法,其中所述指定范圍在視頻解碼器及視頻編碼器中的一或多者中被固定及硬譯碼。
7.根據(jù)權利要求1所述的方法,其中所述指定范圍以四分之一像素單位被指定為[-32768,32767]。
8.根據(jù)權利要求1所述的方法,其中修改所述經(jīng)縮放運動向量包含: 將所述經(jīng)縮放候選運動向量的垂直分量裁剪為在垂直指定范圍內(nèi);以及 將所述經(jīng)縮放候選運動向量的水平分量裁剪為在水平指定范圍內(nèi)。
9.根據(jù)權利要求1所述的方法, 其中所述指定范圍指定包含垂直位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選運動向量擴展超出所述垂直位移極限,且其中修改所述經(jīng)縮放候選運動向量進一步包括裁剪所述經(jīng)縮放候選運動向量的垂直分量而使得所述經(jīng)縮放候選運動向量的所述垂直分量在所述垂直位移極限內(nèi)。
10.根據(jù)權利要求1所述的方法, 其中所述指定范圍指定包含水平位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選運動向量擴展超出所述水平位移極限,且其中修改所述經(jīng)縮放候選運動向量進一步包括裁剪所述經(jīng)縮放候選運動向量的水平分量而使得所述經(jīng)縮放候選運動向量的所述水平分量在所述水平位移極限內(nèi)。
11.根據(jù)權利要求1所述的方法,其中修改所述經(jīng)縮放候選運動向量包括縮放所述經(jīng)縮放候選運動向量,使得所述經(jīng)縮放候選運動向量由所述一或多個運動向量位移極限定界。
12.根據(jù)權利要求1所述的方法,其進一步包括基于視頻數(shù)據(jù)的所述當前塊的所述多個候選運動向量中的所述選定者來針對視頻數(shù)據(jù)的所述當前塊而確定運動向量,其中所述經(jīng)確定運動向量識別視頻數(shù)據(jù)的預測塊,其中譯碼視頻數(shù)據(jù)的所述當前塊包括相對于視頻數(shù)據(jù)的所述預測塊來解碼視頻數(shù)據(jù)的所述當前塊。
13.根據(jù)權利要求1所述的方法,其進一步包括基于視頻數(shù)據(jù)的所述當前塊的所述多個候選運動向量中的所述選定者來針對視頻數(shù)據(jù)的所述當前塊而確定運動向量,其中所述經(jīng)確定運動向量識別視頻數(shù)據(jù)的預測塊,且 其中譯碼視頻數(shù)據(jù)的所述當前塊包括相對于視頻數(shù)據(jù)的所述預測塊來編碼視頻數(shù)據(jù)的所述當前塊。
14.根據(jù)權利要求1所述的方法,其進一步包括: 解碼運動向量預測子索引以針對視頻數(shù)據(jù)的所述當前塊而識別所述多個候選運動向量中的所述選定者以便執(zhí)行所述運動向量預測過程的高級運動向量預測模式;以及 解碼視頻數(shù)據(jù)的所述當前塊的所述多個候選運動向量中的所述選定者與運動向量之間的運動向量差以針對視頻數(shù)據(jù)的所述當前塊而確定運動向量, 其中譯碼視頻數(shù)據(jù)的所述當前塊包括使用視頻數(shù)據(jù)的所述當前塊的所述經(jīng)確定運動向量來解碼視頻數(shù)據(jù)的所述當前塊。
15.根據(jù)權利要求1所述的方法,其進一步包括: 解碼索引以針對視頻數(shù)據(jù)的所述當前塊而識別所述多個候選運動向量中的所述選定者以便執(zhí)行所述運動向量預測過程的合并模式;以及 將視頻數(shù)據(jù)的所述當前塊的運動向量確定為等效于所述多個候選運動向量中的所述選定者, 其中譯碼視頻數(shù)據(jù)的所述當前塊包括使用所述視頻數(shù)據(jù)的所述當前塊的所述經(jīng)確定運動向量來解碼視頻數(shù)據(jù)的所述當前塊。
16.一種經(jīng)配置以執(zhí)行運動向量預測過程以譯碼視頻數(shù)據(jù)的視頻譯碼裝置,所述視頻譯碼裝置包括: 處理器,其經(jīng)配置以針對所述視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行所述運動向量預測過程、縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量、將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)、選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子,且基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
17.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述處理器經(jīng)進一步配置以在修改所述經(jīng)縮放候選運動向量時修改所述經(jīng)縮放候選運動向量而不修改尚未被縮放的所述其它候選運動向量中的任一者。
18.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述處理器經(jīng)進一步配置以在修改所述經(jīng)縮放候選運動向量時在選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子之前裁剪所述經(jīng)縮放候選運動向量。
19.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述運動向量預測過程為合并模式及高級運動向量預測模式中的一者。
20.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述指定范圍是由視頻譯碼簡檔或層級定義。
21.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述指定范圍在視頻解碼器及視頻編碼器中的一或多者中被固定及硬譯碼。
22.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述指定范圍以四分之一像素單位被指定為[-32768,32767]。
23.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述處理器經(jīng)進一步配置以在修改所述經(jīng)縮放運動向量時將所述經(jīng)縮放候選運動向量的垂直分量裁剪為在垂直指定范圍內(nèi),且將所述經(jīng)縮放候選運動向量的水平分量裁剪為在水平指定范圍內(nèi)。
24.根據(jù)權利要求16所述的視頻譯碼裝置, 其中所述指定范圍指定包含垂直位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選運動向量擴展超出所述垂直位移極限,且 其中所述處理器經(jīng)進一步配置以在修改所述經(jīng)縮放候選運動向量時裁剪所述經(jīng)縮放候選運動向量的垂直分量而使得所述經(jīng)縮放候選運動向量的所述垂直分量在所述垂直位移極限內(nèi)。
25.根據(jù)權利要求16所述的視頻譯碼裝置, 其中所述指定范圍指定包含水平位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選 運動向量擴展超出所述水平位移極限,且 其中所述處理器經(jīng)進一步配置以在修改所述經(jīng)縮放候選運動向量時裁剪所述經(jīng)縮放候選運動向量的水平分量而使得所述經(jīng)縮放候選運動向量的所述水平分量在所述水平位移極限內(nèi)。
26.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述處理器經(jīng)進一步配置以在修改所述經(jīng)縮放候選運動向量時縮放所述經(jīng)縮放候選運動向量,使得所述經(jīng)縮放候選運動向量由所述一或多個運動向量位移極限定界。
27.根據(jù)權利要求16所述的視頻譯碼裝置, 其中所述處理器經(jīng)進一步配置以基于視頻數(shù)據(jù)的所述當前塊的所述多個候選運動向量中的所述選定者來針對視頻數(shù)據(jù)的所述當前塊而確定運動向量, 其中所述經(jīng)確定運動向量識別視頻數(shù)據(jù)的預測塊,且 其中所述處理器經(jīng)進一步配置以在譯碼視頻數(shù)據(jù)的所述當前塊時相對于視頻數(shù)據(jù)的所述預測塊來解碼視頻數(shù)據(jù)的所述當前塊。
28.根據(jù)權利要求16所述的視頻譯碼裝置, 其中所述處理器經(jīng)進一步配置以基于視頻數(shù)據(jù)的所述當前塊的所述多個候選運動向量中的所述選定者來針對視頻數(shù)據(jù)的所述當前塊而確定運動向量, 其中所述經(jīng)確定運動向量識別視頻數(shù)據(jù)的預測塊,且 其中所述處理器經(jīng)進一步配置以在譯碼視頻數(shù)據(jù)的所述當前塊時相對于視頻數(shù)據(jù)的所述預測塊來編碼視頻數(shù)據(jù)的所述當前塊。
29.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述處理器經(jīng)進一步配置以解碼運動向量預測子索引以針對視頻數(shù)據(jù)的所述當前塊而識別所述多個候選運動向量中的所述選定者以便執(zhí)行所述運動向量預測過程的高級運動向量預測模式、解碼視頻數(shù)據(jù)的所述當前塊的所述多個候選運動向量中的所述選定者與運動向量之間的運動向量差以針對視頻數(shù)據(jù)的所述當前塊而確定運動向量,且在譯碼視頻數(shù)據(jù)的所述當前塊時使用視頻數(shù)據(jù)的所述當前塊的所述經(jīng)確定運動向量來解碼視頻數(shù)據(jù)的所述當前塊。
30.根據(jù)權利要求16所述的視頻譯碼裝置,其中所述處理器經(jīng)進一步配置以解碼索引以針對視頻數(shù)據(jù)的所述當前塊而識別所述多個候選運動向量中的所述選定者以便執(zhí)行所述運動向量預測過程的合并模式、將視頻數(shù)據(jù)的所述當前塊的運動向量確定為等效于所述多個候選運動向量中的所述選定者,且在譯碼視頻數(shù)據(jù)的所述當前塊時使用所述視頻數(shù)據(jù)的所述當前塊的所述經(jīng)確定運動向量來解碼視頻數(shù)據(jù)的所述當前塊。
31.一種經(jīng)配置以執(zhí)行運動向量預測過程以譯碼視頻數(shù)據(jù)的視頻譯碼裝置,所述視頻譯碼裝置包括: 用于針對所述視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行所述運動向量預測過程的裝置; 用于縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量的裝置; 用于將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi)的裝置; 用于選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子的裝置;以及 用于基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊的裝置。
32.根據(jù)權利要求31所述的視頻譯碼裝置,其中用于修改所述經(jīng)縮放候選運動向量的所述裝置包括用于修改所述經(jīng)縮放候選運動向量而不修改尚未被縮放的所述其它候選運動向量中的任一者的裝置。
33.根據(jù)權利要求31所述的視頻譯碼裝置,其中用于修改所述經(jīng)縮放候選運動向量的所述裝置包括用于在選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子之前裁剪所述經(jīng)縮放候選運動向量的裝置。
34.根據(jù)權利要求31所述的視頻譯碼裝置,其中所述指定范圍是由視頻譯碼簡檔或層級定義。
35.根據(jù)權利要求31所述的視頻譯碼裝置,其中所述指定范圍在視頻解碼器及視頻編碼器中的一或多者中被固定及硬譯碼。
36.根據(jù)權利要求31所述的視頻譯碼裝置,其中所述指定范圍以四分之一像素單位被指定為[-32768,32767]。
37.根據(jù)權利要求31所述的視頻譯碼裝置,其中所述用于修改所述經(jīng)縮放運動向量的裝置包含: 用于將所述經(jīng)縮放候選運動向量的垂直分量裁剪為在垂直指定范圍內(nèi)的裝置;以及 用于將所述經(jīng)縮放候選運動向量的水平分量裁剪為在水平指定范圍內(nèi)的裝置。
38.根據(jù)權利要求31所述的視頻譯碼裝置, 其中所述指定范圍指定包含垂直位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選運動向量擴展超出所述垂直位移極限,且 其中所述用于修改所述經(jīng)縮放候選運動向量的裝置進一步包括用于裁剪所述經(jīng)縮放候選運動向量的垂直分量而使得所述經(jīng)縮放候選運動向量的所述垂直分量在所述垂直位移極限內(nèi)的裝置。
39.根據(jù)權利要求31所述的視頻譯碼裝置, 其中所述指定范圍指定包含水平位移極限的運動向量位移極限,其中所述經(jīng)縮放候選運動向量擴展超出所述水平位移極限,且 其中所述用于修改所述經(jīng)縮放候選運動向量的裝置進一步包括用于裁剪所述經(jīng)縮放候選運動向量的水平分量而使得所述經(jīng)縮放候選運動向量的所述水平分量在所述水平位移極限內(nèi)的裝置。
40.一種非暫時性計算機可讀存儲媒體,其上存儲有指令,所述指令在被執(zhí)行時致使一或多個處理器: 針對視頻數(shù)據(jù)的當前塊而確定多個候選運動向量以便執(zhí)行運動向量預測過程; 縮放針對所述視頻數(shù)據(jù)的所述當前塊而確定的所述多個候選運動向量中的一或多者以產(chǎn)生一或多個經(jīng)縮放候選運動向量; 將所述經(jīng)縮放候選運動向量修改為在指定范圍內(nèi); 選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子;且 基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
41.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體,其中所述指令在被執(zhí)行時致使所述一或多個處理器在修改所述經(jīng)縮放候選運動向量時修改所述經(jīng)縮放候選運動向量而不修改尚未被縮放的所述其它候選運動向量中的任一者。
42.根據(jù)權利要求4 0所述的非暫時性計算機可讀存儲媒體,其中所述指令在被執(zhí)行時致使所述一或多個處理器在修改所述經(jīng)縮放候選運動向量時在選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子之前裁剪所述經(jīng)縮放候選運動向量。
43.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體,其進一步具有存儲于其上的指令,所述指令在被執(zhí)行時致使所述一或多個處理器: 選擇所述多個候選運動向量中的一者作為所述視頻數(shù)據(jù)的所述當前塊的運動向量預測子;且 基于運動向量預測子來譯碼視頻數(shù)據(jù)的所述當前塊。
44.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體,其中所述指定范圍是由視頻譯碼簡檔或層級定義。
45.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體,其中所述指定范圍在視頻解碼器及視頻編碼器中的一或多者中被固定及硬譯碼。
46.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體,其中所述指定范圍以四分之一像素單位被指定為[-32768,32767]。
47.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體,其中所述指令在被執(zhí)行時致使所述一或多個處理器在修改所述經(jīng)縮放運動向量時: 將所述經(jīng)縮放候選運動向量的垂直分量裁剪為在垂直指定范圍內(nèi);且 將所述經(jīng)縮放候選運動向量的水平分量裁剪為在水平指定范圍內(nèi)。
48.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體, 其中所述指定范圍指定包含垂直位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選運動向量擴展超出所述垂直位移極限,且 其中所述指令在被執(zhí)行時致使所述一或多個處理器在修改所述經(jīng)縮放候選運動向量時裁剪所述經(jīng)縮放候選運動向量的垂直分量而使得所述經(jīng)縮放候選運動向量的所述垂直分量在所述垂直位移極限內(nèi)。
49.根據(jù)權利要求40所述的非暫時性計算機可讀存儲媒體, 其中所述指定范圍指定包含水平位移極限的運動向量位移極限, 其中所述經(jīng)縮放候選運動向量擴展超出所述水平位移極限,且其中所述指令在被執(zhí)行時致使所述一或多個處理器在修改所述經(jīng)縮放候選運動向量時裁剪所述經(jīng)縮放候選運動向量的水平分量而使得所述經(jīng)縮放候選運動向量的所述水平分量在所述水平 位移極限內(nèi)。
【文檔編號】H04N19/196GK104012096SQ201280063322
【公開日】2014年8月27日 申請日期:2012年12月11日 優(yōu)先權日:2011年12月22日
【發(fā)明者】陳建樂, 穆罕默德·蔡德·科班, 王益魁, 翔林·王, 馬爾塔·卡切維奇, 錢威俊 申請人:高通股份有限公司