Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7578591B2 - Method, apparatus and computer program for video encoding or decoding - Patents.com - Google Patents
[go: Go Back, main page]

JP7578591B2 - Method, apparatus and computer program for video encoding or decoding - Patents.com - Google Patents

Method, apparatus and computer program for video encoding or decoding - Patents.com Download PDF

Info

Publication number
JP7578591B2
JP7578591B2 JP2021528423A JP2021528423A JP7578591B2 JP 7578591 B2 JP7578591 B2 JP 7578591B2 JP 2021528423 A JP2021528423 A JP 2021528423A JP 2021528423 A JP2021528423 A JP 2021528423A JP 7578591 B2 JP7578591 B2 JP 7578591B2
Authority
JP
Japan
Prior art keywords
cclm
sample
samples
adjacent
video sequence
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021528423A
Other languages
Japanese (ja)
Other versions
JP2022508161A (en
Inventor
リャン・ジャオ
シン・ジャオ
シアン・リ
シャン・リュウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of JP2022508161A publication Critical patent/JP2022508161A/en
Priority to JP2024114077A priority Critical patent/JP2024138009A/en
Application granted granted Critical
Publication of JP7578591B2 publication Critical patent/JP7578591B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Description

関連出願の相互参照
本出願は、2018年12月18日に米国特許商標庁に出願された米国仮特許出願第62/781,316号、2018年12月27日に出願された米国仮特許出願第62/785,678号、2019年1月4日に出願された米国仮特許出願第62/788,729号、2019年1月8日に出願された米国仮特許出願第62/789,992号、および2019年7月26日に出願された米国特許出願第16/523,258号に基づく優先権を米国特許法第119条の下に主張し、それらの開示内容はそれらの全体が参照により本明細書に組み込まれる。
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 62/781,316, filed in the U.S. Patent and Trademark Office on December 18, 2018, U.S. Provisional Patent Application No. 62/785,678, filed on December 27, 2018, U.S. Provisional Patent Application No. 62/788,729, filed on January 4, 2019, U.S. Provisional Patent Application No. 62/789,992, filed on January 8, 2019, and U.S. Provisional Patent Application No. 16/523,258, filed on July 26, 2019, the disclosures of which are incorporated herein by reference in their entireties.

実施形態と一致する方法および装置は、ビデオ処理、より具体的には、クロスコンポーネント線形モデル予測モードを単純化することに焦点を合わせたビデオシーケンスの符号化または復号に関する。 Methods and apparatus consistent with embodiments relate to video processing, and more specifically, to encoding or decoding video sequences with a focus on simplifying cross-component linear model prediction modes.

最近、ITU Telecommunication Standardization Sector(ITU-T)のVideo Coding Experts Group(VCEG)、国際電気通信連合(ITU)のセクター、およびISO/IEC MPEG(JTC 1/SC 29/WG 11)、国際標準化機構(ISO)と国際電気技術委員会(IEC)の合同技術委員会ISO/IEC JTC 1の標準化小委員会は、2013年にH.265/High Efficiency Video Coding(HEVC)標準(バージョン1)を公開した。この標準は、2014年にバージョン2に、2015年にバージョン3に、2016年にバージョン4に更新された。 Recently, the Video Coding Experts Group (VCEG) of the ITU Telecommunication Standardization Sector (ITU-T), a sector of the International Telecommunication Union (ITU), and ISO/IEC MPEG (JTC 1/SC 29/WG 11), a standardization subcommittee of the Joint Technical Committee ISO/IEC JTC 1 of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), published the H.265/High Efficiency Video Coding (HEVC) standard (version 1) in 2013. The standard was updated to version 2 in 2014, version 3 in 2015, and version 4 in 2016.

2017年10月、彼らはJoint Call for Proposals on Video Compression with Capability beyond HEVC(CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に対して22個のCfP応答、高ダイナミックレンジ(HDR)に対して12個のCfP応答、360ビデオカテゴリで12個のCfP応答がそれぞれ提出された。2018年4月、受け取られたすべてのCfP応答は、122 MPEG/10th JVET会議で評価された。この会議の結果、JVETはHEVCを超えた次世代ビデオ符号化の標準化プロセスを正式に開始した。新しい標準はVersatile Video Coding(VVC)と名付けられ、JVETはJoint Video Expert Teamと改名された。 In October 2017, they announced a Joint Call for Proposals on Video Compression with Capability beyond HEVC (CfP). By February 15, 2018, 22 CfP responses had been submitted for Standard Dynamic Range (SDR), 12 for High Dynamic Range (HDR), and 12 for the 360 Video category. In April 2018, all received CfP responses were evaluated at the 122 MPEG/10th JVET meeting. As a result of this meeting, JVET formally launched the standardization process for next-generation video coding beyond HEVC. The new standard was named Versatile Video Coding (VVC), and JVET was renamed the Joint Video Expert Team.

次に、HEVCにおけるルーマ成分のイントラ予測モードについて説明する。HEVCで使用されるイントラ予測モードを図1に示す。HEVCでは、合計35のイントラ予測モードがあり得、そのうちモード10は水平モード、モード26は垂直モード、モード2、18および34は対角モードであり得る。イントラ予測モードは、3つの最確モード(MPM)と32個の残りのモードによって通知され得る。 Next, we will explain the intra prediction modes for the luma component in HEVC. The intra prediction modes used in HEVC are shown in Figure 1. In HEVC, there can be a total of 35 intra prediction modes, of which mode 10 can be a horizontal mode, mode 26 can be a vertical mode, and modes 2, 18 and 34 can be diagonal modes. The intra prediction modes can be signaled by three most probable modes (MPMs) and 32 remaining modes.

次に、VVCにおけるルーマ成分のイントラ予測モードについて説明する。VVCの現在の開発では、図2に示すように、合計95個のイントラ予測モードがあり得、モード18は水平モードであり得、モード50は垂直モードであり得、モード2、34および66は対角モードであり得る。モード1~14およびモード67~80は、広角イントラ予測(WAIP)モードと呼ばれることがある。図2に示されるように、35個のイントラ予測モードがHEVCで使用され得る。 Next, we will explain the intra prediction modes of the luma component in VVC. In the current development of VVC, there may be a total of 95 intra prediction modes, as shown in Figure 2, where mode 18 may be the horizontal mode, mode 50 may be the vertical mode, and modes 2, 34 and 66 may be the diagonal modes. Modes 1 to 14 and modes 67 to 80 may be referred to as wide-angle intra prediction (WAIP) modes. As shown in Figure 2, 35 intra prediction modes may be used in HEVC.

次に、VVCのルーマ成分のイントラ予測モードについて説明する。VVCの現在の開発では、図2に示すように、合計95個のイントラ予測モードがあり得、モード18は水平モードであり得、モード50は垂直モードであり得、モード2、34および66は対角モードであり得る。モード1~14およびモード67~80は、広角イントラ予測(WAIP)モードと呼ばれることがある。 Next, we will explain the intra prediction modes of the luma component of VVC. In the current development of VVC, there can be a total of 95 intra prediction modes, as shown in Figure 2, where mode 18 can be the horizontal mode, mode 50 can be the vertical mode, and modes 2, 34 and 66 can be the diagonal modes. Modes 1 to 14 and modes 67 to 80 are sometimes called wide-angle intra prediction (WAIP) modes.

次に、VVCのクロマ成分のIntra-modeモードについて説明する。VTMでは、intra-PUのクロマ成分の場合、エンコーダは、Planar、DC、水平、垂直、ルーマ成分からのイントラ予測モード(DM)の直接複製、左側および上側クロスコンポーネント線形モード(LT_CCLM)、左側クロスコンポーネント線形モード(L_CCLM)、および上側クロスコンポーネント線形モード(T_CCLM)を含む8つのモードの中から最適なクロマ予測モードを選択し得る。LT_CCLM、L_CCLM、およびT_CCLMは、クロスコンポーネント線形モード(CCLM)のグループに分類され得る。これらの3つのモードの違いは、隣接サンプルの異なる領域を使用してパラメータαおよびβを導出し得ることである。LT_CCLMの場合、左側と上側の隣接サンプルの両方を使用して、パラメータαとβを導出し得る。L_CCLMの場合、一般に、左側の隣接サンプルのみを使用して、パラメータαおよびβを導出し得る。T_CCLMの場合、一般に、上側の隣接サンプルのみを使用して、パラメータαおよびβを導出し得る。 Next, we will explain the Intra-mode mode of the chroma components of VVC. In VTM, for the chroma components of intra-PU, the encoder may select the optimal chroma prediction mode from eight modes, including Planar, DC, horizontal, vertical, direct duplication of the intra prediction mode (DM) from the luma components, left and top cross-component linear mode (LT_CCLM), left cross-component linear mode (L_CCLM), and top cross-component linear mode (T_CCLM). LT_CCLM, L_CCLM, and T_CCLM may be classified into a group of cross-component linear modes (CCLMs). The difference between these three modes is that different regions of neighboring samples may be used to derive the parameters α and β. For LT_CCLM, both the left and top neighboring samples may be used to derive the parameters α and β. For L_CCLM, in general, only the left neighboring samples may be used to derive the parameters α and β. For T_CCLM, in general, only the top neighboring samples may be used to derive the parameters α and β.

クロスコンポーネントの冗長性を減らすために、クロスコンポーネント線形モデル(CCLM)予測モードを使用することがあり、このモードでは、次のように線形モデルを使用して、同じCUの再構成されたルーマサンプルに基づいてクロマサンプルが予測されることがあり、
predc(i,j)=α・recL’(i,j)+β
式中、predc(i,j)はCU内の予測されたクロマサンプルを表し、recL(i,j)は同じCUのダウンサンプリングされた再構成されたルーマサンプルを表す。パラメータαおよびβは、max-min法とも呼ばれる直線方程式によって導出し得る。この計算プロセスは、エンコーダ検索動作としてだけでなく、復号プロセスの一部として実行されることがあるため、α値およびβ値を伝達するためにシンタックスを必ずしも使用する必要はない。
To reduce cross-component redundancy, a cross-component linear model (CCLM) prediction mode may be used, in which chroma samples are predicted based on reconstructed luma samples of the same CU using a linear model as follows:
pred c (i, j) = α・rec L ' (i, j) + β
where predc (i,j) represents the predicted chroma samples in a CU and recL (i,j) represents the downsampled reconstructed luma samples of the same CU. The parameters α and β may be derived by linear equations, also known as max-min methods. Because this computation process may be performed as part of the decoding process, not just as an encoder search operation, syntax is not necessarily required to communicate the α and β values.

様々なYUVフォーマットがあり、図3(A)~図3(D)に示す。4:2:0フォーマットでは、LM予測は、図3(A)~図3(D)に示されるように、クロマサンプルに対応するダウンサンプリングされたルーマサンプルを取得するために、6タップ補間フィルタを適用し得る。公式な方法で、ダウンサンプリングされたルーマサンプルRec’L[x,y]は、再構成されたルーマサンプルから次のように計算し得る:
Rec’L[x,y]=(2×RecL[2x,2y]+2×RecL[2x,2y+1]+
RecL[2x-1,2y]+RecL[2x+1,2y]+
RecL[2x-1,2y+1]+RecL[2x+1,2y+1]+4)>>3
There are various YUV formats, which are shown in Figures 3(A) to 3(D). In the 4:2:0 format, the LM prediction may apply a 6-tap interpolation filter to obtain downsampled luma samples corresponding to the chroma samples, as shown in Figures 3(A) to 3(D). In a formal way, the downsampled luma samples Rec'L[x,y] may be calculated from the reconstructed luma samples as follows:
Rec' L [x, y] = (2 x Rec L [2x, 2y] + 2 x Rec L [2x, 2y + 1] +
Rec L [2x-1, 2y] + Rec L [2x+1, 2y] +
Rec L [2x-1, 2y+1] + Rec L [2x+1, 2y+1]+4) >> 3

ダウンサンプリングされたルーマサンプルは、最大および最小のサンプル点を見つけるために使用し得る。2点(ルーマとクロマの組)(A、B)は、図4に示すように、隣接ルーマサンプルのセット内の最小値および最大値であり得る。
線形モデルパラメータαおよびβは、次の式に従って取得し得る:
The downsampled luma samples can be used to find the maximum and minimum sample points. Two points (luma and chroma pairs) (A, B) can be the minimum and maximum values in a set of adjacent luma samples, as shown in Figure 4.
The linear model parameters α and β may be obtained according to the following formula:

Figure 0007578591000001
Figure 0007578591000001

ここでは、除算を回避して、乗算およびシフトに置き換え得る。事前に計算された値を格納するために1つのルックアップテーブル(LUT)を使用し得、LUTのエントリインデックスを指定するために、最大と最小のルーマサンプル間の絶対差値を使用し得、LUTのサイズは512であり得る。 Here, divisions may be avoided and replaced with multiplications and shifts. One look-up table (LUT) may be used to store the pre-computed values, the absolute difference value between the maximum and minimum luma samples may be used to specify the entry index of the LUT, and the size of the LUT may be 512.

また、diff_Yで表される、指定された隣接サンプル領域内の最大と最小のルーマサンプル値の絶対差が非一様量子化されることがあり、LUTのサイズが縮小されるようにCCLMルックアップテーブル(LUT)のエントリインデックスを指定するために、絶対差の量子化値が使用され得ることも提案された。diff_Yの範囲は複数の間隔に分割され、異なる量子化ステップサイズが異なる間隔で使用され得る。一例では、diff_Yの範囲を2つの間隔に分割し得、diff_YがThres_1という名前の閾値以下の場合、Step_Aという名前の1つのステップサイズが使用される。それ以外の場合は、Step_Bという名前の別のステップサイズを使用し得る。したがって、CCLMのパラメータは次のように取得し得る: It was also proposed that the absolute difference between the maximum and minimum luma sample values in a specified region of adjacent samples, represented by diff_Y, may be non-uniformly quantized, and the quantized value of the absolute difference may be used to specify an entry index in a CCLM look-up table (LUT) such that the size of the LUT is reduced. The range of diff_Y may be divided into intervals, and different quantization step sizes may be used in the different intervals. In one example, the range of diff_Y may be divided into two intervals, and if diff_Y is less than or equal to a threshold value, named Thres_1, one step size, named Step_A, is used; otherwise, another step size, named Step_B, may be used. Thus, the parameters of the CCLM may be obtained as follows:

Figure 0007578591000002
Figure 0007578591000002

ここで、Thres_1、Step_AおよびStep_Bは、1、2、3、4などの任意の正の整数にすることができる。また、Step_AとStep_Bは等しくない。 Here, Thres_1, Step_A and Step_B can be any positive integers such as 1, 2, 3, 4, etc. Also, Step_A and Step_B are not equal.

クロマ予測子を導出するために、現在のVTM実装の場合、乗算は次のような整数演算に置き換えられ、maxY、minY、maxCおよびminCは、それぞれ最大ルーマサンプル値、最小ルーマサンプル値、最大クロマサンプル値および最小クロマサンプル値を示す。numSampLおよびnumSampTは、それぞれ利用可能な左側および上側の隣接サンプルの数を示す。以下のテキストは、VVC草案3の8.2.4.2.8項からのものである。 To derive the chroma predictor, for the current VTM implementation, the multiplications are replaced with integer arithmetic as follows, where maxY, minY, maxC and minC denote the maximum luma sample value, minimum luma sample value, maximum chroma sample value and minimum chroma sample value, respectively. numSampL and numSampT denote the number of left and upper adjacent samples available, respectively. The following text is taken from VVC draft 3, section 8.2.4.2.8:

変数a、bおよびkは次のように導出される:
numSampLが0に等しく、numSampTが0に等しい場合、以下が適用される:
k=0
a=0
b=1<<(BitDepthC-1)
それ以外の場合は、以下が適用される:
shift=(BitDepthC>8)?BitDepthC-9:0
add=shift?1<<(shift-1):0
diff=(maxY-minY+add)>>shift
k=16
diffが0より大きい場合、以下が適用される:
div=((maxC-minC)*(Floor(232/diff)-Floor(216/diff)*216)+215)>>16
a=((maxC-minC)*Floor(216/diff)+div+add)>>shift
それ以外の場合は、以下が適用される:
a=0
b=minC-((a*minY)>>k)
The variables a, b and k are derived as follows:
If numSampL is equal to 0 and numSampT is equal to 0, the following applies:
k = 0
a = 0
b=1<<(BitDepthC-1)
Otherwise the following applies:
shift=(BitDepthC>8)? BitDepthC-9:0
add=shift? 1<<(shift-1): 0
diff=(maxY-minY+add)>>shift
k = 16
If diff is greater than 0, the following applies:
div = ((maxC - minC) * (Floor (2 32 /diff) - Floor (2 16 /diff) *2 16 ) + 2 15 ) >> 16
a=((maxC-minC)*Floor(2 16 /diff)+div+add)>>shift
Otherwise the following applies:
a = 0
b=minC-((a*minY)>>k)

diffが0より大きい場合の式は、次のように簡略化することもできる:
a=((maxC-minC)*Floor(216/diff)+add)>>shift
When diff is greater than 0, the formula can also be simplified to:
a=((maxC-minC)*Floor(2 16 /diff)+add)>>shift

パラメータaおよびbを導出した後、クロマ予測子は次のように計算される:
predc(i,j)=(a・recL’(i,j))>>S+b
After deriving the parameters a and b, the chroma predictor is calculated as follows:
pred c (i, j) = (a・rec L '(i, j)) >> S + b

変数「diff」の範囲は1~512であるため、Floor(216/diff)の値を事前に計算して、512に等しいサイズのルックアップテーブル(LUT)に格納できる。さらに、diffの値は、ルックアップテーブルのエントリインデックスを指定するために使用される。 Since the variable "diff" ranges from 1 to 512, the value of Floor(2 16 /diff) can be pre-calculated and stored in a look-up table (LUT) of size equal to 512. Furthermore, the value of diff is used to specify the entry index of the look-up table.

この計算プロセスは、エンコーダ検索動作としてだけでなく、復号プロセスの一部として実行されるため、α値およびβ値を伝達するためにシンタックスは使用されない。 Since this computation process is performed as part of the decoding process and not just as an encoder search operation, no syntax is used to communicate the alpha and beta values.

T_CCLMモードでは、上側の隣接サンプル(2*Wサンプルを含む)のみが線形モデル係数の計算に使用される。L_CCLMモードでは、左側の隣接サンプル(2*Hサンプルを含む)のみが線形モデル係数の計算に使用される。これは図6A~図7Bに示される。 In T_CCLM mode, only the upper adjacent samples (containing 2*W samples) are used to calculate the linear model coefficients. In L_CCLM mode, only the left adjacent samples (containing 2*H samples) are used to calculate the linear model coefficients. This is shown in Figures 6A to 7B.

CCLM予測モードはまた、2つのクロマ成分間の予測を含み、すなわち、Cr成分は、Cb成分から予測され得る。再構成されたサンプル信号を使用する代わりに、CCLM Cb-to-Cr予測を残差領域に適用し得る。これは、重み付けされた再構成されたCb残差を元のCrイントラ予測に追加して、最終的なCr予測を形成することで実装し得る: The CCLM prediction mode also includes prediction between two chroma components, i.e., the Cr component can be predicted from the Cb component. Instead of using the reconstructed sample signal, CCLM Cb-to-Cr prediction can be applied in the residual domain. This can be implemented by adding the weighted reconstructed Cb residual to the original Cr intra prediction to form the final Cr prediction:

Figure 0007578591000003
Figure 0007578591000003

CCLMのルーマからクロマへの予測モードは、1つの追加のクロマイントラ予測モードとして追加され得る。エンコーダ側では、クロマイントラ予測モードを選択するために、クロマ成分のRDコストチェックをもう1つ追加し得る。CUのクロマ成分にCCLMのルーマ対クロマ予測モード以外のイントラ予測モードが使用される場合、CCLMのCb対Cr予測がCr成分予測に使用され得る。 The CCLM luma-to-chroma prediction mode may be added as one additional chroma intra prediction mode. On the encoder side, one more RD cost check of the chroma components may be added to select the chroma intra prediction mode. If an intra prediction mode other than the CCLM luma-to-chroma prediction mode is used for the chroma components of a CU, the CCLM Cb-to-Cr prediction may be used for the Cr component prediction.

マルチモデルCCLM(MMLM)は、CCLMのもう1つの拡張機能である。名前で示されているように、MMLMには、2つのモデルなど、複数のモデルが存在することがある。MMLMでは、現在のブロックの隣接ルーマサンプルと隣接クロマサンプルを2つのグループに分類し得、各グループは、線形モデルを導出するための訓練セットとして使用し得る(つまり、特定のαとβは特定のグループに対して導出される)。さらに、現在のルーマブロックのサンプルは、隣接ルーマサンプルの分類と同じ規則に基づいて分類し得る。 Multi-model CCLM (MMLM) is another extension of CCLM. As the name suggests, there may be multiple models in MMLM, such as two models. In MMLM, the neighboring luma and chroma samples of the current block may be classified into two groups, and each group may be used as a training set to derive a linear model (i.e., a specific α and β are derived for a specific group). Furthermore, the samples of the current luma block may be classified based on the same rules as the classification of the neighboring luma samples.

図8は、隣接サンプルを2つのグループに分類する例を示している。ここで、閾値は、隣接する再構成されたルーマサンプルの平均値として計算し得る。Rec’L[x,y]<=閾値を有する隣接サンプルは、グループ1に分類し得、一方、Rec’L[x,y]>閾値を有する隣接サンプルは、グループ2に分類し得る。 Figure 8 shows an example of classifying neighboring samples into two groups, where the threshold may be calculated as the average value of neighboring reconstructed luma samples. Neighboring samples with Rec'L[x,y] <= threshold may be classified into group 1, while neighboring samples with Rec'L[x,y] > threshold may be classified into group 2.

Figure 0007578591000004
Figure 0007578591000004

局所照射補正(LIC)は、スケール係数aおよびオフセットbを使用して、照射の変化の線形モデルに基づく。これは、インターモードで符号化された符号化ユニット(CU)ごとに適応的に有効または無効になる。 Local illumination correction (LIC) is based on a linear model of illumination changes with a scale factor a and an offset b. It is adaptively enabled or disabled for each coding unit (CU) coded in inter mode.

CUにLICを適用する場合、現在のCUの隣接サンプルとそれに対応する参照サンプルを使用してパラメータaおよびbを導出するために、最小2乗誤差法を使用する。より具体的には、図14に示されるように、現在のCU1410のサブサンプリングされた(2:1サブサンプリング)隣接サンプル(図14の部分(a)に示される)と、参照ピクチャまたはブロック1420(図14の部分(b)に示される)の対応するサンプル(現在のCUまたはサブCUの動き情報によって識別される)が使用される。ICパラメータが導出され、予測方向ごとに個別に適用される。 When applying LIC to a CU, a least square error method is used to derive parameters a and b using the neighboring samples of the current CU and its corresponding reference samples. More specifically, as shown in FIG. 14, subsampled (2:1 subsampled) neighboring samples of the current CU 1410 (shown in part (a) of FIG. 14) and the corresponding samples (identified by the motion information of the current CU or sub-CU) of the reference picture or block 1420 (shown in part (b) of FIG. 14) are used. IC parameters are derived and applied separately for each prediction direction.

CUがマージモードで符号化されている場合、LICフラグは、マージモードでの動き情報の複製と同様の方法で、隣接ブロックから複製されるか、それ以外の場合は、LICフラグがCUに通知され、LICが適用されるかどうかが示される。 If the CU is coded in merge mode, the LIC flag is copied from the neighboring block in a manner similar to the motion information copying in merge mode, otherwise the LIC flag is signaled to the CU to indicate whether LIC applies.

上記の進歩にもかかわらず、最先端技術には問題が存在する。現在VTM3.0では、4:2:0 YUVフォーマットで、6タップ補間フィルタを指定された隣接領域のすべてのルーマサンプルに適用し得るが、最終的には最大値と最小値の2つのルーマサンプルのみがCCLMパラメータを導出するため使用され、これにより、符号化効率に明確な利点がなくても、デコーダの複雑さが増す。さらに、VTM3.0では、CCLMのルーマサンプルの補間フィルタは4:2:0 YUVフォーマットのみをサポートするが、4:4:4および4:2:2 YUVフォーマットは依然として一般的であり、サポートする必要がある。 Despite the above advances, problems exist in the state of the art. Currently in VTM3.0, for 4:2:0 YUV format, a 6-tap interpolation filter may be applied to all luma samples in a given contiguous region, but ultimately only two luma samples, the maximum and minimum, are used to derive the CCLM parameters, which increases the decoder complexity without any clear advantage in coding efficiency. Furthermore, in VTM3.0, the CCLM luma sample interpolation filter only supports 4:2:0 YUV format, while 4:4:4 and 4:2:2 YUV formats are still common and need to be supported.

現在VTM3.0では、CCLMのルックアップテーブル(LUT)のサイズは512であり、つまり、ルックアップテーブルには512個の要素があり、各要素は16ビット整数で表されるため、符号化効率に明確な利点がなくても、デコーダメモリコストが増えすぎる。さらに、CCLMとLICの概念は似ているが、線形モデルのパラメータaおよびbを導出するために異なる方法を使用しているため、望ましくない。 Currently in VTM3.0, the size of the lookup table (LUT) of CCLM is 512, that is, the lookup table has 512 elements, and each element is represented by a 16-bit integer, which increases the decoder memory cost too much without any clear advantage in coding efficiency. In addition, although CCLM and LIC are conceptually similar, they use different methods to derive the parameters a and b of the linear model, which is undesirable.

現在VTM3.0では、32×32クロマブロックなどの大きなブロックの場合、指定された隣接領域の64個のサンプルを使用して最大値および最小値が計算され、これにより、符号化効率に明確な利点がなくても、デコーダの複雑さが増す。 Currently in VTM3.0, for large blocks such as 32x32 chroma blocks, the max and min are calculated using 64 samples of a given neighboring region, which increases decoder complexity without any clear advantage in coding efficiency.

現在VTM3.0では、64×64ブロックなどの大きなブロックの場合、指定された隣接領域の64個のサンプルを使用して線形モデルパラメータaおよびbが計算され、これにより、符号化効率に明確な利点がなくても、デコーダの複雑さが増す。 Currently in VTM3.0, for large blocks such as 64x64 blocks, the linear model parameters a and b are calculated using 64 samples of a given neighboring region, which increases the decoder complexity without any clear advantage in coding efficiency.

ビデオシーケンスを符号化または復号するための方法は、クロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用するステップと、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用するステップとを含むことがあり、補間フィルタは、ビデオシーケンスのYUVフォーマットに依存し得る。 A method for encoding or decoding a video sequence may include applying a cross-component linear model (CCLM) to the video sequence and applying an interpolation filter in the cross-component linear model (CCLM), where the interpolation filter may depend on a YUV format of the video sequence.

本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、方法は、ビデオシーケンスのYUVフォーマットに依存する補間フィルタのタップを使用するステップをさらに含む。 According to one aspect of the present disclosure, in the above method, when applying the interpolation filter in the cross-component linear model (CCLM), the method further includes using taps of the interpolation filter that depend on the YUV format of the video sequence.

本開示の本態様によれば、方法は、ビデオシーケンスのYUVフォーマットと同じフォーマットである、クロスコンポーネント線形モデル(CCLM)で使用される補間フィルタのタップを使用するステップをさらに含む。 According to this aspect of the disclosure, the method further includes using taps of the interpolation filter used in the cross-component linear model (CCLM) that are in the same format as the YUV format of the video sequence.

本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、方法は、ビデオシーケンスが4:4:4:または4:2:2のYUVフォーマットを含む場合、補間フィルタのフォーマットがビデオシーケンスのフォーマットと同じになるように設定するステップをさらに含み得、ビデオシーケンスが4:2:0のYUVフォーマットを含む場合、補間フィルタのフォーマットがビデオシーケンスのフォーマットとは異なるように設定するステップを含み得る。 According to one aspect of the present disclosure, in the above method, when applying the interpolation filter in the cross-component linear model (CCLM), the method may further include a step of setting the format of the interpolation filter to be the same as the format of the video sequence if the video sequence includes a 4:4:4: or 4:2:2 YUV format, and may include a step of setting the format of the interpolation filter to be different from the format of the video sequence if the video sequence includes a 4:2:0 YUV format.

本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、方法は、ビデオシーケンスの様々なYUVフォーマットに対して異なる補間フィルタのタップを使用するステップをさらに含み得る。 According to one aspect of the present disclosure, in the above method, when applying the interpolation filter in the cross-component linear model (CCLM), the method may further include using different taps of the interpolation filter for different YUV formats of the video sequence.

本開示の一態様によれば、上記の方法において、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用する際に、この方法は、補間フィルタを、上側および左側の隣接ルーマの再構成されたサンプルに対して異なるように設定するステップをさらに含み得る。 According to one aspect of the present disclosure, in the above method, when applying the interpolation filter in the cross-component linear model (CCLM), the method may further include setting the interpolation filter differently for the reconstructed samples of the upper and left neighboring luma.

本開示の本態様によれば、方法は、補間フィルタを設定するステップをさらに含み得、補間フィルタは上側および左側の隣接ルーマ再構成サンプルがビデオシーケンスのYUVフォーマットに依存するように適用される。 According to this aspect of the disclosure, the method may further include setting an interpolation filter, the interpolation filter being applied such that the upper and left neighboring luma reconstruction samples depend on the YUV format of the video sequence.

本開示の一態様によれば、方法は、クロスコンポーネント線形モデル(CCLM)で使用される、上側の隣接ルーマサンプルの行数および左側の隣接ルーマサンプルの列数を、ビデオシーケンスのYUVフォーマットに依存するように設定するステップをさらに含み得る。 According to one aspect of the present disclosure, the method may further include setting the number of rows of upper neighboring luma samples and the number of columns of left neighboring luma samples used in the cross-component linear model (CCLM) to be dependent on the YUV format of the video sequence.

本開示の本態様によれば、方法は、4:4:4または4:2:2のYUVフォーマットのうちの1つを有するビデオシーケンスに対するクロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および/または左側の隣接領域の1列を使用するステップをさらに含み得る。 According to this aspect of the disclosure, the method may further include using one row of the upper neighboring region and/or one column of the left neighboring region in a cross-component linear model (CCLM) for a video sequence having one of 4:4:4 or 4:2:2 YUV formats.

本開示の本態様によれば、方法は、4:2:2のYUVフォーマットを有するビデオシーケンスに対するクロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および/または左側の隣接領域の少なくとも2つの列を使用するステップをさらに含み得る。 According to this aspect of the disclosure, the method may further include using one row of the upper adjacent region and/or at least two columns of the left adjacent region in a cross-component linear model (CCLM) for a video sequence having a 4:2:2 YUV format.

本開示の一態様によれば、ビデオシーケンスを符号化または復号するためのデバイスは、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによって命令されたように動作するように構成された少なくとも1つのプロセッサであって、プログラムコードは、少なくとも1つのプロセッサにクロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用させ、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用させるように構成された第1の符号化または復号コードを含み得る、少なくとも1つのプロセッサとを含み得、補間フィルタは、ビデオシーケンスのYUVフォーマットに依存し得る。 According to one aspect of the present disclosure, a device for encoding or decoding a video sequence may include at least one memory configured to store program code and at least one processor configured to read the program code and operate as instructed by the program code, the program code may include first encoding or decoding code configured to cause the at least one processor to apply a cross-component linear model (CCLM) to the video sequence and to apply an interpolation filter in the cross-component linear model (CCLM), the interpolation filter may depend on a YUV format of the video sequence.

本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、ビデオシーケンスのYUVフォーマットに依存する、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのタップを使用させるように構成されたコードをさらに含み得る。 According to one aspect of the present disclosure, the first encoding or decoding code may further include code configured to cause the at least one processor to use taps of an interpolation filter applied in a cross-component linear model (CCLM) that depend on the YUV format of the video sequence.

本開示の本態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、ビデオシーケンスのYUVフォーマットと同じ形式である、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのタップを使用させるように構成されたコードをさらに含み得る。 According to this aspect of the disclosure, the first encoding or decoding code may further include code configured to cause at least one processor to use taps of an interpolation filter applied in a cross-component linear model (CCLM) that is in the same format as the YUV format of the video sequence.

本開示の一態様によれば、第1の符号化または復号コードは、ビデオシーケンスが4:4:4:または4:2:2のYUVフォーマットを含む場合、少なくとも1つのプロセッサに、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのフォーマットがビデオシーケンスのフォーマットと同じになるように設定させ、ビデオシーケンスが4:2:0のYUVフォーマットを含む場合、補間フィルタのフォーマットがビデオシーケンスのフォーマットとは異なるように設定させる、ように構成されたコードをさらに含み得る。 According to one aspect of the present disclosure, the first encoding or decoding code may further include code configured to cause at least one processor to set a format of an interpolation filter applied in a cross-component linear model (CCLM) to be the same as the format of the video sequence if the video sequence includes a 4:4:4: or 4:2:2 YUV format, and to set a format of the interpolation filter different from the format of the video sequence if the video sequence includes a 4:2:0 YUV format.

本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、ビデオシーケンスの様々なYUVフォーマットに対して異なる、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタのタップを使用させるように構成されたコードをさらに含み得る。 According to one aspect of the present disclosure, the first encoding or decoding code may further include code configured to cause the at least one processor to use taps of an interpolation filter applied in a cross-component linear model (CCLM) that are different for various YUV formats of the video sequence.

本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、クロスコンポーネント線形モデル(CCLM)において適用される補間フィルタを、上側と左側の隣接ルーマの再構成されたサンプルに対して異なるように設定させるように構成されたコードをさらに含み得る。 According to one aspect of the present disclosure, the first encoding or decoding code may further include code configured to cause at least one processor to set an interpolation filter applied in a cross-component linear model (CCLM) differently for reconstructed samples of upper and left neighboring luma.

本開示の本態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、上側と左側の隣接ルーマの再構成されたサンプルに適用される補間フィルタを、ビデオシーケンスのYUVフォーマットに依存するように設定させるように構成されたコードをさらに含み得る。 According to this aspect of the disclosure, the first encoding or decoding code may further include code configured to cause at least one processor to set an interpolation filter applied to the reconstructed samples of the upper and left adjacent luma to be dependent on the YUV format of the video sequence.

本開示の一態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、クロスコンポーネント線形モデル(CCLM)で使用される、上側の隣接ルーマサンプルの行数および左側の隣接ルーマサンプルの列数を、ビデオシーケンスのYUVフォーマットに依存するように設定させるように構成されたコードをさらに含み得る。 According to one aspect of the present disclosure, the first encoding or decoding code may further include code configured to cause at least one processor to set a number of rows of upper neighboring luma samples and a number of columns of left neighboring luma samples used in the cross-component linear model (CCLM) to be dependent on the YUV format of the video sequence.

本開示の本態様によれば、第1の符号化または復号コードは、少なくとも1つのプロセッサに、4:4:4または4:2:2のYUVフォーマットのうちの1つを有するビデオシーケンスに対するクロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および/または左側の隣接領域の少なくとも1列を使用させるように構成されたコードをさらに含み得る。 According to this aspect of the disclosure, the first encoding or decoding code may further include code configured to cause at least one processor to use one row of the upper adjacent region and/or at least one column of the left adjacent region in a cross-component linear model (CCLM) for a video sequence having one of 4:4:4 or 4:2:2 YUV formats.

本開示の一態様によれば、プログラムコードを格納する非一時的コンピュータ可読媒体が提供され得、プログラムコードは1つまたは複数の命令を含み、命令は、デバイスの1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、クロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用させ、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用させることがあり、補間フィルタは、ビデオシーケンスのYUVフォーマットに依存する。 According to one aspect of the present disclosure, a non-transitory computer-readable medium may be provided that stores program code, the program code including one or more instructions that, when executed by one or more processors of a device, may cause the one or more processors to apply a cross-component linear model (CCLM) to a video sequence and to apply an interpolation filter in the cross-component linear model (CCLM), the interpolation filter depending on the YUV format of the video sequence.

前述の方法、デバイス、および非一時的コンピュータ可読媒体は個別に説明されてきたが、これらの説明は、その使用の範囲または機能に関する制限を示唆することを意図するものではない。実際、これらの方法、デバイス、および非一時的コンピュータ可読媒体は、本開示の他の態様において組み合わされ得る。 Although the foregoing methods, devices, and non-transitory computer-readable media have been described separately, these descriptions are not intended to imply any limitations as to the scope of their use or functionality. Indeed, these methods, devices, and non-transitory computer-readable media may be combined in other aspects of the present disclosure.

開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。 Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and accompanying drawings.

一実施形態による予測モデルの図である。FIG. 2 is a diagram of a predictive model according to one embodiment. 一実施形態による予測モデルの図である。FIG. 2 is a diagram of a predictive model according to one embodiment. 一実施形態によるYUVフォーマットの図である。FIG. 2 is a diagram of a YUV format according to one embodiment. 一実施形態による異なるルーマ値の図である。FIG. 2 is a diagram of different luma values according to one embodiment. 一実施形態によるクロスコンポーネント線形モデリングで使用されるサンプルの図である。FIG. 1 is a sample diagram used in cross-component linear modeling according to one embodiment. 一実施形態によるクロスコンポーネント線形モデリングで使用されるサンプルの図である。FIG. 1 is a sample diagram used in cross-component linear modeling according to one embodiment. 一実施形態によるクロスコンポーネント線形モデリングで使用されるサンプルの図である。FIG. 1 is a sample diagram used in cross-component linear modeling according to one embodiment. 一実施形態による、マルチモデルCCLMを使用する分類の例である。1 is an example of classification using multi-model CCLM, according to one embodiment. 一実施形態による通信システムの簡略化されたブロック図である。FIG. 1 is a simplified block diagram of a communication system according to one embodiment. 一実施形態によるストリーミング環境の図である。FIG. 1 is a diagram of a streaming environment according to one embodiment. 一実施形態によるビデオデコーダのブロック図である。FIG. 2 is a block diagram of a video decoder according to one embodiment. 一実施形態によるビデオエンコーダのブロック図である。FIG. 2 is a block diagram of a video encoder according to one embodiment. 一実施形態による、ビデオシーケンスを符号化または復号するための例示的なプロセスのフローチャートである。1 is a flowchart of an exemplary process for encoding or decoding a video sequence, according to one embodiment. 照射補償(IC)パラメータを導出するために使用される隣接サンプルの図である。FIG. 1 is a diagram of adjacent samples used to derive illumination compensation (IC) parameters. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小サンプル値を計算するために使用される、現在の符号化ユニット(CU)および現在のCUの隣接する再構成されたサンプルのサブセットの図である。1 is a diagram of a current coding unit (CU) and a subset of neighboring reconstructed samples of the current CU used to calculate maximum and minimum sample values, according to an embodiment. 実施形態による、最大および最小のサンプル値を計算するために使用される、クロマブロックおよびクロマブロックの選択された隣接サンプルの図である。4 is a diagram of a chroma block and selected neighboring samples of the chroma block used to calculate maximum and minimum sample values according to an embodiment. 実施形態による、最大および最小のサンプル値を計算するために使用される、クロマブロックおよびクロマブロックの選択された隣接サンプルの図である。4 is a diagram of a chroma block and selected neighboring samples of the chroma block used to calculate maximum and minimum sample values according to an embodiment. 実施形態によるルーマサンプル用のフィルタの位置の図である。FIG. 13 is a diagram of filter positions for luma samples according to an embodiment. 実施形態によるルーマサンプル用のフィルタの位置の図である。FIG. 13 is a diagram of filter positions for luma samples according to an embodiment. 実施形態による、線形モデル予測モードにおいてパラメータを計算するために使用される、現在のCUおよび現在のCUの隣接サンプル対の図である。FIG. 13 is a diagram of a current CU and adjacent sample pairs of the current CU used to calculate parameters in a linear model prediction mode, according to an embodiment. 実施形態による、線形モデル予測モードにおいてパラメータを計算するために使用される、現在のCUおよび現在のCUの隣接サンプル対の図である。FIG. 13 is a diagram of a current CU and adjacent sample pairs of the current CU used to calculate parameters in a linear model prediction mode, according to an embodiment. 実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。4 is a diagram of a block and selected neighboring samples of the block used to calculate linear model parameters, according to an embodiment. 実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。4 is a diagram of a block and selected neighboring samples of the block used to calculate linear model parameters, according to an embodiment. 実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。4 is a diagram of a block and selected neighboring samples of the block used to calculate linear model parameters, according to an embodiment. 実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。4 is a diagram of a block and selected neighboring samples of the block used to calculate linear model parameters, according to an embodiment. 実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。4 is a diagram of a block and selected neighboring samples of the block used to calculate linear model parameters, according to an embodiment. 実施形態による、線形モデルパラメータを計算するために使用されるブロックおよびブロックの選択された隣接サンプルの図の図である。4 is a diagram of a block and selected neighboring samples of the block used to calculate linear model parameters, according to an embodiment. 一実施形態によるコンピュータシステムの図である。FIG. 1 is a diagram of a computer system according to one embodiment.

図9は、本開示の一実施形態による通信システム(400)の簡略化されたブロック図を示している。通信システム(400)は、ネットワーク(450)を介して相互接続された少なくとも2つの端末(410~420)を含み得る。データの一方向送信の場合、第1の端末(410)は、ネットワーク(450)を介して他の端末(420)に送信するために、ローカル位置でビデオデータを符号化し得る。第2の端末(420)は、ネットワーク(450)から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号し、復元されたビデオデータを表示し得る。一方向データ送信は、メディアサービング用途などで一般的であることがある。 Figure 9 shows a simplified block diagram of a communication system (400) according to one embodiment of the present disclosure. The communication system (400) may include at least two terminals (410-420) interconnected via a network (450). In the case of a one-way transmission of data, a first terminal (410) may encode video data at a local location for transmission to the other terminal (420) via the network (450). The second terminal (420) may receive the encoded video data of the other terminal from the network (450), decode the encoded data, and display the restored video data. One-way data transmission may be common in media serving applications, etc.

図9は、例えば、ビデオ会議中に発生する可能性のある符号化されたビデオの双方向送信をサポートするために提供される端末の第2の対(430、440)を示す。データの双方向送信の場合、各端末(430、440)は、ネットワーク(450)を介して他の端末に送信するために、ローカル位置でキャプチャされたビデオデータを符号化し得る。各端末(430、440)はまた、他の端末によって送信された符号化されたビデオデータを受信し、符号化されたデータを復号し、回復されたビデオデータをローカルディスプレイデバイスに表示し得る。 FIG. 9 illustrates a second pair of terminals (430, 440) provided to support bidirectional transmission of encoded video, such as might occur during a video conference. For bidirectional transmission of data, each terminal (430, 440) may encode video data captured at a local location for transmission over the network (450) to the other terminal. Each terminal (430, 440) may also receive encoded video data transmitted by the other terminal, decode the encoded data, and display the recovered video data on a local display device.

図9では、端末(410~440)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理は、そのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を用いた用途を見出す。ネットワーク(450)は、例えば、有線および/または無線通信ネットワークを含む、端末(410~440)間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(450)は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本議論の目的のために、ネットワーク(450)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではないことがある。 9, the terminals (410-440) may be depicted as servers, personal computers, and smartphones, although the principles of the present disclosure are not so limited. Embodiments of the present disclosure find use with laptop computers, tablet computers, media players, and/or dedicated video conferencing equipment. Network (450) represents any number of networks that convey encoded video data between the terminals (410-440), including, for example, wired and/or wireless communication networks. The communication network (450) may exchange data over circuit-switched and/or packet-switched channels. Representative networks include telecommunications networks, local area networks, wide area networks, and/or the Internet. For purposes of the present discussion, the architecture and topology of network (450) may not be important to the operation of the present disclosure unless otherwise described herein below.

図10は、開示された主題の用途の例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存を含む、他のビデオ対応用途に等しく適用することができる。 Figure 10 illustrates the arrangement of a video encoder and decoder in a streaming environment as an example of an application of the disclosed subject matter. The disclosed subject matter is equally applicable to other video-enabled applications including, for example, video conferencing, digital television, and storage of compressed video on digital media including CDs, DVDs, memory sticks, etc.

ストリーミングシステムは、ビデオソース(501)、例えば、非圧縮ビデオサンプルストリーム(502)を作成する、例えば、デジタルカメラを含むことができるキャプチャサブシステム(513)を含み得る。符号化されたビデオビットストリームと比較したときにより多いデータ量を強調するために太線で示されているそのサンプルストリーム(502)は、カメラ(501)に結合されたエンコーダ(503)によって処理することができる。エンコーダ(503)は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得、以下により詳細に説明されるように、開示された主題の態様を可能にするかまたは実施する。符号化されたビデオビットストリーム(504)は、サンプルストリームと比較してより少ないデータ量を強調するために細い線として描かれ、将来の使用のためにストリーミングサーバ(505)に格納することができる。1つまたは複数のストリーミングクライアント(506、508)は、ストリーミングサーバ(505)にアクセスして、符号化されたビデオビットストリーム(504)の複製(507、509)を取得することができる。クライアント(506)は、符号化されたビデオビットストリーム(507)の着信複製を復号し、ディスプレイ(512)または他のレンダリングデバイス(図示せず)上でレンダリングすることができる発信ビデオサンプルストリーム(511)を作成するビデオデコーダ(510)を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム(504、507、509)を特定のビデオ符号化/圧縮標準に従って符号化できる。これらの標準の例には、H.265 HEVCが含まれる。開発中のビデオ符号化標準は、非公式にVersatile Video Coding(VVC)として知られている。開示された主題は、VVCの文脈で使用され得る。 The streaming system may include a video source (501) and a capture subsystem (513) that may include, for example, a digital camera that creates an uncompressed video sample stream (502). The sample stream (502), shown as a thick line to emphasize the larger amount of data when compared to an encoded video bitstream, may be processed by an encoder (503) coupled to the camera (501). The encoder (503) may include hardware, software, or a combination thereof to enable or implement aspects of the disclosed subject matter, as described in more detail below. The encoded video bitstream (504), shown as a thin line to emphasize the smaller amount of data compared to the sample stream, may be stored on a streaming server (505) for future use. One or more streaming clients (506, 508) may access the streaming server (505) to obtain copies (507, 509) of the encoded video bitstream (504). The client (506) may include a video decoder (510) that decodes an incoming copy of an encoded video bitstream (507) and creates an outgoing video sample stream (511) that can be rendered on a display (512) or other rendering device (not shown). In some streaming systems, the video bitstreams (504, 507, 509) may be encoded according to a particular video encoding/compression standard. Examples of these standards include H.265 HEVC. The developing video encoding standard is informally known as Versatile Video Coding (VVC). The disclosed subject matter may be used in the context of VVC.

図11は、本発明の実施形態によるビデオデコーダ(510)の機能ブロック図であり得る。 Figure 11 may be a functional block diagram of a video decoder (510) according to an embodiment of the present invention.

受信機(610)は、デコーダ(610)によって復号される1つまたは複数のコーデックビデオシーケンスを受信し得、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスであり、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル(612)から受信し得、チャネル(612)は、符号化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(610)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームと共に符号化されたビデオデータを受信し得る。受信機(610)は、符号化されたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(615)を、受信機(610)とエントロピーデコーダ/パーサー(620)(以下、「パーサー」)との間に結合し得る。受信機(610)が十分な帯域幅および制御可能性の格納/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファ(615)は必要ないか、または小さくてよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファ(615)が必要とされることがあり、比較的大きくすることができ、有利に適応サイズにし得る。 The receiver (610) may receive one or more codec video sequences to be decoded by the decoder (610), in the same or another embodiment, one coded video sequence at a time, with the decoding of each coded video sequence being independent of the other coded video sequences. The coded video sequences may be received from a channel (612), which may be a hardware/software link to a storage device that stores the coded video data. The receiver (610) may receive the coded video data together with other data, e.g., coded audio data and/or auxiliary data streams, that may be forwarded to a respective using entity (not shown). The receiver (610) may separate the coded video sequences from the other data. To combat network jitter, a buffer memory (615) may be coupled between the receiver (610) and the entropy decoder/parser (620) (hereinafter, the "parser"). When the receiver (610) is receiving data from a store/forward device of sufficient bandwidth and controllability, or from an isosynchronous network, the buffer (615) may not be needed or may be small. For use with best-effort packet networks such as the Internet, the buffer (615) may be needed and may be relatively large, and may advantageously be adaptively sized.

ビデオデコーダ(510)は、エントロピー符号化されたビデオシーケンスからシンボル(621)を再構成するためのパーサー(620)を含み得る。これらのシンボルのカテゴリには、図11に示すように、デコーダ(510)の動作を管理するために使用される情報と、デコーダの不可欠な部分ではないが、デコーダに結合できるディスプレイ(512)などのレンダリングデバイスを制御するための情報とが含まれることがある。レンダリングデバイス(複数可)の制御情報は、Supplementary Enhancement Information(SEIメッセージ)またはVideo Usability Information(VUI)パラメータセットフラグメント(図示せず)の形式であることがある。パーサー(620)は、受信した符号化されたビデオシーケンスを解析/エントロピー復号し得る。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらず算術符号化などを含む当業者に周知の原則に従うことができる。パーサー(620)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダ内の画素のサブグループの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含めることができる。エントロピーデコーダ/パーサーはまた、変換係数、量子化パラメータ(QP)値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出し得る。 The video decoder (510) may include a parser (620) for reconstructing symbols (621) from the entropy coded video sequence. These categories of symbols may include information used to manage the operation of the decoder (510) and information for controlling a rendering device, such as a display (512), that is not an integral part of the decoder but may be coupled to the decoder, as shown in FIG. 11. The control information for the rendering device(s) may be in the form of a Supplementary Enhancement Information (SEI message) or a Video Usability Information (VUI) parameter set fragment (not shown). The parser (620) may parse/entropy decode the received coded video sequence. The coding of the coded video sequence may follow any video coding technique or standard and may follow principles well known to those skilled in the art, including variable length coding, Huffman coding, arithmetic coding with or without context-dependent coding, etc. The parser (620) may extract from the coded video sequence at least one set of subgroup parameters for a subgroup of pixels in the video decoder based on at least one parameter corresponding to the group. Subgroups may include groups of pictures (GOPs), pictures, tiles, slices, macroblocks, coding units (CUs), blocks, transform units (TUs), prediction units (PUs), etc. The entropy decoder/parser may also extract from the encoded video sequence information such as transform coefficients, quantization parameter (QP) values, motion vectors, etc.

パーサー(620)は、バッファ(615)から受信したビデオシーケンスに対してエントロピー復号/構文解析動作を実行して、シンボル(621)を作成し得る。パーサー(620)は、符号化されたデータを受信し、特定のシンボル(621)を選択的に復号し得る。さらに、パーサー(620)は、特定のシンボル(621)が動き補償予測ユニット(653)、スケーラ/逆変換ユニット(651)、イントラ予測ユニット(652)、またはループフィルタユニット(658)に提供されるべきか決定し得る。 The parser (620) may perform entropy decoding/parsing operations on the video sequence received from the buffer (615) to create symbols (621). The parser (620) may receive the encoded data and selectively decode particular symbols (621). Additionally, the parser (620) may determine whether a particular symbol (621) should be provided to a motion compensation prediction unit (653), a scaler/inverse transform unit (651), an intra prediction unit (652), or a loop filter unit (658).

シンボル(621)の再構成は、符号化されたビデオピクチャまたはその一部(ピクチャ間およびイントラピクチャ、ブロック間およびイントラブロックなど)のタイプ、および他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサー(620)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサー(620)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために描かれていない。 The reconstruction of the symbols (621) may involve a number of different units, depending on the type of encoded video picture or part thereof (inter-picture and intra-picture, inter-block and intra-block, etc.), and other factors. Which units are involved and how can be controlled by subgroup control information parsed from the encoded video sequence by the parser (620). The flow of such subgroup control information between the parser (620) and the following units is not depicted for clarity.

すでに述べた機能ブロックを超えて、デコーダ(510)は、以下に説明するように、概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。 Beyond the functional blocks already mentioned, the decoder (510) may be conceptually subdivided into several functional units, as described below. In an actual implementation operating under commercial constraints, many of these units will interact closely with each other and may be at least partially integrated with each other. However, for purposes of describing the disclosed subject matter, the following conceptual subdivision into functional units is appropriate:

第1のユニットはスケーラ/逆変換ユニット(651)である。スケーラ/逆変換ユニット(651)は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報を、パーサー(620)からシンボル(621)として受け取る。スケーラ/逆変換ユニットは、集約装置(655)に入力できるサンプル値を含むブロックを出力できる。 The first unit is a scalar/inverse transform unit (651). The scalar/inverse transform unit (651) receives the quantized transform coefficients as well as control information from the parser (620) including the transform to be used, the block size, the quantization factor, the quantization scaling matrix, etc. as symbols (621). The scalar/inverse transform unit can output a block containing sample values that can be input to an aggregator (655).

場合によっては、スケーラ/逆変換(651)の出力サンプルは、イントラ符号化されたブロックに関係することができ、つまり、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用できるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(652)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(652)は、現在の(部分的に再構成された)ピクチャ(656)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。集約装置(655)は、場合によっては、サンプルごとに、イントラ予測ユニット(652)が生成した予測情報を、スケーラ/逆変換ユニット(651)によって提供される出力サンプル情報に追加する。 In some cases, the output samples of the scalar/inverse transform (651) may relate to intra-coded blocks, i.e., blocks that do not use prediction information from a previously reconstructed picture, but can use prediction information from a previously reconstructed part of the current picture. Such prediction information may be provided by an intra-picture prediction unit (652). In some cases, the intra-picture prediction unit (652) generates a block of the same size and shape as the block being reconstructed using surrounding already reconstructed information fetched from the current (partially reconstructed) picture (656). The aggregation device (655) adds, possibly on a sample-by-sample basis, the prediction information generated by the intra-prediction unit (652) to the output sample information provided by the scalar/inverse transform unit (651).

他の場合では、スケーラ/逆変換ユニット(651)の出力サンプルは、インターコードされ、潜在的に動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット(653)は、参照ピクチャメモリ(657)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(621)に従ってフェッチされたサンプルを動き補正した後、これらのサンプルは、出力サンプル情報を生成するために、集約装置(655)によってスケーラ/逆変換ユニットの出力に追加できる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリフォーム内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、および参照ピクチャ成分を有することができるシンボル(621)の形式で動き補償ユニットに利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。 In other cases, the output samples of the scalar/inverse transform unit (651) may relate to an inter-coded and potentially motion compensated block. In such cases, the motion compensation prediction unit (653) may access the reference picture memory (657) to fetch samples used for prediction. After motion compensation of the fetched samples according to the symbols (621) associated with the block, these samples may be added to the output of the scalar/inverse transform unit by the aggregation device (655) to generate output sample information (in this case called residual samples or residual signals). The addresses in the reference picture memory form from which the motion compensation unit fetches the prediction samples may be controlled by a motion vector and are available to the motion compensation unit in the form of symbols (621) that may have, for example, X, Y, and reference picture components. Motion compensation may also include interpolation of sample values fetched from the reference picture memory when sub-sample accurate motion vectors are used, motion vector prediction mechanisms, etc.

集約装置(655)の出力サンプルは、ループフィルタユニット(658)において様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれるパラメータによって制御され、パーサー(620)からのシンボル(621)としてループフィルタユニット(658)に利用可能になるインループフィルタ技術を含むことができるが、符号化されたピクチャまたは符号化されたビデオシーケンスの前の(復号順で)部分の復号中に取得されたメタ情報に応答することができ、以前に再構成およびループフィルタリングされたサンプル値に応答することもできる。 The output samples of the aggregation device (655) may be subject to various loop filtering techniques in the loop filter unit (658). Video compression techniques may include in-loop filter techniques controlled by parameters contained in the encoded video bitstream and made available to the loop filter unit (658) as symbols (621) from the parser (620), but may also be responsive to meta-information obtained during the decoding of a previous (in decoding order) part of the encoded picture or encoded video sequence, and may also be responsive to previously reconstructed and loop filtered sample values.

ループフィルタユニット(658)の出力は、レンダリングデバイス(512)に出力され得るだけでなく、将来のピクチャ間予測で使用するために参照ピクチャメモリ(656)に格納され得るサンプルストリームであり得る。 The output of the loop filter unit (658) may be a sample stream that may be output to a rendering device (512) as well as stored in a reference picture memory (656) for use in future inter-picture prediction.

特定の符号化されたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。符号化されたピクチャが完全に再構成され、(例えば、パーサー(620)によって)符号化されたピクチャが参照ピクチャとして識別されると、現在の参照ピクチャ(656)は、参照ピクチャバッファ(657)の一部になることができ、次の符号化されたピクチャの再構成を開始する前に、新しい現在のピクチャメモリを再割り当てすることができる。 Once a particular coded picture is fully reconstructed, it can be used as a reference picture for future predictions. Once a coded picture is fully reconstructed and the coded picture is identified as a reference picture (e.g., by the parser (620)), the current reference picture (656) can become part of the reference picture buffer (657) and a new current picture memory can be reallocated before starting reconstruction of the next coded picture.

ビデオデコーダ(510)は、H.265 HEVCなどの標準に文書化され得る所定のビデオ圧縮技術に従って復号動作を実行し得る。符号化されたビデオシーケンスは、ビデオ圧縮技術のドキュメントまたは標準、特にその中のプロファイル文書に指定されているように、ビデオ圧縮技術または標準のシンタックスに準拠しているという意味で、使用されているビデオ圧縮技術または標準によって指定されているシンタックスに準拠していることがある。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義された範囲内にあることである。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプル数で測定)、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、ハイポセティカルリファレンスデコーダ(HRD)仕様と、符号化されたビデオシーケンスにおいて伝えられるHRDバッファ管理のメタデータによってさらに制限されることがある。 The video decoder (510) may perform decoding operations according to a given video compression technique, which may be documented in a standard, such as H.265 HEVC. The encoded video sequence may be compliant with the syntax specified by the video compression technique or standard being used, in the sense that the encoded video sequence conforms to the syntax of the video compression technique or standard as specified in the video compression technique's document or standard, and in particular in the profile documents therein. Also required for compliance is that the complexity of the encoded video sequence is within a range defined by the level of the video compression technique or standard. In some cases, the level limits the maximum picture size, maximum frame rate, maximum reconstruction sample rate (e.g., measured in megasamples per second), maximum reference picture size, etc. The limits set by the level may in some cases be further limited by a hypothetical reference decoder (HRD) specification and HRD buffer management metadata conveyed in the encoded video sequence.

