【文献】
椎葉 将司、林田 健太、棟安 実治,印刷画像への情報埋め込みにおける情報の埋め込み位置とゲインに関する検討,信学技報,日本,一般社団法人 電子情報通信学会,2016年08月25日
(58)【調査した分野】(Int.Cl.,DB名)
上記ゲイン制御部は、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内であって、上記ゲイン係数が最大値となるように当該ゲイン係数を設定することを特徴とする請求項1に記載の画像生成装置。
上記検査部は、上記第1特徴量ベクトルと、上記第2特徴量ベクトルとの内積が第2範囲内であれば、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内であると判定することを特徴とする請求項1又は2に記載の画像生成装置。
上記第1分割部が上記原画像を分割する分割数は、上記第2分割部が上記原画像を分割する分割数の整数倍であることを特徴とする請求項5又は6に記載の画像生成装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
非特許文献2の技術によると、ロゴマークから抽出される複数の特徴点を示す情報に、予め情報を対応付けておくことで、当該ロゴマークを撮影したユーザ端末に、当該ロゴマークに応じた情報を表示することができる。しかし、ロゴマークから抽出される複数の特徴点を示す情報は、ロゴマークに固有の情報である。このため、非特許文献2の技術によると、同一種類のロゴマークに、異なる情報を対応付けることができない。
【0008】
非特許文献3の技術によると、ロゴマークの種類に関わらず、ロゴマークに埋め込んだデータに基づく情報を、当該ロゴマークを撮影したユーザ端末に表示することができる。しかし、ロゴマークの視認性に影響を与えないようにデータを埋め込む必要があるため、ロゴマークに埋め込めるデータの容量が制限される。
【0009】
ここで、非特許文献3に開示されているようにデータを埋め込んだ原画像(情報付加原画像と称する)から、非特許文献2に開示されている技術に基づいて複数の特徴点を抽出するとする。すると、データを埋め込む前の原画像から抽出した特徴点の個数と、データを埋め込んだ後の情報付加原画像から抽出した特徴点の個数と一致しない場合がある。この場合、データを埋め込んだ後の情報付加原画像から抽出した複数の特徴点を示す情報からは、データを埋め込む前の原画像から抽出される複数の特徴点を示す情報に対応づけられている情報を取得することができない。
【0010】
本発明の一態様は、原画像に固有の情報から得られる情報と、原画像に埋め込まれたデータから得られる情報との少なくとも2種類の情報を取り扱うことが可能な画像を作成する画像生成装置、当該画像を読み取るユーザ端末を実現することを目的とする。
【課題を解決するための手段】
【0011】
上記の課題を解決するために、本発明の一態様に係る画像生成装置は、原画像に、所望の情報を表すデータを埋め込んだ情報付加原画像を作成する画像生成装置であって、上記原画像の複数領域に含まれる特徴点の個数によって構成された第1特徴量ベクトルを作成する特徴量ベクトル作成部と、上記データに掛けるゲイン係数を設定するゲイン制御部と、上記原画像に離散コサイン変換を施すことで得られる周波数領域に、上記設定されたゲイン係数を掛けたデータを埋め込む埋め込み部と、上記データが埋め込まれた上記周波数領域を逆離散コサイン変換することで上記情報付加原画像の候補となる候補画像を作成し、当該候補画像に含まれるエッジに基づいて抽出される複数の特徴点の個数を表す第2特徴量ベクトルを作成し、当該第2特徴量ベクトルが上記第1特徴量ベクトルに対して第1範囲内であるか否かを検査する検査部とを有し、上記ゲイン制御部は、上記検査部の検査結果に基づいて、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内となるように、上記ゲイン係数を設定することを特徴とする。
【0012】
上記構成によると、上記検査部は、上記データが埋め込まれた上記周波数領域を逆離散コサイン変換することで作成した上記候補画像から上記第2特徴量ベクトルを作成する。そして、上記検査部は、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して第1範囲内であるか否かを検査する。
【0013】
そして、上記ゲイン制御部は、上記検査部の検査結果に基づいて、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内となるように、上記ゲイン係数を設定する。これにより、データが埋め込まれたとしても、第2特徴量ベクトルを第1特徴量ベクトルから実質的に変化させずに原画像にデータを埋め込むことができる。このため、原画像に固有の特徴量ベクトルである第1特徴量ベクトルに対応付けられた情報と、原画像に埋め込んだ情報との2種類の情報を扱うことが可能な情報付加原画像を生成することができる。
【0014】
また、上記ゲイン制御部は、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内であって、上記ゲイン係数が最大値となるように当該ゲイン係数を設定してもよい。
【0015】
上記構成によると、原画像に埋め込まれたデータを、ユーザ端末等でより確実に検出することができる。つまり、原画像に埋め込まれたデータの検出エラーの発生確率を抑えつつ、原画像に固有の第1特徴量ベクトルから第2特徴量ベクトルの変化を抑制することができる。
【0016】
また、上記検査部は、上記第1特徴量ベクトルと、上記第2特徴量ベクトルとの内積が第2範囲内であれば、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内であると判定してもよい。
【0017】
上記構成によって、上記検査部は、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して第1範囲内であるか否かを検査することができる。
【0018】
また、さらに、上記原画像を複数の領域に分割する第1分割部を有し、上記特徴量ベクトル作成部は、上記第1分割部が分割した複数の分割領域毎に上記第1特徴量ベクトルの成分を作成し、当該作成した上記第1特徴量ベクトルの成分から上記第1特徴量ベクトルを作成し、上記検査部は、上記候補画像を複数の領域に分割し、当該分割した複数の分割領域毎に上記第2特徴量ベクトルの成分を作成し、当該作成した上記第2特徴量ベクトルの成分から上記第2特徴量ベクトルを作成し、当該作成した上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内であるか否かを検査し、上記ゲイン制御部は、上記検査部の検査結果に基づいて、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内となるように、上記分割領域毎に、上記ゲイン係数を設定してもよい。
【0019】
上記構成によると、上記第1特徴量ベクトルと上記第2特徴量ベクトルとは、何れも、原画像又は候補画像が複数に分割された分割領域それぞれから得られた特徴量の個数を成分として作成されているため、分割されずに特徴量ベクトルが作成された場合と比べて、長さが長い。このため、上記第1特徴量ベクトルは上記原画像に含まれる固有情報をより詳しく表し、上記第2特徴量ベクトルは上記候補画像に含まれる固有情報をより詳しく表している。これにより、上記第2特徴量ベクトルが上記第1特徴量ベクトルに対して上記第1範囲内であるか否かを、より正確に検査することができる。
【0020】
また、さらに、上記原画像を複数の領域に分割する第2分割部を有し、上記埋め込み部は、上記第2分割部が分割した複数の分割領域毎に上記離散コサイン変換を施すことで得られる複数の周波数領域それぞれに、上記分割領域に設定されたゲイン係数を掛けたデータを埋め込み、上記検査部は、上記データが埋め込まれた上記複数の周波数領域それぞれを、上記逆離散コサイン変換して、さらに結合することで、上記候補画像を作成してもよい。上記構成により、第2特徴量ベクトルを得る候補画像を作成することができる。
【0021】
また、上記第2分割部が上記原画像を分割する分割数は、上記第1分割部が上記原画像を分割する分割数より少なくてもよい。上記構成により、データを埋め込む分割領域の面積を広く確保することができるため、容易にデータを埋め込むことができる。
【0022】
また、上記第1分割部が上記原画像を分割する分割数は、上記第2分割部が上記原画像を分割する分割数の整数倍であってもよい。
【0023】
上記構成によると、候補画像全体の固有情報を表す第2特徴量ベクトルが、第1特徴量ベクトルから変化することを抑制し、かつ、候補画像の分割領域毎に最適なゲイン係数を設定することが可能である。
【0024】
上記の課題を解決するために、本発明の一態様に係るユーザ端末は、原画像の周波数領域に情報を表すデータが埋め込まれた情報付加原画像を読み取る読取部と、上記情報付加原画像に含まれるエッジに基づいて抽出される複数の特徴点の個数を表す第2特徴量ベクトルを作成する特徴量ベクトル作成部と、上記情報付加原画像から上記データを抽出する抽出部と、上記第2特徴量ベクトルと上記データとをサーバに送信し、上記原画像と上記データとの組み合わせに対応した複合情報を上記サーバから取得する通信部とを備えることを特徴とする。
【0025】
上記構成によると、ユーザ端末は、情報付加原画像を読み取ることで得られる、第2特徴量ベクトルと、情報付加原画像に埋め込まれたデータとの2種類の情報を組み合わせた複合情報を扱うことができる。
【0026】
また、上記通信部は、上記複合情報として、上記原画像に対応したサイトアドレスと、上記データに対応したサブパスとを取得してもよい。上記構成により、サイトアドレスとサブパスとを組み合わせたアドレスのサイトへアクセスすることができる。
【0027】
上記の課題を解決するために、本発明の一態様に係るユーザ端末は、原画像の周波数領域に、上記原画像の特徴量を表すデータが埋め込まれた情報付加原画像を読み取る読取部と、上記情報付加原画像に含まれるエッジに基づいて抽出される複数の特徴点の個数を表す第2特徴量ベクトルを作成する特徴量ベクトル作成部と、上記情報付加原画像から上記データを抽出する抽出部とを備え、上記第2特徴量ベクトルの一部が、上記データの一部と一致しない場合、上記読取部は、読み取り条件を変更して上記情報付加原画像を再度読み取ることを特徴とする。
【0028】
上記構成によると、上記読取部は、情報付加原画像を読み取ることで得られる第2特徴量ベクトルと、情報付加原画像に埋め込まれたデータとの2種類の情報から、第2特徴量ベクトルを読み取った読取条件が最適か否かを判断することが可能である。
【0029】
上記の課題を解決するために、本発明の一態様に係るユーザ端末は、原画像の周波数領域に情報を表すデータが埋め込まれた情報付加原画像を読み取る読取部と、上記情報付加原画像に含まれるエッジに基づいて抽出される複数の特徴点の個数を表す第2特徴量ベクトルを作成する特徴量ベクトル作成部と、上記情報付加原画像から上記データを抽出する抽出部と、上記第2特徴量ベクトルと上記データとの組み合わせを、上記情報付加原画像の画像IDとして用いる画像管理部とを備えることを特徴とする。
【0030】
上記構成によると、ユーザ端末は、情報付加原画像を読み取ることで得られる第2特徴量ベクトルと、情報付加原画像に埋め込まれたデータとの2種類の情報を組み合わせて、上記情報付加原画像の画像IDを得ることができる。これにより、上記情報付加原画像の各種情報を管理することができる。
【0031】
上記の課題を解決するために、本発明の一態様に係るユーザ端末は、原画像の周波数領域に情報を表すデータが埋め込まれた情報付加原画像を読み取る読取部と、上記情報付加原画像に含まれるエッジに基づいて抽出される複数の特徴点の個数を表す第2特徴量ベクトルを作成する特徴量ベクトル作成部と、上記第2特徴量ベクトルをサーバに送信し、上記第2特徴量ベクトルに対応する上記原画像を取得する通信部と、上記情報付加原画像から上記原画像に係数を掛けたものを減算することで、上記情報付加原画像から上記データを抽出する抽出部とを備えることを特徴とする。
【0032】
上記構成によると、ユーザ端末は、情報付加原画像を読み取ることで得られる第2特徴量ベクトルと、情報付加原画像に埋め込まれたデータとの2種類の情報を取り扱うことが可能である。すなわち、上記通信部は、第2特徴量ベクトルに基づいて原画像を取得し、上記抽出部は、上記情報付加原画像から上記原画像に係数を掛けたものを減算することで上記情報付加原画像に埋め込まれたデータを抽出することができる。
【発明の効果】
【0033】
本発明の一態様によれば、原画像に固有の情報から得られる情報と、原画像に埋め込まれたデータから得られる情報との少なくとも2種類の情報を取り扱うことが可能な画像を作成する画像生成装置、当該画像を読み取るユーザ端末を実現することができるという効果を奏する。
【発明を実施するための形態】
【0035】
〔実施形態1〕
以下、本発明の一実施形態について、詳細に説明する。
【0036】
(画像生成装置10の構成)
図1は実施形態1の画像生成装置10の構成を表すブロック図である。画像生成装置10が生成する画像である情報付加原画像は、データを埋め込む前の原画像に固有の情報に基づいて得られる情報と、埋め込まれたデータに基づいて得られる情報との少なくとも2種類の情報を取り扱うことが可能な画像である。
【0037】
画像生成装置10は、原画像取得部11と、前処理部12と、第1分割部13と、特徴点カウント部14と、特徴量ベクトル作成部15と、第2分割部21と、埋め込み情報取得部22と、符号作成部23と、ゲイン制御部24と、埋め込み部25と、検査部26と、情報付加原画像作成部27とを有する。なお、画像生成装置10は、ユーザからの指示入力を受け付ける入力部(入力デバイス)、及び、各種の画像を表示するディスプレイ等を有していてもよい。また、画像生成装置10は、データベース(サーバ)30と通信可能に構成されていてもよい。
【0038】
前処理部12、第1分割部13、特徴点カウント部14及び特徴量ベクトル作成部15は、取得した原画像から、当該原画像を識別するための特徴量ベクトルを作成するブロックである。
【0039】
第2分割部21、埋め込み情報取得部22、符号作成部23、ゲイン制御部24、埋め込み部25、検査部26及び情報付加原画像作成部27は、原画像の特徴量ベクトルを極力変化させないようにしつつ、所望の情報を表示するデータを原画像に埋め込んだ情報付加原画像を作成するブロックである。
【0040】
データベース30には、後述する特徴量ベクトル作成方法によって画像生成装置10によって生成された特徴量ベクトル(第1特徴量ベクトル)と、当該特徴量ベクトル(第1特徴量ベクトル)に対応付けられたデータが記憶される。その他、データベース30に種々のデータが記憶されていてもよい。
【0041】
(特徴量ベクトル作成方法)
次に、主に、
図1〜
図5を用いて、画像生成装置10において、所望の原画像から特徴量ベクトルを作成方法について説明する。なお、原画像とは、データが埋め込まれる前の画像である。
【0042】
図2は、実施形態1に係る画像生成装置10が特徴量ベクトルを作成する流れを表すフローチャートである。
【0043】
ステップS11において、原画像取得部11は、画像生成装置10又は外部の装置が撮影した原画像を取得すると、原画像が所定の解像度となるようにリサイズする。
【0044】
図3は、実施形態1に係る画像生成装置10の原画像取得部11がリサイズした原画像の一例である原画像2Dを表す図である。
【0045】
ステップS11において原画像取得部11は、取得した原画像をリサイズするにあたり、まず、当該取得した原画像の端(枠線又は複数の角)を検出して、当該取得した原画像が所定の形状(例えば四角形)となるように形状を成形する。そして、形状を成形した原画像を所定の解像度(例えば、600×600[pixel])となるように原画像をリサイズする。
【0046】
次いで、ステップS12において、前処理部12は、原画像取得部11によってリサイズされた原画像2Dから輝度成分(例えば、YCbCr色空間におけるY成分)を抽出する。
【0047】
そして、ステップS13において、前処理部12は、輝度成分を抽出した原画像2Dをフィルタ処理することで画像をぼかす。この前処理部12が原画の画像データをぼかすのは、原画像にデータを埋め込んだ情報付加原画像をカメラなどで撮影した撮影画像を想定して、当該撮影画像に画質を合せるためである。
【0048】
また、ステップS13において、前処理部12は、輝度成分を抽出した原画像2Dをぼかすだけではく、ノイズ成分を除去するフィルタ処理を行ったり、抽出した輝度成分を所定のスケール(例えば最小値が0で最大値が255等)となるよう正規化したりする前処理を行ってもよい。この前処理は、必要な処理を適宜設定すればよい。
【0049】
次に、ステップS14にて、第1分割部13は、前処理部12がぼかした原画像2Dを、複数のブロックである分割領域に分割する(第1分割と称する場合がある)。
【0050】
図4は、第1分割部13が分割した原画像2Aの一例を表す図である。
図4に示す例では、原画像を4×4(縦×横)に分割した様子を表している。すなわち、
図4に示す例では、第1分割された原画像2Aは、分割領域A1、分割領域A2、分割領域A3、・・・分割領域A16のように16個の分割領域を有する。
【0051】
なお、原画像2Aの分割数は16分割に限定されず、2×2(4分割)、3×3(9分割)、又は5×5(25分割)以上の分割数であってもよい。
【0052】
ここで、第1分割部13は、特徴量ベクトルを抽出するために原画像を分割する。この特徴量ベクトルは、原画像の分割数が多い程、特徴量ベクトルの長さが長くなり、特徴量ベクトルを特定しやすくなる。これにより、特徴量ベクトルの誤検出を抑制できる可能性が高くなるため、分割数が多い方が好ましい。
【0053】
次に、ステップS15において、特徴点カウント部14は、第1分割部13が分割した原画像2Aの分割領域A1、A2、A3・・・A16毎に特徴点を抽出し、分割領域A1、A2、A3・・・A16毎に抽出した特徴点の個数をカウントする。特徴点カウント部14は、原画像2Aに含まれるエッジに基づいて、分割領域毎に複数の特徴点を抽出する。特徴点カウント部14がカウントした分割領域毎の特徴点の個数が、特徴量ベクトル(第1特徴量ベクトル)の成分となる。
【0054】
特徴点カウント部14が、A1、A2、A3・・・A16毎に特徴点を抽出するアルゴリズムとしては、例えば、AKAZE(Accelerated KAZE)を用いることができる。
【0055】
なお、この分割領域毎の特徴点を抽出するアルゴリズムとしては、AKAZE以外にも、例えば、KAZE、SIFT、SURF、ORB、BRISK、MSER、GFTT、AGST、FAST、SD、HSV等、種々のアルゴリズムを用いることができる。
【0056】
KAZE及びAKAZEは、非線形拡散フィルタを用いて、画像上のノイズを消し、エッジ部分を残した状態で平滑化処理し、エッジの特徴点を抽出するアルゴリズムである。また、AKAZEは、KAZEを高速化したアルゴリズムである。
【0057】
上記で例示したアルゴリズムのうち、特に、AKAZEを用いることが好ましい。これは、特徴量ベクトルと、データベースに登録した特徴量ベクトルとの正答率(一致する確率)を検査した場合、上述したアルゴリズム毎に算出した場合KAZE及びAKAZEから抽出した特徴点に基づいて作成した特徴量ベクトルを用いた方が、他のアルゴリズムを用いた場合よりも正答率が高く、さらに、KAZEよりもAKAZEの方が高速な処理が可能であるためである。すなわち、AKAZEを用いることで、原画像を正確に、かつ、高速で識別することが可能であるためである。
【0058】
そして、
図1及び
図2に示すように、ステップS16において、特徴量ベクトル作成部15は、特徴点カウント部14によってカウントされた分割領域A1、A2、A3・・・A16毎の特徴点の個数に基づいて特徴量ベクトル(第1特徴量ベクトル)を作成する。
【0059】
図5は、特徴量ベクトルの一例を表す図である。特徴量ベクトルは、当該特徴量ベクトルを抽出した原画像の複数領域に含まれる特徴点の個数によって構成されたベクトルである。特徴量ベクトルは、原画像に対応して固有の特徴量ベクトルが作成される。
【0060】
図5では、1枚の原画像を16分割した際の、第1分割領域から特徴点が11個抽出され、第2分割領域から特徴点が11個抽出され、第3分割領域から特徴点が15個抽出され、・・・、第15分割領域から特徴点が23個抽出され、第16分割領域から特徴点が21個抽出された例を表している。
【0061】
第1分割領域、第2分割領域、第3分割領域、・・・、第15分割領域、第16分割領域それぞれの特徴点の個数を並べたベクトルである(11、11、15、・・・、23、21)が特徴量ベクトルであり、各分割領域の特徴点の個数それぞれが特徴量ベクトルの成分である。
【0062】
そして、
図1及び
図2に示すように、ステップS17において、特徴量ベクトル作成部15は、作成した特徴量ベクトルをデータベース30に記憶すると共に、検査部26へ出力することでフィードバックする。特徴量ベクトル作成部15が検査部26に特徴量ベクトルをフィードバックするのは、後述するように、画像生成装置10において、特徴量ベクトルを考慮しつつ、原画像2D(
図3)にデータを埋め込むためである。
【0063】
(データの埋め込み)
次に、主に、
図1、
図6〜
図10を用いて、画像生成装置10において、情報付加原画像を作成する方法について説明する。なお、情報付加原画像とは、原画像に、所望の情報を表示するためのデータを埋め込んだ画像のことである。本実施形態では、データの埋め込み方法として拡散方式を用いるものとして説明する。
【0064】
図6は、実施形態1に係る画像生成装置10が情報付加原画像を作成する流れを表すフローチャートである。
【0065】
ステップS21において、第2分割部21は、原画像取得部11によってリサイズされた原画像2D(
図3)から輝度成分を抽出し、当該輝度成分を抽出した原画像2Dを、複数のブロックである分割領域に分割する(第2分割と称する場合がある)。
【0066】
図7は、第2分割部21が分割した原画像2Bの一例を表す図である。
図7に示す例では、原画像を2×2(縦×横)に分割した様子を表している。すなわち、
図7に示す例では、第2分割された原画像2Bは、分割領域B1、分割領域B2、分割領域B3、及び、分割領域B4のように4個の分割領域を有する。
【0067】
なお、原画像2Bの分割数は4分割に限定されず、3×3(9分割)以上の分割数であってもよい。また、第2分割部21が原画像を分割せずに、後述するようにデータを原画像2Dに埋め込んでもよい。ただし、原画像2Dを分割して各分割領域にデータを埋め込んだ方が、分割せずにデータを埋め込んだ場合よりも、埋め込んだデータの量を増やせるため好ましい。
【0068】
ここで、第2分割部21は、原画像2Dにデータを埋め込むために、原画像2Dを分割する。このため、第2分割部21が原画像2Dを分割する分割数は、第1分割部13が原画像2Dを分割する分割数より少ないことが好ましい。
【0069】
これは、原画像2Dの分割数が少ない方が、各分割領域の面積が大きくなり、各分割領域にデータを埋め込みやすいためである。つまり、より誤検出され難くデータを埋め込むことができるためである。
【0070】
また、第2分割部21は、第1分割部13が第1分割を行った原画像の分割領域の境界が重なるように、原画像を第2分割する必要がある。換言すると、第1分割部13が原画像2Dを分割する分割数は、第2分割部21が原画像2Dを分割する分割数の整数倍である必要がある。
【0071】
図4に示す例において第1分割時に原画像を16分割しているので、
図7に示す例において第2分割時に4分割している。
【0072】
これは、後述するように、画像生成装置10は、データを埋め込む前の原画像の特徴量ベクトル(第1特徴量ベクトル)に対して、データを埋め込んだ後の原画像の特徴量ベクトル(第2特徴量ベクトル)が極力変化しないように、分割領域毎に、データを埋め込む際のゲイン係数を調整するためである。
【0073】
次に、ステップS22において、符号作成部23は、埋め込み情報取得部22が入力部を通じて取得した埋め込みたい情報を表すビット列を有するデータを、符号を用いて符号化し、所定の情報ビット列を有する埋め込み列を生成する。符号作成部23が用いる符号としては、例えば、Walsh符号、拡散符号等を用いることができる。
【0074】
なお、符号作成部23は、例えば、埋め込みたい情報のデータ量が小さくても(例えば、1[bit])、ある程度の耐性を持たせるために、データ量を大きくして(例えば、16[bit])符号化することが好ましい。
【0075】
次に、ステップS23において、ゲイン制御部24は、符号作成部23によって符号化されたデータ(埋め込み列)に掛けるためのゲイン係数の値を設定する。このステップS23においてゲイン制御部24が設定するゲイン係数の値は、ゲイン係数の調整を開始する初期値である。当該初期値は、ユーザ等によって予めゲイン制御部24に設定されていてもよいし、データの埋め込みを行う際に入力部を介してユーザによって入力されてもよい。
【0076】
そして、ステップS24において、埋め込み部25は、原画像が分割された分割領域毎(分割領域B1、分割領域B2、分割領域B3及び分割領域B4(
図7))にDCT(離散コサイン変換:discrete cosine transform)を施した周波数領域毎に、データを埋め込む。埋め込み部25がデータを埋め込む方法としては、例えば、拡散方式等を用いることができる。
【0077】
埋め込み部25は、原画像が分割された複数の分割領域毎に、DCTを行うことでDCT係数を算出し、符号作成部23が作成した符号化されたデータである埋め込み列に、ゲイン制御部24が設定したゲイン係数を掛けて、データを埋め込む位置のDCT係数に加える。これにより、1つの分割領域に対するデータの埋め込みが完了する。埋め込み部25は、複数に分割された分割領域毎にデータの埋め込みを行う。
【0078】
埋め込み部25が行うデータの埋め込みを式で表すと以下の(式1)のように表現することができる。
【0079】
D
+=D+W×gain (式1)
D:データを埋め込みたい領域のDCT係数
W:埋め込み列
gain:ゲイン係数
D
+:データ埋め込み後のDCT係数
図8は、分割領域をDCT変換してデータを埋め込んだ周波数領域を表す図である。
図8中において、四角形の周波数領域40のうち、左上の角近傍は低周波数領域42、右下の角近傍は高周波数領域44を表し、低周波数領域42と高周波数領域44との間の真中の領域は中間周波数領域43を表す。
【0080】
図8に示す例では、埋め込み部25は、符号化されてゲイン係数が掛けられた埋め込みデータ45(換言すると埋め込み列W)を、中間周波数領域43に埋め込んでいる。また、
図8に示す例では、低周波数領域42の角から高周波数領域44の角への対角線を埋め込み基準線41とし、当該埋め込み基準線41に沿って、埋め込みデータ45を3列のデータ系列として埋め込んでいる。
【0081】
また、
図8の例では、埋め込みデータ45における3列の埋め込み列のうち、中央の系列は埋め込む基準線41上に配置し、左右の2つの系列は高周波成分を低周波側に移動させて配置している。これは、埋め込みデータ45を、例えば、ユーザ端末などで撮影した場合に、その撮影画像が幾何学的に変形しても、埋め込みデータ45を誤認識する確率を減らす(つまり、幾何学的変形に対する耐性を上げる)ためである。
【0082】
図9は、分割された原画像2Bにおける分割領域毎に、DCTを施し埋め込みデータを埋め込んだ様子を表す図である。
図9に示すように、埋め込み部25は、第2分割した分割領域B1、分割領域B2、分割領域B3及び分割領域B4(
図7)毎に、DCTを施して、埋め込みデータ45(
図8)を埋め込む。
【0083】
なお、埋め込み部25が、第2分割した分割領域B1、分割領域B2、分割領域B3及び分割領域B4(
図7)毎に埋め込む埋め込みデータ45は、分割領域毎に同じ情報を表すデータであってもよいし、異なる情報を表すデータであってもよい。
【0084】
次いで、ステップS25において、検査部26は、埋め込みデータ45が埋め込まれた各周波数領域40(
図8、
図9)それぞれに逆DCT(逆離散コサイン変換)を施し、さらに、逆DCTを施した各分割領域を結合することで、作成したい情報付加原画像の候補となる候補画像を作成する。
【0085】
次いで、ステップS26において、検査部26は、作成した候補画像に含まれる特徴量ベクトル(第2特徴量ベクトル)を抽出する。このステップS26において検査部26が候補画像から第2特徴量ベクトルを抽出する方法は、ステップS14〜S16において原画像から、特徴点カウント部14及び特徴量ベクトル作成部15が第1特徴量ベクトルを抽出した方法と同様である。
【0086】
具体的には、ステップS26において、検査部26は、候補画像を、ステップS14において原画像を分割した分割数と同じ分割数に分割(第1分割)する。例えば、
図4に示した例のように候補画像を16分割する。
【0087】
次に、検査部26は、候補画像の分割領域毎に特徴点を抽出し、当該分割領域毎に抽出した特徴点の個数をカウントする。なお、ここで検査部26が特徴点抽出のために用いるアルゴリズムは、ステップS15において特徴点カウント部14が用いたアルゴリズム(例えば、AKAZE)と同じアルゴリズムを用いる。そして、検査部26は、カウントした分割領域毎に抽出した特徴点の個数(第2特徴量ベクトルの成分)に基づいて特徴量ベクトル(第2特徴量ベクトル)を作成する。なお、ステップS13で原画像をぼかしたように、ステップS26においても、特徴量ベクトル(第2特徴量ベクトル)を作成するための候補画像をぼかしてから特徴量ベクトル(第2特徴量ベクトル)を作成してもよい。
【0088】
次いで、ステップS27・S28において、検査部26は、第2特徴量ベクトルが、特徴量ベクトル作成部15からフィードバックされた第1特徴量ベクトルに対して第1範囲内か否かを検査する。
【0089】
具体的な例としては、ステップS27において、検査部26は、第2特徴量ベクトルと、特徴量ベクトル作成部15からフィードバックされた第1特徴量ベクトルとの内積を算出する。
【0090】
そして、ステップS28において、検査部26は、第2特徴量ベクトルと、第1特徴量ベクトルとの内積が第2範囲内であるか否かを判定する。これにより、検査部26は、埋め込みデータ45(
図8)の埋め込みに際して用いられたゲイン係数が所定範囲内であったか否かを検査する。
【0091】
ここで、2つの特徴量ベクトルが全く同一(第1特徴量ベクトル=第2特徴量ベクトル)のとき、第1特徴量ベクトルと第2特徴量ベクトルとの内積は、第1特徴量ベクトルの絶対値の2乗になる。例えば、「第1特徴量ベクトルと第2特徴量ベクトルとの内積」を「第1特徴量ベクトルの絶対値と第2特徴量ベクトルの絶対値との積」で割った値が第2範囲内であれば、検査部26は、第2特徴量ベクトルが第1特徴量ベクトルに対して第1範囲内であると判定する。第2範囲は、例えば1以下の範囲(例えば、0.9〜1.0)である。なお、特徴量ベクトル同士(第1特徴量ベクトル及び第2特徴量ベクトル)が変化しているか否かを確認する方法として内積を演算する方法以外に、相関値を用いる方法やユークリッド距離を計算する方法を用いることができる。
【0092】
ステップS28において、検査部26は、第1特徴量ベクトルと第2特徴量ベクトルとの内積が第2範囲内であると判定すると(ステップS28のYES)、ゲイン係数の値をさらに大きくすることができる可能性があると判定する。
【0093】
そして、ステップS29において、検査部26はゲイン制御部24にゲイン係数の値を上げるように指示し、ゲイン制御部24は、ゲイン係数の値を上げる。そして、ステップS24の処理へ戻る。すなわち、埋め込み部25は、ゲイン制御部24が値を上げたゲイン係数を符号化されたデータに掛けて、DCTを施した各分割領域に埋め込む。そしてステップS25以降の処理へ進む。
【0094】
一方、ステップS28において、検査部26は、第1特徴量ベクトルと第2特徴量ベクトルとの内積が第2範囲を越えたと判定すると(ステップS28のNO)、ゲイン係数の値は最大値を越えたと判定する。
【0095】
すると、ステップS30において、検査部26は、第1特徴量ベクトルと第2特徴量ベクトルとの内積が第2範囲外となる1つ前に用いていたゲイン係数の値が、許容されるゲイン係数の値の最大値であると判定し、当該ゲイン係数の値を、情報付加原画像を作成するためのゲイン係数の値として確定する。
【0096】
次いで、ステップS31において、情報付加原画像作成部27は、検査部26が確定したゲイン係数の値を用いて作成された候補画像を情報付加原画像として作成する。
【0097】
図10は、画像生成装置10が作成した情報付加原画像2D
+を表す図である。情報付加原画像2D
+は、各種のディスプレイに表示されてもよいし、印刷物として印刷されてもよい。
【0098】
(画像生成装置10による主な作用効果)
図7〜
図9、及び(式1)に示したように、各分割領域B1、分割領域B2、分割領域B3及び分割領域B4(
図7)に埋め込まれた埋め込みデータ45は、符号化されたデータにゲイン係数が掛けられている。
【0099】
このゲイン係数の値が小さすぎると埋め込まれたデータを、ユーザ端末等で読み込む際に検出できない可能性がある。このため、ゲイン係数はある程度大きな値に設定する必要がある。
【0100】
一方、ゲイン係数の値が大きくなると、画質にほとんど影響を及ぼさない場合であっても、データを埋め込んだ後の情報付加原画像を分割した分割領域毎に抽出される特徴点の個数と、データを埋め込む前の原画像を分割した分割領域毎に抽出される特徴点の個数とが異なる場合がある。
【0101】
そして、データを埋め込んだ前後の原画像それぞれから作成した特徴量ベクトルが異なってしまうと、データを埋め込む前の原画像の特徴量ベクトル(第1特徴量ベクトル)に対応付けていた情報を、データを埋め込んだ後と情報付加原画像の特徴量ベクトル(第2特徴量ベクトル)からは得られなくなる場合がある。
【0102】
このように、原画像に固有の特徴量ベクトル(第1特徴量ベクトル)又は情報付加原画像に固有の特徴量ベクトル(第2特徴量ベクトル)に対応付けられた情報と、原画像に埋め込んだデータから得られる情報との少なくとも2種類の情報を扱うためには、ゲイン係数の値が、原画像の画質に影響が及んでいるかどうかを評価するだけでは足りない。これは、1つの情報付加原画像において、特徴量ベクトルから得られる情報と、原画像に埋め込むデータから得られる情報との2種類の情報を扱うことを検討するに至ってこそ生じる課題である。
【0103】
そこで、上述のように、画像生成装置10によると、特徴点カウント部14及び特徴量ベクトル作成部15が原画像から抽出する第1特徴量ベクトルとはまた別に、検査部26が、符号化されたデータが埋め込まれた周波数領域40(
図8、
図9)を逆DCTすることで作成した候補画像から、第2特徴量ベクトルを作成する。
【0104】
そして、検査部26は、第2特徴量ベクトルが第1特徴量ベクトルに対して第1所定範囲内であるか否かを検査する。
【0105】
具体的な例としては、検査部26は、第2特徴量ベクトルと、第1特徴量ベクトルとの内積を算出する。
【0106】
そして、検査部26は、第2特徴量ベクトルと、第1特徴量ベクトルとの内積が第2範囲内であるか否かを判定する。これにより、検査部26は、埋め込みデータ45(
図8)の埋め込みに際して用いられたゲイン係数が所定範囲内であったか否かを検査する。
【0107】
そして、ゲイン制御部24は、検査部26の検査結果に基づいて、第2特徴量ベクトルが第1特徴量ベクトルに対して所定の範囲内となるように、ゲイン係数を設定する。
【0108】
これにより、データが埋め込まれたとしても、第2特徴量ベクトルを第1特徴量ベクトルから実質的に変化させずに(換言すると、特徴量ベクトルの変化を許容される範囲内に抑えて)、最適な値のゲイン係数を設定しつつ、原画像にデータを埋め込むことができる。このため、画像生成装置10によると、原画像に固有の特徴量ベクトルである第1特徴量ベクトルに対応付けられた情報と、原画像に埋め込んだデータから得られる情報との少なくとも2種類の情報を扱うことが可能な情報付加原画像D
+を生成することができる。
【0109】
なお、情報付加原画像D
+から生成される第2特徴量ベクトルに基づいて得られる情報を第1情報と称し、情報付加原画像D
+に埋め込まれたデータに基づいて得られる情報を第2情報と称する。第1情報には、第2特徴量ベクトルに基づいて特定された第1特徴量ベクトルに対応付けられている情報も含むものとする。
【0110】
上述の例では、第1情報は、原画像に固有の情報である第1特徴量ベクトルに対応づけられているため、例えば異なる位置に取り付けられた同じ原画像それぞれからは、同じ第1情報が得られる。そして、第1情報を表すデータをデータベース30に記憶しておけばよいため、比較的容量が大きい情報を表示することができる。ただし、第1情報は、原画像に固有の情報である第1特徴量ベクトルに対応づけられているため、同じ原画像間で異なる内容を表示する第1情報を対応付けることはできない。
【0111】
一方、第2情報は、原画像に任意に埋め込むデータから得られるため、例えば異なる位置に取り付けられた同じ原画像であっても、それぞれの原画像から異なる内容の第2情報を得ることができる。ただし、第2情報は、原画像に埋め込んだデータから得られる情報であるため、容量が大きい情報を表示することができない。
【0112】
そこで、画像生成装置10が生成する情報付加原画像D
+によると、第1情報と第2情報とを組み合わせて取り扱うことができるため、第1情報と第2情報とのそれぞれのメリットを得ることができる。
【0113】
つまり、情報付加原画像D
+によると、情報付加原画像D
+を読み込んだユーザ端末は、第1特徴量ベクトルと同一とみなせる範囲の第2特徴量ベクトルを得ることができる。そして、この第2特徴量ベクトルから、情報付加原画像D
+にデータが埋め込まれる前の原画像から得られた第1特徴量ベクトルを特定することができる。なお、この第1特徴量ベクトルと第2特徴量ベクトルとが同一とみなせる範囲とは、第2特徴量ベクトルが第1特徴量ベクトルに対して第1範囲内である場合である。
【0114】
この第2特徴量ベクトルから第1特徴量ベクトルを得る方法としては、例えば、データベース30に記憶されている第1特徴量ベクトルのうち、ユーザ端末で得た第2特徴量ベクトルとの内積が第2範囲内のものを特定すればよい。
【0115】
そして、情報付加原画像D
+に埋め込まれたデータから、第1情報とは異なる第2情報をユーザ端末(ユーザが情報付加原画像D
+の読み取りに使用する端末)側で得ることができる。
【0116】
第1情報及び第2情報の一例としては、例えば、原画像が種々の電気製品を製造する企業のロゴマークを表している場合、第1情報としてこの企業に関する情報を表示するデータを対応づけておく。一方、第2情報として、情報付加原画像D
+が取り付けられる対象物(例えば、冷蔵庫、洗濯機、テレビ等)に応じた情報を表示するデータを対応付けておく。
【0117】
これにより、同じロゴマークを表す情報付加原画像D
+であっても、情報付加原画像D
+が取り付けられた対象物に応じて異なる情報を表示することができる。
【0118】
なお、第1情報と第2情報との組み合わせ態様は、上述した一例以外にも種々の態様が考えられる。この他の態様のいくつかの例を、
図11及び
図12を用いてユーザ端末の説明と共に説明する。
【0119】
また、画像生成装置10では、ステップS28、S29(
図6)のように、ゲイン制御部24は、第2特徴量ベクトルが第1特徴量ベクトルに対して第1範囲内であって、ゲイン係数が最大値となるようにゲイン係数を設定する。これにより、原画像に埋め込まれたデータを、ユーザ端末等でより確実に検出することができる。つまり、原画像に埋め込まれたデータの検出エラーの発生確率を抑えつつ、原画像に固有の第1特徴量ベクトルから第2特徴量ベクトルの変化を抑制することができる。
【0120】
また、ステップS14〜S16(
図2)において、第1分割部13が原画像を複数の領域に分割(第1分割)し、特徴点カウント部14が分割領域毎に特徴点を抽出及びカウントすることで第1特徴量ベクトルの成分を作成し、特徴量ベクトル作成部15が当該作成された第1特徴量ベクトルの成分から第1特徴量ベクトルを作成する。
【0121】
そして、ステップS26(
図6)において、検査部26は、候補画像を複数の領域に分割(第1分割)し、当該分割した複数の分割領域毎に第2特徴量ベクトルの成分を作成し、当該作成した第2特徴量ベクトルの成分から第2特徴量ベクトルを作成する。
【0122】
さらに、ステップS27において、検査部26は、ステップS26を経て作成した第2特徴量ベクトルが、ステップS14〜S16を経て作成された第1特徴量ベクトルに対して第1範囲内であるか否かを検査する。そして、ゲイン制御部24は、検査部26の検査結果に基づいて、第2特徴量ベクトルが第1特徴量ベクトルに対して第1範囲内となるように、分割領域毎に、ゲイン係数を設定する。
【0123】
このように、第1特徴量ベクトルと第2特徴量ベクトルとは、何れも、原画像又は候補画像が複数に分割された分割領域それぞれから得られた特徴量の個数を成分として作成されているため、分割されずに特徴量ベクトルが作成された場合と比べて、長さが長い。このため、第1特徴量ベクトルは原画像に含まれる固有情報をより詳しく表し、第2特徴量ベクトルは候補画像に含まれる固有情報をより詳しく表している。これにより、検査部26は、第2特徴量ベクトルが第1特徴量ベクトルに対して第1範囲内であるか否かを、より正確に判定することができる。
【0124】
また、ステップS21において、第2分割部21は、原画像を複数の領域に分割(第2分割)する。
【0125】
そして、ステップS24において、埋め込み部25は、第2分割部21が分割した複数の分割領域毎にDCTを施すことで得られる複数の周波数領域40(
図8、
図9)それぞれに、分割領域に設定されたゲイン係数を掛けたデータを埋め込む。
【0126】
そして、ステップS25において、検査部26は、データが埋め込まれた複数の周波数領域40それぞれを、逆DCTして、さらに結合することで、候補画像を作成する。このようにして、第2特徴量ベクトルを得る候補画像を得ることができる。
【0127】
また、ステップS21(
図6)において第1分割部13が原画像を分割する分割数は、ステップS14(
図2)において第2分割部21が原画像を分割する分割数の整数倍である。
【0128】
これにより、候補画像全体の固有情報を表す第2特徴量ベクトルが、第1特徴量ベクトルから変化することを抑制し、かつ、候補画像の分割領域毎に最適なゲイン係数を設定することが可能である。
【0129】
(ユーザ端末)
図11は、実施形態1のユーザ端末50の構成を表すブロック図である。ユーザ端末50は、画像生成装置10が作成した情報付加原画像2D
+(
図10)に埋め込まれたデータを読み込むために、ユーザが使用する端末装置である。つまり、ユーザ端末50は、情報付加原画像2D
+(
図10)に埋め込まれたデータを読み込むデコーダとして機能する。
【0130】
このため、ユーザ端末50は、画像生成装置10が情報付加原画像2D
+を生成するために用いた各種情報が記憶されているか、または、当該各種情報を外部から取得可能である必要がある。
【0131】
上記各種情報としては、例えば、情報付加原画像2D
+の解像度、第1特徴量ベクトルを作成したときの分割数、データを埋め込んだ時の分割数、埋め込んだデータの位置、埋め込んだデータの形(ビット列の配列の仕方)、埋め込んだデータの符号化方法(Walsh符号、拡散符号等、使用した符号の種類)等が挙げられる。
【0132】
ユーザ端末50としては、スマートフォン、デジタルカメラ、ノートPC、及び、デスクトップPC等の各種の情報端末を用いることができる。ユーザ端末50は、ディスプレイに表示された状態の情報付加原画像2D
+(
図10)を読み取ってもよいし、画像生成装置10が作成した情報付加原画像2D
+が印刷された印刷物を読み取ってもよい。
【0133】
データベース30には、例えば、原画像の第1特徴量ベクトルに対応付けて、原画像に対応したサイトアドレス(第1情報)が記憶されているものとする。さらに、データベース30には、情報付加原画像2D
+に埋め込まれたデータに対応付けて、当該データに対応したサブパス(第2情報)が記憶されているものとする。
【0134】
そして、一例として、ユーザ端末50は、情報付加原画像2D
+から、データベース30に記憶されたサイトアドレスとサブパスとを総合情報として得る場合について説明する。
【0135】
ユーザ端末50は、読取部51と、特徴量ベクトル作成部52と、抽出部53と、通信部54とを有する。
【0136】
読取部51は、動画又は静止画を撮影可能なカメラであればよい。読取部51は、表示部に表示された又は印刷物として印刷された情報付加原画像2D
+を読み取る。
【0137】
特徴量ベクトル作成部52は、読取部51によって読み取られた情報付加原画像2D
+に含まれるエッジに基づいて抽出される複数の特徴点の個数を表す
第3特徴量ベクトルを作成する。
【0138】
特徴量ベクトル作成部52が
第3特徴量ベクトルを作成する流れは、検査部26(
図1)がステップS26(
図6)において候補画像から第2特徴量ベクトルを作成した流れと同様である。
【0139】
具体的には、特徴量ベクトル作成部52は、読み取られた情報付加原画像2D
+を、ステップS26において原画像を分割した分割数と同じ分割数に分割(第1分割)する。例えば、
図4に示した例のように、読み取られた情報付加原画像2D
+を16分割する。
【0140】
次に、特徴量ベクトル作成部52は、読み取られた情報付加原画像2D
+の分割領域毎に特徴点を抽出し、当該分割領域毎に抽出した特徴点の個数をカウントする。なお、ここで特徴量ベクトル作成部52が特徴点抽出のために用いるアルゴリズムは、ステップS26において検査部26が用いたアルゴリズム(例えば、AKAZE)と同じアルゴリズムを用いる。そして、特徴量ベクトル作成部52は、カウントした分割領域毎に抽出した特徴点の個数(
第3特徴量ベクトルの成分)に基づいて
第3特徴量ベクトルを作成する。
【0141】
抽出部53は、読み取られた情報付加原画像2D
+から埋め込まれたデータを抽出し、当該埋め込まれたデータをデコードする。
【0142】
通信部54は、特徴量ベクトル作成部52が作成した
第3特徴量ベクトルを用いて、データベース30に記憶された、情報付加原画像2D
+の原画像から作成された第1特徴量ベクトルを特定し、当該第1特徴量ベクトルに対応付けて記憶されたサイトアドレスを特定する。換言すると、通信部54は、
第3特徴量ベクトルに基づいてサイトアドレスを特定する。
【0143】
また、通信部54は、抽出部53が情報付加原画像2D
+から抽出したデータを用いてデータベース30に記憶された、当該データに対応付けて記憶されたサブパスを特定する。そして、通信部54は、それぞれ特定したサイトアドレスとサブパスとを組み合わせた情報である複合情報を得る。
【0144】
これにより、ユーザ端末50は、得られた総合情報が示すサイトアドレスとサブパスとを含むインターネットアドレスへアクセスすることができる。このようにしてユーザ端末50は、情報付加原画像2D
+から得られる第1情報及び第2情報を組み合わせて、サイトアドレスよりもさらにアドレスが特定されたサイトへアクセスすることができる。
【0145】
例えば、サイトアドレスは、情報付加原画像2D
+の原画像が表す企業のインターネットサイトのトップページのアドレスとし、サブパスは、当該企業のインターネットサイトのトップページからさらに、企業が製造している製品の何れかを紹介するページへアクセスするための残りのアドレス等であってもよい。
【0146】
このように、ユーザ端末50は、情報付加原画像2D
+から、第1情報と第2情報との少なくとも2種類の情報を取り扱うことができる。
【0147】
(ユーザ端末の変形例1)
または、第2情報を、サブパスを得るために用いるのではなく、作成した
第3特徴量ベクトルが正しいか否かを判定するための情報として用いてもよい。
【0148】
本変形例に係るユーザ端末50の装置構成は
図11に示した構成と同じである。本変形例においては、情報付加原画像2D
+に埋め込まれたデータとして、予め
第1特徴量ベクトルを示すデータを埋め込む。
【0149】
そして、読取部51は、情報付加原画像2D
+は、特徴量ベクトル作成部52が作成した
第3特徴量ベクトル(第1情報)と、抽出部53が情報付加原画像2D
+から抽出したデータが示す
第1特徴量ベクトル(第2情報)とを比較する。そして、読取部51は、特徴量ベクトル作成部52が作成した
第3特徴量ベクトル(第1情報)が、抽出部53が抽出した
第1特徴量ベクトル(第2情報)と少なくとも一部が一致しない場合、読取部51は、読取条件を変更して、情報付加原画像2D
+を再度読み取る。読取条件は、例えば、露光、焦点、明暗補正、および/またはコントラスト補正等の条件である。
【0150】
これにより、読取部51は読取条件の設定が最適か否かを判断することが可能であり、さらに、読取部51の読取条件の設定を最適な設定へと変更することができる。
【0151】
このように、ユーザ端末50は、情報付加原画像2D
+から、第1情報と第2情報との少なくとも2種類の情報を取り扱うことができる。
【0152】
(ユーザ端末の変形例2)
図12は、実施形態1の変形例であるユーザ端末50Aの構成を表すブロック図である。
【0153】
ユーザ端末50Aは、ユーザ端末50(
図11)が備えていた通信部54に換えて、画像管理部55を有する。すなわち、ユーザ端末50Aは、データベース30(
図11)と通信しないユーザ端末の一例を表している。
【0154】
画像管理部55は、情報付加原画像2D
+から特徴量ベクトル作成部52が作成した
第3特徴量ベクトル(第1情報)と、情報付加原画像2D
+から抽出部53が抽出したデータが示す情報(第2情報)とを組み合わせて情報付加原画像2D
+の画像IDとして用いる。これにより、ユーザ端末50Aは、画像IDによって、情報付加原画像2D
+の各種情報を管理することができる。
【0155】
このユーザ端末50Aのように、データベース30と通信しない態様であってもよい。なお、ユーザ端末50Aも、上述したユーザ端末50と同様に、データベース30と通信する態様を組み合わせてもよい。
【0156】
このように、ユーザ端末50Aは、情報付加原画像2D
+から、第1情報と第2情報との少なくとも2種類の情報を取り扱うことができる。
【0157】
ユーザ端末50Aは、上記のようにして得た画像IDを、
例えば、画像管理システムにおいて、非常によく似た画像で特徴量ベクトル(第1情報)だけでは区別できない画像があったときに、当該それぞれの画像に追加ID(第2情報)をデータとして埋め込んでおくことで、ユーザ端末50Aは、上記よく似た画像の区別を行うことができる。
【0158】
また逆に、例えば画像への埋め込みデータにアーティスト名(第2情報)を埋め込み、画像の識別を特徴量ベクトル(第1情報)によって行うことによって、ユーザ端末50Aは、画像の管理を容易にすることができる。例えば、コンサートの様子など特徴量ベクトルでは識別の付きにくい画像であっても、ユーザ端末50Aはアーティスト名によって当該画像を区別することができる。
【0159】
(ユーザ端末の変形例3)
本変形例に係るユーザ端末50の装置構成は
図11に示した構成と同じである。
【0160】
上述した(式1)に示されるように、情報付加原画像2D
+と原画像との関係は以下のように式で表される。
【0161】
D
+=D+W×gain (式1)
D:データを埋め込みたい領域のDCT係数
W:埋め込み列
gain:ゲイン係数
D
+:データ埋め込み後のDCT係数
上記(式1)から、ユーザ端末50側で情報付加原画像2D
+に埋め込まれたデータ(即ち、埋め込み列W)を抽出するために、D
+を抽出のための情報として用いる。このとき、Dは埋め込まれたデータの抽出に対して雑音として働く。そのため、ゲイン係数を、埋め込まれたデータの抽出時に影響を受けない程度に大きくする必要がある。このため、Dを小さくすることが好ましい。
【0162】
そこで、本変形例では、情報付加原画像2D
+の元の原画像から生成された第1特徴量ベクトルと、元の原画像のDの値とを対応づけて記憶しておく。
【0163】
これにより、ユーザ端末50は、情報付加原画像2D
+の
第3特徴量ベクトルから、元の原画像を識別できるため、データベース30から取得したDを利用して、埋め込まれたデータを抽出する際のゲイン係数の影響を低減できる。
【0164】
つまり、(式1)は以下の(式2)ように変形することができる。
【0165】
W×gain≒D
+−A×D (式2)
A:印刷、読み取りに伴う減衰を表すスカラー係数
Aの値は、情報付加原画像2D
+を表示する表示態様(ディスプレイに表示する、印刷物として印刷する等)を考慮して設定される。画像生成装置10側で設定したAの値を、ユーザ端末50側にも記憶しておくか、取得可能にしておく。
【0166】
上記(式2)を用いてユーザ端末50側で埋め込まれたデータを抽出するようにすれば、さらに小さいゲイン係数を設定することが可能であり、埋め込まれたデータの検出率をさらに向上させることができる。また、原画像毎にAが異なる可能性はあるが、それもユーザ端末50側で情報として利用する。
【0167】
さらに、A=A1+A2としてもよく、A=A1×A2としてもよい。
【0168】
A1:撮影と原画像の平均輝度の比較で決定する係数
A2:原画像固有の経験値に関する係数
このように、ユーザ端末50においては、通信部54は、特徴量ベクトル作成部52が情報付加原画像2D
+から作成した
第3特徴量ベクトルをデータベース30に送信し、
第3特徴量ベクトルに対応する第1特徴量ベクトルを特定し、当該第1特徴量ベクトルに対応づけられたDを取得する。換言すると、通信部54は、
第3特徴量ベクトルに基づいてDを取得する。
【0169】
次いで、抽出部53は、D
+から、Dに係数(A)を掛けたものを減算する。これにより、抽出部53は、情報付加原画像2D
+から埋め込まれたデータを抽出することができる。
【0170】
さらに、データベース30に、第1特徴量ベクトルと、Dと、A2とを対応付けて記憶しておき、通信部54は、第1特徴量ベクトルに対応づけられたDを取得すると共に、当該Dに対応付けられたA2も取得してもよい。これにより、抽出部53は、通信部54が取得したA2からAを算出し、D
+から、Dに係数(A)を掛けたものを減算する。
【0171】
このように、ユーザ端末は、情報付加原画像2D
+から、第1情報と第2情報との少なくとも2種類の情報を取り扱うことができる。
【0172】
〔ソフトウェアによる実現例〕
画像生成装置10の制御ブロック(特に前処理部12、第1分割部13、特徴点カウント部14、特徴量ベクトル作成部15、第2分割部21、符号作成部23、ゲイン制御部24、埋め込み部25、検査部26、情報付加原画像作成部27)、ユーザ端末50の制御ブロック(特に読取部51、特徴量ベクトル作成部52、抽出部53、通信部54)、及び、ユーザ端末50Aの制御ブロック(特に読取部51、特徴量ベクトル作成部52、抽出部53、画像管理部55)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0173】
後者の場合、画像生成装置10、ユーザ端末50・50Aは、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0174】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。