JP2020145661A - 画像処理装置とその制御方法、及びプログラム - Google Patents
画像処理装置とその制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2020145661A JP2020145661A JP2019043046A JP2019043046A JP2020145661A JP 2020145661 A JP2020145661 A JP 2020145661A JP 2019043046 A JP2019043046 A JP 2019043046A JP 2019043046 A JP2019043046 A JP 2019043046A JP 2020145661 A JP2020145661 A JP 2020145661A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- block
- average value
- data
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】主走査方向のブロック境界で、ラスタ形式と比べて画素データが非連続となってしまい、画素データの補正において影響を与え、画質が著しく劣化してしまうことを抑制する。【解決手段】本発明に係る画像処理装置は、ラスタ形式の1ページの画像データに対してラスタ形式で画素解析を実行し、その画像解析により解析された結果を、注目画素を含むブロックの座標とともに保持する。またラスタ形式の画像データをブロック形式で読み出し、当該ブロックの画素データに対してブロック形式で画素解析を実行する。そして、ブロック形式での画素解析により解析されたブロックに対応する、保持された前記結果と、前記ブロック形式での画素解析により解析された結果とに基づいて、前記ブロックに含まれる注目画素を補正する。【選択図】 図4
Description
本発明は、画像処理装置とその制御方法、及びプログラムに関する。
マルチファンクションペリフェラル(以後、MFPと呼ぶ)では、スキャナで原稿を読み取って得られた画像データに対して、各種スキャン用の画像処理を実施している。この画像処理は、スキャナのセンサに依存する画素の並びの補正や、センサの読み取りスペックを補うMTF補正等の各種画素補正処理、原稿の下地を飛ばす下地除去処理、原稿の裏写りを抑制する画素補正処理等を含む。特許文献1では、原稿の裏写りを抑制する画素補正処理として、スキャナで読み取った画像データを解析した上で、補正量を算出して画素補正処理を行っている。
スキャナのセンサは、1ライン単位に主走査方向に読み出しを実施し、その読み出しを副走査方向に繰り返す。このようなデータの並びをラスタ又はラスタ形式と定義する。このため、通常、スキャン用の画像処理部は、スキャナのセンサの配置に合わせてラスタ形式で構成される。一方で、この画像処理において、画像データを複数のブロックに分割し、そのブロック毎に処理する構成が知られている。このように、画像データを複数のブロックに分割し、ブロック内の主走査、副走査の画素順で画像処理を実行することをブロック形式と定義する。このようにブロック形式で画像データを処理することにより、ラスタ形式と比べてラインバッファ等のメモリ容量を大幅に削減でき、回路規模のサイズの増大を抑えることができる。
例えば、原稿の裏写りを抑制する画素補正処理のように、画素データを解析した上で、補正量を算出して画素補正を実施するような処理を、ブロック形式での処理で構成すると、画素データの解析順序が保たれないといった課題がある。これに対してラスタ形式の場合は、画素データはラスタ形式で入力されるため、画素データの解析もラスタ形式で行われ、ラスタ方向に連続性を維持した形で解析を行うことができる。
これに対してブロック形式で画素データを処理する場合は、画素データをブロック形式で入力し、その解析も同様にブロック形式で行われてしまう。特に主走査方向のブロック境界では、ラスタ形式と比べて画素データが非連続となってしまうため、画素データの補正において影響を与え、画質が著しく劣化してしまうおそれがある。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、画素解析処理をラスタ形式で実施し、画素補正処理をブロック形式で行うことにより、ブロック形式での画素データの補正による画質の低下を防止できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
ラスタ形式の1ページの画像データに対してラスタ形式で画素解析を実行する第1画素解析手段と、
前記第1画素解析手段により解析された結果を、注目画素を含むブロックの座標とともに保持する保持手段と、
前記ラスタ形式の画像データをブロック形式で読み出し、当該ブロックの画素データに対してブロック形式で画素解析を実行する第2画素解析手段と、
前記第2画素解析手段により解析されたブロックに対応する前記保持手段に保持された前記結果と、前記第2画素解析手段により解析された結果とに基づいて、前記ブロックに含まれる注目画素を補正する補正手段と、を有することを特徴とする。
ラスタ形式の1ページの画像データに対してラスタ形式で画素解析を実行する第1画素解析手段と、
前記第1画素解析手段により解析された結果を、注目画素を含むブロックの座標とともに保持する保持手段と、
前記ラスタ形式の画像データをブロック形式で読み出し、当該ブロックの画素データに対してブロック形式で画素解析を実行する第2画素解析手段と、
前記第2画素解析手段により解析されたブロックに対応する前記保持手段に保持された前記結果と、前記第2画素解析手段により解析された結果とに基づいて、前記ブロックに含まれる注目画素を補正する補正手段と、を有することを特徴とする。
本発明によれば、画素解析処理をラスタ形式で実施し、画素補正処理をブロック形式で行うことにより、ブロック形式での画素データの補正による画質の低下を防止できるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
実施形態に係るMFPの構成を説明するブロック図。
実施形態に係るスキャン画像処理部の機能を説明する機能ブロック図。
実施形態に係る画素解析部の機能を説明する機能ブロック図。
実施形態に係る画素補正処理部の機能を説明する機能ブロック図。
実施形態に係るMFPにおけるスキャナ部による原稿の読み取りと、原稿を読み取って得られた画像データの保存処理を説明するフローチャート。
実施形態に係るMFPによるスキャン実行時の内部動作の概要を説明する模式図。
実施形態に係る画素解析部の動作を説明するフローチャート。
実施形態に係る画素解析部に画像データが入力された際の動作タイミングを説明するタイミングチャート。
実施形態に係る最大平均値記憶部にデータが入力された際に実施される処理を説明するフローチャート。
実施形態に係る係数記憶部にデータが入力された際に実施される処理を説明するフローチャート。
実施形態に係る最大平均値記憶部及び係数記憶部にデータが入力された際の処理を説明するタイミングチャート。
実施形態に係る画素補正処理部に画素データが入力された際に実施される処理を説明するフローチャート。
実施形態に係る画素補正処理部に画素データが入力されたときの内部の動作を示すタイミングチャート。
原稿の所定面積分のラインの読み込みに関する説明を捕捉する図。
実施形態に係る画素の補間処理を説明する図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。尚、以下の実施形態では、本発明に係る画像処理装置を、複合機(MFP)を例に説明する。尚、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。
図1は、実施形態に係るMFP101の構成を説明するブロック図である。
CPU(Central Processing Unit)102は、MFP101全体の制御を司る。DRAM(Dynamic Random Access Memory)103は、CPU102で実行されるプログラムを格納すると共に、一時的なデータのワークエリアとして機能する。操作部104は、シリアルI/F(インタフェース)105を介してCPU102からの指示を受け取るとともに、操作部104を介したユーザの操作をCPU102に伝える。シリアルI/F105は、操作部104とシステムバス114とを相互に接続する。フラッシュメモリ106は、CPU102のプログラムを格納すると共に、MFP101のデフォルト設定値、ユーザごとのデフォルト設定値、一時的なカスタム設定値等を記憶する。HDD(ハードデスクドライブ)107は、CPU102で実行されるプログラムを格納すると共に、プリントジョブやスキャンジョブ等のスプール領域としても利用される。ネットワークI/F108は、LAN109と接続して外部機器と通信を行う。CPU102は、フラッシュメモリ106或いはHDD107に記憶されているプログラムをDRAM103に展開し、その展開したプログラムを実行することにより、MFP101全体の制御を司る。
スキャナ部110は、紙面上の画像を光学的に読み取り、電気信号に変換してスキャン画像データを生成する。スキャン画像処理部111は、スキャナ部110で読み取った原稿の画像データに対して画像処理を実施する。その詳細は後述する。プリンタ部112は、画像データに基づいて紙面上に画像を印刷する。プリンタ画像処理部113は、プリンタ部205で印刷するのに適するように画像データを変換する。システムバス114は、上述した各モジュール(デバイス)を相互に通信可能に接続する。
図2は、実施形態に係るスキャン画像処理部111の機能を説明する機能ブロック図である。
スキャン画像処理部111は、大別して、ラスタ処理部201とブロック処理部202とを含む。ラスタ処理部201は、文字通り、スキャナ部110からラスタ順で入力される画像データをラスタ順のまま処理する画像処理部である。2次元DMAコントローラ207は、画像データをラスタ順のままDRAM103に書き込む。AFEフォーマット変換部203は、スキャナ部110から出力されるAFE(Analog Front End)信号を受信し、ラスタ処理部201の内部バスで転送するためのフォーマット変換処理を実施する。主走査画素整列部204は、スキャナ部110のセンサの構成に応じて、主走査方向の画素の並び変え処理を実施する。この段階で画像データの主走査方向の並びが原稿の画素順となる。副走査画素整列部205は、スキャナ部110のセンサの構成に応じて、コンポーネント毎の副走査方向のライン位置の補正を行う。この段階で画像データが点順次のデータ形式となる。画素解析部206は、後述するブロック処理部202の画素補正処理部212とセットで動作する処理部であり、入力された画素データを所定の方式により解析し、その解析した結果を、画素補正処理部212で活用する。
実施形態では、裏写り除去のアルゴリズムの解析処理を画素解析部206により実行し、裏写り除去のアルゴリズムの画素補正処理を画素補正処理部212で実施するとしている。但し、アルゴリズムはこれに限るものでない。また、入力された画素データはそのまま後段へ出力される。その詳細は後述する。2次元DMAコントローラ207は、入力された画像データをDRAM103に書き込む。2次元DMAコントローラ207は、画像データの主走査方向と副走査方向の概念を持つため、2次元としている。主走査方向には連続した空間にデータを書き込み、副走査方向には、ライン間で所定のオフセットを設けて画像データの書き込みを行う。
一方、ブロック処理部202は、DRAM103記憶された画像データをブロック分割して読み出して、ブロック順に処理する。4次元DMAコントローラ208は、DRAM103に保存された画像データをブロック形式で読み出す。4次元DMAコントローラ208は、DRAM103にラスタ形式の画像データが書き込まれていることを前提とし、画像データをブロックに分割して読み出す。ここで、そのブロックの並びに対して主走査方向と副走査方向の概念を持ち、ブロック内部の画素に並びに対しても主走査方向と副走査方向の概念を持つため4次元としている。4次元DMAコントローラ208は、ブロック順にブロック内の画素データをリードする。色ずれ補正部209は、主走査方向に構成されたウインドウによる主走査方向の色ずれ処理と、副走査方向に構成されたウインドウによる副走査方向の色ずれ処理を行う。MTF補正部210は、フィルタ処理により、スキャナ部110で得られた画像データに対してMTF補正を行う。ノイズ除去部211は、スキャナ部110で得られた画像データに対してバイラテラルフィルタ処理又はコアリング処理を実施し、読み取り時のノイズ成分を除去する。画素補正処理部212は、入力した画素データに対して、画素解析部206の解析結果に応じて決定される補正量を用いた画素補正処理を行う。その詳細は後述する。
色変換部213は、所定格子点数の色空間変換を施す3次元テーブル変換を行う。これにより、スキャナ部110に依存する色空間を、統一的な色空間に補正する。彩度強調処理部214は、ウインドウを構成したフィルタ処理であり、注目画素の有彩色判定の結果に応じて、フィルタ処理の係数を切り替え、彩度の強調を実施する。マスク処理部215は、画像データに対して白マスク処理又は黒マスク処理を実施する。そして4次元DMAコントローラ208は、ブロック形式の画像データをラスタ形式の画像データに変換してDRAM103に書き込む。
図3は、実施形態に係る画素解析部206の機能を説明する機能ブロック図である。
画素解析部206は、1個の入力(INPUT)と3個の出力(OUTPUT1〜OUTPUT3)を有する。これら各入出力において、入力(INPUT1)は副走査画素整列部205の出力と接続される。また出力(OUTPU1)は、2次元DMAコントローラ207と接続され、出力(OUTPUT2)は画素補正処理部212の入力(INPUT2:図4)と接続される。OUTPUT3は、画素補正処理部212の入力(INPUT3:図4)と接続される。尚、画素解析部206の出力(OUTPUT1)は、入力(INPUT)から入力した画素データをそのまま出力する。
ウインドウ生成部301は、入力(INPUT)から入力された画素データを受け取ってバッファに蓄積した上で、ウインドウ分の画素データを抽出してウインドウを生成する。実施形態では、ウインドウのサイズは所定サイズとし、ここでは3×3として説明する。3×3のウインドウを生成すると、そのウインドウデータを後段のブロックへ出力する。尚、画像データの主走査方向或いは副走査方向の端部のウインドウでは、内部で所定値を補足してウインドウを構成する。
座標判定部302は、ウインドウ生成部301から受け取ったウインドウのデータ数から画像データの主走査方向の座標と副走査方向の座標を算出する。これは主走査方向の座標をカウントするカウンタと、副走査方向の座標をカウントするカウンタを用いて行われる。尚、画像データの主走査幅と副走査幅は、CPU102が、図示しないレジスタ部に予め設定しているものとする。
平均値生成部303は、3×3ウインドウの画素データの平均値を算出する。これは単純に9画素の平均値を算出すればよい。こうして得られた平均値は、標準偏差生成部304、平均値最大判定部306、係数更新判定部307へ出力される。
標準偏差生成部304は、3×3ウインドウの画素データとその平均値とに基づいて、そのウインドウの標準偏差を算出する。ここでの標準偏差の算出について説明する。まず、ウインドウのそれぞれの画素データから平均値を減算し、その減算後の画素値の絶対値を算出する。こうして算出した絶対値を、ウインドウ毎に全て足し合わせる。実施形態では、9個の絶対値を足し合わせる。標準偏差は、足し合わせた絶対値の合計を所定値で除算して算出される値である。
ドットフラグ生成部305は、3×3ウインドウの画素データから、網点画素であるか孤立点画素であるかを判定し、その結果を示すドットフラグを生成する。網点画素及び孤立点画素の判定は公知の手法で構わないので、その説明を省略する。ここでドットフラグが「1」であれば、孤立点画素であることを示す。
平均値最大判定部306は、新たに算出した平均値がこれまでの平均値よりも大きい場合は、その新たに算出した平均値を最大値として判定し、その値を保持する。但し、スキャナ部110で読み取った原稿が変わる場合には、この最大値はクリアされる。つまり、平均値最大判定部306は、一つの原稿の全てのウインドウの平均値の最大値を判定する処理である。平均値最大判定部306は、保持している平均値の最大値が新しい値に更新された場合には、その平均値とその画素データが含まれるライン座標をセットとしたデータを出力する。尚、ライン座標が切り替わった場合も平均値最大判定部306は、現在保持されている平均値の最大値と、ライン座標とをセットにしたデータを出力する。
係数更新判定部307は、標準偏差生成部304が算出した標準偏差に基づいて、標準偏差毎の平均値の最大値を判定する。実施形態では、算出した標準偏差を3つの範囲に分類し、それらの分類毎の平均値の最大値を判定する。保持している平均値の最大値が新しい値に更新された場合は、その平均値と、標準偏差の分類値とをセットにしたデータを出力する。
図4は、実施形態に係る画素補正処理部212の機能を説明する機能ブロック図である。
画素補正処理部212は、3個の入力(INPUT1,INPUT2,INPUT3)と1個の出力(OUTPUT)を有する。各入出力において、入力(INPUT1)はノイズ除去部211と接続され、入力(INPUT2)は、ラスタ処理部201の画素解析部206の出力(OUTPUT2)と接続される。また入力(INPUT3)は、同じ画素解析部206の出力(OUTPUT3)と接続される。
ウインドウ生成部401は、入力(INPUT1)から画素データを受け取り、その画素データをバッファに蓄積した上でウインドウを生成する。実施形態では、ウインドウのサイズを3×3として説明する。ウインドウ生成部401は3×3のウインドウが生成できたら、そのウインドウデータを後段ブロックへ出力する。尚、上述したように、画像データの端部は内部で所定値を補足してウインドウを構成する。
最大平均値記憶部402は、画素解析部206の出力(OUTPUT2)を入力(INPUT2)を介して受け取る。入力(INPUT2)は、平均値とライン座標とのセットのデータを受け取る。その詳細は後述する。係数記憶部403は、画素解析部206の出力(OUTPUT3)を入力(INPUT3)を介して受け取る。入力(INPUT3)は、係数値と標準偏差の分類値とのセットのデータを受け取る。その詳細は後述する。
平均値生成部404は、3×3ウインドウの画素データの平均値を算出する。ここでは単純に9画素の平均値を算出すればよい。算出した平均値は、補正量決定部409へ出力される。標準偏差生成部405は、3×3ウインドウの画素データの標準偏差を算出する。標準偏差の算出方法は上述した通りである。白フラグ生成部406は、3×3ウインドウの画素データから注目画素が白画素であるかを否か判定し、その判定結果であるフラグを生成する。その判定方法は公知であるため、その説明を省略する。実施形態では、白画素であると判定した場合に白フラグを「1」とする。
ブロック座標判定部407は、ウインドウのデータ数から、画像データのブロック内部の主走査方向の座標と副走査方向の座標の算出し、更に画像データ全体に対するブロック座標を算出する。これはブロック内部の主走査方向の座標をカウントするカウンタと、ブロック内部の副走査方向の座標をカウントするカウンタ、ブロック数をカウントするカウンタを使用して行われれる。画像データの各ブロックの主走査方向の幅と副走査方向の幅、ブロック数は、CPU102が、図示しないレジスタ部に予め設定しているものとする。
係数補間部408は、ブロック座標判定部407から出力される、該当ウインドウのライン位置に応じて、最大平均値記憶部402に保持している最大平均値を選択し、その選択した複数の最大平均値で補間処理を実施する。これによって、ライン間で適用する値が線形化されるようになる。その詳細は後述する。補正量決定部409は、補正部410での補正処理で使用する補正量を算出する。その詳細は後述する。補正部410は、ウインドウ生成部401から受信したウインドウデータの注目画素に対する補正処理を実施する。この補正処理は、注目画素に対して補正量決定部409で算出した補正量を加算する処理である。
次に、実施形態に係るMFP101におけるスキャン実行時の全体制御について図5、図6、及び図14を参照して説明する。
図5は、実施形態に係るMFP101におけるスキャナ部110による原稿の読み取りと、原稿を読み取って得られた画像データの保存処理を説明するフローチャートである。尚、このフローチャートで示す処理はCPU102が、前述したようにDRAM103に展開したプログラムを実行することにより達成される。
また図6は、実施形態に係るMFP101によるスキャン実行時の内部動作の概要を説明する模式図である。尚、図6(A)は、原稿の先端部における処理を示し、ず6(B)は、、原稿の後端部における処理を示している。尚、図5のフローチャートは、ユーザによって既に原稿がスキャナ部110のADF(自動原稿給紙装置(不図示))等に置かれ、ユーザが操作部104を介してスキャン開始指示が行ったときの処理に関するものである。
まずS501でCPU102は、スキャン画像処理部111の初期設定を行う。これによりスキャン画像処理部111で実施したい処理の設定が行われる。これはMFP101の操作部104で指定されたジョブの内容に従って決定されるものである。基本的にスキャン画像処理部111の全てのモジュールは図示しないレジスタ部を備え、CPU102からアクセス可能な構成をとる。CPU102は、それらのレジスタに対して、必要な設定をライトする。これは図6(A)の参照番号601で示される。これは、スキャン画像処理部111のラスタ処理部201とブロック処理部202への初期設定を示す。
次にS502に進みCPU102は、スキャナ部110に対して原稿の読み取り開始を指示する。これによって、ADF等の紙送り制御や、CIS(Contact Image Sensor)センサによる原稿の走査が行わる。これは図6(A)の参照番号602で示される。このタイミングでスキャナ部110の読み取りが開始され、スキャナ部110は、原稿の先頭ラインから順にスキャンを実施する。次にS503に進みCPU102は、原稿の所定面積分のラインの読み込みが完了したかを否か判定する。ここで所定面積分のラインの読み込みが完了した場合はS504に進むが、そうでないときはS503を引き続き実行する。
こうして所定面積分のラインの読み込みが完了した時点は、図6(A)の参照番号603で示される。S503における読み込みライン数は、画素解析部206の座標判定部302の副走査方向の座標値をCPU102が読み取ることによって取得できる。こうして取得したライン数を用いて、原稿の所定面積分のラインの読み込みが完了しているか否かを判定することができる。
図14は、1枚の原稿の所定面積分のラインの読み込みに関する説明を捕捉する図である。
スキャンした1枚の原稿に対して、補正処理前に事前の解析を実施したいエリアを参照番号1400で示す。このエリア1400の面積に応じて、副走査方向のライン数を決定する。実施形態では、事前に解析したい原稿の面積を600dpiで約2センチとし、それをライン数に換算して472ラインとしている。但し、このライン数に限るものではない。また、より詳細には、スキャナ部110の読み取り解像度が300dpiの場合は、解析対象面積に対応するライン数は、600dpiと比べて約半分となる。従って、原稿のスキャン時の読み込みライン数は、原稿の解析対象面積とスキャナ部110の読み取り解像度に依存する。
次にS504に進みCPU102は、ブロック処理部202の4次元DMAコントローラ208を起動させる。これによって、2次元DMAコントローラ207によってDRAM103に書き込まれた画像データの読み出しが行われ、こうして読み出された画像データがブロック処理部202へ入力される。これは図6(A)の参照番号604で示される。そしてS505でCPU102は、スキャン画像処理部111から原稿の読み取り終了の割り込みが発生したかどうか判定する。この終了割り込みは、4次元DMAコントローラ208が、ブロック処理部202での画像処理が完了した画像データを、DRAM103に書き鋳込む処理が完了したことによりアサートされる。この終了割り込みのタイミングは、図6(B)の参照番号605で示される。
図7は、実施形態に係る画素解析部206の動作を説明するフローチャートである。図8は、実施形態に係る画素解析部206に画像データが入力された際の動作タイミングを説明するタイミングチャートである。
まずS701で画素解析部206は、前段の副走査画素整列部205から入力した画素データの値を取得する。これは図8の参照番号801で示される。次にS702に進み画素解析部206は、その取得した画素データを後段処理部(ここでは2次元DMAコントローラ207)へ出力する。これは画素解析部206から、入力した画素データを補正等の処理を実施せずにそのまま出力するもので、図3の出力(OUTPUT1)に相当し、図8の参照番号802で示される。
次にS703に進みウインドウ生成部301は、取得した画素データを蓄積し、ウインドウの生成処理を行う。このウインドウ生成部301は、内部に非図示のバッファを備えており、それらバッファにより画素データを蓄積する。この画素データの蓄積によって、例えば、3×3のウインドウデータを生成して出力する。こうして得られたウインドウデータは、座標判定部302、平均値生成部303、標準偏差生成部304、ドットフラグ生成部305へ出力される。これは図8の参照番号803で示される。
次にS704に進み座標判定部302は、主走査方向座標及び副走査方向の座標を算出する。これは前述した2つのカウンタを使用してなされる処理である。これは図8の参照番号807で示される。次にS705に進み平均値生成部303は、上述したようにウインドウデータから平均値を求める。これは図8の参照番号804で示される。次にS706に進み標準偏差生成部304は、上述したようにウインドウデータから標準偏差を生成する。これは図8の参照番号805で示される。そしてS707に進みドットフラグ生成部305は、上述したようにウインドウデータからドットフラグを生成する。これは図8の参照番号806で示される。
次にS708に進み平均値最大判定部306は、S705で生成した平均値が平均値最大判定部306の内部で保持している暫定最大値と比べて大きいかを否か判定する。つまり、この処理は原稿内の平均値の最大値を判定する処理である。原稿の最初の画素を処理する場合には、内部で保持している暫定最大値は「0」とする。S705で生成した平均値が、暫定最大値よりも大きいと判定するとS709に進み、そうでないときはS711に遷移する。図8のタイミングチャートでは、内部で保持している暫定最大値は、参照番号808で示される。
S709で平均値最大判定部306は、保持している暫定最大値を、S705で算出した平均値に更新する。これによって内部で保持している暫定最大値は、より大きな値が保持されることになる。これは図8の参照番号809及び810のタイミングで、暫定最大値が0からD1、またD1からD2へ更新されていることに該当する。次にS710に進み平均値最大判定部306は、内部で保持している暫定最大値を出力してS712に進む。暫定最大値を出力する際は、座標判定部302の副走査方向の座標とのセットのデータとして出力する。これは図8の参照番号811,812及び813で示される。上段のデータが暫定最大値であり、下段のデータが副走査方向の座標値を示す。
一方、S711で平均値最大判定部306は、現在判定した平均値の画素の座標がラインの先頭の座標であるかを判定する。これは座標判定部302からの主走査方向の座標を用いることにより判定可能である。ラインの先頭の座標であると判定した場合はS710に進み、ラインの先頭の座標ではないと判定した場合はS712に遷移する。
S712で係数更新判定部307は、S707で生成したドットフラグを用いて、ドットフラグが「1」であるかを判定する。ドットフラグが「1」である場合は、網点画素または孤立点画素であるためS713に遷移する。ドットフラグが「0」である場合は、この処理を終了する。
S713で係数更新判定部307は、S705で算出した平均値と、S706で算出した標準偏差に基づいて、その偏差の平均値が最大であるかを否か判定する。実施形態では、算出した標準偏差を3つの範囲で分類し、分類値を「0」〜「2」とする。分類値毎に保持している平均値を暫定係数値とし、合計で3つの暫定係数値を保持する。ここでは、この暫定係数値の1つと、S705で求めた平均値とを比較する。ここで最大であると判定した場合はS714に進み、最大ではないと判定した場合は、この処理を終了する。図8では、暫定係数値は、参照番号814,815,及び816で示される。参照番号814は分類値が「0」の暫定係数値であり、参照番号815は分類値が「1」の暫定係数値であり、参照番号816は分類値が「2」の暫定係数値である。
S714で係数更新判定部307は、内部で保持している暫定係数値を、S705で求めた平均値で更新する。これによって内部で保持している暫定係数値には、より大きな値が保持される。これは図8の参照番号817,818,及び819で示すタイミングであり、暫定最大値がそれぞれ0からK1、0からK2、0からK3へ更新されている。そしてS715に進み係数更新判定部307は、内部で保持している最大平均値を、係数値として出力する。尚、係数値を出力する際は、標準偏差の分類値とセットのデータとして出力する。これは図8の参照番号820,821及び822で示される。上段のデータが暫定係数値であり、下段のデータが分類値を示す。
次に実施形態に係る最大平均値記憶部402の動作を図9、図11を参照して説明する。
図9は、実施形態に係る最大平均値記憶部402にデータが入力された際に実施される処理を説明するフローチャートである。図11は、実施形態に係る最大平均値記憶部402及び係数記憶部403にデータが入力された際の処理を説明するタイミングチャートである。ここで図11(A)は、原稿の1ライン目の解析結果を入力して記憶する処理を示し、図11(B)は、原稿の2ライン目の解析結果を入力して記憶する処理を示す。
S901で最大平均値記憶部402は、INPUT2に入力されるデータを取得する。このデータは、画素解析部206の平均値最大判定部306から出力される。上述したように、これは、暫定最大値と副走査方向の座標値をセットとしたデータである。これは図11の参照番号1101,1102及び1103で示される。
次にS902に進み最大平均値記憶部402は、S901で取得したデータから副走査方向の座標値を取得する。これは図11の参照番号1101,1102及び1103の下段のデータである。
次にS903に進み最大平均値記憶部402は、S902で取得した副走査方向の座標値から、書き込むべきレジスタを特定する。このレジスタは、暫定最大値を保持するためのものである。実施形態では、レジスタを1000個備えており、最大1000ライン分の暫定最大値を保持できるものとする。また実施形態では、この処理は1000個のレジスタからか書き込むべきレジスタの特定を含む。この書き込むべきレジスタの特定は、単純に、副走査方向の座標値を1000で割った剰余とする。このようにすれば、1001ライン目から再度1番目のレジスタを使用するようになり、リングバッファ制御が実現される。これは図11のタイミングチャートにおいては、レジスタは、参照番号1104,1105及び1106で示される。参照番号1104はレジスタ1、参照番号1105はレジスタ2、参照番号1106はレジスタ1000を示す。
そしてS904に進み最大平均値記憶部402は、S901で取得したデータから暫定最大値を取得し、S903で特定したレジスタに書き込む。これは図11の参照番号1107,1108及び1109で示すタイミングであり、これらタイミングでレジスタの値が更新される。
次に、実施形態に係る係数記憶部403の動作を図10、図11を参照して説明する。
図10は、実施形態に係る係数記憶部403にデータが入力された際に実施される処理を説明するフローチャートである。図11は、実施形態に係る係数記憶部403にデータが入力された際の内部のタイミングチャートである。
S1001で係数記憶部403は、画素解析部206の出力(OUTPUT3)を、入力(INPUT3)に入力されるデータとして取得する。このデータは、画素解析部206の係数更新判定部307から出力される。上述したように、これは、暫定係数値と分類値をセットとしたデータである。これは図11の参照番号1110,1111及び1112で示される。
次にS1002で係数記憶部403は、S1001で取得したデータから分類値を取得する。これは図11のタイミングチャートにおいて、分類値は、参照番号1110,1111及び1112の下段のデータである。
次にS1003に進み係数記憶部403は、S1002で取得した分類値に基づいて、書き込むべきレジスタを特定する。このレジスタは、分類値毎に暫定係数値を保持するためのものである。実施形態では、分類値を3つとして想定したため、レジスタを3個備えており、最大3個分の暫定係数値を保持できる。また実施形態では、この処理は3個のレジスタからか書き込むべきレジスタを特定するものである。書き込むべきレジスタは、単純に分類値で対応をつければよい。これは図11のタイミングチャートにおいては、レジスタは、参照番号1113,1114及び1115で示される。参照番号1113はレジスタ1、参照番号1114はレジスタ2、参照番号1115はレジスタ1000を示す。そしてS1004に進み係数記憶部402は、S1001で取得したデータから暫定係数値を取得し、S1003で特定したレジスタに書き込む。これは図11のタイミングチャートでは、参照番号1116,1117及び1118のタイミングで示し、このタイミングでレジスタの値が更新される。
次に、実施形態に係る画素補正処理部212の動作を図12及び図13を参照して説明する。
図12は、実施形態に係る画素補正処理部212に画素データが入力された際に実施される処理を説明するフローチャートである。図13は、実施形態に係る画素補正処理部212に画素データが入力されたときの内部の動作を示すタイミングチャートである。
S1201で画素補正処理部212は、画素値は前段のノイズ除去部211から入力した画素データを取得する。これは図13のタイミングチャートでは、参照番号1301で示される。次にS1202に進みウインドウ生成部401は、取得した画素データを蓄積してウインドウを生成する。ウインドウ生成部401は、内部に非図示のバッファを有しており、入力した画素データを蓄積する。これら画素データを蓄積することにより、例えば、3×3のウインドウデータを生成して出力する。こうして生成されたウインドウデータは、平均値生成部404、標準偏差生成部405、白フラグ生成部406、ブロック座標判定部407へ出力される。図13のタイミングチャートでは、これは参照番号1302で示される。
次にS1203に進み平均値生成部404は、上述したようにウインドウデータから平均値を取得する。これは図13のタイミングチャートでは参照番号1303で示される。次にS1204に進み標準偏差生成部405は、上述したようにウインドウデータから標準偏差を取得する。これは図13のタイミングチャートにおいて、参照番号1304で示される。次にS1205に進み白フラグ生成部406は、上述したように3×3ウインドウの画素データから注目画素が白画素であるかを否か判定し、その判定結果であるフラグを生成する。これは図13のタイミングチャートでは、参照番号1305で示される。次にS1206に進みブロック座標判定部407は、入力されたデータ数をカウントして、入力データのブロック座標、ブロック内の画素座標を判定する。このときCPU102は、図示しないレジスタに、ブロックの主走査方向の幅と副走査方向の幅、ブロックの主走査数、ブロックの副走査数を予め設定している。そして、これらブロックの座標情報に応じて、ブロック座標、ブロック内の画素座標を判定する。これは図13のタイミングチャートにおいて、参照番号1306はページ内のブロックの主走査方向の座標である。参照番号1307は、ページ内のブロックの副走査方向の座標である。参照番号1308はブロック内の画素の主走査方向の座標、参照番号1309はブロック内の画素の副走査方向の座標をそれぞれ示している。
そしてS1207に進み係数補間部408は、まず、S1206で生成した各種ブロック座標情報から、そのページの副走査方向の座標を算出する。ページの副走査方向の座標は、ブロックの副走査方向の座標、ブロックの副走査幅、ブロック内の画素の副走査方向の座標から算出できる。次にS1208に進み係数補間部408は、最大平均値記憶部402から、算出したページの副走査方向の座標値に対応する最大平均値を取得する。この対応付けは、上述したように副走査方向の座標値を1000で割った剰余を用いることで可能である。このように対応するレジスタ値を取得することで、所望の最大平均値を取得できる。
そしてS1209に進み係数補間部408は、更に、算出したページの副走査方向の座標値の前後の値に対応する最大平均値も取得する。この副走査方向の座標値とレジスタの対応付けは上述した通りである。これによって更に2つの最大平均値が取得される。
そしてS1210に進み係数補間部408は、S1208とS1209で取得した最大平均値の補間処理を実施する。即ち、ここでは、まずS1209で取得した2つの最大平均値と、S1208で取得した画像補正処理部212に入力された画素の、そのページにおける副走査方向の座標値に対応した最大平均値の3つのデータを利用する。そして、これら最大平均値の3つのデータから、最終的に画素補正を行う際に用いられる最大平均値を生成する。この補間処理の内容は特に限定するものではない。この補間処理を図15を参照して説明する。
図15は、実施形態に係る画素の補間処理を説明する図である。図15では、縦軸を最大平均値、横軸を副走査方向の座標値としている。
ここでは、S1209で取得した3つの最大平均値がそれぞれ参照番号1501,1502,1503で示されている。但し、図15の例では、各最大値の副走査方向の座標値は、N−1,N,N+1としている。ここでNは、補正対象の画素の副走査方向の座標値である。参照番号1504は、副走査方向の座標(N−1)の最大平均値1501と、副走査方向の座標(N+1)の最大平均値1503を結んだ直線を示す。この直線1504で定まる点1505と、副走査方向の座標値Nの実際に解析して得られた最大平均値1502とを結ぶ直線を直線1506とする。この処理によって、直線1506上のいずれかの値に、最大平均値が補間される。これは、最大平均値1502と点1505の2つの値の重み付け演算によって、直線1506上の全ての値を表現できる。従って、最大平均値1502の値をそのまま使用することも可能であるし、点1505の値を使用することも可能である。また、その中間値を使用することも可能である。
尚、この処理の目的は、画素補正の際に用いられる補正量を副走査方向の座標間で極力なめらかな変化させるためである。この補正量は、最大平均値の大きさに依存するため、副走査方向の座標間での最大平均値の大きさが極力なめらかに変化するようにする。但し、補間処理に限定するものではない。
図15の例では、座標(N−1)から座標Nにかけて最大平均値の変化量が大きいが、この補間処理によって最大平均値をなめらかな変化量とすることができる。また実施形態では、説明の簡略化のため、3点による補間処理を実施したが、当然これに限るものではない。上記目的に対しては、より多くの点による補間処理を実施したほうが効果的であることは言うまでもない。実施形態では、最大1000ラインの最大平均値を保持できる構成であるため、より多くの値を用いた補間処理も可能である。また実施形態では、ライン単位で最大平均値を保持し、それを利用する構成として説明したが、これに限るものではなく、画素単位で最大平均値を保持して活用する構成としても良い。
一方で、係数記憶部403で保持している係数値は、原稿の1ページ全体で1つの値を保持している。つまり、係数記憶部403は累積値を保持し、その累積値を補正量として活用している。このように、ライン単位で解析結果を取得したい処理と、ページ単位での累積値となる解析結果を取得したい処理の両方を実施形態では構成している。
再び図12に戻り、S1211で補正量決定部409は、S1205で生成した白フラグが「1」であるかを否か判定する。ここで白フラグが「1」である場合はS1212に進み、白フラグが「0」の場合はS1213に遷移する。S1212で補正量決定部409は、S1210の補間処理により算出した最大平均値に基づいた補正量を算出する。一方、S1213で補正量決定部409は、S1204で生成した標準偏差から対応する係数値(最大平均値)を係数記憶部403から取得し、その係数値とS1203で求めた平均値との差に基づく補正量を算出する。
S1214で補正部410は、S1201で取得した入力画素データに対して、S1212或いはS1213で算出した補正量で演算することにより出力画素データを生成し、出力する。
以上説明したように実施形態によれば、まず、ラスタ処理部201の画素解析部206でラスタ処理順に画素データを解析し、その解析結果をブロック処理部202の画素補正処理部212の最大平均値記憶部402と係数記憶部403に保持する。そしてブロック処理部202での画素補正処理を実施する際に、保持した最大平均値記憶部402と係数記憶部403の解析結果を使用するように処理を構成した。これらの構成によって、画素解析処理はラスタ形式で実施しながらも、画素補正処理をブロック形式で行うことが可能となる。
また画素解析部206での解析結果をライン単位で保持して、ブロック処理部202の画素補正処理部212で補正処理に適用する際に、最大平均値を補間した。実施形態ではライン単位で解析結果を保持して活用する構成と、ページ単位での累積値となる解析結果を保持して活用する構成を説明した。このようにアルゴリズムの処理と回路規模に対して最適な構成を実現することも可能である。
また、原稿の面積から算出した、事前に画素解析を実施すべきライン数が読み込まれたことに応じて、画素補正処理が開始できる点も特徴である。これによって、画像データのスプール容量を最低限にでき、かつ、リアルタイム性を持った処理を実現できる。
これにより、例えば、裏写りを抑制する画素補正処理のように、画素の解析処理と解析結果に基づいて画素補正処理を行う処理において、画素解析をラスタ形式で行い、画素補正処理をブロック形式で行うことができる。これによって、ブロック形式で画像処理を行った場合でも画質を維持することが可能となる。また、スキャン画像処理の処理順の制約によって、ブロック形式で処理できなかった他の画像処理アルゴリズムをブロック画像処理部に構成できるようになり、スキャン画像処理部全体の回路規模を抑制することが可能となる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
111…スキャン画像処理部、201…ラスタ処理部、202…スキャン画像処理部、206…画素解析部、212…画素補正処理部、306…平均値最大判定部、307…係数更新判定部、402…最大平均値記憶部、403…係数記憶部、408…係数補間部、409…補正量決定部
Claims (9)
- ラスタ形式の1ページの画像データに対してラスタ形式で画素解析を実行する第1画素解析手段と、
前記第1画素解析手段により解析された結果を、注目画素を含むブロックの座標とともに保持する保持手段と、
前記ラスタ形式の画像データをブロック形式で読み出し、当該ブロックの画素データに対してブロック形式で画素解析を実行する第2画素解析手段と、
前記第2画素解析手段により解析されたブロックに対応する前記保持手段に保持された前記結果と、前記第2画素解析手段により解析された結果とに基づいて、前記ブロックに含まれる注目画素を補正する補正手段と、
を有することを特徴とする画像処理装置。 - 前記第1画素解析手段は、
前記ラスタ形式の1ページの画像データから所定サイズのブロックの画素データを抽出する抽出手段と、
前記抽出手段により抽出された各ブロックの画素データの平均値の最大値を取得する第1取得手段と、
前記各ブロックの画素データの標準偏差を取得する第2取得手段と、を有し、
前記第1画素解析手段により解析された結果は、前記標準偏差を分類した分類値と、当該分類値に対応する平均値の最大値とを含むことを特徴とする請求項1に記載の画像処理装置。 - 前記第2画素解析手段は、
前記ブロック形式で読み出された画素データの各ブロックの平均値を取得する第3取得手段と、
前記ブロック形式で読み出された画素データの各ブロックの標準偏差を取得する第4取得手段と、を有し、
前記第2画素解析手段により解析された結果は、前記平均値、前記標準偏差、及び前記1ページにおける前記ブロックの位置を示す座標情報を含むことを特徴とする請求項2に記載の画像処理装置。 - 前記補正手段は、前記座標情報に基づいて、前記保持手段に保持された前記ブロックに対応する前記平均値の最大値と、前記保持手段に保持された前記1ページの画像データの副走査方向で前記ブロックの前後に位置しているブロックの前記平均値の最大値とに基づいて、前記ブロックに対応する前記平均値の最大値を変換し、
前記注目画素に応じて、前記変換した前記ブロックに対応する平均値の最大値、或いは前記保持手段に保持された前記ブロックに対応する前記結果に基づいて、前記ブロックに含まれる注目画素を補正することを特徴とする請求項3に記載の画像処理装置。 - 前記ブロックに対応する前記平均値の最大値の変換は、前記保持手段に保持された前記ブロックに対応する前記平均値の最大値と、前記1ページの画像データの副走査方向で前記ブロックの前後に位置しているブロックの前記平均値の最大値とを補間した値であることを特徴とする請求項4に記載の画像処理装置。
- 前記第2画素解析手段により解析された結果はさらに、前記注目画素が白画素か否かを示す情報を含み、
前記補正手段は、前記注目画素が白画素の場合は、前記変換した前記ブロックに対応する平均値の最大値に基づいて前記注目画素を補正し、前記注目画素が白画素でない場合は、前記保持手段に保持された前記ブロックに対応する前記結果に基づいて前記注目画素を補正することを特徴とする請求項4又は5に記載の画像処理装置。 - 前記ラスタ形式の1ページの画像データは、1枚の原稿をスキャナにより読み取って得られたラスタ形式の画像データであることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
- 画像処理装置を制御する制御方法であって、
ラスタ形式の1ページの画像データに対してラスタ形式で画素解析を実行する第1画素解析工程と、
前記第1画素解析工程で解析された結果を、注目画素を含むブロックの座標とともに保持する保持工程と、
前記ラスタ形式の画像データをブロック形式で読み出し、当該ブロックの画素データに対してブロック形式で画素解析を実行する第2画素解析工程と、
前記第2画素解析工程で解析されたブロックに対応する前記保持工程で保持された前記結果と、前記第2画素解析工程で解析された結果とに基づいて、前記ブロックに含まれる注目画素を補正する補正工程と、
を有することを特徴とする制御方法。 - コンピュータを、請求項1乃至7のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019043046A JP2020145661A (ja) | 2019-03-08 | 2019-03-08 | 画像処理装置とその制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019043046A JP2020145661A (ja) | 2019-03-08 | 2019-03-08 | 画像処理装置とその制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020145661A true JP2020145661A (ja) | 2020-09-10 |
Family
ID=72354630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019043046A Pending JP2020145661A (ja) | 2019-03-08 | 2019-03-08 | 画像処理装置とその制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020145661A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6983426B1 (ja) * | 2020-08-31 | 2021-12-17 | 株式会社大都技研 | 遊技台 |
JP2023024724A (ja) * | 2020-09-30 | 2023-02-16 | 株式会社大都技研 | 遊技台 |
-
2019
- 2019-03-08 JP JP2019043046A patent/JP2020145661A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6983426B1 (ja) * | 2020-08-31 | 2021-12-17 | 株式会社大都技研 | 遊技台 |
JP2022040788A (ja) * | 2020-08-31 | 2022-03-11 | 株式会社大都技研 | 遊技台 |
JP2023024724A (ja) * | 2020-09-30 | 2023-02-16 | 株式会社大都技研 | 遊技台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8384964B2 (en) | Image processing apparatus and image processing method | |
JP4725336B2 (ja) | 画像処理装置および画像処理プログラム | |
US8792139B2 (en) | Image processing apparatus and method of controlling same | |
JP6338469B2 (ja) | 画像処理装置および画像処理方法 | |
JP2008035502A (ja) | 多機能プリンタ装置、及び画像処理方法 | |
JP2020205595A (ja) | 画像処理システム及び画像処理方法 | |
JP2020145661A (ja) | 画像処理装置とその制御方法、及びプログラム | |
US6993208B2 (en) | Image processing apparatus and its processing method | |
JP6460627B2 (ja) | 原稿を読み取ることで得られた画像データに基づく印刷を行うことが可能な画像処理装置、画像処理装置の制御方法、およびプログラム | |
JP5222409B2 (ja) | プリンタ装置 | |
JP2018182464A (ja) | 画像処理装置及びプログラム | |
JP4500868B2 (ja) | 画像処理方法及び画像処理装置 | |
JP6157234B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2005031759A (ja) | 空間フィルタを適用する画像処理装置及び画像処理方法 | |
JP4031442B2 (ja) | 画像処理装置、及びそれを備える画像形成装置 | |
JP4328608B2 (ja) | 画像処理装置、方法、プログラム及び記憶媒体 | |
JP4746945B2 (ja) | 解像度変換装置及び方法 | |
JP2008294831A (ja) | 画像歪み補正装置 | |
JP2022086187A (ja) | 画像処理装置、画像処理装置、画像処理方法、及びプログラム | |
JP3880793B2 (ja) | 画像処理装置及び画像形成装置 | |
JP3850582B2 (ja) | 画像処理装置 | |
JP2024087384A (ja) | 画像処理モジュール | |
JP4661680B2 (ja) | 画像処理装置およびプログラム | |
JP5742320B2 (ja) | 画像形成装置、画像形成方法、プログラムおよび記録媒体 | |
JP4328609B2 (ja) | 画像処理装置、方法、プログラム及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |