TW202308389A - 用於解碼器側運動向量細化的自我調整雙邊匹配 - Google Patents

用於解碼器側運動向量細化的自我調整雙邊匹配 Download PDF

Info

Publication number
TW202308389A
TW202308389A TW111123644A TW111123644A TW202308389A TW 202308389 A TW202308389 A TW 202308389A TW 111123644 A TW111123644 A TW 111123644A TW 111123644 A TW111123644 A TW 111123644A TW 202308389 A TW202308389 A TW 202308389A
Authority
TW
Taiwan
Prior art keywords
motion vector
block
refined
video
difference
Prior art date
Application number
TW111123644A
Other languages
English (en)
Inventor
黃翰
瓦迪姆 賽萊金
偉榮 錢
張智
陳俊啟
瑪塔 卡克基維克茲
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/847,942 external-priority patent/US11895302B2/en
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202308389A publication Critical patent/TW202308389A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

提供了用於處理視訊資料的系統和技術。例如,系統和技術可以包括獲得視訊資料的當前圖片以及從視訊資料獲得用於當前圖片的參考圖片。可以針對當前圖片決定合併模式候選。可以針對合併模式候選辨識第一和第二運動向量。可以從複數個運動向量搜尋策略中為合併模式候選選擇運動向量搜尋策略。所選擇的運動向量搜尋策略可以與對應於第一運動向量或第二運動向量中的至少一項的一或多個約束相關聯。所選擇的運動向量搜尋策略可以用於基於第一運動向量、第二運動向量和參考圖片來決定經細化的運動向量。可以使用經細化的運動向量來處理合併模式候選。

Description

用於解碼器側運動向量細化的自我調整雙邊匹配
概括而言,本案內容係關於視訊編碼和解碼。例如,本案內容的各態樣包括改進與使用雙邊匹配的解碼器側運動向量細化(DMVR)相關的視訊譯碼技術。
數位視訊能力可以被合併到各種各樣的設備中,包括數位電視機、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型電腦或桌上型電腦、平板電腦、電子書閱讀器、數位相機、數位記錄設備、數位媒體播放機、視訊遊戲裝置、視訊遊戲控制台、蜂巢或衛星無線電電話(所謂的「智慧型電話」)、視訊電話會議設備、視訊流設備等。這樣的設備使得視訊資料被處理和輸出以供消費。數位視訊資料包括大量資料,以滿足消費者和視訊提供者的需求。例如,視訊資料的消費者期望最高品質的、具有高保真度、高解析度、高畫面播放速率等的視訊。結果,為了滿足這些需求所需要的大量視訊資料為處理和儲存視訊資料的通訊網路和設備帶來了負擔。
數位視訊設備可以實現用於對視訊資料進行壓縮的視訊譯碼技術。根據一或多個視訊譯碼標準或格式來執行視訊譯碼。例如,視訊譯碼標準或格式包括通用視訊譯碼(VVC)、高效率視訊譯碼(HEVC)、高級視訊譯碼(AVC)、MPEG-2第2部分譯碼(MPEG代表運動影像專家組)等等、以及專有的視訊轉碼器/格式(諸如由開放媒體聯盟開發的AOMedia video 1(AV1))。視訊編碼通常利用預測方法(例如,訊框間預測、訊框內預測等),預測方法利用在視訊影像或序列中存在的冗餘。視訊譯碼技術的一個目標是將視訊資料壓縮為使用較低位元速率的形式,同時避免或最小化對視訊品質的降級。隨著不斷發展的視訊服務變得可用,需要具有更好的譯碼效率的譯碼技術。
在一些實例中,描述了用於使用自我調整雙邊匹配的解碼器側運動向量細化(DMVR)的系統和技術。根據至少一個說明性實例,提供了一種用於處理視訊資料的裝置,該裝置包括至少一個記憶體(例如,被配置為儲存資料,諸如視訊資料等)和耦合到該至少一個記憶體的至少一個處理器(例如,在電路中實現)。該至少一個處理器被配置為並且能夠進行以下操作:獲得用於當前圖片的一或多個參考圖片;辨識用於合併模式候選的第一運動向量和第二運動向量;從複數個運動向量搜尋策略中決定用於該合併模式候選的所選運動向量搜尋策略;使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及使用該一或多個經細化的運動向量來處理該合併模式候選。
在另一實例中,提供了一種用於處理視訊資料的方法。該方法包括:獲得用於當前圖片的一或多個參考圖片;辨識用於合併模式候選的第一運動向量和第二運動向量;從複數個運動向量搜尋策略中決定用於該合併模式候選的所選運動向量搜尋策略;使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及使用該一或多個經細化的運動向量來處理該合併模式候選。
在另一實例中,提供了一種具有儲存在其上的指令的非暫時性電腦可讀取媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器進行以下操作:獲得用於當前圖片的一或多個參考圖片;辨識用於合併模式候選的第一運動向量和第二運動向量;從複數個運動向量搜尋策略中決定用於該合併模式候選的所選運動向量搜尋策略;使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及使用該一或多個經細化的運動向量來處理該合併模式候選。
在另一實例中,提供了一種用於處理視訊資料的裝置。該裝置包括:用於獲得用於當前圖片的一或多個參考圖片的單元;用於辨識用於合併模式候選的第一運動向量和第二運動向量的單元;用於從複數個運動向量搜尋策略中決定用於該合併模式候選的所選運動向量搜尋策略的單元;用於使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量的單元;及用於使用該一或多個經細化的運動向量來處理該合併模式候選的單元。
該發明內容既不意欲標識所要求保護的主題的關鍵或必要特徵,亦不意欲單獨用於決定所要求保護的主題的範疇。經由參考本專利的整個說明書的適當部分、任何或所有附圖以及每個請求項,應當理解該主題。
在參考以下說明書、請求項和附圖之後,前述內容以及其他特徵和態樣將變得更加明白易懂的。
下文提供了本案內容的某些態樣和態樣。如對於本發明所屬領域中具有通常知識者將顯而易見的,這些態樣和態樣中的一些可以獨立地應用,並且它們中的一些可以相結合地應用。在以下描述中,出於解釋的目的,闡述了具體細節以便提供對本案的態樣的透徹理解。然而,將顯而易見的是,可以在沒有這些具體細節的情況下實施各個態樣。附圖和描述並不意欲是限制性的。
隨後的描述僅提供了示例性態樣,並且不意欲限制本案內容的範疇、適用性或配置。確切而言,對這些示例性態樣的隨後描述將向本發明所屬領域中具有通常知識者提供用於實現示例性態樣的可行描述。應當理解的是,在不脫離如在所附的申請專利範圍中闡述的本案的精神和範疇的情況下,可以對元素的功能和佈置進行各種改變。
視訊譯碼設備(例如,編碼設備、解碼設備或組合編碼解碼設備)實現視訊壓縮技術以對視訊資料高效地編碼及/或解碼。視訊壓縮技術可以包括應用不同的預測模式(包括空間預測(例如,訊框內預測(intra-frame prediction)或訊框內預測(intra-prediction))、時間預測(例如,訊框間預測(inter-frame prediction)或訊框間預測(inter-prediction))、層間預測(跨視訊資料的不同層)、及/或其他預測技術),以減少或去除在視訊序列中固有的冗餘。視訊轉碼器可以將原始視訊序列的每個影像分割為矩形區域,該矩形區域被稱為視訊塊或譯碼單元(下文將更加詳細地描述)。可以使用特定的預測模式來對這些視訊塊進行編碼。
視訊塊可以以一或多個方式劃分為一組或多組較小的塊。塊可以包括譯碼樹塊、預測塊、變換塊或其他適當的塊。除非另外指定,否則通常對「塊」的引用可以代表這樣的視訊塊(例如,如本發明所屬領域中具有通常知識者將理解的,譯碼樹塊、譯碼塊、預測塊、變換塊或其他適當的塊或子塊)。此外,這些塊之每一者塊在本文中亦可以被互換地稱為「單元」(例如,譯碼樹單元(CTU)、譯碼單元、預測單元(PU)、變換單元(TU)等)。在一些情況下,單元可以指示被編碼在位元串流中的譯碼邏輯單元,而塊可以指示程序所針對的視訊訊框緩衝器中的一部分。
對於訊框間預測模式,視訊轉碼器可以搜尋在訊框(或影像)(被稱為參考訊框或參考影像)中位於另一時間位置上的與正被編碼的塊類似的塊。視訊轉碼器可以將搜尋限制為與要被編碼的塊相距特定的空間位移。可以使用包括水平位移分量和垂直位移分量的二維(2D)運動向量來定位最佳匹配。對於訊框內預測模式,視訊轉碼器可以基於來自同一影像內的先前編碼的相鄰塊的資料,使用空間預測技術來形成預測塊。
視訊轉碼器可以決定預測誤差。例如,可以將預測決定為在正被編碼的塊與預測塊中的圖元值之間的差。預測誤差亦可以被稱為殘差。視訊轉碼器亦可以將變換應用於預測誤差(例如,離散餘弦變換(DCT)或其他適當的變換)以產生變換係數。在變換之後,視訊轉碼器可以對變換係數進行量化。經量化的變換係數和運動向量可以使用語法元素來表示,並且與控制資訊一起形成視訊序列的譯碼表示。在一些情況下,視訊轉碼器可以對語法元素進行熵解碼,從而進一步減少需要用於其表示的位元數量。
視訊解碼器可以使用以上論述的語法元素和控制資訊來構造用於對當前訊框進行解碼的預測資料(例如,預測塊)。例如,視訊解碼器可以將預測塊和經壓縮的預測誤差相加。視訊解碼器可以經由使用量化係數對變換基函數進行加權來決定經壓縮的預測誤差。在經重構的訊框與原始訊框之間的差被稱為重構誤差。
本文描述了用於提高視訊譯碼設備(例如,視訊解碼器或解碼設備)在執行預測技術(例如,訊框間預測模式)時可以使用的一或多個運動向量的精度的系統、裝置、程序(亦被稱為方法)和電腦可讀取媒體(本文被統稱為「系統和技術」)。例如,系統和技術可以執行雙邊匹配以進行解碼器側運動向量細化(DMVR)。雙邊匹配是一種細化兩個初始運動向量對的技術。這樣的細化可以經由初始運動向量對周圍的搜尋來獲得使塊匹配成本最小化的經更新的運動向量。可以以多種方式來產生塊匹配成本,包括使用絕對差和(SAD)準則、絕對變換差和(SATD)準則、平方誤差和(SSE)準則或其他此類準則。本文描述的各態樣可以提高雙預測合併候選的運動向量的精度,從而導致根據本文描述的各態樣操作的設備的改進的視訊品質和相關聯的改進的效能。
在一些態樣中,系統和技術可以用於執行用於DMVR的自我調整雙邊匹配。例如,系統和技術可以針對不同的譯碼塊使用不同的搜尋策略及/或搜尋參數來執行雙邊匹配。如下文將更深入地解釋的,用於DMVR的自我調整雙邊匹配可以是基於針對給定塊來決定或用訊號通知的所選搜尋策略的。所選搜尋策略可以包括針對雙邊匹配搜尋程序的一或多個約束。在一些實例中,所選搜尋策略可以補充或替代地包括針對第一運動向量差及/或第二運動差的一或多個約束。在一些實例中,所選搜尋策略可以包括第一運動向量差與第二運動向量差之間的一或多個約束。
在一些態樣中,為要細化的運動向量選擇約束。該約束可以是鏡像約束、針對第一向量的零約束、針對第二向量的零約束或其他類型的約束。在一些情況下,約束應用於滿足一或多個DMVR條件的合併候選內的合併模式譯碼塊。隨後,可以將一或多個約束與一或多個搜尋策略一起使用,以辨識候選物件並且選擇經細化的運動向量。
在一些態樣中,使用不同的搜尋策略。搜尋策略可以被群組為多個子集,其中每個子集包括一或多個搜尋策略。在一些情況下,解碼器可以使用語法元素來決定所選子集。例如,編碼器可以在位元串流中包括語法元素。在這樣的實例中,解碼器可以接收位元串流並且從位元串流解碼語法元素。解碼器可以使用語法元素來決定所選子集和針對位元串流中包括的視訊資料的一或多個給定塊的任何相關聯的約束。使用所選子集和與該子集相關聯的任何約束,解碼器可以處理運動向量(例如,雙預測合併候選的兩個運動向量)以辨識經細化的運動向量。在一個說明性態樣中,提供了自我調整雙邊模式,其中譯碼設備用訊號通知滿足相關DMVR條件的所選運動資訊候選(例如,其中將訊號結構作為新的自我調整雙邊模式的一部分)。
使用上述搜尋策略和相關聯的約束可以提供對解碼器側運動向量細化的改進,例如,經由使用可選搜尋演算法和相關聯的約束來提供自我調整雙邊運動向量細化。解碼器側運動向量細化的此類改進可以與各種視訊轉碼器一起使用,諸如增強型壓縮模型(ECM)實現。本文描述的實例包括應用於多通路DMVR的實現,以改進根據一或多個視訊譯碼標準操作的ECM系統。本文描述的技術可以使用一或多個解碼設備來實現,包括一或多個編碼設備、解碼設備或組合編碼解碼設備。解碼設備可以由以下各者中的一者或多者來實現:播放機設備(諸如行動設備)、擴展現實(XR)設備、車輛或車輛的計算系統、伺服器設備或系統(例如,包括多個伺服器的分散式伺服器系統、單個伺服器設備或系統等)、或其他設備或系統。
本文描述的系統和技術可以應用於任何現有視訊轉碼器、任何正在開發的視訊轉碼器及/或任何未來的視訊譯碼標準,包括但不限於高效率視訊譯碼(HEVC)、高級視訊譯碼(AVC)、通用視訊譯碼(VVC)、VP9、AOMedia視訊1(AV1)格式/轉碼器及/或現有的、正在開發或將開發的其他視訊譯碼標準。本文描述的系統和技術可以經由利用基於本文描述的來自自我調整雙邊匹配的改進的運動向量選擇的改進的壓縮和相關聯的改進的視訊品質來改進設備的視訊資料傳輸效能,從而改進系統中的通訊系統和設備的操作。
圖1是示出包括編碼設備104和解碼設備112的系統100的實例的方塊圖。編碼設備104可以是源設備的一部分,並且解碼設備112可以是接收設備的一部分。源設備及/或接收設備可以包括電子設備,諸如行動或固定電話手機(例如,智慧手機、蜂巢式電話等)、桌上型電腦、膝上型電腦或筆記型電腦、平板電腦、機上盒、電視機、相機、顯示裝置、數位媒體播放機、視訊遊戲控制台、視訊流設備、網際網路協定(IP)相機、或任何其他適當的電子設備。在一些實例中,源設備和接收設備可以包括用於無線通訊的一或多個無線收發機。本文描述的譯碼技術適用於在各種多媒體應用中的視訊譯碼,包括流式視訊傳輸(例如,經由網際網路)、電視廣播或傳輸、對用於儲存在資料儲存媒體上的數位視訊的編碼、對被儲存在資料儲存媒體上的數位視訊的解碼、或其他應用。如本文所使用的,術語譯碼(coding)可以代表編碼(encoding)及/或解碼(decoding)。在一些實例中,系統100可以支援單向或雙向視訊傳輸,以支援諸如視訊會議、視訊資料串流、視訊重播、視訊廣播、遊戲及/或視訊電話之類的應用。
編碼設備104(或編碼器)可以用於使用視訊譯碼標準、格式、轉碼器或協定來對視訊資料進行編碼,以產生經編碼的視訊位元串流。視訊解碼標準和格式/轉碼器的實例包括ITU-T H.261、ISO/IEC MPEG-1視訊(visual)、ITU-T H.262或ISO/IEC MPEG-2視訊、ITU-T H.263、ISO/IEC MPEG-4視訊、ITU-T H.264(亦被稱為ISO/IEC MPEG-4 AVC)(包括其可伸縮視訊譯碼(SVC)和多視圖視訊譯碼(MVC)擴展)、高效率視訊譯碼(HEVC)或ITU-T H.265、以及通用視訊譯碼(VVC)或ITU-T H.266。存在涉及多層視訊譯碼的對HEVC的各種擴展,包括範圍和螢幕內容譯碼擴展、3D視訊譯碼(3D-HEVC)和多視圖擴展(MV-HEVC)和可伸縮擴展(SHVC)。ITU-T視訊譯碼專家組(VCEG)和ISO/IEC運動影像專家組(MPEG)的視訊譯碼聯合協調小組(JCT-VC)以及3D視訊譯碼擴展開發聯合協調小組(JCT-3V)已經開發了HEVC及其擴展。VP9、由開放媒體聯盟(AOMedia)開發的AOMedia Video 1(AV1)和基本視訊譯碼(EVC)是本文描述的技術可以被應用於其的其他視訊譯碼標準。
本文描述的技術可以應用於現有視訊轉碼器(例如,高效率視訊譯碼(HEVC)、高級視訊譯碼(AVC)或其他適當的現有視訊轉碼器)中的任何一者,及/或可以是用於正在開發的任何視訊譯碼標準及/或將來的視訊譯碼標準(諸如,正在開發或將要開發的VVC及/或其他視訊譯碼標準)的高效譯碼工具。例如,可以使用諸如VVC、HEVC、AVC及/或其擴展之類的視訊轉碼器來執行本文描述的實例。然而,本文描述的技術和系統亦可以適用於其他譯碼標準、轉碼器或格式,諸如MPEG、JPEG(或用於靜止影像的其他譯碼標準)、VP9、AV1、其擴展、或已經可用或尚不可用或開發的其他適當的譯碼標準。例如,在一些實例中,編碼設備104及/或解碼設備112可以根據專有的視訊轉碼器/格式(諸如AV1、AVI的擴展及/或AV1的後續版本(例如,AV2)或其他專有的格式或行業標準)來操作。因此,儘管可能參考特定的視訊譯碼標準來描述本文描述的技術和系統,但是本發明所屬領域中具有通常知識者將明白的是,不應當將該描述解釋為僅適用於該特定標準。
參照圖1,視訊源102可以將視訊資料提供給編碼設備104。視訊源102可以是源設備的一部分,或者可以是除了源設備之外的設備的一部分。視訊源102可以包括視訊擷取裝置(例如,攝像機、照相電話、視訊電話等),包含被儲存的視訊的視訊存檔單元、提供視訊資料的視訊伺服器或內容提供者、從視訊伺服器或內容提供者接收視訊的視訊饋送介面、用於產生電腦圖形視訊資料的電腦圖形系統、此類源的組合、或任何其他適當的視訊源。
來自視訊源102的視訊資料可以包括一或多個輸入圖片或訊框。圖片或訊框是靜止影像,其在一些情況下是視訊的一部分。在一些實例中,來自視訊源102的資料可以是不作為視訊的一部分的靜止影像。在HEVC、VVC和其他視訊譯碼規範中,視訊序列可以包括一系列圖片。圖片可以包括三個取樣陣列,其被表示為SL、SCb和SCr。SL是亮度取樣的二維陣列,SCb是Cb色度取樣的二維陣列,並且SCr是Cr色度取樣的二維陣列。色度(chrominance)取樣在本文中亦可以被稱為「色度(chroma)」取樣。圖元可以代表針對圖片的陣列中的給定位置的所有三個分量(亮度和色度取樣)。在其他情況下,圖片可以是單色的,並且可以僅包括亮度取樣的陣列,在此種情況下,術語圖元和取樣可以互換地使用。關於本文中出於說明性目的而描述的提及各個取樣的實例技術,可以將相同技術應用於圖元(例如,針對圖片的陣列中的給定位置的所有三個取樣分量)。關於本文中出於說明性目的而描述的提及圖元(例如,針對圖片的陣列中的給定位置的所有三個取樣分量)的實例技術,可以將相同的技術應用於各個取樣。
編碼設備104的編碼器引擎106(或編碼器)對視訊資料進行編碼以產生經編碼的視訊位元串流。在一些實例中,經編碼的視訊位元串流(或「視訊位元串流」或「位元串流」)是一系列的一或多個經譯碼的視訊序列。經譯碼的視訊序列(CVS)包括一系列存取單元(AU),該一系列存取單元從在基本層中具有隨機存取點圖片並且具有某些屬性的AU開始直到在基本層中具有隨機存取點圖片並且具有某些屬性的下一個AU,並且不包括該下一個AU。例如,開始CVS的隨機存取點圖片的某些屬性可以包括等於1的RASL標誌(例如,NoRaslOutputFlag)。否則,隨機存取點圖片(其中RASL標誌等於0)並不開始CVS。存取單元(AU)包括一或多個經譯碼的圖片以及與共享相同輸出時間的經譯碼的圖片相對應的控制資訊。圖片的經譯碼的切片在位元串流級別被封裝為資料單元,該資料單元被稱為網路抽象層(NAL)單元。例如,HEVC視訊位元串流可以包括一或多個CVS,其包括NAL單元。NAL單元之每一者NAL單元具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC(除了多層擴展之外)為一個位元組,而對於HEVC為兩個位元組。NAL單元標頭中的語法元素採用指定的位元,並且因此對於所有種類的系統和傳輸層(諸如傳輸串流、即時傳輸(RTP)協定、檔案格式以及其他)皆是可見的。
在HEVC標準中存在兩類NAL單元,包括視訊譯碼層(VCL)NAL單元和非VCL NAL單元。VCL NAL單元包括形成經譯碼的視訊位元串流的經譯碼的圖片資料。例如,形成經譯碼的視訊位元串流的位元序列存在於VCL NAL單元中。VCL NAL單元可以包括一個切片或切片段(下文描述),並且非VCL NAL單元包括與一或多個經譯碼的圖片有關的控制資訊。在一些情況下,NAL單元可以被稱為封包。HEVC AU包括:包含經譯碼的圖片資料的VCL NAL單元、以及與經譯碼的圖片資料相對應的非VCL NAL單元(若有的話)。除了其他資訊之外,非VCL NAL單元亦可以包含具有與經譯碼的視訊位元串流有關的高級資訊的參數集。例如,參數集可以包括視訊參數集(VPS)、序列參數集(SPS)和圖片參數集(PPS)。在一些情況下,位元串流的每個切片或其他部分可以引用單個有效的PPS、SPS及/或VPS,以允許解碼設備112存取可以用於對位元串流的切片或其他部分進行解碼的資訊。
NAL單元可以包含形成視訊資料的譯碼表示的位元序列(例如,經編碼的視訊位元串流、位元串流的CVS等),諸如在視訊中的圖片的譯碼表示。編碼器引擎106經由將每個圖片分割為多個切片來產生圖片的譯碼表示。一切片是獨立於其他切片的,使得可以對該切片中的資訊進行譯碼,而不依賴於來自在同一圖片內的其他切片的資料。切片包括一或多個切片段,其包括獨立的切片段以及(若存在的話)依賴於先前切片段的一或多個從屬切片段。
在HEVC中,隨後將切片分割為亮度取樣和色度取樣的譯碼樹塊(CTB)。亮度取樣的CTB和色度取樣的一或多個CTB連同用於取樣的語法一起被稱為譯碼樹單元(CTU)。CTU亦可以被稱為「樹塊」或「最大譯碼單元」(LCU)。CTU是用於HEVC編碼的基本處理單元。CTU可以被拆分為大小不同的多個譯碼單元(CU)。CU包含被稱為譯碼塊(CB)的亮度和色度取樣陣列。
亮度和色度CB可以被進一步拆分為預測塊(PB)。PB是亮度分量或色度分量的取樣塊,其使用相同的運動參數來進行訊框間預測或塊內複製(IBC)預測(當可用或被啟用以供使用時)。亮度PB和一或多個色度PB連同關聯的語法一起形成預測單元(PU)。對於訊框間預測,運動參數集(例如,一或多個運動向量、參考索引等)是在用於每個PU的位元串流中用訊號通知的,並且用於亮度PB和一或多個色度PB的訊框間預測。運動參數亦可以被稱為運動資訊。CB亦可以被分割為一或多個變換塊(TB)。TB表示色彩分量的取樣的正方形塊,其中殘差變換(例如,在一些情況下,相同的二維變換)被應用於其以對預測殘留訊號進行譯碼。變換單元(TU)表示亮度和色度取樣的TB以及對應的語法元素。以下更加詳細地描述變換譯碼。
CU的大小對應於譯碼模式的大小並且可以是正方形形狀。例如,CU的大小可以是8 x 8個取樣、16 x 16個取樣、32 x 32個取樣、64 x 64個取樣、或高達對應的CTU的大小的任何其他適當的大小。短語「N x N」在本文中用於代表視訊塊在垂直和水平維度態樣的圖元尺寸(例如,8個圖元x 8個圖元)。塊中的圖元可以是按行和列來排列的。在一些實現中,塊在水平方向上可以不具有與垂直方向上相同數量的圖元。與CU相關聯的語法資料可以描述例如將CU分割為一或多個PU。分割模式可以在CU是經訊框內預測模式編碼的亦是經訊框間預測模式編碼的之間而不同。PU可以被分割為非正方形形狀。與CU相關聯的語法資料亦可以例如描述根據CTU將CU分割為一或多個TU。TU可以是正方形或非正方形形狀。
根據HEVC標準,可以使用變換單元(TU)來執行變換。對於不同的CU,TU可以不同。可以基於在給定CU內的PU的大小來設定TU的大小。TU可以具有與PU相同的大小或者小於PU。在一些實例中,可以使用被稱為殘差四叉樹(RQT)的四叉樹結構來將與CU相對應的殘差取樣細分為更小的單元。RQT的蔓葉線節點可以對應於TU。與TU相關聯的圖元差值可以被變換以產生變換係數。隨後可以由編碼器引擎106對變換係數進行量化。
一旦視訊資料的圖片被分割為CU,編碼器引擎106就使用預測模式來預測每個PU。隨後從原始視訊資料中減去預測單元或預測塊以獲得殘差(下文描述)。對於每個CU,可以使用語法資料在位元串流內用訊號通知預測模式。預測模式可以包括訊框內預測(或圖片內預測)或訊框間預測(或圖片間預測)。訊框內預測利用在圖片內在空間上相鄰的取樣之間的相關性。例如,使用訊框內預測,每個PU是從在相同圖片中的相鄰影像資料進行預測的,使用例如DC預測以找到用於PU的平均值,使用平面預測以使平面表面適配PU,使用方向預測以從相鄰資料進行推斷,或者使用任何其他適當的預測類型。訊框間預測使用在圖片之間的時間相關性,以便推導出用於影像取樣塊的運動補償預測。例如,使用訊框間預測,每個PU是使用運動補償預測來從在一或多個參考圖片(按照輸出順序在當前圖片之前或之後)中的影像資料進行預測的。例如,可以在CU級別處作出是使用圖片間預測還是使用圖片內預測來對圖片區域進行解碼的決定。
編碼器引擎106和解碼器引擎116(下文更加詳細地描述的)可以被配置為根據VVC進行操作。根據VVC,視訊解碼器(諸如編碼器引擎106及/或解碼器引擎116)將圖片分割為複數個譯碼樹單元(CTU)(其中亮度取樣的CTB和色度取樣的一或多個CTB,以及用於取樣的語法一起被稱為CTU)。視訊解碼器可以根據樹結構(諸如四叉樹-二叉樹(QTBT)結構或多類型樹(MTT)結構)來分割CTU。QTBT結構去除了多種分割類型的概念,諸如在HEVC的CU、PU和TU之間的區分。QTBT結構包括兩個級別,其包括:根據四叉樹分割而被分割的第一級別、以及根據二叉樹分割而被分割的第二級別。QTBT結構的根節點對應於CTU。二叉樹的葉節點對應於譯碼單元(CU)。
在MTT分割結構中,可以使用四叉樹分割、二叉樹分割以及一或多個類型的三叉樹分割來對塊進行分割。三叉樹分割是其中塊被分為三個子塊的分割。在一些實例中,三叉樹分割將塊劃分為三個子塊,而不經由中心來劃分原始塊。MTT中的分割類型(例如,四叉樹、二叉樹和三叉樹)可以是對稱的或不對稱的。
當根據AV1轉碼器進行操作時,編碼設備104和解碼設備112可以被配置為以塊來對視訊資料進行解碼。在AV1中,可以處理的最大譯碼塊被稱為超級塊。在AV1中,超級塊可以是128x128個亮度取樣或64x64 個亮度取樣。然而,在後續視訊譯碼格式(例如,AV2)中,超級塊可以由不同(例如,更大)的亮度取樣大小來定義。在一些實例中,超級塊是塊四叉樹的頂部級別。編碼設備104可以進一步將超級塊分割為較小的譯碼塊。編碼設備104可以使用正方形或非正方形分割來將超級塊和其他譯碼塊分割為較小的塊。非正方形塊可以包括N/2xN、NxN/2、N/4xN和NxN/4塊。編碼設備104和解碼設備112可以對譯碼塊中的每一者執行單獨的預測和變換程序。
AV1亦定義了視訊資料的瓦片。瓦片是超級塊的矩形陣列,其可以獨立於其他瓦片進行譯碼。亦即,編碼設備104和解碼設備112可以分別對瓦片內的譯碼塊進行編碼和解碼,而不使用來自其他瓦片的視訊資料。然而,編碼設備104和解碼設備112可以跨瓦片邊界來執行濾波。瓦片在大小態樣可以是均勻的或不均勻的。基於瓦片的譯碼可以實現用於編碼器和解碼器實現的並行處理及/或多執行緒。
在一些實例中,視訊解碼器可以使用單個QTBT或MTT結構來表示亮度和色度分量中的每一者,而在其他實例中,視訊解碼器可以使用兩個或兩個以上QTBT或MTT結構,諸如用於亮度分量的一個QTBT或MTT結構以及用於兩個色度分量的另一個QTBT或MTT結構(或者用於相應色度分量的兩個QTBT及/或MTT結構)。
視訊解碼器可以被配置為使用四叉樹分割、QTBT分割、MTT分割、超級塊分割、或其他分割結構。
在一些實例中,圖片的一或多個切片被指派切片類型。切片類型包括經訊框內譯碼的切片(I-切片)、經訊框間譯碼的切片(P-切片)和經訊框間譯碼的切片(B切片)。I切片(訊框內,可獨立地解碼)是圖片的僅經由訊框內預測來譯碼的切片,並且因此是可獨立解碼的,這是因為I切片僅需要訊框內的資料來預測切片的任何預測單元或預測塊。P切片(單向預測訊框)是圖片的可以利用訊框內預測和單向訊框間預測來譯碼的切片。P切片內的每個預測單元或預測塊是利用訊框內預測或訊框間預測來譯碼的。當應用訊框間預測時,預測單元或預測塊是僅經由一個參考圖片來預測的,並且因此參考取樣僅來自一個訊框的一個參考區域。B切片(雙向預測訊框)是圖片的可以利用訊框內預測和訊框間預測(例如,雙向預測或單向預測)來譯碼的切片。可以從兩個參考圖片來對B切片的預測單元或預測塊進行雙向預測,其中每個圖片貢獻一個參考區域,並且對兩個參考區域的取樣集合進行加權(例如,利用相等的權重或利用不同的權重)以產生雙向預測塊的預測訊號。如上所解釋的,一個圖片的切片被獨立地解碼。在一些情況下,圖片可以僅作為一個切片被譯碼。
如上所提到的,圖片的圖片內預測利用在該圖片內的空間相鄰取樣之間的相關性。存在複數種訊框內預測模式(亦被稱為「訊框內模式」)。在一些實例中,亮度塊的訊框內預測包括35種模式,其包括平面模式、DC模式和33種角度模式(例如,對角訊框內預測模式和與對角訊框內預測模式鄰接的角度模式)。如以下表1所示,對35種訊框內預測模式進行索引。在其他實例中,可以定義更多的訊框內模式,其包括可能尚未由33個角度模式表示的預測角度。在其他實例中,與角度模式相關聯的預測角度可以不同於在HEVC中使用的那些預測角度。
訊框內預測模式 關聯的名稱
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
表1 – 訊框內預測模式和相關聯的名稱的規範
圖片間預測使用在圖片之間的時間相關性,以便推導針對影像取樣塊的運動補償預測。使用平移運動模型,在先前解碼的圖片(參考圖片)中塊的位置由運動向量(
Figure 02_image001
表示,其中
Figure 02_image003
指定參考塊相對於當前塊的位置的水平位移,而
Figure 02_image005
指定參考塊相對於當前塊的位置的垂直位移。在一些情況下,運動向量(
Figure 02_image007
Figure 02_image005
)可以是整數取樣精確度(亦被稱為整數精確度),在這種情況下,運動向量指向參考訊框的整數圖元網格(或整數圖元取樣網格)。在一些情況下,運動向量(
Figure 02_image007
Figure 02_image005
)可以具有分數取樣精確度(亦被稱為分數圖元精確度或非整數精確度),以更加準確地擷取基礎物件的運動,而不受限於參考訊框的整數圖元網格。運動向量的精確度可以經由運動向量的量化位準來表達。例如,量化位準可以是整數精確度(例如,1圖元)或分數圖元精確度(例如,¼圖元、½圖元或其他圖元以下的值)。當對應的運動向量具有分數取樣精確度時,將內插應用於參考圖片以推導預測訊號。例如,可以對在整數位置處可用的取樣進行濾波(例如,使用一或多個內插濾波器)以估計在分數位置處的值。先前解碼的參考圖片由針對參考圖片列表的參考索引(refIdx)來指示。運動向量和參考索引可以被稱為運動參數。可以執行兩種圖片間預測,其包括單預測和雙預測。
在使用雙預測進行訊框間預測(亦被稱為雙向訊框間預測)的情況下,使用兩個運動參數集 (
Figure 02_image009
Figure 02_image011
Figure 02_image013
Figure 02_image015
)來產生兩個運動補償預測(來自同一參考圖片或可能來自不同的參考圖片)。例如,在雙預測的情況下,每個預測塊使用兩個運動補償預測訊號,並且產生B個預測單元。隨後,將兩個運動補償預測進行組合以獲得最終的運動補償預測。例如,可以經由進行平均來組合兩個運動補償預測。在另一實例中,可以使用加權預測,在這種情況下,可以將不同的權重應用於每個運動補償預測。可以在雙預測中使用的參考圖片被儲存在兩個單獨的列表中,分別被表示為列表0和列表1。可以在編碼器處使用運動估計程序來推導運動參數。
在使用單預測進行訊框間預測(亦被稱為單向訊框間預測)的情況下,使用一個運動參數集(
Figure 02_image009
Figure 02_image011
)來從參考圖片產生運動補償預測。例如,在單預測的情況下,每個預測塊最多使用一個運動補償預測訊號,並且產生P個預測單元。
PU可以包括與預測程序相關的資料(例如,運動參數或其他適當的資料)。例如,當PU是使用訊框內預測來編碼時,PU可以包括描述用於PU的訊框內預測模式的資料。作為另一實例,當PU是使用訊框間預測來編碼的時,PU可以包括定義用於PU的運動向量的資料。定義用於PU的運動向量的資料可以描述例如運動向量的水平分量(
Figure 02_image017
)、運動向量的垂直分量(
Figure 02_image019
)、用於運動向量的解析度(例如,整數精度、四分之一圖元精度、或八分之一圖元精度)、運動向量所指向的參考圖片、參考索引、用於運動向量的參考圖片列表(例如,列表0、列表1或列表C)、或其任何組合。
AV1包括用於編碼和解碼視訊資料的譯碼塊的兩種通用技術。這兩種通用技術是訊框內預測(例如,訊框內預測或空間預測)和訊框間預測(例如,訊框間預測或時間預測)。在AV1的背景下,當使用訊框內預測模式來預測視訊資料的當前訊框的塊時,編碼設備104和解碼設備112不使用來自視訊資料的其他訊框的視訊資料。對於大多數訊框內預測模式,視訊編碼設備104基於當前塊中的取樣值與根據同一訊框中的參考取樣產生的預測值之間的差來對當前訊框的塊進行編碼。視訊編碼設備104決定基於訊框內預測模式、根據參考取樣而產生的預測值。
在使用訊框內預測及/或訊框間預測執行預測之後,編碼設備104隨後可以執行變換和量化。例如,在預測之後,編碼器引擎106可以計算與PU相對應的殘差值。殘差值可以包括在正被譯碼的當前區塊(PU)與用於預測當前塊的預測塊(例如,當前塊的預測版本)之間的圖元差值。例如,在產生預測塊(例如,實行訊框間預測或訊框內預測)之後,編碼器引擎106可以經由從當前塊中減去由預測單元產生的預測塊來產生殘差塊。殘差塊包括圖元差值集合,其對在當前塊的圖元值與預測塊的圖元值之間的差進行量化。在一些實例中,可以用二維塊格式(例如,圖元值的二維矩陣或陣列)來表示殘差塊。在這樣的實例中,殘差塊是圖元值的二維表示。
使用塊變換來對在執行預測之後可能剩餘的任何殘差資料進行變換,塊變換可以是基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他適當的變換函數、或其任何組合的。在一些情況下,可以將一或多個塊變換(例如,大小32 x 32、16 x 16、8 x 8、4 x 4或其他適當的大小)應用於每個CU中的殘差資料。在一些態樣中,可以將TU用於由編碼器引擎106實現的變換和量化程序。具有一或多個PU的給定CU亦可以包括一或多個TU。如下文進一步詳細描述的,殘差值可以使用塊變換而被變換為變換係數,並且隨後可以使用TU進行量化和掃瞄,以產生用於熵譯碼的序列化變換係數。
在一些態樣中,在使用CU的PU進行訊框內預測或訊框間預測譯碼之後,編碼器引擎106可以計算用於CU的TU的殘差資料。PU可以包括空間域(或圖元域)中的圖元資料。TU可以包括在應用塊變換之後在變換域中的係數。如前述,殘差資料可以對應於在未被編碼的圖片的圖元與對應於PU的預測值之間的圖元差值。編碼器引擎106可以形成包括用於CU的殘差資料的TU,並且隨後可以對TU進行變換以產生用於CU的變換係數。
編碼器引擎106可以執行變換係數的量化。量化經由對變換係數進行量化以減少用於表示係數的資料量來提供進一步的壓縮。例如,量化可以減小與係數中的一些或所有係數相關聯的位元深度。在一個實例中,具有n位元值的係數可以在量化期間向下捨入為m位元值,其中n大於m。
一旦執行了量化,則經譯碼的視訊位元串流包括經量化的變換係數、預測資訊(例如,預測模式、運動向量、塊向量等)、分割資訊以及任何其他適當的資料(諸如其他語法資料)。經譯碼的視訊位元串流的不同元素隨後可以由編碼器引擎106進行熵編碼。在一些實例中,編碼器引擎106可以利用預定義的掃瞄順序來掃瞄經量化的變換係數,以產生可以被熵編碼的序列化向量。在一些實例中,編碼器引擎106可以執行自我調整掃瞄。在掃瞄經量化的變換係數以形成向量(例如,一維向量)之後,編碼器引擎106可以對該向量進行熵編碼。例如,編碼器引擎106可以使用上下文自我調整變長譯碼、上下文自我調整二進位算術譯碼、基於語法的上下文自我調整二進位算術譯碼、概率區間分割熵譯碼或另一種適當的熵編碼技術。
編碼設備104的輸出110可以在通訊鏈路120上將構成經編碼的視訊位元串流資料的NAL單元發送給接收設備的解碼設備112。解碼設備112的輸入114可以接收NAL單元。通訊鏈路120可以包括由無線網路、有線網路或有線網路和無線網路的組合提供的通道。無線網路可以包括任何無線介面或無線介面的組合,並且可以包括任何適當的無線網路(例如,網際網路或其他廣域網、基於封包的網路、WiFi TM、射頻(RF)、超寬頻(UWB)、WiFi直連、蜂巢、長期進化(LTE)、WiMax TM等)。有線網路可以包括任何有線介面(例如,光纖、乙太網路、電力線乙太網路、同軸電纜乙太網路、數位訊號線(DSL)等)。可以使用各種裝置來實現有線及/或無線網路,諸如基地台、路由器、存取點、橋接器、閘道、交換機等。可以根據諸如無線通訊協定之類的通訊標準來調制經編碼的視訊位元串流資料,並且將其發送給接收設備。
在一些實例中,編碼設備104可以將經編碼的視訊位元串流資料儲存在儲存單元108中。輸出110可以從編碼器引擎106或從儲存單元108取得經編碼的視訊位元串流資料。儲存單元108可以包括各種分散式或本端存取的資料儲存媒體中的任何一種。例如,儲存單元108可以包括硬碟、儲存盤、快閃記憶體、揮發性或非揮發性記憶體、或用於儲存經編碼的視訊資料的任何其他適當的數位儲存媒體。儲存單元108亦可以包括用於儲存供在訊框間預測中使用的參考圖片的解碼圖片緩衝器(DPB)。在另外的實例中,儲存單元108可以對應於檔案伺服器或可以儲存由源設備產生的經編碼的視訊的另一中間存放裝置。在這樣的情況下,包括解碼設備112的接收設備可以經由資料串流或下載來從存放裝置存取被儲存的視訊資料。檔案伺服器可以是能夠儲存經編碼的視訊資料並且將該經編碼的視訊資料發送給接收設備的任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)設備或本端磁碟機。接收設備可以經由任何標準資料連接(包括網際網路連接)來存取經編碼的視訊資料。這可以包括適於存取被儲存在檔案伺服器上的經編碼的視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等)或這兩者的組合。經編碼的視訊資料從儲存單元108的傳輸可以是資料串流、下載傳輸或其組合。
解碼設備112的輸入114接收經編碼的視訊位元串流資料,並且可以將視訊位元串流資料提供給解碼器引擎116,或者提供給儲存單元118以供解碼器引擎116稍後使用。例如,儲存單元118可以包括用於儲存供在訊框間預測中使用的參考圖片的解碼圖片緩衝器(DPB)。包括解碼設備112的接收設備可以經由儲存單元108來接收要被解碼的經編碼的視訊資料。可以根據諸如無線通訊協定之類的通訊標準來對經編碼的視訊資料進行調制,並且將其發送給接收設備。用於發送經編碼的視訊資料的通訊媒體可以包括任何無線或有線通訊媒體,諸如射頻(RF)頻譜或一或多條實體傳輸線。通訊媒體可以形成基於封包的網路的一部分,諸如區域網路、廣域網或諸如網際網路之類的全球網路。通訊媒體可以包括路由器、交換機、基地台、或可以用於促進從源設備到接收設備的通訊的任何其他裝置。
解碼器引擎116可以經由熵解碼(例如,使用熵解碼器)並且提取構成經編碼的視訊資料的一或多個經譯碼的視訊序列的元素,從而對經編碼的視訊位元串流資料進行解碼。解碼器引擎116隨後可以重新縮放經編碼的視訊位元串資料並且對其執行逆變換。殘差資料隨後被傳遞到解碼器引擎116的預測階段。解碼器引擎116隨後預測區塊(例如,PU)。在一些實例中,將預測與逆變換的輸出(殘差資料)相加。
視訊解碼設備112可以將經解碼的視訊輸出到視訊目的地設備122,視訊目的地設備122可以包括用於將經解碼的視訊資料顯示給內容的消費者的顯示器或其他輸出設備。在一些態樣中,視訊目的地設備122可以是包括解碼設備112的接收設備的一部分。在一些態樣中,視訊目的地設備122可以是不同於接收設備的單獨設備的一部分。
在一些態樣中,視訊編碼設備104及/或視訊解碼設備112可以分別與音訊編碼設備和音訊解碼設備整合。視訊編碼設備104及/或視訊解碼設備112亦可以包括用於實現上述譯碼技術所必需的其他硬體或軟體,諸如一或多個微處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、個別邏輯、軟體、硬體、韌體或其任何組合。視訊編碼設備104和視訊解碼設備112可以被整合為在相應設備中的組合編碼器/解碼器(轉碼器)的一部分。
在圖1中示出的實例系統僅是可以在本文中使用的一個說明性實例。用於使用本文描述的技術來處理視訊資料的技術可以由任何數位視訊編碼及/或解碼設備來執行。儘管一般來說,本案內容的技術是由視訊編碼設備或視訊解碼設備來執行的,但是該技術亦可以由通常被稱為「CODEC」的組合視訊轉碼器/解碼器來執行。此外,本案內容的技術亦可以由視訊前置處理器來執行。源設備和接收設備僅是此種譯碼設備的實例,其中源設備產生經譯碼的視訊資料以用於傳輸給接收設備。在一些實例中,源設備和接收設備可以以基本上對稱的方式進行操作,使得這些設備之每一者設備包括視訊編碼和解碼用部件。因此,實例系統可以支援在視訊設備之間的單向或雙向視訊傳輸,例如,以用於視訊資料串流、視訊重播、視訊廣播或視訊電話。
本案內容通常可能涉及「用訊號通知」某些資訊(例如,語法元素)。術語「用訊號通知」通常可以代表對用於語法元素的值及/或用於對經編碼的視訊資料進行解碼的其他資料的傳送。例如,視訊編碼設備104可以在位元串流中用訊號通知用於語法元素的值。通常,用訊號通知代表在位元串流中產生值。如前述,視訊源102可以基本上即時地或不是即時地(例如,可能在將語法元素儲存到儲存單元108以供視訊目的地設備122稍後取得時發生)將位元串流傳輸到視訊目的地設備122。
視訊位元串流亦可以包括補充增強資訊(SEI)訊息。例如,SEI NAL單元可以是視訊位元串流的一部分。在一些情況下,SEI訊息可能包含解碼程序不需要的資訊。例如,SEI訊息中的資訊對於解碼器對位元串流的視訊圖片進行解碼而言可能不是必要的,但是解碼器可以使用該資訊來改善對圖片(例如,經解碼的輸出)的顯示或處理。SEI訊息中的資訊可以是被嵌入的中繼資料。在一個說明性實例中,解碼器側實體可以使用SEI訊息中的資訊來改善內容的可視性。在一些情況下,某些應用標準可能強制在位元串流中存在此類SEI訊息,使得可以為符合該應用標準的所有設備帶來品質的改善(例如,除了許多其他實例之外,針對與訊框相容的平面立體3DTV視訊格式來攜帶訊框封裝的SEI訊息,其中針對視訊的每個訊框來攜帶SEI訊息,處理復原點SEI訊息,在DVB中使用泛掃瞄來掃瞄矩形SEI訊息)。
如前述,對於每個區塊,運動資訊(本文中亦被稱為運動參數)集合可以是可用的。運動資訊集合包含用於前向預測方向和後向預測方向的運動資訊。前向預測方向和後向預測方向可以是雙向預測模式的兩個預測方向,在這種情況下,術語「前向」和「後向」不一定具有幾何含義。相反,「前向」和「後向」對應於當前圖片的參考圖片列表0(RefPicList0或L0)和參考圖片列表1(RefPicList1或L1)。在一些實例中,當僅有一個參考圖片列表可用於圖片或切片時,僅有RefPicList0是可用的,並且切片的每個區塊的運動資訊總是前向的。
在一些實例中,在解碼程序(例如,運動補償)中使用運動向量以及其參考索引。具有關聯的參考索引的這種運動向量被表示為運動資訊的單預測集合。對於每個預測方向,運動資訊可以包含參考索引和運動向量。在一些情況下,為了簡單起見,運動向量本身可以按照假定其具有關聯的參考索引的方式來引用。參考索引用於標識當前參考圖片列表(RefPicList0或RefPicList1)中的參考圖片。運動向量具有水平分量和垂直分量,其提供從當前圖片中的座標位置到由參考索引標識的參考圖片中的座標位置的偏移。例如,參考索引可以指示應當用於當前圖片中的塊的特定參考圖片,並且運動向量可以指示在參考圖片中最佳匹配的塊(與當前塊最佳匹配的塊)在參考圖片中位於何處。
在H.264/AVC中,可以以四種不同的方式來分割每個訊框間巨集塊(MB),其包括:一個16x16 MB分區;兩個16x8 MB分區;兩個8x16 MB分區;及四個8x8 MB分區。一個MB中的不同MB分區可以具有針對每個方向的不同的參考索引值(RefPicList0或RefPicList1)。在一些情況下,當MB未被分割為四個8x8 MB分區時,其在每個方向上可以僅具有針對每個MB分區的一個運動向量。在一些情況下,當MB被分割為四個8x8 MB分區時,每個8x8 MB分區可以被進一步分割為子塊,在這種情況下,每個子塊在每個方向上可以具有不同的運動向量。在一些實例中,存在四種不同的方式來從8x8 MB分區得到子塊:一個8x8子塊;兩個8x4子塊;兩個4x8子塊;及四個4x4子塊。每個子塊在每個方向上可以具有不同的運動向量。因此,運動向量可以以等於高於子塊的級別存在。
在AVC中,對於B切片中的跳過或直接模式,可以以MB或MB分區級別來實現時間直接模式。對於每個MB分區,使用在當前塊的RefPicList1[0]中與當前MB分區共置的塊的運動向量來推導運動向量。可以基於POC距離來對共置塊之每一者運動向量進行縮放。
在AVC中,亦可以執行空間直接模式。例如,在AVC中,直接模式亦可以根據空間鄰點來預測運動資訊。
如上所提到的,在HEVC中,切片中的最大譯碼單元被稱為譯碼樹塊(CTB)。CTB包含四叉樹,其節點是譯碼單元。在HEVC主簡檔中,CTB的大小範圍可以從16x16到64x64。在一些情況下,可以支援8x8 CTB。譯碼單元(CU)可以具有與CTB相同的大小,並且小至8x8。在一些情況下,可以利用一種模式來對每個譯碼單元進行譯碼。當CU被訊框間譯碼時,CU可以被進一步分割為2或4個預測單元(PU),或者當進一步分割不適用時,CU可以成為僅一個PU。當在一個CU中存在兩個PU時,它們可以是一半大小的矩形,或者是具有CU的¼或¾大小的兩個矩形。當CU被訊框間譯碼時,針對每個PU存在一個運動資訊集合。另外,可以利用唯一的訊框間預測模式來對每個PU進行譯碼,以推導運動資訊集合。
例如,對於HEVC中的運動預測,存在針對預測單元(PU)的兩種訊框間預測模式,包括合併模式和高級運動向量預測(AMVP)模式。跳過被視為合併的特殊情況。在AMVP或合併模式下,可以維護針對多個運動向量預測器的運動向量(MV)候選列表。在合併模式下當前PU的運動向量以及參考索引是經由從MV候選列表中提取一個候選來產生的。在一些實例中,可以將一或多個縮放訊窗偏移連同被儲存的運動向量一起包括在MV候選列表中。
在其中MV候選列表用於塊的運動預測的實例中,MV候選列表可以由編碼設備和解碼設備分別構造。例如,MV候選列表可以由編碼設備在對塊進行編碼時產生,並且可以由解碼設備在對塊進行解碼時產生。可以在編碼設備與解碼設備之間用訊號通知與在MV候選列表中的運動資訊候選相關的資訊(例如,與一或多個運動向量相關的資訊,與在一些情況下可以被儲存在MV候選列表中的一或多個LIC標誌相關的資訊及/或其他資訊)。例如,在合併模式下,可以從編碼設備向解碼設備用訊號通知針對所儲存的運動資訊候選的索引值(例如,在語法結構中,諸如圖片參數集(PPS)、序列參數集(SPS)、視訊參數集(VPS)、切片標頭、在視訊位元串流中發送或與視訊位元串流分開發送的補充增強資訊(SEI)訊息、及/或其他訊號傳遞)。解碼設備可以構造MV候選列表,並且使用用訊號通知的參考或索引來從經構造的MV候選列表中獲得一或多個運動資訊候選,以用於運動補償預測。例如,解碼設備112可以構造MV候選列表,並且使用來自索引位置的運動向量(在一些情況下,以及LIC標誌)來對塊進行運動預測。在AMVP模式的情況下,除了參考或索引之外,亦可以將差或殘差值作為增量用訊號通知。例如,對於AMVP模式,解碼設備可以構造一或多個MV候選列表,並且將增量值應用於在執行對塊的運動補償預測時使用用訊號通知的索引值獲得的一或多個運動資訊候選。
在一些實例中,MV候選列表包含用於合併模式的多達五個候選以及用於AMVP模式的兩個候選。在其他實例中,可以將不同數量的候選包括在用於合併模式及/或AMVP模式的MV候選列表中。合併候選可以包含運動資訊集合。例如,運動資訊集合可以包括與兩個參考圖片列表(列表0和列表1)相對應的運動向量以及參考索引。若合併候選是經由合併索引來標識的,則參考圖片被用於當前塊的預測,以及決定關聯的運動向量。然而,在AMVP模式下,針對來自列表0或列表1的每個潛在預測方向,需要將參考索引連同對MV候選列表的MVP索引一起明確地用訊號通知,這是因為AMVP候選僅包含運動向量。在AMVP模式中,可以進一步細化預測運動向量。
如上所看到的,合併候選對應於完整的運動資訊集合,而AMVP候選僅包含用於特定預測方向的一個運動向量和參考索引。可以類似地從相同的空間和時間相鄰塊來推導用於兩種模式的候選。
在一些實例中,合併模式允許經訊框間預測的PU從如下的經訊框間預測的PU繼承相同的一或多個運動向量、預測方向以及一或多個參考圖片索引:該經訊框間預測的PU包括從一組空間上相鄰的運動資料位置中選擇的運動資料位置以及兩個時間上共置的運動資料位置中的一個運動資料位置。對於AMVP模式,可以相對於來自由編碼器及/或解碼器構造的AMVP候選列表中的一或多個運動向量預測器(MVP),來對PU的一或多個運動向量進行預測譯碼。在一些情況下,對於PU的單方向訊框間預測,編碼器及/或解碼器可以產生單個AMVP候選列表。在一些情況下,對於PU的雙向預測,編碼器及/或解碼器可以產生兩個AMVP候選列表,一者使用來自前向預測方向的空間和時間相鄰的PU的運動資料,以及一者使用來自後向預測方向的空間和時間相鄰的PU的運動資料。
用於兩種模式的候選可以從空間及/或時間相鄰塊來推導。例如,圖2A和圖2B包括示出空間相鄰候選的概念圖。圖2A圖示用於合併模式的空間相鄰運動向量(MV)候選。圖2B圖示用於AMVP模式的空間相鄰運動向量(MV)候選。根據用於特定PU(PU0)的相鄰塊來推導空間MV候選,但是對於合併和AMVP模式,根據塊來產生候選的方法不同。
在合併模式下,編碼器及/或解碼器可以經由考慮來自各種運動資料位置的合併候選來形成合併候選列表。例如,如圖2A所示,關於在圖2A中以數字0-4示出的空間上相鄰的運動資料位置,可以推導出多達四個空間MV候選。在合併候選列表中,MV候選可以按照由數位0-4所示的順序進行排序。例如,位置和順序可以包括:左側位置(0)、上方位置(1)、右上方位置(2)、左下方位置(3)和左上方位置(4)。
在圖2B中所示的AVMP模式下,可以將相鄰塊分為兩組:包括塊0和1的左側組、以及包括塊2、3和4的上方組。對於每個組,在相鄰塊中的引用與用訊號通知的參考索引所指示的參考圖片相同的參考圖片的潛在候選具有最高優先順序,以被選擇以形成該組的最終候選。可能的是,所有的相鄰塊皆不包含指向同一參考圖片的運動向量。因此,若無法找到這樣的候選,則可以將第一可用候選進行縮放以形成最終候選,因此可以補償時間距離差。
圖3A和圖3B包括示出時間運動向量預測的概念圖。將時間運動向量預測器(TMVP)候選(若啟用並且可用的話)添加到MV候選列表中,其在空間運動向量候選之後。針對TMVP候選的運動向量推導的程序對於合併和AMVP模式兩者而言是相同的。然而,在一些情況下,在合併模式下針對TMVP候選的目標參考索引可以被設置為零或者可以根據相鄰塊的參考索引來推導。
用於TMVP候選推導的主要塊位置是在共置PU外部的右下塊(如在圖3A中被示為塊「T」),以補償對用於產生空間相鄰候選的上方和左側塊的偏差。然而,若該塊位於當前CTB(或LCU)行外部或者運動資訊是不可用的,則可以將該塊替換為PU的中心塊。從以切片級別指示的共置圖片的共置PU來推導用於TMVP候選的運動向量。類似於AVC中的時間直接模式,可以對TMVP候選的運動向量進行運動向量縮放,這可以被執行以補償距離差。
在HEVC標準及/或其他標準、格式或轉碼器中涵蓋了運動預測的其他態樣。例如,涵蓋了合併模式和AMVP模式的若干其他態樣。一個態樣包括運動向量縮放。關於運動向量縮放,假定運動向量的值是與在呈現時間中的圖片的距離成比例的。運動向量將兩個圖片(參考圖片和包含運動向量的圖片(即包含圖片))進行關聯。當運動向量被用於預測其他運動向量時,基於圖片順序計數(POC)值來計算包含圖片和參考圖片的距離。
對於要被預測的運動向量,其關聯的包含圖片和參考圖片兩者可以是不同的。因此,(基於POC)計算新的距離。而且,基於這兩個POC距離來對運動向量進行縮放。對於空間相鄰候選,用於兩個運動向量的包含圖片是相同的,而參考圖片是不同的。在HEVC中,運動向量縮放適用於針對空間和時間相鄰候選的TMVP和AMVP兩者。
運動預測的另一態樣包括人工運動向量候選產生。例如,若運動向量候選列表是不完整的,則產生人工運動向量候選並且將其插入到列表的末尾處,直到獲得所有列表為止。在合併模式下,存在兩種類型的人工MV候選:僅針對B切片來推導的組合候選;及僅用於AMVP的零候選(若第一種類型沒有提供足夠的人工候選的話)。對於已經在候選列表中並且具有必要的運動資訊的每對候選而言,經由參考在列表0中的圖片的第一候選的運動向量以及參考在列表1中的圖片的第二候選的運動向量的組合,來推導雙向組合運動向量候選。
在一些實現中,當將新的候選添加或插入到MV候選列表中時,可以執行修剪程序。例如,在一些情況下,來自不同塊的MV候選可能包括相同的資訊。在這樣的情況下,在MV候選列表中儲存多個MV候選的重複運動資訊可能導致在MV候選列表中的冗餘以及效率降低。在一些實例中,修剪程序可以將在MV候選列表中的冗餘消除或最小化。例如,修剪程序可以包括將要被添加到MV候選列表中的潛在MV候選與已經被儲存在MV候選列表中的MV候選進行比較。在一個說明性實例中,可以將所儲存的運動向量的水平位移(
Figure 02_image017
)和垂直位移(
Figure 02_image019
)(指示參考塊相對於當前塊的位置的位置)與潛在候選的水平位移(
Figure 02_image017
)和垂直位移(
Figure 02_image019
)進行比較。若該比較揭示潛在候選的運動向量與一或多個儲存的運動向量中的任何一個皆不匹配,則潛在候選不被認為是要被修剪的候選,並且可以被添加到MV候選列表中。若基於該比較找到匹配,則不將潛在MV候選添加到MV候選列表中,從而避免插入相同的候選。在一些情況下,為了降低複雜度,在修剪程序期間僅執行有限數量的比較,而不是將每個潛在MV候選與所有的現有候選進行比較。
在諸如HEVC之類的某些譯碼方案中,支援加權預測(WP),在這種情況下,在運動補償中使用縮放因數(由 a表示)、移位數(由 s表示)和偏移(由 b表示)。假設在參考圖片的位置(x, y)中的圖元值為p(x, y),則p’(x, y) = ((a*p(x, y) + (1 << (s-1))) >> s) + b代替p(x, y)來用作運動補償中的預測值。
當啟用WP時,對於當前切片的每個參考圖片,用訊號通知標誌以指示WP是否適用於參考圖片。若WP適用於一個參考圖片,則向解碼器發送WP參數集(亦即, asb),並且該WP參數集用於根據參考圖片的運動補償。在一些實例中,為了靈活地打開/關閉針對亮度和色度分量的WP,分別用訊號通知用於亮度和色度分量的WP標誌和WP參數。在WP中,可以針對在一個參考圖片中的所有圖元使用一個相同的WP參數集。
圖4A是示出當前塊402的鄰點重構取樣以及用於單向訊框間預測的參考塊404的鄰點取樣的實例的圖。可以針對當前塊402來對運動向量MV進行譯碼,其中MV可以包括針對參考圖片列表的參考索引及/或用於標識參考塊404的其他運動資訊。例如,MV可以包括水平分量和垂直分量,其提供從當前圖片中的座標位置到由參考索引所標識的參考圖片中的座標的偏移。圖4B是示出當前塊422的鄰點重構取樣以及用於雙向訊框間預測的第一參考塊424和第二參考塊426的鄰點取樣的實例的圖。在這種情況下,可以針對當前塊422來對兩個運動向量MV0和MV1進行譯碼,以分別標識第一參考塊424和第二參考塊426。
雙邊匹配(BM)是可以用於細化兩個初始運動向量對(例如,第一運動向量MV0和第二運動向量MV1)的技術。例如,可以經由在初始運動向量MV0和MV1對周圍進行搜尋以獲得經細化的運動向量(例如,經細化的運動向量MV0’和MV1’)來執行BM。隨後,可以使用經細化的運動向量MV0’和MV1’分別替換第一運動向量MV0和第二運動向量MV1。可以在搜尋中選擇經細化的運動向量作為在搜尋中辨識的使塊匹配成本最小化的運動向量。
在一些實例中,可以基於針對兩個MV產生的兩個運動補償預測器之間的相似性來產生塊匹配成本。塊匹配成本的實例準則包括但不限於絕對差和(SAD)、絕對轉換差和(SATD)、平方誤差和(SSE)等等。塊匹配成本準則亦可以包括正則化項,該正則化項是基於當前MV對(例如,考慮被選擇為經細化的運動向量MV0’和MV1’的MV對)與初始MV對(例如,MV0和MV1)之間的MV差來推導的。
在一些實例中,一或多個約束可以應用於MV差項MVD0和MVD1(例如,其中MVD0=MV0’–MV0和MVD1=MV1’–MV1)。例如,在一些情況下,可以基於MVD0和MVD1與當前圖片(例如,當前塊)與兩個MV指向的參考圖片(例如,參考塊)之間的時間距離(TD)成比例的假設來應用約束。在一些實例中,可以基於MVD0=–MVD1的假設(例如,MVD0和MVD1具有相等的幅值但相反的符號)來應用約束。
在一些實例中,訊框間預測CU可以與一或多個運動參數相關聯。例如,在通用視訊譯碼標準(VVC)中,每個訊框間預測CU可以與一或多個運動參數相關聯,這些參數可以包括但不限於運動向量、參考圖片索引和參考圖片列表使用索引。運動參數亦可以包括與要用於訊框間預測取樣產生的VVC的譯碼特徵相關聯的額外資訊。可以以顯式或隱式方式用訊號通知運動參數。例如,當利用跳過模式對CU進行譯碼時,CU與一個PU相關聯,並且沒有顯著的殘差係數,並且沒有經譯碼的運動向量增量或參考圖片索引。
在一些態樣中,可以指定合併模式,其中用於當前CU的運動參數是從相鄰CU(包括空間和時間候選)獲得的。補充或替代地,可以基於VVC標準中引入的額外計畫來指定一或多個合併模式。在一些實例中,合併模式可以應用於任何訊框間預測CU(例如,合併模式可以應用於跳過模式之外)。在一些實例中,合併模式的替代方案可以包括一或多個運動參數的顯式傳輸。例如,可以針對每個CU顯式地用訊號通知運動向量、用於每個參考圖片列表的對應的參考圖片索引、參考圖片列表使用標誌和其他相關資訊。
除了HEVC中的訊框間譯碼特徵外,VVC亦包括多種新的和改進的訊框間預測譯碼技術,包括:擴展合併預測;具有運動向量差的合併模式(MMVD);對稱MVD(SMVD)訊號傳遞;仿射運動補償預測;基於子塊的時間運動向量預測(SbTMVP);自我調整運動向量解析度(AMVR);運動場儲存:1/16亮度取樣MV儲存和8x8運動場壓縮;具有CU級權重的雙預測(BCW);雙向光流(BDOF);解碼器側運動向量細化(DMVR);幾何分割模式(GPM);組合訊框間和訊框內預測(CIIP)。
對於VVC合併模式下的擴展合併預測(例如,被稱為一般或預設合併模式),可以經由按順序包括以下五種類型的候選來構建合併候選列表:來自空間鄰點CU的空間運動向量預測(MVP);來自共置CU的時間MVP;來自先進先出(FIFO)表的基於歷史的MVP;按對平均MVP;及零MV。可以在序列參數集標頭中用訊號通知合併候選列表的大小。合併候選列表的最大允許大小可以是六個(例如,六個條目或六個候選)。對於以合併模式進行譯碼的每個CU,使用截斷一元二值化(TU)對最佳合併候選的索引進行編碼。在一些實例中,VVC亦可以支援對某個大小或區域內的所有CU的合併候選列表的並行推導(例如,在HEVC中所做的)。下文依次描述了上述五種類型的合併候選以及每類合併候選的相關聯的實例推導程序。
圖5圖示根據本案內容的一些實例的用於處理塊的空間合併候選的位置。例如,圖5圖示了根據本案內容的一些實例的用於處理塊500的空間合併候選(亦被稱為「空間鄰點」)A0、A1、B0、B1和B2的實例位置。空間鄰點A0、A1、B0、B1和B2是基於它們與塊500的關係來在圖5中指示的。VVC中的空間合併候選的推導可以與HEVC中相同,其中交換前兩個合併候選的位置。在一些實例中,可以從位於圖5中圖示的位置(例如,A0、A1、B0、B1和B2)的五個空間合併候選中選擇最多四個合併候選。
推導的順序可以是B0、A0、B1、A1和B2。例如,僅當與位置B0、A0、B1、A1相關聯的一或多個CU不可用或被訊框內解碼時,才可以考慮合併候選位置B2。與位置B0、A0、B1或A1相關聯的CU可能不可用,因為CU屬於不同的切片或瓦片。在一些態樣中,在添加位置A1處的合併候選之後,剩餘合併候選的添加可能受到冗餘檢查。可以執行冗餘檢查,使得從合併候選列表中排除具有相同運動資訊的合併候選(例如,以提高譯碼效率)。
圖6圖示根據本案內容的一些實例的用於處理塊的時間合併候選的運動向量縮放600的各態樣。在一些實例中,可以執行時間合併候選推導,其中將一個合併候選(例如,時間合併候選)添加到合併候選列表。可以基於經縮放的運動向量來執行時間合併候選推導。可以基於共置參考圖片中包括的共置CU來推導經縮放的運動向量。可以在切片標頭中顯式地用訊號通知要用於推導共置CU的參考圖片列表。
例如,圖6圖示了當前圖片610和共置圖片630,它們可以分別與當前參考圖片615和共置參考圖片635相關聯。圖6亦圖示了當前CU 612(例如,與當前圖片610相關聯)和共置CU(例如,與共置圖片630相關聯)。在一些實例中,可以推導或獲得用於時間合併候選推導的經縮放的運動向量,如圖6所示。例如,圖6圖示了虛線611,其是使用圖片順序計數(POC)距離tb和td從共置CU 632的運動向量縮放而來的。在一些實例中,tb是當前參考圖片615與當前圖片610之間的POC差,並且td是共置參考圖片635與共置圖片630之間的POC差。時間合併候選的參考圖片索引可以被設置為等於零。
圖7圖示根據本案內容的一些實例的用於處理塊的時間合併候選700的各態樣。在一些實例中,如上文關於圖6論述的,在選擇單個時間合併候選之後,可以在候選位置C 0和C 1之間選擇時間合併候選的位置,如圖7中圖示的。在一些實例中,若位置C 0處的CU不可用、被訊框內解碼或在CTU的當前行之外,則可以使用候選位置C 1。否則,在時間合併候選的推導中使用位置C 0
在一些態樣中,可以將基於歷史的運動向量預測(HMVP)合併候選在空間MVP合併候選(例如,如上文關於圖5描述的)和TMVP合併候選(例如,如上文關於圖6和7描述的)之後添加到合併候選列表中。可以基於先前譯碼的塊的運動資訊來推導HMVP合併候選。例如,可以儲存(例如,在表中)先前譯碼的塊的運動資訊,並且將其用作用於當前CU的運動向量預測(MVP)。在一些實例中,可以在編碼及/或解碼程序期間維護具有多個HMVP候選的表。當遇到新的CTU行時,該表被重置(例如清空)。每當存在非子塊訊框間解碼CU時,就將相關聯的運動資訊作為新的HMVP候選添加到表的最後一個條目中。
在一些實例中,HMVP表大小 S可以被設置為值六(例如,最多可以向HMVP表中添加六個基於歷史的MVP(HMVP)候選)。當向HMVP表中插入新的HMVP候選時,可以利用受約束的先進先出(FIFO)規則。受約束的FIFO規則可以包括為了決定表中是否存在相同的HMVP(例如,為了決定新插入的HMVP候選是否與表中現有的HMVP候選相同)而應用的冗餘檢查。若針對新插入的HMVP候選的冗餘檢查發現表中已經包括相同的HMVP,則可以從表中移除相同的HMVP,並且隨後將所有HMVP候選向前移動。
在一些態樣中,HMVP候選(例如,包括在HMVP列表或HMVP表中)隨後可以用於構造或以其他方式產生合併候選列表。例如,為了產生合併候選列表,可以按順序檢查表中的最近的若干HMVP候選,並且將其在TMVP候選之後插入到合併候選列表中。可以對添加到合併候選列表的HMVP候選應用冗餘檢查,其中冗餘檢查用於決定HMVP候選是否與先前添加或已經包括在合併候選列表中的任何空間或時間合併候選相同(same)或相同(identical)。
在一些實例中,可以減少與產生合併候選列表及/或HMVP表相關聯地執行的冗餘檢查操作的數量。例如,用於合併列表產生的HMVP候選的數量可以被設置為(N <= 4 ) ? M:(8 − N),其中N指示合併候選列表中的現有候選的數量,並且M指示HMVP表中的可用HMVP候選的數量。換句話說,若條件N<=4評估為真(例如,合併候選列表包含四個或更少的候選),則HMVP表中的所有 M個HMVP候選將用於合併列表產生。若條件N<=4評估為假(例如,合併候選列表包含四個以上的候選),則HMVP表中的8–N個HMVP候選將用於合併列表產生。在一些實例中,一旦可用合併候選的總數達到最大允許合併候選數量減1,則可以終止從HMVP的合併候選列表構建程序。
可以基於現有合併候選列表中的預定義的合併候選對來執行成對平均合併候選推導。例如,可以經由對現有合併候選列表中的預定義的合併候選對進行平均來產生成對平均合併候選,其中預定義對被提供為{(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)},其中數字指示合併候選列表的合併索引。在一些情況下,可以針對每個參考列表單獨計算平均運動向量。若(例如,預定義對的)兩個運動向量被包括在相同列表中,則即使在這兩個運動向量指向不同的參考圖片時,亦可以對這兩個運動向量進行平均。在一些情況下,若(例如,預定義對的)僅一個運動向量可用,則可以將一個可用運動向量用作平均運動向量。若沒有(例如,預定義對的)運動向量是可用內的,則可以將該列表標識為無效。在一些實例中,若在如前述添加成對平均合併候選之後合併候選列表未滿,則可以在合併候選列表的末尾插入一或多個零MVP,直到達到合併候選的最大數量為止。
在一些態樣中,可以利用具有CU級權重的雙預測(BCW)。例如,可以經由對從兩個不同參考圖片獲得的兩個預測訊號進行平均來產生雙預測訊號。補充或替代地,可以使用兩個不同的運動向量來產生雙預測訊號。在一些實例中,可以經由使用HEVC標準對從兩個不同的參考訊號及/或使用兩個不同的運動向量獲得的兩個預測訊號進行平均來產生雙預測訊號。
在其他態樣中,雙預測模式可以擴展到簡單平均之外,以包括兩個預測訊號的加權平均。例如,雙預測模式可以包括使用VVC標準對兩個預測訊號進行加權平均。在一些實例中,雙預測模式可以包括兩個預測訊號的加權平均,如下所示:
Figure 02_image021
等式(1)
等式(1)中提供的加權平均雙預測可以包括五個權重,
Figure 02_image023
∈ {-2,3,4,5,10}。對於每個雙預測CU,可以根據以下各項中的一項或多項來決定權重 w。在一個實例中,對於非合併CU,可以在運動向量差(MVD)之後用訊號通知權重索引。在另一實例中,對於合併CU,可以基於合併候選索引來從相鄰塊推斷權重索引。在一些情況下,BCW可能僅適用於具有256個或更多亮度取樣的CU(例如,CU寬度和CU高度的乘積大於或等於256的CU)。在一些情況下,所有五個權重 w可以用於低延遲圖片。對於非低延遲圖片,只能使用五個權重 w中的三個(例如,三個權重 w∈ {3,4,5})。
在編碼器處,可以應用快速搜尋演算法來檢視權重索引,而不會顯著增加編碼器的複雜度,如將在下文中更深入地描述的。在一些實例中,可以應用快速搜尋演算法來檢視權重索引,如至少部分地在JVET-L0646中描述的。例如,當與自我調整運動向量解析度(AMVR)組合時,若當前圖片是低延遲圖片,則僅針對1圖元和4圖元運動向量精度有條件地檢查不等權重。當與仿射模式組合時,當且僅當仿射模式被選為當前最佳模式時,可以針對不等權重執行仿射運動估計(ME)。當雙預測模式中的兩個參考圖片相同時,只能有條件地檢查不等權重。在一些情況下,當滿足某些條件(例如,取決於當前圖片與其參考圖片之間的圖片順序計數(POC)距離、譯碼量化參數(QP)及/或時間位準等)時,不搜尋不等權重。
在一些實例中,可以使用一個上下文譯碼倉,後跟一或多個旁路譯碼倉,來對BCW權重索引進行譯碼。例如,第一上下文譯碼倉可以用於指示是否使用相等權重。若使用不等權重,則可以使用旁路譯碼來用訊號通知額外倉,以指示使用了哪個不等權重。
加權預測(WP)是H.264/AVC和HEVC標準支援的譯碼工具,以高效地對具有衰落的視訊內容進行解碼。亦向VVC標準中添加了對WP的支援。WP可以用於允許針對參考圖片列表L0和L1中的每一項之每一者參考圖片用訊號通知一或多個加權參數(例如,權重和偏移)。隨後,在運動補償期間,應用對應的參考圖片的權重和偏移。
WP和BCW可以與不同類型的視訊內容一起使用。在一些實例中,若CU利用WP,則可能不用訊號通知BCW權重索引,並且可以推斷 w具有值4(例如,應用相等權重)。例如,當CU利用WP時,可能不用訊號通知BCW權重索引,以便避免WP和BCW之間的互動(例如,這可能使VVC解碼器設計複雜化)。
對於合併CU,在正常合併模式和繼承仿射合併模式兩者下,可以基於合併候選索引來從相鄰塊推斷權重索引。對於構造的仿射合併模式,可以基於多達三個塊的運動資訊來構造仿射運動資訊。例如,使用構造的仿射合併模式的CU的BCW索引可以被設置為等於第一個控制點MV的BCW索引。在一些實例中,使用VVC標準,組合訊框間和訊框內預測(CIIP)和具有CU級權重的雙預測(BCW)不能聯合應用於CU。當利用CIIP模式對CU進行譯碼時,可以將當前CU的BCW索引設置為2(例如,設置為相等權重)。
圖8是圖示根據本案內容的一些實例的雙邊匹配的各態樣的圖800。如前述,雙邊匹配(BM)可以用於細化兩個初始運動向量MV0和MV1對。例如,可以經由在MV0和MV1周圍進行搜尋以分別推導使塊匹配成本最小化的經細化的運動向量MV0’和MV1’,來執行BM。可以基於使用初始運動向量對(例如,MV0和MV1)產生的兩個運動補償預測器之間的相似性來計算塊匹配成本。例如,塊匹配成本可以是基於絕對差和(SAD)的。補充或替代地,塊匹配成本可以是基於或包括正則化項,該正則化項是基於當前MV對(例如,當前測試的MV0’和MV1’)和初始MV對(例如,MV0和MV1)之間的運動向量差(MVD)的。如下文將更加深入地描述的,可以基於MVD0(例如MVD0=MV0’–MV0)和MVD1(例如,MVD1=MV1’–MV1)來應用一或多個約束。
如前述,在通用視訊譯碼標準(VVC)中,可以應用基於雙邊匹配的解碼器側運動向量細化(DMVR)來提高雙預測合併候選的MV的精度(例如,細化雙預測合併候選的MV)。例如,如圖8的實例中所示,可以應用基於雙邊匹配的DMVR來提高雙預測合併候選812的MV的精度或以其他方式細化雙預測合併候選812的MV。雙預測合併候選812可以被包括在當前圖片810中,並且可以與初始運動向量MV0和MV1對相關聯。在執行基於雙邊匹配的DMVR之前,可以獲得、辨識或以其他方式決定用於雙預測合併候選812的初始運動向量MV0和MV1。隨後,初始運動向量MV0和MV1可以用於辨識用於雙預測合併候選812的經細化的運動向量MV0’和MV1’,如下文將更深入地描述的。
如圖8的實例中所示,第一初始運動向量MV0可以指向第一參考圖片830。第一參考圖片830可以與向後方向(例如,相對於當前圖片810)相關聯及/或可以被包括在參考圖片列表L0中。第二初始運動向量MV1可以指向第二參考圖片820。第二參考圖片820可以與向前方向(例如,相對於當前圖片810)相關聯及/或可以被包括在參考圖片列表L1中。
第一初始運動向量MV0可以用於決定或產生第一預測器832,其可以是第一參考圖片830中包括的塊。第一預測器832亦可以被稱為第一候選塊(例如,第一預測器832是第一參考圖片830及/或參考圖片列表L0中的候選塊)。第二初始運動向量MV1可以用於決定或產生第二預測器822,其可以是第二參考圖片820中包括的塊。第二預測器822亦可以被稱為第二候選塊(例如,第二預測器822是第二參考圖片820及/或參考圖片列表L1中的候選塊)。
隨後,可以在第一預測器832和第二預測器822周圍執行搜尋,以分別辨識或決定第一經細化的運動向量MV0’和第二經細化的運動向量MV1’。如圖所示,可以搜尋與第一預測器832(例如,第一參考圖片830及/或參考圖片列表L0內的區域)和第二預測器822(例如,第二參考圖片820及/或參考圖片列表L1內的區域)中的每一個相關聯的周圍區域。例如,可以搜尋與第一預測器832相關聯的周圍區域以辨識或檢查一或多個經細化的候選塊834,並且可以搜尋與第二預測器822相關聯的周圍區域以辨識或檢查一或多個經細化的候選塊824。可以基於以下各項中的一項或多項來執行搜尋:失真(例如,SAD、SATD、SSE等)及/或在初始預測器832或822之一與對應的經細化的候選塊834或824之間計算的正則化項。在一些實例中,可以基於遠離初始點移動的距離(例如,與初始預測器832或822相關聯的初始點與分別與經細化的候選塊834或824相關聯的搜尋點之間的距離)來計算失真及/或正則化。
當搜尋在與初始預測器832和822中的每一者相關聯的初始點周圍移動時,獲得新的經細化的候選塊(例如,經細化的候選塊834和824)。每個新的經細化的候選塊可以與新的成本(例如,計算出的SAD值、運動向量差MVD0或MVD1之一等)相關聯。搜尋可以與搜尋範圍及/或搜尋訊窗相關聯。在搜尋包括在搜尋範圍及/或搜尋訊窗之每一者候選塊以獲得初始預測器832和822(例如,以及決定每個搜尋的候選塊的對應成本)之後,可以辨識具有最小決定成本的候選塊,並且使用其來產生經細化的運動向量MV0’和MV1’。
在一些實例中,可以經由計算參考圖片列表L0和列表L1中的兩個候選塊之間的SAD來執行基於雙邊匹配(BM)的DMVR。如圖8所示,可以計算基於初始MV周圍(例如,分別在預測器832和822周圍)的每個MV’候選(例如,塊834和824)的塊之間的SAD。具有最低SAD的MV’候選可以被選擇為經細化的MV並且用於產生雙預測訊號。在一些實例中,初始MV的SAD減去SAD值的¼,作為正則化項。在一些情況下,從兩個參考圖片到當前圖片的時間距離(例如,圖片順序計數(POC)差)可以相同,並且MVD0和MVD1可以具有相同的幅值但相反的符號(例如,MVD0=-MVD1)。
在一些情況下,可以使用來自初始MV的兩個整數亮度取樣的細化搜尋範圍來執行基於雙邊匹配的DMVR。例如,在圖8的上下文中,可以使用來自初始運動向量MV0和MV1(例如,分別來自初始預測器832和822)的兩個整數亮度取樣的經細化的搜尋範圍來執行基於雙邊匹配的DMVR。搜尋可以包括整數取樣偏移搜尋階段和分數取樣細化階段。
在一些情況下,可以將25點全搜尋應用於整數取樣偏移搜尋。可以經由首先計算初始MV對(例如,MV0和MV1的初始MV對及/或初始預測器832和822)的SAD來執行25點全細化搜尋。若初始MV對的SAD小於閥值,則可以終止DMVR的整數取樣階段。若初始MV對的SAD不小於閥值,則可以計算剩餘24個點的SAD,並且按光柵掃瞄順序進行檢查。隨後,可以選擇具有最小SAD的點作為整數取樣偏移搜尋階段的輸出。
如前述,整數取樣偏移搜尋之後可以跟有分數取樣細化。在一些情況下,可以經由使用一或多個參數誤差曲面方程來推導分數取樣細化來降低計算複雜性(例如,而不是利用SAD比較執行額外搜尋)。可以基於整數取樣偏移搜尋階段的輸出來有條件地調用分數取樣細化。例如,當整數取樣偏移搜尋階段在第一次反覆運算或第二次反覆運算搜尋中以中心具有最小SAD終止時,作為回應,可以進一步應用分數取樣細化。
如前述,參數誤差曲面可以用於推導分數取樣細化。例如,在基於參數誤差曲面的亞圖元偏移估計中,可以使用中心位置成本和四個相鄰位置(例如,相對於中心)的成本來擬合以下形式的二維拋物線誤差曲面等式:
Figure 02_image025
等式(2)
這裡,( x min, y min )對應於具有最小成本的分數位置,並且 C對應於最小成本值。經由使用五個搜尋點(例如,中心位置和四個相鄰位置)的成本值求解等式(2),可以將( x min, y min )計算為:
Figure 02_image027
等式(3)
Figure 02_image029
等式(4)
x min y min 的值可以自動地約束在-8和8之間(例如,所有成本值均為正並且最小值為E(0,0)),這可以對應於VVC中具有1/16圖元MV精度的半圖元偏移。可以將計算出的分數( x min, y min )值可以添加到整數距離細化MV(例如,來自上述整數取樣偏移搜尋),以獲得或決定亞圖元精度細化增量MV。
在VVC中,運動向量解析度可以是1/16亮度取樣。在一些實例中,分數位置處的取樣使用8分接點內插濾波器進行內插。在DMVR中,細化搜尋點可以圍繞具有整數取樣偏移的初始分數圖元MV,並且DMVR搜尋程序可以包括對分數位置的取樣進行內插。在一些實例中,可以使用雙線性內插濾波器來產生用於DMVR搜尋程序的分數取樣。使用雙線性內插濾波器來產生用於DMVR搜尋程序的分數取樣可以降低計算複雜度。在一些情況下,當雙線性內插濾波器與2取樣搜尋範圍一起使用時,DMVR搜尋程序可能不需要存取額外的參考取樣(例如,相對於現有的運動補償程序)。
在使用DMVR搜尋程序決定經細化的MV之後,可以應用8分接點內插濾波器來產生最終預測。在一些實例中,可能不需要額外的參考取樣來基於原始MV執行內插程序(例如,如前述)。在一些實例中,可以利用額外取樣來基於經細化的MV執行內插。不是存取額外的參考取樣(例如,存取相對於現有運動補償程序的額外的參考取樣),而是可以對現有或可用的參考取樣進行填充以產生額外的參考取樣,以用於基於經細化的MV執行內插。在一些情況下,當CU的寬度及/或高度大於16個亮度取樣時,DMVR程序亦可以包括將CU拆分成各自具有等於16個亮度取樣的寬度及/或高度的子塊,如下文將更深入地描述的。
在VVC中,DMVR可以應用於利用以下一或多個模式和特徵進行譯碼的CU。在一個說明性實例中,與可以應用DMVR的CU相關聯的模式或特徵亦可以被稱為「DMVR條件」。在一些實例中,DMVR條件可以包括但不限於利用以下一或多個模式及/或特徵進行譯碼的CU:具有雙預測MV的CU級合併模式;過去的一個參考圖片(例如,相對於當前圖片)和未來的另一參考圖片(例如,相對於當前圖片);從兩個參考圖片到當前圖片的距離(例如,POC差)相同;兩個參考圖片皆是短期參考圖片;包括64個以上的亮度取樣的CU;CU高度和CU寬度兩者皆大於或等於8個亮度取樣;BCW權重索引指示相等權重;針對當前塊未啟用加權預測(WP);組合訊框間和訊框內預測(CIIP)模式不用於當前塊;等等。
圖9圖示根據本案內容的一些實例的可以用於執行雙向光流(BDOF)的實例擴展CU區域900。例如,BDOF可以用於在4×4子塊級別(例如,4x4子塊910)細化CU中的亮度取樣的雙預測訊號。在一些情況下,BDOF可以用於其他大小的子塊(例如,8×8子塊、4×8子塊、8×4子塊、16×16子塊及/或其他大小的子塊)。BDOF模式可以是基於光流的,假設物體的運動是平滑的。如圖9所示,BDOF模式可以利用擴展CU區域900的邊界周圍的一個擴展行和列(例如,擴展行970和擴展列980)。
對於每個4×4子塊(例如,4x4子塊910),可以基於最小化L0和L1預測取樣之間的差來計算運動細化( v x, v y )。隨後,可以使用運動細化( v x, v y )來調整4x4子塊(例如,4x4子塊910)中的雙預測取樣值。在一個說明性實例中,可以如下該地執行BDOF。
首先,可以經由直接計算兩個相鄰取樣之間的差來計算兩個預測訊號的水平和垂直梯度(分別為
Figure 02_image031
Figure 02_image033
,其中k=0、1):
Figure 02_image035
等式(5)
Figure 02_image037
等式(6)
這裡,
Figure 02_image039
表示列表 k中的預測訊號的座標
Figure 02_image041
處的取樣值, k= 0、1。 shift1可以是基於亮度位元深度(例如, bitDepth)來計算的,因為 shift1可以被設置為等於6。
梯度的自相關和互相關S 1、S 2、S 3、S 5和S 6隨後可以被計算為:
Figure 02_image043
等式(7)
Figure 02_image045
等式(8)
Figure 02_image047
等式(9)
Figure 02_image049
等式(10)
Figure 02_image051
等式(11)
這裡,
Figure 02_image053
等式(12)
Figure 02_image055
等式(13)
Figure 02_image057
等式(14)
這裡, Ω可以是4×4子塊910(或其他大小的子塊)周圍的6×6訊窗(或其他大小的訊窗)。 shift2的值可以被設置為等於4(或其他合適的值),並且 shift3的值可以被設置為等於1(或其他合適的值)。
隨後可以使用以下等式使用互相關和自相關項來推導運動細化( v x, v y ):
Figure 02_image059
等式(15)
Figure 02_image061
等式(16)
這裡,
Figure 02_image063
=1≪4和⌊∙⌋是取整函數。
基於運動細化和梯度,可以針對4×4子塊910(或其他大小的子塊)之每一者取樣計算以下調整:
Figure 02_image065
等式(17)
最後,可以經由按如下調整雙預測取樣來計算圖9中示出的擴展CU區域900的BDOF取樣:
Figure 02_image067
等式(18)
這裡,
Figure 02_image069
可以被設置為Max(3, 15 − BitDepth),並且變數
Figure 02_image071
可以被設置為等於(1 << ( shift5− 1))。
在一些情況下,可以選擇上述值,使得(例如,上述)BDOF程序中的乘法器不超過15位元,並且(例如,上述)BDOF程序中的中間參數的最大位元寬度保持在32位元以內。
在一些實例中,可以至少部分地基於在列表 k(其中( k=0、1))中產生一或多個預測取樣
Figure 02_image039
來推導梯度值,其中一或多個預測取樣位於當前CU邊界之外。如圖9中圖示和上文提及的,BDOF可以利用擴展CU區域900的邊界周圍的一個擴展行和一個擴展列(例如,擴展行970和擴展列980)。在一些情況下,可以至少部分地基於經由在附近整數位置處直接獲取參考取樣而不進行內插來在擴展區域(例如,擴展行970和擴展列980中包括的非陰影塊,沿著擴展CU區域900的周長)中產生預測取樣,來控制產生邊界外預測取樣的計算複雜度。例如,可以在附近參考取樣的參考取樣座標上使用floor()操作。8分接點運動補償內插濾波器隨後可以用於在擴展CU區域900的陰影框內產生預測取樣(例如,擴展行970和擴展列980的擴展區域預測取樣的非陰影周長內部的框)。在一些實例中,擴展取樣值只能用於梯度計算。BDOF程序的剩餘步驟可以經由根據需要基於擴展CU區域900的最近鄰點填充(例如,重複)擴展CU區域900邊界之外的任何取樣和梯度值來執行。
在一些實例中,如前述,BDOF可以用於在4×4子塊級別(或其他子塊級別)細化CU的雙預測訊號。在一個說明性實例中,若CU滿足以下條件中的一些或全部條件,則BDOF可以應用於CU:CU是使用「真」雙預測模式進行譯碼的(例如,兩個參考圖片中的一個在顯示順序中位於當前圖片之前,並且另一參考圖片在顯示順序中位於當前圖片之後);CU不是使用仿射模式或SbTMVP合併模式進行譯碼的;CU具有64個以上的亮度取樣;CU高度和CU寬度兩者均大於或等於8個亮度取樣;BCW權重索引指示相等權重;針對當前CU未啟用WP;及/或CIIP模式不用於當前CU;等等。
在一些態樣中,可以使用多通路解碼器側運動細化。例如,在JVET-V會議上,建立了增強型壓縮模型(ECM),以研究VVC之外的壓縮技術(https://vcgit.hhi.fraunhofer.de/ecm/VVCSoftware_VTM/-/tree/ECM)。在ECM中,採用「多通路解碼器側運動細化」[JVET_U0100]來代替VVC中的DMVR。多通路解碼器側運動細化可以包括多個通路。在一些實例中,可以經由多次應用雙邊匹配(BM)來執行多通路解碼器側運動細化。例如,在(例如,多通路解碼器側運動細化的)每個通路處,BM可以應用於不同的塊大小。
在第一通路中,雙邊匹配(BM)可以應用於整個譯碼塊或譯碼單元(例如,類似於VVC中的DMVR及/或如前述)。例如,第一通路BM可以應用於大小為64x64、64x32、32x32、32x16、16x16等及其組合的譯碼塊或CU。
在第二通路中,可以再次應用BM,這一次應用於包括在第一通路中執行BM的整個譯碼塊內(或者可以從其產生)的每個16x16子塊。例如,若第一通路BM應用於64x64塊,則64x64塊可以被劃分為4x4子塊網格,其中每個子塊為16x16。在第二通路中,BM可以應用於上述實例中的16個子塊之每一者子塊。在另一實例中,若第一通路BM應用於32x32塊,則32x32塊可以被劃分為2x2子塊網格,每一個的大小為16x16。在該實例中,可以經由將BM應用於32x32塊的四個16x16子塊中的每一個來執行第二通路。從第一通路BM產生或獲得的經細化的MV可以用作執行第二通路BM的每個16x16子塊的初始MV。
在第三通路中,可以基於原始塊(例如,來自第一BM通路)及/或基於16x16子塊(例如,來自第二BM通路)來獲得或產生複數個8x8子塊。在一些實例中,來自第二BM通路的每個16x16子塊可以被劃分為具有8x8大小的2x2子塊網格。在第三BM通路中,可以經由應用雙向光流(BDOF)來進一步細化與每個8x8子塊相關聯的一或多個MV。
在一個說明性實例中,可以針對64x64塊或CU執行多通路解碼器側運動細化。在第一通路中,BM可以應用於64x64塊,以產生或獲得經細化的MV對。在第二通路中,64x64塊可以被劃分為16個子塊,其中每個子塊的大小為16x16。在第二通路中,可以再次應用BM,這一次應用於16個子塊之每一者子塊,並且使用來自第一通路的經細化的MV作為初始MV。在第三通路中,每個16x16子塊可以被劃分為四個具有8x8大小的子塊(例如,對於原始64x64塊,總共16*4=64個8x8子塊)。如先前已經描述的,在第三通路中,可以經由應用BDOF來細化與每個8x8子塊相關聯的一或多個MV。
下文依次描述可以包括在或用於執行多通路解碼器側運動細化的第一通路、第二通路和第三通路的實例。
在一些實例中,第一通路可以包括執行基於塊的雙邊匹配(BM)運動向量(MV)細化。例如,在第一通路中,經由將BM應用於譯碼塊來推導經細化的MV。與解碼器側運動向量細化(DMVR)類似,在與BM相關聯的雙預測操作中,在參考圖片列表L0和L1中的兩個初始MV(例如,MV0和MV1)周圍搜尋經細化的MV。基於L0和L1中的兩個參考塊之間的最小雙邊匹配成本來在初始MV對(例如,分別為MV0和MV1)周圍推導經細化的MV(例如,MV0 pass1和MV1 pass1)。
第一通路BM可以包括執行局部搜尋以推導整數取樣精度 intDeltaMV。可以經由應用3×3平方搜尋模式(或其他搜尋模式)來在水平方向上循環搜尋範圍[– sHor, sHor]以及在垂直方向上循環搜尋範圍[– sVer, sVer]來執行局部搜尋。 sHorsVer的值可以由塊尺寸決定。在一些情況下, sHor及/或 sVer的最大值可以是8(或其他合適的值)。
雙邊匹配成本可以被計算為: bilCost = mvDistanceCost + sadCost           等式(19)
當塊大小 cbW* cbH大於64(或其他塊大小閥值)時,可以應用平均去除絕對差和(MRSAD)成本函數來移除參考塊之間的失真的DC效應。當3×3搜尋模式(或其他搜尋模式)的中心點處的 bilCost具有最小成本時,終止 intDeltaMV局部搜尋。否則,當前最小成本搜尋點成為3×3搜尋模式(或其他搜尋模式)的新中心點,並且繼續局部搜尋,搜尋最小成本,直到到達搜尋範圍的結束為止(例如,水平方向上的[– sHor, sHor]和垂直方向上的[– sVer, sVer])。
在一些情況下,可以進一步應用現有的分數取樣細化來推導最終的deltaMV。隨後,可以將第一通路之後的經細化的MV推導為: MV0 pass1= MV0 + deltaMV                        等式(20) MV1 pass1= MV1 – deltaMV                        等式(21)
在一些實例中,第二通路可以包括執行基於子塊的雙邊匹配(BM)運動向量(MV)細化。例如,在第二通路中,可以經由將BM應用於16×16(或其他大小)網格子塊來推導經細化的MV。對於每個子塊,在參考圖片列表L0和L1中,在第一通路上獲得的兩個MV(例如,MV0 pass1和MV1 pass1)周圍搜尋經細化的MV。
基於搜尋,可以基於L0和L1中的兩個參考子塊之間的最小雙邊匹配成本來推導出兩個經細化的MV,即MV0 pass2( sbIdx2)和MV1 pass2( sbIdx2)。這裡, sbIdx2= 0、…、 N-1是子塊的索引(例如,因為第二通路BM可以應用於從第一通路BM中使用的原始塊產生的每個子塊)。例如,如先前描述的,可以針對大小為64x64的輸入塊產生或獲得總共16個子塊,每個子塊的尺寸為16x16。在該實例中, sbIdx2可以是16個子塊中的單獨子塊的索引。
對於每個子塊,第二通路BM可以包括執行全搜尋以推導整數取樣精度 intDeltaMV。全搜尋可以在水平方向上具有搜尋範圍[– sHor, sHor]以及在垂直方向上具有搜尋範圍[– sVer, sVer]。 sHorsVer的值可以由塊尺寸決定,並且 sHorsVer的最大值可以是8(或其他合適的值)。
圖10是示出根據本案內容的一些實例的譯碼單元(CU)1000中的實例搜尋區域的圖。例如,圖10圖示了譯碼單元1000中的四個不同的搜尋區域(例如,第一搜尋區域1020、第二搜尋區域1030、第三搜尋區域1040、第四搜尋區域1050等)。在一些情況下,可以經由將成本因數應用於兩個參考子塊之間的SATD成本(或其他成本函數)來計算雙邊匹配成本,如下所示: bilCost = satdCost * costFactor                  等式(22)
搜尋區域(2* sHor+ 1) * (2* sVer+ 1)被劃分為五個菱形搜尋區域,如圖10中圖示的。在其他態樣中,可以使用其他搜尋區域。每個搜尋區域被指派 costFactor值,其由每個搜尋點和起始MV之間的距離( intDeltaMV)決定。可以按連續處理每個菱形搜尋區域(例如,搜尋區域1020、1030、1040和1050),從搜尋區域的中心開始。在每個搜尋區域內,按光柵掃瞄連續處理搜尋點,從區域的左上角開始到右下角。
在一些實例中,首先搜尋第一搜尋區域1020,接著搜尋第二搜尋區域1030,接著搜尋第三搜尋區域1040,接著搜尋第四搜尋區域1050。當當前搜尋區域內的最小 bilCost小於等於 sbW* sbH的閥值時,終止整數圖元全搜尋;否則,整數圖元搜尋將繼續到下一搜尋區域,直到檢查所有搜尋點為止。
在某些情況下,可以進一步應用VVC DMVR分數取樣細化以推導最終deltaMV( sbIdx2)。隨後,可以將第二通路處的經細化的MV推導為: MV0 pass2( sbIdx2) = MV0 pass1+ deltaMV( sbIdx2)             等式(23) MV1 pass2( sbIdx2) = MV1 pass1– deltaMV( sbIdx2)             等式(24)
在一些實例中,第三通路可以包括執行基於子塊的雙向光流(BDOF)運動向量(MV)細化。例如,在第三通路中,可以經由將BDOF應用於8×8(或其他大小)的網格子塊來推導經細化的MV。對於每個8×8子塊,可以應用BDOF細化以從第二通路的父子塊的經細化的MV開始,在不剪裁的情況下推導經縮放的 VxVy。例如,第二通路的每個父子塊的大小可以是16x16(例如,第二通路的每個父子塊可以與第三通路中使用的四個8x8子塊相關聯)。可以基於經細化的MV(即MV0 pass2( sbIdx2)和MV1 pass2( sbIdx2))來應用或執行第三通路BDOF細化,其中 sbIdx2是第二通路的父子塊之一的索引。
隨後,可以將推導出的bioMv( Vx, Vy)捨入到1/16取樣精度並且在-32和32之間(或其他取樣精度及/或其他剪裁值或範圍)進行剪裁。
第三通路處的經細化的MV(MV0 pass3(sbIdx3)和MV1 pass3(sbIdx3))可以被推導為: MV0 pass3( sbIdx3) = MV0 pass2( sbIdx2) + bioMv                     等式(25) MV1 pass3( sbIdx3) = MV0 pass2( sbIdx2) – bioMv                        等式(26)
這裡, sbIdx3是第三通路中利用的8x8子塊中的特定的一個8x8子塊的索引,並且 sbIdx2是第二通路中使用的16x16子塊中的特定的一個16x16子塊的索引。在一些實例中, sbIdx3可以具有使得每個8x8子塊可由其 sbIdx3索引唯一地標識的範圍。例如,64x64塊可以被劃分為64個8x8子塊,並且 sbIdx3可以包含不同8x8子塊的64個唯一索引值。在一些實例中, sbIdx3可以具有使得每個8x8子塊可由其 sbIdx3值與對應的16x16父塊的 sbIdx2值組合唯一地標識的範圍。例如,64x64塊可以被劃分為總共16個子塊,每個子塊具有16x16大小,並且每個16x16子塊可以進一步被劃分為四個子塊,每個子塊具有8x8大小。在該實例中, sbIdx2可以取16個唯一值中的一個值,並且 sbIdx3可以取四個唯一值中的一個值,使得64個8x8子塊中的每一個皆是基於對應的 sbIdx2sbIdx3索引可辨識的。
本文描述了用於改進上述搜尋策略的各態樣。本文描述的各態樣可以應用於一或多個譯碼(例如,編碼、解碼或組合編碼-解碼)技術,諸如其中使用運動向量來從一或多個參考圖片(例如,來自兩個相應的參考圖片的兩個參考塊)預測當前圖片的塊的一或多個譯碼技術,其中經由細化技術來對運動向量進行細化。這些改進可以應用於如前述的任何合適的視訊譯碼標準或格式(例如,HEVC、VVC、AV1)、基於來自兩個相應的參考圖片的參考塊來向塊應用譯碼的其他現有標準或格式、以及使用此類技術的任何未來標準。通常,當使用來自兩個參考圖片的兩個參考塊時,此類技術通常被稱為雙預測合併模式和雙邊匹配技術。
本文描述的各個態樣可以允許不同的譯碼塊具有用於雙邊匹配的不同的搜尋策略(或方法),而不是遵循上述精確的搜尋策略。可以在位元串流中譯碼的一或多個語法元素中用訊號通知用於塊的所選搜尋策略。搜尋策略包括在雙邊匹配搜尋程序期間施加的MVD0與MVD1之間的約束/關係,並且亦可以與搜尋模式、搜尋範圍或最大搜尋輪數、成本準則等的某種組合相關聯。在一些情況下,約束亦可以被稱為限制。
本文描述的系統和技術可以用於執行用於解碼器側運動向量細化(DMVR)的自我調整雙邊匹配(BM)。例如,系統和技術可以經由針對不同的譯碼塊應用不同的搜尋策略及/或搜尋方法來執行用於DMVR的自我調整雙邊匹配。在一些態樣中,可以使用在位元串流中譯碼的一或多個語法元素來用訊號通知用於塊的所選搜尋策略。在一些實例中,可以顯式地、隱式地或使用其組合來用訊號通知用於塊的所選搜尋策略。如下文將更深入地描述的,所選搜尋策略(例如,將用於針對給定塊的DMVR執行自我調整BM)可以包括MVD0和MVD1之間的約束或關係,其中在雙邊匹配搜尋程序期間利用或應用搜尋策略約束。在一些實例中,搜尋策略可以補充或替代地包括搜尋模式、搜尋範圍、最大搜尋輪數、成本準則等的一或多個組合。
在一個示例性實例中,本文描述的系統和技術可以使用一或多個運動向量差(MVD)約束來執行用於DMVR的自我調整雙邊匹配。如前述,運動向量差可以用於表示初始運動向量與經細化的運動向量之間的差(例如,MVD0=MV0’–MV0和MVD1=MV1’–MV1)。
在一些實例中,可以為給定的雙邊匹配塊選擇MVD約束(例如,被包括在所選搜尋策略中)。例如,MVD約束可以是鏡像約束,其中MVD0和MVD1具有相同的幅值但相反的符號(例如,MVD0=-MVD1)。MVD鏡像約束在本文中亦可以被稱為「第一約束」。
在另一實例中,MVD約束可以設置MVD0=0(例如,MVD0的x和y分量兩者均為零)。例如,可以經由將MV0保持為固定,同時在MV1周圍搜尋以推導經細化的MV1’,並且MV0’=MV0,來利用MVD0=0約束。MVD0=0約束在本文中亦可以被稱為「第二約束」。
在另一實例中,MVD約束可以設置MVD1=0(例如,MVD1的x和y分量兩者均為零)。例如,可以經由將MV1保持為固定,同時在MV0周圍搜尋以推導經細化的MV0’,並且MV1’=MV1,來利用mVD1=0約束。MVD1=0約束在本文中亦可以被稱為「第三約束」。
在另一實例中,可以利用MVD約束來在MV0周圍獨立地搜尋來推導MV0’,並且在MV1周圍獨立地搜尋來推導MV1’。與MVD無關的搜尋約束在本文中亦可以被稱為「第四約束」。
如下文將更深入地描述的,在一些情況下,針對每個雙邊匹配塊,僅可以提供第一和第二約束作為選項(例如,包括在所選或用訊號通知的搜尋策略中)。在一些情況下,針對每個雙邊匹配塊,僅提供第一和第三約束作為選項(例如,包括在所選或用訊號通知的搜尋策略中)。在一些情況下,針對每個雙邊匹配塊,僅提供第一和第四約束作為選項(例如,包括在所選或用訊號通知的搜尋策略中)。在一些情況下,針對每個雙邊匹配塊,僅提供第二和第三約束作為選項(例如,包括在所選或用訊號通知的搜尋策略中)。在一些情況下,針對每個雙邊匹配塊,提供第一、第二和第三約束作為選項(例如,包括在所選或用訊號通知的搜尋策略中)。針對每個雙邊匹配塊,可以提供約束的任何其他組合作為選項(例如,包括在所選或用訊號通知的搜尋策略中)。
在一些態樣中,可以用訊號通知一或多個語法元素(例如,在位元串流中),其中一或多個語法元素包括用於指示是否應用了約束中的一或多個約束的值。在一些實例中,語法元素可以用於指示或決定上述MVD約束中的特定的一個MVD約束,以應用於給定的雙邊匹配塊。
在一個說明性實例中,第一語法元素可用於指示是否應用了第一約束。例如,第一語法元素可以用於指示是否應當將鏡像約束(例如,MVD0=-MVD1)應用於針對其用訊號通知第一語法元素的給定雙邊匹配塊。在一些情況下,當要應用鏡像約束時,第一語法元素可以具有第一值,並且當將不應用鏡像約束時,第一語法元素可以具有第二值。在一些情況下,第一語法元素的存在可以用於推斷(例如,隱式地用訊號通知)鏡像約束將應用於給定或當前雙邊匹配塊,而第一語法元素的缺失可以用於推斷(例如,隱式地用訊號通知)不應當應用鏡像約束。
繼續上面的實例,若第一語法元素指示未應用第一約束(例如,MVD鏡像約束,MVD0=-MVD1),則可以使用第二語法元素指示將應用剩餘約束中的哪些約束。例如,第二語法元素可以用於指示第二約束(例如,MVD0=0)或第三約束(例如,MVD1=0)是否應當應用於針對其用訊號通知語法元素的給定或當前雙邊匹配塊。在一些實例中,當將應用第二約束時,第二語法元素可以具有第一值,並且當將應用第三約束時,第二語法元素可以具有第二值。在一些情況下,第二語法元素的存在可以用於推斷(例如,用於隱式地用訊號通知)應當應用第二約束或第三約束中的預定一個,而第二語法元素的缺失可以用於推斷(例如,隱式地用訊號通知)應當應用第二約束或第三約束中的剩餘一個。
在一些實例中,一或多個語法元素(例如,第一語法元素及/或第二語法元素)可以包括模式資訊,並且可以基於由模式資訊指示的模式(例如,合併模式)來決定從上述MVD約束中選擇的約束。例如,一或多個語法元素可以包括指示用於當前雙邊匹配塊的不同合併模式的模式資訊。在一個說明性實例中,當規則合併候選滿足上述DMVR條件時,第一約束(例如,鏡像約束,MVD0=-MVD1)可以應用於規則(例如,標準或預設,諸如VVC合併模式中的擴展合併預測)合併模式譯碼塊。
如前述,DMVR條件可以指示利用以下一或多個模式和特徵進行譯碼的CU。在一些實例中,DMVR條件可以包括但不限於利用以下一或多個模式及/或特徵進行譯碼的CU:具有雙預測MV的CU級合併模式;過去的一個參考圖片(例如,相對於當前圖片)和未來的另一參考圖片(例如,相對於當前圖片);從兩個參考圖片到當前圖片的距離(例如,POC差)相同;兩個參考圖片皆是短期參考圖片;包含64個以上的亮度取樣的CU;CU高度和CU寬度兩者均大於或等於8個亮度取樣;BCW權重索引指示相等權重;針對當前塊未啟用加權預測(WP);組合訊框間和訊框內預測(CIIP)模式不用於當前塊;等等。
在另一說明性實例中,當譯碼塊使用指定的新合併模式(例如,如本文描述的自我調整雙邊匹配模式)並且其中所有合併候選滿足DMVR條件時,可以應用第二約束(例如,MVD0=0)或第三約束(例如,MVD1=0)之一。在一些情況下,第二約束及/或第三約束補充或替代地由模式標誌或合併索引指示。例如,可以基於模式標誌或合併索引來決定對第二約束和第三約束的指示或之間的選擇。
在一些實例中,本文描述的一或多個語法元素可以包括合併候選列表的索引。隨後,可以經由指示從合併候選列表中選擇的合併候選的索引來決定所選約束(例如,約束取決於所選合併候選)。在另一實例中,語法元素可以包括模式標誌和索引的組合。
在一些態樣中,本文描述的系統和技術可以用訊號通知(例如,顯式地及/或隱式地)可以用於執行上述多級(例如,多通路)DMVR的所選搜尋策略。在一些實例中,可以在多通路DMVR的一個通路中應用所選搜尋策略。在另一實例中,可以在多通路DMVR的多個級別或通路(例如,但是在一些情況下,不是通路的所有級別或通路)中應用所選搜尋策略。
對於上述三通路DMVR的實例,在一個示例性實例中,僅可以在第一通路中應用所選策略(例如,PU級雙邊匹配)。可以利用預設策略(例如,上述關於圖10描述的預設策略)和標準化的三通路結構來執行第二和第三通路(例如,其分別針對第一子塊大小執行雙邊匹配以及針對小於第一子塊大小的第二子塊大小執行BDOF)。在一個示例性實例中,多通路DMVR(例如,上述三通路DMVR)可以在第一通路中利用第二搜尋策略(例如,第二約束MVD0=0)及/或第三搜尋策略(例如,第三約束MVD1=0)來執行PU級雙邊匹配。後續程序(例如,第二和第三通路)可以使用包括第一約束(例如,鏡像約束MVD0=-MVD1)的預設搜尋策略。
在一些態樣中,搜尋策略可以被群組為多個子集。在一些實例中,可以使用一或多個語法元素來決定所選子集。在一些情況下,可以隱式地決定給定子集內的所選策略。在一個說明性實例中,第一約束(例如,鏡像約束MVD0=-MVD1)可以被包括在第一子集中,並且第二約束(例如MVD0=0)和第三約束(例如MVD1=0)兩者可以被包括在第二子集中。語法元素可以用於指示是否使用第二子集。若使用第二子集(例如,基於對應的語法元素),則可以隱式地決定應用第二約束或第三約束之間的選擇或決定。例如,可以基於使用第二約束進行雙邊匹配與使用第三約束進行雙邊匹配之間的最小匹配成本來進行隱式決定。若決定使用第二約束的雙邊匹配提供與使用第三約束的雙邊匹配相比更小的匹配成本,則可以選擇第二約束,否則選擇第三約束。
在一些實例中,本文描述的系統和技術的一或多個態樣可以與增強型壓縮模型(ECM)一起使用或基於ECM來應用。例如,在ECM中,多通路DMVR可以應用於具有一或多個與上述特徵相同或類似的特徵的一般(例如,標準或預設,諸如VVC合併模式中的擴展型合併預測)合併模式候選。例如,一或多個特徵可以與上述一些(或全部)DMVR條件相同或類似。如前述,合併候選是指從中繼承資訊(例如,一或多個運動向量、預測模式等)以用於對當前塊進行譯碼(例如,編碼及/或解碼)的候選塊,其中候選塊可以是與當前塊相鄰的塊。例如,合併候選可以是訊框間預測PU,其包括從一組空間相鄰的運動資料位置中選擇的運動資料位置和兩個時間上共置的運動資料位置中的一個。
在預設情況下,可以基於應用第一約束(例如,鏡像約束MVD0=-MVD1)來執行ECM中的多通路DMVR。在一個說明性實例中,本文描述的系統和技術可以利用自我調整雙邊匹配模式作為用於多通路DMVR的新模式。在一些實例中,自我調整雙邊匹配模式亦可以被稱為「adaptive_bm_mode」。在adaptive_bm_mode下,可以用訊號通知合併索引以指示所選運動資訊候選。然而,候選列表中的所有候選皆可以滿足DMVR條件。在一些情況下,可以使用標誌(例如,bm_merge_flag)來用訊號通知或指示使用自我調整雙邊匹配模式。例如,若標誌為真(例如,bm_merge_flag等於1),則可以使用或應用adaptive_bm_mode(例如,如將在下文描述的)。在一些態樣中,當標誌為真(例如,bm_merge_flag等於1)時,可以使用額外標誌(例如,bm_dir_flag)來用訊號通知或指示要在adaptive_bm_mode中使用的bm_dir值。
在一些態樣中,若adaptive_bm_mode=1,則可以執行自我調整雙邊匹配,並且若adaptive_bm_mode=0,則不執行自我調整雙邊匹配。在一個說明性實例中,可以至少部分地基於將第二約束或第三約束應用於所選候選(例如,將MVD0或MVD1分別固定為等於0)來執行自我調整雙邊匹配程序(例如,與adaptive_bm_mode=1相關聯)。在一些情況下,變數bm_dir可以用於指示應用哪個約束及/或指示所選約束。例如,當執行自我調整雙邊匹配時(例如,用訊號通知或基於adaptive_bm_mode來決定),bm_dir=1可以用於指示或用訊號通知應當經由將MVD1固定為0來執行自我調整雙邊匹配(例如,應當應用第三約束)。在一些實例中,bm_dir=2可以用於指示或用訊號通知應當經由將MVD0固定為0來執行自我調整雙邊匹配(例如,應當應用第二約束)。
在一些情況下,若不執行自我調整雙邊匹配,則可以利用一般合併模式。如先前提及的,可以基於adaptive_bm_mode = 0(其指示不執行自我調整雙邊匹配)來決定或用訊號通知一般合併模式。在一些實例中,當利用一般合併模式時(例如,因為未執行自我調整雙邊匹配),系統和技術可以利用推斷的bm_dir=3的值,其指示或用訊號通知MVD0和MVD1不固定並且MVD0=-MVD1(例如,應當應用第一鏡像約束)。在一些實例中,bm_dir=3可以顯式地用訊號通知或用於指示一般合併模式。
在一些實例中,系統和技術可以利用一或多個修改的雙邊匹配操作來執行雙邊匹配。在一些態樣中,當bm_dir=3時,雙邊匹配程序可以與先前描述的三通路雙邊匹配程序相同。例如,給定初始MV對,經由第一MV參考第一參考圖片來產生第一預測器,並且經由第二MV參考第二參考圖片來產生第二預測器。隨後,經由使經細化的第一預測器(例如,使用第一經細化的MV產生)與經細化的第二預測器(例如,使用第二經細化的MV產生)之間的BM成本最小化來推導經細化的MV對,其中經細化的MV與初始MV之間的運動向量差為MVD0和MVD1,並且MVD0=-MVD1。
在一些態樣中,當bm_dir=1時,僅細化第一MV,而第二MV保持固定。例如,可以經由使由第二MV產生的第二預測器與由經細化的第一MV產生的經細化的第一預測器之間的BM成本最小化來推導經細化的第一MV。例如,當bm_dir=1時,可以細化MV0,而MV1保持固定。可以經由使基於MV1產生的預測器與基於MV0’產生的經細化的預測器之間的BM成本最小化來推導經細化的運動向量MV0’。
在一些實例中,當bm_dir=2時,僅細化第二MV,而第一MV保持固定。例如,可以經由使由第一MV產生的第一預測器與由經細化的第二MV產生的經細化的第二預測器之間的BM成本最小化來推導經細化的第二MV。例如,當bm_dir=2時,可以細化MV1,而MV0保持固定。可以經由使基於MV1產生的預測器與基於MV1’產生的經細化的預測器之間的BM成本最小化來推導經細化的運動向量MV1’。
在一些態樣中,BM成本(例如,如前述)可以補充或替代地包括基於運動向量差(MVD)或從運動向量差(MVD)推導的正則化項。在一個說明性實例中,多通路DMVR搜尋程序可以包括基於MV成本而決定的正則化項,該MV成本取決於經細化的MV位置。
在一些態樣中,上述雙邊匹配修改中的一或多個雙邊匹配修改可以僅在多通路雙邊匹配程序(例如,PU級DMVR)的第一通路中應用。在其他態樣中,可以在第一通路和第二通路中應用上述雙邊匹配修改中的一或多個雙邊匹配修改(例如,在PU級和子PU級DMVR通路中應用)。
在一些實例中,本文描述的系統和技術可以使用比上述實例中描述的通路更多或少數量的通路來執行多通路雙邊匹配DMVR。例如,可以利用少於三個程序及/或可以使用多於三個通路。在一些實例中,可以使用任意數量的通路,並且可以以任何方式構造這些通路。在一些態樣中,可以在adaptive_bm_mode下類似地應用於多通路設計。在一些態樣中,可以在adaptive_bm_mode下跳過第二通路。在一些態樣中,可以在adaptive_bm_mode下跳過第二通路和第三通路兩者。在其他態樣中,可以基於特定的自我調整雙邊匹配準則來將通路(例如,來自上述三通路系統的通路操作)的任何組合與重複的通路或其他通路類型進行組合。
在多通路DMVR的一些態樣中,不同的搜尋模式可以用於不同的搜尋級別及/或搜尋精度。例如,正方形搜尋可以用於整數搜尋和半圖元搜尋兩者,其可以應用於執行PU級DMVR(例如,第一通路)。在一些實例中,對於子PU級DMVR(例如,第二通路及/或第三通路),全搜尋可以用於整數搜尋,並且正方形搜尋可以用於半圖元搜尋。在一些實例中,可以基於關於bm_dir等於第一值(值1)、第二值(值2)或第三值(值3)的決定來利用上述一或多個(或全部)搜尋模式。在一個實例中,可以基於關於bm_dir=3的決定來利用上述一或多個(或全部)搜尋模式。
以下態樣描述了當bm_dir等於1或2時的實例搜尋模式及/或搜尋程序。在一個態樣中,當bm_dir=1及/或當bm_dir=2時,可以使用與bm_dir=3時相同的搜尋模式。在另一態樣中,bm_dir=1和bm_dir=2可以使用與bm_dir=3時不同的搜尋模式。例如,在一個實例中,全搜尋可以用於PU級DMVR中的整數搜尋,並且正方形搜尋可以用於PU級DMVR中的半圖元搜尋。
在一些態樣中,相同的搜尋範圍及/或最大搜尋輪數可以用於不同的bm_dir值。在其他態樣中,當bm_dir=1或2時,可以使用不同的搜尋範圍及/或不同的最大搜尋輪數。例如,在具有被指派給不同MVD的不同成本因數的全搜尋的情況下,可以跳過一或多個MVD區域。例如,如圖10所示,將CU 1000的搜尋區域劃分為多個搜尋區域(例如,第一搜尋區域1020、第二搜尋區域1030、第三搜尋區域1040、第四搜尋區域1050)。在一些情況下,可以跳過遠離搜尋區域的中心(例如,遠離第一搜尋區域1020)的區域。
在一些實例中,在一般合併模式下,可以搜尋所有搜尋區域。例如,關於圖10,在一般合併模式下,可以搜尋四個搜尋區域1020、1030、1040和1050連同第五搜尋區域,第五搜尋區域包括CU 1000的尚未包括在四個搜尋區域1020-1050之一中的剩餘塊。如前述,在一些情況下,可以跳過遠離搜尋區域的中心的搜尋區域。例如,在自我調整雙邊匹配模式下(例如,當bm_dir=1或2時),僅可以搜尋與圖10的CU 1000相關聯的前三個搜尋區域(例如,在自我調整雙邊匹配模式下,僅可以搜尋第一搜尋區域1020、第二搜尋區域1030和第三搜尋區域1040)。
在多通路DMVR的一些態樣中,SAD或平均去除SAD(例如,取決於PU大小)可以用於與PU級DMVR通路相關聯的整數搜尋和半圖元搜尋。在一些情況下,SATD可以用於子PU級DMVR。在一些態樣中,相同的成本準則可以用於不同的bm_dir值。例如,ECM中的當前成本準則選擇可用於所有bm_dir值。在其他態樣中,對於不同的bm_dir值,成本準則選擇可能不同。例如,當bm_dir=3時,可以應用當前ECM中的成本準則選擇。根據PU大小,SAD或平均去除SAD可以用於PU級DMVR中的整數和半圖元搜尋。當bm_dir=1或2時,PU級DMVR程序可以使用SATD進行整數搜尋,並且可以使用SAD進行半圖元搜尋。
如前述,對於一些態樣,候選列表中的候選滿足DMVR條件。在一個額外態樣中,可以將bm_dir設置為等於1或2,如adaptive_bm_mode中包括的額外的bm_dir_flag指示的。在一些情況下,adaptive_bm_mode的候選列表是在一般合併候選列表的基礎上產生的。例如,可以將被決定為滿足一般合併候選列表中的DMVR條件的一或多個候選插入到adaptive_bm_mode的候選列表中。
在另一額外態樣中,可以經由adaptive_bm_mode內的合併索引來指示是否將bm_dir設置為等於1或2。adaptive_bm_mode的候選列表可以是在一般合併候選列表的基礎上產生的。對於滿足DMVR條件的一般合併候選列表之每一者候選,可以將一對兩個候選插入到adaptive_bm_mode候選列表中,其中一個候選具有bm_dir=1,以及另一候選具有bm_dir=2,其中該對中的兩個候選具有相同的運動資訊。在一些實例中,可以經由決定合併索引是偶數還是奇數來決定bm_dir。
在一個說明性實例中,可以獨立於一般合併候選列表來產生adaptive_bm_mode的候選列表。在一些情況下,adaptive_bm_mode的候選列表的產生可以遵循與產生一般合併模式的候選列表相同或類似的程序(例如,檢查相同的空間、時間相鄰位置、基於歷史的候選、成對候選等)。在一些情況下,可以在列表構建程序期間應用修剪。
在另一態樣中,與具有指示非等權重的CU級權重(BCW)權重索引的雙預測相關聯的一或多個候選亦可以被添加到候選列表中(例如,與具有DMVR條件的一些系統相比,其中BCW權重索引可以指示相等權重)。
在一些實例中,若adaptive_bm_mode的候選列表及/或一般合併模式的候選列表中的候選數量小於預定義的最大值,則可以應用填充處理。例如,一旦產生adaptive_bm_mode的候選列表,列表中可能存在比預定義的最大候選數量更少的候選。在這樣的實例中,可以應用填充程序以產生候選列表的多個填充候選,使得填充候選列表包括預定義數量的候選。在一個說明性實例中,在啟用自我調整雙邊匹配的情況下(例如,adaptive_bm_mode=1),可以使用一或多個預設候選項來在合併列表構造中進行填充。可以推導預設候選,使得其滿足DMVR條件。
在一些實例中,對於預設候選,MV可以被設置為零。例如,在填充程序期間可以添加零MV候選。在一些實例中,可以根據DMVR條件選擇參考圖片。在一些情況下,參考索引可以循環所有可能的值,直到候選列表中的候選數量達到最大候選數量(例如,預定義的最大值)為止。在另一態樣中,BCW權重索引可以用於指示用於一般候選的相等權重,並且可以在添加零候選之後和之前添加一或多個非等權重BCW候選。
在一些態樣中,可以選擇被指派給預設候選的參考圖片(例如,被指派給上述填充零MV候選的參考圖片)以滿足與adaptive_bm_mode相關聯的一或多個條件。此類條件的一個說明性實例可以包括以下條件中的一或多個條件及/或可以包括這裡未列出的其他條件:選擇至少一對參考圖片,其包括相對於當前圖片在過去的一個參考圖片和在未來的一個參考圖片;從兩個參考圖片到當前圖片的相應距離相等;兩個參考圖片皆不是長期參考圖片;兩個參考圖片具有與當前圖片相同的解析度;加權預測(WP)不應用於任何參考圖片;其任何組合;及/或其他條件。
在一些態樣中,可以基於選擇滿足關聯於或基於指定或所選約束(例如,第二約束,MVD0=0,或第三約束,MVD1=0)的一或多個條件的參考圖片來將一或多個參考圖片指派給預設候選(例如,上述填充的零MV候選)。在一些實例中,可以選擇參考圖片以滿足與給定約束相關聯的一或多個條件,其中給定約束是基於bm_dir來決定的(例如,如前述)。例如,基於bm_dir的一或多個條件可以僅應用於針對其執行細化的MV(例如,若bm_dir=1)。此類條件的一個說明性實例可以包括以下條件中的一或多個條件及/或可以包括這裡未列出的其他條件:給定列表X中的參考圖片不是長期參考圖片;列表X中的參考圖片具有與當前圖片相同的解析度;加權預測(WP)不應用於列表X中的參考圖片;從列表X中的第一參考圖片到當前圖片的相應距離不小於從其他參考圖片(例如,列表X中的第二參考圖片)到當前圖片的相應距離;其任何組合;及/或其他條件。
在一些情況下,若bm_dir指示列表0中的MV被細化,則列表X可以與列表0(例如,列表L0)相同。在一些情況下,若bm_dir指示列表1中的MV被細化,則列表X可以與列表1(例如,列表L1)相同。在一些態樣中,可以經由以特定順序循環參考圖片的所有可能組合並且辨識滿足預定義條件的參考圖片來找到所有可能的零MV候選。在一個說明性實例中,可以針對列表0執行第一循環並且可以針對列表1執行第二循環。在另一實例中,可以針對列表1執行第一循環並且可以針對列表0執行第二循環。在本案內容的範疇內,其他排序亦是可能的並且應當被考慮。決定可能的零MV候選的程序(例如,經由以特定順序循環參考圖片的組合來辨識滿足預定義條件的參考圖片)可以在切片級別、圖片級別或其他級別執行。所辨識的預設MV候選(例如,零MV候選)的列表可以被儲存為預設候選。在一些情況下,當在塊級別決定可能的零MV候選時,當候選數量小於預定義的最大候選數量時,本文描述的系統和技術可以循環預設候選並且將預設候選中的一或多個預設候選添加到候選列表中,直到候選數量達到預定義的最大值為止。
在一些態樣中,一或多個大小約束可以被包括在本文描述的adaptive_bm_mode中及/或由其利用。在一個態樣中,可以在adaptive_bm_mode中應用與一般DMVR中相同的大小約束。在另一態樣中,若當前塊的寬度和高度皆不大於DMVR的最小塊大小,則不應用adaptive_bm_mode。
在一些態樣中,可以將adaptive_bm_mode作為一般合併模式之外的額外合併模式來用訊號進行通知。在一些實例中,可以應用或利用各種訊號傳遞方法來將adaptive_bm_mode作為額外合併模式用訊號進行通知。例如,adaptive_bm_mode可以被視為或用訊號通知為一般合併模式的變體。在一個說明性實例中,可以首先用訊號通知一或多個語法元素以指示一般合併模式,並且可以用訊號通知一或多個額外標誌及/或語法元素以指示adaptive_bm_mode及/或指示可以與adaptive_bm_mode的使用相關聯地應用的約束中的特定約束(例如,第二約束MDV0=0或第三約束MDV1=0)。
在另一態樣中,adaptive_bm_mode可以在指示一般合併模式之前由一或多個標誌指示。例如,若語法(例如,一或多個第一語法元素)指示當前塊不使用adaptive_bm_mode,則可以用訊號通知一或多個額外語法元素,以指示當前塊是使用一般合併模式亦是其他合併模式。例如,若當前塊不使用adaptive_bm_mode或一般合併模式,則可以用訊號通知一或多個額外語法元素,以指示當前塊使用其他合併模式,諸如組合訊框間和訊框內預測(CIIP)、幾何分割模式(GPM)等。
在又一態樣中,可以在其他合併模式分支中用訊號通知adaptive_bm_mode。例如,可以在範本匹配合併模式分支中用訊號通知adaptive_bm_mode。在一些情況下,可以首先用訊號通知一或多個語法元素,以指示是否使用了adaptive_bm_mode和範本匹配合併模式之一。若一或多個語法元素指示使用了adaptive_bm_mode或範本匹配合併模式,則可以用訊號通知一或多個額外標誌或語法元素,以指示使用了範本匹配合併模式和adaptive_bm_mode中的哪一個。
在一些態樣中,adaptive_bm_mode中的合併索引可以使用與一般合併模式中相同的訊號傳遞方法。在一個態樣中,adaptive_bm_mode可以使用與一般合併模式相同(或類似)的上下文模型。在另一態樣中,可以將單獨的上下文模型用於adaptive_bm_mode。在一些實例中,用於adaptive_bm_mode的最大合併候選數量可能不同於用於一般合併模式的最大合併候選數量。
在一個說明性實例中,可以使用一或多個高級語法元素來指示是否可以應用或將應用adaptive_bm_mode。在一個態樣中,用於指示是否將應用一般DMVR的相同高級語法亦可以用於指示是否將應用adaptive_bm_mode。在另一態樣中,可以使用一或多個單獨的(例如,額外的)高級語法元素來指示是否應當應用adaptive_bm_mode。在另一態樣中,可以使用單獨的高級語法元素來指示是否利用adaptive_bm_mode,其中僅當啟用了一般DMVR時,才存在用於adaptive_bm_mode的單獨的高級語法元素。例如,若與一般DMVR相關聯的單獨高級語法元素被決定為指示未啟用或利用一般DMVR,則不用訊號通知與adaptive_bm_mode相關聯的單獨或額外的高級語法元素,並且將adaptive_bm_mode推斷為關閉(例如,未啟用或利用)。
在一些態樣中,除了上述一或多個高級語法元素外,亦可以根據可用參考圖片來針對經解譯碼的圖片或切片禁用adaptive_bm_mode。在一些情況下,若決定沒有參考圖片的組合滿足或能夠滿足參考圖片條件,則可以禁用adaptive_bm_mode,並且用訊號不通知對應的語法元素(例如,在塊級別)。在一些情況下,必須有至少一對參考圖片滿足參考圖片條件,以便利用adaptive_bm_mode。此類條件的一個說明性實例可以包括以下條件中的一或多個條件及/或可以包括這裡未列出的其他條件:一個參考圖片相對於當前圖片在過去以及一個參考圖片相對於當前圖片在未來;從兩個參考圖片到當前圖片的相應距離相等;兩個參考圖片皆不是長期參考圖片;兩個參考圖片具有與當前圖片相同的解析度;加權預測(WP)不應用於任一參考圖片;其任何組合;及/或其他條件。
上述條件可以單獨使用或組合使用。
在一些態樣中,根據參考圖片,僅可以啟用本文描述的自我調整雙邊匹配模式的子集(例如,與第二條件MDV0=0相關聯的第一自我調整雙邊匹配模式,以及與第三條件MDV1=0相關聯的第二自我調整雙邊匹配模式)。僅允許bm_dir=1(例如,與第二條件MDV0=0相關聯)或bm_dir=2(例如,與第三條件MDV1=0相關聯)的此類條件的實例可以包括以下條件中的一或多個條件及/或可以包括這裡未列出的其他條件:參考圖片中的一個參考圖片是長期參考圖片,而另一參考圖片不是長期參考圖片;參考圖片中的一個參考圖片具有與當前圖片相同的解析度,但另一參考圖片具有與當前圖片不同的解析度;加權預測(WP)應用於參考圖片中的一個參考圖片;從參考圖片中的一個參考圖片到當前圖片的相應距離不小於從另一參考圖片到當前圖片的相應距離;其任何組合;及/或其他條件。
在一些情況下,可以不用訊號通知並且可以相應地推斷標識雙邊匹配模式的語法元素(例如,在塊級別)。在一些實例中,可以隱式地用訊號通知(例如,推斷)語法元素,而不是顯式地用訊號通知語法元素(例如,在位元串流中作為特定語法表一部分)。在一些情況下,可能既不顯式地用訊號通知亦不隱式地用訊號通知語法元素,並且可以推斷語法元素。例如,若啟用第一值的bm_dir(例如,啟用bm_dir=1),但是禁用第二值的bm_dir(例如,禁用bm_dir=2),則可能不用訊號通知用於在塊級別指示bm_dir的語法元素。在缺少該語法元素的情況下,可以將bm_dir推斷為第一值(例如,將bm_dir推斷為1)。在另一實例中,若啟用第二值的bm_dir(例如,bm_dir=2),但是禁用第一值的bm_dir(例如,禁用bm_dir=1),則可能不用訊號通知用於在塊級別指示bm_dir的語法元素。在缺少該語法元素的情況下,可以將bm_dir推斷為第二值(例如,將bm_dir推斷為2)。
在另一實例中,切片級標誌及/或圖片級標誌可以用於adaptive_bm_mode。例如,若不滿足上述條件中的至少一個條件,則可以將切片級標誌及/或圖片級標誌用作位元串流一致性約束,即將該標誌設置為0(例如,禁用DMVR模式)。
在又一實例中,可以將位元串流一致性約束引入現有訊號傳遞,其中位元串流一致性約束指示:若不滿足以上條件中的至少一個條件,則不應當應用adaptive_bm_mode,並且將對應的管理負擔設置為0(例如,指示不使用adaptive_bm_mode)。
在ECM的一些態樣中,可以利用多假設預測(MHP)。在MHP中,可以使用訊框間預測技術來獲得或決定兩個以上的運動補償預測訊號的加權疊加。基於執行逐取樣加權疊加,可以獲得所得的整體預測訊號。例如,基於單/雙預測訊號p uni/bi和第一額外訊框間預測訊號/假設h 3,可以按如下獲得所得的預測訊號p 3
Figure 02_image073
等式(27)
這裡,加權因數α可以根據以下映射由語法元素add_hyp_weight_idx指定:
add_hyp_weight_idx
Figure 02_image075
0 1/4
1 -1/8
表2
在一些實例中,可以使用一個以上的額外預測訊號。在一些情況下,可以以與上述相同或類似的方式利用一個以上的額外預測訊號。例如,當利用多個額外預測訊號時,可以按如下將所得的整體預測訊號與每個額外預測訊號反覆運算累積:
Figure 02_image077
等式(28)
這裡,所得的整體預測訊號可以作為最後一個 p n (例如,具有最大索引 np n )獲得。
在一些態樣中,MHP可能不應用於(例如,被禁用)任何adaptive_bm_mode。在一些態樣中,MHP可以以與MHP應用於標準化(例如,一般)合併模式相同或類似的方式應用於adaptive_bm_mode之上。
圖11是示出用於處理視訊資料的程序1100的實例的流程圖。在一些實例中,根據本案內容的一些實例,程序100可以用於執行具有自我調整雙邊匹配的解碼器側運動向量細化(DMVR)。在一些態樣中,程序1100可以在用於處理視訊資料的裝置中實現,該裝置包括記憶體和耦合到記憶體的一或多個處理器,其被配置為執行程序1100的操作。在其他態樣中,程序1100可以在儲存指令的非暫時性電腦可讀取媒體中實現,該等指令在由設備的一或多個處理器執行時使得設備執行程序1100的操作。
在方塊1102處,程序1100包括:獲得用於當前圖片的一或多個參考圖片(例如,當前圖片的當前塊)。例如,可以基於圖1所示的解碼設備112的一或多個輸入114來獲得一或多個參考圖片。在一些實例中,可以從由圖1所示的解碼設備112獲得或提供給解碼設備112的視訊資料中獲得一或多個參考圖片和當前圖片。
在方塊1104處,程序1100包括:辨識用於合併模式候選的第一運動向量和第二運動向量。例如,第一運動向量及/或第二運動向量可以由圖1所示的解碼設備112來辨識。在一些實例中,可以使用圖1所示的解碼設備112的解碼器引擎116來辨識第一運動向量及/或第二運動向量。在一些情況下,可以使用用訊號通知的資訊來辨識第一運動向量和第二運動向量中的一或多個(或兩者)。例如,圖1所示的編碼設備104可以包括可以由解碼設備112及/或解碼引擎116用於辨識第一運動向量和第二運動向量中的一或多個(或兩者)的訊號傳遞資訊。在一些情況下,程序1100可以包括:決定用於當前圖片的合併模式候選。如本文提及的,合併模式候選可以包括塊的相鄰塊,對於當前圖片的塊,可以從該相鄰塊繼承預測資料。例如,可以由圖1所示的解碼設備112來決定合併模式候選。在一些實例中,可以使用圖1所示的解碼設備112的解碼器引擎116來決定合併模式候選。在一些實例中,解碼設備112及/或解碼引擎116可以使用訊號傳遞資訊來決定用於當前圖片的合併模式候選。在一些情況下,可以使用用於辨識與合併模式候選相關聯的第一運動向量和第二運動向量中的一或多個(或兩者)的相同訊號傳遞資訊來決定合併模式候選。在一些情況下,可以使用單獨的訊號傳遞資訊來決定合併模式候選以及第一和第二運動向量。
在方塊1106處,程序1100包括:從複數個運動向量搜尋策略中決定用於合併模式候選的所選運動向量搜尋策略。在一些態樣中,所選運動向量搜尋策略與基於或對應於第一運動向量及/或第二運動向量的一或多個約束相關聯。在一個說明性實例中,所選運動向量搜尋策略可以是雙邊匹配(BM)運動向量搜尋策略。在一些情況下,用於合併模式候選的運動向量搜尋策略可以是從包括以下各項中的至少兩項的複數個運動向量搜尋策略中選擇的:多通路解碼器側運動向量細化策略、分數取樣細化策略、雙向光流策略、或基於子塊的雙邊匹配運動向量細化策略。在一些實例中,可以在決定合併模式候選之前決定所選運動向量搜尋策略。例如,可以決定所選運動向量搜尋策略(例如,如前述)並且使用其來產生合併候選列表。可以基於從所產生的合併候選列表中的選擇來決定合併模式候選。在一些實例中,可以在決定所選運動向量搜尋策略之前決定所選合併模式候選。例如,在一些情況下,可以在不使用所選搜尋策略的情況下產生合併候選列表(例如,對於複數個搜尋策略之每一者相應搜尋策略,所產生的合併候選列表可以相同),並且可以在所選搜尋策略之前決定所選合併候選。
在一些實例中,所選運動向量搜尋策略可以是多通路解碼器側運動向量細化(DMVR)搜尋策略。例如,多通路DMVR搜尋策略可以包括一或多個基於塊的雙邊匹配運動向量細化通路,並且亦可以包括一或多個基於子塊的運動向量細化通路。在一些實例中,可以使用與第一運動向量差及/或第二運動向量差相關聯的第一約束來執行一或多個基於塊的雙邊匹配運動向量細化通路。第一運動向量差可以是在第一運動向量與經細化的第一運動向量之間決定的差。第二運動向量差可以是在第二運動向量與經細化的第二運動向量之間決定的差。在一些實例中,可以使用與第一約束不同的第二約束來執行一或多個基於子塊的運動向量細化通路。如前述,第二約束可以與第一運動向量差及/或第二運動向量差中的至少一項相關聯。在一些情況下,一或多個基於子塊的運動向量細化通路可以包括基於子塊的雙邊匹配(BM)運動向量細化通路及/或基於子塊的雙向光流(BDOF)運動向量細化通路中的至少一項。
在一些實例中,所選運動向量搜尋策略與對應於第一運動向量或第二運動向量中的至少一項的一或多個約束相關聯(例如,如前述)。可以基於一或多個用訊號通知的語法元素來決定一或多個約束。例如,可以基於針對當前圖片的塊用訊號通知的語法元素來決定用於該塊的一或多個約束。在一些態樣中,一或多個約束關聯於與第一運動向量相關聯的第一運動向量差(例如,第一運動向量與經細化的第一運動向量之間的差)和與第二運動向量相關聯的第二運動向量差(例如,第二運動向量與經細化的第二運動向量之間的差)中的至少一項。在一些實例中,一或多個約束可以包括用於第一運動向量差和第二運動向量差的鏡像約束。鏡像約束可以將第一運動向量差和第二運動向量差設置為具有相等幅值(例如,絕對值)但具有相反符號。在一些情況下,一或多個約束可以包括用於第一運動向量差的零值約束(例如,將第一運動向量差設置為零)。在一些實例中,一或多個約束可以包括用於第二運動向量差的零值約束(例如,將第二運動向量差設置為零)。在一些態樣中,零值約束可以指示將運動向量差保持為固定。例如,基於零值約束,程序1100可以包括:經由將第一運動向量差或第二運動向量差中的第一者保持為固定值並且相對於第一運動向量差或第二運動向量差中的第二者進行搜尋,來使用所選運動向量搜尋策略決定一或多個經細化的運動向量。例如,可以固定第一運動向量差,並且可以在第二運動向量差周圍執行搜尋以推導經細化的運動向量。
在方塊1108處,程序1100包括:使用所選運動向量搜尋策略,基於第一運動向量、第二運動向量及/或一或多個參考圖片(例如,基於第一運動向量和一或多個參考圖片,基於第二運動向量和一或多個參考圖片,或基於第一運動向量、第二運動向量和一或多個參考圖片)來決定一或多個經細化的運動向量。在一些情況下,決定一或多個經細化的運動向量可以包括:決定用於視訊資料的塊的一或多個經細化的運動向量。在一些實例中,一或多個經細化的運動向量可以包括分別針對第一運動向量和第二運動向量決定的第一經細化的運動向量和第二經細化的運動向量。在一些實例中,第一運動向量差被決定為第一經細化的運動向量與第一運動向量之間的差,並且第二運動向量差被決定為第二經細化的運動向量與第二運動向量之間的差。
在一些實例中,如前述,所選運動向量搜尋策略是雙邊匹配(BM)運動向量搜尋策略。當所選運動向量搜尋策略是BM運動向量搜尋策略時,決定一或多個經細化的運動向量可以包括:經由在第一運動向量周圍搜尋第一參考圖片來決定第一經細化的運動向量。可以基於所選運動向量搜尋策略來在第一運動向量周圍搜尋第一參考圖片。可以經由基於所選運動向量搜尋策略在第二運動向量周圍搜尋第二參考圖片來決定第二經細化的運動向量。在一些實例中,所選運動向量搜尋策略可以包括運動向量差約束(例如,鏡像約束(其中第一和第二運動向量差具有相等的幅值但相反的符號)、將第一運動向量差設置為等於零的約束、將第二運動向量差設置為等於零的約束等)。在一些實例中,可以經由使與第一經細化的運動向量相關聯的第一參考塊和與第二經細化的運動向量相關聯的第二參考塊之間的差最小化來決定第一經細化的運動向量和第二經細化的運動向量。
在方塊1110處,程序1100包括:使用一或多個經細化的運動向量來處理合併模式候選。例如,圖1所示的解碼設備112可以使用一或多個經細化的運動向量來處理合併模式候選。在一些實例中,圖1所示的解碼設備112的解碼器引擎116可以使用一或多個經細化的運動向量來處理合併模式候選。
在一些實現中,本文描述的程序(或方法)可以由計算設備或裝置(諸如,在圖1中所示的系統100)來執行。例如,這些程序可以由在圖1和圖12中所示的編碼設備104、另一視訊源側設備或視訊傳輸設備、在圖1和圖13中所示的解碼設備112、及/或另一客戶端側設備(諸如,播放機設備、顯示器或任何其他客戶端側設備)來執行。在一些情況下,計算設備或裝置可以包括一或多個輸入裝置、一或多個輸出設備、一或多個處理器、一或多個微處理器、一或多個微型電腦及/或被配置為執行程序1100的步驟的其他部件。
在一些實例中,計算設備可以包括無線通訊設備,諸如行動設備、平板型電腦、擴展現實(XR)設備(例如,虛擬實境(VR)設備(諸如頭戴式顯示器(HMD))、增強現實(AR)設備(諸如HMD或AR眼鏡)、混合現實(MR)設備(諸如HMD或MR眼鏡)等)、桌上型電腦、伺服器電腦及/或伺服器系統、車輛或計算系統或車輛的部件、或其他類型的計算設備。可以在電路系統(circuitry)中實現計算設備的部件(例如,一或多個輸入裝置、一或多個輸出設備、一或多個處理器、一或多個微處理器、一或多個微型電腦及/或其他部件)。例如,部件可以包括電子電路或其他電子硬體及/或可以使用電子電路或其他電子硬體來實現,該電子電路或其他電子硬體可以包括一或多個可程式設計電路(例如,微處理器、圖形處理單元(GPU)、數位訊號處理器(DSP)、中央處理單元(CPU)及/或其他適當的電路),及/或可以包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實現,以執行本文描述的各種操作。在一些實例中,計算設備或裝置可以包括被配置為擷取包括視訊訊框的視訊資料(例如,視訊序列)的相機。在一些實例中,擷取視訊資料的相機或其他擷取裝置是與計算設備分開的,在這種情況下,計算設備接收或獲得所擷取的視訊資料。計算設備可以包括被配置為傳送視訊資料的網路介面。網路介面可以被配置為傳送基於網際網路協定(IP)的資料或其他類型的資料。在一些實例中,計算設備或裝置可以包括用於顯示輸出視訊內容(諸如視訊位元串流的圖片的取樣)的顯示器。
可以關於邏輯流程圖來描述這些程序,邏輯流程圖的動作表示可以用硬體、電腦指令或其組合來實現的一系列操作。在電腦指令的背景下,該動作表示被儲存在一或多個電腦可讀取儲存媒體上的電腦可執行指令,該等電腦可執行指令在由一或多個處理器執行時執行所記載的操作。通常,電腦可執行指令包括執行特定功能或實現特定資料類型的常式、程式、物件、部件、資料結構等。描述操作的順序並不意欲被解釋為限制,並且可以以任何順序及/或並行地組合任何數量的所描述的操作以實現這些程序。
另外,這些程序可以在被配置有可執行指令的一或多個電腦系統的控制下執行,並且可以被實現為在一或多個處理器上共同執行的代碼(例如,可執行指令、一或多個電腦程式、或一或多個應用),經由硬體來實現,或其組合。如上所提到,代碼可以例如以包括可由一或多個處理器執行的複數個指令的電腦程式的形式儲存在電腦可讀或機器可讀儲存媒體上。電腦可讀取儲存媒體或機器可讀儲存媒體可以是非暫時性的。
本文論述的譯碼技術可以在實例視訊編碼和解碼系統(例如,系統100)中實現。在一些實例中,系統包括源設備,源設備提供稍後要由目的地設備解碼的經編碼的視訊資料。具體地,源設備經由電腦可讀取媒體將視訊資料提供給目的地設備。源設備和目的地設備可以包括多種設備中的任何一種,包括桌上型電腦、筆記型電腦(即膝上型電腦)、平板電腦、機上盒、電話手機(例如,所謂的「智慧」手機)、所謂的「智慧」板、電視機、相機、顯示裝置、數位媒體播放機、視訊遊戲控制台、視訊資料串流設備等。在一些情況下,源設備和目的地設備可以被配備用於無線通訊。
目的地設備可以經由電腦可讀取媒體接收要被解碼的經編碼的視訊資料。電腦可讀取媒體可以是能夠將經編碼的視訊資料從源設備移動到目的地設備的任何類型的媒體或設備。在一個實例中,電腦可讀取媒體可以是用於使得源設備能夠將經編碼的視訊資料直接即時地發送給目的地設備的通訊媒體。可以根據諸如無線通訊協定之類的通訊標準來對經編碼的視訊資料進行調制,並且將其發送給目的地設備。通訊媒體可以包括任何無線或有線通訊媒體,諸如射頻(RF)頻譜或一或多條實體傳輸線。通訊媒體可以形成基於封包的網路的一部分,諸如,區域網路、廣域網或諸如網際網路之類的全球網路。通訊媒體可以包括路由器、交換機、基地台、或可以用於促進從源設備到目的地設備的通訊的任何其他裝置。
在一些實例中,可以將經編碼的資料從輸出介面輸出到存放裝置。類似地,可以經由輸入介面從存放裝置存取經編碼的資料。存放裝置可以包括各種分散式或本端存取的資料儲存媒體中的任何一種,例如,硬碟、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體、或用於儲存經編碼的視訊資料的任何其他適當的數位儲存媒體。在另外的實例中,存放裝置可以對應於檔案伺服器或另一中間存放裝置,其可以儲存由源設備產生的經編碼的視訊。目的地設備可以經由資料串流或下載來從存放裝置存取被儲存的視訊資料。檔案伺服器可以是能夠儲存經編碼的視訊資料並且將該經編碼的視訊資料發送給目的地設備的任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)設備或本端磁碟機。目的地設備可以經由任何標準資料連接(包括網際網路連接)來存取經編碼的視訊資料。這可以包括適於存取被儲存在檔案伺服器上的經編碼的視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等)或這兩者的組合。經編碼的視訊資料從存放裝置的傳輸可以是資料串流、下載傳輸或其組合。
本案內容的技術不一定限於無線應用或設置。該技術可以被應用於視訊譯碼,以支援多種多媒體應用中的任何一種,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路流式視訊傳輸(例如,基於HTTP的動態自我調整流傳輸(DASH))、被編碼到資料儲存媒體上的數位視訊、對被儲存在資料儲存媒體上的數位視訊的解碼、或其他應用。在一些實例中,系統可以被配置為支援單向或雙向視訊傳輸,以支援諸如視訊資料串流、視訊重播、視訊廣播及/或視訊電話之類的應用。
在一個實例中,源設備包括視訊源、視訊轉碼器和輸出介面。目的地設備可以包括輸入介面、視訊解碼器和顯示裝置。源設備的視訊轉碼器可以被配置為應用本文揭示的技術。在其他實例中,源設備和目的地設備可以包括其他部件或佈置。例如,源設備可以從諸如外部相機之類的外部視訊源接收視訊資料。同樣,目的地設備可以與外部顯示裝置對接,而不是包括整合顯示裝置。
上文的實例系統僅是一個實例。用於並行地處理視訊資料的技術可以由任何數位視訊編碼及/或解碼設備來執行。儘管一般而言,本案內容的技術是由視訊編碼設備來執行的,但是該技術亦可以由通常被稱為「CODEC」的視訊轉碼器/解碼器來執行。此外,本案內容的技術亦可以由視訊前置處理器來執行。源設備和目的地設備僅是這樣的譯碼設備的實例:其中源設備產生經譯碼的視訊資料以用於傳輸給目的地設備。在一些實例中,源設備和目的地設備可以以基本上對稱的方式操作,使得這些設備中的每一者包括視訊編碼和解碼用部件。因此,實例系統可以支援在視訊設備之間的單向或雙向視訊傳輸,例如,用於視訊資料串流、視訊重播、視訊廣播或視訊電話。
視訊源可以包括視訊擷取裝置,例如,攝像機、包含先前擷取的視訊的視訊存檔單元、及/或用於從視訊內容提供者接收視訊的視訊饋送介面。作為另外的替代方式,視訊源可以產生基於電腦圖形的資料作為源視訊,或者產生即時視訊、存檔視訊和電腦產生的視訊的組合。在一些情況下,若視訊源是攝像機,則源設備和目的地設備可以形成所謂的照相電話或視訊電話。然而,如前述,在本案內容中描述的技術通常可以適用於視訊譯碼,並且可以被應用於無線及/或有線應用。在每種情況下,所擷取的、預擷取的或電腦產生的視訊皆可以由視訊轉碼器進行編碼。隨後,可以經由輸出介面將經編碼的視訊資訊輸出到電腦可讀取媒體上。
如所提到的,電腦可讀取媒體可以包括諸如無線廣播或有線網路傳輸之類的臨時媒體、或者諸如硬碟、快閃記憶體驅動器、壓縮光碟、數位多功能光碟、藍光光碟之類的儲存媒體(即非暫時性儲存媒體)、或其他電腦可讀取媒體。在一些實例中,網路服務器(未圖示)可以例如經由網路傳輸從源設備接收經編碼的視訊資料,並且將經編碼的視訊資料提供給目的地設備。類似地,諸如光碟衝壓設施之類的媒體生產設施的計算設備可以從源設備接收經編碼的視訊資料,並且製造包含經編碼的視訊資料的光碟。因此,在各個實例中,電腦可讀取媒體可以被理解為包括各種形式的一或多個電腦可讀取媒體。
目的地設備的輸入介面從電腦可讀取媒體接收資訊。電腦可讀取媒體的資訊可以包括由視訊轉碼器定義的語法資訊(其亦被視訊解碼器使用),語法資訊包括描述塊和其他譯碼單元(例如,圖片組(GOP))的特性及/或處理的語法元素。顯示裝置將經解碼的視訊資料顯示給使用者,並且可以包括各種顯示裝置中的任何一種,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器、或另一種類型的顯示裝置。已經描述了本案的各個態樣。
在圖12和圖13中分別圖示編碼設備104和解碼設備112的具體細節。圖12是示出可以實現在本案內容中描述的技術中的一或多個技術的實例編碼設備104的方塊圖。編碼設備104可以例如產生本文描述的語法結構(例如,VPS、SPS、PPS或其他語法元素的語法結構)。編碼設備104可以執行對視訊切片內的視訊塊的訊框內預測和訊框間預測譯碼。如前述,訊框內解碼至少部分地依賴於空間預測以減少或去除在給定視訊訊框或圖片內的空間冗餘。訊框間解碼至少部分地依賴於時間預測以減少或去除在視訊序列的相鄰或周圍訊框內的時間冗餘。訊框內模式(I模式)可以代表若干種基於空間的壓縮模式中的任何一種。諸如單向預測(P模式)或雙向預測(B模式)之類的模式可以代表若干種基於時間的壓縮模式中的任何一種。
編碼設備104包括分割單元35、預測處理單元41、濾波器單元63、圖片記憶體64、求和器50、變換處理單元52、量化單元54和熵編碼單元56。預測處理單元41包括運動估計單元42、運動補償單元44和訊框內預測處理單元46。對於視訊塊重構,編碼設備104亦包括逆量化單元58、逆變換處理單元60和求和器62。濾波器單元63意欲表示一或多個迴路濾波器,諸如去塊濾波器、自我調整迴路濾波器(ALF)和取樣自我調整偏移(SAO)濾波器。儘管在圖12中將濾波器單元63示為迴路內濾波器,但是在其他配置中,濾波器單元63可以被實現為迴路後濾波器。後處理設備57可以對由編碼設備104產生的經編碼的視訊資料執行額外的處理。在一些情況下,本案內容的技術可以由編碼設備104來實現。然而,在其他情況下,本案內容的技術中的一或多個技術可以由後處理設備57來實現。
如圖12所示,編碼設備104接收視訊資料,並且分割單元35將資料分割為視訊塊。這種分割亦可以包括例如根據LCU和CU的四叉樹結構來分割為切片、切片段、瓦片或其他較大的單元,以及視訊塊分割。編碼設備104整體上圖示對在要被編碼的視訊切片內的視訊塊進行編碼的部件。切片可以被劃分為多個視訊塊(並且可能被劃分為被稱為瓦片的視訊塊集合)。預測處理單元41可以基於誤差結果(例如,譯碼率和失真位準等)來為當前視訊塊選擇複數種可能的譯碼模式之一,諸如複數種訊框內預測譯碼模式之一或複數種訊框間預測譯碼模式之一。預測處理單元41可以將所得到的經訊框內或訊框間譯碼的塊提供給求和器50以產生殘差塊資料,並且提供給求和器62以重構經編碼的塊以用作參考圖片。
在預測處理單元41內的訊框內預測處理單元46可以相對於在與要被譯碼的當前視訊塊相同的訊框或切片中的一或多個相鄰塊,來執行當前塊的訊框內預測譯碼,以提供空間壓縮。在預測處理單元41內的運動估計單元42和運動補償單元44相對於在一或多個參考圖片中的一或多個預測塊來執行對當前視訊塊的訊框間預測譯碼,以提供時間壓縮。
運動估計單元42可以被配置為根據用於視訊序列的預定圖案來決定用於視訊切片的訊框間預測模式。預定圖案可以將序列中的視訊切片指定為P切片、B切片或GPB切片。運動估計單元42和運動補償單元44可以是高度整合的,但是出於概念性目的而被分別示出。由運動估計單元42執行的運動估計是產生運動向量的程序,該運動向量估計針對視訊塊的運動。運動向量例如可以指示在當前視訊訊框或圖片內的視訊塊的預測單元(PU)相對於在參考圖片內的預測塊的位移。
預測塊是被發現在圖元差態樣與要被譯碼的視訊塊的PU緊密匹配的塊,其可以經由絕對差之和(SAD)、平方差之和(SSD)或其他差度量來決定。在一些實例中,編碼設備104可以計算用於被儲存在圖片記憶體64中的參考圖片的整數以下的圖元位置的值。例如,編碼設備104可以對四分之一圖元位置、八分之一圖元位置或參考圖片的其他分數圖元位置的值進行內插。因此,運動估計單元42可以相對於全圖元位置和分數圖元位置執行運動搜尋,並且以分數圖元精度輸出運動向量。
運動估計單元42經由將在經訊框間譯碼的切片中的視訊塊的PU的位置與參考圖片的預測塊的位置進行比較,來計算針對PU的運動向量。可以從第一參考圖片列表(列表0)或第二參考圖片列表(列表1)中選擇參考圖片,這兩個參考圖片列表中的每一者標識被儲存在圖片記憶體64中的一或多個參考圖片。運動估計單元42將所計算出的運動向量發送給熵編碼單元56和運動補償單元44。
由運動補償單元44執行的運動補償可以涉及基於經由運動估計而決定的運動向量來取得或產生預測塊,可能對圖元以下的精度執行內插。在接收到針對當前視訊塊的PU的運動向量時,運動補償單元44可以在參考圖片列表中定位運動向量所指向的預測塊。編碼設備104經由從正被解碼的當前視訊塊的圖元值中減去預測塊的圖元值來形成圖元差值,從而形成殘差視訊塊。圖元差值形成針對該塊的殘差資料,並且可以包括亮度差分量和色度差分量兩者。求和器50表示執行這種減法運算的一或多個部件。運動補償單元44亦可以產生與視訊塊和視訊切片相關聯的語法元素,以供解碼設備112在對視訊切片的視訊塊進行解碼時使用。
如前述,訊框內預測處理單元46可以對當前塊進行訊框內預測,作為對由運動估計單元42和運動補償單元44執行的訊框間預測的替代方式。具體地,訊框內預測處理單元46可以決定要用於對當前塊進行編碼的訊框內預測模式。在一些實例中,訊框內預測處理單元46可以例如在單獨的編碼通路期間使用各種訊框內預測模式來對當前塊進行編碼,並且訊框內預測處理單元46可以從被測試的模式中選擇合適的訊框內預測模式來使用。例如,訊框內預測處理單元46可以使用針對各種被測試的訊框內預測模式的率失真分析來計算率失真值,並且可以在被測試的模式中選擇具有最佳率失真特性的訊框內預測模式。率失真分析通常決定在經編碼的塊與被編碼以產生經編碼的塊的原始的未經編碼塊之間的失真(或誤差)量、以及用於產生經編碼的塊的位元速率(即位元數量)。訊框內預測處理單元46可以根據針對各種經編碼的塊的失真和速率來計算比率,以決定哪種訊框內預測模式表現出針對該塊的最佳率失真值。
在任何情況下,在為塊選擇訊框內預測模式之後,訊框內預測處理單元46可以將指示針對塊選擇的訊框內預測模式的資訊提供給熵編碼單元56。熵編碼單元56可以對指示所選擇的訊框內預測模式的資訊進行編碼。編碼設備104可以在所發送的位元串流配置資料中包括用於各種塊的編碼上下文的定義以及對要用於這些上下文之每一者上下文的最可能的訊框內預測模式、訊框內預測模式索引表和經修改的訊框內預測模式索引表的指示。位元串流配置資料可以包括複數個訊框內預測模式索引表和複數個經修改的訊框內預測模式索引表(亦被稱為編碼字元映射表)。
在預測處理單元41經由訊框間預測或訊框內預測產生用於當前視訊塊的預測塊之後,編碼設備104經由從當前視訊塊中減去預測塊來形成殘差視訊塊。殘差塊中的殘差視訊資料可以被包括在一或多個TU中,並且被應用於變換處理單元52。變換處理單元52使用變換(諸如離散餘弦變換(DCT)或概念上類似的變換)來將殘差視訊資料變換為殘差變換係數。變換處理單元52可以將殘差視訊資料從圖元域轉換到變換域(諸如頻域)。
變換處理單元52可以將所得到的變換係數發送給量化單元54。量化單元54對變換係數進行量化以進一步降低位元速率。量化程序可以減小與這些係數中的一些或所有係數相關聯的位元深度。可以經由調整量化參數來修改量化程度。在一些實例中,量化單元54隨後可以執行對包括經量化的變換係數的矩陣的掃瞄。替代地或補充地,熵編碼單元56可以執行該掃瞄。
在量化之後,熵編碼單元56對經量化的變換係數進行熵編碼。例如,熵編碼單元56可以執行上下文自我調整變長譯碼(CAVLC)、上下文自我調整二進位算術譯碼(CABAC)、基於語法的上下文自我調整二進位算術譯碼(SBAC)、概率區間分割熵(PIPE)譯碼或另一種熵編碼技術。在由熵編碼單元56進行熵編碼之後,可以將經編碼的位元串流發送給解碼設備112,或者將其存檔以供稍後傳輸或者由解碼設備112取得。熵編碼單元56亦可以對用於正被解碼的當前視訊切片的運動向量和其他語法元素進行熵編碼。
逆量化單元58和逆變換處理單元60分別應用逆量化和逆變換,以重構圖元域中的殘差塊,以供稍後用作參考圖片的參考塊。運動補償單元44可以經由將殘差塊加上在參考圖片列表內的參考圖片之一的預測塊來計算參考塊。運動補償單元44亦可以將一或多個內插濾波器應用於經重構的殘差塊,以計算用於運動估計的整數以下的圖元值。求和器62將經重構的殘差塊加到由運動補償單元44產生的經運動補償的預測塊上,以產生用於儲存在圖片記憶體64中的參考塊。參考塊可以由運動估計單元42和運動補償單元44用作參考塊,以對在隨後的視訊訊框或圖片中的塊進行訊框間預測。
以這種方式,圖12的編碼設備104表示被配置為執行本文描述的技術中的任何技術(包括上文關於11描述的程序)的視訊轉碼器的實例。在一些情況下,本案內容的技術中的一些技術亦可以由後處理設備57來實現。
圖13是示出實例解碼設備112的方塊圖。解碼設備112包括熵解碼單元80、預測處理單元81、逆量化單元86、逆變換處理單元88、求和器90、濾波器單元91和圖片記憶體92。預測處理單元81包括運動補償單元82和訊框內預測處理單元84。在一些實例中,解碼設備112可以執行通常與關於來自圖12的編碼設備104所描述的編碼階段相反的解碼階段。
在解碼程序期間,解碼設備112接收由編碼設備104發送的經編碼的視訊位元串流,其表示經編碼的視訊切片的視訊塊和關聯的語法元素。在一些態樣中,解碼設備112可以從編碼設備104接收經編碼的視訊位元串流。在一些態樣中,解碼設備112可以從網路實體79(諸如伺服器、媒體感知網路元素(MANE)、視訊編輯器/拼接器、或被配置為實現上述技術中的一或多個技術的其他這種設備)接收經編碼的視訊位元串流。網路實體79可以包括或者可以不包括編碼設備104。在網路實體79將經編碼的視訊位元串流發送給解碼設備112之前,網路實體79可以實現在本案內容中描述的技術中的一些技術。在一些視訊解碼系統中,網路實體79和解碼設備112可以是單獨設備的部分,而在其他情況下,關於網路實體79所描述的功能可以由包括解碼設備112的相同設備來執行。
解碼設備112的熵解碼單元80對位元串流進行熵解碼以產生量化係數、運動向量和其他語法元素。熵解碼單元80將運動向量和其他語法元素轉發給預測處理單元81。解碼設備112可以接收在視訊切片級別及/或視訊塊級別的語法元素。熵解碼單元80可以處理和解析在諸如VPS、SPS和PPS之類的更多參數集中的固定長度語法元素和可變長度語法元素兩者。
當視訊切片被譯碼為經訊框內譯碼(I)的切片時,預測處理單元81的訊框內預測處理單元84可以基於用訊號通知的訊框內預測模式以及來自當前訊框或圖片的先前解碼的塊中的資料,來產生用於當前視訊切片的視訊塊的預測資料。當視訊訊框被譯碼為經訊框間譯碼(亦即,B、P或GPB)的切片時,預測處理單元81的運動補償單元82基於從熵解碼單元80接收的運動向量以及其他語法元素來產生用於當前視訊切片的視訊塊的預測塊。可以從在參考圖片列表內的參考圖片之一產生預測塊。解碼設備112可以基於被儲存在圖片記憶體92中的參考圖片,使用預設構造技術來構造參考訊框列表,即列表0和列表1。
運動補償單元82經由解析運動向量和其他語法元素來決定用於當前視訊切片的視訊塊的預測資訊,並且使用該預測資訊來產生用於正在被解碼的當前視訊塊的預測塊。例如,運動補償單元82可以使用參數集中的一或多個語法元素來決定用於對視訊切片的視訊塊進行解碼的預測模式(例如,訊框內或訊框間預測)、訊框間預測切片類型(例如,B切片、P切片或GPB切片)、用於針對該切片的一或多個參考圖片列表的構造資訊、用於該切片的每個經訊框間編碼的視訊塊的運動向量、用於該切片的每個經訊框間譯碼的視訊塊的訊框間預測狀態、以及用於對當前視訊切片中的視訊塊進行解碼的其他資訊。
運動補償單元82亦可以基於內插濾波器來執行內插。運動補償單元82可以使用在視訊塊的編碼期間由編碼設備104使用的內插濾波器來計算針對參考塊的整數以下的圖元的插入的值。在這種情況下,運動補償單元82可以根據所接收的語法元素來決定由編碼設備104使用的內插濾波器,並且可以使用內插濾波器來產生預測塊。
逆量化單元86對在位元串流中提供並且由熵解碼單元80解碼的經量化的變換係數進行逆量化或解量化。逆量化程序可以包括使用由編碼設備104針對視訊切片之每一者視訊塊計算出的量化參數來決定量化程度,以及同樣地決定應當被應用的逆量化度。逆變換處理單元88將逆變換(例如,逆DCT或其他適當的逆變換)、逆整數變換或概念上類似的逆變換程序應用於變換係數,以便在圖元域中產生殘差塊。
在運動補償單元82基於運動向量和其他語法元素產生用於當前視訊塊的預測塊之後,解碼設備112經由將來自逆變換處理單元88的殘差塊與由運動補償單元82產生的相應預測塊相加以形成經解碼的視訊塊。求和器90表示執行此種求和運算的一或多個部件。若需要的話,亦可以使用迴路濾波器(在譯碼迴路中或在譯碼迴路之後)來使圖元過渡平滑,或者以其他方式提高視訊品質。濾波器單元91意欲表示一或多個迴路濾波器,諸如去塊濾波器、自我調整迴路濾波器(ALF)和取樣自我調整偏移(SAO)濾波器。儘管在圖8中將濾波器單元91示為迴路中濾波器,但是在其他配置中,濾波器單元91可以被實現為迴路後濾波器。隨後將給定訊框或圖片中的經解碼的視訊塊儲存在圖片記憶體92中,圖片記憶體92儲存用於隨後運動補償的參考圖片。圖片記憶體92亦儲存經解碼的視訊,以供稍後在顯示裝置(諸如在圖1中所示的視訊目的地設備122)上呈現。
以這種方式,圖13的解碼設備112表示被配置為執行本文描述的技術中的任何技術(包括上文關於圖11所描述的程序)的視訊解碼器的實例。
如本文所使用的,術語「電腦可讀取媒體」包括但不限於可攜式或非可攜式存放裝置、光學存放裝置、以及能夠儲存、包含或攜帶指令及/或資料的各種其他媒體。電腦可讀取媒體可以包括資料可以被儲存在其中並且不包括以下各項的非暫時性媒體:無線地或者在有線連接上傳播的載波及/或暫時性電子訊號。非暫時性媒體的實例可以包括但不限於:磁碟或磁帶、諸如壓縮光碟(CD)或數位多功能光碟(DVD)之類的光學儲存媒體、快閃記憶體、記憶體或記憶體設備。電腦可讀取媒體可以具有被儲存在其上的代碼及/或機器可執行指令,代碼及/或機器可執行指令可以表示程序、函數、副程式、程式、常式、子常式、模組、套裝軟體、軟體部件、或者指令、資料結構或程式語句的任何組合。程式碼片段可以經由傳遞及/或接收資訊、資料、引數、參數或記憶體內容,來耦合到另一程式碼片段或硬體電路。可以經由包括記憶體共享、訊息傳遞、符記傳遞、網路傳輸等的任何適當的手段來傳遞、轉發或發送資訊、引數、參數、資料等。
在一些態樣中,電腦可讀存放裝置、媒體和記憶體可以包括包含位元串流等的電纜或無線訊號。然而,當提及時,非暫時性電腦可讀取儲存媒體明確地排除諸如能量、載波訊號、電磁波和訊號本身之類的媒體。
在以上描述中提供了具體細節以提供對本文提供的態樣和實例的透徹理解。然而,本發明所屬領域中具有通常知識者將理解的是,可以在沒有這些具體細節的情況下實施這些態樣。為瞭解釋清楚,在一些情況下,本文的技術可以被呈現為包括包含如下的功能方塊的單獨的功能方塊,這些功能方塊包括設備、設備部件、以軟體體現的方法中的步驟或常式、或者硬體和軟體的組合。除了在各圖中所示及/或本文描述的部件之外,亦可以使用額外的部件。例如,電路、系統、網路、程序和其他部件可以以方塊圖形式被示為部件,以便不會在不必要的細節上模糊這些態樣。在其他情況下,公知的電路、程序、演算法、結構和技術可能被示為不具有不必要的細節,以便避免模糊這些態樣。
上文可能將各個態樣描述為程序或方法,該程序或方法被圖示為流程圖、流程示意圖、資料流圖、結構圖或方塊圖。儘管流程圖可以將操作描述為順序的程序,但是這些操作中的許多操作可以並行或同時執行。另外,可以重新排列操作的順序。程序在其操作完成後被終止,但是可能具有未被包括在圖中的額外步驟。程序(process)可以對應於方法、函數、程序(procedure)、子常式、副程式等。當程序對應於函數時,其終止可以對應於該函數返回到調用函數或主函數。
根據上述實例的程序和方法可以使用電腦可執行指令來實現,電腦可執行指令被儲存在電腦可讀取媒體中或者以其他方式可從電腦可讀取媒體得到。這樣的指令可以包括例如指令或資料,指令或資料使得通用電腦、專用電腦或處理設備執行或者以其他方式將其配置為執行特定功能或特定的一組功能。可以經由網路存取所使用的電腦資源的部分。電腦可執行指令可以是例如二進位檔案、諸如組合語言之類的中間格式指令、韌體、原始程式碼等。可以用於儲存指令、所使用的資訊及/或在根據所描述的實例的方法期間建立的資訊的電腦可讀取媒體的實例包括磁碟或光碟、快閃記憶體、設置有非揮發性記憶體的USB設備、網路存放裝置等。
實現根據這些揭示內容的程序和方法的設備可以包括硬體、軟體、韌體、中介軟體、微代碼、硬體描述語言或其任何組合,並且可以採用多種形狀因數中的任何一種。當用軟體、韌體、中介軟體或微代碼來實現時,用於執行必要任務的程式碼或程式碼片段(例如,電腦程式產品)可以被儲存在電腦可讀或機器可讀取媒體中。處理器可以執行必要任務。形狀因數的典型實例包括膝上型電腦、智慧型電話、行動電話、平板設備或其他小型形狀因數的個人電腦、個人數位助理、機架式設備、獨立設備等。本文描述的功能亦可以體現在周邊設備或外掛程式卡中。經由另外的舉例,這種功能亦可以在單個設備中執行的不同晶片或不同程序之間的電路板上實現。
指令、用於傳送這樣的指令的媒體、用於執行它們的計算資源以及用於支援這樣的計算資源的其他結構是用於提供在本案內容中描述的功能的實例模組。
在前面的描述中,參考本案的特定態樣描述了本案的各態樣,但是本發明所屬領域中具有通常知識者將認識到,本案不限於此。因此,儘管本文已經詳細描述了本案的說明性態樣,但是應理解的是,可以以其他方式不同地體現和採用本發明構思,並且所附的請求項意欲被解釋為包括這樣的變型,除了由現有技術限制的變型。可以單獨地或共同地使用上述應用的各個特徵和態樣。此外,在不脫離本說明書的更寬泛的精神和範疇的情況下,各態樣可以在除了本文描述的環境和應用之外的任何數量的環境和應用中使用。因此,說明書和附圖被認為是說明性的而不是限制性的。為了說明的目的,以特定順序描述了方法。應當明白的是,在替代態樣中,可以以與所描述的順序不同的順序來執行該方法。
本發明所屬領域中具有通常知識者將明白的是,在不脫離本說明書的範疇的情況下,本文中使用的小於(「<」)和大於(「>」)符號或術語可以分別用小於或等於(「
Figure 02_image079
」)以及大於或等於(「
Figure 02_image081
」)符號來替換。
在將部件描述為「被配置為」執行某些操作的情況下,這種配置可以例如經由以下方式來實現:將電路或其他硬體設計為執行該操作,將可程式設計電路(例如,微處理器或其他適當的電路)程式設計為執行該操作,或其任何組合。
短語「耦合到」代表直接或間接地實體連接到另一部件的任何部件、及/或直接或間接地與另一部件通訊的任何部件(例如,經由有線或無線連接及/或其他適當的通訊介面而連接到另一部件)。
在本案內容中記載集合中的「至少一個」及/或集合中的「一或多個」的請求項語言或其他語言指示該集合中的一個成員或者該集合中的多個成員(以任何組合)滿足該請求項。例如,記載「A和B中的至少一個」和「A或B中的至少一個」的請求項語言意指A、B、或者A和B。在另一實例中,記載「A、B和C中的至少一個」和「A、B或C中的至少一個」的請求項語言意指A、B、C、或者A和B、或者A和C、或者B和C、或者A和B和C。語言集合中的「至少一個」及/或集合中的「一或多個」並不將該集合限制為在該集合中列出的項目。例如,記載「A和B中的至少一個」和和「A或B中的至少一個」的請求項語言可以意指A、B或者A和B,並且可以另外包括未在A和B的集合中列出的項目。
結合本文揭示的態樣描述的各種說明性的邏輯區塊、模組、電路和演算法步驟可以被實現為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體和軟體的這種可互換性,上面已經對各種說明性的部件、方塊、模組、電路和步驟圍繞其功能進行了整體描述。至於這種功能被實現為硬體還是軟體取決於特定的應用和被施加在整個系統上的設計約束。具有普通知識者可以針對每種特定應用以不同的方式來實現所描述的功能,但是這種實現決策不應當被解釋為導致脫離本案的範疇。
本文描述的技術亦可以用電子硬體、電腦軟體、韌體或其任何組合來實現。這樣的技術可以在各種設備中的任何一種中實現,諸如通用電腦、無線通訊設備手機或具有多種用途(包括在無線通訊設備手機和其他設備中的應用)的積體電路設備。被描述為模組或部件的任何特徵皆可以在整合邏輯裝置中一起實現,或者分別作為個別但是可交互動操作的邏輯裝置來實現。若用軟體來實現,則該等技術可以至少部分地由電腦可讀取資料儲存媒體來實現,電腦可讀取資料儲存媒體包括程式碼,程式碼包括在被執行時執行上述方法中的一或多個方法的指令。電腦可讀取資料儲存媒體可以形成電腦程式產品的一部分,電腦程式產品可以包括包裝材料。電腦可讀取媒體可以包括記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)(諸如同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體、磁或光資料儲存媒體等。補充或替代地,該等技術可以至少部分地由以指令或資料結構的形式攜帶或傳送程式碼並且可以由電腦存取、讀取及/或執行的電腦可讀通訊媒體(諸如傳播的訊號或波)來實現。
程式碼可以由處理器執行,處理器可以包括一或多個處理器,諸如一或多個數位訊號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)或其他等效的整合或個別邏輯電路。這樣的處理器可以被配置為執行在本案內容中描述的任何技術。通用處理器可以是微處理器,但是在替代方式中,處理器可以是任何習知的處理器、控制器、微控制器或狀態機。處理器亦可以被實現為計算設備的組合,例如,DSP和微處理器的組合、複數個微處理器、一或多個微處理器與DSP核的結合、或任何其他這樣的配置。因此,如本文所使用的術語「處理器」可以代表任何前述結構、前述結構的任何組合、或適於實現本文描述的技術的任何其他結構或裝置。另外,在一些態樣中,本文描述的功能可以在被配置用於編碼和解碼的專用軟體模組或硬體模組內提供,或者被合併在組合視訊轉碼器-解碼器(CODEC)中。
本案內容的說明性態樣包括:
態樣1:一種用於處理視訊資料的裝置,包括:記憶體;及耦合到該記憶體的一或多個處理器。該一或多個處理器被配置為:獲得該視訊資料的當前圖片;從該視訊資料中獲得用於該當前圖片的參考圖片;從該當前圖片決定合併模式候選;辨識用於該合併模式候選的第一運動向量和第二運動向量;從複數個運動向量搜尋策略中選擇用於該合併模式候選的運動向量搜尋策略;使用該運動向量搜尋策略來從該第一運動向量、該第二運動向量和該參考圖片推導經細化的運動向量;及使用該經細化的運動向量來處理該合併模式候選。
態樣2:根據態樣1之裝置,其中該合併模式候選是從合併候選列表中選擇的。
態樣3:根據態樣2之裝置,其中該合併候選列表是從以下各項中的一項或多項構造的:來自該合併模式候選的空間相鄰塊的空間運動向量預測器、來自該合併模式候選的共置塊的時間運動向量預測器、來自歷史表的基於歷史的運動向量預測器、成對平均運動向量預測器、以及零值運動向量。
態樣4:根據態樣1到3中任一項所述的裝置,其中該一或多個處理器被配置為:經由對從兩個不同的參考圖片獲得的兩個預測訊號進行平均,來使用該第一運動向量和該第二運動向量產生運動向量雙預測訊號。
態樣5:根據態樣1到4中任一項所述的裝置,其中該複數個運動向量搜尋策略包括分數取樣細化策略。
態樣6:根據態樣5之裝置,其中該複數個運動向量搜尋策略包括雙向光流策略。
態樣7:根據態樣6之裝置,其中該複數個運動向量搜尋策略包括基於子塊的雙邊匹配運動向量細化策略。
態樣8:根據態樣1到7中任一項所述的裝置,其中該第一運動向量和該第二運動向量與一或多個約束相關聯。
態樣9:根據態樣8之裝置,其中該一或多個約束包括鏡像約束。
態樣10:根據態樣1到9中任一項所述的裝置,其中該一或多個約束包括用於該第一運動向量差的零值約束。
態樣11:根據態樣1到9中任一項所述的裝置,其中該一或多個約束包括用於該第二運動向量差的零值約束。
態樣12:根據態樣1到11中任一項所述的裝置,其中該視訊資料包括指示該一或多個約束的語法。
態樣13:根據態樣1到12中任一項所述的裝置,其中該運動向量搜尋策略包括多通路解碼器側運動向量細化策略。
態樣14:根據態樣13之裝置,其中該多通路解碼器側運動向量細化策略包括相同細化類型的兩個或兩個以上細化通路。
態樣15:根據態樣14之裝置,其中該多通路解碼器側運動向量細化策略包括與該相同細化類型不同的類型的一或多個細化通路。
態樣16:根據態樣14或15中任一項所述的裝置,其中該相同細化類型的該兩個或兩個以上細化通路是基於塊的雙邊匹配運動向量細化、基於子塊的雙邊匹配運動向量細化、或基於子塊的雙向光流運動向量細化。
態樣17:根據態樣1到16中任一項所述的裝置,其中該複數個運動向量搜尋策略包括多個多通路策略子集。
態樣18:根據態樣17之裝置,其中該多個多通路策略子集是在該視訊資料的一或多個語法元素中用訊號通知的。
態樣19:根據態樣1到18中任一項所述的裝置,其中推導該經細化的運動向量包括:根據該運動向量搜尋策略來計算用於複數個候選運動向量對的匹配成本。
態樣20:根據態樣1到19中任一項所述的裝置,其中該運動向量搜尋策略是基於從該視訊資料決定的匹配成本來自我調整地選擇的。
態樣21:根據態樣1到19中任一項所述的裝置,其中該運動向量搜尋策略被選擇為基於該視訊資料來自我調整地設置該運動向量搜尋策略的通路數量。
態樣22:根據態樣1到19中任一項所述的裝置,其中該運動向量搜尋策略被選擇為基於該視訊資料來自我調整地設置用於決定該經細化的運動向量的候選的搜尋模式。
態樣23:根據態樣1到19中任一項所述的裝置,其中該運動向量搜尋策略被選擇為基於該視訊資料來自我調整地設置用於基於產生該經細化的運動向量的候選列表的準則集合。
態樣24:根據態樣1到19中任一項所述的裝置,其中該運動向量搜尋策略是基於來自該視訊資料的解碼器側運動向量細化約束來自我調整地執行的。
態樣25:根據態樣1到19中任一項所述的裝置,其中該運動向量搜尋策略是基於該視訊資料中的該合併模式候選的塊大小來自我調整地執行的。
態樣26:根據態樣1到25中任一項所述的裝置,該一或多個處理器被配置為:禁用多假設預測。
態樣27:根據態樣1到26中任一項所述的裝置,該一或多個處理器被配置為:結合該運動向量搜尋策略來執行多假設預測。
態樣28:根據態樣1到27中任一項所述的裝置,該一或多個處理器被配置為:產生包括該合併模式候選的合併候選列表。
態樣29:根據態樣28之裝置,其中為了產生該合併候選列表,該一或多個處理器被配置為:基於與自我調整合併模式相關聯的一或多個條件(例如,用於adaptive_bm_mode的條件),基於該合併候選列表中的候選數量小於最大候選數量來決定用於添加到該合併候選列表的一或多個預設候選。
態樣30:根據態樣28之裝置,其中為了產生該合併候選列表,該一或多個處理器被配置為:基於與自我調整合併模式相關聯的一或多個條件(例如,根據bm_dir的條件),基於該合併候選列表中的候選數量小於最大候選數量來決定用於添加到該合併候選列表的一或多個預設候選。
態樣31:根據態樣1到30中任一項所述的裝置,其中該裝置是行動設備。
態樣32:根據態樣1到31中任一項所述的裝置,亦包括:被配置為擷取一或多個訊框的相機。
態樣33:根據態樣1到32中任一項所述的裝置,亦包括:被配置為顯示一或多個訊框的顯示器。
態樣34:一種根據態樣1到33的任何操作來處理視訊資料的方法。
態樣35:一種包括指令的電腦可讀取儲存媒體,該等指令在由設備的一或多個處理器執行時,使得該設備執行態樣1到33中任一項的操作。
態樣36:一種裝置,包括用於執行態樣1到33的任何操作的一或多個單元。
態樣37:一種用於處理視訊資料的裝置,包括:至少一個記憶體;及耦合到該至少一個記憶體的至少一個處理器,該至少一個處理器被配置為:獲得用於當前圖片的一或多個參考圖片;辨識用於合併模式候選的第一運動向量和第二運動向量;從複數個運動向量搜尋策略中決定用於該合併模式候選的所選運動向量搜尋策略;使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及使用該一或多個經細化的運動向量來處理該合併模式候選。
態樣38、根據態樣37之裝置,其中所選運動向量搜尋策略與至少基於該第一運動向量或該第二運動向量中的至少一項的一或多個約束相關聯。
態樣39、根據態樣38之裝置,其中該一或多個約束是基於針對該視訊資料的塊用訊號通知的語法元素來針對該塊決定的。
態樣40、根據態樣38或39中任一項所述的裝置,其中該一或多個約束關聯於與該第一運動向量相關聯的第一運動向量差或與該第二運動向量相關聯的第二運動向量差中的至少一項。
態樣41、根據態樣40之裝置,其中該一或多個經細化的運動向量包括第一經細化的運動向量和第二經細化的運動向量,並且其中該至少一個處理器被配置為:將該第一運動向量差決定為該第一經細化的運動向量與該第一運動向量之間的差;及將該第二運動向量差決定為該第二經細化的運動向量與該第二運動向量之間的差。
態樣42、根據態樣40或41中任一項所述的裝置,其中該一或多個約束包括用於該第一運動向量差和該第二運動向量差的鏡像約束,並且其中該第一運動向量差和該第二運動向量差具有相同的幅值和不同的符號。
態樣43、根據態樣40到42中任一項所述的裝置,其中該一或多個約束包括用於該第一運動向量差或該第二運動向量差中的至少一項的零值約束。
態樣44、根據態樣43之裝置,其中基於該零值約束,該至少一個處理器被配置為:經由將該第一運動向量差或該第二運動向量差中的第一者保持為固定值並且相對於該第一運動向量差或該第二運動向量差中的第二者進行搜尋,來使用該所選運動向量搜尋策略決定該一或多個經細化的運動向量。
態樣45、根據態樣37到44中任一項所述的裝置,其中該所選運動向量搜尋策略是雙邊匹配(BM)運動向量搜尋策略。
態樣46、根據態樣37到45中任一項所述的裝置,其中該至少一個處理器被配置為:基於與該所選運動向量搜尋策略相關聯的一或多個約束來決定該一或多個經細化的運動向量,並且其中為了基於該一或多個約束來決定該一或多個經細化的運動向量,該至少一個處理器被配置為:經由基於該所選運動向量搜尋策略來在該第一運動向量周圍搜尋第一參考圖片來決定第一經細化的運動向量;及經由基於該所選運動向量搜尋策略來在該第二運動向量周圍搜尋第二參考圖片來決定第二經細化的運動向量;其中該一或多個約束包括運動向量差約束。
態樣47、根據態樣46之裝置,其中為了決定該第一經細化的運動向量和該第二經細化的運動向量,該至少一個處理器被配置為:使與該第一經細化的運動向量相關聯的第一參考塊和與該第二經細化的運動向量相關聯的第二參考塊之間的差最小化。
態樣48、根據態樣37到47中任一項所述的裝置,其中該複數個運動向量搜尋策略包括以下各項中的至少兩項:多通路解碼器側運動向量細化策略、分數取樣細化策略、雙向光流策略、或基於子塊的雙邊匹配運動向量細化策略。
態樣49、根據態樣37到48中任一項所述的裝置,其中該所選運動向量搜尋策略包括多通路解碼器側運動向量細化策略。
態樣50、根據態樣49之裝置,其中該多通路解碼器側運動向量細化策略包括以下各項中的至少一項:一或多個基於塊的雙邊匹配運動向量細化通路、或一或多個基於子塊的運動向量細化通路。
態樣51、根據態樣50之裝置,其中該至少一個處理器被配置為:使用與第一運動向量差或第二運動向量差中的至少一項相關聯的第一約束來執行該一或多個基於塊的雙邊匹配運動向量細化通路;及使用與該第一運動向量差或該第二運動向量差中的至少一項相關聯的第二約束來執行該一或多個基於子塊的運動向量細化通路,其中該第一約束不同於該第二約束。
態樣52、根據態樣50或51中任一項所述的裝置,其中該一或多個基於子塊的運動向量細化通路包括以下各項中的至少一項:基於子塊的雙邊匹配運動向量細化通路、或基於子塊的雙向光流運動向量細化通路。
態樣53、根據態樣37到52中任一項所述的裝置,其中該裝置是無線通訊設備。
態樣54、根據態樣37到53中任一項所述的裝置,其中該至少一個處理器被配置為:決定用於該視訊資料的塊的該一或多個經細化的運動向量,並且其中該合併模式候選包括該塊的相鄰塊。
態樣55:一種用於處理視訊資料的方法,包括:獲得用於當前圖片的一或多個參考圖片;辨識用於合併模式候選的第一運動向量和第二運動向量;從複數個運動向量搜尋策略中決定用於該合併模式候選的所選運動向量搜尋策略;使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及使用該一或多個經細化的運動向量來處理該合併模式候選。
態樣56、根據態樣55之方法,其中所選運動向量搜尋策略與至少基於該第一運動向量或該第二運動向量中的至少一項的一或多個約束相關聯。
態樣57、根據態樣56之方法,其中該一或多個約束是基於針對該視訊資料的塊用訊號通知的語法元素來針對該塊決定的。
態樣58、根據態樣56或57中任一項所述的方法,其中該一或多個約束關聯於與該第一運動向量相關聯的第一運動向量差或與該第二運動向量相關聯的第二運動向量差中的至少一項。
態樣59、根據態樣58之方法,其中該一或多個經細化的運動向量包括第一經細化的運動向量和第二經細化的運動向量,該方法亦包括:將該第一運動向量差決定為該第一經細化的運動向量與該第一運動向量之間的差;及將該第二運動向量差決定為該第二經細化的運動向量與該第二運動向量之間的差。
態樣60、根據態樣58或59中任一項所述的方法,其中該一或多個約束包括用於該第一運動向量差和該第二運動向量差的鏡像約束,並且其中該第一運動向量差和該第二運動向量差具有相同的幅值和不同的符號。
態樣61、根據態樣58到60中任一項所述的方法,其中該一或多個約束包括用於該第一運動向量差或該第二運動向量差中的至少一項的零值約束。
態樣62、根據態樣61之方法,其中基於該零值約束,該一或多個經細化的運動向量是經由將該第一運動向量差或該第二運動向量差中的第一者保持為固定值並且相對於該第一運動向量差或該第二運動向量差中的第二者進行搜尋,使用該所選運動向量搜尋策略來決定的。
態樣63、根據態樣55到62中任一項所述的方法,其中該所選運動向量搜尋策略是雙邊匹配(BM)運動向量搜尋策略。
態樣64、根據態樣55到63中任一項所述的方法,其中該一或多個經細化的運動向量是基於與該所選運動向量搜尋策略相關聯的一或多個約束來決定的,並且其中基於該一或多個約束來決定該一或多個經細化的運動向量包括:經由基於該所選運動向量搜尋策略來在該第一運動向量周圍搜尋第一參考圖片來決定第一經細化的運動向量;及經由基於該所選運動向量搜尋策略來在該第二運動向量周圍搜尋第二參考圖片來決定第二經細化的運動向量;其中該一或多個約束包括運動向量差約束。
態樣65、根據態樣64之方法,其中決定該第一經細化的運動向量和該第二經細化的運動向量包括:使與該第一經細化的運動向量相關聯的第一參考塊和與該第二經細化的運動向量相關聯的第二參考塊之間的差最小化。
態樣66、根據態樣55到65中任一項所述的方法,其中該複數個運動向量搜尋策略包括以下各項中的至少兩項:多通路解碼器側運動向量細化策略、分數取樣細化策略、雙向光流策略、或基於子塊的雙邊匹配運動向量細化策略。
態樣67、根據態樣55到66中任一項所述的方法,其中該所選運動向量搜尋策略包括多通路解碼器側運動向量細化策略。
態樣68、根據態樣67之方法,其中該多通路解碼器側運動向量細化策略包括以下各項中的至少一項:一或多個基於塊的雙邊匹配運動向量細化通路、或一或多個基於子塊的運動向量細化通路。
態樣69、根據態樣68之方法,亦包括:使用與第一運動向量差或第二運動向量差中的至少一項相關聯的第一約束來執行該一或多個基於塊的雙邊匹配運動向量細化通路;及使用與該第一運動向量差或該第二運動向量差中的至少一項相關聯的第二約束來執行該一或多個基於子塊的運動向量細化通路,其中該第一約束不同於該第二約束。
態樣70、根據態樣68或69中任一項所述的方法,其中該一或多個基於子塊的運動向量細化通路包括以下各項中的至少一項:基於子塊的雙邊匹配運動向量細化通路、或基於子塊的雙向光流運動向量細化通路。
態樣71:一種根據態樣37到70的任何操作來處理視訊資料的方法。
態樣72:一種包括指令的電腦可讀取儲存媒體,該等指令在由設備的一或多個處理器執行時,使得該設備執行態樣37到70中任一項的操作。
態樣73:一種裝置,包括用於執行態樣37到70的任何操作的一或多個單元。
35:分割單元 41:預測處理單元 42:運動估計單元 44:運動補償單元 46:訊框內預測處理單元 50:求和器 52:變換處理單元 54:量化單元 56:熵編碼單元 57:後處理設備 58:逆量化單元 60:逆變換處理單元 62:求和器 63:濾波器單元 64:圖片記憶體 79:網路實體 80:熵解碼單元 81:預測處理單元 82:運動補償單元 84:訊框內預測處理單元 86:逆量化單元 88:逆變換處理單元 90:求和器 91:濾波器單元 92:圖片記憶體 100:系統 102:視訊源 104:編碼設備 106:編碼器引擎 108:儲存單元 110:輸出 112:解碼設備 114:輸入 116:解碼器引擎 118:儲存單元 120:通訊鏈路 122:視訊目的地設備 402:當前塊 404:參考塊 422:當前塊 424:第一參考塊 426:第二參考塊 500:塊 600:運動向量縮放 610:當前圖片 611:虛線 612:當前CU 615:當前參考圖片 630:共置圖片 632:共置CU 635:共置參考圖片 700:時間合併候選 800:圖 810:當前圖片 812:雙預測合併候選 820:第二參考圖片 822:第二預測器 824:候選塊 830:第一參考圖片 832:初始預測器 834:候選塊 900:擴展CU區域 910:子塊 970:擴展行 980:擴展列 1000:譯碼單元(CU) 1020:第一搜尋區域 1030:第二搜尋區域 1040:第三搜尋區域 1050:第四搜尋區域 1100:程序 1102:方塊 1104:方塊 1106:方塊 1108:方塊 1110:方塊 A0:空間合併候選 A1:空間合併候選 B0:空間合併候選 B1:空間合併候選 B2:空間合併候選 C 0:位置 C 1:位置 LCU:最大譯碼單元 MV:運動向量 MV 0:運動向量 MV 0':運動向量 MV 1:運動向量 MV 1':運動向量 MV diff:運動向量 MV0:運動向量 MV1:運動向量 PU0:預測單元 PU1:預測單元 tb:距離 td:距離 TMVP:時間運動向量預測器
下文參照以下附圖詳細描述了本案的說明性態樣:
圖1是示出根據本案內容的一些實例的編碼設備和解碼設備的實例的方塊圖;
圖2A是示出根據本案內容的一些實例的用於合併模式的實例空間相鄰運動向量候選的概念圖;
圖2B是示出根據本案內容的一些實例的高級運動向量預測(AMVP)模式的實例空間相鄰運動向量候選的概念圖;
圖3A是示出根據本案內容的一些實例的實例時間運動向量預測器(TMVP)候選的概念圖;
圖3B是根據本案內容的一些實例的運動向量縮放的實例的概念圖;
圖4A是示出根據本案內容的一些實例的用於估計用於當前譯碼單元的運動補償參數的當前譯碼單元的相鄰取樣的實例的概念圖;
圖4B是示出根據本案內容的一些實例的用於估計用於當前譯碼單元的運動補償參數的參考塊的相鄰取樣的實例的概念圖;
圖5圖示根據本案內容的一些實例的用於處理塊的空間合併候選的位置;
圖6圖示根據本案內容的一些實例的用於處理塊的時間合併候選的運動向量縮放的各態樣;
圖7圖示根據本案內容的一些實例的用於處理塊的時間合併候選的各態樣;
圖8圖示根據本案內容的一些實例的雙邊匹配的各態樣;
圖9圖示根據本案內容的一些實例的雙向光流(BDOF)的各態樣;
圖10圖示根據本案內容的一些實例的搜尋區域;
圖11是示出根據本案內容的一些實例的用於利用自我調整雙邊匹配的解碼器側運動向量細化的實例程序的流程圖;
圖12是示出根據本案內容的一些實例的實例視訊編碼設備的方塊圖;及
圖13是示出根據本案內容的一些實例的實例視訊解碼設備的方塊圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
900:擴展CU區域
910:子塊
970:擴展行
980:擴展列