一実施形態では、受信機(610)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化されたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切に復号するため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、順方向エラー訂正コードなどの形式をとることができる。 In one embodiment, the receiver (610) may receive additional (redundant) data along with the encoded video. The additional data may be included as part of the encoded video sequence. The additional data may be used by the video decoder (510) to properly decode the data and/or to more accurately reconstruct the original video data. The additional data may take the form of, for example, temporal, spatial, or signal-to-noise ratio (SNR) enhancement layers, redundant slices, redundant pictures, forward error correction codes, etc.

図12は、本開示の一実施形態によるビデオエンコーダ(503)の機能ブロック図であり得る。 Figure 12 may be a functional block diagram of a video encoder (503) according to one embodiment of the present disclosure.

エンコーダ(503)は、エンコーダ(503)によって符号化されるビデオ画像をキャプチャし得るビデオソース(501)(エンコーダの一部ではない)からビデオサンプルを受信し得る。 The encoder (503) may receive video samples from a video source (501) (not part of the encoder) that may capture video images to be encoded by the encoder (503).

ビデオソース(501)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、エンコーダ(503)によって符号化されるソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース(501)は、以前に準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(503)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供し得る。ピクチャ自体は、画素の空間配列として編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。 The video source (501) may provide a source video sequence to be encoded by the encoder (503) in the form of a digital video sample stream that may be of any suitable bit depth (e.g., 8-bit, 10-bit, 12-bit, ...), any color space (e.g., BT.601 Y CrCB, RGB, ...), and any suitable sampling structure (e.g., Y CrCb 4:2:0, Y CrCb 4:4:4). In a media serving system, the video source (501) may be a storage device that stores previously prepared video. In a video conferencing system, the video source (503) may be a camera that captures local image information as a video sequence. The video data may be provided as a number of separate pictures that give motion when viewed in sequence. The pictures themselves may be organized as a spatial array of pixels, each of which may contain one or more samples, depending on the sampling structure, color space, etc. in use. Those skilled in the art can easily understand the relationship between pixels and samples. The following description focuses on samples.

