説明

情報画像、画像処理装置及び画像処理プログラム

【課題】情報画像の合成された画像が回転していたとしても、その情報画像内に埋め込まれている情報の検出ができるようにした情報画像を提供する。
【解決手段】矩形内の行に、0又は1の連続した第1の情報を表しており、連続した画素塊を配置した系列である第1の画素系列と、矩形内の列に、0又は1の連続した第2の情報を表しており、連続した画素塊を配置した系列である第2の画素系列と、矩形内の行であって第1の画素系列と予め定められた位置に、第3の情報を表す画素塊を配置した系列である第3の画素系列と、矩形内の列であって第2の画素系列と予め定められた位置に、第4の情報を表す画素塊を配置した系列である第4の画素系列と、矩形内の第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列以外の領域に、情報画像内に埋め込まれる情報である第5の情報を表す画素塊を配置した系列である第5の画素系列を配置している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報画像、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、二進コードで表されるデータをセル化して、二次元のマトリックス上にパターンとして配置した二次元コードにおいて、前記マトリックス内の、少なくとも2個所の所定位置に、各々中心をあらゆる角度で横切る走査線において同じ周波数成分比が得られるパターンの位置決め用シンボルを配置したことを特徴とする二次元コードが開示されている。
【0003】
また、特許文献2には、再生されるべきマルチメディア情報の内容に相当するデータコードと、その読み取り基準点を決定するためのパターンコードとからなるドットコードの記録される情報記録媒体から前記ドットコードを光学的に読み取って再生する情報再生システムにおいて、前記ドットコードを撮像する画像入力手段と、前記画像入力手段で撮像された画像から、前記パターンコードを認識して、前記データコードを読み取るためのデータ読み取り基準点を決定するデータ読み取り基準点決定手段と、前記データ読み取り基準点決定手段によって決定されたデータ読み取り基準点に基づいて、前記データコードを読み取るデータ読み取り手段と、前記データ読み取り手段によって読み取られたデータを再生するデータ再生手段と、を具備し、前記パターンコードは、前記データコードに関して予め決められた位置に配置されたパターンドットと、このパターンドットに関して予め決められた位置に配置され、前記パターンドットを検出するために利用されるマーカとからなり、前記データ読み取り基準点決定手段は、前記画像入力手段で撮像された画像から前記マーカを抽出するマーカ抽出手段と、このマーカ抽出手段によって抽出されたマーカの概中心を算出する概中心算出手段とからなるマーカ検出手段とを含み、前記マーカ抽出手段は、イロージョン処理とラベリング処理とを行う手段を含むことを特徴とする情報再生システムが開示されている。
【0004】
また、特許文献3には、文書のレイアウトを損なうことなく、しかもコストアップなしで印刷文書に印刷した文書にさまざまな手書き入力装置を利用して手書きで加筆した情報を正確に取得し、元の電子文書にその情報を反映させることができる2次元コードパターンを提供することを課題とし、文書の固有情報と該文書の位置情報を有する2次元コードを、前記文書が印刷される印刷文書の一部又は全部に複数配置して形成される2次元コードにおいて、印刷文書に形成される第一の2次元コードと、印刷文書の所定領域に形成され、第一の2次元コードとは異なる態様とされる第二の2次元コードを形成し、これにより、ペン型入力座標装置だけでなく、従来、ドットパターンを利用して手書き入力を行っていたパッド型座標入力装置や複合機などにおいてもバーコードを利用して手書き入力を行うことができるようになることが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第2938338号公報
【特許文献2】特許第2952170号公報
【特許文献3】特開2006−085679号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、情報画像の合成された画像が回転していたとしても、その情報画像内に埋め込まれている情報の検出ができるようにした情報画像を提供すること、その情報画像の合成、検出を行う画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、矩形内の行に、二進数における0又は1の連続した第1の情報を表しており、連続した画素塊を配置した系列である第1の画素系列と、前記矩形内の列に、二進数における0又は1の連続した第2の情報を表しており、連続した画素塊を配置した系列である第2の画素系列と、前記矩形内の行であって前記第1の画素系列と予め定められた位置に、第3の情報を表す画素塊を配置した系列である第3の画素系列と、前記矩形内の列であって前記第2の画素系列と予め定められた位置に、第4の情報を表す画素塊を配置した系列である第4の画素系列と、前記矩形内の前記第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列以外の領域に、情報画像内に埋め込まれる情報である第5の情報を表す画素塊を配置した系列である第5の画素系列を配置しており、前記第3の情報と前記第4の情報との情報空間における距離、該第3の情報と該第3の情報を反転した情報との情報空間における距離、該第3の情報と該第4の情報を反転した情報との情報空間における距離、該第3の情報と二進数における0又は1が連続している情報との情報空間における距離、該第4の情報と該第4の情報を反転した情報との情報空間における距離、該第4の情報と該第3の情報を反転した情報との情報空間における距離、該第4の情報と二進数における0又は1が連続している情報との情報空間における距離に基づいて、該第3の情報及び該第4の情報は定められていることを特徴とする情報画像である。
【0008】
請求項2の発明は、画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報の第5の画素系列に基づいて、該情報画像を生成する生成手段と、前記画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、前記合成手段によって合成された画像を出力する出力手段を具備することを特徴とする画像処理装置である。
【0009】
請求項3の発明は、請求項1記載の情報画像が合成された画像を受け付ける受付手段と、前記受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、前記検出手段によって検出された第5の画素系列を復号する復号手段と、前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段を具備することを特徴とする画像処理装置である。
【0010】
請求項4の発明は、前記受付手段によって受け付けられた画像内の画素塊が隣り合う組を検出し、該画素塊の組に基づいて、該画像の回転角を検出する回転角検出手段をさらに具備し、前記画素系列検出手段は、前記回転角検出手段によって検出された回転角に基づいて、第1の画素系列又は第2の画素系列を検出することを特徴とする請求項3に記載の画像処理装置である。
【0011】
請求項5の発明は、画像を受け付ける第1の画像受付手段と、前記第1の画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報を第5の画素系列に基づいて、該情報画像を生成する生成手段と、前記第1の画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、前記合成手段によって合成された画像を出力する画像出力手段と、前記画像出力手段によって出力された画像を受け付ける第2の画像受付手段と、前記第2の画像受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、前記検出手段によって検出された第5の画素系列を復号する復号手段と、前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段を具備することを特徴とする画像処理装置である。
【0012】
請求項6の発明は、コンピュータを、画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報を第5の画素系列に基づいて、該情報画像を生成する生成手段と、前記画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、前記合成手段によって合成された画像を出力する出力手段として機能させることを特徴とする画像処理プログラムである。
【0013】
請求項7の発明は、コンピュータを、請求項1記載の情報画像が合成された画像を受け付ける受付手段と、前記受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、前記検出手段によって検出された第5の画素系列を復号する復号手段と、前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段として機能させることを特徴とする画像処理プログラムである。
請求項8の発明は、コンピュータを、画像を受け付ける第1の画像受付手段と、前記第1の画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報を第5の画素系列に基づいて、該情報画像を生成する生成手段と、前記第1の画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、前記合成手段によって合成された画像を出力する画像出力手段と、前記画像出力手段によって出力された画像を受け付ける第2の画像受付手段と、前記第2の画像受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、前記検出手段によって検出された第5の画素系列を復号する復号手段と、前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【0014】
請求項1の情報画像によれば、情報画像の合成された画像が回転していたとしても、その情報画像内に埋め込まれている情報の検出ができるようになっている。
【0015】
請求項2の画像処理装置によれば、画像が回転していたとしても、その画像に合成された情報画像内に埋め込まれている情報を検出できるようにした情報画像を合成した画像を出力することができる。
【0016】
請求項3の画像処理装置によれば、情報画像の合成された画像を受け付け、その画像が回転していたとしても、情報画像内に埋め込まれている情報を検出できる。
【0017】
請求項4の画像処理装置によれば、本構成を有していない場合に比較して、第1の画素系列又は第2の画素系列を効率よく検出することができる。
【0018】
請求項5の画像処理装置によれば、情報画像を合成した画像を出力することができ、その画像を受け付け、画像が回転していたとしても、情報画像内に埋め込まれている情報を検出することができる。
【0019】
請求項6の画像処理プログラムによれば、画像が回転していたとしても、その画像に合成された情報画像内に埋め込まれている情報を検出できるようにした情報画像を合成した画像を出力することができる。
【0020】
請求項7の画像処理プログラムによれば、情報画像の合成された画像を受け付け、その画像が回転していたとしても、情報画像内に埋め込まれている情報を検出できる。
請求項8の画像処理プログラムによれば、情報画像を合成した画像を出力することができ、その画像を受け付け、画像が回転していたとしても、情報画像内に埋め込まれている情報を検出することができる。
【図面の簡単な説明】
【0021】
【図1】本実施の形態における情報画像内の画素系列の位置関係の例を示す説明図である。
【図2】情報画像を合成した画像の概念的な例を示す説明図である。
【図3】本実施の形態における情報画像を合成する画像処理装置の構成例についての概念的なモジュール構成図である。
【図4】信号系列X、信号系列Yの生成例を示すアルゴリズムである。
【図5】情報画像を合成する画像処理装置による処理例を示すフローチャートである。
【図6】符号語の生成処理例を示す説明図である。
【図7】本実施の形態における情報画像を検出する画像処理装置の構成例についての概念的なモジュール構成図である。
【図8】情報画像を検出する画像処理装置による処理例を示すフローチャートである。
【図9】処理単位の例を示す説明図である。
【図10】画素系列の探索処理例を示す説明図である。
【図11】画素系列の例を示す説明図である。
【図12】検出された信号系列の例を示す説明図である。
【図13】信号系列のローテーション処理例を示す説明図である。
【図14】復号処理の例を示す説明図である。
【図15】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0022】
まず、情報画像について説明する。
情報画像とは、機械可読な態様で電子データを表すために体系的に作られた画像コードをいい、2次元コードと呼ばれるものである。
情報画像の形状は、矩形(以下、ブロックともいう)である。より具体的には、縦と横の長さが同じ正方形であってもよいし、縦と横の長さが異なる長方形であってもよい。以下、情報画像の形状として、正方形を主に例示して説明する。
この情報画像内に、画素塊が描画される。画素塊が描画され得る位置に描画されている又は描画されていないことは、二進数における0又は1を表している。画素塊が描画され得る位置は、矩形内の予め定められた格子の交点であり、それぞれの格子間(隣り合う交点間)は予め定められた距離だけ離れている。
また、画素塊とは、4連結又は8連結で連続する1画素以上の画素領域である。画素塊は、情報画像と合成する画像の下地と異なる色の画素塊であればよく、例えば、黒画素塊、カラー(例えば、黄色等)の画素塊、合成する画像の下地が黒等である場合は白画素塊であってもよい。以下、画素塊として、黒画素塊を主に例示して説明する。また、画素塊をドットともいう。
【0023】
以下、図面に基づき本発明を実現するにあたっての好適な実施の形態の例を説明する。
図1は、本実施の形態における情報画像内の画素系列の位置関係の例を示す説明図である。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0024】
図1の例に示す情報画像100は、18×18の画素塊を描画し得る正方形であり、画素系列A111、画素系列B112、画素系列X113、画素系列Y114、データ領域115を有している。
【0025】
画素系列A111は、情報画像100内の行に、画素塊を連続して配置した系列であり、この系列は、二進数における0又は1の連続した第1の情報を表している。
黒画素塊が描画されていることを二進数における1とすると、第1の情報とは、全て1の情報のことであり、黒画素塊が描画されていることを二進数における0とすると、第1の情報とは、全て0の情報のことである。いずれの場合であっても、第1の情報を表す画素系列A111は、黒画素塊(図1の例では18個)を連続して配置した系列である。以下、第1の情報として、全て1の情報を主に例示して説明する。つまり、黒画素塊が描画されていることを二進数における1としたものである。
なお、黒画素塊が描画されていることの意味(二進数における0又は1を表していること)は、少なくとも文書と合成する複数の情報画像内で同じ意味を有している。
【0026】
画素系列B112は、情報画像100内の列に、画素塊を連続して配置した系列であり、この系列は、二進数における0又は1の連続した第2の情報を表している。
黒画素塊が描画されていることを二進数における1とすると、第2の情報とは、全て1の情報のことであり、黒画素塊が描画されていることを二進数における0とすると、第2の情報とは、全て0の情報のことである。いずれの場合であっても、第2の情報を表す画素系列B112は、黒画素塊(図1の例では18個)を連続して配置した系列である。以下、第2の情報として、全て1の情報を主に例示して説明する。
なお、情報画像100が正方形である場合は、第1の情報と第2の情報は同じである。
【0027】
画素系列A111の位置は情報画像100内の行(水平方向の画素塊の系列)であればいずれの位置であってもよく、画素系列B112の位置は情報画像100内の列(垂直方向の画素塊の系列)であればいずれの位置であってもよい。画素系列A111の位置として情報画像100内の最上行、最下行、最上行の直下行又は最下行の直上行、画素系列B112の位置として情報画像100内の最左列、最右列、最左列の直右列又は最右列の直左列が好適である。以下、画素系列A111の位置として矩形内の最上行(第1行)、画素系列B112の位置として矩形内の最左列(第1列)を主に例示して説明する。
【0028】
画素系列X113は、情報画像100内の行であって画素系列A111と予め定められた位置に、第3の情報を表す画素塊を配置した系列である。
画素系列Y114は、情報画像100内の列であって画素系列B112と予め定められた位置に、第4の情報を表す画素塊を配置した系列である。
【0029】
画素系列X113の位置は情報画像100内の行(水平方向の画素塊の系列)であればいずれの位置であってもよく、画素系列Y114の位置は情報画像100内の列(垂直方向の画素塊の系列)であればいずれの位置であってもよい。画素系列X113の位置として情報画像100内の最上行、最下行、最上行の直下行又は最下行の直上行が好適である。つまり、画素系列A111が最上行であれば、画素系列X113は最上行の直下行、最下行又は最下行の直上行であり、画素系列A111が最上行の直下行であれば、画素系列X113は最上行、最下行又は最下行の直上行であり、画素系列A111が最下行であれば、画素系列X113は最上行、最上行の直下行又は最下行の直上行であり、画素系列A111が最下行の直上行であれば、最上行、最下行又は最上行の直下行が好適である。また、画素系列Y114の位置として情報画像100内の最左列、最右列、最左列の直右列又は最右列の直左列が好適である。つまり、画素系列B112が最左列であれば、画素系列Y114は最右列、最左列の直右列又は最右列の直左列であり、画素系列B112が最右列であれば、画素系列Y114は最左列、最左列の直右列又は最右列の直左列であり、画素系列B112が最左列の直右列であれば、画素系列Y114は最左列、最右列又は最右列の直左列であり、画素系列B112が最右列の直左列であれば、画素系列Y114は最左列、最右列又は最左列の直右列が好適である。
以下、画素系列X113の位置として矩形内の最上行の直下行(第2行)、画素系列Y114の位置として矩形内の最左列の直右列(第2列)を主に例示して説明する。
【0030】
第3の情報と第4の情報との情報空間における距離、第3の情報と第3の情報を反転した情報との情報空間における距離、第3の情報と第4の情報を反転した情報との情報空間における距離、第3の情報と二進数における0又は1が連続している情報との情報空間における距離、第4の情報と第4の情報を反転した情報との情報空間における距離、第4の情報と第3の情報を反転した情報との情報空間における距離、第4の情報と二進数における0又は1が連続している情報との情報空間における距離に基づいて、第3の情報及び第4の情報は定められている。第3の情報は第1の情報とともに画像の90度単位の回転及び同期位置を検出するための情報を表しており、第4の情報は第2の情報とともに画像の90度単位の回転及び同期位置を検出するための情報を表している。なお、同期位置とは、画像内に、情報画像100(第5の情報は異なっていてもよい)が繰り返し並んで配置されている場合に、その情報画像100の単位を特定するための位置である。例えば、第1の画素系列と第2の画素系列とが交差する位置である。
【0031】
ここで、「二進数における0又は1が連続している情報」とは、1が連続している情報又は0が連続している情報である。第3の情報と比較する場合は、第3の情報と同じ長さであって、1が連続している情報又は0が連続している情報であり、第4の情報と比較する場合は、第4の情報と同じ長さであって、1が連続している情報又は0が連続している情報である。なお、情報画像100が正方形である場合は、第3の情報の長さと第4の情報の長さは同じであり、かつ、第1の情報と第2の情報は同じであるから、「二進数における0又は1が連続している情報」とは、第1の情報と第2の情報のいずれであってもよい。
なお、第3の情報と比較するのが「二進数における1が連続している情報」である場合は、第4の情報と比較するのも「二進数における1が連続している情報」であり、第3の情報と比較するのが「二進数における0が連続している情報」である場合は、第4の情報と比較するのも「二進数における0が連続している情報」である。
以下、「二進数における1が連続している情報」を主に例示して説明する。また、「二進数における1が連続している情報」を、All“1”とも表す。
【0032】
情報空間における距離としては、例えば、ハフマン距離がある。
距離に基づいて定められているとは、例えば、それらの7種の距離のうち最小の値となる距離が、あらゆる組み合わせの中で最大となるように選択することをいう。
あらゆる組み合わせとは、その情報画像100内の1列又は1行において、表すことができる情報の組み合わせのことをいう。
ただし、画素系列X113は画素系列B112と交差することになるので、画素系列B112は黒画素塊を連続して配置した系列であるから、その交差している位置(図1の例では第2行第1列)にある黒画素塊は描画されていることになる。前述の例では、黒画素塊が描画されていることを1としているので、画素系列X113の画素系列B112と交差している画素に対応する情報は1となる。
同様に、画素系列Y114は画素系列A111と交差することになるので、画素系列A111は黒画素塊を連続して配置した系列であるから、その交差している位置(図1の例では第1行第2列)にある黒画素塊は描画されていることになる。前述の例では、黒画素塊が描画されていることを1としているので、画素系列Y114の画素系列A111と交差している画素に対応する情報は1となる。
また、画素系列X113は画素系列Y114と交差することになるので、その交差している位置(図1の例では第2行第2列)にある黒画素塊は同じ状態(黒画素塊が描画されていること又は描画されていないことのいずれか一方)になる。
【0033】
データ領域115は、情報画像100内の画素系列A111、画素系列B112、画素系列X113、画素系列Y114以外の領域に、情報画像100内に埋め込まれる情報である第5の情報を表す画素塊を配置した系列である。図1の例の場合は、16×16の領域となる。
【0034】
図2は、情報画像を合成した画像の概念的な例を示す説明図である。
文書画像200は合成領域210を有しており、合成領域210は複数の情報画像100Aを有している。合成領域210内には、図1に例示した情報画像100が連続して配置されている。もちろん、合成領域210内の複数の情報画像100は、同じ構造を有している(少なくとも合成する合成領域210内において、それぞれの情報画像100内における画素系列A111の位置、画素系列B112の位置、画素系列X113の位置、画素系列Y114の位置は同じである)ので、合成領域210内において、複数の情報画像100をまたがって、連続した画素系列A111と連続した画素系列B112と連続した画素系列X113と連続した画素系列Y114があることになる。つまり、黒画素塊が合成領域210内に連続して配置された系列(画素系列A111と画素系列B112の連続)があることになり、それらは直交していることになる。いわゆるマトリックス状に連続した黒画素塊が配置されている。また、画素系列X113と画素系列Y114は、繰り返して現れることになる。
【0035】
なお、文書画像200を印刷し、その印刷した文書をスキャナ等で読み込んだ場合、その画像には回転が発生してしまうことがあり得る。その場合、連続した画素系列A111は必ずしも水平とはならず、連続した画素系列B112も必ずしも垂直とはならないので、回転前の状態に戻す又はその回転を考慮して第5の情報を検出することが必要となる。これについては、図7以降の例を用いて後述する。
【0036】
図3は、本実施の形態における情報画像を合成する画像処理装置の構成例についての概念的なモジュール構成図である。
情報画像を合成する画像処理装置は、図3の例に示すように、画像受付モジュール310、情報受付モジュール320、符号化モジュール330、同期用系列生成モジュール340、情報画像生成モジュール350、合成モジュール360、出力モジュール370を有している。
【0037】
画像受付モジュール310は、合成モジュール360と接続されており、画像を受け付けて、その画像を合成モジュール360へ渡す。画像を受け付けるとは、例えば、スキャナ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、CCD(Charge−Coupled Device)等で映像を撮影すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0038】
情報受付モジュール320は、符号化モジュール330と接続されており、画像受付モジュール310によって受け付けられた画像に付加する情報を受け付けて、その情報を符号化モジュール330に渡す。情報を受け付けるとは、例えば、ハードディスク等に記憶されている情報を読み出すこと、操作者によるタッチパネル、キーボード等の操作によって情報を受け付けること、その画像を特定する画像識別符号を算出すること、その画像を印刷するプリンタを特定するプリンタ識別符号を読み出すこと、その画像の印刷指示を行った操作者を特定する操作者識別符号をその操作者が所持しているICカード等から読み出すこと等が含まれる。受け付ける情報は、1つであってもよいし、複数であってもよい。また、情報の内容として、画像識別符号、プリンタ識別符号、操作者識別符号等であってもよい。
【0039】
符号化モジュール330は、情報受付モジュール320、情報画像生成モジュール350と接続されており、情報受付モジュール320によって受け付けられた情報を符号化して、その符号化した情報を情報画像生成モジュール350へ渡す。ここでの処理内容については、図6の例を用いて後述する。
【0040】
同期用系列生成モジュール340は、情報画像生成モジュール350と接続されている。
同期用系列生成モジュール340は、第1系列・第2系列生成モジュール342、第3系列・第4系列生成モジュール344、同期用系列記憶モジュール346を有している。
第1系列・第2系列生成モジュール342は、図1に例示した情報画像100における画素系列A111、画素系列B112を生成する。予め定められた情報画像100の行の長さ、列の長さに応じて、二進数における0又は1が連続している情報を表す黒画素塊の連続した系列を生成する。
第3系列・第4系列生成モジュール344は、図1に例示した情報画像100における画素系列X113、画素系列Y114を生成する。画素系列X113、画素系列Y114の生成処理については、図4を用いて後述する。
同期用系列記憶モジュール346は、第1系列・第2系列生成モジュール342によって生成された画素系列A111、画素系列B112と第3系列・第4系列生成モジュール344によって生成された画素系列X113、画素系列Y114を記憶する。つまり、図1に例示した画素系列A111、画素系列B112、画素系列X113、画素系列Y114が確定した情報画像100を記憶する。なお、データ領域115内は、情報画像生成モジュール350によって生成される。
【0041】
情報画像生成モジュール350は、符号化モジュール330、同期用系列生成モジュール340、合成モジュール360と接続されており、図1に例示した情報画像100における画素系列A111、画素系列B112、画素系列X113、画素系列Y114、符号化モジュール330によって符号化された情報のデータ領域115内の画素系列に基づいて、情報画像100を生成し、その情報画像100を合成モジュール360に渡す。
合成モジュール360は、画像受付モジュール310、情報画像生成モジュール350、出力モジュール370と接続されており、画像受付モジュール310によって受け付けられた画像に情報画像生成モジュール350によって生成された情報画像を合成し、情報画像を合成した画像を出力モジュール370に渡す。ここでの合成した画像の例として、図2に例示した文書画像200がある。合成する領域は、画像全体であってもよいし、画像内の一部の領域であってもよい。その領域は、予め定められた位置及び大きさの領域であるが、例えば、既に定められた位置及び大きさであってもよいし、画像を解析して、その解析結果に基づいて領域の位置及び大きさを定めるようにしてもよい。例えば、画像の解析結果としては、黒領域を除いた領域の位置及び大きさ等がある。
【0042】
出力モジュール370は、合成モジュール360と接続されており、合成モジュール360によって合成された画像を受け取り、その画像を出力する。画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【0043】
図4は、第3の情報(以下、信号系列Xともいう)、第4の情報(以下、信号系列Yともいう)の生成例を示すアルゴリズムである。この処理は、第3系列・第4系列生成モジュール344が行う。
なお、信号系列X、信号系列Yの長さは等しく、Nビットであるとする。
【0044】
ステップS400では、変数dminに0を代入する。
ステップS402では、ステップS434までの処理を繰り返す。繰り返しの制御は、for(X=2N−1;X<2−1;X++)とする。つまり、信号系列Xに2N−1を代入し、X<2−1が真である間はステップS434までの処理を行って、Xを1つずつインクリメントする。なお、MSB(Most Significant Bit、最上位のビット)はAll“1”信号と重なるため、MSBビット=1である。
【0045】
ステップS404では、ステップS432までの処理を繰り返す。繰り返しの制御は、for(Y=2N−1;Y<2−1;Y++)とする。つまり、信号系列Yに2N−1を代入し、Y<2−1が真である間はステップS432までの処理を行って、Yを1つずつインクリメントする。なお、MSB(Most Significant Bit、最上位のビット)はAll“1”信号と重なるため、MSBビット=1である。
【0046】
ステップS406では、信号系列RXに信号系列Xのリバース(信号系列Xを終端から先頭方向に逆順に並び替えた信号系列)を代入する。つまり、信号系列XのLSB(Least Significant Bit、最下位のビット)からMSB側に向けてビット走査して、信号系列Xの反転した情報を生成する。
ステップS408では、信号系列RYに信号系列Yのリバース(信号系列Yを終端から先頭方向に逆順に並び替えた信号系列)を代入する。つまり、信号系列YのLSBからMSB側に向けてビット走査して、信号系列Yの反転した情報を生成する。
【0047】
ステップS410では、d(X,Y)の計算をする。なお、d(X,Y)はXとYとのハフマン距離を求める関数である。つまり、信号系列Xと信号系列Yとの情報空間における距離を算出している。
ステップS412では、d(X,RX)の計算をする。信号系列Xと信号系列RXとの情報空間における距離を算出している。
ステップS414では、d(X,RY)の計算をする。信号系列Xと信号系列RYとの情報空間における距離を算出している。
ステップS416では、d(X,All“1”)の計算をする。信号系列Xと信号系列All“1”との情報空間における距離を算出している。
ステップS418では、d(Y,RX)の計算をする。信号系列Yと信号系列RXとの情報空間における距離を算出している。
ステップS420では、d(Y,RY)の計算をする。信号系列Yと信号系列RYとの情報空間における距離を算出している。
ステップS422では、d(Y,All“1”)の計算をする。信号系列Yと信号系列All“1”との情報空間における距離を算出している。
【0048】
ステップS424では、前述の7つのハフマン距離(ステップS410からステップS422の処理でそれぞれ算出した距離)中の最小値dを求める。例えば、最小値を求める関数を利用すればよい。
なお、ステップS426からステップS432までの処理は、ある1組の信号系列X、信号系列Yの組における前述の7つのハフマン距離中の最小値が、ステップS402、ステップS404による繰り返し制御において最も大きなハフマン距離である場合の、信号系列X、信号系列Yの組を算出していることになる。
ステップS426では、変数dと変数dminとを比較する。つまり、d>dminが真であるならば、ステップS428、ステップS430の処理を行う。
ステップS428では、変数dminに変数dを代入する。
ステップS430では、このときの信号系列X、信号系列Yを同期用系列記憶モジュール346に記憶する。つまり、画素系列X113、画素系列Y114が表す情報の候補となる。
【0049】
なお、画素系列X113と画素系列Y114は交差する(図1の例では第2行第2列の位置)のであるから、信号系列Xと信号系列Yも対応するビットは同じ情報(0、1のいずれか一方)である必要がある。そこで、そのビットが同じか否かの判断をステップS426に付加してもよい。つまり、d>dminが真であり、かつ、信号系列Xと信号系列Yとの対応するビットが同じ情報である場合に、ステップS428、ステップS430の処理を行うようにしてもよい。
また、7つのハフマン距離中の最小値dを求める処理の代わりに、7つのハフマン距離と予め定められた閾値とをそれぞれ比較し、全てがその閾値以上である場合に、信号系列X、信号系列Yを画素系列X113、画素系列Y114が表す情報の候補としてもよい。
また、7つのハフマン距離中の最小値をその大きさの順(小さいものから大きいものになるような並べ方、昇順)に並べて、予め定められた順位以内の信号系列X、信号系列Yを画素系列X113、画素系列Y114が表す情報の候補としてもよい。
【0050】
このように、信号系列Xと信号系列Yの候補を算出した後に、その信号系列Xと信号系列Yの組を選択し、画素系列X113、画素系列Y114が表す情報とする。ここでの選択は、いずれを選択してもよい。
なお、図4に例示する第3系列・第4系列生成モジュール344の処理は、画像受付モジュール310が画像を受け付ける又は情報受付モジュール320が情報を受け付ける前に行っていてもよいし、画像受付モジュール310が画像を受け付ける都度又は情報受付モジュール320が情報を受け付ける都度に行ってもよい。
【0051】
図5は、情報画像を合成する画像処理装置による処理例を示すフローチャートである。
ステップS502では、画像受付モジュール310が、対象となる画像を受け付ける。
ステップS504では、情報受付モジュール320が、画像に合成する情報を受け付ける。
ステップS506では、符号化モジュール330が、受け付けた情報を符号化する。図6を用いて説明する。
【0052】
図6は、符号語の生成処理例を示す説明図である。この処理は、符号化モジュール330が行う。
(1) 情報受付モジュール320が受け付けた情報である埋め込み情報のCRC−16のパリティを計算し、それを元の埋め込み情報に付加する。
図6を用いて説明すると、ステップS602では、オリジナル情報610からCRC−16:620を計算して付加する。CRC(Cyclic Redundancy Check)とは、データのひとかたまりの誤りを検出するために、巡回符号を用いる方式である。オリジナル情報610は、情報受付モジュール320が受け付けた情報の一部(16バイト)である。符号語の生成処理は、受け付けた情報を16バイト毎に区切って処理する。また、16バイト毎に区切って最後のオリジナル情報610が16バイト以下の情報量又は情報受付モジュール320が受け付けた情報そのものが16バイト以下の情報量であれば、オリジナル情報610は、その受け付けた情報そのもの、又は16バイトに足らない部分を予め定められた情報(例えば0)で埋めたものである。もちろんのことながら、CRC−16、16バイトは例示であり、他のパリティ方式、バイト長であってもよい。
【0053】
(2) (1)で得られた情報を誤り訂正符号(例えば、BCH符号等)で符号化する。このとき、符号化後の符号長が情報画像100のデータ領域に収まらない場合は、(1)で得られた情報を分割し、その順番がわかるID(情報識別子)を付加した後の情報系列を誤り訂正符号化する。
図6を用いて説明すると、ステップS604では、オリジナル情報610とCRC−16:620を接続したものを8つに分割し、それぞれに3ビットのIDを付加する。具体的には、図6に例示するように、オリジナル情報610とCRC−16:620を接続したものを18ビットの分割情報631B〜638Bに分割し、それぞれに0〜7を示す3ビットのID(ID631A〜638A)を付加する。つまり、それぞれが合計21ビットのID付分割情報631〜638を生成する。もちろんのことながら、分割数の8、分割情報の18ビット長、IDの3ビット長は例示であり、他の分割数、ビット長であってもよい。
ステップS606では、ID付分割情報631〜638を、それぞれBCH(60,21,t=7)で符号化する。BCH(Bose−Chaudhuri−Hocquenghem)とは、周期冗長検査コードに基づく誤り検出訂正コードの一つである。これによって、図6に例示するように、8つの符号語641〜648を生成する。もちろんのことながら、BCH符号化は例示であり、他の符号化方式であってもよい。
【0054】
ステップS508では、情報画像生成モジュール350が、同期用系列記憶モジュール346内に記憶されている画素系列A111、画素系列B112、画素系列X113、画素系列Y114、ステップS506で符号化された情報を用いて、情報画像を生成する。
より具体的には、画像内の合成領域(図2に例示する合成領域210)に画素系列A111、画素系列B112、画素系列X113、画素系列Y114を埋め込む。そして、ステップS506で求めた各符号語を合成領域内の左上の情報画像100内のデータ領域115から埋め込む。このとき、符号長がデータ領域115のサイズと等しくない場合は、データ領域115に余りがでるが、その領域には例えば、0を埋め込むようにしてもよい。全ての符号語の埋め込みが終わり、合成領域内の情報画像100のデータ領域115が余っていれば、同じ符号語を繰り返し埋め込むようにしてもよい。つまり、同じ埋込情報を表している情報画像100が、合成領域内に複数あるようにしてもよい。
【0055】
ステップS510では、合成モジュール360が、画像に情報画像を合成する。ここでの合成は、論理和合成であってもよいし、排他的論理和合成等であってもよい。
ステップS512では、出力モジュール370が、合成画像を出力する。
【0056】
図7は、本実施の形態における情報画像を検出する画像処理装置の構成例についての概念的なモジュール構成図である。
画像受付モジュール710、ドット検出モジュール720、単位位置・回転角検出モジュール730、埋込情報検出モジュール750、復号モジュール760、出力モジュール770を有している。
なお、以下の説明で、行又は列の位置関係として、直下行、直上行、直右列、直左列を例として挙げるが、これは、画素系列A111と画素系列X113の位置関係の例として画素系列A111の直下に画素系列X113を配置し、画素系列B112と画素系列Y114の位置関係の例として画素系列B112の直右に画素系列Y114を配置した場合を対象としたものである。したがって、画素系列A111と画素系列X113の位置関係、画素系列B112と画素系列Y114の位置関係が前述の例以外の場合は、直下行、直上行、直右列、直左列は、予め定められた位置関係にある行又は列と読み替えるものとする。
【0057】
画像受付モジュール710は、ドット検出モジュール720と接続されており、情報画像100が合成された画像を受け付けて、その画像をドット検出モジュール720へ渡す。画像を受け付けるとは、例えば、スキャナ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、CCD(Charge−Coupled Device)等で映像を撮影すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよいが、情報画像100が合成された画像である。つまり、図3に例示した画像処理装置によって出力されたものをスキャナ等で読み込んだものである。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0058】
ドット検出モジュール720は、画像受付モジュール710、単位位置・回転角検出モジュール730と接続されており、2値化モジュール722、ラベリングモジュール724、ノイズ除去モジュール726を有している。
2値化モジュール722は、ラベリングモジュール724と接続されており、画像受付モジュール710が受け付けた画像を2値化して、その2値化画像をラベリングモジュール724へ渡す。ここでの2値化処理は、例えば、周辺部分に比べて黒い画素塊を抽出するのに適している浮動2値化等である。
ラベリングモジュール724は、2値化モジュール722、ノイズ除去モジュール726と接続されており、2値化モジュール722によって2値化処理された画像に対して、ラベリング処理を行う。つまり、黒画素塊に一意のラベルを付す。同じラベルが付された画素の数を計数することによって、その黒画素塊の面積を算出する。そして、その結果をノイズ除去モジュール726へ渡す。
ノイズ除去モジュール726は、ラベリングモジュール724と接続されており、ラベリングモジュール724によるラベリング処理の結果(各黒画素塊の面積)に基づいて、ノイズ除去を行う。ノイズ除去は、黒画素塊の面積と予め定められた閾値とを比較することによって行う。例えば、黒画素塊の面積が予め定められた範囲内(予め定められた2つの閾値によって定まる範囲)に含まれない場合は、ノイズとしてもよい。このノイズ除去処理によって、埋め込んだ黒画素塊(ドット)に比較して大きすぎる領域や小さすぎる領域を除去することとなる。つまり、情報画像100内の黒画素塊を検出することとなる。
【0059】
なお、ドット検出モジュール720と単位位置・回転角検出モジュール730での処理単位は、情報画像100の行又は列の長さの√2倍以上の辺をもつ矩形としてもよい。この処理単位について、図9を用いて後述する。
【0060】
単位位置・回転角検出モジュール730は、ドット検出モジュール720、埋込情報検出モジュール750と接続されており、ラフ回転角検出モジュール732、画素系列検出モジュール734、同期位置・90度単位回転角検出モジュール740を有している。
ラフ回転角検出モジュール732は、ドット検出モジュール720によって検出された黒画素塊を用いて、画像受付モジュール710によって受け付けられた画像のおおよその回転角を検出する。ドット検出モジュール720によって検出された黒画素塊が隣り合う組を検出し、その黒画素塊の組に基づいて、画像のおおよその回転角を検出する。例えば、ある黒画素塊から見て右隣(左隣、上隣、下隣であってもよい)の黒画素塊の方向を求める。黒画素塊間隔は既知(予め定められた値)であるので、その黒画素塊間隔に近い位置にある黒画素塊の組を複数集め、同じ方向を向いている黒画素塊の組毎にグループを作成し、黒画素塊の組が多いグループ内で平均をとれば回転角が算出できる。この場合の回転角は−45度から+45度となる。なお、黒画素塊間隔に近い位置とは、黒画素塊間隔に予め定められた値を加算及び減算した距離範囲にある位置をいう。また、同じ方向を向いているとは、ある黒画素塊から隣の黒画素塊への角度が予め定められた範囲内にあることをいう。
【0061】
画素系列検出モジュール734は、水平方向系列検出モジュール736、垂直方向系列検出モジュール738を有している。ドット検出モジュール720によって検出された黒画素塊を用いて、ラフ回転角検出モジュール732によって検出されたおおよその回転角に基づいて、画像受付モジュール710によって受け付けられた画像内の情報画像100における画素系列A111又は画素系列B112を検出する。ここで、おおよその回転角に基づいてとは、ラフ回転角検出モジュール732によって検出されたおおよその回転角に予め定められた値を加算及び減算した範囲にある回転角をいう。つまり、画素系列検出モジュール734は、その範囲内にある回転角に限定して、画素系列A111又は画素系列B112の検出処理を行う。具体的には、この処理は、水平方向系列検出モジュール736、垂直方向系列検出モジュール738のいずれか一方又は両方が行う。
【0062】
水平方向系列検出モジュール736は、ドット検出モジュール720によって検出された黒画素塊を右隣方向又は左隣方向に、黒画素塊が存在する割合が大きくなる行を検出する。この検出は、連続して黒画素塊が存在している行(画素系列A111又は90度回転している場合は画素系列X113)を発見することである。黒画素塊が存在する割合が大きくなる行とは、ラフ回転角検出モジュール732によって検出されたおおよその回転角に基づいて、連続する黒画素塊が存在する割合が予め定められた閾値よりも大きい行、又は複数の行を検出した場合は連続する黒画素塊が存在する割合が最も大きい行をいう。この処理については、図10を用いて後述する。
垂直方向系列検出モジュール738は、水平方向系列検出モジュール736によって行を検出できなかった場合に、下隣方向又は上隣方向に水平方向系列検出モジュール736と同等の処理、つまり黒画素塊が存在する割合が大きくなる列を検出する。
垂直方向系列検出モジュール738によっても、列を検出できなかった場合は、次の処理単位である矩形領域に対してドット検出モジュール720による処理を行って、ラフ回転角検出モジュール732、画素系列検出モジュール734による処理を再開する。
【0063】
同期位置・90度単位回転角検出モジュール740は、画素系列検出モジュール734によって検出された画素系列A111又は画素系列B112に基づいて、画素系列X113又は画素系列Y114を検出し、合成領域内の情報画像100の予め定められた位置である同期位置(例えば、前述のように、第1の画素系列と第2の画素系列とが交差する位置であり、より具体的には、情報画像100の左上座標、右上座標、左下座標、右下座標等がある。以下、情報画像100の左上座標を例示して説明する)及び画像の回転角を検出する。この処理については、図11から図13を用いて後述する。
水平方向系列検出モジュール736によって検出された行の黒画素塊位置に基づいて、行の傾きを線形回帰等を用いて求める。次に、その行の直上行と直下行の信号系列とX方向、Y方向及び逆X方向、逆Y方向の信号系列の一致度を比較することで、同期位置と90度単位の回転角を求める。そして、行の傾きと90度単位の回転角によって、画像の回転角を検出する。
又は垂直方向系列検出モジュール738によって検出された列の黒画素塊位置に基づいて、列の傾きを線形回帰等を用いて求める。次に、その列の直右列と直左列の信号系列とX方向、Y方向及び逆X方向、逆Y方向の信号系列の一致度を比較することで、同期位置と90度単位の回転角を求める。そして、列の傾きと90度単位の回転角によって、画像の回転角を検出する。
【0064】
埋込情報検出モジュール750は、単位位置・回転角検出モジュール730、復号モジュール760と接続されており、同期位置・90度単位回転角検出モジュール740によって検出された情報画像100の同期位置及び画像の回転角に基づいて、画像に合成された情報画像100のデータ領域115内の第5の画素系列を検出する。例えば、具体的には、画像を逆方向にその回転角分回転して、画像を正立の状態に戻し、同期位置から予め定められた位置関係にある情報画像100のデータ領域115内の第5の画素系列を検出するようにしてもよい。また、回転角と同期位置に基づいて、画像受付モジュール710が受け付けた画像から読み出す位置と順番を決定して、情報画像100のデータ領域115内の第5の画素系列を検出するようにしてもよい。
【0065】
復号モジュール760は、埋込情報検出モジュール750、出力モジュール770と接続されており、埋込情報検出モジュール750によって検出された第5の画素系列を復号する。つまり、図3に例示した符号化モジュール330による符号化処理が行われた情報を復号する。
出力モジュール770は、復号モジュール760と接続されており、復号モジュール760によって復号された情報画像100のデータ領域115内に埋め込まれた情報を出力する。情報を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、データベース等の記憶装置へ情報を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【0066】
図8は、情報画像を検出する画像処理装置による処理例を示すフローチャートである。
ステップS802では、画像受付モジュール710が、合成画像を受け付ける。
ステップS804では、2値化モジュール722が、2値化処理を行う。
ステップS806では、ラベリングモジュール724が、ラベリング処理を行う。なお、このステップS806の処理以降、ステップS818までの処理は、前述の処理単位毎に行う。なお、この処理単位で同期位置又は90度単位の回転角を検出できなかった場合は、次の処理単位に対してステップS806からステップS818までの処理を繰り返して行う。
この処理単位について、図9を用いて説明する。図9は、処理単位の例を示す説明図である。合成画像900は、情報画像100が合成された画像であり、複数の情報画像100が並んで配置されている。そして、合成画像900は読み込み時の文書の傾き等によって、回転している。
図9に例示する処理単位910は、情報画像100の行又は列の長さの√2倍以上の辺をもつ矩形である。つまり、情報画像100内の画素系列A111、画素系列B112、画素系列X113、画素系列Y114の1周期分が少なくとも含まれていればよい。したがって、この場合、ドット検出モジュール720と単位位置・回転角検出モジュール730による処理は、スキャン画像全体に対して行う必要がない。なお、次の処理単位とは、1画素以上(例えば、処理単位910の行の長さ分)、例えば右方向にずらした処理単位910であってもよい。右方向にずらせない場合は、1画素以上(例えば、処理単位910の列の長さ分)、例えば下方向にずらして左端に戻るようにしてもよい。
【0067】
ステップS808では、ノイズ除去モジュール726が、ノイズ除去を行う。
ステップS810では、ラフ回転角検出モジュール732が、ラフな回転角を検出する。
ステップS812では、水平方向系列検出モジュール736が、水平方向の画素系列A(画素系列A111又は画素系列B112)を検出する。図10を用いて説明する。図10は、画素系列の探索処理例を示す説明図である。図10(a)に例示する処理単位1000内で、例えば、図10(b)に例示するドット1011の右隣にある探索範囲1021に黒画素塊があるか否かを検出する。探索範囲1021は、ラフ回転角検出モジュール732によって検出されたおおよその回転角を用いて定められた領域である。つまり、おおよその回転角と情報画像100内の黒画素塊間の距離によって定まる位置を中心として予め定められた距離である半径の円内に黒画素塊が含まれるか否かを判断する。これを次々に繰り返す。そして、その探索範囲内で黒画素塊が存在した割合を求めて、行を検出する。
【0068】
ステップS814では、水平方向系列検出モジュール736が、画素系列Aを検出できたか否かを判断し、検出できた場合はステップS818へ進み、それ以外の場合はステップS816へ進む。
ステップS816では、垂直方向系列検出モジュール738が、垂直方向の画素系列B(画素系列A111又は画素系列B112)を検出する。ステップS812の処理において、90度回転させた処理と同等である。
【0069】
ステップS818では、同期位置・90度単位回転角検出モジュール740が、画素系列A又は画素系列Bと予め定めた位置関係にある画素系列が表す情報と信号系列X、信号系列Y、信号系列RX、信号系列RYの情報の一致度により、同期位置及び90度単位の回転角を検出する。
【0070】
図11を用いて説明する。もし水平方向の画像系列A(もしくはAll“1”の信号系列)の直下に画素系列X113があれば、画像は90度単位の回転では0度であり、もし水平方向の画像系列Aの直下に画素系列Y114を反転した画素系列があれば、画像は90度単位の回転では90度であり、もし水平方向の画像系列Aの直上に画素系列X113を反転した画素系列があれば、画像は90度単位の回転では180度であり、もし水平方向の画像系列Aの直上に画素系列Y114があれば、画像は90度単位の回転では270度である。なお、図11内の矢印Aは画素系列X113の正方向を示しており、矢印Bは画素系列Y114の正方向を示している。
【0071】
次に、図12、図13を用いて説明する。図12は、検出された信号系列の例を示す説明図である。図13は、信号系列のローテーション処理例を示す説明図である。
例として、情報画像100のサイズ(N×N)として18×18であり、信号系列X=“101100011110101100”、信号系列Y=“101000100110101111”として説明する。
画像受付モジュール710によって受け付けられた画像が回転していない場合であって、画素系列検出モジュール734が検出した“1”の数が多かった行(画素系列A111の連続又は画素系列B112の連続に該当する)とその1つ下の行が図12に例示するようになっていた場合、信号系列Xが1周期分以上繰り返されていることになる。
この場合、“1”の数が多かった行の1つ下の行の左端から18bit分の情報と、信号系列X(図13(a)に例示の信号系列参照)を1bitずつ順次左ローテーションしたものとの相関をとると、5bitローテーションした信号系列(図13(b)に例示の信号系列参照)が最も相関が高くなり、このとき、同期位置(情報画像100の左上、画素系列A111の先頭位置)が、左端から18−5+1番目のビットであると推定できる。つまり、「N−(最も相関が高くなった場合のローテーションしたビット数)+1」の式によって算出できる。
【0072】
前述の説明は、画像受付モジュール710によって受け付けられた画像が回転していないと仮定した場合の例であるが、実際は360度どの方向に回転しているか不明である。そのため、
(1)“1”の数が多かった行の直下行と信号系列Xのローテーションとの相関と、
(2)“1”の数が多かった行の直下行と信号系列RYのローテーションとの相関と、
(3)“1”の数が多かった行の直上行と信号系列RXのローテーションとの相関と、
(4)“1”の数が多かった行の直上行と信号系列Yのローテーションとの相関と
を求め、相関値が最大となったものが(1)であれば回転なし、(2)であれば時計方向に90度回転、(3)であれば180度回転、(4)であれば270度回転と判定する。
この回転角と“1”の多かった行の黒画素塊の方向(−45度から+45度)を加算することで、画像の回転角が検出される。また、同期信号の開始位置(同期位置)は、前述の説明のように相関値が最大値となった場合のローテーション量より求められる。
【0073】
ただし、水平方向系列検出モジュール736によって列を検出できなかった場合(例えば、“1”の数が多かった行の中の“1”の割合が予め定められた閾値より小さかった場合)の他に、相関値の最大値が予め定められた閾値よりも小さかった場合は、誤検出の可能性が高い。そのため、垂直方向系列検出モジュール738によって垂直方向に“1”の多い列を検出し、その左右の列と信号系列X、信号系列Y、信号系列RX、信号系列RYのローテーションとの相関を求めることで同期位置と回転角を求める。
つまり、
(1)“1”の数が多かった列の直右列と信号系列Yのローテーションとの相関と、
(2)“1”の数が多かった列の直左列と信号系列Xのローテーションとの相関と、
(3)“1”の数が多かった列の直左列と信号系列RYのローテーションとの相関と、
(4)“1”の数が多かった列の直右列と信号系列RXのローテーションとの相関と
を求め、相関値が最大となったものが(1)であれば回転なし、(2)であれば時計方向に90度回転、(3)であれば180度回転、(4)であれば270度回転と判定する。
この回転角と“1”の多かった行の黒画素塊の方向(−45度から+45度)を加算することで、画像の回転角が検出される。また、同期信号の開始位置(同期位置)は、前述の説明のように相関値が最大値となった場合のローテーション量より求められる。
【0074】
ステップS820では、埋込情報検出モジュール750が、画像の回転角と同期位置に基づいて、情報画像100のデータ領域115内の第5の画素系列から埋込情報を検出する。
ステップS822では、復号モジュール760が、誤り訂正を伴う復号処理を行う。図14を用いて説明する。図14は、復号処理の例を示す説明図である。検出した信号を誤り訂正復号し、復号データをID毎に重複を避けてリスト化する。なお、重複を避けるのは、埋込情報が複数回繰り返してデータ領域115に埋め込まれている場合に対応するものである。図14の例では、IDが1である符号語が2種類、IDが3である符号語が3種類、IDが5である符号語が2種類、他のIDの符号語は1種類であるので、組み合わせは12通り(2×3×2)である。この組み合わせ(ID0からID7の結合)に対して、CRCを検証する。なお、この組み合わせは、図6におけるオリジナル情報610とCRC−16:620を結合したものに該当する。CRCの検証の結果、正当なデータを復号情報とする。なお、CRCの検証によって、12通りの組み合わせのうち、途中で正当なデータがあれば、他の組み合わせを検証する必要はない。なお、符号化モジュール330が、CRC−16、BCH符号化以外の符号化処理を行った場合は、復号モジュール760は、それに合わせた復号処理を行う。
ステップS824では、出力モジュール770が、復号した情報を出力する。
【0075】
図15を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図15に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1517と、プリンタなどのデータ出力部1518を備えたハードウェア構成例を示している。
【0076】
CPU(Central Processing Unit)1501は、前述の実施の形態において説明した各種のモジュール、すなわち、符号化モジュール330、情報画像生成モジュール350、第1系列・第2系列生成モジュール342、第3系列・第4系列生成モジュール344、合成モジュール360、ドット検出モジュール720、単位位置・回転角検出モジュール730、埋込情報検出モジュール750、復号モジュール760等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0077】
ROM(Read Only Memory)1502は、CPU1501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1503は、CPU1501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1504により相互に接続されている。
【0078】
ホストバス1504は、ブリッジ1505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1506に接続されている。
【0079】
キーボード1508、マウス等のポインティングデバイス1509は、操作者により操作される入力デバイスである。ディスプレイ1510は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0080】
HDD(Hard Disk Drive)1511は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1501によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、受け付けた情報、同期用系列、検出した情報などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0081】
ドライブ1512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1513に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1507、外部バス1506、ブリッジ1505、及びホストバス1504を介して接続されているRAM1503に供給する。リムーバブル記録媒体1513も、ハードディスクと同様のデータ記録領域として利用可能である。
【0082】
接続ポート1514は、外部接続機器1515を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1514は、インタフェース1507、及び外部バス1506、ブリッジ1505、ホストバス1504等を介してCPU1501等に接続されている。通信部1516は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1517は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1518は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0083】
なお、図15に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図15に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図15に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0084】
前述の実施の形態においては、図3に情報画像を合成する画像処理装置の構成例、図7に情報画像を検出する画像処理装置の構成例を別々に示したが、これを組み合わせてもよい。つまり、1つの画像処理装置によって、情報画像を画像に合成し、情報画像を合成した画像から情報画像を検出するようにしてもよい。その場合、図7に例示の画像受付モジュール710は、図3に例示の出力モジュール370が出力した画像を受け付けることとなる。
なお、図7に例示する画像処理内のドット検出モジュール720はなくてもよい。この場合、単位位置・回転角検出モジュール730内のラフ回転角検出モジュール732、画素系列検出モジュール734が黒画素塊を検出するようにしてもよい。
また、図7に例示する画像処理内のラフ回転角検出モジュール732はなくてもよい。この場合、水平方向系列検出モジュール736又は垂直方向系列検出モジュール738が、ラフ回転角検出モジュール732によるおおよその回転角を用いることなしに、画素系列A111、画素系列B112、画素系列X113、画素系列Y114を検出する。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
また、背景技術で説明した技術を、本実施の形態に加えること、又は本実施の形態内のモジュールに代えて採用するようにしてもよい。
【0085】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0086】
100…情報画像
111…画素系列A
112…画素系列B
113…画素系列X
114…画素系列Y
115…データ領域
310…画像受付モジュール
320…情報受付モジュール
330…符号化モジュール
340…同期用系列生成モジュール
342…第1系列・第2系列生成モジュール
344…第3系列・第4系列生成モジュール
346…同期用系列記憶モジュール
350…情報画像生成モジュール
360…合成モジュール
370…出力モジュール
710…画像受付モジュール
720…ドット検出モジュール
722…2値化モジュール
724…ラベリングモジュール
726…ノイズ除去モジュール
730…単位位置・回転角検出モジュール
732…ラフ回転角検出モジュール
734…画素系列検出モジュール
736…水平方向系列検出モジュール
738…垂直方向系列検出モジュール
740…同期位置・90度単位回転角検出モジュール
750…埋込情報検出モジュール
760…復号モジュール
770…出力モジュール