Claims (30)

  1. 一種用於處理視訊資料的裝置,包括: 至少一個記憶體;及 耦合到該至少一個記憶體的至少一個處理器,該至少一個處理器被配置為: 獲得用於一當前圖片的一或多個參考圖片; 辨識用於一合併模式候選的一第一運動向量和一第二運動向量; 從複數個運動向量搜尋策略中決定用於該合併模式候選的一所選運動向量搜尋策略; 使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及 使用該一或多個經細化的運動向量來處理該合併模式候選。
  2. 根據請求項1之裝置,其中該所選運動向量搜尋策略與基於該第一運動向量或該第二運動向量中的至少一項的一或多個約束相關聯。
  3. 根據請求項2之裝置,其中該一或多個約束是基於針對該視訊資料的一塊用訊號通知的一語法元素來針對該塊決定的。
  4. 根據請求項2之裝置,其中該一或多個約束關聯於與該第一運動向量相關聯的一第一運動向量差或與該第二運動向量相關聯的一第二運動向量差中的至少一項。
  5. 根據請求項4之裝置,其中該一或多個經細化的運動向量包括一第一經細化的運動向量和一第二經細化的運動向量,並且其中該至少一個處理器被配置為: 將該第一運動向量差決定為該第一經細化的運動向量與該第一運動向量之間的一差;及 將該第二運動向量差決定為該第二經細化的運動向量與該第二運動向量之間的一差。
  6. 根據請求項4之裝置,其中該一或多個約束包括用於該第一運動向量差和該第二運動向量差的一鏡像約束,並且其中該第一運動向量差和該第二運動向量差具有一相同的幅值和一不同的符號。
  7. 根據請求項4之裝置,其中該一或多個約束包括用於該第一運動向量差或該第二運動向量差中的至少一項的一零值約束。
  8. 根據請求項7之裝置,其中基於該零值約束,該至少一個處理器被配置為:經由將該第一運動向量差或該第二運動向量差中的一第一者保持為固定值並且相對於該第一運動向量差或該第二運動向量差中的一第二者進行搜尋,來使用該所選運動向量搜尋策略決定該一或多個經細化的運動向量。
  9. 根據請求項1之裝置,其中該所選運動向量搜尋策略是一雙邊匹配(BM)運動向量搜尋策略。
  10. 根據請求項9之裝置,其中該至少一個處理器被配置為:基於與該所選運動向量搜尋策略相關聯的一或多個約束來決定該一或多個經細化的運動向量,並且其中為了基於該一或多個約束來決定該一或多個經細化的運動向量,該至少一個處理器被配置為: 經由基於該所選運動向量搜尋策略來在該第一運動向量周圍搜尋一第一參考圖片來決定一第一經細化的運動向量;及 經由基於該所選運動向量搜尋策略來在該第二運動向量周圍搜尋一第二參考圖片來決定一第二經細化的運動向量; 其中該一或多個約束包括一運動向量差約束。
  11. 根據請求項10之裝置,其中為了決定該第一經細化的運動向量和該第二經細化的運動向量,該至少一個處理器被配置為: 使與該第一經細化的運動向量相關聯的一第一參考塊和與該第二經細化的運動向量相關聯的一第二參考塊之間的一差最小化。
  12. 根據請求項1之裝置,其中該複數個運動向量搜尋策略包括以下各項中的至少兩項:一多通路解碼器側運動向量細化策略、一分數取樣細化策略一雙向光流策略、或一基於子塊的雙邊匹配運動向量細化策略。
  13. 根據請求項1之裝置,其中該所選運動向量搜尋策略包括一多通路解碼器側運動向量細化策略。
  14. 根據請求項13之裝置,其中該多通路解碼器側運動向量細化策略包括以下各項中的至少一項:一或多個基於塊的雙邊匹配運動向量細化通路、或一或多個基於子塊的運動向量細化通路。
  15. 根據請求項14之裝置,其中該至少一個處理器被配置為: 使用與一第一運動向量差或一第二運動向量差中的至少一項相關聯的一第一約束來執行該一或多個基於塊的雙邊匹配運動向量細化通路;及 使用與該第一運動向量差或該第二運動向量差中的至少一項相關聯的一第二約束來執行該一或多個基於子塊的運動向量細化通路,其中該第一約束不同於該第二約束。
  16. 根據請求項14之裝置,其中該一或多個基於子塊的運動向量細化通路包括以下各項中的至少一項:一基於子塊的雙邊匹配運動向量細化通路、或一基於子塊的雙向光流運動向量細化通路。
  17. 根據請求項1之裝置,其中該裝置是一無線通訊設備。
  18. 根據請求項1之裝置,其中該至少一個處理器被配置為:決定用於該視訊資料的一塊的該一或多個經細化的運動向量,並且其中該合併模式候選包括該塊的一相鄰塊。
  19. 一種用於處理視訊資料的方法,包括以下步驟: 獲得用於一當前圖片的一或多個參考圖片; 辨識用於一合併模式候選的一第一運動向量和一第二運動向量; 從複數個運動向量搜尋策略中決定用於該合併模式候選的一所選運動向量搜尋策略; 使用該所選運動向量搜尋策略,基於該第一運動向量或該第二運動向量中的至少一項以及該一或多個參考圖片來決定一或多個經細化的運動向量;及 使用該一或多個經細化的運動向量來處理該合併模式候選。
  20. 根據請求項19之方法,其中該所選運動向量搜尋策略與基於該第一運動向量或該第二運動向量中的至少一項的一或多個約束相關聯。
  21. 根據請求項20之方法,其中該一或多個約束是基於針對該視訊資料的一塊用訊號通知的一語法元素來針對該塊決定的。
  22. 根據請求項20之方法,其中該一或多個約束關聯於與該第一運動向量相關聯的一第一運動向量差或與該第二運動向量相關聯的一第二運動向量差中的至少一項。
  23. 根據請求項22之方法,其中該一或多個經細化的運動向量包括一第一經細化的運動向量和一第二經細化的運動向量,該方法亦包括以下步驟: 將該第一運動向量差決定為該第一經細化的運動向量與該第一運動向量之間的一差;及 將該第二運動向量差決定為該第二經細化的運動向量與該第二運動向量之間的一差。
  24. 根據請求項22之方法,其中該一或多個約束包括用於該第一運動向量差和該第二運動向量差的一鏡像約束,並且其中該第一運動向量差和該第二運動向量差具有一相同的幅值和一不同的符號。
  25. 根據請求項22之方法,其中該一或多個約束包括用於該第一運動向量差或該第二運動向量差中的至少一項的一零值約束。
  26. 根據請求項25之方法,其中基於該零值約束,該一或多個經細化的運動向量是經由將該第一運動向量差或該第二運動向量差中的一第一者保持為一固定值並且相對於該第一運動向量差或該第二運動向量差中的一第二者進行搜尋,使用該所選運動向量搜尋策略來決定的。
  27. 根據請求項19之方法,其中該所選運動向量搜尋策略是一雙邊匹配(BM)運動向量搜尋策略,其中該一或多個經細化的運動向量是基於與該所選運動向量搜尋策略相關聯的一或多個約束來決定的,並且其中基於該一或多個約束來決定該一或多個經細化的運動向量包括以下步驟: 經由基於該所選運動向量搜尋策略來在該第一運動向量周圍搜尋一第一參考圖片來決定一第一經細化的運動向量;及 經由基於該所選運動向量搜尋策略來在該第二運動向量周圍搜尋一第二參考圖片來決定一第二經細化的運動向量; 其中該一或多個約束包括一運動向量差約束。
  28. 根據請求項27之方法,其中決定該第一經細化的運動向量和該第二經細化的運動向量包括以下步驟: 使與該第一經細化的運動向量相關聯的一第一參考塊和與該第二經細化的運動向量相關聯的一第二參考塊之間的一差最小化。
  29. 根據請求項19之方法,其中該所選運動向量搜尋策略包括一多通路解碼器側運動向量細化策略,其中該多通路解碼器側運動向量細化策略包括以下各項中的至少一項:一或多個基於塊的雙邊匹配運動向量細化通路、或一或多個基於子塊的運動向量細化通路。
  30. 根據請求項29之方法,亦包括以下步驟: 使用與一第一運動向量差或一第二運動向量差中的至少一項相關聯的一第一約束來執行該一或多個基於塊的雙邊匹配運動向量細化通路;及 使用與該第一運動向量差或該第二運動向量差中的至少一項相關聯的一第二約束來執行該一或多個基於子塊的運動向量細化通路,其中該第一約束不同於該第二約束。
