TW202037157A - Motion vector accessing range for affine - Google Patents

Motion vector accessing range for affine Download PDF

Info

Publication number
TW202037157A
TW202037157A TW108134969A TW108134969A TW202037157A TW 202037157 A TW202037157 A TW 202037157A TW 108134969 A TW108134969 A TW 108134969A TW 108134969 A TW108134969 A TW 108134969A TW 202037157 A TW202037157 A TW 202037157A
Authority
TW
Taiwan
Prior art keywords
current block
block
patent application
scope
item
Prior art date
Application number
TW108134969A
Other languages
Chinese (zh)
Other versions
TWI829769B (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
Application filed by 大陸商北京字節跳動網絡技術有限公司, 美商字節跳動有限公司 filed Critical 大陸商北京字節跳動網絡技術有限公司
Publication of TW202037157A publication Critical patent/TW202037157A/en
Application granted granted Critical
Publication of TWI829769B publication Critical patent/TWI829769B/en

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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • 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
    • 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/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/537Motion estimation other than block-based
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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)

Abstract

A method of video processing includes accessing motion vectors(MV) stored in at least one of basic unit blocks adjacent to a current block; and performing a video processing between the current block and a bitstream representation of the current block based on the accessed MVs.

Description

仿射的運動矢量訪問範圍Affine motion vector access range

本專利文件涉及視頻編碼技術、裝置和系統。 [相關申請的交叉引用] 根據適用的專利法和/或根據巴黎公約的規則,本申請及時要求2018年9月26日提交的國際專利申請No. PCT/CN2018/107629和2018年9月27日提交的國際專利申請No. PCT/CN2018/107869的優先權和權益。國際專利申請No. PCT/CN2018/107629和國際專利申請No. PCT/CN2018/107869的全部公開內容通過引用結合在此作為本申請公開內容的一部分。This patent document relates to video coding technology, devices and systems. [Cross references to related applications] In accordance with applicable patent laws and/or in accordance with the rules of the Paris Convention, this application promptly requests the International Patent Application No. PCT/CN2018/107629 filed on September 26, 2018 and the International Patent Application No. filed on September 27, 2018. Priority and rights of PCT/CN2018/107869. The entire disclosures of International Patent Application No. PCT/CN2018/107629 and International Patent Application No. PCT/CN2018/107869 are incorporated herein by reference as part of the disclosure of this application.

運動補償(MC)是視頻處理中的技術,在給定之前和/或未來的幀的情況下,其通過考慮到相機和/或視頻中的對象的運動來預測視頻中的幀。運動補償可以用於視頻數據的編碼中以用於視頻壓縮。Motion compensation (MC) is a technique in video processing that, given previous and/or future frames, predicts frames in a video by taking into account the motion of the camera and/or objects in the video. Motion compensation can be used in the encoding of video data for video compression.

本文件公開了涉及在視頻編碼和解碼中使用仿射運動補償的方法、系統和裝置。This document discloses methods, systems and devices related to the use of affine motion compensation in video encoding and decoding.

在一個示例性方面中,公開了一種視頻處理的方法。該方法包含:存取儲存在與當前塊相鄰的基本單元塊中的至少一個的運動向量(MV);以及,基於所存取的MV進行所述當前塊與所述當前塊的位元流表示之間的視頻處理。In an exemplary aspect, a method of video processing is disclosed. The method includes: accessing a motion vector (MV) stored in at least one of the basic unit blocks adjacent to the current block; and performing a bit stream of the current block and the current block based on the accessed MV Represents the video processing between.

一個示例性方面中,公開了一種視頻處理設備,包括處理器,該處理器被配置為實現本文所述的方法。In an exemplary aspect, a video processing device is disclosed that includes a processor configured to implement the method described herein.

在又一代表性方面中,本文中描述的各種技術可以實施為儲存在非暫態電腦可讀介質上的電腦程式產品。電腦程式產品包含程式代碼,以執行本文中描述的方法。In yet another representative aspect, the various technologies described herein can be implemented as computer program products stored on non-transitory computer-readable media. Computer program products contain program code to perform the methods described in this article.

在又一代表性方面中,視頻解碼器設備可以實現如本文中描述的方法。In yet another representative aspect, the video decoder device may implement the method as described herein.

所附附件、附圖和以下說明書中提出了一個或多個實現方式的細節。其他特徵將從說明書和附圖以及申請專利範圍變得明顯。The details of one or more implementations are proposed in the attached appendices, drawings and the following description. Other features will become apparent from the description and drawings as well as the scope of the patent application.

本文件提供若干技術,其可以被實施為數位視頻編碼器和解碼器。本文件中使用了章節標題以便於理解,並且不將每個章節中公開的技術和實施例的範圍僅限制在該章節。This document provides several technologies that can be implemented as digital video encoders and decoders. The chapter titles are used in this document to facilitate understanding, and the scope of the technology and embodiments disclosed in each chapter is not limited to only that chapter.

在本文件中,術語“視頻處理”可以指視頻編碼、視頻解碼、視頻壓縮或視頻解壓縮。例如,在視頻的像素表示到對應的位元流表示的轉換期間,可以應用視頻壓縮算法,或反之亦然。In this document, the term "video processing" can refer to video encoding, video decoding, video compression, or video decompression. For example, during the conversion of the pixel representation of the video to the corresponding bitstream representation, a video compression algorithm can be applied, or vice versa.

1.    概述1 Overview

本發明涉及視頻/圖像編碼技術。具體地,其涉及視頻/圖像編碼中的仿射預測。其可以應用到現有視頻編碼標準中,例如HEVC,或尚待敲定的標準(多功能視頻編碼)。其還可以應用於未來視頻/圖像編碼標準或視頻/圖像編解碼器。The present invention relates to video/image coding technology. Specifically, it relates to affine prediction in video/image coding. It can be applied to existing video coding standards, such as HEVC, or a standard yet to be finalized (multifunctional video coding). It can also be applied to future video/image coding standards or video/image codecs.

2.    介紹2. Introduction

基於子塊的預測首先由HEVC Annex I(3D-HEVC)引入到視頻編碼標準中。利用基於子塊的預測,諸如編碼單元(CU)或預測單元(PU)的塊被分為若干不重疊的子塊。可以為不同的子塊分配不同的運動信息,諸如參考索引或運動向量(MV),並且對每個子塊單獨地執行運動補償(MC)。圖1示出了基於子塊的預測的概念。Sub-block-based prediction was first introduced into the video coding standard by HEVC Annex I (3D-HEVC). With 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 motion information, such as reference index or motion vector (MV), may be allocated to different sub-blocks, and motion compensation (MC) may be performed separately for each sub-block. Figure 1 shows the concept of sub-block-based prediction.

為了探索HEVC之外的未來視頻編碼技術,聯合視頻探索團隊(Joint Video Exploration Team,JVET)由VCEG和MPEG於2015年共同創立。從那時起,JVET採用了許多新方法,並將其納入名為聯合探索模型(Joint Exploration Model,JEM)的參考軟體中。In order to explore future video coding technologies beyond HEVC, the Joint Video Exploration Team (JVET) was co-founded by VCEG and MPEG in 2015. Since then, JVET has adopted many new methods and incorporated them into a reference software called Joint Exploration Model (JEM).

在JEM中,在若干編碼工具中採用基於子塊的預測,例如仿射預測、可選時域運動向量預測(ATMVP)、空時運動向量預測(STMVP)、雙向光流(BIO)和幀速率上轉換(FRUC)。仿射預測也被採用到VVC中。In JEM, sub-block-based prediction is used in several coding tools, such as affine prediction, optional temporal motion vector prediction (ATMVP), space-time motion vector prediction (STMVP), bidirectional optical flow (BIO) and frame rate Upconversion (FRUC). Affine prediction is also adopted in VVC.

2.1  仿射預測2.1 Affine prediction

在HEVC中,僅將平移運動模型應用於運動補償預測(MCP)。而在現實世界中,存在多種運動,例如放大/縮小、旋轉、透視運動和其他不規則運動。在VVC中,應用簡化的仿射變換運動補償預測。如圖2A-2B所示,塊的仿射運動場由兩個(在4參數仿射模型中)或三個(在6參數仿射模型中)控制點運動向量描述。In HEVC, only the translational motion model is applied to motion compensation prediction (MCP). In the real world, there are multiple movements, such as zoom in/out, rotation, perspective movement, and other irregular movements. In VVC, a simplified affine transform motion compensation prediction is applied. As shown in Figures 2A-2B, the affine motion field of the block is described by two (in the 4-parameter affine model) or three (in the 6-parameter affine model) control point motion vectors.

圖2A-2B示出了簡化的仿射運動模型(a)4參數仿射模型;(b)6參數仿射模型。Figures 2A-2B show simplified affine motion models (a) 4-parameter affine model; (b) 6-parameter affine model.

塊的運動向量場(MVF)由具有4參數仿射模型的以下等式描述:The motion vector field (MVF) of the block is described by the following equation with a 4-parameter affine model:

Figure 02_image001
(1)
Figure 02_image001
(1)

和6參數仿射模型:And the 6-parameter affine model:

Figure 02_image003
(2)
Figure 02_image003
(2)

其中(mvh 0 mvv 0 )是左上角控制點的運動向量,並且(mvh 1 mvv 1 )是右上角控制點的運動向量,並且(mvh 2 mvv 2 )是左下角控制點的運動向量。點(x,y)表示相對於當前塊內的左上樣本的代表性點的坐標。CP運動向量可以被信令通知(如仿射AMVP模式中一樣)或on-the-fly推導(如仿射merge模式中一樣)。w和h是當前塊的寬度和高度。實踐中,除法通過帶有舍入運算的右移實現。在VTM中,代表性點被定義為子塊的中心位置,例如,當子塊的左上角相對於當前塊內的左上樣本的坐標是(xs,ys)時,代表性點的坐標被定義為(xs+2,ys+2)。Where ( mv h 0 , mv v 0 ) is the motion vector of the upper left corner control point, and ( mv h 1 , mv v 1 ) is the motion vector of the upper right control point, and ( mv h 2 , mv v 2 ) is the lower left The motion vector of the corner control point. The point (x, y) represents the coordinates of a representative point relative to the upper left sample in the current block. The CP motion vector can be signaled (as in the affine AMVP mode) or derived on-the-fly (as in the affine merge mode). w and h are the width and height of the current block. In practice, division is implemented by shifting right with rounding operations. In VTM, the representative point is defined as the center position of the sub-block. For example, when the coordinates of the upper left corner of the sub-block relative to the upper left sample in the current block are (xs, ys), the coordinates of the representative point are defined as (Xs+2, ys+2).

在無除法設計中,(1)和(2)實現為:In the design without division, (1) and (2) are implemented as:

Figure 02_image005
(3)
Figure 02_image005
(3)

對於(1)中所示的4參數仿射模型:For the 4-parameter affine model shown in (1):

Figure 02_image007
(4)
Figure 02_image007
(4)

對於(2)中所示的6參數仿射模型:For the 6-parameter affine model shown in (2):

Figure 02_image009
(5)
Figure 02_image009
(5)

最終,finally,

Figure 02_image011
(6)
Figure 02_image011
(6)

Figure 02_image013
(7)
Figure 02_image013
(7)

其中S表示計算精度,例如在VVC中,S=7。在VVC中,左上樣本在(xs,ys)處的子塊的MC中使用的MV通過(6)計算,其中x=xs+2且y=ys+2。Where S represents calculation accuracy, for example, in VVC, S=7. In VVC, the MV used in the MC of the sub-block of the upper left sample at (xs, ys) is calculated by (6), where x=xs+2 and y=ys+2.

為了推導每個4×4子塊的運動向量,根據等式(1)或(2)計算每個子塊的中心樣本的運動向量,如圖3所示,並舍入到1/16分數精度。然後,應用運動補償內插濾波器以用推導的運動向量生成每個子塊的預測。In order to derive the motion vector of each 4×4 sub-block, the motion vector of the center sample of each sub-block is calculated according to equation (1) or (2), as shown in Figure 3, and rounded to 1/16 fractional precision. Then, a motion compensation interpolation filter is applied to generate a prediction of each sub-block with the derived motion vector.

仿射模型可以從空域鄰近的仿射編碼塊繼承,諸如左、上、右上、左下和左上鄰近塊,如圖4A中所示。例如,如果圖4A中的鄰近左塊A以仿射模式編碼,如圖4B中的A0所指代,則獲取含有塊A的鄰近CU/PU的左上角、右上角和左下角的控制點(CP)運動向量mv0 N 、mv1 N 和mv2 N 。並且基於mv0 N 、mv1 N 和mv2 N 計算當前CU/PU上的左上角/右上/左下的運動向量mv0 C 、mv1 C 和mv2 C (其僅用於6參數仿射模型)。應注意,在VTM-2.0中,如果當前塊是仿射編碼的,則子塊(例如VTM中的4×4塊)LT儲存mv0,RT儲存mv1。如果當前塊是用6參數仿射模型編碼的,則LB儲存mv2;否則(在4參數仿射模型的情況下),則LB儲存mv2’。其他子塊儲存用於MC的MV。The affine model can be inherited from spatially adjacent affine coding blocks, such as left, top, top right, bottom left, and top left neighboring blocks, as shown in FIG. 4A. For example, if the adjacent left block A in Fig. 4A is coded in affine mode, as indicated by A0 in Fig. 4B, then the control points of the upper left corner, upper right corner and lower left corner of the adjacent CU/PU containing block A are obtained ( CP) Motion vectors mv 0 N , mv 1 N and mv 2 N. And based on mv 0 N , mv 1 N and mv 2 N to calculate the current upper left corner / upper right / lower left motion vectors mv 0 C , mv 1 C and mv 2 C on the current CU/PU (it is only used for the 6-parameter affine model ). It should be noted that in VTM-2.0, if the current block is affine-coded, the sub-block (for example, a 4×4 block in VTM) stores mv0 in LT and mv1 in RT. If the current block is coded with a 6-parameter affine model, LB stores mv2; otherwise (in the case of a 4-parameter affine model), LB stores mv2'. Other sub-blocks store MV for MC.

應當注意,當用仿射merge模式編碼CU時,即,在AF_MERGE模式中,它從有效的鄰近重構塊獲得用仿射模式編碼的第一塊。並且候選塊的選擇順序是從左、上、右上、左下到左上,如圖4A所示。It should be noted that when the CU is encoded in the affine merge mode, that is, in the AF_MERGE mode, it obtains the first block encoded in the affine mode from the effective neighboring reconstructed blocks. And the selection order of candidate blocks is from left, top, top right, bottom left to top left, as shown in FIG. 4A.

當前塊的推導的CP MV mv0 C 、mv1 C 和mv2 C 可以用作仿射merge模式中的CP MV。或者它們可以在VVC中用作仿射幀間模式的MVP。應當注意,對於merge模式,如果當前塊用仿射模式編碼,則在推導當前塊的CP MV之後,可以將當前塊進一步劃分為多個子塊,並且每個塊將基於當前塊的推導的CP MV推導其運動信息。The derived CP MV mv 0 C , mv 1 C and mv 2 C of the current block can be used as the CP MV in the affine merge mode. Or they can be used as MVP for affine inter mode in VVC. It should be noted that for the merge mode, if the current block is coded in affine mode, after deriving the CP MV of the current block, the current block can be further divided into multiple sub-blocks, and each block will be based on the derived CP MV of the current block Derive its movement information.

2.2  JVET-K01862.2 JVET-K0186

不同於其中僅一個仿射空域鄰近塊可以用於推導塊的仿射運動的VTM,在JVET-K0186中,提出了為AF_MERGE模式建構仿射候選的單獨列表。進行以下步驟。Unlike VTM, where only one affine spatial neighboring block can be used to derive the affine motion of the block, in JVET-K0186, it is proposed to construct a separate list of affine candidates for the AF_MERGE mode. Follow the steps below.

1)    插入繼承的仿射候選到候選列表中1) Insert the inherited affine candidate into the candidate list

圖5示出了仿射merge模式的候選位置的示例。FIG. 5 shows an example of candidate positions of the affine merge mode.

繼承的仿射候選是指由用仿射模式編碼的有效鄰近重構塊推導的候選。The inherited affine candidate refers to a candidate derived from an effective neighboring reconstructed block coded in an affine mode.

如圖5中所示,候選塊的掃描順序是A1 ,B1 ,B0 ,A0 和B2 。當選擇塊(例如,A1)時,應用兩步過程:As shown in Fig. 5, the scan order of the candidate blocks is A 1 , B 1 , B 0 , A 0 and B 2 . When selecting a block (for example, A1), a two-step process is applied:

