JP2022521698A - イントラ予測のための隣接サンプル選択 - Google Patents

イントラ予測のための隣接サンプル選択 Download PDF

Info

Publication number
JP2022521698A
JP2022521698A JP2021547179A JP2021547179A JP2022521698A JP 2022521698 A JP2022521698 A JP 2022521698A JP 2021547179 A JP2021547179 A JP 2021547179A JP 2021547179 A JP2021547179 A JP 2021547179A JP 2022521698 A JP2022521698 A JP 2022521698A
Authority
JP
Japan
Prior art keywords
sample
adjacent
cclm
chroma
samples
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.)
Pending
Application number
JP2021547179A
Other languages
English (en)
Other versions
JPWO2020169101A5 (ja
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.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
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 Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2022521698A publication Critical patent/JP2022521698A/ja
Publication of JPWO2020169101A5 publication Critical patent/JPWO2020169101A5/ja
Priority to JP2023148870A priority Critical patent/JP2023160996A/ja
Pending legal-status Critical Current

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/103Selection of coding mode or of prediction mode
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/172Methods 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 picture, frame or field
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

映像処理のための方法が提供される。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップであり、Wは整数である、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。

Description

パリ条約に従った適用特許法及び/又は規則の下、この出願は、2019年2月22日に出願された国際特許出願第PCT/CN2019/075874号、2019年2月24日に出願された国際特許出願第PCT/CN2019/075993号、2019年2月26日に出願された国際特許出願第PCT/CN2019/076195号、2019年3月24日に出願された国際特許出願第PCT/CN2019/079396号、2019年3月25日に出願された国際特許出願第PCT/CN2019/079431号及び国際出願、及び2019年3月26日に出願された国際特許出願第PCT/CN2019/079769号に対する優先権及びこれらの出願の利益を、時宜にかなって主張して為される。米国法の下のあらゆる目的のために、上述の出願の開示全体を、この出願の開示の一部として援用する。
この特許文書は、映像処理技術、装置及びシステムに関する。
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。映像を受信して表示することが可能な接続ユーザ装置の数が増えるにつれて、デジタル映像使用に対する帯域幅需要が増加し続けることが予期される。
デジタル映像処理に関係する装置、システム及び方法が記述されるとともに、例えば、映像符号化におけるクロスコンポーネント線形モデル(cross-component linear model;CCLM)予測モードに関する単純化された線形モデル導出が記載される。記載される方法は、既存の映像符号化標準(例えば、HEVC(High Efficiency Video Coding)及び将来の映像符号化標準(例えば、VVC(Versatile Video Coding))若しくはコーデックの双方に適用され得る。
代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップであり、Wは整数である、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、H個の利用可能な、前記現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、2つ又は4つのクロマサンプル及び/又は対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、位置ルールに基づいてクロマサンプルを選択するステップであり、前記クロマサンプルは、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記位置ルールは、前記現在映像ブロックの上の行及び/又は左の列内に位置するクロマサンプルを選択するように規定する。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、ルマサンプルがダウンサンプリングされる位置を決定するステップであり、前記ダウンサンプリングされたルマサンプルは、クロマサンプル及びダウンサンプリングされたルマサンプルに基づいてクロスコンポーネント線形モデル(CCLM)のパラメータを決定するために使用され、前記ダウンサンプリングされたルマサンプルは、前記CCLMの前記パラメータを導出するために使用される前記クロマサンプルの位置に対応する位置にある、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックに関連する符号化条件に基づいて、クロマサンプル及びルマサンプルを用いてクロスコンポーネント線形モデル(CCLM)のパラメータを導出する方法を決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの左の隣接ブロック及び上の隣接ブロックの利用可能性に基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用されるルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値を導出すべきかを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
更なる他の代表的な一態様において、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体に格納される。
更なる他の代表的な一態様において、上述の方法を実行するように構成された又は動作可能な装置が開示される。当該装置は、この方法を実装するようにプログラムされたプロセッサを含み得る。
更なる他の代表的な一態様において、ビデオデコーダ装置が、ここに記載される方法を実装し得る。
開示される技術の上述の及び他の態様及び特徴が、図面、明細書、及び特許請求の範囲に更に詳細に記載される。
クロスコンポーネント予測で使用される線形モデルの重みの導出に使用されるサンプルの位置の一例を示している。 隣接サンプルを2つのグループに分類することの一例を示している。 クロマサンプル及びその対応するルマサンプルの一例を示している。 共同探索モデル(JEM)におけるクロスコンポーネント線形モデル(CCLM)に関するダウンフィルタリングの一例を示している。 線形モデルに基づく予測に上隣接サンプルのみが使用されることの一例を示している。 線形モデルに基づく予測に左隣接サンプルのみが使用されることの一例を示している。 対応するクロマサンプルの関数としての最小ルマ値と最大ルマ値との間の直線の一例を示している。 現在クロマブロック及びその隣接サンプルの一例を示している。 左隣接サンプルのみを用いる線形モデル(LM-L)及び上隣接サンプルのみを用いる線形モデル(LM-A)によって予測されるクロマブロックの異なる部分の一例を示している。 左上隣接ブロックの一例を示している。 線形モデルを導出するのに使用されるサンプルの一例を示している。 現在ブロックに対する左及び左下の列並びに右及び右上の行の一例を示している。 現在ブロック及びその参照サンプルの一例を示している。 左及び上の両方の隣接参照サンプルが利用可能であるときの2つの隣接サンプルの例を示している。 上の隣接参照サンプルのみが利用可能であるときの2つの隣接サンプルの例を示している。 左の隣接参照サンプルのみが利用可能であるときの2つの隣接サンプルの例を示している。 左及び上の両方の隣接参照サンプルが利用可能であるときの4つの隣接サンプルの例を示している。 LM導出で使用されるルックアップテーブルの一例を示している。 64個のエントリを用いるLMパラメータ導出プロセスの一例を示している。 図18A及び18Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図18A及び18Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図19A及び19Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図19A及び19Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図20A-20Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図20A-20Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図20A-20Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。 図21A及び21Bは、本文書に記載されるビジュアルメディア復号技術又はビジュアルメディア符号化技術を実装するためのハードウェアプラットフォームの例のブロック図である。 図21A及び21Bは、本文書に記載されるビジュアルメディア復号技術又はビジュアルメディア符号化技術を実装するためのハードウェアプラットフォームの例のブロック図である。 図22A及び22Bは、4個のエントリを用いるLMパラメータ導出プロセスの例を示しており、図22Aは、上及び左の両方の隣接サンプルが利用可能で場合の一例を示している。 図22A及び22Bは、4個のエントリを用いるLMパラメータ導出プロセスの例を示しており、図22Bは、上のみの隣接サンプルが利用可能であり且つ右上が利用可能でない場合の一例を示している。 LICパラメータを導出するための隣接サンプルの例を示している。
より高い解像度の映像に対する高まる要求により、映像符号化方法及び技術は、現代技術においてどこにでも見られるものになっている。映像コーデックは、典型的に、デジタル映像を圧縮又は解凍する電子回路又はソフトウェアを含み、より高い符号化効率を提供するために絶えず改良されている。映像コーデックは、圧縮されていない映像を圧縮フォーマットに変換し、又はその逆の変換を行う。映像品質、映像を表現するために使用されるデータの量(ビットレートによって決定される)、符号化及び復号のアルゴリズムの複雑さ、データ損失及び誤差に対する感度、編集の容易さ、ランダムアクセス、及びエンド・ツー・エンド遅延(レイテンシ)の間に複雑な関係がある。圧縮フォーマットは、通常、例えばHEVC(High Efficiency Video Coding)標準(H.265又はMPEG-H Part2としても知られている)、成立されることになるVVC(Versatile Video Coding)標準、又は他の現在及び/又は将来の映像符号化標準といった、標準映像圧縮仕様に準拠する。
開示される技術の実施形態は、ランタイム性能を改善するために、既存の映像符号化標準(例えば、HEVC、H.265)及び将来の標準に適用され得る。本文書では、説明の読みやすさを向上させるためにセクション見出しを使用するが、それらセクション見出しは、説明又は実施形態(及び/又は実装)をそれぞれのセクションのみに限定するものではない。
1 クロスコンポーネント予測の実施形態
クロスコンポーネント予測は、複雑性と圧縮効率改善との間にバランスの良いトレードオフを持つクロマ(chroma)・ツー・ルマ(luma)予測アプローチの一形態である。
1.1 クロスコンポーネント線形モデル(CCLM)の例
一部の実施形態において、また、クロスコンポーネント冗長性を低減させるために、クロスコンポーネント線形モデル(cross-component linear model;CCLM)予測モード(LMとしても参照される)がJEMにおいて使用され、そこでは、クロマサンプルが、以下:
Figure 2022521698000002

の線形モデルを使用することによって、同じCUの再構成されたルマサンプルに基づいて予測される。
ここで、pred(i,j)は、CU内の予測クロマサンプルを表し、recL’(i,j)は、カラーフォーマット4:2:0又は4:2:2の場合に、同じCUのダウンサンプリングされた再構成ルマサンプルを表し、recL’(i,j)は、カラーフォーマット4:4:4の場合には、同じCUの再構成ルマサンプルを表す。CCLMパラメータα及びβは、
Figure 2022521698000003
及び
Figure 2022521698000004

のように、現在ブロックの周りの隣接する再構成ルマ及びクロマサンプル間の回帰誤差を最小化することによって導出される。
ここで、L(n)はダウンサンプリングされた(カラーフォーマット4:2:0又は4:2:2の場合)又はオリジナルの(カラーフォーマット4:4:4の場合)の上及び左の隣接する再構成ルマサンプルを表し、C(n)は上及び左の隣接する再構成クロマサンプルを表し、Nの値は現在クロマ符号化ブロックの幅及び高さの最小値の2倍に等しい。
一部の実施形態において、正方形の形状の符号化ブロックに対して、上記の2つの等式が直接適用される。他の実施形態において、正方形ではない符号化ブロックに対して、先ず、長い方の境界の隣接サンプルが、短い方の境界に対してと同数のサンプルを有するようにサブサンプリングされる。図1は、CCLMモードに関与する現在ブロックのサンプル並びに左及び上の再構成サンプルの位置を示している。
一部の実施形態において、この回帰誤差最小化計算は、単にエンコーダ探索処理としてではなく、復号プロセスの一部として実行され、それ故に、α及びβ値を伝達するために使用される構文はない。
一部の実施形態において、CCLM予測モードはまた、2つのクロマコンポーネント間の予測を含み、例えば、Cr(赤色差)コンポーネントがCb(青色差)コンポーネントから予測される。再構成サンプル信号を使用する代わりに、CCLM Cb・ツー・Cr予測が残差ドメインで適用される。これは、重み付けた再構成Cb残差を元のCrイントラ予測に付加して最終的なCr予測:
Figure 2022521698000005

を形成することによって実行される。
ここで、resiCb’(i,j)は、位置(i,j)における再構成Cb残差サンプルを示す。
一部の実施形態において、スケーリング係数αが、CCLMルマ・ツー・クロマ予測においてと同様のやり方で導出され得る。唯一の違いは、誤差関数におけるデフォルトのα値に対する回帰コストの付加であり、その結果、導出されるスケーリング係数は:
Figure 2022521698000006
のように、-0.5のデフォルト値の方にバイアスされる。
ここで、Cb(n)は、隣接する再構成Cbサンプルを表し、Cr(n)は、隣接する再構成Crサンプルを表し、λは、Σ(Cb(n)・Cb(n))>>9に等しい。
一部の実施形態において、CCLMルマ・ツー・クロマ予測モードは、1つの更なるクロマイントラ予測モードとして追加される。エンコーダ側で、クロマイントラ予測モードを選択するために、クロマコンポーネントに対するRDコストチェックをもう1つ追加される。CCLMルマ・ツー・クロマ予測モード以外のイントラ予測モードがCUのクロマコンポーネントに使用される場合、CCLM Cb・ツー・Cr予測がCrコンポーネント予測に使用される。
1.2 複数モデルCCLMの例
JEMにおいては、単一モデルCCLMモードと複数モデルCCLMモード(MMLM)という2つのCCLMモードが存在する。名称によって示されるように、単一モデルCCLMモードは、CU全体についてルマサンプルからクロマサンプルを予測するために1つの線形モデルを使用するのに対し、MMLMでは2つのモデルが存在することができる。
MMLMでは、現在ブロックの隣接ルマサンプル及び隣接クロマサンプルが2つのグループに分類され、各グループが、線形モデルを導出するための訓練セットとして使用される(すなわち、特定のグループに対して特定のα及びβを導出される)。さらに、現在ルマブロックのサンプルも、隣接ルマサンプルの分類と同じルールに基づいて分類される。
図2は、隣接サンプルを2つのグループに分類する一例を示している。隣接する再構成ルマサンプルの平均値として閾値(Threshold)が計算される。Rec’L[x,y]≦Thresholdである隣接サンプルはグループ1に分類され、Rec’L[x,y]>Thresholdである隣接サンプルはグループ2に分類される。
Figure 2022521698000007
1.3 CCLMにおけるダウンサンプリングフィルタの例
一部の実施形態において、4つのルマサンプルが1つのクロマサンプルに対応する4:2:0クロマフォーマットについて、クロマ予測を実行するために、再構成ルマブロックは、クロマ信号のサイズに一致するようにダウンサンプリングされる必要がある。CCLMモードで使用されるデフォルトのダウンサンプリングフィルタは、以下:
Figure 2022521698000008
のとおりである。
ここで、ダウンサンプリングは、ルマサンプルの位置に対するクロマサンプルの位置について、例えば水平方向のコロケートサンプリング及び垂直方向の格子間サンプリングといった、図3Aに示すような“タイプ0”位相関係を仮定する。
(6)で規定される例示的な6タップダウンサンプリングフィルタが、単一モデルCCLMモード及び複数モデルCCLMモードの双方でデフォルトフィルタとして使用される。
一部の実施形態において、MMLMモードの場合に、エンコーダは、CUにおける予測に適用されるよう、4つの追加のルマダウンサンプリングフィルタのうちの1つを選択的に選択し、それらのうちのどれが使用されるかを指し示すフィルタインデックスを送信することができる。図3Bに示すような、MMLMモードのための4つの選択可能なルマダウンサンプリングフィルタは、以下:
Figure 2022521698000009
のとおりである。
1.4 多方向LM (MDLM)
この既存の実装は、多方向(multi-directional)LM(MDLM)を提案する。MDLMでは、2つの更なるCCLMモードが提案され、すなわち、図4Aに示すように線形モデルパラメータが上(top又はabove)の隣接サンプルのみに基づいて導出されるLM-A、及び図4Bに示すように線形モデルパラメータが左の隣接サンプルのみに基づいて導出されるLM-Lが提案される。
1.5 クロスコンポーネント線形モデルの単純化
この既存の実装は、線形モデルパラメータαとβのLMSアルゴリズムを直線方程式、いわゆる二点法、に置き換えることを提案する。二点(LumaとChromaのカップル)(A、B)は、図5に示すように、隣接Lumaサンプルの集合内の最小値と最大値である。
ここで、線形モデルパラメータαとβは、以式:
α=(y-y)/(x-x)、及びβ=y-αx
に従って得られる。
一部の実施形態において、αの導出に必要な除算演算が回避され、以下のようなに乗算及びシフトによって置き換えられる:
a=0;
Shift=16;
intshift=(uiInternalBitDepth>8)?uiInternalBitDepth-9:0;
intadd=shift?1<<(shift-1):0;
intdiff=(MaxLuma-MinLuma+add)>>shift;
if(diff>0)
{
intdiv=((MaxChroma-MinChroma)*g_aiLMDivTableLow[diff-1]+32768)>>16;
a=(((MaxChroma-MinChroma)*g_aiLMDivTableHigh[diff-1]+div+add)>>shift);
}
b=MinLuma[1]-((a*MinLuma[0])>>iShift);
ここで、SはiShiftに等しく設定され、αはaに等しく設定され、βはbに等しく設定される。また、g_aiLMDIVTableLow及びg_ailLMDIVTableHighは、各々が512個のエントリを持つ2つのテーブルであり、各エントリが16ビット整数を格納する。
クロマ予測器を導出するために、現行のVTM実装に関して、乗算が、
Figure 2022521698000010
のように、整数演算によって置き換えられる。
シフトSが常に同じ値を持つので、この実装も、現行のVTM実装より単純である。
1.6 VVCにおけるCCLMの例
JEMにおいてと同様のCCLMがVTM-2.0で採用されているが、JEMにおけるMM-CCLMはVTM-2.0で採用されていない。VTM-3.0にはMDLM及び単純化されたCCLMが採用されている。
1.7 JEMにおける局所照明補償の例
局所照明補償(Local Illumination Compensation;LIC)は、スケーリング係数aとオフセットbを用いた、照明変化に関する線形モデルに基づく。また、それは、インターモード符号化される符号化ユニット(CU)ごとに適応的に有効又は無効にされる。
LICがCUに適用される場合、現在CUの隣接するサンプル及びそれらの対応する参照サンプルを使用することによってパラメータa及びbを導出するために、最小二乗誤差法が採用される。より具体的には、図23に例示するように、CUのサブサンプリング(2:1サブサンプリング)された隣接サンプルと、参照ピクチャ内の対応するピクセル(現在CU又は現在サブCUの動き情報によって特定される)とが使用される。各予測方向について別々にICパラメータが導出されて適用される。
CUが2N×2Nマージモードで符号化される場合、マージモードにおける動き情報コピーと同様のやり方で、LICフラグが隣接ブロックからコピーされ、それ以外の場合には、CUについて、LICが適用されるか否かを指し示すために、LICフラグが信号伝達される。
LICがピクチャに対して有効にされる場合、CUにLICが適用されるか否かを決定するために追加のCUレベルのRDチェックが必要とされる。LICがCUに対して有効にされる場合、整数ピクセル動き探索及び分数ピクセル動き探索のために、それぞれ、絶対差の平均除去和(mean-removed sum of absolute difference;MR‐SAD)及び絶対アダマール変換差の平均除去和(mean-removed sum of absolute Hadamard-transformed difference;MR‐SATD)が、SAD及びSATDの代わりに使用される。
符号化の複雑さを低減させるために、JEMでは、現在ピクチャとその参照ピクチャとの間に明白な照明変化がないときにはピクチャ全体に対してLICが無効にされる、という符号化スキームが適用される。この状況を特定するために、現在ピクチャのヒストグラム及び現在ピクチャの全ての参照ピクチャのヒストグラムがエンコーダで計算される。現在ピクチャと現在ピクチャの全ての参照ピクチャとの間でヒストグラム差が所与の閾値より小さい場合、現在ピクチャに対してLICが無効にされ、それ以外の場合には、現在ピクチャに対してLICが有効にされる。
2 既存の実装における欠点の例
現行の実装は、JEMにおけるLMモードのLMSアプローチを置き換えるように二点法を導入している。この新たな方法はCCLMにおける加算及び乗算の数を減少させるが、以下の問題を導入する。
1) 最小及び最大のルマ値を見つけるために比較が導入され、これは、単一命令複数データ(SIMD)ソフトウェア設計にフレンドリーでない。
2) 16ビット数を格納する合計で1024エントリを持つ2つのルックアップテーブルが導入され、ハードウェア設計において望ましくない2K ROMメモリを要求する。
映像符号化におけるクロスコンポーネント予測のための例示的な方法
ここで開示される技術の実施形態は、既存の実装の欠点を克服し、それにより、より高い符号化効率及びより低い計算複雑性を有する映像符号化を提供する。開示される技術に基づく、クロスコンポーネント予測のための単純化された線形モデル導出は、既存の及び将来の映像符号化標準の双方を強化することができ、種々の実装に関して説明される以下の例にて明らかになる。以下に提供される開示技術の例は、一般的概念を説明するものであり、限定するものとして解釈されることを意味するものではない。一例において、そうでないことが明示的に示されない限り、これらの例にて説明される様々な特徴は組み合わされることができる。
以下の例及び方法において、用語“LM法”は、以下に限られないが、JEM又はVTMにおけるLMモード、JEMにおけるMMLMモード、線形モデルを導出するために左の隣接サンプルのみを使用する左LMモード、線形モデルを導出するために上の隣接サンプルのみを使用する上LMモード、又はクロマ予測ブロックを導出するためにルマ再構成サンプルを利用する他の種類の方法を含む。LM-LでもLM-Aでもない全てのLMモードを、通常LMモードと呼ぶ。
以下の例及び方法において、Shift(x,s)は、Shift(x,s)=(x+off)>>sとして定義され、SignShift(x,s)は、
Figure 2022521698000011
として定義される。
ここで、offは、例えば0又は2s-1などの整数である。
現在クロマブロックの高さと幅を、それぞれ、H及びWと表記する。
図6は、現在のクロマブロックの隣接サンプル群の一例を示している。現在クロマブロックの左上のサンプルの座標を(x,y)として表記することとする。すると、(図6に示す)隣接クロマサンプル群は、
A:左側の上サンプル:[x-1,y]、
B:左側の上中間サンプル:[x-1,y+H/2-1]、
C:左側の下中間サンプル:[x-1,y+H/2]、
D:左側の下サンプル:[x-1,y+H-1]、
E:左側の下拡張上サンプル:[x-1,y+H]、
F:左側の下拡張上中間サンプル:[x-1,y+H+H/2-1]、
G:左側の下拡張下中間サンプル:[x-1,y+H+H/2]、
I:左側の下拡張下サンプル:[x-1,y+H+H-1]、
J:上側の左サンプル:[x,y-1]、
K:上側の左中間サンプル:[x+W/2-1,y-1]、
L:上側の右中間サンプル:[x+W/2,y-1]、
M:上側の右サンプル:[x+W-1,y-1]、
N:上側の上拡張左サンプル:[x+W,y-1]、
O:上側の上拡張左中間サンプル:[x+W+W/2-1,y-1]、
P:上側の上拡張右中間サンプル:[x+W+W/2,y-1]、及び
Q:上側の上拡張右サンプル:[x+W+W-1,y-1]
として表記される。
例1. LM法におけるパラメータα及びβは、2つ以上の特定の位置のクロマサンプルから導出される。
a. 導出は、選択されたクロマサンプルの対応するダウンサンプリングされたルマサンプルにも依存する。あるいは、導出は、例えばそれが4:4:4カラーフォーマットである場合などに、選択されたクロマサンプルの対応するルマサンプルにも依存する。
b. 例えば、CCLMにおけるパラメータα及びβは、例えば2(例えば、S=2又は3)の位置のクロマサンプルから導出され、例えば:
i. 位置{A,D,J,M};
ii. 位置{A,B,C,D,J,K,L,M};
iii.位置{A,I,J,Q};
iv.位置{A,B,D,I,J,K,M,Q};
v.位置{A,B,D,F,J,K,M,O};
vi.位置{A,B,F,I,J,K,O,Q};
vii.位置{A,C,E,I,J,L,N,Q};
viii.位置{A,C,G,I,J,L,P,Q};
ix.位置{A,C,E,G,J,L,N,P};
x.位置{A,B,C,D};
xi.位置{A,B,D,I};
xii.位置{A,B,D,F};
xiii.位置{A,C,E,I};
xiv.位置{A,C,G,I};
xv.位置{A,C,E,G};
xvi.位置{J,K,L,M};
xvii.位置{J,K,M,Q};
xviii.位置{J,K,M,O};
xix.位置{J,K,O,Q};
xx.位置{J,L,N,Q};
xxi.位置{J,L,P,Q};
xxii.位置{J,L,N,P};
xxiii.位置{A,B,C,E,E,F,G,I};
xxiv.位置{J,K,L,M,N,O,P,Q};
などから導出される。
c. 例えば、CCLMにおけるパラメータα及びβは、以下の位置のクロマサンプルから導出される:
i. 例えば以下などの、{A,B,C,D,E,F,G,I}と{J,K,L,M,N,O,P,Q}との間の任意の組み合わせ
(a)位置A及びJ;
(b)位置B及びK;
(c)位置C及びL;
(d)位置D及びM;
(e)位置E及びN;
(f)位置F及びO;
(g)位置G及びP;
(h)位置I及びQ;
ii. {A,B,C,D,E,F,G}からフェッチされる任意の2つの異なる位置
(a)位置A及びB;
(b)位置A及びC;
(c)位置A及びD;
(d)位置A及びE;
(e)位置A及びF;
(f)位置A及びG;
(g)位置A及びI;
(h)位置D及びB;
(i)位置D及びC;
(j)位置E及びB;
(k)位置E及びC;
(l)位置I及びB;
(m)位置I及びC;
(n)位置I及びD;
(o)位置I及びE;
(p)位置I及びF;
(q)位置I及びG;
iii. {J,K,L,M,N,O,P,Q}からフェッチされる任意の2つの異なる位置
(a)位置J及びK;
(b)位置J及びL;
(c)位置J及びM;
(d)位置J及びN;
(e)位置J及びO;
(f)位置J及びP;
(g)位置J及びQ;
(h)位置M及びK;
(i)位置M及びL;
(j)位置N及びK;
(k)位置N及びL;
(l)位置Q及びK;
(m)位置Q及びL;
(n)位置Q及びM;
(o)位置Q及びN;
(p)位置Q及びO;
(q)位置Q及びP;
(r)位置Q及びQ;
iv. 一例において、2つの選択された位置が同じルマ値を持つ場合、もっと多くの位置が更にチェックされ得る。
d. 例えば、二点法でCCLMにおけるパラメータα及びβを導出するために、利用可能な全てのクロマサンプルが、最小及び最大のルマ値を見つけるために検索されるわけではない。
i. K個のクロマサンプル(及びそれらの対応するダウンサンプリングされたルマサンプル)のうちの1つのクロマサンプルが、探索用の集合トに含まれられる。Kは、2、4、6又は8とし得る。
(a)例えば、Rec[x,y]が上の隣接サンプルである場合、それは、x%K==0の場合にのみ検索用の集合に含められる。Rec[x,y]が左の隣接サンプルである場合、それは、y%K==0の場合にのみ検索用の集合に含められる。
ii. 例えば1.a.i.-1.a.xxivで規定したものなどの特定の位置にあるクロマサンプルのみが検索用の集合に含められる。
e. モードLM-Lでは、選択される全てのサンプルが左の隣接サンプルでなければならない。
f. モードLM-Aでは、選択される全てのサンプルが上の隣接サンプルでなければならない。
g. 選択される位置は固定されてもよいし、適応的にされてもよい。
i. 一例において、どの位置が選択されるかは、現在クロマブロックの幅及び高さに依存し得る;
ii. 一例において、どの位置が選択されるかは、例えばVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU/PU内などで、エンコーダからデコーダに信号伝達され得る。
h. 式(2)及び式(3)に示した最小二乗平均法でパラメータα及びβを導出するために、選択されたクロマサンプルが使用される。式(2)及び式(3)において、Nは、選択されたサンプルの数に設定される。
i. 二点法でパラメータα及びβを導出するために、一対の選択されたクロマサンプルが使用される。
j. 一例において、サンプルをどのように選択するかは、隣接ブロックの利用可能性に依存し得る。
i. 例えば、左及び上の双方の隣接ブロックが利用可能である場合には、位置A、D、J及びMが選択され、左の隣接ブロックのみが利用可能である場合には、位置A及びDが選択され、そして、上の隣接ブロックのみが利用可能である場合には、位置J及びMが選択される。
例2. CCLMモードにおけるパラメータのセットが、先ず導出され、次いで結合されることで、1つのブロックを符号化するのに使用される最終的な線形モデルパラメータを形成することができる。α及びβが、グループ1と表記される特定の位置のクロマサンプルのグループから導出され、α及びβが、グループ2と表記される特定の位置のクロマサンプルのグループから導出され、α及びβが、グループNと表記される特定の位置のクロマサンプルのグループから導出されるとすると、最終的なα及びβは、(α,β)、…、(α,β)から導出されることができる。
a. 一例において、αは、α、…、αの平均として計算され、βは、β、…、βの平均として計算される。
i. 一例において、α=SignShift(α+α,1)、β=SignShift(β+β,1)である。
ii. 一例において、α=Shift(α+α,1)、β=Shift(β+β,1)である。
iii. (α,β)と(α,β)とが異なる精度を有する場合、例えば、クロマ予測CPをその対応するダウンサンプリングされたルマサンプルLRから得るために、それは、
(α,β)を用いて、CP=SignShift(α×LR+β,SH
として計算されるが、
(α,β)を用いると、CP=SignShift(α×LR+β,SH)として計算され、ShはShに等しくなく、パラメータは結合される前にシフトされる必要がある。Sh>Shとすると、結合される前に、パラメータは、
(a)α=SignShift(α,Sh-Sh)、β=SignShift(β,Sh-Sh)のようにシフトされるべきである。すると、最終的な精度は(α,β)となる。
(b)α=Shift(α,Sh-Sh)、β=Shift(β,Sh-Sh)のようにシフトされるべきである。すると、最終的な精度は(α,β)となる。
(c)α=α<<(Sh-Sh)、β=β<<(Sh-Sh)のようにシフトされるべきである。すると、最終的な精度は(α,β)となる。
b. グループ1及びグループ2の位置の一部の例:
i. グループ1:位置A及びD、グループ2:位置J及びM
ii. グループ1:位置A及びI、グループ2:位置J及びQ
iii. グループ1:位置A及びD、グループ2:位置E及びIであり、2つのグループがモードLM-Lに使用される
iv. グループ1:位置J及びM、グループ2:位置N及びQであり、2つのグループがモードLM-Aに使用される
v. グループ1:位置A及びB、グループ2:位置C及びDであり、2つのグループがモードLM-Lに使用される
vi. グループ1:位置J及びK、グループ2:位置L及びMであり、2つのグループがモードLM-Aに使用される。
例3. C0及びC1と表記される2つのクロマサンプル値と、L0及びL1(L0<L1)と表記されるそれらの対応するルマサンプル値とが入力であるとする。二点法は、これらの入力を用いて、
α=(C1-C0)/(L1-L0)、及びβ=C0-αL0
として、α及びβを導出することができる。
ルマサンプル及びクロマサンプルのビット深度は、BL及びBCと表記される。この実装のための1つ以上の単純化は、
a. L1がL0に等しい場合、αは0として出力される。あるいは、L1がL0に等しい場合、CCLMモードを使用する代わりに、特定のイントラ予測モード(例えば、DMモード、DC又はプレーナ)を使用して、予測ブロックを導出する。
b. 除算演算は、ルックアップテーブルを用いない他の演算に置き換えられる。log2演算は、最上位の桁の位置をチェックすることによって実行され得る。
i. α=Shift(C1-C0,Floor(log(L1-L0)))、又は
α=SignShift(C1-C0,Floor(log(L1-L0)))
ii. α=Shift(C1-C0,Ceiling(log(L1-L0)))、又は
α=SignShift(C1-C0,Ceiling(log(L1-L0)))
iii. L1-L0の値に基づいて例i又は例iiが選択され得る。
(a)例えば、L1-L0<Tである場合に例iが使用され、それ以外の場合には例iiが使用される。例えば、Tは、
(Floor(log(L1-L0))+Ceiling(log(L1-L0)))/2
とされることができる。
(b)例えば、3×(L1-L0)<2Floor(log2(L1-L0))+2である場合に例iが使用され、それ以外の場合には例iiが使用される。
(c)例えば、(L1-L0)<22×Floor(log2(L1-L0))+1である場合に例iが使用され、それ以外の場合には例iiが使用される。
c. 除算演算は、M[k]と表記される1つのルックアップテーブルによって置き換えられる。
i. Vとして表記されるルックアップテーブルのサイズは2より小さく、ここで、Pは、例えば5、6、又は7などの整数である。
ii. ルックアップテーブルの各エントリが、Fビット整数を格納し、例えば、F=8又は16である。
(a)一例において、M[k-Z]=((1<<S)+Off)/kであり、ここで、Sは精度を定める整数であり、例えば、S=Fである。Offはオフセットであり、例えば、Off=(k+Z)>>1である。Zはテーブルの開始値を定め、例えば、Z=1、又はZ=8、又はZ=32などである。テーブルを照会する有効なキーkは、k>=Zを満たさなければならない。
iii. k=Shift(L1-L0,W)が、ルックアップテーブルを照会するためのキーとして使用される。
(a)一例において、Wは、BL、V、及びZに依存する。
(b)一例において、Wは、L1-L0の値にも依存する。
iv. kがルックアップテーブルを照会するための有効なキーでない(k-Z<0、又はk-Z>=V)場合、αは0として出力される。
v. 例えば、
α=Shift((C1-C0)×M[k-Z],D)、又は
α=SignShift((C1-C0)×M[k-Z],D)
vi. クロマ予測CPをその対応する(例えば、4:2:0の場合にダウンサンプリングされた)ルマサンプルLRから得るために、それが、以下のように計算される:
CP=SignShift(α×LR+β,Sh)、又は
CP=Shift(α×LR+β,Sh)
vii. Shは固定された数であってもよいし、α及びベータを計算するために用いられたC0、C1、L0、L1の値に依存してもよい。
(a)ShはBL、BC、V、S及びDに依存し得る。
(b)DはShに依存し得る。
viii. Vとして表記されるルックアップテーブルのサイズは2に等しく、ここで、Pは、例えば5、6、7又は8などの整数である。あるいは、Vは2P-Mに設定される(例えば、Mは0に等しい)。
ix. α=P/Q(例えば、Q=L1-L0、P=C1-C0、又はこれらは他の方法で導出される)と仮定すると、αは、ルックアップテーブルを用いて、α=Shift(P×M[k-Z],D)、又はα=SignShift(P×M[k-Z],D)として計算され、ここで、kは、ルックアップテーブル内のエントリを照会するためのキー(インデックス)である。
(a)一例において、kは、関数:k=f(Q)を用いて、Qから導出される。
(b)一例において、kは、関数:k=f(Q,P)を用いて、Q及びPから導出される。
(c)一例において、kは、特定の範囲[kMin,kMax]内で有効である。例えば、kMin=Z、kMax=V+Zである。
(d)一例において、k=Shift(Q,W)であり、
a. Wは、BL、V、及びZに依存し得る。
b. Wは、Qの値に依存し得る。
c. 一例において、kがShift(Q,W)として計算される場合、αは、ルックアップテーブルを用いて、
α=(Shift(P×M[k-Z],D))<<W、又は
α=(SignShift(P×M[k-Z],D))<<W
として計算される。
(e)一例において、kは、異なるQの値で異なる方法で導出される。
a. 例えば、Q<=kMaxのときにはk=Qであり、Q>kMaxのときにはk=Shift(Q,W)である。例えば、Wは、Shift(Q,W)をkMax以下にする最小の正の整数として選択される。
b. 例えば、k=Min(kMax,Q)である。
c. 例えば、k=Max(kMin,Min(kMax,Q))である。
(f)一例において、Q<0の場合、-Qが、計算におけるQを置き換えるように使用される。そして、-αが出力される。
(g)一例において、Qが0に等しい場合、αは、例えば0又は1などのデフォルト値に設定される。
(h)一例において、Qが2E>=0に等しい場合、α=Shift(P,E)又はα=SignShift(P,E)とされる。
d. LMパラメータを導出するための全ての演算がKビット以内でなければならず、Kは、8、10、12、16、24又は32とすることができる。
i. 中間変数が、制約ビットによって表される範囲を超え得る場合、それは、制約ビット内にあるように、クリッピング又は右シフトされるべきである。
例4. 1つの単一クロマブロックが複数の線形モデルを使用してもよく、複数の線形モデルの選択は、クロマブロック内のクロマサンプルの位置に依存する。
a. 一例において、単一のクロマブロック内でLM-LモードとLM-Aモードとを組み合わせることができる。
b. 一例において、一部のサンプルはLM-Lモードで予測され、他のサンプルはLM-Aモードで予測される。
i. 図7は一例を示している。左上のサンプルが位置(0,0)にあるとする。x>y(又はx>=y)である位置(x,y)のサンプルはLM-Aによって予測され、他のサンプルはLM-Lによって予測される。
c. 位置(x,y)のサンプルに対するLM-L及びLM-Aでの予測を、それぞれ、P1(x,y)及びP2(x,y)とすると、最終的な予測P(x,y)は、P1(x,y)とP2(x,y)との加重和として計算される。
i. P(x,y)=w1*P1(x,y)+w2*P2(x,y)
(a)w1+w2=1
ii. P(x,y)=(w1*P1(x,y)+w2*P2(x,y)+Offset)>>shiftであり、ここで、offsetは、0又は1<<(shift-1)であり、shiftは、例えば1、2、3、…などの整数である。
(a)w1+w2=1<<shift
iii. P(x,y)=(w1*P1(x,y)+((1<<shift)-w1)*P2(x,y)+Offset)>>shiftであり、ここで、offsetは、0又は1<<(shift-1)であり、shiftは、例えば1、2、3、…などの整数である。
iv. w1及びw2は位置(x,y)に依存し得る。
(a)例えば、x<yの場合、w1>w2(例えば、w1=3、w2=1)、
(b)例えば、x>yの場合、w1<w2(例えば、w1=1、w2=3)、
(c)例えば、x==yの場合、w1=w2(例えば、w1=2、w2=2)、
(d)例えば、x<yのときにy-xが増加する場合、w1-w2が増加する、
(e)例えば、x>yのときにx-yが増加する場合、w2-w1が増加する。
例5. 隣接するサンプル(クロマサンプルとその対応するルマサンプルを含み、それらはダウンサンプリングされることがある)をN個のグループに分割することが提案される。k番目(k=0,1,…,N-1)のグループの最大ルマ値及び最小ルマ値がMaxL及びMinLと表記され、それらの対応するクロマ値がそれぞれMaxC及びMinCと表記される。
a. 一例において、MaxLは、MaxL=f1(MaxLS0,MaxLS1,…,MaxLSm)として計算され、MaxCは、MaxC=f2(MaxCS0,MaxCS1,…,MaxCSm)として計算され、MinLは、MinL=f3(MinLS0,MinLS1,…,MinLSm)として計算される。MinCは、MinC=f4(MinCS0,MinCS1,…,MinCSm)として計算される。f1、f2、f3及びf4は関数である。二点法は、これら入力を用いて、α及びβを以下のように計算する:
α=(MaxC-MinC)/(MaxL-MinL)
β=MinC-αMinL
i. 一例において、f1、f2、f3、f4は全て平均化関数を表す。
ii. S0、S1、…、Smは、α及びβを計算するために使用される選択されたグループのインデックスである。
(1)例えば、全てのグループが使用され、例えば、S0=0、S1=1、…、Sm=N-1である。
(2)例えば、2つのグループが使用され、例えば、m=1、S0=0、S1=N-1である。
(3)例えば、全てのグループが使用されるわけではなく、例えば、m<N-1、S0=0、S1=2、S3=4、…などである。
b. 一例において、上の行に位置するサンプル(又はダウンサンプリングされたサンプル)が1つのグループに分類され得るとともに、ブロックの左の列に位置するサンプル(又はダウンサンプリングされたサンプル)が別のグループに分類され得る。
c. 一例において、サンプル(又はダウンサンプリングされたサンプル)は、それらの位置又は座標に基づいて分類される。
i. 例えば、サンプルは、2つのグループに分類され得る。
(1)上の行に位置する座標(x,y)のサンプルについて、それは、x%P=Qの場合にグループS0に分類され、ここで、P及びQは整数であり、例えば、P=2、Q=1、P=2、Q=0、又はP=4、Q=0であり、そうでない場合にはグループS1に分類される。
(2)左の列に位置する座標(x,y)のサンプルについて、それは、y%P=Qの場合にグループS0に分類され、ここで、P及びQは整数であり、例えば、P=2、Q=1、P=2、Q=0、又はP=4、Q=0であり、そうでない場合にはグループS1に分類される。
(3)例えばS0など、1つのグループ内のサンプルのみが、MaxC及びMaxLを見つけるために使用される。例えば、MaxL=MaxLS0、及びMaxC=MaxCS0である。
d. 一例において、隣接するサンプル(又はダウンサンプリングされたサンプル)のうちの一部のみが、Nグループに分割されるのに使用される。
e. グループの数(例えば、N)及び/又は選択されるグループのインデックス及び/又は関数(f1/f2/f3/f4)は、予め規定されてもよいし、あるいは、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU群/LCU/CU内で信号伝達されてもよい。
f. 一例において、各グループのサンプルをどのように選択するかは、隣接ブロックの利用可能性に依存し得る。
i. 例えば、左及び上の両方の隣接ブロックが利用可能である場合、MaxL/MaxC及びMinL/MinCは位置A及びDから見出され、MaxL/MaxC及びMinL/MinCは位置J及びMから見出され、そして、MaxL=(MaxL+MaxL)/2、MaxC=(MaxC+MaxC)/2、MinL=(MinL+MinL)/2、MinC=(MinC+MinC)/2である。
ii. 例えば、左の隣接ブロックのみが利用可能である場合、MaxL/MaxC及びMinL/MinCは、位置A及びDから直接見出される。
(1)あるいは、上の隣接ブロックが利用可能でない場合に、α及びβは、何らかのデフォルト値に等しく設定される。例えば、α=0、及びβ=1<<(bitDepth-1)であり、ここで、bitDepthは、クロマサンプルのビット深度である。
iii. 例えば、上の隣接ブロックのみが利用可能である場合、MaxL/MaxC及びMinL/MinCは、位置J及びMから直接見出される。
(1)あるいは、左の隣接ブロックが利用可能でない場合に、α及びβは、何らかのデフォルト値に等しく設定される。例えば、α=0、及びβ=1<<(bitDepth-1)であり、ここで、bitDepthは、クロマサンプルのビット深度である。
g. 一例において、各グループのサンプルをどのように選択するかは、ブロックの幅及び高さに依存し得る。
h. 一例において、各グループのサンプルをどのように選択するかは、サンプルの値に依存し得る。
i. 一例において、最大のルマ値及び最小のルマ値を持つ2つのサンプルが、第1のグループにあるように選ばれる。そして、他の全てのサンプルは、第2のグループにあるようにされる。
例6. LM-Lモード及びLM-Aモードを適用するか、及びどのように適用するかが、現在ブロックの幅(W)及び高さ(H)に依存し得ることが提案される。
(a)例えば、W>K×Hの場合にLM-Lは適用されることができず、例えば、K=2である。
(b)例えば、H>K×Wの場合にLM-Aは適用されることができず、例えば、K=2である。
(c)LM-L及びLM-Aのうち一方が適用されることができない場合、LM-L又はLM-Aのどちらが使用されるのかを指し示すフラグは信号伝達されるべきでない。
例7. CCLMモードが適用されるかを指し示すフラグが信号伝達される。フラグを符号化するために算術符号化で使用されるコンテキストは、図8に示す左上の隣接ブロックがCCLMモードを適用するか否かに依存し得る。
(a)一例において、左上の隣接ブロックがCCLMモードを適用する場合、第1のコンテキストが使用され、左上の隣接ブロックがCCLMモードを適用しない場合には、第2のコンテキストが使用される。
(b)一例において、左上の隣接ブロックが利用可能でない場合、そのことは、CCLMモードを適用しないこととみなされる。
(c)一例において、左上の隣接ブロックが利用可能でない場合、そのことは、CCLMモードを適用することとみなされる。
(d)一例において、左上の隣接ブロックがイントラ符号化されていない場合、そのことは、CCLMモードを適用しないこととみなされる。
(e)一例において、左上の隣接ブロックがイントラ符号化されていない場合、そのことは、CCLMモードを適用することとみなされる。
例8. DMモード及びLMモードのインジケーション又はコードワードが、シーケンスごとに/ピクチャごとに/タイルごとに/ブロックごとに異なる順序で符号化され得る。
(a)LM及びDMのインジケーションの符号化順序(例えば、それがLMモードであるかを最初に符号化し、そうでなければ、次いで、それがDMモードであるかを符号化する;あるいは、それがDMモードであるかを最初に符号化し、そうでなければ、次いで、それがLMモードであるかを符号化する)は、1つ又は複数の隣接ブロックのモード情報に依存し得る。
(b)一例において、現在ブロックの左上のブロックが利用可能であり、且つLMモードで符号化されている場合、LMモードのインジケーションが最初に符号化される。
(c)あるいは、現在ブロックの左上のブロックが利用可能であり、且つDMモードで符号化されている場合、DMモードのインジケーションが最初に符号化される。
(d)あるいは、現在ブロックの左上のブロックが利用可能であり、且つ非LM(例えば、DMモード、又はLMを除いた他のイントラ予測モード)で符号化されている場合、DMモードのインジケーションが最初に符号化される。
(e)一例において、この順序のインジケーションは、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU群/LCU/CU内で信号伝達され得る。
例9. 上記の例において、サンプル(又はダウンサンプリングされたサンプル)は、図6に示した2×W個の上の隣接サンプル又は2×H個の左の隣接サンプルの範囲を超えて位置してもよい。
(a)LMモード又はLM-Lモードでは、隣接するサンプルRecC[x-1,y+d]を使用することができ、ここで、dは[T,S]の範囲内である。Tは0より小さくてもよく、Sは2H-1より大きくてもよい。例えば、T=-4、S=3Hである。他の一例において、T=0、S=max(2H,W+H)である。更なる他の一例において、T=0及びS=4Hである。
(b)LMモード又はLM-Aモードでは、隣接するサンプルRecC[x+d,y]を使用することができ、ここで、dは[T,S]の範囲内である。Tは0より小さくてもよく、Sは2W-1より大きくてもよい。例えば、T=-4、S=3Wである。他の一例において、T=0、S=max(2W,W+H)である。更なる他の一例において、T=0及びS=4Wである。
例10. 一例において、クロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)は、例1-7に開示されるように線形モデルパラメータα及びβを導出する前にダウンサンプリングされる。現在クロマブロックの幅及び高さをW及びHとする。
(a)一例において、ダウンサンプリングを行うか、及びそれをどのように行うかは、W及びHに依存し得る。
(b)一例において、現在ブロックの左のパラメータを導出するために使用される隣接サンプルの数と、現在ブロックの上のパラメータを導出するために使用される隣接サンプルの数とが、ダウンサンプリングプロセス後に同じであるべきである。
(c)一例において、WがHに等しい場合、クロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)はダウンサンプリングされない。
(d)一例において、W<Hであるの場合、現在ブロックの左のクロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)がダウンサンプリングされる。
(i)一例において、H/W個のクロマサンプルごとに1つのクロマサンプルが、α及びβを導出するのに使用されるようにピックアップされる。他のクロマサンプルは廃棄される。例えば、R[0,0]が現在ブロックの左上のサンプルを表すとすると、0からW-1までのKに対して、R[-1,K*H/W]が、α及びβを導出するのに使用されるようにピックアップされる。
(e)一例において、W>Hである場合、現在ブロックの上のクロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)がダウンサンプリングされる。
(i)一例において、W/H個のクロマサンプルごとに1つのクロマサンプルが、α及びβを導出するのに使用されるようにピックアップされる。他のクロマサンプルは廃棄される。例えば、R[0,0]が現在ブロックの左上のサンプルを表すとすると、0からH-1までのKに対して、R[K*W/H,-1]が、α及びβを導出するのに使用されるようにピックアップされる。
(ii)図9は、図6の位置D及び位置Mがα及びβを導出するために使用される場合にピックアップされるサンプルと、W>Hである場合に実行されるダウンサンプリングと、の例を示している。
例11. 隣接するダウンサンプリングされた/元の再構成されたサンプル、及び/又はダウンサンプリングされた/元の再構成されたサンプルは更に、線形モデル予測プロセス又はクロスカラーコンポーネント予測プロセスで使用される前に精緻化されてもよい。
(a)“精緻化される”は、フィルタリング処理を指してもよい。
(b)“精緻化される”は、何らかの非線形処理を指してもよい。
(c)例えばα=(C1-C0)/(L1-L0)及びβ=C0-αL0などの、α及びβを導出するために、幾つかの隣接サンプル(クロマサンプル及びそれらの対応するルマサンプルを含み、これらはダウンサンプリングされ得る)をピックアップして、C1、C0、L1及びL0を計算することが提案される。
(d)一例において、Lx1、Lx2、…、LxSとして表記されるS個の隣接ルマサンプル(ダウンサンプリングされ得る)と、Cx1、Cx2、…、CxSとして表記されるそれらの対応するクロマサンプルとが、次のようにC0及びL0を導出するために使用され、Ly1、Ly2、…、LyTとして表記されるT個の隣接ルマサンプル(ダウンサンプリングされ得る)と、Cy1、Cy2、…、CyTとして表記されるそれらの対応するクロマサンプルとが、次のようにC1及びL1を導出するために使用される:
(i)C0=f0(Cx1,Cx2,…,CxS)、L0=f1(Lx1,Lx2,…,LxS)、C1=f2(Cy1,Cy2,…,CyT)、L1=f4(Ly1,Ly2,…,LyT)。f0、f1、f2及びf3は何らかの関数である。
(ii)一例において、f0はf1と同じである。
(iii)一例において、f2はf3と同じである。
(iv)一例において、f0、f1、f2、f3は同じである。
1. 例えば、それらは全て平均化関数である。
(v)一例において、SはTに等しい。
1. 一例において、集合{x1,x2,…,xS}は集合{y1,y2,…,yT}と同じである。
(vi)一例において、Lx1、Lx2、…、LxSは、ルマサンプルのグループのうち最小のS個のルマサンプルとして選択される。
1. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される全ての隣接サンプルを含む。
2. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される一部の隣接サンプルを含む。
a. 例えば、ルマサンプルのグループは、図2-5に示す4つのサンプルを含む。
(vii)一例において、Ly1、Ly2、…、LySは、ルマサンプルのグループのうち最大のS個のルマサンプルとして選択される。
1. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される全ての隣接サンプルを含む。
2. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される一部の隣接サンプルを含む。
a. 例えば、ルマサンプルのグループは、図2-5に示す4つのサンプルを含む。
例12. 隣接サンプル又はダウンサンプリング隣接サンプルの所与の集合内の最大の隣接サンプル又はダウンサンプリング隣接サンプルに基づいて、他の隣接サンプル又はダウンサンプリング隣接サンプルを選択することが提案される。
(a)一例において、最大の隣接サンプル又はダウンサンプリング隣接サンプルが位置(x0,y0)にあると表記する。すると、領域(x0-d1,y0)、(x0,y0-d2)、(x0+d3,y0)、(x0,y0+d4)の中のサンプルを利用して、他のサンプルを選択し得る。整数{d1,d2,d3,d4}は位置(x0,y0)に依存し得る。例えば、(x0,y0)が現在ブロックの左である場合、d1=d3=1、及びd2=d4=0である。(x0,y0)が現在ブロックの上である場合、d1=d3=0、及びd2=d4=1である。
(b)一例において、最小の隣接サンプル又はダウンサンプリング隣接サンプルが位置(x1,y1)にあると表記する。すると、領域(x1-d1,y1)、(x1,y1-d2)、(x1+d3,y1)、(x1,y1+d4)の中のサンプルを利用して、他のサンプルを選択し得る。整数{d1,d2,d3,d4}は位置(x1,y1)に依存し得る。例えば、(x1,y1)が現在ブロックの左である場合、d1=d3=1、及びd2=d4=0である。(x1,y1)が現在ブロックの上である場合、d1=d3=0、及びd2=d4=1である。
(c)一例において、上記サンプルは、1つのカラーコンポーネント(例えば、ルマカラーコンポーネント)のサンプルを表している。CCLM/クロスカラーコンポーネントプロセスで使用されるサンプルは、第2のカラーコンポーネントの対応する座標によって導出され得る。
(d)同様の方法を用いて、最小のサンプルを導出することができる。
例13. 上の例において、ルマとクロマとが交換されてもよい。あるいは、ルマカラーコンポーネントが主カラーコンポーネント(例えば、G)によって置き換えられるとともに、クロマカラーコンポーネントが従カラーコンポーネント(例えば、B又はR)によって置き換えられてもよい。
例14. クロマサンプル(及び/又は対応するルマサンプル)の位置の選択は、符号化されたモード情報に依存し得る。
(a)あるいは、さらに、それは、例えば左の列又は上の行又は右上の行又は左下の列が利用可能であるかなど、隣接サンプルの利用可能性に依存し得る。図10は、ブロックに対して左の列/上の行/右上の行/左下の列の概念を描いている。
(b)あるいは、さらに、それは、例えば最初の右上サンプル及び/又は最初の左下サンプルが利用可能であるかなど、特定の位置にあるサンプルの利用可能性に依存してもよい。
(c)あるいは、さらに、それは、ブロック寸法に依存してもよい。
(i)あるいは、さらに、それは、現在クロマ(及び/又はルマ)ブロックの幅と高さとの間の比に依存してもよい。
(ii)あるいは、さらに、それは、幅及び/又は高さがK(例えば、K=2)に等しいかに依存してもよい。
(d)一例において、現在のモードが通常LMモードである場合、クロマサンプル(及び/又は、ダウンサンプリングされた若しくはダウンサンプリングされていないルマサンプル)を選択するために、以下の方法が適用され得る。
(i)左の列及び上の行の両方が利用可能である場合、左の列の2つのサンプルと、上の行の2つのサンプルとが選択され得る。それらは、(現在ブロックの左上の座標を(x,y)として)以下に位置し得る。
1. (x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-1,y-1)。
2. (x-1,y)、(x,y-1)、(x-1,y+H-H/W-1)、及び(x+W-1,y-1)。例えば、HがWより大きい場合。
3. (x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-W/H-1,y-1)。例えば、HがWより小さい場合。
4. (x-1,y)、(x,y-1)、(x-1,y+H-max(1,H/W))、及び(x+W-max(1,W/H),y-1)。
(ii)上の行のみが利用可能である場合、サンプルは上の行のみから選択される。
1. 例えば、上の行の4つのサンプルが選択され得る。
2. 例えば、2つのサンプルが選択され得る。
3. サンプルをどのように選択するかは、幅/高さに依存し得る。例えば、W>2である場合には4つのサンプルが選択され、W=2である場合には2つのサンプルが選択される。
4. 選択されるサンプルは、(現在ブロックの左上の座標が(x,y)であるとして)以下に位置し得る。
a. (x,y-1)、(x+W/4,y-1)、(x+2*W/4,y-1)、(x+3*W/4,y-1)。
b. (x,y-1)、(x+W/4,y-1)、(x+3*W/4,y-1)、(x+W-1,y-1)。
c. (x,y-1)、(x+(2W)/4,y-1)、(x+2*(2W)/4,y-1)、(x+3*(2W)/4,y-1)。例えば、右上の行が利用可能である場合、又は最初の右上サンプルが利用可能である場合。
d. (x,y-1)、(x+(2W)/4,y-1)、(x+3*(2W)/4,y-1)、(x+(2W)-1,y-1)。例えば、右上の行が利用可能である場合、又は最初の右上サンプルが利用可能である場合。
(iii)左の列のみが利用可能である場合、サンプルは左の列のみから選択される。
1. 例えば、左の列の4つのサンプルが選択され得る。
2. 例えば、左の列の2つのサンプルが選択され得る。
3. サンプルをどのように選択するかは、幅/高さに依存し得る。例えば、H>2である場合には4つのサンプルが選択され、H=2である場合には2つのサンプルが選択される。
4. 選択されるサンプルは、以下に位置し得る。
a. (x-1,y)、(x-1,y+H/4)、(x-1,y+2*H/4)、(x-1,y+3*H/4)。
b. (x-1,y)、(x-1,y+2*H/4)、(x-1,y+3*H/4)、(x-1,y+H-1)。
c. (x-1,y)、(x-1,y+(2H)/4)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)。例えば、左下の列が利用可能である場合、又は最初の左下サンプルが利用可能である場合。
d. (x-1,y)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)、(x-1,y+(2H)-1)。左下の列が利用可能である場合、又は最初の左下サンプルが利用可能である場合。
(iv)上の例において、4つのサンプルのうち2つのみが選択されてもよい。
(e)一例において、現在のモードがLM-Aモードである場合、例11(d)(ii)に従ってサンプルを選択し得る。
(f)一例において、現在のモードがLM-Lモードである場合、例11(d)(iii)に従ってサンプルを選択し得る。
(g)選択されたルマサンプル(例えば、選択されたクロマの位置に従う)は、2つのグループにグループ化されてもよく、一方は、全ての選択サンプルのうち最大値及び最小値を有し、他方は、残りの全てのサンプルを有する。
(i)LMパラメータを導出するために、2つのグループの2つの最大値が、二点法における最大値として平均をとられ、2つのグループの2つの最小値が、二点法における最小値として平均をとられる。
(ii)選択されたサンプルが4つのみである場合、2つの大きい方のサンプル値が平均をとられ、2つの小さい方のサンプル値が平均をとられ、そして、平均にされた値が、LMパラメータを導出するための二点法への入力として使用される。
例15. 上の例において、ルマとクロマとが交換されてもよい。あるいは、ルマカラーコンポーネントが主カラーコンポーネント(例えば、G)によって置き換えられるとともに、クロマカラーコンポーネントが従カラーコンポーネント(例えば、B又はR)によって置き換えられてもよい。
例16. 上の隣接クロマサンプル(及び/又は、ダウンサンプリングされ得るそれらの対応するルマサンプル)を、第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)に基づいて選択することが提案される。使用されることになる利用可能な上の隣接サンプルな幅をWとする。
a. 一例において、Wは、現在ブロックの幅に等しく設定され得る。
b. 一例において、Wは、(現在ブロックの幅のL倍)に設定されてもよく、Lは整数値である。
c. 一例において、上及び左の両方のブロックが利用可能である場合、Wは、現在ブロックの幅に設定され得る。
i. あるいは、左のブロックが利用可能でない場合に、Wは、(現在ブロックの幅のL倍)に設定されてもよく、Lは整数値である。
ii. 一例において、Lは、右上のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左上サンプルの利用可能性に依存してもよい。
d. 一例において、Wは符号化モードに依存し得る。
i. 一例において、現在ブロックがLMモードとして符号化される場合、Wは、現在ブロックの幅に設定され得る。
ii. 現在ブロックがLM-Aモードとして符号化される場合、Wは(現在ブロックの幅のL倍)に設定されてもよく、Lは整数値である。
(a)Lは、右上のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左上サンプルの利用可能性に依存してもよい。
e. 現在ブロックの左上の座標を(x0,y0)とすると、K=0、1、2、…kMaxとして、位置(x0+F+K×S,y0-1)にある上の隣接サンプルが選択される。
f. 一例において、F=W/Pである。Pは整数である。
i. 例えば、P=2であり、iは、例えば1又は2などの整数である。
ii. あるいは、F=W/P+offsetである。
g. 一例において、S=W/Qである。Qは整数である。
i. 例えば、Q=2であり、jは、例えば1又は2などの整数である。
h. 一例において、F=S/Rである。Rは整数である。
i. 例えば、R=2であり、mは、例えば1又は2などの整数である。
i. 一例において、S=F/Zである。Zは整数である。
i. 例えば、Z=2であり、nは、例えば1又は2などの整数である。
j. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの予測モード(例えばLM、LM-A又はLM-Lなど)に依存し得る。
k. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの幅及び/又は高さに依存し得る。
l. kMax及び/又はF及び/又はS及び/又はoffsetは、隣接サンプルの利用可能性に依存し得る。
m. kMax及び/又はF及び/又はS及び/又はoffsetは、Wに依存し得る。
n. 例えば、kMax=1、F=W/4、S=W/2、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、左及び上の両方の隣接サンプルが利用可能であり、且つW>=4である場合に行われる。
o. 例えば、kMax=3、F=W/8、S=W/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、上の隣接サンプルのみが利用可能であり、且つW>=4である場合に行われる。
p. 例えば、kMax=3、F=W/8、S=W/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM-A符号化され、且つW>=4である場合に行われる。
q. 例えば、kMax=1、F=0、S=1、offset=0である。あるいは、さらに、これらの設定は、Wが2に等しい場合に行われる。
例17. 左の隣接クロマサンプル(及び/又は、ダウンサンプリングされ得るそれらの対応するルマサンプル)を、第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)に基づいて選択することが提案される。使用されることになる利用可能な左の隣接サンプルな高さをHとする。
a. 一例において、Hは、現在ブロックの高さに等しく設定され得る。
b. 一例において、Hは、(現在ブロックの高さのL倍)に設定されてもよく、Lは整数値である。
c. 一例において、上及び左の両方のブロックが利用可能である場合、Hは、現在ブロックの高さに設定され得る。
i. あるいは、上のブロックが利用可能でない場合に、Hは、(現在ブロックの高さのL倍)に設定されてもよく、Lは整数値である。
ii. 一例において、Lは、左下のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左下サンプルの利用可能性に依存してもよい。
iii. あるいは、必要な右上の隣接ブロックが利用可能である場合、Hは、(現在ブロックの高さ+現在ブロックの幅)に設定されてもよい。
(a)一例において、左の隣接サンプルが利用可能でない場合、同じH個の上の隣接サンプルがLM-Aモード及びLMモードのために選ばれる。
d. 一例において、Hは符号化モードに依存し得る。
i. 一例において、現在ブロックがLMモードとして符号化される場合、Hは、現在ブロックの高さに設定され得る。
ii. 現在ブロックがLM-Lモードとして符号化される場合、Hは(現在ブロックの高さのL倍)に設定され得る。
(a)Lは、左下のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左上サンプルの利用可能性に依存してもよい。
(b)あるいは、必要な左下の隣接ブロックが利用可能である場合、Wは(現在ブロックの高さ+現在ブロックの幅)に設定されてもよい。
(c)一例において、上の隣接サンプルが利用可能でない場合、同じW個の左の隣接サンプルがLM-Lモード及びLMモードのために選ばれる。
e. 現在ブロックの左上の座標を(x0,y0)とすると、K=0、1、2、…、kMaxとして、位置(x0-1,y0+F+K×S)にある左の隣接サンプルが選択される。
f. 一例において、F=H/Pである。Pは整数である。
i. 例えば、P=2であり、iは、例えば1又は2などの整数である。
ii. あるいは、F=H/P+offsetである。
g. 一例において、S=H/Qである。Qは整数である。
i. 例えば、Q=2であり、jは、例えば1又は2などの整数である。
h. 一例において、F=S/Rである。Rは整数である。
i. 例えば、R=2であり、mは、例えば1又は2などの整数である。
i. 一例において、S=F/Zである。Zは整数である。
i. 例えば、Z=2であり、nは、例えば1又は2などの整数である。
j. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの予測モード(例えばLM、LM-A又はLM-Lなど)に依存し得る。
k. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの高さ及び/又は高さに依存し得る。
l. kMax及び/又はF及び/又はS及び/又はoffsetは、Hに依存し得る。
m. kMax及び/又はF及び/又はS及び/又はoffsetは、隣接サンプルの利用可能性に依存し得る。
n. 例えば、kMax=1、F=H/4、S=H/2、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、左及び上の両方の隣接サンプルが利用可能であり、且つH>=4である場合に行われる。
o. 例えば、kMax=3、F=H/8、S=H/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、上の隣接サンプルのみが利用可能であり、且つH>=4である場合に行われる。
p. 例えば、kMax=3、F=H/8、S=H/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM-L符号化され、且つH>=4である場合に行われる。
q. 例えば、Hが2に等しい、kMax=1、F=0、S=1、offset=0である。
例18. 線形モデルパラメータを導出するために、2つ又は4つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)を選択すること提案される。
a. 一例において、maxY/maxC及びminY/minCが、2つ又は4つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)から導出され、次いで、二点アプローチを用いて線形モデルパラメータを導出するために使用される。
b. 一例において、maxY/maxC及びminY/minCを導出するために2つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)が選択される場合、minYは、小さい方のルマサンプル値に設定され、minCは、その対応するクロマサンプル値に設定され、maxYは、大きい方のルマサンプル値に設定され、maxCは、その対応するクロマサンプル値に設定される。
c. 一例において、maxY/maxC及びminY/minCを導出するために4つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)が選択される場合、それらルマサンプル及びそれらの対応するクロマサンプルは、各々が2つのクロマサンプル及びそれらの対応するルマサンプルを含む2つの配列G0及びG1に分割される。
i. 4つのルマサンプル及びそれらの対応するクロマサンプルがS0、S1、S2、S3として表記されるとすると、それらは任意の順序で2つのグループに分割されることができる。例えば:
(a)G0={S0,S1}、G1={S2,S3};
(b)G0={S1,S0}、G1={S3,S2};
(c)G0={S0,S2}、G1={S1,S3};
(d)G0={S2,S0}、G1={S3,S1};
(e)G0={S1,S2}、G1={S0,S3};
(f)G0={S2,S1}、G1={S3,S0};
(g)G0={S0,S3}、G1={S1,S2};
(h)G0={S3,S0}、G1={S2,S1};
(i)G0={S1,S3}、G1={S0,S2};
(j)G0={S3,S1}、G1={S2,S0};
(k)G0={S3,S2}、G1={S0,S1};
(l)G0={S2,S3}、G1={S1,S0};
(m)G0とG1とが交換されてもよい。
ii. 一例において、G0[0]及びG0[1]のルマサンプル値が比較され、G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも大きい場合、G0[0]のルマサンプル及びその対応するクロマサンプルが、G0[1]のそれらと交換される。
(a)あるいは、G0[0]のルマサンプル値がG0[1]のルマサンプル値以上である場合に、G0[0]のルマサンプル及びその対応するクロマサンプルは、G0[1]のそれらと交換される。
(b)あるいは、G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも小さい場合に、G0[0]のルマサンプル及びその対応するクロマサンプルが、G0[1]のそれらと交換される。
(c)あるいは、G0[0]のルマサンプル値がG0[1]のルマサンプル値以下である場合に、G0[0]のルマサンプル及びその対応するクロマサンプルは、G0[1]のそれらと交換される。
iii. 一例において、G1[0]及びG1[1]のルマサンプル値が比較され、G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G1[0]のルマサンプル及びその対応するクロマサンプルが、G1[1]のそれらと交換される。
(a)あるいは、G1[0]のルマサンプル値がG1[1]のルマサンプル値以上である場合に、G1[0]のルマサンプル及びその対応するクロマサンプルは、G1[1]のそれらと交換される。
(b)あるいは、G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも小さい場合に、G1[0]のルマサンプル及びその対応するクロマサンプルが、G1[1]のそれらと交換される。
(c)あるいは、G1[0]のルマサンプル値がG1[1]のルマサンプル値以下である場合に、G1[0]のルマサンプル及びその対応するクロマサンプルは、G1[1]のそれらと交換される。
iv. 一例において、G0[0]及びG1[1]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
(a)一例において、G0[0]及びG1[0]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
(b)一例において、G0[1]及びG1[0]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
(c)一例において、G0[1]及びG1[1]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
v. 一例において、G0[0]及びG1[1]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[0]とG1[1]とが交換される。
(a)一例において、G0[0]及びG1[0]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[0]とG1[0]とが交換される。
(b)一例において、G0[1]及びG1[0]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[1]とG1[0]とが交換される。
(c)一例において、G0[1]及びG1[1]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[1]とG1[1]とが交換される。
vi. 一例において、maxYは、G0[0]及びG0[1]のルマサンプル値の平均として計算され、maxCは、G0[0]及びG0[1]のクロマサンプル値の平均として計算される。
(a)あるいは、maxYは、G1[0]及びG1[1]のルマサンプル値の平均として計算され、maxCは、G1[0]及びG1[1]のクロマサンプル値の平均として計算される。
vii. 一例において、minYは、G0[0]及びG0[1]のルマサンプル値の平均として計算され、minCは、G0[0]及びG0[1]のクロマサンプル値の平均として計算される。
あるいは、minYは、G1[0]及びG1[1]のルマサンプル値の平均として計算され、minCは、G1[0]及びG1[1]のクロマサンプル値の平均として計算される。
d. 一例において、2つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)のみが利用可能である場合、それらは先ず、4つのクロマサンプル(及び/又はそれらの対応するルマサンプル)になるようパディングされ、そして、それら4つのクロマサンプル(及び/又はそれらの対応するルマサンプル)を使用してCCLMパラメータが導出される。
i. 一例において、2つのパディングクロマサンプル(及び/又はそれらの対応するルマサンプル)は、2つの利用可能な隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)からコピーされる。
例19. 上の全ての例において、選択されるクロマサンプルは、図10に示される上の行(すなわち、W個のサンプルを有する)及び/又は左の列(すなわち、H個のサンプルを有する)の中に位置するものとされ、ここで、W及びHは、現在ブロックの幅及び高さである。
a. あるいは、上の制約は、現在ブロックが通常LMモードで符号化される場合に適用され得る。
b. あるいは、選択されるクロマサンプルは、上の行(すなわち、W個のサンプルを有する)と、H個のサンプルを有する右上の行の中に位置するものとされる。
i. あるいは、さらに、上の制約は、現在ブロックがLM-Aモードで符号化される場合に適用され得る。
ii. あるいは、さらに、上の制約は、上の行は利用可能であるが左の列は利用可能でなくて、現在ブロックがLM-Aモード又は通常LMで符号化される場合に適用され得る。
c. あるいは、選択されるクロマサンプルは、左の列(すなわち、H個のサンプルを有する)と、W個のサンプルを有する左下の列の中に位置するものとされる。
i. あるいは、さらに、上の制約は、現在ブロックがLM-Lモードで符号化される場合に適用され得る。
ii. あるいは、さらに、上の制約は、上の行は利用可能でないが左の列は利用可能であって、現在ブロックがLM-Lモード又は通常LMで符号化される場合に適用され得る。
例20
一例において、対応するクロマサンプルがCCLMパラメータを導出するために必要とされる位置にある隣接ルマサンプルのみが、ダウンサンプリングされる必要がある。
例21
この文書にて開示される方法をどのように行うかは、カラーフォーマット(例えば4:2:0又は4:4:4など)に依存し得る。
a. あるいは、この文書にて開示される方法をどのように行うかは、ビット深度(例えば8ビット又は10ビットなど)に依存し得る。
b. あるいは、この文書にて開示される方法をどのように行うかは、カラー表現方法(例えばRGB又はYCbCrなど)に依存し得る。
c. あるいは、この文書にて開示される方法をどのように行うかは、カラー表現方法(例えばRGB又はYCbCrなど)に依存し得る。
d. あるいは、この文書にて開示される方法をどのように行うかは、クロマダウンサンプリング位置に依存し得る。
例22
CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値を導出するかは、左及び上で隣接するものの利用可能性に依存し得る。例えば、左及び上のどちらの隣接ブロックも利用可能でない場合には、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。
a. CCCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値を導出するかは、利用可能な隣接サンプルの数に依存し得る。例えば、numSampL==0及びnumSampT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。他の一例において、numSampL+numSampT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。これら2つの例において、numSampL及びnumSampTは、左及び上の隣接ブロックからの利用可能な隣接サンプルの数である。
b. CCCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値を導出するかは、それらパラメータを導出するために使用される選ばれるサンプルの数に依存し得る。例えば、cntL==0及びcntT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。他の一例において、cntL+cntT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。これら2つの例において、cntL及びcntTは、左及び上の隣接ブロックからの選ばれるサンプルの数である。
例23
一例において、CCLMで使用されるパラメータを導出するための提案される方法は、線形モデルをあてにするLIC又は他の符号化ツールで使用されるパラメータを導出するために使用され得る。
a. 上で開示された例は、例えば、“クロマ隣接サンプル”を“現在ブロックの隣接サンプル”で置き換えるとともに、“対応するルマサンプル”を“参照ブロックの隣接サンプル”で置き換えることなどによって、LICに適用され得る。
b. 一例において、LICパラメータ導出に利用されるサンプルは、上の行及び/又は左の列内の特定の位置のサンプルを除外し得る。
i. 一例において、LICパラメータ導出に利用されるサンプルは、上の行内の最初のサンプルを除外し得る。
(a)左上のサンプルの座標を(x0,y0)とすると、LICパラメータの使用に対して(x0,y0-1)を除外することが提案される。
ii. 一例において、LICパラメータ導出に利用されるサンプルは、左の列内の最初のサンプルを除外し得る。
(a)左上のサンプルの座標を(x0,y0)とすると、LICパラメータの使用に対して(x0-1,y0)を除外することが提案される。
iii. 上の方法を適用するか、及び/又は特定の位置をどのように定めるかは、左の列/上の行の利用可能性に依存し得る。
iv. 上の方法を適用するか、及び/又は特定の位置をどのように定めるかは、ブロック寸法に依存し得る。
c. 一例において、現在ブロックのN個の隣接するサンプル(ダウンサンプリングされ得る)及び参照ブロックのN個の対応する隣接サンプル(対応してダウンサンプリングされ得る)を使用して、LICに使用されるパラメータを導出し得る。
i. 例えば、Nは4である。
ii. 一例において、N個の隣接サンプルは、上の行からのN/2個のサンプル、及び左の列からのN/2個のサンプルとして定められ得る。
(a)あるいは、N個の隣接サンプルは、上の行又は左の列からのN個のサンプルとして定められてもよい。
iii. 他の一例において、Nはmin(L,T)に等しく、ここで、Tは、現在ブロックの利用可能な隣接サンプル(ダウンサンプリングされ得る)の総数である。
(a)一例において、Lは4に設定される。
iv. 一例において、N個のサンプルの座標の選択は、CCLMプロセスにおいてN個のサンプルを選択するためのルールに従い得る。
v. 一例において、N個のサンプルの座標の選択は、LM-AプロセスにおいてN個のサンプルを選択するためのルールに従い得る。
vi. 一例において、N個のサンプルの座標の選択は、LM-LプロセスにおいてN個のサンプルを選択するためのルールに従い得る。
vii. 一例において、N個のサンプルをどのように選択するかは、上の行/左の列の利用可能性に依存し得る。
d. 一例において、現在ブロックのN個の隣接するサンプル(ダウンサンプリングされ得る)及び参照ブロックのN個の対応する隣接するサンプル(ダウンサンプリングされ得る)が、LICで使用されるパラメータを導出するために使用され、サンプル位置に基づいてピックアップされ得る。
i. ピックアップ方法は、現在ブロックの幅及び高さに依存し得る。
ii. ピックアップ方法は、隣接ブロックの利用可能性に依存し得る。
iii. 例えば、上及び左の両方の隣接サンプルが利用可能である場合、K1個の隣接サンプルが左の隣接サンプルからピックアップされるとともに、K2個の隣接サンプルが上の隣接サンプルからピックアップされ得る。例えば、K1=K2=2である。
iv. 例えば、左の隣接サンプルのみが利用可能である場合、K1個の隣接サンプルが左の隣接サンプルからピックアップされ得る。例えば、K1=4である。
v. 例えば、上の隣接サンプルのみが利用可能である場合、K2個の隣接サンプルが上の隣接サンプルからピックアップされ得る。例えば、K2=4である。
vi. 例えば、上のサンプルは、現在ブロックの寸法及び隣接ブロックの利用可能性に依存し得る第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)を用いてピックアップされ得る。
(a)例えば、例16にて開示された方法を適用して、F及びSを導出することができる。
vii. 例えば、左のサンプルは、現在ブロックの寸法及び隣接ブロックの利用可能性に依存し得る第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)を用いてピックアップされ得る。
(a)例えば、例17にて開示された方法を適用して、F及びSを導出することができる。
e. 一例において、CCLMで使用されるパラメータを導出するために提案される方法は、現在ブロックがアフィン符号化される場合に、LICで使用されるパラメータを導出するためにも使用され得る。
f. 上記の方法は、線形モデルをあてにする他の符号化ツールで使用されるパラメータを導出するために使用されてもよい。
他の一例において、クロマサンプルが式(12)に示されるように予測モデルに従って対応する再構成ルマサンプルを用いて予測されるものであるクロスコンポーネント予測モードが提案される。式(12)において、Pred(x,y)は、クロマの予測サンプルを表す。α及びβは2つのモデルパラメータである。Rec’L(x,y)は、ダウンサンプリングされたルマサンプルである。
Figure 2022521698000012
式(13)に示すように、図11のブロックAに関するルマダウンサンプリングプロセスに6タップフィルタが導入される。
Figure 2022521698000013
式(14)に示すように、図11で陰影を付けられた上の周囲ルマ参照サンプルが、3タップフィルタでダウンサンプリングされる。左の周囲ルマ参照サンプルは、式(15)に従ってダウンサンプリングされる。左又は上のサンプルが利用可能でない場合には、式(16)及び式(17)で規定される2タップフィルタが使用されることになる。
Figure 2022521698000014
特に、周囲ルマ参照サンプルは、クロマ参照サンプルと等しいサイズまでダウンサンプリングされる。そのサイズ(幅及び高さ)をwidth及びheightと表記する。α及びβを導出するために、2つ又は4つの隣接サンプルのみが関与する。α及びβを導出するときの除算演算を回避するために、ルックアップテーブルが適用される。その導出方法を以下に示す。
3.1 最大で2つのサンプルを用いる例示的な方法
(1)widthとheightとの比rが、式(18)に示すように計算される。
Figure 2022521698000015
(2)上及び左のブロックがどちらも利用可能である場合、第1の上のラインのposA及び第1の左のラインのposLに位置する2つのサンプルが選択される。説明を単純化するために、幅を長辺と仮定する。posA及びposLの導出を式(19)に示す(位置インデックスは0から始まる)。図12は、異なる幅と高さとの比の一部の例(それぞれ、1、2、4及び8)を示している。選択されたサンプルに陰影を付けている。
Figure 2022521698000016
(3)上のブロックは利用可能であるが、左のブロックは利用可能でない場合、図13に示すように、上のラインの最初の点及びposAの点が選択される。
(4)左のブロックは利用可能であるが、上のブロックは利用可能でない場合、図14に示すように、左のラインの最初の点及びposLの点が選択される。
(5)選択されたサンプルのルミナンス値及びクロミナンス値に従ってクロマ予測モデルが導出される。
(6)左及び上のどちらのブロックも利用可能でない場合、αが0に等しく、βが1<<(BitDepth-1)に等しいデフォルト予測モデルが使用され、ここで、BitDepthはクロマサンプルのビット深度を表す。
3.2 最大で4つのサンプルを用いる例示的な方法
(1)widthとheightとの比rが、式(18)のように計算される。
(2)上及び左のブロックがどちらも利用可能である場合、第1の上のラインの最初及びposA並びに第1の左のラインの最初及びposLに位置する4つのサンプルが選択される。posA及びposLの導出は式(19)に示してある。図15は、異なる幅と高さとの比の一部の例(それぞれ、1、2、4及び8)を示している。選択されたサンプルに陰影を付けている。
(3)上のブロックは利用可能であるが、左のブロックは利用可能でない場合、図13に示したように、上のラインの最初の点及びposAの点が選択される。
(4)左のブロックは利用可能であるが、上のブロックは利用可能でない場合、図14に示したように、左のラインの最初の点及びposLの点が選択される。
(5)左及び上のどちらのブロックも利用可能でない場合、αが0に等しく、βが1<<(BitDepth-1)に等しいデフォルト予測モデルが使用され、ここで、BitDepthはクロマサンプルのビット深度を表す。
3.3 LM導出においてルックアップテーブルを使用する例示的な方法
図16は、128、64、及び32個エントリを持ち、各エントリが16ビットで表現されるルックアップテーブルの例を示している。二点LM導出プロセスは、表1及び図17に示すように、64個のエントリで簡略化される。留意すべきことには、最初のエントリはテーブルに格納されなくてもよい。
これまた留意すべきことには、これらの例示的なテーブルの各エントリは、16ビットであるように設計されているが、より少ないビット(例えば、8ビット又は12ビット)の数に容易に変換されることができる。例えば、8ビットのエントリを持つテーブルは、次のように達成され得る:
g_aiLMDivTableHighSimp_64_8[i]=(g_aiLMDivTableHighSimp_64[i]+128)>>8
例えば、12ビットのエントリを持つテーブルは、次のように達成され得る:
g_aiLMDivTableHighSimp_64_12[i]=(g_aiLMDivTableHighSimp_64[i]+8)>>4。
Figure 2022521698000017
なお、maxLuma及びminLumaは、選択された位置の最大及び最小のルマサンプル値を示し得る。あるいは、それらは、例えば平均化など、選択された位置の最大及び最小のルマサンプル値の関数を示してもよい。4つの位置のみが選択される場合、それらはまた、2つの大きい方のルマ値の平均、及び2つの小さい方のルマ値の平均をし得る。更に留意されたいことには、図17において、maxChroma及びminChromaは、maxLuma及びminLumaに対応するクロマ値を表している。
3.3 最大で4サンプルを用いる方法#4
現在クロマブロックのブロック幅及び高さをそれぞれW及びHとする。また、現在クロマブロックの左上の座標は[0,0]であるとする。
上及び左のブロックがどちらも利用可能であり、且つ現在のモードが(LM-A及びLM-Lを除いた)通常LMモードである場合、上の行に位置する2つのクロマサンプル、及び左の列に位置する2つのクロマサンプルが選択される。
2つの上のサンプルの座標は[Floor(W/4),-1]及び[Floor(3*W/4),-1]である。
2つの左のサンプルの座標は[-1,Floor(H/4)]及び[-1,Floor(3*H/4)]である。
選択されたサンプルは、図22Aに示すように赤色で塗られている。
続いて、これら4つのサンプルが、ルマサンプル強度に従ってソートされ、2つのグループに分類される。2つの大きい方のサンプル及び2つの小さい方のサンプルが、それぞれ、平均をとられる。それら2つの平均点を用いてクロスコンポーネント予測モデルが導出される。あるいは、4つのサンプルの最大値及び最小値を用いて、LMパラメータが導出される。
上のブロックは利用可能であるが、左のブロックが利用可能でない場合、W>2のときには上のブロックから4つのクロマサンプルが選択され、W=2のときには2つのクロマサンプルが選択される。
それら4つの選択される上のサンプルの座標は、[W/8,-1]、[W/8+W/4,-1]、[W/8+2*W/4,-1]、及び[W/8+3*W/4,-1]である。
選択されたサンプルは、図22Bに示すように赤色で塗られている。
左のブロックは利用可能であるが、上のブロックが利用可能でない場合、H>2のときには左のブロックから4つのクロマサンプルが選択され、H=2のときには2つのクロマサンプルが選択される。
それら4つの選択される左のサンプルの座標は、[-1,H/8]、[-1,H/8+H/4]、[-1,H/8+2*H/4]、及び[-1,H/8+3*H/4]である。
左及び上のどちらのブロックも利用可能でない場合、αが0に等しく、βが1<<(BitDepth-1)に等しいデフォルト予測が使用され、ここで、BitDepthはクロマサンプルのビット深度を表す。
現在のモードがLM-Aモードである場合、W’>2のときには上のブロックからの4つのクロマサンプルが選択され、W’=2のときには2つのクロマサンプルが選択される。W’は、上の隣接サンプルの利用可能な数であり、これは2*Wとし得る。
それら4つの選択される上のサンプルの座標は、[W’/8,-1]、[W’/8+W’/4,-1]、[W’/8+2*W’/4,-1]、及び[W’/8+3*W’/4,-1]である。
現在のモードがLM-Lモードである場合、H’>2のときには左のブロックからの4つのクロマサンプルが選択され、H’=2のときには2つのクロマサンプルが選択される。H’は、左の隣接サンプルの利用可能な数であり、これは2*Hとし得る。
それら4つの選択される左のサンプルの座標は、[-1,H’/8]、[-1,H’/8+H’/4]、[-1,H’/8+2*H’/4]、及び[-1,H’/8+3*H’/4]である。
3.5 CCLM予測の使用のために現行VVC標準を変更するための実施形態例
8.3.4.2.8 INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMイントラ予測モードの仕様
このセクションでは、VVC標準の現段階での草案におけるものに対応する式番号を用いて式を記述する。
このプロセスへの入力は以下のとおりである:
- イントラ予測モードpredModeIntra、
- 現在ピクチャの左上のサンプルに対する現在変換ブロックの左上のサンプルのサンプル位置(xTbC, yTbC)、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- x=-1, y=0..2*nTbH-1、及びx=0..2*nTbW-1, y=-1のクロマ隣接サンプルp[x][y]。
このプロセスの出力は、x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]である。
現在ルマ位置(xTbY, yTbY)は次のように導出される:
(xTbY, yTbY)=(xTbC<<1, yTbC<<1) (8-155)
変数avalL、avalT及びavalTLは次のように導出される:
...
- predModeIntraがINTRA_LT_CCLMに等しい場合、以下が適用される:
numSampT=availT? nTbW:0 (8-156)
numSampL=availL? nTbH:0 (8-157)
- それ以外の場合、以下が適用される:
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)? (nTbW+numTopRight):0 (8-158)
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)? (nTbH+numLeftBelow):0 (8-159)
変数bCTUborderyは次のように導出される:
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)? TRUE:FALSE (8-160)
x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]は以下のように導出される:
- numSampL及びnumSampTの双方が0に等しい場合、以下が適用される:
predSamples[x][y]=1<<(BitDepthC-1) (8-161)
- それ以外の場合、以下の順序付けられたステップが適用される:
1. ...[現行仕様に対して変更なし]
2. ...
3. ...
4. ...
5. ...
6. [現行仕様に対して変更なし]
7. 変数minY、maxY、minC及びmaxCが、次のように導出される:
- 変数minYがは、1<<(BitDepthY)+1に等しく設定され、変数maxYは-1に等しく設定される
- avalLがTRUEに等しく、且つpredModeIntraがINTRA_LT_CCLMに等しい場合、変数aboveIs4は0に等しく設定され、それ例外の場合、それは1に等しく設定される
- avallTがTRUEに等しく、且つpredModeIntraがINTRA_LT_CCLMに等しい場合、変数LeftIs4は0に等しく設定され、それ例外の場合、それは1に等しく設定される
- 変数配列startPos[]及びpickStep[]は次のように導出される:
- startPos[0]=actualTopTemplateSampNum>>(2+aboveIs4);
- pickStep[0]=std::max(1, actualTopTemplateSampNum>>(1+aboveIs4));
- startPos[1]=actualLeftTemplateSampNum>>(2+leftIs4);
- pickStep[1]=std::max(1, actualLeftTemplateSampNum>>(1+leftIs4));
- 変数cntは0に等しく設定される
- predModeIntraがINTRA_LT_CCLMに等しい場合、変数nSXはnTbWに等しく設定され、nSYはnTbHに等しく設定され、それ以外の場合、nSXはnumSampLTに等しく設定され、nSYはnumSampLに等しく設定される
- avallTがTRUEに等しく、且つpredModeIntraがINTRA_L_CCLMに等しくない場合、変数selectLumaPix、selectChromaPixは次のように導出される:
- startPos[0]+cnt*pickStep[0]<nSX、且つcnt<4である間、以下が適用される:
- selectLumaPix[cnt]=pTopDsY[startPos[0]+cnt*pickStep[0]];
- selectChromaPix[cnt]=p[startPos[0]+cnt*pickStep[0]][-1];
- cnt++;
- avalLがTRUEに等しく、且つpredModeIntraがINTRA_T_CCLMに等しくない場合、変数selectLumaPix、selectChromaPixは次のように導出される:
- startPos[1]+cnt*pickStep[1]<nSY、且つcnt<4である間、以下が適用される:
- selectLumaPix[cnt]=pLeftDsY[startPos[1]+cnt*pickStep[1]];
- selectChromaPix[cnt]=p[-1][startPos[1]+cnt*pickStep[1]];
- cnt++;
- cntが2に等しい場合、以下が適用される:
- selectLumaPix[0]>selectLumaPix[1]である場合、minYはselectLumaPix[1]に等しく設定され、minCはselectChromaPix[1]に等しく設定され、maxYはselectLumaPix[0]に等しく設定され、そして、maxCはselectChromaPix[0]に等しく設定され、それ以外の、maxYはselectLumaPix[1]に等しく設定され、maxCはselectChromaPix[1]に等しく設定され、minYはselectLumaPix[0]に等しく設定され、そして、minCはselectChromaPix[0]に等しく設定される
- それ以外の場合、cntが4に等しい場合には、以下が適用される:
- 変数配列minGrpIdx及びmaxGrpIdxが、
-minGrpIdx[0]=0、minGrpIdx[1]=1、maxGrpIdx[0]=2、maxGrpIdx[1]=3
として初期化され、
- 以下が適用される:
- selectLumaPix[minGrpIdx[0]]>selectLumaPix[minGrpIdx[1]]の場合、minGrpIdx[0]とminGrpIdx[1とを交換する;
- selectLumaPix[maxGrpIdx[0]]>selectLumaPix[maxGrpIdx[1]]の場合、maxGrpIdx[0]とmaxGrpIdx[1]とを交換する;
- selectLumaPix[minGrpIdx[0]]>selectLumaPix[maxGrpIdx[1]]の場合、minGrpIdxとmaxGrpIdxとを交換する;
- selectLumaPix[minGrpIdx[1]]>selectLumaPix[maxGrpIdx[0]]の場合、minGrpIdx[1]とmaxGrpIdx[0]とを交換する;
- maxY、maxC、minY及びminCが次のように導出される:
- maxY=(selectLumaPix[maxGrpIdx[0]]+selectLumaPix[maxGrpIdx[1]]+1)>>1;
- maxC=(selectChromaPix[maxGrpIdx[0]]+selectChromaPix[maxGrpIdx[1]]+1)>>1;
- maxY=(selectLumaPix[minGrpIdx[0]]+selectLumaPix[minGrpIdx[1]]+1)>>1;
- maxC=(selectChromaPix[minGrpIdx[0]]+selectChromaPix[minGrpIdx[1]]+1)>>1;

8. 変数a、b、kは次のように導出される:
[変更の終了]
3.6 提案されるCCLM予測についての別の例示的な作業草案
このセクションでは、VVC標準の現段階での作業草案に対して行うことができる変更を示す別の例示実施形態が記述される。ここでの式番号は、VVC標準における対応する式番号を指す。
INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMイントラ予測モードの仕様。
[現段階でのVVC作業草案への付加は以下の通り]
右及び右上の利用可能な隣接クロマサンプルの数numTopSampと、左及び左下の利用可能な隣接クロマサンプルの数nLeftSampは、次のように導出される:
- predModeIntraがINTRA_LT_CCLMに等しい場合、以下が適用される:
numSampT=availT? nTbW:0 (8-157)
numSampL=availL? nTbH:0 (8-158)
- それ以外の場合、以下が適用される:
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?
(nTbW+Min(numTopRight, nTbH)):0 (8-159)
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?
(nTbH+Min(numLeftBelow, nTbW)):0 (8-160)
変数bCTUboundaryは次のように導出される:
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)? TRUE:FALSE (8-161)
変数cntN、及びNをL及びTで置き換えての配列pickPosN[]は、次のように導出される:
- 変数numIs4Nは((availN&&predModeIntra==INTRA_LT_CCLM)? 0:1)に等しく設定される
- 変数startPosNはnumSampN>>(2+numIs4N)に等しく設定される
- 変数pickStepNはMax(1, numSampN>>(1+numIs4N))に等しく設定される
- availNがTRUEに等しく、且つpredModeIntraがINTRA_LT_CCLM又はINTRA_N_CCLMに等しい場合、cntNは(1+numIs4N)<<1に等しく設定され、pickPosN[pos]は、pos=0..(cntN-1)での(startPosN+pos*pickStepN)に等しく設定される
- それ以外の場合、cntNは0に等しく設定される
x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]は次のように導出される:
- numSampL及びnumSampTの両方が0に等し場合、以下が適用される:
predSamples[x][y]=1<<(BitDepthC-1) (8-162)
- それ以外の場合、以下の順序付けられたステップが適用される:
1. 位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、x = 0..nTbW*2-1, y=0..nTbH*2-1のコロケートルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
2. 隣接ルマサンプルpY[x][y]が次のように導出される:
- numSampLが0よりも大きいとき、位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する左の、x=-1..-3, y=0..2*numSampL-1のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
- numSampTがおよりも大きいとき、位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する上の、x=0..2*numSampT-1, y=-1,-2のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
- availTLがTRUEに等しいとき、位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する左上の、x=-1, y=-1,-2のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
3. ダウンサンプリングされたx=0..nTbW-1, y=0..nTbH-1のコロケートルマサンプルpDsY[x][y]が次のように導出される:
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- x=1..nTbW-1, y=1..nTbH-1のpDsY[x][y]は次のように導出される:
pDsY[x][y]=(pY[2*x][2*y-1]+
pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+
pY[2*x][2*y+1]+4)>>3 (8-163)
- availLがTRUEに等しい場合、y=1..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y-1]+
pY[-1][2*y]+4*pY[0][2*y]+pY[1][2*y]+
pY[0][2*y+1]+4)>>3 (8-164)
- それ以外の場合、y=1..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2 (8-165)
- availTがTRUEに等しい場合、x=1..nTbW-1のpDsY[x][0]は次のように導出される:
pDsY[x][0]=(pY[2*x][-1]+
pY[2*x-1][0]+4*pY[2*x][0]+pY[2*x+1][0]+
pY[2*x][1]+4)>>3 (8-166)
- それ以外の場合、x=1..nTbW-1のpDsY[x][0]は次のように導出される:
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2 (8-167)
- availLがTRUEに等しく、且つavailTがTRUEに等しい場合、pDsY[ 0 ][ 0 ]は次のように導出される:
pDsY[0][0]=(pY[0][-1]+
pY[-1][0]+4*pY[0][0]+pY[1][0]+
pY[0][1]+4)>>3 (8-168)
- そうでなく、availLがTRUEに等しく、且つavailTがFALSEに等しい場合、pDsY[ 0 ][ 0 ]は次のように導出される:
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2 (8-169)
- そうでなく、availLがFALSEに等しく、且つavailTがTRUEに等しい場合、pDsY[ 0 ][ 0 ]は次のように導出される:
pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-170)
- それ以外の場合(availLがFALSEに等しく、且つavailTがFALSEに等しい)、pDsY[ 0 ][ 0 ]は次のように導出される:
pDsY[0][0]=pY[0][0] (8-171)
- それ以外の場合、以下が適用される:
- x=1..nTbW-1, y=0..nTbH-1のpDsY[x][y]は次のように導出される:
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+
2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+
pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-172)
- availLがTRUEに等しい場合、y=0..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[-1][2*y]+pY[-1][2*y+1]+
2*pY[0][2*y]+2*pY[0][2*y+1]+
pY[1][2*y]+pY[1][2*y+1]+4)>>3 (8-173)
- それ以外の場合、y=0..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1 (8-174)
4. numSampLが0よりも大きいとき、選択される隣接する左クロマサンプルpSelC[idx]は、idx=0..(cntL-1)のp[-1][pickPosL[idx]]に等しく設定され、選択されるダウンサンプリングされた左のidx=0..(cntL-1)のルマサンプルpSelDsY[idx]は次のように導出される:
- 変数yはpickPosL[idx]に等しく設定される
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- If y>0||availTL==TRUE,
pSelDsY[idx]=(pY[-2][2*y-1]+
pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+
pY[-2][2*y+1]+4)>>3 (8-175)
- それ以外の場合、
pSelDsY[idx]=(pY[-3][0]+2*pY[-2][0]+pY[-1][0]+2)>>2 (8-177)
- それ以外の場合、以下が適用される:
pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+1]+
2*pY[-2][2*y]+2*pY[-2][2*y+1]+
pY[-3][2*y]+pY[-3][2*y+1]+4)>>3 (8-178)
5. numSampTが0よりも大きいとき、選択される隣接する上クロマサンプルpSelC[idx]は、idx=0..(cntT-1)のp[pickPosT[idx]][-1]に等しく設定され、ダウンサンプリングされた隣接する上の、idx=cntL..(cntL+cntT-1)のルマサンプルpSelDsY[idx]は次のように規定される:
- xはpickPosT[idx-cntL]に等しく設定される
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- x>0の場合:
- bCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[2*x][-3]+
pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+
pY[2*x][-1]+4)>>3 (8-179)
- それ以外の場合(bCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-1]+
2*pY[2*x][-1]+
pY[2*x+1][-1]+2)>>2 (8-180)
- それ以外の場合、
- availTLがTRUEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-3]+
pY[-1][-2]+4*pY[0][-2]+pY[1][-2]+
pY[0][-1]+4)>>3 (8-181)
- そうでなく、availTLがTRUEに等しく、且つbCTUboundaryがTRUEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-1]+
2*pY[0][-1]+
pY[1][-1]+2)>>2 (8-182)
- そうでなく、availTLがFALSEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-3]+2*pY[0][-2]+pY[0][-1]+2)>>2 (8-183)
- それ以外の場合(availTLがFALSEに等しく、且つbCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=pY[0][-1] (8-184)
- それ以外の場合、以下が適用される:
- x>0の場合:
- bCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+
2*pY[2*x][-2]+2*pY[2*x][-1]+
pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3 (8-185)
- それ以外の場合(bCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-1]+
2*pY[2*x][-1]+
pY[2*x+1][-1]+2)>>2 (8-186)
- それ以外の場合
- availTLがTRUEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-2]+pY[-1][-1]+
2*pY[0][-2]+2*pY[0][-1]+
pY[1][-2]+pY[1][-1]+4)>>3 (8-187)
- そうでなく、availTLがTRUEに等しく、且つbCTUboundaryがTRUEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-1]+
2*pY[0][-1]+
pY[1][-1]+2)>>2 (8-188)
- そうでなく、availTLがFALSEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1 (8-189)
- それ以外の場合(availTLがFALSEに等しく、且つbCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=pY[0][-1] (8-190)
6. 変数minY、maxY、minC及びmaxCが次のように導出される:

- cntT+cntLが2に等しいとき、idx=0及び1で、pSelC[idx+2]=pSelC[idx]及びpSelDsY[idx+2]=pSelDsY[idx]と設定する
- 配列minGrpIdx[]及びmaxGrpIdx[]は以下のように設定される:minGrpIdx[0]=0, minGrpIdx[1]=1, maxGrpIdx[0]=2, maxGrpIdx[1]=3
- If pSelDsY[minGrpIdx[0]]>pSelDsY[minGrpIdx[1]], Swap(minGrpIdx[0], minGrpIdx[1]).
- If pSelDsY[maxGrpIdx[0]]>pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
- If pSelDsY[minGrpIdx[0]]>pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx ).
- If pSelDsY[minGrpIdx[1]]>pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
- maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+1)>>1.
- maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+1)>>1.
- minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1.
- minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1.
7. 変数a、b、及びkが次のように導出される:
- numSampLが0に等しく、且つnumSampTが0に等しい場合、以下が適用される:
k=0 (8-208)
a=0 (8-209)
b=1<<(BitDepthC-1) (8-210)
- それ以外の場合、以下が適用される:
diff=maxY-minY (8-211)
- diffが0に等しくない場合、以下が適用される:
diffC=maxC-minC (8-212)
x=Floor(Log2(diff)) (8-213)
normDiff=((diff<<4)>>x)&15 (8-214)
x+=(normDiff!=0)? 1:0 (8-215)
y=Floor(Log2(Abs(diffC)))+1 (8-216)
a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y (8-217)
k=((3+x-y)<1)? 1:3+x-y (8-218)
a=((3+x-y)<1)? Sign(a)*15:a (8-219)
b=minC-((a*minY)>>k ) (8-220)
ここで、divSigTable[ ]は次のように規定される:
divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (8-221)
- それ以外の場合(diffが0に等しい)、以下が適用される:
k=0 (8-222)
a=0 (8-223)
b=minC (8-224)
8. x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]が次のように導出される:
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b) (8-225)
[実施形態例の終了]
3.7 提案されるCCLM予測についての別の例示的な作業草案
このセクションでは、VVC標準の現段階での作業草案に対して行うことができる変更を示す別の例示実施形態が記述される。ここでの式番号は、VVC標準における対応する式番号を指す。
INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMイントラ予測モードの仕様

右及び右上の利用可能な隣接クロマサンプルの数numTopSampと、左及び左下の利用可能な隣接クロマサンプルの数nLeftSampは、次のように導出される:
- predModeIntraがINTRA_LT_CCLMに等しい場合、以下が適用される:
numSampT=availT? nTbW:0 (8-157)
numSampL=availL? nTbH:0 (8-158)
- それ以外の場合、以下が適用される:
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?
(nTbW+Min(numTopRight,nTbH)):0 (8-159)
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?
(nTbH+Min(numLeftBelow, nTbW)):0 (8-160)
変数bCTUboundaryは次のように導出される:
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)? TRUE:FALSE (8-161)
変数cntN、及びNをL及びTで置き換えての配列pickPosN[]は、次のように導出される:
- 変数numIs4Nは((availN&&predModeIntra==INTRA_LT_CCLM)? 0:1)に等しく設定される
- 変数startPosNはnumSampN>>(2+numIs4N)に等しく設定される
- 変数pickStepNはMax(1,numSampN>>(1+numIs4N))に等しく設定される
- availNがTRUEに等しく、且つpredModeIntraがINTRA_LT_CCLM又はINTRA_N_CCLMに等しい場合、cntNはMin(numSampN,(1+numIs4N)<<1)に等しく設定され、pickPosN[pos]は(startPosN+pos*pickStepN),withpos=0..(cntN-1)に等しく設定される
- それ以外の場合、cntNは0に等しく設定される
x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]は次のように導出される:
- numSampL及びnumSampTの両方が0に等し場合、以下が適用される:
predSamples[x][y]=1<<(BitDepthC-1) (8-162)
- それ以外の場合、以下の順序付けられたステップが適用される:
1. 位置(xTbY+x,yTbY+y)でのデブロッキングフィルタプロセスに先立って、x=0..nTbW*2-1, y=0..nTbH*2-1のコロケートルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
2. 隣接ルマサンプルpY[x][y]が次のように導出される:
- numSampLが0よりも大きいとき、位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する左の、x=-1..-3, y=0..2*numSampL-1のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
- numSampTがおよりも大きいとき、位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する上の、x=0..2*numSampT-1, y=-1,-2のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
- availTLがTRUEに等しいとき、位置(xTbY+x, yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する左上の、x=-1, y=-1,-2のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
3. ダウンサンプリングされたx=0..nTbW-1, y=0..nTbH-1のコロケートルマサンプルpDsY[x][y]が次のように導出される:
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- x=1..nTbW-1, y=1..nTbH-1のpDsY[x][y]は次のように導出される:
pDsY[x][y]=(pY[2*x][2*y-1]+
pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+
pY[2*x][2*y+1]+4)>>3 (8-163)
- availLがTRUEに等しい場合、y=1..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y-1]+
pY[-1][2*y]+4*pY[0][2*y]+pY[1][2*y]+
pY[0][2*y+1]+4)>>3 (8-164)
- それ以外の場合、y=1..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2 (8-165)
- availTがTRUEに等しい場合、x=1..nTbW-1のpDsY[x][0]は次のように導出される:
pDsY[x][0]=(pY[2*x][-1]+
pY[2*x-1][0]+4*pY[2*x][0]+pY[2*x+1][0]+
pY[2*x][1]+4)>>3 (8-166)
- それ以外の場合、x=1..nTbW-1のpDsY[x][0]は次のように導出される:
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2 (8-167)
- availLがTRUEに等しく、且つavailTがTRUEに等しい場合、pDsY[0][0]は次のように導出される:
pDsY[0][0]=(pY[0][-1]+
pY[-1][0]+4*pY[0][0]+pY[1][0]+
pY[0][1]+4)>>3 (8-168)
- そうでなく、availLがTRUEに等しく、且つavailTがFALSEに等しい場合、pDsY[0][0]は次のように導出される:
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2 (8-169)
- そうでなく、availLがFALSEに等しく、且つavailTがTRUEに等しい場合、pDsY[0][0]は次のように導出される:
pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-170)
- それ以外の場合(availLがFALSEに等しく、且つavailTがFALSEに等しい)、pDsY[0][0]は次のように導出される:
pDsY[0][0]=pY[0][0] (8-171)
- それ以外の場合、以下が適用される:
- x=1..nTbW-1, y=0..nTbH-1のpDsY[x][y]は次のように導出される:
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+
2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+
pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-172)
- availLがTRUEに等しい場合、y=0..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[-1][2*y]+pY[-1][2*y+1]+
2*pY[0][2*y]+2*pY[0][2*y+1]+
pY[1][2*y]+pY[1][2*y+1]+4)>>3 (8-173)
- それ以外の場合、y=0..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1 (8-174)
4. numSampLが0よりも大きいとき、選択される隣接する左クロマサンプルpSelC[idx]は、idx=0..(cntL-1)のp[-1][pickPosL[idx]]に等しく設定され、選択されるダウンサンプリングされた左のidx=0..(cntL-1)のルマサンプルpSelDsY[idx]は次のように導出される:
- 変数yはpickPosL[idx]に等しく設定される
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- If y>0||availTL==TRUE,
pSelDsY[idx]=(pY[-2][2*y-1]+
pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+
pY[-2][2*y+1]+4)>>3 (8-175)
- それ以外の場合、
pSelDsY[idx]=(pY[-3][0]+2*pY[-2][0]+pY[-1][0]+2)>>2 (8-177)
- それ以外の場合、以下が適用される:
pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+1]+
2*pY[-2][2*y]+2*pY[-2][2*y+1]+
pY[-3][2*y]+pY[-3][2*y+1]+4)>>3 (8-178)
5. numSampTが0よりも大きいとき、選択される隣接する上クロマサンプルpSelC[idx]は、idx=0..(cntT-1)のp[pickPosT[idx]][-1]に等しく設定され、ダウンサンプリングされた隣接する上の、idx=cntL..(cntL+cntT-1)のルマサンプルpSelDsY[idx]は次のように規定される:
- xはpickPosT[idx-cntL]に等しく設定される
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- x>0の場合:
- bCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[2*x][-3]+
pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+
pY[2*x][-1]+4)>>3 (8-179)
- それ以外の場合(bCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-1]+
2*pY[2*x][-1]+
pY[2*x+1][-1]+2)>>2 (8-180)
- それ以外の場合、
- availTLがTRUEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-3]+
pY[-1][-2]+4*pY[0][-2]+pY[1][-2]+
pY[0][-1]+4)>>3 (8-181)
- そうでなく、availTLがTRUEに等しく、且つbCTUboundaryがTRUEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-1]+
2*pY[0][-1]+
pY[1][-1]+2)>>2 (8-182)
- そうでなく、availTLがFALSEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-3]+2*pY[0][-2]+pY[0][-1]+2)>>2 (8-183)
- それ以外の場合(availTLがFALSEに等しく、且つbCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=pY[0][-1] (8-184)
- それ以外の場合、以下が適用される:
- x>0の場合:
- bCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+
2*pY[2*x][-2]+2*pY[2*x][-1]+
pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3 (8-185)
- それ以外の場合(bCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-1]+
2*pY[2*x][-1]+
pY[2*x+1][-1]+2)>>2 (8-186)
- それ以外の場合
- availTLがTRUEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-2]+pY[-1][-1]+
2*pY[0][-2]+2*pY[0][-1]+
pY[1][-2]+pY[1][-1]+4)>>3 (8-187)
- そうでなく、availTLがTRUEに等しく、且つbCTUboundaryがTRUEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-1]+
2*pY[0][-1]+
pY[1][-1]+2)>>2 (8-188)
- そうでなく、availTLがFALSEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1 (8-189)
- それ以外の場合(availTLがFALSEに等しく、且つbCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=pY[0][-1] (8-190)
6. cntT+ cntLが0に等しくないとき、変数minY、maxY、minC及びmaxCが次のように導出される:

- cntT+cntLが2に等しいとき、CompをDsY及びCで置き換えて、pSelComp[3]をpSelComp[0]に等しく設定し、pSelComp[2]をpSelComp[1]に等しく設定し、pSelComp[0]をpSelComp[1]に等しく設定し、そして、pSelComp[1]をpSelComp[3] に等しく設定する
- 配列minGrpIdx[]及びmaxGrpIdx[]は以下のように設定される:minGrpIdx[0]=0, minGrpIdx[1]=1, maxGrpIdx[0]=2, maxGrpIdx[1]=3
- If pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], Swap(minGrpIdx[0], minGrpIdx[1]).
- If pSelDsY[maxGrpIdx[0]]>pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
- If pSelDsY[minGrpIdx[0]]>pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx).
- If pSelDsY[minGrpIdx[1]]>pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
- maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+1)>>1.
- maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+1)>>1.
- minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1.
- minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1.
7. 変数a、b、及びkが次のように導出される:
- numSampLが0に等しく、且つnumSampTが0に等しい場合、以下が適用される:
k=0 (8-208)
a=0 (8-209)
b=1<<(BitDepthC-1) (8-210)
- それ以外の場合、以下が適用される:
diff=maxY-minY (8-211)
- diffが0に等しくない場合、以下が適用される:
diffC=maxC-minC (8-212)
x=Floor(Log2(diff)) (8-213)
normDiff=((diff<<4)>>x)&15 (8-214)
x+=(normDiff!=0)?1:0 (8-215)
y=Floor(Log2(Abs(diffC)))+1 (8-216)
a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y (8-217)
k=((3+x-y)<1)?1:3+x-y (8-218)
a=((3+x-y)<1)?Sign(a)*15:a (8-219)
b=minC-((a*minY)>>k) (8-220)
ここで、divSigTable[]は次のように規定される:
divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (8-221)
- それ以外の場合(diffが0に等しい)、以下が適用される:
k=0 (8-222)
a=0 (8-223)
b=minC (8-224)
8. x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]が次のように導出される:
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b) (8-225)
3.8 提案されるCCLM予測についての代替的な作業草案
このセクションでは、VVC標準の現段階での作業草案に対して行うことができる別の変更を示す代替的な例示実施形態が記述される。ここでの式番号は、VVC標準における対応する式番号を指す。
INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMイントラ予測モードの仕様

右及び右上の利用可能な隣接クロマサンプルの数numTopSampと、左及び左下の利用可能な隣接クロマサンプルの数nLeftSampは、次のように導出される:
- predModeIntraがINTRA_LT_CCLMに等しい場合、以下が適用される:
numSampT=availT? nTbW:0 (8-157)
numSampL=availL? nTbH:0 (8-158)
- それ以外の場合、以下が適用される:
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?
(nTbW+Min(numTopRight,nTbH)):0 (8-159)
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?
(nTbH+Min(numLeftBelow,nTbW)):0 (8-160)
変数bCTUboundaryは次のように導出される:
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)? TRUE:FALSE (8-161)
変数cntN、及びNをL及びTで置き換えての配列pickPosN[]は、次のように導出される:
- 変数numIs4Nは((availT&&availL&&predModeIntra==INTRA_LT_CCLM)? 0:1)に等しく設定される
- 変数startPosNはnumSampN>>(2+numIs4N)に等しく設定される
- 変数pickStepNはMax(1,numSampN>>(1+numIs4N))に等しく設定される
- availNがTRUEに等しく、且つpredModeIntraがINTRA_LT_CCLM又はINTRA_N_CCLMに等しい場合、cntNはMin(numSampN,(1+numIs4N)<<1)に等しく設定され、pickPosN[pos]は、pos=0..(cntN-1)での(startPosN+pos*pickStepN)に等しく設定される
- それ以外の場合、cntNは0に等しく設定される
x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]は次のように導出される:
- numSampL及びnumSampTの両方が0に等し場合、以下が適用される:
predSamples[x][y]=1<<(BitDepthC-1) (8-162)
- それ以外の場合、以下の順序付けられたステップが適用される:
1. 位置(xTbY+x,yTbY+y)でのデブロッキングフィルタプロセスに先立って、x=0..nTbW*2-1, y=0..nTbH*2-1のコロケートルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
2. 隣接ルマサンプルpY[x][y]が次のように導出される:
- numSampLが0よりも大きいとき、位置(xTbY+x,yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する左の、x=-1..-3, y=0..2*numSampL-1のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
- numSampTがおよりも大きいとき、位置(xTbY+x,yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する上の、x=0..2*numSampT-1, y=-1,-2のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
- availTLがTRUEに等しいとき、位置(xTbY+x,yTbY+y)でのデブロッキングフィルタプロセスに先立って、隣接する左上の、x=-1, y=-1,-2のルマサンプルpY[x][y]が再構成ルマサンプルに等しく設定される
3. ダウンサンプリングされたx=0..nTbW-1, y=0..nTbH-1のコロケートルマサンプルpDsY[x][y]が次のように導出される:
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- x=1..nTbW-1, y=1..nTbH-1のpDsY[x][y]は次のように導出される:
pDsY[x][y]=(pY[2*x][2*y-1]+
pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+
pY[2*x][2*y+1]+4)>>3 (8-163)
- availLがTRUEに等しい場合、y=1..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y-1]+
pY[-1][2*y]+4*pY[0][2*y]+pY[1][2*y]+
pY[0][2*y+1]+4)>>3 (8-164)
- それ以外の場合、y=1..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2 (8-165)
- availTがTRUEに等しい場合、x=1..nTbW-1のpDsY[x][0]は次のように導出される:
pDsY[x][0]=(pY[2*x][-1]+
pY[2*x-1][0]+4*pY[2*x][0]+pY[2*x+1][0]+
pY[2*x][1]+4)>>3 (8-166)
- それ以外の場合、x=1..nTbW-1のpDsY[x][0]は次のように導出される:
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2 (8-167)
- availLがTRUEに等しく、且つavailTがTRUEに等しい場合、pDsY[0][0]は次のように導出される:
pDsY[0][0]=(pY[0][-1]+
pY[-1][0]+4*pY[0][0]+pY[1][0]+
pY[0][1]+4)>>3 (8-168)
- そうでなく、availLがTRUEに等しく、且つavailTがFALSEに等しい場合、pDsY[0][0]は次のように導出される:
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2 (8-169)
- そうでなく、availLがFALSEに等しく、且つavailTがTRUEに等しい場合、pDsY[0][0]は次のように導出される:
pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-170)
- それ以外の場合(availLがFALSEに等しく、且つavailTがFALSEに等しい)、pDsY[0][0]は次のように導出される:
pDsY[0][0]=pY[0][0] (8-171)
- それ以外の場合、以下が適用される:
- x=1..nTbW-1, y=0..nTbH-1のpDsY[x][y]は次のように導出される:
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+
2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+
pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-172)
- availLがTRUEに等しい場合、y=0..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[-1][2*y]+pY[-1][2*y+1]+
2*pY[0][2*y]+2*pY[0][2*y+1]+
pY[1][2*y]+pY[1][2*y+1]+4)>>3 (8-173)
- それ以外の場合、y=0..nTbH-1のpDsY[0][y]は次のように導出される:
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1 (8-174)
4. numSampLが0よりも大きいとき、選択される隣接する左クロマサンプルpSelC[idx]は、idx=0..(cntL-1)のp[-1][pickPosL[idx]]に等しく設定され、選択されるダウンサンプリングされた左のidx=0..(cntL-1)のルマサンプルpSelDsY[idx]は次のように導出される:
- 変数yはpickPosL[idx]に等しく設定される
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- If y>0||availTL==TRUE,
pSelDsY[idx]=(pY[-2][2*y-1]+
pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+
pY[-2][2*y+1]+4)>>3 (8-175)
- それ以外の場合、
pSelDsY[idx]=(pY[-3][0]+2*pY[-2][0]+pY[-1][0]+2)>>2 (8-177)
- それ以外の場合、以下が適用される:
pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+1]+
2*pY[-2][2*y]+2*pY[-2][2*y+1]+
pY[-3][2*y]+pY[-3][2*y+1]+4)>>3 (8-178)
5. numSampTが0よりも大きいとき、選択される隣接する上クロマサンプルpSelC[idx]は、idx=cntL..(cntL+cntT-1)のp[pickPosT[idx-cntL]][-1]に等しく設定され、ダウンサンプリングされた隣接する上の、idx=cntL..(cntL+cntT-1)のルマサンプルpSelDsY[idx]は次のように規定される:
- xはpickPosT[idx-cntL]に等しく設定される
- sps_cclm_colocated_chroma_flagが1に等しい場合、以下が適用される:
- x > 0の場合:
- bCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[2*x][-3]+
pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+
pY[2*x][-1]+4)>>3 (8-179)
- それ以外の場合(bCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-1]+
2*pY[2*x][-1]+
pY[2*x+1][-1]+2)>>2 (8-180)
- それ以外の場合、
- availTLがTRUEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-3]+
pY[-1][-2]+4*pY[0][-2]+pY[1][-2]+
pY[0][-1]+4)>>3 (8-181)
- そうでなく、availTLがTRUEに等しく、且つbCTUboundaryがTRUEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-1]+
2*pY[0][-1]+
pY[1][-1]+2)>>2 (8-182)
- そうでなく、availTLがFALSEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-3]+2*pY[0][-2]+pY[0][-1]+2)>>2 (8-183)
- それ以外の場合(availTL がFALSEに等しく、且つbCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=pY[0][-1] (8-184)
- それ以外の場合、以下が適用される:
- x>0の場合:
- bCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+
2*pY[2*x][-2]+2*pY[2*x][-1]+
pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3 (8-185)
- それ以外の場合(bCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=(pY[2*x-1][-1]+
2*pY[2*x][-1]+
pY[2*x+1][-1]+2)>>2 (8-186)
- それ以外の場合
- availTLがTRUEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-2]+pY[-1][-1]+
2*pY[0][-2]+2*pY[0][-1]+
pY[1][-2]+pY[1][-1]+4)>>3 (8-187)
- そうでなく、availTLがTRUEに等しく、且つbCTUboundaryがTRUEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[-1][-1]+
2*pY[0][-1]+
pY[1][-1]+2)>>2 (8-188)
- そうでなく、availTLがFALSEに等しく、且つbCTUboundaryがFALSEに等しい場合、以下が適用される:
pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1 (8-189)
- それ以外の場合(availTLがFALSEに等しく、且つbCTUboundaryがTRUEに等しい)、以下が適用される:
pSelDsY[idx]=pY[0][-1] (8-190)
6. cntT+cntLが0に等しくないとき、変数minY、maxY、minC及びmaxCが次のように導出される:

- cntT+cntLが2に等しいとき、CompをDsY及びCで置き換えて、pSelComp[3]をpSelComp[0]に等しく設定し、pSelComp[2]をpSelComp[1]に等しく設定し、pSelComp[0]をpSelComp[1]に等しく設定し、そして、pSelComp[1]をpSelComp[3]に等しく設定する
- 配列minGrpIdx[]及びmaxGrpIdx[]は以下のように設定される:minGrpIdx[0]=0, minGrpIdx[1]=2, maxGrpIdx[0]=1, maxGrpIdx[1]=3
- If pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], Swap(minGrpIdx[0], minGrpIdx[1]).
- If pSelDsY[maxGrpIdx[0]]>pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
- If pSelDsY[minGrpIdx[0]]>pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx ).
- If pSelDsY[minGrpIdx[1]]>pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
- maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+1)>>1.
- maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+1)>>1.
- minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1.
- minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1.
7. 変数a、b、及びkが次のように導出される:
- numSampLが0に等しく、且つnumSampTが0に等しい場合、以下が適用される:
k=0 (8-208)
a=0 (8-209)
b=1<<(BitDepthC-1) (8-210)
- それ以外の場合、以下が適用される:
diff=maxY-minY (8-211)
- diffが0に等しくない場合、以下が適用される:
diffC=maxC-minC (8-212)
x=Floor(Log2(diff)) (8-213)
normDiff=((diff<<4)>>x)&15 (8-214)
x+=(normDiff!=0)? 1:0 (8-215)
y=Floor(Log2(Abs(diffC)))+1 (8-216)
a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y (8-217)
k=((3+x-y)<1)? 1:3+x-y (8-218)
a=((3+x-y)<1)? Sign(a)*15:a (8-219)
b=minC-((a*minY)>>k) (8-220)
ここで、divSigTable[]は次のように規定される:
divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (8-221)
- それ以外の場合(diffが0に等しい)、以下が適用される:
k=0 (8-222)
a=0 (8-223)
b=minC (8-224)
8. x=0..nTbW-1,y=0..nTbH-1の予測サンプルpredSamples[x][y]が次のように導出される:
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b) (8-225)
上述の例は、ビデオエンコーダ及び/又はデコーダにて実装され得る以下に記載される例えば方法1800、1900及び2000などの方法のコンテキストで組み込まれ得る。
図18Aは、映像処理のための例示的な方法のフローチャートを示している。方法1810は、ステップ1812にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含み、Wは整数である。方法1810は更に、ステップ1814にて、上記決定に基づいて変換を実行することを含む。
図18Bは、映像処理のための例示的な方法のフローチャートを示している。方法1820は、ステップ1822にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、H個の利用可能な、現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定することを含む。方法1820は更に、ステップ1824にて、上記決定に基づいて変換を実行することを含む。
図19Aは、映像処理のための例示的な方法のフローチャートを示している。方法1910は、ステップ1912にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、2つ又は4つのクロマサンプル及び/又は対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含む。方法1910は更に、ステップ1914にて、上記決定に基づいて変換を実行することを含む。
図19Bは、映像処理のための例示的な方法のフローチャートを示している。方法1920は、ステップ1922にて、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、位置ルールに基づいてクロマサンプルを選択するステップであり、前記クロマサンプルは、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用される。方法1920は更に、ステップ1924にて、上記決定に基づいて変換を実行することを含む。この例において、位置ルールは、現在映像ブロックの上の行及び/又は左の列内に位置するクロマサンプルを選択するように規定する。
図20Aは、映像処理のための例示的な方法のフローチャートを示している。方法2010は、ステップ2012にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、ルマサンプルがダウンサンプリングされる位置を決定することを含み、ダウンサンプリングされたルマサンプルは、クロマサンプル及びダウンサンプリングされたルマサンプルに基づいてクロスコンポーネント線形モデル(CCLM)のパラメータを決定するために使用され、ダウンサンプリングされたルマサンプルは、CCLMのパラメータを導出するために使用されるクロマサンプルの位置に対応する位置にある。方法2010は更に、ステップ2014にて、上記決定に基づいて変換を実行することを含む。
図20Bは、映像処理のための例示的な方法のフローチャートを示している。方法2020は、ステップ2022にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックに関連する符号化条件に基づいて、クロマサンプル及びルマサンプルを用いてクロスコンポーネント線形モデル(CCLM)のパラメータを導出する方法を決定することを含む。方法2020は更に、ステップ2024にて、上記決定に基づいて変換を実行することを含む。
図20Cは、映像処理のための例示的な方法のフローチャートを示している。方法2030は、ステップ2032にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの左の隣接ブロック及び上の隣接ブロックの利用可能性に基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用されるルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値を導出すべきかを決定することを含む。方法2030は更に、ステップ2034にて、上記決定に基づいて変換を実行することを含む。
開示される技術の実装例
図21Aは、映像処理装置3000のブロック図である。装置3000は、ここに記載される方法のうちの1つ以上を実装するために使用され得る。装置3000は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器にて具現化され得る。装置3000は、1つ以上のプロセッサ3002、1つ以上のメモリ3004、及び映像処理ハードウェア3006を含み得る。(1つ以上の)プロセッサ3002は、本文書に記載される1つ以上の方法(これらに限られないが、図18-29Cに示した方法を含む)を実行するように構成され得る。(1つ以上の)メモリ3004は、ここに記載される方法及び技術を実行するのに使用されるデータ及びコードを格納するために使用され得る。映像処理ハードウェア3006は、本文書に記載される一部の技術をハードウェア回路にて実装するために使用され得る。
図21Bは、開示される技術が実装され得る映像処理システムのブロック図の他の一例である。図21Bは、ここに開示される様々な技術が実装され得る映像処理システム3100の一例を示すブロック図である。様々な実装は、システム3100のコンポーネントの一部又は全てを含み得る。システム3100は、映像コンテンツを受信する入力3102を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力3102は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
システム3100は、本文書に記載される様々なコーディング又は符号化方法を実装し得る符号化コンポーネント3104を含み得る。符号化コンポーネント3104は、入力3102から符号化コンポーネント3104の出力まで映像の平均ビットレートを低減させて、映像の符号化表現を生成し得る。符号化技術は、それ故に、映像圧縮技術又は映像トランスコーディング技術と呼ばれることがある。符号化コンポーネント3104の出力は、格納されるか、コンポーネント3106によって表されるように接続されて通信を介して伝送されるかし得る。入力3102で受信された映像の格納又は通信されるビットストリーム(又は符号化)表現は、ディスプレイインタフェース3110に送られるピクセル値又は表示可能映像を生成するためにコンポーネント3108によって使用され得る。ビットストリーム表現からユーザが見ることができる映像を生成するプロセスは、映像解凍と呼ばれることがある。また、特定の映像処理操作が“符号化”の操作又はツールとして参照されることがあるが、理解されることには、符号化のツール又は操作はエンコーダで使用され、符号化の結果を裏返す対応する復号のツール又は操作がデコーダで実行されることになる。
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインタフェース(HDMI(登録商標))又はディスプレイポート(Displayport)などを含み得る。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェースなどを含む。本文書に記載される技術は、例えば携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実行することが可能な他の装置などの、種々のエレクトロニクス装置にて具現化され得る。
一部の実施形態において、映像符号化方法は、図21A又は21Bに関して説明したようなハードウェアプラットフォーム上に実装される装置を用いて実行され得る。
一部の実施形態に好適に組み込まれる様々な技術が、以下の項ベースの形式を用いて記述され得る。
第1組の項は、例えば例16及び例17を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップであり、Wは整数である、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
2. 前記CCLM予測モードは、線形モードを用いて、クロマコンポーネントの予測値を別のコンポーネントから導出する、項1に記載の方法。
3. Wは、i)前記現在映像ブロックの幅、ii)Lは整数として、前記現在映像ブロックの前記幅のL倍、iii)前記現在映像ブロックの高さと前記現在映像ブロックの幅との和、又はiv)前記現在映像ブロックの前記幅と利用可能な右上の隣接サンプルの数との和に設定される、項1に記載の方法。
4. Wは、前記現在映像ブロックの上の隣接ブロック又は左の隣接ブロックのうちの少なくとも1つの利用可能性に依存する、項1に記載の方法。
5. Wは、前記現在映像ブロックの符号化モードに依存する、項1に記載の方法。
6. Lは、前記現在映像ブロックに隣接して位置する右上のブロック又は左上のサンプルの利用可能性に依存する値を持つ、項3に記載の方法。
7. 前記クロマサンプルは、第1位置オフセット値(F)及びステップ値(S)に基づいて選択され、第1位置オフセット値(F)及びステップ値(S)はWに依存する、項1に記載の方法。
8. 左上のサンプルが座標(x0,y0)を有し、前記選択されるクロマサンプルは座標(x0+F+K×S,y0-1)を有し、Kは、0とkMaxとの間の整数である、項7に記載の方法。
9. F=W/P又はF=W/P+offsetであり、Pは整数である、項7に記載の方法。
10. F=W>>(2+numIs4T)であり、numIs4Tは、上の隣接行内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Tは0に等しく、記号>>は、算術右シフト記号として定義される、項9に記載の方法。
11. S=W/Qであり、Qは整数である、項7に記載の方法。
12. Sは1以上である、項7に記載の方法。
13. S=Max(1,W>>(1+numIs4T))であり、numIs4Tは、上の隣接行内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Tは0に等しく、記号>>は、算術右シフト記号として定義される、項11又は12に記載の方法。
14. 上の隣接サンプルが利用可能であり、左の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、左の隣接サンプルのみを使用する第1のCCLMとは異なり且つ上の隣接サンプルのみを使用する第2のCCLMとは異なる通常CCLMで符号化される場合、numIs4Tは1に等しい、項10又は13に記載の方法。
15. F=S/Rであり、Rは整数である、項7に記載の方法。
16. S=F/Zであり、Zは整数である、項7に記載の方法。
17. Kmax、F、S、又はoffsetのうちの少なくとも1つが、左の隣接サンプルのみを使用する第1のCCLM、上の隣接サンプルのみを使用する第2のCCLM、左の隣接サンプル及び上の隣接サンプルの双方を使用する通常CCLM、又は前記第1のCCLMとも前記第2のCCLMとも前記通常CCLMとも異なるその他モード、のうちの1つである前記現在映像ブロックの予測モードに依存する、項8乃至16のいずれかに記載の方法。
18. Kmax、F、S、又はoffsetのうちの少なくとも1つが、前記現在映像ブロックの幅及び/又は高さに依存する、項8乃至16のいずれかに記載の方法。
19. Kmax、F、S、又はoffsetのうちの少なくとも1つが、隣接サンプルの利用可能性に依存する、項8乃至16のいずれかに記載の方法。
20. Kmax、F、S、又はoffsetのうちの少なくとも1つがWに依存する、項8乃至16のいずれかに記載の方法。
21. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、H個の利用可能な、前記現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
22. 前記CCLM予測モードは、線形モードを用いて、クロマコンポーネントの予測値を別のコンポーネントから導出する、項21に記載の方法。
23. Hは、i)前記現在映像ブロックの高さ、ii)Lは整数として、前記現在映像ブロックの前記高さのL倍、iii)前記現在映像ブロックの高さと前記現在映像ブロックの幅との和、又はiv)前記現在映像ブロックの前記高さと利用可能な左下の隣接サンプルの数との和に設定される、項21に記載の方法。
24. Hは、前記現在映像ブロックの上の隣接ブロック又は左の隣接ブロックのうちの少なくとも1つの利用可能性に依存する、項21に記載の方法。
25. Hは、前記現在映像ブロックの符号化モードに依存する、項21に記載の方法。
26. Lは、前記現在映像ブロックに隣接して位置する左下のブロック又は左下のサンプルの利用可能性に依存する値を持つ、項23に記載の方法。
27. 前記クロマサンプルは、第1位置オフセット値(F)及びステップ値(S)に基づいて選択され、第1位置オフセット値(F)及びステップ値(S)はHに依存する、項21に記載の方法。
28. 左上のサンプルが座標(x0,y0)を有し、前記選択されるクロマサンプルは座標(x0-1,y0+F+K×S)を有し、Kは、0とkMaxとの間の整数である、項27に記載の方法。
29. F=H/P又はF=H/P+offsetであり、Pは整数である、項27に記載の方法。
30. F=H>>(2+numIs4L)であり、numIs4Lは、左の隣接列内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合には0に等しい、項29に記載の方法。
31. S=H/Qであり、Qは整数である、項27に記載の方法。
32. Sは1以上である、項27に記載の方法。
33. S=Max(1,H>>(1+numIs4L))であり、numIs4Lは、左の隣接列内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Lは0に等しい、項31又は32に記載の方法。
34. 上の隣接サンプルが利用可能であり、左の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、左の隣接サンプルのみを使用する第1のCCLMとは異なり且つ上の隣接サンプルのみを使用する第2のCCLMとは異なる通常CCLMで符号化される場合、numIs4Lは1に等しい、項30又は33に記載の方法。
35. F=S/Rであり、Rは整数である、項27に記載の方法。
36. S=F/Zであり、Zは整数である、項27に記載の方法。
37. Kmax、F、S、又はoffsetのうちの少なくとも1つが、左の隣接サンプルのみを使用する第1のCCLM、上の隣接サンプルのみを使用する第2のCCLM、左の隣接サンプル及び上の隣接サンプルの双方を使用する通常CCLM、又は前記第1のCCLMとも前記第2のCCLMとも前記通常CCLMとも異なるその他モード、のうちの1つである前記現在映像ブロックの予測モードに依存する、項28乃至36のいずれかに記載の方法。
38. Kmax、F、S、又はoffsetのうちの少なくとも1つが、前記現在映像ブロックの幅及び/又は高さに依存する、項26乃至34のいずれかに記載の方法。
39. Kmax、F、S、又はoffsetのうちの少なくとも1つがHに依存する、項28乃至36のいずれかに記載の方法。
40. Kmax、F、S、又はoffsetのうちの少なくとも1つが、隣接サンプルの利用可能性に依存する、項28乃至36のいずれかに記載の方法。
41. Hは、前記現在映像ブロックの右上の隣接ブロックが利用可能である場合に、前記現在映像ブロックの高さと前記現在映像ブロックの幅との和に設定される、項21に記載の方法。
42. 左の隣接サンプルが利用可能でない場合、前記選択されるクロマサンプルは、前記現在映像ブロックが上の隣接サンプルのみを使用する第1のCCLMを有するか否かにかかわらずに、高さHを持つ、項21に記載の方法。
43. Wは、前記現在映像ブロックの左下の隣接ブロックが利用可能である場合に、前記現在映像ブロックの高さと前記現在映像ブロックの幅との和に設定される、項1に記載の方法。
44. 上の隣接サンプルが利用可能でない場合、前記選択されるクロマサンプルは、前記現在映像ブロックが左の隣接サンプルのみを使用する第1のCCLMを有するか否かにかかわらずに、Wの数を持つ、項1に記載の方法。
45. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至44のいずれかに記載の方法。
46. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至44のいずれかに記載の方法。
47. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至46のいずれか一項に記載の方法を実行させる、装置。
48. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至46のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
第2組の項は、例えば例18及び例19を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、2つ又は4つのクロマサンプル及び/又は対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
2. 前記対応するルマサンプルはダウンサンプリングによって得られる、項1に記載の方法。
3. maxY、maxC、minY、及びminCが、先ず導出され、前記パラメータを導出するために使用される、項1に記載の方法。
4. 前記パラメータは、二点アプローチに基づいて導出される、項3に記載の方法。
5. 前記2つのクロマサンプルが、前記maxY、前記maxC、前記minY、及び前記minCを導出するために選択され、小さい方のルマサンプル値に前記minYが設定され、それの対応するクロマサンプル値が前記minCであり、大きい方のルマサンプル値に前記maxYが設定され、それの対応するクロマサンプル値が前記maxCである、項3に記載の方法。
6. 前記4つのクロマサンプルが、前記maxY、maxC、前記minY、及び前記minCを導出するために選択され、前記4つのクロマサンプル及び前記対応するルマサンプルは、2つの配列G0及びG1に分割され、各配列が、2つのクロマサンプル及びそれらの対応するルマサンプルを含む、項3に記載の方法。
7. 前記2つの配列G0及びG1は、以下の集合:
i) G0={S0,S1}、G1={S2,S3}、
ii) G0={S1,S0}、G1={S3,S2}、
iii) G0={S0,S2}、G1={S1,S3}、
iv) G0={S2,S0}、G1={S3,S1}、
v) G0={S1,S2}、G1={S0,S3}、
vi) G0={S2,S1}、G1={S3,S0}、
vii) G0={S0,S3}、G1={S1,S2}、
viii) G0={S3,S0}、G1={S2,S1}、
ix) G0={S1,S3}、G1={S0,S2}、
x) G0={S3,S1}、G1={S2,S0}、
xi) G0={S3,S2}、G1={S0,S1}、又は
xii) Xii)G0={S2,S3}、G1={S1,S0}、
のうちの1つを含み、
S0、S1、S2、S3は、それぞれ、前記4つのクロマサンプルを含み、それぞれ、対応するルマサンプルを更に含む、
項6に記載の方法。
8. G0[0]及びG0[1]の2つのルマサンプル値の比較を受けて、G0[0]のクロマサンプル及びその対応するルマサンプルがG0[1]のそれらと交換される、項7に記載の方法。
9. G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも大きい場合、G0[0]のクロマサンプル及びその対応するルマサンプルがG0[1]のそれらと交換される、項8に記載の方法。
10. G1[0]及びG1[1]の2つのルマサンプル値の比較を受けて、G1[0]のクロマサンプル及びその対応するルマサンプルがG1[1]のそれらと交換される、項7に記載の方法。
11. G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G1[0]のクロマサンプル及びその対応するルマサンプルがG1[1]のそれらと交換される、項10に記載の方法。
12. G0[0]及びG1[1]の2つのルマサンプル値の比較を受けて、G0のクロマサンプル及びその対応するルマサンプルがG1のそれらと交換される、項6に記載の方法。
13. G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G0のクロマサンプル及びその対応するルマサンプルがG1のそれらと交換される、項12に記載の方法。
14. G0[1]及びG1[0]の2つのルマサンプル値の比較を受けて、G0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]のそれらと交換される、項7に記載の方法。
15. G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい場合、G0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]のそれらと交換される、項14に記載の方法。
16. G0[0]、G0[1]、G1[0]、及びG1[1]の2つのルマサンプル値の比較を受けて、以下の交換操作が選択的に、すなわち、i)G0[0]のクロマサンプル及びその対応するルマサンプルの、G0[1]のそれらとの交換操作、ii)G1[0]のクロマサンプル及びその対応するルマサンプルの、G1[1]のそれらとの交換操作、iii)G0のクロマサンプル及びその対応するルマサンプルの、G1のそれらとの交換操作、及びiv)G0[1]のクロマサンプル及びその対応するルマサンプルの、G1[0]のそれらとの交換操作が選択的に、順に行われる、項7に記載の方法。
17. maxYは、G1[0]及びG1[1]のルマサンプル値の和に基づいて計算され、maxCは、G1[0]及びG1[1]のクロマサンプル値の和に基づいて計算される、項7又は16に記載の方法。
18. maxYは、G1[0]及びG1[1]のルマサンプル値の平均に基づいて計算され、maxCは、G1[0]及びG1[1]のクロマサンプル値の平均に基づいて計算される、項7又は16に記載の方法。
19. minYは、G0[0]及びG0[1]のルマサンプル値の和に基づいて計算され、minCは、G0[0]及びG0[1]のクロマサンプル値の和に基づいて計算される、項7又は16に記載の方法。
20. minYは、G0[0]及びG0[1]のルマサンプル値の平均に基づいて計算され、minCは、G0[0]及びG0[1]のクロマサンプル値の平均に基づいて計算される、項7又は16に記載の方法。
21. maxY及びmaxCの計算、又はminY及びminCの計算は、G0[0]、G0[1]、G1[0]及びG1[1]の2つのルマサンプル値の比較を受けて実行される複数の交換操作のいずれの交換操作の後にも行われ、前記複数の交換操作は、i)G1[0]のクロマサンプル及びその対応するルマサンプルの、G1[1]のそれらとの交換操作、ii)G0のクロマサンプル及び対応するルマサンプルの、G1のそれらとの交換操作、iii)G0[1]のクロマサンプル及びその対応するルマサンプルの、G1[0]のそれらとの交換操作、又はiv)G0[0]のクロマサンプル及び対応するルマサンプルの、G0[1]のそれらとの交換操作を含む、項17乃至20のいずれかに記載の方法。
22. 2つのクロマサンプルのみが利用可能である場合、パディングが、前記4つのクロマサンプルを提供するために、前記2つの利用可能なクロマサンプルに対して実行され、また、前記4つのルマサンプルを提供するために、前記2つの対応する利用可能なルマサンプルに対しても実行される、項1に記載の方法。
23. 前記4つのクロマサンプルは、前記2つの利用可能なクロマサンプルと、前記2つの利用可能なクロマサンプルからコピーされた2つのパディングクロマサンプルとを含み、前記4つの対応するルマサンプルは、前記2つの利用可能なルマサンプルと、前記2つの利用可能なルマサンプルからコピーされた2つのパディングルマサンプルとを含む、項22に記載の方法。
24. S0、S1、S2、S3がクロマサンプルであり、対応するルマサンプルが、前記現在映像ブロックの上の行及び/又は左の列内で所与の順序で選択される、項7に記載の方法。
25. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、位置ルールに基づいてクロマサンプルを選択するステップであり、前記クロマサンプルは、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記位置ルールは、前記現在映像ブロックの上の行及び/又は左の列内に位置するクロマサンプルを選択するように規定する、方法。
26. 前記上の行及び前記左の列は、それぞれ、W個のサンプル及びH個のサンプルを有し、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さである、項25に記載の方法。
27. 前記位置ルールは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される前記現在映像ブロックに適用される、項26に記載の方法。
28. 前記位置ルールは、前記現在映像ブロックの前記上の行及び右上の行内に位置するクロマサンプルを選択するように規定する、項26に記載の方法。
29. 前記上の行及び前記右上の行は、それぞれ、W個のサンプル及びH個のサンプルを有し、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さである、項28に記載の方法。
30. 前記上の行及び前記右上の行内の利用可能なサンプルのみが選択される、項28に記載の方法。
31. 前記位置ルールは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードで符号化される前記現在映像ブロックに適用される、項28に記載の方法。
32. 前記位置ルールは、前記上の行が利用可能であり、前記左の列が利用可能でなく、且つ、前記現在映像ブロックが、前記CCLMの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される場合に、適用される、項28に記載の方法。
33. 上の隣接サンプルが利用可能である場合にはnumSampTがnTbWに等しく設定されること、及び上の隣接サンプルが利用可能でない場合にはnumSampTが0に等しく設定されることを規定するルールに基づいて、numSampTが設定され、numSampTは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される上の隣接行内のクロマサンプルの数を表し、nTbWは、前記現在映像ブロックの幅を表す、項26乃至32のいずれかに記載の方法。
34. 前記ルールは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される前記現在映像ブロックに適用される、項33に記載の方法。
35. 上の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、前記クロスコンポーネント線形モデルの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードで符号化される場合には、numSampTがnTbW+Min(numTopRight,nTbH)に等しく設定されること、及びそれ以外の場合にはnumSampTが0に等しく設定されることを規定するルールに基づいて、numSampTが設定され、numSampTは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される上の隣接行内のクロマサンプルの数を表し、nTbW及びnTbHは、それぞれ、前記現在映像ブロックの幅及び高さを表し、numTopRightは、利用可能な右上の隣接サンプルの数を表す、項26乃至32のいずれかに記載の方法。
36. 前記位置ルールは、前記現在映像ブロックの前記左の列及び左下の列内に位置するクロマサンプルを選択するように規定する、項25に記載の方法。
37. 前記左の列及び前記左下の列は、それぞれ、H個のサンプル及びW個のサンプルを有し、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さである、項36に記載の方法。
38. 前記左の列及び前記左下の列内の利用可能なサンプルのみが選択される、項36に記載の方法。
39. 前記位置ルールは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードで符号化される前記現在映像ブロックに適用される、項36に記載の方法。
40. 前記位置ルールは、前記上の行が利用可能でなく、前記左の列が利用可能であり、且つ、前記現在映像ブロックが、前記CCLMの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される場合に、適用される、項36に記載の方法。
41. 左の隣接サンプルが利用可能である場合にはnumSampLがnTbHに等しく設定されること、及びそれ以外の場合にはnumSampLが0に等しく設定されることを規定するルールに基づいて、numSampLが設定され、numSampLは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される左の隣接列内のクロマサンプルの数を表し、nTbHは、前記現在映像ブロックの高さを表す、項36乃至40のいずれかに記載の方法。
42. 前記ルールは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される前記現在映像ブロックに適用される、項41に記載の方法。
43. 左の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、前記クロスコンポーネント線形モデルの前記パラメータを導出するために左の隣接サンプルのみを使用する第2のCCLMモードで符号化される場合には、numSampLがnTbH+Min(numLeftBelow,nTbW)に等しく設定されること、及びそれ以外の場合にはnumSampLが0に等しく設定されることを規定するルールに基づいて、numSampLが設定され、numSampLは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される左の隣接列内のクロマサンプルの数を表し、nTbW及びnTbHは、それぞれ、前記現在映像ブロックの幅及び高さを表し、numLeftBelowは、利用可能な左下の隣接サンプルの数を表す、項36乃至40のいずれかに記載の方法。
44. 選択されたクロマサンプルに対応するルマサンプルが、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項25乃至43のいずれかに記載の方法。
45. 前記ルマサンプルは、ダウンサンプリングによって導出される、項44に記載の方法。
46. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至45のいずれかに記載の方法。
47. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至45のいずれかに記載の方法。
48. 前記CCLMは、ダウンサンプリングされたコロケートルマコンポーネントサンプルを用いて、前記クロスコンポーネント線形モデルの前記パラメータを含む線形モデルに基づいて前記現在ブロックのクロマコンポーネントサンプルの予測値を導出する、項1乃至45のいずれかに記載の方法。
49. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至48のいずれか一項に記載の方法を実行させる、装置。
50. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至48のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
第3組の項は、例えば例20、21、22を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、ルマサンプルがダウンサンプリングされる位置を決定するステップであり、前記ダウンサンプリングされたルマサンプルは、クロマサンプル及びダウンサンプリングされたルマサンプルに基づいてクロスコンポーネント線形モデル(CCLM)のパラメータを決定するために使用され、前記ダウンサンプリングされたルマサンプルは、前記CCLMの前記パラメータを導出するために使用される前記クロマサンプルの位置に対応する位置にある、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
2. 前記現在映像ブロックの外にあって前記CCLMの前記パラメータを決定するために使用されない位置では、ルマサンプルはダウンサンプリングされない、項1に記載の方法。
3. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックに関連する符号化条件に基づいて、クロマサンプル及びルマサンプルを用いてクロスコンポーネント線形モデル(CCLM)のパラメータを導出する方法を決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
4. 前記符号化条件は、前記現在映像ブロックのカラーフォーマットに対応する、項3に記載の方法。
5. 前記カラーフォーマットは、4:2:0又は4:4:4である、項4に記載の方法。
6. 前記符号化条件は、前記現在映像ブロックのカラー表現方法に対応する、項3に記載の方法。
7. 前記カラー表現方法はRGB又はYCbCrである、項6に記載の方法。
8. 前記クロマサンプルはダウンサンプリングされ、前記決定は、ダウンサンプリングされたクロマサンプルの位置に依存する、項3に記載の方法。
9. パラメータを導出する前記方法は、一群の隣接クロマサンプルから位置ルールに基づいて選択された前記クロマサンプル及び前記ルマサンプルに基づいて前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
10. パラメータを導出する前記方法は、前記クロマサンプル及び前記ルマサンプルの最大値及び最小値に基づいて前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
11. パラメータを導出する前記方法は、2つのクロマサンプル及び対応する2つのルマサンプルによって完全に決定可能である前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
12. パラメータを導出する前記方法は、2つのクロマサンプル値と2つのルマサンプル値とに従ってエントリが検索されるパラメータテーブルを用いて前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
13. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの左の隣接ブロック及び上の隣接ブロックの利用可能性に基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用されるルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値を導出すべきかを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
14. 前記左の隣接ブロック及び前記上の隣接ブロックが利用可能でない場合、前記最大値及び/又は前記最小値は導出されない、項13に記載の方法。
15. 前記決定は、前記現在映像ブロックの利用可能な隣接サンプルの数に基づいて決定し、前記利用可能な隣接サンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項13に記載の方法。
16. numSampL==0且つnumSampT==0である場合、前記最大値及び/又は前記最小値は導出されず、numSampL及びnumSampTは、それぞれ、左の隣接ブロックからの利用可能な隣接サンプルの数及び上の隣接ブロックからの利用可能な隣接サンプルの数を示し、前記左の隣接ブロックからの前記利用可能な隣接サンプル及び前記上の隣接ブロックからの前記利用可能な隣接サンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項15に記載の方法。
17. numSampL+numSampT==0の場合、前記最大値及び/又は前記最小値は導出されず、numSampL及びnumSampTは、それぞれ、左の隣接ブロックからの利用可能な隣接サンプルの数及び上の隣接ブロックからの利用可能な隣接サンプルの数を示し、前記左の隣接ブロックからの前記利用可能な隣接サンプル及び前記上の隣接ブロックからの前記利用可能な隣接サンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項15に記載の方法。
18. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至17のいずれかに記載の方法。
19. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至17のいずれかに記載の方法。
20. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至19のいずれか一項に記載の方法を実行させる、装置。
21. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至19のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
第4組の項は、先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
1. 映像処理のための方法であって、クロマブロックを有する現在映像ブロックについて2つ以上のクロマサンプルに基づいて、線形モデルのパラメータに関する値のセットを決定するステップであり、前記2つ以上のクロマサンプルは、前記クロマブロックに対する隣接するクロマサンプルのグループから選択される、ステップと、前記線形モデルに基づいて前記現在映像ブロックを再構成するステップと、を有する方法。
2. 前記クロマブロックの左上サンプルが(x,y)であり、前記クロマブロックの幅及び高さがそれぞれW及びHであり、隣接クロマサンプルの前記グループは、
座標(x-1,y)を有するサンプルA、
座標(x-1,y+H-1)を有するサンプルD、
座標(x,y-1)を有するサンプルJ、
座標(x+W-1,y-1)を有するサンプルM、
を有する、項1に記載の方法。
3. 前記現在映像ブロックの左上の隣接ブロック及び上の隣接ブロックが利用可能であり、前記2つ以上のクロマサンプルは前記サンプルA、D、J、及びMを有する、項2に記載の方法。
4. 前記現在映像ブロックの左上の隣接ブロックが利用可能であり、前記2つ以上のクロマサンプルは前記サンプルA及びDを有する、項2に記載の方法。
5. 前記現在映像ブロックの上の隣接ブロックが利用可能であり、前記2つ以上のクロマサンプルは前記サンプルJ及びMを有する、項2に記載の方法。
6. 映像処理のための方法であって、クロマブロックを有する現在映像ブロックについて、該現在映像ブロックの隣接ブロックのクロマ及びルマサンプルを有する複数のグループを生成するステップと、前記複数のグループに基づいて、前記クロマ及びルマサンプルの最大値及び最小値を決定するステップと、前記最大値及び最小値に基づいて、線形モデルのパラメータに関する値のセットを決定するステップと、前記線形モデルに基づいて前記現在映像ブロックを再構成するステップと、を有する方法。
7. 前記複数のグループを選択することは、前記現在映像ブロックの前記隣接ブロックの利用可能性に基づく、項6に記載の方法。
8. 前記複数のグループはS及びSを含み、最大ルマ値はmaxL=f1(maxLS0,maxLS1,…,maxLSm)として計算され、f1は第1の関数であり、maxLSiは、複数のグループのうちのグループSの最大ルマ値であり、最大クロマ値はmaxC=f2(maxCS0,maxCS1,…,maxCSm)として計算され、f2は第2の関数であり、maxCSiは、グループSの最大クロマ値であり、最小ルマ値はminL=f3(minLS0,minLS1,…,minLSm)として計算され、f3は第3の関数であり、minLSiはグループSの最小ルマ値であり、最小クロマ値はminC=f4(minCS0,minCS1,…,minCSm)として計算され、f4は第4の関数であり、minCSiは、グループSの最小クロマ値であり、前記線形モデルの前記パラメータは、α=(maxC-minC)/(maxL-minL)及びβ=minC-α×minLとして計算されるα及びβを有する、項6に記載の方法。
9. 前記クロマブロックの左上サンプルが(x,y)であり、前記クロマブロックの幅及び高さがそれぞれW及びHであり、隣接クロマサンプルの前記グループは、
座標(x-1,y)を有するサンプルA、
座標(x-1,y+H-1)を有するサンプルD、
座標(x,y-1)を有するサンプルJ、
座標(x+W-1,y-1)を有するサンプルM、
を有する、項8に記載の方法。
10. 前記現在映像ブロックの左上の隣接ブロック及び上の隣接ブロックが利用可能であり、前記グループSに関する前記最大ルマ及びクロマ値並びに前記最小ルマ及びクロマ値(それぞれ、maxLS0、maxCS0、minLS0、及びminCS0)は、前記サンプルA及びDに基づき、前記グループSに関する前記最大ルマ及びクロマ値並びに前記最小ルマ及びクロマ値(それぞれ、maxLS1、maxCS1、minLS1、及びminCS1)は、前記サンプルJ及びMに基づき、
maxL=(maxLS0+maxLS1)/2、
maxC=(maxCS0+maxCS1)/2、
minL=(minLS0+minLS1)/2、及び
minC=(minCS0+minCS1)/2、
である、項8に記載の方法。
11. 前記現在映像ブロックの左上の隣接ブロックが利用可能であり、maxL、maxC、minL、及びminCは、前記サンプルA及びDに基づく、項9に記載の方法。
12. 前記現在映像ブロックの上の隣接ブロックが利用可能であり、maxL、maxC、minL、及びminCは、前記サンプルJ及びMに基づく、項9に記載の方法。
13. 前記線形モデルの前記パラメータは、
α=0、及びβ=1<<(bitDepth-1)
として計算されるα及びβを有し、bitDepthは、前記クロマサンプルのビット深度である、項6に記載の方法。
14. 複数のグループを前記生成することは、前記現在映像ブロックの高さ又は幅に基づく、項6に記載の方法。
15. 映像処理のための方法であって、
高さ(H)及び幅(W)を持つ現在映像ブロックの隣接ブロックのクロマ及びルマサンプルをダウンサンプリングすることによって、ダウンサンプリングクロマ及びルマサンプルを生成するステップと、
前記ダウンサンプリングクロマ及びルマサンプルに基づいて、前記現在映像ブロックについての線形モデルのパラメータに関する値のセットを決定するステップと、
前記線形モデルに基づいて前記現在映像ブロックを再構成するステップと、
を有する方法。
16. 前記ダウンサンプリングすることは、前記高さ又は前記幅に基づく、項15に記載の方法。
17. W<Hである、項16に記載の方法。
18. W>Hである、項16に記載の方法。
19. 前記現在映像ブロックの左上のサンプルがR[0,0]であり、前記ダウンサンプリングクロマサンプルは、サンプルR[-1,K×H/W]を有し、Kは、0からW-1の範囲の負でない整数である、項15に記載の方法。
20. 前記現在映像ブロックの左上のサンプルがR[0,0]であり、前記ダウンサンプリングクロマサンプルは、サンプルR[K×H/W,-1]を有し、Kは、0からH-1の範囲の負でない整数である、項15に記載の方法。
21. 前記現在映像ブロックについての前記線形モデルの前記パラメータに関する前記値のセットを決定するために使用されるのに先立って、前記ダウンサンプリングクロマ及びルマサンプルに対して精緻化プロセスが実行される、項15に記載の方法。
22. 前記精緻化プロセスはフィルタリングプロセスを有する、項21に記載の方法。
23. 前記精緻化プロセスは非線形プロセスを有する、項21に記載の方法。
24. 前記線形モデルの前記パラメータはα及びβであり、α=(C1-C0)/(L1-L0)及びβ=C0-αL0であり、C0及びC1はクロマサンプルであり、L0及びL1はルマサンプルである、項15に記載の方法。
25. C0及びL0は、それぞれ{Cx1,Cx2,…,CxS}及び{Lx1,Lx2,…,LxS}と表記されるS個のダウンサンプリングクロマ及びルマサンプルに基づき、C1及びL1は、それぞれ{Cy1,Cy2,…,CyT}及び{Ly1,Ly2,…,LyT}と表記されるT個のダウンサンプリングクロマ及びルマサンプルに基づき、
C0=f0(Cx1,Cx2,…,CxS)、L0=f1(Lx1,Lx2,…,LxS)、C1=f2(Cy1,Cy2,…,CyT)、及びL1=f3(Ly1,Ly2,…,LyT)であり、
f0、f1、f2、及びf3は関数である、
項24に記載の方法。
26. f0及びf1は第1の関数である、項25に記載の方法。
27. f2及びf3は第2の関数である、項25に記載の方法。
28. f0、f1、f2、及びf3は第3の関数である、項25に記載の方法。
29. 前記第3の関数は平均化関数である、項28に記載の方法。
30. S=Tである、項25に記載の方法。
31. (Lx1,Lx2,…,LxS)は、一群のルマサンプルのうちの最小サンプルである、項25に記載の方法。
32. {Ly1,Ly2,…,LyT}は、一群のルマサンプルのうちの最大サンプルである、項25に記載の方法。
33. 前記一群のルマサンプルは、前記線形モデルの前記パラメータを導出するためにVTM-3.0で使用される全ての隣接サンプルを有する、項31又は32に記載の方法。
34. 前記一群のルマサンプルは、前記線形モデルの前記パラメータを導出するためにVTM-3.0で使用される隣接サンプルのうちサブセットを有し、該サブセットは、該隣接サンプルの全てであることを除く、項31又は32に記載の方法。
35. 前記2つ以上のクロマサンプルは、前記現在映像ブロックに対して左の列、上の行、右上の行、又は左下の列のうちの1つ以上から選択される、項1に記載の方法。
36. 前記2つ以上のクロマサンプルは、前記現在映像ブロックの幅に対する前記現在映像ブロックの高さの比に基づいて選択される、項1に記載の方法。
37. 前記2つ以上のクロマサンプルは、前記現在映像ブロックの符号化モードに基づいて選択される、項1に記載の方法。
38. 前記現在映像ブロックの前記符号化モードは、左の隣接サンプルのみを使用する第2の線形モード及び上の隣接サンプルのみを使用する第3の線形モードとは異なる第1の線形モードであり、前記現在映像ブロックの左上のサンプルの座標は(x,y)であり、前記現在映像ブロックの幅及び高さはそれぞれW及びHである、項37に記載の方法。
39. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-1,y-1)のサンプルを有する、項38に記載の方法。
40. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-H/W-1)、及び(x+W-1,y-1)のサンプルを有し、H>Wである、項38に記載の方法。
41. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-W/H-1,y-1)のサンプルを有し、H<Wである、項38に記載の方法。
42. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-max(1,H/W)、及び(x+W-max(1,W/H),y-1)のサンプルを有する、項38に記載の方法。
43. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+W/4,y-1)、(x+2*W/4,y-1)、及び(x+3*W/4,y-1)のサンプルを有する、項38に記載の方法。
44. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+W/4,y-1)、(x+3*W/4,y-1)、及び(x+W-1,y-1)のサンプルを有する、項38に記載の方法。
45. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+(2W)/4,y-1)、(x+2*(2W)/4,y-1)、及び(x+3*(2W)/4,y-1)のサンプルを有する、項38に記載の方法。
46. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+(2W)/4,y-1)、(x+3*(2W)/4,y-1)、及び(x+(2W)-1,y-1)のサンプルを有する、項38に記載の方法。
47. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+H/4)、(x-1,y+2*H/4)、及び(x-1,y+3*H/4)のサンプルを有する、項38に記載の方法。
48. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+2*H/4)、(x-1,y+3*H/4)、及び(x-1,y+H-1)のサンプルを有する、項38に記載の方法。
49. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+(2H)/4)、(x-1,y+2*(2H)/4)、及び(x-1,y+3*(2H)/4)のサンプルを有する、項38に記載の方法。
50. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)、及び(x-1,y+(2H)-1)のサンプルを有する、項38に記載の方法。
51. 前記線形モデルの前記パラメータの前記値のセットを決定するために、前記4つのサンプルのうち正確に2つのサンプルが選択される、項39乃至50のいずれかに記載の方法。
52. 項1乃至51のいずれかに記載の方法を実行するように構成されたプロセッサを有する映像復号装置。
53. 項1乃至51のいずれかに記載の方法を実行するように構成されたプロセッサを有する映像符号化装置。
54. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至51のいずれか一項に記載の方法を実行させる、装置。
55. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至51のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
以上から理解されることには、ここでは説明の目的で、ここに開示される技術の特定の実施形態を説明したが、本発明の範囲を逸脱することなく様々な変更が為され得る。従って、ここに開示される技術は、添付の特許請求の範囲による場合を除いて、限定されるものではない。
この特許文書に記載される事項及び機能動作の実装は、この明細書に開示されている構造及びそれらに構造的に均等なものを含め、様々なシステム、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにて、あるいはこれらのうちの1つ以上の組み合わせにて実施されることができる。この明細書に記載される事項の実装は、1つ以上のコンピュータプログラムプロダクトとして実装されることができ、すなわち、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、有形で非一時的なコンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の組成、又はそれらのうちの1つ以上の組み合わせとすることができる。用語“データ処理ユニット”又は“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するあらゆる装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードといった、問題としているコンピュータプログラムのための実行環境を作り出すコードを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含め、如何なる形態のプログラミング言語で記述されてもよく、また、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に格納されてもよいし、問題としているプログラムに専用の単一ファイルに格納されてもよいし、あるいは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開されてもよいし、あるいは、一箇所に配置された、又は複数箇所に分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
この明細書に記載されるプロセス及び論理フローは、入力データについて演算して出力を生成することによって機能を実行するよう、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。これらのプロセス及び論理フローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)といった専用の論理回路によって実行されることもでき、また、装置も、そのような専用の論理回路として実装されることができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、磁気光ディスク、又は光ディスクといった、データを格納するための1つ以上の大容量ストレージ装置を含み、あるいは、大容量ストレージ装置からデータを受信したり、それにデータを転送したりするように動作的に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイスを含め、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われたり、それに組み込まれたりしてもよい。
明細書は、図面と共に、単に例示的なものとみなされることを意図しており、例示的とは例を意味する。ここで使用されるとき、“又は”の使用は、文脈が別のことを明確に示していない限り、“及び/又は”を含むことを意図している。
この特許文書は数多くの詳細が含んでいるが、それらは、いずれかの発明又は特許請求され得るものの範囲についての限定として解釈されるべきでなく、むしろ、特定の発明の特定の実施形態に特有とし得る機構の説明として解釈されるべきである。別々の実施形態の文脈でこの特許文書に記載されている特定の複数の機構が、単一の実施形態にて組み合わせて実装されることもできる。逆に、単一の実施形態の文脈で説明されている種々の機構が、複数の実施形態にて別々に、又は何らかの好適なサブコンビネーションで実装されることもできる。さらには、複数の機構が、特定の組み合わせにて作用するものとして上述され、さらには当初はそのように特許請求されていることがあり得るが、場合によって、特許請求されている組み合わせからの1以上の機構を組み合わせから除くこともでき、また、特許請求されている組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションへと導いてもよい。
同様に、図面には処理が特定の順序で示されるが、このことは、所望の結果を達成するために、それらの動作が図示される特定の順序で若しくは順番に実行されること、又は図示される全ての処理が実行されることを要求するものとして理解されるべきでない。また、この特許文書に記載されている実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきでない。
ほんの少しの実装及び例を記載したのみであり、この特許文書に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われ得る。
の出願は、2020年2月24日に出願された国際出願PCT/CN2020/076361号の国内移行出願であり、当該国際出願は、2019年2月22日に出願された国際特許出願第PCT/CN2019/075874号、2019年2月24日に出願された国際特許出願第PCT/CN2019/075993号、2019年2月26日に出願された国際特許出願第PCT/CN2019/076195号、2019年3月24日に出願された国際特許出願第PCT/CN2019/079396号、2019年3月25日に出願された国際特許出願第PCT/CN2019/079431号及び国際出願、及び2019年3月26日に出願された国際特許出願第PCT/CN2019/079769号に対する優先権及びこれらの出願の利益を主張するものである。上述の出願の開示全体を、この出願の開示の一部として援用する。

Claims (48)

  1. 映像処理のための方法であって、
    クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップであり、Wは整数である、ステップと、
    前記決定に基づいて前記変換を実行するステップと、
    を有する方法。
  2. 前記CCLM予測モードは、線形モードを用いて、クロマコンポーネントの予測値を別のコンポーネントから導出する、請求項1に記載の方法。
  3. Wは、i)前記現在映像ブロックの幅、ii)Lは整数として、前記現在映像ブロックの前記幅のL倍、iii)前記現在映像ブロックの高さと前記現在映像ブロックの幅との和、又はiv)前記現在映像ブロックの前記幅と利用可能な右上の隣接サンプルの数との和に設定される、請求項1に記載の方法。
  4. Wは、前記現在映像ブロックの上の隣接ブロック又は左の隣接ブロックのうちの少なくとも1つの利用可能性に依存する、請求項1に記載の方法。
  5. Wは、前記現在映像ブロックの符号化モードに依存する、請求項1に記載の方法。
  6. Lは、前記現在映像ブロックに隣接して位置する右上のブロック又は左上のサンプルの利用可能性に依存する値を持つ、請求項3に記載の方法。
  7. 前記クロマサンプルは、第1位置オフセット値(F)及びステップ値(S)に基づいて選択され、第1位置オフセット値(F)及びステップ値(S)はWに依存する、請求項1に記載の方法。
  8. 左上のサンプルが座標(x0,y0)を有し、前記選択されるクロマサンプルは座標(x0+F+K×S,y0-1)を有し、Kは、0とkMaxとの間の整数である、請求項7に記載の方法。
  9. F=W/P又はF=W/P+offsetであり、Pは整数である、請求項7に記載の方法。
  10. F=W>>(2+numIs4T)であり、numIs4Tは、上の隣接行内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Tは0に等しく、記号>>は、算術右シフト記号として定義される、請求項9に記載の方法。
  11. S=W/Qであり、Qは整数である、請求項7に記載の方法。
  12. Sは1以上である、請求項7に記載の方法。
  13. S=Max(1,W>>(1+numIs4T))であり、numIs4Tは、上の隣接行内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Tは0に等しく、記号>>は、算術右シフト記号として定義される、請求項11又は12に記載の方法。
  14. 上の隣接サンプルが利用可能であり、左の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、左の隣接サンプルのみを使用する第1のCCLMとは異なり且つ上の隣接サンプルのみを使用する第2のCCLMとは異なる通常CCLMで符号化される場合、numIs4Tは1に等しい、請求項10又は13に記載の方法。
  15. F=S/Rであり、Rは整数である、請求項7に記載の方法。
  16. S=F/Zであり、Zは整数である、請求項7に記載の方法。
  17. Kmax、F、S、又はoffsetのうちの少なくとも1つが、左の隣接サンプルのみを使用する第1のCCLM、上の隣接サンプルのみを使用する第2のCCLM、左の隣接サンプル及び上の隣接サンプルの双方を使用する通常CCLM、又は前記第1のCCLMとも前記第2のCCLMとも前記通常CCLMとも異なるその他モード、のうちの1つである前記現在映像ブロックの予測モードに依存する、請求項8乃至16のいずれかに記載の方法。
  18. Kmax、F、S、又はoffsetのうちの少なくとも1つが、前記現在映像ブロックの幅及び/又は高さに依存する、請求項8乃至16のいずれかに記載の方法。
  19. Kmax、F、S、又はoffsetのうちの少なくとも1つが、隣接サンプルの利用可能性に依存する、請求項8乃至16のいずれかに記載の方法。
  20. Kmax、F、S、又はoffsetのうちの少なくとも1つがWに依存する、請求項8乃至16のいずれかに記載の方法。
  21. 映像処理のための方法であって、
    クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、H個の利用可能な、前記現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)予測モードのパラメータを決定するステップと、
    前記決定に基づいて前記変換を実行するステップと、
    を有する方法。
  22. 前記CCLM予測モードは、線形モードを用いて、クロマコンポーネントの予測値を別のコンポーネントから導出する、請求項21に記載の方法。
  23. Hは、i)前記現在映像ブロックの高さ、ii)Lは整数として、前記現在映像ブロックの前記高さのL倍、iii)前記現在映像ブロックの高さと前記現在映像ブロックの幅との和、又はiv)前記現在映像ブロックの前記高さと利用可能な左下の隣接サンプルの数との和に設定される、請求項21に記載の方法。
  24. Hは、前記現在映像ブロックの上の隣接ブロック又は左の隣接ブロックのうちの少なくとも1つの利用可能性に依存する、請求項21に記載の方法。
  25. Hは、前記現在映像ブロックの符号化モードに依存する、請求項21に記載の方法。
  26. Lは、前記現在映像ブロックに隣接して位置する左下のブロック又は左下のサンプルの利用可能性に依存する値を持つ、請求項23に記載の方法。
  27. 前記クロマサンプルは、第1位置オフセット値(F)及びステップ値(S)に基づいて選択され、第1位置オフセット値(F)及びステップ値(S)はHに依存する、請求項21に記載の方法。
  28. 左上のサンプルが座標(x0,y0)を有し、前記選択されるクロマサンプルは座標(x0-1,y0+F+K×S)を有し、Kは、0とkMaxとの間の整数である、請求項27に記載の方法。
  29. F=H/P又はF=H/P+offsetであり、Pは整数である、請求項27に記載の方法。
  30. F=H>>(2+numIs4L)であり、numIs4Lは、左の隣接列内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合には0に等しい、請求項29に記載の方法。
  31. S=H/Qであり、Qは整数である、請求項27に記載の方法。
  32. Sは1以上である、請求項27に記載の方法。
  33. S=Max(1,H>>(1+numIs4L))であり、numIs4Lは、左の隣接列内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Lは0に等しい、請求項31又は32に記載の方法。
  34. 上の隣接サンプルが利用可能であり、左の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、左の隣接サンプルのみを使用する第1のCCLMとは異なり且つ上の隣接サンプルのみを使用する第2のCCLMとは異なる通常CCLMで符号化される場合、numIs4Lは1に等しい、請求項30又は33に記載の方法。
  35. F=S/Rであり、Rは整数である、請求項27に記載の方法。
  36. S=F/Zであり、Zは整数である、請求項27に記載の方法。
  37. Kmax、F、S、又はoffsetのうちの少なくとも1つが、左の隣接サンプルのみを使用する第1のCCLM、上の隣接サンプルのみを使用する第2のCCLM、左の隣接サンプル及び上の隣接サンプルの双方を使用する通常CCLM、又は前記第1のCCLMとも前記第2のCCLMとも前記通常CCLMとも異なるその他モード、のうちの1つである前記現在映像ブロックの予測モードに依存する、請求項28乃至36のいずれかに記載の方法。
  38. Kmax、F、S、又はoffsetのうちの少なくとも1つが、前記現在映像ブロックの幅及び/又は高さに依存する、請求項26乃至34のいずれかに記載の方法。
  39. Kmax、F、S、又はoffsetのうちの少なくとも1つがHに依存する、請求項28乃至36のいずれかに記載の方法。
  40. Kmax、F、S、又はoffsetのうちの少なくとも1つが、隣接サンプルの利用可能性に依存する、請求項28乃至36のいずれかに記載の方法。
  41. Hは、前記現在映像ブロックの右上の隣接ブロックが利用可能である場合に、前記現在映像ブロックの高さと前記現在映像ブロックの幅との和に設定される、請求項21に記載の方法。
  42. 左の隣接サンプルが利用可能でない場合、前記選択されるクロマサンプルは、前記現在映像ブロックが上の隣接サンプルのみを使用する第1のCCLMを有するか否かにかかわらずに、高さHを持つ、請求項21に記載の方法。
  43. Wは、前記現在映像ブロックの左下の隣接ブロックが利用可能である場合に、前記現在映像ブロックの高さと前記現在映像ブロックの幅との和に設定される、請求項1に記載の方法。
  44. 上の隣接サンプルが利用可能でない場合、前記選択されるクロマサンプルは、前記現在映像ブロックが左の隣接サンプルのみを使用する第1のCCLMを有するか否かにかかわらずに、Wの数を持つ、請求項1に記載の方法。
  45. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、請求項1乃至44のいずれかに記載の方法。
  46. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、請求項1乃至44のいずれかに記載の方法。
  47. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、請求項1乃至46のいずれかに記載の方法を実行させる、装置。
  48. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、請求項1乃至46のいずれかに記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
JP2021547179A 2019-02-22 2020-02-24 イントラ予測のための隣接サンプル選択 Pending JP2022521698A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023148870A JP2023160996A (ja) 2019-02-22 2023-09-14 イントラ予測のための隣接サンプル選択

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
CN2019075874 2019-02-22
CNPCT/CN2019/075874 2019-02-22
CN2019075993 2019-02-24
CNPCT/CN2019/075993 2019-02-24
CN2019076195 2019-02-26
CNPCT/CN2019/076195 2019-02-26
CN2019079396 2019-03-24
CNPCT/CN2019/079396 2019-03-24
CN2019079431 2019-03-25
CNPCT/CN2019/079431 2019-03-25
CNPCT/CN2019/079769 2019-03-26
CN2019079769 2019-03-26
PCT/CN2020/076361 WO2020169101A1 (en) 2019-02-22 2020-02-24 Neighbouring sample selection for intra prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023148870A Division JP2023160996A (ja) 2019-02-22 2023-09-14 イントラ予測のための隣接サンプル選択

Publications (2)

Publication Number Publication Date
JP2022521698A true JP2022521698A (ja) 2022-04-12
JPWO2020169101A5 JPWO2020169101A5 (ja) 2022-06-14

Family

ID=72144442

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021547179A Pending JP2022521698A (ja) 2019-02-22 2020-02-24 イントラ予測のための隣接サンプル選択
JP2023148870A Pending JP2023160996A (ja) 2019-02-22 2023-09-14 イントラ予測のための隣接サンプル選択

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023148870A Pending JP2023160996A (ja) 2019-02-22 2023-09-14 イントラ予測のための隣接サンプル選択

Country Status (12)

Country Link
US (1) US11115655B2 (ja)
EP (1) EP3903482A4 (ja)
JP (2) JP2022521698A (ja)
KR (1) KR102628086B1 (ja)
CN (1) CN113439437B (ja)
AU (1) AU2020226565C1 (ja)
BR (1) BR112021014853A2 (ja)
CA (1) CA3128429C (ja)
MX (1) MX2021009788A (ja)
SG (1) SG11202108209YA (ja)
WO (1) WO2020169101A1 (ja)
ZA (1) ZA202105356B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719478B (zh) 2018-07-15 2023-02-07 北京字节跳动网络技术有限公司 跨分量帧内预测模式导出
GB2590844B (en) 2018-08-17 2023-05-03 Beijing Bytedance Network Tech Co Ltd Simplified cross component prediction
CN110896480A (zh) * 2018-09-12 2020-03-20 北京字节跳动网络技术有限公司 交叉分量线性模型中的尺寸相关的下采样
KR20210089133A (ko) 2018-11-06 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측에 대한 단순화된 파라미터 유도
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
CA3121671A1 (en) 2018-12-07 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
CN113287311B (zh) 2018-12-22 2024-03-12 北京字节跳动网络技术有限公司 两步交叉分量预测模式的指示
CA3128769C (en) 2019-02-24 2023-01-24 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
JP7277599B2 (ja) 2019-03-08 2023-05-19 北京字節跳動網絡技術有限公司 映像処理におけるモデルベース再整形に対する制約
WO2020192642A1 (en) 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
WO2020211869A1 (en) 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation in cross component mode
EP3935855A4 (en) 2019-04-23 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. METHOD OF CROSS-COMPONENT DEPENDENCE REDUCTION
KR102641796B1 (ko) 2019-05-08 2024-03-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차-성분 코딩의 적용가능성에 대한 조건들
KR20220024006A (ko) 2019-06-22 2022-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 잔차 스케일링을 위한 신택스 요소
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
KR20210027173A (ko) * 2019-08-28 2021-03-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
JP2022548936A (ja) 2019-09-20 2022-11-22 北京字節跳動網絡技術有限公司 クロマ・スケーリングを行うルマ・マッピング
JP7389252B2 (ja) 2019-10-29 2023-11-29 北京字節跳動網絡技術有限公司 クロスコンポーネント適応ループフィルタ
CN115104302A (zh) 2019-12-11 2022-09-23 抖音视界有限公司 跨分量适应性回路滤波的样点填充
WO2021136504A1 (en) 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Cross-component prediction with multiple-parameter model
WO2023023197A1 (en) * 2021-08-19 2023-02-23 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for decoder-side intra mode derivation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018132475A1 (en) * 2017-01-11 2018-07-19 Qualcomm Incorporated Intra prediction techniques for video coding

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9693070B2 (en) 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
TW201309036A (zh) 2011-06-28 2013-02-16 Samsung Electronics Co Ltd 使用亮度成分影像的預測色度成分影像用的裝置與方法
US8724711B2 (en) 2011-07-12 2014-05-13 Intel Corporation Luma-based chroma intra prediction
CN103096055B (zh) 2011-11-04 2016-03-30 华为技术有限公司 一种图像信号帧内预测及解码的方法和装置
US9344722B2 (en) 2011-11-18 2016-05-17 Futurewei Technologies, Inc. Scanning of prediction residuals in high efficiency video coding
US9307237B2 (en) 2012-01-19 2016-04-05 Futurewei Technologies, Inc. Reference pixel reduction for intra LM prediction
WO2013112739A1 (en) * 2012-01-24 2013-08-01 Futurewei Technologies, Inc. Simplification of lm mode
US9438905B2 (en) * 2012-04-12 2016-09-06 Futurewei Technologies, Inc. LM mode with uniform bit-width multipliers
WO2013155662A1 (en) * 2012-04-16 2013-10-24 Mediatek Singapore Pte. Ltd. Methods and apparatuses of simplification for intra chroma lm mode
CN103379321B (zh) 2012-04-16 2017-02-01 华为技术有限公司 视频图像分量的预测方法和装置
CN104871537B (zh) 2013-03-26 2018-03-16 联发科技股份有限公司 色彩间帧内预测的方法
TWI652937B (zh) 2013-10-07 2019-03-01 Vid衡器股份有限公司 多層視訊編碼組合可調能力處理方法
JP6401309B2 (ja) 2014-06-19 2018-10-10 ヴィド スケール インコーポレイテッド 3次元ベースのカラーマッピングでのモデルパラメータ最適化のためのシステムおよび方法
US10200700B2 (en) 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
US20170244975A1 (en) 2014-10-28 2017-08-24 Mediatek Singapore Pte. Ltd. Method of Guided Cross-Component Prediction for Video Coding
ES2907602T3 (es) * 2014-12-31 2022-04-25 Nokia Technologies Oy Predicción entre capas para la codificación y decodificación de vídeo escalable
WO2016115708A1 (en) 2015-01-22 2016-07-28 Mediatek Singapore Pte. Ltd. Methods for chroma component coding with separate intra prediction mode
WO2016115981A1 (en) 2015-01-22 2016-07-28 Mediatek Singapore Pte. Ltd. Method of video coding for chroma components
US9998742B2 (en) * 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
US10455249B2 (en) * 2015-03-20 2019-10-22 Qualcomm Incorporated Downsampling process for linear model prediction mode
CA2988107A1 (en) * 2015-06-19 2016-12-22 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2017007989A1 (en) 2015-07-08 2017-01-12 Vid Scale, Inc. Enhanced chroma coding using cross plane filtering
US20170016972A1 (en) * 2015-07-13 2017-01-19 Siemens Medical Solutions Usa, Inc. Fast Prospective Motion Correction For MR Imaging
WO2017051072A1 (en) * 2015-09-23 2017-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic video
JP2017538381A (ja) * 2015-10-09 2017-12-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオ符号化における成分間予測
US20170150176A1 (en) 2015-11-25 2017-05-25 Qualcomm Incorporated Linear-model prediction with non-square prediction units in video coding
FI20165256A (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
CA3024900C (en) * 2016-05-17 2021-02-16 Arris Enterprises Llc Template matching for jvet intra prediction
CN109314782A (zh) * 2016-05-24 2019-02-05 夏普株式会社 用于帧内预测编码的系统和方法
MX2018014493A (es) * 2016-05-25 2019-08-12 Arris Entpr Llc Particionamiento binario, ternario, cuaternario para jvet.
WO2017205701A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Weighted angular prediction for intra coding
US11146821B2 (en) * 2016-05-25 2021-10-12 Arris Enterprises Llc JVET coding block structure with asymmetrical partitioning
US10645395B2 (en) * 2016-05-25 2020-05-05 Arris Enterprises Llc Weighted angular prediction coding for intra coding
US10326989B2 (en) * 2016-05-25 2019-06-18 Arris Enterprises Llc General block partitioning method
CN114979648B (zh) * 2016-05-27 2024-02-13 松下电器(美国)知识产权公司 编码方法、解码方法、及编码和解码方法
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
FI20165547A (fi) * 2016-06-30 2017-12-31 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
CN113453000B (zh) * 2016-07-22 2024-01-12 夏普株式会社 使用自适应分量缩放对视频数据进行编码的系统和方法
US20180041778A1 (en) * 2016-08-02 2018-02-08 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109479134A (zh) 2016-08-10 2019-03-15 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法
US10368107B2 (en) 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10326986B2 (en) 2016-08-15 2019-06-18 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10390015B2 (en) 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US10652575B2 (en) * 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
US10382781B2 (en) * 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
GB2555788A (en) * 2016-11-08 2018-05-16 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10477240B2 (en) * 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
US10674165B2 (en) * 2016-12-21 2020-06-02 Arris Enterprises Llc Constrained position dependent intra prediction combination (PDPC)
US10873746B2 (en) 2016-12-21 2020-12-22 Sharp Kabushiki Kaisha Intra prediction image generation device using cross-component liner model, image decoding apparatus, and image coding apparatus using same
CA3048426C (en) * 2016-12-28 2024-01-02 Arris Enterprises Llc Adaptive unequal weight planar prediction
US10542275B2 (en) * 2016-12-28 2020-01-21 Arris Enterprises Llc Video bitstream coding
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US10694181B2 (en) 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
US10542264B2 (en) * 2017-04-04 2020-01-21 Arris Enterprises Llc Memory reduction implementation for weighted angular prediction
CN114422780A (zh) * 2017-04-28 2022-04-29 夏普株式会社 图像解码装置以及图像编码装置
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
WO2018236031A1 (ko) * 2017-06-21 2018-12-27 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019004283A1 (ja) * 2017-06-28 2019-01-03 シャープ株式会社 動画像符号化装置及び動画像復号装置
CN117793378A (zh) * 2017-06-29 2024-03-29 杜比实验室特许公司 整合的图像整形和视频编码
WO2019006363A1 (en) 2017-06-30 2019-01-03 Vid Scale, Inc. LOCAL LIGHTING COMPENSATION USING GENERALIZED BI-PREDICTION
CN116760980A (zh) * 2017-07-05 2023-09-15 艾锐势有限责任公司 对视频编码、解码的方法和计算机可读存储器或存储装置
CN109274969B (zh) * 2017-07-17 2020-12-22 华为技术有限公司 色度预测的方法和设备
CA3070444A1 (en) * 2017-07-24 2019-01-31 Arris Enterprises Llc Intra mode jvet coding
KR20240017089A (ko) * 2017-07-24 2024-02-06 애리스 엔터프라이지즈 엘엘씨 인트라 모드 jvet 코딩
JP6994868B2 (ja) * 2017-08-09 2022-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
MX2020003656A (es) * 2017-10-02 2020-10-12 Arris Entpr Llc Sistema y método para reducir artefactos de bloque y proporcionar eficiencia de codificación mejorada.
GB2567249A (en) * 2017-10-09 2019-04-10 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
US10965941B2 (en) * 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
CA3078804A1 (en) * 2017-10-09 2019-04-18 Arris Enterprises Llc Adaptive unequal weight planar prediction
US10694188B2 (en) * 2017-12-18 2020-06-23 Arris Enterprises Llc System and method for constructing a plane for planar prediction
US20190313108A1 (en) 2018-04-05 2019-10-10 Qualcomm Incorporated Non-square blocks in video coding
US10609402B2 (en) * 2018-05-02 2020-03-31 Tencent America LLC Method and apparatus for prediction and transform for small blocks
WO2019210840A1 (en) 2018-05-03 2019-11-07 FG Innovation Company Limited Device and method for coding video data based on different reference sets in linear model prediction
CN116708838A (zh) 2018-07-02 2023-09-05 Lg电子株式会社 编解码和发送方法及存储介质
CN109005408B (zh) * 2018-08-01 2020-05-29 北京奇艺世纪科技有限公司 一种帧内预测方法、装置及电子设备
KR20210089133A (ko) 2018-11-06 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측에 대한 단순화된 파라미터 유도
US11197005B2 (en) 2018-11-08 2021-12-07 Qualcomm Incorporated Cross-component prediction for video coding
US11178396B2 (en) 2018-11-14 2021-11-16 Tencent America LLC Constrained intra prediction and unified most probable mode list generation
CA3121671A1 (en) 2018-12-07 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
US11095921B2 (en) 2018-12-18 2021-08-17 Tencent America LLC Method and apparatus for video encoding or decoding
KR102392701B1 (ko) 2019-01-15 2022-04-28 엘지전자 주식회사 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
CA3128769C (en) 2019-02-24 2023-01-24 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018132475A1 (en) * 2017-01-11 2018-07-19 Qualcomm Incorporated Intra prediction techniques for video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ADARSH K. RAMASUBRAMONIAN: ""Cross-check of JVET-K0204: On cross-component linear model simplification"", JVET-K0512, vol. version 2, JPN6022036703, 16 July 2018 (2018-07-16), pages 1 - 4, ISSN: 0004869514 *
GUILLAUME LAROCHE, ET AL.: ""Non-CE3: On cross-component linear model simplification"", JVET-K0204, vol. version 3, JPN6022036701, 12 July 2018 (2018-07-12), pages 1 - 7, ISSN: 0004869512 *
JUNYAN HUO, ET AL.: ""CE3-related: Fixed Reference Samples Design for CCLM"", JVET-M0211, vol. version 3, JPN6022036699, 10 January 2019 (2019-01-10), pages 1 - 6, ISSN: 0004869511 *
YI-WEN CHEN, ET AL.: ""Single depth intra coding mode in 3D-HEVC"", PROCEEDINGS OF 2015 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), JPN6022036702, 27 May 2015 (2015-05-27), pages 1130 - 1133, XP033183322, ISSN: 0004869513, DOI: 10.1109/ISCAS.2015.7168837 *

Also Published As

Publication number Publication date
EP3903482A4 (en) 2022-06-01
AU2020226565B2 (en) 2023-06-01
CA3128429C (en) 2023-11-21
AU2020226565A1 (en) 2021-08-19
JP2023160996A (ja) 2023-11-02
CN113439437B (zh) 2023-11-24
SG11202108209YA (en) 2021-08-30
EP3903482A1 (en) 2021-11-03
MX2021009788A (es) 2021-09-08
BR112021014853A2 (pt) 2021-10-05
US20200382769A1 (en) 2020-12-03
KR102628086B1 (ko) 2024-01-23
ZA202105356B (en) 2023-01-25
CA3128429A1 (en) 2020-08-27
WO2020169101A1 (en) 2020-08-27
US11115655B2 (en) 2021-09-07
AU2020226565C1 (en) 2024-01-11
CN113439437A (zh) 2021-09-24
KR20210126009A (ko) 2021-10-19

Similar Documents

Publication Publication Date Title
JP7422757B2 (ja) 位置ベースのイントラ予測
JP2022517136A (ja) イントラ予測のためのパラメータ導出
JP2022521698A (ja) イントラ予測のための隣接サンプル選択
JP7317965B2 (ja) コンテキストベースのイントラ予測
CN113767631B (zh) 用于帧内预测的参数推导中的条件
CN113632474B (zh) 用于帧间预测的参数推导
RU2806083C2 (ru) Контекстно-ориентированное внутреннее предсказание
RU2810900C2 (ru) Выбор соседней выборки для внутреннего предсказания

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210812

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230516