【特許請求の範囲】
【請求項1】
矩形内の行に、二進数における0又は1の連続した第1の情報を表しており、連続した画素塊を配置した系列である第1の画素系列と、
前記矩形内の列に、二進数における0又は1の連続した第2の情報を表しており、連続した画素塊を配置した系列である第2の画素系列と、
前記矩形内の行であって前記第1の画素系列と予め定められた位置に、第3の情報を表す画素塊を配置した系列である第3の画素系列と、
前記矩形内の列であって前記第2の画素系列と予め定められた位置に、第4の情報を表す画素塊を配置した系列である第4の画素系列と、
前記矩形内の前記第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列以外の領域に、情報画像内に埋め込まれる情報である第5の情報を表す画素塊を配置した系列である第5の画素系列
を配置しており、
前記第3の情報と前記第4の情報との情報空間における距離、該第3の情報と該第3の情報を反転した情報との情報空間における距離、該第3の情報と該第4の情報を反転した情報との情報空間における距離、該第3の情報と二進数における0又は1が連続している情報との情報空間における距離、該第4の情報と該第4の情報を反転した情報との情報空間における距離、該第4の情報と該第3の情報を反転した情報との情報空間における距離、該第4の情報と二進数における0又は1が連続している情報との情報空間における距離に基づいて、該第3の情報及び該第4の情報は定められている
ことを特徴とする情報画像。
【請求項2】
画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、
前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、
請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報の第5の画素系列に基づいて、該情報画像を生成する生成手段と、
前記画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、
前記合成手段によって合成された画像を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項3】
請求項1記載の情報画像が合成された画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、
前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、
前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、
前記検出手段によって検出された第5の画素系列を復号する復号手段と、
前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項4】
前記受付手段によって受け付けられた画像内の画素塊が隣り合う組を検出し、該画素塊の組に基づいて、該画像の回転角を検出する回転角検出手段
をさらに具備し、
前記画素系列検出手段は、前記回転角検出手段によって検出された回転角に基づいて、第1の画素系列又は第2の画素系列を検出する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
画像を受け付ける第1の画像受付手段と、
前記第1の画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、
前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、
請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報を第5の画素系列に基づいて、該情報画像を生成する生成手段と、
前記第1の画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、
前記合成手段によって合成された画像を出力する画像出力手段と、
前記画像出力手段によって出力された画像を受け付ける第2の画像受付手段と、
前記第2の画像受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、
前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、
前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、
前記検出手段によって検出された第5の画素系列を復号する復号手段と、
前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項6】
コンピュータを、
画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、
前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、
請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報を第5の画素系列に基づいて、該情報画像を生成する生成手段と、
前記画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、
前記合成手段によって合成された画像を出力する出力手段
として機能させることを特徴とする画像処理プログラム。
【請求項7】
コンピュータを、
請求項1記載の情報画像が合成された画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、
前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、
前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、
前記検出手段によって検出された第5の画素系列を復号する復号手段と、
前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段
として機能させることを特徴とする画像処理プログラム。
【請求項8】
コンピュータを、
画像を受け付ける第1の画像受付手段と、
前記第1の画像受付手段によって受け付けられた画像に付加する情報を受け付ける情報受付手段と、
前記情報受付手段によって受け付けられた情報を符号化する符号化手段と、
請求項1記載の情報画像における第1の画素系列、第2の画素系列、第3の画素系列、第4の画素系列、前記符号化手段によって符号化された情報を第5の画素系列に基づいて、該情報画像を生成する生成手段と、
前記第1の画像受付手段によって受け付けられた画像に前記生成手段によって生成された情報画像を合成する合成手段と、
前記合成手段によって合成された画像を出力する画像出力手段と、
前記画像出力手段によって出力された画像を受け付ける第2の画像受付手段と、
前記第2の画像受付手段によって受け付けられた画像内の請求項1記載の情報画像における第1の画素系列又は第2の画素系列を検出する画素系列検出手段と、
前記画素系列検出手段によって検出された第1の画素系列又は第2の画素系列に基づいて、第3の画素系列又は第4の画素系列を検出し、前記情報画像の予め定められた位置である同期位置及び前記画像の回転角を検出する同期位置・回転角検出手段と、
前記同期位置・回転角検出手段によって検出された前記情報画像の同期位置及び前記画像の回転角に基づいて、前記画像に合成された情報画像内の第5の画素系列を検出する検出手段と、
前記検出手段によって検出された第5の画素系列を復号する復号手段と、
前記復号手段によって復号された情報画像内に埋め込まれた情報を出力する出力手段
として機能させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2011−237988(P2011−237988A)
【公開日】平成23年11月24日(2011.11.24)
【国際特許分類】
【出願番号】特願2010−108356(P2010−108356)
【出願日】平成22年5月10日(2010.5.10)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】