a)    首先,使用覆蓋塊的CU的三個角部運動向量,以推導當前塊的兩個/三個控制點。a) First, use the three corner motion vectors of the CU covering the block to derive the two/three control points of the current block.

b)    基於當前塊的控制點,以推導當前塊內的每個子塊的子塊運動。b) Based on the control point of the current block to derive the sub-block motion of each sub-block in the current block.

2)    插入建構的仿射候選2) Insert the constructed affine candidate

如果仿射merge候選列表中的候選的數目少於MaxNumAffineCand ,則建構的仿射候選被插入到候選列表中。If the number of candidates in the affine merge candidate list is less than MaxNumAffineCand , the constructed affine candidate is inserted into the candidate list.

建構的仿射候選是指通過組合每個控制點的鄰近運動信息建構的候選。The constructed affine candidate refers to a candidate constructed by combining the neighboring motion information of each control point.

首先從指定的空域鄰域和時域鄰域推導控制點的運動信息,如圖5中所示。CPk(k=1,2,3,4)表示第k個控制點。A0 ,A1 ,A2 ,B0 ,B1 ,B2 和B3 是預測CPk(k=1,2,3)的空域位置;T是預測CP4的時域位置。First, the motion information of the control point is derived from the designated spatial neighborhood and time domain, as shown in Figure 5. CPk (k=1, 2, 3, 4) represents the kth control point. A 0 , A 1 , A 2 , B 0 , B 1 , B 2 and B 3 are the spatial positions of predicted CPk (k=1, 2, 3); T is the temporal position of predicted CP4.

CP1,CP2,CP3和CP4的坐標分別是(0,0),(W,0),(H,0)和(W,H),其中W和H是當前塊的寬度和高度。The coordinates of CP1, CP2, CP3 and CP4 are (0, 0), (W, 0), (H, 0) and (W, H) respectively, where W and H are the width and height of the current block.

每個控制點的運動信息根據以下優先級順序獲得:The movement information of each control point is obtained according to the following priority order:

-    對於CP1,檢查優先級是B2 ->B3 ->A2 。如果B2 可用則使用B2 。否則,如果B2 不可用,則使用B3 。如果B2 和B3 都不可用,則使用A2 。如果全部三個候選不可用,則CP1的運動信息無法獲得。-For CP1, the check priority is B 2 ->B 3 ->A 2 . If B 2 is available, use B 2 . Otherwise, if B 2 is not available, B 3 is used. If neither B 2 nor B 3 is available, A 2 is used. If all three candidates are unavailable, the motion information of CP1 cannot be obtained.

-    對於CP2,檢查優先級是B1->B0;-For CP2, the check priority is B1->B0;

-    對於CP3,檢查優先級是A1->A0;-For CP3, the check priority is A1->A0;

-    對於CP4,使用T。-For CP4, use T.

其次,控制點的組合用於建構運動模型。Second, the combination of control points is used to construct the motion model.

需要三個控制點的運動向量來計算6參數仿射模型中的變換參數。可以從以下四個組合之一選擇三個控制點:({CP1,CP2,CP4},{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4})。例如,使用CP1,CP2和CP3控制點來建構6參數仿射運動模型,指代為仿射(CP1,CP2,CP3)。The motion vectors of the three control points are needed to calculate the transformation parameters in the 6-parameter affine model. Three control points can be selected from one of the following four combinations: ({CP1, CP2, CP4}, {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}). For example, using CP1, CP2 and CP3 control points to construct a 6-parameter affine motion model, referred to as affine (CP1, CP2, CP3).

需要兩個控制點的運動向量來計算4參數仿射模型中的變換參數。可以從以下六個組合之一選擇兩個控制點({CP1,CP4},{CP2,CP3},{CP1,CP2},{CP2,CP4},{CP1,CP3},{CP3,CP4})。例如,使用CP1和CP2控制點來建構4參數仿射運動模型,指代為仿射(CP1,CP2)。The motion vectors of the two control points are needed to calculate the transformation parameters in the 4-parameter affine model. Two control points can be selected from one of the following six combinations ({CP1, CP4}, {CP2, CP3}, {CP1, CP2}, {CP2, CP4}, {CP1, CP3}, {CP3, CP4}) . For example, using CP1 and CP2 control points to construct a 4-parameter affine motion model, referred to as affine (CP1, CP2).

建構的仿射候選的組合被以如下順序插入到候選列表中:The constructed combination of affine candidates is inserted into the candidate list in the following order:

{CP1,CP2,CP3},{CP1,CP2,CP4},{CP1,CP3,CP4},{CP2,CP3,CP4},{CP1,CP2},{CP1,CP3},{CP2,CP3},{CP1,CP4},{CP2,CP4},{CP3,CP4}。{CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}, {CP2, CP3}, {CP1, CP4}, {CP2, CP4}, {CP3, CP4}.

3)  插入零運動向量3) Insert zero motion vector

如果仿射merge候選列表中的候選的數目少於MaxNumAffineCand,則將零運動向量插入到候選列表中,直到列表充滿。If the number of candidates in the affine merge candidate list is less than MaxNumAffineCand, the zero motion vector is inserted into the candidate list until the list is full.

2.3  ATMVP(高級時域運動向量預測)2.3 ATMVP (Advanced Time Domain Motion Vector Prediction)

在第10次JVET會議上,高級時域運動向量預測(ATMVP)被包含在基準集(BMS)-1.0參考軟體中,其基於來自時域鄰近圖片的共位(collocated)塊的運動信息推導一個編碼單元(CU)的子塊的多個運動。雖然它提高了時域運動向量預測的效率,但是對現有的ATMVP設計識別出以下複雜度問題:At the 10th JVET meeting, Advanced Temporal Motion Vector Prediction (ATMVP) was included in the benchmark set (BMS)-1.0 reference software, which derives one based on the motion information from collocated blocks of neighboring pictures in the time domain Multiple motions of sub-blocks of coding unit (CU). Although it improves the efficiency of time-domain motion vector prediction, the following complexity issues are identified for the existing ATMVP design:

如果使用多個參考圖片,則不同ATMVP CU的共位圖片可能不相同。這意味著需要取回多個參考圖片的運動場。If multiple reference pictures are used, the co-located pictures of different ATMVP CUs may be different. This means that multiple reference pictures need to be retrieved in the sports field.

每個ATMVP CU的運動信息總是基於4×4單元推導,導致對一個ATMVP CU內的每個4×4子塊的運動推導和運動補償的多次調用。The motion information of each ATMVP CU is always derived based on 4×4 units, resulting in multiple calls for motion derivation and motion compensation for each 4×4 sub-block in an ATMVP CU.

提出了對ATMVP的一些進一步簡化,並且已經在VTM2.0中採用。Some further simplifications of ATMVP are proposed and have been adopted in VTM2.0.

2.3.1     使用一個固定共位圖片的簡化的共位塊推導2.3.1 Simplified co-location block derivation using a fixed co-location picture

在該方法中,提出了一種簡化設計以使用與在HEVC中相同的共位圖片,其在條帶標頭處信令通知,作為用於ATMVP推導的共位圖片。在塊級,如果鄰近塊的參考圖片與該共位圖片不同,則使用HEVC時域MV縮放方法來縮放塊的MV,並且在ATMVP中使用縮放的MV。In this method, a simplified design is proposed to use the same co-located picture as in HEVC, which is signaled at the slice header as the co-located picture for ATMVP derivation. At the block level, if the reference picture of the neighboring block is different from the co-located picture, the HEVC time-domain MV scaling method is used to scale the MV of the block, and the scaled MV is used in ATMVP.

指代用於取回共位圖片Rcol 中的運動場的運動向量作為MVcol 。為了最小化由於MV縮放引起的影響,用於推導MVcol 的空域候選列表中的MV以如下方式選擇:如果候選MV的參考圖片是共位圖片,則選擇該MV並將其用作MVcol ,而不使用任何縮放。否則,選擇具有最接近共位圖片的參考圖片的MV以利用縮放來推導MVcolRefers to the motion vector used to retrieve the field in the collocated picture R col as MV col . In order to minimize the impact due to MV scaling, the MV in the spatial candidate list used to derive the MV col is selected in the following manner: if the reference picture of the candidate MV is a co-located picture, the MV is selected and used as the MV col , Without using any zoom. Otherwise, the MV with the reference picture closest to the co-located picture is selected to use scaling to derive MV col .

2.3.2     自適應ATMVP子塊大小2.3.2 Adaptive ATMVP sub-block size

在該方法中,提出支持用於ATMVP運動推導的子塊尺寸的條帶級配接。具體地,在序列級信令通知用於ATMVP運動推導的一個預設子塊尺寸。另外,在條帶級信令通知一個標誌以指示預設子塊尺寸是否用於當前條帶。如果該標誌為偽,則在條帶的條帶標頭中進一步信令通知對應的ATMVP子塊尺寸。In this method, it is proposed to support the strip-level matching of the sub-block size for ATMVP motion derivation. Specifically, a preset sub-block size for ATMVP motion derivation is signaled at the sequence level. In addition, a flag is signaled at the slice level to indicate whether the preset sub-block size is used for the current slice. If the flag is false, the corresponding ATMVP sub-block size is further signaled in the strip header of the strip.

2.4  STMVP(空時運動向量預測)2.4 STMVP (Space-Time Motion Vector Prediction)

STMVP在JEM中被提出並被採用,但尚未在VVC中被採用。在STMVP中,按照光柵掃描順序遞迴地推導子CU的運動向量。圖6說明了這個概念。讓我們考慮含有四個4×4子CU A,B,C和D的8×8 CU。當前幀中的鄰近4×4塊標記為a,b,c和d。STMVP was proposed and adopted in JEM, but has not yet been adopted in VVC. In STMVP, the motion vector of the sub-CU is derived recursively in the raster scan order. Figure 6 illustrates this concept. Let us consider an 8×8 CU with four 4×4 sub-CUs A, B, C, and D. The adjacent 4×4 blocks in the current frame are labeled a, b, c, and d.

子CU A的運動推導以識別其兩個空間鄰域開始。第一鄰域是子CU A上方的N×N塊(塊c)。如果該塊c不可用或者是幀內編碼的,則檢查子CU A上方的其他N×N塊(從左到右,始於塊c)。第二鄰域是子CU A左側的塊(塊b)。如果塊b不可用或者是幀內編碼的,則檢查子CU A左側的其他塊(從上到下,始於塊b)。從每個列表的鄰近塊獲得的運動信息被縮放到給定列表的第一參考幀。接下來,通過按照與HEVC中指定的TMVP推導相同的過程來推導子塊A的時域運動向量預測符(TMVP)。取回位置D處的共位塊的運動信息並相應地縮放。最後,在檢索和縮放運動信息之後,對於每個參考列表分開地平均全部可用的運動向量(最多3個)。平均的運動向量被指定為當前子CU的運動向量。The motion derivation of sub CU A starts by identifying its two spatial neighbors. The first neighborhood is the N×N block (block c) above the sub CU A. If the block c is not available or is intra-coded, check the other N×N blocks above the sub-CU A (from left to right, starting with block c). The second neighborhood is the block to the left of the sub CU A (block b). If block b is not available or is intra-coded, check other blocks on the left of sub-CU A (from top to bottom, starting with block b). The motion information obtained from the neighboring blocks of each list is scaled to the first reference frame of a given list. Next, the temporal motion vector predictor (TMVP) of sub-block A is derived by following the same process as the TMVP derivation specified in HEVC. The motion information of the co-located block at position D is retrieved and scaled accordingly. Finally, after retrieving and scaling motion information, all available motion vectors (up to 3) are averaged separately for each reference list. The average motion vector is designated as the motion vector of the current sub-CU.

圖6示出了具有四個子塊(A-D)的一個CU及其鄰近塊(a-d)的示例。Fig. 6 shows an example of a CU with four sub-blocks (A-D) and its neighboring blocks (a-d).

2.5  示例性仿射繼承方法2.5 Exemplary affine inheritance method

為了降低仿射模型繼承的儲存要求,一些實施例可以實現一種方案,其中通過僅存取當前塊左側一列的MV和當前塊上方的一列的MV來繼承仿射模型。In order to reduce the storage requirement for affine model inheritance, some embodiments may implement a solution in which the affine model is inherited by only accessing the MVs in the column to the left of the current block and the MVs in the column above the current block.

可以通過由仿射編碼的鄰近塊的左下MV和右下MV推導當前塊的CP MV來進行仿射模型繼承,如圖7中所示。Affine model inheritance can be performed by deriving the CP MV of the current block from the affine-encoded lower left MV and lower right MV of the adjacent block, as shown in FIG. 7.

a.    在一個示例中,mv 0 C =(mv 0 Ch mv 0 Cv )和mv 1 C =(mv 1 Ch mv 1 Cv )由mv 0 N =(mv 0 Nh mv 0 Nv )和mv 1 N =(mv 1 Nh mv 1 Nv )推導如下:a. In an example, mv 0 C = ( mv 0 Ch , mv 0 Cv ) and mv 1 C = ( mv 1 Ch , mv 1 Cv ) are derived from mv 0 N = ( mv 0 Nh , mv 0 Nv ) and mv 1 N = ( mv 1 Nh , mv 1 Nv ) is derived as follows:

Figure 02_image015
(8)
Figure 02_image015
(8)

其中ww’ 分別是當前塊的寬度和鄰近塊的寬度。(x0 ,y0 )是當前塊的左上角的坐標,並且(x’0 ,y’0 )是鄰近塊的左下角的坐標。Where w and w'are the width of the current block and the width of adjacent blocks, respectively. (X 0, y 0) are the coordinates of the upper left corner of the current block, and (x '0, y' 0 ) are the coordinates of the lower left corner of the neighboring blocks.

替代地,此外,ab 計算過程中的除法運算可以由有或沒有加法運算的移位替代。Alternatively, in addition, the division operation in the calculation of a and b can be replaced by a shift with or without addition.

b.    例如,通過由來自圖4A中的“B”和“C”的仿射編碼的鄰近塊的左下MV和右下MV推導當前塊的CP MV來進行仿射模型繼承。b. For example, the affine model inheritance is performed by deriving the CP MV of the current block from the lower left MV and the lower right MV of the adjacent blocks of affine encoding from "B" and "C" in FIG. 4A.

i.     替代地,通過由來自圖4A中的“B”,“C”和“E”的仿射編碼的鄰近塊的左下MV和右下MV推導當前塊的CP MV來進行仿射模型繼承。i. Alternatively, the affine model inheritance is performed by deriving the CP MV of the current block from the lower left MV and the lower right MV of the affine-coded neighboring blocks from "B", "C" and "E" in FIG. 4A.

c.    例如,僅當鄰近塊在含有當前塊的M×N區域的上方(或右上,或左上)的M×N區域中,才通過由仿射編碼的鄰近塊的左下MV和右下MV推導當前塊的CP MV來進行仿射模型繼承。c. For example, only when the neighboring block is in the M×N area above (or upper right, or upper left) of the M×N area containing the current block, can it be derived from the lower left MV and the lower right MV of the neighboring block encoded by affine The CP MV of the current block is used for affine model inheritance.

d.    例如,y0 = y’0d. For example, y 0 = y '0.

i.     替代地,y0 = 1+y0 ’。i. Alternatively, y 0 = 1+y 0 '.

e.    例如,如果當前塊通過由仿射編碼的鄰近塊的左下MV和右下MV推導當前塊的CP MV來繼承仿射模型,則將當前塊視為使用4參數仿射模型。e. For example, if the current block inherits the affine model by deriving the CP MV of the current block from the affine-encoded lower left MV and lower right MV of the neighboring block, the current block is regarded as using a 4-parameter affine model.

圖7示出了通過由鄰近塊的兩個底CP推導來仿射繼承的示例。FIG. 7 shows an example of affine inheritance by derivation from two bottom CPs of neighboring blocks.

可以通過由仿射編碼的鄰近塊的右上MV和右下MV推導當前塊的CP MV進行仿射模型繼承,如圖8中所示。The affine model inheritance can be performed by deriving the CP MV of the current block from the affine-encoded upper right MV and lower right MV of the adjacent block, as shown in FIG.

