(57)【特許請求の範囲】
【請求項１】
第１の線分または第１の曲線を含む第１のオブジェクトに埋め込まれるべき第１のビット列から構成される第１のデータを取得するように構成されたデータ取得ユニットと、
前記第１のビット列を重みベクトルに変換するように構成された重みベクトル生成部と、
予め定められた複数の波形から構成される複数の符号化用基底を前記重みベクトルの要素で重み付けすることにより変位の波形を算出するように構成された変位算出部と、
前記第１のオブジェクトの少なくとも前記第１の線分または前記第１の曲線を前記第１のデータが埋め込まれるように前記第１のビット列から算出した前記変位の波形で表される変位だけ変形することにより、前記第１の線分または前記第１の曲線に対して前記第１のビット列に対応する変位を有する変形線分または変形曲線を含む第２のオブジェクトを生成するように構成されたオブジェクト生成部と、
前記第２のオブジェクトを出力するように構成されたオブジェクト出力ユニットと
を具備するデータ埋め込み装置。
【請求項２】
前記複数の符号化用基底が、互いに線形独立な正弦関数の組み合わせ、互いに線形独立な余弦関数の組み合わせ、または互いに線形独立な正弦関数及び余弦関数の組み合わせから構成される請求項１記載のデータ埋め込み装置。
【請求項３】
前記第１のオブジェクトは前記第１の線分または前記第１の曲線を含む原画像から構成されており、
前記第２のオブジェクトは変形画像から構成されており、
前記データ埋め込み装置は、前記原画像を取得するように構成された画像取得ユニットを更に具備し、
前記オブジェクト生成部は、前記原画像の少なくとも前記第１の線分または前記第１の曲線の部分を前記第１のデータが埋め込まれるように前記第１のビット列から算出した前記変位の波形で表される変位だけ変形することにより、前記原画像に対して前記第１のビット列に対応する変位を有する前記変形画像を生成するように構成されている
請求項１記載のデータ埋め込み装置。
【請求項４】
請求項１に記載のデータ埋め込み装置によって前記第１のデータが埋め込まれた前記第２のオブジェクトを含む第１の画像を取得するように構成された画像取得ユニットと、
前記第１の画像に前記第１の線分または第１の曲線に対応する第２の線分または第２の曲線を当てはめるように構成された当てはめユニットと、
前記第１の画像における前記変形線分または前記変形曲線の前記第２の線分または前記第２の曲線からの変位に基づき、前記変位を表す前記当てはめの残差の配列から構成される残差ベクトルを算出するように構成された残差算出部と、
前記残差ベクトルに基づいて、前記第１のデータに対応する第２のデータを抽出するように構成されたデータ抽出部と
を具備するデータ抽出装置。
【請求項５】
前記データ埋め込み装置は、前記複数の符号化用基底に対応する予め定められた複数の復号化用基底と前記残差ベクトルとの内積の配列から構成される内積ベクトルを算出するように構成された内積ベクトル算出部を更に具備し、
前記データ抽出部は、前記内積ベクトルの恒等写像から構成されるまたは前記内積ベクトルを線形変換することにより取得される変換ベクトルを量子化することにより、前記第２のデータを抽出するように構成されている
請求項４記載のデータ抽出装置。
【請求項６】
前記当てはめユニットは、前記第１の線分または第１の曲線に対応する前記第１の画像の予め定められた範囲から前記第２の線分または前記第２の曲線を検出するように構成されている請求項４記載のデータ抽出装置。
【請求項７】
第１の線分または第１の曲線を含む第１のオブジェクトに埋め込まれるべき第１のビット列から構成される第１のデータを取得することと、
前記第１のビット列を重みベクトルに変換することと、
予め定められた複数の波形から構成される複数の符号化用基底を前記重みベクトルの要素で重み付けすることにより変位の波形を算出することと、
前記第１のオブジェクトの少なくとも前記第１の線分または前記第１の曲線を前記第１のデータが埋め込まれるように前記第１のビット列から算出した前記変位の波形で表される変位だけ変形することにより、前記第１の線分または前記第１の曲線に対して前記第１のビット列に対応する変位を有する変形線分または変形曲線を含む第２のオブジェクトを生成することと、
前記第２のオブジェクトを出力することと
を具備するデータ埋め込み方法。
【請求項８】
請求項７に記載のデータ埋め込み方法によって前記第１のデータが埋め込まれた前記第２のオブジェクトを含む第１の画像を取得することと、
前記第１の画像に前記第１の線分または第１の曲線に対応する第２の線分または第２の曲線を当てはめることと、
前記第１の画像における前記変形線分または前記変形曲線の前記第２の線分または前記第２の曲線からの変位に基づき、前記変位を表す前記当てはめの残差の配列から構成される残差ベクトルを算出することと、
前記残差ベクトルに基づいて、前記第１のデータに対応する第２のデータを抽出することと
を具備するデータ抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法に関する。
【背景技術】
【０００２】
従来から、バーコード印字技術とバーコードデコード技術とが広く利用されている。バーコード印字技術によれば、紙のような印刷媒体にバーコードが印字される。バーコードデコード技術によれば、印字されたバーコードがスキャナ或いはカメラのような撮像装置で読み込まれ、当該読み込まれたバーコードがデコードされる。【０００３】
また、種々のデータ埋め込み技術も広く利用されている。これらのデータ埋め込み技術は、２次元バーコードの形で画像または印刷物のようなオブジェクトにデータを埋め込む技術を含む。【０００４】
また、前記データ埋め込み技術は、上述のオブジェクトに視認が困難な形でデータを埋め込む電子透かし技術も含む。電子透かし技術の多くは、前記オブジェクトにドットパターンを重畳する方法を適用する。【０００５】
また、前記データ埋め込み技術は、凹凸を形成した線分から構成される図形パターンの並びでデータを符号化する技術も含む。この符号化技術は、前記図形パターンの配列を前記オブジェクトに重畳する方法を適用する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２９３８３３８号公報
【特許文献２】特許第３６２８３１２号公報
【特許文献３】特開２００７−１９４９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
印刷媒体に印字されたバーコードや２次元バーコードは目立つ。このため、バーコードや２次元バーコードは、印刷物の美観を損ねるおそれがある。【０００８】
また、オブジェクト、例えば印刷物にドットパターンの形で埋めこまれた電子透かしも、次のような理由で当該印刷物の美観を損ねるおそれがある。印刷物からドットパターン（つまり電子透かし）を抽出するためには、当該印刷物をカメラで撮像するのが一般的である。この撮像の際にピント外れや手ぶれ等が発生すると、画像が劣化して当該画像からドットパターンが消失する可能性がある。そこで、画像からドットパターンが消失しない程度に、当該パターンが大きく且つはっきりと印刷される必要がある。このため、本来は視認が困難であるはずの電子透かしが目立ってしまい、秘匿性や美観が損なわれるおそれがある。図形パターンの配列が重畳された印刷物においても同様である。その理由は、図形パターンの配列が重畳された印刷物から当該図形パターンの配列を抽出するためには、当該図形パターンの各々が印刷及び撮像の過程で消失しない程度に大きく且つはっきりと印刷される必要があるためである。【０００９】
本発明が解決しようとする課題は、秘匿性に優れ、且つ美観を損ねないデータ埋め込みを実現できる、オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
実施形態に係るデータ埋め込み装置は、データ取得ユニットと、オブジェクト生成部と、オブジェクト出力ユニットとを具備する。前記データ取得ユニットは、第１の線分または第１の曲線を含む第１のオブジェクトに埋め込まれるべき第１のビット列から構成される第１のデータを取得するように構成されている。前記オブジェクト生成部は、前記第１のオブジェクトの少なくとも前記第１の線分または前記第１の曲線を前記第１のビット列に基づいて変形することにより、前記第１の線分または前記第１の曲線に対して前記第１のビット列に対応する変位を有する変形線分または変形曲線を含み且つ前記第１のデータが埋め込まれた第２のオブジェクトを生成するように構成されている。前記オブジェクト出力ユニットは前記第２のオブジェクトを出力するように構成されている。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施形態に係るデータ埋め込み装置の典型的なハードウェア構成を示すブロック図である。
【図２】図２は、前記データ埋め込み装置の典型的な機能構成を示すブロック図である。
【図３】図３は、前記第１の実施形態における重みベクトル生成部による重みベクトル生成の例を示す図である。
【図４】図４は、前記第１の実施形態で適用される複数の符号化用基底の例を示す図である。
【図５】図５は、前記第１の実施形態において変位算出部によって算出される変位波形の例を示す図である。
【図６】図６は、前記第１の実施形態における図形生成部による典型的な図形生成を説明するための図である。
【図７】図７は、前記図形生成部によって生成された図形の例を示す図である。
【図８】図８は、図７に示される図形を含む帳票画像の例を示す図である。
【図９】図９は、前記第１の実施形態に係るデータ抽出装置の典型的なハードウェア構成を示すブロック図である。
【図１０】図１０は、前記データ抽出装置の典型的な機能構成を示すブロック図である。
【図１１】図１１は、前記第１の実施形態において画像取得ユニットによって取得される画像の例を示す図である。
【図１２】図１２は、前記第１の実施形態において当てはめユニットによって前記画像から検出される直線の例を示す図である。
【図１３】図１３は、前記直線からの典型的な線分当てはめを説明するための図である。
【図１４】図１４は、前記第１の実施形態における残差算出部による典型的な残差算出を説明するための図である。
【図１５】図１５は、前記第１の実施形態における内積ベクトル算出部による内積ベクトルの算出の典型的な様子を示す図である。
【図１６】図１６は、前記第１の実施形態におけるデータ抽出部による変換ベクトルの量子化の例を示す図である。
【図１７】図１７は、第２の実施形態で適用される複数の符号化用基底の例を示す図である。
【図１８】図１８は、前記第２の実施形態における図形生成部による典型的な図形生成を説明するための図である。
【図１９】図１９は、前記第２の実施形態において前記図形生成部によって生成された図形の例を示す図である。
【図２０】図２０は、図１９に示される図形を含む帳票画像の例を示す図である。
【図２１】図２１は、前記第２の実施形態において画像取得ユニットによって取得される画像及び４つの検出領域の例を示す図である。
【図２２】図２２は、前記第２の実施形態において当てはめユニットによって検出される４つの直線の例を示す図である。
【図２３】図２３は、前記第２の実施形態における残差算出部による典型的な残差算出を説明するための図である。
【図２４】図２４は、第３の実施形態における図形生成部による典型的な図形生成を説明するための図である。
【図２５】図２５は、前記第３の実施形態において前記図形生成部によって生成された図形の例を示す図である。
【図２６】図２６は、図２５に示される図形を含む画像の例を示す図である。
【図２７】図２７は、前記第３の実施形態において画像から検出された楕円形が、基準図形として当該画像に当てはめられた例を示す図である。
【図２８】図２８は、前記第３の実施形態における残差算出部による典型的な残差算出を説明するための図である。
【図２９】図２９は、第４の実施形態で適用される複数の符号化用基底の例を示す図である。
【図３０】図３０は、第５の実施形態に係るデータ埋め込み装置の典型的なハードウェア構成を示すブロック図である。
【図３１】図３１は、前記データ埋め込み装置の典型的な機能構成を示すブロック図である。
【図３２】図３２は、前記第５の実施形態において原画像取得ユニットによって取得される原画像の例を示す図である。
【図３３】図３３は、前記第５の実施形態において画像変形ユニットによって変形されるべき原画像の範囲の例を示す図である。
【図３４】図３４は、図３３に示される範囲の原画像の部分を変形することによって生成された変形画像の例を示す図である。
【図３５】図３５は、前記第５の実施形態において画像取得ユニットによって取得される画像と当該画像上の検出範囲の例を示す図である。
【図３６】図３６は、第６の実施形態における重みベクトル生成部による重みベクトル生成の例を示す図である。
【図３７】図３７は、前記第６の実施形態におけるデータ抽出部による変換ベクトルの量子化の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態につき図面を参照して説明する。  
＜第１の実施形態＞
図１は、第１の実施形態に係るデータ埋め込み装置１０の典型的なハードウェア構成を示すブロック図である。データ埋め込み装置１０はパーソナルコンピュータ（ＰＣ）１１を用いて実現される。ＰＣ１１は、ＣＰＵ１２、記憶装置１３、入出力コントローラ１４及びシステムバス１５を備えている。ＣＰＵ１２、記憶装置１３及び入出力コントローラ１４は、システムバス１５によって相互接続されている。
【００１３】
ＣＰＵ１２は、画像または印刷物のようなオブジェクトに埋め込まれるべきデータＤｅを入力し、当該入力されたデータＤｅが埋め込まれたオブジェクトを生成するための情報処理を実行する。記憶装置１３は、ソフトウェア領域１３ａ及び作業データ領域１３ｂを備えている。ソフトウェア領域１３ａは、前記情報処理のためのデータ埋め込みソフトウェアを格納するのに用いられる。作業データ領域１３ｂは、前記情報処理のための作業データを格納するのに用いられる。
【００１４】
入出力コントローラ１４は、入出力デバイス、例えばディスプレイ１６、キーボード１７及びプリンタ１８と接続されている。入出力コントローラ１４は、これらのディスプレイ１６、キーボード１７及びプリンタ１８との間でデータを入出力する。
【００１５】
図２は、データ埋め込み装置１０の機能構成を示すブロック図である。この機能構成は、図１に示されるＰＣ１１のＣＰＵ１２が前記データ埋め込みソフトウェアを実行することにより実現されるものとする。データ埋め込み装置１０は、データ取得ユニット２１、重みベクトル生成部２２、変位算出部２３、図形生成部２４及び図形出力ユニット２５を備えている。第１の実施形態において、データ取得ユニット２１、重みベクトル生成部２２、変位算出部２３、図形生成部２４及び図形出力ユニット２５はソフトウェアモジュールにより構成される。しかし、これらのソフトウェアモジュールの一部または全部がハードウェアモジュールに置き換えられても構わない。
【００１６】
データ取得ユニット２１は埋め込まれるべきデータＤｅを、図１に示される入出力コントローラ１４を介して取得する。データＤｅは、ビット列から構成される。重みベクトル生成部２２は、データＤｅのビット列に基づいて重みベクトルｗを生成する。
【００１７】
変位算出部２３は、前記重みベクトルｗの要素により符号化のための予め定められた複数の基底（以下、符号化用基底と称する）を重み付けし、重み付けされた基底の和から構成される変位波形Ｗｄを算出する。変位波形Ｗｄとは、変位の系列から構成される波形、つまり変位の波形を指す。
【００１８】
図形生成部２４は、変位波形Ｗｄに基づいて、予め定められた基準図形Ｇｒを記憶装置１３の作業データ領域１３ｂ内で変形する。これにより図形生成部２４は、基準図形Ｇｒが変形された図形Ｇｄを生成する。図形出力ユニット２５は、図形Ｇｄ、または当該図形Ｇｄを含む画像を出力する。
【００１９】
次に、データ埋め込み装置１０の動作について説明する。まず、データ取得ユニット２１は、オブジェクト（第１のオブジェクト）に埋め込まれるべきデータ（第１のデータ）Ｄｅを入力するためのユーザインタフェースとして機能する。第１他の実施形態において、データＤｅが埋め込まれるオブジェクトは基準図形Ｇｒから構成される、この基準図形Ｇｒは線分を含む。
【００２０】
第１の実施形態では、データ取得ユニット２１によってディスプレイ１６に表示されたデータが、ユーザの操作によってキーボード１７を用いて編集される。データ取得ユニット２１は、この編集されたデータをデータＤｅとして、入出力コントローラ１４を介して入力（つまり取得）する。
【００２１】
重みベクトル生成部２２はデータＤｅのビット列（第１のビット列）に基づいて当該ビット列に対応する重みベクトルｗを、次のように生成する。重みベクトル生成部２２は、データＤｅを構成するビットの各々について、例えば、当該ビットが０なら重み−１を、当該ビットが１なら重み＋１を生成する。重みベクトル生成部２２は、この重みの配列から構成される重みベクトルｗを生成する。つまり重みベクトル生成部２２は、データＤｅのビット列を重みベクトルｗに変換する。
【００２２】
重みベクトルｗの長さはデータＤｅのビット列の長さと等しい。この長さをｎ、データＤｅのビット列をｂ1, . . ., ｂn、行列及びベクトルの転置を表す記号をＴ、重みベクトルをｗ＝(ｗ1, . . ., ｗn)Tと表記する。この場合、重みベクトルｗのｉ番目（ｉ＝１, . . ., ｎ）の要素ｗｉは、次式のように表される。
【数１】
0005586705.tif 000002
【００２３】
図３は、重みベクトル生成部２２による重みベクトル生成の例を示す。図３の例では、データＤｅのビット列は“０１００１１０１”であり、その長さ（つまりデータＤｅのビット数）ｎは８である。重みベクトル生成部２２は、このビット列“０１００１１０１”に基づき、図３において矢印３０で示すように、重みベクトルｗ＝（−１, ＋１, −１, −１, ＋１, ＋１, −１, −１, ＋１）を生成する。
【００２４】
変位算出部２３は、重みベクトルｗの要素ｗiにより前記複数の符号化用基底を重み付けし、重み付けされた基底の和から構成される変位波形Ｗｄ（より詳細には、変位波形Ｗｄを表すベクトル）を算出する。前記符号化用基底の個数は前記重みベクトルの長さ（つまり、データＤｅのビット数）ｎに等しい。前記符号化用基底は長さｍのベクトルとして表現される。ｍはｎ以上の整数である。
【００２５】
ｉ番目（ｉ＝１, . . ., ｎ）の前記符号化用基底をξi＝(ξi,1, . . ., ξi,m)T、前記符号化用基底を横方向に並べて構成した行列をΞ＝(ξ1, . . ., ξn)と、それぞれ表記する。また、変位波形Ｗｄも長さｍのベクトルとして表現される。変位波形Ｗｄを表すベクトル（以下、変位ベクトルと称する）をｄ＝(ｄ1, . . ., ｄm)Tと表記する。これらの記号を用いると、変位算出部２３によって算出される変位波形Ｗｄを表す変位ベクトルｄは次式のように表される。
【数２】
0005586705.tif 000003
【００２６】
図４は、第１の実施形態で適用される符号化用基底ξi（ｉ＝１, . . ., ｎ）の例を示す。この例では、ｎ＝８である。図４において、紙面の横方向の軸は符号化用基底ξiを表すベクトルの要素の番号を、縦方向の軸は当該要素の値を、それぞれ示す。図４に示す符号化用基底ξ1及びξ2は、それぞれ、波数が１６の余弦関数及び波数が１６の正弦関数である。図４に示す符号化用基底ξ3及びξ4は、それぞれ、波数が１７の余弦関数及び波数が１７の正弦関数である。図４に示す符号化用基底ξ5及びξ6は、それぞれ、波数が１８の余弦関数及び波数が１８の正弦関数である。図４に示す符号化用基底ξ7及びξ8は、それぞれ、波数が１９の余弦関数及び波数が１９の正弦関数である。
【００２７】
図５は、変位算出部２３によって算出される変位波形Ｗｄの例を示す。図５において、紙面の横方向の軸は変位波形Ｗｄを表す変位ベクトルｄの要素の番号ｊ（ｊ＝１, . . ., ｍ）を、縦方向の軸は当該要素の値（つまり変位）を示す。
【００２８】
なお、前記符号化用基底としては線形独立ならばどのようなベクトルを用いても良い。つまり、この制限を逸脱しない限り、正弦関数、余弦関数、及びそれらの線形和で表されるベクトルなど、いかなる符号化用基底を用いても良い。
【００２９】
図形生成部２４は、変位波形Ｗｄによって示される変位に基づいて基準図形Ｇｒを変形する。これにより図形生成部２４は、基準図形Ｇｒが変形された図形Ｇｄを生成する。
【００３０】
以下、図形生成部２４による図形生成の詳細について図６を参照して説明する。図６は、図形生成部２４による典型的な図形生成を説明するための図である。第１の実施形態において、基準図形Ｇｒは、図６に示すように紙面の横方向の線分（第１の線分）から構成される。図６には、基準図形Ｇｒの一部を含む矩形領域６１の拡大図も示されている。基準図形Ｇｒは記憶装置１３の作業データ領域１３ｂに格納された状態で処理される。
【００３１】
図形生成部２４は、変位波形Ｗｄを表す変位ベクトルｄのｍ個の要素にそれぞれ対応して、前記線分（つまり基準図形Ｇｒ）上に等間隔でｍ個の基準点を配置する。これらの基準点（より詳細には、矩形領域６１内の基準点）は、図６において黒丸で示されている。図６には、これらのｍ個の基準点の１つとして、ｊ番目の基準点６２が示されている。
【００３２】
図形生成部２４は、前記ｍ個の基準点の各々について変位波形Ｗｄを表す変位ベクトルｄの要素の値に対応する変位だけ当該基準点からずれた点を取得する。図６に示されるｊ番目の基準点６２を例に取ると、図形生成部２４は、当該基準点６２を通る前記線分（基準図形Ｇｒ）の法線６３の方向に、変位ベクトルｄの要素ｄjの値に対応する変位６４だけずれた点を取得する。
【００３３】
図形生成部２４は、取得されたｍ個の点の列をつなぐ多角形（または多角形によって近似される曲線）を、記憶装置１３の作業データ領域１３ｂ内に図形Ｇｄとして生成する。このように図形生成部２４は、変位波形Ｗｄを表す変位ベクトルｄに基づいて、当該変位波形Ｗｄの表す変位に対応するように基準図形Ｇｒ（第１の線分）を変形することにより図形Ｇｄ（変形線分）を生成する。つまり図形生成部２４はオブジェクト生成部として機能して、基準図形Ｇｒに合わせるように変位波形Ｗｄの長さを伸縮することにより、当該基準図形Ｇｒが変形された図形Ｇｄから構成されるオブジェクト（第２のオブジェクト）を生成する。
【００３４】
図７は、図形生成部２４によって生成された図形Ｇｄの例を示す。この図形Ｇｄの基準図形Ｇｒからの変形の度合いは、データＤｅのビット列の内容に対応する。よって、図７に示す図形Ｇｄは、データＤｅが埋め込まれたオブジェクト（第２のオブジェクト）であるといえる。
【００３５】
図形出力ユニット２５は、図形生成部２４によって記憶装置１３の作業データ領域１３ｂ内に生成された図形Ｇｄ（第２のオブジェクト）を出力する。ここでは図形出力ユニット２５は、図形Ｇｄを、入出力コントローラ１４を介してプリンタ１８に出力するものとする。この場合、プリンタ１８は、図形出力ユニット２５によって出力された図形Ｇｄを、例えば紙面に印刷する。しかし、後続の情報処理のために、図形出力ユニット２５が、図形Ｇｄを、入出力コントローラ１４を介して外部の記憶装置に出力しても良い。また、図形Ｇｄが、データ埋め込み装置１０内で後続の情報処理に供されても良い。
【００３６】
なお図形出力ユニット２５が、図形Ｇｄ単体を出力する代わりに、当該図形Ｇｄを含む、例えば帳票画像のような画像を出力しても良い。このような画像は、例えば図形出力ユニット２５が、図形Ｇｄと他の任意の罫線、図形及び文字とを作業データ領域１３ｂ内で合成することにより生成される。しかし、この画像が、データ埋め込み装置１０内またはデータ埋め込み装置１０外の別の装置（例えば画像生成部）によって生成されても良い。
【００３７】
図８は、図７に示される図形Ｇｄを含む帳票画像８０の例を示す。図８の例から明らかなように、基準図形Ｇｒは帳票の最上段の罫線に対応する。よって帳票画像８０の生成は、図形生成部２４が、原帳票（つまり基準の帳票）の最上段の罫線（つまり所定部分の線分）を基準図形Ｇｒ（第１のオブジェクト）として用い、当該基準図形ＧｒをデータＤｅの各ビットに対応するように図形Ｇｄに変形して、当該図形Ｇｄ（第２のオブジェクト）を生成することと等価である。
【００３８】
図８に示す帳票画像８０の例では、説明の便宜上、図形Ｇｄ（つまり図６に示される基準図形Ｇｒの変形）の形状を表す波形の振幅が、当該波形を容易に視認可能なように極端に大きく図示されている。しかし実際には、後述するデータ抽出装置９０によるデータの抽出に支障がない程度に、図形Ｇｄの波形の振幅は抑えられる。しかも、図形Ｇｄは、原帳票に重畳された図形ではなく、当該原帳票の一部の罫線（基準図形Ｇｒ）が変形された図形である。このため、帳票画像８０は原帳票のデザインから大きく逸脱することはなく、ユーザに違和感を抱かせるおそれはない。よって第１の実施形態によれば、データが埋め込まれた箇所が視認されるのを防ぎ、秘匿性に優れ、且つ帳票の美観を損ねないデータ埋め込みを実現できる。
【００３９】
図９は、第１の実施形態に係るデータ抽出装置９０の典型的なハードウェア構成を示すブロック図である。第１の実施形態におけるデータ抽出装置９０は、ＰＣ９１を用いて実現される。ＰＣ９１は、ＣＰＵ９２、記憶装置９３、入出力コントローラ９４及びシステムバス９５を備えている。ＣＰＵ９２、記憶装置９３及び入出力コントローラ９４は、システムバス９５によって相互接続されている。
【００４０】
ＣＰＵ９２は、データ埋め込み装置１０によってデータＤｅが埋め込まれた画像を入力し、当該入力された画像から当該データＤｅに対応するデータＤｄを抽出するための情報処理を実行する。記憶装置９３は、ソフトウェア領域９３ａ及び作業データ領域９３ｂを備えている。ソフトウェア領域９３ａは、前記情報処理のためのデータ抽出ソフトウェアを格納するのに用いられる。作業データ領域９３ｂは、前記情報処理のための作業データを格納するのに用いられる。
【００４１】
入出力コントローラ９４は、撮像デバイス、例えばカメラ９６と接続されている。カメラ９６は、データ埋め込み装置１０によってデータＤｅが埋め込まれたオブジェクト（例えば印刷物）の画像を取得するのに用いられる。入出力コントローラ９４は、カメラ９６によって取得された画像を入力する。入出力コントローラ９４はまた、抽出されたデータをシリアル出力インタフェースのような出力インタフェース９７を介して、データ抽出装置９０の外部に出力する。
【００４２】
図１０は、データ抽出装置９０の典型的な機能構成を示すブロック図である。この機能構成は、図９に示されるＰＣ９１のＣＰＵ９２が前記データ抽出ソフトウェアを実行することにより実現されるものとする。データ抽出装置９０は、画像取得ユニット１０１、当てはめユニット１０２、残差算出部１０３、内積ベクトル算出部１０４、データ抽出部１０５及びデータ出力ユニット１０６を備えている。第１の実施形態において、画像取得ユニット１０１、当てはめユニット１０２、残差算出部１０３、内積ベクトル算出部１０４、データ抽出部１０５及びデータ出力ユニット１０６はソフトウェアモジュールにより構成される。しかし、これらのソフトウェアモジュールの一部または全部がハードウェアモジュールに置き換えられても構わない。
【００４３】
画像取得ユニット１０１は、データＤｄが埋め込まれたオブジェクト（第２のオブジェクト）を含む画像Ｉｉｎを、図９に示される入出力コントローラ９４を介して取得する。当てはめユニット１０２は、画像Ｉｉｎに基準図形を当てはめる。残差算出部１０３は、当てはめユニット１０２による当てはめの残差の配列から構成される残差ベクトルｒを算出する。当てはめの残差については後述する。
【００４４】
内積ベクトル算出部１０４は、復号化のための予め定められた複数の基底（以下、復号化用基底と称する）の各々と残差ベクトルｒとの内積を算出する。内積ベクトル算出部１０４は、算出された内積の配列から構成される内積ベクトルｐを取得する。
【００４５】
データ抽出部１０５は、内積ベクトルｐに対応する変換ベクトルｔを量子化することにより、データ（第１のデータ）Ｄｅに対応するデータ（第２のデータ）Ｄｄを抽出する。内積ベクトルｐと変換ベクトルｔとの関係については後述する。データ出力ユニット１０６は、前記抽出されたデータＤｄを記憶装置９３または外部の装置に出力する。
【００４６】
次に、データ抽出装置９０の動作について説明する。今、カメラ９６によって印刷物から例えば図８に示す帳票画像８０が取得されたものとする。この印刷物から取得された帳票画像８０（より詳細には、帳票画像８０に含まれている図形Ｇｄから構成されるオブジェクト）には、データ埋め込み装置１０によってデータＤｅが埋め込まれている。カメラ９６によって取得された帳票画像８０は、データ抽出装置９０の入出力コントローラ９４によって当該データ抽出装置９０内に入力される。
【００４７】
画像取得ユニット１０１は、入出力コントローラ９４によって入力された帳票画像８０を画像Ｉｉｎとして取得する。つまり画像取得ユニット１０１は、データＤｅが埋め込まれている帳票画像８０をカメラ９６から画像Ｉｉｎとして取得する。そこで、第１の実施形態における以下の説明では、前記取得された画像Ｉｉｎを画像Ｉｉｎ＿８０と表記する。画像取得ユニット１０１は、取得された画像Ｉｉｎ＿８０のデータを図１に示される記憶装置９３の作業データ領域９３ｂに格納する。なお、画像取得ユニット１０１が、カメラ９６以外の撮像装置、例えばスキャナから画像Ｉｉｎ＿８０を取得しても良い。また画像取得ユニット１０１が、画像Ｉｉｎ＿８０を必ずしも撮像装置から取得する必要はない。画像取得ユニット１０１が例えば、ファクシミリ受信機から、或いはハイパー・テキスト・トランスファー・プロトコル（ＨＴＴＰ）を適用するネットワークを経由して、画像Ｉｉｎ＿８０を取得しても良い。つまり、データＤｅが埋め込まれているオブジェクト（第２のオブジェクト）を含む画像Ｉｉｎ＿８０を取得できるならば、画像取得ユニット１０１はいかなる方法を用いても良い。
【００４８】
当てはめユニット１０２は、画像取得ユニット１０１によって取得された画像Ｉｉｎ＿８０に基準図形を当てはめる。以下、この当てはめユニット１０２による基準図形の当てはめの詳細について図１１乃至図１３を参照して説明する。
【００４９】
図１１は、第１の実施形態において画像取得ユニット１０１によって取得された画像Ｉｉｎ＿８０の例を示す。図１１に示す画像Ｉｉｎ＿８０は、図８に示される帳票画像８０に対応し、したがって図形Ｇｄを含む。当てはめユニット１０２は、図１１に示される画像Ｉｉｎ＿８０上の検出領域１１１から、例えば周知のＨｏｕｇｈ変換により、直線１２１（図１２参照）を検出する。この検出領域１１１は、データ埋め込み装置１０によりデータＤｅが埋め込まれた図形Ｇｄが印刷されていると期待される箇所に設定される、例えば矩形領域である。つまり、検出領域１１１が設定される箇所は、図形Ｇｄの生成に用いられた基準図形Ｇｒの位置に対応する。検出領域１１１は、当該検出領域１１１（つまり矩形領域）が有する４つの角（つまり頂点）の画像Ｉｉｎ＿８０における座標の組の形式で、オペレータまたは開発者により予め定められる。
【００５０】
図１２は、当てはめユニット１０２によって画像Ｉｉｎ＿８０から検出される直線１２１の例を示し、図１３は、当該直線１２１からの典型的な線分当てはめを説明するための図である。当てはめユニット１０２は図１２に示される直線１２１を検出すると、当該直線１２１から図１３に示される線分１３２を次のように当てはめる。
【００５１】
まず、第１の実施形態では、線分１３２の当てはめのために、図１３に示される座標範囲１３１が予め定められる。当てはめユニット１０２は、図１３に示すように、直線１２１から座標範囲１３１内の線分１３２を当てはめる。この座標範囲１３１は、データ埋め込み装置１０によりデータＤｅが埋め込まれた図形Ｇｄの左端及び右端が位置すると期待される座標の対の形式で、オペレータまたは開発者により予め定められる。
【００５２】
画像Ｉｉｎ＿８０が図８に示される帳票画像８０に対応する第１の実施形態では、線分１３２は基準図形Ｇｒに対応する。そこで当てはめユニット１０２は、線分１３２を基準図形として用い、当該線分１３２を画像Ｉｉｎ＿８０（より詳細には、画像Ｉｉｎ＿８０内の図形Ｇｄ）に当てはめる。つまり当てはめユニット１０２は、線分１３２を、直線１２１から当てはめられた位置に設定する。よって、線分１３２を画像Ｉｉｎ＿８０に当てはめることは、直線１２１（つまり画像Ｉｉｎ＿８０からＨｏｕｇｈ変換により検出された直線１２１）から、線分１３２を当てはめることと等価である。図１３は、線分１３２が画像Ｉｉｎ＿８０に当てはめられた状態をも示す。
【００５３】
残差算出部１０３は、当てはめユニット１０２による当てはめの残差の配列から構成される残差ベクトルｒを算出する。当てはめの残差とは、基準図形として用いられる線分（第１の線分）１３２からの画像Ｉｉｎ＿８０内の図形Ｇｄ（変形線分）の変位を指す。以下、この残差算出部１０３による残差ベクトルｒの算出の詳細について説明する。
【００５４】
残差算出部１０３は、当てはめユニット１０２によって画像Ｉｉｎ＿８０内の図形Ｇｄに当てはめられた線分１３２（つまり基準図形）上に等間隔でｍ個の基準点（つまりｊ＝１, . . ., ｍの基準点）を配置する。このｍ個の基準点の配置は、図形生成部２４によるｍ個の基準点の配置（図６参照）と同様である。
【００５５】
図１４は、残差算出部１０３による典型的な残差算出を説明するための図である。図１４には、画像Ｉｉｎ＿８０の一部を含む矩形領域１４１の拡大図も示されている。画像Ｉｉｎ＿８０に当てはめられた線分１３２上のｊ番目の基準点が、図１４に示される基準点１４２であるものとする。
【００５６】
残差算出部１０３は、基準点１４２における線分１３２の法線１４３上で画像Ｉｉｎ＿８０（より詳細には画像Ｉｉｎ＿８０内の図形Ｇｄ）のエッジ１４４を検出する。そして残差算出部１０３は、検出されたエッジ１４４の基準点１４２（つまりｊ番目の基準点）からの変位１４５を当該基準点１４２の変位ｒjとして算出し、当該変位ｒjをｊ番目の残差として取得する。
【００５７】
残差算出部１０３は、上述したような残差の取得を、ｊ＝１, . . ., ｍの全ての基準点について実行する。残差算出部１０３は、このようにして取得されたｊ＝１, . . ., ｍの基準点の変位ｒjをｊの順番で並べることにより残差ベクトルｒ＝(ｒ1, . . ., ｒm)Tを生成する。残差算出部１０３は、この残差ベクトルｒを記憶装置９３の作業データ領域９３ｂに格納する。
【００５８】
内積ベクトル算出部１０４は、予め定められた複数の復号化用基底の各々と残差ベクトルｒとの内積を算出する。内積ベクトル算出部１０４は、この内積の配列から構成される内積ベクトルｐを取得する。つまり内積ベクトル算出部１０４は、前記複数の復号化用基底の各々と残差ベクトルｒとの内積の配列から構成される内積ベクトルｐを算出する。
【００５９】
前記復号化用基底をζ1, . . ., ζn、前記内積ベクトルをｐ＝(ｐ1, . . ., ｐn)Tと、それぞれ表記するならば、当該内積ベクトルｐの要素ｐｉ（ｉ＝１, . . ., ｎ）は、次式
ｐi＝ζiTｒ
のように表される。
【００６０】
また、復号化用基底ζ1, . . ., ζnを横方向に並べて構成した行列をＺ＝(ζ1, . . ., ζn)と表記するならば、内積ベクトルｐを、次式
ｐ＝ＺTｒ
のように表すこともできる。
【００６１】
図１５は、内積ベクトル算出部１０４による内積ベクトルｐの算出の典型的な様子を示す。第１の実施形態において、内積ベクトル算出部１０４は、データ埋め込み装置１０の変位算出部２３によって用いられる符号化用基底ξ1, . . ., ξnと同一の基底の組を、復号化用基底ζ1, . . ., ζnとして用いる。つまり内積ベクトル算出部１０４によって用いられるｉ番目（ｉ＝１, . . ., ｎ）の復号化用基底ζiは、符号化用基底ξiに等しい。図１５の例では、ｎ＝８であり、内積ベクトルｐはｐ＝（−１００, ＋１００, −１００, −１００, ＋１００, ＋１００, −１００, ＋１００）である。
【００６２】
データ抽出部１０５は、内積ベクトル算出部１０４によって算出された内積ベクトルｐに対応する変換ベクトルｔを量子化する。この変換ベクトルｔは、内積ベクトルｐに対して所定の変換を施すことにより生成される。第１の実施形態では、この変換に恒等写像が用いられる。このため、変換ベクトルｔは内積ベクトルｐと等しい。つまり、ｔ＝ｐである。したがって、図１５に示される内積ベクトルｐの例では、変換ベクトルｔはｔ＝ｐ＝（−１００, ＋１００, −１００, −１００, ＋１００, ＋１００, −１００, ＋１００）となる。
【００６３】
データ抽出部１０５は、変換ベクトルｔを量子化することでデータを抽出する。第１の実施形態では、データ抽出部１０５は、変換ベクトルｔを次のように量子化する。まずデータ抽出部１０５は、変換ベクトルｔのｉ番目（ｉ＝１, . . ., ｎ）の要素ｔiの正負を調べる。もし要素ｔiが負であるならば、データ抽出部１０５は、当該要素ｔiに対応するビットを０と決定する。そうでないなら、データ抽出部１０５は、要素ｔiに対応するビットを１と決定する。
【００６４】
データ抽出部１０５は、上述した量子化を、ｉ＝１, . . ., ｎの全ての要素ｔiについて実行する。これによりデータ抽出部１０５は、画像Ｉｉｎ＿８０に埋め込まれたデータＤｅに対応するデータＤｄを抽出する。つまりデータ抽出部１０５は、画像Ｉｉｎ＿８０からデータＤｄを復号する。
【００６５】
抽出されたデータＤｄのビットの列をｂ’1, . . ., ｂ’nと表記するするならば、ビットｂ’i（ｉ＝１, . . ., ｎ）は、次式のように表される。
【数３】
0005586705.tif 000004
【００６６】
図１６は、データ抽出部１０５による変換ベクトルｔの量子化の例を示す図である。図１６の例では、変換ベクトルｔはｔ＝（−１００, ＋１００, −１００, −１００, ＋１００, ＋１００, −１００, ＋１００）である。データ抽出部１０５は、この変換ベクトルｔ＝（−１００, ＋１００, −１００, −１００, ＋１００, ＋１００, −１００, ＋１００）の要素を、前記式に従って図１６において矢印１６０で示すように量子化する。これによりデータ抽出部１０５は、データＤｄ＝（０, １, ０, ０, １, １, ０, １）を抽出する。このデータＤｄは、データＤｅ（つまり画像Ｉｉｎ＿８０に埋め込まれたデータＤｅ）に一致する。
【００６７】
データ出力ユニット１０６は、データ抽出部１０５によって抽出されたデータＤｅを外部装置または記憶装置９３に出力する。つまりデータ出力ユニット１０６が、データＤｅを、入出力コントローラ９４及び出力インタフェース９７を介して外部装置に送信しても良い。またデータ出力ユニット１０６が、データＤｅを、記憶装置９３の作業データ領域９３ｂに格納して更なる情報処理の用に供しても良い。
【００６８】
＜第２の実施形態＞
次に、第２の実施形態について説明する。第２の実施形態の特徴は、適用する基準図形が線分（第１の線分）ではなくて当該線分（第１の線分）を含む４つの線分から構成される長方形（矩形）である点と、適用される符号化用基底が前記第１の実施形態におけるそれとは異なる点にある。この相違により、第２の実施形態で適用されるデータ埋め込みソフトウェア及びデータ抽出ソフトウェアも、前記第１の実施形態で適用されるそれとは一部の機能が異なる。具体的には、第２の実施形態で適用される、図形生成部、当てはめユニット及び残差算出部それぞれの機能が、前記第１の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第２の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第１の実施形態におけるそれと等価である。そこで、便宜的に図１、図２、図９及び図１０を参照して第２の実施形態について説明する。
【００６９】
まず、第２の実施形態におけるデータ埋め込み装置１０の動作について説明する。第２の実施形態において、データ埋め込み装置１０内のデータ取得ユニット２１、重みベクトル生成部２２及び変位算出部２３の動作は、前記第１の実施形態と同様である。但し、変位算出部２３は、符号化用基底ξ1，ξ2，ξ3，ξ4，ξ5，ξ6，ξ7及びξ8として、それぞれ、波数が１６，１８，２０，２２，２４，２６及び３０の余弦関数を用いる。図１７は、第２の実施形態で適用される符号化用基底ξ1，ξ2，ξ3，ξ4，ξ5，ξ6，ξ7及びξ8の例を示す。
【００７０】
今、変位算出部２３が、データＤｅのビット列に基づいて生成された重みベクトルｗと、図１７に示す符号化用基底ξ1, . . ., ξ8とを用いて、前述の変位波形Ｗｄを算出したものとする。図形生成部２４は、変位波形Ｗｄによって示される変位に基づいて基準図形Ｇｒを変形することにより、当該基準図形Ｇｒが変形された図形Ｇｄ（つまりデータＤｅが埋め込まれた図形Ｇｄから構成されるオブジェクト）を生成する。
【００７１】
以下、図形生成部２４による図形生成の詳細について図１８を参照して説明する。図１８は、第２の実施形態で適用される図形生成部２４による典型的な図形生成を説明するための図である。第２の実施形態で使用される基準図形Ｇｒは、図１８において破線で示される長方形である。図１８には、基準図形Ｇｒの一部を含む矩形領域１８１の拡大図も示されている。
【００７２】
図形生成部２４は、変位波形Ｗｄを表す変位ベクトルｄのｍ個の要素にそれぞれ対応して、前記長方形（つまり基準図形Ｇｒ）上に等間隔でｍ個の基準点を配置する。これらのｍ個の基準点は、例えば、前記長方形の左上の角を始点として時計回りに配置されるものとする。これらの基準点（より詳細には、矩形領域１８１内の基準点）は、図１８において黒丸で示されている。図１８には、前記ｍ個の基準点の１つとして、ｊ番目の基準点１８２が示されている。
【００７３】
図形生成部２４は、前記ｍ個の基準点の各々について変位波形Ｗｄを表す変位ベクトルｄの要素の値に対応する変位だけ当該基準点からずれた点を取得する。第２の実施形態において、前記基準点からずれた点は、前記変位が正であるならば、前記長方形の外側の点である。前記長方形の外側の点とは、対応する基準点が配置された前記長方形上の辺が、上辺なら上方向に、右辺なら右方向に、下辺なら下方向に、左辺なら左方向に前記基準点からずれた点である。同様に、前記変位が正でないならば、前記基準点からずれた点は前記長方形の内側の点である。図１８に示されるｊ番目の基準点１８２を例に取ると、図形生成部２４は、当該基準点１８２を通る前記長方形（基準図形Ｇｒ）の辺（ここでは右辺）の法線１８３の方向に、変位ベクトルｄの要素ｄjの値に対応する変位１８４だけずれた点を取得する。
【００７４】
図形生成部２４は、取得されたｍ個の点の列をつなぐ多角形を図形Ｇｄとして生成する。生成された多角形は、閉曲線と見なすこともできる。
【００７５】
上述したように図形生成部２４は、変位波形Ｗｄを表す変位ベクトルｄに基づいて、当該変位波形Ｗｄの表す変位に対応するように前記長方形（基準図形Ｇｒ）を変形することにより図形Ｇｄを生成する。図１９は、第２の実施形態において図形生成部２４によって生成された図形Ｇｄの例を示す。この図形Ｇｄの基準図形Ｇｒからの変形の度合いは、データＤｅのビット列の内容に対応する。よって、図１９に示す図形Ｇｄから構成されるオブジェクトは、データＤｅが埋め込まれた図形から構成されるオブジェクト（第２のオブジェクト）であるといえる。
【００７６】
第２の実施形態において図形出力ユニット２５は、図形生成部２４によって生成された図形Ｇｄ（図形Ｇｄから構成されるオブジェクト）を含む帳票画像を、入出力コントローラ１４を介してプリンタ１８に出力する。図２０は、図１９に示される図形Ｇｄを含む帳票画像２００の例を示す。第２の実施形態では、図２０に示す帳票画像２００は、図形出力ユニット２５が図形Ｇｄ（第２のオブジェクト）と他の任意の罫線、図形及び文字とを記憶装置１３の作業データ領域１３ｂ内で合成することにより生成される。帳票画像２００は、データ埋め込み装置１０内またはデータ埋め込み装置１０外の別の装置（例えば画像生成部）によって生成しても良い。
【００７７】
次に、第２の実施形態におけるデータ抽出装置９０の動作について説明する。まず図２０に示す帳票画像（つまり図形Ｇｄを含む帳票画像）２００が、画像取得ユニット１０１によって画像Ｉｉｎとして取得されたものとする。そこで、第２の実施形態における以下の説明では、前記取得された画像Ｉｉｎを画像Ｉｉｎ＿２００と表記する。
【００７８】
当てはめユニット１０２は、画像Ｉｉｎ＿２００に基準図形を当てはめる。第２の実施形態では、基準図形として長方形が適用される。当てはめユニット１０２は、帳票画像２００に、前記長方形（つまり基準図形）を当てはめるために、当該帳票画像２００から当該長方形を検出する。以下、この当てはめユニット１０２による基準図形の当てはめの詳細について図２１及び図２２を参照して説明する。
【００７９】
図２１は、第２の実施形態において画像取得ユニット１０１によって取得された画像Ｉｉｎ＿２００と、当該画像Ｉｉｎ＿２００から前記長方形を検出するのに用いられる４つの検出領域２１１，２１２，２１３及び２１４の例を示す。検出領域２１１，２１２，２１３及び２１４は、前記長方形（つまり図形Ｇｄの生成に用いられた基準図形Ｇｒ）のそれぞれ上辺、下辺、左辺及び右辺が位置すると期待される例えば矩形領域である。検出領域２１１乃至２１４の各々は、当該検出領域（つまり矩形領域）が有する４つの角の帳票画像２００における座標の組の形式で、オペレータまたは開発者により予め定められる。
【００８０】
当てはめユニット１０は、図２１に示される画像Ｉｉｎ＿２００上の検出領域２１１乃至２１４から、例えばＨｏｕｇｈ変換により、前記４つの辺に対応する直線（線分）を検出する。図２２は、当てはめユニット１０２によって検出される４つの直線２２１，２２２，２２３及び２２４の例を示す。図２２には、直線２２１及び２２３の交点２２５と、直線２２２及び２２３の交点２２６と、直線２２１及び２２４の交点２２７と、直線２２２及び２２４の交点２２８も示されている。
【００８１】
当てはめユニット１０は、検出された４つの直線２２１乃至２２４に基づいて、前記４つの辺のうちの互いに隣り合う辺に対応する直線同士の交点２２５乃至２２８の座標を算出する。算出された交点２２５乃至２２８の座標は、前記長方形の４つの角の座標を表す。当てはめユニット１０は、算出された交点２２５乃至２２８の座標で表される長方形を基準図形Ｇｒとして画像Ｉｉｎ＿２００に当てはめる。つまり当てはめユニット１０２は、前記長方形の４つの角が交点２２５乃至２２８の座標に一致する位置に、当該長方形を設定する。よって前記長方形（つまり基準図形Ｇｒ）を画像Ｉｉｎ＿２００に当てはめることは、画像Ｉｉｎ＿２００から４つの直線２２１乃至２２４を検出して、当該直線２２１乃至２２４の交点２２５乃至２２８の座標を算出することと等価である。
【００８２】
残差算出部１０３は、当てはめユニット１０２による当てはめの残差の配列から構成される残差ベクトルｒを次のように算出する。まず残差算出部１０３は、当てはめユニット１０２によって画像Ｉｉｎ＿２００に当てはめられた基準図形Ｇｒ（つまり長方形）上に等間隔でｍ個の基準点（つまりｊ＝１, . . ., ｍの基準点）を配置する。このｍ個の基準点の配置は、図形生成部２４によるｍ個の基準点の配置（図１８参照）と同様である。
【００８３】
図２３は、第２の実施形態における残差算出部１０３による典型的な残差算出を説明するための図である。図２３には、画像Ｉｉｎ＿２００の一部を含む矩形領域２３１の拡大図も示されている。画像Ｉｉｎ＿２００に当てはめられた基準図形Ｇｒ（つまり長方形）上のｊ番目の基準点が、図２３に示される基準点２３２であるものとする。
【００８４】
残差算出部１０３は、基準点２３２における長方形の辺（ここでは右辺）の法線２３３上で画像Ｉｉｎ＿２００のエッジ２３４（より詳細には画像Ｉｉｎ＿２００内の図形Ｇｄのエッジ２３４）を検出する。そして残差算出部１０３は、検出されたエッジ２３４の基準点２３２（つまりｊ番目の基準点）からの変位ｒjを算出し、当該変位ｒjをｊ番目の残差として取得する。前記変位の正負は、第２の実施形態において図形生成部２４で扱われる変位のそれと同様に、エッジ２３４が前記長方形の外側なら正、内側なら負であるものとする。  
残差算出部１０３は、上述したような残差の取得を、ｊ＝１, . . ., ｍの全ての基準点について実行する。以降の動作は前記第１の実施形態と同様である。
【００８５】
第２の実施形態で適用される基準図形Ｇｒは長方形である。しかし、線分以外の基準図形Ｇｒとしては、長方形に限らず、例えば、正方形、平行四辺形、三角形、五角形、六角形、或いは星型など、どのような多角形でもよい。ここで挙げたいずれの形状の多角形を基準図形Ｇｒとして適用しても、当該基準図形Ｇｒ上に等間隔に基準点を配置して、当該基準点の各々について当該基準点における法線を定義することができる。このため図形生成部２４は、第２の実施形態において適用された方法で基準図形Ｇｒ（つまり長方形以外の多角形）を変形して、データＤｅが埋め込まれた図形Ｇｄから構成されるオブジェクト（第２のオブジェクト）を生成することがきる。同様に残差算出部１０３は、第２の実施形態において適用された方法で残差ベクトルを算出することができる。
【００８６】
＜第３の実施形態＞
次に、第３の実施形態について説明する。第３の実施形態の特徴は、適用される基準図形が線分ではなくて楕円である点と、適用される符号化用基底が前記第１の実施形態におけるそれとは異なる点にある。この相違により、第３の実施形態で適用されるデータ埋め込みソフトウェア及びデータ抽出ソフトウェアも、前記第１の実施形態で適用されるそれとは一部の機能が異なる。具体的には、第３の実施形態で適用される、図形生成部、当てはめユニット及び残差算出部それぞれの機能が、前記第１の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第２の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第１の実施形態におけるそれと等価である。そこで、便宜的に図１、図２、図９及び図１０を参照して第３の実施形態について説明する。
【００８７】
まず、第３の実施形態におけるデータ埋め込み装置の動作について説明する。第３の実施形態において、データ取得ユニット２１、重みベクトル生成部２２及び変位算出部２３の動作は、前記第１の実施形態と同様である。但し、変位算出部２３は、第１の実施形態と異なり、図１７に示す符号化用基底ξ1乃至ξ8を適用する。
【００８８】
今、変位算出部２３が、データＤｅのビット列に基づいて生成された重みベクトルｗと、図１７に示す符号化用基底ξ1, . . ., ξ8とを用いて、前述の変位波形Ｗｄを算出したものとする。図形生成部２４は、変位波形Ｗｄによって示される変位に基づいて基準図形Ｇｒを変形することにより、当該基準図形Ｇｒが変形された図形Ｇｄ（つまりデータＤｅが埋め込まれた図形Ｇｄから構成されるオブジェクト）を生成する。
【００８９】
以下、図形生成部２４による図形生成の詳細について図２４を参照して説明する。図２４は、第３の実施形態で適用される図形生成部２４による典型的な図形生成を説明するための図である。第３の実施形態で使用される基準図形Ｇｒは、図２４において破線で示される楕円形（第１の曲線）である。この楕円形は、図２４に示すように、紙面に水平な長軸２４２及び紙面に垂直な短軸２４３を有する。
【００９０】
楕円上の点の座標(ｘ，ｙ)は、パラメータθにより、次式
(ｘ，ｙ)＝(ａｃｏｓθ，ａｓｉｎθ)
のように表される。ここで、ａおよびｂは、予め任意に定められた長軸半径及び短軸半径であるものとする。またθは０≦θ≦２πの範囲内であるものとする。したがってθは、前記楕円形の右端、上端、左端及び下端において、それぞれ、０，π／２、π及び３π／２となる。
【００９１】
図形生成部２４は、変位波形Ｗｄを表す変位ベクトルｄのｍ個の要素にそれぞれ対応して、前記楕円形（つまり基準図形Ｇｒ）上に等間隔でｍ個の基準点を配置する。これらのｍ個の基準点は、例えば、前記楕円形上のθ＝０の点（つまり右端）を始点として時計回りに配置されるものとする。図２４には、前記ｍ個の基準点の１つとして、ｊ番目の基準点２４１が示されている。
【００９２】
図形生成部２４は、前記ｍ個の基準点の各々について変位波形Ｗｄを表す変位ベクトルｄの要素の値に対応する変位だけ当該基準点からずれた点を取得する。第３の実施形態において、前記基準点からずれた点は、図２４に示す前記楕円形（基準図形Ｇｒ）の中心２４１と当該基準点とを結ぶ直線上の点である。楕円形の中心２４１は、当該楕円形の長軸２４２と短軸２４３との交点である。前記直線上の点は、前記変位の正負によって異なり、例えば当該変位が正であるならば前記楕円形の外側に前記基準点からずれた点である。これに対し、前記変位が負であるならば、前記直線上の点は、前記楕円形の内側に前記基準点からずれた点である。
【００９３】
前記基準点からずれた点の取得について、図２４に示されるｊ番目の基準点２４１を例に、より具体的に説明する。ｊ番目の基準点２４１におけるθの値は、次式
θ＝２πｊ／ｍ
により定められる。図形生成部２４は、楕円形の中心２４４と基準点２４１とを結ぶ直線２４５上で、変位ベクトルｄの要素ｄjの値に対応する変位２４６だけ、基準点２４１からずれた点を取得する。図２４の例では、変位２４６は正である。この場合、図形生成部２４は、直線２４５上で楕円形（つまり基準図形Ｇｒ）の外側に変位２４６だけ基準点２４１からずれた点を取得する。
【００９４】
図形生成部２４は、取得されたｍ個の点の列をつなぐ多角形（閉曲線）を図形Ｇｄ（変形曲線）として生成する。このように図形生成部２４は、変位波形Ｗｄを表す変位ベクトルｄに基づいて、当該変位波形Ｗｄの表す変位に対応するように前記楕円形（基準図形Ｇｒ）を変形することにより図形Ｇｄを生成する。図２５は、第３の実施形態において図形生成部２４によって生成された図形Ｇｄの例を示す。この図形Ｇｄの基準図形Ｇｒからの変形の度合いは、データＤｅのビット列の内容に対応する。よって、図２５に示す図形Ｇｄから構成されるオブジェクトは、データＤｅが埋め込まれたオブジェクト（第２のオブジェクト）であるといえる。
【００９５】
第３の実施形態において図形出力ユニット２５は、図形生成部２４によって生成された図２５に示す図形Ｇｄ（図形Ｇｄから構成されるオブジェクト）を含む画像を、入出力コントローラ１４を介してプリンタ１８に出力する。図２６は、図２５に示される図形Ｇｄを含む画像２６０の例を示す。第３の実施形態では、図２６に示す画像２６０は、図形出力ユニット２５が図形Ｇｄから構成されるオブジェクトと他の任意の図形及び文字とを記憶装置１３の作業データ領域１３ｂ内で合成することにより生成される。しかし、画像２６０が、データ埋め込み装置１０内またはデータ埋め込み装置１０外の別の装置（例えば画像生成部）によって生成されても良い。
【００９６】
次に、第３の実施形態におけるデータ抽出装置９０の動作について説明する。まず図２６に示す画像（つまり図形Ｇｄを含む画像）２６０が、画像取得ユニット１０１によって画像Ｉｉｎとして取得されたものとする。そこで、第３の実施形態における以下の説明では、前記取得された画像Ｉｉｎを画像Ｉｉｎ＿２６０と表記する。
【００９７】
当てはめユニット１０２は、画像Ｉｉｎ＿２６０に基準図形を当てはめる。第３の実施形態では、基準図形として楕円形が適用される。当てはめユニット１０２は、画像Ｉｉｎ＿２６０に、前記楕円形（つまり基準図形）を当てはめるために、当該画像Ｉｉｎ＿２６０から当該楕円形を検出する。つまり当てはめユニット１０２は、画像Ｉｉｎ＿２６０に基づいて、Ｈｏｕｇｈ変換により前記楕円形のパラメータ（中心座標、長軸半径、短軸半径、長軸の傾き）を推定することにより、前記楕円形を検出する。当てはめユニット１０２は、前記推定された楕円形のパラメータで表される楕円形（つまり検出された楕円形）を基準図形Ｇｒとして画像Ｉｉｎ＿２６０に当てはめる。図２７は、検出された楕円形が基準図形Ｇｒとして画像Ｉｉｎ＿２６０に当てはめられた例を示す。
【００９８】
残差算出部１０３は、当てはめユニット１０２による当てはめの残差の配列から構成される残差ベクトルｒを次のように算出する。まず残差算出部１０３は、当てはめユニット１０２によって画像Ｉｉｎ＿２６０に当てはめられた基準図形Ｇｒ（つまり楕円形）上に等間隔でｍ個の基準点（つまりｊ＝１, . . ., ｍの基準点）を配置する。このｍ個の基準点の配置は、図形生成部２４による楕円形上へのｍ個の基準点の配置と同様である。
【００９９】
図２８は、第３の実施形態における残差算出部１０３による典型的な残差算出を説明するための図である。図２８には、前記ｍ個の基準点の１つとして、ｊ番目の基準点２８１が示されている。図２８には更に、前記楕円形の長軸２８２、短軸２８３及び中心２８４も示されている。
【０１００】
残差算出部１０３は、前記ｍ個の基準点の各々について変位波形Ｗｄを表す変位ベクトルｄの要素の値に対応する変位だけ当該基準点からずれた点を取得する。図２８に示されるｊ番目の基準点２８１を例に取ると、図形生成部２４は、楕円形の中心２４４と基準点２８１とを結ぶ直線２８５上で画像２６０＿２６０のエッジ２８６、つまり画像Ｉｉｎ＿２６０内の図形Ｇｄのエッジ２８６を検出する。そして残差算出部１０３は、検出されたエッジ２８６の基準点２８１（つまりｊ番目の基準点）からの変位ｒjを算出し、当該変位ｒjをｊ番目の残差として取得する。前記変位の正負は、第３の実施形態において図形生成部２４で扱われる変位のそれと同様に、エッジ２８６が前記楕円形の外側なら正、内側なら負であるものとする。  
残差算出部１０３は、上述したような残差の取得を、ｊ＝１, . . ., ｍの全ての基準点について実行する。以降の動作は前記第１の実施形態と同様である。
【０１０１】
第３の実施形態で適用される基準図形Ｇｒは楕円形である。しかし、線分及び多角形以外の基準図形Ｇｒとしては、楕円形に限らず、例えば、円形、或いは卵型など、どのような閉曲線でもよい。ここで挙げたいずれの形状の閉曲線を基準図形Ｇｒとして適用しても、当該基準図形Ｇｒ上に等間隔に基準点を配置することができる。これらの基準点の各々における変位及び残差が、前記閉曲線の中心と当該基準点とを結ぶ直線上に定義されても良いし、当該基準点における前記閉曲線の法線方向の直線上に定義されても良い。
【０１０２】
＜第４の実施形態＞
次に、第４の実施形態について説明する。第４の実施形態の特徴は、適用される符号化用基底が前記第１乃至第３の実施形態におけるそれとは異なる点にある。この相違により、第４の実施形態で適用されるデータ抽出部の機能（より詳細には、変換ベクトルの計算方法）は、前記第１乃至第３の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第４の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、例えば前記第１の実施形態におけるそれと等価である。そこで、便宜的に図１、図２、図９及び図１０を参照して第４の実施形態について説明する。
【０１０３】
第４の実施形態において、データ埋め込み装置１０の変位算出部２３は、符号化用基底ξ1，ξ2，ξ3，ξ4，ξ5，ξ6，ξ7及びξ8として、波数が異なるのごぎり波を用いる。図２９は、第４の実施形態で適用される符号化用基底ξ1，ξ2，ξ3，ξ4，ξ5，ξ6，ξ7及びξ8の例を示す。
【０１０４】
第４の実施形態において、データ抽出装置９０の内積ベクトル算出部１０４は、図２９に示される符号化用基底ξ1乃至ξ8と同一の基底の組を復号化基底ζ1乃至ζ8として用いる。この場合、第４の実施形態におけるデータ抽出部１０５の働きは、前記第１の実施形態におけるそれと、次の点で異なる。
【０１０５】
前記第１の実施形態では、データ抽出部１０５は、内積ベクトルｐから変換ベクトルｔへの変換に恒等写像を用いる。これに対して第４の実施形態では、データ抽出部１０５は、符号化用基底ξ1, . . ., ξn（ここでは、ｎ＝８）と復号化用基底ζ1, . . ., ζmとの内積が配置された行列ＺTΞの逆行列 (ＺTΞ)-1を内積ベクトルｐに乗ずる線形変換を用いる。この行列ＺTΞは次式のように表される。
【数４】
0005586705.tif 000005
【０１０６】
ここで、線形変換を用いる理由について説明する。前記第１乃至第３実施形態において変位算出部２３は、符号化用基底ξ1, . . ., ξnとして、波数、または関数種別（正弦関数であるか余弦関数であるかの種別）のいずれかが異なる正弦波の組み合わせを用いている。このため、符号化用基底ξ1, . . ., ξnはお互いに直交している。よって内積ベクトル算出部１０４が、符号化用基底と同じ組み合わせの復号化用基底を用いることで、前記行列ＺTΞは次式
ＺTΞ＝ΞTΞ＝ｄｉａｇ(‖ξ1‖2, . . ., ‖ξn‖2)
のようになる。ここで、ｄｉａｇ(‖ξ1‖2, . . ., ‖ξn‖2)は‖ξ1‖2, . . ., ‖ξn‖2を対角要素に持つ行列である。
【０１０７】
この場合、内積ベクトル算出部１０４は、ｉ＝１, . . ., ｎについて、
ｐ＝ＺTΞ＝ΞTΞｗ＝ｄｉａｇ(‖ξ1‖2, . . ., ‖ξn‖2)ｗ
すなわち
ｐi＝‖ξi‖2ｗi
という比例関係を成立させることができる。この比例関係により、内積ベクトルｐの要素ｐiの符号は、重みベクトルｗの要素ｗiの符号で定まる。しかも、第１乃至第３の実施形態では、重みベクトルｗの要素ｗiの符号でデータが符号化される。このため、データ抽出装置９０内のデータ抽出部１０５は、内積ベクトルｐ（＝変換ベクトルｔ）の要素ｐi（＝ｔi）の符号を調べるだけで符号化されたデータの対応するビットｂiを抽出することができる。
【０１０８】
しかしながら、第４の実施形態で適用される符号化用基底は、直交しない基底を含む。このため、重みベクトルｗの要素ｗiと内積ベクトルｐの要素ｐiとの間に前述のような比例関係は成立しない。
【０１０９】
そこで第４の実施形態では、データ抽出部１０５は、内積ベクトルｐの変換に次のような線形変換を用いる。つまりデータ抽出部１０５は、前記行列ＺTΞの逆行列(ＺTΞ)-1を内積ベクトルｐに乗じる。この線形変換(ＺTΞ)-1ｐの結果は、次式
(ＺTΞ)-1ｐ＝(ＺTΞ)-1ＺTΞｗ＝ｗ
のように表される。従って、(ＺTΞ)-1ｐは重みベクトルｗと一致する。よってデータ抽出部１０５は、(ＺTΞ)-1ｐから容易にデータを抽出することができる。
【０１１０】
第４の実施形態では、符号化用基底として図２９に示すのこぎり波が用いられる。しかし、符号化用基底の組み合わせとしては、互いに線形独立な基底の組み合わせならばいかなる基底の組み合わせを用いてもよい。また、復号化用基底の組み合わせには、前記行列ＺTΞが正則となる組み合わせならば、いかなる組み合わせを用いても良い。線形独立な基底の組み合わせの例としては、前記第１実施形態で用いられた波数の異なる正弦関数と余弦関数の組み合わせ（図４参照）、前記第２の実施形態で用いられた波数の異なる余弦関数の組み合わせ（図１７参照）の他、正弦関数と余弦関数の線形結合の組み合わせが挙げられる。また、前記行列ＺTΞ（つまり、符号化用基底と復号化用基底との内積が配置された行列ＺTΞ）が正則となる復号化用基底の組み合わせとしては、例えば符号化用基底と同一の組み合わせが挙げられる。符号化用基底と復号化用基底の組み合わせとしては、上述の条件に合致する組み合わせならばいかなる組み合わせを用いても良い。
【０１１１】
＜第５の実施形態＞
次に、第５の実施形態について説明する。第５の実施形態の特徴は、データＤｅが埋め込まれるオブジェクトに、図形（基準図形Ｇｒ）ではなくて、画像（原画像Ｉｏｒｇ）が用いられる点にある。
【０１１２】
図３０は、第５の実施形態に係るデータ埋め込み装置３００の典型的なハードウェア構成を示すブロック図である。なお、図３０において、図１に示すデータ埋め込み装置１０のハードウェア構成と等価な要素には同一参照番号を付してある。図３０に示すデータ埋め込み装置３００は、例えば第１の実施形態（第１乃至第４の実施形態）で適用されるデータ埋め込み装置１０（図１参照）と同様に、パーソナルコンピュータ（ＰＣ）１１を用いて実現される。但し、第５の実施形態においてＰＣ１１の記憶装置１３のソフトウェア領域１３ａに格納されるデータ埋め込みソフトウェアの機能は、第１の実施形態におけるそれとは一部が異なる。
【０１１３】
一方、第５の実施形態で適用されるデータ抽出装置は、例えば前記第１の実施形態におけるそれと、データ抽出ソフトウェアの一部の機能（より詳細には、残差算出部１０３の機能）を除いてほぼ等価である。そこでデータ抽出装置については、便宜的に図９及び図１０を参照する。
【０１１４】
図３０に示すデータ埋め込み装置３００の入出力コントローラ１４は、ディスプレイ１６、キーボード１７及びプリンタ１８だけでなく、スキャナ３０１とも接続されている。スキャナ３０１は、前記原画像Ｉｏｒｇとして用いられる画像を例えば印刷物から取得するのに用いられる。なお、入出力コントローラ１４が、スキャナ３０１以外の撮像装置、例えばカメラと接続されていても良い。
【０１１５】
図３１は、データ埋め込み装置３００の典型的な機能構成を示すブロック図である。図３１において、図２に示すデータ埋め込み装置１０の機能構成と等価な要素には同一参照番号を付してある。データ埋め込み装置３００の機能構成は、図３０に示されるＰＣ１１のＣＰＵ１２が前記データ埋め込みソフトウェアを実行することにより実現される。データ埋め込み装置３００は、データ埋め込み装置１０と同様に、データ取得ユニット２１、重みベクトル生成部２２及び変位算出部２３を備えている。データ埋め込み装置３００は更に、データ埋め込み装置１０が有する図形生成部２４及び図形出力ユニット２５に代えて、原画像取得ユニット３１１、画像変形ユニット３１２及び画像出力ユニット３１３を備えている。第５の実施形態において、データ取得ユニット２１、重みベクトル生成部２２、変位算出部２３、原画像取得ユニット３１１、画像変形ユニット３１２及び画像出力ユニット３１３はソフトウェアモジュールにより構成されるものとする。しかし、これらのソフトウェアモジュールの一部または全部がハードウェアモジュールに置き換えられても構わない。
【０１１６】
原画像取得ユニット３１１は、データＤｅ（つまりデータ取得ユニット２１によって取得されたデータＤｅ）が埋め込まれるオブジェクト（第１のオブジェクト）として用いられる原画像Ｉｏｒｇを取得する。画像変形ユニット３１２は、変位波形Ｗｄ（つまり変位算出部２３によって算出された変位波形Ｗｄ）に基づいて、原画像Ｉｏｒｇを変形することにより、当該原画像Ｉｏｒｇが変形された画像Ｉｄ（第２のオブジェクト）を生成する。以下、画像Ｉｄを変形画像Ｉｄと称する。画像出力ユニット３１３は、この変形画像ＩｄをデータＤｅが埋め込まれた画像として出力する。
【０１１７】
次に、第５の実施形態におけるデータ埋め込み装置３００の動作について説明する。このデータ埋め込み装置３００内のデータ取得ユニット２１、重みベクトル生成部２２及び変位算出部２３の動作は、前記第１の実施形態におけるデータ埋め込み装置１０内のそれと同様である。
【０１１８】
今、データ埋め込み装置３００の変位算出部２３が、データＤｅのビット列に基づいて生成された重みベクトルｗと、図１７に示す符号化用基底ξ1, . . ., ξ8とを用いて、前述の変位波形Ｗｄを算出したものとする。一方、スキャナ３０１が、原画像Ｉｏｒｇが印刷された印刷物から当該原画像Ｉｏｒｇを取得したものとする。データ埋め込み装置３００の入出力コントローラ１４は、このスキャナ３０１によって取得された原画像Ｉｏｒｇを、当該データ埋め込み装置３００内に入力する。原画像取得ユニット３１１は、データ埋め込み装置３００内に入力された原画像Ｉｏｒｇを取得して記憶装置１３の作業データ領域１３ｂに格納する。図３２は、この原画像Ｉｏｒｇの例を示す。原画像Ｉｏｒｇは、横方向の線分３２１乃至３２５を有する。図３２の例では、原画像Ｉｏｒｇは帳票画像であり、横方向の線分３２１乃至３２５はいずれも横罫線である。また原画像Ｉｏｒｇは、文字列も有する。線分３２１は、第１の実施形態における基準図形Ｇｒ（第１の線分）に対応する。
【０１１９】
データ埋め込み装置３００の画像変形ユニット３１２は、変位波形Ｗｄによって示される変位に基づいて原画像Ｉｏｒｇの少なくとも一部を変形することにより、当該原画像Ｉｏｒｇが変形された画像Ｉｄ（つまりデータＤｅが埋め込まれた変形画像Ｉｄ）を生成する。
【０１２０】
以下、画像変形ユニット３１２による画像変形の詳細について説明する。図３３は、画像変形ユニット３１２によって変形されるべき原画像Ｉｏｒｇの範囲の例を示す。図３３の例では、前記範囲は、予め定められた横方向の座標（ｘ座標）ｘ1及びｘ2（ｘ2＞ｘ1）で規定される。つまり横方向の座標ｘが座標ｘ1及びｘ2の範囲に入る原画像Ｉｏｒｇの部分が、変形されるべき原画像Ｉｏｒｇの範囲である。
【０１２１】
ここで原画像Ｉｏｒｇの横方向の画素数（横幅）は１０００であり、横方向の座標ｘは原画像Ｉｏｒｇにおける画素位置で示されるものとする。また、原画像Ｉｏｒｇの左上の角が原点であり、その座標ｘは０である。また座標ｘ1及びｘ2は、それぞれ、例えば１００及び９００であるものとする。
【０１２２】
この場合、画像変形ユニット３１２は、横方向の座標ｘが座標ｘ1＝１００及び座標ｘ2＝９００の範囲（ｘ1≦ｘ≦ｘ2）に入る原画像Ｉｏｒｇ（つまり作業データ領域１３ｂ内の原画像Ｉｏｒｇ）の部分を、変位波形Ｗｄを表す変位ベクトルｄの要素の値に基づいて変形する。この変形されるべき原画像Ｉｏｒｇの部分は、横方向の線分３２１乃至３２５のうち、当該線分３２１乃至３２５上の横方向の座標ｘが座標ｘ1＝１００及び座標ｘ2＝９００の範囲（ｘ1≦ｘ≦ｘ2）に入る部分を含む。この原画像Ｉｏｒｇの変形は、次のように行われる。
【０１２３】
まず画像変形ユニット３１２は、原画像Ｉｏｒｇ上の座標ｘ（ｘ1≦ｘ≦ｘ2）の値毎にインデックスjを次式に従って算出する。
【数５】
0005586705.tif 000006
【０１２４】
ここで、ｆｌｏｏｒ（  ）における“ｆｌｏｏｒ”は、括弧内の値の小数点以下を切り下げることを表す。
【０１２５】
次に画像変形ユニット３１２は、前記座標ｘの値毎に、変位ベクトルｄのj番目の要素ｄjの値（つまり変位ｄj）だけ、作業データ領域１３ｂ内の原画像Ｉｏｒｇの対応する部分（つまり座標ｘの画素列）を縦方向（図３３の上または下方向）にずらす。前記j番目の要素ｄjは、算出されたインデックスjで示される。なお、変位ｄjは画素数で示されるものとする。
【０１２６】
第５の実施形態では、座標ｘにおいて変位ｄjが正であるならば、画像変形ユニット３１２は、原画像Ｉｏｒｇ上で座標ｘの画素列全体を例えば下側にｄj画素ずらす。これに対し、座標ｘにおいて変位ｄjが負であるならば、画像変形ユニット３１２は、原画像Ｉｏｒｇ上で座標ｘの画素列全体を上側にｄj画素ずらす。画像変形ユニット３１２は、この座標ｘの値毎に対応する画素列全体が変位ｄjだけ変形された原画像Ｉｏｒｇを、作業データ領域１３ｂの別の領域内の変形画像Ｉｄに複写する。このように画像変形ユニット３１２はオブジェクト生成部として機能して、変位波形Ｗｄによって示される変位に基づいて、図３２に示す原画像Ｉｏｒｇ（第１のオブジェクト）が変形された変形画像Ｉｄ（第２のオブジェクト）を生成する。
【０１２７】
図３４は、図３３に示される範囲の原画像Ｉｏｒｇの部分を変形することによって生成された変形画像Ｉｄの例を示す。変形画像Ｉｄは、歪みのある線分（以下、変形線分と称する）３４１乃至３４５を含む。この変形線分３４１乃至３４５は、原画像Ｉｏｒｇの線分（罫線）３２１乃至３２５（図３２参照）に対応する。変形線分３４１は、第１の実施形態における図形Ｇｄにも対応する。なお、第５の実施形態では、座標ｘが前記範囲（ｘ1≦ｘ≦ｘ2）に入る原画像Ｉｏｒｇの部分が変形される。したがって、この範囲に入る文字列も変形される。しかし、図３４では、作図の都合で、文字列が変形された状態は表現されていない。
【０１２８】
変形画像Ｉｄ内の変形線分３４１乃至３４５の、原画像Ｉｏｒｇ内の線分３２１乃至３２５からの変形の度合いは、データＤｅのビット列の内容に対応する。つまり、変形画像Ｉｄは、データＤｅが埋め込まれた画像であるといえる。
【０１２９】
画像出力ユニット３１３は、画像変形ユニット３１２によって記憶装置１３の作業データ領域１３ｂ内に生成された変形画像Ｉｄ（変形画像Ｉｄから構成される第２のオブジェクト）を出力する。ここでは画像出力ユニット３１３は、変形画像Ｉｄを、入出力コントローラ１４を介してプリンタ１８に出力するものとする。この場合、プリンタ１８は、画像出力ユニット３１３によって出力された変形画像Ｉｄを、例えば紙面に印刷する。しかし、後続の情報処理のために、画像出力ユニット３１３が、変形画像Ｉｄを、入出力コントローラ１４を介して外部の記憶装置に出力しても良い。また、変形画像Ｉｄが、データ埋め込み装置１０内で後続の情報処理に供されても良い。
【０１３０】
次に第５の実施形態におけるデータ抽出装置９０の動作について説明する。まず図３４に示す画像Ｉｄが、画像取得ユニット１０１によって画像Ｉｉｎとして取得されたものとする。
【０１３１】
当てはめユニット１０２は、画像Ｉｉｎに基準図形を当てはめる。第５の実施形態では、基準図形として線分が適用される。当てはめユニット１０２は、画像Ｉｉｎに、前記線分（つまり基準図形）を当てはめるために、当該画像Ｉｉｎから１本以上の線分を検出する。以下、画像Ｉｉｎからの線分の検出について説明する。
【０１３２】
図３５は、画像Ｉｉｎと当該画像Ｉｉｎ上の検出範囲の例を示す。この検出範囲は、画像Ｉｉｎから１本以上の線分を検出するために当該画像Ｉｉｎ上に設定される。図３５の例では、この検出範囲は、画像Ｉｉｎ上の横方向の座標をｘとすると、座標ｘが座標ｘ1及びｘ2の間に入る画像Ｉｉｎ上の部分（つまりｘ1≦ｘ≦ｘ2の範囲）である。この検出範囲は、前述の変形されるべき原画像Ｉｏｒｇの範囲と一致する。
【０１３３】
当てはめユニット１０２は、図３５に示す画像Ｉｉｎの前記検出範囲ｘ1≦ｘ≦ｘ2から、長さが閾値lTH以上の直線（線分）をＨｏｕｇｈ変換により検出する。閾値lTHは、次式
lTH＝ｃ(ｘ2−ｘ1)
によって示される。ここで、ｃは予め任意に定めた定数であり、例えば０．９である。また、検出された線分の本数をｎLとする。更に、検出されたｎL本の線分をｌ1, . . ., ｌnLとし、ｋ番目の線分をｌkとする。図３５の画像Ｉｉｎの例では、図３２の原画像Ｉｏｒｇの例からも明らかなように、ｎLは５である。つまり、図３２に示される線分３２１乃至３２５に対応する５本の線分が検出される。当てはめユニット１０２は、検出された５本の線分の各々を基準図形Ｇｒとして画像Ｉｉｎに当てはめる。
【０１３４】
残差算出部１０３は、当てはめユニット１０２による当てはめの残差の配列から構成される残差ベクトルｒを算出する。以下、この残差算出部１０３による残差ベクトルｒの算出の詳細について説明する。
【０１３５】
まず残差算出部１０３は、残差ベクトルｒの各要素ｒj（ｊ＝１, . . ., ｍ）について、座標ｘjを次式に従って算出する。
【数６】
0005586705.tif 000007
【０１３６】
次に残差算出部１０３は、検出されたｎL本の線分ｌk（ｋ＝１, . . ., ｎL）の各々について、座標ｘjにおける当てはめの残差ｒk,jを算出する。残差算出部１０３は、ｎL本の線分ｌkの全てについて、座標ｘjにおける当てはめの残差ｒk,jを算出すると、これらの残差ｒk,jの平均値ｒjを次式に従って算出する。
【数７】
0005586705.tif 000008
【０１３７】
残差算出部１０３は、算出された平均値ｒjを残差ベクトルｒのｊ番目の要素として記憶装置１３の作業データ領域１３ｂに格納する。残差算出部１０３は、上述した残差ｒk,jの算出と平均値ｒjの算出とを、ｊ＝１, . . ., ｍの各々について実行する。データ抽出装置９０における以降の動作は前記第１の実施形態と同様である。
【０１３８】
前記第５の実施形態では、予め定められた範囲（つまりｘ1≦ｘ≦ｘ2の範囲）内の原画像Ｉｏｒｇの部分が変形される。しかし前記範囲内の直線（線分）のみが変形されても良い。つまり画像変形ユニット３１２が、前記範囲内の原画像Ｉｏｒｇの部分から、例えば横方向の全ての直線（線分）をＨｏｕｇｈ変換により検出し、検出された直線のみを、変位波形Ｗｄによって示される変位に基づいて変形しても良い。
【０１３９】
また、前記第５の実施形態では、原画像Ｉｏｒｇが横方向の線分３２１乃至３２５を有する帳票画像である。しかし、原画像Ｉｏｒｇは帳票画像以外の画像であっても良く、また原画像Ｉｏｒｇが曲線（閉曲線または開曲線）を有する画像であっても良い。この場合、当てはめユニット１０２による当てはめに原画像Ｉｏｒｇに対応する画像Ｉｉｎから検出される曲線を用いても良い。また画像変形ユニット３１２が、原画像Ｉｏｒｇの予め定められた範囲から検出される輪郭線（より詳細には輪郭画素の系列から構成される輪郭線）を、変位波形Ｗｄによって示される変位に基づいて変形しても良い。
【０１４０】
＜第６の実施形態＞
次に、第６の実施形態について説明する。第６の実施形態の特徴は、データ埋め込み装置における重みベクトル生成部及びデータ抽出装置におけるデータ抽出部それぞれの機能が前記第１の実施形態におけるそれと相違する点にある。しかし、これらの相違点を除けば、第６の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第１の実施形態におけるそれと等価である。そこで、便宜的に図１、図２、図９及び図１０を参照して、第６の実施形態について、前記第１の実施形態と相違する点を中心に説明する。
【０１４１】
まず、第６の実施形態におけるデータ埋め込み装置１０の動作について説明する。ここでは、データ取得ユニット２１によって取得されたデータＤｅが、長さがｎ’＝２ｎのビット列から構成されるものとする。また、この長さがｎ’＝２ｎのビット列において隣り合うビットをｂ2i及びｂ2i+1（ｉ＝１, . . ., ｎ）とする。ｉは前記隣り合うビットｂ2i及びｂ2i+1の対の番号を示す。
【０１４２】
重みベクトル生成部２２は、長さがｎ’＝２ｎのビット列において隣り合うビットｂ2i，ｂ2i+1の対（つまりｉ番目のビット対）を、例えば次式に従って、−３，−１，＋１または＋３のいずれかの重みｗiに変換する。
【数８】
0005586705.tif 000009
【０１４３】
重みベクトル生成部２２は、前記重みｗiを、重みベクトルｗのｉ番目の要素ｗiとして設定する。つまり重みベクトル生成部２２は、前記ｉ番目のビット対を、前記式に従って重みベクトルｗのｉ番目の要素ｗiに変換する。
【０１４４】
重みベクトル生成部２２は、上述の変換を、ｉ＝１, . . ., ｎの全てのビットｂ2i，ｂ2i+1の対について実行する。これにより重みベクトル生成部２２は、ｉ＝１, . . ., ｎの要素ｗiの配列から構成される重みベクトルｗを生成する。データ埋め込み装置１０における以降の動作は、前記第１の実施形態と同様である。
【０１４５】
図３６は、上述した重みベクトル生成部２２による重みベクトル生成の例を示す。図３６の例では、データＤｅのビット列は前記第１の実施形態と同様に“０１００１１０１”であり、その長さｎ’＝２ｎは８である。つまりｎ＝４である。重みベクトル生成部２２は、このビット列“０１００１１０１”において隣り合うビットの対に基づき、図３６において矢印３６０で示すように、重みベクトルｗ＝（−１, −３, ＋３, −１）を生成する。
【０１４６】
次に、第６の実施形態におけるデータ抽出装置９０の動作について説明する。第６の実施形態において、データ抽出装置９０の画像取得ユニット１０１、当てはめユニット１０２、残差算出部１０３及び内積ベクトル算出部１０４のそれぞれの動作は、前記第１の実施形態と同様である。
【０１４７】
今、内積ベクトル算出部１０４により内積ベクトルｐが取得されたものとする。データ抽出部１０５は、内積ベクトルｐに対応する変換ベクトルｔを、以下に述べるように量子化する。ここでは、前記第１の実施形態と同様に、変換ベクトルｔが内積ベクトルｐに等しいものとする。
【０１４８】
データ抽出部１０５は、変換ベクトルｔのｉ番目（ｉ＝１, . . ., ｎ）の要素ｔiを−３，−１，＋１及び＋３のうちの最も近い値ｑiに量子化する。つまりデータ抽出部１０５は、ｔiが−２よりも小さいならば（ｔi＜−２）、ｔiをｑi＝−３に量子化する。またデータ抽出部１０５は、ｔiが−２以上で且つ０よりも小さいならば（−２≦ｔi＜０）、ｔiをｑi＝−１に量子化する。またデータ抽出部１０５は、ｔiが０以上で且つ＋２よりも小さいならば（０≦ｔi＜＋２）、ｔiをｑi＝＋１に量子化する。更にデータ抽出部１０５は、ｔiが＋２以上であるならば（ｔi≧＋２）、ｔiをｑi＝＋３に量子化する。
【０１４９】
データ抽出部１０５は、上述したような量子化を、ｉ＝１, . . ., ｎの全ての要素ｔiについて実行する。これによりデータ抽出部１０５は、変換ベクトルｔの要素ｔiが量子化された量子化結果ｑi(ｉ＝１, . . ., ｎ)を取得する。
【０１５０】
次にデータ抽出部１０５は、要素ｔiに対応する量子化結果ｑiが−３，−１，＋１または＋３のいずれであるかを判定する。データ抽出部１０５は、この判定の結果に基づき、要素ｔiに対応するｉ番目のビットｂ’2i及びｂ’2i+1の対が、００，０１，１０または１１のいずれであるかを決定する。つまりデータ抽出部１０５は、ｑi＝−３であるならば、ビットｂ’2i及びｂ’2i+1の対が００（ｂ’2i＝０，ｂ’2i+1＝０）であり、ｑi＝−１であるならば、ビットｂ’2i及びｂ’2i+1の対が０１（ｂ’2i＝０，ｂ’2i+1＝１）であると決定する。またデータ抽出部１０５は、ｑi＝＋１であるならば、ビットｂ’2i及びｂ’2i+1の対が１０（ｂ’2i＝１，ｂ’2i+1＝０）であり、ｑi＝＋３であるならば、ビットｂ’2i及びｂ’2i+1の対が１１（ｂ’2i＝１，ｂ’2i+1＝１）であると決定する。
【０１５１】
データ抽出部１０５は、上述の決定をｉ＝１, . . ., ｎの全ての量子化結果ｑiについて実行する。これによりデータ抽出部１０５は、ｎ個のビットｂ’2i及びｂ’2i+1の対の列から構成されるデータＤｄを抽出する。なおデータ抽出部１０５が、ｉ番目の要素ｔiに対応する量子化結果ｑiを取得する毎に、当該量子化結果ｑiに基づいて、ビットｂ’2i及びｂ’2i+1の対が００，０１，１０または１１のいずれであるかを決定しても良い。
【０１５２】
図３７は、上述したデータ抽出部１０５による変換ベクトルｔの量子化の例を示す図である。図３７の例では、変換ベクトルｔはｔ＝（−１．２, −３．１, ＋２．８, −０．９）である。データ抽出部１０５は、この変換ベクトルｔの要素ｔ１＝−１．２，ｔ2＝−３．１，ｔ3＝＋２．８及びｔ4＝−０．９を、図３７において矢印３７１で示すように、それぞれｑ１＝−１，ｑ2＝−３，ｑ3＝＋３及びｑ4＝−１に量子化する。次にデータ抽出部１０５は、ｑ１＝−１，ｑ2＝−３，ｑ3＝＋３及びｑ4＝−１に基づいて、それぞれ対応するビット対を図３７において矢印３７２で示すように０１，００，１１及び０１と決定する。これによりデータ抽出部１０５は、これらのビット対の列０１００１１０１から構成されるデータＤｄを抽出する。
【０１５３】
以上説明した少なくとも１つの実施形態によれば、秘匿性に優れ、且つ美観を損ねないデータ埋め込みを実現する、オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法を提供できる。
【０１５４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
0005586705.tif 000010
【図２】
0005586705.tif 000011
【図３】
0005586705.tif 000012
【図４】
0005586705.tif 000013
【図５】
0005586705.tif 000014
【図６】
0005586705.tif 000015
【図７】
0005586705.tif 000016
【図８】
0005586705.tif 000017
【図９】
0005586705.tif 000018
【図１０】
0005586705.tif 000019
【図１１】
0005586705.tif 000020
【図１２】
0005586705.tif 000021
【図１３】
0005586705.tif 000022
【図１４】
0005586705.tif 000023
【図１５】
0005586705.tif 000024
【図１６】
0005586705.tif 000025
【図１７】
0005586705.tif 000026
【図１８】
0005586705.tif 000027
【図１９】
0005586705.tif 000028
【図２０】
0005586705.tif 000029
【図２１】
0005586705.tif 000030
【図２２】
0005586705.tif 000031
【図２３】
0005586705.tif 000032
【図２４】
0005586705.tif 000033
【図２５】
0005586705.tif 000034
【図２６】
0005586705.tif 000035
【図２７】
0005586705.tif 000036
【図２８】
0005586705.tif 000037
【図２９】
0005586705.tif 000038
【図３０】
0005586705.tif 000039
【図３１】
0005586705.tif 000040
【図３２】
0005586705.tif 000041
【図３３】
0005586705.tif 000042
【図３４】
0005586705.tif 000043
【図３５】
0005586705.tif 000044
【図３６】
0005586705.tif 000045
【図３７】
0005586705.tif 000046