TW202002638A - Boundary enhancement for sub-block - Google Patents
Boundary enhancement for sub-block Download PDFInfo
- Publication number
- TW202002638A TW202002638A TW108123120A TW108123120A TW202002638A TW 202002638 A TW202002638 A TW 202002638A TW 108123120 A TW108123120 A TW 108123120A TW 108123120 A TW108123120 A TW 108123120A TW 202002638 A TW202002638 A TW 202002638A
- Authority
- TW
- Taiwan
- Prior art keywords
- prediction
- sub
- block
- prediction candidate
- item
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
一般來說,本申請文件針對圖像和視頻編碼技術。 [相關申請的交叉引用] 根據適用的《專利法》和/或《巴黎公約》的規定,本申請及時要求於2018年6月29日提交的國際專利申請號PCT/CN2018/093633的優先權和利益。根據美國法律,將國際專利申請號PCT/CN2018/093633的全部公開以引用方式併入本文,作為本申請公開的一部分。Generally speaking, this application document is directed to image and video coding technologies. [Cross reference to related applications] In accordance with the provisions of the applicable Patent Law and/or the Paris Convention, this application promptly requests the priority and benefits of the international patent application number PCT/CN2018/093633 filed on June 29, 2018. According to US law, the entire disclosure of International Patent Application No. PCT/CN2018/093633 is incorporated herein by reference as part of the disclosure of this application.
數位視訊在互聯網和其它數位通信網路上使用的頻寬最大。隨著能夠接收和顯示視頻的連接使用者設備數量的增加,預計數位視訊使用的頻寬需求將繼續增長。Digital video uses the most bandwidth on the Internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, it is expected that the demand for digital video bandwidth will continue to grow.
運動補償是一種視頻處理中的技術,給出先前的和/或將來的幀,通過考慮相機和/或視頻中的物件的運動來預測視頻中的幀。運動補償可以用於視頻資料的編碼和解碼以實現視訊壓縮。Motion compensation is a technique in video processing that gives previous and/or future frames and predicts frames in the video by considering the motion of the camera and/or objects in the video. Motion compensation can be used to encode and decode video data to achieve video compression.
描述了與圖像和視頻編碼的基於子塊的預測的邊界增強相關的設備、系統和方法。A device, system, and method related to boundary enhancement based on sub-block prediction of image and video encoding are described.
在一個典型的方面,本公開的技術可以被用來提供視頻編碼的方法。該方法包括:將視頻塊分割成多個子塊;基於視頻塊中多個樣本的基於子塊的預測形成第一預測候選;基於子塊邊界區域中多個樣本的幀間預測形成第二預測候選;將最終預測候選形成為第一預測候選和第二預測候選的函數;以及使用最終預測候選處理視頻塊。In a typical aspect, the technology of the present disclosure can be used to provide a method of video encoding. The method includes: dividing a video block into multiple sub-blocks; forming a first prediction candidate based on sub-block-based prediction of multiple samples in the video block; forming a second prediction candidate based on inter-prediction of multiple samples in the sub-block boundary region Forming the final prediction candidate as a function of the first prediction candidate and the second prediction candidate; and processing the video block using the final prediction candidate.
在另一個典型的方面,上述方法可以以處理器可執行代碼的形式實施,並且儲存在電腦可讀程式介質中。In another typical aspect, the above method can be implemented in the form of processor-executable code and stored in a computer-readable program medium.
在又一典型的方面,公開了一種設備,其被配置為或可操作以執行上述方法。所述設備可以包括被程式設計以實現該方法的處理器。In yet another typical aspect, an apparatus is disclosed that is configured or operable to perform the above method. The device may include a processor programmed to implement the method.
在又一典型的方面,一種視頻解碼裝置,其可以實現本文中所述的方法。In yet another typical aspect, a video decoding device can implement the method described herein.
在附圖、說明書和申請專利範圍書中更詳細地描述了本公開技術的上述和其它方面和特徵。The above and other aspects and features of the disclosed technology are described in more detail in the drawings, specification, and patent scope.
由於對高解析度視頻的需求日益增加,視頻編碼方法和技術在現代技術中無處不在。視頻轉碼器通常包括壓縮或解壓縮數位視訊的電子電路或軟體,並且不斷地被改進以提供更高的編碼效率。視頻轉碼器將未壓縮的視訊轉換為壓縮格式,或反之亦然。視頻品質、用於表示視頻的資料量(由位元速率決定)、編碼和解碼演算法的複雜度、對資料丟失和錯誤的敏感度、易於編輯、隨機訪問和端到端延遲(延遲)之間存在複雜的關係。壓縮格式通常符合標準視訊壓縮規範,例如,高效視頻編碼(HEVC)標準(也稱為H.265或MPEG-H第2部分)、待最終確定的多功能視頻編碼標準或其它當前和/或未來的視頻編碼標準。Due to the increasing demand for high-resolution video, video encoding methods and techniques are ubiquitous in modern technology. Video transcoders usually include electronic circuits or software that compresses or decompresses digital video, and is constantly being improved to provide higher coding efficiency. The video transcoder converts uncompressed video to a compressed format, or vice versa. Video quality, amount of data used to represent video (determined by bit rate), complexity of encoding and decoding algorithms, sensitivity to data loss and errors, ease of editing, random access, and end-to-end delay (delay) There is a complicated relationship. Compression formats generally conform to standard video compression specifications, such as High Efficiency Video Coding (HEVC) standards (also known as H.265 or MPEG-H Part 2), multi-function video coding standards to be finalized, or other current and/or future Video coding standard.
基於子塊的預測首先被高效視頻編碼(HEVC)標準引入視頻編碼標準。使用基於子塊的預測,將一個塊(如編碼單元(CU)或預測單元(PU))劃分為幾個不重疊的子塊。可以為不同的子塊分配不同的運動信息,例如參考索引或運動向量(MV),並為每個子塊分別執行運動補償(MC)。圖1示出了基於子塊的預測的示例。Subblock-based prediction was first introduced into the video coding standard by the High Efficiency Video Coding (HEVC) standard. Using sub-block-based prediction, a block (such as a coding unit (CU) or prediction unit (PU)) is divided into several non-overlapping sub-blocks. Different sub-blocks can be assigned different motion information, such as a reference index or motion vector (MV), and perform motion compensation (MC) separately for each sub-block. FIG. 1 shows an example of subblock-based prediction.
公開技術的實施例可應用于現有視頻編碼標準(例如,HEVC、H.265)和未來標準,以提高執行時間性能。在本文中,使用章節標題以提高描述的可讀性,並且不會以任何方式將討論或實施例(和/或實現)僅限於各自的章節。Embodiments of the disclosed technology can be applied to existing video coding standards (eg, HEVC, H.265) and future standards to improve execution time performance. In this article, chapter titles are used to improve the readability of the description, and the discussion or embodiments (and/or implementation) are not limited to the respective chapters in any way.
此外,雖然某些實施例是參照多功能視頻編碼或其它特定視頻轉碼器來描述的,但所公開的技術也適用於其它視頻編碼技術。此外,雖然一些實施例詳細描述了視頻編碼步驟,但應當理解的是,相應的解碼步驟(撤銷編碼)將由解碼器實現。此外,術語「視頻處理」包括視頻編碼或壓縮、視頻解碼或解壓縮、以及視頻轉碼,其中視頻像素從一種壓縮格式表示為另一種壓縮格式或以不同的壓縮位元速率表示。In addition, although some embodiments are described with reference to multi-function video encoding or other specific video transcoders, the disclosed technology is also applicable to other video encoding technologies. In addition, although some embodiments describe the video encoding step in detail, it should be understood that the corresponding decoding step (revocation of encoding) will be implemented by the decoder. In addition, the term "video processing" includes video encoding or compression, video decoding or decompression, and video transcoding, where video pixels are expressed from one compression format to another compression format or at different compression bit rates.
1. 聯合探索模型(JEM)的示例1. Example of Joint Exploration Model (JEM)
在一些實施例中,使用名為聯合探索模型(JEM)的參考軟體來探索未來的視頻編碼技術。在JEM中,基於子塊的預測被用於多種編碼工具中,如仿射預測、可選時域運動向量預測(ATMVP)、空時運動向量預測(STMVP)、雙向光流(BIO)、幀播放速率上轉換(FRUC)、局部自我調整運動向量解析度(LAMVR)、重疊塊運動補償(OBMC)、局部照明補償(LIC)和解碼器側運動向量細化(DMVR)。In some embodiments, a reference software called Joint Exploration Model (JEM) is used to explore future video coding technologies. In JEM, subblock-based prediction is used in various coding tools, such as affine prediction, optional time-domain motion vector prediction (ATMVP), space-time motion vector prediction (STMVP), bidirectional optical flow (BIO), and frame Play rate up conversion (FRUC), local self-adjusting motion vector resolution (LAMVR), overlapping block motion compensation (OBMC), local lighting compensation (LIC), and decoder-side motion vector refinement (DMVR).
1.1 仿射預測的示例1.1 Example of affine prediction
在HEVC中,僅平移運動模型應用於運動補償預測(MCP)。然而,相機和物件可能具有多種運動,例如放大/縮小、旋轉、透視運動和/或其它不規則運動。另一方面,JEM應用了簡化的仿射變換運動補償預測。圖2示出了由兩個控制點運動向量V0
和V1
描述的塊200的仿射運動場的示例。塊200的運動向量場(MVF)可以由以下等式描述:In HEVC, only translational motion models are applied to motion compensated prediction (MCP). However, cameras and objects may have multiple movements, such as zoom in/out, rotation, perspective movements, and/or other irregular movements. On the other hand, JEM applies simplified affine transformation motion compensation prediction. FIG. 2 shows an example of the affine sports field of the
等式(1) Equation (1)
如圖2所示,是左上角控制點的運動向量,並且是右上角控制點的運動向量。為了簡化運動補償預測,可以應用基於子塊的仿射變換預測。子塊大小MxN推導如下:as shown in picture 2, Is the motion vector of the control point in the upper left corner, and Is the motion vector of the control point in the upper right corner. In order to simplify motion compensation prediction, affine transformation prediction based on sub-blocks may be applied. The sub-block size MxN is derived as follows:
等式(2) Equation (2)
這裡,MvPre是運動向量分數精度(例如,JEM中的1/16)。)是左下控制點的運動向量,其根據等式(1)計算。如果需要,M和N可以被向下調節使其分別作為w和h的除數。Here, MvPre is the motion vector fractional accuracy (for example, 1/16 in JEM). ) Is the motion vector of the lower left control point, which is calculated according to equation (1). If necessary, M and N can be adjusted downward to make them the divisors of w and h, respectively.
圖3示出了塊300的每個子塊的仿射MVF的示例。為了推導出每個M×N子塊的運動向量,可以根據等式(1)計算每個子塊的中心樣本的運動向量,並且四捨五入到運動向量分數精度(例如,JEM中的1/16)。然後可以應用運動補償插值濾波器,利用推導出的運動向量生成各子塊的預測。在MCP之後,對每個子塊的高精度運動向量進行取整,並將其保存為與正常運動向量相同的精度。FIG. 3 shows an example of an affine MVF for each sub-block of
在JEM中,有兩個仿射運動模式:AF_INTER模式和AF_MERGE模式。對於寬度和高度都大於8的CU,可以應用AF_INTER模式。在位流中,CU級別的仿射標誌被發信令(signal),以指示是否使用AF_INTER模式。在AF_INTER模式中,使用相鄰的塊構造具有運動向量對的候選列表。In JEM, there are two affine motion modes: AF_INTER mode and AF_MERGE mode. For CUs with a width and height greater than 8, the AF_INTER mode can be applied. In the bitstream, CU level affine flags are signaled to indicate whether to use AF_INTER mode. In AF_INTER mode, use adjacent blocks to construct pairs with motion vectors Candidate list.
圖4示出了在AF_INTER模式中塊400的運動向量預測(MVP)的示例。如圖4所示,v0
從子塊A、B或C的運動向量中選擇。可以根據參考清單對相鄰塊的運動向量進行縮放。也可以根據相鄰塊參考的圖片順序計數(POC)、當前CU參考的POC和當前CU的POC之間的關係對運動向量進行縮放。從相鄰的子塊D和E中選擇v1
的方法類似。如果候選清單的數目小於2,則該列表由複製每個AMVP候選組成的運動向量對來填充。當候選清單大於2時,可以首先根據相鄰的運動向量對候選進行排序(例如,基於一對候選中兩個運動向量的相似性)。在一些實現中,保留前兩個候選。在一些實施例中,使用速率失真(RD)成本檢查來確定選擇哪個運動向量對候選作為當前CU的控制點運動向量預測(CPMVP)。可以在位流中發信令指示CPMVP在候選清單中的位置的索引。在確定了當前仿射CU的CPMVP後,應用仿射運動估計,並且找到控制點運動向量(CPMV)。然後,在位元流中對CPMV和CPMVP的差異發信令。FIG. 4 shows an example of motion vector prediction (MVP) of the
當在AF_MERGE模式下應用CU時,它從有效的相鄰重構塊中獲取用仿射模式編碼的第一個塊。圖5A示出了當前CU 500的候選塊的選擇順序的示例。如圖5A所示,選擇順序可以是從當前CU 500的左(501)、上(502)、右上(503)、左下(504)到左上(505)。圖5B示出了在AF_MERGE模式中當前CU 500的候選塊的另一個示例。如果相鄰的左下塊501以仿射模式編碼,如圖5B所示,則導出包含子塊501的CU左上角、右上角和左下角的運動向量v2
、v3
和v4
。當前CU 500左上角的運動向量v0
是基於v2
、v3
和v4
計算的。可以相應地計算當前CU右上方的運動向量v1
。When the CU is applied in AF_MERGE mode, it obtains the first block coded in affine mode from valid neighboring reconstruction blocks. FIG. 5A shows an example of the selection order of the candidate blocks of the
根據等式(1)中的仿射運動模型計算當前CU的CPMV v0 和v1 後,可以生成當前CU的MVF。為了識別當前CU是否使用AF_MERGE模式編碼,當至少有一個相鄰的塊以仿射模式編碼時,可以在位元流中對仿射標誌發信令。After calculating the CPMV v 0 and v 1 of the current CU according to the affine motion model in equation (1), the MVF of the current CU can be generated. In order to identify whether the current CU uses the AF_MERGE mode encoding, when at least one adjacent block is encoded in the affine mode, the affine flag can be signaled in the bit stream.
在JEM中,僅當當前塊的寬度和高度都大於8時可以使用非Merge仿射模式;僅當當前塊的區域(即寬度x高度)不小於64時可以使用仿射模式。In JEM, the non-Merge affine mode can be used only when the width and height of the current block are greater than 8, and the affine mode can be used only when the area of the current block (that is, width x height) is not less than 64.
1.2 可選時域運動向量預測(ATMVP)的示例1.2 Examples of optional time-domain motion vector prediction (ATMVP)
在ATMVP方法中,通過從小於當前CU的塊中提取多組運動信息(包括運動向量和參考指數),修改時間運動向量預測(TMVP)方法。In the ATMVP method, the temporal motion vector prediction (TMVP) method is modified by extracting multiple sets of motion information (including motion vectors and reference indices) from blocks smaller than the current CU.
圖6示出了CU 600的ATMVP運動預測過程的示例。ATMVP方法分兩步預測CU 600內子CU 601的運動向量。第一步是用時間向量識別參考圖片650中的相應塊651。參考圖片650也稱為運動源圖片。第二步是將當前的CU 600劃分成子CU 601,並從每個子CU對應的塊中獲取每個子CU的運動向量和參考指數。FIG. 6 shows an example of the ATMVP motion prediction process of the
在第一步中,參考圖片650和對應的塊由當前CU 600的空間相鄰塊的運動信息確定。為了避免相鄰塊的重複掃描處理,使用當前CU 600的Merge候選列表中的第一Merge候選。第一可用的運動向量及其相關聯的參考索引被設置為時間向量和運動源圖片的索引。這樣,與TMVP相比,可以更準確地識別對應的塊,其中對應的塊(有時稱為並置塊)始終位於相對於當前CU的右下角或中心位置。In the first step, the
在第二步中,通過將時間向量添加到當前CU的座標中,通過運動源圖片650中的時間向量識別子CU 651的對應塊。對於每個子CU,使用其對應塊的運動信息(例如,覆蓋中心樣本的最小運動網格)來導出子CU的運動信息。在識別出對應的N×N塊的運動信息後,用與HEVC的TMVP同樣方式,將其轉換為當前子CU的運動向量和參考指數,其中應用運動縮放和其它程式。例如,解碼器檢查是否滿足低延遲條件(例如,當前圖片的所有參考圖片的POC都小於當前圖片的POC),並且可能使用運動向量MVx
(例如,與參考圖片清單X對應的運動向量)來預測每個子CU的運動向量MVy
(例如,X等於0或1並且Y等於1−X)。In the second step, by adding the time vector to the coordinates of the current CU, the corresponding block of the
1.3 空時運動向量預測(STMVP)的示例1.3 Example of space-time motion vector prediction (STMVP)
在STMVP方法中,子CU的運動向量按照光柵掃描順序遞迴導出。圖7示出具有四個子塊的一個CU和相鄰塊的示例。考慮8×8的CU 700,其包括四個4×4子CU A(701)、B(702)、C(703)和D(704)。當前幀中相鄰的4×4塊標記為a(711)、b(712)、c(713)和d(714)。In the STMVP method, the motion vector of the sub-CU is derived recursively according to the raster scan order. FIG. 7 shows an example of one CU with four sub-blocks and adjacent blocks. Consider an 8×8
子CU A的運動推導由識別其兩個空間鄰居開始。第一鄰居是子CU A 701上方的N×N塊(塊c 713)。如果該塊c(713)不可用或內部編碼,則檢查子CU A(701)上方的其它N×N塊(從左到右,從塊c 713處開始)。第二個鄰居是子CU A 701左側的一個塊(塊b 712)。如果塊b(712)不可用或是內部編碼,則檢查子CU A 701左側的其它塊(從上到下,從塊b 712處開始)。每個清單從相鄰塊獲得的運動信息被縮放到給定清單的第一參考幀。接下來,按照HEVC中規定的與TMVP相同的程式,推導出子塊A 701的時間運動向量預測(TMVP)。提取塊D 704處的並置塊的運動信息並進行相應的縮放。最後,在檢索和縮放運動信息後,對每個參考列表分別平均所有可用的運動向量。將平均運動向量指定為當前子CU的運動向量。The motion derivation of sub-CU A starts by identifying its two spatial neighbors. The first neighbor is the N×N block (block c 713) above the
1.4 雙向光流(BIO)的示例1.4 Example of bidirectional optical flow (BIO)
雙向光流(BIO)法是在分塊運動補償之上對雙向預測進行的樣本方向運動細化。在一些實現中,樣本級的運動細化不使用信令。The bidirectional optical flow (BIO) method is based on block motion compensation to refine the sample direction motion for bidirectional prediction. In some implementations, sample-level motion refinement does not use signaling.
設為塊運動補償後到參考k(k=0,1)的亮度值,並且,分別為梯度的水平分量和垂直分量。假設光流是有效的,則運動向量場由下式給出:Assume The brightness value to the reference k (k=0, 1) after block motion compensation, and , Are The horizontal and vertical components of the gradient. Assuming that the optical flow is valid, the motion vector field Is given by:
等式(3) Equation (3)
將此光流等式與每個樣品運動軌跡的埃爾米特插值相結合,得到唯一的三階多項式,該多項式在末端同時匹配函數值和其導數,。該多項式在t=0時的值是BIO預測:Combining this optical flow equation with the Hermitian interpolation of each sample motion trajectory yields a unique third-order polynomial that simultaneously matches the function value at the end And its derivative , . The value of this polynomial at t=0 is the BIO prediction:
等式(4) Equation (4)
圖8示出了雙向光流(BIO)方法中的示例光流軌跡。這裡,和表示到參考幀的距離。基於Ref0和Ref1的POC計算距離和:=POC(current) − POC(Ref0 ),= POC(Ref1 ) − POC(current)。如果兩個預測都來自同一個時間方向(都來自過去或都來自未來),則符號是不同的(例如,)。在這種情況下,如果預測不是來自同一時間點(例如,),則應用BIO。兩個參考區域都具有非零運動(例如,),並且塊運動向量與時間距離成比例(例如,)。FIG. 8 shows an example optical flow trajectory in the bidirectional optical flow (BIO) method. Here, with Indicates the distance to the reference frame. Calculate distance based on Ref0 and Ref1 POC with : =POC(current) − POC(Ref 0 ), = POC(Ref 1 ) − POC(current). If both predictions come from the same time direction (both from the past or both from the future), the signs are different (for example, ). In this case, if the predictions are not from the same point in time (for example, ), then apply BIO. Both reference areas have non-zero motion (for example, ), and the block motion vector is proportional to the time distance (for example, ).
通過最小化A點和B點之間的值的差∆來確定運動向量場 。圖9A至圖9B示出了運動軌跡與參考幀平面相交的示例。對∆,模型僅使用局部泰勒展開的第一個線性項:The motion vector field is determined by minimizing the difference Δ between points A and B. 9A to 9B show examples in which the motion trajectory intersects the reference frame plane. For ∆, the model uses only the first linear term of the local Taylor expansion:
等式(5) Equation (5)
上述等式中的所有值取決於樣本位置,表示為。假設在局部周圍區域的運動是一致的,那麼Δ可以在以當前預測點(i,j)為中心的(2 M+1)x(2 M+1)方形視窗Ω內最小化,其中M等於2:All values in the above equation depend on the sample position, expressed as . Assuming that the motion in the local surrounding area is consistent, then Δ can be minimized in the (2 M+1) x (2 M+1) square window Ω centered on the current prediction point (i, j), where M is equal to 2:
等式 (6) Equation (6)
對於這個優化問題,JEM使用簡化方法,首先在垂直方向上最小化,然後在水平方向最小化。結果如下:For this optimization problem, JEM uses a simplified method, first minimizing in the vertical direction, and then minimizing in the horizontal direction. The results are as follows:
等式(7) Equation (7)
等式(8) Equation (8)
其中,among them,
等式(9) Equation (9)
為了避免被零除或很小的值除,可在式(7)和式(8)中引入正規化參數r和m,其中In order to avoid division by zero or very small values, the normalization parameters r and m can be introduced in equations (7) and (8), where
等式 (10) Equation (10)
等式 (11) Equation (11)
這裡,d是視頻樣本的位元度。Here, d is the bit degree of the video sample.
為了使BIO的記憶體訪問與常規雙向預測運動補償相同,計算當前塊內位置的所有預測和梯度值,圖9A示出了塊900外部的訪問位置示例。如圖9A所示,在等式(9)中,以預測區塊邊界上當前預測點為中心的(2M+1)x(2M+1)的方形視窗Ω需要訪問區塊外的位置。在JEM中,塊外的值設置為等於塊內最近的可用值。例如,這可以實現為填充區域901,如圖9B所示。In order to make the memory access of the BIO the same as the conventional bidirectional predictive motion compensation, calculate all the prediction and gradient values of the current block position 9A shows an example of the access location outside the
使用BIO,可以對每個樣本的運動場進行細化。為了降低計算複雜度,在JEM中採用了基於塊設計的BIO。運動細化可以基於4x4塊計算。在基於塊的BIO中,可以對4x4塊中所有樣本的等式(9)中的sn 值進行聚合,然後將sn 的聚合值用於4x4塊的推導的BIO運動向量偏移。更具體地說,下面的等式可以用於基於塊的BIO推導:Using BIO, the sports field of each sample can be refined. In order to reduce the computational complexity, BIO based on block design is adopted in JEM. Motion refinement can be calculated based on 4x4 blocks. In block-based BIO, the sn values in equation (9) of all samples in the 4x4 block can be aggregated, and then the aggregated value of sn can be used for the deduced BIO motion vector offset of the 4x4 block. More specifically, the following equation can be used for block-based BIO derivation:
等式(12) Equation (12)
這裡,bk 表示屬於預測塊的第k個 4x4塊的樣本組。等式(7)和等式(8)中的sn 替換為((sn,bk) >> 4 )以推導相關聯的運動向量偏移。Here, b k represents the sample group of the k-th 4x4 block belonging to the prediction block. Equation (7) and Equation (8) is replaced by s n ((sn, bk) >> 4 ) to derive motion vectors associated with the offset.
在某些情況下,由於雜訊或不規則運動,BIO的MV團(regiment)可能不可靠。因此,在BIO中,MV團的大小被固定到一個閾值。該閾值是基於當前圖片的參考圖片是否全部來自一個方向確定的。例如,如果當前圖片的所有參考圖片都來自一個方向,則該閾值的值被設置為,否則其被設置為。In some cases, due to noise or irregular movement, BIO's MV group (regiment) may not be reliable. Therefore, in BIO, the size of the MV group is fixed to a threshold. The threshold is determined based on whether the reference pictures of the current picture all come from one direction. For example, if all the reference pictures of the current picture come from one direction, the value of the threshold is set to , Otherwise it is set to .
可以使用與HEVC運動補償處理一致的操作(例如,2D可分離有限脈衝響應(FIR))通過運動補償插值同時計算BIO的梯度。在一些實施例中,2D可分離FIR的輸入是與運動補償處理相同的參考幀,以及根據塊運動向量的分數部分的分數位置(fracX,fracY)。對於水平梯度,首先使用BIOfilterS對信號進行垂直內插,該BIOfilterS對應於具有去縮放標度位移d-8的分數位置fracY。然後在水平方向上應用梯度濾波器BIOfilterG,該BIOfilterG對應於具有去縮放標度位移18-d的分數位置fracX。對於垂直梯度,使用BIOfilterG垂直地應用梯度濾波器,該BIOfilterG對應於具有去縮放標度位移d-8的分數位置fracY。然後,然後在水平方向上使用BIOfilterS執行信號替換,該BIOfilterS對應於具有去縮放標度位移18-d的分數位置fracX。用於梯度計算BIOfilterG和信號替換BIOfilterS的插值濾波器的長度可以更短(例如,6-tap),以保持合理的複雜度。表2示出了可用在BIO中塊運動向量的不同分數位置的梯度計算的示例濾波器。表3示出了可用在BIO中預測信號生成的插值示例濾波器。An operation consistent with the HEVC motion compensation process (for example, 2D separable finite impulse response (FIR)) can be used to simultaneously calculate the BIO gradient through motion compensation interpolation. In some embodiments, the input of the 2D separable FIR is the same reference frame as the motion compensation process, and the fractional position (fracX, fracY) according to the fractional part of the block motion vector. For horizontal gradient First, the signal is first vertically interpolated using BIOfilterS, which corresponds to the fractional position fracY with a descaling scale displacement d-8. A gradient filter BIOfilterG is then applied in the horizontal direction, which corresponds to the fractional position fracX with a descaling scale shift of 18-d. For vertical gradient , The gradient filter is applied vertically using BIOfilterG, which corresponds to the fractional position fracY with a descaling scale displacement d-8. Then, the signal replacement is then performed in the horizontal direction using BIOfilterS, which corresponds to the fractional position fracX with a descaling scale displacement of 18-d. The length of the interpolation filter used for gradient calculation BIOfilterG and signal replacement BIOfilterS can be shorter (for example, 6-tap) to maintain a reasonable complexity. Table 2 shows example filters that can be used for gradient calculation of different fractional positions of block motion vectors in BIO. Table 3 shows interpolation example filters that can be used in BIO prediction signal generation.
表 2 BIO中用於梯度計算的示例濾波器
表 3 BIO中用於預測信號生成的示例插值濾波器
在JEM中,當兩個預測來自不同的參考圖片時,BIO可應用於所有的雙向預測塊。當為CU啟用局部照明補償(LIC)時,可以禁用BIO。In JEM, when two predictions are from different reference pictures, BIO can be applied to all bidirectional prediction blocks. When Local Illumination Compensation (LIC) is enabled for the CU, BIO can be disabled.
在一些實施例中,在正常MC處理之後將OBMC應用於塊。為了降低計算複雜度,在OBMC處理期間可能不應用BIO。這意味著在OBMC處理期間,當使用自己的MV時,將BIO應用於塊的MC處理,而當使用相鄰塊的MV時,BIO不應用於塊的MC處理。In some embodiments, OBMC is applied to the block after normal MC processing. To reduce computational complexity, BIO may not be applied during OBMC processing. This means that during OBMC processing, when using its own MV, BIO is applied to the MC processing of the block, and when using the MV of the adjacent block, BIO is not applied to the MC processing of the block.
1.5 幀播放速率上轉換(FRUC)的示例1.5 Example of frame rate up conversion (FRUC)
對於CU,當其Merge標誌為真時,可以對FRUC標誌發信令。當FRUC標誌為假時,可以對Merge索引發信令並且使用常規Merge模式。當FRUC標誌為真時,可以對另一個FRUC模式標誌發信令來指示將使用哪種方法(例如,雙邊匹配或範本匹配)來導出該塊的運動信息。For the CU, when its Merge flag is true, it can signal the FRUC flag. When the FRUC flag is false, the Merge index can be signaled and the conventional Merge mode can be used. When the FRUC flag is true, another FRUC mode flag can be signaled to indicate which method (eg, bilateral matching or template matching) will be used to derive the motion information for the block.
在編碼器端,基於對正常Merge候選所做的RD成本選擇決定是否對CU使用FRUC Merge模式。例如,通過使用RD成本選擇來檢查CU的多個匹配模式(例如,雙邊匹配和範本匹配)。導致最低成本的模式進一步與其它CU模式相比較。如果FRUC匹配模式是最有效的模式,那麼對於CU,FRUC標誌設置為真,並且使用相關的匹配模式。On the encoder side, it is decided whether to use the FRUC Merge mode for the CU based on the RD cost selection made for the normal Merge candidate. For example, multiple matching patterns of CUs are checked by using RD cost selection (for example, bilateral matching and template matching). The mode leading to the lowest cost is further compared with other CU modes. If the FRUC matching mode is the most effective mode, then for the CU, the FRUC flag is set to true, and the relevant matching mode is used.
通常,FRUC Merge模式中的運動推導處理有兩個步驟:首先執行CU級運動搜索,然後執行子CU級運動細化。在CU級,基於雙邊匹配或範本匹配,導出整個CU的初始運動向量。首先,生成MV候選列表,並且選擇導致最低匹配成本的候選作為進一步CU級細化的起點。然後在起始點附近執行基於雙邊匹配或範本匹配的局部搜索。將最小匹配成本的MV結果作為整個CU的MV值。隨後,以導出的CU運動向量為起點,進一步在子CU級細化運動信息。In general, the motion derivation process in the FRUC Merge mode has two steps: first perform CU-level motion search, and then perform sub-CU-level motion refinement. At the CU level, based on bilateral matching or template matching, the initial motion vector of the entire CU is derived. First, a MV candidate list is generated, and the candidate that results in the lowest matching cost is selected as the starting point for further CU-level refinement. Then local search based on bilateral matching or template matching is performed near the starting point. The MV result of the minimum matching cost is taken as the MV value of the entire CU. Subsequently, starting from the derived CU motion vector, the motion information is further refined at the sub-CU level.
例如,對於W×H CU運動信息推導執行以下推導過程。在第一階段,推導出了整個W×H CU的MV。在第二階段,該CU進一步被分成M×M子CU。M的值按照(16)計算,D是預先定義的劃分深度,在JEM中默認設置為3。然後導出每個子CU的MV值。For example, for the W×H CU motion information derivation, the following derivation process is performed. In the first stage, the MV of the entire W×H CU is derived. In the second stage, the CU is further divided into M×M sub-CUs. The value of M is calculated according to (16), D is the pre-defined division depth, and is set to 3 by default in JEM. Then derive the MV value of each sub-CU.
等式(13) Equation (13)
圖10示出在幀播放速率上轉換(FRUC)法中使用的雙邊匹配的示例。通過在兩張不同的參考圖片(1010,1011)中沿當前CU(1000)的運動軌跡找到兩個塊之間最接近的匹配,使用雙邊匹配來獲得當前CU的運動信息。在連續運動軌跡假設下,指向兩個參考塊的運動向量MV0(1001)和MV1(1002)與當前圖片和兩個參考圖片之間的時間距離(例如,TD0(1003)和TD1(1004))成正比。在一些實施例中,當當前圖片1000暫時位於兩個參考圖片(1010,1011)之間並且當前圖片到兩個參考圖片的時間距離相同時,雙邊匹配成為基於鏡像的雙向MV。FIG. 10 shows an example of bilateral matching used in the Frame Play Rate Up Conversion (FRUC) method. By finding the closest match between two blocks along the motion trajectory of the current CU (1000) in two different reference pictures (1010, 1011), bilateral motion matching is used to obtain the motion information of the current CU. Under the assumption of continuous motion trajectory, the time distance between the motion vectors MV0 (1001) and MV1 (1002) pointing to the two reference blocks and the current picture and the two reference pictures (for example, TD0 (1003) and TD1 (1004)) Proportional to. In some embodiments, when the
圖11示出在幀播放速率上轉換FRUC方法中使用的範本匹配的示例。範本匹配可以用於通過找到當前圖片中的範本(例如,當前CU的頂部和/或左側相鄰塊)與參考圖片1110中的塊(例如,與範本大小相同)之間的最接近匹配來獲取當前CU 1100的運動信息。除了上述的FRUC Merge模式外,範本匹配也可以應用於AMVP模式。在JEM和HEVC中,AMVP都具有兩個候選。通過範本匹配方法,可以導出新的候選。如果通過範本匹配新導出的候選與第一個現有的AMVP候選不同,則將其插入AMVP候選列表的最開始處,並且然後將列表大小設置為2(例如,通過刪除第二個現有AMVP候選)。當應用于AMVP模式時,僅應用CU級搜索。FIG. 11 shows an example of template matching used in the FRUC method for up-conversion of the frame playback rate. Template matching can be used to find the closest match between the template in the current picture (for example, the top and/or left adjacent blocks of the current CU) and the block in the reference picture 1110 (for example, the same size as the template)
CU級設置的MV候選可以包括以下:(1)原始AMVP候選,如果當前CU處於AMVP模式,(2)所有Merge候選,(3)插值MV場(稍後描述)中的數個MV,以及頂部和左側相鄰運動向量。The MV candidates set at the CU level may include the following: (1) the original AMVP candidate, if the current CU is in AMVP mode, (2) all Merge candidates, (3) several MVs in the interpolated MV field (described later), and the top And the left adjacent motion vector.
當使用雙邊匹配時,Merge候選的每個有效MV可以用作輸入,以生成假設為雙邊匹配的MV對。例如,Merge候選在參考列表A處的一個有效MV為(MVa,refa ) 。然後在另一個參考列表B中找到其配對的雙向MV的參考圖片refb ,使得refa 和refb 在時間上位於當前圖片的不同側。如果參考列表B中的參考refb 不可用,則將參考refb 確定為與參考refa 不同的參考,並且其到當前圖片的時間距離是清單B中的最小距離。確定參考refb 後,通過基於當前圖片和參考refa 、參考refb 之間的時間距離縮放MVa導出MVb。When bilateral matching is used, each valid MV of the Merge candidate can be used as an input to generate MV pairs that are assumed to be bilateral matches. For example, a valid MV of the Merge candidate at the reference list A is (MVa, ref a ) . Then find the reference picture ref b of its paired bidirectional MV in another reference list B, so that ref a and ref b are located on different sides of the current picture in time. If the reference ref b in the reference list B is not available, the reference ref b is determined to be a different reference from the reference ref a , and its temporal distance to the current picture is the minimum distance in list B. After the reference ref b is determined, the MVb is derived by scaling the MVa based on the time distance between the current picture and the reference ref a and the reference ref b .
在一些實現中,還可以將來自插值MV場中的四個MV添加到CU級候選列表中。更具體地,添加當前CU的位置(0,0),(W/2,0),(0,H/2)和(W/2,H/2)處插值的MV。當在AMVP模式下應用FRUC時,原始的AMVP候選也添加到CU級的MV候選集。在一些實現中,在CU級,可以將AMVP CU的15個 MV和Merge CU的13個 MV添加到候選列表中。In some implementations, four MVs from the interpolated MV field can also be added to the CU-level candidate list. More specifically, the interpolated MV at the current CU position (0, 0), (W/2, 0), (0, H/2), and (W/2, H/2) is added. When applying FRUC in AMVP mode, the original AMVP candidate is also added to the CU-level MV candidate set. In some implementations, at the CU level, 15 MVs of AMVP CU and 13 MVs of Merge CU can be added to the candidate list.
在子CU級設置的MV候選包括從CU級搜索確定的MV,(2)頂部、左側、左上方和右上方相鄰的MV,(3)參考圖片中並置的MV的縮放版本,(4)一個或多個ATMVP候選(例如,最多四個)和(5)一個或多個STMVP候選(例如,最多四個)。來自參考圖片的縮放MV如下導出。兩個清單中的參考圖片都被遍歷。參考圖片中子CU的並置位置處的MV被縮放為起始CU級MV的參考。ATMVP和STMVP候選可以是前四個。在子CU級,一個或多個MV(例如,最多17個)被添加到候選列表中。The MV candidates set at the sub-CU level include the MVs determined from the CU level search, (2) the top, left, top left, and top right adjacent MVs, (3) the scaled version of the MV juxtaposed in the reference picture, (4) one or Multiple ATMVP candidates (for example, up to four) and (5) one or more STMVP candidates (for example, up to four). The zoomed MV from the reference picture is derived as follows. The reference pictures in both lists are traversed. The MV at the collocated position of the sub-CU in the reference picture is scaled to the reference of the starting CU-level MV. ATMVP and STMVP candidates can be the first four. At the sub-CU level, one or more MVs (for example, up to 17) are added to the candidate list.
插值MV場的生成。在對幀進行編碼之前,基於單向ME生成整個圖片的內插運動場。然後,該運動場可以隨後用作CU級或子CU級的MV候選。Generation of interpolated MV field. Before encoding the frame, an interpolated motion field for the entire picture is generated based on the unidirectional ME. The sports field can then be used as a MV level or sub-CU level MV candidate.
在一些實施例中,兩個參考清單中每個參考圖片的運動場在4×4的塊級別上被遍歷。圖12示出了在FRUC方法中的單邊運動估計(ME)1200的示例。對於每個4×4塊,如果與塊相關聯的運動通過當前圖片中的4×4塊,並且該塊沒有被分配任何內插運動,則根據時間距離TD0和TD1將參考塊的運動縮放到當前圖片(與HEVC中TMVP的MV縮放相同方式),並且在當前幀中將該縮放運動指定給該塊。如果沒有縮放的MV指定給4×4塊,則在插值運動場中將塊的運動標記為不可用。In some embodiments, the motion field of each reference picture in the two reference lists is traversed on a 4x4 block level. FIG. 12 shows an example of unilateral motion estimation (ME) 1200 in the FRUC method. For each 4×4 block, if the motion associated with the block passes through the 4×4 block in the current picture, and the block is not assigned any interpolated motion, the motion of the reference block is scaled to The current picture (in the same way as the MV scaling of TMVP in HEVC), and the scaling motion is assigned to the block in the current frame. If an MV without scaling is assigned to a 4×4 block, the motion of the block is marked as unavailable in the interpolation motion field.
插值和匹配成本。當運動向量指向分數採樣位置時,需要運動補償插值。為了降低複雜度,對雙邊匹配和範本匹配都使用雙線性插值而不是常規的8階HEVC插值。Interpolation and matching costs. When the motion vector points to the fractional sampling position, motion compensation interpolation is required. In order to reduce complexity, bilinear interpolation and template matching are used instead of the conventional 8-order HEVC interpolation.
匹配成本的計算在不同的步驟處有點不同。當從CU級的候選集中選擇候選時,匹配成本可以是雙邊匹配或範本匹配的絕對和差(SAD)。在確定起始MV後,雙邊匹配在子CU級搜索的匹配成本C如下計算:The calculation of matching costs is a bit different at different steps. When selecting a candidate from the CU-level candidate set, the matching cost may be the absolute sum difference (SAD) of bilateral matching or template matching. After the initial MV is determined, the matching cost C of the bilateral search at the sub-CU level is calculated as follows:
等式(14) Equation (14)
這裡,w是權重係數。在一些實施例中,w可以被經驗地設置為4。MV和MVs分別指示當前MV和起始MV。仍然可以將SAD用作模式匹配在子CU級搜索的匹配成本。Here, w is a weight coefficient. In some embodiments, w may be set to 4 empirically. MV and MVs indicate the current MV and the starting MV, respectively. SAD can still be used as the matching cost of pattern matching searching at the sub-CU level.
在FRUC模式下,MV通過僅使用亮度(亮度)樣本導出。導出的運動將用於亮度(亮度)和色度(色度),用於MC幀間預測。確定MV後,對亮度使用8階(8-taps)插值濾波器並且對色度使用4階(4-taps)插值濾波器執行最終MC。In FRUC mode, the MV is derived by using only the luminance (brightness) samples. The exported motion will be used for luma (luminance) and chroma (chroma) for MC inter prediction. After the MV is determined, an 8-order (8-taps) interpolation filter is used for luma and a 4-order (4-taps) interpolation filter is used for chroma.
MV細化是基於模式的MV搜索,以雙邊匹配成本或範本匹配成本為標準。在JEM中,支援兩種搜索模式—無限制中心偏置菱形搜索(UCBDS)和自我調整交叉搜索,分別在CU級別和子CU級別進行MV細化。對於CU級和子CU級的MV細化,都在四分之一亮度樣本MV精度下直接搜索MV,接著是八分之一亮度樣本MV細化。將CU和子CU步驟的MV細化的搜索範圍設置為8個亮度樣本。MV refinement is a pattern-based MV search, with the cost of bilateral matching or template matching as the standard. In JEM, two search modes are supported—unlimited center offset diamond search (UCBDS) and self-adjusting cross search, and MV refinement is performed at the CU level and the sub-CU level, respectively. For the MV refinement at the CU level and the sub-CU level, both search the MV directly with the accuracy of the 1/4 brightness sample MV, followed by the MV refinement of the one-eighth brightness sample. The search range of MV refinement of CU and sub-CU steps is set to 8 luminance samples.
在雙邊匹配Merge模式下,應用雙向預測,因為CU的運動信息是基於在兩個不同的參考圖片中沿著當前CU運動軌跡的兩個塊之間的最近匹配得出的。在範本匹配Merge模式下,編碼器可以從清單0的單向預測、列表1的單向預測或者雙向預測中為CU做出選擇。該選擇可以基於如下的範本匹配成本:
如果 costBi>=factor*min(cost0,cost1)
則使用雙向預測;
否則,如果 cost0>=cost1
則使用列表0中的單向預測;
否則,
使用列表1中的單向預測;In the bilateral matching Merge mode, bidirectional prediction is applied because the CU motion information is based on the closest match between two blocks along the current CU motion trajectory in two different reference pictures. In the template matching Merge mode, the encoder can choose from one-way prediction in
這裡,cost0是清單0範本匹配的SAD,cost1是清單2範本匹配的SAD,並且costBi是雙向範本匹配的SAD。例如,當factor的值等於1.25時,意味著選擇過程朝雙向預測偏移。幀間預測方向選擇可應用於CU級範本匹配處理。Here, cost0 is the SAD matched by the template of
1.6 為色度分量中的MC導出的MV的示例1.6 Example of MV derived for MC in chroma component
在一個示例中,HEVC標準定義了如何從亮度分量中的MC使用的MV(稱為mv)導出色度分量中的MC使用的MV(稱為mvC)。一般來說,mvC是以mv乘以一個係數來計算的,這取決於顏色格式,如4:2:0或4:2:2。In one example, the HEVC standard defines how to derive the MV used by the MC in the chroma component (called mvC) from the MV used by the MC in the luma component (called mv). In general, mvC is calculated by multiplying mv by a coefficient, depending on the color format, such as 4:2:0 or 4:2:2.
2. 基於子塊的實現的現有的方法的示例2. Examples of existing methods based on sub-block implementation
在一些現有的實現中,使用了基於子塊的預測,因為它通常比整塊預測更準確,因為它可以用自己的MV將塊劃分成更多的部分。In some existing implementations, subblock-based prediction is used because it is usually more accurate than whole-block prediction because it can use its own MV to divide the block into more parts.
然而,這種劃分可能會導致沿其邊界的兩個相鄰子塊之間的不連續性。這種不連續性可能會在殘差信號中引入一些不需要的高頻能量,其可以降低後續變換編碼的性能。However, this division may cause discontinuity between two adjacent sub-blocks along its boundary. This discontinuity may introduce some unwanted high-frequency energy into the residual signal, which may reduce the performance of subsequent transform coding.
3. 視頻編碼中基於子塊的預測的示例方法3. Example method of subblock-based prediction in video coding
下面為各種實現描述的示例說明了為基於子塊的預測使用邊界增強,以提高視頻編碼效率,並增強現有和未來的視頻編碼標準。在不應解釋為限制性的以下示例中,用於分量的當前塊的寬度和高度分別記為W和H,分配給分量的子塊的寬度和高度分別記為w和h。The examples described below for various implementations illustrate the use of boundary enhancement for sub-block-based prediction to improve video coding efficiency and enhance existing and future video coding standards. In the following examples, which should not be interpreted as limiting, the width and height of the current block for the component are denoted as W and H, respectively, and the width and height of the sub-blocks allocated to the component are denoted as w and h, respectively.
例1.通過基於子塊的預測(稱為第一預測)預測沿著子塊邊界的樣本;也通過另一個幀間預測(稱為第二預測)對其進行預測。第一預測和第二預測被共同使用以推導沿著邊界的樣本的最終預測。不沿邊界的樣本的最終預測可能不會改變,例如,等於第一預測。Example 1. Predict samples along subblock boundaries by subblock-based prediction (called first prediction); also predict them by another inter prediction (called second prediction). The first prediction and the second prediction are used together to derive the final prediction of samples along the boundary. The final prediction of samples that do not follow the boundary may not change, for example, equal to the first prediction.
(a)在一個示例中,邊界僅包括內部邊界,例如,子塊之間的邊界,如圖13A中的示例所示。陰影區域覆蓋沿著邊界的樣本。(A) In one example, the boundary includes only the inner boundary, for example, the boundary between sub-blocks, as shown in the example in FIG. 13A. The shaded area covers samples along the border.
(b)在一個示例中,邊界包括內部邊界和外部邊界,例如子塊和其它已經編碼或解碼的塊之間的邊界,如圖13B中的示例所示。陰影區域覆蓋沿著邊界的樣本。(B) In one example, the boundary includes an inner boundary and an outer boundary, for example, a boundary between a sub-block and other blocks that have been encoded or decoded, as shown in the example in FIG. 13B. The shaded area covers samples along the border.
例2.在一個示例中,要增強的沿著邊界的樣本的範圍可以是預定義的或適應性的。例如,沿垂直邊界可以有N列樣本、沿水平邊界可以有M行樣本要被增強。圖14A和14B顯示了M=N=2的預測樣本的示例。Example 2. In one example, the range of samples along the boundary to be enhanced may be predefined or adaptive. For example, there may be N columns of samples along the vertical boundary and M rows of samples along the horizontal boundary to be enhanced. 14A and 14B show examples of prediction samples with M=N=2.
(a)在一個示例中,M和/或N取決於子塊的寬度和高度。例如,如果子塊的形狀為4×4,則M=N=2;如果子塊的形狀為8×8,則M=N=4。(A) In one example, M and/or N depend on the width and height of the sub-block. For example, if the shape of the sub-block is 4×4, then M=N=2; if the shape of the sub-block is 8×8, then M=N=4.
(b)在一個示例中,M和/或N取決於顏色分量。例如,對於亮度分量,M=N=2;對於色度分量,M=N=1。(B) In one example, M and/or N depend on the color component. For example, for the luma component, M=N=2; for the chroma component, M=N=1.
(c)在一個示例中,M和/或N取決於邊界的位置。例如,如果邊界在子塊和編碼/解碼的相鄰塊之間,則M=N=2;如果邊界在兩個子塊之間,則M=N=1。(C) In one example, M and/or N depend on the position of the boundary. For example, if the boundary is between the sub-block and the adjacent block for encoding/decoding, then M=N=2; if the boundary is between two sub-blocks, then M=N=1.
(d)在一個示例中,M和/或N可能取決於子塊的位置。或者,它可能取決於有多少相鄰塊被編碼/解碼和/或有多少相鄰塊的預測塊可用。(D) In one example, M and/or N may depend on the position of the sub-block. Or, it may depend on how many neighboring blocks are encoded/decoded and/or how many neighboring block prediction blocks are available.
(e)在一個示例中,M和/或N由編碼器向解碼器發信令。例如,M和N可以在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)或編碼單元(CU)中發信令。(E) In one example, M and/or N is signaled by the encoder to the decoder. For example, M and N can be signaled in a video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, coding tree unit (CTU), or coding unit (CU).
例3.在一個示例中,第一預測可以通過基於子塊的預測的常規方法得到,而第二預測是用生成第一預測的相同模型但使用不同的位置生成的。例如,第一預測和第二預測都是由等式(1)生成的,但具有不同的(x, y)。Example 3. In one example, the first prediction can be obtained by a conventional method based on sub-block prediction, and the second prediction is generated using the same model that generated the first prediction but using different locations. For example, both the first prediction and the second prediction are generated by equation (1), but have different (x, y).
(a)在一個示例中,如圖15A所示,第一預測是用JEM中的仿射預測方法生成的,其中每個子塊的MV是通過在子塊的中心設置等式(1)中的(x, y)獲得的。也就是說,假設子塊的左上角點在(i×w, j×h),那麼該子塊(第(i, j)個子塊)的MV由等式(1)計算得出,其中(x,y)= (i×w+w/2, j×h+h/2)。然後第二預測可以生成為:(A) In an example, as shown in FIG. 15A, the first prediction is generated using the affine prediction method in JEM, where the MV of each sub-block is set by the equation (1) in the center of the sub-block (X, y). That is to say, assuming that the upper left corner of the sub-block is at (i×w, j×h), then the MV of the sub-block ((i, j)th sub-block) is calculated by equation (1), where ( x,y)= (i×w+w/2, j×h+h/2). Then the second prediction can be generated as:
(i)在如圖15B所示的垂直邊界。第二預測由MC使用覆蓋垂直邊界的輔助子塊生成。輔助子塊的尺寸(記為w’×h’)可以與原子塊尺寸相同(例如,w’=w且h’=h),或者兩個尺寸也可以不同。在圖15B的示例中(其中w’=w且h’=h),輔助子塊的左上角(在輔助子塊的第i行和第j列處)為(i×w+w/2, j×h),並且該輔助子塊的MV由等式(1)計算,其中(x, y)= (i×w+w, j×h+h/2)。(I) At the vertical boundary as shown in FIG. 15B. The second prediction is generated by the MC using auxiliary sub-blocks covering vertical boundaries. The size of the auxiliary sub-block (denoted as w’×h’) may be the same as the size of the atomic block (for example, w’=w and h’=h), or the two sizes may be different. In the example of FIG. 15B (where w'=w and h'=h), the upper left corner of the auxiliary sub-block (at the i-th row and j-th column of the auxiliary sub-block) is (i×w+w/2, j×h), and the MV of the auxiliary sub-block is calculated by equation (1), where (x, y)=(i×w+w, j×h+h/2).
(ii)在如圖15C所示的水平邊界。第二預測由MC使用覆蓋水平邊界的輔助子塊生成。輔助子塊的尺寸(記為w’×h’)可以與原始子塊的尺寸相同(即w’=w且h’=h),或者兩個尺寸也可以不同。在圖15C的示例中(其中w’=w且h’=h),輔助子塊的左上角為(i×w, j×h+h/2),並且該輔助子塊的MV由等式(1)計算得出,其中(x, y)= (i×w+w/2, j×h+h)。(Ii) At the horizontal boundary shown in Figure 15C. The second prediction is generated by the MC using auxiliary sub-blocks covering horizontal boundaries. The size of the auxiliary sub-block (denoted as w’×h’) may be the same as the size of the original sub-block (ie, w’=w and h’=h), or the two sizes may be different. In the example of FIG. 15C (where w'=w and h'=h), the upper left corner of the auxiliary sub-block is (i×w, j×h+h/2), and the MV of the auxiliary sub-block is determined by the equation (1) It is calculated that (x, y) = (i×w+w/2, j×h+h).
(iii)在如圖15D所示的垂直邊界和水平邊界的交叉點。第二預測由MC使用覆蓋垂直和水平邊界的輔助子塊生成。輔助子塊的尺寸(記為w’×h’)可以與原始子塊的尺寸相同(即w’=w且h’=h),或者兩種尺寸也可以不同。在圖15D的示例中其中w’=w且h’=h),輔助子塊的左上角為(i×w+w/2, j×h+h/2),並且該輔助子塊的MV由式(1)計算得出,其中(x, y)= (i×w+w, j×h+h)。(Iii) At the intersection of the vertical boundary and the horizontal boundary as shown in FIG. 15D. The second prediction is generated by the MC using auxiliary sub-blocks covering vertical and horizontal boundaries. The size of the auxiliary sub-block (denoted as w’×h’) may be the same as the size of the original sub-block (ie, w’=w and h’=h), or the two sizes may be different. In the example of FIG. 15D where w'=w and h'=h), the upper left corner of the auxiliary sub-block is (i×w+w/2, j×h+h/2), and the MV of the auxiliary sub-block Calculated by formula (1), where (x, y) = (i×w+w, j×h+h).
(iv)對於外部邊界,用於生成第二預測的運動信息可以與內部邊界相同的方式導出(可以在較小的塊尺寸上導出),如圖15A至圖15D所示。或者,為最近的內部水平/垂直邊界導出的第二運動信息可用于水平/垂直外部邊界。(Iv) For the outer boundary, the motion information used to generate the second prediction can be derived in the same way as the inner boundary (which can be derived on a smaller block size), as shown in FIGS. 15A to 15D. Alternatively, the second motion information derived for the nearest inner horizontal/vertical boundary can be used for the horizontal/vertical outer boundary.
(b)在一個示例中,如何生成第二預測取決於子塊的寬度和/或高度、和/或塊形狀、和/或塊尺寸和/或編碼模式資訊。(B) In one example, how to generate the second prediction depends on the width and/or height of the sub-block, and/or block shape, and/or block size, and/or coding mode information.
(c)在一個示例中,如何生成第二預測取決於顏色分量。(C) In one example, how to generate the second prediction depends on the color component.
(d)在一個示例中,如何生成第二預測取決於邊界的位置。(D) In one example, how to generate the second prediction depends on the position of the boundary.
(e)在一個示例中,第一預測和第二預測來自同一參考圖片。或者,第二預測和第一預測來自不同的參考圖片。(E) In one example, the first prediction and the second prediction are from the same reference picture. Or, the second prediction and the first prediction are from different reference pictures.
例4.在一個示例中,沿著邊界的樣本的最終預測計算為第一預測信號和第二預測信號的函數。Example 4. In one example, the final prediction of samples along the boundary is calculated as a function of the first prediction signal and the second prediction signal.
(a)在一個示例中,函數被定義為線性或非線性加權和。(A) In one example, the function is defined as a linear or nonlinear weighted sum.
(i)在一個示例中,Pf=(w1×P1+w2×P2 + off)/(w1+w2),其中Pf是最終預測;P1和P2分別是第一和第二預測;w1和w2是兩個加權值;off是取整偏移量,例如off=(w1+w2)/2。(I) In an example, Pf=(w1×P1+w2×P2 + off)/(w1+w2), where Pf is the final prediction; P1 and P2 are the first and second predictions respectively; w1 and w2 are Two weighted values; off is the rounding offset, for example, off=(w1+w2)/2.
(ii)在一個示例中,Pf=(w1×P1+w2×P2 + off)>>B,其中Pf是最終預測;P1和P2分別是第一和第二預測;w1和w2是兩個加權值,並且w1+w2 = 2B;off是取整偏移量,例如off=(w1+w2)/2。加權值(w1,w2)的一些示例:(1,1),(1,3),(3,1),(1,7),(7,1),(3,5),(5,3)等。(Ii) In an example, Pf=(w1×P1+w2×P2 + off)>>B, where Pf is the final prediction; P1 and P2 are the first and second predictions respectively; w1 and w2 are the two weights Value, and w1+w2 = 2B; off is the rounding offset, for example, off=(w1+w2)/2. Some examples of weighted values (w1, w2): (1,1), (1,3), (3,1), (1,7), (7,1), (3,5), (5, 3) Wait.
(b)在一個示例中,函數被定義為指數函數。(B) In one example, the function is defined as an exponential function.
(c)加權值或其它函數參數可能取決於以下一個或一些條件:(C) The weighted value or other function parameters may depend on one or some of the following conditions:
(i)W和H;(I) W and H;
(ii)w和h;(Ii) w and h;
(iii)w’和h’;(Iii) w’ and h’;
(iv)沿邊界的樣本的位置;(Iv) The location of samples along the border;
(v)邊界的位置;(V) The location of the border;
(vi)顏色分量;(Vi) Color components;
(vii)編碼資訊,包括MV、QP、幀間預測模式、幀間預測方向、Merge模式或AMVP模式等;(Vii) Encoding information, including MV, QP, inter prediction mode, inter prediction direction, Merge mode or AMVP mode, etc.;
(viii)到邊界的距離;和/或(Viii) distance to the border; and/or
(ix)邊界連續性,例如梯度值(Ix) Boundary continuity, such as gradient value
例5.在一個示例中,除了第二預測外,可能還有為邊界增強生成的第三、第四或第k個預測。Example 5. In one example, in addition to the second prediction, there may be a third, fourth, or kth prediction generated for boundary enhancement.
(a)在一個示例中,兩個或多個邊界增強操作可以級聯進行。先前增強操作的最終預測輸出作為第一預測輸入到下面的增強操作中。(A) In one example, two or more boundary enhancement operations may be performed in cascade. The final prediction output of the previous enhancement operation is input as the first prediction into the following enhancement operation.
(i)在一個示例中,首先增強垂直邊界,如圖15B所示,最終預測Pf0作為輸出。然後增強水平邊界,如圖15C所示,其中Pf0作為第一預測,並且最終預測Pf1作為輸出。Pf1被視為導出殘差的真正最終預測。(I) In one example, the vertical boundary is first enhanced, as shown in FIG. 15B, and finally Pf0 is predicted as an output. The horizontal boundary is then enhanced, as shown in FIG. 15C, where Pf0 is used as the first prediction, and Pf1 is finally predicted as the output. Pf1 is regarded as the true final prediction to derive the residual.
(ii)在一個示例中,首先增強水平邊界,如圖15C所示,最終預測Pf0作為輸出。然後,以Pf0作為第一預測、最終預測Pf1作為輸出增強垂直邊界,如圖15B所示。Pf1被視為導出殘差的真正最終預測。(Ii) In one example, the horizontal boundary is first enhanced, as shown in FIG. 15C, and finally Pf0 is predicted as an output. Then, use Pf0 as the first prediction and final prediction Pf1 as the output enhancement vertical boundary, as shown in FIG. 15B. Pf1 is regarded as the true final prediction to derive the residual.
(iii)可選地,另外,不同子塊的垂直(或水平)邊界增強順序可定義為光柵掃描順序、水波形狀或其它。(Iii) Alternatively, in addition, the vertical (or horizontal) boundary enhancement order of different sub-blocks may be defined as raster scan order, water wave shape, or others.
(b)在一個示例中,兩個或多個邊界增強操作可以以獨立方式進行。第一預測記為P(0),第二到第K預測記為P(1)~P(K-1)。P(0)~P(K-1)被共同使用以導出沿著邊界的樣本的最終預測。(B) In one example, two or more boundary enhancement operations can be performed in an independent manner. The first prediction is recorded as P(0), and the second to Kth predictions are recorded as P(1)~P(K-1). P(0)~P(K-1) are used together to derive the final prediction of samples along the boundary.
(i)在一個示例中,Pf=,其中w(r)是加權值,off是取整偏移量,例如,。(I) In an example, Pf= , Where w(r) is the weighted value and off is the rounding offset, for example, .
(ii)在一個示例中,,其中w(r)是加權值,,並且off是取整偏移量,例如,。(Ii) In an example, , Where w(r) is the weighted value, , And off is the rounding offset, for example, .
例6.在一個示例中,編碼器向解碼器對是否應用邊界增強方法以及如何生成第二預測發信令。例如,可以在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)、編碼樹塊(CTB)、編碼單元(CU)或預測單元(PU)、覆蓋多個CTU/CTB/CU/PU的區域中對所述選擇發信令。Example 6. In one example, the encoder signals to the decoder whether to apply the boundary enhancement method and how to generate the second prediction. For example, the video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, coding tree unit (CTU), coding tree block (CTB), coding unit (CU) or The prediction unit (PU) signals the selection in an area covering multiple CTU/CTB/CU/PU.
例7.在一個示例中,公開技術的實施例可以與交織預測方法一起實施。例如,在特定的劃分模式下,對每個基於子塊的預測執行邊界增強。此外,不同的劃分模式的邊界可能不同。Example 7. In one example, embodiments of the disclosed technology may be implemented with interleaving prediction methods. For example, in a specific division mode, boundary enhancement is performed for each sub-block based prediction. In addition, the boundaries of different division modes may be different.
例8.提出的方法可應用於某些顏色分量。Example 8. The proposed method can be applied to certain color components.
(a)在一個示例中,只有亮度塊可以啟用提出的方法。(A) In one example, only the brightness block can enable the proposed method.
(b)提出的方法可應用於某些塊尺寸/形狀和/或某些子塊尺寸。(B) The proposed method can be applied to certain block sizes/shapes and/or certain sub-block sizes.
(c)提出的方法可應用於某些編碼工具,諸如ATMVP和/或仿射。(C) The proposed method can be applied to some coding tools, such as ATMVP and/or affine.
上述示例可併入下述方法的上下文中,例如方法1600,其可在視頻解碼器和/或視訊轉碼器上實施。The above example can be incorporated in the context of the following method, for
圖16示出了視頻編碼的示例方法的流程圖。方法1600包括在步驟1610中,將視頻塊分割成多個子塊。16 shows a flowchart of an example method of video encoding.
方法1600包括在步驟1620中,基於視頻塊中多個樣本的基於子塊的預測形成第一候選預測。
方法1600包括在步驟1630中,基於子塊邊界區域中多個樣本的幀間預測形成第二預測候選。在一些實施例中,第一和第二預測候選使用相同的預測模型,其中第一預測候選基於多個樣本的第一子集,第二預測候選基於多個樣本的與第一子集不同的第二子集。The
在一些實施例中,子塊邊界區域是視頻資料塊的內部邊界,並且其中子塊邊界區域包括來自多個子塊的相鄰子塊的預測樣本,如圖13A的上下文中所述。在其它實施例中,子塊邊界區域是視頻資料塊的外部邊界,並且其中邊界樣本包括來自相鄰視頻資料塊的重建樣本,如圖13B的上下文中所述。In some embodiments, the sub-block boundary area is the inner boundary of the video data block, and wherein the sub-block boundary area includes prediction samples from neighboring sub-blocks of multiple sub-blocks, as described in the context of FIG. 13A. In other embodiments, the sub-block boundary area is the outer boundary of the video data block, and wherein the boundary samples include reconstructed samples from adjacent video data blocks, as described in the context of FIG. 13B.
在一些實施例中,如例2的上下文所述,子塊邊界區域中的多個樣本包括沿垂直邊界的N列樣本和沿水平邊界的M行樣本。例如,M或N可以基於多個子塊的子塊的維度(dimension)。例如,M或N可以基於多個子塊的子塊的分量類型(例如,亮度分量或色度分量)。例如,M或N可以基於子塊邊界區域相對於視頻塊的位置。例如,M或N可以基於多個子塊的子塊的位置。在一些實施例中,在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)或編碼單元(CU)中對M或N發信令。In some embodiments, as described in the context of Example 2, the plurality of samples in the sub-block boundary area includes N column samples along the vertical boundary and M row samples along the horizontal boundary. For example, M or N may be based on the dimension of sub-blocks of multiple sub-blocks. For example, M or N may be based on the component type (eg, luma component or chroma component) of the sub-blocks of the plurality of sub-blocks. For example, M or N may be based on the position of the sub-block boundary area relative to the video block. For example, M or N may be based on the positions of sub-blocks of multiple sub-blocks. In some embodiments, M or N is selected in the video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, coding tree unit (CTU) or coding unit (CU) Signaling.
在一些實施例中,如例3上下文中所述,第二預測候選可以基於多個子塊的子塊的維度或視頻塊的維度,或多個子塊的子塊的色度分量。In some embodiments, as described in the context of Example 3, the second prediction candidate may be based on the dimensions of the sub-blocks of the plurality of sub-blocks or the dimensions of the video block, or the chroma components of the sub-blocks of the plurality of sub-blocks.
在一些實施例中,基於子塊的預測與幀間預測相同。在其它實施例中,第一和第二預測候選基於相同的參考圖片。在又一其它實施例中,第一預測候選基於第一參考圖片,並且其中第二預測候選基於與第一參考圖片不同的第二參考圖片。In some embodiments, sub-block based prediction is the same as inter prediction. In other embodiments, the first and second prediction candidates are based on the same reference picture. In yet other embodiments, the first prediction candidate is based on a first reference picture, and wherein the second prediction candidate is based on a second reference picture that is different from the first reference picture.
方法1600包括在步驟1640中將最終預測候選形成為子塊邊界區域中多個樣本的第一預測候選和第二預測候選的函數。在一些實施例中,如例4上下文中所述,最終預測候選(Pf)可以是第一預測候選(P1)和第二預測候選(P2)的加權和。在一個示例中,Pf = (w1×P1+w2×P2+offset)/(w1+w2),在另一個示例中,Pf = (w1×P1+w2×P2+offset)>>B,其中w1和w2是加權值,其中offset = (w1+w2)/2是取整偏移量,並且其中w1+w2=2B。在一些實施例中,最終預測候選與不在子塊邊界區域中的多個樣本的第一預測候選相同。The
在一些實施例中,權重值基於多個子塊的子塊的維度、視頻塊的維度、子塊的色度分量、視頻塊的一個或多個屬性或子塊邊界區域的位置。例如,一個或多個屬性包括運動向量、量化參數(QP)、幀間預測模式、幀間預測方向、Merge模式或高級運動向量預測(AMVP)模式。In some embodiments, the weight value is based on the dimensions of the sub-blocks of the plurality of sub-blocks, the dimensions of the video block, the chroma components of the sub-blocks, one or more attributes of the video block, or the location of the sub-block boundary region. For example, one or more attributes include motion vector, quantization parameter (QP), inter prediction mode, inter prediction direction, Merge mode, or advanced motion vector prediction (AMVP) mode.
方法1600包括在步驟1650中,使用最終預測候選處理視頻塊。
如例5上下文中所述,方法1600可進一步包括基於一個或多個附加預測候選進一步形成最終預測候選,一個或多個附加預測候選的每個預測候選基於子塊邊界區域中多個樣本的預測。在一些實施例中,分量預測候選的類型可以在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)或編碼單元(CU)中發信令。As described in the context of Example 5,
4. 公開技術的示例實現4. Example implementation of open technology
圖17是圖示可以用於實現本公開技術的各個部分的電腦系統或其它控制設備1700的結構的示例的示意圖,包括(但不限於)方法1600。在圖17中,電腦系統1700包括通過網路1725連接的一個或多個處理器1705和記憶體1710。網路1725可以表示由適當的橋、介面卡或控制器連接的任何一條或多條單獨的物理匯流排、點對點連接或兩者。因此,網路1725可以包括例如系統匯流排、周邊元件連接(PCI)匯流排、超傳輸或工業標準架構(ISA)匯流排、小型電腦系統介面(SCSI)匯流排、通用序列匯流排(USB)、IIC(I2C)匯流排或電氣與電子工程師協會(IEEE)標準674匯流排(有時被稱為「火線」)。17 is a schematic diagram illustrating an example of a structure of a computer system or
處理器1705可以包括中央處理器(CPU),來控制例如主機的整體操作。在一些實施例中,處理器1705通過執行儲存在記憶體1710中的軟體或韌體來實現這一點。處理器1705可以是或可以包括一個或多個可程式設計通用或專用微處理器、數位訊號處理器(DSP)、可程式設計控制器、專用積體電路(ASIC)、可程式設計邏輯器件(PLD)等,或這些器件的組合。The
記憶體1710可以是或包括電腦系統的主記憶體。記憶體1710表示任何適當形式的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體等,或這些設備的組合。在使用中,記憶體1710除其它外可包含一組機器指令,當處理器1705執行該指令時,使處理器1705執行操作以實現本公開技術的實施例。The
通過網路1725連接到處理器1705的還有(可選的)網路介面卡1715。網路介面卡1715為電腦系統1700提供與遠端設備(諸如儲存客戶機和/或其它儲存伺服器)通信的能力,並且可以是例如乙太網路介面卡或光纖通道介面卡。Also connected to the
圖18示出了可以用於實施本公開技術的各個部分的移動設備1800的示例實施例的框圖,包括(但不限於)方法1600。移動設備1800可以是筆記型電腦、智慧手機、平板電腦、攝像機或其它能夠處理視頻的設備。移動設備1800包括處理器或控制器1801來處理資料,以及與處理器1801通信的記憶體1802來儲存和/或緩衝資料。例如,處理器1801可以包括中央處理器(CPU)或微控制器單元(MCU)。在一些實現中,處理器1801可以包括現場可程式設計閘陣列(FPGA)。在一些實現中,移動設備1800包括或與圖形處理單元(GPU)、視頻處理單元(VPU)和/或無線通訊單元通信,以實現智慧手機設備的各種視覺和/或通信資料處理功能。例如,記憶體1802可以包括並儲存處理器可執行代碼,當處理器1801執行該代碼時,將移動設備1800配置為執行各種操作,例如接收資訊、命令和/或資料、處理資訊和資料,以及將處理過的資訊/資料發送或提供給另一個資料設備,諸如執行器或外部顯示器。為了支援移動設備1800的各種功能,記憶體1802可以儲存資訊和資料,諸如指令、軟體、值、圖像以及處理器1801處理或引用的其它資料。例如,可以使用各種類型的隨機存取記憶體(RAM)設備、唯讀記憶體(ROM)設備、快閃記憶體設備和其它合適的儲存介質來實現記憶體1802的儲存功能。在一些實現中,移動設備1800包括輸入/輸出(I/O)介面1803,來將處理器1801和/或記憶體1802與其它模組、單元或設備進行介面。例如,I/O介面1803可以與處理器1801和記憶體1802進行介面,以利用與典型資料通信標準相容的各種無線介面,例如,在雲中的一台或多台電腦和使用者設備之間。在一些實現中,移動設備1800可以通過I/O介面1803使用有線連接與其它設備進行介面。移動設備1800還可以與其它外部介面(例如資料記憶體)和/或可視或音訊顯示器1804連接,以檢索和傳輸可由處理器處理、由記憶體儲存或由顯示器1804或外部設備的輸出單元上顯示的資料和資訊。例如,顯示器1804可以根據所公開的技術顯示包括基於該塊是否是使用運動補償演算法編碼的而應用幀內塊複製的塊(CU、PU或TU)的視頻幀。。18 shows a block diagram of an example embodiment of a
在一些實施例中,可以實現如本文所述的基於子塊的預測的方法的視頻解碼器裝置可用於視頻解碼。該方法的各種特徵可以類似於上述方法1600。In some embodiments, a video decoder device that can implement a method of subblock-based prediction as described herein may be used for video decoding. Various features of this method may be similar to
在一些實施例中,可以使用實現在如圖17和圖18所述的硬體平臺上的解碼裝置來實現視頻解碼方法。In some embodiments, the video decoding method may be implemented using a decoding device implemented on the hardware platform described in FIGS. 17 and 18.
在本文文件中公開的各種實施例和技術可以在以下示例的列表中描述。Various embodiments and techniques disclosed in the documents herein can be described in the following list of examples.
1. 一種視頻處理方法(例如,圖19中描述的方法1900),包括:將視頻塊分割(步驟1902)成多個子塊;將最終預測候選形成(步驟1904)為第一預測候選和第二預測候選的函數,所述第一預測候選對應於子塊邊界區域中的多個樣本的基於子塊的預測,並且所述第二預測候選對應於所述子塊邊界區域中的所述多個樣本的幀間預測;以及使用所述最終預測候選處理(步驟1906)所述視頻塊。例如,處理可以包括在視訊轉碼器生成視頻塊的編碼表示,其中使用視頻塊的預測編碼來編碼視頻塊。例如,處理可以包括在視頻解碼器最終預測候選執行運動補償以生成視頻塊。1. A video processing method (for example, the
2. 根據示例1所述的方法,其中所述子塊邊界區域包括所述視頻塊的內部邊界。2. The method according to example 1, wherein the sub-block boundary area includes an inner boundary of the video block.
3. 根據示例1所述的方法,其中所述子塊邊界區域是所述視頻的外部邊界。3. The method according to example 1, wherein the sub-block boundary area is an outer boundary of the video.
4. 根據示例1所述的方法,其中所述子塊邊界區域中的所述多個樣本包括沿垂直邊界的N列樣本和沿水平邊界的M行樣本。4. The method of example 1, wherein the plurality of samples in the sub-block boundary area include N-column samples along a vertical boundary and M-row samples along a horizontal boundary.
5. 根據示例4所述的方法,其中M或N基於所述多個子塊的維度。5. The method according to example 4, wherein M or N is based on the dimensions of the plurality of sub-blocks.
6. 根據示例4所述的方法,其中M或N基於所述多個子塊的子塊的顏色分量的類型。6. The method according to example 4, wherein M or N is based on the type of color components of the sub-blocks of the plurality of sub-blocks.
7. 根據示例4所述的方法,其中M或N基於所述子塊邊界區域相對於所述視頻塊的位置。7. The method of example 4, wherein M or N is based on the position of the sub-block boundary area relative to the video block.
8. 根據示例4所述的方法,其中M或N基於所述多個子塊的子塊的位置。8. The method according to example 4, wherein M or N is based on the positions of sub-blocks of the plurality of sub-blocks.
9. 根據示例4所述的方法,其中M或N在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶(slice)標頭、編碼樹單元(CTU)或編碼單元(CU)中被發信令。9. The method according to example 4, wherein M or N is in a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, and a coding tree unit (CTU) Or be signaled in the coding unit (CU).
10. 根據示例1所述的方法,其中所述第一預測候選和所述第二預測候選使用相同的預測模型,其中所述第一預測候選基於所述多個樣本的第一子集,並且其中所述第二預測候選基於所述多個樣本的與所述第一子集不同的第二子集。10. The method of example 1, wherein the first prediction candidate and the second prediction candidate use the same prediction model, wherein the first prediction candidate is based on a first subset of the plurality of samples, and The second prediction candidate is based on a second subset of the plurality of samples that is different from the first subset.
11. 根據示例1或10所述的方法,其中所述第二預測候選基於所述多個子塊的子塊的維度或所述視頻塊的維度。11. The method according to example 1 or 10, wherein the second prediction candidate is based on a dimension of a sub-block of the plurality of sub-blocks or a dimension of the video block.
12. 根據示例1或10所述的方法,其中所述第二預測候選基於所述多個子塊的子塊的顏色分量。12. The method according to example 1 or 10, wherein the second prediction candidate is based on color components of sub-blocks of the plurality of sub-blocks.
13. 根據示例1所述的方法,其中所述基於子塊的預測與所述幀間預測相同。13. The method of example 1, wherein the sub-block based prediction is the same as the inter prediction.
14. 根據示例1所述的方法,其中所述第一預測候選和所述第二預測候選基於相同的參考圖片。14. The method of example 1, wherein the first prediction candidate and the second prediction candidate are based on the same reference picture.
15. 根據示例1所述的方法,其中所述第一預測候選基於第一參考圖片,並且其中所述第二預測候選基於不同於所述第一參考圖片的第二參考圖片。15. The method of example 1, wherein the first prediction candidate is based on a first reference picture, and wherein the second prediction candidate is based on a second reference picture different from the first reference picture.
16. 根據示例1所述的方法,其中所述最終預測候選(Pf)是所述第一預測候選(P1)和所述第二預測候選(P2)的加權和。16. The method according to example 1, wherein the final prediction candidate (Pf) is a weighted sum of the first prediction candidate (P1) and the second prediction candidate (P2).
17. 根據示例16所述的方法,其中Pf=(w1×P1+w2×P2+offset)/(w1+w2),其中w1和w2是權重值,並且其中offset=(w1+w2)/2是取整偏移量。17. The method according to example 16, wherein Pf=(w1×P1+w2×P2+offset)/(w1+w2), where w1 and w2 are weight values, and where offset=(w1+w2)/2 Is the rounding offset.
18. 根據示例17所述的方法,其中所述權重值基於所述多個子塊的子塊的維度、所述視頻塊的維度、所述子塊的色度分量、所述視頻塊的一個或多個屬性、或所述子塊邊界區域的位置。18. The method according to example 17, wherein the weight value is based on one of the dimensions of the sub-blocks of the plurality of sub-blocks, the dimensions of the video block, the chroma component of the sub-blocks, one of the video blocks, or Multiple attributes, or the location of the sub-block boundary area.
19. 根據示例18所述的方法,其中所述一個或多個屬性包括運動向量、量化參數(QP)、幀間預測模式、幀間預測方向、Merge模式或先進的運動向量預測(AMVP)模式。19. The method of example 18, wherein the one or more attributes include a motion vector, quantization parameter (QP), inter prediction mode, inter prediction direction, Merge mode, or advanced motion vector prediction (AMVP) mode .
20. 根據示例16所述的方法,其中Pf=(w1×P1+w2×P2+offset)>>B,其中w1和w2是權重值,其中offset = (w1+w2)/2是取整偏移量, 並且其中w1+w2=2B。20. The method according to Example 16, where Pf=(w1×P1+w2×P2+offset)>>B, where w1 and w2 are weight values, and where offset = (w1+w2)/2 is rounded Shift, and where w1+w2=2B.
21. 根據示例1所述的方法,還包括:21. The method according to example 1, further comprising:
基於所述子塊邊界區域中的所述多個樣本的預測,形成一個或多個附加預測候選,其中所述最終預測候選還基於所述一個或多個附加預測候選。Based on the prediction of the plurality of samples in the sub-block boundary area, one or more additional prediction candidates are formed, wherein the final prediction candidate is also based on the one or more additional prediction candidates.
22. 根據示例1所述的方法,在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶(slice)標頭、編碼樹單元(CTU)或編碼單元(CU)中對所述第二預測候選的類型發信令。22. According to the method described in Example 1, in the video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, coding tree unit (CTU) or coding unit ( CU) signaling the type of the second prediction candidate.
23. 根據示例1所述的方法,其中子塊的色度分量包括所述子塊邊界區域中的所述多個樣本。23. The method of example 1, wherein the chroma component of the sub-block includes the plurality of samples in the sub-block boundary area.
24. 根據示例1所述的方法,其中所述第一預測候選和所述第二預測候選的預測模式是仿射預測。24. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are affine predictions.
25. 根據示例1所述的方法,其中所述第一預測候選和所述第二預測候選的預測模式是可選時域運動向量預測(ATMVP)。25. The method of example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are selectable time-domain motion vector prediction (ATMVP).
26. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是空時運動向量預測(STMVP)。26. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are space-time motion vector prediction (STMVP).
27. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是雙向光流(BIO)。27. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are bidirectional optical flow (BIO).
28. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是幀播放速率上轉換(FRUC)。28. The method according to example 1, wherein the prediction mode of the first prediction candidate and the second prediction candidate is frame play rate up conversion (FRUC).
29. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是局部自我調整運動向量解析度(LAMVR)。29. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are local self-adjusting motion vector resolution (LAMVR).
30. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是時域運動向量預測(TMVP)。30. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are time-domain motion vector prediction (TMVP).
31. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是重疊塊運動補償(OBMC)。31. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are overlapping block motion compensation (OBMC).
32. 根據示例1所述的方法, 其中所述第一預測候選和所述第二預測候選的預測模式是解碼器側運動向量細化(DMVR)。32. The method according to example 1, wherein the prediction modes of the first prediction candidate and the second prediction candidate are decoder-side motion vector refinement (DMVR).
33. 一種視頻編碼裝置,包括處理器,其被配置為實現示例1至32中任一項所述的方法。33. A video encoding device including a processor configured to implement the method of any one of Examples 1 to 32.
34. 一種視頻解碼裝置,包括處理器,其被配置為實現示例1至32中任一項所述的方法。34. A video decoding device including a processor configured to implement the method described in any one of Examples 1 to 32.
35. 一種儲存在非易失性電腦可讀介質上的電腦程式產品,所述電腦程式產品包括用於實現示例1至32中任一項所述的方法的程式碼。35. A computer program product stored on a non-volatile computer-readable medium, the computer program product comprising program code for implementing the method of any one of Examples 1 to 32.
從上述來看,應當理解的是,為了便於說明,本發明公開的技術的具體實施例已經在本文中進行了描述,但是可以在不偏離本發明範圍的情況下進行各種修改。因此,除了的之外,本發明公開的技術不限於申請專利範圍的限定。From the above, it should be understood that, for the convenience of explanation, specific embodiments of the technology disclosed in the present invention have been described herein, but various modifications can be made without departing from the scope of the present invention. Therefore, in addition to the above, the technology disclosed in the present invention is not limited to the limitation of the scope of patent application.
本發明文件中描述的主題的實現和功能操作可以在各種系統、數位電子電路、或電腦軟體、韌體或硬體中實現,包括本說明書中所公開的結構及其結構等效體,或其中一個或多個的組合。本說明書中描述的主題的實現可以實現為一個或多個電腦程式產品,即一個或多個編碼在有形的和非易失的電腦可讀介質上的電腦程式指令的模組,以供資料處理裝置執行或控制資料處理裝置的操作。電腦可讀介質可以是機器可讀存放裝置、機器可讀儲存基板、存放裝置、影響機器可讀傳播信號的物質組成或其中一個或多個的組合。術語「資料處理單元」或「資料處理裝置」包括用於處理資料的所有裝置、設備和機器,包括例如可程式設計處理器、電腦或多處理器或電腦組。除硬體外,該裝置還可以包括為電腦程式創建執行環境的代碼,例如,構成處理器韌體的代碼、協定疊、資料庫管理系統、作業系統或其中一個或多個的組合。The implementation and functional operations of the subject matter described in this document can be implemented in various systems, digital electronic circuits, or computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or One or more combinations. The implementation of the subject matter described in this specification can be implemented as one or more computer program products, ie one or more modules of computer program instructions encoded on a tangible and non-volatile computer readable medium for data processing The device performs or controls the operation of the data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a storage device, a material composition that affects a machine-readable transmission signal, or a combination of one or more of them. The term "data processing unit" or "data processing device" includes all devices, equipment and machines used to process data, including, for example, programmable processors, computers or multiple processors or computer groups. In addition to the hardware, the device may also include code to create an execution environment for the computer program, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
電腦程式(也稱為程式、軟體、軟體應用、腳本或代碼)可以用任何形式的程式設計語言(包括編譯語言或解釋語言)編寫,並且可以以任何形式部署,包括作為獨立程式或作為模組、元件、副程式或其它適合在計算環境中使用的單元。電腦程式不一定與文件案系統中的文件對應。程式可以儲存在保存其它程式或資料的文件的部分中(例如,儲存在標記語言文文件中的一個或多個腳本)、專用於該程式的單個文件中、或多個協調文件(例如,儲存一個或多個模組、副程式或部分代碼的文件)中。電腦程式可以部署在一台或多台電腦上來執行,這些電腦位於一個網站上或分佈在多個網站上,並通過通信網路互連。Computer programs (also known as programs, software, software applications, scripts, or codes) can be written in any form of programming language (including compiled or interpreted languages) and can be deployed in any form, including as standalone programs or as modules , Components, subprograms or other units suitable for use in computing environments. The computer program does not necessarily correspond to the document in the document case system. Programs can be stored in parts of documents that hold other programs or data (for example, one or more scripts stored in markup language documents), in a single file dedicated to the program, or in multiple coordination documents (for example, stored One or more modules, subprograms, or part of the code). Computer programs can be deployed on one or more computers for execution. These computers are located on one website or distributed on multiple websites and are interconnected through a communication network.
本說明書中描述的處理和邏輯流可以通過一個或多個可程式設計處理器執行,該處理器執行一個或多個電腦程式,通過在輸入資料上操作並生成輸出來執行功能。處理和邏輯流也可以通過特殊用途的邏輯電路來執行,並且裝置也可以實現為特殊用途的邏輯電路,例如,FPGA(現場可程式設計閘陣列)或ASIC(專用積體電路)。The processes and logic flows described in this specification can be performed by one or more programmable processors that execute one or more computer programs and perform functions by operating on input data and generating output. Processing and logic flow can also be performed by special purpose logic circuits, and the device can also be implemented as special purpose logic circuits, such as FPGA (field programmable gate array) or ASIC (dedicated integrated circuit).
例如,適於執行電腦程式的處理器包括通用和專用微處理器,以及任何類型數位電腦的任何一個或多個。通常,處理器將從唯讀記憶體或隨機存取記憶體或兩者接收指令和資料。電腦的基本元件是執行指令的處理器和儲存指令和資料的一個或多個存放裝置。通常,電腦還將包括一個或多個用於儲存資料的大型存放區設備,例如,磁片、磁光碟或光碟,或通過操作耦合到一個或多個大型存放區設備來從其接收資料或將資料傳輸到一個或多個大型存放區設備,或兩者兼有。然而,電腦不一定具有這樣的設備。適用於儲存電腦程式指令和資料的電腦可讀介質包括所有形式的非易失性記憶體、介質和記憶體設備,包括例如半導體記憶體設備,例如EPROM、EEPROM和快閃記憶體設備。處理器和記憶體可以由專用邏輯電路來補充,或合併到專用邏輯電路中。For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors, and any one or more of any type of digital computer. Typically, the processor will receive commands and data from read-only memory or random access memory or both. The basic components of a computer are a processor that executes instructions and one or more storage devices that store instructions and data. Typically, the computer will also include one or more large storage area devices for storing data, such as magnetic disks, magneto-optical disks, or optical discs, or be operatively coupled to one or more large storage area devices to receive data from or Data is transferred to one or more large storage area equipment, or both. However, computers do not necessarily have such equipment. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices. The processor and memory can be supplemented by dedicated logic circuits or incorporated into dedicated logic circuits.
本說明書和附圖僅意在被視為示例性的,其中示例性是指示例。如本文所用,除非上下文另有明確說明,否則單數形式「一」、「一個」和「這個」也應包括複數形式。此外,「或」的使用旨在包括「和/或」,除非上下文另有明確說明。This description and the drawings are intended to be considered exemplary only, and the examples are indicative examples. As used herein, unless the context clearly indicates otherwise, the singular forms "a", "an", and "this" should also include the plural forms. In addition, the use of "or" is intended to include "and/or" unless the context clearly dictates otherwise.
雖然本專利文件包含許多細節,但不應將其解釋為對任何發明或申請專利範圍的限制,而應解釋為對特定發明的特定實施例的特徵的描述。本專利文件在單獨實施例的上下文描述的某些特徵也可以在單個實施例中組合實施。相反,在單個實施例的上下文中描述的各種功能也可以在多個實施例中單獨實施,或在任何合適的子組合中實施。此外,儘管上述特徵可以描述為在某些組合中起作用,甚至最初要求是這樣,但在某些情況下,可以從組合中刪除申請專利範圍組合中的一個或多個特徵,並且申請專利範圍的組合可以指向子組合或子組合的變體。Although this patent document contains many details, it should not be construed as a limitation on the scope of any invention or patent application, but as a description of features of specific embodiments of specific inventions. Certain features described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various functions that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. In addition, although the above features can be described as functioning in certain combinations, even if initially required, in some cases, one or more features in the combination of patent applications can be deleted from the combination, and the patent scope The combination of can point to sub-combinations or variants of sub-combinations.
同樣,儘管圖式中以特定順序描述了操作,但這不應理解為要獲得想要的結果必須按照所示的特定順序或循序執行此類操作,或執行所有說明的操作。此外,本專利文件所述實施例中各種系統元件的分離不應理解為在所有實施例中都需要這樣的分離。僅描述了一些實現和示例,其它實現、增強和變體可以基於本專利文件中描述和說明的內容做出。Likewise, although the operations are described in a specific order in the drawings, it should not be understood that in order to obtain the desired result, such operations must be performed in the specific order or order shown, or all illustrated operations. Furthermore, the separation of various system elements in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments. Only some implementations and examples are described, and other implementations, enhancements, and variations can be made based on what is described and illustrated in this patent document.
1600、1900‧‧‧方法
1610~1650、1902~1906‧‧‧步驟
1700‧‧‧電腦系統
1705‧‧‧處理器
1710‧‧‧記憶體
1715‧‧‧網路介面卡
1725‧‧‧網路
1800‧‧‧移動設備
1801‧‧‧處理器
1802‧‧‧記憶體
1803‧‧‧I/O介面
1804‧‧‧顯示器1600, 1900‧‧‧
1610~1650、1902~1906‧‧‧
圖1示出了基於子塊的預測的示例。 圖2示出了一個簡化的仿射運動模型的示例。 圖3示出了每個子塊的仿射運動向量場(MVF)的示例。 圖4示出了AF_INTER仿射運動模式的運動向量預測(MVP)的示例。 圖5A和5B示出了AF_MERGE仿射運動模式的示例候選。 圖6示出了使用編碼單元(CU)的可選時域運動向量預測(ATMVP)演算法的運動預測的示例。 圖7示出了空時運動向量預測(STMVP)演算法使用的具有子塊和相鄰塊的編碼單元(CU)的示例。 圖8示出了雙向光流(BIO)演算法使用的光流軌跡的示例。 圖9A和9B示出了使用無塊擴展的雙向光流(BIO)演算法的示例快照。 圖10示出了幀播放速率上轉換(FRUC)演算法中的雙邊匹配的示例。 圖11示出了FRUC演算法中的範本匹配的示例。 圖12示出了FRUC演算法中的單邊運動估計的示例。 圖13A和圖13B示出了可能被濾波的子塊邊界的示例。 圖14A和圖14B示出了要被過濾的預測樣本的示例。 圖15A、圖15B、圖15C和圖15D示出了根據所公開的技術的仿射預測的邊界增強的示例。 圖16示出了根據所公開的技術的視頻編碼的示例方法的流程圖。 圖17是說明可用於實現本公開技術的各個部分的電腦系統或其它控制設備的結構的示例的框圖。 圖18示出了可用於實現本公開技術的各個部分的移動設備的示例實施例的框圖。 圖19是用於視頻處理的示例方法的流程圖。FIG. 1 shows an example of subblock-based prediction. Figure 2 shows an example of a simplified affine motion model. Figure 3 shows an example of an affine motion vector field (MVF) for each sub-block. FIG. 4 shows an example of motion vector prediction (MVP) of the AF_INTER affine motion mode. 5A and 5B show example candidates of AF_MERGE affine motion patterns. FIG. 6 shows an example of motion prediction using an optional time-domain motion vector prediction (ATMVP) algorithm of a coding unit (CU). 7 shows an example of a coding unit (CU) with sub-blocks and neighboring blocks used by the space-time motion vector prediction (STMVP) algorithm. FIG. 8 shows an example of the optical flow trajectory used by the bidirectional optical flow (BIO) algorithm. 9A and 9B show an example snapshot of a bidirectional optical flow (BIO) algorithm using blockless expansion. FIG. 10 shows an example of bilateral matching in the Frame Play Rate Up Conversion (FRUC) algorithm. FIG. 11 shows an example of template matching in the FRUC algorithm. Fig. 12 shows an example of unilateral motion estimation in the FRUC algorithm. 13A and 13B show examples of sub-block boundaries that may be filtered. 14A and 14B show examples of prediction samples to be filtered. 15A, 15B, 15C, and 15D show examples of boundary enhancement for affine prediction according to the disclosed technique. 16 shows a flowchart of an example method of video encoding according to the disclosed technology. 17 is a block diagram illustrating an example of the structure of a computer system or other control device that can be used to implement various parts of the disclosed technology. 18 shows a block diagram of an example embodiment of a mobile device that can be used to implement various parts of the disclosed technology. 19 is a flowchart of an example method for video processing.
1900‧‧‧方法 1900‧‧‧method
1902~1906‧‧‧步驟 1902~1906‧‧‧Step
Claims (35)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018093633 | 2018-06-29 | ||
WOPCT/CN2018/093633 | 2018-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202002638A true TW202002638A (en) | 2020-01-01 |
TWI722465B TWI722465B (en) | 2021-03-21 |
Family
ID=67211783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108123120A TWI722465B (en) | 2018-06-29 | 2019-07-01 | Boundary enhancement for sub-block |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110662076B (en) |
TW (1) | TWI722465B (en) |
WO (1) | WO2020003260A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021001220A1 (en) * | 2019-07-01 | 2021-01-07 | Interdigital Vc Holdings France, Sas | Bi-directional optical flow refinement of affine motion compensation |
WO2021207423A1 (en) * | 2020-04-08 | 2021-10-14 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for signaling of syntax elements in video coding |
US20240357082A1 (en) * | 2021-08-19 | 2024-10-24 | Mediatek Singapore Pte. Ltd. | Using template matching for refining candidate selection |
CN114363620B (en) * | 2021-12-23 | 2024-10-11 | 中山大学 | Coding algorithm and system based on prediction block sub-block position exchange |
US12095984B2 (en) * | 2022-02-07 | 2024-09-17 | Tencent America LLC | Sub-block based constraint on bi-prediction for out-of-boundary conditions |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101695170B1 (en) * | 2010-07-20 | 2017-01-11 | 가부시키가이샤 엔.티.티.도코모 | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program |
ES2713477T3 (en) * | 2011-09-09 | 2019-05-22 | Lg Electronics Inc | Inter prediction method and corresponding device |
KR101539107B1 (en) * | 2011-10-18 | 2015-07-24 | 주식회사 케이티 | Method for encoding image, method for decoding image, image encoder, and image decoder |
WO2015099506A1 (en) * | 2013-12-26 | 2015-07-02 | 삼성전자 주식회사 | Inter-layer video decoding method for performing subblock-based prediction and apparatus therefor, and inter-layer video encoding method for performing subblock-based prediction and apparatus therefor |
US9769499B2 (en) * | 2015-08-11 | 2017-09-19 | Google Inc. | Super-transform video coding |
WO2017045101A1 (en) * | 2015-09-14 | 2017-03-23 | Mediatek Singapore Pte. Ltd. | Advanced deblocking filter in video coding |
WO2018028615A1 (en) * | 2016-08-12 | 2018-02-15 | Mediatek Inc. | Methods and apparatuses of predictor-based partition in video processing system |
-
2019
- 2019-07-01 CN CN201910584475.2A patent/CN110662076B/en active Active
- 2019-07-01 TW TW108123120A patent/TWI722465B/en active
- 2019-07-01 WO PCT/IB2019/055548 patent/WO2020003260A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
TWI722465B (en) | 2021-03-21 |
CN110662076B (en) | 2022-10-04 |
WO2020003260A1 (en) | 2020-01-02 |
CN110662076A (en) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI729402B (en) | Weighted interweaved prediction | |
TWI736903B (en) | Asymmetric weighted bi-predictive merges | |
TWI729422B (en) | Sub-block mv inheritance between color components | |
TWI722465B (en) | Boundary enhancement for sub-block | |
TW202002652A (en) | Signaled MV precision | |
TW202007156A (en) | Unified constrains for the merge affine mode and the non-merge affine mode | |
TW201904299A (en) | Motion vector prediction | |
CN111131830B (en) | Improvement of overlapped block motion compensation | |
TW202017383A (en) | Representation of affine model | |
CN111010571B (en) | Generation and use of combined affine Merge candidates | |
TW202008787A (en) | Motion prediction based on updated motion vectors | |
TWI846733B (en) | General applications related to affine motion | |
TW202007154A (en) | Improvement on inter-layer prediction | |
TW202021360A (en) | Extension of look-up table based motion vector prediction with temporal information | |
TWI819030B (en) | Extension of look-up table based motion vector prediction with temporal information | |
TWI704800B (en) | Boundary filtering for sub-block | |
TWI833795B (en) | Fast encoding methods for interweaved prediction | |
TWI850252B (en) | Partial interweaved prediction | |
TW202005388A (en) | Concept of interweaved prediction | |
TW202021358A (en) | Extension of look-up table based motion vector prediction with temporal information | |
TW202017377A (en) | Affine mode in video coding and decoding |