a.    例如,mv 0 C =(mv 0 Ch mv 0 Cv )和mv 1 C =(mv 1 Ch mv 1 Cv )可以由mv 0 N =(mv 0 Nh mv 0 Nv )和mv 1 N =(mv 1 Nh mv 1 Nv )推導如下:a. For example, mv 0 C = ( mv 0 Ch , mv 0 Cv ) and mv 1 C = ( mv 1 Ch , mv 1 Cv ) can be determined by mv 0 N = ( mv 0 Nh , mv 0 Nv ) and mv 1 N =( mv 1 Nh , mv 1 Nv ) is derived as follows:

Figure 02_image017
(9)
Figure 02_image017
(9)

其中h’ 是鄰近塊的高度。w 是當前塊的寬度。(x0 ,y0 )是當前塊的左上角的坐標,並且(x’0 ,y’0 )是鄰近塊的右上角的坐標。Where h'is the height of the adjacent block. w is the width of the current block. (X 0, y 0) are the coordinates of the upper left corner of the current block, and (x '0, y' 0 ) are the coordinates of the upper right corner of the neighboring blocks.

替代地,此外,ab 計算過程中的除法運算可以由有或沒有加法運算的移位替代。Alternatively, in addition, the division operation in the calculation of a and b can be replaced by a shift with or without addition.

b.    例如,通過由來自圖4A中的中“A”和“D”的仿射編碼的鄰近塊的右上MV和右下MV推導當前塊的CP MV進行仿射模型繼承。b. For example, affine model inheritance is performed by deriving the CP MV of the current block from the upper-right MV and lower-right MV of the adjacent blocks of affine encoding from the middle "A" and "D" in FIG. 4A.

i.     替代地,通過由來自圖4A中的“A”,“D”和“E”的仿射編碼的鄰近塊的右上MV和右下MV推導當前塊的CP MV進行仿射模型繼承。i. Alternatively, affine model inheritance is performed by deriving the CP MV of the current block from the upper right MV and the lower right MV of the adjacent blocks of the affine encoding from "A", "D" and "E" in FIG. 4A.

c.    例如,僅當鄰近塊在含有當前塊的M×N區域的左側(或左上、或左下)的M×N區域中,才通過由仿射編碼的鄰近塊的右上MV和右下MV推導當前塊的CP MV進行仿射模型繼承。c. For example, only when the neighboring block is in the M×N area on the left (or upper left, or lower left) of the M×N area containing the current block, can it be derived from the upper right MV and the lower right MV of the adjacent block that are affine-encoded The CP MV of the current block performs affine model inheritance.

d.    例如,x 0 =x’ 0d. For example, x 0 = x '0.

i.     替代地,x 0 = 1+x’ 0i. Alternatively, x 0 = 1+ x '0 .

e.    例如,如果當前塊通過由仿射編碼的鄰近塊的右上MV和右下MV推導當前塊的CP MV繼承仿射模型,則將當前塊視為使用4參數仿射模型。e. For example, if the current block inherits the affine model by deriving the CP MV of the current block from the upper right MV and the lower right MV of the adjacent block that are affine-encoded, the current block is regarded as using a 4-parameter affine model.

如果當前塊不使用6參數仿射模型,則可以推導更多的CP MV並儲存以用於運動向量預測和/或濾波過程。If the current block does not use the 6-parameter affine model, more CP MVs can be derived and stored for use in the motion vector prediction and/or filtering process.

a.    在一個示例中,儲存的左下MV可以用於運動預測,包含之後編碼的PU/CU的仿射模型繼承。a. In an example, the stored lower left MV can be used for motion prediction, including the affine model inheritance of the PU/CU to be coded later.

b.    在一個示例中,儲存的左下MV可以用於隨後的圖片的運動預測中。b. In an example, the stored lower left MV can be used for motion prediction of subsequent pictures.

c.    在一個示例中,儲存的左下MV可以用於去塊濾波過程。c. In an example, the stored lower left MV can be used for the deblocking filtering process.

d.    如果仿射編碼的塊不使用6參數仿射模型,則為仿射編碼的塊推導左下角的CP MV並儲存在左下MV單元中,其在VVC中是4×4。d. If the affine-coded block does not use the 6-parameter affine model, the CP MV in the lower left corner is derived for the affine-coded block and stored in the lower left MV unit, which is 4×4 in VVC.

i.     左下角的CP MV(記為mv 2 =(mv 2 h mv 2 v ))對於4參數仿射模型推導如下i. The CP MV in the lower left corner (denoted as mv 2 = ( mv 2 h , mv 2 v )) is derived as follows for the 4-parameter affine model

Figure 02_image019
(10)
Figure 02_image019
(10)

e.    對於仿射編碼塊推導右下角的CP MV並儲存在右下MV單元中,其在VVC中是4×4。儲存的右下MV可以用於運動預測,包含用於之後編碼的PU/CU的仿射模型繼承,或隨後的圖片的運動預測或去塊濾波過程。e. Derive the CP MV in the lower right corner of the affine coding block and store it in the lower right MV unit, which is 4×4 in the VVC. The stored lower right MV can be used for motion prediction, including affine model inheritance of PU/CU for subsequent encoding, or motion prediction or deblocking filtering process of subsequent pictures.

i.     右下角的CP MV(記為mv 3 =(mv 3 h mv 3 v ))對於4參數仿射模型推導如下:i. The CP MV in the lower right corner (denoted as mv 3 = ( mv 3 h , mv 3 v )) is derived as follows for the 4-parameter affine model:

Figure 02_image021
(11)
Figure 02_image021
(11)

ii.    右下角CP MV對於6參數仿射模型推導如下:ii. The CP MV in the lower right corner is derived as follows for the 6-parameter affine model:

Figure 02_image023
(12)
Figure 02_image023
(12)

iii.   右下角的CP MV對於4參數仿射模型和6參數仿射模型兩者推導如下:iii. The CP MV in the lower right corner is derived as follows for both the 4-parameter affine model and the 6-parameter affine model:

a.

Figure 02_image023
(13)a.
Figure 02_image023
(13)

b.    如果4參數模型中的mv 2 =(mv 2 h mv 2 v )如(10)計算。圖8示出了通過由鄰近塊的兩個右側CP推導來仿射繼承的示例。b. If mv 2 = ( mv 2 h , mv 2 v ) in the 4-parameter model, calculate as (10). FIG. 8 shows an example of affine inheritance by derivation from two right CPs of neighboring blocks.

3.    由實施例解決的問題3. Problems solved by the embodiment

一些之前的設計僅可以支持4參數仿射模型的繼承,其可能導致當啟用6參數仿射模型時的編碼性能損失。Some previous designs can only support the inheritance of the 4-parameter affine model, which may cause coding performance loss when the 6-parameter affine model is enabled.

4.    示例性實施例4. Exemplary embodiment

我們提出若干方法來在降低儲存要求的情況下繼承6參數仿射模型。We propose several methods to inherit the 6-parameter affine model while reducing storage requirements.

以下詳細的描述發明應被視為示例來解釋一般概念。這些發明不應狹義地解釋。此外,這些發明可以任何方式組合。本發明和其他發明之間的組合也是適用的。The following detailed description of the invention should be considered as an example to explain the general concept. These inventions should not be interpreted narrowly. In addition, these inventions can be combined in any manner. Combinations between the present invention and other inventions are also applicable.

在以下的討論中,假設仿射編碼的上方或左側鄰近CU的左上角/右上角/左下角/右下角的坐標分別是(LTNx,LTNy)/(RTNx,RTNy)/(LBNx,LBNy)/(RBNx,RBNy);當前CU的左上角/右上角/左下角/右下角的坐標分別是(LTCx,LTCy)/(RTCx,RTCy)/(LBCx,LBCy)/(RBCx,RBCy);仿射編碼的上方或左側鄰近CU的寬度和高度分別是w’和h’;仿射編碼的當前CU的寬度和高度分別是w和h。In the following discussion, it is assumed that the coordinates of the upper left corner/upper right corner/lower left corner/lower right corner of the adjacent CU above or on the left side of the affine encoding are (LTNx, LTNy)/(RTNx, RTNy)/(LBNx, LBNy)/ (RBNx, RBNy); The coordinates of the upper left corner/upper right corner/lower left corner/lower right corner of the current CU are (LTCx, LTCy)/(RTCx, RTCy)/(LBCx, LBCy)/(RBCx, RBCy); Affine The width and height of the adjacent CU above or on the left side of the encoding are w'and h', respectively; the width and height of the current CU of affine encoding are w and h, respectively.

1.    通過以不同方式使用直接在當前塊上方的列中的MV(例如,與當前塊相鄰的塊相關聯的MV)來進行仿射模型繼承,所述方式取決於仿射編碼的上方鄰近塊採用4參數仿射模型還是6參數仿射模型。1. Carry out affine model inheritance by using MVs in the column directly above the current block (for example, MVs associated with blocks adjacent to the current block) in different ways, depending on the upper proximity of affine coding Whether the block adopts a 4-parameter affine model or a 6-parameter affine model.

a.    在一個示例中,當仿射編碼的上方鄰近CU採用4參數仿射模型時,應用繼承方法。a. In an example, when the upper adjacent CU of the affine coding adopts a 4-parameter affine model, the inheritance method is applied.

b.    在一個示例中,如果仿射編碼的上方鄰近塊採用6參數仿射模型,則可以通過從如圖9中所示的仿射編碼的上方鄰近塊的左下MV和右下MV以及一個輔助MV(即,mv0 N 、mv1 N 和與輔助點相關聯的輔助MV)推導當前塊的CPMV而進行6參數仿射模型繼承。b. In an example, if the upper neighboring block of affine encoding adopts a 6-parameter affine model, the lower left MV and the lower right MV of the upper neighboring block of affine encoding as shown in FIG. 9 and an auxiliary MV (ie, mv 0 N , mv 1 N and the auxiliary MV associated with the auxiliary point) derives the CPMV of the current block and performs 6-parameter affine model inheritance.

i.     在一個示例中,僅當仿射編碼的上方鄰近塊採用6參數仿射模型且w’ > Th0(例如,Th0為8),才進行所提出的6參數仿射模型繼承。i. In one example, the proposed 6-parameter affine model is inherited only when the upper adjacent block of the affine encoding adopts the 6-parameter affine model and w'> Th0 (for example, Th0 is 8).

ii.    替代地,當上方塊是用仿射模式編碼的,無論其是4或6參數仿射模式,都可以調用提出的6參數仿射模型繼承。ii. Alternatively, when the upper square is coded in affine mode, whether it is a 4- or 6-parameter affine mode, it can be inherited by calling the proposed 6-parameter affine model.

c.    在一個示例中,利用輔助位置,通過仿射編碼的上方鄰近塊的仿射模型,推導輔助MV。c. In one example, the auxiliary position is used to derive the auxiliary MV through the affine model of the adjacent block above the affine encoding.

i.     輔助位置是預定的;i. The auxiliary position is predetermined;

ii.    替代地,輔助位置是自適應性的。例如,輔助位置取決於上方鄰近塊的尺寸。ii. Alternatively, the auxiliary position is adaptive. For example, the auxiliary position depends on the size of the adjacent block above.

iii.   替代地,輔助位置在VPS/SPS/PPS/條帶標頭/CTU/CU中被從編碼器信令通知到解碼器。iii. Alternatively, the auxiliary location is signaled from the encoder to the decoder in VPS/SPS/PPS/slice header/CTU/CU.

