【文献】
K.Sharman,N.Saunders and J.Gamei,AHG 5 and 18: Internal Precision for High Bit Depths,Joint Collaborative Team on Video Coding (JCT−VC) of ITU−T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Vienna, AT,2013年7月,JCTVC−N0188_r2,pp.1−24
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
添付図面と共に以降の詳細な説明を参照することによって、本発明の完全な理解及びその優位性の多くが容易に理解される。
【0013】
次に各図面を参照すると、
図1〜
図4eには、以下に説明する各実施形態に係る圧縮装置及び/又は解凍装置を利用する装置又はシステムが概略的に示されている。
【0014】
以下に説明する全てのデータ圧縮装置及び/又はデータ解凍装置は、ハードウェアで実現されてもよいし、例えば、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)又はフィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)、あるいはこれらの組み合わせ等のようなプログラム可能なハードウェアとして、汎用コンピュータ等の汎用データ処理装置上で動作するソフトウェアで実現されてもよい。ソフトウェア及び/又はファームウェアで実現される実施形態の場合、このようなソフトウェア及び/又はファームフェア、並びに、このようなソフトウェア及び/又はファームウェアが記憶又は提供される非一時的な機械可読データ記録媒体が、本発明の実施形態であると考えられることが理解されよう。
【0015】
図1は、ビデオデータ圧縮及びビデオデータ解凍を行うオーディオ/ビデオデータ送受信システムを示す概略図である。
【0016】
入力オーディオ/ビデオ信号10は、少なくともオーディオ/ビデオ信号10のビデオ要素を圧縮するビデオデータ圧縮装置20に供給され、例えば、ケーブル、光ファイバ、無線リンク等の送信ルート30に沿って送信される。圧縮された信号は、解凍装置40によって処理され、これにより、出力オーディオ/ビデオ信号50が提供される。リターンパスでは、圧縮装置60がオーディオ/ビデオ信号を圧縮し、当該オーディオ/ビデオ信号は送信ルート30に沿って解凍装置70に送信される。
【0017】
したがって、圧縮装置20及び解凍装置70は、送信リンクにおける1つのノードを構成することができる。また、解凍装置40及び圧縮装置60は、送信リンクにおける他の1つのノードを構成することができる。もちろん、送信リンクが単方向である場合は、一方のノードのみが圧縮装置を要求し、他方のノードのみが解凍装置を要求することになる。
【0018】
図2は、ビデオデータ解凍を行うビデオ表示システムを示す概略図である。具体的には、圧縮されたオーディオ/ビデオ信号100は解凍装置110によって処理され、これにより、表示装置120上で表示することができる解凍信号が提供される。解凍装置110は、例えば、表示装置120と同じケーシング内に設けることにより、表示装置120と一体的に形成してもよい。あるいは、解凍装置110は、(例えば、)いわゆるセットトップボックス(STB:Set Top Box)として提供されてもよい。なお、「セットトップ」という表現は、当該ボックスを表示装置120に対して特定の方向又は位置に配置する必要があることを意味するわけではない。この用語は、単に、周辺機器として表示部に接続可能なデバイスを示すために当該技術分野において使用しているに過ぎない。
【0019】
図3は、ビデオデータ圧縮及びビデオデータ解凍を行うオーディオ/ビデオ記憶システムを示す概略図である。入力オーディオ/ビデオ信号130は、圧縮信号を生成する圧縮装置140に供給され、例えば、磁気ディスク装置、光ディスク装置、磁気テープ装置、又は半導体メモリやその他の記憶装置等の固体記憶装置等の記憶装置150に記憶される。再生時においては、圧縮データが記憶装置150から読み出され、解凍装置160に渡されて解凍される。これにより、出力オーディオ/ビデオ信号170が提供される。
【0020】
圧縮信号又は符号化信号、及び当該信号を記憶する記憶媒体又はデータキャリアは、本発明の実施形態であると考えられることが理解されよう。これについては、
図4d及び
図4eを参照して後述する。
【0021】
図4aは、ビデオデータ圧縮を行うビデオカメラを示す概略図である。
図4aにおいて、CCD(Charge Coupled Device)イメージセンサ及びそれに付随する制御・読出電子機器等の画像キャプチャ装置180は、圧縮装置190に渡されるビデオ信号を生成する。1つのマイクロフォン(あるいは複数のマイクロフォン)200は、圧縮装置190に渡されるオーディオ信号を生成する。圧縮装置190は、記憶及び/又は送信される(ステージ220として包括的に表されている)圧縮オーディオ/ビデオ信号210を生成する。
【0022】
以下に説明する技術は、主に、ビデオデータ圧縮に関する。オーディオデータ圧縮を行うために、以降に説明するビデオデータ圧縮技術とともに多くの既存の技術を用いて圧縮オーディオ/ビデオ信号を生成してもよいことが理解されよう。したがって、オーディオデータ圧縮について別途説明は行わない。また、特に、放送品質ビデオデータにおいて、ビデオデータに関連するデータレートは、(圧縮及び非圧縮を問わず)一般的に、オーディオデータに関連するデータレートよりもはるかに高いことも理解されよう。したがって、非圧縮オーディオデータは、圧縮ビデオデータに追加することができ、これにより、圧縮オーディオ/ビデオ信号を形成できることが理解されよう。さらに、本発明の実施形態(
図1〜
図4e参照)はオーディオ/ビデオデータに関するものであるが、以下に説明する技術は、単にビデオデータを扱う(すなわち、圧縮、解凍、記憶、表示、及び/又は送信する)システムに使用してもよいことが理解されよう。すなわち、これらの実施形態は、必ずしもオーディオデータ処理と関連している必要はなく、ビデオデータ圧縮に適用することができる。
【0023】
図4bは、ビデオカメラの一例をより詳細に示す概略図である。
図4aと共通の参照符号が付された特徴部については説明を省略する。
図4bは、
図4aのカメラの一例(
図4aのステージ220が記憶機能を有する場合)である。同図では、圧縮データがまずバッファ221によってバッファリングされ、記憶媒体222に記憶される。記憶媒体222は、例えば、磁気ディスク、光ディスク、フラッシュメモリ、いわゆるソリッドステートドライブ(SSD)等とすることができる。なお、
図4bの構成は、単一の(物理的な)装置182として実装することができる。
【0024】
図4cは、ビデオカメラの別の例を示す概略図である。同図では、
図4bの記憶構成の代わりに、ネットワークインタフェース223を設けたことで、圧縮データを別の装置(図示せず)に送信可能となっている。また、ネットワークインタフェース223を通じて、ビデオカメラが制御データ等のデータを受信することも可能となっている。なお、
図4bの構成は、単一の(物理的な)装置183として実装することができる。
【0025】
図4d及び
図4eは、データキャリアを示す概略図である。このデータキャリアは、例えば、記憶媒体222として用いて、本願に記載された圧縮技術によって圧縮された圧縮データを保持する。
図4dは、フラッシュメモリ等の固体メモリとして実装されるリムーバブルな不揮発性記憶媒体225の一例を示す概略図である。
図4eは、光ディスク等のディスク型媒体として実装されるリムーバブルな不揮発性記憶媒体226の一例を示す概略図である。
【0026】
図5は、ビデオデータ圧縮・解凍装置を示す概略図である。
【0027】
連続画像の入力ビデオ信号300は、加算部310及び画像予測部320に供給される。画像予測部320については、
図6を参照して後で詳述する。加算部310は、「+」入力上で入力ビデオ信号300を受信し、「−」入力上で画像予測部320の出力を受信する事実上の減算(負の加算)動作を実行する。これにより、入力画像から予測画像が減算される。この結果、実画像と予測画像との差を表すいわゆる残差画像信号330が生成される。
【0028】
残差画像信号を生成する理由の1つは次の通りである。説明を行うデータ符号化技術、すなわち、残差画像信号に適用される技術は、符号化される画像において「エネルギー」が少ない場合に、より効率的に作用する傾向がある。ここで、「効率的」という用語は、生成した符号化データの量が少ないことを指す。特定の画像品質レベルにおいては、生成するデータができるだけ少ないことが望ましい(且つ、「効率的」と考えられる)。残差画像における「エネルギー」は、残差画像に含まれる情報量に関連する。仮に、予測画像と実画像とが同一だとすると、これら2つの画像の差(すなわち、残差画像)は、ゼロの情報(ゼロエネルギー)を含み、非常に容易に少量の符号化データに符号化できる。一般的に、予測処理をある程度良好に実行できる場合、残差画像データは、入力画像よりも情報が小さく(エネルギーが少ない)、容易に少量の符号化データに符号化することができると予想される。
【0029】
残差画像データ330は、残差画像データの離散コサイン変換(DCT:Discrete Cosine Transform)表現を生成する変換部340に供給される。このDCT技術自体は広く知られており、ここでの詳細な説明は行わない。しかしながら、特に、DCT動作が適用されるデータの様々なブロックの選択に関して、以降で詳細に説明する装置で用いられる技術の側面が存在する。これらについては、
図7〜
図12を参照して以降で説明する。
【0030】
なお、いくつかの実施形態では、DCTの代わりに、離散サイン変換(DST:Discrete Cosine Transform)を用いる。他の実施形態においては、変換を実行しなくてもよい。この変換は選択的に行うことができ、例えば、「変換スキップ」コマンド/モードの制御により、変換ステージが事実上バイパスされる。
【0031】
変換部340の出力、すなわち、画像データにおける各変換ブロックに対する一連の変換係数は、量子化部350に供給される。量子化スケーリング要素による単純な乗算から、量子化パラメータの制御下における複雑なルックアップテーブルの応用に至るまで、様々な量子化技術がビデオデータ圧縮の分野において広く知られている。その目的として一般的なものには2つある。1つ目は、変換データが取り得る値を量子化処理により減少させることである。2つ目は、変換データの値がゼロである可能性を量子化処理により増加させることである。これらにより、少量の圧縮ビデオデータの生成において、エントロピー符号化処理をより効率的に行うことができる。
【0032】
スキャン部360により、データスキャン処理が適用される。スキャン処理の目的は、非ゼロの量子化変換係数をできるだけひとまとめにするため、また、もちろん、これにより、ゼロ値の係数をできるだけひとまとめにするために、量子化変換データを再整理することである。これらの機能により、いわゆるランレングス符号化、又は同様の技術を効率的に適用することができる。したがって、スキャン処理は、(a)スキャンの一部として全ての係数が一度は選択されるように、且つ、(b)スキャンにより所望の再整理を行うことができるように、「スキャン順」に従って、量子化変換データ、及び、特に、変換及び量子化された画像データのブロックに対応する係数のブロックから係数を選択することを含む。有効な結果をもたらすスキャン順の1つの例は、いわゆるジグザグスキャン順である。
【0033】
スキャンされた係数は、その後、エントロピーエンコーダ(EE)370に渡される。この場合もやはり、各種のタイプのエントロピー符号化を実行してもよい。2つの例は、いわゆるCABAC(Context Adaptive Binary Coding)システムの変形、及び、いわゆるCAVLC(Context Adaptive Variable-Length Coding)システムの変形である。一般的に、CABACは効率がよいと考えられている。ある研究では、CABACにおける符号化出力データの量は、同等の画像品質に対して、CAVLCよりも10〜20%少ないことが示されている。しかしながら、CAVLCが示す(実行する上での)複雑性のレベルは、CABACの複雑性のレベルよりもはるかに低いと考えられている。なお、スキャン処理及びエントロピー符号化処理は、別々の処理として示されているが、実際には、組み合わせるか、又は、一緒に扱うことができる。すなわち、エントロピーエンコーダへのデータの読み出しは、スキャン順で行うことができる。これと同様の事は、各逆処理にも当てはまる。
【0034】
エントロピーエンコーダ370の出力により、例えば、予測部320が予測画像を生成する方法を定義する(上述及び/又は後述の)追加データと共に、圧縮出力ビデオ信号380が提供される。
【0035】
一方、予測部320自身の動作は解凍された圧縮出力データに依存するため、リターンパスも提供される。
【0036】
この機能の理由は以下の通りである。解凍処理における適切なステージで、解凍された残差データが生成される。この解凍残差データは、出力画像を生成するために、予測画像に追加する必要がある(なぜなら、元の残差データは、入力画像と予測画像との差であったため)。圧縮側と解凍側との間でこの処理が同等となるように、予測部320によって生成される予測画像は、圧縮処理中及び解凍処理中において、同一であるべきである。もちろん、装置は、解凍時において元の入力画像にアクセスすることができない。装置がアクセスできるのは、解凍画像のみである。したがって、圧縮時において、予測部320は、解凍された圧縮画像に基づいて(少なくとも、インター画像符号化について)その予測を行う。
【0037】
エントロピーエンコーダ370により実行されるエントロピー符号化処理は、「無損失(lossless)」であると考えられる。すなわち、エントロピーエンコーダ370に最初に供給されたデータと全く同じデータに置き換えることができる。したがって、リターンパスは、エントロピー符号化ステージよりも前に実装することができる。実際、スキャン部360によって実行されるスキャン処理も無損失であると考えられるが、本実施形態では、リターンパス390は、量子化部350の出力から、補足逆量子化部420の入力までとされている。
【0038】
一般的には、エントロピーデコーダ410、逆スキャン部400、逆量子化部420、逆変換部430は、それぞれ、エントロピーエンコーダ370、スキャン部360、量子化部350、及び変換部340の逆機能を提供する。ここでは、圧縮処理について説明を続け、入力圧縮ビデオ信号を解凍するための処理については、圧縮処理のリターンパスに対応する。
【0039】
圧縮処理において、量子化された係数は、リターンパス390により量子化部350から、スキャン部360の逆動作を実行する逆量子化部420に渡される。逆量子化処理及び逆変換処理が各部420、430により実行され、圧縮−解凍残差画像信号440が生成される。
【0040】
画像信号440は、加算部450で予測部320の出力に追加され、再構築出力画像460が生成される。これにより、画像予測部320への1つの入力が構成される。
【0041】
受信した圧縮ビデオ信号470に適用される処理について説明する。圧縮ビデオ信号470は、まず、エントロピーデコーダ410に供給され、そこから逆スキャン部400、逆量子化部420、及び逆変換部430の順に供給される。その後、加算部450により画像予測部320の出力に追加される。単刀直入に言うと、加算部450の出力460は、出力解凍ビデオ信号480を形成する。実際には、信号の出力の前に、さらにフィルタリングを施してもよい。
【0042】
図6は、予測画像の生成を示す概略図であり、特に、画像予測部320の動作を示している。
【0043】
いわゆるイントラ画像予測、及びいわゆるインター画像予測又は動き補償(MC:Motion-Compensated)予測という2つの基本的な予測モードが存在する。
【0044】
イントラ画像予測は、同一画像内から得られるデータにおける画像ブロックの内容の予測を基礎としている。これは、他のビデオ圧縮技術における、いわゆるIフレーム符号化に対応する。画像全体がイントラ符号化されるIフレーム符号化とは対照的に、本実施形態では、イントラ符号化及びインター符号化の選択を、ブロック毎に行うことができる。他の実施形態では、当該選択が依然として画像毎に行われる。
【0045】
動き補償予測においては、他の隣接画像又は近接画像において、現在の画像において符号化される画像詳細のソースを定義しようとする動き情報が用いられる。したがって、理想的な例では、予測画像における画像データのブロックの内容は、隣接画像における同じ位置もしくはわずかに異なる位置にある対応ブロックを示す参照(動きベクトル)として、非常に容易に符号化することができる。
【0046】
図6に戻る。
図6には(イントラ画像予測及びインター画像予測に対応する)2つの画像予測構成が示されており、その予測結果が、加算部310及び450に供給するための予測画像のブロックを提供するように、モード信号510の制御下において乗算部500によって選択される。当該選択は、どちらを選択すれば最小の「エネルギー」(上述のように、符号化を要求する情報量と考えてもよい)となるかに基づいて行われ、また、当該選択は、符号化出力データストリーム内でエンコーダに通知される。これに関して、例えば、入力画像から、2つのバージョンの予測画像の領域を試行減算し、差分画像の各ピクセル値を2乗し、乗算値を合計し、当該2つのバージョンのうち、その画像領域に関連する差分画像の平均乗算値が低いのはどちらのバージョンかを特定することによって、画像エネルギーを検出することができる。
【0047】
イントラ予測システムにおいて、実際の予測は、信号460の一部として受信された画像ブロックに基づいて行われる。すなわち、予測は、解凍装置において全く同じ予測を行うことができるように、符号化−復号化画像ブロックに基づいて行われる。しかしながら、データを入力ビデオ信号300から抽出して、イントラモード選択部520により、イントラ画像予測部530の動作を制御することもできる。
【0048】
インター画像予測では、動き補償(MC)予測部540は、例えば、動き推定部550によって入力ビデオ信号300から抽出された動きベクトル等の動き情報を用いる。これら動きベクトルは、インター画像予測のブロックを生成する動き補償予測部540によって、処理された再構築画像460に適用される。
【0049】
ここで、信号460に適用される処理について説明する。まず、信号460は、フィルタ部560によってフィルタリングされる。この処理では、変換部340により実行されるブロックに基づく処理及び後続の動作に対する影響を除去するか、少なくとも低減させるために「非ブロック化(deblocking)」フィルタが適用される。また、再構築信号460及び入力ビデオ信号300を処理することによって得られた係数を使用して、適応ループフィルタが適用される。この適応ループフィルタは、公知の技術を使用して、フィルタリング対象のデータに対して適応フィルタ係数を適用するフィルタの一種である。すなわち、フィルタ係数は、各種要素に基づいて変化し得る。どのフィルタ係数を用いるかを定義するデータは、符号化出力データストリームの一部に挿入される。
【0050】
フィルタ部560からのフィルタリングされた出力は、実際には、出力ビデオ信号480を形成する。この信号は、1つ又は複数の画像記憶部570に記憶される。連続画像の記憶は、動き補償予測処理、特に、動きベクトルの生成において要求される。必要メモリを確保するため、画像記憶部570内の記憶画像は、圧縮形式で保持され、その後、動きベクトルの生成に用いるために解凍されてもよい。この特定の目的のために、公知のいかなる圧縮/解凍システムを用いてもよい。記憶画像は、より高い解像度の記憶画像を生成する補間フィルタ580に渡される。この例では、補間フィルタ580によって出力される補間画像の解像度が、画像記憶部570に記憶された画像の8倍(各寸法)となるように、中間サンプル(サブサンプル)が生成される。補間画像は、動き推定部550及び動き補間予測部540への入力として渡される。
【0051】
いくつかの実施形態では、乗算部600を使用して、入力ビデオ信号のデータ値に因数4を乗算し(効率的には、単にデータ値を2ビット左にシフトさせる)、除算部又は右シフト部610を使用して、装置の出力で、対応する除算動作(2ビット右にシフト)を適用する任意のステージがさらに提供される。したがって、左へのシフト及び右へのシフトにより、単に装置の内部動作に対して、データが変更される。この方法により、あらゆるデータ丸め誤差の影響も低減されるので、装置内における高い計算精度を提供することができる。
【0052】
ここで、圧縮処理のために画像を分割する方法について説明する。基本的なレベルでは、圧縮される画像はサンプルブロックの配列として考えることができる。検討されているこのようなブロックの中で最大のものは、便宜的に、64×64サンプルの正方形配列を表すいわゆる最大符号化ユニット(LCU:Largest Coding Unit)700とする(
図7参照)。ここで、輝度サンプルについて説明する。4:4:4、4:2:2、4:2:0、又は4:4:4:4(GBR+キーデータ)等のクロミナンスモードによって、輝度ブロックに対応する、対応クロミナンスサンプルの数が異なる。
【0053】
符号化ユニット、予測ユニット、及び変換ユニットという基本的な3つの種類のブロックについて説明する。一般的には、LCUの再帰的な分割により、例えば、ブロックサイズ及びブロック符号化パラメータ(予測又は残差符号化モード等)が、符号化される画像の特定の特徴に応じて設定されるといった方法で、入力画像が分割される。
【0054】
LCUは、いわゆる符号化ユニット(CU)に分割されてもよい。符号化ユニットは、常に正方形であり、また、8×8サンプルから最大サイズのLCU700までのサイズを有している。符号化ユニットは、ある種のツリー構造として配置されてもよい。その結果、例えば、第1の分割が
図8に示すように行われて、32×32サンプルの符号化ユニット710が与えられる。続いて行われる分割は、16×16サンプルの符号化ユニット720(
図9)及び潜在的な8×8サンプルの符号化ユニット730(
図10)が与えられるように、選択的な基準に基づいて行われてもよい。全体としては、この処理により、LCUと同じ大きさ、あるいは、8×8サンプルと同じ大きさを有するCUブロックの容量適応符号化ツリー構造を提供することができる。出力ビデオデータの符号化は、符号化ユニット構造に基づいて行われる。
【0055】
図11は、予測ユニット(PU)の配列を示す概略図である。予測ユニットは、画像予測処理に関連する情報を伝達するための基本的なユニットであり、換言すると、
図5の装置からの出力ビデオ信号を形成するためのエントロピー符号化された残差画像データに追加される追加データである。一般的に、予測ユニットの形状は、正方形に限られない。これらは、最小(8×8)サイズより大きい限り、特に、1つの正方形符号化ユニットの半分を形成する長方形等、他の形状を採ることができる。その目的は、隣接する予測ユニットの境界が画像内の実オブジェクトの境界に(できるだけ近くに)合わせられるようにすることであり、その結果、様々な予測パラメータを異なる実オブジェクトに適用することができる。各符号化ユニットは、1つ又は複数の予測ユニットを含んでいてもよい。
【0056】
図12は、変換ユニット(TU)の配列を示す概略図である。変換ユニットは、変換・量子化処理における基本的なユニットである。変換ユニットは、常に正方形であり、4×4サンプルから32×32サンプルまでのサイズを採ることができる。各符号化ユニットは1つ又は複数の変換ユニットを含むことができる。
図12における頭字語SDIP−Pは、いわゆる短距離イントラ予測分割を示している。この配列では、1次元の変換のみが行われる。したがって、4×NブロックがN回の変換により渡され、変換における入力データは、現在のSDIP−P内の既に復号化されている隣接ブロック及び既に符号化されている隣接線に基づく。
【0057】
[変換行列]
次に、変換部340及び逆変換部430の態様について説明する。なお、上述したように、変換部340は、エンコーダ内に設けられる。逆変換部430は、エンコーダの復号化リターンパス及びデコーダの復号化経路に設けられる。
【0058】
変換部340及び逆変換部430は、空間周波数領域に関して相補的な変換を行うように意図される。つまり、変換部340は、ビデオデータセット(又はビデオデータから導出される、上述の差分又は残差データ等のデータ)に対して処理を実行し、対応の空間周波数係数セットを生成する。逆変換部430は、空間周波数係数セットに対して処理を実行し、対応のビデオデータセットを生成する。
【0059】
上記変換は実際には行列計算として実施される。順変換は、変換行列によって定義される。順変換は、変換行列に対してサンプル値配列を用いた行列乗算を行うことによって対応の空間周波数係数配列を生成するように実施される。いくつかの例では、サンプル配列Mに変換行列Tを左から掛けた後、その結果に、変換行列の転置行列T
Tを右から掛ける。したがって、出力係数配列は、次のように定義される。
T.M.T
T
【0060】
この種の空間周波数変換を表す行列タイプの性質として、当該行列の転置行列は、その逆と同じであることが挙げられる。したがって、順変換行列及び逆変換行列は原則として、簡単な転置によって関連付けられる。
【0061】
本願の出願日現在で提案されているHEVC規格では、このような変換は、デコーダ機能に用いられる逆変換行列としてのみ定義されている。エンコーダの変換行列は、このようには定義されていない。デコーダの(逆)変換は、6ビット精度に定義されている。
【0062】
上述したように、原則として、適した順(エンコーダ)行列セットは、逆行列の転置として得ることができる。しかし、順行列と逆行列との関係は、値が無限精度に表現される場合にのみ適用される。値を有限精度に、例えば6ビットに表現することは、当該転置が必ずしも順行列と逆行列との適切な関係に対応しないことを意味する。
【0063】
整数演算形式の変換部及び逆変換部の製造又は実装は、浮動小数点演算を用いる同様の各部の実装に比べて、簡易、安価、高速、且つ/又は処理部の負荷が軽いと認識されている。したがって、以下に説明する行列係数は、整数で表現され、変換を実施するのに必要な実際の値から、必要な係数精度を得るのに十分なビット数(2の累乗)だけ増加される。必要な場合、この増加は、ビットシフト(2の累乗による除算)によって省くことができる。換言すると、実際の変換係数は、以下に説明する値に比例する。
【0064】
[6ビット逆変換行列]
この章では、あらゆるデコーダで行われるであろう現行のHEVC規格の逆変換行列について詳述する。
【0065】
[4×4 DST]
変換行列は、
図13に示す形態を有する。図中、文字は各係数値を示し、このグリッド内の係数値は、
図14の表によって定義される。
【0066】
[組み合わせDCT行列]
簡単に実施するために、1つの32×32 DCT行列M
32を説明する。この行列から、次の数式に従うサブサンプリングによって、より小さいN×N DCT行列M
Nがそれぞれ導出される。
M
N[x][y]=M
32[x][(2
(5−log2(N)))y]
(ここで、x,y=0,…,(N−1))
【0067】
例えば、Nは、32より小さい2の累乗、例えば、変換されるデータ配列のサイズに応じて4、8又は16とすることができる。
【0068】
組み合わせ行列M
32は、
図15に示す形態を有する。ここでも、図中、異なる文字はそれぞれ係数値を示す。なお、同じ文字でも大文字及び小文字は、異なる係数を表す。したがって、「A」は、「a」とは異なる値を示す。
【0069】
グリッド内の各値は、
図16に示す表によって定義される。
【0070】
[精度向上順変換行列]
この章では、上述の説明と合わせ、様々なレベルの精度の順変換行列を用いてビデオデータ値の配列を符号化するビデオデータ符号化方法及びビデオビデオデータ符号化装置について説明する。
【0071】
基本的に、標準的な逆行列にマッチした、6ビットより高い解像度に表現される係数を含む順行列を用いることで、より良好な結果が得られる。これは特に、本システムが、ビットデプスが高いビデオデータ(つまり、ビット数で表される「ビットデプス」又はデータ精度が高いビデオデータ、例えば、16ビットビデオデータ)を符号化している場合である。ここでは、ビデオデータ値のビットデプスに応じて変換行列のデータ精度を選択することが有用であり得る。
【0072】
以下に説明する行列値は、例えば、周波数変換によってビデオデータ値を周波数変換して、6ビットより高いデータ精度を有し且つ少なくとも以下に説明する値のサブセットによって定義される係数を含む変換行列を用いる行列乗算処理によって、周波数変換された値の配列を生成することと、このような動作を実行する周波数変換部(変換部340等)とに適用可能である。
【0073】
いくつかの実施形態では、例えば、N−2又はN−3ビットのビットデプス又は精度を有する行列係数を用いて、Nビットのビットデプスを有するビデオデータを処理することが有用であり得る。
【0074】
ここで、「マッチした」という表現は、標準的な逆行列を補完するのに用いられるときの順行列のエラーが、当該精度に表現される順行列よりも少ないことを意味する。いくつかの例では、エラーは最小限に抑えられ、他の例では、少なくとも軽減され得る。「エラー」という用語は、(一連の順変換及び逆変換の文脈で)順変換の入力として供給されたデータと、これに対応する逆変換の出力として生成されたデータとの間に差異があることを示す。
【0075】
[4×4 DST]
ここでも、変換行列は、
図13に示す形態を有する。図中、グリッド内の値は、
図17a〜
図17cの各表に従う行列精度によって定義される。なお、示される値は、本技術の実施形態を示す(すなわち、これらの数に等しい値を用いてもよい)が、これらの数はそれぞれ、(例えば)+/−2変化してもよい。ここで、各行はそれぞれ係数を定義する文字に関する。各列はそれぞれ行列係数の精度又はビットデプスに関する。
【0076】
[組み合わせDCT行列]
ここでも、簡単に実施するために、1つの32×32 DCT行列M
32を説明する。この行列から、次の数式に従うサブサンプリングによって、より小さいN×N DCT行列M
Nがそれぞれ導出される:
M
N[x][y]=M
32[x][(2
(5−log2(N)))y]
(ここで、x,y=0,…,(N−1))
【0077】
ここでも、組み合わせ行列M
32は、
図15に概略的に示す形態を有する。しかし、今回は、グリッド内の値は、
図18a〜
図18cの各表に従う行列精度によって定義される。なお、示される値は、本技術の実施形態を示すが、これらの数はそれぞれ、+/−2変化してもよい。これにより、当該表の値に略等しい実際の値を用いてもよいが、「略等しい」という表現は、「表の値+/−2」を意味する。
【0078】
完璧を期するために、32×32行列から導出されるより小さいDCT行列をここで紹介する。各グリッド内の値は、上記表に従う行列係数精度によって定義される。
【0079】
[4×4 DCT]
行列M
4は、組み合わせ行列M
32は、組み合わせ行列M
32の8行おきの行の始めの4つの係数として上記数式に従って定義される。これらの係数を
図19に示す。
【0080】
[8×8 DCT]
行列M
8は、組み合わせ行列M
32は、組み合わせ行列M
32の4行おきの行の始めの8つの係数として上記数式に従って定義される。これらの係数を
図20に示す。
【0081】
[16×16 DCT]
行列M
16は、組み合わせ行列M
32は、組み合わせ行列M
32の各奇数行の始めの16個の係数として上記数式に従って定義される。これらの係数を
図21に示す。
【0082】
係数値は適宜、データ精度に応じて添付の図面に示す関連の表に列挙される値から選択される。
【0083】
[結果例]
標準的なHEVC v1に関する実施態様では、逆変換と同じ行列に基づく順変換が用いられる可能性が高い。しかし、入力ビットデプスが高くなる場合、上述した理由により順変換の適用と逆変換の適用との間でエラーが生じないように、順変換を逆変換にマッチさせることが適切となる。また、変換行列の効果的な固定ビットデプスを高めることが適切となる。そうしないと、やはりエラーが顕著になるためである。本技術の実施形態では、Nビット入力データ(SNRが高い)までの符号化を行うエンコーダは、(例えば、ビデオデータ値のビットデプスよりも低い2又は3のオフセットをもたらすように)少なくともN−3ビット、例えば、N−2ビットの順変換ビットデプスを採用してもよい。実施態様によっては、係るエンコーダは、より低い入力ビットデプスのシステムに、より精度の低い順変換ビットデプスを採用してもよいし、採用しなくてもよい(例えば、電力を削減可能であってもよいし、より高速なソフトウェアに関する実施態様を利用してもよい)。
【0084】
これにより、いくつかの実施形態では、順変換部340は、(例えば)
図18a〜
図18cの各表に関するデータを記憶し、使用時に内部ビデオビットデプスに応じてこれらの表の適切な一列からデータを選択するように動作可能としてもよい。
【0085】
以下に説明するグラフは、標準的な6ビット逆変換をその順変換(出願時において現行の標準的なHEVC Cモデル法)として用いる基準性能を、6ビット逆変換にマッチした、より精度が高い順変換を用いることによって得られた結果と合わせて示す。これらの結果は、処理中のビデオデータの様々なビットデプスで得られ、キロビット毎秒(kbps)のビットレートに対するデシベル(dB)単位の信号対雑音比(SNR)の測定値としてシステム性能を示す。SNR測定値は、指定されたビットレート及びビットデプスに応じてテストシーケンスのビデオを符号化した後に復号化することで得られ、このテストシーケンスで平均化されたエラーから導出される。これらの基準結果は、実線で示され、精度向上行列のテスト結果は、破線で示される。
図22〜
図24は、12(
図22)、14(
図23)及び16(
図24)の内部(処理動作内の)ビデオビットデプスの場合に、14の行列精度に関して(つまり、
図18aの上部に「14ビット」と記した列のデータを用いて)得られた結果を示す。
【0086】
図25及び
図26は、12(
図25)及び14(
図26)の内部ビデオビットデプスの場合に、<内部ビデオビットデプス>−2の行列精度に関して得られた結果を示す。
【0087】
図22〜
図26の各図から分かるように、上記各テスト結果のSNRは、テストしたビットレート範囲の少なくとも一部では、当該ビデオビットデプスでの基準システムのSNRより良好である。
【0088】
これらの技術によって符号化又は復号化された画像データ及び係る画像データを保持するデータキャリアは、本開示の一実施形態を代表するものと見なされる。
【0091】
[データ信号]
上記符号化装置及び係る信号を保持する記憶装置又は送信媒体の変形例によって生成されるデータ信号は、本開示の実施形態を代表するものと見なされることが理解されるであろう。
【0092】
本開示の実施形態が、少なくとも部分的にソフトウェア制御式データ処理装置によって実施されるものとして記載されている限り、係るソフトウェアを保持する、光ディスク、磁気ディスク、半導体メモリ等の非一過性の装置可読媒体も、本開示の一実施形態を代表するものと見なされることが理解されるであろう。
【0093】
もちろん、本開示の多くの変更形態及び変形が上記教示を鑑みて可能である。したがって、添付の特許請求の範囲から逸脱しない限り、本技術は、本明細書で詳述したものとは異なる方法で実施してもよいことを理解されたい。