TW111123644A 2021-06-29 2022-06-24 用於解碼器側運動向量細化的自我調整雙邊匹配 TW202308389A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202163216468P 2021-06-29 2021-06-29
US63/216,468 2021-06-29
US202163263754P 2021-11-08 2021-11-08
US63/263,754 2021-11-08
US17/847,942 US11895302B2 (en) 2021-06-29 2022-06-23 Adaptive bilateral matching for decoder side motion vector refinement
US17/847,942 2022-06-23

Publications (1)

Publication Number Publication Date
TW202308389A true TW202308389A (zh) 2023-02-16

Family

ID=82701841

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111123644A TW202308389A (zh) 2021-06-29 2022-06-24 用於解碼器側運動向量細化的自我調整雙邊匹配

Country Status (12)

Country Link
EP (1) EP4364418A1 (zh)
JP (1) JP2024526077A (zh)
KR (1) KR20240026140A (zh)
AU (1) AU2022303514A1 (zh)
BR (1) BR112023027261A2 (zh)
CA (1) CA3216820A1 (zh)
CL (1) CL2023003553A1 (zh)
CO (1) CO2023017540A2 (zh)
IL (1) IL307644A (zh)
MX (1) MX2023014315A (zh)
TW (1) TW202308389A (zh)
WO (1) WO2023278964A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12047583B2 (en) * 2021-06-25 2024-07-23 Qualcomm Incorporated Hybrid inter bi-prediction in video coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11206425B2 (en) * 2019-03-11 2021-12-21 Alibaba Group Holding Limited Inter prediction methods for coding video data

