(57)【要約】【課題】画像データを保存する記憶部の容量を低減させつつ、画像データの画質の劣化を防ぐことができるようにする。【解決手段】画像データバッファ１００のバッファサイズを、原稿の一部分をスキャンした画像データを保存し得るサイズとし、そのうえで、本スキャン処理時に、原稿の全部分をスキャンした画像データをライン毎に画像データバッファ１００にライトしながら、先に書き込んだラインの画像データから順に画像データバッファ１００からリードするとともに画像データバッファ１００から消去するようにしたことで、原稿の全部分をスキャンして得られる全ラインの画像データを保存し得るサイズより小容量の画像データバッファ１００を用いながら、原稿の全部分をスキャンして得られる画像データを圧縮することなくバッファリングして本スキャン処理を行うことができる。【選択図】図３
2016046714.tif 000002
【特許請求の範囲】
【請求項１】
原稿の一部分をスキャンして得られた画像データを用いるプレスキャン処理と、当該プレスキャン処理の結果に基づいて原稿の全部分をスキャンして得られた画像データを用いる本スキャン処理とを行う画像処理部と、
プレスキャン処理に必要となる原稿の一部分をスキャンして得られた画像データを保存し得る容量でなるバッファと、
前記バッファへの画像データの書き込み及び読み出しを当該画像データのライン単位で制御する制御部と
を有し、
前記制御部は、
前記プレスキャン処理時に、原稿の一部分をスキャンして得られた画像データを前記バッファに書き込んで保存し、当該バッファに保存した画像データを当該バッファから消去せずに読み出して前記画像処理部へと送り、
前記本スキャン処理時に、前記プレスキャン処理時に前記バッファに保存した画像データをライン順に当該バッファから読み出して前記画像処理部へと送るとともに当該バッファから消去して当該バッファの空き領域を確保し、さらに原稿の残りの部分をスキャンして得られた前記画像データを当該バッファの空き領域にライン順に書き込みながら、先に書き込んだラインの画像データから順に当該バッファから読み出して前記画像処理部へと送るとともに当該バッファから消去していく
ことを特徴とする画像処理装置。
【請求項２】
前記バッファの容量は、
前記プレスキャン処理に必要となる画像データのデータサイズに、前記バッファへの画像データの書き込みに要する時間と前記バッファからの画像データの読み出しに要する時間との差を吸収する為に必要となる容量を足した大きさでなる
請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、
前記バッファ内の画像データの読み出し位置を示すポインタを前記バッファから画像データをライン単位で読み出す度に更新し、前記プレスキャン処理で、前記バッファに保存した画像データの読み出しが完了すると、前記ポインタの位置を当該バッファに保存した画像データの先頭ラインを示す位置に戻す
請求項１に記載の画像処理装置。
【請求項４】
前記画像処理部は、
前記プレスキャン処理で行う画像処理と、前記バッファへの画像データの書き込みに要する時間と前記バッファからの画像データの読み出しに要する時間との差とをもとに前記バッファの容量を決定し、
前記制御部は、
前記画像処理部によって決定された容量の前記バッファを所定のメモリ内に確保する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記プレスキャン処理には、
前記本スキャン処理を行う為の原稿の予備評価を行う画像処理が含まれる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記本スキャン処理には、原稿の背景色を除去する背景色除去処理が含まれ、
前記プレスキャン処理は、前記背景色除去処理を行う為の原稿の背景色の検出を行う
ことを特徴とする請求項５に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものであり、例えば、原稿を読み取って（スキャンして）得られた画像データに画像処理を行う複写機などの画像処理装置に適用して好適なものである。
【背景技術】
【０００２】
従来の画像処理装置は、原稿読取装置から原稿をプレスキャンして得られた画像データが入力されると、この画像データに対して像域分離などの予備評価の為の画像処理を行い、その後、原稿読取装置から原稿を本スキャンして得られた画像データが入力されると、この画像データをメモリに保存する。そして、画像処理装置は、この画像データをメモリから読み出し、この画像データに対してプレスキャン処理の結果に基づいた画像処理を行い、この画像データを出力するようになっている（例えば特許文献１参照）。
【０００３】
このような従来の画像処理装置では、画像データを保存するメモリの容量をできるだけ小さくする為に、画像データを圧縮してメモリに保存し、読み出し後に伸張するようになっている。尚、この場合の圧縮は、不可逆圧縮である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−６９３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、従来の画像処理装置のように、画像データを圧縮すると、圧縮時に画像データの一部が破棄される為、伸張しても圧縮前の画像データを完全に復元することはできない。この為、従来の画像処理装置では、画像データを保存するメモリの容量を小さくできる反面、出力する画像データの画質が非圧縮のものと比べて劣化するという問題を有していた。
【０００６】
本発明は以上の点を考慮したもので、画像データを保存する記憶部の容量を低減させつつ、画像データの画質の劣化を防ぐことができる画像処理装置を提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明においては、原稿の一部分をスキャンして得られた画像データを用いるプレスキャン処理と、当該プレスキャン処理の結果に基づいて原稿の全部分をスキャンして得られた画像データを用いる本スキャン処理とを行う画像処理部と、前記プレスキャン処理に必要となる原稿の一部分をスキャンして得られた画像データを保存し得る容量でなるバッファと、前記バッファへの画像データの書き込み及び読み出しを当該画像データのライン単位で制御する制御部とを有し、前記制御部は、前記プレスキャン処理時に、原稿の一部分をスキャンして得られた画像データを前記バッファに書き込んで保存し、当該バッファに保存した画像データを当該バッファから消去せずに読み出して前記画像処理部へと送り、前記本スキャン処理時に、前記プレスキャン処理時に前記バッファに保存した画像データをライン順に当該バッファから読み出して前記画像処理部へと送るとともに当該バッファから消去して当該バッファの空き領域を確保し、さらに原稿の残りの部分をスキャンして得られた前記画像データを当該バッファの空き領域にライン順に書き込みながら、先に書き込んだラインの画像データから順に当該バッファから読み出して前記画像処理部へと送るとともに当該バッファから消去していくようにした。
【０００８】
こうすることで、本発明では、画像データを保存するバッファの容量を、プレスキャン処理に必要な原稿の一部分をスキャンして得られる画像データを保存し得る容量に抑えることができるので、例えば、バッファの容量を、原稿の全部分をスキャンして得られる画像データを保存し得る容量にする場合と比べて大幅に小さくすることができる。また、本発明では、本スキャン処理を行うときには、画像データをライン順にバッファに書き込みながら、先に書き込んだラインの画像データから順にバッファから読み出してバッファから消去するようにしたことで、原稿の全部分をスキャンして得られる画像データを保存し得る容量よりも小さい容量のバッファを用いながらも、原稿をスキャンして得られる全ラインの画像データを圧縮することなくバッファリングして本スキャン処理を行うことができる。
【発明の効果】
【０００９】
本発明によれば、バッファの容量を、原稿の全部分をスキャンして得られる画像データを保存し得る容量にする場合と比べて大幅に小さくすることができ、且つこのような小容量のバッファを用いながらも、原稿をスキャンして得られる全ラインの画像データを圧縮することなくバッファリングして本スキャン処理を行うことができる。かくしてバッファとして利用される記憶部の容量を低減させつつ、画像データの画質の劣化を防ぐことができる画像処理装置を実現できる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の機能構成を示すブロック図である。
【図２】画像データバッファの構成を示す略線図である。
【図３】スキャン処理の手順を示すフローチャートである。
【図４】プレスキャン処理時の画像データバッファに対するリード及びライトの説明に供する略線図である。
【図５】本スキャン処理時の画像データバッファに対するリード及びライトの説明に供する略線図である。
【発明を実施するための形態】
【００１１】
以下、発明を実施するための形態（以下、これを実施の形態と呼ぶ）について、図面を用いて詳細に説明する。
【００１２】
［１．画像処理装置の機能構成］
図１に、本実施の形態による画像処理装置１の機能構成を示す。この図１は、画像処理装置１の機能ごとのブロックを示す図である。画像処理装置１は、画像入力Ｉ／Ｆ（Interface）２と、画像処理部３と、ライトＤＭＡ（Direct  Memory  Access）コントローラ４と、画像データバッファ制御部５と、リードＤＭＡコントローラ６と、背景除去部７と、画像処理部８と、ライトＤＭＡコントローラ９と、リードＤＭＡコントローラ１０と、画像出力Ｉ／Ｆ１１と、共通バス１２と、メモリ１３と、ＣＰＵ１４とで構成される。
【００１３】
ＣＰＵ１４は、この画像処理装置１の全体を制御する。ライトＤＭＡコントローラ４、リードＤＭＡコントローラ６、ライトＤＭＡコントローラ９及びリードＤＭＡコントローラ１０は、共通バス１２を介してメモリ１３にアクセスでき、メモリ１３へのデータのライト（書き込み）及びリード（読み出し）を実施する。画像入力Ｉ／Ｆ２は、スキャナなどで構成される画像読取装置２０と接続するインタフェースであり、画像出力Ｉ／Ｆ１１は、プリンタなどの画像出力装置２１と接続するインタフェースである。
【００１４】
画像入力Ｉ／Ｆ２は、画像読取装置２０から原稿をスキャンして得られた画像データが入力されると、これを画像処理部３に送る。画像処理部３は、画像読取装置２０の特性に関連するシェーディング補正、色補正、ガンマ補正などの補正処理を画像データに対して行う。尚、この補正処理には、画像データのデータ量を削減する為の圧縮処理は含まれない。そして、画像処理部３は、補正処理後の画像データをライトＤＭＡコントローラ４に送る。
【００１５】
ライトＤＭＡコントローラ４は、画像データを、共通バス１２を介してメモリ１３にライトする。尚、画像入力Ｉ／Ｆ２には、画像読取装置２０から原稿をラインスキャンして得られた画像データがライン毎に入力されるようになっていて、ライトＤＭＡコントローラ４は、画像データをライン毎にライン順にメモリ１３にライトするようになっている。また、このライトＤＭＡコントローラ４は、画像データバッファ制御部５からメモリ管理情報Ｍｄを受け取る一方で、ライト情報Ｗｄを画像データバッファ制御部５に送る。尚、メモリ管理情報Ｍｄ及びライト情報Ｗｄについて詳しくは後述する。
【００１６】
リードＤＭＡコントローラ６は、ライトＤＭＡコントローラ４によってメモリ１３にライトされた画像データを、共通バス１２を介して、ライン毎にライン順にメモリ１３からリードして背景除去部７に送る。また、このリードＤＭＡコントローラ６は、画像データバッファ制御部５からメモリ管理情報Ｍｄを受け取る一方で、リード情報Ｒｄを画像データバッファ制御部５に送る。尚、リード情報Ｒｄについて詳しくは後述する。
【００１７】
背景除去部７は、画像データに対して背景除去処理を行う。背景除去処理とは、画像データから原稿の背景色（用紙色）を検出してこれを除去する画像処理であり、背景除去処理を行うことで、原稿から背景汚れや裏写りなどを取り除いた画像データを得ることができる。このような背景除去処理のアルゴリズムとしては、例えば、原稿の一部分をスキャンして得られた画像データを構成する画素群の明度ヒストグラムから最多度数の明度を背景除去レベルとして設定し、この背景除去レベル以上の明度を有する画素を背景色として除去する手法が知られている。背景除去部７も、このようなアルゴリズムの背景除去処理を行うようになっていて、背景除去処理後の画像データを、画像処理部８に送る。また、背景除去部７は、バッファ構成情報Ｂｄを画像データバッファ制御部５に送る。尚、バッファ構成情報Ｂｄについて詳しくは後述する。
【００１８】
画像処理部８は、例えば、像域分離、解像度変換、色変換などの画像処理を画像データに対して行う。この画像処理では、例えば、ユーザによって低解像度への変換が設定されている場合に、画像データのデータ量が削減される場合がある。画像処理部８は、画像処理後の画像データをライトＤＭＡコントローラ９に送る。ライトＤＭＡコントローラ９は、画像データを、共通バス１２を介してメモリ１３にライトする。リードＤＭＡコントローラ１０は、ライトＤＭＡコントローラ９によってメモリ１３にライトされた画像データを、共通バス１２を介してメモリ１３からリードして画像出力Ｉ／Ｆ１１に送る。画像出力Ｉ／Ｆ１１は、一連の画像処理が施された画像データを、画像出力装置２１に出力する。
【００１９】
画像処理装置１の機能構成はこのような構成となっている。実際、この画像処理装置１は、画像読取装置２０から入力される原稿の一部分をスキャンして得られた画像データを用いてプレスキャン処理を実行した後、画像読取装置２０から入力される原稿の全部分をスキャンして得られた画像データを用いて本スキャン処理を実行し、本スキャン処理後の画像データを画像出力装置２１に出力するようになっている。尚、プレスキャン処理及び本スキャン処理について詳しくは後述するが、簡単に説明すると、本スキャン処理は、原稿の全部分の画像データを得て、この画像データに背景除去処理などを実施する処理であり、プレスキャン処理は、原稿の一部分の画像データを得て、この画像データをもとに背景除去処理を行う為に必要な予備評価を行う処理である。
【００２０】
尚、メモリ１３には、ライトＤＭＡコントローラ４及びリードＤＭＡコントローラ６がアクセスする領域である画像データバッファと、ライトＤＭＡコントローラ９及びリードＤＭＡコントローラ１０がアクセスする領域である画像データバッファとが別々に確保され、ライトＤＭＡコントローラ４及びリードＤＭＡコントローラ６と、ライトＤＭＡコントローラ９及びリードＤＭＡコントローラ６は、画像データバッファ制御部５の制御に従って、それぞれの画像データバッファにアクセスするようになっている。
【００２１】
ここで、図２を用いて、ライトＤＭＡコントローラ４及びリードＤＭＡコントローラ６がアクセスする画像データバッファ１００について説明する。画像データバッファ１００は、複数の連続するライン格納領域１０１で構成され、各ライン格納領域１０１は、１ライン分の画像データを格納し得るサイズとなっている。図２に示す画像データバッファ１００は、一例として、０番〜１５番までの１６個の連続するライン格納領域１０１で構成され、１６ライン分のバッファサイズ（容量）となっている。
【００２２】
また、この画像データバッファ１００は、最終（１５番）のライン格納領域１０１の次のライン格納領域１０１が先頭（０番）のライン格納領域１０１となるように、所謂リングバッファとして管理される。
【００２３】
この画像データバッファ１００のバッファサイズは、背景除去部７によって決定される。具体的に、背景除去部７は、プレスキャン処理時に、背景色を検出する為に必要なライン数を、画像読取装置２０から入力される画像データの解像度に基づいて設定するようになっている。実際、原稿１頁を、例えば縦７０画素×横７０画素の解像度でスキャンする場合、スキャンして得られる画像データは、横７０画素を１ラインとする７０ライン分の画像データとなる。背景色の検出には、例えば、全体の１０分１程度のラインが必要となる為、この場合、背景色の検出に必要なライン数は例えば「７」となる。背景除去部７は、このようにして、背景色の検出に必要なライン数を設定する。
【００２４】
画像処理装置１では、このようにして設定されたライン数（例えば７ライン分）の画像データを、プレスキャン処理時にメモリ１３にライトして本スキャン処理時まで保存するようになっている。この為、画像データバッファ１００のバッファサイズは、背景色の検出に必要なライン数（例えば７ライン分）以上のサイズが必要となる。尚、背景色の検出に必要な画像データのサイズ（すなわちプレスキャン処理に必要な画像データのサイズ）をプレスキャンデータサイズと呼び、画像データバッファ１００のバッファサイズは、このプレスキャンデータサイズ以上にする必要がある。
【００２５】
さらに、画像処理装置１では、画像データをライン毎に画像データバッファ１００にライトしながら、先にライトした画像データから順にライン毎に画像データバッファ１００からリードする所謂先入れ先出し方式で画像データのライト及びリードを実施するようになっている。この場合、画像データバッファ１００上のライト位置とリード位置とが衝突しないようにする為には、画像データバッファ１００に画像データをライトするのに要する時間（これをライト時間と呼ぶ）と画像データバッファ１００から画像データをリードするのに要する時間（これをリード時間と呼ぶ）の差を吸収する為のライン格納領域１０１が、プレスキャンデータサイズ分のライン格納領域１０１とは別に必要となる。
【００２６】
実際、画像処理装置１の場合、ライト時間は、例えば、画像読取装置２０から画像入力Ｉ／Ｆ２へ画像データが入力される速度（これを入力速度と呼ぶ）と、入力される画像データのデータ量に依存する。また、リード時間は、例えば、画像出力Ｉ／Ｆ１１から画像出力装置２１へ画像データが出力される速度（これを出力速度と呼ぶ）と、出力される画像データのデータ量に依存する。
【００２７】
ゆえに、背景除去部７では、入力速度と入力される画像データのデータ量からライト時間を得るとともに、出力速度と出力される画像データのデータ量からリード時間を得て、別途必要となるライン格納領域１０１の数を、ライト時間とリード時間との差に応じた数に設定するようになっている。具体的には、例えば、背景除去部７の内部に、ライト時間とリード時間との差と、この差に対応する別途必要となるライン格納領域１０１の数とを記したデータを保持するようにして、背景除去部７がこのデータを参照することで、別途必要となるライン格納領域１０１の数を、ライト時間とリード時間との差に応じた数に設定するようにすればよい。尚、画像処理装置１は、そもそも入力速度と出力速度の差が開きすぎないよう動作する為、別途必要となるライン格納領域１０１の数は、多くても、プレスキャンデータサイズの３、４倍に収まるようになっている。
【００２８】
このようにして、背景除去部７は、別途必要となるライン格納領域１０１の数を例えば「９」に設定して、最終的に、画像データバッファ１００のバッファサイズを、７ライン分のプレスキャンデータサイズに９ライン分を追加してなる１６ライン分のサイズに決定する。原稿１頁の全ラインの画像データを保存する為に必要なバッファサイズは例えば７０ライン分となるので、背景除去部７によって決定される画像データバッファ１００のバッファサイズ（１６ライン分）は、原稿１頁の全ラインの画像データを保存する場合と比べて１／４程度のサイズとなる。
【００２９】
背景除去部７は、このようにして決定した画像データバッファ１００のバッファサイズを、バッファ構成情報Ｂｄとして画像データバッファ制御部５に送る。尚、このバッファ構成情報Ｂｄには、プレスキャンデータサイズも記されているとする。そして、画像データバッファ制御部５は、メモリ１３上に、バッファ構成情報Ｂｄに記されているバッファサイズの画像データバッファ１００を確保する。このとき、１６個のライン格納領域１０１のうち、０番〜６番までの７個のライン格納領域１０１が、プレスキャンデータサイズとなり、この７個のライン格納領域１０１が、背景色の検出に必要な７ライン分の画像データを格納する領域となる。
【００３０】
画像データバッファ制御部５は、ライン格納領域１０１毎のデータの有無を示す状態ビットＳｂと、現在のライト位置を示すライトポインタＷｐと、現在のリード位置を示すリードポインタＲｐとによって、画像データバッファ１００を管理する。これら状態ビットＳｂ、ライトポインタＷｐ及びリードポインタＲｐは、画像データバッファ制御部５の内部に保持される。
【００３１】
状態ビットＳｂは、「０」であれば、ライン格納領域１０１に画像データが格納されていないことを表し、「１」であれば、ライン格納領域１０１に画像データが格納されていることを表す。状態ビットＳｂが「０」のライン格納領域１０１には、画像データが格納されていないので、ライトＤＭＡコントローラ４はこのライン格納領域１０１に画像データをライトできる。一方で、リードＤＭＡコントローラ６はこのライン格納領域１０１から画像データをリードすることはできない。状態ビットＳｂが「０」のライン格納領域１０１に、ライトＤＭＡコントローラ４が画像データをライトすると、このライン格納領域１０１の状態ビットは「０」から「１」に更新される。
【００３２】
状態ビットＳｂが「１」のライン格納領域１０１には、画像データが格納されているので、ライトＤＭＡコントローラ４はこのライン格納領域１０１に画像データをライトすることはできない。一方で、リードＤＭＡコントローラ６はこのライン格納領域１０１から画像データをリードすることができる。状態ビットＳｂが「１」のライン格納領域１０１から、ライトＤＭＡコントローラ４が画像データをリードすると、このライン格納領域１０１の状態ビットは「１」から「０」に更新され、このライン格納領域１０１から画像データが消去される。
【００３３】
尚、画像処理装置１では、プレスキャン処理時に、０番〜６番までの７個のライン格納領域１０１に、背景色の検出に必要な７ライン分の画像データをライトし、これをリードして背景除去部７に送るようになっていて、且つこの７ライン分の画像データを、本スキャン処理時まで保存しなくてはならない。この為、画像処理装置１では、プレスキャン処理時には、状態ビットＳｂが「１」のライン格納領域１０１から画像データをリードしても、このライン格納領域１０１から画像データを消去せずに状態ビットを「１」のまま維持するようになっている。
【００３４】
ライトポインタＷｐは、ライトＤＭＡコントローラ４が次にライトすべきライン格納領域１０１を指し示す。このライトポインタＷｐは、指し示しているライン格納領域１０１へのライトＤＭＡコントローラ４によるライトが完了すると、次のライン格納領域１０１へと移り、最終（１５番）のライン格納領域へのライトが完了すると、先頭（０番）のライン格納領域１０１へと戻るようになっている。尚、ライトＤＭＡコントローラ４は、ライン格納領域１０１へのライトが完了すると、その都度、ライトが完了したライン格納領域１０１を示すライト情報Ｗｄを、画像データバッファ制御部５に送るようになっている。これにより、画像データバッファ制御部５は、画像データバッファ１００のどのライン格納領域１０１まで画像データがライトされているかをライト情報Ｗｄから知ることができる。
【００３５】
リードポインタＲｐは、リードＤＭＡコントローラ６が次にリードすべきライン格納領域１０１を指し示す。このリードポインタＲｐは、指し示しているライン格納領域１０１からのリードＤＭＡコントローラ６によるリードが完了すると、次のライン格納領域１０１へと移り、最終（１５番）のライン格納領域からのリードが完了すると、先頭（０番）のライン格納領域１０１へと戻るようになっている。尚、リードＤＭＡコントローラ６は、ライン格納領域１０１からのリードが完了すると、その都度、リードが完了したライン格納領域１０１を示すリード情報Ｒｄを、画像データバッファ制御部５に送るようになっている。これにより、画像データバッファ制御部５は、画像データバッファ１００のどのライン格納領域１０１まで画像データがリードされているかをリード情報Ｒｄから知ることができる。
【００３６】
画像データバッファ制御部５は、ライト情報Ｗｄ及びリード情報Ｒｄに基づいて、画像データバッファ１００の各ライン格納領域１０１の状態ビットＳｂと、ライトポインタＷｐ及びリードポインタＲｐを更新する。状態ビットＳｂとライトポインタＷｐは、メモリ管理情報Ｍｄとして、画像データバッファ制御部５からライトＤＭＡコントローラ４へと送られる。ライトＤＭＡコントローラ４は、このメモリ管理情報Ｍｄをもとに、画像データバッファ１００のどのライン格納領域１０１にライトすべきかを判別するようになっている。また、状態ビットＳｂとリードポインタＲｐは、メモリ管理情報Ｍｄとして、画像データバッファ制御部５からリードＤＭＡコントローラ６へと送られる。リードＤＭＡコントローラ６は、このメモリ管理情報Ｍｄをもとに、画像データバッファ１００のどのライン格納領域１０１からリードすべきかを判別するようになっている。
【００３７】
［２．画像処理装置によるスキャン処理］
次に、図３に示すフローチャートを用いて、プレスキャン処理と本スキャン処理からなるスキャン処理の手順について説明する。尚、このスキャン処理は、ＣＰＵ１４が画像処理装置１の各機能部と協働して行う処理であり、図３に示すステップＳＰ１〜ＳＰ４の処理がプレスキャン処理、ステップＳＰ５〜ＳＰ７の処理が本スキャン処理となっている。
【００３８】
スキャン処理を開始すると、まずステップＳＰ１において、背景除去部７が、プレスキャンデータサイズと画像データバッファ１００のバッファサイズとを決定する。ここでは、一例として、背景除去部７が、プレスキャンデータサイズを、７ライン分のサイズに決定して、さらに画像データバッファサイズを、プレスキャンデータサイズ＋９ライン分の計１６ライン分のサイズに決定する。そして、背景除去部７は、このようにして決定したプレスキャンデータサイズと画像データバッファ１００のバッファサイズとを示すバッファ構成情報Ｂｄを画像データバッファ制御部５に送る。画像データバッファ制御部５は、このバッファ構成情報Ｂｄをもとに、７ライン分のプレスキャンデータサイズ＋９ライン分の計１６ライン分のサイズでなる画像データバッファ１００を、メモリ１３上に確保する。
【００３９】
このときの画像データバッファ１００と、各ライン格納領域１０１の状態ビットＳｂの値、ライトポインタＷｐ及びリードポインタＲｐの位置を、図４（Ａ）に示す。この時点では、まだ画像データバッファ１００に画像データがライトされていないので、全てのライン格納領域１０１の状態ビットＳｂの値は「０」であり、ライトポインタＷｐとリードポインタＲｐは、ともに先頭（０番）のライン格納領域１０１を指し示している。
【００４０】
つづくステップＳＰ２において、画像読取装置２０から画像入力Ｉ／Ｆ２への画像データの入力を開始する。このとき、画像入力Ｉ／Ｆ２には、原稿をスキャンして得られた画像データが先頭ラインから順に入力され、画像処理部３で補正処理が行われた後、ライトＤＭＡコントローラ４によって画像データバッファ１００に先頭ラインから順にライン毎にライトされていく。さらに、このようにして、画像データバッファ１００にライトされた画像データは、リードＤＭＡコントローラ６によって先頭ラインから順にライン毎にリードされ、背景除去部７に送られる。
【００４１】
ここで、画像データバッファ１００の０番から６番のライン格納領域１０１まで画像データのライトが完了して、且つ０番から２番のライン格納領域１０１まで画像データのリードが完了して３番のライン格納領域１０１から画像データをリード中であるとする。尚、画像データのリードは、画像データのライトと同時に開始されるのではなく、数ライン分のライトが完了してから開始されるようになっている。
【００４２】
このとき、図４（Ｂ）に示すように、ライトポインタＷｐはライトが完了した６番の次の７番のライン格納領域１０１を指し示し、リードポインタＲｐはリード中の３番のライン格納領域１０１を指し示している。また、プレスキャン処理時には、ライトした画像データをリードしても画像データバッファ１００から消去しないようになっている為、リード位置に関係なく、ライトが完了している０番から６番までのライン格納領域１０１の状態ビットＳｂが「１」で、７番から１５番までの状態ビットＳｂが「０」となっている。この時点で、画像データバッファ１００には、原稿の一部分をスキャンして得られたプレスキャンデータサイズ分の画像データがライトされたことになる。
【００４３】
つづくステップＳＰ３において、画像データバッファ制御部５は、プレスキャンデータサイズ分の画像データのリードが完了するまで、ライトＤＭＡコントローラ４及びリードＤＭＡコントローラ６に画像データのライトとリードを継続させる。
【００４４】
そして、画像データバッファ１００の６番のライン格納領域１０１まで画像データのリードが完了して、プレスキャンデータサイズ分の画像データのリードが完了したとする。このとき、背景除去部７には、プレスキャンデータサイズ分の画像データ、すなわち背景色の検出に必要な７ライン分の画像データが送られたことになる。また、このとき、画像データのライトは、例えば１０番のライン格納領域１０１まで完了しているとする。
【００４５】
このとき、図４（Ｃ）に示すように、ライトポインタＷｐはライトが完了した１０番の次の１１番のライン格納領域１０１を指し示し、リードポインタＲｐはリードが完了した６番の次の７番のライン格納領域１０１を指し示している。また、ライトが完了している０番から１０番までのライン格納領域１０１の状態ビットＳｂが「１」で、１１番から１５番までの状態ビットＳｂが「０」となっている。
【００４６】
このようにして、プレスキャンデータサイズ分の画像データのリードが完了して、背景除去部７に背景色の検出に必要な７ライン分の画像データが送られると、つづくステップＳＰ４において、背景除去部７が、この７ライン分の画像データから原稿の背景色を検出して、この背景色をもとに、本スキャン処理で背景除去処理を行うときに必要な背景除去処理パラメータを決定する。
【００４７】
このように、ステップＳＰ１からこのステップＳＰ４までのプレスキャン処理では、原稿の一部分をスキャンして得られたプレスキャンデータサイズ分（７ライン分）の画像データを圧縮せずに画像データバッファ１００を介して背景除去部７に送り、背景除去部７によって背景除去処理パラメータを決定するようになっている。
【００４８】
つづくステップＳＰ５において、画像データバッファ制御部５は、図５（Ａ）に示すように、リードポインタＲｐを一旦先頭（０番）のライン格納領域１０１まで戻すことで、画像データバッファ１００にライトされた画像データを、リードＤＭＡコントローラ６によって、再度、先頭ラインからリードさせる。
【００４９】
一方で、画像データバッファ１００への画像データのライトは、プレスキャン処理から継続して行われる。実際、プレスキャン処理時に、原稿をスキャンして得られた先頭ラインから１１番目のラインまでの画像データが、既に０番から１０番のライン格納領域１０１にライトされているので、ここでは、１２番目のラインから最終ラインまでの画像データが、１１番のライン格納領域１０１から順にライトされていく。
【００５０】
また、本スキャン処理では、プレスキャン処理のときとは異なり、プレスキャン処理時にライトされた画像データ（すなわち原稿１頁の一部分をスキャンして得られる先頭ラインから１１番目のラインまでの画像データ）をリードするとともに、残りの画像データ（すなわち原稿1頁の残りの部分をスキャンして得られる１２番目のラインから最終ラインまでの画像データ）を順次、画像データバッファ１００にライトしながらリードしていく必要がある為、画像データがライトされたライン格納領域１０１から画像データがリードされると、このライン格納領域１０１の状態ビットを「１」から「０」に更新して順次ライン格納領域１０１に格納されている画像データを消去するようになっている。リードＤＭＡコントローラ６によって画像データバッファ１００からリードされた画像データは、順次、背景除去部７に送られる。
【００５１】
ここで、画像データバッファ１００の０番から１２番のライン格納領域１０１まで画像データのライトが完了して、且つ０番から１番のライン格納領域１０１まで画像データのリードが完了したとする。
【００５２】
このとき、図５（Ｂ）に示すように、ライトポインタＷｐはライトが完了した１２番の次の１３番のライン格納領域１０１を指し示し、リードポインタＲｐはリードが完了した１番の次の２番のライン格納領域１０１を指し示している。また、ライトされていない１３番から１５番までのライン格納領域１０１の状態ビットＳｂと、ライトが完了した０番から１２番までのライン格納領域１０１のうち、リードが完了した０番から１番までのライン格納領域１０１の状態ビットＳｂとが「０」で、ライトが完了して且つまだリードされていない２番から１２番までの状態ビットＳｂが「１」となっている。
【００５３】
その後、図５（Ｃ）に示すように、画像データバッファ１００の最終（１５番）のライン格納領域１０１まで画像データのライトが完了すると、画像データバッファ制御部５は、ライトポインタＷｐを、画像データバッファ１００の先頭（０番）のライン格納領域１０１に移す。また、図示しないが、画像データバッファ制御部５は、リードポインタＲｐについても、画像データバッファ１００の最終（１５番）のライン格納領域１０１まで画像データのリードが完了すると、画像データバッファ１００の先頭（０番）のライン格納領域１０１に移すようになっている。
【００５４】
このように画像データバッファ制御部５は、画像データバッファ１００をリングバッファとして機能させて、原稿１頁の全部分をスキャンして得られる全ラインの画像データのリードが完了するまで、ライトＤＭＡコントローラ４及びリードＤＭＡコントローラ６に画像データのライトとリードを継続させる。
【００５５】
つづくステップＳＰ６において、背景除去部７は、プレスキャン処理時に決定した背景除去処理パラメータに基づいて、ライン単位で順次送られてくる画像データに対して背景除去処理を行う。背景除去処理後の画像データは、画像処理部８へ送られ、所定の画像処理が行われた後、ライトＤＭＡコントローラ９へと送られる。ライトＤＭＡコントローラ９は、画像処理部８から送られてくる画像データを、メモリ１３の画像データバッファ１００とは別に確保された画像データバッファにライン毎にライトしていく。
【００５６】
つづくステップＳＰ７において、リードＤＭＡコントローラ１０が、ライトＤＭＡコントローラ９によってメモリ１３にライトされた画像データをライン毎にリードして、これを画像出力Ｉ／Ｆ１１に送り、画像出力Ｉ／Ｆ１１を介して画像出力装置２１に出力する。
【００５７】
尚、ステップＳＰ５、ＳＰ６、ＳＰ７の処理は同時並行で行われる。つまり、ステップＳＰ５で、画像データバッファ１００に対する画像データのライトとリードをライン単位で実施しながら、ステップＳＰ６で、画像データバッファ１００からリードされた画像データに対してライン単位で背景除去処理を行い、さらにステップＳＰ７で、背景除去処理後の画像データをメモリ１３を介してライン単位で出力するようになっている。そして、画像処理装置１は、原稿１頁分の全ラインの画像データの出力が完了するまで、ステップＳＰ５からステップＳＰ７までの処理を継続する。
【００５８】
このように、ステップＳＰ５からステップＳＰ７までの本スキャン処理では、原稿１頁分の全ラインの画像データを画像データバッファ１００にバッファリングして背景除去部７に送り、背景除去部７によって背景除去処理パラメータに基づく背景処理が行われた後、これを画像出力装置２１に出力するようになっている。
【００５９】
尚、上述の本スキャン処理では、背景除去処理後の画像データを、メモリ１３に確保された画像データバッファ１００とは別の画像データバッファにライトするようにしたが、この画像データバッファのバッファサイズは、例えば、原稿１頁分の全ライン（例えば７０ライン）の画像データを保存し得るサイズとする。これは、例えば、出力が失敗したときなどに、再度、この画像データバッファから画像データをリードして再出力できるようにする為である。
【００６０】
［３．まとめと効果］
上述したように、画像処理装置１は、プレスキャン処理を開始すると、まず画像データを保存する為の画像データバッファ１００のバッファサイズを、原稿の背景色を検出する際に必要となる原稿の一部分をスキャンして得られる画像データを保存し得るサイズに設定する。
【００６１】
そして、画像処理装置１は、画像読取装置２０から入力される原稿の一部分をスキャンして得られる画像データを画像データバッファ１００にライトし、この画像データを画像データバッファ１００に残したままリードして背景除去部７に送り、この画像データをもとに原稿の背景色を検出して背景除去処理パラメータを設定する。
【００６２】
その後、画像処理装置１は、本スキャンを開始する。このとき、画像処理装置１は、画像データバッファ１００に保存されているプレスキャン処理時にライトされた数ライン分の画像データを、先頭ラインからライン毎にリードして背景除去部７に送るとともに、画像データバッファ１００の空き領域を確保する為に、リードした画像データを画像データバッファ１００から削除していく。さらに、画像処理装置１は、画像読取装置２０から入力される、プレスキャン処理時にライトされたラインにつづく残りのラインの画像データをライン毎に画像データバッファ１００の空き領域にライトするとともに、ライトした画像データを画像データバッファ１００からリードして背景除去部７に送る。
【００６３】
そして、画像処理装置１は、背景除去部７に送られてくる画像データに対して、プレスキャン処理で設定した背景除去処理パラメータを用いた背景除去処理を行い、背景除去処理後の画像データを画像出力装置２１へと出力する。
【００６４】
このように、画像処理装置１では、画像データバッファ１００のバッファサイズを、プレスキャン処理で必要となるサイズ、すなわち原稿の一部分をスキャンした画像データを保存し得るサイズに抑えることができるので、例えば、原稿の全部分をスキャンした画像データを保存し得るサイズを確保する場合と比べて、画像データバッファ１００のバッファサイズを小さくすることができる。
【００６５】
そのうえで、画像処理装置１では、本スキャン処理時に、原稿の全部分をスキャンした画像データをライン毎に画像データバッファ１００にライトしながら、先に書き込んだラインの画像データから順に画像データバッファ１００からリードするとともに画像データバッファ１００から消去するようにしたことで、原稿の全部分をスキャンして得られる全ラインの画像データを保存し得るサイズより小容量の画像データバッファ１００を用いながら、原稿の全部分をスキャンして得られる画像データを圧縮することなくバッファリングして本スキャン処理を行うことができる。
【００６６】
かくして、画像処理装置１では、原稿の全部分をスキャンして得られる画像データを保存し得るサイズの画像データバッファ１００を用意する場合と比べて、画像データバッファ１００のバッファサイズを大幅に小さくすることができ、且つこの小容量の画像データバッファ１００を用いて、原稿の全部分をスキャンして得られる画像データを圧縮することなくバッファリングして背景除去部７に送ることができるので、画像データを保存する画像データバッファの容量を低減させつつ、画像データの画質劣化を防ぐことができる。
【００６７】
尚、画像データバッファ１００のバッファサイズを低減させることができるということは、この画像データバッファ１００として利用するメモリ１３の容量も低減させることができることを意味する。
【００６８】
くわえて、画像処理装置１では、プレスキャン処理時に画像データバッファ１００にライトした画像データ（すなわちプレスキャン処理に必要な画像データ）については、プレスキャン処理時に画像データバッファ１００からリードしても消去せず、本スキャン処理時に再リードするようにした。
【００６９】
こうすることで、例えば、本スキャン処理時には、プレスキャン処理時にライトされたラインの画像データを画像データバッファ１００からリードして、プレスキャン処理時にライトされたラインにつづくラインの画像データから画像データバッファ１００にライトすることができるので、本スキャン処理時に、全ラインの画像データを再度先頭ラインから画像データバッファ１００にライトしてリードする場合と比べて、本スキャン処理に要する時間を短縮できる。
【００７０】
［４．他の実施の形態］
［４−１．他の実施の形態１］
尚、上述した実施の形態では、背景除去部７による背景除去処理及び画像処理部８による画像処理を行った画像データを、画像出力Ｉ／Ｆ１１を介してプリンタなどの画像出力装置２１に出力するようにした。これに限らず、例えば、画像処理装置１の画像出力Ｉ／Ｆ１１に、ＵＳＢ（Universal  Sirial  Bus）メモリなどの外部記憶装置を接続するようにして、背景除去部７による背景除去処理及び画像処理部８による画像処理を行った画像データを、画像出力Ｉ／Ｆ１１を介して外部記憶装置に出力して記憶させるようにしてもよい。また、これら以外の装置に出力するようにしてもよい。
【００７１】
さらに、上述した実施の形態では、画像処理部８による画像処理を行った画像データを、メモリ１３上に画像データバッファ１００とは別に確保された画像データバッファにバッファリングして出力するようにしたが、これに限らず、例えば、画像処理部８による画像処理を行った画像データを、そのまま画像出力Ｉ／Ｆ１１を介して画像出力装置２１に出力するようにしてもよい。さらに、画像出力Ｉ／Ｆ１１に外部記憶装置を接続するようにして、画像処理部８による画像処理を行った画像データを、そのまま画像出力Ｉ／Ｆ１１を介して外部記憶装置に出力して記憶させるようにしてもよい。さらに、これら以外の装置にそのまま出力するようにしてもよい。
【００７２】
［４−２．他の実施の形態２］
また、上述した実施の形態では、原稿からスキャンして得られた画像データを画像データバッファ１００に１ライン毎にライトして、画像データバッファ１００から１ライン毎にリードするようにした。これに限らず、画像データを複数ライン毎にライト及びリードするようにしてもよい。また、ライトは１ライン毎に、リードは２ライン毎になどというように、ライトする単位とリードする単位を変えるようにしてもよい。この場合も、画像データバッファ１００に対するリード位置がライト位置に追い付くことのないよう、背景除去部７が、画像データバッファ１００のバッファサイズを決定するようにすればよい。
【００７３】
［４−３．他の実施の形態３］
さらに、上述した実施の形態では、本スキャン処理で背景除去処理を行い、プレスキャン処理で背景除去処理を行う為に必要となる予備評価として背景色の検出を行うようにした。これに限らず、本スキャン処理とプレスキャン処理で、背景除去に関する画像処理とは異なる画像処理及び予備評価を行うようにしてもよい。
【００７４】
このように、本スキャン処理とプレスキャン処理で、背景除去に関する画像処理とは異なる画像処理及び予備評価を行う場合も、上述した実施の形態と同様、プレスキャン処理で必要となるライン数の画像データを保存し得るサイズに画像データバッファ１００のバッファサイズを設定するようにすればよい。尚、この場合のプレスキャン処理は、あくまで原稿の全部分をスキャンして得られる画像データを必要とするものではなく、原稿の一部分をスキャンして得られる画像データを必要とするものであるとする。
【００７５】
［４−４．他の実施の形態４］
さらに、上述した実施の形態では、ライトＤＭＡコントローラ４とリードＤＭＡコントローラ６がアクセスする画像データバッファ１００と、ライトＤＭＡコントローラ９とリードＤＭＡコントローラ１０がアクセスする画像データバッファとを、１つのメモリ１３上に確保するようにしたが、これに限らず、例えば、画像処理装置１に、メモリ１３とは別のメモリを設け、メモリ１３は、ライトＤＭＡコントローラ４とリードＤＭＡコントローラ６がアクセスする画像データバッファ１００として利用するようにして、別途設けたメモリを、ライトＤＭＡコントローラ９とリードＤＭＡコントローラ１０がアクセスする画像データバッファとして利用するようにしてもよい。
【００７６】
［４−５．他の実施の形態５］
さらに、上述した実施の形態では、画像読取装置２０によって原稿をスキャンして得られた画像データを、画像処理装置１に入力して、この画像データに対して画像処理装置１が一連の画像処理を行った後、画像出力装置２１に出力するようにした。これに限らず、例えば、画像処理装置１に画像読取装置２０の機能を持たせるようにしてもよく、このような画像処理装置１は例えばスキャナに適用できる。また、画像処理装置１に画像出力装置２１の機能を持たせるようにしてもよく、このような画像処理装置１は例えばプリンタに適用できる。さらに、画像処理装置１に画像読取装置２０の機能と画像出力装置２１の機能の両方を持たせるようにしてもよく、このような画像処理装置１は例えばＭＦＰ（Multi  Function  Product：複合機）に適用できる。
【００７７】
［４−６．他の実施の形態６］
さらに、上述した実施の形態では、ライトＤＭＡコントローラ９及びリードＤＭＡコントローラ１０がアクセスする画像データバッファのバッファサイズを、原稿１頁分の全ラインの画像データを保存し得るサイズとしたが、これに限らず、この画像データバッファを、画像データバッファ１００と同様に先入れ先出し方式のリングバッファとして機能させることで、原稿１頁分の全ラインの画像データを保存し得るサイズよりも小さいサイズにしてもよい。
【００７８】
［４−７．他の実施の形態７］
さらに、上述した実施の形態では、画像データバッファ１００のバッファサイズを、プレスキャンデータサイズに、画像データバッファ１００へのリード時間とライト時間との差を吸収する為に必要なバッファサイズを足した大きさとしたが、これに限らず、例えば、画像データバッファ１００へのリード時間とライト時間との差がほとんどない場合には、画像データバッファ１００のバッファサイズを、プレスキャンデータサイズと等しくしてもよい。
【００７９】
［４−８．他の実施の形態８］
さらに、上述した実施の形態では、プレスキャン処理及び本スキャン処理を行う画像処理部の具体例として、背景除去部７を用いるようにした。これに限らず、プレスキャン処理及び本スキャン処理を行う機能を有するものであれば、例えば、背景除去部７とは異なるプレスキャン処理及び本スキャン処理を行う画像処理部を用いるようにしてもよい。
【００８０】
さらに、上述した実施の形態では、画像データバッファ１００への画像データのライト及びリードを制御する制御部の具体例として、画像データバッファ制御部５、ライトＤＭＡコントローラ４及びリードＤＭＡコントローラ６を用いるようにした。これに限らず、画像データバッファ１００へのライト及びリードを制御する機能を有するものであれば、これらとは異なる制御部を用いるようにしてもよく、また、例えば、画像データバッファ制御部５にライトＤＭＡコントローラ４とリードＤＭＡコントローラ６を内蔵させるようにしてもよい。
【００８１】
［４−９．他の実施の形態９］
さらに、本発明は、上述した実施の形態及び他の実施の形態に限定されるものではない。すなわち本発明は、上述した実施の形態と他の実施の形態の一部または全部を任意に組み合わせた実施の形態や、一部を抽出した実施の形態にもその適用範囲が及ぶものである。
【産業上の利用可能性】
【００８２】
本発明は、原稿をスキャンして得られた画像データをバッファリングして画像処理する画像処理装置で広く利用することができる。
【符号の説明】
【００８３】
１……画像処理装置、３、８……画像処理部、４、９……ライトＤＭＡコントローラ、６、１０……リードＤＭＡコントローラ、７……背景除去部、１３……メモリ、１４……ＣＰＵ、２０……画像読取装置、２１……画像出力装置、１００……画像データバッファ、１０１……ライン格納領域。
【図１】
2016046714.tif 000003
【図２】
2016046714.tif 000004
【図３】
2016046714.tif 000005
【図４】
2016046714.tif 000006
【図５】
2016046714.tif 000007