iv.   替代地,輔助位置是(LTNx +(w’>>1),LTNy + h’+ Offset)。Offset是整數。例如,Offset=2K 。在另一示例中,Offset=-2K 。在一些示例中,K可以是1、2、3、4或5。具體地,輔助位置是(LTNx +(w’>>1),LTNy + h’ + 8)。iv. Alternatively, the auxiliary position is (LTNx + (w'>>1), LTNy + h'+ Offset). Offset is an integer. For example, Offset=2 K. In another example, Offset=-2 K. In some examples, K can be 1, 2, 3, 4, or 5. Specifically, the auxiliary position is (LTNx + (w'>>1), LTNy + h'+ 8).

v.    輔助MV被儲存在仿射編碼的上方鄰近塊的基本單元塊(例如VVC中的4x4塊)的底列之一中,如圖10中所示。要儲存輔助MV的基本單元塊被命名為輔助塊。v. The auxiliary MV is stored in one of the bottom columns of the basic unit block (for example, the 4x4 block in VVC) of the upper adjacent block of the affine encoding, as shown in FIG. 10. The basic unit block where the auxiliary MV is to be stored is named auxiliary block.

(a)    在一個示例中,輔助MV無法儲存在仿射編碼的上方鄰近塊的左下和右下角基本單元塊中。(A) In one example, the auxiliary MV cannot be stored in the lower left and lower right basic unit blocks of the upper adjacent block of the affine encoding.

(b)   基本單元塊的底列從左至右指代為B(0),B(1),…,B(M-1)。在一個示例中,輔助MV儲存在基本單元塊B(M/2)中。(B) The bottom column of the basic unit block refers to B(0), B(1),...,B(M-1) from left to right. In one example, the auxiliary MV is stored in the basic unit block B (M/2).

a.    替代地,輔助MV儲存在基本單元塊B(M/2+1)中;a. Alternatively, the auxiliary MV is stored in the basic unit block B (M/2+1);

b.    替代地,輔助MV儲存在基本單元塊B(M/2-1)中;b. Alternatively, the auxiliary MV is stored in the basic unit block B (M/2-1);

(c)    在一個示例中,儲存的輔助MV可以用於之後編碼的PU/CU的運動預測或merge中。(C) In an example, the stored auxiliary MV can be used for PU/CU motion prediction or merge to be coded later.

(d)   在一個示例中,儲存的輔助MV可以用於後續圖片的運動預測或merge中。(D) In an example, the stored auxiliary MV can be used for motion prediction or merge of subsequent pictures.

(e)    在一個示例中,儲存的輔助MV可以用於濾波過程(例如,去塊濾波)中。(E) In an example, the stored auxiliary MV can be used in the filtering process (for example, deblocking filtering).

(f)    替代地,附加緩衝器可以用於儲存輔助MV,而不是將它們儲存在基本單元塊中。在此情況下,儲存的輔助MV可以僅用於仿射運動繼承,而不用於編碼當前條帶/片或不同圖片中的之後編碼的塊,並且不用於濾波過程(例如,去塊濾波)。(F) Alternatively, additional buffers can be used to store auxiliary MVs instead of storing them in the basic unit block. In this case, the stored auxiliary MV may only be used for affine motion inheritance, and not used for encoding the current slice/slice or a block to be encoded later in a different picture, and not used for the filtering process (for example, deblocking filtering).

vi.   在解碼仿射編碼的上方鄰近塊之後,輔助位置的坐標作為輸入(x,y),由Eq.(2)計算輔助MV。並且然後輔助MV儲存在輔助塊中。vi. After decoding the upper adjacent block of the affine encoding, the coordinates of the auxiliary position are used as input (x, y), and the auxiliary MV is calculated by Eq. (2). And then the auxiliary MV is stored in the auxiliary block.

(a)    在一個示例中,儲存在輔助塊中的MV不用於為輔助塊進行MC。(A) In an example, the MV stored in the auxiliary block is not used for MC for the auxiliary block.

d.  在圖9中所示的一個示例中,當前塊的三個CPMV,指代為mv0 C =(mv0 Ch ,mv0 Cv ),mv1 C =(mv1 Ch ,mv1 Cv )和mv2 C =(mv2 Ch ,mv2 Cv ),被從作為仿射編碼的上方鄰近塊的左下角處的MV的mv0 N =(mv0 Nh ,mv0 Nv )、作為仿射編碼的上方鄰近塊的右下角處的MV的mv1 N =(mv1 Nh ,mv1 Nv )以及作為輔助MV的mvA =(mvA h ,mvA v )推導如下:d. In an example shown in Figure 9, the three CPMVs of the current block are referred to as mv 0 C = (mv 0 Ch , mv 0 Cv ), mv 1 C = (mv 1 Ch , mv 1 Cv ) and mv 2 C = (mv 2 Ch , mv 2 Cv ), which is affine-coded from mv 0 N = (mv 0 Nh , mv 0 Nv ) of the MV at the lower left corner of the upper adjacent block, which is affine-coded The mv 1 N = (mv 1 Nh , mv 1 Nv ) of the MV at the lower right corner of the upper adjacent block and mv A = (mv A h , mv A v ) as the auxiliary MV are derived as follows:

Figure 02_image025
(14)
Figure 02_image025
(14)

其中(x0,y0)是當前塊的左上角的坐標,並且(x’0,y’0)是鄰近塊的左下角的坐標。Where (x0, y0) are the coordinates of the upper left corner of the current block, and (x’0, y’0) are the coordinates of the lower left corner of the adjacent block.

替代地,此外,(14)中的除法運算可以由右移替代,在移位之前可以添加或不添加偏移i. 例如,等式(14)中的數字K取決於如何定義輔助位置以得到輔助MV。在1.c.iv所公開的示例中,輔助位置是(LTNx+(w’>>1),LTNy+h’+Offset),其中Offset=2K 。在示例中,K = 3。Alternatively, in addition, the division operation in (14) can be replaced by a right shift, and an offset can be added or not added before the shift i. For example, the number K in equation (14) depends on how the auxiliary position is defined to obtain Support MV. In the example disclosed in 1.c.iv, the auxiliary position is (LTNx+(w'>>1), LTNy+h'+Offset), where Offset= 2K . In the example, K = 3.

e.    例如,僅當鄰近塊在含有當前塊的M×N區域上方(或右上,或左上)的M×N區域中,才通過從仿射編碼的鄰近塊的左下MV和右下MV推導當前塊的CP MV來進行仿射模型繼承。e. For example, only when the neighboring block is in the M×N area above (or top right, or top left) of the M×N area containing the current block, can the current block be derived from the bottom left MV and bottom right MV of the affine-encoded neighboring block Block CP MV for affine model inheritance.

i.     例如,M×N區域是CTU,例如128×128區域;i. For example, M×N area is CTU, such as 128×128 area;

ii.    例如,M×N區域是流水線尺寸,例如64×64區域。ii. For example, the M×N area is the size of the pipeline, such as a 64×64 area.

f.     例如,y0 = y’0f. For example, y 0 = y '0.

i.     替代地,y0 = 1+y’0i. Alternatively, y 0 = 1+y' 0 .

圖9示出了通過從儲存在仿射編碼的上方鄰近塊的底列中的MV推導的6參數仿射繼承的示例。Fig. 9 shows an example of 6-parameter affine inheritance derived from the MV stored in the bottom column of the upper adjacent block of affine encoding.

圖10示出了可以儲存輔助MV的基本單元塊的底列(陰影的)的示例。Fig. 10 shows an example of the bottom row (shaded) of the basic unit block where the auxiliary MV can be stored.

2.    通過使用當前塊左側的列中的MV以不同方式進行仿射模型繼承,所述方式取決於仿射編碼的左側鄰近CU採用4參數仿射模型還是6參數仿射模型。2. Carry out affine model inheritance in different ways by using the MV in the column on the left side of the current block, depending on whether the left neighboring CU of affine coding adopts a 4-parameter affine model or a 6-parameter affine model.

a.    在一個示例中,當仿射編碼的左側鄰近CU採用4參數仿射模型時,應用之前公開的方法。a. In an example, when the left-side neighboring CU of the affine coding adopts a 4-parameter affine model, the previously disclosed method is applied.

b.    在一個示例中,如果仿射編碼的左側鄰近塊採用6參數仿射模型,則可以通過從圖11中所示的仿射編碼的左側鄰近塊的右上MV和右下MV以及一個輔助MV推導當前塊的CPMV,進行6參數仿射模型繼承。b. In one example, if the left neighboring block of affine coding adopts a 6-parameter affine model, the affine coding of the left neighboring block from the upper right MV and the lower right MV and an auxiliary MV Derive the CPMV of the current block and carry out 6-parameter affine model inheritance.

i.     在一個示例中,僅當仿射編碼的左側鄰近塊採用6參數仿射模型且h’ > Th1(例如,Th1為8),才可以進行6參數仿射模型繼承。i. In one example, the 6-parameter affine model can only be inherited when the left neighboring block of the affine encoding adopts the 6-parameter affine model and h'> Th1 (for example, Th1 is 8).

ii.    替代地,當左側塊是用仿射模式編碼時,無論其是4還是6參數仿射模式,都可以調用提出的6參數仿射模型繼承。ii. Alternatively, when the left block is coded in affine mode, regardless of whether it is a 4- or 6-parameter affine mode, the proposed 6-parameter affine model can be invoked to inherit.

c.    在一個示例中,利用輔助位置,通過仿射編碼的左側鄰近塊的仿射模型推導輔助MV。c. In one example, the auxiliary position is used to derive the auxiliary MV through the affine model of the affine-coded left neighboring block.

i.     在一個示例中,輔助位置是預定的;i. In one example, the auxiliary position is predetermined;

ii.    在一個示例中,輔助位置是自適應性的。例如,輔助位置取決於左側鄰近塊的尺寸。ii. In one example, the auxiliary position is adaptive. For example, the auxiliary position depends on the size of the adjacent block on the left.

iii.   在一個示例中,輔助位置在VPS/SPS/PPS/條帶標頭/CTU/CU中被從編碼器信令通知到解碼器。iii. In an example, the auxiliary location is signaled from the encoder to the decoder in VPS/SPS/PPS/slice header/CTU/CU.

iv.   在一個示例中,輔助位置是(LTNx+w’+Offset),LTNy+(h’>>1))。Offset是整數。例如,Offset=2K 。在另一示例中,Offset = -2K 。在一些示例中,K可以是1、2、3、4或5。特別地,輔助位置是(LTNx+w’+8,LTNy+(h’>> 1))。iv. In an example, the auxiliary position is (LTNx+w'+Offset), LTNy+(h'>>1)). Offset is an integer. For example, Offset=2 K. In another example, Offset = -2 K. In some examples, K can be 1, 2, 3, 4, or 5. In particular, the auxiliary position is (LTNx+w'+8, LTNy+(h'>> 1)).

v.    輔助MV儲存在仿射編碼的左側鄰近塊的基本單元塊(例如VVC中的4x4塊)的右行之一中,如圖12中所示。要儲存輔助MV的基本單元塊命名為輔助塊。v. The auxiliary MV is stored in one of the right rows of the basic unit block (for example, the 4x4 block in VVC) of the left neighboring block of affine coding, as shown in Figure 12. The basic unit block to store the auxiliary MV is named auxiliary block.

(a)    在一個示例中,輔助MV無法儲存在仿射編碼的左側鄰近塊的右上和右下角基本單元塊中。(A) In an example, the auxiliary MV cannot be stored in the upper right and lower right basic unit blocks of the left neighboring block of affine encoding.

(b)   基本單元塊的右行從頂至底指代為B(0),B(1),…,B(M-1)。在一個示例中,輔助MV儲存在基本單元塊B(M/2)中。(B) The right row of the basic unit block refers to B(0), B(1),..., B(M-1) from top to bottom. In one example, the auxiliary MV is stored in the basic unit block B (M/2).

a.    替代地,輔助MV儲存在基本單元塊B(M/2+1)中;a. Alternatively, the auxiliary MV is stored in the basic unit block B (M/2+1);

b.    替代地,輔助MV儲存在基本單元塊B(M/2-1)中;b. Alternatively, the auxiliary MV is stored in the basic unit block B (M/2-1);

(c)    在一個示例中,儲存的輔助MV可以用於之後編碼的PU/CU的運動預測或merge。(C) In an example, the stored auxiliary MV can be used for PU/CU motion prediction or merge to be coded later.

(d)   在一個示例中,儲存的輔助MV可以用於後續圖片的運動預測或merge。(D) In an example, the stored auxiliary MV can be used for motion prediction or merge of subsequent pictures.

(e)    在一個示例中,儲存的輔助MV可以用於濾波過程(例如,去塊濾波)。(E) In one example, the stored auxiliary MV can be used in the filtering process (for example, deblocking filtering).

(f)    替代地,附加緩衝器可以用於儲存輔助MV,而不是將它們儲存在基本單元塊中。在此情況下,儲存的輔助MV可以僅用於仿射運動繼承,而不用於編碼當前條帶/片或不同圖片中的之後編碼的塊,並且不用於濾波過程(例如,去塊濾波)。(F) Alternatively, additional buffers can be used to store auxiliary MVs instead of storing them in the basic unit block. In this case, the stored auxiliary MV may only be used for affine motion inheritance, and not used for encoding the current slice/slice or a block to be encoded later in a different picture, and not used for the filtering process (for example, deblocking filtering).

vi.        在解碼仿射編碼的左側鄰近塊之後,輔助位置的坐標作為輸入(x,y),由等式(2)計算輔助MV。並且然後輔助MV儲存在輔助塊中。vi. After decoding the left adjacent block of affine encoding, the coordinates of the auxiliary position are used as input (x, y), and the auxiliary MV is calculated by equation (2). And then the auxiliary MV is stored in the auxiliary block.

(a)    在一個示例中,儲存在輔助塊中的MV不用於進行用於輔助塊的MC。(A) In an example, the MV stored in the auxiliary block is not used to perform MC for the auxiliary block.

d.  在如圖11中所示的一個示例中,當前塊的三個CPMV,指代為mv0 C =(mv0 Ch ,mv0 Cv ),mv1 C =(mv1 Ch ,mv1 Cv )和mv2 C =(mv2 Ch ,mv2 Cv ),被從作為仿射編碼的左側鄰近塊的右上角處的MV的mv0 N =(mv0 Nh ,mv0 Nv )、作為仿射編碼的左側鄰近塊的右下角處的MV的mv1 N =(mv1 Nh ,mv1 Nv )以及作為輔助MV的mvA =(mvA h ,mvA v ),推導如下:d. In an example shown in Figure 11, the three CPMVs of the current block are referred to as mv 0 C = (mv 0 Ch , mv 0 Cv ), mv 1 C = (mv 1 Ch , mv 1 Cv ) And mv 2 C = (mv 2 Ch , mv 2 Cv ), which is derived from mv 0 N = (mv 0 Nh , mv 0 Nv ) of the MV at the upper right corner of the left adjacent block as affine coding, as affine coding The mv 1 N = (mv 1 Nh , mv 1 Nv ) and mv A = (mv A h , mv A v ) of the MV as the auxiliary MV at the lower right corner of the adjacent block on the left of, are derived as follows:

Figure 02_image027
(15)
Figure 02_image027
(15)

其中(x0 ,y0 )是當前塊的左上角的坐標,(x’0 ,y’0 )是鄰近塊的右上角的坐標。Where (x 0, y 0) are the coordinates of the upper left corner of the current block, (x '0, y' 0) are the coordinates of the upper right corner of the neighboring blocks.

替代地,此外,(15)中的除法運算可以被有或沒有加法運算的移位替代。Alternatively, in addition, the division operation in (15) can be replaced by a shift with or without addition operation.

i.     例如,等式(15)中的數字K取決於如何定義輔助位置以得到輔助MV。在2.c.iv所公開的示例中,輔助位置是(LTNx+w’+Offset),LTNy+(h’>>1))其中Offset=2K 。在示例中,K = 3。i. For example, the number K in equation (15) depends on how the auxiliary position is defined to obtain the auxiliary MV. In the example disclosed in 2.c.iv, the auxiliary position is (LTNx+w'+Offset), LTNy+(h'>>1)) where Offset=2 K. In the example, K = 3.

e.    例如,僅當鄰近塊在含有當前塊的M×N區域左側(或左上、或左下)的M×N區域中,才通過從仿射編碼的鄰近塊的右上MV和右下MV推導當前塊的CP MV來進行仿射模型繼承。e. For example, only when the neighboring block is in the M×N area to the left (or upper left, or lower left) of the M×N area containing the current block, can the current block be derived from the upper right MV and lower right MV of the affine-encoded adjacent block Block CP MV for affine model inheritance.

i.     例如,M×N區域是CTU,例如128×128區域;i. For example, M×N area is CTU, such as 128×128 area;

ii.    例如,M×N區域是流水線尺寸,例如64×64區域。ii. For example, the M×N area is the size of the pipeline, such as a 64×64 area.

f.     例如,x0 = x’0f. For example, x 0 = x '0.

i.     替代地,x0 = 1+x’0i. Alternatively, x 0 = 1+x' 0 .

3.    在一個示例中,當前塊僅需要存取儲存在當前塊上方的列中的和當前塊左側的行中的基本單元(例如VVC中的4×4塊)中的MV,如圖13中所示。當前塊的左上位置的坐標指代為(x0,y0)。當前塊可以存取當前塊上方的開始於具有左上坐標(xRS,yRS)的基本單元並且結束於具有左上坐標(xRE,yRE)的基本單元的基本單元列(指代為所需的上方的列)中的MV。相似地,當前塊可以存取當前塊左側的開始於具有左上坐標(xCS,yCS)的基本單元並且結束於具有左上坐標(xCE,yCE)的基本單元的基本單元行(指代為所需的左側的行)中的MV。當前塊的寬度和高度分別指代為W和H。假設基本單元尺寸是B×B(例如在VVC中4×4),則yRS=yRE=y0-B且xCS=xCE=x0-B。3. In an example, the current block only needs to access the MV in the basic unit (for example, the 4×4 block in VVC) stored in the column above the current block and in the row to the left of the current block, as shown in Figure 13. Shown. The coordinates of the upper left position of the current block are referred to as (x0, y0). The current block can access the basic unit column above the current block starting with the basic unit with upper left coordinates (xRS, yRS) and ending with the basic unit with upper left coordinates (xRE, yRE) (refer to the required upper column) In the MV. Similarly, the current block can access the basic unit row on the left side of the current block starting with the basic unit with upper left coordinates (xCS, yCS) and ending with the basic unit with upper left coordinates (xCE, yCE) (referred to as the desired left Line) in the MV. The width and height of the current block are referred to as W and H, respectively. Assuming that the basic unit size is B×B (for example, 4×4 in VVC), then yRS=yRE=y0-B and xCS=xCE=x0-B.

a.    所需的上方的列和所需的左側的行的範圍可以受限。a. The required upper column and the required left row range can be limited.

i.     在一個示例中,xRS = x0-n×W-m。n和m是整數,諸如n=0,m=0,n = 0,m =1,n=1,m=1,或n=2,m = 1;i. In an example, xRS = x0-n×W-m. n and m are integers, such as n=0, m=0, n=0, m=1, n=1, m=1, or n=2, m=1;

ii.    在一個示例中,xRE = x0+ n×W+m。n和m是整數,諸如n = 1,m =-B,n = 1,m = B,n=2,m= -B,或n=3,m= -B;ii. In an example, xRE = x0+ n×W+m. n and m are integers, such as n=1, m=-B, n=1, m=B, n=2, m=-B, or n=3, m=-B;

iii.   在一個示例中,yCS = y0-n×H-m。n和m是整數,諸如n=0,m=0,n = 0,m =1,n=1,m=1,或n=2,m = 1;iii. In an example, yCS = y0-n×H-m. n and m are integers, such as n=0, m=0, n=0, m=1, n=1, m=1, or n=2, m=1;

iv.   在一個示例中,yCE = y0+ n×H+m。n和m是整數,諸如n = 1,m =-B,n = 1,m = B,n=2,m= -B,或n=3,m= -B;iv. In an example, yCE = y0+ n×H+m. n and m are integers, such as n=1, m=-B, n=1, m=B, n=2, m=-B, or n=3, m=-B;

v.    在一個示例中,當前塊不需要所需的上方的列;v. In an example, the current block does not need the required upper column;

vi.   在一個示例中,當前塊不需要所需的左側的行;vi. In an example, the required left row is not needed for the current block;

vii.  在一個示例中,xRS,xRE,yCS和yCE的選擇可以取決於輔助塊的位置。vii. In one example, the selection of xRS, xRE, yCS and yCE may depend on the location of the auxiliary block.

(a)    在一個示例中,輔助塊總是被所選的上方的列或左側的行覆蓋。(A) In an example, the auxiliary block is always covered by the selected upper column or left row.

(b)   替代地,此外,(xRS,yRS),(xRE,yRE),(xCS,yCS)和(xCE,yCE)不應與輔助塊重疊。(B) Alternatively, in addition, (xRS, yRS), (xRE, yRE), (xCS, yCS) and (xCE, yCE) should not overlap with auxiliary blocks.

viii. 在一個示例中,所需的上方的列和所需的左側的行的範圍取決於當前塊的位置。viii. In one example, the required upper column and the required left row range depend on the current block position.

(a)    如果當前塊在P×Q區域的頂部邊界處,即當y0%Q==0時,其中Q可以是128(CTU區域)或64(流水線區域)。(A) If the current block is at the top boundary of the P×Q area, that is, when y0%Q==0, Q can be 128 (CTU area) or 64 (pipeline area).

a.    在一個示例中,當前塊不需要所需的上方的列;a. In an example, the current block does not need the required upper column;

