(57)【特許請求の範囲】
【請求項１】
画像データを分割して得られる複数のブロックのうち、隣接する前記ブロックの一方のブロックにおける特徴量と該隣接するブロックの他方のブロックにおける特徴量の大小関係により決定される１ビット分のコードを前記画像データ内に埋め込むコード埋め込み部と、
前記コードの使用可否をランダムに決定する使用可否生成部と、
決定した前記コードの使用可否の情報を記憶する記憶部と、
前記コードを認証するコード認証装置からコードの使用可否に係る情報の要求を受け付けた場合に、前記記憶部から取得した前記コードの使用可否の情報を前記コード認証装置に送信するコード使用情報送信部と、
前記コード埋め込み部から前記コードを取得した場合に、該コードに対応するコードの使用可否の情報を前記使用可否生成部から取得し、取得したコードの使用可否の情報を前記記憶部に記憶させ、前記コード使用情報送信部から前記コードを取得した場合に、該取得したコードの使用可否の情報を前記使用可否生成部に再度要求し、該使用可否生成部から取得した使用可否にかかる情報によって、該コード使用情報送信部から取得した前記コードの使用可否の情報を更新する使用情報管理部と
を備えたことを特徴とするエンコード装置。
【請求項２】
前記コードの使用可否のランダムな決定は、乱数を発生させ、前記乱数の偶奇に基づいて行われることを特徴とする請求項１に記載のエンコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データが埋め込まれた画像を生成するエンコード装置などに関し、特に、コード化された情報を不正に改竄・利用されることを防止することができるエンコード装置、デコード装置および印刷物に関するものである。
【背景技術】
【０００２】
従来から、スーパーマーケットやコンビニエンスストア等の経営者は、商品の販売促進のために、金券であるクーポン券を顧客に発行している。このクーポン券は、精算時に回収され、ＰＯＳ（Point of Sales）端末等が、クーポン券から値引き対象となる商品の情報を取得して、当該クーポン券の対象商品から所定の金額を値引くようにしている。
【０００３】
しかし、クーポン券を顧客に発行する作業は大変煩雑な作業であったため、この問題を解消すべく、特許文献１では、値引き対象となる商品の情報を２次元コード化して、この２次元コードの情報を顧客の携帯電話等に送信し、精算時に顧客が、２次元コードを携帯電話等の画面に表示させてＰＯＳ端末等に読み取らせ、値引き対象の商品から所定の金額を値引きするシステムが公開されている。
【０００４】
【特許文献１】特開２００２−２６００９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１で利用されている２次元コードは、標準化されており、第三者にも容易に２次元コードの作成が可能であるという問題があった。すなわち、値引き対象外の商品であっても、悪意のある第三者によって不正に値引き用の２次元コードが生成されてしまい、値引き対象外の商品が不正に値引きされてしまう恐れがあった。
【０００６】
また、２次元コードを発行した経営者は、この２次元コードを複数回利用されることを想定していない場合が多い。しかし、上記特許文献１で利用されている２次元コードは、使用制限がなく、店舗側で無制限に使用できるため、同じ顧客に何度も同じ２次元コードを使用された場合には、商品の販売が促進されても、意図した利益が得られないといった問題も発生し得る。
【０００７】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、コード化された情報を不正に改竄・利用されることを防止することができるコード生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、画像データを分割して得られる複数のブロックのうち、隣接する前記ブロックの一方のブロックにおける特徴量と該隣接するブロックの他方のブロックにおける特徴量の大小関係により決定される１ビット分のコードを前記画像データ内に埋め込むコード埋め込み部と、前記コードの使用可否をランダムに決定する使用可否生成部と、決定した前記コードの使用可否の情報を記憶する記憶部と、前記コードを認証するコード認証装置からコードの使用可否に係る情報の要求を受け付けた場合に、前記記憶部から取得した前記コードの使用可否の情報を前記コード認証装置に送信するコード使用情報送信部と、前記コード埋め込み部から前記コードを取得した場合に、該コードに対応するコードの使用可否の情報を前記使用可否生成部から取得し、取得したコードの使用可否の情報を前記記憶部に記憶させ、前記コード使用情報送信部から前記コードを取得した場合に、該取得したコードの使用可否の情報を前記使用可否生成部に再度要求し、該使用可否生成部から取得した使用可否にかかる情報によって、該コード使用情報送信部から取得した前記コードの使用可否の情報を更新する使用情報管理部とを備えたことを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記コードの使用可否のランダムな決定は、乱数を発生させ、前記乱数の偶奇に基づいて行われることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、エンコード装置は、画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてデータを画像に埋め込み、画像に埋め込まれたデータの使用を制限する使用制限情報を記録するので、このエンコード装置が画像に埋め込んだデータを不正に改竄・利用することを防止することができる。
【００１４】
また、本発明によれば、エンコード装置は、画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてデータを画像に埋め込み、画像に埋め込まれたデータの使用を許可するか否かの情報を使用制限情報として記録するので、画像に埋め込まれたデータ（コード）に対する使用可否を効率よく管理・制限することができる。
【００１５】
また、本発明によれば、エンコード装置は、画像に埋め込まれたデータが使用された場合に、データの使用を許可するか否かの情報を無作為に変更するので、同一のデータ（コード）を複数発行した場合であっても、発行したコードに対する使用頻度を制限することができる。
【００１６】
また、本発明によれば、デコード装置は、画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいて画像に埋め込まれたデータを抽出し、抽出したデータの使用を制限する使用制限情報を取得し、取得した使用制限情報を基にして、画像に埋め込まれたデータに対する使用を許可するか否かを判定するので、画像に埋め込まれたデータが無制限に利用されることを防止することができる。
【００１７】
また、本発明によれば、印刷物は、画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてデータを画像に埋め込み、画像に埋め込まれたデータの使用を制限する使用制限情報を記録するエンコード装置によって生成された画像が印刷された印刷物であるので、印刷物に埋め込まれたデータを無制限に利用されることを防止することができる。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明に係るエンコード装置、デコード装置および印刷物の好適な実施の形態を詳細に説明する。
【実施例１】
【００１９】
まず、本発明にかかるエンコード装置およびデコード装置の特徴について説明する。本発明にかかるエンコード装置は、画像にコードを埋め込む場合に、画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてコードを埋め込むと共に、埋め込んだコードに対する使用を制限するコード使用情報を記憶する。また、エンコード装置は、コードを埋め込んだ画像を印刷する。
【００２０】
そして、デコード装置は、エンコード装置によって印刷された印刷物に埋め込まれたコードを抽出し、抽出したコードに対応するコード使用情報をエンコード装置から取得し、抽出したコードが使用可能であるか否かを判定し、判定結果を出力する。
【００２１】
このように、エンコード装置が、隣接するブロックの特徴量の差を基にして、画像にコードを埋め込む手法は２次元コードのように標準化されていないので、第三者は、画像に埋め込まれたコードを容易に改竄することが不可能となる。したがって、例えば、特許文献１で利用していた２次元コードの代わりに、本発明にかかるエンコード装置を利用して、値引き対象となる商品の情報を画像に埋め込むことによって、値引き対象外の商品が不正に値引きされてしまうといった問題を解決することができる。
【００２２】
また、デコード装置は、画像に埋め込まれたコードを抽出し、抽出したコードに対応するコード使用情報を取得し、抽出したコードが使用可能か否かを判定するので、画像に埋め込まれたコードの使用に制限をかけることができ、特許文献１のようにコードが無制限に利用されることを防ぐことができる。
【００２３】
つぎに、本実施例１にかかるコード埋め込み装置およびコード認証装置の説明を行う。なお、本実施例１では、エンコード装置の一例として、コード埋め込み装置を用いて説明し、デコード装置の一例として、コード認証装置を用いて説明する。図１は、本実施例１にかかるエンコードデコードシステムの一例を示す図である。同図に示すように、コード埋め込み装置１００は、ネットワーク１０を介してコード認証装置２００に接続されている。
【００２４】
コード埋め込み装置１００は、画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてコードを埋め込むと共に、埋め込んだコードに対する使用を制限するコード使用情報を記憶する装置である。図２は、本実施例１にかかるコード埋め込み装置１００の構成を示す機能ブロック図である。同図に示すように、このコード埋め込み装置１００は、コード埋め込み部１１０、使用情報管理部１２０、記憶部１３０、コード使用情報送信部１４０、ネットワークインターフェース部１５０を有する。また、コード埋め込み装置１００は、入力装置２０、画像入力装置３０、印刷装置４０に接続されている。
【００２５】
ここで、入力装置２０は、キーボードなどの入力装置である。コード埋め込み装置１００の管理者は、入力装置２０を用いて、画像に埋め込むコードや、画像に埋め込むコードのコード使用情報をコード埋め込み装置１００に入力する。
【００２６】
画像入力装置３０は、紙やフィルム等に描画（印刷）された画像をスキャンして画像データを取得し、取得した画像データをコード埋め込み装置１００に入力する装置である。なお、ここでは一例として、画像入力装置３０を示したが、これに限定されるものではなく、管理者は、デジタルカメラなどで撮影した画像のデータをコード埋め込み装置１００に入力してもよい。印刷装置４０は、コード埋め込み装置１００からエンコードされた画像データ（エンコード済画像データ）を取得し、画像を印刷する装置である。
【００２７】
コード埋め込み装置１００の説明にもどると、コード埋め込み部１１０は、入力装置２０からコードを取得し、画像入力装置３０から画像データを取得すると共に、画像データにコードを埋め込む処理部である。なお、画像データは、所定のフォーマット（ＪＰＥＧ（Joint Photographic Expert Group）、ＧＩＦ（Graphic Interchange Format）など）で生成された画像データであり、１０２４×１０２４画素サイズの画像データである。
【００２８】
続いて、コード埋め込み部１１０の構成について説明する。図３は、コード埋め込み部１１０の構成を示す機能ブロック図である。図３に示すように、このコード埋め込み部１１０は、ブロック分割部１１１、ブロック抽出部１１２、平均化部１１３、比較部１１４、コード形成部１１５を有する。
【００２９】
ブロック分割部１１１は、画像データを入力してＮ行×Ｍ列（この例では１６行×１６列）のブロックに分割し、ブロック分割画像データＩ１として出力する処理部である。図４は、ブロック分割画像データＩ１の一例を示す図である。
【００３０】
図４に示すように、このブロック分割画像データＩ１は、ブロックＢl11、Ｂr11、・・・、Ｂl18、Ｂr18、Ｂl21、Ｂr21、・・・、Ｂl168、Ｂr168、という２５６（１６×１６）ブロックから構成されている。なお、一つのブロックは、６４×６４画素サイズである。ここで、ブロック分割画像データＩ１においては、ペアブロック（隣接する２つのブロック）に１ビットのコードが埋め込まれる。
【００３１】
具体的には、ペアブロックは、ブロックＢl11およびＢr11、ブロックＢl12およびＢr12、・・・、Ｂl18およびＢr18（ここまで１行目）、ブロックＢl21およびＢr21、・・・、ブロックＢl28およびＢr28（ここまで２行目）、・・・、ブロックＢl161およびＢr161、・・・、ブロックＢl168およびＢr168（ここまで１６行目）という２つのブロックから構成されている。
【００３２】
ここで、ペアブロックの一方のブロックＢlxyにおいて、添字ｌは、ペアブロックにおいて左側のブロックであることを表す。添字ｘは、行（Ｎ）を表す。また、添字ｙは、列（Ｍ）を表す。他方、ペアブロックのブロックＢrxyにおいて、添字ｒは、ペアブロックにおいて右側のブロックであることを表す。添字ｘは、行（Ｎ）を表す。また、添字ｙは、列（Ｍ）を表す。
【００３３】
また、ペアブロックにおいて、左側のブロックＢlxyにおける特徴量としての平均濃度レベル（ブロック内の各画素の平均諧調：０〜２５５）を左側平均濃度データＤlとし、右側のブロックＢrxyの平均濃度レベル（特徴量）を右側平均濃度データＤrとする。
【００３４】
ここで、以下の関係式のように、左側平均濃度データＤlが右側平均濃度データＤr未満である場合、ペアブロックは、１ビット分のコードとして「０」を表す。一方、左側平均濃度データＤlが右側平均濃度データＤr以上である場合、ペアブロックは、１ビット分のコードとして「１」を表す。
【００３５】
Ｄl＜Ｄr→「０」
Ｄl≧Ｄr→「１」
【００３６】
例えば、図４に示したブロックＢl18およびＢr18からなるブロックペアは、左側平均濃度データＢl18が「１１５」、右側平均濃度データＢr18が「１２５」であるため、１ビット分のコードとして「０」を表す。
【００３７】
また、ブロックＢl28およびＢr28からなるブロックペアは、左側平均濃度データＢl28が「１２５」、右側平均濃度データＢr28が「１１５」であるため、１ビット分のコードとして「１」を表す。
【００３８】
また、ブロック分割画像データＩ１においては、１行あたり、８つのペアブロック（１６ブロック）であるため、８ビット分のコードを表す。従って、全行（１６行）では、１２８ビット分のコードを表す。本実施例１では、ブロック分割画像データＩ１に埋め込むコードＣが１６ビットであるため、ブロック分割画像データＩ１にコードＣが最大８（１２８／１６）回、埋め込み可能である。
【００３９】
図３にもどり、ブロック抽出部１１２は、ブロック分割画像データＩ１からペアブロック（ブロックＢlxyおよびブロックＢrxy）をコードＣのビットシフトに追従させて順次抽出し、ブロックＢlxyおよびブロックＢrxyのそれぞれにおける濃度分布をブロック濃度データＤとして順次出力する処理部である。
【００４０】
ここで、コードＣのビットシフトとは、コードＣの最左側ビット（１）から右側ビット（０）へ向けて、ビットポインタを右側へ１ビットずつシフトさせることをいう。
【００４１】
平均化部１１３は、ブロック濃度データＤから、ブロックＢlxyに対応する左側平均濃度データＤlと、ブロックＢrxyに対応する右側平均濃度Ｄrとを求める処理部である。
【００４２】
比較部１１４は、コードＣのｎビット目（最左側ビットからｎ＝１，２、・・・、１６）と、左側平均濃度データＤlおよび右側平均濃度データＤrの大小関係から決定されるビット判定結果（前述した関係式により「０」または「１」とビット判定される）と比較する。
【００４３】
コード形成部１１５は、比較部１１４の比較結果に基づいて、ブロック分割画像データＩ１にコードＣを埋め込む処理部である。具体的には、このコード形成部１１５は、比較部１１４の比較結果が一致である場合、左側平均濃度データＤlと右側平均濃度データＤrとの大小関係を維持し、一方、比較結果が不一致である場合、コードＣのビットを表す大小関係となるように、左側平均濃度データＤlと右側平均濃度データＤrを変更（大小関係を逆転）する濃度変更処理を行うことによって、コードがエンコードされた画像データ（以下、エンコード済画像データと表記する）を生成し、これを出力する。なお、コード形成部１１５は、画像に埋め込まれたコードの情報を図２に示す使用情報管理部１２０に渡す。
【００４４】
図５は、コード形成部１１５による濃度変更処理を説明するための説明図である。同図に示すように、この濃度変更処理では、Ｄ1＜Ｄrとする場合には、（１）式を用いて変更後の左側平均濃度データＤ’lを求め、（２）式を用いて変更後の右側平均濃度データＤ’rを求める。ここで、Ｔは、ペアブロック間でつけるレベル差であり、例えば「３０」といった値である。これにより、濃度変更後においては、左側平均濃度データＤ’lが右側平均濃度データＤ’r未満となり、ビット判定結果が「１」から「０」とされる。
【００４５】
一方、Ｄ1≧Ｄrとする場合には、（３）式を用いて変更後の左側平均濃度データＤ’lを求め、（４）式を用いて変更後の右側平均濃度データＤ’rを求める。これにより、濃度変更後においては、左側平均濃度データＤ’lが右側平均濃度データＤ’r以上となり、ビット判定結果が「０」から「１」とされる。
【００４６】
なお、上記の説明では、平均濃度を特徴量として用いて画像データにコードを埋め込む場合について説明したが、粒状度、彩度、濃度重心、分散等の画像に関する他の特徴量を用いて画像データにコードを埋め込むこともできる。
【００４７】
また、上記の説明では、ペアブロック間における特徴量の差異を用いてビットを表現する場合について説明したが、ブロックの他の組み合わせにおける特徴量の差異を用いてビットを表現することもできる。
【００４８】
このように画像データをブロックに分割し、ブロックの組み合わせにおける特徴量の差異を用いてビットを表現することにより、画像データ中にコードを埋め込むことができる。この方式では、エンコード／デコードにおいて高速フーリエ変換のような複雑な演算処理が不要であるため、低速な情報処理装置を用いて実現することができる。
【００４９】
しかし、ブロックの組み合わせにおける特徴量は、出力手段、出力媒体および入力手段の特性の影響を受けるため、埋め込んだコードが正確に読み取られない場合がある。たとえば、コードを埋め込んだ画像データを紙に印刷する場合、一定以上の濃度をもったブロックの間では濃度の差異を区別することができなくなる。
【００５０】
このような出力手段の特性の影響を回避し、埋め込んだコードの読み取り精度を確保するため、上記の例では、一つの画像データ中に同じコードを８回埋め込んでいる。また、一つのブロックのサイズを大きくし、同じコードを複数回埋め込むことにより、読み取り精度が向上する。
【００５１】
図２の説明にもどると、使用情報管理部１２０は、コード埋め込み部１１０から画像データに埋め込まれたコードを取得し、このコードにかかる使用可否の情報を入力装置２０から取得し、取得した情報を基にして、コード使用情報を生成する処理部である。使用情報管理部１２０は、生成したコード使用情報を記憶部１３０に記憶させる。
【００５２】
記憶部１３０は、コード使用情報１３０ａを記憶する記憶部である。図６は、コード使用情報１３０ａのデータ構造の一例を示す図である。同図に示すように、このコード使用情報１３０ａは、「コード」と「使用可否」からなる。図６の場合は、コード「０００１」および「０００２」に対する使用は許可されている。
【００５３】
コード使用情報送信部１４０は、図１に示したコード認証装置２００からコードの使用可否にかかる問い合わせを受付けた場合に、対応するコードの使用可否の情報をコード使用情報１３０ａから検索し、検索した情報をコード認証装置２００に送信する処理部である。例えば、コード使用情報送信部１４０が、コード認証装置２００からコード「０００１」の使用可否にかかる問い合わせを受付けた場合には、コード「０００１」は使用可能である旨の情報をコード認証装置２００に送信する（図６より、コード「０００１」の使用可否は「可」であるため）。
【００５４】
ネットワークインターフェース部１５０は、所定の通信プロトコルを利用して、コード認証装置２００と通信を行う処理部である。
【００５５】
続いて、図１に示したコード認証装置２００の構成について説明する。図７は、本実施例１にかかるコード認証装置２００の構成を示す機能ブロック図である。同図に示すように、このコード認証装置２００は、コード抽出処理部２１０、コード使用情報取得部２２０、ネットワークインターフェース部２３０、使用可否判定部２４０を有する。なお、コード認証装置２００は、画像入力装置３５および表示装置５０に接続されている。
【００５６】
ここで、画像入力装置３５は、図２に示したコード埋め込み装置１００が作成した印刷物から画像を読み取り、読み取った画像のデータをコード認証装置２００に入力する装置である。表示装置５０は、コード認証装置２００から出力されたデータを表示する装置である。
【００５７】
コード認証装置２００の説明にもどると、コード抽出処理部２１０は、画像入力装置３５から画像データを取得し、取得した画像データからコードを抽出する処理部である。具体的に、コード抽出処理部２１０は、画像データを複数のブロックに分割し、隣接するブロックの平均濃度の差に基づいて、コードを抽出する。コード抽出処理部２１０は、抽出したコードをコード使用情報取得部２２０および使用可否判定部２４０に渡す。
【００５８】
なお、コード抽出処理部２１０は、平均濃度を特徴量として用いて画像データからコードを抽出したが、粒状度、彩度、濃度重心、分散等の画像に関する他の特徴量を用いて画像データからコードを抽出することもできる。
【００５９】
コード使用情報取得部２２０は、コード抽出処理部２１０からコードを取得した場合に、コードの使用可否の情報を図１に示したコード埋め込み装置１００に要求する処理部である。具体的に、コード使用情報取得部２２０は、コード抽出処理部２１０からコード「０００１」を取得した場合には、このコード「０００１」に対する使用可否の情報をコード埋め込み装置１００に要求する。
【００６０】
そして、コード使用情報取得部２２０は、コード埋め込み装置１００からの応答（例えば、コード「０００１」は使用「可」）を受付けた場合には、受付けた情報を使用可否判定部２４０に渡す。
【００６１】
使用可否判定部２４０は、コード抽出処理部２１０が抽出したコードが使用可能か否かを判定する処理部である。具体的に、使用可否判定部２４０は、コード抽出処理部２１０からコードを取得し、コード使用情報取得部２２０から、コードの使用可否に関わる情報を取得し、コードが使用可能である場合には、コードが使用可能である旨の情報を表示装置５０に出力し、コードが使用可能でない場合には、コードが使用不可能である旨の情報を表示装置５０に出力する。
【００６２】
例えば、使用可否判定部２４０が、コード抽出処理部２１０からコード「０００１」を取得し、コード使用情報取得部２２０から「コード０００１は使用可」である旨の情報を取得した場合には、使用可否判定部２４０は、コード「０００１」を使用可能と判定する。
【００６３】
一方、使用可否判定部２４０が、コード抽出処理部２１０からコード「０００１」を取得し、コード使用情報取得部２２０から「コード０００１は使用不可」である旨の情報を取得した場合には、使用可否判定部２４０は、コード「０００１」を使用不可能と判定する。
【００６４】
ネットワークインターフェース部２３０は、所定の通信プロトコルを利用して、図１に示したコード埋め込み装置１００と通信を行う処理部である。
【００６５】
つぎに、本実施例１にかかるコード埋め込み装置１００の処理について説明する。図８は、本実施例１にかかるコード埋め込み装置１００の処理を示すフローチャートである。同図に示すように、コード埋め込み装置１００は、コード埋め込み部１１０が、入力装置２０からコードを取得し（ステップＳ１０１）、使用情報管理部１２０が、入力装置２０からコードに対する使用可否の情報を取得する（ステップＳ１０２）。
【００６６】
そして、コード埋め込み部１１０が、画像入力装置３０から画像データを取得し（ステップＳ１０３）、コードを画像データに埋め込む（ステップＳ１０４）。使用情報管理部１２０は、コード埋め込み部１１０から画像に埋め込んだコードを取得し、コードおよびこのコードに対する使用可否の情報をコード使用情報１３０ａに登録し（ステップＳ１０５）、コード埋め込み部１１０が、エンコード済画像データを印刷装置４０に出力する（ステップＳ１０６）。
【００６７】
このように、コード埋め込み装置１００は、使用情報管理部１２０が、画像データに埋め込まれたコードを制限するコード使用情報を作成し、作成したコード使用情報を記憶部１３０に登録するので、画像に埋め込まれたコードが無制限に利用されることを防止することができる。
【００６８】
つぎに、本実施例１にかかるコード認証装置２００の処理について説明する。図９は、本実施例１にかかるコード認証装置２００の処理を示すフローチャートである。同図に示すように、コード認証装置２００は、コード抽出処理部２１０が、画像入力装置３５から画像データを取得し（ステップＳ２０１）、画像データに埋め込まれたコードを抽出する（ステップＳ２０２）。
【００６９】
続いて、コード抽出処理部２１０が、抽出したコードをコード使用情報取得部２２０および使用可否判定部２４０に渡し（ステップＳ２０３）、コード使用情報取得部２２０が、コードに対する使用可否の情報をコード埋め込み装置２００に要求し（ステップＳ２０４）、コードに対する使用可否の情報をコード埋め込み装置２００から取得し、取得した情報を使用可否判定部２４０に渡す（ステップＳ２０５）。
【００７０】
そして、使用可否判定部２４０は、コード抽出処理部２１０から取得したコードが使用可能か否かを、コード使用情報取得部２４０から取得するコードの使用可否にかかる情報を基にして判定し（ステップＳ２０６）、判定結果を表示装置５０に出力する（ステップＳ２０７）。使用可否判定処理部２４０は、コード抽出処理部２１０が抽出したコードが使用不可であると判定した場合には、「このコードは使用できません」を表示装置５０に表示させる。一方、使用可否判定処理部２４０は、コード抽出処理部２１０が抽出したコードが使用可能であると判定した場合には、「このコードは使用できます」を表示装置５０に表示させる。
【００７１】
このように、コード認証装置２００は、コード抽出処理部２１０が画像データからコードを抽出し、コード使用情報取得部２２０が、コードに対する使用可否の情報をコード埋め込み装置１００から取得し、使用可否判定部２４０が、コードを使用できるか否かを判定するので、印刷物に埋め込まれたコードの利用を制限することができる。
【００７２】
上述してきたように、本実施例１にかかるコード埋め込み装置１００は、コード埋め込み部１１０が、コードおよび画像データを取得し、画像データの平均濃度の差を利用してコードを埋め込み、エンコード済画像データを生成する。そして、使用情報管理部１２０は、コード埋め込み部１１０が埋め込んだコードに対する使用可否の情報をコード使用情報１３０ａに登録し、コード使用情報送信部１４０が、コード認証装置２００の要求に応じて、対応する使用可否の情報をコード使用情報１３０ａから検索し、コード認証装置２００に送信するので、コード埋め込み装置１００によって作成された印刷物に埋め込まれたコードの利用を効率よく制限することができる。また、平均濃度の差を使用して、画像にコードを埋め込む手法は、２次元コードのように標準化されていないので、画像に埋め込まれたコードに対する改竄を防止することができる。
【００７３】
また、コード認証装置２００は、コード抽出処理部２１０が、コード埋め込み装置１００によって作成された画像データから画像データの平均濃度の差を利用してコードを抽出し、コード使用情報取得部２２０が、コードに対する使用可否の情報をコード埋め込み装置に要求し、コードの使用可否にかかる情報を取得する。そして、使用可否判定部２４０が、コードとコードの使用可否にかかる情報を基にして、コードに対する使用可否を判定し、判定結果を表示装置５０に出力するので、画像に埋め込まれたコードが無制限に使用されてしまうといった問題を解消することができる。
【００７４】
ところで、本実施例１で示したコード埋め込み装置１００は、使用情報管理部１２０が作成したコード使用情報１３０ａを更新可能にすることができる。図１０は、コード使用情報１３０ａを更新可能なコード埋め込み装置の構成を示す機能ブロック図である。同図に示すように、このコード埋め込み装置３００は、使用情報更新部３１０を有する。その他の構成および要素は、図２に示したコード埋め込み装置１００と同様であるため、同一の符号を付して説明を省略する。
【００７５】
使用情報更新部３１０は、入力装置２０から更新対象となるコードと、このコードに対応する新たな使用可否の情報を取得した場合に、コード使用情報を更新する処理部である。例えば、使用情報更新部３１０は、入力装置２０からコード「０００１」、「使用不可」という情報を取得した場合には、図６で示したコード使用情報１３０ａを図１１に示すコード使用情報１３０ａに更新する。図１１は、図６で示したコード使用情報が更新された場合の一例を示す図である。なお、上記した更新対象となるコードと新たな使用可否の情報は、コード埋め込み装置３００の管理者等が入力装置２０に入力する。
【００７６】
このように、コード埋め込み装置３００は、管理者などによるコード使用情報１３０ａの更新を可能にしているので、画像データに埋め込んだコードに対する使用可否の情報を効率よく変更することができる。
【実施例２】
【００７７】
つぎに、本実施例２にかかるコード埋め込み装置の特徴について説明する。上記した実施例１においてコード埋め込み装置１００は、コード使用情報としてコードの使用可否にかかる情報を登録したが、本実施例２にかかるコード埋め込み装置は、コード使用情報としてコードの使用期限（コードの使用を許可する期限）の情報を登録する。また、本実施例２にかかるコード認証装置は、画像に埋め込まれたコードが使用可能か否かをコードの使用期限を基にして判定する。
【００７８】
このように、本実施例２にかかるコード埋め込み装置は、コードの使用情報としてコードの使用期限の情報を登録し、コード認証装置が、コードの使用を許可するか否かをコードの使用期限を基に判定するので、画像に埋め込まれたコードが無期限に利用されてしまうといった問題を解決することができる。なお、本実施例２にかかるコード埋め込み装置およびコード認証装置は、実施例１と同様にネットワークを介して相互に接続されているものとする。
【００７９】
つぎに、本実施例２にかかるコード埋め込み装置の構成について説明する。図１２は、本実施例２にかかるコード埋め込み装置の構成を示す機能ブロック図である。同図に示すように、このコード埋め込み装置４００は、使用情報管理部４１０、記憶部４２０、コード使用情報送信部４３０を有する。その他の構成および要素は、図２に示したコード埋め込み装置１００と同様であるため、同一の符号を付して説明を省略する。
【００８０】
使用情報管理部４１０は、コード埋め込み部１１０から、画像データに埋め込まれたコードを取得し、このコードにかかる使用期限の情報を入力装置２０から取得し、取得した情報を基にして、コード使用情報を生成する処理部である。使用情報管理部１２０は、生成したコード使用情報を記憶部４２０に記憶させる。
【００８１】
記憶部４２０は、コード使用情報４２０ａを記憶する記憶部である。図１３は、本実施例２にかかるコード使用情報４２０ａのデータ構造の一例を示す図である。同図に示すように、このコード使用情報４２０ａは、「コード」と「使用期限」からなる。図１３の場合は、コード「０００１」の使用期限が「２００５年９月１日」であり、コード「０００２」の使用期限が「２００５年９月３０日」である。
【００８２】
コード使用情報送信部４３０は、コード認証装置からコードの使用期限にかかる問い合わせを受けた場合に、対応するコードの使用期限の情報をコード使用情報４２０ａから検索し、検索した情報をコード認証装置に送信する処理部である。例えば、コード使用情報送信部４３０が、コード認証装置からコード「０００１」の使用期限にかかる問い合わせを受付けた場合には、コード「０００１」に対する使用期限「２００５．９．１」をコード認証装置に送信する。
【００８３】
つぎに、本実施例２にかかるコード認証装置の構成について説明する。図１４は、本実施例２にかかるコード認証装置の構成を示す機能ブロック図である。同図に示すように、このコード認証装置５００は、コード使用情報取得部５１０、使用可否判定部５２０、日時管理部５３０を有する。その他の構成および要素は、図７に示したコード埋め込み装置２００と同様であるため、同一の符号を付して説明を省略する。
【００８４】
コード使用情報取得部５１０は、コード抽出処理部２１０からコードを取得した場合に、コードの使用期限の情報を図１２に示したコード埋め込み装置４００に要求する処理部である。具体的に、このコード使用情報取得部５１０は、コード抽出処理部２１０からコード「０００１」を取得した場合には、このコード「０００１」に対する使用期限の情報をコード埋め込み装置４００に要求する。
【００８５】
そして、コード使用情報取得部５１０は、コード埋め込み装置４００からの応答（例えば、コード「０００１」の使用期限は「２００５．９．１」）を受付けた場合には、受付けた情報を使用可否判定部５２０に渡す。
【００８６】
使用可否判定部５２０は、コード抽出処理部２１０が抽出したコードが使用可能か否かを判定する処理部である。具体的に、この使用可否判定部５２０は、コード抽出処理部２１０からコードを取得し、コード使用情報取得部５１０からコードの使用期限にかかる情報を取得し、日時管理部５３０（日時管理部５３０は、現在の月、年、日を管理する処理部である。）から現在の年、月、日の情報（以下、日時情報と表記する）を取得する。そして、使用可否判定部５２０は、コードが使用可能である場合には、コードが使用可能である旨の情報を表示装置５０に出力し、コードが使用可能でない場合には、コードが使用不可能である旨の情報を表示装置５０に出力する。
【００８７】
例えば、使用可否判定部５２０が、コード抽出処理部２１０からコード「０００１」を取得し、コード使用情報取得部５１０から「コードの使用期限は２００５．９．１」である旨の情報を取得し、日時管理部５３０から日時情報「２００５．８．２０」を取得した場合には、使用期限を過ぎていないので、使用可否判定部２４０は、コード「０００１」を使用可能と判定する。
【００８８】
一方、使用可否判定部５２０が、コード抽出処理部２１０からコード「０００１」を取得し、コード使用情報取得部５１０から「コードの使用期限は２００５．９．１」である旨の情報を取得し、日時管理部から日時情報「２００５．９．２０」を取得した場合には、使用期限を過ぎているので、使用可否判定部２４０は、コード「０００１」を使用可能と判定する。
【００８９】
なお、本実施例２では、使用可否判定部５１０が、コード使用情報取得部５１０から取得した情報と、日時管理部５３０から取得した日時情報が同じ年、月、日である場合には、使用可否判定部５２０は、対応するコードが使用可能であると判定する。
【００９０】
つぎに、本実施例２にかかるコード埋め込み装置４００の処理について説明する。図１５は、本実施例２にかかるコード埋め込み装置４００の処理を示すフローチャートである。同図に示すように、コード埋め込み装置４００は、コード埋め込み部１１０が、入力装置２０からコードを取得し（ステップＳ３０１）、使用情報管理部４１０が、入力装置２０からコードに対する使用期限の情報を取得する（ステップＳ３０２）。
【００９１】
そして、コード埋め込み部１１０が、画像入力装置３０から画像データを取得し（ステップＳ３０３）、コードを画像データに埋め込む（ステップＳ３０４）。使用情報管理部４１０は、コード埋め込み部１１０から画像に埋め込んだコードを取得し、コードおよびこのコードに対する使用期限の情報をコード使用情報４２０ａに登録し（ステップＳ３０５）、コード埋め込み部１１０が、エンコード済画像データを印刷装置４０に出力する（ステップＳ３０６）。
【００９２】
このように、コード埋め込み装置４００は、使用情報管理部４１０が、画像データに埋め込まれたコードを制限するコード使用情報を作成し、作成したコード使用情報（コードの使用期限）を記憶部４２０に登録するので、画像に埋め込んだコードが無期限に利用されることを防止することができる。
【００９３】
つぎに、本実施例２にかかるコード認証装置５００の処理について説明する。図１６は、本実施例２にかかるコード認証装置５００の処理を示すフローチャートである。同図に示すように、コード認証装置５００は、コード抽出処理部２１０が、画像入力装置３５から画像データを取得し（ステップＳ４０１）、画像データに埋め込まれたコードを抽出する（ステップＳ４０２）。
【００９４】
続いて、コード抽出処理部２１０が、抽出したコードをコード使用情報取得部５１０および使用可否判定部５２０に渡し（ステップＳ４０３）、コード使用情報取得部５１０が、コードに対応する使用期限の情報をコード埋め込み装置４００に要求し（ステップＳ４０４）、コードに対する使用期限の情報をコード埋め込み装置４００から取得し、取得した情報を使用可否判定部５２０に渡す（ステップＳ４０５）。
【００９５】
そして、使用可否判定部５２０は、日時管理部５３０から現在の年、月、日の情報を取得し（ステップＳ４０６）、コードが使用可能か否かを、コード使用情報取得部５１０から取得するコードの使用期限の情報を基にして判定し（ステップＳ４０７）、判定結果を表示装置５０に出力する（ステップＳ４０８）。
【００９６】
使用可否判定処理部５２０は、コード抽出処理部２１０が抽出したコードが使用期限を過ぎていると判定した場合には、「このコードは使用できません」を表示装置５０に表示させる。一方、使用可否判定処理部５２０は、コード抽出処理部２１０が抽出したコードが使用期限を過ぎていないと判定した場合には、「このコードは使用できます」を表示装置５０に表示させる。
【００９７】
このように、コード認証装置５００は、コード抽出処理部２１０が画像データからコードを抽出し、コード使用情報取得部５１０が、コードに対する使用期限の情報をコード埋め込み装置４００から取得し、使用可否判定部５２０が、コードを使用できるか否かを判定するので、印刷物に埋め込まれたコードの使用期間を制限することができる。
【００９８】
上述してきたように、本実施例２にかかるコード埋め込み装置４００は、コード埋め込み部１１０が、コードおよび画像データを取得し、画像データの平均濃度の差を利用してコードを埋め込み、エンコード済画像データを生成する。そして、使用情報管理部４１０は、コード埋め込み部１１０が埋め込んだコードに対する使用期限の情報をコード使用情報４２０ａに登録し、コード使用情報送信部４３０が、コード認証装置５００の要求に応じて、対応するコードの使用期限の情報をコード使用情報４２０ａから検索し、コード認証装置５００に送信するので、コード埋め込み装置４００によって作成された印刷物に埋め込まれたコードの利用を効率よく制限することができる。
【００９９】
また、コード認証装置５００は、コード抽出処理部２１０が、コード埋め込み装置４００によって作成された画像データから画像データの平均濃度の差を利用してコードを抽出し、コード使用情報取得部５１０が、コードに対する使用期限の情報をコード埋め込み装置４００に要求し、コードの使用期限にかかる情報を取得する。そして、使用可否判定部５２０が、コードの使用期限にかかる情報および現在の日時情報を基にして、コードに対する使用可否を判定し、判定結果を表示装置５０に出力するので、画像に埋め込まれたコードが無期限に使用されてしまうといった問題を解消することができる。
【実施例３】
【０１００】
つぎに、本実施例３にかかるコード埋め込み装置の特徴について説明する。本実施例３にかかるコード埋め込み装置は、上述した実施例１と同様の手法を用いて画像データにコードを埋め込むと共に、埋め込んだコードに対する有効使用回数の情報をコード使用情報として記憶する。
【０１０１】
そして、本実施例３にかかるコード認証装置は、コード埋め込み装置によって印刷された印刷物に埋め込まれたコードを抽出し、抽出したコードに対応するコード使用情報をコード埋め込み装置から取得し、抽出したコードが使用可能であるか否か、すなわち、有効使用回数が０か否かを判定する。
【０１０２】
このように、本実施例３にかかるコード埋め込み装置は、コードの使用情報としてコードの有効使用回数の情報を登録し、コード認証装置が、コードの使用を許可するか否かをコードの有効使用回数の情報を基に判定するので、画像に埋め込まれたコードが無制限に利用されることを防止することができる。なお、本実施例３にかかるコード埋め込み装置およびコード認証装置は、実施例１と同様にネットワークを介して相互に接続されているものとする。
【０１０３】
つぎに、本実施例３にかかるコード埋め込み装置の構成について説明する。図１７は、本実施例３にかかるコード埋め込み装置の構成を示す機能ブロック図である。同図に示すようにこのコード埋め込み装置６００は、使用情報管理部６１０、記憶部６２０、コード使用情報送信部６３０、使用情報更新部６４０を有する。その他の構成および要素は、図２に示したコード埋め込み装置１００と同様であるため、同一の符号を付して説明を省略する。
【０１０４】
使用情報管理部６１０は、コード埋め込み部１１０から、画像データに埋め込まれたコードを取得し、このコードにかかる有効使用回数の情報を入力装置２０から取得し、取得した情報を基にして、コード使用情報を生成する処理部である。使用情報管理部６１０は、生成したコード使用情報を記憶部６２０に記憶させる。
【０１０５】
記憶部６２０は、コード使用情報６２０ａを記憶する記憶部である。図１８は、本実施例３にかかるコード使用情報６２０ａのデータ構造の一例を示す図である。同図に示すように、このコード使用情報６２０ａは、「コード」と「有効使用回数」からなる。図１８では、コード「０００１」の有効使用回数が「１０」回であり、コード「０００２」の有効使用回数が「９」回である。
【０１０６】
コード使用情報送信部６３０は、コード認証装置からコードの有効使用回数にかかる問い合わせを受付けた場合に、対応するコードの有効使用回数の情報をコード使用情報６２０ａから検索し、検索した情報をコード認証装置に送信すると共に、対応する有効使用回数を１減算する処理部である。
【０１０７】
例えば、コード使用情報送信部６３０が、コード認証装置からコード「０００１」の有効使用回数にかかる問い合わせを受付けた場合には、コード「０００１」に対する有効使用回数「１０」をコード認証装置に送信すると共に、コード「０００１」の有効使用回数を１減算する。上記した場合では、コード使用情報送信部６３０は、有効使用回数を「１０」から「９」に変更する。
【０１０８】
なお、コード使用情報送信部６３０は、減算対象の有効使用回数が「０」となっている場合には、減算を行わないこととする（有効使用回数を「０」のままにする）。
【０１０９】
使用情報変更部６４０は、入力装置２０から更新対象となるコードと、このコードに対する新たな有効使用回数の情報を取得した場合に、コード使用情報６２０ａを更新する処理部である。例えば、使用情報更新部６４０が、入力装置２０からコード「０００１」、有効使用回数「５」という情報を取得した場合には、図１８のコード「０００１」に対する有効使用回数を「１０」から「５」に更新する。
【０１１０】
つぎに、本実施例３にかかるコード認証装置の構成について説明する。図１９は、本実施例３にかかるコード認証装置の構成を示す機能ブロック図である。同図に示すように、このコード認証装置７００は、コード使用情報取得部７１０、使用可否判定部７２０を有する。その他の構成および要素は、図７に示したコード埋め込み装置２００と同様であるため、同一の符号を付して説明を省略する。
【０１１１】
コード使用情報取得部７１０は、コード抽出処理部２１０からコードを取得した場合に、コードの有効使用回数の情報を図１７に示したコード埋め込み装置６００に要求する処理部である。具体的に、このコード使用情報取得部７１０は、コード抽出処理部２１０からコード「０００１」を取得した場合には、このコード「０００１」に対する有効使用回数の情報をコード埋め込み装置６００に要求する。
【０１１２】
そして、コード使用情報取得部７１０は、コード埋め込み装置６００からの応答（例えば、コード「０００１」の有効使用回数は「１０」）を受付けた場合には、受付けた情報を使用可否判定部７２０に渡す。
【０１１３】
使用可否判定部７２０は、コード抽出処理部２１０が抽出したコードが使用可のか否かを判定する処理部である。具体的に、この使用可否判定部７２０は、コード抽出処理部２１０からコードを取得し、コード使用情報取得部７１０からコードの有効使用回数にかかる情報を取得する。そして、使用可否判定部７２０は、コードが使用可能である場合には、コードが使用可能である旨の情報を表示装置５０に出力し、コードが使用可能でない場合には、コードが使用不可能である旨の情報を表示装置５０に出力する。
【０１１４】
例えば、使用可否判定部７２０は、コード抽出処理部２１０からコード「０００１」を取得し、コード使用情報取得部７１０から有効使用回数の情報「１０」を取得した場合には、コード「０００１」の有効使用回数は１以上（０ではない）であるため、コード「０００１」を使用可能と判定する。
【０１１５】
一方、使用可否判定部７２０は、コード抽出処理部２１０からコード「０００１」を取得し、コード使用情報取得部７１０から有効使用回数の情報「０」を取得した場合には、コード「０００１」の有効使用回数は０であるため、コード「０００１」を使用不可能と判定する。
【０１１６】
つぎに、本実施例３にかかるコード埋め込み装置６００の処理について説明する。図２０は、本実施例３にかかるコード埋め込み装置６００の処理を示すフローチャートである。同図に示すように、コード埋め込み装置６００は、コード埋め込み部１１０が、入力装置２０からコードを取得し（ステップＳ５０１）、使用情報管理部６１０が、入力装置２０からコードに対する有効使用回数の情報を取得する（ステップＳ５０２）。
【０１１７】
そして、コード埋め込み部１１０が、画像入力装置３０から画像データを取得し（ステップＳ５０３）、コードを画像データに埋め込む（ステップＳ５０４）。使用情報管理部６１０は、コード埋め込み部１１０から画像に埋め込んだコードを取得し、コードおよびこのコードに対する有効使用回数の情報をコード使用情報６２０ａに登録し（ステップＳ５０５）、コード埋め込み部１１０が、エンコード済画像データを印刷装置４０に出力する（ステップＳ５０６）。
【０１１８】
このように、コード埋め込み装置６００は、使用情報管理部６１０が、画像データに埋め込まれたコードの使用回数を制限するコード使用情報を作成し、作成したコード使用情報を記憶部６２０に登録するので、画像に埋め込んだコードが無制限に利用されることを防止することができる。
【０１１９】
つぎに、本実施例３にかかるコード認証装置７００の処理について説明する。図２１は、本実施例３にかかるコード認証装置７００の処理を示すフローチャートである。同図に示すように、コード認証装置７００は、コード抽出処理部２１０が、画像入力装置３５から画像データを取得し（ステップＳ６０１）、画像データに埋め込まれたコードを抽出する（ステップＳ６０２）。
【０１２０】
続いて、コード抽出処理部２１０が、抽出したコードをコード使用情報取得部７１０および使用可否判定部７２０に渡し（ステップＳ６０３）、コード使用情報取得部７１０が、コードに対応する有効使用回数の情報をコード埋め込み部６００に要求し（ステップＳ６０４）、コードに対する有効使用回数の情報をコード埋め込み装置６００から取得し、取得した情報を使用可否判定部７２０に渡す（ステップＳ６０５）。
【０１２１】
そして、使用可否判定部７２０は、有効使用回数が１以上か否かを判定し（ステップＳ６０６）、１以上である場合には（ステップＳ６０７，Ｙｅｓ）、コードが使用可能である旨を表示装置５０に出力し（ステップＳ６０８）、０である場合には（ステップＳ６０７，Ｎｏ）、コードが使用不可能である旨を表示装置５０に出力する（ステップＳ６０９）。
【０１２２】
このように、コード認証装置７００は、コード抽出処理部２１０が画像データからコードを抽出し、コード使用情報取得部７１０が、コードに対応する有効使用回数をコード埋め込み装置６００から取得し、使用可否判定部７２０が、コードを使用できるか否かを判定するので、印刷物に埋め込まれたコードの使用回数を管理者などが所望する回数に制限することができる。
【０１２３】
上述してきたように、本実施例３にかかるコード埋め込み装置６００は、コード埋め込み部１１０が、コードおよび画像データを取得し、画像データの平均濃度の差を利用してコードを埋め込み、エンコード済画像データを生成する。そして、使用情報管理部６１０は、コード埋め込み部１１０が埋め込んだコードに対する有効使用回数の情報をコード使用情報６２０ａに登録し、コード使用情報送信部６３０が、コード認証装置７００の要求に応じて、対応するコードの有効使用回数の情報をコード使用情報６２０ａから検索し、コード認証装置７００に送信するので、コード埋め込み装置６００によって作成された印刷物に埋め込まれたコードの使用回数を効率よく制限することができる。
【０１２４】
また、コード認証装置７００は、コード抽出処理部２１０が、コード埋め込み装置６００によって作成された画像データから画像データの平均濃度の差を利用してコードを抽出し、コード使用情報取得部７１０が、コードに対する有効使用回数の情報をコード埋め込み装置６００に要求し、コードの有効使用回数にかかる情報を取得する。そして、使用可否判定部７２０が、コードの有効使用回数にかかる情報を基にして、コードに対する使用可否を判定し、判定結果を表示装置５０に出力するので、画像に埋め込まれたコードが無制限に使用されてしまうといった問題を解消することができる。
【実施例４】
【０１２５】
つぎに、本実施例４にかかるコード埋め込み装置の特徴について説明する。本実施例４にかかるコード埋め込み装置は、上述した実施例１と同様の手法を用いて画像データにコードを埋め込むと共に、埋め込んだコードに対する使用可否の情報をランダムに決定し、記憶する。また、本実施例４にかかるコード埋め込み装置は、コード認証装置からコードの使用可否にかかる情報の要求を受付けた場合に、対応するコードの使用可否の情報をコード認証装置に送信し、あらためて、コードの使用可否の情報をランダムに決定し、コードの使用可否にかかる情報を更新する。
【０１２６】
このように、本実施例４にかかるコード埋め込み装置は、コードの使用可否にかかる情報をランダムに決定し、記憶するので、同じコードを複数発行した場合にでも、コードに対する使用可否の頻度を制限することができる。例えば、複数の顧客に同一のコードを発行した場合であっても、発行したコードの使用可否はランダムに変更されるため、本実施例４にかかるコード埋め込み装置を利用することによって、特別なコードを生成しなくとも、くじサービスなどを実施することができる。
【０１２７】
なお、本実施例４にかかるコード埋め込み装置およびコード認証装置は、実施例１と同様にネットワークを介して相互に接続されているものとする。本実施例４にかかるコード認証装置は、実施例１において示したコード認証装置２００と同様であるため説明を省略する。
【０１２８】
つぎに、本実施例４にかかるコード埋め込み装置の構成について説明する。図２２は、本実施例４にかかるコード埋め込み装置の構成を示す機能ブロック図である。同図に示すように、このコード埋め込み装置８００は、使用情報管理部８１０、使用可否生成部８２０、記憶部８３０、コード使用情報送信部８４０を有する。その他の構成および要素は、図２に示したコード埋め込み装置１００と同様であるため、同一の符号を付して説明を省略する。
【０１２９】
使用情報管理部８１０は、コード埋め込み部１１０から、画像データに埋め込まれたコードを取得した場合に、使用可否生成部８２０にコードの使用可否にかかる情報の要求を行うと共に、使用可否生成部８２０から取得したコードの使用可否の情報とコード埋め込み部１１０から取得したコードとを基にして、コード使用情報を生成する処理部である。
【０１３０】
ここで、使用可否生成部８２０は、使用情報管理部８１０から使用可否にかかる情報の要求を受付けた場合に、ランダムにコードの使用可否を「可」するか「不可」にするかを決定し、決定した使用可否の情報を使用情報管理部８１０に渡す処理部である。使用可否生成部８２０が、コードの使用可否をランダムに決定する方法はどのような方法を用いてもかまわないが、例えば、乱数を発生させて、発生した数値が奇数なら、コードの使用を「可」にし、偶数なら「不可」にするような方法によって、コードの使用可否をランダムに決定することができる。
【０１３１】
使用情報管理部８１０の説明にもどると、使用情報管理部８１０は、生成したコード使用情報を記憶部８３０に記憶させる。また、使用情報管理部８１０は、コード使用情報送信部８４０から、コードを取得した場合（コード使用情報送信部８４０は、コード認証装置からコードに対する使用可否の問い合わせを受付けた場合、コードを使用情報管理部８１０に渡す）には、再度、使用可否生成部８２０にコードの使用可否にかかる情報を要求し、使用可否生成部８２０から取得した使用可否にかかる情報によって、コード使用情報送信部８４０から取得したコードに対応する使用可否の情報を更新する。
【０１３２】
記憶部８３０は、コード使用情報８３０ａを記憶する記憶部である。なお、コード使用情報８３０ａのデータ構造は、図６に示したコード使用情報１３０ａと同様であるため説明を省略する。
【０１３３】
コード使用情報送信部８４０は、コード認証処理装置からコードの使用可否にかかる問い合わせを受付けた場合に、対応するコードの使用可否の情報をコード使用情報８３０ａから検索し、検索した情報をコード認証装置に送信する処理部である。また、コード使用情報送信部８４０は、コード認証処理装置からコードの使用可否にかかる問い合わせを受付けた場合に、問い合わせ対象となったコードを使用情報管理部８１０に渡す。
【０１３４】
つぎに、本実施例４にかかるコード埋め込み装置８００の処理について説明する。図２３は、本実施例４にかかるコード埋め込み装置８００の処理を示すフローチャートである。同図に示すように、コード埋め込み装置８００は、コード埋め込み部１１０が、入力装置２０からコードを取得し（ステップＳ７０１）、画像入力装置３０から画像データを取得する（ステップＳ７０２）。
【０１３５】
そして、コード埋め込み部１１０が、コードを画像に埋め込み（ステップＳ７０３）、使用可否生成部８２０が、コードに対する使用可否をランダムに決定し、決定した使用可否の情報を使用情報管理部８１０に渡す（ステップＳ７０４）。
【０１３６】
続いて、使用情報管理部８１０が、コードおよびこのコードに対する使用可否の情報をコード使用情報８３０ａに登録し（ステップＳ７０５）、コード埋め込み部１１０が、エンコード済画像データを印刷装置４０に出力する（ステップＳ７０６）。
【０１３７】
このように、コード埋め込み装置８００は、使用可否生成部８２０が、コードの使用可否にかかる情報をランダムに決定し、使用情報管理部８１０が、コード使用情報８３０ａに登録された使用可否にかかる情報を更新するので、同じコードを複数発行した場合にでも、コードに対する使用可否を制限することができる。
【０１３８】
つぎに、本実施例４にかかるコード埋め込み装置８００が、コード認証装置からコードの使用可否にかかる情報の要求を受付けた場合の処理について説明する。図２４は、コード埋め込み装置８００が、コード認証装置からコードの使用可否にかかる情報の要求を受付けた場合の処理を示すフローチャートである。同図に示すように、コード埋め込み装置８００は、コード使用情報送信部８４０が、コード認証処理部からコードを取得し（ステップＳ８０１）、コードに対応する使用可否の情報をコード使用情報８３０ａから検索する（ステップＳ８０２）。
【０１３９】
そして、コード使用情報送信部８４０は、コードに対応する使用可否の情報をコード認証装置に送信し（ステップＳ８０３）、コードを使用情報管理部８１０に渡し（ステップＳ８０４）、使用情報管理部８１０は、使用可否生成部８２０に対して、コードに対応する使用可否の情報を要求する（ステップＳ８０５）。
【０１４０】
続いて、使用可否生成部８２０は、コードに対する使用可否をランダムに決定し、決定した使用可否の情報を使用情報管理部８１０に渡し（ステップＳ８０６）、使用情報管理部８１０は、コード使用情報８３０ａの使用可否の情報を更新する（ステップＳ８０７）。
【０１４１】
このように、コード埋め込み装置８００は、コード認証装置からコードの使用可否にかかる情報の要求を受付けた場合に、コードに対する使用可否の情報をコード認証装置に送信した後、使用可否生成部８２０が使用可否をランダムに作成し、使用情報管理部８００が、コード使用情報８３０ａを更新するので、同一のコードを複数の画像データに埋め込んだ場合であっても、コードの使用を制限することができる。
【０１４２】
上述してきたように、本実施例４にかかるコード埋め込み装置８００は、コード埋め込み部１１０が、コードおよび画像データを取得し、画像データの平均濃度の差を利用してコードを埋め込み、エンコード済画像データを生成する。そして、使用可否生成部８２０が、コードに対する使用可否をランダムに決定し、使用情報管理部８１０が、ランダムに決定された使用可否の情報をコード使用情報８３０ａに登録するので、同一のコードを複数発行した場合であっても、複数の同一コードに対する使用を制限することができる。
【実施例５】
【０１４３】
つぎに、本実施例５にかかるコード埋め込み装置の特徴について説明する。本実施例５にかかるコード埋め込み装置は、上述した実施例１と同様の手法を用いて画像データに第１のコードを埋め込むと共に、第２のコードから２次元コードを生成し、第１のコードと第２のコードとによって構成される第３のコードに対する使用可否の情報を記憶する。
【０１４４】
そして、本実施例５にかかるコード認証装置は、画像に埋め込まれた第１のコードを抽出し、２次元コードをデコードして第２のコードを取得し、第１のコードおよび第２のコードによって構成される第３のコードの使用可否の情報をコード埋め込み装置から取得し、コードが使用可能か否かを判定する。
【０１４５】
このように、本実施例５にかかるコード埋め込み装置は、２種類のコードを利用することによって、発行するコードの有効桁数を増加することができる。また、コード埋め込み装置は、２種類のコードに対する使用可否の情報を記憶するので、２種類のコードによって構成される有効桁数の増加したコードが無制限に利用されることを防止することができる。なお、本実施例５にかかるコード埋め込み装置およびコード認証装置は、実施例１と同様にネットワークを介して相互に接続されているものとする。
【０１４６】
つぎに、本実施例５にかかるコード埋め込み装置の構成について説明する。図２５は、本実施例５にかかるコード埋め込み装置の構成を示す機能ブロック図である。同図に示すように、このコード埋め込み装置９００は、コード埋め込み部９１０、２次元コード生成部９２０、コード配置部９３０、使用情報管理部９４０、記憶部９５０、コード使用情報送信部９６０を有する。その他の構成および要素は、図２に示したコード埋め込み装置１００と同様であるため説明を省略する。
【０１４７】
コード埋め込み部９１０は、入力装置２０から第１のコードを取得し、画像入力装置３０から画像データを取得すると共に、画像データに第１のコードを埋め込む処理部である。なお、第１のコードを画像データに埋め込む手法は、実施例１において示したコード埋め込み部１１０と同様であるため説明を省略する。
【０１４８】
コード埋め込み部９１０は、第１のコードを埋め込んだ画像データ（エンコード済画像データ）をコード配置部９３０に渡すと共に、画像データに埋め込んだ第１のコードを使用情報管理部９４０に渡す。
【０１４９】
２次元コード生成部９２０は、２次元コードのエンコーダであり、入力装置２０から取得した第２のコードをエンコードして２次元コードを生成する。２次元コードは、情報を２次元形状の組み合わせとしてエンコードするものである。２次元コード生成部９２０は、生成した２次元コードをコード配置部９３０に渡し、第２のコードを使用情報管理部９４０に渡す。
【０１５０】
コード配置部９３０は、コード埋め込み部９１０から取得したエンコード済画像データと、２次元コード生成部から取得した２次元コードとを所定の位置に配置する処理部である。コード配置部９３０は、所定の位置に配置したエンコード済画像データと２次元コードとの情報を印刷装置４０に出力し、印刷装置４０に印刷させる。図２６は、本実施例５にかかる印刷装置４０が印刷する印刷物の一例を示す図である。同図に示すように、この印刷物には、第１のコードが埋め込まれた画像と、２次元コードが印刷されている。
【０１５１】
使用情報管理部９４０は、コード埋め込み部９１０から第１のコードを取得し、２次元コード生成部９２０から第２のコードを取得し、第１のコードおよび第２のコードによって構成される第３のコードに対する使用可否の情報を入力装置２０から取得し、取得した情報を基にして、コード使用情報を生成する処理部である。ここで、第３のコードは、第１のコードに第２のコードを付加させたコードである。例えば、第１のコードが「００００」、第２のコードが「１１１１」の場合は、第３のコードは、「００００１１１１」となる。
【０１５２】
記憶部９５０は、コード使用情報９５０を記憶する記憶部である。図２７は、本実施例５にかかるコード使用情報９５０ａのデータ構造の一例を示す図である。同図に示すように、このコード使用情報９５０ａは、第３の「コード」と、このコードに対する「使用可否」からなる。図２７の例では、第３のコード「００００２２２２」および「１１１１２２２２」に対する使用は可能である旨を示している。
【０１５３】
コード使用情報送信部９６０は、コード認証装置から第３のコードの使用可否にかかる問い合わせを受付けた場合に、対応する第３のコードの使用可否の情報をコード使用情報９５０ａから検索し、検索した情報をコード認証装置に送信する処理部である。例えば、コード使用情報送信部９６０が、コード認証装置から第３のコード「００００２２２２」の使用可否にかかる問い合わせを受付けた場合には、第３のコード「００００２２２２」は使用可能である旨の情報をコード認証装置に送信する（図２７より、コード「００００２２２２」の使用可否は「可」であるため）。
【０１５４】
つぎに、本実施例５にかかるコード認証装置の構成について説明する。図２８は、本実施例５にかかるコード認証装置の構成を示す機能ブロック図である。同図に示すように、このコード認証装置１０００は、コード抽出処理部１０１０、デコード部１０２０、コード使用情報取得部１０３０、使用可否判定部１０４０を有する。なお、その他の構成および要素は、図７に示したコード認証装置２００と同様であるため説明を省略する。
【０１５５】
コード抽出処理部１０１０は、画像入力装置３５から画像データを取得し、取得した画像データから第１のコードを抽出する処理部である。コード抽出処理部１０１０は、抽出した第１のコードをコード使用情報取得部１０３０および使用可否判定部１０４０に渡す。
【０１５６】
デコード部１０２０は、画像入力装置３５から２次元コードをデコードして、第２のコードを抽出する処理部である。デコード部１０２０は、抽出した第２のコードをコード使用情報取得部１０３０および使用可否判定部１０４０に渡す。
【０１５７】
コード使用情報取得部１０３０は、コード抽出処理部１０１０から第１のコードを取得し、デコード部１０２０から第２のコードを取得して、第３のコードを特定し、第３のコードに対する使用可否の情報をコード埋め込み装置９００に要求する処理部である。具体的に、コード使用情報取得部１０３０は、第１のコード「００００」第２のコード「１１１１」を取得した場合には、第３のコードを「００００１１１１」と特定し、第３のコード「００００１１１１」に対する使用可否の情報をコード埋め込み装置９００に要求する。
【０１５８】
そして、コード使用情報取得部１０３０は、コード埋め込み装置９００からの応答（例えば、コード「００００１１１１」は使用「可」）を受付けた場合には、受付けた情報を使用情報可否判定部１０４０に渡す。
【０１５９】
使用可否判定部１０４０は、コード抽出処理部１０１０から第１のコードを取得し、デコード部１０２０から第２のコードを取得し、第３のコードを特定すると共に、コード使用情報取得部１０３０から第３のコードに対する使用可否の情報を取得し、第３のコードが使用可能か否かを判定する処理部である。使用可否判定部１０４０は、判定結果を表示装置５０に出力する。
【０１６０】
例えば、使用可否判定部１０４０は、第１のコード「００００」、第２のコード「１１１１」、第３のコードに対する使用可否「コード００００１１１１は使用可」である旨の情報を取得した場合には、使用可否判定部１０４０は、コード「００００１１１１」を使用可能と判定する。
【０１６１】
一方、使用可否判定部１０４０は、第１のコード「００００」、第２のコード「１１１１」、第３のコードに対する使用可否「コード００００１１１１は使用不可」である旨の情報を取得した場合には、使用可否判定部１０４０は、コード「００００１１１１」を使用不可能と判定する。
【０１６２】
つぎに、本実施例５にかかるコード埋め込み装置９００の処理について説明する。図２９は、本実施例５にかかるコード埋め込み装置９００の処理を示すフローチャートである。同図に示すように、コード埋め込み装置９００は、コード埋め込み部９１０が、入力装置２０から第１のコードを取得し（ステップＳ９０１）、２次元コード生成部９２０が、入力装置２０から第２のコードを取得し（ステップＳ９０２）、使用情報管理部９４０が、使用可否にかかる情報を入力装置２０から取得する（ステップＳ９０３）。
【０１６３】
そして、コード埋め込み部９１０が、画像入力装置３０から画像データを取得し（ステップＳ９０４）、第１のコードを画像データに埋め込み、エンコード済画像データをコード配置部９３０に渡し、第１のコードを使用情報管理部９４０に渡す（ステップＳ９０５）。２次元コード生成部９２０は、第２のコードをエンコードして２次元コードを生成し、２次元コードをコード配置部９３０に渡し、第２のコードを使用情報管理部９４０に渡す（ステップＳ９０６）。
【０１６４】
続いて、使用情報管理部９４０は、第１のコードおよび第２のコードから第３のコードを特定し（ステップＳ９０７）、第３のコードに対する使用可否の情報をコード使用情報９５０ａに登録し（ステップＳ９０８）、コード配置部９３０が、エンコード済画像データおよび２次元コードを配置し（ステップＳ９０９）、画像データを印刷装置４０に出力する（ステップＳ９１０）。
【０１６５】
このように、本実施例５にかかるコード埋め込み装置９００は、コード埋め込み部９１０が、第１のコードを画像データに埋め込み、２次元コード生成部９２０が、第２のコードを２次元コードにエンコードし、使用情報登録部９４０が、第３のコードに対する使用可否の情報を登録するので、コードの有効桁数を増加させることができると共に、このコードが無制限に使用されることが防止することができる。
【０１６６】
つぎに、本実施例５にかかるコード認証装置１０００の処理について説明する。図３０は、本実施例５にかかるコード認証装置１０００の処理を示すフローチャートである。同図に示すように、コード認証装置１０００は、コード抽出処理部１０１０が、画像入力装置３５から画像データを取得し（ステップＳ１００１）、第１のコードを抽出し、抽出した第１のコードをコード使用情報取得部１０３０および使用可否判定部１０４０に渡す（ステップＳ１００２）。
【０１６７】
そして、デコード部１０２０は、画像入力装置３５から２次元コードを取得し（ステップＳ１００３）、２次元コードから第２のコードを抽出し、抽出した第２のコードをコード使用情報取得部１０３０および使用可否判定部１０４０に渡す（ステップＳ１００４）。
【０１６８】
続いて、コード使用情報取得部１０３０は、第１のコードおよび第２のコードから第３のコードを特定し（ステップＳ１００５）、第３のコードに対する使用可否の情報をコード埋め込み装置９００に要求し（ステップＳ１００６）、第３のコードに対する使用可否の情報を取得し、取得した情報を使用可否判定部１０４０に渡す（ステップＳ１００７）。
【０１６９】
そして、使用可否判定部１０４０は、第３のコードが使用可能であるか否かを判定し（ステップＳ１００８）、判定結果を表示装置５０に出力する（ステップＳ１００９）。使用可否判定処理部１０４０は、第３のコードが使用不可であると判定した場合には、「このコードは使用できません」を表示装置５０に表示させる。一方、使用可否判定処理部１０４０は、第３のコードが使用可能であると判定した場合には、「このコードは使用できます」を表示装置５０に表示させる。
【０１７０】
このように、コード認証装置１００は、コード抽出処理部１０１０が第１のコードを抽出し、デコード部１０２０が第３のコードを抽出し、使用可否判定部１０４０が、第３のコードが使用可能であるか否かを判定するので、画像に埋め込まれたコードと２次元コードに埋め込まれたコードとからなる第３のコードに対する使用を制限することができる。
【０１７１】
上述してきたように、本実施例５にかかるコード埋め込み装置９００は、コード埋め込み部９１０が、第１のコードを画像データに埋め込み、２次元コード生成部が、第２のコードから２次元コードを生成し、使用情報管理部９７０が、第１のコードおよび第２のコードから構成される第３のコードに対する使用可否の情報をコード使用情報９５０ａに登録するので、コードの有効桁数を容易に増加させることができると共に、このコードに対する使用を効率よく制限することができる。
【実施例６】
【０１７２】
つぎに、本実施例６にかかるコード埋め込み装置の特徴について説明する。本実施例６にかかるコード埋め込み装置は、上述した実施例１と同様の手法を用いて画像データにコードを埋め込むと共に、このコードにかかる利用者を識別する情報（以下、利用者ＩＤと表記する）を取得し、画像に埋め込んだ使用可否にかかる情報を利用者ＩＤと関連付けて記憶する。
【０１７３】
そして、本実施例６にかかるコード認証装置は、印刷物に埋め込まれたコードを抽出すると共に、このコードを利用する利用者の利用者ＩＤを取得し、この利用者ＩＤに対応する利用者はコードを使用できるか否かの情報をコード埋め込み装置から取得して判定する。
【０１７４】
このように、本実施例６にかかるコード埋め込み装置は、同じコードであっても、利用者ＩＤごとに使用可否の情報を管理しているので、同じコードを複数の利用者に発行しても、それぞれの利用者に対するコードの利用を制限することができる。
【０１７５】
また、本実施例６にかかるコード認証装置は、印刷物に埋め込まれたコードと利用者ＩＤとを基にして、コードが利用可能であるか否かを判定するので、複数の利用者が同じステガノグラフィーコードを用いてコードを使用しようとしても、利用者ごとに、コードの使用を制限することができる。
【０１７６】
つぎに、本実施例６にかかるコード埋め込み装置の構成について説明する。図３１は、本実施例６にかかるコード埋め込み装置の構成を示す機能ブロック図である。同図に示すようにこのコード埋め込み装置１１００は、使用情報管理部１１１０、記憶部１１２０、コード使用情報送信部１１３０を有する。その他の構成および要素は、図２に示したコード埋め込み装置１００と同様であるため、同一の符号を付して説明を省略する。
【０１７７】
使用情報管理部１１１０は、コード埋め込み部１１０から、画像データに埋め込まれたコードを取得し、このコードに対応する利用者ＩＤおよびコードの使用可否の情報を入力装置２０から取得し、取得した情報を基にして、コード使用情報を生成する処理部である。使用情報管理部１１１０は、生成したコード使用情報を記憶部１１２０に記憶させる。
【０１７８】
記憶部１１２０は、コード使用情報１１２０ａを記憶する記憶部である。図３２は、本実施例６にかかるコード使用情報１１２０ａのデータ構造の一例を示す図である。同図に示すように、このコード使用情報１１２０ａは、「コード」、「利用者ＩＤ」、「使用可否」からなる。図３２の場合では、コード「００００」に対して利用者ＩＤが３つ、すなわち「０００」、「００１」、「００２」が登録されており、コード「００００」に対する利用者ＩＤ「００１」のみ、コードの使用が許可されている。
【０１７９】
コード使用情報送信部１１３０は、コード認証装置からコードおよび利用者ＩＤを取得した場合に、取得したコードおよび利用者ＩＤに対応する使用可否の情報をコード使用情報１１２０ａから検索し、検索した情報をコード認証装置に送信する処理部である。
【０１８０】
例えば、コード使用情報送信部１１３０が、コード認証装置からコード「００００」、利用者ＩＤ「００１」を取得した場合には、コード「００００」は利用者ＩＤ「００１」によって識別される利用者によって使用可能である旨の情報をコード認証装置に送信する（図３２より、コード「００００」、利用者ＩＤ「００１」に対する使用可否は「可」であるため）。
【０１８１】
つぎに、本実施例６にかかるコード認証装置の構成について説明する。図３３は、本実施例６にかかるコード認証装置１２００の構成を示す機能ブロック図である。同図に示すように、このコード認証装置１２００は、コード使用情報取得部１２１０、使用可否判定部１２２０を有する。その他の構成および要素は、図７に示したコード埋め込み装置２００と同様であるため、同一の符号を付して説明を省略する。
【０１８２】
コード使用情報取得部１２１０は、コード抽出処理部２１０からコードを取得し、入力装置６０から利用者ＩＤを取得し、取得したコードおよび利用者ＩＤにかかる使用可否の情報をコード埋め込み装置１１００に要求する処理部である。具体的に、コード使用情報取得部１２１０は、コード「００００」、利用者ＩＤ「００１」を取得した場合に、このコード「００００」、利用者ＩＤ「００１」に対する使用可否の情報をコード埋め込み装置１１００に要求する。
【０１８３】
そして、コード使用情報取得部１２１０は、コード埋め込み装置１１００からの応答（例えば、コード「００００」、利用者ＩＤ「００１」にかかる使用は「可」）を受付けた場合には、受付けた情報を使用可否判定部１２２０に渡す。
【０１８４】
使用可否判定部１２２０は、コード抽出処理部２１０からコードを取得し、入力装置６０から利用者ＩＤを取得し、コード使用情報取得部１２１０からコードおよび利用者ＩＤにかかる使用可否の情報を取得し、コード抽出処理部２１０が抽出したコードを、入力装置６０から取得した利用者ＩＤの利用者によって使用可能か否かを判定する処理部である。
【０１８５】
例えば、使用可否判定部１２２０が、コード抽出処理部２１０からコード「００００」を取得し、入力装置６０から利用者ＩＤ「００１」を取得し、コード使用情報取得部１２１０から「コード００００、利用者ＩＤ００１にかかる使用は可」である旨の情報を取得した場合には、コード「００００」、利用者ＩＤ「００１」は、使用可能であると判定する。
【０１８６】
一方、使用可否判定部１２２０が、コード抽出処理部２１０からコード「００００」を取得し、入力装置６０から利用者ＩＤ「００１」を取得し、コード使用情報取得部１２１０から「コード００００、利用者ＩＤ００１にかかる使用は不可」である旨の情報を取得した場合には、コード「００００」、利用者ＩＤ「００１」は、使用不可能であると判定する。
【０１８７】
つぎに、本実施例６にかかるコード埋め込み装置１１００の処理について説明する。図３４は、本実施例６にかかるコード埋め込み装置１１００の処理を示すフローチャートである。同図に示すように、コード埋め込み装置１１００は、コード埋め込み部１１０が、入力装置２０からコードを取得し（ステップＳ１１０１）、使用情報管理部１１１０が、入力装置２０から利用者ＩＤおよび使用可否の情報を取得する（ステップＳ１１０２）。
【０１８８】
そして、コード埋め込み部１１０が、画像入力装置３０から画像データを取得し（ステップＳ１１０３）、コードを画像データに埋め込む（ステップＳ１１０４）。使用情報管理部１１１０は、コード埋め込み部１１０からコードを取得し、コードおよび利用者ＩＤに対する使用可否の情報をコード使用情報１１２０ａに登録し（ステップＳ１１０５）、コード埋め込み部１１０が、エンコード済画像データを印刷装置４０に出力する（ステップＳ１１０６）。
【０１８９】
このように、コード埋め込み装置１１０は、使用情報管理部１１１０が、コードおよび利用者ＩＤに対する使用可否の情報をコード使用情報１１２０ａに登録するので、同一のコードを複数発行した場合であっても、利用者ＩＤごとにコードの使用を制限することができる。
【０１９０】
つぎに、本実施例６にかかるコード認証装置１１００の処理について説明する。図３５は、本実施例６にかかるコード認証装置１１００の処理を示すフローチャートである。同図に示すように、コード認証装置１１００は、コード抽出処理部２１０が、画像入力装置３５から画像データを取得し（ステップＳ１２０１）、コード使用情報取得部１２１０が、入力装置６０から利用者ＩＤを取得する（ステップＳ１２０２）。
【０１９１】
そして、コード抽出処理部２１０が、画像データからコードを抽出し（ステップＳ１２０３）、抽出したコードをコード使用情報取得部１２１０および使用可否判定部１２２０に渡し（ステップＳ１２０４）、コード使用情報取得部１２１０が、コードおよび利用者ＩＤに対する使用可否の情報をコード埋め込み装置１１００に要求し（ステップＳ１２０５）、コードおよび利用者ＩＤに対する使用可否の情報を取得し、取得した情報を使用可否判定部１２２０に渡す（ステップＳ１２０６）。
【０１９２】
続いて、使用可否判定部１２２０は、コード抽出処理部２１０から取得したコードおよび入力装置６０から取得した利用者ＩＤが使用可能か否かを、コード使用情報取得部１２１０から取得する情報を基にして判定し（ステップＳ１２０７）、判定結果を表示装置４０に出力する（ステップＳ１２０８）。
【０１９３】
このように、コード認証装置１２００は、コード抽出処理部２１０が画像データからコードを抽出し、使用可否判定部１２２０が、コードおよび利用者ＩＤが使用可能か否かを判定するので、同じコードであっても、利用者ＩＤごとにコードの使用を制限することができる。
【０１９４】
上述してきたように、本実施例６にかかるコード埋め込み装置１１００は、コード埋め込み部１１０が、コードおよび画像データを取得し、画像データの平均濃度の差を利用してコードを埋め込み、エンコード済画像データを生成する。そして、使用情報管理部１１２０が、コードおよび利用者ＩＤにかかる使用可否の情報をコード使用情報１１２０ａに登録し、コード使用情報送信部１１３０が、コード認証装置１２００の要求に応じて、対応する使用可否情報をコード認証装置１２００に送信するので、同じコードを利用者に発行しても、それぞれの利用者に対するコードの利用を制限することができる。
【０１９５】
また、コード認証装置１２００は、コード抽出処理部２１０が、コード埋め込み装置１００によって作成された画像データから画像データの平均濃度の差を利用してコードを抽出し、コード使用情報取得部１２１０が、コードおよび利用者ＩＤに対する使用可否の情報をコード埋め込み装置１１００に要求し、コードおよび利用者ＩＤにかかる使用可否の情報を取得する。そして、使用可否判定部１２２０が、コードおよび利用者ＩＤにかかる使用可否の情報を基にして、コードおよび利用者ＩＤの使用可否を判定し、判定結果を表示装置５０に出力するので、同じコードであっても、利用者ＩＤごとにコードの使用を制限することができる。
【０１９６】
なお、本実施例６において、コード埋め込み装置１１００は、コードおよび利用者ＩＤに対する使用可否の情報をコード使用情報として記憶したが、たとえば、利用者ＩＤの代わりに、利用者が所有する携帯電話等の電話番号を利用してもよい。
【０１９７】
また、上述した実施例１〜６において説明したコード埋め込み装置およびコード認証装置は、スーパーマーケットやコンビニエンスストアなどで利用されるＰＯＳ（Point of Sales）システムやサーバクライアントシステムなどにも適用することができる。
【０１９８】
以下において、本実施例１〜６にかかるコード埋め込み装置およびコード認証装置をＰＯＳシステムに適用した場合の一例について説明する。スーパーマーケットの管理者は、事前に、コード埋め込み装置を利用して、エンコード済画像データおよびコード使用情報（コードの使用を認めるか否かの情報またはコード使用期限の情報など）を作成する。
【０１９９】
そして、管理者は、ネットワークに接続されたコンピュータを用いて、エンコード済画像データを顧客の携帯端末装置（例えば携帯電話）に送信すると共に、埋め込んだコードとコード使用情報とを管理サーバに送信する。管理サーバは、コードとコードに対するコード使用情報を関連付けて記憶・管理するサーバである。管理者がコード使用情報を変更する場合には、コンピュータを利用して管理サーバにアクセスし、コード使用情報を更新する。なお、管理者は、事前に顧客の携帯端末装置のアドレスを調べておく。
【０２００】
そして、スーパーマーケットの店員が商品の決済をおこなうときには、店員がＰＯＳ端末のリーダを利用して、顧客の携帯電話の画面から画像データを読み取り、コード認証装置（コード認証装置は、ＰＯＳ端末に接続あるいは内蔵しているものとする）が、ＰＯＳ端末が読み取った画像データからコードを抽出し、抽出したコードに対応するコード使用情報を管理サーバに要求する。
【０２０１】
続いて、コード認証装置は、管理サーバからコード使用情報を取得し、画像データに埋め込まれていたコードが使用可能か否かを判定し、判定結果をＰＯＳ端末に通知する。コード認証装置が、「コードの使用は可能」と判定している場合には、ＰＯＳ端末は、商品の金額から所定の金額を減算して決済を行い、コード認証装置が、「コードの使用は不可能」と判定している場合には、商品の割引をおこなわない。
【０２０２】
このように、本発明にかかるコード埋め込み装置およびコード認証装置をＰＯＳシステムなどに適用することによって、管理者は、商品の販売を促進することができると共に、コード（クーポン）の使用を制限できるので、コードが複数回利用され、意図した利益を得られないといった問題を解消することができる。
【０２０３】
ところで、上記実施例１〜６にかかるコード埋め込み装置およびコード認証装置の各種処理は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで以下では、コード埋め込み装置またはコード認証装置の機能を実現するコンピュータの一例を説明する。
【０２０４】
図３６は、コード埋め込み装置またはコード認証装置の機能を実現するコンピュータの機能ブロック図である。同図に示すように、このコンピュータ１３００は、入出力インターフェース装置１３１０、ネットワークインターフェース装置１３２０、ＲＡＭ１３３０、ＨＤＤ１３４０、ＲＯＭ１３５０、ＣＰＵ１３６０がバス１３７０に接続されて構成される。
【０２０５】
入出力インターフェース装置１３１０は、マウスやキーボードなどの入力装置および表示装置やプリンタなどの出力装置を接続するための装置であり、ネットワークインターフェース装置１３２０は、所定の通信プロトコルを利用してネットワーク上の他のコンピュータと通信を行う装置である。
【０２０６】
ＲＡＭ１３３０は、プログラムやプログラムの実行途中結果などを記憶するメモリである。図３６の例ではＲＡＭ１３３０は、コードデータ１３３０ａ、画像データ１３３０ｂ、コード使用情報１３３０ｃが記録されている。ここで、コードデータ１３３０ａは、画像データに埋め込むコードの情報であり、画像データは、コードの埋め込み対象となる画像データである。なお、コード使用情報１３３０ｃは、図２に示したコード使用情報１３０ａに対応する。
【０２０７】
ＨＤＤ１３４０は、プログラムやデータを格納するディスク装置であり、図３６の例では、コード使用情報１３４０ａを格納している。このコード使用情報１３４０ａは、ＣＰＵ１３６０によってＲＡＭ１３３０に読み出される。
【０２０８】
そして、コンピュータ１３００が、コード埋め込み装置の場合には、ＲＯＭ１３５０には、上記実施例１〜６のコード埋め込み装置と同様の機能を発揮するエンコードプログラム、つまり、図３６に示すように、エンコードプログラム１３５０ａが予め記録されている。
【０２０９】
続いて、ＣＰＵ１３６０が、エンコードプログラム１３５０ａをＲＯＭ１３５０から読み出して実行することで、図３６に示すように、エンコードプログラム１３５０ａは、エンコードプロセス１３６０ａとして機能するようになる。ＣＰＵ１３６０は、画像データにコードを埋め込むと共に、埋め込んだコードに対する使用可否の情報をコード使用情報１３３０ｃに登録する。
【０２１０】
一方、コンピュータ１３００がコード認証装置の場合には、ＲＯＭ１３５０には、上記実施例１〜６のコード認証装置と同様の機能を発揮するデコードプログラム、つまり、図３６に示すように、デコードプログラム１３５０ｂが予め記録されている。
【０２１１】
そして、ＣＰＵ１３６０が、デコードプログラム１３５０ｂをＲＯＭ１３５０から読み出して実行することで、図３６に示すように、デコードプログラム１３５０ｂは、デコードプロセス１３６０ｂとして機能するようになる。ＣＰＵ１３６０は、画像データからコードを抽出し、抽出したコードが使用可能か否かをコード使用情報１３３０ｃに基づいて判定する。
【０２１２】
なお、本実施例１〜６では、コード埋め込み装置とコード認証装置とがネットワークを介して接続されている場合を示したが、これに限定されるものではなく、例えば、コード埋め込み装置およびコード認証装置を一体の装置として構成しても良い。
【０２１３】
また、本実施例２〜６に示したコード埋め込み装置では省略したが、図１０において示したコード埋め込み装置３００と同様に、使用情報更新部３１０を設けることができ、コード埋め込み装置の管理者は、必要に応じてコード使用情報を更新してもよい。
【０２１４】
（付記１）データが埋め込まれた画像を生成するエンコード装置であって、
画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてデータを画像に埋め込む埋め込み手段と、
前記埋め込み手段によって画像に埋め込まれたデータの使用を制限する使用制限情報を記録する制限情報記録手段と、
を備えたことを特徴とするエンコード装置。
【０２１５】
（付記２）前記制限情報記録手段が記録する使用制限情報は、前記画像に埋め込まれたデータの使用を許可するか否かの情報であることを特徴とする付記１に記載のエンコード装置。
【０２１６】
（付記３）前記画像に埋め込まれたデータが使用された場合に、当該データの使用を許可するか否かの情報を無作為に変更する使用可否変更手段を更に備えたことを特徴とする付記２に記載のエンコード装置。
【０２１７】
（付記４）前記制限情報記録手段が記録する使用制限情報は、前記画像に埋め込まれたデータに対する有効期限の情報であることを特徴とする付記１に記載のエンコード装置。
【０２１８】
（付記５）前記制限情報記録手段が記録する使用制限情報は、前記画像に埋め込まれたデータに対する有効使用回数の情報であることを特徴とする付記１に記載のエンコード装置。
【０２１９】
（付記６）前記画像に埋め込まれたデータが使用された場合に、前記有効使用回数を減算する回数減算手段を更に備えたことを特徴とする付記５に記載のエンコード装置。
【０２２０】
（付記７）前記埋め込み手段によって画像に埋め込まれたデータとは異なる第２のデータを図形パターンの組み合わせとしてエンコードするエンコード手段を更に備え、前記使用制限情報は、前記埋め込み手段によって画像に埋め込まれたデータおよび前記第２のデータの使用を制限する情報であることを特徴とする付記１に記載のエンコード装置。
【０２２１】
（付記８）前記埋め込み手段によって画像に埋め込まれたデータの利用者を識別する識別情報を取得する識別情報取得手段を更に備え、前記使用制限情報は、前記画像に埋め込まれたデータおよび前記識別情報に対する使用を制限する情報であることを特徴とする付記１に記載のエンコード装置。
【０２２２】
（付記９）前記制限情報記録手段が記録する使用制限情報を変更する変更手段を更に備えたことを特徴とする付記１〜８のいずれか一つに記載のエンコード装置。
【０２２３】
（付記１０）画像に埋め込まれたデータを抽出するデコード装置であって、
画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいて画像に埋め込まれたデータを抽出するデータ抽出手段と、
前記データ抽出手段によって抽出されたデータの使用を制限する使用制限情報を取得する取得手段と、
前記取得手段によって取得された前記使用制限情報を基にして、前記データ抽出手段によって抽出されたデータの使用を許可するか否かを判定する判定手段と、
を備えたことを特徴とするデコード装置。
【０２２４】
（付記１１）画像を複数のブロックに分割し、隣接するブロックの特徴量の差に基づいてデータを画像に埋め込む埋め込み手段と、
前記埋め込み手段によって画像に埋め込まれたデータの使用を制限する使用制限情報を記録する制限情報記録手段と、
を備えるエンコード装置によって生成された画像が印刷された印刷物。
【産業上の利用可能性】
【０２２５】
以上のように、本発明にかかるエンコード装置、デコード装置および印刷物は、画像へのデータ格納と取り出しに有用であり、特に、画像に格納されたデータの利用を制限する場合に適している。
【図面の簡単な説明】
【０２２６】
【図１】本実施例１にかかるエンコードデコードシステムの一例を示す図である。
【図２】本実施例１にかかるコード埋め込み装置の構成を示す機能ブロック図である。
【図３】コード埋め込み部の構成を示す機能ブロック図である。
【図４】ブロック分割画像データの一例を示す図である。
【図５】コード形成部による濃度変更処理を説明するための説明図である。
【図６】コード使用情報のデータ構造の一例を示す図である。
【図７】本実施例１にかかるコード認証装置の構成を示す機能ブロック図である。
【図８】本実施例１にかかるコード埋め込み装置の処理を示すフローチャートである。
【図９】本実施例１にかかるコード認証装置の処理を示すフローチャートである。
【図１０】コード使用情報を更新可能なコード埋め込み装置の構成を示す機能ブロック図である。
【図１１】図６で示したコード使用情報が更新された場合の一例を示す図である。
【図１２】本実施例２にかかるコード埋め込み装置の構成を示す機能ブロック図である。
【図１３】本実施例２にかかるコード使用情報のデータ構造の一例を示す図である。
【図１４】本実施例２にかかるコード認証装置の構成を示す機能ブロック図である。
【図１５】本実施例２にかかるコード埋め込み装置の処理を示すフローチャートである。
【図１６】本実施例２にかかるコード認証装置の処理を示すフローチャートである。
【図１７】本実施例３にかかるコード埋め込み装置の構成を示す機能ブロック図である。
【図１８】本実施例３にかかるコード使用情報のデータ構造の一例を示す図である。
【図１９】本実施例３にかかるコード認証装置の構成を示す機能ブロック図である。
【図２０】本実施例３にかかるコード埋め込み装置の処理を示すフローチャートである。
【図２１】本実施例３にかかるコード認証装置の処理を示すフローチャートである。
【図２２】本実施例４にかかるコード埋め込み装置の構成を示す機能ブロック図である。
【図２３】本実施例４にかかるコード埋め込み装置の処理を示すフローチャートである。
【図２４】コード埋め込み装置がコード認証装置からコードの使用可否にかかる情報の要求を受付けた場合の処理を示すフローチャートである。
【図２５】本実施例５にかかるコード埋め込み装置の構成を示す機能ブロック図である。
【図２６】本実施例５にかかる印刷装置が印刷する印刷物の一例を示す図である。
【図２７】本実施例５にかかるコード使用情報のデータ構造の一例を示す図である。
【図２８】本実施例５にかかるコード認証装置の構成を示す機能ブロック図である。
【図２９】本実施例５にかかるコード埋め込み装置の処理を示すフローチャートである。
【図３０】本実施例５にかかるコード認証装置の処理を示すフローチャートである。
【図３１】本実施例６にかかるコード埋め込み装置の構成を示す機能ブロック図である。
【図３２】本実施例６にかかるコード使用情報のデータ構造の一例を示す図である。
【図３３】本実施例６にかかるコード認証装置の構成を示す機能ブロック図である。
【図３４】本実施例６にかかるコード埋め込み装置の処理を示すフローチャートである。
【図３５】本実施例６にかかるコード認証装置の処理を示すフローチャートである。
【図３６】コード埋め込み装置またはコード認証装置の機能を実現するコンピュータの機能ブロック図である。
【符号の説明】
【０２２７】
１０    ネットワーク
２０，６０    入力装置
３０，３５    画像入力装置
４０    印刷装置
５０    表示装置
１００，３００，４００，６００，８００，９００，１１００    コード埋め込み装置
１１０，９１０    コード埋め込み部
１１１    ブロック分割部
１１２    ブロック抽出部
１１３    平均化部
１１４    比較部
１１５    コード形成部
１２０，４１０，６１０，８１０，９４０，１１１０    使用情報管理部
１３０，６２０，８３０，９５０，１１２０    記憶部
１３０ａ，６２０ａ，８３０ａ，９５０ａ，１１２０ａ  コード使用情報
１４０，４３０，６３０，８４０，９６０，１１３０    コード使用情報送信部
１５０    ネットワークインターフェース部
２００，５００，７００，１０００，１２００    コード認証装置
２１０，１０１０    コード抽出処理部
２２０，５１０，７１０，１０３０，１２１０    コード使用情報取得部
２３０    ネットワークインターフェース部
２４０，５２０，７２０，１０４０，１２２０    使用可否判定部
３１０    使用情報更新部
５３０    日時管理部
６４０    使用情報変更部
８２０    使用可否生成部
９２０    ２次元コード生成部
９３０    コード配置部
１０２０    デコード部
１３００    コンピュータ
１３１０    入出力インターフェース装置
１３２０    ネットワークインターフェース装置
１３３０    ＲＡＭ
１３３０ａ  コードデータ
１３３０ｂ  画像データ
１３３０ｃ  コード使用情報
１３４０    ＨＤＤ
１３４０ａ  コード使用情報
１３５０    ＲＯＭ
１３５０ａ  エンコードプログラム
１３５０ｂ  デコードプログラム
１３６０    ＣＰＵ
１３６０ａ  エンコードプロセス
１３６０ｂ  デコードプロセス
【図１】
0004576318.tif 000002
【図２】
0004576318.tif 000003
【図３】
0004576318.tif 000004
【図４】
0004576318.tif 000005
【図５】
0004576318.tif 000006
【図６】
0004576318.tif 000007
【図７】
0004576318.tif 000008
【図８】
0004576318.tif 000009
【図９】
0004576318.tif 000010
【図１０】
0004576318.tif 000011
【図１１】
0004576318.tif 000012
【図１２】
0004576318.tif 000013
【図１３】
0004576318.tif 000014
【図１４】
0004576318.tif 000015
【図１５】
0004576318.tif 000016
【図１６】
0004576318.tif 000017
【図１７】
0004576318.tif 000018
【図１８】
0004576318.tif 000019
【図１９】
0004576318.tif 000020
【図２０】
0004576318.tif 000021
【図２１】
0004576318.tif 000022
【図２２】
0004576318.tif 000023
【図２３】
0004576318.tif 000024
【図２４】
0004576318.tif 000025
【図２５】
0004576318.tif 000026
【図２６】
0004576318.tif 000027
【図２７】
0004576318.tif 000028
【図２８】
0004576318.tif 000029
【図２９】
0004576318.tif 000030
【図３０】
0004576318.tif 000031
【図３１】
0004576318.tif 000032
【図３２】
0004576318.tif 000033
【図３３】
0004576318.tif 000034
【図３４】
0004576318.tif 000035
【図３５】
0004576318.tif 000036
【図３６】
0004576318.tif 000037