一実施形態によれば、エンコーダ(503)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソースビデオシーケンスのピクチャを符号化されたビデオシーケンス(743)に符号化および圧縮し得る。適切な符号化速度を強制することは、コントローラ(750)の1つの機能である。コントローラ(750)は、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合されている。明確にするために、結合は描かれていない。コントローラによって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値など)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲などが含まれ得る。当業者は、特定のシステム設計用に最適化されたビデオエンコーダ(503)に関係し得るので、コントローラ(750)の他の機能を容易に識別し得る。 According to one embodiment, the encoder (503) may encode and compress pictures of a source video sequence into an encoded video sequence (743) in real time or under any other time constraint required by the application. Enforcing the appropriate encoding rate is one function of the controller (750). The controller (750) controls and is operatively coupled to other functional units as described below. For clarity, couplings are not depicted. Parameters set by the controller may include rate control related parameters (picture skip, quantizer, lambda value for rate distortion optimization techniques, etc.), picture size, group of pictures (GOP) layout, maximum motion vector search range, etc. One skilled in the art may readily identify other functions of the controller (750) as they may relate to a video encoder (503) optimized for a particular system design.

一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するもので動作する。過度に単純化された説明として、符号化ループは、エンコーダ(730)の符号化部分(以下、「ソースコーダ」)(符号化される入力ピクチャおよび参照ピクチャに基づいてシンボルを作成する役割を担う)と、(リモート)デコーダもまた作成するサンプルデータを作成するためにシンボルを再構成するエンコーダ(503)に埋め込まれた(ローカル)デコーダ(733)とから構成されることができる(シンボルと符号化されたビデオビットストリームとの間の圧縮は開示された主題で考慮されるビデオ圧縮技術において損失がないため)。その再構成されたサンプルストリームは、参照ピクチャメモリ(734)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクト(bit-exact)結果が得られるため、参照ピクチャバッファの内容もまたローカルエンコーダとリモートエンコーダとの間でビットイグザクトになる。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、当業者によく知られている。 Some video encoders operate in what those skilled in the art will readily recognize as a "coding loop." As an oversimplified explanation, the coding loop can consist of the coding part of the encoder (730) (hereafter the "source coder") (responsible for creating symbols based on the input picture to be coded and the reference pictures), and a (local) decoder (733) embedded in the encoder (503) that reconstructs the symbols to create sample data that the (remote) decoder also creates (since the compression between the symbols and the coded video bitstream is lossless in the video compression techniques considered in the disclosed subject matter). That reconstructed sample stream is input to a reference picture memory (734). The decoding of the symbol stream results in bit-exact results regardless of the location of the decoder (local or remote), so the contents of the reference picture buffer are also bit-exact between the local and remote encoders. In other words, the predictive part of the encoder "sees" exactly the same sample values as the decoder "sees" when using prediction during decoding as reference picture samples. This basic principle of reference picture synchrony (and the drift that occurs when synchrony cannot be maintained, e.g., due to channel errors) is well known to those skilled in the art.

「ローカル」デコーダ(733)の動作は、「リモート」デコーダ(510)の動作と同じであり得、これは、図10に関連して上記で詳細に説明されている。しかしながら、図10も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(745)およびパーサー(620)による符号化されたビデオシーケンスへのシンボルの符号化/復号は無損失であり得、チャネル(612)、受信機(610)、バッファ(615)およびパーサー(620)を含むデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(733)に完全に実装されていないことがある。 The operation of the "local" decoder (733) may be the same as that of the "remote" decoder (510), which is described in detail above in connection with FIG. 10. However, with brief reference also to FIG. 10, symbols may be available, and the encoding/decoding of the symbols into an encoded video sequence by the entropy coder (745) and parser (620) may be lossless, and the entropy decoding portion of the decoder (510), including the channel (612), receiver (610), buffer (615) and parser (620), may not be fully implemented in the local decoder (733).

この時点で行うことができる観察は、デコーダに存在する解析/エントロピー復号以外のデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要があるということである。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。 An observation that can be made at this point is that any decoder techniques other than analysis/entropy decoding present in the decoder must necessarily be present in the corresponding encoder in substantially identical functional form. A description of the encoder techniques can be omitted, since they are the inverse of the decoder techniques, which have been described in general terms. Only in certain areas is a more detailed description necessary, and is provided below.

その動作の一部として、ソースコーダ(730)は、動き補償予測符号化を実行することがあり、これは、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する。このようにして、符号化エンジン(732)は、入力フレームの画素ブロックと、入力フレームへの予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化する。 As part of its operation, the source coder (730) may perform motion-compensated predictive coding, which predictively codes an input frame with reference to one or more previously coded frames from the video sequence designated as "reference frames." In this manner, the coding engine (732) codes differences between pixel blocks of the input frame and pixel blocks of reference frames that may be selected as predictive references to the input frame.

ローカルビデオデコーダ(733)は、ソースコーダ(730)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号し得る。符号化エンジン(732)の動作は、有利には、損失性プロセスであり得る。符号化されたビデオデータがビデオデコーダ(図11には示されていない)で復号され得る場合、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(733)は、参照フレーム上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照フレームを参照ピクチャキャッシュ(734)に格納させ得る。このようにして、エンコーダ(503)は、遠端ビデオデコーダによって取得される再構成された参照フレームとして共通の内容を有する再構成された参照フレームの複製をローカルに格納し得る(送信エラーがない)。 The local video decoder (733) may decode the encoded video data of a frame that may be designated as a reference frame based on the symbols created by the source coder (730). The operation of the encoding engine (732) may advantageously be a lossy process. If the encoded video data can be decoded in a video decoder (not shown in FIG. 11), the reconstructed video sequence may be a replica of the source video sequence, usually with some errors. The local video decoder (733) may replicate the decoding process that may be performed by the video decoder on the reference frame and cause the reconstructed reference frame to be stored in a reference picture cache (734). In this way, the encoder (503) may locally store a replica of the reconstructed reference frame that has common content as the reconstructed reference frame obtained by the far-end video decoder (without transmission errors).

予測子(735)は、符号化エンジン(732)の予測検索を実行し得る。すなわち、符号化される新しいフレームに対して、予測子(735)は、サンプルデータ(候補参照画素ブロックとして)または新しいピクチャの適切な予測参照として役立ち得る参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータについて、参照ピクチャメモリ(734)を検索し得る。予測子(735)は、適切な予測参照を見つけるために、画素ブロックごとに1つのサンプルブロックで動作し得る。場合によっては、予測子(735)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(734)に格納された複数の参照ピクチャから引き出された予測参照を有し得る。 The predictor (735) may perform the prediction search of the coding engine (732). That is, for a new frame to be coded, the predictor (735) may search the reference picture memory (734) for sample data (as candidate reference pixel blocks) or for certain metadata such as reference picture motion vectors, block shapes, etc. that may serve as suitable prediction references for the new picture. The predictor (735) may operate on one sample block per pixel block to find a suitable prediction reference. In some cases, as determined by the search results obtained by the predictor (735), the input picture may have prediction references drawn from multiple reference pictures stored in the reference picture memory (734).

コントローラ(750)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ(730)の符号化動作を管理し得る。 The controller (750) may manage the encoding operations of the video coder (730), including, for example, setting parameters and subgroup parameters used to encode the video data.

前述のすべての機能ユニットの出力は、エントロピーコーダ(745)でエントロピー符号化を受けることがある。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化などの当業者に知られている技術に従ってシンボルを無損失圧縮することにより、様々な機能ユニットによって生成された記号を符号化されたビデオシーケンスに変換する。 The output of all the aforementioned functional units may undergo entropy coding in an entropy coder (745), which converts the symbols produced by the various functional units into an encoded video sequence by losslessly compressing the symbols according to techniques known to those skilled in the art, e.g. Huffman coding, variable length coding, arithmetic coding, etc.

送信機(740)は、エントロピーコーダ(745)によって作成された符号化されたビデオシーケンスをバッファリングして、通信チャネル(760)を介した送信のためにそれを準備し得、通信チャネル(760)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信機(740)は、ビデオコーダ(730)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。 The transmitter (740) may buffer the encoded video sequence created by the entropy coder (745) and prepare it for transmission over a communication channel (760), which may be a hardware/software link to a storage device that stores the encoded video data. The transmitter (740) may merge the encoded video data from the video coder (730) with other data to be transmitted, such as encoded audio data and/or auxiliary data streams (sources not shown).

コントローラ(750)は、エンコーダ(503)の動作を管理し得る。符号化中に、コントローラ(750)は、それぞれの符号化されたピクチャに特定の符号化されたピクチャタイプを割り当てることがあり、これは、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得る。例えば、ピクチャは多くの場合、次のフレームタイプのいずれかとして割り当てられ得る。 The controller (750) may manage the operation of the encoder (503). During encoding, the controller (750) may assign a particular encoded picture type to each encoded picture, which may affect the encoding technique that may be applied to each picture. For example, pictures may often be assigned as any of the following frame types:

イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のフレームを使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックでは、例えばIndependent Decoder Refresh Pictureなど、様々なタイプのイントラピクチャを使用できる。当業者は、Iピクチャのこれらの変形およびそれらのそれぞれの用途および特徴を知っている。 An intra picture (I-picture) may be one that can be coded and decoded without using other frames in the sequence as a source of prediction. Some video codecs allow different types of intra pictures, for example, Independent Decoder Refresh Picture. Those skilled in the art are aware of these variations of I-pictures and their respective uses and characteristics.

予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。 A predicted picture (P picture) may be one that can be coded and decoded using intra- or inter-prediction, which uses at most one motion vector and reference index to predict the sample values of each block.

双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数の予測ピクチャは、単一ブロックの再構成のために3つ以上の参照ピクチャおよび関連するメタデータを使用できる。 Bidirectionally predicted pictures (B-pictures) may be those that can be coded and decoded using intra- or inter-prediction, which uses up to two motion vectors and reference indices to predict the sample values of each block. Similarly, multiple predicted pictures may use more than two reference pictures and associated metadata for the reconstruction of a single block.

ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に細分され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化し得る。例えば、Iピクチャのブロックは、非予測的に符号化され得るか、または同じピクチャのすでに符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、空間予測を介して、または以前に符号化された1つの参照ピクチャを参照する時間予測を介して、非予測的に符号化され得る。Bピクチャのブロックは、空間予測を介して、または以前に符号化された1つまたは2つの参照ピクチャを参照する時間予測を介して、非予測的に符号化され得る。 A source picture is generally spatially subdivided into multiple sample blocks (e.g., blocks of 4x4, 8x8, 4x8, or 16x16 samples each) and may be coded block by block. Blocks may be predictively coded with reference to other (already coded) blocks as determined by the coding assignment applied to the respective picture of the blocks. For example, blocks of an I-picture may be non-predictively coded or predictively coded with reference to already coded blocks of the same picture (spatial prediction or intra prediction). Pixel blocks of a P-picture may be non-predictively coded via spatial prediction or via temporal prediction with reference to one previously coded reference picture. Blocks of a B-picture may be non-predictively coded via spatial prediction or via temporal prediction with reference to one or two previously coded reference pictures.

ビデオコーダ(503)は、H.265 HEVCなどの所定のビデオ符号化技術または標準に従って符号化動作を実行し得る。その動作において、ビデオコーダ(503)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行し得る。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または標準によって指定されたシンタックスに準拠していることがある。 The video coder (503) may perform encoding operations according to a given video encoding technique or standard, such as H.265 HEVC. In its operations, the video coder (503) may perform various compression operations, including predictive encoding operations that exploit temporal and spatial redundancy in the input video sequence. Thus, the encoded video data may conform to a syntax specified by the video encoding technique or standard being used.

一実施形態では、送信機(740)は、符号化されたビデオと共に追加のデータを送信し得る。ビデオコーダ(730)は、符号化されたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間的/空間的/SNRエンハンスメント層、冗長なピクチャおよびスライスなどの他の形式の冗長データ、補足強化情報(SEI)メッセージ、視覚的有用性情報(VUI)パラメータセットフラグメントなどを含み得る。 In one embodiment, the transmitter (740) may transmit additional data along with the encoded video. The video coder (730) may include such data as part of the encoded video sequence. The additional data may include temporal/spatial/SNR enhancement layers, other forms of redundant data such as redundant pictures and slices, supplemental enhancement information (SEI) messages, visual usability information (VUI) parameter set fragments, etc.

本開示は、クロスコンポーネント線形モデル予測モードの様々な方法を対象としている。 This disclosure covers various methods of cross-component linear model prediction modes.

上記のように、この用途では、CCLMは、LT_CCLM、T_CCLM、L_CCLM、MMLM、LT_MMLM、L_MMLM、T_MMLMなどのクロスコンポーネント線形モデルの任意の変形を指すことがある。さらに、この用途では、平滑化フィルタは、奇数のタップを有する線形フィルタとして定義することがあり、そのフィルタ係数は対称であり得る。例えば、3タップフィルタ[1、2、1]と5タップフィルタ[1、3、8、3、1]はどちらも平滑化フィルタである。補間フィルタは、整数位置サンプルを使用して小数位置サンプルを生成する線形フィルタとして定義し得る。 As mentioned above, in this application, CCLM may refer to any variant of the cross-component linear model, such as LT_CCLM, T_CCLM, L_CCLM, MMLM, LT_MMLM, L_MMLM, T_MMLM, etc. Furthermore, in this application, a smoothing filter may be defined as a linear filter with an odd number of taps, whose filter coefficients may be symmetric. For example, a 3-tap filter [1, 2, 1] and a 5-tap filter [1, 3, 8, 3, 1] are both smoothing filters. An interpolation filter may be defined as a linear filter that uses integer-positioned samples to generate fractional-positioned samples.

CCLMに使用される補間フィルタは、指定された領域内の隣接ルーマ再構成サンプルのサブセットに適用され得ることが提案されている。 It is proposed that the interpolation filter used for CCLM can be applied to a subset of neighboring luma reconstruction samples within a specified region.

一態様では、指定された隣接サンプル領域は、L_CCLMおよびL_MMLMに使用される左側の隣接サンプル領域、またはT_CCLMおよびT_MMLMに使用される上側の隣接サンプル領域、またはLT_CCLMおよびLT_MMLMに使用される上側および左側の隣接サンプル領域であり得る。 In one embodiment, the specified adjacent sample region may be the left adjacent sample region used for L_CCLM and L_MMLM, or the upper adjacent sample region used for T_CCLM and T_MMLM, or the upper and left adjacent sample regions used for LT_CCLM and LT_MMLM.

別の態様では、指定された領域で再構成されたルーマサンプルを直接使用して、最大値および最小値を見つけ得る。最大および最小のルーマサンプル値を取得した後、補間(または平滑化)フィルタはこれらの2つのサンプルに(例えば単に)適用され得る。 In another aspect, the reconstructed luma samples in the specified region may be used directly to find the maximum and minimum values. After obtaining the maximum and minimum luma sample values, an interpolation (or smoothing) filter may be applied (e.g., simply) to these two samples.

別の態様では、最大および最小ルーマサンプル値を取得した後、クロマ隣接サンプル領域内の最小および最大ルーマサンプルの同一位置にある位置を、それぞれ(x_min,y_min)および(x_max,y_max)として記録し得、ダウンサンプルフィルタは、位置(x_min,y_min)および(x_max,y_max)を有するクロマサンプルの同一位置にあるルーマサンプルに適用され得る。 In another aspect, after obtaining the maximum and minimum luma sample values, the co-located positions of the minimum and maximum luma samples in the chroma adjacent sample region may be recorded as (x_min, y_min) and (x_max, y_max), respectively, and a downsample filter may be applied to the co-located luma samples of the chroma samples having positions (x_min, y_min) and (x_max, y_max).

別の態様では、4:2:0 YUVフォーマットの場合、ダウンサンプルフィルタは以下のように適用され得る:以下の式の(x,y)は(x_min,y_min)または(x_max,y_max)に置き換えられ得る: In another embodiment, for 4:2:0 YUV format, the downsample filter may be applied as follows: (x,y) in the following equation may be replaced with (x_min,y_min) or (x_max,y_max):

Figure 0007578591000005
Figure 0007578591000005

は、ダウンサンプリングされたルーマサンプル値を示し、 indicates the downsampled luma sample value,

Figure 0007578591000006
Figure 0007578591000006

は、指定された隣接位置(k・x,k・y)に構築されたルーマサンプルを示し、kは、1、2、3または4などの正の整数であり得る。 denotes the luma sample constructed at the specified neighboring position (k x, k y), where k can be a positive integer such as 1, 2, 3, or 4.

Figure 0007578591000007
Figure 0007578591000007

別の態様では、4:2:0 YUVフォーマットの場合、位置(x,y)を有する1つのクロマサンプルに対するルーマサンプル領域内の同一位置は、以下の6つの位置(k*x,k*y)、(k*x-1,k*y)、(k*x+1,k*y)、(k*x-1,k*y+1)、(k*x,k*y+1)および(k*x+1,k*y+1)のいずれかであり得る。kは1、2、3または4などの正の整数である。 In another aspect, for a 4:2:0 YUV format, the same location in the luma sample domain for one chroma sample with location (x,y) can be any of the following six locations: (k*x,k*y), (k*x-1,k*y), (k*x+1,k*y), (k*x-1,k*y+1), (k*x,k*y+1) and (k*x+1,k*y+1), where k is a positive integer such as 1, 2, 3 or 4.

別の態様では、4:4:4および4:2:2 YUVフォーマットの場合、上記の補間フィルタはここで使用され得る。 In another embodiment, for 4:4:4 and 4:2:2 YUV formats, the above mentioned interpolation filters may be used here.

別の態様では、指定された領域で再構成されたルーマサンプルを直接使用して、最大値および最小値を見つけ得る。 In another aspect, the reconstructed luma samples in the specified region may be used directly to find the maximum and minimum values.

別の態様では、LT_CCLMモードの場合、最大値および最小値を見つけるために、第1の上側参照行(図6(A)~図6(B)に示される)および第2の左側参照列(図7A~図7Bに示される)の隣接ルーマサンプルは直接使用され得る。 In another aspect, for LT_CCLM mode, the neighboring luma samples of the first upper reference row (shown in Figures 6(A)-6(B)) and the second left reference column (shown in Figures 7A-7B) can be used directly to find the maximum and minimum values.

別の態様では、LT_CCLMモードの場合、最大値および最小値を見つけるために、第1および第2の上側参照行(図6(A)~図6(B)に示される)の隣接ルーマサンプルの半分と、第2の左側参照列(図7(A)~図7(B)に示される)のサンプルとは直接使用され得る。 In another aspect, for LT_CCLM mode, half of the adjacent luma samples in the first and second upper reference rows (shown in Figures 6(A)-6(B)) and the samples in the second left reference column (shown in Figures 7(A)-7(B)) can be used directly to find the maximum and minimum values.

別の態様では、T_CCLMモードの場合、最大値および最小値を見つけるために、第1の上側参照行の隣接ルーマサンプルは直接使用され得る。 In another aspect, for T_CCLM mode, the neighboring luma samples of the first upper reference row can be used directly to find the maximum and minimum values.

別の態様では、T_CCLMモードの場合、最大値および最小値を見つけるために、第1および第2の上側参照行の隣接ルーマサンプルの半分は直接使用され得る。 In another aspect, for T_CCLM mode, half of the adjacent luma samples in the first and second upper reference rows can be used directly to find the maximum and minimum values.

別の態様では、L_CCLMモードの場合、最大値および最小値を見つけるために、第2の左側参照列の隣接ルーマサンプルは直接使用され得る。 In another aspect, for L_CCLM mode, the neighboring luma samples of the second left reference column can be used directly to find the maximum and minimum values.

別の態様では、隣接するルーマサンプルの一部に(例えば、該サンプルの一部にのみに)補間フィルタが使用される場合、現在のCCLMで使用されるものとは異なるダウンサンプリングフィルタ、すなわち、6タップ[1,2,1;1,2,1]/8フィルタは適用され得る。例えば、10タップフィルタは[1,4,6,4,1;1,4,6,4,1]/16であり得る。 In another aspect, if an interpolation filter is used for some (e.g., only some) of the adjacent luma samples, a different downsampling filter than that used in current CCLM can be applied, i.e., a 6-tap [1,2,1; 1,2,1]/8 filter. For example, a 10-tap filter can be [1,4,6,4,1; 1,4,6,4,1]/16.

別の態様では、ダウンサンプリングフィルタは、8タップフィルタであり得、第1の(現在のブロックに最も近い)参照行(図6A~図6Bに示される)におけるフィルタタップの数は、他の(現在のブロックに遠い)参照列(図7A~図7Bに示すように)とは異なり得る。例えば、8タップフィルタは[1,2,1;1,2,6,2,1]/16であり得、第1の参照行(または列)のフィルタタップ数は5であり得るのに対し、第2の参照行(または列)のタップ数は3であり得る。 In another aspect, the downsampling filter may be an 8-tap filter, and the number of filter taps in the first (closest to the current block) reference row (as shown in Figures 6A-6B) may be different from the other (farther from the current block) reference columns (as shown in Figures 7A-7B). For example, the 8-tap filter may be [1, 2, 1; 1, 2, 6, 2, 1]/16, and the number of filter taps in the first reference row (or column) may be 5, while the number of taps in the second reference row (or column) may be 3.

