(57)【要約】【課題】画像に情報量の大きなデータを格納することができ、さらに、この画像からデータを容易に取り出すことができるエンコード装置、デコード装置、エンコード方法、エンコードプログラムおよびこれらによって生成された印刷物を提供すること。【解決手段】第一のコード生成手段２１はブロックの組合せにおける特徴量の差異を用いてビットを表現して画像データ中にデータを埋め込み、第二のコード生成手段２２はデータを図形パターンの組合せとしてエンコードする。これらの出力結果をコード配置手段２３が重ねて配置することにより、デコードの容易さを損なうことなく、画像データに情報量の大きいデータを格納することを可能にする。【選択図】        図４
2007110448.tif 000002
【特許請求の範囲】
【請求項１】
データが格納された画像を生成するエンコード装置であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手段と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手段と、
前記第１のエンコード手段によりデータが埋め込まれた画像上に前記第２のエンコード手段により生成された図形パターンの組合せを配置する配置手段と
を備えたことを特徴とするエンコード装置。
【請求項２】
画像に格納されたデータを抽出するデコード装置であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて画像に埋め込まれた第１のデータを抽出する第１のデコード手段と、
画像上に配置された図形パターンの組合せから第２のデータを抽出する第２のデコード手段と
を備えたことを特徴とするデコード装置。
【請求項３】
データが格納された画像を生成するエンコード方法であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード工程と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード工程と、
前記第１のエンコード工程によりデータが埋め込まれた画像上に前記第２のエンコード工程により生成された図形パターンの組合せを配置する配置工程と
を含んだことを特徴とするエンコード方法。
【請求項４】
データが格納された画像を生成するエンコードプログラムであって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手順と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手順と、
前記第１のエンコード手順によりデータが埋め込まれた画像上に前記第２のエンコード手順により生成された図形パターンの組合せを配置する配置手順と
をコンピュータに実行させることを特徴とするエンコードプログラム。
【請求項５】
データが格納された画像が印刷された印刷物であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手段と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手段と、
前記第１のエンコード手段によりデータが埋め込まれた画像上に前記第２のエンコード手段により生成された図形パターンの組合せを配置する配置手段と
によって生成された画像が印刷された印刷物。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エンコード装置、デコード装置、エンコード方法、エンコードプログラムおよびこれらによって生成された印刷物に関し、特に、画像に情報量の大きなデータを格納することができ、さらに、この画像からデータを容易に取り出すとことができるエンコード装置、デコード装置、エンコード方法、エンコードプログラムおよびこれらによって生成された印刷物に関する。
【背景技術】
【０００２】
特許文献１や特許文献２に開示されているように、従来、画像データ、音声データに別のデータ（コード等）を埋め込む技術は、偽造の防止、不正使用の防止、付加サービスの提供に応用されている。例えば、特許文献３には、印刷物に埋め込まれた電子透かしを読み取り、特定のＷｅｂページを表示させる方法が開示されている。 
【０００３】
また、特許文献４には、画像を複数のブロックに分割し、隣接ブロックの平均濃度の差を利用して隣接するブロックペアにコード埋め込むエンコード方法が開示されている。コードが埋め込まれた画像は、紙や表示機器等に出力された後、カメラ等の入力装置により入力され、デコード処理が行われる。デコード処理においては、入力画像の隣接ブロックの平均濃度の差から、元のコードがデコードされる。 
【０００４】
この特許文献４に記載されたエンコード／デコード方法では、入力画像の隣接ブロックの平均濃度の差だけを用いてデコードを行うので、デコード処理を高速に行うことができる。このため、このデコード方法に基づくデコーダの携帯機器への実装が進められている。
【０００５】
【特許文献１】米国特許第５６３６２９２号明細書
【特許文献２】特開２０００−２９９７７９号公報
【特許文献３】米国特許第５８４１９７８号明細書
【特許文献４】特開２００４−３４９８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献４に開示されたエンコード方法は、画像に埋め込むことのできるデータの長さが比較的短いという問題がある。これは、十分な読取精度を得るため、画像を分割する際にブロックの大きさを所定の大きさ以上にし、さらに、同じデータを複数回埋め込むためである。
【０００７】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、画像に情報量の大きなデータを格納することができ、さらに、この画像からデータを容易に取り出すことができるエンコード装置、デコード装置、エンコード方法、エンコードプログラムおよびこれらによって生成された印刷物を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明は、データが格納された画像を生成するエンコード装置であって、画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手段と、第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手段と、前記第１のエンコード手段によりデータが埋め込まれた画像上に前記第２のエンコード手段により生成された図形パターンの組合せを配置する配置手段とを備えたことを特徴とする。
【０００９】
また、本発明は、画像に格納されたデータを抽出するデコード装置であって、画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて画像に埋め込まれた第１のデータを抽出する第１のデコード手段と、画像上に配置された図形パターンの組合せから第２のデータを抽出する第２のデコード手段とを備えたことを特徴とする。
【００１０】
また、本発明は、データが格納された画像を生成するエンコード方法であって、画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード工程と、第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード工程と、前記第１のエンコード工程によりデータが埋め込まれた画像上に前記第２のエンコード工程により生成された図形パターンの組合せを配置する配置工程とを含んだことを特徴とする。
【００１１】
また、本発明は、データが格納された画像を生成するエンコードプログラムであって、画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手順と、第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手順と、前記第１のエンコード手順によりデータが埋め込まれた画像上に前記第２のエンコード手順により生成された図形パターンの組合せを配置する配置手順とをコンピュータに実行させることを特徴とする。
【００１２】
また、本発明は、データが格納された画像が印刷された印刷物であって、画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手段と、第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手段と、前記第１のエンコード手段によりデータが埋め込まれた画像上に前記第２のエンコード手段により生成された図形パターンの組合せを配置する配置手段とによって生成された画像が印刷されたことを特徴とする。
【００１３】
これらの発明によれば、ブロックの組合せにおける特徴量の差異を用いてビットを表現して画像データ中に情報を埋め込む手法と、情報を図形パターンの組合せとしてエンコードする手法とを組み合わせて情報を画像データに埋め込むように構成したので、これらの手法の特徴であるデコードの容易さを損なうことなく、情報量の大きい情報を画像データに格納することができる。
【００１４】
また、これらの発明によれば、２種類のデータを画像データに格納することができるので、一方のデータを暗号キーや誤り検出コードとすることにより、画像データに格納するデータの秘匿性や正確性を確保することができる。
【発明の効果】
【００１５】
本発明によれば、ブロックの組合せにおける特徴量の差異を用いてビットを表現して画像データ中にデータを埋め込む手法と、データを図形パターンの組合せとしてエンコードする手法とを組み合わせてデータを画像データに格納するように構成したので、これらの手法の特徴であるデコードの容易さ等を損なうことなく、情報量の大きいデータを画像データに格納することができるという効果を奏する。
【００１６】
また、本発明によれば、２種類のデータを画像データに格納することができるので、一方のデータを暗号キーや誤り検出コードとすることにより、画像データに格納するデータの秘匿性や正確性を確保することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、本発明に係るエンコード装置、デコード装置、エンコード方法、エンコードプログラムおよびこれらによって生成された印刷物の好適な実施の形態を詳細に説明する。
【実施例】
【００１８】
まず、画像データにコードを埋め込むエンコーダについて説明する。ここで例として示すエンコーダは、原画像データに１６ビットコードを８回埋め込み、コードがエンコードされた画像データを生成する。原画像データは、所定のフォーマット（ＪＰＥＧ（Joint Photographic Expert Group）、ＧＩＦ（Graphics 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を変更（大小関係を逆転）する濃度変更処理を行うことによって、コードがエンコードされた画像データ（以下「エンコード済画像データ」という。）を生成し、これを出力する。 
【００３５】
図３は、コード形成部１４５による濃度変更処理を説明するための説明図である。同図に示すように、この濃度変更処理では、Ｄl＜Ｄrとする場合には、（１）式を用いて変更後の左側平均濃度データＤ’lを求め、（２）式を用いて変更後の右側平均濃度データＤ’rを求める。ここで、Ｔは、ペアブロック間でつけるレベル差であり、例えば「３０」といった値である。これにより、濃度変更後においては、左側平均濃度データＤ’lが右側平均濃度データＤ’r未満となり、ビット判定結果が「１」から「０」とされる。 
【００３６】
一方、Ｄl≧Ｄrとする場合には、（３）式を用いて変更後の左側平均濃度データＤ’lを求め、（４）式を用いて変更後の右側平均濃度データＤ’rを求める。これにより、濃度変更後においては、左側平均濃度データＤ’lが右側平均濃度データＤ’r以上となり、ビット判定結果が「０」から「１」とされる。
【００３７】
なお、上記の説明では、平均濃度を特徴量として用いて画像データにコードを埋め込む場合について説明したが、粒状度、彩度、濃度重心、分散等の画像に関する他の特徴量を用いて画像データにコードを埋め込むこともできる。 
【００３８】
また、上記の説明では、ペアブロック間における特徴量の差異を用いてビットを表現する場合について説明したが、ブロックの他の組合せにおける特徴量の差異を用いてビットを表現することもできる。
【００３９】
このように画像データをブロックに分割し、ブロックの組合せにおける特徴量の差異を用いてビットを表現することにより、画像データ中にコードを埋め込むことができる。この方式は、エンコード／デコードにおいて高速フーリエ変換のような複雑な演算処理が不要であるため、低速な情報処理装置を用いて実現することができる。
【００４０】
しかし、ブロックの組合せにおける特徴量は、出力手段、出力媒体および入力手段の特性の影響を受けるため、埋め込んだコードが正確に読み取られない場合がある。たとえば、コードを埋め込んだ画像データを紙に印刷する場合、一定以上の濃度をもったブロックの間では濃度の差異を区別することができなくなる。
【００４１】
このような出力手段等の特性の影響を回避し、埋め込んだコードの読取精度を確保するため、上記の例では、一つの画像データ中に同じコードを８回埋め込んでいる。また、ひとつのブロックのサイズを６４×６４画素サイズと比較的大きくしている。このように、ブロックのサイズを大きくし、同じコードを複数回埋め込むことにより、読取精度が向上するが、反面、埋め込むことができるコードのサイズは小さくなってしまう。
【００４２】
次に、本実施例に係るエンコード方式の原理について説明する。図４は、本実施例に係るエンコード方式の原理を説明するための説明図である。同図に示すように、本実施例に係るエンコード方式では、第一のコード生成手段２１によってコードを埋め込まれた画像データ１３と、第二のコード生成手段２２によって生成されたコード１５とをコード配置手段２３が重ねて配置する。
【００４３】
第一のコード生成手段２１は、上記で説明したエンコーダ１４０に相当し、画像データ１１にコード情報１２を埋め込んで画像データ１３を生成する。既に説明した通り、第一のコード生成手段２１により生成された画像データ１３は、埋め込まれた情報の情報量が少ないものの、容易に情報を取り出すことができる。
【００４４】
また、第一のコード生成手段２１によるエンコードは、画像との関連によって埋め込まれている情報を類推しやすいという利点がある。たとえば、従業員の顔写真の画像データにその従業員の従業員番号を埋め込んだ場合、コードを埋め込んだ画像データが複数存在していても、どの画像データにどの従業員の従業員番号が埋め込まれているのかを画像の内容から容易に類推することができる。
【００４５】
第二のコード生成手段２２は、２次元コードのエンコーダであり、コード情報１４をエンコードして２次元コード１５を生成する。２次元コードは、情報を２次元形状の組合せとしてエンコードするものであり、面積あたりの情報量が多く、容易にデコードできるという特徴がある。しかし、情報が単なる２次元形状の組合せとして表現されるため、エンコード結果からエンコード前の情報が何かを判別することは困難である。
【００４６】
第一のコード生成手段２１によってコードを埋め込まれた画像データ１３と、第二のコード生成手段によって生成された２次元コード１５とを重ねて配置することにより、２つのコード生成手段の備える利点を併せもち、欠点を補足しあったエンコード結果を得ることができる。
【００４７】
すなわち、本実施例に係るエンコード方式では、エンコードされた情報の内容を画像との関連で類推しやすく、情報量が多く、さらに、デコードも容易なエンコード結果を得ることができる。第一のコード生成手段２１では、同じ情報を複数回画像データに埋め込むため、画像データの一部に２次元コードを配置しても情報が読み取れなくなることはない。
【００４８】
なお、第二のコード生成手段２２は、必ずしも２次元コードのエンコーダである必要はなく、バーコード等の１次元コードのエンコーダや、情報を図画としてエンコードするその他のエンコーダを利用することもできる（以下の説明では、第二のコード生成手段２２によってエンコードされて生成されたコードを「２次元コード等」という）。
【００４９】
また、第二のコード生成手段２２によってエンコードする情報は一つである必要はなく、複数の情報を第二のコード生成手段２２によってエンコードし、複数の２次元コード等を画像データ上に配置することもできる。また、複数のコード生成手段のエンコード結果を画像データ上に配置することもできる。
【００５０】
次に、第一のコード生成手段２１によってエンコードする情報と、第二のコード生成手段２２によってエンコードする情報の組合せの例について説明する。本実施例に係るエンコード方式では、２種類の情報をエンコードすることができ、その組合せによって異なる効果を得ることができる。
【００５１】
図５〜８は、本実施例に係るエンコード方式によってエンコードされる情報の組合せの一例を示すサンプル図である。
【００５２】
図５の例では、第一のコード生成手段２１によって従業員番号をエンコードし、第二のコード生成手段２２によって同じ従業員の生年月日をエンコードしている。このように、関連する複数の情報をエンコードして一つの画像データに格納することにより、エンコードにより得られた画像データを多様な用途に利用することが可能になる。
【００５３】
また、情報の提供範囲を制御することもできる。たとえば、第一のコード生成手段２１によってエンコードされた情報のデコード手段を不特定多数に提供し、第二のコード生成手段２２によってエンコードされた情報のデコード手段を特定の者だけに提供することにより、一部の情報は不特定多数によってデコードでき、一部の情報は特定の者よってのみデコードできる画像データを得ることができる。
【００５４】
図６の例では、第一のコード生成手段２１によって従業員番号の前半部をエンコードし、第二のコード生成手段２２によって従業員番号の後半部をエンコードしている。このように、一つの情報を分割してエンコードすることにより、一つのコード生成手段のみではエンコードすることができない大きな情報量をもった情報を画像データに格納することが可能になる。
【００５５】
また、分割して格納された両方の情報がそろわないと元の情報が得られないことから、第三者による不正な情報取得を受けにくいという効果も得られる。
【００５６】
図７の例では、第一のコード生成手段２１によって従業員番号をエンコードし、第二のコード生成手段２２によっても同じく従業員番号をエンコードしている。このように、同じ情報をエンコードしておき、デコード時に両者が一致することを検査することにより、デコードされた情報が正しいことを確認することが可能になる。
【００５７】
同じ情報を一つの画像データに格納しておくことは、第三者によるデータの不正な改ざんの防止にも有効である。例えば、第二のコード生成手段２２として標準化された２次元コード等を生成するエンコーダを用いた場合、第三者が不正目的をもった２次元コード等を作成し、印刷された画像データの上にそれを貼り付けてデータの改ざんを図る可能性がある。このような場合でも、デコード時に２つの情報が一致することを検査することにより、データの改ざんを検出することができる。
【００５８】
なお、エンコードしたい情報を第二のコード生成手段２２によってエンコードし、その情報の誤りを検出するためのＣＲＣ（Cyclic Redundancy Check）コード等を第一のコード生成手段２１によってエンコードし、デコード時にＣＲＣコード等を用いて情報の誤りを検出するように構成しても上記と同様の効果が得られる。
【００５９】
図８の例では、第一のコード生成手段２１によって暗号キーをエンコードし、この暗号キーを用いて暗号化された情報を第二のコード生成手段２２によってエンコードしている。このように、暗号キーとその暗号キーで暗号化した情報をエンコードすることにより、第三者に対して秘匿化された情報を画像データに格納することができる。この情報は、デコード時に暗号キーを用いて復元化される。
【００６０】
本実施例に係るエンコード方式では、第二のコード生成手段２２によって情報を２次元コード等にエンコードすることにより、大きな情報量をもった情報を画像データに格納することができる。高い情報密度をもつ２次元コード等を生成するエンコード方式は既に標準化されており、第二のコード生成手段２２はこの方式を利用することで容易に実現することができる。
【００６１】
しかし、このように標準化されたエンコード方式を第二のコード生成手段２２に適用すると、画像データに格納した情報が第三者によって容易に取得可能になる。この場合、暗号キーで暗号化した情報を第二のコード生成手段２２でエンコードすることにより、情報を秘匿化することができる。そして、第一のコード生成手段２１が用いるエンコード方式を独自の方式とし、暗号キーを第一のコード生成手段２１でエンコードして同じ画像データ中に格納することにより、特定の者だけが情報を復号化できるようになる。
【００６２】
なお、図６および図８の例において、エンコードされた情報の秘匿性を向上させたい場合は、第一のコード生成手段２１によってデータが埋め込まれた画像データと第二のコード生成手段２２によりエンコードされた２次元コード等を図９のように別個に出力してもよい。図９の例では、商品発注コードの一部を第一のコード生成手段２１を用いてエンコードして証明書に出力し、商品発注コードの残りの部分を第二のコード生成手段２２を用いてエンコードして商品説明書に出力し、２つのデコード結果がそろわなければ完全な商品発注コードが得られないようにしている。
【００６３】
次に、本実施例に係るエンコード方式におけるコードの配置について説明する。図１０〜１１は、本実施例に係るエンコード方式におけるコードの配置の一例を示すサンプル図である。
【００６４】
図１０の例では、第二のコード生成手段２２のエンコード結果である２次元コード等を第一のコード生成手段２１のエンコード結果として得られた画像データの周辺部分に配置している。一般的に、画像データにおいては、意味をもつ部分が中央付近に配置されることが多い。そこで、中央付近を避けて画像データの周辺部分に２次元コード等を配置することで画像が元々備えている視覚的な意味を維持することができる。
【００６５】
図１１の例では、２次元コード等を第一のコード生成手段２１のエンコード結果として得られた画像データの階調レベルが低い部分に配置している。隣接ブロックの平均濃度の差を利用して画像データに情報を埋め込む場合、階調変化が激しい部分や画像の読取装置の不感帯である明・暗部分には情報を埋め込みにくい。このような場所に２次元コード等を配置することで、第一のコード生成手段２１によって埋め込まれた情報の読取精度の劣化を回避することができる。
【００６６】
次に、本実施例に係るエンコード装置の構成について説明する。図１２は、本実施例に係るエンコード装置の構成を示す機能ブロック図である。同図に示すように、エンコード装置１００は、画像入力部１１０と、データ入力部１２０と、暗号化部１３０と、エンコーダ１４０と、エンコーダ１５０と、コード配置部１６０と、画像出力部１７０とを有する。
【００６７】
画像入力部１１０は、情報を格納する画像データが入力される入力部である。データ入力部１２０は、画像入力部１１０にて入力された画像データに埋め込むデータが入力される入力部である。データ入力部１２０は、２つのデータの入力を受け付け、一方をエンコーダ１４０に引渡し、もう一方をエンコーダ１５０に引き渡す。
【００６８】
暗号化部１３０は、データを暗号化する処理部である。暗号化部１３０は、データ入力部１２０で入力されたデータの一方を暗号キーとし、もう一方のデータをこの暗号キーを用いて暗号化する。暗号化は、暗号化の指示があった場合におこなわれ、暗号化がおこなわれた場合、エンコーダ１５０には暗号化されたデータが引き渡される。
【００６９】
エンコーダ１４０は、画像入力部１１０にて入力された画像データにデータ入力部１２０から引き渡されたデータを埋め込む処理部であり、第一のコード生成手段２１に相当する。エンコーダ１４０の詳細は、図１で説明した通りである。エンコーダ１５０は、データ入力部１２０から引き渡されたデータを２次元コード等にエンコードする処理部であり、第二のコード生成手段２２に相当する。
【００７０】
コード配置部１６０は、エンコーダ１４０によりデータが埋め込まれた画像データ上にエンコーダ１５０によりエンコードされた２次元コード等を配置する処理部でありコード配置手段２３に相当する。２次元コード等の配置場所は、画像データの視覚的な意味の低下や画像データに埋め込まれたデータの読取精度の低下が発生しない場所が選択される。
【００７１】
画像出力部１７０は、データが埋め込まれ、２次元コード等が配置された画像データを印刷装置や表示装置へ出力する処理部である。
【００７２】
次に、エンコード装置１００から出力された画像データに格納されたデータを読み取るデータ読取装置の構成について説明する。図１３は、本実施例に係るデータ読取装置の構成を示す機能ブロック図である。同図に示すように、データ読取装置２００は、画像入力部２１０と、デコーダ２２０と、デコーダ２３０と、データ出力部２４０と、復号化部２５０とを有する。
【００７３】
画像入力部２１０は、エンコード装置１００から出力された画像データを読み取る装置であり、カメラやスキャナ等からなる。デコーダ２２０は、画像入力部２１０に読み取られた画像データに埋め込まれたデータを抽出する処理部である。デコーダ２３０は、画像入力部２１０に読み取られた画像データ上に配置された２次元コード等をデコードしてデータを抽出する処理部である。
【００７４】
データ出力部２４０は、デコーダ２２０およびデコーダ２３０によって抽出されたデータを出力する処理部である。データ出力部２４０は、必要に応じてこれらのデータを復号化部２５０に引き渡して暗号化を解除し、暗号化が解除された情報を出力する。
【００７５】
なお、上記の例では、画像データに埋め込まれたデータと画像データ上に配置された２次元コード等にエンコードされたデータの両方を読み取る装置の例を示したが、いずれか一方のデータのみを読み取る構成としてもよい。
【００７６】
次に、エンコード装置１００の処理手順について説明する。図１４は、図１２に示したエンコード装置１００の処理手順を示すフローチャートである。
【００７７】
同図に示すように、まず、データ入力部１２０にて第１のデータが入力され（ステップＳ１０１）、第２のデータが入力される（ステップＳ１０２）。また、画像入力部１１０にて画像データが入力される（ステップＳ１０３）。ここで、暗号化が必要な場合は（ステップＳ１０４肯定）、暗号化部１３０にて第１のデータを暗号キーとして第２のデータが暗号化される（ステップＳ１０５）。
【００７８】
そして、エンコーダ１４０にて第１のデータが画像データに埋め込まれ（ステップＳ１０６）、エンコーダ１５０にて第２のデータが２次元コード等にエンコードされる（ステップＳ１０７）。続いて、コード配置部１６０が、２次元コード等を画像データ上のどこに配置するかを判定し（ステップＳ１０８）、実際に配置をおこなう（ステップＳ１０９）。こうして、第１のデータと第２のデータが格納された画像データを画像出力部１７０が出力して処理が完了する（ステップＳ１１０）。
【００７９】
上記実施例で説明したエンコード装置１００の各種の処理は、あらかじめ用意されたエンコードプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図１５をもちいて、エンコードプログラムを実行するコンピュータの一例を説明する。
【００８０】
図１５は、エンコードプログラムを実行するコンピュータを示す機能ブロック図である。このコンピュータ１０００は、ユーザからのデータの入力を受け付ける入力装置１０１０、モニタ１０２０、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取り装置１０３０、各種情報を一時記憶するＲＡＭ（Random Access Memory）１０４０、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース装置１０５０、ＨＤＤ（Hard Disk Drive）１０６０、ＣＰＵ（Central Processing Unit）１０７０および印刷装置１０８０をバス１０９０で接続して構成される。
【００８１】
そして、ＨＤＤ１０６０には、エンコード装置１００の機能と同様の機能を発揮するプログラムであるエンコードプログラム１０６０ａが記憶されている。そして、ＣＰＵ１０７０が、エンコードプログラム１０６０ａをＨＤＤ１０６０から読み出して実行することにより、同プログラムは、エンコードプロセス１０７０ａとして機能するようになる。
【００８２】
エンコードプロセス１０７０ａは、入力装置１０１０や媒体読取り装置１０３０等から入力されたデータをＲＡＭ１０４０にコードデータ１０４０ａや画像データ１０４０ｂとして格納し、このＲＡＭ１０４０に格納されたコードデータ１０４０ａや画像データ１０４０ｂを用いて各種処理を実行する。
【００８３】
なお、上記のエンコードプログラム１０６０ａについては、必ずしもＨＤＤ１０６０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたエンコードプログラム１０６０ａを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）などにエンコードプログラム１０６０ａを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８４】
上述してきたように、本実施例では、ブロックの組合せにおける特徴量の差異を用いてビットを表現して画像データ中にデータを埋め込む手法と、データを図形パターンの組合せとしてエンコードする手法とを組み合わせてデータを画像データに格納するように構成したので、これらの手法の特徴であるデコードの容易さ等を損なうことなく、情報量の大きいデータを画像データに格納することができるという効果を奏する。
【００８５】
また、本発明によれば、２種類のデータを画像データに格納することができるので、一方のデータを暗号キーや誤り検出コードとすることにより、画像データに格納するデータの秘匿性や正確性を確保することができるという効果を奏する。
【００８６】
（付記１）データが格納された画像を生成するエンコード装置であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手段と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手段と、
前記第１のエンコード手段によりデータが埋め込まれた画像上に前記第２のエンコード手段により生成された図形パターンの組合せを配置する配置手段と
を備えたことを特徴とするエンコード装置。
【００８７】
（付記２）前記第１のエンコード手段がデータの一部を画像に埋め込み、前記第２のエンコード手段が前記データの残りの部分をエンコードすることを特徴とする付記１に記載のエンコード装置。
【００８８】
（付記３）前記第１のエンコード手段は、前記第２のエンコード手段がエンコードしたデータの誤りを検出するためのデータを画像に埋め込むことを特徴とする付記１に記載のエンコード装置。
【００８９】
（付記４）前記第１のデータを暗号キーとして前記第２のデータを暗号化する暗号化手段をさらに備え、
前記第２のエンコード手段は、前記暗号化手段によって暗号化された第２のデータをエンコードすることを特徴とする付記１に記載のエンコード装置。
【００９０】
（付記５）前記配置手段は、前記第１のエンコード手段によりデータが埋め込まれた画像の周辺部に第２のエンコード手段により生成された図形パターンの組合せを配置することを特徴とする付記１〜４のいずれか一つに記載のエンコード装置。
【００９１】
（付記６）前記配置手段は、ブロックの組合せにおける特徴量の差に基づいてデータを埋め込むことが困難な部分を画像から選択し、この部分に第２のエンコード手段により生成された図形パターンの組合せを配置することを特徴とする付記１〜４のいずれか一つに記載のエンコード装置。
【００９２】
（付記７）画像に格納されたデータを抽出するデコード装置であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて画像に埋め込まれた第１のデータを抽出する第１のデコード手段と、
画像上に配置された図形パターンの組合せから第２のデータを抽出する第２のデコード手段と
を備えたことを特徴とするデコード装置。
【００９３】
（付記８）前記第１のデータを暗号キーとして前記第２のデータを復号化する復号化手段をさらに備えたことを特徴とする付記７に記載のデコード装置。
【００９４】
（付記９）データが格納された画像を生成するエンコード方法であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード工程と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード工程と、
前記第１のエンコード工程によりデータが埋め込まれた画像上に前記第２のエンコード工程により生成された図形パターンの組合せを配置する配置工程と
を含んだことを特徴とするエンコード方法。
【００９５】
（付記１０）データが格納された画像を生成するエンコードプログラムであって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手順と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手順と、
前記第１のエンコード手順によりデータが埋め込まれた画像上に前記第２のエンコード手順により生成された図形パターンの組合せを配置する配置手順と
をコンピュータに実行させることを特徴とするエンコードプログラム。
【００９６】
（付記１１）データが格納された画像が印刷された印刷物であって、
画像を複数のブロックに分割し、ブロックの組合せにおける特徴量の差に基づいて第１のデータを画像に埋め込む第１のエンコード手段と、
第２のデータを図形パターンの組合せとしてエンコードする第２のエンコード手段と、
前記第１のエンコード手段によりデータが埋め込まれた画像上に前記第２のエンコード手段により生成された図形パターンの組合せを配置する配置手段と
によって生成された画像が印刷された印刷物。
【産業上の利用可能性】
【００９７】
以上のように、本発明に係るエンコード装置、デコード装置、エンコード方法、エンコードプログラムおよびこれらによって生成された印刷物は、画像へのデータの格納と取り出しに有用であり、特に、画像に情報量の大きなデータを格納することができ、さらに、この画像からデータを容易に取り出すことが必要な場合に適している。
【図面の簡単な説明】
【００９８】
【図１】画像にコードを埋め込むエンコーダの構成を示す機能ブロック図である。
【図２】ブロック分割画像データの一例を示す図である。
【図３】コード形成部による濃度変更処理を説明するための説明図である。
【図４】本実施例に係るエンコード方式の原理を説明するための説明図である。
【図５】本実施例に係るエンコード方式によってエンコードされる情報の組合せの一例を示すサンプル図である。
【図６】本実施例に係るエンコード方式によってエンコードされる情報の組合せの一例を示すサンプル図である。
【図７】本実施例に係るエンコード方式によってエンコードされる情報の組合せの一例を示すサンプル図である。
【図８】本実施例に係るエンコード方式によってエンコードされる情報の組合せの一例を示すサンプル図である。
【図９】第１のコードと第２のコードを別個に出力した場合の一例を示すサンプル図である。
【図１０】本実施例に係るエンコード方式におけるコードの配置の一例を示すサンプル図である。
【図１１】本実施例に係るエンコード方式におけるコードの配置の一例を示すサンプル図である。
【図１２】本実施例に係るエンコード装置の構成を示す機能ブロック図である。
【図１３】本実施例に係るデータ読取装置の構成を示す機能ブロック図である。
【図１４】図１２に示したエンコード装置の処理手順を示すフローチャートである。
【図１５】エンコードプログラムを実行するコンピュータを示す機能ブロック図である。
【符号の説明】
【００９９】
１１    画像データ
１２    コード情報
１３    画像データ
１４    コード情報
１５    ２次元コード
１６    画像データ
２１    第一のコード生成手段
２２    第二のコード生成手段
２３    コード配置手段
１００    エンコード装置
１１０    画像入力部
１２０    データ入力部
１３０    暗号化部
１４０    エンコーダ
１４１    ブロック分割部
１４２    ブロック抽出部
１４３    平均化部
１４４    比較部
１４５    コード形成部
１５０    エンコーダ
１６０    コード配置部
１７０    画像出力部
２００    データ読取装置
２１０    画像入力部
２２０    デコーダ
２３０    デコーダ
２４０    データ出力部
２５０    復号化部
１０００    コンピュータ
１０１０    入力装置
１０２０    モニタ
１０３０    媒体読取り装置
１０４０    ＲＡＭ
１０４０ａ  コードデータ
１０４０ｂ  画像データ
１０５０    ネットワークインターフェース装置
１０６０    ＨＤＤ
１０６０ａ  エンコードプログラム
１０７０    ＣＰＵ
１０７０ａ  エンコードプロセス
１０８０    印刷装置
１０９０    バス
【図１】
2007110448.tif 000003
【図２】
2007110448.tif 000004
【図３】
2007110448.tif 000005
【図４】
2007110448.tif 000006
【図５】
2007110448.tif 000007
【図６】
2007110448.tif 000008
【図７】
2007110448.tif 000009
【図８】
2007110448.tif 000010
【図９】
2007110448.tif 000011
【図１０】
2007110448.tif 000012
【図１１】
2007110448.tif 000013
【図１２】
2007110448.tif 000014
【図１３】
2007110448.tif 000015
【図１４】
2007110448.tif 000016
【図１５】
2007110448.tif 000017