(57)【要約】  本開示は、同じフレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから、第１成分ブロックについての第１成分サンプルを取得するための線形モデルを導出するためのクロスコンポーネント予測及び方法に関し、この方法は、２点を通る直線を表す線形方程式のパラメータを決定することを含み、各点は２つの変数によって定義され、第１成分及び第２成分の両方の再構成サンプルに基づいて、その第１の変数は第２成分サンプル値に対応し、その第２の変数は第１成分サンプル値に対応し、直線パラメータによって定義される線形モデルを導出する。
2021515999.tif 000002
【特許請求の範囲】
【請求項１】
同一フレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから第１成分ブロックについての第１成分サンプルを取得するための線形モデルを導出する方法であって、
２点を決定することであって、各点は２つの変数によって定義され、前記第１成分及び前記第２成分の両方の再構成サンプルに基づいて、第１の前記変数は第２成分サンプル値に対応し、第２の前記変数は第１成分サンプル値に対応する、決定することと、
前記２点の傍を通る直線を表す線形方程式のパラメータを決定することと、
直線パラメータによって定義される前記線形モデルを導出することと、を含む方法。
【請求項２】
前記２点は、前記第２成分ブロックの近傍におけるサンプル対に基づいて決定される、請求項１に記載の方法。
【請求項３】
前記２点は、前記第２成分ブロックの近傍における前記サンプル対のサンプル値に基づいて決定される、請求項２に記載の方法。
【請求項４】
前記２点は、最も大きい前記第２成分サンプル値と、最も小さい前記第２成分サンプル値と、を有する前記サンプル対にそれぞれ対応する、請求項３に記載の方法。
【請求項５】
前記２点は、最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有する前記サンプル対にそれぞれ対応する、請求項３に記載の方法。
【請求項６】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点がより長いセグメントを形成する場合には前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項３に記載の方法。
【請求項７】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点及び前記２つの第２の点のうちの２点を、最長セグメントを形成する前記２点として決定することと、
含む、請求項３に記載の方法。
【請求項８】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点の全ての変数が異なる場合には前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項３に記載の方法。
【請求項９】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の２点によって定義される前記直線の傾きパラメータが所与の閾値よりも大きい場合には、前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項３に記載の方法。
【請求項１０】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記最も小さい第２成分サンプル値と前記最も大きい第２成分サンプル値との間の差が、前記最も小さい第１成分サンプル値と前記最も大きい第１成分サンプル値との間の差よりも大きい場合には、前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項３に記載の方法。
【請求項１１】
前記２点は、前記第２成分ブロックの近傍における前記サンプル対の前記第２成分サンプル値の位置に基づいて決定される、請求項２に記載の方法。
【請求項１２】
前記２点は、前記第２成分ブロックの近傍の所定の位置における前記サンプル対に対応するように決定される、請求項１１に記載の方法。
【請求項１３】
前記２点のうちの少なくとも１つを、所定の位置における前記サンプル対が利用可能でない場合に、第２の所定の位置における前記サンプル対に対応するように決定することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記２点は、前記第２成分ブロックの近傍のサンプル対と第２成分ブロックサンプル値とに基づいて決定される、請求項１に記載の方法。
【請求項１５】
前記２点の前記第１の変数は、前記第２成分ブロックの近傍における前記サンプル対のうち、前記第２成分ブロックにおける最大の発生率及び前記第２成分ブロックにおける第２の最大発生率を有するサンプル値として決定され、
前記２点の前記第２の変数は、前記第２成分ブロックの近傍のサンプル対に基づいて、対応する前記第１成分サンプル値として決定される、請求項１４に記載の方法。
【請求項１６】
前記第２成分ブロックの前記サンプルは、少なくとも２つのグループに編成され、
２点は、前記第２成分ブロックのサンプルの各グループに対する線形モデルの定義のために決定される、請求項１乃至１５の何れか一項に記載の方法。
【請求項１７】
グループについて決定された前記２点が、所定の閾値より小さい傾きパラメータに対応する場合、前記グループによって決定された前記２点は、別のグループについて決定された２点によって置き換えられる、請求項１６に記載の方法。
【請求項１８】
グループについて決定された前記２点が、所定の閾値より小さい傾きパラメータに対応する場合、２つの新しい点が、単一のグループと見なされるすべての前記グループのサンプルに基づいて決定される、請求項１６に記載の方法。
【請求項１９】
同一フレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから第１成分ブロックについての第１成分サンプルを取得する方法であって、
単一の線形モデルを使用するＣＣＬＭモードと、いくつかの線形モデルを使用するＭＭＬＭモードとを含む複数の線形モデル導出モードを定義することと、
第１成分ブロックについての前記第１成分サンプルを取得するための前記線形モデル導出モードのうちの１つを選択することと、
を含み、
前記線形モデル導出モードのうちの少なくとも１つは、請求項１乃至１８の何れか一項に係る導出する方法を使用する、方法。
【請求項２０】
前記ＣＣＬＭモードのみが、請求項１乃至１８の何れか一項に係る導出する方法を使用する、請求項１９に記載の方法。
【請求項２１】
前記ＭＭＬＭモードのみが、請求項１乃至１８の何れか一項に係る導出する方法を使用する、請求項１９に記載の方法。
【請求項２２】
ビットストリームに１つ以上の画像を符号化する方法であって、前記方法は、請求項１乃至１８の何れか一項に従って、線形モデルを導出することを含む、方法。
【請求項２３】
ビットストリームに１つ以上の画像を符号化する方法であって、前記方法は、請求項１９乃至２１の何れか一項に従って、関連付けられた再構成第２成分サンプルブロックから、前記１つ以上の画像の第１成分ブロックについての第１成分サンプルを取得することを含む、方法。
【請求項２４】
ビットストリームから１つ以上の画像を復号する方法であって、前記方法は、請求項１乃至１８の何れか一項に従って、線形モデルを導出する、方法。
【請求項２５】
ビットストリームから１つ以上の画像を復号する方法であって、前記方法は、請求項１９乃至２１の何れか一項に従って、関連付けられた再構成第２成分サンプルブロックから、前記１つ以上の画像の第１成分ブロックについての第１成分サンプルを取得することを含む、方法。
【請求項２６】
同一フレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから第１成分ブロックの第１成分サンプルを取得するための線形モデルを導出するための装置であって、
２点を決定することであって、各点は２つの変数によって定義され、前記第１成分及び前記第２成分の両方の再構成サンプルに基づいて、第１の前記変数は第２成分サンプル値に対応し、第２の前記変数は第１成分サンプル値に対応する、決定することと、
前記２点の傍を通る直線を表す線形方程式のパラメータを決定することと、
直線パラメータによって定義される前記線形モデルを導出することと、のための手段を含む、装置。
【請求項２７】
前記２点は、前記第２成分ブロックの近傍におけるサンプル対に基づいて決定される、請求項２６に記載の装置。
【請求項２８】
前記２点は、前記第２成分ブロックの近傍における前記サンプル対のサンプル値に基づいて決定される、請求項２７に記載の装置。
【請求項２９】
前記２点は、最も大きい前記第２成分サンプル値と、最も小さい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する、請求項２６に記載の装置。
【請求項３０】
前記２点は、最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する、請求項２６に記載の装置。
【請求項３１】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点がより長いセグメントを形成する場合には前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項２６に記載の装置。
【請求項３２】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点及び前記２つの第２の点のうちの２点を、最長セグメントを形成する前記２点として決定することと、
含む、請求項２６に記載の装置。
【請求項３３】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点の全ての変数が異なる場合には前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項２６に記載の装置。
【請求項３４】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記２つの第１の点によって定義される前記直線の傾きパラメータが所与の閾値よりも大きい場合には、前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項２６に記載の装置。
【請求項３５】
最も小さい前記第２成分サンプル値と、最も大きい前記第２成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第１の点を決定することと、
最も小さい前記第１成分サンプル値と、最も大きい前記第１成分サンプル値と、を有するサンプル対にそれぞれ対応する２つの第２の点を決定することと、
前記最も小さい第２成分サンプル値と前記最も大きい第２成分サンプル値との間の差が、前記最も小さい第１成分サンプル値と前記最も大きい第１成分サンプル値との間の差よりも大きい場合には、前記２点を前記２つの第１の点として決定し、そうでなければ前記２点を前記２つの第２の点として決定することと、
を含む、請求項２６に記載の装置。
【請求項３６】
前記２点は、前記第２成分ブロックの近傍における前記サンプル対の位置に基づいて決定される、請求項２７に記載の装置。
【請求項３７】
前記２点は、前記第２成分ブロックの近傍の所定の位置における前記サンプル対に対応するように決定される、請求項３６に記載の装置。
【請求項３８】
前記２点のうちの少なくとも１つを、所定の位置における前記サンプル対が利用可能でない場合に、第２の所定の位置における前記サンプル対に対応するように決定することをさらに含む、請求項３７に記載の装置。
【請求項３９】
前記２点は、前記第２成分ブロックの近傍のサンプル対と第２成分ブロックサンプル値とに基づいて決定される、請求項２６に記載の装置。
【請求項４０】
前記２点の前記第１の変数は、前記第２成分ブロックにおける最大の発生率及び前記第２成分ブロックにおける第２の最大の発生率を有するサンプル値として決定され、
前記２点の前記第２の変数は、前記第２成分ブロックの近傍のサンプル対に基づいて、対応する前記第１成分サンプル値として決定される、請求項３９に記載の装置。
【請求項４１】
前記第２成分ブロックの前記サンプルは、少なくとも２つのグループに編成され、
２点は、前記第２成分ブロックのサンプルの各グループに対する線形モデルの定義のために決定される、請求項２６乃至４０の何れか一項に記載の装置。
【請求項４２】
グループについて決定された前記２点が、所定の閾値より小さい傾きパラメータに対応する場合、前記グループによって決定された前記２点は、別のグループについて決定された２点によって置き換えられる、請求項４１に記載の装置。
【請求項４３】
グループについて決定された前記２点が、所定の閾値より小さい傾きパラメータに対応する場合、２つの新しい点が、単一のグループと見なされるすべての前記グループのサンプルに基づいて決定される、請求項４１に記載の装置。
【請求項４４】
同一フレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから第１成分ブロックについての第１成分サンプルを取得する装置であって、
単一の線形モデルを使用するＣＣＬＭモードと、いくつかの線形モデルを使用するＭＭＬＭモードとを含む複数の線形モデル導出モードを定義することと、
第１成分ブロックについての前記第１成分サンプルを取得するための前記線形モデル導出モードのうちの１つを選択することと、
のための手段を含み、
前記線形モデル導出モードのうちの少なくとも１つは、請求項１乃至１８の何れか一項に係る導出する方法を使用する、装置。
【請求項４５】
前記ＣＣＬＭモードのみが、請求項１乃至１８の何れか一項に係る導出する方法を使用する、請求項４４に記載の装置。
【請求項４６】
前記ＭＭＬＭモードのみが、請求項１乃至１８の何れか一項に係る導出する方法を使用する、請求項４４に記載の装置。
【請求項４７】
請求項１乃至１８の何れか一項にしたがって線形モデルを導出するための手段を含む、画像を符号化する装置。
【請求項４８】
請求項１乃至１８の何れか一項にしたがって線形モデルを導出するための手段を含む、画像を復号する装置。
【請求項４９】
プログラム可能機器に読み込まれ実行されるときに、請求項１乃至２５の何れか一項に係る方法を実装するための命令のシーケンスを含む、プログラム可能機器のためのコンピュータプログラム製品。
【請求項５０】
装置内のマイクロプロセッサ又はコンピュータシステムによって実行されると、前記装置に請求項１乃至２５の何れか一項に係る方法を行わせるプログラムを格納する、コンピュータ可読媒体。
【請求項５１】
実行されると、請求項１乃至２５の何れか一項に記載の方法を行わせる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所与のビデオ成分のブロックの符号化又は復号、特にそのような成分ブロックのイントラ予測又はそのようなブロックのサンプルの取得に関する。本発明は、別の成分のサンプル、典型的にはルマサンプルから、ビデオデータの成分のブロック、典型的にはクロマ成分のブロックを取得する際の用途を見出す。
【背景技術】
【０００２】
ビデオデータの予測符号化は、画素のブロックへのフレームの分割に基づく。画素の各ブロックについて、利用可能なデータ内で予測子ブロックが探索される。この予測子ブロックは、ＩＮＴＥＲ符号化モードにおいて現在のフレームとは異なる参照フレーム内のブロックであってもよく、ＩＮＴＲＡ符号化モードにおいて現在のフレーム内の隣接画素から生成されるブロックであってもよい。予測子ブロックを決定する異なる方法にしたがって、異なる符号化モードが定義される。符号化の結果は、予測子ブロック、及び符号化されるべきブロックと予測子ブロックとの間の差分からなる残差ブロックのシグナリングである。
【０００３】
ＩＮＴＲＡ符号化モードに関しては、通常、直流（ＤＣ）モード、プレーナモード、アンギュラモードなど、様々なモードが提案されている。それらの各々は、空間的に隣接するブロックから以前に復号された境界サンプルを使用してブロックのサンプルを予測することを試みる。
【０００４】
この符号化は、ビデオデータの画素を形成する成分ごとに行われてもよい。ＲＧＢ（赤−緑−青用）表現は周知であるが、チャネル間冗長性を低減するために、符号化に好ましくはＹＵＶ表現が使用される。これらの符号化モードによれば、画素のブロックは、いくつかの、典型的には３つの成分ブロックから構成されると見なされ得る。ＲＧＢ画素ブロックは、ブロックの画素のＲ成分の値を含むＲ成分ブロックと、これらの画素のＧ成分の値を含むＧ成分ブロックと、これらの画素のＢ成分の値を含むＢ成分ブロックとからなる。同様に、ＹＵＶ画素ブロックは、Ｙ成分ブロック（ルマ）、Ｕ成分ブロック（クロマ）、Ｖ成分ブロック（同じくクロマ）から構成される。別の例はＹＣｂＣｒであり、Ｃｂ及びＣｒはクロマ成分としても知られる。しかしながら、成分間（クロスコンポーネントとしても知られる）相関は、依然として局所的に観察される。
【０００５】
圧縮効率を向上させるために、現在、Ｃｒｏｓｓ−Ｃｏｍｐｏｎｅｎｔ  Ｐｒｅｄｉｃｔｉｏｎ（ＣＣＰ）の使用が検討されている。ＣＣＰの主な用途は、ルマからクロマの予測に関する。これは、ルマサンプルが既に符号化され、符号化されたデータから（デコーダがするように）再構成されており、クロマがルマから予測されることを意味する。しかしながら、変形例は、クロマからクロマの予測のために、又はより一般的には（ＲＧＢを含む）第１成分からの第２成分の予測のためにＣＣＰを使用する。
【０００６】
Ｃｒｏｓｓ−Ｃｏｍｐｏｎｅｎｔ  Ｐｒｅｄｉｃｔｉｏｎは、クロマ画素のブロックに直接適用されてもよく、残差クロマブロック（クロマブロックとクロマブロック予測子との間の差分を意味する）に適用されてもよい。
【０００７】
線形モデル（ＬＭ）モードは、決定される１つ又は２つのパラメータ、すなわち傾き（α）及びオフセット（β）に依存して、クロマイントラ予測モードとしてルマからクロマを予測するために線形モデルを使用する。したがって、クロマイントラ予測子は、これらのパラメータを有する線形モデルを使用して、現在のルマブロックの再構成ルマサンプルから導出される。
【０００８】
線形性、すなわちパラメータα及びβは、再構成因果サンプルから、特に予測する現在のクロマブロックに隣接するクロマサンプルを含む再構成クロマサンプルセットから導出され、現在のルマブロックに隣接するルマサンプルを含む隣接ルマサンプルセットから導出される。
【０００９】
具体的には、Ｎ×Ｎクロマブロックの場合、上の行のＮ個の近隣と、左列のＮ個の近隣とが、導出のための隣接クロマサンプルセットを形成するために使用される。
【００１０】
隣接ルマサンプルセットは、対応するルマブロックの真上のＮ個の隣接サンプルと、ルマブロックの左側のＮ個の隣接サンプルからも作成される。
【００１１】
クロマ成分をサブサンプリングすることにより、ビジュアルレンダリングの著しい劣化なしに、符号化するビデオデータのサイズを低減することが知られている。公知のサブサンプリングモードは、４：１：１、４：２：２、４：２：０とラベル付けされている。
【００１２】
ビデオクロマデータがサブサンプリングされる状況では、Ｎ×Ｎクロマブロックに対応するルマブロックは、Ｎ×Ｎより大きい。その場合、隣接するルマサンプルセットは、そのクロマ解像度に一致するようにダウンサンプリングされる。現在のＮ×Ｎクロマブロック内のクロマサンプルを予測するクロマイントラ予測子は、１つ以上のパラメータα及びβが導出された線形モデルと、クロマ解像度に一致するように以前にダウンサンプリングされた現在のルマブロックの再構成ルマサンプルとを使用して生成されなければならない。再構成ルマサンプルをクロマ解像度にダウンサンプリングすることにより、ルマサンプルセットとクロマイントラ予測子との両方を形成するためにクロマサンプルと同数のサンプルを取り出すことが可能になる。
【００１３】
したがって、クロマイントラ予測子は、エンコーダにおいて符号化される残差クロマブロックを取得するために、現在のクロマブロックから減算される。逆に、デコーダにおいては、クロマイントラ予測子は、復号ブロックの再構成としても知られるクロマブロックを取り出すために、受信された残差クロマブロックに加算される。これはまた、サンプル範囲から外れる加算の結果のクリッピングを伴い得る。
【００１４】
場合によっては、この残差クロマブロックは無視でき、したがって符号化中に考慮されない。この場合、上述のクロマイントラ予測子が、クロマブロックそのものとして用いられる。結果として、上記のＬＭモードは、１つ以上のパラメータを有する線形モデルを使用して、同じフレーム内の別の成分のブロックの関連付けられた（すなわち、同一場所にある又は対応する）再構成サンプルから、所与の成分の現在のブロックについてサンプルを取得することを可能にする。このサンプルは、１つ以上のパラメータが導出された線形モデルと、他の成分のブロック内の関連付けられた再構成サンプルとを使用して取得される。必要に応じて、他の成分のブロックは、現在の成分のブロック解像度に一致するようにダウンサンプリングされたサンプルから作られる。典型的には現在の成分のブロックはクロマブロックであり、他の成分のブロックはルマブロックであるが、一方でこれが当てはまらない場合がある。明確にするため、及び簡単にするために、本明細書で与えられる例はルマブロックからのクロマブロックの予測に焦点を当てるが、説明されるメカニズムは、別の成分からの任意の成分予測に適用され得ることは明らかであるはずである。
【００１５】
Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅａｍ（ＪＶＥＴ）のＪｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ（ＪＥＭ）は、既に知られている通常のイントラ予測モードに６つのクロスコンポーネント（ルマからクロマへの）線形モデルモードを追加する。これらのモードはすべて、クロマブロックを予測又は生成するために互いに競合し、その選択は通常、エンコーダ端におけるレート歪み基準に基づいて行われる。
【００１６】
この６つのクロスコンポーネント（ルマからクロマへの）線形モデルモードは、再構成ルマサンプルをダウンサンプリングするために使用される異なるダウンサンプリング方式によって、及び／又はパラメータα及びβが導出されるサンプルの異なるサンプルセットによって、互いに異なっている。
【００１７】
例えば、サンプルセットは、現在のルマ又はクロマブロックに隣接するサンプルの２つのライン（すなわち、行及び列）から作成されてもよく、これらのラインは、平行であり、クロマ解像度で現在のルマ又はクロマブロックの上及び／又は左の境界の各々に直に接する。このような例示的なサンプルセットは、米国特許第９，７３６，４８７号に記載されている。
【００１８】
他の例示的なサンプルセットもまた、米国特許第９，２８８，５００号及び米国特許第９，４６２，２７３号に開示されている。
【００１９】
ＪＥＭで使用されるダウンサンプリング方式は、６つの再構成ルマサンプルからダウンサンプリングされた再構成ルマサンプルを決定する６タップフィルタだけでなく、６つの再構成ルマサンプルのうちの右上及び右下のサンプル、又は右下及び右下のサンプル、又は上及び左上のサンプルのいずれかを選択する３つの２タップフィルタと、６つの再構成ルマサンプルの上、右上、下、及び右下のサンプルを選択する４タップフィルタとも含む。
【発明の概要】
【００２０】
ＪＥＭは処理面で複雑である。例えば、これは、クロマ予測子ブロックサンプルの計算のための線形モデルパラメータの複雑な導出を必要とする。
【００２１】
本発明は、前述の問題の１つ以上に対処するために考案された。本発明は、場合によってはクロマイントラ予測を通じて現在のクロマブロックについてクロマサンプルを得るための改善された方法に関する。
【００２２】
本発明の第１の態様によれば、請求項１に係る方法が提供される。
【００２３】
本発明の別の態様によれば、請求項２６に係る線形モデルを導出するための装置が提供される。
【００２４】
本発明の別の態様によれば、請求項４４に係る同一フレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから第１成分ブロックについての第１成分サンプルを取得する装置が提供される。
【００２５】
本発明の別の態様によれば、請求項４９〜５１に係るコンピュータプログラム製品、コンピュータ可読媒体、又はコンピュータプログラムが提供される。
【００２６】
本発明のさらなる態様は、従属請求項において提供される。
【００２７】
さらなる態様によれば、関連付けられた再構成第２成分サンプル値から第１成分サンプル値を取得するための線形モデルを導出する方法であって、２つ以上のセットから１つを取り、各セットは第１成分サンプル値と第２成分サンプル値とを含む、取る事と、２つのうちの前記第１成分サンプル値が、導出された線形モデルを用いてそれぞれのセットの第２成分サンプル値から取得可能となるように、第１成分サンプル値と第２成分サンプル値との変化の比率に基づいて線形モデルを導出することと、を含む。
【００２８】
第１成分サンプル値と、関連付けられた再構成第２成分サンプル値とは、事前に設定された関係で互いに関連付けられていることが理解される。
【００２９】
適切には、事前に設定された関係は、それらが互いに、同一場所にある又は対応することである。この同一場所にある又は対応することは、各サンプル値それぞれについて、又は第１成分サンプル値のブロック／グループと第２成分サンプル値のブロック／グループとの間で定義されてもよい。
【００３０】
適切には、事前に設定された関係は、それらが処理される画素の現在のブロックの少なくとも１画素と関連付けられることであり、例えば、それらが、同一場所にある又は対応する、処理されるべき少なくとも１画素のサンプル値であることである。この同一場所にある又は対応の関係は、各サンプル値それぞれについて、又はサンプル値のブロック／グループから画素のブロック／グループに対して定義されてもよい。
【００３１】
また、ブロック間又は現在の画素のブロックの少なくとも１画素との事前に設定された関係が、ダウンサンプリング／アップサンプリングの後に確立することができるように、ダウンサンプリング又はアップサンプリング処理が第１成分サンプル値又は第２成分サンプル値のブロックに適用されてもよいことも理解される。
【００３２】
適切には、第１成分サンプル値及び関連付けられた第２成分サンプル値は、処理されるべき同じ画像又はフレームの画素のブロックに関連付けられる。ここで、第１成分サンプル値と第２成分サンプル値とを含むセットは、第１成分サンプル値と第２成分サンプル値との成分サンプル値セットであることが理解される。したがって、このセットは、第１成分サンプル値及び第２成分サンプル値をその要素として有するｎタプルである。適切には、このセットは２タプルである。代わりに、このセットは、２つ以上の数の要素（ｎ個の要素）を有するｎタプルである。
【００３３】
適切には、第１の成分及び第２の成分の再構成サンプル値は、処理される現在のブロックに隣接する１つ以上のブロックに関連付けられる。適切には、この現在のブロックに隣接する１つ以上のブロックは、現在のブロックの上又は左にある。
【００３４】
適切には、取られる２つのセットは、２つ以上のセット内の第２成分サンプル値のうち、最も小さい第２成分サンプル値及び最も大きい第２成分サンプル値を含むセットである。適切には、この取られる２つのセットは、２つ以上のセット内の第１成分サンプル値のうち、最も小さい第１成分サンプル値及び最も大きい第１の成分サンプル値を含むセットである。
【００３５】
適切には、この２つのセットを取ることは、２つ以上のセット内の第２成分サンプル値のうち、最も小さい第２成分サンプル値及び最も大きい第２成分サンプル値を含むセットの第１のグループを決定することと、２つ以上のセット内の第１成分サンプル値のうち、最も小さい第１成分サンプル値及び最も大きい第１成分サンプル値を含むセットの第２のグループを決定することと、第１のグループと第２のグループのセットからこの２つのセットを選択することと、を含む。
【００３６】
適切には、第１のグループ及び第２のグループのセットからこの２つのセットを選択することは、最も小さい第２成分サンプル値と最も大きい第２成分サンプル値との間の差が、最も小さい第１成分サンプル値と最も大きい第１成分サンプル値との間の差よりも大きい場合には第１のグループを選択し、そうでなければ、第２のグループを選択することを含む。
【００３７】
適切には、第１のグループ及び第２のグループのセットから２つのセットを選択することは、第１のグループと第２のグループのセットのサンプル値の位置を決定することと、その決定されたサンプル値の位置に基づいて２つのセットを選択することと、を含む。適切には、このサンプル値の位置は、処理される第１の成分サンプル値のブロックに関連付けられた再構成第２成分サンプル値のブロックに関して、再構成第２成分サンプル値について決定される。適切には、このサンプル値の位置は、処理される再構成第１成分サンプル値のブロックに関して、再構成第１成分サンプル値について決定される。適切には、このサンプル値の位置は、処理される画素のブロックに関して定義された、関連付けられた／同一場所にある／対応する位置に基づいて決定される。
【００３８】
適切には、決定されたサンプル値の位置に基づいて２つのセットを選択することは、処理されるブロックに隣接する所定の位置におけるサンプル値を含むセットを選択することを含む。適切には、決定されたサンプル値の位置に基づいて２つのセットを選択することは、第１のグループ及び第２のグループのセットのいずれかが所定の位置におけるサンプル値を含むかどうかを決定することと、所定の位置におけるサンプル値を含むセットを２つのセットのいずれかとして選択することと、を含む。適切には、決定されたサンプル値の位置に基づいて２つのセットを選択することは、所定の位置のサンプル値を含むセットが利用可能でない場合に、第１のグループ及び第２のグループのセットのいずれかが別の所定の位置のサンプル値を含むかどうかを決定することと、その別の所定の位置のサンプル値を含むセットを２つのセットのいずれかとして選択することと、を含む。適切には、その所定の位置又は別の所定の位置は、処理される現在のブロックに隣接する位置のうちの左下又は右上位置である。
【００３９】
適切には、セットの第１のグループ及び第２のグループからの２つのセットを選択することは、セットの第１のグループ及び第２のグループからの２つのセット間の距離を比較することを含み、ここで、その距離は、第１及び第２の成分サンプル値の空間において定義され、第１及び第２の成分サンプル値は、２つ以上のセットの各セットが前記空間における位置に対応するように、セットの要素によって定義される。
【００４０】
適切には、２つのセットを選択することは、第１のグループ内のセット間の距離が第２のグループ内のセット間の距離よりも大きいかどうかを決定することと、第１のグループのセット間の距離が第２のグループのセット間の距離よりも大きい場合には第１のグループを選択し、そうでない場合には第２のグループを選択することと、を比較する。適切には、この２つのセットを選択することは、セットの第１のグループ及び第２のグループセットからそれらの間に最も大きい距離を有する２つのセットを選択することを含む。
【００４１】
適切には、２つのセットを選択することは、第１のグループ内のセットの対応する要素が同じ値を有するか、又は異なる値を有するかを決定することと、その対応する要素が同じ値を有さない場合には第１のグループを選択し、対応する値が同じ値を有する又は異なる値を有さない場合には第２のグループを選択ことと、を含む。適切には、そのセットの対応する要素は、第１成分サンプル値及び第２成分サンプル値の一方又は両方である。
【００４２】
適切には、２つのセットを選択することは、第２のグループ内のセットの対応する要素が同じ値を有するか、又は異なる値を有するかを決定することと、その対応する要素が同じ値を有さない場合には第２のグループを選択し、対応する値が同じ値を有する又は異なる値を有さない場合には第１のグループを選択することと、を含む
【００４３】
適切には、２つのセットを選択することは、第１のグループのセット間の第１成分サンプル値と第２成分サンプル値との変化の比率を取得することと、取得された比率が事前に設定された値より大きいか、等しいか、又は小さいかを決定することと、得られた比率が予め設定された値より大きいか、等しいか、又は小さい場合には第１のグループを選択し、そうでなければ第２のグループを選択することと、を含む。適切には、２つのセットを選択することは、第２のグループのセット間の第１成分サンプル値及び第２成分サンプル値の変化の比率を取得することと、取得された比率が事前に設定された値より大きいか、等しいか、又は小さいかを決定することと、取得された比率が事前に設定された値より大きいか、等しいか、又は小さい場合には第２のグループを選択し、そうでなければ第１のグループを選択することと、を含む。
【００４４】
適切には、取られる２つのセットは、処理される現在のブロックに関連付けられた第２成分サンプル値のブロックに隣接する１つ以上のブロックからの第２成分サンプル値を含むセットであり、２つのセットを取ることは、それらの第２成分サンプル値に基づいて２つのセットを選択することを含む。適切には、取られる２つのセットは、対応する第２成分サンプル値のブロックの再構成サンプル値のうち最も頻繁に発生する２つの第２成分サンプル値を含むセットである。
【００４５】
適切には、第２成分の再構成サンプル値は、少なくとも２つのグループに分割され、各グループについて、２つのセットが取られ、取られた２つのセットに基づいて線形モデルが導出される。適切には、あるグループについて取られた２つのセットが、事前に設定された値以下の、そのセット間の第１の成分サンプル値及び第２の成分サンプル値の変化の比を有する場合、そのグループの線形モデルは、別のグループについて取られた２つのセットに基づいて導出される。適切には、あるグループについてとられた２つのセットが、事前に設定された値以下の、セット間の第１の成分サンプル値及び第２の成分サンプル値の変化の比率を有する場合、そのグループの線形モデルは、第２成分の再構成サンプル値がすべて単一のグループ内にあった場合にとられたであろう２つのセットに基づいて導出される。
【００４６】
さらに別の態様によれば、１つ以上の画像をビットストリームへと符号化する又はビットストリームから復号する方法であって、本発明の第１の態様の方法に係る関連付けられた再構成第２成分サンプル値から第１成分サンプル値を取得するための線形モデルを導出する方法が提供される。
【００４７】
適切には、本方法は、処理される画像の現在のブロックについての第１成分サンプル値を取得するための複数の線形モデル導出モードのうちの１つを選択することをさらに含み、ここで、その複数の線形モデル導出モードは、単一の線形モデルを使用する第１のモードと、２つ以上の線形モデルを使用する第２のモードとを含み、導出された線形モデルは、選択された線形モデル導出モードで使用可能である。適切には、第１のモードのみが導出された線形モデルを使用する。代わって、第２のモードのみが導出された線形モデルを使用する。
【００４８】
さらに別の態様によれば、関連する再構成第２成分サンプル値から第１成分サンプル値を得るための線形モデルを導出するための装置であって、本発明の第１の態様の方法を行うように構成された装置が提供される。
【００４９】
さらに別の態様によれば、１つ以上の画像をビットストリームへと符号化する又はビットストリームから復号する装置であって、本発明の第２の態様の方法を行うように構成される装置が提供される。
【００５０】
さらに別の態様によれば、関連付けられた再構成第２成分サンプル値から第１成分サンプル値を取得する方法であって、第１成分サンプル値を取得するための複数の線形モデルモードの中から１つの線形モデルモードを選択することと、その選択された線形モデルモードを使用して第１成分サンプル値を取得することと、を含み、ここで、複数の線形モデルモードのうちの少なくとも１つは、本発明の第１の態様に係る導出方法を使用して導出された線形モデルを使用する、方法が提供される。適切には、複数の線形モデルモードは、単一の線形モデルを使用する第１のモードと、２つ以上の線形モデルを使用する第２のモードとを含む。適切には、第１のモードのみが本発明の第１の態様に係る導出方法を使用する。代わって、第２のモードのみが、本発明の第１の態様による導出方法を用いる。
【００５１】
さらに別の態様によれば、関連付けられた再構成第２成分サンプル値から第１成分サンプル値を得るための装置であって、本発明の第５の態様の方法を行うように構成された装置が提供される。
【００５２】
さらに別の態様によれば、本発明の第５の態様に係る関連付けられた再構成第２成分サンプル値から第１の成分サンプル値を取得することを含む、１つ以上の画像をビットストリームへと符号化する方法が提供される。適切には、本方法は、ビットストリームにおいて、第１成分サンプルを取得するために使用可能な線形モデルモードの選択を示す情報を提供することをさらに含む。
【００５３】
さらに別の態様によれば、１つ以上の画像をビットストリームから復号する方法であって、本発明の第５の態様に係る関連付けられた再構成第２成分サンプル値から第１成分サンプル値を取得することを含む方法が提供される。適切には、本方法は、ビットストリームから、第２成分サンプルを取得するために使用可能な線形モデルモードについての選択を示す情報を取得することと、取得された情報に基づいて行われる複数の線形モデルモードの中から１つの線形モデルモードを選択することと、を含む。
【００５４】
さらに別の態様によれば、本明細書で説明される方法を行うように構成される、１つ以上の画像をビットストリームへと符号化するための装置が提供される。
【００５５】
さらに別の態様によれば、実行時に、本明細書で説明される方法を実行させるコンピュータプログラム、及び本明細書で説明される方法を実施するための命令を格納する（非一時的）コンピュータ可読媒体が提供される。
【００５６】
本発明によれば、添付の特許請求の範囲に記載の装置、方法、コンピュータプログラム（製品）、及びコンピュータ可読記憶媒体が提供される。本発明の実施形態の他の特徴は、添付の特許請求の範囲及び以下の説明で定義される。これらの特徴のいくつかは、ここでは方法を参照して説明されるが、それらは、装置専用のシステム特徴に転置され得る。
【００５７】
本発明に係る方法の少なくとも一部は、コンピュータで実装されてもよい。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む。）、又はソフトウェア及びハードウェアの態様を組み合わせる実施形態の形態を取ってもよく、これらは全て、本明細書において「プロセッサ及びメモリ」、「回路」、「モジュール」、又は「システム」と一般に呼ばれてもよい。さらに、本発明は、媒体で実現されるコンピュータ使用可能プログラムコードを有する任意の有形表現媒体で実現されるコンピュータプログラム製品の形態を取ってもよい。
【００５８】
本発明はソフトウェアで実装できるため、本発明は、任意の適切なキャリア媒体上でプログラム可能機器に提供するためのコンピュータ可読コードとして具体化することができる。有形キャリア媒体は、ハードディスクドライブ、磁気テープ装置又は固体メモリ装置などの記憶媒体を含んでいてもよい。過渡キャリア媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、又は電磁信号、例えば、マイクロ波又はＲF信号などの信号を含んでいてもよい。
【図面の簡単な説明】
【００５９】
ここで本発明の実施形態は、単なる例として、以下の図面を参照して記載される。
【００６０】
【図１】ビデオエンコーダ論理アーキテクチャを示す図である。
【００６１】
【図２】図１に示すビデオエンコーダ論理アーキテクチャに対応するビデオデコーダ論理アーキテクチャを示す図である。
【００６２】
【図３】４：２：０サンプリングのためのＹＵＶサンプリング方式の例を概略的に示す。
【００６３】
【図４】エンコーダ又はデコーダのいずれかによって行われる、ＬＭモードを使用してブロック予測子を生成するための一般的なステップをフローチャートを使用して示す。
【００６４】
【図５】従来技術で知られているように、ルマサンプルのダウンサンプリング、ならびに隣接クロマサンプル及びルマサンプルを伴う、クロマブロック及び関連する又は同一場所にあるルマブロックを概略的に示す。
【００６５】
【図６】従来技術で知られているＬＭパラメータ導出のための例示的なサンプルセットを概略的に示す。
【００６６】
【図７】従来技術において知られているいくつかのダウンサンプリングフィルタを示す図である。
【００６７】
【図８】シグナリングＬＭモードへのシグナリングフラグの例示的な符号化を示す図である。
【００６８】
【図９】本発明の一実施形態において取得された線形モデルパラメータを表す、ルマ及びクロマ近隣サンプルの点並びに直線を示す図である。
【００６９】
【図１０】本発明の一実施形態における簡略化ＬＭ導出処理の主要なステップを示す図である。
【００７０】
【図１１】本発明のいくつかの実施形態において最良の２点を決定するために使用されるルマ及びクロマ隣接サンプル並びにセグメントのいくつかの点を示す図である。
【００７１】
【図１２】本発明の一実施形態におけるＭＭＬＭ導出処理の主要なステップを示す図である。
【００７２】
【図１３】本発明の１つ以上の実施形態の実装のための計算装置の概略ブロック図である。
【発明を実施するための形態】
【００７３】
図１は、ビデオエンコーダアーキテクチャを示す。ビデオエンコーダにおいて、元のシーケンス１０１は、ＨＥＶＣのためのコーディングブロック又はコーディングユニットと呼ばれる画素のブロック１０２に分割される。次いで、コーディングモードは、各ブロックに影響を及ぼす。典型的に使用されるビデオコーディングには、空間予測又は「ＩＮＴＲＡモード」１０３に基づく符号化モードと、動き推定１０４及び動き補償１０５に基づく時間予測又は「ＩＮＴＥＲモード」に基づく符号化モードと、のコーディングモードの２つのファミリーがある。
【００７４】
ＩＮＴＲＡコーディングブロックは、一般に、ＩＮＴＲＡ予測と呼ばれる処理によってその因果境界にある符号化された画素から予測される。したがって、ＩＮＴＲＡコーディングブロックの各画素についての予測子は、予測子ブロックを形成する。ＩＮＴＲＡコーディングブロックを予測するためにどの画素が使用されるかに応じて、様々なＩＮＴＲＡモードが、例えばＤＣモード、プレーナモード及びアンギュラモードが提案される。
【００７５】
図１はビデオエンコーダアーキテクチャの一般的な説明に向けられているが、画素は、ここでは画像の要素に対応し、典型的にはいくつかの成分、例えば赤色成分、緑色成分、及び青色成分からなることに留意されたい。画像サンプルは画像の要素であり、成分１つのみを含む。
【００７６】
時間予測は、まず、参照フレーム１１６と呼ばれる以前又は将来のフレームにおいて、動き推定ステップ１０４においてコーディングブロックに最も近い参照領域を見つけることにある。この参照領域が予測子ブロックを構成する。次に、このコーディングブロックは、動き補償ステップ１０５において、その残差又は残差ブロックを計算するために予測子ブロックを使用して予測される。
【００７７】
空間予測及び時間予測の両方の場合において、残差又は残差ブロックは、コーディングブロックから取得された予測子ブロックを減算することによって計算される。
【００７８】
ＩＮＴＲＡ予測では、予測モードが符号化される。
【００７９】
時間予測では、使用する参照フレームを示すインデックスと参照フレーム内の参照領域を示す動きベクトルとが符号化される。しかしながら、動きベクトル符号化に関するビットレートコストをさらに低減するために、動きベクトルは直接符号化されない。実際、動きが均一であると仮定すると、動きベクトルを、この動きベクトルとその周囲の動きベクトル（又は動きベクトル予測子）との差として符号化することが特に有利である。例えば、コーディング規格Ｈ．２６４／ＡＶＣでは、動きベクトルは、現在のブロックの上及び左に位置する３つのブロックに関連付けられた動きベクトルから計算される中央値ベクトルに関して符号化される。この中央値ベクトルと現在のブロック動きベクトルとの間で計算される残差動きベクトルとも呼ばれる差分のみがビットストリームにおいて符号化される。これは、モジュール「Ｍｖ予測及びコーディング」１１７において処理される。各符号化ベクトルの値は、動きベクトルフィールド１１８に格納される。予測に使用される隣接動きベクトルは、動きベクトルフィールド１１８から抽出される。
【００８０】
ＨＥＶＣ規格は、３つの異なるＩＮＴＥＲモード、インターモード、マージモード、及びマージスキップモードを使用し、それらは主に、ビットストリーム１１０における動き情報（すなわち、そのいわゆる参照フレームインデックスを通した動きベクトル及び関連付けられた参照フレーム）のシグナリングによって互いに異なる。簡単にするために、動きベクトルと動き情報とは、以下においてまとめられる。動きベクトル予測に関して、ＨＥＶＣは、インターモード又はマージモードのそれぞれに対して最良の動きベクトル予測子又は最良の動き情報を見つけるために、レート歪み競合の間に評価される動きベクトル予測子のいくつかの候補を提供する。動き情報の最良の予測子又は最良の候補に対応するインデックスは、ビットストリーム１１０に挿入される。このシグナリングのおかげで、デコーダは、予測子又は候補の同じセットを導出することができ、復号されたインデックスにしたがう最良のものを使用する。
【００８１】
動きベクトル予測子及び候補の導出の設計は、複雑さに大きな影響を与えることなく最良のコーディング効率を達成することに寄与する。ＨＥＶＣでは、２つの動きベクトル導出が提案され、１つは（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ（ＡＭＶＰ）として知られる）インターモードであり、１つは（マージ導出処理として知られる）マージモードである。
【００８２】
次に、モジュール１０６において、現在考慮されているコーディングブロックに対するレート歪み基準を最適化するコーディングモードが選択される。取得された残差データ内の冗長性をさらに低減するために、変換が、典型的にはＤＣＴがモジュール１０７において残差ブロックに適用され、量子化がモジュール１０８において取得された係数に適用される。次いで、量子化された係数ブロックは、モジュール１０９においてエントロピー符号化され、その結果がビットストリーム１１０に挿入される。
【００８３】
次いで、エンコーダは、モジュール１１１〜１１６において、将来の動き推定のためにフレームのコーディングブロックの各々の復号を行う。これらのステップは、エンコーダ及びデコーダが同じ参照フレーム１１６を有することを可能にする。コーディングされたフレームを再構成するために、量子化及び変換された残差ブロックの各々は、画素ドメインにおける対応する「再構成」残差ブロックを提供するために、モジュール１１１において逆量子化され、モジュール１１２において逆変換される。量子化の損失のために、この「再構成」残差ブロックは、ステップ１０６で取得された元の残差ブロックと異なる。
【００８４】
次に、１０６で選択されたコーディングモード（ＩＮＴＥＲ又はＩＮＴＲＡ）にしたがって、この「再構成」残差ブロックは、「事前再構成」ブロック（コーディングブロック）を取得するために、ＩＮＴＥＲ予測子ブロック１１４又はＩＮＴＲＡ予測子ブロック１１３に加算される。
【００８５】
次に、「事前再構成」ブロックは、モジュール１１５において、「再構成」ブロック（コーディングブロック）を取得するために１つ又はいくつかの種類のポストフィルタリングによってフィルタリングされる。同じポストフィルタが（復号ループ内の）エンコーダ及びデコーダで統合され、エンコーダ及びデコーダ端で全く同じ参照フレームを得るために同じ方法で使用される。このポストフィルタリングの目的は、圧縮アーティファクトを除去することである。
【００８６】
図２は、図１に示されるビデオエンコーダアーキテクチャに対応するビデオデコーダアーキテクチャを示す。
【００８７】
ビデオストリーム２０１は、まずモジュール２０２においてエントロピー復号される。次いで、取得された各残差ブロック（コーディングブロック）は、「再構成」残差ブロックを取得するために、モジュール２０３において逆量子化され、モジュール２０４において逆変換される。これは、エンコーダ端における復号ループの開始と同様である。
【００８８】
次に、ビットストリーム２０１に示される復号モード（ＩＮＴＲＡ型復号又はＩＮＴＥＲ型復号のいずれか）にしたがって、予測子ブロックが構築される。
【００８９】
ＩＮＴＲＡモードの場合、ＩＮＴＲＡ予測子ブロックは、ビットストリーム２０１において指定されたＩＮＴＲＡ予測モードに基づいて決定される（２０５）。
【００９０】
ＩＮＴＥＲモードの場合、動き情報はエントロピー復号２０２の間にビットストリームから抽出される。この動き情報は、例えばＨＥＶＣ及びＪＶＥＴにおいて、参照フレームインデックス及び動きベクトル残差から構成される。
【００９１】
動きベクトル予測子は、動きベクトルフィールドデータ２１１に格納された既に計算された動きベクトルを使用して（隣接ブロックから）エンコーダによって行われるのと同じ方法で取得される。したがって、それは、動きベクトルを取得するために、抽出された動きベクトル残差ブロックに加算される（２１０）。この動きベクトルは、次の復号動きベクトルの予測に使用されるために動きベクトルフィールドデータ２１１に加算される。
【００９２】
動きベクトルはまた、ＩＮＴＥＲ予測子ブロックである参照フレーム２０６内の参照領域の位置を特定するために使用される。
【００９３】
次に、エンコーダの復号ループと同様に、２０４で取得された「再構成」残差ブロックは、「事前再構成」ブロック（コーディングブロック）を取得するために、ＩＮＴＥＲ予測子ブロック２０６又はＩＮＴＲＡ予測子ブロック２０５に加算される。
【００９４】
次に、この「事前再構成」ブロックは、エンコーダ端において行われるようにモジュール２０７においてポストフィルタリングされる（使用するポストフィルタリングのシグナリングは、ビットストリーム２０１から取り出されてもよい）。
【００９５】
このようにして、復号器の出力として非圧縮ビデオ２０９を形成する「再構成」ブロック（コーディングブロック）が得られる。
【００９６】
上述した符号化／復号処理は、モノクロフレームに適用されてもよい。しかしながら、大部分の一般的なフレームは、一般にカラーサンプルの３つのアレイで作成されたカラーフレームであり、各アレイは、「色成分」、例えばＲ（赤）、Ｇ（緑）、及びＢ（青）に対応する。画像の画素は、各成分に対して１つずつ、３つの同一場所にある／対応するサンプルを含む。
【００９７】
通常、Ｒ、Ｇ、Ｂ成分は高い相関を有している。したがって、画像及びビデオ圧縮においては、他の色空間に色成分を変換することによって、フレームを処理する前に色成分を非相関化することが極めて一般的である。最も一般的なフォーマットはＹＵＶ（ＹＣｂＣｒ）であり、Ｙはルマ（又はルミナンス）成分であり、Ｕ（Ｃｂ）及びＶ（Ｃｒ）はクロマ（又はクロミナンス）成分である。
【００９８】
処理するデータの量を低減するために、色フレームのいくつかの色成分がサブサンプリングされ、その結果、３つの色成分に対して異なるサンプリング比率を有してもよい。サブサンプリング方式は、概念的な２画素高範囲におけるルマサンプル及びクロマサンプルの数を記載する３部分比率Ｊ：ａ：ｂとして一般に表される。「Ｊ」は、概念範囲の水平サンプリング基準（すなわち、画素の幅）、通常は４を定義する。「ａ」は、Ｊ画素の第１の行におけるクロマサンプルの数（Ｃｒ、Ｃｂ）を定義し、一方で「ｂ」は、Ｊ画素の第２の行における（追加の）クロマサンプルの数（Ｃｒ、Ｃｂ）を定義する。
【００９９】
サブサンプリング方式では、クロマサンプルの数は、ルマサンプルの数と比較して低減される。
【０１００】
４：４：４ＹＵＶ又はＲＧＢフォーマットは、サブサンプリングを提供せず、ルマ及びクロマフレームが同じサイズＷ×Ｈを有する非サブサンプリングフレームに対応する。
【０１０１】
４：０：０ＹＵＶ又はＲＧＢフォーマットは、色成分１つのみを有し、したがってモノクロフレームに対応する。
【０１０２】
例示的なサンプリングフォーマットは以下のとおりである。
【０１０３】
４：２：０ＹＵＶフォーマットは、第１の行ではルマサンプルの半分の数のクロマサンプルを有し、第２の行ではクロマサンプルを有さない。したがって、２つのクロマフレームはＷ／２画素幅及びＨ／２画素高さであり、そこでルマフレームはＷ×Ｈである。
【０１０４】
４：２：２ＹＵＶフォーマットは、第１の行ではルマサンプルの半分の数のクロマサンプルと、第２の行ではルマサンプルの半分の数のクロマサンプルとを有する。したがって、２つのクロマフレームはＷ／２画素幅及びＨ画素高さであり、ルマフレームはＷ×Ｈである。
【０１０５】
４：１：１ＹＵＶフォーマットは、ルマサンプルよりも第１の行では７５％少ないクロマサンプルを有し、第２の行では７５％少ないクロマサンプルを有する。したがって、２つのクロマフレームはＷ／４画素幅及びＨ画素高さであり、ルマフレームはＷ×Ｈである。
【０１０６】
サブサンプリングされるとき、そのフレーム内のクロマサンプルの位置は、ルマサンプル位置と比較してシフトされる。
【０１０７】
図３は、４：２：０ＹＵＶフレームに対するルマサンプル（円）に対するクロマサンプル（三角形）の例示的な位置決めを示す。
【０１０８】
図１の符号化処理は、入力フレームの各色成分フレームに適用されてもよい。
【０１０９】
色成分間の相関（ＲＧＢ間、又はＲＧＢ−ＹＵＶ変換にも関わらず残存するＹＵＶ間の相関）に起因して、コーディング効率を改善するために、これらの（残存する）相関を利用するためにＣｒｏｓｓ−Ｃｏｍｐｏｎｅｎｔ  Ｐｒｅｄｉｃｔｉｏｎ（ＣＣＰ）法が開発されてきた。
【０１１０】
ＣＣＰ法は、符号化又は復号処理の異なる段階で、特に、（現在の色成分を予測するための）第１の予測段階で、又は（成分の現在の残差ブロックを予測するための）第２の予測段階で適用され得る。
【０１１１】
１つの公知のＣＣＰ法は、ＣＣＬＭ（Ｃｒｏｓｓ−Ｃｏｍｐｏｎｅｎｔ  Ｌｉｎｅａｒ  Ｍｏｄｅｌ  ｐｒｅｄｉｃｔｉｏｎ）とも呼ばれるＬＭモードである。これは、ルマＹから、より具体的には（エンコーダ端又はデコーダ端の）再構成ルマから、クロマ成分Ｃｂ及びＣｒ（又はＵ及びＶ）の両方を予測するために使用される。各コンポーネントに対して１つの予測子が生成される。この方法は、（クロマ及びルマ）ブロックレベル、例えば、ＣＴＵ（コーディングツリーユニット）、ＣＵ（コーディングユニット）レベル、ＰＵ（予測ユニット）レベル、サブＰＵ、又はＴＵ（変換ユニット）レベルで動作する。
【０１１２】
図４は、一例として、フローチャートを使用して、（以下で参考として使用される）エンコーダ又はデコーダのいずれかによって行われる、ＬＭモードを使用してブロック予測子を生成するための一般的なステップを示す。
【０１１３】
以下の説明では、例示的な第１成分はクロマであり、一方で例示的な第２成分はルマである。
【０１１４】
符号化又は復号するための現在のクロマブロック５０２（図５Ａ）と、同じフレーム内の（すなわち、例えば同じＣＵの）その関連付けられた又は対応する（すなわち、「同一場所にある」）ルマブロック５０５とを考慮すると、エンコーダ（又はデコーダ）は、ステップ４０１において、現在のルマブロックに隣接するルマサンプル５０３を含む隣接ルマサンプルセットＲｅｃＬを受信する。そして、エンコーダ（又はデコーダ）は、４０２で示される、現在のクロマブロックに隣接するクロマサンプル５０１を含む隣接クロマサンプルセットＲｅｃＣを受信する。いくつかのクロマサンプリングフォーマット及びクロマフェーズについて、ルマサンプル５０４及び５０３は、図５Ａに示されるように、ルマブロック５０５に直接接しないことに留意されたい。例えば図５Ａでは、左の行ＲｅｃＬ′（５０３）を取得するために、その直接の左の行ではなく、左の第２の行のみが必要である。同様に、上のライン５０４について、上の第２のラインもまた、図５Ａに示されるように、ルマサンプルのダウンサンプリングのために考慮される。
【０１１５】
クロマサンプリングフォーマットが使用される場合（例えば、４：２：０、４：２：２など）、ステップ４０３において、隣接ルマサンプルセットは、クロマ解像度（すなわち、対応するクロマフレーム／ブロックのサンプル解像度）に一致するようにＲｅｃＬ′４０４にダウンサンプリングされる。したがって、ＲｅｃＬ′は、ダウンサンプリングされる現在のルマブロックに隣接する再構成ルマサンプル５０４を含む。このダウンサンプリングのおかげで、ＲｅｃＬ′及びＲｅｃＣは、同じ数２Ｎのサンプルを含む（クロマブロック５０２はＮ×Ｎである）。しかしながら、ＲｅｃＬ′を取得するために必要とされるサンプルが少ない従来技術では、ルマ境界の特定のダウンサンプリングが存在する。加えて、ＲｅｃＬとＲｅｃＣが同じ解像度を有していても、ＲｅｃＬ′はローパス畳み込みフィルタを用いることによるＲｅｃＬのノイズ除去版とみなせる。
【０１１６】
図５Ａの例では、隣接ルマ及びクロマサンプルセットは、ダウンサンプリングされた上及び左隣接ルマサンプル並びに上及び左隣接クロマサンプルからそれぞれ作成される。より精密には、２つのサンプルセットの各々は、それらそれぞれのルマ又はクロマブロックの、左の境界に直接接する第１のラインと、上の境界に直接接する第１のラインとから作成される。ダウンサンプリング（図５Ａでは４：２：０）により、隣接ルマサンプルＲｅｃＬ′の単一のラインは、ダウンサンプリングされていない再構成ルマサンプルＲｅｃＬの２つのライン（左又は上）から取得される。
【０１１７】
米国特許第９，５６５，４２８号は、ルマブロックそのものについてではなく、（ステップ４０８を参照して以下に説明されるように）その上のライン（すなわち、ルマブロックの上の境界に隣接する）についてのみ単一のサンプルを選択するサブサンプリングを使用することを示唆する。提案されるサブサンプリングを図６Ａに示す。このアプローチの動機は、上のラインのラインバッファを低減することである。
【０１１８】
１つ又は２つのパラメータ（傾きα及びオフセットβ）によって定義される線形モデルは、ＲｅｃＬ′（存在する場合、そうでなければＲｅｃＬ）及びＲｅｃＣから導出される。これは、パラメータ４０６を取得するステップ４０５である。
【０１１９】
ＬＭパラメータα及びβは、以下の式を使用して最小平均二乗法を使用して取得される。
【数１】
2021515999.tif 000003
【０１２０】
ここで、Ｍは、考慮されるブロックのサイズに依存する値である。図５Ａ及び図５Ｂに示されるような正方形のブロックの一般的な場合では、Ｍ＝２Ｎである。しかしながら、ＬＭベースのＣＣＰは、Ｍが例えばブロック高さＨとブロック幅Ｗの和である（長方形のブロック形状の場合）、任意のブロック形状に適用されてもよい。
【０１２１】
この式において重みとして使用されるＭの値は、エンコーダ及びデコーダにおける計算オーバーフローを避けるために調整されてもよいことに留意されたい。精密には、３２ビット又は６４ビットの署名付きアーキテクチャを有する算術を使用するとき、演算のいくつかは、時々オーバーフローし、したがって、（任意のクロスプラットフォーム規格では厳しく禁止される）未指定の挙動を引き起こすことがある。この状況と向き合うために、所与の入力ＲｅｃＬ′及びＲｅｃＣ値に与えられた可能な最大の大きさが評価されてもよく、Ｍ（及び次に上記の和）は、オーバーフローが起こらないことを保証するために、それに応じてスケーリングされてもよい。
【０１２２】
パラメータの導出は、通常、図５Ａに示されるサンプルセットＲｅｃＬ′及びＲｅｃＣから行われる。
【０１２３】
サンプルセットのバリエーションが提案されている。
【０１２４】
例えば、米国特許第９，２８８，５００号は、上の境界に接する外側ラインと左の境界に接する外側ラインとから作成される第１のサンプルセットと、上の境界に接する外側ラインのみから作成される第２のサンプルセットと、左の境界に接する外側ラインのみから成る第３のサンプルセットとを含む、３つの競合サンプルセットを提案する。これらの３つのサンプルセットは、クロマブロックについてのみ図６Ｂに示されている（したがって、ルマブロックに転置することができる）。
【０１２５】
米国特許第９，４６２，２７３号は、第２及び第３のサンプルセットを、外側ラインを拡張する追加のサンプルに拡張する（通常、それらの長さを２倍にする）。拡張されたサンプルセットは、クロマブロックについてのみ図６Ｃに示されている。本文書はまた、ビットストリームで使用されるＬＭモードをシグナリングするためのシグナリングコストを減少させるために利用可能なＬＭモードの数の低減を提供する。この低減は、例えば、関連付けられたルマブロックについて選択されたイントラモードに基づいて、前後関係に応じ得る。
【０１２６】
米国特許第９，７３６，４８７号は、米国特許第９，２８８，５００号のものと同様の３つの競合サンプルセットを提案するが、その都度、考慮される境界に対して平行で直接接する外側隣接サンプルの２つのラインから作成される。これらのサンプルセットは、クロマブロックについてのみ図６Ｄに示されている。
【０１２７】
また、米国特許第９，１５３，０４０号及び同じパテントファミリーの文書は、境界ごとに単一のラインで作成され、ラインごとに前のセットよりも少ないサンプルを有する、追加のサンプルセットを提案する。
【０１２８】
図４の処理に戻ると、１つ以上の導出パラメータ４０６を有する線形モデルを使用して、クロマブロック５０２についてのクロマイントラ予測子４１３が、５０５で表される現在のルマブロックの再構成ルマサンプル４０７から取得されてもよい。ここでも、クロマサンプリングフォーマット（例えば、４：２：０、４：２：２など）が使用される場合、再構成ルマサンプルは、クロマ解像度（すなわち、対応するクロマフレーム／ブロックのサンプル解像度）に一致するように、ステップ４０８において、Ｌ′４０９にダウンサンプリングされる。
【０１２９】
ステップ４０３と同じダウンサンプリングが使用されてもよく、又はラインバッファの理由のために別のダウンサンプリングが使用されてもよい。例えば、ダウンサンプリングされた値を、ダウンサンプリング位置を囲む左上、上、右上、左下、下、及び右下のサンプルの加重和として提供するために、６タップフィルタが使用されてもよい。周囲のサンプルが欠けている場合、６タップフィルタの代わりに単なる２タップフィルタが用いられる。
【０１３０】
再構成ルマサンプルＬに適用され、例示的な６タップフィルタの出力Ｌ′は、以下のように取得される。
【数２】
2021515999.tif 000004
【０１３１】
ここで、（ｉ，ｊ）はダウンサンプリングされたブロック内のサンプルの座標であり、＞＞はビット右シフト演算である。
【０１３２】
また、ＵＳ２０１７／０２４４９７５号に記載されるように、適応的ルマダウンサンプリングが使用されてもよい。ルマブロックの内容のみが、ルマブロックの再構成ルマサンプルごとにどのダウンサンプリングフィルタが使用されるかを決定するために使用される。１タップフィルタが利用可能である。この手法の動機は、ダウンサンプリングされたルマブロックにおけるエッジの伝播を回避することである。
【０１３３】
ダウンサンプリングステップ４０８のおかげで、Ｌ′ブロック及びＣブロック（クロマブロック５０２におけるクロマサンプルのセット）は、同じ数Ｎ２のサンプルを含む（クロマブロック５０２はＮ×Ｎである）。
【０１３４】
次に、クロマイントラ予測子ＰｒｅｄＣ４１３の各サンプルは、以下の式にしたがってループ４１０−４１１−４１２を使用して計算される。
ＰｒｅｄＣ［ｉ，ｊ］＝α．Ｌ′［ｉ，ｊ］＋β
【０１３５】
ここで、（ｉ，ｊ）は、クロマ及びルマブロック内のすべてのサンプルの座標である。
【０１３６】
除算及び乗算を避けるために、この計算は、ルックアップ表及びシフト演算に基づくより複雑でない方法を使用して実装されてもよい。例えば、実際のクロマイントラ予測子導出４１１は、以下のように行われてもよい。
ＰｒｅｄＣ［ｉ，ｊ］＝（Ａ．Ｌ′［ｉ，ｊ］）＞＞Ｓ＋β
【０１３７】
ここで、Ｓは整数であり、Ａは以前に述べたルックアップ表を使用してＡ１及びＡ２から導出される（α及びβを計算するときに上記で導入される）。これは、実際にはαの再スケーリング値に対応する。この演算（ｘ＞＞Ｓ）は、ビット右シフト演算に対応し、ｘの整数を２Ｓで割ったもの（切り捨て）に相当する。
【０１３８】
ダウンサンプリングされたルマブロックのすべてのサンプルが解析された場合に（４１２）、クロマイントラ予測子４１３は、エンコーダ端でのクロマブロック５０２からの減算に（クロマ残差ブロックを取得するために）、又はデコーダ端でのクロマ残差ブロックへの加算（再構成クロマブロックを取得するために）に利用可能である。
【０１３９】
このクロマ残差ブロックは、有意ではなく、したがって廃棄することができ、その場合、取得されたクロマイントラ予測子４１３は、（クロマブロック５０２を形成する）予測されたクロマサンプルに直接対応することに留意されたい。
【０１４０】
ＨＥＶＣ規格を規定した標準化グループＩＴＵ−Ｔ  ＶＣＥＧ（Ｑ６／１６）及びＩＳＯ／ＩＥＣ  ＭＰＥＧ（ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１）は両方とも、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅａｍ（ＪＶＥＴ）として知られるジョイント協働取り組みにおいてＨＥＶＣの後継のための将来のビデオコーディング技術を研究している。Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ（ＪＥＭ）は、ＨＥＶＣツールと、このＪＶＥＴグループによって選択された新たな追加ツールとを含む。特に、この参照ソフトウェアは、文書ＪＶＥＴ−Ｇ１００１に記載されているように、いくつかのＣＣＰツールを含む。
【０１４１】
ＪＥＭでは、合計１１個のイントラモードがクロマコーディングに許容される。これらのモードは、５つの従来のイントラモードと、Ｙ（ビットストリーム１１０、２０１においてシグナリングされる）からＣｂを予測する６つのクロスコンポーネントＬＭモードと、ＣｂからＣｒを予測する１つのクロスコンポーネントＬＭモードとを含む。
【０１４２】
６つのＹ−Ｃｂ、ＣＣ、ＬＭモードのうちの１つは、上述のＣＣＬＭであり、そこで隣接ルマサンプルセットＲｅｃＬ′及びクロマサンプルセットＲｅｃＣは、図５Ａに示されるように、それらそれぞれのルマブロック又はクロマブロックの左の境界に直接接する第１のライン及び上の境界に直接接する第１のラインからそれぞれ作成される。
【０１４３】
５つの他のＹ−Ｃｂ、ＣＣ、ＬＭモードは、多重モデル（ＭＭ）として知られる特定の導出に基づく。これらのモードはＭＭＬＭとラベル付けされる。
【０１４４】
ＣＣＬＭと比較して、ＭＭＬＭモードは、２つの線形モデルを使用する。ＲｅｃＬ′セットからの隣接する再構成ルマサンプル及びＲｅｃＣセットからの隣接クロマサンプルは、２つのグループに分類され、各グループは、１つの線形モデルのパラメータα及びβを導出するために使用され、したがって、線形モデルパラメータ（α１，β１）及び（α２，β２）の２つのセットをもたらす。
【０１４５】
例えば、閾値は、ＲｅｃＬ′を形成する隣接する再構成ルマサンプルの平均値として算出されてもよい。次に、閾値以下のＲｅｃＬ′［ｉ，ｊ］を有する隣接ルマサンプルがグループ１に分類され、一方で閾値より大きいＲｅｃＬ′［ｉ，ｊ］を有する隣接ルマサンプルはグループ２に分類される。
【０１４６】
次に、クロマイントラ予測子（又は現在のクロマブロック６０２の予測クロマサンプル）は、以下の式に従って求められる。
ＰｒｅｄＣ［ｉ，ｊ］＝α１．Ｌ′［ｉ，ｊ］＋β１，  ｉｆ  Ｌ′［ｉ，ｊ］≦ｔｈｒｅｓｈｏｌｄ
ＰｒｅｄＣ［ｉ，ｊ］＝α２．Ｌ′［ｉ，ｊ］＋β２，  ｉｆ  Ｌ′［ｉ，ｊ］＞ｔｈｒｅｓｈｏｌｄ
【０１４７】
さらに、ＣＣＬＭと比較して、ＭＭＬＭモードは、隣接ルマサンプルセットＲｅｃＬ′及びクロマサンプルセットＲｅｃＣを使用し、それぞれが、考慮されるブロックの左の境界及び上の境界に対して平行で直接接する外側隣接サンプルの２つのラインから作成される。例は、隣接するルマサンプルの２つのラインが非ダウンサンプリング再構成ルマサンプルの４つのラインから（ダウンサンプリングを使用して）取得される４：２：０サンプリングフォーマットを示す図５Ｂに示される。
【０１４８】
５つのＭＭＬＭモードは、（ＲｅｃＬ′及び／又はＬ′を取得するために）クロマ解像度に一致するように再構成ルマサンプルをダウンサンプリングするための５つの異なるダウンサンプリングフィルタによって互いに異なる。
【０１４９】
第１のＭＭＬＭモードは、ＣＣＬＭで使用されるものと同じ６タップフィルタに依存する（図７の参照番号７０１の６つの黒い点を参照）。第２のＭＭＬＭモード〜第４のＭＭＬＭモードは、ダウンサンプリングされた値を次式の加重和としてそれぞれ提供する２タップフィルタに依存する。
【０１５０】
ダウンサンプリング位置（図７のフィルタ１、７０２参照）を囲む（６タップフィルタによって使用される）６つのサンプルの右上及び右下のサンプルは以下の通りである。
Ｌ′［ｉ，ｊ］＝（Ｌ［２ｉ＋１，２ｊ］＋Ｌ［２ｉ＋１，２ｊ＋１］＋１）＞＞１  （ＲｅｃＬについても同様）
【０１５１】
ダウンサンプリング位置（図７のフィルタ２、７０３参照）を囲む（６タップフィルタによって使用される）６つのサンプルの右下のサンプルは以下の通りである。
Ｌ′［ｉ，ｊ］＝（Ｌ［２ｉ，２ｊ＋１］＋Ｌ［２ｉ＋１，２ｊ＋１］＋１）＞＞１
【０１５２】
ダウンサンプリング位置（図７のフィルタ４、７０５参照）を囲む（６タップフィルタによって使用される）６つのサンプルの右上のサンプル及び左上のサンプルは以下の通りである。
Ｌ′［ｉ，ｊ］＝（Ｌ［２ｉ，２ｊ］＋Ｌ［２ｉ＋１，２ｊ］＋１）＞＞１
【０１５３】
第５のＭＭＬＭモードは、ダウンサンプリングされた値を、ダウンサンプリング位置（図７のフィルタ３、７０４参照）を囲む（６タップフィルタによって使用される）６つのサンプルの上サンプル、右上サンプル、下サンプル、及び右下サンプルの加重和として提供する４タップフィルタに依存する。
Ｌ′［ｉ，ｊ］＝（Ｌ［２ｉ，２ｊ］＋Ｌ［２ｉ，２ｊ＋１］＋Ｌ［２ｉ＋１，２ｊ］＋Ｌ［２ｉ＋１，２ｊ＋１］＋２）＞＞２
【０１５４】
上述したように、ＣＣＬＭモード又はＭＭＬＭモードは、ビットストリーム１１０又は２０１においてシグナリングされなければならない。図８は、ＪＥＭの例示的なＬＭモードシグナリングを示す。第１のバイナリフラグは、現在のブロックがＬＭモード又はいわゆるＤＭモードを含む他のイントラモードを使用して予測されるかどうかを示す。ＬＭモードの場合、６つの可能なＬＭモードがシグナリングされる必要がある。（６タップフィルタを使用する）第１のＭＭＬＭモードは、１にセットされた１つの第２のバイナリフラグでシグナリングされる。この第２のバイナリフラグは、残りのモードのために０に設定され、その場合、第３のバイナリフラグは、ＣＣＬＭモードをシグナリングするために１に設定され、残りのＭＭＬＭモードのために０に設定される。次いで、２つの追加のバイナリフラグが、４つの残りのＭＭＬＭモードのうちの１つをシグナリングするために使用される。
【０１５５】
１つのモードは、各クロマ成分についてシグナリングされる。
【０１５６】
上記で導入されたＣｂからＣｒへのＣＣＬＭモードはＤＭモードで使用され、残差レベルで適用される。実際、ＤＭモードは、所定の場所においてルマによって使用されたイントラモードをクロマのために使用する。従来、ＨＥＶＣのようなコーディングモードは、ＣＵの左上隅と同一場所に配置された１つの単一のＤＭモードを使用する。あまり詳細に説明せず、明確にするために、ＪＶＥＴは、そのような位置をいくつか提供する。次いで、このモードは、予測方法を決定するために使用され、それゆえに、参照／元のデータから減算されると前述の残差データを生じる、クロマ成分について通常のイントラ予測を生成する。Ｃｒ残差についての予測は、Ｃｂ残差（以下ＲｅｓｉｄｕａｌＣｂ）から以下の式で取得される。
ＰｒｅｄＣｒ［ｉ，ｊ］＝α．ＲｅｓｉｄｕａｌＣｂ［ｉ，ｊ］
【０１５７】
ここで、αは、ＣＣＬＭルマ対クロマ予測と同様の方法で導出される。唯一の差異は、導出されたスケーリング係数が以下のように−０.５のデフォルト値に向かって偏るように、誤差関数におけるデフォルトα値に関連する回帰コストの追加である。
【数３】
2021515999.tif 000005
【０１５８】
ここで、ＲｅｓＣｂｉは、隣接する再構成Ｃｂサンプルの値を表し、ＲｅｓＣｒｉは、隣接する再構成Ｃｒサンプルを表す。
【数４】
2021515999.tif 000006
【０１５９】
既知のＬＭモードは、特に最小二乗ベースの方法を使用して線形モデルパラメータを導出するとき、大きな計算の複雑さを示す。
【０１６０】
本発明は、コーディング効率及び／又は計算の複雑さの観点から状況を改善しようとするものである。
【０１６１】
本発明は、直線の方程式に基づく線形モデルのパラメータの決定による、ルマブロックサンプルからクロマ予測子ブロックサンプルを計算するために使用される線形モデルの導出の置換に基づく。この直線は、ブロックの近傍における再構成サンプル対に基づいて定義される２つのサンプル対によって定義される。まず、使用する２つのサンプル対を決定する。次いで、これらの２つのサンプル対から、線形モデルのパラメータが決定される。線形モデルの決定に使用されるサンプル対の数を２つに限定することにより、最小平均二乗法の使用を回避することができる。したがって、提案される方法は、最小平均二乗法を使用する既知の方法よりも計算集約的ではない。
【０１６２】
図９は、現在のブロックの近傍におけるサンプル対のセットにおけるルマサンプル値の最小及び最大をここで考慮することによって、この方法の原理を示す。全てのサンプル対は、それらのクロマ値及びそれらのルマ値にしたがって図上に描かれる。２つの異なる点、すなわち点Ａ及び点Ｂが図上で識別され、各点がサンプル対に対応する。点Ａは、ＲｅｃＬ′から最も小さいルマ値ｘＡと、ＲｅｃＣから同一場所にあるそのクロマ値ｙＡとを有するサンプル対に対応する。点Ｂは、最も大きいルマ値ｘＢと、その同一場所にあるクロマ値ｙＢとを有するサンプル対に対応する。
【０１６３】
図１０は、この線形モデルパラメータを導出するための提案された方法のフローチャートを与える。このフローチャートは、図４の簡略化されたバージョンである。この方法は、ステップ１００１で取得された隣接ルマサンプルＲｅｃＬ′及びステップ１００２で取得されたクロマサンプルＲｅｃＣに基づく。
【０１６４】
ステップ１００３では、２つのサンプル対に対応する２つの点Ａ，Ｂ（１００４）が決定される。第１の実施形態では、これらの２つの点Ａ及びＢは、それぞれ最も小さいルマサンプル値ｘＡ及び最も大きいルマサンプル値ｘＢを有し、それらの対応するクロマサンプル値ｙＡ及びｙＢを有するサンプル対に対応する。
【０１６５】
次いで、点Ａと点Ｂとの間の直線の方程式が、ステップ１００５で以下の式にしたがって計算される。
α＝（ｙＢ−ｙＡ）／（ｘＢ−ｘＡ）
β＝ｙＡ−αｘＡ
【０１６６】
取得されたこのα，βは、クロマ予測子を生成するために使用される線形モデルパラメータ１００６である。
【０１６７】
従来技術で使用されるＬＭＳアルゴリズムに基づく線形モデル導出は、一定の複雑さを有する。この公知の方法では、モデルのαパラメータの計算は、以下の式によって取得される。
【数５】
2021515999.tif 000007
【０１６８】
計算の複雑さに関するこの式の分析は、以下の結果を与える。Ｂ１の計算は、Ｍ＋１個の乗算及びＭ個の加算を必要とし、Ｍはサンプル対の数である。Ｂ２の計算は、１個の乗算及び２Ｍ個の加算を必要とする。Ｂ３の計算は、Ｍ＋１個の乗算及びＭ個の加算を必要とし、Ｂ４の計算は、１個の乗算及び２Ｍ個の加算を必要とする。（Ｂ１−Ｂ２）／（Ｂ３−Ｂ４）に対応するαの計算は、２つの追加の加算及び１つの除算を必要とする。
【０１６９】
βを計算するために、１回の乗算、２Ｍ＋１回の加算及び１回の除算。前述の通り、Ｍはサンプルの対の数ＲｅｃＣ′ｉ及びＲｅｃＬ′ｉである。
【０１７０】
したがって、α及びβのＬＭＳ導出の複雑さは、（２Ｍ＋２＋２）回の乗算、（７Ｍ＋３）回の加算及び２回の除算である。
【０１７１】
対照的に、２点のみを使用して直線の方程式の計算に基づく提案された方法の分析は、以下の結果を与える。報告されるように、導出ステップ１００５は、１回の乗算、３回の加算、及び１回の除算のみを必要とする。線形モデルパラメータの生成におけるこの大きな複雑さの低減は、提案されるこの発明の主な利点である。
【０１７２】
最小値及び最大値の探索は、典型的にはソートアルゴリズムに関連するそれ自体の複雑さを有することに留意されたい。その演算は完全に直列ではなく、Ｎ個の点は、Ｎ個の他の点と比較することができ、Ｎ個の最小／最大を生成する。次いで、Ｎ／２個の最小点及びＮ／２個の最大点が、Ｎ／２個の他の点と比較され、そして所望の数の最小点及び最大点のみが残るまで、Ｎ／４などの数の最大点及び最小点が再び比較され得る。したがって、典型的には、最小及び最大のこの探索は、ほぼ２*Ｎ−２回（それぞれＮ−１回）の比較をもたらす。
【０１７３】
既に述べたように、クロマ予測子は、浮動小数点乗算の代わりに整数乗算及びシフト、並びに傾きを計算する際の除算によって算出することができる。この簡略化は、
【数６】
2021515999.tif 000008
を、
【数７】
2021515999.tif 000009
で置き換えることである。
【０１７４】
整数乗算及びシフトのみを使用するために、一実施形態では、この直線の方程式は以下のように得られる。
Ｓ＝１０
【数８】
2021515999.tif 000010
【０１７５】
以下において、βは、αがＬ及びＳによって置き換えられる場合にはこの方程式を参照し、そうでなければ従来の方程式β＝ｙＡ−αｘＡを参照することに留意されたい。
【０１７６】
この導出の別の利点は、シフト値Ｓが常に同じ値を有することである。これは、特に、この性質を生かしてより簡略化することのできるハードウェア実装にとって興味深い。
【０１７７】
さらに別の実施形態では、Ｌが大きくなる可能性があるため、Ｓの値は小さいことが強制され、より大きな乗数演算を必要とする。実際、８ビット値と８ビット値との乗算は、例えば８×１６乗算器よりも実装がはるかに容易である。Ｌの典型的な実用値は、多くの場合、８ビット未満の乗数に等しい。
【０１７８】
しかしながら、好ましい実施形態は、固定点として知られる実装形態であり、Ｄ＝（ｘＢ−ｘＡ）のすべての値について、おそらく量子化され（例えば、２Ｄ＋０及び２Ｄ＋１に対する結果は、単一のものとして格納される）、Ｓ／Ｄ（１＜＜Ｓ）の値が表に格納される。符号が簡単に取り出されるので、これらは正の値についてのみであることが好ましい。したがって、アレイＴＡＢを使用して、Ｌの計算は以下のようになる。
【数９】
2021515999.tif 000011
【０１７９】
Ｑは量子化を制御し、したがって表内の要素の数を制御する。このように、Ｑ＝１を使用することは、量子化がないことを意味する。また、ルックアップインデックスは、代わりに、典型的にはＲ＝Ｑ／２である（ａｂｓ（ｘＢ−ｘＡ）＋Ｒ）／Ｑ、又は分割丸めのその変形例とすることができることにも留意されたい。したがって、理想的には、Ｑ＝２Ｐによる除算はＰによる右シフトに相当するように、Ｑは２のべき乗となる。
【０１８０】
最後に、その表中の値のいくつかは、０に等しくなくてもよく、ａｂｓ（ｘＢ−ｘＡ）又はａｂｓ（ｙＢ−ｙＡ）の低値は、Ｌの推定を非常に悪くすることがある。ここで、所定の、又は明示的な（スライスヘッダ内、又はＰＰＳ若しくはＳＰＳなどのパラメータセット内などの）値が用いられ得る。例えば、４未満のＤのすべての値に対して、アレイＴＡＢは、デフォルト値、例えば、−Ｓ／８（１＜＜Ｓ）を含んでいてもよい。
【０１８１】
１０ビットの内容及びＱ＝１の場合、アレイ内で最大２０４８エントリが必要である。上述の符号を有する対称性を利用することによって、これは１０２４に低減され得る。さらにＱを大きくすることで、同様にＴＡＢのサイズが小さくなる。
【０１８２】
ＣｂからＣｒへの予測を伴うＪＶＥＴの場合のように、サンプルの一部（ＲｅｃＬ若しくはＲｅｃＣのいずれか、又は両方）が残差サンプル（すなわち、おそらく量子化された２つのブロック間の差分からそれら自体をもたらす）である場合、そこで表サイズ（及びコンテンツ）は、それに応じて適合され得る。
【０１８３】
別の好ましい実施形態において、以下の式における直線α及びβの２つのパラメータの決定は、整数算術がハードウェアにおいて容易に実装されるために使用され得るように計算される。
【数１０】
2021515999.tif 000012
【０１８４】
より精密には、パラメータα及びβの決定は、整数の乗算及び整数に対するビットシフト演算によってのみ行うことができる。そのような計算は、浮動小数点算術などの他のタイプの算出よりも少ないハードウェア資源（例えば、メモリ及び時間）を利用する。
【０１８５】
この整数算術を行うために、以下のステップが行われる。
【０１８６】
第１の中間値「ｐｓｈｉｆｔ」は、扱われるＬｕｍａサンプル及びＣｈｒｏｍａサンプルのビット深度を考慮することによって決定される。このビットシフト値は、αの分母（ｄｉｆｆと称される）の指定される最大値を確保する。本実施形態では、この「ｄｉｆｆ」の最大値は５１２であるので、それを５１２エントリを有する表で表現することができる。「ｄｉｆｆ」の指定の最大値を強制することによって、共通の表（又は表のセット）を、総メモリ要件を低減する様々な異なるビット深度について使用することができる。
【０１８７】
したがって、ｐｓｈｉｆｔの値は、サンプルのビット深度に依存する（例えば、１０ビットを用いてサンプルが符号化される場合には、最大値と最小値との差が１０２４である）。５１２エントリの表においてこれを表すために、ｐｓｈｉｆｔが１となるように、２で除算する、又は１でビットシフトする必要がある。ｐｓｈｉｆｔとビット深度の関係は、例えば、以下の表１ａについて抽出される、又は以下の数式によって与えられる。
ｐＳｈｉｆｔ＝（ＢｉｔＤｅｐｔｈ＞９）  ？  Ｂｉｔｄｅｐｔｈ−９：０  
【０１８８】
代わりに、これは以下の数式で表すことができる。
【数１１】
2021515999.tif 000013
【０１８９】
ビットシフトの後に「ｄｉｆｆ」を整数にするように、任意選択の丸め値「ａｄｄ」が計算されてもよい。「ａｄｄ」値は、以下の数式に従いｐｓｈｉｆｔに関連する。
ａｄｄ＝ｐｓｈｉｆｔ  ？  １＜＜（ｐｓｈｉｆｔ−１）：０  .
【０１９０】
代わりに、これは以下の数式で表すことができる。
【数１２】
2021515999.tif 000014
【０１９１】
代わりに、「ＢｉｔＤｅｐｔｈ」と「ａｄｄ」との間の直接的な関係は、以下の数式によって提供され得る。
ａｄｄ＝（ＢｉｔＤｅｐｔｈ＞９）  ？  １＜＜（ＢｉｔＤｅｐｔｈ−１０）：０
又は、
【数１３】
2021515999.tif 000015
【０１９２】
以下の表１は、扱われるＬｕｍａサンプル及びＣｈｒｏｍａサンプルの、８ビットから１６ビットまでのビット深度に対応する「ｐｓｈｉｆｔ」及び「ａｄｄ」の例の値を与える。
【表１】
2021515999.tif 000016
表１：「ｐｓｈｉｆｔ」値及び「ａｄｄ」値の例
【０１９３】
この表は、「ｐｓｈｉｆｔ」及び「ａｄｄ」を再計算する必要を避けるためににメモリに格納されてもよく、これは処理演算の数を減らすことができる。しかしながら、いくつかの実装形態は、処理動作の数にわたるメモリ使用の低減を優先することができ、そのような「ｐｓｈｉｆｔ」及び「ａｄｄ」が毎回算出されてもよい。
【０１９４】
次いで、「ｄｉｆｆ」値は、整数算術を使用する処理に適切な手法で、Ｌｕｍａサンプルの最小値と最大値との間の範囲値を表す。「ｄｉｆｆ」の値は、「ｐｓｈｉｆｔ」によって一定の範囲に制約される整数である。この値ｄｉｆｆは、以下の式から計算される。
ｄｉｆｆ＝（ｘＢ−ｘＡ＋ａｄｄ）＞＞ｐｓｈｉｆｔ
【０１９５】
次いで、αパラメータ及びβパラメータが計算され、αパラメータ及びβパラメータは、線形モデルインターセプト点Ａ及びＢの傾き及び切片を定義することを呼び出すはずである。
α＝（ｙＢ−ｙＡ）／（ｘＢ−ｘＡ）
β＝ｙＡ−αｘＡ
【０１９６】
「ｄｉｆｆ」が表す値がゼロに等しい場合、α及びβパラメータは以下のように割り当てられる。
α＝０
β＝ｙＡ（又はβ＝ｙＢ）
【０１９７】
点Ａ又は点Ｂの使用の選択は、処理演算の数を低減するために、どの点が現在メモリに格納されているかによって決定されてもよい。
【０１９８】
そうでなければ、値「ｄｉｆｆ」が厳密に正であれば、αの値は、以下の式によって決定される。
α＝（（（ｙＢ−ｙＡ）*Ｆｌｏｏｒ（２ｋ／ｄｉｆｆ）＋ｄｉｖ＋ａｄｄ）＞＞ｐｓｈｉｆｔ）  （１）
【０１９９】
ここで、関数Ｆｌｏｏｒ（ｘ）は、ｘ以下の最大整数値を提供し、
ここで、中間パラメータ「ｄｉｖ」は、以下のように計算される。
ｄｉｖ＝（（ｙＢ−ｙＡ）*（Ｆｌｏｏｒ（（２ｋ*２ｋ）／ｄｉｆｆ）−Ｆｌｏｏｒ（２ｋ／ｄｉｆｆ）*２ｋ）  ２（ｋ−１））＞＞ｋ  （２）
【０２００】
この除算の精度は変数ｋで表される。ｋ＝１６の値は、最良のコーディング効率を提供することが見出されており、整数算術を使用してα及びβの正確な表現を可能にする。これは、対応するＬｕｍａサンプルを使用する場合に、Ｃｈｒｏｍａサンプルの精密な予測を可能にするだろう。
【０２０１】
以下でより詳細に説明されるように、ｋの値は、各エントリがどのくらいメモリを必要とするかも定義する。ｋ＝１６の値は、表中のエントリの各々をアドレス指定する際に、２バイトで表現できる１６ビットメモリレジスタが使用されることを可能にする。
【０２０２】
パラメータβは、点Ａ又は点Ｂのいずれかであり得る直線の単一の点に直線の方程式を適用することによって決定される。点Ａの場合、
β＝ｙＡ−（（α*ｘＡ）＞＞ｋ）
であり、点Ｂの場合、
β＝ｙＢ−（（α*ｘＢ）＞＞ｋ）である。
【０２０３】
点Ａ又は点Ｂの使用の選択は、処理演算の数を低減するために、どの点が現在メモリに格納されているかによって決定され得る。代わりに、それは、固定の選択であり得るし、例えば標準で定義され得る。
【０２０４】
ハードウェアでの実装の観点から、式（１）及び式（２）の項のいくつかは、予め計算された値が格納されている表を用いて置き換えることができる。そのような表の主な利点は、αパラメータ及びβパラメータの導出が行われる度に中間の「Ｆｌｏｏｒ」関数を計算することを回避することである。このように、複数の処理演算は、ルックアップ動作によって置き換えられてもよい。
【０２０５】
例えば、式（１）を以下のように簡略化して、表ＴＡＢ１［ｄｉｆｆ］を使用することによって式（３）を提供することができる。
α＝  （（（ｙＢ−ｙＡ）*ＴＡＢ１［ｄｉｆｆ］＋ｄｉｖ＋ａｄｄ）＞＞ｐｓｈｉｆｔ）  （３）
【０２０６】
ここで、ＴＡＢ１［ｄｉｆｆ］＝Ｆｌｏｏｒ（２ｋ／ｄｉｆｆ）である。
【０２０７】
同様に、式（２）は、同じ演算を反復することを避けるために、所定の表ＴＡＢ１［ｄｉｆｆ］及びＴＡＢ２［ｄｉｆｆ］を使用して簡略化することができる。
ｄｉｖ＝（（ｙＢ−ｙＡ）*（ＴＡＢ２［ｄｉｆｆ］−ＴＡＢ１［ｄｉｆｆ］*２ｋ）Ｋ  ２（ｋ−１））＞＞ｋ  （４）
【０２０８】
ここで、ＴＡＢ２［ｄｉｆｆ］＝Ｆｌｏｏｒ（（２ｋ*２ｋ）／ｄｉｆｆ）である。
【０２０９】
この式（４）は、以下の式によってさらに簡略化することができる：
ｄｉｖ＝（（ｙＢ−ｙＡ）*（ＴＡＢ３［ｄｉｆｆ］）＋２（ｋ−１））＞＞ｋ  （５）
【０２１０】
ここで、
ＴＡＢ３［ｄｉｆｆ］＝ＴＡＢ２［ｄｉｆｆ］−ＴＡＢ１［ｄｉｆｆ］*２ｋ＝Ｆｌｏｏｒ（（２ｋ*２ｋ）／ｄｉｆｆ）−２ｋ*Ｆｌｏｏｒ（２ｋ／ｄｉｆｆ）である。
【０２１１】
ＴＡＢ１及びＴＡＢ３（並びにＴＡＢ２も）は、それぞれＮ個のエントリＮ＝２（ＢｉtＤｅｔｐｔｈ−ｐｓｈｉｆｔ）を有する表であり、各エントリはｋビットによって表される。
【０２１２】
上記の整数変数ｄｉｆｆの定義によれば、例えば、１０ビットで表現されるＬｕｍａ又はＣｈｒｏｍａサンプル値を考えると、最大「ｄｉｆｆ」値は５１２である（上記表１ａを使用する）。これは、表ＴＡＢ１及びＴＡＢ３（並びにＴＡＢ２も）は、それらのそれぞれについて５１２エントリを有するアレイによって表現することができ、各エントリは「ｋ＝１６」ビットにコーディングされることを意味する。表１に与えられる「ｐｓｈｉｆｔ」変数は、処理されるサンプルのビット深度に応じて、同じ数（ここでは５１２）のエントリを取得することを可能にする。
【０２１３】
前述の通り、これらのアレイ（ＴＡＢ１〜ＴＡＢ３）は、式（１）及び（２）におけるパラメータα及びβの導出のために実行される演算の数を低減するためにメモリに格納することができる。
【０２１４】
ＶＶＣ標準化作業の範囲では、ＬｕｍａサンプルからＣｈｒｏｍａサンプルを予測するための線形モデルのαパラメータ及びβパラメータを取り出すための除算を実装するために、そのような方法を用いることができる。しかしながら、驚くべきことに、コーディング効率に悪影響を与えることなく表のサイズ及び各エントリの表現を低減できることが見出されていた。
【０２１５】
上述したように、各表を格納するために必要な総メモリは、「ｐｓｈｉｆｔ」値の値に依存し、各エントリを表すためのビット数は、「ｋ」値を使用してコーディングされ得る。上記の実施形態において、２つの表（ＴＡＢ１及びＴＡＢ３）が使用され、各表は５１２個のエントリを有し、ｋ＝１６である。これらの２つの表ＴＡＢ１及びＴＡＢ３を表すために必要なメモリは２*５１２*１６＝１６３８４ビットであり、２０４８バイトに格納することができる。
【０２１６】
ここで、メモリ要件（独立して及び一緒に）を決定するパラメータを修正することが説明されるであろう。
【０２１７】
［各表（アレイ）のエントリ数］
５１２エントリのサイズを有する表を使用することによって良好な圧縮に達するにもかかわらず、これらの表は相当に大きいと見なされ得るし、それらのサイズは低減されることが望ましい。
【０２１８】
表３及び表４は、エントリの数をそれぞれ５１２から２５６及び１２８エントリに減らすことによって、Ｂｊｏｎｔｅｇａｒｄメトリック（例えば、Ｂｊｏｎｔｅｇａｒｄ，  Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ａｖｅｒａｇｅ  ＰＳＮＲ  ｄｉｆｆｅｒｅｎｃｅ  ｂｅｔｗｅｅｎ  ｒｄ−ｃｕｒｖｅｓ，  Ｄｏｃ．  ＶＣＥＧ−Ｍ３３  ＩＴＵ−Ｔ  Ｑ６／１６，  Ａｐｒｉｌ  ２００１，  ７９  Ｚ．  Ｘｉｏｎｇ，  Ａ，  Ｌｉｖｅｒｉｓ，  ａｎｄ  Ｓ，  Ｃｈｅｎｇ  ｆｏｒ  ａｎ  ｅｘｐｌａｎａｔｉｏｎ  ｏｆ  ｈｏｗ  ｔｈｅｓｅ  ｍｅｔｒｉｃｓ  ａｒｅ  ｄｅｔｅｒｍｉｎｅｄ）に応じたコーディング効率の影響を示す。表のサイズの縮小は、「ｐｓｈｉｆｔ」の値を１だけ増加させることによって行われる（Ｎ＝２（ＢｉtＤetpth−ｐｓｈｉｆｔ））。「ａｄｄ」の値は、それに応じて調整されてもよい。Ｎを２５６又は１２８に変更することを以下の表２に示す。
【表２】
2021515999.tif 000017
表２：２５６又は１２８エントリの表に対する「ｐｓｈｉｆｔ」及び「ａｄｄ」値の例
【０２１９】
この表は、以下の数式で表すことができる。
【０２２０】
［２６５エントリ］
ＢｉｔＤｅｐｔｈ＝（ＢｉｔＤｅｐｔｈ＞８）  ？  ＢｉｔＤｅｐｔｈ＝８：０
代わりに、これは以下の数式で表すことができる。
【数１４】
2021515999.tif 000018
【０２２１】
ビットシフトの後に「ｄｉｆｆ」を整数にするように、任意選択の丸め値「ａｄｄ」が計算されてもよい。「ａｄｄ」値は、以下の数式に従いｐｓｈｉｆｔに関連する。
ａｄｄ＝ｐｓｈｉｆｔ  ？  １＜＜（ｐｓｈｉｆｔ−１）：０
代わりに、これは以下の式で表すことができる。
【数１５】
2021515999.tif 000019
【０２２２】
代わりに、「ＢｉｔＤｅｐｔｈ」と「ａｄｄ」との間の直接的な関係は、以下の数式によって提供され得る。
ａｄｄ＝（ＢｉｔＤｅｐｔｈ＞８）  ？  １＜＜（ＢｉｔＤｅｐｔｈ−９）：０
又は、
【数１６】
2021515999.tif 000020
【０２２３】
［１２８エントリ］
ｐＳｈｉｆｔ＝（ＢｉｔＤｅｐｔｈ＞７）  ？  ＢｉｔＤｅｐｔｈ−７：０
代わりに、これは以下の数式で表すことができる。
【数１７】
2021515999.tif 000021
【０２２４】
ビットシフトの後に「ｄｉｆｆ」を整数にするように、任意選択の丸め値「ａｄｄ」が計算されてもよい。「ａｄｄ」値は、以下の数式に従いｐｓｈｉｆｔに関連する。
ａｄｄ＝ｐｓｈｉｆｔ  ？  １＜＜（ｐｓｈｉｆｔ−１）：０
代わりに、これは以下の数式で表すことができる。
【数１８】
2021515999.tif 000022
【０２２５】
代わりに、「ＢｉｔＤｅｐｔｈ」と「ａｄｄ」との間の直接的な関係は、以下の数式によって提供され得る。
ａｄｄ＝（ＢｉｔＤｅｐｔｈ＞7）  ？  １＜＜（ＢｉｔＤｅｐｔｈ−８）：０
又は、
【数１９】
2021515999.tif 000023
【０２２６】
表のサイズの低減は、サンプル値の最大値と最小値との間の差のより粗い表現をもたらす。
【０２２７】
コーディング効率評価テストは、文書ＪＶＥＴ−Ｌ１０１０に定義されているＪＶＥＴ標準化委員会によって使用されるビデオシーケンスのセットに対して行われた。以下の表において、負の値はより良好なコーディング効率を示す一方で、正の値はコーディング効率の減少に対応する。
【表３】
2021515999.tif 000024
表３：サイズ２５６の表を使用する場合の圧縮性能
【０２２８】
表３に示されるように、表ＴＡＢ１及びＴＡＢ３におけるエントリ数が１／２に減少したにもかかわらず、驚くべきことにコーディング効率は実質的に影響を受けない。我々は、ＣＣＬＭモードに影響を及ぼす修正によって導入された損失は非常に限られており、それらがＣｈｒｏｍａチャネル（Ｕ）及び（Ｖ）において０.２％未満であり、実質的に無視できる（及びノイズを表す可能性が最も高い）ことを観察できる。
【０２２９】
（上記の表２に示されるように）ｐｓｈｉｆｔの値を追加の１だけ増加させることによって生成された、１２８の表サイズに対する同様の実験が行われた。
【表４】
2021515999.tif 000025
表４：サイズ１２８の表を使用する場合の圧縮性能
【０２３０】
表４に示されるように、よりさらに驚くべきことに、コーディング効率は、表ＴＡＢ１及びＴＡＢ３におけるエントリ数が１／４に減少したにもかかわらず、依然として実質的に影響を受けない。我々は、ＣＣＬＭモードに影響を及ぼす修正によって導入された損失は、非常に限られており、それらがＣｈｒｏｍａチャネル（Ｕ）及び（Ｖ）において０.０５％未満であり、実質的に無視できる（及びノイズを表す可能性が最も高い）ことを観察できる。
【０２３１】
しかしながら、（ｐｓｈｉｆｔを追加の１だけ増加させることによる）表のサイズの６４エントリへのさらなる縮小は、以下の表５に示されるように、圧縮性能のより大きな損失をもたらす。
【表５】
2021515999.tif 000026
【０２３２】
これらの結果は、クラスＡ２と、その「全体」の図を含まないので部分的である。
【０２３３】
上記で示された結果は、２つの点Ａ及びＢを使用してパラメータα及びβが導出されるＣＣＬＭモードの効率に悪影響を及ぼすことなく、表のサイズを１／２又は１／４にさえ低減できることを示している。
【０２３４】
別の実施形態では、表内のエントリの数（すなわち、ｐｓｈｉｆｔの値）は、ビット深度に依存して変わり得る（例えば、１０ビットまでは１２８（又は２５６）、及び１０ビット超は２５６（又は５１２））。これは、（例えば）１６ビットによって表されるサンプルを符号化するために、より強力なエンコーダが要求されるであろうし、より大きな表を使用する計算の複雑さはそれほど大きな問題を示さないであろうという事実に起因してもよい。そのような場合、より多くの（例えば５１２以上の）エントリを使用することによる符号化性能のわずかな増加が優先されてもよい。
【０２３５】
［表（アレイ）の各エントリを表すビット数］
表のサイズをさらに縮小するために、表内の各エントリは、１エントリごとに２バイトを使用する初期ｋ＝１６ビット未満で表現することもできる。ｋの値を低減させることは、αを整数で表現するために大きさを低減させることに実質的に対応するので、分割の精度を減少させることを表す。以下の表６は、（ｋ＝１６と比較して）各エントリを表すためのビット数を減少させる場合のコーディング効率の影響を示す。
【表６】
2021515999.tif 000027
表６：ｋ値を低減する場合のコーディング性能
【０２３６】
上記の表６は、８ビット以下でエントリを表現した場合、そのコーディング効率はｋ＝１６ビットと比較して本質的に同じであるという驚くべき結果を示す。
【０２３７】
上記表は、６〜８の区間に含まれるｋについて、許容可能なコーディング効率結果が取得されることを示している。同様の結果が、間隔９−１５においてｋについて達成されるが、そのような表現は、依然として２バイトを必要とし、表を格納するのに必要なメモリを低減する際にそれほど大きな利点を提供しないであろう。
【０２３８】
表６は、５ビット以下のｋについて、アルファ（α）の算出が不正確になる際に、除算に起因する大きな劣化が見られることを示す。
【０２３９】
したがって、驚くべきことに、性能とストレージとの間の最良の折衷案は、ｋ＝８ビットであることが分かった。
【０２４０】
各エントリが２バイトで表現されるｋ＝１６ビットと比較すると、本実施形態は、表ＴＡＢ１又はＴＡＢ３のエントリを表すために単一のバイトのみを使用することが可能である。これは、ｋを伴うすべての計算の複雑さを減少させ、したがって、それ自体が処理需要を低減させる。
【０２４１】
驚くべきことに、ｋ＝６、７、又は８の値は、ｋ＝１６と同様のコーディング性能を提供し、ｋの値が大きいほど、わずかに良好なコーディング性能を提供する。
【０２４２】
特に驚くべきことに、コーディング性能の任意の顕著な低下を見ることなく、ｋを全バイト（８ビット）減少させることが可能である。
【０２４３】
さらに、ｋ＝６程度の小さい値にｋを低減でき、これを超える場合のみ、検出されるコーディング性能の顕著な低下となることを発見することは驚くべきことである。
【０２４４】
ｋを１６から８に低減させることによって、各表に使用される総メモリは２の係数だけ低減される。
【０２４５】
これは、典型的には、ビットシフトを伴う演算の精度が、ビットシフトパラメータへの値の小さな変化に強く影響され、ｋの値をわずかな量だけ減少させるときであっても、コーディング性能の大きな劣化が予想されるので、驚くべきことである。しかしながら、上記の結果は、ｋの値の大きな変化（例えば、１６から６まで）が、を無視できる量（０．１４％未満）だけコーディング性能を低下させるのみであることを、直感に反して示している。
【０２４６】
ｋの選択は、ビット深度（例えば、１０ビットまでは８、及び１０ビット超は１６）に依存して変わってもよい。これは、（例えば）１６ビットによって表されるサンプルを符号化するために、より強力なエンコーダが要求されるであろうし、より大きな表を使用する計算の複雑さはそれほど大きな問題を占めさないであろうという事実に起因してもよい。そのような場合、より多くの（例えば８より多い）ビットを使用することによる符号化性能のわずかな増加が優先されてもよい。
【０２４７】
［エントリ数と各エントリを表すビット数との組み合わせ］
以下の表７は、各表の２５６エントリ（すなわち、上記の表３及び表６に示される結果の２つのセットの組み合わせ）が存在する場合、ｋを８から５に変えるためのコーディング性能の結果を、ｋ＝１６のベースライン及び各表の５１２エントリと比較して示す。
【表７】
2021515999.tif 000028
表７：ｋ値及びエントリ数を５１２から２５６に低減した場合のコーディング性能
【０２４８】
上記のコーディング効率の結果は、単一のバイトを使用して符号化された（すなわちｋ≦８）２５６エントリを有する２つの表（ＴＡＢ１及びＴＡＢ３）を使用することによって、２バイトで表現された５１２エントリを有する２つの表の場合と比較して、同様の結果を得ることができるという驚くべき結果を示す。この実施形態の特定の利点は、コーディング効率結果に影響を及ぼすことなく、これらの表ＴＡＢ１及びＴＡＢ３を格納するのに必要なメモリの１／４の削減である。この特定の実施形態では、２つの表（ＴＡＢ１及びＴＡＢ３）を表すために必要なメモリは、２*２５６*８＝４０９２ビットであり、５１２バイトに格納することができる。
【０２４９】
以下の表８は、各表の１２８エントリ（すなわち、上記の表４及び表６に示される結果の２つのセットの組み合わせ）が存在する場合、ｋを８から５に変えるためのコーディング性能の結果を、ｋ＝１６のベースライン及び各表の５１２エントリと比較して示す。
【表８】
2021515999.tif 000029
表８：ｋ値及びエントリ数を５１２から１２８に低減した場合のコーディング性能
【０２５０】
上記のコーディング効率の結果は、それぞれ単一のバイトを使用して符号化された（すなわちｋ≦８）１２８エントリを有する２つの表（ＴＡＢ１及びＴＡＢ３）を使用することによって、２バイト上に表される５１２エントリを有する２つの表の場合と比較して、同様の結果を取得することができるという驚くべき結果を示す。特に驚くべきことに、いくつかの例では、１２８エントリを使用すると、２５６エントリを使用する場合と比較してコーディング性能が実際に向上する。例えば、ｋ＝８（エントリごとに１バイト）の場合、その結果は、１２８の表サイズが２５６エントリの表と比較して改善されたコーディング性能をもたらすことを示している。
【０２５１】
この実施形態の特定の利点は、コーディング効率結果に影響を及ぼすことなく、これらの表ＴＡＢ１及びＴＡＢ３を格納するのに必要なメモリの１／８の削減である。この特定の実施形態では、２つの表（ＴＡＢ１及びＴＡＢ３）を表すために必要なメモリは、２*１２８*８＝２０４６ビットであり、２５６バイトに格納することができる。
【０２５２】
したがって、ＣＣＬＭモードは、効率的なハードウェア実装のために整数算術によって実装され得るαパラメータ及びβパラメータを取り出すために、この除算方法を使用することができる。
【０２５３】
特に、表内のエントリの数を低減することと、各エントリのサイズを低減することとの組み合わせは、（予想され得るように）性能の低下の複合化をもたらさず、むしろ、表内のエントリの数の低減と、各エントリのサイズの低減とを組み合わせると、独立して行うのと比較して、実質的に同じ性能が達成されることが示された。
【０２５４】
完全性のために、表９は、ｋ＝１６及びＮ＝５１２のベースラインと比較して、Ｎ＝６４エントリの表が使用される場合の部分的な結果を示す。性能の損失は、Ｕ及びＶ成分におけるクラスＡ１（ＶＶＣの主な対象である）にとって有意であることに留意されたい。
【表９】
2021515999.tif 000030
表９：ｋ値及びエントリ数を５１２から６４に減少させた場合の部分コーディング性能結果
【０２５５】
［αの表現］
別の実施形態では、αパラメータの値は、「Ｌ」ビットで表現できるように修正される。上記のα及びβの導出処理によれば、ｋが８に等しいとき、αの値が１７ビットまで（ｋ＝１６ならば２５ビットまで）到達する可能性がある。αの値を修正する主な理由は、以下の予測式における乗算のビット幅を制限することである。
ＣＣ＝（（ｘ＊Ｌｃ）＞＞ｋ）＋β
【０２５６】
ここで、ＣＣは、Ｌｕｍａ  Ｌｃ値に対応するＣｈｒｏｍａ予測値であり、α及びβは、その傾きのパラメータ（上述の通り導出され得る）である。
【０２５７】
ルマサンプルが１０ビットでコーディングされる場合、これは、予測のコアループが、計算的に複雑である（及び大量のメモリを利用し得る）１７ビットによる１０ビットまでの乗算を処理できる必要があることを意味する。本実施形態では、乗算が１６ビットを超えないようにαの値を修正する。そのような算出は、ハードウェア実装によく適しており、例えば、１６ビットプロセッサは、単一のメモリレジスタを使用して算出を始めることができる。
【０２５８】
これを達成するためには、αは６ビット以下で表現する必要がある。この６ビット表現に到達するために、より大きい値が指定された範囲内に強制されるように、αの範囲が「クリップ」されてもよい。
【０２５９】
別の実施形態では、αの大きさは、適切な量で除算し、それに応じてシフトパラメータｋを調整することによって、その大きさが小さくなるように決定される。シフト値（ｋ）への調整の量を決定することは、「最上位ビット」位置Ｐを見つけること（例えば、先行する０を計数するか、又は底が２となる対数をとることによって行われる古典的演算）を含む。この場合、ｋが制限値Ｌ（好ましい実施形態では５又は６）を超える場合には、以下の演算を行う。
α＝α＞＞（Ｐ−Ｌ）
ｋ＝ｋ＋Ｌ−Ｐ
【０２６０】
すなわち、αは係数２（Ｐ−Ｌ）で除算され、ｋの値は反対の量（Ｌ−Ｐ）で補償される。
【０２６１】
このＬの値は、ビット深度に依存していてもよいが、実装を簡略化するために、いくつかのビット深度に対して同じであり得る。さらに、Ｌは、符号ビットを考慮することができ、すなわち、Ｌ＝５である。
【０２６２】
ほとんどの実装事例において、αの浮動小数点値は、ＣＣＬＭモードで［−２．０；２．０］の範囲内であることも観察された。６ビットのみの使用は、例えば、間隔［−２．０；２．０］において、この範囲から外れた任意の算出値がその範囲の終点によって置き換えられる、６４値を表すことができる
【０２６３】
いずれの場合においても、αの任意の範囲へのクリッピングは、その大きさを低減させる前に行われてもよい。これは、大きさ低減処理を始める前に、外れ値を除去することを確実とする。
【０２６４】
図１１は、本発明の実施形態における２つの点（Ａ及びＢ）を選択する異なる方法を示す。
【０２６５】
提案されるこの導出の簡略化は、コーディング効率に影響を及ぼす。このコーディング効率損失を低減するために、この２つの点の慎重な選択が非常に重要なステップとなる。
【０２６６】
前述の第１の実施形態では、隣接するルマサンプル値の最小及び最大は、図１１の点Ａ及び点Ｂに対応して選択される。
【０２６７】
代わりの実施形態では、２つの選択された点は、図１１の点Ｃ及びＤであり、これは、隣接するクロマサンプル値の最小及び最大に対応するルマサンプル及びクロマサンプルの対に対応する。この代わりの実施形態は、コーディング効率の観点から興味深い場合がある。
【０２６８】
代わりの実施形態では、セグメント［ＡＢ］と［ＣＤ］との間の最長セグメントが決定され、［ＡＢ］セグメントが［ＣＤ］セグメントより長い場合、点Ａ及びＢが選択され、そうでなければ点Ｃ及びＤが選択される。各セグメントの長さはユークリッド距離で計算することができる。しかし、別の距離測度を使用することができる。この実施形態は、２つの第１の点と比較してコーディング効率を向上させる。実際、２つの選択された点が遠い場合、一般に、生成された線形モデルが関連する。その結果、生成されたクロマブロック予測子は、現在のブロックを予測することに関連する。
【０２６９】
代わりの実施形態では、Ａ、Ｂ、Ｃ、Ｄの間に生成され得る全ての可能なセグメントのうち最も長いセグメントが、２つの選択された点を与える。これは、図１１に示すセグメント［ＡＢ］、［ＣＤ］、［ＡＣ］、［ＡＤ］、［ＣＢ］及び［ＤＢ］に対応する。この実施形態は、より高い複雑さを対価として、以前のものと比較してコーディング効率を改善する。
【０２７０】
好ましい実施形態では、ＲｅｃＬ′ルマサンプル値の最小及び最大を表す点は、このＡ点及びＢ点を作成するように設定され、点Ａの１つの成分がＢからの対応する成分と等しい場合（ｘＢ＝ｘＡ又はｙＢ＝ｙＡ）、クロマサンプル値Ｃ及びＤの最小及び最大を表す点が選択される。ｘＢ＝ｘＡ又はｙＢ＝ｙＡの場合、その時α（又はＬ）は、それぞれ無限大又は０に等しく、結果として、クロマ予測子ブロックは、それぞれ、使用不能又はＤＣ予測に相当するため、この実施形態は最良のコーディング効率を取得する。これは、α（又はＬ）を表す分数の分子又は分母のいずれかが低すぎる（例えば、以下の条件（｜α｜＜０．１）が確認されてもよい）とすぐに当てはまる。わずかな量であっても、（量子化などによる）それに対する任意のエラーはα（又はＬ）の非常に異なる値を導く。その記録の残りで、そのような事例は、基本的にはほぼ水平又は垂直な傾きであって、それがαであってもＬであっても、異常な傾きと呼ばれるものを導く。
【０２７１】
追加の実施形態では、図１１に全て示されているような点のいくつかの対が、αが「異常」でなくなるまでテストされる。この実施形態は、以前の点のコーディング効率を改善するが、計算の複雑さを増加させる。
【０２７２】
代わりの一実施形態では、２つの成分（クロマ及びルマ）の最大と最小との間の差が計算される。さらに、最大の差を有する成分は、そのモデルパラメータの計算のためのラインを定義する２つの点を決定するために選択される。この実施形態は、２つの成分が２つのクロマ成分又は２つのＲＧＢ成分である場合に効率的である。
【０２７３】
２つの点Ａ及びＢの選択は、現在のブロックのサンプルの値に対して行われてもよい。一実施形態では、簡略化線形モデル導出のための２つの点は、現在のダウンサンプリングされたルマブロック（図５の５０５）のサンプル値に基づいて設定される。ブロックの近傍のサンプル対のルマサンプル値は、ルマブロックのルマサンプル値と比較される。最大の発生率を有する値はｘＡを生成するために選択され、最大の発生率を有する第２の値はｘＢを生成するために選択される。対応するクロマ値ｙＡ及びｙＢは、ブロックの近傍のサンプル対における同一場所にあるクロマサンプルの平均値である。α（又はＬ）が”異常”（０に等しい、又は０に近い（｜α｜＜０．１））の場合、ｘＢは、最も選択された第２の値どころか、選択のより少ないルマ値の一つである。同じ方法で、ｙＢは、同一場所にあるクロマサンプルの平均値である。この実施形態は、最高の複雑さを対価として、以前の実施形態と比較してコーディング効率を向上させる。
【０２７４】
２つの点Ａ及びＢの選択は、サンプル対の空間位置に対して行われてもよい。
【０２７５】
前述の実施形態では、Ｍ対のルマ近隣サンプル及びクロマ近隣サンプルのルマ（Ａ、Ｂ）又は／及びクロマ（Ｃ、Ｄ）の最小値及び最大値を決定する必要がある。これは、追加の複雑さと見なすことができる。したがって、いくつかの実装では、これらの２つの点を最小限の複雑さで取得することが好ましい。
【０２７６】
一実施形態では、１つの線形モデルは、クロマサンプルＲｅｃＣ（図５の５０１）及び境界のダウンサンプリングルマサンプルＲｅｃＬ′（５０３）を用いて生成される。選択された第１の点は、５００４と参照されるルマの左行の底部サンプル、及び同一場所にあるクロマサンプル５００１である。選択された第２の点は、右上のルマサンプル５００３及び同一場所にあるクロマサンプル５００２である。この２点の選択は非常に単純であるが、それはまた、値に基づく以前の実施形態よりも効率的ではない。
【０２７７】
さらに、例えば画像又はスライスの境界上のブロックについて、上エッジ又は左エッジのうちの１つが存在しない場合、又は例えば複雑性又は誤り耐性の理由のために上エッジ又は左エッジのうちの１つが利用できない場合、その際に２つのサンプル（例えば、利用可能なエッジ上でルマが５０４又は５００３であるもの）が、欠けているものの代わりに選択される。したがって、サンプルを選択するためにいくつかの条件が存在することが分かる。
【０２７８】
傾きを計算するために十分な点を選択できない場合、又はそれらの点が「異常な」α（又はＬ）をもたらす場合、そこで代わりにデフォルト点が選択され得るさらなる実施形態が説明される。この実施形態は、適応を伴うＭＭＬＭモードにも適用することができる。第１のグループの線形モデルパラメータを作成するために、第１の点は、ルマの左の第２の行の底部サンプル（５００９）及び同一場所にあるクロマサンプル（５００５）である。加えて、第２の点は、左の第１の行の上のルマサンプル（５０１０）及び同一場所にあるクロマサンプル（５００６）である。
【０２７９】
第２のグループの線形モデルパラメータを作成するために、第１の点は、ルマの上の第１のラインの左サンプル（５０１１）及び同一場所にあるクロマサンプル（５００７）である。そして、第２の点は、上の第２のラインの右のルマサンプル（５０１２）及び同一場所にあるクロマサンプル（５００８）である。
【０２８０】
この実施形態は、第１のグループ及び第２のグループについての４つの点の選択を簡略化する。
【０２８１】
さらに別の実施形態では、ＭＭＬＭモードの閾値は、点５０１０又は５０１１のルマ値、すなわち、例における左近傍の右上点及び上近傍の左下点、又はこれらの点の平均である。この追加の実施形態は、閾値の計算を簡略化する。
【０２８２】
２点の選択に関連するこれらのすべての実施形態に対するさらなる実施形態では、ルマのダウンサンプリング処理は無効化され、デシメーションによって置き換えられる、すなわち、２つのルマサンプルの１つがＲｅｃＬ′サンプルに使用される。この場合、以下で詳細に説明される、図１０のステップ１００１及び図１２のステップ１２０１は省略されることになる。この実施形態は、コーディング効率にわずかな影響を及ぼす複雑さを低減する。
【０２８３】
点Ａ、Ｂ、Ｃ及びＤは、サンプルの復号バージョンに基づいて決定され、したがって、元のサンプル値と一致しない可能性がある。これは、「異常な」傾きを定義する際に既に述べたように、異常に短いセグメント、又は単にノイズの多い推定を引き起こし得る。Ａ及びＣは２つの最も低い点であり、Ｂ及びＤは２つの最も高い点であり、それらの任意の２つを使用する代わりに、少数の単純な補足演算を対価として、ＡとＣとの間の平均として定義される点Ｅ、及びＢとＤとの間の平均として定義される点Ｆを使用することができる。
ｘＥ＝（ｘＡ＋ｘＣ＋１）＞＞１、かつｙＥ＝（ｙＡ＋ｙＣ＋１）＞＞１
ｘＦ＝（ｘＢ＋ｘＤ＋１）＞＞１、かつｙＦ＝（ｙＢ＋ｙＤ＋１）＞＞１
【数２０】
2021515999.tif 000031
【０２８４】
明らかに、ｙＥ−ｙＦ又はｘＥ−ｘＦが０に等しいか、又は低すぎる（すなわち、導出された傾きが「異常」である）場合、点Ａ、Ｂ、Ｃ及びＤは、より良いパラメータを取得するために通常通り考慮される。
【０２８５】
これから、モデルにおける傾きの計算に使用される２つの点は、ＲｅｃＬ′又はＲｅｃＣのサンプル値から作られた２つの実際の点ではない可能性があることが理解されるべきである。これは、ステップ１００３において「選択」の代わりに「決定」という文言を用いることを説明している。
【０２８６】
なおさらなる実施形態では、ＭＭＬＭモードの場合、１つのグループの傾きを定義するα（又はＬ）パラメータが「異常」である場合、対応するＬＭパラメータは、ＬＭパラメータの２つ以上のグループの場合、他のグループ又は別のグループのＬＭパラメータに等しく設定される。図１２は、この実施形態を示す。ステップ１２０３で２つのグループの２つのモデルを定義する（α１，β１）及び（α２，β２）を決定した後、ステップ１２０４及び１２０５で、それらが０に等しいかどうかをチェックするためにα１及びα２をテストする。この場合、「異常」の傾きパラメータα（又はＬ）は、他の傾きパラメータαに等しく設定され、同様に、他のグループの対応するβパラメータ値は、ステップ１２０６及び１２０７でも使用される。したがって、その場合、現在のブロックのダウンサンプリングされたルマサンプル値の値が何であっても、パラメータのセット１つのみが使用され、閾値との比較はなく、ＣＣＬＭモードと同じ複雑さが得られる。この実施形態の利点は、追加の線形モデルパラメータを導出する必要がないことによる、少ない複雑さでのコーディング効率の改善である。
【０２８７】
代わりの実施形態では、１つの傾きパラメータα（又はＬ）が「異常」であるとき、線形パラメータの１つのセットは、ＭＭＬＭ（これは、１つの上のライン及び１つの隣接行の代わりに、２つの上のライン及び２つの隣接行を用いたＣＣＬＭ導出に対応する）のすべての初期サンプルを考慮することによって再導出される。この実施形態は、以前のものよりも良好なコーディング効率を与えるが、線形モデルパラメータのセットを再導出する必要があるため、より複雑である。
【０２８８】
本文書で説明されるような２点を用いた簡略化されたＬＭ導出は、一般に、いくつかのＬＭモードが競合しているときにすべてのＬＭＳ導出を置き換えない場合を除き、古典的なＬＭＳ導出よりも効率が低い。
【０２８９】
一実施形態では、２点を用いたＬＭ導出は、クロマブロック予測子を導出するためのＣＣＬＭモードについてのみ使用される。この実施形態は、コーディング効率の改善を与える。
【０２９０】
一実施形態では、２点を用いた導出は、最も複雑な予測方法であるので、ＭＭＬＭモードについてのみ使用される。
【０２９１】
一実施形態では、２点を用いたＬＭ導出が、ＣＣＬＭモード及びＭＭＬＭモードのために使用されて、クロマブロック予測子を導出する。この実施形態は、ＪＥＭと同様のコーディング効率を有するが、クロマブロック予測子の生成のためにこの簡略化されたＬＭ導出を使用することによって最悪の場合の複雑さを低減する。実際、ルマに基づくクロマ予測は、予測線形モデルモードの中で最悪の場合の複雑さを表すモードである。これは、残差クロマ予測よりも複雑である。
【０２９２】
一実施形態では、２点を有するＬＭ導出は、すべてのＬＭＳ導出（クロマブロック予測子生成及び残差予測）を置き換える。この実施形態は、ＪＥＭと比較してコーディング効率を低下させるが、複雑さを有意に減少させる。これらの２つの実施形態は、パラメータに関するステップ１２０３において使用される導出方法が何であってもコーディング効率の改善を与えることに留意されたい。
【０２９３】
さらに別の実施形態では、傾きパラメータα（又はＬ）の一方又は両方が「異常」である場合、そこで、ステップＳ１２０６及び／又は１２０７において（−（１＜＜Ｓ）／８のような）デフォルト値が使用され、対応する値βが計算される。
【０２９４】
さらに別の実施形態では、いくつかのＬＭモードがエンコーダ側で競合しており、シンタックス要素がデコーダ側のビットストリーム中で選択されたＬＭモードをシグナリングしてもよい。このシグナリングは、どのセットを使用すべきかを示すために、又は少なくともブロックレベル選択の候補を提供するために、スライスレベル（又はＰＰＳ、若しくはＳＰＳ）であり得る。これらの競合ＬＭモード間の差異のうちの少なくとも１つは、ＬＭパラメータを導出するために使用される２つの点のセットである。２つの点のセット、及びこれらの２つの点を生成する方法は、競合において異なるＬＭモードを定義する。例えば、１つのＬＭモードについて、２つの点は最小及び最大ルマ値に基づいて決定され、１つの別のＬＭモードについて、２つの点は最大及び最小クロマ値に基づいて選択される。
【０２９５】
別の実施形態は、図５に示されるように、可能な位置から多数のセットを定義することにある。４つのそのような異なる点は、１２個までの異なる対を導き得る一方で、傾きパラメータα（又はＬ）の計算のための式における分子及び分母について最大の値をもたらすものが好ましい可能性がある。エンコーダは、ペアのリストを構築し、ある基準（例えば、ルマ成分における距離、又はルマ成分とクロマ成分との両方を使用するデカルト距離）に応じてそれらをソートし、場合によっては（すなわち、その傾きが他の傾きに近すぎる場合には）それらの一部を除去し、したがって選択及びシグナリングすることができるパラメータのリストを構築する。
【０２９６】
これらの実施形態の利点は、コーディング効率の向上である。
【０２９７】
これらの実施形態の説明は、ルマ成分及びクロマ成分に言及するが、どちらもクロマ成分、又はＲＧＢ成分などの他の成分に容易に適合させることができる。一実施形態によれば、本発明は、第２のクロマ成分から第１のクロマ成分サンプル値を予測する際に使用される。別の実施形態では、本発明は、２つ以上の成分の２つ以上のサンプル値から１つの成分のサンプル値を予測する際に使用される。そのような場合、線形モデルは、２つの点／セットに基づいて導出され、各点／セットは、１つの成分のサンプル値、及び２つ以上の成分の２つ以上のサンプル値を含むことが理解される。例えば、２つの成分のサンプル値が、１つの成分のサンプル値を予測するために使用される場合、各点／セットは、３次元空間における位置として表され得、その線形モデルは、再構成サンプル値の２つの点／セットに対応する、３次元空間における２つの位置を通る直線に基づく。
【０２９８】
図１３は、本発明の１つ以上の実施形態の実装のための計算装置１３００の概略ブロック図である。計算装置１３００は、マイクロコンピュータ、ワークステーション、又は軽い携帯装置などの装置であってもよい。計算装置１３００は、以下に接続された通信バスを備える。
【０２９９】
−ＣＰＵと称される、マイクロプロセッサなどの中央処理装置１３０１。
【０３００】
−本発明の実施形態に応じた画像の少なくとも一部を符号化又は復号するための方法を実装するために必要な変数又はパラメータを機憂くするために適合されたレジスタと同様に、本発明の実施形態の方法の実行可能コードを格納するための、ＲＡＭと称される、そこでメモリ容量は例えば拡張ポートと接続された任意選択のＲＡＭによって拡張され得る、ランダムアクセスメモリ１３０１。
【０３０１】
−ＲＯＭと称される、本発明の実施形態を実施するためのコンピュータプログラムを格納するための読み取り専用メモリ１３０３。
【０３０２】
−ネットワークインターフェース１３０４は、典型的には、処理されるデジタルデータがそれを介して送受信される通信ネットワークに接続される。ネットワークインターフェース１３０４は、単一のネットワークインターフェースであり得るか、異なるネットワークインターフェースのセット（例えば、有線及び無線インターフェース、又は異なる種類の有線又は無線インターフェース）から構成され得る。データパケットは、ＣＰＵ１３０１で動作するソフトウェアアプリケーションの制御下で、送信用ネットワークインターフェースに書き込まれるか、受信用ネットワークから読み込まれる。
【０３０３】
−ユーザインターフェース１３０５は、ユーザから入力を受信するために、又はユーザに情報を表示するために使用されてもよい。
【０３０４】
−ＨＤで示されるハードディスク１３０６は、大容量記憶装置として提供されてもよい。
【０３０５】
−Ｉ／Ｏモジュールは、ビデオソース又はディスプレイなどの外部装置から／とのデータの受信／送信のために使用されてもよい。
【０３０６】
この実行可能コードは、読み取り専用メモリ１３０３、ハードディスク１３０６、又は例えばディスクなどの取外し可能なデジタル媒体のいずれかに格納されてもよい。変形例によれば、プログラムの実行可能コードは、実行される前にハードディスク１３０６などの通信装置１３００の記憶手段の１つに格納されるように、ネットワークインターフェース１３０４を介して通信ネットワークによって受信され得る。
【０３０７】
中央処理ユニット１３０１は、本発明の実施形態による１つ以上のプログラムの命令又はソフトウェアコードの部分の実行を制御及び指示するように適合され、その命令は前述の記憶手段のうちの１つに格納される。ＣＰＵ１３０１は、電源投入後、例えばプログラムＲＯＭ１３０３又はハードディスク（ＨＤ）１３０６などから、ソフトウェアアプリケーションに関するメインＲＡＭメモリ１３０２からの命令がロードされた後に、それらの命令を実行することができる。そのようなソフトウェアアプリケーションは、ＣＰＵ１３０１によって実行されると、本発明による方法のステップを行わせる。
【０３０８】
本発明による方法の任意のステップは、ＰＣ（「Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ」）、ＤＳＰ（「Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ」）、又はマイクロコントローラなどのプログラム可能な計算マシンによる命令又はプログラムのセットの実行によって、ソフトウェアにおいて実装されてもよく、そうでなければ、特に最小及び最大選択用のFＰＧＡ（「Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ」）、又はＡＳＩＣ（「Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ」）などの機械又は専用の構成要素によって、ハードウェアにおいて実装されてもよい。
【０３０９】
また、いくつかの例は、説明のためにＨＥＶＣに基づくが、本発明はＨＥＶＣに限定されないことにも留意されたい。例えば、本発明は、２つ以上の成分のサンプル値間の関係をモデルで推定／予測することができる他の予測／推定処理でも使用することができ、そこでそのモデルは、関連する／関連付けられた成分サンプル値のすべての利用可能なセットから選択された関連する／関連付けられた成分サンプル値の少なくとも２つのセットに基づいて決定される近似モデルである。
【０３１０】
サンプル対（すなわち、異なる成分についての関連付けられたサンプル値のセット）に対応する各点は、アレイに関して格納及び／又は処理されてもよいことが理解される。例えば、各成分のサンプル値は、その成分の各サンプル値が、例えばそのサンプル値に対するインデックスを使用して、そのアレイの要素を参照することによって参照可能／アクセス可能／取得可能であるように、アレイに格納されてもよい。代わりに、アレイは、サンプル対の各サンプル値をアレイの要素としてアクセス可能／取得可能な各サンプル対を格納及び処理するために使用されてもよい。
【０３１１】
また、上述の比較、判定、評価、選択、又は考慮の任意の結果、例えば、符号化処理中に行われる選択は、ビットストリーム中のデータ、例えば、その結果を示すフラグ又はデータから示されるか、又は決定可能であり、その結果、示されるか又は決定された結果は、例えば、復号処理中に実際に比較、判定、評価、選択、又は考慮を行う代わりに、その処理において使用され得ることも理解される。
【０３１２】
以上、本発明を具体的な実施形態に基づいて説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の修正が可能である。
【０３１３】
さらに、上述した例示的な実施形態を参照すると、多くのさらなる修正及び変更が当業者へと提案されているが、それは単に例として与えられ、添付のクレームによって単独で決定される本発明の範囲を制限することを意図しない。特に、異なる実施形態からの異なる特徴は、必要に応じて交換されてもよい。
【０３１４】
上述した発明の各実施形態は、単独で実施することもでき、複数の実施の形態を組み合わせて実施することもできる。また、異なる実施形態からの特徴は、必要に応じて組み合わせることができ、又は個々の実施形態からの要素又は特徴の組み合わせが単一の実施形態で有益である場合、組み合わせることができる。
【０３１５】
本明細書で開示される各特徴（任意の添付の特許請求の範囲、要約書、及び図面を含む）は、特に明記しない限り、同じ、同等、又は同様の目的に役立つ代替的特徴によって置き換えられ得る。したがって、特に明記しない限り、開示される各特徴は、均等又は同様の特徴の一般的なシリーズの一例にすぎない。
【０３１６】
請求項において、用語「備える（ｃｏｍｐｒｉｓｉｎｇ）」は、他の要素又はステップを除外せず、不定冠詞「１つの（ａ）」又は「１つの（ａｎ）」は、複数を除外しない。異なる特徴が相互に異なる従属請求項で述べられているという単なる事実は、これらの特徴の組み合わせを有利に使用することができないことを示すものではない。
【０３１７】
以下の番号付き条項はまた、特定の実施形態を定義する。
【０３１８】
（条項１）同一フレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから第１成分ブロックについての第１成分サンプルを取得するための線形モデルを導出する方法であって、
２点を通る直線を表す線形方程式のパラメータを決定することであって、各点は２つの変数によって定義され、第１成分及び第２成分の両方の再構成サンプルに基づいて、第１の前記変数は第２成分サンプル値に対応し、第２の前記変数は第１成分サンプル値に対応する、決定することと、
直線パラメータによって定義される前記線形モデルを導出することと、を含み、
前記パラメータを決定することは、整数算術を使用する、方法。
【０３１９】
（条項２）前記線形方程式の傾きに対応する前記パラメータ（α）は、前記２点の第１成分間の差分（ｄｉｆｆ）を算出することによって推定され、前記差分のサイズは、前記差分にビットシフトを適用することによって制限される、条項１に記載の方法。
【０３２０】
（条項３）前記ビットシフトの値は、前記サンプルのビット深度に依存する、条項２に記載の方法。
【０３２１】
（条項４）前記差分の値の最大数は２５６である、条項２又は３に記載の方法。
【０３２２】
（条項５）前記ビットシフトの値（ｐｓｈｉｆｔ）は、以下の式によって前記サンプルのビット深度（ＢｉｔＤｅｐｔｈ）に関連する、条項４に記載の方法。
【数２１】
2021515999.tif 000032
【０３２３】
（条項６）前記差分に対応する値が表に格納され、前記表内のエントリ数が２５６である、条項３乃至５の何れか一項に記載の方法。
【０３２４】
（条項７）前記差分に対応する値が表に格納され、前記表内のエントリの数は、サンプルが閾値以下のビット深度を有するとき２５６であり、サンプルが閾値を超えるビット深度を有するとき５１２である、条項３乃至５の何れか一項に記載の方法。
【０３２５】
（条項８）前記差分の値の最大数は１２８である、条項２又は３に記載の方法。
【０３２６】
（条項９）前記ビットシフトの値（ｐｓｈｉｆｔ）は、以下の式によって前記サンプルのビット深度（ＢｉｔＤｅｐｔｈ）に関連する、条項８に記載の方法。
【数２２】
2021515999.tif 000033
【０３２７】
（条項１０）前記差分に対応する値が表に格納され、前記表内のエントリ数が１２８である、条項８又は９に記載の方法。
【０３２８】
（条項１１）前記差分に対応する値が表に格納され、前記表内のエントリの数は、サンプルが閾値以下のビット深度を有するとき１２８であり、サンプルが閾値を超えるビット深度を有する場合に２５６である、条項８又は９に記載の方法。
【０３２９】
（条項１２）前記閾値は１０ビットである、条項７又は１１に記載の方法。
【０３３０】
（条項１３）前記表に格納された値は、Ｆｌｏｏｒ関数を含む関数によって前記差分に対応する、条項６乃至１２の何れか一項に記載の方法。
【０３３１】
（条項１４）前記差分は整数に制限される、条項２乃至１３の何れか一項に記載の方法。
【０３３２】
（条項１５）前記差分に値が追加され、前記値は、前記差分に適用されるビットシフトに依存する、条項１４に記載の方法。
【０３３３】
（条項１６）前記線形方程式の傾きに対応するパラメータを決定することは、分割を決定することを含み、前記決定は、前記分割にビットシフトを適用することによって前記分割の大きさを低減することを含む、条項１乃至１５の何れか一項に記載の方法。
【０３３４】
（条項１７）前記ビットシフトを、表に格納された前記差分に対応する値に適用して、前記表に格納された前記各エントリのサイズを制限することをさらに含む、条項１６に記載の方法。
【０３３５】
（条項１８）前記大きさを低減することは、前記分割の値が使用するビット数を１バイトに制限することを含む、条項１６又は１７に記載の方法。
【０３３６】
（条項１９）前記ビット数は、６、７又は８である、条項１８に記載の方法。
【０３３７】
（条項２０）前記ビット数は、前記サンプルのビット深度に依存する、条項１８又は１９に記載の方法。
【０３３８】
（条項２１）前記線形方程式の傾きに対応するパラメータの可能な値のサイズ及び／又は数を制限することをさらに含む、条項１乃至２０の何れか一項に記載の方法。
【０３３９】
（条項２２）前記線形方程式の前記傾きの値を所定の範囲内にあるようにクリッピングすることを含む、条項２１に記載の方法。
【０３４０】
（条項２３）前記所定の範囲は、ＣＣＬＭモードにおいて［−２.０，２.０］に対応する、条項２２に記載の方法。
【０３４１】
（条項２４）前記線形方程式の傾きに対応するパラメータの可能な値のサイズ及び／又は数を制限することは、ビットシフトを前記パラメータに適用することによって前記パラメータの大きさを低減することを含む、条項１７乃至２３の何れか一項に記載の方法。
【０３４２】
（条項２５）前記大きさ低減は、前記クリッピングの後に行われる、条項２２に従属する条項２４に記載の方法。
【０３４３】
（条項２６）前記大きさを低減することは、前記パラメータの値が使用するビット数を制限することを含む、条項２４又は２５に記載の方法。
【０３４４】
（条項２７）前記ビット数は、前記サンプルのビット深度に依存する、条項２６に記載の方法。
【０３４５】
（条項２８）前記ビット数は、５又は６である、条項２６に記載の方法。
【０３４６】
（条項２９）条項１乃至２８の何れか一項に係る線形モデルを導出する手段を含む、画像を符号化するための装置。
【０３４７】
（条項３０）条項１乃至２８の何れか一項に係る線形モデルを導出する手段を含む、画像を復号するための装置。
【０３４８】
（条項３１）プログラム可能機器に読み込まれ実行されるときに、条項１乃至２８の何れか一項に係る方法を実装するための命令のシーケンスを含む、プログラム可能機器のためのコンピュータプログラム製品。
【０３４９】
（条項３２）装置内のマイクロプロセッサ又はコンピュータシステムによって実行されると、前記装置に条項１乃至２８の何れか一項に係る方法を行わせるプログラムを格納する、コンピュータ可読記憶媒体。
【０３５０】
（条項３３）実行されると、条項１乃至２８の何れか一項に記載の方法を行わせる、コンピュータプログラム。
【図１】
2021515999.tif 000034
【図２】
2021515999.tif 000035
【図３】
2021515999.tif 000036
【図４】
2021515999.tif 000037
【図５】
2021515999.tif 000038
【図６】
2021515999.tif 000039
【図７】
2021515999.tif 000040
【図８】
2021515999.tif 000041
【図９】
2021515999.tif 000042
【図１０】
2021515999.tif 000043
【図１１】
2021515999.tif 000044
【図１２】
2021515999.tif 000045
【図１３】
2021515999.tif 000046
【国際調査報告】
2021515999.tif 000047
2021515999.tif 000048