用于高效率視頻譯碼的高級別語法擴展的制作方法
【專利摘要】在一個實例中,一種裝置包括視頻譯碼器,所述視頻譯碼器經(jīng)配置以譯碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值,譯碼用于所述第一圖片的第二維度圖片標識符,及根據(jù)基礎視頻譯碼規(guī)范或所述基礎視頻譯碼規(guī)范的擴展而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來譯碼第二圖片。所述視頻譯碼器可包含視頻編碼器或視頻解碼器。所述第二維度圖片標識符可包含(例如)視圖標識符、視圖順序索引、層標識符或其它此類標識符。所述視頻譯碼器可在用于所述第二圖片的塊的運動矢量的譯碼期間(例如,在高級運動矢量預測或合并模式譯碼期間)譯碼所述POC值及所述第二維度圖片標識符。
【專利說明】用于高效率視頻譯碼的高級別語法擴展
[0001]本申請案主張以下美國臨時申請案的權利:2012年3月16日申請的美國臨時申請案第61/611,959號、2012年4月16日申請的美國臨時申請案第61/624,990號、2012年6月11日申請的美國臨時申請案第61/658,344號、2012年6月22日申請的美國臨時申請案第61/663,484號,及2012年12月27日申請的美國臨時申請案第61/746,476號,所述申請案中的每一者的全部內(nèi)容特此以引用的方式并入。
【技術領域】
[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ā)中的高效率視頻譯碼(HEVC)標準,及這些標準的擴展。視頻裝置可通過實施這些視頻譯碼技術而更有效地傳輸、接收、編碼、解碼及/或存儲數(shù)字視頻信息。
[0004]視頻譯碼技術包括空間(圖片內(nèi))預測及/或時間(圖片間)預測,以縮減或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(例如,視頻幀或視頻幀的部分)分割為多個視頻塊,所述視頻塊也可被稱為樹塊、譯碼單元(CU)及/或譯碼節(jié)點。圖片的經(jīng)幀內(nèi)譯碼⑴切片中的視頻塊是相對于同一圖片中的相鄰塊中的參考樣本使用空間預測而編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可相對于同一圖片中的相鄰塊中的參考樣本使用空間預測,或相對于其它參考圖片中的參考樣本使用時間預測。圖片可被稱為幀,且參考圖片可被稱為參考幀。
[0005]空間或時間預測產(chǎn)生待譯碼的塊的預測性塊。殘余數(shù)據(jù)表示在待譯碼的原始塊與預測性塊之間的像素差。根據(jù)運動矢量及殘余數(shù)據(jù)來編碼經(jīng)幀間譯碼塊,所述運動矢量指向形成預測性塊的參考樣本的塊,所述殘余數(shù)據(jù)指示在經(jīng)譯碼塊與預測性塊之間的差。根據(jù)幀內(nèi)譯碼模式及殘余數(shù)據(jù)來編碼經(jīng)幀內(nèi)譯碼塊。為了進一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生接著可量化的殘余變換系數(shù)??蓲呙枳畛跻远S陣列而排列的經(jīng)量化變換系數(shù),以便產(chǎn)生變換系數(shù)的一維矢量,且可應用熵譯碼以實現(xiàn)甚至更大程度的壓縮。
【發(fā)明內(nèi)容】
[0006]一般而言,本發(fā)明描述用于以僅高級別語法改變來支持譯碼標準的擴展(諸如,即將到來的高效率視頻譯碼(HEVC)標準)的各種技術。舉例來說,本發(fā)明描述在多視圖視頻編解碼器及/或三維(3D)視頻編解碼器的HEVC基礎規(guī)范及HEVC擴展兩者中的技術,其中基礎視圖是與所述HEVC基礎規(guī)范兼容。一般而言,“基礎視頻譯碼規(guī)范”可對應于用以譯碼二維單層視頻數(shù)據(jù)的視頻譯碼規(guī)范,諸如HEVC基礎規(guī)范。對基礎視頻譯碼規(guī)范的擴展可擴展基礎視頻譯碼規(guī)范的能力以允許3D及/或多層視頻譯碼。HEVC基礎規(guī)范表示基礎視頻譯碼規(guī)范的實例,而對HEVC基礎規(guī)范的MVC及SVC擴展表示對基礎視頻譯碼規(guī)范的擴展的實例。
[0007]在一個實例中,一種方法包括:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;解碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片。所述第二維度圖片標識符可被進一步簡化到所述圖片的類型,例如,所述圖片為長期還是短期圖片,或圖片在為參考圖片時是否具有與參考所述參考圖片的所述圖片的圖片順序計數(shù)(POC)值相同的POC值。在從相鄰塊產(chǎn)生運動矢量候選者時,候選者在具有與待預測的運動矢量的第二維度圖片標識符不同的第二維度圖片標識符時可被認為不可用,所述待預測的運動矢量的所述第二維度圖片標識符為運動矢量指向目標參考索引且由所述目標參考索引識別的所述圖片。
[0008]在另一實例中,一種方法包括:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;編碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片。
[0009]在另一實例中,一種裝置包括經(jīng)配置以執(zhí)行以下操作的視頻解碼器:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;解碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片。
[0010]在另一實例中,一種裝置包括經(jīng)配置以執(zhí)行以下操作的視頻編碼器:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;編碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片。
[0011]在另一實例中,一種裝置包括:用于解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值的裝置;用于解碼用于所述第一圖片的第二維度圖片標識符的裝置;及用于根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片的裝置。
[0012]在另一實例中,一種裝置包括:用于編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值的裝置;用于編碼用于所述第一圖片的第二維度圖片標識符的裝置;及用于根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片的裝置。
[0013]在另一實例中,一種計算機可讀存儲媒體在其上存儲有指令,所述指令在執(zhí)行時使處理器執(zhí)行以下操作:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;解碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片。
[0014]在另一實例中,一種計算機可讀存儲媒體在其上存儲有指令,所述指令在執(zhí)行時使處理器執(zhí)行以下操作:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;編碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片。
[0015]在隨附圖式及以下描述中闡述一或多個實例的細節(jié)。其它特征、目標及優(yōu)點將從所述描述及所述圖式以及從權利要求書顯而易見。
【專利附圖】
【附圖說明】
[0016]圖1為說明實例視頻編碼及解碼系統(tǒng)的框圖,所述系統(tǒng)可利用用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。
[0017]圖2為說明視頻編碼器的實例的框圖,所述視頻編碼器可實施用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。
[0018]圖3為說明視頻解碼器的實例的框圖,所述視頻解碼器可實施用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。
[0019]圖4為說明實例MVC預測樣式的概念圖。
[0020]圖5到9為說明應被克服以實現(xiàn)僅高級別語法HEVC擴展的可能問題的概念圖。
[0021]圖10為說明供運動矢量預測中使用的當前塊的相鄰塊的實例集合的概念圖。
[0022]圖11為說明根據(jù)本發(fā)明的技術的用于編碼視頻數(shù)據(jù)的實例方法的流程圖。
[0023]圖12為說明根據(jù)本發(fā)明的技術的用于解碼視頻數(shù)據(jù)的實例方法的流程圖。
【具體實施方式】
[0024]一般而言,本發(fā)明描述用于以僅高級別語法(HLS)改變來支持譯碼標準的擴展(諸如,即將到來的高效率視頻譯碼(HEVC)標準)的各種技術。舉例來說,本發(fā)明描述在多視圖視頻譯碼(MVC)及/或三維視頻(3DV)譯碼的HEVC基礎規(guī)范及HEVC擴展兩者中的技術,其中基礎視圖是與所述HEVC基礎規(guī)范兼容。
[0025]本發(fā)明描述用以在HEVC擴展規(guī)范中啟用僅高級別語法配置文件的某些技術。在MVC/3DV的上下文中的術語“視圖間”可由在可縮放視頻譯碼(SVC)的上下文中的“層間”取代。即,盡管這些技術的描述主要集中于“視圖間”預測,但可將相同或類似構思應用于針對HEVC的僅HLS SVC擴展的“層間”參考圖片。
[0026]圖1為說明實例視頻編碼及解碼系統(tǒng)10的框圖,所述系統(tǒng)10可利用用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。如圖1中所展示,系統(tǒng)10包括源裝置12,源裝置12提供待在稍后時間由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。詳言之,源裝置12經(jīng)由計算機可讀媒體16將視頻數(shù)據(jù)提供到目的地裝置14。源裝置12及目的地裝置14可包含廣泛范圍的裝置中的任一者,所述裝置包括臺式計算機、筆記本(即,便攜式)計算機、平板計算機、機頂盒、諸如所謂的“智能”手機的電話手機、所謂的“智能”墊、電視、相機、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻流式處理裝置,或其類似者。在一些狀況下,可配備源裝置12及目的地裝置14以用于無線通信。
[0027]目的地裝置14可經(jīng)由計算機可讀媒體16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。計算機可讀媒體16可包含能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在一個實例中,計算機可讀媒體16可包含通信媒體,使得源裝置12能夠?qū)崟r地將經(jīng)編碼視頻數(shù)據(jù)直接傳輸?shù)侥康牡匮b置14。可根據(jù)通信標準(諸如,無線通信協(xié)議)來調(diào)制經(jīng)編碼視頻數(shù)據(jù),且將經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個物理傳輸線。通信媒體可形成諸如局域網(wǎng)、廣域網(wǎng)或全局網(wǎng)絡(諸如,因特網(wǎng))的基于數(shù)據(jù)包的網(wǎng)絡的部分。通信媒體可包括路由器、交換機、基站,或可用以促進從源裝置12到目的地裝置14的通信的任何其它設備。
[0028]在一些實例中,可將經(jīng)編碼數(shù)據(jù)從輸出接口 22輸出到存儲裝置。類似地,可由輸入接口從存儲裝置訪問經(jīng)編碼數(shù)據(jù)。存儲裝置可包括多種分布式或本地訪問式數(shù)據(jù)存儲媒體中的任一者,諸如硬盤驅(qū)動器、藍光光盤、DVD、CD-ROM、閃速存儲器、易失性或非易失性存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲媒體。在另一實例中,存儲裝置可對應于文件服務器,或可存儲由源裝置12所產(chǎn)生的經(jīng)編碼視頻的另一中間存儲裝置。目的地裝置14可經(jīng)由流式處理或下載從存儲裝置訪問所存儲視頻數(shù)據(jù)。文件服務器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將那個經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14的任何類型的服務器。實例文件服務器包括web服務器(例如,用于網(wǎng)站)、FTP服務器、網(wǎng)絡連接存儲(NAS)裝置,或本地磁盤驅(qū)動器。目的地裝置14可經(jīng)由任何標準數(shù)據(jù)連接(包括因特網(wǎng)連接)訪問經(jīng)編碼視頻數(shù)據(jù)。這種數(shù)據(jù)連接可包括適合于訪問存儲在文件服務器上的經(jīng)編碼視頻數(shù)據(jù)的無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等等),或兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲裝置的傳輸可為流式處理傳輸、下載傳輸,或其組合。
[0029]本發(fā)明的技術未必限于無線應用或設置。所述技術可應用于支持諸如以下應用的多種多媒體應用中的任一者的視頻譯碼:空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、諸如HTTP動態(tài)自適應流式處理(DASH)的因特網(wǎng)流式處理視頻傳輸、經(jīng)編碼到數(shù)據(jù)存儲媒體上的數(shù)字視頻、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應用。在一些實例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸,以支持諸如視頻流式處理、視頻播放、視頻廣播及/或視頻電話的應用。
[0030]在圖1的實例中,源裝置12包括視頻源18、視頻編碼器20及輸出接口 22。目的地裝置14包括輸入接口 28、視頻解碼器30及顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應用用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。在其它實例中,源裝置及目的地裝置可包括其它組件或排列。舉例來說,源裝置12可從外部視頻源18 (諸如,外部相機)接收視頻數(shù)據(jù)。同樣地,目的地裝置14可與外部顯示裝置界接,而非包括整合式顯示裝置。
[0031]圖1的所說明系統(tǒng)10僅為一個實例。用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術可由任何數(shù)字視頻編碼及/或解碼裝置執(zhí)行。盡管一般由視頻編碼裝置執(zhí)行本發(fā)明的技術,但也可由通常稱為“編解碼器(CODEC) ”的視頻編碼器/解碼器執(zhí)行所述技術。此外,也可由視頻預處理器執(zhí)行本發(fā)明的技術。源裝置12及目的地裝置14僅為這些譯碼裝置的實例,其中源裝置12產(chǎn)生經(jīng)譯碼視頻數(shù)據(jù)以供傳輸?shù)侥康牡匮b置14。在一些實例中,裝置12、14可以大體上對稱的方式操作,使得裝置12、14中的每一者包括視頻編碼及解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻傳輸,(例如)以用于視頻流式處理、視頻播放、視頻廣播或視頻電話。
[0032]源裝置12的視頻源18可包括諸如視頻相機的視頻捕獲裝置、含有先前捕獲的視頻的視頻存檔,及/或從視頻內(nèi)容提供者接收視頻的視頻饋送接口。作為另一替代例,視頻源18可產(chǎn)生基于計算機圖形的數(shù)據(jù)作為源視頻,或?qū)崨r視頻、經(jīng)存檔視頻與計算機產(chǎn)生的視頻的組合。在一些狀況下,如果視頻源18為視頻相機,那么源裝置12及目的地裝置14可形成所謂的相機電話或視頻電話。然而,如上文所提及,本發(fā)明中所描述的技術一般可適用于視頻譯碼,且可應用于無線及/或有線應用。在每一狀況下,可由視頻編碼器20編碼所捕獲、預捕獲或計算機產(chǎn)生的視頻。經(jīng)編碼視頻信息可接著由輸出接口 22輸出到計算機可讀媒體16上。
[0033]計算機可讀媒體16可包括:暫時性媒體,諸如無線廣播或有線網(wǎng)絡傳輸;或存儲媒體(即,非暫時性存儲媒體),諸如硬盤、閃存驅(qū)動器、壓縮光盤、數(shù)字視頻光盤、藍光光盤或其它計算機可讀媒體。在一些實例中,網(wǎng)絡服務器(未圖示)可從源裝置12接收經(jīng)編碼視頻數(shù)據(jù),且(例如)經(jīng)由網(wǎng)絡傳輸將經(jīng)編碼視頻數(shù)據(jù)提供到目的地裝置14。類似地,媒體生產(chǎn)設施(諸如,光盤壓印設施)的計算裝置可從源裝置12接收經(jīng)編碼視頻數(shù)據(jù)且產(chǎn)生含有經(jīng)編碼視頻數(shù)據(jù)的光盤。因此,在各種實例中,可將計算機可讀媒體16理解為包括各種形式的一或多個計算機可讀媒體。
[0034]目的地裝置14的輸入接口28從計算機可讀媒體16接收信息。計算機可讀媒體16的信息可包括由視頻編碼器20所定義的語法信息(其也由視頻解碼器30使用),所述語法信息包括描述塊及其它經(jīng)譯碼單元(例如,G0P)的特性及/或處理的語法元素。顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包含多種顯示裝置中的任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器,或另一類型的顯示裝置。
[0035]視頻編碼器20及視頻解碼器30可根據(jù)諸如目前在開發(fā)中的高效率視頻譯碼(HEVC)標準的視頻譯碼標準而操作,且可符合HEVC測試模型(HM)。被稱作“HEVC工作草案7”或“胃07”的HEVC的新近草案被描述于Bross等人的文檔JCTVC-11003 “High EfficiencyVideo Coding(HEVC)Text Specificat1n Draft 7”(ITU-T SG 16 WP3 及 IS0/IEC JTCl/SC29/WG11的關于視頻譯碼的聯(lián)合合作小組(JCT-VC),2012年4月27日到2012年5月7日第9次會議,瑞士日內(nèi)瓦)中,到2102年6月22日為止,所述草案可從http://phenix.1t-sudparis.eu/jet/doc_end_user/documents/9_Geneva/wglI/JCTVC-11003-v3.zip 下載。如上文所提到,本發(fā)明包括用于使用高級別語法來擴展HEVC的技術。因此,視頻編碼器20及視頻解碼器30可根據(jù)使用高級別語法進行擴展的HEVC的版本而操作。
[0036]替代地,視頻編碼器20及視頻解碼器30可根據(jù)諸如ITU-T H.264標準(替代地稱為MPEG-4第10部分(高級視頻譯碼(AVC)))的其它專有或工業(yè)標準或這些標準的擴展而操作。再次,可使用高級別語法來實現(xiàn)這些擴展。然而,本發(fā)明的技術不限于任何特定譯碼標準。視頻譯碼標準的其它實例包括MPEG-2及ITU-T H.263。盡管圖1中未圖示,但在一些方面,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器整合,且可包括適當?shù)腗UX-DEMUX單元或其它硬件及軟件,以處置通用數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻及視頻兩者的編碼。在適用時,MUX-DEMUX單元可符合ITU H.223多路復用器協(xié)議,或諸如用戶數(shù)據(jù)報協(xié)議(M)P)的其它協(xié)議。
[0037]ITU-T H.264/MPEG-4(AVC)標準由 ITU-T視頻譯碼專家組(VCEG)連同 IS0/IEC動畫專家組(MPEG) —起闡明為稱為聯(lián)合視頻小組(JVT)的集體合作的產(chǎn)品。在一些方面,本發(fā)明中所描述的技術可應用于一般符合H.264標準的裝置。H.264標準由ITU-T研究組且在日期為2005年3月描述在ITU-T國際標準H.264 (用于一般視聽服務的高級視頻譯碼)中,其在本文中可稱為H.264標準或H.264規(guī)范,或H.264/AVC標準或規(guī)范。聯(lián)合視頻小組(JVT)繼續(xù)致力于對H.264/MPEG-4 AVC的擴展。
[0038]可將視頻編碼器20及視頻解碼器30各自實施為多種合適的編碼器電路中的任一者,諸如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當所述技術部分地以軟件予以實施時,裝置可將用于軟件的指令存儲在合適的非暫時性計算機可讀媒體中,且使用一或多個處理器在硬件中執(zhí)行所述指令以執(zhí)行本發(fā)明的技術。視頻編碼器20及視頻解碼器30中的每一者可包括在一或多個編碼器或解碼器中,其中的任一者可整合為相應裝置中的組合式編碼器/解碼器(編解碼器)的部分。
[0039]JCT-MC正致力于HEVC標準的開發(fā)。HEVC標準化努力是基于視頻譯碼裝置的演進模型,其被稱為HEVC測試模型(HM)。HM推測視頻譯碼裝置相對于根據(jù)(例如)ITU_TH.264/AVC的現(xiàn)有裝置的若干額外能力。舉例來說,H.264提供九個幀內(nèi)預測編碼模式,而HM可提供多達三十三個幀內(nèi)預測編碼模式。
[0040]一般而言,HM的工作模型描述,視頻幀或圖片可劃分為包括亮度樣本及色度樣本兩者的樹塊或最大譯碼單元(LCU)的序列。位流內(nèi)的語法數(shù)據(jù)可定義LCU的大小,LCU為就像素的數(shù)目而言的最大譯碼單元。切片包括按譯碼順序的數(shù)個連續(xù)樹塊。可將視頻幀或圖片分割為一或多個切片。每一樹塊可根據(jù)四叉樹拆分為多個譯碼單元(CU)。一般而言,四叉樹數(shù)據(jù)結構每CU包括一個節(jié)點,其中根節(jié)點對應于樹塊。如果CU拆分為四個子CU,那么對應于所述CU的節(jié)點包括四個葉節(jié)點,所述葉節(jié)點中的每一者對應于子CU中的一者。
[0041]四叉樹數(shù)據(jù)結構的每一節(jié)點可提供對應CU的語法數(shù)據(jù)。舉例來說,四叉樹中的節(jié)點可包括拆分標志,其指示對應于所述節(jié)點的CU是否拆分為多個子CU。CU的語法元素可被遞歸地定義,且可取決于CU是否拆分為多個子CU。如果CU并不進一步拆分,那么其被稱為葉CU。在本發(fā)明中,葉CU的四個子CU也將被稱為葉CU,即使不存在原始葉CU的顯式拆分也如此。舉例來說,如果16X16大小的⑶并不進一步拆分,那么盡管16X 16⑶決不拆分,但四個8X8子⑶也將被稱為葉⑶。
[0042]除⑶不具有大小區(qū)別以外,CU具有與H.264標準的宏塊類似的目的。舉例來說,樹塊可拆分為四個子節(jié)點(也稱為子CU),且每一子節(jié)點又可為父節(jié)點且拆分為另外四個子節(jié)點。稱為四叉樹的葉節(jié)點的最終未拆分子節(jié)點包含譯碼節(jié)點,所述譯碼節(jié)點也被稱為葉CU。與經(jīng)譯碼位流相關聯(lián)的語法數(shù)據(jù)可定義可拆分樹塊的最大次數(shù)(稱為最大CU深度),且也可定義譯碼節(jié)點的最小大小。因此,位流也可定義最小譯碼單元(SCU)。本發(fā)明使用術語“塊”來指在HEVC的上下文中的CU、PU或TU中的任一者,或在其它標準的上下文中的類似數(shù)據(jù)結構(例如,在H.264/AVC中的宏塊及其子塊)。
[0043]CU包括譯碼節(jié)點及與所述譯碼節(jié)點相關聯(lián)的預測單元(PU)及變換單元(TU)。CU的大小對應于譯碼節(jié)點的大小,且形狀必須為正方形。CU的大小的范圍可從8X8像素直到具有最大64X64像素或大于64X64像素的樹塊的大小。每一⑶可含有一或多個PU及一或多個TU。與CU相關聯(lián)的語法數(shù)據(jù)可描述(例如)CU成為一或多個PU的分割。分割模式可取決于CU被跳過或直接模式編碼、被幀內(nèi)預測模式編碼還是被幀間預測模式編碼而不同。PU的形狀可分割為非正方形。與CU相關聯(lián)的語法數(shù)據(jù)也可描述(例如)CU根據(jù)四叉樹而成為一或多個TU的分割。TU的形狀可為正方形或非正方形(例如,矩形)。
[0044]HEVC標準允許根據(jù)TU的變換,所述變換對于不同⑶可不同。通常基于針對經(jīng)分割IXU所定義的給定⑶內(nèi)的PU的大小而設置TU大小,但可能并非總是如此狀況。TU通常具有與PU相同的大小,或小于PU。在一些實例中,可使用稱為“殘余四叉樹”(RQT)的四叉樹結構將對應于CU的殘余樣本再分為較小單元。RQT的葉節(jié)點可被稱為變換單元(TU)??勺儞Q與TU相關聯(lián)的像素差值以產(chǎn)生可量化的變換系數(shù)。
[0045]葉⑶可包括一或多個預測單元(PU)。一般而言,I3U表示對應于對應⑶的全部或部分的空間區(qū)域,且可包括用于檢索PU的參考樣本的數(shù)據(jù)。此外,PU包括與預測有關的數(shù)據(jù)。舉例來說,當PU被幀內(nèi)模式編碼時,PU的數(shù)據(jù)可包括在殘余四叉樹(RQT)中,殘余四叉樹可包括描述對應于PU的TU的幀內(nèi)預測模式的數(shù)據(jù)。作為另一實例,當PU被幀間模式編碼時,可包括定義所述的一或多個運動矢量的數(shù)據(jù)。定義的運動矢量的數(shù)據(jù)可描述(例如)運動矢量的水平分量、運動矢量的垂直分量、運動矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動矢量所指向的參考圖片,及/或運動矢量的參考圖片列表(例如,列表O、列表1,或列表C)。
[0046]具有一或多個I3U的葉⑶也可包括一或多個變換單元(TU)??墒褂肦QT (也稱為TU四叉樹結構)指定變換單元,如上文所論述。舉例來說,拆分標志可指示葉CU是否拆分為四個變換單元。接著,每一變換單元可進一步拆分為其它子TU。當TU并不進一步拆分時,其可被稱為葉TU。一般而言,對于幀內(nèi)譯碼,屬于葉CU的所有葉TU共享相同幀內(nèi)預測模式。即,一般應用相同幀內(nèi)預測模式以計算葉CU的所有TU的預測值。對于幀內(nèi)譯碼,視頻編碼器可使用幀內(nèi)預測模式將每一葉TU的殘余值計算為在對應于TU的CU的部分與原始塊之間的差。TU未必限于PU的大小。因此,TU可大于或小于PU。對于幀內(nèi)譯碼,I3U可與同一⑶的對應葉TU同置。在一些實例中,葉TU的最大大小可對應于對應葉⑶的大小。
[0047]此外,葉⑶的TU也可與稱為殘余四叉樹(RQT)的相應四叉樹數(shù)據(jù)結構相關聯(lián)。gp,葉CU可包括指示葉CU分割為TU的方式的四叉樹。TU四叉樹的根節(jié)點一般對應于葉⑶,而⑶四叉樹的根節(jié)點一般對應于樹塊(或IXU)。RQT的不拆分的TU被稱為葉TU。一般而言,除非另有指示,否則本發(fā)明分別使用術語CU及TU來指葉CU及葉TU。
[0048]視頻序列通常包括一系列視頻幀或圖片。圖片組(GOP) —般包含一系列一或多個視頻圖片。GOP可在GOP的標頭、圖片中的一或多者的標頭中或在其它位置包括語法數(shù)據(jù),所述語法數(shù)據(jù)描述包括在GOP中的圖片的數(shù)目。圖片的每一切片可包括描述所述相應切片的編碼模式的切片語法數(shù)據(jù)。視頻編碼器20通常對個別視頻切片內(nèi)的視頻塊操作,以便編碼視頻數(shù)據(jù)。視頻塊可對應于CU內(nèi)的譯碼節(jié)點。視頻塊可具有固定或變化的大小,且可根據(jù)所指定的譯碼標準而在大小上不同。
[0049]作為實例,HM支持以各種I3U大小進行預測。假設特定⑶的大小為2NX 2N,那么HM支持以2N X 2N或N X N的PU大小進行幀內(nèi)預測,及以2N X 2N、2N X N、N X 2N或N X N的對稱PU大小進行幀間預測。HM也支持以2NXnU、2NXnD、nLX 2N及nRX 2N的PU大小進行幀間預測的非對稱分割。在非對稱分割中,CU的一個方向未分割,而另一方向分割為25%及75%。⑶的對應于25%分區(qū)的部分是由“η”后跟著“上”、“下”、“左”或“右”的指示進行指示。因此,舉例來說,“2NXnU”是指被水平分割的2NX2NCU,其中2NX0.5N PU是在頂部且2NX1.5N I3U是在底部。
[0050]在本發(fā)明中,“NXN”及“N乘N”可互換地使用以依據(jù)垂直維度及水平維度而指視頻塊的像素尺寸,例如,16X16像素或16乘16像素。一般而言,16X16塊在垂直方向上將具有16個像素(y = 16),且在水平方向上將具有16個像素(x = 16)。同樣地,NXN塊一般在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示非負整數(shù)值??梢孕屑傲衼砼帕袎K中的像素。此外,塊未必需要在水平方向上及在垂直方向上具有相同數(shù)目個像素。舉例來說,塊可包含NXM個像素,其中M未必等于N。
[0051 ] 在使用⑶的PU進行幀內(nèi)預測性或幀間預測性譯碼之后,視頻編碼器20可計算⑶的TU的殘余數(shù)據(jù)。PU可包含描述在空間域(也稱為像素域)中產(chǎn)生預測性像素數(shù)據(jù)的方法或模式的語法數(shù)據(jù),且TU可包含在對殘余視頻數(shù)據(jù)應用變換之后在變換域中的系數(shù),所述變換例如離散余弦變換(DCT)、整數(shù)變換、小波變換,或概念上類似的變換。殘余數(shù)據(jù)可對應于未經(jīng)編碼圖片的像素與對應于PU的預測值之間的像素差。視頻編碼器20可形成包括⑶的殘余數(shù)據(jù)的TU,且接著變換所述TU以產(chǎn)生⑶的變換系數(shù)。
[0052]在應用任何變換以產(chǎn)生變換系數(shù)之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量化一般是指將變換系數(shù)量化以可能地縮減用以表示所述系數(shù)的數(shù)據(jù)的量從而提供進一步壓縮的進程。量化進程可縮減與系數(shù)中的一些或全部相關聯(lián)的位深度。舉例來說,η位值可在量化期間降值舍位至m位值,其中η大于m。
[0053]在量化之后,視頻編碼器可掃描變換系數(shù),從而從包括經(jīng)量化變換系數(shù)的二維矩陣產(chǎn)生一維矢量。掃描可經(jīng)設計以將較高能量(及因此較低頻率)系數(shù)放置在陣列前部,且將較低能量(及因此較高頻率)系數(shù)放置在陣列后部。在一些實例中,視頻編碼器20可利用預定義掃描順序來掃描經(jīng)量化變換系數(shù),以產(chǎn)生可經(jīng)熵編碼的系列化矢量。在其它實例中,視頻編碼器20可執(zhí)行自適應掃描。在掃描經(jīng)量化變換系數(shù)以形成一維矢量之后,視頻編碼器20可(例如)根據(jù)上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、基于語法的上下文自適應二進制算術譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法而熵編碼所述一維矢量。視頻編碼器20也可熵編碼與經(jīng)編碼視頻數(shù)據(jù)相關聯(lián)的語法元素,以供視頻解碼器30用于解碼視頻數(shù)據(jù)。
[0054]為了執(zhí)行CABAC,視頻編碼器20可將上下文模型內(nèi)的上下文指派給待傳輸?shù)姆?。所述上下文可與(例如)符號的相鄰值是否為非零相關。為了執(zhí)行CAVLC,視頻編碼器20可針對待傳輸?shù)姆栠x擇可變長度碼??蓪LC中的碼字構造成使得相對較短碼對應于更有可能的符號,而較長碼對應于較不可能的符號。如此,與(例如)針對待傳輸?shù)拿恳环柺褂孟嗟乳L度碼字相比較,使用VLC可實現(xiàn)位節(jié)省。概率確定可基于指派給符號的上下文。
[0055]視頻編碼器20可(例如)在幀標頭、塊標頭、切片標頭或GOP標頭中進一步將語法數(shù)據(jù)(諸如,基于塊的語法數(shù)據(jù)、基于幀的語法數(shù)據(jù)及基于GOP的語法數(shù)據(jù))發(fā)送到視頻解碼器30。GOP語法數(shù)據(jù)可描述相應GOP中的幀的數(shù)目,且?guī)Z法數(shù)據(jù)可指示用以編碼對應幀的編碼/預測模式。
[0056]一般而言,本發(fā)明描述用于啟用視頻譯碼標準(諸如,HEVC)的僅高級別語法(HLS)擴展的解決方案的各種實例。舉例來說,這些技術可用以開發(fā)針對HEVC的配置文件的僅HLS擴展,諸如MVC或SVC。下文描述各種實例。應理解,盡管單獨地描述各種實例,但可以任何組合來組合所述實例中的任一者或全部的元件。
[0057]在第一實例中,不存在對當前HEVC基礎規(guī)范的改變。在HEVC擴展中,圖片(例如,視圖分量)可由兩種性質(zhì)識別:其圖片順序計數(shù)(POC)值,及第二維度圖片標識符,例如,View_id值(其可識別存在圖片的視圖)??尚枰曨l編碼器20以將待用于視圖間預測的視圖分量指示為長期參考圖片。
[0058]在第二實例中,不存在對當前HEVC基礎規(guī)范的改變。在HEVC擴展中,以下改變可適用。圖片(例如,視圖分量)可由兩種性質(zhì)識別:P0C值,及第二維度圖片標識符,例如,View_id。在這個第二實例中,可緊接地在譯碼當前視圖分量之前引入額外圖片標記進程,以將所有視圖間參考圖片標記為長期參考圖片??删o接地在譯碼當前視圖分量之后引入另一圖片標記進程,以將每一視圖間參考圖片標記為長期、短期或“不用于參考”,“不用于參考”是與所述圖片在當前視圖分量被譯碼之前的先前標記狀態(tài)相同。
[0059]在第三實例中,如下使用及補充第二實例的技術。除第二實例的技術以外,對于每一視圖間參考圖片,在將所述視圖間參考圖片標記為長期參考圖片之后,也將其POC值映射到新POC值,所述新POC值不等于任何現(xiàn)有參考圖片的POC值。在解碼當前視圖分量之后,對于每一視圖間參考圖片,將其POC值映射回到原始POC值,所述原始POC值等于所述當前視圖分量。舉例來說,當前視圖分量可屬于視圖3 (假設視圖標識符等于視圖順序索引),且可具有等于5的POC值。兩個視圖間參考圖片可使其POC值(皆為5)轉(zhuǎn)換到(例如)1025及2053。在解碼當前視圖分量之后,可將視圖間圖片的POC值轉(zhuǎn)換回到5。
[0060]在第四實例中,可如下使用及補充第二或第三實例的技術。除如上文所提及的第一實例或第二實例的技術以外,在HEVC基礎規(guī)范中,也可使用額外分支以禁用參考短期圖片的任何運動矢量與參考長期圖片的另一運動矢量之間的預測,尤其是在高級運動矢量預測(AMVP)期間。
[0061]在第五實例中,在HEVC擴展中,圖片可由兩種性質(zhì)識別:P0C值,及第二維度圖片標識,例如,view_id。在HEVC基礎規(guī)范中,可添加以下分支中的一或多者(單獨地或以任何組合)。在一個實例(稱為實例5.1)中,當在AMVP及合并模式期間識別參考圖片時,可使用第二維度圖片標識(例如,視圖順序索引)連同P0C。在HEVC基礎規(guī)范中的二維2D視頻解碼的上下文中,第二維度圖片標識可始終被設置為等于O。
[0062]在另一實例(實例5.2)中,在AMVP (包括時間運動矢量預測(TMVP))期間禁用時間運動矢量與視圖間運動矢量之間的預測。運動矢量的性質(zhì)是否可由識別參考圖片的關聯(lián)參考索引決定,且參考圖片如何由含有運動矢量的圖片參考,例如,作為長期參考圖片、短期參考圖片或視圖間參考圖片。在另一實例(實例5.3)中,可禁用(例如,顯式地或隱式地)時間短期運動矢量與時間長期運動矢量之間的預測。在另一實例(實例5.4)中,可啟用(例如,顯式地或隱式地)時間短期運動矢量與時間長期運動矢量之間的預測。
[0063]在另一實例(實例5.5)中,可禁用(例如,顯式地或隱式地)參考兩個不同視圖間參考圖片的運動矢量之間的預測。如果兩個視圖間參考圖片的第二維度圖片標識符值不同,那么所述兩個視圖間參考圖片可被認為具有不同類型。在另一實例(實例5.6)中,可啟用(例如,顯式地或隱式地)參考兩個不同視圖間參考圖片的運動矢量之間的預測。在另一實例(實例5.7)中,可啟用(例如,顯式地或隱式地)參考長期圖片及視圖間的運動矢量之間的預測。在另一實例(實例5.8)中,可禁用(例如,顯式地或隱式地)參考長期圖片及視圖間的運動矢量之間的預測。
[0064]在以上實例中的任一者中,可始終啟用參考兩個不同時間短期參考圖片的兩個運動矢量之間的預測,且可啟用基于POC值的從一個運動矢量到另一運動矢量的縮放。另外或替代地,在以上實例中的任一者中,可禁用參考兩個不同長期圖片的運動矢量之間的預測。下文更詳細地論述上文所描述的各種實例的某些細節(jié)。
[0065]一般而言,本發(fā)明將“運動矢量”或“運動矢量數(shù)據(jù)”稱為包括運動矢量自身的參考索引(即,參考圖片的指針)及X與y坐標。視差運動矢量及時間運動矢量兩者一般可被稱為“運動矢量”。對應于參考索引的參考圖片可被稱為運動矢量所參考的參考圖片。如果運動矢量參考同一視圖中的參考圖片,那么所述運動矢量被稱為時間運動矢量。如果運動矢量參考不同視圖的參考圖片,那么所述運動矢量被稱為視差運動矢量。
[0066]時間運動矢量可為短期時間運動矢量(“短期運動矢量”)或長期時間運動矢量(“長期運動矢量”)。舉例來說,如果運動矢量參考短期參考圖片,那么運動矢量為短期,而如果運動矢量參考長期參考圖片,那么運動矢量為長期。注意,除非另有提及,否則視差運動矢量及長期運動矢量一般描述不同類別的運動矢量,例如,分別用于視圖間預測及時間視圖內(nèi)預測。短期及長期參考圖片表示時間參考圖片的實例。
[0067]視頻編碼器20及視頻解碼器30可經(jīng)配置以從經(jīng)解碼圖片緩沖器(DPB)識別參考圖片,所述DPB可被實施為參考圖片存儲器。從DPB識別參考圖片的進程可用于本發(fā)明中所描述的技術的實例中的任一者中。從DPB識別參考圖片的進程可出于以下目的而用于HEVC擴展規(guī)范中:參考圖片集構造、參考圖片列表構造,及/或參考圖片標記。
[0068]可使用圖片順序計數(shù)(POC)值及第二維度圖片標識信息來識別視圖分量、紋理視圖分量、深度視圖分量或可縮放層(具有(例如)dependency_id與quality_id的特定組合)。第二維度圖片標識信息可包括以下各者中的一或多者:在多視圖上下文中的視圖1D(view_id);在多視圖上下文中的視圖順序索引;在3DV(具有深度的多視圖)上下文中,視圖順序索引與cbpth_flag(指示當前視圖分量為紋理還是深度)的組合,例如,視圖順序索引乘以2加d印th_flag的值;在SVC上下文中,層ID(在可縮放譯碼環(huán)境中,例如,在基于 AVC 的 SVC 中,層 ID可等于 dependency_id乘以 16加 quality_id);或一般層 ID(layer_id),例如,reserved_one_5bits 的值減 1,其中 reserved_one_5bits 是如 HEVC 基礎規(guī)范中所指定。注意,一般層ID可適用于混合3DV(具有深度的多視圖)及可縮放性情形。上述實例可通過(例如)將每一層視為視圖而應用于任何多層編解碼器,包括可縮放視頻編解碼器。換言之,對于多視圖視頻譯碼,各種視圖可被認為單獨層。
[0069]在一些情形中,基礎層或相依視圖可具有多個表示,例如,歸因于不同升采樣/平滑濾波器的使用,或歸因于使用視圖合成圖片以供預測的事實;因此,在一個視圖位置中,可存在準備供使用的兩個圖片,其中一個圖片為正常重建相依視圖圖片,且另一圖片為合成視圖圖片,兩個圖片皆具有相同view_id或視圖順序索引。在這種狀況下,可使用第三維度圖片標識。
[0070]視頻編碼器20及視頻解碼器30也可經(jīng)配置以從參考圖片列表識別參考圖片。經(jīng)解碼圖片緩沖器(DPB)可被組織為參考圖片列表,例如,包括POC值小于當前圖片的POC值的可能參考圖片的RefPicListO,及包括POC值大于當前圖片的POC值的可能參考圖片的RefPicListl。用于從參考圖片列表識別參考圖片的技術用作當前HEVC基礎規(guī)范的分支。所定義的函數(shù)可在AMVP及合并模式期間由視頻編碼器或視頻解碼器調(diào)用多次。
[0071]可使用POC值及第二維度圖片標識信息來識別視圖分量、紋理視圖分量、深度視圖分量或可縮放層(具有(例如)dependency_id與quality_id的特定組合),所述第二維度圖片標識信息可為以下各者中的一者:在多視圖或3DV的上下文中的視圖順序索引。函數(shù)viewOIdx(pic)返回被識別為“pic”的圖片所屬的視圖的視圖順序索引。這個函數(shù)針對基礎視圖的任何視圖分量、紋理視圖分量或深度視圖分量返回O ;視圖1D(View_id);在3DV上下文中,視圖順序索引與cbpth_flag (指示當前視圖分量為紋理還是深度)的組合:視圖順序索引乘以2加d印th_f lag的值;在SVC上下文中,層ID (在可縮放譯碼環(huán)境中,例如,在基于AVC的SVC中,層ID可等于dependency_id乘以16加quality_id);或一般層ID (layer_id),例如,reserved_one_5bits 的值減 1,其中 reserved_one_5bits 是如 HEVC基礎規(guī)范中所指定。函數(shù)IayerId(pic)返回圖片pic的layer_id。Layerld(pic)針對基礎視圖的任何(紋理)視圖分量返回O。LayerId(pic)針對SVC基礎視圖的任何圖片(或?qū)颖硎?返回O。注意,一般層ID可適用于混合3DV(具有深度的多視圖)及可縮放性情形。
[0072]在一些情形中,基礎層或相依視圖可具有多個表示,例如,歸因于不同升采樣/平滑濾波器的使用,或歸因于使用視圖合成圖片以供預測的事實;因此,在一個視圖位置中,可存在準備供使用的兩個圖片:一個圖片為正常重建相依視圖圖片,另一圖片為合成視圖圖片,兩個圖片皆具有相同view_id或視圖順序索引。在這種狀況下,可使用第三維度圖片標識。
[0073]可通過使用函數(shù)AddPicId(Pic)來定義上述第二維度及/或第三維度圖片標識中的一或多者。
[0074]視頻編碼器20及視頻解碼器30也可經(jīng)配置以識別參考圖片列表中的條目的類型。這種情形可用作當前HEVC基礎規(guī)范的分支。下文所定義的函數(shù)中的任一者或全部可在AMVP及/或合并模式期間由視頻編碼器20及/或視頻解碼器30調(diào)用多次。以下實例技術中的任一者或全部可用以識別參考圖片列表中的條目的類型。在一個實例中,如果圖片Pic為時間參考圖片,那么函數(shù)“RefPicType(pic) ”返回0,且如果圖片pic不為時間參考圖片,那么函數(shù)“RefPiCType(piC)”返回I。在另一實例中,如果圖片pic具有與當前圖片相同的P0C,那么函數(shù)RefPicType (pic)返回O,且如果圖片pic具有與當前圖片不同的P0C,那么函數(shù) RefPicType (pic)返回 I。
[0075]在另一實例中,可通過僅僅檢查“pic”的POC(函數(shù)RefPicType(Pic)的自變量)是否等于當前圖片的POC來替換所述函數(shù)的使用而實現(xiàn)上文所論述的實例的結果。在一些實例中,視圖間參考圖片可標記為“不用于參考”。視圖問參考圖片可標記為“不用于參考”。出于簡單起見,這個圖片被稱為HEVC基礎規(guī)范中的非參考圖片。在一些實例中,標記為“用于長期參考”或“用于短期參考”的圖片可被稱為HEVC基礎規(guī)范中的參考圖片。在一些實例中,如果圖片Pic標記為“用于長期參考”或“用于短期參考”,那么函數(shù)RefPicType (pic)返回O,且如果圖片pic標記為“不用于參考”,那么函數(shù)RefPicType(pic)返回I。另外,在一些實例中,在HEVC擴展中,緊接在視圖分量的解碼之后,所述視圖分量可標記為“不用于參考”,而不管nal_ref_flag語法元素的值如何。
[0076]在譯碼整個訪問單元之后,如果nal_ref_flag為真,那么所述訪問單元的視圖分量可標記為“用于短期參考”或“用于長期參考”。替代地,緊接地在導出同一視圖中按解碼順序的后續(xù)視圖分量的參考圖片集(RPS)之后,如果視圖分量包括在所述后續(xù)視圖分量的RPS中,那么所述視圖分量可僅標記為“用于短期參考”或“用于長期參考”。另外,在HEVC基礎規(guī)范中,緊接地在當前圖片的解碼之后,所述當前圖片可標記為“不用于參考”。
[0077]在一些實例中,RefPicType (picX, ref Idx, LX)在picX為當前圖片時返回RefPicType (pic)的值,其中pic為來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片。
[0078]關于在上文被稱為“第四實例”的實例,視頻編碼器20及視頻解碼器30可經(jīng)配置以在AMVP及TMVP期間啟用長期參考圖片之間的預測而不縮放。關于AMVP,視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行用于運動矢量預測值(MVP)候選者的經(jīng)修改的導出進程。對所述進程的輸入可包括:亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本;指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量;及當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。所述進程的輸出可包括(其中N由A或B替換,其中A對應于左相鄰候選者且B對應于上相鄰候選者,如圖10的實例中所展示)相鄰預測單元的運動矢量mvLXN,及相鄰預測單元的可用性標志availableFlagLXN。變量isScaledFlagLX(其中X為O或I)可設置為等于O。
[0079]在一個實例中,視頻編碼器20及視頻解碼器30可用以下有序步驟導出運動矢量mvLXA及可用性標志availableFlagLXA,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0080]1.令兩個樣本位置的集合為(xAk,yAk),其中k = O, I,其指定具有xAk = xP_l、yA。=yP+nPSH及= yA0-MinPuSize的樣本位置。樣本位置的集合(xAk, yAk)表示緊接地在左分區(qū)邊界及其延長線左側的樣本位置。
[0081]2.令可用性標志availableFlagLXA最初設置為等于O且mvLXA的兩個分量設置為等于O。
[0082]3.在這個實例中,當以下條件中的一或多者成立時,變量isScaledFlagLX設置為等于I。
[0083]-覆蓋亮度位置(xA。,yA0)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元]且PredMode并非M0DE_INTRA。
[0084]-覆蓋亮度位置(XA^yA1)的預測單元可用[編輯(BB):使用MinCbAddrZS口 []及用于最小譯碼塊的可用性進程來重寫所述預測單元]且PredMode并非M0DE_INTRA。
[0085]4.對于從(xA0,yA0)到(XA^yA1)的(xAk, yAk)(其中 YA1 = yA0_MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXA等于I為止:
[0086]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xAk] [yAk]等于I,且參考索引refIdxLX[xAk] [yAk]等于當前預測單元的參考索引refldxLX,availableFlagLXA設置為等于I,且運動矢量mvLXA設置為等于運動矢量 mvLX[xAk] [yAk], ref IdxA 設置為等于 ref IdxLX[xAk] [yAk],且 ListA 設置為等于 ListX。
[0087]-否貝U,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非 M0DE_INTRA, predFlagLY[xAk] [yAk](其中 Y=! X)等于 1,且 PicOrderCnt (RefPicListY[refIdxLY[xAk] [yAk]])等于 PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXA設置為等于I,運動矢量mvLXA設置為等于運動矢量mvLY[xAk] [yAk],refldxA設置為等于refIdxLY[xAk] [yAk], ListA設置為等于ListY且mvLXA設置為等于mvLXA。
[0088]5.在這個實例中,當 availableFlagLXA 等于 O 時,對于從(xAQ,yAQ)到(XA^yA1)的(xAk, yAk)(其中 Jki = yA0-MinPuSize),以下內(nèi)容重復地適用,直到 availableFlagLXA等于I為止:
[0089]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode 并非 M0DE_INTRA, predFlagLX[xAk] [yAk]等于 I,且 RefPicListX[refIdxLX]及RefPiCLiStX「refIdXLX「XAj「yAJI皆為長期參考圖片或皆為短期參考圖片,availableFlagLXA設置為等于I,運動矢量mvLXA設置為等于運動矢量mvLX[xAk] [yAk],refldxA 設置為等于 refIdxLX[xAk] [yAk], ListA 設置為等于 ListX。
[0090]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODE_INTRA,predFlagLY[xAk] [yAk](其中 Y= ! X)等于 I,且RefPicListX[refIdxLX]及RefPiCLiStY「refIdXLY「XAj「yAJI皆為長期參考圖片或皆為短期參考圖片,availableFlagLXA設置為等于I,運動矢量mvLXA設置為等于運動矢量mvLY[xAk] [yAk],refldxA 設置為等于 refIdxLY[xAk] [yAk], ListA 設置為等于 ListY。
[0091]-當availableFlagLXA 等于 1,且 Re fP i cL i s t A [r e f I dxA]及RefPicListX[refIdxLX]皆為短期參考圖片時,mvLXA是如下文所指定而導出(其中表示法8-###是指HEVC的當前草案(即,WD7)的章節(jié))。
[0092]tx = (16384+ (Abs (td) > > I)) /td(8-126)
[0093]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >> 6)(8-127)
[0094]mvLXA = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-128)
[0095]其中td及tb可導出為:
[0096]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListA[refldxA]))
(8-129)
[0097]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]))
[0098](8-130)
[0099]在一個實例中,視頻編碼器20及視頻解碼器30可用以下有序步驟導出運動矢量mvLXB及可用性標志availableFlagLXB,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0100]1.令三個樣本位置的集合為(xBk,yBk),其中k = 0,1,2,其指定具有XBci =xP+nPSW'xBi = XB0-MinPuSize>xB2 = xP-MinPuSize 及 yBk = yP-Ι 的樣本位置。樣本位置的集合(xBk,yBk)表示緊接地在上分區(qū)邊界及其延長線上側的樣本位置。[編輯(BB):在SPS中定義MinPuSize,但導出應取決于AMP標志的使用]
[0101]2.當 yP-Ι 小于((yC >> Log2CtbSize) << Log2CtbSize)時,以下內(nèi)容適用。
[0102]xB0 = (xB0 >>3) << 3) + ((xB0 >> 3)&1)*7(8—131)
[0103]XB1 = (XB1 >>3) << 3) + ((XB1 >> 3)&1)*7(8—132)
[0104]xB2 = (xB2 >> 3) << 3) + ((xB2 >> 3)&1)*7(8—133)
[0105]3.令可用性標志availableFlagLXB最初設置為等于O且mvLXB的兩個分量設置為等于O。
[0106]4.對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 =XBtl-MinPuSize,且 xB2 = xP-MinPuSize),以下內(nèi)容重復地適用,直到 availableFlagLXB 等于I為止:
[0107]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS口[]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xBk] [yBk]等于I,且參考索引refIdxLX[xBk] [yBk]等于當前預測單元的參考索引refldxLX,availableFlagLXB設置為等于I,且運動矢量mvLXB設置為等于運動矢量 mvLX[xBk] [yBk], ref IdxB 設置為等于 ref IdxLX[xBk] [yBk],且 ListB 設置為等于 ListX。
[0108]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非 M0DE_INTRA, predFlagLY[xBk] [yBk](其中 Y = ! X)等于 1,且 PicOrderCnt (RefPicListY[refIdxLY[xBk] [yBk]])等于 PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY[xBk] [yBk],refldxB 設置為等于 ref IdxLY[xBk] [yBk],且 ListB 設置為等于 ListY。
[0109]5.當 isScaledFlagLX 等于 O 且 availableFlagLXB 等于 I 時,mvLXA 設置為等于mvLXB,且 refldxA 設置為等于 refIdxB,且 availableFlagLXA 設置為等于 I。
[0110]6.當 isScaledFlagLX 等于 O 時,availableFlagLXB 設置為等于 O,且對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 = XBc1-MinPuSize,且 xB2 =xP-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXB等于I為止:
[0111]-如果覆蓋亮度位置(XBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode 并非 M0DE_INTRA, predFlagLX[xBk] [yBk]等于 I,目.RefPicListXTrefIdxLXl及RefPiCLiStX「refIdXLX「XBj fyBj]皆為長期參考圖片或皆為短期參考圖片,availableFl agLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLX [xBk] [yBk],refldxB 設置為等于 refIdxLX[xBk] [yBk], ListB 設置為等于 ListX。
[0112]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODE_INTRA,predFlagLY[xBk] [yBk](其中 Y = ! X)等于 1,H.RefPicListXTrefIdxLXl及RefPiCLiStY「refIdXLY「XBj fyBj]皆為長期參考圖片或皆為短期參考圖片,availableFl agLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY [xBk] [yBk],refldxB 設置為等于 refIdxLY[xBk] [yBk], ListB 設置為等于 ListY。
[0113]-當availableFlagLXB 等于 I 且 PicOrderCnt (RefPicListB[refldxB])不等于 PicOrderCnt(RefPicListX[refIdxLX]),且 RefPicListB[refIdxB]及RefPicListX[ref IdxLX]皆為短期參考圖片時,mvLXB可如下文所指定而導出(其中表示法8-###是指HEVC的當前草案的章節(jié))。
[0114]tx = (16384+(Abs (td) >> l))/td(8-134)
[0115]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6) (8-135)
[0116]mvLXB = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-136)
[0117]其中td及tb可導出為:
[0118]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListB[refldxB]))
(8-137)
[0119]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]))
[0120](8-138)
[0121]視頻編碼器20及視頻解碼器30也可經(jīng)配置以執(zhí)行用于時間運動矢量預測(TMVP)的經(jīng)修改的導出進程以用于譯碼亮度塊的運動矢量。在一個實例中,對這種進程的輸入包括:亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本;指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量;及當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。這種進程的輸出可包括運動矢量預測mvLXCol及可用性標志 avaiIableFlagLXCol。
[0122]在一個實例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行函數(shù)RefPicOrderCnt(picX, refldx, LX),函數(shù) RefPicOrderCnt(picX, refldx, LX)返回來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片的圖片順序計數(shù)PicOrderCntVal。這個函數(shù)可指定如下,其中這個描述中的(8-141)及類似參考是指HEVCWD7的章節(jié):
[0123]RefPicOrderCnt (picX, refldx, LX) = PicOrderCnt (圖片 picX 的 RefPicListLX[refldx])(8141)
[0124]取決于slice_type、collocated_from_10_flag 及 collocated_ref_idx 的值,指定含有同置分區(qū)的圖片的變量colPic可如下導出:
[0125]-如果slice_type 等于 B 且 collocated_from_10_flag 等于 O,那么變量 colPic指定如由RefPicListl [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0126]-否則(slice_type等于 B 且 collocated_from_10_f lag 等于 I 或 slice_type 等于P),變量ColPic指定如由RefPicListO [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0127]可使用以下有序步驟導出變量colPu及其位置(xPCol,yPCol):
[0128]1.可如下導出變量colPu
[0129]yPRb = yP+nPSH(8-139)
[0130]-如果(yP>> Log2CtbSize)等于(yPRb > > Log2CtbSize),那么當前預測單元的右下亮度位置的水平分量由下式定義
[0131]xPRb = xP+nPSff(8-140)
[0132]且變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPRb>>4) << 4,(yPRb >> 4)<<4)所給出的經(jīng)修改位置的預測單元。
[0133]-否則((yP> > Log2CtbSize)不等于(yPRb > > Log2CtbSize)), colPu 標記為“不可用”。
[0134]2.當colPu以幀內(nèi)預測模式而譯碼或colPu標記為“不可用”時,以下內(nèi)容適用。
[0135]-當前預測單元的中央亮度位置由下式定義
[0136]xPCtr = (xP+(nPSff >> I)(8-141)
[0137]yPCtr = (yP+(nPSH >> I)(8-142)
[0138]-變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPCtr > > 4) <<4,(yPCtr > >4) <<4)所給出的經(jīng)修改位置的預測單元。
[0139](xPCol,yPCol)設置為等于相對于colPic的左上亮度樣本的colPu的左上亮度樣本。
[0140]函數(shù)LongTermRefPic(picX,refIdx,LX)可定義如下。如果來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片在picX為當前圖片時標記為“用于長期參考”,那么 LongTermRefPic (picX, ref Idx, LX)返回 I ;否則 LongTermRefPic (picX, ref Idx, LX)返回O。
[0141]可如下導出變量mvLXCol及availableFlagLXCol,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0142]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0143]-colPu以幀內(nèi)預測模式而譯碼。
[0144]-colPu標記為“不可用”。
[0145]-pic_temporal_mvp_enabIe_flag 等于 O。
[0146]-否則,如下導出運動矢量mvCol、參考索引refIdxCol及參考列表標識符IistCol ο
[0147]-如果PredFlagLO[xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0148]-否則(PredFlagLO[xPCol] [yPCol]等于 I),以下內(nèi)容適用。
[0149]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLO [xPCol] [yPCol]、RefIdxLO [xPCol] [yPCol]及 LO。
[0150]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0151]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefIdxLX[xPCoI] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0152]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated_from_10_flag 的值。
[0153]-如果以下備件中的一者成立,那么奪量availableFlagLXCol設置為等于O:
[0154]-RefPicListX「refIdxLXl 為長其月參考圖片 H.LongTermRefPic(colPic,refIdxCol, listCol)等于 O:
[0155]-RefPicListX「refIdxLXl 為 fa 其月參考圖片目.LongTermRefPic(colPic,refIdxCol, listCol)等于 I:
[0156]-否則,奪量avaiIableFlagLXCol設置為等于I,且以下內(nèi)容適用。
[0157]-如果RefPicListX [ref IdxLX]為長期參考圖片,或 LongTermRefPic (colPic,refIdxCol, listCol)等于 1,或 PicOrderCnt(colPic)-RefPicOrderCnt(colPic,ref IdxCol, listCol)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]),那么
[0158]mvLXCol = mvCol(8-143)
[0159]-否則,mvLXCol可如下文所指定導出為運動矢量mvCol的縮放版本:
[0160]tx = (16384+ (Abs (td) > > I)) /td(8-144)
[0161]-
[0162]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6) (8-145)
[0163]mvLXCol = Clip3 (-8192,8191.75, Sign(DistScaleFactor*mvCol)* ((Abs(DistScaleFactor*mvCol)+127) > > 8))(8—146)
[0164]其中td及tb可導出為:
[0165]td = Clip3 (-128, 127, PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, listCol))(8-147)
[0166]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListLX[ref IdxLX]))
(8-148)
[0167]在以上實例中,在TMVP期間所使用的同置塊的可用性也可取決于所述同置塊的參考圖片的圖片類型(例如,圖片為長期還是短期參考圖片)。即,即使當用于TMVP的右下塊可用(在子條款中的步驟I之后)時,如果所述右下塊中的運動矢量參考與目標參考圖片的圖片類型不同的圖片類型(短期或長期),那么也可將所述塊進一步設置為不可用。同樣地,中央塊可進一步用于TMVP。
[0168]舉例來說,視頻編碼器20及視頻解碼器30可經(jīng)配置以根據(jù)以下詳細實例導出亮度運動矢量的運動矢量預測值。對由視頻編碼器20及視頻解碼器30所實施的進程的輸入可包括:
[0169]-亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本,
[0170]-指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量,
[0171]-當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。
[0172]來自所述進程的輸出可包括:
[0173]-運動矢量預測mvLXCol,
[0174]-可用性標志availableFlagLXCol。
[0175]函數(shù)RefPicOrderCnt (picX, ref Idx, LX)在由視頻編碼器20及/或視頻解碼器30執(zhí)行時返回來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片的圖片順序計數(shù)PicOrderCntVal。這個函數(shù)的實例實施指定如下:
[0176]RefPicOrderCnt (picX, refldx, LX) = PicOrderCnt (圖片 picX 的RefPicListLX[refldx])(8-141)
[0177]取決于slice_type、collocated_from_10_flag 及 collocated_ref_idx 的值,指定含有同置分區(qū)的圖片的變量colPic可如下導出:
[0178]-如果slice_type 等于 B 且 collocated_from_10_flag 等于 O,那么變量 colPic指定如由RefPicListl [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0179]-否則(slice_type等于 B 且 collocated_from_10_f lag 等于 I 或 slice_type 等于P),變量ColPic指定如由RefPicListO [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0180]視頻編碼器20及視頻解碼器30可使用以下有序步驟導出變量colPu及其位置(xPCol, yPCol):
[0181]1.視頻編碼器20及視頻解碼器30可如下導出變量colPu:
[0182]yPRb = yP+nPSH(8-139)
[0183]-如果(yP>> Log2CtbSize)等于(yPRb > > Log2CtbSize),那么當前預測單元的右下亮度位置的水平分量可由下式定義
[0184]xPRb = xP+nPSff(8-140)
[0185]且變量colPu可設置為覆蓋colPic內(nèi)部的由((xPRb >> 4) << 4,(yPRb >>4) << 4)所給出的經(jīng)修改位置的預測單元。
[0186]-否則((yP>> Log2CtbSize)不等于(yPRb >> Log2CtbSize)),視頻編碼器 20及視頻解碼器30可將colPu標記為“不可用”。
[0187]2.在這個實例中,當colPu以幀內(nèi)預測模式而譯碼或colPu標記為“不可用”時,以下內(nèi)容適用:
[0188]-當前預測單元的中央亮度位置由下式定義
[0189]xPCtr = (xP+ (nPSW > > I)(8-141)
[0190]yPCtr = (yP+(nPSH >> I)(8-142)
[0191]-變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPCtr >>4) <<4,(yPCtr >>4) << 4)所給出的經(jīng)修改位置的預測單元。
[0192]3.視頻編碼器20及視頻解碼器30可將(xPCol,yPCol)設置為等于相對于colPic的左上亮度樣本的colPu的左上亮度樣本。
[0193]函數(shù)LongTermRefPic (picX, refldx, LX)可定義如下:如果來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片在picX為當前圖片時標記為“用于長期參考”,那么 LongTermRefPic (picX, refldx, LX)返回 I ;否則 LongTermRefPic (picX, refldx, LX)返回O。
[0194]視頻編碼器20及視頻解碼器30可如下導出變量mvLXCol及avaiIableFlagLXCol:
[0195]avaiIableFlagLXCol 設置為等于 O, numTestBlock 等于 O。
[0196]在numTestBlock小于2且availableFlagLXCol等于O時,按順序執(zhí)行以下內(nèi)容。
[0197]xPCtr = (xP+ (nPSW >> I)
[0198]yPCtr = (yP+ (nPSH > > I)
[0199]-如果colPu 覆蓋 colPic 內(nèi)部的由((xPCtr > > 4) < < 4, (yPCtr > > 4) < < 4)所給出的位置,那么numTestBlock設置為I ;
[0200]-否則,如果numTestBlock等于I,那么colPu設置為覆蓋colPic內(nèi)部的由((xPCtr > > 4) <<4,(yPCtr >>4) << 4)所給出的經(jīng)修改位置的預測單元,且(xPCol, yPCol)設置為等于相對于colPic的左上亮度樣本的colPu的左上亮度樣本。[0201 ] -numT e s t BI o c k++
[0202]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0203]-colPu以幀內(nèi)預測模式而譯碼。
[0204]-colPu標記為“不可用”。
[0205]-pic—temporal—mvp—enable—flag 等于 0。
[0206]-否則,如下導出運動矢量mvCol、參考索引refIdxCol及參考列表標識符IistCol0
[0207]-如果PredFlagLO[xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0208]-否則(PredFlagLO[xPCol] [yPCol]等于 I),以下內(nèi)容適用。
[0209]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLO [xPCol] [yPCol] ^ RefIdxLO [xPCol] [yPCol]及 LO0
[0210]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0211]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefIdxLX[xPCol] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0212]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、ref IdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated—from—10—flag 的值。
[0213]-如果以下條件中的一者成立,那么變量availableFlagLXCol設置為等于O:
[0214]-RefPicListX[refIdxLX]為長期參考圖片且 LongTermRefPic (colPic,refldxCol, IistCol)等于 O ;
[0215]-RefPicListX[refIdxLX]為短期參考圖片且 LongTermRefPic (colPic,refldxCol, IistCol)等于 I ;
[0216]-否則,變量availableFlagLXCol設置為等于1,且以下內(nèi)容適用。
[0217]-如果RefPicListX [ref IdxLX]為長期參考圖片,或 LongTermRefPic (colPic,refldxCol, IistCol)等于 I,或 PicOrderCnt (colPic)-RefPicOrderCnt(colPic,ref IdxCoI,IistCoI)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]),那么
[0218]mvLXCol = mvCol(8-143)
[0219]-否則,mvLXCol可如下文所指定導出為運動矢量mvCol的縮放版本:
[0220]tx = (16384+(Abs (td) >> l))/td(8—144)
[0221]-DistScaleFactor = Clip3 (-4096,4095,(tb*tx+32) >> 6) (8-145)
[0222]mvLXCol = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)* ((Abs (DistScaleFactor*mvCol)+127) >>8))(8—146)
[0223]其中td及tb可導出為:
[0224]td = Clip3 (-128,127,PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, IistCol))(8-147)
[0225]tb = Clip3(_128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))
[0226](8-148)
[0227]在替代實例中,如果參考圖片的POC值不相同,那么長期運動矢量決不是從另一長期運動矢量預測。視頻編碼器20及視頻解碼器30可根據(jù)用于導出運動矢量預測值候選者的以下進程而配置,其中帶下劃線的文本表示相對于HEVC WD7的改變。
[0228]變量isScaledFlagLX (其中X為O或I)可設置為等于O。用以下有序步驟導出運動矢量mvLXA及可用性標志availableFlagLXA,其中省略號表示與HEVC的當前草案的文本相同的文本,且下劃線表示相對于HEVC的當前草案的改變:
[0229]1....
[0230]2....
[0231]3....
[0232]4....
[0233]5.當 availableFlagLXA 等于 O 時,對于從(xA0, yA0)到(XA1, YA1)的(xAk, yAk)(其中YA1 = yA0-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXA等于I為止:
[0234]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode 并非 MODE INTRA, rredFlagLX[xAk] [yAk]等于 I,目.RefPicListXTrefIdxLXl 及RefPicListXrrefldxLXrxAj fyAJl皆為具有不同POC值的長期參考圖片或皆為短期參考圖片,availableFlagLXA設置為等于1,運動矢量mvLXA設置為等于運動矢量mvLX[xAk][yAk], refIdxA 設置為等于 refIdxLX[xAk] [yAk], ListA 設置為等于 ListX。
[0235]-否貝U,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODE_INTRA,predFlagLY[xAk] [yAk](其中 Y= ! X)等于 1,目.RefPicListX「ref IdxLXl及RefPicListYbefldxLYkAj fyAJl皆為具有不同POC值的長期參考圖片或皆為短期參考圖片,availableFlagLXA設置為等于1,運動矢量mvLXA設置為等于運動矢量mvLY[xAk][yAk], refIdxA 設置為等于 refIdxLY[xAk] [yAk], ListA 設置為等于 ListY。
[0236]-當availableFlagLXA 等于 1,且 Re fP i cL i s t A [r e f I dxA]及RefPicListX[refIdxLX]皆為短期參考圖片時,mvLXA是如下文所指定而導出。
[0237]Tx= (16384+(Abs (td) >> l))/td(8-126)
[0238]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >> 6)(8-127)
[0239]mvLXA = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-128)
[0240]其中td及tb可導出為:
[0241]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA]))
(8-129)
[0242]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]))
[0243](8-130)
[0244]視頻編碼器20及視頻解碼器30可使用以下有序步驟導出運動矢量mvLXB及可用性標志availableFlagLXB,其中省略號再次表示與HEVC WD7的文本相同的文本:
[0245]1....
[0246]2....
[0247]3....
[0248]4....
[0249]5....
[0250]6.當 isScaledFlagLX 等于 O 時,availableFlagLXB 設置為等于 O,且對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 = XBc1-MinPuSize,且 xB2 =xP-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXB等于I為止:
[0251]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode 并非 M0DE_INTRA, predFlagLX[xBk] [yBk]等于 I,目.RefPicListX「refIdxLXl 及RefPicListXrrefldxLXrxBj fyBj]皆為具有不同POC值的長期參考圖片或皆為短期參考圖片,availableFlagLXB設置為等于1,運動矢量mvLXB設置為等于運動矢量mvLX[xBk][yBk], refldxB 設置為等于 refIdxLX[xBk] [yBk], ListB 設置為等于 ListX。
[0252]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODE_INTRA,predFlagLY[xBk] [yBk](其中 Y = ! X)等于 1,H.RefPicListXTrefIdxLXl及RefPicListYbefldxLYkBj fyBj]皆為具有不同POC值的長期參考圖片或皆為短期參考圖片,availableFlagLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY[xBk][yBk], refldxB 設置為等于 refIdxLY[xBk] [yBk], ListB 設置為等于 ListY。
[0253]-當availableFlagLXB 等于 I 且 PicOrderCnt (RefPicListB[refldxB])不等于 PicOrderCnt(RefPicListX[refIdxLX]),且 RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆為短期參考圖片時,mvLXB是如下文所指定而導出。
[0254]tx = (16384+ (Abs (td) > > I)) /td(8-134)
[0255]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6)(8-135)
[0256]mvLXB = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-136)
[0257]其中td及tb可導出為:
[0258]td = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListB [refldxB]))
(8-137)
[0259]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]))
[0260](8-138)
[0261]視頻編碼器20及視頻解碼器30可經(jīng)配置以根據(jù)以下進程導出時間亮度運動矢量預測值,其中帶下劃線的文本表示相對于HEVC WD7的改變??扇缦聦С鲎兞縨vLXCol及availableFlagLXCol:
[0262]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0263]-colPu以幀內(nèi)預測模式而譯碼。
[0264]-colPu標記為“不可用”。
[0265]-pic_temporal_mvp_enabIe_flag 等于 O。
[0266]-否貝U,如下導出運動矢量mvCol、參考索引refIdxCol及參考列表標識符listCol。
[0267]-如果PredFlagLO[xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0268]-否則(PredFlagLO[xPCol] [yPCol]等于 I),以下內(nèi)容適用。
[0269]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLO [xPCol] [yPCol] ^ RefIdxLO [xPCol] [yPCol]及 LO0
[0270]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0271]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefIdxLX[xPCol] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0272]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、ref IdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated—from—10—flag 的值。
[0273]-如果以下備件中的一者成立,那么變量availableFlagLXCol設置為等于O:
[0274]-RefPicListX「refIdxLXl 為長其月參考圖片 H.LongTermRefPic (colPic,refIdxCol, listCol)等于 O:
[0275]-RefPicListX「refIdxLXl 為 fa.其月參考圖片 H.LongTermRefPic (colPic,refIdxCol, listCol)等于 I:
[0276]-RefPicListX「ref IdxLXl 為長其月參考圖片,LongTermRefPic (colPic,ref IdxCol,listCol)等于 1,H.RefPicOrderCnt (colPic, ref IdxCol, listCol)不等于 PicOrderCnt (RefPicListX「refIdxLX"l) ο
[0277]-否則,變量availableFlagLXCol設置為等于1,且以下內(nèi)容適用。
[0278]-如果RefPicListX [ref IdxLX]為長期參考圖片,或 LongTermRefPic (colPic,refldxCol, listCol)等于 I,或 PicOrderCnt (colPic)-RefPicOrderCnt (colPic,ref IdxCoI,listCol)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]),那么
[0279]mvLXCol = mvCol(8-143)
[0280]-否則,mvLXCol是如下文所指定導出為運動矢量mvCol的縮放版本:
[0281]tx = (16384+(Abs (td) >> l))/td(8-144)
[0282]-DistScaleFactor = Clip3 (-4096,4095,(tb*tx+32) >>6) (8-145)
[0283]mvLXCol = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)* ((Abs (DistScaleFactor*mvCol)+127) >>8))(8—146)
[0284]其中td及tb可導出為:
[0285]td = Clip3 (-128,127,PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, listCol))(8-147)
[0286]tb = Clip3(_128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))
(8-148)
[0287]作為又一實例,視圖間參考圖片可標記為“不用于參考”。出于簡單起見,這個圖片可被稱為HEVC基礎規(guī)范中的非參考圖片,且標記為“用于長期參考”或“用于短期參考”的圖片可被稱為HEVC基礎規(guī)范中的參考圖片。術語“參考圖片”及“非參考圖片”可由標記為“用于參考”的圖片及標記為“不用于參考”的圖片替換。
[0288]函數(shù)UnusedRefPic(picX,refldx,LX)可定義如下。如果來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片在picX為當前圖片時標記為“不用于參考”,那么UnusedRefPic (picX, refldx, LX)返回 I ;否則 UnusedRefPic (picX, refldx, LX)返回 O。
[0289]視頻編碼器20及視頻解碼器30可經(jīng)配置以如下執(zhí)行用于運動矢量預測值候選者的導出進程,其中帶下劃線的文本表示相對于HEVC WD7的改變,且省略號表示與HEVCWD7的文本相同的文本:
[0290]變量isScaledFlagLX(其中X為O或I)可設置為等于O。
[0291]可用以下有序步驟導出運動矢量mvLXA及可用性標志availableFlagLXA:
[0292]1....
[0293]2....
[0294]3....
[0295]4....
[0296]5.當 availableFlagLXA 等于 O 時,對于從(xA0, yA0)到(XA1, YA1)的(xAk, yAk)(其中YA1 = yA0-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXA等于I為止:
[0297]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode 并非 M0DE_INTRA, predFlagLX[xAk] [yAk]等于 I,目.RefPicListX「refIdxLXl 及RefPicListX「refIdxLX「xAJ ivAJl 皆為參考圖片或皆為非參考圖片,availableFlagLXA設置為等于1,運動矢量mvLXA設置為等于運動矢量mvLX[xAk] [yAk], refldxA設置為等于refIdxLX[xAk] [yAk], ListA 設置為等于 ListX。
[0298]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 M0DE_INTRA, predFlagLY[xAk] [yAk](其中 Y=! X)等于 I,—IRefpicListX「refIdxLKl Jk RefPicListY「refIdxLY「xA,'l「yA,'lI 皆為參考圖片或皆為與巨參考圖片,availableFlagLXA設置為等于1,運動矢量mvLXA設置為等于運動矢量mvLY[xAk][yAk], refldxA 設置為等于 refIdxLY[xAk] [yAk], ListA 設置為等于 ListY。
[0299]-當availableFlagLXA 等于 1,且 Re fP i cL i s t A [r e f I dxA]及RefPicListX[refIdxLX]皆為短期參考圖片時,mvLXA是如下文所指定而導出。
[0300]tx = (16384+ (Abs (td) > > I)) /td(8-126)
[0301]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6)(8-127)
[0302]mvLXA = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-128)
[0303]其中td及tb可導出為:
[0304]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListA[refldxA]))
(8-129)
[0305]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]))
[0306](8-130)
[0307]視頻編碼器20及視頻解碼器30可使用以下有序步驟導出運動矢量mvLXB及可用性標志availableFlagLXB,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0308]1....
[0309]2....
[0310]3....
[0311]4....
[0312]5....
[0313]6.當 isScaledFlagLX 等于 O 時,availableFlagLXB 設置為等于 O,且對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 = XBc1-MinPuSize,且 xB2 =xP-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXB等于I為止:
[0314]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode 并非 M0DE_INTRA, predFlagLX[xBk] [yBk]等于 I,目.RefPicListX「refIdxLXl 及RefPicListX「refIdxLX「xBj ΓνΒ,-- 皆為參考圖片或皆為非參考圖片,availableFlagLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLX[XBk] [yBk],refldxB設置為等于refIdxLX[xBk] [yBk], ListB 設置為等于 ListX。
[0315]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 M0DE_INTRA,predFlagLY[xBk] [yBk](其中 Y = ! X)等于 1,曰.RefPicListXTrefIdxLXl 及 RefPicListY「refIdxLY「xBhl「vBjI 皆為參考圖片或皆為非參考圖片,availableFlagLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY[xBk][yBk], refldxB 設置為等于 refIdxLY[xBk] [yBk], ListB 設置為等于 ListY。
[0316]-當availableFlagLXB 等于 I 且 PicOrderCnt (RefPicListB[refldxB])不等于 PicOrderCnt(RefPicListX[refIdxLX]),且 RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆為短期參考圖片時,mvLXB是如下文所指定而導出。
[0317]tx = (16384+ (Abs (td) > > I)) /td(8-134)
[0318]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6)(8-135)
[0319]mvLXB = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-136)
[0320]其中td及tb可導出為:
[0321]td = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListB [refldxB]))
(8-137)
[0322]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]))
[0323](8-138)
[0324]視頻編碼器20及視頻解碼器30可經(jīng)配置以如下導出時間亮度運動矢量預測值,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0325]可如下導出變量mvLXCol 及 availableFlagLXCol。
[0326]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0327]-colPu以幀內(nèi)預測模式而譯碼。
[0328]-colPu標記為“不可用”。
[0329]-pic—temporal—mvp—enable—flag 等于 0。
[0330]-否貝U,如下導出運動矢量mvCol、參考索引refIdxCol及參考列表標識符IistCol0
[0331]-如果PredFlagLO[xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0332]-否則(PredFlagLO[xPCol] [yPCol]等于 I),以下內(nèi)容適用。
[0333]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLO [xPCol] [yPCol] ^ RefIdxLO [xPCol] [yPCol]及 LO0
[0334]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0335]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefIdxLX[xPCol] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0336]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、ref IdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated—from—10—flag 的值。
[0337]-如果以下備件中的一者成立,那么變量availableFlagLXCol設置為等于O:
[0338]—RefPicListX「ref IdxLKl 為與巨參考圖片 H.UnusedRefPic (colPic, ref IdxCol,listCol)等于 O:
[0339]-RefPicListX「refIdxLXl 為參考圖片 H.UnusedRefPic (colPic, ref IdxCol,listCol)等于 I:
[0340]-否則,變量availableFlagLXCol設置為等于1,且以下內(nèi)容適用。
[0341]-如果RefPicListX [ref IdxLX]為長期參考圖片,或 LongTermRefPic (colPic,refldxCol, listCol)等于 I,或 PicOrderCnt (colPic)-RefPicOrderCnt(colPic,ref IdxCoI,listCol)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[ref IdxLX]),那么
[0342]mvLXCol = mvCol(8-143)
[0343]-否則,mvLXCol是如下文所指定導出為運動矢量mvCol的縮放版本:
[0344]tx = (16384+(Abs (td) >> l))/td(8-144)
[0345]-DistScaleFactor = Clip3 (-4096,4095,(tb*tx+32) >>6) (8-145)
[0346]mvLXCol = Clip3 (-8192,8191.75,Sign (DistScaleFactor*mvCol)* ((Abs(DistScaleFactor*mvCol)+127) >>8))(8—146)
[0347]其中td及tb被導出為:
[0348]td = Clip3 (-128,127,PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, listCol))(8-147)
[0349]tb = Clip3(_128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))
(8-148)
[0350]關于在上文被稱為“第五實例”的實例,視頻編碼器20及視頻解碼器30可經(jīng)配置以根據(jù)以下技術中的任一者或全部而執(zhí)行。在這個實例中,可禁用參考不同長期參考圖片的運動矢量之間的預測,可禁用參考不同視圖間參考圖片的運動矢量之間的預測,且可禁用參考視圖間參考圖片及長期參考圖片的運動矢量之間的預測。
[0351]在這個實例中,函數(shù)AddPicId(pic)返回圖片pic所屬的視圖或?qū)拥囊晥D順序索弓丨或?qū)覫D。因此,對于屬于基礎視圖或?qū)拥娜魏螆D片“pic”,AddPicId(pic)返回O。在HEVC基礎規(guī)范中,以下內(nèi)容可適用:函數(shù)AddPicId(pic)可定義如下=AddPicId(pic)返回0(或reserved_one_5bits減I)。在這個實例中,當AddPicId(pic)不等于O時,圖片pic不為時間參考圖片(即,既不為短期參考圖片也不為長期參考圖片hAddPicIcKpicXdeflcb^LX)可返回AddPicId(pic),其中pic為來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片。
[0352]視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行用于運動矢量預測值候選者的導出進程。對這種進程的輸入可包括:亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本;指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量;及當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。這種進程的輸出可包括(其中N可由A或B替換):相鄰預測單元的運動矢量mvLXN,及相鄰預測單元的可用性標志 availableFlagLXN。
[0353]變量isScaledFlagLX(其中X為O或I)可設置為等于O。視頻編碼器20及視頻解碼器30可經(jīng)配置以使用以下有序步驟導出運動矢量mvLXA及可用性標志availableFlagLXA,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0354]1.令兩個樣本位置的集合為(xAk,yAk),其中k = O, I,其指定具有xAk = xP_l、yA0=yP+nPSH及= yA0-MinPuSize的樣本位置。樣本位置的集合(xAk, yAk)表示緊接地在左分區(qū)邊界及其延長線左側的樣本位置。
[0355]2.令可用性標志availableFlagLXA最初設置為等于O且mvLXA的兩個分量設置為等于O。
[0356]3.當以下條件中的一或多者成立時,變量isScaledFlagLX設置為等于I。
[0357]-覆蓋亮度位置Uk0,yA0)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元]且PredMode并非M0DE_INTRA。
[0358]-覆蓋亮度位置(XA^yA1)的預測單元可用[編輯(BB):使用MinCbAddrZS口 []及用于最小譯碼塊的可用性進程來重寫所述預測單元]且PredMode并非M0DE_INTRA。
[0359]4.對于從(xA0,yA0)到(XA^yA1)的(xAk, yAk)(其中 YA1 = yAn-MinPuSize),如果availableFlagLXA等于O,那么以下內(nèi)容話用:
[0360]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xAk] [yAk]等于I,且參考索引refIdxLX[xAk] [yAk]等于當前預測單元的參考索引refldxLX,avaiIableFlagLXA設置為等于I,且運動矢量mvLXA設置為等于運動矢量 mvLX[xAk] [yAk], refldxA 設置為等于 refldxLX[xAk] [yAk],且 ListA 設置為等于 ListX。
[0361]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 M0DE_INTRA, predFlagLY[xAk] [yAk](其中 Y=! X)等于 I,AddPicId (RefPicListX「ref IdxLXl)等于 AddPicId (RefPicListY「refIdxLY「xA,'l「yA,'ll),且 PicOrderCnt (RefPicListY[ref IdxLY[xAk] [yAk]])等于 PicOrderCnt (RefPicListX[refIdxLX]),availableFlagLXA設置為等于I,運動矢量mvLXA設置為等于運動矢量mvLY[xAk][yAk], refldxA 設置為等于 refIdxLY[xAk] [yAk], ListA 設置為等于 ListY 且 mvLXA 設置為等于mvLXA。
[0362]-當availableFlagLXA等于I時,如果以下內(nèi)容中的一或多者成立,那么availableFlagLXA 設置為 O:
[0363]-RefPicListXTrefIdxLXl 及 ListA「refIdxAl 中的一者目僅一者為長期參考圖片;
[0364]-RefPicListX TrefIdxLXl 及 ListA「refldxAl 皆為長期參考圖片,目.PicOrderCnt (ListA「ref IdxAl)不等于 PicOrderCnt (RefPicListX「ref IdxLXl)。
[0365]5.當 availableFlagLXA 等于 O 時,對于從(xA0, yA0)到(XA1, yAj 的(xAk, yAk)(其中yAi = yAr,-MinPuSize),如果availableFlagLXA等于O,那么以下內(nèi)容話用:
[0366]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODEINTRA,predFlagLX[xAk] [yAk]等于 I,目.AddPicId(RefPicListX「refIdxLXl)等于 AddPicId(RefPicListXTrefIdxLXTxAkl ΓyAkl I), availableFlagLXA 設置為等于 I,運動矢量 mvLXA設置為等于運動矢量 mvLX[xAk] [yAk], refldxA 設置為等于 refldxLX[xAk] [yAk], ListA 設置為等于ListX。
[0367]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 MODE INTRA, predFlagLY[xAk] [yAk](其中 Y=! X)等于 I,—IAddPicId(RefPicListX「refIdxLXl)等于 AddPicId(RefPicListY「refIdxLY「xAklΓ yAkl I) ,avai IableFl agLXA設置為等于I,運動矢量mvLXA設置為等于運動矢量mv LY [xAk][yAk], refldxA 設置為等于 refIdxLY[xAk] [yAk], ListA 設置為等于 ListY。
[0368]-當availableFlagLXA等于I時,如果以下內(nèi)容中的一或多者成立,那么availableFlagLXA 設置為 O:
[0369]-RefPicListXTrefIdxLXl 及 ListA「refIdxAl 中的一者目僅一者為長期參考圖片;
[0370]-RefPicListX TrefIdxLXl 及 ListA「refldxAl 皆為長期參考圖片,目.PicOrderCnt (ListA「refldxAl)不等于 PicOrderCnt (RefPicListX「refIdxLXl)。
[0371]-當availableFlagLXA 等于 1,且 Re fP i cL i s t A [r e f I dxA]及RefPicListX[refldxLX]皆為短期參考圖片時,mvLXA是如下文所指定而導出。
[0372]tx = (16384+ (Abs (td) > > I)) /td(8-126)
[0373]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6)(8-127)
[0374]mvLXA = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-128)
[0375]其中td及tb可導出為:
[0376]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListA[refldxA])) (8-129)
[0377]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]))
[0378](8-130)
[0379]視頻編碼器20及視頻解碼器30可經(jīng)配置以使用以下有序步驟導出運動矢量mvLXB及可用性標志availableFlagLXB,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0380]1.令三個樣本位置的集合為(xBk,yBk),其中k = 0,1,2,其指定具有xBq =xP+nPSW'xBi = XB0-MinPuSize>xB2 = xP-MinPuSize 及 yBk = yP-Ι 的樣本位置。樣本位置的集合(xBk,yBk)表示緊接地在上分區(qū)邊界及其延長線上側的樣本位置。[編輯(BB):在SPS中定義MinPuSize,但導出應取決于AMP標志的使用]
[0381]2.當 yP-Ι 小于((yC >> Log2CtbSize) << Log2CtbSize)時,以下內(nèi)容適用。
[0382]xB0 = (xB0 >>3) << 3) + ( (xB0 >>3)&1) *7(8—131)
[0383]XB1 = (XB1 >>3) << 3)+ ((XB1 >> 3)&1)*7(8—132)
[0384]xB2 = (XB2 >>3) << 3) + ((xB2 >> 3)&1)*7(8—133)
[0385]3.令可用性標志availableFlagLXB最初設置為等于O且mvLXB的兩個分量設置為等于O。
[0386]4.對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 =XBtl-MinPuSize,且 xB2 = xP-MinPuSize),如果 availableFlagLXB 等于 0,那么以下內(nèi)容話用:
[0387]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS口[]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xBk] [yBk]等于I,且參考索引refIdxLX[xBk] [yBk]等于當前預測單元的參考索引refldxLX,avaiIableFlagLXB設置為等于I,且運動矢量mvLXB設置為等于運動矢量 mvLX[xBk] [yBk], ref IdxB 設置為等于 ref IdxLX[xBk] [yBk],且 ListB 設置為等于 ListX。
[0388]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 M0DE_INTRA, predFlagLY[xBk] [yBk](其中 Y=! X)等于 I,AddPicId(RefPicListX「refIdxLXl)等于 AddPicId(RefPicListYTrefIdxLYTxBkl「yBkl I),目.PicOrderCnt (RefPicListY [ref IdxLY [xBk] [yBk]])等于 PicOrderCnt (RefPicListX[refIdxLX]), availableFlagLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY[xBk] [yBk], ref IdxB 設置為等于 ref IdxLY[xBk] [yBk],且 ListB 設置為等于 ListY。
[0389]-當availableFlagLXA等于I時,如果以下內(nèi)容中的一或多者成立,那么availableFlagLXA 設置為 O:
[0390]-RefPicListXTrefIdxLXl 及 ListB「ref IdxBl 中的一者目僅一者為長期參考圖片。
[0391]-AddPicId (RefPicListX「ref IdxLXl)不等于 AddPicId (ListB「ref IdxBl)。
[0392]-RefPicListX TrefIdxLXl 及 ListB「ref IdxBl 皆為長期參考圖片,目.PicOrderCnt (ListB「ref IdxBl)不等于 PicOrderCnt (RefPicListX「ref IdxLXl)。
[0393]5.當 isScaledFlagLX 等于 O 且 availableFlagLXB 等于 I 時,mvLXA 設置為等于mvLXB,且 refIdxA 設置為等于 refIdxB,且 availableFlagLXA 設置為等于 I。
[0394]6.當 isScaledFlagLX 等于 O 時,availableFlagLXB 設置為等于 O,且對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 = XBc1-MinPuSize,且 xB2 =xP-MinPuSize),如果availableFlagLXB等于0,那么以下內(nèi)容話用:
[0395]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS口[]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xBk] [yBk]等于 I,目.AddPicId(RefPicListX「refIdxLXl)等于 AddPicId(RefPicListXTrefIdxLXTxBkl「yBkll) ,availableFlagLXB 設置為等于 I,運動矢量 mvLXB設置為等于運動矢量 mvLX[xBk] [yBk], refldxB 設置為等于 refldxLX[xBk] [yBk], ListB 設置為等于ListX。
[0396]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS [][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 MODE_INTRA,predFlagLY[xBk] [yBk](其中 Y = ! X)等于 1,曰.AddPicId(RefPicListX「refIdxIXl)等于 AddPicId(RefPicListY「refIdxLY「xBkl「vBkl I), ava i I ab I eF I agLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY「χΒ,.?[yBk], refldxB 設置為等于 refIdxLY[xBk] [yBk], ListB 設置為等于 ListY。
[0397]-當availableFlagLXA等于I時,如果以下內(nèi)容中的一或多者成立,那么availableFlagLXA 設置為 O:
[0398]-RefPicListXTrefIdxLXl 及 ListB「ref IdxBl 中的一者目僅一者為長期參考圖片。
[0399]-RefPicListX TrefIdxLXl 及 ListB「ref IdxBl 皆為長期參考圖片,目.PicOrderCnt (ListB「ref IdxBl)不等于 PicOrderCnt (RefPicListX「ref IdxLXl))。
[0400]-當availableFlagLXB 等于 I 且 PicOrderCnt (RefPicListB[refldxB])不等于 PicOrderCnt(RefPicListX[refIdxLX]),且 RefPicListB[refIdxB]及RefPicListX[refldxLX]皆為短期參考圖片時,mvLXB是如下文所指定而導出。
[0401]tx = (16384+ (Abs (td) > > I)) /td(8-134)
[0402]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6)(8-135)
[0403]mvLXB = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127) >>8))(8-136)
[0404]其中td及tb可導出為:
[0405]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListB[refldxB]))
[0406](8-137)
[0407]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]))
[0408](8-138)
[0409]視頻編碼器20及視頻解碼器30可經(jīng)配置以如下導出時間亮度運動矢量預測值。對進程的輸入可包括:亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本;指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量;及當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。進程的輸出可包括運動矢量預測mvLXCol 及可用性標志 availableFlagLXCol。
[0410]可返回來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片的圖片順序計數(shù) PicOrderCntVal 的函數(shù) RefPicOrderCnt (picX, ref Idx, LX)可指定如下:
[0411]RefPicOrderCnt (picX, refldx, LX) = PicOrderCnt (圖片 picX 的 RefPicListLX[refldx])(8141)
[0412]取決于slice_type、collocated_from_10_flag 及 collocated_ref_idx 的值,視頻編碼器20及視頻解碼器30可如下導出指定含有同置分區(qū)的圖片的變量colPic:
[0413]-如果slice_type 等于 B 且 collocated_from_10_flag 等于 O,那么變量 colPic指定如由RefPicListl [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0414]-否則(slice_type等于 B 且 collocated_from_10_flag 等于 I 或 sliceype 等于P),變量colPic指定如由RefPicListO[collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0415]視頻編碼器20及視頻解碼器30可使用以下有序步驟導出變量colPu及其位置(xPCol, yPCol),其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0416]1.可如下導出變量colPu
[0417]yPRb = yP+nPSH(8-139)
[0418]-如果(yP>> Log2CtbSize)等于(yPRb > > Log2CtbSize),那么當前預測單元的右下亮度位置的水平分量由下式定義
[0419]xPRb = xP+nPSff(8-140)
[0420]且變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPRb >>4) <<4,(yPRb >>4)<<4)所給出的經(jīng)修改位置的預測單元。
[0421]-否則((yP> > Log2CtbSize)不等于(yPRb > > Log2CtbSize)), colPu 標記為“不可用”。
[0422]2.當colPu以幀內(nèi)預測模式而譯碼或colPu標記為“不可用”時,以下內(nèi)容適用。
[0423]-當前預測單元的中央亮度位置由下式定義
[0424]xPCtr = (xP+ (nPSW > > I)(8-141)
[0425]yPCtr = (yP+(nPSH >> I)(8-142)
[0426]-變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPCtr > > 4) <<4,(yPCtr > >4) <<4)所給出的經(jīng)修改位置的預測單元。
[0427]3.(xPCol, yPCol)設置為等于相對于colPic的左上亮度樣本的colPu的左上亮度樣本。
[0428]函數(shù)LongTermRefPic (picX, refldx, LX)被定義如下。如果來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片在picX為當前圖片時標記為“用于長期參考”,那么 LongTermRefPic (picX, refldx, LX)返回 I ;否則 LongTermRefPic (picX, refldx, LX)返回O。
[0429]函數(shù) AddPicId (picX, refldx, LX 返.回 AddPicId (pic),其中 pic 為來自圖片 picX的參考圖片歹丨」表LX的具有索弓I refldx的參考圖片。
[0430]如下導出變量mvLXCol 及 availableFlagLXCol。
[0431]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0432]-colPu以幀內(nèi)預測模式而譯碼。
[0433]-colPu標記為“不可用”。
[0434]-pic—temporal—mvp—enable—flag 等于 0。
[0435]-否貝U,如下導出運動矢量mvCol、參考索引refIdxCol及參考列表標識符listCol。
[0436]-如果PredFlagLO[xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0437]-否則(PredFlagLO[xPCol][yPCol]等于 I),以下內(nèi)容適用。
[0438]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLO [xPCol] [yPCol] ^ RefIdxLO [xPCol] [yPCol]及 LO0
[0439]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0440]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefldxLX [xPCol] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0441]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、ref IdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated—from—10—flag 的值。
[0442]-如果以下備件中的一者成立,那么變量availableFlagLXCol設置為等于O。
[0443]_AddPicId(RefPicListX「refIdxLXl 不等于 ALddpicid(colPic, refIdxCol,listCol):
[0444]-RefPicListX「refIdxLXl 為 fa.其月參考圖片 H.LongTermRefPic(colPic,refIdxCol, listCol)等于 I:
[0445]-RefPicListX「refIdxLXl 為長其月參考圖片 H.LongTermRefPic(colPic,refIdxCol, listCol)等于 O:
[0446]-RefPicListX「refIdxLXl 為長其月參考圖片 H.LongTermRefPic(colPic,ref IdxCol, listCol)等于 1,H.RefPicOrderCnt (colPic, RefIdxCol, listCol)不等于 PicOrderCnt(RefPicListLX「refIdxLXl)ο
[0447]-否則,變量availableFlagLXCol設置為等于1,且以下內(nèi)容適用。
[0448]-如果RefPicListX [refldxLX]為長期參考圖片,或 LongTermRefPic (colPic,refldxCol, listCol)等于 I,或 PicOrderCnt (colPic)-RefPicOrderCnt(colPic,refIdxCoI,listCol)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]),那么
[0449]mvLXCol = mvCol(8-143)
[0450]-否則,mvLXCol是如下文所指定導出為運動矢量mvCol的縮放版本:
[0451]tx = (16384+(Abs (td) >> l))/td(8-144)
[0452]-
[0453]DistScaleFactor = Clip3 (-4096,4095,(tb*tx+32) >>6)(8-145)
[0454]mvLXCol = Clip3 (-8192,8191.75,Sign (DistScaleFactor*mvCol)* ((Abs(DistScaleFactor*mvCol)+127) >>8))(8—146)
[0455]其中td及tb可導出為:
[0456]td = Clip3 (-128,127,PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, listCol))(8-147)
[0457]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListLX[refldxLX]))
(8-148)
[0458]視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行用于組合式雙向預測性合并候選者的以下導出進程。所述進程的輸入可包括合并候選者列表mergeCandList、在mergeCandList 中的每一候選者 N 的參考索引 refldxLON 及 refldxLIN、在 mergeCandList中的每一候選者N的預測列表利用標志predFlagLON及predFlagLIN、在mergeCandList中的每一候選者N的運動矢量mvLON及mvLIN、在mergeCandList內(nèi)的元素數(shù)目numMergeCand,以及在空間及時間合并候選者導出進程之后的在mergeCandList內(nèi)的元素數(shù)目numOrigMergeCand。這種進程的輸出可包括合并候選者列表mergeCandList、在mergeCandList內(nèi)的元素數(shù)目numMergeCand、在調(diào)用這種進程期間添加在mergeCandList中的每一新候選者 combCandk 的參考索引 refIdxLOcombCandk 及 refIdxLlcombCandk、在調(diào)用這種進程期間添加在mergeCandLi st中的每一新候選者combCandk的預測列表利用標志predFlagLOcombCandk及predFlagLlcombCandk,以及在調(diào)用這種進程期間添加在mergeCandList中的每一新候選者combCandk的運動矢量mvLOcombCandk及mvLlcombCandk。
[0459]當numOrigMergeCand 大于 I 且小于 MaxNumMergeCand 時,變量numlnputMergeCand 可設置為 numMergeCand,變量 combldx 及 combCnt 可設置為 O,變量combStop可設置為FALSE,且可重復以下步驟,直到combStop等于TRUE為止(其中省略號表示與HEVC TO7中所提供的步驟相同的步驟,且?guī)聞澗€的文本表示相對于HEVC WD7的改變):
[0460]1.如表8-8中所指定而使用combldx導出變量1CandIdx及l(fā)lCandldx。
[0461]2.進行以下指派,其中在合并候選者列表mergeCandList中,1Cand為在位置1CandIdx處的候選者且IlCand為在位置IlCandIdx處的候選者(1Cand =mergeCandList[lOCandldx],11 Cand = mergeCandList[11 Candldx])。
[0462]3.當以下條件中的全部成立時,
[0463]-predFlagLOlOCand == I
[0464]-predFlagLlllCand = = I
[0465]-AddPicId(RefPicListLO「refIdxLOlOCandl) ! = AddPicId(RefPicListLl「refIdxLlIICandl) I PicOrderCnt(RefPicListO TrefIdxLOlOCandl) ! = PicOrderCnt (RefPicListl[refldxLlIICand])| mvLO1Cand ! = mvLlllCand
[0466]以下內(nèi)容適用。
[0467]-…
[0468]4....
[0469]5....
[0470]作為替代例,可啟用兩個長期參考圖片之間的預測而不縮放,且可啟用兩個視圖間參考圖片之間的預測而不縮放。視頻編碼器20及視頻解碼器30可經(jīng)配置以如下執(zhí)行用于運動矢量預測值候選者的導出進程,其中帶下劃線的文本表示相對于HEVC WD7的改變,且省略號表示與HEVC WD7的文本相同的文本:
[0471]變量isScaledFlagLX(其中X為O或I)可設置為等于O。
[0472]可用以下有序步驟導出運動矢量mvLXA及可用性標志availableFlagLXA:
[0473]1....
[0474]2....
[0475]3....
[0476]4....
[0477]5.當 availableFlagLXA 等于 O 時,對于從(xA0, yA0)到(XA1, YA1)的(xAk, yAk)(其中YA1 = yA0-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXA等于I為止:
[0478]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA, predFlagLX[xAk] [yAk]等于 I,目.RefPicType (RefPicListX「refIdxLXl)等于 RefPicType (Ref Pi cLi stX「ref IdxLX「xAhl「yAhl I) , availableFlagLXA 設置為等于 1,運動矢量 mvLXA 設置為等于運動矢量 mvLX[xAk] [yAk], refldxA 設置為等于 refldxLX [xAk] [yAk],ListA設置為等于ListX。
[0479]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODE_INTRA,predFlagLY[xAk] [yAk](其中 Y= ! X)等于 1,目.RefPicType (RefPicListX「ref IdxLXl)等于 RefPicType (Ref Pi cLi stY「ref IdxLY「xAkl「yAkl I) , availableFl agLXA設置為等于1,運動矢量mvLXA設置為等于運動矢量mvLY[xAk] [yAk], refldxA設置為等于refIdxLY[xAk] [yAk], ListA 設置為等于 ListY。
[0480]-當availableFlagLXA 等于 1,且 Re fP i cL i s t A [r e f I dxA]及RefPicListX[refldxLX]皆為短期參考圖片時,mvLXA是如下文所指定而導出。
[0481]Tx= (16384+(Abs (td) >> l))/td (8-126)
[0482]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6) (8-127)
[0483]mvLXA = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-128)
[0484]其中td及tb可導出為:
[0485]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListA[refldxA]))
(8-129)
[0486]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]))
[0487](8-130)
[0488]視頻編碼器20及視頻解碼器30可使用以下有序步驟導出運動矢量mvLXB及可用性標志availableFlagLXB,其中帶下劃線的文本表示相對于HEVC WD7的改變,且省略號表示與HEVC WD7的文本相同的文本:
[0489]1....
[0490]2....
[0491]3....
[0492]4....
[0493]5....
[0494]6.當 isScaledFlagLX 等于 O 時,availableFlagLXB 設置為等于 O,且對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 = XBc1-MinPuSize,且 xB2 =xP-MinPuSize),以下內(nèi)容重復地適用,直到availableFlagLXB等于I為止:
[0495]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA, predFlagLX[xBk] [yBk]等于 I,目.RefPicType (RefPicListX「refIdxLXl)等于 RefPicType (Ref Pi cLi stX「ref IdxLX「xBhl「yBhl I) , availableFl agLXB 設置為等于 1,運動矢量 mvLXB 設置為等于運動矢量 mvLX [xBk] [yBk], refldxB 設置為等于 refldxLX [xBk] [yBk],ListB設置為等于ListX。
[0496]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非 MODE_INTRA,predFlagLY[xBk] [yBk](其中 Y = ! X)等于 I, H.RefPicTvpe (RefPicListX「refIdxLXl)等于 RefPicType (RefPicListYrrefldxLYrxB」「yBhll), availableFl agLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY[XBk] [yBk],refldxB設置為等于refIdxLY[xBk] [yBk], ListB 設置為等于 ListY。
[0497]-當availableFlagLXB 等于 I 且 PicOrderCnt (RefPicListB[refldxB])不等于 PicOrderCnt(RefPicListX[refIdxLX]),且 RefPicListB[refIdxB]及RefPicListX[refldxLX]皆為短期參考圖片時,mvLXB是如下文所指定而導出。
[0498]tx = (16384+ (Abs (td) > > I)) /td (8-134)
[0499]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6) (8-135)
[0500]mvLXB = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-136)
[0501]其中td及tb可導出為:
[0502]td = Clip3(-128,127, PicOrderCntVal-PicOrderCnt(RefPicListB[refldxB]))
(8-137)
[0503]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]))
[0504](8-138)
[0505]視頻編碼器20及視頻解碼器30可經(jīng)配置以如下執(zhí)行用于時間亮度運動矢量預測的導出進程。
[0506]可如下導出變量mvLXCol 及 availableFlagLXCol。
[0507]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0508]-colPu以幀內(nèi)預測模式而譯碼。
[0509]-colPu標記為“不可用”。
[0510]-pic_temporal_mvp_enabIe_flag 等于 O。
[0511 ]-否則,如下導出運動矢量mvCol、參考索引ref IdxCol及參考列表標識符IistCol ο
[0512]-如果PredFlagLO[xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0513]-否則(PredFlagLO[xPCol] [yPCol]等于 I),以下內(nèi)容適用。
[0514]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 listCol 分別設置為等于 MvLO [xPCol] [yPCol]、RefIdxLO [xPCol] [yPCol]及 LO。
[0515]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0516]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefldxLX[xPCoI] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0517]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated_from_10_flag 的值。
[0518]-如果 RefPicType(RefPicListX「refIdxLXl)不等于 RefPicType(colPic,refIdxCol, listCol),那么變量 availableFlagLXCol 設置為等于 O。
[0519]變量availableFlagLXCol設置為等于I,且以下內(nèi)容適用。
[0520]-如果RefPicListX [refldxLX]為長期參考圖片,或 LongTermRefPic (colPic,refIdxCol, listCol)等于 1,或 PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol, listCol)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]),那么
[0521]mvLXCol = mvCol(8-143)
[0522]-否則,mvLXCol是如下文所指定導出為運動矢量mvCol的縮放版本:
[0523]tx = (16384+ (Abs (td) > > I)) /td (8-144)
[0524]-DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6)(8-145)
[0525]mvLXCol = Clip3(-8192,8191.75, Sign(DistScaleFactor*mvCol)* ((Abs (DistScaleFactor*mvCol)+127) > > 8))(8-146)
[0526]其中td及tb可導出為:
[0527]td = Clip3 (-128, 127, PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, listCol))(8-147)
[0528]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListLX[refldxLX]))
(8-148)
[0529]出于這個實例的目的,HEVC WD7的章節(jié)8.5.2.1.3可保持相同。
[0530]在替代實例中,可禁用參考不同長期參考圖片的運動矢量之間的預測,可禁用參考視圖間參考圖片及長期參考圖片的運動矢量之間的預測,且可啟用參考不同視圖間參考圖片的運動矢量之間的預測。在這個實例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行用于運動矢量預測值候選者的導出進程,如下文所描述。對這種進程的輸入可包括:亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本;指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量;及當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。這種進程的輸出可包括(其中N是由A或B替換)相鄰預測單元的運動矢量mvLXN,及相鄰預測單元的可用性標志avaiIableFlagLXN。
[0531]變量isScaledFlagLX(其中X為O或I)可設置為等于O。視頻編碼器20及視頻解碼器30可使用以下有序步驟導出運動矢量mvLXA及可用性標志avaiIableFlagLXA,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0532]1.令兩個樣本位置的集合為(xAk, yAk),其中k = O, I,其指定具有xAk = xP_l、yAO = yP+nPSH及yAl = yAO-MinPuSize的樣本位置。樣本位置的集合(xAk,yAk)表示緊接地在左分區(qū)邊界及其延長線左側的樣本位置。
[0533]2.令可用性標志availableFlagLXA最初設置為等于O且mvLXA的兩個分量設置為等于O。
[0534]3.當以下條件中的一或多者成立時,變量isScaledFlagLX設置為等于I。
[0535]-覆蓋亮度位置(xAQ,yAQ)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元]且PredMode并非MODE_INTRA。
[0536]-覆蓋亮度位置(XA^yA1)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元]且PredMode并非MODE_INTRA。
[0537]4.對于從(XAc^yAtl)到(XA^yA1)的(xAk,yAk)(其中 Jki = yAn-MinPuSize),如果availableFlagLXA等于O,那么以下內(nèi)容話用:
[0538]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xAk] [yAk]等于I,且參考索引refIdxLX[xAk] [yAk]等于當前預測單元的參考索引refldxLX,avaiIableFlagLXA設置為等于I,且運動矢量mvLXA設置為等于運動矢量 mvLX[xAk] [yAk], refldxA 設置為等于 refldxLX[xAk] [yAk],且 ListA 設置為等于 ListX。
[0539]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 MODE_INTRA, predFlagLY[xAk] [yAk](其中 Y=! X)等于 I,AddPicId(RefPicListX「refIdxLXl) 等于 AddPicId(RefPicListY「refIdxLY「xAkl「yAkl I),且 PicOrderCnt (RefPicListY [refIdxLY[xAk] [yAk]])等于 PicOrderCnt (RefPicListX [refldxLX]), availableFlagLXA設置為等于1,運動矢量mvLXA設置為等于運動矢量 mvLY[xAk] [yAk], refldxA 設置為等于 refIdxLY[xAk] [yAk], ListA 設置為等于 ListY 且mvLXA設置為等于mvLXA。
[0540]-當 availableFl agLXA 等于 I 時,女口果以下內(nèi)容成立,那么 availableFl agLXA Tg置為O
[0541]-RefPicListXTrefIdxLXl 及 ListA「refIdxAl 中的一者目僅一者為長期參考圖片。
[0542]5.當 availableFlagLXA 等于 O 時,對于從(xA0, yA0)到(XA1, Jk1)的(xAk, yAk)(其中yAi = yAn-MinPuSize),如果availableFlagLXA等于O,那么以下內(nèi)容話用:
[0543]-如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA, predFlagLX[xAk] [yAk]等于 I,目.AddPicId(RefPicListLX「refIdxLXl)等于 AddPicId(RefPicListLX「refIdxLX「xAkl「yAkll) , availableFl agLXA 設置為等于 1,運動矢量 mvLXA 設置為等于運動矢量 mvLX[xAk] [yAk], refldxA 設置為等于 refldxLX [xAk] [yAk],ListA設置為等于ListX。
[0544]-否貝IJ,如果覆蓋亮度位置(xAk,yAk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非 MODE_INTRA,predFlagLY[xAk] [yAk](其中 Y = ! X)等于 I, H.AddPicId(RefPicListLX「refIdxLXl)等于 AddPicId(RefPicListLY「refIdxLY「xAkl「yAkll), availableFl agLXA設置為等于I,運動矢量mvLXA設置為等于運動矢量mvLY[xAk] [yAk], refldxA設置為等于refIdxLY[xAk] [yAk], ListA 設置為等于 ListY。
[0545]-當 availableFl agLXA 等于 I 時,女口果以下內(nèi)容成立,那么 availableFl agLXA Tg置為O:
[0546]-RefPicListXTrefIdxLXl 及 ListA「refIdxAl 中的一者目僅一者為長期參考圖片。
[0547]-當availableFlagLXA 等于 1,且 Re fP i cL i s t A [r e f I dxA]及RefPicListX[refldxLX]皆為短期參考圖片時,mvLXA是如下文所指定而導出。
[0548]tx = (16384+ (Abs (td) > > I)) /td (8-126)
[0549]DistScaleFactor = Clip3 (-4096,4095, (tb*tx+32) >>6) (8-127)
[0550]mvLXA = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >>8))(8-128)
[0551]其中td及tb可導出為:
[0552]td = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListA[refldxA]))
(8-129)
[0553]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]))
[0554](8-130)
[0555]視頻編碼器20及視頻解碼器30可經(jīng)配置以使用以下有序步驟導出運動矢量mvLXB及可用性標志availableFlagLXB,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0556]1.令三個樣本位置的集合為(xBk,yBk),其中k = 0,1,2,其指定具有xBO =xP+nPSW、xBl = xB0_MinPuSize、xB2 = xP-MinPuSize 及 yBk = yP-Ι 的樣本位置。樣本位置的集合(xBk,yBk)表示緊接地在上分區(qū)邊界及其延長線上側的樣本位置。[編輯(BB):在SPS中定義MinPuSize,但導出應取決于AMP標志的使用]
[0557]2.當 yP-Ι 小于((yC >> Log2CtbSize) << Log2CtbSize)時,以下內(nèi)容適用。
[0558]xB0 = (xB0 >>3) << 3) + ( (xB0 >>3)&1) *7 (8—131)
[0559]XB1 = (XB1 >>3) << 3)+ ((XB1 >> 3)&1)*7 (8—132)
[0560]xB2 = (XB2 >>3) << 3) + ((xB2 >> 3)&1)*7 (8-133)
[0561]3.令可用性標志availableFlagLXB最初設置為等于O且mvLXB的兩個分量設置為等于O。
[0562]4.對于從(xB0, yB0)到(xB2, yB2)的(xBk, yBk)(其中 xB0 = xP+nPSff, XB1 =XBtl-MinPuSize,且 xB2 = xP-MinPuSize),如果 availableFlagLXB 等于 0,那么以下內(nèi)容話用:
[0563]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非M0DE_INTRA,predFlagLX[xBk] [yBk]等于I,且參考索引refIdxLX[xBk] [yBk]等于當前預測單元的參考索引refldxLX,avaiIableFlagLXB設置為等于I,且運動矢量mvLXB設置為等于運動矢量 mvLX[xBk] [yBk], refldxB 設置為等于 refldxLX[xBk] [yBk],且 ListB 設置為等于 ListX。
[0564]-否貝IJ,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 MODE—INTRA,nredFlagLY[xBk] [yBk](其中 Y=! X)等于 1,AddPicId(RefPicListX「refIdxLXl) 等于 AddPicId(RefPicListLY「refIdxY「xBkl「yBk"H),目.PicOrderCnt (RefPicListY[ref IdxLY[xBk] [yBk]])等于 PicOrderCnt (RefPicListX[refIdxLX])? availableFlagLXB設置為等于I,運動矢量mvLXB設置為等于運動矢量mvLY[xBk] [yBk],refldxB 設置為等于 refIdxLY[xBk] [yBk],且 ListB 設置為等于 ListY。
[0565]-當availableFlagLXA等于I時,負口果以下內(nèi)縣成立,男|3么availableFlagLXA設置為O:
[0566]-RefPicListXrrefldxLXl 及 ListB「refIdxBl 中的一者目.僅一者為長期參考圖片。
[0567]5.當 isScaledFlagLX 等于 O 且 availableFlagLXB 等于 I 時,mvLXA 設置為等于mvLXB,且 refldxA 設置為等于 refldxB,且 availableFlagLXA 設置為等于 I。
[0568]6.當 isScaledFlagLX 等于 O 時,availableFlagLXB 設置為等于 0,且對于從(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中 xB0 = xP+nPSW, XB1 = xB0_MinPuSize,且 xB2 =xP-MinPuSize),如果availableFlagLXB等于0,那么以下內(nèi)裔適用:
[0569]-如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么PredMode并非MODE—INTRA,predFlagLX[xBk] [yBk]等于 1,曰.AddPicId(RefPicListX「refIdxLXl)等于 AddPicId(RefPicListXTrefIdxLXTxBkI [yBkll),availableFlagLXB 設置為等于 I,運動矢量 mvLXB設置為等于運動矢量 mvLX[xBk] [yBk],refldxB 設置為等于 refldxLX[xBk] [yBk],ListB 設置為等于ListX。
[0570]-否貝lj,如果覆蓋亮度位置(xBk,yBk)的預測單元可用[編輯(BB):使用MinCbAddrZS[][]及用于最小譯碼塊的可用性進程來重寫所述預測單元],那么 PredMode 并非 MODE—INTRA,predFlagLY[xBk] [yBk](其中 Y = ! X)等于 1,目.AddPicId (RefPicListX「ref IdxLXl)等于 AddPicId (RefPicListY「ref IdxLY「xBkl「vBkD,availableFlagLXB設置為等于1,運動矢量mvLXB設置為等于運動矢量mvLY「xBj[yBk],refldxB 設置為等于 refIdxLY[xBk] [yBk],ListB 設置為等于 ListY。
[0571]-當availableFlagLXA等于I時,負口果以下內(nèi)縣成立,男|3么availableFlagLXA設置為O:
[0572]-RefPicListXrrefldxLXl 及 ListB「refIdxBl 中的一者目.僅一者為長期參考圖片。
[0573]-當availableFlagLXB 等于 I 且 PicOrderCnt (RefPicListB[refIdxB])不等于 PicOrderCnt(RefPicListX[refIdxLX]),且 RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆為短期參考圖片時,mvLXB是如下文所指定而導出。
[0574]tx = (16384+(Abs (td) >> l))/td (8-134)
[0575]DistScaleFactor = Clip3 (-4096,4095,(tb*tx+32) >>6) (8-135)
[0576]mvLXB = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)* ((Abs (DistScaleFactor*mvLXA)+127) >> 8))(8—136)
[0577]其中td及tb可導出為:
[0578]td = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListB [refldxB]))
(8-137)
[0579]tb = Clip3 (-128,127, PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]))
[0580](8-138)
[0581]視頻編碼器20及視頻解碼器30可經(jīng)配置以實施用于時間亮度運動矢量預測的導出進程,如下文所論述。對這種進程的輸入可包括:亮度位置(xP,yP),其指定相對于當前圖片的左上樣本的當前預測單元的左上亮度樣本;指定用于亮度的預測單元的寬度nPSW及高度nPSH的變量;及當前預測單元分區(qū)的參考索引refldxLX(其中X為O或I)。這種進程的輸出可包括運動矢量預測mvLXCol及可用性標志availableFlagLXCol。
[0582]在一個實例中,函數(shù)RefPicOrderCnt (picX, refldx, LX)返回來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片的圖片順序計數(shù)PicOrderCntVal,且可指定如下:
[0583]RefPicOrderCnt (picX, refldx, LX) = PicOrderCnt (圖片 picX 的RefPicListX[refldx])
[0584](8-141)
[0585]取決于slice_type、collocated_from_10_flag 及 collocated_ref_idx 的值,視頻編碼器20及視頻解碼器30可如下導出指定含有同置分區(qū)的圖片的變量colPic:
[0586]-如果slice_type 等于 B 且 collocated_from_10_flag 等于 O,那么變量 colPic指定如由RefPicListl [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0587]-否則(slice_type等于 B 且 collocated_from_10_flag 等于 I 或 slice_type 等于P),變量ColPic指定如由RefPicListO [collocated_ref_idx]所指定的含有同置分區(qū)的圖片。
[0588]視頻編碼器20及視頻解碼器30可使用以下有序步驟導出變量colPu及其位置(xPCol, yPCol):
[0589]1.如下導出變量colPu
[0590]yPRb = yP+nPSH (8-139)
[0591]-如果(yP>> Log2CtbSize)等于(yPRb > > Log2CtbSize),那么當前預測單元的右下亮度位置的水平分量由下式定義
[0592]xPRb = xP+nPSff (8-140)
[0593]且變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPRb >>4) <<4,(yPRb >>4)<<4)所給出的經(jīng)修改位置的預測單元。
[0594]-否則((yP> > Log2CtbSize)不等于(yPRb > > Log2CtbSize)), colPu 標記為“不可用”。
[0595]2.當colPu以幀內(nèi)預測模式而譯碼或colPu標記為“不可用”時,以下內(nèi)容適用。
[0596]-當前預測單元的中央亮度位置由下式定義
[0597]xPCtr = (xP+ (nPSW > > I) (8-141)
[0598]yPCtr = (yP+(nPSH >> I) (8-142)
[0599]-變量colPu 設置為覆蓋 colPic 內(nèi)部的由((xPCtr > > 4) <<4,(yPCtr > >4) << 4)所給出的經(jīng)修改位置的預測單元。
[0600]3.(xPCol, yPCol)設置為等于相對于colPic的左上亮度樣本的colPu的左上亮度樣本。
[0601]函數(shù)LongTermRefPic (picX, refldx, LX)可定義如下:如果來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片在picX為當前圖片時標記為“用于長期參考”,那么 LongTermRefPic (picX, refldx, LX)返回 I ;否則 LongTermRefPic (picX, refldx, LX)返回O。
[0602]視頻編碼器20及視頻解碼器30可實施HEVC的“AddPicIDO ”函數(shù)的經(jīng)修改版本。舉例來說,視頻編碼器20及視頻解碼器30可實施AddPicId(picX, refldx, LX),使得這個函數(shù)返回AddPicId(pic),其中“pic”為來自圖片picX的參考圖片列表LX的具有索引refldx的參考圖片。
[0603]視頻編碼器20及視頻解碼器30可如下導出變量mvLXCol及availableFlagLXCol,其中帶下劃線的文本表示相對于HEVC WD7的改變:
[0604]-如果以下條件中的一或多者成立,那么mvLXCol的兩個分量設置為等于0,且availableFlagLXCol 設置為等于 O。
[0605]-colPu以幀內(nèi)預測模式而譯碼。
[0606]-colPu標記為“不可用”。
[0607]-pic_temporal_mvp_enabIe_flag 等于 O。
[0608]-否則,如下導出運動矢量mvCol、參考索引refIdxCol及參考列表標識符IistCol ο
[0609]-如果PredFlagLO[xPCol] [yPCol]等于 O,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLl [xPCol] [yPCol]、RefIdxLl [xPCol] [yPCol]及 LI。
[0610]-否則(PredFlagLO[xPCol] [yPCol]等于 I),以下內(nèi)容適用。
[0611]-如果PredFlagLl [xPCol] [yPCol]等于 0,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLO [xPCol] [yPCol]、RefIdxLO [xPCol] [yPCol]及 LO。
[0612]-否則(PredFlagLl[xPCol] [yPCol]等于 I),進行以下指派。
[0613]-如果每一參考圖片列表中的每一圖片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么 mvCol、refIdxCol 及 IistCol 分別設置為等于MvLX[xPCol] [yPCol]、RefldxLX [xPCo I] [yPCol]及LX,其中X為調(diào)用這種進程時X的值。
[0614]-否則(至少一個參考圖片列表中的至少一個圖片pic的PicOrderCnt(pic)大于 PicOrderCntVal),mvCol、refIdxCol 及 IistCol 分別設置為等于 MvLN[xPCol] [yPCol]、RefIdxLN[xPCol] [yPCol]及 LN,其中 N 為 collocated_from_10_flag 的值。
[0615]-如果以下備件中的一者成立,那么奪量availableFlagLXCol設置為等于O。
[0616]-AddPicId(RefPicListX「refIdxLXl 不等于 AddPicId(colPic, refIdxCol,listCol):
[0617]-RefPicListX「refIdxLXl 為 fa 其月參考圖片目.LongTermRefPic(colPic,refIdxCol, listCol)等于 I:
[0618]-RefPicListX「refIdxLXl 為長其月參考圖片目.LongTerrmRefPic(colPic,refIdxCol, listCol)等于 O:
[0619]-否則,變量availableFlagLXCol設置為等于1,且以下內(nèi)容適用。
[0620]-如果RefPicListX [refldxLX]為長期參考圖片,或 LongTermRefPic (colPic,refldxCol, listCol)等于 I,或 PicOrderCnt (colPic)-RefPicOrderCnt(colPic,refIdxCoI,listCol)等于 PicOrderCntVal-PicOrderCnt (RefPicListX[refldxLX]),那么
[0621]mvLXCol = mvCol (8-143)
[0622]-否則,mvLXCol是如下文所指定導出為運動矢量mvCol的縮放版本:
[0623]tx = (16384+(Abs (td) >> l))/td (8-144)
[0624]-DistScaleFactor = Clip3 (-4096,4095,(tb*tx+32) >>6) (8-145)
[0625]mvLXCol = Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)* ((Abs (DistScaleFactor*mvCol)+127) >>8))(8—146)
[0626]其中td及tb可導出為:
[0627]td = Clip3 (-128,127,PicOrderCnt (colPic)-RefPicOrderCnt (colPic,refldxCol, listCol)) (8-147)
[0628]tb = Clip3(_128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refldxLX]))
[0629](8-148)
[0630]視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行用于組合式雙向預測性合并候選者的導出進程。這種進程的輸入可包括合并候選者列表mergeCandList、在mergeCandList中的每一候選者N的參考索引refldxLON及refldxLIN、在mergeCandList中的每一候選者N的預測列表利用標志predFlagLON及predFlagLIN、在mergeCandList中的每一候選者N的運動矢量mvLON及mvLIN、在mergeCandList內(nèi)的元素數(shù)目numMergeCand,以及在空間及時間合并候選者導出進程之后的在mergeCandList內(nèi)的元素數(shù)目numOrigMergeCand。這種進程的輸出可包括合并候選者列表mergeCandList、在mergeCandList內(nèi)的元素數(shù)目numMergeCand、在調(diào)用這種進程期間添加在mergeCandList中的每一新候選者combCandk的參考索引ref IdxLOcombCandk及ref IdxLlcombCandk、在調(diào)用這種進程期間添加在mergeCandList中的每一新候選者combCandk的預測列表利用標志predFlagLOcombCandk及predFlagLlcombCandk,以及在調(diào)用這種進程期間添加在mergeCandList中的每一新候選者 combCandk 的運動矢量 mvLOcombCandk 及 mvLlcombCandk。
[0631]這個進程可定義如下,其中帶下劃線的文本表示相對于HEVC WD7的改變,且省略號表示與HEVC WD7的文本相同的文本。當numOrigMergeCand大于I且小于MaxNumMergeCand 時,變量 numlnputMergeCand 可設置為 numMergeCand,變量 combldx 及combCnt可設置為0,變量combStop可設置為FALSE,且可重復以下步驟,直到combStop等于TRUE為止:
[0632]1.如表8-8中所指定而使用combldx導出變量1CandIdx及l(fā)lCandldx。
[0633]2.進行以下指派,其中在合并候選者列表mergeCandList中,1Cand為在位置1CandIdx處的候選者且IlCand為在位置llCandldx處的候選者(1Cand =mergeCandList[lOCandldx],IlCand = mergeCandList[llCandldx])。
[0634]3.當以下條件中的全部成立時,
[0635]-predFlagLOlOCand == I
[0636]-predFlagLlllCand == I
[0637]-AddPicId(RefPicListLO「refIdxLOlOCandl) ! = AddPicId(RefPicListLl「refIdxLlIICandl) I PicOrderCnt(RefPicListO TrefIdxLOlOCandl) ! = PicOrderCnt (RefPicListl[refldxLlIICand])| mvLO1Cand ! = mvLlllCand
[0638]以下內(nèi)容適用。
[0639]-…
[0640]4.…
[0641]5....
[0642]在一些實例中,可禁用參考兩個不同長期參考圖片的兩個運動矢量之間的預測。在其它實例中,可禁用參考兩個不同視圖間參考圖片的兩個運動矢量之間的預測。
[0643]如此,視頻編碼器20及視頻解碼器30表示視頻譯碼器的實例,所述視頻譯碼器經(jīng)配置以執(zhí)行以下操作:譯碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;譯碼用于第一圖片的第二維度圖片標識符;及至少部分地基于第一圖片的POC值及第二維度圖片標識符來譯碼第二圖片?;诘谝粓D片的POC值及第二維度圖片標識符來譯碼第二圖片可包括使用第一圖片的POC值及第二維度圖片標識符兩者來識別第一圖片。
[0644]此外,如上文所展示,譯碼第二圖片可包括基于第一圖片的POC值及第二維度圖片標識符以及候選運動矢量預測值所參考的參考圖片的POC值及第二維度圖片標識符來啟用或禁用針對參考第一圖片的運動矢量的運動矢量預測。舉例來說,如果第一圖片的第二維度圖片標識符指示第一圖片為短期圖片,且參考圖片的第二維度圖片標識符指示參考圖片為長期參考圖片,那么視頻編碼器20及視頻解碼器30可禁用參考所述第一圖片的運動矢量與參考所述參考圖片的運動矢量之間的運動矢量預測。
[0645]此外,也如上文所展示,譯碼第二圖片可包括譯碼參考第一圖片的第二圖片的塊的運動矢量,如上文所提到。這種譯碼可基于第一圖片的POC值,這在于:如果運動矢量預測值參考具有不同POC值的參考圖片,那么視頻編碼器20及視頻解碼器30可經(jīng)配置以基于第一圖片與第二圖片及參考圖片與第二圖片之間的POC值差來縮放運動矢量預測值。
[0646]視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行上文所描述的實例中的任一者或全部的技術(單獨地或以任何組合)??蓪⒁曨l編碼器20及視頻解碼器30各自實施為多種合適的編碼器或解碼器電路中的任一者(在適用時),諸如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯電路、軟件、硬件、固件,或其任何組合。視頻編碼器20及視頻解碼器30中的每一者可包括在一或多個編碼器或解碼器中,其中的任一者可整合為組合式視頻編碼器/解碼器(編解碼器)的部分。包括視頻編碼器20及/或視頻解碼器30的裝置可包含集成電路、微處理器,及/或無線通信裝置(諸如,蜂窩電話或平板計算機)。
[0647]圖2為說明視頻編碼器20的實例的框圖,視頻編碼器20可實施用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。視頻編碼器20可執(zhí)行視頻切片內(nèi)的視頻塊的幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依賴于空間預測以縮減或移除給定視頻幀或圖片內(nèi)的視頻的空間冗余。幀間譯碼依賴于時間預測以縮減或移除視頻序列的鄰近幀或圖片內(nèi)的視頻的時間冗余。幀內(nèi)模式(I模式)可指若干基于空間的譯碼模式中的任一者。幀間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指若干基于時間的譯碼模式中的任一者。
[0648]如圖2中所展示,視頻編碼器20接收待編碼的視頻幀內(nèi)的當前視頻塊。在圖2的實例中,視頻編碼器20包括模式選擇單元40、參考圖片存儲器64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40又包括運動補償單元44、運動估計單元42、幀內(nèi)預測單元46及分割單元48。為了實現(xiàn)視頻塊重建,視頻編碼器20也包括反量化單元58、反變換單元60及求和器62。也可包括去塊濾波器(圖2中未圖示)以對塊邊界進行濾波,從而從經(jīng)重建視頻移除塊假象。在需要時,去塊濾波器將通常對求和器62的輸出進行濾波。除去塊濾波器以外,也可使用額外濾波器(環(huán)路內(nèi)或環(huán)路后)。為簡潔起見而未展示這些濾波器,但在需要時這些濾波器可對求和器50的輸出進行濾波(作為環(huán)路內(nèi)濾波器)。
[0649]在編碼進程期間,視頻編碼器20接收待譯碼的視頻幀或切片??蓪蚯衅瑒澐譃槎鄠€視頻塊。運動估計單元42及運動補償單元44相對于一或多個參考幀中的一或多個塊執(zhí)行所接收視頻塊的幀間預測性譯碼,以提供時間預測。運動補償單元44可根據(jù)本發(fā)明的技術來譯碼運動矢量,例如,在高級運動矢量預測(AMVP)、時間運動矢量預測(TMVP)或合并模式譯碼期間。幀內(nèi)預測單元46可替代地相對于與待譯碼的所接收視頻塊相同的幀或切片中的一或多個相鄰塊而執(zhí)行所述塊的幀內(nèi)預測性譯碼,以提供空間預測。視頻編碼器20可執(zhí)行多個譯碼遍次,(例如)以針對視頻數(shù)據(jù)的每一塊選擇適當譯碼模式。
[0650]此外,分割單元48可基于先前譯碼遍次中的先前分割方案的評估而將視頻數(shù)據(jù)的塊分割為多個子塊。舉例來說,分割單元48可最初將幀或切片分割為多個LCU,且基于速率-失真分析(例如,速率-失真優(yōu)化)將所述LCU中的每一者分割為多個子CU。模式選擇單元40可進一步產(chǎn)生指示IXU至子⑶的分割的四叉樹數(shù)據(jù)結構。四叉樹的葉節(jié)點⑶可包括一或多個I3U及一或多個TU。
[0651]模式選擇單元40可(例如)基于誤差結果而選擇譯碼模式(幀內(nèi)或幀間)中的一者,且將所得經(jīng)幀內(nèi)或幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù),且提供到求和器62以重建經(jīng)編碼塊以用作參考幀。模式選擇單元40也將語法元素(諸如,運動矢量、幀內(nèi)模式指示符、分割信息及其它此類語法信息)提供到熵編碼單元56。
[0652]運動估計單元42及運動補償單元44可高度整合,但為概念性目的而單獨說明。由運動估計單元42所執(zhí)行的運動估計為產(chǎn)生運動矢量的進程,所述運動矢量估計視頻塊的運動。舉例來說,運動矢量可指示在當前視頻幀或圖片內(nèi)的視頻塊的I3U相對于在參考幀(或其它經(jīng)譯碼單元)內(nèi)的預測性塊(其關于在當前幀(或其它經(jīng)譯碼單元)內(nèi)正譯碼的當前塊)的位移。預測性塊為被發(fā)現(xiàn)就像素差而言緊密地匹配待譯碼的塊的塊,所述像素差可通過絕對差總和(SAD)、平方差總和(SSD)或其它差指標而確定。在一些實例中,視頻編碼器20可計算存儲在參考圖片存儲器64中的參考圖片的子整數(shù)像素位置的值。舉例來說,視頻編碼器20可內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它小數(shù)像素位置的值。因此,運動估計單元42可執(zhí)行相對于全像素位置及小數(shù)像素位置的運動搜索,且以小數(shù)像素精度輸出運動矢量。
[0653]運動估計單元42通過比較經(jīng)幀間譯碼切片中的視頻塊的PU的位置與參考圖片的預測性塊的位置而計算所述PU的運動矢量。參考圖片可從第一參考圖片列表(列表O)或第二參考圖片列表(列表I)選擇,所述列表中的每一者識別存儲在參考圖片存儲器64中的一或多個參考圖片。運動估計單元42將計算出的運動矢量發(fā)送到熵編碼單元56及運動補償單元44。
[0654]由運動補償單元44所執(zhí)行的運動補償可涉及基于由運動估計單元42所確定的運動矢量而提取或產(chǎn)生預測性塊。此外,在一些實例中,運動估計單元42及運動補償單元44可在功能上整合。在接收到當前視頻塊的PU的運動矢量后,運動補償單元44即可將運動矢量所指向的預測性塊定位在參考圖片列表中的一者中。求和器50通過從正譯碼的當前視頻塊的像素值減去預測性塊的像素值來形成殘余視頻塊,從而形成像素差值,如下文所論述。一般而言,運動估計單元42相對于亮度分量而執(zhí)行運動估計,且運動補償單元44將基于所述亮度分量所計算的運動矢量用于色度分量及亮度分量兩者。模式選擇單元40也可產(chǎn)生與視頻塊及視頻切片相關聯(lián)的語法元素,以供視頻解碼器30用于解碼視頻切片的視頻塊。
[0655]作為由運動估計單元42及運動補償單元44所執(zhí)行的幀間預測(如上文所描述)的替代例,幀內(nèi)預測單元46可幀內(nèi)預測當前塊。詳言之,幀內(nèi)預測單元46可確定待用以編碼當前塊的幀內(nèi)預測模式。在一些實例中,幀內(nèi)預測單元46可(例如)在單獨編碼遍次期間使用各種幀內(nèi)預測模式來編碼當前塊,且?guī)瑑?nèi)預測單元46(或在一些實例中,模式選擇單元40)可從所測試的模式選擇待使用的適當幀內(nèi)預測模式。
[0656]舉例來說,幀內(nèi)預測單元46可使用針對各種經(jīng)測試的幀內(nèi)預測模式的速率-失真分析而計算速率-失真值,且在經(jīng)測試模式當中選擇具有最佳速率-失真特性的幀內(nèi)預測模式。速率-失真分析一般確定經(jīng)編碼塊與原始未經(jīng)編碼塊之間的失真(或誤差)的量以及用以產(chǎn)生經(jīng)編碼塊的位速率(即,位的數(shù)目),所述原始未經(jīng)編碼塊經(jīng)編碼以產(chǎn)生所述經(jīng)編碼塊。幀內(nèi)預測單元46可從各種經(jīng)編碼塊的失真及速率計算比率,以確定哪一幀內(nèi)預測模式展現(xiàn)塊的最佳速率-失真值。
[0657]在為塊選擇幀內(nèi)預測模式之后,幀內(nèi)預測單元46可將指示塊的選定幀內(nèi)預測模式的信息提供到熵編碼單元56。熵編碼單元56可編碼指示選定幀內(nèi)預測模式的信息。視頻編碼器20可在所傳輸?shù)奈涣髋渲脭?shù)據(jù)中包括各種塊的編碼上下文的定義及待用于所述上下文中的每一者的最有可能的幀內(nèi)預測模式、幀內(nèi)預測模式索弓I表及經(jīng)修改的幀內(nèi)預測模式索引表的指示,所述位流配置數(shù)據(jù)可包括多個幀內(nèi)預測模式索引表及多個經(jīng)修改的幀內(nèi)預測模式索引表(也稱為碼字映射表)。
[0658]視頻編碼器20通過從正譯碼的原始視頻塊減去來自模式選擇單元40的預測數(shù)據(jù)而形成殘余視頻塊。求和器50表示執(zhí)行這種減去運算的(多個)組件。變換處理單元52將變換(諸如,離散余弦變換(DCT)或概念上類似的變換)應用于殘余塊,從而產(chǎn)生包含殘余變換系數(shù)值的視頻塊。變換處理單元52可執(zhí)行概念上類似于DCT的其它變換。也可使用小波變換、整數(shù)變換、子帶變換或其它類型的變換。在任何狀況下,變換處理單元52將變換應用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。變換可將殘余信息從像素值域轉(zhuǎn)換到變換域(諸如,頻域)。變換處理單元52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54量化變換系數(shù)以進一步縮減位速率。量化進程可縮減與系數(shù)中的一些或全部相關聯(lián)的位深度。可通過調(diào)整量化參數(shù)來修改量化程度。在一些實例中,量化單元54可接著執(zhí)行包括經(jīng)量化變換系數(shù)的矩陣的掃描。替代地,熵編碼單元56可執(zhí)行所述掃描。
[0659]在量化之后,熵編碼單元56熵譯碼經(jīng)量化變換系數(shù)。舉例來說,熵編碼單元56可執(zhí)行上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、基于語法的上下文自適應二進制算術譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵譯碼技術。在基于上下文的熵譯碼的狀況下,上下文可基于相鄰塊。在由熵編碼單元56熵譯碼之后,可將經(jīng)編碼位流傳輸?shù)搅硪谎b置(例如,視頻解碼器30)或加以存檔以供稍后傳輸或檢索。
[0660]反量化單元58及反變換單元60分別應用反量化及反變換,以在像素域中重建殘余塊(例如)以供稍后用作參考塊。運動補償單元44可通過將殘余塊加到參考圖片存儲器64的幀中的一者的預測性塊而計算參考塊。運動補償單元44也可將一或多個內(nèi)插濾波器應用于經(jīng)重建殘余塊,以計算用于運動估計中的子整數(shù)像素值。求和器62將經(jīng)重建殘余塊加到由運動補償單元44所產(chǎn)生的運動補償預測塊,以產(chǎn)生經(jīng)重建視頻塊以供存儲在參考圖片存儲器64中。經(jīng)重建視頻塊可由運動估計單元42及運動補償單元44用作參考塊,以幀間譯碼后續(xù)視頻幀中的塊。
[0661]視頻編碼器20可經(jīng)配置以執(zhí)行關于圖1所論述的各種實例技術中的任一者或全部(單獨地或以任何組合)。舉例來說,根據(jù)本發(fā)明的技術,視頻編碼器20可基于參考圖片的圖片順序計數(shù)(POC)值及參考圖片的第二維度標識符來編碼圖片。即,視頻編碼器20可編碼第一圖片(在這個實例中,參考圖片)的POC值,以及用于第一圖片的第二維度圖片標識符。第二維度圖片標識符可包含(例如)用于包括第一圖片的視圖的視圖標識符、用于包括第一圖片的視圖的視圖順序索引、視圖順序索引與深度標志的組合、用于包括第一圖片的可縮放視頻譯碼(SVC)層的層標識符,及一般層標識符。
[0662]另外或替代地,第二維度標識符可包含指示第一圖片為長期參考圖片還是短期參考圖片的值。替代地,除POC值及第二維度圖片標識符以外,單獨值也可指示第一圖片為長期參考圖片還是短期參考圖片。在一些實例中,針對參考圖片的長期及短期指示可指示參考圖片為時間參考圖片還是視圖間參考圖片。舉例來說,長期參考圖片可對應于時間參考圖片(即,同一層或視圖中的參考圖片),而短期參考圖片可對應于視圖間參考圖片。作為另一實例,長期參考圖片可對應于視圖間參考圖片,而短期參考圖片可對應于時間參考圖片。
[0663]同樣地,視頻編碼器20可禁用不同類型的運動矢量之間的運動矢量預測。運動矢量的“類型”可包括(例如):時間運動矢量,其參考時間參考圖片(即,與正編碼的當前圖片相同的視圖中的圖片);及視差運動矢量,其參考視圖間參考圖片(即,與包括當前圖片的視圖不同的視圖中的圖片)。通常,視圖間參考圖片具有與當前圖片相同的POC值。SP,通常,視圖間參考圖片及當前圖片出現(xiàn)在同一訪間單元中。視頻編碼器20可禁用不同類型的運動矢量之間的運動矢量預測。即,如果當前圖片的當前運動矢量為時間運動矢量,那么視頻編碼器20可禁用相對于視差運動矢量的運動矢量預測。同樣地,如果當前運動矢量為視差運動矢量,那么視頻編碼器20可禁用相對于時間運動矢量的運動矢量預測。視頻編碼器20可使用運動矢量譯碼進程(諸如,高級運動矢量預測(AMVP)或合并模式)而以其它方式編碼當前運動矢量。
[0664]在一些實例中,視頻編碼器20可經(jīng)配置以至少部分地基于第一圖片(例如,在多視圖視頻譯碼中,視圖分量)是否用于視圖間預測來譯碼指示所述第一圖片是否為長期參考圖片的值。舉例來說,視頻編碼器20可在對應于包括第一圖片的序列的序列參數(shù)集(SPS)中編碼指示第一圖片為長期參考圖片還是短期參考圖片的語法元素。
[0665]另外或在替代例中,視頻編碼器20可經(jīng)配置以至少臨時地將視圖間參考圖片標記為長期參考圖片。視頻編碼器20可進一步存儲視圖間參考圖片的當前狀態(tài),其中所述狀態(tài)可包含長期參考圖片、短期參考圖片及不用于參考中的一者。因此,如果第一圖片包含視圖間圖片,那么視頻編碼器20可將第一圖片標記為長期參考圖片。在相對于第一圖片來譯碼第二圖片之后,視頻編碼器20可基于經(jīng)存儲狀態(tài)來還原用于視圖間參考圖片的狀態(tài)。
[0666]另外或替代地,視頻編碼器20可在編碼第二圖片的同時臨時地將新POC值指派給視圖間參考圖片。舉例來說,視頻編碼器20可確定用于當前時間參考圖片的POC值的集合,且將不用的POC值指派給視圖間參考圖片。視頻編碼器20也可存儲用于每一視圖間參考圖片的相應當前POC值。在編碼第二圖片之后,視頻編碼器20可還原用于視圖間參考圖片的經(jīng)存儲(即,原始)P0C值。在一些實例中,因為視圖間參考圖片通常在與第二圖片(即,當前正編碼的圖片)相同的訪問單元中,所以視頻編碼器20可代替地僅將用于視圖間參考圖片的POC值設置為等于第二圖片(即,正編碼的當前圖片)的POC值,使得存儲所述POC值是不必要的。
[0667]如此,圖2的視頻編碼器20表示視頻編碼器的實例,所述視頻編碼器經(jīng)配置以執(zhí)行以下操作:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;編碼用于第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于第一圖片的POC值及第二維度圖片標識符來編碼第二圖片?;A視頻譯碼規(guī)范可包含HEVC。另外,視頻編碼器20可經(jīng)配置以根據(jù)基礎視頻譯碼規(guī)范的擴展(例如,HEVC的SVC或MVC擴展)來編碼圖片。因此,視頻編碼器20也表示視頻編碼器的實例,所述視頻編碼器經(jīng)配置以執(zhí)行以下操作:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;編碼用于第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范的擴展而至少部分地基于第一圖片的POC值及第二維度圖片標識符來編碼第二圖片。
[0668]圖3為說明視頻解碼器30的實例的框圖,視頻解碼器30可實施用于根據(jù)視頻譯碼標準的僅高級別語法擴展來譯碼視頻數(shù)據(jù)的技術。在圖3的實例中,視頻解碼器30包括熵解碼單元70、運動補償單元72、巾貞內(nèi)預測單元74、反量化單元76、反變換單元78、參考圖片存儲器82及求和器80。在一些實例中,視頻解碼器30可執(zhí)行與關于視頻編碼器20 (圖2)所描述的編碼遍次大體上互逆的解碼遍次。運動補償單元72可基于從熵解碼單元70所接收的運動矢量產(chǎn)生預測數(shù)據(jù),而幀內(nèi)預測單元74可基于從熵解碼單元70所接收的幀內(nèi)預測模式指示符產(chǎn)生預測數(shù)據(jù)。
[0669]在解碼進程期間,視頻解碼器30從視頻編碼器20接收表示經(jīng)編碼視頻切片的視頻塊及相關聯(lián)的語法元素的經(jīng)編碼視頻位流。視頻解碼器30的熵解碼單元70熵解碼位流,以產(chǎn)生經(jīng)量化系數(shù)、運動矢量或幀內(nèi)預測模式指示符,及其它語法元素。熵解碼單元70將運動矢量及其它語法元素轉(zhuǎn)發(fā)到運動補償單元72。視頻解碼器30可在視頻切片級別及/或視頻塊級別處接收語法元素。
[0670]當視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(I)切片時,幀內(nèi)預測單元74可基于發(fā)信的幀內(nèi)預測模式及來自當前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)而產(chǎn)生當前視頻切片的視頻塊的預測數(shù)據(jù)。當視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(即,B、P或GPB)切片時,運動補償單元72基于從熵解碼單元70所接收的運動矢量及其它語法元素而產(chǎn)生當前視頻切片的視頻塊的預測性塊。預測性塊可從參考圖片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生。視頻解碼器30可基于存儲在參考圖片存儲器82中的參考圖片使用默認構造技術來構造參考幀列表(列表O及列表I)。
[0671]根據(jù)本發(fā)明的技術,熵解碼單元70可解碼表示用于當前圖片的當前塊的運動信息的經(jīng)熵編碼數(shù)據(jù)。舉例來說,根據(jù)AMVP,熵解碼單元70可解碼用于當前塊的運動矢量差(MVD)值。運動補償單元72 (或視頻解碼器30的另一單元,諸如熵解碼單元70)可使用經(jīng)熵解碼運動信息(諸如,MVD值)來重建用于當前塊的運動矢量。舉例來說,運動補償單元72可確定用于當前運動矢量的可用運動矢量預測值的集合,例如,基于當前運動矢量參考長期參考圖片還是短期參考圖片(或時間參考圖片還是視圖間參考圖片),及候選參考圖片的集合也參考長期參考圖片還是短期參考圖片(或時間參考圖片還是視圖間參考圖片)。
[0672]如上文所論述,運動補償單元72可確定不同類型的候選運動矢量預測值不可用以預測當前運動矢量。舉例來說,在當前運動矢量為時間運動矢量時,運動補償單元72可確定視差運動矢量不可用作當前運動矢量的運動矢量預測值。同樣地,在當前運動矢量為視差運動矢量時,運動補償單元72可確定時間運動矢量不可用作當前運動矢量的運動矢量預測值。在一些實例中,運動補償單元72也或在替代例中可禁用長期參考圖片與短期參考圖片之間的運動矢量預測。
[0673]在當前運動矢量為視差運動矢量的狀況下,運動補償單元72也可避免縮放運動矢量預測值(其也可同樣地對應于視差運動矢量)。另外或在替代例中,運動補償單元72可在視差運動矢量的運動矢量預測期間將臨時POC值指派給視差運動矢量預測值所參考的視圖間參考圖片。
[0674]在任何狀況下,運動補償單元72或視頻解碼器30的另一元件可(例如)使用AMVP或合并模式來重現(xiàn)用于當前塊的運動矢量。運動補償單元72通過分析運動矢量及其它語法元素而確定當前視頻切片的視頻塊的預測信息,且使用所述預測信息來產(chǎn)生正解碼的當前視頻塊的預測性塊。舉例來說,運動補償單元72使用所接收語法元素中的一些來確定用以譯碼視頻切片的視頻塊的預測模式(例如,幀內(nèi)預測或幀間預測)、幀間預測切片類型(例如,B切片、P切片或GPB切片)、切片的參考圖片列表中的一或多者的構造信息、切片的每一經(jīng)幀間編碼視頻塊的運動矢量、切片的每一經(jīng)幀間譯碼視頻塊的幀間預測狀態(tài),及用以解碼當前視頻切片中的視頻塊的其它信息。運動補償單元72可根據(jù)本發(fā)明的技術來譯碼運動矢量,例如,在高級運動矢量預測(AMVP)、時間運動矢量預測(TMVP)或合并模式譯碼期間。
[0675]運動補償單元72也可基于內(nèi)插濾波器執(zhí)行內(nèi)插。運動補償單元72可在視頻塊的編碼期間使用如由視頻編碼器20所使用的內(nèi)插濾波器,以計算參考塊的子整數(shù)像素的內(nèi)插值。在這種狀況下,運動補償單元72可從所接收語法元素確定由視頻編碼器20所使用的內(nèi)插濾波器,且使用所述內(nèi)插濾波器來產(chǎn)生預測性塊。
[0676]反量化單元76反量化(即,去量化)在位流中提供且由熵解碼單元70解碼的經(jīng)量化變換系數(shù)。反量化進程可包括針對視頻切片中的每一視頻塊使用由視頻解碼器30計算的量化參數(shù)QPY,以確定量化程度且同樣地確定應該應用的反量化的程度。反變換單元78將反變換(例如,反DCT、反整數(shù)變換或概念上類似的反變換進程)應用于變換系數(shù),以便在像素域中產(chǎn)生殘余塊。
[0677]在運動補償單元72基于運動矢量及其它語法元素產(chǎn)生當前視頻塊的預測性塊之后,視頻解碼器30通過對以下兩者求和而形成經(jīng)解碼視頻塊:來自反變換單元78的殘余塊,及由運動補償單元72所產(chǎn)生的對應預測性塊。求和器80表示執(zhí)行這種求和運算的(多個)組件。在需要時,也可應用去塊濾波器而對經(jīng)解碼塊進行濾波,以便移除塊假象。其它環(huán)路濾波器(譯碼環(huán)路中或譯碼環(huán)路之后)也可用以使像素轉(zhuǎn)變平滑,或以其它方式改善視頻質(zhì)量。接著將給定幀或圖片中的經(jīng)解碼視頻塊存儲在參考圖片存儲器82中,參考圖片存儲器82存儲用于后續(xù)運動補償?shù)膮⒖紙D片。參考圖片存儲器82也存儲經(jīng)解碼視頻以供稍后在顯示裝置(諸如,圖1的顯示裝置32)上呈現(xiàn)。
[0678]如此,圖3的視頻解碼器30表示視頻解碼器的實例,所述視頻解碼器經(jīng)配置以執(zhí)行以下操作:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;解碼用于第一圖片的第二維度圖片標識符;及至少部分地基于第一圖片的POC值及第二維度圖片標識符來解碼第二圖片?;A視頻譯碼規(guī)范可包含HEVC。另外,視頻解碼器30可經(jīng)配置以根據(jù)基礎視頻譯碼規(guī)范的擴展(例如,HEVC的SVC或MVC擴展)來編碼圖片。因此,視頻解碼器30也表示視頻解碼器的實例,所述視頻解碼器經(jīng)配置以執(zhí)行以下操作:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;解碼用于第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范的擴展而至少部分地基于第一圖片的POC值及第二維度圖片標識符來解碼第二圖片。
[0679]圖4為說明實例MVC預測樣式的概念圖。多視圖視頻譯碼(MVC)為ITU-TH.264/AVC的擴展。類似技術可應用于HEVC。在圖4的實例中,說明了八個視圖(具有視圖1D“S0”到“S7”),且針對每一視圖說明十二個時間位置(“T0”到“T11”)。即,圖4中的每一行對應于視圖,而每一列指示時間位置。
[0680]盡管MVC具有可由H.264/AVC解碼器解碼的所謂的基礎視圖,且立體視圖對可也由MVC支持,但MVC的一個優(yōu)點在于:其可支持使用兩個以上視圖作為3D視頻輸入且解碼由多個視圖所表示的這個3D視頻的實例。具有MVC解碼器的客戶端的呈現(xiàn)器可預期具有多個視圖的3D視頻內(nèi)容。
[0681]典型的MVC解碼順序排列被稱為時間優(yōu)先譯碼。訪問單元可包括針對一個輸出時間例項的所有視圖的經(jīng)譯碼圖片。舉例來說,時間TO的圖片中的每一者可包括在通用訪問單元中,時間Tl的圖片中的每一者可包括在第二通用訪問單元中,等等。解碼順序未必等同于輸出或顯示順序。
[0682]使用包括字母的有陰影塊在圖4中的每一行與每一列的相交處指示圖4中的幀(即,圖片),從而指定對應幀被幀內(nèi)譯碼(即,I幀),還是在一個方向上被幀間譯碼(即,作為P幀)或在多個方向上被幀間譯碼(即,作為B幀)。一般而言,由箭頭來指示預測,其中箭頭指向的幀使用箭頭出發(fā)的對象以用于預測參考。舉例來說,從視圖SO的在時間位置TO處的I幀預測視圖S2的在時間位置TO處的P幀。
[0683]如同單視圖視頻編碼,多視圖視頻譯碼視頻序列的幀可關于在不同時間位置處的幀而預測性編碼。舉例來說,視圖SO的在時間位置Tl處的b幀具有從視圖SO的在時間位置TO處的I幀指向到所述b幀的箭頭,從而指示從I幀預測b幀。然而,另外,在多視圖視頻編碼的上下文中,幀可被視圖間預測。即,視圖分量可使用其它視圖中的視圖分量以用于參考。舉例來說,在MVC中,視圖間預測實現(xiàn)為如同另一視圖中的視圖分量為幀間預測參考??赡艿囊晥D間參考是在序列參數(shù)集(SPS)MVC擴展中發(fā)信且可通過參考圖片列表構造進程而修改,這種情形實現(xiàn)幀間預測或視圖間預測參考的靈活排序。
[0684]在H.264/AVC的MVC擴展中,作為實例,通過視差運動補償(其使用H.264/AVC運動補償?shù)恼Z法)來支持視圖間預測,但允許不同視圖中的圖片用作參考圖片。兩個視圖的譯碼可由MVC支持,其一般被稱為立體視圖。MVC的優(yōu)點中的一者在于:MVC編碼器可采取兩個以上視圖作為3D視頻輸入,且MVC解碼器可解碼此類多視圖表示。因此,具有MVC解碼器的呈現(xiàn)裝置可預期具有兩個以上視圖的3D視頻內(nèi)容。
[0685]在MVC中,允許同一訪問單元(S卩,具有同一時間例項)中的圖片當中的視圖間預測(IVP)。一般而言,訪問單元為包括針對通用時間例項的所有視圖分量(例如,所有NAL單元)的數(shù)據(jù)單元。因此,在MVC中,準許在同一訪問單元中的圖片當中的視圖間預測。當譯碼非基礎視圖中的一者中的圖片時,如果所述圖片在不同視圖中但在同一時間例項內(nèi)(例如,具有相同的POC值,且由此,在同一訪問單元中),那么可將所述圖片添加到參考圖片列表中??蓪⒁晥D間預測參考圖片放在參考圖片列表的任何位置中,正如任何幀間預測參考圖片一樣。
[0686]通常,針對B圖片的第一參考圖片列表或第二參考圖片列表的參考圖片列表構造包括兩個步驟:參考圖片列表初始化及參考圖片列表重排(修改)。參考圖片列表初始化為顯式機制,根據(jù)這種顯式機制,視頻譯碼器基于P0C(圖片順序計數(shù),其與圖片的顯示順序?qū)R)值的順序?qū)⒖紙D片存儲器(也稱為經(jīng)解碼圖片緩沖器)中的參考圖片放到列表中。
[0687]視頻譯碼器可使用參考圖片列表重排機制以將在參考圖片列表初始化期間放在列表中的圖片的位置修改為任何新位置,或?qū)⒖紙D片存儲器中的任何參考圖片放在任何位置,甚至在所述圖片不屬于初始化列表的情況下也如此。一些圖片在參考圖片列表重排(修改)之后可放在列表中的另一位置。然而,如果圖片的位置超出列表的活動參考圖片的數(shù)目,那么圖片不被視為最終參考圖片列表的條目??舍槍γ恳涣斜碓谇衅瑯祟^中發(fā)信活動參考圖片的數(shù)目。在參考圖片列表被構造(例如,RefPicListO及RefPicListl,如果可用)之后,通向參考圖片列表的參考索引可用以識別包括在所述參考圖片列表中的任何參考圖片。
[0688]為了取得時間運動矢量預測值(TMVP),首先將識別同置圖片。如果當前圖片為B切片,那么在切片標頭中發(fā)信collocated_from_10_flag,以指示同置圖片是來自RefPicListO還是RefPicListl。在參考圖片列表被識別之后,使用在切片標頭中發(fā)信的C0ll0Cated_ref_idX以在所述列表中的圖片中識別所述圖片。接著通過檢查同置圖片來識別同置PU。使用含有這個I3U的⑶的右下PU的運動,或含有這個I3U的⑶的中心PU內(nèi)的右下PU的運動。當通過以上進程所識別的運動矢量用以針對AMVP或合并模式產(chǎn)生運動候選者時,其需要基于時間位置(由POC反映)而縮放。
[0689]在HEVC 中,序列參數(shù)集(SPS)包括標志 sps_temporal_mvp_enable_flag,且當sps_temporal_mvp_enabIe_f lag 等于 I 時,切片標頭包括標志 pic_temporal_mvp_enabIe_flag。當 pic_temporal_mvp_enable_flag 及 temporal_id 兩者針對特定圖片等于 O 時,來自在解碼順序上處于那個特定圖片之前的圖片的運動矢量在解碼特定圖片或在解碼順序上處于所述特定圖片之后的圖片時將不會用作時間運動矢量預測值。
[0690]當前,動畫專家組(MPEG)正基于HEVC來開發(fā)3DV標準,對于所述3DV標準,標準化努力的部分也包括基于HEVC的多視圖視頻編解碼器的標準化。類似地,在基于HEVC的3DV中,編碼基于來自不同視圖的經(jīng)重建視圖分量的視圖間預測。
[0691]AVC是通過多視圖擴展以所述擴展實際上滿足“僅HLS” (僅高級別語法)要求的方式而擴展?!皟HHLS”要求保證在多視圖視頻譯碼(MVC)中僅存在高級別語法(HLS)改變,使得AVC中的宏塊級別中的模塊無需被重新設計且可完全再用于MVC。如果多循環(huán)解碼被視為可接受的,那么也許有可能針對HEVC的MVC/3DV擴展且也針對HEVC的可縮放視頻譯碼(SVC)擴展而滿足“僅HLS”要求。
[0692]為了啟用視圖間預測,可出于以下目的而進行HLS改變:圖片標識,其中參考圖片列表構造及標記需要能夠識別特定視圖中的圖片。
[0693]HLS改變并不足以在H.264/MVC中滿足“僅HLS”要求,這是因為作出其它約束、假設,使得低級別譯碼模塊將決不遇到(例如)處置零運動相關縮放的情形。這些約束、修改及假設為:
[0694]?如果同置圖片為(僅)視圖間參考圖片,那么禁用時間直接模式
[0695]?將(僅)視圖間參考圖片不視為短期:與空間直接有關
[0696]?禁用隱式加權預測
[0697]為了滿足“僅HLS”要求,擴展的這些修改必須僅在高級別語法中。因此,應不存在針對在切片標頭下方的語法元素的修改,且不存在針對擴展規(guī)范的CU級別解碼進程改變;舉例來說,HEVC擴展規(guī)范的運動矢量預測應與HEVC基礎規(guī)范中的運動矢量預測完全相同。HLS改變?yōu)閿U展規(guī)范的標準解碼器改變;然而,根據(jù)基礎規(guī)范的觀點,這些改變未必需要為已知的且可為信息性的。
[0698]為了啟用諸如有效視圖間預測的功能性,可實施HEVC擴展規(guī)范的修改及HEVC基礎規(guī)范的修改兩者。不影響基礎HEVC解碼器的典型解碼進程或譯碼效率但影響擴展規(guī)范中的目標啟用功能性的基礎規(guī)范改變被稱為分支。在大多數(shù)狀況下,使用基礎規(guī)范中的分支及擴展規(guī)范的HLS改變兩者而滿足“僅HLS”要求。如果基礎規(guī)范中的分支未被良好地定義,那么可能不在擴展規(guī)范中啟用某一所要功能性,或所述功能性可需要擴展規(guī)范的大量修改。
[0699]在僅HLS SVC中,可能地在升采樣及/或濾波之后,可將基礎層表示放到當前層的當前圖片的參考圖片列表中。這個圖片被稱為層間參考圖片。
[0700]可進行僅HLS HEVC修改的基礎規(guī)范及擴展規(guī)范兩者的各種修改。在給出某一所要功能性的情況下,在可修改基礎規(guī)范及擴展規(guī)范兩者的設計的階段,其為基礎規(guī)范修改與擴展規(guī)范修改之間的權衡的問題。
[0701]圖5到9為說明應被克服以實現(xiàn)僅HLS HEVC擴展的可能問題的概念圖。舉例來說,圖5說明其中當前圖片100包括使用各種預測技術而預測的塊(諸如,塊102及104)的實例。特別地,當如圖片100對應于非基礎視圖的圖片,而視圖間參考圖片110為基礎視圖的圖片。當前圖片100的塊102是相對于視圖間參考圖片110被視圖間預測(使用視差運動矢量106),而塊104是相對于同一非基礎視圖的短期(ST)參考圖片112使用幀間預測被預測(使用時間運動矢量108)。因此,圖5說明其中當前圖片包括具有時間運動矢量(時間運動矢量108)及視圖間運動矢量(也稱為視差運動矢量,即,視差運動矢量106)兩者的相鄰塊的實例。
[0702]本發(fā)明認識到,在一些實例中,應不縮放視差運動矢量以預測時間運動矢量。另夕卜,本發(fā)明也認識到,在一些實例中,應不縮放時間運動矢量以預測視差運動矢量。本發(fā)明也認識到,應有可能禁用從時間短期運動矢量預測視差運動矢量(例如,在AMVP期間)且禁用從視差運動矢量預測時間運動矢量。視差運動矢量通常對應于不同視圖中的同一對象的局部視差。然而,時間運動矢量通常對應于對象的運動。在為3DV參考軟件的HTM中,禁用以上兩種類別的運動矢量之間的預測。
[0703]圖6說明其中當前圖片包括使用不同視圖的視圖間參考圖片而預測的塊的實例。特別地,在這個實例中,視圖間參考圖片120在視圖O中,且視圖間參考圖片122在視圖1中。當前圖片124在視圖2中。當前圖片124包括使用視圖間預測而從視圖O的視圖間參考圖片120及視圖1的視圖間參考圖片122兩者預測的塊126、128。特別地,在這個實例中,塊126是從視圖間參考圖片122預測,而塊128是從視圖間參考圖片120預測。
[0704]塊126及128是使用不同視差運動矢量而預測。即,塊126是使用參考視圖間參考圖片122的部分的視差運動矢量130而預測,而塊128是使用參考視圖間參考圖片120的部分的視差運動矢量132而預測。因此,圖6表示其中當前圖片包括具有參考不同視圖的視圖間參考圖片的視圖間運動矢量的相鄰塊的實例。
[0705]本發(fā)明認識到,應有可能識別兩個視差運動矢量是否對應于同一參考圖片。當RefPicListO中的條目及RefPicListl中的條目皆為視圖間參考圖片時,在AMVP期間應有可能識別這兩個參考圖片是否相同。當RefPicListX(其中“X”可表示為(例如)0或I的值)含有為視圖間參考圖片的兩個條目時,在AMVP期間應有可能識別這兩個參考圖片是否相同。此外,具有相同POC值的兩個條目可能不等同,例如,當所述兩個條目對應于不同視圖時,如圖6中所展示。
[0706]圖7說明其中非基礎視圖中的當前圖片包括既使用相對于基礎視圖中的視圖間參考圖片的視圖間預測也使用相對于非基礎視圖中的長期(LT)參考圖片的幀間預測而預測的塊的實例。即,圖7說明其中當前圖片140包括具有時間運動矢量152 (參考長期參考圖片144)及視圖間運動矢量150 (參考視圖間參考圖片142)兩者的相鄰塊146、148的實例。視圖間運動矢量150也可被稱為“視差運動矢量150”。本發(fā)明認識到,應有可能禁用從時間長期運動矢量(諸如,時間運動矢量152)預測視差運動矢量(諸如,視差運動矢量150)且禁用從視差運動矢量預測時間長期運動矢量。
[0707]圖8說明其中非基礎視圖中的當前圖片包括使用幀間預測而既從非基礎視圖的長期(LT)參考圖片也從非基礎視圖的短期(ST)參考圖片預測的塊的實例。即,圖8說明其中當前圖片160包括具有時間長期運動矢量及時間短期運動矢量兩者的相鄰塊166、168的實例。特定地,塊166是使用參考長期參考圖片162的時間運動矢量170而預測,而塊168是使用參考短期參考圖片164的時間運動矢量172而預測。因此,時間運動矢量170可被稱為長期運動矢量或長期時間運動矢量,而時間運動矢量172可被稱為短期運動矢量或短期時間運動矢量。本發(fā)明認識到,應有可能禁用時間短期運動矢量與時間長期運動矢量之間的預測,例如,在AMVP期間。
[0708]圖9說明其中非基礎視圖中的當前圖片包括使用幀間預測而預測的塊的實例,其中所述塊是相對于非基礎視圖的不同長期(LT)參考圖片而預測。即,圖9說明其中當前圖片180包括分別具有參考長期圖片184、182的時間運動矢量190、192的相鄰塊186、188的實例。特定地,在這個實例中,塊186是使用參考長期參考圖片184的部分的時間運動矢量190而預測,而塊188是使用參考長期參考圖片182的部分的時間運動矢量192而預測。本發(fā)明認識到,應有可能在AMVP期間啟用及/或禁用預測時間長期運動矢量。
[0709]圖10為說明當前塊的相鄰塊的實例集合的概念圖。詳言之,在這個實例中,當前塊具有被加標簽為AO及Al的左相鄰塊,以及上相鄰塊B0、B1及B2。可使用幀間預測(例如,時間預測或視圖間預測)來譯碼當前塊。因此,諸如視頻編碼器20或視頻解碼器30的視頻譯碼器可使用運動矢量來譯碼當前塊。此外,視頻譯碼器可譯碼運動矢量。在各種實例中,視頻譯碼器可使用上文所描述的技術來譯碼用于當前塊的運動矢量,例如,對于高級運動矢量預測(AMVP)、時間運動矢量預測(TMVP)或合并模式。TMVP預測值可對應于用于先前經(jīng)譯碼圖片中與當前塊同置的塊的運動矢量。
[0710]相鄰塊A0、A1、B0、B1及B2中的一或多者的運動矢量相比于用以譯碼當前塊的運動矢量可屬于不同類型。舉例來說,可使用長期運動矢量來譯碼當前塊,而可使用短期運動矢量來譯碼塊A0、Al、B0、BI及B2中的一或多者。作為另一實例,可使用短期運動矢量來譯碼當前塊,而可使用長期運動矢量來譯碼塊A0、Al、B0、BI及B2中的一或多者。作為又一實例,可使用視差運動矢量來譯碼當前塊,而可使用時間運動矢量來譯碼塊A0、A1、B0、B1及B2中的一或多者。作為又一實例,可使用時間運動矢量來譯碼當前塊,而可使用視差運動矢量來譯碼塊A0、A1、B0、B1及B2中的一或多者。在這些狀況下,如上文所解釋,諸如視頻編碼器20或視頻解碼器30的視頻譯碼器可禁用不同類型的運動矢量之間的運動矢量預測。
[0711]圖10的實例說明空間運動矢量預測值候選者。然而,應理解,也可針對時間運動矢量預測(TMVP)考慮時間運動矢量預測值候選者。這些TMVP候選者可對應于用于先前經(jīng)譯碼圖片中的同置塊(即,與圖10中被加標簽為“當前塊”的塊同置的塊)的運動信息。另夕卜,根據(jù)本發(fā)明的技術,當TMVP候選者的運動信息及用于當前塊的運動矢量指向不同類型的圖片(例如,短期及長期參考圖片)時,TMVP候選者可被視為不可用作運動矢量預測值。
[0712]圖11為說明根據(jù)本發(fā)明的技術的用于編碼視頻數(shù)據(jù)的實例方法的流程圖。替代地,在一些實例中,可以不同順序或大體上并行地執(zhí)行圖11的實例方法中的步驟。同樣地,可省略某些步驟,及/或可添加其它步驟。盡管描述為由視頻編碼器20執(zhí)行,但應理解,其它視頻編碼裝置可經(jīng)配置以執(zhí)行大體上類似的方法。
[0713]在這個實例中,視頻編碼器20編碼用于當前圖片的參考圖片的圖片順序計數(shù)(POC)值(200)。舉例來說,視頻編碼器20可編碼用于包括當前圖片的序列的序列參數(shù)集(SPS)數(shù)據(jù)結構中的某些參考圖片的POC值,或表示所述POC值的數(shù)據(jù)(諸如,最低有效位(LSB))。另外或替代地,視頻編碼器20可編碼用于當前圖片的當前切片的切片標頭中的一或多個參考圖片的POC值。在一些實例中,視頻編碼器20可編碼表示SPS中的長期參考圖片的POC值及切片標頭中的短期參考圖片的POC值的數(shù)據(jù)。視頻編碼器20也可編碼視圖間參考圖片(例如,在SPS中、在切片標頭中,或在其它位置)的POC值。一般而言,視圖間參考圖片的POC值與正編碼的當前圖片的POC值相同。
[0714]視頻編碼器20也可編碼參考圖片的第二維度標識符(202)。第二維度標識符可包括以下各者中的一或多者:用于包括參考圖片的視圖的視圖標識符、用于包括參考圖片的視圖的視圖順序索引、視圖順序索引與深度標志的組合、用于包括參考圖片的可縮放視頻譯碼(SVC)層的層標識符,及/或一般層標識符。如此,用于參考圖片的POC值與用于參考圖片的第二維度標識符的組合可用以識別參考圖片。
[0715]視頻編碼器20可進一步執(zhí)行針對當前圖片的當前塊的運動搜索。即,運動估計單元42可搜索參考圖片以得到最緊密地匹配當前塊的參考塊。這種情形可產(chǎn)生包括運動矢量的運動信息,所述運動矢量參考所述參考塊以及其中出現(xiàn)所述參考塊的參考圖片。因此,視頻編碼器20的運動補償單元44可使用指向參考圖片中的一者的運動矢量來預測當前塊
(204)。
[0716]視頻編碼器20也可(例如)使用高級運動矢量預測(AMVP)、時間運動矢量預測(TMVP)或合并模式來編碼運動矢量。詳言之,視頻編碼器20可確定可用候選運動矢量預測值的集合(206)。舉例來說,參看圖10,視頻編碼器20可確定用于相鄰塊A0、Al、B0、BI及B2的運動矢量是否可用。詳言之,根據(jù)本發(fā)明的技術,視頻編碼器20可確定,當這些相鄰塊中的一者的運動矢量相比于用于當前塊的運動矢量屬于不同類型時,所述相鄰塊的運動矢量不可用。類似地,視頻編碼器20可在確定TMVP候選者是否可用作譯碼當前塊的運動矢量的預測值時確定用于時間運動矢量預測值候選者的運動矢量相比于用于當前塊的運動矢量是否參考不同類型的參考圖片。
[0717]如上文所解釋,運動矢量的實例不同類型包括長期運動矢量、短期運動矢量、時間運動矢量及視差運動矢量。因此,視頻編碼器20可確定當前塊的運動矢量的類型以及相鄰塊的運動矢量的類型,且確定類型不同于當前塊的當前運動矢量的類型的相鄰塊的運動矢量不可用作當前運動矢量的運動矢量預測值。為了確定類型,視頻編碼器20可參考候選運動矢量所參考的參考圖片的POC值、當前運動矢量所參考的參考圖片的POC值、候選運動矢量所參考的參考圖片的第二維度標識符,及/或當前運動矢量所參考的參考圖片的第二維度標識符。
[0718]隨后,視頻編碼器20可從相鄰塊(其可包括先前經(jīng)譯碼圖片中的同置塊及/或不同視圖的圖片中的對應塊)選擇可用候選運動矢量預測值中的一者作為當前運動矢量的運動矢量預測值(208)。視頻編碼器20可接著使用選定運動矢量預測值來編碼當前運動矢量(210)。
[0719]此外,視頻編碼器20可計算用于當前塊的殘余塊(212)。如關于圖2所解釋,求和器50可計算原始未經(jīng)譯碼塊與由運動補償單元44所形成的經(jīng)預測塊之間的逐像素差。變換處理單元52、量化單元54及熵編碼單元56可接著分別變換、量化及掃描殘余塊(214)。特別地,變換處理單元52可變換殘余塊以產(chǎn)生變換系數(shù)的塊,量化單元52可量化變換系數(shù),且熵編碼單元56可掃描經(jīng)量化變換系數(shù)。熵編碼單元56可接著熵編碼經(jīng)量化變換系數(shù)及經(jīng)編碼運動矢量信息(216)。
[0720]如此,圖11的方法表示一種方法的實例,所述方法包括:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;編碼用于第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范(或基礎視頻譯碼規(guī)范的擴展)而至少部分地基于第一圖片的POC值及第二維度圖片標識符來編碼第二圖片。另外,所述方法可包括禁用以下兩者之間的運動矢量預測:第二圖片的第一塊的第一運動矢量,其中第一運動矢量參考短期參考圖片;及第二圖片的第二塊的第二運動矢量,其中第二運動矢量參考長期參考圖片。另外或替代地,所述方法可包括禁用以下兩者之間的運動矢量預測:第二圖片的第一塊的第一運動矢量,其中第一運動矢量參考視圖間參考圖片;及第二圖片的第二塊的第二運動矢量,其中第二運動矢量參考時間參考圖片。
[0721]圖12為說明根據(jù)本發(fā)明的技術的用于解碼視頻數(shù)據(jù)的實例方法的流程圖。替代地,在一些實例中,可以不同順序或大體上并行地執(zhí)行圖12的實例方法中的步驟。同樣地,可省略某些步驟,及/或可添加其它步驟。盡管描述為由視頻解碼器30執(zhí)行,但應理解,其它視頻解碼裝置可經(jīng)配置以執(zhí)行大體上類似的方法。
[0722]在這個實例中,視頻解碼器30解碼用于當前圖片的參考圖片的POC值(230)。舉例來說,視頻解碼器30可解碼用于包括當前圖片的序列的序列參數(shù)集(SPS)數(shù)據(jù)結構中的某些參考圖片的POC值,或表示所述POC值的數(shù)據(jù)(諸如,最低有效位(LSB))。視頻解碼器30可通過將用于POC值的經(jīng)解碼LSB附加到從(例如)先前經(jīng)解碼的全POC值所導出的相應MSB而從所述LSB重建所述POC值。另外或替代地,視頻解碼器30可解碼用于當前圖片的當前切片的切片標頭中的一或多個參考圖片的POC值。在一些實例中,視頻解碼器30可解碼表示SPS中的長期參考圖片的POC值及切片標頭中的短期參考圖片的POC值的數(shù)據(jù)。視頻解碼器30也可解碼視圖間參考圖片(例如,在SPS中、在切片標頭中,或在其它位置)的POC值。一般而言,視圖間參考圖片的POC值與正編碼的當前圖片的POC值相同。
[0723]視頻解碼器30也可解碼參考圖片的第二維度標識符(232)。第二維度標識符可包括以下各者中的一或多者:用于包括參考圖片的視圖的視圖標識符、用于包括參考圖片的視圖的視圖順序索引、視圖順序索引與深度標志的組合、用于包括參考圖片的可縮放視頻譯碼(SVC)層的層標識符,及/或一般層標識符。如此,用于參考圖片的POC值與用于參考圖片的第二維度標識符的組合可用以識別參考圖片。因此,為了識別參考圖片,運動信息可包括用于參考圖片的POC值及第二維度標識符兩者。
[0724]視頻解碼器30也可解碼用于當前圖片的當前塊的運動矢量。詳言之,視頻解碼器30可確定可用候選運動矢量預測值的集合(234)。舉例來說,參看圖10,視頻解碼器30可確定用于相鄰塊A0、A1、B0、B1及B2的運動矢量是否可用。詳言之,根據(jù)本發(fā)明的技術,視頻解碼器30可確定,當這些相鄰塊中的一者的運動矢量相比于用于當前塊的運動矢量屬于不同類型時,所述相鄰塊的運動矢量不可用。類似地,視頻解碼器30可在確定TMVP候選者是否可用作譯碼當前塊的運動矢量的預測值時確定用于時間運動矢量預測值候選者的運動矢量相比于用于當前塊的運動矢量是否參考不同類型的參考圖片。
[0725]如上文所解釋,運動矢量的實例不同類型包括長期運動矢量、短期運動矢量、時間運動矢量及視差運動矢量。因此,視頻解碼器30可確定當前塊的運動矢量的類型以及相鄰塊的運動矢量的類型,且確定類型不同于當前塊的當前運動矢量的類型的相鄰塊的運動矢量不可用作當前運動矢量的運動矢量預測值。為了確定類型,視頻解碼器30可參考候選運動矢量所參考的參考圖片的POC值、當前運動矢量所參考的參考圖片的POC值、候選運動矢量所參考的參考圖片的第二維度標識符,及/或當前運動矢量所參考的參考圖片的第二維度標識符。
[0726]隨后,視頻解碼器30可從相鄰塊(其可包括先前經(jīng)譯碼圖片中的同置塊及/或不同視圖的圖片中的對應塊)選擇可用候選運動矢量預測值中的一者作為當前運動矢量的運動矢量預測值(236)。視頻解碼器30可接著使用選定運動矢量預測值來解碼當前運動矢量(238)。舉例來說,在使用AMVP的情況下,視頻解碼器30可解碼用于當前運動矢量的運動矢量差(MVD)值,接著將所述MVD值應用于選定運動矢量預測值。即,視頻解碼器30可將MVD值的X分量加到選定運動矢量預測值的X分量,且將MVD值的y分量加到選定運動矢量預測值的y分量。
[0727]視頻解碼器30的運動補償單元72可接著使用指向參考圖片中的一者的運動矢量來預測當前塊(240)。即,除運動矢量自身以外,視頻解碼器30也可解碼用于所述運動矢量所對應的塊的參考圖片識別信息,諸如POC值及第二維度識別值。如此,視頻解碼器30可使用POC值及第二維度識別值來確定運動矢量所指向的參考圖片。因此,運動補償單元72可使用運動矢量及參考圖片識別信息(即,POC值及第二維度識別值)來形成用于當前塊的經(jīng)預測塊。
[0728]熵解碼單元70可進一步熵解碼用于對應于當前塊的殘余塊的經(jīng)量化變換系數(shù)(242) ο熵解碼單元70、反量化單元76及反變換單元78分別反掃描、量化及變換經(jīng)量化變換系數(shù)以產(chǎn)生殘余塊(244)。視頻解碼器30的求和器80可接著組合經(jīng)預測塊與殘余塊(即,在逐像素的基礎上使經(jīng)預測塊與殘余塊相加)(246)。
[0729]如此,圖12的方法表示一種方法的實例,所述方法包括:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)(POC)值;解碼用于第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范(或基礎視頻譯碼規(guī)范的擴展)而至少部分地基于第一圖片的POC值及第二維度圖片標識符來解碼第二圖片。另外,所述方法可包括禁用以下兩者之間的運動矢量預測:第二圖片的第一塊的第一運動矢量,其中第一運動矢量參考短期參考圖片;及第二圖片的第二塊的第二運動矢量,其中第二運動矢量參考長期參考圖片。另外或替代地,所述方法可包括禁用以下兩者之間的運動矢量預測:第二圖片的第一塊的第一運動矢量,其中第一運動矢量參考視圖間參考圖片;及第二圖片的第二塊的第二運動矢量,其中第二運動矢量參考時間參考圖片。
[0730]應認識到,取決于實例,本文中所描述的技術中的任一者的某些動作或事件可以不同序列執(zhí)行、可被添加、合并或完全省去(例如,對于實踐所述技術而言,并非所有所描述動作或事件是必要的)。此外,在某些實例中,可(例如)經(jīng)由多線程處理、中斷處理或多個處理器同時而非順序地執(zhí)行動作或事件。
[0731]在一或多個實例中,所描述功能可以硬件、軟件、固件或其任何組合予以實施。如果以軟件予以實施,那么所述功能可作為一或多個指令或代碼而存儲在計算機可讀媒體上或經(jīng)由計算機可讀媒體而傳輸,且由基于硬件的處理單元執(zhí)行。計算機可讀媒體可包括計算機可讀存儲媒體(其對應于諸如數(shù)據(jù)存儲媒體的有形媒體)或通信媒體,通信媒體包括(例如)根據(jù)通信協(xié)議促進計算機程序從一處傳送到另一處的任何媒體。如此,計算機可讀媒體一般可對應于(I)非暫時性的有形計算機可讀存儲媒體,或(2)諸如信號或載波的通信媒體。數(shù)據(jù)存儲媒體可為可由一或多個計算機或一或多個處理器訪問以檢索指令、代碼及/或數(shù)據(jù)結構以用于實施本發(fā)明中所描述的技術的任何可用媒體。計算機程序產(chǎn)品可包括計算機可讀媒體。
[0732]作為實例而非限制,這些計算機可讀存儲媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,閃速存儲器,或可用以存儲呈指令或數(shù)據(jù)結構的形式的所要程序代碼且可由計算機訪問的任何其它媒體。又,將任何連接適當?shù)胤Q為計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線(DSL)或諸如紅外線、無線電及微波的無線技術而從網(wǎng)站、服務器或其它遠程源傳輸指令,那么同軸電纜、光纖電纜、雙絞線、DSL或諸如紅外線、無線電及微波的無線技術包括在媒體的定義中。然而,應理解,計算機可讀存儲媒體及數(shù)據(jù)存儲媒體不包括連接、載波、信號或其它暫時性媒體,而代替地有關于非暫時性有形存儲媒體。如本文所使用,磁盤及光盤包括壓縮光盤(CD)、激光光盤、光學光盤、數(shù)字多功能光盤(DVD)、軟盤及藍光光盤,其中磁盤通常以磁性方式重現(xiàn)數(shù)據(jù),而光盤用激光以光學方式重現(xiàn)數(shù)據(jù)。以上各者的組合也應包括在計算機可讀媒體的范圍內(nèi)。
[0733]可由諸如一或多個數(shù)字信號處理器(DSP)、一般用途微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路的一或多個處理器執(zhí)行指令。因此,如本文所使用,術語“處理器”可指前述結構或適合于實施本文所描述的技術的任何其它結構中的任一者。另外,在一些方面,可將本文所描述的功能性提供于經(jīng)配置以用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入于組合式編解碼器中。又,可將所述技術完全實施于一或多個電路或邏輯元件中。
[0734]本發(fā)明的技術可實施于各種各樣的裝置或儀器中,所述裝置或儀器包括無線手機、集成電路(IC)或IC集合(例如,芯片集)。在本發(fā)明中描述各種組件、模塊或單元以強調(diào)經(jīng)配置以執(zhí)行所揭示技術的裝置的功能方面,但未必需要通過不同硬件單元而實現(xiàn)。更確切地,如上文所描述,各種單元可組合于編解碼器硬件單元中,或通過交互操作的硬件單元(包括如上文所描述的一或多個處理器)的集合結合合適軟件及/或固件而提供。
[0735]已描述各種實例。這些及其它實例是在所附權利要求書的范圍內(nèi)。
【權利要求】
1.一種解碼視頻數(shù)據(jù)的方法,所述方法包含: 解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值; 解碼用于所述第一圖片的第二維度圖片標識符;及 根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片。
2.根據(jù)權利要求1所述的方法,其進一步包含禁用以下兩者之間的運動矢量預測:所述第二圖片的第一塊的第一運動矢量,其中所述第一運動矢量參考短期參考圖片;及所述第二圖片的第二塊的第二運動矢量,其中所述第二運動矢量參考長期參考圖片。
3.根據(jù)權利要求1所述的方法,其中譯碼所述第二圖片包含: 使用所述POC值及所述第二維度圖片標識符來識別所述第一圖片 '及 相對于所述第一圖片來解碼所述第二圖片的至少一部分。
4.根據(jù)權利要求3所述的方法,其中識別所述第一圖片包含在用于所述第二圖片的塊的運動矢量的解碼期間識別所述第一圖片,其中所述運動矢量的譯碼包含根據(jù)高級運動矢量預測AMVP、時間運動矢量預測TMVP及合并模式中的至少一者來譯碼所述運動矢量。
5.根據(jù)權利要求1所述的方法,其進一步包含: 啟用所述第二圖片的第一短期運動矢量與所述第二圖片的第二短期運動矢量之間的預測 '及 基于用于由所述第一短期運動矢量所參考的第一短期參考圖片的POC值及用于由所述第二短期運動矢量所參考的第二短期參考圖片的POC值來縮放所述第一短期運動矢量及所述第二短期運動矢量中的至少一者。
6.根據(jù)權利要求1所述的方法,其進一步包含至少部分地基于所述視頻數(shù)據(jù)的視圖分量是否用于視圖間預測來解碼指示所述視圖分量是否包含長期參考圖片的值。
7.根據(jù)權利要求1所述的方法,其進一步包含根據(jù)所述基礎視頻譯碼規(guī)范的擴展而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第三圖片。
8.根據(jù)權利要求7所述的方法,其進一步包含在解碼所述第三圖片之前將包括所述第一圖片的所有視圖間參考圖片標記為長期參考圖片。
9.根據(jù)權利要求8所述的方法,其進一步包含: 在將用于所述第三圖片的所述視圖間參考圖片標記為長期參考圖片之前,存儲所述視圖間參考圖片中的每一者的狀態(tài),其中所述狀態(tài)包含長期參考圖片、短期參考圖片及不用于參考中的一者,其中所述視圖間參考圖片包括所述第一圖片;及 在譯碼所述第二圖片之后,基于所述經(jīng)存儲狀態(tài)來設置所述視圖間參考圖片中的每一者的新狀態(tài)。
10.根據(jù)權利要求7所述的方法,其中所述基礎視頻譯碼規(guī)范包含高效率視頻譯碼HEVC基礎規(guī)范,且其中所述基礎視頻譯碼規(guī)范的所述擴展包含所述HEVC基礎規(guī)范的可縮放視頻譯碼SVC擴展及所述HEVC基礎規(guī)范的多視圖視頻譯碼MVC擴展中的一者。
11.根據(jù)權利要求7所述的方法,其中所述第二維度圖片標識符包含以下各者中的至少一者:用于包括所述第一圖片的視圖的視圖標識符、用于包括所述第一圖片的所述視圖的視圖順序索引、所述視圖順序索引與深度標志的組合、用于包括所述第一圖片的可縮放視頻譯碼SVC層的層標識符,及一般層標識符。
12.根據(jù)權利要求7所述的方法,其進一步包含在解碼所述第三圖片之后將每一視圖間參考圖片標記為長期參考圖片、短期參考圖片及不用于參考中的一者。
13.根據(jù)權利要求12所述的方法,其進一步包含: 在將視圖間參考圖片標記為長期參考圖片之后,向所述視圖間參考圖片指派當前不用的新POC值;及 在解碼所述第二圖片之后,還原用于所述視圖間參考圖片的原始POC值。
14.根據(jù)權利要求13所述的方法,其中所述原始POC值包含所述第一圖片的所述POC值。
15.一種編碼視頻數(shù)據(jù)的方法,所述方法包含: 編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值; 編碼用于所述第一圖片的第二維度圖片標識符;及 根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片。
16.根據(jù)權利要求15所述的方法,其進一步包含禁用以下兩者之間的運動矢量預測:所述第二圖片的第一塊的第一運動矢量,其中所述第一運動矢量參考短期參考圖片;及所述第二圖片的第二塊的第二運動矢量,其中所述第二運動矢量參考長期參考圖片。
17.根據(jù)權利要求15所述的方法,其進一步包含: 使用所述POC值及所述第二維度圖片標識符來識別所述第一圖片 '及 相對于所述第一圖片來譯碼所述第二圖片的至少一部分。
18.根據(jù)權利要求17所述的方法,其中識別所述第一圖片包含在用于所述第二圖片的塊的所述運動矢量的譯碼期間識別所述第一圖片,其中所述運動矢量的譯碼包含根據(jù)高級運動矢量預測AMVP、時間運動矢量預測TMVP及合并模式中的至少一者來譯碼所述運動矢量。
19.根據(jù)權利要求15所述的方法,其進一步包含: 啟用所述第二圖片的第一短期運動矢量與所述第二圖片的第二短期運動矢量之間的預測 '及 基于用于由所述第一短期運動矢量所參考的第一短期參考圖片的POC值及用于由所述第二短期運動矢量所參考的第二短期參考圖片的POC值來縮放所述第一短期運動矢量及所述第二短期運動矢量中的至少一者。
20.根據(jù)權利要求15所述的方法,其中所述第二維度圖片標識符包含以下各者中的至少一者:用于包括所述第一圖片的視圖的視圖標識符、用于包括所述第一圖片的所述視圖的視圖順序索引、所述視圖順序索引與深度標志的組合、用于包括所述第一圖片的可縮放視頻譯碼SVC層的層標識符,及一般層標識符。
21.根據(jù)權利要求15所述的方法,其進一步包含至少部分地基于所述視頻數(shù)據(jù)的視圖分量是否用于視圖間預測來譯碼指示所述視圖分量是否包含長期參考圖片的值。
22.根據(jù)權利要求15所述的方法,其進一步包含根據(jù)所述基礎視頻譯碼規(guī)范的擴展而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第三圖片。
23.根據(jù)權利要求22所述的方法,其進一步包含在編碼所述第三圖片之前將所有視圖間參考圖片標記為長期參考圖片。
24.根據(jù)權利要求23所述的方法,其進一步包含: 在將所述視圖間參考圖片標記為長期參考圖片之前,存儲所述視圖間參考圖片中的每一者的狀態(tài),其中所述狀態(tài)包含長期參考圖片、短期參考圖片及不用于參考中的一者;及 在譯碼所述第二圖片之后,基于所述經(jīng)存儲狀態(tài)來設置所述視圖間參考圖片中的每一者的新狀態(tài)。
25.根據(jù)權利要求22所述的方法,其中所述基礎視頻譯碼規(guī)范包含高效率視頻譯碼HEVC基礎規(guī)范,且其中所述基礎視頻譯碼規(guī)范的所述擴展包含所述HEVC基礎規(guī)范的可縮放視頻譯碼SVC擴展及所述HEVC基礎規(guī)范的多視圖視頻譯碼MVC擴展中的一者。
26.根據(jù)權利要求15所述的方法,其進一步包含在譯碼所述第三圖片之后將每一視圖間參考圖片標記為長期參考圖片、短期參考圖片及不用于參考中的一者。
27.根據(jù)權利要求26所述的方法,其進一步包含: 在將視圖間參考圖片標記為長期參考圖片之后,向所述視圖間參考圖片指派當前不用的新POC值;及 在譯碼所述第二圖片之后,還原用于所述視圖間參考圖片的原始POC值。
28.根據(jù)權利要求27所述的方法,其中所述原始POC值包含所述第二圖片的所述POC值。
29.一種用于解碼視頻數(shù)據(jù)的裝置,所述裝置包含經(jīng)配置以執(zhí)行以下操作的視頻解碼器:解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值;解碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片。
30.根據(jù)權利要求29所述的裝置,其中所述視頻解碼器經(jīng)配置以禁用以下兩者之間的運動矢量預測:所述第二圖片的第一塊的第一運動矢量,其中所述第一運動矢量參考短期參考圖片;及所述第二圖片的第二塊的第二運動矢量,其中所述第二運動矢量參考長期參考圖片。
31.根據(jù)權利要求29所述的裝置,其中所述視頻解碼器經(jīng)配置以使用所述POC值及所述第二維度圖片標識符來識別所述第一圖片,及相對于所述第一圖片來解碼所述第二圖片的至少一部分。
32.根據(jù)權利要求31所述的裝置,其中所述視頻解碼器經(jīng)配置以在用于所述第二圖片的塊的運動矢量的譯碼期間識別所述第一圖片,且其中所述視頻解碼器經(jīng)配置以根據(jù)高級運動矢量預測AMVP、時間運動矢量預測TMVP及合并模式中的至少一者來解碼所述運動矢量。
33.根據(jù)權利要求29所述的裝置,其中所述視頻解碼器經(jīng)配置以啟用所述第二圖片的第一短期運動矢量與所述第二圖片的第二短期運動矢量之間的預測,及基于用于由所述第一短期運動矢量所參考的第一短期參考圖片的POC值及用于由所述第二短期運動矢量所參考的第二短期參考圖片的POC值來縮放所述第一短期運動矢量及所述第二短期運動矢量中的至少一者。
34.根據(jù)權利要求29所述的裝置,其中所述第二維度圖片標識符包含以下各者中的至少一者:用于包括所述第一圖片的視圖的視圖標識符、用于包括所述第一圖片的所述視圖的視圖順序索引、所述視圖順序索引與深度標志的組合、用于包括所述第一圖片的可縮放視頻譯碼SVC層的層標識符,及一般層標識符。
35.根據(jù)權利要求29所述的裝置,其中所述視頻解碼器經(jīng)配置以至少部分地基于所述視頻數(shù)據(jù)的視圖分量是否用于視圖間預測來解碼指示所述視圖分量是否包含長期參考圖片的值。
36.根據(jù)權利要求29所述的裝置,其中所述視頻解碼器經(jīng)進一步配置以根據(jù)所述基礎視頻譯碼規(guī)范的擴展而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第三圖片。
37.根據(jù)權利要求36所述的裝置,其中所述視頻解碼器經(jīng)配置以執(zhí)行以下操作:在解碼所述第三圖片之前將包括所述第一圖片的用于所述第三圖片的所有視圖間參考圖片標記為長期參考圖片;在將所述視圖間參考圖片標記為長期參考圖片之前,存儲所述視圖間參考圖片中的每一者的狀態(tài),其中所述狀態(tài)包含長期參考圖片、短期參考圖片及不用于參考中的一者;及在解碼所述第三圖片之后,基于所述經(jīng)存儲狀態(tài)來設置所述視圖間參考圖片中的每一者的新狀態(tài)。
38.根據(jù)權利要求36所述的裝置,其中所述視頻解碼器經(jīng)進一步配置以執(zhí)行以下操作:在解碼所述第三圖片之后將包括所述第一圖片的用于所述第三圖片的每一視圖間參考圖片標記為長期參考圖片、短期參考圖片及不用于參考中的一者;在將視圖間參考圖片標記為長期參考圖片之后,向所述視圖間參考圖片中的每一者指派當前不用的新POC值;及在譯碼所述第二圖片之后,還原用于所述視圖間參考圖片的原始POC值。
39.根據(jù)權利要求29所述的裝置,其中所述裝置包含以下各者中的至少一者: 集成電路; 微處理器 '及 無線通信裝置,其包括所述視頻解碼器。
40.一種用于編碼視頻數(shù)據(jù)的裝置,所述裝置包含經(jīng)配置以執(zhí)行以下操作的視頻編碼器:編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值;編碼用于所述第一圖片的第二維度圖片標識符;及根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片。
41.根據(jù)權利要求40所述的裝置,其中所述視頻編碼器經(jīng)配置以禁用以下兩者之間的運動矢量預測:所述第二圖片的第一塊的第一運動矢量,其中所述第一運動矢量參考短期參考圖片;及所述第二圖片的第二塊的第二運動矢量,其中所述第二運動矢量參考長期參考圖片。
42.根據(jù)權利要求40所述的裝置,其中所述視頻編碼器經(jīng)配置以使用所述POC值及所述第二維度圖片標識符來識別所述第一圖片,及相對于所述第一圖片來編碼所述第二圖片的至少一部分。
43.根據(jù)權利要求42所述的裝置,其中所述視頻編碼器經(jīng)配置以在用于所述第二圖片的塊的運動矢量的譯碼期間識別所述第一圖片,且其中所述視頻編碼器經(jīng)配置以根據(jù)高級運動矢量預測AMVP、時間運動矢量預測TMVP及合并模式中的至少一者來編碼所述運動矢量。
44.根據(jù)權利要求40所述的裝置,其中所述視頻編碼器經(jīng)配置以啟用所述第二圖片的第一短期運動矢量與所述第二圖片的第二短期運動矢量之間的預測,及基于用于由所述第一短期運動矢量所參考的第一短期參考圖片的POC值及用于由所述第二短期運動矢量所參考的第二短期參考圖片的POC值來縮放所述第一短期運動矢量及所述第二短期運動矢量中的至少一者。
45.根據(jù)權利要求40所述的裝置,其中所述第二維度圖片標識符包含以下各者中的至少一者:用于包括所述第一圖片的視圖的視圖標識符、用于包括所述第一圖片的所述視圖的視圖順序索引、所述視圖順序索引與深度標志的組合、用于包括所述第一圖片的可縮放視頻譯碼SVC層的層標識符,及一般層標識符。
46.根據(jù)權利要求40所述的裝置,其中所述視頻編碼器經(jīng)配置以至少部分地基于所述視頻數(shù)據(jù)的視圖分量是否用于視圖間預測來編碼指示所述視圖分量是否包含長期參考圖片的值。
47.根據(jù)權利要求40所述的裝置,其中所述視頻編碼器經(jīng)進一步配置以根據(jù)所述基礎視頻譯碼規(guī)范的擴展而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第三圖片。
48.根據(jù)權利要求47所述的裝置,其中所述視頻編碼器經(jīng)配置以執(zhí)行以下操作:在編碼所述第三圖片之前將包括所述第一圖片的用于所述第三圖片的所有視圖間參考圖片標記為長期參考圖片;在將所述視圖間參考圖片標記為長期參考圖片之前,存儲所述視圖間參考圖片中的每一者的狀態(tài),其中所述狀態(tài)包含長期參考圖片、短期參考圖片及不用于參考中的一者;及在編碼所述第三圖片之后,基于所述經(jīng)存儲狀態(tài)來設置所述視圖間參考圖片中的每一者的新狀態(tài)。
49.根據(jù)權利要求47所述的裝置,其中所述視頻編碼器經(jīng)進一步配置以執(zhí)行以下操作:在編碼所述第三圖片之后將包括所述第一圖片的用于所述第三圖片的每一視圖間參考圖片標記為長期參考圖片、短期參考圖片及不用于參考中的一者;在將視圖間參考圖片標記為長期參考圖片之后,向所述視圖間參考圖片中的每一者指派當前不用的新POC值;及在譯碼所述第二圖片之后,還原用于所述視圖間參考圖片的原始POC值。
50.一種用于編碼視頻數(shù)據(jù)的裝置,所述裝置包含: 用于編碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值的裝置; 用于編碼用于所述第一圖片的第二維度圖片標識符的裝置;及 用于根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來編碼第二圖片的裝置。
51.一種計算機可讀存儲媒體,其上存儲有在執(zhí)行時使處理器執(zhí)行以下操作的指令: 解碼用于視頻數(shù)據(jù)的第一圖片的圖片順序計數(shù)POC值; 解碼用于所述第一圖片的第二維度圖片標識符;及 根據(jù)基礎視頻譯碼規(guī)范而至少部分地基于所述第一圖片的所述POC值及所述第二維度圖片標識符來解碼第二圖片。
【文檔編號】H04N19/70GK104322070SQ201380014479
【公開日】2015年1月28日 申請日期:2013年3月14日 優(yōu)先權日:2012年3月16日
【發(fā)明者】陳穎, 王益魁, 張莉 申請人:高通股份有限公司