(57)【特許請求の範囲】
【請求項１】
再構成されたルマ画素とクロマ画素に基づくクロマイントラ予測の方法であって、
媒体またはプロセッサから現在のルマブロックの隣接の再構成されたルマ画素と現在の再構成されたルマ画素を受けるステップ、
前記媒体または前記プロセッサから、現在のクロマブロックの隣接の再構成されたクロマ画素を受けるステップ、
スケーリング係数によってスケーリングされ、前記現在のルマブロックの導出され共同設置された現在のルマ画素に基づき、前記現在のクロマブロックのクロマ画素のクロマイントラ予測を導出するステップと、
前記現在のクロマブロックの前記クロマ画素の符号化または復号化用の前記クロマイントラ予測を提供するステップを含み、
前記現在のクロマブロックは前記現在のルマブロックと共同設置されており、
前記スケーリング係数は、前記現在のルマブロックの前記隣接の再構成されたルマ画素と前記現在のクロマブロックの前記隣接の再構成されたクロマ画素と関連した、除算係数とスケーリングされた共分散値の積項を含み、
前記除算係数は、前記現在のルマブロックの前記隣接の再構成されたルマ画素と関連したスケーリングされた分散値によって、切り上げ又は切り捨てで割られた第１のデータ範囲に関連し、
前記スケーリングされた共分散値および前記第１のデータ範囲の少なくともいずれか一方は、クロマ信号が動画像符号化プロセスの期間に処理される内部のビット深度によって決まる
方法。
【請求項２】
前記隣接の再構成されたルマ画素は、前記現在のルマブロックの上部の境界上にある再構成されたクロマ画素の第1のグループと、前記現在のルマブロックの左側の境界上にある再構成されたクロマ画素の第２のグループを含む
請求項１に記載の方法。
【請求項３】
前記現在のルマブロックの前記導出され共同設置されたルマ画素は、前記現在のクロマブロックの前記クロマ画素と共同設置された画素位置で、前記現在のルマブロックの前記現在の再構成されたルマ画素から導出される
請求項１に記載の方法。
【請求項４】
前記スケーリングされた共分散値は、前記現在のルマブロックの隣接の再構成されたルマ画素と前記現在のクロマブロックの隣接の再構成されたクロマ画素と関連した共分散値に基づいて導出され、かつ、前記共分散値に関連した第１のビット数によって右シフトした前記共分散値と、クロマ信号が動画像符号化プロセスの期間に処理された前記内部のビット深度に対応する
請求項１に記載の方法。
【請求項５】
下記式（３２）を満たす請求項４記載の方法。
【数３２】
0005977439.tif 000046
ただし、
ａｌｓは、前記スケーリングされた共分散値を示し、
ａｌは、前記共分散値を示し、且つ、ＢｉｔＤｅｐｔｈＣは、クロマ信号が動画像符号化プロセス期間に処理される内部のビット深度を示す。
【請求項６】
前記第１のデータ範囲は、２＾（ＢｉｔＤｅｐｔｈＣ−２）または２＾（ＢｉｔＤｅｐｔｈＣ−１）に対応する
請求項５に記載の方法。
【請求項７】
前記スケーリングされた分散値は、前記現在のルマブロックの隣接の再構成されたルマ画素と関連した分散値に基づいて導出され、かつ、前記分散値に関連した第２のビット数によって右シフトした前記分散値に対応する
請求項１に記載の方法。
【請求項８】
下記式（３３）を満たすことを特徴とする請求項７に記載の方法。
【数３３】
0005977439.tif 000047
ただし、ａ２ｓは、前記スケーリングされた分散値を示し、
ａ２は、前記分散値を示す。
【請求項９】
前記除算係数は、（２＾（ＢｉｔＤｅｐｔｈＣ-２）＋ａ２ｓ／２）／ａ２ｓ、（２＾（ＢｉｔＤｅｐｔｈＣ-１）＋ａ２ｓ／２）／ａ２ｓ、（２＾（ＢｉｔＤｅｐｔｈＣ＋１）＋ａ２ｓ／２）／ａ２ｓ、（２＾（ＢｉｔＤｅｐｔｈＣ＋２）＋ａ２ｓ／２）／ａ２ｓ、（２＾（ＢｉｔＤｅｐｔｈＣ＋３）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓ
に対応する請求項８に記載の方法。
【請求項１０】
前記スケーリング係数によってスケーリングされた前記現在のルマブロックの前記導出された共同設置された現在のルマ画素は、
前記現在のクロマブロックのクロマ画素に用いる前記導出のクロマイントラ予測の期間の積項に関連したシフト係数によって右シフトされ、
前記シフト係数は、
各々の除算係数に用いる
（ＢｉｔＤｅｐｔｈＣ−２−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ−１−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ＋１−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ＋２−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ＋３−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、または（ＢｉｔＤｅｐｔｈＣ＋４−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））
に対応し、
前記スケーリングされた分散値が１と等しい、または１より大きい場合、ａ３は、切り捨て又は切り上げで右シフトされ、且つ（−２１５、２１５−１）にクリップされた積項に対応する処理結果を示し、
前記スケーリングされた分散値が１より小さい場合、ａ３は０である
請求項９に記載の方法。
【請求項１１】
前記除算係数は、ルックアップテーブルによって実行され、
前記ルックアップテーブルは、テーブル入力としてスケーリングされた分散値を有するクロマ信号の選択された内部のビット深度のためのテーブルである
請求項９に記載の方法。
【請求項１２】
前記ルックアップテーブルは、前記除算係数が（２＾（ＢｉｔＤｅｐｔｈＣ＋１）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋２）＋ａ２ｓ／２）／ａ２ｓのいずれかに対応する場合には、１〜６のスケーリングされた分散値に用いるテーブルエントリを除外し、前記除算係数が（２＾（ＢｉｔＤｅｐｔｈＣ＋３）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓのいずれかに対応する場合には、１〜３１のスケーリングされた分散値に用いるテーブルエントリを除外する
請求項１１に記載の方法。
【請求項１３】
前記スケーリング係数によってスケーリングされた前記現在のルマブロックの前記導出された共同設置された現在のルマ画素は、
前記現在のクロマブロックのクロマ画素に用いる前記導出のクロマイントラ予測の期間の積項に関連したシフト係数によって右シフトされ、
前記シフト係数は、
各々の除算係数に用いる
（ＢｉｔＤｅｐｔｈＣ−２−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ−１−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ＋１−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ＋２−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、（ＢｉｔＤｅｐｔｈＣ＋３−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））、または（ＢｉｔＤｅｐｔｈＣ＋４−Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ３））−６））
に対応し、
ａ２ｓが７と等しい、または７より大きい場合、ａ３は、切り捨て又は切り上げで右シフトされ、且つ（−２１５、２１５−１）にクリップされた積項に対応する処理結果を示し、前記除算係数が（２＾（ＢｉｔＤｅｐｔｈＣ＋１）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋２）＋ａ２ｓ／２）／ａ２ｓのいずれかに対応する場合で、ａ２ｓが７より小さい時には、ａ３は０にセットされ、
ａ２ｓが３２と等しい、または３２より大きい場合、ａ３は、切り捨て又は切り上げで右シフトされ、且つ（−２１５、２１５−１）にクリップされた積項に対応する処理結果を示し、前記除算係数が（２＾（ＢｉｔＤｅｐｔｈＣ＋３）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓのいずれかに対応する場合で、ａ２ｓが３２より小さい時には、ａ３は０にセットされる請求項１２に記載の方法。
【請求項１４】
前記除算係数が（２＾（ＢｉｔＤｅｐｔｈＣ＋１）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋２）＋ａ２ｓ／２）／ａ２ｓのいずれかに対応する場合で、ａ２ｓが７より小さい、またはａ２ｓが７より小さく０より大きい時には、
前記除算係数は、７に等しいａ２ｓと対応する、第１の値にセットされ、
前記除算係数が（２＾（ＢｉｔＤｅｐｔｈＣ＋３）＋ａ２ｓ／２）／ａ２ｓ、または（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓのいずれかに対応する場合で、ａ２ｓが３２より小さい、または、ａ２ｓが３２より小さく０より大きい時には、前記除算係数は、３２に等しいａ２ｓと対応する第２の値にセットされる
請求項１２に記載の方法。
【請求項１５】
再構成されたルマ画素およびクロマ画素に基づくクロマイントラ予測の装置であって、  媒体またはプロセッサから現在のルマブロックの隣接の再構成されたルマ画素と現在の再構成されたルマ画素を受ける手段、
前記媒体または前記プロセッサから、現在のクロマブロックの隣接の再構成されたクロマ画素を受ける手段、
スケーリング係数によってスケーリングされ、前記現在のルマブロックの導出され共同設置された現在のルマ画素に基づき、前記現在のクロマブロックのクロマ画素のクロマイントラ予測を導出する手段、
前記現在のクロマブロックの前記クロマ画素の符号化または復号化用の前記クロマイントラ予測を提供する手段を備え、
前記現在のクロマブロックは、前記現在のルマブロックと共同設置されており、
前記スケーリング係数は、前記現在のルマブロックの前記隣接の再構成されたルマ画素と前記現在のクロマブロックの前記隣接の再構成されたクロマ画素と関連した、除算係数とスケーリングされた共分散値の積項を含み、
前記除算係数は、前記現在のルマブロックの前記隣接の再構成されたルマ画素と関連したスケーリングされた分散値によって、切り上げ又は切り捨てで割られた第１のデータ範囲に関連し、
前記スケーリングされた共分散値および前記第１のデータ範囲の少なくともいずれか一方は、クロマ信号のビット深度によって決まる
装置。
【請求項１６】
前記隣接の再構成されたルマ画素は、
前記現在のルマブロックの上部の境界上にある再構成されたクロマ画素の第1のグループと、前記現在のルマブロックの左側の境界上にある再構成されたクロマ画素の第２のグループを含む
請求項１５に記載の装置。
【請求項１７】
前記現在のルマブロックの前記導出され共同設置されたルマ画素は、前記現在のクロマブロックの前記クロマ画素と共同設置された画素位置で、前記現在のルマブロックの前記現在の再構成されたルマ画素から導出される
請求項１５に記載の装置。
【請求項１８】
前記スケーリングされた共分散値は、
前記現在のルマブロックの隣接の再構成されたルマ画素と前記現在のクロマブロックの隣接の再構成されたクロマ画素と関連した共分散値に基づいて導出され、
かつ、前記共分散値に関連した第１のビット数によって右シフトした前記共分散値と、クロマ信号が動画像符号化プロセスの期間に処理された内部の前記ビット深度に対応する
請求項１５に記載の装置。
【請求項１９】
下記式（３４）を満たす請求項１８記載の装置。
【数３４】
0005977439.tif 000048
ただし、ａｌｓは、前記スケーリングされた共分散値を示し、ａｌは、前記分散値を示し、ＢｉｔＤｅｐｔｈＣは、クロマ信号が動画像符号化プロセス期間に処理される内部のビット深度を示す。
【請求項２０】
前記第１のデータ範囲は、２＾（ＢｉｔＤｅｐｔｈＣ−２）または２＾（ＢｉｔＤｅｐｔｈＣ−１）に対応する請求項１９に記載の装置。
【請求項２１】
前記スケーリングされた分散値は、前記現在のルマブロックの隣接の再構成されたルマ画素と関連した分散値に基づいて導出され、かつ、
前記分散値に関連した第２のビット数によって右シフトした前記分散値に対応する請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１２年４月１６日に出願されたＰＣＴ特許出願番号第ＰＣＴ／ＣＮ２０１２／０７４１１８号「Ｉｍｐｒｏｖｅｍｅｎｔｓ ｏｆ Ｌｕｍａ−ｂａｓｅｄ Ｃｈｒｏｍａ Ｉｎｔｒａ Ｐｒｅｄｉｃｔｉｏｎ」からの優先権を主張するものであり、これらの全ては引用によって本願に援用される。
【０００２】
本発明は、動画像符号化に関し、特に、再構成されたルマおよびクロマ画素に基づく簡易化したクロマイントラ予測に関連する符号化技術に関するものである。
【背景技術】
【０００３】
動き補償フレーム間符号化は、各種の符号化規格、例えばＭＰＥＧ−１／２／４およびＨ.２６１／Ｈ.２６３／Ｈ.２６４／ＡＶＣに広く適用されている。動き補償フレーム間符号化は、圧縮動画像用にビットレートを効果的に減少できるが、イントラ符号化は、大きな動き又はシーンチェンジの領域を圧縮する必要がある。また、イントラ符号化は、初期画像を処理するために用いられ、または、ランダムアクセス或いは誤差伝搬の緩和用にＩ画像またはＩブロックを周期的に挿入するためにも用いられる。イントラ予測は、画像内の、または画像領域内の空間相関を利用する。実際には、画像または画像領域は、ブロックに分割され、イントラ予測は、ブロック単位で行われる。現在のブロックのイントラ予測は、処理されている隣接ブロックの画素に頼ることができる。例えば、画像または画像領域のブロックが１行毎に、まず左から右に、次いで上から下に処理された場合、現在のブロックの上部の隣接ブロックと左側の隣接ブロックが用いられ、現在のブロックの画素にイントラ測定を形成する。処理された隣接ブロックの任意の画素は、現在のブロックの画素のイントラ予測に用いられることができるが、しばしば上部および左側の現在のブロックの境界に隣接する隣接ブロックの画素だけが用いられる。
【０００４】
イントラ予測は、通常、滑らかな領域（ＤＣモード）、垂直線またはエッジ、水平線またはエッジ、および、対角線またはエッジなどの画像の空間的特徴を利用するように設計されている。また、相関性はしばしば輝度（ルマ：ｌｕｍａ）要素および彩度（クロマ：ｃｈｒｏｍａ）要素との間に存在する。よって、再構成されたルマ画素は、イントラクロマ予測を導出するように用いられることができる。高効率動画像符号化（Ｈｉｇｈ Ｅｆｆｉｃｉｅｎｃｙ Ｖｉｄｅｏ Ｃｏｄｉｎｇ； ＨＥＶＣ）の最近の発展では、共同設置された再構成のルマブロックに基づくクロマイントラ予測法が開示されている。クロマイントラ予測のタイプは、ＬＭ予測またはＬＭモードと呼ばれる。主な概念は、再構成されたルマ画素を用いて対応するクロマ画素の予測値を生成することである。図１Ａと図１Ｂは、予測手順を示している。まず、図１Ａの共同設置されたルマブロックの隣接の再構成された画素と図１Ｂのクロマブロックの隣接の再構成された画素は、ブロック間の相関パラメータを導出するように用いられる。次いで、ルマブロックの再構成された画素とパラメータを用いて、クロマブロックの予測された画素が生成される。パラメータの導出では、現在のルマブロックの第１の上部の再構成された画素行と第２の左側の再構成された画素列が用いられる。ルマブロックの特定の行と列は、クロマ要素の４：２：０サンプリングフォーマットとマッチさせるために用いられる。次の説明は、４：２：０サンプリングフォーマットに基づく。他のサンプリングフォーマット用のＬＭモードのクロマイントラ予測は、同様に導出されることができる。
【０００５】
テストモデルバージョン５.０（ＨＭ−５.０）では、ＬＭモードは、共同設置された予測ユニット（ＰＵ：ｐｒｅｄｉｃｔｉｏｎ  ｕｎｉｔ）の再構成されたルマサンプルを用いた線形モデルに基づく予測クロマサンプルに用いられる。線形モデルのパラメータは、傾き（ａ＞＞ｋ）とｙ軸切片（ｂ）からなる。「＞＞」は、右シフトの動作に対応する。パラメータは、最小平均二乗法則に従って隣接のルマとクロマサンプルに基づいて導出される。予測サンプル、ＬＭモードで符号化されたクロマサンプルのｐｒｅｄＳａｍｐｌｅｓ［ｘ,ｙ］は、以下のように導出される。ただし、ｘ,ｙ ＝ ０…ｎＳ−１ と ｎＳは、ブロックサイズに対応する。
【０００６】
まず、変数ｋ３とサンプルアレイｐＹ’は、下記式（１）として導出される。
【数１】
0005977439.tif 000002
式（１）のＢｉｔＤｅｐｔｈＣは、内部のクロマビット深度（即ち、動画像符号化プロセスの期間に処理されるクロマ信号のビット深度）を示す。
【数２】
0005977439.tif 000003
【数３】
0005977439.tif 000004
【数４】
0005977439.tif 000005
【０００７】
ｘ ＝ ０…ｎＳ−１, ＰＬＭ［ｘ,ｙ］は、隣接の再構成されたルマサンプルを示し、ｒｅｃＳａｍｐｌｅｓＬ［ｘ,ｙ］は、共同設置されたルマブロックの現在の再構成されたルマサンプルを示している。サンプルアレイＰｙ’は、再構成されたルマサンプルから導出される。従ってＰｙ’は、本発明では導出された共同設置されたルマサンプルとしても呼ばれる。式（２）〜（４）では、Ｐｙ’［ｘ,ｙ］は、クロマサンプルと共同設置された位置でのみ評価される。
【０００８】
ＨＭ−５.０では、隣接の再構成されたルマサンプルおよび隣接の再構成されたクロマサンプルの特徴は、ＬＭモードのクロマイントラ予測用に線形モデルのパラメータａ、ｋ、およびｂを決定するために用いられる。現在のルマブロックの導出された共同設置されたルマ画素は、現在のクロマブロックのクロマ画素と共同設置された画素位置で、現在のルマブロックの現在の再構成されたルマ画素から導出されることができる。
【０００９】
クロマイントラ予測を導出され共同設置された（ｃｏ−ｌｏｃａｔｅｄ）ルマ画素に関連付けている線形モデルを例示するために、Ｌ、Ｃ、ＬＬ、ＬＣ、およびｋ２を含むセットの変数が定義される。変数Ｌ、Ｃ、ＬＬ、ＬＣ、およびｋ２は、以下の式で導出される。
【数５】
0005977439.tif 000006
【数６】
0005977439.tif 000007
【数７】
0005977439.tif 000008
【数８】
0005977439.tif 000009
【数９】
0005977439.tif 000010
【００１０】
式（５）〜（８）に示されるように、Ｌは、現在のブロックの隣接の領域の再構成されたルマサンプルの和に対応し、Ｃは、現在のブロックの隣接の領域の再構成されたクロマサンプルの和に対応し、ＬＬは、現在のブロックの隣接の領域の再構成されたルマサンプルの平方和に対応し、ＬＣは、現在のブロックの隣接の領域の再構成されたルマサンプルと再構成されたクロマサンプルの積和（ｓｕｍ ｏｆ ｃｒｏｓｓ−ｐｒｏｄｕｃｔ）に対応する。また、Ｌ、Ｃ、ＬＬ、ＬＣは、ｋ３ビットによって右シフトされ、クロマ信号が動画像符号化プロセス（即ち、ｂｉｔＤｅｐｔｈＣ）とブロックサイズ（即ち、ｎＳ）の期間に処理される内部のクロマビット深度を考慮に入れる。
【００１１】
線形のモデルパラメータａ、ｂ、およびｋは、以下の式で導出される。
【数１０】
0005977439.tif 000011
【数１１】
0005977439.tif 000012
【数１２】
0005977439.tif 000013
【数１３】
0005977439.tif 000014
【数１４】
0005977439.tif 000015
【数１５】
0005977439.tif 000016
【数１６】
0005977439.tif 000017
【数１７】
0005977439.tif 000018
【数１８】
0005977439.tif 000019
【００１２】
上記式のｌｍＤｉｖは、全てのａ２ｓ値用に定められる。
【００１３】
式（１０）に定義されたパラメータａ１は、現在のルマブロックの隣接の再構成されたルマ画素（ｔｈｅ  ｎｅｉｇｈｂｏｒｉｎｇ  ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｌｕｍａ  ｐｉｘｅｌｓ）と現在のクロマブロックの隣接の再構成されたクロマ画素と関連した共分散値（ｃｏｖａｒｉａｎｃｅ-ｌｉｋｅ ｖａｌｕｅ）に対応する。確率変数ＸとＹと関連する共分散σ（Ｘ,Ｙ）は、 σ（Ｘ,Ｙ） =Ｅ［ＸＹ］−Ｅ［Ｘ］Ｅ［Ｙ］として定義され、その中のＥ［.］は、下方の確率変数の期待値である。均一分散の確率変数では、期待値は、平均値に等しい。式（５）〜（８）に示される変数Ｌ、Ｃ、ＬＬ、ＬＣは、ｋ３ビットによって右シフトされる。ｋ３は、ブロックサイズ（即ち、ｎＳ）に関連する。言い換えれば、現在のルマブロックの隣接の再構成されたルマ画素が第１の均一に分散された確率変数（即ち、Ｘ）としてみなされ、現在のクロマブロックの隣接の再構成されたクロマ画素が第２の均一に分散された確率変数（即ち、Ｘ）としてみなされた場合、ａ１は、均一に分散された確率変数ＸとＹに用いる共分散と同様の形式を有する。式（１０）では、Ｌ＊Ｃのスケーリングに適合させるためにｋ３ビットによって右シフトされる。従って、式（１０）で定義されたａｌは、現在のルマブロックの隣接の再構成されたルマ画素と現在のクロマブロックの隣接の再構成されたクロマ画素と関連した共分散形式を有する。共分散値は所望の範囲にスケーリングされる。スケーリングは共分散値を左またはシフトすることによって、実行できる。例えば、ＨＭ−５.０で用いられる共分散値のスケーリングは、式(１３)で示される。
【００１４】
同様に、式（１１）に定義されたパラメータａ２は、現在のルマブロックの隣接の再構成されたルマ画素と関連した分散値（ｖａｒｉａｎｃｅ-ｌｉｋｅ ｖａｌｕｅ）に対応する。分散値は所望の範囲にスケーリングされる。スケーリングは分散値を左またはシフトすることによって、実行できる。例えば、ＨＭ−５.０で用いられる分散値のスケーリングは、式(１４)で示される。除算係数（ｄｉｖｉｓｉｏｎ ｆａｃｔｏｒ）、ｌｍＤｉｖは、ａ２ｓによって第１のデータ範囲を割り、切り捨て又は切り上げることによって、決定される。ＨＭ−５.０では、第１のデータ範囲は、２^１５ （即ち、２１５）に対応する。従って、ｌｍＤｉｖ ＝（２＾１５＋ａ２ｓ／２）／ａ２ｓである。次いで、中間パラメータａ３は、ａ1ｓ＊ｌｍＤｉｖに応じて決定され、積ａ１ｓ＊ｌｍＤｉｖは、２ｋ１で割られ、切り上げ又は切り捨てられる。その結果は、ａ２ｓ≧１の場合、２１５と２１５−１との間にクリップされる。ａ２ｓが１より少ない場合、ａ３は、０にセットされる。ＨＭ−５.０では、ａ３の導出が式（１５）に示され、２ｋ１による、切り捨て又は切り上げの除算は、右シフトで実行される。式（１５）の右シフトは、式（１３）と式（１５）のａ１とａ２に用いられるシフト動作を逆にするように実行される。
【００１５】
次いで、線形モデルのパラメータａとｋは、式（１６）と（１７）に示されるように、ａ３に基づいてそれぞれ決定される。ｙ軸切片、ｂは、式（１８）に基づいて決定される。最後に、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ,ｙ］の値は、下記式（１９）で表される。
【数１９】
0005977439.tif 000020
【表１】
0005977439.tif 000021
【００１６】
上述のように、予測サンプル、ｐｒｅｄＳａｍｐｌｅｓ［ｘ,ｙ］の導出は、非常に計算集約的である。多数の計算を伴うだけでなく、表を保存するバッファも必要である。また、いくつかの動作は、より高い精度を必要とする可能性がある。例えば、式（１５）では、ａｌｓは、１５ビットの符号付き整数であるため、ａ1ｓ＊ｌｍＤｉｖは１５ビット乗算器を必要とする。この大型の乗算器は、より高い計算複雑性を発生させる。よって、予測サンプルの導出を簡易化させることが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
再構成されたルマおよびクロマ画素に基づく簡易化したクロマイントラ予測の方法および装置を提供する。
【課題を解決するための手段】
【００１８】
再構成されたルマおよびクロマ画素に基づくクロマイントラ予測の方法および装置が開示される。現在のクロマブロックのクロマ画素のクロマイントラ予測は、スケーリング係数によってスケーリングされ、現在のルマブロックの導出し共同設置された現在のルマ画素の線形モデルに基づいている。スケーリング係数は、現在のルマブロックの隣接の再構成されたルマ画素と現在のクロマブロックの隣接の再構成されたクロマ画素と関連した、除算係数とスケーリングされた共分散値の積項を含む。除算係数は、現在のルマブロックの隣接の再構成されたルマ画素と関連したスケーリングされた分散値によって、切り捨て又は切り上げで除算された第１のデータ範囲に関連する。本発明の実施形態を組み込んだシステムでは、スケーリングされた分散値、第１のデータ範囲、またはスケーリングされた分散値と第１のデータ範囲の両方は、クロマ信号が動画像符号化プロセスの期間に処理される内部のビット深度によって決まる。
【００１９】
本実施形態では、スケーリングされた分散値、ａｌｓは、ａ１ｓ＝ａ１＞＞Ｍａｘ（０，Ｌｏｇ２（ａｂｓ（ａ１））−（ＢｉｔＤｅｐｔｈＣ−２））に応じて導出される。ａｌは、分散値を示し、ＢｉｔＤｅｐｔｈＣは、クロマ信号が動画像コーデックで処理される内部のビット深度を示している。本発明の他の実施形態では、第１のデータ範囲は、２＾（ＢｉｔＤｅｐｔｈＣ＋ｎ）に対応し、ｎは、−２〜＋４の整数である。除算係数は、テーブル入力としてスケーリングされた分散値を有するルックアップテーブルを用いて導出される。また、除算係数は、符号化プロセスの期間にスケーリングされた分散値によって、四捨五入で割られることによって計算される。
【図面の簡単な説明】
【００２０】
【図１Ａ】ＨＭ−５.０に応じたクロマイントラ予測用の隣接の再構成されたルマサンプルおよび現在の再構成されたルマサンプルに基づいて導出された導出のルマサンプルの例を示している。
【図１Ｂ】現在のクロマサンプルのクロマイントラ予測に用いられる隣接の再構成されたクロマサンプルの例を示している。
【図２】本発明の実施形態を組み込んだクロマイントラ予測のフローチャートの例を示している。
【発明を実施するための形態】
【００２１】
上述のように、現存のＬＭモードの導出は、非常に複雑である。いくつかの動作は、より高い演算精度、例えばａ１ｓ＊ｌｍＤｉｖ動作などを必要とする。従って、本実施形態において、クロマ信号が動画像符号化プロセスの期間に処理されつつ、ａ１ｓ＊ｌｍＤｉｖ動作の複雑性は、ａｌｓ導出で、内部のビット深度を組み込むことにより、減少される。例えば、本発明の実施形態を組み込んだａｌｓ用のシフト動作は、下記式（２０）で表される。
【数２０】
0005977439.tif 000022
【００２２】
式（２０）において、式（１３）の定数値（即ち、１４）は、（ＢｉｔＤｅｐｔｈＣ-２）によって置き換えられる。従って、ａｌｓのビット数は、クロマ信号のビット深度（即ち、ＢｉｔＤｅｐｔｈＣ）マイナス１とプラス１の符号ビットに制限される。また、ｌｍＤｉｖは、（２＾１５＋ａ２ｓ／２）／ａ２ｓから （２＾（ＢｉｔＤｅｐｔｈＣ-１）＋ａ２ｓ／２）／ａ２ｓに変えられる。そのため、ａ２ｓが１と等しい時、ｌｍＤｉｖは（２＾ＢｉｔＤｅｐｔｈＣ）より小さくなる。上述のように、ａ２ｓからのｌｍＤｉｖの導出、即ち、ｌｍＤｉｖ＝（２＾（ＢｉｔＤｅｐｔｈＣ-１）＋ａ２ｓ／２）／ａ２ｓは、ルックアップテーブルで実現できる。表２は、ＢｉｔＤｅｐｔｈＣ ＝ ８に対するｌｍＤｉｖの値を示している。表３は、ＢｉｔＤｅｐｔｈＣ ＝ １０に対するｌｍＤｉｖの値を示している。
【表２】
0005977439.tif 000023
【表３】
0005977439.tif 000024
【００２３】
上述の式（２０）に示された新しいａｌｓとｌｍＤｉｖ(即ち、（２＾（ＢｉｔＤｅｐｔｈＣ-１）＋ａ２ｓ／２）／ａ２ｓ）とともに、変更を必要とする他の変数は、以下の通りである。
【数２１】
0005977439.tif 000025
【数２２】
0005977439.tif 000026
【００２４】
他の実施形態では、ｌｍＤｉｖは、（２＾（ＢｉｔＤｅｐｔｈＣ-２）＋ａ２ｓ／２）／ａ２ｓにセットされる。そのため、ａ２ｓが１と等しい時、ｌｍＤｉｖは、（２＾ＢｉｔＤｅｐｔｈＣ−１）より小さくなる。表４は、ＢｉｔＤｅｐｔｈＣ ＝ ８でのｌｍＤｉｖの値を示している。表５は、ＢｉｔＤｅｐｔｈＣ ＝ １０でのｌｍＤｉｖの値を示している。
【表４】
0005977439.tif 000027
【表５】
0005977439.tif 000028
【００２５】
上述のｌｍＤｉｖ（即ち、（２＾（ＢｉｔＤｅｐｔｈＣ-２）＋ａ２ｓ／２）／ａ２ｓ）では、変数ｋは、以下のように定義される：
【数２３】
0005977439.tif 000029
【００２６】
他の実施形態では、ｌｍＤｉｖは、（２＾（ＢｉｔＤｅｐｔｈＣ＋２）＋ａ２ｓ／２）／ａ２ｓにセットされる。この場合、ａ２ｓ＞＝ ７では、ｌｍＤｉｖは、２＾ＢｉｔＤｅｐｔｈＣより小さくなる。従って、表６は、ＢｉｔＤｅｐｔｈＣ ＝ ８でのｌｍＤｉｖの値を示している。表７は、ＢｉｔＤｅｐｔｈＣ ＝ １０でのｌｍＤｉｖの値を示している。表６と表７では、ａ２ｓが１から６のどの値にもなることができないため、ａ２ｓ＜７に対応するエントリがない。
【表６】
0005977439.tif 000030
【表７】
0005977439.tif 000031
【００２７】
上述のｌｍＤｉｖ（即ち、（２＾（ＢｉｔＤｅｐｔｈＣ＋２）＋ａ２ｓ／２）／ａ２ｓ）では、変数ａ３およびｋは、以下のように定義される：
【数２４】
0005977439.tif 000032
【数２５】
0005977439.tif 000033
【００２８】
他の実施形態では、ｌｍＤｉｖは、（２＾（ＢｉｔＤｅｐｔｈＣ＋１）＋ａ２ｓ／２）／ａ２ｓに変えられ、ａ２ｓ＞＝７ではｌｍＤｉｖ ＜ ２＾（ＢｉｔＤｅｐｔｈＣ−１）が保証される。表８は、ＢｉｔＤｅｐｔｈＣ ＝ ８でのｌｍＤｉｖの値を示している。表９は、ＢｉｔＤｅｐｔｈＣ ＝ １０でのｌｍＤｉｖの値を示している。表８と９では、ａ２ｓが１から６のどの値にもなることができないため、ａ２ｓ＜７に対応するエントリがない。
【表８】
0005977439.tif 000034
【表９】
0005977439.tif 000035
【００２９】
上述のｌｍＤｉｖ（即ち、（２＾（ＢｉｔＤｅｐｔｈＣ＋１）＋ａ２ｓ／２）／ａ２ｓ）では、変数ａ３およびｋは、以下のように定義される：
【数２６】
0005977439.tif 000036
【数２７】
0005977439.tif 000037
【００３０】
他の実施形態では、ｌｍＤｉｖは、（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓにセットされ、式（１５）のａ３は、ａ２ｓ＜３２ではゼロにセットされる。この場合、ａ２ｓ＞＝３２ではｌｍＤｉｖ ＜ ２＾（ＢｉｔＤｅｐｔｈＣ）である。表１０は、ＢｉｔＤｅｐｔｈＣ ＝ ８でのｌｍＤｉｖの値を示している。表１１は、ＢｉｔＤｅｐｔｈＣ ＝ １０でのｌｍＤｉｖの値を示している。この場合、ｌｍＤｉｖは、０にセットされるため、ａ２ｓ＜３２に対応するテーブルエントリが必要ない。
【表１０】
0005977439.tif 000038
【表１１】
0005977439.tif 000039
【００３１】
上述のｌｍＤｉｖ（即ち、（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓ）およびａ３では、変更を必要とする他の変数は、以下の通りである。
【数２８】
0005977439.tif 000040
【数２９】
0005977439.tif 000041
【００３２】
他の実施形態では、ｌｍＤｉｖは、（２＾（ＢｉｔＤｅｐｔｈＣ＋３）＋ａ２ｓ／２）／ａ２ｓにセットされ、式（１５）のａ３は、ａ２ｓ＜３２ではゼロにセットされる。この場合、ｌｍＤｉｖは、ａ２ｓ＞＝ ３２では２＾（ＢｉｔＤｅｐｔｈＣ−１）より小さくなる。表１２は、ＢｉｔＤｅｐｔｈＣ ＝ ８でのｌｍＤｉｖの値を示している。表１３は、ＢｉｔＤｅｐｔｈＣ ＝ １０でのｌｍＤｉｖの値を示している。この場合、ｌｍＤｉｖは、０にセットされるため、ａ２ｓ＜３２に対応するテーブルエントリが必要ない。
【表１２】
0005977439.tif 000042
【表１３】
0005977439.tif 000043
【００３３】
上述のｌｍＤｉｖ（即ち、（２＾（ＢｉｔＤｅｐｔｈＣ＋４）＋ａ２ｓ／２）／ａ２ｓ）およびａ３では、変更を必要とする他の変数は、以下の通りである。
【数３０】
0005977439.tif 000044
【数３１】
0005977439.tif 000045
【００３４】
上述のＬＭモードのクロマイントラ予測方法は、ビデオエンコーダおよびビデオデコーダに用いることができる。図２は、本実施形態を組み込んだエンコーダまたはデコーダの例示的なフローチャートを示している。ステップ２１０に示されるように、現在のルマブロックの隣接の再構成されたルマ画素と現在の再構成されたルマ画素は、媒体またはプロセッサから受信される。再構成されたルマ画素は、バッファ（ＲＡＭまたはＤＲＡＭ）のコンピュータメモリなどの媒体から取り出される。再構成されたルマ画素は、中央処理装置などのプロセッサ、または残差信号からのルマ画素を再構成するデジタル信号プロセッサから受信されることも可能である。ビデオエンコーダでは、残差信号は、エンコーダによって生成される。ビデオデコーダでは、残差信号は、受けたビットストリームから得ることができる。ステップ２２０で示されるように、現在のクロマブロックの隣接の再構成されたクロマ画素は、媒体またはプロセッサから受信され、現在のクロマブロックは、現在のルマブロックと共同設置される。再構成されたルマサンプルとクロマサンプルは、同じ媒体（例えば同じＤＲＡＭ装置）または個別の媒体（例えば個別のＤＲＡＭ装置）から得ることができる。再構成されたルマサンプルとクロマサンプルは、同じプロセッサまたは異なるプロセッサ（例えばルマサンプル用のプロセッサおよびクロマサンプル用のもう１つのプロセッサ）から得ることができる。次いで、ステップ２３０に示されるように、現在のクロマブロックのクロマ画素のクロマイントラ予測は、スケーリング係数によってスケーリングされた現在のルマブロックの導出され共同設置された現在のルマ画素に基づき、導出される。スケーリング係数は、除算係数とスケーリングされた共分散値との積項を含む。除算係数とスケーリングされた共分散値は、現在のルマブロックの隣接の再構成されたルマ画素と現在のクロマブロックの隣接の再構成されたクロマ画素に関連する。除算係数は、スケーリングされた分散値により、切り上げ又は切り捨てで割られた第１のデータ範囲に関連する。スケーリングされた分散値は、現在のルマブロックの隣接の再構成されたルマ画素と関連する。本実施形態に従って、スケーリングされた分散値及び第１のデータ範囲の少なくともいずれか一方は、クロマ信号が動画像符号化プロセスの期間に処理される内部のビット深度によって決まる。次いでクロマイントラ予測は、ステップ２４０に示されるように、現在のクロマブロックのクロマ画素の符号化または復号化用に提供される。
【００３５】
上述のフローチャートは、本発明の実施形態を組み込んだビデオエンコーダおよびデコーダ用のルマベースのクロマイントラ予測方法の例を示すものである。当業者は、本発明の思想から逸脱せずに、各ステップの修正、ステップの並べ替え、ステップの分割、及び上述の実施形態の種々の特徴の組み合わせを行ってもよい。
【００３６】
上述の説明は、特定のアプリケーションおよびその要求を満たしつつ、当業者が本発明を実行できるように示している。本願発明に関する種々の変更は、当業者には明らかであり、ここに定義される一般原理は、他の実施形態に用いてもよい。従って、本発明は、ここで述べられた実施形態を限定することを意図するものではない。
【００３７】
上述の本実施形態は、各種のハードウェア、ソフトウェアコード、またはその組み合わせで実施できる。例えば、本実施形態は、ここで述べられる処理を実行するビデオ圧縮チップ内に統合された回路、またはビデオ圧縮ソフトウェア内に統合されたプログラムコードでもよい。本実施形態は、ここで述べられる処理を実行するデジタル信号プロセッサ（ＤＳＰ）で実行でき、プログラムコードでもよい。本発明は、コンピュータプロセッサ、デジタル信号プロセッサ、マイクロプロセッサ、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）によって実行される複数の機能を含むこともできる。これらのプロセッサは、本発明で具現化される特定の方法を定義する機械読み取り可能なソフトウェアコードまたはファームウェアコードを実行することによって、本発明に応じた特定のタスクを実行するように構成される。ソフトウェアコードまたはファームウェアコードは、異なるプログラミング言語および異なるフォーマットまたは形式で開発されることができる。ソフトウェコードは、異なるターゲットプラットフォームにコンパイルされることもできる。しかしながら、ソフトウェアコードの異なるコードフォーマット、形式と、言語、および本発明に基づくタスクを実行する設定コードの他の手段は、本発明の思想を逸脱しない。
【００３８】
本発明は、その精神と基本的な特徴から逸脱することなく他の特定のフォームに統合されもよい。上述の実施形態は、本明細書中に記述される発明を限定するものでない。
【図１Ａ】
0005977439.tif 000049
【図１Ｂ】
0005977439.tif 000050
【図２】
0005977439.tif 000051