(57)【要約】提案される動的運動ベクトル分析方法は、ビデオデコーダシステムの運動補正モジュールに適用される。上記方法は、ピクチャフレームの所与の領域の運動ベクトルを分析し、外部メモリー中に記憶された参照フレームから、フェッチすべき１セットの領域を出力する。領域のサイズおよび数は、１セットのユーザー定義の入力閾値を用いる階層化法により決定される。上記所与の領域と関連付けられた上記運動ベクトルの前処理により、上記方法において、同一のフレームワーク中の複数の参照フレームからのフェッチすべき参照データに対応することができる。オンチップメモリーリソースのより効率的な利用を支援するための、ＭＶ分析と共に機能するコンプリメンタリ動的バッチ（オペレーション領域）サイズ戦略も提案される。【選択図】図５
2010527194.tif 000002
【特許請求の範囲】
【請求項１】
運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析により帯域幅要件およびオンチップメモリー利用を最適化する方法であって、
ａ．データをフェッチすべき領域を提供する工程と、
ｂ．運動ベクトルを用いて参照領域を外部メモリー中に記憶された前記領域から特定し、前処理運動ベクトルを構成して、複数の参照フレームからの参照データフェッチを決定する工程と、
ｃ．前記参照データブロックそれぞれの最小重複領域を特定する工程と、
ｄ．前記重複領域を所定の閾値と比較する工程と、
ｅ．前記閾値よりも値が小さい領域をフェッチし、前記閾値よりも値が大きい領域を小領域に分割し、各領域がこれ以上再分割できなくなるまで前記工程ｂからｅを繰り返す工程と、
を含むことを特徴とする方法。
【請求項２】
前記領域のサイズおよび数は、１セットの所定の閾値に依存することを特徴とする請求項１に記載の方法。
【請求項３】
前記方法は、外部インターフェース帯域幅要件と、システム中の所与の量のオンチップメモリーに対するデータフェッチ数との間をトレードオフする手段を提供することを特徴とする請求項１に記載の方法。
【請求項４】
前記閾値セットおよび領域区画化戦略は、前記処理されたアプリケーションデータに対して適応可能であることを特徴とする請求項１に記載の方法。
【請求項５】
前記方法は、前記要件に従ってオペレーティングバッチサイズを動的に変更することを特徴とする請求項１に記載の方法。
【請求項６】
前記方法は、外部メモリーインターフェース帯域幅要件と、オンチップメモリー要件との間の動的バランスを提供することを特徴とする請求項１に記載の方法。
【請求項７】
前記バッチは複数のマクロブロックを含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記オペレーティング領域および前記小領域は、ピクチャフレーム中のデータの矩形ブロックであることを特徴とする請求項１に記載の方法。
【請求項９】
前記方法は、
ａ．先行フレームからの重複データを参照する現在のデータブロックと、
ｂ．非重複領域を参照する現在のデータブロックと、
ｃ．複数の参照フレームから領域を参照する現在のデータブロック
とからなる群から選択された複数のシナリオの下、先行フレームから前記参照データを自動的に決定およびフェッチすることを特徴とする請求項１に記載の方法。
【請求項１０】
前記方法は、シングルコアおよび／またはマルチコア埋め込みプラットフォーム上に実行されることを特徴とする請求項１に記載の方法。
【請求項１１】
運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析による帯域幅要件およびオンチップメモリー利用を最適化する装置であって、
ａ．運動ベクトル情報を提供する手段と、
ｂ．前記フェッチすべきデータ中の重複領域を利用し、前記フェッチすべき冗長データを低減する運動ベクトル分析エンジンと、
ｃ．参照データを外部メモリーからフェッチし、前記転送リクエストを逐次的に処理する動的メモリーアクセス（ＤＭＡ）と、
ｄ．運動補正モジュールと、
ｅ．前記参照データを記憶するオンチップメモリーと、
を含むことを特徴とする装置。
【請求項１２】
前記装置は、Ｈ．２６４デコーダの運動補正モジュールの部分であることを特徴とする請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運動補正ベース（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ  ｂａｓｅｄ）のビデオデコーダシステムのための動的運動ベクトル分析（Ｄｙｎａｍｉｃ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ａｎａｌｙｓｉｓ）による帯域幅要件およびオンチップメモリー利用を最適化する方法と、その装置に関する。
【背景技術】
【０００２】
運動補正方法において、現在のフレームが復号化されている間、以前に復号化されたフレームデータ（参照データと呼ぶ）が必要となる。オンチップメモリーは貴重なリソースであるため、中程度（ｍｏｄｅｒａｔｅ）のサイズフレームであっても、（以前に復号化された）参照フレームを外部メモリー内に記憶する必要がある。運動補正方法によって要求される場合、このデータを外部メモリーからフェッチする必要があり、その結果、インターフェース上にさらなる帯域幅要件が必要となる。隣接領域によって参照されるデータ中に若干の重複がある場合があり、余分なオンチップメモリーを若干設けることによりこの重複を利用することができれば、一定のオンチップメモリーを犠牲にして一定の帯域幅が低減される。フレームサイズがより大きい場合、帯域幅オーバーヘッドが極めて大量になり得、その結果、上記参照フレーム用に大きなオンチップメモリーが必要となる。動的ＭＶ分析と呼ばれる方法では、参照データフェッチ戦略が定義および提案されている。この方法は、外部メモリーインターフェース帯域幅要件と、オンチップメモリー要件との間のバランスを動的に達成し、これにより、データ重複の利用および冗長ロード（ｒｅｄｕｎｄａｎｔ  ｌｏａｄｓ）の低減により、大幅な節約に繋がっている。
【０００３】
先行フレームからのデータ参照において、複数のシナリオがあり得る。そのうちのいくつかを以下に示す。
・低運動フレームの場合のように、先行フレームからの重複データを参照する現在のデータブロック。
・大きな運動ベクトルを有する高運動フレームの場合のような、非重複領域（遠隔位置の参照領域）を参照する現在のデータブロック。
・複数の参照フレームからの領域を参照する現在のデータブロック。
【０００４】
上記シナリオのそれぞれにおいて、上記帯域幅および上記オンチップメモリー制約を満たすために、異なるフェッチ戦略がある。例えば、第１のシナリオとしては、現在のブロックに関する要処理データ全てを含む１つの大きな領域をフェッチすると、有益である。しかし、第２のシナリオにおいて、必要以上のより大きな領域がフェッチされ、その結果、より高い帯域幅および記憶要件に繋がる。
【０００５】
「動的ＭＶ分析（Ｄａｙｎａｍｉｃ  ＭＶ−Ａｎａｌｙｓｉｓ）」の基本的考えは、フェッチすべきデータ中の重複を利用し、かつ、フェッチすべき冗長データ（ｒｅｄｕｎｄａｎｔ  ｄａｔａ）を低減することである。これは、所与の領域の運動ベクトルを分析することによってデータ特性に従ってフェッチ戦略を採用することにより、達成される。フェッチ戦略の再帰的分析を導入すると、アウトライアー（ｏｕｔ−ｌｉｅｒ）運動ベクトル（該セット中のその他の運動ベクトルと極めて異なるいくつかの運動ベクトル）の場合において、上記方法がよりロバスト（ｒｏｂｕｓｔ）となる。上記方法では、複数の参照フレームからデータをフェッチしなければならないシナリオにも対応できる。処理対象となる領域のサイズは、運動ベクトル分析の結果に基づいて動的に変更され、これにより、利用可能なオンチップメモリーが効率的に利用される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の主要な目的は、フェッチすべきデータ中の重複を利用し、かつ、フェッチすべき冗長データを低減することである。
【０００７】
本発明のさらに別の目的は、運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析により、帯域幅要件およびオンチップメモリー利用を最適化する方法および装置を提供することである。
【０００８】
本発明のさらに別の目的は、所与の領域のピクチャフレームの運動ベクトルを分析し、外部メモリー中に記憶された参照フレームからフェッチすべき１セットの領域を出力することである。
【０００９】
本発明のさらに別の目的は、所与の領域と関連付けられた運動ベクトルの前処理により、上記方法により、同一のフレームワーク中の複数の参照フレームから参照データフェッチ（ｒｅｆｅｒｅｎｃｅ  ｄａｔａ  ｆｅｔｃｈｅｓ）を決定することを可能にすることである。
【００１０】
本発明のさらに別の目的は、上記方法により、要件に応じてオペレーティングバッチサイズを動的に変更して、オンチップメモリー利用を最適化することである。
【課題を解決するための手段】
【００１１】
したがって、本発明は、運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析により帯域幅要件およびオンチップメモリー利用を最適化する方法を提供する。上記方法は、データをフェッチすべき領域を提供する工程と、運動ベクトルを用いて参照領域を外部メモリー中に記憶された上記領域から特定し、前処理（ｐｒｅ−ｐｒｏｃｅｓｓｉｎｇ）運動ベクトルを構成して、複数の参照フレームからの参照データフェッチを決定する工程と、上記参照データブロックそれぞれの最小重複領域を特定する工程と、上記重複領域を所定の閾値と比較する工程と、上記闘値よりも値が小さい領域をフェッチし、上記閾値よりも値が大きい領域を小領域に分割し、各領域がこれ以上再分割できなくなるまで、上記特定工程、上記比較工程および上記フェッチ工程を繰り返す工程とを含む。運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析により帯域幅要件およびオンチップメモリー利用を最適化する装置も提供される。上記装置は、運動ベクトル情報を提供する手段と、上記フェッチすべきデータ中の重複領域を利用し、上記フェッチすべき冗長データを低減する運動ベクトル分析エンジンと、参照データを外部メモリーからフェッチし、上記転送リクエストを逐次的に処理する動的メモリーアクセス（ＤＭＡ）と、運動補正モジュールと、上記参照データを記憶するオンチップメモリーとを含む。
【図面の簡単な説明】
【００１２】
【図１】図１は、フェッチすべき参照領域の座標＾Ｒlｒｉ（ハットR lri）示し、この座標は、所与の領域内の各Ｂｌｒｉに対応する。
【図２】図２は、ＭＶ分析方法のフローチャートを示す。
【図３】図３は、フェッチすべきデータ中の重複が多い場合のシナリオの例を示す。
【図４】図４は、ＭＶ分析方法によって再帰を呼び出すシナリオの例を示す。
【図５】図５は、運動補正モジュール実行システムを示す。
【図６】図６は、Ｈ．２６４デコーダのためのＭＶ分析実行のためのレベルおよび領域区画を示す。
【発明を実施するための形態】
【００１３】
以下、本発明について添付図面と共により詳細に説明する。本発明の第１の実施形態は、運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析により帯域幅要件およびオンチップメモリー利用を最適化する方法である。上記方法は、データをフェッチすべき領域を提供する工程と、運動ベクトルを用いて参照領域を外部メモリー中に記憶された上記領域から特定し、前処理運動ベクトルを構成して、複数の参照フレームからの参照データフェッチを決定する工程と、上記参照データブロックそれぞれの最小重複領域を特定する工程と、上記重複領域を所定の閾値と比較する工程と、上記闘値よりも値が小さい領域をフェッチし、上記閾値よりも値が大きい領域を小領域に分割し、各領域がこれ以上再分割できなくなるまで、上記特定工程、上記比較工程および上記フェッチ工程を繰り返す工程とを含む。本発明のさらに別の実施形態において、上記領域のサイズおよび数は、１セットの所定の閾値に応じて異なる。
【００１４】
本発明のさらに別の実施形態において、上記方法は、外部インターフェース帯域幅要件と、システム中の所与の量のオンチップメモリーに対するデータフェッチ数との間をトレードオフする手段を提供する。本発明のさらに別の実施形態において、上記閾値セットおよび領域区画化戦略は、処理されたアプリケーションデータに適応可能である。
【００１５】
本発明のさらに別の実施形態において、上記方法は、上記要件に基づいて、オペレーティングバッチサイズを動的に変更する。
【００１６】
本発明のさらに別の実施形態において、上記方法は、外部メモリーインターフェース帯域幅要件と、オンチップメモリー要件との間の動的バランスを提供する。
【００１７】
本発明のさらに別の実施形態において、上記バッチは、複数のマクロブロックを含む。
【００１８】
本発明のさらに別の実施形態において、上記オペレーティング領域および上記小領域は、ピクチャフレーム中のデータの矩形ブロックである。本発明のさらに別の実施形態において、上記方法は、
ａ  先行フレームからの重複データを参照する現在のデータブロックと、
ｂ  非重複領域を参照する現在のデータブロックと、
ｃ  複数の参照フレームから領域を参照する現在のデータブロック、
とを含む群から選択された複数のシナリオの下、先行フレームから上記参照データを自動的に決定およびフェッチする。
【００１９】
本発明のさらに別の実施形態において、上記方法は、シングルコアおよび／またはマルチコア埋め込みプラットフォーム上に実行される。
【００２０】
本発明のさらに別の実施形態において、運動補正ベースのビデオデコーダシステムのための動的運動ベクトル分析により帯域幅要件およびオンチップメモリー利用を最適化する装置であり、上記装置は、運動ベクトル情報を提供する手段と、上記フェッチすべきデータ中の重複領域を利用し、上記フェッチすべき冗長データを低減する運動ベクトル分析エンジンと、参照データを外部メモリーからフェッチし、上記転送リクエストを逐次的に処理する動的メモリーアクセス（ＤＭＡ）と、運動補正モジュールと、上記参照データを記憶するオンチップメモリーとを含む。本発明のさらに別の実施形態において、上記装置は、Ｈ．２６４デコーダの運動補正モジュールの部分である。
【００２１】
この提案される方法／手順は、ビデオデコーダシステムの上記運動補正モジュールに適用される。
【００２２】
上記方法は、ピクチャフレームの所与の領域の運動ベクトルを分析し、外部メモリー中に記憶された参照フレームからフェッチすべき１セットの領域を出力する。領域のサイズおよび数は、１セットのユーザー定義の入力閾値を用いた階層化法により、決定される。所与の領域と関連付けられた運動ベクトルの前処理により、上記方法において、同一のフレームワーク中の複数の参照フレームからの参照データをフェッチすることが可能になる。オンチップメモリーリソースのより効率的な利用を支援する、ＭＶ分析と共に機能するコンプリメンタリ動的バッチ（オペレーション領域）サイズ戦略も提案される。
【００２３】
Ｈ．２６４デコーダ実行の運動補正モジュールに対する上記方法の例示的適応も提供される。
【００２４】
先ず、表記法および専門用語について紹介した後、方法について一般的に説明する。領域／小領域（ｒｅｇｉｏｎ／ｓｕｂ−ｒｅｇｉｏｎ）は、ピクチャフレーム中のデータの矩形ブロックとして規定される。領域／小領域は、画素（ｘ、ｙ）中の開始位置および領域のサイズ（画素の幅および高さ）により記述される。
【００２５】
Ｂは、運動ベクトルが利用可能である最小領域を示す。本方法の文脈において、全領域が、Ｂの整数からなる。
【００２６】
提案される方法は、再帰的方法であり、１セットの階層的領域と共に機能する。最高レベルにおいて、上記方法は、１つの領域（バッチとも呼ばれる）と共に開始する。より低いレベルに進むにつれ、より高いレベルの所与の領域において必要な場合、当該領域は複数の連続的小領域に区画され、上記方法は、当該区画中の小領域それぞれに対して機能する。この再帰は、各領域がこれ以上再分割できなくなる最低レベルに上記方法が到達するまで、継続する。これは、最低レベルにおいて各小領域サイズがＢに等しいことを示す。各レベルにおける小領域を記述するため、以下の表記法を導入する。
【００２７】
Ｌは、レベルの合計数を示し、Ｎ１は、レベルＩの小領域の数を示し、
【数１】
2010527194.tif 000003
は、所与のレベルＩにおける小領域のシーケンスを示す。最高レベルＮ１＝１において、この領域をＲＬ（バッチ）と示す。ＭＩｒは、所与の領域ＲＩｒに対して利用可能な運動ベクトル数を示す。
【数２】
2010527194.tif 000004
は、所与のレベルＩにおいて小領域ｒ中に含まれるＢｓ（運動ベクトルが利用可能な最小データ単位）のシーケンスを示す。
【数３】
2010527194.tif 000005
は、所与の領域ＲＩｒに対する参照フレームにおける（それぞれ、
【数４】
2010527194.tif 000006
中の各基本ブロックに対する）データ小領域の対応するシーケンスを示す。
【数５】
2010527194.tif 000007
は、上記セット
【数４】
2010527194.tif 000008
中の各ブロックと関連付けられた運動ベクトル（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ）のセットを示す。
【００２８】
ＮＢは、最高レベル（ＲＬ）における領域中に含まれるＢｓの数を示す。上記から
【数６】
2010527194.tif 000009
となり、任意のレベルについてこれが当てはまる。
【００２９】
ＲＯＩｒは、
【数７】
2010527194.tif 000010
中の全小領域を含む最小領域を示す。Ｔ１は、所与のレベルＩにおける「領域サイズ（ｒｅｇｉｏｎ  ｓｉｚｅ）」の閾値を示す。
【００３０】
ＲｅｇＴｏＢｅＦｅｔｃｈｅｄ［］は、参照フレームからフェッチすべき領域を含むグローバルアレイ（ｇｌｏｂａｌ  ａｒｒａｙ）を示す。
【００３１】
ＭＶ分析方法
表１は、ＭＶ分析方法のための高レベル疑似コードを示す。各レベルにおける領域の区画（Ｎ１および各小領域のサイズ）が分かっており、閾値（Ｔ１）も分かっているものとする。閾値および領域区画化戦略は、アプリケーションデータによって異なり、各場合において別個の微調整が必要となり得る。
【００３２】
この方法に対する入力は、データをフェッチする必要がある１つの単一の領域（バッチ）である。
【００３３】
上記方法の出力は、外部メモリーからフェッチする必要がある異なる参照フレームに属する１セットの領域である。本方法の主要モジュールは、以下である。
・ＦｉｎｄＲｅｆＲｅｇｉｏｎ：  この関数は、運動ベクトルを用い、所与のＲｌｒに対応する
【数８】
2010527194.tif 000011
のセットを発見する。この関数は、Ｒｌｒに対する入力運動ベクトルセット
【数９】
2010527194.tif 000012
を用いる。この関数の重要な特徴は、参照データが異なる参照フレームに属するシナリオに対する対応を促進するための、運動ベクトルに対する前処理工程である。
【００３４】
・ＦｉｎｄＯｖｅｒｌａｐＲｅｇｉｏｎ：  この関数は、
【数１０】
2010527194.tif 000013
中の全領域を含む最小の重複する矩形領域、ＲＯｌｒを発見する。
・必要ならば、次のレベルへの再帰を呼び出す方法のための、閾値と比較。
【００３５】
【表１】
2010527194.tif 000014
【００３６】
表２は、フェッチすべき参照領域を発見し、重複領域を発見するための高レベルの疑似コードを示す。
【表２】
2010527194.tif 000015
【００３７】
ＭＶ分析方法のフローチャートを図２に示す。
【００３８】
ＭＶ分析方法を用いることによる参照データフェッチの最大のオンチップメモリー要件は、以下によって得られる。
【００３９】
【数１１】
2010527194.tif 000016
【００４０】
典型的に、最悪事態要件（ｗｏｒｓｔ  ｃａｓｅ  ｒｅｑｕｉｒｅｍｅｎｔ）は、最高レベルＲＬにおける領域中に存在する全参照領域のサイズの合計に等しい。したがって、ＲＬのサイズは、上記参照データを記憶するオンチップメモリーに対する最悪事態要件を規定する。所与のメモリー要件に対して、閾値のシーケンスは、外部帯域幅の合計と、フェッチすべき領域の数とのバランスをとる主要パラメータである。フェッチすべき領域の数は、外部メモリーからデータをフェッチする際にＤＭＡが用いられるシナリオにおいて重要となり得る。ＤＭＡは、埋設されたデコーダ実行プラットフォームのほとんどにおける最重要機能ユニットのうちの１つであることが周知である。閾値は、注意深く選択する必要があり、典型的には、異なるデータセットに対する微調整が必要となる。
【００４１】
図３および図４は、この方法の機能の２つの例示的例を示す。図３において、フェッチすべきデータ中に重複が多くあり、最上位レベルにおいて再帰が停止するシナリオが提示されている。これは、最良の場合であり、フレームの低運動領域において発生することが多い。この場合、帯域幅およびメモリー要件がどちらとも低いことが分かる。図４において、最上位レベル（ＲＯ２０）における重複領域がレベル２における閾値を越える場合を示す。直観的に、これは、１つの塊中の参照データを得ようとする場合、当該データはフェッチする必要がないデータを大量に含むため、不十分となることを上記方法が示していることを意味する。よって、この場合、再帰を呼び出し、上記方法は次のレベルに移動する。次のレベルにおいて、上記方法は、２つの小領域上に別個に作用する。
【００４２】
これは、小領域（ＲＯ１０およびＲＯ１１）それぞれに対する重複領域を発見する。ここで、領域ＲＯ１１はレベル１における閾値よりも低く、よって、単一の領域としてフェッチされるように見える。しかし、ＲＯ１０の場合、領域ＲＯ１１はレベル１における閾値を越え、よって再帰が再度呼び出されることが分かる。
【００４３】
直観的に、方法が示す様式は、Ｂ０およびＢ１に属する運動ベクトルはアウトライアーであり、別個に扱うべきである一方、Ｂ２およびＢ３の場合、十分な重複があり、Ｂ２およびＢ３データは１領域としてフェッチすべきである。最低レベルにおいて、上記領域はこれ以上再分割できず、Ｂ０およびＢ１それぞれに対する参照領域としてフェッチされる。
【００４４】
【数１２】
2010527194.tif 000017
【００４５】
上記シナリオにおいて、ＲＯ２０＜Ｔ２であり、よって、再帰は最高レベル（Ｌ＝２）において停止する。
【数１３】
2010527194.tif 000018
【００４６】
これが図３において反映される。図３において、フェッチすべきデータ中に重複が大量にある。よって、異なるレベルにおいて機能することにより、ＭＶ分析は、異なるサイズの領域に対するフェッチすべきデータ中の重複を発見するように試行する。このようにして、アウトライアー運動ベクトルのうちいくつかを残りから除去することが可能になり、よって、よりロバストなフェッチ戦略が得られる。
【００４７】
【数１４】
2010527194.tif 000019
【００４８】
上記シナリオにおいてＲＯ２０＞Ｔ２であり、よって、再帰はレベル１へと移動する。
【００４９】
レベル１において、
ＲＯ１１＞Ｔｌであり、よって、ＲＯ１１がフェッチされる。
ＲＯ１０＞Ｔｌであり、よって、再帰はレベル０に移動する。レベル０において、上記小領域はＢ０およびＢ１（最小単位）と同一であり、よって、Ｂ０およびＢ１と関連付けられた参照領域がフェッチされる。
【００５０】
【数１５】
2010527194.tif 000020
【００５１】
これが図４中に反映され、ここで再帰が呼び出される。
【００５２】
ＭＶ分析および動的バッチサイズ
マルチコアプラットフォームにおいて、主要概念は、データの「バッチ」の概念である。異なるコアは、データの異なる塊（データの「バッチ」と呼ばれる）に関する異なるタスクを行う。上記タスクが適切に区画された場合、上記コアを同期し、バッチ毎にデータを１回だけ交換する必要がある。同期を頻繁にすると、オーバーヘッドが多くなる場合があり、よって、それほど小さくないバッチサイズを持つとよい。より大きなバッチサイズは、処理要件における「低変動性（ｓｍａｌｌ  ｖａｒｉａｂｉｌｉｔｙ）」を示し（これは、必要な処理量がデータ依存であるからである）、これにより、同期失速がより低減される。他方、より小さなバッチサイズは、メモリー要件の低減を示す（出力および入力バッファは、バッチサイズに直接依存する）。上記コアはデータの「バッチ」上に作用するため、「バッチ」も、上記ＭＶ分析方法の自然最高レベルを形成する。
【００５３】
よって、上記ＭＶ分析方法のためのオンチップメモリー要件は、バッチサイズによって規定される。所与のバッチサイズに対するオンチップメモリーは、所与のバッチサイズの最悪事態要件に従って割り当てられる必要がある。しかし、フェッチすべきデータの量は変動し、ほとんどの場合、上記最悪事態要件を大幅に下回る。オンチップメモリーの利用を最適化するため、動的バッチサイズ（ｄａｙｎａｍｉｃ  ｂａｔｃｈ  ｓｉｚｅｓ）が用いられる。フェッチすべき参照データの量は変動するが、この情報は、ＭＶ分析方法の出力として利用することができる。この情報を用いてバッチサイズを変更し、これにより「動的バッチサイズ」を得る。一例として、２マクロブロック（ｍａｃｒｏ−ｂｌｏｃｋｓ）のバッチサイズに対してメモリーが予約されている場合を想定する。割り当てられたメモリーは、常に、当該バッチサイズに関する最悪事態要件のためのものである。しかし、ほとんどの場合、最悪事態は発生せず、多くのメモリーが未使用のままとなる。上記バッチサイズを動的に増加することにより、上記割り当てられたメモリーを適切に利用することが可能になり、平均バッチサイズの増加に繋がる。
【００５４】
ＭＶ分析および動的バッチサイズに基づいたＨ．２６４デコーダ実行
ＭＶ分析および動的バッチサイズは、Ｈ．２６４デコーダのための運動補正モジュールの実行において用いられている。用いられる異なるモジュールおよびその相互作用のブロック図を図５に示し、Ｈ．２６４デコーダのためのＭＶ分析実行のためのレベルおよび領域区画を図６に示す。
【００５５】
参照データが、オンチップＤＭＡを用いた外部メモリーからフェッチされる。上記ＤＭＡは、ＭＶ分析エンジンによる転送の設定であり、別個のＤＭＡ転送が、ＦｅｔｃｈＲｅｇｉｏｎｓ［］アレイによって指定された参照領域それぞれについて設定される。ＤＭＡ転送の設定に起因して発生し得るプロセッサ失速を低減するために、全ての転送リクエストを同時に発行することが最も必要である。ＤＭＡは転送リクエストを逐次的に処理し得るが、上記プロセッサ側から見ると、全領域が１つのリクエストにおいてフェッチされているかのように見える。これが示すのは、ＤＭＡは複数の同時リクエストに対応可能であるべきであり、また、より重要なことに、バッチが必要となり得るフェッチリクエスト全てを吸収する能力を持つべきであることである。ＭＶ分析閾値は重要なパラメータであり、そのため、上記帯域幅要件と、許容される同時フェッチ数との間のバランスをとることが必要である。
【００５６】
Ｈ．２６４のためのＭＶ分析領域区画化（ｐａｒｔｉｔｉｏｎｉｎｇ）
４×４は、運動ベクトルが利用可能な最小データブロックであり、参照データが外部メモリーからフェッチされる最低レベルを形成する。通常、上記「バッチ」は複数のマクロブロックを含み、これは、データフェッチが発行されるデータが４レベルあることを示す。
【図１】
2010527194.tif 000021
【図２】
2010527194.tif 000022
【図３】
2010527194.tif 000023
【図４】
2010527194.tif 000024
【図５】
2010527194.tif 000025
【図６】
2010527194.tif 000026
【国際調査報告】
2010527194.tif 000027
2010527194.tif 000028
2010527194.tif 000029