b.    在一個示例中,xRS = x0;b. In an example, xRS = x0;

(b)   如果當前塊在P×Q區域的左邊界處,即當x0%P==0時,其中P可以是128(CTU區域)或64(流水線區域)。(B) If the current block is at the left boundary of the P×Q area, that is, when x0%P==0, where P can be 128 (CTU area) or 64 (pipeline area).

a.    在一個示例中,當前塊不需要所需的左側的行;a. In an example, the current block does not need the required left row;

b.    在一個示例中,yCS = y0;b. In an example, yCS = y0;

4.    作為示例2.d的替代方法,當前塊的三個CPMV,指代為mv0 C =(mv0 Ch ,mv0 Cv ),mv1 C =(mv1 Ch ,mv1 Cv )and mv2 C =(mv2 Ch ,mv2 Cv ),被從作為仿射編碼的左側鄰近塊的右上角處的MV的mv0 N =(mv0 Nh ,mv0 Nv )、作為仿射編碼的左側鄰近塊的右下角處的MV的mv1 N =(mv1 Nh ,mv1 Nv )以及作為輔助MV的mvA =(mvA h,mvA v),推導如下:4. As an alternative to example 2.d, the three CPMVs of the current block are referred to as mv 0 C = (mv 0 Ch , mv 0 Cv ), mv 1 C = (mv 1 Ch , mv 1 Cv ) and mv 2 C = (mv 2 Ch , mv 2 Cv ), mv 0 N = (mv 0 Nh , mv 0 Nv ), which is the left side neighbor of affine encoding, at the upper right corner of the left neighboring block The mv 1 N = (mv 1 Nh , mv 1 Nv ) of the MV at the lower right corner of the block and mv A = (mv A h, mv A v) as the auxiliary MV are derived as follows:

Figure 02_image029
(16)
Figure 02_image029
(16)

其中(x0,y0)是當前塊的左上角的坐標,並且(x’0,y’0)是鄰近塊的右上角的坐標。Where (x0, y0) are the coordinates of the upper left corner of the current block, and (x’0, y’0) are the coordinates of the upper right corner of the adjacent block.

替代地,此外,(16)中的除法運算可以被有或沒有加法運算的移位替代。Alternatively, in addition, the division operation in (16) can be replaced by a shift with or without addition operation.

5.    在示例1.c.v中,僅當仿射編碼的上方鄰近塊是用6參數仿射模型編碼的,才將輔助MV儲存在仿射編碼的上方鄰近塊的底列基本單元塊(例如VVC中的4x4塊)中的一個(諸如中間的一個)中。5. In example 1.cv, only when the upper neighboring block of affine encoding is coded with a 6-parameter affine model, the auxiliary MV is stored in the base unit block of the upper neighboring block of affine encoding (such as VVC). One of the 4x4 blocks (such as the middle one).

a.    替代地,輔助MV儲存在仿射編碼的上方鄰近塊的底列基本單元塊(例如VVC中的4x4塊)中的一個(諸如中間的一個)中,無論仿射編碼的上方鄰近塊是用4參數仿射模型還是6參數仿射模型編碼的。a. Alternatively, the auxiliary MV is stored in one of the basic unit blocks (such as the middle one) of the upper neighboring block of affine encoding (for example, the 4x4 block in VVC), regardless of whether the upper neighboring block of affine encoding is Use 4-parameter affine model or 6-parameter affine model to encode.

6.    在示例2.c.v中,僅當仿射編碼的左側鄰近塊是用6參數仿射模型編碼的,才將輔助MV儲存在仿射編碼的左側鄰近塊的右行基本單元塊(例如VVC中的4x4塊)中的一個(諸如中間的一個)中。6. In example 2.cv, only when the left neighboring block of affine encoding is coded with a 6-parameter affine model, the auxiliary MV is stored in the right row basic unit block of the left neighboring block of affine encoding (for example, VVC One of the 4x4 blocks (such as the middle one).

a.    替代地,將輔助MV儲存在仿射編碼的左側鄰近塊的右行基本單元塊(例如VVC中的4x4塊)中的一個(諸如中間的一個)中,無論仿射編碼的左側鄰近塊是用4參數仿射模型還是6參數仿射模型編碼的。a. Alternatively, store the auxiliary MV in one (such as the middle one) of the right-row basic unit blocks of the left neighboring block of the affine encoding (for example, the 4x4 block in VVC), regardless of the left neighboring block of the affine encoding Whether to use 4-parameter affine model or 6-parameter affine model to encode

7.    在一個示例中,當前塊的左下基本單元塊總是儲存左下角處的CPMV,無論當前塊採用4參數模型還是6參數模型。例如在圖3中,塊LB總是儲存mv2。7. In an example, the lower left basic unit block of the current block always stores the CPMV at the lower left corner, regardless of whether the current block uses a 4-parameter model or a 6-parameter model. For example, in Figure 3, the block LB always stores mv2.

8.    在一個示例中,當前塊的右下基本單元塊總是儲存右下角處的CPMV,無論當前塊採用4參數模型還是6參數模型。例如在圖3中,塊RB總是儲存mv3。8. In an example, the lower right basic unit block of the current block always stores the CPMV at the lower right corner, regardless of whether the current block uses a 4-parameter model or a 6-parameter model. For example, in Figure 3, the block RB always stores mv3.

9.    無論仿射編碼的鄰近塊採用4參數模型還是6參數模型,以相同方式進行仿射繼承。9. Regardless of whether the adjacent blocks of affine coding adopt a 4-parameter model or a 6-parameter model, affine inheritance is performed in the same way.

a.    以6參數仿射模型繼承方式,從儲存在仿射編碼的鄰近塊的左上基本塊、右上基本塊和左下基本單元中的MV推導當前塊在左上角、右上角和左下角處的CPMV(例如圖4(b)中的mv0 C ,mv1 C 和mv2 C )。a. Derive the CPMV of the current block in the upper left corner, upper right corner and lower left corner from the MVs in the upper left basic block, upper right basic block, and lower left basic unit stored in the adjacent blocks of affine coding in a 6-parameter affine model inheritance method (For example, mv 0 C , mv 1 C and mv 2 C in Figure 4(b)).

i.     例如,儲存在仿射編碼的鄰近塊的左上基本塊、右上基本塊和左下基本單元中的MV是仿射編碼的鄰近塊的左上角、右上角和右下角處的CPMV。i. For example, the MVs stored in the upper left basic block, the upper right basic block, and the lower left basic unit of the affine-coded neighboring blocks are the CPMV at the upper left, upper right, and lower right corners of the affine-coded neighboring blocks.

b.    以示例1中限定的方式從儲存在仿射編碼的上方鄰近塊的基本單元的底列的左下基本單元、右下基本單元和額外基本單元中的MV推導當前塊在左上角、右上角和左下角處的CPMV(例如圖4(b)中的mv0 C ,mv1 C 和mv2 C )。b. Derive the current block in the upper left corner and upper right corner from the MVs in the lower left basic unit, lower right basic unit, and additional basic unit stored in the bottom column of the basic unit of the adjacent block above the affine encoding in the manner defined in Example 1. And the CPMV in the lower left corner (for example, mv 0 C , mv 1 C and mv 2 C in Figure 4(b)).

i.     例如,儲存在仿射編碼的上方鄰近塊的基本單元的底列中的左下基本單元、右下基本單元和額外基本單元中的MV是仿射編碼的鄰近塊的左下角處的CPMV、右下角處的CPMV和輔助MV。i. For example, the MVs in the lower left basic unit, lower right basic unit, and extra basic unit stored in the bottom column of the basic unit of the upper adjacent block of affine encoding are the CPMV at the lower left corner of the adjacent block of affine encoding, CPMV and auxiliary MV in the lower right corner.

c.    以示例2中限定的方式從儲存在仿射編碼的左側鄰近塊的基本單元的右行中的右上基本單元、右下基本單元和額外基本單元中的MV推導當前塊在左上角、右上角和左下角處的CPMV(例如圖4(b)中的mv0 C ,mv1 C 和mv2 C )。c. Derive the current block in the upper left corner, upper right corner from the upper right basic unit, lower right basic unit, and the MV in the additional basic unit stored in the right row of the basic unit of the left adjacent block of the affine encoding in the manner defined in Example 2. And the CPMV at the lower left corner (for example, mv 0 C , mv 1 C and mv 2 C in Figure 4(b)).

i.     例如,儲存在仿射編碼的左側鄰近塊的基本單元的右行中的右上基本單元、右下基本單元和額外基本單元中的MV是仿射編碼的鄰近塊的右上角處的CPMV、右下角處的CPMV和輔助MV。i. For example, the MVs in the upper right basic unit, lower right basic unit, and extra basic unit stored in the right row of the basic unit of the left adjacent block of affine encoding are the CPMV at the upper right corner of the adjacent block of affine encoding, CPMV and auxiliary MV in the lower right corner.

d.    繼承的仿射merge塊總是標記為“使用6參數”。d. The inherited affine merge block is always marked as "using 6 parameters".

e.    當從上方鄰近塊繼承仿射模型,並且上方鄰近塊的寬度不大於8時,則將輔助MV計算為儲存在左下基本單元和右下基本單元中的MV的平均。e. When the affine model is inherited from the upper adjacent block and the width of the upper adjacent block is not greater than 8, the auxiliary MV is calculated as the average of the MVs stored in the lower left basic unit and the lower right basic unit.

i.     例如,儲存在仿射編碼的上方鄰近塊的左下基本單元、右下基本單元中的MV是仿射編碼的上方鄰近塊的左下角處的CPMV和右下角處的CPMV。i. For example, the MVs stored in the lower left basic unit and the lower right basic unit of the upper adjacent block of affine encoding are the CPMV at the lower left corner and the CPMV at the lower right corner of the upper adjacent block of affine encoding.

f.     當從左側鄰近塊繼承仿射模型,並且左側鄰近塊的高度不大於8時,則將輔助MV計算為儲存在右上基本單元和右下基本單元中的MV的平均。f. When the affine model is inherited from the left adjacent block, and the height of the left adjacent block is not greater than 8, the auxiliary MV is calculated as the average of the MVs stored in the upper right basic unit and the lower right basic unit.

i.     例如,儲存在仿射編碼的左側鄰近塊的右上基本單元、右下基本單元中的MV是仿射編碼的左側鄰近塊的右上角處的CPMV和右下角處的CPMV。i. For example, the MVs stored in the upper right basic unit and the lower right basic unit of the left adjacent block of affine encoding are the CPMV at the upper right corner and the CPMV at the lower right corner of the left adjacent block of affine encoding.

10.  在一個示例中,由儲存在子塊中的MV進行用於子塊的MC。10. In an example, the MC for the sub-block is performed by the MV stored in the sub-block.

a.    例如,儲存的MV是CPMV;a. For example, the stored MV is CPMV;

b.    例如,儲存的MV是輔助MV。b. For example, the stored MV is an auxiliary MV.

11.  無論仿射編碼的鄰近塊採用4參數模型還是6參數模型,以相同方式進行仿射繼承。11. Regardless of whether the adjacent blocks of affine coding adopt a 4-parameter model or a 6-parameter model, perform affine inheritance in the same way.

12.  每個編碼塊要儲存的輔助MV可以多於1。12. The auxiliary MV to be stored in each coding block can be more than 1.

a.    輔助MV的使用可以與上述方式相同。a. The auxiliary MV can be used in the same way as above.

圖11示出了通過從儲存在仿射編碼的左側鄰近塊的右行中的MV推導的6參數仿射繼承的示例。Fig. 11 shows an example of 6-parameter affine inheritance derived from the MV stored in the right row of the left neighboring block of affine encoding.

圖12示出了可以儲存輔助MV的基本單元塊的右行(陰影的)的示例。Fig. 12 shows an example of the right row (shaded) of the basic unit block where the auxiliary MV can be stored.

圖13示出了MV儲存體的示例。Fig. 13 shows an example of MV storage.

5.    其他實施例5. Other embodiments

本章節公開了所提出的本發明的實施例的示例。應注意,其僅是所提出的方法的全部可能實施例之一,並且不應以狹隘方式理解。This section discloses examples of embodiments of the proposed invention. It should be noted that it is only one of all possible embodiments of the proposed method and should not be understood in a narrow way.

歸一化(a,b)如等式(7)中定義。The normalization (a, b) is as defined in equation (7).

輸入:enter:

當前塊到左上角的坐標,記為(posCurX,posCurY);The coordinates of the current block to the upper left corner are recorded as (posCurX, posCurY);

鄰近塊的左上角的坐標,記為(posLTX,posLTY);The coordinates of the upper left corner of the adjacent block are recorded as (posLTX, posLTY);

鄰近塊的右上角的坐標,記為(posRTX,posRTY);The coordinates of the upper right corner of the adjacent block are recorded as (posRTX, posRTY);

鄰近塊的左下角的坐標,記為(posLBX,posLBY);The coordinates of the lower left corner of the adjacent block are recorded as (posLBX, posLBY);

鄰近塊的右下角的坐標,記為(posRBX,posRBY);The coordinates of the lower right corner of the adjacent block are recorded as (posRBX, posRBY);

當前塊的寬度和高度,記為W和H;The width and height of the current block are recorded as W and H;

鄰近塊的寬度和高度,記為W’和H’;The width and height of adjacent blocks are marked as W’ and H’;

鄰近塊的左上角處的MV,記為(mvLTX,mvLTY);The MV at the upper left corner of the adjacent block is marked as (mvLTX, mvLTY);

鄰近塊的右上角處的MV,記為(mvRTX,mvRTY);The MV at the upper right corner of the adjacent block is marked as (mvRTX, mvRTY);

鄰近塊的左下角處的MV,記為(mvLBX,mvLBY);The MV at the lower left corner of the adjacent block is marked as (mvLBX, mvLBY);

鄰近塊的右下角處的MV,記為(mvRBX,mvRBY);The MV at the lower right corner of the adjacent block is marked as (mvRBX, mvRBY);

常數:移位,其可以為任意正整數,諸如7或8。Constant: shift, which can be any positive integer, such as 7 or 8.

輸出:Output:

當前塊的左上角處的MV,記為(MV0X,MV0Y);The MV at the upper left corner of the current block is marked as (MV0X, MV0Y);

當前塊的右上角處的的MV,記為(MV1X,MV1Y);The MV at the upper right corner of the current block is marked as (MV1X, MV1Y);

當前塊的右下角處的MV,記為(MV2X,MV2Y);The MV at the lower right corner of the current block is marked as (MV2X, MV2Y);

仿射模型繼承的例程: If posRBY is equal to (posCurY-1) { // Above neighbouring block iDMvHorX = (mvRBX – mvLBX) >> (shift – log2(W’)) iDMvHorY = (mvRBY – mvLBY) >> (shift – log2(W’)) iDMvVerX = -iDMvHorY; iDMvVerY = iDMvHorX; if the neighbouring block applies the 6-parameter affine model and W’ > 8{ AuxiliaryX = posLBx + (W’ >> 1); AuxiliaryY = posLBy; (mvAuxiliaryX, mvAuxiliaryY) is set to be the MV stored in the basic unit block containing (AuxiliaryX, AuxiliaryY); mvMidX = Normalize(  mvRBX + mvLBX, 1); mvMidY = Normalize(  mvRBY + mvLBY, 1); iDMvVerX = (mvAuxiliaryX - mvMidX) >> (shift - 3); iDMvVerY = (mvAuxiliaryY - mvMidY) >> (shift - 3); } iMvScaleHor = mvLBX >> shift; iMvScaleVer = mvLBY >> shift; posNeiX = posLBX; posNeiY = posLBY + 1; } else if posRBX is equal to (posCurX -1) {//Left neighbouring block iDMvHorX = (mvRBY– mvRTY) >> (shift – log2(H’)) iDMvHorY = -(mvRBX – mvRTX) >> (shift – log2(H’)) iDMvVerX = -iDMvHorY; iDMvVerY = iDMvHorX; if the neighbouring block applies the 6-parameter affine model and H’ > 8 { AuxiliaryX = posRTX; AuxiliaryY = posRTY + (H’>>1); (mvAuxiliaryX, mvAuxiliaryY) is set to be the MV stored in the basic unit block containing (AuxiliaryX, AuxiliaryY); mvMidX = Normalize(  mvRBX + mvRTX, 1); mvMidY = Normalize(  mvRBY + mvRTY, 1); iDMvHorX = (mvAuxiliaryX - mvMidX) >> (shift - 3); iDMvHorY = (mvAuxiliaryY - mvMidY) >> (shift - 3); } iMvScaleHor = mvRTX >> shift; iMvScaleVer = mvRTY >> shift; posNeiX = posRTX+1; posNeiY = posRTY; } else{ Return “Input is invalid!” } } horTmp0 = iMvScaleHor + iDMvHorX * (posCurX - posNeiX) + iDMvVerX * (posCurY - posNeiY); verTmp0 = iMvScaleVer + iDMvHorY * (posCurX - posNeiX) + iDMvVerY * (posCurY - posNeiY); MV0X = Normalize ( horTmp0, shift ); MV0Y = Normalize ( verTmp0, shift ); horTmp1 = iMvScaleHor + iDMvHorX * (posCurX + W - posNeiX) + iDMvVerX * (posCurY - posNeiY); verTmp1 = iMvScaleVer + iDMvHorY * (posCurX + W - posNeiX) + iDMvVerY * (posCurY - posNeiY); MV1X = Normalize ( horTmp1, shift ); MV1Y = Normalize ( verTmp1, shift ); if the neighbouring block applies the 6-parameter affine model{ The current block also applies the 6-parameter affine model; horTmp2 = iMvScaleHor + iDMvHorX * (posCurX  - posNeiX) + iDMvVerX * (posCurY+H - posNeiY); verTmp2 = iMvScaleVer + iDMvHorY * (posCurX  - posNeiX) + iDMvVerY * (posCurY+H- posNeiY); MV2X = Normalize ( horTmp2, shift ); MV2Y = Normalize ( verTmp2, shift ); }Routines inherited by affine model: If posRBY is equal to (posCurY-1) {// Above neighbouring block iDMvHorX = (mvRBX – mvLBX) >> (shift – log2(W’)) iDMvHorY = (mvRBY – mvLBY) >> (shift – log2(W’)) iDMvVerX = -iDMvHorY; iDMvVerY = iDMvHorX; if the neighbouring block applies the 6-parameter affine model and W’> 8{ AuxiliaryX = posLBx + (W’ >> 1); AuxiliaryY = posLBy; (mvAuxiliaryX, mvAuxiliaryY) is set to be the MV stored in the basic unit block containing (AuxiliaryX, AuxiliaryY); mvMidX = Normalize( mvRBX + mvLBX, 1); mvMidY = Normalize( mvRBY + mvLBY, 1); iDMvVerX = (mvAuxiliaryX-mvMidX) >> (shift-3); iDMvVerY = (mvAuxiliaryY-mvMidY) >> (shift-3); } iMvScaleHor = mvLBX >> shift; iMvScaleVer = mvLBY >> shift; posNeiX = posLBX; posNeiY = posLBY + 1; } else if posRBX is equal to (posCurX -1) {//Left neighbouring block iDMvHorX = (mvRBY– mvRTY) >> (shift – log2(H’)) iDMvHorY = -(mvRBX – mvRTX) >> (shift – log2(H’)) iDMvVerX = -iDMvHorY; iDMvVerY = iDMvHorX; if the neighbouring block applies the 6-parameter affine model and H’> 8 { AuxiliaryX = posRTX; AuxiliaryY = posRTY + (H’>>1); (mvAuxiliaryX, mvAuxiliaryY) is set to be the MV stored in the basic unit block containing (AuxiliaryX, AuxiliaryY); mvMidX = Normalize( mvRBX + mvRTX, 1); mvMidY = Normalize( mvRBY + mvRTY, 1); iDMvHorX = (mvAuxiliaryX-mvMidX) >> (shift-3); iDMvHorY = (mvAuxiliaryY-mvMidY) >> (shift-3); } iMvScaleHor = mvRTX >> shift; iMvScaleVer = mvRTY >> shift; posNeiX = posRTX+1; posNeiY = posRTY; } else{ Return "Input is invalid!" } } horTmp0 = iMvScaleHor + iDMvHorX * (posCurX-posNeiX) + iDMvVerX * (posCurY-posNeiY); verTmp0 = iMvScaleVer + iDMvHorY * (posCurX-posNeiX) + iDMvVerY * (posCurY-posNeiY); MV0X = Normalize (horTmp0, shift ); MV0Y = Normalize (verTmp0, shift ); horTmp1 = iMvScaleHor + iDMvHorX * (posCurX + W-posNeiX) + iDMvVerX * (posCurY-posNeiY); verTmp1 = iMvScaleVer + iDMvHorY * (posCurX + W-posNeiX) + iDMvVerY * (posCurY-posNeiY); MV1X = Normalize (horTmp1, shift ); MV1Y = Normalize (verTmp1, shift ); if the neighbouring block applies the 6-parameter affine model{ The current block also applies the 6-parameter affine model; horTmp2 = iMvScaleHor + iDMvHorX * (posCurX-posNeiX) + iDMvVerX * (posCurY+H-posNeiY); verTmp2 = iMvScaleVer + iDMvHorY * (posCurX-posNeiX) + iDMvVerY * (posCurY+H- posNeiY); MV2X = Normalize (horTmp2, shift ); MV2Y = Normalize (verTmp2, shift ); }

圖14是示出可用於實現本公開技術的各部分的電腦系統或其他控制裝置2600的架構的示例的方塊圖。在圖14中,電腦系統2600包含經由互連2625連接的一個或多個處理器2605和記憶體2610。互連2625可以表示由適當的橋接器、配接器或控制器連接的任何一個或多個單獨的物理匯流排、點對點連接或兩者。因此,互連2625可以包含例如系統匯流排、周邊組件互連(PCI)匯流排、HyperTransport或工業標準架構(ISA)匯流排、小型電腦系統介面(SCSI)匯流排、通用串列匯流排(USB)、IIC(I2C)匯流排或電氣和電子工程師協會(IEEE)標準674匯流排,有時也稱為“Firewire”。FIG. 14 is a block diagram showing an example of the architecture of a computer system or other control device 2600 that can be used to implement various parts of the disclosed technology. In FIG. 14, a computer system 2600 includes one or more processors 2605 and memory 2610 connected via an interconnection 2625. The interconnection 2625 may represent any one or more separate physical buses, point-to-point connections, or both connected by a suitable bridge, adapter, or controller. Therefore, the interconnection 2625 may include, for example, system bus, peripheral component interconnect (PCI) bus, HyperTransport or industry standard architecture (ISA) bus, small computer system interface (SCSI) bus, universal serial bus (USB) ), IIC (I2C) bus or Institute of Electrical and Electronics Engineers (IEEE) standard 674 bus, sometimes called "Firewire".

(多個)處理器2605可以包含中央處理單元(CPU),以控制例如主機電腦的整體操作。在某些實施例中,(多個)處理器2605通過執行儲存在記憶體2610中的軟體或韌體來實現此目的。(多個)處理器2605可以是或可包含一個或多個可程式通用或專用微處理器、數位訊號處理器(DSP)、可程式控制器、特定應用積體電路(ASIC)、可程式邏輯裝置(PLD)等,或這些裝置的組合。The processor(s) 2605 may include a central processing unit (CPU) to control, for example, the overall operation of the host computer. In some embodiments, the processor(s) 2605 executes software or firmware stored in the memory 2610 to achieve this purpose. The processor(s) 2605 may be or may include one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSP), programmable controllers, application-specific integrated circuits (ASIC), programmable logic Device (PLD), etc., or a combination of these devices.

