(57)【要約】【課題】画像情報に効率良くアクセスして処理速度を向上させることができる画像処理装置を提供する。【解決手段】ＳＩＭＤ型マイクロプロセッサ２が外部メモリ３に記憶された２×２の矩形領域の画像情報を読み出す際に、矩形領域の左上に位置する画素を基準として、基準となる画素の外部メモリ３のアドレスをプロセッサ部４により演算して求め、２ライン目の先頭はメモリコントローラ８において主走査方向の画素数を基準となる画素のアドレスに加算して求めて、各ラインはバーストアクセスして読み出す。【選択図】図１
2009223758.tif 000002
【特許請求の範囲】
【請求項１】
主走査方向と副走査方向の２次元方向に画素が配置された画像の情報を前記画素の配置順に記憶した記憶手段と、前記記憶手段から画像情報の読み出しを行う読み出し手段と、前記読み出し手段が前記記憶手段から読み出した画像情報を一時的に保持する保持手段と、を有する画像処理装置において、
前記読み出し手段に主走査方向の画素数を予め与える主走査画素数設定手段と、前記読み出し手段に前記画像内の任意の画素の前記記憶手段内におけるアドレスを与えるアドレス情報設定手段と、が設けられ、
前記読み出し手段には、前記任意の画素を基準とした前記画像内の矩形領域の複数画素のアドレスが、前記任意の画素の前記記憶手段内におけるアドレスと前記主走査方向の画素数に基づいて生成されて連続して読み出されるように設定されていることを特徴とする画像処理装置。
【請求項２】
前記主走査画素数設定手段および前記アドレス情報設定手段が、マイクロプロセッサで構成されていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記マイクロプロセッサには、前記マイクロプロセッサ内部のレジスタに前記任意の画素の前記記憶手段内のアドレスが格納されていることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記保持手段が、前記マイクロプロセッサ内部のレジスタで構成され、そして、
前記読み出し手段が、前記レジスタから前記任意の画素の前記記憶手段内のアドレスを取得して前記記憶手段から読み出した画像情報を前記レジスタに格納するように設定されていることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記マイクロプロセッサが、ｍ個（ｍは２以上の自然数）のプロセッサエレメントを備えるＳＩＭＤ型マイクロプロセッサで構成されていることを特徴とする請求項２乃至４のうちいずれか一項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
メモリなどの記憶装置に画像情報を記憶し、その画像情報に対して所定の処理を行う画像処理装置に関する。
【背景技術】
【０００２】
近年、画像処理への性能要求は、処理速度の向上と画像の高品質化が求められている。そこで画像の高品質化のために多色、多階調の画像情報が必要となり、この画像情報の記憶手段としてＳＤＲ（Single Data Rate）メモリやＤＤＲ（Double Data Rate）メモリに代表される大容量のメモリをページメモリとして使用する構成を画像処理装置では採るものが多い。
【０００３】
一方、処理速度の向上は処理すべき画像情報が大きくなることに対しては相反する課題であり、これらを両立させるためには如何に効率よく画像情報にアクセスできるかという技術が必要となる。
【０００４】
例えば特許文献１では、メモリ上に展開されている画像データに対し、主走査方向及び副走査方向に分割した矩形領域を設定するメモリ領域制御ユニットとその領域にアクセスするためのアドレス情報生成部を有し、その領域設定したものにアクセスしてデータを読み出し別メモリに転送するＤＭＡ制御部で構成された画像情報処理装置が開示されている。
【特許文献１】特開２００４−２２０５８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の画像情報処理装置では、設定した領域内でバーストアクセスを行うものであり、画像のランダムな領域点をアクセスする場合には必要な領域以外の無駄なアクセスを多数行わなければならず非常に効率が悪くなるという問題があった。
【０００６】
本発明はかかる問題を解決することを目的としている。
【０００７】
すなわち、本発明は、画像情報に効率良くアクセスして処理速度を向上させることができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
請求項１に記載された発明は、主走査方向と副走査方向の２次元方向に画素が配置された画像の情報を前記画素の配置順に記憶した記憶手段と、前記記憶手段から画像情報の読み出しを行う読み出し手段と、前記読み出し手段が前記記憶手段から読み出した画像情報を一時的に保持する保持手段と、を有する画像処理装置において、前記読み出し手段に主走査方向の画素数を予め与える主走査画素数設定手段と、前記読み出し手段に前記画像内の任意の画素の前記記憶手段内におけるアドレスを与えるアドレス情報設定手段と、が設けられ、前記読み出し手段には、前記任意の画素を基準とした前記画像内の矩形領域の複数画素のアドレスが、前記任意の画素の前記記憶手段内におけるアドレスと前記主走査方向の画素数に基づいて生成されて連続して読み出されるように設定されていることを特徴とする画像処理装置である。
【０００９】
請求項２に記載された発明は、請求項１に記載された発明において、前記主走査画素数設定手段および前記アドレス情報設定手段が、マイクロプロセッサで構成されていることを特徴とするものである。
【００１０】
請求項３に記載された発明は、請求項１または２に記載された発明において、前記マイクロプロセッサには、前記マイクロプロセッサ内部のレジスタに前記任意の画素の前記記憶手段内のアドレスが格納されていることを特徴とするものである。
【００１１】
請求項４に記載された発明は、請求項３に記載された発明において、前記保持手段が、前記マイクロプロセッサ内部のレジスタで構成され、そして、前記読み出し手段が、前記レジスタから前記任意の画素の前記記憶手段内のアドレスを取得して前記記憶手段から読み出した画像情報を前記レジスタに格納するように設定されていることを特徴としている。
【００１２】
請求項５に記載された発明は、請求項２乃至４のうちいずれか一項に記載された発明において、前記マイクロプロセッサが、ｍ個（ｍは２以上の自然数）のプロセッサエレメントを備えるＳＩＭＤ型マイクロプロセッサで構成されていることを特徴とするものである。
【発明の効果】
【００１３】
請求項１に記載の発明によれば、読み出し手段が所定の矩形領域の画像情報を読み出す際に、基準となる所定の画素から主走査方向と副走査方向の２次元領域の複数画素情報を、前記所定の画素の前記記憶手段内の位置情報と前記主走査方向の画素数に基づいて連続して読み出すので、従来メモリなど記憶手段のアクセス効率が悪かったランダムな矩形領域のアクセスにおいて、無駄なアクセスをできるだけ省略して効率の良いアクセスを行うことができ、画像処理速度の向上を図ることが可能となる。
【００１４】
請求項２に記載の発明によれば、主走査画素数設定手段およびアドレス情報設定手段がマイクロプロセッサで構成されているので、マイクロプロセッサ上のプログラムによる処理で、主走査画素数やアドレスを設定することができる。
【００１５】
請求項３に記載の発明によれば、マイクロプロセッサが、内部レジスタに任意の画素の記憶手段内のアドレスを格納しているので、マイクロプロセッサ上のプログラムによる処理でアドレスを算出して読み出し手段に対して用意することができる。
【００１６】
請求項４に記載の発明によれば、保持手段が、マイクロプロセッサ内部のレジスタで構成され、読み出し手段が、レジスタからアドレスを取得して記憶手段から読み出した画像情報をレジスタに格納するので、同じレジスタでアドレスと画像情報の格納手段を兼用することができ、以降のマイクロプロセッサにおける画像処理を効率的に行うことができる。
【００１７】
請求項５に記載の発明によれば、マイクロプロセッサがＳＩＭＤ型マイクロプロセッサで構成されているので、ＰＥによる並列処理によってアドレス演算の処理ステップ数を大幅に低減することが可能となり、同じコード量でより多くの画像処理を実現可能とすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施形態を、図１および図６を参照して説明する。図１は、本発明の第一の実施形態にかかる画像処理装置のブロック図である。図２は、図１に示した画像処理装置のＰＥコアとＧＰの構成を示したブロック図である。図３は、図１に示した画像処理装置のメモリコントローラの構成を示したブロック図である。図４は、外部メモリ内の画像情報の配置例を示す説明図である。図５は、本実施形態におけるＳＩＭＤ型マイクロプロセッサと外部メモリとの間のデータの流れを示した説明図である。図６は、画像の回転時の画像情報の読み出し範囲を示した説明図である。
【００１９】
図１に示した画像処理装置１は、ＳＩＭＤ型マイクロプロセッサ２と、外部メモリ３と、を備えている。
【００２０】
ＳＩＭＤ型マイクロプロセッサ２は、図１に示したようにプロセッサ部４と、メモリコントローラ８と、を備えている。
【００２１】
プロセッサ部４は、ＧＰ５と、ＰＥコア６と、ＰＥＩＦ７と、を備えている。
【００２２】
主走査画素数設定手段としてのＧＰ（グローバルプロセッサ）５は、図２に示すように、ＳＩＳＤ（Single Instruction-stream, Single Data-stream）タイプのプロセッサである。ＧＰには本ＳＩＭＤ型マイクロプロセッサ２のプログラム格納用のProgram-RAMと演算データ格納用のData-RAMが内蔵されている。さらに、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）、演算処理のデータ格納のための汎用レジスタであるＧ０〜Ｇ３レジスタ、レジスタ退避、復帰時に退避先Data-RAMのアドレスを保持しているスタックポインタ（ＳＰ）、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）、同じくＩＲＱ（割り込み）時とＮＭＩ（マスク不可割り込み）時の分岐元アドレスを保持するＬＩ、ＬＮレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ（Ｐ）が内蔵されている。これらのレジスタと図示していない命令デコーダ、ＡＬＵ（算術演算回路）、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路、ＧＰ演算制御回路を使用してＧＰ命令の実行が行われる。また、後述するＰＥコア６を使用する命令であるＰＥ命令実行時はレジスタファイル制御回路５１、演算部制御回路５２を使用して、ＰＥコア６内のレジスタファイルの制御と演算アレイの制御を行う。
【００２３】
アドレス情報設定手段としてのＰＥコア６は、複数のＰＥ（プロセッサエレメント）から構成されている。ＰＥは、図２に示すように、Ｒ０〜Ｒ３１の３２本の８ビットレジスタから構成されるレジスタファイルと、演算部６０と、を備えている。
【００２４】
レジスタファイルは、ＰＥ命令で処理されるデータを保持している。ＰＥ命令はＳＩＭＤ（Single Instruction Stream, Multiple Data Stream）タイプの命令であり、複数ＰＥのレジスタファイルに保持されているデータに対して同時に同じ処理を行う。このレジスタファイルからのデータの読み出し／書き込みの制御はＧＰ５のレジスタファイル制御回路５１からの制御信号によって行われる。読み出されたデータは演算部６０に送られ、演算部６０での演算処理後にレジスタファイルに書き込まれる。また、レジスタファイルはプロセッサ部４外からのアクセスが可能であり、ＧＰ５の制御とは別に外部から特定のレジスタに対して読み出し／書き込みが行われる。
【００２５】
レジスタファイルは上述したように１つのＰＥ単位に８ビットのレジスタが３２本内蔵されており、また、全ＰＥ分がアレイ構成になっている。例えばＰＥが２５６個での場合２５６組分のアレイ構成になっている。８ビットのレジスタはＰＥごとにＲ０、Ｒ１、Ｒ２、・・・、Ｒ３１と呼ぶ。それぞれのレジスタは演算部６０に対して１つの読み出しポートと１つの書き込みポートを備えており、８ビットのリード／ライト兼用のバスで演算部６０からアクセスされる。さらに３２本のレジスタの複数本をプロセッサ部４外からアクセス可能として、外部からクロックとアドレス、リード／ライト制御を入力することで任意のレジスタを読み書きできるようにしている。レジスタの外部からのアクセスは１つの外部ポートで各ＰＥの１つのレジスタがアクセス可能であり外部から入力されたアドレスでＰＥの番号（例えば０〜２５５）を指定する。このポートを使用して後述するメモリコントローラ８が外部メモリ３とのアクセスを行う。
【００２６】
演算部６０はＰＥ命令の演算処理が行われる。処理の制御はすべてＧＰ５の演算部制御回路５２から行われる。演算部６０は、マルチプレクサ６１、シフタ６２、１６ビットＡＬＵ６３、Ａレジスタ６４、Ｆレジスタ６５、フラグレジスタ６６から構成される。また、全ＰＥ分の演算部６０がアレイ構成になっている（演算アレイともいう）。
【００２７】
マルチプレクサ６１は、ＰＥ方向で左に１、２、３つ離れたデータと右に１、２、３つ離れたデータ、中央のデータを演算対象として選択することが可能となっている。
【００２８】
シフタ６２は、レジスタファイルから読み出されたデータのビットシフトとビット拡張を行う。
【００２９】
ＡＬＵ６３は、算術論理演算器であり、シフタ６２から入力されたデータおよびＡレジスタ６４のデータを入力として演算を行いＡレジスタ６４に出力する。
【００３０】
Ａレジスタ６４は、ＡＬＵ６３で演算された結果を格納するアキュムレータである。
【００３１】
演算部６０は、上述したように基本的にレジスタファイルから読み出されたデータをＡＬＵ６３の片側の入力として、もう片側にはＡレジスタ６４の内容を入力として結果をＡレジスタに格納する。したがって、ＡレジスタとＲ０〜Ｒ３１レジスタとの演算が行われることとなる。さらに、図示していない８ビットの条件レジスタ（Ｔ）により、ＰＥごとに演算実行の無効／有効の制御をしており、特定のＰＥだけを演算対象として選択することができる。
【００３２】
ＰＥＩＦ７は、上述したプロセッサ部４のレジスタファイルへのプロセッサ部４外からのアクセスを制御する。
【００３３】
読み出し手段としてのメモリコントローラ８は、図３に示すようにＰＥＩＦコントローラ８１と、アドレス生成部８２と、コマンド発行部８３と、ＦＩＦＯ８４と、ＤＲＡＭコントローラ８５と、メイン制御部８６と、を備えている。
【００３４】
ＰＥＩＦコントローラ８１は、ＰＥコア６のレジスタファイルへのアドレス、アクセスクロック、リード／ライトコントロール信号の生成部およびデータの入出力バッファ部など備えている。
【００３５】
アドレス生成部８２は、後述するメイン制御部８６からのコントロールでコマンド発行部８３に対してアクセスを行うためのスタートアドレス情報を生成する。
【００３６】
コマンド発行部８３は、ＤＲＡＭコントローラ８５へのリードコマンド、ライトコマンドの発行およびアクセスを行うスタートアドレスとして外部メモリ３上の論理アドレスおよび連続してアクセスするアクセス数であるアクセスバースト数を出力する。
【００３７】
ＦＩＦＯ８４は、ＤＲＡＭコントローラ８５とＰＥＩＦコントローラ８１への入出力データを管理するバッファでありＦＩＦＯ（First In First Out）方式のメモリやレジスタファイルなどで構成される。
【００３８】
ＤＲＡＭコントローラ８５は、外部メモリ３をコントロールする。ＤＲＡＭコントローラ８５は、コマンド発行部８３からのリードコマンド、ライトコマンドと、アクセスを行うスタートアドレスとして外部メモリ３上の論理アドレスおよび連続してアクセスするアクセス数であるアクセスバースト数といった情報をコマンド発行部８３から取得して外部メモリ３にアクセスする。
【００３９】
メイン制御部８６は、メモリコントローラ８を全体的に制御する。メイン制御部８６は前述したＧＰ部からの命令により動作する。
【００４０】
記憶手段としての外部メモリ３は、例えばＳＤＲ−ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）やＤＤＲ−ＳＤＲＡＭなどバーストアクセス可能なメモリで構成され、ＳＩＭＤ型マイクロプロセッサ２で処理する画像情報を記憶するページメモリとして使用される。
【００４１】
図４には外部メモリ３上の画像情報の配置例を示す。画像情報は例えば多値情報として１画素＝８ビットの画像情報を扱った場合にそれらを主走査方向にアドレスが連続するバースト方向へ画素の情報（データ）を１バイトずつ配置し、１ラインの画像情報を配置して次に副走査方向の２ライン目のデータを連続して配置していく例を示している。この時、メモリアクセスのアドレス管理を簡易にするためにメモリ上のアライメントの区切りの良い位置から２ライン目のデータを配置しても良い。
【００４２】
図４ではＡ０，Ａ１，Ａ２，Ａ３がそれぞれ１画素を示し、例えば、２×２の４画素の矩形領域のデータは主走査方向に［Ａ０，Ａ１］、２ライン目の主走査方向に同位置のデータとして［Ａ２，Ａ３］となる。
【００４３】
次に、上述した構成の画像処理装置１における所定の矩形領域の画像情報読み出しについて図５および図６を参照して説明する。
【００４４】
まず、図５のＲ０，Ｒ１，Ｒ２，Ｒ３はＰＥ内のレジスタファイル内のレジスタを示し、本実施形態では４本のレジスタを使用している。次に、外部メモリ３上のアクセスを行いたい２×２の矩形領域の注目画素１点のアドレスを、この４本のレジスタファイル、すなわち８ビット×４ = ３２ビットに用意する。例えば、注目画素は図４において２×２領域の左上点のＡ０のアドレスを用意する。画像内の任意の画素の記憶手段内におけるアドレスを用意している。すなわち、マイクロプロセッサ内部のレジスタに任意の画素の記憶手段内のアドレスを格納している。
【００４５】
Ａ０点のアドレスは、プロセッサ部４で演算により求めるものとする。ＳＩＭＤ型マイクロプロセッサ２においては一定のアドレス演算式をＰＥ０〜ＰＥ２５５まで同様に当て嵌めるのは最も効率の良い処理となる。例えば、現画像に対してある角度で回転を行う処理を考えた場合、回転後の画像情報は現画像情報には存在しないサブピクセル（画素と画素の間）の位置となり、そのような場合は例えばバイリニア補間法により求めることとなる。このバイリニア補間法では現画像の２×２画素の矩形領域を参照する必要があり、その２×２画素の位置は主走査方向および副走査方向に一定の割合で移動しているので、ＰＥが２５６個の場合であればＰＥ０〜ＰＥ２５５にアドレスの元となるデータを配置して、それを求める２×２画素の注目画素のアドレスに演算によって加工することでそれぞれ用意する。図６はその回転した場合の注目画素を示している。演算後、ＰＥ０には丸数字１のアドレス、ＰＥ１には丸数字２のアドレス、ＰＥ３には丸数字３のアドレス、ＰＥ４には丸数字４のアドレス・・・と順次格納されることになる。
【００４６】
次に、このようにして用意されたアドレスをメモリコントローラ８のＰＥＩＦコントローラ８１が順に読み取って２×２画素の１ライン目の２画素の先頭アドレスとしてアドレス生成部８２に伝達する。アドレス生成部８２はコマンド発行部８３に１ライン目の２画素を含むリードコマンド発行と予めＧＰ５からメモリコントローラ８に設定された１ラインの主走査画素数を加算することによって、２ライン目の先頭アドレスを算出して、２ライン目の２画素を含むリードコマンドの発行も続けて行うようにコマンド発行部８３に伝達する。このようにして、ひとつの注目画素点のアドレスから２×２画素のアクセスを一度に行うことが可能となる。これを繰り返すことで丸数字２以降の２×２画素の領域のアクセスも行うことができる。すなわち、読み出し手段（アドレスコントローラ）が、任意の画素を基準とした画像内の矩形領域の複数画素のアドレスを、任意の画素の記憶手段内におけるアドレスと主走査方向の画素数に基づいて生成し連続して読み出すように回路構成が設定されている。
【００４７】
なお、この２×２画素を１単位とするそれぞれのアクセス（図６では丸数字１、丸数字２、丸数字３・・・のアクセス）は主走査方向、副走査方向に連続している必要はなく、ランダムな２×２画素の矩形領域を連続してアクセスすることができる。
【００４８】
次に、このリードアクセスにより読み出された２×２の画像データ、すなわちこの場合は３２ビットの画像情報は、そのままＦＩＦＯ８４、ＰＥＩＦコントローラ８１、ＰＥＩＦ７を介してプロセッサ部４内のレジスタファイルに書き戻すため、その後の画像処理を効率良く行うことが可能となっている。図５においては、元々アドレスが置かれていたレジスタのアドレスに置き換えるように画像情報を上書きするようにする。このようにすることによってその後の画像処理をＳＩＭＤ処理により効率的に行うことが可能となる。すなわち、レジスタＲ０〜Ｒ３１を保持手段およびアドレス情報設定手段として使用し、読み出し手段が、レジスタからアドレスを取得して記憶手段から読み出した画像情報をレジスタに格納するように回路構成が設定されている。
【００４９】
本実施形態によれば、ＳＩＭＤ型マイクロプロセッサ２が外部メモリ３に記憶された２×２の矩形領域の画像情報を読み出す際に、矩形領域の左上に位置する画素を基準として、基準となる画素の外部メモリ３のアドレスをプロセッサ部４により演算して求め、２ライン目の先頭はメモリコントローラ８において主走査方向の画素数を基準となる画素のアドレスに加算して求めて、各ラインはバーストアクセスして読み出すので、従来メモリなど記憶手段のアクセス効率が悪かったランダムな矩形領域のアクセスにおいて、無駄なバーストアクセスを多く挟むことなく効率の良いアクセスを行うことができ、画像処理速度の向上を図ることが可能となる。
【００５０】
また、アドレスが置かれていたレジスタに対して外部メモリ３から読み出した画像情報を置き換えるように上書きしているので、その後の画像処理をＳＩＭＤ処理により効率的に行うことが可能となる。
【００５１】
なお、上述した各実施形態では、画像の回転時の処理を例に説明したが、それに限らず、画像内の所定の矩形領域を取得する必要がある処理であれば、本発明を適用することができる。
【００５２】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の第一の実施形態にかかる画像処理装置のブロック図である。
【図２】図１に示した画像処理装置のＰＥコアとＧＰの構成を示したブロック図である。
【図３】図１に示した画像処理装置のメモリコントローラの構成を示したブロック図である。
【図４】外部メモリ内の画像情報の配置例を示す説明図である。
【図５】本実施形態におけるＳＩＭＤ型マイクロプロセッサと外部メモリとの間のデータの流れを示した説明図である。
【図６】画像の回転時の画像情報の読み出し範囲を示した説明図である。
【符号の説明】
【００５４】
１   画像処理装置
２   ＳＩＭＤ型マイクロプロセッサ
３   外部メモリ（記憶手段）
５   ＧＰ（主走査画素数設定手段）
６   ＰＥコア（アドレス情報設定手段）
８   メモリコントローラ（読み出し手段）
Ｒ０〜Ｒ３１   レジスタ（保持手段、アドレス情報設定手段）
【図１】
2009223758.tif 000003
【図２】
2009223758.tif 000004
【図３】
2009223758.tif 000005
【図４】
2009223758.tif 000006
【図５】
2009223758.tif 000007
【図６】
2009223758.tif 000008