(57)【要約】【課題】少ないメモリ容量で高速な処理を行う画像処理装置を得る。【解決手段】処理対象画像のサイズおよび各画素のデータサイズなどの画像情報を設定する画像情報設定部２２と、プラットホーム３に搭載されたキャッシュ３２の構成およびサイズなどのキャッシュ情報を設定するキャッシュ情報設定部２１と、画像情報設定部２２が設定した画像情報から、処理対象画像の行方向のデータサイズおよび列方向のデータサイズを特定し、当該行方向および列方向のデータサイズを有する画像領域３１ａを生成すると共に、画像情報設定部２２が設定した画像情報およびキャッシュ情報設定部２１が設定したキャッシュ情報から、所定のサイズを行方向のデータサイズとし、処理対象画像の行方向のデータサイズを列方向のデータサイズとした作業領域３１ｂを生成し、生成した画像領域３１ａおよび作業領域３１ｂを画像処理プログラムに割り付けるメモリ割付部２３とを備える。【選択図】図１
2012247843.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ、メモリおよびキャッシュを含むプラットホーム上で動作し、二次元の画像に対して行方向および列方向の処理を行う画像処理プログラムに、所定の領域の割り付けを指示する画像処理装置において、
処理対象画像のサイズおよび各画素のデータサイズなどの画像情報を設定する画像情報設定部と、
前記プラットホームに搭載された前記キャッシュの構成およびサイズなどのキャッシュ情報を設定するキャッシュ情報設定部と、
前記画像情報設定部が設定した画像情報から、前記処理対象画像の行方向のデータサイズおよび列方向のデータサイズを特定し、当該行方向および列方向のデータサイズを有する画像領域を生成すると共に、前記画像情報設定部が設定した画像情報および前記キャッシュ情報設定部が設定したキャッシュ情報から、所定のサイズを行方向のデータサイズとし、前記処理対象画像の行方向のデータサイズを列方向のデータサイズとした作業領域を生成し、生成した前記画像領域および前記作業領域を前記画像処理プログラムに割り付けるメモリ割付部とを備えたことを特徴とする画像処理装置。
【請求項２】
前記メモリ割付部は、１キャッシュラインのデータサイズの整数倍を行方向のデータサイズとし、前記処理対象画像の行方向のデータサイズを列方向のデータサイズとした作業領域を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理プログラムは、前記画像領域内の処理対象画像から前記作業領域のデータサイズ分の処理対象画像を取得して前記作業領域に移動させ、当該作業領域において前記列方向の処理を行い、前記全ての処理対象画像に対して前記列方向の処理を実行するまで、前記作業領域への処理対象画像の移動を繰り返し行うことを特徴とする請求項１または請求項２記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、二次元の画像に対して、行方向と列方向の処理を行う画像処理装置に関するものである。
【背景技術】
【０００２】
二次元の画像に対して、行方向と列方向の処理を行う画像処理の１つに、ＳＡＲ（Ｓｙｎｔｈｅｔｉｃ  Ａｐｅｒｔｕｒｅ  Ｒａｄａｒ：合成開口レーダ）画像の再生処理がある。ＳＡＲ画像再生処理は、非特許文献１に記載されているように、前半でレンジ方向の処理であるレンジ圧縮を行い、後半でアジマス方向の処理であるアジマス圧縮を行う。
【０００３】
ＳＡＲ画像再生処理をＰＣやワークステーションなどの汎用のコンピュータで行う場合は、キャッシュ機構を備えたメモリ上にデータを格納するため、連続したアドレス順にデータをアクセスする場合はキャッシュがヒットして高速に処理を行うことができるが、連続していないアドレス順でデータをアクセスする場合はキャッシュミスを起こして低速となる。すなわち、処理する方向にデータが格納されている場合には高速で処理することができるが、処理する方向にデータが格納されていない場合には処理が低速になってしまう。
【０００４】
この問題を解決する方法として、特許文献１には前半のレンジ方向の処理と後半のアジマス方向の処理の間に、メモリ上のデータの行と列（縦横）を入れ替える（転置する）コーナーターンを行い、このコーナーターンの際にキャッシュミスが発生しないように、正方形のブロック単位でメモリ上のデータを転置する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３８５０５９９号公報
【非特許文献】
【０００６】
【非特許文献１】飯坂譲二監修、日本写真測量学会編、「合成開口レーダ画像ハンドブック」朝倉書店、１９９８年５月２０日  初版第１刷
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１に開示された技術では、コーナーターンにおいて、レンジとアジマス（横と縦）の二つの方向にデータを格納するので、本来の画像のデータ量に対して、２倍のメモリ量が必要となり、装置に大容量メモリを搭載する必要があるという課題があった。さらに大容量メモリを搭載することにより装置が大型化するという課題があった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、少ないメモリ容量で高速な処理を行う画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る画像処理装置は、処理対象画像のサイズおよび各画素のデータサイズなどの画像情報を設定する画像情報設定部と、プラットホームに搭載されたキャッシュの構成およびサイズなどのキャッシュ情報を設定するキャッシュ情報設定部と、画像情報設定部が設定した画像情報から、処理対象画像の行方向のデータサイズおよび列方向のデータサイズを特定し、当該行方向および列方向のデータサイズを有する画像領域を生成すると共に、画像情報設定部が設定した画像情報およびキャッシュ情報設定部が設定したキャッシュ情報から、所定のサイズを行方向のデータサイズとし、処理対象画像の行方向のデータサイズを列方向のデータサイズとした作業領域を生成し、生成した画像領域および作業領域を画像処理プログラムに割り付けるメモリ割付部とを備えたものである。
【発明の効果】
【００１０】
この発明によれば、少ないメモリ容量で、高速に画像処理を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１による画像処理装置の構成を示すブロック図である。
【図２】実施の形態１による画像処理装置の動作を示すフローチャートである。
【図３】実施の形態１による画像処理装置のアジマス圧縮処理を示すフローチャートである。
【図４】実施の形態１による画像処理装置の画像領域から作業領域へのデータ移動を示す。
【図５】実施の形態１による画像処理装置の画像領域から作業領域へのデータ移動の際のキャッシュを示す説明図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
実施の形態１に係る画像処理装置について、図１から図７を参照しながら説明する。図１は、この発明の実施の形態１による画像処理装置の構成を示すブロック図である。図１において、画像処理プログラム１は、ＳＡＲ画像の再生処理を実行する。画像処理装置２は、プラットホーム３上で動作し、画像データのメモリへの割り付け方法などを画像処理プログラム１に指示する。プラットホーム３は、メモリ３１、キャッシュ３２およびＣＰＵ３３などにより構成される。
【００１３】
また、図１に示した画像処理装置２は、キャッシュ情報設定部２１、画像情報設定部２２およびメモリ割付部２３で構成されている。
キャッシュ情報設定部２１は、キャッシュ３２の構成やサイズなどキャッシュ情報を設定する。画像情報設定部２２は、処理対象となる画像のサイズ（画素数）および各画素のデータサイズを設定する。メモリ割付部２３は、キャッシュ情報設定部２１および画像情報設定部２２からキャッシュ情報および画像情報を取得し、１キャッシュラインのデータサイズの整数倍×アジマス方向のデータサイズ（画素数×１画素当たりのＢｙｔｅ数）を作業領域のサイズとして算出し、算出したサイズの作業領域をメモリ３１上に割り付けるように画像処理プログラム１に指示する。
【００１４】
なお以下の説明では、処理対象画像を、１画素当たり８Ｂｙｔｅ、画像サイズはレンジ方向、アジマス方向とも２０４８０画素と仮定する。また、プラットホーム３に搭載されているキャッシュ３２は、データキャッシュ、１キャッシュライン当たり３２Ｂｙｔｅ×５１２ライン、１次キャッシュのみを仮定する。
【００１５】
画像情報設定部２２は、処理対象画像の情報として、画像のサイズ（画素数）、各画素のデータサイズなどを設定するが、この具体例では、１画素当たり８Ｂｙｔｅ、画像サイズはレンジ方向２０４８０画素×アジマス方向２０４８０画素という情報を設定する。画像情報設定部２２への画像情報の入力は、ユーザ入力などにより手動で行うほか、画像データや画像処理プログラム１から自動的に行うように構成してもよい。
【００１６】
キャッシュ情報設定部２１は、プラットホーム３に搭載されているキャッシュ３２の各ラインのサイズ（容量）、キャッシュライン数などのキャッシュ情報を設定するが、この具体例では、キャッシュ３２は、データキャッシュ、１キャッシュライン当たり３２Ｂｙｔｅ×５１２ライン、１次キャッシュのみとする。キャッシュ情報設定部２１へのキャッシュ情報の入力は、ユーザ入力などにより手動で行うほか、システムが用意するＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）経由などで自動的に行うように構成してもよい。
【００１７】
次に動作について説明する。
図２は、この発明の実施の形態１による画像処理装置の動作を示すフローチャートである。
メモリ割付部２３は、画像情報設定部２２が設定した画像情報を取得し（ステップＳＴ１）、取得した画像情報の画像のサイズ（画素数）に基づいてプラットホーム３のメモリ３１上に画像領域３１ａ（図１参照）を確保する（ステップＳＴ２）。さらにメモリ割付部２３は、ステップＳＴ２で確保した画像領域３１ａに画像データを入力する（ステップＳＴ３）。ステップＳＴ３で画像データが入力されると、画像処理プログラム１は、ＳＡＲ画像再生処理に必要なパラメータの計算を行い（ステップＳＴ４）、レンジ方向の処理であるレンジ圧縮処理を画像領域３１ａ上で行う（ステップＳＴ５）。
【００１８】
次に、メモリ割付部２３は、キャッシュ情報設定部２１が設定したキャッシュ情報を取得し（ステップＳＴ６）、取得したキャッシュ情報と、ステップＳＴ１で取得した画像情報とに基づいて作業領域３１ｂ（図１参照）の領域サイズを算出する（ステップＳＴ７）。この領域サイズは、キャッシュミスが最小限になるよう、キャッシュの１ラインのＢｙｔｅ数の整数倍と画像データのアジマス方向のＢｙｔｅ数を掛けたサイズとなる。ここでは、キャッシュの１ラインのＢｙｔｅ数の整数倍を１倍とする。従って、３２Ｂｙｔｅ×１６３８４０Ｂｙｔｅ（２０４８０画素×８Ｂｙｔｅ）となる。
【００１９】
メモリ割付部２３は、ステップＳＴ７で算出したサイズの作業領域３１ｂをプラットホーム３のメモリ３１上に確保する（ステップＳＴ８）。画像処理プログラム１は、ステップＳＴ８で確保した作業領域３１ｂを用いてアジマス方向の処理であるアジマス圧縮を行い（ステップＳＴ９）、処理を終了する。
【００２０】
次に、上述したステップＳＴ９で示した作業領域３１ｂを用いたアジマス圧縮処理の動作について図３のフローチャートを参照しながら説明する。
画像処理プログラム１は、画像領域３１ａに入力された画像データについて、レンジ方向の先頭から順に作業領域３１ｂへそのサイズ分のデータを移動させる（ステップＳＴ９１）。作業領域３１ｂ内のデータに対してアジマス圧縮処理を行う（ステップＳＴ９２）。ここでは、作業領域が３２Ｂｙｔｅで４画素分となるので、４つのアジマス方向のデータに対してアジマス圧縮処理を行う。次に、ステップＳＴ９２の処理結果を作業領域３１ｂから画像領域３１ａの元の領域に移動させる（ステップＳＴ９３）。
【００２１】
なお、上述したステップＳＴ９１からステップＳＴ９３の処理を、レンジ方向に順にずらしながら全ての画像データについて処理するまで繰り返す。すなわち、レンジ方向の画素数２０４８０を作業領域３１ｂのレンジ方向のサイズ４で割った回数である５１２０回繰り返す。そのため、画像処理プログラム１は、ステップＳＴ９３の処理を行うと、全ての画像データについて処理を行ったか判定を行う（ステップＳＴ９４）。全ての画像データについて処理を行っていないと判定された場合（ステップＳＴ９４；ＮＯ）、ステップＳＴ９１の処理に戻り、上述した処理を繰り返す。一方、全ての画像データについて処理を行ったと判定された場合（ステップＳＴ９４；ＹＥＳ）、処理を終了する。
【００２２】
次に画像領域３１ａから作業領域３１ｂへのデータ移動について図４から図７を参照しながら説明する。図４は画像領域から作業領域へのデータ移動を示す説明図であり、図４（ａ）はその全体図、図４（ｂ）は詳細図である。
図４（ａ）では画像領域３１ａの先頭の４画素分のアジマス方向のデータＡを作業領域３１ｂへデータ移動させる場合を示している。画像領域３１ａのデータは、レンジ方向にアドレスが連続するよう画素データが格納されている。図４（ｂ）は、４画素分のアジマス方向のデータＡのデータ内容を示している。各々数値が記載されている四角が１画素を表しており、画像領域３１ａと作業領域３１ｂにおける同一の数値はそれぞれで対応する同じ画素データを表している。
【００２３】
図５は、画像領域から作業領域へのデータ移動の際のキャッシュを示す説明図である。まず図５（ａ）は、画素１１から画素４４までのデータの移動の際の画像領域と作業領域のキャッシュラインの様子を示したものである。まず画像領域３１ａの画素１１をリードすると、初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素１１を含む１キャッシュライン分のデータ（１１，１２，１３，１４）が読み込まれる。そのデータを作業領域３１ｂの「１１」の場所へ書き込むが、これも初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素１１の場所を含む１キャッシュライン分のデータ読み込まれ、キャッシュ３２上で画素１１のデータが書き込まれる。
【００２４】
次に画像領域３１ａの画素１２をリードすると、既にキャッシュ３２へデータが読み込まれているのでメモリ３１へのアクセスは発生しない。このデータを作業領域の「１２」の場所へ書き込むが、これは初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素１２の場所を含む１キャッシュライン分のデータ読み込まれ、キャッシュ３２上で画素１２のデータが書き込まれる。画素１３，１４についても、動作は同様である。
【００２５】
次に画像領域の画素２１をリードすると、初めてのアクセスなのでキャッシュミスとなり、メモリからキャッシュへ画素２１を含む１キャッシュライン分のデータ（２１，２２，２３，２４）が読み込まれる。そのデータを作業領域の２１の場所へ書き込むが、この部分は上述の画素１１の書き込みにおいて既にキャッシュ３２へ読み込まれているのでメモリ３１へのアクセスは発生せず、キャッシュ３２への書き込みだけとなる。そして、画素２２，２３，２４は、画像領域３１ａおよび作業領域３１ｂにおいて、既にキャッシュ３２に読み込まれているので、メモリ３１へのアクセスは発生しない。
【００２６】
同様に、画素３１および画素４１は、画像領域３１ａではキャッシュミスを起こすが、作業領域３１ｂではキャッシュヒットし、メモリ３１へのアクセスは発生しない。また、画素３２，３３，３４、４２，４３，４４は、画像領域３１ａおよび作業領域３１ｂにおいて、既にキャッシュ３２に読み込まれているので、メモリ３１へアクセスは発生しない。
【００２７】
図５（ｂ）は、画素５１以降のデータの移動の際の画像領域３１ａと作業領域３１ｂのキャッシュラインの様子を示したものである。
画像領域３１ａの画素５１をリードすると、初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素５１を含む１キャッシュライン分のデータ（５１，５２，５３，５４）が読み込まれる。そのデータを作業領域３１ｂの「５１」の場所へ書き込むが、これも初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素５１の場所を含む１キャッシュライン分のデータ読み込まれ、キャッシュ３２上で画素５１のデータが書き込まれる。
【００２８】
次に画像領域３１ａの画素５２をリードすると、既にキャッシュ３２へデータが読み込まれているのでメモリ３１へのアクセスは発生しない。このデータを作業領域の５２の場所へ書き込むが、これは初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素５２の場所を含む１キャッシュライン分のデータ読み込まれ、キャッシュ３２上で画素５２のデータが書き込まれる。画素５３および画素５４についても、動作は同様である。
【００２９】
次に画像領域３１ａの画素６１をリードすると、初めてのアクセスなのでキャッシュミスとなり、メモリ３１からキャッシュ３２へ画素６１を含む１キャッシュライン分のデータ（６１，６２，６３，６４）が読み込まれる。そのデータを作業領域３１ｂの「６１」の場所へ書き込むが、この部分は先ほどの画素５１の書き込みにおいて既にキャッシュ３２へ読み込まれているのでメモリ３１へのアクセスは発生せず、キャッシュ３２への書き込みだけとなる。そして、画素６２，６３，６４は、画像領域３１ａおよび作業領域３１ｂにおいて、既にキャッシュ３２に読み込まれているので、メモリ３１へのアクセスは発生しない。
【００３０】
同様に、画素７１および画素８１は、画像領域３１ａではキャッシュミスを起こすが、作業領域３１ｂではキャッシュヒットし、メモリ３１へのアクセスは発生しない。また、画素７２，７３，７４、８２，８３，８４は、画像領域３１ａでも作業領域３１ｂでも、既にキャッシュ３２に読み込まれているので、メモリ３１へアクセスは発生しない。画素９１以降のデータ移動の動作も同様である。
【００３１】
以上のように、この実施の形態１によれば、作業領域３１ｂのサイズを「１キャッシュラインのデータサイズの整数倍×アジマス方向のデータサイズ」として算出し、算出したサイズの作業領域３１ｂをメモリ３１上に確保するメモリ割付部２３を備え、画像領域３１ａから当該作業領域３１ｂに画像データを移動してアジマス方向の処理であるアジマス圧縮を行うように構成したので、少ないメモリ容量でアジマス圧縮処理を行うことができ、さらに画像領域３１ａから作業領域３１ｂに画像データを移動させる際にキャッシュヒットしてデータ移動の時間が抑制され、高速に画像処理を行うことができる。これにより、画像処理装置の小型化を実現することができる。
【００３２】
なお、上述した実施の形態１では、画像のサイズ（画素数）および各画素のデータサイズを具体例を用いて説明したが、上述した数値に限定されるものではなく、適宜変更可能である。
【００３３】
また、上述した実施の形態１では、画像領域のアジマス方向に並ぶデータを作業領域の行方向に並べる構成を示したが、画像領域のレンジ方向に並ぶデータを作業領域の列方向に並べるように構成してもよい。
【００３４】
また、上述した実施の形態１では、画像処理プログラム１がＳＡＲ画像の再生処理を実行する構成を示したが、ＳＡＲ画像の再生処理に限定されるものではなく、光学画像（例えば、一般のカメラで撮影された画像）における雑音除去などで行われるウェーブレット変換などにも適用可能である。
【００３５】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００３６】
１  画像処理プログラム、２  画像処理装置、３  プラットホーム、２１  キャッシュ情報設定部、２２  画像情報設定部、２３  メモリ割付部、３１  メモリ、３１ａ  画像領域、３１ｂ  作業領域、３２  キャッシュ、３３  ＣＰＵ、Ａ  データ。
【図１】
2012247843.tif 000003
【図２】
2012247843.tif 000004
【図３】
2012247843.tif 000005
【図４】
2012247843.tif 000006
【図５】
2012247843.tif 000007