(57)【特許請求の範囲】
【請求項１】
画像データによる画像内に二次元コードが存在すると前記二次元コードを検出する二次元コード検出部と、
前記画像データについて前記二次元コード検出部により二次元コードが検出されなかった場合において少なくとも１つの位置検出パターンが検出されたときには、検出された前記位置検出パターンの周辺の所定の位置で型番情報を検索する周辺情報検索部と、
破損した二次元コードが前記画像データによる画像内に存在するか否かを判定する破損コード検出部と、
二次元コードを復号する二次元コード復号部とを備え、
前記破損コード検出部は、前記周辺情報検索部により前記型番情報が検出されると、前記型番情報に基づいて前記二次元コードの縦横のセル数およびセルサイズを特定し、前記セル数および前記セルサイズから前記二次元コードのサイズを特定して残りの前記位置検出パターンの位置を予測し、検出された前記位置検出パターンの位置と予測した残りの前記位置検出パターンの位置とに基づいて前記二次元コード復号部に二次元コードの復号を試みさせ、所定の段階まで復号が成功した場合には、破損した二次元コードが前記画像データによる画像内に存在すると判定すること、
を特徴とする画像処理装置。
【請求項２】
前記破損コード検出部により、破損した二次元コードが前記画像データによる画像内に存在すると判定された場合に、エラーメッセージを表示装置に表示させる表示処理部をさらに備えることを特徴とする請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものである。
【背景技術】
【０００２】
近年、ＱＲコード（登録商標）などの二次元コードが普及している。二次元コードを読み込む際に、二次元コードの一部が破損しており誤り検出率が所定値以上の場合、復号した情報から新たに二次元コードを再生し、再生した二次元コードで、破損している二次元コードを置き換える技術が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−５５５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
二次元コードが汚れや欠損などにより破損している場合、二次元コードとして検出されないことがある。例えば、二次元コード内の位置検出パターンが破損している場合には、破損している二次元コードが存在しているにも拘わらず、その存在が検出されない。破損している二次元コードが存在しているにも拘わらず、その存在が検出されないことにより、不具合が生じることがある。
【０００５】
例えば、図８に示すように、書類の宛先情報を二次元コードに符号化し、その書類に印刷しておき、その書類の画像を読み込み、その書類画像内の二次元コードを復号し、復号して得られた宛先へその書類画像を自動的に送信することがある。図８に示すように、連続する３枚の書類の画像をそれぞれ異なる宛先へ送信するときに、２枚目の書類における二次元コードが破損していると、２枚目の書類上に二次元コードが存在せず２枚目の書類が１枚目の書類の続きであると誤って認識され、２枚目の書類が１枚目の書類の宛先へ誤って送信されてしまう。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、二次元コードとして検出されない、破損した二次元コードを検出する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明では以下のようにした。
【０００８】
本発明に係る画像処理装置は、画像データによる画像内に二次元コードが存在すると二次元コードを検出する二次元コード検出部と、画像データについて二次元コード検出部により二次元コードが検出されなかった場合において少なくとも１つの位置検出パターンが検出されたときに、検出された位置検出パターンの周辺の所定の位置で型番情報を検索する周辺情報検索部と、破損した二次元コードが画像データによる画像内に存在するか否かを判定する破損コード検出部と、二次元コードを復号する二次元コード復号部とを備える。
【０００９】
これにより、二次元コードとして検出されない、破損した二次元コードが検出され、二次元コードの破損に起因する不具合の発生を抑制できる。
【００１１】
そして、破損コード検出部は、周辺情報検索部により型番情報が検出されると、型番情報に基づいて二次元コードの縦横のセル数およびセルサイズを特定し、セル数およびセルサイズから二次元コードのサイズを特定して残りの位置検出パターンの位置を予測し、検出された位置検出パターンの位置と予測した残りの位置検出パターンの位置とに基づいて二次元コード復号部に二次元コードの復号を試みさせ、所定の段階まで復号が成功した場合には、破損した二次元コードが画像データによる画像内に存在すると判定する。
【００１４】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、画像処理装置は、周辺情報検索部により、破損した二次元コードが画像データによる画像内に存在すると判定された場合に、エラーメッセージを表示装置に表示させる表示処理部をさらに備える。
【発明の効果】
【００１５】
本発明によれば、二次元コードとして検出されない、破損した二次元コードが検出され、二次元コードの破損に起因する不具合の発生を抑制できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、実施の形態１に係る画像処理装置の動作を説明するフローチャートである。
【図３】図３は、ＱＲコード（登録商標）の構成を説明する図である。
【図４】図４は、破損したＱＲコード（登録商標）の例を示す図である。
【図５】図５は、本発明の実施の形態２に係る画像処理装置の構成を示すブロック図である。
【図６】図６は、実施の形態２に係る画像処理装置の動作を説明するフローチャートである。
【図７】図７は、位置検出パターンが２つだけ検出された場合の位置検出パターンの組合せについて説明する図である。
【図８】図８は、二次元コードが印刷された書類の例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図に基づいて本発明の実施の形態を説明する。
【００１８】
実施の形態１．
【００１９】
図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。この画像処理装置は、画像読取装置１、記憶装置２、通信装置３、表示装置４、および演算処理装置５を備える。
【００２０】
画像読取装置１は、書類から書類画像を光学的に読み取り、書類画像の画像データを生成する内部装置である。
【００２１】
また、記憶装置２は、各種データやプログラムを格納可能な装置である。記憶装置２としては、不揮発性メモリー、ハードディスクドライブなどの不揮発性の大容量記憶媒体が使用される。記憶装置２には、書類画像の画像データを記憶することができる。
【００２２】
また、通信装置３は、外部装置との間でデータ通信を行う装置である。通信装置３としては、ネットワーク通信を行うネットワークインターフェイス、ファクシミリ通信を行うモデムなどが使用される。
【００２３】
また、表示装置４は、ユーザーに対して各種情報を表示する。表示装置４としては例えば液晶ディスプレイが使用される。
【００２４】
また、演算処理装置５は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有するコンピューターであり、ＲＯＭや記憶装置２などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。この実施の形態では、演算処理装置５において、二次元コード検出部１１、二次元コード復号部１２、周辺情報検索部１３、破損コード検出部１４、表示処理部１５などが実現される。
【００２５】
二次元コード検出部１１は、画像データによる画像内に二次元コードが存在すると、その二次元コードを検出する。この実施の形態では、二次元コードとしてＱＲコード（登録商標）が使用される。二次元コード検出部１１は、画像データによる画像内で位置検出パターンを検索し、二次元コードの復号に必要なすべての位置検出パターン（ＱＲコード（登録商標）の場合、３つの位置検出パターン）を発見すると、二次元コードを検出したものと判定する。
【００２６】
二次元コード復号部１２は、二次元コード検出部１１により二次元コードが検出された場合、その二次元コードを復号して元の情報を抽出する。
【００２７】
周辺情報検索部１３は、上述の所定の位置で型番情報および／または形式情報を検索する。ＱＲコード（登録商標）では、型番情報および形式情報の位置は予め決まっているため、その位置の画像が検索される。
【００２８】
破損コード検出部１４は、二次元コード検出部１１により二次元コードが検出されなかった場合において少なくとも１つの位置検出パターンが検出されたときに、検出された位置検出パターンの周辺の所定の位置のパターンに基づいて、破損した二次元コードが画像データによる画像内に存在するか否かを判定する。
【００２９】
実施の形態１では、破損コード検出部１４は、周辺情報検索部１３により型番情報および／または形式情報が発見された場合、破損した二次元コードが画像データによる画像内に存在すると判定する。
【００３０】
表示処理部１５は、破損コード検出部１４により、破損した二次元コードが画像データによる画像内に存在すると判定された場合に、エラーメッセージを表示装置４に表示させる。このエラーメッセージは、例えば、「二次元コードが破損しています。」などとされる。
【００３１】
次に、上記画像処理装置の動作について説明する。図２は、実施の形態１に係る画像処理装置の動作を説明するフローチャートである。二次元コードがＱＲコード（登録商標）の場合の動作について説明する。図３は、ＱＲコード（登録商標）の構成を説明する図である。
【００３２】
この画像処理装置では、画像読取装置１からの画像データ、記憶装置２における画像データ、通信装置３により受信された画像データなどが処理される。
【００３３】
二次元コード検出部１１は、処理対象の画像データについて二次元コードの検出を試みる（ステップＳ１）。二次元コード検出部１１は、３つの位置検出パターン１０１ａ，１０１ｂ，１０１ｃの検出を試み、３つの位置検出パターン１０１ａ，１０１ｂ，１０１ｃが検出されると、二次元コードが存在すると判定する。つまり、この場合、二次元コードが検出される。一方、３つの位置検出パターン１０１ａ，１０１ｂ，１０１ｃの少なくとも１つが検出されないと、二次元コードは存在しないと判定される。つまり、この場合、二次元コードは検出されない。
【００３４】
二次元コードが検出されると、二次元コード復号部１２は、二次元コード検出部１１により得られた位置検出パターン１０１ａ，１０１ｂ，１０１ｃの位置情報に基づいて、その二次元コードの復号を試みる（ステップＳ２）。二次元コード復号部１２により、その二次元コードの復号が成功すると（ステップＳ３）、復号により得られた情報に基づく所定の処理が実行される（ステップＳ４）。一方、二次元コード復号部１２により、その二次元コードの復号が失敗すると（ステップＳ３）、表示処理部１５は、エラーメッセージを表示装置４に表示させる（ステップＳ５）。
【００３５】
このように、二次元コードが検出されると、その二次元コードの復号が行われる。
【００３６】
他方、二次元コードが検出されない場合でも、破損した二次元コードが存在している可能性がある。二次元コードが検出されなかった場合（ステップＳ１）、少なくとも１つの位置検出パターンが検出されたときには（ステップＳ６）、周辺情報検索部１３は、検出された位置検出パターンの周辺の所定の位置に存在する型番情報および形式情報を検索する（ステップＳ７）。
【００３７】
図３に示すように、ＱＲコード（登録商標）の場合、位置検出パターン１０１ａの周辺の領域１０２ａのパターンが１つの形式情報を有しており、位置検出パターン１０１ｂの周辺の領域１０２ｂ１および位置検出パターン１０１ｃの周辺の領域１０２ｂ２のパターンが１つの形式情報を有している。また、位置検出パターン１０１ｂの周辺の領域１０３ａが１つの型番情報を有しており、位置検出パターン１０１ｃの周辺の領域１０３ｂのパターンが１つの型番情報を有している。このため、周辺情報検索部１３は、検出された位置検出パターンを、位置検出パターン１０１ａ，１０１ｂ，１０１ｃと順次見做して、領域１０２ａ、領域１０２ｂ１，１０３ａ、および領域１０２ｂ２，１０３ｂに相当する領域において、型番情報および形式情報の抽出を試みる。型番情報および形式情報の値は既知であるため、抽出された情報が有効な型番情報および形式情報か否かが判定可能である。
【００３８】
図４は、破損したＱＲコード（登録商標）の例を示す図である。図４（Ａ）は、位置検出パターン１０１ａに汚れ１２１が重畳している場合を示し、図４（Ｂ）は、位置検出パターン１０１ｂ，１０１ｃに汚れ１２１が重畳している場合を示している。図４（Ａ）に示す場合では、位置検出パターン１０１ａが検出されないため、二次元コード検出部１１により、このＱＲコード（登録商標）は検出されない。同様に、図４（Ｂ）に示す場合では、位置検出パターン１０１ｂ，１０１ｃが検出されないため、二次元コード検出部１１により、このＱＲコード（登録商標）は検出されない。
【００３９】
周辺情報検索部１３により有効な型番情報および形式情報が発見されると（ステップＳ８）、破損コード検出部１４は、破損した二次元コードが画像データによる画像内に存在すると判定し、表示処理部１５がエラーメッセージを表示装置４に表示させる（ステップＳ５）。
【００４０】
例えば、図４（Ａ）に示す場合、位置検出パターン１０１ｂ，１０１ｃが検出され、領域１０２ｂ１，１０２ｂ２および領域１０３ａ，１０３ｂから型番情報および形式情報が発見されるため、破損した二次元コードが画像データによる画像内に存在すると判定され、エラーメッセージが表示される。また、例えば、図４（Ｂ）に示す場合、位置検出パターン１０１ａが検出され、領域１０２ａから形式情報が発見されるため、破損した二次元コードが画像データによる画像内に存在すると判定され、エラーメッセージが表示される。
【００４１】
一方、位置検出パターンが１つも検出されなかった場合（ステップＳ６）、並びに有効な型番情報および／または形式情報が発見されなかった場合（ステップＳ８）には、破損コード検出部１４は、二次元コードは存在しないと判定する。
【００４２】
以上のように、上記実施の形態１によれば、破損コード検出部１４は、二次元コード検出部１１により二次元コードが検出されなかった場合において少なくとも１つの位置検出パターンが検出されたときに、検出された位置検出パターンの周辺の所定の位置のパターンに基づいて、破損した二次元コードが画像データによる画像内に存在するか否かを判定する。特に、実施の形態１では、破損コード検出部１４は、周辺情報検索部１３により型番情報および／または形式情報が発見された場合、破損した二次元コードが画像データによる画像内に存在すると判定する。
【００４３】
これにより、二次元コードとして検出されない、破損した二次元コードが検出され、二次元コードの破損に起因する不具合の発生を抑制できる。
【００４４】
実施の形態２．
【００４５】
図５は、本発明の実施の形態２に係る画像処理装置の構成を示すブロック図である。実施の形態２では、演算処理装置５において、実施の形態１の破損コード検出部１４の代わりに、破損コード検出部２１が実現される。
【００４６】
実施の形態２では、破損コード検出部２１は、位置検出パターンが１つだけ検出された場合に周辺情報検索部１３により型番情報が検出されると、型番情報に基づいて残りの位置検出パターンの位置を予測し、検出された位置検出パターンの位置と予測した残りの位置検出パターンの位置とに基づいて二次元コード復号部１２に二次元コードの復号を試みさせ、所定の段階（例えば型番情報および形式情報の取得）まで復号が成功した場合には、破損した二次元コードが画像データによる画像内に存在すると判定する。
【００４７】
このとき、破損コード検出部２１は、二次元コードから測定されるセルサイズと検出された型番情報におけるセル数とに基づいて残りの位置検出パターンの位置を予測する。
【００４８】
また、破損コード検出部２１は、位置検出パターンが２つだけ検出された場合に、検出された位置検出パターンの位置に基づいて残りの位置検出パターンの位置を予測し、検出された位置検出パターンの位置と予測した残りの位置検出パターンの位置とに基づいて二次元コード復号部１２に二次元コードの復号を試みさせ、所定の段階まで復号が成功した場合には、破損した二次元コードが画像データによる画像内に存在すると判定する。
【００４９】
なお、実施の形態２に係る画像処理装置のその他の構成については、実施の形態１のもの（図１）と同様であるので、その説明を省略する。
【００５０】
次に、上記画像処理装置の動作について説明する。図６は、実施の形態２に係る画像処理装置の動作を説明するフローチャートである。
【００５１】
実施の形態１と同様に、実施の形態２に係る画像処理装置においても、二次元コードが検出されると（ステップＳ１１）、その二次元コードの復号が試みられ（ステップＳ１２）、その二次元コードの復号が成功すると（ステップＳ１３）、所定の処理が実行され（ステップＳ１４）、その二次元コードの復号が失敗すると（ステップＳ１３）、エラーメッセージが表示される（ステップＳ１５）。
【００５２】
一方、二次元コードは検出されなかった場合（ステップＳ１１）、少なくとも１つの位置検出パターンが検出されたときには（ステップＳ１６）、破損コード検出部２１は、二次元コード検出部１１により検出された位置検出パターンの数に応じて、残りの位置検出パターンの位置の予測を行う（ステップＳ１７，Ｓ１８，Ｓ１９）。
【００５３】
検出された位置検出パターンが１つだけである場合、破損コード検出部２１は、検出された位置検出パターン周辺の型番情報を、周辺情報検索部１３に検索させ、型番情報が発見されると、その型番情報から、この二次元コードの縦横のセル数を特定し、さらに、二次元コードのセルサイズ（ピクセル数等）を特定し、そのセル数とセルサイズから、二次元コードのサイズを特定して残りの位置検出パターンの位置を予測する（ステップＳ１８）。
【００５４】
このとき、例えば、二次元コードの向きが固定されている場合には、二次元コード内での、検出された位置検出パターンの位置に基づいて、検出された位置検出パターンが位置検出パターン１０１ｂおよび位置検出パターン１０１ｃのいずれであるかを特定する。また、例えば、検出された位置検出パターンと型番情報が発見された領域との位置関係から、検出された位置検出パターンが位置検出パターン１０１ｂおよび位置検出パターン１０１ｃのいずれであるかを特定するようにしてもよい。検出された位置検出パターンが位置検出パターン１０１ｂ，１０１ｃもいずれであるかが特定されると、検出された位置検出パターンに対する残りの位置検出パターンの位置が特定可能となる。
【００５５】
検出された位置検出パターンが２つだけである場合、破損コード検出部２１は、検出された２つの位置検出パターンの位置に基づいて残りの位置検出パターンの位置を幾何学的に予測する（ステップＳ１９）。
【００５６】
図７は、位置検出パターンが２つだけ検出された場合の位置検出パターンの組合せについて説明する図である。
【００５７】
このとき、例えば、二次元コードの向きが固定されている場合には、二次元コード内での、検出された位置検出パターンの位置に基づいて、検出された２つの位置検出パターンが位置検出パターン１０１ａ，１０１ｂ，１０１ｃのいずれであるかを特定し、検出された２つの位置検出パターン間の距離に基づいて、残りの位置検出パターンの位置が幾何学的に予測される。
【００５８】
図７（Ａ）に示すように、位置検出パターン１０１ａに汚れ１２１が重畳している場合、検出された２つの位置検出パターンは位置検出パターン１０１ｂ，１０１ｃである。位置検出パターン１０１ｂ，１０１ｃ間の距離を２の平方根（１．４１４）で除算して得られた値だけ、位置検出パターン１０１ｂ，１０１ｃの一方から他方への方向から４５度の方向において位置検出パターン１０１ｂ，１０１ｃから離れた位置に、位置検出パターン１０１ａの位置が予測される。
【００５９】
図７（Ｂ）に示すように、位置検出パターン１０１ｂに汚れ１２１が重畳している場合、検出された２つの位置検出パターンは位置検出パターン１０１ａ，１０１ｃである。位置検出パターン１０１ａから位置検出パターン１０１ｃへの方向から９０度の方向において、位置検出パターン１０１ａ，１０１ｃ間の距離だけ離れた位置に、位置検出パターン１０１ｂの位置が予測される。
【００６０】
図７（Ｃ）に示すように、位置検出パターン１０１ｃに汚れ１２１が重畳している場合、検出された２つの位置検出パターンは位置検出パターン１０１ａ，１０１ｂである。位置検出パターン１０１ａから位置検出パターン１０１ｂへの方向から９０度の方向において、位置検出パターン１０１ａ，１０１ｂ間の距離だけ離れた位置に、位置検出パターン１０１ｃの位置が予測される。
【００６１】
また、例えば、位置合わせパターンを検出し、検出された位置検出パターンと位置合わせパターンとの位置関係から、検出された位置検出パターンが位置検出パターン１０１ａ，１０１ｂ，１０１ｃのいずれであるかを特定するようにしてもよい。
【００６２】
このようにして、検出されなかった位置検出パターンの位置が予測された後、破損コード検出部２１は、検出された位置検出パターンの位置と予測した残りの位置検出パターンの位置とに基づいて二次元コード復号部１２に二次元コードの復号を試みさせる（ステップＳ２０）。
【００６３】
破損コード検出部２１は、二次元コード復号部１２により所定の段階まで復号が成功した場合には、破損した二次元コードが画像データによる画像内に存在すると判定し、表示処理部１５がエラーメッセージを表示装置４に表示させる（ステップＳ１５）。
【００６４】
一方、位置検出パターンが１つも検出されなかった場合（ステップＳ１６）、所定の段階まで復号が成功しなかった場合（ステップＳ２１）、およびステップＳ１８において型番情報が得られなかった場合には、破損コード検出部２１は、二次元コードは存在しないと判定する。
【００６５】
以上のように、上記実施の形態２によれば、破損コード検出部２１は、二次元コード検出部１１により二次元コードが検出されなかった場合において少なくとも１つの位置検出パターンが検出されたときに、検出された位置検出パターンの周辺の所定の位置のパターンに基づいて、破損した二次元コードが画像データによる画像内に存在するか否かを判定する。特に、実施の形態２では、破損コード検出部２１は、周辺情報検索部１３により型番情報が検出されると、その型番情報に基づいて残りの位置検出パターンの位置を予測し、検出された位置検出パターンの位置と予測した残りの位置検出パターンの位置とに基づいて二次元コード復号部１２に二次元コードの復号を試みさせ、所定の段階まで復号が成功した場合には、破損した二次元コードが画像データによる画像内に存在すると判定する。
【００６６】
これにより、二次元コードとして検出されない、破損した二次元コードが検出され、二次元コードの破損に起因する不具合の発生を抑制できる。
【００６７】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００６８】
例えば、上記各実施の形態に係る画像処理装置を、ファクシミリ送信やインターネットファクシミリ送信を行う画像形成装置とし、図８に示すような書類の画像を画像読取装置１で読み取り、各書類画像内の二次元コードを復号して宛先情報を取得し、その宛先情報により指定される宛先に書類画像の画像データを通信装置３で送信するようにしてもよい。その場合、破損した二次元コードが検出されると、エラーメッセージが表示され、その破損した二次元コードが含まれる書類画像の画像データは送信されない。
【産業上の利用可能性】
【００６９】
本発明は、例えば、ＱＲコード（登録商標）の破損の検出に適用可能である。
【符号の説明】
【００７０】
４  表示装置
１１  二次元コード検出部
１３  周辺情報検索部
１４，２１  破損コード検出部
１５  表示処理部
１０１ａ，１０１ｂ，１０１ｃ  位置検出パターン
【図１】
0005412465.tif 000002
【図２】
0005412465.tif 000003
【図３】
0005412465.tif 000004
【図４】
0005412465.tif 000005
【図５】
0005412465.tif 000006
【図６】
0005412465.tif 000007
【図７】
0005412465.tif 000008
【図８】
0005412465.tif 000009