【文献】
Xiaoyu Xiu, et al.,On inter-component de-correlation for screen content coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, 17-24 Oct. 2014,2014年10月 8日,JCTVC-S0179-v1
【文献】
Xiaoyu Xiu, et al.,8.4.1 General decoding process for coding units coded in intra prediction mode,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, 17-24 Oct. 2014,2014年10月 8日,JCTVC-S0179-v1,Text_change_combined_inverCCP_inverseACT.docx
【文献】
Xiaoyu Xiu, et al.,Adaptive color transform for different luma and chroma bit-depth,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: Strasbourg, FR, 17-24 Oct. 2014,2014年10月 8日,JCTVC-S0180
【文献】
Ted Hsieh, et al.,Clipping for Cross Component Prediction and Adaptive Colour Transform,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 20th Meeting: Geneva, Switzerland, 10 - 18 Feb. 2015,2015年 2月17日,JCTVC-T0132
(58)【調査した分野】(Int.Cl.,DB名)
ビットストリームから、前記初期残差Cbサンプルのための前記成分間予測パラメータと前記初期残差Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を取得することを更に備える、請求項1に記載の方法。
ビットストリーム中で、前記初期残差Cbサンプルのための前記成分間予測パラメータと前記初期残差Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を信号伝達することを更に備える、請求項1に記載の方法。
ビットストリームから、前記初期残差Cbサンプルのための前記成分間予測パラメータと前記初期残差Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を取得するための手段を更に備える、請求項10に記載の機器。
ビットストリーム中で、前記初期残差Cbサンプルのための前記成分間予測パラメータと前記初期残差Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を信号伝達するための手段を更に備える、請求項10に記載の機器。
【発明を実施するための形態】
【0013】
[0021]ビデオコード化では、ピクチャは画素のアレイを備える。ピクチャの各画素はサンプルのセットを備え得る。例えば、画素は、赤サンプルと、緑サンプルと、青サンプルとを備え得る。赤、緑及び青サンプルの各々のルミナンスは、画素の知覚される色及び輝度を制御する。赤サンプルと、緑サンプルと、青サンプルとを備える画素は、RGBフォーマットにあると言われる。幾つかの例では、画素は、画素のルミナンスに対応するルーマサンプル(即ち、Yサンプル)と、サンプルのクロミナンスに対応する2つのクロミナンスサンプル(即ち、Uサンプル及びVサンプル)とを備える。
【0014】
[0022]ビデオデータを符号化するとき、ビデオエンコーダは、ブロックと1つ又は複数の予測ブロックとの間の差分としてブロックの残差データを生成し得る。ビデオエンコーダは、予測ブロックを生成するために動き補償又はイントラ予測を使用し得る。更に、ビデオエンコーダは、RGBフォーマットの残差サンプルをYCbCrフォーマット又はYCoCgフォーマットなどの別のフォーマットのサンプルに変換するために色変換を適用し得る。幾つかの例では、ビデオエンコーダは適応色変換(ACT:adaptive color transform)を使用する。ビデオエンコーダがACTを使用するとき、ビデオエンコーダは、ブロックごとに適応的に色変換を適用する。例えば、ビデオエンコーダは、ピクチャの幾つかのブロックに色変換を適用するが、同じピクチャの他のブロックには色変換を適用しないことがある。ビデオエンコーダは、ビデオエンコーダが特定のブロックに色変換を適用したかどうかを信号伝達(signal)し得る。
【0015】
[0023]色変換はデータの量を低減し得るが、ビデオエンコーダは、成分間予測(CCP:cross-component prediction)変換を適用することによって更なる低減を達成し得る。CCP変換は、クロマ成分のための予測子としてルーマ成分を使用することによって色成分間の相関を除去し得る。CCP変換の適用に続いて、ビデオエンコーダは、離散コサイン変換(DCT)など、別の変換を適用して、残差サンプルを周波数領域における変換係数に変換し得る。ビデオエンコーダは、次いで、変換係数を量子化し、量子化された変換係数を表すシンタックス要素をエントロピー符号化し得る。
【0016】
[0024]ビデオデコーダは、元の色フォーマットの残差サンプル値を取得するために変換を反転させ得る。例えば、ビデオデコーダは、変換係数のブロックを備えるビットストリームを受信し得る。この例では、ビデオデコーダは、周波数領域からの変換係数を残差サンプルのブロックに変換するために逆変換を適用する。更に、ビデオデコーダは、残差サンプルのブロックに逆CCP変換を適用する。逆CCP変換を適用した後に、ビデオデコーダは、残差サンプルのブロックに逆色変換を適用し得る。例えば、ビデオデコーダは、残差サンプルのブロックに逆ACTを適用し得る。その後、ビデオデコーダは、動き補償又はイントラ予測を使用して生成された予測ブロックの対応するサンプルに残差サンプルのブロック中のサンプルを加算することに少なくとも部分的によってビデオデータのブロックを再構成し得る。
【0017】
[0025]http://phenix.int−evry.fr/jct/doc_end_user/current_document.php?id=9626において入手可能である、Xiaoyu Xiuら、「On inter−component de−correlation for screen content coding」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第18回会合:札幌、日本、2014年6月30日〜7月9日、ドキュメントJCTVC−S0179(以下、JCTVC−S0179)は、ACT変換及びCCP変換を単一の変換に合成することについて説明した。しかしながら、JCTVC−S0179によって説明されている合成された変換は、サンプルの内部ビット深度を3だけ増加させた。更に、JCTVC−S0179によって説明されている合成された変換は、合成された変換における変換係数の絶対値がもはや2よりも小さくないので、幾つかの複雑な乗算演算を伴った。
【0018】
[0026]本開示では、この問題に対処する技法について説明する。本明細書で説明するように、逆CCPと逆ACTとが一緒に、即ち、2つの連続ステップの代わりに1つのステップを使用して合成されたとき、合成された変換プロセスの最終段における右シフトのビットの決定のために、ルーマ成分のビット深度だけを考慮する代わりに、ルーマ及び成分のビット深度の差分が考慮に入れられる。従って、幾つかの例では、ビデオコーダは、初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換し、初期サンプルのセットは初期ルーマサンプルと初期クロマサンプルとを含む。
【0019】
[0027]例えば、ビデオエンコーダ又はビデオデコーダなどのビデオコーダは、初期サンプルのセットを修正サンプルのセットに変換し得る。この例では、初期サンプルのセットは初期ルーマサンプルと初期クロマサンプルとを含む。初期クロマサンプルは初期Cbサンプルと初期Crサンプルとを含み得る。修正サンプルのセットは修正ルーマサンプルと修正クロマサンプルとを含み得る。修正クロマサンプルは修正Cbサンプルと修正Crサンプルとを含み得る。ビデオコーダは、再構成サンプルを生成するために修正サンプルを予測ブロックの対応するサンプルに加算し得る。
【0020】
[0028]この例では、変換を適用することの一部として、ビデオコーダは、3+0と初期ルーマサンプルのビット深度−初期クロマサンプルのビット深度に等しい値との最大値としてビットシフト値を決定する。更に、ビデオコーダは、ビットシフト値だけ左シフトされた1として第1のパラメータ値を決定する。ビデオコーダは、0と初期クロマサンプルのビット深度−初期ルーマサンプルのビット深度に等しい値との最大値だけ左シフトされた初期Cbサンプルのための成分間予測パラメータとして第2のパラメータ値を決定する。ビデオコーダは、0と初期クロマサンプルのビット深度−初期ルーマサンプルのビット深度に等しい値との最大値だけ左シフトされた初期Crサンプルのための成分間予測パラメータとして第3のパラメータ値を決定する。
【0021】
[0029]この例では、ビデオコーダは、初期ルーマサンプルで乗算された、第1のパラメータ値と第2のパラメータ値との和、+初期Cbサンプルで乗算された第1のパラメータ値としてルーマ残差係数値を決定する。ビデオコーダは、第1の中間値と第2の中間値との間の差分として第1のクロマ残差係数値を決定する。この例では、第1の中間値は、初期ルーマサンプルで乗算された、第1のパラメータ値−第2のパラメータ値、−第1のパラメータ値×初期Cbサンプルに等しい。更に、この例では、第2の中間値は、初期ルーマサンプルで乗算された第3のパラメータ値、+初期Crサンプルで乗算された第1のパラメータ値に等しい。ビデオコーダは、第1の中間値と第2の中間値との和として第2のクロマ残差係数値を決定する。
【0022】
[0030]この例では、ビデオコーダは、ビットシフト値だけ右シフトされたルーマ残差係数値として修正ルーマサンプルを決定する。ビデオコーダは、ビットシフト値だけ右シフトされた第1のクロマ係数値として修正Cbサンプルを決定する。ビデオコーダは、ビットシフト値だけ右シフトされた第2のクロマ係数値として修正Crサンプルを決定する。
【0023】
[0031]
図1は、本開示の技法を利用し得る例示的なビデオコード化システム10を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコード化」又は「コード化」という用語は、ビデオ符号化又はビデオ復号を総称的に指すことがある。
【0024】
[0032]
図1に示されているように、ビデオコード化システム10は、発信源機器12と宛先機器14とを含む。発信源機器12は符号化ビデオデータを生成する。従って、発信源機器12はビデオ符号化機器又はビデオ符号化装置と呼ばれることがある。宛先機器14は、発信源機器12によって生成された符号化ビデオデータを復号し得る。従って、宛先機器14は、ビデオ復号機器又はビデオ復号装置と呼ばれることがある。発信源機器12及び宛先機器14は、ビデオコード化機器又はビデオコード化装置の例であり得る。
【0025】
[0033]発信源機器12及び宛先機器14は、デスクトップコンピュータ、モバイルコンピュータ機器、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲の機器を備え得る。
【0026】
[0034]宛先機器14は、チャネル16を介して発信源機器12から符号化ビデオデータを受信し得る。チャネル16は、発信源機器12から宛先機器14に符号化ビデオデータを移動することが可能な1つ以上の媒体又は機器を備え得る。一例では、チャネル16は、発信源機器12が符号化ビデオデータを宛先機器14にリアルタイムで直接送信することを可能にする1つ又は複数の通信媒体を備え得る。この例では、発信源機器12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先機器14に送信し得る。1つ以上の通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理伝送線路など、ワイヤレス及び/又はワイヤード通信媒体を含み得る。1つ以上の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク又はグローバルネットワーク(例えば、インターネット)などのパケットベースネットワークの一部を形成し得る。1つ以上の通信媒体は、発信源機器12から宛先機器14への通信を可能にする、ルータ、スイッチ、基地局又は他の機器を含み得る。
【0027】
[0035]別の例では、チャネル16は、発信源機器12によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先機器14は、例えば、ディスクアクセス又はカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ又は符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【0028】
[0036]更なる一例では、チャネル16は、発信源機器12によって生成された符号化ビデオデータを記憶するファイルサーバ又は別の中間記憶機器を含み得る。この例では、宛先機器14は、ストリーミング又はダウンロードを介して、ファイルサーバ又は他の中間記憶機器に記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器14に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、(例えば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続記憶(NAS)機器及びローカルディスクドライブがある。
【0029】
[0037]宛先機器14は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)又は両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信又は両方の組合せであり得る。
【0030】
[0038]本開示の技法は、ワイヤレス適用例又は設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号又は他の適用例など、様々なマルチメディア適用例をサポートするビデオコード化に適用され得る。幾つかの例では、ビデオコード化システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング及び/又はビデオテレフォニーなどの適用例をサポートするために、単方向又は双方向のビデオ送信をサポートするように構成され得る。
【0031】
[0039]
図1に示されているビデオコード化システム10は一例にすぎず、本開示の技法は、符号化機器と復号機器との間のデータ通信を必ずしも含むとは限らないビデオコード化設定(例えば、ビデオ符号化又はビデオ復号)に適用され得る。他の例では、データが、ローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化機器はデータを符号化し、メモリに記憶し得、及び/又はビデオ復号機器はメモリからデータを取り出し、復号し得る。多くの例では、符号化及び復号は、互いに通信しないが、メモリにデータを符号化し、及び/又はメモリからデータを取り出して復号するだけである機器によって実施される。ビデオエンコーダ20及びビデオデコーダ30は、ビデオデータを記憶するように構成されたメモリを備え得る。ビデオエンコーダ20は、メモリに記憶されたビデオデータを符号化し得る。ビデオデコーダ30は、符号化ビデオデータを復号し、得られたビデオデータをメモリに記憶し得る。
【0032】
[0040]
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。幾つかの例では、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含み得る。ビデオ発信源18は、撮像装置、例えば、ビデオカメラ、以前に撮られたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム若しくはビデオデータのそのような発信源の組合せを含み得る。
【0033】
[0041]ビデオエンコーダ20は、ビデオ発信源18からのビデオデータを符号化し得る。幾つかの例では、発信源機器12は、出力インターフェース22を介して宛先機器14に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータは、復号及び/又は再生のための宛先機器14による後のアクセスのために記憶媒体又はファイルサーバ上にも記憶され得る。
【0034】
[0042]
図1の例では、宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、表示装置32とを含む。幾つかの例では、入力インターフェース28は、受信機及び/又はモデムを含む。入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信し得る。表示装置32は、宛先機器14と一体化され得るか又はその外部にあり得る。概して、表示装置32は、復号ビデオデータを表示する。表示装置32は、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器又は別のタイプの表示装置など、様々な表示装置を備え得る。
【0035】
[0043]ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ハードウェアなど、様々な好適な回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装される場合、機器は、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、1つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実施し得る。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組合せなどを含む)上記のいずれも、1つ又は複数のプロセッサであると見なされ得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
【0036】
[0044]本開示は全般に、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別の機器に「信号伝達すること」又は「送信すること」に言及することがある。「信号伝達すること」又は「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素及び/又は他のデータの通信を指すことがある。そのような通信はリアルタイム又はほぼリアルタイムで行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号機器によって取り出され得る。
【0037】
[0045]幾つかの例では、ビデオエンコーダ20及びビデオデコーダ30は、高効率ビデオコード化(HEVC)規格などのビデオ圧縮規格に従って動作する。Wangら、「High Efficiency Video Coding (HEVC) Defect Report 4」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第17回会合:バレンシア、スペイン、2014年3月27日〜4月4日、ドキュメントJCTVC−Q1003(v.1)(以下、「JCTVC−Q1003」)は、HEVCについて説明しているドキュメントである。本開示では、JCTVC−Q1003に記載のHEVC仕様テキストは「HEVCバージョン1」と呼ばれることがある。ベースHEVC規格に加えて、HEVCのためのスケーラブルビデオコード化拡張、マルチビュービデオコード化拡張及び3Dコード化拡張を作成するための作業が進行中である。
【0038】
[0046]HEVC及び他のビデオコード化規格では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、S
L、S
Cb及びS
Crと示される、3つのサンプルアレイを含み得る。S
Lは、ルーマサンプルの2次元アレイ(即ち、ブロック)である。S
Cbは、Cbクロミナンスサンプルの2次元アレイである。S
Crは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【0039】
[0047]ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コード化ツリー単位(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコード化ツリーブロックと、クロマサンプルの2つの対応するコード化ツリーブロックと、それらのコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とであり得る。コード化ツリーブロックはサンプルのN×Nブロックであり得る。CTUは「ツリーブロック」又は「最大コード化単位」(LCU)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つ又は複数のコード化単位(CU)を含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のCTUを含み得る。
【0040】
[0048]コード化CTUを生成するために、ビデオエンコーダ20は、コード化ツリーブロックをコード化ブロックに分割するように、CTUのコード化ツリーブロックに対して4分木区分を再帰的に実施し得、従って、「コード化ツリー単位」という名称がある。コード化ブロックはサンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、Cbサンプルアレイ及びCrサンプルアレイを有するピクチャの、ルーマサンプルのコード化ブロックと、クロマサンプルの2つの対応するコード化ブロックと、それらのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とであり得る。モノクロームピクチャ又は3つの別々の色平面を有するピクチャでは、CUは、単一のコード化ブロックと、そのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。
【0041】
[0049]ビデオエンコーダ20は、CUのコード化ブロックを1つ又は複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの長方形(即ち、正方形又は非正方形)ブロックであり得る。CUの予測単位(PU)は、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック及びCr予測ブロックのための予測ルーマブロック、予測Cbブロック及び予測Crブロックを生成し得る。モノクロームピクチャ又は3つの別々の色平面を有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。
【0042】
[0050]ビデオエンコーダ20は、PUの予測ブロックを生成するためにイントラ予測又はインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。HEVCバージョン1では、各PUのルーマ成分のために、
図2に示されているように、(2から34までインデックス付けされた)33個の角度予測モードと、(1とインデックス付けされた)DCモードと、(0とインデックス付けされた)平面モードとをもつイントラ予測方法が利用される。
図2は、高効率ビデオコード化(HEVC)におけるイントラ予測モードを示す概念図である。
【0043】
[0051]上記の35個のイントラモードに加えて、「I−PCM」と称する、もう1つのモードもHEVCによって採用される。I−PCMモードでは、予測サンプルは予め定義されたビット数によってコード化されるが、予測、変換、量子化及びエントロピーコード化はバイパスされる。I−PCMモードの主な目的は、信号が他のモードによって効率的にコード化され得ない状況を扱うことである。
【0044】
[0052]ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャ以外の1つ又は複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20は、PUの予測ブロックを生成するために単予測又は双予測を使用し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために単予測を使用するとき、PUは単一の動きベクトルを有し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために双予測を使用するとき、PUは2つの動きベクトルを有し得る。
【0045】
[0053]ビデオエンコーダ20がCUの1つ又は複数のPUのための予測ブロック(例えば、予測ルーマブロック、予測Cbブロック及び予測Crブロック)を生成した後に、ビデオエンコーダ20は、CUの残差ブロックを生成し得る。CUの残差ブロック中の各サンプルは、CUのPUのための予測ブロック中のサンプルと、CUのコード化ブロック中の対応するサンプルとの間の差分を示す。例えば、ビデオエンコーダ20はCUのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUのPUの予測ルーマブロック中のルーマサンプルと、CUのルーマコード化ブロック中の対応するサンプルとの間の差分を示す。
【0046】
[0054]更に、ビデオエンコーダ20は、CUのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUのPUの予測Cbブロック中のCbサンプルと、CUのCbコード化ブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はCUのCr残差ブロックをも生成し得る。CUのCr残差ブロック中の各サンプルは、CUのPUのための予測Crブロック中のCrサンプルと、CUのCrコード化ブロック中の対応するサンプルとの間の差分を示し得る。
【0047】
[0055]更に、ビデオエンコーダ20は、CUの残差ブロック(例えば、ルーマ残差ブロック、Cb残差ブロック及びCr残差ブロック)を、1つ又は複数の変換ブロック(例えば、ルーマ変換ブロック、Cb変換ブロック及びCr変換ブロック)に分解するために、4分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの長方形ブロックであり得る。CUの変換単位(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。従って、CUの各TUは、ルーマ変換ブロックと、Cb変換ブロックと、Cr変換ブロックとに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャ又は3つの別々の色平面を有するピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【0048】
[0056]ビデオエンコーダ20は、TUのための係数ブロックを生成するために、TUの変換ブロックに1つ又は複数の変換を適用し得る。例えば、ビデオエンコーダ20は、TUのためのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つ又は複数の変換を適用し得る。ビデオエンコーダ20は、TUのためのCb係数ブロックを生成するために、TUのCb変換ブロックに1つ又は複数の変換を適用し得る。ビデオエンコーダ20は、TUのためのCr係数ブロックを生成するために、TUのCr変換ブロックに1つ又は複数の変換を適用し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。
【0049】
[0057]係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロック又はCr係数ブロック)を生成した後に、ビデオエンコーダ20は係数ブロックを量子化し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を実現する処理を指す。ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化得る。例えば、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コード化(CABAC)を実施し得る。ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素をビットストリーム中に出力し得る。ビットストリームはビデオデータの符号化表現を備え得る。
【0050】
[0058]ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャ及び関連するデータの表現を形成するビットのシーケンスを含み得る。ビットストリームは、ネットワーク抽象化レイヤ(NAL)単位のシーケンスを備え得る。NAL単位の各々はNAL単位ヘッダを含み、ローバイトシーケンスペイロード(RBSP)をカプセル化する。NAL単位ヘッダは、NAL単位タイプコードを示すシンタックス要素を含み得る。NAL単位のNAL単位ヘッダによって指定されるNAL単位タイプコードは、NAL単位のタイプを示す。RBSPは、NAL単位内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。幾つかの例では、RBSPはゼロビットを含む。
【0051】
[0059]異なるタイプのNAL単位は、異なるタイプのRBSPをカプセル化し得る。例えば、第1のタイプのNAL単位はピクチャパラメータセット(PPS)のためのRBSPをカプセル化し得、第2のタイプのNAL単位は、コード化スライスのためのRBSPをカプセル化し得、第3のタイプのNAL単位は補助強化情報(SEI)のためのRBSPをカプセル化し得、以下同様である。(パラメータセット及びSEIメッセージのためのRBSPではなく)ビデオコード化データのためのRBSPをカプセル化するNAL単位は、ビデオコード化レイヤ(VCL)NAL単位と呼ばれることがある。
【0052】
[0060]
図1の例では、ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信する。更に、ビデオデコーダ30は、ビットストリームからシンタックス要素を取得するために、ビットストリームを構文解析し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって実施されるプロセスの逆であり得る。例えば、ビデオデコーダ30は、現在CUのPUの予測ブロックを決定するためにイントラ予測又はインター予測を使用し得る。更に、ビデオデコーダ30は、現在CUのTUのための係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在CUのTUのための変換ブロックを再構成するために、係数ブロックに対して逆変換を実施し得る。ビデオデコーダ30は、現在CUのPUのための予測ブロックのサンプルを現在CUのTUのための変換ブロックの対応するサンプルに加算することによって、現在CUのコード化ブロックを再構成し得る。ピクチャの各CUのコード化ブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
【0053】
[0061]HEVC規格では、PUのために、それぞれ、マージモード及び高度動きベクトル予測(AMVP)モードと名付けられた、2つのインター予測モードが存在する。所謂スキップモードは、マージモードの特殊事例と見なされる。AMVPモード又はマージモードのいずれかでは、ビデオコーダは、複数の動きベクトル予測子のための動きベクトル(MV)候補リストを維持する。PUの、動きベクトル及びマージモードにおける参照インデックスは、MV候補リストから1つの候補を取ることによって生成される。
【0054】
[0062]幾つかの例では、MV候補リストは、マージモードのために最高5つの候補を及びAMVPモードのためにただ2つの候補を含んでいる。マージ候補は、動き情報のセット、例えば、参照ピクチャリスト(リスト0及びリスト1)と参照インデックスの両方に対応する動きベクトルを含んでいることがある。マージ候補がマージインデックスによって識別された場合、参照ピクチャは現在ブロックの予測のために使用され、及び、関連する動きベクトルが決定される。しかしながら、リスト0又はリスト1のいずれかからの各それぞれの潜在的な予測方向に対するAMVPモードの下では、各AMVP候補が動きベクトルのみを含んでいるので、ビデオエンコーダ20は、MV候補リストへのMVPインデックスとともに、それぞれの参照インデックスを明示的に信号伝達する。AMVPモードでは、予測動きベクトルは更に改善され得る。上記でわかるように、マージ候補は動き情報のフルセットに対応し、AMVP候補は、特定の予測方向及び参照インデックスのためのただ1つの動きベクトルを含んでいる。両方のモードに関する候補は、ビデオエンコーダ20及びビデオデコーダ30によって同じ空間及び時間隣接ブロックから同様に導出される。
【0055】
[0063]
図3Aは、マージモードのための例示的な空間隣接動きベクトル候補を示す概念図である。
図3Bは、AMVPモードのための例示的な空間隣接動きベクトル候補を示す概念図である。ビデオコーダ(例えば、ビデオエンコーダ20又はビデオデコーダ30)は、特定のPU(PU
0)について、
図3A及び
図3Bに示されている隣接ブロックから空間MV候補を導出し得るが、ブロックから候補を生成する方法はマージモードとAMVPモードとについて異なる。マージモードでは、番号付きで
図3Aに示されている順序で、最高4つの空間MV候補が導出され得、順序は、
図3Aに示されているように、左(0)、上(1)、右上(2)、左下(3)及び左上(4)である。
【0056】
[0064]AMVPモードでは、隣接ブロックは、
図3Bに示されているように、ブロック0及び1からなる左グループ並びにブロック2、3及び4からなる上グループという、2つのグループに分割される。各グループについて、信号伝達された参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選定されるべき最高優先順位を有する。隣接ブロックのいずれも、同じ参照ピクチャを指す動きベクトルを含んでいない可能性がある。従って、そのような候補が見つけられ得ない場合、ビデオコーダは、最終候補を形成するために最初の利用可能な候補をスケーリングし得、従って、時間距離差分が補償され得る。
【0057】
[0065]HEVC規格への拡張であるHEVCレンジ拡張は、(「色フォーマット」とも呼ばれる)追加の色表現について、及び増加した色ビット深度についてHEVCへのサポートを追加する。HEVCレンジ拡張のドラフトは、http://phenix.int−evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC−Q1005−v9.zipから入手可能である、Flynnら、「HEVC Range Extension text specification: Draft 7」、第17回会合:バレンシア、スペイン、2014年3月27日〜4月4日、ドキュメントJCTVC−Q1005_v7(以下、JCTVC−Q1005)である。色ビット深度は、色表現の各成分を表すために使用されるビット数である。他の色フォーマットのためのサポートは、ビデオデータのRGB発信源、並びに他の色表現を有するビデオデータを符号化及び復号することと、HEVCメインプロファイルとは異なるクロマサブサンプリングパターンを使用することとのためのサポートを含み得る。
【0058】
[0066]HEVCの別の拡張、即ち、動きをもつテキスト及びグラフィックスなどのスクリーンコンテンツ素材をコード化するための、スクリーンコンテンツコード化(SCC)が開発中である。SCC拡張のドラフトは以下の通りである:http://phenix.int−evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC−R1005−v3.zipから入手可能である、Joshiら、「High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 1」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第18回会合、札幌、日本、2014年6月30日〜7月9日、ドキュメントJCTVC−R1005_v3(以下、「JCTVC−R1005」)は、SCCのワーキングドラフト(WD)である。
【0059】
[0067]イントラブロックコピー(BC)モードはHEVCのSCC拡張中に含まれている。イントラBCの一例が
図4に示されており、ここにおいて、現在CUは、現在ピクチャ/スライスのすでに復号されたブロックから予測される。言い換えれば、
図4は、イントラBCの一例を示す概念図である。現在イントラBCブロックサイズは、8×8から64×64にわたるCUサイズ程度に大きくなり得るが、幾つかの適用例では、更なる制約が適用され得る。
【0060】
[0068]
図4の例に示されているように、ビデオエンコーダ20は、例えば、画素差分値に基づいて、現在CU52のPUの予測ブロックに最もぴったり一致するブロックについて、探索領域50内で探索を実施し得る。
図4の例では、ビデオエンコーダ20は、予測ブロックに最もぴったり一致するブロックとして、予測信号54と標示されたブロックを識別している。ビデオエンコーダ20は、予測ブロックに対する予測信号54の変位を示すオフセットベクトル56を決定する。
【0061】
[0069]ビデオデータの各ブロックの画素は、「色表現」と呼ばれる、特定のフォーマットでの色をそれぞれ表す。異なるビデオコード化規格は、ビデオデータのブロックのために異なる色表現を使用し得る。一例として、ジョイントコラボレーティブチームオンビデオコード化(JCT−VC)によって開発中である高効率ビデオコード化(HEVC)ビデオ規格のメインプロファイルは、ビデオデータのブロックの画素を表すためにYCbCr色表現を使用する。
【0062】
[0070]YCbCr色表現は、ビデオデータの各画素が色情報の3つの成分又はチャネル、「Y」、「Cb」及び「Cr」によって表される色表現を概して指す。Yチャネルは、特定の画素のためのルミナンス(即ち、光強度又は輝度)データを表す。Cb成分及びCr成分は、それぞれ、青色差及び赤色差クロミナンス、即ち、「クロマ」成分である。Y成分とCb成分とCr成分との各々の間に強い無相関があり、これは、Y成分とCb成分とCr成分の各々の間で重複しているか又は冗長であるデータがほとんどないことを意味するので、YCbCrはしばしば、圧縮されたビデオデータで色を表すために使用される。従って、YCbCr色表現を使用してビデオデータをコード化すると、多くの場合、良好な圧縮性能が提供される。
【0063】
[0071]YCgCo色表現は、ビデオデータの各画素が色情報の3つの成分又はチャネル、「Y」、「C
g」及び「C
o」によって表される色表現を概して指す。YCbCrの場合のように、Yチャネルは、特定の画素のためのルミナンス(即ち、光強度又は輝度)データを表す。C
g成分及びC
o成分は、それぞれ、緑色差及び橙色差クロミナンス即ち「クロマ」成分である。YCbCr色モデルに勝るYCgCo色モデルの潜在的利点は、より単純でより高速な計算と、色平面のより良好な無相関とであって、圧縮性能が改善される。
【0064】
[0072]HEVCメインプロファイルは、色表現(色フォーマットとも呼ばれる)のルーマ成分と、2つのクロマ成分との間の概して強い色無相関のために、YCbCrを使用する。しかしながら、場合によっては、Y成分とCb成分とCr成分との間に相関が依然としてあり得る。色表現の成分間の相関は、色成分間相関(cross-color component correlation)又はインター色成分相関と呼ばれることがある。
【0065】
[0073]ビデオコーダは、異なる成分(例えば、ルーマ成分のサンプル)の値に基づいて、ある成分(例えば、クロマ成分のサンプル)の値を予測するように構成され得る。第2の成分に基づいて第1の成分からのサンプルを予測するプロセスは、「カラービデオのための成分間予測」又は「インター色成分予測」と呼ばれる。ビデオコーダは、第1の成分と第2の成分との間の相関に基づいて、第1の成分の値を予測し得る。
【0066】
[0074]成分間予測(CCP)は、Puら、「RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第15回会合:ジュネーブ、スイス、2013年10月25日〜11月1日、http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O0202−v5.zipにおいて入手可能なドキュメントJCTVC−O0202(以下、「JCTVC−O0202」)に記載され、HEVCレンジ拡張とSCC拡張の両方によって採用された。JCTVC−O0202は、クロマ成分の予測子としてルーマ残差を使用することによって色成分間の相関を除去することについて説明した。スケーリングパラメータのセットが予め定義され、それらのうちの1つが選択され、ビットストリーム中で信号伝達される。この予測は、イントラコード化ブロックとインターコード化ブロックの両方について実施される。しかしながら、イントラコード化の場合、DMクロマモードをもつもののみ(即ち、クロマ予測モードは、区分サイズが2N×2Nに等しいとき、ルーマ予測モードと同等であるが、クロマ予測モードは、区分サイズがN×Nに等しいとき、最初(左上)の予測単位に関連するルーマ予測モードと同等である)が、この予測を使用することを可能にされる。JCTVC−O0202では、変換ブロックごとにスケーリングパラメータが選択され得る。
【0067】
[0075]JCTVC−O0202に記載されているように、r
c(x,y)は、位置(x,y)における最終クロマ再構成残差サンプルを表し、
【0069】
r
L(x,y)は、位置(x,y)におけるルーマ成分中の再構成残差サンプルを表す。JCTVC−O0202のCCPプロセスでは、ビデオエンコーダは次のようにクロマ残差を予測する。
【0071】
ビデオデコーダは、次のようにクロマ残差を補償する逆CCPプロセスを実施する。
【0073】
ビデオエンコーダはスケーリングパラメータαを計算し、信号伝達する。
【0074】
[0076]更に、JCTVC−O0202では、BD
c(即ち、クロマサンプルのビット深度)がBD
Y(即ち、ルーマサンプルのビット深度)に等しいと仮定された場合、逆方向CCPプロセスは以下の行列乗算によって表され得る。
【0076】
[0077]HEVCバージョン1は、ルーマ成分とクロマ成分とのために異なるビット深度の使用を可能にする。ルーマ成分とクロマ成分とのビット深度が異なる場合を考慮するために、式(2)は次のように更に修正され得る。
【0078】
式(4)において、BD
c及びBD
Yは、それぞれクロマ及びルーマのビット深度である。BD
c、BD
Yは、それぞれBitDepth
C及びBitDepth
Yによって示される。この場合、式(3)のM
inv-ccpは、次のようになるように修正され得る。
【0080】
[0078]スケーリングパラメータαは、両端値を含めて、値のセット{−8,−4,−2,−1,0,1,2,4,8}から選定され得る。ビデオエンコーダは、スケーリングパラメータαを選定するためにレート歪みメトリックを使用し得る。幾つかの例では、ビデオエンコーダは、異なるスケーリングパラメータのためのコストを計算するために別の高速アルゴリズムを使用し得る。α=0のとき、インター成分残差予測はオフにされる。TUごとに、ビデオエンコーダは、TUのために好適な最良のαを選択し得、例えば、HEVCレンジ拡張及びSCC拡張においてTUレベルオン/オフスイッチが採用される。
【0081】
[0079]CUレベル適応色変換(ACT)は、http://phenix.int−evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC−R0147−v2.zip)において入手可能である、Zhangら、「SCCE5 Test 3.2.1: In−loop color−space transform」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第18回会合:札幌、日本、2014年6月30日〜7月9日、ドキュメントJCTVC−R0147(以下、「JCTVC−R0147」)に記載され、第18回JCTVC会合において採択された。JCTVC−R0147に記載されているように、イントラコード化CUと、イントラBCコード化CUと、インターコード化CUとについて、ビデオエンコーダは、適応色変換の使用を示すためのフラグを条件付きで信号伝達する。ACTが1つのCUについて有効にされたとき、ビデオエンコーダは最初に、(イントラBCを含む)イントラ予測又はインター予測のいずれかを使用して決定され得る予測誤差(即ち、残差データ)を、色変換を呼び出すことによって異なる色空間に変換する。ビデオエンコーダは、次いで、ACTが無効にされたブロックと同じ方法で、即ち、CCP、変換、量子化及びエントロピーコード化を順序正しく呼び出すことによって、変換された予測誤差を処理する。デコーダ側では、ACTが有効にされた状態で現在CUがコード化される場合、CCPを呼び出した後に、逆色変換モジュールが追加される。
【0082】
[0080]
図5は、スクリーンコンテンツコード化における例示的な復号プロセスを示すブロック図である。スクリーンコンテンツコード化に関して説明されているが、
図5の復号プロセスはスクリーンコンテンツコード化に限定されない。従って、
図5は、ACTが含まれた復号フローを示す。
図5の例では、ビデオデコーダは、エントロピー復号ユニット100と、逆量子化ユニット102と、逆変換ユニット104と、CCPユニット106と、逆色変換ユニット108と、動き補償ユニット110と、イントラ予測ユニット112と、デブロッキングフィルタユニット114と、サンプル適応オフセット(SAO)フィルタユニット116と、復号ピクチャバッファ118とを備える。
【0083】
[0081]エントロピー復号ユニット100がビットストリームを受信する。エントロピー復号ユニット100は、ビットストリームからのシンタックス要素を構文解析(parse)し得る。ビットストリームからのシンタックス要素を構文解析することの一部として、エントロピー復号ユニット100は、変換係数を表すシンタックス要素を含む、特定のシンタックス要素を復元するために、ビットストリーム中のデータをエントロピー復号し得る。逆量子化ユニット102は変換係数を逆量子化し得る。逆変換ユニット104は、残差データのブロックを生成するために、変換係数のブロックに逆DCTなどの逆変換を適用し得る。
【0084】
[0082]更に、
図5の例では、CCPユニット106が残差データのブロックに逆CCP変換を適用する。逆色変換ユニット108は、残差データのブロックに逆色変換を適用する。
図5の例に示されているように、逆色変換ユニット108は、残差データの幾つかのブロックについてバイパスされ得る。その後、CCPユニット106又は逆色変換ユニット108によって生成された残差サンプルは、サンプルを再構成するために、イントラ又はインター予測ブロックの対応するサンプルに加算され得る。
【0085】
[0083]動き補償ユニット110又はイントラ予測ユニット112は予測ブロックを生成し得る。イントラ予測ユニット112は、イントラ予測を使用して予測ブロックを生成し得る。イントラ予測は、同じ復号されたスライスの、サンプル値などのデータ要素に基づいて、データ要素を予測する技法である。例えば、イントラ予測ユニット112は、同じ復号されたスライスのデータ要素に基づいて、サンプル値などのデータ要素を予測する、方向性イントラ予測モード、DCイントラ予測モード、プレーナイントラ予測モード、イントラBC又は別の技法を使用し得る。動き補償ユニット110は、例えば、動きベクトルを定義するシンタックス要素を使用して、予測ブロックを生成するために動き補償を使用し得る。
【0086】
[0084]デブロッキングフィルタユニット114は、再構成サンプルにデブロッキングフィルタを適用し得る。デブロッキングフィルタはブロック歪み(blocking artifacts)を除去し得る。SAOフィルタユニット116は、再構成サンプルにSAOフィルタを適用し得る。
【0087】
[0085]DPB118は、再構成サンプルを記憶し得る。従って、DPB118は、ビデオデータを記憶するように構成されたメモリ又はコンピュータ可読記憶媒体であり得る。DPB118は、例えば、イントラコード化モード又はインターコード化モードでビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータ(例えば、参照ピクチャ)を記憶する参照ピクチャメモリであり得る。復号ピクチャバッファ118は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))又は他のタイプのメモリ機器など、様々なメモリ機器のいずれかによって形成され得る。復号ピクチャバッファ118は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、復号ピクチャバッファ118は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【0088】
[0086]JCTVC−R1005では、色変換は次のように定義される。
YCoCg(ロッシーコード化の場合):
【0090】
YCoCg−R(ロッシーコード化のために、Co成分及びCg成分を2分の1にスケーリングするRGB<−>YCgCoの可逆形式))。共通のリフティング技法を使用することによって、順変換及び逆変換は以下の式によって達成され得る。
【0092】
[0087]CCPとACTの両方は隣接ブロック及び隣接画素とは無関係であるので、CCPとACTの両方は画素レベル処理で実施され得る。ACTフラグはCUレベルで信号伝達され、CCPはTUレベルで信号伝達されるが、それらの両方は画素レベルで実施され得る。ACTフラグは、色変換が適用されるかどうかを示し得る。ACTとCCPの両方が画素/TUレベルで実施された場合、復号遅延が低減され得る。
【0093】
[0088]http://phenix.int−evry.fr/jct/doc_end_user/current_document.php?id=9626において入手可能である、Xiaoyu Xiuら、「On inter−component de−correlation for screen content coding」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第18回会合:札幌、日本、2014年6月30日〜7月9日、ドキュメントJCTVC−S0179(以下、「JCTVC−S0179」)は、ロッシーコード化のために異なる変換行列を使用することによって2つのステップ(即ち、CCP及びACT)を1つのステップにマージすることについて説明した。
【0094】
[0089]BD
cがBD
Yに等しいという仮定に基づいて、ロッシーコード化では、合成された復号プロセスは、2つの演算の行列を単に乗算することによって達成され得、即ち、
【0096】
[0090]BD
cがBD
Yとは異なる場合、ロッシーコード化では、上記の式(3)を(5)と交換することによって、対応する復号プロセスは次のように定義され得る。
【0098】
[0091]即ち、3つの色成分についてr
Y[x][y]、r
Cb[x][y]、r
Cr[x][y]によって表される入力サンプルが与えられれば、修正サンプル値の出力は以下のステップで計算される。
【0099】
bShift = BDY + 3
wPara0 = 1 << bShift
wPara1 = ResScaleVal[ 1 ][ xTbY ][ yTbY ] << BDc
wPara2 = ResScaleVal[ 2 ][ xTbY ][ yTbY ] << BDc
resCoeffY = (wPara0 + wPara1) * rY[ x ][ y ] + wPara0 * rCb [ x ][ y ]
tmp0 = (wPara0 - wPara1) * rY[ x ][ y ] - wPara0 * rCb[ x ][ y ]
tmp1 = wPara2 * rY[ x ][ y ] + wPara0 * rCr[ x ][ y ]
resCoeffCb = tmp0 - tmp1
resCoeffCr = tmp0 + tmp1
rY[ x ][ y ] = resCoeffY >> bShift
rCb[ x ][ y ] = resCoeffCb >> bShift
rCr[ x ][ y ] = resCoeffCr >> bShift
(8)及び上記のステップの入力はY(Y)、Cg(Cb)及びCo(Cr)であり、(8)及び上記のステップの出力はG(rY)、B(rCb)、R(rCr)である。従って、(8)及び上記のステップには、異なる変数があるが、意味は同じである。上記のステップにおいて、ResScaleVal[1][xTbY][yTbY]及びResScaleVal[2][xTbY][yTbY]は、それぞれr
Cb及びr
Crに対応する成分間予測(CCP)パラメータを表す。例えば、入力サンプルは、変換ブロック内のロケーション(xTbY,yTby)にあると仮定される。従って、ResScaleVal[1][xTbY][yTbY]はCbのためのスケーリングパラメータαであり、ResScalVal[1][xTbY][yTbY]はCrのためのスケーリングパラメータαである。
【0100】
[0092]JCTVC−S0179の設計は少なくとも以下の問題を有する。式(8)の合成されたステップを元の逆YCoCg変換と比較するとき、内部ビット深度が(3+BitDepth
Y)だけ増加されることに留意されたい。更に、絶対変換係数がもはや2よりも小さくないので、より複雑な乗算が必要とされる。本開示の例は、JCTVC−S0179における設計と比較してデコーダの複雑さを低減し得る。
【0101】
[0093]逆CCPと逆ACTとが一緒に、即ち、2つの連続ステップの代わりに1つのステップを使用して合成されたとき、最終段における右シフトのビットの決定のために、ルーマ成分のビット深度だけを考慮する代わりに、ルーマ及び成分のビット深度の差分が考慮に入れられる。より正確には、JCTVC−S0179におけるbShiftの定義は3+max(0,BitDepthY−BitDepthC))に置き換えられ、ここにおいて、max関数は、2つの変数のうちのより大きい値を返す。この場合、内部ビット深度増分は(3+BitDepth
Y)から(3+max(0,BitDepth
Y−BitDepth
C)))に低減される。
【0102】
[0094]修正された復号プロセスは次のように定義され、JCTVC−S0179に対する削除は二重括弧で囲まれ、イタリック体で示され(例えば、[[例]])、JCTVC−S0179に対する追加は下線を引かれる(例えば、例)。
【0103】
bShift = [[BD
Y +]] 3 + max(0, BitDepth
Y -
BitDepth
C))
wPara0 = 1 << bShift
wPara1 = ( ResScaleVal[ 1 ][ xTbY ][ yTbY ] << [[BDc]] max(0,
BitDepth
C - BitDepth
Y))
wPara2 = (ResScaleVal[ 2 ][ xTbY ][ yTbY ] << [[BDc]] max(0, BitDepth
C - BitDepth
Y))
resCoeff
Y = (wPara0 + wPara1) * r
Y[ x ][ y ] + wPara0 * r
Cb[ x ][ y ]
tmp0 = (wPara0 - wPara1) * r
Y[ x ][ y ] - wPara0 * r
Cb[ x ][ y ]
tmp1 = wPara2 * r
Y[ x ][ y ] + wPara0 * r
Cr[ x ][ y ]
resCoeff
Cb = tmp0 - tmp1
resCoeff
Cr = tmp0 + tmp1
r
Y[ x ][ y ] = resCoeff
Y >> bShift
r
Cb[ x ][ y ] = resCoeff
Cb >> bShift
r
Cr[ x ][ y ] = resCoeff
Cr >> bShift
[0095]従って、本開示の一例によれば、ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換し得る。この例では、初期サンプルのセットは初期ルーマサンプルと初期クロマサンプルとを含む。幾つかの例では、初期クロマサンプルのセットは初期Cbサンプルと初期Crサンプルとを含む。修正サンプルのセットは修正ルーマサンプルと修正クロマサンプルとを含む。幾つかの例では、修正クロマサンプルは修正Cbサンプルと修正Crサンプルとを含む。ビデオコーダは、再構成サンプルを生成するために修正サンプルを予測ブロックの対応するサンプルに加算し得る。
【0104】
[0096]幾つかの例では、変換を適用するとき、ビデオコーダは、3+0と初期ルーマサンプルのビット深度(例えば、BitDepth
Y)−初期クロマサンプルのビット深度(例えば、BitDepth
C)に等しい値との最大値としてビットシフト値(例えば、bShift)を決定する。ビデオコーダは、ビットシフト値だけ左シフトされた1として第1のパラメータ値(例えば、wPara0)を決定し得る。ビデオコーダは、0と初期クロマサンプルのビット深度−初期ルーマサンプルのビット深度に等しい値との最大値だけ左シフトされた初期Cbサンプルのための成分間予測パラメータとして第2のパラメータ値(例えば、wPara1)を決定し得る。ビデオコーダは、0と初期クロマサンプルのビット深度−初期ルーマサンプルのビット深度に等しい値との最大値だけ左シフトされた初期Crサンプルのための成分間予測パラメータとして第3のパラメータ値(例えば、wPara2)を決定し得る。
【0105】
[0097]この例では、ビデオコーダは、初期ルーマサンプルで乗算された、第1のパラメータ値と第2のパラメータ値との和、+初期Cbサンプルで乗算された第1のパラメータ値としてルーマ残差係数値(例えば、resCoeff
Y)を決定する。更に、ビデオコーダは、第1の中間値(例えば、tmp0)と第2の中間値(例えば、tmp1)との間の差分として第1のクロマ残差係数値(例えば、resCoeff
Cb)を決定する。この例では、第1の中間値は、初期ルーマサンプルで乗算された、第1のパラメータ値−第2のパラメータ値、−第1のパラメータ値×初期Cbサンプルに等しい。更に、この例では、第2の中間値は、初期ルーマサンプルで乗算された第3のパラメータ値、+初期Crサンプルで乗算された第1のパラメータ値に等しい。ビデオコーダは、第1の中間値と第2の中間値との和として第2のクロマ残差係数値(例えば、resCoeff
Cr)を決定する。
【0106】
[0098]この例では、ビデオコーダは、ビットシフト値だけ右シフトされたルーマ残差係数値として修正ルーマサンプル(例えば、r
Y[x][y])を決定する。この例では、ビデオコーダは、ビットシフト値だけ右シフトされた第1のクロマ係数値として修正Cbサンプル(例えば、r
Cb[x][y])を決定する。この例では、ビデオコーダは、ビットシフト値だけ右シフトされた第2のクロマ係数値として修正Crサンプル(例えば、r
Cr[x][y])を決定する。
【0107】
[0099]ビデオコーダがビデオエンコーダ20などのビデオエンコーダである事例では、ビデオコーダは、ビットストリーム中で、初期Cbサンプルのための成分間予測パラメータと初期Crサンプルのための成分間予測パラメータとを示すシンタックス要素を信号伝達し得る。同様に、ビデオコーダがビデオデコーダ30などのビデオデコーダである事例では、ビデオコーダは、ビットストリームから、初期Cbサンプルのための成分間予測パラメータと初期Crサンプルのための成分間予測パラメータとを示すシンタックス要素を取得し得る。
【0108】
[0100]代替的に、以下がwPara1とwPara2との定義に適用され得る。
【0109】
wPara1 = ( ResScaleVal[ 1 ][ xTbY ][ yTbY ] << BitDepthc) >> min(BitDepth
Y, BitDepthc)
wPara2 = (ResScaleVal[ 2 ][ xTbY ][ yTbY ] << BitDepthc) >> min(BitDepth
Y, BitDepthc)
[0101]
図6は、本開示の技法による、ビデオデコーダ30の例示的な一実施形態を示すブロック図である。
図6に示されているビデオデコーダ30の例示的な実施形態は、
図5のビデオデコーダと同様である。しかしながら、CCPユニット106と逆色変換ユニット108とを含む代わりに、
図6のビデオデコーダは、合成CCP/ACTユニット120を含む。合成CCP/ACTユニット120は、合成逆CCP及びACTを適用する。
【0110】
[0102]本開示の1つ又は複数の技法によれば、合成CCP/ACTユニット120は、初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換し、初期サンプルのセットは初期ルーマサンプルと初期クロマサンプルとを含む。初期クロマサンプルは初期Cbサンプルと初期Crサンプルとを含む。修正サンプルのセットは修正ルーマサンプルと修正クロマサンプルとを含む。修正クロマサンプルは修正Cbサンプルと修正Crサンプルとを含む。
【0111】
[0103]
図7は、本開示の技法による、ビデオエンコーダ20の例示的な一実装形態を示すブロック図である。
図7は、説明のために与えられており、本開示で広く例示され説明される技法を限定するものと見なされるべきではない。説明のために、本開示では、HEVCコード化のコンテキストにおいてビデオエンコーダ20について説明する。但し、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
【0112】
[0104]
図7の例では、ビデオエンコーダ20は、ビデオデータメモリ130と、予測処理ユニット132と、残差生成ユニット134と、合成CCP/ACTユニット136と、変換処理ユニット138と、量子化ユニット140と、逆量子化ユニット142と、逆変換処理ユニット144と、逆合成CCP/ACTユニット146と、再構成ユニット148と、フィルタユニット150と、復号ピクチャバッファ152と、エントロピー符号化ユニット154とを含む。予測処理ユニット132は、インター予測処理ユニット156と、イントラ予測処理ユニット158とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、又は異なる機能構成要素を含み得る。
【0113】
[0105]ビデオデータメモリ130は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ130に記憶されたビデオデータは、例えば、ビデオ発信源18から取得され得る。復号ピクチャバッファ152は、例えば、イントラコード化モード又はインターコード化モードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ130及び復号ピクチャバッファ152は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)又は他のタイプのメモリ機器など、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ130及び復号ピクチャバッファ152は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、ビデオデータメモリ130は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【0114】
[0106]ビデオエンコーダ20は、CUの符号化表現(即ち、コード化CU)を生成するために、CTUのCUを符号化し得る。CUを符号化することの一部として、予測処理ユニット132は、CUの1つ又は複数のPUの間でCUに関連するコード化ブロックを区分し得る。従って、各PUは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連付けられ得る。インター予測処理ユニット156は、CUの各PUに対してインター予測を実施することによって、PUのための予測データを生成し得る。PUのための予測データは、PUの予測ブロックと、PUの動き情報とを含み得る。イントラ予測処理ユニット158は、PUに対してイントラ予測を実施することによって、PUのための予測データを生成し得る。予測処理ユニット132は、PUについてインター予測処理ユニット156によって生成された予測データ又はPUについてイントラ予測処理ユニット158によって生成された予測データの中から、CUのPUのための予測データを選択し得る。
【0115】
[0107]残差生成ユニット134は、CUのコード化ブロックと、CUのPUの選択された予測ブロックとに基づいて、CUの残差コード化ブロックを生成し得る。例えば、残差生成ユニット134は、残差ブロック中の各サンプルがCUのコード化ブロック中のサンプルとCUのPUの対応する選択された予測サンプルブロック中の対応するサンプルとの間の差分に等しい値を有するようにCUの残差ブロックを生成し得る。
【0116】
[0108]合成CCP/ACTユニット136は、残差生成ユニット134によって生成された残差データに、合成されたCCP及びACTを適用する。合成CCP/ACTユニット136は、初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換し得る。初期サンプルのセットは初期ルーマサンプルと初期クロマサンプルとを含む。初期クロマサンプルは初期Cbサンプルと初期Crサンプルとを含む。修正サンプルのセットは修正ルーマサンプルと修正クロマサンプルとを含む。修正クロマサンプルは修正Cbサンプルと修正Crサンプルとを含む。幾つかの例では、3つの色成分は、(Y,Cb,Cr)など、異なる方法で称され得る。
【0117】
[0109]変換処理ユニット138は、TUの変換ブロックに1つ又は複数の変換を適用することによって、CUの各TUのための変換係数ブロックを生成し得る。変換処理ユニット138は、TUの変換ブロックに様々な変換を適用し得る。例えば、変換処理ユニット138は、離散コサイン変換(DCT)、方向変換又は概念的に同様の変換を変換ブロックに適用し得る。幾つかの例では、変換処理ユニット138は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
【0118】
[0110]量子化ユニット140は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部又は全部に関連付けられたビット深度を低減し得る。例えば、nビットの変換係数は、量子化中にmビットの変換係数に切り捨てられ得、ここで、nはmよりも大きい。量子化は情報の損失をもたらすことがあり、従って、量子化された変換係数は、元の係数よりも低い精度を有し得る。
【0119】
[0111]逆量子化ユニット142及び逆変換処理ユニット144は、係数ブロックから残差ブロックを再構成するために、それぞれ、係数ブロックに逆量子化及び逆変換を適用し得る。逆合成CCP/ACTユニット146は、逆変換処理ユニット144によって生成された残差データに逆CCP及びACTを適用する。例えば、本開示の技法によれば、逆合成CCP/ACTユニット146は、初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換し得る。初期サンプルのセットは初期ルーマサンプルと初期クロマサンプルとを含む。初期クロマサンプルは初期Cbサンプルと初期Crサンプルとを含む。修正サンプルのセットは修正ルーマサンプルと修正クロマサンプルとを含む。修正クロマサンプルは修正Cbサンプルと修正Crサンプルとを含む。
【0120】
[0112]再構成ユニット148は、再構成された残差ブロックを、予測処理ユニット132によって生成された1つ又は複数の予測サンプルブロックからの対応するサンプルに加算して、TUに関連する再構成された変換ブロックを生成し得る。このようにCUのTUごとに変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコード化ブロックを再構成し得る。このようにして、ビデオエンコーダ20は、ビデオデータを復号する方法を実施し得る。
【0121】
[0113]フィルタユニット150は、CUに関連するコード化ブロック中のブロック歪みを低減するために、1つ又は複数のデブロッキング動作を実施し得る。復号ピクチャバッファ152は、フィルタユニット150が、再構成されたコード化ブロックに対して1つ又は複数のデブロッキング動作を実施した後に、再構成されたコード化ブロックを記憶し得る。インター予測処理ユニット156は、他のピクチャのPUに対してインター予測を実施するために、再構成されたコード化ブロックを含んでいる参照ピクチャを使用し得る。
【0122】
[0114]エントロピー符号化ユニット154は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット154は、量子化ユニット140から係数ブロックを受信し得、予測処理ユニット132からシンタックス要素を受信し得る。エントロピー符号化ユニット154は、エントロピー符号化データを生成するために、データに対して1つ又は複数のエントロピー符号化演算を実施し得る。例えば、エントロピー符号化ユニット154は、CABAC演算、コンテキスト適応型可変長コード化(CAVLC)演算、可変対可変(V2V)長コード化演算、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)演算、確率間隔区分エントロピー(PIPE)コード化演算、指数ゴロム符号化演算又は別のタイプのエントロピー符号化演算をデータに対して実施し得る。ビデオエンコーダ20は、エントロピー符号化ユニット154によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。例えば、ビットストリームは、CUのためのRQTを表すデータを含み得る。
【0123】
[0115]
図8は、本開示の技法による、ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダの例示的な動作を示すフローチャートである。
図8は一例として提供される。他の例は、より多数の、より少数の又は異なるアクションを含み得る。更に、他の例では、アクションは異なる順序であり得る。
【0124】
[0116]
図8の例では、ビデオコーダは、初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換し得る(200)。初期サンプルのセットは、初期ルーマサンプル(例えば、r
Y[x][y])と初期クロマサンプルとを含む。幾つかの例では、初期クロマサンプルは、初期Cbサンプル(例えば、r
Cb[x][y])と初期Crサンプル(例えば、r
Cr[x][y])とを含む。修正サンプルのセットは修正ルーマサンプルと修正クロマサンプルとを含む。幾つかの例では、修正クロマサンプルは修正Cbサンプルと修正Crサンプルとを含む。
【0125】
[0117]
図8の例では、初期サンプルを変換するために、ビデオコーダは、3+0と初期ルーマサンプルのビット深度(例えば、BitDepth
Y)−初期クロマサンプルのビット深度(例えば、BitDepth
C)に等しい値との最大値としてビットシフト値(例えば、bShift)を決定し得る(202)。
【0126】
[0118]ビデオコーダは、ビットシフト値だけ左シフトされた1として第1のパラメータ値(例えば、wPara0)を決定し得る(204)。更に、ビデオコーダは、0と初期クロマサンプルのビット深度−初期ルーマサンプルのビット深度に等しい値との最大値だけ左シフトされた初期Cbサンプルのための成分間予測パラメータ(例えば、ResScalVal[1][xTbY][yTbY])として第2のパラメータ値(例えば、wPara1)を決定し得る(206)。ビデオコーダは、0と初期クロマサンプルのビット深度−初期ルーマサンプルのビット深度に等しい値との最大値だけ左シフトされた初期Crサンプルのための成分間予測パラメータ(例えば、ResScalVal[2][xTbY][yTbY])として第3のパラメータ値を決定し得る(208)。
【0127】
[0119]ビデオコーダは、初期ルーマサンプルで乗算された、第1のパラメータ値と第2のパラメータ値との和、+初期Cbサンプルで乗算された第1のパラメータ値としてルーマ残差係数値(resCoeff
Y)を決定し得る(210)。ビデオコーダは、第1の中間値(例えば、tmp0)と第2の中間値(例えば、tmp1)との間の差分として第1のクロマ残差係数値(例えば、resCoeff
Cb)を決定し得る(212)。第1の中間値は、初期ルーマサンプルで乗算された、第1のパラメータ値−第2のパラメータ値、−第1のパラメータ値×初期Cbサンプルに等しくなり得る(例えば、tmp0=(wPara0−wPara1)*r
Y[x][y]−wPara0*r
Cb[x][y])。第2の中間値は、初期ルーマサンプルで乗算された第3のパラメータ値、+初期Crサンプルで乗算された第1のパラメータ値に等しい(例えば、tmp1=wPara2*r
Y[x][y]+wPara0*r
Cr[x][y])。ビデオコーダは、第1の中間値と第2の中間値との和として第2のクロマ残差係数値(例えば、resCoeff
Cr)を決定し得る(214)。
【0128】
[0120]ビデオコーダは、ビットシフト値だけ右シフトされたルーマ残差係数値として修正ルーマサンプルを決定し得る(例えば、resCoeff
Y>>bShift)(216)。ビデオコーダは、ビットシフト値だけ右シフトされた第1のクロマ係数値として修正Cbサンプルを決定し得る(例えば、resCoeff
Cb>>bShift)(218)。ビデオコーダは、ビットシフト値だけ右シフトされた第2のクロマ係数値として修正Crサンプルを決定し得る(例えば、resCoeff
Cr>>bShift)(220)。
【0129】
[0121]初期サンプルを修正サンプルに変換した後に、ビデオコーダは、再構成サンプルを生成するために修正サンプルを予測ブロックの対応するサンプルに加算し得る(222)。符号化プロセスのコンテキストでは、再構成サンプルは、他のブロックのインター予測のために使用され得る。復号プロセスでは、再構成サンプルは、出力及び表示のために記憶され得る。
【0130】
[0122]上記の例に応じて、本明細書で説明した技法のうちのいずれかの幾つかの行為又は事象は、異なるシーケンスで実施され得、追加、マージ、又は完全に除外され得る(例えば、全ての説明した行為又は事象が本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、幾つかの例では、行為又は事象は、例えば、マルチスレッド処理、割込み処理又は複数のプロセッサを用いて、連続的にではなく同時に実施され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路及びステップについて、上記では概してそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例及び全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実施し得るが、そのような実施の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【0131】
[0123]1つ又は複数の例では、説明した機能は、ハードウェア(例えば、電子ハードウェア)、ソフトウェア、ファームウェア又はそれらの任意の組合せで実施され得る。ソフトウェアで実施された場合、機能は、1つ又は複数の命令又はコードとして、コンピュータ可読媒体上に記憶されるか又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。ソフトウェアで実施された場合、本技法は、少なくとも部分的に、実行されたとき、上記で説明した方法のうちの1つ又は複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって実現され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体又は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体又は(2)信号若しくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0132】
[0124]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置機器、フラッシュメモリ又は、命令若しくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、ウェブサイト、サーバ又は他のリモート発信源から、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)又は赤外線、無線及びマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL又は赤外線、無線及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号又は他の一時媒体を含むのではなく、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びBlu−rayディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【0133】
[0125]命令は、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又はディスクリート論理回路など、1つ又は複数のプロセッサによって実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ又はステートマシンであり得る。プロセッサはまた、コンピュータ機器の組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つ又は複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造又は本明細書で説明した技法の実装に好適な任意の他の構造のいずれかを指すことがある。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用ハードウェア及び/又はソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素において十分に実装され得る。
【0134】
[0126]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実施するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール又はユニットについて説明したが、それらの構成要素、モジュール又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作可能なハードウェアユニットの集合によって与えられ得る。
【0135】
[0127]様々な例について説明した。これら及び他の例は以下の特許請求の範囲内にある。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、前記方法は、
初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換することと、初期サンプルの前記セットが前記初期ルーマサンプル及び前記初期クロマサンプルとを含み、修正サンプルの前記セットが修正ルーマサンプルと修正クロマサンプルとを含む、
前記ビデオデータの再構成サンプルを生成するために前記修正サンプルを予測ブロックの対応するサンプルに加算することとを備える、方法。
[C2]
前記初期クロマサンプルが初期Cbサンプルと初期Crサンプルとを含み、
前記修正クロマサンプルが修正Cbサンプルと修正Crサンプルとを含む、C1に記載の方法。
[C3]
初期サンプルの前記セットを変換することは、
3プラス0と前記初期ルーマサンプルの前記ビット深度マイナス前記初期クロマサンプルの前記ビット深度に等しい値との最大値としてビットシフト値を決定することと、
前記ビットシフト値だけ左シフトされた1として第1のパラメータ値を決定することと、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい値との最大値だけ左シフトされた前記初期Cbサンプルのための成分間予測パラメータとして第2のパラメータ値を決定することと、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい前記値との最大値だけ左シフトされた前記初期Crサンプルのための成分間予測パラメータとして第3のパラメータ値を決定することと、
前記初期ルーマサンプルで乗算された、前記第1のパラメータ値と前記第2のパラメータ値との和、プラス前記初期Cbサンプルで乗算された前記第1のパラメータ値としてルーマ残差係数値を決定することと、
第1の中間値と第2の中間値との間の差分として第1のクロマ残差係数値を決定することと、
前記第1の中間値が、前記初期ルーマサンプルで乗算された、前記第1のパラメータ値マイナス前記第2のパラメータ値、マイナス前記初期Cbサンプル倍の前記第1のパラメータ値に等しく、
前記第2の中間値が、前記初期ルーマサンプルで乗算された前記第3のパラメータ値、プラス前記初期Crサンプルで乗算された前記第1のパラメータ値に等しい、
前記第1の中間値と前記第2の中間値との和として第2のクロマ残差係数値を決定することと、
前記ビットシフト値だけ右シフトされた前記ルーマ残差係数値として前記修正ルーマサンプルを決定することと、
前記ビットシフト値だけ右シフトされた前記第1のクロマ係数値として前記修正Cbサンプルを決定することと、
前記ビットシフト値だけ右シフトされた前記第2のクロマ係数値として前記修正Crサンプルを決定することとを備える、C2に記載の方法。
[C4]
ビットストリームから、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を取得することを更に備える、C3に記載の方法。
[C5]
ビットストリーム中で、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を信号伝達することを更に備える、C3に記載の方法。
[C6]
ビデオデータをコード化するための機器であって、前記機器が、
前記ビデオデータを記憶するように構成されたデータ記憶媒体と、
1つ以上のプロセッサとを備え、前記1つ以上のプロセッサは、
初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換することと、初期サンプルの前記セットが前記初期ルーマサンプル及び前記初期クロマサンプルとを含み、修正サンプルの前記セットが修正ルーマサンプルと修正クロマサンプルとを含む、
前記ビデオデータの再構成サンプルを生成するために前記修正サンプルを予測ブロックの対応するサンプルに加算することとを行うように構成された、機器。
[C7]
前記初期クロマサンプルが初期Cbサンプルと初期Crサンプルとを含み、
前記修正クロマサンプルが修正Cbサンプルと修正Crサンプルとを含む、C6に記載の機器。
[C8]
前記1つ以上のプロセッサは、初期サンプルの前記セットを変換することの一部として、前記1つ以上のプロセッサは、
3プラス0と前記初期ルーマサンプルの前記ビット深度マイナス前記初期クロマサンプルの前記ビット深度に等しい値との最大値としてビットシフト値を決定することと、
前記ビットシフト値だけ左シフトされた1として第1のパラメータ値を決定することと、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい値との最大値だけ左シフトされた前記初期Cbサンプルのための成分間予測パラメータとして第2のパラメータ値を決定することと、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい前記値との最大値だけ左シフトされた前記初期Crサンプルのための成分間予測パラメータとして第3のパラメータ値を決定することと、
前記初期ルーマサンプルで乗算された、前記第1のパラメータ値と前記第2のパラメータ値との和、プラス前記初期Cbサンプルで乗算された前記第1のパラメータ値としてルーマ残差係数値を決定することと、
第1の中間値と第2の中間値との間の差分として第1のクロマ残差係数値を決定することと、
前記第1の中間値が、前記初期ルーマサンプルで乗算された、前記第1のパラメータ値マイナス前記第2のパラメータ値、マイナス前記初期Cbサンプル倍の前記第1のパラメータ値に等しく、
前記第2の中間値が、前記初期ルーマサンプルで乗算された前記第3のパラメータ値、プラス前記初期Crサンプルで乗算された前記第1のパラメータ値に等しい、
前記第1の中間値と前記第2の中間値との和として第2のクロマ残差係数値を決定することと、
前記ビットシフト値だけ右シフトされた前記ルーマ残差係数値として前記修正ルーマサンプルを決定することと、
前記ビットシフト値だけ右シフトされた前記第1のクロマ係数値として前記修正Cbサンプルを決定することと、
前記ビットシフト値だけ右シフトされた前記第2のクロマ係数値として前記修正Crサンプルを決定することとを行うように構成された、C7に記載の機器。
[C9]
前記1つ以上のプロセッサが、
ビットストリームから、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を取得するように構成された、C8に記載の機器。
[C10]
前記1つ以上のプロセッサが、
ビットストリーム中で、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を信号伝達するように構成された、C8に記載の機器。
[C11]
前記機器が、
集積回路、
マイクロプロセッサ、又は
ワイヤレスハンドセットのうちの少なくとも1つを備える、C6に記載の機器。
[C12]
復号ビデオデータを表示するように構成された表示器を更に備える、C6に記載の機器。
[C13]
前記ビデオデータを取得するように構成されたカメラを更に備える、C6に記載の機器。
[C14]
ビデオデータをコード化するための機器であって、前記機器は、
初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換するための手段と、初期サンプルの前記セットが前記初期ルーマサンプル前記初期クロマサンプルとを含み、修正サンプルの前記セットが修正ルーマサンプルと修正クロマサンプルとを含む、
前記ビデオデータの再構成サンプルを生成するために前記修正サンプルを予測ブロックの対応するサンプルに加算するための手段とを備える、機器。
[C15]
前記初期クロマサンプルが初期Cbサンプルと初期Crサンプルとを含み、
前記修正クロマサンプルが修正Cbサンプルと修正Crサンプルとを含む、C14に記載の機器。
[C16]
初期サンプルの前記セットを変換するための前記手段は、
3プラス0と前記初期ルーマサンプルの前記ビット深度マイナス前記初期クロマサンプルの前記ビット深度に等しい値との最大値としてビットシフト値を決定するための手段と、
前記ビットシフト値だけ左シフトされた1として第1のパラメータ値を決定するための手段と、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい値との最大値だけ左シフトされた前記初期Cbサンプルのための成分間予測パラメータとして第2のパラメータ値を決定するための手段と、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい前記値との最大値だけ左シフトされた前記初期Crサンプルのための成分間予測パラメータとして第3のパラメータ値を決定するための手段と、
前記初期ルーマサンプルで乗算された、前記第1のパラメータ値と前記第2のパラメータ値との和、プラス前記初期Cbサンプルで乗算された前記第1のパラメータ値としてルーマ残差係数値を決定するための手段と、
第1の中間値と第2の中間値との間の差分として第1のクロマ残差係数値を決定するための手段と、
前記第1の中間値が、前記初期ルーマサンプルで乗算された、前記第1のパラメータ値マイナス前記第2のパラメータ値、マイナス前記初期Cbサンプル倍の前記第1のパラメータ値に等しく、
前記第2の中間値が、前記初期ルーマサンプルで乗算された前記第3のパラメータ値、プラス前記初期Crサンプルで乗算された前記第1のパラメータ値に等しい、
前記第1の中間値と前記第2の中間値との和として第2のクロマ残差係数値を決定するための手段と、
前記ビットシフト値だけ右シフトされた前記ルーマ残差係数値として前記修正ルーマサンプルを決定するための手段と、
前記ビットシフト値だけ右シフトされた前記第1のクロマ係数値として前記修正Cbサンプルを決定するための手段と、
前記ビットシフト値だけ右シフトされた前記第2のクロマ係数値として前記修正Crサンプルを決定するための手段とを備える、C15に記載の機器。
[C17]
ビットストリームから、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を取得するための手段を更に備える、C16に記載の機器。
[C18]
ビットストリーム中で、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を信号伝達するための手段を更に備える、C16に記載の機器。
[C19]
実行されたとき、ビデオデータをコード化するための機器に、
初期ルーマサンプルのビット深度と初期クロマサンプルのビット深度との間の差分に基づいて初期サンプルのセットを修正サンプルのセットに変換することと、初期サンプルの前記セットが前記初期ルーマサンプル及び前記初期クロマサンプルとを含み、修正サンプルの前記セットが修正ルーマサンプルと修正クロマサンプルとを含む、
前記ビデオデータの再構成サンプルを生成するために前記修正サンプルを予測ブロックの対応するサンプルに加算することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
[C20]
前記初期クロマサンプルが初期Cbサンプルと初期Crサンプルとを含み、
前記修正クロマサンプルが修正Cbサンプルと修正Crサンプルとを含む、C19に記載のコンピュータ可読記憶媒体。
[C21]
前記機器に初期サンプルの前記セットを変換させることの一部として、前記命令は、前記機器に、
3プラス0と前記初期ルーマサンプルの前記ビット深度マイナス前記初期クロマサンプルの前記ビット深度に等しい値との最大値としてビットシフト値を決定することと、
前記ビットシフト値だけ左シフトされた1として第1のパラメータ値を決定することと、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい値との最大値だけ左シフトされた前記初期Cbサンプルのための成分間予測パラメータとして第2のパラメータ値を決定することと、
0と前記初期クロマサンプルの前記ビット深度マイナス前記初期ルーマサンプルの前記ビット深度に等しい前記値との最大値だけ左シフトされた前記初期Crサンプルのための成分間予測パラメータとして第3のパラメータ値を決定することと、
前記初期ルーマサンプルで乗算された、前記第1のパラメータ値と前記第2のパラメータ値との和、プラス前記初期Cbサンプルで乗算された前記第1のパラメータ値としてルーマ残差係数値を決定することと、
第1の中間値と第2の中間値との間の差分として第1のクロマ残差係数値を決定することと、
前記第1の中間値が、前記初期ルーマサンプルで乗算された、前記第1のパラメータ値マイナス前記第2のパラメータ値、マイナス前記初期Cbサンプル倍の前記第1のパラメータ値に等しく、
前記第2の中間値が、前記初期ルーマサンプルで乗算された前記第3のパラメータ値、プラス前記初期Crサンプルで乗算された前記第1のパラメータ値に等しい、
前記第1の中間値と前記第2の中間値との和として第2のクロマ残差係数値を決定することと、
前記ビットシフト値だけ右シフトされた前記ルーマ残差係数値として前記修正ルーマサンプルを決定することと、
前記ビットシフト値だけ右シフトされた前記第1のクロマ係数値として前記修正Cbサンプルを決定することと、
前記ビットシフト値だけ右シフトされた前記第2のクロマ係数値として前記修正Crサンプルを決定することとを行わせる、C20に記載のコンピュータ可読記憶媒体。
[C22]
前記命令が、前記機器に、
ビットストリームから、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を取得することを行わせる、C21に記載のコンピュータ可読記憶媒体。
[C23]
前記命令が、前記機器に、
ビットストリーム中で、前記初期Cbサンプルのための前記成分間予測パラメータと前記初期Crサンプルのための前記成分間予測パラメータとを示すシンタックス要素を信号伝達することを行わせる、C21に記載のコンピュータ可読記憶媒体。