Also Published As

Publication number Publication date
AU2022303514A1 (en) 2023-11-02
CL2023003553A1 (es) 2024-04-26
CO2023017540A2 (es) 2023-12-20
BR112023027261A2 (pt) 2024-03-12
JP2024526077A (ja) 2024-07-17
WO2023278964A1 (en) 2023-01-05
IL307644A (en) 2023-12-01
KR20240026140A (ko) 2024-02-27
EP4364418A1 (en) 2024-05-08
CA3216820A1 (en) 2023-01-05
MX2023014315A (es) 2024-01-25

Similar Documents

Publication Publication Date Title
AU2019356483B2 (en) Improvements on history-based motion vector predictor
TWI761415B (zh) 用於雙向光學流(bio)之運動向量重建
RU2742298C2 (ru) Выведение вектора движения при видеокодировании
US11140408B2 (en) Affine motion prediction
EP3643060A1 (en) Combination of inter-prediction and intra-prediction in video coding
JP7513641B2 (ja) 切替え可能フィルタを用いる参照ピクチャリサンプリング
EP3596925A1 (en) Affine motion information derivation
KR20150139953A (ko) 백워드 뷰 합성 예측
AU2020354483A1 (en) History-based motion vector prediction
TW202042552A (zh) 用於照明補償之區塊大小限制
US11895302B2 (en) Adaptive bilateral matching for decoder side motion vector refinement
CN114402617A (zh) 利用矢量裁剪的仿射译码
TW202236852A (zh) 高效視訊編碼器架構
JP2023554269A (ja) 重複ブロック動き補償
TW202308389A (zh) 用於解碼器側運動向量細化的自我調整雙邊匹配
TW202315409A (zh) 運動向量(mv)候選重新排序
TW202236848A (zh) 使用增強內插濾波器的訊框內預測
CN117837143A (zh) 用于解码器侧运动矢量细化的自适应双边匹配