(57)【要約】【課題】ＱＲコードの読み取り処理を高速に実行する。【解決手段】画像処理プロセッサ１０７は、複数の２値化閾値（３０２ａ〜３０２ｎ）と、複数のファインダパターン検出処理（３０４ａ〜３０４ｎ）を設け、スキャン画像３０１を、複数の２値化閾値で変換した２値化画像（３０３ａ〜３０３ｎ）に対してパターンマッチングを行い、ファインダパターンを検出処理し（３０４ａ〜３０４ｎ）、その画像におけるファインダパターンの位置情報を取得する。検出されたファインダパターンの中で最良の結果を、システムコントローラ１０６に通知し、ＱＲコードのデコード処理３０５を行う。【選択図】図１
2013191078.tif 000002
【特許請求の範囲】
【請求項１】
原稿を読み取る読み取り手段と、前記読み取られた原稿の画像データに対して、異なる閾値を用いて２値化処理を並列に実行する複数の２値化手段と、前記２値化された複数の画像から、所定パターンが存在する位置情報の抽出処理を並列に実行する複数の抽出手段と、前記抽出された位置情報が所定の位置関係にあるか否かを決定する決定手段とを備えたことを特徴とする画像処理装置。
【請求項２】
前記抽出手段は、前記２値化された画像から、所定コードのパターン形状に最も類似した画像を選択することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記２値化手段の閾値を、前記原稿の頁毎に更新することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記２値化手段の閾値をユーザーが選択する際に、前記所定コードのデコード結果の採点値を表示することを特徴とする請求項１または２記載の画像処理装置。
【請求項５】
前記原稿を給紙する自動給紙装置を備え、前記自動給紙装置に複数枚の原稿がセットされているとき、前記２値化手段の閾値を次頁以降に反映させることを特徴とする請求項１記載の画像処理装置。
【請求項６】
複数枚の原稿を連続して処理するとき、１枚目の原稿に対しては、前記複数の２値化手段と前記複数の抽出手段の内、一部の２値化手段と抽出手段の処理を停止させることを特徴とする請求項１記載の画像処理装置。
【請求項７】
原稿を読み取る読み取り工程と、前記読み取られた原稿の画像データに対して、異なる閾値を用いて２値化処理を並列に実行する複数の２値化工程と、前記２値化された複数の画像から、所定パターンが存在する位置情報の抽出処理を並列に実行する複数の抽出工程と、前記抽出された位置情報が所定の位置関係にあるか否かを決定する決定工程とを備えたことを特徴とする画像処理方法。
【請求項８】
請求項７記載の画像処理方法をコンピュータに実現させるためのプログラム。
【請求項９】
請求項７記載の画像処理方法をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＱＲコードを読み取る画像処理装置、画像処理方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
ＱＲコードを光学的に読み取り、読み取ったＱＲコードを認識するＱＲコード認識装置がある。例えば、ＱＲコードのファインダパターン（位置検出パターン）の特徴点を検出し、検出したファインダパターンに基づいて画像データの２次元コードを読み取る装置が提案されている（例えば、特許文献１を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、従来のＱＲコード認識装置においては、装置のＣＰＵの性能を向上させることによる高速化が難しい状況にあることから、上記した技術の対応では、より一層の高速化が難しい。
【０００４】
本発明は上記した課題に鑑みてなされたもので、
本発明の目的は、ＱＲコードの読み取り処理を高速に実行する画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、原稿を読み取る読み取り手段と、前記読み取られた原稿の画像データに対して、異なる閾値を用いて２値化処理を並列に実行する複数の２値化手段と、前記２値化された複数の画像から、所定パターンが存在する位置情報の抽出処理を並列に実行する複数の抽出手段と、前記抽出された位置情報が所定の位置関係にあるか否かを決定する決定手段とを備えたことを最も主要な特徴とする。
【発明の効果】
【０００６】
本発明によれば、ＱＲコードの読み取り処理を高速に実行することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施例の構成を示す。
【図２】従来のＱＲコードの読み取りを説明する図である。
【図３】本発明の実施例の処理フローチャートを示す。
【図４】図３のステップ４０１の処理を説明する図である。
【図５】図３のステップ４０２〜４０５の処理を説明する図である。
【図６】図３のステップ４０４における、プレーンの選択を説明する図である。
【図７】本発明による２値化閾値の算出を説明する図である。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態について図面により詳細に説明する。
【実施例１】
【０００９】
ＱＲコードの読み取りは、次のように行う。
（１）ＱＲコードを光学的に読み取り（スキャン）、画像を取得する。
（２）読み取った画像を２値化（白・黒に変換）する。
（３）画像メモリ上でファインダパターンを検出する。
（４）セルの部分の白黒を認識する。
（５）白を０、黒を１のデータに並べ替える。
（６）デコード処理を行ない、文字情報へ変換する。
【００１０】
図２は、従来のＱＲコードの読み取りを説明する図である。図２（ａ）は、従来の構成を示す。１０１はＱＲコード、１０２は原稿、１０３はスキャナー、１０４は画像処理ボード、１０５は画像データ制御部、１０６はシステムコントローラである。図２（ｂ）は、従来の処理時間を示す。
【００１１】
スキャナー１０３は原稿１０２を読み取り（スキャン処理２０１）、画像処理ボード１０４の画像データ制御部１０５は、読み取った画像データをシステムコントローラ１０６へ転送する（データ転送処理２０２）。システムコントローラ１０６では、画像データを格納し（データ格納処理２０３）、画像データからファインダパターンを検出し（ファインダパターン検出処理２０４）、ＱＲコードをデコードする（デコード処理２０５）。このように、スキャン処理２０１が終了した後に、ファインダパターン検出処理２０４を行っている。
【００１２】
図２（ｃ）は、システムコントローラ１０６の処理を説明する図である。スキャン画像３０１に対して２値化閾値３０２を設定し、スキャン画像３０１を２値化した２値化画像３０３に変換し、２値化画像３０３からファインダパターンを検出処理し（３０４）、ＱＲコードをデコード処理し（３０５）、デコード処理が成功したとき、文字情報を入手する（３０８）。デコードが失敗したとき、画像全体から、再度２値化しきい値を算出して、２値化閾値３０２を再設定３０７して２値化処理する。なお、数回、設定してもデコードに失敗したときは、処理を終了する。このように、デコードに失敗した場合には、２値化画像を作成した上でファインダパターンの検出処理から再度、実施する必要があるため、リアルタイム性が損なわれることになる。
【００１３】
図１（ａ）は、本発明の実施例の構成を示す。本発明では、図２（ａ）の構成に、画像処理プロセッサ１０７を追加している。画像データ制御部１０５は、画像処理プロセッサ１０７にスキャン画像３０１を転送し、画像処理プロセッサ１０７は、ファインダパターンの検出結果（位置）をシステムコントローラ１０６に転送する。なお、画像処理プロセッサ１０７としては、画像データを並列に処理できる画像プロセッサ（例えば、特開２０１０−１０２５６９号公報）を使用する。
【００１４】
図１（ｂ）は、ＱＲコードの読み取り処理を説明する図である。本発明では、スキャン処理２０１と並行して、ファインダパターン検出処理２０３を実行している。また、スキャン処理２０１、データ転送処理２０２、ファインダパターン検出処理２０３、データ格納処理２０４、デコード処理２０５がパイプライン処理接続されている。
【００１５】
従来、スキャン処理後に実施していたファインダパターン検出処理２０３が、本発明によりスキャン処理２０１の完了までに実施されるので、スキャン処理後に行われていたファインダパターン検出処理２０３に要する処理時間の短縮が可能となる。
【００１６】
図１（ｃ）は、画像処理プロセッサ１０７の処理を説明する図である。スキャン走査中に、リアルタイムにファインダパターンの位置検出処理を実施しつつ、ＱＲコードの読み取り精度を向上させるために、本発明では、以下のようにしてファインダパターンを検出処理している。
【００１７】
画像処理プロセッサ１０７は、ＱＲコードが含まれた画像を２値化し、２値化された画像に、特徴比率を含む水平・垂直方向のラインが存在するか否か（すなわち、少なくともラインの一部が黒色のサブセクションと白色のサブセクションを含み、その長さの比率が１：１：３：１：１に等しい）をパターンマッチングにより検出する。
【００１８】
画像処理プロセッサ１０７は、スキャン画像３０１を複数の閾値で２値化する２値化処理部（３０２ａ〜３０２ｎ）と、複数のファインダパターン検出処理部（３０４ａ〜３０４ｎ）を設け、スキャン画像３０１を、複数の２値化閾値で変換した２値化画像（３０３ａ〜３０３ｎ）に対してパターンマッチングを行い、ファインダパターンを検出処理し（３０４ａ〜３０４ｎ）、その画像におけるファインダパターンの位置情報を取得する。検出されたファインダパターンの中で、最良の結果（ファインダパターンの位置と、検出に使用したＱＲコード部の画像）を、システムコントローラ１０６に通知し（全ての検出結果をマージした結果から得られたファインダパターン３点がデコード処理部３０５に通知される）、デコード処理部３０５はＱＲコードのデコード処理を行う。なお、スキャン画像３０１として、ファインダパターンサイズ＋ファインダパターン周りの空白分の画像が保存される。
【００１９】
このように、本発明では、設定した複数の２値化閾値で変換した複数の２値画像を元に、ファインダパターン位置情報と、ファインダパターンを検出したＱＲコード部の画像をデコード処理に渡しているので、デコードの失敗が回避される効果がある。
【００２０】
図３は、本発明の実施例の処理フローチャートを示す。画像処理プロセッサ１０７上における、１回分の並列処理の処理フローチャートを示す。
【００２１】
ステップ４０１において、入力された画像を、複数の２値化閾値により２値化し、プレーンとして保存する。ステップ４０２において、２値化画像をパターンマッチングによりファインダパターンの中心座標を抽出する。抽出に成功すると（ステップ４０３でＹｅｓ）、ステップ４０４において、ＱＲコードのファインダパターンの形状に最も近いプレーンを選択し、選択したプレーンを保存する。
【００２２】
ステップ４０５において、ファインダパターンの抽出処理により抽出された中心座標の内、近傍に散らばっていて１つとみなされるファインダパターンを１つにして、ファインダパターンの中心座標を決定する。中心座標が決定すると（ステップ４０６でＹｅｓ）、ステップ４０７において、決定した中心座標で規格上に沿った中心座標間の距離を持つ３点を抽出する。３点が決定されると（ステップ４０８でＹｅｓ）、ステップ４０９において、選択したプレーンのＱＲコード画像をシステムコントローラ１０６に転送し、ステップ４１０において、ステップ４０７で抽出したファインダパターンの３点の中心座標をシステムコントローラ１０６に転送する。
【００２３】
図４（ａ）は、図３のステップ４０１の処理（１回分の並列処理）を説明する図である。閾値の初期化操作時（電源オン時、あるいはリセット、ユーザーインターフェースによる値変更等）、不揮発性メモリ５０１に保存された閾値を２値化閾値設定部３０２ａ〜３０２ｃにコピー５０２する。なお、不揮発性メモリ５０１上の閾値、２値化閾値設定部３０２ａ〜３０２ｃの閾値は、ユーザーインターフェース上でユーザーの指定により変更することが可能である。
【００２４】
図４（ｂ）は、図３のステップ４０１の処理（１回分の並列処理）を説明する図である。スキャン画像３０１を、並列処理の閾値３０２毎に２値化して２値画像３０３に変換し、テーブル３０９に閾値別に２値画像３０３を保存する。テーブル３０９は、図の破線に示すように、ファインダパターンが格納できるサイズを持ち、また、リングバッファ状に構成され、データを保存する際にデータフルだった場合、先頭行を破棄し、最終行に追加する。各閾値３０２により２値化された２値画像３０３は、それぞれプレーン３１０ａ、プレーン３１０ｂ、プレーン３１０ｃに保存される。
【００２５】
図５(ａ)は、図３のステップ４０２〜４０５の処理（１回分の並列処理）を説明する図である。テーブル３０９の各プレーン３１０ａ〜３１０ｃに対してパターンマッチングを行い、ファインダパターンを抽出（３０４ａ〜３０４ｃ）する。閾値毎にファインダパターンの抽出により得られたファインダパターンの中心座標３１１をテーブル３１２に保存する（ファインダパターン抽出処理）。
【００２６】
ファインダパターンは、重なり合わないことから、テーブル３１２内に、Ｘ、Ｙ方向に連続した中心座標があった場合、パターンマッチングを行い、１点に絞りテーブル３１３を更新する（中心座標決定処理）。テーブル３１２、３１３は、共にリングバッファ状に構成されており、データを保存する際にデータフルだった場合、先頭行を破棄し、最終行に追加する。なお、テーブル３１２は、中心座標を連続して判別できる行数（５行）分のデータの保存が可能であり、テーブル３１３は、ＱＲコードサイズの１／８のサイズのデータの保存が可能である（次工程の中心座標間の距離妥当性検証が可能）。
【００２７】
図５(ｂ)は、図３のステップ４０７〜４１０の処理（１回分の並行処理）を説明する図である。テーブル３１３に対してパターンマッチングを行い、ＱＲコードとして規格に沿った間隔を持つ中心座標を決定し（中心座標間の妥当性検証処理）、中心座標Ｘ、Ｙ値を算出し、３点の中心座標３１４をシステムコントローラ１０６に転送する。中心座標間の距離は、画像の拡大、縮小率、ＱＲコードのバージョンにより判定する（例えば、ＱＲコードＶｅｒ.６（等倍で１７０ピクセル＋変倍率±１５％）では、１４４〜１９１ピクセル）。
【００２８】
図６は、図３のステップ４０４における、プレーンの選択を説明する図である。プレーンの選択方法として、本発明では、最初に検出されたファインダパターンの近辺領域（ファインダパターンの中心Ｘ座標が存在する「並列処理で１回に処理される画像幅」×ファインダパターンの中心Ｙ座標の近辺行）のヒストグラムから最適なプレーンを決定する方法を採る。
【００２９】
例えば、２値化閾値が３個の場合、２値化閾値をＡ、Ｂ、Ｃとし、２値化閾値Ａ、Ｂ、Ｃにより、グレースケールの画素値域を図６（ａ）に示すように、６つの色領域（丸付き数字１〜６）に分割する。閾値Ａ、Ｂ、Ｃで２値化された画像を保存するプレーンを、それぞれプレーンＡ、プレーンＢ、プレーンＣとする。
【００３０】
１つ目のファインダパターンの抽出が終わるまで、各行（各走査ライン）、丸付き数字１〜６の数を加算していく。２４行毎に、丸付き数字１〜６の加算値を１／４にする（過去行の忘却処理）。
【００３１】
ファインダパターンが最初に検出されたときの丸付き数字１〜６の合計により、図６（ｂ）に示す順番で判定し、保存するプレーンを選択する。
【００３２】
図７は、本発明による２値化閾値の算出を説明する図である。上記した２値化閾値は、画像全体のヒストグラムを基に算出する。すなわち、システムコントローラ１０６の画像解析部３１５は、スキャン画像の全輝度のヒストグラムを作成し、２値化閾値算出部３１６は、そのヒストグラムから２値化閾値を算出する。算出方法は、一般的な方法（モード法、判別分析法等）を使用する。算出した２値化閾値を基に、画像プロセッサ１０７側の２値化閾値３０２を決定する。また、算出した２値化閾値は、ユーザーインターフェース１０８に表示され、ユーザーの指定により、画像処理プロセッサ１０７側の２値化閾値に反映（更新）することができる。当該頁で算出した２値化閾値を、次頁以降に適用する場合には、ユーザーの指定（「する」を選択）により、次頁の処理に使用することができる。２値化閾値を選択するユーザーインターフェース１０８の表示時に、ＱＲコードのデコード結果の採点値をユーザーに明示するようにしてもよい。
【００３３】
本発明では、ＱＲコード画像全体を画像プロセッサ上の記憶域に保存し、保存したＱＲコード画像全体をシステムコントローラのデコード部に転送し、転送されたＱＲコード画像をデコード処理に使用することにより、再度２値化処理を行う必要がないため、デコード処理時間が短縮できる。
【００３４】
また、本発明では、前頁のスキャン画像全体のヒストグラムから算出された２値化閾値を変更する仕組みを有することで、複数頁を有し、且つ、各頁のスキャン画像のヒストグラムが類似しているドキュメントにおいて、ファインダパターンの検知精度を向上させる効果がある。
【００３５】
また、本発明では、２値化閾値を選択するユーザーインターフェースの表示時に、ＱＲコードのデコード結果の採点値をユーザーに明示することにより、ユーザーが画像処理プロセッサ側の２値化閾値に反映させるか否かを、選択する目安としての効果がある。採点値は、ＱＲコードのデコード処理で実施される誤り訂正処理での符号語データ数に対する消失データ数により、数段階の値を算出し、提示する。
【００３６】
本発明では、２値化閾値を次頁以降に反映させるか否かをユーザーに選択させるのではなく、ＡＤＦ（自動給紙装置）にセットされた原稿が２枚以上である場合に、自動的に反映させるようにしてもよい。ＡＤＦにセットされた原稿１セット分に対し、１ページ目の原稿画像から算出された２値化閾値を、以降の頁に自動的に適用させることで、ユーザーが選択する手間を省く効果がある。
【００３７】
本発明は、不正コピーガード機能に適用することができる。不正コピーガード機能とは、所定パターン（ＱＲコード）を原稿内に認識した場合、コピーを停止させる機能である。この機能は、悪意ある不正コピーではなく、うっかり行ってしまう不正コピーの防止を狙っている。コピー禁止の原稿には、ＱＲコードが印刷されているので、ユーザーがコピーする前に原稿をチェックすれば、そもそもうっかり不正コピーは発生しない。しかし、コピー原稿が複数枚ある場合、その束をめくってチェックするのは面倒なので、ユーザーは１枚目の原稿をチェックする可能性は高いが、２枚目以降はチェックしない場合が多い。つまり、ＱＲコードが印刷されている可能性は、１枚目の原稿よりも２枚目以降の原稿の方が高いと言える。
【００３８】
本発明では、複数の２値化閾値を用いているので、ＱＲコードシンボルが原稿に１個だけある場合であっても、複数のシンボル位置の候補が出てくる。これによって、認識漏れを防ぎつつ認識精度を上げている。一方、複数のシンボル位置の全てについて、デコード処理を（並列処理ではなく）行うので、シンボル位置の候補数が多いほど、認識時間は長くなってしまう。このように、２値化閾値の数をパラメータとして、認識精度と認識時間は相反関係にある。
【００３９】
従って、ＱＲコードが印字されているか否かをチェックする可能性の高い１枚目の原稿は認識時間を、チェックしない可能性のある２枚目以降の原稿は認識精度を重視すべきと言える。
【００４０】
２値化閾値の数を減らす（例えば、３種類を２種類に）ことで、１枚目の原稿について認識時間を短くできる（コピー速度が上がる）効果が得られる。因みに、原稿が１枚だけの場合、ユーザーは原稿をチェックするであろうから、認識時間が優先される。つまり、コピー処理の開始前に、装置は原稿が複数枚か１枚かを知る必要はなく、１枚目は常に、２値化閾値の数を減らした処理を行い、連続する２枚目以降は、２値化閾値の数を増やした処理を行えばよい。
【００４１】
また、複数枚の原稿を連続して処理する際に、１枚目の原稿については、複数の２値化処理と複数のファインダパターンの中心座標を抽出する抽出処理の内、一部の２値化処理と抽出処理を停止させるようにしてもよい。
【００４２】
本発明は、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施例の機能を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。また、本発明の実施例の機能等を実現するためのプログラムは、ネットワークを介した通信によってサーバから提供されるものでも良い。
【符号の説明】
【００４３】
１０１  ＱＲコード
１０２  原稿
１０３  スキャナー
１０４  画像処理ボード
１０５  画像データ制御部
１０６  システムコントローラ
１０７  画像処理プロセッサ
【先行技術文献】
【特許文献】
【００４４】
【特許文献１】特許第４０１３０２７号公報
【図１】
2013191078.tif 000003
【図２】
2013191078.tif 000004
【図３】
2013191078.tif 000005
【図４】
2013191078.tif 000006
【図５】
2013191078.tif 000007
【図６】
2013191078.tif 000008
【図７】
2013191078.tif 000009