(57)【要約】  いくつかの実施例によれば、第１パラメータタイプの第１値は、画像の一部を表すマクロブロックに関連して受け取られる。マクロブロックは第１セットのサブ部分に分割され、第１パラメータタイプの異なる値は第１セットの異なるサブ部分に関連付けられる。そして、第１値はコンテキストバッファ内に格納される。コンテキストバッファは、第１パラメータタイプに関連付けられた第１コンテキスト領域および第２パラメータタイプに関連付けられた第２コンテキスト領域を含む。例えば、第１コンテキストエリアは、第２コンテキスト領域と比べて少ない個数の値を各パラメータタイプに対して格納するように適合される。【選択図】図２４
2008524932.tif 000002
【特許請求の範囲】
【請求項１】
画像の一部を表すマクロブロックに関連付けられた第１パラメータタイプの第１値を受け取ることと、
コンテキストバッファ内に前記第１値を格納することと
を含み、
前記マクロブロックは第１セットのサブ部分に潜在的に分割可能であり、
前記第１パラメータタイプの異なる値は前記第１セットの異なるサブ部分に関連付けられ、
前記コンテキストバッファは、前記第１パラメータタイプに関連付けられた第１コンテキスト領域、および第２パラメータタイプに関連付けられた第２コンテキスト領域を含み、
前記第１コンテキスト領域は、前記第２コンテキスト領域と比べて少ない個数の値を各パラメータタイプに対して格納するように適合される方法。
【請求項２】
前記マクロブロックに関連付けられた第２パラメータタイプの第２値を受け取ることと、
前記コンテキストバッファ内に前記第２値を格納することと
をさらに含み、
前記マクロブロックはさらに、第２セットのサブ部分に潜在的に分割可能であり、
前記第２パラメータの異なる値は、前記第２セットの異なるサブ部分に関連付けられ、
第１セットのサブ部分は、前記第２セットのサブ部分と比べて大きな画像領域を表す、請求項１に記載の方法。
【請求項３】
前記マクロブロック全体に関連付けられた第３パラメータタイプの第３値を受け取ることと、
前記コンテキストバッファの第３コンテキスト領域内に前記第３値を格納することと
をさらに含み、
前記第３コンテキスト領域は、各パラメータタイプに対して１つの値を格納するように適合される、請求項２に記載の方法。
【請求項４】
前記第１パラメータタイプおよび前記第２パラメータタイプを前記コンテキストバッファにマッピングすることと、
前記マッピングに応じて前記コンテキストバッファの前記第１コンテキスト領域に前記第１値を、および前記第２コンテキスト領域に前記第２値を格納することと
をさらに含む、請求項２に記載の方法。
【請求項５】
前記マッピングは、前記第１セットの複数のサブ部分に関連付けられた前記第１コンテキストの領域に前記第１値をマッピングすることを含む、請求項４に記載の方法。
【請求項６】
前記マッピングは、前記第２セットの複数のサブ部分に関連付けられた前記第２コンテキストの領域に前記第２値をマッピングすることを含む、請求項４に記載の方法。
【請求項７】
前記マクロブロックは、（ｉ）Ｈ．２６４情報、（ｉｉ）モーションピクチャエキスパーツグループ２情報または（ｉｉｉ）モーションピクチャエキスパーツグループ４情報の少なくとも１つに関連づけられる、請求項１に記載の方法。
【請求項８】
前記マクロブロックはＨ．２６４マクロブロックであり、前記第１セットのサブ部分の各々は８×８ピクチャサンプルのサブマクロブロックを表す、請求項１に記載の方法。
【請求項９】
前記第２セットのサブ部分の各々は４×４ピクチャサンプルおよび関連するクロマサンプルのサブマクロブロックパーティションを表す、請求項８に記載の方法。
【請求項１０】
前記受け取ることは、（ｉ）デジタルディスプレイ装置、（ｉｉ）テレビジョン、（ｉｉｉ）デジタルビデオレコーダ、（ｉｖ）ゲーム装置、（ｖ）パーソナルコンピュータまたは（ｖｉ）セットトップボックスの少なくとも１つに関連付けられる、請求項１に記載の方法。
【請求項１１】
コンテキストバッファを含む装置であって、
前記コンテキストバッファは、
画像の一部を表すマクロブロックに対する第１パラメータタイプに関連付けられた第１コンテキスト領域と、
前記マクロブロックに対する第２パラメータタイプに関連付けられた第コンテキスト領域と、
受け取られた画像情報のストリームを前記コンテキストバッファ内の情報に応じてデコードする出力エンジンと
を含み、
前記マクロブロックは第１セットのサブ部分に潜在的に分割可能であり、
前記第１パラメータタイプの異なる値が前記第１セットの異なるサブ部分に関連付けられ、
前記マクロブロックは第２セットのサブ部分に潜在的に分割可能であり、
前記第２パラメータタイプの異なる値が前記第２セットの異なるサブ部分に関連付けられ、および、
前記第１セットのサブ部分の数は前記第２セットのサブ部分の数よりも小さい装置。
【請求項１２】
前記コンテキストバッファは、（ｉ）前記出力エンジンと同じダイ上に配置される、または（ｉｉ）前記出力エンジンの外部に配置される、の少なくとも１つである、請求項１１に記載の装置。
【請求項１３】
前記出力エンジンはデコードエンジンを含む、請求項１１に記載の装置。
【請求項１４】
機械によって実行されると以下の結果を生じる命令が格納された格納媒体を含む装置であって、
画像の一部を表すＨ．２６４マクロブロックに関連付けられた第１パラメータタイプの第１値を受け取ることと、
前記マクロブロックに関連付けられた第２パラメータタイプの第２値を受け取ることと、
コンテキストバッファ内に前記第１値および第２値を格納することと
を含み、
前記マクロブロックは４個のサブマクロブロックに潜在的に分割可能であり、
前記マクロブロックはさらに、１６個のサブマクロブロックパーティションに潜在的に分割可能であり、
前記第１パラメータタイプの異なる値は異なるサブマクロブロックに関連付けられ、
前記第２パラメータタイプの異なる値は異なるサブマクロブロックパーティションに関連付けられ、
前記コンテキストバッファは、前記第１パラメータタイプに関連付けられた第１コンテキスト領域、および前記第２パラメータタイプに関連付けられた第２コンテキスト領域を含み、
前記第１コンテキスト領域は前記第１パラメータタイプの４個の値に対して適合され、前記第２コンテキスト領域は前記第２パラメータタイプの１６個の値を格納するように適合される装置。
【請求項１５】
前記命令を実行することは、
前記コンテキストバッファ内に第１パラメータタイプおよび第２パラメータタイプをマッピングすることと、
前記マッピングに応じて前記コンテキストバッファの前記第１コンテキスト領域内に前記第１値を、および前記第２コンテキスト領域内に第２値を格納することと
をさらに結果として生じる、請求項１４に記載の装置。
【請求項１６】
前記第１パラメータタイプは、（ｉ）参照インデクスまたは（ｉｉ）推論フラグの少なくとも１つに関連付けられる、請求項１５に記載の装置。
【請求項１７】
前記第２パラメータタイプは、（ｉ）ｘ方向動きベクトル、（ｉｉ）ｙ方向動きベクトル、（ｉｉｉ）イントラ予測モードまたは（ｉｖ）符号化ビットフラグの少なくとも１つに関連付けられる、請求項１６に記載の装置。
【請求項１８】
データ格納装置を含むシステムであって、
前記データ格納装置は、
動画像領域に対する全体領域パラメータタイプに関連付けられた全体領域格納部と、
第１セットのサブ領域に潜在的に分割可能な前記画像領域に対する第１パラメータタイプに関連付けられた第１格納部と、
第２セットのサブ領域に潜在的に分割可能な前記画像領域に対する第２パラメータタイプに関連付けられた第２格納部と、
受け取られた画像情報のストリームを前記データ格納装置内の情報に応じてデコードする出力エンジンと、
前記出力エンジンからデジタルディスプレイ装置へデジタル信号を与えるデジタル出力と
を含み、
前記全体領域パラメータタイプの１つの値は前記画像領域に関連付けられ、
前記第１パラメータタイプの異なる値は前記第１セットの異なるサブ領域に関連付けられ、
前記第２パラメータタイプの異なる値は前記第２セットの異なるサブ領域に関連付けられ、
前記第２セットのサブ領域の数は前記第１セットのサブ領域の数とは異なるシステム。
【請求項１９】
前記データ格納ユニットはダブルデータレートランダムアクセスメモリユニットである、請求項１８に記載のシステム。
【請求項２０】
前記データ格納ユニットは前記出力エンジンの一部である、請求項１８に記載のシステム。
【請求項２１】
前記システムは、（ｉ）デジタルディスプレイ装置、（ｉｉ）テレビジョン、（ｉｉｉ）デジタルビデオレコーダ、（ｉｖ）ゲーム装置、（ｖ）パーソナルコンピュータまたは（ｖｉ）セットトップボックスの少なくとも１つに関連付けられる、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
メディアプレーヤはディスプレイ装置に動画像を出力する。例えば、メディアプレーヤはローカルに格納された画像情報を取り出し、または、メディアサーバから画像情報のストリームを受け取る（例えば、コンテンツプロバイダは、高精細画像フレームを含むストリームをテレビジョン、セットトップボックスまたはデジタルビデオレコーダにケーブルまたは衛星ネットワークを介して送信する）。いくつかの場合には、画像情報は、画像を表すために使用されるデータ量を低減するためにエンコードされる。例えば、画像はマクロブロックのような小さな画像部分に分割され、１つの画像部分に対してエンコードされた情報が別の画像部分に対して繰り返される必要がなくなる（例えば、隣接する画像部分は類似の色特性および輝度特性を有することがほとんどだからである）。その結果、隣接する画像部分に関する情報はローカルに格納されてメディアプレーヤによってアクセスされる際に特定の画像部分がデコードされる必要がある。しかし、画像部分の大きさおよび形状は複雑になるので、こうした隣接画像情報に関する情報を格納するためには、著しい量の格納スペースを必要とし、さもなければ非実用的となる。
【発明の開示】
【０００２】
メディアプレーヤは画像情報を受け取り、その情報をデコードし、および、信号をディスプレイ装置に出力する。例えば、デジタルビデオレコーダ（ＤＶＲ）はローカルに格納された画像情報を取り出し、または、セットトップボックスは遠隔装置から画像情報のストリームを受け取る（例えば、コンテンツプロバイダは、高精細画像フレームを含むストリームをセットトップボックスにケーブルまたは衛星ネットワークを介して送信する）。図１は、遠隔メディアプレーヤ１２０に通信ネットワーク１３０を介して画像情報を与えるメディアサーバ１１０を含むメディアシステム１００のブロック図である。
【０００３】
エンコーダ１１４は、画像コンテンツ１１２を表すために使用されるデータの量を、データがトランスミッタ１１６によって画像情報のストリームとして送信される前に低減する。本明細書で用いられる限り、情報は、いくつかの異なるプロトコルのいずれかに応じてエンコードおよび／またはデコードされる。例えば、画像情報は、「ジェネリックオーディオビジュアルサービスのためのアドバンストビデオコーディング」（２００４）というタイトルの国際電気通信連合−電気通信標準化部門（ＩＴＵ−Ｔ）勧告Ｈ．２６４、または、「アドバンストビデオコーディング（パート１０）」（２００４）というタイトルの国際標準化機構（ＩＳＯ）／国際エンジニアリングコンソーシアム（ＩＥＣ）モーションピクチャエキスパーツグループ（ＭＰＥＧ）規格に関連して処理される。他の例として、画像情報は、「ＭＰＥＧ−４インフォメーションテクノロジ−オーディオ−ビジュアルオブジェクトのコーディング」（２００１）というタイトルのＩＳＯ／ＩＥＣ文献第１４４９６号、または、「インフォメーションテクノロジ−ムービングピクチャおよび関連オーディオインフォメーションのジェネリックコーディング」（２０００）というタイトルのＩＳＯ／ＩＥＣ文献第１３８１８−１号によって定義されるＭＰＥＧ２プロトコルに応じて処理される。
【０００４】
画像は小さな画像部分に分割され、１つの画像部分に対してエンコードされた情報は別の画像部分に対して再使用される。その結果、メディアプレーヤ１２０における出力エンジン１２２は、受け取られた画像情報のストリームをデコードしている間に、ブロックベースのパラメータバッファ１２４の中に隣接部分に関する情報を格納し、ブロックベースのパラメータバッファ１２４からのその情報にアクセスする。ブロックベースのパラメータバッファ１２４は、例えば、出力エンジン１２２のローカルにまたはその外部に配置されるメモリ構造を含む。
【０００５】
例えば、Ｈ．２６４画像情報を考える。図２に示すように、ディスプレイ画像２００はいくつかの「マクロブロック」２１０に分割される。また、１つのマクロブロック２１０に関する情報は、（例えば、隣接マクロブロック２１０は類似した特徴を有することが多いので、）隣接するマクロブロックを使用してエンコードされる。
【０００６】
したがって、特定のマクロブロック２１０がデコードおよび／または圧縮解除されている際、そのマクロブロック２１０に関する情報は１つ以上の隣接ブロックからの予測値を使用して得られる。予測パラメータが１つの隣接ブロックのパラメータから得られる場合もあれば、複数の隣接ブロックに関連付けられたパラメータから得られる場合もある。予測値と実際値との差異は、受け取られた画像情報のストリームから決定され、その後オリジナル画像コンテンツ１１２を表す出力を生成するべく出力エンジン１２２によって使用される。
【０００７】
その結果、隣接マクロブロックに関する情報は、特定のマクロブロック２１０がデコードされている間に格納およびアクセスされる。しかし、マクロブロックのサイズおよびパーティション化は複雑になるので、隣接マクロブロックに関する情報を格納するためには、著しい量の格納スペースが必要になり、さもなければ非実用的となる。
【０００８】
例えば、図３はディスプレイ３００を示す。この場合、実質的に類似する（例えばバックグラウンド領域）ディスプレイ３００の部分は、マクロブロック３１０としてエンコードされる。しかし、より詳細な画像情報を含むその他の部分は、図４から図７に関連して記載されるように、マクロブロックパーティション３２０およびサブマクロブロック３３０にさらに分割される。また、ディスプレイ３００は、画像が変化すると異なる方法で分割される。パーティション化におけるこの柔軟性は圧縮および／または視聴者に提示される画質を改善するが、ディスプレイ３００の隣接領域に関する情報を格納およびアクセスすることは複雑となる。また、これは、隣接パラメータ値を格納するために必要なオンチップ格納構造（例えばバッファ）の量を実質的に増加させる。
【０００９】
図４は、１６×１６の画像情報サンプル（例えばトータルで２５６のピクチャサンプルまたはピクセル）のセットを表す１つのマクロブロック４００を示す。各マクロブロック４００はさらに、マクロブロックパーティションに分割される。例えば、図５に示すように、１つのマクロブロック５００は、第１マクロブロックパーティション５１０（例えば、マクロブロック５００の上半分の１６×８のサンプルを表す）および第２マクロブロックパーティション５２０（マクロブロック５００の下半分の１６×８のサンプルを表す）に分割される。Ｈ．２６４に従うと、第１マクロブロックパーティション５１０には「０」が付される一方で、第２マクロブロックパーティション５２０には「１」が付される。
【００１０】
その代わりに、マクロブロックはオリジナル画像に応じて、図６に示すようにパーティション化されてもよい。この場合、マクロブロック６００は、第１マクロブロックパーティション６１０（例えば、マクロブロック６００の左半分における８×１６のサンプルを表す）および第２マクロブロックパーティション６２０（例えば、マクロブロック６００の右半分における８×１６のサンプルを表す）に分割される。前と同様、第１マクロブロックパーティション６１０には「０」のラベルが付される一方で、第２マクロブロックパーティション６２０には「１」のラベルが付される。
【００１１】
ディスプレイの複雑な領域は、図７に示すようにさらにサブマクロブロックに分割される。この場合、マクロブロック７００は、（ｉ）「０」がナンバリングされた第１サブマクロブロック（例えば、マクロブロック７００の左上四分領域における８×８のサンプルを表す）、（ｉｉ）「１」がナンバリングされた第２サブマクロブロック（例えば、マクロブロック７００の右上四分領域における８×８のサンプルを表す）、（ｉｉｉ）「２」がナンバリングされた第３サブマクロブロックパーティション（例えば、マクロブロック７００の左下四分領域における８×８のサンプルを表す）、および（ｉｖ）「３」がナンバリングされた第４サブマクロブロックパーティション（例えばマクロブロック７００の右下四分領域における８×８のサンプルを表す）に分割される。
【００１２】
これらのサブマクロブロックの各々は、図８に示すようにさらに分割できる。ここで、１つのマクロブロック８００は、図７に関連して説明されたように４個のサブマクロブロック８１０、８２０、８３０、８４０に分割されている。さらに、第２サブマクロブロック８２０は、各々が８×４のサンプルのセットを表す２つのサブマクロブロックパーティションに分割されている。同様に、第３サブマクロブロック８３０は、各々が４×８のサンプルのセットを表す２つのサブマクロブロックパーティションに分割されている。最後に、第４サブマクロブロック８４０は、各々がオリジナルのマクロブロック８００からの４×４のサンプルのセットを表す４個のサブマクロブロックパーティションに分割されている。前と同様、Ｈ．２６４に応じた番号が与えられてこれらのサブマクロブロックパーティションにラベルとして付される。
【００１３】
なお、異なるタイプの画像パラメータは、マクロブロックの異なるサイズの領域に対して定義される。例えば、いくつかのタイプの画像パラメータは常にマクロブロック全体に当てはまり、他のタイプは特定のサブマクロブロック（またはマクロブロックパーティション）に当てはまり、さらに他のタイプはサブマクロブロックパーティションに当てはまる。
【００１４】
図９は、いくつかの実施例に係る装置９００のブロック図である。装置９００は、例えば、メディアプレーヤ、テレビジョン、パーソナルコンピュータ（ＰＣ）、ゲーム装置、ＤＶＲ,および／またはセットトップボックスに関連付けられる。装置９００は出力エンジン９１０を含む。出力エンジン９１０は、例えば、画像情報のストリームをデコードし、ディスプレイ装置に与えられるための出力を生成する。
【００１５】
画像情報をデコードするために、出力エンジン９１０は、ローカルのコンテキストバッファ内に情報を格納および／またはそこからの情報にアクセスする。例えば、コンテキストバッファは、現在デコードされているマクロブロック＊に隣接するマクロブロックＡ、Ｂ、ＣおよびＤに関連付けられたＨ．２６４パラメータを格納する。コンテキストバッファはまた、付加的なマクロブロックに関する情報も格納する（例えば、マクロブロック情報の行全体がコンテキストバッファに格納される）。いくつかの実施例によれば、コンテキストバッファは出力エンジン９１０と同じダイ（ｄｉｅ）上に形成される。出力エンジン９１０の外部にあるメモリユニット９２０も与えられて、本明細書に記載の実施例のいずれにも係る情報を格納する。外部メモリユニット９２０は、例えば、ダブルデータレート（ＤＤＲ）シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）ユニットである。
【００１６】
いくつかの実施例によれば、コンテキストバッファおよび／または外部メモリユニット９２０は、第１タイプのパラメータに関連付けられた第１コンテキスト領域９２１を含む。具体的には、デコード中のマクロブロックは第１セットのサブ部分に潜在的に分割可能である。第１パラメータタイプの異なる値は第１セットの異なるサブ部分に関連付けられる。例えば、サブマクロブロックレベル（例えば特定の８×８サンプル領域）に対して特定可能なパラメータは、第１コンテキストエリア９２１に格納される。
【００１７】
同様に、コンテキストバッファおよび／または外部メモリユニット９２０は、そのマクロブロックのための第２タイプのパラメータに関連付けられた第２コンテキスト領域９２２を含む。この場合、マクロブロックはまた、第２セットのサブ部分にも分割できる。ここで、第２パラメータタイプの異なる値は第２セットの異なるサブ部分に関連付けられる。また、第２セット中のサブ部分の数は、第１セット中のサブ部分の数よりも大きい。例えば、特定のサブマクロブロックレベル（例えば特定の４×４サンプル領域）に対して特定可能なパラメータは、第２コンテキストエリア９２２に格納される。なお、図９には２つのコンテキスト領域９２１、９２２を示すが、実施例は、２つよりも多いコンテキスト領域に関連付けられてよい（例えば、３つのコンテキスト領域がＨ．２６４情報を格納するべく与えられる）。また、図９にはマクロブロックＡに対する１セットのコンテキスト領域９２１、９２２を示すが、同様のコンテキスト領域は、コンテキストバッファおよび／または外部メモリユニット９２０内に与えられることも留意されたい。
【００１８】
また、コンテキスト領域９２１、９２２は連続するわけではない。例えば、第１コンテキスト領域９２１は、第２コンテキスト領域９２２の部分同士間で物理的に格納される。また、１つのマクロブロックの第１コンテキスト領域は、別のマクロブロックの第１コンテキスト領域から遠隔したところに物理的に格納されてもよい。
【００１９】
そして、出力エンジン９１０は、受け取られた画像情報（例えば、遠隔メディアサーバまたはローカル格納装置から受け取る）を、コンテキストバッファ内の情報に応じて（例えば隣接マクロブロックのコンテキスト領域からのパラメータ値に部分的に基づいて）デコードする。いくつかの実施例によれば、コンテキストバッファは出力エンジン９１０と同じダイ上に配置される。
【００２０】
図１０は、いくつかの実施例に係る方法を説明するフロー図である。方法は、例えば図９の出力エンジン９１０によって実行される。本明細書に記載のフローチャートは、必ずしも動作に対して固定された順序を暗示するわけではない。実施例は実用的な任意の順序で行われる。なお、本明細書に記載の方法のいずれも、ハードウェア、ソフトウェア（マイクロコードを含む）、ファームウェア、またはこれらのアプローチの任意の組み合わせによって行われてよい。例えば、格納媒体は、機械によって実行される際に本明細書に記載の実施例のいずれかにかかる性能を生じさせる命令を格納する。
【００２１】
１００２において、第１パラメータタイプの第１値が受け取られる。第１パラメータタイプは、例えば、画像の一部を表すマクロブロックに関連付けられる。また、マクロブロックは、第１セットのサブ部分（例えばサブマクロブロック）に分割可能であり、第１パラメータタイプの異なる値が第１セットの異なるサブ部分に関連付けられてよい。
【００２２】
１００４において、第２パラメータタイプの第２値はマクロブロックのために受け取られる。マクロブロックはまた、第２セットのサブ部分（例えばサブマクロブロックパーティション）に分割可能であり、第２パラメータタイプの異なる値が第２セットの異なるサブ部分に関連付けられてよい。さらに、第１セットのサブ部分は、第２セットのサブ部分と比べて大きな画像領域を表す。
【００２３】
１００６において、第１および第２パラメータタイプは、コンテキストバッファ内にマッピングされる。具体的には、コンテキストバッファは、第１パラメータタイプに関連付けられた第１コンテキスト領域、および第２パラメータタイプに関連付けられた第２コンテキスト領域を有する。また、第１コンテキスト領域は、第２コンテキスト領域と比べて各パラメータタイプに対して少ない個数の値を格納するように適合される。
【００２４】
そして、１００８において、マッピングに基づき第１値は第１コンテキスト領域内に格納され、第２値は第２コンテキスト領域内に格納される。いくつかの実施例によれば、コンテキストバッファ内の情報はその後マクロブロックをデコードするため、および画像に関連付けられた出力を生成するためにに使用される。
【００２５】
図１１は、いくつかの実施例に係るマクロブロックのためのパラメータを格納するために使用されるコンテキストバッファ１１００の一部を示す。具体的には、コンテキストバッファ１１００は、３つの異なるタイプのパラメータを格納するように適合される。以下これらの番号は、マクロブロック、マクロブロックパーティションおよび／またはサブマクロブロックに基づいて、グループＩＩのパラメータ値をコンテキストバッファ領域に付番および／またはマッピングするために使用される。なお、コンテキストバッファ１１００は、複数のマクロブロックに対しては図１１に示す情報を格納する。
【００２６】
コンテキストバッファ１１００内の第１タイプのパラメータは、本明細書では「グループＩ」パラメータと称する。グループＩパラメータは、例えば、マクロブロックに基づいてのみ定義可能なパラメータである。すなわち、そのパラメータの１つの値は常にマクロブロック全体に当てはまる。その結果、このタイプのパラメータの各々に対する１つの値または「コンテキスト」のみが、コンテキストバッファ１１００内に格納される必要がある。Ｈ．２６４デコードに関しては、グループＩパラメータの例には、ＳＫＩＰＭＢ（例えば、マクロブロックはスキップされることになる）、ＰＭＯＤＥ（例えば、イントラまたはインター予測モード情報）および／またはＩＮＴＲＬＣＭＢ（例えば、マクロブロックに関連付けられたフレームまたはフィールドモード情報）が含まれる。
【００２７】
コンテキストバッファ１１００内に格納される第２タイプのパラメータは、本明細書においては「グループＩＩ」パラメータと称する。グループＩＩパラメータは、例えば、実際のマクロブロックのパーティション化に関係なく８×８領域にマッピングするサンプルに当てはめることができるパラメータである。すなわち、このタイプのパラメータに対しては４個の異なる値まではマクロブロックに当てはめることができる。したがって、これらのパラメータの各々に対する４個の値または「コンテキスト」がコンテキストバッファ１１００内に格納される（例えば、ｃｎｔｘ_０からｃｎｔｘ_３）。Ｈ．２６４デコードに関しては、グループＩＩパラメータの例には、参照インデクスおよび／または推論フラグ（ｉｎｆｅｒｅｎｃｅ  ｆｌａｇ）が含まれる。
【００２８】
コンテキストバッファ１１００内に格納される第３タイプのパラメータは、本明細書においては「グループＩＩＩ」パラメータと称する。グループＩＩＩパラメータは、例えば、実際のマクロブロックのパーティション化に関係なく４×４領域にマッピングするサンプルに当てはめることができるパラメータである。すなわち、このパラメータに対しては１６個の値まではマクロブロックに当てはめることができる。したがって、これらのパラメータの各々に対する１６個の値または「コンテキスト」がコンテキストバッファ１１００内に格納される（例えば、ｃｎｔｘ_０からｃｎｔｘ_１５）。Ｈ．２６４デコードに関しては、グループＩＩＩパラメータの例には、ｘまたはｙ方向の動きベクトル、イントラ予測モード情報および／または符号化ビットフラグが含まれる。
【００２９】
この方法でパラメータまたはコンテキストバッファ１１００をパーティション化することによって、実施例はデコードを容易にするために使用される格納構造の量を低減することができる。パラメータ値をコンテキストバッファ１１００内および外にマッピングするためのいくつかの方法を、図１２〜図２２に関連して説明する。
【００３０】
図１２は、いくつかの実施例に係るグループＩＩパラメータに対するコンテキストマップナンバリング１２００を示す。具体的には、マクロブロック内の４個の潜在的サブマクロブロックの各々は「０」から「３」までナンバリングされる。
【００３１】
グループＩＩパラメータの４個の異なる値は、潜在的には１つのマクロブロックに当てはまるかもしれないが、いくつかの場合には１つの値がマクロブロック全体に当てはまる（例えば、マクロブロックが画像のバックグラウンド領域に関連付けられ大きなパーティションが選択された場合）。この場合、コンテキストバッファ内の４個のコンテキストすべてに１つの値が格納される（例えば、図１３に示すマッピング１３００において「（１−３）」で示すように）。例えば、その値は、そのパラメータに対して確保されたコンテキストバッファの一部の中のｃｎｔｘ_０からｃｎｔｘ_３に書き込まれる。また、この４個の値のセットは、マクロブロックの左上角の下のサブマクロブロックのラベルに基づいて（図１２に定義されているように）「０」が付される。
【００３２】
同様に、１つのグループＩＩパラメータ値はマクロブロックパーティション全体に当てはまる。例えば、マクロブロックが２つの水平方向のパーティション０および２（マクロブロックパーティションの左上角の下のサブマクロブロックのラベルに基づいて再び付される）に分割されている場合のマッピング１４００を示す図１４を考える。この場合、マクロブロックパーティション０の値はコンテキスト０および１にマッピングされ、マクロブロックパーティション２の値はコンテキスト２および３にマッピングされる。なお、１つのグループＩＩパラメータ値は複数のコンテキストにマッピングされかつ格納される。
【００３３】
図１５は、２つのパーティション０および１（マクロブロックパーティションの左上角の下のサブマクロブロックのラベルに基づいて再び付される）に垂直方向に分割されている場合のマッピング１５００を示す。この場合、マクロブロックパーティション０の値はコンテキスト０および２にマッピングされ、マクロブロックパーティション１の値はコンテキスト１および３にマッピングされる。
【００３４】
マクロブロックが４個の異なるサブマクロブロックに分割される場合、グループＩＩパラメータに対する４個のコンテキストの各々は異なる値を格納する。例えば、図１６は、コンテキスト０がサブマクロブロック０のための値を格納し、コンテキスト１がサブマクロブロック１のための値を格納し、コンテキスト２がサブマクロブロック２のための値を格納し、および、コンテキスト３がサブマクロブロック３のための値を格納するようなマッピング１６００を示す。
【００３５】
図１７は、マクロブロックの異なる部分が異なる方法でパーティション化される場合のマッピング１７００を示す。具体的には、左上および左下のサブマクロブロックが各々コンテキスト０および２にマッピングされる。２つの右のマクロブロックはパーティション０を形成し、パーティション０の値はコンテキスト０および２にマッピングされる。
【００３６】
図１８は、いくつかの実施例に係るグループＩＩＩパラメータに対するコンテキストマップナンバリング１８００を示す。具体的には、マクロブロック内の１６個の潜在的なサブマクロブロックパーティションの各々は、「０」から「１５」までナンバリングされる。以下これらの番号は、マクロブロック、マクロブロックパーティション、サブマクロブロックおよび／またはサブマクロブロックパーティションに基づいて、グループＩＩＩパラメータ値をコンテキストバッファ領域内に付番するおよび／またはマッピングするために使用される。
【００３７】
グループＩＩＩパラメータに対する１６個の異なる値が１つのマクロブロックに潜在的に割り当てられるかもしれないが、いくつかの場合には、マクロブロック全体に対して１つの値が割り当てられる（例えば、マクロブロックが画像のバックグラウンド領域に関連付けられた場合）。この場合、コンテキストバッファ内の１６個のコンテキストすべてに１つの値が格納される（例えば、図１９に示すマッピング１９００における「（１−１５）」によって示されるように）。また、１６個の値のこのセットはには、マクロブロックの左上角の下のサブマクロブロックパーティション（図１８に定義されるように）のラベルに基づいて「０」が付される。
【００３８】
同様に、１つのグループＩＩＩパラメータ値がマクロブロックパーティション全体に割り当てられてもよい。例えば、マクロブロックが２つの水平方向のパーティション０および８（マクロブロックパーティションの左上角の下のサブマクロブロックのラベルに基づいて再び付される）に分割されている場合のマッピング２０００を示す図２０を考える。この場合、マクロブロックパーティション０の値は、コンテキスト０から７にマッピングされ、マクロブロックパーティション８の値はコンテキスト８から１５にマッピングされる。なお、１つのグループＩＩＩパラメータは複数のコンテキストにマッピングされかつ格納される。
【００３９】
図２１は、２つのパーティション０および４（マクロブロックパーティションの左上角の下のサブマクロブロックパーティションのラベルに基づいて再び付される）に垂直方向に分割されている場合のマッピング２１００を示す。この場合、マクロブロックパーティション０の値はコンテキスト０から３および８から１１にマッピングされ、マクロブロックパーティション４の値はコンテキスト４から７および１２から１５にマッピングされる。
【００４０】
グループＩＩＩパラメータはまた、サブマクロブロックに対して定義されてもよい。この場合、図２２のマッピング２２００に示すように、サブマクロブロック０はコンテキスト０から３へマッピングし、サブマクロブロック４はコンテキスト４から７へマッピングし、サブマクロブロック８はコンテキスト８から１１へマッピングし、サブマクロブロック１２はコンテキスト１２から１５へマッピングする。
【００４１】
最後に、図２３は、マクロブロック内の異なるサブマクロブロックが異なる方法でパーティション化される場合のマッピング２３００を示す。具体的には、左上のサブマクロブロックはパーティション化されていないので、コンテキスト０から３へマッピングされる。右上のサブマクロブロックは、サブマクロブロックパーティション４（コンテキスト４および５にマッピング）およびサブマクロブロックパーティション６（コンテキスト６および７にマッピング）にパーティション化されている。
【００４２】
左下のサブマクロブロックは、サブマクロブロックパーティション８（コンテキスト８および１０にマッピング）およびサブマクロブロックパーティション９（コンテキスト９および１１にマッピング）にパーティション化されている。右下のサブマクロブロックは、４個のサブマクロブロックパーティション１２から１５にパーティション化され、その各々は関連付けられたコンテキストに格納される。最悪の場合、１つのグループＩＩＩパラメータが１６個の異なる値（図２３には示さず）に関連付けられる。この場合、各値は異なるコンテキスト内に格納される。
【００４３】
なお、図１１から図２３に関して説明されたマッピングは、コンテキストバッファ内に情報を格納するか、またはコンテキストバッファから情報を取り出すかのいずれかを目的として使用される。また、いくつかの実施例によれば、マッピングスキームを実行するために表および／またはロジック回路を使用することもできる。
【００４４】
図２４は、いくつかの実施例に係るシステム２４００のブロック図である。システム２４００は、例えば、デジタルディスプレイ装置、高精細テレビジョン（ＨＤＴＶ）ユニット、ＤＶＲ、ゲームコンソール、ＰＣもしくはラップトップコンピュータ、および／またはセットトップボックス（例えばケーブルまたは衛星デコーダ）に関連付けられる。
【００４５】
システム２４００は、本明細書に記載の実施例のいずれかに応じて動作する、オンチップバッファまたは外部ＳＤＲＡＭユニットのようなデータ格納装置２４２０を含む。例えば、データ格納装置２４２０は、動画像領域（例えばマクロブロック）のための全体領域パラメータタイプに関連付けられた全体領域格納部を含む。ここで、全体領域パラメータタイプの１つの値は画像領域に関連付けられる。全体領域格納部は、例えば、本明細書に記載のグループＩのＨ．２６４パラメータ値を格納するために使用されてよい。
【００４６】
データ格納装置２４２０はまた、画像領域のための第１パラメータタイプに関連付けられた第１格納部を含んでよい。画像領域は第１セットのサブ領域に潜在的に分割可能である。なお、第１パラメータタイプの異なる値は、第１セットの異なるサブ領域に関連づけられてよい。第１格納部は、例えば、本明細書に記載のグループＩＩのＨ．２６４パラメータ値（例えば、サブマクロブロックに当てはめ可能な）を格納するために使用されてよい。データ格納装置２４２０はさらに、画像領域のための第２パラメータタイプに関連付けられた第２格納部を含んでよい。画像領域は第２セットのサブ領域に潜在的に分割可能である。また、第２パラメータタイプの異なる値が、第２セットの異なるサブ領域に関連付けられてもよい。なお、第２セットのサブ領域の数は、第１セットのサブ領域の数とはことなる。第２格納部は、例えば、本明細書に記載のグループＩＩＩのＨ．２６４パラメータ値（例えば、サブマクロブロックパーティションに当てはめ可能な）を格納するために使用されてよい。データ格納装置は、複数のマクロブロック（例えば、現在構成中のマクロブロック、隣接するマクロブロックおよび／または付加的なマクロブロック）に対して図２４に示す第１部分、第２部分および第３部分を格納する。
【００４７】
システム２４００は、受け取られた画像情報のストリームをデータ格納装置２４２０内の情報に応じてデコードするＨ．２６４デコーダのような出力エンジン２４１０をさらに含む。例えば、出力エンジン２４１０は、ディスプレイの隣接領域に関連付けられたパラメータに少なくとも部分的に基づいて、Ｈ．２６４マクロブロックまたはＨ．２６４マクロブロックの一部をデコードする。いくつかの実施例によれば、出力エンジン２４１０は、デジタル出力２４３０を介してディスプレイ装置に与えられる情報を生成する。
【００４８】
様々な付加的な実施例を以下に示す。これらは、すべての可能な実施例の定義を構成するわけではなく、当業者には他の多くの実施例が可能であることが理解される。さらに、以下の実施例は明確さを目的として簡潔に説明するが、当業者には、これらおよびその他の実施例および用途を必要に応じて上記説明に適合させるべく任意の変更を行う方法が理解される。
【００４９】
例えば、特定のコンテキストバッファナンバリングおよびマッピングのスキームが本明細書で説明されているが、実施例は他のいずれのタイプのバッファナンバリングおよびマッピング技術に関連付けられてよい。例えば、特定のデコード方法は、本明細書に記載された例とは異なるサイズの画像情報のブロックを含んでよい。
【００５０】
また、本明細書においては具体的な画像処理プロトコルおよびネットワークが例として使用されたが（例えばＨ．２６４およびＭＰＥＧ４）、実施例は、地上デジタルテレビジョン放送（ＤＴＴＢ）およびコミュニティアクセステレビジョン（ＣＡＴＶ）システムのようなたの任意のタイプの画像処理プロトコルまたはネットワークに関連して使用されてよい。
【００５１】
本明細書に記載のいくつかの実施例は、説明を目的とするものにすぎない。当業者であれば、請求項によってのみ限定される修正例および変形例によって実行できる他の実施例が本説明からわかるだろう。
【図面の簡単な説明】
【００５２】
【図１】メディアシステムのブロック図である。
【図２】マクロブロックに分割されたディスプレイを示す。
【図３】マクロブロック、マクロブロックパーティションおよびサブマクロブロックに分割されたディスプレイを示す。
【図４】１つのマクロブロックを示す。
【図５】２つのマクロブロックパーティションに分割されたマクロブロックを示す。
【図６】２つのマクロブロックパーティションに分割されたマクロブロックを示す。
【図７】４個のサブマクロブロックに分割されたマクロブロックを示す。
【図８】サブマクロブロックパーティションに分割されたサブマクロブロックを示す。
【図９】いくつかの実施例に係る装置のブロック図である。
【図１０】いくつかの実施例に係る方法を示すフロー図である。
【図１１】いくつかの実施例に係るコンテキストバッファの一部を示す。
【図１２】いくつかの実施例に係るグループＩＩのパラメータに対するコンテキストマップのナンバリングを示す。
【図１３】いくつかの実施例に係るマクロブロック、マクロブロックパーティションおよびサブマクロブロックに関してグループＩＩのパラメータに対するコンテキストマッピングを示す。
【図１４】いくつかの実施例に係るマクロブロック、マクロブロックパーティションおよびサブマクロブロックに関してグループＩＩのパラメータに対するコンテキストマッピングを示す。
【図１５】いくつかの実施例に係るマクロブロック、マクロブロックパーティションおよびサブマクロブロックに関してグループＩＩのパラメータに対するコンテキストマッピングを示す。
【図１６】いくつかの実施例に係るマクロブロック、マクロブロックパーティションおよびサブマクロブロックに関してグループＩＩのパラメータに対するコンテキストマッピングを示す。
【図１７】いくつかの実施例に係るマクロブロック、マクロブロックパーティションおよびサブマクロブロックに関してグループＩＩのパラメータに対するコンテキストマッピングを示す。
【図１８】いくつかの実施例にかかるグループＩＩＩのパラメータに対するコンテキストマップのナンバリングを示す。
【図１９】いくつかの実施例にかかるマクロブロック、マクロブロックパーティション、サブマクロブロックおよびサブマクロブロックパーティションに関してグループＩＩＩのパラメータに対するコンテキストマッピングを示す。
【図２０】いくつかの実施例にかかるマクロブロック、マクロブロックパーティション、サブマクロブロックおよびサブマクロブロックパーティションに関してグループＩＩＩのパラメータに対するコンテキストマッピングを示す。
【図２１】いくつかの実施例にかかるマクロブロック、マクロブロックパーティション、サブマクロブロックおよびサブマクロブロックパーティションに関してグループＩＩＩのパラメータに対するコンテキストマッピングを示す。
【図２２】いくつかの実施例にかかるマクロブロック、マクロブロックパーティション、サブマクロブロックおよびサブマクロブロックパーティションに関してグループＩＩＩのパラメータに対するコンテキストマッピングを示す。
【図２３】いくつかの実施例にかかるマクロブロック、マクロブロックパーティション、サブマクロブロックおよびサブマクロブロックパーティションに関してグループＩＩＩのパラメータに対するコンテキストマッピングを示す。
【図２４】いくつかの実施例に係るシステムのブロック図である。
【図１】
2008524932.tif 000003
【図２】
2008524932.tif 000004
【図３】
2008524932.tif 000005
【図４】
2008524932.tif 000006
【図５】
2008524932.tif 000007
【図６】
2008524932.tif 000008
【図７】
2008524932.tif 000009
【図８】
2008524932.tif 000010
【図９】
2008524932.tif 000011
【図１０】
2008524932.tif 000012
【図１１】
2008524932.tif 000013
【図１２】
2008524932.tif 000014
【図１３】
2008524932.tif 000015
【図１４】
2008524932.tif 000016
【図１５】
2008524932.tif 000017
【図１６】
2008524932.tif 000018
【図１７】
2008524932.tif 000019
【図１８】
2008524932.tif 000020
【図１９】
2008524932.tif 000021
【図２０】
2008524932.tif 000022
【図２１】
2008524932.tif 000023
【図２２】
2008524932.tif 000024
【図２３】
2008524932.tif 000025
【図２４】
2008524932.tif 000026
【国際調査報告】
2008524932.tif 000027
2008524932.tif 000028