(57)【要約】【課題】  画像全面に付加されたコード情報に、新たなコード情報を追記できる。【解決手段】  ドットの配列で表現されるコード情報を生成し、画像に付加する画像処理装置であって、前記コード情報を付加する位置を夫々異ならせる複数のパターンに基づいて前記コード情報を画像に付加する位置を決定する決定手段と、前記決定手段によって決定された位置に前記コード情報を付加する付加手段とを備える。【選択図】  図２
2008160418.tif 000002
【特許請求の範囲】
【請求項１】
ドットの配列で表現されるコード情報を生成し、画像に付加する画像処理装置であって、
前記コード情報を付加する位置が互いに異なる複数のパターンから、１つのパターンを決定する決定手段と、
前記決定手段によって決定されたパターンに相当する位置に前記コード情報を付加する付加手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記決定手段は、コード情報を付加する画像に既にコード情報が存在している場合は、該コード情報の付加時に用いた前記パターンとはコード情報を画像に付加する位置が異なるパターンを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
更に、前記パターンと前記パターンを用いたことを示す情報を保持する保持手段を備え、前記決定手段は、前記保持手段に保持された前記パターンと前記パターンを用いたことを示す情報に基づいてコード情報を画像に付加する位置を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記付加手段は、前記決定手段で用いたパターンを示す情報を前記画像に付加することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
ドットの配列で表現されるコード情報が、該コード情報を付加する位置が互いに異なる複数のパターンに基づいて付加された画像を入力する入力手段と、
前記入力された前記画像から、前記パターンに基づいてコード情報を抽出する抽出手段とを備えることを特徴とする画像処理装置。
【請求項６】
更に、前記パターンと前記パターンを用いたことを示す情報を保持する保持手段を備え、前記抽出手段は、前記保持手段に保持された前記パターンと前記パターンを用いたことを示す情報に基づいてコード情報を抽出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
ドットの配列で表現されるコード情報を生成し、画像に付加する画像処理方法であって、
前記コード情報を付加する位置を夫々異ならせる複数のパターンに基づいて前記コード情報を画像に付加する位置を決定し、
前記決定された位置に前記コード情報を付加することを特徴とする画像処理方法。
【請求項８】
ドットの配列で表現されるコード情報が、該コード情報を付加する位置を夫々異ならせる複数のパターンに基づいて付加された画像を入力し、
前記入力された前記画像から、前記パターンに基づいてコード情報を抽出することを特徴とする画像処理方法。
【請求項９】
請求項７又は請求項８に記載の画像処理方法をコンピュータに実行させる画像処理プログラム。
【請求項１０】
請求項９記載の画像処理プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷対象の画像に付加情報を付加する画像処理装置及び方法に関するものである。
【背景技術】
【０００２】
近年、埋め込みたい情報を何らかの復号化処理を必要とするコード情報（符号化情報）に変換して印刷媒体上に印刷する画像処理手法が普及している。一般的にコード情報は画像上、２次元的に情報が埋め込まれており、２次元コードと呼ばれる。
【０００３】
印刷されたコード情報はそのままではユーザが内容を認識することはできないが、読取装置を用いてコード情報を画像データとして取り込み、この画像データに対して対応する復号化処理を行えば、ユーザはコード情報の内容を認識することができる。
【０００４】
一般的に復号化処理は、読み取った画像データをコンピュータに転送し、コンピュータ上で動作するアプリケーションプログラムで復号化を行う。しかしこれに限らず、２次元コード対応の携帯電話のようにコード情報を読取装置の内部で復号化を行ったり、或いは複数の機能を有する複写機内部で復号化処理を行うこともできる。
【０００５】
２次元コードは主に、高密度コード情報と低密度コード情報に分けられる。
【０００６】
高密度コード情報は、紙面上に印字する文字や図（印刷情報）などとは独立して、例えば紙面の四隅などに印刷される情報である。例としてバーコードが挙げられる。
【０００７】
一方、低密度コード情報は、紙面上に印字する文字や図などと重なって印刷され、例えば紙面上一面に印刷される情報である。
【０００８】
低密度コード情報は、ドットの配列で表現され、紙面上一定面積当りに埋め込むことができる情報が少ない変わりに、情報を表現するための線や点の密度が少なくてすむ。低密度コード情報を紙面に付加する方法の第１の利点として、コード情報を印刷するための特別な場所を用意しなくてもいいことが挙げられる。
【０００９】
高密度コード情報は線や点の密度が高く、コード情報を重畳すると、その下の印刷情報が失われてしまう。そのため、コード情報の付加によって印刷情報が失われないようにするためには、あらかじめコード情報を付加しておく場所を決めておき、その場所にコード情報を付加する必要がある。しかし、低密度コード情報は、コード情報を付加しても、通常情報は劣化するものの可読性を保ち、情報は失われない可能性が高い。つまり、印刷情報を失わずに、印刷情報の上に低密度コード情報を重畳することが可能となる。すなわち、低密度コード情報を付加する特定の場所を用意する必要がなく、印刷情報のデザインの自由性が向上する。なお、情報密度の低さは、印刷面積を大きく取れることによりカバーすることができる。
【００１０】
次に、低密度コード情報を紙面に付加する方法の第２の利点として、コード情報を除去することが難しいことが挙げられる。この付加方法は、印刷情報とコード情報が不可分な形で付加されるため、コ−ド情報だけを除いて、印刷情報だけをコピーすることは極めて難しい。これにより、例えば、印刷を行ったプリンタの情報や印刷を行ったユーザの情報や印刷日時などの「印刷属性」を低密度コード情報として印刷物に印字することによって、その印刷物が外部に流失した際に、流出経路を容易にすることができる。
【００１１】
このようにセキュリティ用途としてコード情報を使用する際の問題として、コピーした際の情報追加がある。セキュリティ用途のために印刷属性を付加された原稿があり、その原稿をコピーする場合には、更にそのコピーの際の印刷属性を付加する必要がある。
【００１２】
付加情報を追加していく方法としては、あらかじめ付加情報を追記する場所とその場所を表現する情報（書き込み履歴情報）を設けておく方法がある。（特許文献１）コード情報を追記する際には、書き込み履歴情報を読み取り、それに基づきコードの追加領域を決定する。これにより、コード情報の追記が可能となる。
【特許文献１】特開２００３−０９４７３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、この追記方法は、高密度コード情報には利用することができても、低密度コード情報を紙面の大きな部分を付加するためには使用することができない。それは、一回目の低密度コード情報付加で紙面上の大きなスペースを使ってしまうため、追加する場所を用意しておくことが困難であるからである。また、例え、追加する場所を用意しておいたとしても、その部分は最初の印刷において、コード情報と分離された形で存在することになり、セキュリティ強度の低下につながってしまう。
【００１４】
よって本発明では、低密度コード情報の紙面上の大きなスペースへの付加とコード情報の追記とを両立させることを目的する。
【００１５】
また、コード情報が追記された画像からコード情報を抽出することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明の画像処理装置は、ドットの配列で表現されるコード情報を生成し、画像に付加する画像処理装置であって、前記コード情報を付加する位置を夫々異ならせる複数のパターンに基づいて前記コード情報を画像に付加する位置を決定する決定手段と、前記決定手段によって決定された位置に前記コード情報を付加する付加手段とを備えることを特徴とする。
【発明の効果】
【００１７】
画像全面に付加されたコード情報に、新たなコード情報を追記できる。
【００１８】
また、コード情報が追記された画像からコード情報を抽出することができる。
【発明を実施するための最良の形態】
【００１９】
＜実施形態１＞
本実施形態では、印刷装置、特には複数の機能を有する複写機について説明する。
【００２０】
図１に本発明に係る印刷装置を示す。
【００２１】
印刷装置１は、以下の処理部から構成される。１００はスキャナなどの画像入力部である。１０１はＵＩパネルなどの環境設定部である。１０２はビデオコントローラなどのデータ処理部である。１０３はＨＤなどの内部記憶領域部である。１０４はネットワークＩ／ＦボードやＦＡＸなどの画像送受信部であり、１０５はプリンタなどの画像出力部である。本実施形態では、ホストコンピュータ１１６と接続するプリンタや、スキャナを備えたコピー、ＦＡＸなどが一体となる複写機を用いた実施形態について説明するが、それに限ったことではない。
【００２２】
データ処理部１０２は以下の処理部から構成される。１１０は入力部Ｉ／Ｆ、１１１は設定部Ｉ／Ｆ、１１２は出力部Ｉ／Ｆ、１１３は送受信Ｉ／Ｆ、１１４は記憶装置Ｉ／Ｆである。１０６はデータ処理・制御用プログラムが格納されているプログラムＲＯＭである。１０７はデータＲＯＭ、１０８はＣＰＵ１０８、１０９は内部記憶領域であるＲＡＭ、１１５はタイマ（時計機能）であり、上記処理部が内部バスによって接続されている。
【００２３】
画像データは、画像入力部１００で入力画像をスキャンするか、或いは外部ホストコンピュータ、外部ＦＡＸやネットワーク経由で送られた画像データを、画像送受信部１０４を介して受信することによりデータ処理部１０２に取り込まれる。
【００２４】
データ処理部１０２に取り込まれた画像データは、画像入力部１０１で設定された動作環境、又は外部から送信される画像データに含まれる動作環境情報にしたがって画像処理される。その後、画像処理を行った画像データを当該印刷装置で印刷する場合は、画像出力部１０５、外部ネットワークへプリントデータを送信する場合はデータ送受信部１０４、当該印刷装置内に保存する場合は内部記憶領域部１０３へそれぞれ送出される。
【００２５】
データ処理部１０２において画像データを処理する際は、必要に応じてデータＲＯＭ１０７の情報などを参照する。また、設定部Ｉ／Ｆ１１１を経由して取得した処理動作環境にしたがって、プログラムＲＯＭ１０６からプログラムを読み出し、ＲＡＭ１０９や内部記憶領域部１０３などを利用しながら画像処理を実行する。
【００２６】
「コード情報付加機能」
図２は、本実施形態におけるコード情報付加機能の構成を示すブロック図である。
【００２７】
２０１はコード情報の生成を制御するコード情報制御部である。２０２は入力された埋込情報をコード変換するコード変換部である。２０３はコード変換部２０２でコード変換された埋込情報にエラー訂正情報を付加するエラー訂正情報付加部である。２０４はエラー訂正付加部２０３でエラー訂正情報を付加した埋込情報からコード情報を生成するコード情報生成部である。２０５はコード情報を紙面に配置する位置を示したマスクパターンを保持するマスクパターン保持部である。２０６はコード情報制御部２０１に入力された印刷情報と、コード情報生成部２０４で生成されたコード情報を合成する合成出力部である。
次に図３を用いて本実施形態におけるコード情報付加機能の処理フローを説明する。
【００２８】
ステップ３０１において、コード情報制御部２０１は、印刷情報の取得を行う。印刷情報の取得は、スキャナなどの画像入力部１００で画像をスキャンしたり、外部ホストコンピュータ、外部Ｆａｘやネットワーク経由で送られたプリントデータを送受信部１０４経由で受信したりすることで行われる。
【００２９】
ステップ３０２において、コード情報制御部２０１は、低密度コード情報に変換する埋込情報を取得する。埋込情報は、ユーザや印刷装置の管理者が、印刷装置上にあるＵＩパネルや、印刷装置に接続されたコンピュータ上の専用アプリケーションまたはプリンタドライバなどから指定する。ここでは文字などの埋込情報をそのまま入力しても良いし、データの所在を指定してそこからアプリケーションや印刷装置がダウンロードしても良い。また、ユーザＩＤや日時やプリントジョブＩＤなどのメタ情報を埋込情報として指定しても良い。この際、付加する情報量が大きいと、低密度コード情報の耐性が低下し、印刷情報の品質低下（低密度コード情報の付加密度が高くなり、通常情報が損なわれる）が生じる。これにより、ユーザや管理者の望む情報すべてが付加できるとは限らない。その際には図示しないＵＩ上にその旨を通知するなどの適切な処置をとる必要がある。本実施形態では、付加情報量は一定の情報量内に収まっているものとする。
【００３０】
ステップ３０３において、コード情報制御部２０１は、低密度コード情報を生成する。詳細は後述する。
【００３１】
ステップ３０４において、合成出力部２０６は、コード情報生成部２０４で生成したコード情報と入力された印刷情報とを合成する。コード情報の１回目の付加では、あらかじめユーザや印刷装置の管理者が、印刷装置上にあるＵＩパネルや印刷装置に接続されたコンピュータ上のアプリケーションまたはプリンタドライバなどから場所を指定していれば、指定した場所にコード情報の付加を行う。指定がない場合には、同じコード情報を、画像上に繰り返して付加していくことなどが考えられる。２回目以降の付加においては、ステップ３０３で検出されたコード情報の上に、追記すべきコード情報を重畳する。
【００３２】
さらにステップ３０４では、コード情報が付加された画像の出力を行う。
【００３３】
以上が低密度コード情報の処理フローである。このフローは、状況により矛盾が生じないように適宜入れ替えても構わない。
【００３４】
図４は、図３のステップ３０３の詳細を示した処理フローである。
【００３５】
ステップ４０１において、コード変換部２０２は、入力された埋込情報を所定のビット列に変換し、必要に応じてデータのモード（数字、英数字、８ビットバイト、漢字等）を表す指示子や、終端パターンを付加する。さらに所定のビットコード語に変換し、コードデータ列を生成する。
【００３６】
ステップ４０２において、エラー訂正情報付加部２０３は、使用する誤り訂正方法（リードソロモン符号等）に合わせて、コードデータ列を所定のブロック数に分割し、ブロック毎に誤り訂正コード語を生成し、コードデータ列の後に付加する。
【００３７】
ステップ４０３において、コード情報制御部２０１は、入力された印刷情報に、既にコード情報が存在しているか否かを判定する。コード情報の検出は、印刷画像の統計的な性質や周波数的な性質を調べることで検出できる。
【００３８】
１回目の付加の場合、つまり印刷情報にコード情報が存在しなかった場合、ステップ４０４に進む。あらかじめ１回目の付加であることが分かっていれば、ステップ４０３を飛ばして、直接ステップ４０４に進んでも構わない。
【００３９】
ステップ４０４において、コード情報生成部２０４は、コード情報を付加するためにコード情報の基本構成要素を配置する。
【００４０】
一般的にコード情報はコード語のみで存在するわけではなく、そのコード情報の有無やサイズやグリッドを決めるための基本構成要素が存在する。一回目の付加であり、コード情報が存在しないため、コード情報として成り立たせるために、コード情報の基本構成要素を配置していく。
【００４１】
一般的にコード情報は、印刷画像上に仮想的なグリッドを敷き、そのグリッド上のコード情報最小構成要素（黒ドットや黒い四角などの実際の視覚的な最小構成要素）の有無に情報を埋め込む。グリッドの敷き方としては、グリッドを明示的に示すグリッド用コード情報最小構成要素を配置する方法や、統計的な性質や周波数的性質を利用することができるだけのコード情報最小構成要素を配置する方法が存在する。本実施形態では、どのような方法でコード情報グリッドを敷いても構わない。
【００４２】
また、後述するマスクパターンの使用の有無を表現するためのヘッダー部を基本構成要素として用意してもよい。ヘッダー部については後述する。なお、使用するマスクパターンのセットがシステム的に決められていないときは、コード情報に使用マスクパターンのセット情報を基本構成要素として配置する。
【００４３】
ステップ４０５において、コード情報生成部２０４は、コード情報を２次元的に並べていき、コード情報を配置する。この際、コード情報はコード情報最小構成要素から構成されており、グリッド上に配置していくが、コード情報最小構成要素を配置できる場所すべてには配置せず、マスクパターンが許容する場所にだけ埋込情報を配置していく。
【００４４】
このマスクパターンの例を図５に示す。マスクパターン対象領域５００は仮想的なグリットを示し、このグリッド上にドットを配置することで埋込情報を表現する。各マスクパターン５０１〜５０４は、コード情報最小構成要素を付加できる場所を白地領域で表現している。マスクパターンは複数種類がセットになっており、それぞれのコード情報最小構成要素の付加を許可する場所は重複しないようになっている。
【００４５】
例えば、マスクパターンセットＡを使用する場合、１回目の付加では、マスクパターン５０１を使用し、マスクパターン５０１が許可する場所にだけコード語モジュールを配置する。Ｎ回目の付加では、マスクパターンＮ（非図示）を使用し、マスクパターンＮが許可する場所にだけコード語モジュールを並べる。こうすることにより、実質的なコード情報の追記を可能とすることができる。図５に示すように、マスクパターンは規則的なマスクパターンや人間の目に規則性が分からないような乱雑性持ったマスクパターンであっても、マスクパターンセット内で、コード情報最小構成要素の付加を許可する場所が異なっていれば構わない。また、コード情報の基本構成要素やグリッドを表現するためのダミーデータが存在する場所は、どのマスクパターンもコード情報最小構成要素の付加を許可しない。マスクパターンの個数が、コード情報を追記できる回数となる。追記できるコード情報の回数を増やすと、１個あたりの情報量は少なくなってしまう。そのため、用途に合わせて、適切なマスクパターンセットを選ぶ。
【００４６】
ステップ４０６において、マスクパターン保持部２０５は、使用したマスクパターンの情報を保持する。また、ステップ４０４でヘッダー部が用意されていれば、コード情報生成部は、使用したマスクパターンの情報をヘッダー部に表現する。ヘッダー部を用意しておくことにより、それ以降のコード情報の追記において、既に使用したマスクパターンを素早く正確に把握することができる。ヘッダー部は、コード情報の最小構成要素を追記していくことにより、新しく使用したマスクパターンを表現していく形である必要がある。例としては、あらかじめ決められた領域とマスクパターンを関連付けておき、その領域において、コード情報の最小構成要素が存在すれば、その領域に関連づけられたマスクパターンが使用されたこととすることが考えられる。なお、ヘッダー部を使用しなくても、全てのマスクパターンセットを適用して、最小構成要素の付加の有無を把握することにより、それまでに使用されたマスクパターンを把握することができるので、ヘッダー部は用意しなくても構わない。
【００４７】
図１４（ａ）にヘッダー部を用いない場合におけるマスクパターンが画像に重畳される様子を示す。マスクパターン５０１は規則的に画像１４０１に重畳されている。
【００４８】
また図６は１回目のコード情報生成おけるステップ４０５とステップ４０６の処理の様子を図示したものである。
【００４９】
図６（ａ）は、ステップ４０５の初期状態である。６０１はヘッダー部を示し、６０２はデータ部を示す。ステップ４０４までの処理によって、グリッドが仮想的に敷かれる。グリッドは点線で表現されているが、実際に点線が描かれているわけではなく、点線は便宜上のものである。ここではグリッドの決定方法については図示していないが、ステップ４０４で述べたような様々な方法で決めることができる。
【００５０】
図６（ｂ）は、１回目の付加に利用されるマスクパターン５０１を用いて、データ部６０２がマスクされている。データ部６０２において、マスクパターンで覆われていない部分にのみ、コード情報最小構成要素を付加することができる。
【００５１】
図６（ｃ）において、コード情報を、マスクパターンで許容された場所にのみ、コード情報最小構成要素の形で付加していく。本実施形態では、コード情報最小構成要素の有無で情報が埋め込まれているが、コード情報最小構成要素の向きで表現されていても、コード情報最小構成要素の種類で表現されていても、他の方法で表現されていても構わない。
【００５２】
図６（ｄ）において、ヘッダー部の最小構成要素を付加することにより、マスクパターン５０１を使用したことを表現する。本実施形態では、ヘッダー部６０１の左上のグリッドに最小構成要素が存在することが、マスクパターン５０１を使用したことを表現する。
【００５３】
ここで、図１４（ａ）にヘッダー部を用いない場合における、マスクパターンが画像に重畳される様子を示す。マスクパターン５０１は規則的に画像１４０１に重畳されている。また図１４（ｂ）はヘッダー部を用いる場合における、マスクパターンがとそのヘッダー部が画像に重畳される様子を示す。なお、ここでヘッダー部６０１はマスクパターン５０１の右上に配置されているが、これに限らない。また、ヘッダー部６０１はマスクパターンの重畳数と同じでなくてもよい。
【００５４】
一方、ステップ４０３で印刷画像上に既にコード情報が存在する場合、つまり、複数回目のコード情報の付加の場合、ステップ４０７に進む。
【００５５】
ステップ４０７において、コード情報制御部２０１は、コード情報の仮想的なグリッドの検出と、それまでに使用されたマスクパターンの検出を行う。どのマスクパターンセットを使用しているかは、あらかじめシステム的に決めておくか、コード情報に使用マスクパターンセット情報を基本構成要素として配置しておき、その部分をデコードして、使用マスクパターンセットを得る。
【００５６】
コード情報の仮想的なグリッドの検出方法は、コード情報によって異なる。例えば、グリッドを明示的に示すグリッド用コード情報最小構成要素が配置されていれば、それに基づいてグリッド検出を行う。他の例としては、コード情報の統計的な性質や周波数的性質に基づいて検出を行う。本実施形態では、コード情報の仮想的なグリッドを検出する方法は特に限定しない。
【００５７】
次にそれまでに使用されたマスクパターンを検出する。コード情報に使用したマスクパターンを表現するヘッダー部があれば、そのヘッダー部から、それまでに使用したマスクパターンを検出する。ヘッダー部が存在しないときは、全てのマスクパターンを適用して、最小構成要素の付加の有無を把握することにより、それまでに使用されたマスクパターンを把握することができる。マスクパターンの使用する順番があらかじめ決められていれば、マスクパターンを順番に適用して、最小構成要素の付加の有無を把握していけば、既に全てのマスクパターンを使用していない限り、全てのマスクパターンを適用しなくても良い。
【００５８】
ステップ４０８において、コード情報制御部２０１は、ステップ４０７で検出したマスクパターン使用状況に基づき、コード情報へ追記可能がどうかの判断を行う。すなわち、マスクパターンセット内のすべてのマスクパターンが使用されていなければ追記可能であり、すべてのマスクパターンを使用していれば追記不可能である。追記可能であるときは、追記に使用すべきマスクパターンを決定する。マスクパターンを使用する順番が決められていれば、未使用のマスクパターンの中でも最も早く使用すべきマスクパターンをＮ回目の付加に使用するマスクパターンＮとする。マスクパターンの使用する順番が決められていない場合は、任意の未使用のマスクパターンをＮ回目の付加に使用するマスクパターンＮとする。
【００５９】
追記可能であればステップ４０５に進み、追記不可能であればステップ４０９に進む。
【００６０】
ステップ４０５において、コード情報生成部２０４は、コード情報を２次元的に並べていき、コード情報を配置していく。この際、マスクパターンＮが許容する場所にだけ情報を配置する。
【００６１】
ステップ４０６において、ヘッダー部が用意されていた場合に、どのマスクパターンを使用したかをヘッダー部に表現する。
【００６２】
ステップ４０９において、コード情報生成部２０４はエラー処理を行なう。コード情報として印刷情報に付加する情報がセキュリティ情報などの場合、印刷処理を行わず、コード情報の印字フローを終了させる。コード情報として印刷情報に付加する情報がセキュリティ情報ではない場合は印刷処理する。これは適宜、印刷装置のＵＩパネル上やユーザのクライアント端末上へ追記できない旨を表示しても構わない。また、ユーザや印刷装置の管理者が事前に設定してもよい。
【００６３】
図７は、上記ステップ４０７、ステップ４０８、ステップ４０５、ステップ４０６における処理の様子を図示したものである。
【００６４】
図７（ａ）は、ステップ４０７で仮想的なグリッドを検出した状態のコード情報である。コード情報生成部２０４はヘッダー部７０１から、マスクパターン５０１が使用されていることを検出する。検出の結果、１回目のコード情報の付加の際に、マスクパターン５０１が使用されていたため、それ以外のマスクパターンを利用する。図７（ｂ）は、マスクパターン５０２を用いて、データ部をマスクしているところを示している。データ部７０２において、マスクパターンで覆われていない部分にのみ、コード情報最小構成要素を付加することができる。
【００６５】
コード情報を、マスクパターンで許容された場所にのみ、コード情報最小構成要素の形で付加していく。（図７（ｃ））ヘッダー部７０１に最小構成要素を付加することにより、マスクパターン５０２を使用したことを示す。（図７（ｄ））
本実施形態では、ヘッダー部の上段の左から２番目のグリッドに最小構成要素が存在することが、マスクパターン５０２を使用したことを表現する。
【００６６】
図８は、４回の追記を行ったコード情報のヘッダー部８０１とデータ部８０２を示した図である。図８のヘッダー部８０１は５種類のマスクパターンが使用されたことを示し、データ部８０２にはコード情報が追記されている。このようにマスクパターンセットの設定の仕方と、マスクパターンの適用の順番を適切に行なえば、コード情報内に不自然な空白が生じることを避け、人間の目に自然な形でコード情報の濃度を高めていくことが可能である。
【００６７】
「コード情報抽出機能」
次に図９、図１０を用いて本実施形態におけるコード情報抽出機能を説明する。
【００６８】
図９は本実施形態におけるコード情報抽出機能の構成を示すブロック図である。
【００６９】
９０１は埋込情報を抽出する埋込情報抽出部９０１である。９０２は入力された印刷画像からコード情報を抽出するコード情報抽出部である。９０３はコード情報抽出部９０２にて抽出されたコード情報の誤りを検出するエラー検出部である。９０４はエラー検出部９０３から入力されたコード情報を埋め込んだ情報に変換するコード変換部である。９０５はコード情報を紙面に配置する位置を示したマスクパターンを保持するマスクパターン保持部である。
【００７０】
次に図１０を用いて本実施形態におけるコード情報抽出機能の処理フローを説明する。
【００７１】
ステップ１００１において、埋込情報抽出部９０１は印刷情報を取得する。印刷情報の取得は、スキャナなどの画像入力部１００で画像をスキャンしたり、外部ホストコンピュータ、外部Ｆａｘやネットワーク経由で送られたプリントデータを送受信部１０４経由で受信したりすることで行われる。
【００７２】
次に、ステップ１００２において、埋込情報抽出部９０１は、入力された印刷情報に、既にコード情報が存在しているか否かを判定する。
【００７３】
印刷情報にコード情報が存在している場合は、ステップ１００３に進む。印刷情報にコード情報が存在しなかった場合は、処理を終了する。
【００７４】
次にステップ１００３において、埋込情報抽出部９０１は、コード情報を抽出する。
【００７５】
図１１は、埋込情報抽出部９０１における埋込情報抽出処理を示すフローチャートである。
【００７６】
ステップ１１０１において、コード情報抽出部９０２は、コード情報の仮想的なグリッドの検出を行う。コード情報の仮想的なグリッドを検出する方法は特に限定しない。
【００７７】
ステップ１１０２において、コード情報抽出部９０２は、入力された印刷画像から使用されたマスクパターン情報を含む基本情報を検出する。使用マスクパターンセットがシステム的に決められていないときは、コード情報に使用マスクパターンセット情報が基本構成要素として配置されているので、その部分を検出して、使用マスクパターンセットを得る。
【００７８】
ステップ１１０３において、コード情報生成部９０２はそれまでに使用されたマスクパターンを基本情報から検出する。コード情報に使用したマスクパターンを表現するヘッダー部があれば、そのヘッダー部から、それまでに使用したマスクパターンを検出する。ヘッダー部が存在しないときは、全てのマスクパターンを適用して、最小構成要素の付加の有無を把握することにより、それまでに使用されたマスクパターンを把握することができる。マスクパターンの使用する順番があらかじめ決められていれば、マスクパターンを順番に適用して、最小構成要素の付加の有無を把握していけば、既に全てのマスクパターンを使用していない限り、全てのマスクパターンを適用しなくても良い。
【００７９】
ステップ１１０３で検出した使用マスクパターンのなかで、処理に使用していないマスクパターンがあればステップ１１０５に進み、マスクパターンがなければステップ１１１０に進む。
【００８０】
ステップ１１０５において、コード情報抽出部９０２は、ステップ１１０４で処理に使用していないと判定されたマスクパターンを用いて、コード情報を抽出する。コード情報にマスクパターンを適用し、マスクパターンが許容する場所だけから、コード情報を抽出する。
【００８１】
ステップ１１０６において、コード情報抽出部９０２は、ステップ１１０５で取り出されたコード情報を、コード情報の配置規則に従って並び替えて、意味のあるデータとする。その結果として、ステップ１１０３で使用したマスクパターンの部分に含まれていた元データ及び誤り訂正コード語を復元する。
【００８２】
ステップ１１０７において、エラー検出部９０３は、誤り訂正コード語を用いて、抽出されたコード情報に誤りがあるかどうかの検出を行う。誤りがあればステップ１１０８に進み、誤りがなければステップ１１０９に進む。
【００８３】
ステップ１１０８において、エラー検出部９０３は、誤り訂正コード語を用いて、抽出されたコード情報の誤りの訂正を行う。
【００８４】
ステップ１１０９において、コード変換部９０４は、抽出されたコード情報を変換し、埋込情報を抽出する。
【００８５】
以上の処理で、コード情報で使用されている全てのマスクパターンを利用して、コード情報から埋込情報を取り出すことが可能になる。この抽出された埋込情報を、適宜、ユーザや印刷装置の管理者がハンドリング容易な形にして、印刷装置のＵＩ上やユーザ端末上や管理者端末上への表示を行なう。または、適宜、ユーザや管理者がハンドリング容易な形にして、ユーザ端末や管理者端末へデータ送信を行ってもよい。
【００８６】
図１２はコード情報抽出機能におけるコード情報抽出の様子を図示したものである。図１２（ａ）は、抽出対象の印刷画像におけるコード情報のヘッダー部１２０１とデータ部１２０２である。グリッドは点線で表現されているが、実際に点線が描かれているわけではなく、点線は便宜上のものである。図１２（ｂ）は、図１２（ａ）のデータ部１２０１にマスクパターンを適用した図である。図１２（ｃ）は、マスクパターンが適用されたデータ部１２０１の、マスクパターンが許容する場所だけから、コード情報を抽出することを示した図である。
【００８７】
このように、人間の目に自然な形で追記されたコード情報から、正しい埋込情報が抽出できる。
【００８８】
以上のように、本実施形態では、あらかじめコード情報を追記する場所を設けることなく、コード情報を紙面全体に追記でき、正しく読み込むことができる。
【００８９】
＜実施形態２＞
実施形態１ではＭＦＰなどの印刷装置における本発明の実施形態を説明したが、本発明は複数の機器（例えば、ホストコンピュータ、インタフェース機器、スキャナ、プリンタ等）から構成されるシステムに適用してもよい。
【００９０】
図１３は、本実施形態による画像処理システムの構成を説明するための図である。尚、画像処理装置の実現に当たっては、図１３に示される全ての機能を使用することは必須ではない。
【００９１】
図１３において、コンピュータ１３０１は、一般に普及しているパーソナルコンピュータであり、スキャナ等の画像入力装置１３１７から読み取られた画像を入力し、編集や保管を行うことが可能である。また、画像入力装置１３１７で得られた画像をプリンタ１３１６から印刷させることができる。尚、ユーザからの各種指示等は、マウス１３１３、キーボード１３１４からの入力操作により行われる。
【００９２】
コンピュータ１３０１の内部では、バス１３０７により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。図１３において、ＭＰＵ１３０２は、コンピュータ１３０１内部の各ブロックの動作を制御し、あるいは内部に記憶されたプログラムを実行することができる。主記憶装置１３０３は、ＭＰＵ１３０２において行われる処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク（ＨＤＤ）１３０４は、主記憶装置１３０３等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできる装置である。
【００９３】
スキャナインタフェース（Ｉ／Ｆ）１３１５は、原稿やフィルム等を読み取って、画像データを生成するスキャナ１３１７と接続され、スキャナ１３１７で得られた画像データを入力することのできるＩ／Ｆである。プリンタインタフェース１３０８は、画像データを印刷するプリンタ１３１６と接続され、印刷する画像データをプリンタ１３１６に送信することのできるＩ／Ｆである。
【００９４】
ＣＤドライブ１３０９は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込んだり、あるいは書き出すことができる装置である。ＦＤＤドライブ１３１１は、ＣＤドライブ１３０９と同様にＦＤＤからの読み込みや、ＦＤＤへの書き出しをすることができる装置である。ＤＶＤドライブ１３１０は、ＦＤＤドライブ１３１１と同様に、ＤＶＤからの読み込みや、ＤＶＤへの書き出しをすることができる装置である。尚、ＣＤ、ＦＤＤ、ＤＶＤ等に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをＨＤＤ１３０４上にインストールし、必要に応じて主記憶装置１３０３に転送されるようになっている。
【００９５】
インタフェース（Ｉ／Ｆ）１３１２は、マウス１３１３やキーボード１３１４からの入力指示を受け付けるために、これらと接続されるＩ／Ｆである。また、モニタ１３０６は、透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに、ビデオコントローラ１３０５は、表示データをモニタ１３０６に送信するための装置である。
【００９６】
図１の画像処理装置との対応関係として、画像入力部１００はスキャナ１３１７，環境設定部１０１はモニタ１３０６が対応する。また、データ処理部１０２は主記憶装置１３０３とＭＰＵ１３０２、内部記憶領域部１０３はＨＤＤ１３０４、画像送受信部１０４はＩ／Ｆ１３０８やＩ／Ｆ１３１５、画像出力部１０５はプリンタ１３１６に対応する。
【００９７】
＜その他の実施形態＞
実施形態１において、ヘッダー部を用意する場合、使用したマスクパターンの情報に加えて、そのマスクパターンの使用が何回目の追記かを示す情報も含めて、ヘッダー部に表現してもよい。例えば、２回目の追記の際に使用したマスクパターンが１だった場合「２−１」とし、ヘッダー部に「２−１」を示す情報を表現すればよい。
【００９８】
このように、ヘッダー部において使用したマスクパターンの情報だけでなく、そのマスクパターンの使用が何回目の追記かを示す情報も表現することにより、データをデコードする際に、そのデータが何回目に追記されたかについても把握することが可能となる。これにより、セキュリティ用途で、本発明が利用される際の利便性を高めることができる。
【００９９】
また、本発明は上記実施形態を実現する為の装置及び方法のみに限定されるものではない。上記システム又は装置内のコンピュータ（ＣＰＵあるいはＭＰＵ）に、上記実施形態を実現する為のソフトウェアのプログラムコードを供給し、このプログラムコードにしたがって上記システムあるいは装置のコンピュータが上記各種デバイスを動作させる。これにより上記実施形態を実現する場合も本発明の範疇に含まれる。
【０１００】
またこの場合、ソフトウェアのプログラムコード自体が上記実施形態の機能を実現することになる。つまり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【０１０１】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１０２】
また、上記コンピュータが、供給されたプログラムコードのみにしたがって各種デバイスを制御することにより、上記実施形態の機能が実現される。またこの場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフト等と共同して上記実施形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【０１０３】
更に、この供給されたプログラムコードの指示に基づいてコンピュータの機能拡張ボードやコンピュータに接続された機能格納ユニットに備わるＣＰＵ等が処理の一部又は全部を行い、その処理によって上記実施形態が実現される場合も本発明の範疇に含まれる。
【図面の簡単な説明】
【０１０４】
【図１】実施形態１のコード情報付加機能が機能する画像処理装置及び印刷装置を示す図
【図２】実施形態１のコード情報付加機能の構成を示すブロック図
【図３】実施形態１のコード情報付加機能を説明するフローチャート
【図４】実施形態１のコード情報付加機能の詳細を説明するフローチャート
【図５】マスクパターン例
【図６】１回目のコード情報付加を示す図
【図７】２回目のコード情報付加を示す図
【図８】最終的なコード情報付加結果を示す図
【図９】実施形態１のコード情報抽出機能の構成を示すブロック図
【図１０】実施形態１のコード情報抽出機能を説明するフローチャート
【図１１】実施形態１のコード情報抽出機能の詳細を説明するフローチャート
【図１２】１回目のコード情報抽出を示す図
【図１３】実施形態２のコード情報付加機能が機能する画像処理装置及び印刷装置を示す図
【図１４】マスクパターンが画像に重畳されていることを示す図
【図１】
2008160418.tif 000003
【図２】
2008160418.tif 000004
【図３】
2008160418.tif 000005
【図４】
2008160418.tif 000006
【図５】
2008160418.tif 000007
【図６】
2008160418.tif 000008
【図７】
2008160418.tif 000009
【図８】
2008160418.tif 000010
【図９】
2008160418.tif 000011
【図１０】
2008160418.tif 000012
【図１１】
2008160418.tif 000013
【図１２】
2008160418.tif 000014
【図１３】
2008160418.tif 000015
【図１４】
2008160418.tif 000016