利用自適應運動向量精度的方法和裝置的制造方法
【專利摘要】本發明提供一種利用自適應運動向量精度的方法。根據一個實施方式,根據當前區塊的預測模式/分區類型,決定是否利用自適應運動向量精度以用于當前區塊。若自適應運動向量精度被使用,則當前運動向量精度被決定以用于當前區塊的當前運動向量,以及利用當前運動向量精度,當前運動向量被編碼或被解碼。若自適應運動向量精度不被使用,則利用較好的運動向量精度,當前運動向量被編碼或解碼。在另一實施方式中,根據當前區塊的預測模式/分區類型,當前區塊的當前自適應運動向量精度標志的值被選擇,以指示是否利用自適應運動向量精度以用于當前區塊。
【專利說明】利用自適應運動向量精度的方法和裝置
[0001]交叉引用
[0002 ]本發明主張在2014年I月29日提出的申請號為61 /932,832的美國臨時專利申請的優先權;主張在2014年3月14日提出的申請號為61/952,917的美國臨時專利申請的優先權;主張在2014年3月17日提出的申請號為61/954,171的美國臨時專利申請的優先權;以及主張在2014年3月19日提出的申請號為61/955,464的美國臨時專利申請的優先權。因此在全文中合并參考該些專利申請案。
技術領域
[0003]本發明是有關于利用視頻數據的自適應運動向量精度,特別是有關于通過選擇性地使能或禁能視頻數據的某種類型的自適應運動向量精度,以改善視頻編碼的性能的技術。本發明也與自適應運動向量精度的發送方法相關。
【背景技術】
[0004]高效視頻編碼(High Efficiency Video Coding,以下簡稱為HEVC)是近年來開發的新的編碼標準。在HEVC系統中,H.264/AVC中固定尺寸的宏塊由靈活的區塊來代替,并將其命名為編碼單元(coding unit,CU)。在編碼單元中像素共享相同的編碼參數,以改善編碼效率。編碼單元可開始于最大編碼單元(largest CU,LCU),其在HEVC中也被稱為編碼樹單元。除編碼單元的概念之外,預測單元的概念也被引入HEVC中。一旦編碼單元分層樹的分割完成,根據預測類型和預測單元分割,每一個葉編碼單元被進一步分割為一個或多個預測單元。
[0005]在HEVC標準的發展過程中,也開發了HEVC的擴展版本。HEVC的擴展包括范圍擴展(range extens1ns,以下簡稱為RExt),其目標在于非4:2:0顏色格式(例如4:2: 2和4:4:4)以及更高比特深度視頻(例如,每次采樣12、14以及16比特)。利用RExt的一個可能的應用是通過有線或無線連接的屏幕共享。由于屏幕內容的具體特點,已開發一些編碼工具以及這些編碼工具證明編碼效率收益顯著。在這些編碼工具中,調色板編碼(也稱為基于主要顏色的編碼)技術利用至調色板(主要顏色)的索引(indices)而表示區塊的像素,并利用空間冗余來編碼調色板和索引。盡管可能的顏色組合的總數很大,但是用于典型的屏幕內容的圖片區域中的顏色數通常有限。因此,顏色索引編碼十分有效地用于屏幕內容素材(screencontent materials)。對于屏幕內容,幀內運動補償已被開發用于改善編碼性能,其原因在于一個畫片(patch)或屏幕內容可在屏幕的其他部分找到相似的內容。在此情況下,幀內運動向量用于定位在相同幀中的參考屏幕內容。
[0006]在HEVC中,應用子像素(sub-pixel)運動向量估計/運動補償(ME/MC)。運動向量精度是1/4像素準確度。因此,先進的運動向量預測已被開發用于HECV,其中,根據在編碼器側和解碼器側的運動向量的競爭,運動候選可自空間和時間相鄰區塊而被得到。若當前運動向量與運動候選相同,則編碼器可發送信號指示當前運動向量可與運動候選“合并”而不需要傳送運動信息以及對應的運動向量編碼模式稱為合并模式(Merge mode)。運動候選也可被用作當前運動向量的預測子。在此情況下,在當前運動向量和選擇的運動候選之間的運動向量差值(mot1n vector difference,MVD)被編碼,以及該方法被稱為先進的運動向量預測(advanced mot1n vector predict1n,AMV)。對于合并模式和先進的運動向量預測,運動向量預測子和運動向量差值同樣是1/4像素(quarter-pixel)準確度的。若運動向量為子像素,即,1/2像素(half-pixel)或1/4像素,應用子像素運動補償。根據HEVC,子像素運動補償利用用于亮度組分的8抽頭(8-tap)離散余弦變換(discrete cosine transform,DCT)插值濾波器(interpolat1n filter)和用于色度組分的4抽頭離散余弦編碼插值濾波器(DCTIF)而被實施。
[0007]編碼單元級自適應運動向量精度方法在JCTVC-Q0049中被Li等人所揭示(“RCE1:Adaptive MV Precis1n/’Document of Joint Collaborative Team on Video Coding,JCTVC-Q0049,Mar.2014),其中,編碼單元級標志被發送以指示在編碼單元中的所有預測單元是否利用整數精度的運動向量。若標志為I,則運動向量精度為整數精度,在此情況下,預測單元的運動向量預測子舍入為整數精度,以及運動向量差值以整數精度來發送。若標志為0,則運動向量精度為1/4像素精度。運動向量編碼與HEVC版本I相同,以及子像素運動補償被允許。在HEVC范圍擴展核心實驗I (Range Extens1ns Core Experiment 1,RCE1)的測試2中,自適應運動向量精度被應用于所有的幀間編碼單元。編碼單元級標志的上下文信息需要上方編碼單元的已編碼的自適應運動向量精度標志的信息,這將需要行緩沖器來存儲該標志。
[0008]因此,有必要開發一種方法,以進一步改善自適應運動向量精度的編碼效率及/或消除用于整數運動向量精度的與編碼單元級標志相關的行緩沖器的需要。
【發明內容】
[0009]根據本發明的實施方式,提供一種利用自適應運動向量精度的編碼方法,該編碼方法用于視頻編碼系統的視頻數據區塊或視頻數據區塊的運動向量。其中,運動向量的至少兩個運動向量精度被用于視頻數據區塊。根據一個實施方式,根據當前區塊的預測模式、當前區塊的分區類型、或其組合,決定是否利用自適應運動向量精度以用于當前區塊。若自適應運動向量精度被使用,對于編碼器側,則決定當前區塊的當前運動向量的當前運動向量精度,并利用當前運動向量精度,編碼當前運動向量。對于解碼器側,自視頻比特流解析自適應運動向量精度語法元素或推斷自適應運動向量精度語法元素,以決定當前區塊的當前運動向量的當前運動向量精度,并利用當前運動向量精度,解碼當前運動向量。若自適應運動向量精度不被使用,對于編碼器側,則利用較好的運動向量精度,編碼當前運動向量。對于解碼器側,利用較好的運動向量精度,解碼當前運動向量。
[0010]舉例來說,若當前區塊利用合并模式而被編碼,則自適應運動向量精度被禁能以用于當前區塊。此外,當前區塊對應于預測單元,若在當前編碼單元中的所有預測單元利用合并模式而被編碼,則自適應運動向量精度被禁能以用于當前編碼單元。若當前區塊對應于2Nx2N預測單元,則自適應運動向量精度被禁能以用于當前區塊。若當前區塊對應于在合并模式或跳過模式中被編碼的2Nx2N預測單元,則自適應運動向量精度被禁能以用于當前區塊。高級自適應運動向量精度標志被發送于序列級、圖片級、條帶級,以根據高級自適應運動向量精度標志,而使能或禁能自適應運動向量精度以用于對應的序列、圖片、或條帶中的所有區塊。
[0011]若自適應運動向量精度被使用以用于當前區塊,當前運動向量精度語法元素可被進一步發送于編碼器側或解析于解碼器側,以決定當前運動向量精度。另外,當前自適應運動向量精度標志可被發送于編碼器側或解析于解碼器側,以指示自適應運動向量精度是否被使用以用于當前區塊。運動向量精度語法元素、當前自適應運動向量精度標志、或其組合,可通過只有一個上下文的基于上下文的編碼而被編碼。可選地,基于一個或多個相鄰區塊、當前區塊、或一個或多個相鄰區塊和當前區塊的信息,運動向量精度語法元素、當前自適應運動向量精度標志、或其組合通過利用上下文模型的基于上下文的編碼而被編碼。相鄰區塊的信息對應于左側區塊、或左側區塊和上方區塊的運動向量精度。若自適應運動向量精度被用于當前區塊以及當前區塊對應于編碼單元或預測單元,當前自適應運動向量精度標志被發送于條帶級、編碼單元級、或預測單元級以用于當前區塊。當在當前編碼單元中不是所有的預測單元被編碼于合并模式時,運動向量精度語法元素、當前自適應運動向量精度標志、或其組合在所有預測單元語法被發送之后而被編碼。可選地,運動向量精度語法元素、當前自適應運動向量精度標志、或其組合在第一非合并模式預測單元之后而被編碼。
[0012]當前運動向量精度自相鄰區塊而被繼承。舉例來說,若當前區塊被編碼于合并模式、當前運動向量精度自目標合并區塊的運動向量精度而被繼承。當當前運動向量精度對應于粗粒度時,例如,整數像素分辨率或1/2像素分辨率,當前區塊的當前運動向量的運動向量預測子被舍入為粗粒度。當前運動向量精度與當前運動向量的運動向量差值的運動向量精度相關,以及當前運動向量精度對應于粗粒度,運動向量差值舍入至粗粒度,以及當前運動向量的運動向量預測子的運動向量精度不變。
[0013]在另一實施方式中,根據當前區塊的預測模式、當前區塊的分區類型、或其組合,用于當前區塊的當前自適應運動向量精度標志的值被選擇,以指示是否利用自適應運動向量精度以用于當前區塊。若當前自適應運動向量精度標志指示自適應運動向量精度被使用,則決定當前區塊的當前運動向量的當前運動向量精度,并利用當前運動向量精度,編碼當前運動向量。若當前自適應運動向量精度標志指示自適應運動向量精度不被使用,則利用較好的運動向量精度,編碼當前運動向量。
【附圖說明】
[0014]圖1描述了根據本發明實施方式的利用自適應運動向量精度的視頻編碼的的流程圖。
[0015]圖2描述了根據本發明實施方式的利用自適應運動向量精度的視頻解碼的流程圖。
[0016]圖3描述了根據本發明實施方式的利用自適應運動向量精度的視頻編碼的另一流程圖。
【具體實施方式】
[0017]在本發明中,揭示了控制自適應運動向量精度使用的各種技術。特別是,自適應運動向量精度被關閉以用于某些模式或編碼條件,來改善性能或降低復雜度/存儲要求。
[0018]在屏幕內容編碼中,屏幕內容的特點與自然場景的普通運動視頻不同。屏幕內容通常包括顏色、強度,或顏色和強度的尖銳過度。在各種編碼標準(例如,高效率視頻編碼標準)中被采用的分數的(fract1nal)運動向量,可能不是十分有用,其原因在于子像素插值過程趨于破壞(smear)尖銳過渡。因此,需要能夠設置運動向量精度為整數像素粒度(granularity)自適應地依賴于內容的特性。語法元素和標志可被發送于條帶級、預測單元級,以指示運動向量精度是否為整數像素、I /2像素、或I /4像素。
[0019]根據一個實施方式,在較高級語法級的控制標志,例如,序列級標志(例如,序列參數集中(sequence parameter set,SPS))、圖片級標志(圖片參數集中(picture parameter8的,??5))、或條帶級標志(條帶頭),可被發送以開啟/關閉自適應運動向量精度語法。舉例來說,在圖片級中的標志可被使用以指示用于圖片的自適應運動向量精度是否被開啟或被關閉。若自適應運動向量精度被關閉以用于圖片,在圖片中的所有區塊(例如,編碼單元或預測單元)將不會使用自適應運動向量精度。在此示例中,在較細粒度處固定的運動向量精度(例如,1/4像素分辨率)將被使用。若自適應運動向量精度被開啟以用于圖片,則在圖片中的區塊可決定是否使用各自的自適應運動向量精度。
[0020]運動向量精度語法/標志可利用基于上下文的編碼而被編碼,以及上下文模型可依賴于相鄰區塊(例如,相鄰編碼單元或相鄰預測單元)的信息。舉例來說,上下文模型依賴于當前區塊的左側預測單元、上方預測單元、或左側和上方預測單元的運動向量精度。在JCTVC-Q0049中揭示的方法中,運動向量精度語法/標志的上下文模型依賴于上方區塊,這意味著與上方區塊的行相關的信息需要被緩沖。在一個實施方式中,上下文模型僅依賴于左側預測單元的運動向量精度,以移除行緩沖器存儲上方區塊的行相關信息的需要。用于運動向量精度的上下文模型也可依賴于當前區塊的信息,例如,當前區塊的深度。用于運動向量精度語法/標志的上下文模型可依賴于分區類型(partit1n type)和預測模式。舉例來說,用于合并模式區塊的上下文模型可與其他區塊不同。在另一實施方式中,用于2Nx2N_合并(2Nx2N_Merge)和2Nx2Nj兆過(2Nx2N_SKIP)區塊的上下文模型可與其他區塊不同。
[0021]在又一實施方式中,用于運動向量精度的上下文模型僅利用一個上下文。此不僅避免需要行緩沖器,而且也降低了基于上下文編碼的復雜度。
[0022]自適應運動向量精度可被開啟/關閉或被應用于區塊的某些類型。舉例來說,基于分區類型,自適應運動向量精度可被開啟/關閉。在一個示例中,當區塊分區為2Nx2N時,自適應運動向量精度可被發送。相似地,當區塊分區為非-2Nx2N時,自適應運動向量精度可被發送。在另一示例中,基于預測模式,自適應運動向量精度可被開啟/關閉。舉例來說,當區塊預測模式為合并模式時,自適應運動向量精度可被發送。相似地,當區塊分區模式為非合并模式或幀間模式時,自適應運動向量精度可被發送。
[0023]在另一實施方式中,自適應運動向量精度僅用于非2Nx2N_合并(2Nx2N_Merge)和非2Nx2N_跳過(2Nx2N_SKIP)區塊中。自適應運動向量精度標志可被發送于編碼單元級。此夕卜,一旦決定區塊將為非2Nx2N_^并或為2Nx2Nj兆過區塊,運動向量精度標志可被發送。
[0024]在另一實施方式中,自適應運動向量精度僅被應用于非合并區塊。自適應運動向量精度標志可被發送于編碼單元級或預測單元級。舉例來說,若在編碼單元中的所有預測單元于合并模式被編碼,其意味著自適應運動向量精度被關閉以及不需要發送運動向量精度語法/標志。只有在編碼單元中存在至少一非合并預測單元的時候,運動向量精度語法/標志將被發送。當在當前編碼單元中并非所有的預測單元被編碼于合并模式時,在發送所有的預測單元語法之后,運動向量精度語法/標志可被編碼。可選地,在第一非合并模式預測單元之后,運動向量精度語法/標志可被編碼。
[0025]在又一實施方式中,自適應運動向量精度標志可被設置為用于區塊的某些特定類型的某個特定值,例如,真或假。舉例來說,基于分區類型及/或預測模式,自適應運動向量精度標志可被設置為真或假。在一個示例中,當區塊分區為2Nx2N時,自適應運動向量精度標志可被設置為真或假。相似地,當區塊分區為非2Nx2N時,自適應運動向量精度標志可被設置為真或假。在另一示例中,當區塊預測模式為合并模式時,自適應運動向量精度標志可被設置為真或假。相似地,當區塊預測模式為非合并模式時或幀間模式,自適應運動向量精度標志可被設置為真或假。在又一示例中,自適應運動向量精度標志可被設置為為真或假以用于非2Nx2N_^并和非2Nx2Nj兆過區塊。
[0026]當前區塊的運動向量精度可繼承相鄰區塊的運動向量精度。舉例來說,若當前區塊的預測模式是合并模式,則當前區塊的運動向量精度可繼承目標合并區塊的運動向量精度。舉例來說,若當前區塊與左側區塊合并,則當前區塊的運動向量精度可繼承左側區塊的運動向量精度。
?0027] 當運動向量精度被設置為粗粒度(coarser granularity)時,運動向量預測子可舍入為目標粒度。舉例來說,若運動向量精度為整數像素,則在1/4像素精度處的運動向量預測子將舍入為整數精度。舍入過程可舍入運動向量的值為最近的整數。然而,當在距運動向量預測子相等的距離處存在兩個最近的整數時,運動向量預測子將被舍入值接近于O的整數。舉例來說,0.5被舍入至O,以及-1.5被舍入至-1。舍入過程也可通常被舍入至接近于O的最近整數。舉例來說,0.75被舍入至O,而不是I。
[0028]當運動向量精度被設置為粗粒度時,運動向量差值(mot1n vector difference,MVD)編碼語法也可被改變。舉例來說,若運動向量精度被設置為整數,則對應于abs_mvd_greaterO_f lag和abs_mvd_greaterl_f lag的運動向量差值碼字的頭兩個二進制位(bin)可被跳過。其中,abs_mvd_greaterO_f lag指定運動向量組分差值的絕對值是否大于0,以及abs_mvd_greaterl_flag指定運動向量組分差值的絕對值是否大于I。
[0029]當運動向量精度被設置為粗粒度時,運動向量差值(mot1n vector difference,MVD)編碼語法的上下文模型也可被改變。舉例來說,語法元素的上下文模型,不同的運動向量精度的abs_mvd_gr eater0_f lag和abs_mvd_gr eater l_f lag可利用上下文模型的不同設置。
[0030]在另一實施方式中,運動向量精度語法/標志與運動向量差值相關。當用于運動向量差值的運動向量精度被設置為粗粒度時,運動向量差值的精度可被設置為整數,然而,運動向量預測子精度不會改變。換句話說,舍入處理不被應用于運動向量預測子。
[0031]在另一實施方式中,運動向量精度語法/標志與運動向量預測子相關。當用于運動向量差值的運動向量精度被設置為粗粒度時,運動向量預測子精度可被設置為整數,然而,運動向量差值精度不會改變。換句話說,運動向量差值精度為較好的精度(finerprecis1n)。
[0032]對于合并區塊或2Nx2N合并/跳過區塊,運動向量信息可自空間相鄰區塊或時間同位(collocated)區塊而被繼承,不需要舍入至整數像素精度。然而,運動向量在此合并區塊的運動補償(mot1n compensat1n,MC)過程期間被舍入。換句話說,非舍入的運動向量被存儲并被用作相鄰區塊的預測子,以及舍入的運動向量被用于此合并區塊的運動補償。
[0033]在發送所有的預測單元語法之后,自適應運動向量精度標志可被發送。只有當當前編碼單元在某種模式(例如,2Nx2N跳過/合并模式、或在當前編碼單元中所有的預測單元為合并模式)中不被編碼時,自適應運動向量精度標志將被發送。否則,自適應運動向量精度標志被推斷為假。可選地,自適應運動向量精度標志在第一非合并模式預測單元之后將被發送。
[0034]圖1為根據本發明實施方式的利用自適應運動向量精度的視頻編碼的流程圖。在圖1中的流程圖對應于視頻數據的區塊、或視頻數據的區塊的運動向量的編碼過程,以用于利用自適應運動向量精度的視頻編碼系統。系統允許利用至少兩個運動向量精度,以用于編碼運動向量或編碼視頻數據的區塊。視頻數據包括屏幕內容。當用于編碼視頻數據的區塊時,運動向量被使用以存取參考數據以及與運動向量相關的信息也被編碼。如步驟110所示,系統接收與當前區塊相關的輸入數據。輸入數據可包括與當前區塊相關的信息,例如,運動向量、預測模式、分區類型,等等。信息可通過編碼系統的其他處理單元而得到,以及輸入數據可自存儲器(例如,計算機存儲器、緩沖器(RAM或DRAM)或其他媒體)或自處理器而接收。如步驟120所示,根據當前區塊的預測模式、當前區塊的分區類型、或其組合,決定是否利用自適應運動向量精度以用于當前區塊。在步驟130中,關于自適應運動向量精度是否被使用的測試被執行。若結果為“是”,則步驟140被執行。若結果為“否”,則步驟150被執行。在步驟140中,當前運動向量精度被決定以用于當前區塊的當前運動向量,以及利用當前運動向量精度,當前運動向量被編碼。在步驟150中,利用較好的運動向量精度(finer MVprecis1n),當前運動向量被編碼。
[0035]圖2描述了本根據本發明實施方式的對應于圖1中利用自適應運動向量精度的編碼系統的視頻解碼的流程圖。在步驟210中,用于當前區塊的已編碼數據被接收。在步驟220中,根據自已編碼數據得到的當前區塊的預測模式、當前區塊的分區類型、或其組合,決定是否利用自適應運動向量精度以用于當前區塊。在步驟230中,關于是否自適應運動向量精度的測試被執行。如結果為“是”,則執行步驟240。若結果為“否”,在執行步驟250。在步驟240中,自視頻比特流解析運動向量精度語法元素,以決定用于當前區塊的當前運動向量的當前運動向量精度,以及利用當前運動向量精度,當前運動向量被解碼。在步驟250中,利用較好的運動向量精度,當前運動向量被解碼。
[0036]圖3描述了根據本發明實施方式的利用自適應運動向量精度的視頻編碼的另一流程圖。在步驟310中,系統接收與當前區塊相關的輸入數據。輸入數據可包括與當前區塊相關的信息,例如,運動向量、預測模式、分區類型,等等。信息可通過編碼系統的其他處理單元而得到,以及輸入數據可自存儲器(例如,計算機存儲器、緩沖器(RAM或DRAM)或其他媒體)或自處理器而接收。在步驟320中,根據當前區塊的預測模式、當前區塊的分區類型、或其組合,當前區塊的當前自適應運動向量精度標志的值被選擇,以指示是否利用自適應運動向量精度以用于當前區塊。在步驟330中,關于自適應運動向量精度標志是否指示自適應運動向量精度被使用的測試被執行。若結果為“是”,則步驟340被執行。若結果為“否”,則步驟350被執行。在步驟340中,當前運動向量精度被決定以用于當前區塊的當前運動向量,以及利用當前運動向量精度,當前運動向量被編碼。在步驟350中,利用較好的運動向量精度,當前運動向量被編碼。
[0037]上述的流程圖用于描述根據本發明的利用自適應運動向量精度的視頻編碼的示例。本領域技術人員可在不脫離本發明精神的前提下,修改、重排列、拆分、或組合各個步驟,以實現本發明。在本申請中,特定的語法和語義用于解釋本發明的示范性實施方式。本領域技術人員可在不脫離本發明的精神的前提下,利用等同的語法和語義來取代上述的語法和語義,來實現本發明。
[0038]在提供特定應用和其需求的情況下,以上描述使得本領域技術人員能夠實現本發明。對本領域技術人員來說,各種修飾是清楚的,以及在此定義的基本原理可以應用與其他實施方式。因此,本發明并不限于描述的特定實施方式,而應與在此公開的原則和新穎性特征相一致的最廣范圍相符合。在上述詳細描述中,為全面理解本發明,描述了各種特定細節。然而,本領域技術人員能夠理解本發明可以實現。
[0039]以上描述的本發明的實施方式可在各種硬件、軟件編碼或兩者組合中進行實施。例如,本發明的實施方式可為集成入視頻壓縮芯片的電路或集成入視頻壓縮軟件以執行上述過程的程序代碼。本發明的實施方式也可為在數據信號處理器(Digital SignalPrOCeSSOr,DSP)中執行上述程序的程序代碼。本發明也可涉及計算機處理器、數字信號處理器、微處理器或現場可編程門陣列(Field Programmable Gate Array,FPGA)執行的多種功能。可根據本發明配置上述處理器執行特定任務,其通過執行定義了本發明揭示的特定方法的機器可讀軟件代碼或固件代碼來完成。可將軟件代碼或固件代碼發展為不同的程序語言與不同的格式或形式。也可為了不同的目標平臺編譯軟件代碼。然而,根據本發明執行任務的軟件代碼與其他類型配置代碼的不同代碼樣式、類型與語言不脫離本發明的精神與范圍。
[0040]在不脫離本發明精神或本質特征的情況下,可以其他特定形式實施本發明。描述示例被認為僅在所有方面進行說明并且不是限制性的。因此,本發明的范圍由權利要求書指示,而非前面描述。所有在權利要求等同的方法與范圍中的變化都屬于本發明的涵蓋范圍。
【主權項】
1.一種利用自適應運動向量精度的編碼方法,其特征在于,該編碼方法用于視頻編碼系統的視頻數據區塊或該視頻數據區塊的運動向量,以及該運動向量的至少兩個運動向量精度被用于該視頻數據區塊,該編碼方法包括: 接收與當前區塊相關的輸入數據; 根據該當前區塊的預測模式、該當前區塊的分區類型、或其組合,決定是否利用該自適應運動向量精度以用于該當前區塊; 若該自適應運動向量精度被使用,則決定該當前區塊的當前運動向量的當前運動向量精度,并利用該當前運動向量精度,編碼該當前運動向量,以及 若該自適應運動向量精度不被使用,則利用較好的運動向量精度,編碼該當前運動向量。2.一種利用自適應運動向量精度的解碼方法,其特征在于,該解碼方法用于視頻解碼系統的視頻數據區塊或該視頻數據區塊的運動向量,以及該運動向量的至少兩個運動向量精度被用于該視頻數據區塊,該解碼方法包括: 接收當前區塊的已編碼數據; 根據自該已編碼數據得到的該當前區塊的預測模式、該當前區塊的分區類型、或其組合,決定是否利用該自適應運動向量精度以用于該當前區塊; 若該自適應運動向量精度被使用,自視頻比特流解析自適應運動向量精度語法元素或推斷該自適應運動向量精度語法元素,以決定該當前區塊的當前運動向量的當前運動向量精度,并利用該當前運動向量精度,解碼該當前運動向量;以及 若該自適應運動向量精度不被使用,則利用較好的運動向量精度,解碼該當前運動向量。3.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 若該當前區塊利用合并模式而被編碼,則該自適應運動向量精度被禁能以用于當前區塊。4.根據權利要求3所述的利用自適應運動向量精度的解碼方法,其特征在于, 該當前區塊對應于編碼單元,以及當前編碼單元被劃分為多個預測單元,若在該當前編碼單元中的所有預測單元利用該合并模式而被編碼,則該自適應運動向量精度被禁能或該自適應運動向量精度語法元素不被解析以用于該當前編碼單元。5.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 若該當前區塊對應于2Nx2N預測單元,則該自適應運動向量精度被禁能以用于該當前區塊。6.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 若該當前區塊對應于在合并模式或跳過模式中被編碼的2Nx2N預測單元,則該自適應運動向量精度被禁能以用于該當前區塊。7.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 高級自適應運動向量精度標志被發送于序列級、圖片級、條帶級,以根據該高級自適應運動向量精度標志,而使能或禁能該自適應運動向量精度以用于對應的序列、圖片、或條帶中的所有區塊。8.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于,若該自適應運動向量精度被用于該當前區塊,該解碼方法進一步包括解析或推斷當前運動向量精度語法元素,以決定當前運動向量精度,或解析當前自適應運動向量精度標志以指示該自適應運動向量精度被是否用于該當前區塊。9.根據權利要求8所述的利用自適應運動向量精度的解碼方法,其特征在于, 該運動向量精度語法元素、該當前自適應運動向量精度標志、或其組合,通過只有一個上下文的基于上下文的編碼而被編碼。10.根據權利要求8所述的利用自適應運動向量精度的解碼方法,其特征在于, 當在當前編碼單元中不是所有的預測單元被編碼于合并模式時,該運動向量精度語法元素、該當前自適應運動向量精度標志、或其組合在所有預測單元語法被發送之后而被編碼。11.根據權利要求8所述的利用自適應運動向量精度的解碼方法,其特征在于, 該運動向量精度語法元素、該當前自適應運動向量精度標志、或其組合在第一非合并模式預測單元之后而被編碼。12.根據權利要求8所述的利用自適應運動向量精度的解碼方法,其特征在于, 基于一個或多個相鄰區塊、該當前區塊、或該一個或多個相鄰區塊和該當前區塊的信息,該運動向量精度語法元素、該當前自適應運動向量精度標志、或其組合通過利用上下文模型的基于上下文的編碼而被編碼。13.根據權利要求12所述的利用自適應運動向量精度的解碼方法,其特征在于, 該一個或多個相鄰區塊的信息對應于左側區塊、或該左側區塊和上方區塊的運動向量精度。14.根據權利要求8所述的利用自適應運動向量精度的解碼方法,其特征在于, 基于該當前區塊的該預測模式、該當前區塊的該分區類型、或其組合,該運動向量精度語法元素、該當前自適應運動向量精度標志、或其組合利用上下文模型的基于上下文的編碼而被編碼。15.根據權利要求8所述的利用自適應運動向量精度的解碼方法,其特征在于, 若該自適應運動向量精度被用于該當前區塊以及該當前區塊對應于編碼單元或預測單元,該當前自適應運動向量精度標志被發送于條帶級、編碼單元級、或預測單元級以用于該當前區塊。16.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 該當前運動向量精度自相鄰區塊而被繼承。17.根據權利要求16所述的利用自適應運動向量精度的解碼方法,其特征在于, 若該當前區塊被編碼于合并模式、該當前運動向量精度自目標合并區塊的運動向量精度而被繼承。18.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 該當前運動向量精度對應于粗粒度,該當前區塊的該當前運動向量的運動向量預測子被舍入為該粗粒度。19.根據權利要求18所述的利用自適應運動向量精度的解碼方法,其特征在于, 該粗粒度對應于整數像素分辨率或1/2像素分辨率。20.根據權利要求2所述的利用自適應運動向量精度的解碼方法,其特征在于, 該當前運動向量精度與該當前運動向量的運動向量差值的該運動向量精度相關,以及該當前運動向量精度對應于粗粒度,該運動向量差值舍入至該粗粒度,以及該當前運動向量的運動向量預測子的該運動向量精度不變。21.—種利用自適應運動向量精度的編碼方法,其特征在于,該編碼方法用于視頻編碼系統的視頻數據區塊或該視頻數據區塊的運動向量,以及該運動向量的至少兩個運動向量精度被用于該視頻數據區塊,該編碼方法包括: 接收與當前區塊相關的輸入數據; 根據該當前區塊的預測模式、該當前區塊的分區類型、或其組合,選擇用于該當前區塊的當前自適應運動向量精度標志的值,以指示是否利用該自適應運動向量精度以用于該當前區塊; 若該當前自適應運動向量精度標志指示該自適應運動向量精度被使用,則決定該當前區塊的當前運動向量的當前運動向量精度,并利用該當前運動向量精度,編碼該當前運動向量,以及 若該當前自適應運動向量精度標志指示該自適應運動向量精度不被使用,則利用較好的運動向量精度,編碼該當前運動向量。22.根據權利要求21所述的利用自適應運動向量精度的編碼方法,其特征在于, 用于該當前區塊的該當前自適應運動向量精度標志的值被選擇,以指示若該當前區塊利用合并模式而被編碼,則該自適應運動向量精度被禁能以用于該當前區塊。23.根據權利要求22所述的利用自適應運動向量精度的編碼方法,其特征在于, 該當前區塊對應于編碼單元,以及該編碼單元被劃分為多個預測單元,若當前編碼單元中的所有預測單元利用該合并模式而被編碼,則該當前編碼單元的該當前自適應運動向量精度標志的值被選擇以指示該自適應運動向量精度被禁能或自適應運動向量精度語法元素不被發送以用于該當前編碼單元。24.根據權利要求21所述的利用自適應運動向量精度的編碼方法,其特征在于, 若該當前區塊對應于2Nx2N預測單元,該當前區塊的該當前自適應運動向量精度標志的值被選擇以指示該自適應運動向量精度被禁能以用于該當前區塊。25.根據權利要求21所述的利用自適應運動向量精度的編碼方法,其特征在于, 若該當前區塊對應于在合并模式或跳過模式中編碼的2Nx2N預測單元,該當前區塊的該當前自適應運動向量精度標志的值被選擇以指示該自適應運動向量精度被禁能以用于該當前區塊。26.根據權利要求21所述的利用自適應運動向量精度的編碼方法,其特征在于, 高級自適應運動向量精度標志被發送于序列級、圖片級、或條帶級,以根據該高級自適應運動向量精度標志,使能或禁能在相應的序列、圖片、或條帶中的所有區塊的該自適應運動向量精度。
【文檔編號】H04N19/105GK105874789SQ201580003698
【公開日】2016年8月17日
【申請日】2015年1月29日
【發明人】莊子德, 陳慶曄
【申請人】聯發科技股份有限公司