(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023184580
(43)【公開日】2023-12-28
(54)【発明の名称】イントラ予測のためのパラメータ導出における複雑性低減
(51)【国際特許分類】
H04N 19/105 20140101AFI20231221BHJP
H04N 19/14 20140101ALI20231221BHJP
H04N 19/176 20140101ALI20231221BHJP
H04N 19/186 20140101ALI20231221BHJP
H04N 19/50 20140101ALI20231221BHJP
【FI】
H04N19/105
H04N19/14
H04N19/176
H04N19/186
H04N19/50
【審査請求】有
【請求項の数】28
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023181439
(22)【出願日】2023-10-20
(62)【分割の表示】P 2021523511の分割
【原出願日】2019-11-06
(31)【優先権主張番号】PCT/CN2018/114158
(32)【優先日】2018-11-06
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2018/118799
(32)【優先日】2018-12-01
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2018/119709
(32)【優先日】2018-12-07
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2018/125412
(32)【優先日】2018-12-29
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/070002
(32)【優先日】2019-01-01
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/075874
(32)【優先日】2019-02-22
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/075993
(32)【優先日】2019-02-24
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/076195
(32)【優先日】2019-02-26
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/079396
(32)【優先日】2019-03-24
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/079431
(32)【優先日】2019-03-25
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/079769
(32)【優先日】2019-03-26
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】シュイ,ジィジォン
(72)【発明者】
【氏名】ワン,ユエ
(57)【要約】
【課題】 イントラ予測のためのパラメータ導出における複雑性を低減させる映像処理方法を提供する。
【解決手段】 当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、パラメータテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定するステップであり、パラメータテーブルのエントリが、2つのクロマサンプル値と2つのルマサンプル値とに従って検索される、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【選択図】
図18
【特許請求の範囲】
【請求項1】
映像データを処理する方法であって、
クロマブロックである映像の現在映像ブロックと前記映像のビットストリームとの間での変換のために、ルックアップテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定するステップであり、前記ルックアップテーブルのインデックスが、再構成ルマサンプルから導出される2つのルマ値に従って検索される、ステップと、
前記決定に基づいて前記変換を実行するステップと、
を有する方法。
【請求項2】
前記2つのルマ値はL0及びL1と表記され、前記ルックアップテーブルの前記インデックスは、L1とL0との間の差に基づいて導出される、請求項1に記載の方法。
【請求項3】
L0及びL1は、更に前記現在映像ブロックの隣接クロマサンプルの位置に基づいて導出される、請求項2に記載の方法。
【請求項4】
前記ルックアップテーブルは、2Pよりも小さいVなるサイズを持ち、Pは整数である、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
Pは5に等しい、請求項4に記載の方法。
【請求項6】
前記ルックアップテーブルは、各エントリがFビット整数を格納する複数のエントリを有し、Fは3である、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記現在映像ブロックの予測サンプルは、前記現在映像ブロックに対応するルマブロックの再構成サンプルと、前記クロスコンポーネント線形モデルの前記パラメータと、に基づいて導出される、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
L1がL0に等しい場合、前記現在映像ブロックの予測サンプルは、特定のクロマ値C0に基づき、C0は、前記現在映像ブロックの隣接クロマサンプルに基づいて導出される、請求項2に記載の方法。
【請求項9】
前記現在映像ブロックの前記予測サンプルはC0に設定される、請求項8に記載の方法。
【請求項10】
前記クロスコンポーネント線形モデルの前記パラメータの値は、少なくとも、隣接クロマサンプルのグループからのR個のクロマサンプル、に基づいて決定され、前記R個のクロマサンプルは、位置ルールに基づいて前記グループから選択され、Rは2以上である、請求項1に記載の方法。
【請求項11】
前記パラメータは、前記R個のクロマサンプルに対応するルマサンプルに更に基づいて決定される値を持ち、
前記クロスコンポーネント線形モデルの前記パラメータの前記値を導出するために前記ルマサンプルがダウンサンプリングされるかが、前記現在映像ブロックのカラーフォーマットに基づいて決定され、
前記カラーフォーマットが4:2:0又は4:2:2であることに応答して、前記ルマサンプルはダウンサンプリングされ、
前記パラメータは、2S個のクロマサンプルに基づいて決定される値を持ち、Sは整数であり、
Sは1又は2に等しく、
前記現在映像ブロックの寸法に基づいて、前記グループの隣接クロマサンプルのうちの少なくとも1つの隣接クロマサンプルは、前記R個のクロマサンプルに属さず、
前記パラメータの第1組の値を決定するために、最小及び最大の対応するルマ値を有する前記R個のクロマサンプルを見つけるべく、隣接クロマサンプルの前記グループ内のクロマサンプルが探索され、
前記R個のクロマサンプルは、隣接ブロックの利用可能性に基づいて選択される、
請求項10に記載の方法。
【請求項12】
前記クロスコンポーネント線形モデルの前記パラメータは、少なくとも選択クロマサンプルに基づいて決定され、前記選択クロマサンプルは、隣接クロマサンプルのグループから、前記隣接クロマサンプルの位置及び前記現在映像ブロックの予測モードに基づいて選択される、
請求項1に記載の方法。
【請求項13】
前記現在映像ブロックの前記予測モードが、左の隣接サンプルのみを使用する第1の線形モードである場合、前記選択クロマサンプルの全てが前記現在映像ブロックの左にあり、
左下の隣接クロマサンプルが利用可能である場合、前記第1の線形モードで使用される前記グループの隣接クロマサンプルの数はHより大きく、Hは前記現在映像ブロックの高さであり、
前記現在映像ブロックの前記予測モードが、上の隣接サンプルのみを使用する第2の線形モードである場合、前記選択クロマサンプルの全てが前記現在映像ブロックの上にあり、
右上の隣接クロマサンプルが利用可能である場合、前記第2の線形モードで使用される前記選択クロマサンプルの数はWより大きく、Wは前記現在映像ブロックの幅であり、
前記選択クロマサンプルの位置は、前記クロマブロックの前記幅又は前記高さに基づいて選択され、
前記パラメータは、更に二点法に基づいて決定され、
前記現在映像ブロックは線形イントラ予測モードを用いてコーディングされ、前記現在映像ブロックの左上サンプルは(x,y)であり、隣接クロマサンプルの前記グループの少なくとも1つのサンプルは(x-1,y+d)であり、dは範囲[T,S]内の整数であり、T及びSは整数であり、
隣接クロマサンプルの前記グループの前記少なくとも1つのサンプルは、2×W個の上の隣接クロマサンプル又は2×H個の左の隣接クロマサンプルを超えて位置する、
請求項12に記載の方法。
【請求項14】
2つのクロマ値と2つのルマ値によって決定可能な前記クロスコンポーネント線形モデルの前記パラメータが決定され、
前記2つのクロマ値はC0及びC1と表記され、前記2つのルマ値はL0及びL1と表記され、前記クロスコンポーネント線形モデルの前記パラメータは、C1とC0との間の差及びL1とL0との間の差に基づいて導出され、
前記現在映像ブロックの予測サンプルは、前記現在映像ブロックに対応するルマブロックの再構成サンプル及び前記クロスコンポーネント線形モデルの前記パラメータに基づいて導出される、
請求項1に記載の方法。
【請求項15】
L1がL0に等しい場合、クロスコンポーネント線形モデルモード以外のイントラ予測モードが使用され、
前記クロスコンポーネント線形モデルの前記パラメータは、除算演算を排除して導出され、
前記クロスコンポーネント線形モデルの前記パラメータは、対数演算を用いて導出され、
前記クロスコンポーネント線形モデルの前記パラメータは、Floor(log2(L1-L0))の値に基づいて導出され、Floor(x)は、xの整数部を出力するフロア関数である、
請求項14に記載の方法。
【請求項16】
前記クロスコンポーネント線形モデル(CCLM)の前記パラメータは、少なくとも、前記現在映像ブロックの隣接クロマサンプルからの2つ以上のクロマサンプル、に基づいて決定され、前記2つ以上のクロマサンプルは、前記現在映像ブロックのCCLMモード及び前記隣接クロマサンプルの利用可能性に基づいて選択され、
前記現在映像ブロックに対応するルマブロック内に位置するルマサンプルに対するCCLMが適用されて、前記現在映像ブロックの予測値を導出し、
前記変換は、更に前記予測値に基づいて実行される、
請求項1に記載の方法。
【請求項17】
前記隣接クロマサンプルは、前記現在映像ブロックに対して、左の隣接クロマサンプル、上の隣接クロマサンプル、右上の隣接クロマサンプル、又は左下の隣接クロマサンプルを含み、
前記現在映像ブロックの前記CCLMモードは、前記左の隣接クロマサンプル及び前記上の隣接クロマサンプルに基づいてCCLMの前記パラメータを導入する第1のCCLMモード、前記左の隣接クロマサンプル及び前記左下の隣接クロマサンプルに基づいてCCLMの前記パラメータを導入する第2のCCLMモード、及び前記上の隣接クロマサンプル及び前記右上の隣接クロマサンプルに基づいてCCLMの前記パラメータを導入する第3のCCLMモード、のうちの1つであり、前記現在映像ブロックの幅及び高さは、それぞれ、W及びHであり、
前記左の隣接クロマサンプル及び前記上の隣接クロマサンプルの両方が利用可能であり、且つ前記現在映像ブロックの前記CCLMモードが前記第1のCCLMモードであることに応答して、2つのクロマサンプルが前記左の隣接クロマサンプルから選択され、他の2つのクロマサンプルが前記上の隣接クロマサンプルから選択され、
前記上の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第1のCCLMモードであり、且つWが2に等しいことに応答して、ちょうど2つのクロマサンプルが前記上の隣接クロマサンプルから選択され、
前記左の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第1のCCLMモードであり、且つHが2に等しいことに応答して、ちょうど2つのクロマサンプルが前記左の隣接クロマサンプルから選択され、
前記上の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第1のCCLMモードであり、且つWが2より大きいことに応答して、ちょうど4つのクロマサンプルが前記上の隣接クロマサンプルから選択され、
前記左の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第1のCCLMモードであり、且つHが2より大きいことに応答して、ちょうど4つのクロマサンプルが前記左の隣接クロマサンプルから選択され、
前記左の隣接クロマサンプル及び前記左下の隣接クロマサンプルの両方が利用可能であり、且つ前記現在映像ブロックの前記CCLMモードが前記第2のCCLMモードであることに応答して、ちょうど4つのクロマサンプルが前記左の隣接クロマサンプル及び前記左下の隣接クロマサンプルから選択され、
前記左の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第2のCCLMモードであり、且つHが2に等しいことに応答して、ちょうど2つのクロマサンプルが前記左の隣接クロマサンプルから選択され、
前記左の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第2のCCLMモードであり、且つHが2より大きいことに応答して、ちょうど4つのクロマサンプルが前記左の隣接クロマサンプルから選択され、
前記上の隣接クロマサンプル及び前記右上の隣接クロマサンプルの両方が利用可能であり、且つ前記現在映像ブロックの前記CCLMモードが前記第3のCCLMモードであることに応答して、ちょうど4つのクロマサンプルが前記上の隣接クロマサンプル及び前記右上の隣接クロマサンプルから選択され、
前記上の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第3のCCLMモードであり、且つWが2に等しいことに応答して、ちょうど2つのクロマサンプルが前記上の隣接クロマサンプルから選択され、
前記上の隣接クロマサンプルのみが利用可能であり、前記現在映像ブロックの前記CCLMモードが前記第3のCCLMモードであり、且つWが2より大きいことに応答して、ちょうど4つのクロマサンプルが前記上の隣接クロマサンプルから選択され、
前記2つ以上のクロマサンプルに対応する2つ以上のルマサンプルが決定され、
4つのルマサンプルが決定されたことに応答して、前記4つのルマサンプルのうちの2つの最大値を平均することに基づいて第1の平均ルマ値が導出され、前記4つのルマサンプルのうちの2つの最小値を平均することに基づいて第2の平均ルマ値が導出され、
前記第1の平均ルマ値及び前記第2の平均ルマ値が、CCLMの前記パラメータを導出するのに使用される、
請求項16に記載の方法。
【請求項18】
前記クロスコンポーネント線形モデル(CCLM)の前記パラメータは、少なくとも、前記現在映像ブロックの隣接クロマサンプルから選択される選択クロマサンプル、に基づいて決定され、前記選択クロマサンプルの位置が、第1の位置オフセット値(F)及びステップ値(S)から導出され、F及びSは、少なくとも、前記現在映像ブロックの前記隣接クロマサンプルの利用可能性及び前記現在映像ブロックの寸法、に基づいて導出される、
請求項1に記載の方法。
【請求項19】
前記隣接クロマサンプルは、前記現在映像ブロックに対して、左の隣接クロマサンプル、上の隣接クロマサンプル、右上の隣接クロマサンプル、又は左下の隣接クロマサンプルを含み、
F=Floor(M/2i)であり、Mは、水平方向において前記選択クロマサンプルを導出するのに使用される前記隣接クロマサンプルの数であり、又はF=Floor(N/2i)であり、Nは、垂直方向において前記選択クロマサンプルを導出するのに使用される前記隣接クロマサンプルの数であり、iは2又は3に等しく、Floor演算は、数の整数部を得るために使用され、
S=Max(1,Floor(M/2j))、又はS=Max(1,Floor(N/2j))であり、jは1又は2に等しく、Max演算は、複数の数のうちの最大値を得るために使用され、
M及びNはどちらも、W+H以下であり、前記現在映像ブロックのCCLMモードに基づいて決定され、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さであり、
前記現在映像ブロックの前記CCLMモードは、前記左の隣接クロマサンプル及び前記上の隣接クロマサンプルに基づいてCCLMの前記パラメータを導入する第1のCCLMモード、前記左の隣接クロマサンプル及び前記左下の隣接クロマサンプルに基づいてCCLMの前記パラメータを導入する第2のCCLMモード、及び前記上の隣接クロマサンプル及び前記右上の隣接クロマサンプルに基づいてCCLMの前記パラメータを導入する第3のCCLMモード、のうちの1つであり、
前記水平方向において2つのクロマサンプルを選択することに応答して、前記水平方向における2つの選択クロマサンプルの位置は、Floor(M/4)及びFloor(M/4)+Floor(M/2)であり、
前記垂直方向において2つのクロマサンプルを選択することに応答して、前記垂直方向における2つの選択クロマサンプルの位置は、Floor(N/4)及びFloor(N/4)+Floor(N/2)であり、
前記水平方向において4つのクロマサンプルを選択することに応答して、前記水平方向における4つの選択クロマサンプルの位置は、Floor(M/8)、Floor(M/8)+Floor(M/4)、Floor(M/8)+2*Floor(M/4)、及びFloor(M/8)+3*Floor(M/4)であり、
前記垂直方向において4つのクロマサンプルを選択することに応答して、前記垂直方向における4つの選択クロマサンプルの位置は、Floor(N/8)、Floor(N/8)+Floor(N/4)、Floor(N/8)+2*Floor(N/4)、及びFloor(N/8)+3*Floor(N/4)であり、
前記CCLMモードが前記第1のCCLMモードであり、且つ前記上の隣接クロマサンプルが利用可能であることに応答して、MはWに等しく、
前記CCLMモードが前記第3のCCLMモードであり、前記上の隣接クロマサンプルが利用可能であり、且つ前記右上の隣接クロマサンプルが利用可能でないことに応答して、MはWに等しく、
前記CCLMモードが前記第1のCCLMモードであり、且つ前記左の隣接クロマサンプルが利用可能であることに応答して、NはHに等しく、
前記CCLMモードが前記第2のCCLMモードであり、前記左の隣接クロマサンプルが利用可能であり、且つ前記左下の隣接クロマサンプルが利用可能でないことに応答して、NはHに等しく、
前記現在映像ブロックの前記隣接クロマサンプルが利用可能でないことに応答して、前記現在映像ブロックの予測値はデフォルト値に設定され、
前記デフォルト値は、1<<(Bitdepth-1)に等しく、Bitdepthは前記クロマサンプルのビット深度を表す、
請求項18に記載の方法。
【請求項20】
前記クロスコンポーネント線形モデル(CCLM)の前記パラメータは、maxY、maxC、minY、及びminCに基づいて決定され、maxY、maxC、minY、及びminCは、2つ又は4つのインデックスから導出され、インデックスは、クロマサンプル及び対応するルマサンプルとマッピングされる、
請求項1に記載の方法。
【請求項21】
前記対応するルマサンプルは、前記現在映像ブロックのカラーフォーマットが4:2:0又は4:2:2である場合に、ダウンサンプリングによって取得され、前記対応するルマサンプルは、前記現在映像ブロックの前記カラーフォーマットが4:4:4である場合に、ダウンサンプリングなしで取得され、
maxY、maxC、minY、及びminCを導出するために、2つのオリジナルのインデックスとマッピングされた2つのクロマサンプル及び2つの対応するルマサンプルが使用されるのに応答して、パディング演算が適用されて、2つのパディングされたクロマサンプル及び2つのパディングされたルマサンプルが生成され、
前記2つのオリジナルのインデックスはS0及びS1と表記され、前記2つのパディングされたクロマサンプル及び前記2つのパディングされたルマサンプルがマッピングされた2つのマッピングされたインデックスはS2及びS3と表記され、前記パディング演算は、以下に従って順序正しく実行され:
1) S0とマッピングされたクロマサンプル及び対応するルマサンプルが、それぞれ、S3とマッピングされたクロマサンプル及び対応するルマサンプルにコピーされ、
2) S1とマッピングされたクロマサンプル及び対応するルマサンプルが、それぞれ、S2とマッピングされたクロマサンプル及び対応するルマサンプルにコピーされ、
3) S1とマッピングされたクロマサンプル及び対応するルマサンプルが、それぞれ、S0とマッピングされたクロマサンプル及び対応するルマサンプルにコピーされ、
4) S3とマッピングされたクロマサンプル及び対応するルマサンプルが、それぞれ、S1とマッピングされたクロマサンプル及び対応するルマサンプルにコピーされ、
maxYは、前記2つのオリジナルのインデックスとマッピングされた2つのルマサンプルのうちの大きい方のルマサンプルに等しく、maxCは、前記大きい方のルマサンプルに対応するクロマサンプルに等しく、minYは、前記2つのオリジナルのインデックスとマッピングされた前記2つのルマサンプルのうちの小さい方のルマサンプルに等しく、minCは、前記小さい方のルマサンプルに対応するクロマサンプルに等しく、
maxY、maxC、minY、及びminCを導出するために、4つのインデックスとマッピングされた4つのクロマサンプル及び4つの対応するルマサンプルが使用されるのに応答して、前記4つのインデックスが2つの配列G0及びG1に分割され、各配列が2つのインデックスを含み、
G0[0]=S0、G0[1]=S2、G1[0]=S1、G1[1]=S3であり、S0、S1、S2、及びS3の各々が、クロマサンプル及び対応するルマサンプルとマッピングされた1つのインデックスを表し、
G0[0]のルマサンプルとG0[1]のルマサンプルとの間の第1の比較が適用され、該第1の比較に基づいて選択的にG0[0]とG0[1]とが交換され、
G0[0]のルマサンプルがG0[1]のルマサンプルより大きいことに応答して、G0[0]とG0[1]とが交換され、
前記第1の比較の後に、G1[0]のルマサンプルとG1[1]のルマサンプルとの間の第2の比較が適用され、該第2の比較に基づいて選択的にG1[0]とG1[1]とが交換され、
G1[0]のルマサンプルがG1[1]のルマサンプルより大きいことに応答して、G1[0]とG1[1]とが交換され、
前記第2の比較の後に、G0[0]のルマサンプルとG1[1]のルマサンプルとの間の第3の比較が適用され、該第3の比較に基づいて選択的にG0とG1とが交換され、G0とG1とを交換することは、G0[0]とG1[0]とを交換すること、及びG0[1]とG1[1]とを交換することを有し、
G0[0]のルマサンプルがG1[1]のルマサンプルより大きいことに応答して、G0とG1とが交換され、
前記第3の比較の後に、G0[1]のルマサンプルとG1[0]のルマサンプルとの間の第4の比較が適用され、該第4の比較に基づいて選択的にG0[1]とG1[0]とが交換され、
G0[1]のルマサンプルがG1[0]のルマサンプルより大きいことに応答して、G0[1]とG1[0]とが交換され、
前記第4の比較の後に、maxYが、G1[0]及びG1[1]のルマサンプルの平均に基づいて導出され、maxCが、G1[0]及びG1[1]のクロマサンプルの平均に基づいて導出され、
前記第4の比較の後に、minYが、G0[0]及びG0[1]のルマサンプルの平均に基づいて導出され、minCが、G0[0]及びG0[1]のクロマサンプルの平均に基づいて導出される、
請求項20に記載の方法。
【請求項22】
前記クロスコンポーネント線形モデルの前記パラメータの値は、少なくとも、R個のクロマサンプル及びダウンサンプリングされた隣接ルマサンプル、に基づいて決定され、前記R個のクロマサンプルは、位置ルールに基づいて隣接クロマサンプルのグループから選択され、Rは2以上であり、前記ダウンサンプリングされた隣接ルマサンプルは、前記現在映像ブロックのカラーフォーマットに基づくダウンサンプリングプロセスで生成され、
前記R個のクロマサンプルに属さない少なくとも1つの隣接クロマサンプルに対応する隣接ルマサンプルは、前記ダウンサンプリングプロセスを適用されない、
請求項1に記載の方法。
【請求項23】
隣接クロマサンプルの前記グループは、左の隣接クロマサンプル及び上の隣接クロマサンプルを含み、前記パラメータの前記値を生成するために、ルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値が導出され、該最大値及び/又は該最小値は、前記左の隣接クロマサンプル及び前記上の隣接クロマサンプルに基づいて導出され、
前記最大値及び/又は前記最小値は、前記左の隣接クロマサンプル及び前記上の隣接クロマサンプルが利用可能でない場合には導出されず、
前記最大値及び/又は前記最小値は、numSampL==0及びnumSampT==0である場合には導出されず、numSampL及びnumSampTは、それぞれ、利用可能な左の隣接クロマサンプルの数及び利用可能な上の隣接クロマサンプルの数を示し、
前記最大値及び/又は前記最小値は、numSampL+numSampT==0である場合には導出されず、
前記最大値及び/又は前記最小値は、cntL==0及びcntT==0である場合には導出されず、cntL及びcntTは、それぞれ、前記左の隣接クロマサンプルからの選択クロマサンプルの数及び前記上の隣接クロマサンプルからの選択クロマサンプルの数を示し、
前記最大値及び/又は前記最小値は、cntL+cntT==0である場合には導出されない、
請求項22に記載の方法。
【請求項24】
前記変換は、前記ビットストリームから前記現在映像ブロックを復号することを含む、請求項1乃至23のいずれか一項に記載の方法。
【請求項25】
前記変換は、前記現在映像ブロックを前記ビットストリームへと符号化することを含む、請求項1乃至23のいずれか一項に記載の方法。
【請求項26】
プロセッサと、命令を有する非一時的なメモリとを有した、映像データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
クロマブロックである映像の現在映像ブロックと前記映像のビットストリームとの間での変換のために、ルックアップテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定させ、前記ルックアップテーブルのインデックスが、再構成ルマサンプルから導出される2つのルマ値に従って検索され、
前記決定に基づいて前記変換を実行させる、
装置。
【請求項27】
命令を格納した非一時的なコンピュータ読み取り可能記憶媒体であって、前記命令は、プロセッサに、
クロマブロックである映像の現在映像ブロックと前記映像のビットストリームとの間での変換のために、ルックアップテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定させ、前記ルックアップテーブルのインデックスが、再構成ルマサンプルから導出される2つのルマ値に従って検索され、
前記決定に基づいて前記変換を実行させる、
コンピュータ読み取り可能記憶媒体。
【請求項28】
映像のビットストリームを格納する方法であって、
ルックアップテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定するステップであり、前記ルックアップテーブルのインデックスが、再構成ルマサンプルから導出される2つのルマ値に従って検索される、ステップと、
前記決定に基づいて前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ読み取り可能記録媒体に格納するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2019年11月6日に出願された国際出願PCT/CN2019/115999号の国内移行出願である特願2021-523511の分割出願であり、当該国際出願は、2018年11月6日に出願された国際特許出願第PCT/CN2018/114158号、2018年12月1日に出願された国際特許出願第PCT/CN2018/118799号、2018年12月7日に出願された国際特許出願第PCT/CN2018/119709号、2018年12月29日に出願された国際特許出願第PCT/CN2018/125412号、2019年1月1日に出願された国際特許出願第PCT/CN2019/070002号、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号に対する優先権及びこれらの出願の利益を主張するものである。上述の出願の開示全体を、この出願の開示の一部として援用する。
【0002】
この特許文書は、映像処理技術、装置及びシステムに関する。
【背景技術】
【0003】
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。映像を受信して表示することが可能な接続ユーザ装置の数が増えるにつれて、デジタル映像使用に対する帯域幅需要が増加し続けることが予期される。
【発明の概要】
【0004】
デジタル映像処理に関係する装置、システム及び方法が記述されるとともに、例えば、映像符号化におけるクロスコンポーネント線形モデル(cross-component linear model;CCLM)予測モードに関する単純化された線形モデル導出が記載される。記載される方法は、既存の映像符号化標準(例えば、HEVC(High Efficiency Video Coding)及び将来の映像符号化標準(例えば、VVC(Versatile Video Coding))若しくはコーデックの双方に適用され得る。
【0005】
代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、隣接クロマサンプルのグループからの2つのクロマサンプルに基づいてクロスコンポーネント線形モデルのパラメータを決定するステップであり、前記2つのクロマサンプルは、位置ルールに基づいて前記グループから選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0006】
代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、クロマサンプルの位置に基づいて選択されたクロマサンプルに基づいて、クロスコンポーネント線形モデルのパラメータを決定するステップであり、前記選択されたクロマサンプルは、隣接クロマサンプルのグループから選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0007】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、現在映像ブロックについて、線形モデルのパラメータに関する一組の値を導出するのに使用される隣接クロマサンプルのグループを決定するステップであり、前記現在映像ブロックの幅及び高さはそれぞれW及びHであり、隣接クロマサンプルの前記グループは、2×W個の上の隣接クロマサンプル又は2×H個の左の隣接クロマサンプルを超えて位置する少なくとも1つのサンプルを含む、ステップと、前記線形モデルに基づいて、前記現在映像ブロックと、前記現在映像ブロックを含む映像の符号化表現との間での変換を実行するステップと、を含む。
【0008】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、複数組のパラメータを決定するステップであり、各組のパラメータが、クロスコンポーネント線形モデル(CCLM)を規定し、且つ対応するクロマサンプル位置の、対応するクロマサンプルのグループから導出される、ステップと、前記複数組のパラメータに基づいて、最終的なCCLM用のパラメータを決定するステップと、前記最終的なCCLMに基づいて前記変換を実行するステップと、を含む。
【0009】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの隣接ルマ及びクロマサンプルから選択されたN個のグループのクロマ及びルマサンプルのうち最小値及び最大値のクロマ及びルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記CCLMを用いて前記変換を実行するステップと、を含む。
【0010】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、2つのクロマサンプル及び対応する2つのルマサンプルによって完全に決定可能なクロスコンポーネント線形モデルのパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0011】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、パラメータテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定するステップであり、前記パラメータテーブルのエントリが、2つのクロマサンプル値と2つのルマサンプル値とに従って検索される、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0012】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロック内の位置(x,y)にあるクロマサンプルの最終予測P(x,y)を、複数のクロスコンポーネント線形モデル(MCCLM)の予測結果の組み合わせとして決定するステップであり、前記MCCLMは、前記クロマサンプルの前記位置(x,y)に基づいて選択される、ステップと、前記最終予測に基づいて前記変換を実行するステップと、を含む。
【0013】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックのサンプルを予測することに、左の隣接サンプルのみを使用する第1のクロスコンポーネント線形モデル(CCLM)が用いられるかに関する第1の決定、及び/又は、前記現在映像ブロックのサンプルを予測することに、上の隣接サンプルのみを使用する第2のクロスコンポーネント線形モデル(CCLM)が用いられるかに関する第2の決定を実行するステップと、前記第1の決定及び/又は前記第2の決定に基づいて前記変換を実行するステップと、を含む。
【0014】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの前記符号化表現への算術符号化を用いてフラグを符号化するために使用されるコンテキストを決定するステップであって、前記コンテキストは、前記現在映像ブロックの左上の隣接ブロックが、クロスコンポーネント線形モデル(CCLM)予測モードを使用して符号化されるのかに基づく、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0015】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの1つ以上の隣接ブロックの符号化モードに基づいて、直接イントラ予測モード(DMモード)及び線形イントラ予測モード(LMモード)の1つ以上のインジケーションについての符号化順序を決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0016】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの精緻化されたクロマ及びルマサンプルに基づいて、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0017】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、最大隣接サンプル又は最小隣接サンプルの位置に基づいて隣接サンプルを選択することによって、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0018】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、主カラーコンポーネント及び従カラーコンポーネントに基づいて、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定するステップであり、前記主カラーコンポーネントは、ルマカラーコンポーネント及びクロマカラーコンポーネントのうちの一方として選択され、前記従カラーコンポーネントは、前記ルマカラーコンポーネント及び前記クロマカラーコンポーネントのうちの他方として選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0019】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、現在映像ブロックの隣接ブロックのクロマ及びルマサンプルに対してダウンサンプリングを実行するステップと、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記ダウンサンプリングから得られたダウンサンプリングクロマ及びルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0020】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、一群の隣接クロマサンプルからの2つ以上のクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップであり、前記2つ以上のクロマサンプルは、前記現在映像ブロックの符号化モードに基づいて選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0021】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップであり、Wは整数である、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0022】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、H個の利用可能な、前記現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0023】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、2つ又は4つのクロマサンプル及び/又は対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0024】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、位置ルールに基づいてクロマサンプルを選択するステップであり、前記クロマサンプルは、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記位置ルールは、前記現在映像ブロックの上の行及び/又は左の列内に位置するクロマサンプルを選択するように規定する。
【0025】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、ルマサンプルがダウンサンプリングされる位置を決定するステップであり、前記ダウンサンプリングされたルマサンプルは、クロマサンプル及びダウンサンプリングされたルマサンプルに基づいてクロスコンポーネント線形モデル(CCLM)のパラメータを決定するために使用され、前記ダウンサンプリングされたルマサンプルは、前記CCLMの前記パラメータを導出するために使用される前記クロマサンプルの位置に対応する位置にある、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0026】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックに関連する符号化条件に基づいて、クロマサンプル及びルマサンプルを用いてクロスコンポーネント線形モデル(CCLM)のパラメータを導出する方法を決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0027】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの左の隣接ブロック及び上の隣接ブロックの利用可能性に基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用されるルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値を導出すべきかを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0028】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの選択された隣接サンプルと、参照ブロックの対応する隣接サンプルとに基づいて、線形モデルを用いる符号化ツールのパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0029】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックのN個の隣接サンプル及び参照ブロックのN個の対応する隣接サンプルに基づいて、局所照明補償(LIC)ツールのパラメータを決定するステップであり、前記現在映像ブロックの前記N個の隣接サンプルは、前記N個の隣接サンプルの位置に基づいて選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記LICツールは、前記変換中に前記現在映像ブロックにおける照明変化の線形モデルを使用する。
【0030】
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。当該方法は、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、クロマサンプル及び対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記クロマサンプルの一部は、パディング操作によって取得され、前記クロマサンプル及び前記対応するルマサンプルは、2つの配列G0及びG1にグループ化され、各配列が、2つのクロマサンプル及び対応するルマサンプルを含む。
【0031】
更なる他の代表的な一態様において、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体に格納される。
【0032】
更なる他の代表的な一態様において、上述の方法を実行するように構成された又は動作可能な装置が開示される。当該装置は、この方法を実装するようにプログラムされたプロセッサを含み得る。
【0033】
更なる他の代表的な一態様において、ビデオデコーダ装置が、ここに記載される方法を実装し得る。
【0034】
開示される技術の上述の及び他の態様及び特徴が、図面、明細書、及び特許請求の範囲に更に詳細に記載される。
【図面の簡単な説明】
【0035】
【
図1】クロスコンポーネント予測で使用される線形モデルの重みの導出に使用されるサンプルの位置の一例を示している。
【
図2】隣接サンプルを2つのグループに分類することの一例を示している。
【
図3A】クロマサンプル及びその対応するルマサンプルの一例を示している。
【
図3B】共同探索モデル(JEM)におけるクロスコンポーネント線形モデル(CCLM)に関するダウンフィルタリングの一例を示している。
【
図4A】線形モデルに基づく予測に上隣接サンプルのみが使用されることの一例を示している。
【
図4B】線形モデルに基づく予測に左隣接サンプルのみが使用されることの一例を示している。
【
図5】対応するクロマサンプルの関数としての最小ルマ値と最大ルマ値との間の直線の一例を示している。
【
図6】現在クロマブロック及びその隣接サンプルの一例を示している。
【
図7】左隣接サンプルのみを用いる線形モデル(LM-L)及び上隣接サンプルのみを用いる線形モデル(LM-A)によって予測されるクロマブロックの異なる部分の一例を示している。
【
図9】線形モデルを導出するのに使用されるサンプルの一例を示している。
【
図10】現在ブロックに対する左及び左下の列並びに右及び右上の行の一例を示している。
【
図11】現在ブロック及びその参照サンプルの一例を示している。
【
図12】左及び上の両方の隣接参照サンプルが利用可能であるときの2つの隣接サンプルの例を示している。
【
図13】上の隣接参照サンプルのみが利用可能であるときの2つの隣接サンプルの例を示している。
【
図14】左の隣接参照サンプルのみが利用可能であるときの2つの隣接サンプルの例を示している。
【
図15】左及び上の両方の隣接参照サンプルが利用可能であるときの4つの隣接サンプルの例を示している。
【
図16】LM導出で使用されるルックアップテーブルの一例を示している。
【
図17】64個のエントリを用いるLMパラメータ導出プロセスの一例を示している。
【
図18】開示される技術の一部実装に基づく映像処理の一方法例のフローチャートを示している。
【
図19A】
図19A及び19Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図19B】
図19A及び19Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図20A】
図20A及び20Bは、開示される技術の一部実装に基づく映像処理の他の方法例のフローチャートを示している。
【
図20B】
図20A及び20Bは、開示される技術の一部実装に基づく映像処理の他の方法例のフローチャートを示している。
【
図21】開示される技術の一部実装に基づく映像処理の他の一方法例のフローチャートを示している。
【
図22】開示される技術の一部実装に基づく映像処理の一方法例のフローチャートを示している。
【
図23A】
図23A及び23Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図23B】
図23A及び23Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図24A】
図24A-24Eは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図24B】
図24A-24Eは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図24C】
図24A-24Eは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図24D】
図24A-24Eは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図24E】
図24A-24Eは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図25A】
図25A及び25Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図25B】
図25A及び25Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図26A】
図26A及び26Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図26B】
図26A及び26Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図27A】
図27A及び27Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図27B】
図27A及び27Bは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図28A】
図28A-28Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図28B】
図28A-28Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図28C】
図28A-28Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図29A】
図29A-29Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図29B】
図29A-29Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図29C】
図29A-29Cは、開示される技術の一部実装に基づく映像処理の方法例のフローチャートを示している。
【
図30A】
図30A及び30Bは、本文書に記載されるビジュアルメディア復号技術又はビジュアルメディア符号化技術を実装するためのハードウェアプラットフォームの例のブロック図である。
【
図30B】
図30A及び30Bは、本文書に記載されるビジュアルメディア復号技術又はビジュアルメディア符号化技術を実装するためのハードウェアプラットフォームの例のブロック図である。
【
図31A】
図31A及び31Bは、4個のエントリを用いるLMパラメータ導出プロセスの例を示しており、
図31Aは、上及び左の両方の隣接サンプルが利用可能で場合の一例を示している。
【
図31B】
図31A及び31Bは、4個のエントリを用いるLMパラメータ導出プロセスの例を示しており、
図31Bは、上のみの隣接サンプルが利用可能であり且つ右上が利用可能でない場合の一例を示している。
【
図32】LICパラメータを導出するための隣接サンプルの例を示している。
【発明を実施するための形態】
【0036】
より高い解像度の映像に対する高まる要求により、映像符号化方法及び技術は、現代技術においてどこにでも見られるものになっている。映像コーデックは、典型的に、デジタル映像を圧縮又は解凍する電子回路又はソフトウェアを含み、より高い符号化効率を提供するために絶えず改良されている。映像コーデックは、圧縮されていない映像を圧縮フォーマットに変換し、又はその逆の変換を行う。映像品質、映像を表現するために使用されるデータの量(ビットレートによって決定される)、符号化及び復号のアルゴリズムの複雑さ、データ損失及び誤差に対する感度、編集の容易さ、ランダムアクセス、及びエンド・ツー・エンド遅延(レイテンシ)の間に複雑な関係がある。圧縮フォーマットは、通常、例えばHEVC(High Efficiency Video Coding)標準(H.265又はMPEG-H Part2としても知られている)、成立されることになるVVC(Versatile Video Coding)標準、又は他の現在及び/又は将来の映像符号化標準といった、標準映像圧縮仕様に準拠する。
【0037】
開示される技術の実施形態は、ランタイム性能を改善するために、既存の映像符号化標準(例えば、HEVC、H.265)及び将来の標準に適用され得る。本文書では、説明の読みやすさを向上させるためにセクション見出しを使用するが、それらセクション見出しは、説明又は実施形態(及び/又は実装)をそれぞれのセクションのみに限定するものではない。
【0038】
1 クロスコンポーネント予測の実施形態
クロスコンポーネント予測は、複雑性と圧縮効率改善との間にバランスの良いトレードオフを持つクロマ(chroma)・ツー・ルマ(luma)予測アプローチの一形態である。
【0039】
1.1 クロスコンポーネント線形モデル(CCLM)の例
一部の実施形態において、また、クロスコンポーネント冗長性を低減させるために、クロスコンポーネント線形モデル(cross-component linear model;CCLM)予測モード(LMとしても参照される)がJEMにおいて使用され、そこでは、クロマサンプルが、以下:
【数1】
の線形モデルを使用することによって、同じCUの再構成されたルマサンプルに基づいて予測される。
【0040】
ここで、pred
C(i,j)は、CU内の予測クロマサンプルを表し、recL’(i,j)は、カラーフォーマット4:2:0又は4:2:2の場合に、同じCUのダウンサンプリングされた再構成ルマサンプルを表し、recL’(i,j)は、カラーフォーマット4:4:4の場合には、同じCUの再構成ルマサンプルを表す。CCLMパラメータα及びβは、
【数2】
及び
【数3】
のように、現在ブロックの周りの隣接する再構成ルマ及びクロマサンプル間の回帰誤差を最小化することによって導出される。
【0041】
ここで、L(n)はダウンサンプリングされた(カラーフォーマット4:2:0又は4:2:2の場合)又はオリジナルの(カラーフォーマット4:4:4の場合)の上及び左の隣接する再構成ルマサンプルを表し、C(n)は上及び左の隣接する再構成クロマサンプルを表し、Nの値は現在クロマ符号化ブロックの幅及び高さの最小値の2倍に等しい。
【0042】
一部の実施形態において、正方形の形状の符号化ブロックに対して、上記の2つの等式が直接適用される。他の実施形態において、正方形ではない符号化ブロックに対して、先ず、長い方の境界の隣接サンプルが、短い方の境界に対してと同数のサンプルを有するようにサブサンプリングされる。
図1は、CCLMモードに関与する現在ブロックのサンプル並びに左及び上の再構成サンプルの位置を示している。
【0043】
一部の実施形態において、この回帰誤差最小化計算は、単にエンコーダ探索処理としてではなく、復号プロセスの一部として実行され、それ故に、α及びβ値を伝達するために使用される構文はない。
【0044】
一部の実施形態において、CCLM予測モードはまた、2つのクロマコンポーネント間の予測を含み、例えば、Cr(赤色差)コンポーネントがCb(青色差)コンポーネントから予測される。再構成サンプル信号を使用する代わりに、CCLM Cb・ツー・Cr予測が残差ドメインで適用される。これは、重み付けた再構成Cb残差を元のCrイントラ予測に付加して最終的なCr予測:
【数4】
を形成することによって実行される。
【0045】
ここで、resiCb’(i,j)は、位置(i,j)における再構成Cb残差サンプルを示す。
【0046】
一部の実施形態において、スケーリング係数αが、CCLMルマ・ツー・クロマ予測においてと同様のやり方で導出され得る。唯一の違いは、誤差関数におけるデフォルトのα値に対する回帰コストの付加であり、その結果、導出されるスケーリング係数は:
【数5】
のように、-0.5のデフォルト値の方にバイアスされる。
【0047】
ここで、Cb(n)は、隣接する再構成Cbサンプルを表し、Cr(n)は、隣接する再構成Crサンプルを表し、λは、Σ(Cb(n)・Cb(n))>>9に等しい。
【0048】
一部の実施形態において、CCLMルマ・ツー・クロマ予測モードは、1つの更なるクロマイントラ予測モードとして追加される。エンコーダ側で、クロマイントラ予測モードを選択するために、クロマコンポーネントに対するRDコストチェックをもう1つ追加される。CCLMルマ・ツー・クロマ予測モード以外のイントラ予測モードがCUのクロマコンポーネントに使用される場合、CCLM Cb・ツー・Cr予測がCrコンポーネント予測に使用される。
【0049】
1.2 複数モデルCCLMの例
JEMにおいては、単一モデルCCLMモードと複数モデルCCLMモード(MMLM)という2つのCCLMモードが存在する。名称によって示されるように、単一モデルCCLMモードは、CU全体についてルマサンプルからクロマサンプルを予測するために1つの線形モデルを使用するのに対し、MMLMでは2つのモデルが存在することができる。
【0050】
MMLMでは、現在ブロックの隣接ルマサンプル及び隣接クロマサンプルが2つのグループに分類され、各グループが、線形モデルを導出するための訓練セットとして使用される(すなわち、特定のグループに対して特定のα及びβを導出される)。さらに、現在ルマブロックのサンプルも、隣接ルマサンプルの分類と同じルールに基づいて分類される。
【0051】
図2は、隣接サンプルを2つのグループに分類する一例を示している。隣接する再構成ルマサンプルの平均値として閾値(Threshold)が計算される。Rec’L[x,y]≦Thresholdである隣接サンプルはグループ1に分類され、Rec’L[x,y]>Thresholdである隣接サンプルはグループ2に分類される。
【数6】
【0052】
1.3 CCLMにおけるダウンサンプリングフィルタの例
一部の実施形態において、4つのルマサンプルが1つのクロマサンプルに対応する4:2:0クロマフォーマットについて、クロマ予測を実行するために、再構成ルマブロックは、クロマ信号のサイズに一致するようにダウンサンプリングされる必要がある。CCLMモードで使用されるデフォルトのダウンサンプリングフィルタは、以下:
【数7】
のとおりである。
【0053】
ここで、ダウンサンプリングは、ルマサンプルの位置に対するクロマサンプルの位置について、例えば水平方向のコロケートサンプリング及び垂直方向の格子間サンプリングといった、
図3Aに示すような“タイプ0”位相関係を仮定する。
【0054】
(6)で規定される例示的な6タップダウンサンプリングフィルタが、単一モデルCCLMモード及び複数モデルCCLMモードの双方でデフォルトフィルタとして使用される。
【0055】
一部の実施形態において、MMLMモードの場合に、エンコーダは、CUにおける予測に適用されるよう、4つの追加のルマダウンサンプリングフィルタのうちの1つを選択的に選択し、それらのうちのどれが使用されるかを指し示すフィルタインデックスを送信することができる。
図3Bに示すような、MMLMモードのための4つの選択可能なルマダウンサンプリングフィルタは、以下:
【数8】
のとおりである。
【0056】
1.4 多方向LM (MDLM)
この既存の実装は、多方向(multi-directional)LM(MDLM)を提案する。MDLMでは、2つの更なるCCLMモードが提案され、すなわち、
図4Aに示すように線形モデルパラメータが上(top又はabove)の隣接サンプルのみに基づいて導出されるLM-A、及び
図4Bに示すように線形モデルパラメータが左の隣接サンプルのみに基づいて導出されるLM-Lが提案される。
【0057】
1.5 クロスコンポーネント線形モデルの単純化
この既存の実装は、線形モデルパラメータαとβのLMSアルゴリズムを直線方程式、いわゆる二点法、に置き換えることを提案する。二点(LumaとChromaのカップル)(A、B)は、
図5に示すように、隣接Lumaサンプルの集合内の最小値と最大値である。
【0058】
ここで、線形モデルパラメータαとβは、以式:
α=(yB-yA)/(xB-xA)、及びβ=yA-αxA
に従って得られる。
【0059】
一部の実施形態において、αの導出に必要な除算演算が回避され、以下のようなに乗算及びシフトによって置き換えられる:
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);
【0060】
ここで、SはiShiftに等しく設定され、αはaに等しく設定され、βはbに等しく設定される。また、g_aiLMDIVTableLow及びg_ailLMDIVTableHighは、各々が512個のエントリを持つ2つのテーブルであり、各エントリが16ビット整数を格納する。
【0061】
クロマ予測器を導出するために、現行のVTM実装に関して、乗算が、
【数9】
のように、整数演算によって置き換えられる。
【0062】
シフトSが常に同じ値を持つので、この実装も、現行のVTM実装より単純である。
【0063】
1.6 VVCにおけるCCLMの例
JEMにおいてと同様のCCLMがVTM-2.0で採用されているが、JEMにおけるMM-CCLMはVTM-2.0で採用されていない。VTM-3.0にはMDLM及び単純化されたCCLMが採用されている。
【0064】
1.7 JEMにおける局所照明補償の例
局所照明補償(Local Illumination Compensation;LIC)は、スケーリング係数aとオフセットbを用いた、照明変化に関する線形モデルに基づく。また、それは、インターモード符号化される符号化ユニット(CU)ごとに適応的に有効又は無効にされる。
【0065】
LICがCUに適用される場合、現在CUの隣接するサンプル及びそれらの対応する参照サンプルを使用することによってパラメータa及びbを導出するために、最小二乗誤差法が採用される。より具体的には、
図32に例示するように、CUのサブサンプリング(2:1サブサンプリング)された隣接サンプルと、参照ピクチャ内の対応するピクセル(現在CU又は現在サブCUの動き情報によって特定される)とが使用される。各予測方向について別々にICパラメータが導出されて適用される。
【0066】
CUが2N×2Nマージモードで符号化される場合、マージモードにおける動き情報コピーと同様のやり方で、LICフラグが隣接ブロックからコピーされ、それ以外の場合には、CUについて、LICが適用されるか否かを指し示すために、LICフラグが信号伝達される。
【0067】
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の代わりに使用される。
【0068】
符号化の複雑さを低減させるために、JEMでは、現在ピクチャとその参照ピクチャとの間に明白な照明変化がないときにはピクチャ全体に対してLICが無効にされる、という符号化スキームが適用される。この状況を特定するために、現在ピクチャのヒストグラム及び現在ピクチャの全ての参照ピクチャのヒストグラムがエンコーダで計算される。現在ピクチャと現在ピクチャの全ての参照ピクチャとの間でヒストグラム差が所与の閾値より小さい場合、現在ピクチャに対してLICが無効にされ、それ以外の場合には、現在ピクチャに対してLICが有効にされる。
【0069】
2 既存の実装における欠点の例
現行の実装は、JEMにおけるLMモードのLMSアプローチを置き換えるように二点法を導入している。この新たな方法はCCLMにおける加算及び乗算の数を減少させるが、以下の問題を導入する。
【0070】
1) 最小及び最大のルマ値を見つけるために比較が導入され、これは、単一命令複数データ(SIMD)ソフトウェア設計にフレンドリーでない。
【0071】
2) 16ビット数を格納する合計で1024エントリを持つ2つのルックアップテーブルが導入され、ハードウェア設計において望ましくない2K ROMメモリを要求する。
【0072】
映像符号化におけるクロスコンポーネント予測のための例示的な方法
ここで開示される技術の実施形態は、既存の実装の欠点を克服し、それにより、より高い符号化効率及びより低い計算複雑性を有する映像符号化を提供する。開示される技術に基づく、クロスコンポーネント予測のための単純化された線形モデル導出は、既存の及び将来の映像符号化標準の双方を強化することができ、種々の実装に関して説明される以下の例にて明らかになる。以下に提供される開示技術の例は、一般的概念を説明するものであり、限定するものとして解釈されることを意味するものではない。一例において、そうでないことが明示的に示されない限り、これらの例にて説明される様々な特徴は組み合わされることができる。
【0073】
以下の例及び方法において、用語“LM法”は、以下に限られないが、JEM又はVTMにおけるLMモード、JEMにおけるMMLMモード、線形モデルを導出するために左の隣接サンプルのみを使用する左LMモード、線形モデルを導出するために上の隣接サンプルのみを使用する上LMモード、又はクロマ予測ブロックを導出するためにルマ再構成サンプルを利用する他の種類の方法を含む。LM-LでもLM-Aでもない全てのLMモードを、通常LMモードと呼ぶ。
【0074】
以下の例及び方法において、Shift(x,s)は、Shift(x,s)=(x+off)>>sとして定義され、SignShift(x,s)は、
【数10】
として定義される。
【0075】
ここで、offは、例えば0又は2s-1などの整数である。
【0076】
現在クロマブロックの高さと幅を、それぞれ、H及びWと表記する。
【0077】
図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]
として表記される。
【0078】
例1. LM法におけるパラメータα及びβは、2つ以上の特定の位置のクロマサンプルから導出される。
a. 導出は、選択されたクロマサンプルの対応するダウンサンプリングされたルマサンプルにも依存する。あるいは、導出は、例えばそれが4:4:4カラーフォーマットである場合などに、選択されたクロマサンプルの対応するルマサンプルにも依存する。
b. 例えば、CCLMにおけるパラメータα及びβは、例えば2S(例えば、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におけるパラメータα及びβを導出するために、利用可能な全てのクロマサンプルが、最小及び最大のルマ値を見つけるために検索されるわけではない。
【0079】
i. K個のクロマサンプル(及びそれらの対応するダウンサンプリングされたルマサンプル)のうちの1つのクロマサンプルが、探索用の集合トに含まれられる。Kは、2、4、6又は8とし得る。
【0080】
(a)例えば、Rec[x,y]が上の隣接サンプルである場合、それは、x%K==0の場合にのみ検索用の集合に含められる。Rec[x,y]が左の隣接サンプルである場合、それは、y%K==0の場合にのみ検索用の集合に含められる。
【0081】
ii. 例えば1.a.i.-1.a.xxivで規定したものなどの特定の位置にあるクロマサンプルのみが検索用の集合に含められる。
e. モードLM-Lでは、選択される全てのサンプルが左の隣接サンプルでなければならない。
f. モードLM-Aでは、選択される全てのサンプルが上の隣接サンプルでなければならない。
g. 選択される位置は固定されてもよいし、適応的にされてもよい。
【0082】
i. 一例において、どの位置が選択されるかは、現在クロマブロックの幅及び高さに依存し得る;
ii. 一例において、どの位置が選択されるかは、例えばVPS/SPS/PPS/スライスヘッダ/タイルグループヘッダ/タイル/CTU/CU/PU内などで、エンコーダからデコーダに信号伝達され得る。
h. 式(2)及び式(3)に示した最小二乗平均法でパラメータα及びβを導出するために、選択されたクロマサンプルが使用される。式(2)及び式(3)において、Nは、選択されたサンプルの数に設定される。
i. 二点法でパラメータα及びβを導出するために、一対の選択されたクロマサンプルが使用される。
j. 一例において、サンプルをどのように選択するかは、隣接ブロックの利用可能性に依存し得る。
【0083】
i. 例えば、左及び上の双方の隣接ブロックが利用可能である場合には、位置A、D、J及びMが選択され、左の隣接ブロックのみが利用可能である場合には、位置A及びDが選択され、そして、上の隣接ブロックのみが利用可能である場合には、位置J及びMが選択される。
【0084】
例2. CCLMモードにおけるパラメータのセットが、先ず導出され、次いで結合されることで、1つのブロックを符号化するのに使用される最終的な線形モデルパラメータを形成することができる。α1及びβ1が、グループ1と表記される特定の位置のクロマサンプルのグループから導出され、α2及びβ2が、グループ2と表記される特定の位置のクロマサンプルのグループから導出され、αN及びβNが、グループNと表記される特定の位置のクロマサンプルのグループから導出されるとすると、最終的なα及びβは、(α1,β1)、…、(αN,βN)から導出されることができる。
a. 一例において、αは、α1、…、αNの平均として計算され、βは、β1、…、βNの平均として計算される。
【0085】
i. 一例において、α=SignShift(α1+α2,1)、β=SignShift(β1+β2,1)である。
【0086】
ii. 一例において、α=Shift(α1+α2,1)、β=Shift(β1+β2,1)である。
【0087】
iii. (α1,β1)と(α2,β2)とが異なる精度を有する場合、例えば、クロマ予測CPをその対応するダウンサンプリングされたルマサンプルLRから得るために、それは、
(α1,β1)を用いて、CP=SignShift(α1×LR+β1,SH1)
として計算されるが、
(α2,β2)を用いると、CP=SignShift(α2×LR+β2,SH2)として計算され、Sh1はSh2に等しくなく、パラメータは結合される前にシフトされる必要がある。Sh1>Sh2とすると、結合される前に、パラメータは、
(a)α1=SignShift(α1,Sh1-Sh2)、β1=SignShift(β1,Sh1-Sh2)のようにシフトされるべきである。すると、最終的な精度は(α2,β2)となる。
【0088】
(b)α1=Shift(α1,Sh1-Sh2)、β1=Shift(β1,Sh1-Sh2)のようにシフトされるべきである。すると、最終的な精度は(α2,β2)となる。
【0089】
(c)α2=α2<<(Sh1-Sh2)、β2=β2<<(Sh1-Sh2)のようにシフトされるべきである。すると、最終的な精度は(α1,β1)となる。
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に使用される。
【0090】
例3. C0及びC1と表記される2つのクロマサンプル値と、L0及びL1(L0<L1)と表記されるそれらの対応するルマサンプル値とが入力であるとする。二点法は、これらの入力を用いて、
α=(C1-C0)/(L1-L0)、及びβ=C0-αL0
として、α及びβを導出することができる。
【0091】
ルマサンプル及びクロマサンプルのビット深度は、BL及びBCと表記される。この実装のための1つ以上の単純化は、
a. L1がL0に等しい場合、αは0として出力される。あるいは、L1がL0に等しい場合、CCLMモードを使用する代わりに、特定のイントラ予測モード(例えば、DMモード、DC又はプレーナ)を使用して、予測ブロックを導出する。
【0092】
b. 除算演算は、ルックアップテーブルを用いない他の演算に置き換えられる。log2演算は、最上位の桁の位置をチェックすることによって実行され得る。
【0093】
i. α=Shift(C1-C0,Floor(log2(L1-L0)))、又は
α=SignShift(C1-C0,Floor(log2(L1-L0)))
ii. α=Shift(C1-C0,Ceiling(log2(L1-L0)))、又は
α=SignShift(C1-C0,Ceiling(log2(L1-L0)))
iii. L1-L0の値に基づいて例i又は例iiが選択され得る。
【0094】
(a)例えば、L1-L0<Tである場合に例iが使用され、それ以外の場合には例iiが使用される。例えば、Tは、
(Floor(log2(L1-L0))+Ceiling(log2(L1-L0)))/2
とされることができる。
【0095】
(b)例えば、3×(L1-L0)<2Floor(log2(L1-L0))+2である場合に例iが使用され、それ以外の場合には例iiが使用される。
【0096】
(c)例えば、(L1-L0)2<22×Floor(log2(L1-L0))+1である場合に例iが使用され、それ以外の場合には例iiが使用される。
【0097】
c. 除算演算は、M[k]と表記される1つのルックアップテーブルによって置き換えられる。
【0098】
i. Vとして表記されるルックアップテーブルのサイズは2Pより小さく、ここで、Pは、例えば5、6、又は7などの整数である。
【0099】
ii. ルックアップテーブルの各エントリが、Fビット整数を格納し、例えば、F=8又は16である。
【0100】
(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を満たさなければならない。
【0101】
iii. k=Shift(L1-L0,W)が、ルックアップテーブルを照会するためのキーとして使用される。
【0102】
(a)一例において、Wは、BL、V、及びZに依存する。
【0103】
(b)一例において、Wは、L1-L0の値にも依存する。
【0104】
iv. kがルックアップテーブルを照会するための有効なキーでない(k-Z<0、又はk-Z>=V)場合、αは0として出力される。
【0105】
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の値に依存してもよい。
【0106】
(a)ShはBL、BC、V、S及びDに依存し得る。
【0107】
(b)DはShに依存し得る。
【0108】
viii. Vとして表記されるルックアップテーブルのサイズは2Pに等しく、ここで、Pは、例えば5、6、7又は8などの整数である。あるいは、Vは2P-Mに設定される(例えば、Mは0に等しい)。
【0109】
ix. α=P/Q(例えば、Q=L1-L0、P=C1-C0、又はこれらは他の方法で導出される)と仮定すると、αは、ルックアップテーブルを用いて、α=Shift(P×M[k-Z],D)、又はα=SignShift(P×M[k-Z],D)として計算され、ここで、kは、ルックアップテーブル内のエントリを照会するためのキー(インデックス)である。
【0110】
(a)一例において、kは、関数:k=f(Q)を用いて、Qから導出される。
【0111】
(b)一例において、kは、関数:k=f(Q,P)を用いて、Q及びPから導出される。
【0112】
(c)一例において、kは、特定の範囲[kMin,kMax]内で有効である。例えば、kMin=Z、kMax=V+Zである。
【0113】
(d)一例において、k=Shift(Q,W)であり、
a. Wは、BL、V、及びZに依存し得る。
【0114】
b. Wは、Qの値に依存し得る。
【0115】
c. 一例において、kがShift(Q,W)として計算される場合、αは、ルックアップテーブルを用いて、
α=(Shift(P×M[k-Z],D))<<W、又は
α=(SignShift(P×M[k-Z],D))<<W
として計算される。
【0116】
(e)一例において、kは、異なるQの値で異なる方法で導出される。
【0117】
a. 例えば、Q<=kMaxのときにはk=Qであり、Q>kMaxのときにはk=Shift(Q,W)である。例えば、Wは、Shift(Q,W)をkMax以下にする最小の正の整数として選択される。
【0118】
b. 例えば、k=Min(kMax,Q)である。
【0119】
c. 例えば、k=Max(kMin,Min(kMax,Q))である。
【0120】
(f)一例において、Q<0の場合、-Qが、計算におけるQを置き換えるように使用される。そして、-αが出力される。
【0121】
(g)一例において、Qが0に等しい場合、αは、例えば0又は1などのデフォルト値に設定される。
【0122】
(h)一例において、Qが2EE>=0に等しい場合、α=Shift(P,E)又はα=SignShift(P,E)とされる。
【0123】
d. LMパラメータを導出するための全ての演算がKビット以内でなければならず、Kは、8、10、12、16、24又は32とすることができる。
【0124】
i. 中間変数が、制約ビットによって表される範囲を超え得る場合、それは、制約ビット内にあるように、クリッピング又は右シフトされるべきである。
【0125】
例4. 1つの単一クロマブロックが複数の線形モデルを使用してもよく、複数の線形モデルの選択は、クロマブロック内のクロマサンプルの位置に依存する。
【0126】
a. 一例において、単一のクロマブロック内でLM-LモードとLM-Aモードとを組み合わせることができる。
【0127】
b. 一例において、一部のサンプルはLM-Lモードで予測され、他のサンプルはLM-Aモードで予測される。
【0128】
i.
図7は一例を示している。左上のサンプルが位置(0,0)にあるとする。x>y(又はx>=y)である位置(x,y)のサンプルはLM-Aによって予測され、他のサンプルはLM-Lによって予測される。
【0129】
c. 位置(x,y)のサンプルに対するLM-L及びLM-Aでの予測を、それぞれ、P1(x,y)及びP2(x,y)とすると、最終的な予測P(x,y)は、P1(x,y)とP2(x,y)との加重和として計算される。
【0130】
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、…などの整数である。
【0131】
(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、…などの整数である。
【0132】
iv. w1及びw2は位置(x,y)に依存し得る。
【0133】
(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が増加する。
【0134】
例5. 隣接するサンプル(クロマサンプルとその対応するルマサンプルを含み、それらはダウンサンプリングされることがある)をN個のグループに分割することが提案される。k番目(k=0,1,…,N-1)のグループの最大ルマ値及び最小ルマ値がMaxLk及びMinLkと表記され、それらの対応するクロマ値がそれぞれMaxCk及びMinCkと表記される。
【0135】
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は全て平均化関数を表す。
【0136】
ii. S0、S1、…、Smは、α及びβを計算するために使用される選択されたグループのインデックスである。
【0137】
(1)例えば、全てのグループが使用され、例えば、S0=0、S1=1、…、Sm=N-1である。
【0138】
(2)例えば、2つのグループが使用され、例えば、m=1、S0=0、S1=N-1である。
【0139】
(3)例えば、全てのグループが使用されるわけではなく、例えば、m<N-1、S0=0、S1=2、S3=4、…などである。
【0140】
b. 一例において、上の行に位置するサンプル(又はダウンサンプリングされたサンプル)が1つのグループに分類され得るとともに、ブロックの左の列に位置するサンプル(又はダウンサンプリングされたサンプル)が別のグループに分類され得る。
【0141】
c. 一例において、サンプル(又はダウンサンプリングされたサンプル)は、それらの位置又は座標に基づいて分類される。
【0142】
i. 例えば、サンプルは、2つのグループに分類され得る。
【0143】
(1)上の行に位置する座標(x,y)のサンプルについて、それは、x%P=Qの場合にグループS0に分類され、ここで、P及びQは整数であり、例えば、P=2、Q=1、P=2、Q=0、又はP=4、Q=0であり、そうでない場合にはグループS1に分類される。
【0144】
(2)左の列に位置する座標(x,y)のサンプルについて、それは、y%P=Qの場合にグループS0に分類され、ここで、P及びQは整数であり、例えば、P=2、Q=1、P=2、Q=0、又はP=4、Q=0であり、そうでない場合にはグループS1に分類される。
【0145】
(3)例えばS0など、1つのグループ内のサンプルのみが、MaxC及びMaxLを見つけるために使用される。例えば、MaxL=MaxLS0、及びMaxC=MaxCS0である。
【0146】
d. 一例において、隣接するサンプル(又はダウンサンプリングされたサンプル)のうちの一部のみが、Nグループに分割されるのに使用される。
【0147】
e. グループの数(例えば、N)及び/又は選択されるグループのインデックス及び/又は関数(f1/f2/f3/f4)は、予め規定されてもよいし、あるいは、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU群/LCU/CU内で信号伝達されてもよい。
【0148】
f. 一例において、各グループのサンプルをどのように選択するかは、隣接ブロックの利用可能性に依存し得る。
【0149】
i. 例えば、左及び上の両方の隣接ブロックが利用可能である場合、MaxL0/MaxC0及びMinL0/MinC0は位置A及びDから見出され、MaxL1/MaxC1及びMinL1/MinC1は位置J及びMから見出され、そして、MaxL=(MaxL0+MaxL1)/2、MaxC=(MaxC0+MaxC1)/2、MinL=(MinL0+MinL1)/2、MinC=(MinC0+MinC1)/2である。
【0150】
ii. 例えば、左の隣接ブロックのみが利用可能である場合、MaxL/MaxC及びMinL/MinCは、位置A及びDから直接見出される。
【0151】
(1)あるいは、上の隣接ブロックが利用可能でない場合に、α及びβは、何らかのデフォルト値に等しく設定される。例えば、α=0、及びβ=1<<(bitDepth-1)であり、ここで、bitDepthは、クロマサンプルのビット深度である。
【0152】
iii. 例えば、上の隣接ブロックのみが利用可能である場合、MaxL/MaxC及びMinL/MinCは、位置J及びMから直接見出される。
【0153】
(1)あるいは、左の隣接ブロックが利用可能でない場合に、α及びβは、何らかのデフォルト値に等しく設定される。例えば、α=0、及びβ=1<<(bitDepth-1)であり、ここで、bitDepthは、クロマサンプルのビット深度である。
【0154】
g. 一例において、各グループのサンプルをどのように選択するかは、ブロックの幅及び高さに依存し得る。
【0155】
h. 一例において、各グループのサンプルをどのように選択するかは、サンプルの値に依存し得る。
【0156】
i. 一例において、最大のルマ値及び最小のルマ値を持つ2つのサンプルが、第1のグループにあるように選ばれる。そして、他の全てのサンプルは、第2のグループにあるようにされる。
【0157】
例6. LM-Lモード及びLM-Aモードを適用するか、及びどのように適用するかが、現在ブロックの幅(W)及び高さ(H)に依存し得ることが提案される。
【0158】
(a)例えば、W>K×Hの場合にLM-Lは適用されることができず、例えば、K=2である。
【0159】
(b)例えば、H>K×Wの場合にLM-Aは適用されることができず、例えば、K=2である。
【0160】
(c)LM-L及びLM-Aのうち一方が適用されることができない場合、LM-L又はLM-Aのどちらが使用されるのかを指し示すフラグは信号伝達されるべきでない。
【0161】
例7. CCLMモードが適用されるかを指し示すフラグが信号伝達される。フラグを符号化するために算術符号化で使用されるコンテキストは、
図8に示す左上の隣接ブロックがCCLMモードを適用するか否かに依存し得る。
【0162】
(a)一例において、左上の隣接ブロックがCCLMモードを適用する場合、第1のコンテキストが使用され、左上の隣接ブロックがCCLMモードを適用しない場合には、第2のコンテキストが使用される。
(b)一例において、左上の隣接ブロックが利用可能でない場合、そのことは、CCLMモードを適用しないこととみなされる。
(c)一例において、左上の隣接ブロックが利用可能でない場合、そのことは、CCLMモードを適用することとみなされる。
(d)一例において、左上の隣接ブロックがイントラ符号化されていない場合、そのことは、CCLMモードを適用しないこととみなされる。
(e)一例において、左上の隣接ブロックがイントラ符号化されていない場合、そのことは、CCLMモードを適用することとみなされる。
【0163】
例8. DMモード及びLMモードのインジケーション又はコードワードが、シーケンスごとに/ピクチャごとに/タイルごとに/ブロックごとに異なる順序で符号化され得る。
【0164】
(a)LM及びDMのインジケーションの符号化順序(例えば、それがLMモードであるかを最初に符号化し、そうでなければ、次いで、それがDMモードであるかを符号化する;あるいは、それがDMモードであるかを最初に符号化し、そうでなければ、次いで、それがLMモードであるかを符号化する)は、1つ又は複数の隣接ブロックのモード情報に依存し得る。
【0165】
(b)一例において、現在ブロックの左上のブロックが利用可能であり、且つLMモードで符号化されている場合、LMモードのインジケーションが最初に符号化される。
【0166】
(c)あるいは、現在ブロックの左上のブロックが利用可能であり、且つDMモードで符号化されている場合、DMモードのインジケーションが最初に符号化される。
【0167】
(d)あるいは、現在ブロックの左上のブロックが利用可能であり、且つ非LM(例えば、DMモード、又はLMを除いた他のイントラ予測モード)で符号化されている場合、DMモードのインジケーションが最初に符号化される。
【0168】
(e)一例において、この順序のインジケーションは、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU群/LCU/CU内で信号伝達され得る。
【0169】
例9. 上記の例において、サンプル(又はダウンサンプリングされたサンプル)は、
図6に示した2×W個の上の隣接サンプル又は2×H個の左の隣接サンプルの範囲を超えて位置してもよい。
【0170】
(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である。
【0171】
(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である。
【0172】
例10. 一例において、クロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)は、例1-7に開示されるように線形モデルパラメータα及びβを導出する前にダウンサンプリングされる。現在クロマブロックの幅及び高さをW及びHとする。
【0173】
(a)一例において、ダウンサンプリングを行うか、及びそれをどのように行うかは、W及びHに依存し得る。
【0174】
(b)一例において、現在ブロックの左のパラメータを導出するために使用される隣接サンプルの数と、現在ブロックの上のパラメータを導出するために使用される隣接サンプルの数とが、ダウンサンプリングプロセス後に同じであるべきである。
【0175】
(c)一例において、WがHに等しい場合、クロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)はダウンサンプリングされない。
【0176】
(d)一例において、W<Hであるの場合、現在ブロックの左のクロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)がダウンサンプリングされる。
【0177】
(i)一例において、H/W個のクロマサンプルごとに1つのクロマサンプルが、α及びβを導出するのに使用されるようにピックアップされる。他のクロマサンプルは廃棄される。例えば、R[0,0]が現在ブロックの左上のサンプルを表すとすると、0からW-1までのKに対して、R[-1,K*H/W]が、α及びβを導出するのに使用されるようにピックアップされる。
【0178】
(e)一例において、W>Hである場合、現在ブロックの上のクロマ隣接サンプル及びそれらの対応するルマサンプル(ダウンサンプリングされ得る)がダウンサンプリングされる。
【0179】
(i)一例において、W/H個のクロマサンプルごとに1つのクロマサンプルが、α及びβを導出するのに使用されるようにピックアップされる。他のクロマサンプルは廃棄される。例えば、R[0,0]が現在ブロックの左上のサンプルを表すとすると、0からH-1までのKに対して、R[K*W/H,-1]が、α及びβを導出するのに使用されるようにピックアップされる。
【0180】
(ii)
図9は、
図6の位置D及び位置Mがα及びβを導出するために使用される場合にピックアップされるサンプルと、W>Hである場合に実行されるダウンサンプリングと、の例を示している。
【0181】
例11. 隣接するダウンサンプリングされた/元の再構成されたサンプル、及び/又はダウンサンプリングされた/元の再構成されたサンプルは更に、線形モデル予測プロセス又はクロスカラーコンポーネント予測プロセスで使用される前に精緻化されてもよい。
【0182】
(a)“精緻化される”は、フィルタリング処理を指してもよい。
【0183】
(b)“精緻化される”は、何らかの非線形処理を指してもよい。
【0184】
(c)例えばα=(C1-C0)/(L1-L0)及びβ=C0-αL0などの、α及びβを導出するために、幾つかの隣接サンプル(クロマサンプル及びそれらの対応するルマサンプルを含み、これらはダウンサンプリングされ得る)をピックアップして、C1、C0、L1及びL0を計算することが提案される。
【0185】
(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は何らかの関数である。
【0186】
(ii)一例において、f0はf1と同じである。
【0187】
(iii)一例において、f2はf3と同じである。
【0188】
(iv)一例において、f0、f1、f2、f3は同じである。
【0189】
1. 例えば、それらは全て平均化関数である。
【0190】
(v)一例において、SはTに等しい。
【0191】
1. 一例において、集合{x1,x2,…,xS}は集合{y1,y2,…,yT}と同じである。
【0192】
(vi)一例において、Lx1、Lx2、…、LxSは、ルマサンプルのグループのうち最小のS個のルマサンプルとして選択される。
【0193】
1. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される全ての隣接サンプルを含む。
【0194】
2. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される一部の隣接サンプルを含む。
【0195】
a. 例えば、ルマサンプルのグループは、
図2-5に示す4つのサンプルを含む。
【0196】
(vii)一例において、Ly1、Ly2、…、LySは、ルマサンプルのグループのうち最大のS個のルマサンプルとして選択される。
【0197】
1. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される全ての隣接サンプルを含む。
【0198】
2. 例えば、ルマサンプルのグループは、CCLM線形パラメータを導出するためにVTM-3.0で使用される一部の隣接サンプルを含む。
【0199】
a. 例えば、ルマサンプルのグループは、
図2-5に示す4つのサンプルを含む。
【0200】
例12. 隣接サンプル又はダウンサンプリング隣接サンプルの所与の集合内の最大の隣接サンプル又はダウンサンプリング隣接サンプルに基づいて、他の隣接サンプル又はダウンサンプリング隣接サンプルを選択することが提案される。
【0201】
(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である。
【0202】
(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である。
【0203】
(c)一例において、上記サンプルは、1つのカラーコンポーネント(例えば、ルマカラーコンポーネント)のサンプルを表している。CCLM/クロスカラーコンポーネントプロセスで使用されるサンプルは、第2のカラーコンポーネントの対応する座標によって導出され得る。
【0204】
(d)同様の方法を用いて、最小のサンプルを導出することができる。
【0205】
例13. 上の例において、ルマとクロマとが交換されてもよい。あるいは、ルマカラーコンポーネントが主カラーコンポーネント(例えば、G)によって置き換えられるとともに、クロマカラーコンポーネントが従カラーコンポーネント(例えば、B又はR)によって置き換えられてもよい。
【0206】
例14. クロマサンプル(及び/又は対応するルマサンプル)の位置の選択は、符号化されたモード情報に依存し得る。
【0207】
(a)あるいは、さらに、それは、例えば左の列又は上の行又は右上の行又は左下の列が利用可能であるかなど、隣接サンプルの利用可能性に依存し得る。
図10は、ブロックに対して左の列/上の行/右上の行/左下の列の概念を描いている。
【0208】
(b)あるいは、さらに、それは、例えば最初の右上サンプル及び/又は最初の左下サンプルが利用可能であるかなど、特定の位置にあるサンプルの利用可能性に依存してもよい。
【0209】
(c)あるいは、さらに、それは、ブロック寸法に依存してもよい。
【0210】
(i)あるいは、さらに、それは、現在クロマ(及び/又はルマ)ブロックの幅と高さとの間の比に依存してもよい。
【0211】
(ii)あるいは、さらに、それは、幅及び/又は高さがK(例えば、K=2)に等しいかに依存してもよい。
【0212】
(d)一例において、現在のモードが通常LMモードである場合、クロマサンプル(及び/又は、ダウンサンプリングされた若しくはダウンサンプリングされていないルマサンプル)を選択するために、以下の方法が適用され得る。
【0213】
(i)左の列及び上の行の両方が利用可能である場合、左の列の2つのサンプルと、上の行の2つのサンプルとが選択され得る。それらは、(現在ブロックの左上の座標を(x,y)として)以下に位置し得る。
【0214】
1. (x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-1,y-1)。
【0215】
2. (x-1,y)、(x,y-1)、(x-1,y+H-H/W-1)、及び(x+W-1,y-1)。例えば、HがWより大きい場合。
【0216】
3. (x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-W/H-1,y-1)。例えば、HがWより小さい場合。
【0217】
4. (x-1,y)、(x,y-1)、(x-1,y+H-max(1,H/W))、及び(x+W-max(1,W/H),y-1)。
【0218】
(ii)上の行のみが利用可能である場合、サンプルは上の行のみから選択される。
【0219】
1. 例えば、上の行の4つのサンプルが選択され得る。
【0220】
2. 例えば、2つのサンプルが選択され得る。
【0221】
3. サンプルをどのように選択するかは、幅/高さに依存し得る。例えば、W>2である場合には4つのサンプルが選択され、W=2である場合には2つのサンプルが選択される。
【0222】
4. 選択されるサンプルは、(現在ブロックの左上の座標が(x,y)であるとして)以下に位置し得る。
【0223】
a. (x,y-1)、(x+W/4,y-1)、(x+2*W/4,y-1)、(x+3*W/4,y-1)。
【0224】
b. (x,y-1)、(x+W/4,y-1)、(x+3*W/4,y-1)、(x+W-1,y-1)。
【0225】
c. (x,y-1)、(x+(2W)/4,y-1)、(x+2*(2W)/4,y-1)、(x+3*(2W)/4,y-1)。例えば、右上の行が利用可能である場合、又は最初の右上サンプルが利用可能である場合。
【0226】
d. (x,y-1)、(x+(2W)/4,y-1)、(x+3*(2W)/4,y-1)、(x+(2W)-1,y-1)。例えば、右上の行が利用可能である場合、又は最初の右上サンプルが利用可能である場合。
【0227】
(iii)左の列のみが利用可能である場合、サンプルは左の列のみから選択される。
【0228】
1. 例えば、左の列の4つのサンプルが選択され得る。
【0229】
2. 例えば、左の列の2つのサンプルが選択され得る。
【0230】
3. サンプルをどのように選択するかは、幅/高さに依存し得る。例えば、H>2である場合には4つのサンプルが選択され、H=2である場合には2つのサンプルが選択される。
【0231】
4. 選択されるサンプルは、以下に位置し得る。
【0232】
a. (x-1,y)、(x-1,y+H/4)、(x-1,y+2*H/4)、(x-1,y+3*H/4)。
【0233】
b. (x-1,y)、(x-1,y+2*H/4)、(x-1,y+3*H/4)、(x-1,y+H-1)。
【0234】
c. (x-1,y)、(x-1,y+(2H)/4)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)。例えば、左下の列が利用可能である場合、又は最初の左下サンプルが利用可能である場合。
【0235】
d. (x-1,y)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)、(x-1,y+(2H)-1)。左下の列が利用可能である場合、又は最初の左下サンプルが利用可能である場合。
【0236】
(iv)上の例において、4つのサンプルのうち2つのみが選択されてもよい。
【0237】
(e)一例において、現在のモードがLM-Aモードである場合、例11(d)(ii)に従ってサンプルを選択し得る。
【0238】
(f)一例において、現在のモードがLM-Lモードである場合、例11(d)(iii)に従ってサンプルを選択し得る。
【0239】
(g)選択されたルマサンプル(例えば、選択されたクロマの位置に従う)は、2つのグループにグループ化されてもよく、一方は、全ての選択サンプルのうち最大値及び最小値を有し、他方は、残りの全てのサンプルを有する。
【0240】
(i)LMパラメータを導出するために、2つのグループの2つの最大値が、二点法における最大値として平均をとられ、2つのグループの2つの最小値が、二点法における最小値として平均をとられる。
【0241】
(ii)選択されたサンプルが4つのみである場合、2つの大きい方のサンプル値が平均をとられ、2つの小さい方のサンプル値が平均をとられ、そして、平均にされた値が、LMパラメータを導出するための二点法への入力として使用される。
【0242】
例15. 上の例において、ルマとクロマとが交換されてもよい。あるいは、ルマカラーコンポーネントが主カラーコンポーネント(例えば、G)によって置き換えられるとともに、クロマカラーコンポーネントが従カラーコンポーネント(例えば、B又はR)によって置き換えられてもよい。
【0243】
例16. 上の隣接クロマサンプル(及び/又は、ダウンサンプリングされ得るそれらの対応するルマサンプル)を、第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)に基づいて選択することが提案される。使用されることになる利用可能な上の隣接サンプルな幅をWとする。
【0244】
a. 一例において、Wは、現在ブロックの幅に等しく設定され得る。
【0245】
b. 一例において、Wは、(現在ブロックの幅のL倍)に設定されてもよく、Lは整数値である。
【0246】
c. 一例において、上及び左の両方のブロックが利用可能である場合、Wは、現在ブロックの幅に設定され得る。
【0247】
i. あるいは、左のブロックが利用可能でない場合に、Wは、(現在ブロックの幅のL倍)に設定されてもよく、Lは整数値である。
【0248】
ii. 一例において、Lは、右上のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左上サンプルの利用可能性に依存してもよい。
【0249】
d. 一例において、Wは符号化モードに依存し得る。
【0250】
i. 一例において、現在ブロックがLMモードとして符号化される場合、Wは、現在ブロックの幅に設定され得る。
【0251】
ii. 現在ブロックがLM-Aモードとして符号化される場合、Wは(現在ブロックの幅のL倍)に設定されてもよく、Lは整数値である。
【0252】
(a)Lは、右上のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左上サンプルの利用可能性に依存してもよい。
【0253】
e. 現在ブロックの左上の座標を(x0,y0)とすると、K=0、1、2、…kMaxとして、位置(x0+F+K×S,y0-1)にある上の隣接サンプルが選択される。
【0254】
f. 一例において、F=W/Pである。Pは整数である。
【0255】
i. 例えば、P=2iであり、iは、例えば1又は2などの整数である。
【0256】
ii. あるいは、F=W/P+offsetである。
【0257】
g. 一例において、S=W/Qである。Qは整数である。
【0258】
i. 例えば、Q=2jであり、jは、例えば1又は2などの整数である。
【0259】
h. 一例において、F=S/Rである。Rは整数である。
【0260】
i. 例えば、R=2mであり、mは、例えば1又は2などの整数である。
【0261】
i. 一例において、S=F/Zである。Zは整数である。
【0262】
i. 例えば、Z=2nであり、nは、例えば1又は2などの整数である。
【0263】
j. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの予測モード(例えばLM、LM-A又はLM-Lなど)に依存し得る。
【0264】
k. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの幅及び/又は高さに依存し得る。
【0265】
l. kMax及び/又はF及び/又はS及び/又はoffsetは、隣接サンプルの利用可能性に依存し得る。
【0266】
m. kMax及び/又はF及び/又はS及び/又はoffsetは、Wに依存し得る。
【0267】
n. 例えば、kMax=1、F=W/4、S=W/2、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、左及び上の両方の隣接サンプルが利用可能であり、且つW>=4である場合に行われる。
【0268】
o. 例えば、kMax=3、F=W/8、S=W/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、上の隣接サンプルのみが利用可能であり、且つW>=4である場合に行われる。
【0269】
p. 例えば、kMax=3、F=W/8、S=W/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM-A符号化され、且つW>=4である場合に行われる。
【0270】
q. 例えば、kMax=1、F=0、S=1、offset=0である。あるいは、さらに、これらの設定は、Wが2に等しい場合に行われる。
【0271】
例17. 左の隣接クロマサンプル(及び/又は、ダウンサンプリングされ得るそれらの対応するルマサンプル)を、第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)に基づいて選択することが提案される。使用されることになる利用可能な左の隣接サンプルな高さをHとする。
【0272】
a. 一例において、Hは、現在ブロックの高さに等しく設定され得る。
【0273】
b. 一例において、Hは、(現在ブロックの高さのL倍)に設定されてもよく、Lは整数値である。
【0274】
c. 一例において、上及び左の両方のブロックが利用可能である場合、Hは、現在ブロックの高さに設定され得る。
【0275】
i. あるいは、上のブロックが利用可能でない場合に、Hは、(現在ブロックの高さのL倍)に設定されてもよく、Lは整数値である。
【0276】
ii. 一例において、Lは、左下のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左下サンプルの利用可能性に依存してもよい。
【0277】
iii. あるいは、必要な右上の隣接ブロックが利用可能である場合、Hは、(現在ブロックの高さ+現在ブロックの幅)に設定されてもよい。
【0278】
(a)一例において、左の隣接サンプルが利用可能でない場合、同じH個の上の隣接サンプルがLM-Aモード及びLMモードのために選ばれる。
【0279】
d. 一例において、Hは符号化モードに依存し得る。
【0280】
i. 一例において、現在ブロックがLMモードとして符号化される場合、Hは、現在ブロックの高さに設定され得る。
【0281】
ii. 現在ブロックがLM-Lモードとして符号化される場合、Hは(現在ブロックの高さのL倍)に設定され得る。
【0282】
(a)Lは、左下のブロックの利用可能性に依存し得る。あるいは、Lは、1つの左上サンプルの利用可能性に依存してもよい。
【0283】
(b)あるいは、必要な左下の隣接ブロックが利用可能である場合、Wは(現在ブロックの高さ+現在ブロックの幅)に設定されてもよい。
【0284】
(c)一例において、上の隣接サンプルが利用可能でない場合、同じW個の左の隣接サンプルがLM-Lモード及びLMモードのために選ばれる。
【0285】
e. 現在ブロックの左上の座標を(x0,y0)とすると、K=0、1、2、…、kMaxとして、位置(x0-1,y0+F+K×S)にある左の隣接サンプルが選択される。
【0286】
f. 一例において、F=H/Pである。Pは整数である。
【0287】
i. 例えば、P=2iであり、iは、例えば1又は2などの整数である。
【0288】
ii. あるいは、F=H/P+offsetである。
【0289】
g. 一例において、S=H/Qである。Qは整数である。
【0290】
i. 例えば、Q=2jであり、jは、例えば1又は2などの整数である。
【0291】
h. 一例において、F=S/Rである。Rは整数である。
【0292】
i. 例えば、R=2mであり、mは、例えば1又は2などの整数である。
【0293】
i. 一例において、S=F/Zである。Zは整数である。
【0294】
i. 例えば、Z=2nであり、nは、例えば1又は2などの整数である。
【0295】
j. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの予測モード(例えばLM、LM-A又はLM-Lなど)に依存し得る。
【0296】
k. kMax及び/又はF及び/又はS及び/又はoffsetは、現在ブロックの高さ及び/又は高さに依存し得る。
【0297】
l. kMax及び/又はF及び/又はS及び/又はoffsetは、Hに依存し得る。
【0298】
m. kMax及び/又はF及び/又はS及び/又はoffsetは、隣接サンプルの利用可能性に依存し得る。
【0299】
n. 例えば、kMax=1、F=H/4、S=H/2、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、左及び上の両方の隣接サンプルが利用可能であり、且つH>=4である場合に行われる。
【0300】
o. 例えば、kMax=3、F=H/8、S=H/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM符号化され、上の隣接サンプルのみが利用可能であり、且つH>=4である場合に行われる。
【0301】
p. 例えば、kMax=3、F=H/8、S=H/4、offset=0である。あるいは、さらに、これらの設定は、現在ブロックがLM-L符号化され、且つH>=4である場合に行われる。
【0302】
q. 例えば、Hが2に等しい、kMax=1、F=0、S=1、offset=0である。
【0303】
例18. 線形モデルパラメータを導出するために、2つ又は4つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)を選択すること提案される。
【0304】
a. 一例において、maxY/maxC及びminY/minCが、2つ又は4つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)から導出され、次いで、二点アプローチを用いて線形モデルパラメータを導出するために使用される。
【0305】
b. 一例において、maxY/maxC及びminY/minCを導出するために2つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)が選択される場合、minYは、小さい方のルマサンプル値に設定され、minCは、その対応するクロマサンプル値に設定され、maxYは、大きい方のルマサンプル値に設定され、maxCは、その対応するクロマサンプル値に設定される。
【0306】
c. 一例において、maxY/maxC及びminY/minCを導出するために4つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)が選択される場合、それらルマサンプル及びそれらの対応するクロマサンプルは、各々が2つのクロマサンプル及びそれらの対応するルマサンプルを含む2つの配列G0及びG1に分割される。
【0307】
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とが交換されてもよい。
【0308】
ii. 一例において、G0[0]及びG0[1]のルマサンプル値が比較され、G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも大きい場合、G0[0]のルマサンプル及びその対応するクロマサンプルが、G0[1]のそれらと交換される。
【0309】
(a)あるいは、G0[0]のルマサンプル値がG0[1]のルマサンプル値以上である場合に、G0[0]のルマサンプル及びその対応するクロマサンプルは、G0[1]のそれらと交換される。
【0310】
(b)あるいは、G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも小さい場合に、G0[0]のルマサンプル及びその対応するクロマサンプルが、G0[1]のそれらと交換される。
【0311】
(c)あるいは、G0[0]のルマサンプル値がG0[1]のルマサンプル値以下である場合に、G0[0]のルマサンプル及びその対応するクロマサンプルは、G0[1]のそれらと交換される。
【0312】
iii. 一例において、G1[0]及びG1[1]のルマサンプル値が比較され、G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G1[0]のルマサンプル及びその対応するクロマサンプルが、G1[1]のそれらと交換される。
【0313】
(a)あるいは、G1[0]のルマサンプル値がG1[1]のルマサンプル値以上である場合に、G1[0]のルマサンプル及びその対応するクロマサンプルは、G1[1]のそれらと交換される。
【0314】
(b)あるいは、G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも小さい場合に、G1[0]のルマサンプル及びその対応するクロマサンプルが、G1[1]のそれらと交換される。
【0315】
(c)あるいは、G1[0]のルマサンプル値がG1[1]のルマサンプル値以下である場合に、G1[0]のルマサンプル及びその対応するクロマサンプルは、G1[1]のそれらと交換される。
【0316】
iv. 一例において、G0[0]及びG1[1]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
【0317】
(a)一例において、G0[0]及びG1[0]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
【0318】
(b)一例において、G0[1]及びG1[0]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
【0319】
(c)一例において、G0[1]及びG1[1]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0とG1とが交換される。
【0320】
v. 一例において、G0[0]及びG1[1]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[0]とG1[1]とが交換される。
【0321】
(a)一例において、G0[0]及びG1[0]のルマサンプル値が比較され、G0[0]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[0]とG1[0]とが交換される。
【0322】
(b)一例において、G0[1]及びG1[0]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[1]とG1[0]とが交換される。
【0323】
(c)一例において、G0[1]及びG1[1]のルマサンプル値が比較され、G0[1]のルマサンプル値がG1[1]のルマサンプル値よりも大きい(又は小さい、又は以下である、又は以上である)場合、G0[1]とG1[1]とが交換される。
【0324】
vi. 一例において、maxYは、G0[0]及びG0[1]のルマサンプル値の平均として計算され、maxCは、G0[0]及びG0[1]のクロマサンプル値の平均として計算される。
【0325】
(a)あるいは、maxYは、G1[0]及びG1[1]のルマサンプル値の平均として計算され、maxCは、G1[0]及びG1[1]のクロマサンプル値の平均として計算される。
【0326】
vii. 一例において、minYは、G0[0]及びG0[1]のルマサンプル値の平均として計算され、minCは、G0[0]及びG0[1]のクロマサンプル値の平均として計算される。
【0327】
あるいは、minYは、G1[0]及びG1[1]のルマサンプル値の平均として計算され、minCは、G1[0]及びG1[1]のクロマサンプル値の平均として計算される。
【0328】
d. 一例において、2つの隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)のみが利用可能である場合、それらは先ず、4つのクロマサンプル(及び/又はそれらの対応するルマサンプル)になるようパディングされ、そして、それら4つのクロマサンプル(及び/又はそれらの対応するルマサンプル)を使用してCCLMパラメータが導出される。
【0329】
i. 一例において、2つのパディングクロマサンプル(及び/又はそれらの対応するルマサンプル)は、2つの利用可能な隣接クロマサンプル(及び/又はダウンサンプリングされ得るそれらの対応するルマサンプル)からコピーされる。
【0330】
例19. 上の全ての例において、選択されるクロマサンプルは、
図10に示される上の行(すなわち、W個のサンプルを有する)及び/又は左の列(すなわち、H個のサンプルを有する)の中に位置するものとされ、ここで、W及びHは、現在ブロックの幅及び高さである。
【0331】
a. あるいは、上の制約は、現在ブロックが通常LMモードで符号化される場合に適用され得る。
【0332】
b. あるいは、選択されるクロマサンプルは、上の行(すなわち、W個のサンプルを有する)と、H個のサンプルを有する右上の行の中に位置するものとされる。
【0333】
i. あるいは、さらに、上の制約は、現在ブロックがLM-Aモードで符号化される場合に適用され得る。
【0334】
ii. あるいは、さらに、上の制約は、上の行は利用可能であるが左の列は利用可能でなくて、現在ブロックがLM-Aモード又は通常LMで符号化される場合に適用され得る。
【0335】
c. あるいは、選択されるクロマサンプルは、左の列(すなわち、H個のサンプルを有する)と、W個のサンプルを有する左下の列の中に位置するものとされる。
【0336】
i. あるいは、さらに、上の制約は、現在ブロックがLM-Lモードで符号化される場合に適用され得る。
【0337】
ii. あるいは、さらに、上の制約は、上の行は利用可能でないが左の列は利用可能であって、現在ブロックがLM-Lモード又は通常LMで符号化される場合に適用され得る。
【0338】
例20
一例において、対応するクロマサンプルがCCLMパラメータを導出するために必要とされる位置にある隣接ルマサンプルのみが、ダウンサンプリングされる必要がある。
【0339】
例21
この文書にて開示される方法をどのように行うかは、カラーフォーマット(例えば4:2:0又は4:4:4など)に依存し得る。
【0340】
a. あるいは、この文書にて開示される方法をどのように行うかは、ビット深度(例えば8ビット又は10ビットなど)に依存し得る。
【0341】
b. あるいは、この文書にて開示される方法をどのように行うかは、カラー表現方法(例えばRGB又はYCbCrなど)に依存し得る。
【0342】
c. あるいは、この文書にて開示される方法をどのように行うかは、カラー表現方法(例えばRGB又はYCbCrなど)に依存し得る。
【0343】
d. あるいは、この文書にて開示される方法をどのように行うかは、クロマダウンサンプリング位置に依存し得る。
【0344】
例22
CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値を導出するかは、左及び上で隣接するものの利用可能性に依存し得る。例えば、左及び上のどちらの隣接ブロックも利用可能でない場合には、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。
【0345】
a. CCCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値を導出するかは、利用可能な隣接サンプルの数に依存し得る。例えば、numSampL==0及びnumSampT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。他の一例において、numSampL+numSampT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。これら2つの例において、numSampL及びnumSampTは、左及び上の隣接ブロックからの利用可能な隣接サンプルの数である。
【0346】
b. CCCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値を導出するかは、それらパラメータを導出するために使用される選ばれるサンプルの数に依存し得る。例えば、cntL==0及びcntT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。他の一例において、cntL+cntT==0の場合、CCLMパラメータを導出するために使用されるルマ及びクロマコンポーネントの最大/最小値は導出されないとし得る。これら2つの例において、cntL及びcntTは、左及び上の隣接ブロックからの選ばれるサンプルの数である。
【0347】
例23
一例において、CCLMで使用されるパラメータを導出するための提案される方法は、線形モデルをあてにするLIC又は他の符号化ツールで使用されるパラメータを導出するために使用され得る。
【0348】
a. 上で開示された例は、例えば、“クロマ隣接サンプル”を“現在ブロックの隣接サンプル”で置き換えるとともに、“対応するルマサンプル”を“参照ブロックの隣接サンプル”で置き換えることなどによって、LICに適用され得る。
【0349】
b. 一例において、LICパラメータ導出に利用されるサンプルは、上の行及び/又は左の列内の特定の位置のサンプルを除外し得る。
【0350】
i. 一例において、LICパラメータ導出に利用されるサンプルは、上の行内の最初のサンプルを除外し得る。
【0351】
(a)左上のサンプルの座標を(x0,y0)とすると、LICパラメータの使用に対して(x0,y0-1)を除外することが提案される。
【0352】
ii. 一例において、LICパラメータ導出に利用されるサンプルは、左の列内の最初のサンプルを除外し得る。
【0353】
(a)左上のサンプルの座標を(x0,y0)とすると、LICパラメータの使用に対して(x0-1,y0)を除外することが提案される。
【0354】
iii. 上の方法を適用するか、及び/又は特定の位置をどのように定めるかは、左の列/上の行の利用可能性に依存し得る。
【0355】
iv. 上の方法を適用するか、及び/又は特定の位置をどのように定めるかは、ブロック寸法に依存し得る。
【0356】
c. 一例において、現在ブロックのN個の隣接するサンプル(ダウンサンプリングされ得る)及び参照ブロックのN個の対応する隣接サンプル(対応してダウンサンプリングされ得る)を使用して、LICに使用されるパラメータを導出し得る。
【0357】
i. 例えば、Nは4である。
【0358】
ii. 一例において、N個の隣接サンプルは、上の行からのN/2個のサンプル、及び左の列からのN/2個のサンプルとして定められ得る。
【0359】
(a)あるいは、N個の隣接サンプルは、上の行又は左の列からのN個のサンプルとして定められてもよい。
【0360】
iii. 他の一例において、Nはmin(L,T)に等しく、ここで、Tは、現在ブロックの利用可能な隣接サンプル(ダウンサンプリングされ得る)の総数である。
【0361】
(a)一例において、Lは4に設定される。
【0362】
iv. 一例において、N個のサンプルの座標の選択は、CCLMプロセスにおいてN個のサンプルを選択するためのルールに従い得る。
【0363】
v. 一例において、N個のサンプルの座標の選択は、LM-AプロセスにおいてN個のサンプルを選択するためのルールに従い得る。
【0364】
vi. 一例において、N個のサンプルの座標の選択は、LM-LプロセスにおいてN個のサンプルを選択するためのルールに従い得る。
【0365】
vii. 一例において、N個のサンプルをどのように選択するかは、上の行/左の列の利用可能性に依存し得る。
【0366】
d. 一例において、現在ブロックのN個の隣接するサンプル(ダウンサンプリングされ得る)及び参照ブロックのN個の対応する隣接するサンプル(ダウンサンプリングされ得る)が、LICで使用されるパラメータを導出するために使用され、サンプル位置に基づいてピックアップされ得る。
【0367】
i. ピックアップ方法は、現在ブロックの幅及び高さに依存し得る。
【0368】
ii. ピックアップ方法は、隣接ブロックの利用可能性に依存し得る。
【0369】
iii. 例えば、上及び左の両方の隣接サンプルが利用可能である場合、K1個の隣接サンプルが左の隣接サンプルからピックアップされるとともに、K2個の隣接サンプルが上の隣接サンプルからピックアップされ得る。例えば、K1=K2=2である。
【0370】
iv. 例えば、左の隣接サンプルのみが利用可能である場合、K1個の隣接サンプルが左の隣接サンプルからピックアップされ得る。例えば、K1=4である。
【0371】
v. 例えば、上の隣接サンプルのみが利用可能である場合、K2個の隣接サンプルが上の隣接サンプルからピックアップされ得る。例えば、K2=4である。
【0372】
vi. 例えば、上のサンプルは、現在ブロックの寸法及び隣接ブロックの利用可能性に依存し得る第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)を用いてピックアップされ得る。
【0373】
(a)例えば、例16にて開示された方法を適用して、F及びSを導出することができる。
【0374】
vii. 例えば、左のサンプルは、現在ブロックの寸法及び隣接ブロックの利用可能性に依存し得る第1の位置オフセット値(Fと表記される)及びステップ値(Sと表記される)を用いてピックアップされ得る。
【0375】
(a)例えば、例17にて開示された方法を適用して、F及びSを導出することができる。
【0376】
e. 一例において、CCLMで使用されるパラメータを導出するために提案される方法は、現在ブロックがアフィン符号化される場合に、LICで使用されるパラメータを導出するためにも使用され得る。
【0377】
f. 上記の方法は、線形モデルをあてにする他の符号化ツールで使用されるパラメータを導出するために使用されてもよい。
【0378】
他の一例において、クロマサンプルが式(12)に示されるように予測モデルに従って対応する再構成ルマサンプルを用いて予測されるものであるクロスコンポーネント予測モードが提案される。式(12)において、Pred
C(x,y)は、クロマの予測サンプルを表す。α及びβは2つのモデルパラメータである。Rec’L(x,y)は、ダウンサンプリングされたルマサンプルである。
【数11】
【0379】
式(13)に示すように、
図11のブロックAに関するルマダウンサンプリングプロセスに6タップフィルタが導入される。
【数12】
【0380】
式(14)に示すように、
図11で陰影を付けられた上の周囲ルマ参照サンプルが、3タップフィルタでダウンサンプリングされる。左の周囲ルマ参照サンプルは、式(15)に従ってダウンサンプリングされる。左又は上のサンプルが利用可能でない場合には、式(16)及び式(17)で規定される2タップフィルタが使用されることになる。
【数13】
【0381】
特に、周囲ルマ参照サンプルは、クロマ参照サンプルと等しいサイズまでダウンサンプリングされる。そのサイズ(幅及び高さ)をwidth及びheightと表記する。α及びβを導出するために、2つ又は4つの隣接サンプルのみが関与する。α及びβを導出するときの除算演算を回避するために、ルックアップテーブルが適用される。その導出方法を以下に示す。
【0382】
3.1 最大で2つのサンプルを用いる例示的な方法
(1)widthとheightとの比rが、式(18)に示すように計算される。
【数14】
【0383】
(2)上及び左のブロックがどちらも利用可能である場合、第1の上のラインのposA及び第1の左のラインのposLに位置する2つのサンプルが選択される。説明を単純化するために、幅を長辺と仮定する。posA及びposLの導出を式(19)に示す(位置インデックスは0から始まる)。
図12は、異なる幅と高さとの比の一部の例(それぞれ、1、2、4及び8)を示している。選択されたサンプルに陰影を付けている。
【数15】
【0384】
(3)上のブロックは利用可能であるが、左のブロックは利用可能でない場合、
図13に示すように、上のラインの最初の点及びposAの点が選択される。
【0385】
(4)左のブロックは利用可能であるが、上のブロックは利用可能でない場合、
図14に示すように、左のラインの最初の点及びposLの点が選択される。
【0386】
(5)選択されたサンプルのルミナンス値及びクロミナンス値に従ってクロマ予測モデルが導出される。
【0387】
(6)左及び上のどちらのブロックも利用可能でない場合、αが0に等しく、βが1<<(BitDepth-1)に等しいデフォルト予測モデルが使用され、ここで、BitDepthはクロマサンプルのビット深度を表す。
【0388】
3.2 最大で4つのサンプルを用いる例示的な方法
(1)widthとheightとの比rが、式(18)のように計算される。
【0389】
(2)上及び左のブロックがどちらも利用可能である場合、第1の上のラインの最初及びposA並びに第1の左のラインの最初及びposLに位置する4つのサンプルが選択される。posA及びposLの導出は式(19)に示してある。
図15は、異なる幅と高さとの比の一部の例(それぞれ、1、2、4及び8)を示している。選択されたサンプルに陰影を付けている。
【0390】
(3)上のブロックは利用可能であるが、左のブロックは利用可能でない場合、
図13に示したように、上のラインの最初の点及びposAの点が選択される。
【0391】
(4)左のブロックは利用可能であるが、上のブロックは利用可能でない場合、
図14に示したように、左のラインの最初の点及びposLの点が選択される。
【0392】
(5)左及び上のどちらのブロックも利用可能でない場合、αが0に等しく、βが1<<(BitDepth-1)に等しいデフォルト予測モデルが使用され、ここで、BitDepthはクロマサンプルのビット深度を表す。
【0393】
3.3 LM導出においてルックアップテーブルを使用する例示的な方法
図16は、128、64、及び32個エントリを持ち、各エントリが16ビットで表現されるルックアップテーブルの例を示している。二点LM導出プロセスは、表1及び
図17に示すように、64個のエントリで簡略化される。留意すべきことには、最初のエントリはテーブルに格納されなくてもよい。
【0394】
これまた留意すべきことには、これらの例示的なテーブルの各エントリは、16ビットであるように設計されているが、より少ないビット(例えば、8ビット又は12ビット)の数に容易に変換されることができる。例えば、8ビットのエントリを持つテーブルは、次のように達成され得る:
g_aiLMDivTableHighSimp_64_8[i]=(g_aiLMDivTableHighSimp_64[i]+128)>>8
【0395】
例えば、12ビットのエントリを持つテーブルは、次のように達成され得る:
g_aiLMDivTableHighSimp_64_12[i]=(g_aiLMDivTableHighSimp_64[i]+8)>>4
【表1】
【0396】
なお、maxLuma及びminLumaは、選択された位置の最大及び最小のルマサンプル値を示し得る。あるいは、それらは、例えば平均化など、選択された位置の最大及び最小のルマサンプル値の関数を示してもよい。4つの位置のみが選択される場合、それらはまた、2つの大きい方のルマ値の平均、及び2つの小さい方のルマ値の平均をし得る。更に留意されたいことには、
図17において、maxChroma及びminChromaは、maxLuma及びminLumaに対応するクロマ値を表している。
【0397】
3.3 最大で4サンプルを用いる方法#4
現在クロマブロックのブロック幅及び高さをそれぞれW及びHとする。また、現在クロマブロックの左上の座標は[0,0]であるとする。
【0398】
上及び左のブロックがどちらも利用可能であり、且つ現在のモードが(LM-A及びLM-Lを除いた)通常LMモードである場合、上の行に位置する2つのクロマサンプル、及び左の列に位置する2つのクロマサンプルが選択される。
【0399】
2つの上のサンプルの座標は[Floor(W/4),-1]及び[Floor(3*W/4),-1]である。
【0400】
2つの左のサンプルの座標は[-1,Floor(H/4)]及び[-1,Floor(3*H/4)]である。
【0401】
選択されたサンプルは、
図31Aに示すように赤色で塗られている。
【0402】
続いて、これら4つのサンプルが、ルマサンプル強度に従ってソートされ、2つのグループに分類される。2つの大きい方のサンプル及び2つの小さい方のサンプルが、それぞれ、平均をとられる。それら2つの平均点を用いてクロスコンポーネント予測モデルが導出される。あるいは、4つのサンプルの最大値及び最小値を用いて、LMパラメータが導出される。
【0403】
上のブロックは利用可能であるが、左のブロックが利用可能でない場合、W>2のときには上のブロックから4つのクロマサンプルが選択され、W=2のときには2つのクロマサンプルが選択される。
【0404】
それら4つの選択される上のサンプルの座標は、[W/8,-1]、[W/8+W/4,-1]、[W/8+2*W/4,-1]、及び[W/8+3*W/4,-1]である。
【0405】
選択されたサンプルは、
図31Bに示すように赤色で塗られている。
【0406】
左のブロックは利用可能であるが、上のブロックが利用可能でない場合、H>2のときには左のブロックから4つのクロマサンプルが選択され、H=2のときには2つのクロマサンプルが選択される。
【0407】
それら4つの選択される左のサンプルの座標は、[-1,H/8]、[-1,H/8+H/4]、[-1,H/8+2*H/4]、及び[-1,H/8+3*H/4]である。
【0408】
左及び上のどちらのブロックも利用可能でない場合、αが0に等しく、βが1<<(BitDepth-1)に等しいデフォルト予測が使用され、ここで、BitDepthはクロマサンプルのビット深度を表す。
【0409】
現在のモードがLM-Aモードである場合、W’>2のときには上のブロックからの4つのクロマサンプルが選択され、W’=2のときには2つのクロマサンプルが選択される。W’は、上の隣接サンプルの利用可能な数であり、これは2*Wとし得る。
【0410】
それら4つの選択される上のサンプルの座標は、[W’/8,-1]、[W’/8+W’/4,-1]、[W’/8+2*W’/4,-1]、及び[W’/8+3*W’/4,-1]である。
【0411】
現在のモードがLM-Lモードである場合、H’>2のときには左のブロックからの4つのクロマサンプルが選択され、H’=2のときには2つのクロマサンプルが選択される。H’は、左の隣接サンプルの利用可能な数であり、これは2*Hとし得る。
【0412】
それら4つの選択される左のサンプルの座標は、[-1,H’/8]、[-1,H’/8+H’/4]、[-1,H’/8+2*H’/4]、及び[-1,H’/8+3*H’/4]である。
【0413】
3.5 CCLM予測の使用のために現行VVC標準を変更するための実施形態例
【0414】
8.3.4.2.8 INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMイントラ予測モードの仕様
このセクションでは、VVC標準の現段階での草案におけるものに対応する式番号を用いて式を記述する。
【0415】
このプロセスへの入力は以下のとおりである:
- イントラ予測モードpredModeIntra、
- 現在ピクチャの左上のサンプルに対する現在変換ブロックの左上のサンプルのサンプル位置(xTbC, yTbC)、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- x=-1, y=0..2*nTbH-1、及びx=0..2*nTbW-1, y=-1のクロマ隣接サンプルp[x][y]。
【0416】
このプロセスの出力は、x=0..nTbW-1, y=0..nTbH-1の予測サンプルpredSamples[x][y]である。
【0417】
現在ルマ位置(xTbY, yTbY)は次のように導出される:
(xTbY, yTbY)=(xTbC<<1, yTbC<<1) (8-155)
【0418】
変数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)
【0419】
変数bCTUborderyは次のように導出される:
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)? TRUE:FALSE (8-160)
【0420】
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は次のように導出される:
[変更の終了]
【0421】
3.6 提案されるCCLM予測についての別の例示的な作業草案
このセクションでは、VVC標準の現段階での作業草案に対して行うことができる変更を示す別の例示実施形態が記述される。ここでの式番号は、VVC標準における対応する式番号を指す。
【0422】
INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMイントラ予測モードの仕様。
【0423】
[現段階での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)
[実施形態例の終了]
【0424】
3.7 提案されるCCLM予測についての別の例示的な作業草案
このセクションでは、VVC標準の現段階での作業草案に対して行うことができる変更を示す別の例示実施形態が記述される。ここでの式番号は、VVC標準における対応する式番号を指す。
【0425】
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)
【0426】
3.8 提案されるCCLM予測についての代替的な作業草案
このセクションでは、VVC標準の現段階での作業草案に対して行うことができる別の変更を示す代替的な例示実施形態が記述される。ここでの式番号は、VVC標準における対応する式番号を指す。
【0427】
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)
【0428】
上述の例は、ビデオエンコーダ及び/又はデコーダにて実装され得る以下に記載される例えば方法1800、1900及び2000などの方法のコンテキストで組み込まれ得る。
【0429】
図18は、映像処理のための例示的な方法のフローチャートを示している。方法1800は、ステップ1802にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、隣接クロマサンプルのグループからのR個のクロマサンプルに基づいてクロスコンポーネント線形モデルのパラメータを決定することを含み、R個のクロマサンプルは、位置ルールに基づいてグループから選択され、Rは2以上である。方法1800は更に、ステップ1804にて、上記決定に基づいて変換を実行することを含む。
【0430】
図19Aは、映像処理のための例示的な方法のフローチャートを示している。方法1900は、ステップ1902にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、クロマサンプルの位置に基づいて選択されたクロマサンプルに基づいて、クロスコンポーネント線形モデルのパラメータを決定することを含み、選択されたクロマサンプルは、隣接クロマサンプルのグループから選択される。方法1900は更に、ステップ1904にて、上記決定に基づいて前記変換を実行することを含む。
【0431】
図19Bは、映像処理のための例示的な方法のフローチャートを示している。方法1910は、ステップ1912にて、現在映像ブロックについて、線形モデルのパラメータに関する一組の値を導出するのに使用される隣接クロマサンプルのグループを決定することを含み、現在映像ブロックの幅及び高さはそれぞれW及びHであり、隣接クロマサンプルのグループは、2×W個の上の隣接クロマサンプル又は2×H個の左の隣接クロマサンプルを超えて位置する少なくとも1つのサンプルを含む。方法1910は更に、ステップ1914にて、線形モデルに基づいて、現在映像ブロックと、現在映像ブロックを含む映像の符号化表現との間での変換を実行することを含む。
【0432】
図20Aは、映像処理のための例示的な方法のフローチャートを示している。方法2000は、ステップ2002にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、複数組のパラメータを決定することを含み、各組のパラメータが、クロスコンポーネント線形モデル(CCLM)を規定し、且つ対応するクロマサンプル位置の、対応するクロマサンプルのグループから導出される。方法2000は更に、ステップ2004にて、複数組のパラメータに基づいて、最終的なCCLM用のパラメータを決定することを含む。方法2000は更に、ステップ2006にて、最終的なCCLMに基づいて変換を実行することを含む。
【0433】
図20Bは、映像処理のための例示的な方法のフローチャートを示している。方法2010は、ステップ2012にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの隣接ルマ及びクロマサンプルから選択されたN個のグループのクロマ及びルマサンプルのうち最小値及び最大値のクロマ及びルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含む。方法2010は更に、ステップ2014にて、CCLMを用いて変換を実行することを含む。
【0434】
図21は、映像処理のための例示的な方法のフローチャートを示している。方法2100は、ステップ2102にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、2つのクロマサンプル及び対応する2つのルマサンプルによって完全に決定可能なクロスコンポーネント線形モデルのパラメータを決定することを含む。方法2100は更に、ステップ2104にて、上記決定に基づいて変換を実行することを含む。
【0435】
図22は、映像処理のための例示的な方法のフローチャートを示している。方法2200は、ステップ2202にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、パラメータテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定することを含み、パラメータテーブルのエントリが、2つのクロマサンプル値と2つのルマサンプル値とに従って検索される。方法2100は更に、ステップ2204にて、上記決定に基づいて変換を実行することを含む。
【0436】
図23Aは、映像処理のための例示的な方法のフローチャートを示している。方法2310は、ステップ2312にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロック内の位置(x,y)にあるクロマサンプルの最終予測P(x,y)を、複数のクロスコンポーネント線形モデル(MCCLM)の予測結果の組み合わせとして決定することを含み、MCCLMは、クロマサンプルの位置(x,y)に基づいて選択される。方法2310は更に、ステップ2314にて、最終予測に基づいて変換を実行することを含む。
【0437】
図23Bは、映像処理のための例示的な方法のフローチャートを示している。方法2320は、ステップ2322にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックのサンプルを予測することに、左の隣接サンプルのみを使用する第1のクロスコンポーネント線形モデル(CCLM)が用いられるかに関する第1の決定、及び/又は、現在映像ブロックのサンプルを予測することに、上の隣接サンプルのみを使用する第2のクロスコンポーネント線形モデル(CCLM)が用いられるかに関する第2の決定を実行することを含む。方法2320は更に、ステップ2324にて、第1の決定及び/又は第2の決定に基づいて変換を実行することを含む。
【0438】
図24Aは、映像処理のための例示的な方法のフローチャートを示している。方法2410は、ステップ2412にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの符号化表現への算術符号化を用いてフラグを符号化するために使用されるコンテキストを決定することを含み、コンテキストは、現在映像ブロックの左上の隣接ブロックが、クロスコンポーネント線形モデル(CCLM)予測モードを使用して符号化されるのかに基づく。方法2410は更に、ステップ2414にて、上記決定に基づいて変換を実行することを含む。
【0439】
図24Bは、映像処理のための例示的な方法のフローチャートを示している。方法2420は、ステップ2422にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの1つ以上の隣接ブロックの符号化モードに基づいて、直接イントラ予測モード(DMモード)及び線形イントラ予測モード(LMモード)の1つ以上のインジケーションについての符号化順序を決定することを含む。方法2420は更に、ステップ2424にて、上記決定に基づいて変換を実行することを含む。
【0440】
図24Cは、映像処理のための例示的な方法のフローチャートを示している。方法2430は、ステップ2432にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの精緻化されたクロマ及びルマサンプルに基づいて、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定することを含む。方法2430は更に、ステップ2434にて、上記決定に基づいて変換を実行することを含む。
【0441】
図24Dは、映像処理のための例示的な方法のフローチャートを示している。方法2440は、ステップ2442にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、最大隣接サンプル又は最小隣接サンプルの位置に基づいて隣接サンプルを選択することによって、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定することを含む。方法2440は更に、ステップ2444にて、上記決定に基づいて変換を実行することを含む。
【0442】
図24Eは、映像処理のための例示的な方法のフローチャートを示している。方法2450は、ステップ2452にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、主カラーコンポーネント及び従カラーコンポーネントに基づいて、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定することを含み、主カラーコンポーネントは、ルマカラーコンポーネント及びクロマカラーコンポーネントのうちの一方として選択され、従カラーコンポーネントは、ルマカラーコンポーネント及びクロマカラーコンポーネントのうちの他方として選択される。方法2450は更に、ステップ2454にて、上記決定に基づいて変換を実行することを含む。
【0443】
図25Aは、映像処理のための例示的な方法のフローチャートを示している。方法2510は、ステップ2512にて、現在映像ブロックの隣接ブロックのクロマ及びルマサンプルに対してダウンサンプリングを実行することを含む。方法2510は更に、ステップ2514にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、ダウンサンプリングから得られたダウンサンプリングクロマ及びルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含む。方法2510は更に、ステップ2516にて、上記決定に基づいて変換を実行することを含む。
【0444】
図25Bは、映像処理のための例示的な方法のフローチャートを示している。方法2520は、ステップ2522にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、一群の隣接クロマサンプルからの2つ以上のクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含み、上記2つ以上のクロマサンプルは、現在映像ブロックの符号化モードに基づいて選択される。方法2520は更に、ステップ2524にて、上記決定に基づいて変換を実行することを含む。
【0445】
図26Aは、映像処理のための例示的な方法のフローチャートを示している。方法2610は、ステップ2612にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含み、Wは整数である。方法2520は更に、ステップ2524にて、上記決定に基づいて変換を実行することを含む。
【0446】
図26Bは、映像処理のための例示的な方法のフローチャートを示している。方法2620は、ステップ2622にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、H個の利用可能な、現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含む。方法2620は更に、ステップ2624にて、上記決定に基づいて変換を実行することを含む。
【0447】
図27Aは、映像処理のための例示的な方法のフローチャートを示している。方法2710は、ステップ2712にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、2つ又は4つのクロマサンプル及び/又は対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含む。方法2710は更に、ステップ2714にて、上記決定に基づいて変換を実行することを含む。
【0448】
図27Bは、映像処理のための例示的な方法のフローチャートを示している。方法2720は、ステップ2722にて、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、位置ルールに基づいてクロマサンプルを選択するステップであり、前記クロマサンプルは、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用される。方法2720は更に、ステップ2724にて、上記決定に基づいて変換を実行することを含む。この例において、位置ルールは、現在映像ブロックの上の行及び/又は左の列内に位置するクロマサンプルを選択するように規定する。
【0449】
図28Aは、映像処理のための例示的な方法のフローチャートを示している。方法2810は、ステップ2812にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、ルマサンプルがダウンサンプリングされる位置を決定することを含み、ダウンサンプリングされたルマサンプルは、クロマサンプル及びダウンサンプリングされたルマサンプルに基づいてクロスコンポーネント線形モデル(CCLM)のパラメータを決定するために使用され、ダウンサンプリングされたルマサンプルは、CCLMのパラメータを導出するために使用されるクロマサンプルの位置に対応する位置にある。方法2810は更に、ステップ2814にて、上記決定に基づいて変換を実行することを含む。
【0450】
図28Bは、映像処理のための例示的な方法のフローチャートを示している。方法2820は、ステップ2822にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックに関連する符号化条件に基づいて、クロマサンプル及びルマサンプルを用いてクロスコンポーネント線形モデル(CCLM)のパラメータを導出する方法を決定することを含む。方法2820は更に、ステップ2824にて、上記決定に基づいて変換を実行することを含む。
【0451】
図28Cは、映像処理のための例示的な方法のフローチャートを示している。方法2830は、ステップ2732にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの左の隣接ブロック及び上の隣接ブロックの利用可能性に基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用されるルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値を導出すべきかを決定することを含む。方法2830は更に、ステップ2834にて、上記決定に基づいて変換を実行することを含む。
【0452】
図29Aは、映像処理のための例示的な方法のフローチャートを示している。方法2910は、ステップ2912にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックの選択された隣接サンプルと、参照ブロックの対応する隣接サンプルとに基づいて、線形モデルを用いる符号化ツールのパラメータを決定することを含む。方法2910は更に、ステップ2914にて、上記決定に基づいて変換を実行することを含む。
【0453】
図29Bは、映像処理のための例示的な方法のフローチャートを示している。方法2920は、ステップ2922にて、映像の現在映像ブロックと映像の符号化表現との間での変換のために、現在映像ブロックのN個の隣接サンプル及び参照ブロックのN個の対応する隣接サンプルに基づいて、局所照明補償(LIC)ツールのパラメータを決定することを含み、現在映像ブロックのN個の隣接サンプルは、N個の隣接サンプルの位置に基づいて選択される。方法2920は更に、ステップ2924にて、上記決定に基づいて変換を実行することを含む。LICツールは、変換中に現在映像ブロックにおける照明変化の線形モデルを使用する。
【0454】
図29Cは、映像処理のための例示的な方法のフローチャートを示している。方法2930は、ステップ2932にて、クロマブロックである映像の現在映像ブロックと映像の符号化表現との間での変換のために、クロマサンプル及び対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定することを含む。方法2930は更に、ステップ2934にて、上記決定に基づいて変換を実行することを含む。この例において、クロマサンプルの一部は、パディング操作によって取得され、クロマサンプル及び対応するルマサンプルは、2つの配列G0及びG1にグループ化され、各配列が、2つのクロマサンプル及び対応するルマサンプルを含む。
【0455】
開示される技術の実装例
図30Aは、映像処理装置3000のブロック図である。装置3000は、ここに記載される方法のうちの1つ以上を実装するために使用され得る。装置3000は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器にて具現化され得る。装置3000は、1つ以上のプロセッサ3002、1つ以上のメモリ3004、及び映像処理ハードウェア3006を含み得る。(1つ以上の)プロセッサ3002は、本文書に記載される1つ以上の方法(これらに限られないが、
図18-29Cに示した方法を含む)を実行するように構成され得る。(1つ以上の)メモリ3004は、ここに記載される方法及び技術を実行するのに使用されるデータ及びコードを格納するために使用され得る。映像処理ハードウェア3006は、本文書に記載される一部の技術をハードウェア回路にて実装するために使用され得る。
【0456】
図30Bは、開示される技術が実装され得る映像処理システムのブロック図の他の一例である。
図30Bは、ここに開示される様々な技術が実装され得る映像処理システム3100の一例を示すブロック図である。様々な実装は、システム3100のコンポーネントの一部又は全てを含み得る。システム3100は、映像コンテンツを受信する入力3102を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力3102は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
【0457】
システム3100は、本文書に記載される様々なコーディング又は符号化方法を実装し得る符号化コンポーネント3104を含み得る。符号化コンポーネント3104は、入力3102から符号化コンポーネント3104の出力まで映像の平均ビットレートを低減させて、映像の符号化表現を生成し得る。符号化技術は、それ故に、映像圧縮技術又は映像トランスコーディング技術と呼ばれることがある。符号化コンポーネント3104の出力は、格納されるか、コンポーネント3106によって表されるように接続されて通信を介して伝送されるかし得る。入力3102で受信された映像の格納又は通信されるビットストリーム(又は符号化)表現は、ディスプレイインタフェース3110に送られるピクセル値又は表示可能映像を生成するためにコンポーネント3108によって使用され得る。ビットストリーム表現からユーザが見ることができる映像を生成するプロセスは、映像解凍と呼ばれることがある。また、特定の映像処理操作が“符号化”の操作又はツールとして参照されることがあるが、理解されることには、符号化のツール又は操作はエンコーダで使用され、符号化の結果を裏返す対応する復号のツール又は操作がデコーダで実行されることになる。
【0458】
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインタフェース(HDMI(登録商標))又はディスプレイポート(Displayport)などを含み得る。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェースなどを含む。本文書に記載される技術は、例えば携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実行することが可能な他の装置などの、種々のエレクトロニクス装置にて具現化され得る。
【0459】
一部の実施形態において、映像符号化方法は、
図30A又は30Bに関して説明したようなハードウェアプラットフォーム上に実装される装置を用いて実行され得る。
【0460】
一部の実施形態に好適に組み込まれる様々な技術が、以下の項ベースの形式を用いて記述され得る。
【0461】
第1組の項は、例えば例1.a-d及びjを含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0462】
1. 映像処理の方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、隣接クロマサンプルのグループからのR個のクロマサンプルに基づいてクロスコンポーネント線形モデルのパラメータを決定するステップであり、前記R個のクロマサンプルは、位置ルールに基づいて前記グループから選択され、Rは2以上である、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0463】
2. 前記パラメータは、前記R個のクロマサンプルのルマサンプルに基づいて決定される値を持つ、項1に記載の方法。
【0464】
3. 前記ルマサンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するためにダウンサンプリングされて使用される、項2に記載の方法。
【0465】
4. 前記パラメータは、2S位置のクロマサンプルに基づいて決定される値を持ち、Sは整数である、項1に記載の方法。
【0466】
5. 前記クロマブロックの左上サンプルが(x,y)であり、前記クロマブロックの幅及び高さがそれぞれW及びHであり、隣接クロマサンプルの前記グループは、座標(x-1,y)を有するサンプルA、座標(x-1,y+H/2-1)を有するサンプルB、座標(x-1,y+H/2)を有するサンプルC、座標(x-1,y+H-1)を有するサンプルD、座標(x-1,y+H)を有するサンプルE、座標(x-1,y+H+H/2-1)を有するサンプルF、座標(x-1,y+H+H/2)を有するサンプルG、座標(x-1,y+H+H-1)を有するサンプルI、座標(x,y-1)を有するサンプルJ、座標(x+W/2-1,y-1)を有するサンプルK、座標(x+W/2,y-1)を有するサンプルL、座標(x+W-1,y-1)を有するサンプルM、座標(x+W,y-1)を有するサンプルN、座標(x+W+W/2-1,y-1)を有するサンプルO、座標(x+W+W/2,y-1)を有するサンプルP、及び座標(x+W+W-1,y-1)を有するサンプルQを有する、項1に記載の方法。
【0467】
6. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、D、J、及びMから選択されることを規定する、項5に記載の方法。
【0468】
7. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、B、C、D、J、K、L、及びMから選択されることを規定する、項5に記載の方法。
【0469】
8. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、I、J、及びQから選択されることを規定する、項5に記載の方法。
【0470】
9. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、B、D、I、J、K、M、及びQから選択されることを規定する、項5に記載の方法。
【0471】
10. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、B、D、F、J、K、M、及びOから選択されることを規定する、項5に記載の方法。
【0472】
11. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、C、G、I、J、L、P、及びQから選択されることを規定する、項5に記載の方法。
【0473】
12. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、C、E、G、J、L、N、及びPから選択されることを規定する、項5に記載の方法。
【0474】
13. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルJ、K、L、及びMから選択されることを規定する、項5に記載の方法。
【0475】
14. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルJ、L、N、及びQから選択されることを規定する、項5に記載の方法。
【0476】
15. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルJ、K、L、M、N、O、P、及びQから選択されることを規定する、項5に記載の方法。
【0477】
16. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルA、B、C、D、E、F、G、及びIから選択されることを規定する、項5に記載の方法。
【0478】
17. 前記位置ルールは、前記2つのクロマサンプルが前記サンプルJ、K、L、M、N、O、P、及びQから選択されることを規定する、項5に記載の方法。
【0479】
18. 前記位置ルールは、前記2つのクロマサンプルのうちの1つが前記サンプルA、B、C、D、E、F、G、及びIから選択され、前記2つのクロマサンプルのうちのその他が前記サンプルJ、K、L、M、N、O、P、及びQから選択されることを規定する、項5に記載の方法。
【0480】
19. 前記2つのクロマサンプルは、等しい対応するルマ値を持ち、当該方法は更に、追加のクロマサンプルをチェックすることを含む、項5乃至18のいずれかに記載の方法。
【0481】
20. 前記パラメータに関する第1組の値を決定するために、最小及び最大の対応するルマ値を有する前記2つのクロマサンプルを見つけるべく、隣接クロマサンプルの前記グループ内のクロマサンプルが検索される、項1に記載の方法。
【0482】
21. 座標(x、y)を有する上の隣接するサンプルは、Kが2、4、6又は8であり且つ%がモジュロ演算子であるとして、x%K=0である場合にのみ前記グループ内にある、項1に記載の方法。
【0483】
22. 座標(x、y)を有する左の隣接するサンプルは、Kが2、4、6又は8であり且つ%がモジュロ演算子であるとして、y%K=0である場合にのみ前記グループ内にある、項1に記載の方法。
【0484】
23. 前記2つのクロマサンプルは、隣接するブロックの利用可能性に基づいて選択される、項1に記載の方法。
【0485】
24. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至23のいずれかに記載の方法。
【0486】
25. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至23のいずれかに記載の方法。
【0487】
26. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至25のいずれか一項に記載の方法を実行させる、装置。
【0488】
27. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至25のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0489】
第2組の項は、例えば例1.e-i及び例9を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0490】
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、クロマサンプルの位置に基づいて選択されたクロマサンプルに基づいて、クロスコンポーネント線形モデルのパラメータを決定するステップであり、前記選択されたクロマサンプルは、隣接クロマサンプルのグループから選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0491】
2. 少なくとも1つの隣接クロマサンプルは、前記選択されたクロマサンプルに属さない、項1に記載の方法。
【0492】
3. 前記現在映像ブロックの予測モードが、左の隣接サンプルのみを使用する第1の線形モードである場合、前記選択されたクロマサンプルの全てが前記現在ブロックの左にある、項1に記載の方法。
【0493】
4. 前記現在映像ブロックの予測モードが、上の隣接サンプルのみを使用する第2の線形モードである場合、前記選択されたクロマサンプルの全てが前記現在ブロックの上にある、項1に記載の方法。
【0494】
5. 前記クロマサンプルの位置は、前記クロマブロックの幅又は高さに基づいて選択される、項1乃至4のいずれかに記載の方法。
【0495】
6. 前記クロマサンプルの前記位置は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、タイル、符号化ユニット(CU)、符号化ツリーユニット(CTU)、又は予測ユニット(PU)における信号伝達に対応する、項1に記載の方法。
【0496】
7. 前記パラメータの決定は更に最小平均二乗法に基づく、項1に記載の方法。
【0497】
8. 前記パラメータの決定は更に二点法に基づく、項1に記載の方法。
【0498】
9. 映像処理のための方法であって、現在映像ブロックについて、線形モデルのパラメータに関する一組の値を導出するのに使用される隣接クロマサンプルのグループを決定するステップであり、前記現在映像ブロックの幅及び高さはそれぞれW及びHであり、隣接クロマサンプルの前記グループは、2×W個の上の隣接クロマサンプル又は2×H個の左の隣接クロマサンプルを超えて位置する少なくとも1つのサンプルを含む、ステップと、前記線形モデルに基づいて、前記現在映像ブロックと、前記現在映像ブロックを含む映像の符号化表現との間での変換を実行するステップと、を有する方法。
【0499】
10. 前記現在映像ブロックは、線形イントラ予測モードを使用して符号化され、前記現在映像ブロックの左上サンプルは(x,y)であり、前記少なくとも1つのサンプルは(x-1,y+d)であり、dは範囲[T,S]内の整数であり、T及びSは整数である、項9に記載の方法。
【0500】
11. T<0且つS>(2×H-1)である、項9に記載の方法。
【0501】
12. T=-4且つS=3×Hである、項9に記載の方法。
【0502】
13. T=0且つS=max(2×W,W+H)である、項9に記載の方法。
【0503】
14. T=0且つS=4×Hである、項9に記載の方法。
【0504】
15. 前記現在映像ブロックは、線形イントラ予測モードを使用して符号化され、前記現在映像ブロックの左上サンプルは(x,y)であり、前記少なくとも1つのサンプルは(x+d,y-1)であり、dは範囲[T,S]内の整数であり、T及びSは整数である、項9に記載の方法。
【0505】
16. T<0且つS>(2×W-1)である、項15に記載の方法。
【0506】
17. T=-4且つS=3×Wである、項15に記載の方法。
【0507】
18. T=0且つS=max(2×W,W+H)である、項15に記載の方法。
【0508】
19. T=0且つS=4×Wである、項15に記載の方法。
【0509】
20. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至19のいずれかに記載の方法。
【0510】
21. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至19のいずれかに記載の方法。
【0511】
22. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至21のいずれか一項に記載の方法を実行させる、装置。
【0512】
23. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至21のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0513】
第3組の項は、例えば例2及び例5を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0514】
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、複数組のパラメータを決定するステップであり、各組のパラメータが、クロスコンポーネント線形モデル(CCLM)を規定し、且つ対応するクロマサンプル位置の、対応するクロマサンプルのグループから導出される、ステップと、前記複数組のパラメータに基づいて、最終的なCCLM用のパラメータを決定するステップと、前記最終的なCCLMに基づいて前記変換を実行するステップと、を有する方法。
【0515】
2. 前記最終的なCCLM用の前記パラメータは、前記複数組のパラメータにおける対応するパラメータの平均として決定される、項1に記載の方法。
【0516】
3. 前記複数組のパラメータは、第1組の(α1、β1)及び第2組の(α2、β2)を含み、パラメータα1、β1、α2、β2に基づいてクロマ予測が計算される、項1に記載の方法。
【0517】
4. 前記複数組のパラメータがシフトされて結合されることで、前記最終的なCCLMを形成する、項1に記載の方法。
【0518】
5. 前記複数組のパラメータは、クロマサンプルの第1のグループから導出される第1組の(α1、β1)、及びクロマサンプルの第2のグループから導出される第2組の(α2、β2)を含み、前記第1のグループ及び前記第2のグループは、互いに異なるクロマサンプル位置に対応する、項1に記載の方法。
【0519】
6. 前記クロマブロックの左上サンプルが(x,y)であり、前記クロマブロックの幅及び高さがそれぞれW及びHであり、クロマサンプルの前記グループは、
座標(x-1,y)を有するサンプルA、
座標(x-1,y+H/2-1)を有するサンプルB、
座標(x-1,y+H/2)を有するサンプルC、
座標(x-1,y+H-1)を有するサンプルD、
座標(x-1,y+H)を有するサンプルE、
座標(x-1,y+H+H/2-1)を有するサンプルF、
座標(x-1,y+H+H/2)を有するサンプルG、
座標(x-1,y+H+H-1)を有するサンプルI、
座標(x,y-1)を有するサンプルJ、
座標(x+W/2-1,y-1)を有するサンプルK、
座標(x+W/2,y-1)を有するサンプルL、
座標(x+W-1,y-1)を有するサンプルM、
座標(x+W,y-1)を有するサンプルN、
座標(x+W+W/2-1,y-1)を有するサンプルO、
座標(x+W+W/2,y-1)を有するサンプルP、又は
座標(x+W+W-1,y-1)を有するサンプルQ、
のうちの少なくとも1つを有する、項5に記載の方法。
【0520】
7. 前記第1のグループはサンプルAとDを含み、前記第2のグループはサンプルJとM、又はサンプルEとIを含む、項6に記載の方法。
【0521】
8. 前記第1のグループはサンプルAとIを含み、前記第2のグループはサンプルJとQを含む、項6に記載の方法。
【0522】
9. 前記第1のグループはサンプルAとBを含み、前記第2のグループはサンプルCとDを含む、項6に記載の方法。
【0523】
10. 前記第1のグループはサンプルJとMを含み、前記第2のグループはサンプルNとQを含む、項6に記載の方法。
【0524】
11. 前記第1のグループはサンプルJとKを含み、前記第2のグループはサンプルLとMを含む、項6に記載の方法。
【0525】
12. 映像処理の方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの隣接ルマ及びクロマサンプルから選択されたN個のグループのクロマ及びルマサンプルのうち最小値及び最大値のクロマ及びルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記CCLMを用いて前記変換を実行するステップと、を有する方法。
【0526】
13. 前記N個のグループのクロマ及びルマサンプルは、S0、S1、…、Smを含み、ただし、1≦m≦N-1であり、m及びNは負でない整数であり、最大ルマ値はmaxL=f1(maxLS0,maxLS1,…,maxLSm)として計算され、f1は第1の関数であり、maxLSiは、複数のグループのうちのグループSiの最大ルマ値であり、最大クロマ値はmaxC=f2(maxCS0,maxCS1,…,maxCSm)として計算され、f2は第2の関数であり、maxCSiは、maxLSiに対応するグループSiのクロマ値であり、最小ルマ値はminL=f3(minLS0,minLS1,…,minLSm)として計算され、f3は第3の関数であり、minLSiはグループSiの最小ルマ値であり、最小クロマ値はminC=f4(minCS0,minCS1,…,minCSm)として計算され、f4は第4の関数であり、minCSiは、minLSiに対応するグループSiのクロマ値であり、前記線形モデルの前記パラメータは、α=(maxC-minC)/(maxL-minL)及びβ=minC-α×minLとして計算されるα及びβを有する、項12に記載の方法。
【0527】
14. f1、f2、f3及びf4が平均化関数である、項13に記載の方法。
【0528】
15. m=N-1である、項13又は14に記載の方法
16. m=1であり、且つS1=SN-1である、項13又は14に記載の方法。
【0529】
17. m=0である、項13又は14に記載の方法。
【0530】
18. S0は、前記現在映像ブロックの上の行からのサンプルを有し、S1は、前記現在映像ブロックの左の行からのサンプルを有する、項13又は14に記載の方法。
【0531】
19. 前記現在映像ブロックの上の行からのサンプルは座標(x,y)を持ち、S0は該サンプルの第1の部分を有し、該第1の部分の各サンプルはx%P=Qを満たし、S1は該サンプルの第2の部分を有し、該第2の部分の各サンプルはx%P≠Qを満たし、ここで、%はモジュロ演算子であり、P及びQは負でない整数である、項13又は14に記載の方法。
【0532】
20. 前記現在映像ブロックの左の行からのサンプルは座標(x,y)を持ち、S0は該サンプルの第1の部分を有し、該第1の部分の各サンプルはy%P=Qを満たし、S1は該サンプルの第2の部分を有し、該第2の部分の各サンプルはy%P≠Qを満たし、ここで、%はモジュロ演算子であり、P及びQは負でない整数である、項13又は14に記載の方法。
【0533】
21. P=2且つQ=1、又はP=2且つQ=0、又はP=4且つQ=0である、項19又は20に記載の方法。
【0534】
22. 前記クロマ及びルマサンプルは、隣接ブロックのクロマ及びルマサンプルのうちの一部のみを有する、項12乃至14のいずれかに記載の方法。
【0535】
23. Nは予め決められている、項13乃至22のいずれかに記載の方法。
【0536】
24. Nは、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、1つ以上の最大符号化ユニット、又は1つ以上の符号化ユニット内で信号伝達される、項13乃至23のいずれかに記載の方法。
【0537】
25. 各グループの前記クロマ及びルマサンプルは、前記現在映像ブロックの隣接ブロックの利用可能性に基づいて選択される、項12に記載の方法。
【0538】
26. 各グループの前記クロマ及びルマサンプルは、前記現在映像ブロックの幅及び高さに基づいて選択される、項12に記載の方法。
【0539】
27. 各グループの前記クロマ及びルマサンプルは、前記クロマ及びルマサンプルの値に基づいて選択される、項12に記載の方法。
【0540】
28. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至27のいずれかに記載の方法。
【0541】
29. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至27のいずれかに記載の方法。
【0542】
30. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至29のいずれか一項に記載の方法を実行させる、装置。
【0543】
31. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至29のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0544】
第4組の項は、例えば例3.a-b及び3.dを含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0545】
1. 映像処理の方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、2つのクロマサンプル及び対応する2つのルマサンプルによって完全に決定可能なクロスコンポーネント線形モデルのパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0546】
2. 前記2つのクロマサンプルはC0及びC1と表記され、前記対応するルマサンプルはL0及びL1と表記され、前記クロスコンポーネント線形モデルの前記パラメータはα及びβと表記され、α及びβは、α=(C1-C0)/(L1-L0)及びβ=C0-α×L0なる式によって定義される、項1に記載の方法。
【0547】
3. L1がL0に等しい場合、α=0である、項2に記載の方法。
【0548】
4. L1がL0に等しい場合、前記クロスコンポーネント線形モデルのモード以外のイントラ予測モードが使用される、項2に記載の方法。
【0549】
5. αは、除算演算を排除して決定される、項2に記載の方法。
【0550】
6. αは、ルックアップテーブルを用いない処理を使用して決定され、該処理は除算演算を含まない、項2に記載の方法。
【0551】
7. 前記クロスコンポーネント線形モデルの前記パラメータは、(L1-L0)の値に基づいて決定される値を持つ、項2に記載の方法。
【0552】
8. α=Shift(C1-C0,Floor(log2(L1-L0)))であり、ただし、Shift(x,s)=(x+off)>>sであり、offは整数であり、Floor(x)は、xの整数部を出力するフロア関数である、項2に記載の方法。
【0553】
9. α=Shift(C1-C0,Ceiling(log2(L1-L0)))であり、ただし、Shift(x,s)=(x+off)>>sであり、offは整数であり、
Ceiling(x)は、x以上の最小の整数を出力する天井関数である、項2に記載の方法。
【0554】
10. log2(x)の値を得るための処理が、xの最上位桁の位置を調べることによって実行される、項8又は9に記載の方法。
【0555】
11. 前記パラメータの前記決定はKビット以内で行われ、Kは、8、10、12、16、24又は32である、項1に記載の方法。
【0556】
12. 中間変数が、前記Kビット以内になるようにクリッピング又は右シフトされる、項11に記載の方法。
【0557】
13. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至12のいずれかに記載の方法。
【0558】
14. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至12のいずれかに記載の方法。
【0559】
15. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至14のいずれか一項に記載の方法を実行させる、装置。
【0560】
16. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至14のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0561】
第5組の項は、例えば例3.cを含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0562】
1. 映像処理の方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、パラメータテーブルを用いてクロスコンポーネント線形モデルのパラメータを決定するステップであり、前記パラメータテーブルのエントリが、2つのクロマサンプル値と2つのルマサンプル値とに従って検索される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0563】
2. 前記パラメータテーブルは、2Pよりも小さいVなるサイズを持ち、Pは整数である、項1に記載の方法。
【0564】
3. 前記パラメータテーブルは、各エントリがFビット整数を格納する複数のエントリを有し、Fは8又は16である、項1に記載の方法。
【0565】
4. 前記パラメータテーブルM[k]は、M[k-Z]=((1<<S)+Off)/kを満たし、Sは精度を定める整数であり、Offはオフセットを示し、Zは前記パラメータテーブルの最初の値である、項1に記載の方法。
【0566】
5. 前記2つのクロマサンプルはC0及びC1と表記され、前記ルマサンプルはL0及びL1と表記され、前記クロスコンポーネント線形モデルの前記パラメータはα及びβと表記され、α及びβは、α=(C1-C0)/(L1-L0)及びβ=C0-α×L0なる式によって定義される、項1に記載の方法。
【0567】
6. k=Shift(L1-L0,W)であり、kは、前記パラメータテーブル内のエントリを照会するために使用され、Shift(x,s)=(x+off)>>sであり、offは整数であり、Wは前記現在映像ブロックの幅である、項5に記載の方法。
【0568】
7. k-Z<0又はk-Z≧Vであるとき、αはゼロであり、Vは前記パラメータテーブルのサイズを示し、Zは前記パラメータテーブルの最初の値を示す、項6に記載の方法。
【0569】
8. α=Shift((C1-C0)×M[k-Z],D)又はα=SignShift((C1-C0)×M[k-Z],D)であり、Shift(x,s)=(x+off)>>sであり、SignShift(x,s)は、x≧0の場合には、(x+off)>>sであり、x<0の場合には、-(-x+off)>>sであり、offは整数であり、kは、前記パラメータテーブル内のエントリを照会するためのインデックスを指し示す、項5に記載の方法。
【0570】
9. kは、(C1-C0)の値に基づかずに、(L1-L0)の値に基づいて導出される、項8に記載の方法。
【0571】
10. kは、(L1-L0)の値及び(C1-C0)の値の両方に基づいて導出される、項8に記載の方法。
【0572】
11. kは、kMinとkMaxとの間の範囲内で有効である、項6に記載の方法。
【0573】
12. k=Shift(L1-L0,W)であり、kは、前記パラメータテーブル内のエントリを照会するためのインデックスであり、Shift(x,s)=(x+off)>>sであり、offは整数であり、Wは前記現在映像ブロックの幅である、項8に記載の方法。
【0574】
13. kは、kMinとkMaxとの間の範囲内で有効であり、(L1-L0)≦kMaxである場合にはk=L1-L0であり、(L1=L0)>kMaxである場合にはk=Shift(L1-L0,W)である、項8に記載の方法。
【0575】
14. kは、kMinとkMaxとの間の範囲内で有効であり、k=Min(kMax,L1-L0)又はk=Max(kMin,Min(kMax,L1-L0))である、項8に記載の方法。
【0576】
15. (L1-L0)<0であり、前記決定は、αの代わりに‘-α’の値を導出するために実行される、項5に記載の方法。
【0577】
16. (L1-L0)=0であり、αは、0又は1であるデフォルト値に設定される、項5に記載の方法。
【0578】
17. (L1-L0)=2E、E≧0、α=Shift((C1-C0),E)又はSignshift((C1-C0),E)であり、ここで、Shift(x,s)=(x+off)>>sであり、SignShift(x,s)は、x≧0の場合には、(x+off)>>sであり、x<0の場合には、-(-x+off)>>sである、項5に記載の方法。
【0579】
18. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至17のいずれかに記載の方法。
【0580】
19. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至17のいずれかに記載の方法。
【0581】
20. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至19のいずれか一項に記載の方法を実行させる、装置。
【0582】
21. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至19のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0583】
第6組の項は、例えば例4及び例6を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0584】
1. 映像処理の方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロック内の位置(x,y)にあるクロマサンプルの最終予測P(x,y)を、複数のクロスコンポーネント線形モデル(MCCLM)の予測結果の組み合わせとして決定するステップであり、前記MCCLMは、前記クロマサンプルの前記位置(x,y)に基づいて選択される、ステップと、前記最終予測に基づいて前記変換を実行するステップと、を有する方法。
【0585】
2. 前記複数のクロスコンポーネント線形モデルは、そのパラメータが左の隣接サンプルのみから導出される第1の線形モデル、及びそのパラメータが上の隣接サンプルのみから導出される第2の線形モデルを含む、項1に記載の方法。
【0586】
3. 前記クロマサンプルの一部は、左の隣接サンプルのみに基づいて予測され、前記クロマサンプルの一部は、上の隣接サンプルのみに基づいて予測される、項1に記載の方法。
【0587】
4. 前記クロマサンプルの前記最終予測P(x,y)は、前記第1の線形モデルによる予測P1(x,y)と前記第2の線形モデルによる予測P2(x,y)との加重平均に基づく、項2又は3に記載の方法。
【0588】
5. P(x,y)=w1×P1(x,y)+w2×P2(x,y)であり、w1及びw2は、w1+w2=1によって制約される重みである、項4に記載の方法。
【0589】
6. P(x,y)=(w1*P1(x,y)+w2*P2(x,y)+Offset)>>shiftであり、ここで、offsetは、0又は1<<(shift-1)を含む整数であり、shiftは整数であり、w1及びw2は、w1+w2=1<<shiftによって制約される重みである、項4に記載の方法。
【0590】
7. P(x,y)=(w1*P1(x,y)+((1<<shift)-w1)*P2(x,y)+Offset)>>shiftであり、ここで、offsetは、0又は1<<(shift-1)を含む整数であり、shiftは整数であり、w1及びw2は重みである、項4に記載の方法。
【0591】
8. w1及びw2の値は位置(x,y)に依存する、項5乃至7のいずれかに記載の方法。
【0592】
9. x>yの場合、w1<w2であり、x<yの場合、w1>w2であり、x=yの場合、w1=w2である、項5乃至7のいずれかに記載の方法。
【0593】
10. x<yの場合、(y-x)の値が増加すると(w1-w2)の値が増加する、項5乃至7のいずれかに記載の方法。
【0594】
11. x>yの場合、(x-y)の値が増加すると(w2-w1)の値が増加する、項5乃至7のいずれかに記載の方法。
【0595】
12. 映像処理の方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックのサンプルを予測することに、左の隣接サンプルのみを使用する第1のクロスコンポーネント線形モデル(CCLM)が用いられるかに関する第1の決定、及び/又は、前記現在映像ブロックのサンプルを予測することに、上の隣接サンプルのみを使用する第2のクロスコンポーネント線形モデル(CCLM)が用いられるかに関する第2の決定を実行するステップと、前記第1の決定及び/又は前記第2の決定に基づいて前記変換を実行するステップと、を有する方法。
【0596】
13. 前記第1のCCLMは、W>K×Hを満たす場合には適用されず、Kは負でない整数である、項12に記載の方法。
【0597】
14. 前記第2のCCLMは、H>K×Wを満たす場合には適用されず、Kは負でない整数である、項12に記載の方法。
【0598】
15. 前記第1のCCLM及び前記第2のCCLMのうちの一方が適用されない場合、前記第1のCCLM又は前記第2のCCLMの適用を指し示すフラグが信号伝達されない、項12に記載の方法。
【0599】
16. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至15のいずれかに記載の方法。
【0600】
17. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至15のいずれかに記載の方法。
【0601】
18. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至17のいずれか一項に記載の方法を実行させる、装置。
【0602】
19. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至17のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0603】
第7組の項は、例えば例7、例8、例11-例13を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0604】
1. 映像処理の方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの前記符号化表現への算術符号化を用いてフラグを符号化するために使用されるコンテキストを決定するステップであって、前記コンテキストは、前記現在映像ブロックの左上の隣接ブロックが、クロスコンポーネント線形モデル(CCLM)予測モードを使用して符号化されるのかに基づく、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0605】
2. 前記コンテキストは、前記左上の隣接ブロックが前記CCLM予測モードを使用する場合に第1のコンテキストを有し、前記左上の隣接ブロックが前記CCLM予測モードを使用しない場合には、前記第1のコンテキストとは異なる第2のコンテキストを有する、項1に記載の方法。
【0606】
3. 前記左上の隣接ブロックは使用不可であり、前記CCLM予測モードは有効であるとみなされる、項1に記載の方法。
【0607】
4. 前記左上の隣接ブロックは使用不可であり、前記CCLM予測モードは無効であるとみなされる、項1に記載の方法。
【0608】
5. 前記左上の隣接ブロックはイントラ符号化され、前記CCLM予測モードは有効であるとみなされる、項1に記載の方法。
【0609】
6. 前記左上の隣接ブロックはイントラ符号化され、前記CCLM予測モードは無効であるとみなされる、項1に記載の方法。
【0610】
7. 映像処理の方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの1つ以上の隣接ブロックの符号化モードに基づいて、直接イントラ予測モード(DMモード)及び線形イントラ予測モード(LMモード)の1つ以上のインジケーションについての符号化順序を決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0611】
8. 前記1つ以上の隣接ブロックのうちの左上の隣接ブロックが前記LMモードで符号化され、前記LMモードのインジケーションが最初に符号化される、項7に記載の方法。
【0612】
9. 前記1つ以上の隣接ブロックのうちの左上の隣接ブロックが前記DMモードで符号化され、前記DMモードのインジケーションが最初に符号化される、項7に記載の方法。
【0613】
10. 前記1つ以上の隣接ブロックのうちの左上の隣接ブロックが、前記LMモードとは異なる符号化モードで符号化され、前記DMモードのインジケーションが最初に符号化される、項7に記載の方法。
【0614】
11. 前記1つ以上のインジケーションは、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、1つ以上の最大符号化ユニット、又は1つ以上の符号化ユニット内で信号伝達される、項7乃至10のいずれかに記載の方法。
【0615】
12. 映像処理の方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの精緻化されたクロマ及びルマサンプルに基づいて、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0616】
13. 前記クロマ及びルマサンプルはダウンサンプリングされる、項12に記載の方法。
【0617】
14. 前記精緻化のプロセスは、フィルタリングプロセス又は非線形プロセスを有する、項12に記載の方法。
【0618】
15. 前記線形モデル予測の前記パラメータはα及びβであり、α=(C1-C0)/(L1-L0)及びβ=C0-αL0であり、C0及びC1はクロマサンプルから導出され、L0及びL1はルマサンプルから導出される、項12に記載の方法。
【0619】
16. 前記ルマサンプルは、L0及びL1を導出するために使用される前にダウンサンプリングされ得る、項15に記載の方法。
【0620】
17. C0及びL0は、それぞれ{Cx1,Cx2,…,CxS}及び{Lx1,Lx2,…,LxS}と表記されるS個のクロマ及びルマサンプルに基づき、C1及びL1は、それぞれ{Cy1,Cy2,…,CyT}及び{Ly1,Ly2,…,LyT}と表記されるT個のクロマ及びルマサンプルに基づき、{Cx1,Cx2,…,CxS}は{Lx1,Lx2,…,LxS}に対応し、{Cy1,Cy2,…,CyT}は{Ly1,Ly2,…,LyT}に対応し、C0=f0(Cx1,Cx2,…,CxS)、L0=f1(Lx1,Lx2,…,LxS)、C1=f2(Cy1,Cy2,…,CyT)、及びL1=f3(Ly1,Ly2,…,LyT)であり、f0、f1、f2、及びf3は関数である、項15に記載の方法。
【0621】
18. f0及びf1は第1の関数である、項17に記載の方法。
【0622】
19. f2及びf3は第2の関数である、項17に記載の方法。
【0623】
20. f0、f1、f2、及びf3は第3の関数である、項17に記載の方法。
【0624】
21. 前記第3の関数は平均化関数である、項20に記載の方法。
【0625】
22. S=Tである、項17に記載の方法
23. (Lx1,Lx2,…,LxS)は、一群のルマサンプルのうちの最小サンプルである、項17に記載の方法。
【0626】
24. {Ly1,Ly2,…,LyT}は、一群のルマサンプルのうちの最大サンプルである、項17に記載の方法。
【0627】
25. 前記一群のルマサンプルは、前記線形モデル予測の前記パラメータを導出するためにVTM-3.0で使用される全ての隣接サンプルを有する、項23又は24に記載の方法。
【0628】
26. 前記一群のルマサンプルは、前記線形モデル予測の前記パラメータを導出するためにVTM-3.0で使用される隣接サンプルのうち、全てではないサブセットを有する、項23又は24に記載の方法。
【0629】
27. 映像処理の方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、最大隣接サンプル又は最小隣接サンプルの位置に基づいて隣接サンプルを選択することによって、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0630】
28. 前記最大隣接サンプルは位置(x0,y0)にあり、領域(x0-d1,y0)、(x0,y0-d2)、(x0+d3,y0)、(x0,y0+d4)内のサンプルが、前記隣接サンプルを選択するために利用され、{d1,d2,d3,d4}は前記位置(x0,y0)に依存する、項27に記載の方法。
【0631】
29. 前記最小隣接サンプルは位置(x1,y1)にあり、領域(x1-d1,y1)、(x1,y1-d2)、(x1+d3,y1)、(x1,y1+d4)内のサンプルが、前記隣接サンプルを選択するために利用され、{d1,d2,d3,d4}は前記位置(x1,y1)に依存する、項27に記載の方法。
【0632】
30. 前記隣接サンプルはカラーコンポーネントを表す、項27乃至29のいずれかに記載の方法。
【0633】
31. 映像処理の方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、主カラーコンポーネント及び従カラーコンポーネントに基づいて、線形モデル予測又はクロスカラーコンポーネント予測に関するパラメータを決定するステップであり、前記主カラーコンポーネントは、ルマカラーコンポーネント及びクロマカラーコンポーネントのうちの一方として選択され、前記従カラーコンポーネントは、前記ルマカラーコンポーネント及び前記クロマカラーコンポーネントのうちの他方として選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0634】
32. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至31のいずれかに記載の方法。
【0635】
33. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至31のいずれかに記載の方法。
【0636】
34. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至33のいずれか一項に記載の方法を実行させる、装置。
【0637】
35. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至33のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0638】
第8組の項は、例えば例10及び例14を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0639】
1. 現在映像ブロックの隣接ブロックのクロマ及びルマサンプルに対してダウンサンプリングを実行するステップと、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記ダウンサンプリングから得られたダウンサンプリングクロマ及びルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0640】
2. 前記現在映像ブロックは高さ(H)と幅(W)を有し、前記ダウンサンプリングは前記高さ又は前記幅に基づく、項1に記載の方法。
【0641】
3. 前記ダウンサンプリングクロマ及びルマサンプルは、α及びβを含む前記CCLMの前記パラメータを導出する前に取得され、α及びβは、α=(C1-C0)/(L1-L0)及びβ=C0-α×L0なる式によって定義される、項1に記載の方法。
【0642】
4. CCLMの前記パラメータを導出するために使用される左の隣接サンプルの数が、CCLMの前記パラメータを導出するために使用される上の隣接サンプルの数と同じである、項1に記載の方法。
【0643】
5. W<H又はW>Hである、項2に記載の方法。
【0644】
6. 左の隣接ブロックの前記クロマ及びルマサンプルをダウンサンプリングするのか、それとも、上の隣接ブロックの前記クロマ及びルマサンプルをダウンサンプリングするのかが、WとHとの相対なサイズに依存する、項2に記載の方法。
【0645】
7. 前記ダウンサンプリングは、H>Wの場合、左の隣接ブロックの前記クロマ及びルマサンプルに対して実行される、項6に記載の方法。
【0646】
8. 前記ダウンサンプリングは、W>Hの場合、上の隣接ブロックの前記クロマ及びルマサンプルに対して実行される、項6に記載の方法。
【0647】
9. 前記現在映像ブロックの左上のサンプルがR[0,0]であり、前記ダウンサンプリングクロマサンプルは、サンプルR[-1,K×H/W]を有し、Kは、0からW-1の範囲の負でない整数である、項7に記載の方法。
【0648】
10. 前記現在映像ブロックの左上のサンプルがR[0,0]であり、前記ダウンサンプリングクロマサンプルは、サンプルR[K×H/W,-1]を有し、Kは、0からH-1の範囲の負でない整数である、項8に記載の方法。
【0649】
11. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、一群の隣接クロマサンプルからの2つ以上のクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップであり、前記2つ以上のクロマサンプルは、前記現在映像ブロックの符号化モードに基づいて選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0650】
12. 前記2つ以上のクロマサンプルに対応する2つ以上のルマサンプルが、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項11に記載の方法。
【0651】
13. 前記2つ以上のルマサンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するためにダウンサンプリングされる、項12に記載の方法。
【0652】
14. 前記2つ以上のクロマサンプルは、隣接サンプルの利用可能性に基づいて選択される、項11に記載の方法。
【0653】
15. 前記2つ以上のクロマサンプルは、前記現在映像ブロックに対して左の列、上の行、右上の行、又は左下の列のうちの1つ以上から選択される、項11に記載の方法。
【0654】
16. 前記2つ以上のクロマサンプルは、前記現在映像ブロックの幅に対する前記現在映像ブロックの高さの比に基づいて選択される、項11に記載の方法。
【0655】
17. 前記2つ以上のクロマサンプルは、前記現在映像ブロックの幅又は高さがKに等しいかに基づいて選択され、Kは整数である、項11に記載の方法。
【0656】
18. K=2である、項17に記載の方法
19. 前記現在映像ブロックの前記符号化モードは、左の隣接サンプルのみを使用する第2の線形モード及び上の隣接サンプルのみを使用する第3の線形モードとは異なる第1の線形モードであり、前記現在映像ブロックの左上のサンプルの座標は(x,y)であり、前記現在映像ブロックの幅及び高さはそれぞれW及びHである、項11に記載の方法。
【0657】
20. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-1,y-1)のサンプルを有する、項19に記載の方法。
【0658】
21. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-H/W-1)、及び(x+W-1,y-1)のサンプルを有し、H>Wである、項19に記載の方法。
【0659】
22. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-1)、及び(x+W-W/H-1,y-1)のサンプルを有し、H<Wである、項19に記載の方法。
【0660】
23. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x,y-1)、(x-1,y+H-max(1,H/W)、及び(x+W-max(1,W/H),y-1)のサンプルを有する、項19に記載の方法。
【0661】
24. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+W/4,y-1)、(x+2*W/4,y-1)、及び(x+3*W/4,y-1)のサンプルを有する、項19に記載の方法。
【0662】
25. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+W/4,y-1)、(x+3*W/4,y-1)、及び(x+W-1,y-1)のサンプルを有する、項19に記載の方法。
【0663】
26. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+(2W)/4,y-1)、(x+2*(2W)/4,y-1)、及び(x+3*(2W)/4,y-1)のサンプルを有する、項19に記載の方法。
【0664】
27. 前記2つ以上のクロマサンプルは、座標(x,y-1)、(x+(2W)/4,y-1)、(x+3*(2W)/4,y-1)、及び(x+(2W)-1,y-1)のサンプルを有する、項19に記載の方法。
【0665】
28. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+H/4)、(x-1,y+2*H/4)、及び(x-1,y+3*H/4)のサンプルを有する、項19に記載の方法。
【0666】
29. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+2*H/4)、(x-1,y+3*H/4)、及び(x-1,y+H-1)のサンプルを有する、項19に記載の方法。
【0667】
30. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+(2H)/4)、(x-1,y+2*(2H)/4)、及び(x-1,y+3*(2H)/4)のサンプルを有する、項19に記載の方法。
【0668】
31. 前記2つ以上のクロマサンプルは、座標(x-1,y)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)、及び(x-1,y+(2H)-1)のサンプルを有する、項19に記載の方法。
【0669】
32. 前記CCLMの前記パラメータを決定するために正確に2つのサンプルが選択される、項20乃至31のいずれかに記載の方法。
【0670】
33. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至32のいずれかに記載の方法。
【0671】
34. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至32のいずれかに記載の方法。
【0672】
35. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至34のいずれか一項に記載の方法を実行させる、装置。
【0673】
36. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至34のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0674】
第9組の項は、例えば例16及び例17を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0675】
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、W個の利用可能な上の隣接サンプルに基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップであり、Wは整数である、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0676】
2. Wは、i)前記現在映像ブロックの幅、ii)Lは整数として、前記現在映像ブロックの前記幅のL倍、iii)前記現在映像ブロックの高さと前記現在映像ブロックの幅との和、又はiv)前記現在映像ブロックの前記幅と利用可能な右上の隣接サンプルの数との和に設定される、項1に記載の方法。
【0677】
3. Wは、前記現在映像ブロックの上の隣接ブロック又は左の隣接ブロックのうちの少なくとも1つの利用可能性に依存する、項1に記載の方法。
【0678】
4. Wは、前記現在映像ブロックの符号化モードに依存する、項1に記載の方法。
【0679】
5. Lは、前記現在映像ブロックに隣接して位置する右上のブロック又は左上のサンプルの利用可能性に依存する値を持つ、項2に記載の方法。
【0680】
6. 前記クロマサンプルは、第1位置オフセット値(F)及びステップ値(S)に基づいて選択され、第1位置オフセット値(F)及びステップ値(S)はWに依存する、項1に記載の方法。
【0681】
7. 左上のサンプルが座標(x0,y0)を有し、前記選択されるクロマサンプルは座標(x0+F+K×S,y0-1)を有し、Kは、0とkMaxとの間の整数である、項6に記載の方法。
【0682】
8. F=W/P又はF=W/P+offsetであり、Pは整数である、項6に記載の方法。
【0683】
9. F=W>>(2+numIs4T)であり、numIs4Tは、上の隣接行内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Tは0に等しい、項8に記載の方法。
【0684】
10. S=W/Qであり、Qは整数である、項6に記載の方法。
【0685】
11. Sは1以上である、項6に記載の方法。
【0686】
12. S=Max(1,W>>(1+numIs4T))であり、numIs4Tは、上の隣接行内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Tは0に等しい、項10又は11に記載の方法。
【0687】
13. 上の隣接サンプルが利用可能であり、左の隣接サンプルが利用可能であり、且つ前記現在の映像ブロックが、左の隣接サンプルのみを使用する第1のCCLMとは異なり且つ上の隣接サンプルのみを使用する第2のCCLMとは異なる通常CCLMで符号化される場合、numIs4Tは1に等しい、項9又は12に記載の方法。
【0688】
14. F=S/Rであり、Rは整数である、項6に記載の方法。
【0689】
15. S=F/Zであり、Zは整数である、項6に記載の方法。
【0690】
16. Kmax、F、S、又はoffsetのうちの少なくとも1つが、左の隣接サンプルのみを使用する第1のCCLM、上の隣接サンプルのみを使用する第2のCCLM、左の隣接サンプル及び上の隣接サンプルの双方を使用する第3のCCLM、又は前記第1のCCLMとも前記第2のCCLMとも前記第3のCCLMとも異なるその他モード、のうちの1つである前記現在映像ブロックの予測モードに依存する、項7乃至15のいずれかに記載の方法。
【0691】
17. Kmax、F、S、又はoffsetのうちの少なくとも1つが、前記現在映像ブロックの幅及び/又は高さに依存する、項7乃至15のいずれかに記載の方法。
【0692】
18. Kmax、F、S、又はoffsetのうちの少なくとも1つが、隣接サンプルの利用可能性に依存する、項7乃至15のいずれかに記載の方法。
【0693】
19. Kmax、F、S、又はoffsetのうちの少なくとも1つがWに依存する、項7乃至15のいずれかに記載の方法。
【0694】
20. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、H個の利用可能な、前記現在映像ブロックの左の隣接サンプル、に基づいて選択されるクロマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0695】
21. Hは、i)前記現在映像ブロックの高さ、ii)Lは整数として、前記現在映像ブロックの前記高さのL倍、iii)前記現在映像ブロックの高さと前記現在映像ブロックの幅との和、又はiv)前記現在映像ブロックの前記高さと利用可能な左下の隣接サンプルの数との和に設定される、項20に記載の方法。
【0696】
22. Hは、前記現在映像ブロックの上の隣接ブロック又は左の隣接ブロックのうちの少なくとも1つの利用可能性に依存する、項20に記載の方法。
【0697】
23. Hは、前記現在映像ブロックの符号化モードに依存する、項20に記載の方法。
【0698】
24. Lは、前記現在映像ブロックに隣接して位置する左下のブロック又は左下のサンプルの利用可能性に依存する値を持つ、項21に記載の方法。
【0699】
25. 前記クロマサンプルは、第1位置オフセット値(F)及びステップ値(S)に基づいて選択され、第1位置オフセット値(F)及びステップ値(S)はHに依存する、項20に記載の方法。
【0700】
26. 左上のサンプルが座標(x0,y0)を有し、前記選択されるクロマサンプルは座標(x0-1,y0+F+K×S)を有し、Kは、0とkMaxとの間の整数である、項25に記載の方法。
【0701】
27. F=H/P又はF=H/P+offsetであり、Pは整数である、項25に記載の方法。
【0702】
28. F=H>>(2+numIs4L)であり、numIs4Lは、左の隣接列内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合には0に等しい、項27に記載の方法。
【0703】
29. S=H/Qであり、Qは整数である、項25に記載の方法。
【0704】
30. Sは1以上である、項25に記載の方法。
【0705】
31. S=Max(1,H>>(1+numIs4L))であり、numIs4Lは、左の隣接列内で4つの隣接サンプルが選択される場合に1に等しく、それ以外の場合にはnumIs4Lは0に等しい、項29又は30に記載の方法。
【0706】
32. 上の隣接サンプルが利用可能であり、左の隣接サンプルが利用可能であり、且つ前記現在の映像ブロックが、左の隣接サンプルのみを使用する第1のCCLMとは異なり且つ上の隣接サンプルのみを使用する第2のCCLMとは異なる通常CCLMで符号化される場合、numIs4Lは1に等しい、項9又は12に記載の方法。
【0707】
33. F=S/Rであり、Rは整数である、項25に記載の方法。
【0708】
34. S=F/Zであり、Zは整数である、項25に記載の方法。
【0709】
35. Kmax、F、S、又はoffsetのうちの少なくとも1つが、左の隣接サンプルのみを使用する第1のCCLM、上の隣接サンプルのみを使用する第2のCCLM、左の隣接サンプル及び上の隣接サンプルの双方を使用する第3のCCLM、又は前記第1のCCLMとも前記第2のCCLMとも前記第3のCCLMとも異なるその他モード、のうちの1つである前記現在映像ブロックの予測モードに依存する、項26乃至34のいずれかに記載の方法。
【0710】
36. Kmax、F、S、又はoffsetのうちの少なくとも1つが、前記現在映像ブロックの幅及び/又は高さに依存する、項26乃至34のいずれかに記載の方法。
【0711】
37. Kmax、F、S、又はoffsetのうちの少なくとも1つがHに依存する、項26乃至34のいずれかに記載の方法。
【0712】
38. Kmax、F、S、又はoffsetのうちの少なくとも1つが、隣接サンプルの利用可能性に依存する、項26乃至34のいずれかに記載の方法。
【0713】
39. Hは、前記現在映像ブロックの右上の隣接ブロックが利用可能である場合に、前記現在映像ブロックの高さと前記現在映像ブロックの幅との和に設定される、項20に記載の方法。
【0714】
40. 左の隣接サンプルが利用可能でない場合、前記選択されるクロマサンプルは、前記現在映像ブロックが上の隣接サンプルのみを使用する第1のCCLMを有するか否かにかかわらずに、高さHを持つ、項20に記載の方法。
【0715】
41. Wは、前記現在映像ブロックの左下の隣接ブロックが利用可能である場合に、前記現在映像ブロックの高さと前記現在映像ブロックの幅との和に設定される、項1に記載の方法。
【0716】
42. 上の隣接サンプルが利用可能でない場合、前記選択されるクロマサンプルは、前記現在映像ブロックが左の隣接サンプルのみを使用する第1のCCLMを有するか否かにかかわらずに、Wの数を持つ、項1に記載の方法。
【0717】
43. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至42のいずれかに記載の方法。
【0718】
44. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至42のいずれかに記載の方法。
【0719】
45. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至44のいずれか一項に記載の方法を実行させる、装置。
【0720】
46. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至44のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0721】
第10組の項は、例えば例18及び例19を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0722】
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、2つ又は4つのクロマサンプル及び/又は対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0723】
2. 前記対応するルマサンプルはダウンサンプリングによって得られる、項1に記載の方法。
【0724】
3. 前記CCLMの前記パラメータは、maxY/maxC及びminY/minCを含む、項1に記載の方法。
【0725】
4. 前記2つのクロマサンプルが、maxY/maxC及びminY/minCを導出するために選択され、小さい方のルマサンプル値にminYが設定され、それの対応するクロマサンプル値がminCであり、大きい方のルマサンプル値にmaxYが設定され、それの対応するクロマサンプル値がmaxCである、項3に記載の方法。
【0726】
5. 前記4つのクロマサンプルが、maxY/maxC及びminY/minCを導出するために選択され、前記4つのクロマサンプル及び前記対応するルマサンプルは、2つの配列G0及びG1に分割され、各配列が、2つのクロマサンプル及びそれらの対応するルマサンプルを含む、項3に記載の方法。
【0727】
6. 前記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つのクロマサンプルを含み、それぞれ、対応するルマサンプルを更に含む、
項5に記載の方法。
【0728】
7. G0[0]及びG0[1]の2つのルマサンプル値の比較を受けて、G0[0]のクロマサンプル及びその対応するルマサンプルがG0[1]のそれらと交換される、項6に記載の方法。
【0729】
8. G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも大きい場合、G0[0]のクロマサンプル及びその対応するルマサンプルがG0[1]のそれらと交換される、項7に記載の方法。
【0730】
9. G1[0]及びG1[1]の2つのルマサンプル値の比較を受けて、G1[0]のクロマサンプル及びその対応するルマサンプルがG1[1]のそれらと交換される、項6に記載の方法。
【0731】
10. G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G1[0]のクロマサンプル及びその対応するルマサンプルがG1[1]のそれらと交換される、項9に記載の方法。
【0732】
11. G0[0]及びG1[1]の2つのルマサンプル値の比較を受けて、G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]又はG1[1]のそれらと交換される、項6に記載の方法。
【0733】
12. G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]又はG1[1]のそれらと交換される、項11に記載の方法。
【0734】
13. G0[1]及びG1[0]の2つのルマサンプル値の比較を受けて、G0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]のそれらと交換される、項6に記載の方法。
【0735】
14. G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい場合、G0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]のそれらと交換される、項13に記載の方法。
【0736】
15. G0[0]、G0[1]、G1[0]、及びG1[1]の2つのルマサンプル値の比較を受けて、以下の交換操作、すなわち、i)G0[0]のクロマサンプル及びその対応するルマサンプルの、G0[1]のそれらとの交換操作、ii)G1[0]のクロマサンプル及びその対応するルマサンプルの、G1[1]のそれらとの交換操作、iii)G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルの、G0[1]又はG1[1]のそれらとの交換操作、及びiv)G0[1]のクロマサンプル及びその対応するルマサンプルの、G1[0]のそれらとの交換操作が、順に行われる、項6に記載の方法。
【0737】
16. maxYは、G0[0]及びG0[1]のルマサンプル値の平均、又はG1[0]及びG1[1]のルマサンプル値の平均として計算され、maxCは、G0[0]及びG0[1]のクロマサンプル値の平均、又はG1[0]及びG1[1]のクロマサンプル値の平均として計算される、項6に記載の方法。
【0738】
17. MinYは、G0[0]及びG0[1]のルマサンプル値の平均、又はG1[0]及びG1[1]のルマサンプル値の平均として計算され、minCは、G0[0]及びG0[1]のクロマサンプル値の平均、又はG1[0]及びG1[1]のクロマサンプル値の平均として計算される、項6に記載の方法。
【0739】
18. maxY及びmaxCの計算、又はminY及びminCの計算は、G0[0]、G0[1]、G1[0]及びG1[1]の2つのルマサンプル値の比較を受けて実行される複数の交換操作のいずれの交換操作の後にも行われ、前記複数の交換操作は、i)G1[0]のクロマサンプル及びその対応するルマサンプルの、G1[1]のそれらとの交換操作、ii)G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルの、G0[1]又はG1[1]のそれらとの交換操作、及びiii)G0[1]のクロマサンプル及びその対応するルマサンプルの、G1[0]のそれらとの交換操作を含む、項16又は17に記載の方法。
【0740】
19. 2つのクロマサンプルのみが利用可能である場合、4つのクロマサンプルを提供するために、前記2つの利用可能なクロマサンプルに対してパディングが実行される、項1に記載の方法。
【0741】
20. 前記4つのクロマサンプルは、前記2つの利用可能なクロマサンプルと、前記2つの利用可能なクロマサンプルからコピーされた2つのパディングクロマサンプルとを含む、項19に記載の方法。
【0742】
21. S0、S1、S2、S3がクロマサンプルであり、対応するルマサンプルが、前記現在映像ブロックの上の行及び/又は左の列内で所与の順序で選択される、項6に記載の方法。
【0743】
22. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、位置ルールに基づいてクロマサンプルを選択するステップであり、前記クロマサンプルは、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記位置ルールは、前記現在映像ブロックの上の行及び/又は左の列内に位置するクロマサンプルを選択するように規定する、方法。
【0744】
23. 前記上の行及び前記左の列は、それぞれ、W個のサンプル及びH個のサンプルを有し、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さである、項22に記載の方法。
【0745】
24. 前記位置ルールは、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される前記現在映像ブロックに適用される、項22に記載の方法。
【0746】
25. 前記位置ルールは、前記現在映像ブロックの前記上の行及び右上の行内に位置するクロマサンプルを選択するように規定し、前記上の行及び前記右上の行は、それぞれ、W個のサンプル及びH個のサンプルを有し、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さである、項22に記載の方法。
【0747】
26. 前記上の行及び前記右上の行内の利用可能なサンプルのみが選択される、項25に記載の方法。
【0748】
27. 前記位置ルールは、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードで符号化される前記現在映像ブロックに適用される、項25に記載の方法。
【0749】
28. 前記位置ルールは、前記上の行が利用可能であり、前記左の列が利用可能でなく、且つ、前記現在映像ブロックが、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される場合に、適用される、項25に記載の方法。
【0750】
29. 上の隣接サンプルが利用可能である場合にはnumSampTがnTbWに等しく設定されること、及び上の隣接サンプルが利用可能でない場合にはnumSampTが0に等しく設定されることを規定するルールに基づいて、numSampTが設定され、numSampTは、クロスコンポーネント線形モデルの前記パラメータを導出するために使用される上の隣接行内のクロマサンプルの数を表し、nTbWは、前記現在映像ブロックの幅を表す、項23乃至28のいずれかに記載の方法。
【0751】
30. 前記ルールは、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される前記現在映像ブロックに適用される、項29に記載の方法。
【0752】
31. 上の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードで符号化される場合には、numSampTがnTbW+Min(numTopRight,nTbH)に等しく設定されること、及びそれ以外の場合にはnumSampTが0に等しく設定されることを規定するルールに基づいて、numSampTが設定され、numSampTは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される上の隣接行内のクロマサンプルの数を表し、nTbW及びnTbHは、それぞれ、前記現在映像ブロックの幅及び高さを表し、numTopRightは、利用可能な右上の隣接サンプルの数を表す、項23乃至28のいずれかに記載の方法。
【0753】
32. 前記ルールは、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化されない前記現在映像ブロックに適用される、項31に記載の方法。
【0754】
33. 前記位置ルールは、前記現在映像ブロックの前記左の列及び左下の列内に位置するクロマサンプルを選択するように規定し、前記左の列及び前記左下の列は、それぞれ、H個のサンプル及びW個のサンプルを有し、W及びHは、それぞれ、前記現在映像ブロックの幅及び高さである、項22に記載の方法。
【0755】
34. 前記左の列及び前記左下の列内の利用可能なサンプルのみが選択される、項33に記載の方法。
【0756】
35. 前記位置ルールは、前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードで符号化される前記現在映像ブロックに適用される、項33に記載の方法。
【0757】
36. 前記位置ルールは、前記上の行が利用可能でなく、前記左の列が利用可能であり、且つ、前記現在映像ブロックが、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される場合に、適用される、項33に記載の方法。
【0758】
37. 左の隣接サンプルが利用可能である場合にはnumSampLがnTbHに等しく設定されること、及びそれ以外の場合にはnumSampLが0に等しく設定されることを規定するルールに基づいて、numSampLが設定され、numSampLは、前記クロスコンポーネント線形モデルのパラメータを導出するために使用される左の隣接列内のクロマサンプルの数を表し、nTbHは、前記現在映像ブロックの高さを表す、項33乃至36のいずれかに記載の方法。
【0759】
38. 前記ルールは、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化される前記現在映像ブロックに適用される、項37に記載の方法。
【0760】
39. 左の隣接サンプルが利用可能であり、且つ前記現在映像ブロックが、前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードで符号化される場合には、numSampLがnTbH+Min(numLeftBelow,nTbW)に等しく設定されること、及びそれ以外の場合にはnumSampLが0に等しく設定されることを規定するルールに基づいて、numSampLが設定され、numSampLは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される左の隣接列内のクロマサンプルの数を表し、nTbW及びnTbHは、それぞれ、前記現在映像ブロックの幅及び高さを表し、numLeftBelowは、利用可能な左下の隣接サンプルの数を表す、項33乃至36のいずれかに記載の方法。
【0761】
40. 前記ルールは、前記CCLMを導出するために上の隣接サンプルのみを使用する第1のCCLMモードとは異なり且つ前記CCLMを導出するために左の隣接サンプルのみを使用する第2のCCLMモードとも異なる通常CCLMモードで符号化されない前記現在映像ブロックに適用される、項39に記載の方法。
【0762】
41. 選択されたクロマサンプルに対応するルマサンプルが、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項22乃至40のいずれかに記載の方法。
【0763】
42. 前記ルマサンプルは、ダウンサンプリングによって導出される、項41に記載の方法。
【0764】
43. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至42のいずれかに記載の方法。
【0765】
44. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至42のいずれかに記載の方法。
【0766】
45. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至44のいずれか一項に記載の方法を実行させる、装置。
【0767】
46. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至44のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0768】
第11組の項は、例えば例20-例22を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0769】
1. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、ルマサンプルがダウンサンプリングされる位置を決定するステップであり、前記ダウンサンプリングされたルマサンプルは、クロマサンプル及びダウンサンプリングされたルマサンプルに基づいてクロスコンポーネント線形モデル(CCLM)のパラメータを決定するために使用され、前記ダウンサンプリングされたルマサンプルは、前記CCLMの前記パラメータを導出するために使用される前記クロマサンプルの位置に対応する位置にある、ステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0770】
2. 前記現在映像ブロックの外にあって前記CCLMの前記パラメータを決定するために使用されない位置では、ルマサンプルはダウンサンプリングされない、項1に記載の方法。
【0771】
3. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックに関連する符号化条件に基づいて、クロマサンプル及びルマサンプルを用いてクロスコンポーネント線形モデル(CCLM)のパラメータを導出する方法を決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0772】
4. 前記符号化条件は、前記現在映像ブロックのカラーフォーマットに対応する、項3に記載の方法。
【0773】
5. 前記カラーフォーマットは、4:2:0又は4:4:4である、項4に記載の方法。
【0774】
6. 前記符号化条件は、前記現在映像ブロックのカラー表現方法に対応する、項3に記載の方法。
【0775】
7. 前記カラー表現方法はRGB又はYCbCrである、項6に記載の方法。
【0776】
8. 前記クロマサンプルはダウンサンプリングされ、前記決定は、ダウンサンプリングされたクロマサンプルの位置に依存する、項3に記載の方法。
【0777】
9. パラメータを導出する前記方法は、一群の隣接クロマサンプルから位置ルールに基づいて選択された前記クロマサンプル及び前記ルマサンプルに基づいて前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
【0778】
10. パラメータを導出する前記方法は、前記クロマサンプル及び前記ルマサンプルの最大値及び最小値に基づいて前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
【0779】
11. パラメータを導出する前記方法は、2つのクロマサンプル及び対応する2つのルマサンプルによって完全に決定可能である前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
【0780】
12. パラメータを導出する前記方法は、2つのクロマサンプル値と2つのルマサンプル値とに従ってエントリが検索されるパラメータテーブルを用いて前記CCLMの前記パラメータを決定することを有する、項3に記載の方法。
【0781】
13. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの左の隣接ブロック及び上の隣接ブロックの利用可能性に基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを導出するために使用されるルマコンポーネント及びクロマコンポーネントの最大値及び/又は最小値を導出すべきかを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0782】
14. 前記左の隣接ブロック及び前記上の隣接ブロックが利用可能でない場合、前記最大値及び/又は前記最小値は導出されない、項13に記載の方法。
【0783】
15. 前記決定は、前記現在映像ブロックの利用可能な隣接サンプルの数に基づいて決定し、前記利用可能な隣接サンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項13に記載の方法。
【0784】
16. numSampL==0且つnumSampT==0である場合、前記最大値及び/又は前記最小値は導出されず、numSampL及びnumSampTは、それぞれ、左の隣接ブロックからの利用可能な隣接サンプルの数及び上の隣接ブロックからの利用可能な隣接サンプルの数を示し、前記左の隣接ブロックからの前記利用可能な隣接サンプル及び前記上の隣接ブロックからの前記利用可能な隣接サンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項15に記載の方法。
【0785】
17. numSampL+numSampT==0の場合、前記最大値及び/又は前記最小値は導出されず、numSampL及びnumSampTは、それぞれ、左の隣接ブロックからの利用可能な隣接サンプルの数及び上の隣接ブロックからの利用可能な隣接サンプルの数を示し、前記左の隣接ブロックからの前記利用可能な隣接サンプル及び前記上の隣接ブロックからの前記利用可能な隣接サンプルは、前記クロスコンポーネント線形モデルの前記パラメータを導出するために使用される、項15に記載の方法。
【0786】
18. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至17のいずれかに記載の方法。
【0787】
19. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至17のいずれかに記載の方法。
【0788】
20. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至19のいずれか一項に記載の方法を実行させる、装置。
【0789】
21. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至19のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0790】
第12組の項は、例えば例23を含む先行セクションに列挙された開示技術の特定の特徴及び態様を記述する。
【0791】
1. 映像処理のための方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックの選択された隣接サンプルと、参照ブロックの対応する隣接サンプルとに基づいて、線形モデルを用いる符号化ツールのパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
【0792】
2. 前記符号化ツールは、前記変換中に前記現在映像ブロックにおける照明変化の線形モデルを使用することを含む局所照明補償(LIC)ツールである、項1に記載の方法。
【0793】
3. 前記現在映像ブロックの前記隣接サンプル及び前記参照ブロックの前記隣接サンプルは、位置ルールに基づいて選択される、項2に記載の方法。
【0794】
4. 前記符号化ツールの前記パラメータは、前記現在映像ブロックの前記隣接サンプル及び前記参照ブロックの前記隣接サンプルの最大値及び最小値に基づいて決定される、項3に記載の方法。
【0795】
5. 前記符号化ツールの前記パラメータは、前記現在映像ブロックの2つの隣接サンプルと前記参照ブロックの2つの隣接サンプルとに従ってエントリが検索されるパラメータテーブルを用いて決定される、項2に記載の方法。
【0796】
6. 前記符号化ツールの前記パラメータを導出するために、前記現在映像ブロックの前記隣接サンプル及び前記参照ブロックの前記隣接サンプルはダウンサンプリングされる、項2に記載の方法。
【0797】
7. 前記LICツールのパラメータを導出するために使用される前記隣接するサンプルは、前記現在映像ブロックの上の行及び/又は左の列内の特定の位置にあるサンプルを含まない、項2に記載の方法。
【0798】
8. 前記現在映像ブロックの左上のサンプルが(x0,y0)の座標を有し、座標(x0,y0-1)を有するサンプルは、前記LICツールのパラメータを導出するために使用されない、項2に記載の方法。
【0799】
9. 前記現在映像ブロックの左上のサンプルが(x0,y0)の座標を有し、座標(x0-1,y0)を有するサンプルは、前記LICツールのパラメータを導出するために使用されない、項2に記載の方法。
【0800】
10. 前記特定の位置は、前記上の行及び/又は前記左の列の利用可能性に依存する、項7に記載の方法。
【0801】
11. 前記特定の位置は、前記現在映像ブロックのブロック寸法に依存する、項7に記載の方法。
【0802】
12. 前記決定は、前記上の行及び/又は前記左の列の利用可能性に依存する、項1に記載の方法。
【0803】
13. 前記LICツールの前記パラメータを導出するために、前記現在映像ブロックのN個の隣接サンプル及び前記参照ブロックのN個の隣接サンプルが使用される、項2に記載の方法。
【0804】
14. Nが4である、項13に記載の方法。
【0805】
15. 前記現在映像ブロックのN個の隣接サンプルは、前記現在映像ブロックの上の行からのN/2個のサンプルと、前記現在映像ブロックの左の列からのN/2個のサンプルとを含む、項13に記載の方法。
【0806】
16. Nはmin(L,T)に等しく、Tは、前記現在映像ブロックの利用可能な隣接サンプルの総数であり、Lは整数である、項13に記載の方法。
【0807】
17. 前記N個の隣接サンプルは、前記CCLMのパラメータを導出するためのサンプルを選択することに適用可能な同一ルールに基づいて選択される、項13に記載の方法。
【0808】
18. N個の隣接サンプルは、上の隣接サンプルのみを使用する前記CCLMの第1モードのパラメータを導出するためのサンプルを選択することに適用可能な同一ルールに基づいて選択される、項13に記載の方法。
【0809】
19. N個の隣接サンプルは、左の隣接サンプルのみを使用する前記CCLMの第2モードのパラメータを導出するためのサンプルを選択することに適用可能な同一ルールに基づいて選択される、項13に記載の方法。
【0810】
20. 前記現在映像ブロックの前記N個の隣接サンプルは、前記現在映像ブロックの上の行又は左の列の利用可能性に基づいて選択される、項13に記載の方法。
【0811】
21. 映像処理のための方法であって、映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、前記現在映像ブロックのN個の隣接サンプル及び参照ブロックのN個の対応する隣接サンプルに基づいて、局所照明補償(LIC)ツールのパラメータを決定するステップであり、前記現在映像ブロックの前記N個の隣接サンプルは、前記N個の隣接サンプルの位置に基づいて選択される、ステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記LICツールは、前記変換中に前記現在映像ブロックにおける照明変化の線形モデルを使用する、方法。
【0812】
22. 前記現在映像ブロックの前記N個の隣接サンプルは、前記現在映像ブロックの幅及び高さに基づいて選択される、項21に記載の方法。
【0813】
23. 前記現在映像ブロックの前記N個の隣接サンプルは、前記現在映像ブロックの隣接ブロックの利用可能性に基づいて選択される、項21に記載の方法。
【0814】
24. 前記現在映像ブロックの前記N個の隣接サンプルは、前記現在映像ブロックの寸法と隣接ブロックの利用可能性とに依存する第1の位置オフセット値(F)及びステップ値(S)で選択される、項21に記載の方法。
【0815】
25. 前記現在映像ブロックがアフィン符号化される、項1乃至24のいずれかに記載の方法。
【0816】
26. 映像処理のための方法であって、クロマブロックである映像の現在映像ブロックと前記映像の符号化表現との間での変換のために、クロマサンプル及び対応するルマサンプルに基づいて、クロスコンポーネント線形モデル(CCLM)のパラメータを決定するステップと、前記決定に基づいて前記変換を実行するステップと、を有し、前記クロマサンプルの一部は、パディング操作によって取得され、前記クロマサンプル及び前記対応するルマサンプルは、2つの配列G0及びG1にグループ化され、各配列が、2つのクロマサンプル及び対応するルマサンプルを含む、方法。
【0817】
27. cntTとcntLとの和が2に等しい場合に、以下の操作、すなわち、i)pSelComp[3]がpSelComp[0]に等しく設定され、ii)pSelComp[2]がpSelComp[1]に等しく設定され、iii)pSelComp[0]がpSelComp[1]に等しく設定され、及びiv)pSelComp[1]がpSelComp[3]に等しく設定される操作が順に実行され、cntT及びcntLは、それぞれ、上の隣接ブロック及び左の隣接ブロックから選択されるサンプルの数を示し、pSelComp[0]からpSelComp[3]は、選択される対応するサンプルのカラーコンポーネントのピクセル値を示す、項26に記載の方法。
【0818】
28. 前記パラメータの前記決定は、G0[0]、G0[1]、G1[0]、及びG1[1]の値を初期化することを含む、項26に記載の方法。
【0819】
29. G0[0]=0、G0[1]=2、G1[0]=1、且つG1[1]=3である、項28に記載の方法。
【0820】
30. 前記パラメータの前記決定は更に、前記値の前記初期化の後に、G0[0]及びG0[1]の2つのルマサンプル値の比較を受けて、G0[0]のクロマサンプル及びその対応するルマサンプルをG0[1]のそれらと交換することを含む、項28に記載の方法。
【0821】
31. G0[0]のルマサンプル値がG0[1]のルマサンプル値よりも大きい場合、G0[0]のクロマサンプル及びその対応するルマサンプルがG0[1]のそれらと交換される、項30に記載の方法。
【0822】
32. 前記パラメータの前記決定は更に、前記値の前記初期化の後に、G1[0]及びG1[1]の2つのルマサンプル値の比較を受けて、G1[0]のクロマサンプル及びその対応するルマサンプルをG1[1]のそれらと交換することを含む、項28に記載の方法。
【0823】
33. G1[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G1[0]のクロマサンプル及びその対応するルマサンプルがG1[1]のそれらと交換される、項32に記載の方法。
【0824】
34. 前記パラメータの前記決定は更に、前記値の前記初期化の後に、G0[0]及びG1[1]の2つのルマサンプル値の比較を受けて、G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルをG1[0]又はG1[1]のそれらと交換することを含む、項28に記載の方法。
【0825】
35. G0[0]のルマサンプル値がG1[1]のルマサンプル値よりも大きい場合、G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]又はG1[1]のそれらと交換される、項34に記載の方法。
【0826】
36. 前記パラメータの前記決定は更に、前記値の前記初期化の後に、G0[1]及びG1[0]の2つのルマサンプル値の比較を受けて、G0[1]のクロマサンプル及びその対応するルマサンプルをG1[0]のそれらと交換することを含む、項28に記載の方法。
【0827】
37. G0[1]のルマサンプル値がG1[0]のルマサンプル値よりも大きい場合、G0[1]のクロマサンプル及びその対応するルマサンプルがG1[0]のそれらと交換される、項36に記載の方法。
【0828】
38. 前記パラメータの前記決定は更に、前記値の前記初期化の後に、G0[0]、G0[1]、G1[0]、及びG1[1]の2つのルマサンプル値の比較を受けて、以下の交換操作、すなわち、i)G0[0]のクロマサンプル及びその対応するルマサンプルの、G0[1]のそれらとの交換操作、ii)G1[0]のクロマサンプル及びその対応するルマサンプルの、G1[1]のそれらとの交換操作、iii)G0[0]又はG0[1]のクロマサンプル及びその対応するルマサンプルの、G0[1]又はG1[1]のそれらとの交換操作、及びiv)G0[1]のクロマサンプル及びその対応するルマサンプルの、G1[0]のそれらとの交換操作を、順に実行することを含む、項28に記載の方法。
【0829】
39. 前記変換の前記実行は、前記現在ブロックから前記符号化表現を生成することを含む、項1乃至38のいずれかに記載の方法。
【0830】
40. 前記変換の実行は、前記符号化表現から前記現在ブロックを生成することを含む、項1乃至38のいずれかに記載の方法。
【0831】
41. プロセッサと、命令を有する非一時的なメモリとを有する映像システム内の装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、項1乃至40のいずれか一項に記載の方法を実行させる、装置。
【0832】
42. 非一時的なコンピュータ読み取り可能媒体に格納されたコンピュータプログラムプロダクトであって、項1乃至40のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクト。
【0833】
以上から理解されることには、ここでは説明の目的で、ここに開示される技術の特定の実施形態を説明したが、本発明の範囲を逸脱することなく様々な変更が為され得る。従って、ここに開示される技術は、添付の特許請求の範囲による場合を除いて、限定されるものではない。
【0834】
この特許文書に記載される事項及び機能動作の実装は、この明細書に開示されている構造及びそれらに構造的に均等なものを含め、様々なシステム、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにて、あるいはこれらのうちの1つ以上の組み合わせにて実施されることができる。この明細書に記載される事項の実装は、1つ以上のコンピュータプログラムプロダクトとして実装されることができ、すなわち、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、有形で非一時的なコンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の組成、又はそれらのうちの1つ以上の組み合わせとすることができる。用語“データ処理ユニット”又は“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するあらゆる装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードといった、問題としているコンピュータプログラムのための実行環境を作り出すコードを含むことができる。
【0835】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含め、如何なる形態のプログラミング言語で記述されてもよく、また、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に格納されてもよいし、問題としているプログラムに専用の単一ファイルに格納されてもよいし、あるいは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開されてもよいし、あるいは、一箇所に配置された、又は複数箇所に分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
【0836】
この明細書に記載されるプロセス及び論理フローは、入力データについて演算して出力を生成することによって機能を実行するよう、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。これらのプロセス及び論理フローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)といった専用の論理回路によって実行されることもでき、また、装置も、そのような専用の論理回路として実装されることができる。
【0837】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、磁気光ディスク、又は光ディスクといった、データを格納するための1つ以上の大容量ストレージ装置を含み、あるいは、大容量ストレージ装置からデータを受信したり、それにデータを転送したりするように動作的に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイスを含め、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われたり、それに組み込まれたりしてもよい。
【0838】
明細書は、図面と共に、単に例示的なものとみなされることを意図しており、例示的とは例を意味する。ここで使用されるとき、“又は”の使用は、文脈が別のことを明確に示していない限り、“及び/又は”を含むことを意図している。
【0839】
この特許文書は数多くの詳細が含んでいるが、それらは、いずれかの発明又は特許請求され得るものの範囲についての限定として解釈されるべきでなく、むしろ、特定の発明の特定の実施形態に特有とし得る機構の説明として解釈されるべきである。別々の実施形態の文脈でこの特許文書に記載されている特定の複数の機構が、単一の実施形態にて組み合わせて実装されることもできる。逆に、単一の実施形態の文脈で説明されている種々の機構が、複数の実施形態にて別々に、又は何らかの好適なサブコンビネーションで実装されることもできる。さらには、複数の機構が、特定の組み合わせにて作用するものとして上述され、さらには当初はそのように特許請求されていることがあり得るが、場合によって、特許請求されている組み合わせからの1以上の機構を組み合わせから除くこともでき、また、特許請求されている組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションへと導いてもよい。
【0840】
同様に、図面には処理が特定の順序で示されるが、このことは、所望の結果を達成するために、それらの動作が図示される特定の順序で若しくは順番に実行されること、又は図示される全ての処理が実行されることを要求するものとして理解されるべきでない。また、この特許文書に記載されている実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきでない。
【0841】
ほんの少しの実装及び例を記載したのみであり、この特許文書に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われ得る。
【外国語明細書】