(57)【要約】  データ・イメージ処理のための装置（１０）及び方法（７００）である。本方法（７００）は、イメージ・データ・プロバイダによりイメージ・データを或る一定のバッファに書き込む段階（７１０）と、イメージ・プロセッサによりイメージ・データを或る一定のバッファの第１のエントリから読み出す段階（７２０）と、イメージ・プロセッサによりイメージ・データを処理する段階（７２２）と、処理されたイメージ・データを或る一定のバッファの第２のエントリに書き込む段階（７２４）とを含む。この処理動作の繰り返しは、或る一定のバッファの少なくとも２メモリ・ページが読み出されたとき終了し、そこにおいて、第１のエントリと第２のエントリと間の距離は、当該或る一定のバッファの１ページのサイズより小さく、そしてそのページのサイズより遙かに小さい。第２のエントリは、或る一定の期間中にイメージ・プロセッサにより前に読み出されたイメージ・データを含む。読み出し及び書き込みポインタの使用により、主処理ユニットは、イメージ・データ・プロバイダ及びイメージ・データ検索器が或る一定のバッファに上記の繰り返し中にアクセスすることを防止する。
2008542866.tif 000002
【特許請求の範囲】
【請求項１】
イメージ・データ・プロバイダ（４００）、イメージ・プロセッサ（２３０）及びイメージ・データ検索器（２５０，２６０）を備える装置（１０）であって、
３つのバッファ（４２１，４２２，４２３）を更に備え、
各バッファが、複数のメモリ・ページを含み、
或る一定の期間中に、前記イメージ・プロセッサ（２３０）が、或る一定のバッファの第１のエントリからのイメージ・データの読み出し操作を実行し、前記の読み出されたイメージ・データに対してイメージ・データ処理操作を実行し、且つ前記或る一定のバッファの第２のエントリに対して、処理されたイメージ・データの書き込み操作を実行し、
前記第１のエントリと前記第２のエントリとの間の距離が、前記或る一定のバッファの１ページのサイズより小さく、
前記第２のエントリが、前記或る一定の期間中に前記イメージ・プロセッサ（２３０）により前に読み出されたイメージ・データを含み、
前記イメージ・プロセッサが、当該イメージ・プロセッサが前記或る一定のバッファの少なくとも２ページを読み出すまで前記読み出し操作、前記イメージ・データ処理操作及び前記書き込み操作を繰り返し、
前記或る一定の期間中に、前記イメージ・データ・プロバイダ（４００）及び前記イメージ・データ検索器（２５０，２６０）が、前記或る一定のバッファにアクセスすることを防止される
ことを特徴とする装置（１０）。
【請求項２】
前記イメージ・プロセッサ（２３０）が、イメージ・データを読み出し、次いで処理されたイメージ・データを書き込むことを順次的に行う請求項１記載の装置（１０）。
【請求項３】
少なくとも１つの追加のイメージ・プロセッサ（２４０）及び少なくとも１つの追加のバッファ（４２４）を更に備える請求項１又は２記載の装置（１０）。
【請求項４】
前記第２の期間の大部分の間に、前記イメージ・プロセッサ（２３０）が、イメージ・データを或る一定のバッファ・ページから読み出し、且つ処理されたイメージ・データを前記或る一定のバッファ・ページに書き込む請求項１から３のいずれか一項に記載の装置（１０）。
【請求項５】
単一の集積回路が、前記イメージ・データ・プロバイダ（４００）、前記イメージ・プロセッサ（２３０）及び前記イメージ・データ検索器（２５０，２６０）を備える請求項１から５のいずれか一項に記載の装置（１０）。
【請求項６】
イメージ・データ・プロバイダによりイメージ・データを或る一定のバッファに書き込む段階（７１０）を備えるデータ・イメージ処理方法（７００）であって、
イメージ・プロセッサによりイメージ・データを或る一定のバッファの第１のエントリから読み出す段階（７２０）と、前記イメージ・プロセッサによりイメージ・データを処理する段階（７２２）と、処理されたイメージ・データを前記或る一定のバッファの第２のエントリに書き込む段階（７２４）とを繰り返し、
前記繰り返しは、前記或る一定のバッファの少なくとも２メモリ・ページが読み出されたとき終了し、
前記第１のエントリと前記第２のエントリとの間の距離が、前記或る一定のバッファの１ページのサイズより小さく、
前記第２のエントリが、前記或る一定の期間中に前記イメージ・プロセッサにより前に読み出されたイメージ・データを含み、
イメージ・データ・プロバイダ及びイメージ・データ検索器が前記繰り返し中に前記或る一定のバッファにアクセスすることを防止する段階（７３０）を備える
ことを特徴とする方法（７００）。
【請求項７】
別のイメージ・プロセッサによりイメージ・データを別のバッファの第１のエントリから読み出す段階（７４０）と、前記別のイメージ・プロセッサにより当該イメージ・データを処理する段階（７４２）と、イメージ・データを前記別のバッファの第２のエントリに書き込む段階（７４４）とを繰り返す段階を更に備える請求項６記載の方法（７００）。
【請求項８】
１つのイメージ・プロセッサ操作が、サイズ変更を行うことを備え、
別のイメージ・プロセッサ操作が、フィルタリングすることを備える
請求項７記載の方法（７００）。
【請求項９】
読み出し段階（７２０）、処理段階（７２２）及び書き込み段階（７２４）の前記繰り返しが、同じメモリ・ページに属するエントリにアクセスすることを含む請求項６から８のいずれか一項に記載の方法（７００）。
【請求項１０】
前記第１及び第２のエントリが、互いに近接している請求項１から５のいずれか一項に記載の装置（１０）。
【請求項１１】
前記第１のエントリと前記第２のエントリとの間の距離が、１ページのサイズの１０分の１より小さい請求項１から５のいずれか一項に記載の装置（１０）。
【請求項１２】
前記第１及び第２のエントリが、互いに近接している請求項６から１０のいずれか一項に記載の方法（７００）。
【請求項１３】
前記第１のエントリと前記第２のエントリとの間の距離が、１ページのサイズの１０分の１より小さい請求項６から１０のいずれか一項に記載の方法（７００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージ・データを処理する方法及び装置に関し、特に、イメージ・データを処理するための高速且つ低待ち時間の方法及び装置に関する。
【背景技術】
【０００２】
セルラ電話器、携帯情報端末（ＰＤＡ）及び類似のもののような、しかしこれらに限定されない最近の移動装置は、高解像度フルカラー・ディスプレイを含む。これらの移動装置は、高品質のグラフィックス、テキスト、静止画像、及びビデオ・ストリームをそれらのディスプレイ・パネル上に表示することができる。ビデオ・ストリームは、イメージのシーケンスを含む。説明の便宜のため、グラフィックス、テキスト及び静止画像は、イメージと呼ぶ。当該イメージは、イメージ・データにより表される。
【０００３】
これらの移動装置は、上記の高品質のイメージを与えるため複数のイメージ・データ・プロセス操作を適用する。様々なイメージ・データ処理操作は、ダウンサイジング、オーバーサイジング（ｏｖｅｒ−ｓｉｚｉｎｇ）、色変換、イメージ回転、アルファ・ブレンディング（ａｌｐｈａ  ｂｌｅｎｄｉｎｇ）、デブロッキング・フィルタリング（ｄｅ−ｂｌｏｃｋｉｎｇ  ｆｉｌｔｅｒｉｎｇ）、デリンギング・フィルタリング（ｄｅ−ｒｉｎｇｉｎｇ  ｆｉｌｔｅｒｉｎｇ）及び類似のものを含む。
【０００４】
通常、単一の移動型装置又は静止型装置は、単一のイメージ・プロセッサ（これはまたイメージ・データ・プロセッサと呼ばれる。）より多いイメージ・プロセッサを含む。イメージ・プロセッサは、従来技術の１又はそれより多いイメージ処理段階によりイメージ・データの値に影響を与えることができるいずれの構成要素である。これらの段階の一部は、上記で言及した。
【０００５】
ダブル・バッファは、１対のバッファを含む。この１対のバッファのそれぞれは、構成要素によりアクセスされることができ、従って、ダブル・バッファは、２つの構成要素により同時にアクセスされることができる。ビデオ処理シーケンスが、Ｎ個の処理構成要素と、データを最後の処理構成要素から検索するディスプレイ制御器と、イメージ・データを最初の処理構成要素に与える最初の構成要素とにより実行される場合、２×（Ｎ＋１）個のバッファ又は（Ｎ＋１）個のダブル・バッファを必要とする。
【０００６】
以下の特許及び特許出願は、全て本明細書に援用されているが、ビデオ処理に適用される様々なバッファリング・システム及び方法の簡単な概要を与える。以下の特許及び特許出願とは、発明の名称が「垂直ピクセル処理構成におけるラインバッファの再使用（Ｌｉｎｅ−ｂｕｆｆｅｒ  ｒｅｒｕｓｅ  ｉｎ  ｖｅｒｔｉｃａｌ  ｐｉｘｅｌ−ｐｒｏｃｅｓｓｉｎｇ  ａｒｒａｎｇｅｍｅｎｔ）」であるＲａｔｈｎａｍ他の米国特許Ｎｏ．６７６５６２２、発明の名称が「書き込みブロッキング・メモリ・インターフェースを有するダブル・バッファリングされたグラフィックス及びビデオ・アクセラレータ、及びそれを行う方法（Ｄｏｕｂｌｅ  ｂｕｆｆｅｒｅｄ  ｇｒａｐｈｉｃｓ  ａｎｄ  ｖｉｄｅｏ  ａｃｃｅｌｅｒａｔｏｒ  ｈａｖｉｎｇ  ａ  ｗｒｉｔｅ  ｂｌｏｃｋｉｎｇ  ｍｅｍｏｒｙ  ｉｎｔｅｒｆａｃｅ  ａｎｄ  ｍｅｔｈｏｄ  ｏｆ  ｄｏｉｎｇ  ｔｈｅ  ｓａｍｅ）」であるＢｒｏｔｈｅｒｓ，ＩＩＩの米国特許Ｎｏ．６１２８０２６、及び発明の名称が「ラスタ走査されたディスプレイのためのデュアル・ポート・メモリへデュアル・バッファリング入力するためのシステム（Ｓｙｓｔｅｍ  ｆｏｒ  ｄｕａｌ  ｂｕｆｆｅｒｉｎｇ  ｉｎｐｕｔ  ｔｏ  ｄｕａｌ  ｐｏｒｔ  ｍｅｍｏｒｙ  ｆｏｒ  ａ  ｒａｓｔｅｒ  ｓｃａｎｎｅｄ  ｄｉｓｐｌａｙ）」であるＱｕｉｒｋ他のＰＣＴ特許出願公開シリアル番号ＷＯ００／３９８０４である。
【０００７】
ダブル・バッファは、通常、ＤＲＡＭメモリにより実現される。イメージ・データ・プロセッサは、ＤＲＡＭメモリの最初のページに属する第１のバッファから情報を読み出し、そのイメージ・データを処理し、次いで、その処理されたイメージ・データを、ＤＲＡＭメモリの別のページに属する第２のバッファに書き込む。連続した読み出し及び書き込み操作中に、イメージ・データ・プロセッサは、１つのＤＲＡＭページに（読み出し操作中に）、次いで別のＤＲＡＭページに（書き込み操作中に）アクセスする。このアクセス・パターンは、アクセス待ち時間を増大させる。この待ち時間は、装置の性能、特に、バッファへの複数のアクセスを実行する装置の性能に悪影響を及ぼす可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
イメージ・データを処理するための効率的な装置及び方法を実現する必要性がある。
【課題を解決するための手段】
【０００９】
添付の特許請求の範囲に記載されたイメージ・データを処理する方法及び装置が、提供される。
【００１０】
本発明は、図面と関係した以下の詳細な説明からより十分に理解され、認められるであろう。
【発明を実施するための最良の形態】
【００１１】
以下の図面は、本発明の例示的実施形態を示す。それらは、本発明の範囲を制限する意図ではなく、むしろ本発明の実施形態の幾らかを理解することを助けるものである。更に、全ての図面は、尺度どおりではないことに注目されたい。
【００１２】
図１は、本発明の一実施形態に従ったシステム・オン・チップ１０のような装置を示す。
【００１３】
システム・オン・チップ１０は、外部メモリ４２０及びプロセッサ１００を含む。プロセッサ１００は、イメージ処理ユニット（ＩＰＵ）２００並びに主処理ユニット４００を含む。主処理ユニット４００（これはまた「汎用処理ユニット」、「デジタル信号処理ユニット」、又は単に「処理ユニット」として知られている。）は、命令を実行することができる。
【００１４】
システム・オン・チップ１０は、複数の構成要素、並びに複数の命令、制御及びデータのバスを含む。説明を簡単にするため、主要データ・バスのみを示す。
【００１５】
本発明の様々な実施形態に従って、ＩＰＵ２００は、様々なイメージ処理操作を実行することができ、そしてイメージ・センサ、カメラ、ディスプレイ、エンコーダ及び類似のもののような様々な外部装置とインターフェースする。ＩＰＵ２００は、主処理ユニット４００より遙かに小さく、そして消費電力が少ない。
【００１６】
ＩＰＵ２００は、デブロッキング・フィルタリング、デリンギング・フィルタリング、及び類似のもののような様々なフィルタリング操作を実行することができるハードウエア・フィルタ２４０を有する。上記のフィルタリング操作を実行する様々な従来技術の方法は、当該技術において知られており、そしてこれ以上の追加の説明を必要としない。
【００１７】
フィルタ２４０によりデブロッキング・フィルタリング操作を実行することにより、主処理ユニット４００の代わりに、ＩＰＵ２００は、主処理ユニット４００の計算負荷を低減する。１つの動作モードにおいて、フィルタ２４０は、主処理ユニット４００に対して並列に動作することによりイメージ処理プロセスの速度を高めることができる。
【００１８】
ＩＰＵ２００は、制御モジュール２１０、センサ・インターフェース２２０、イメージ変換器２３０、フィルタ２４０、イメージ直接メモリ・アクセス制御器（ＩＤＭＡＣ）２８０、同期ディスプレイ制御器２５０、非同期ディスプレイ制御器２６０及びディスプレイ・インターフェース２７０を含む。
【００１９】
センサ・インターフェース２２０は、その一方の側がカメラ３００のようなイメージ・センサに接続され、その他方の側がイメージ変換器２３０に接続される。ディスプレイ・インターフェース２７０は、同期ディスプレイ制御器（ＳＤＣ）２５０に接続され、そして非同期ディスプレイ制御器２６０に対して並列に接続される。ディスプレイ・インターフェース２７０は、ＴＶエンコーダ３１０、グラフィック・アクセラレータ３２０及びディスプレイ３３０のような、しかしこれらに限定されるものではない複数の装置に接続されるよう適合されている。
【００２０】
ＩＤＭＡＣ２８０は、ＩＰＵ２００の様々なモジュールが内部メモリ４３０及び外部メモリ４２０のようなメモリ・バンクにアクセスするのを容易にする。ＩＤＭＡＣ２８０は、その一方の側がイメージ変換器２３０、フィルタ２４０、ＳＤＣ２５０及びＡＤＣ２６０に接続され、その他方の側がメモリ・インターフェース４１０に接続される。メモリ・インターフェース４１０は、内部メモリ４３０、及び追加の又は代替の外部メモリ４２０に接続される。
【００２１】
メモリ・インターフェース４１０は、要求をＩＤＭＡＣ２８０から受け取り、そしてその要求された情報を外部メモリ４２０又は内部メモリ４３０から検索するべきかどうかを決定する。その決定は、アドレスとこれらのメモリ・ユニット４２０及び４３０との間のマッピングに基づいて行うことができる。
【００２２】
典型的には、内部メモリ４３０は、比較的小さく、そして外部メモリ４２０は、非常に大きい。外部メモリ４２０がイメージ・データを格納することが都合良い。
【００２３】
センサ・インターフェース２２０は、イメージ・データをカメラ３００又はＴＶデコーダ（図示せず）から捕捉する。捕捉されたイメージ・データは、処理するため又は事後処理するためイメージ変換器２３０に送られることができるが、しかしその捕捉されたイメージ・データはまた、これらのいずれの操作を適用することなしにＩＤＭＡＣ２８０に送られことができ、次いで、ＩＤＭＡＣ２８０は、その捕捉されたイメージ・データをメモリ・インターフェース４１０を介して内部メモリ４３０又は外部メモリ４２０に送る。
【００２４】
イメージ変換器２３０は、センサ・モジュール２２０からのイメージ・データを処理し、又は外部メモリ４２０から検索されたイメージ・データを処理することができる。処理操作は、イメージのダウンサイジング、サイズ変更、色空間変換（例えば、ＹＵＶからＲＧＢへ、ＲＧＢからＹＵＶへ、ＹＵＶから別のＹＵＶへ）、イメージ回転、上／下及び左／右の反転（ｆｌｉｐｐｉｎｇ）を含み、またビデオ・イメージをグラフィックスと組み合わせることを含む。
【００２５】
ディスプレイ・インターフェース２７０は、時分割多重化スキームを用いて、複数のディスプレイへのアクセスを調停することができる。ディスプレイ・インターフェース２７０は、ＳＤＣ２５０、ＡＤＣ２６０及び主処理ユニット４００からのイメージ・データを、そのディスプレイ・インターフェース２７０に接続されるディスプレイに適したフォーマットに変換する。ディスプレイ・インターフェース２７０はまた、制御信号及びタイミング信号を発生して、それらをディスプレイに与えるよう適合されている。
【００２６】
ＳＤＣ２５０は、ビデオ及びグラフィックスを、ダム・ディスプレイ（ｄｕｍｂ  ｄｉｓｐｌａｙ）及びメモリレス・ディスプレイ（ｍｅｍｏｒｙｌｅｓｓ  ｄｉｓｐｌａｙ）のような同期ディスプレイに表示、また同様にテレビジョン（ＴＶエンコーダを介して）に表示することをサポートする。ＡＤＣ２６０は、ビデオ及びグラフィックスをスマート・ディスプレイに表示することをサポートする。
【００２７】
ＩＤＭＡＣ２８０は、複数のＤＭＡチャネルを有し、そして内部メモリ４３０及び外部メモリ４２０へのアクセスを管理する。
【００２８】
図２は、本発明の一実施形態に従った外部メモリ４２０内の３つのバッファ４２１、４２２及び４２３を示す。
【００２９】
各バッファは、５ページ４２１１−４２１５、４２２１−４２２５及び４２３１−４２３５を有する。
【００３０】
バッファ４２１の読み出しポインタ及び書き込みポインタは、読み出しポインタ１及び書き込みポインタ１と示す。バッファ４２２の読み出しポインタ及び書き込みポインタは、読み出しポインタ２及び書き込みポインタ２と示す。バッファ４２３の読み出しポインタ及び書き込みポインタは、読み出しポインタ３及び書き込みポインタ３と示す。
【００３１】
本発明の一実施形態に従って、イメージ変換器２３０のようなイメージ・データ・プロセッサは、或る一定のバッファから読み出し、そしてそれへ書き込み、そして読み出しポインタと書き込みポインタとの差は、小さい。従って、時間の大部分において、イメージ変換器２３０は、イメージ・データを或るページから読み出し、そしてイメージ・データをその同じページに書き込む。
【００３２】
第１及び第２のエントリが互いに近接していることが都合よい。第２のエントリは、或る一定期間中にイメージ・プロセッサが前に読み出したイメージ・データを含むことが都合よい。
【００３３】
第１のエントリと第２のエントリとの差が、或る一定のバッファの１ページのサイズより小さいことが都合よい。その差は、１ページのサイズの１０分の１より小さいことが都合よい。
【００３４】
読み出しポインタと書き込みポインタとの差が、単一のメモリ・アクセス中に転送されることができる情報バーストのサイズと、イメージ・データ・プロセッサに接続されるオプションのメモリ・キャッシュ（又は、内部メモリ）のサイズと、或る一定のイメージ・データ処理操作を実行するために要求される情報の量とを含む様々なパラメータに応答して決定されることが都合よい。例えば、或る一定のピクセル操作（例えば、デブロッキング・フィルタリングのようなもの）は、前のピクセルのイメージ・データを必要とする。
【００３５】
イメージの各ピクセルは、ＲＧＢ、ＹＵＶ及び類似のもののような複数のピクセル成分により表される。それらの異なるピクセル成分は、インターリーブされる要領（この要領では様々なピクセル成分が交互に格納される。）又は非インターリーブされる要領（この要領では異なるピクセル成分が異なるバッファに格納される。）で格納されることができる。
【００３６】
各バッファがイメージ・データをインターリーブされる要領で格納すると仮定する。さもなければ、３つのバッファ（又はそれより多いバッファ）は、３つの異なるピクセル成分を格納するため必要とされる。
【００３７】
図３は、本発明の一実施形態に従ったイメージ・データ処理シーケンス５００を示すタイミング図である。
【００３８】
イメージ・データ処理シーケンス５００は、主処理ユニット４００のようなイメージ・データ・プロバイダ、イメージ変換器２３０のようなイメージ・プロセッサ、及び非同期ディスプレイ制御器２６０のようなイメージ・データ検索器により実行される。
【００３９】
（主処理ユニット４００、イメージ変換器２３０及び非同期ディスプレイ制御器２６０のうちの）構成要素が或る一定のバッファにアクセスするとき、他の構成要素が同じバッファにアクセスするのを阻止されることに注目されたい。これは、バッファにアクセスした最初の構成要素により当該バッファをロックすることを含む様々な要領で実行されることができる。例えば、第１の期間Ｐ１５１０中に、イメージ変換器２３０及び非同期ディスプレイ制御器２６０は、第１のバッファ４２１にアクセスすることができない。
【００４０】
第１の期間Ｐ１ ５１０中に、主処理ユニット４００は、イメージ・データを第１のバッファ４２１に書き込む。主処理ユニット４００は、第１のバッファ４２１をイメージ・データでもって充填する、又はイメージ・メモリ・データを第１のバッファ４２１の２ページに少なくとも書き込むことが好ましい。
【００４１】
第２の期間Ｐ２ ５２０中に、主処理ユニット４００は、イメージ・データを第２のバッファ４２２に書き込む。イメージ変換器２３０は、イメージ・データを第１のバッファ４２１から読み出し、当該イメージ・データを処理し、そしてその処理されたイメージ・データを第１のバッファ４２１に書き込む。イメージ変換器２３０は、処理されたイメージ・データを、第２の期間Ｐ２５２０中にイメージ変換器２３０により読み出されたイメージ・データを前に格納したエントリに書き込む。
【００４２】
第２の期間Ｐ２ ５２０中に、書き込みポインタ１が、読み出しポインタ１に続き、そしてそれらの間の距離は、特に、メモリ・ページのサイズと比較して、比較的小さい。従って、両方のポインタは、１ページから別のページへの短いポインタ遷移を除いて、同じメモリに属するエントリを指す。
【００４３】
第３の期間Ｐ３ ５３０中に、主処理ユニット４００は、イメージ・データを第３のバッファ４２３に書き込む。イメージ変換器２３０は、イメージ・データを第２のバッファ４２２から読み出し、当該イメージ・データを処理し、そしてその処理されたイメージ・データを第２のバッファ４２２に書き込む。イメージ変換器２３０は、処理されたイメージ・データを、第３の期間Ｐ３５３０中にイメージ変換器２３０により読み出されたイメージ・データを格納するエントリに書き込む。第３の期間Ｐ３ ５３０中に、書き込みポインタ２が、読み出しポインタ２に続き、そして両者の間の距離は、特に、ページのサイズと比較して、比較的小さい。従って、両方のポインタは、これらのポインタの１ページから別のページへの短い遷移を除いて、同じページに属するエントリを指す。
【００４４】
第３の期間Ｐ３ ５３０中に、非同期ディスプレイ制御器２６０は、イメージ・データを第１のバッファ４２１から読み出す。
【００４５】
第４の期間Ｐ４ ５４０中に、主処理ユニット４００は、データを第１のバッファ４２１に書き込み、イメージ変換器２３０は、イメージ・データを第３のバッファ４２３から読み出し、当該イメージ・データを処理し、そしてその処理されたイメージ・データを第３のバッファ４２３に書き込み、そして非同期ディスプレイ制御器２６０は、イメージ・データを第１のバッファ４２１から読み出す。
【００４６】
第５の期間Ｐ５ ５５０中に、主処理ユニット４００は、データを第２のバッファ４２２に書き込み、イメージ変換器２３０は、イメージ・データを第１のバッファ４２１から読み出し、当該イメージ・データを処理し、そしてその処理されたイメージ・データを第１のバッファ４２１に書き込み、そして非同期ディスプレイ制御器２６０は、イメージ・データを第３のバッファ４２３から読み出す。
【００４７】
書き込みプロセスが第５の期間Ｐ５ ５５０で終わると仮定すると、第６の期間Ｐ６ ５６０中に、イメージ変換器２３０は、イメージ・データを第２のバッファ４２２から読み出し、当該イメージ・データを処理し、そしてその処理されたイメージ・データを第２のバッファ４２２に書き込み、そして非同期ディスプレイ制御器２６０は、イメージ・データを第１のバッファ４２１から読み出す。
【００４８】
第７の期間Ｐ７ ５７０中に、非同期ディスプレイ制御器２６０は、イメージ・データを第２のバッファ４２２から読み出す。
【００４９】
図４は、第２の期間Ｐ２ ５２０中にイメージ変換器２３０により実行される読み出し及び書き込み動作をより詳細に示す。
【００５０】
イメージ変換器２３０が第１のバッファ４２１に充填するイメージ情報を読み出すことと、読み出しポインタと書き込みポインタ（読み出しポインタ１と書き込みポインタ１）との差が比較的小さいことと、小さい時間差（ΔＴ）が或る一定のエントリの読み出し操作とその同じエントリの書き込み操作との間を分離することとを仮定する。
【００５１】
第２の期間Ｐ２ ５２０は、５つのサブ期間ＲＷ１−ＲＷ５ ５２１、５２３、５２５、５２７及び５２９と４つの遷移期間ＴＰ１−ＴＰ４ ５２２、５２４、５２６及び５２８を含む。
【００５２】
ｋ番目のサブ期間（ｋ＝１，２，３，４，５）中に、読み出しポインタ１と書き込みポインタ１の両方は、ｋ番目のページに属するエントリを指す。
【００５３】
各遷移期間は、短く、そして約ΔＴ長である。ｋ番目遷移期間（ｋ＝１，２，３，４，）中に、読み出しポインタ１は、第１のバッファ４２１の（ｋ＋１）番目のページのエントリを指し、一方書き込みポインタ１は、第１のバッファ４２１のｋ番目のページのエントリを指す。
【００５４】
図５は、本発明の一実施形態に従った別のイメージ・データ処理シーケンス６００を示すタイミング図である。
【００５５】
イメージ・データ処理シーケンス６００は、主処理ユニット４００のようなイメージ・データ・プロバイダ、イメージ変換器２３０及びフィルタ２４０のような２つのイメージ・プロセッサ、及び非同期ディスプレイ制御器２６０のようなイメージ・データ検索器により実行される。
【００５６】
これら４つの構成要素を効率的にサポートするため、第４のバッファ４２４が、導入される。
【００５７】
全ての処理ユニットは、読み出しポインタと書き込みポインタとの間の小さい差を維持しながら読み出し動作と書き込み動作とを実行することによりバッファにアクセスすることに注目されたい。この差は、データ処理のタイプの相違、処理を必要とされるピクセル情報の量、データ検索能力の相違、及び類似のものに起因してそれぞれの処理ユニットによって異なることに注目されたい。
【００５８】
第１の期間Ｐ１ ５１０中に、主処理ユニット４００は、イメージ・データを第１のバッファ４２１に書き込む。主処理ユニット４００は、第１のバッファ４２１にイメージ・データを充填することが都合良い。
【００５９】
第２の期間Ｐ２ ５２０中に、主処理ユニット４００は、イメージ・データを第２のバッファ４２２に書き込む。ハードウエア・フィルタ２４０は、イメージ・データを第１のバッファ４２１から読み出し、当該イメージ・データを処理し、そしてそれを第１のバッファ４２１へ、特に、第２の期間Ｐ２５２０中にハードウエア・フィルタ２４０により読み出されたイメージ・データを格納するエントリへ書き戻す。
【００６０】
第３の期間Ｐ３ ５３０中に、主処理ユニット４００は、イメージ・データを第３のバッファ４２３に書き込む。ハードウエア・フィルタ２４０は、イメージ・データを第２のバッファ４２２から読み出し、当該イメージ・データを処理し、そしてそれを第２のバッファ４２２へ、特に、第３の期間Ｐ３５３０中にハードウエア・フィルタ２４０により読み出されたイメージ・データを格納するエントリへ書き戻す。
【００６１】
第３の期間Ｐ３ ５３０中に、書き込みポインタ２が、読み出しポインタ２に続き、そして両者の間の距離が、特に、ページのサイズと比較して、比較的小さい。
【００６２】
第３の期間Ｐ３ ５３０中に、イメージ変換器２３０は、イメージ・データを第１のバッファ４２１から読み出し、当該イメージ・データを処理し、そしてそれを第１のバッファ４２１へ、特に、第３の期間Ｐ３５３０中にイメージ変換器２３０により読み出されたイメージ・データを格納するエントリへ書き戻す。第３の期間Ｐ３ ５３０中に、書き込みポインタ１が、読み出しポインタ１に続き、そして両者の間の距離は、特に、ページのサイズと比較して、比較的小さい。
【００６３】
第４の期間Ｐ４ ５４０中に、主処理ユニット４００は、データを第４のバッファ４２４に書き込み、そしてハードウエア・フィルタ２４０は、イメージ・データを第３のバッファ４２３から読み出し、そしてイメージ・データを第３のバッファ４２３に書き込み、そしてイメージ変換器２３０は、イメージ・データを第２のバッファ４２２から読み出し、そしてイメージ・データを第２のバッファ４２２に書き込み、そして非同期ディスプレイ制御器２６０は、イメージ・データを第１のバッファ４２１から読み出す。
【００６４】
第５の期間Ｐ５ ５５０中に、主処理ユニット４００は、データを第１のバッファ４２１に書き込み、そしてハードウエア・フィルタ２４０は、イメージ・データを第４のバッファ４２４から読み出し、そしてイメージ・データを第４のバッファ４２４に書き込み、そしてイメージ変換器２３０は、イメージ・データを第３のバッファ４２３から読み出し、そしてイメージ・データを第３のバッファ４２３に書き込み、そして非同期ディスプレイ制御器２６０は、イメージ・データを第２のバッファ４２２から読み出す。
【００６５】
書き込みプロセスが第５の期間Ｐ５ ５５０で終了し、次いで、第６の期間Ｐ６ ５６０中にハードウエア・フィルタ２４０がイメージ・データを第１のバッファ４２１から読み出しそしてイメージ・データを第１のバッファ４２１に書き込み、そしてイメージ変換器２３０がイメージ・データを第４のバッファ４２４から読み出しそしてイメージ・データを第４のバッファ４２４に書き込み、そして非同期ディスプレイ制御器２６０がイメージ・データを第２のバッファ４２２から読み出すと仮定する。
【００６６】
第７の期間Ｐ７ ５７０中に、イメージ変換器２３０は、イメージ・データを第１のバッファ４２１から読み出し、そしてイメージ・データを第１のバッファ４２１に書き込み、そして非同期ディスプレイ制御器２６０は、イメージ・データを第４のバッファ４２４から読み出す。
【００６７】
第８の期間Ｐ８中に、非同期ディスプレイ制御器２６０は、イメージ・データを第１のバッファ４２１から読み出す。
【００６８】
図６は、本発明の一実施形態に従ったイメージ・データを処理する方法７００のフロー・チャートである。
【００６９】
方法７００は、イメージ・データ・プロバイダによりイメージ・データを或る一定のバッファに書き込む段階７１０により開始する。
【００７０】
段階７１０は、方法７００の第１の繰り返し中における段階７２０及び７３０の前に実行されることが都合良い。方法７００の他の繰り返し中に、段階７１０は、段階７２０及び７３０に対して並列に実行される。
【００７１】
図３に説明する例を参照すると、主処理ユニット４００は、第１の期間Ｐ１ ５１０中に第１のバッファ４２１に書き込み、一方イメージ変換器２３０は、アイドル状態のままである。第２の期間Ｐ２５２０中に、主処理ユニット４００は、第２のバッファ４２２に書き込み、一方イメージ変換器２３０は、イメージ・データを第１のバッファ４２１から読み出し、それを処理し、そしてその処理されたイメージ・データを第１のバッファ４２１に書き込む。
【００７２】
段階７１０−７６０は、イメージ・データの事前定義された量が受け取られ、処理され、そして検索されるまで、複数回繰り返されることができることに更に注目されたい。
【００７３】
段階７１０には、段階７３０及び段階７２０が続く。
【００７４】
段階７２０は、イメージ・プロセッサによりイメージ・データを或る一定のバッファの第１のエントリから読み出す段階を含む。段階７２０には、イメージ・プロセッサによりイメージ・データを処理する段階７２２が続く。段階７２２には、処理されたイメージ・データを上記の或る一定のバッファの第２のエントリに書き込む段階７２４が続く。
【００７５】
第１及び第２のエントリは、互いに近接していることが都合良い。第２のエントリは、或る一定期間中にイメージ・プロセッサにより前に読み出されたイメージ・データを含むことが都合良い。
【００７６】
第１のエントリと第２のエントリとの間の距離が、或る一定のバッファの１ページのサイズより小さいことが都合良い。その距離は、当該ページのサイズの１０分の１より小さいことが都合良い。
【００７７】
段階７２４には、事前定義された繰り返し判定基準に従って段階７２０−７２４を繰り返すかどうかを決定する段階７２６が続く。
【００７８】
本発明の一実施形態に従って、上記の繰り返しは、或る一定のバッファの少なくとも２メモリ・ページが読み出されたとき終了する。繰り返しは、全てのバッファが読み出されたとき終了することが都合良い。繰り返しが終了した場合、段階７２６には、段階７２０が続き、さもなければ、段階７２０には、「終了」段階７２８が続く。
【００７９】
段階７３０は、イメージ・データ・プロバイダ及びイメージ・データ検索器が或る一定のバッファに上記の繰り返し中にアクセスするのを防止することを含む。
【００８０】
方法７００はまた、段階７５０及び７６０を含む。段階７５０は、イメージ・データ・プロバイダによりイメージ・データを或る一定のバッファに書き込むことを含む。段階７６０は、イメージ・データ・プロセッサにより前に処理されたイメージ・データをイメージ・データ検索器により検索することを含む。検索されたイメージ・データは、ディスプレイに送られ、又はディスプレイ制御器に送られ、或いは別のメモリ・ユニットに送られることができる。
【００８１】
段階７５０及び７６０は、段階７２０−７２６に対して並列に実行される。この並列処理は、方法７００の最初の繰り返し及び最終の繰り返し中に生じないことに注目されたい。従って、例えば、データ検索段階７６０は、データ処理が終了した後の少なくとも１つの期間に終了する。
【００８２】
図７は、本発明の一実施形態に従ってイメージ・データを処理する方法７０１のフロー・チャートである。
【００８３】
方法７０１は、追加のイメージ・データ・プロセッサにより実行される追加の処理段階を含むことにより方法７００とは異なる。両方のイメージ・データ・プロセッサは、パイプライン化の要領で動作することができ、従って、方法７０１の多くの繰り返し中に、それらは、異なるバッファに格納された異なるイメージ・データについて並列に操作する。
【００８４】
方法７０１は、段階７４０−７４４の繰り返しを含む。段階７４０は、別のイメージ・プロセッサによりイメージ・データを別のバッファの第１のエントリから読み出すことを含む。段階７４２は、他のイメージ・プロセッサによりイメージ・データを処理することを含む。段階７４４は、処理されたイメージ・データを他のバッファの第２のエントリに書き込むことを含む。
【００８５】
４以上のイメージ・プロセッサがイメージ・データ処理シーケンスに参加することができることに注目されたい。
【００８６】
提案した方法を用いることにより、ビデオ処理シーケンスがＮ個の処理構成要素と、データを最後の処理構成要素から検索するディスプレイ制御器と、イメージ・データを第１の処理構成要素に与える第１の構成要素とにより実行される場合、Ｎ＋２個のバッファが必要とされる。
【００８７】
本明細書で説明されるものの変形、変更及び他の実施形態が、特許請求の範囲に記載された発明の趣旨及び範囲から逸脱することなしに当業者により行われるであろう。従って、本発明は、前述の例示的説明により定義されるべきではなく、代わりに、添付の特許請求の範囲の趣旨及び範囲により定義されるべきである。
【図面の簡単な説明】
【００８８】
【図１】図１は、本発明の一実施形態に従った装置を示す。
【図２】図２は、本発明の一実施形態に従った３つのバッファを示す。
【図３】図３は、本発明の一実施形態に従ったイメージ・データ処理シーケンスを示すタイミング図である。
【図４】図４は、本発明の一実施形態に従った、イメージ変換器により第２の期間中に実行される読み出し及び書き込み操作をより詳細に示す。
【図５】図５は、本発明の別の実施形態に従った別のイメージ・データ処理シーケンスを示すタイミング図である。
【図６】図６は、本発明の一実施形態に従ってイメージ・データを処理する方法のフロー・チャートである。
【図７】図７は、本発明の別の実施形態に従ってイメージ・データを処理する別の方法のフロー・チャートである。
【図１】
2008542866.tif 000003
【図２】
2008542866.tif 000004
【図３】
2008542866.tif 000005
【図４】
2008542866.tif 000006
【図５】
2008542866.tif 000007
【図６】
2008542866.tif 000008
【図７】
2008542866.tif 000009
【手続補正書】
【提出日】平成20年5月8日(2008.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
イメージ・データ・プロバイダ（４００）、イメージ・プロセッサ（２３０）及びイメージ・データ検索器（２５０，２６０）を備える装置（１０）であって、
３つのバッファ（４２１，４２２，４２３）を更に備え、
各バッファが、複数のメモリ・ページを含み、
或る一定の期間中に、前記イメージ・プロセッサ（２３０）が、或る一定のバッファの第１のエントリからのイメージ・データの読み出し操作を実行し、前記の読み出されたイメージ・データに対してイメージ・データ処理操作を実行し、且つ前記或る一定のバッファの第２のエントリに対して、処理されたイメージ・データの書き込み操作を実行し、
前記第１のエントリと前記第２のエントリとの間の距離が、前記或る一定のバッファの１ページのサイズより小さく、
前記第２のエントリが、前記或る一定の期間中に前記イメージ・プロセッサ（２３０）により前に読み出されたイメージ・データを含み、
前記イメージ・プロセッサが、当該イメージ・プロセッサが前記或る一定のバッファの少なくとも２ページを読み出すまで前記読み出し操作、前記イメージ・データ処理操作及び前記書き込み操作を繰り返し、
前記或る一定の期間中に、前記イメージ・データ・プロバイダ（４００）及び前記イメージ・データ検索器（２５０，２６０）が、前記或る一定のバッファにアクセスすることを防止される
ことを特徴とする装置（１０）。
【請求項２】
前記イメージ・プロセッサ（２３０）が、イメージ・データを読み出し、次いで処理されたイメージ・データを書き込むことを順次的に行う請求項１記載の装置（１０）。
【請求項３】
少なくとも１つの追加のイメージ・プロセッサ（２４０）及び少なくとも１つの追加のバッファ（４２４）を更に備える請求項１又は２記載の装置（１０）。
【請求項４】
前記第２の期間の大部分の間に、前記イメージ・プロセッサ（２３０）が、イメージ・データを或る一定のバッファ・ページから読み出し、且つ処理されたイメージ・データを前記或る一定のバッファ・ページに書き込む請求項１から３のいずれか一項に記載の装置（１０）。
【請求項５】
単一の集積回路が、前記イメージ・データ・プロバイダ（４００）、前記イメージ・プロセッサ（２３０）及び前記イメージ・データ検索器（２５０，２６０）を備える請求項１から５のいずれか一項に記載の装置（１０）。
【請求項６】
前記第１及び第２のエントリが、互いに近接している請求項１から５のいずれか一項に記載の装置（１０）。
【請求項７】
前記第１のエントリと前記第２のエントリとの間の距離が、１ページのサイズの１０分の１より小さい請求項１から５のいずれか一項に記載の装置（１０）。
【国際調査報告】
2008542866.tif 000010
2008542866.tif 000011
2008542866.tif 000012