記憶體2610可以是或包含電腦系統的主記憶體。記憶體2610表示任何合適形式的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體等,或這些設備的組合。在使用中,除其他之外,記憶體2610可以包含一組機器指令,當由處理器2605執行時,使得處理器2605執行操作以實現本公開技術的實施例。The memory 2610 may be or include the main memory of the computer system. The memory 2610 represents any suitable form of random access memory (RAM), read-only memory (ROM), flash memory, etc., or a combination of these devices. In use, among other things, the memory 2610 may contain a set of machine instructions, which when executed by the processor 2605, cause the processor 2605 to perform operations to implement the embodiments of the disclosed technology.

還通過互連2625連接到(多個)處理器2605的是(可選的)網路配接器2615。網路配接器2615向電腦系統2600提供與遠端設備(例如儲存客戶端)和/或其他儲存服務器通信的能力,並且可以是例如乙太網配接器或光纖信道配接器。Also connected to the processor(s) 2605 via interconnection 2625 is an (optional) network adapter 2615. The network adapter 2615 provides the computer system 2600 with the ability to communicate with remote devices (such as storage clients) and/or other storage servers, and may be, for example, an Ethernet adapter or a fiber channel adapter.

圖15示出了可用於實現本公開技術的各部分的裝置2700的示例實施例的方塊圖。移動裝置2700可以是膝上型電腦,智慧電話,平板電腦,攝錄機或能夠處理視頻的其他類型的設備。移動裝置2700包含用於處理數據的處理器或控制器2701,以及與處理器2701通信以儲存和/或緩衝數據的記憶體2702。例如,處理器2701可以包含中央處理單元(CPU)或微控制器單元(MCU)。在一些實現方式中,處理器2701可以包含現場可程式閘陣列(FPGA)。在一些實現方式中,移動裝置2700包含用於智慧手機裝置的各種視覺和/或通信數據處理功能的圖形處理單元(GPU)、視頻處理單元(VPU)和/或無線通信單元或與之通信。例如,記憶體2702可以包含並儲存處理器可執行代碼,當由處理器2701執行時,將移動裝置2700配置為執行各種操作,例如接收信息、命令和/或數據,處理信息和數據,以及將處理過的信息/數據發送或提供給另一個設備,例如致動器或外部顯示器。為了支持移動裝置2700的各種功能,記憶體2702可以儲存信息和數據,例如指令、軟體、值、圖像以及由處理器2701處理或引用的其他數據。例如,各種類型的隨機存取記憶體(RAM)設備、唯讀記憶體(ROM)設備、快閃記憶體設備和其他合適的儲存介質可用於實現記憶體2702的儲存功能。在一些實現方式中,移動裝置2700包含輸入/輸出(I/O))單元2703,用於將處理器2701和/或記憶體2702連接到其他模塊、單元或裝置。例如,I/O單元2703可以與處理器2701和記憶體2702相接,以利用與典型數據通信標準兼容的各種類型的無線介面,例如,在雲中的一個或多個電腦與用戶設備之間。在一些實現方式中,移動裝置2700可以經由I/O單元2703使用有線連接與其他設備介面。移動裝置2700還可以與其他外部介面(例如數據記憶體)和/或視覺或音頻顯示設備2704相接,以檢索和傳輸可由處理器處理、儲存在記憶體中或在顯示設備2704的輸出單元或外部裝置上展示的數據和信息。例如,顯示設備2704可以顯示基於根據所公開的技術的MVP修改的視頻幀。FIG. 15 shows a block diagram of an example embodiment of an apparatus 2700 that can be used to implement various parts of the disclosed technology. The mobile device 2700 may be a laptop computer, a smart phone, a tablet computer, a camcorder, or other types of equipment capable of processing video. The mobile device 2700 includes a processor or controller 2701 for processing data, and a memory 2702 that communicates with the processor 2701 to store and/or buffer data. For example, the processor 2701 may include a central processing unit (CPU) or a microcontroller unit (MCU). In some implementations, the processor 2701 may include a field programmable gate array (FPGA). In some implementations, the mobile device 2700 includes or communicates with a graphics processing unit (GPU), a video processing unit (VPU), and/or a wireless communication unit for various visual and/or communication data processing functions of the smartphone device. For example, the memory 2702 may contain and store processor executable code. When executed by the processor 2701, the mobile device 2700 is configured to perform various operations, such as receiving information, commands and/or data, processing information and data, and The processed information/data is sent or provided to another device, such as an actuator or external display. In order to support various functions of the mobile device 2700, the memory 2702 can store information and data, such as instructions, software, values, images, and other data processed or referenced by the processor 2701. For example, various types of random access memory (RAM) devices, read-only memory (ROM) devices, flash memory devices, and other suitable storage media can be used to implement the storage function of the memory 2702. In some implementations, the mobile device 2700 includes an input/output (I/O) unit 2703 for connecting the processor 2701 and/or the memory 2702 to other modules, units, or devices. For example, the I/O unit 2703 can be connected to the processor 2701 and the memory 2702 to utilize various types of wireless interfaces compatible with typical data communication standards, for example, between one or more computers in the cloud and user equipment . In some implementations, the mobile device 2700 can interface with other devices via the I/O unit 2703 using wired connections. The mobile device 2700 can also be connected to other external interfaces (such as data memory) and/or visual or audio display devices 2704 for retrieval and transmission, which can be processed by the processor, stored in the memory, or in the output unit of the display device 2704 or Data and information displayed on external devices. For example, the display device 2704 may display a video frame modified based on the MVP according to the disclosed technology.

圖16是一種用於視頻處理的方法1600的流程圖。方法1600包括:存取(1602)儲存在與當前塊相鄰的基本單元塊中的至少一個中的運動向量(MV);以及,基於所存取的MV,在當前塊與當前塊的位元流表示之間進行(1604)視頻處理。FIG. 16 is a flowchart of a method 1600 for video processing. The method 1600 includes: accessing (1602) a motion vector (MV) stored in at least one of the basic unit blocks adjacent to the current block; and, based on the accessed MV, in the current block and the current block. (1604) video processing between stream representations.

本文件中公開的各種實施例和技術可以在以下示例的列表中描述。The various embodiments and techniques disclosed in this document can be described in the list of examples below.

1.    視頻處理的方法,包括:1. Video processing methods, including:

存取儲存在與當前塊相鄰的基本單元塊中的至少一個的運動向量(MV);以及Access the motion vector (MV) of at least one of the basic unit blocks adjacent to the current block; and

基於所存取的MV在所述當前塊與所述當前塊的位元流表示之間進行視頻處理。Perform video processing between the current block and the bitstream representation of the current block based on the accessed MV.

2. 如示例1所述的方法,其中所述基本單元塊形成位於所述當前塊上方的列,所述列包含具有左上角坐標(xRS,yRS)的最左側基本單元塊和具有左上角坐標(xRE,yRE)的最右側基本單元塊中的至少一個。2. The method according to example 1, wherein the basic unit block forms a column above the current block, and the column contains the leftmost basic unit block with upper-left corner coordinates (xRS, yRS) and the upper-left corner coordinate At least one of the rightmost basic unit blocks of (xRE, yRE).

3. 如示例1所述的方法,其中所述基本單元塊形成位於所述當前塊左側的行,所述行包含具有左上角坐標(xCS,yCS)的頂部基本單元塊和具有左上角坐標(xCE,yCE)的底部基本單元塊中的至少一個。3. The method according to example 1, wherein the basic unit block forms a row located to the left of the current block, and the row includes a top basic unit block with upper-left corner coordinates (xCS, yCS) and a top-left corner coordinate ( xCE, yCE) at least one of the bottom basic unit blocks.

4. 如示例2所述的方法,其中yRS=yRE=y0-B,(x0,y0)表示所述當前塊的左上角的坐標,並且所述基本單元塊具有B×B的尺寸。4. The method according to example 2, wherein yRS=yRE=y0-B, (x0, y0) represents the coordinates of the upper left corner of the current block, and the basic unit block has a size of B×B.

5. 如示例3所述的方法,其中xCS=xCE=x0-B,(x0,y0)表示所述當前塊的左上角的坐標,並且所述基本單元塊具有B×B的尺寸。5. The method according to example 3, wherein xCS=xCE=x0-B, (x0, y0) represents the coordinates of the upper left corner of the current block, and the basic unit block has a size of B×B.

6.    如示例4或5所述的方法,其中B=4。6. The method as described in Example 4 or 5, where B=4.

7.    如示例4所述的方法,其中xRS = x0-n×W-m,n和m是整數,W表示所述當前塊的寬度。7. The method as described in Example 4, where xRS = x0-n×W-m, n and m are integers, and W represents the width of the current block.

8.    如示例5所述的方法,其中yCS = y0-n×H-m,n和m是整數,H表示所述當前塊的高度。8. The method as described in Example 5, where yCS = y0-n×H-m, n and m are integers, and H represents the height of the current block.

9.    如示例7或8所述的方法,其中n = 0,m = 0;n = 0,m = 1;n = 1,m = 1;或n = 2,m = 1。9. The method as described in Example 7 or 8, where n = 0, m = 0; n = 0, m = 1; n = 1, m = 1; or n = 2, m = 1.

10.  如示例4所述的方法,其中xRE = x0+ n×W+m,n和m是整數,W表示所述當前塊的寬度。10. The method as described in Example 4, where xRE = x0+n×W+m, n and m are integers, and W represents the width of the current block.

11.  如示例5所述的方法,其中yCE = y0+ n×H+m,n和m是整數,H表示所述當前塊的高度。11. The method as described in Example 5, where yCE = y0+n×H+m, n and m are integers, and H represents the height of the current block.

12.  如示例10或11所述的方法,其中n = 1,m = -B;n = 1,m = B;n = 2,m= - B;或n = 3,m = -B。12. The method as described in Example 10 or 11, where n = 1, m = -B; n = 1, m = B; n = 2, m =-B; or n = 3, m = -B.

13. 如示例2所述的方法,其中不需要位於所述當前塊上方的列來預測所述當前塊。13. The method according to example 2, wherein the column above the current block is not required to predict the current block.

14. 如示例3所述的方法,其中不需要位於所述當前塊左側的行來預測所述當前塊。14. The method according to example 3, wherein the row to the left of the current block is not required to predict the current block.

15.  如示例4所述的方法,其中xRS和xRE中的至少一個的值取決於儲存用於預測所述當前塊的輔助MV的輔助塊的位置。15. The method according to example 4, wherein the value of at least one of xRS and xRE depends on the location of the auxiliary block storing the auxiliary MV for predicting the current block.

16.  如示例5所述的方法,其中yCS和yCE中的至少一個的值取決於儲存用於預測所述當前塊的輔助MV的輔助塊的位置。16. The method according to example 5, wherein the value of at least one of yCS and yCE depends on the location of the auxiliary block storing the auxiliary MV for predicting the current block.

17.  如示例15所述的方法,其中所述輔助塊被所述位於所述當前塊上方的列覆蓋。17. The method according to example 15, wherein the auxiliary block is covered by the column located above the current block.

18.  如示例16所述的方法,其中所述輔助塊被所述位於所述當前塊左側的行覆蓋。18. The method according to example 16, wherein the auxiliary block is covered by the row located to the left of the current block.

19.  如示例15所述的方法,其中所述輔助塊與左上角坐標(xRS,yRS)和左上角坐標(xRE,yRE)中的任一個不重疊。19. The method according to example 15, wherein the auxiliary block does not overlap with any one of the upper left corner coordinates (xRS, yRS) and the upper left corner coordinates (xRE, yRE).

20.  如示例16所述的方法,其中所述輔助塊與左上角坐標(xCS,yCS)和左上角坐標(xCE,yCE)中的任一個不重疊。20. The method according to example 16, wherein the auxiliary block does not overlap with any one of the upper left corner coordinates (xCS, yCS) and the upper left corner coordinates (xCE, yCE).

21.  如示例2所述的方法,其中位於所述當前塊上方的列的範圍取決於所述當前塊的位置。21. The method according to example 2, wherein the range of the column located above the current block depends on the position of the current block.

22.  如示例21所述的方法,其中如果所述當前塊被確定為在P×Q區域的頂部邊界處,則不需要位於所述當前塊上方的列來預測所述當前塊。22. The method according to example 21, wherein if the current block is determined to be at the top boundary of the P×Q area, no column above the current block is required to predict the current block.

23.  如示例22所述的方法,其中如果y0%Q == 0,則所述當前塊被確定為在所述P×Q區域的頂部邊界處,所述當前塊的左上角坐標表示為(x0,y0)。23. The method according to example 22, wherein if y0%Q == 0, the current block is determined to be at the top boundary of the P×Q area, and the coordinates of the upper left corner of the current block are expressed as ( x0, y0).

24.  如示例21所述的方法,其中XRS == x0,所述當前塊的左上角坐標表示為(x0,y0)。24. The method as described in Example 21, wherein XRS == x0, and the coordinates of the upper left corner of the current block are expressed as (x0, y0).

25. 如示例3所述的方法,其中位於所述當前塊左側的行的範圍取決於所述當前塊的位置。25. The method according to example 3, wherein the range of the row located to the left of the current block depends on the position of the current block.

26.  如示例25所述的方法,其中如果所述當前塊被確定為在P×Q區域的左側邊界處,則不需要位於所述當前塊左側的行來預測所述當前塊。26. The method according to example 25, wherein if the current block is determined to be at the left boundary of the P×Q area, the row on the left of the current block is not required to predict the current block.

27.  如示例26所述的方法,其中如果x0%P == 0,則所述當前塊被確定為在所述P×Q區域的左側邊界處,所述當前塊的左上角坐標表示為(x0,y0)。27. The method of example 26, wherein if x0%P == 0, the current block is determined to be at the left boundary of the P×Q area, and the upper left corner coordinate of the current block is expressed as ( x0, y0).

28.  如示例25所述的方法,其中yCS == y0,所述當前塊的左上角坐標表示為(x0,y0)。28. The method as described in example 25, where yCS == y0, and the coordinates of the upper left corner of the current block are expressed as (x0, y0).

29.  如示例26所述的方法,其中在編碼樹單元區域中Q=128,在流水線區域中Q=64。29. The method according to example 26, wherein Q=128 in the coding tree unit area and Q=64 in the pipeline area.

30.  如示例27所述的方法,其中在編碼樹單元區域中P=128,在流水線區域中P=64。30. The method according to example 27, wherein P=128 in the coding tree unit area and P=64 in the pipeline area.

31.  如示例1所述的方法,其中所述當前塊被分割為多個基本單元塊,所述方法還包括:31. The method according to example 1, wherein the current block is divided into multiple basic unit blocks, and the method further includes:

將所述當前塊的左下角處的控制點(CP)MV儲存在所述當前塊的左下基本單元塊中;和/或Store the control point (CP) MV at the lower left corner of the current block in the lower left basic unit block of the current block; and/or

將所述當前塊的右下角處的控制點(CP)MV儲存在所述當前塊的右下基本單元塊中。The control point (CP) MV at the lower right corner of the current block is stored in the lower right basic unit block of the current block.

32.  如示例31所述的方法,其中所述當前塊是用4參數仿射模型或6參數仿射模型編碼的。32. The method according to example 31, wherein the current block is coded with a 4-parameter affine model or a 6-parameter affine model.

33.  如示例1所述的方法,還包括:33. The method as described in Example 1, further including:

通過使用儲存在所述子塊中的MV,為從所述當前塊分割的子塊進行運動補償。By using the MV stored in the sub-block, motion compensation is performed for the sub-block divided from the current block.

34.  如示例33所述的方法,其中34. The method as described in Example 33, wherein

所儲存的MV是所述當前塊的控制點(CP)MV或用於預測所述當前塊的輔助MV。The stored MV is the control point (CP) MV of the current block or the auxiliary MV used to predict the current block.

35.  如示例1-34中任一項所述的方法,其中所述視頻處理包括將所述視頻塊編碼為所述視頻塊的位元流表示和從所述視頻塊的位元流表示解碼所述視頻塊中的至少一個。35. The method of any one of examples 1-34, wherein the video processing includes encoding the video block into a bitstream representation of the video block and decoding from the bitstream representation of the video block At least one of the video blocks.

36.  一種視頻處理設備,包括處理器,被配置為實現示例1至35中任一項所述的方法。36. A video processing device, including a processor, configured to implement the method in any one of Examples 1 to 35.

37.  一種電腦程式產品,儲存在非暫態電腦可讀介質中,所述電腦程式產品包含用於執行示例1至35中任一項中的方法的程式代碼。37. A computer program product stored in a non-transitory computer-readable medium, the computer program product containing program code for executing the method in any one of Examples 1 to 35.

本文件中描述的公開的和其他實施例、模塊和功能操作可以實現為數位電子電路,或者實現為電腦軟體、韌體或硬體,包含本文件中公開的結構及其結構等同,或者它們中的一個或多個的組合。所公開的和其他實施例可以實現為一個或多個電腦程式產品,即,在電腦可讀介質上編碼的電腦程式指令的一個或多個模塊,用於由數據處理設備執行或控制數據處理設備的操作。電腦可讀介質可以是機器可讀儲存裝置、機器可讀儲存基板、記憶體裝置、實現機器可讀傳播信號的物質組合,或者它們中的一個或多個的組合。術語“數據處理設備”涵蓋用於處理數據的全部設備、裝置和機器,包括例如可程式處理器、電腦或多個處理器或電腦。除了硬體之外,該設備還可以包括為所討論的電腦程式創建執行環境的代碼,例如,構成處理器韌體、協議棧、數據庫管理系統、操作系統的代碼,或者它們中的一個或多個的組合。傳播信號是人工生成的信號,例如,機器生成的電、光或電磁信號,其被生成以對信息進行編碼以便傳輸到合適的接收器設備。The disclosed and other embodiments, modules, and functional operations described in this document can be implemented as digital electronic circuits, or as computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or among them A combination of one or more. The disclosed and other embodiments can be implemented as one or more computer program products, that is, one or more modules of computer program instructions encoded on a computer readable medium, used to be executed or controlled by a data processing device Operation. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of substances that realizes a machine-readable propagated signal, or a combination of one or more of them. The term "data processing equipment" covers all equipment, devices, and machines used to process data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the device can also include code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, protocol stack, database management system, operating system, or one or more of them. A combination of. A propagated signal is an artificially generated signal, for example, a machine-generated electrical, optical or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device.

電腦程式(也稱為程式、軟體、軟體應用、腳本或代碼)可以用任何形式的程式語言編寫,包括編譯或解釋語言,並且可以以任何形式部署,包括如獨立程式或適合在計算環境中使用的模塊、組件、子例程或其他單元。電腦程式不一定對應於文件系統中的文件。程式可以儲存在包含其他程式或數據的文件的一部分中(例如,儲存在標記語言文件中的一個或多個腳本),儲存在專用於所討論的程式的單個文件中,或者儲存在多個協調文件中(例如,儲存一個或多個模塊、子程式或代碼部分的文件)。可以部署電腦程式以在一個電腦上或在位於一個站點上或分布在多個站點上並通過通信網路互連的多個電腦上執行。Computer programs (also called 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, for example, stand-alone programs or suitable for use in a computing environment Modules, components, subroutines, or other units. Computer programs do not necessarily correspond to documents in the file system. The program can be stored in part of a document containing other programs or data (for example, one or more scripts stored in a markup language document), in a single document dedicated to the program in question, or in multiple coordination In a document (for example, a document that stores one or more modules, subprograms, or code parts). A computer program can be deployed to be executed on one computer or on multiple computers located on one site or distributed across multiple sites and interconnected by a communication network.

本文件中描述的過程和邏輯流程可以由執行一個或多個電腦程式的一個或多個可程式處理器執行,以通過對輸入數據進行操作並生成輸出來執行功能。過程和邏輯流程也可以由專用邏輯電路(例如FPGA(現場可程式閘陣列)或ASIC(特定應用積體電路))執行,並且設備也可以實現為專用邏輯電路(例如FPGA(現場可程式閘陣列)或ASIC(特定應用積體電路))。The processes and logic flows described in this document can be executed by one or more programmable processors that execute one or more computer programs to perform functions by operating on input data and generating output. Process and logic flow can also be executed by dedicated logic circuits (such as FPGA (field programmable gate array) or ASIC (application-specific integrated circuit)), and the device can also be implemented as dedicated logic circuits (such as FPGA (field programmable gate array) ) Or ASIC (application-specific integrated circuit)).

作為示例,適合於執行電腦程式的處理器包括通用和專用微處理器,以及任何類型的數位電腦的任何一個或多個處理器。通常,處理器將從唯讀記憶體或隨機存取記憶體或兩者接收指令和數據。電腦的基本元件是用於執行指令的處理器和用於儲存指令和數據的一個或多個記憶體設備。通常,電腦還將包括一個或多個大容量儲存設備或可操作地耦接到一個或多個大容量儲存設備,以從一個或多個大容量儲存設備接收數據或將數據傳輸到一個或多個大容量儲存設備或兩者,例如,磁碟、磁光碟或光碟。然而,電腦不一定需要這樣的設備。適用於儲存電腦程式指令和數據的電腦可讀介質包括全部形式的非揮發性記憶體、介質和記憶體設備,包括例如半導體記憶體設備,例如EPROM、EEPROM和快閃記憶體設備;磁碟,例如,內部硬碟或可移動磁碟;磁光碟;和CD ROM和DVD-ROM磁碟。處理器和記憶體可以由專用邏輯電路補充或並入專用邏輯電路中。As examples, processors suitable for executing computer programs include general and special purpose microprocessors, and any one or more processors of any type of digital computer. Generally, 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 for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include one or more mass storage devices or be operatively coupled to one or more mass storage devices to receive data from or transmit data to one or more mass storage devices. A mass storage device or both, such as floppy disks, magneto-optical disks, or optical disks. However, computers do not necessarily need 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; magnetic disks, For example, internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and memory can be supplemented by or incorporated into a dedicated logic circuit.

雖然本專利文件包含許多細節,但這些細節不應被解釋為對任何發明或可要求保護的範圍的限制,而是作為特定於特定發明的特定實施例的特徵的描述。在本專利文件中單獨的實施例的上下文中描述的某些特徵也可以在單個實施例中組合實現。相反,在單個實施例的上下文中描述的各種特徵也可以單獨地或以任何合適的子組合在多個實施例中實現。此外,儘管上面的特徵可以描述為以某些組合起作用並且甚至最初如此要求保護,但是在某些情況下可以從組合中移除來自所要求保護的組合的一個或多個特徵,並且所要求保護的組合可以針對子組合或子組合的變化。Although this patent document contains many details, these details should not be construed as limitations on the scope of any invention or claimable, but as descriptions of features specific to specific embodiments of specific inventions. Certain features described in the context of separate embodiments in this patent document can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. In addition, although the above features can be described as functioning in certain combinations and even initially claimed as such, in some cases one or more features from the claimed combination can be removed from the combination, and the claimed The combination of protection can be directed to sub-combination or sub-combination changes.

類似地,雖然在附圖中以特定順序描繪了操作,但是這不應該被理解為實現期望的結果要求以所示的特定順序或按順序執行這樣的操作,或者執行全部示出的操作。此外,在本專利文件中描述的實施例中的各種系統部件的分離不應被理解為在全部實施例中都需要這種分離。Similarly, although operations are depicted in a specific order in the drawings, this should not be understood as achieving the desired result requires performing such operations in the specific order shown or in order, or performing all the operations shown. In addition, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.

僅描述了幾個實現方式和示例,並且可以基於本專利文件中描述和示出的內容來做出其他實現、增強和變化。Only a few implementations and examples are described, and other implementations, enhancements and changes can be made based on the content described and shown in this patent document.

1600:方法 1602~1604:步驟 2600:電腦系統 2605:(多個)處理器 2610、2702:記憶體 2615:網路配接器 2625:互連 2700:移動裝置 2701:處理器/控制器 2703:I/O單元 2704:顯示設備 A、B、C、D、E、LT、RT、LB、RB:子塊 a、b、c、d:鄰近塊 A0、A1、A2、B0、B1、B2、B3:候選塊 CP0、CP1、CP2:控制點 Cur:當前塊 mv0、mv0’、mv0 C、mv0 N、mv1、mv1’、mv1 C、mv1 N、mv2、mv2’、mv2 C、mv2 N、mv3、mv3’:運動向量 T:時域位置 (x0,y0)、(x0’,y0’)、(x0+w,y0)、(x0’+w’,y0’)、(x0’,y0’+h’)、(x1,y1)、(x1’,y1’)、(x2,y2)、(xCS,yCS)、(xRS,yRS)、(xRE,yRE)、(xCE,yCE):坐標1600: Method 1602~1604: Step 2600: Computer System 2605: (Multiple) Processors 2610, 2702: Memory 2615: Network Adapter 2625: Interconnect 2700: Mobile Device 2701: Processor/Controller 2703: I/O unit 2704: display devices A, B, C, D, E, LT, RT, LB, RB: sub-blocks a, b, c, d: adjacent blocks A0, A1, A2, B0, B1, B2 B3: Candidate blocks CP 0 , CP 1 , CP 2 : Control points Cur: current block mv 0 , mv0', mv 0 C , mv 0 N , mv 1 , mv1', mv 1 C , mv 1 N , mv 2 , mv2', mv 2 C , mv 2 N , mv 3 , mv3': motion vector T: time domain position (x 0 ,y 0 ), (x 0 ',y 0 '), (x 0 +w,y 0 ), (x 0 '+w',y 0 '), (x 0 ',y 0 '+h'), (x 1 ,y 1 ), (x 1 ',y 1 '), (x 2 , y 2 ), (xCS,yCS), (xRS,yRS), (xRE,yRE), (xCE,yCE): coordinates

圖1示出了基於子塊的預測計算的示例。 圖2A-2B示出了簡化的仿射運動模型的示例(a)4參數仿射模型;(b)6參數仿射模型。 圖3示出了每個子塊的仿射運動向量場(MVF)的示例。 圖4A-4B示出了AF_MERGE模式的候選。 圖5示出了仿射merge模式的示例性候選位置。 圖6示出了具有四個子塊(A-D)的編碼單元(CU)及其鄰近塊(a–d)的示例。 圖7示出了由鄰近塊的兩個右側CP推導的仿射繼承的示例。 圖8通過由鄰近塊的兩個右CP推導的仿射繼承。 圖9示出了由仿射編碼的上方鄰近塊的底列中儲存的MV推導的6參數仿射繼承的示例。 圖10示出了可以儲存輔助MV的基本單元塊的底列(陰影的)的示例。 圖11示出由仿射編碼的左側鄰近塊的右行中儲存的MV推導的6參數仿射繼承的示例。 圖12示出了可以儲存輔助MV的基本單元塊的右行(陰影的)的示例。 圖13示出了所使用的MV儲存體的示例。 圖14是圖示了可以用於形成實現本公開技術的各部分的電腦系統或其他控制裝置的架構的示例的方塊圖。 圖15示出了可以用於實現本公開技術的各部分移動裝置的示例性實施例的方塊圖。 圖16是視覺媒體處理示例性方法的流程圖。Fig. 1 shows an example of prediction calculation based on sub-blocks. 2A-2B show examples of simplified affine motion models (a) 4-parameter affine model; (b) 6-parameter affine model. Fig. 3 shows an example of the affine motion vector field (MVF) of each sub-block. Figures 4A-4B show candidates for the AF_MERGE mode. FIG. 5 shows exemplary candidate positions of the affine merge mode. Figure 6 shows an example of a coding unit (CU) with four sub-blocks (A-D) and its neighboring blocks (a-d). Fig. 7 shows an example of affine inheritance derived from the two right CPs of adjacent blocks. Figure 8 is through affine inheritance derived from the two right CPs of adjacent blocks. FIG. 9 shows an example of 6-parameter affine inheritance derived from the MV stored in the bottom column of the upper adjacent block of affine coding. Fig. 10 shows an example of the bottom row (shaded) of the basic unit block where the auxiliary MV can be stored. FIG. 11 shows an example of 6-parameter affine inheritance derived from the MV stored in the right row of the left neighboring block of affine encoding. Fig. 12 shows an example of the right row (shaded) of the basic unit block where the auxiliary MV can be stored. Figure 13 shows an example of the MV storage used. FIG. 14 is a block diagram illustrating an example of an architecture that can be used to form a computer system or other control device that implements various parts of the disclosed technology. FIG. 15 shows a block diagram of an exemplary embodiment of various parts of a mobile device that can be used to implement the technology of the present disclosure. Figure 16 is a flowchart of an exemplary method of visual media processing.

1600:方法 1600: method

1602~1604:步驟 1602~1604: steps

Claims (37)

一種用於視頻處理的方法,包括: 存取儲存在與當前塊相鄰的基本單元塊中的至少一個的運動向量(MV);以及 基於所存取的MV在所述當前塊與所述當前塊的位元流表示之間進行視頻處理。A method for video processing, including: Access the motion vector (MV) of at least one of the basic unit blocks adjacent to the current block; and Perform video processing between the current block and the bitstream representation of the current block based on the accessed MV. 如申請專利範圍第1項所述的方法,其中所述基本單元塊形成位於所述當前塊上方的列,所述列包含具有左上角坐標(xRS,yRS)的最左側基本單元塊和具有左上角坐標(xRE,yRE)的最右側基本單元塊中的至少一個。The method described in item 1 of the scope of patent application, wherein the basic unit block forms a column above the current block, and the column includes the leftmost basic unit block with the upper left corner coordinates (xRS, yRS) and the upper left At least one of the rightmost basic unit blocks of angular coordinates (xRE, yRE). 如申請專利範圍第1項所述的方法,其中所述基本單元塊形成位於所述當前塊左側的行,所述行包含具有左上角坐標(xCS,yCS)的頂部基本單元塊和具有左上角坐標(xCE,yCE)的底部基本單元塊中的至少一個。The method described in item 1 of the scope of patent application, wherein the basic unit block forms a row located on the left side of the current block, and the row includes the top basic unit block with the upper left corner coordinates (xCS, yCS) and the upper left corner At least one of the bottom basic unit blocks of coordinates (xCE, yCE). 如申請專利範圍第2項所述的方法,其中yRS=yRE=y0-B,(x0,y0)表示所述當前塊的左上角的坐標,並且所述基本單元塊具有B×B的尺寸。The method described in item 2 of the scope of patent application, wherein yRS=yRE=y0-B, (x0, y0) represents the coordinates of the upper left corner of the current block, and the basic unit block has a size of B×B. 如申請專利範圍第3項所述的方法,其中xCS=xCE=x0-B,(x0,y0)表示所述當前塊的左上角的坐標,並且所述基本單元塊具有B×B的尺寸。The method described in item 3 of the scope of patent application, wherein xCS=xCE=x0-B, (x0, y0) represents the coordinates of the upper left corner of the current block, and the basic unit block has a size of B×B. 如申請專利範圍第4或5項所述的方法,其中B=4。Such as the method described in item 4 or 5 of the scope of patent application, wherein B=4. 如申請專利範圍第4項所述的方法,其中xRS = x0-n×W-m,n和m是整數,W表示所述當前塊的寬度。The method described in item 4 of the scope of patent application, wherein xRS = x0-n×W-m, n and m are integers, and W represents the width of the current block. 如申請專利範圍第5項所述的方法,其中yCS = y0-n×H-m,n和m是整數,H表示所述當前塊的高度。The method described in item 5 of the scope of patent application, wherein yCS = y0-n×H-m, n and m are integers, and H represents the height of the current block. 如申請專利範圍第7或8項所述的方法,其中n = 0,m = 0;n = 0,m = 1;n = 1,m = 1;或n = 2,m = 1。Such as the method described in item 7 or 8 of the scope of patent application, wherein n=0, m=0; n=0, m=1; n=1, m=1; or n=2, m=1. 如申請專利範圍第4項所述的方法,其中xRE = x0+ n×W+m,n和m是整數,W表示所述當前塊的寬度。The method described in item 4 of the scope of patent application, wherein xRE = x0+n×W+m, n and m are integers, and W represents the width of the current block. 如申請專利範圍第5項所述的方法,其中yCE = y0+ n×H+m,n和m是整數,H表示所述當前塊的高度。The method described in item 5 of the scope of patent application, wherein yCE = y0+n×H+m, n and m are integers, and H represents the height of the current block. 如申請專利範圍第10或11項所述的方法,其中n = 1,m = -B;n = 1,m = B;n = 2,m= - B;或n = 3,m = -B。Such as the method described in item 10 or 11 of the scope of patent application, where n = 1, m = -B; n = 1, m = B; n = 2, m =-B; or n = 3, m = -B . 如申請專利範圍第2項所述的方法,其中不需要位於所述當前塊上方的列來預測所述當前塊。The method according to the second item of the scope of patent application, wherein the column above the current block is not required to predict the current block. 如申請專利範圍第3項所述的方法,其中不需要位於所述當前塊左側的行來預測所述當前塊。The method according to the third item of the scope of patent application, wherein the row on the left side of the current block is not required to predict the current block. 如申請專利範圍第4項所述的方法,其中xRS和xRE中的至少一個的值取決於儲存用於預測所述當前塊的輔助MV的輔助塊的位置。The method according to claim 4, wherein the value of at least one of xRS and xRE depends on the location of the auxiliary block storing the auxiliary MV for predicting the current block. 如申請專利範圍第5項所述的方法,其中yCS和yCE中的至少一個的值取決於儲存用於預測所述當前塊的輔助MV的輔助塊的位置。The method described in item 5 of the scope of patent application, wherein the value of at least one of yCS and yCE depends on the location of the auxiliary block storing the auxiliary MV for predicting the current block. 如申請專利範圍第15項所述的方法,其中所述輔助塊被所述位於所述當前塊上方的列覆蓋。The method according to claim 15, wherein the auxiliary block is covered by the column above the current block. 如申請專利範圍第16項所述的方法,其中所述輔助塊被所述位於所述當前塊左側的行覆蓋。The method according to item 16 of the scope of patent application, wherein the auxiliary block is covered by the row located to the left of the current block. 如申請專利範圍第15項所述的方法,其中所述輔助塊與左上角坐標(xRS,yRS)和左上角坐標(xRE,yRE)中的任一個不重疊。The method according to item 15 of the scope of patent application, wherein the auxiliary block does not overlap with any one of the upper left corner coordinates (xRS, yRS) and the upper left corner coordinates (xRE, yRE). 如申請專利範圍第16項所述的方法,其中所述輔助塊與左上角坐標(xCS,yCS)和左上角坐標(xCE,yCE)中的任一個不重疊。The method according to item 16 of the scope of patent application, wherein the auxiliary block does not overlap with any one of the upper left corner coordinates (xCS, yCS) and the upper left corner coordinates (xCE, yCE). 如申請專利範圍第2項所述的方法,其中位於所述當前塊上方的列的範圍取決於所述當前塊的位置。The method according to the second item of the scope of patent application, wherein the range of the column above the current block depends on the position of the current block. 如申請專利範圍第21項所述的方法,其中如果所述當前塊被確定為在P×Q區域的頂部邊界處,則不需要位於所述當前塊上方的列來預測所述當前塊。The method described in item 21 of the scope of patent application, wherein if the current block is determined to be at the top boundary of the P×Q area, the column above the current block is not required to predict the current block. 如申請專利範圍第22項所述的方法,其中如果y0%Q == 0,則所述當前塊被確定為在所述P×Q區域的頂部邊界處,所述當前塊的左上角坐標表示為(x0,y0)。The method described in item 22 of the scope of patent application, wherein if y0%Q == 0, the current block is determined to be at the top boundary of the P×Q area, and the upper left corner coordinate of the current block represents Is (x0, y0). 如申請專利範圍第21項所述的方法,其中XRS == x0,所述當前塊的左上角坐標表示為(x0,y0)。As for the method described in item 21 of the scope of patent application, where XRS == x0, the coordinates of the upper left corner of the current block are expressed as (x0, y0). 如申請專利範圍第3項所述的方法,其中位於所述當前塊左側的行的範圍取決於所述當前塊的位置。The method according to the third item of the scope of patent application, wherein the range of the row located on the left side of the current block depends on the position of the current block. 如申請專利範圍第25項所述的方法,其中如果所述當前塊被確定為在P×Q區域的左側邊界處,則不需要位於所述當前塊左側的行來預測所述當前塊。The method according to item 25 of the scope of patent application, wherein if the current block is determined to be at the left boundary of the P×Q area, the row on the left of the current block is not required to predict the current block. 如申請專利範圍第26項所述的方法,其中如果x0%P == 0,則所述當前塊被確定為在所述P×Q區域的左側邊界處,所述當前塊的左上角坐標表示為(x0,y0)。The method described in item 26 of the scope of patent application, wherein if x0%P == 0, the current block is determined to be at the left boundary of the P×Q area, and the upper left corner coordinate of the current block represents Is (x0, y0). 如申請專利範圍第25項所述的方法,其中yCS == y0,所述當前塊的左上角坐標表示為(x0,y0)。For the method described in item 25 of the scope of patent application, wherein yCS == y0, the coordinates of the upper left corner of the current block are expressed as (x0, y0). 如申請專利範圍第26項所述的方法,其中在編碼樹單元區域中Q=128,在流水線區域中Q=64。The method described in item 26 of the scope of patent application, wherein Q=128 in the coding tree unit area and Q=64 in the pipeline area. 如申請專利範圍第27項所述的方法,其中在編碼樹單元區域中P=128,在流水線區域中P=64。The method described in item 27 of the scope of patent application, wherein P=128 in the coding tree unit area and P=64 in the pipeline area. 如申請專利範圍第1項所述的方法,其中所述當前塊被分割為多個基本單元塊,所述方法還包括: 將所述當前塊的左下角處的控制點(CP)MV儲存在所述當前塊的左下基本單元塊中;和/或 將所述當前塊的右下角處的控制點(CP)MV儲存在所述當前塊的右下基本單元塊中。The method according to the first item of the scope of patent application, wherein the current block is divided into a plurality of basic unit blocks, and the method further includes: Store the control point (CP) MV at the lower left corner of the current block in the lower left basic unit block of the current block; and/or The control point (CP) MV at the lower right corner of the current block is stored in the lower right basic unit block of the current block. 如申請專利範圍第31項所述的方法,其中所述當前塊是用4參數仿射模型或6參數仿射模型編碼的。The method described in item 31 of the scope of patent application, wherein the current block is encoded with a 4-parameter affine model or a 6-parameter affine model. 如申請專利範圍第1項所述的方法,還包括: 通過使用儲存在所述子塊中的MV,為從所述當前塊分割的子塊進行運動補償。The method described in item 1 of the scope of patent application also includes: By using the MV stored in the sub-block, motion compensation is performed for the sub-block divided from the current block. 如申請專利範圍第33項所述的方法,其中所儲存的MV是所述當前塊的控制點(CP)MV或用於預測所述當前塊的輔助MV。The method described in item 33 of the scope of patent application, wherein the stored MV is a control point (CP) MV of the current block or an auxiliary MV used to predict the current block. 如申請專利範圍第1至34項中任一項所述的方法,其中所述視頻處理包括將所述視頻塊編碼為所述視頻塊的位元流表示和從所述視頻塊的位元流表示解碼所述視頻塊中的至少一個。The method according to any one of claims 1 to 34, wherein the video processing includes encoding the video block into a bitstream representation of the video block and a bitstream from the video block Indicates that at least one of the video blocks is decoded. 一種視頻處理設備,包括處理器,被配置為實現申請專利範圍第1至35項中任一項所述的方法。A video processing device includes a processor and is configured to implement the method described in any one of items 1 to 35 in the scope of patent application. 一種電腦程式產品,儲存在非暫態電腦可讀介質中,所述電腦程式產品包含用於執行申請專利範圍第1至35項中任一項中的方法的程式代碼。A computer program product is stored in a non-transitory computer readable medium, and the computer program product contains program code for executing the method in any one of the scope of the patent application from 1 to 35.
TW108134969A 2018-09-26 2019-09-26 Motion vector accessing range for affine TWI829769B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
WOPCT/CN2018/107629 2018-09-26
CN2018107629 2018-09-26
CN2018107869 2018-09-27
WOPCT/CN2018/107869 2018-09-27

Publications (2)

Publication Number Publication Date
TW202037157A true TW202037157A (en) 2020-10-01
TWI829769B TWI829769B (en) 2024-01-21

Family

ID=68136479

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108134966A TWI826542B (en) 2018-09-26 2019-09-26 Mode dependent affine inheritance
TW108134969A TWI829769B (en) 2018-09-26 2019-09-26 Motion vector accessing range for affine

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW108134966A TWI826542B (en) 2018-09-26 2019-09-26 Mode dependent affine inheritance

Country Status (3)

Country Link
CN (2) CN110958456B (en)
TW (2) TWI826542B (en)
WO (2) WO2020065570A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
WO2018128380A1 (en) * 2017-01-03 2018-07-12 엘지전자(주) Method and device for processing video signal by means of affine prediction
CN108271023B (en) * 2017-01-04 2021-11-19 华为技术有限公司 Image prediction method and related device

Also Published As

Publication number Publication date
CN110958456B (en) 2023-03-31
CN110958457B (en) 2023-05-12
WO2020065569A1 (en) 2020-04-02
TWI826542B (en) 2023-12-21
TWI829769B (en) 2024-01-21
CN110958456A (en) 2020-04-03
TW202037156A (en) 2020-10-01
CN110958457A (en) 2020-04-03
WO2020065570A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
CN110636297B (en) Component dependent sub-block partitioning
JP2022507281A (en) Difference calculation based on partial position
TWI831838B (en) Construction for motion candidates list
TWI822862B (en) 8-parameter affine model
CN110944189A (en) Non-affine block prediction from affine motion
CN110662073B (en) Boundary filtering of sub-blocks
TWI829769B (en) Motion vector accessing range for affine
TWI840413B (en) Motion vector derivation for sub-block in affine mode