別の態様では、指定された領域で再構成されたクロマサンプルを使用して、最大値および最小値を見つけ得ることが提案されている。 In another aspect, it is proposed that the reconstructed chroma samples in a specified region may be used to find the maximum and minimum values.

一態様では、最大および最小のクロマサンプル値を取得した後、補間(または平滑化)フィルタは、これらの2つのクロマサンプルの同一位置にあるルーマサンプル(例えば、該ルーマサンプルのみ)に適用され得る。例えば、4:2:0 YUVフォーマットの場合、上記の補間(または平滑化)フィルタは使用され得る。別の例として、4:2:0 YUVフォーマットの場合、上記の位置(x,y)を有する1つのクロマサンプルの同一位置にある位置はここで使用され得る。さらに別の例では、4:4:4および4:2:2 YUVフォーマットの場合、以下の説明の補間フィルタはここで使用され得る。 In one aspect, after obtaining the maximum and minimum chroma sample values, an interpolation (or smoothing) filter may be applied to the co-located luma sample of these two chroma samples (e.g., only the luma sample). For example, for a 4:2:0 YUV format, the above-described interpolation (or smoothing) filter may be used. As another example, for a 4:2:0 YUV format, the co-located position of one chroma sample having the above-described position (x, y) may be used here. In yet another example, for 4:4:4 and 4:2:2 YUV formats, the following described interpolation filter may be used here.

一態様によれば、CCLMで使用される補間フィルタ(または平滑化フィルタ)は、4:4:4、4:2:2、または4:2:0のYUVフォーマットなどのYUVフォーマットに依存し得ることが提案されている。 According to one aspect, it is proposed that the interpolation filters (or smoothing filters) used in the CCLM may depend on the YUV format, such as 4:4:4, 4:2:2, or 4:2:0 YUV formats.

図13は、ビデオシーケンスを符号化または復号するための例示的なプロセス(800)のフローチャートである。いくつかの実装形態では、図13の1つまたは複数のプロセスブロックは、デコーダ(510)によって実行され得る。いくつかの実装形態では、図13の1つまたは複数のプロセスブロックは、エンコーダ(503)などのデコーダ(510)とは別の、またはそれを含む別のデバイスまたはデバイスのグループによって実行され得る。 FIG. 13 is a flow chart of an example process (800) for encoding or decoding a video sequence. In some implementations, one or more process blocks of FIG. 13 may be performed by the decoder (510). In some implementations, one or more process blocks of FIG. 13 may be performed by another device or group of devices separate from or including the decoder (510), such as the encoder (503).

図13に示されるように、プロセス(800)は、ビデオシーケンス(810)を符号化または復号することを含み得る。 As shown in FIG. 13, the process (800) may include encoding or decoding a video sequence (810).

図13にさらに示されるように、プロセス(800)は、クロスコンポーネント線形モデル(CCLM)をビデオシーケンス(820)に適用することをさらに含み得る。 As further shown in FIG. 13, the process (800) may further include applying a cross-component linear model (CCLM) to the video sequence (820).

図13にさらに示されるように、プロセス(800)は、クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用することをさらに含み得、補間フィルタは、ビデオシーケンス(830)のYUVフォーマットに依存する。 As further shown in FIG. 13, the process (800) may further include applying an interpolation filter in a cross-component linear model (CCLM), where the interpolation filter depends on the YUV format of the video sequence (830).

図13は、プロセス(800)の例示的なブロックを示すが、いくつかの実装形態では、プロセス(800)は、図13に示されるものの追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含み得る。さらに、または代わりに、プロセス(800)の2つ以上のブロックを並行して実行し得る。 Although FIG. 13 illustrates example blocks of process (800), in some implementations, process (800) may include additional, fewer, different, or differently arranged blocks than those illustrated in FIG. 13. Additionally, or instead, two or more blocks of process (800) may be performed in parallel.

別の態様によれば、CCLMで使用される補間(または平滑化)フィルタのタップは、YUVフォーマットに依存し得る。 According to another aspect, the taps of the interpolation (or smoothing) filter used in the CCLM may depend on the YUV format.

別の態様では、CCLMで使用される補間(または平滑化)フィルタのタップは、同じYUVフォーマットに対して同じであり得る。例えば、CCLMで使用される補間フィルタのタップは、4:2:0 YUVフォーマットの場合と同じであり得る。 In another aspect, the taps of the interpolation (or smoothing) filter used in the CCLM may be the same for the same YUV format. For example, the taps of the interpolation filter used in the CCLM may be the same as for the 4:2:0 YUV format.

別の態様では、4:4:4および4:2:2 YUVフォーマットの補間または平滑化フィルタは同じであるが、4:2:0 YUVフォーマットのフィルタとは異なる。例えば、3タップ(1,2,1)フィルタは4:4:4および4:2:2 YUVフォーマットに使用され得るが、6タップ(1,2,1;1,2,1)フィルタは4:2:0 YUVフォーマットに使用され得る。別の例として、4:4:4および4:2:2 YUVフォーマットにはダウンサンプル(または平滑化)フィルタは使用されないことがあるが、6タップ(1,2,1,1,2,1)または3タップ(1,2,1)フィルタは、4:2:0 YUVフォーマットに使用され得る。 In another aspect, the interpolation or smoothing filters for 4:4:4 and 4:2:2 YUV formats are the same but different from the filters for 4:2:0 YUV format. For example, a 3-tap (1,2,1) filter may be used for 4:4:4 and 4:2:2 YUV formats, but a 6-tap (1,2,1; 1,2,1) filter may be used for 4:2:0 YUV format. As another example, no downsampling (or smoothing) filter may be used for 4:4:4 and 4:2:2 YUV formats, but a 6-tap (1,2,1,1,2,1) or 3-tap (1,2,1) filter may be used for 4:2:0 YUV format.

別の態様によれば、CCLMで使用される補間(または平滑化)フィルタのタップは、様々なYUVフォーマットに対して異なることがある。例えば、5タップ(1,1,4,1,1)フィルタは4:4:4 YUVフォーマットに使用され得、(1,2,1)フィルタは4:2:2 YUVフォーマットに使用され得、6タップ(1,2,1,1,2,1)フィルタは4:2:0 YUVフォーマットに使用され得る。 According to another aspect, the taps of the interpolation (or smoothing) filter used in the CCLM may be different for various YUV formats. For example, a 5-tap (1,1,4,1,1) filter may be used for a 4:4:4 YUV format, a (1,2,1) filter may be used for a 4:2:2 YUV format, and a 6-tap (1,2,1,1,2,1) filter may be used for a 4:2:0 YUV format.

別の態様では、補間(または平滑化)フィルタは、再構成されたサンプルの上側および左側の隣接するルーマに対して異なることがある。 In another aspect, the interpolation (or smoothing) filters may be different for the upper and left adjacent lumas of the reconstructed sample.

別の態様によれば、上側および左側の隣接ルーマ再構成サンプルの補間(または平滑化)フィルタは、YUVフォーマットに依存し得る。 According to another aspect, the interpolation (or smoothing) filters for the upper and left neighboring luma reconstruction samples may depend on the YUV format.

別の態様によれば、4:2:2 YUVフォーマットの場合、補間(または平滑化)フィルタは、上側と左側の隣接サンプルで異なることがある。例えば、4:2:2 YUVフォーマットの場合、(1,2,1)フィルタは上側の隣接ルーマサンプルに適用されることがあり、補間(または平滑化)フィルタは左側の隣接ルーマサンプルには適用されないことがある。 According to another aspect, for a 4:2:2 YUV format, the interpolation (or smoothing) filter may be different for the upper and left adjacent samples. For example, for a 4:2:2 YUV format, a (1,2,1) filter may be applied to the upper adjacent luma sample, and no interpolation (or smoothing) filter may be applied to the left adjacent luma sample.

別の態様によれば、CCLMで使用される上側の隣接ルーマサンプルの行数および左側の隣接ルーマサンプルの列数は、YUVフォーマットに依存し得る。例えば、4:4:4 YUVまたは4:2:2 YUVフォーマットでは、上側の隣接領域の1行および/または左側の隣接領域の1列のみを使用し得る。別の例として、上側の隣接領域の1行および/または左側の隣接領域の3(または2)列を4:2:2 YUVフォーマットに使用し得る。 According to another aspect, the number of rows of upper adjacent luma samples and the number of columns of left adjacent luma samples used in the CCLM may depend on the YUV format. For example, in a 4:4:4 YUV or 4:2:2 YUV format, only one row of the upper adjacent region and/or one column of the left adjacent region may be used. As another example, one row of the upper adjacent region and/or three (or two) columns of the left adjacent region may be used for a 4:2:2 YUV format.

別の態様では、また、diff_Yで表される、指定された隣接サンプル領域内の最大と最小のルーマサンプル値の絶対差が非一様量子化され、ルックアップテーブル(LUT)のサイズが縮小されるようにCCLM LUTのエントリインデックスを指定するために、絶対差の量子化値が使用され得ることも提案される。diff_Yの範囲を2つの間隔に分割し得、diff_YがThres_1という名前の閾値以下の場合、Step_Aという名前の1つのステップサイズが使用され得る。それ以外の場合は、Step_Bという名前の別のステップサイズが使用され得る。したがって、CCLMのパラメータaは次のように取得し得る: In another aspect, it is also proposed that the absolute difference between the maximum and minimum luma sample values in a specified adjacent sample region, represented by diff_Y, may be non-uniformly quantized and the quantized value of the absolute difference may be used to specify the entry index of the CCLM LUT such that the size of the LUT is reduced. The range of diff_Y may be divided into two intervals and one step size named Step_A may be used if diff_Y is less than or equal to a threshold named Thres_1. Otherwise, another step size named Step_B may be used. Thus, the parameter a of the CCLM may be obtained as follows:

Figure 0007578591000008
Figure 0007578591000008

ここで、この態様では、Thres_1は64に等しく設定され得、Step_Aは1に等しく設定され得、Step_Bは8に等しく設定され得る。 Here, in this embodiment, Thres_1 may be set equal to 64, Step_A may be set equal to 1, and Step_B may be set equal to 8.

次に、VVC草案3の8.2.4.2.8項に加えて、修正されたCCLMパラメータ導出プロセスについて説明する。 Next, we explain the modified CCLM parameter derivation process in addition to Section 8.2.4.2.8 of VVC Draft 3.

別の態様によれば、直前の式において、変数a、b、およびkは、以下のように導出され得る:
-numSampLが0に等しく、numSampTが0に等しい場合、以下が適用される:
k=0
a=0
b=1<<(BitDepthC-1)
-それ以外の場合は、以下が適用される:
シフト=(BitDepthC>8)?BitDepthC-9:0
add=shift?1<<(shift-1):0
diff=(maxY-minY+add)>>shift
k=16
-diffが0より大きい場合、以下が適用される:
diff=(diff>64)?(56+(diff>>3)):diff
a=((maxC-minC)*g_aiLMDivTableHigh[diff-1]+add)>>shift
-それ以外の場合は、以下が適用される:
a=0
b=minC-((a*minY)>>k)
According to another aspect, in the immediately preceding formula, the variables a, b, and k may be derived as follows:
- if numSampL is equal to 0 and numSampT is equal to 0, the following applies:
k = 0
a = 0
b=1<<(BitDepth C -1)
- Otherwise the following applies:
Shift = (BitDepth C > 8)? BitDepth C -9: 0
add=shift? 1<<(shift-1): 0
diff=(maxY-minY+add)>>shift
k = 16
-If diff is greater than 0, the following applies:
diff=(diff>64)? (56+(diff>>3)):diff
a=((maxC-minC)*g_aiLMDivTableHigh[diff-1]+add)>>shift
- Otherwise the following applies:
a = 0
b=minC-((a*minY)>>k)

ここで、予測サンプルpredSamples[x][y]with x=0..nTbW-1,y=0..nTbH-1は、次のように導出し得る:
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b)
Here, the predicted samples predSamples[x][y] with x = 0 .. nTbW−1, y = 0 .. nTbH−1 can be derived as follows:
predSamples[x][y]=Clip1C(((pDsY[x][y]*a) >> k) + b)

さらに、簡略化されたCCLMルックアップテーブルを以下に示す:
int g_aiLMDivTableHigh[]={
65536,32768,21845,16384,13107,10922,9362,8192,7281,6553,5957,5461,5041,4681,4369,4096,
3855,3640,3449,3276,3120,2978,2849,2730,2621,2520,2427,2340,2259,2184,2114,2048,
1985,1927,1872,1820,1771,1724,1680,1638,1598,1560,1524,1489,1456,1424,1394,1365,
1337,1310,1285,1260,1236,1213,1191,1170,1149,1129,1110,1092,1074,1057,1040,1024,
910,819,744,682,630,585,546,512,481,455,431,409,390,372,356,341,
327,315,303,292,282,273,264,256,248,240,234,227,221,215,210,204,
199,195,190,186,182,178,174,170,167,163,160,157,154,151,148,146,
143,141,138,136,134,132,130,128,};
Additionally, a simplified CCLM lookup table is shown below:
int g_aiLMDivTableHigh[]={
65536, 32768, 21845, 16384, 13107, 10922, 9362, 8192, 7281, 6553, 5957, 5461, 5041, 4681, 4369, 4096,
3855, 3640, 3449, 3276, 3120, 2978, 2849, 2730, 2621, 2520, 2427, 2340, 2259, 2184, 2114, 2048,
1985, 1927, 1872, 1820, 1771, 1724, 1680, 1638, 1598, 1560, 1524, 1489, 1456, 1424, 1394, 1365,
1337, 1310, 1285, 1260, 1236, 1213, 1191, 1170, 1149, 1129, 1110, 1092, 1074, 1057, 1040, 1024,
910, 819, 744, 682, 630, 585, 546, 512, 481, 455, 431, 409, 390, 372, 356, 341,
327, 315, 303, 292, 282, 273, 264, 256, 248, 240, 234, 227, 221, 215, 210, 204,
199, 195, 190, 186, 182, 178, 174, 170, 167, 163, 160, 157, 154, 151, 148, 146,
143, 141, 138, 136, 134, 132, 130, 128,};

実施形態では、また、diff_Yで表される、指定された隣接サンプル領域内の最大と最小のルーマサンプル値の絶対差が非一様量子化され、ルックアップテーブル(LUT)のサイズが縮小されるようにCCLM LUTのエントリインデックスを指定するために、絶対差の量子化値が使用される。 In an embodiment, the absolute difference between the maximum and minimum luma sample values in a specified contiguous sample region, represented as diff_Y, is also non-uniformly quantized, and the quantized absolute difference value is used to specify an entry index in the CCLM LUT such that the size of the LUT is reduced.

例えば、指定された隣接サンプル領域は、L_CCLMおよびL_MMLMに使用される左側の隣接サンプル領域、またはT_CCLMおよびT_MMLMに使用される上側の隣接サンプル領域、またはTL_CCLMおよびTL_MMLMに使用される上側および左側の隣接サンプル領域であり得る。 For example, the specified adjacent sample region may be the left adjacent sample region used for L_CCLM and L_MMLM, or the upper adjacent sample region used for T_CCLM and T_MMLM, or the upper and left adjacent sample regions used for TL_CCLM and TL_MMLM.

別の例では、diff_Yの範囲は複数の間隔に分割され、異なる量子化ステップサイズが異なる間隔で使用される。第1の実施形態では、diff_Yの範囲を2つの間隔に分割し、diff_YがThres_1という名前の閾値以下の場合、Step_Aという名前の1つのステップサイズが使用される。それ以外の場合は、Step_Bという名前の別のステップサイズが使用され得る。したがって、CCLMのパラメータaは次のように取得し得る: In another example, the range of diff_Y is divided into multiple intervals and different quantization step sizes are used in the different intervals. In a first embodiment, the range of diff_Y is divided into two intervals and one step size named Step_A is used if diff_Y is less than or equal to a threshold named Thres_1. Otherwise, another step size named Step_B may be used. Thus, the parameter a of the CCLM may be obtained as follows:

Figure 0007578591000009
Figure 0007578591000009

Thres_1、Step_AおよびStep_Bのそれぞれは、1、2、3、4などの任意の正の整数にすることができる。Step_AとStep_Bは等しくない。例では、Thres_1は32、48、または64に等しく設定されている。別の例では、Thres_1は64に等しく設定され、Step_Aは1に等しく設定され、Step_Bは8に等しく設定される。別の例では、Thres_1は64に等しく設定され、Step_Aは2(または1)に等しく設定され、Step_Bは8(または4)に等しく設定される。別の例では、Step_Aの値がStep_Bの値よりも小さい。 Each of Thres_1, Step_A and Step_B can be any positive integer, such as 1, 2, 3, 4, etc. Step_A and Step_B are not equal. In an example, Thres_1 is set equal to 32, 48, or 64. In another example, Thres_1 is set equal to 64, Step_A is set equal to 1, and Step_B is set equal to 8. In another example, Thres_1 is set equal to 64, Step_A is set equal to 2 (or 1), and Step_B is set equal to 8 (or 4). In another example, the value of Step_A is less than the value of Step_B.

第2の実施形態では、diff_Yの範囲は、2つの閾値、つまりThres_1とThres_2によって3つの間隔に分割される。diff_YがThres_1以下の場合、1つのステップサイズ、つまりStep_Aが使用され、それ以外の場合、diff_YがThres_2以下の場合、別のステップサイズ、つまりStep_Bが使用され:それ以外の場合は、第3のステップサイズ、つまりStep_Cが使用される。Thres_1、Thres_2、Step_A、Step_B、およびStep_Cはそれぞれ、1、2、3、4などの任意の正の整数にすることができる。Thres_1はThres_2よりも小さい。Step_A、Step_B、およびStep_Cは等しくない。例では、Thres_1とThres_2はそれぞれ64および256に等しく設定されている。別の例では、Step_A、Step_B、およびStep_Cは、それぞれ2(または1)に等しく、8(または4)に等しく、および32(または16)に等しく設定される。 In a second embodiment, the range of diff_Y is divided into three intervals by two thresholds, namely Thres_1 and Thres_2. If diff_Y is less than or equal to Thres_1, one step size, namely Step_A, is used; otherwise, if diff_Y is less than or equal to Thres_2, another step size, namely Step_B, is used; otherwise, a third step size, namely Step_C, is used. Thres_1, Thres_2, Step_A, Step_B, and Step_C can be any positive integer, such as 1, 2, 3, 4, etc. Thres_1 is less than Thres_2; Step_A, Step_B, and Step_C are not equal. In an example, Thres_1 and Thres_2 are set equal to 64 and 256, respectively. In another example, Step_A, Step_B, and Step_C are set equal to 2 (or 1), 8 (or 4), and 32 (or 16), respectively.

第3の実施形態では、間隔(Thres_1およびThres_2など)を指定するために使用される閾値は、2の累乗、例えば、2、4、8、16、32、64、128、256、512、1024である。 In a third embodiment, the thresholds used to specify the intervals (e.g., Thres_1 and Thres_2) are powers of 2, e.g., 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024.

さらなる実施形態では、LICは、CCLMの最大最小法を再利用して、パラメータaおよびbを導出する。 In a further embodiment, LIC reuses the max-min method of CCLM to derive parameters a and b.

例えば、LICはCCLMのルックアップテーブルを再利用して、除算演算を回避する。 For example, LIC reuses CCLM's lookup tables to avoid division operations.

別の例では、LICは、TL_CCLMのルーマ成分に使用されるものと同じ隣接する再構成されたサンプル領域を使用して、パラメータaおよびbを導出する。 In another example, LIC derives parameters a and b using the same adjacent reconstructed sample region as used for the luma component of TL_CCLM.

別の例では、LICはCCLMで同じダウンサンプリング方法を再利用して、隣接する再構成されたサンプルをフィルタリングする。 In another example, LIC reuses the same downsampling method in CCLM to filter neighboring reconstructed samples.

さらなる実施形態では、指定された領域内の隣接する再構成されたサンプルのサブセットのみが、CCLM予測モードでの最大最小法の最大および最小サンプル値を計算するために使用される。 In a further embodiment, only a subset of adjacent reconstructed samples within a specified region is used to calculate maximum and minimum sample values for max-min method in CCLM prediction mode.

