【文献】
Thomas Wiegand et al.,WD1: Working Draft 1 of High-Efficiency Video Coding,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,3rd Meeting: Guangzhou, CN,,2011年 1月,JCTVC-C403,pp.i-vii, 67-69
【文献】
Haitao Yang et al.,CE7: Simplified MDDT scheme using symmetry-based scanning orders,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,4th Meeting: Daegu, KR,2011年 1月,JCTVC-D304_r1,pp.1-5
【文献】
Yunfei Zheng et al.,CE11: Mode Dependent Coefficient Scanning,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,4th Meeting: Daegu, KR,2011年 1月,JCTVC-D393_r4,pp.1-6
【文献】
Benjamin Bross et al.,WD4: Working Draft 4 of High-Efficiency Video Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年11月,JCTVC-F803_d6,pp.i, 18-20, 43-45, 76, 127-128
【文献】
Chih-Wei Hsu et al.,Non-CE11: Extending MDCS to 16x16 and 32x32 TUs,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G226_r1,pp.1-7
【文献】
Xin Zhao et al.,CE11: Extended Mode Dependent Coefficient Scanning,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G284,pp.1-8
【文献】
K. Sharman et al.,Hybrid Horizontal/Vertical with Diagonal Mode Dependent Coefficient Scan,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G491-r1,pp.1-4
【文献】
P. Silcock et al.,Extension of HM7 to Support Additional Chroma Formats,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,10th Meeting: Stockholm, SE,2012年 7月,JCTVC-J0191,pp.1-16
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
添付図面と共に以降の詳細な説明を参照することによって、本発明の完全な理解及びその優位性の多くが容易に理解されるであろう。
【0017】
図面を参照して、
図1〜
図4には、本発明の実施形態に関連して、以降で説明される圧縮及び/又は解凍装置を利用する装置及びシステムが概略的に示されている。
【0018】
以降で説明される全てのデータ圧縮及び/又は解凍装置は、ハードウェアで実現されてもよいし、例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)、あるいはこれらの組み合わせなどのようなプログラム可能なハードウェアとして、汎用コンピュータなどの汎用データ処理装置上で動作するソフトウェアで実現されてもよい。ソフトウェア及び/又はファームウェアで実現される実施形態の場合、このようなソフトウェア及び/又はファームフェア、並びに、このようなソフトウェア及び/又はファームウェアが記憶又は提供される非一時的なデータ記録媒体が、本発明の実施形態であると考えられる。
【0019】
図1は、ビデオデータ圧縮及び解凍を使用するオーディオ/ビデオデータ送受信システムを示す概略図である。
【0020】
入力オーディオ/ビデオ信号10は、例えば、ケーブル、光ファイバ、無線リンク等の送信ルート30に沿って送信されるオーディオ/ビデオ信号10のビデオ要素を少なくとも圧縮するビデオデータ圧縮装置20へ供給される。圧縮された信号は、解凍装置40によって処理されて、出力オーディオ/ビデオ信号50が提供される。戻りパスでは、圧縮装置60は、送信ルート30に沿って解凍装置70へと送信されるオーディオ/ビデオ信号を圧縮する。
【0021】
圧縮装置20及び解凍装置70は、それ故、送信リンクにおける1つのノードを形成することができる。また、解凍装置40及び圧縮装置60は、送信リンクにおける他の1つのノードを形成することができる。もちろん、送信リンクが単方向である場合、一方のノードのみが圧縮装置として要求され、他方のモードのみが解凍装置として要求される。
【0022】
図2は、ビデオデータ解凍を使用するビデオ表示システムを模式的に示す図である。特に、圧縮されたオーディオ/ビデオ信号100は解凍装置110によって処理され、表示装置120上で表示され得る解凍信号が提供される。解凍装置110は、表示装置120の不可欠な部分として実現され、例えば、表示装置として同じケージング内に提供される。あるいは、解凍装置110は、(例えば、)いわゆるセットトップボックス(STB:Set Top Box)として提供されてもよい。なお、"セットトップ"との表現は、表示装置120に対して特定の方向又は位置に位置されるボックスに対する要求を意味しているのではなく、単に、周辺機器として表示部に接続可能なデバイスを示すためにこの用語は使用されている。
【0023】
図3は、ビデオデータ圧縮及び解凍を使用するオーディオ/ビデオ記憶システムを示す概略図である。入力オーディオ/ビデオ信号130は、例えば、磁気ディスク装置、光ディスク装置、磁気テープ装置、あるいは、半導体メモリやその他の記憶装置などの半導体記憶装置などの記憶装置150によって記憶される圧縮信号を生成する圧縮装置140に供給される。再生においては、圧縮データが記憶装置150から読み出されて、解凍のために解凍装置160を通され、これにより出力オーディオ/ビデオ信号170が提供される。
【0024】
なお、圧縮又は符号化信号、並びに、この信号を記憶する記憶媒体は、本発明の一実施形態であると考えられる。
【0025】
図4は、ビデオデータ圧縮を使用するビデオカメラを示す概略図である。
図4において、例えば、CCD(Charge Coupled Device)イメージセンサや、関連する制御及び読み出しの電子機器などの画像キャプチャ装置180は、圧縮装置190を通されるビデオ信号を生成する。1つのマイクロフォン(あるいは複数のマイクロフォン)200は、圧縮装置190を通されるオーディオ信号を生成する。圧縮装置190は、記憶及び/又は送信される圧縮オーディオ/ビデオ信号を生成する(概略ステージ220として一般的に表されている)。
【0026】
以降で述べられる技術は、主に、ビデオデータ圧縮及び解凍に関連している。なお、圧縮オーディオ/ビデオ信号を生成するために、多くの既存の技術が、以降で説明されるビデオデータ圧縮技術と共にオーディオデータ圧縮に使用されてもよい。対応して、オーディオデータ圧縮についての分離した説明は行わない。また、特に、放送品質ビデオデータにおいて、ビデオデータに関連するデータレートは、一般的に、オーディオデータに関連するデータレートよりも非常に高い(圧縮及び非圧縮を問わず)。従って、非圧縮オーディオデータは、圧縮オーディオ/ビデオ信号を形成するために、圧縮ビデオデータと一緒にすることができる。さらに、図示される例(
図1〜
図4参照)は、オーディオ/ビデオデータに関連しているが、以降で説明される技術は、単にビデオデータを扱う(つまり、圧縮、記憶、表示及び送信する)システムにおける使用されてもよい。つまり、この実施形態は、必ずしも関連するオーディオデータの処理を必要とすることなく、ビデオデータ圧縮に適用することができる。
【0027】
図5は、ビデオデータ圧縮及び解凍装置を示す概略図である。
【0028】
コントローラ343は、装置の全体の動作を制御し、特に、圧縮モードを参照するとき、(以降で説明される)試験的符号化処理を制御して、CU、PU、
TUブロックサイズ等の動作の各種モードを選択する。
【0029】
入力ビデオ信号300の連続画像は、加算部310及び画像予測部320に供給される。画像予測部320は、
図6を参照して後に詳述される。加算部310は、実際には減算(負の加算)動作を実行し、"+"入力上で入力ビデオ信号300を受信し、"−"入力上で画像予測部320の出力を受信し、これにより、予測画像が入力画像から減算される。この結果は、実画像及び予測画像の差を表すいわゆる残差画像信号330である。
【0030】
残差画像信号がなぜ生成されるのかについての1つの理由について説明する。説明されるデータ符号化技術、つまり、残差画像信号に適用される技術は、符号化される画像において小さな"エネルギー"しかない場合に、より効率的に処理を行うためのものである。ここで、"効率的"との用語は、少量の符号化データの生成について言及しており、特に画像品質レベルについては、できるだけ少量のデータを生成することが望ましい("効率"が考慮されて)。残差画像における"エネルギー"は、残差画像に含まれる情報量に関連している。仮に、予測画像が実画像と一致している場合、これらの2つの間の差(つまり、残差画像)は、ゼロの情報(ゼロエネルギー)を含み、非常に簡単に少量の符号化データに符号化することができる。一般的には、仮に、予測処理が合理的に効果的に動作される場合、その予想は、残差画像データが、入力画像よりも少ない情報(小さなエネルギー)を含み、より簡単に少量の符号化データに符号化することができるという予想となる。
【0031】
残差画像データは、残差画像データの離散コサイン変換(DCT:Discrete Cosine Transform)表現を生成する変換ユニット340へと供給される。このDCT技術自体は、広く知られており、ここでの詳細な説明は行わない。しかしながら、特に、
DCT動作が適用されるデータの異なるブロックの選択に関して、以降で詳細に説明される装置で使用される技術の側面が存在する。これらについては、
図7〜
図12を参照して以降で説明する。いくつかの実施形態では、MDDT(Mode Dependent Directional Transform)として知られるシステムにおいて、
DCTの代わりに、異なる周波数分離変換が選択的に使用されてもよく、これについては、以降で説明する。ここでは、DCT変換が使用されると仮定する。
【0032】
変換ユニット340の出力、つまり、画像データにおける各変換ブロックのDCT係数の組は、量子化部350へと供給される。各種量子化技術は、量子化スケーリング要素による単純な乗算から、量子化パラメータの制御下における複雑なルックアップテーブルの応用に至るまで、ビデオデータ圧縮の分野において広く知られている。その一般的な目的は2つの要素からなる。第1に、量子化処理は、変換データにおける可能値の数を減少させる。第2に、量子化処理は、変換データの値がゼロとなる可能性を増加させることができる。これらの両者は、少量の圧縮ビデオデータの生成において、後述のエントロピ符号化処理をより効率的に動作させることができる。
【0033】
データスキャニング処理がスキャン部360によって適用される。スキャニング処理の目的は、非ゼロの量子化係数
をできるだけ多く
集合させ、また、もちろん、その結果、ゼロ値の係数
をできるだけ多く
集合させるために、量子化変換データを再整理することにある。これらの特徴により、いわゆるランレングス符号化、又は同様の技術が効率的に適用される。つまり、スキャニング処理は、(a)全ての係数がスキャンの一部として一度は選択されるように、且つ(b)スキャンが望ましい再整理を提供するように、"スキャニング順"に応じて、量子化変換データから、特に、変換及び量子化された画像データのブロックに対応する係数のブロックから係数を選択することを含む。いくつかの実施形態では、いわゆるMDCS(Mode Dependent Coefficient Scanning)が使用されてもよく、スキャンパターンはブロックからブロックへと変わってもよい。このような構成は、後に詳述する。ここでは、右上り斜め方向スキャンが使用されていると仮定する。
【0034】
スキャンされた係数は、その後、エントロピエンコーダ370を通される。この場合もやはり、各種のタイプのエントロピ符号化が用いられてもよい。2つの例は、いわゆるCABAC(Context Adaptive Binary Coding)システムの変形、及び、いわゆるCAVLC(Context Adaptive Variable-Length Coding)システムの変形である。一般的に、CABCは、より良い効率の提供が考慮されており、或る研究では、CAVLCと比べて同等の画像品質について、符号化出力データの品質において10−20%の減少がみられる。しかしながら、CAVLCは、(その実現において)CABACよりも大幅に低いレベルの複雑さを表すことが考慮されている。なお、スキャニング処理及びエントロピ符号化処理は、別々に処理されるとして示されているが、実際には、これらは全体として組み合わせるか、または、扱うことができる。つまり、エントロピ符号化におけるデータの読み出しは、スキャン順で行われ得る。対応する考え方は、以降で説明される各逆処理に適用される。なお、出願時点で検討中の現在のHEVC文書は、CAVLC係数エンコーダの可能性をもはや含んではいない。
【0035】
エントロピエンコーダ370の出力は、例えば、予測部320が予測画像を生成する方法を定義する加えられたデータ(上述及び/又は後述)と共に、圧縮出力ビデオ信号380を提供する。
【0036】
一方、予測部320自身の動作は圧縮出力データの解凍バージョンに依存するため、戻りパスも提供される。
【0037】
この特徴について説明する。解凍処理(後述)における適切なステージで残差データの解凍バージョンが生成される。この解凍残差データは、出力画像を生成するために、予測画像に加えられなくてはならない(なぜなら、元の残差データは、入力画像及び予測画像の差であったため)。圧縮側及び解凍側の間でこの処理が比較可能なように、予測部320によって生成された予測画像は、圧縮処理中及び解凍処理中において、同じであるべきである。もちろん、解凍では、装置は、元の入力画像へアクセスできず、解凍画像へのみアクセスできる。従って、圧縮では、予測部320は、圧縮画像の解凍バージョンに基づいてその予測を行う(少なくとも、インター画像符号化について)。
【0038】
エントロピ符号化部370により実行されるエントロピ符号化処理は、"無損失(lossless)"であると考えられ、つまり、エントロピ符号化部370に最初に供給された正確に同じデータに逆にして至ることができる。従って、戻りパスは、エントロピ符号化ステージよりも前に実行され得うる。実際には、スキャン部360によって実行されるスキャニング処理も無損失であると考えられるが、本実施形態では、戻りパス390は、量子化部350の出力から、優待逆量子化部420の入力までとされている。
【0039】
一般的には、エントロピ復号化部410、逆スキャン部400、逆量子化部420、逆変換部430は、それぞれ、エントロピ符号化部370、スキャン部360、量子化部350及び変換部340の逆機能を提供する。ここでは、圧縮処理について説明を続け、入力圧縮ビデオ信号を解凍するための処理については後に別で説明を行う。
【0040】
圧縮処理では、スキャン係数は、戻りパス390により量子化部350から、スキャン部360の逆動作を実行する逆量子化部420へと導かれる。逆量子化及び逆変換処理は、圧縮−解凍残差画像信号440を生成するユニット420、430により実行される。
【0041】
加算部450で画像信号440が予測部320の出力に加えられて、再構築出力画像460が生成される。これは、画像予測部320への1つの形成し、これについて以降で説明する。
【0042】
受信された圧縮ビデオ信号の解凍に適用される処理について説明すると、信号は、エントロピ復号化部410に供給され、加算部450により画像予測部320の出力に加えられる前に、そこから逆スキャン部400、逆量子化部420及び逆変換部430の列へと導かれる。単刀直入に言うと、加算部450の出力460は、出力解凍ビデオ信号480を形成する。実際には、信号の出力の前に、さらなるフィルタリングが適用されてもよい。
【0043】
従って、
図5及び
図6の装置は、圧縮装置又は解凍装置として動作することができる。この2種類の装置の機能は重複する部分が非常に多い。スキャン部360及びエントロピ符号化部370は、解凍モードでは使用されず、予測部320(詳細は後述)及び他のユニットの動作は、受信された圧縮ビットストリームに含まれるか、あるいは、関連づけられたモード及びパラメータ情報に従う(このような情報自体を生成するのではなく)。
【0044】
図6は、予測画像の生成を示す概略図であり、特に、画像予測部320の動作を示している。
【0045】
いわゆるイントラ画像予測、並びに、いわゆるインター画像予測若しくは動き補償(MC:Motion-Compensated)予測の2つの基本的な予測モードが存在する。
【0046】
イントラ画像予測は、同じ画像内からの、データ上の画像ブロックの内容の予測を基礎としている。これは、他のビデオ圧縮技術における、いわゆるI−フレーム符号化に対応する。画像全体がイントラ符号化されるI−フレーム符号化とは対照的に、本実施形態では、イントラ及びインター符号化間における選択がブロック毎を基準として行われ、一方で本発明の他の実施形態では、その選択が依然として画像毎を基準として行われる。
【0047】
動き補償予測は、インター画像予想の一例であり、他の隣接又は近接画像において、現在の画像における画像詳細のソースを定義することを試みる動き情報を使用する。従って、理想的な例では、予測画像における画像データのブロックの内容は、隣接画像における同じかわずかに異なる位置において対応するブロックを指し示すリファレンス(動きベクトル)として、非常に単純に符号化され得る。
【0048】
図6に戻り、
図6には2つの画像予測構成(イントラ及びインター画像予測に対応)が示されており、その結果が、モード信号510の制御下において、乗算部500によって選択されて、加算部310及び450に供給するための予測画像のブロックが提供される。この選択は、どちらを選択すれば最小の"エネルギー"となるかに基づいて行われ(上述のように、符号化を要求する情報内容が考慮されてもよい)、また、この選択は、符号化された出力データストリーム内でエンコーダに通知される。このコンテキストでは、例えば、入力画像から、予測画像の2つのバージョンの領域を試行減算し、差分画像の各ピクセル値を2乗し、乗算値を合計し、その画像領域に関連する差分画像における低い平均乗算値生じさせる、2つのバージョンのうちの一方を定義するによって、画像エネルギーを検出することができる。
【0049】
実際の予測は、イントラ予測システムにおいて、信号460の一部として受信された画像ブロックに基づいて行われ、つまり、予測は、正確に同じ予測が解凍装置において可能なように、符号化−復号化画像ブロックに基づいて行われる。しかしながら、データは、イントラ画像予測部530の動作を制御するイントラモード選択部520により、入力ビデオ信号300から抽出されてもよい。
【0050】
インター画像予測では、動き補償(MC)予測部540は、例えば、動き推定部550によって入力ビデオ信号300から抽出された動きベクトルなどの動き情報を使用する。これらの動きベクトルは、インター画像予測のブロックを生成する動き補償予測部540によって、再構築画像460の処理バージョンに適用される。
【0051】
信号460に適用される処理について説明する。まず、信号は、フィルタ部560によってフィルタリングされ、これについて、以降でさらに詳細に説明する。この処理では、変換ユニット340により実行されるブロック基準処理及び後続の動作に対する影響を除去するか、少なくとも低減させる"非ブロック化(deblocking)"フィルタが適用される。サンプル適応オフセット(SAO:Sample Adaptive Offsetting)フィルタ(後述)が用いられてもよい。また、再構築信号460及び入力ビデオ信号300を処理することによって抽出された係数を使用して、適応ループフィルタが適用される。この適応ループフィルタは、公知の技術を使用して、フィルタリングされるデータに対して適応フィルタ係数を適用するフィルタの一種である。つまり、フィルタ係数は、各種要素に基づいて変化し得る。使用されるフィルタ係数を定義するデータは、符号化された出力データストリームの一部としてストリームに含められる。
【0052】
適応フィルタリングは、画像復元のためのイン‐ループフィルタを示す。LCUは、LCU内の各CUについて抽出される、フィルタの選択及びALFのON/OFF状態と共に、最大で16のフィルタによってフィルタリングすることができる。現在、この制御は、CUレベルではなく、LCUレベルで行われる。
【0053】
フィルタ部560からのフィルタリングされた出力は、実際には、装置が圧縮装置として動作しているときに、出力ビデオ信号480を形成する。この信号は、1以上の画像又はフレーム記憶部570に記憶され、連続画像の記憶は、動き補償予測処理、特に、動きベクトルの生成において要求される。記憶の要求を軽減するため、画像記憶部570内の記憶画像は、圧縮形式とされ、その後、動きベクトルの生成に使用するために解凍されてもよい。この特定の目的のために、どのような公知の圧縮/解凍システムが用いられてもよい。記憶画像は、記憶画像のより高い解像度バージョンを生成する補間フィルタ580を通され、この例では、補間フィルタ580によって出力される補間画像の解像度が、4:2:0のルミナンスチャネルについて、画像記憶部570に記憶された画像の4倍(各面積)、かつ、4:2:0のクロミナンスチャネルについて、画像記憶部570に記憶された画像の8倍(各面積)となるように、中間サンプル(サブサンプル)が生成される。補間画像は、動き推定部550への入力、動き補間予測部540の入力として通される。
【0054】
本発明の一実施形態では、乗算部600を使用して、入力ビデオ信号のデータ値に4の要素を掛け合わせ(効率的には、単にデータ値を2ビット左にシフトさせる)、分割部又は右‐シフト部610を使用して、装置の出力で、対応する分割動作(2ビット右にシフト)を適用するため、更に
追加のステップが提供される。従って、左へのシフト及び右へのシフトは、装置の内部動作について、データを純粋に変更させる。この方法では、如何なるデータ丸め誤差の影響も低減されるため、装置内において高い計算精度を提供することができる。
【0055】
圧縮処理のために画像が分割される方法について説明する。基本的なレベルでは、圧縮される画像はサンプルブロックの配列であると考えらえる。便宜的に、検討されている最大のこのようなブロックは、典型的な64×64サンプルの正方形配列を表すいわゆる最大符号化ユニット(Largest Coding Unit)700である(LCUのサイズは、HEVC文書等によって定義された最大サイズまでエンコーダにより設定可能である)。ここで、ルミナンスサンプルについて説明する。4:4:4、4:2:2、4:2:0または4:4:4:4(GBR+キーデータ)などのクロミナンスモードに応じて、ルミナンスブロックに対応する、対応クロミナンスサンプルの数に違いがある。
【0056】
3つの基本的なブロックの種類は、符号化ユニット、予測ユニット及び変換ユニットである。一般的には、LCUの再帰的な分割では、例えば、ブロックサイズ及びブロック符号化パラメータ(予測又は残差符号化モードなど)が、符号化される画像の特定の特徴に応じて設定されるといった方法で、入力画像が分割される。
【0057】
LCUは、いわゆる符号化ユニット(CU)に分割されてもよい。符号化ユニットは、常に正方形であり、また、8×8サンプルとLCU700の最大サイズとの間のサイズを有している。符号化ユニットは、ツリー構造の一種として構成されていてもよく、例えば、第1の分割が
図8に示すように行われて、32×32サンプルの符号化ユニットが与えられる。続いて行われる分割は、16×16サンプルの符号化ユニット720(
図9)及び潜在的な8×8サンプルの符号化ユニット(
図10)が与えられるように、選択的な基準に基づいて行われてもよい。全体的に、この処理は、それぞれLCUと同じくらい大きいか、あるいは、8×8サンプルと同じくらい小さいCUブロックの容量適応符号化ツリー構造を提供することができる。出力ビデオデータの符号化は、符号化ユニット構造に基づいて行われ、つまり1つのLCUが符号化され、その後、処理が次のLCUに移る。
【0058】
図11は、予測ユニット(PU)の配列を示す概略図である。予測ユニットは、画像予測処理に関連する情報を搬送するための基本的なユニットであり、換言すると、
図5の装置からの出力ビデオ信号を形成するためのエントロピ符号化された残差画像に加えられる追加データである。一般的に、予測ユニットは、その形状が正方形には限られない。これらは、特に、1つの正方形符号化ユニットの半分を形成する長方形など、他の形状を採ることができる(例えば、8×8CUは、8×4又は4×8PUを持ち得る)。画像特徴に合わせられるPUの採用は、HEVCの必須の部分ではないが、その一般的な目的は、エンコーダが、隣接予測ユニットの境界に、ピクチャ内の実オブジェクトの境界に合わせられるようにし、異なる予測パラメータが異なる実オブジェクトに適用することができるようにするためである。各符号化ユニットは、1以上の予測ユニットを含んでいてもよい。
【0059】
図12は、変換ユニット(TU)の配列を示す概略図である。変換ユニットは、変換及び量子化処理における基本的なユニットである。変換ユニットは、正方形であっても正方形でなくてもよく、4×4から32×32までのサンプルサイズを採ることができる。各符号化ユニットは1以上の変換ユニットを含むことができる。
図12における頭字語SDIP−Pは、いわゆる短距離イントラ予測分割を示している。この配列では、1つの面積変換のみが使用されており、4×Nブロックに、入力データと共にN変換が行われ、現在のSDIP−P内の以前に復号化された隣接ブロック及び以前に符号化された隣接線に基づく変換が行われる。現在、SDIP−Pは,本願の出願時点でのHEVCには含まれていない。
【0060】
上述のように、符号化は、1つのLCUについて行われ、その後、次のLCU、・・のように行われる。LCU内では、符号化はCU毎に行われる。CU内では、符号化は、1つのTUに対して行われ、その後、次のTU、・・のように行われる。
【0061】
イントラ予測処理について説明する。一般的には、イントラ予測は、同じ画像内における以前の符号化及び復号化サンプルからの現在のサンプルのブロック(予測ユニット)における予測の生成を含む。
図13は、部分的に符号化された画像800を示す概略図である。ここで、画像は、LCU基準で、左上から右下へと符号化が行われている。画像全体として扱うことによって部分的に符号化されたLCUの一例がブロック810として示されている。上部の斜線領域820及びブロック810の左側は既に符号化されている。ブロック810の内容のイントラ画像予測は、斜線領域820のいずも利用することができるが、その下の斜線が付されていない領域を利用することができない。しかしながら、現在のLCU内における個々のTUについては、上述の符号化の階層順(CU毎、TU毎)は、例えば、そのTUの右上又は左下のTUの符号化に利用可能な、現在のLCUにおける以前に符号化されたサンプルが存在する可能性があることを意味している。
【0062】
ブロック810は、上述のように、イントラ画像予測処理を行うためのLCUを表しており、より小さな予測ユニット及び変換ユニットの組へと変換されてもよい。現在のTU830の一例がLCU810内に示されている。
【0063】
イントラ画像予測は、例えば、現在のTUの上及び/又は左に位置する、考慮される現在のTUよりも前に符号化されたサンプルが考慮される。要求されるサンプルが予測されるソースサンプルは、現在のTUに関連する異なる位置又は方向に位置していてもよい。現在の予測ユニットについてどの方法が適切であるかを決定するために、エンコーダのモード選択部520は、各候補方向について利用可能なTU構造の全ての組み合わせを試し、最良の圧縮効率を有するPU方向及びTU構造を選択してもよい。
【0064】
ピクチャは、"スライス"基準で符号化されてもよい。1つの例では、スライスは、LCUの水平隣接グループである。しかし、より一般的には、残差画像全体は、スライス、単LCUであり得るスライス、又はLCUの行であり得るスライス等を形成する。スライスは、独立ユニットとして、これらが符号化されたときの誤差に復元力を与えることができる。エンコーダ及びデコーダの状態は、スライス境界で完全にリセットされる。例えば、イントラ予測は、スライス境界をまたいで実行されず、スライス境界は、この目的のために画像境界として扱われる。
【0065】
図14は、可能な(候補)予測方向の組を示す概略図である。34の候補方向の一式は、8×8、16×16又は32×32の予測ユニットに利用可能である。予測ユニットサイズが、4×4及び64×64サンプルである特殊なケースでは、それらに利用可能な候補方向における、減らされた組が使用される(それぞれ、17候補方向及び5候補方向)。方向は、現在のブロック位置に関連する水平及び垂直移動により決定されるが、予測モードとして符号される。その組が
図15に示されている。なお、いわゆるDCモードは、上部及び左側のサンプルの周囲の単純算術平均を表す。
【0066】
図16は、スキャン部360により適用されるスキャンパターンの一例である、いわゆる右上り斜めスキャンを示す概略図である。
図16において、このパターンでは、8×8DCT係数のブロックの一例が、ブロックの左上の位置840に位置するDC係数と共に示されており、左上の位置840に対する下側及び右側の距離を増やす係数により表される水平及び垂直空間周波数が増加される。
【0067】
ブロック構成及びCU、PU、TU構造のバリエーションについて以降で説明する。これについては、上述の
図5及び
図6に示された装置と多くの点で類似する、
図17の装置の説明において説明する。実際に、多くの同じ参照番号が使用され、これらの部分については説明を省略する。
【0068】
図5及び
図6との主な実質的な違いは、フィルタ560(
図6)であり、図
17では、フィルタは、非ブロック化フィルタ1000及び関連する符号化決定ブロック1030、サンプル適応オフセット(SAO)フィルタ1010及び関連する係数生成部1040、並びに、適応ループフィルタ(ALF)1020及び関連する係数生成部1050を含むものとしてより詳細に示されている。
【0069】
非ブロック化フィルタ1000は、ブロック符号化技術が使用されるときに、CU、PU及びTU境界間を形成し得る鋭いエッジを平滑化することによって、歪みを低減し、表示品質及び予測性能を改善することを試みる。
【0070】
SAOフィルタ1010は、再構築ピクセルを、異なるカテゴリーに分類し、その後、ピクセルの各カテゴリーのためのオフセットを単純に加算することによって、歪みを低減させることを試みる。ピクセル明度及びエッジ特性がピクセル分類に使用される。符号化効率をさらに改善するために、ピクチャは、オフセットパラメータの局所化のための複数の領域に分割され得る。
【0071】
ALF1020は、再構築及びソースフレーム間の差が最小化されるように、圧縮ピクチャの復元を試みる。ALFの係数は、フレーム基準で算出及び送信される。ALFはフレーム全体又は局所的領域に対して適用され得る。
【0072】
上述のように、提案されているHEVC文書は、4:2:0方式として知られる特定のクロマサンプリング方式を使用している。4:2:0方式は、家庭/民生装置に使用し得る。しかしながら、いくつかの他の方式も使用可能である。
【0073】
特に、いわゆる4:4:4方式は、いくらかの忠実性の損失を伴う、専門の放送、マスタ及びデジタルシネマに使用することができる。
【0074】
これらの方式及び対応する可能なPU及びTUブロック構造について以降で説明する。
【0075】
さらに、他の方式は、4:0:0モノクローム方式を含む。
【0076】
4:4:4方式では、3つのY、Cb及びCrチャネルは、それぞれ同じサンプルレートを有している。従って、原則的には、この方式では、クロマデータの量がルマデータの量の2倍になる。
【0077】
従って、HEVCにおいて、この方式では、3つのY、Cb及びCrチャネルは、それぞれ、同じサイズのPU及びTUを有しており、この場合、例えば、8×8ルマブロックは、2つのクロマチャネルそれぞれに対する、対応する8×8クロマブロックを有している。
【0078】
結果として、この方式では、通常、各チャネルにおけるブロックサイズ間において、直接的な1:1の関係が存在する。
【0079】
4:2:2方式では、ルマサンプルレートの半分で、2つのクロマ要素がサンプリングされる(例えば、垂直又は水平サブサンプリングが使用されるが、便宜的に、水平サブサンプリングであると仮定する)。このため、原則的には、この方式では、クロマデータが2つのクロマチャネル間で分割されて、クロマデータの量及びルマデータの量が同じとなる。
【0080】
従って、HEVCにおいて、この方式では、Cb及びCrチャネルは、ルマチャネルに対して、異なるサイズのPU及びTUを有しており、この場合、例えば、8×8ルマブロックは、各クロマブロックに対して、対応する4(幅)×8(高さ)クロマブロックを持ち得る。
【0081】
従って、特に、この方式では、クロマブロックは、正方形ルマブロックに対応していたとしても、非正方形とされる。
【0082】
現在において提案されているHEVC4:2:0方式では、2つのクロマ要素が、ルマのサンプルレートの1/4でサンプリングされる(例えば、垂直及び水平サブサンプリングが使用される)。このため、原則的には、この方式では、クロマデータの量がルマデータの量の半分になる。
【0083】
従って、HEVCにおいて、この方式では、さらにCb及びCrチャネルは、ルマチャネルに対して、異なるサイズのPU及びTUを有している。この場合、例えば、8×8ルマブロックは、各クロマチャネルに対して、対応する4×4クロマブロックを有している。
【0084】
上述の方式は、その技術分野において、口語表現において'チャネル比''4:2:0チャネル比'などとして知られている。しかしながら、上述の説明から理解されるように、実際には、これは、Y、Cb及びCrが、上述の比で圧縮又は提供されるといったことを常に意味しているのではない。従って、チャネル比とは呼ばれてはいるものの、これは、文字通りの意味として捉えられるべきではない。実際に、4:2:0での正確な比は、4:1:1である(4:2:2方式及び4:4:4での比は、実際に正しい)。
【0085】
図18a及び
図18bを参照して特定の構成を説明する前に、一般的な技術についてまとめ、又は再考する。
【0086】
最大符号化ユニット(LCU)は、ルート(根)・ピクチャ・オブジェクトである。これは、典型的には、64×64ルマピクセルに等しいエリアを覆う。また、再帰的に分割されて、符号化ユニット(CU)のツリー階層構造を形成する。一般的には、3つのチャネル(1つのルマチャネル及び2つのクロマチャネル)は、同じCUツリー階層を持つ。とはいうものの、チャネル比に基づき、特定のルマCUは、対応するクロマCUとは異なる数のピクセルを含むことがある。
【0087】
ツリー階層の最後のCU、つまり、再帰的な分割処理の結果としての最小のCU(リーフ(葉)CUとも呼ばれる)は、その後、予測ユニット(PU)へと分割される。3つのチャネル(1つのルマチャネル及び2つのクロマチャネル)は、クロマチャネルについて、対応するPUのサンプルが少なすぎる場合(この場合には、このチャネルについて、1つのPUだけが利用可能)を除いて、同じPU構造を有している。一般的にイントラPUの最小の面積は4サンプルとされるが、インターPUの最小面積は4ルマサンプル(又は、4:2:0について2クロマサンプル)とすることができる。最小CUサイズにおける制限は、いずれのチャネルについての少なくとも1つのPUに対して常に十分に大きい。
【0088】
リーフ(葉)CUは、変換ユニット(TU)にも分割される。TUは、大きすぎる場合(例えば、32×32超のサンプル)さらなるTUに分割され得る(しなければならない)。現在、レベル2として設定されている最大のツリー深さとなるまでTUが分割され得るように、制限が適用される。つまり、各CUについて高々16個のTUが存在し得る。図示された最小の許容TUサイズは、4×4サンプルであり、また、最大の許容TUサイズは、32×32サンプルである。この場合もやはり、3つのチャネルは、可能な限り同じTU構造を有するが、仮に、サイズ制限のために、与えられたチャネルについて特定の深さにTUを分割することができない場合、TUは大きいサイズのままである。4つのTUへの分割方法は2×2とする必要はなく、4×1又は1×4とすることができるが、いわゆる非正方形四分木変換配列(NSQT:Non-Square Quad-tree Transform)は類似している。
【0089】
図18A及び
図18Bを参照して、ルマブロックを表す"Y"、クロマブロックの代表的な1つを一般的な意味で表す"C"、及びピクセルを表す数字と共に、可能な異なるブロックサイズが、CU、PU及びTUブロックについてまとめられている。'インター'は、インターフレーム予測PUを意味する(イントラフレーム予測PUの対義語)。多くの場合、ルマブロックについてのブロックサイズのみが示されている。関連するクロマブロックにおける対応するサイズは、チャネル比に応じてルマブロックサイズに関連づけられる。従って、4:4:4では、クロマチャネルは、
図18A及び
図18Bに示されたルマブロックと同じブロックサイズを有している。4:2:2及び4:2:0では、クロマブロックは、それぞれ、チャネル比に応じて、対応するルマブロックよりも少ないピクセルを有している。
【0090】
図18A及び
図18Bに示されている配列は、4つの可能なCUサイズ(64×64、32×32、16×16及び8×8ルマピクセル)に関係している。これらの各CUは、PUオプション(列1140で示される)及びTUオプション(列1150で示される)における対応する行を有している。上記のように定義された可能なCUサイズについて、オプションの行は、1100、1110、1129及び1130でそれぞれ示されている。
【0091】
なお、現在、64×64が最大CUサイズとされているが、この制限は変更することができる。各行1100・・1130内において、CUサイズに適用可能な異なるPUオプションが示されている。これらのPU設定に適用可能なTUオプションが、各PUオプションに水平に揃えられて示されている。
【0092】
なお、いくつかのケースでは、多くのPUオプションが提供される。上述のように、PU設定の選択における装置の目的は、異なる予測パラメータが異なる実オブジェクトに適用され得るようにするために、ピクチャ内の実オブジェクトの境界を一致させる(できるだけ近づける)ことにある。
【0093】
ブロックサイズ及び形状、並びにPUは、コントローラ343の制御下において、エンコーダ基準で決定される。現在の方法では、多くの方向に対して多くのTUツリー構造の試行が行われ、各レベルで最良の"コスト"が得られる。ここで、コストは、各ブロック構造による歪み、雑音、誤差、又はビットレートの尺度で表現されてもよい。従って、特定の要求される品質測定に対する最小のビットレート、要求されるビットレートに対する最小の歪み(誤差、雑音、これらの組み合わせ)、あるいは、これらの組み合わせを与える1つの試行を選択する前に、上述のツリー構造及び階層において、許される範囲で、エンコーダは、ブロックサイズ及び形状における2以上の(あるいは全ての利用可能な)変更を試してもよい。
【0094】
特定のPU設定が選択されると、各レベルの分割が適用されて、対応するTUが生成される。1100を参照して、64×64PUの場合、このブロックサイズは、TUとして使用されるには大きすぎるので、第1のレベルの分割("レベル0"(分割されていない)から"レベル1")が強制されて、4つの32×32ルマPUの配列となる。TUの変換及び量子化が実行される前に分割が実行されて、これのそれぞれが、必要に応じて、ツリー階層において分割される("レベル1"から"レベル2")。TUツリーのける最大数のレベルは、例えば、HEVC文書によって限定される。
【0095】
64×64ルマピクセルCUでは、他の選択肢がCUのサイズ及び形状に提供される。これらは、インター符号化ピクチャとの使用のみが制限され、いくつかのケースでは、いわゆるAMPオプション有効化との使用が制限される。AMPは、非対称動き分割であり、PUを非対称に分割する。
【0096】
同様に、いくつかのケースでは、選択肢がTUサイズ及び形状に提供される。仮に、NQST(非正方形四分木変換、典型的には、非正方形TUを許容している)が有効化される場合、レベル1及び/又はレベル2への分割が図示のように実行され、一方、NQSTが無効化される場合、TUサイズは、そのCUサイズについての各最大TUのパターンの分割に従う。
【0097】
同様の選択肢が他のCUサイズに提供される。
【0098】
図18A及び
図18Bに図示が確定的であるとして、
図18A及び
図18Bにおける図示に加えて、同じ情報の数字部分が下記の表に示されている。"n/a"は、許可されないモードを示す。水平ピクセルサイズが初めに列挙されている。3番目の数字が与えられている場合、ブロックサイズの例の数に関連しており、(水平)×(垂直)×(例の数)ブロックとなっている。Nは、整数である。
【0100】
各種4:2:0、4:2:2及び4:4:4ブロック構造
明らかなように、4:2:0及び4:4:4方式は、イントラ予測符号化について、正方形のPUブロックを有している。さらに、現在、4:2:0方式は、4×4ピクセルのPU及びTUブロックを許可している。
【0101】
従って、上述のように、4:4:4モードでは、ルマ及びクロマブロックは、同じサイズとされ(クロマデータはサブサンプリングされない)、そして、4×4CUに対して、PU又は
TUは、予め許容された最小の4×4ピクセルよりも少なくする必要はないので、本発明に係る一実施形態では、4:4:4方式で、CUブロックに対する再帰が、8×8ピクセルではなく、4×4ピクセルまで許容されることが提案される。
【0102】
同様に、4:4:4方式では、本発明の一実施形態において、各Y、Cr、Cbチャネル、又は、Y及び2つのCr、Cbチャネルは、各CUツリー階層構造を有し得る。フラグは、階層構造又は階層構造の方式が使用される信号が使用されてもよい。このアプローチは、4:4:4RGB色空間方式においても使用され得る。しかしながら、代わりに、クロマ及びルマのためのツリー階層が独立であってもよい。
【0103】
4:2:0方式における8×8CUに係る一例では、結果的に4つの4×4ルマPU及び1つの4×4クロマPUとなる。従って、2倍のクロマデータを持つ4:2:2方式では、このケースでの1つの選択肢は、2つの4×4クロマPUを持つことであり、ここで、例えば、底のクロマブロックは底の左のルマブロックの位置に対応する。しかしながら、このケースにおける1つの非正方形4×8クロマPUの使用は、他の4:2:2PUよりもより相応しい。
【0104】
4:2:0方式では、原則的に、イントラ予測符号化ではなく、インター予測符号化の特定のクラスに対して許容された幾つかの非正方形TUが存在する。しかしながら、インター予測符号化では、非正方形四分木変換(NSQT)が無効化される場合(これは、4:2:0方式に対する現在のデフォルトである)、全てのTUが正方形となる。従って、実際には、4:2:0方式では、現在、正方形TUが強制されている。例えば、16×16、4:2:0ルマTUは、各Cb及びCrの8×8、4:2:0クロマTUに対応している。
【0105】
しかしながら、上述のように、4:2:2方式は、非正方形PUを有し得る。従って、本発明の一実施形態では、4:2:2方式に対して、非正方形を許可することが提案される。
【0106】
例えば、16×16、4:2:2ルマTUは、2つの各Cb及びCr 8×8、4:2:2クロマTUに対応していてもよく、この実施形態では、代わりに、各Cb及びCr 8×16、4:2:2クロマTUに対応していてもよい。
【0107】
非正方形TUとすること、つまり、TUを少なくすることは、これらに含まれる情報が少なくなる可能性があるので、より効率的である。しかしながら、これは、後述するように、このようなTUの変換及びスキャニング処理に影響を及ぼしてしまう可能性がある。
【0108】
4:4:4方式では、本発明の一実施形態において、クロマブロックよりもさらに分割される場合、ルマブロックが(例えば)4×4ブロックにまで分割されることを防止することができる。
【0109】
最後に、4:4:4方式では、TU構造チャネル独立性を有し、シーケンス、ピクチャ、スライス、細かなレベルで選択可能とすることが望ましい。
【0110】
上述のように、NSQTは、現在、HEVCの4:2:0方式において無効とされている。しかしながら、仮に、インターピクチャ予測について、NSQTが有効化され、かつ、非対称動き分割(AMP)が許可されれば、PUが非対称に分割されることが許可され、従って、例えば、16×16CUは、4×16PU及び12×16PUを有し得る。これらの状況下では、4:2:0及び4:2:2方式のそれぞれについて、ブロック構造のさらなる検討が重要になる。
【0111】
4:2:0方式では、NSQTにおいて、TUの最小幅/高さは、4ルマ/クロマサンプルに制限されている。
【0112】
従って、非限定例では、16×4/16×12ルマPU構造は、ルマTUが1×4垂直ブロック方式にあり、クロマTUが2×2ブロック方式にある、4つの16×4ルマTU及び4つの4×4クロマTUを有している。
【0113】
分割が水平ではなく、垂直である同様の方式では、4×16/12×16ルマPU構造は、ルマTUが4×1水平ブロック方式にあり、クロマTUが2×2ブロック方式にある、4つの4×16ルマTU及び4つの4×4クロマTUを有している。
【0114】
4:2:2方式について、NSQTにおいて非限定例では、4×16/12×16ルマPU構造は、ルマTUが4×1水平ブロック方式にあり、クロマTUが2×2ブロック方式にある、4つの4×16ルマTU及び4つの4×8クロマTUを有している。
【0115】
しかしながら、異なる構造がいくつかのケースで考慮され得る。従って、本発明の一実施形態では、NSQTでの非限定例において、16×4/16×12ルマPU構造は、(ルマ及びクロマTUは1×4垂直ブロック方式にあるが、)PUレイアウトに合わせられた4つの16×4ルマTU及び4つの×4クロマTUを有している(2×2ブロック方式における4つの4×8クロマTUの4:2:0方式とは対照的に)。
【0116】
ルマ及びクロマTUは、2×2ブロック配列であるが、同様に、32×8PUは、4つの16×4ルマTU及び4つの8×4クロマTUを有し得る。
【0117】
従って、より一般的には、4:2:2方式では、NSQTにおいて、TUブロックサイズは、非対称PUブロックレイアウトに合わせて選択される。従って、NSQTは、通常、TUの境界をPUの境界に合わせることを許可しており、これにより、発生する高周波数アーティファクトが低減される。
【0118】
一般的には、本発明の実施形態は、4:2:2フォーマットビデオ信号の画像に対して動作可能な、ビデオ符号化方法、装置又はプログラムに関連する。符号化される画像は、符号化のために、符号化ユニット、予測ユニット、変換ユニットに分割され、符号化ユニットは、ルミナンスサンプル及び対応するクロミナンスサンプルの正方形配列であり、符号化ユニット内には2以上の予測ユニットが存在し、また、符号化ユニット内には1以上の変換ユニットが存在し、予測ユニットは、予測の基本的なユニットであり、単予測ユニット内のすべてのサンプルは、共通の予測技術を使用して予測され、変換ユニットは変換及び量子化の基本的なユニットである。
【0119】
非正方形変換モード(NSQTモード等)が有効化されて、非正方形予測ユニットが許可される。選択的に、非対称動き分割が有効化されて、単符号化ユニットに対応する2以上の予測ユニット間で非対称性が許可される。
【0120】
コントローラ343は、例えば、PUに対応する画像の一部における画像特徴を検出し、そのPUに対するTUブロックサイズを選択して、TU境界を、画像の一部における画像特徴のエッジに合わせることによって、予測ユニットのブロックレイアウトに合わせる変換ユニットブロックサイズの選択を制御する。
【0121】
上述のこの規則は、ブロックサイズの組合せが利用可能であることを規定している。エンコーダは、単に異なる組み合わせを試してもよい。上述のように、試行は、全ての利用可能な選択肢の内の2以上を含んでいてもよい。試行符号化処理は、コスト機能の評価に応じて選択されたコスト機能測定及び結果に応じて実行されてもよい。
【0122】
3つのレベルのバリエーションが存在する場合、CUサイズ及び形状、PUサイズ及び形状、並びに、TUサイズ及び形状について、試行符号化される多くの変形を導くことができる。このバリエーションを減らすため、システムは、各CUサイズについて許容可能な、任意に選択された1つのPU/TU設定を使用することによって、CUに対して試行符号化を行うことができ、そして、CUサイズが選択され、PUサイズ及び形状が、設定毎に異なるPUオプションを試行符号化することによって選択され得る。そして、CU及びPUが選択され、システムは、全ての適用可能なTU設定を試して最終的なTU設定を選択することができる。
【0123】
他の可能性として、いくつかのエンコーダが、ブロック設定の一定の選択を使用してもよく、上述の組み合わせの限定的なサブセットを許容してもよい。
【0124】
イントラ予測
4:2:0イントラ予測
図22を参照して、イントラ予測では、HEVCは、角度クロマ予測を認めている。導入のため、
図22は、ルマブロックに適用可能な35予測モードを示しており、この35予測モードのうちの33は、現在の予測サンプル位置100のためのサンプルの参照のために方向を特定する。
【0125】
HEVCは、クロマがDC、垂直、水平、平面、DM_クロマ及びLM_クロマモードを持つことを認めいている。
【0126】
DM_クロマは、使用される予測モードが共同位置ルマPUと同じであることを意味している(
図22に示されている35のうちの1つ)。
【0127】
LM_クロマ(線形モードクロマ)は、共同位置ルマサンプル(必要に応じてチャネル比をダウンサンプリング)が予測クロマサンプルを抽出するために使用されることを意味する。このケースでは、仮に、DM_クロマ予測モードに、選択されたDC、垂直、水平、平面が採用される場合、クロマ予測リストにおけるエントリは、モード34を使用して置き換えられる。LM_クロマモードでは、クロマピクセルが予測されるルマピクセルが、ルマ及びクロマ間の線形関係に応じて、スケーリングされる(適切な場合にはオフセットが適用)。この線形関係は、ピクセルの周囲から抽出され、抽出は、次に移る前に、1つのブロックの符号化を終えたデコーダで、ブロック毎を基準として実行され得る。
【0128】
特に、予測モード2−34は、45°〜225°の角度範囲、つまり、正方形の半分の対角線をサンプリングする。上述のように、イントラピクチャ予測について正方形クロマPUのみが使用されるため、これは、4:2:0方式の場合に有用である。
【0129】
各種4:2:2イントラ予測
一方、上述のように、4:2:2方式は、ルマPUが正方形である場合でも、長方形(非正方形)クロマPUを持ち得る。あるいは、この逆もまた真となっており、長方形ルマPUは、正方形クロマPUに対応し得る。この相違の理由は、4:2:2では、クロマは、垂直方向ではなく、水平方向(ルマに関連)にサブサンプリングされるためである。従って、ルマブロック及び対応するクロマブロックのアスペクト比は、異なると予想される。従って、4:2:2フォーマットは、クロミナンスサンプルがルミナンスサンプルよりも低い水平及び/又は垂直サンプリングレートを持つビデオフォーマットの一例(4:2:0等の他の例もある)を表しており、クロミナンス水平解像度に対するルミナンス水平解像度の比が、クロミナンス垂直解像度に対するルミナンス垂直解像度の比とは異なり、ルミナンスサンプルのブロックが、クロミナンスサンプルの対応するブロックとは異なるアスペクト比を持つことになる。
【0130】
従って、本発明の一実施形態では、対応するルマブロックとは異なるアスペクト比を持つクロマPUについて、方向のためにマッピングテーブルが要求される。長方形PUについてアスペクト比が1対2である場合、例えば、モード18(現在135°の角度である)は、123°に再マッピングされる。代わりに、現在のモード18の選択が、現在のモード22の選択に再マッピングされてもよく、同様の効果がある。
【0131】
従って、より一般的には、非正方形PUについて、参照サンプルの方向及び選択されたイントラ予測モードの間の異なるマッピングは、正方形PUと比較して提供される。
【0132】
より一般的には、非方向モードを含む如何なるモードも、経験的証拠に基づいて再マッピングされ得る。
【0133】
このようなマッピングは、多対1の関係となり得、4:2:2クロマPUの全てのモードについて説明を行うと、説明が冗長となってしまう。従って、このケースでは、例えば、17モード(角分解能の半分に対応)のみについて説明する。これに代えて、あるいは、これに加えて、不均一な方法において、これらのモードは、角度的に分散されていてもよい。
【0134】
同様に、サンプル位置でピクセルを予測するときに参照サンプルで使用される平滑化フィルタは、4:2:0方式において、クロマではなく、ルマピクセルの平滑化のみに使用される等、別々で使用されてもよい。一方、4:2:2及び4:4:4方式では、このフィルタは、クロマPUについて使用されてもよい。4:2:2方式では、やはり、PUの異なるアスペクト比に応じてフィルタが修正されてもよく、例えば、近接水平モードにおけるサブセットに対してのみ使用されてもよい。モードのサブセットの一例は、好ましくは、2−18及び34であり、より好ましくは7−14である。4:2:2では、参照サンプルの左列のみの平滑化が本発明の一実施形態において実行される。
【0135】
一般的には、説明される実施形態では、予測される現在サンプルの組に対応する第1のアスペクト比の第1のグリッドとの関係で第1の予測方向が定義され、予測マッピングが予測方向に適用されて、異なるアスペクト比の第2のグリッドとの関係で定義される第1の予測方向が生成される。第1の予測方向は、現在のルミナンスサンプルを含むルミナンスサンプルの正方形ブロックに応じて定義されてもよく、第2の予測方向は、現在のクロミナンスサンプルを含むクロミナンスサンプルの長方形ブロックに応じて定義されてもよい。これらの構成についての詳細は後述する。
【0136】
各種4:4:4:イントラ予測
4:4:4方式では、クロマ及びルマPUは、同じサイズであり、従って、クロマPUに対するイントラ予測モードは、共同位置ルマPUと同じであってもよいし(分離モードを符号化しないことによって、ビッドストリームにおけるオーバーヘッドを削減するため)、より好ましくは、独自に選択されてもよい。
【0137】
後者の場合、本発明の一実施形態では、1つが、CUにおけるPUに対して、1、2又は3の異なる予測モードを有している。
【0138】
第1の例では、Y、Cb及びCr PUは、全て同じイントラ予測モードを使用する。
【0139】
第2の例では、Y PUは、1つのイントラ予測モードを使用し、かつ、Cb及びCr PUは、独自に選択された他の1つのイントラ予測モードを使用する。
【0140】
第3の例では、Y、Cb及びCr PUは、それぞれ独自に選択されたイントラ予測モードをそれぞれ使用する。
【0141】
なお、クロマチャネル(又は各クロマチャネル)に対して独自な予測モードを持つことで、色予測精度が改善される。しかし、これは、符号化データの一部として独自な予測モードを通信するための追加的なデータオーバーヘッドの費用となる。
【0142】
これを軽減するため、モードの数の選択が高レベルシンタックスにおいて示されてもよい(例えば、シーケンス、ピクチャ、スライスレベルで)。代わりに、独自なモードの数がビデオフォーマットから抽出されてもよく、例えば、CBRは、3まで持つことができ、一方、YCbCrは、2までに制限される。
【0143】
モードの独自の選択に加えて、利用可能なモードが、4:4:4方式において4:2:0方式とは異なることが許可されてもよい。
【0144】
例えば、ルマ及びクロマPUは、同じサイズであるため、クロマPUは、全ての35+LM_クロマ+DM_クロマ方向へのアクセスで有効である。従って、それぞれ独自の予測モードを持つY、Cb及びCrの場合、Cbチャネルは、DM_クロマ及びLM_クロマにアクセス可能であり、一方、Crチャネルは、DM_クロマY、DM_クロマ_Cb、LM_クロマ_Y及びLM_クロマ_Cbにアクセス可能である。これらは、ルマチャネルへの参照を、Y又はCbクロマチャネルへの参照へと換える。
【0145】
最確モードのリストを抽出し、そのリストのインデックスを送信することによって、ルマ予測モードは信号化され、クロマ予測モードが独自である場合、各チャネルに対して最確モードの独自リストを抽出する必要がある。
【0146】
最後に、上述の4:2:2のケースに関する同様の方法では、4:4:4方式において、サンプル位置でピクセルを予測するときに参照サンプルに使用される平滑化フィルタは、ルマPUと同様の方法でクロマPUに対して使用されてもよい。現在、イントラ予測の前に、[1、2、1]ローパスフィルタが参照サンプルに適用され得る。
【0147】
クロマTUに適用可能な1つのイントラ予測は、共同位置ルマサンプルでの予測サンプルに基づく。このような構成が
図19において概略的に示されており、Cb、Cr及びYチャネルにおける小さな正方形によって表されるTU1200の配列(ソース画像の領域から)が、Cb及びYチャネル、並びに、Cr及びYチャネルにおいて画像特徴間で空間に揃えられて示されている(暗及び明で網掛けされたボックス1200で概略的に示される)。この例では、共同位置ルマサンプルでの予測サンプルに基づくことをクロマTUに強制させることが有用である。実際には、特定の特徴が1または2のチャネルでのみ現れ、一般的に、3つのチャネルの画像内容は異なる。
【0148】
本発明の実施形態では、CrTUでは、LM_クロマは、Cbチャネルからの共同位置サンプルに選択的に基づき得る(あるいは、他の実施形態では、依存が逆になり得る)。このような構成が
図20において概略的に示されている。ここで、空間的に揃えられたTUが、Cr、Cb及びYチャネル間で示されている。"ソース"とラベル付けされたさらなるTUの組は、全体として見られるカラーピクチャの略図である。ソース画像内に表れている画像特徴(左上三角形及び右下三角形)は、実際には、ルミナンスにおける変化を表しているのではなく、2つの三角形領域間でのクロミナンスの変化のみを表している。この場合、CrについてLM_クロマがルミナンスサンプルに基づくと、予測が低精度になってしまうが、Cbサンプルに基づけば優れた予測が得られる。
【0149】
どのLM_クロマモードが使用されるかの決定は、異なる選択肢(LM_クロマを、共同位置ルマ又は共同位置クロマサンプルに基づかせる選択肢を含む)の試行符号化に基づいて、コントローラ343及び/又はモードコントローラ520によって実行され、上述と同様に、どのモードを選択するかの決定が、異なる試行符号化に応じてコスト機能を評価することによって実行される。コスト機能の例は、雑音、歪み、誤差レート及びビットレートである。試行符号化に従うモードの中から、最も低い1以上のコスト機能を与えるモードが選択される。
【0150】
図21は、本発明の一実施形態に係る、イントラ予測について参照サンプルを得ることに使用される方法を示す概略図である。
図21を参照して、符号化はスキャニングパターンに応じて実行され、一般的には、符号化される現在のブロックの上及び左のブロックの符号化バージョンが、符号処理に適用可能である。左下又は右上のサンプルが、LCU内の既に符号化された他のTUの一部として既に符号化されている場合、しばしば、これらのサンブルが使用される。例えば、上述のように
図13が参照される。
【0151】
網掛け領域1210は、現在のTU、つまり、現在符号化されているTUを表している。
【0152】
4:2:0及び4:2:2方式では、現在のTUのすぐ左に位置するピクセルの列は、水平サブサンプリングであるので、共同位置ルミナンス及びクロミナンスサンプルを含まない。換言すると、これは、4:2:0及び4:2:2フォーマットは、ルミナンスピクセルの半分のクロミナンスピクセルを有しており、全てのルミナンスサンプル位置が挙動位置クロミナンスサンプルを有しているのではないためである。従って、ルミナンスサンサンプルが、TUのすぐ左のピクセルの列に存在していることがあるが、クロミナンスサンプルは存在しない。従って、本発明の一実施形態では、現在のTUの左の2つのサンプルが位置する列が、LM_クロマに対して参照サンプルを提供することに使用される。なお、現在のTUのすぐ左の列が確実に共同位置ルマ及びクロマサンプルを含むという点で、4:4:4では状況が異なる。この列は、それ故、参照サンプルの提供に使用され得る。
【0153】
参照サンプルは、以下のように使用される。
LM_クロマモードでは、予測クロマサンプルが、線形関係に応じて、再構築ルマサンプルから抽出される。従って、一般的には、TU内の予測クロミナンス値は、以下の式によって与えられる。
P
C=a+bP
L
ここで、P
Cは、クロミナンスサンプル値であり、P
Lは、そのサンプル位置での再構築ルミナンスサンプル値であり、a及びbは、定数である。この定数は、既に符号化されたサンプル位置にある(上側参照)、そのブロックのすぐ上の行及びそのブロックのすぐ左の列における再構築ルマサンプル及びクロマサンプルの間の関係を検出することによって、特定のブロックについて抽出される。
【0154】
本発明の実施形態では、定数a及びbが以下のように抽出される。
a=R(P
L',P
C')/R(P
L',P
L')
ここで、Rは、線形(少なくとも正方形)回帰関数を表しており、P
L'及びP
C'は、それぞれ、上述の隣接行及び列からのルミナンス及びクロミナンスサンプルである。
b=mean(P
C')−a mean(P
L')
4:4:4では、P
L'及びP
C'値は、現在のTUのすぐ左の列及現在のTUのすぐ上の行から得られる。4:2:2では、P
L'及びP
C'値は、現在のTUのすぐ上の行、及び現在のTUの左のエッジから離れた2つのサンプル位置の隣接ブロックの列から得られる。4:2:0(垂直方向及び水平方向にサブサンプリングされる)では、P
L'及びP
C'値は、理想的には、現在のTUの上の2つの行における行から得られるが、実際には、現在のTUの上の1つのサンプル位置の隣接ブロックにおける行、及び現在のTUの左のエッジから離れた2つのサンプル位置の隣接ブロックにおける列から得られる。これは、メモリ内において、データにおける追加的な行全体が維持されてしまうことを防止するためである。このため、4:2:0及び4:2:2は、同様の方法で扱われる。
【0155】
従って、これらの技術は、画像の領域を表すクロミナンスサンプルの現在のブロックが、
画像の同じ領域を表すルミナンスサンプル(再構築ルミナンスサンプル等)の共同位置ブロックに対するクロミナンスサンプルの関係を抽出することによって符号化されるクロミナンス予測モードを有するビデオ符号化方法に適用する。この関係(線形関係等)は、既に符号化された隣接ブロックからの共同位置ルミナンス及びクロミナンスサンプルを比較することによって抽出される。クロミナンスサンプルは、その関係に応じてルミナンスサンプルから抽出され、また、予測クロミナンスサンプル及び実クロミナンスサンプルの差が残差データとして符号化される。
【0156】
クロミナンスサンプルが、ルミナンスサンプルと同じサンプリングレートを持つ第1のサンプリング解像度(4:4:4等)では、共同位置サンプルは、現在のブロックに隣接するサンプル位置にあるサンプルである。
【0157】
クロミナンスサンプルが、ルミナンスサンプルよりも低いサンプリングレートを持つ第2のサンプリング解像度(4:2:2又は4:2:0等)では、既に符号化された隣接ブロックから最も近い、共同位置ルミナンス及びクロミナンスサンプルの列又は行が、共同位置サンプルの提供に使用される。あるいは、第2のサンプリング解像度が、4:2:0サンプリング解像度である場合、対応して位置されるサンプルは、現在のブロックに隣接するサンプルの行であり、また、既に符号化された隣接ブロックから最も近い、対応して位置されるルミナンス及びクロミナンスサンプルの列又は行である。
【0158】
図22は、ルマサンプルに対して適用可能な予測角を示す概略図である。予測される現在のピクセルが、ピクセル1220として図の中央に示されている。小さなドット1230は、隣接ピクセルを表している。現在のピクセルの上又は左側に位置するこれらは、既に符号化されているので、予測を生成するための参照サンプルとして利用可能である。他のピクセルは、現在分かっておらず(ピクセル1220を予測する時点で)、やがてそれら自身で予測される。
【0159】
各番号付けされた予測方向は、現在の予測ピクセルを生成するために使用される現在のブロックにおける上又は左のエッジ上の候補参照サンプルのグループ内からの参照サンプル1230を示している。小さなブロックの場合、予測方向は、参照サンプル間の位置を示し、隣接参照サンプル間の線形補間(現在の予測モードによって示された方向によって指摘されたサンプル位置の両側)が使用される。
【0160】
クロマサンプルに対するイントラ角予測の説明に移り、4:2:0では、クロマサンプルが相対的に少ないので、予測方向が少なくて済む。一方、DM_クロマモードが選択された場合、現在のクロマブロックが、共同位置ルマブロックと同じ予測方向を使用する。これは、イントラ予測でのルマ方向がクロマにも同様に適用可能であることを意味している。
【0161】
しかしながら、4:2:2におけるクロマサンプルでは、クロマブロックがルマブロックとは異なるアスペクト比を有している場合、DM_クロマが選択されたとき、ルマと同じ予測アルゴリズム及び方向が使用されることが直感に反して考慮され得る。例えば、サンプルの正方形ルマ配列に対する45°の線は、長方形サイズのサンプルの配列であっても、クロサンプルに対して依然として45°の線をマッピングする。正方形グリッドを長方形グリッド上に重ね合わせることは、45°の線が実際には26.6°の線をマッピングすることを意味する。
【0162】
図23は、予測される現在のピクセル1220について、4:2:2におけるクロマピクセルに適用されるイントラ予測方向を示す概略図である。なお、4:2:2は、ルマチャネルと比べて、クロマチャネルにおいて半分の水平サンプルレートを有しているため、
水平方向に、垂直方向の半分のピクセルが存在する。
【0163】
図24は、4:2:2クロマピクセルの、正方形グリッドへの変換又はマッピング、並びに、その後にどのようにして変換が予測方向を変化させるかを示す模式図である。
【0164】
ルマ予測方向が破線1240として示されている。クロマピクセル1250は、対応するルマ配列(
図22等参照)の半分の幅の長方形配列1260を与える正方形グリッドに再マッピングされる。
図23に示される予測方向は、長方形配列に再マッピングされている。方向における一部では(ルマ方向及びクロマ方向となる組)、重複か、又は近い関係がある。例えば、ルマ配列における方向2は、実質的に、クロマ配列における方向6に重なる。しかしながら、それの略半分のルマ方向対応するクロマ方向を有してない。一例は、ルマ方向3番である。また、いくつかのクロマ方向(2−5)は、ルマ配列に等しくなく、また、いくつかのルマ方向(31−34)は、クロマ配列と等しくない。しかし、一般的に、
図24に示す重ね合わせは、ルマ及びクロマチャネルに対して同じ角度を使用することが不適切であることを明示している。
【0165】
図33は、予測方向を定義する"角ステップ"を修正するための構成(コントローラ343の機能の一部として実現されてもよい)を示す模式図である。
図33では、ルックアップデーブルなどのサポートデータを利用することによって、角ステップが、入力角ステップによってインデックスされた修正部1500へ供給される。入力角ステップの出力角ステップへのマッピング、又は、所定の修正アルゴリズム若しくは関数を定義するデータは、入力角ステップによって定義された方向を、出力角ステップによって定義された方向にマッピングする。
【0166】
一方、
図33の詳細な動作の説明の前に、予測角の抽出におけるさらなる背景、特に、 "角ステップ"について説明する。
【0167】
上述のように、イントラ予測動作では、現在のブロック内のサンプルは、1以上の参照サンプルから予測される。これらは、現在のブロック1560の上の行及び現在のブロックの左の列を形成する候補参照サンプルのグループから選択される。
図33は、候補参照サンプルのこのような行1520及び列1530を示す概略図である。
【0168】
候補参照サンプル内では、特定の予測動作に使用される実サンプルが予測方向によって示される。これが"角ステップ"で表現される。略垂直な予測方向(このコンテキストにおける方向は、行1520における参照サンプルに対処するもの)では、角ステップは、予測される現在のサンプルの位置1550が垂直に上に移されたサンプル位置1540の左又は右へのオフセットである。略水平な予測方向(このコンテキストにおける方向は、列1530における参照サンプルに対処するもの)では、角ステップは、現在のサンプルの位置1550が水平に左に移されたサンプル位置1570の上又は下へのオフセットである。
【0169】
それ故、角ステップは、ゼロである場合があり(純粋に水平又は純粋に垂直な予測方向である場合)、いずれかの方向(上、下、左、右)への移動を表す場合がある。
【0170】
実際には、本発明の実施形態内における計算のため、列1530及び行1520は、候補参照サンプルの組を提供し、列1530の下側から開始して行1520の右端へと進める単規則線形配列であると考えられてもよい。本発明の一実施形態では、線形配列は、(予測部530の一部を形成するフィルタによって、)フィルタリングされて、線形配列に沿って平滑化又はローパスフィルタリング動作が適用される。適切な平滑化フィルタの一例は、正規化1−2−1フィルタであり、つまり、フィルタは、特定のサンプル(参照サンプルとしての機能を果たす目的のみ)を、サンプルの1/4の合計によって左(線形配列内)に移動させ、そのサンプルの1/2及びサンプルの1/4により右(線形配列内)に移動させる。平滑化フィルタは、全ての配列又は配列のサブセットに適用可能である(行または列に起因するサンプル等)。
【0171】
(a)DM_クロマが選択され、(b)現在使用中のDM_クロマモードが、クロマ予測方向が共同位置ルマブロックの方向であることを示している場合、角ステップ値を修正する修正部1500によって次の処理が適用される。なお、処理は、角ステップの逆である。この値は、予測を生成するために実行される計算の便利な特徴として使用され得るが、これは、本発明の説明にとって重要な角ステップのバリエーションである。
【0172】
(i)ルマ方向に応じて、イントラ予測角ステップ(及び選択的に、その逆)を抽出する。
(ii)ルマ方向が略垂直である場合(つまり、例えば、18〜34番のモード全体)、イントラ予測角ステップは、半分にされる(その逆は2倍)。
(iii)あるいは、ルマ方向が略水平である場合(つまり、例えば、2〜17番のモード全体)、イントラ予測角ステップは、2倍にされる(その逆は半分)。
【0173】
これらの計算は、サンプル位置のルマグリッドに関して抽出された予測を、4:2:2又はサンプル位置のサブサンプリングされたクロマグリッドに適用可能な方向にマッピングするために、角ステップを修正する所定のアルゴリズムを有する修正部1500による応用の一例である。入力角ステップを出力角ステップにマッピングするルックアップテーブルを代わりに参照する修正部1500によって、同様の結果が得られる。
【0174】
従って、これらの実施形態では、予測方向が、予測される現在のサンプルの組の上又は左に配置された水平行及び垂直列をそれぞれ含む候補参照サンプルのグループに関連するサンプル位置を定義する。予測部530は、上述のように、参照サンプルの線形配列として候補参照サンプルのグループを整理し、線形配列に沿う方向で線形配列参照サンプルに平滑化フィルタを適用するフィルタリング処理を実行する。
【0175】
マッピングを実行する処理は、角ステップに応じて実行することができ、例えば、現在のサンプルに対する予測方向は、角ステップに関連して定義され、略垂直な予測方向に対する角ステップは、現在のサンプルから垂直に移動されたその行内のサンプル位置に関連する、候補参照サンプルのグループのサンプル位置の水平行に沿うオフセットであり、略水平な予測方向に対する角ステップは、現在のサンプルから水平に移動されたその列内のサンプル位置に関連する、候補参照サンプルのグループのサンプル位置の垂直列に沿うオフセットであり、また、オフセットにより示される水平行又は垂直列に沿うサンプル位置は、現在のサンプルの予測に使用されるサンプル位置の指示を提供する。
【0176】
いくつかの実施形態では、方向マッピングを適用するステップにおいて、第1の予測方向に対応する角ステップに所定の関数を適用してもよい。このような関数の一例は、上記した通りである。
【0177】
すなわち、第1の予測方向に応じて、角ステップを抽出し、
(i)第1の予測方向が略垂直である場合、各角ステップを半分にして、第2の予測方向の角ステップを生成し、
(ii)第1の予測方向が略水平である場合、各角ステップを2倍にして、第2の予測方向の角ステップを生成する。
【0178】
本発明の一実施形態では、角ステップ(修正ステップで抽出等)が整数ではない場合、現在のサンプルの予測を提供するために、角ステップは、補間のための候補参照サンプル(例えば、その方向によって指示される位置の両側に位置する2つのサンプル)のグループにおける2以上のサンプル位置のグループを定義することに使用される。
【0179】
本発明の他の実施形態では、方向マッピングを適用するステップにおいて、第1の予測方向を使用して、第2の予測方向の対応値を提供するルックアップテーブルを示す。
【0180】
本発明の実施形態によれば、第1の予測方向を検出するステップにおいて、符号化動作の場合、2以上の候補予測方向の試行に応じて、予測方向を選択し、又は、復号化動作の場合、復号化されるビデオデータに関連する予測方向を定義する情報を検出する。これは、符号化及び復号化システムの実施形態を区別する一般的なポイントであり、デコーダでは、特定のパラメータが、符号化データ又はこれに関連するものに提供され、エンコーダでは、このようなパラメータが、符号化されたデータをデコーダに伝えるために生成される。
【0181】
本発明の実施形態では、第1の予測方向が、サンプルの組のルミナンスサンプルの予測のために使用され、適用ステップにより第1の予測方向から抽出された第2の予測方向が、サンプルの組のクロミナンスサンプルの予測のために使用される。
【0182】
本発明の一実施形態は、予測されるサンプルに関連する予測モードに応じて、ルミナンス並びに第1及び第2のクロミナンス要素サンプルが予測されるビデオ符号化又は復号化方法であって、第1のクロミナンス要素のサンプルから第2のクロミナンス要素のサンプルを予測するビデオ符号化又は復号化方法を提供する。
【0183】
本発明の一実施形態は、サンプルの組が、予測されるサンプルに関連する予測方向に応じて、他の各参照サンプルから予測され、予測方向が、サンプル位置を定義し、予測される現在のサンプルの組に関連して配置された候補参照サンプルのグループに関連するビデオ符号化又は復号化方法であって、
参照サンプルの線形配列として候補参照サンプルのグループを整列させ、
線形配列に沿う方向で線形配列の参照サンプルに対して平滑化フィルタを適用する
ビデオ符号化又は復号化方法を提供する。
【0184】
画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連する予測方向に応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが、ルミナンスサンプルよりも低い水平及び/又は垂直サンプリングレートを持ち、クロミナンス水平解像度に対するルミナンス水平解像度の比が、クロミナンス垂直解像度に対するルミナンス垂直解像度の比とは異なり、ルミナンスサンプルのブロックが、対応するクロミナンスサンプルのブロックとは異なるアスペクト比を持ち、クロミナンスサンプルが、第1及び第2のクロミナンス要素を含むビデオ符号化又は復号化方法であって、
第1のクロミナンス要素の現在のクロミナンスサンプルを予測するための、1以上の参照サンプル又は参照値の選択を定義する予測モードを選択し、
第1のクロミナンス要素の現在のクロミナンスサンプルと共同の位置とされた、第2のクロミナンス要素の現在のクロミナンスサンプルを予測するための、1以上の参照サンプル又は参照値の異なる選択を定義する異なる予測モードを選択する
ビデオ符号化又は復号化方法。
【0185】
ルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連する予測方向に応じて、他の各参照サンプルから予測され、クロミナンスサンプルが、ルミナンスサンプルよりも低い水平及び/又は垂直サンプリングレートを持ち、クロミナンス水平解像度に対するルミナンス水平解像度の比が、クロミナンス垂直解像度に対するルミナンス垂直解像度の比とは異なり、ルミナンスサンプルのブロックが、対応するクロミナンスサンプルのブロックとは異なるアスペクト比を持つビデオ符号化又は復号化方法であって、
アスペクト比における差に基づいて、ルミナンス及びクロミナンスサンプルに対して異なる各予測アルゴリズムを適用する
ビデオ符号化又は復号化方法。
【0186】
図33は、使用されている技術の一例を示している。角ステップ1580は、ルマグリッドに応じて抽出される(ルマサンプル予測に関しても使用可能であるが、現在の説明においては、ルマグリッド及び処理に応じて抽出されるということで十分である。つまり、実際上、ルマ予測のために使用されない)。4:2:2クロマサンプル1580の配列が同じグリッドにおいて2倍の幅で示されているが、このようなケースでは、同じ予測方向1590の使用が、異なる参照サンプル(垂直に位置されたサンプル1540からの異なるオフセット)を指し示している。従って、角ステップが上記した処理に応じて修正されて、
クロマグリッドにおいて同じ予測方向を表す現在のクロマ参照サンプルを指し示す修正された角ステップ1600が提供される。
【0187】
従って、本発明のこれらの実施形態に係るビデオ符号化若しくは復号化方法、装置又はプログラムは、ルミナンス及びクロミナンスサンプルが、予測される現在のサンプルに関連する予測方向に応じて、他の各参照サンプルから予測される。4:2:2などのモードでは、クロミナンスサンプルが、ルミナンスサンプルよりも低い水平及び/又は垂直サンプリングレートを持ち、クロミナンス水平解像度に対するルミナンス水平解像度の比が、クロミナンス垂直解像度に対するルミナンス垂直解像度の比とは異なる。つまり、これは、ルミナンスサンプルのブロックが、対応するクロミナンスサンプルのブロックとは異なるアスペクト比を持つことを意味している。
【0188】
イントラフレーム予測部530は、例えば、予測される現在のサンプルの組に関する第1のアスペクト比の第1のグリッドに関連して定義される第1の予測方向を検出する検出部として動作可能であり、また、予測方向に予測マッピングを適用して、異なるアスペクト比の第2のグリッドに関連して定義された第2の予測方向を生成する方向マッピング部として動作可能である。従って、予測部530は、方向マッピング部の一例を表している。予測部540は、他の対応する例を提供してもよい。
【0189】
本発明の実施形態では、第1の予測方向の検出に使用される第1のグリッドは、ルミナンスサンプル及びクロミナンスサンプルのうちの一方のサンプル位置に関して定義され、第2の予測方向の生成に使用される第2のグリッドは、ルミナンスサンプル及びクロミナンスサンプルのうち他方のサンプル位置に関して定義される。本明細書において説明される特定の例では、ルミナンス予測方向が修正されて、クロミナンス予測方向が提供されてもよい。しかし、他の方法が用いられてもよい。
【0190】
特に、この技術は、参照サンプルが、予測されるサンプルとして同じ各画像から抽出される(例えば、各画像から抽出される圧縮データからの再構築された)サンプルであるイントラ予測に適用可能である。
【0191】
少なくともいくつかの構成では、第1の予測方向は、現在のルミナンスサンプルを含むルミナンスサンプルの正方形ブロックに応じて定義され、第2の予測方向は、現在のクロナンスサンプルを含むルミナンスサンプルの長方形ブロックに応じて定義される。
【0192】
2つのクロミナンス要素についての独立予測モードを提供することもできる。このような構成では、クロミナンスサンプルは、第1及び第2のクロミナンス要素のサンプルを含み、この技術は、第1のクロミナンス要素(Cb等)に対して上述の方向マッピングを適用し、第2のクロミナンス要素(Cr等)に対して異なる予測モードを提供する。この技術は、(例えば)第1のクロミナンス要素のサンプルからの第2のクロミナンス要素を予測してもよい。
【0193】
ビデオデータは4:2:2フォーマットとすることができ、例えば、デコーダ又は符号化方向の場合、予測方向は、符号化ビデオデータにおける予測方向を定義するデータを検出することによって検出されてもよい。
【0194】
一般的に、本発明の実施形態は、クロミナンス要素に対して(例えば、各ルミナンス及びクロミナンス要素で別々に)独立予測モードを提供することができる。ビデオ符号化方法に関連するこれらの実施形態では、画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連する予測方向に応じて同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが、ルミナンスサンプルよりも低い水平及び/又は垂直サンプリングレートを持ち、クロミナンス水平解像度に対するルミナンス水平解像度の比が、クロミナンス垂直解像度に対するルミナンス垂直解像度の比とは異なり、ルミナンスサンプルのブロックが、対応するクロミナンスサンプルのブロックとは異なるアスペクト比を持ち、クロミナンスサンプルが、第1及び第2のクロミナンス要素を含む。
【0195】
イントラフレームモード選択部520は、第1のクロミナンス要素(Cb等)の現在のクロミナンスサンプルを予測するための1以上の参照サンプルの選択を定義する予測モードを選択する。また、第1のクロミナンス要素の現在のクロミナンスサンプルと共同位置に位置された、第2のクロミナンス要素(Cr等)の現在のクロミナンスサンプルを予測するための1以上の参照サンプルの異なる選択を定義する異なる予測モードを選択する。
【0196】
参照サンプルフィルタは、水平サンプル又は垂直サンプル(若しくは両方)に選択的に適用され得る。上述のように、フィルタは、3−タップ正規化"1−2−1"フィルタとすることができ、左下及び右上を除いたすべてのルマ参照サンプルに現在、適用される(N×Nブロックのサンプルはひとまとめにされて、サイズ2N+1の単1D配列が生成され、その後、選択的にフィルタリングされる)。本発明の実施形態では、4:2:2について、最初(左側エッジ)又は最後(上側エッジ)のN+1クロマサンプルにのみ適用されるか(左下、右上及び左上は調整されない点に留意)、4:2:2及び4:4:4について、全てのクロマサンプルに適用される。
【0197】
本発明の実施形態は、予測されるサンプルに関連する予測モードに応じて、ルミナンス並びに第1及び第2のクロミナンス要素サンプルが予測されるビデオ符号化若しくは復号化方法、装置又はプログラムであって、第1のクロミナンス要素のサンプルから第2のクロミナンス要素のサンプルを予測するビデオ符号化若しくは復号化方法、装置又はプログラムを提供する。いくつかの実施形態では、予測されるサンプルに関連する予測モードは、サンプルが予測される1以上の他の各参照サンプルを定義する予測方向を示し得る。
【0198】
本発明の実施形態は、予測されるサンプルに関連する予測モードに応じて、他の各参照サンプルから、ルミナンス並びに第1及び第2のクロミナンス要素サンプルが予測されるビデオ符号化若しくは復号化方法、装置又はプログラムであって、参照サンプルをフィルタリングするビデオ符号化若しくは復号化方法、装置又はプログラムを提供する。
【0199】
図19及び
図20を参照して説明したように、異なる予測モードは、第2のクロミナンス要素のサンプルが第1のクロミナンス要素のサンプルから予測されるモードを含むことが可能である。
【0200】
なお、モード0及び1は、角予測モードではなく、従って、この処理には含まれない。上記した処理の効果は、
図24に示したようにクロマ予測方向をルマ予測方向にマッピングすることである。
【0201】
4:2:0では、純粋な水平予測モード(ルマモード10)又は純粋な垂直予測モード(ルマモード26)が選択された場合、予測TUの上又は左のエッジが、ルマチャネルのみについてフィルタリングの対象となる。水平予測モードでは、上の行が垂直方向にフィルタリングされる。垂直モードでは、左の列が水平方向にフィルタリングされる。
【0202】
サンプルの列の水平方向でのフィルタリングは、サンプルの列の順で、各サンプルに水平指向フィルタを適用するものとして理解し得る。従って、個々のサンプルについて、その値は、サンプルの現在の値及びそのサンプルから水平方向に移されたサンプル位置にある1以上の他のサンプル(つまり、問題となっているそのサンプルの左及び/又は右に位置する1以上の他のサンプル)の現在の値から生成されたフィルタ値に基づいて、フィルタの動作によって修正される。
【0203】
サンプルの行の垂直方向でのフィルタリングは、サンプルの行の順で、各サンプルに垂直指向フィルタを適用するものとして理解し得る。従って、個々のサンプルについて、その値は、サンプルの現在の値及びそのサンプルから垂直方向に移されたサンプル位置にある1以上の他のサンプル(つまり、問題となっているそのサンプルの上及び/又は下に位置する1以上の他のサンプル)の現在の値から生成されたフィルタ値に基づいて、フィルタの動作によって修正される。
【0204】
上述のエッジピクセルフィルタリング処理の1つの目的は、予測においてブロック基準エッジ効果を低減して、これにより、残差画像データにおけるエネルギーを減らすという点にある。
【0205】
本発明の実施形態では、対応するフィルタリング処理が、4:4:4及び4:2:2におけるクロマTUについて提供される。水平サブサンプリングを考慮すると、1つの提案は、4:2:2においてクロマTUの上の行についてのみフィルタリングを行い、一方、4:4:4において、上の行及び左の列の両方についてフィルタリングを行う(必要に応じて、選択されたモードに基づいて)というものである。多くの有用な詳細が取り除かれてしまうことを防止するために、これらの領域にのみフィルタリングを行うことは適切であり、(取り除かれた場合)残差画像データの増加エネルギーが導かれる。
【0206】
4:2:0では、DCモードが選択された場合、ルマチャネルのみについて、予測TUの上又は左のエッジがフィルタリングの対象となる。
【0207】
このフィルタリングは、DCモードにおいて、フィルタが、両エッジにおける全てのサンプルに対して、a(1×近接外側サンプル+3
*エッジサンプル)/4平均動作を行うというものであってもよい。
【0208】
H/Vフィルタは、近接外側サンプル及びエッジサンプルの平均である。
【0209】
本発明の実施形態において、このフィルタリング処理は、4:4:4及び4:2:2におけるクロマTUにも提供される。この場合もやはり、水平サブサンプリングが考慮され、いくつかの本発明の実施形態では、4:2:2においてクロマTUの上の行についてのみフィルタリングが行われ、一方、4:4:4において、上の行及び左の列についてフィルタリングが行われる。
【0210】
従って、この技術は、4:4:4フォーマット又は4:2:2フォーマットにおけるルミナンス及びクロミナンスサンプルが、予測されるサンプルのブロックに関連する予測方向に応じて、他の各サンプルから予測されるビデオ符号化若しくは復号化方法、装置又はプログラムに適用され得る。
【0211】
本技術の実施形態において、予測方向は、予測される現在のブロックに関して検出される。クロミナンスサンプルの予測ブロックは、予測方向によって定義される他のクロミナンスサンプルに応じて生成される。仮に、検出された予測方向が実質的に垂直(例えば、正確に垂直なモードの+/−n角度モード以内、ここで、nは(例えば、)2)である場合、クロミナンスサンプルの予測ブロックにおいてサンプルの左列がフィルタリングされる(例えば、水平方向)。あるいは、仮に、検出された予測方向が実質的に水平(例えば、正確に水平なモードの+/−n角度モード以内、ここで、nは(例えば、)2)である場合、クロミナンスサンプルの予測ブロックにおいてサンプルの上の行がフィルタリングされる(例えば、水平方向)。その後、フィルタリングされた予測クロミナンスブロック及び実際のクロミナンスブロックの差が、例えば、残差データとして符号化される。代わりに、試験は、実質的に垂直又は水平なモードではなく、正確に垂直又は水平なモードであってもよい。+/−nの許容範囲は、他のものではなく、1つの試験鹿(水平又は垂直)に適用され得る。
【0212】
インター予測
なお、HEVCにおけるインター予想は、既に長方形PUを許容しており、従って、4:2:2及び4:4:4モードは、PUインター予測処理に既に適合可能である。
【0213】
ビデオ画像の各フレームは、実際のシーンの離散サンプリングであり、結果的に、各ピクセルは、色及び明るさの現実世界での勾配におけるステップ幅の近似である。
【0214】
この点を考慮し、以前のビデオフレームにおける値から、新たなビデオフレームにおけるピクセルのY、Cb又はCr値を予測するとき、元の現実世界での勾配をより良く推定し、新たなピクセルに対する明るさ又は色をより正確に選択するために、以前のビデオフレームにおけるピクセルが補間される。従って、ビデオフレーム間で位置を示すのに使用される動きベクトルは、整数のピクセル解像度に限られない。正確には、この動きベクトルは、補間画像内におけるサブピクセル位置を示すことができる。
【0215】
4:2:0インター予測
図25及び
図26を参照して、4:2:0方式では、上述のように、典型的には、8×8ルマPU1300は、Cb及びCr 4×4クロマPU1310に関連付けられる。従って、同じ効果的な解像度までルマ及びクロマピクセルデータを補間するために、異なる補間フィルタが使用される。
【0216】
例えば、8×8 4:2:0 ルマPUでは、補間が1/4ピクセルであり、また、8タップ×4フィルタは、最初に水平に適用され、その後、同じ8タップ×4フィルタが垂直方向に適用されて、ルマPUが各方向に効果的に4回伸ばされ、
図25に示すように、補間配列が形成される。一方、対応する4×4 4:2:0クロマPUは、同じ最終解像度を生成するために補間された1/8ピクセルであり、従って、4タップ×8フィルタが、最初に水平方向に適用され、その後、同じ4タップ×8フィルタが垂直方向に適用されて、4:2:0クロマPUが各方向に効果的に8回伸ばされ、
図26に示すように、配列1330が形成される。
【0217】
4:2:2インター予測
ルマPU1350及び1組の対応するクロマPU1360が示されている
図27及び
図28を参照して、4:2:2方式での同様の構成について説明する。
図28を参照して、上述のように、4:2:2方式では、クロマPU1360は、非正方形とすることができ、また、8×8 4:2:2ルマPUの場合、クロマPUは、典型的には、Cb及びCrチャネルのそれぞれに対する4(幅)×8(高さ)4:2:2クロマPUとされる。なお、
図28では便宜的に、クロマPUは、非正方形ピクセルの正方形の網掛け配列として描かれており、一般的には、PU1360は、4(水平)×8(垂直)ピクセル配列である。
【0218】
一方、それ故、クロマPUで垂直方向に既存の8タップ×4ルマフィルタを使用できる可能性があり、実際上、補間クロマPUの偶数分数位置の1つに関心があるのみであるため、本発明の一実施形態では、垂直方向の補間については既存の4タップ×8クロマフィルタで十分とされる。
【0219】
従って、
図27には、垂直方向で補間画像を形成するために使用される偶数分数の結果だけでなく、従来のように8タップ×4フィルタで補間された8×8 4:2:2ルマPU1350、並びに、水平及び垂直方向において既存の4タップ×8クロマフィルタで補間された4×8 4:2:2クロマPU1360が示されている。
【0220】
これらの技術は、インター画像予測を使用して、入力ビデオデータを符号化するビデオ符号化若しくは復号化方法、装置又はプログラムに適用可能であり、各クロミナンス要素は、ルミナンス要素における1/Mの水平解像度を持ち、ルミナンス要素における1/Nの垂直解像度を持ち、ここで、M及びNは、1以上の整数であり、例えば、4:2:2では、M=2、N=1であり、4:2:0では、M=2、N=2である。
【0221】
フレーム記憶部570は、現在の画像を予測する1以上の画像を記憶する。
【0222】
補間フィルタ850は、補間された予測ユニットのルミナンス要素が、記憶画像の対応する部分のP倍の水平解像度を持ち、記憶画像の対応する部分のQ倍の垂直解像度を持つように、記憶された画像の予測ユニットの高解像度バージョンを補間し、ここで、P及びQは、1を超える整数である。現在の例では、P=Q=4であり、補間フィルタ580が1/4サンプル解像度で補間画像を生成する。
【0223】
動き推定部550は、現在の画像及び1以上の補間記憶画像の間のインター画像の動きを検出して、現在の画像の予測ユニット及び1以上の予測画像の領域の間の動きベクトルを生成する。
【0224】
動き補償予測部540は、各動きベクトルによって示された補間記憶画像の領域に関して、現在の画像の予測ユニットの動き補償予測を生成する。
【0225】
補間フィルタ580の動作の説明に戻り、実施形態に係るこのフィルタは、a×R水平及び×S垂直補間フィルタを、記憶画像のクロミナンス要素に適用して、補間クロミナンス予測ユニットを生成し、ここで、Rは、(U×M×P)に等しく、Sは、(V×N×Q)に等しく、U及びVは、1以上の整数であり、また、フィルタは、補間クロミナンス予測ユニットをサブサンプリングし、その水平解像度がU倍で分割され、かつ、その垂直解像度がV倍で分割され、これにより、MP×NQサンプルのブロックが生成される。
【0226】
従って、4:2:2の場合、補間フィルタ580は、水平及び垂直にa×8補間を適用し、一方で、例えば、補間出力においてサンプルを2つおきに使用して、垂直に2倍でサブサンプリングを行う。
【0227】
この技術は、それ故、同じ(例えば、×8)フィルタが、4:2:0及び4:2:2で使用されることを許容しているが、4:2:2では、サブサンプリングのさらなるステップが必要とされる。
【0228】
本発明の実施形態では、上述のように、補間クロミナンス予測ユニットは、同じ×R及び×S補間フィルタを使用して補間された4:2:0フォーマット予測ユニットのサンプルの高さの2倍の高さを持つ。
【0229】
異なるフィルタを提供する必要性は、4:2:0入力ビデオデータ及び4:2:2入力ビデオデータについて、特に、同じ×R水平及び×S垂直補間フィルタを使用することによって、これらの技術を使用して回避又は軽減することができる。
【0230】
上述のように、補間クロミナンス予測ユニットをサブサンプリングするステップにおいて、垂直方向に補間クロミナンス予測ユニットのサンプルをVおきに使用し、及び/または垂直方向に補間クロミナンス予測ユニットのサンプルをUおきに使用する。
【0231】
本発明の実施形態において、予測ユニットについてルミナンス動きベクトルを抽出し、独自に、その予測ニットについて1以上のクロミナンス動きベクトルを抽出してもよい。
【0232】
本発明の実施形態では、少なくとも1つのR及びSが、2以上の値に等しく、また本発明の実施形態では、×R水平及び×S垂直補間フィルタも、記憶画像のルミナンス要素に適用される。
【0233】
各種4:4:4インター予測
拡張により、既存の4タップ×8クロマフィルタについて、偶数分数の結果のみを使用するという同じ考え方は、8×8 4:4:4クロマPUについて垂直方向及び水平方向の両方に適用することができる。
【0234】
さらにこれらの例では、×8クロマフィルタがルマを含む全ての補間に使用されてもよい。
【0235】
他の各種インター予測
動きベクトル(MV:Motion Vector)抽出に係る一実施形態では、PスライスにおけるPUに対して1つの動きベクトルが生成される(及びBスライスにおけるPUに対する2つのベクトルが生成される(MPEG P及びBフレームと同様の方法で、Pスライスは、予測フレームから予測され、Bスライスは、予測及び後フレームから予測される))。
【0236】
特に、4:2:0方式に係る実施形態では、ベクトルが全てのチャネルで共通とされ、さらに、クロマデータは、動きベクトルの計算に使用される必要がない。つまり、全てのチャネルは、ルマデータに基づく動きベクトルを使用する。
【0237】
本発明に係る一実施形態では、4:2:2方式において、クロマベクトルは、ルマから独立して抽出することができ(つまり、Cb及びCrチャネルに対する動きベクトルは、別々に抽出できる)、また、4:4:4方式において、クロマベクトルは、Cb及びCrのそれぞれに対してさらに独立とすることができる。
【0238】
本発明の実施形態は、画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連する予測モードに応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが、第1及び第2のクロミナンス要素を含み、少なくとも幾つかのサンプルについて、画像領域に対応するルミナンス及びクロミナンス要素それぞれに対して同じ予測モードを選択するビデオ符号化若しくは復号化方法を提供する。
【0239】
本発明の実施形態は、画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連する予測モードに応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが、第1及び第2のクロミナンス要素を含み、少なくとも幾つかのサンプルについて、画像領域に対応するルミナンス及びクロミナンス要素それぞれに対して異なる各予測モードを選択するビデオ符号化若しくは復号化方法を提供する。
【0240】
いずれの場合にも、同じ予測モード又は異なる各予測モードが、画像領域に対応するルミナンス及びクロミナンス要素それぞれに対して使用可能であり、この選択は、画像シーケンス、画像、又は画像領域に応じて行われる。
【0241】
符号化動作における予測モード方式を選択するために、実施形態は、例えば、ルミナンス及びクロミナンス要素について同じ予測モードを使用して、画像領域の第1の試行符号化を実行し、ルミナンス及びクロミナンス要素について異なる各予測モードを使用して、その画像領域の第2の試行符号化を実行し、第1及び第2の試行符号化によって符号化されたデータに基づいて、ピクチャシーケンス、ピクチャ又はピクチャの領域に使用するための、同じ予測モード又は異なる各予測モードを選択する。
【0242】
試行結果の処理は、本発明の実施形態では、第1の及び第2の試行符号化によって符号化されたデータの1以上の所定の特性を検出すること、検出された1以上の特性に基づいて、ピクチャシーケンス、ピクチャ又はピクチャの領域に使用するための、同じ予測モード又は異なる各予測モードを選択することを含んでいてもよい。1以上の特性は、例えば画像雑音、画像歪み、画像データ品質からなる組から選択される。選択は、個々の画像スライス又は画像ブロックについて行うことができる。本発明の実施形態は、例えば、予測モードに関して本出願において説明された番号付け方法を使用して、同じ予測モード又は異なる予測モードが使用されるかどうかを示し、同じ予測モードが使用される場合に単予測モードの指示を示し、異なる各予測モードが使用される場合に、その各予測モードの指示を示す符号化されたビデオ信号(例えば、符号化データストリームの一部として、データストリーム内の1以上のデータフラグとして)に情報を関連付ける。
【0243】
復号化動作を実行する実施形態では、この方法は、符号化のためのビデオデータに関連づけられた情報を検出してもよく、この情報は、同じ予測モード又は異なる予測モードが、復号化のためのビデオデータに関連付けられているかを定義する。仮にこのような情報(例えば、データストリームに対して所定位置にある1ビットフラグ)が、同じ予測モードが使用されることを示している場合、デコーダは、1つの要素(ルマ等)について定義された予測モード情報を、他の要素(クロマ等)の復号化に適用する。若しくは、デコーダは、個々に特定された予測モードを、各要素に適用する。
【0244】
本発明の実施形態では、上述のように、画像は、4:2:2又は4:4:4ビデオ信号の一部を形成する。
【0245】
変換
HEVCでは、ほとんどの画像は、以前に符号化/復号化されたフレームから、動きベクトルとして符号化され、動きベクトルは、これらの他の復号化されたフレームにおいて、現在の画像の良い近似をどこからコピーするかをデコーダに示す。この結果は、現在の画像の近似バージョンである。その後、HEVCは、近似バージョン及び正確な画像間における誤差であるいわゆる残差(residual)を符号化する。この残差は、実際の画像を直接的に特定するよりも、非常に少ない情報で済む。しかしながら、それでもやはり、一般的には、全体のビットレートをさらに低減させるために、この残差の情報を圧縮することが好ましい。
【0246】
HEVCを含む多くの符号化方法では、このようなデータは、整数コサイン変換(ICT:Integer Cosine Transform)を使用して空間周波数領域に変換され、また、典型的には、所望の圧縮レベルに応じて、低空間周波数データを保ち、高空間周波数データを除去することによって圧縮が達成される。
【0247】
4:2:0変換
特に、共通量子化/圧縮方法に忠実であるため、HEVCで使用される空間周波数変換では、慣例的に、4の累乗での係数(例えば、64周波数係数)が生成される。4:2:0方式における正方形TUは、全て4の累乗であり、従って、達成が容易である。
【0248】
仮に、NSQT動作が有効化される場合、いくつかの非正方形変換が、4×16などの非正方形TUに対して利用可能であるが、やはりこれらは64係数となり、つまり、やはり4の累乗である。
【0249】
各種4:2:2及び4:4:4変換
4:2:2方式は、4の累乗ではない非正方形TUを生成することができる。例えば、4×8TUは32ピクセルを有しており、また、32は4の累乗ではない。
【0250】
従って、本発明における一実施形態では、4の累乗ではない数の係数に対する正方形変換が使用されてもよい。なお、修正が後続の量子化処理で要求される。
【0251】
あるいは、本発明の一実施形態では、非正方形TUは、変換について4の累乗の領域をもつ正方形ブロックに分割され、その後、結果としての係数を、インターリーブするこができる。
【0252】
例えば、4×8ブロック(8行の4サンプル)では、奇数/偶数垂直サンプルはが、2つの正方形ブロックに分割され得る。あるいは、4×8ブロックでは、上の4×4ピクセル及び下の4×4ピクセルは、2つの正方形ブロックを形成することができる。あるいは、やはり、4×8ブロックでは、下位及び上位周波数の4×4ブロックを形成するために、ハール ウェーブレット分解が使用され得る。
【0253】
これらの選択肢はいずれも利用可能であり、また、特定の代替手段の選択が、信号化又はデコーダによって抽出されてもよい。
【0254】
その他の変換モード
4:2:0方式においては、残差データがビットストリームに無損失で(変換、量子化、又はさらなるフィルタリングなしで)含まれるようにする提案フラグ(いわゆる、qpprime_y_zero_transquant_bypass_flag)が存在する。
【0255】
従って、このような実施形態は、ルミナンス及びクロミナンスサンプルが予測され、サンプル及び各予測サンプル間の差が符号化され、ルミナンス差データが出力ビッドストリームに無損失で含まれているかを示し、独自に、クロミナンス差データがビットストリームに無損失で含まれているかを示すインジケータを利用するビデオ符号化又は復号化方法に相当する。
【0256】
本発明の一実施形態では、ルマチャネルに対するフラグが、クロマチャネルとは別とされることが提案される。従って、4:2:2方式では、このようなフラグがルマチャネル及びクロマチャネルで別々に提供され、また、4:4:4方式では、このようなフラグが、ルマ及びクロマチャネルのどちらかに別々に提供されるか、あるいは、1つのフラグが、3つのチャネルのそれぞれに対して提供される。これにより、4:2:2及び4:4:4方式に関連する、増加するクロマデータレートが認識され、例えば、クロマデータと共に圧縮された無損失ルマデータが有効化される。
【0257】
イントラ予測符号化では、モード依存方向変換(MDDT:Mode-Dependent Directional Transform)は、TUに対する水平又は垂直ICT(または両ICT)が、イントラ予測方向に基づく整数サイン変換に置き換えられることを許容している。4:2:0方式では、これは、クロマTUに適用されない。しかしながら、本発明の一実施形態では、4:2:2及び4:4:4クロマTUに対して適用することが提案される。なお、ISTは、現在、4サンプル変換次元(垂直又は水平)についてのみ定義されおり、従って、現在、4×8クロマTUに垂直に適用され得ない。MDDTについては後述する。
【0258】
ビデオ符号化方法では、本発明の各種の実施形態は、ルミナンス差データが出力ビットストリームに無損失で含まれているかどうか、及び、独立して、クロマ差データがビットストリームに無損失で含まれているかどうかを示し、このような指示によって定義された形式で、関連するデータを符号化及び含めるように構成され得る。
【0259】
量子化
4:2:0方式では、量子化演算が、クロミナンス(色)及びルミナンス(輝度)で同じであり、量子化パラメータ(QP:Quantization Parameter)のみが異なる。
【0260】
クロミナンスに対するQPは、ルミナンスQpから以下の様にして算出される。
QP
cb = scalingTable[QP
luminances+chroma_qp_index_offset]
QP
cr = scalingTable[QP
luminances+second_chroma_qp_index_offset]
【0261】
ここで、scalingTableは、
図29A及び
図29Bに示すように定義され(それぞれ4:2:0、4:2:に対応)、"chroma_qp_index_offset"及び"second_chroma_qp_index_offset"は、ピクチャ・パラメータ・セットにおいて定義され、Cr及びCrについて同じ又は異なる。換言すると、角括弧内の値は、スケーリングテーブル(
図29A及びB)内における"インデックス"を定義し、そして、スケーリングテーブルは、QPの修正値("値")を与える。
【0262】
なお、"chroma_qp_index_offset"及び"second_chroma_qp_index_offset"は、代わりに、それぞれ"cb_qp_offset"及び"cr_qp_offset"とされてもよい。
【0263】
クロミナンスチャネルは、典型的には、含まれる情報がルミナンスよりも少なく、従って、小さな大きさの係数を有しており、クロミナンスQPにおけるこの制限は、重い量子化レベルで、全てのクロミナンスの細部が損失してしまうことを防止する。
【0264】
4:2:0におけるQP−因子(divisor)の関係は、QPにおける6の増加が因子の倍加に等しい対数である(量子化ステップサイズは、本明細書において他の箇所で説明するが、使用の前にQによってさらに修正されてもよい)。従って、51−39=12によるスケーリングテーブルにおける最大の差は、因子における4倍の変化を表している。
【0265】
しかしながら、本発明の一実施形態は、4:2:2方式について、4:2:0方式の2倍のクロマ情報を含む可能性があり、スケーリングテーブルにおける最大クロミナンスQP値は、45乗される(つまり、因子を持つ)。同様に、4:4:4方式では、スケーリングテーブルにおける最大クロミナンスQP値は、51乗される(ちまり、同じ因子)。この場合、スケーリングテーブルは、実質的に冗長とされるが、動作効率の単純さは保たれる(つまり、システムは、各方式で同じ方法でテーブルを参照することによって動作するため)。従って、より一般的には、本発明の一実施形態では、クロマQP因子は、4:2:0方式に関連する符号化方式における情報量に対応して修正される。
【0266】
従って、本発明の実施形態は、量子化ステップサイズを定義する選択された量子化パラメータに応じて、4:4:4又は4:2:2における周波数変換ルミナンス及びクロミナンス要素ビデオデータのブロックを量子化するビデオ符号化及び復号化方法に適用される。量子化パラメータの関連性(例えば、
図29A又は
図29Bにおける適切なテーブル)は、ルミナンス及びクロミナンス量子化パラメータ間で定義され、この関連性では、最大クロミナンス量子化ステップサイズが、4:2:2フォーマットについて最大ルミナンス量子化ステップサイズよりも小さく(例えば45)、一方、4:4:4フォーマットについて最大ルミナンス量子化ステップサイズに等しい(例えば51)。量子化処理では、周波数変換データの各要素が、各量子化ステップサイズから抽出された各値によって分割され、この結果が整数値に丸められて、量子化空間周波数データの対応するブロックが生成される。
【0267】
なお、分割及び丸めのステップは、各量子化ステップサイズ(又は、それから抽出されたデータ、例えば、Qの応用による例)に応じた、一般的な量子化ステージを示す例である。
【0268】
本発明の実施形態は、空間周波数係数を量子化するための量子化パラメータ又はインデックス(ルミナンスについてのQP)を選択することを含み、量子化パラメータは、ルミナンスデータに適用可能なQPテーブルに応じた、量子化ステップサイズの組のそれぞれの基準となる。量子化パラメータの関連性を定義する処理では、クロミナンス要素について、選択された量子化パラメータに応じて、修正された量子化パラメータのテーブルを参照し、このとき、(i)第1のクロミナンス要素に関して、第1のオフセット(chroma_qp_index_offset等)を量子化パラメータに加え、量子化インデックス+第1のオフセットについて、テーブルにおいて、エントリに対応する修正量子化インデックスを選択し、(ii)第2のクロミナンス要素に関して、第2のオフセット(second_chroma_qp_index_offset等)を量子化パラメータに加え、量子化インデックス+第2のオフセットについて、テーブルにおいて、エントリに対応する修正量子化インデックスを選択し、ルミナンスデータ、並びに、第1及び第2のクロミナンス要素についての第1及び第2の修正量子化インデックスにおける量子化パラメータに応じて、組における各量子化ステップサイズを参照する。別の観点では、処理の一例では、空間周波数係数を量子化するための量子化パラメータを選択し、量子化パラメータは、量子化パラメータの組のそれぞれの基準となり、定義するステップでは、クロミナンス要素について、選択された量子化パラメータに応じて、修正された量子化パラメータのテーブルを参照し、参照するステップでは、各クロミナンス要素について、各オフセットに量子化パラメータを加え、量子化パラメータ+各オフセットについて、テーブルにおいて、エントリに対応する修正された量子化パラメータを選択し、ルミナンスデータ、並びに、第1及び第2のクロミナンス要素についての第1及び第2の修正量子化パラメータにおける量子化パラメータに応じて、組における各量子化ステップサイズを参照する。
【0269】
本発明の実施形態では、上述のように、最大ルミナンス量子化パラメータは51であり、4:2:2フォーマットについて最大クロミナンス量子化パラメータは45であり、4:4
:4フォーマットについて最大クロミナンス量子化パラメータは51である。
【0270】
本発明の実施形態では、第1及び第2のオフセットは、符号化ビデオデータに関連づけられて通信され得る。
【0271】
4:2:0変換では、下記の式を使用して、真正規化N×N DCT A'から、Aが最初に(変換ユニット340により)生成される。
A
ij=int(64×√N×A'
ij)
ここで、i及びjは、内の位置を示す。正規化変換に応じたスケーリングは、高精度化を提供し、小数計算の必要性を回避し、内部精度を高める。
【0272】
XがA及びA
Tの両方に乗算されるので、A
ijの丸めによる差は無視され、結果としての係数は、下記の共通スケーリング倍数による真正規化M×N(M=高さ、N=幅)DCTのものとは異なる。
(64×√N)(64×√M)=4096√N√M
【0273】
なお、共通スケーリング倍数は、この例とは異なり得る。また、A及びA
Tの両方に乗算されるは、いわゆるバタフライ方法などの様々な方法で実行され得る。重要なことは、実行される動作が従来の乗算と同じであるかどうかということであり、特定の従来の動作順で実行されるかどうかということではない。
【0274】
HEVCでは、2の累乗になるので、スケーリング倍数は、多数のビットによるバイナリ左シフトビット幅動作TransformSihftに等しい。
TransformShift=(12+0.5log
2(N)+0.5log
2(M))
【0275】
内部ビッド精度における要求を減らすために、変換処理中、係数は(正の丸めを使用して)2回右にシフトされる。
Shift1=log
2(N)+bitDepth−9
Shift2=log
2(M)+bitDepth+6
【0276】
結果として、前変換処理を終え、量子化部に入る係数は、以下の式によって効果的に左側にシフトされる。
resultingShift =(12+0.5log
2(NM))−(Shift1+Shift2)
=(12+0.5log
2(N)+0.5log
2(M))−(log
2(N)+bitDepth−9+log
2(M)+6)
=15−(0.5log
2(N)+0.5log
2(M)+bitDepth)
【0277】
4:2:0では、周波数変換によって生成された周波数分離(例えば、DCT)係数は、正規化DCT処理の(2
resultingShift)倍である。
【0278】
本発明のいくつかの実施形態では、ブロックは、正方形又は2:1のアスペクト比の長方形である。従って、N×Mのブロックサイズは、以下のいずれかである。
N=M、この場合、resultingShiftは、整数かつ、S=N=M=sqrt(NM)である。
0.5N=2M又は2N=0.5M、この場合、resultingShiftは、整数かつ、S=sqrt(NM)である。
resultingShift =15−(0.5log
2(N)+0.5log
2(M)+bitDepth)
=15−(log
2(S)+bitDepth)
【0279】
係数は、その後、量子化され、ここで、量子化因子は、量子化パラメータに応じて抽出される。
【0280】
なお、resultingShiftは、整数に等しく、従って、共通スケーリング倍数は、2の累乗の整数であり、変換処理の全体の左シフト'resultingShift'も、等しいが逆である右シフト'quantTransformRightShift'の適用によって、この段階で考慮される。
【0281】
resultingShiftが整数であるため、このビットシフト動作が可能である。
【0282】
なお、因子−QP(量子化パラメータ又はインデックス)関係は、上述のように、6によるQPにおける増加が、因子を2倍にする効果を有し、一方で、3によるQPの減少が、sqrt(2)(2の平方根)倍による因子の減少の効果を有する基数2出力曲線に従う。
【0283】
4:2:2のけるクロマフォーマットに起因して、多くのTU幅:高さ(N:M)比が存在する。
N=M(前から) ここで、S=N=M=sqrt(NM)である(resultingShifは整数)。
0.5N=2M及び2N=0.5M(前から) ここで、S=sqrt(NM)である(resultingShifは整数)。
N=2M ここで、S=sqrt(NM)である。
2M=N ここで、S=sqrt(NM)である。
4N=0.5M ここで、S=sqrt(NM)である。
resultingShift==15−(log
2(S)+bitDepth)
【0284】
これら後者の3つの状況では、"resultingShift"は整数ではない。例えばこれは、ビデオデータサンプルのブロックの少なくともいくつかがM×Nサンプルであって、N/Mの平方根が2の整数乗に等しくならない場合に当てはまる。このようなブロックサイズは、いくつかの実施形態において、クロマサンプルについて起こり得る。
【0285】
したがって、このような場合には、以下のような手法が知られている。すなわち、ビデオ符号化方法またはビデオ復号化方法においては、装置またはプログラムが、変換行列の次元に応じた量によって正規化された変換の値毎にそれぞれスケーリングされた整数値のアレイを有する変換行列を用いて、複数ブロックからなるビデオデータサンプルを周波数変換することで、複数のブロックからなる量子化空間周波数データを生成し、その空間周波数データを、選択された量子化ステップのサイズに応じて量子化するように動作する。当該量子化ステップは、ビデオデータサンプルのブロックを、変換行列及びその転置行列によって行列乗算することによって当該ブロックを周波数変換して、スケーリングされた空間周波数係数のブロックを生成するステップを含む。この空間周波数係数はそれぞれ、共通のスケーリングファクター(例えば、"resultingShift")のために、ビデオデータサンプルの上記ブロックの正規化された周波数変換の結果として生じる空間周波数係数よりも大きくなる。
【0286】
したがって量子化段階においては、適切なビットシフト処理であっても、単純な方法で処理をキャンセルするためには用いることができない。
【0287】
この問題に対する解決策が以下の通り提案される。
量子化部段階において、右シフトを適用する:
quantTransformRightShift=15−log(S')−bitDepth
ここで、値S'は以下のように導出される。
esultingShift- quantTransformRightShift=+1/2
ここで、quantTransformRightShiftは整数である。
【0288】
このシフト間の差1/2は、2の平方根を乗算することに等しい。すなわち、ここでは、係数は2の平方根倍だけ大きくなるため、ビットシフトは整数ビットシフトとなる。
【0289】
この量子化プロセスのために、(QP+3)の量子化パラメータを適用する。これにより、量子化因子が2の平方根という因数によって効果的に増加し、これにより2の平方根のスケール因子をそれより前のステップからキャンセルできる。
【0290】
したがって、これらのステップ(すなわち、ビデオ符号化方法及びビデオ復号化方法において、(または対応する装置またはプログラムにおいて、)変換行列の次元に応じた量によって正規化された変換行列の値毎にそれぞれスケーリングされた整数値のアレイを有する変換行列を用いて、複数ブロックからなるビデオデータサンプルを周波数変換することで、複数のブロックからなる量子化空間周波数データを生成し、その空間周波数データを、選択された量子化ステップのサイズに応じて量子化するように動作し、当該量子化ステップは、ビデオデータサンプルのブロックを、変換行列及びその転置行列によって行列乗算することによって当該ブロックを周波数変換して、スケーリングされた空間周波数係数のブロックを生成するステップを含み、この空間周波数係数はそれぞれ、共通のスケーリングファクター(例えば、"resultingshift")のために、ビデオデータサンプルの上記ブロックの正規化された周波数変換の結果として生じる空間周波数係数よりも大きくなること。)は以下のように要約される。
【0291】
空間周波数係数の量子化のための量子化ステップサイズを選択する。スケーリングされた各空間周波数係数を2
nの倍数(nは整数)で分割するために、nビットシフト(例えば、quantTransformRightShift)を適用する。2
nで割り切れる共通の剰余スケーリングファクター(例えば、resultingShift- quantTransformRightShift)を検出する。
【0292】
例えば、上述の状況では、量子化ステップサイズは剰余スケーリングファクターに従って修正された量子化ステップサイズを生成し、ブロックにおいてスケーリングされた各空間周波数係数は、当該修正された量子化ステップサイズに依存する値によって除算され、その結果が整数値へ丸められて、量子化空間周波数データのブロックが生成される。
【0293】
上述したように、量子化ステップサイズの修正は、QPが量子化ステップサイズのテーブル内にマッピングされた場合に、QPに対してオフセット値を単に加えて異なる量子化ステップサイズを選択するだけで実行可能である。
【0294】
上記係数はこれにより元のQPに対して正しい大きさのものになる。
【0295】
上記変換行列は、変換行列の次元に応じた量によって正規化された変換行列の値毎にそれぞれスケーリングされた整数値の配列を有する。
【0296】
その結果、S'に要求される値は常に下記のように導かれる;
S'=sqrt(2
*M
*N)
【0297】
これに代えて、S'は下記のように導かれてもよい;
resultingShift−quantTransformRightShift=−1/2
この場合、S'= sqrt(1/2
*M
*N)であり、適用される量子化パラメータは(QP−3)である。
【0298】
これらのいずれの場合(QPに3を加える場合またはQPから3を減じる場合)も、量子化ステップサイズを選択するステップは、量子化インデックス(例えばQP)を選択することを含む。この量子化インデックスは、各量子化ステップサイズのテーブルにおける各エントリを定義する。また修正ステップは、異なる量子化ステップサイズを選択して、上記異なる量子化ステップサイズと、当初選択された量子化ステップサイズとの比が実質的に剰余スケーリングファクターと等しくなるように、量子化インデックスを変更することを含む。
【0299】
これは、本実施形態のように、テーブル中の量子化ステップサイズの連続する値が対数的に関連しており、m(mは整数)という量子化インデックス(例えばQP)の変更が、pという因数(pは2以上の整数)による量子化ステップサイズの変更と等しい場合に、特に効果的である。本実施形態では、m=6、p=2であり、QPにおける6の増加は、入力される量子化ステップサイズが2倍になることを意味し、QPにおける6の減少は、出力される量子化ステップサイズが1/2になることを意味する。
【0300】
上述したように、上記変更は、ルミナンスサンプルに関して量子化インデックス(例えば、基数であるQP)を選択し、ルミナンスサンプルに関して選択された量子化インデックスに対して量子化インデックスオフセットを生成し、クロミナンス要素のそれぞれ又は双方のサンプルについて、量子化インデックスオフセットを剰余スケーリングファクターに従って変更し、量子化インデックスオフセットを、符号化されたビデオデータに関連して通信することで実行可能である。HEVCの実施形態では、2つのクロマチャンネルに対するQPオフセットは、ビットストリームで送信される。これらのステップは、(剰余スケーリングファクターを構成する)±3のQPオフセットがこれらのオフセットに組み込まれ、またはそれらのオフセットがクロマQPを導くために用いられる場合にインクリメント/デクリメントされるようなシステムに対応する。
【0301】
ここで、QPオフセットは、異なる形態のブロックが用いられた場合には、±3である必要はない。±3というのは、例えば4:2:2ビデオについて、上述したブロックの形態及びアスペクト比に適用可能なオフセット値を指すのみである。
【0302】
いくつかの実施形態では、n(入力されるビットシフト)は2
nが共通のスケーリングファクター以上になるように選択されてもよい。他の実施形態では、nは2
nが共通のスケーリングファクター以下になるように選択されてもよい。開示の実施形態(上記両方の設定を用いる)では、ビットシフトnは、共通のスケーリングファクターに2番目に(いずれの方向でも)近くなるように選択される。これにより、剰余スケーリングファクターは2未満の大きさを有する因数を表すこととなる。
【0303】
他の実施形態では、上記量子化ステップサイズの修正は、単に量子化ステップサイズと剰余スケーリングファクターに応じて因数を乗算することで実行されてもよい。すなわち、上記修正はインデックスQPの修正を伴わなくてもよい。
【0304】
また、上述した量子化ステップサイズは、変換されたサンプルが除算される実際の量子化ステップサイズである必要はない。このように導き出される量子化ステップサイズは、さらに修正され得る。例えば、ある手法では、量子化ステップサイズは、行列値(Q行列)のそれぞれのエントリによって、異なる最終量子化ステップサイズが、係数の量子化ブロックにおける異なる係数位置において用いられるように、さらに修正される。
【0305】
また、4:2:0方式では、最大のクロマTUは16×16であるが、4:2:2方式では、TUは16×32であってもよく、4:4:4のスキームでは、TUは32×32であってもよい。結果的に、一実施形態では、クロマTUが32×32である量子化行列(Q行列)が提案される。同様に、Q行列は、より大きな正方形のQ行列のサブサンプリングとしての実施形態とともに、16×32等の非正方形の行列として定義される。
【0306】
Q行列は、以下の(1)から(5)のいずれかによっても定義され得る。
(1)グリッド中の値(4×4及び8×8のQ行列において)
(2)より小さいまたはより大きい行列から空間補間されたもの;
HEVCでは、より大きい行列がより小さい参照Q行列の係数の各グループから導出され得る。また、より小さい行列が、より大きい行列からサブサンプリングされ得る。ここで、この補間またはサブサンプリングは、あるチャンネル比内で実行され得る。例えば、あるチャンネル用のより大きい行列は、他のチャンネル用のより小さい行列から補間され得る。
(3)他のQ行列との比較によって(すなわち、異なる値または差分);
したがって差分のみ送信される必要がある。
単に図示のために小さい例を挙げると、1つのチャンネル比用の特定の行列が、4:2:0における4×4の行列として以下のように定義され得る。
(a b)
(c d)
ここで、a、b、c及びdはそれぞれ係数である。これは参照行列として動作する。
そうすると、開示の各実施形態は、他のチャンネル比についての類似のサイズの行列に対して、異なる値のセットを以下のように定義できる。
(diff1 diff2)
(diff3 diff4)
これにより、他のチャンネル比用にQ行列を生成するために、行列間の差異は、参照行列に行列を加えたことによるものである。
これらの差異に代えて、他のチャンネル比用に、乗算因数からなる行列が定義されてもよい。例えば、(i)乗算因数からなる行列は、行列が参照行列と乗算されて他のチャンネル比用のQ行列が生成され、または、(ii)参照行列における各係数が個別に各因数と乗算され他のチャンネル比用のQ行列が生成される。
(4)他のQ行列の関数として;
例えば、他の行列とのスケーリング比(上記の例におけるa、b、c、dの各値がいくつかの因数と乗算され、または各値に同じ差分値が加えられたもの)である。これは、差分データまたは因数データを送信するのに必要なデータを削減することになる。したがって、それら関数の係数のみが送信されればよい(例えばスケーリング比)。
(5)方程式/関数(例えば、区分的線形曲線、指数関数、多項式)として
したがって、行列の導出には、方程式の係数のみ、または上記のいずれかの組み合わせが送信されればよい。例えば、a、b、c、dは実際、行列内の係数位置(i、j)と依存関係を有する関数として定義され得る。(i、j)は、例えば、行列の左から右に亘る係数位置と、上部から下部に亘る係数位置を表す。一つの例として、以下のものが挙げられる。
coefficient i,j=3i+2j
【0307】
ここで、行列は、HEVC環境では、スケーリングリストとして参照され得る。量子化がスキャニング工程の後に適用される実施形態では、スキャンされたデータは、連続したデータサンプルからなる線形ストリームとなり得る。このような例では、Q行列の概念はやはり適用できるが、行列(またはスキャニングリスト)は1×Nの行列として考えられ、1×Nの行列内のNのデータ値の配列は、それぞれのQ行列の値が適用されるスキャンされたサンプルの配列に対応する。換言すると、スキャンされたデータにおけるデータの配列(スキャンパターンに応じた空間周波数)と、1×NのQ行列におけるデータ配列には、1:1の関係が成立する。
【0308】
ここで、いくつかの実装では、DCT(周波数分離)段階は回避または省略され得るが、量子化段階は実行され得る。
【0309】
他の有用な情報は、前のチャンネルまたは最初の(初期の)チャンネルといった、その値が関係する他の行列の付加的な指標を含む。例えば、上述したように、Cr用の行列はY用の行列またはCb用の行列のスケーリングされた要素となり得る。
【0310】
したがって、開示の実施形態は、(付加的に)ビデオデータサンプルのブロックに対して周波数変換処理を実行し、配列されたサンプルブロック(例えば、周波数変換サンプルの配列されたブロック)内の異なるそれぞれのブロック位置に用いるための、選択された量子化ステップサイズと量子化ステップサイズを修正するデータの行列とにしたがって、ビデオデータを(空間周波数データとして)量子化することで、量子化空間周波数データのブロックを生成可能なビデオ符号化方法またはビデオ復号化方法(及び対応する装置またはプログラム)を提供できる。当該方法は、少なくとも2つの異なるクロミナンスサブサンプリングフォーマットについて適用可能である。
【0311】
クロミナンスサブサンプリングフォーマットの少なくとも1つのために、1以上の量子化行列が、上記クロミナンスサブサンプリングフォーマットの参照行列用に定義された1以上の参照量子化行列に関する1以上の所定の修正として定義される。
【0312】
開示の実施形態では、上記定義ステップは、参照量子化行列の複数の値からそれぞれ取り込まれた値の行列として、1以上の量子化行列を定義することを含む。他の実施形態では、上記定義ステップは、参照量子化行列の値からそれぞれサブサンプリングされた値の行列として、1以上の量子化行列を定義することを含む。
【0313】
開示の実施形態では、上記定義ステップは、参照量子化行列の対応する値に関する差分の行列として、1以上の量子化行列定義することを含む。
【0314】
開示の実施形態では、上記定義ステップは、参照量子化行列の値の所定の関数として、1以上の量子化行列を定義することを含む。この場合、所定の関数は多項式関数であってもよい。
【0315】
開示の実施形態では、例えば符号化ビデオデータの一部またはその関連データとして、下記の(i)及び(ii)うち1つまたは両方が提供される。
(i)符号化されたビデオデータについて、参照量子化行列を示すための参照指示データ
(ii)符号化されたデータの値について、1以上の所定の修正を示すための修正指示データ
【0316】
これらの技術は、クロミナンスサブサンプリングフォーマットのうちの2つが4:4:4フォーマット及び4:2:2フォーマットである場合に特に適用できる。
【0317】
HEVC4:2:0におけるQ行列の数は、昨今では、対応するチャンネル用の変換サイズごとに6つであり、イントラ及びインターごとに1セットである。4:4:4GBRの場合、量子化行列のいずれかのセットが、全てのチャンネルについて使用可能であり、または、量子化行列の3つの各セットが使用可能である。
【0318】
開示の実施形態では、少なくとも行列のうち少なくとも1つは1×N行列である。これは、(上述したように、)1以上の行列が、実際にはスケーリングリストまたはそれと同様のものであり、線形の1×Nに配列された係数のアレイである場合である。
【0319】
ここで提案した方法は、適用されたQPをインクリメントまたはデクリメントすることを含む。しかし、これは様々な手法で実現され得る。
【0320】
HEVCでは、2つのクロマチャンネル用のQPオフセットは、ビットストリームで送信される。これらのオフセットに±3が取り込まれ、またはそれらがクロマQPを導出するのに用いられる場合には±3がインクリメントまたはデクリメントされる。
【0321】
上述したように、HEVCでは、(ルナQP+クロマオフセット)が、クロマQPを導出するためにテーブルへのインデックスとして用いられる。このテーブルは、±3を取り込むように修正され得る(すなわち、元のテーブルの値が3によってインクリメントまたはデクリメントされる)。
【0322】
クロマQPが導出された後、通常のHEVCプロセスにより、処理結果が3だけインクリメントまたはデクリメントされる。
【0323】
順方向または逆方向の量子化のために、量子化係数または量子化ステップサイズ(inverseQStep/scaledQStep)を取得するためのテーブルへのインデックスとして、(QP % 6)が用いられることで、除算/乗算プロセスが実施される。(QP % 6は、6を法とするQPを意味する。)上述したように、これは変換データに適用される最終の量子化ステップサイズを表すものではなく、当該量子化ステップサイズは使用前にQ行列によってさらに修正され得る。
【0324】
HEVCのデフォルトテーブルは6の長さを有し、8つの(2倍の)値をカバーする。これは単に記憶容量に関する要求を軽減するためであり、テーブルは、実際の使用のために、QPの法(mod 6)に従ってテーブル中のエントリを選択することで拡張され、所定の基準値からの(QP-6を法とするQP)の差に従って、適切な2の累乗によって乗算または除算される。
【0325】
本実施形態は、QP値におけるオフセット±3を実現するために変形され得る。このオフセットは、テーブルルックアッププロセスにおいて適用されてもよいし、それに代えて修正されたQPを使った上記法プロセスが実行されてもよい。オフセットは、テーブルルックアップにおいて適用されることが想定されているが、テーブルにおける追加のエントリが以下のように提供されてもよい。
【0326】
1つ目の代替手法は、テーブルを3つのエントリによって拡張することである。ここで、新しいエントリは下記の通りである(インデックス値6−8用)。
【0327】
図30に例示されたテーブルは、[(QP%6)+3](QPインクリメント法)によってインデックスされている。QP%6は、6を法とするQPを意味する。
【0328】
図31に例示されたテーブルは、[(QP%6)−3](QPデクリメント法)によってインデックスされており、インデックス値−1から−3用に追加のエントリを有している。
【0329】
エントロピ符号化
基本的なエントロピ符号化では、符号語が入力データシンボルに割り当てられ、最短の利用可能な符号語が、入力データにおける最も確からしいシンボルに割り当てられる。平均すると、その結果は、無損失であるが、入力データのごく小さなリプレゼンテーションがある。
【0330】
この基本的な方法は、シンボル確率が、しばしば直前のデータ上で暫定的であることを考慮することによってさらに改善され、これにより、割り当てプロセスのコンテキストが適応される。
【0331】
このような方法では、コンテキスト変数(CV:Context Variable)が使用されて各確率モデルの選択が決定され、このようなCVが、HEVC4:2:0方式において提供される。
【0332】
4:2:2方式のエントロピ符号化を拡張するために、例えば、8×8ルマTUに対して4×4TUでなく、4×8クロマTUが使用され、選択的に、単純に垂直方向で同じCVの選択を繰り返すことによって、コンテキスト変数が提供される。
【0333】
しかしながら、本発明の一実施形態では、CVの選択は、左上の係数(高エネルギー、DC及び/又は低空間周波数係数)に対しては繰り返して行われず、代わりに、新たなCVが抽出される。この場合、例えば、ルママップからマッピングが抽出されてもよい。この方法は、4:4:4方式において使用されてもよい。
【0334】
符号化の間、4:2:0方式では、いわゆるジグザグスキャン(zig-scan)が、高周波数から低周波数へと順番に係数をスキャンする。しかしながら、この場合もやはり、4:2:2方式におけるクロマTUは非正方形であり、従って、本発明の一実施形態では、さらに水平方向とされるように、より一般的には、TUのアスペクト比に対応して、スキャンの角度が傾けられた異なるクロマスキャンが提案される。
【0335】
重要性マップのCVの選択のための近接、並びに、1又は2大きいCVの選択のためのc1/c2システムが、対応して適応される。
【0336】
同様に、本発明の一実施形態では、最後の有意係数(復号化における開始位置となる)は、共同位置ルマTUにおける最後の有意位置から差動的に符号化されたクロマTUに対する最後の有意位置で、4:4:4方式に対して調整を行うこともできる。
【0337】
係数スキャニングは、特定のTUサイズに依存する予測モードで行うこともできる。従って、イントラ予測モードに基づく同じTUサイズに対して、異なるスキャンオーダが使用され得る。
【0338】
4:2:0方式では、モード依存係数スキャニング(MDCS:Mode Dependent Coefficient Scanning)は、イントラ予測について4×4/8×8ルマTU及び4×4クロマTUに適用されるのみである。
【0339】
本発明の一実施形態では、4:2:2方式において、MDCSが、イントラ予測について4×8及び8×4クロマTUに適用されることが提案される。同様に、4:4:4方式において、MDCSが8×8及び4×4クロマTUに適用されることが提案される。
【0340】
インループフィルタ
非ブロック化(Deblocking)
非ブロック化は、全てのCU、PU及びTU境界に適用され、CU/PU/TU形状は、考慮されない。フィルタ強度及びサイズは、局所的な統計に依存し、また、非ブロック化は、8×8ルマピクセルの粒度を持つ。
【0341】
従って、4:2:0方式に適用される現在の非ブロック化が、4:2:2及び4:4:4方式においても適用されると予測される。
【0342】
サンプル適応オフセット
サンプル適応オフセット(SAO:Sample Adaptive Offsetting)では、各チャネルは、完全に独立である。SAOは、四分木を使用して、各チャネルについて画像データを分割し、生成されたブロックは、その大きさが少なくとも1つのLCUの大きさとされる。リーフブロックは、LCU境界に合わせられ、各リーフは、エンコーダにより決定された、3つのモードのうちの1つで動作することができる(中央バンドオフセット、サイドバンドオフセット、又はエッジオフセット)。各リーフは、そのピクセルを分類し、また、エンコーダは、SAO入力データ及びソースデータを比較することによって、16カテゴリのそれぞれに対するオフセット値を導き出す。これらのオフセットは、デコーダに送られる。復号化されたピクセルカテゴリに対するオフセットは、その値に加えられて、ソースからの偏差が最小化される。
【0343】
さらに、SAOは、ピクチャレベルで有効化又は無効化され、仮に、ルマで有効化される場合、各クロマチャネルとは別に有効化され得る。
【0344】
従って、この処理は、下層ブロック方式に対して非常に透過的であり、4:2:0方式に適用されている現在のSAOが、4:2:2及び4:4:4方式に対しても適用可能であると予測される。
【0345】
適応ループフィルタリング
4:2:0方式では、適用ループフィルタリング(ALF:Adaptive Loop Filtering)は、基準設定において無効とされている。しかしながら、原則的には(許されるなら)、ALFは、クロマについてピクチャ全体に適用される。
【0346】
ALFでは、ルマサンプルは、15カテゴリのうちの1つに記憶され、各カテゴリは、異なるウィナー型フィルタを使用する。
【0347】
これに反して、4:2:0では、クロマサンプルは、分類されておらず、Cbに対して1つ、Crに対して1つのウィナー型フィルタが存在するのみである。
【0348】
従って、本発明の一実施形態では、4:2:2及び4:4:4方式での増加するクロマ情報を考慮して、クロマサンプルが、例えば、4:2:2について7カテゴリに、4:4:4について15カテゴリに分類されることが提案される。
【0349】
一方、4:2:0方式では、ALFは、ALF制御フラグ(ALF制御深度によって特定されたCUレベルまで)を使用する、CU毎を基準としたルマについて無効とされ、ピクチャ毎を基準としたクロマについて無効とされる。
【0350】
従って、本発明の一実施形態では、クロマについて1つまたは2つのチャネル固有ALF制御フラグを有する4:2:2又は4:4:4方式が提案される。
【0351】
シンタックス
HEVCでは、4:2:0、4:2:2又は4:4:4方式を示すために、シーケンスレベルで示されるシンタックスが提案されている。しかしながら、本発明の一実施形態では、このレベルで、4:4:4GBRをも示すことが提案される。
【0352】
MDDT及びMDCS
ここで、モード依存方向性変換及びモード依存係数スキャニングの利用について説明する。なお、その両方を同じシステムで実施してもよいし、一方を利用して他方を利用しなくてもよいし、両方を利用しなくてもよい。
【0353】
まず、
図34〜
図38を参照して、MDCSについて説明する。
【0354】
いわゆる右上り斜めスキャンパターンについては
図16を参照して上述した。このスキャンパターンを利用して、DCT係数などの周波数分離係数を処理する順番を得る。右上り斜めスキャンパターンはスキャンパターンの一例であるが、他のパターンを利用することもできる。他の2つのスキャンパターンの例を、4×4ブロックの例を用いて、
図34及び
図35に概略的に示す。具体的には、水平スキャンパターン(
図34)及び垂直スキャンパターン(
図35)の2例である。
【0355】
MDCSにおいて、スキャンパターンは、利用する予測モードに基づいて、2つ以上の候補スキャンパターンからなる群から選択される。
【0356】
本例は、右上り斜めスキャンパターン、水平パターン、及び垂直パターンの3つの候補スキャンパターンからなる群に関する。しかしながら、2つ以上の候補パターンからなる異なる群を利用してもよい。
【0357】
図36を参照して、垂直スキャンパターンは、水平線から閾角度(モード番号)以内に収まる(大部分が水平な)モード6〜14に対して用いられる。水平スキャンパターンは、垂直線から閾角度(モード番号)以内に収まる(大部分が垂直な)モード22〜30に対して用いられる。
図36においては単に「斜め」スキャンとして示される右上り斜めスキャンパターンは、他のモードに対して用いられる。
【0358】
図37は、クロマサンプルの長方形配列に適用可能な方向予測モードに対する2つの候補スキャンパターン(垂直及び水平スキャンパターン)の考えられるマッピングを示す概略図である。このパターンは、ルマサンプルに対して用いたパターン(
図36)と異なる。
【0359】
図38は、スキャンパターンの選択のための構成を示す概略図である。この構成により、例えば、コントローラ343の機能の一部を実現することができる。
【0360】
選択部1620は、現在のブロックに対する予測モード及びルックアップテーブル1630に応答する。ルックアップテーブル1630は、スキャンパターンに対して予測モードをマッピングする。選択部1620は、選択されたスキャンパターンを示すデータを出力する。
【0361】
MDCSは、4:2:2及び4:4:4に対して有効であってもよい。予測モードに対するスキャンパターンのマッピングは、4:2:0に対するマッピングと同じでもよいし、異なっていてもよい。各チャネル比は、それぞれのマッピングを有していてもよいし(この場合、選択部1620は、そのチャネル比に対して同様に応答してもよい)、マッピングは全てのチャネル比に対して同じでもよい。MDCSは、例えば、閾値以下の一定のサイズのブロックのみに適用してもよい。例えば、MDCSを適用可能な最大TUサイズは、以下のとおりである。
【0363】
クロマに対して、MDCSは無効にしてもよいし、4×4(ルマ)TUのみに制限してもよいし、水平スキャン又は垂直スキャンのみを用いるTUに制限してもよい。MDCS機能の実施は、チャネル比により異なっていてもよい。
【0364】
したがって、本発明の実施形態によれば、予測されるサンプルと元のサンプルとの差が周波数分離及び符号化される4:2:2又は4:4:4のビデオデータを符号化する方法であって、2つ以上の候補予測モードの組からサンプルが有する複数のブロックのそれぞれに対して選択される予測対象サンプル関連の予測モードに従って、画像のルミナンスサンプル及び/又はクロミナンスサンプルを同じ画像から得られる他のそれぞれの参照サンプルを基に予測する工程と、上記サンプルと上記予測サンプルそれぞれとの差を検出する工程と、周波数分離変換によりサンプルのブロックに対して検出された差を周波数分離して、対応する1組の周波数分離係数を生成する工程と、クロミナンスサンプルとルミナンスサンプルとで異なるマッピングであり、少なくとも4:4:4フォーマットに対して異なるスキャンパターンと予測モードとのマッピング(したがって、言い換えれば、マッピングは4:4:4クロマデータと4:4:4ルマデータとで異なり、4:2:2ルマデータと4:2:2クロマデータとでは異なっていても、異なっていなくてもよい)により、サンプルのブロックに対する上記予測モードに基づいて、上記1組の周波数分離係数を符号化する順番を定義する2つ以上の候補スキャンパターンからなる組からスキャンパターンを選択する工程と、選択されたスキャンパターンに従って、周波数分離された差のデータを周波数分離係数の順番で符号化する工程とを含む符号化方法が提供される。
【0365】
マッピングは4:2:2ルミナンスデータと4:2:2クロミナンスデータとで異なっていてもよい。
【0366】
マッピングは、4:2:2ビデオデータと4:4:4ビデオデータとで異なっていてもよい。
【0367】
本発明の諸実施形態では、ルミナンスサンプルの現在のブロックのサイズは、4×4サンプル又は8×8サンプルである。また、本発明の実施形態は、1組の候補サイズからサンプルの現在のブロックのサイズを選択する工程と、選択したブロックサイズが上記候補サイズのうち所定のサブセットの1つであった場合、上記スキャンパターンの選択工程を適用する工程とを含む。このようにして、いくつかのブロックサイズに関してマッピング処理を適用することができ、他のブロックサイズに関しては適用しないようにすることができる。マッピングは、ルミナンスサンプルに関するもののみに(4:2:2に対して)適用してもよい。
【0368】
本発明の諸実施形態では、1組の候補スキャンパターンは、ルミナンスサンプルとクロミナンスサンプルとで利用方法が異なる。
【0369】
上記選択工程において、1組の大部分が水平な予測モードに関して水平スキャンパターンを選択し、1組の大部分が垂直な予測モードに関して垂直スキャンパターンを選択し、他の予測モードに関して斜め垂直パターンを選択してもよい。
【0370】
本発明の実施形態によれば、予測されるサンプルと元のサンプルとの差が周波数分離及び符号化される4:2:2又は4:4:4のビデオデータを復号化する方法であって、2つ以上の候補予測モードの組からサンプルが有する複数のブロックのそれぞれに対して選択される予測対象サンプル関連の予測モードに従って、画像のルミナンスサンプル及び/又はクロミナンスサンプルを同じ画像から得られる他のそれぞれの参照サンプルを基に予測する工程と、クロミナンスサンプルとルミナンスサンプルとで異なるマッピングであり、少なくとも4:4:4フォーマットに対して異なるスキャンパターンと予測モードとのマッピング(したがって、言い換えれば、マッピングは4:4:4クロマデータと4:4:4ルマデータとで異なり、4:2:2ルマデータと4:2:2クロマデータとでは異なっていても、異なっていなくてもよい)により、サンプルのブロックに対する上記予測モードに基づいて、上記1組の周波数分離係数を符号化する順番を定義する2つ以上の候補スキャンパターンからなる組からスキャンパターンを選択する工程と、選択されたスキャンパターンに従って、復号化対象サンプルとそれぞれの予測サンプルとの差を示す周波数分離したデータである周波数分離された差のデータを周波数分離係数の順番で復号化する工程とを含む復号化方法が提供される。
【0371】
MDTTに関して、
図39は、予測モードに従って周波数分離変換を選択するための構成を示す概略図である。この構成により、変換ユニット又はコントローラの機能の一部を実現することができる。
【0372】
選択部1700は、現在の予測モードを定義するデータを受信し、受信したモードに基づいて(2つ以上の候補変換からなる組から)変換を選択する。この変換は、変換エンジン1710が変換データ記憶部に記憶された必要な変換を示すデータに基づいて、画像サンプルを周波数変換係数に変換するにより適用される。
【0373】
候補変換の例としては、離散コサイン変換(DCT)、離散サイン変換(DST)、カルーネン・レーベ変換、及びサンプルの現在のブロックでの乗算を行うためのそれぞれの行と列によって定義される変換が挙げられる。
【0374】
MDDTは、例えば、4:4:4システムにおける4×4クロマブロックに関して有効であってもよい。しかしながら、本発明の諸実施形態では、MDDTは4:2:2データに関して有効である。
【0375】
したがって、本発明の実施形態によれば、4:2:2又は4:4:4のビデオデータを符号化する方法であって、2つ以上の候補予測モードの組からサンプルが有する複数のブロックのそれぞれに対して選択される予測対象サンプル関連の予測モードに従って、画像のルミナンスサンプル及び/又はクロミナンスサンプルを同じ画像から得られる他のそれぞれの参照サンプルを基に予測する工程と、上記サンプルと上記予測サンプルそれぞれとの差を検出する工程と、クロミナンスサンプルとルミナンスサンプルとで異なるマッピングであり、少なくとも4:4:4フォーマットに対して異なるスキャンパターンと予測モードとのマッピング(したがって、言い換えれば、マッピングは4:4:4クロマデータと4:4:4ルマデータとで異なり、4:2:2ルマデータと4:2:2クロマデータとでは異なっていても、異なっていなくてもよい)により、サンプルの現在のブロックに関連する上記予測モードに従って、2つ以上の候補周波数分離変換から周波数分離変換を選択する工程と、選択された周波数分離変換を用いて、検出された差を周波数分離することにより符号化する工程とを含む符号化方法が提供される。
【0376】
この候補変換は、離散コサイン変換、離散サイン変換、カルーネン・レーベ変換、及び(例えば、TXT
Tにより変換が定義されるように(ただし、Tは変換であり、上付きのTはの転置を表し、Xは形式のサンプルのブロックを表す))サンプルの現在のブロックでの乗算を行うためのそれぞれの行と列によって定義される変換からなるリストから選択された2つ以上の変換を含んでもよい。
【0377】
上述のように、本発明の諸実施形態では、予測対象サンプルのブロックに関連する予測モードは、1つ又は複数の他のそれぞれの参照サンプルを定義する予測方向を示し、又は、例えば、DC予測モードを示してもよい。この参照サンプルを基に、そのブロックの各サンプルが予測される。
【0378】
本発明の諸実施形態では、予測モードと周波数分離変換とのマッピングは、4:2:2フォーマットに対しては、ルミナンスデータとクロミナンスデータとで異なっていてもよい。
【0379】
本発明の諸実施形態では、ルミナンスサンプルの現在のブロックのサイズは、4×4サンプルである。あるいは、上記方法は、1組の候補サイズからサンプルの現在のブロックのサイズを選択する工程と、選択したブロックサイズが、上記1組の候補サイズの所定のサブセットの1つである場合、MDDTがいくつか(全てではない)のブロック(例えばTU)サイズに対してのみ利用されるように上記周波数分離変換の選択工程を適用する工程を含んでもよい。
【0380】
本発明の諸実施形態では、上記検出された差を符号化する工程は、サンプルのブロックに対する上記予測モードに基づいて、それぞれが上記1組の周波数分離係数を符号化する順番を定義する2つ以上の候補スキャンパターンからなる組からスキャンパターンを選択する工程と、選択されたスキャンパターンに従って、上記周波数分離された差のデータを周波数分離係数の順番で符号化する工程とを含む。すなわち、これはMDCSとMDDTとを利用するシステムを表す。
【0381】
符号化ブロックフラグ
符号化ブロックフラグ(CBF)は、ルマTUに対して、そのTUが非ゼロ係数を含むか否かを示すために用いられる。これにより、符号化対象データを有しないブロックをスキップする符号化処理を可能にする簡単なyes/noの応答が提供される。
【0382】
いくつかの構成では、CBFはクロマデータに対して用いられるが、各分割レベルで提供される。これは、クロマ成分は情報量が少ないことが多く、クロマブロックは、対応するルマブロックがデータを含まないことが分かる分割レベルよりも高い分割レベルのゼロデータを含むことが分かるためである。
【0383】
しかしながら、いくつかの実施形態では、CBFフラグを割り当てるために、クロマはルマと全く同じように扱われる。
【0384】
(CABAC符号化及びコンテキストモデル化)
図40は、CABACエントロピーエンコーダの動作を示す概略図である。
【0385】
CABACエンコーダは、バイナリデータ、すなわち、0と1という2つの記号のみで表されるデータに関して動作する。このエンコーダは、「コンテキスト」、すなわち既に符号化されたデータを基に次のデータに対する確率モデルを選択する、いわゆるコンテキストモデル化処理を利用する。コンテキストの選択は、既に復号化されたデータを基に、デコーダに渡される符号化データストリームにさらなる(コンテキストを規定する)データを追加する必要なくデコーダにおいて同じ決定を行うことができるように決定論的な方法で実施される。
【0386】
図40を参照して、符号化対象の入力データは、すでにバイナリ形式である場合、バイナリコンバータ1900に渡してもよい。すなわち、データが既にバイナリ形式であれば、コンバータ1900は(模式スイッチ1910によって)無視される。本実施形態では、バイナリ形式への変換は、実際には、量子化DCT(又は他の周波数分離した)係数のデータを一連のバイナリ「マップ」として表すことにより実施される。これについては後述する。
【0387】
バイナリデータは、その後、「正規」経路と「バイパス」経路(この2つの経路は別々の経路として概略的に示されているが、後述する本発明の諸実施形態では、実際には、わずかに異なるパラメータを用いることにより同じ処理段階で実施することができる)という2つの処理経路の1つにおいて処理してもよい。バイパス経路は、必ずしも正規経路と同じ形式のコンテキストモデル化を利用しない、いわゆるバイパスコーダ1920を採用する。CABAC符号化のいくつかの例では、特にデータのバッチを急速に処理する必要がある場合に、このバイパス経路を選択することができる。しかしながら、本実施形態では、いわゆる「バイパス」データの2つの特徴を記載する。1つ目の特徴は、バイパスデータは、単に50%の確率を示す固定コンテキストモデルを用いて、CABACエンコーダ(1950、1960)により処理されるということである。2つ目の特徴は、バイパスデータは、特に係数符号データ等の、あるカテゴリーのデータに関するということである。一方、正規の経路は、模式スイッチ1930及び1940により選択される。この経路は、コンテキストモデラ1950によって処理され、その後符号化エンジン1960によって処理されるデータに関与する。
【0388】
図40に示すエントロピーエンコーダは、ブロックが0の値のデータのみを含む場合、データ(すなわち、例えば、残りの画像のブロックに関する係数のブロックに対応するデータ)のブロックを単一値として符号化する。このカテゴリーに含まれない各ブロック、すなわち、少なくとも非ゼロのデータを含むブロックに対しては、「重要性マップ」が作成される。この重要性マップは、符号化対象データのブロックにおけるそれぞれの位置に対して、そのブロックにおいて対応する係数が非ゼロであるか否かを示す。バイナリ形式の重要性マップデータ自体は、CABAC符号化される。重要性マップを利用することは、重要性マップが重要性はゼロであると示す係数に対してデータを符号化する必要がないので、圧縮に役立つ。また、重要性マップは、最後の高周波数/末尾のゼロ係数全ての符号化を省略できるように、ブロックにおける最後の非ゼロ係数を示す特別なコードを含むことができる。符号化ビットストリームにおいて、重要性マップの後には、重要性マップによって規定される非ゼロ係数の値を定義するデータが続く。
【0389】
他のレベルのマップデータを作成し、CABAC符号化する。その例の1つは、重要性マップにより「非ゼロ」として示されるマップ位置における係数データが、実際には「1」の値を有するか否かを、バイナリ値(1=yes、0=no)として定義するマップである。他の例のマップは、重要性マップにより「非ゼロ」として示されるマップ位置における係数データが、実際には「2」の値を有するか否かを規定する。さらに他の例のマップは、重要性マップによって係数データが「非ゼロ」であると示されるマップ位置に対して、そのデータが「2を超える」値を有するか否かを示す。さらに他の例のマップは、「非ゼロ」と特定されたデータに対して、(+に対して1、−に対して0(勿論逆でもよい)等の所定のバイナリ表記を用いて)そのデータ値の符号を示す。
【0390】
本発明の諸実施形態では、重要性マップ及び他のマップは、例えば、量子化DCT係数を基に、スキャンユニット360により生成され、ジグザグスキャニング処理(又は上述のスキャニング処理から選択されるスキャニング処理)を受けた後、CABAC符号化される。
【0391】
一般的に言うと、CABAC符号化は、既に符号化されている他のデータに基づいて、符号化対象の次のビットに対して、コンテキスト、すなわち確率モデルを予測する工程に関与する。次のビットが、確率モデルにより「最も高い」と特定されたビットと同じである場合、「次のビットは確率モデルと一致する」という情報は、非常に効率よく符号化することができる。それと比較して、「次のビットは確率モデルと一致しない」という情報を符号化するのは効率的ではない。したがって、エンコーダの良好な動作のために、コンテキストデータの由来は重要である。「適用可能」という用語は、次の(まだ符号化されていない)データに良好に適合させようとして、そのコンテキスト、すなわち確率モデルが適用されること、又は符号化の間に変更されることを意味する。
【0392】
簡単な例示として、書き言葉の英語において、「U」という文字は比較的珍しい。しかしながら、「Q」という文字の直後に位置する文字では、「U」は実際、一般的に用いられる。したがって、確率モデルは「U」という確率を非常に低い値として設定する可能性があるが、現在の文字が「Q」であれば、次の文字としての「U」に対する確率モデルは、非常に高い確率値に設定することができる。
【0393】
本構成では、少なくとも重要性マップ及び非ゼロ値が1(又は2)であるか否かを示すマップに対してCABAC符号化を利用する。これら実施形態においてバイパス処理はCABAC符号化と同一であるが、確率モデルは1及び0の等しい(0.5:0.5)確率分布で固定であるという事実に対しては、少なくとも符号データ及び値が2を超える値であるか否かを示すマップに対して用いられる。2を超える値として特定されたこれらデータ位置に対して、いゆわるエスケープデータ符号化を個別に実施して、そのデータの実際の値を符号化することができる。この符号化は、ゴロムライス符号化技術を含んでもよい。
【0394】
CABACコンテキストモデル化及び符号化処理は、WD4:Working Draft 4 of High-Efficiency Video Coding, JCTVC-F803_d5, Draft ISO/IEC 23008-HEVC; 201x(E) 2011-10-28に詳細に記載されている。
【0395】
コンテキスト変数は、スライスの処理の最後にリセットされる。
【0396】
ここで、ビデオデータを符号化する方法であって、画像のルミナンスサンプル及び/又はクロミナンスサンプルのブロックを、他のそれぞれの参照サンプル又は値から予測する工程と、ブロックにおける上記サンプルと上記予測サンプルそれぞれとの差を検出する工程と、係数によって表される空間周波数周に従って小さい方から順序付けされる波数分離係数の対応する配列を生成するように、各ブロックに関して検出された差を周波数分離する工程と、特定の係数値を有する係数の確率を示すコンテキスト変数に対して係数を符号化するコンテキスト適用可能な算術符号を用いて上記周波数分離係数をエントロピー符号化する工程とを含み、上記エントロピー符号化工程は、非矩形のサブ配列である2つ以上の係数群に各配列を分割する工程と、その配列又は近隣のサンプルのブロックに対応する配列において、上記係数によって示される空間周波数に従って、1つ又は複数の近隣の係数群における係数の値に基づいて係数を符号化するためのコンテキスト変数を選択する工程とを含む符号化方法について説明する。
【0397】
これは、近隣サブ配列において非ゼロ係数があるか否かに従って、サブ配列(係数のブロックの一部であるサブ配列)を基に、サブ配列に設定される係数位置へコンテキスト変数の割り当てパターンを割り当てることを可能にする近隣コンテキスト変数割り当てとして知られることもある。周波数分離データとともに使用するために選択されたスキャンパターンは、エントロピー符号化工程が、1つ又は複数の候補スキャンパターンからなる組から選択されたスキャンパターンに応じた順番で、配列の係数を符号化する工程を含むように、関連性があってもよい。係数の各サブ配列は、その配列に適用可能なスキャンパターンで定義される順番で並べられたn個の連続した係数の組であると考えることができる。なお、nは配列における係数の数の整数因子である。例えば、nは16でもよい。
【0398】
図41A〜
図41Dは、以前に提案された近隣割り当てを示す概略図である。
【0399】
本発明の諸実施形態では、選択工程において、各群において連続した係数のサブセットがスキャン順でそれぞれの候補コンテキスト変数に割り当てられるように、群における係数を1組の候補コンテキスト変数の1つに割り当てる。
図42A〜
図43Bに示す例では、垂直スキャン順を用いて、その順番で割り当てが実施される。
図44において、水平スキャン順を用いて、その順番で割り当てを実施する。
【0400】
上述のように、上記選択工程は、近隣係数がゼロ値を有するか否かに依存する。各係数の群に対して、2つの候補コンテキスト係数が存在してもよい。
【0401】
ここで、
図42A、
図42B、
図43A、
図43B、及び
図44の説明に戻る。各図では、配列において水平空間周波数が左から右へ向かって増加し、垂直空間周波数が上から下に向かって増加するように、係数を順序付けるフォーマットを採用している。
【0402】
データ喪失(例えば、写真又はスライスのエッジにあるデータ、又はまだ符号化されていないデータ)に対する処理としては、2つの選択肢がある。一方の選択肢(
図42A)では、現在の群の近隣の1群の係数がまだ周波数分離されていない場合、選択工程において、現在の群における係数に対するコンテキスト変数を選択するために、その群にゼロ値が割り当てられる。他方の選択肢(
図42B)では、現在の群の近隣の第1の群の係数がまだ周波数分離されていないが、現在の群の近隣の第2の群が周波数分離されている場合、選択処理において、現在の群における係数に対するコンテキスト変数を選択するために第2の群の値が第1の群に割り当てられる。
【0403】
図42A及び
図42Bを参照して、現在の群の右の群及び下の群が非ゼロ係数データを含む場合、選択工程により現在の群の最初のm個の係数に1つのコンテキスト変数をスキャン順で割り当て、他のコンテキスト変数を現在の群の残りの係数に割り当てる。現在の群の右の群が非ゼロデータを含むが現在の群の下の群が非ゼロデータを含まない場合、選択工程により1つのコンテキスト変数を現在の群の上半分に割り当て、現在の群の残りの係数に他のコンテキスト変数を割り当てる。現在の群の下にある群が非ゼロデータを含むが現在の群の右の群が非ゼロデータを含まない場合、選択工程により現在の群の最初のp個の係数に1つのコンテキスト変数をスキャン順で割り当て、他のコンテキスト変数を現在の群の残りの係数に割り当てる。現在の群の下にある群が非ゼロデータを含むが現在の群の右の群が非ゼロデータを含まない場合、選択工程により1つのコンテキスト変数を現在の群の右半分にスキャン順で割り当て、他のコンテキスト変数を現在の群の残りの係数に割り当てる。図に示す例では、m及びpは整数であり、mとpは等しくない。特に、図に示す例では、現在の群が8×2又は2×8係数のサブ配列を含み、mは13、pは6である。
【0404】
図に示す方法は、少なくとも1次元において少なくとも8サンプルのサイズを有するサンプルのブロックに適用可能である。例は、8×8ブロック、又はそれ以上のサイズのブロックである。
【0405】
本技術は、サンプル(TU)のブロックのうち少なくともいくつかのブロックが矩形でも、非矩形でも、利用可能である。
【0406】
ここで、
図45を参照して、本発明の実施形態によれば、画像のルミナンスサンプル及び/又はクロミナンスサンプルのブロックを他のそれぞれの参照サンプル又は値から予測する工程と、ブロック内のサンプルとそれぞれの予測サンプルとの差を検出する工程と、その1つはブロックのDC値を表す係数が表す空間周波数に従って順序付けされた周波数分離係数の対応する配列を生成するように各ブロックに関して検出された差を周波数分離する工程と、特定の係数値を有する係数の確率を示すコンテキスト変数に対して係数を符号化するコンテキスト適用可能な算術コードを用いて周波数分離係数をエントロピー符号化する工程とを含むビデオデータを符号化する方法であって、上記エントロピー符号化工程は、各配列を非矩形のサブ配列である2以上の係数群に分割する工程と、矩形のサブ配列に適用可能なコンテキスト変数割り当ての位置繰り返しを実施し、DC係数に対するコンテキスト変数の割り当ての位置繰り返しを実施しないことにより、係数が表す空間周波数に係る非矩形のサブ配列に関して生成したそれぞれの係数を符号化するためにコンテキスト変数の割り当てを生成する工程とを含む符号化方法が提供される。
図45に示すように、8×16サブ配列に対する割り当てパターンは、8×8サブ配列割り当てパターンから得られる値繰り返しパターンであるが、DC割り当て(図に示す左上の隅)は値繰り返しではない。
【0407】
データ信号
上述の符号化装置の変形例により生成されたデータ信号及び、このような信号を送信する記憶装置又は伝送媒体は、本発明の実施形態を表すと考えられることが理解されよう。
【0408】
処理方法、符号化方法、又は復号化方法を上述したが、このような方法を実施するように構成された装置もまた本発明の実施形態を表すと考えられることが理解されよう。このような技術を組み込んだビデオ記憶装置、伝送装置、キャプチャ装置、及び/又は表示装置は、本発明の実施形態を表すと考えられることも理解されよう。
【0409】
本発明の実施形態はソフトウェア制御のデータ処理装置により、少なくとも部分的に、実施されると記載した限りにおいて、そのようなソフトウェアを有する光ディスク、磁気ディスク、半導体メモリ等の非一時的なコンピュータ可読媒体も、本発明の実施形態を表すと考えられることが理解されよう。
【0410】
上述の教示に照らして本発明の種々の変更及び変形が可能であることは明白である。したがって、本発明は、添付の請求の範囲内において、特に記述したものとは異なる態様にて実施してもよいことが理解されるべきである。
【0411】
実施形態の各特徴が以下の項によって定義されている。
1. ビデオデータ符号化法であって、
他の各参照サンプル又は値から、画像のルミナンス及び/又はクロミナンスサンプルのブロックを予測し、
ブロックにおけるサンプル及び各予測サンプル間の差を検出し、
各ブロックについての検出された差を周波数分離して、係数によって表される空間周波数の増加に応じて順番付けられた空間分離係数の対応する配列を生成し、
特定の係数値を持つ係数の確率を示すコンテキスト変数について、係数を符号化するコンテキスト適応算術コードを使用して、周波数分離係数をエントロピ符号化し、
エントロピ符号化を行うステップにおいて、
各配列を2以上の係数グループに分割し、グループは、非正方形サブ配列であり、
係数によって表される空間周波数に応じて、かつ、配列又はサンプルの近接ブロックに対応する配列における係数の1以上の隣接グループにおける係数の値に基づいて、係数を符号化するためのコンテキスト変数を選択する
方法。
2. 上記1.に記載の方法であって、
エントロピ符号化を行うステップにおいて、
1以上の候補スキャンパターンの組から選択されたスキャンパターンに基づいて、順番に配列の係数を符号化する
方法。
3. 上記2.に記載の方法であって、
配列における係数の各グループは、配列に適用可能なスキャンパターンによって定義された順番で連続するn組の係数を含み、nは、配列における係数の数の整数倍である
方法。
4. 上記3.に記載の方法であって、
n=16である
方法。
5.上記各項のうちいずれか1つに記載の方法であって、
選択するステップにおいて、
各グループ内で、連続する係数のサブセットが、スキャン順に各候補コンテキスト変数の1つにそれぞれ割り当てられるように、候補コンテキスト変数の組の1つに、グループにおける係数が割り当てられる
方法。
6.上記各項のうちいずれか1つに記載の方法であって、
選択するステップは、隣接係数がゼロの値を持つかどうかに基づく
方法。
7.上記6.に記載の方法であって、
係数の各グループに対して、2つの候補コンテキスト変数が存在する
方法。
8.上記6.又は7.に記載の方法であって、
水平空間周波数が、配列内において左から右へ増え、かつ、垂直空間周波数が配列内において上から下に増えるように、配列内において係数が順番付けられ、
現在のグループの右及び下の両グループが、非ゼロ係数データを含む場合、一方のコンテキスト変数が、選択ステップによって、スキャン順で、現在のグループの第1のm係数に割り当てられ、他方のコンテキスト係数が、現在のグループの残留係数に割り当てられ、
現在のグループの右のグループが非ゼロデータを有するが、現在のグループの下のグループが有しない場合、一方のコンテキスト変数が、選択ステップによって、現在のグループの上半分に割り当てられ、他方のコンテキスト変数が、現在のグループの残留係数に割り当てられ、
現在のグループの下のグループが非ゼロデータを有するが、現在のグループの右のグループが有しない場合、一方のコンテキスト変数が選択ステップによって、現在のグループの第1のp係数にスキャン順で割り当てられ、他方のコンテキスト係数が現在のグループの残留係数に割り当てられ、
現在のグループの下のグループが非ゼロデータを有しておらず、現在のグループの右のグループも有していない場合、一方のコンテキスト変数が選択ステップによって、スキャン順で現在のグループの第1のp係数に割り当てられ、他方のコンテキスト変数が現在の残留係数に割り当てられ、
ここで、m及びpは整数であり、mはpと等しくない
方法。
9. 上記8.に記載の方法であって、
現在のグループは、サブ配列8×2又は2×8係数を含み、m=13、p=6である
方法。
10.上記6.〜9.のうちいずれか1つに記載の方法であって、
現在のグループに隣接する係数のグループが、まだ周波数分離されていない場合、選択ステップは、現在のグループの係数ためのコンテキスト変数を選択する目的で、ゼロ値をグループに対して割り当てる
方法。
11.上記6.〜9.のうちいずれか1つに記載の方法であって、現在のグループに隣接する係数の第1のグループが、まだ周波数分離されていない場合が、現在のグループに近接する第2のグループが周波数分離されている場合、現在のグループにおける係数のためのコンテキスト係数を選択する目的で、第2のグループの値の、第1のグループへの割り当てを選択する
方法。
12.上記各項のうちいずれか1つに記載された方法であって、
サンプルのブロックが少なくとも1次元に、少なくとも8サンプルのサイズを有する
方法。
13.上記各項のうちいずれか1つに記載の方法であって、
少なくとも幾つかのサンプルブロックは、正方形である
方法。
14.上記各項のうちいずれか1つに記載の方法であって、
少なくとも幾つかのサンプルブロックは、非正方形である
方法。
15.ビデオデータ符号化方法であって、
他の各参照サンプル又は値から、画像のルミナンス及び/又はクロミナンスサンプルのブロックを予測し、
ブロック内のサンプル及び各予測サンプルの差を検出し、
各ブロックに対応する検出された差を周波数分離して、係数によって表された空間周波数に応じて順序付けられた周波数分離係数の対応する配列を生成し、1つの係数は、ブロックの値を表し、
特定の係数値を持つ係数の確率を示すコンテキスト変数に関する係数を符号化するコンテキスト算術コードを使用して、周波数分離係数をエントロピ符号化し、
エントロピ符号化において、
各配列を2以上の係数グループに分割し、グループは、非正方形サブ配列であり、
dc係数へのコンテキスト係数の割り当てを繰り返して位置させずに、正方形サブ配列に摘要可能なコンテキスト変数を繰り返して位置させることによって、係数によって表される空間周波数に応じて、非正方形サブ配列について生成された各係数を符号化するために、コンテキスト変数の割り当てを生成する
方法。
16.上記15.に記載の方法であって、
非正方形ブロックについて、dc係数に割り当てられたコンテキスト変数は、他のどの係数にも割り当てられない
方法。
17.コンピュータにより実行されると、コンピュータに、上記各項のうちいずれか1つに記載された方法を実行させるプログラム。
18.上記17.に記載のプログラムを記憶する、コンピュータ読み取り可能な非一時的記録媒体。
19.上記1.〜16.のうちいずれか一つの方法によって生成された符号化データを含むデータ信号。
20. ビデオデータ符号化装置であって、
他の各参照サンプル又は値から、画像のルミナンス及び/又はクロミナンスサンプルのブロックを予測する予測部と、
ブロックにおけるサンプル及び各予測サンプル間の差を検出する検出部と、
各ブロックについての検出された差を周波数分離して、係数によって表される空間周波数の増加に応じて順番付けられた空間分離係数の対応する配列を生成する変換部と、
特定の係数値を持つ係数の確率を示すコンテキスト変数について、係数を符号化するコンテキスト適応算術コードを使用して、周波数分離係数をエントロピ符号化するエントロピ符号化部とを具備し、
エントロピ符号化部は、
各配列を2以上の係数グループに分割し、グループは、非正方形サブ配列であり、
係数によって表される空間周波数に応じて、かつ、配列又はサンプルの近接ブロックに対応する配列における係数の1以上の隣接グループにおける係数の値に基づいて、係数を符号化するためのコンテキスト変数を選択する
装置。
21.ビデオデータ符号化装置であって、
他の各参照サンプル又は値から、画像のルミナンス及び/又はクロミナンスサンプルのブロックを予測する予測部と、
ブロック内のサンプル及び各予測サンプルの差を検出する検出部と、
各ブロックについての検出された差を周波数分離して、係数によって表される空間周波数の増加に応じて順番付けられた空間分離係数の対応する配列を生成する変換部と、
各ブロックに対応する検出された差を周波数分離して、係数によって表された空間周波数に応じて順序付けられた周波数分離係数の対応する配列を生成し、1つの係数は、ブロックの値を表す変換部と、
特定の係数値を持つ係数の確率を示すコンテキスト変数に関する係数を符号化するコンテキスト算術コードを使用して、周波数分離係数をエントロピ符号化するエントロピ符号化部と、
エントロピ符号化部は、
各配列を2以上の係数グループに分割し、グループは、非正方形サブ配列であり、
dc係数へのコンテキスト係数の割り当てを繰り返して位置させずに、正方形サブ配列に摘要可能なコンテキスト変数を繰り返して位置させることによって、係数によって表される空間周波数に応じて、非正方形サブ配列について生成された各係数を符号化するために、コンテキスト変数の割り当てを生成する
装置。
22.上記21.または22.を備えるビデオ記憶、送信、キャプチャ又は表示装置。
さらに、各実施形態が以下の項によって定義される。
1. ビデオデータ符号化又は復号化法であって、
画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連づけられた予測モードに応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが第1及び第2のクロミナンス要素を含み、
少なくとも幾つかのサンプルについて、画像領域に対応する各ルミナンス及びクロミナンス要素で同じ予測モードを選択する
方法。
2. ビデオデータ符号化又は復号化法であって、
画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連づけられた予測モードに応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが第1及び第2のクロミナンス要素を含み、
少なくとも幾つかのサンプルについて、画像領域に対応する各ルミナンス及びクロミナンス要素で異なる予測モードを選択する
3.上記1.または2.に記載の方法であって、
画像領域に対応する各ルミナンス及びクロミナンス要素で同じ予測モード又は異なる予測モードを選択し、選択は、画像シーケンス、画像、又は画像領域に応じて行われる
方法。
4.上記3.に記載の方法であって、
符号化動作において、
ルミナンス及びクロミナンス要素で同じ予測モードを使用して、画像領域の第1の試行符号化を実行し、
ルミナンス及びクロミナンス要素で異なる予測モードを使用して、画像領域の第2の試行符号化を実行し、
第1及び第2の試行符号化によって符号化されたデータに基づいて、ピックチャシーケンス、ピクチャ、又はピクチャ領域で使用するための、同じ予測モード又は異なる予測モードを選択する
方法。
5. 上記4.に記載の方法であって、
第1及び第2の試行符号化によって符号化されたデータの1以上の所定の特性を検出し、
検出された1以上の特性に基づいて、ピックチャシーケンス、ピクチャ、又はピクチャ領域で使用するための、同じ予測モード又は異なる予測モードを選択する
方法。
6.1以上の特性は、
画像ノイズ
画像歪み、及び
画像データ品質
により構成される組から選択された特性を含む
方法。
7. 上記4〜6.のうちいずれか1つに記載の方法であって、
選択は、個々の画像スライス又は画像ブロックについて行われる
方法。
8.上記4〜7.のうちいずれか1つに記載の方法であって、
同じ予測モード及び異なる予測モードのどちらが使用されるかを示す符号化されたビデオ信号に情報を関連づけ、同じ予測モードが用いられる場合、単予測モードを識別し、または、異なる予測モードである場合、それらの異なる予測モードを識別する
方法。
9. 上記1.〜3のうちいずれかに記載の方法であって、
復号化のためのビデオデータに関連づけられた情報を検出し、情報は、同じ予測モード又は異なる予測モードが復号化のためのビデオデータに関連付けられているかどうかを定義する
方法。
10.上記各項のうちいずれか1つに記載の方法であって、
画像は、4:2:2又は4:4:4ビデオ信号の一部を形成する
方法。
11.コンピュータにより実行されると、コンピュータに、上記各項のうちいずれか1つに記載された方法を実行させるプログラム。
12.上記11.に記載のプログラムを記憶する、コンピュータ読み取り可能な非一時的記録媒体。
13.上記1.〜10.のうちいずれか一つの方法によって生成された符号化データを含むデータ信号。
14. ビデオデータ符号化又は復号化装置であって、
画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連づけられた予測モードに応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが第1及び第2のクロミナンス要素を含み、
少なくとも幾つかのサンプルについて、画像領域に対応する各ルミナンス及びクロミナンス要素で同じ予測モードを選択する制御部
を具備する装置。
15. ビデオデータ符号化又は復号化装置であって、
画像のルミナンス及びクロミナンスサンプルが、予測されるサンプルに関連づけられた予測モードに応じて、同じ画像から抽出された他の各参照サンプルから予測され、クロミナンスサンプルが第1及び第2のクロミナンス要素を含み、
少なくとも幾つかのサンプルについて、画像領域に対応する各ルミナンス及びクロミナンス要素で異なる予測モードを選択する制御部
を具備する装置。
16.上記14.又は15.に記載の装置であって、
制御部は、画像シーケンス、画像、又は画像領域に応じて、画像領域に対応する各ルミナンス及びクロミナンス要素で同じ予測モード又は異なる予測モードを選択する
装置。
17.上記14〜16.のうちいずれか1つの装置を含むビデオ記憶、送信、キャプチャ、又は表示装置。