【文献】
Cheung Auyeung, Wei Liu,Parallel processing friendly simplified context selection of significance map,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月20日,JCTVC-D260
(58)【調査した分野】(Int.Cl.,DB名)
要素のマトリクスにより表される顕著性マップを処理する方法であって、前記マトリクスは複数の走査線に沿って符号化され、各走査線は前記マトリクスの前記要素のうちの1つ又は複数を含み、
前記方法は、
前記複数の要素のマトリクスの各要素に使用すべきコンテキストモデルを決定することであって、
前記複数の要素のマトリクスは、高さ×幅の面積を有し、前記複数の要素の各要素は、位置(y,x)を有し、ここで、0≦y≦(高さ−1)および0≦x≦(幅−1)であり、
前記複数の走査線がジグザグパターンを形成する場合、
位置(0,0)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(1,0)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの位置(1,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(0,1)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの位置(0,1)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の走査線が垂直パターンを形成する場合、
0≦k≦(高さ−1)の各位置(k,0)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(k,0)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の走査線が水平パターンを形成する場合、
0≦p≦(幅−1)の各位置(0,p)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,p)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の要素のマトリクスの他の要素では、前記マトリクスの一部分の要素に基づいて前記複数の走査線の第1の走査線の要素に使用すべきコンテキストモデルを決定し、前記一部分の要素は前記複数の走査線のうちの第2の走査線の要素からなり、前記第2の走査線は前記第1の走査線に隣接する
ことにより、前記複数の要素のマトリクスの各要素に使用すべきコンテキストモデルを決定すること、
それぞれ決定されるコンテキストモデルに基づいて各要素を処理することを備える、方法。
前記処理ステップを実行するための前記命令は、前記要素を符号化する命令および前記要素を復号化する命令のうちの1つの命令をさらに含む、請求項15に記載のシステム。
【発明を実施するための形態】
【0006】
詳細な説明
本発明の様々な実施形態について、添付図面を参照してより詳細に後述する。
しかし、添付図面が本発明の実施形態を示し、したがって、本発明の範囲の限定として見なされるべきではなく、他の等しく効果的な実施形態を認め得ることに留意されたい。
【0007】
本発明の様々な実施形態及び特徴についてこれより説明する。本発明の一実施形態では、ビデオデータ係数のマトリクス(matrix)の顕著性マップ(significance map)は、コンテキスト適応型二値算術符号化(CABAC)を使用して符号化又は復号化される。より詳細には、量子化され変換された係数のマトリクスの顕著性マップは、(符号化又は復号化のいずれか一方で)走査パターンに沿って線(走査線と呼ばれる)毎に走査される。各走査線は走査パターンの垂直部分、水平部分、又は対角部分であり得る。特定の走査線内で処理される各要素のコンテキストモデルは、その走査線内にはなく、他の走査線内にある隣接要素の値に基づいて選ばれる。いくつかの実施形態では、隣接要素は他の2本以下の走査線内にある。他の実施形態では、近接要素は他の1本の走査線内のみにある。
【0008】
同じ走査線内にある隣接要素に頼らないことにより、並列処理が促進される。例えば、第1の符号器はある走査線に沿って二進数を処理することができ、その間、第2の符号器は並列して、同じ走査線内の別の二進数を処理することができる。この同時処理は、2つの二進数のそれぞれのコンテキストモデルが相互依存していないことにより促進される。すなわち、第1の符号器により処理されている二進数は、コンテキストモデルの選択に関して、第2の符号器により処理されている二進数に依存しない。
【0009】
本発明の別の実施形態では、変換領域内のブロックの場合、関連付けられた顕著性マップが、走査パターンを辿って符号化される。走査パターンは、現在のブロック、現在のスライス、現在のピクチャ、若しくは現在のシーケンスに対して事前に決定されるか、又は現在のブロック、現在のスライス、現在のピクチャ、若しくは現在のシーケンスに利用可能な少数の可能な走査パターンのうちの1つであることができる。
【0010】
本発明のさらに別の実施形態では、顕著性マップ内の要素のコンテキストモデルは、変換領域内の要素の周波数位置に基づいて選択される。変換領域内の低周波数位置にある要素は、他の変換ブロック内にあるが、同じ周波数位置にある他の要素と同じコンテキストモデルを共有し得、その理由は、同じ周波数位置にあるこれらの要素間に高い相関がある可能性があるためである。変換領域内の高周波数位置にある要素は、同じ走査線に沿った隣接符号化要素を除き、同じブロック内の隣接する符号化要素の値(0又は1)に基づいて決定し得る。
【0011】
本発明の実施形態を使用し得るビデオシステムの例についてこれより説明する。図中、機能ブロックとして示される要素をハードウェア、ソフトウェア、又はこれらの組み合わせで実施し得ることが理解される。さらに、本発明の実施形態は、パーソナルコンピュータ、スマートフォン、又はタブレットコンピュータ等の他のシステムで利用することもできる。
【0012】
図1Aを参照すると、全体的に10と示されるビデオシステムは、ケーブルテレビネットワークのヘッドエンド100を含む。ヘッドエンド100は、ビデオコンテンツを近隣区域129、130、及び131に配信するように構成される。ヘッドエンド100は、ヘッドエンド階層内で動作し得、階層内で高いヘッドエンドほど、一般に、大きな機能を有する。ヘッドエンド100は、衛星放送アンテナ112に通信可能にリンクされ、衛星放送アンテナ112から非ローカル番組のビデオ信号を受信する。ヘッドエンド100はローカル局114にも通信可能にリンクされ、ローカル局114はローカル番組をヘッドエンド100に配信する。ヘッドエンド100は、衛星放送アンテナ112から受信されるビデオ信号を復号化する復号器104、ローカル局114からローカル番組を受信するオフエア受信器106、ヘッドエンド100の様々な構成要素間でデータトラフィックをルーティングする切り替え器(switcher)102、顧客に配信するためにビデオ信号を符号化する符号器116、顧客に配信するために信号を変調する変調器118、及び様々な信号を結合して単一のマルチチャネル伝送にする結合器120を含む。
【0013】
ヘッドエンド100は、ハイブリッドファイバケーブル(HFC)ネットワーク122にも通信可能にリンクされる。HFCネットワーク122は複数のノード124、126、及び128に通信可能にリンクされる。各ノード124、126、及び128は、近隣区域129、130、及び131のうちの1つに同軸ケーブルによりリンクされ、ケーブルテレビ信号をその近隣地区に配信する。
図1Aの複数の近隣地区130の1つはより詳細に示される。近隣地区130は、
図1Aに示される家132を含むいくつかの住宅を含む。家132内には、ビデオディスプレイ136に通信可能にリンクされたセットトップボックス134がある。セットトップボックス134は、第1の復号器138及び第2の復号器140を含む。第1及び第2の復号器138及び140は、ユーザインタフェース142及び大容量記憶装置144に通信可能にリンクされる。ユーザインタフェース142はビデオディスプレイ136に通信可能にリンクされる。
【0014】
動作中、ヘッドエンド100は、ローカル及び非ローカル番組のビデオ信号を衛星放送アンテナ112及びローカル局114から受信する。非ローカル番組ビデオ信号は、デジタルビデオストリームの形態で受信され、その一方で、ローカル番組ビデオ信号はアナログビデオストリームとして受信される。いくつかの実施形態では、ローカル番組はデジタルビデオストリームとして受信することもできる。デジタルビデオストリームは復号器104により復号化され、顧客の要求に応答して切り替え器102に送信される。ヘッドエンド100は、大容量記憶装置110に通信可能にリンクされたサーバ108も含む。大容量記憶装置110は、ビデオオンデマンド(VOD)を含む様々な種類のビデオコンテンツを記憶し、サーバ108はビデオコンテンツを検索し、スイッチャー102に提供する。切り替え器102は、ローカル番組を変調器118に直接ルーティングし、変調器118はローカル番組を変調し、非ローカル番組(任意のVODを含む)を符号器116にルーティングする。符号器116は、非ローカル番組をデジタル符号化する。次に、符号化非ローカル番組は変調器118に送信される。結合器120は、変調アナログビデオデータ及び変調デジタルビデオデータを受信し、ビデオデータを結合し、マルチ無線周波数(RF)チャネルを介してHFCネットワーク122に送信する。
【0015】
HFCネットワーク122は、結合ビデオデータをノード124、126、及び128に送信し、これらのノードはデータを各近隣地区129、130、及び131に再送信する。家132はこのビデオデータをセットトップボックス134、より詳細には第1の復号器138及び第2の復号器140において受信する。第1及び第2の復号器138及び140は、ビデオデータのデジタル部分を復号化し、復号化データをユーザインタフェース142に提供し、次に、ユーザインタフェース142は復号化データをビデオディスプレイ136に提供する。
【0016】
図1Aの符号器116並びに復号器138及び140(並びに本明細書に記載される他の全てのステップ及び機能)は、メモリ又は別の種類の記憶装置等のコンピュータ可読記憶装置に記憶されるコンピュータ可読命令を含むコンピュータコードとして実施し得る。コンピュータコードは、特定用途向け集積回路(ASIC)又は他の種類の回路等のプロセッサによりコンピュータシステムで実行される。例えば、符号器116を実施するコンピュータコードは、ヘッドエンド100に存在するコンピュータシステム(サーバ等)で実行し得る。他方、復号器138及び140のコンピュータコードは、一種のコンピュータシステムを構成するセットトップボックス134で実行し得る。コードは、ソースコード、オブジェクトコード、実行可能コード、又は他の形式のプログラム命令から構成されるソフトウェアプログラムとして存在し得る。
【0017】
図1Bは、符号器116並びに復号器138及び140のコンピュータコードを実行し得るコンピュータシステムの例を示す。コンピュータシステムは、全体的に400と示され、本明細書に記載される方法、機能、及び他のステップの幾つか又は全てを実行するソフトウェア命令を実施又は実行し得るプロセッサ401又は処理回路を含む。プロセッサ401からのコマンド及びデータは、通信バス403を介して通信される。コンピュータシステム400は、ランダムアクセスメモリ(RAM)等のコンピュータ可読記憶装置402も含み、コンピュータ可読記憶装置402に、実行中、プロセッサ401のソフトウェア及びデータが存在し得る。記憶装置402は不揮発性データ記憶装置も含み得る。コンピュータシステム400は、ネットワークに接続するためのネットワークインタフェース404も含み得る。他の既知の電子構成要素を追加してもよく、又はコンピュータシステム400に示される構成要素と置換してもよい。コンピュータシステム400は、ヘッドエンド100に存在し、符号器116を実行してもよく、又はセットトップボックス134内に実施して、復号器138及び140を実行してもよい。さらに、コンピュータシステム400は、ヘッドエンド100及びセットトップボックス134以外の場所に存在してもよく、小型化して、スマートフォン又はタブレットコンピュータに一体化してもよい。
【0018】
本発明の実施形態において、ビデオデータが符号器116並びに復号器138及び140によりいかに符号化され復号化されるかの高水準な説明をこれより提供する。この実施形態では、符号器及び復号器は高性能ビデオ符号化(HEVC)方法に従って動作する。HEVCは、ブロックに基づくハイブリッド空間及び時間予測符号化方法である。HEVCでは、入力ピクチャはまず、
図2Aに示されるように、LCU(largest coding units:最大符号化ユニット)と呼ばれる正方形ブロックに分割される。基本符号化ユニットが16×16ピクセルのマクロブロックである他のビデオ符号化規格と異なり、HEVCでは、LCUは128×128ピクセルと大きくすることができる。LCUは、CU(符号化ユニット)と呼ばれる4つの正方形ブロックに分割することができ、CUはLCUのサイズの1/4である。各CUは4つのより小さなCUにさらに分けることができ、このCUは元のCUのサイズの1/4である。特定の基準が満たされるまで、分割プロセスを繰り返すことができる。
図3Aは、CUに分割されたLCUの例を示す。
【0019】
特定のLCUがCUにいかに分割されるかは、四分木(quadtree)で表すことができる。四分木の各ノードにおいて、ノードがサブノードにさらに分割される場合、フラグが「1」に設定される。その他の場合、フラグは「0」に設定を取り消される。例えば、
図3AのLCU区画は
図3Bの四分木で表すことができる。これらの「分割フラグ」はまとめて、スキップモードフラグ、統合モードフラグ、及び予測ユニット(predictive unit:PU)モードフラグを含むビデオストリーム内の他のフラグと共に符号化される。
図3Bの四分木の場合、分割フラグ10100が、その他のフラグと共にオーバーヘッドとして符号化される。
【0020】
各CUは予測ユニット(PU)にさらに分割することができる。したがって、四分木の各リーフにおいて、最後のCU 2N×2Nは、
図2Bに示されるように、4つの可能なパターン(N×N、N×2N、2N×N、及び2N×2N)のうちの1つを保有することができる。CUは、空間的又は時間的に予測符号化することができる。CUがイントラモードで符号化される場合、CUの各PUはそれ自体の空間予測方向を有することができる。CUが中間モード(inter mode)で符号化された場合、CUの各PUはそれ自体の動きベクトル及び関連付けられた参照ピクチャを有することができる。
【0021】
各CUは、ブロック変換演算の適用により変換ユニット(transform unit:TU)に分割することもできる。ブロック変換演算はブロック内のピクセルを非相関化し、ブロックエネルギーを変換ブロックの低次係数にコンパクト化する傾向を有する。しかし、1つのみの変換8×8又は4×4がMBに適用される他の方法とは異なり、本実施形態では、
図5Aに示されるように、サイズの異なる1組のブロック変換をCUに適用し得、ここでは、左のブロックがPUに区画されるCUであり、右のブロックは関連付けられた変換ユニット(TU)の組である。CU内の各ブロック変換のサイズ及び位置は、RQTと呼ばれる別個の四分木により記述される。
図5Bは、
図5Aの例におけるCUのTUの四分木表現を示す。この例では、11000が符号化され、オーバーヘッドの部分として送信される。
【0022】
任意の所与のCUのTU及びPUは異なる目的で使用し得る。TUは通常、変換、量子化、及び符号化演算に使用され、その一方で、PUは通常、空間及び時間予測に使用される。所与のCUの場合、PUの数とTUの数との間に直接的な関係がある必要はない。
【0023】
符号器116(
図1A)は、本発明の実施形態によれば、
図4Aに示されるいくつかの機能モジュールで構成される。これらのモジュールはハードウェア、ソフトウェア、又はこれらの2つの任意の組み合わせで実施し得る。現在のPU、xが与えられる場合、予測PU、x’がまず、空間予測又は時間予測を通して得られる。この空間又は時間予測は空間予測モジュール129又は時間予測モジュール130のそれぞれにより実行される。
【0024】
水平、垂直、45度対角、135度対角、DC、平坦等を含む、空間予測モジュール129がPU毎に実行することができる幾つかの可能な空間予測方向がある。一実施形態では、4×4、8×8、16×16、32×32、及び64×64ブロックのルマ(Luma)イントラ予測モードの数はそれぞれ、18、35、35、35、及び4である。ルマイントラモードを含め、IntraFromLumaと呼ばれる追加のモードをクロマ(Chroma)イントラ予測モードに使用し得る。シンタックスは、PU毎の空間予測方向を示す。
【0025】
符号器116(
図1A)は、動き予測演算を通して時間的予測を実行する。特に、時間予測モジュール130(
図4A)は、参照ピクチャ上で現在PUの最適適合予測を検索する。最適適合予測は、動きベクトル(motion vector:MV)及び関連付けられた参照ピクチャ(refIdx)により記述される。Bピクチャ内のPUは最高で2つのMVを有することができる。MV及びrefIdxの両方は、ビットストリーム内のシンタックスの一部である。
【0026】
次に、予測PUは現在PUから差し引かれ、剰余PU,eが生成される。剰余PU,eは次に、一度に1つの変換ユニット(TU)ずつ変換モジュール116により変換され、変換領域内の剰余PU,Eが生成される。このタスクを達成するために、変換モジュール116は正方形又は非正方形ブロック変換のいずれかを使用する。
【0027】
図4Aを再び参照すると、変換係数Eは量子化モジュール118により量子化され、高精度変換係数を有限数の可能な値に変換する。量子化係数は次に、エントロピー符号化モジュール120によりエントロピー符号化され、最終的な圧縮ビットが生成される。エントロピー符号化モジュール120により実行される特定のステップについてより詳細に以下において考察する。
【0028】
時間及び空間予測を促進するために、符号器116も量子化変換係数Eをとり、逆量子化モジュール122を用いて逆量子化し、E’という逆量子化変換係数を生成する。逆量子化変換係数E’は次に、逆変換モジュール124により逆変換されて、再構築剰余PU,e’を生成する。次に、再構築剰余PU,e’は、空間又は時間のいずれかの対応する予測x’に加算されて、再構築PU,x’’を形成する。
【0029】
なお
図4Aを参照すると、非ブロック化フィルタ演算が再構築PU,x’’に対して実行され、まず、ブロック化アーチファクトを低減する。復号化ピクチャへの非ブロック化フィルタプロセスの完了後、サンプル適応オフセットプロセスが条件により実行され、それにより、再構築ピクセルと元のピクセルとのピクセル値オフセットを補償する。適合型ループフィルタ関数が条件によりループフィルタモジュール126により再構築PUに対して実行され、これにより、入力ピクチャと出力ピクチャとの符号化歪みが最小化される。再構築ピクチャが参照ピクチャである場合、それらの再構築ピクチャは、将来の時間予測のために参照バッファ128に記憶される。
【0030】
本発明の実施形態では、イントラピクチャ(Iピクチャ等)及びインターピクチャ(Pピクチャ又はBピクチャ等)が符号器116(
図1A)によりサポートされる。イントラピクチャは、他のピクチャを参照せずに符号化される。したがって、空間予測がイントラピクチャ内部のCU/PUに使用される。イントラピクチャは、復号化を開始することができる可能なポイントを提供する。他方、インターピクチャは高圧縮を目的とする。インターピクチャはイントラ予測及びインター予測の両方をサポートする。イントラピクチャ内のCU/PUは空間又は時間のいずれかで予測符号化される。時間参照は、前に符号化されたイントラ又はインターピクチャである。
【0031】
本発明の実施形態によるエントロピー符号化モジュール120(
図4A)の動作について、より詳細にこれより説明する。エントロピー符号化モジュール120は、量子化モジュール118から受信する係数の量子化マトリクスをとり、その量子化マトリクスを使用して、全ての量子化係数の符号を表す符号マトリクスを生成するとともに、顕著性マップを生成する。顕著性マップは、各要素が量子化係数マトリクス内の非ゼロ量子化係数の位置を指定するマトリクスである。特に、量子化された2D変換マトリクスがあり、位置(y,x)における量子化係数の値がゼロではない場合、それは顕著とみなされ、「1」が関連付けられた顕著性マップ内の位置(y,x)に割り当てられる。その他の場合、「0」が顕著性マップ内の位置(y,x)に割り当てられる。
【0032】
エントロピー符号化モジュール120は、顕著性マップを作成すると、顕著性マップを符号化する。一実施形態では、これは、コンテキスト適応型二値算術符号化(CABAC)技法を使用して達成される。そうするに当たり、エントロピー符号化モジュール120は、走査線に沿って顕著性マップを走査し、顕著性マップ内のエントリ毎に、符号化モジュールは、そのエントリのコンテキストモデルを選ぶ。次に、エントロピー符号化モジュール120は、選ばれたコンテキストモデルに基づいてエントリを符号化する。すなわち、各エントリには、使用されているコンテキストモデル(数学的確率モデル)に基づいて確率が割り当てられる。確率は、顕著性マップ全体が符号化されるまで蓄積される。
【0033】
エントロピー符号化モジュール120により出力される値並びにエントロピー符号化符号、顕著性マップ、及びゼロではない係数は、符号器116(
図1A)によりビットストリームに挿入される。このビットストリームは、HFCネットワーク122を介して復号器138及び140に送信される。復号器138及び140(
図1A)は、ビットストリームを受信する場合、
図4Bに示される機能を実行する。符号器138のエントロピー復号化モジュール
146は、符号値、顕著性マップ、及びゼロではない係数を復号化して、量子化変換係数を再生成する。顕著性マップを復号化するに当たり、エントロピー復号化モジュール120は、エントロピー符号化モジュール120と併せて説明された手順の逆を実行する−走査線で構成された走査パターンに沿って顕著性マップを復号化する。次に、エントロピー復号化モジュール
146は、係数を逆量子化モジュール147に提供し、逆量子化モジュール147は係数マトリクスを逆量子化し、
逆量子化変換係数E’を生成する。逆量子化モジュール147は、逆量子化係数
E’を逆変換モジュール149に提供する。逆変換モジュール149は、逆変換演算を係数
E’に対して実行して、
再構築剰余PU,e’を生成する。フィルタリング及び空間予測が、
図4Aと併せて説明されたように適用される。
【0034】
上述したように、符号器側でのビデオピクチャの圧縮ビットストリームへの変換及び復号器側でのビットストリームの元のビデオピクチャへの変換は、マルチステッププロセスである。本明細書において開示される本発明の様々な実施形態は一般に、顕著性マップが符号化され復号化されるプロセスの部分に向けられる。
【0035】
本発明の実施形態による並列処理を達成するために、顕著性マップの要素のうちの少なくとも1つのコンテキストモデルは、同じ走査線に沿った要素を除き、隣接要素の値に基づいて選ばれる。このようにして、同じ走査線に沿った要素間に依存性がなくなる。
【0036】
図6A〜
図6Eを参照すると、符号器116(
図1A)は、走査パターンに沿って線毎に顕著性マップ600を処理する。これらの各図では、走査パターンは一連の矢印付き線(arrow-headed line)で表され、各線は走査パターン内の走査線を表す。走査パターンは、例えば、
図6Aに示されるジグザグ走査(zigzag scan)等のジグザグ走査、
図6Bに示される対角左下走査等の対角左下走査、
図6Cに示される対角右上走査等の対角右上走査、
図6Dに示される垂直走査等の垂直走査、又は
図6Eに示される水平走査等の水平走査であり得る。
図6A〜
図6Eに示される走査パターンは、逆に実行してもよく、したがって、パターンは逆の角から開始され、矢印の方向は逆になる。
【0037】
各例では、要素602及び604は走査パターン内で同じ走査線に沿うが、互いに並列処理することができる。これは、これらの2つの要素のそれぞれのコンテキストモデルが他方の要素の値に依存しないためである。換言すれば、第1の要素602のコンテキストモデルは、第2の要素604の値に依存しない。
【0038】
これより、より具体的な例を提供する。(
図6A、
図6B、又は
図6Cのように)顕著性マップの要素が対角走査パターンで処理される場合、
図7Aの手順を使用し得る。
図7Aは、顕著性マップの1組の処理規則のマトリクス表現である。これらの規則は以下のように表現し得、「高さ」は顕著性マップマトリクスの高さ(y軸に沿った要素の数)であり、「幅」は顕著性マップマトリクスの幅(x軸に沿った要素の数)である。
【0039】
規則A:位置(0,0)、(0,1)、又は(1,0)における要素の場合、符号器又は復号器は一意のコンテキストモデルを割り当てる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロックの顕著性マップ内の他の要素と同じコンテキストモデルを共有する。
【0040】
規則B:位置(0,x>1)における要素では、符号器又は復号器は、位置(0,x−1)、(0,x−2)、及び(1,x−2)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0041】
規則C:位置(y>1,0)における要素では、符号器又は復号器は、位置(y−1,0)、(y−2,0)、及び(y−2,1)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0042】
規則D:位置(y>0,x>0)における要素では、符号器又は復号器は、位置(y−1,x−1)、(y−1,x)、及び(y,x−1)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0043】
規則E:位置(y>0,x>0)における要素では、符号器又は復号器は、x>1の場合、(y−1,x−2)及び(y,x−2)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0044】
規則F:位置(y>0,x>0)における要素では、符号器又は復号器は、xが1よりも大きく、yが高さ−1よりも小さい場合、(y+1,x−2)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0045】
規則G:位置(y>0,x>0)における要素では、符号器又は復号器は、yが1よりも大きい場合、(y−2,x−1)及び(y−2,x)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0046】
規則H:位置(y>0,x>0)における要素では、符号器又は復号器は、yが1よりも大きく、xが幅−1よりも小さい場合、(y−2,x+1)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0047】
2進法の「1」のインスタンスの総数が計算され、符号器又は復号器は、その数に対応するコンテキストモデルを使用する。例えば、規則D、E、及びFが要素(y,x)に適用される場合、符号器又は復号器は、(y−1,x−1)、(y−1,x)、(y,x−1)、(y−1,x−2)、(y,x−2)、及び(y+1,x−2)での隣接要素の中から2進法の「1」のインスタンス数を計算する。これらの隣接要素の中に3つの2進法の「1」インスタンスがある場合、コンテキストモデル番号3を使用して、処理中の要素を符号化又は復号化する。各コンテキストモデルは、顕著性マップ内の要素に異なる確率をもたらし得る。
【0048】
図7Bのフローチャートを参照して、本発明の実施形態による上の規則A〜Hの適用についてこれより説明する。ステップ702において、符号器又は復号器は、要素が位置(0,0)、(0,1)、又は(1,0)にあるか否かを判断する。それらの位置にある場合、プロセスはステップ704に続き、そこで、符号器又は復号器は、同じサイズの他の変換ユニット(TU)内の同じ位置にある要素と同じコンテキストモデルを使用する。例えば、同じサイズの前のTU内の位置(0,1)にある要素がコンテキストモデル1を使用する場合、位置(0,1)での要素はコンテキストモデル1を使用する。
【0049】
ステップ706において、符号器又は復号器は、要素が位置(0,x>1)にあるか否かを判断する。そうである場合、プロセスはステップ708に続き、符号器又は復号器は、位置(0,x−1)、(0,x−2)、及び(1,x−2)における隣接要素の値(0又は1)に基づいてコンテキストモデルを選択する。その他の場合、プロセスはステップ710に移り、符号器又は復号器は、要素が位置(y>1,0)にあるか否かを判断する。そうである場合、プロセスはステップ712に移り、符号器又は復号器は、隣接要素(y−1,0)、(y−2,0)、及び(y−2,1)に基づいて要素のコンテキストモデルを選択する。
【0050】
ステップ714において、符号器又は復号器は、要素が位置(y>0,x>0)にあるか否かを判断する。その位置にある場合、プロセスはステップ716に移り、符号器又は復号器は、位置(y−1,x−1)、(y−1,x)、及び(y,x−1)にある要素の値に基づいてその要素のコンテキストモデルを選択する。その位置にない場合、プロセスはステップ718に移り、符号器又は復号器は、要素のx座標が1よりも大きいか否かを判断する。1よりも大きい場合、プロセスはステップ720に進み、符号器又は復号器はさらに、位置(y−1,x−2)及び(y,x−2)における要素の値を考慮する。1よりも大きくない場合、プロセスはステップ726に移る。
【0051】
ステップ722において、符号器又は復号器は、yが顕著性マップの高さから1を引いたものよりも小さいか否かを判断する。
ステップ724において、小さい場合、符号器又は復号器はさらに、位置(y+1,x−2)にある要素の値を考慮する。ステップ726において、符号器又は復号器はyが1よりも大きいか否かを判断する。大きい場合、符号器又は復号器はさらに、ステップ728において、位置(y−
2,x−
1)及び(y
−2,x)にある要素の値を考慮する。ステップ730において、符号器又は復号器は、xが顕著性マップの幅から1を引いたものよりも小さいか否かを判断する。小さい場合、符号器又は復号器はさらに、位置(y−2,x+1)にある要素の値を考慮する。
【0052】
これより
図8〜
図15を参照して、上述した処理方式を使用して、顕著性マップの複数の要素をいかに並列処理することができるかの例をこれより示す。この例では、2つの復号器138及び140(
図1A)(第1及び第2の復号器と呼ぶ)が顕著性マップ(すなわち、
図8〜
図15の仮説的顕著性マップ)を復号化していると仮定する。
【0053】
第1の復号器及び第2の復号器は、顕著性マップを対角左下走査パス(
図6Bに示される走査パスのような)で復号化する。上で概説した規則Aに従い、第1の復号器は、前に復号化された顕著性マップ内の位置(0,0)にある要素の復号化に適用されたものと同じコンテキストモデルを位置(0,0)にある要素に適用する。第2の復号器は、前に復号化された顕著性マップ内の位置(0,1)にある要素の復号化に適用されたものと同じコンテキストモデルを位置(0,1)にある要素に適用する。第2の復号器の動作と並列して、第1の復号器は、前に復号化された顕著性マップ内の位置(1,0)にある要素の復号化に適用されたものと同じコンテキストモデルを位置(1,0)にある要素に適用する。
【0054】
第1の復号器は、位置(0,0)、(0,1)、及び(1,0)における要素の値に基づいて、位置(1,1)にある要素のコンテキストモデルを選択する。第2の復号器は同時に、同じ要素群−(0,0)、(0,1)、及び(1,0)を使用することにより、位置(2,0)にある要素のコンテキストモデルを決定する。このプロセスは、走査パターンに沿って各走査線で続けられる。以下の表1は、復号化されている顕著性マップの要素の座標を、使用されるコンテキストモデルの決定に使用される隣接要素、隣接要素群を示す図及び参照符号、並びに使用される規則(上の規則A〜H)と共に列挙する。第1の復号器及び第2の復号器により並列に符号化することができる複数の要素の例が、1列目に示される。簡潔にするために、顕著性マップのあらゆる要素が復号化されているものとして示されるわけではない。表1に示される要素は単なる例が意図される。
【0055】
【表1】
図7A及び
図7B並びにそれらに付随する上記説明は、同じ走査線内にある要素に頼らないコンテキストモデルを選ぶことにより、顕著性マップをいかに符号化又は復号化することができるかの例を示す。しかし、本発明の他の実施形態により、顕著性マップの符号化及び復号化を行う多くの他の可能な方法がある。以下の例1〜18はこれらの他の方法のうちのいくつかを示す。
例1
この例は、最高で5つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図16)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0056】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(
図17のステップ1700及び1702)。
【0057】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図17のステップ1704及び1706)。
【0058】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(
図17のステップ1708及び1710)。
【0059】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x−1)及び(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択され(
図17のステップ1712及び1714)、
xが1よりも大きく、且つyが高さ−1よりも小さい場合には、(y+1,x−2)における隣接要素の値(0又は1)にも基づいて選択され(
図17のステップ1716及び1718)、
yが1よりも大きく、且つxが幅−1よりも小さい場合には、(y−2,x+1)における隣接要素の値(0又は1)にも基づいて選択される(
図17のステップ1720及び1722)。
【0060】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例2
この例は、最高で4つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図18)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0061】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(
図19のステップ1900及び1902)。
【0062】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図19のステップ1904及び1906)。
【0063】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(
図19のステップ1908及び1910)。
【0064】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図19のステップ1912及び1914)。
【0065】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、xが1よりも大きく、且つyが高さ−1よりも小さい場合には、(y+1,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図19のステップ1916及び1918)。
【0066】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、yが1よりも大きく、且つxが幅−1よりも小さい場合には、(y−2,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図19のステップ1920及び1922)。
【0067】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例3
この例は、最高で4つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図20)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0068】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(
図21のステップ2100及び2102)。
【0069】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図21のステップ2104及び2106)。
【0070】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,1)における隣接要素の値(0又は1)に基づいて選択される(
図21のステップ2108及び2110)。
【0071】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図21のステップ2112及び2114)。
【0072】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、xが1よりも大きく、且つyが高さ−1よりも小さい場合には、(y+1,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図21のステップ2116及び2118)。
【0073】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、yが1よりも大きく、且つxが幅−1よりも小さい場合には、(y−2,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図21のステップ2120及び2122)。
【0074】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例4
この例は、最高で3つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図22)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0075】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(
図23のステップ2300及び2302)。
【0076】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図23のステップ2304及び2306)。
【0077】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(
図23のステップ2308及び2310)。
【0078】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)、(y,x−1)、及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図23のステップ2312及び2314)。
【0079】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例5
この例は、最高で2つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図24)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0080】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(
図25のステップ2500及び2502)。
【0081】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図25のステップ2504及び2506)。
【0082】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(
図25のステップ2508及び2510)。
【0083】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図25のステップ2512及び2514)。
【0084】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例6
この例は、最高で2つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図26)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0085】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(
図27のステップ2700及び2702)。
【0086】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−2)における隣接要素の値(0又は1)に基づいて選択される(
図27のステップ2704及び2706)。
【0087】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,1)における隣接要素の値(0又は1)に基づいて選択される(
図27のステップ2708及び2710)。
【0088】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図27のステップ2712及び2714)。
【0089】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例7
この例は、最高で5つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図28)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0090】
位置(y,0)又は(0,1)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)又は(0,1)における要素は、同じ位置(y,0)又は(0,1)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N
0,N
1,・・・N
k<高さであり、且つ和(N
0,N
1,・・・N
k)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(
図29のステップ2900及び2902)。
【0091】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図29のステップ2904及び2906)。
【0092】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図29のステップ2908及び2910)。
【0093】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図29のステップ2912及び2914)。
【0094】
位置(y=高さ−2,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y+1,x−1)、(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図29のステップ2916及び2918)。
【0095】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−2,x−1)、(y−1,x−1)、(y,x−1)、(y+1,x−1)、及び(y+2,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図29のステップ2920及び2922)。
【0096】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例8
この例は、最高で5つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図30)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0097】
位置(y,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)における要素は、同じ位置(y,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N
0,N
1,・・・N
k<高さであり、且つ和(N
0,N
1,・・・N
k)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(
図31のステップ3100及び3102)。
【0098】
位置(0,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図31のステップ3104及び3106)。
【0099】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図31のステップ3108及び3110)。
【0100】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図31のステップ3112及び3114)。
【0101】
位置(y=高さ−2,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)、(y+1,x−1)、及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図31のステップ3116及び3118)。
【0102】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−2,x−1)、(y−1,x−1)、(y,x−1)、(y+1,x−1)、及び(y+2,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図31のステップ3120及び3122)。
【0103】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の列に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例9
この例は、最高で4つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図32)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0104】
位置(y,0)又は(0,1)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)又は(0,1)における要素は、同じ位置(y,0)又は(0,1)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N
0,N
1,・・・N
k<高さであり、且つ和(N
0,N
1,・・・N
k)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(
図33のステップ3300及び3302)。
【0105】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図33のステップ3304及び3306)。
【0106】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図33のステップ3308及び3310)。
【0107】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図33のステップ3312及び3314)。
【0108】
位置(高さ−2>y>1,x=1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図33のステップ3316及び3318)。
【0109】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−2)、(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図33のステップ3320及び3322)。
【0110】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例10
この例は、最高で4つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図34)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0111】
位置(y,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)における要素は、同じ位置(y,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N
0,N
1,・・・N
k<高さであり、且つ和(N
0,N
1,・・・N
k)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(
図35のステップ3500及び3502)。
【0112】
位置(0,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図35のステップ3504及び3506)。
【0113】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図35のステップ3508及び3510)。
【0114】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図35のステップ3512及び3514)。
【0115】
位置(高さ−2>y>1,1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図35のステップ3516及び3518)。
【0116】
位置(高さ−2>y>1,x=1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図35のステップ3520及び3522)。
【0117】
位置(高さ−2>y>1,x>1)における要素の場合、コンテキストモデルは、位置(y,x−2)、(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図35のステップ3524及び3526)。
【0118】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の列に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例11
この例は、最高で3つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図36)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0119】
位置(y,0)又は(0,1)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)又は(0,1)における要素は、同じ位置(y,0)又は(0,1)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N
0,N
1,・・・N
k<高さであり、且つ和(N
0,N
1,・・・N
k)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(
図37のステップ3700及び3702)。
【0120】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図37のステップ3704及び3706)。
【0121】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図37のステップ3708及び3710)。
【0122】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図37のステップ3712及び3714)。
【0123】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例12
この例は、最高で3つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図38)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0124】
位置(y,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)における要素は、同じ位置(y,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N
0,N
1,・・・N
k<高さであり、且つ和(N
0,N
1,・・・N
k)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(
図39のステップ3900及び3902)。
【0125】
位置(0,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図39のステップ3904及び3906)。
【0126】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図39のステップ3908及び3910)。
【0127】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図39のステップ3912及び3914)。
【0128】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の列に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例13
この例は、最高で5つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図40)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0129】
位置(0,x)又は(1,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)又は(1,0)における要素は、同じ位置(0,x)又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M
0,M
1,・・・M
p<幅であり、且つ和(M
0,M
1,・・・M
p)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(
図41のステップ4100及び4102)。
【0130】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(
図41のステップ4104及び4106)。
【0131】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(
図41のステップ4108及び4110)。
【0132】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図41のステップ4112及び4114)。
【0133】
位置(y>0,x=幅−2)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図41のステップ4116及び4118)。
【0134】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−2)、(y−1,x−1)、(y−1,x)、(y−1,x+1)、及び(y−1,x+2)における隣接要素の値(0又は1)に基づいて選択される(
図41のステップ4120及び4122)。
【0135】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例14
この例は、最高で5つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図42)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0136】
位置(0,x)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)における要素は、同じ位置(0,x)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M
0,M
1,・・・M
p<幅であり、且つ和(M
0,M
1,・・・M
p)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(
図43のステップ4300及び4302)。
【0137】
位置(y>0,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(
図43のステップ4304及び4306)。
【0138】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(
図43のステップ4308及び4310)。
【0139】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図43のステップ4312及び4314)。
【0140】
位置(y>0,x=幅−2)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図43のステップ4316及び4318)。
【0141】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−2)、(y−1,x−1)、(y−1,x)、(y−1,x+1)、及び(y−1,x+2)における隣接要素の値(0又は1)に基づいて選択される(
図43のステップ4320及び4322)。
【0142】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の行に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例15
この例は、最高で4つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図44)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0143】
位置(0,x)又は(1,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)又は(1,0)における要素は、同じ位置(0,x)又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M
0,M
1,・・・M
k<幅であり、且つ和(M
0,M
1,・・・M
k)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(
図45のステップ4500及び4502)。
【0144】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(
図45のステップ4504及び4506)。
【0145】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(
図45のステップ4508及び4510)。
【0146】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図45のステップ4512及び4514)。
【0147】
位置(y=1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図45のステップ4516及び4518)。
【0148】
位置(y>1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−2,x)、(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図45のステップ4520及び4522)。
【0149】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例16
この例は、最高で4つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図46)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0150】
位置(0,x)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)における要素は、同じ位置(0,x)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M
0,M
1,・・・M
p<幅であり、且つ和(M
0,M
1,・・・M
p)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(
図47のステップ4700及び4702)。
【0151】
位置(y>0,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(
図47のステップ4704及び4706)。
【0152】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(
図47のステップ4708及び4710)。
【0153】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図47のステップ4712及び4714)。
【0154】
位置(y=1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図47のステップ4716及び4718)。
【0155】
位置(y>1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−2,x)、(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図47のステップ4720及び4722)。
【0156】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の行に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例17
この例は、最高で3つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図48)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0157】
位置(0,x)又は(1,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)又は(1,0)における要素は、同じ位置(0,x)又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M
0,M
1,・・・M
p<幅であり、且つ和(M
0,M
1,・・・M
p)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(
図49のステップ4900及び4902)。
【0158】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(
図49のステップ4904及び4906)。
【0159】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図49のステップ4908及び4910)。
【0160】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図49のステップ4912及び4914)。
【0161】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例18
この例は、最高で3つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(
図50)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0162】
位置(0,x)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)における要素は、同じ位置(0,x)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M
0,M
1,・・・M
p<幅であり、且つ和(M
0,M
1,・・・M
p)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(
図51のステップ5100及び5102)。
【0163】
位置(y>0,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(
図51のステップ5104及び5106)。
【0164】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(
図51のステップ5108及び5110)。
【0165】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(
図51のステップ5112及び5114)。
【0166】
本開示の全体を通して具体的に説明したが、代表的な例は広範囲の用途にわたり有用性を有し、上記考察は、限定を意図せず、限定として解釈されるべきではない。本明細書において使用される用語、説明、及び図は、例としてのみ記載され、限定を意図されない。多くの変形が例の趣旨及び範囲内で可能であることを当業者は認識する。例を参照して例を説明したが、当業者は、以下の特許請求の範囲に記載される例及びそれらの均等物の範囲から逸脱せずに、記載された例に様々な変更を行うことが可能である。