(57)【特許請求の範囲】
【請求項１】
画像に情報を埋め込む画像処理方法において、
該画像を予め定められた数のブロックに分割し、
該ブロックから該画像の特徴量を読み出す読出手段のアパーチャ径に基づいて定められた領域であるブロックコアの特徴量を抽出し、
該ブロックの大きさと該ブロックコアの大きさとを比較し、
該ブロックが、該ブロックコアよりも大きい場合、該ブロックの特徴量を変更し、
該ブロックが、該ブロックコアよりも小さい場合、エラーを出力することを特徴とする画像処理方法。
【請求項２】
画像に情報を埋め込む画像処理装置を制御する制御プログラムであって、
該画像処理装置に、
該画像を予め定められた数のブロックに分割し、
該ブロックから該画像の特徴量を読み出す読出手段のアパーチャ径に基づいて定められた領域であるブロックコアの特徴量を抽出し、
該ブロックの大きさと該ブロックコアの大きさとを比較し、
該ブロックが該ブロックコアよりも大きい場合、該ブロックの特徴量を変更し、
該ブロックが、該ブロックコアよりも小さい場合、エラーを出力する、
処理を実行させることを特徴とする制御プログラム。
【請求項３】
画像に情報を埋め込む画像処理装置において、
該画像を予め定められた数のブロックに分割する分割手段と、
該ブロックから該画像の特徴量を読み出すアパーチャ径に基づいて定められた領域であるブロックコアの特徴量を抽出する抽出手段と、
該ブロックの大きさと該ブロックコアの大きさとを比較し、該ブロックが該ブロックコアよりも大きい場合、該ブロックの特徴量を変更し、該ブロックが、該ブロックコアよりも小さい場合、エラーを出力する決定手段と、
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に情報を埋め込む画像処理方法、制御プログラム及び画像処理装置に関する。
【背景技術】
【０００２】
偽造の防止、不正使用の防止または付加サービスなどを提供するため、印刷画像やデジタルデータ等に、人間の目では認識できない情報を埋め込む技術の開発が進められている。情報が埋め込まれた画像は、権利主張やユーザインタフェースのために用いられている。当該技術によって、印刷画像に著作者名や複製履歴等の情報を埋め込むことができ、情報漏洩や複製等を防止することができる。また、印刷画像に情報をコード化して埋め込むことができる。そして、携帯情報端末に備えられたカメラ等の入力デバイスによって画像からコードを取得し、インターネットにアクセスしたりすることができる。
【０００３】
画像にコードを埋め込む方法の一つとして、例えば、画像を予め定められた数のブロックに分割し、当該ブロックの予め定められた領域における当該画像の特徴量と、埋め込む情報に基づいて、当該ブロックの特徴量を変更するものがある。当該方法では、入力デバイスによるデコードの実行を可能とするために、画像を予め定められた数のブロックに分割しておく必要がある。
【０００４】
ここで、小さな画像にコードを埋め込もうとすると、分割するブロックの数は予め定められているので、ブロックの大きさを小さくしなければならない。一方、入力デバイスは、画素の分解能を表すアパーチャと呼ばれる特性を有する。アパーチャの大きさは入力デバイスと、当該入力デバイスから撮像対象までの距離によって決まる。そのため、小さな画像にコードを埋め込むと、入力デバイスの読取限界から、デコードの際にコードが埋め込まれている領域以外の領域も読んでしまい、情報を正しく読み出せなくなる。
【０００５】
先行技術文献としては、下記のものがある。
【特許文献１】特開２００４−３４９８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、画像処理をしようとする画像のサイズが正常に情報を埋め込めるか否かを判定することである。
【課題を解決するための手段】
【０００７】
本発明は、画像に情報を埋め込む画像処理方法において、該画像を予め定められた数のブロックに分割し、該ブロックから該画像の特徴量を読み出す読出手段の読出特性に基づいて定められた領域であるブロックコアの特徴量を抽出し、該ブロックと該ブロックコアとを所定の単位に基づいて比較し、比較した結果に基づいて、該ブロックの特徴量を該情報に基づいて変更するか否かを決定することを特徴とする。
【０００８】
また、本発明は、該所定の単位に基づく比較は、該ブロックの大きさと、該ブロックコアの大きさとを比較することを特徴とする。
【０００９】
また、本発明は、該ブロックが、該ブロックコアよりも大きい場合、該ブロックの特徴量を変更することを決定することを特徴とする。
【００１０】
また、本発明は、該ブロックが、該ブロックコアよりも小さい場合、該ブロックの特徴量を変更しないことを決定し、エラーを出力することを特徴とする。
【００１１】
また、本発明は、該所定の単位に基づく比較は、該ブロックの数と、該画像を予め定めた大きさのブロックコアの大きさで割った該ブロックコアの数とを比較することを特徴とする。
【００１２】
また、本発明は、該ブロックの数が該ブロックコアの数よりも多い場合、該ブロックの特徴量を変更することを決定することを特徴とする。
【００１３】
また、本発明は、該ブロックの数が該ブロックコアの数よりも少ない場合、該ブロックの特徴量を変更しないことを決定し、エラーを出力することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ブロックと、当該ブロックから特徴量を読み出す読出手段の特性に基づいて定められた領域であるブロックコアとを所定の単位に基づいて比較することにより、当該ブロックの特徴量を変更するか否かを決定する。そのため、画像サイズが小さくなって、ブロックコアがブロックよりも大きくなってしまった場合は、エラーを出力することで、正常に情報を埋め込めないと判定することができる。
【発明を実施するための最良の形態】
【００１５】
図１は、画像処理装置であるエンコーダ１００の構成を表す機能ブロック図である。エンコーダ１００は、ブロック分割手段１１０、ブロック抽出手段１２０、平均化手段１３０、レジスタ１４０ｒ、１４０ｌ、比較手段１５０、ブロックサイズ判定手段１６０及びエンコード手段１７０を有する。エンコーダ１００の各構成要素は、図示しない制御手段を介して相互接続されているものとする。
【００１６】
ブロック分割手段１１０は、入力された原画像Ｉ０をＮ行×Ｍ行のブロックに分割する。本実施形態においては、例えば、入力された原画像を４８行×３８列のブロックに分割する。そして、ブロック分割手段１１０は、ブロックに分割したデータをブロック分割画像Ｉ１として出力する。図２は、原画像Ｉ０の一例を表す。図３は、原画像Ｉ０に埋め込まれるコードＣの一例を表す。
【００１７】
原画像Ｉ０は、所定の画像形式に基づいて生成された画像である。本実施形態における原画像Ｉ０の大きさは、例えば、横２５２画素×縦３１８画素である。なお、原画像Ｉ０の画像形式としては、例えば、ビットマップ（ＢＭＰ：Ｂｉｔ  Ｍａｐ）形式、ティフ（ＴＩＦＦ：Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）形式等のように解像度情報を持っている画像形式である必要がある。
【００１８】
図４は、ブロック分割画像Ｉ１を表す。ブロック分割画像Ｉ１は、ブロックＢl11、Ｂr11、・・・Ｂl119、Ｂr119、・・・Ｂl21、Ｂr21、・・・Ｂl4819、Ｂr4819という１８２４（４８行×３８列）ブロックから構成されている。ブロック分割画像Ｉ１において、ペアブロックに１ビットのコードが埋め込まれる。ここで、ペアブロックとは隣接する２つのブロックのことを表す。具体的には、ペアブロックは、ブロックＢl11及びＢr11、ブロックＢl12及びＢr12、・・・、ブロックＢl21及びＢr21、・・・、ブロックＢl21及びＢr21、・・・ブロックＢl481及びＢr481、・・・、ブロックＢl4819及びＢr4819という２つのブロックから構成されている。
【００１９】
ここで、ペアブロックの一方のブロックＢlxyにおいて、添え字ｌ（ｌｅｆｔ）は、ペアブロックにおいて左側のブロックであることを表す。添え字ｘは、行（Ｎ）を表す。また、添え字ｙは、列（Ｍ）を表す。他方、ペアブロックのブロックＢrxyにおいて、添え字ｒ（ｒｉｇｈｔ）は、ペアブロックにおいて右側のブロックであることを表す。添え字ｘは、行（Ｎ）を表す。また、添え字ｙは、列（Ｍ）を表す。
【００２０】
ペアブロックにおいて、左側のブロックＢlxyにおける特徴量として平均濃度を左側平均濃度データＤlとし、右側のブロックＢrxyの平均濃度（特徴量）を右側平均濃度データＤrとする。ここで、平均濃度とは、ブロック内の各画像の平均階調を表す。
【００２１】
ここで、以下の関係式のように、左側平均濃度データＤlが右側平均濃度データＤr未満である場合、ペアブロックは、１ビット分のコードとして「０」を表す。一方、左側平均濃度データＤlが右側平均濃度データＤr以上である場合、ペアブロックは１ビット分のコードとして「１」を表す。
【００２２】
Ｄl＜Ｄr→「０」
Ｄl≧Ｄr→「１」
例えば、図４に表したブロックＢl119及びＢr119からなるペアブロックは、左辺平均濃度データＤl119が「１１５」、右辺平均濃度データＤr119が「１２５」であるため、１ビット分のコードとして「０」を表す。また、ブロックＢl219及びＢr219からなるペアブロックは、左辺平均濃度データＤl219が「１２５」、右辺平均濃度データＤr219が「１１５」であるため、１ビット分のコードとして「１」を表す。
【００２３】
ブロック分割画像Ｉ１は、１行あたり、１９のペアブロックが存在するため、１行は１９ビット分のコードを表す。従って、ブロック分割画像Ｉ１全体である４８行では、９１２ビット分のコードを表す。
【００２４】
（抽出手段）
図１の説明に戻る。ブロック抽出手段１２０は、ブロック分割画像Ｉ１からペアブロックをコードＣのビットシフトに追従させて抽出する。そして、ブロック抽出手段１２０は、ブロックＢlxy及びＢrxyのそれぞれのブロックコアにおける濃度分布を平均濃度データＤとして順次出力する。ここで、コードＣのビットシフトとは、図３に表したコードＣの最左側ビットである１から右側ビットである０へ向けて、ビットのポインタ（図示略）を右側へ１ビットずつシフトさせることをいう。例えば、一連のコードが「１０１」である場合には、ポインタを「１」から右側に、「０」、「１」とシフトさせる。なお、ブロックコアとは、ブロックから特徴量を抽出する範囲である。ブロックコアの詳細については後述する。
【００２５】
また、ブロック抽出手段１２０は、ブロック分割画像Ｉ１のブロックの大きさを算出する。そして、ブロック抽出手段１２０は、算出結果をブロックサイズデータとしてブロックサイズ判定手段１６０に出力する。例えば、原画像Ｉ０の大きさが横２５２画素×縦３１８画素で、この原画像Ｉ０を図４に表すように横に３８ブロック、縦に４８ブロックに分割した場合を想定する。この場合、ブロックの横の大きさは、６．６３（２５２／３８）画素となり、ブロックの縦の大きさは６．３３（３１８／４８）画素となる。
【００２６】
平均化手段１３０は、平均濃度データＤから、ブロックＢlxyのブロックコアにおける左側平均濃度データＤlと、ブロックＢrxyのブロックコアにおける右側平均濃度データＤrとを求める。そして、平均化手段１３０は、これらをレジスタ１４０ｌ及び１４０ｒにコードＣのビットシフトに追従させて順次格納する。
【００２７】
比較手段１５０は、コードＣのｎビット目と、レジスタ１４０ｌ及びレジスタ１４０ｒに格納されている左側平均濃度データＤl及び右側平均濃度データＤrの大小関係から決定されるビット判定結果とを比較する。
【００２８】
ブロックサイズ判定手段１６０は、原画像Ｉ０の解像度及び入力デバイスのアパーチャ径を基にしてブロックコアの大きさを算出する。アパーチャとは、例えば、携帯電話やデジタルカメラ等の読出手段の画素の分解能を表す特性である。本実施形態においては、例えば、原画像Ｉ０の解像度が３５０ｄｐｉで、入力デバイスのアパーチャ径の大きさが０．４１ｍｍ四方とすると、ブロックコアの大きさは、５．６５（０．４１＊３５０／２５．４）画素となる。ただし、アパーチャ径の大きさは入力デバイスによって変わる。
【００２９】
そして、ブロックサイズ判定手段１６０は、ブロック抽出手段１２０から取得するブロックの大きさとブロックコアの大きさとを比較し、ブロックの大きさがブロックコアの大きさよりも大きいか否かを判定する。
【００３０】
ブロックの大きさがブロックコアの大きさよりも大きい場合には、ブロックサイズ判定手段１６０は、ブロックコアの大きさの情報をエンコード手段１７０に出力する。一方、ブロックの大きさがブロックコアの大きさ以下の場合には、ブロックサイズ判定手段１６０は、エラーを出力する。この場合、原画像Ｉ０に対するコードの埋め込み処理は終了する。本実施形態に表す例では、ブロックの大きさが６．６３画素×６．６３画素であり、ブロックコアの大きさが５．６５画素×５．６５画素であるため、埋め込み処理は順次実行される。
【００３１】
エンコード手段１７０は、比較手段１５０の比較結果に基づいて、ブロック分割画像Ｉ１（原画像Ｉ０）にコードを埋め込むための処理を実行する。具体的には、エンコード手段１７０は、比較手段１５０の比較結果が一致である場合、左側のブロックＢlxyの濃度データと、右側のブロックＢrxyの濃度データとの大小関係を維持する。一方、エンコード手段１７０は、比較手段１５０による比較結果が不一致である場合、コードＣのビットを表す大小関係となるように、左側のブロックＢlxyの濃度データと、右側のブロックＢrxyの濃度データとの大小関係を逆転させる。
【００３２】
特徴量の操作について具体的に説明する。（左側のブロックＢlxyの濃度データ）＜（右側のブロックＢrxyの濃度データ）とする場合、エンコード手段１７０は以下の式に基づいて特徴量を操作する。
【００３３】
D´lxy＝（Ｄlxy＋Ｄrxy）／２−Ｔ／２
D´rxy＝（Ｄlxy＋Ｄrxy）／２＋Ｔ／２
ここで、Ｄlxyは、特徴量操作前の左側ブロックのブロックコア平均濃度データを表す。Ｄrxyは、特徴量操作前の右側ブロックのブロックコア平均濃度データを表す。D´lxyは、特徴量操作後の左側ブロックの平均濃度データを表す。D´rxyは、特徴量操作後の右側ブロックの平均濃度データを表す。Ｔは、一定値を表す。Ｔを設定することによって、左側ブロックの平均濃度データと右側ブロックの平均濃度データに差をつけることができる。特徴量操作後の左側ブロックの平均濃度データは、特徴量操作前の左側ブロックのブロックコア平均濃度データと特徴量操作前の右側ブロックのブロックコア平均濃度データとの平均値から一定値を引いた値になる。一方、特徴量操作後の右側ブロックの平均濃度データは、特徴量操作前の左側ブロックのブロックコア平均濃度データと特徴量操作前の右側ブロックのブロックコア平均濃度データとの平均値に一定値を足した値になる。
【００３４】
（左側のブロックＢlxyの濃度データ）≧（右側のブロックＢrxyの濃度データ）とする場合、エンコード手段１７０は以下の式に基づいて特徴量を操作する。
【００３５】
D´lxy＝（Ｄlxy＋Ｄrxy）／２＋Ｔ／２
D´rxy＝（Ｄlxy＋Ｄrxy）／２−Ｔ／２
特徴量操作後の左側ブロックの平均濃度データは、特徴量操作前の左側ブロックのブロックコア平均濃度データと特徴量操作前の右側ブロックのブロックコア平均濃度データとの平均値に一定値を足した値になる。一方、特徴量操作後の右側ブロックの平均濃度データは、特徴量操作前の左側ブロックのブロックコア平均濃度データと特徴量操作前の右側ブロックのブロックコア平均濃度データとの平均値から一定値を引いた値になる。
【００３６】
なお、エンコード手段１７０は、ブロック内の中央部が濃度が大きくなるように、そして、ブロックの中心部から周辺部に向かうにつれて濃度が小さくなるように、平均濃度データを変更する。これによれば、画像の劣化を防ぐことができる。図５は、エンコード手段１７０の処理を説明するための図である。同図に表すように、ブロック２０のサイズはＷ×ｈ、ブロックコア２２のサイズはＷＣ×ＷＣである。本実施形態においては、ブロック２０のサイズは、６．６３画素×６．６３画素であるが、エンコード手段１７０が特徴量を操作する領域は、ブロックコア２２の大きさ５．６５画素×５．６５画素となる。
【００３７】
エンコード手段１７０は、上記処理を実行して、ブロック分割画像Ｉ１にコードを埋め込んだ画像コード化データＩ３を生成し、生成した画像コード化データＩ３を出力する。図６は、画像コード化データＩ３の一例を表す図である。画像コード化データＩ３は、原画像Ｉ０及びブロック分割画像Ｉ１に対応している。ブロック分割画像Ｉ１は、９９２（１９×４８）のペアブロックを有するため、１６ビットのコードが約６２回埋め込まれる。埋め込まれたコードは、デコーダによって読み取られる。そして、デコーダは読み取ったコードの各ビットの値の多数決を取り、埋め込まれたコードを決定する。このように、同一のコードを複数埋め込んでおくことで、デコーダが多数決処理によって埋め込まれたコードを決定することができ、デコーダの読み出し性能を向上させることができる。
【００３８】
次に、本実施形態におけるエンコーダ１００の処理について図７及び図８を用いて説明する。
【００３９】
図７のステップＳ１０１において、比較手段１５０はコードＣを取得する。処理はステップＳ１０２へ移行する。
【００４０】
ステップＳ１０２において、比較手段１５０は、初期値としてｎを１とする。ここで、ｎはコードＣのビットのポインタを表す。ｎ＝１とは、コードＣの最左側のビット「１」に対応する。処理はステップＳ１０３へ移行する。
【００４１】
ステップＳ１０３において、ブロック分割手段１１０は、原画像Ｉ０を取得する。処理はステップＳ１０４へ移行する。
【００４２】
ステップＳ１０４において、ブロック分割手段１１０は、原画像Ｉ０を分割し、ブロック分割画像Ｉ１を生成する。本実施形態においては、ブロック分割手段１１０は、原画像Ｉ０を４８×３８に分割した分割画像Ｉ１を生成する。これによれば、分割するブロックの数を一定にしておくことで、デコーダが原画像Ｉ０にブロックがいくつ含まれているかを認識することができる。また、分割するブロックの数を一定にしておくことで、デコーダがコードの多数決処理に用いることができる情報量を一定に維持することができる。さらに、ブロック分割手段１１０は、分割画像Ｉ１をブロック抽出手段１２０に出力する。処理はステップＳ１０５へ移行する。
【００４３】
ステップＳ１０５において、ブロック抽出手段１２０は、原画像Ｉ０の大きさに基づいて、ブロックの大きさを算出する。本実施形態においては、上述したようにブロックの横の大きさは６．６３画素、縦の大きさは６．６３画素となる。処理はステップＳ１０６へ移行する。
【００４４】
ステップＳ１０６において、ブロックサイズ判定手段１６０は、アパーチャ径の大きさに基づいて、ブロックコアの大きさを算出する。本実施形態においては、上述したようにブロックコアの大きさは、縦に５．６５画素、横に５．６５画素となる。なお、アパーチャ径の大きさは予め分かっているので、ブロックコアの大きさを予め算出しておいても良い。処理はステップＳ１０７へ移行する。
【００４５】
ステップＳ１０７において、ブロックサイズ判定手段１６０は、ステップＳ１０５において算出されたブロックの大きさと、ブロックコアの大きさとを比較することにより、ブロックがコアブロックよりも大きいか否かを判定する。ここでは、ブロックとブロックコアを比較する所定の単位としてブロック及びブロックコアの大きさを用いる。ブロックの大きさが、ブロックコアの大きさよりも大きい場合、処理はステップＳ１０９へ移行する。一方、ブロックの大きさがブロックコアの大きさよりも小さい場合、処理はステップＳ１０８へ移行する。ステップＳ１０８において、ブロックサイズ判定手段１６０は、エラーを出力し、処理は終了する。これによれば、ブロックサイズがブロックコアよりも小さいブロックにコードを埋め込むことを避けることができる。その結果、デコード時に、意図しないコードが読み出されてしまうことを防ぐことができる。
【００４６】
ステップＳ１０９において、ブロック抽出手段１２０は、ブロック分割画像Ｉ１からｎに対応するペアブロックを抽出した後、それぞれのブロックのブロックコアにおける濃度分布を平均濃度データＤとして平均化手段１３０に出力する。なお、一巡目はｎ＝１であり、ブロック抽出手段１２０は、ブロックＢl11及びＢr11のそれぞれのブロックコアにおける濃度分布を平均濃度データＤとして平均化手段１３０に出力する。以下、具体例としてｎ＝１の場合について説明する。処理はステップＳ１１０へ移行する。
【００４７】
ステップＳ１１０において、平均化手段１３０は、平均化処理により、平均濃度データＤから、ブロックＢl11に対応する左側のブロックのブロックコア平均濃度データＤl11とブロックＢr11に対応する右側のブロックのブロックコア平均濃度データＤr11を求める。処理はステップＳ１１１へ移行する。
【００４８】
ステップＳ１１１において、平均化手段１３０は、左側のブロックのブロックコア平均濃度データＤl11をレジスタ１４０ｌに格納し、右側のブロックのブロックコア平均濃度データＤr11をレジスタ１４０ｒに格納する。処理はステップＳ１１２へ移行する。
【００４９】
ステップＳ１１２において、比較手段１５０は、レジスタ１４０ｌ、レジスタ１４０ｒに格納されているブロックコア平均濃度データＤl11及びブロックコア平均濃度データＤr11の濃度差を求め、この濃度の大小関係からビット判定を行う。処理は図８のステップＳ１１３へ移行する。
【００５０】
図８のステップＳ１１３において、比較手段１５０は、コードＣのｎビット目とビット判定結果が同一か否かを判定する。コードＣのｎビット目とビット判定結果が同一でない場合は、処理はステップＳ１１４へ移行する。一方、コードＣのｎビット目とビット判定結果が同一である場合は、処理はステップＳ１１５へ移行する。ステップＳ１１４において、エンコード手段１７０は濃度変換処理を実行する。エンコード手段１７０は、ブロックコア平均濃度データＤlxyとブロックコア平均濃度データＤrxyとの大小関係に基づくビット判定結果が、コードＣのｎビット目と同一となるように、左側のブロックＢlxyの濃度データと右側のブロックＢrxyの濃度データを変更する濃度変換処理を実行する。ここで、濃度変換処理とは、左側のブロックＢlxyの濃度データと右側のブロックＢrxyの濃度データとの大小関係を逆転させる処理のことである。
【００５１】
ステップＳ１１５において、比較手段１５０は、ｎをインクリメントする。処理はステップＳ１１６へ移行する。
【００５２】
ステップＳ１１６において、比較手段１５０は、ｎがｎｅｎｄより大きいか否かを判定する。ｎｅｎｄは、コードＣのビット数を表しており、本実施形態では、例えば１６である。ｎがｎｅｎｄより大きくない場合は、コードの埋め込みが完了していないため、処理はステップＳ１０９に戻る。そして、ステップＳ１０９において、ブロック抽出手段１２０は、ｎ＋１に対応するペアブロックを抽出した後、それぞれのブロックのブロックコアにおける濃度分布を平均濃度データＤとして平均化手段１３０に出力する。一方、ｎがｎｅｎｄより大きい場合は、コードＣの埋め込みが完了したため、処理はステップＳ１１７に移行する。
【００５３】
ステップＳ１１７において、比較手段１５０は、比較対象となっているブロックが最終ブロックか否かを判定する。比較対象となっているブロックが、最終ブロックである場合は、これ以上コードを埋め込むことができないため、処理はステップＳ１１９へ移行する。一方、比較対象となっているブロックが、最終ブロックでない場合は、処理はステップＳ１１８へ移行する。
【００５４】
ステップＳ１１９において、エンコード手段１７０は、画像コード化データＩ３を出力する。出力された画像コード化データＩ３は、例えば、磁気ディスク装置（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等に格納される。処理は終了する。
【００５５】
ステップＳ１１８において、比較手段１５０はｎに１をセットする。処理はステップＳ１０９に戻り、コードの埋め込み処理を行う。
【００５６】
上述してきたように、本実施形態にかかるエンコーダ１００は、ブロック分割処理部１１０が原画像Ｉ０を複数のブロックに分割する。そして、ブロックサイズ判定手段１６０が、ブロックサイズとブロックコアのサイズとを比較し、ブロックサイズがブロックコアのサイズ以下の場合には、原画像Ｉ０に対するコードの埋め込みを中止する。そのため、デコードが期待できない小さい原画像Ｉ０に誤ってデータを埋め込むことを防止することができる。
【００５７】
図９に、通常の画像におけるブロックコア２６とアパーチャ２８との関係を表す。ここでは、ブロック２４の大きさがｔ×ｔで、ブロックコア２６の大きさがｔ／２×ｔ／２であるとする。これに対して、図１０に、通常の画像の大きさよりも小さい画像におけるブロックコア２６とアパーチャ２８との関係を表す。ここでは、ブロック２５の大きさはｔ´×ｔ´である。ただし、ｔ＞ｔ´である。この場合でも、ブロックコア２６の大きさをｔ´／２×ｔ´／２ではなく、ｔ／２×ｔ／２とする。これによれば、画像の大きさに関わらず、紙面上で一定の大きさの領域において特徴量を変更することによって、データの埋め込みを行うことができる。ゆえに、画像の大きさが小さくなってもデータを埋め込むことができる。
【００５８】
なお、本実施形態では、画像の平均濃度を特徴量として画像にコードを埋め込む場合について説明したがこれに限定されるものではなく、粒状度、彩度、濃度重心または分散などを特徴量として画像に対するコードの埋め込みを実行してもよい。
【００５９】
また、ブロック分割画像上のブロックにおける特徴量を変化させる位置は、ブロック内であればどこでもよく、様々な位置に分散させてもよい。このように、特徴量を変化される位置を分散させることで、より画像劣化の影響を低減させることができる。
【００６０】
また、本実施形態では、ステップＳ１０８において、ブロックの大きさとブロックコアの大きさとを比較しているが、他の構成にすることも考えられる。本実施形態では、画像を分割するブロックの数は一定なので、ブロックの数と画像に含まれるブロックコアの数に基づいて、エラーを出力しても良い。以下、図１１及び図１２を用いて説明する。
【００６１】
図１１のステップＳ２０１において、比較手段１５０はコードＣを取得する。処理はステップＳ２０２へ移行する。
【００６２】
ステップＳ２０２において、比較手段１５０は、初期値としてｎを１とする。ここで、ｎはコードＣのビットのポインタを表す。ｎ＝１とは、コードＣの最左側のビット「１」に対応する。処理はステップＳ２０３へ移行する。
【００６３】
ステップＳ２０３において、ブロック分割手段１１０は、原画像Ｉ０を取得する。処理はステップＳ２０４へ移行する。
【００６４】
ステップＳ２０４において、ブロック分割手段１１０は、原画像Ｉ０の大きさを取得する。処理はステップＳ２０５へ移行する。
【００６５】
ステップＳ２０５において、ブロックサイズ判定手段１６０は、アパーチャ径の大きさに基づいて、ブロックコアの大きさを算出する。なお、ブロックコアの大きさは予め算出されていても良い。処理はステップＳ２０６へ移行する。
【００６６】
ステップＳ２０６において、ブロックサイズ判定手段１６０は、画像処理をしようとする画像の大きさと、ブロックコアの大きさとから、当該画像が含むことのできるブロックコアの数を算出する。具体的には、当該画像を予め定めたブロックコアの大きさで割ることにより、ブロックコアの数を算出する。処理はステップＳ２０７へ移行する。
【００６７】
ステップＳ２０７において、ブロックサイズ判定手段１６０は、ステップＳ２０５において算出されたブロックコアの数と、予め定められたブロックの数とを比較することにより、ブロックコアの数が予め定められたブロックの数よりも多いか否かを判定する。ここでは、ブロックとブロックコアを比較する所定の単位としてブロック及びブロックコアの数を用いる。ブロックコアの数が、予め定められたブロックの数よりも多い場合、処理はステップＳ２０９へ移行する。一方、ブロックコアの数が予め定められたブロックの数よりも少ない場合、処理はステップＳ２０８へ移行する。ステップＳ２０８において、ブロックサイズ判定手段１６０は、エラーを出力し、処理は終了する。ステップＳ２０９以降の処理は、図７及び図８を用いて説明したステップＳ１０９以降の処理と同様なのでその説明を省略する。
【００６８】
また、ステップＳ２０７における処理は、画像の１行目に含まれるブロックの数と、画像の横の長さをブロックコアの横の長さで割った値とを比較しても良い。また、画像の１列目に含まれるブロックの数と、画像の縦の長さをブロックコアの縦の長さで割った値とを比較しても良い。
【００６９】
本実施形態で説明したエンコーダ１００の処理は、あらかじめ用意されたプログラムを情報処理装置で実行することによって実現することができる。そこで、以下では、図１３を用いて、各種処理を実現するプログラムを実行する情報処理装置の一例について説明する。
【００７０】
図１３は、図１に表したエンコーダ１００を構成する情報処理装置０のハードウェア構成を表す図である。情報処理装置０は、ユーザからのデータの入力を受け付ける入力装置３０、モニタ３１、ラム（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３２、ロム（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取装置３４、ネットワークを介して他の情報処理装置との間でデータの授受をおこなうネットワークインターフェース３５、中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６及び、磁気ディスク装置（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３７をバス３８で接続して構成される。
【００７１】
そして、情報処理装置０がエンコーダ１００に対応する場合には、ＨＤＤ３７には、上述したエンコーダ１００の機能と同様の機能を発揮する各種プログラムが記憶されている。そして、ＣＰＵ３６が、各種プログラムをＨＤＤ３７からＲＡＭ３２に読み出して実行することにより、上述したエンコーダ１００が実現される。各種プログラムが実行されることで、図１に表したブロック分割手段１１０、ブロック抽出手段１２０、平均化手段１３０、レジスタ１４０ｌ、１４０ｒ、比較手段１５０、ブロックサイズ判定手段１６０及びエンコード手段１７０が実現される。
【００７２】
各種プログラムは、必ずしも最初からＨＤＤ３７に記憶させておく必要はない。たとえば、情報処理装置０に挿入されるフレキシブルディスク（ＦＤ）、シーディーロム（ＣＤ−ＲＯＭ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（ディーブイディー）ディスク、光磁気ディスク、アイシー（ＩＣ）カードなどの「可搬用の物理媒体」、または、情報処理装置の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、構内通信網（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、広域通信網（ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを介して情報処理装置０に接続される「他の情報処理装置（またはサーバ）」などに各種プログラムを記憶しておき、情報処理装置０がこれらから各種プログラムを読み出して実行するようにしてもよい。
【００７３】
また、エンコーダ１００を、ブロック分割手段１１０、ブロック抽出手段１２０、平均化手段１３０、レジスタ１４０ｌ、１４０ｒ、比較手段１５０、ブロックサイズ判定手段１６０及びエンコード手段１７０を有するハードウェアとして構成しても良い。
【００７４】
（本実施形態の有効性）
最後に本実施形態の有効性について説明する。コードが埋め込まれた画像のデコードには、例えば、携帯電話、デジタルカメラ等の入力デバイスを用いる。入力デバイスは、画素の分解能を表すいわゆるアパーチャと呼ばれる特性を有する。図１４に表すように、アパーチャ２７が大きい、即ち広い範囲を対象とする入力デバイスでは画像がぼけて撮影される。一方、図１５に表すように、アパーチャ２９が小さい、即ち狭い範囲を対象とする入力デバイスでは画像はぼけて撮影されない。ここで、アパーチャ径は、入力デバイスと、当該入力デバイスから撮影対象までの距離によって一意に決まり、撮影対象に依存しない。このため、図１６に表すように、小さい画像にコードの埋め込みを行うと、入力デバイスは埋め込み領域以外の画像を含んでしまう。即ち、アパーチャ４８がブロック４４のブロックコア４６から大きくはみ出してしまい、入力デバイスはブロックコア周囲の画像をノイズとして含んでしまう。その結果、デコードできなくなってしまう。一方、図１７に表すように、通常の大きさの画像にコードの埋め込みを行うと、入力デバイスは埋め込み領域以外の画像を含まない。即ち、アパーチャ４８がブロック４５のブロックコア４６から大きくはみ出ない。
【００７５】
これに対し、本実施形態によれば、画像の大きさに関わらず、紙面上で一定の大きさの領域において特に特徴量を変更することによって、データの埋め込みを行う。ゆえに、画像の大きさが小さくなってもデータを埋め込むことができ、かつ、デコード時に、入力デバイスが特徴量が特に変更されて要る領域以外の画像を含んでしまうことを防ぐことができる。
【００７６】
また、本実施形態によれば、画像サイズはそのままで、ブロックの大きさを小さくすることができる。すなわち、画像に含まれるブロック数を増加させることによって、埋め込むデータ量を増加させることができる。例えば、図１８に表すように、ブロック数が３８×４８の１８２４個であったものが、図１９に表すように５４×６８の３６７２個にすることができる。そのため、データ量も９１２ビットから１８３６ビットに倍増することができる。なお、本実施形態において、ブロックの大きさは、図９及び図１０に表したブロックコアの大きさｔ／２×ｔ／２まで小さくすることができる。ブロックにおいて濃度変更を行う領域の面積の割合は大きくなるが、紙面上において濃度変更を行う領域の面積は一定なので、画像が劣化することはない。
【００７７】
また、上述したようにアパーチャの大きさは、入力デバイスと撮影対象までの距離によって決まるが、入力デバイスは複数の種類のものが使われることが想定される。この場合、使用が想定される入力デバイスのうちアパーチャ径が最大のものに基づいてブロックコアの大きさを決定しても良い。
【００７８】
また、アパーチャの大きさを規定せずに、通常の画像のサイズで実績あるブロックコアと同じサイズのブロックコアを用いても良い。
【図面の簡単な説明】
【００７９】
【図１】本実施形態におけるデコーダの構成を表す図である。
【図２】原画像を表す図である。
【図３】コードを表す図である。
【図４】ブロック分割画像を表す図である。
【図５】ブロックとブロックコアとの関係を表す図である。
【図６】画像コード化データを表す図である。
【図７】本実施形態におけるエンコード処理を表すフローチャート（その１）である。
【図８】本実施形態におけるエンコード処理を表すフローチャート（その２）である。
【図９】アパーチャとブロックコアとの関係を表す図（その１）である。
【図１０】アパーチャとブロックコアとの関係を表す図（その２）である。
【図１１】本実施形態におけるエンコード処理を表すフローチャート（その３）である。
【図１２】本実施形態におけるエンコード処理を表すフローチャート（その４）である。
【図１３】本実施形態における情報処理装置の構成を表す図である。
【図１４】アパーチャを表す図（その１）である。
【図１５】アパーチャを表す図（その２）である。
【図１６】アパーチャとブロックコアとの関係を表す図（その３）である。
【図１７】アパーチャとブロックコアとの関係を表す図（その４）である。
【図１８】原画像とブロックの大きさとの関係を表す図（その１）である。
【図１９】原画像とブロックの大きさとの関係を表す図（その２）である。
【符号の説明】
【００８０】
１００  エンコーダ
１１０  ブロック分割手段
１２０  ブロック抽出手段
１３０  平均化手段
１４０ｌ、１４０ｒ  レジスタ
１５０  比較手段
１６０  ブロックサイズ判定手段
１７０  エンコード手段
２０、２４、２５、４４、４５  ブロック
２２、２６、４６  ブロックコア
２７、２８、２９、４８  アパーチャ
３０  入力装置
３１  モニタ
３２  ＲＡＭ
３３  ＲＯＭ
３４  媒体読取装置
３５  ネットワークインターフェース
３６  ＣＰＵ
３７  磁気ディスク装置
Ｉ０  原画像
Ｉ１  ブロック分割画像
Ｉ３  画像コード化データ
【図１】
0004992678.tif 000002
【図２】
0004992678.tif 000003
【図３】
0004992678.tif 000004
【図４】
0004992678.tif 000005
【図５】
0004992678.tif 000006
【図６】
0004992678.tif 000007
【図７】
0004992678.tif 000008
【図８】
0004992678.tif 000009
【図９】
0004992678.tif 000010
【図１０】
0004992678.tif 000011
【図１１】
0004992678.tif 000012
【図１２】
0004992678.tif 000013
【図１３】
0004992678.tif 000014
【図１４】
0004992678.tif 000015
【図１５】
0004992678.tif 000016
【図１６】
0004992678.tif 000017
【図１７】
0004992678.tif 000018
【図１８】
0004992678.tif 000019
【図１９】
0004992678.tif 000020