例えば、現在のブロックのブロックサイズに関係なく、最大および最小のサンプル値を計算するために、隣接する再構成されたサンプル領域の4つのサンプルのみが使用される。この例では、選択された4つのサンプルの位置が固定され、図15に示されている。具体的には、現在のCU 1510に関して、位置A、B、C、およびDで隣接する再構成されたサンプルのサンプル値のみが、最大および最小のサンプル値を計算するために使用される。 For example, only four samples of the adjacent reconstructed sample region are used to calculate the maximum and minimum sample values, regardless of the block size of the current block. In this example, the positions of the four selected samples are fixed and are shown in FIG. 15. Specifically, for the current CU 1510, only the sample values of the adjacent reconstructed samples at positions A, B, C, and D are used to calculate the maximum and minimum sample values.

別の例では、TL_CCLMモードの場合、左側(または上側)の隣接サンプルのみが最小サンプル値の計算に使用され、上側(または左側)の隣接サンプルのみが最大サンプル値の計算に使用される。 In another example, in TL_CCLM mode, only the left (or upper) neighboring sample is used to calculate the minimum sample value, and only the upper (or left) neighboring sample is used to calculate the maximum sample value.

別の例では、CCLM予測モードで最大最小法の最大サンプル値および最小サンプル値を見つける代わりに、上側のルーマおよびクロマ参照サンプルの平均値、つまりtop_mean_luma、top_mean_chromaと、左側のルーマおよびクロマ参照サンプルの平均値、つまり、left_mean_luma、left_mean_chromaとが、CCLMパラメータを導出するために使用され得る。 In another example, instead of finding the maximum and minimum sample values of the max-min method in CCLM prediction mode, the average values of the top luma and chroma reference samples, i.e., top_mean_luma, top_mean_chroma, and the average values of the left luma and chroma reference samples, i.e., left_mean_luma, left_mean_chroma, may be used to derive the CCLM parameters.

以下の実施形態では、図16を参照して、現在のCU 1610の左上のサンプルおよび左下のサンプルが使用される場合、これらのブロックは、現在のCU 1610の上側および左側のサンプルの範囲外に位置するそれらの直接の隣接サンプルに置き換えられ得る。例えば、図16では、サンプルAおよびBが使用され得る。 In the following embodiments, with reference to FIG. 16, if the top left and bottom left samples of the current CU 1610 are used, these blocks may be replaced with their direct neighboring samples that lie outside the range of the upper and left samples of the current CU 1610. For example, in FIG. 16, samples A and B may be used.

別の例では、図17において、サンプルA、B、およびCは、現在のCU 1710で使用され得る。 In another example, in FIG. 17, samples A, B, and C may be used in the current CU 1710.

以下の実施形態では、(UまたはV成分における)クロマサンプルは、その同一位置にあるルーマサンプルと共に、サンプル対と呼ばれる。または、LICの場合、現在のブロックの隣接サンプルと、参照ブロックの同一位置にある隣接サンプルがサンプル対として呼ばれるため、サンプル対に含まれるサンプルは同じ色成分(ルーマ、UまたはV)に由来する。 In the following embodiments, a chroma sample (in U or V component) together with its co-located luma sample is called a sample pair. Alternatively, in the case of LIC, adjacent samples of the current block and adjacent samples of the reference block at the same location are called a sample pair, so that the samples in the sample pair come from the same color component (luma, U or V).

以下の実施形態では、CCLMまたはCCLMモードの任意の変形/拡張について、ブロックサイズはクロマブロックのものであり得る。LICモードまたはLICの任意の変形の場合、ブロックサイズは、現在の色成分(ルーマ、U、またはV)の現在のブロックのものであり得る。 In the following embodiments, for CCLM or any variant/extension of CCLM mode, the block size may be that of a chroma block. For LIC mode or any variant of LIC, the block size may be that of the current block of the current color component (luma, U, or V).

実施形態では、指定された領域内の最大N個の隣接する再構成されたサンプル対が、CCLM予測モードでの最大最小法の最大および最小サンプル値を計算するために使用され、Nは4、8または16などの正の整数である。 In an embodiment, up to N adjacent reconstructed sample pairs within a specified region are used to calculate the maximum and minimum sample values of the maxmin method in CCLM prediction mode, where N is a positive integer such as 4, 8, or 16.

例えば、N×2または2×Nクロマブロックの場合、左側から1つの隣接サンプル対のみと上側から1つの隣接サンプル対が、最大および最小のサンプル値の計算に使用される。使用する隣接サンプル対の位置は固定されている。一例では、サンプル対におけるクロマサンプルの位置が、現在のCU1810および1910についてそれぞれ図18および図19に示されている。別の例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2010について図20に示されている。 For example, for an Nx2 or 2xN chroma block, only one adjacent sample pair from the left and one adjacent sample pair from the top are used to calculate the maximum and minimum sample values. The positions of the adjacent sample pairs used are fixed. In one example, the positions of the chroma samples in the sample pairs are shown in Figures 18 and 19 for current CUs 1810 and 1910, respectively. In another example, the positions of the chroma samples in the sample pairs are shown in Figure 20 for current CU 2010.

別の例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2110について図21に示され、サンプルBは、現在のCU 2110の長辺の任意の位置にあり得る。図21に示されるように、サンプルBは、現在のCU 2110の長辺の中央にある。サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であり得る。 In another example, the positions of the chroma samples in a sample pair are shown in FIG. 21 for the current CU 2110, and sample B can be anywhere on the long side of the current CU 2110. As shown in FIG. 21, sample B is in the center of the long side of the current CU 2110. The x coordinate of sample B can be (width>>1)-1 or (width>>1) or (width>>1)+1.

別の例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2210について図22に示され、サンプルBは、現在のCU 2210の長辺の任意の位置にあり得る。図22に示されるように、サンプルBは、現在のCU 2210の長辺の中央にある。サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であり得る。 In another example, the positions of the chroma samples in a sample pair are shown in FIG. 22 for the current CU 2210, and sample B can be anywhere on the long side of the current CU 2210. As shown in FIG. 22, sample B is in the center of the long side of the current CU 2210. The x coordinate of sample B can be (width>>1)-1 or (width>>1) or (width>>1)+1.

別の例では、2×NまたはN×2クロマブロックの場合、Nは2、4、8、16、32、または64などの任意の正の整数であり得る。Nが2に等しい場合、左側から1つの隣接サンプル対のみと上側から1つの隣接サンプル対が、最大および最小のサンプル値の計算に使用される。それ以外の場合、Nが2より大きい場合、現在のCUの短辺からの1つの隣接サンプル対のみと長辺からの2つ以上の隣接サンプル対が、最大および最小サンプル値の計算に使用される。使用する隣接サンプル対の位置は固定されている。一例では、サンプル対におけるクロマサンプルの位置が、現在のCU 2310について図23に示され、サンプルBは、現在のCU 2310の長辺の中央にあり、サンプルCは、長辺の端部にある。 In another example, for 2×N or N×2 chroma blocks, N can be any positive integer, such as 2, 4, 8, 16, 32, or 64. If N is equal to 2, only one adjacent sample pair from the left side and one adjacent sample pair from the top side are used to calculate the maximum and minimum sample values. Otherwise, if N is greater than 2, only one adjacent sample pair from the short side of the current CU and two or more adjacent sample pairs from the long side are used to calculate the maximum and minimum sample values. The positions of the adjacent sample pairs used are fixed. In one example, the positions of the chroma samples in the sample pairs are shown in FIG. 23 for the current CU 2310, where sample B is in the middle of the long side of the current CU 2310 and sample C is at the end of the long side.

別の例では、クロマブロックについて、現在のブロックの幅および高さの両方が2より大きい場合、最大および最小のサンプル値を計算するために、現在のブロックの左側から2つ以上のサンプル対と上側から2つ以上のサンプル対が使用される。使用する隣接サンプル対の位置は固定されている。一例では、図24を参照すると、現在のCU 2410の各側について、1つのサンプルが側部の中央にあり(サンプルBおよびCなど)、別のサンプルが側部の端部にある(サンプルAおよびDなど)。 In another example, for a chroma block, if both the width and height of the current block are greater than 2, then two or more sample pairs from the left side and two or more sample pairs from the top side of the current block are used to calculate the maximum and minimum sample values. The locations of the adjacent sample pairs used are fixed. In one example, referring to FIG. 24, for each side of the current CU 2410, one sample is in the center of the side (e.g., samples B and C) and another sample is at the end of the side (e.g., samples A and D).

別の例では、CCLMモードの場合、指定された隣接サンプル内の隣接サンプルのサブセットのみが、最大および最小サンプル値の計算に使用される。選択されるサンプルの数は、ブロックサイズによって異なる。一例では、選択された隣接サンプルの数は、左側と上側で同じである。クロマブロックの場合、使用するサンプルは指定された走査順序によって選択される。図25を参照すると、クロマブロック2510の左側の場合、走査順序は上から下であり、上側の場合、走査順序は左から右である。選択した隣接サンプルは、暗い円で強調表示される。図26を参照すると、クロマブロック2610の場合、使用されるサンプルは、逆の走査順序によって選択される。すなわち、クロマブロック2610の左側の場合、走査順序は下から上であり、上側の場合、走査順序は右から左である。選択された隣接サンプルの数は左側と上側で同じであり、選択された隣接サンプルは暗い円で強調表示される。 In another example, for CCLM mode, only a subset of the neighboring samples in the specified neighboring samples are used to calculate the maximum and minimum sample values. The number of samples selected depends on the block size. In one example, the number of neighboring samples selected is the same for the left and top sides. For chroma blocks, the samples to be used are selected by the specified scan order. With reference to FIG. 25, for the left side of chroma block 2510, the scan order is top to bottom, and for the top side, the scan order is left to right. The selected neighboring samples are highlighted with dark circles. With reference to FIG. 26, for chroma block 2610, the samples to be used are selected by the reverse scan order. That is, for the left side of chroma block 2610, the scan order is bottom to top, and for the top side, the scan order is right to left. The number of neighboring samples selected is the same for the left and top sides, and the selected neighboring samples are highlighted with dark circles.

さらなる実施形態では、CCLMモードの場合、異なるダウンサンプリング(または補間)フィルタタイプが、左側の隣接ルーマサンプルおよび上側の隣接するルーマサンプルに使用される。 In a further embodiment, for CCLM mode, different downsampling (or interpolation) filter types are used for the left adjacent luma samples and the upper adjacent luma samples.

例えば、いくつかのフィルタタイプは、左側と上側の隣接サンプルで同じであるが、左側と上側の隣接サンプルで使用されるフィルタの位置は異なる。図27を参照すると、左側にルーマサンプル用のフィルタの位置が示されており、WおよびXはフィルタの係数を示し、ブロックはルーマサンプルの位置を示す。図28を参照すると、上側のルーマサンプル用のフィルタの位置が示されており、WおよびXはフィルタの係数を示し、ブロックはルーマサンプルの位置を示す。 For example, some filter types are the same for the left and top adjacent samples, but the filter positions used for the left and top adjacent samples are different. With reference to Figure 27, the filter positions for the luma sample on the left are shown, where W and X indicate the filter coefficients and the block indicates the luma sample position. With reference to Figure 28, the filter positions for the luma sample on the top are shown, where W and X indicate the filter coefficients and the block indicates the luma sample position.

さらなる実施形態では、指定された領域内の最大N個の隣接する再構成されたサンプル対が、線形モデル予測モードでパラメータaおよびbを計算するために使用され、Nは4、8、または16などの正の整数である。Nの値は、現在のブロックのブロックサイズに依存することがある。 In a further embodiment, up to N adjacent reconstructed sample pairs within the specified region are used to calculate the parameters a and b in the linear model prediction mode, where N is a positive integer such as 4, 8, or 16. The value of N may depend on the block size of the current block.

例えば、LICおよびCCLM(またはL_CCLM、T_CCLM、LT_CCLMなどのCCLMの任意の変形)は、線形モデルパラメータaおよびbを計算するために、同じ隣接サンプル位置を共有する。 For example, LIC and CCLM (or any variant of CCLM such as L_CCLM, T_CCLM, LT_CCLM, etc.) share the same adjacent sample locations to compute the linear model parameters a and b.

別の例では、LICのパラメータaおよびbを計算するために使用されるサンプル対は、異なる色成分の異なる位置に配置され得る。異なる色成分のサンプル対は独立して決定し得るが、例えば、モデルパラメータを導出するために最小サンプル値および最大サンプル値を使用してアルゴリズムは同じであることがある。 In another example, the sample pairs used to calculate the LIC parameters a and b may be located at different positions for different color components. The sample pairs for different color components may be determined independently, but the algorithm may be the same, for example, using minimum and maximum sample values to derive the model parameters.

別の例では、ある色成分(例えば、ルーマ)のLICのパラメータaおよびbを計算するために使用される第1のサンプル対が最初に配置され、次に別の成分のLICのパラメータaおよびbを計算するために使用されるサンプル対(例えば、UまたはV)が、第1のサンプル対と同一位置に配置されたサンプルとして決定される。 In another example, a first sample pair used to calculate the LIC parameters a and b of one color component (e.g., luma) is located first, and then the sample pair used to calculate the LIC parameters a and b of another component (e.g., U or V) is determined as the samples co-located with the first sample pair.

別の例では、LICおよびCCLM(またはL_CCLM、T_CCLM、LT_CCLMなどのCCLMの任意の変形)は、線形モデルパラメータaおよびbを計算するために、最小2乗誤差法や最大最小法などの同じ方法を共有する。LICおよびCCLMはどちらも、最大最小法を使用して線形モデルパラメータaおよびbを計算し得る。LICの場合、各サンプル対の2つのサンプルの絶対値の合計を使用して、線形モデルの最大値および最小値を計算し得る。 In another example, LIC and CCLM (or any variant of CCLM such as L_CCLM, T_CCLM, LT_CCLM, etc.) share the same methods, such as the least squares error method or the max-min method, to calculate the linear model parameters a and b. Both LIC and CCLM may use the max-min method to calculate the linear model parameters a and b. In the case of LIC, the sum of the absolute values of the two samples for each sample pair may be used to calculate the maximum and minimum values of the linear model.

別の例では、LT_LIC、L_LIC、およびT_LICの3種類のLICモードがある。LT_LICの場合、左側および上側の両方の隣接サンプルを使用して、線形モデルパラメータaおよびbを導出する。L_LICの場合、左側の隣接サンプルのみを使用して、線形モデルパラメータaおよびbを導出する。T_LICの場合、上側の隣接サンプルのみを使用して、線形モデルパラメータaおよびbを導出する。現在のモードがLICモードの場合、LT_LICモードが選択されているかどうかを示すために別のフラグが通知されることがある。それ以外の場合は、L_LICモードまたはT_LICモードのどちらが通知されるかを示すために1つの追加フラグが通知されることがある。 In another example, there are three different LIC modes: LT_LIC, L_LIC, and T_LIC. For LT_LIC, both left and upper neighboring samples are used to derive the linear model parameters a and b. For L_LIC, only the left neighboring samples are used to derive the linear model parameters a and b. For T_LIC, only the upper neighboring samples are used to derive the linear model parameters a and b. If the current mode is a LIC mode, another flag may be signaled to indicate whether the LT_LIC mode is selected. Otherwise, one additional flag may be signaled to indicate whether the L_LIC or T_LIC mode is signaled.

別の例では、N×2または2×Nブロックの場合、線形モデル予測モードでパラメータaおよびbを計算するために(または最大サンプル値と最小サンプル値を計算するために)、2つの隣接サンプル対のみが使用される。使用される隣接サンプル対の位置は事前定義され、固定されている。 In another example, for an Nx2 or 2xN block, only two adjacent sample pairs are used to calculate the parameters a and b (or to calculate the maximum and minimum sample values) in linear model prediction mode. The positions of the adjacent sample pairs used are predefined and fixed.

この例の実施形態では、パラメータaおよびbを計算するために両側を使用する線形モデル予測モードについて、左側および上側の隣接サンプルの両方が利用可能である場合、左側からの1つの隣接サンプル対および上側からの1つの隣接サンプル対のみが、線形モデル予測モードでパラメータaおよびbを計算するために使用される。 In this example embodiment, for a linear model prediction mode that uses both sides to calculate parameters a and b, if both left and upper neighboring samples are available, only one neighboring sample pair from the left and one neighboring sample pair from the upper side are used to calculate parameters a and b in the linear model prediction mode.

この例の実施形態では、パラメータaおよびbを計算するために両側を使用する線形モデル予測モードについて、左側または上側の隣接サンプルが利用できない場合、利用可能な側からの2つの隣接サンプル対を使用して、線形モデル予測モードでパラメータaおよびbを計算する。現在のCU 2910および3010のそれぞれの事前定義された位置の2つの例が、図29および30に示されている。 In this example embodiment, for a linear model prediction mode that uses both sides to calculate parameters a and b, if the left or top neighboring samples are not available, two neighboring sample pairs from the available side are used to calculate parameters a and b in linear model prediction mode. Two examples of predefined positions for current CUs 2910 and 3010, respectively, are shown in Figures 29 and 30.

この例の実施形態では、パラメータaおよびbを計算するために両側を使用する線形モデル予測モードについて、左側または上側の隣接サンプルが利用できない場合、パラメータaおよびbは、aは1に設定され、bは512に設定されるなどのデフォルト値に設定される。 In this example embodiment, for a linear model prediction mode that uses both sides to calculate parameters a and b, if the left or upper neighboring samples are not available, parameters a and b are set to default values, such as a being set to 1 and b being set to 512.

この例の実施形態では、サンプル対の位置が図18および19に示されている。 In this example embodiment, the locations of the sample pairs are shown in Figures 18 and 19.

この例の実施形態では、サンプル対の位置が図20に示されている。 In this example embodiment, the locations of the sample pairs are shown in Figure 20.

この例の実施形態では、サンプル対の位置が図21に示され、サンプルBは、現在のCU 2110の長辺の任意の位置にあり得る。例えば、サンプルBは長辺の中央にあることがある。別の例では、サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であることがある。 In this example embodiment, the positions of the sample pairs are shown in FIG. 21, and sample B can be anywhere on the long side of the current CU 2110. For example, sample B can be in the center of the long side. In another example, the x coordinate of sample B can be (width>>1)-1 or (width>>1) or (width>>1)+1.

この例の実施形態では、サンプル対の位置が図22に示され、サンプルBは、現在のCU 2210の長辺の任意の位置にあり得る。例えば、サンプルBは長辺の中央にあることがある。別の例では、サンプルBのx座標は、(幅>>1)-1または(幅>>1)または(幅>>1)+1であることがある。 In this example embodiment, the positions of the sample pairs are shown in FIG. 22, and sample B can be anywhere on the long side of the current CU 2210. For example, sample B can be in the center of the long side. In another example, the x coordinate of sample B can be (width>>1)-1 or (width>>1) or (width>>1)+1.

別の例では、2×NまたはN×2ブロックの場合、Nは2、4、8、16、32、または64などの任意の正の整数であり得る。Nが2に等しい場合、線形モデルパラメータaおよびbを計算するために、左側から1つの隣接サンプル対と上側から1つの隣接サンプル対のみが使用される。それ以外の場合、Nが2より大きい場合、線形モデルパラメータaおよびbを計算するために、短辺からの1つの隣接サンプル対のみと長辺からの2つ以上の隣接サンプル対が使用される。使用される隣接サンプル対の位置は事前定義され、固定されている。図23を参照すると、サンプル対の位置が示され、サンプルBは、現在のCU 2310の長辺の任意の位置にあり得る。サンプルBは長辺の中央にあり、サンプルCは長辺の端部にある。 In another example, for 2×N or N×2 blocks, N can be any positive integer, such as 2, 4, 8, 16, 32, or 64. If N is equal to 2, only one adjacent sample pair from the left side and one adjacent sample pair from the top side are used to calculate the linear model parameters a and b. Otherwise, if N is greater than 2, only one adjacent sample pair from the short side and two or more adjacent sample pairs from the long side are used to calculate the linear model parameters a and b. The positions of the adjacent sample pairs used are predefined and fixed. With reference to FIG. 23, the positions of the sample pairs are shown, and sample B can be at any position on the long side of the current CU 2310. Sample B is in the middle of the long side, and sample C is at the end of the long side.

別の例では、左側からのK1以上のサンプル対および上側からのK2以上のサンプル対が、線形モデルパラメータaおよびbを計算するために使用される。使用される隣接サンプル対の位置は事前定義され、固定されている。さらに、Kなどの選択されたサンプルの数は、ブロックサイズに依存する。K1およびK2はそれぞれ、1、2、4、8などの正の整数である。K1およびK2は等しいことがある。 In another example, K1 or more sample pairs from the left side and K2 or more sample pairs from the top side are used to calculate the linear model parameters a and b. The positions of the adjacent sample pairs used are predefined and fixed. Furthermore, the number of samples selected, such as K, depends on the block size. K1 and K2 are positive integers, such as 1, 2, 4, 8, etc., respectively. K1 and K2 can be equal.

この例の実施形態では、各側で選択されたサンプル対が均等に分散されている。 In this example embodiment, the sample pairs selected on each side are evenly distributed.

この例の実施形態では、K1およびK2の値は、現在のブロックの幅および/または高さ以下であるべきである。 In this example embodiment, the values of K1 and K2 should be less than or equal to the width and/or height of the current block.

この例の実施形態では、隣接サンプルは、指定された走査順序によって選択される。選択したサンプルの数が指定した数に達すると、選択プロセスは終了する。左側と上側で選択されたサンプルの数は同じであり得る。左側の場合、走査順序は上から下になり、上側の場合、走査順序は左から右になる。図25および図31を参照すると、選択された隣接サンプルは、暗い円で強調表示される。図25では、隣接サンプルはダウンサンプリングされておらず、図31では、隣接サンプルはダウンサンプリングされている。あるいは、隣接サンプルは、逆の走査順序によって選択され得る。つまり、左側の場合、走査順序は下から上になり、上側の場合、走査順序は右から左になる。図26、図32および図33を参照して、選択されたサンプルの位置が示されている。図26では、隣接サンプルはダウンサンプリングされておらず、図32および33では、隣接サンプルはダウンサンプリングされている。 In this example embodiment, the adjacent samples are selected by a specified scan order. When the number of selected samples reaches the specified number, the selection process ends. The number of selected samples on the left side and the top side may be the same. For the left side, the scan order is from top to bottom, and for the top side, the scan order is from left to right. With reference to Figures 25 and 31, the selected adjacent samples are highlighted with dark circles. In Figure 25, the adjacent samples are not downsampled, and in Figure 31, the adjacent samples are downsampled. Alternatively, the adjacent samples may be selected by a reverse scan order. That is, for the left side, the scan order is from bottom to top, and for the top side, the scan order is from right to left. With reference to Figures 26, 32, and 33, the positions of the selected samples are shown. In Figure 26, the adjacent samples are not downsampled, and in Figures 32 and 33, the adjacent samples are downsampled.

この例の実施形態では、現在のブロックの幅および高さの両方がThよりも大きい場合、左側からのK以上のサンプル対および上側からの2つ以上のサンプル対を使用して、線形モデルパラメータaおよびbを計算する。使用される隣接サンプル対の位置は事前定義され、固定されている。Thは、2、4、8などの正の整数である。Kは、2、4、8などの正の整数である。 In this example embodiment, if both the width and height of the current block are greater than Th, then K or more sample pairs from the left side and two or more sample pairs from the top side are used to calculate the linear model parameters a and b. The positions of the adjacent sample pairs used are predefined and fixed. Th is a positive integer, such as 2, 4, 8, etc. K is a positive integer, such as 2, 4, 8, etc.

この例の実施形態では、左側または上側の隣接サンプルが利用できない場合、利用可能な側からのK個のサンプルを使用して、パラメータaおよびbを導出する。 In this example embodiment, if the left or top neighboring samples are unavailable, then K samples from the available side are used to derive parameters a and b.

別の例では、T_CCLMやL_CCLMなどの左側または上側の隣接サンプルのみを使用する線形モデルについて、T_CCLMについて上側またはL_CCLMについて左側などの、使用される側のサイズが2に等しい場合、Mサンプルのみが使用される。Mは2または4などの正の整数であり、位置は事前定義されている。それ以外の場合は、最大N個のサンプルが使用される。Nは、4または8などの正の整数である。MはNと等しくないことがある。 In another example, for linear models that use only left or upper neighboring samples, such as T_CCLM or L_CCLM, if the size of the side used, such as upper for T_CCLM or left for L_CCLM, is equal to 2, then only M samples are used, where M is a positive integer, such as 2 or 4, and the position is predefined. Otherwise, up to N samples are used, where N is a positive integer, such as 4 or 8. M may not be equal to N.

この例の実施形態では、図34を参照して、使用される側のサイズが2より大きい場合、所定の位置が示され、上側が使用される。 In this example embodiment, see FIG. 34, if the size of the side to be used is greater than 2, a predetermined position is shown and the top side is used.

この実施例の実施形態では、図35および図36を参照して、使用側のサイズが2に等しい場合、所定の位置が示され、図35では上側が使用され、図36では左側が使用される。 In this example embodiment, with reference to Figures 35 and 36, when the size of the side used is equal to 2, the predetermined positions are shown, in Figure 35 the top side is used and in Figure 36 the left side is used.

さらに、提案された方法は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得る。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行して、提案された方法の1つまたは複数を実行する。 Furthermore, the proposed methods may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, the one or more processors execute a program stored on a non-transitory computer-readable medium to perform one or more of the proposed methods.

上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に格納され得る。例えば、図37は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(3700)を示している。 The techniques described above may be implemented as computer software using computer-readable instructions and physically stored on one or more computer-readable media. For example, FIG. 37 illustrates a computer system (3700) suitable for implementing certain embodiments of the disclosed subject matter.

コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となる可能性のある任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。 Computer software may be encoded using any suitable machine or computer language, which may be subject to assembly, compilation, linking, or similar mechanisms to create code containing instructions that may be executed directly or via translation, microcode execution, or the like, by a computer central processing unit (CPU), graphics processing unit (GPU), or the like.

命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行することができる。 The instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, Internet of Things devices, etc.

コンピュータシステム(3700)について図37に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。また、構成要素の構成は、コンピュータシステム(3700)の例示的な実施形態に示される構成要素のいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。 The components illustrated in FIG. 37 for the computer system (3700) are exemplary in nature and are not intended to suggest any limitations on the scope of use or functionality of the computer software implementing the embodiments of the present disclosure. Nor should the arrangement of components be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of the computer system (3700).

コンピュータシステム(3700)は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスを使用して、音声(発話、音楽、周囲音など)、画像(静止画像カメラから取得された走査画像、写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャすることもできる。 The computer system (3700) may include certain human interface input devices. Such human interface input devices may respond to input by one or more human users, for example, via tactile input (keystrokes, swipes, data glove movements, etc.), audio input (voice, clapping, etc.), visual input (gestures, etc.), or olfactory input (not shown). Human interface devices may also be used to capture certain media not necessarily directly associated with conscious human input, such as audio (speech, music, ambient sounds, etc.), images (scanned images obtained from a still image camera, photographic images, etc.), and video (two-dimensional video, three-dimensional video including stereoscopic video, etc.).

入力ヒューマンインターフェースデバイスには、キーボード(3701)、マウス(3702)、トラックパッド(3703)、タッチスクリーン(3710)、データグローブ(3704)、ジョイスティック(3705)、マイク(3706)、スキャナ(3707)、カメラ(3708)のうちの1つまたは複数が含まれることがある。 The input human interface devices may include one or more of a keyboard (3701), a mouse (3702), a trackpad (3703), a touch screen (3710), a data glove (3704), a joystick (3705), a microphone (3706), a scanner (3707), and a camera (3708).

コンピュータシステム(3700)はまた、特定のヒューマンインターフェース出力デバイスを含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(3710)、データグローブ(3704)、またはジョイスティック(3705)による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ3709、ヘッドホン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能の有無にかかわらず、それぞれが触覚フィードバック機能の有無にかかわらず、カソード光線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含むスクリーン3710など、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。 The computer system (3700) may also include certain human interface output devices. Such human interface output devices may stimulate one or more of the human user's senses, for example, through haptic output, sound, light, and smell/taste. Such human interface output devices may include haptic output devices (e.g., haptic feedback via a touch screen (3710), data gloves (3704), or joystick (3705), although there may also be haptic feedback devices that do not function as input devices), audio output devices (such as speakers 3709, headphones (not shown)), visual output devices (such as screens 3710, including cathode ray tube (CRT) screens, liquid crystal display (LCD) screens, plasma screens, organic light emitting diode (OLED) screens, each with or without touch screen input capability, each with or without haptic feedback capability, some of which may be capable of two-dimensional visual output or three or more dimensional output through means such as stereographic output, virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)), and printers (not shown).

コンピュータシステム(3700)はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体を含むことができ、例えば、CD/DVDまたは同様の媒体(3721)を有するCD/DVD ROM/RW(3720)を含む光学媒体、サムドライブ(3722)、取り外し可能なハードドライブまたはソリッドステートドライブ(3723)、テープやフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)などである。 The computer system (3700) may also include human accessible storage devices and their associated media, such as optical media including CD/DVD ROM/RW (3720) with CD/DVD or similar media (3721), thumb drives (3722), removable hard drives or solid state drives (3723), legacy magnetic media such as tapes and floppy disks (not shown), specialized ROM/ASIC/PLD based devices such as security dongles (not shown), etc.

当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことを理解すべきである。 Those skilled in the art should also understand that the term "computer-readable medium" as used in connection with the presently disclosed subject matter does not include transmission media, carrier waves, or other transitory signals.

コンピュータシステム(3700)はまた、1つまたは複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などにすることができる。ネットワークの例は、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、モバイル通信(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)などのためのグローバルシステムを含むセルラネットワーク、ケーブルテレビ、衛星テレビ、および地上放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業などを含む。特定のネットワークは通常、特定の汎用データポートまたは周辺バス(3749)に取り付けられる外部ネットワークインターフェースアダプタ(3754)を必要とする(例えば、外部ネットワーク(3755)と通信するためのコンピュータシステム(3700)のユニバーサルシリアルバス(USB)ポート、その他は一般に、以下に説明するようにシステムバスに接続することによってコンピュータシステム(3700)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェースなど)。これらのネットワークのいずれかを使用して、コンピュータシステム(3700)は他のエンティティと通信できる。このような通信は、一方向、受信のみ(例えば、テレビ放送)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信である。上記のように、特定のプロトコルおよびプロトコルスタックをこれらのネットワークおよびネットワークインターフェースのそれぞれで使用できる。 The computer system (3700) may also include interfaces to one or more communication networks. The networks may be, for example, wireless, wired, optical. The networks may further be local, wide area, metropolitan, vehicular and industrial, real-time, delay tolerant, and the like. Examples of networks include local area networks such as Ethernet, wireless LAN, cellular networks including Global System for Mobile Communications (GSM), Third Generation (3G), Fourth Generation (4G), Fifth Generation (5G), Long Term Evolution (LTE), and the like, television wired or wireless wide area digital networks including cable television, satellite television, and terrestrial broadcast television, vehicular and industrial including CANBus, and the like. A particular network typically requires an external network interface adapter (3754) that is attached to a particular general-purpose data port or peripheral bus (3749) (e.g., a Universal Serial Bus (USB) port of the computer system (3700) for communicating with an external network (3755); others are generally integrated into the core of the computer system (3700) by connecting to a system bus as described below (e.g., an Ethernet interface to a PC computer system or a cellular network interface to a smartphone computer system, etc.). Using any of these networks, the computer system (3700) can communicate with other entities. Such communication may be one-way, receive only (e.g., television broadcast), one-way transmit only (e.g., CANbus to certain CANbus devices), or bidirectional, e.g., to other computer systems using local or wide area digital networks. As noted above, particular protocols and protocol stacks may be used with each of these networks and network interfaces.

前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム(3700)のコア(3740)に接続することができる。 The aforementioned human interface devices, human accessible storage devices, and network interfaces may be connected to the core (3740) of the computer system (3700).

コア(3740)は、1つまたは複数の中央処理装置(CPU)(3741)、グラフィックス処理装置(GPU)3742、フィールドプログラマブルゲートエリア(FPGA)(3743)の形式の特殊なプログラム可能な処理装置、特定のタスク用のハードウェアアクセラレータ(3744)などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)(3745)、ランダムアクセスメモリ(RAM)(3746)、ユーザがアクセスできない内蔵ハードドライブなどの内部大容量記憶装置、ソリッドステートドライブ(SSD)など(3747)と共にシステムバス(3748)を介して接続し得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス(3748)にアクセスすることができる。周辺デバイスは、コアのシステムバス(3748)に直接接続することも、周辺バス3749を介して接続することもできる。周辺バスのアーキテクチャには、周辺コンポーネント相互接続(PCI)、USBなどが含まれる。 The cores (3740) may include one or more central processing units (CPUs) (3741), graphics processing units (GPUs) 3742, specialized programmable processing units in the form of field programmable gate areas (FPGAs) (3743), hardware accelerators for specific tasks (3744), and the like. These devices may connect through a system bus (3748) along with read only memory (ROM) (3745), random access memory (RAM) (3746), internal mass storage devices such as internal hard drives that are not accessible to the user, solid state drives (SSDs), and the like (3747). In some computer systems, the system bus (3748) may be accessible in the form of one or more physical plugs to allow expansion with additional CPUs, GPUs, and the like. Peripheral devices may be connected directly to the core's system bus (3748) or through a peripheral bus 3749. Peripheral bus architectures include peripheral component interconnect (PCI), USB, and the like.

CPU(3741)、GPU(3742)、FPGA(3743)、およびアクセラレータ(3744)は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(3745)またはRAM(3746)に格納できる。移行データはRAM(3746)に格納することもできるが、恒久的データは例えば内部大容量記憶装置(3747)に格納できる。任意のメモリデバイスの高速格納および検索は、1つまたは複数のCPU(3741)、GPU(3742)、大容量記憶装置(3747)、ROM(3745)、RAM(3746)などに密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。 The CPU (3741), GPU (3742), FPGA (3743), and accelerator (3744) can execute certain instructions that, in combination, can constitute the aforementioned computer code. That computer code can be stored in ROM (3745) or RAM (3746). Transient data can also be stored in RAM (3746), while permanent data can be stored in, for example, internal mass storage (3747). Rapid storage and retrieval of any memory device can be made possible through the use of cache memory, which can be closely associated with one or more of the CPU (3741), GPU (3742), mass storage (3747), ROM (3745), RAM (3746), etc.

コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであり得る。 The computer-readable medium can bear computer code for performing various computer-implemented operations. The medium and computer code can be those specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those skilled in the computer software arts.

一例として、限定するものではないが、アーキテクチャ(3700)、具体的にはコア(3740)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置(3747)やROM(3745)などの非一時的な性質のコア(3740)の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア(3740)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(3740)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(3746)に格納されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を変更することとを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりにまたはソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ3744)に論理配線された、あるいは具体化された結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。 By way of example, and not by way of limitation, a computer system having the architecture (3700), and in particular the cores (3740), may provide functionality as a result of processors (including CPUs, GPUs, FPGAs, accelerators, etc.) executing software embodied in one or more tangible computer-readable media. Such computer-readable media may be the user-accessible mass storage devices introduced above, as well as media associated with specific storage of the cores (3740) of a non-transitory nature, such as the core internal mass storage (3747) or ROM (3745). Software implementing various embodiments of the present disclosure may be stored in such devices and executed by the cores (3740). The computer-readable media may include one or more memory devices or chips, depending on the particular needs. The software may cause the cores (3740), and in particular the processors therein (including CPUs, GPUs, FPGAs, etc.) to perform certain processes or certain portions of certain processes described herein, including defining data structures stored in RAM (3746) and modifying such data structures in accordance with the processes defined by the software. Additionally or alternatively, the computer system may provide functionality as a result of being logically hardwired or embodied in circuitry (e.g., accelerator 3744) that can operate in place of or together with software to perform certain processes or certain portions of certain processes described herein. References to software may include logic, and vice versa, as appropriate. References to computer-readable media may encompass circuitry (such as integrated circuits (ICs)) that stores software for execution, circuitry that embodies logic for execution, or both, as appropriate. The present disclosure encompasses any suitable combination of hardware and software.

本開示は、いくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、並べ替え、および様々な代替の同等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、開示の原理を具体化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。 While this disclosure describes several exemplary embodiments, there are modifications, permutations, and various substitute equivalents that are within the scope of this disclosure. Thus, it will be appreciated that those skilled in the art can devise numerous systems and methods that, although not explicitly shown or described herein, embody the principles of the disclosure and are therefore within its spirit and scope.

400 通信システム
410 第1の端末
420 第2の端末
430 端末
440 端末
450 ネットワーク
501 ビデオソース
502 非圧縮ビデオサンプルストリーム
503 エンコーダ
504 符号化されたビデオビットストリーム
505 ストリーミングサーバ
506 ストリーミングクライアント
507 符号化されたビデオビットストリームの複製
508 ストリーミングクライアント
509 符号化されたビデオビットストリームの複製
510 ビデオデコーダ
511 発信ビデオサンプルストリーム
512 ディスプレイ
513 キャプチャサブシステム
610 受信機
612 チャネル
615 バッファメモリ
620 パーサー
621 シンボル
651 スケーラ/逆変換ユニット
652 イントラ予測ユニット
653 動き補償予測ユニット
655 集約装置
656 現在の(部分的に再構成された)ピクチャ
657 参照ピクチャメモリ
658 ループフィルタユニット
730 エンコーダ
732 符号化エンジン
733 (ローカル)デコーダ
734 参照ピクチャメモリ
735 予測子
740 送信機
743 ビデオシーケンス
745 エントロピーコーダ
750 コントローラ
760 通信チャネル
800 プロセス
810 ビデオシーケンス
820 ビデオシーケンス
830 ビデオシーケンス
1410 符号化ユニット(CU)
1420 ブロック
1510 符号化ユニット(CU)
1610 符号化ユニット(CU)
1710 符号化ユニット(CU)
1810 符号化ユニット(CU)
1910 符号化ユニット(CU)
2010 符号化ユニット(CU)
2110 符号化ユニット(CU)
2210 符号化ユニット(CU)
2310 符号化ユニット(CU)
2410 符号化ユニット(CU)
2510 クロマブロック
2610 クロマブロック
2910 符号化ユニット(CU)
3010 符号化ユニット(CU)
3700 コンピュータシステム
3701 キーボード
3702 マウス
3703 トラックパッド
3704 データグローブ
3705 ジョイスティック
3706 マイク
3707 スキャナ
3708 カメラ
3709 スピーカ
3710 スクリーン
3720 CD/DVD ROM/RW
3721 同様の媒体
3722 サムドライブ
3723 ソリッドステートドライブ
3740 コア
3741 中央処理装置(CPU)
3742 グラフィックス処理装置(GPU)
3743 フィールドプログラマブルゲートエリア(FPGA)
3744 アクセラレータ
3745 読み取り専用メモリ(ROM)
3746 ランダムアクセスメモリ(RAM)
3747 内部大容量記憶装置
3748 システムバス
3749 周辺バス
3754 外部ネットワークインターフェースアダプタ
3755 外部ネットワーク
400 Communication Systems
410 First Terminal
420 Second Terminal
430 Terminal
440 Terminal
450 Network
501 Video Sources
502 uncompressed video sample stream
503 Encoder
504 Encoded Video Bitstream
505 Streaming Server
506 Streaming Client
507 Copying of encoded video bitstreams
508 Streaming Client
509 Copying of encoded video bitstreams
510 Video Decoder
511 Outgoing Video Sample Stream
512 Display
513 Capture Subsystem
610 Receiver
612 Channels
615 Buffer Memory
620 Parser
621 Symbols
651 Scaler/Descaler Unit
652 intra prediction units
653 Motion Compensation Prediction Unit
655 Aggregation Device
656 Current (partially reconstructed) picture
657 Reference Picture Memory
658 Loop Filter Unit
730 Encoder
732 Encoding Engine
733 (local) decoder
734 Reference Picture Memory
735 Predictors
740 Transmitter
743 Video Sequence
745 Entropy Coder
750 Controller
760 Communication Channel
800 processes
810 Video Sequence
820 Video Sequence
830 Video Sequence
1410 Coding Unit (CU)
1420 Block
1510 Coding Unit (CU)
1610 Coding Unit (CU)
1710 Coding Unit (CU)
1810 Coding Unit (CU)
1910 Coding Unit (CU)
2010 Coding Unit (CU)
2110 Coding Unit (CU)
2210 Coding Unit (CU)
2310 Coding Unit (CU)
2410 Coding Unit (CU)
2510 Chroma Block
2610 Chroma Block
2910 Coding Unit (CU)
3010 Coding Unit (CU)
3700 Computer Systems
3701 Keyboard
3702 Mouse
3703 Trackpad
3704 Data Gloves
3705 Joystick
3706 Mike
3707 Scanner
3708 Camera
3709 Speaker
3710 Screen
3720 CD/DVD ROM/RW
3721 Similar media
3722 Thumb Drive
3723 Solid State Drive
3740 cores
3741 Central Processing Unit (CPU)
3742 Graphics Processing Unit (GPU)
3743 Field Programmable Gate Area (FPGA)
3744 Accelerator
3745 Read Only Memory (ROM)
3746 Random Access Memory (RAM)
3747 Internal Mass Storage
3748 System Bus
3749 Surrounding bus
3754 External Network Interface Adapter
3755 External Network

Claims (16)

ビデオシーケンスを符号化または復号するための方法であって、前記方法は、
クロスコンポーネント線形モデル(CCLM)をビデオシーケンスに適用するステップと、
前記クロスコンポーネント線形モデル(CCLM)において補間フィルタを適用するステップと、
ルーマブロックの中の第1のものの、前記ビデオシーケンスに関連する複数の隣接サンプルの最大ルーマサンプル値と最小ルーマサンプル値との間の絶対差を取得するステップと、
前記取得された絶対差を前記絶対差が0より大きい第1の間隔とそれ以外の第2の間隔とに分割するステップと、
前記取得された絶対差の非一様量子化を実行するステップと、
CCLMルックアップテーブルに、前記非一様量子化が実行された絶対差を使用してfloor値を取得するステップと、
前記第1の間隔において、
前記ビデオシーケンスに関連する前記複数の隣接サンプルの最大クロマサンプル値と最小クロマサンプル値との間の差と、前記floor値とット深度に応じて異なるステップサイズとを使用して、前記CCLMの第1のパラメータを取得するステップであって、前記ステップサイズは、前記ビット深度が所定の値よりも大きい場合は前記ビット深度に基づいて決まる値であり、前記ビット深度が前記所定の値以下である場合は0であり、
前記第2の間隔において、前記第1のパラメータは0であり、前記最小クロマサンプル値と前記第1のパラメータとに基づいて第2のパラメータを取得する、ステップと、
前記第1のパラメータおよび前記第2のパラメータに基づいて、前記ビデオシーケンスに関連するクロマブロックの中の異なるクロマブロックのサンプルを予測するステップと
を含み、
前記補間フィルタは、前記ビデオシーケンスのYUVフォーマットに依存する、方法。
1. A method for encoding or decoding a video sequence, the method comprising the steps of:
applying a cross-component linear model (CCLM) to the video sequence;
applying an interpolation filter in the cross-component linear model (CCLM);
obtaining an absolute difference between a maximum luma sample value and a minimum luma sample value of a plurality of adjacent samples associated with the video sequence for a first one of the luma blocks;
Dividing the obtained absolute difference into a first interval in which the absolute difference is greater than 0 and a second interval other than the first interval ;
performing a non-uniform quantization of the obtained absolute differences;
obtaining a floor value using the non-uniformly quantized absolute difference in a CCLM lookup table;
In the first interval,
obtaining a first parameter of the CCLM using a difference between a maximum chroma sample value and a minimum chroma sample value of the plurality of adjacent samples associated with the video sequence, the floor value , and a step size that varies depending on a bit depth, the step size being a value determined based on the bit depth when the bit depth is greater than a predetermined value, and being 0 when the bit depth is equal to or less than the predetermined value;
in the second interval, the first parameter is zero, and a second parameter is obtained based on the minimum chroma sample value and the first parameter;
predicting samples of different chroma blocks among the chroma blocks associated with the video sequence based on the first parameters and the second parameters;
A method, wherein the interpolation filter depends on a YUV format of the video sequence.
前記クロスコンポーネント線形モデル(CCLM)において前記補間フィルタを適用する際に、前記方法は、前記ビデオシーケンスの前記YUVフォーマットに依存する前記補間フィルタのタップを使用するステップをさらに含む、請求項1に記載の方法。 The method of claim 1, further comprising: when applying the interpolation filter in the cross-component linear model (CCLM), the method using taps of the interpolation filter that depend on the YUV format of the video sequence. 前記方法は、前記ビデオシーケンスの同じYUVフォーマットに対して同じである、前記クロスコンポーネント線形モデル(CCLM)で使用される前記補間フィルタのタップを使用するステップをさらに含む、請求項2に記載の方法。 The method of claim 2, further comprising using taps of the interpolation filter used in the cross-component linear model (CCLM) that are the same for the same YUV format of the video sequence. 前記クロスコンポーネント線形モデル(CCLM)において前記補間フィルタを適用する際に、前記方法は、前記ビデオシーケンスが4:4:4または4:2:2のYUVフォーマットを含む場合、前記適用される補間フィルタが前記4:4:4および4:2:2のYUVフォーマットに対して同じになるように設定するステップと、前記ビデオシーケンスが4:2:0のYUVフォーマットを含む場合、前記適用される補間フィルタが前記4:4:4および4:2:2のYUVフォーマットに対して適用される補間フィルタとは異なるように設定するステップとをさらに含む、請求項1から3のいずれか一項に記載の方法。 The method according to any one of claims 1 to 3, wherein when applying the interpolation filter in the cross-component linear model (CCLM), the method further comprises: if the video sequence includes a 4:4:4 or 4:2:2 YUV format, setting the applied interpolation filter to be the same for the 4:4:4 and 4:2:2 YUV formats; and if the video sequence includes a 4:2:0 YUV format, setting the applied interpolation filter to be different from the interpolation filter applied for the 4:4:4 and 4:2:2 YUV formats. 前記クロスコンポーネント線形モデル(CCLM)において前記補間フィルタを適用する際に、前記方法は、前記ビデオシーケンスの様々なYUVフォーマットに対して異なる前記補間フィルタのタップを使用するステップをさらに含む、請求項1から4のいずれか一項に記載の方法。 The method of any one of claims 1 to 4, wherein when applying the interpolation filter in the cross-component linear model (CCLM), the method further comprises using different taps of the interpolation filter for different YUV formats of the video sequence. 前記クロスコンポーネント線形モデル(CCLM)に前記補間フィルタを適用する際に、前記方法は、前記補間フィルタを、上側および左側の隣接ルーマ再構成サンプルに対して異なるように設定するステップをさらに含む、請求項1から5のいずれか一項に記載の方法。 The method of any one of claims 1 to 5, wherein when applying the interpolation filter to the cross-component linear model (CCLM), the method further comprises setting the interpolation filter differently for upper and left adjacent luma reconstruction samples. 前記方法は、前記補間フィルタを設定するステップをさらに含み、前記上側および左側の隣接ルーマ再構成サンプルの補間フィルタは、前記ビデオシーケンスの前記YUVフォーマットに依存する、請求項6に記載の方法。 The method of claim 6, further comprising setting the interpolation filters, the interpolation filters for the upper and left neighboring luma reconstruction samples depending on the YUV format of the video sequence. 前記方法は、4:4:4または4:2:2のYUVフォーマットを有するビデオシーケンスに対する前記クロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および左側の隣接領域の少なくとも1列のうちの少なくとも一方を使用するステップをさらに含む、請求項1から7のいずれか一項に記載の方法。 8. The method according to claim 1, further comprising using at least one of a row of the upper adjacent region and at least one column of the left adjacent region in the cross-component linear model (CCLM) for a video sequence having a YUV format of 4:4:4 or 4:2:2. 前記方法は、4:4:4または4:2:2のYUVフォーマットのうちの1つを有するビデオシーケンスに対する前記クロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および左側の隣接領域の1列のうちの少なくとも一方を使用するステップをさらに含む、請求項8に記載の方法。 The method of claim 8, further comprising using at least one of a row of an upper neighboring region and a column of a left neighboring region in the cross-component linear model (CCLM) for video sequences having one of 4:4:4 or 4:2:2 YUV formats. 前記方法は、4:2:2のYUVフォーマットを有するビデオシーケンスに対する前記クロスコンポーネント線形モデル(CCLM)において、上側の隣接領域の1行および左側の隣接領域の少なくとも2列のうちの少なくとも一方を使用するステップをさらに含む、請求項8に記載の方法。 The method of claim 8, further comprising using at least one of one row of an upper adjacent region and at least two columns of a left adjacent region in the cross-component linear model (CCLM) for a video sequence having a 4:2:2 YUV format. 前記ルーマブロックおよび前記クロマブロックのN個の隣接サンプル対を使用して、前記最大ルーマサンプル値および前記最小ルーマサンプルならびに前記最大クロマサンプル値および前記最小クロマサンプル値を取得するステップであって、Nは、4、8および16の中の1つの正の整数である、ステップをさらに含み、
前記N個の隣接サンプル対のそれぞれは、前記ルーマブロックおよび前記クロマブロックの中の第1のものに隣接する第1の位置にある第1の隣接サンプルと、前記ルーマブロックおよび前記クロマブロックの中の第2のものに隣接し、前記ルーマブロックおよび前記クロマブロックの中の前記第1のものに隣接する前記第1の位置に対応する第2の位置にある第2の隣接サンプルとを含む、請求項1から10のいずれか一項に記載の方法。
obtaining the maximum and minimum luma sample values and the maximum and minimum chroma sample values using N adjacent sample pairs of the luma block and the chroma block, where N is a positive integer among 4, 8, and 16;
11. The method of claim 1, wherein each of the N pairs of adjacent samples includes a first adjacent sample at a first position adjacent to a first one of the luma block and the chroma block, and a second adjacent sample at a second position adjacent to a second one of the luma block and the chroma block and corresponding to the first position adjacent to the first one of the luma block and the chroma block.
前記複数の隣接サンプルを下から上に、および/または右から左に走査することによって前記第1の隣接サンプルを選択するステップをさらに含む、請求項11に記載の方法。 The method of claim 11, further comprising the step of selecting the first neighboring sample by scanning the plurality of neighboring samples from bottom to top and/or from right to left. 現在のブロックおよび参照ブロックのN個の隣接サンプル対を使用して、前記現在のブロックの局所照射補正(LIC)の線形モデルのスケール係数およびオフセットを取得するステップであって、Nは4、8および16の中のいずれかの正の整数であり、
前記N個の隣接サンプル対のそれぞれは、前記現在のブロックに隣接する第1の位置にある第1の隣接サンプルと、前記参照ブロックに隣接し、前記現在のブロックに隣接する前記第1の位置に対応する第2の位置にある第2の隣接サンプルとを含む、ステップと、
前記取得したスケール係数および前記取得したオフセットを使用して、前記現在のブロックの前記LICを実行するステップと
をさらに含む、請求項1から12のいずれか一項に記載の方法。
Obtaining a scale factor and an offset of a linear model of a local illumination correction (LIC) of the current block using N adjacent sample pairs of the current block and the reference block, where N is a positive integer among 4, 8, and 16;
each of the N adjacent sample pairs includes a first adjacent sample at a first position adjacent to the current block and a second adjacent sample at a second position adjacent to the reference block and corresponding to the first position adjacent to the current block;
13. The method of claim 1, further comprising: performing the LIC of the current block using the obtained scale factor and the obtained offset.
Nは前記現在のブロックのブロックサイズに依存する、請求項13に記載の方法。 The method of claim 13, wherein N depends on the block size of the current block. 請求項1から14のいずれか一項に記載の方法を実行するように構成されたデバイス。 A device configured to perform the method according to any one of claims 1 to 14. 1つまたは複数のプロセッサに、請求項1から14のいずれか一項に記載の方法を実行させるためのプログラム。 A program for causing one or more processors to execute the method according to any one of claims 1 to 14.
JP2021528423A 2018-12-18 2019-12-11 Method, apparatus and computer program for video encoding or decoding - Patents.com Active JP7578591B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024114077A JP2024138009A (en) 2018-12-18 2024-07-17 Method and apparatus for video encoding or decoding

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201862781316P 2018-12-18 2018-12-18
US62/781,316 2018-12-18
US201862785678P 2018-12-27 2018-12-27
US62/785,678 2018-12-27
US201962788729P 2019-01-04 2019-01-04
US62/788,729 2019-01-04
US201962789992P 2019-01-08 2019-01-08
US62/789,992 2019-01-08
US16/523,258 2019-07-26
US16/523,258 US11095921B2 (en) 2018-12-18 2019-07-26 Method and apparatus for video encoding or decoding
PCT/US2019/065627 WO2020131512A1 (en) 2018-12-18 2019-12-11 Method and apparatus for video encoding or decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024114077A Division JP2024138009A (en) 2018-12-18 2024-07-17 Method and apparatus for video encoding or decoding

Publications (2)

Publication Number Publication Date
JP2022508161A JP2022508161A (en) 2022-01-19
JP7578591B2 true JP7578591B2 (en) 2024-11-06

Family

ID=71072041

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021528423A Active JP7578591B2 (en) 2018-12-18 2019-12-11 Method, apparatus and computer program for video encoding or decoding - Patents.com
JP2024114077A Pending JP2024138009A (en) 2018-12-18 2024-07-17 Method and apparatus for video encoding or decoding

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024114077A Pending JP2024138009A (en) 2018-12-18 2024-07-17 Method and apparatus for video encoding or decoding

Country Status (6)

Country Link
US (4) US11095921B2 (en)
EP (1) EP3777146A1 (en)
JP (2) JP7578591B2 (en)
KR (3) KR102715060B1 (en)
CN (2) CN112889279B (en)
WO (1) WO2020131512A1 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2571313B (en) * 2018-02-23 2022-09-21 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
WO2019221465A1 (en) * 2018-05-14 2019-11-21 인텔렉추얼디스커버리 주식회사 Image decoding method/device, image encoding method/device, and recording medium in which bitstream is stored
CN116347109A (en) * 2018-08-17 2023-06-27 北京字节跳动网络技术有限公司 A method and device for processing video data
CN117478883A (en) 2018-09-12 2024-01-30 北京字节跳动网络技术有限公司 Size-dependent downsampling in a cross-component linear model
WO2020094057A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Position based intra prediction
CN113170122B (en) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 Parameter derivation for intra prediction
PH12021551289A1 (en) 2018-12-07 2022-03-21 Beijing Bytedance Network Tech Co Ltd Context-based intra prediction
CN119865617A (en) * 2018-12-21 2025-04-22 交互数字Vc控股公司 Method, medium, and codec for encoding and decoding video data
CN113261291B (en) * 2018-12-22 2024-07-26 北京字节跳动网络技术有限公司 Two-step cross component prediction mode based on multiple parameters
PL3900332T3 (en) * 2018-12-31 2024-11-04 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR INTER-COMPONENT LINEAR MODELING FOR INTRA-IMAGE PREDICTION
CN113395520B (en) 2019-01-02 2023-05-16 Oppo广东移动通信有限公司 Decoding prediction method, device and computer storage medium
KR20260040128A (en) * 2019-01-16 2026-03-23 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 Information processing method and apparatus, and device and storage medium
EP3868098B1 (en) * 2019-01-18 2024-07-10 Huawei Technologies Co., Ltd. Method and apparatus of local illumination compensation for predictive coding
MY207950A (en) 2019-02-22 2025-03-31 Beijing Bytedance Network Tech Co Ltd Neighboring sample selection for intra prediction
CN113491121B (en) * 2019-02-24 2022-12-06 北京字节跳动网络技术有限公司 Method, apparatus and computer readable medium for encoding and decoding video data
CN113767631B (en) 2019-03-24 2023-12-15 北京字节跳动网络技术有限公司 Conditions in parameter derivation for intra prediction
GB2586484B (en) * 2019-08-20 2023-03-08 Canon Kk A filter
KR20220157765A (en) * 2021-05-21 2022-11-29 삼성전자주식회사 Video Encoder and the operating method thereof
CN113473144B (en) * 2021-07-15 2024-07-26 无锡思朗电子科技有限公司 YUV4:4:4 image transmission method
WO2023091290A1 (en) * 2021-11-17 2023-05-25 Tencent America LLC Adaptive application of generalized sample offset
EP4510583A4 (en) * 2022-04-12 2026-01-28 Guangdong Oppo Mobile Telecommunications Corp Ltd Coding method and device, decoding method and device, coding device, decoding device and storage medium
CN118985130A (en) * 2022-04-13 2024-11-19 Oppo广东移动通信有限公司 Video encoding and decoding method, device, equipment, system and storage medium
CN119384828A (en) * 2022-06-20 2025-01-28 Oppo广东移动通信有限公司 A local illumination compensation method, video encoding and decoding method, device and system
US12425572B2 (en) * 2022-10-20 2025-09-23 Tencent America LLC Local illumination compensation
WO2025042869A1 (en) * 2023-08-22 2025-02-27 Beijing Dajia Internet Information Technology Co., Ltd. Improved cross component residual prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015008341A (en) 2011-10-31 2015-01-15 三菱電機株式会社 Moving image encoding device, moving image decoding device, moving image encoding method, and moving image decoding method
WO2018053293A1 (en) 2016-09-15 2018-03-22 Qualcomm Incorporated Linear model chroma intra prediction for video coding
JP2018174567A (en) 2013-06-18 2018-11-08 シャープ株式会社 Illumination compensation device, image decoding device, and image encoding device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9848197B2 (en) 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US9288500B2 (en) * 2011-05-12 2016-03-15 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
GB2492130A (en) * 2011-06-22 2012-12-26 Canon Kk Processing Colour Information in an Image Comprising Colour Component Sample Prediction Being Based on Colour Sampling Format
US10462480B2 (en) * 2014-12-31 2019-10-29 Microsoft Technology Licensing, Llc Computationally efficient motion estimation
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US10382781B2 (en) * 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US11418816B2 (en) * 2017-09-20 2022-08-16 Vid Scale, Inc. Handling face discontinuities in 360-degree video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015008341A (en) 2011-10-31 2015-01-15 三菱電機株式会社 Moving image encoding device, moving image decoding device, moving image encoding method, and moving image decoding method
JP2018174567A (en) 2013-06-18 2018-11-08 シャープ株式会社 Illumination compensation device, image decoding device, and image encoding device
WO2018053293A1 (en) 2016-09-15 2018-03-22 Qualcomm Incorporated Linear model chroma intra prediction for video coding

Also Published As

Publication number Publication date
US20200195976A1 (en) 2020-06-18
KR102608275B1 (en) 2023-11-30
EP3777146A4 (en) 2021-02-17
US11638039B2 (en) 2023-04-25
CN118555387A (en) 2024-08-27
CN112889279A (en) 2021-06-01
CN112889279B (en) 2024-05-17
US20210344966A1 (en) 2021-11-04
KR102715060B1 (en) 2024-10-11
US11095921B2 (en) 2021-08-17
US12356019B2 (en) 2025-07-08
JP2024138009A (en) 2024-10-07
KR20240090457A (en) 2024-06-21
KR102668128B1 (en) 2024-05-23
JP2022508161A (en) 2022-01-19
KR20210088685A (en) 2021-07-14
EP3777146A1 (en) 2021-02-17
WO2020131512A1 (en) 2020-06-25
US20230217044A1 (en) 2023-07-06
KR20230165379A (en) 2023-12-05
US11882313B2 (en) 2024-01-23
US20240121444A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
JP7578591B2 (en) Method, apparatus and computer program for video encoding or decoding - Patents.com
JP7524387B2 (en) Method and apparatus for video encoding or decoding and computer program product
JP7495564B2 (en) Method and apparatus for improving intra-inter prediction modes, and computer program product
JP7704813B2 (en) METHOD, APPARATUS, AND PROGRAM FOR VIDEO CODING - Patent application
KR102506416B1 (en) Intra interpolation filter for multi-line intra prediction
JP7776204B2 (en) METHOD AND APPARATUS FOR VIDEO CODING - Patent application
JP7744396B2 (en) A simplified most probable mode list generation scheme.
JP7331218B2 (en) Method, apparatus and computer program for decoding using an integrated position dependent predictive combination process
JP7490843B2 (en) Method and apparatus for prediction candidate list size signaling for intra-picture block compensation - Patents.com
JP7767483B2 (en) Method, apparatus and program for video coding
JP7514325B2 (en) METHOD, APPARATUS, NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM FOR VIDEO CODING - Patent application
JP7495563B2 (en) Method and apparatus for generating a mode list for multi-line intra-prediction and computer program therefor
JP2025111550A (en) Video decoding method, device, and program executed by decoder, and video coding method executed by encoder
HK40046221A (en) Video sequence encoding and decoding method, apparatus, computer equipment and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240705

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241024

R150 Certificate of patent or registration of utility model

Ref document number: 7578591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150