JPWO2014006726A1 - オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法 - Google Patents
オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法 Download PDFInfo
- Publication number
- JPWO2014006726A1 JPWO2014006726A1 JP2012542257A JP2012542257A JPWO2014006726A1 JP WO2014006726 A1 JPWO2014006726 A1 JP WO2014006726A1 JP 2012542257 A JP2012542257 A JP 2012542257A JP 2012542257 A JP2012542257 A JP 2012542257A JP WO2014006726 A1 JPWO2014006726 A1 JP WO2014006726A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- displacement
- curve
- line segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32203—Spatial or amplitude domain methods
- H04N1/32229—Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
実施形態によれば、データ埋め込み装置は、データ取得ユニットとオブジェクト生成部とを含む。前記データ取得ユニットは、第1の線分または第1の曲線を含む第1のオブジェクトに埋め込まれるべき第1のビット列から構成される第1のデータを取得する。前記オブジェクト生成部は、前記第1のオブジェクトの少なくとも前記第1の線分または前記第1の曲線を前記第1のビット列に基づいて変形することにより、前記第1の線分または前記第1の曲線に対して前記第1のビット列に対応する変位を有する変形線分または変形曲線を含み且つ前記第1のデータが埋め込まれた第2のオブジェクトを生成する。
Description
本発明の実施形態は、オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法に関する。
従来から、バーコード印字技術とバーコードデコード技術とが広く利用されている。バーコード印字技術によれば、紙のような印刷媒体にバーコードが印字される。バーコードデコード技術によれば、印字されたバーコードがスキャナ或いはカメラのような撮像装置で読み込まれ、当該読み込まれたバーコードがデコードされる。
また、種々のデータ埋め込み技術も広く利用されている。これらのデータ埋め込み技術は、2次元バーコードの形で画像または印刷物のようなオブジェクトにデータを埋め込む技術を含む。
また、前記データ埋め込み技術は、上述のオブジェクトに視認が困難な形でデータを埋め込む電子透かし技術も含む。電子透かし技術の多くは、前記オブジェクトにドットパターンを重畳する方法を適用する。
また、前記データ埋め込み技術は、凹凸を形成した線分から構成される図形パターンの並びでデータを符号化する技術も含む。この符号化技術は、前記図形パターンの配列を前記オブジェクトに重畳する方法を適用する。
印刷媒体に印字されたバーコードや2次元バーコードは目立つ。このため、バーコードや2次元バーコードは、印刷物の美観を損ねるおそれがある。
また、オブジェクト、例えば印刷物にドットパターンの形で埋めこまれた電子透かしも、次のような理由で当該印刷物の美観を損ねるおそれがある。印刷物からドットパターン(つまり電子透かし)を抽出するためには、当該印刷物をカメラで撮像するのが一般的である。この撮像の際にピント外れや手ぶれ等が発生すると、画像が劣化して当該画像からドットパターンが消失する可能性がある。そこで、画像からドットパターンが消失しない程度に、当該パターンが大きく且つはっきりと印刷される必要がある。このため、本来は視認が困難であるはずの電子透かしが目立ってしまい、秘匿性や美観が損なわれるおそれがある。図形パターンの配列が重畳された印刷物においても同様である。その理由は、図形パターンの配列が重畳された印刷物から当該図形パターンの配列を抽出するためには、当該図形パターンの各々が印刷及び撮像の過程で消失しない程度に大きく且つはっきりと印刷される必要があるためである。
本発明が解決しようとする課題は、秘匿性に優れ、且つ美観を損ねないデータ埋め込みを実現できる、オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法を提供することにある。
実施形態に係るデータ埋め込み装置は、データ取得ユニットと、オブジェクト生成部と、オブジェクト出力ユニットとを具備する。前記データ取得ユニットは、第1の線分または第1の曲線を含む第1のオブジェクトに埋め込まれるべき第1のビット列から構成される第1のデータを取得するように構成されている。前記オブジェクト生成部は、前記第1のオブジェクトの少なくとも前記第1の線分または前記第1の曲線を前記第1のビット列に基づいて変形することにより、前記第1の線分または前記第1の曲線に対して前記第1のビット列に対応する変位を有する変形線分または変形曲線を含み且つ前記第1のデータが埋め込まれた第2のオブジェクトを生成するように構成されている。前記オブジェクト出力ユニットは前記第2のオブジェクトを出力するように構成されている。
以下、実施の形態につき図面を参照して説明する。
<第1の実施形態>
図1は、第1の実施形態に係るデータ埋め込み装置10の典型的なハードウェア構成を示すブロック図である。データ埋め込み装置10はパーソナルコンピュータ(PC)11を用いて実現される。PC11は、CPU12、記憶装置13、入出力コントローラ14及びシステムバス15を備えている。CPU12、記憶装置13及び入出力コントローラ14は、システムバス15によって相互接続されている。
<第1の実施形態>
図1は、第1の実施形態に係るデータ埋め込み装置10の典型的なハードウェア構成を示すブロック図である。データ埋め込み装置10はパーソナルコンピュータ(PC)11を用いて実現される。PC11は、CPU12、記憶装置13、入出力コントローラ14及びシステムバス15を備えている。CPU12、記憶装置13及び入出力コントローラ14は、システムバス15によって相互接続されている。
CPU12は、画像または印刷物のようなオブジェクトに埋め込まれるべきデータDeを入力し、当該入力されたデータDeが埋め込まれたオブジェクトを生成するための情報処理を実行する。記憶装置13は、ソフトウェア領域13a及び作業データ領域13bを備えている。ソフトウェア領域13aは、前記情報処理のためのデータ埋め込みソフトウェアを格納するのに用いられる。作業データ領域13bは、前記情報処理のための作業データを格納するのに用いられる。
入出力コントローラ14は、入出力デバイス、例えばディスプレイ16、キーボード17及びプリンタ18と接続されている。入出力コントローラ14は、これらのディスプレイ16、キーボード17及びプリンタ18との間でデータを入出力する。
図2は、データ埋め込み装置10の機能構成を示すブロック図である。この機能構成は、図1に示されるPC11のCPU12が前記データ埋め込みソフトウェアを実行することにより実現されるものとする。データ埋め込み装置10は、データ取得ユニット21、重みベクトル生成部22、変位算出部23、図形生成部24及び図形出力ユニット25を備えている。第1の実施形態において、データ取得ユニット21、重みベクトル生成部22、変位算出部23、図形生成部24及び図形出力ユニット25はソフトウェアモジュールにより構成される。しかし、これらのソフトウェアモジュールの一部または全部がハードウェアモジュールに置き換えられても構わない。
データ取得ユニット21は埋め込まれるべきデータDeを、図1に示される入出力コントローラ14を介して取得する。データDeは、ビット列から構成される。重みベクトル生成部22は、データDeのビット列に基づいて重みベクトルwを生成する。
変位算出部23は、前記重みベクトルwの要素により符号化のための予め定められた複数の基底(以下、符号化用基底と称する)を重み付けし、重み付けされた基底の和から構成される変位波形Wdを算出する。変位波形Wdとは、変位の系列から構成される波形、つまり変位の波形を指す。
図形生成部24は、変位波形Wdに基づいて、予め定められた基準図形Grを記憶装置13の作業データ領域13b内で変形する。これにより図形生成部24は、基準図形Grが変形された図形Gdを生成する。図形出力ユニット25は、図形Gd、または当該図形Gdを含む画像を出力する。
次に、データ埋め込み装置10の動作について説明する。まず、データ取得ユニット21は、オブジェクト(第1のオブジェクト)に埋め込まれるべきデータ(第1のデータ)Deを入力するためのユーザインタフェースとして機能する。第1他の実施形態において、データDeが埋め込まれるオブジェクトは基準図形Grから構成される、この基準図形Grは線分を含む。
第1の実施形態では、データ取得ユニット21によってディスプレイ16に表示されたデータが、ユーザの操作によってキーボード17を用いて編集される。データ取得ユニット21は、この編集されたデータをデータDeとして、入出力コントローラ14を介して入力(つまり取得)する。
重みベクトル生成部22はデータDeのビット列(第1のビット列)に基づいて当該ビット列に対応する重みベクトルwを、次のように生成する。重みベクトル生成部22は、データDeを構成するビットの各々について、例えば、当該ビットが0なら重み−1を、当該ビットが1なら重み+1を生成する。重みベクトル生成部22は、この重みの配列から構成される重みベクトルwを生成する。つまり重みベクトル生成部22は、データDeのビット列を重みベクトルwに変換する。
重みベクトルwの長さはデータDeのビット列の長さと等しい。この長さをn、データDeのビット列をb1, . . ., bn、行列及びベクトルの転置を表す記号をT、重みベクトルをw=(w1, . . ., wn)Tと表記する。この場合、重みベクトルwのi番目(i=1, . . ., n)の要素wiは、次式のように表される。
図3は、重みベクトル生成部22による重みベクトル生成の例を示す。図3の例では、データDeのビット列は“01001101”であり、その長さ(つまりデータDeのビット数)nは8である。重みベクトル生成部22は、このビット列“01001101”に基づき、図3において矢印30で示すように、重みベクトルw=(−1, +1, −1, −1, +1, +1, −1, −1, +1)を生成する。
変位算出部23は、重みベクトルwの要素wiにより前記複数の符号化用基底を重み付けし、重み付けされた基底の和から構成される変位波形Wd(より詳細には、変位波形Wdを表すベクトル)を算出する。前記符号化用基底の個数は前記重みベクトルの長さ(つまり、データDeのビット数)nに等しい。前記符号化用基底は長さmのベクトルとして表現される。mはn以上の整数である。
i番目(i=1, . . ., n)の前記符号化用基底をξi=(ξi,1, . . ., ξi,m)T、前記符号化用基底を横方向に並べて構成した行列をΞ=(ξ1, . . ., ξn)と、それぞれ表記する。また、変位波形Wdも長さmのベクトルとして表現される。変位波形Wdを表すベクトル(以下、変位ベクトルと称する)をd=(d1, . . ., dm)Tと表記する。これらの記号を用いると、変位算出部23によって算出される変位波形Wdを表す変位ベクトルdは次式のように表される。
図4は、第1の実施形態で適用される符号化用基底ξi(i=1, . . ., n)の例を示す。この例では、n=8である。図4において、紙面の横方向の軸は符号化用基底ξiを表すベクトルの要素の番号を、縦方向の軸は当該要素の値を、それぞれ示す。図4に示す符号化用基底ξ1及びξ2は、それぞれ、波数が16の余弦関数及び波数が16の正弦関数である。図4に示す符号化用基底ξ3及びξ4は、それぞれ、波数が17の余弦関数及び波数が17の正弦関数である。図4に示す符号化用基底ξ5及びξ6は、それぞれ、波数が18の余弦関数及び波数が18の正弦関数である。図4に示す符号化用基底ξ7及びξ8は、それぞれ、波数が19の余弦関数及び波数が19の正弦関数である。
図5は、変位算出部23によって算出される変位波形Wdの例を示す。図5において、紙面の横方向の軸は変位波形Wdを表す変位ベクトルdの要素の番号j(j=1, . . ., m)を、縦方向の軸は当該要素の値(つまり変位)を示す。
なお、前記符号化用基底としては線形独立ならばどのようなベクトルを用いても良い。つまり、この制限を逸脱しない限り、正弦関数、余弦関数、及びそれらの線形和で表されるベクトルなど、いかなる符号化用基底を用いても良い。
図形生成部24は、変位波形Wdによって示される変位に基づいて基準図形Grを変形する。これにより図形生成部24は、基準図形Grが変形された図形Gdを生成する。
以下、図形生成部24による図形生成の詳細について図6を参照して説明する。図6は、図形生成部24による典型的な図形生成を説明するための図である。第1の実施形態において、基準図形Grは、図6に示すように紙面の横方向の線分(第1の線分)から構成される。図6には、基準図形Grの一部を含む矩形領域61の拡大図も示されている。基準図形Grは記憶装置13の作業データ領域13bに格納された状態で処理される。
図形生成部24は、変位波形Wdを表す変位ベクトルdのm個の要素にそれぞれ対応して、前記線分(つまり基準図形Gr)上に等間隔でm個の基準点を配置する。これらの基準点(より詳細には、矩形領域61内の基準点)は、図6において黒丸で示されている。図6には、これらのm個の基準点の1つとして、j番目の基準点62が示されている。
図形生成部24は、前記m個の基準点の各々について変位波形Wdを表す変位ベクトルdの要素の値に対応する変位だけ当該基準点からずれた点を取得する。図6に示されるj番目の基準点62を例に取ると、図形生成部24は、当該基準点62を通る前記線分(基準図形Gr)の法線63の方向に、変位ベクトルdの要素djの値に対応する変位64だけずれた点を取得する。
図形生成部24は、取得されたm個の点の列をつなぐ多角形(または多角形によって近似される曲線)を、記憶装置13の作業データ領域13b内に図形Gdとして生成する。このように図形生成部24は、変位波形Wdを表す変位ベクトルdに基づいて、当該変位波形Wdの表す変位に対応するように基準図形Gr(第1の線分)を変形することにより図形Gd(変形線分)を生成する。つまり図形生成部24はオブジェクト生成部として機能して、基準図形Grに合わせるように変位波形Wdの長さを伸縮することにより、当該基準図形Grが変形された図形Gdから構成されるオブジェクト(第2のオブジェクト)を生成する。
図7は、図形生成部24によって生成された図形Gdの例を示す。この図形Gdの基準図形Grからの変形の度合いは、データDeのビット列の内容に対応する。よって、図7に示す図形Gdは、データDeが埋め込まれたオブジェクト(第2のオブジェクト)であるといえる。
図形出力ユニット25は、図形生成部24によって記憶装置13の作業データ領域13b内に生成された図形Gd(第2のオブジェクト)を出力する。ここでは図形出力ユニット25は、図形Gdを、入出力コントローラ14を介してプリンタ18に出力するものとする。この場合、プリンタ18は、図形出力ユニット25によって出力された図形Gdを、例えば紙面に印刷する。しかし、後続の情報処理のために、図形出力ユニット25が、図形Gdを、入出力コントローラ14を介して外部の記憶装置に出力しても良い。また、図形Gdが、データ埋め込み装置10内で後続の情報処理に供されても良い。
なお図形出力ユニット25が、図形Gd単体を出力する代わりに、当該図形Gdを含む、例えば帳票画像のような画像を出力しても良い。このような画像は、例えば図形出力ユニット25が、図形Gdと他の任意の罫線、図形及び文字とを作業データ領域13b内で合成することにより生成される。しかし、この画像が、データ埋め込み装置10内またはデータ埋め込み装置10外の別の装置(例えば画像生成部)によって生成されても良い。
図8は、図7に示される図形Gdを含む帳票画像80の例を示す。図8の例から明らかなように、基準図形Grは帳票の最上段の罫線に対応する。よって帳票画像80の生成は、図形生成部24が、原帳票(つまり基準の帳票)の最上段の罫線(つまり所定部分の線分)を基準図形Gr(第1のオブジェクト)として用い、当該基準図形GrをデータDeの各ビットに対応するように図形Gdに変形して、当該図形Gd(第2のオブジェクト)を生成することと等価である。
図8に示す帳票画像80の例では、説明の便宜上、図形Gd(つまり図6に示される基準図形Grの変形)の形状を表す波形の振幅が、当該波形を容易に視認可能なように極端に大きく図示されている。しかし実際には、後述するデータ抽出装置90によるデータの抽出に支障がない程度に、図形Gdの波形の振幅は抑えられる。しかも、図形Gdは、原帳票に重畳された図形ではなく、当該原帳票の一部の罫線(基準図形Gr)が変形された図形である。このため、帳票画像80は原帳票のデザインから大きく逸脱することはなく、ユーザに違和感を抱かせるおそれはない。よって第1の実施形態によれば、データが埋め込まれた箇所が視認されるのを防ぎ、秘匿性に優れ、且つ帳票の美観を損ねないデータ埋め込みを実現できる。
図9は、第1の実施形態に係るデータ抽出装置90の典型的なハードウェア構成を示すブロック図である。第1の実施形態におけるデータ抽出装置90は、PC91を用いて実現される。PC91は、CPU92、記憶装置93、入出力コントローラ94及びシステムバス95を備えている。CPU92、記憶装置93及び入出力コントローラ94は、システムバス95によって相互接続されている。
CPU92は、データ埋め込み装置10によってデータDeが埋め込まれた画像を入力し、当該入力された画像から当該データDeに対応するデータDdを抽出するための情報処理を実行する。記憶装置93は、ソフトウェア領域93a及び作業データ領域93bを備えている。ソフトウェア領域93aは、前記情報処理のためのデータ抽出ソフトウェアを格納するのに用いられる。作業データ領域93bは、前記情報処理のための作業データを格納するのに用いられる。
入出力コントローラ94は、撮像デバイス、例えばカメラ96と接続されている。カメラ96は、データ埋め込み装置10によってデータDeが埋め込まれたオブジェクト(例えば印刷物)の画像を取得するのに用いられる。入出力コントローラ94は、カメラ96によって取得された画像を入力する。入出力コントローラ94はまた、抽出されたデータをシリアル出力インタフェースのような出力インタフェース97を介して、データ抽出装置90の外部に出力する。
図10は、データ抽出装置90の典型的な機能構成を示すブロック図である。この機能構成は、図9に示されるPC91のCPU92が前記データ抽出ソフトウェアを実行することにより実現されるものとする。データ抽出装置90は、画像取得ユニット101、当てはめユニット102、残差算出部103、内積ベクトル算出部104、データ抽出部105及びデータ出力ユニット106を備えている。第1の実施形態において、画像取得ユニット101、当てはめユニット102、残差算出部103、内積ベクトル算出部104、データ抽出部105及びデータ出力ユニット106はソフトウェアモジュールにより構成される。しかし、これらのソフトウェアモジュールの一部または全部がハードウェアモジュールに置き換えられても構わない。
画像取得ユニット101は、データDdが埋め込まれたオブジェクト(第2のオブジェクト)を含む画像Iinを、図9に示される入出力コントローラ94を介して取得する。当てはめユニット102は、画像Iinに基準図形を当てはめる。残差算出部103は、当てはめユニット102による当てはめの残差の配列から構成される残差ベクトルrを算出する。当てはめの残差については後述する。
内積ベクトル算出部104は、復号化のための予め定められた複数の基底(以下、復号化用基底と称する)の各々と残差ベクトルrとの内積を算出する。内積ベクトル算出部104は、算出された内積の配列から構成される内積ベクトルpを取得する。
データ抽出部105は、内積ベクトルpに対応する変換ベクトルtを量子化することにより、データ(第1のデータ)Deに対応するデータ(第2のデータ)Ddを抽出する。内積ベクトルpと変換ベクトルtとの関係については後述する。データ出力ユニット106は、前記抽出されたデータDdを記憶装置93または外部の装置に出力する。
次に、データ抽出装置90の動作について説明する。今、カメラ96によって印刷物から例えば図8に示す帳票画像80が取得されたものとする。この印刷物から取得された帳票画像80(より詳細には、帳票画像80に含まれている図形Gdから構成されるオブジェクト)には、データ埋め込み装置10によってデータDeが埋め込まれている。カメラ96によって取得された帳票画像80は、データ抽出装置90の入出力コントローラ94によって当該データ抽出装置90内に入力される。
画像取得ユニット101は、入出力コントローラ94によって入力された帳票画像80を画像Iinとして取得する。つまり画像取得ユニット101は、データDeが埋め込まれている帳票画像80をカメラ96から画像Iinとして取得する。そこで、第1の実施形態における以下の説明では、前記取得された画像Iinを画像Iin_80と表記する。画像取得ユニット101は、取得された画像Iin_80のデータを図1に示される記憶装置93の作業データ領域93bに格納する。なお、画像取得ユニット101が、カメラ96以外の撮像装置、例えばスキャナから画像Iin_80を取得しても良い。また画像取得ユニット101が、画像Iin_80を必ずしも撮像装置から取得する必要はない。画像取得ユニット101が例えば、ファクシミリ受信機から、或いはハイパー・テキスト・トランスファー・プロトコル(HTTP)を適用するネットワークを経由して、画像Iin_80を取得しても良い。つまり、データDeが埋め込まれているオブジェクト(第2のオブジェクト)を含む画像Iin_80を取得できるならば、画像取得ユニット101はいかなる方法を用いても良い。
当てはめユニット102は、画像取得ユニット101によって取得された画像Iin_80に基準図形を当てはめる。以下、この当てはめユニット102による基準図形の当てはめの詳細について図11乃至図13を参照して説明する。
図11は、第1の実施形態において画像取得ユニット101によって取得された画像Iin_80の例を示す。図11に示す画像Iin_80は、図8に示される帳票画像80に対応し、したがって図形Gdを含む。当てはめユニット102は、図11に示される画像Iin_80上の検出領域111から、例えば周知のHough変換により、直線121(図12参照)を検出する。この検出領域111は、データ埋め込み装置10によりデータDeが埋め込まれた図形Gdが印刷されていると期待される箇所に設定される、例えば矩形領域である。つまり、検出領域111が設定される箇所は、図形Gdの生成に用いられた基準図形Grの位置に対応する。検出領域111は、当該検出領域111(つまり矩形領域)が有する4つの角(つまり頂点)の画像Iin_80における座標の組の形式で、オペレータまたは開発者により予め定められる。
図12は、当てはめユニット102によって画像Iin_80から検出される直線121の例を示し、図13は、当該直線121からの典型的な線分当てはめを説明するための図である。当てはめユニット102は図12に示される直線121を検出すると、当該直線121から図13に示される線分132を次のように当てはめる。
まず、第1の実施形態では、線分132の当てはめのために、図13に示される座標範囲131が予め定められる。当てはめユニット102は、図13に示すように、直線121から座標範囲131内の線分132を当てはめる。この座標範囲131は、データ埋め込み装置10によりデータDeが埋め込まれた図形Gdの左端及び右端が位置すると期待される座標の対の形式で、オペレータまたは開発者により予め定められる。
画像Iin_80が図8に示される帳票画像80に対応する第1の実施形態では、線分132は基準図形Grに対応する。そこで当てはめユニット102は、線分132を基準図形として用い、当該線分132を画像Iin_80(より詳細には、画像Iin_80内の図形Gd)に当てはめる。つまり当てはめユニット102は、線分132を、直線121から当てはめられた位置に設定する。よって、線分132を画像Iin_80に当てはめることは、直線121(つまり画像Iin_80からHough変換により検出された直線121)から、線分132を当てはめることと等価である。図13は、線分132が画像Iin_80に当てはめられた状態をも示す。
残差算出部103は、当てはめユニット102による当てはめの残差の配列から構成される残差ベクトルrを算出する。当てはめの残差とは、基準図形として用いられる線分(第1の線分)132からの画像Iin_80内の図形Gd(変形線分)の変位を指す。以下、この残差算出部103による残差ベクトルrの算出の詳細について説明する。
残差算出部103は、当てはめユニット102によって画像Iin_80内の図形Gdに当てはめられた線分132(つまり基準図形)上に等間隔でm個の基準点(つまりj=1, . . ., mの基準点)を配置する。このm個の基準点の配置は、図形生成部24によるm個の基準点の配置(図6参照)と同様である。
図14は、残差算出部103による典型的な残差算出を説明するための図である。図14には、画像Iin_80の一部を含む矩形領域141の拡大図も示されている。画像Iin_80に当てはめられた線分132上のj番目の基準点が、図14に示される基準点142であるものとする。
残差算出部103は、基準点142における線分132の法線143上で画像Iin_80(より詳細には画像Iin_80内の図形Gd)のエッジ144を検出する。そして残差算出部103は、検出されたエッジ144の基準点142(つまりj番目の基準点)からの変位145を当該基準点142の変位rjとして算出し、当該変位rjをj番目の残差として取得する。
残差算出部103は、上述したような残差の取得を、j=1, . . ., mの全ての基準点について実行する。残差算出部103は、このようにして取得されたj=1, . . ., mの基準点の変位rjをjの順番で並べることにより残差ベクトルr=(r1, . . ., rm)Tを生成する。残差算出部103は、この残差ベクトルrを記憶装置93の作業データ領域93bに格納する。
内積ベクトル算出部104は、予め定められた複数の復号化用基底の各々と残差ベクトルrとの内積を算出する。内積ベクトル算出部104は、この内積の配列から構成される内積ベクトルpを取得する。つまり内積ベクトル算出部104は、前記複数の復号化用基底の各々と残差ベクトルrとの内積の配列から構成される内積ベクトルpを算出する。
前記復号化用基底をζ1, . . ., ζn、前記内積ベクトルをp=(p1, . . ., pn)Tと、それぞれ表記するならば、当該内積ベクトルpの要素pi(i=1, . . ., n)は、次式
pi=ζi Tr
のように表される。
pi=ζi Tr
のように表される。
また、復号化用基底ζ1, . . ., ζnを横方向に並べて構成した行列をZ=(ζ1, . . ., ζn)と表記するならば、内積ベクトルpを、次式
p=ZTr
のように表すこともできる。
p=ZTr
のように表すこともできる。
図15は、内積ベクトル算出部104による内積ベクトルpの算出の典型的な様子を示す。第1の実施形態において、内積ベクトル算出部104は、データ埋め込み装置10の変位算出部23によって用いられる符号化用基底ξ1, . . ., ξnと同一の基底の組を、復号化用基底ζ1, . . ., ζnとして用いる。つまり内積ベクトル算出部104によって用いられるi番目(i=1, . . ., n)の復号化用基底ζiは、符号化用基底ξiに等しい。図15の例では、n=8であり、内積ベクトルpはp=(−100, +100, −100, −100, +100, +100, −100, +100)である。
データ抽出部105は、内積ベクトル算出部104によって算出された内積ベクトルpに対応する変換ベクトルtを量子化する。この変換ベクトルtは、内積ベクトルpに対して所定の変換を施すことにより生成される。第1の実施形態では、この変換に恒等写像が用いられる。このため、変換ベクトルtは内積ベクトルpと等しい。つまり、t=pである。したがって、図15に示される内積ベクトルpの例では、変換ベクトルtはt=p=(−100, +100, −100, −100, +100, +100, −100, +100)となる。
データ抽出部105は、変換ベクトルtを量子化することでデータを抽出する。第1の実施形態では、データ抽出部105は、変換ベクトルtを次のように量子化する。まずデータ抽出部105は、変換ベクトルtのi番目(i=1, . . ., n)の要素tiの正負を調べる。もし要素tiが負であるならば、データ抽出部105は、当該要素tiに対応するビットを0と決定する。そうでないなら、データ抽出部105は、要素tiに対応するビットを1と決定する。
データ抽出部105は、上述した量子化を、i=1, . . ., nの全ての要素tiについて実行する。これによりデータ抽出部105は、画像Iin_80に埋め込まれたデータDeに対応するデータDdを抽出する。つまりデータ抽出部105は、画像Iin_80からデータDdを復号する。
図16は、データ抽出部105による変換ベクトルtの量子化の例を示す図である。図16の例では、変換ベクトルtはt=(−100, +100, −100, −100, +100, +100, −100, +100)である。データ抽出部105は、この変換ベクトルt=(−100, +100, −100, −100, +100, +100, −100, +100)の要素を、前記式に従って図16において矢印160で示すように量子化する。これによりデータ抽出部105は、データDd=(0, 1, 0, 0, 1, 1, 0, 1)を抽出する。このデータDdは、データDe(つまり画像Iin_80に埋め込まれたデータDe)に一致する。
データ出力ユニット106は、データ抽出部105によって抽出されたデータDeを外部装置または記憶装置93に出力する。つまりデータ出力ユニット106が、データDeを、入出力コントローラ94及び出力インタフェース97を介して外部装置に送信しても良い。またデータ出力ユニット106が、データDeを、記憶装置93の作業データ領域93bに格納して更なる情報処理の用に供しても良い。
<第2の実施形態>
次に、第2の実施形態について説明する。第2の実施形態の特徴は、適用する基準図形が線分(第1の線分)ではなくて当該線分(第1の線分)を含む4つの線分から構成される長方形(矩形)である点と、適用される符号化用基底が前記第1の実施形態におけるそれとは異なる点にある。この相違により、第2の実施形態で適用されるデータ埋め込みソフトウェア及びデータ抽出ソフトウェアも、前記第1の実施形態で適用されるそれとは一部の機能が異なる。具体的には、第2の実施形態で適用される、図形生成部、当てはめユニット及び残差算出部それぞれの機能が、前記第1の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第2の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して第2の実施形態について説明する。
次に、第2の実施形態について説明する。第2の実施形態の特徴は、適用する基準図形が線分(第1の線分)ではなくて当該線分(第1の線分)を含む4つの線分から構成される長方形(矩形)である点と、適用される符号化用基底が前記第1の実施形態におけるそれとは異なる点にある。この相違により、第2の実施形態で適用されるデータ埋め込みソフトウェア及びデータ抽出ソフトウェアも、前記第1の実施形態で適用されるそれとは一部の機能が異なる。具体的には、第2の実施形態で適用される、図形生成部、当てはめユニット及び残差算出部それぞれの機能が、前記第1の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第2の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して第2の実施形態について説明する。
まず、第2の実施形態におけるデータ埋め込み装置10の動作について説明する。第2の実施形態において、データ埋め込み装置10内のデータ取得ユニット21、重みベクトル生成部22及び変位算出部23の動作は、前記第1の実施形態と同様である。但し、変位算出部23は、符号化用基底ξ1,ξ2,ξ3,ξ4,ξ5,ξ6,ξ7及びξ8として、それぞれ、波数が16,18,20,22,24,26及び30の余弦関数を用いる。図17は、第2の実施形態で適用される符号化用基底ξ1,ξ2,ξ3,ξ4,ξ5,ξ6,ξ7及びξ8の例を示す。
今、変位算出部23が、データDeのビット列に基づいて生成された重みベクトルwと、図17に示す符号化用基底ξ1, . . ., ξ8とを用いて、前述の変位波形Wdを算出したものとする。図形生成部24は、変位波形Wdによって示される変位に基づいて基準図形Grを変形することにより、当該基準図形Grが変形された図形Gd(つまりデータDeが埋め込まれた図形Gdから構成されるオブジェクト)を生成する。
以下、図形生成部24による図形生成の詳細について図18を参照して説明する。図18は、第2の実施形態で適用される図形生成部24による典型的な図形生成を説明するための図である。第2の実施形態で使用される基準図形Grは、図18において破線で示される長方形である。図18には、基準図形Grの一部を含む矩形領域181の拡大図も示されている。
図形生成部24は、変位波形Wdを表す変位ベクトルdのm個の要素にそれぞれ対応して、前記長方形(つまり基準図形Gr)上に等間隔でm個の基準点を配置する。これらのm個の基準点は、例えば、前記長方形の左上の角を始点として時計回りに配置されるものとする。これらの基準点(より詳細には、矩形領域181内の基準点)は、図18において黒丸で示されている。図18には、前記m個の基準点の1つとして、j番目の基準点182が示されている。
図形生成部24は、前記m個の基準点の各々について変位波形Wdを表す変位ベクトルdの要素の値に対応する変位だけ当該基準点からずれた点を取得する。第2の実施形態において、前記基準点からずれた点は、前記変位が正であるならば、前記長方形の外側の点である。前記長方形の外側の点とは、対応する基準点が配置された前記長方形上の辺が、上辺なら上方向に、右辺なら右方向に、下辺なら下方向に、左辺なら左方向に前記基準点からずれた点である。同様に、前記変位が正でないならば、前記基準点からずれた点は前記長方形の内側の点である。図18に示されるj番目の基準点182を例に取ると、図形生成部24は、当該基準点182を通る前記長方形(基準図形Gr)の辺(ここでは右辺)の法線183の方向に、変位ベクトルdの要素djの値に対応する変位184だけずれた点を取得する。
図形生成部24は、取得されたm個の点の列をつなぐ多角形を図形Gdとして生成する。生成された多角形は、閉曲線と見なすこともできる。
上述したように図形生成部24は、変位波形Wdを表す変位ベクトルdに基づいて、当該変位波形Wdの表す変位に対応するように前記長方形(基準図形Gr)を変形することにより図形Gdを生成する。図19は、第2の実施形態において図形生成部24によって生成された図形Gdの例を示す。この図形Gdの基準図形Grからの変形の度合いは、データDeのビット列の内容に対応する。よって、図19に示す図形Gdから構成されるオブジェクトは、データDeが埋め込まれた図形から構成されるオブジェクト(第2のオブジェクト)であるといえる。
第2の実施形態において図形出力ユニット25は、図形生成部24によって生成された図形Gd(図形Gdから構成されるオブジェクト)を含む帳票画像を、入出力コントローラ14を介してプリンタ18に出力する。図20は、図19に示される図形Gdを含む帳票画像200の例を示す。第2の実施形態では、図20に示す帳票画像200は、図形出力ユニット25が図形Gd(第2のオブジェクト)と他の任意の罫線、図形及び文字とを記憶装置13の作業データ領域13b内で合成することにより生成される。帳票画像200は、データ埋め込み装置10内またはデータ埋め込み装置10外の別の装置(例えば画像生成部)によって生成しても良い。
次に、第2の実施形態におけるデータ抽出装置90の動作について説明する。まず図20に示す帳票画像(つまり図形Gdを含む帳票画像)200が、画像取得ユニット101によって画像Iinとして取得されたものとする。そこで、第2の実施形態における以下の説明では、前記取得された画像Iinを画像Iin_200と表記する。
当てはめユニット102は、画像Iin_200に基準図形を当てはめる。第2の実施形態では、基準図形として長方形が適用される。当てはめユニット102は、帳票画像200に、前記長方形(つまり基準図形)を当てはめるために、当該帳票画像200から当該長方形を検出する。以下、この当てはめユニット102による基準図形の当てはめの詳細について図21及び図22を参照して説明する。
図21は、第2の実施形態において画像取得ユニット101によって取得された画像Iin_200と、当該画像Iin_200から前記長方形を検出するのに用いられる4つの検出領域211,212,213及び214の例を示す。検出領域211,212,213及び214は、前記長方形(つまり図形Gdの生成に用いられた基準図形Gr)のそれぞれ上辺、下辺、左辺及び右辺が位置すると期待される例えば矩形領域である。検出領域211乃至214の各々は、当該検出領域(つまり矩形領域)が有する4つの角の帳票画像200における座標の組の形式で、オペレータまたは開発者により予め定められる。
当てはめユニット10は、図21に示される画像Iin_200上の検出領域211乃至214から、例えばHough変換により、前記4つの辺に対応する直線(線分)を検出する。図22は、当てはめユニット102によって検出される4つの直線221,222,223及び224の例を示す。図22には、直線221及び223の交点225と、直線222及び223の交点226と、直線221及び224の交点227と、直線222及び224の交点228も示されている。
当てはめユニット10は、検出された4つの直線221乃至224に基づいて、前記4つの辺のうちの互いに隣り合う辺に対応する直線同士の交点225乃至228の座標を算出する。算出された交点225乃至228の座標は、前記長方形の4つの角の座標を表す。当てはめユニット10は、算出された交点225乃至228の座標で表される長方形を基準図形Grとして画像Iin_200に当てはめる。つまり当てはめユニット102は、前記長方形の4つの角が交点225乃至228の座標に一致する位置に、当該長方形を設定する。よって前記長方形(つまり基準図形Gr)を画像Iin_200に当てはめることは、画像Iin_200から4つの直線221乃至224を検出して、当該直線221乃至224の交点225乃至228の座標を算出することと等価である。
残差算出部103は、当てはめユニット102による当てはめの残差の配列から構成される残差ベクトルrを次のように算出する。まず残差算出部103は、当てはめユニット102によって画像Iin_200に当てはめられた基準図形Gr(つまり長方形)上に等間隔でm個の基準点(つまりj=1, . . ., mの基準点)を配置する。このm個の基準点の配置は、図形生成部24によるm個の基準点の配置(図18参照)と同様である。
図23は、第2の実施形態における残差算出部103による典型的な残差算出を説明するための図である。図23には、画像Iin_200の一部を含む矩形領域231の拡大図も示されている。画像Iin_200に当てはめられた基準図形Gr(つまり長方形)上のj番目の基準点が、図23に示される基準点232であるものとする。
残差算出部103は、基準点232における長方形の辺(ここでは右辺)の法線233上で画像Iin_200のエッジ234(より詳細には画像Iin_200内の図形Gdのエッジ234)を検出する。そして残差算出部103は、検出されたエッジ234の基準点232(つまりj番目の基準点)からの変位rjを算出し、当該変位rjをj番目の残差として取得する。前記変位の正負は、第2の実施形態において図形生成部24で扱われる変位のそれと同様に、エッジ234が前記長方形の外側なら正、内側なら負であるものとする。
残差算出部103は、上述したような残差の取得を、j=1, . . ., mの全ての基準点について実行する。以降の動作は前記第1の実施形態と同様である。
残差算出部103は、上述したような残差の取得を、j=1, . . ., mの全ての基準点について実行する。以降の動作は前記第1の実施形態と同様である。
第2の実施形態で適用される基準図形Grは長方形である。しかし、線分以外の基準図形Grとしては、長方形に限らず、例えば、正方形、平行四辺形、三角形、五角形、六角形、或いは星型など、どのような多角形でもよい。ここで挙げたいずれの形状の多角形を基準図形Grとして適用しても、当該基準図形Gr上に等間隔に基準点を配置して、当該基準点の各々について当該基準点における法線を定義することができる。このため図形生成部24は、第2の実施形態において適用された方法で基準図形Gr(つまり長方形以外の多角形)を変形して、データDeが埋め込まれた図形Gdから構成されるオブジェクト(第2のオブジェクト)を生成することがきる。同様に残差算出部103は、第2の実施形態において適用された方法で残差ベクトルを算出することができる。
<第3の実施形態>
次に、第3の実施形態について説明する。第3の実施形態の特徴は、適用される基準図形が線分ではなくて楕円である点と、適用される符号化用基底が前記第1の実施形態におけるそれとは異なる点にある。この相違により、第3の実施形態で適用されるデータ埋め込みソフトウェア及びデータ抽出ソフトウェアも、前記第1の実施形態で適用されるそれとは一部の機能が異なる。具体的には、第3の実施形態で適用される、図形生成部、当てはめユニット及び残差算出部それぞれの機能が、前記第1の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第2の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して第3の実施形態について説明する。
次に、第3の実施形態について説明する。第3の実施形態の特徴は、適用される基準図形が線分ではなくて楕円である点と、適用される符号化用基底が前記第1の実施形態におけるそれとは異なる点にある。この相違により、第3の実施形態で適用されるデータ埋め込みソフトウェア及びデータ抽出ソフトウェアも、前記第1の実施形態で適用されるそれとは一部の機能が異なる。具体的には、第3の実施形態で適用される、図形生成部、当てはめユニット及び残差算出部それぞれの機能が、前記第1の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第2の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して第3の実施形態について説明する。
まず、第3の実施形態におけるデータ埋め込み装置の動作について説明する。第3の実施形態において、データ取得ユニット21、重みベクトル生成部22及び変位算出部23の動作は、前記第1の実施形態と同様である。但し、変位算出部23は、第1の実施形態と異なり、図17に示す符号化用基底ξ1乃至ξ8を適用する。
今、変位算出部23が、データDeのビット列に基づいて生成された重みベクトルwと、図17に示す符号化用基底ξ1, . . ., ξ8とを用いて、前述の変位波形Wdを算出したものとする。図形生成部24は、変位波形Wdによって示される変位に基づいて基準図形Grを変形することにより、当該基準図形Grが変形された図形Gd(つまりデータDeが埋め込まれた図形Gdから構成されるオブジェクト)を生成する。
以下、図形生成部24による図形生成の詳細について図24を参照して説明する。図24は、第3の実施形態で適用される図形生成部24による典型的な図形生成を説明するための図である。第3の実施形態で使用される基準図形Grは、図24において破線で示される楕円形(第1の曲線)である。この楕円形は、図24に示すように、紙面に水平な長軸242及び紙面に垂直な短軸243を有する。
楕円上の点の座標(x,y)は、パラメータθにより、次式
(x,y)=(acosθ,asinθ)
のように表される。ここで、aおよびbは、予め任意に定められた長軸半径及び短軸半径であるものとする。またθは0≦θ≦2πの範囲内であるものとする。したがってθは、前記楕円形の右端、上端、左端及び下端において、それぞれ、0,π/2、π及び3π/2となる。
(x,y)=(acosθ,asinθ)
のように表される。ここで、aおよびbは、予め任意に定められた長軸半径及び短軸半径であるものとする。またθは0≦θ≦2πの範囲内であるものとする。したがってθは、前記楕円形の右端、上端、左端及び下端において、それぞれ、0,π/2、π及び3π/2となる。
図形生成部24は、変位波形Wdを表す変位ベクトルdのm個の要素にそれぞれ対応して、前記楕円形(つまり基準図形Gr)上に等間隔でm個の基準点を配置する。これらのm個の基準点は、例えば、前記楕円形上のθ=0の点(つまり右端)を始点として時計回りに配置されるものとする。図24には、前記m個の基準点の1つとして、j番目の基準点241が示されている。
図形生成部24は、前記m個の基準点の各々について変位波形Wdを表す変位ベクトルdの要素の値に対応する変位だけ当該基準点からずれた点を取得する。第3の実施形態において、前記基準点からずれた点は、図24に示す前記楕円形(基準図形Gr)の中心241と当該基準点とを結ぶ直線上の点である。楕円形の中心241は、当該楕円形の長軸242と短軸243との交点である。前記直線上の点は、前記変位の正負によって異なり、例えば当該変位が正であるならば前記楕円形の外側に前記基準点からずれた点である。これに対し、前記変位が負であるならば、前記直線上の点は、前記楕円形の内側に前記基準点からずれた点である。
前記基準点からずれた点の取得について、図24に示されるj番目の基準点241を例に、より具体的に説明する。j番目の基準点241におけるθの値は、次式
θ=2πj/m
により定められる。図形生成部24は、楕円形の中心244と基準点241とを結ぶ直線245上で、変位ベクトルdの要素djの値に対応する変位246だけ、基準点241からずれた点を取得する。図24の例では、変位246は正である。この場合、図形生成部24は、直線245上で楕円形(つまり基準図形Gr)の外側に変位246だけ基準点241からずれた点を取得する。
θ=2πj/m
により定められる。図形生成部24は、楕円形の中心244と基準点241とを結ぶ直線245上で、変位ベクトルdの要素djの値に対応する変位246だけ、基準点241からずれた点を取得する。図24の例では、変位246は正である。この場合、図形生成部24は、直線245上で楕円形(つまり基準図形Gr)の外側に変位246だけ基準点241からずれた点を取得する。
図形生成部24は、取得されたm個の点の列をつなぐ多角形(閉曲線)を図形Gd(変形曲線)として生成する。このように図形生成部24は、変位波形Wdを表す変位ベクトルdに基づいて、当該変位波形Wdの表す変位に対応するように前記楕円形(基準図形Gr)を変形することにより図形Gdを生成する。図25は、第3の実施形態において図形生成部24によって生成された図形Gdの例を示す。この図形Gdの基準図形Grからの変形の度合いは、データDeのビット列の内容に対応する。よって、図25に示す図形Gdから構成されるオブジェクトは、データDeが埋め込まれたオブジェクト(第2のオブジェクト)であるといえる。
第3の実施形態において図形出力ユニット25は、図形生成部24によって生成された図25に示す図形Gd(図形Gdから構成されるオブジェクト)を含む画像を、入出力コントローラ14を介してプリンタ18に出力する。図26は、図25に示される図形Gdを含む画像260の例を示す。第3の実施形態では、図26に示す画像260は、図形出力ユニット25が図形Gdから構成されるオブジェクトと他の任意の図形及び文字とを記憶装置13の作業データ領域13b内で合成することにより生成される。しかし、画像260が、データ埋め込み装置10内またはデータ埋め込み装置10外の別の装置(例えば画像生成部)によって生成されても良い。
次に、第3の実施形態におけるデータ抽出装置90の動作について説明する。まず図26に示す画像(つまり図形Gdを含む画像)260が、画像取得ユニット101によって画像Iinとして取得されたものとする。そこで、第3の実施形態における以下の説明では、前記取得された画像Iinを画像Iin_260と表記する。
当てはめユニット102は、画像Iin_260に基準図形を当てはめる。第3の実施形態では、基準図形として楕円形が適用される。当てはめユニット102は、画像Iin_260に、前記楕円形(つまり基準図形)を当てはめるために、当該画像Iin_260から当該楕円形を検出する。つまり当てはめユニット102は、画像Iin_260に基づいて、Hough変換により前記楕円形のパラメータ(中心座標、長軸半径、短軸半径、長軸の傾き)を推定することにより、前記楕円形を検出する。当てはめユニット102は、前記推定された楕円形のパラメータで表される楕円形(つまり検出された楕円形)を基準図形Grとして画像Iin_260に当てはめる。図27は、検出された楕円形が基準図形Grとして画像Iin_260に当てはめられた例を示す。
残差算出部103は、当てはめユニット102による当てはめの残差の配列から構成される残差ベクトルrを次のように算出する。まず残差算出部103は、当てはめユニット102によって画像Iin_260に当てはめられた基準図形Gr(つまり楕円形)上に等間隔でm個の基準点(つまりj=1, . . ., mの基準点)を配置する。このm個の基準点の配置は、図形生成部24による楕円形上へのm個の基準点の配置と同様である。
図28は、第3の実施形態における残差算出部103による典型的な残差算出を説明するための図である。図28には、前記m個の基準点の1つとして、j番目の基準点281が示されている。図28には更に、前記楕円形の長軸282、短軸283及び中心284も示されている。
残差算出部103は、前記m個の基準点の各々について変位波形Wdを表す変位ベクトルdの要素の値に対応する変位だけ当該基準点からずれた点を取得する。図28に示されるj番目の基準点281を例に取ると、図形生成部24は、楕円形の中心244と基準点281とを結ぶ直線285上で画像260_260のエッジ286、つまり画像Iin_260内の図形Gdのエッジ286を検出する。そして残差算出部103は、検出されたエッジ286の基準点281(つまりj番目の基準点)からの変位rjを算出し、当該変位rjをj番目の残差として取得する。前記変位の正負は、第3の実施形態において図形生成部24で扱われる変位のそれと同様に、エッジ286が前記楕円形の外側なら正、内側なら負であるものとする。
残差算出部103は、上述したような残差の取得を、j=1, . . ., mの全ての基準点について実行する。以降の動作は前記第1の実施形態と同様である。
残差算出部103は、上述したような残差の取得を、j=1, . . ., mの全ての基準点について実行する。以降の動作は前記第1の実施形態と同様である。
第3の実施形態で適用される基準図形Grは楕円形である。しかし、線分及び多角形以外の基準図形Grとしては、楕円形に限らず、例えば、円形、或いは卵型など、どのような閉曲線でもよい。ここで挙げたいずれの形状の閉曲線を基準図形Grとして適用しても、当該基準図形Gr上に等間隔に基準点を配置することができる。これらの基準点の各々における変位及び残差が、前記閉曲線の中心と当該基準点とを結ぶ直線上に定義されても良いし、当該基準点における前記閉曲線の法線方向の直線上に定義されても良い。
<第4の実施形態>
次に、第4の実施形態について説明する。第4の実施形態の特徴は、適用される符号化用基底が前記第1乃至第3の実施形態におけるそれとは異なる点にある。この相違により、第4の実施形態で適用されるデータ抽出部の機能(より詳細には、変換ベクトルの計算方法)は、前記第1乃至第3の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第4の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、例えば前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して第4の実施形態について説明する。
次に、第4の実施形態について説明する。第4の実施形態の特徴は、適用される符号化用基底が前記第1乃至第3の実施形態におけるそれとは異なる点にある。この相違により、第4の実施形態で適用されるデータ抽出部の機能(より詳細には、変換ベクトルの計算方法)は、前記第1乃至第3の実施形態におけるそれとは異なる。しかし、これらの相違点を除けば、第4の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、例えば前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して第4の実施形態について説明する。
第4の実施形態において、データ埋め込み装置10の変位算出部23は、符号化用基底ξ1,ξ2,ξ3,ξ4,ξ5,ξ6,ξ7及びξ8として、波数が異なるのごぎり波を用いる。図29は、第4の実施形態で適用される符号化用基底ξ1,ξ2,ξ3,ξ4,ξ5,ξ6,ξ7及びξ8の例を示す。
第4の実施形態において、データ抽出装置90の内積ベクトル算出部104は、図29に示される符号化用基底ξ1乃至ξ8と同一の基底の組を復号化基底ζ1乃至ζ8として用いる。この場合、第4の実施形態におけるデータ抽出部105の働きは、前記第1の実施形態におけるそれと、次の点で異なる。
前記第1の実施形態では、データ抽出部105は、内積ベクトルpから変換ベクトルtへの変換に恒等写像を用いる。これに対して第4の実施形態では、データ抽出部105は、符号化用基底ξ1, . . ., ξn(ここでは、n=8)と復号化用基底ζ1, . . ., ζmとの内積が配置された行列ZTΞの逆行列 (ZTΞ)-1を内積ベクトルpに乗ずる線形変換を用いる。この行列ZTΞは次式のように表される。
ここで、線形変換を用いる理由について説明する。前記第1乃至第3実施形態において変位算出部23は、符号化用基底ξ1, . . ., ξnとして、波数、または関数種別(正弦関数であるか余弦関数であるかの種別)のいずれかが異なる正弦波の組み合わせを用いている。このため、符号化用基底ξ1, . . ., ξnはお互いに直交している。よって内積ベクトル算出部104が、符号化用基底と同じ組み合わせの復号化用基底を用いることで、前記行列ZTΞは次式
ZTΞ=ΞTΞ=diag(‖ξ1‖2, . . ., ‖ξn‖2)
のようになる。ここで、diag(‖ξ1‖2, . . ., ‖ξn‖2)は‖ξ1‖2, . . ., ‖ξn‖2を対角要素に持つ行列である。
ZTΞ=ΞTΞ=diag(‖ξ1‖2, . . ., ‖ξn‖2)
のようになる。ここで、diag(‖ξ1‖2, . . ., ‖ξn‖2)は‖ξ1‖2, . . ., ‖ξn‖2を対角要素に持つ行列である。
この場合、内積ベクトル算出部104は、i=1, . . ., nについて、
p=ZTΞ=ΞTΞw=diag(‖ξ1‖2, . . ., ‖ξn‖2)w
すなわち
pi=‖ξi‖2wi
という比例関係を成立させることができる。この比例関係により、内積ベクトルpの要素piの符号は、重みベクトルwの要素wiの符号で定まる。しかも、第1乃至第3の実施形態では、重みベクトルwの要素wiの符号でデータが符号化される。このため、データ抽出装置90内のデータ抽出部105は、内積ベクトルp(=変換ベクトルt)の要素pi(=ti)の符号を調べるだけで符号化されたデータの対応するビットbiを抽出することができる。
p=ZTΞ=ΞTΞw=diag(‖ξ1‖2, . . ., ‖ξn‖2)w
すなわち
pi=‖ξi‖2wi
という比例関係を成立させることができる。この比例関係により、内積ベクトルpの要素piの符号は、重みベクトルwの要素wiの符号で定まる。しかも、第1乃至第3の実施形態では、重みベクトルwの要素wiの符号でデータが符号化される。このため、データ抽出装置90内のデータ抽出部105は、内積ベクトルp(=変換ベクトルt)の要素pi(=ti)の符号を調べるだけで符号化されたデータの対応するビットbiを抽出することができる。
しかしながら、第4の実施形態で適用される符号化用基底は、直交しない基底を含む。このため、重みベクトルwの要素wiと内積ベクトルpの要素piとの間に前述のような比例関係は成立しない。
そこで第4の実施形態では、データ抽出部105は、内積ベクトルpの変換に次のような線形変換を用いる。つまりデータ抽出部105は、前記行列ZTΞの逆行列(ZTΞ)-1を内積ベクトルpに乗じる。この線形変換(ZTΞ)-1pの結果は、次式
(ZTΞ)-1p=(ZTΞ)-1ZTΞw=w
のように表される。従って、(ZTΞ)-1pは重みベクトルwと一致する。よってデータ抽出部105は、(ZTΞ)-1pから容易にデータを抽出することができる。
(ZTΞ)-1p=(ZTΞ)-1ZTΞw=w
のように表される。従って、(ZTΞ)-1pは重みベクトルwと一致する。よってデータ抽出部105は、(ZTΞ)-1pから容易にデータを抽出することができる。
第4の実施形態では、符号化用基底として図29に示すのこぎり波が用いられる。しかし、符号化用基底の組み合わせとしては、互いに線形独立な基底の組み合わせならばいかなる基底の組み合わせを用いてもよい。また、復号化用基底の組み合わせには、前記行列ZTΞが正則となる組み合わせならば、いかなる組み合わせを用いても良い。線形独立な基底の組み合わせの例としては、前記第1実施形態で用いられた波数の異なる正弦関数と余弦関数の組み合わせ(図4参照)、前記第2の実施形態で用いられた波数の異なる余弦関数の組み合わせ(図17参照)の他、正弦関数と余弦関数の線形結合の組み合わせが挙げられる。また、前記行列ZTΞ(つまり、符号化用基底と復号化用基底との内積が配置された行列ZTΞ)が正則となる復号化用基底の組み合わせとしては、例えば符号化用基底と同一の組み合わせが挙げられる。符号化用基底と復号化用基底の組み合わせとしては、上述の条件に合致する組み合わせならばいかなる組み合わせを用いても良い。
<第5の実施形態>
次に、第5の実施形態について説明する。第5の実施形態の特徴は、データDeが埋め込まれるオブジェクトに、図形(基準図形Gr)ではなくて、画像(原画像Iorg)が用いられる点にある。
次に、第5の実施形態について説明する。第5の実施形態の特徴は、データDeが埋め込まれるオブジェクトに、図形(基準図形Gr)ではなくて、画像(原画像Iorg)が用いられる点にある。
図30は、第5の実施形態に係るデータ埋め込み装置300の典型的なハードウェア構成を示すブロック図である。なお、図30において、図1に示すデータ埋め込み装置10のハードウェア構成と等価な要素には同一参照番号を付してある。図30に示すデータ埋め込み装置300は、例えば第1の実施形態(第1乃至第4の実施形態)で適用されるデータ埋め込み装置10(図1参照)と同様に、パーソナルコンピュータ(PC)11を用いて実現される。但し、第5の実施形態においてPC11の記憶装置13のソフトウェア領域13aに格納されるデータ埋め込みソフトウェアの機能は、第1の実施形態におけるそれとは一部が異なる。
一方、第5の実施形態で適用されるデータ抽出装置は、例えば前記第1の実施形態におけるそれと、データ抽出ソフトウェアの一部の機能(より詳細には、残差算出部103の機能)を除いてほぼ等価である。そこでデータ抽出装置については、便宜的に図9及び図10を参照する。
図30に示すデータ埋め込み装置300の入出力コントローラ14は、ディスプレイ16、キーボード17及びプリンタ18だけでなく、スキャナ301とも接続されている。スキャナ301は、前記原画像Iorgとして用いられる画像を例えば印刷物から取得するのに用いられる。なお、入出力コントローラ14が、スキャナ301以外の撮像装置、例えばカメラと接続されていても良い。
図31は、データ埋め込み装置300の典型的な機能構成を示すブロック図である。図31において、図2に示すデータ埋め込み装置10の機能構成と等価な要素には同一参照番号を付してある。データ埋め込み装置300の機能構成は、図30に示されるPC11のCPU12が前記データ埋め込みソフトウェアを実行することにより実現される。データ埋め込み装置300は、データ埋め込み装置10と同様に、データ取得ユニット21、重みベクトル生成部22及び変位算出部23を備えている。データ埋め込み装置300は更に、データ埋め込み装置10が有する図形生成部24及び図形出力ユニット25に代えて、原画像取得ユニット311、画像変形ユニット312及び画像出力ユニット313を備えている。第5の実施形態において、データ取得ユニット21、重みベクトル生成部22、変位算出部23、原画像取得ユニット311、画像変形ユニット312及び画像出力ユニット313はソフトウェアモジュールにより構成されるものとする。しかし、これらのソフトウェアモジュールの一部または全部がハードウェアモジュールに置き換えられても構わない。
原画像取得ユニット311は、データDe(つまりデータ取得ユニット21によって取得されたデータDe)が埋め込まれるオブジェクト(第1のオブジェクト)として用いられる原画像Iorgを取得する。画像変形ユニット312は、変位波形Wd(つまり変位算出部23によって算出された変位波形Wd)に基づいて、原画像Iorgを変形することにより、当該原画像Iorgが変形された画像Id(第2のオブジェクト)を生成する。以下、画像Idを変形画像Idと称する。画像出力ユニット313は、この変形画像IdをデータDeが埋め込まれた画像として出力する。
次に、第5の実施形態におけるデータ埋め込み装置300の動作について説明する。このデータ埋め込み装置300内のデータ取得ユニット21、重みベクトル生成部22及び変位算出部23の動作は、前記第1の実施形態におけるデータ埋め込み装置10内のそれと同様である。
今、データ埋め込み装置300の変位算出部23が、データDeのビット列に基づいて生成された重みベクトルwと、図17に示す符号化用基底ξ1, . . ., ξ8とを用いて、前述の変位波形Wdを算出したものとする。一方、スキャナ301が、原画像Iorgが印刷された印刷物から当該原画像Iorgを取得したものとする。データ埋め込み装置300の入出力コントローラ14は、このスキャナ301によって取得された原画像Iorgを、当該データ埋め込み装置300内に入力する。原画像取得ユニット311は、データ埋め込み装置300内に入力された原画像Iorgを取得して記憶装置13の作業データ領域13bに格納する。図32は、この原画像Iorgの例を示す。原画像Iorgは、横方向の線分321乃至325を有する。図32の例では、原画像Iorgは帳票画像であり、横方向の線分321乃至325はいずれも横罫線である。また原画像Iorgは、文字列も有する。線分321は、第1の実施形態における基準図形Gr(第1の線分)に対応する。
データ埋め込み装置300の画像変形ユニット312は、変位波形Wdによって示される変位に基づいて原画像Iorgの少なくとも一部を変形することにより、当該原画像Iorgが変形された画像Id(つまりデータDeが埋め込まれた変形画像Id)を生成する。
以下、画像変形ユニット312による画像変形の詳細について説明する。図33は、画像変形ユニット312によって変形されるべき原画像Iorgの範囲の例を示す。図33の例では、前記範囲は、予め定められた横方向の座標(x座標)x1及びx2(x2>x1)で規定される。つまり横方向の座標xが座標x1及びx2の範囲に入る原画像Iorgの部分が、変形されるべき原画像Iorgの範囲である。
ここで原画像Iorgの横方向の画素数(横幅)は1000であり、横方向の座標xは原画像Iorgにおける画素位置で示されるものとする。また、原画像Iorgの左上の角が原点であり、その座標xは0である。また座標x1及びx2は、それぞれ、例えば100及び900であるものとする。
この場合、画像変形ユニット312は、横方向の座標xが座標x1=100及び座標x2=900の範囲(x1≦x≦x2)に入る原画像Iorg(つまり作業データ領域13b内の原画像Iorg)の部分を、変位波形Wdを表す変位ベクトルdの要素の値に基づいて変形する。この変形されるべき原画像Iorgの部分は、横方向の線分321乃至325のうち、当該線分321乃至325上の横方向の座標xが座標x1=100及び座標x2=900の範囲(x1≦x≦x2)に入る部分を含む。この原画像Iorgの変形は、次のように行われる。
ここで、floor( )における“floor”は、括弧内の値の小数点以下を切り下げることを表す。
次に画像変形ユニット312は、前記座標xの値毎に、変位ベクトルdのj番目の要素djの値(つまり変位dj)だけ、作業データ領域13b内の原画像Iorgの対応する部分(つまり座標xの画素列)を縦方向(図33の上または下方向)にずらす。前記j番目の要素djは、算出されたインデックスjで示される。なお、変位djは画素数で示されるものとする。
第5の実施形態では、座標xにおいて変位djが正であるならば、画像変形ユニット312は、原画像Iorg上で座標xの画素列全体を例えば下側にdj画素ずらす。これに対し、座標xにおいて変位djが負であるならば、画像変形ユニット312は、原画像Iorg上で座標xの画素列全体を上側にdj画素ずらす。画像変形ユニット312は、この座標xの値毎に対応する画素列全体が変位djだけ変形された原画像Iorgを、作業データ領域13bの別の領域内の変形画像Idに複写する。このように画像変形ユニット312はオブジェクト生成部として機能して、変位波形Wdによって示される変位に基づいて、図32に示す原画像Iorg(第1のオブジェクト)が変形された変形画像Id(第2のオブジェクト)を生成する。
図34は、図33に示される範囲の原画像Iorgの部分を変形することによって生成された変形画像Idの例を示す。変形画像Idは、歪みのある線分(以下、変形線分と称する)341乃至345を含む。この変形線分341乃至345は、原画像Iorgの線分(罫線)321乃至325(図32参照)に対応する。変形線分341は、第1の実施形態における図形Gdにも対応する。なお、第5の実施形態では、座標xが前記範囲(x1≦x≦x2)に入る原画像Iorgの部分が変形される。したがって、この範囲に入る文字列も変形される。しかし、図34では、作図の都合で、文字列が変形された状態は表現されていない。
変形画像Id内の変形線分341乃至345の、原画像Iorg内の線分321乃至325からの変形の度合いは、データDeのビット列の内容に対応する。つまり、変形画像Idは、データDeが埋め込まれた画像であるといえる。
画像出力ユニット313は、画像変形ユニット312によって記憶装置13の作業データ領域13b内に生成された変形画像Id(変形画像Idから構成される第2のオブジェクト)を出力する。ここでは画像出力ユニット313は、変形画像Idを、入出力コントローラ14を介してプリンタ18に出力するものとする。この場合、プリンタ18は、画像出力ユニット313によって出力された変形画像Idを、例えば紙面に印刷する。しかし、後続の情報処理のために、画像出力ユニット313が、変形画像Idを、入出力コントローラ14を介して外部の記憶装置に出力しても良い。また、変形画像Idが、データ埋め込み装置10内で後続の情報処理に供されても良い。
次に第5の実施形態におけるデータ抽出装置90の動作について説明する。まず図34に示す画像Idが、画像取得ユニット101によって画像Iinとして取得されたものとする。
当てはめユニット102は、画像Iinに基準図形を当てはめる。第5の実施形態では、基準図形として線分が適用される。当てはめユニット102は、画像Iinに、前記線分(つまり基準図形)を当てはめるために、当該画像Iinから1本以上の線分を検出する。以下、画像Iinからの線分の検出について説明する。
図35は、画像Iinと当該画像Iin上の検出範囲の例を示す。この検出範囲は、画像Iinから1本以上の線分を検出するために当該画像Iin上に設定される。図35の例では、この検出範囲は、画像Iin上の横方向の座標をxとすると、座標xが座標x1及びx2の間に入る画像Iin上の部分(つまりx1≦x≦x2の範囲)である。この検出範囲は、前述の変形されるべき原画像Iorgの範囲と一致する。
当てはめユニット102は、図35に示す画像Iinの前記検出範囲x1≦x≦x2から、長さが閾値lTH以上の直線(線分)をHough変換により検出する。閾値lTHは、次式
lTH=c(x2−x1)
によって示される。ここで、cは予め任意に定めた定数であり、例えば0.9である。また、検出された線分の本数をnLとする。更に、検出されたnL本の線分をl1, . . ., lnLとし、k番目の線分をlkとする。図35の画像Iinの例では、図32の原画像Iorgの例からも明らかなように、nLは5である。つまり、図32に示される線分321乃至325に対応する5本の線分が検出される。当てはめユニット102は、検出された5本の線分の各々を基準図形Grとして画像Iinに当てはめる。
lTH=c(x2−x1)
によって示される。ここで、cは予め任意に定めた定数であり、例えば0.9である。また、検出された線分の本数をnLとする。更に、検出されたnL本の線分をl1, . . ., lnLとし、k番目の線分をlkとする。図35の画像Iinの例では、図32の原画像Iorgの例からも明らかなように、nLは5である。つまり、図32に示される線分321乃至325に対応する5本の線分が検出される。当てはめユニット102は、検出された5本の線分の各々を基準図形Grとして画像Iinに当てはめる。
残差算出部103は、当てはめユニット102による当てはめの残差の配列から構成される残差ベクトルrを算出する。以下、この残差算出部103による残差ベクトルrの算出の詳細について説明する。
次に残差算出部103は、検出されたnL本の線分lk(k=1, . . ., nL)の各々について、座標xjにおける当てはめの残差rk,jを算出する。残差算出部103は、nL本の線分lkの全てについて、座標xjにおける当てはめの残差rk,jを算出すると、これらの残差rk,jの平均値rjを次式に従って算出する。
残差算出部103は、算出された平均値rjを残差ベクトルrのj番目の要素として記憶装置13の作業データ領域13bに格納する。残差算出部103は、上述した残差rk,jの算出と平均値rjの算出とを、j=1, . . ., mの各々について実行する。データ抽出装置90における以降の動作は前記第1の実施形態と同様である。
前記第5の実施形態では、予め定められた範囲(つまりx1≦x≦x2の範囲)内の原画像Iorgの部分が変形される。しかし前記範囲内の直線(線分)のみが変形されても良い。つまり画像変形ユニット312が、前記範囲内の原画像Iorgの部分から、例えば横方向の全ての直線(線分)をHough変換により検出し、検出された直線のみを、変位波形Wdによって示される変位に基づいて変形しても良い。
また、前記第5の実施形態では、原画像Iorgが横方向の線分321乃至325を有する帳票画像である。しかし、原画像Iorgは帳票画像以外の画像であっても良く、また原画像Iorgが曲線(閉曲線または開曲線)を有する画像であっても良い。この場合、当てはめユニット102による当てはめに原画像Iorgに対応する画像Iinから検出される曲線を用いても良い。また画像変形ユニット312が、原画像Iorgの予め定められた範囲から検出される輪郭線(より詳細には輪郭画素の系列から構成される輪郭線)を、変位波形Wdによって示される変位に基づいて変形しても良い。
<第6の実施形態>
次に、第6の実施形態について説明する。第6の実施形態の特徴は、データ埋め込み装置における重みベクトル生成部及びデータ抽出装置におけるデータ抽出部それぞれの機能が前記第1の実施形態におけるそれと相違する点にある。しかし、これらの相違点を除けば、第6の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して、第6の実施形態について、前記第1の実施形態と相違する点を中心に説明する。
次に、第6の実施形態について説明する。第6の実施形態の特徴は、データ埋め込み装置における重みベクトル生成部及びデータ抽出装置におけるデータ抽出部それぞれの機能が前記第1の実施形態におけるそれと相違する点にある。しかし、これらの相違点を除けば、第6の実施形態で適用されるデータ埋め込み装置及びデータ抽出装置は、前記第1の実施形態におけるそれと等価である。そこで、便宜的に図1、図2、図9及び図10を参照して、第6の実施形態について、前記第1の実施形態と相違する点を中心に説明する。
まず、第6の実施形態におけるデータ埋め込み装置10の動作について説明する。ここでは、データ取得ユニット21によって取得されたデータDeが、長さがn’=2nのビット列から構成されるものとする。また、この長さがn’=2nのビット列において隣り合うビットをb2i及びb2i+1(i=1, . . ., n)とする。iは前記隣り合うビットb2i及びb2i+1の対の番号を示す。
重みベクトル生成部22は、長さがn’=2nのビット列において隣り合うビットb2i,b2i+1の対(つまりi番目のビット対)を、例えば次式に従って、−3,−1,+1または+3のいずれかの重みwiに変換する。
重みベクトル生成部22は、前記重みwiを、重みベクトルwのi番目の要素wiとして設定する。つまり重みベクトル生成部22は、前記i番目のビット対を、前記式に従って重みベクトルwのi番目の要素wiに変換する。
重みベクトル生成部22は、上述の変換を、i=1, . . ., nの全てのビットb2i,b2i+1の対について実行する。これにより重みベクトル生成部22は、i=1, . . ., nの要素wiの配列から構成される重みベクトルwを生成する。データ埋め込み装置10における以降の動作は、前記第1の実施形態と同様である。
図36は、上述した重みベクトル生成部22による重みベクトル生成の例を示す。図36の例では、データDeのビット列は前記第1の実施形態と同様に“01001101”であり、その長さn’=2nは8である。つまりn=4である。重みベクトル生成部22は、このビット列“01001101”において隣り合うビットの対に基づき、図36において矢印360で示すように、重みベクトルw=(−1, −3, +3, −1)を生成する。
次に、第6の実施形態におけるデータ抽出装置90の動作について説明する。第6の実施形態において、データ抽出装置90の画像取得ユニット101、当てはめユニット102、残差算出部103及び内積ベクトル算出部104のそれぞれの動作は、前記第1の実施形態と同様である。
今、内積ベクトル算出部104により内積ベクトルpが取得されたものとする。データ抽出部105は、内積ベクトルpに対応する変換ベクトルtを、以下に述べるように量子化する。ここでは、前記第1の実施形態と同様に、変換ベクトルtが内積ベクトルpに等しいものとする。
データ抽出部105は、変換ベクトルtのi番目(i=1, . . ., n)の要素tiを−3,−1,+1及び+3のうちの最も近い値qiに量子化する。つまりデータ抽出部105は、tiが−2よりも小さいならば(ti<−2)、tiをqi=−3に量子化する。またデータ抽出部105は、tiが−2以上で且つ0よりも小さいならば(−2≦ti<0)、tiをqi=−1に量子化する。またデータ抽出部105は、tiが0以上で且つ+2よりも小さいならば(0≦ti<+2)、tiをqi=+1に量子化する。更にデータ抽出部105は、tiが+2以上であるならば(ti≧+2)、tiをqi=+3に量子化する。
データ抽出部105は、上述したような量子化を、i=1, . . ., nの全ての要素tiについて実行する。これによりデータ抽出部105は、変換ベクトルtの要素tiが量子化された量子化結果qi(i=1, . . ., n)を取得する。
次にデータ抽出部105は、要素tiに対応する量子化結果qiが−3,−1,+1または+3のいずれであるかを判定する。データ抽出部105は、この判定の結果に基づき、要素tiに対応するi番目のビットb’2i及びb’2i+1の対が、00,01,10または11のいずれであるかを決定する。つまりデータ抽出部105は、qi=−3であるならば、ビットb’2i及びb’2i+1の対が00(b’2i=0,b’2i+1=0)であり、qi=−1であるならば、ビットb’2i及びb’2i+1の対が01(b’2i=0,b’2i+1=1)であると決定する。またデータ抽出部105は、qi=+1であるならば、ビットb’2i及びb’2i+1の対が10(b’2i=1,b’2i+1=0)であり、qi=+3であるならば、ビットb’2i及びb’2i+1の対が11(b’2i=1,b’2i+1=1)であると決定する。
データ抽出部105は、上述の決定をi=1, . . ., nの全ての量子化結果qiについて実行する。これによりデータ抽出部105は、n個のビットb’2i及びb’2i+1の対の列から構成されるデータDdを抽出する。なおデータ抽出部105が、i番目の要素tiに対応する量子化結果qiを取得する毎に、当該量子化結果qiに基づいて、ビットb’2i及びb’2i+1の対が00,01,10または11のいずれであるかを決定しても良い。
図37は、上述したデータ抽出部105による変換ベクトルtの量子化の例を示す図である。図37の例では、変換ベクトルtはt=(−1.2, −3.1, +2.8, −0.9)である。データ抽出部105は、この変換ベクトルtの要素t1=−1.2,t2=−3.1,t3=+2.8及びt4=−0.9を、図37において矢印371で示すように、それぞれq1=−1,q2=−3,q3=+3及びq4=−1に量子化する。次にデータ抽出部105は、q1=−1,q2=−3,q3=+3及びq4=−1に基づいて、それぞれ対応するビット対を図37において矢印372で示すように01,00,11及び01と決定する。これによりデータ抽出部105は、これらのビット対の列01001101から構成されるデータDdを抽出する。
以上説明した少なくとも1つの実施形態によれば、秘匿性に優れ、且つ美観を損ねないデータ埋め込みを実現する、オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法を提供できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
Claims (9)
- 第1の線分または第1の曲線を含む第1のオブジェクトに埋め込まれるべき第1のビット列から構成される第1のデータを取得するように構成されたデータ取得ユニットと、
前記第1のオブジェクトの少なくとも前記第1の線分または前記第1の曲線を前記第1のビット列に基づいて変形することにより、前記第1の線分または前記第1の曲線に対して前記第1のビット列に対応する変位を有する変形線分または変形曲線を含み且つ前記第1のデータが埋め込まれた第2のオブジェクトを生成するように構成されたオブジェクト生成部と、
前記第2のオブジェクトを出力するように構成されたオブジェクト出力ユニットと
を具備するデータ埋め込み装置。 - 前記第1のビット列を重みベクトルに変換するように構成された重みベクトル生成部と、
予め定められた複数の波形から構成される複数の符号化用基底を前記重みベクトルの要素で重み付けすることにより変位の波形を算出するように構成された変位算出部と
を更に具備し、
前記オブジェクト生成部は、前記変位の波形で表される変位だけ前記少なくとも第1の線分または第1の曲線を変形するように構成されている
請求項1記載のデータ埋め込み装置。 - 前記複数の符号化用基底が、互いに線形独立な正弦関数の組み合わせ、互いに線形独立な余弦関数の組み合わせ、または互いに線形独立な正弦関数及び余弦関数の組み合わせから構成される請求項2記載のデータ埋め込み装置。
- 前記第1のオブジェクトは前記第1の線分または前記第1の曲線を含む原画像から構成されており、
前記第2のオブジェクトは変形画像から構成されており、
前記データ埋め込み装置は、前記原画像を取得するように構成された画像取得ユニットを更に具備し、
前記オブジェクト生成部は、前記原画像の少なくとも前記第1の線分または前記第1の曲線の部分を前記第1のビット列に基づいて変形することにより、前記原画像に対して前記第1のビット列に対応する変位を有し且つ前記第1のデータが埋め込まれた前記変形画像を生成するように構成されている
請求項1記載のデータ埋め込み装置。 - 請求項1に記載のデータ埋め込み装置によって前記第1のデータが埋め込まれた前記第2のオブジェクトを含む第1の画像を取得するように構成された画像取得ユニットと、
前記第1の画像に前記第1の線分または第1の曲線に対応する第2の線分または第2の曲線を当てはめるように構成された当てはめユニットと、
前記第1の画像における前記変形線分または前記変形曲線の前記第2の線分または前記第2の曲線からの変位に基づき、前記変位を表す前記当てはめの残差の配列から構成される残差ベクトルを算出するように構成された残差算出部と、
前記残差ベクトルに基づいて、前記第1のデータに対応する第2のデータを抽出するように構成されたデータ抽出部と
を具備するデータ抽出装置。 - 前記データ埋め込み装置は、前記第1のビット列を重みベクトルに変換するように構成された重みベクトル生成部と、予め定められた複数の波形から構成される複数の符号化用基底を前記重みベクトルの要素で重み付けすることにより変位の波形を算出するように構成された変位算出部とを更に具備し、
前記データ埋め込み装置の前記オブジェクト生成部は、前記変位の波形で表される変位だけ前記少なくとも第1の線分または第1の曲線を変形するように構成されており、
前記データ埋め込み装置は、前記複数の符号化用基底に対応する予め定められた複数の復号化用基底と前記残差ベクトルとの内積の配列から構成される内積ベクトルを算出するように構成された内積ベクトル算出部を更に具備し、
前記データ抽出部は、前記内積ベクトルの恒等写像から構成されるまたは前記内積ベクトルを線形変換することにより取得される変換ベクトルを量子化することにより、前記第2のデータを抽出するように構成されている
請求項5記載のデータ抽出装置。 - 前記当てはめユニットは、前記第1の線分または第1の曲線に対応する前記第1の画像の予め定められた範囲から前記第2の線分または前記第2の曲線を検出するように構成されている請求項5記載のデータ抽出装置。
- 第1の線分または第1の曲線を含む第1のオブジェクトに埋め込まれるべき第1のビット列から構成される第1のデータを取得することと、
前記第1のオブジェクトの少なくとも前記第1の線分または前記第1の曲線を前記第1のビット列に基づいて変形することにより、前記第1の線分または前記第1の曲線に対して前記第1のビット列に対応する変位を有する変形線分または変形曲線を含み且つ前記第1のデータが埋め込まれた第2のオブジェクトを生成することと、
前記第2のオブジェクトを出力することと
を具備するデータ埋め込み方法。 - 請求項8に記載のデータ埋め込み方法によって前記第1のデータが埋め込まれた前記第2のオブジェクトを含む第1の画像を取得することと、
前記第1の画像に前記第1の線分または第1の曲線に対応する第2の線分または第2の曲線を当てはめることと、
前記第1の画像における前記変形線分または前記変形曲線の前記第2の線分または前記第2の曲線からの変位に基づき、前記変位を表す前記当てはめの残差の配列から構成される残差ベクトルを算出することと、
前記残差ベクトルに基づいて、前記第1のデータに対応する第2のデータを抽出することと
を具備するデータ抽出方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/067225 WO2014006726A1 (ja) | 2012-07-05 | 2012-07-05 | オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5586705B2 JP5586705B2 (ja) | 2014-09-10 |
JPWO2014006726A1 true JPWO2014006726A1 (ja) | 2016-06-02 |
Family
ID=49881516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012542257A Active JP5586705B2 (ja) | 2012-07-05 | 2012-07-05 | オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9569810B2 (ja) |
JP (1) | JP5586705B2 (ja) |
CN (1) | CN104396225B (ja) |
WO (1) | WO2014006726A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2926436A1 (en) | 2013-10-07 | 2015-04-16 | Judith Murrah | Multimode image and spectral reader |
US9412284B2 (en) * | 2014-04-15 | 2016-08-09 | Apdn (B.V.I.) Inc. | Contour encryption and decryption |
US10995371B2 (en) | 2016-10-13 | 2021-05-04 | Apdn (B.V.I.) Inc. | Composition and method of DNA marking elastomeric material |
US10920274B2 (en) | 2017-02-21 | 2021-02-16 | Apdn (B.V.I.) Inc. | Nucleic acid coated submicron particles for authentication |
CN107742145A (zh) * | 2017-09-20 | 2018-02-27 | 深圳市天朗时代科技有限公司 | 数据嵌入方法、数据读取方法、装置及可读存储介质 |
CN114117366B (zh) * | 2022-01-25 | 2022-04-08 | 合肥高维数据技术有限公司 | 基于全字符变换的字符变形方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2938338B2 (ja) | 1994-03-14 | 1999-08-23 | 株式会社デンソー | 二次元コード |
JP3878400B2 (ja) * | 2000-09-12 | 2007-02-07 | 株式会社東芝 | ドキュメント管理方法 |
JP3628312B2 (ja) | 2001-07-18 | 2005-03-09 | 沖電気工業株式会社 | 透かし情報埋め込み装置,及び,透かし情報検出装置 |
US7408680B2 (en) * | 2001-09-26 | 2008-08-05 | Canon Kabushiki Kaisha | Image processing apparatus and method |
JP2006259795A (ja) * | 2005-03-15 | 2006-09-28 | Toshiba Corp | 文字認識用の帳票、文字認識装置、文字認識プログラムおよび文字認識方法 |
JP2007194934A (ja) | 2006-01-19 | 2007-08-02 | Sharp Corp | 画像形成装置、符号化データ埋め込みシステム、印刷装置、印刷物、画像形成プログラム、および記録媒体 |
JP2007279828A (ja) | 2006-04-03 | 2007-10-25 | Toshiba Corp | 帳票処理装置、帳票様式作成装置、帳票、帳票処理用のプログラム、帳票様式作成用のプログラム |
JP5005490B2 (ja) * | 2006-12-15 | 2012-08-22 | 株式会社リコー | 画像処理方法、画像処理装置及び画像処理プログラム |
JP2008277890A (ja) * | 2007-04-25 | 2008-11-13 | Sharp Corp | 画像処理装置 |
JP2008306473A (ja) | 2007-06-07 | 2008-12-18 | Sharp Corp | 画像処理装置 |
JP2010098721A (ja) * | 2008-10-20 | 2010-04-30 | Toshiba Corp | 印刷処理装置及び印刷処理方法 |
CN102087736B (zh) * | 2009-12-08 | 2012-07-18 | 北京大学 | 一种在公章图像中隐式嵌入信息及检测的方法和系统 |
US8630444B2 (en) * | 2009-12-30 | 2014-01-14 | Mitsubishi Electric Research Laboratories, Inc. | Method for embedding messages into structure shapes |
-
2012
- 2012-07-05 CN CN201280074313.0A patent/CN104396225B/zh active Active
- 2012-07-05 JP JP2012542257A patent/JP5586705B2/ja active Active
- 2012-07-05 WO PCT/JP2012/067225 patent/WO2014006726A1/ja active Application Filing
-
2015
- 2015-01-05 US US14/589,320 patent/US9569810B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9569810B2 (en) | 2017-02-14 |
WO2014006726A1 (ja) | 2014-01-09 |
US20150110342A1 (en) | 2015-04-23 |
JP5586705B2 (ja) | 2014-09-10 |
CN104396225B (zh) | 2017-05-31 |
CN104396225A (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5586705B2 (ja) | オブジェクトにデータを埋め込む装置及び方法、並びに埋め込まれたデータを抽出する装置及び方法 | |
EP3815048B1 (en) | Generating signal bearing art using stipple, voronoi and delaunay methods and reading same | |
US9665817B2 (en) | Techniques for generating customized two-dimensional barcodes | |
Kang et al. | Transfer of adversarial robustness between perturbation types | |
JPWO2004084125A1 (ja) | ドットパターンを用いた情報入出力方法 | |
Al Hussien et al. | Coverless image steganography based on optical mark recognition and machine learning | |
Shamsher et al. | OCR for printed Urdu script using feed forward neural network | |
JP2007180710A (ja) | データ処理方法、データ処理装置及びデータ処理システム | |
US8339677B2 (en) | Image processing system, image processing apparatus, and image processing method | |
WO2015140562A1 (en) | Steganographic document alteration | |
Qin et al. | Print-camera resistant image watermarking with deep noise simulation and constrained learning | |
JP2009042826A (ja) | 2次元コード作成システムおよび2次元コード印刷媒体 | |
Cu et al. | Hiding security feature into text content for securing documents using generated font | |
JP4469301B2 (ja) | 情報埋め込み装置、印刷用媒体、および、情報読み取り装置 | |
JP2006237858A (ja) | 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、および記録媒体 | |
US8149466B2 (en) | Method of embedding data in original image with reduced effect on visibility of original image | |
JP5592234B2 (ja) | 二次元コード生成装置、二次元コード読取装置、二次元コード、二次元コード生成方法、二次元コード読取方法及びプログラム | |
JP2009118293A (ja) | 電子透かしパターンの表示方法および情報保持具 | |
JP6507809B2 (ja) | 印刷指示装置、印刷システム及びプログラム | |
Xu | ADVANCES IN IMAGE-BASED DATA HIDING, FEATURE DETECTION, GRID ALIGNMENT, AND DOCUMENT CLASSIFICATION | |
JP4861251B2 (ja) | 画像処理装置およびその制御方法 | |
JP4575873B2 (ja) | 画像処理装置 | |
JPWO2004084539A1 (ja) | 記入用文書作成装置及び作成方法、記入内容抽出装置及び抽出方法、記入用文書 | |
Bandyopadhyay et al. | Handwritten signature recognition using departure of images from independence | |
JP2007133907A (ja) | 帳票識別方法及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140624 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140722 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5586705 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |