IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2024-513006デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法
<>
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図1A
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図1B
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図2
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図3
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図4
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図5
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図6
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図7
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図8
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図9
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図10
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図11
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図12
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図13
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図14
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図15
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図16
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図17
  • 特表-デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-21
(54)【発明の名称】デコーダが実行するビデオ処理の方法、ビデオ復号化のための装置、及びコンピュータプログラム、並びにエンコーダが実行するビデオ処理の方法
(51)【国際特許分類】
   H04N 19/11 20140101AFI20240313BHJP
   H04N 19/176 20140101ALI20240313BHJP
   H04N 19/186 20140101ALI20240313BHJP
【FI】
H04N19/11
H04N19/176
H04N19/186
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023559984
(86)(22)【出願日】2022-11-02
(85)【翻訳文提出日】2023-09-28
(86)【国際出願番号】 US2022079158
(87)【国際公開番号】W WO2023146689
(87)【国際公開日】2023-08-03
(31)【優先権主張番号】63/305,159
(32)【優先日】2022-01-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/976,556
(32)【優先日】2022-10-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュー,シャオジョン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159PP16
5C159TA31
5C159TB08
5C159TC02
5C159TC42
5C159TD03
5C159TD05
5C159UA02
5C159UA05
(57)【要約】
本開示の態様は、クロスコンポーネント線形モデル(CCLM)モードが現在ピクチャ内のクロマブロックに適用されることを示す予測情報を復号する処理回路を含む装置及び方法を提供する。クロマブロック内の第1領域について、処理回路は、クロマブロックとコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて、CCLMモードでのオフセットパラメータを変更するために使用される第1調整値を決定する。再構成サンプルの第1サブセットはルーマブロック内の1つ以上のサンプルを含まない。処理回路は、第1調整値に基づいてオフセットパラメータを更新する。処理回路は、ルーマブロック内の再構成サンプルの第2サブセットに基づいて、CCLMモードでの勾配パラメータを変更するために使用される第2調整値を決定するし、第2調整値に基づいて勾配パラメータを更新する。
【特許請求の範囲】
【請求項1】
デコーダが実行するビデオ処理の方法であって、
現在ピクチャ内の再構成されるべきクロマブロックの予測情報を復号するステップであり、前記予測情報により、クロスコンポーネント線形モデル(CCLM)モードが前記クロマブロックに適用されることが示される、ステップと、
前記クロマブロック内の第1領域について、
前記現在ピクチャ内で前記クロマブロックとコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて、前記CCLMモードでのオフセットパラメータを変更するために使用される第1調整値を決定するステップであり、前記再構成サンプルの前記第1サブセットは前記ルーマブロック内の1つ以上のサンプルを含まない、ステップと、
前記第1調整値に少なくとも基づいて、前記オフセットパラメータを更新するステップと、
前記ルーマブロック内の前記再構成サンプルの第2サブセットに基づいて、前記CCLMモードでの勾配パラメータを変更するために使用される第2調整値を決定するステップと、
前記第2調整値に少なくとも基づいて、前記勾配パラメータを更新するステップと、
前記CCLMモードを用いて前記更新されたオフセットパラメータ及び前記更新された勾配パラメータに少なくとも基づいて前記クロマブロック内の前記第1領域を再構成するステップと
を有する方法。
【請求項2】
前記クロマブロック内の前記第1領域は、前記クロマブロック全体を含み、
前記ルーマブロック内の前記再構成サンプルの前記第1サブセットは、前記ルーマブロック内の1つの再構成されたサンプルであり、
前記第1調整値を決定するステップは、前記第1調整値を、前記ルーマブロック内の前記1つの再構成されたサンプルのサンプル値であるよう決定することを含む、
請求項1に記載の方法。
【請求項3】
前記第1領域は、前記クロマブロック全体を含み、
前記再構成サンプルの前記第1サブセットは、前記ルーマブロック内の複数の再構成されたサンプルを含み、
前記第1調整値を決定するステップは、前記第1調整値を、前記ルーマブロック内の前記複数の再構成されたサンプルのサンプル値の平均であるよう決定することを含む、
請求項1に記載の方法。
【請求項4】
前記第1領域は、前記クロマブロック全体を含み、
前記予測情報は、前記ルーマブロック内の前記再構成サンプルのうちのどれが前記再構成サンプルの前記第1サブセットに含まれるかを更に示す、
請求項1に記載の方法。
【請求項5】
前記クロマブロックは、第2領域を更に含み、
前記再構成サンプルの前記第1サブセットは、前記ルーマブロック内の第1再構成サンプルであり、
前記方法は、前記クロマブロック内の前記第2領域について、
前記第1再構成サンプルとは異なる前記ルーマブロック内の第2再構成サンプルに基づいて、前記CCLMモードでの前記オフセットパラメータを調整するために使用される第2調整パラメータを決定するステップと、
前記オフセットパラメータ及び前記第2調整パラメータに少なくとも基づいて、第2の更新されたオフセットパラメータを決定するステップと、
前記CCLMモードを用いて前記第2の更新されたオフセットパラメータに少なくとも基づいて前記クロマブロック内の前記第2領域を再構成するステップと
を更に有する、
請求項1に記載の方法。
【請求項6】
前記クロマブロックは、第2領域を更に含み、
前記ルーマブロックは、前記第1領域及び前記第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含み、
前記再構成サンプルの前記第1サブセットは、前記第1ルーマ領域内の複数のサンプルを含み、
前記方法は、前記クロマブロック内の前記第2領域について、
前記第2ルーマ領域内の複数のサンプルに基づいて、前記CCLMモードでの前記オフセットパラメータを調整するために使用される第2調整パラメータを決定するステップと、
前記オフセットパラメータ及び前記第2調整パラメータに少なくとも基づいて、第2の更新されたオフセットパラメータを決定するステップと、
前記CCLMモードを用いて前記第2の更新されたオフセットパラメータに少なくとも基づいて前記クロマブロック内の前記第2領域を再構成するステップと
を更に有する、
請求項1に記載の方法。
【請求項7】
前記クロマブロックは、第2領域を更に含み、
前記ルーマブロックは、前記第1領域及び前記第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含み、
前記再構成サンプルの前記第1サブセットは、前記第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、及び右下サンプルを含み、
前記第1調整値を決定するステップは、前記第1調整値を、前記第1ルーマ領域内の前記左上サンプル、前記右上サンプル、前記左下サンプル、及び前記右下サンプルの平均であるよう決定することを含み、
前記方法は、前記クロマブロック内の前記第2領域について、
前記CCLMモードでの前記オフセットパラメータを調整するために使用される第2調整パラメータを、前記第2ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、右下サンプルの平均であるよう決定するステップと、
前記オフセットパラメータ及び前記第2調整パラメータに少なくとも基づいて、第2の更新されたオフセットパラメータを決定するステップと、
前記CCLMモードを用いて前記第2の更新されたオフセットパラメータに少なくとも基づいて前記クロマブロック内の前記第2領域を再構成するステップと
を更に有する、
請求項1に記載の方法。
【請求項8】
前記更新されたオフセットパラメータを決定することは、前記更新されたオフセットパラメータを(b-u×y)であるよう決定することを含み、bは前記オフセットパラメータであり、uは、前記勾配パラメータを変更するために使用される前記第2調整値であり、yは前記第1調整値であり、
前記第1領域を再構成するステップは、前記CCLMモードを用いて前記更新されたオフセットパラメータ及び前記更新された勾配パラメータに基づいて前記クロマブロック内の前記第1領域を再構成することを含む、
請求項1に記載の方法。
【請求項9】
前記第1領域について、(i)前記ルーマブロックの1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルと、(ii)前記ルーマブロック内の前記再構成サンプルの前記第2サブセットとに基づいて、前記勾配パラメータを変更するために使用される前記第2調整値を決定するステップを更に有する、
請求項8に記載の方法。
【請求項10】
前記勾配パラメータを変更するために使用される前記第2調整値を決定するステップは、
前記第1領域について、前記1つ以上の隣接ルーマブロック内の前記再構成されたルーマサンプルの平均と前記ルーマブロック内の前記再構成サンプルの前記第2サブセットの平均との間の差に基づいて、前記勾配パラメータを変更するために使用される前記第2調整値を決定することとを含む、
請求項9に記載の方法。
【請求項11】
前記再構成サンプルの前記第2サブセットは、前記再構成サンプルの前記第1サブセットを含む、
請求項1に記載の方法。
【請求項12】
前記第2調整値を決定するステップは、
前記ルーマブロック全体内の前記再構成サンプルに基づいて前記第2調整値を決定することを含む、
請求項1に記載の方法。
【請求項13】
ビデオ復号化のための装置であって、
処理回路を有し、該処理回路は、メモリに記憶されているコンピュータプログラムを実行すると、請求項1乃至12のうちいずれか一項に記載の方法を実行するよう構成される、装置。
【請求項14】
命令を有するコンピュータプログラムであって、
前記命令は、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1乃至12のうちいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【請求項15】
エンコーダが実行するビデオ処理の方法であって、
クロスコンポーネント線形モデル(CCLM)モードを使用して現在ピクチャ内で符号化されるべきクロマブロック内の第1領域について、CCLMモードでのオフセットパラメータを変更するために使用される第1調整値を、前記現在ピクチャ内で前記クロマブロックとコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて決定するステップであり、前記再構成サンプルの第1サブセットは前記ルーマブロック内の1つ以上のサンプルを含まない、ステップと、
前記オフセットパラメータ及び前記第1調整値に基づいて第1の更新されたオフセットパラメータを決定するステップと、
前記CCLMモードを用いて前記第1の更新されたオフセットパラメータに少なくとも基づいて前記第1領域を符号化するステップと
を有する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオコーディングに概して関係がある実施形態について記載する。
【背景技術】
【0002】
本明細書中で与えられている背景の説明は、本開示の背景を一般的に提示することを目的とするものである。現在指名されている発明者の研究は、その研究がこの背景の項で説明されている範囲で、及び出願時に先行技術としてさもなければ適格でない可能性がある説明の側面は、本開示に対する先行技術として明示的にも暗黙的にも認められない。
【0003】
圧縮されていないデジタルイメージ及び/又はビデオは、ピクチャの連続を含むことができ、各ピクチャは、例えば、1920×1080のルミナンスサンプル及び関連するクロミナンスサンプルの空間寸法を有する。ピクチャの連続は、例えば、毎秒60ピクチャ、つまり60Hzの固定又は可変のピクチャレート(俗にフレームレートとして知られている。)を有することができる。圧縮されていないイメージ及び/又はビデオは、特定のビットレート要件を有している。例えば、サンプル当たり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920×1080のルミナンスサンプル解像度)は、1.5Gビット/sに近いバンド幅を必要とする。そのようなビデオの1時間は、600Gバイト超の記憶空間を必要とする。
【0004】
イメージ及び/又はビデオの符号化及び復号化の1つの目的は、圧縮による入力イメージ及び/又はビデオ信号内の冗長性の低減であることができる。圧縮は、いくつかの場合に2桁以上、上記のバンド幅要件及び/又は記憶空間要件を減らすことを助けることができる。本明細書中の記載は、実例として、ビデオ符号化/復号化を使用するが、同じ技術は、本開示の精神から逸脱せずに、同じようにしてイメージ符号化/復号化に適用できる。可逆圧縮及び不可逆圧縮の両方並びにそれらの組み合わせが用いられ得る。可逆圧縮は、原信号の厳密なコピーが圧縮された原信号から再構成可能である技術を指す。不可逆圧縮を使用する場合に、再構成された信号は、原信号と同じでない場合があるが、原信号と再構成された信号との間のひずみは、再構成された信号を、意図された用途にとって有用なものとするほど十分に小さい。ビデオの場合には、不可逆圧縮が広く用いられている。許容されるひずみの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビジョン配信用途のユーザよりも高いひずみを許容し得る。達成可能な圧縮比は、より高い許容可能な/受け入れ可能なひずみがより高い圧縮比をもたらし得ることを反映することができる。
【0005】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換処理、量子化、及びエントロピコーディングを含むいくつかの広いカテゴリからの技術を利用することができる。
【0006】
ビデオコーデック技術は、イントラコーディングとして知られている技術を含むことができる。イントラコーディングでは、サンプル値は、前に再構成された参照ピクチャからのサンプル又は他のデータを参照せずに表現される。いくつかのビデオコーデックでは、ピクチャは、空間的にサンプルのブロックに細分される。サンプルの全てのブロックがイントラモードでコーディングされる場合に、そのピクチャはイントラピクチャであることができる。イントラピクチャ及びそれらの派生物、例えば、独立したデコーダリフレッシュピクチャ(independent decoder refresh pictures)は、デコーダ状態をリセットするために使用できるので、コーディングされたビデオビットストリーム及びビデオセッションの最初のピクチャとして、又は静止画像として使用できる。イントラブロックのサンプルは、変換を受けることができ、変換係数は、エントロピコーディング前に量子化され得る。イントラ予測は、変換前領域でサンプル値を最小限にする技術であることができる。いくつかの場合に、変換後のDC値が小さければ小さいほど、かつ、AC係数が小さければ小さいほど、エントロピコーディング後にブロックを表すために所与の量子化ステップサイズで必要とされるビットはますます少ない。
【0007】
例えばMPEG-2世代のコーディング技術で使用されている従来のイントラコーディングは、イントラ予測を使用しない。しかし、より新しいいくつかのビデオ圧縮技術は、例えば、データのブロックの符号化/復号化中に得られた周囲サンプルデータ及び/又はメタデータに基づいて、予測を行うよう試みる技術を含む。かような技術は、以降「イントラ予測」技術と呼ばれる。少なくともいくつかの場合に、イントラ予測は、再構成中の現在ピクチャからのみ参照データを使用し、参照ピクチャからは使用しない点に留意されたい。
【0008】
多種多様な形態のイントラ予測が存在し得る。かような技術の1つよりも多くが所与のビデオコーディング技術で使用できる場合に、使用中の特定の技術は、その特定の技術を使用する特定のイントラ予測モードとしてコーディングされ得る。ある場合に、イントラ予測モードはサブモード及び/又はパラメータを有することができ、サブモード及び/又はパラメータは、独立してコーディングされ得るか、又はモードコードワードに含まれ得る。これにより、使用されている予測モードが定義される。所与のモード、サブモード、及び/又はパラメータの組み合わせのためにどのコードワードを使用すべきは、イントラ予測を通してコーディング効率利得に影響を及ぼし得るので、エントロピコーディング技術が、コードワードをビットストリームに変換するために使用され得る。
【0009】
特定のモードのイントラ予測が、H.264により導入され、H.265で洗練され、Joint Exploration Model(JEM)、Versatile Video Coding(VVC)、及びBenchmark Set(BMS)などのより新しいコーディング技術で更に洗練された。予測子ブロックは、既に利用可能なサンプルの隣接サンプル値を用いて形成され得る。隣接サンプルのサンプル値は、方向に応じて予測子ブロック内にコピーされる。使用中の方向の参照は、ビットストリームでコーディングされ得るか、又はそれ自体予測されてもよい。
【0010】
図1Aを参照すると、右下には、H.265で定義されている33個のとり得る予測子方向(35個のイントラモードのうちの33個の角度モードに対応)から知られている9つの予測子方向のサブセットが表されている。矢印が集まる点(101)は、予測中のサンプルに相当する。矢印は、サンプルが予測されている方向に相当する。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で右上にある1つ又は複数のサンプルから予測される、ことを示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度でサンプル(101)の左下にある1つ又は複数のサンプルから予測される、ことを示す。
【0011】
依然として図1Aを参照して、左上には、4×4個のサンプル(太破線によって示される。)の正方形ブロック(104)が表されている。正方形ブロック(104)は16個のサンプルを含み、各サンプルは、「S」、Y次元でのその位置(例えば、行インデックス)、及びX次元でのその位置(例えば、列インデックス)で標記される。例えば、サンプルS21は、Y次元で(上から)2番目のサンプルかつX次元で(左から)1番目のサンプルである。同様に、サンプルS44は、Y及びXの両方の次元でブロック(104)内の4番目のサンプルである。ブロックはサイズが4×4サンプルであるということで、S44は右下にある。更には、類似した番号付け方式に従う参照サンプルが示されている。参照サンプルは、ブロック(104)に対して、「R」、そのY位置(例えば行インデックス)及びX位置(列インデックス)で標記される。H.264及びH.265の両方で、予測サンプルは、再構成中のブロックに隣接し、従って、負値が使用される必要はない。
【0012】
イントラピクチャ予測は、信号により伝えられた予測方向によって示される隣接サンプルから参照サンプル値をコピーすることによって、働くことができる。例えば、コーディングされたビデオビットストリームが、このブロックについて、矢印(102)と一致する予測方向を示す、すなわち、サンプルが水平から45度の角度で右上にある1つ以上の予測サンプルから予測される、とのシグナリングを含む、とする。その場合に、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。それから、サンプルS44は、参照サンプルR08から予測される。
【0013】
ある場合に、複数の参照サンプルの値は、参照サンプルを計算するために、特に、方向が45度で等しく分割可能でない場合に、例えば補間を通じて、組み合わされてもよい。
【0014】
とり得る方向の数は、ビデオコーディング技術が発展するとともに増えている。H.264(2003年)では、9つの異なる方向が表現可能であった。それは、H.265(2013年)では33個にまで増えた。現在、JEM/VVC/BMSは最大65個の方向をサポートすることができる。最もありそうな方向を識別するために実験が行われており、エントロピコーディングにおける特定の技術が、可能性が低い方向に対する若干のペナルティを受け入れながら、少数のビットでそれらのありそうな方向を表現するために使用されている。更に、方向それ自体は、隣接する、既に復号されたブロックで使用された隣接方向から、時々予測され得る。
【0015】
図1Bは、時間とともに増大する予測方向の数を説明するために、JEMによる65個のイントラ予測方向を表す概略図(110)を示す。
【0016】
コーディングされたビデオビットストリームにおける、方向を表すイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なる可能性がある。そのようなマッピングは、例えば、単純な方向マッピングから、コードワードまで、最確モードを含む複雑な適応スキームまで、及び同様の技術まで様々であることができる。しかしながら、ほとんどの場合で、特定の他の方向よりも統計的にビデオコンテンツで起こる可能性が低い特定の方向が存在し得る。ビデオ圧縮の目標は冗長性の低減であるということで、それらの可能性が低い方向は、上手く働くビデオコーディング技術では、よりありそうな方向よりも多いビット数によって表現されることになる。
【0017】
イメージ及び/又はビデオの符号化/復号化は、動き補償を伴ったインターピクチャ予測を用いて実行できる。動き補償は不可逆圧縮技術であることができ、前に再構成されたピクチャ又はその部分(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降MV)によって示された方向において空間的にシフトされた後に、新たに再構成されるピクチャ又はピクチャ部分の予測のために使用される技術に関係があり得る。いくつかの場合に、参照ピクチャは、現在再構成中のピクチャと同じであることができる。MVは2つの次元X及びY、又は3つの次元を有することができ、3番目の次元は、使用中の参照ピクチャの指示である(後者は、間接的に、時間次元であることができる。)。
【0018】
いくつかのビデオ圧縮技術では、サンプルデータの特定のエリアに適用可能なMVは、他のMVから、例えば、再構成中のエリアに空間的に隣接するサンプルデータの他のエリアに関係があり、復号化順においてそのMVに先行するものから、予測され得る。そうすることで、MVをコーディングするために必要なデータの量を大幅に減らすことができ、それによって、冗長性を取り除きかつ圧縮を高める。例えば、カメラから得られた入力ビデオ信号(ナチュラルビデオとして知られる。)をコーディングする場合に、単一のMVが適用可能であるエリアよりも大きいエリアが同様の方向に移動するという統計的可能性があり、従って、いくつかの場合には、隣接するエリアのMVから導出された同様の動きベクトルを用いて予測可能であるということで、MV予測は有効に働くことができる。その結果、所与のエリアについて求められるMVは、周囲のMVから予測されたMVと類似又は同じであり、エントロピコーディング後に、MVを直接コーディングする場合に使用されることになるビット数よりも少ないビットで表され得る。いくつかの場合に、MV予測は、原信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の例であることができる。他の場合には、MV予測それ自体は、例えば、いくつかの周囲MVから予測子を計算するときの丸め誤差のために、不可逆であり得る。
【0019】
様々なMV予測メカニズムがH.265/HEVC(ITU-T Rec. H265,“High Efficiency Video Coding”,2016年12月)で説明されている。H.265が提案する多くのMV予測メカニズムの中から、以降「空間マージ」と呼ばれる技術が、図2を参照して説明される。
【0020】
図2を参照すると、現在ブロック(201)は、空間的にシフトされた同じサイズの前のブロックから予測可能であると動き探索プロセス中にエンコーダによって認められたサンプルを有する。そのMVを直接にコーディングする代わりに、MVは、1つ以上の参照ピクチャと関連付けられたメタデータから、例えば、(復号化順において)最も最近の参照ピクチャから、A0、A1及びB0、B1、B2(夫々、202から206)と表されている5つの周囲サンプルのうちのいずれか1つと関連付けられたMVを用いて導出され得る。H.265では、MV予測は、隣接ブロックが使用している同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0021】
開示の態様は、ビデオ符号化/復号化のための方法及び装置を提供する。いくつかの例で、ビデオ復号化のための装置は受信回路及び処理回路を含む。処理回路は、現在ピクチャ内の再構成されるべきクロマブロックの予測情報を復号する。予測情報は、クロスコンポーネント線形モデル(Cross-Component Linear Model,CCLM)モードがクロマブロックに適用されることを示す。クロマブロック内の第1領域について、CCLMモードでのオフセットパラメータを変更するために使用される第1調整パラメータが、現在ピクチャ内のコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて、決定され得る。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の1つ以上のサンプルを含まない。クロマブロック内の第1領域の第1の更新されたオフセットパラメータが、オフセットパラメータ及び第1調整パラメータに基づいて決定され得る。クロマブロック内の第1領域は、CCLMモードを用いて第1の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0022】
例において、クロマブロック内の第1領域は、クロマブロック全体を含む。コロケートしているルーマブロック内の再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の1つのサンプルである。第1調整パラメータは、コロケートしているルーマブロック内のその1つのサンプルのサンプル値であるよう決定され得る。
【0023】
例において、第1領域は、クロマブロック全体を含む。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の複数のサンプルを含む。第1調整パラメータは、コロケートしているルーマブロック内のそれら複数のサンプルのサンプル値の平均であるよう決定され得る。
【0024】
例において、第1領域は、クロマブロック全体を含む。予測情報は、コロケートしているルーマブロック内のサンプルのうちのどれが再構成サンプルの第1サブセットに含まれるかを更に示す。
【0025】
例において、クロマブロックは、第2領域を更に含む。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の第1サンプルである。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータが、コロケートしているルーマブロック内の第2サンプルに基づいて決定され得る。一例において、第2サンプルは第1サンプルとは異なる。第2領域の第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0026】
例において、コロケートしているルーマブロックは、クロマブロック内の第1領域及び第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含む。再構成サンプルの第1サブセットは、第1ルーマ領域内の複数のサンプルを含む。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータが、第2ルーマ領域内の複数のサンプルに基づいて決定され得る。第2領域の第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0027】
例において、再構成サンプルの第1サブセットは、第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、及び右下サンプルを含む。第1調整パラメータは、第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、及び右下サンプルの平均であるよう決定され得る。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータは、第2ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、右下サンプルの平均であるよう決定され得る。第2領域の第2の更新されたオフセットパラメータは、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0028】
例において、第1領域について、更新されたスケーリングパラメータは、CCLMモードで使用されるスケーリングパラメータと、スケーリングパラメータを調整するために使用される調整パラメータとの和であるよう、決定され得る。第1の更新されたオフセットパラメータは、(b-u×y)であるよう決定され得、このとき、bはオフセットパラメータであり、uは、スケーリングパラメータを調整するために使用される調整パラメータであり、yは第1調整パラメータである。クロマブロック内の第1領域は、CCLMモードを用いて第1の更新されたオフセットパラメータ及び更新されたスケーリングパラメータに基づいて再構成され得る。
【0029】
例において、第1領域について、スケーリングパラメータを調整するために使用される調整パラメータは、(i)コロケートしているルーマブロックの1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルと、(ii)コロケートしているルーマブロック内のサンプルとに基づいて、決定される。
【0030】
例において、第1領域について、スケーリングパラメータを調整するために使用される調整パラメータは、1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルの平均とコロケートしているルーマブロック内のサンプルの平均との間の差に基づいて、決定される。
【0031】
実施形態において、クロマブロック内の第1領域について、処理回路は、現在ピクチャ内でクロマブロックとコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて、CCLMモードでのオフセットパラメータを変更するために使用される第1調整値を決定する。再構成サンプルの第1サブセットは、ルーマブロック内の1つ以上のサンプルを含まない。処理回路は、第1調整値に基づいて、オフセットパラメータを更新する。処理回路は、ルーマブロック内の再構成サンプルの第2サブセットに基づいて、CCLMモードでの勾配パラメータを変更するために使用される第2調整値を決定し、第2調整値に基づいて勾配パラメータを更新する。処理回路は、CCLMモードを用いて、更新されたオフセットパラメータ及び更新された勾配パラメータに少なくとも基づいてクロマブロック内の第1領域を再構成することができる。
【0032】
例において、再構成サンプルの第2サブセットは、再構成サンプルの第1サブセットを含む。
【0033】
例において、処理回路は、ルーマブロック全体内の再構成サンプルに基づいて第2調整値を決定する。
【0034】
本開示の態様は、ビデオ復号化用のコンピュータによって実行されると、コンピュータに、ビデオ復号化のための方法を実行させる命令を記憶する非一時的なコンピュータ可読記憶媒体も提供する。
【0035】
開示されている対象の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるだろう。
【図面の簡単な説明】
【0036】
図1A】イントラ予測モードの例示的なサブセットの概略図である。
図1B】例示的なイントラ予測方向の説明図である。
図2】現在ブロック(201)及び周囲サンプルの例を示す。
図3】通信システム(300)の例示的なブロック図の模式図である。
図4】通信システム(400)の例示的なブロック図の模式図である。
図5】デコーダの例示的なブロック図の模式図である。
図6】エンコーダの例示的なブロック図の模式図である。
図7】例示的なエンコーダのブロック図を示す。
図8】例示的なデコーダのブロック図を示す。
図9】現在ブロックの例示的な参照サンプルを示す。
図10】クロスコンポーネント線形モデル(CCLM)モードで使用される再構成された隣接ルーマサンプル及び再構成された隣接クロマサンプルの例を示す。
図11】CCLMモードで使用される再構成された隣接ルーマサンプル及び再構成された隣接クロマサンプルの例を示す。
図12】A及びBは、CCLMモードで使用されるパラメータ調整の例を示す。
図13】調整パラメータを決定するために使用されるコロケートしているルーマブロック内の選択されたルーマサンプルの同じ位置の例を示す。
図14】例示的なクロマブロック及びコロケートしているルーマブロックを示す。
図15】例示的なクロマブロック及びコロケートしているルーマブロックを示す。
図16】本開示のいくつかの実施形態に係る符号化プロセスを説明するフローチャートを示す。
図17】本開示のいくつかの実施形態に係る復号化プロセスを説明するフローチャートを示す。
図18】実施形態に係るコンピュータシステムの模式図である。
【発明を実施するための形態】
【0037】
図3は、通信システム(300)の例示的なブロック図を表す。通信システム(300)は、例えば、ネットワーク(350)を介して、互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続されている端末デバイス(310)及び(320)の第1対を含む。図3の例では、端末デバイス(310)及び(320)の第1対は、データの一方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介した他の端末デバイス(320)への伝送のためにビデオデータ(例えば、端末デバイス(310)によって捕捉されるビデオピクチャのストリーム)をコーディングしてよい。符号化されたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形で伝送可能である。端末デバイス(320)は、コーディングされたビデオデータをネットワーク(350)から受信し、コーディングされたビデオデータを復号してビデオピクチャを回復し、回復されたビデオデータに従ってビデオピクチャを表示してよい。一方向データ伝送は、メディアサービングアプリケーションなどにおいて一般的であり得る。
【0038】
他の例では、通信システム(300)は、例えば、ビデオ会議中に、コーディングされたビデオデータの双方向伝送を実行する端末デバイス(330)及び(340)の第2対を含む。データの双方向伝送のために、例において、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した端末デバイス(330)及び(340)のうちの他方の端末デバイスへの伝送のためにビデオデータ(例えば、その端末デバイスによって捕捉されるビデオピクチャのストリーム)をコーディングしてよい。端末デバイス(330)及び(340)の各端末デバイスはまた、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信されたコーディングされたビデオデータを受信してもよく、コーディングされたビデオデータを復号してビデオピクチャを回復してよく、回復されたビデオデータに従って、アクセス可能な表示デバイスでビデオピクチャを表示してよい。
【0039】
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして夫々表されているが、本開示の原理はそのように制限されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤー、及び/又は専用のビデオ会議装置により用途を見出す。ネットワーク(350)は、例えば、ワイヤライン(有線)及び/又はワイヤレス通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)の間でコーディングされたビデオデータを伝達する任意数のネットワークに相当する。通信ネットワーク(350)は、回路交換及び/又はパケット交換チャネルにおいてデータを交換してもよい。代表的なネットワークには、電気通信網、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットがある。本議論のために、ネットワーク(350)のアーキテクチャ及びトポロジは、以降で説明されない限りは本開示の動作に無関係であることができる。
【0040】
図4は、開示されている対象の応用例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダを表す。開示されている対象は、例えば、ビデオ会議と、デジタルTVと、ストリーミングサービスと、CD、DVD、メモリスティックなどを含むデジタル媒体上での圧縮されたビデオの記憶と、などを含む他のビデオ対応用途に同様に適用可能であることができる。
【0041】
ストリーミングシステムは、例えば、圧縮されていないビデオピクチャのストリーム(402)を生成するビデオソース(401)、例えば、デジタルカメラ、を含むことができる捕捉サブシステム(413)を含んでよい。例において、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されるサンプルを含む。ビデオピクチャのストリーム(402)は、符号化されたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較して高いデータボリュームを強調するために太線で表されており、ビデオソース(401)へ結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理され得る。ビデオエンコーダ(403)は、以下で更に詳細に記載されるように、開示されている対象の態様を可能にする又は実装するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム(404))は、ビデオピクチャのストリーム(402)と比較してより低いデータボリュームを強調するために細線で表されており、将来の使用のためにストリーミングサーバ(405)に記憶され得る。図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムは、符号化されたビデオデータ(404)のコピー(407)及び(409)を読み出すためにストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)において、ビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化されたビデオデータの入来するコピー(407)を復号し、ディスプレイ(412)(例えば、表示スクリーン)又は他のレンダリングデバイス(図示せず。)でレンダリングされ得るビデオピクチャの送出ストリーム(411)を生成する。いくつかのストリーミングシステムにおいて、符号化されたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従って符号化され得る。そのような規格の例には、ITU-T推奨H.265がある。例において、開発中のビデオコーディング規格は、Versatile Video Coding(VVC)として俗に知られている。開示されている対象は、VVCに関連して使用されてもよい。
【0042】
電子デバイス(420)及び(430)は、他のコンポーネント(図示せず。)を含むことができることが知られる。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず。)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず。)を同様に含むことができる。
【0043】
図5は、ビデオデコーダ(510)の例示的なブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例のビデオデコーダ(410)の代わりに使用できる。
【0044】
受信器(531)は、ビデオデコーダ(510)によって復号されるべき1つ以上のコーディングされたビデオシーケンスを受信してよい。実施形態において、一度に1つのコーディングされたビデオシーケンスが受信され、夫々のコーディングされたビデオシーケンスの復号化は、他のコーディングされたビデオシーケンスの復号化から独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信されてよく、チャネルは、符号化されたビデオデータを記憶している記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。受信器(531)は、符号化されたビデオデータを他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリームとともに受信してよく、それらは、それらの各々の使用エンティティ(図示せず。)へ転送されてよい。受信器(531)は、コーディングされたビデオシーケンスを他のデータから分離してよい。ネットワークジッタに対抗するために、バッファメモリ(515)が受信器(531)とエントロピデコーダ/パーサ(520)(以降「パーサ(520)」)との間に結合されてよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の部分である。他では、それは、ビデオデコーダ(510)の外にあることができる(図示せず。)。更に他では、例えば、ネットワークジッタに対抗するための、ビデオデコーダ(510)の外にあるバッファメモリ(図示せず。)と、加えて、例えば、再生タイミングを操作するための、ビデオデコーダ(510)内のもう1つのバッファメモリ(515)とが存在することができる。受信器(531)が十分なバンド幅及び可制御性の記憶/転送デバイスから、又はアイソシンクロナス(isosynchronous)ネットワークからデータを受信しているときに、バッファメモリ(515)は必要とされなくてもよく、あるいは、小さくてよい。インターネットなどのベストエフォートのパケットネットワークでの使用のために、バッファメモリ(515)は必要とされる場合があり、比較的に大きくかつ有利なことには適応サイズであることができ、ビデオデコーダ(510)の外のオペレーティングシステム又は同様の要素(図示せず。)に少なくとも部分的に実装され得る。
【0045】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含んでよい。それらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的に、電子デバイス(530)の必須部分でないが、図5に示されたように、電子デバイス(530)へ結合され得るレンダーデバイス(512)(例えば、表示スクリーン)などのレンダリングデバイスを制御するための情報とを含む。レンダリングデバイスのための制御情報は、Supplementary Enhancement Information(SEI)メッセージ又はVideo Usability Information(VUI)パラメータセットフラグメント(図示せず。)の形をとってよい。パーサ(520)は、受信されるコーディングされたビデオシーケンスをパース/エントロピ復号してよい。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存による又はよらない算術コーディング、などを含む様々な原理に従うことができる。パーサ(520)は、コーディングされたビデオシーケンスから、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータの組を、そのグループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)、などを含むことができる。パーサ(520)はまた、変換係数などのコーディングされたビデオシーケンス情報から、量子化パラメータ値、動きベクトル、なども抽出し得る。
【0046】
パーサ(520)は、シンボル(521)を生成するために、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピ復号化/パーシング動作を実行してよい。
【0047】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分(例えば、インター及びイントラピクチャ、インター及びイントラブロック)のタイプ及び他の因子に応じて多種多様なユニットを有することができる。どのユニットがどのように含まれるかは、コーディングされたビデオシーケンスからパーサ(520)によってパースされたサブグループ制御情報によって制御され得る。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明りょうさのために表されていない。
【0048】
既に述べられた機能ブロックを超えて、ビデオデコーダ(510)は、概念的に、以下で説明される多数の機能ユニットに細分され得る。商業上の制約の下で動作する実際の実施では、それらのユニットの多くが互いに密に相互作用し、少なくとも部分的に互いに組み込まれ得る。しかし、開示されている対象を説明することを目的として、以下での機能ユニットへの概念的細分は適切である。
【0049】
第1ユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からシンボル(521)として、量子化された変換係数とともに、使用するために変換するもの、ブロックサイズ、量子化係数、量子化スケーリングマトリクスなどを含む制御情報を受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)へ入力することができるサンプル値を含むブロックを出力することができる。
【0050】
いくつかの場合に、スケーラ/逆変換器(551)の出力サンプルは、イントラコーディングされたブロックに関係することができる。イントラコーディングされたブロックは、前に再構成されたピクチャからの予測情報を使用しておらず、現在ピクチャの前に再構成された部分からの予測情報を使用することができるブロックである。かような予測情報は、イントラピクチャ予測ユニット(552)によって供給され得る。いくつかの場合に、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。アグリゲータ(555)は、いくつかの場合に、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって供給される出力サンプル情報に加える。
【0051】
他の場合では、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、そして潜在的に動き補償されたブロックに関係することができる。かような場合に、動き補償予測ユニット(553)は、予測のために使用されるサンプルをフェッチするよう参照ピクチャメモリ(557)にアクセスすることができる。ブロックに関係するシンボル(521)に従って、フェッチされたサンプルを動き補償した後に、それらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合に、残差サンプル又は残差信号と呼ばれる。)に加えられ得る。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y及び参照ピクチャコンポーネントを有することができるシンボル(521)の形で動き補償予測ユニット(553)が利用することができる動きベクトルによって制御され得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるサンプル値の補間や、動きベクトル予測メカニズムなどを含むことができる。
【0052】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、インループフィルタ技術を含むことができる。この技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる。)に含まれており、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされたパラメータによって制御される。ビデオ圧縮は、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号化順において)前の部分の復号化中に得られたメタ情報にも応答することができ、更には、前に構成されたループフィルタ処理されたサンプル値に応答することができる。
【0053】
ループフィルタユニット(556)の出力は、レンダーデバイス(512)へ出力され、更には、将来のインターピクチャ予測における使用のために参照ピクチャメモリ(557)に記憶され得るサンプルストリームであることができる。
【0054】
特定のコーディングされたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用され得る。例えば、現在ピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の部分になることができ、未使用の現在ピクチャバッファが、後続のコーディングされたピクチャの再構成を開始する前に再割り当てられ得る。
【0055】
ビデオデコーダ(510)は、ITU-T推奨H.265などの規格における所定のビデオ圧縮技術に従って復号化動作を実行してよい。コーディングされたビデオシーケンスは、そのコーディングされたビデオシーケンスが、ビデオ圧縮技術又は規格のシンタックス及びビデオ圧縮技術又は規格において文書化されているプロファイルの両方に従うという意味で、使用中のビデオ圧縮技術又は規格によって規定されたシンタックスに従い得る。具体的には、プロファイルは、ビデオ圧縮技術又は規格で利用可能な全てのツールからそのプロファイルの下での使用のために利用可能な唯一のツールとして特定のツールを選択することができる。また、コーディングされたビデオシーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって定義された境界内にあることが、順守のために必要である。いくつかの場合に、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、メガサンプル/秒で測定される。)、最大参照ピクチャサイズ、などを制限する。レベルによって設定される制限は、いくつかの場合に、Hypothetical Reference Decoder(HRD)仕様と、コーディングされたビデオシーケンスにおいて通知されるHRDバッファ管理のためのメタデータとを通じて更に制限され得る。
【0056】
実施形態において、受信器(531)は、符号化されたビデオとともに、追加の(冗長な)データを受信してもよい。追加のデータは、コーディングされたビデオシーケンスの部分としても含まれてもよい。追加のデータは、ビデオデコーダ(510)によって、データを適切に復号するために及び/又は原ビデオデータをより正確に再構成するために使用されてよい。追加のデータは、例えば、時間、空間、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、などの形をとることができる。
【0057】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれている。電子デバイス(620)は、送信器(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例のビデオエンコーダ(403)の代わりに使用され得る。
【0058】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべきビデオ画像を捕捉し得るビデオソース(601)(図6の例では電子デバイス(620)の部分ではない。)からビデオサンプルを受信してよい。他の例では、ビデオソース(601)は、電子デバイス(620)の部分である。
【0059】
ビデオソース(601)は、任意の適切なビットデプス(例えば、8ビット、10ビット、12ビットなど)、任意の色空間(例えば、BT.601 YCrCB、RGBなど)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形で、ビデオエンコーダ(603)によってコーディングされるべきソースビデオシーケンスを供給してよい。メディアサービングシステムでは、ビデオソース(601)は、前に準備されたビデオを記憶している記憶デバイスであってよい。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってよい。ビデオデータは、順に見られる場合に動きを授ける複数の個別ピクチャとして供給されてもよい。ピクチャ自体は、ピクセルの空間アレイとして編成されてよく、各ピクセルは、使用中のサンプリング構造、色空間、などに依存する1つ以上のサンプルを有することができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。本明細書は、以下、サンプルに焦点を当てる。
【0060】
実施形態に従って、ビデオエンコーダ(603)は、実時間において又は必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャを、コーディングされたビデオシーケンス(643)へとコーディング及び圧縮してよい。適切なコーディング速度を強いることは、コントローラ(650)の一機能である。いくつかの実施形態において、コントローラ(650)は、以下で記載されるような他の機能ユニットを制御し、それらのユニットへ機能的に結合される。結合は明りょうさのために表されていない。コントローラ(650)によってセットされるパラメータには、レート制御に関連したパラメータ(ピクチャスキップ、量子化器、レートひずみ最適化技術のラムダ値、など)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲、などが含まれ得る。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関係する他の適切な機能を有するよう構成され得る。
【0061】
いくつかの実施形態において、ビデオエンコーダ(603)は、コーディングループで動作するよう構成される。過度に単純化された記載として、例において、コーディングループは、ソースコーダ(630)(例えば、コーディングされるべき入力ピクチャと、参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することに関与する。)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(遠隔の)デコーダも生成することになるのと同様の方法でサンプルデータを生成するようにシンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(634)へ入力される。シンボルストリームの復号化は、デコーダの場所(ローカル又は遠隔)に依存しないビットパーフェクト(bit-exact)な結果をもたらすので、参照ピクチャメモリ(634)内のコンテンツも、ローカルのエンコーダと遠隔のエンコーダとの間でビットパーフェクトである。すなわち、エンコーダの予測部分は、デコーダが復号化中に予測を使用するときに“見る”ことになるのとまさに同じサンプル値を参照ピクチャサンプルとして“見る”。参照ピクチャのシンクロニシティ(及び、例えば、チャネルエラーのために、シンクロニシティが維持され得ない場合に、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用されている。
【0062】
“ローカル”のデコーダ(633)の動作は、図5とともに先に詳細に既に説明されている、ビデオデコーダ(510)などの“遠隔”のデコーダと同じであることができる。一時的に図5も参照すると、しかしながら、シンボルが利用可能であり、エントロピコーダ(645)及びパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号化が可逆であることができるということで、バッファメモリ(515)及びパーサ(520)を含むビデオデコーダ(510)のエントロピ復号化部分は、ローカルのデコーダ(633)において完全には実装されなくてもよい。
【0063】
実施形態において、デコーダに存在するパーシング/エントロピ復号化を除くデコーダ技術は、対応するエンコーダにおいて、同じか又は実質的に同じ機能形態で存在する。従って、開示されている対象は、デコーダの動作に焦点を当てる。エンコーダ技術の説明は、それらが、包括的に記載されるデコーダ技術の逆であるということで、省略され得る。特定の範囲において、より詳細な説明が以下で与えられている。
【0064】
動作中、いくつかの例において、ソースコーダ(630)は、動き補償された予測コーディングを実行してよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前にコーディングされたピクチャを参照して予測的に入力ピクチャをコーディングする。このようにして、コーディングエンジン(632)は、入力ピクチャに対する予測参照として選択され得る参照ピクチャのピクセルブロックと入力ピクチャのピクセルブロックとの間の差をコーディングする。
【0065】
ローカルのビデオデコーダ(633)は、ソースコーダ(630)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号してよい。コーディングエンジン(632)の動作は、有利なことに、不可逆プロセスであってよい。コーディングされたビデオデータがビデオデコーダ(図6には図示せず。)で復号され得るとき、再構成されたビデオシーケンスは、通常は、いくらかのエラーを伴ったソースビデオシーケンスの複製であり得る。ローカルのビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得る復号化プロセスを再現し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に格納されるようにしてよい。このように、ビデオエンコーダ(603)は、(伝送エラーなしで)遠端のビデオデコーダによって取得されることになる再構成された参照ピクチャと共通の内容を有している再構成された参照ピクチャのコピーをローカルで記憶し得る。
【0066】
予測器(635)は、コーディングエンジン(632)のための予測探索を実行してよい。すなわち、新しいピクチャがコーディングされるために、予測器(635)は、その新しいピクチャのための適切な予測基準となり得る参照ピクチャ動きベクトル、ブロック形状、などの特定のメタデータ又は(候補参照ピクセルブロックとしての)サンプルデータを参照ピクチャメモリ(634)から探してよい。予測器(635)は、適切な予測基準を見つけるためにサンプルブロック・バイ・ピクセルブロックベース(sample block-by-pixel block basis)で動作してよい。いくつかの場合に、予測器(635)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶されている複数の参照ピクチャから引き出された予測基準を有してよい。
【0067】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(630)のコーディング動作を管理してよい。
【0068】
上記の全ての機能ユニットの出力は、エントロピコーダ(645)においてエントロピコーディングを受けてよい。エントロピコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルに可逆圧縮を適用することによって、様々な機能ユニットによって生成されたシンボルを、コーディングされたビデオシーケンスへと変換する。
【0069】
送信器(640)は、エントロピコーダ(645)によって生成されたコーディングされたビデオシーケンスを、通信チャネル(660)を介した伝送のために準備するようにバッファリングしてよい。通信チャネル(660)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってよい。送信器(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助的なデータストリーム(ソースは図示せず)とマージしてもよい。
【0070】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してよい。コーディング中、コントローラ(650)は、各々のピクチャに適用され得るコーディング技術に影響を及ぼす可能性がある特定のコーディングされたピクチャタイプを夫々のコーディングされたピクチャに割り当ててよい。例えば、ピクチャはしばしば、次のピクチャタイプのうちの1つとして割り当てられてよい。
【0071】
イントラピクチャ(Intra Picture)(Iピクチャ)は、予測のソースとしてシーケンス内の如何なる他のピクチャも使用せずにコーディング及び復号され得るピクチャであってよい。いくつかのビデオコーデックは、例えば、独立したデコーダリフレッシュ(Independent Decoder Refresh,IDR)ピクチャを含む種々のタイプのイントラピクチャを許容する。当業者であれば、Iピクチャのそのような変形並びにそれらの各々の応用及び特徴に気づく。
【0072】
予測ピクチャ(Predictive Picture)(Pピクチャ)は、各ブロックのサンプル値を予測するために多くても1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測によりコーディング及び復号され得るピクチャであってよい。
【0073】
双方向予測ピクチャ(Bi-directionally Predictive Picture)(Bピクチャ)は、各ブロックのサンプル値を予測するために多くても2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測によりコーディング及び復号され得るピクチャであってよい。同様に、多重予測ピクチャ(multiple-predictive picture(s))は、単一のブロックの再構成のために2つよりも多い参照ピクチャ及び関連するメタデータを使用することができる。
【0074】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、夫々、4×4、8×8、4×8、又は16×16のサンプルのブロック)に空間的に細分され、ブロックごとにコーディングされてよい。ブロックは、ブロックの各々のピクチャに適用されているコーディング割り当てによって決定される他の(既にコーディングされた)ブロックを参照して予測的にコーディングされてよい。例えば、Iピクチャのブロックは、非予測的にコーディングされてよく、あるいは、それらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前にコーディングされた参照ピクチャを参照して空間予測により又は時間予測により、予測的にコーディングされてよい。Bピクチャのブロックは、1つ又は2つの前にコーディングされた参照ピクチャを参照して空間予測により又は時間予測により、予測的にコーディングされてよい。
【0075】
ビデオエンコーダ(603)は、ITU-T推奨H.265のような所定のビデオコーディング技術又は規格に従ってコーディング動作を実行してよい。その動作中に、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間及び空間冗長性を利用する予測コーディング動作を含む様々な圧縮動作を実行してよい。従って、コーディングされたビデオデータは、使用されているビデオコーディング技術又は規格によって定められているシンタックスに従い得る。
【0076】
実施形態において、送信器(640)は、符号化されたビデオとともに追加のデータを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの部分としてそのようなデータを含めてよい。追加のデータは、時間/空間/SNRエンハンスメントレイヤ、冗長ピクチャ及びスライスなどの他の形式の冗長データ、SEIメッセージ又はVUIパラメータセットフラグメント、などを有してよい。
【0077】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として捕捉されてよい。イントラピクチャ予測(しばしばイントラ予測と省略される。)は、所与のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間又は他の)相関を利用する。例において、現在ピクチャと呼ばれる、符号化/復号化中の特定のピクチャは、ブロックにパーティション化される。現在ピクチャ内のあるブロックが、ビデオ内の前にコーディングされた依然としてバッファリングされている参照ピクチャ内の参照ブロックと類似している場合に、現在ピクチャ内のそのブロックは、動きベクトルと呼ばれるベクトルによってコーディングされ得る。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合には、参照ピクチャを識別する第3の次元を有することができる。
【0078】
いくつかの実施形態において、双予測技術がインターピクチャ予測において使用され得る。双予測技術に従って、2つの参照ピクチャ、例えば、ビデオ内で現在ピクチャに対して復号化順において両方とも先行する(しかし、表示順序では、夫々、過去及び将来にあってよい。)第1参照ピクチャ及び第2参照ピクチャが、使用される。現在ピクチャ内のあるブロックは、第1参照ピクチャ内の第1参照ブロックを指し示す第1動きベクトルと、第2参照ピクチャ内の第2参照ブロックを指し示す第2動きベクトルとによって、コーディングされ得る。そのブロックは、第1参照ブロック及び第2参照ブロックの組み合わせによって予測可能である。
【0079】
更に、マージモード技術が、コーディング効率を改善するためにインターピクチャ予測において使用され得る。
【0080】
本開示のいくつかの実施形態に従って、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロックのユニットにおいて実行される。例えば、HEVC規格に従って、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)にパーティション化され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルといった同じサイズを有する。一般に、CTUは、1つのルーマCTB及び2つのクロマCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つ又は複数のコーディングユニット(CU)に再帰的に四分木分割され得る。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCU、又は16×16ピクセルの16個のCUに分割可能である。例において、各CUは、インター予測タイプ又はイントラ予測タイプなどのCUのための予測タイプを決定するよう解析される。CUは、時間及び/又は空間予測可能性に応じて1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つのルーマ予測ブロック(PB)及び2つのクロマPBを含む。実施形態において、コーディング(符号化/復号化)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルーマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのような、ピクセルの値(例えば、ルーマ値)の行列を含む。
【0081】
図7は、ビデオエンコーダ(703)の例示的な図を示す。ビデオエンコーダ(703)は、ビデオピクチャの連続に含まれる現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受け取り、コーディングされたビデオシーケンスの部分であるコーディングされたピクチャへと処理ブロックを符号化するよう構成される。例において、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
【0082】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどのような処理ブロックのサンプル値の行列を受け取る。ビデオエンコーダ(703)は、例えば、レートひずみ最適化を用いて、処理ブロックがイントラモード、インターモード、又は双予測モードにより最も良くコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされるべきである場合には、ビデオエンコーダ(703)は、コーディングされたピクチャへと処理ブロックを符号化するようイントラ予測技術を使用してよく、処理ブロックがインターモード又は双予測モードでコーディングされるべきである場合には、ビデオエンコーダ(703)は、コーディングされたピクチャへと処理ブロックを符号化するようインター予測又は双予測技術を夫々使用してよい。特定のビデオコーディング技術において、マージモードは、予測子の外にあるコーディングされた動きベクトル成分の恩恵を受けずに1つ以上の動きベクトル予測子から動きベクトルが導出されるインターピクチャ予測サブモードであることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在することがある。例において、ビデオエンコーダ(703)は、処理ブロックのモードを決定するモード決定モジュール(図示せず。)などの他のコンポーネントを含む。
【0083】
図7の例では、ビデオエンコーダ(703)は、図7に示されるように結合されているインターエンコーダ(730)、イントラエンコーダ(722)、残差計算部(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、及びエントロピエンコーダ(725)を含む。
【0084】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受け取り、そのブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術に従う残差情報の記述、動きベクトル、マージモード情報)を生成し、何らかの適切な技術を用いてインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するよう構成される。いくつかの例において、参照ピクチャは、符号化されたビデオ情報に基づいて復号されている復号された参照ピクチャである。
【0085】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受け取り、いくつかの場合には、同じピクチャ内で既にコーディングされたブロックとそのブロックを比較し、変換後の量子化された係数を、更には、いくつかの場合には、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従うイントラ予測方向情報)も生成するよう構成される。例において、イントラエンコーダ(722)はまた、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)を計算する。
【0086】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するよう構成される。例において、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいて制御信号をスイッチ(726)へ供給する。例えば、モードがイントラモードである場合には、汎用コントローラ(721)は、残差計算部(723)による使用のためにイントラモード結果を選択するようスイッチ(726)を制御し、そして、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようエントロピエンコーダ(725)を制御する。モードがインターモードである場合には、汎用コントローラ(721)は、残差計算部(723)による使用のためにインター予測結果を選択するようスイッチ(726)を制御し、そして、インター予測情報を選択し、インター予測情報をビットストリームに含めるようエントロピエンコーダ(725)を制御する。
【0087】
残差計算部(723)は、受け取られたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するよう構成される。残差エンコーダ(724)は、変換係数を生成するよう残差データを符号化するように残差データに基づいて動作するよう構成される。例において、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するよう構成される。次いで、変換係数は、量子化された変換係数を取得するよう量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(703)はまた、残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するよう構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって適切に使用され得る。例えば、インターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するよう適切に処理され、復号されたピクチャは、メモリ回路(図示せず。)にバッファリングされ、いくつかの例では参照ピクチャとして使用され得る。
【0088】
エントロピエンコーダ(725)は、符号化されたブロックを含めるようにビットストリームをフォーマット化するよう構成される。エントロピエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含めるよう構成される。例において、エントロピエンコーダ(725)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の適切な情報をビットストリームに含めるよう構成される。開示されている対象に従って、インターモード又は双予測モードのどちらか一方のマージサブモードでブロックをコーディングする場合に、残差情報は存在しない点に留意されたい。
【0089】
図8は、ビデオデコーダ(810)の例示的な図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの部分であるコーディングされたピクチャを受け取り、コーディングされたピクチャを復号して、再構成されたピクチャを生成するよう構成される。例において、ビデオデコーダ(810)は、図4の例のビデオデコーダ(410)の代わりに使用される。
【0090】
図8の例では、ビデオデコーダ(810)は、図8に示されるように結合されているエントロピデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含む。
【0091】
エントロピデコーダ(871)は、コーディングされたピクチャから、シンタックス要素を表す特定のシンボルを再構成するよう構成され得、それらから、コーディングされたピクチャは構成されている。かようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、又はマージサブモード若しくは他のサブモードにおけるインターモード若しくは双予測モード)、イントラデコーダ(872)又はインターデコーダ(880)による予測のために夫々使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報)を含むことができる。シンボルはまた、例えば、量子化された変換係数などの形をとる残差情報を含むこともできる。例において、予測モードがインター又は双予測モードである場合には、インター予測情報がインターデコーダ(880)へ供給され、予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(872)へ供給される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)へ供給される。
【0092】
インターデコーダ(880)は、インター予測情報を受け取り、インター予測情報に基づいてインター予測結果を生成するよう構成される。
【0093】
イントラデコーダ(872)は、イントラ予測情報を受け取り、イントラ予測情報に基づいて予測結果を生成するよう構成される。
【0094】
残差デコーダ(873)は、逆量子化された変換係数を取り出すように逆量子化を実行し、逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するよう構成される。残差デコーダ(873)はまた、(量子化パラメータ(QP)を含めるための)特定の制御情報を要求してもよく、その情報は、エントロピデコーダ(871)によって供給されてよい(これは低容量の制御情報のみであるということで、データパスは示されない。)。
【0095】
再構成モジュール(874)は、残差デコーダ(873)によって出力された残差情報と、(場合によっては、インター又はイントラ予測モジュールによって出力された)予測結果とを空間領域において組み合わせて、再構成されたブロックを形成するよう構成される。再構成されたブロックは、再構成されたピクチャの部分であってよく、次いで、再構成されたピクチャは、再構成されたビデオの部分であってよい。デブロッキング動作などのような他の適切な動作が、視覚品質を改善するために実行され得ることが知られる。
【0096】
ビデオエンコーダ(403)、(603)及び(703)並びにビデオデコーダ(410)、(510)及び(810)は、如何なる適切な技術によっても実装可能であることが知られる。実施形態において、ビデオエンコーダ(403)、(603)及び(703)並びにビデオデコーダ(410)、(510)及び(810)は、1つ以上の集積回路を用いて実装可能である。他の実施形態では、ビデオエンコーダ(403)、(603)及び(703)並びにビデオデコーダ(410)、(510)及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装可能である。
【0097】
イントラ予測又はイントラ予測モードでは、コーディングブロックのサンプル値は、既に再構成された又は再構成されている隣接サンプル(参照サンプルと呼ばれる)である隣接サンプルから予測できる。
【0098】
イントラ予測の例は、指向性イントラ予測である。指向性イントラ予測では、現在ブロック内のサンプル(例えば、現在サンプル)が、参照サンプル(例えば、予測サンプル)又は保管された参照サンプルを用いて予測できる。例えば、現在サンプルと予測サンプルとの間の接続されたリンクは、角度モードで使用されるような所与の角度方向を形成する。
【0099】
イントラ予測の他の例では、サンプル補間に基づくプレーナーモードが使用される。プレーナーモードでは、現在ブロック内又はその周りの1つ以上のキーポジションが、隣接ル参照サンプルを用いて予測できる。現在ブロック内の他のポジションは、1つ以上のキーポジションにあるサンプルと参照サンプルとの線形結合として予測できる。重み(結合重み)は、現在ブロック内の現在サンプルの位置に従って決定されてよい。
【0100】
例えばVVCなどで見られるような、プレーナーモードの一例は、次のように計算される。
【数1】
【0101】
図9を参照すると、現在ブロック(900)は、現在ブロック(900)内のポジション(0,0)から(H-1,W-1)にあるサンプルを含む。W及びHは夫々、現在ブロック(900)の幅及び高さである。現在ブロック(900)内のポジション(x,y)(x=0,1,・・・又はW-1、及びy=0,1,・・・又はH-1)にある現在サンプルの予測サンプル値pred[x][y]は、式1~3に示されるように、参照サンプル値(例えば、ポジション(-1,y)、(x,-1)、(-1,H)及び(W,-1)に夫々位置している参照サンプルのp[-1][y]、p[x][-1]、p[-1][H]及びp[w][-1])の加重平均として求めることができる。参照サンプルは、現在サンプルと同じ行にあるポジション(-1,y)に位置している参照サンプルと、現在サンプルと同じ列にあるポジション(x,-1)の参照サンプルと、現在ブロックに対して左下ポジション(-1,H)の参照サンプルと、現在ブロックに対して右上ポジション(W,-1)の参照サンプルとを含むことができる。
【0102】
上述されたように、参照サンプルの参照サンプル値は、ポジション(-1,y)に位置している参照サンプルのp[-1][y]、ポジション(x,-1)に位置している参照サンプルp[x][-1]、左下ポジション(-1,H)に位置している参照サンプルのp[-1][H]、及び右上ポジション(W,-1)に位置している参照サンプルの[W][-1]を含むことができる。式1に示される例では、垂直予測子predV[x][y]が、ポジション(x,-1)及び(-1,H)に位置している参照サンプルに基づいて決定される。式2に示される例では、水平予測子predH[x][y]が、ポジション(-1,y)及び(W,1)に位置している参照サンプルに基づいて決定される。式3では、予測サンプル値pred[x][y]が、水平予測子predH[x][y]及び垂直予測子predV[x][y]の平均(例えば、加重平均)に基づいて決定される。
【0103】
クロスコンポーネント線形モデル予測(CCLM)モードは、クロスコンポーネント予測法である。CCLMにおいて、クロマサンプルは、線形モデルを用いて、再構成されたルーマサンプルに基づいて予測できる。線形モデルは、現在ブロック(例えば、コーディングされるべきクロマブロック)の隣接している既に再構成されたサンプルによって形成され得る。いくつかの実施形態において、予測性能は、ルーマチャネル及びクロマチャネルの線形相関が高い場合に高い。
【0104】
実施形態において、クロマブロック(例えば、現在Cbブロック又は現在Crブロック)は、コロケートしているルーマブロックに基づいて予測される。クロマブロックの予測ブロックpred_Cは、次のように導出できる:
【数2】
このとき、クロマブロックの予測ブロックpred_C内のサンプルpred_C(x,y)は、既に再構成されているコロケートしているルーマブロック内のサンプルに基づいて決定され得る。
【0105】
pred_C(x,y)は、(例えば、現在ピクチャのクロマチャネル又はクロマピクチャ内の)クロマブロックのサンプル位置(x,y)にある予測されたクロマサンプルを表す。Rec_L’(x,y)は、既に再構成されている(例えば、現在ピクチャのルーマチャネル又はルーマピクチャ内の)コロケートしているルーマブロック内の再構成されたサンプルから決定され得る。Rec_L’(x,y)は、コロケートしているルーマブロック内の再構成されたルーマサンプル又はコロケートしているルーマブロックのダウンサンプリングされたルーマサンプルを表すことができる。
【0106】
例において、Rec_L’は、例えば、カラーフォーマットが4:4:4であり、クロマブロックのサイズがコロケートしているルーマブロックのサイズと同じであるときに、既に再構成されているコロケートしているルーマブロックである。よって、Rec_L’(x,y)は、再構成されたサンプルがクロマブロックのサンプル位置(x,y)に対応するコロケートしているルーマブロック内の再構成されたサンプルを表すことができる。
【0107】
例において、Rec_L’は、既に再構成されているコロケートしているルーマブロックとは異なる。現在クロマブロックは、コロケートしているルーマブロックとコロケートし、ルーマチャネル及びクロマチャネルは異なる分解能を有している。例において、カラーフォーマットが4:2:0であるとき、ルーマブロックの分解能は、垂直方向及び水平方向の両方でクロマブロックの分解能の2倍である。従って、カラーフォーマットが4:2:0であるとき、Rec_L’は、線形モデルの導出中にクロマブロックサイズと一致するよう、対応するルーマブロックのダウンサンプリングされたブロックであることができる。いくつかの実施形態において、コロケートしているルーマブロックは、カラーフォーマットが4:4:4であるときにダウンサンプリングされる。
【0108】
式4のパラメータ(例えば、モデルパラメータ)a及びbは、式4に示される線形モデルにおける勾配及びオフセットを表すことができ、夫々、勾配パラメータ及びオフセットパラメータと呼ばれ得る。式4のパラメータa及びbは、(i)クロマチャネル内の現在クロマブロック及び(ii)ルーマチャネル内のコロケートしているルーマブロックの周りの再構成された隣接サンプル(例えば、クロマサンプル及びルーマサンプル)から導出され得る。パラメータa及びbは、任意の適切な方法により決定され得る。
【0109】
例において、パラメータa及びbは、古典的な線形回帰理論により決定される。(i)再構成された隣接ルーマサンプル又は再構成された隣接ルーマサンプルのダウンサンプリングされたサンプルと(ii)再構成された隣接クロマサンプルとの間の最小の線形最小二乗解が、以下でパラメータa及びbを導出するために適用され得る。
【数3】
【0110】
式5及び式6で、N個の再構成された隣接クロマサンプルRec_C(i)及びN個の対応するルーマサンプルRec_L’(i)が使用される。例において、例えば、カラーフォーマットが4:4:4であるとき、N個の対応するルーマサンプルRec_L’(i)は、ルーマブロックのN個の再構成された隣接ルーマサンプルを含む。例において、例えば、カラーフォーマットが4:2:0であるとき、N個の対応するルーマサンプルRec_L’(i)は、ルーマブロックの再構成された隣接ルーマサンプルのN個のダウンサンプリングされたサンプルを含む。iは、1からNまでの整数であることができる。
【0111】
パラメータa及びbを決定するために使用されるN個の再構成された隣接クロマサンプルは、クロマブロックの任意の適切な、既に再構成された隣接サンプルを含むことができる。パラメータa及びbを決定するために使用される再構成された隣接ルーマサンプルは、コロケートしているルーマブロックの任意の適切な、既に再構成された隣接サンプルを含むことができる。
【0112】
CCLMモードの予測プロセスは、(1)コロケートしているルーマブロック及びコロケートしているルーマブロックの再構成された隣接ルーマサンプルをダウンサンプリングして、Rec_L’及びダウンサンプリングされた隣接ルーマサンプルを取得し、そのようにして、対応するクロマブロックのサイズに適合させるステップと、(2)例えば式5及び式6を用いて、ダウンサンプリングされた隣接ルーマサンプル及び再構成された隣接クロマサンプルに基づいてパラメータa及びbを導出するステップと、(3)CCLMモデル(例えば、式4)を適用してクロマ予測ブロックPred_Cを生成するステップとを含むことができる。いくつかの例において、ステップ(1)は、コロケートしているルーマブロック及びクロマブロックの空間分解能が同じであるときには省略され、ステップ(2)は、再構成された隣接ルーマサンプルに基づく。
【0113】
図10は、CCLM導出で使用される再構成された隣接ルーマサンプル及び再構成された隣接クロマサンプルの例を示す。クロマブロック(1000)は再構成中である。クロマブロック(1000)の幅及び高さは夫々、M(例えば、8)及びN(例えば、4)である。N及びMは正の整数であることができる。クロマブロック(1000)とコロケートしているルーマブロック(例えば、コロケートしているルーマブロック)(1001)は、クロマブロック(1000)を予測するために使用される。ルーマブロック(1001)はルーマサンプル(1040)を含む。ルーマブロック(1001)は、任意の適切な幅及び任意の適切な高さを有することができる。図10に示される例では、ルーマブロック(1001)の幅及び高さは夫々、2M(例えば、16)及び2N(例えば、8)である。
【0114】
クロマブロック(1000)の隣接クロマサンプル(1010)(例えば、陰影付き)は既に再構成されている。ルーマブロック(1001)の隣接ルーマサンプル(1020)は既に再構成されている。隣接クロマサンプル(1010)は、上隣接クロマサンプル(1011)及び左隣接クロマサンプル(1012)を含むことができる。ルーマブロック(1001)の隣接ルーマサンプル(1020)は、上隣接ルーマサンプル(1021)及び左隣接ルーマサンプル(1022)を含むことができる。
【0115】
図10の例では、隣接ルーマサンプル(1020)は、隣接クロマサンプルの数(例えば、12)と一致するように、ダウンサンプリングされた隣接ルーマサンプル(1030)(例えば、陰影付き)を生成するようサブサンプリング又はダウンサンプリングされる。図10に示される例では、隣接クロマサンプル(1010)及びダウンサンプリングされた隣接ルーマサンプル(1030)は、例えば式5及び式6に示されるように、パラメータa及びbを決定するために使用され得る。
【0116】
例において、クロマブロック(1000)の隣接クロマサンプルは、上隣接クロマサンプル(1011)のみを含み、左隣接クロマサンプル(1012)を含まない。それに応じて、ルーマブロック(1001)の隣接ルーマサンプルは、上隣接ルーマサンプル(1021)のみを含み、左隣接ルーマサンプル(1022)を含まない。上述されたように、上隣接ルーマサンプル(1021)は、上隣接クロマサンプル(1011)の数(例えば、8)と一致するように、ダウンサンプリングされ得る(例えば、ダウンサンプリングされたルーマサンプルは陰影付きである。)。
【0117】
例において、クロマブロック(1000)の隣接クロマサンプルは、左隣接クロマサンプル(1012)のみを含み、上隣接クロマサンプル(1011)を含まない。それに応じて、ルーマブロック(1001)の隣接ルーマサンプルは、左隣接ルーマサンプル(1022)のみを含み、上隣接ルーマサンプル(1021)を含まない。上述されたように、左隣接ルーマサンプル(1022)は、左隣接クロマサンプル(1012)の数(例えば、4)と一致するように、ダウンサンプリングされ得る(例えば、ダウンサンプリングされたルーマサンプルは陰影付きである。)。
【0118】
いくつかの例において、クロマブロック(1000)の隣接する再構成ブロック内のクロマサンプルと、ルーマブロック(1001)の隣接する再構成ブロック内の対応するルーマサンプルとは、パラメータa及びbを決定するために使用され得る。
【0119】
クロマブロック(1000)は、Cbチャネル内のCbブロック及びCrチャネル内のCrブロックであることができる。例において、クロマチャネル(例えば、Cr又はCb)ごとに、パラメータa及びbは別々に決定できる。例えば、Crブロックのパラメータa及びbは、Crブロックのクロマ再構成隣接サンプルに基づいて決定され、Cbブロックのパラメータa及びbは、Cbブロックのクロマ再構成隣接サンプルに基づいて決定される。
【0120】
図10は、長方形形状を有するクロマブロック(1000)の場合にCCLM導出に使用される再構成隣接ルーマサンプル及び再構成隣接クロマサンプルの例を示す。図10の例は、正方形形状などの任意の形状を有するクロマブロック及びコロケートしているルーマブロックに適応可能である。図11は、クロマブロック(1100)のCCLM導出に使用される再構成隣接ルーマサンプル(1120)及び再構成隣接クロマサンプル(1110)の例を示す。クロマブロック(1100)の幅及び高さは夫々、W1(例えば、8)及びH1(例えば、8)であり、W1はH1に等しい。クロマブロック(1100)とコロケートしているルーマブロック(例えば、コロケートしているルーマブロック)(1101)は、クロマブロック(1100)を予測するために使用される。ルーマブロックの幅及び高さは夫々、2W1(例えば、16)及び2H1(例えば、16)である。
【0121】
いくつかの実施形態において、線形モデルパラメータa及びbを生成するために使用される参照サンプルは、ノイズが多く、及び/又は実際の予測ブロック内の内容をあまり代表していない。よって、予測は、コーディング効率に関して次善である可能性がある。従って、例えば、クロマサンプル予測のためのよりコンテンツに適応した線形モデルを開発することが有利であり得る。
【0122】
本開示は、イメージ及びビデオ圧縮におけるクロスコンポーネント予測のための適応パラメータ選択について記載する。実施形態において、CCLM予測で使用される勾配パラメータ及び/又はオフセットパラメータ(例えば、パラメータa及び/又はパラメータb)は、適応的に調整され、よって、線形モデルは、クロマサンプル予測にとってよりコンテンツ適応的であることができる。例えば、線形モデル(例えば、パラメータa及び/又はパラメータb)は、コロケートしているルーマブロックの内容により適応している。例において、クロマブロックの内容は、コロケートしているルーマブロックの内容に関係しているので、CCLM予測は、クロマブロックの内容に適応することができる。
【0123】
勾配パラメータ及び/又はオフセットパラメータに対する調整は、コロケートしているルーマブロック内のルーマサンプル値の特性に従ってクロマサンプル値がルーマサンプル値からマッピングされ得るように、ルーマサンプル値をクロマサンプル値にマッピングする線形モデル(例えば、式4)を変更することができる。
【0124】
上述されたように、CCLMモードでは、2つのパラメータ(例えば、式4のパラメータa及びb)を伴うモデルが、ルーマ値をクロマ値にマッピングするために使用される。勾配パラメータa及びオフセットパラメータbが式4では使用される。パラメータa及びb(例えば、勾配パラメータ及びオフセットパラメータ)の調整は、式4の線形モデルを式7の更新された線形モデルに更新するために用いることができる。
【数4】
【0125】
式7において、更新された勾配パラメータa’は、勾配パラメータaの関数、例えば、a’=f1(a)であり、更新されたオフセットパラメータb’は、オフセットパラメータの関数、例えば、b’=f2(b)である。パラメータa及びbに対する調整は、局所サンプル情報、例えば、コロケートしているルーマブロックの局所ルーマ再構成サンプル情報に基づくことができる。
【0126】
図12A及び図12Bは、CCLMで使用されるパラメータ調整の例を示す。図12Aは、式4によるCCLMを示す。予測されたクロマサンプル値(例えば、CbブロックのCb又はCrブロックのCr)は、対応するルーマ値(例えば、Y)と式4に対応する線形関係(1201)を有し、線形関係(1201)の勾配は、勾配パラメータaであり、線形関係(1201)のオフセットは、オフセットパラメータbである。図12Bは、式4及び式7に夫々対応する2つの線形関係(1201)及び(1202)を示す。式7に対応する線形関係(1202)では、予測されたクロマサンプル値(例えば、CbブロックのCb又はCrブロックのCr)は、対応するルーマ値(例えば、Y)と線形関係1202を有し、勾配は、更新された勾配パラメータa’であり、オフセットは、更新されたオフセットパラメータb’である。
【0127】
図12Bに示される例では、更新された勾配パラメータa’は、勾配パラメータaの線形関係であり、a’は(a+u)である。勾配パラメータaを調整するために使用される調整パラメータuは、勾配調整パラメータ“u”と呼ばれ得る。更新されたオフセットパラメータb’は、オフセットパラメータbの線形関数であることができる。例において、b’=b-u×yである。オフセットパラメータbを調整するために使用される調整パラメータyは、オフセット調整パラメータ“y”と呼ばれ得る。図12Bを参照すると、調整(例えば、a’=a+u及びb’=b-u×y)により、線形関係(1201)(例えば、式4で使用されるマッピング関数)は、線形関係(1202)を生成するよう点(1203)の周りで回転されるか又は傾けられる。例において、調整パラメータyは、線形関係(1201)及び(1202)が交差する点(1203)での輝度値(例えば、yであるY)を表す。
【0128】
例において、勾配パラメータ及びオフセットパラメータは調整される。例において、勾配パラメータ及びオフセットパラメータのうちの一方が調整される。いくつかの例において、調整パラメータu及びyは決定又は導出される。いくつかの例において、調整パラメータu及びyの一方が決定される。
【0129】
a’(例えば、a’=a+u)及びb’(例えば、b’=b-u×y)の調整式において、調整パラメータuはシグナリング又は導出され得る。調整パラメータuの値は、正又は負のどちらかであることができる。b’=b-u×yなどでオフセットパラメータbを調整するために使用される調整パラメータyは、コロケートしているルーマブロックに基づいて決定され得る。例えば、調整パラメータyは、コロケートしているルーマブロック内の各々の参照ルーマサンプルの選択された値に基づいて決定される。
【0130】
CCLMで、式7は、コロケートしているルーマブロック(例えば、ルーマブロック(1001))に基づいてクロマブロック(例えば、クロマブロック(1000))を予測するために使用できる。上述されたように、更新されたオフセットパラメータb’は、オフセットパラメータbの線形関数であることができ、例えば、b’は(b-u×y)である。本開示の実施形態に従って、オフセットパラメータbを調整するために使用される調整パラメータyは、コロケートしているルーマブロック(例えば、ルーマブロック(1001))内のルーマサンプルのサブセットに基づいて決定され得る。実施形態において、コロケートしているルーマブロック(例えば、ルーマブロック(1001))内のルーマサンプルのサブセットは、コロケートしているルーマブロック内の1つ以上のサンプルを含まない。
【0131】
図13は、調整パラメータyを決定するために使用され得るコロケートしているルーマブロック(1300)内の選択されたルーマサンプルのサンプルポジションの例を示す。コロケートしているルーマブロック(1300)は、コーディングされるべき(例えば、再構成されるべき)クロマブロックとコロケートしている。コロケートしているルーマブロック(1300)は、既に再構成されているルーマサンプル(例えば、参照ルーマサンプル)を含む。コロケートしているルーマブロック(1300)又はコロケートしているルーマブロック(1300)からダウンサンプリングされるダウンサンプリングされたルーマブロックは、クロマブロックを予測するために式7でRec_L’として使用され得る。更に、コロケートしているルーマブロック(1300)内の選択されたルーマサンプルのうちの1つ以上は、調整パラメータyを決定するために使用され得る。
【0132】
コロケートしているルーマブロック(1300)内のルーマサンプルは、ルーマサンプル(例えば、選択されたルーマサンプル)(1301)~(1309)を含むことができる。ルーマサンプル(1301)~(1309)は、コロケートしているルーマブロック(1300)の左上隅、中央上、右上隅、左端中央、中央、右端中央、左下隅、中央下、及び右下隅に夫々位置している。
【0133】
調整パラメータyは、ルーマサンプル(1301)~(1309)のうちの1つのサンプル値として選択され得る。調整パラメータyは、ルーマサンプル(1301)~(1309)の中の複数のサンプルのサンプル値の平均(例えば、加重平均)として選択され得る。
【0134】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)の右下隅にあるルーマサンプル(1309)のサンプル値として選択される。
【0135】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)の中央にあるルーマサンプル(1305)のサンプル値として選択される。
【0136】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)の右端中央にあるルーマサンプル(1306)のサンプル値として選択される。
【0137】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)の中央下にあるルーマサンプル(1308)のサンプル値として選択される。
【0138】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)の左上隅(例えば、ルーマサンプル(1301)に対応)、右上隅(例えば、ルーマサンプル(1303)に対応)、又は左下隅(例えば、ルーマサンプル(1307)に対応)などのポジションからサンプル値として選択される。
【0139】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)の四隅(例えば、左上隅、右上隅、左下隅、及び右下隅)に位置しているルーマサンプル値(1301)、(1303)、(1307)及び(1309)などの特定のルーマサンプルのサンプル値の平均(例えば、加重平均)として決定される。
【0140】
実施形態において、調整パラメータyは、コロケートしているルーマブロック(1300)内のルーマサンプル(1301)~(1309)の中の複数のサンプルのサンプル値の平均(例えば、加重平均)として決定される。
【0141】
ルーマサンプル(1301)~(1309)は、調整パラメータyを決定するために使用され得るコロケートしているルーマブロック(1300)内のルーマサンプルの例である。ルーマサンプル(1301)~(1309)にない、コロケートしているルーマブロック(1300)内のもう1つのルーマサンプル又は他のルーマサンプルが、調整パラメータyを決定するために使用されてもよい。
【0142】
CCLMモデルで使用されるパラメータa及びbを調整するためのコロケートしているルーマブロック内のルーマサンプルの選択は、異なるクロマブロック、又はコロケートしているルーマブロックがクロマブロックとコロケートしているところのそのクロマブロック内の異なる領域(例えば、サブブロック)に対して、より適応的にされ得る。
【0143】
実施形態において、異なる調整パラメータyが異なるクロマブロックに使用される。例えば、各々のルーマブロック内の異なる位置に位置しているルーマサンプルが、異なるクロマブロックの調整パラメータyとして使用され得る。図13のコロケートしているルーマブロック(1300)とコロケートしているクロマブロックなどのクロマブロックの場合に、ルーマサンプル(1301)~(1309)のうちの1つなどの、利用可能な選択肢の中の1つが、当該クロマブロックのために使用され得る。例において、(i)コロケートしているルーマブロック(1300)の中心位置にあるルーマサンプル(1305)及び(ii)コロケートしているルーマブロック(1300)の右下隅の位置にあるルーマサンプル(1309)のうちの1つが、オフセットパラメータbを調整するために使用される調整パラメータyを決定するために選択され得る。クロマブロックの場合に、例えば、どのサンプルが調整パラメータyを決定するために使用されるかを示す選択インジケータが、シグナリング又は導出され得る。選択インジケータは、選択インデックス又は選択フラグであることができる。
【0144】
異なるクロマブロックは、調整パラメータyを取得するよう異なる方法を有することができる。例において、第1クロマブロックのための選択インデックスは、第1クロマブロックの調整パラメータyが、第1クロマブロックとコロケートしている第1ルーマブロックの中心位置にあるルーマサンプルに基づき決定されることを示す。よって、第1クロマブロックの調整パラメータyは、第1ルーマブロックの中心位置にあるルーマサンプルに基づき決定される。第2クロマブロックのための選択インデックスは、第2クロマブロックの調整パラメータyが、第2クロマブロックとコロケートしている第2ルーマブロックの右端中央の位置にあるに基づき決定されることを示す。よって、第2クロマブロックの調整パラメータyは、第2ルーマブロックの右端中央の位置にあるルーマサンプルに基づき決定される。
【0145】
実施形態において、クロマブロック内の異なる領域の調整パラメータyは、コロケートしているルーマブロック内の異なるサンプル値を用いて決定され得る。図14は、クロマブロック(1410)及びクロマブロック(1410)とコロケートしているコロケートルーマブロック(1400)の例を示す。クロマブロック(1410)は、例えば、クロマブロック(1410)の空間分解能がコロケートしているルーマブロック(1400)の空間分解能と同じである(例えば、カラーフォーマットが4:4:4である)場合に、コロケートしているルーマブロック(1400)に基づいて予測できる。クロマブロック(1410)は、例えば、クロマブロック(1410)の空間分解能がコロケートしているルーマブロック(1400)の空間分解能とは異なる場合に、コロケートしているルーマブロック(1400)からダウンサンプリングされるダウンサンプリングされたルーマサンプルに基づいて予測できる。
【0146】
クロマブロック(1410)は、左上4分の1領域(1411)、右上4分の1領域(1412)、左下4分の1領域(1413)及び右下4分の1領域(1414)などの複数の領域(複数のクロマ領域とも呼ばれる。)を含む。クロマブロック(1410)内の複数の領域の夫々の調整パラメータyは、コロケートしているルーマブロック(1400)内の各々のサンプルに基づいて決定され得る。
【0147】
例えば、コロケートしているルーマブロック(1400)の中心位置(1401)は、クロマブロック(1410)の左上4分の1領域(1411)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1400)の右端中央の位置(1402)は、クロマブロック(1410)の右上4分の1領域(1412)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1400)の下中央(1403)は、クロマブロック(1410)の左下4分の1領域(1413)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1400)の右下隅の位置(1404)は、クロマブロック(1410)の右下4分の1領域(1414)の調整パラメータyを決定するために使用される。
【0148】
実施形態において、クロマブロック(1410)内の複数の領域のうちの1つの調整パラメータyは、コロケートしているルーマブロック(1400)内の対応する領域に基づいて決定される。例えば、コロケートしているルーマブロック(1400)内の対応する領域は、クロマブロック(1410)内の複数の領域のうちの1つとコロケートしている。
【0149】
図14を参照すると、コロケートしているルーマブロック(1400)は、クロマブロック(1410)内の複数のクロマ領域とコロケートしている複数の領域(複数のルーマ領域とも呼ばれる。)を含む。例えば、コロケートしているルーマブロック(1400)内の複数のルーマ領域は、クロマブロック内の左上4分の1領域(1411)、右上4分の1領域(1412)、左下4分の1領域(1413)及び右下4分の1領域(1414)と夫々コロケートしている左上4分の1領域(1421)、右上4分の1領域(1422)、左下4分の1領域(1423)及び右下4分の1領域(1424)を含む。
【0150】
例において、コロケートしているルーマブロック(1400)の左上4分の1領域(1421)のルーマサンプル値の平均は、クロマブロック(1410)の左下4分の1領域(1411)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1400)の右上4分の1領域(1422)のルーマサンプル値の平均は、クロマブロック(1410)の右上4分の1領域(1412)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1400)の左下4分の1領域(1423)のルーマサンプル値の平均は、クロマブロック(1410)の左下4分の1領域(1431)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1400)の右下4分の1領域(1424)のルーマサンプル値の平均は、クロマブロック(1410)の右下4分の1領域(1414)の調整パラメータyを決定するために使用される。
【0151】
例において、クロマ領域(例えば、(1411))は更に複数のクロマサブ領域に分割され、コロケートしているルーマ領域(例えば、(1421))は更に複数のルーマサブ領域に分割される。領域(1411)内の各クロマサブ領域の調整パラメータyは、領域(1421)内の各々のルーマサブ領域のルーマサンプル値の平均に基づいて決定され得る。
【0152】
図15は、クロマブロック(1510)及びクロマブロック(1510)とコロケートしているコロケートルーマブロック(1500)の例を示す。クロマブロック(1510)は、図14で説明されたように、コロケートしているルーマブロック(1500)、又はコロケートしているルーマブロック(1500)からダウンサンプリングされるダウンサンプリングされたルーマサンプルに基づいて、予測できる。
【0153】
クロマブロック(1510)は、左上4分の1領域(1511)、右上4分の1領域(1512)、左下4分の1領域(1513)及び右下4分の1領域(1514)などの複数のクロマ領域を含む。クロマブロック(1510)内の各クロマ領域の調整パラメータyは、コロケートしているルーマブロック(1500)内の対応するルーマ領域の四隅に位置している4つのルーマサンプルなどの特定のルーマサンプル値の平均に基づいて決定され得る。
【0154】
コロケートしているルーマブロック(1500)は、クロマブロック(1510)内の複数のクロマ領域とコロケートしている複数のルーマ領域を含む。例えば、コロケートしているルーマブロック(1500)内の複数のルーマ領域は、クロマブロック内の左上4分の1領域(1511)、右上4分の1領域(1512)、左下4分の1領域(1513)及び右下4分の1領域(1514)と夫々コロケートしている左上4分の1領域(1521)、右上4分の1領域(1522)、左下4分の1領域(1523)及び右下4分の1領域(1524)を含む。
【0155】
例において、コロケートしているルーマブロック(1500)の左上4分の1領域(1521)の四隅(1501)~(1504)でのルーマサンプル値の平均は、クロマブロック(1510)の左下4分の1領域(1511)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1500)の右上4分の1領域(1522)の四隅でのルーマサンプル値の平均は、クロマブロック(1510)の右上4分の1領域(1512)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1500)の左下4分の1領域(1523)の四隅でのルーマサンプル値の平均は、クロマブロック(1510)の左下4分の1領域(1531)の調整パラメータyを決定するために使用され、コロケートしているルーマブロック(1500)の右下4分の1領域(1524)の四隅でのルーマサンプル値の平均は、クロマブロック(1510)の右下4分の1領域(1514)の調整パラメータyを決定するために使用される。
【0156】
図14及び図15を参照して記載中、クロマブロック(例えば、1410)は4つの領域(例えば、(1411)~(1414))を含む。図14及び図15の説明は、Mが1よりも大きい整数である場合に、クロマブロックがM個の領域を含むときのクロマブロックに適用可能である。
【0157】
再び図14を参照すると、領域(1411)~(1414)は、クロマブロック(1410)内のサブブロックであることができる。クロマブロック(1410)に関連したインジケータは、クロマブロック(1410)のためのCCLMモードを示すことができる。クロマブロック(1410)内の各サブブロックは、図14に記載される実施形態を用いて異なるように予測され得る。一例において、順変換又は逆変換が、クロマブロック(1410)全体を変換するためにクロマブロック(1410)全体に適用される。例において、クロマブロック(1410)は、領域(1411)~(1414)とは異なる複数のTBにパーティション化され、複数のTBの夫々は、適切な変換を用いて変換される。
【0158】
図14及び図15に記載されるように、クロマブロック(例えば、(1410))内の異なる領域(例えば、領域(1411)~(1414))の調整パラメータyは、異なってもよい。例において、式6を用いて決定されるような、同じオフセットパラメータbが異なる領域に使用され、異なる領域の対応する更新されたオフセットパラメータb’は、オフセットパラメータbと、異なる領域の各々の調整パラメータyとに基づいて、取得され得る。例において、異なるオフセットパラメータbは、異なる領域に使用され得る。
【0159】
調整式(例えば、a’=a+u及びb’=b-u×y)の調整パラメータは、(i)コロケートしているルーマブロック(例えば、ルーマブロック(1001))の再構成された隣接ルーマサンプル(例えば、(1020))及び(ii)コロケートしているルーマブロック(例えば、ルーマブロック(1001))内のコロケートしているルーマサンプル(例えば、(1040))に基づいて導出され得る。本開示の実施形態に従って、調整パラメータuは、(i)再構成された隣接ルーマサンプルと(ii)コロケートしているルーマブロック内のコロケートしているルーマサンプルとの間の差に基づいて導出され得る。
【0160】
実施形態において、調整パラメータuは、(i)コロケートしているルーマブロックの再構成された隣接ルーマサンプルに基づいた第1平均(例えば、Rec_L’(Nei)と呼ばれる。)と(ii)コロケートしているルーマブロック内のコロケートしているルーマサンプルに基づいた第2平均(Rec_L’(Col)と呼ばれる。)との間の差に基づいて決定される。例において、調整パラメータuは、u=M(Rec_L’(Col)-Rec_L’(Nei))+Kのような、差の線形関数であり、M及びKは定数である。例において、調整パラメータuは、差の区分線形関数であり、第1平均Rec_L’(Nei)及び第2平均Rec_L’(Col)の差を調整パラメータuの値にマッピングするようマッピングテーブルが設計される。
【0161】
第1平均Rec_L’(Nei)は、コロケートしているルーマブロックの再構成された隣接ルーマサンプルの中の複数のサンプルの平均であることができる第2平均Rec_L’(Col)は、コロケートしているルーマブロック内のコロケートしているルーマサンプルの中の複数のサンプルの平均であることができる。
【0162】
例において、第1平均Rec_L’(Nei)は、コロケートしているルーマブロック(例えば、(1001))の再構成された全ての隣接ルーマサンプル(例えば、(1020))の平均である。例において、第2平均Rec_L’(Col)は、コロケートしているルーマブロック(例えば、(1001))内のコロケートしている全てのルーマサンプル(例えば、(1040))の平均である。
【0163】
実施形態において、第1平均Rec_L’(Nei)を計算するために使用されるコロケートしているルーマブロックの再構成された隣接ルーマサンプルは、式5及び式6で使用されるような、CCLMパラメータa及びbを計算するのに使用される選択された隣接サンプルRec_L’(i)である。図10を参照すると、選択された隣接サンプルRec_L’(i)は、左隣接ルーマサンプル(1022)、上隣接ルーマサンプル(1021)などのような、再構成された隣接ルーマサンプル(1020)内のサンプルのサブセットを含むことができる。
【0164】
実施形態において、第2平均Rec_L’(Col)は、コロケートしているルーマブロックから選択されたコロケートしているルーマサンプルのサブセットに基づいて決定され得る。図13を参照すると、サンプル(1301)~(1309)のうちの1つ以上が、選択されたサブセット内で使用できる。
【0165】
実施形態において、第2平均Rec_L’(Col)を計算するために使用されるサンプルの数は、第1平均Rec_L’(Nei)を計算するために使用されるサンプルの数に基づいてセットされる。お例えば、第2平均Rec_L’(Col)を計算するために使用されるサンプルの数は、第1平均Rec_L’(Nei)を計算するために使用されるサンプルの数に等しいようセットされる。
【0166】
いくつかの例において、第1平均Rec_L’(Nei)は、コロケートしているルーマブロックの再構成された隣接ルーマサンプルのダウンサンプリングされた隣接サンプルに基づいて決定される。
【0167】
例において、式5を用いて決定されるような、同じスケーリングパラメータaが、クロマブロック内の異なる領域に使用され、異なる領域の対応する更新されたスケーリングパラメータa’は、スケーリングパラメータa及び異なる領域の各々の調整パラメータuに基づいて取得され得る。例において、異なるスケーリングパラメータaが異なる領域に使用されてもよい。
【0168】
図16は、本開示の実施形態に係るプロセス(例えば、符号化プロセス)(1600)について説明するフローチャートを示す。プロセス(1600)は、処理回路を含むことができるビデオコーディング用の装置によって実行され得る。様々な実施形態において、プロセス(1600)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路、などのような、装置内の処理回路によって実行される。いくつかの実施形態において、プロセス(1600)は、ソフトウェア命令で実施されるので、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1600)を実行する。プロセスは(S1601)から開始し、(S1610)へ進む。
【0169】
(S1610)で、クロスコンポーネント線形モデル(CCLM)モードを使用して現在ピクチャ内で符号化されるべきクロマブロック内の第1領域について、CCLMモードでのオフセットパラメータ(例えば、b)を調整するために使用される第1調整パラメータ(例えば、y)が、現在ピクチャ内のコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて決定され得る。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の1つ以上のサンプルを含まない。
【0170】
例において、クロマブロック内の第1領域は、クロマブロック全体を含む。コロケートしているルーマブロック内の再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の1つのサンプルである。第1調整パラメータは、図13に記載されるように、コロケートしているルーマブロック内のその1つのサンプルのサンプル値であるよう決定され得る。
【0171】
例において、第1領域は、クロマブロック全体を含む。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の複数のサンプルを含む。第1調整パラメータは、図13に記載されるように、コロケートしているルーマブロック内のそれら複数のサンプルのサンプル値の平均であるよう決定され得る。
【0172】
(S1620)で、第1の更新されたオフセットパラメータが、オフセットパラメータ及び第1調整パラメータに基づいて決定され得る。
【0173】
(S1630)で、第1領域は、CCLMモードを用いて第1の更新されたオフセットパラメータに少なくとも基づいて符号化され得る。例において、CCLMモードがクロマブロックに適用されることを示す予測情報が、符号化される。
【0174】
符号化された第1領域及び予測領域は、コーディングされたビデオビットストリームに含められてよく、そして、デコーダへ送信される。
【0175】
例において、第1領域は、クロマブロック全体を含む。予測情報は、コロケートしているルーマブロック内のサンプルのうちのどれが再構成サンプルの第1サブセットに含まれるかを更に示す。例において、コロケートしているルーマブロック内のサンプルのうちのどれが再構成サンプルの第1サブセットに含まれるかは、コーディングされたビデオビットストリームでシグナリングされる。
【0176】
次いで、プロセスは、(S1699)へ進み、終了する。
【0177】
プロセス(1600)は、様々なシナリオに適切に適応でき、プロセス(1600)のステップは、それに応じて調整できる。プロセス(1600)のステップの1つ以上は、適応、省略、繰り返し、及び/又は結合され得る。如何なる適切な順序も、プロセス(1600)を実装するために使用できる。追加のステップが加えられてもよい。
【0178】
例において、クロマブロックは、第2領域を更に含む。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の第1サンプルである。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータが、コロケートしているルーマブロック内の第2サンプルに基づいて決定され得る。第2サンプルは第1サンプルとは異なってもよい。第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0179】
例において、クロマブロックは、第2領域を更に含む。コロケートしているルーマブロックは、第1領域及び第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含む。再構成サンプルの第1サブセットは、第1ルーマ領域内の複数のサンプルを含む。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータが、第2ルーマ領域内の複数のサンプルに基づいて決定され得る。第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0180】
例において、クロマブロックは、第2領域を更に含む。コロケートしているルーマブロックは、第1領域及び第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含む。再構成サンプルの第1サブセットは、第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、及び右下サンプルを含む。第1調整パラメータは、第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、及び右下サンプルの平均であるよう決定され得る。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータは、第2ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、右下サンプルの平均であるよう決定され得る。第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0181】
例において、第1領域について、更新されたスケーリングパラメータ(例えば、a’)は、CCLMモードで使用されるスケーリングパラメータ(例えば、パラメータa)と、スケーリングパラメータを調整するために使用される調整パラメータ(例えば、調整パラメータu)との和であるよう、決定され得る。第1の更新されたオフセットパラメータ(例えば、b’)は、(b-u×y)であるよう決定され得、このとき、bはオフセットパラメータであり、uは、スケーリングパラメータを調整するために使用される調整パラメータであり、yは第1調整パラメータである。クロマブロック内の第1領域は、CCLMモードを用いて第1の更新されたオフセットパラメータ及び更新されたスケーリングパラメータに基づいて再構成され得る。
【0182】
例において、第1領域について、スケーリングパラメータ(例えば、a)を調整するために使用される調整パラメータ(例えば、u)は、(i)コロケートしているルーマブロックの1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルと、(ii)コロケートしているルーマブロック内のサンプルとに基づいて、決定される。例において、第1領域について、スケーリングパラメータを調整するために使用される調整パラメータは、1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルの平均とコロケートしているルーマブロック内のサンプルの平均との間の差に基づいて、決定され得る。
【0183】
図17は、本開示の実施形態に係るプロセス(例えば、復号化プロセス)(1700)について説明するフローチャートを示す。プロセス(1700)は、ビデオデコーダで使用され得る。プロセス(1700)は、受信回路及び処理回路を含むことができるビデオコーディング用の装置によって実行され得る。端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、などのような、装置内の処理回路が、プロセス(1700)を実行するよう構成され得る。いくつかの例において、プロセス(1700)は、ビデオエンコーダ(例えば、ビデオエンコーダ(403)、ビデオエンコーダ(603))で使用される。例において、プロセス(1700)は、ビデオエンコーダ(例えば、ビデオエンコーダ(403)、ビデオエンコーダ(603))の機能を実行する処理回路によって実行される。いくつかの実施形態において、プロセス(1700)は、ソフトウェア命令で実施されるので、処理回路がソフトウェア命令を実行するとき、処理回路はプロセス(1700)を実行する。プロセスは(S1701)から開始し、(S1710)へ進む。
【0184】
(S1710)で、現在ピクチャ内の再構成されるべきクロマブロックの予測情報が復号され得る。予測情報は、クロスコンポーネント線形モデル(CCLM)モードがクロマブロックに適用されることを示すことができる。
【0185】
(S1720)で、クロマブロック内の第1領域について、CCLMモードでのオフセットパラメータ(例えば、b)を調整(又は変更)するために使用される第1調整パラメータ(第1調整値とも呼ばれる。)(例えば、y)が、現在ピクチャ内のコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて決定され得る。コロケートしているルーマブロックは、クロマブロックとコロケートしているルーマブロックである。再構成サンプルの第1サブセットは、コロケートしているルーマブロック内の1つ以上のサンプルを含まない。例において、コロケートしているルーマブロック内のサンプルは、既に再構成されている。
【0186】
例において、クロマブロック内の第1領域は、クロマブロック全体を含む。コロケートしているルーマブロック内のサンプルの第1サブセットは、コロケートしているルーマブロック内の1つのサンプルである。第1調整パラメータは、図13に記載されるように、コロケートしているルーマブロック内のその1つのサンプルのサンプル値であるよう決定され得る。
【0187】
例において、第1領域は、クロマブロック全体を含む。サンプルの第1サブセットは、コロケートしているルーマブロック内の複数の再構成されたサンプルを含む。第1調整パラメータは、図13に記載されるように、コロケートしているルーマブロック内のそれら複数のサンプルのサンプル値の平均であるよう決定され得る。
【0188】
例において、第1領域は、クロマブロック全体を含む。予測情報は、コロケートしているルーマブロック内のサンプルのうちのどれがサンプルの第1サブセットに含まれるかを更に示す。例において、コロケートしているルーマブロック内のサンプルのどれがサンプルの第1サブセットに含まれるかは、コーディングされたビデオビットストリームでシグナリングされる。例において、コロケートしているルーマブロック内のサンプルのどれがサンプルの第1サブセットに含まれるかは、導出される。
【0189】
(S1730)で、クロマブロック内の第1領域について、第1の更新されたオフセットパラメータ(例えば、b’)が、オフセットパラメータ(例えば、b)及び第1調整パラメータ(例えば、y)に少なくとも基づいて決定され得、例えば、上述されたように、b’=b-u×yである。
【0190】
(S1740)で、クロマブロック内の第1領域は、CCLMモードを用いて第1の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。次いで、プロセスは(S1799)へ進み、終了する。
【0191】
プロセス(1700)は、様々なシナリオに適切に適応でき、プロセス(1700)のステップは、それに応じて調整できる。プロセス(1700)のステップの1つ以上は、適応、省略、繰り返し、及び/又は結合され得る。如何なる適切な順序も、プロセス(1700)を実装するために使用できる。追加のステップが加えられてもよい。
【0192】
例において、クロマブロックは、第2領域を更に含む。サンプルの第1サブセットは、コロケートしているルーマブロック内の第1サンプルである。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータが、コロケートしているルーマブロック内の第2サンプルに基づいて決定され得る。第2サンプルは、第1サンプルと異なってもよい。第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0193】
例において、クロマブロックは、第2領域を更に含む。コロケートしているルーマブロックは、第1領域及び第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含む。サンプルの第1サブセットは、第1ルーマ領域内の複数のサンプルを含む。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータが、第2ルーマ領域内の複数のサンプルに基づいて決定され得る。第2の更新されたオフセットパラメータが、オフセットパラメータ及び第2調整パラメータに少なくとも基づいて決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0194】
例において、クロマブロックは、第2領域を更に含む。コロケートしているルーマブロックは、第1領域及び第2領域と夫々コロケートしている第1ルーマ領域及び第2ルーマ領域を含む。サンプルの第1サブセットは、第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、及び右下サンプルを含む。第1調整パラメータは、第1ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、前記右下サンプルの平均であるよう決定され得る。クロマブロック内の第2領域について、CCLMモードでのオフセットパラメータを調整するために使用される第2調整パラメータは、第2ルーマ領域内の左上サンプル、右上サンプル、左下サンプル、右下サンプルの平均であるよう決定され得る。第2の更新されたオフセットパラメータが、第2オフセットパラメータ及び第2調整パラメータに少なくとも基づいて、第2の更新されたオフセットパラメータを決定され得る。クロマブロック内の第2領域は、CCLMモードを用いて第2の更新されたオフセットパラメータに少なくとも基づいて再構成され得る。
【0195】
例において、第1領域について、更新されたスケーリングパラメータ(例えば、a’)は、CCLMモードで使用されるスケーリングパラメータ(勾配パラメータとも呼ばれる。)(例えば、パラメータa)とスケーリングパラメータを調整するために使用される調整パラメータ(調整値とも呼ばれる。)(例えば、調整パラメータu)との和であるよう決定され得る。第1の更新されたオフセットパラメータ(例えば、b’)は(b-u×y)であるよう決定され得、bはオフセットパラメータであり、uは、スケーリングパラメータを調整するために使用される調整パラメータであり、yは第1調整パラメータである。クロマブロック内の第1領域は、CCLMモードを用いて第1の更新されたオフセットパラメータ及び更新されたスケーリングパラメータに基づいて再構成され得る。
【0196】
実施形態において、第1領域について、スケーリングパラメータ(例えば、a)を調整するために使用される調整パラメータ(例えば、u)は、(i)コロケートしているルーマブロックの1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルと、(ii)コロケートしているルーマブロック内のサンプルとに基づいて決定される。例において、第1領域について、スケーリングパラメータを調整するために使用される調整パラメータuは、1つ以上の隣接ルーマブロック内の再構成されたルーマサンプルの平均と、コロケートしているルーマブロック内のサンプルの平均との間の差に基づいて、決定され得る。
【0197】
実施形態において、クロマブロック内の第1領域について、CCLMモードでのオフセットパラメータを変更するために使用される第1調整値は、現在ピクチャ内でクロマブロックとコロケートしているルーマブロック内の再構成サンプルの第1サブセットに基づいて決定される。再構成サンプルの第1サブセットは、ルーマブロック内の1つ以上のサンプルを含まない。オフセットパラメータは、第1調整値に少なくとも基づいて更新され得る。CCLMモードでの勾配パラメータを変更するために使用される第2調整値が、ルーマブロック内の再構成サンプルの第2サブセットに基づいて決定され、第2調整値に少なくとも基づいて勾配パラメータを更新することができる。クロマブロック内の第1領域は、CCLMモードを用いて、更新されたオフセットパラメータ及び更新された勾配パラメータに少なくとも基づいて再構成され得る。
【0198】
例において、再構成サンプルの第2サブセットは、再構成サンプルの第1サブセットを含む。
【0199】
例において、第2調整値は、ルーマブロック全体内の再構成されたサンプルに基づいて決定される。
【0200】
本開示の実施形態は、別々に使用されても、又は任意の順に結合されてもよい。更に、方法(又は実施形態)、エンコーダ、及びデコーダの夫々は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例において、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶されているプログラムを実行する。
【0201】
コンピュータ読み出し可能な命令を使用しかつ1つ以上のコンピュータ可読媒体に物理的に記憶されているコンピュータソフトウェアとして実装可能である。例えば、図18は、開示されている対象の特定の実施形態を実装することに適したコンピュータシステム(1800)を示す。
【0202】
コンピュータソフトウェアは、1つ以上の中央演算処理装置(CPU)、グラフィクス処理ユニット(GPU)などによって直接に又は解釈、マイクロコード実行などを通じて実行され得る命令を含むコードを生成するようにアセンブリ、コンパイル、リンキングなどのメカニズムに従い得る如何なる適切な機械コード又はコンピュータ言語によってもコーディング可能である。
【0203】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネット(Internet of Things)のためのデバイス、などを含む様々なタイプのコンピュータ又はその構成要素で実行可能である。
【0204】
コンピュータシステム(1800)に関して図18に示される構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関して如何なる限定も示唆することを意図しない。構成要素の構成は、コンピュータシステム(1800)の例示的な実施形態において説明される構成要素のうちのいずれか1つ又は組み合わせに関して何らかの依存又は要件も有するものとして解釈されるべきではない。
【0205】
コンピュータシステム(1800)は、特定のヒューマンインターフェース入力デバイスを含んでよい。かようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーボード、スワイプ、データグロープ動作)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず。)を通じた一人以上のユーザによる入力に反応してよい。ヒューマンインターフェースデバイスはまた、音声(例えば、発話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画カメラから取得された写真画像)、映像(例えば、二次元映像、立体視映像を含む三次元映像)などの、人による意識的な入力に必ずしも直接には関係しない特定のメディアを捕捉するためにも使用され得る。
【0206】
入力ヒューマンインターフェースデバイスは、キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチスクリーン(1810)、データグローブ(図示せず。)、ジョイスティック(1805)、マイク(1806)、スキャナ(1807)、カメラ(1808)(各1つしか表されていない。)のうちの1つ以上を含んでよい。
【0207】
コンピュータシステム(1800)は、特定のヒューマンインターフェース出力デバイスも含んでよい。かようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音響、光、及び匂い/味を通じて一人以上のユーザの感覚を刺激し得る。かようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1810)、データグローブ(図示せず。)、又はジョイスティック(1805)による触覚フィードバック、しかし、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る。)、音声出力デバイス(例えば、スピーカ(1809)、ヘッドホン(図示せず。))、視覚出力デバイス(例えば、夫々タッチスクリーン入力機能の有無によらず、夫々触覚フィードバック機能の有無によらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それらのうちのいくつかは、立体視出力、仮想現実メガネ(図示せず。)、ホログラフィックディスプレイ及びスモークタンク(図示せず。)などの手段により二次元視覚出力又は三次元よりも多い次元の出力を出力可能なスクリーン(1810))、及びプリンタ(図示せず。)を含んでよい。
【0208】
コンピュータシステム(1800)は、人がアクセス可能な記憶デバイス及びそれらの関連する媒体、例えば、CD/DVD又は同様の媒体(1821)を伴ったCD/DVD ROM/RW(1820)、サムドライブ(1822)、リムーバブルハードディスク又はソリッドステートドライブ(1823)、レガシー磁気媒体、例えば、テープ及びフロッピー(登録商標)ディスク(図示せず。)、専用のROM/ASIC/PLDベースデバイス、例えば、セキュリティドングル(図示せず。)、なども含むことができる。
【0209】
当業者であれば、目下開示されている対象に関連して使用されている「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を含まないことも理解するはずである。
【0210】
コンピュータシステム(1800)は、1つ以上の通信ネットワークへのインターフェースも含むことができる。ネットワークは、例えば、ワイヤレス、ワイヤライン、光であることができる。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両及び工業、実時間、遅延耐性、などであることができる。ネットワークの例には、イーサネット(登録商標)などのローカルエリアネットワーク、ワイヤレスLAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TVを含むTVワイヤライン又はワイヤレス広域デジタルネットワーク、CANバスを含む車両及び工場ネットワーク、などがある。特定のネットワークは、一般に、特定の汎用デジタルポート又はペリフェラルバス(1849)(例えば、コンピュータシステム(1800)のUSBポートなど)に取り付けられた外付けネットワークインターフェースアダプタを必要とする。他は、一般に、後述されるようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットネットワーク、又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム(1800)のコアに組み込まれる。これらのネットワークのいずれかを使用して、コンピュータシステム(1800)は他のエンティティと通信することができる。そのような通信は、単方向の受信専用(例えば、ブロードキャストTV)又は単方向の送信専用(例えば、特定のCANバスデバイスへのCANバス)であることができ、あるいは、例えば、ローカル若しくは広域デジタルネットワークを使用して他のコンピュータシステムに対して双方向であることができる。特定のプロトコル又はプロトコルスタックが、上述されたようなネットワーク及びネットワークインターフェースの夫々で使用可能である。
【0211】
上記のヒューマンインターフェースデバイス、人がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(1800)のコア(1840)へ取り付けられ得る。
【0212】
コア(1840)は、1つ以上の中央演算処理装置(CPU)(1841)、グラフィクス処理ユニット(GPU)(1842)、フィールドプログラマブルゲートエリア(FPGA)(1843)の形をとる専用のプログラム可能処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1844)、などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(1845)、ランダムアクセスメモリ(RAM)(1846)、内部のユーザアクセス不能ハードドライブなどの内蔵大容量記憶装置、SSD、など(1847)とともに、システムバス(1848)を通じて接続されてよい。いくつかのコンピュータシステムでは、システムバス(1848)は、追加のCPU、GPUなどによる拡張を可能にするように、1つ以上の物理プラグの形でアクセス可能であることができる。コアのシステムバス(1848)へ直接に又はペリフェラルバス(1849)を通じて、周辺機器が取り付けられ得る。例において、スクリーン(1810)は、グラフィクスアダプタ(1850)へ接続され得る。ペリフェラルバスのためのアーキテクチャには、PCI、USBなどがある。
【0213】
CPU(1841)、GPU(1842)、FPGA(1843)、及びアクセラレータ(1844)は、組み合わせて上記のコンピュータコードを構成することができる特定の命令を実行可能である。そのコンピュータコードは、ROM(1845)又はRAM(1846)に記憶され得る。一時データもRAM(1846)に記憶可能であり、一方、永続性データは、例えば、内蔵大容量記憶装置(1847)に記憶可能である。メモリデバイスのいずれかへの高速な格納及び読み出しは、キャッシュメモリの使用により可能にされ得る。キャッシュメモリは、1つ以上のCPU(1841)、GPU(1842)、大容量記憶装置(1847)、ROM(1845)、RAM(1846)などと密接に関連し得る。
【0214】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであることができ、あるいは、それらは、コンピュータソフトウェア技術で通常の知識を有する者によく知られており利用可能である種類のものであることができる。
【0215】
例として、限定としてではなく、アーキテクチャ(1800)、具体的にはコア(1840)を有するコンピュータシステムは、1つ以上の有形なコンピュータ可読媒体において具現されているソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む。)の結果として機能を提供することができる。かようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(1847)又はROM(1845)などの、非一時的な性質であるコア(1840)の特定の記憶装置に加えて、先に紹介されたユーザアクセス可能な大容量記憶装置に関連した媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(1840)によって実行可能である。コンピュータ可読媒体には、特定のニーズに応じて、1つ以上のメモリデバイス又はチップが含まれ得る。ソフトウェアは、コア(1840)、及び、具体的には、その中のプロセッサ(CPU、GPU、FPGAなどを含む。)に、RAM(1846)に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することとを含め、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加的に、又は代替案として、コンピュータシステムは、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はそれとともに動作することができる、回路内でハードウェアにより実現されるか又は別なふうに具現されるロジック(例えば、アクセラレータ(1844))の結果として、機能を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶している回路(例えば、集積回路(IC))、実行のためのロジックを具現する回路、又は両方を包含することができる。本開示は、ハードウェア及びソフトウェアの如何なる適切な組み合わせも包含する。
【0216】
付録A:頭字語
JEM:Joint Exploration Model
VVC:Versatile Video Coding
BMS:benchmark set
MV:Motion Vector
HEVC:High Efficiency Video Coding
SEI:Supplementary Enhancement Information
VUI:Video Usability Information
GOP:Group of Picture(s)
TU:Transform Unit(s)
PU:Prediction Unit(s)
CTU:Coding Tree Unit(s)
CTB:Coding Tree Block(s)
PB:Prediction Block(s)
HRD:Hypothetical Reference Decoder
SNR:Signal Noise Ratio
CPU:Central Processing Unit(s)
GPU:Graphics Processing Unit(s)
CRT:Cathode Ray Tube
LCD:Liquid-Crystal Display
OLED:Organic Light-Emitting Diode
CD:Compact Disc
DVD:Digital Video Disc
ROM:Read-Only Memory
RAM:Random Access Memory
ASIC:Application-Specific Integrated Circuit
PLD:Programmable Logic Device
LAN:Local Area Network
GSM:Global System for Mobile communications
LTE:Long-Term Evolution
CANBus:Controller Area Network Bus
USB:Universal Serial Bus
PCI:Peripheral Component Interconnect
FPGA:Field Programmable Gate Area(s)
SSD:Solid-State Drive
IC:Integrated Circuit
CU:Coding Unit
CCLM:Cross-Component Linear model
【0217】
本開示は、いくつかの例示的な実施形態について記載してきたが、本開示の範囲内にある代替、交換、及び様々な置換均等物が存在する。よって、明らかなように、当業者であれば、たとえ本明細書で明示的に図示又は説明されていないとしても、本開示の原理を具現し、よって、その精神及び範囲の中にある多数のシステム及び方法に想到可能である。
【0218】
[参照による援用]
本願は、「ADAPTIVE PARAMETER SELECTION FOR CROSS-COMPONENT PREDICTION IN IMAGE AND VIDEO COMPRESSION」と題されて2022年1月31日付けで出願された米国特許仮出願第63/305159号に対する優先権の利益を主張して「ADAPTIVE PARAMETER SELECTION FOR CROSS-COMPONENT PREDICTION IN IMAGE AND VIDEO COMPRESSION」と題されて2022年10月28日付けで出願された米国特許出願第17/976556号に対する優先権の利益を主張するものである。これらの先願の全開示は、それらの全文を参照により本願に援用される。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
【国際調査報告】