(57)【要約】【課題】主走査ライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させること。【解決手段】生成したラインデータを画像処理モジュールへ転送する際、生成したラインデータを先頭から順番に一旦ラインメモリに入力して格納し、所定量が格納された時点でメインメモリに転送して格納する。そして、画像処理に必要となるライン数分のラインデータがメインメモリに格納されると、それらのラインデータをメインメモリから順番にラインメモリに読み出し、ラインメモリを介して画像処理モジュールに入力する。【選択図】図１
2014179019.tif 000002
【特許請求の範囲】
【請求項１】
スキャナユニットから主走査ライン毎に入力される入力データに対して画像処理を行う画像処理装置であって、
前記スキャナユニットから入力された前記入力データを前記主走査ライン毎のラインデータとして入力されてきた順に一時的に格納する第一の記憶媒体と、
前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に、前記第一の記憶媒体よりもアクセス速度が遅い第二の記憶媒体に転送し、前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送するラインデータ転送部と、
前記スキャナユニットから入力されて前記第一の記憶媒体に格納されているラインデータと、前記第二の記憶媒体から前記第一の記憶媒体に転送されてきた前記ラインデータとに基づいて前記画像処理を行う画像処理部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記ラインデータ転送部は、前記スキャナユニットから入力されて前記第一の記憶媒体に一時的に格納された前記ラインデータを所定量毎に前記第二の記憶媒体に転送することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ラインデータ転送部は、前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータを所定量毎に前記第一の記憶媒体に転送することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記ラインデータ転送部は、前記第一の記憶媒体から前記第二の記憶媒体に前記ラインデータが所定のライン数分転送されると、転送された前記所定のライン数分のラインデータを前記第一の記憶媒体に転送することを特徴とする請求項１乃至３いずれか１項に記載の画像処理装置。
【請求項５】
前記ラインデータ転送部は、前記スキャナユニットから入力されて前記第一の記憶媒体に一時的に格納された前記ラインデータのライン数と、前記第二の記憶媒体から前記第一の記憶媒体に転送される前記ラインデータのライン数との合計が、前記画像処理部による画像処理に要するライン数となるように、前記ラインデータを前記第二の記憶媒体から前記第一の記憶媒体に転送することを特徴とする請求項１乃至４いずれか１項に記載の画像処理装置。
【請求項６】
前記第一の記憶媒体の記憶制御を行う第一の記憶制御部を備え、
前記第一の記憶制御部は、前記第一の記憶媒体に格納されているラインデータのうち、前記第二の記憶媒体から転送されてきて前記画像処理部による画像処理が完了したラインデータを順次削除することを特徴とする請求項１乃至５いずれか１項に記載の画像処理装置。
【請求項７】
前記第二の記憶媒体の記憶制御を行う第二の記憶制御部を備え、
前記第二の記憶制御部は、前記第二の記憶媒体に格納されているラインデータのうち、前記第一の記憶媒体に転送されて前記画像処理部による画像処理が完了したラインデータを順次削除することを特徴とする請求項１乃至６いずれか１項に記載の画像処理装置。
【請求項８】
前記ラインデータのデータ量が前記第一の記憶媒体の記憶容量を超えるか否かを判断し、若しくは、前記第一の記憶媒体の記憶容量を超える画像処理を行うか否かを判断する判断部を備え、
前記判断部により、前記ラインデータのデータ量が前記第一の記憶媒体の記憶容量を超えると判断された場合、若しくは、前記第一の記憶媒体の記憶容量を超える画像処理を行うと判断された場合に、前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に前記第二の記憶媒体に転送し、前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送することを特徴とする請求項１乃至７いずれか１項に記載の画像処理装置。
【請求項９】
スキャナユニットから主走査ライン毎に入力される入力データに対して画像処理を行う画像処理プログラムであって、
前記スキャナユニットから入力された前記入力データを前記主走査ライン毎のラインデータとして入力されてきた順に第一の記憶媒体に一時的に格納するステップと、
前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に、前記第一の記憶媒体よりもアクセス速度が遅い第二の記憶媒体に転送するステップと、
前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送するステップと、
前記スキャナユニットから入力されて前記第一の記憶媒体に格納されているラインデータと、前記第二の記憶媒体から前記第一の記憶媒体に転送されてきた前記ラインデータとに基づいて前記画像処理を行うステップと、
を実行することを特徴とする画像処理プログラム。
【請求項１０】
スキャナユニットから主走査ライン毎に入力される入力データに対して画像処理を行う画像処理方法であって、
前記スキャナユニットから入力された前記入力データを前記主走査ライン毎のラインデータとして入力されてきた順に第一の記憶媒体に一時的に格納し、
前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に、前記第一の記憶媒体よりもアクセス速度が遅い第二の記憶媒体に転送し、
前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送し、
前記スキャナユニットから入力されて前記第一の記憶媒体に格納されているラインデータと、前記第二の記憶媒体から前記第一の記憶媒体に転送されてきた前記ラインデータとに基づいて前記画像処理を行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム、画像処理方法に関し、特に、画像データの転送制御に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像形成装置は欠かせない機器となっている。このような画像形成装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような複合機のうち、情報の電子化に用いられるスキャナにおいては、通常、複数のフォトダイオードを一列に並べ、これに並列にＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等のイメージセンサが主走査方向に沿って配置されたリニアイメージセンサが備えられており、これにより原稿を読み取るようになっている。
【０００４】
このようなスキャナにおけるスキャン動作において、リニアイメージセンサにより読み取られた読取画像データは、主走査ライン毎に一定の間隔（以下、「ライン単位」とする）で生成される。このようにして主走査ライン毎に生成された読取画像データ（以下、「ラインデータ」とする）は、一定の周期（以下、「ライン周期」とする）で画像処理モジュールへ転送されて、各種画像処理が施される。
【０００５】
そして、画像処理後の読取画像データは、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等の記憶装置に記憶され、若しくは、電子化された情報の出力に用いられるプリンタへ転送されて画像形成出力が行われ、また、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の外部の情報処理端末に送信される。
【０００６】
このように、リニアイメージセンサにより読み取られた読取画像データは、主走査ライン毎に生成されるため、ライン単位での処理が要求される。そのため、上記画像処理モジュールは、読取画像データのライン単位での処理が可能なように、情報処理が行われる際に作業領域として用いられるメインメモリとは別に、ライン単位で読取画像データを格納することができるラインメモリを用いるように構成されている。
【０００７】
このラインメモリには夫々、１ライン分の読取画像データ（ラインデータ）が格納されるため、少なくともそのラインデータのデータ量以上の記憶容量が備えられている必要がある。即ち、各ラインメモリが備える記憶容量は少なくとも、スキャナが読み取ることができる１ライン当たりの最大のデータ量以上である必要がある。例えば、読み取ることができる１ライン当たりの最大のデータ量がｎバイト（ｎは正の数）であるスキャナにあっては、各ラインメモリにはｎバイト以上の記憶容量が備えられている必要がある。
【０００８】
そして、このラインデータのデータ量は、スキャナが扱える画素数に比例するため、近年の高画素化への要求に応えるためには、ラインメモリの記憶容量を増加させなければならない。
【０００９】
また、ラインメモリの記憶容量がラインデータのデータ量よりも大きく、ラインデータを１ライン分全て格納することができる場合であっても、画像処理の種類、例えば、画像の回転処理や拡大／縮小処理、画質の変換処理等によってはラインメモリの記憶容量が不足することが生じうるため、近年の多機能化への要求に応えるためには、ラインメモリの記憶容量を増加させなければならない。
【００１０】
ところが、ラインメモリの記憶容量を増加させると、それに応じて、回路の複雑化や回路規模の増大、消費電力の上昇、コストの上昇が問題となる。
【００１１】
そこで、ラインメモリの記憶容量を超えるような処理を行う場合には、ラインメモリの代わりにメインメモリを用いることにより、上記のような問題を回避することができる技術が考案され既に知られている（例えば、特許文献１参照）。
【００１２】
特許文献１に開示されているような技術によれば、ラインメモリの記憶容量を増加させることなく高画素化及び多機能化を実現することが可能となるため、上記のような問題を回避することが可能となる。これは、メインメモリを構成するメモリ、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等は、ラインメモリを構成するメモリ、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等よりも回路が単純で回路規模が小さく、また、消費電力が小さい上に、単位記憶容量あたりの単価が安価なためである。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、画像処理モジュールからのアクセス速度は、ＳＲＡＭ等により構成されたラインメモリよりも、ＤＲＡＭ等により構成されたメインメモリの方が低速であるため、メインメモリを用いた処理の際には、処理速度が低下してしまい、処理効率が悪くなるといった問題がある。このような問題は、画像処理モジュール毎にラインメモリを備えるスキャナにあっては、画像処理モジュール毎に起こりうるため、より顕著なものとなる。
【００１４】
尚、このような問題は、スキャナに限らず、ＣＣＤやＣＭＯＳ等のイメージセンサ主走査方向等の特定の方向沿って配置されたリニアイメージセンサが備えられた画像読取装置、例えば、デジタルカメラやカメラ機能付き携帯情報端末等でも同様に起こりうる問題である。
【００１５】
また、このような問題は、ＤＲＡＭ及びＳＲＡＭによって構成されるメインメモリ及びラインメモリに限るものではなく、機能とコストとの兼ね合いから、画像処理モジュールからのアクセス速度の速いメモリとアクセス速度の遅いメモリとを用いて処理を行うような場合に起こりうる問題である。
【００１６】
本発明は、このような課題を解決するためになされたものであり、主走査ライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させることを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、スキャナユニットから主走査ライン毎に入力される入力データに対して画像処理を行う画像処理装置であって、前記スキャナユニットから入力された前記入力データを前記主走査ライン毎のラインデータとして入力されてきた順に一時的に格納する第一の記憶媒体と、前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に、前記第一の記憶媒体よりもアクセス速度が遅い第二の記憶媒体に転送し、前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送するラインデータ転送部と、前記スキャナユニットから入力されて前記第一の記憶媒体に格納されているラインデータと、前記第二の記憶媒体から前記第一の記憶媒体に転送されてきた前記ラインデータとに基づいて前記画像処理を行う画像処理部と、を備えることを特徴とする。
【００１８】
また、本発明の他の態様は、スキャナユニットから主走査ライン毎に入力される入力データに対して画像処理を行う画像処理プログラムであって、前記スキャナユニットから入力された前記入力データを前記主走査ライン毎のラインデータとして入力されてきた順に一時的に格納するステップと、前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に、前記第一の記憶媒体よりもアクセス速度が遅い第二の記憶媒体に転送するステップと、前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送するステップと、前記スキャナユニットから入力されて前記第一の記憶媒体に格納されているラインデータと、前記第二の記憶媒体から前記第一の記憶媒体に転送されてきた前記ラインデータとに基づいて前記画像処理を行うステップと、を実行することを特徴とする。
【００１９】
また、本発明の更に他の態様は、スキャナユニットから主走査ライン毎に入力される入力データに対して画像処理を行う画像処理方法であって、前記スキャナユニットから入力された前記入力データを前記主走査ライン毎のラインデータとして入力されてきた順に一時的に格納し、前記第一の記憶媒体に一時的に格納された前記ラインデータをその格納順に、前記第一の記憶媒体よりもアクセス速度が遅い第二の記憶媒体に転送し、前記第一の記憶媒体から前記第二の記憶媒体に転送された前記ラインデータをその格納順に、前記第一の記憶媒体に転送し、前記スキャナユニットから入力されて前記第一の記憶媒体に格納されているラインデータと、前記第二の記憶媒体から前記第一の記憶媒体に転送されてきた前記ラインデータとに基づいて前記画像処理を行うことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、主走査ライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成を模式的に示すブロック図である。
【図２】本発明の実施形態に係るスキャナユニットが読み取る原稿の原稿サイズとラインメモリの記憶容量との関係を説明するための図である。
【図３】本発明の実施形態に係るスキャナユニットが生成する読取画像データのデータ構造を摸式的に示す図である。
【図４】本発明の実施形態に係るスキャナユニットが生成する読取画像データのデータ構造を摸式的に示す図である。
【図５】本発明の実施形態に係る画像処理モジュールが画像処理を行う様子を示す図である。
【図６】本発明の実施形態に係る画像処理モジュールが画像処理を行う様子を示す図である。
【図７】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図８】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図９】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１０】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１１】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１２】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１３】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１４】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１５】本発明の実施形態に係るスキャナユニットによるスキャナ動作時のラインメモリ及び外部メモリにおける読取画像データの記憶状態を示す図である。
【図１６】本発明の他の実施形態に係る画像処理装置のハードウェア構成を模式的に示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等のイメージセンサが主走査方向に沿って配置されたリニアイメージセンサにより原稿を読み取るスキャナユニットが備えられた画像処理装置を例として説明する。
【００２３】
また、本実施形態に係る画像処理装置は、スキャナユニットにおけるスキャン動作において、リニアイメージセンサで読み取った読取画像データを、主走査ライン毎に一定の間隔（以下、「ライン単位」とする）で生成し、生成した主走査ライン毎の読取画像データ（以下、「ラインデータ」とする）を、一定の周期（以下、「ライン周期」とする）で画像処理モジュールへ転送して画像処理を施すように構成されている。
【００２４】
また、本実施形態に係る画像処理装置は、情報処理を行う際に作業領域として用いるメインメモリとは別に、ライン単位で読取画像データを格納することができるラインメモリを備える。尚、本実施形態において、メインメモリは、ラインメモリを構成するメモリ、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等よりも、回路が単純で回路規模が小さく、また、消費電力が小さい上に、単位記憶容量あたりの単価が安価ではあるが、画像処理モジュールからのアクセス速度は遅いメモリ、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等により構成されているものとする。
【００２５】
また、本実施形態に係る画像処理装置は、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う際にラインメモリの記憶容量が不足するようなことがないように、メインメモリを用いるように構成されている。
【００２６】
この際、本実施形態に係る画像処理装置は、生成したラインデータを画像処理モジュールへ転送する際、生成したラインデータを先頭から順番に一旦ラインメモリに入力して格納し、所定量が格納された時点でメインメモリに転送して格納する。そして、本実施形態に係る画像処理装置は、画像処理に必要となるライン数分のラインデータがメインメモリに格納されると、それらのラインデータをメインメモリから順番にラインメモリに読み出し、ラインメモリを介して画像処理モジュールに入力する。
【００２７】
このような構成により、本実施形態に係る画像処理装置は、ラインメモリを、上述したような理由によりメインメモリを用いる際のアクセス速度の低下を緩衝させるためのバッファメモリとして機能させることができる。
【００２８】
これにより、本実施形態に係る画像処理装置は、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う際にラインメモリの記憶容量が不足するようなことがないようにメインメモリを用いる場合であっても、処理速度を低下させることなく画像処理を行うことが可能となる。従って、本実施形態に係る画像処理装置によれば、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させることが可能となる。以下、詳細に説明する。
【００２９】
まず、本実施形態に係る画像処理装置１のハードウェア構成について、図１を参照して説明する。図１は、本実施形態に係る画像処理装置１のハードウェア構成を摸式的に示すブロック図である。図１に示すように、本実施形態に係る画像処理装置１は、スキャナユニット１００、プロッタユニット２００、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）３００、内部メモリ４００、画像処理モジュール５００、外部メモリアクセス要求部６００、アービタ７００、外部メモリアクセスコントローラ８００、外部メモリ９００含む。
【００３０】
スキャナユニット１００は、原稿を光学的に走査して読み取って読取画像データを生成する画像読取装置である。本実施形態に係るスキャナユニット１００は、上述したように、ＣＣＤやＣＭＯＳ等のイメージセンサが主走査方向に沿って配置されたリニアイメージセンサにより原稿を読み取る。
【００３１】
そのため、本実施形態に係るスキャナユニット１００は、一度のスキャン動作で主走査方向に一ライン分の読み取りしかできないため、上述したように、スキャン動作により読み取った原稿の読取画像データをライン単位で一定の間隔（ライン間隔）毎に生成する。そして、このようにライン間隔毎に生成されたライン単位の画像（以下、ラインデータ）は、内部メモリ及４００及び外部メモリ９００を介して画像処理モジュール５００に転送される。スキャナユニット１００は、このような動作を全ラインについて行うことにより、即ち、副走査方向に順次行うことにより、原稿１枚分の読み取り動作を完了する。
【００３２】
尚、本実施形態においては、スキャナユニット１００は、読取解像度が６００ｄｐｉで、１画素当たり１バイトの画素情報を有する読取画像データを生成する。
【００３３】
プロッタユニット２００は、入力された画像情報に基づいて用紙に対して画像形成出力を実行する画像形成装置であり、電子写真方式の画像形成機構や、インクジェット方式の画像形成機構が用いられる。
【００３４】
ＨＤＤ３００は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００３５】
内部メモリ４００は、情報の高速な読み書きが可能な不揮発性記憶媒体であり、情報処理が行われる際に作業領域として用いられるメインメモリである外部メモリ９００を構成するＤＲＡＭ等のメモリより、回路が複雑で回路規模が大きく、また、消費電力が大きい上に、単位記憶容量あたりの単価が高価ではあるが、画像処理モジュールからのアクセス速度は速いメモリ、例えば、ＳＲＡＭ等により構成されている。
【００３６】
この内部メモリ４００は、ラインメモリ４１０〜４３０を含み、各ラインメモリ４１０〜４３０は、上述したように、読取画像データをライン単位で格納することができるラインメモリであり、スキャナユニット１００により生成された読取画像データをライン単位で格納する。即ち、本実施形態においては、ラインメモリ４１０〜４３０が、第一の記憶媒体として機能する。本実施形態においては、各ラインメモリ４１０〜４３０は夫々、８Ｋバイト（８１９２バイト）の記憶容量を備えるものとする。
【００３７】
尚、各ラインメモリ４１０〜４３０は、内部メモリ４００が論理的に分割されて実現されても良いし、内部メモリ４００に設けられた物理的に区別される個々のメモリにより実現されても良い。また、本実施形態においては、内部メモリ４００にはラインメモリ４１０〜４３０の３個のラインメモリが備えられる例について説明するが、その数はこの限りではなく、画像処理モジュール５００が行う画像処理の種類に応じた数だけ備えられていても良い。
【００３８】
画像処理モジュール５００は、画像処理部５１０及び内部メモリアクセスコントローラ５２０を含む。画像処理部５１０は、スキャナユニット１００によって原稿が読み取られて生成された読取画像データを処理して保存用の保存画像データを生成する機能や、プロッタユニット２００による画像形成出力用の出力画像データを生成する。
【００３９】
また、画像処理部５１０は、出力画像データや保存画像データの生成のための画像処理だけではなく、生成した出力画像データや保存画像データに対する回転処理や拡大／縮小処理、画質の変換処理等の、画像処理装置１が備える機能に対応した画像処理を行う。
【００４０】
内部メモリアクセスコントローラ５２０は、スキャナユニット１００からライン単位で転送されてきた読取画像データ（ラインデータ）を一定の周期（ライン周期）で内部メモリ４００に転送するための制御を行う。また、内部メモリアクセスコントローラ５２０は、内部メモリ４００に格納されている一時的に記憶されている読取画像データ（ラインデータ）を画像処理部５１０に転送するための制御を行う。即ち、本実施形態においては、内部メモリアクセスコントローラ５２０が、第二の記憶制御部として機能する。
【００４１】
外部メモリアクセス要求部６００は、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）６１０、ＤＭＡＣ６２０、ＤＭＡＣ６３０を含み、各ＤＭＡＣ６１０〜６３０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサを介すことなくデータ転送を行うＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送において、通信の制御を行う専用の集積回路であり、アービタ７００に外部メモリ９００へのメモリアクセス要求を行い、アービタ７００によってメモリアクセスが許可されると、外部メモリ９００へのアクセスを実行する。即ち、本実施形態においては、外部メモリアクセス要求部６００が、ラインデータ転送部として機能する。
【００４２】
本実施形態においては、メモリアクセスには２種類あり、一つは、外部メモリ９００への読取画像データの書き込みであるライトアクセスであり、もう一つは、外部メモリ９００からの読取画像データの読み出しであるリードアクセスである。従って、各ＤＭＡＣ６１０〜６３０がアービタ７００に行うメモリアクセス要求は、外部メモリ９００への読取画像データの書き込みを要求するライトアクセス要求と、部メモリ９００からの読取画像データの読み出しを要求するリードアクセス要求とがある。
【００４３】
本実施形態に係る各ＤＭＡＣ６１０〜６３０はそれぞれ、ラインメモリ４１０〜４３０に格納されているラインデータを外部メモリ９００へ転送するが、その際、格納されているラインデータのデータ量が所定量（本実施形態においては２０４８バイトであるがこれに限らない）に達すると、外部メモリ９００へ転送するように構成されている。
【００４４】
このような構成により、本実施形態に係る画像処理装置１は、ラインメモリ４１０〜４３０の記憶容量がなくなる前に、ラインデータをラインメモリ４１０〜４３０から外部メモリ９００に転送することが可能となる。
【００４５】
尚、このとき、各ＤＭＡＣ６１０〜６３０はそれぞれ、アービタ７００にライトアクセスを要求する際、一つのライトコマンドにより要求するように構成されていても良いし、複数のライトコマンドに分割して要求するように構成されていても良い。後者の構成の場合、内部メモリ４００から外部メモリ９００へのラインデータの転送時に、そのデータ量が大きくメモリ転送帯域がラインデータの転送に占有されてしまう場合に有効となる。これは、外部メモリ９００に対して一度に大量のデータ転送が発生すると、外部メモリ９００への他のアクセス帯域を圧迫することになるためである。
【００４６】
また、各ＤＭＡＣ６１０〜６３０はそれぞれ、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００へラインデータを書き込む際、外部メモリ９００における格納先が連続となるようにアドレスを指定する。
【００４７】
また、本実施形態に係る各ＤＭＡＣ６１０〜６３０はそれぞれ、画像処理モジュール５００による画像処理のタイミングを見計らって、外部メモリ９００に格納されているラインデータをラインメモリ４１０〜４３０に読み出す。その際、各ＤＭＡＣ６１０〜６３０はそれぞれ、読み出すラインデータのデータ量が所定量（本実施形態においては１０２４バイト分であるがこれに限らない）となるようにラインメモリ４１０〜４３０に読み出すように構成されている。
【００４８】
このような構成により、本実施形態に係る画像処理装置１は、ラインメモリ４１０〜４３０の空き容量に格納できる分だけのラインデータを、外部メモリ９００からラインメモリ４１０〜４３０に読み出すことが可能となる。
【００４９】
尚、本実施形態においては、上述したように、各ＤＭＡＣ６１０〜６３０はそれぞれ、画像処理モジュール５００による画像処理のタイミングを見計らって、外部メモリ９００に格納されているラインデータをラインメモリ４１０〜４３０に読み出すように構成されている例について説明するが、ラインメモリ４１０〜４３０に空き容量がある限り、上記タイミングに関係なく読み出すように構成されていても良い。
【００５０】
アービタ７００は、図示しない複数のポートを有し、夫々のポートにＤＭＡＣ６１０、ＤＭＡＣ６２０、ＤＭＡＣ６３０が接続されている。また、アービタ７００には外部メモリ９００が接続されており、夫々のポートに接続されたＤＭＡＣ６１０、ＤＭＡＣ６２０、ＤＭＡＣ６３０からの外部メモリ９００へのメモリアクセス要求を調停してアクセスの順番を制御する。
【００５１】
外部メモリアクセスコントローラ８００は、アービタ７００から転送されてきた読取画像データ（ラインデータ）を一定の周期（ライン周期）で外部メモリ９００に転送するための制御を行う。また、外部メモリアクセスコントローラ８００は、外部メモリ９００に一時的に記憶されている読取画像データ（ラインデータ）をアービタ７００に転送するための制御を行う。即ち、本実施形態においては、外部メモリアクセスコントローラ８００が、第二の記憶制御部として機能する。
【００５２】
外部メモリ９００は、情報の高速な読み書きが可能な不揮発性記憶媒体であり、情報処理が行われる際に作業領域として用いられるメインメモリである。外部メモリ９００は、上述したように、内部メモリ４００を構成するＳＲＡＭ等のメモリより、回路が単純で回路規模が小さく、また、消費電力が小さい上に、単位記憶容量あたりの単価が安価ではあるが、画像処理モジュールからのアクセス速度は遅いメモリ、例えば、ＤＲＡＭ等により構成されている。即ち、本実施形態においては、外部メモリ９００が、第二の記憶媒体として機能する。
【００５３】
また、本実施形態に係る画像処理装置１は上記ハードウェア構成の他、演算手段であり、画像処理装置１全体の動作を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を備える。
【００５４】
このようなハードウェア構成において、ＲＯＭやＨＤＤ３００若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムが外部メモリ９００に読み出され、ＣＰＵが外部メモリ９００にロードされたプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像処理装置１の機能を実現する機能ブロックが構成される。
【００５５】
このような画像処理装置１が複写機として動作する場合、まず、画像処理装置１は、ユーザの操作に基づいてスキャナユニット１００が原稿のスキャンを実行し、ラインデータを生成する。画像処理装置１は、スキャナユニット１００によって生成されたラインデータを、先頭から順番に一旦内部メモリ４００に入力して格納し、内部メモリ４００に所定量が格納された時点で外部メモリ９００に転送して格納する。そして、画像処理装置１は、画像処理に必要となるライン数分のラインデータが外部メモリ９００に格納されると、それらのラインデータを外部メモリ９００から順番に内部メモリ４００に読み出し、内部メモリ４００を介して画像処理モジュール５００に入力する。
【００５６】
画像処理モジュール５００は、画像形成出力用の出力画像データ若しくは保存用の保存画像データを生成するための画像処理を、入力されたラインデータに基づいて実行する。画像処理モジュール５００による画像処理によって生成された画像形成出力用の出力画像データは、プロッタユニット２００に送信される。これにより、プロッタユニット２００において画像形成出力が実行される。また、画像処理モジュール５００による画像処理によって生成された保存用の保存画像データは、ＨＤＤ３００に送信されて格納される。
【００５７】
尚、図１においては、スキャナユニット１００、プロッタユニット２００、ＨＤＤ３００を含み、少なくとも複写機として機能する画像処理装置１を例として説明している。この他、例えばネットワークＩ／Ｆ等を備え、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）から印刷ジョブを受信して画像形成出力を実行するプリンタとしての機能を持たせることも可能である。
【００５８】
また、本実施形態に係る画像処理装置１は、ユーザが画像処理装置１の状態を確認するための視覚的ユーザインタフェースとなるＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）や、キーボードやマウス等、ユーザが画像処理装置１に情報を入力するためのユーザインタフェースとなる操作部を備えるように構成されていても良い。
【００５９】
また、画像処理モジュール５００は、画像処理の種類毎に備えられるように構成されていても良く、このような構成の場合、各画像処理モジュール毎に内部メモリ４００及び外部メモリアクセス要求部６００が備えられる。
【００６０】
次に、本実施形態に係るスキャナユニット１００が読み取る原稿の原稿サイズとラインメモリ４１０〜４３０の記憶容量との関係について、図２を参照して説明する。図２は、本実施形態に係るスキャナユニット１００が読み取る原稿の原稿サイズとラインメモリ４１０〜４３０の記憶容量との関係を説明するための図である。
【００６１】
上述したように、本実施形態に係るスキャナユニット１００は、６００ｄｐｉで、１画素当たり１バイトの画素情報を有する読取画像データをライン単位で生成するように構成されている。そのため、図２に示すように、本実施形態に係るスキャナユニット１００が、Ａ３サイズ（２９７ｍｍ×４２０ｍｍ＝１１．６９３ｉｎｃｈ×１６．５３６ｉｎｃｈ）の原稿を読み取る場合、１ライン当たり７０１６画素が含まれ、そのラインデータのデータ量は７０１６バイトとなる。これは、ラインメモリ４１０〜４３０の記憶容量（８１９２バイト）以下であるため、ラインメモリ４１０〜４３０は、１ライン分全てを格納することが可能となる。
【００６２】
一方、図２に示すように、本実施形態に係るスキャナユニット１００が、Ａ２サイズ（４２０ｍｍ×５９４ｍｍ＝１６．５３６ｉｎｃｈ×２３．３８６ｉｎｃｈ）の原稿を読み取る場合、１ライン当たり９９２２画素が含まれ、そのラインデータのデータ量は９９２２バイトとなる。これは、ラインメモリ４１０〜４３０の記憶容量（８１９２バイト）を超えるため、ラインメモリ４１０〜４３０は、１ライン分全てを格納することができない。即ち、ラインメモリ４１０〜４３０の記憶容量が、９９２２−８１９２＝１７３０バイト分だけ不足することになる。
【００６３】
そこで、本実施形態に係る画像処理装置１は、このような問題を回避するために、生成された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように、外部メモリ９００を用いるように構成されている。
【００６４】
ところが、上述したように、画像処理モジュール５００からのアクセス速度は、ＳＲＡＭ等により構成された内部メモリ４００よりも、ＤＲＡＭ等により構成された外部メモリ９００の方が低速であるため、外部メモリ９００を用いた処理の際には、処理速度が低下してしまい、処理効率が悪くなってしまう。
【００６５】
従って、本実施形態に係る画像処理装置１は、生成された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように外部メモリ９００を用いる場合であっても、処理速度を低下させることなく画像処理を行うことができるように構成されている。
【００６６】
具体的には、本実施形態に係る画像処理装置１は、生成したラインデータを画像処理モジュール５００へ入力する際、生成したラインデータを先頭から順番に一旦内部メモリ４００に入力して格納し、所定量が格納された時点で外部メモリ９００に転送して格納する。そして、本実施形態に係る画像処理装置１は、画像処理に必要となるライン数分のラインデータが外部メモリ９００に格納されると、それらのラインデータを外部メモリ９００から順番に内部メモリ４００に読み出し、内部メモリ４００を介して画像処理モジュール５００に入力する。
【００６７】
このような構成により、本実施形態に係る画像処理装置１は、内部メモリ４００を、上述したような理由により外部メモリ９００を用いる際のアクセス速度の低下を緩衝させるためのバッファメモリとして機能させることができる。
【００６８】
これにより、本実施形態に係る画像処理装置１は、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように外部メモリ９００を用いる場合であっても、処理速度を低下させることなく画像処理を行うことが可能となる。従って、本実施形態に係る画像処理装置１によれば、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させることが可能となる。
【００６９】
次に、本実施形態に係るスキャナユニット１００が生成する読取画像データのデータ構造について、図３及び図４を参照して説明する。図３及び図４は、本実施形態に係るスキャナユニット１００が生成する読取画像データのデータ構造を摸式的に示す図である。尚、図３及び図４に示す領域は、読取画像データのデータ構造を摸式的に示すために、説明の都合上設定した領域であって、読取画像データは実際にはこのように分割されて取り扱われるわけではない。
【００７０】
図３に示すように、本実施形態に係るスキャナユニット１００が生成する読取画像データは、主走査方向に、即ち、各ライン毎に複数の領域に分割されており、図３に示す例においてはその領域数は１０である。
【００７１】
従って、スキャナユニット１００は、スキャナ動作時、「１０１」→「１０２」→・・・→「１０９」→「１１０」、といった順番で原稿を読み取って、その順番で読取画像データを生成する。そして、１ライン目のラインデータの生成が完了すると、同様にして次のラインのラインデータの読み取りを開始する。スキャナユニット１００は、このような動作を全ラインについて行うことにより、即ち、副走査方向に順次行うことにより、原稿１枚分の読み取り動作を完了する。
【００７２】
また、図３に示した各領域は、図４に示すように、１０２４個の画素が主走査方向に配列されて構成されている。従って、図３に示した各領域には、１０２４バイト分の画像情報が含まれていることになる。尚、図４は、図３における「１０１」で表される領域を示している。
【００７３】
このように、図３に示した各領域には、１０２４バイト分の画像情報が含まれるため、各ラインメモリ４１０〜４３０の記憶容量（８１９２バイト）を考慮すると、各ラインメモリ４１０〜４３０には最大で８領域分（８１９２バイト分）だけ記憶することができる。
【００７４】
次に、本実施形態に係る画像処理モジュール５００が行う画像処理について、図５を参照して説明する。図５は、本実施形態に係る画像処理モジュール５００が画像処理を行う様子を示す図である。図５（ａ）に示すように、本実施形態に係る画像処理モジュール５００はまず、１ライン目及び２ライン目のすべてのラインデータが揃い、その上で、３ライン目の５画素目が読み取られて入力された時点で、その中央に位置する注目画素「２０１−０００３」に対する画像処理を実行する。
【００７５】
そして、本実施形態に係る画像処理モジュール５００は、図５（ｂ）に示すように、上記注目画素「２０１−０００３」に対する画像処理が終了して３ライン目の６画素目「３０１−０００６」が読み取られて入力されると、図５（ｃ）に示すように、注目画素「２０１−０００４」に対する画像処理を実行する。
【００７６】
本実施形態に係る画像処理モジュール５００は、このような処理を繰り返すことにより読取画像データに含まれる全画素に対しての画像処理を実行するように構成されている。
【００７７】
尚、本実施形態においては、図５に示したように、３画素×５画素のその中央に位置する画素に対して画像処理を行う例について説明したが、図６に示すように、３画素×５画素のその全てについてまとめて画像処理を行うように構成されていても良いし、もっと多くの画素を含む領域単位で画像処理を行うように構成されていても良い。
【００７８】
このように、本実施形態に係るスキャナユニット１００は、ライン単位で原稿を読み取るため、少なくとも、２ライン分（図５における１ライン目と２ライン目）＋３ライン目における５画素の読み取りが完了するまで、画像処理モジュール５００は、画像処理を行うことができない。
【００７９】
そのため、本実施形態に係るラインメモリ４１０〜４３０は、本来なら、少なくとも、２ライン分（図５における１ライン目と２ライン目）＋３ライン目における５画素の読み取りが完了するまで、ラインデータを記憶しておかなければならないが、本実施形態に係るラインメモリ４１０〜４３０の記憶容量は、８１９２バイトしかないため、それを超えるデータ量を持つラインデータについては記憶することができない。
【００８０】
そこで、本実施形態に係る画像処理装置１は、このような問題を回避するために、生成された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように、外部メモリ９００を用いるように構成されている。
【００８１】
ところが、上述したように、画像処理モジュール５００からのアクセス速度は、ＳＲＡＭ等により構成された内部メモリ４００よりも、ＤＲＡＭ等により構成された外部メモリ９００の方が低速であるため、外部メモリ９００を用いた処理の際には、処理速度が低下してしまい、処理効率が悪くなってしまう。
【００８２】
従って、本実施形態に係る画像処理装置１は、生成された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように外部メモリ９００を用いる場合であっても、処理速度を低下させることなく画像処理を行うことができるように構成されている。
【００８３】
具体的には、本実施形態に係る画像処理装置１は、生成したラインデータを画像処理モジュール５００へ入力する際、生成したラインデータを先頭から順番に一旦内部メモリ４００に入力して格納し、所定量が格納された時点で外部メモリ９００に転送して格納する。そして、本実施形態に係る画像処理装置１は、画像処理に必要となるライン数分のラインデータが外部メモリ９００に格納されると、それらのラインデータを外部メモリ９００から順番に内部メモリ４００に読み出し、内部メモリ４００を介して画像処理モジュール５００に入力する。
【００８４】
このような構成により、本実施形態に係る画像処理装置１は、内部メモリ４００を、上述したような理由により外部メモリ９００を用いる際のアクセス速度の低下を緩衝させるためのバッファメモリとして機能させることができる。
【００８５】
これにより、本実施形態に係る画像処理装置１は、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように外部メモリ９００を用いる場合であっても、処理速度を低下させることなく画像処理を行うことが可能となる。従って、本実施形態に係る画像処理装置１によれば、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させることが可能となる。
【００８６】
次に、本実施形態に係る画像処理装置１が、スキャナユニット１００により原稿を読み取って読取画像データを生成し、生成した読取画像データを画像処理モジュール５００に転送するまでのその読取画像データの流れについて、図７〜１５を参照して説明する。図７〜図１５は、本実施形態に係るスキャナユニット１００によるスキャナ動作時のラインメモリ４１０〜４３０及び外部メモリ９００における読取画像データの記憶状態を示す図である。尚、図７〜１５に示す読取画像データ（ラインデータ）の各領域に付された数字は、図３に示した各領域に対応するものとする。
【００８７】
まず、本実施形態に係る画像処理装置１が、スキャナユニット１００により原稿を読み取って読取画像データを生成し、生成した読取画像データを格納するまでの処理について、図７〜図９を参照して説明する。このときの前提として、図７（ａ）に示すように、ラインメモリ４１０〜４３０はそれぞれ、全記憶領域についてデータを記憶していないものとする。
【００８８】
その前提のもとに、スキャナユニット１００がライン単位で読取画像データの生成を開始すると、図７（ｂ）に示すように、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により生成された「１０１」及び「１０２」に対応する領域分のラインデータをラインメモリ４１０に格納する。
【００８９】
そして、図７（ｃ）に示すように、ＤＭＡＣ６１０は、アービタ７００にライトアクセスを要求して、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００へラインデータ「１０１」及び「１０２」を転送する。これと同時に、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により新たに生成された「１０３」及び「１０４」に対応する領域分のラインデータをラインメモリ４１０に格納する。
【００９０】
尚、このとき、上述したように、メモリアクセス速度は外部メモリ９００よりもラインメモリ４１０の方が速いため、内部メモリアクセスコントローラ５２０からラインメモリ４１０に格納されるラインデータよりも、ラインメモリ４１０から外部メモリ９００に転送されるラインデータの方が少ない。
【００９１】
そして、図７（ｄ）に示すように、ＤＭＡＣ６１０は、アービタ７００にライトアクセスを要求して、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００へラインデータ「１０２」の残り及び「１０３」を転送する。これと同時に、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により新たに生成された「１０５」及び「１０６」に対応する領域分のラインデータをラインメモリ４１０に格納する。
【００９２】
尚、このとき、上記と同様に、メモリアクセス速度は外部メモリ９００よりもラインメモリ４１０の方が速いため、内部メモリアクセスコントローラ５２０からラインメモリ４１０に格納されるラインデータよりも、ラインメモリ４１０から外部メモリ９００に転送されるラインデータの方が少ない。
【００９３】
そして、図８（ａ）〜（ｄ）に示すように、本実施形態に係る画像処理装置１は、このような処理を同じライン（１ライン目）に属する他のラインデータについても同様に行うことにより、１ライン目のラインデータについての読み取りを完了する。その結果、図９（ａ）に示すように、１ライン目のラインデータが全て外部メモリ９００に格納される。
【００９４】
１ライン目のラインデータについての読み取りが完了すると、図９（ｂ）に示すように、本実施形態に係る画像処理装置１は、２ライン目についても同様の処理を行うことにより、その結果、２ライン目のラインデータについても全て外部メモリ９００に格納される。
【００９５】
このようにして、２ライン分（１ライン目＋２ライン目）のラインデータが外部メモリ９００に格納されると、図１０（ａ）に示すように、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により生成された「３０１」、「３０２」、「３０３」の一部に対応する領域分のラインデータをラインメモリ４３０に格納する。これと同時に、ＤＭＡＣ６１０及びＤＭＡＣ６２０は、アービタ７００にリードアクセスを要求して、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００からラインデータ「１０１」及び「２０１」をそれぞれラインメモリ４１０及び４２０に読み出す。
【００９６】
尚、このとき、上述したように、メモリアクセス速度は外部メモリ９００よりもラインメモリ４１０の方が速いため、内部メモリアクセスコントローラ５２０からラインメモリ４３０に格納されるラインデータよりも、外部メモリ９００からラインメモリ４１０及び４２０に読み出されるラインデータの方が少ない。
【００９７】
そして、図１０（ｂ）に示すように、内部メモリアクセスコントローラ５２０は、ラインメモリ４１０〜４３０からそれぞれ、ラインデータ「１０１」、「２０１」、「３０１」を画像処理部５１０に読み出す。これにより、画像処理部５１０は、ラインデータ「１０１」、「２０１」、「３０１」を用いて、「２０１」に対する画像処理を実行することができる。このときの画像処理の様子は、図５、図６に示した通りである。
【００９８】
これと同時に、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により生成された「３０３」の残り及び「３０４」に対応する領域分のラインデータをラインメモリ４３０に格納する。さらに、これと同時に、ＤＭＡＣ６３０は、アービタ７００にライトアクセスを要求して、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００へラインデータ「３０１」を転送する。
【００９９】
このとき、ラインメモリ４１０から画像処理部５１０に読み出されたラインデータ「１０１」、及び、外部メモリ９００からラインメモリ４１０に読み出されたラインデータ「１０１」は今後、画像処理に用いられることはないため、内部メモリアクセスコントローラ５２０の制御によりラインメモリ４１０から削除され、また、外部メモリアクセスコントローラ８００の制御により外部メモリ９００から削除される。
【０１００】
これにより、本実施形態に係る画像処理装置１は、生成された読取画像データに対して画像処理を行う際に、内部メモリ４００の記憶容量が不足することを回避すると共に、外部メモリ９００の記憶領域を効率的に使用することができる。
【０１０１】
また、ラインメモリ４２０から画像処理部５１０に読み出されたラインデータ「２０１」は、４ライン目が画像処理に用いられるまで必要ないので、即ち、ラインデータ「２０１」、「３０１」、「４０１」を用いる画像処理が行われるまで必要ないので、内部メモリアクセスコントローラ５２０の制御によりラインメモリ４２０から削除されるが、外部メモリ９００からは削除されない。これにより、本実施形態に係る画像処理装置１は、生成された読取画像データに対して画像処理を行う際に、内部メモリ４００の記憶容量が不足することを回避することが可能となる。
【０１０２】
そして、図１０（ｃ）に示すように、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により生成された「３０４」の残り、「３０５」、「３０６」に対応する領域分のラインデータをラインメモリ４３０に格納する。これと同時に、ＤＭＡＣ６１０及びＤＭＡＣ６２０は、アービタ７００にリードアクセスを要求して、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００からラインデータ「１０２」及び「２０２」をそれぞれラインメモリ４１０及び４２０に読み出す。
【０１０３】
尚、このとき、上述したように、メモリアクセス速度は外部メモリ９００よりもラインメモリ４１０の方が速いため、内部メモリアクセスコントローラ５２０からラインメモリ４３０に格納されるラインデータよりも、外部メモリ９００からラインメモリ４１０及び４２０に読み出されるラインデータの方が少ない。
【０１０４】
そして、図１０（ｄ）に示すように、内部メモリアクセスコントローラ５２０は、ラインメモリ４１０〜４３０からそれぞれ、ラインデータ「１０２」、「２０２」、「３０３」を画像処理部５１０に読み出す。これにより、画像処理部５１０は、ラインデータ「１０２」、「２０２」、「３０２」を用いて、「２０２」に対する画像処理を実行することができる。このときの画像処理の様子は、図５に示した通りである。
【０１０５】
これと同時に、内部メモリアクセスコントローラ５２０は、スキャナユニット１００により生成された「３０７」に対応する領域分のラインデータをラインメモリ４３０に格納する。さらに、これと同時に、ＤＭＡＣ６３０は、アービタ７００にライトアクセスを要求して、アービタ７００の調停に従った外部メモリアクセスコントローラ８００の制御により外部メモリ９００へラインデータ「３０２」を転送する。
【０１０６】
このとき、上記と同様に、ラインメモリ４１０から画像処理部５１０に読み出されたラインデータ「１０２」、及び、外部メモリ９００からラインメモリ４１０に読み出されたラインデータ「１０２」は今後、画像処理に用いられることはないため、内部メモリアクセスコントローラ５２０の制御によりラインメモリ４１０から削除され、また、外部メモリアクセスコントローラ８００の制御により外部メモリ９００から削除される。
【０１０７】
また、上記と同様に、ラインメモリ４２０から画像処理部５１０に読み出されたラインデータ「２０２」は、４ライン目が画像処理に用いられるまで必要ないので、即ち、ラインデータ「２０２」、「３０２」、「４０２」を用いる画像処理が行われるまで必要ないので、内部メモリアクセスコントローラ５２０の制御によりラインメモリ４２０から削除されるが、外部メモリ９００からは削除されない。
【０１０８】
そして、図１１〜図１４に示すように、本実施形態に係る画像処理装置１は、このような処理を、１ライン目、２ライン目、３ライン目を用いた画像処理が完了するまで行うことにより、２ライン目に対する画像処理が完了する。その結果、図１５に示すように、１ライン目は外部メモリ９００からすべて削除され、２ライン目及び３ライン目のラインデータが全て外部メモリ９００に格納される。
【０１０９】
尚、図１１〜図１５においては、各ＤＭＡＣ６１０〜６３０はそれぞれ、画像処理モジュール５００による画像処理のタイミングを見計らって、外部メモリ９００に格納されているラインデータをラインメモリ４１０〜４３０に読み出すように構成されている例について説明したが、ラインメモリ４１０〜４３０に空き容量がある限り、上記タイミングに関係なく読み出すように構成されていても良い。
【０１１０】
このように、本実施形態に係る画像処理装置１は、ラインデータのデータ量がラインメモリ４１０〜４３０の記憶容量を超える場合、若しくは、ラインメモリ４１０〜４３０の記憶容量が不足するような画像処理を行う場合であっても、外部メモリ９００を使用することでラインメモリ４１０〜４３０の記憶容量に空き領域を作ることができる。この際、本実施形態に係る画像処理装置１は、内部メモリ４００を、外部メモリ９００を用いる際のアクセス速度の低下を緩衝させるためのバッファメモリとして機能させるように構成されている。
【０１１１】
これにより、本実施形態に係る画像処理装置１は、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う際に内部メモリ４００の記憶容量が不足するようなことがないように外部メモリ９００を用いる場合であっても、処理速度を低下させることなく画像処理を行うことが可能となる。従って、本実施形態に係る画像処理装置１によれば、主走査方向にライン毎に読み取られて入力された読取画像データに対して画像処理を行う場合において、処理効率を向上させることが可能となる。
【０１１２】
尚、本実施形態においては、ラインメモリ４１０〜４３０の記憶容量とスキャナユニット１００により生成されたラインデータのデータ量との大小に関係なく、若しくは、ラインメモリ４１０〜４３０の記憶容量が不足するような画像処理を行うか否かに関係なく、外部メモリ９００を使用する例について説明した。この他、スキャナユニット１００により生成されたラインデータのデータ量がラインメモリ４１０〜４３０の記憶容量を超える場合、若しくは、ラインメモリ４１０〜４３０の記憶容量が不足するような画像処理を行う場合にのみ、外部メモリ９００を使用するように構成されていても良い。
【０１１３】
このような場合、画像処理装置１は、図１６に示すように、判断部１０００を備えるように構成される。従って、画像処理装置１は、判断部１０００において、スキャナユニット１００により生成されるラインデータのデータ量がラインメモリ４１０〜４３０の記憶容量を超えるか否かを判断し、若しくは、ラインメモリ４１０〜４３０の記憶容量が不足するような画像処理を行うか否かを判断し、判断結果を外部メモリアクセス要求部６００に通知するように構成される。
【０１１４】
このような構成とすることにより、スキャナユニット１００により生成されたラインデータのデータ量がラインメモリ４１０〜４３０の記憶容量を超える場合、若しくは、ラインメモリ４１０〜４３０の記憶容量が不足するような画像処理を行う場合以外に外部メモリ９００は使用されないので、消費電力のさらなる低減を図ることが可能となる。
【０１１５】
また、本実施形態においては、ＤＲＡＭとＳＲＡＭの２種類のメモリを備える画像処理装置１について説明したが、更に、ＴＣＭ（Ｔｉｇｈｔｌｙ  Ｃｏｕｐｌｅｄ  Ｍｅｍｏｒｙ）等のＳＲＡＭよりも画像処理モジュール５００からの読み込み速度の速いメモリや、ＤＲＡＭよりも読み込み速度の遅いメモリを備える画像処理装置であっても良い。本実施形態において説明した作用効果と同様の作用効果を得ることができる。
【０１１６】
また、本実施形態においては、スキャナを備える画像処理装置について説明したが、これに限らず、ＣＣＤやＣＭＯＳ等のイメージセンサ主走査方向等の特定の方向沿って配置されたリニアイメージセンサが備えられた画像読取装置、例えば、デジタルカメラやカメラ機能付き携帯情報端末等でも同様に適用することが可能である。
【符号の説明】
【０１１７】
１  画像処理装置
１００  スキャナユニット
２００  プロッタユニット
３００  ＨＤＤ
４００  内部メモリ
４１０  ラインメモリ
４２０  ラインメモリ
４３０  ラインメモリ
５００  画像処理モジュール
５１０  画像処理部
５２０  内部メモリアクセスコントローラ
６００  外部メモリアクセス要求部
６１０  ＤＭＡＣ
６２０  ＤＭＡＣ
６３０  ＤＭＡＣ
７００  アービタ
８００  外部メモリアクセスコントローラ
９００  外部メモリ
１０００  設定部
【先行技術文献】
【特許文献】
【０１１８】
【特許文献１】特開２００４−３１２０７３号公報
【図１】
2014179019.tif 000003
【図２】
2014179019.tif 000004
【図３】
2014179019.tif 000005
【図４】
2014179019.tif 000006
【図５】
2014179019.tif 000007
【図６】
2014179019.tif 000008
【図７】
2014179019.tif 000009
【図８】
2014179019.tif 000010
【図９】
2014179019.tif 000011
【図１０】
2014179019.tif 000012
【図１１】
2014179019.tif 000013
【図１２】
2014179019.tif 000014
【図１３】
2014179019.tif 000015
【図１４】
2014179019.tif 000016
【図１５】
2014179019.tif 000017
【図１６】
2014179019.tif 000018