JP2010068198A - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP2010068198A JP2010068198A JP2008232032A JP2008232032A JP2010068198A JP 2010068198 A JP2010068198 A JP 2010068198A JP 2008232032 A JP2008232032 A JP 2008232032A JP 2008232032 A JP2008232032 A JP 2008232032A JP 2010068198 A JP2010068198 A JP 2010068198A
- Authority
- JP
- Japan
- Prior art keywords
- paper fingerprint
- unit
- image
- forming apparatus
- image data
- 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
- Cleaning In Electrography (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】 紙指紋情報情報を取り扱うことができる画像処理装置において、同じ原本を読み込んだ場合は同じ場所の紙指紋を取得することを可能とし、マークなどの特別な画像を余計に印刷する必要をなくなる。又、悪意をもって塗りつぶしや切除などの加工をすることを行いずらくする。
【解決手段】 紙指紋の取得座標を原本に印刷されている画像データの特徴から求めることにする。
【選択図】 図1
【解決手段】 紙指紋の取得座標を原本に印刷されている画像データの特徴から求めることにする。
【選択図】 図1
Description
本発明は、紙指紋情報(以下では、紙指紋情報のことを紙紋とも称する)情報を取り扱うことができる画像形成装置及び画像形成装置の制御方法及びプログラム及び記憶媒体に関する。
紙は、太さ20〜30ミクロン程度の植物繊維がからまってできている。そのからまりにより、ランダムなパターンを作り出されている。このランダムなパターンは、指紋と同じように、紙一枚一枚で異なる。このような紙上のランダムなパターンを紙指紋情報と呼ぶ。
紙指紋情報は紙一枚一枚で違っているため、「私の発行した原本は、この紙指紋情報を有する紙だ」と登録しておくと、後で紙が「原本」なのか「偽物」なのかを区別する時に便利である。なお、「偽物」には、「原本の複写物」も当然含まれることになる。
特許文献1は、原本を作成する際に、原本となる用紙に付されたマークを基準位置として、その基準位置から所定距離離れた領域を紙指紋情報取得領域として設定する技術を開示している。また、この文献は、設定された紙指紋情報取得領域から紙指紋情報を取得することも開示している。さらに、当該取得した紙指紋情報を符号化して符号画像を生成し、当該生成された符号画像を上記原本となる用紙に印刷する技術も開示している。
また、特許文献2では、その段落58に以下の記載がある。即ち、印刷データに基づいて記録用紙22のうちトナー等が付着されない範囲を判断し、当該判断した範囲内に紙指紋情報取得領域を設定することが望ましいという記載がある。
特開2004-112644号公報
特開2005-038389号公報
特許文献1の技術を用いて、原本となる用紙に付されたマークを基準位置として、その基準位置から所定距離離れた領域を紙指紋情報取得領域として設定する場合、基準位置を示すマークが必要になり、原本にはユーザが印刷した画像データ以外の情報が印刷されていることが必要になる。画像データ以外のマークが印刷されていなければならないという限定があることが課題となっている。
また、マークを印刷する代わりに、紙の固定位置の紙指紋を取得する方法もあるが、悪意のある第三者に固定位置の紙指紋に対して、塗りつぶしや切除などの加工を行いやすくしてしまうという課題がある。
上記課題を解決するために、本発明に係る画像形成装置は、画像読取装置によって読み取られた原本の画像データから、文字や背景、ラインアートや表などのブロックにわける。また画像の属性と、それぞれの属性の画像の領域を求める。求められた各々のブロックの特徴属性の画像領域の特徴を示す情報を、予め定めれた原本上の座標を求めるための計算式に当てはめ、求められた原本上の座標から紙指紋データを取得することを特徴とする。
本発明により、紙指紋の取得座標を原本に印刷されている画像データの特徴から求めることにより、同じ原本を読み込んだ場合は同じ場所の紙指紋を取得することが可能となり、マークなどの特別な画像を余計に印刷する必要がなくなる。またユーザは原本上のどの領域の紙指紋を使用しているかがわからないため、悪意をもって塗りつぶしや切除などの加工を行いずらくすることが可能である。
次に、本発明の詳細を実施例の記述に従って説明する。
以下では、図面を参照して本発明を実施するための最良の形態について説明する。
<印刷システム(図1)>
続いて、実施例1について図面を参照して詳細に説明する。図1は本発明の実施形態に係る印刷システムの構成を示すブロック図である。このシステムではホストコンピュータ40及び3台の画像形成装置(10,20,30)がLAN50に接続されているが、本発明における印刷システムにおいては、これらの接続数に限られることはない。また、本実施例では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
続いて、実施例1について図面を参照して詳細に説明する。図1は本発明の実施形態に係る印刷システムの構成を示すブロック図である。このシステムではホストコンピュータ40及び3台の画像形成装置(10,20,30)がLAN50に接続されているが、本発明における印刷システムにおいては、これらの接続数に限られることはない。また、本実施例では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
ホストコンピュータ(以下、PCと称する)40はパーソナルコンピュータの機能を有している。このPC40はLAN50やWANを介してFTPやSMBプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。またPC40から画像形成装置10、20、30に対して、プリンタドライバを介した印字命令を行うことが可能となっている。
画像形成装置10と20は同じ構成を有する装置である。画像形成装置30はプリント機能のみの画像形成装置であり、画像形成装置10や20が有するスキャナ部を有していない。以下では、説明の簡単のために、画像形成装置10、20のうちの画像形成装置10に注目して、その構成を詳細に説明する。
画像形成装置10は、画像入力デバイスであるスキャナ部13、画像出力デバイスであるプリンタ部14、画像形成装置10全体の動作制御を司るコントローラ11、ユーザインターフェース(UI)である操作部12から構成される。
<画像形成装置10(図2)>
画像形成装置10の外観を図2に示す。スキャナ部13は、複数のCCDを有している。この各CCDの感度が夫々異なっていると、たとえ原稿上の各画素の濃度が同じであったとしても、各画素が夫々違う濃度であると認識されてしまう。そのため、スキャナ部では、最初に白板(一様に白い板)を露光走査し、露光走査して得られた反射光の量を電気信号に変換してコントローラ11に出力している。なお、後述するように、コントローラ11内のシェーディング補正部500は、各CCDから得られた電気信号を元に、各CCDの感度の違いを認識している。そして、この認識された感度の違いを利用して、原稿上の画像をスキャンして得られた電気信号の値を補正している。さらに、シェーディング補正部500は、後述するコントローラ11内のCPU301からゲイン調整の情報を受取ると、当該情報に応じたゲイン調整を行う。ゲイン調整は、原稿を露光走査して得られた電気信号の値を、どのように0〜255の輝度信号値に割り付けるかを調整するために用いられる。このゲイン調整により、原稿を露光走査して得られた電気信号の値を高い輝度信号値に変換したり、低い輝度信号値に変換したりすることができるようになっている。続いて、この原稿上の画像をスキャンする構成について説明する。
画像形成装置10の外観を図2に示す。スキャナ部13は、複数のCCDを有している。この各CCDの感度が夫々異なっていると、たとえ原稿上の各画素の濃度が同じであったとしても、各画素が夫々違う濃度であると認識されてしまう。そのため、スキャナ部では、最初に白板(一様に白い板)を露光走査し、露光走査して得られた反射光の量を電気信号に変換してコントローラ11に出力している。なお、後述するように、コントローラ11内のシェーディング補正部500は、各CCDから得られた電気信号を元に、各CCDの感度の違いを認識している。そして、この認識された感度の違いを利用して、原稿上の画像をスキャンして得られた電気信号の値を補正している。さらに、シェーディング補正部500は、後述するコントローラ11内のCPU301からゲイン調整の情報を受取ると、当該情報に応じたゲイン調整を行う。ゲイン調整は、原稿を露光走査して得られた電気信号の値を、どのように0〜255の輝度信号値に割り付けるかを調整するために用いられる。このゲイン調整により、原稿を露光走査して得られた電気信号の値を高い輝度信号値に変換したり、低い輝度信号値に変換したりすることができるようになっている。続いて、この原稿上の画像をスキャンする構成について説明する。
スキャナ部は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換する。さらに電気信号をR,G,B各色からなる輝度信号に変換し、当該輝度信号を画像データとしてコントローラ11に対して出力する。
なお、原稿は原稿フィーダ201のトレイ202にセットされる。ユーザが操作部12から読み取り開始を指示すると、コントローラ11からスキャナ部13に原稿読み取り指示が与えられる。スキャナ部13は、この指示を受けると原稿フィーダ201のトレイ202から原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダ201による自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
プリンタ部14は、コントローラ11から受取った画像データを用紙上に形成する画像形成デバイスである。なお、本実施例において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式となっているが、本発明はこれに限られることはない。例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式などでも適用可能である。また、プリンタ部14には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット203、204、205が設けられている。排紙トレイ206には印字後の用紙が排出される。
<コントローラ11の詳細説明(図3)>
図3は、画像形成装置10のコントローラ11の構成をより詳細に説明するためのブロック図である。
図3は、画像形成装置10のコントローラ11の構成をより詳細に説明するためのブロック図である。
コントローラ11はスキャナ部13やプリンタ部14と電気的に接続されており、一方ではLAN50やWAN331を介してPC40や外部の装置などと接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
CPU301は、ROM303に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる各種処理についても統括的に制御する。RAM302は、CPU301が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM302は、記憶した内容を電源off後も保持しておくSRAM及び電源off後には記憶した内容が消去されてしまうDRAMにより構成されている。ROM303には装置のブートプログラムなどが格納されている。HDD304はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
操作部I/F305は、システムバス310と操作部12とを接続するためのインターフェース部である。この操作部I/F305は、操作部12に表示するための画像データをシステムバス310から受取り操作部12に出力すると共に、操作部12から入力された情報をシステムバス310へと出力する。
NetworkI/F306はLAN50及びシステムバス310に接続し、情報の入出力を行う。Modem307はWAN331及びシステムバス310に接続しており、情報の入出力を行う。2値画像回転部308は送信前の画像データの方向を変換する。2値画像圧縮・伸張部309は、送信前の画像データの解像度を所定の解像度や相手能力に合わせた解像度に変換する。なお圧縮及び伸張にあたってはJBIG、MMR、MR、MHなどの方式が用いられる。画像バス330は画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。
スキャナ画像処理部312は、スキャナ部13からスキャナI/F311を介して受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部312は、受取った画像データがカラー原稿か白黒原稿かや、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。このスキャナ画像処理部312で行われる処理の詳細については後述する。
圧縮部313は画像データを受取り、この画像データを32画素x32画素のブロック単位に分割する。なお、この32×32画素の画像データをタイルデータと称する。図4は、このタイルデータを概念的に表している。原稿(読み取り前の紙媒体)において、このタイルデータに対応する領域をタイル画像と称する。なおタイルデータには、その32×32画素のブロックにおける平均輝度情報やタイル画像の原稿上の座標位置がヘッダ情報として付加されている。さらに圧縮部313は、複数のタイルデータからなる画像データを圧縮する。伸張部316は、複数のタイルデータからなる画像データを伸張した後にラスタ展開してプリンタ画像処理部315に送る。
プリンタ画像処理部315は、伸張部316から送られた画像データを受取り、この画像データに付随させられている属性データを参照しながら画像データに画像処理を施す。画像処理後の画像データは、プリンタI/F314を介してプリンタ部14に出力される。このプリンタ画像処理部315で行われる処理の詳細については後述する。
画像変換部317は、画像データに対して所定の変換処理を施す。この処理部は以下に示すような処理部により構成される。
伸張部318は受取った画像データを伸張する。圧縮部319は受取った画像データを圧縮する。回転部320は受取った画像データを回転する。変倍部321は受取った画像データに対し解像度変換処理(例えば600dpiから200dpi)を行う。色空間変換部322は受取った画像データの色空間を変換する。この色空間変換部322は、マトリクス又はテーブルを用いて公知の下地飛ばし処理を行ったり、公知のLOG変換処理(RGB→CMY)を行ったり、公知の出力色補正処理(CMY→CMYK)を行ったりすることができる。2値多値変換部323は受取った2階調の画像データを256階調の画像データに変換する。逆に多値2値変換部324は受取った256階調の画像データを誤差拡散処理などの手法により2階調の画像データに変換する。
合成部327は受取った2つの画像データを合成し1枚の画像データを生成する。なお、2つの画像データを合成する際には、合成対象の画素同士が持つ輝度値の平均値を合成輝度値とする方法や、輝度レベルで明るい方の画素の輝度値を合成後の画素の輝度値とする方法が適用される。また、暗い方を合成後の画素とする方法の利用も可能である。さらに合成対象の画素同士の論理和演算、論理積演算、排他的論理和演算などで合成後の輝度値を決定する方法なども適用可能である。これらの合成方法はいずれも周知の手法である。間引き部326は受取った画像データの画素を間引くことで解像度変換を行い、1/2,1/4,1/8などの画像データを生成する。移動部325は受取った画像データに余白部分をつけたり余白部分を削除したりする。
RIP328は、PC40などから送信されたPDLコードデータを元に生成された中間データを受取り、ビットマップデータ(多値)を生成する。
<スキャナ画像処理部312の詳細説明(図5)>
図5にスキャナ画像処理部312の内部構成を示す。
図5にスキャナ画像処理部312の内部構成を示す。
スキャナ画像処理部312はRGB各8bitの輝度信号からなる画像データを受取る。
シェーディング補正部500は、この輝度信号に対してシェーディング補正する。シェーディング補正とは、上述したように、CCDの感度のばらつきによって原稿の明るさが誤認識されてしまうことを防止するための処理である。さらに、上述したように、このシェーディング補正部500は、CPU301からの指示によりゲイン調整を行うことができるようになっている。
続いて、この輝度信号は、マスキング処理部501によりCCDのフィルタ色に依存しない標準的な輝度信号に変換される。
フィルタ処理部502は、受取った画像データの空間周波数を任意に補正する。この処理部は、受取った画像データに対して、例えば7×7のマトリクスを用いた演算処理を行う。ところで、複写機や複合機では、図7における704タブの押し下げによりコピーモードとして文字モードや写真モードや文字/写真モードを選択することができる。ここでユーザにより文字モードが選択された場合には、フィルタ処理部502は文字用のフィルタを画像データ全体にかける。また、写真モードが選択された場合には、写真用のフィルタを画像データ全体にかける。また、文字/写真モードが選択された場合には、後述の文字写真判定信号(属性データの一部)に応じて画素ごとに適応的にフィルタを切り替える。つまり、画素ごとに写真用のフィルタをかけるか文字用のフィルタをかけるかが決定される。なお、写真用のフィルタには高周波成分のみ平滑化が行われるような係数が設定されている。これは、画像のざらつきを目立たせないためである。また、文字用のフィルタには強めのエッジ強調を行うような係数が設定されている。これは、文字のシャープさを出すためである。
ヒストグラム生成部503は、受取った画像データを構成する各画素の輝度データをサンプリングする。より詳細に説明すると、主走査方向、副走査方向にそれぞれ指定した開始点から終了点で囲まれた矩形領域内の輝度データを、主走査方向、副走査方向に一定のピッチでサンプリングする。そして、サンプリング結果を元にヒストグラムデータを生成する。生成されたヒストグラムデータは、下地飛ばし処理を行う際に下地レベルを推測するために用いられる。入力側ガンマ補正部504は、テーブル等を利用して非線形特性を持つ輝度データに変換する。
カラーモノクロ判定部505は、受取った画像データを構成する各画素が有彩色であるか無彩色であるかを判定し、その判定結果をカラーモノクロ判定信号(属性データの一部)として画像データに付随させる。
文字写真判定部506は、画像データを構成する各画素が文字を構成する画素なのか、網点を構成する画素なのか、網点中の文字を構成する画素なのか、ベタ画像を構成する画素なのかを各画素の画素値と各画素の周辺画素の画素値とに基づいて判定する。なお、どれにもあてはまらない画素は、白領域を構成している画素である。そして、その判定結果を文字写真判定信号(属性データの一部)として画像データに付随させる。
紙指紋情報取得部507は、シェーディング補正部500から入力されたRGBの画像データのうち紙指紋情報取得領域としてCPU301が指定した原稿の座標から領域を決定し、当該決定された紙指紋情報取得領域の画像データを取得する。なお、紙指紋情報取得領域として適切な領域を決定する方法については、図15を用いて後述する。
図8は、この紙指紋情報取得部507が行う紙指紋情報取得処理を示すフローチャートである。
ステップ801では紙指紋情報取得部507において取得した画像データをグレイスケールの画像データに変換する。ステップ802では、ステップ801においてグレイスケールの画像データへ変換された画像において、印刷や手書きの文字といった誤判定の要因となりうるものを取り除いて照合を行うためのマスクデータを作成する。マスクデータは" 0 "or" 1 "の2値データである。グレイスケールの画像データにおいて、輝度信号値が第1の閾値(つまり、明るい)以上である画素については、マスクデータの値を" 1 "に設定する。また、輝度信号値が第1の閾値未満である画素についてはマスクデータの値を" 0 "に設定する。以上の処理を、グレイスケールの画像データに含まれる各画素に対して行う。ステップ803では、ステップ801においてグレイスケールに変換された画像データ及び、ステップ802において作成されたマスクデータの2つのデータを紙指紋情報として取得する。なお、ステップ801においてグレイスケールに変換された画像データ自体のことを紙指紋情報と称することもあるが、本実施例では、上記二つのデータを紙指紋情報と称することにする。
紙指紋情報取得部507は、上記紙指紋情報取得領域の紙指紋情報を不図示のデータバスを用いてRAM302に送る。
<プリンタ画像処理部315の詳細説明(図6)>
図6にプリンタ画像処理315においてなされる処理の流れを示す。
図6にプリンタ画像処理315においてなされる処理の流れを示す。
下地飛ばし処理部601は、スキャナ画像処理部312で生成されたヒストグラムを用いて画像データの下地色を飛ばす(除去する)。モノクロ生成部602はカラーデータをモノクロデータに変換する。Log変換部603は輝度濃度変換を行う。このLog変換部603は、例えば、RGB入力された画像データを、CMYの画像データに変換する。出力色補正部604は出力色補正を行う。例えばCMY入力された画像データを、テーブルやマトリックスを用いてCMYKの画像データに変換する。出力側ガンマ補正部605は、この出力側ガンマ補正部605に入力される信号値と、複写出力後の反射濃度値とが比例するように補正を行う。中間調補正部606は、出力するプリンタ部の階調数に合わせて中間調処理を行う。例えば、受取った高階調の画像データに対し2値化や32値化などを行う。
なお、スキャナ画像処理部312やプリンタ画像処理部315における各処理部では、受取った画像データに各処理を施さずに出力させることも可能となっている。このような、ある処理部において処理を施さずにデータを通過させることを、以下では「処理部をスルーさせる」と表現することにする。
<紙指紋情報登録処理>
CPU301は、紙指紋情報取得部507からRAM302に送られてきた所定領域の紙指紋情報を読出し、当該読出された紙指紋情報を不図示のサーバに登録することが可能となっている。この登録は、RAM302内に格納されたプログラムを実行することによって行われる。
CPU301は、紙指紋情報取得部507からRAM302に送られてきた所定領域の紙指紋情報を読出し、当該読出された紙指紋情報を不図示のサーバに登録することが可能となっている。この登録は、RAM302内に格納されたプログラムを実行することによって行われる。
<紙指紋情報照合処理>
CPU301は、紙指紋情報取得部507からRAM302に送られてきた紙指紋情報を読出し、当該読出された紙指紋情報と他の紙指紋情報とを照合すべく制御することが可能となっている。なお、他の紙指紋情報は、本実施例においてサーバに登録されている紙指紋情報のことを意味する。
CPU301は、紙指紋情報取得部507からRAM302に送られてきた紙指紋情報を読出し、当該読出された紙指紋情報と他の紙指紋情報とを照合すべく制御することが可能となっている。なお、他の紙指紋情報は、本実施例においてサーバに登録されている紙指紋情報のことを意味する。
図9は、この紙指紋情報照合処理を示すフローチャートである。本フローチャートの各ステップは、CPU301により統括的に制御される。
ステップ901では、サーバに登録されている紙指紋情報を取得し、RAM302へ保存する。
ステップ902では、紙指紋情報取得部507から送られてきた(登録されていた)紙指紋情報と、ステップ901において取出された(今、取出されたばかりの)紙指紋情報との照合をする。照合にあたっては、まず、登録されていた紙指紋情報と取出された紙指紋情報とが夫々異なった位置から取得された可能性があることを懸念して、位置ずれ補正を行う。この位置ずれ補正は以下のような手法となっている。
<位置ずれ補正>
まず、式(1)を用いて2つの紙指紋情報の誤差値E(i,j) (2つの紙指紋情報の位置を(i,j)ずらしたときの)を(2n−1)×(2m−1)個求める。
まず、式(1)を用いて2つの紙指紋情報の誤差値E(i,j) (2つの紙指紋情報の位置を(i,j)ずらしたときの)を(2n−1)×(2m−1)個求める。
前記誤差イメージから紙指紋情報照合の結果を数値化するために、以下の処理を行う。式(1)の関数により求まった誤差イメージの画素の各輝度信号値を反転させ負の値にする。さらに、各負の値の平均を求め、当該平均値と上記各負の値との差分値を求める。続いて、当該求められた各差分値から標準偏差を求め、上記各負の値を標準偏差で割り商を求める。最後に、求められた商のうちの最大値を2つの紙指紋情報のマッチング度合いとする。その結果、この紙指紋情報のマッチグ度合いは0以上の値で表され、このマッチング度合いが大きければ大きいほど、上記二つの紙指紋情報の一致度は高い。
ステップ903では、ステップ902において求められた2つの紙指紋情報のマッチング度合いと所定の閾値との比較を行って、「有効」「無効」を決定する。
コントローラ11の説明は以上である。
<操作画面の説明>
図7は画像形成装置10における初期画面である。領域701は、画像形成装置10がコピーできる状態にあるか否かを示し、かつ設定したコピー部数を示す。原稿選択タブ704は原稿のタイプを選択するためのタブであり、このタブが押し下げられると文字、写真、文字/写真モードの3種類の選択メニューをポップアップ表示される。フィニッシングタブ706は各種フィニッシングに関わる設定を行うためのタブである。両面設定タブ707は両面読込み及び両面印刷に関する設定を行うためのタブである。読み取りモードタブ702は原稿の読み取りモードを選択するためのタブである。このタブが押し下げられるとカラー/ブラック/自動(ACS)の3種類の選択メニューがポップアップ表示される。なお、カラーが選択された場合にはカラーコピーが、ブラックが選択された場合にはモノクロコピーが行われる。また、ACSが選択された場合には、上述したモノクロカラー判定信号によりコピーモードが決定される。
図7は画像形成装置10における初期画面である。領域701は、画像形成装置10がコピーできる状態にあるか否かを示し、かつ設定したコピー部数を示す。原稿選択タブ704は原稿のタイプを選択するためのタブであり、このタブが押し下げられると文字、写真、文字/写真モードの3種類の選択メニューをポップアップ表示される。フィニッシングタブ706は各種フィニッシングに関わる設定を行うためのタブである。両面設定タブ707は両面読込み及び両面印刷に関する設定を行うためのタブである。読み取りモードタブ702は原稿の読み取りモードを選択するためのタブである。このタブが押し下げられるとカラー/ブラック/自動(ACS)の3種類の選択メニューがポップアップ表示される。なお、カラーが選択された場合にはカラーコピーが、ブラックが選択された場合にはモノクロコピーが行われる。また、ACSが選択された場合には、上述したモノクロカラー判定信号によりコピーモードが決定される。
領域708は、紙指紋情報登録処理を選択するためのタブである。紙指紋情報登録処理については、後述する。領域709は、紙指紋情報照合処理を選択するためのタブである。この紙指紋情報照合処理については、後述する。
領域710はシステムの状況を示すためのタブである。このタブが押し下げられると、画像形成装置10内のHDD304に保存されている画像データの一覧が表示画面に表示されるようになっている。
<紙指紋情報登録処理のタブが押下された際の動作>
続いて、図7に示す紙指紋情報登録タブ708がユーザにより押下された後にスタートキーが押下された際に、実行される紙指紋情報登録処理について図10を用いて説明する。
続いて、図7に示す紙指紋情報登録タブ708がユーザにより押下された後にスタートキーが押下された際に、実行される紙指紋情報登録処理について図10を用いて説明する。
ステップ1001では、スキャナ部13で読み取られた原稿を、画像データとしてスキャナI/F311を介してスキャナ画像処理部312に送るように制御する。スキャナ画像処理部312で画像処理が行われた画像データは、圧縮部313で圧縮された後、RAM302へ転送される。ステップ1002でCPU301はRAM302に転送された画像データに対して、紙指紋を取得すべき座標を求めるための座標算出を行う。この座標算出の詳細は後述する。
ステップ1003では、CPU301は紙指紋情報取得部507へ紙指紋を取得する座標を通知する。
ステップ1004では、スキャナ画像処理部312は、一般的なゲイン調整値よりも小さいゲイン調整値を、シェーディング補正部500に設定する。そして、画像データに対して上記小さいゲイン調整値を適用することで得られた各輝度信号値を紙指紋情報取得部507に対して出力する。その後、出力データに基づいて、紙指紋情報取得部507は、CPU301から通知された座標から紙指紋情報を取得する。そして、当該取得された紙指紋情報を不図示のデータバスを用いてRAM302に送る。
紙指紋取得技術では、白い領域から繊維のパターンを取得する以上、暗めの画像データを得ることは必須である。そのため、本実施例では、スキャナ画像処理部312が一般的なゲイン調整値よりも小さいゲイン調整値を設定することで、紙指紋情報取得用の暗い画像データを得た。しかしながら、暗い画像データを得る方法としてはこれに限られない。例えば、光量を落としてスキャンするような方法も考えられる。
ステップ1005では、CPU301は、サーバから管理番号を発行してもらい、当該管理番号と紙指紋情報とを夫々関連付けてサーバに登録する。
ステップ1006では、管理番号を表示画面に表示するようにCPU301は制御する。
<紙指紋情報照合処理のタブが押下された際の動作>
続いて、図7に示す紙指紋情報照合タブ709がユーザにより押下され、その後、管理番号が入力された後にスタートキーが押下された際の動作について図11を用いて説明する。
続いて、図7に示す紙指紋情報照合タブ709がユーザにより押下され、その後、管理番号が入力された後にスタートキーが押下された際の動作について図11を用いて説明する。
ステップ1101では、CPU301は、スキャナ部13で読み取られた原稿を、画像データとしてスキャナI/F311を介してスキャナ画像処理部312に送るように制御する。
ステップ1102では、スキャナ画像処理部312は、この画像データに対して図6に示す処理を行う。
さらに、このステップ1102では、スキャナ部13で読み取られた原稿を、画像データとしてスキャナI/F311を介してスキャナ画像処理部312に送るように制御する。スキャナ画像処理部312で画像処理が行われた画像データは、圧縮部313で圧縮された後、RAM302へ転送される。ステップ1103でCPU301はRAM302に転送された画像データに対して、紙指紋を取得すべき座標を求めるための座標算出を行う。この座標算出の詳細は後述する。
ステップ1104では、CPU301は紙指紋情報取得部507へ紙指紋を取得する座標を通知する。
ステップ1105では、スキャナ画像処理部312は、一般的なゲイン調整値よりも小さいゲイン調整値を、シェーディング補正部500に設定する。そして、画像データに対して上記小さいゲイン調整値を適用することで得られた各輝度信号値を紙指紋情報取得部507に対して出力する。その後、出力データに基づいて、紙指紋情報取得部507は、CPU301から通知された座標から紙指紋情報を取得する。そして、当該取得された紙指紋情報を不図示のデータバスを用いてRAM302に送る。
さらに、このステップ1106では、入力された管理番号と関連付けられた状態でサーバに登録されている紙指紋情報を取得する。そして、当該取得された情報を不図示のデータバスを用いてRAM302に送る。
ステップ1107では、CPU301は、サーバに登録されていた紙指紋情報と、紙指紋情報取得部507を通じて取得した紙指紋情報とを照合する。この照合処理については、<紙指紋情報照合処理>で図9を用いて説明した通りである。
ステップ1108では、CPU301は、<紙指紋情報照合処理>により得られた結果(有効か無効か)を操作部12の表示画面上に表示するように制御する。
<紙指紋情報取得領域の決定方法>
紙指紋情報取得領域の決定方法に関して詳細に説明を行う。図12は紙指紋情報取得領域の決定方法を行うためのフローチャートである。
紙指紋情報取得領域の決定方法に関して詳細に説明を行う。図12は紙指紋情報取得領域の決定方法を行うためのフローチャートである。
まず、紙指紋の登録処理または紙指紋の照合処理実行時に、S1201においてCPU301の指示によりスキャナから画像データがRAM302へ転送され、RAM302へ転送された画像データに対して、画像中の部分領域の属性を分類するための処理(以下ではこれをブロックセレクション処理と呼ぶことにする)を行う。
次にS1202において、RAM302へ転送された画像データは多値画像データであるため、CPU301は伸張部318および多値2値部324を使用し、RAM302に記憶されている多値の圧縮された画像データを伸張部318によって伸張した後、多値2値部324によって2値データへ変換して、再びRAM302に2値化された画像データを転送する。
次にS1203の処理において、ブロックセレクションの処理を行う。ブロックセレクションの詳細は図13のフローチャートを使用して説明を行う。
ステップS1301において、ブロックセレクションの処理速度を速くしたい場合には、イメージデータの間引きを行う。ここでイメージデータの間引きが行われた場合には、ブロックセレクション処理はその間引かれたイメージに対して行われる。
具体的なイメージデータの間引きは、画素のm×mブロックにおける黒画素の連結性を調べることにより行われる。例えば、3×3の画素ブロックにおいて、連結した黒画素が2つ存在する場合は、その3×3の画素ブロックは1つの黒画素に間引かれる。逆に、そのブロックにおいて、連結して白画素が2つ存在する場合は、そのブロックは1つの白画素に間引かれる。
次に、ステップS1302において、画素のイメージを解析し、連結性が探索されると共に、その大きさや他の連結成分に対する相対的な位置に応じて分類される。1つの連結成分というのは、白画素によって完全に囲まれた黒画素の集合である。従って、1つの黒画素連結成分は、他の黒画素連結成分から少なくとも1つの白画素により完全に分離される。
次に、ステップS1302において、近接した連結成分は、ギャップラインを挟まない限りグループ化される。ここでのグループ化は、垂直方向に行う場合と水平方向に行う場合とがある。これはグループ化しようとするテキストユニットが縦書きであるか横書きであるかということに対応しており、両方向に近接した連結成分間の距離を予め水平及び垂直それぞれの方向について調べておき、水平方向の距離が小さい場合には水平方向に、垂直方向の距離が小さい場合には垂直方向にグループ化を行うこととする。
更に、ステップS1303では、行間で垂直若しくは水平方向に延長したギャップと、非テキストユニットの垂直方向に延長した境界とを検出することにより、テキストユニットが行にグループ化されるかどうかを決定する。
次に、ステップS1304において、上述のステップS1303でグループ化された行が、先にグループ化された方向とは逆方向についてスペースが狭ければ、その方向に再度グループ化されブロック化される。一方、非テキストユニットはそのイメージページに対する境界として用いられる。2つの非テキストユニットの間にあるテキストユニットは、他のテキストラインユニットとは分けられて処理される。
以上説明したように、スキャンした画像を図13のフローに従ってブロック化し、図14に示されるようなブロックを生成する。ブロックが生成されたのち、S1204の処理において、これらのブロックの位置情報や、ブロックの大きさをもとに紙指紋情報取得領域を算出する。そしてS1205の処理において、CPU301は、S1204で算出した紙指紋情報取得領域の座標情報を、紙指紋情報取得部507へ設定し紙指紋情報を取得させる。
紙指紋情報取得領域を決定の方法は、ブロックの位置情報やブロックの大きさの情報を予め定められた計算式に当てはめ、原稿上の座標を計算し、この座標から紙指紋情報を取得する。図14に示すように紙指紋の領域の先頭座標(α、Β)を求め、座標(α、Β)からX方向、Y方向の紙指紋の取得領域の長さは、予め定められている固定値となる。
次に紙指紋を取得する領域を求める一例を図15のフローチャートを用いて説明を行う。
S1501の処理において、ブロック化処理の後、ブロック領域以外のなにも印字がない空白の領域を求める。この処理によって、例えば図16に示すようなAからFまでの空白ブロックを求めることができる。次にS1502の処理において、S1501で求めた空白ブロックの中で、紙指紋取得のためX、Y方向に連続して予め定められたレングス、例えば128画素分の空白が連続する空白ブロックを選択する。図16の例では、連続して128画素分の領域がとれる空白ブロックがA、C、F、の3つだとすると、これら3つの空白ブロックが紙指紋取得領域の候補として選択される。次にS1503の処理において、S1502の処理で候補として選択されたブロックの1つをさらに選択する。選択の方法としての例としては、図13のフローで求められた印字がされているブロックの数を利用して、その印字されているブロックの数が例えば3であった場合には、空白ブロックの3番目、つまり空白ブロックのFの領域を選択するなどの方法が考えられる。空白ブロックの数が、図13で求められた印字されているブロックの数よりも小さい場合は、もう一度空白ブロックの1つめにもどって選択することなどが考えられる。
次のS1504の処理において、S1503で選択された空白ブロック先頭座標からX方向、Y方向に連続して128画素分の領域を紙指紋として取得する。
以上説明したように、印字されている原稿から印字されている領域をブロック化し、次に印字されているブロックから、空白のブロックを検出して、印字されているブロックの情報を利用して、空白ブロックの中から紙指紋を取得する領域を選択することにより、原稿ごとに紙指紋を取得する領域を変更可能とすることで、同じ原本を読み込んだ場合は同じ場所の紙指紋を取得することが可能となり、マークなどの特別な画像を余計に印刷する必要がなくなる。またユーザは原本上のどの領域の紙指紋を使用しているかがわからないため、悪意をもって塗りつぶしや切除などの加工を行いずらくすることが可能となる。また、図15のフローにおいて、空白ブロックの選択方法をさらに複雑な計算式に変更することや、選択された空白ブロックの先頭座標から紙指紋情報を取得するのではなく、空白ブロックの内部のなかからさらに印字されているブロックの数や、座標、面積の大きさなどの情報を利用して、紙指紋領域を取得する座標を算出するようにすることで、紙指紋取得の座標を悪意をもって加工することを、さらに抑止できるようになる。
次に本発明に関わる第二の実施例の説明を行う。第二の実施例が第一の実施例と異なるところは、第一実施例の図13のフローチャートでもとめた印字がされている領域を単にブロック化するだけでなく、ブロック化されたあと、そのブロックの属性情報を詳細に求め、その詳細な属性情報も利用して、紙指紋取得の領域を決定する点である。
次に図13のS1302のステップにおいて、さらに詳細な属性情報を求める方法について説明を行う。
図17、図18、図19は、上述したステップS1302の処理を詳細に示すフローチャートであり、どのように画素イメージデータの連結画素を検出し、それらの連結画素を分類しているかを示すものである。
ステップS1701において、輪郭線追跡により画素イメージデータの探索を行う。輪郭線追跡は、図20に示されるように、イメージをスキャンすることにより行われる。スキャンは、矢印Aで示す右下から始まり、図形の右端に出会うまで上方に行われていく。尚、このスキャンは、他の方向、例えば左上から右下に向けて行ってもよい。黒画素にぶつかると、隣接した画素が、黒画素かどうかを図20の31に示すパターンの方向の順に調べる。この探索は、中心から見て8方向のベクトルで表されるので8方向探索と呼ばれる。隣接した黒画素が存在すると、このプロセスにより、図形の外部輪郭が得られる。具体的には、図21に示すように、矢印A方向のスキャンが文字“Q”32の端に対応するポイントにぶつかる。そこで、隣接画素の調査を上述のパターン31によって行い、文字“Q”の外輪郭を追跡する。尚、閉じた輪郭の内側の部分の追跡は行わない。
次に、8方向探索により得られた輪郭線、即ち1つの連結成分が取り出されると、次の黒画素に出会うまでスキャンを続行する。そして、例えば完全な黒領域を表していると思われるオブジェクト34が8方向探索される。同様に、手書き文字“non-text”である非テキストのオブジェクト35が追跡され、更に、単語“text”を形成するこの文字の集合オブジェクト36が追跡される。尚、図20で示されるスキャンは、全ての連結成分が検出されるまで、続けられる。
そして、ステップS1702において、すべての連結成分を矩形で切り出す。この場合、個々の連結成分を覆う可能な限り最小の矩形が描かれることになる。こうして、図21におけるオブジェクト32の回りに矩形37が、オブジェクト34の回りに矩形39が、オブジェクト35の回りに矩形40が描かれる。また、テキストオブジェクト36a,36b,36c,36dに対する矩形41a〜41dも同様である。
次に、ステップS1703で、すべての矩形に対して木構造における位置付けを行う。殆どの場合、ステップS1703で得られた木構造は、各オブジェクトに対してルートから直接生じる。これは、連結成分の外部輪郭だけが追跡され、閉領域の内部は追跡されないからである。これにより、図22のように連結成分32に対応する矩形37はページのルートから直接生じる。しかし、非テキストオブジェクト35を囲む矩形40やテキストオブジェクト36a,36bを囲む矩形41a,41bのように完全にその矩形が他の矩形に含まれてしまう場合は、これらの連結成分は包含される連結成分(この場合、成分34)の子となる。更に、成分34のような少なくとも1つの子を持つそれぞれの連結成分は、成分それ自身を“主要な子”とする。図22の例では、成分39は他の子成分40,41a,41bと共に自分自身を主要な子として含んでいる。
次に、ステップS1704において、木における第一レベルのそれぞれの連結成分がテキストユニットか非テキストユニットに分類する。この分類過程は2つのステップから成り立つ。最初のステップでは、連結成分を囲む矩形を予め定めたサイズと比較する。ここで連結成分を囲む矩形の高さがフォントサイズの最大値に対応する予め定められた値を越える場合、或いは矩形の幅がページ幅を経験的に決められた一定の値(“5”で満足のいく結果が得られている)で割った値より大きい場合、その連結成分を非テキストユニットと分類し、“非テキスト”の属性をそのユニットに与える。
第2ステップでは、属性の与えられなかった残りのすべてのユニット、即ち非テキストとして分類されなかったユニットを残りすべての連結成分から得られる統計的なサイズに基づいて決められた値と比較する。特に、非テキストとみなされなかったすべての矩形の平均高を計算する。この平均高に、ある一定値(一般には“2”)をかけることによって適応的なしきい値が得られる。このしきい値より大きいすべてのユニットは非テキストに分類される。一方、このしきい値より小さいユニットはテキストとみなす。こうして、各ユニットを分類し、適切な属性を与える。そして、上述した2つの分類に続いて更にいくつかの処理を行う。これについては以下で詳しく述べる。
上述したように、ツリーの第一レベルのすべてのユニットがテキストか非テキストかに分類された後、テキストユニットの子は、主要な子(即ち、自分自身)を含めてテキストとして分類される。非テキストの主要な子は非テキストとして残されるが、それ以外の子はテキストとして分類される。
次に、ステップS1705で最初のユニットを選択し、ステップS1706でもしそのユニットがテキストであればステップS1707へ進み、次のユニットを選択する。そして、非テキストユニットが選択されるまでステップS1706〜S1707の処理を繰り返し、非テキストユニットが選択されるとステップS1708へ進む。
このステップS1708では、非テキストユニットが子を持っているかどうかを調べる。例えば、図22に示す例では、非テキストユニット39が非テキストである主要な子39とテキストである40,41a,41bという子を持っている。ここで、そのユニットに子が存在する場合は、ステップS1709へ進み、そのユニットがハーフトーン(又はグレースケール)かどうかのフィルタリングを行う。このハーフトーンフィルタリングでは、その子を調べ“ノイズ”サイズより小さいものの数を計数する。ここで、“ノイズサイズ”のユニットというのはその高さが入力イメージデータにおける最小のフォントサイズより小さいものである。ノイズサイズより小さい子の数が子の総数の半分より大きい場合、そのユニットはハーフトーンイメージと判定する。その結果、ステップS1710からS1711へ進み、“ハーフトーン”という属性を与え、ステップS1712でハーフトーンイメージの中のテキストを調べる。即ち、ハーフトーンイメージの子の中でテキストサイズのものはハーフトーンイメージの子ではなく、ハーフトーンイメージと同レベルになるように、木構造を修正する。この処置が適切であれば、ハーフトーンイメージ中の文字認識も可能になる。そして、ステップS1707に戻り、次のユニットを選択し、上述の処理を繰り返す。
また、ステップS1709におけるハーフトーンフィルタリングの結果、そのユニットがハーフトーンでない場合、ステップS1710からS1713へ進み、そのユニットの主要な子を更なる処理のために選択する。そして、ステップS1714に進む。
一方、上述のステップS1708で非テキストユニットであって子をもたないと判定した場合、或いはステップS1713で主要な子が後の処理のために選択された場合は、ステップS1714でそのユニットのフレームフィルタリングを行う。このフレームフィルタリングは、そのユニットがフレーム(枠)であるかどうかを判定する処理である。ここでフレームであるとは、そのユニットを囲むような矩形を構成する殆ど同じ長さの幅や高さをもった平行な直線が存在するということである。特に、注目ユニットにおいて、図23に示すような非テキストユニット42が44に示すような輪郭成分を持つ連結成分43を含んでいる場合には、行iにおけるこの連結成分の線幅はx、即ち輪郭線の左端45aから右端45bまでの距離になる。また、行jでは、連結成分の内部に2つの線幅が存在する。つまり、46a−46b間と47a−47b間である。そして、最も長い線幅である47a−47b間が、距離xとして定義される。
非テキストユニット42におけるすべての行において距離xが計算され、その非テキストユニットがフレームかどうかを次の不等式によって調べる。
Σ(Xk−W)**2/N<[しきい値];k=1〜N
ここで、Xkは上述したように、連結成分中の第k行における最も長い線幅、Wは矩形42の幅、Nは行の数であり、しきい値は枠が多少傾いていても枠として検知できるように予め計算された値である。また、1°の傾きを許容するためには、sin(1°)×L+[一定値]のしきい値でよい。この一定値というのはステップS1704で計算した文字の平均高である。
ここで、Xkは上述したように、連結成分中の第k行における最も長い線幅、Wは矩形42の幅、Nは行の数であり、しきい値は枠が多少傾いていても枠として検知できるように予め計算された値である。また、1°の傾きを許容するためには、sin(1°)×L+[一定値]のしきい値でよい。この一定値というのはステップS1704で計算した文字の平均高である。
ここで、上記不等式を満たす場合、そのユニットをフレームデータと判定し、ステップS1715からS1716へ進め、“フレーム”という属性を付加する。これにより、例えば“フレームであり、表”或いは“フレームであり、ハーフトーン”のような判定がフレームに対して可能になる。
ステップS1716の処理を終了すると、そのフレームデータに表或いは表形式のものが含まれているか否かを調べる。即ち、ステップS1717で連結成分内の白輪郭を得るために検査を行う。白輪郭というのは、ステップS1701で得られた(黒)輪郭と基本的には同じであるが、ただ黒画素の代わりに白画素を調べて得られるものである。図24に示すように、非テキストユニットの内部が右下から左上に向かって矢印Bの方向に探索される。初めて白画素に出会うと、その点から近傍の白画素に対して51のような外向き探索が行われる。この時、51の外向き探索において1から4までの方向しか必要ないことに注意すべきである。即ち、ここでの白輪郭追跡の処理は4方向探索ということになる。すべての白輪郭が取り出されるまで、この処理は続けられる。例えば、白輪郭追跡は、黒線分52,53,54,55で囲まれる輪郭部を取り出すことであり、同様の処理は56のような黒画素の内部に対しても行われる。非テキストオブジェクト中のすべての閉じた白輪郭が追跡されるまで、上述した矢印B方向へのスキャンが続けられる。
次に、ステップS1718において、非テキストユニットの密度を計算する。この密度は連結成分内の黒画素の数をカウントし、矩形で囲まれた画素の総数により黒画素の数を割ることによって算出される。そして、ステップS1719において、探索された非テキストユニット内の白輪郭の数を判定する。その結果、白輪郭の数が4以上であれば、その非テキストイメージはテーブルか、テキストブロックがテーブル状に並んだものであると判断し、ステップS1720で白輪郭の充填率を計算する。この白輪郭の充填率というのは、非テキストイメージ中の白輪郭で囲まれる面積の割合を示すものである。図24に示す例では、57,59のように完全に白画素だけで構成される白輪郭もあれば、また60,61のように内部に黒画素領域を含む白輪郭も存在する。ここで、充填率が高ければ、おそらく、その非テキストイメージはテーブルか、テキストブロックがテーブル状に並んだものである。この推定をより確実にするために、注目白輪郭に対して水平垂直方向に格子状の内部構造を持っているか否かを調べる。特に、ステップS1722で水平又は垂直方向に少なくとも2つの輪郭線を横断していないような境界線を持つ白輪郭は、格子状になっていないとみなして再結合する。例えば、図24に示す例では、白輪郭59の左境界62と右境界63は別の白画素60の左境界64と右境界65と一致するように垂直方向に伸びている。そのため、これらの白輪郭は格子状に並んでいると判断され再結合されることはない。また同様に、白輪郭63の上境界66と下境界67は別の白画素70の上境界68と下境界69と一致するように水平方向に伸びている。その結果、これらの白輪郭も格子状に並んでいると判定され、再結合されない。
図25乃至図27は、白輪郭が結合される場合を説明する図である。図25は、例えば非テキストユニット71がハーフトーンイメージからバイナリイメージまでのユニットを含む非テキストユニットの例を表している。図中、非テキストイメージ71は、黒画素領域72と白画素領域74〜79を含んでいる。つまり、図25の例では、この白画素領域の充填率は十分高いのでステップS1721で再結合S1722へ進む。まず、白輪郭74の上端と下端を白輪郭77の上端・下端と比較する。この例では、これらの上端及び下端は一致しないので75と76は結合され、図26に示すように、新たな白輪郭76′が作り出される。
次に、白輪郭77の左右の境界を白輪郭78の左右の境界と比較する。これらの境界は一致しないので77と79は再結合され、図27に示すように、新たな白輪郭77′となる。そして、この処理は、再結合が起らなくなるまで水平及び垂直方向に繰り返される。
上述したように、テーブルの白輪郭は結合されにくく、テーブル以外、例えばハーフトーンイメージや線図形のようなものは結合され易い。次に、ステップS1723で再結合率を計算する。その結果、再結合率が高いか再結合処理の後に残った白輪郭の数が4未満であればステップS1728へ進み、その非テキストユニットをハーフトーンイメージか線図形と判定する。
また、ステップS1723で再結合率が高くないか、又は4個以上の白輪郭が残った場合、ステップS1724へ進み、テーブルと判定する。次に、ステップS1725では、新たにテーブルと判定されたものの内部を調べ、含まれる連結成分の探索や分類を行う。そして、ステップS1726で新しい内部連結成分に従って木構造を更新する。次に、ステップS1727で内部連結成分をテキストか非テキストとして再び分類し、適切な属性を付加する。この処理は、既に説明したステップS1702〜S1704の処理と同じである。その後、ステップS1707へ戻り、次のテキストユニットを選択する。
ここで、再びステップS1721とS1723に戻り、もし充填率が高くないか、再結合率が高くない場合、その非テキストユニット(ここでは、枠図形)はハーフトーンイメージか線図形の可能性が高い。そこで、ステップS1728において、そのユニットがハーフトーンイメージか線図形かをそのユニット中の黒画素の水平方向のランレングスの平均、白画素と黒画素の割合及び密度によって決定する。一般的に、非常に暗いイメージはハーフトーンイメージとみなされ、白く明るいイメージは線図形と判定される。特に、白画素の平均ランレングスが殆ど“0”の場合(殆ど真黒か、斑模様のイメージである)で、更にステップS1718で求めた密度が白より黒の方が大きい場合(即ち、密度がしきい値の約0.5(これを1番目のしきい値とする)よりも大きいとき)は、そのフレームユニットをハーフトーンと判定する。もし、密度が1番目のしきい値よりも大きくない場合には、そのユニットを線図形と判定する。
また、もし白画素の平均ランレングスが殆ど“0”でなく、かつ白画素の平均ランレングスが黒画素の平均ランレングスよりも大きい場合には、そのフレームユニットを線図形と判定する。しかし、白画素の平均ランレングスが黒画素の平均ランレングスよりも大きい場合は、そのフレームユニットを線図形と判定する。また、白画素の平均ランレングスが黒画素の平均ランレングスより大きくない場合は(即ち、これも黒が支配的なイメージである)、更に詳細なテストが必要である。
特に、黒画素の数が白画素の数よりはるかに少ないとき(即ち、黒画素の数が白画素の2倍(これを2番目のしきい値としよう)より小さい)、このフレームユニットをハーフトーンと判定する。一方、黒画素の数を白画素の数で割った値が2番目のしきい値より大きくないが、ステップS1718で計算した密度が1番目のしきい値より大きい場合は、そのフレームユニットをハーフトーンイメージと判定する。そうでなければ、線図形と判定する。
上述のように、ステップS1728でフレームユニットが線図形と判定されるとステップS1729へ進み、“線図形”という属性を付加し、更にステップS1730ですべての子を除去する。特に、あるユニットをひとたび線図形と判定すると、そのユニットに対しては再度文字認識処理を行わない。その後、上述のステップS1707に処理を戻し、次のテキストユニットを選択する。
一方、ステップS1728で、フレームユニットが線図形と判定されなければステップS1731へ進み、ここで“ハーフトーン”という属性を付加し、続くステップS1732でそのユニットの子のうち、テキストサイズの子を除去する。尚、テキストサイズより大きいすべての子はフレームハーフトーンイメージの子として残ることが許される。そして、上述のステップS1707に処理を戻し、次のテキストユニットを選択する。
ここで、ステップS1719へ戻り、もし白輪郭成分の数が4より大きくない場合は、そのフレームユニットはテーブルでないと判断する。そして、ステップ1733へ進み、ステップS1718で求めた密度をあるしきい値(約0.5)と比較する。このしきい値はフレーム内のテキストユニットや線図形が全画素の半分より小さいはずだということで選ばれた値である。もし密度がこのしきい値より小さければステップS1734へ進み、ここでフレームユニットの内部構造を調べる。この処理は、既に述べたステップS1701でのフレームユニットの内部構造に対する処理と同様である。
また、ステップS1733で、もし密度が予め定めたしきい値より小さくない場合はステップS1742へ進み、そのフレームユニットが線図形かハーフトーンイメージのどちらに分類されるか、或いはそのフレームが分類不可能(即ち、そのフレームは“未知”)という判定が行われる。
ステップS1715へ戻り、ステップS1714でのフレームフィルタリングによって非テキストユニット内にフレームが検知されなかった場合、ステップS1735へ進み、その非テキストユニットに“線”が含まれているか否かを判定する。“線”はテキストの境界を表すのに有用な非テキストユニットといえる。しかし、そのような線によって区切られる(囲まれる)テキストは、その線に非常に近い場合が多く、接触が起きている可能性がある。そこで、線の検出処理としてはテキストが接触している場合と接触していない場合の両方を考慮する必要がある。
まず、接触が起きていない場合の線を探索するために、非テキストユニットの縦方向のヒストグラムを求める。図28に示す(A)の場合、線のヒストグラム48はその高さがほぼ線幅に等しい均一の値になるはずである。線幅というのは近似的にテキストユニットの幅(“W”)に等しいが、もし違いが生じるとすれば、それは傾きθsのせいである。傾きは原稿が入力された時点でおきている。そこで、非テキストユニットが線を含んでいるか否かを判定するために、ヒストグラム中の各cell(セル)kの高さ49を幅Wと比較する。具体的には、次式のように、これらの値の差の2乗平均をしきい値と比較する処理である。
Σ(cellk−W)**2/N<[しきい値];k=1〜N
このしきい値は非テキスト内の線のねじれ、又は、傾きθsを許容するように計算される。1°のねじれや傾きに対しては、
Σ[k・sin(1°)/N]**2
というしきい値が満足な結果を生じることがわかっている。
このしきい値は非テキスト内の線のねじれ、又は、傾きθsを許容するように計算される。1°のねじれや傾きに対しては、
Σ[k・sin(1°)/N]**2
というしきい値が満足な結果を生じることがわかっている。
上述の不等式によって非接触の線が検出できなかった場合、接触が起きている線が含まれていないか否かの探索を行う。注目している非テキストユニット中に接触している線が含まれているか否かを調べるためには、線状のものがユニットの境界線近くに存在するか否かを調べればよい。例えば、図28に示す(B)の場合、ユニットを囲む矩形の境界線近くに線が存在する。この場合、境界線からの距離の2乗和を計算することによって調べることができる。即ち、このケースでは、次式の不等式が計算される。
Σ(Xk)**2/N<[しきい値];k=1〜N
ここで、左辺が予め定めたしきい値より小さければ接触している線が存在していることがわかる。このしきい値は、接触をおこしていない線の場合と同じ値を使えばよい。
ここで、左辺が予め定めたしきい値より小さければ接触している線が存在していることがわかる。このしきい値は、接触をおこしていない線の場合と同じ値を使えばよい。
ステップS1735で線が検出されれば、ステップS1736からS1749へ進み、“線”という属性をその非テキストユニットに付加する。そして、上述のステップS1707に戻り、次のユニットを選択する。また、もしステップS1735で線が検出されなかった場合は、ステップS1736からS1737へ進み、その非テキストユニットのサイズを調べる。ここで、サイズがあるしきい値より小さければ、その非テキストユニットの分類を決定することができないため、ステップS1738へ進み、“未知”の属性を付加する。尚、このしきい値は最大のフォントサイズから決定される。具体的には、最大フォントサイズの半分の値にすると良い結果が得られる。その後、ステップS1707に戻り、次のユニットを選択する。
また、ステップS1737において、もしサイズが予め決められたしきい値より大きければ、ステップS1739へ進み、非テキストユニットの内部領域で白輪郭の探索が行われ、ステップS1717〜S1719で説明したように白輪郭の数を計算する。
そして、ステップS1741において、白輪郭の数が4以上でなければ、ステップS1742へ進み、線図形或いはハーフトーンイメージとして十分な大きさをもっているかどうかを確かめるためにサイズを計算する。サイズの決定には、そのテキストのユニットの高さ、幅、及び黒画素のランレングスの最大長に基づいて行われる。特に、その非テキストユニットの高さと幅が最大フォントサイズより小さい場合は、そのユニットは線図形やハーフトーンイメージを構成するに十分な大きさをもってないとみなされ、ステップS1743へ進み、“未知”の属性を付加する。また同様に、ユニットの幅は最大フォントサイズより大きいが、黒画素のランレングスの最大長が最大フォントサイズより大きくないときは、やはりステップS1743へ進み、“未知”の属性を付加する。そして、ステップS1707に戻り、新しいユニットを選択する。
ステップS1742において、その非テキストユニットが線図形或いはハーフトーンイメージを構成するのに十分な大きさをもっている場合は、ステップS1744へ進み、線図形又はハーフトーンイメージという属性を付加する。そして、ステップS1744からS1748では、ステップS1728からS1732と同様の処理であり、説明は省略する。
以上説明した流れ(図13のステップS1302の処理)に従って、入力画像中のすべての連結成分を調べ、分類が終了すると図29で示されるようなツリー構造が得られる。図示するように、ルートは入力画像のページにあたる。ルートの子はテキストブロック又は未知・フレーム・写真(図)・線からなる非テキストブロックである。フレームの子はテキストブロック、“未知”の非テキストデータ、テキストブロックを含む表、写真(図)、線である。
前記したようにもとめられたブロックの属性情報を用いて、図15のフローチャートの処理を行うことによって、紙指紋を取得する領域を求める。図15のS1503のステップにおいて、S1502の処理で候補として選択されたブロックの1つをさらに選択する。選択の方法としての例としては、前記したように求められた属性を利用して、例えばテキストの属性のブロックの数が例えば2であった場合には、空白ブロックの2番目、つまり空白ブロックのCの領域を選択するなどの方法が考えられる。空白ブロックの数が、テキスト属性のブロックの数よりも小さい場合は、もう一度空白ブロックの1つめにもどって選択することなどが考えられる。そして次のS1504のステップにおいて、S1503で選択された空白ブロック先頭座標からX方向、Y方向に連続して128画素分の領域を紙指紋として取得する。
以上説明したように、印字されている原稿から印字されている領域をブロック化し、さらにそのブロックの属性情報を取得し、属性情報を利用して、空白ブロックの中から紙指紋を取得する領域を選択することにより、原稿ごとに紙指紋を取得する領域を変更可能とすることで、同じ原本を読み込んだ場合は同じ場所の紙指紋を取得することが可能となり、マークなどの特別な画像を余計に印刷する必要がなくなる。またユーザは原本上のどの領域の紙指紋を使用しているかがわからないため、悪意をもって塗りつぶしや切除などの加工を行いずらくすることが可能となる。また、図15のフローにおいて、空白ブロックの選択方法を属性情報を元にさらに複雑な計算式に変更することや、選択された空白ブロックの先頭座標から紙指紋情報を取得するのではなく、空白ブロックの内部のなかからさらにブロックの属性情報の種類の数や、座標、面積の大きさなどの情報を利用して、紙指紋領域を取得する座標を算出するようにすることで、紙指紋取得の座標を悪意をもって加工することを、さらに抑止できるようになる。
次に本発明に関わる第三の実施例の説明を行う。第三の実施例が第一の実施例と異なるところは、第一実施例の図15のフローチャートの、S1504のステップにおいて、複数の紙指紋領域を取得することである。紙指紋領域の取得数および、取得する座標を図14のフローチャートで求めた印字がされているブロックの数や座標情報から計算により求めることを特徴としている。
複数の紙指紋の領域を取得し、複数の紙指紋情報を登録、照合させることにより、紙指紋取得の座標を悪意をもって加工することを、さらに抑止できるようになる。
(その他の実施例)
さらに本発明は、複数の機器(例えばコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用することも、一つの機器からなる装置(複合機、プリンタ、ファクシミリ装置など)に適用することも可能である。
さらに本発明は、複数の機器(例えばコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用することも、一つの機器からなる装置(複合機、プリンタ、ファクシミリ装置など)に適用することも可能である。
また本発明の目的は、上述した実施例で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、コンピュータがプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶した記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
Claims (7)
- 原稿を光学的に読み取る読み取り手段と、前記読み取り手段から読み取った画像データに対して画像処理を行うことが可能な画像形成装置であって、
原稿に印刷されている画像データを記憶する記憶手段と、
前記記憶手段に記憶された画像をブロックに分類し、ブロックの領域情報を抽出するための抽出手段と、
前記抽出手段によって抽出されたブロックの情報を元に原稿内の座標を求めるための座標決定手段と、
前記座標決定手段によって求められた座標の紙指紋情報を取得するための紙指紋取得することを特徴とする画像形成装置。 - さらに前記記憶手段に記憶された画像を種々の属性に分類し、属性分類情報及び領域情報を抽出するための抽出手段と、
前記抽出手段によって抽出された属性分類情報及び領域情報を元に原稿内の座標を求めるための座標決定手段と、
前記座標決定手段によって求められた座標の紙指紋情報を取得するための紙指紋取得する請求項1に記載の画像形成装置。 - 原稿のサイズを検出するサイズ検出手段を有し、前記座標決定手段は前記サイズ検出手段によって検出された原稿のサイズに含まれる座標とすることを特徴とする請求項1に記載の画像形成装置。
- 抽出手段によって抽出された属性分類情報及び領域情報から、前記座標決定手段は、画像が含まれない領域を紙指紋の読み取り座標とすることを特徴とする請求項1に記載の画像形成装置。
- 前記座標決定手段は、原稿上の複数の座標をもとめ、原稿上の複数の箇所の紙指紋を取得することを特徴とする請求項1に記載の画像形成装置。
- 前記座標決定手段により決定された原稿上の座標から紙指紋を取得し、紙指紋情報を登録することを特徴とする請求項1に記載の画像形成装置。
- 前記座標決定手段により決定された原稿上の座標から紙指紋を取得し、取得された紙指紋データを照合することを特徴とする請求項1に記載の画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008232032A JP2010068198A (ja) | 2008-09-10 | 2008-09-10 | 画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008232032A JP2010068198A (ja) | 2008-09-10 | 2008-09-10 | 画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010068198A true JP2010068198A (ja) | 2010-03-25 |
Family
ID=42193395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008232032A Pending JP2010068198A (ja) | 2008-09-10 | 2008-09-10 | 画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010068198A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012044513A (ja) * | 2010-08-20 | 2012-03-01 | Fuji Xerox Co Ltd | 画像処理装置、画像処理システム及びプログラム |
-
2008
- 2008-09-10 JP JP2008232032A patent/JP2010068198A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012044513A (ja) * | 2010-08-20 | 2012-03-01 | Fuji Xerox Co Ltd | 画像処理装置、画像処理システム及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4732315B2 (ja) | 画像処理装置及び方法 | |
JP4810413B2 (ja) | 画像処理装置及び画像処理方法 | |
US7903307B2 (en) | Image processing method and image processing apparatus | |
US8126270B2 (en) | Image processing apparatus and image processing method for performing region segmentation processing | |
US8103108B2 (en) | Image processing apparatus, image forming apparatus, image processing system, and image processing method | |
US20090034848A1 (en) | Image processing apparatus, image forming apparatus, image processing system, and image processing method | |
US8019113B2 (en) | Image processing apparatus, control method therefore, program, and storage medium | |
US8180159B2 (en) | Image processing apparatus, image forming apparatus, image processing system, and image processing method | |
US7957576B2 (en) | Image processing apparatus, image processing method, and image processing program | |
US8184912B2 (en) | Image processing apparatus, image forming apparatus, image processing system, and image processing method | |
JP2009075751A (ja) | 画像処理装置、画像処理方法、そのプログラムおよびコンピュータ読み取り可能な記憶媒体 | |
JP4709090B2 (ja) | 画像処理装置及び画像処理装置の制御方法及びプログラム | |
JP6607490B2 (ja) | 変換処理装置、それを備えた情報処理装置、プログラム、及び記録媒体 | |
JP3899872B2 (ja) | 画像処理装置、画像処理方法ならびに画像処理プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体 | |
JP4267029B2 (ja) | 画像処理装置、画像処理方法、画像処理方法のプログラム及びその記憶媒体 | |
US8059296B2 (en) | Image forming apparatus that synthesizes fiber information extracted from pages of a paper medium having a plurality of pages, and an image forming apparatus control method, a program, and a storage medium relating thereto | |
JP2008141683A (ja) | 画像処理装置および方法、プログラム、並びに記憶媒体 | |
JP2010068198A (ja) | 画像形成装置 | |
US20080181534A1 (en) | Image processing method, image processing apparatus, image reading apparatus, image forming apparatus and recording medium | |
JP2010050551A (ja) | 画像形成装置 | |
JP2010218106A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2008066840A (ja) | 画像処理装置、画像処理方法、画像処理方法のプログラム及びその記憶媒体 | |
JP2016133893A (ja) | 画像処理装置および画像処理装置の制御プログラム | |
JP2008244611A (ja) | 画像処理装置及び画像処理方法 | |
JP2008005177A (ja) | 画像処理装置及び画像処理方法並びに画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100201 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100630 |