JP4073643B2 - 画像データ識別情報埋込・抽出システム - Google Patents
画像データ識別情報埋込・抽出システム Download PDFInfo
- Publication number
- JP4073643B2 JP4073643B2 JP2001145047A JP2001145047A JP4073643B2 JP 4073643 B2 JP4073643 B2 JP 4073643B2 JP 2001145047 A JP2001145047 A JP 2001145047A JP 2001145047 A JP2001145047 A JP 2001145047A JP 4073643 B2 JP4073643 B2 JP 4073643B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- embedding
- identification information
- function
- embedded
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Television Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、通信回線などの各種伝送媒体を通じて流通されるデジタル画像データ中に著作権者等の権利者を示す識別情報を埋め込む技術、および、このようなデジタル画像データから識別情報を抽出する技術に関する。
【0002】
【従来の技術】
近年のデジタル技術の発展やマルチメディア社会の発展とともに、様々な情報がデジタルデータに変換され、通信網、衛生通信、CD−ROM等の各種の媒体を介して広く流通されるようになっている。
【0003】
このようなマルチメディア社会におけるデジタルデータの流通には、不可避的に、デジタルデータの複製の問題が伴っている。
【0004】
このデジタルデータの複製は適法な範囲であるならばマルチメディア社会における文化の発展に寄与し得るが、それが直接商業上利用される場合の様に不正使用に該当する場合には、デジタルデータが劣化なく複製可能であることから、権利者(著作者、著作権者、出版権者、著作隣接権の権利者、等)の利益損失が甚大なものとなる虞がある。
【0005】
そのため、画像データに関しては、従来、識別情報を外見上認識困難な態様でデータ中に埋め込むことによってこの画像データが不正に複製された際の証拠とするための技術が提案されている。
【0006】
例えば、本発明と同一の出願人による特開平10−234012号公報では、以下のような技術が提案されている。
【0007】
すなわち、この従来技術では、図6に示すように、画像データが直交変換され、変換によって得られた各基底関数の重み係数を置換する。そして係数埋込部は、係数置換部によって置換された重み係数を、直交変換重み係数データ中に埋め込む。逆直交変換部は、係数埋込部による埋め込みがなされた直交変換重み係数データに対して逆直交変換処理を実行するようになっている。
【0008】
【発明が解決しようとする課題】
ところが前記従来技術では、埋め込まれるべき識別情報はアナログ情報であり、デジタルなバイナリ情報を埋め込むのには適していなかった。特に、ある一定の強度以上で、あるいは一定の画像の改変量以下で、バイナリ識別情報の埋め込みを行うことができなかった。
【0009】
本発明はこのような点に鑑みてなされたものであり、画像に、ある一定の強度以上で、あるいは一定の画像の改変量以下で、バイナリの識別情報の埋め込みを行うとともに、悪意の第3者の解析をより困難にし、悪意の改竄を行いにくくすることを技術的課題とする。
【0010】
【課題を解決するための手段】
上記の課題を解決するための手段(機能)を以下に説明する。
【0011】
(1)本発明は、原画像データに、ビットの識別情報を埋め込むための識別情報埋込方法であって、前記原画像データに対して直交変換を施し直交変換データを生成し、前記直交変換データを構成する係数から複数の直交変換重み係数を選択し、最大値Aと最小値Bとを与え、そして埋め込むべきビットに応じて、中間値(A+B)/2と最大値Aとの間の範囲と、最小値Bと中間値(A+B)/2との間の範囲とのいずれか一方を予め関連付けておき、前記各選択された直交変換重み係数毎に、埋め込むべきビットに従って予め関連付けられたいずれか一方の範囲の数値である埋込値を生成し、前記各選択された直交変換重み係数毎に、前記重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として前記最大値Aと前記最小値Bとの間の値を出力する多対一関数である埋込関数を用意し、多対一埋込関数の出力値が、前記で生成された埋込値と一致する、多対一の埋込関数の複数の入力値のうちから、前記直交変換重み係数に最も近い入力値を特定し、特定した入力値によって当該直交変換重み係数を置換し、全ての選択された直交変換重み係数について置換された直交変換データに対して、逆直交変換を施す画像データへの識別情報埋込方法である。
【0012】
原画像データの画素値は、白黒画像の輝度値、RGB信号の各色信号の輝度値、又はYCC信号の輝度値であってもよいし、YCC信号の色差値であってもよい。原画像のドット数は縦横同数であってもよいし、縦横に異なっていてもよい。
【0013】
また、埋込関数は、関数式の形態で保持されていてもよいし、複数の入力値に対する一つの出力値の関係を規定したテーブルの形態で保持されていてもよい。
【0014】
この発明における、直交変換重み係数の置換手段は、本出願人による特開平10−234012号公報に記載されたものと同一の機構を利用できる。そして、1ビットにつき複数の重み係数を選択し、各重み係数に埋め込むべき値を、多対一の埋込関数の値域のうち、値の大きい方か小さい方のいずれか一方に、埋め込むビットにより偏らせる。
【0015】
この方法により、埋め込むビットに依存して埋め込む情報が偏りを持つこととなり、ビットの情報を埋め込むことが可能となる。
【0016】
(2)また、前記識別情報が埋め込まれた処理対象画像データから前記識別情報を抽出する際には、前記処理対象画像データに対して直交変換を施し直交変換データを生成し、この直交変換データを構成する係数から、埋め込み時と同一の複数の個数の直交変換重み係数を選択し、選択された直交変換重み係数毎に、前記重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する、埋め込み時と同一の多対一関数である埋込関数を用意し、前記選択された直交変換重み係数を多対一埋込関数に入力して、その埋込関数の出力値を求め、前記で選択された全ての直交変換重み係数に対応する埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するようにしてもよい。
【0017】
この方法によれば、埋め込まれたビットに依存する偏りを、直交変換係数に対応する埋込関数の出力値の総和と、予め決められた閾値と比較することによって検出することが可能であり、結果として埋め込まれた情報を検出することが可能となる。
【0018】
(3)また、直交変換重み係数を置換する際には、ある特定のビットを埋め込むために選択された前記複数の直交変換重み係数の置換による改変量の総和が、予め決められた閾値以下となるように係数の置換を制御するようにしてもよい。
【0019】
この方法によれば、情報の埋め込みによる画質の劣化量を抑えることができる。すなわち、情報の埋め込みによる画質の劣化量は、直交変換係数の置換に伴う改変量の総和に依存する。このことから、この改変量の総和を制御する手段を設けることで、情報埋め込みによる画質の劣化量を、ある値以下に抑えることが可能となる。
【0020】
(4)また、埋込値の生成に際しては、ある特定のビットを埋め込むために選択された前記複数の直交変換重み係数毎に決定する埋込値の総和が、予め決められた閾値以上となるように決定する。
【0021】
一般に、画像の画像圧縮等に伴う改変等により、埋め込まれた画像自体が変化することがある。このような場合にも、埋め込まれた情報を正しく取り出す必要がある。本発明における画像情報埋込方法の場合、画像の改変が行われると、埋込情報の抽出時に観測される全ての直交変換重み係数に対応する埋込関数の出力値の総和が変化する。
【0022】
そのために、画像改変が与えられても、誤って埋め込まれた情報が判断されないよう、各係数への埋込値の総和をある閾値以上にする手段を設けることにより、画像改変に対する耐性を向上することができる。
【0023】
(5)さらに、前記多対一関数は定義域の入力値に対して出力値が周期性のない、かつ係数毎に異なるような関数としてもよい。
【0024】
この方法によれば、悪意の改変に対する耐性を向上することができる。すなわち、多対一の埋込関数が周期関数だと、悪意の第3者が情報の埋め込まれた画像を解析した場合に規則性が発見されてしまう可能性がある。しかし、前記多対一埋込関数として周期性がなく、かつ各埋め込む係数毎に異なるものを選択することにより、悪意の第3者の解析をより困難にし、悪意の改竄を行いにくくすることが可能となる。
【0025】
(6)本発明は上記(2)記載の画像データからの識別情報抽出方法に加え、コントラスト改変等の画像改変にも対応して識別情報が取り出せるようにしたものである。
【0026】
具体的には、予め改変方法の候補を求めておき、その改変方法に応じて、多対一埋込関数を想定される画像の改変に応じて、その対応する改変が与えられたときに透かしなどが取り出し可能となる関数に上記の多対一埋込関数を変更し、この処理を全ての画像改変候補に施す関数変更機能と、全ての改変の候補の種類に対して、前記選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに前記選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算機能と、全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とする機能とを備える。
【0027】
この処理により、従来は識別情報の抽出が困難であったような画像改変であっても、予め複数の画像改変方法を想定しておき、その中で最も適当な画像改変方法を推定することで、正しく識別情報を抽出することが可能となる。
【0028】
(7)上記(6)において定義した尤度計算機能については、全ての直交変換重み係数に対応する画質改変対応の多対一埋込関数の出力値の総和と前記閾値との差の絶対値を求め、その値を尤度として出力するようにしてもよい。
【0029】
これは、改変された埋込関数が、想定された画像改変と一致しない場合には、多対一埋込関数の出力値が平均的に閾値近辺となり、一致した場合には閾値と出力値との差が大きくなることに基づくものである。
【0030】
(8)上記(7)において、尤度計算機能は、埋め込まれた識別情報が複数ビットの場合には、各ビット毎に求められた尤度の和を、さらにその複数ビットの識別情報の値を尤度として出力することにより、一層最適な画像改変の方法を推定し、適切な埋込関数により画像データから識別情報を抽出することを可能とする。
【0031】
(9)上記(6)おいて、画像の改変が輝度の一定割合の改変やコントラスト変化の場合には、周波数変換係数も画像改変に応じて一定割合でスケーリングされるので、このスケーリングの程度に応じて、各多対一埋込関数の入力値の定義域を再スケーリングすることにより、画像改変対応の多対一埋込関数の計算を可能とする。
【0032】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施の形態を説明する。
【0033】
〔第1の実施の形態〕
まず、第1の実施の形態の画像データ識別情報埋込・抽出システムについて説明する。
【0034】
(埋込用コンピュータ)
図2は、この埋込用コンピュータのハードウェアのうち、原画像データへの識別情報埋込処理に関係する構成のみを示した概略ブロック図である。図2に示すように、この埋込用コンピュータは、互いにバスBによって接続されたCPU1,入力用ディスク装置2,ROM3,および出力用ディスク装置4を有している。
【0035】
入力用ディスク装置2は、CPU1からの指示に応じて原画像データ21をCPU1に入力するハードディスク装置,フロッピーディスク装置,光磁気ディスク装置,等である。
【0036】
埋込関数保持手段およびコンピュータ可読媒体としてのROM3は、CPU1にて実行される識別情報埋込プログラム31,識別情報32,および埋込関数33を保持している読み出し専用メモリである。
【0037】
CPU1は、埋込用コンピュータ全体の制御を実行するプロセッサであり、ROM3から読み出した識別情報埋込プログラム31を実行することによって、その内部に直交変換処理部11,係数抽出処理部12,係数置換部13,係数埋込部14,および逆直交変換部15を展開し(論理的に構成し)、図1に概略を示す識別情報埋込処理を実行する。なお、図2における点線は、CPU1内におけるデータの流れを示している。
【0038】
直交変換手段としての直交変換処理部11は、入力用ディスク装置2から読み出したN×M画素の原画像データ21に対して上述した直交変換処理を実行して、基底関数のN×M個の組合せに対する重み係数を夫々算出する。
【0039】
このN×M個の重み係数は、原画像と同じくN×M個のマトリックスを形成する。この重み係数のマトリックスを、以下、便宜上「係数分布画像データ」という。直交変換処理部11は、この係数分布画像データを、係数抽出処理部12および係数埋込部14へ夫々通知する。
【0040】
係数抽出処理部12は、直交変換処理部11から通知された係数分布画像データから、識別情報の各信号を埋め込むべきL個の重み係数を抽出して、係数置換部13へ通知する。
【0041】
係数置換手段としての係数置換部13は、ROM3から識別情報32および埋込関数33を読み込む。そして、識別情報32の各信号毎に、埋込関数33を逆算して、その信号の値を出力値とする埋込関数33の全ての入力値を求める。そして、求められた入力値の中から、係数抽出処理部12から通知された対応する重み係数の値との差が最も小さくなるものを特定し、当該係数の書換値として係数埋込部13に通知する。なお、識別情報はキーボード等、外部からの入力も可能である。
【0042】
係数置換手段としての係数埋込部14は、直交変換処理部11から受け取った係数分布画像データ中の係数置換部13から通知された書換値に対応する重み係数の値を、この書換値によって上書きする。
【0043】
逆直交変換手段としての逆直交変換部15は、係数埋込部14から受け取ったN×M個の重み係数に対して、逆直交変換を実行する。この逆直交変換部15は、識別情報埋込済画像の各画素毎に、直交変換処理部11において用いられた基底関数の各組合わせに対応する重み係数とその画素の位置に対する各基底関数の値との積の総和を計算し、その画素の輝度値を求める。逆直交変換部15は、このようにして輝度を求めた各画素からなる識別情報埋込済画像データ41を、出力用ディスク装置4に送り出す。
【0044】
出力用ディスク装置4は、CPU1から渡された識別情報埋込済画像データ41が書き込まれるハードディスク装置,フロッピーディスク装置,光磁気ディスク装置,等である。
【0045】
(識別情報埋込処理例)
図1に識別情報の埋込方法を示す。ここでは、M×Nの原画像と、埋め込むべきバイナリの署名値Sを用意する(ステップ101)。
【0046】
ここで、Sは0か1である。そしてこの情報を埋め込むために、L個の係数を用いることとする。また、情報を埋め込むためのL個の埋込関数fi(x)(i=1..L)を用意する。
【0047】
ここで、埋込関数fi(x)は埋め込む係数毎に異なる非周期関数のものが好ましい。この実施の形態では、以下の様に決定する。
【0048】
fi(x)=sin (x/T + 3・sin(x/(√3・T))+3・sin(x/(√2・T))+θi
ここで、θiは係数毎に異なる位相である。また、Tは正規化のための定数である。
【0049】
図3にθiが0、T=1の場合の、この埋込関数の形を示す。この関数では、周期が二つの無理数の周期の重ね合わせとなっているため、非周期性が保証されている。なお、この非周期関数は、決定論的な擬似乱数等を用いても実現可能である。
【0050】
そして、情報を埋め込むために、原画像を直交変換であるDCT(離散コサイン変換)を施す(ステップ102)。なお、ここでは直交変換としてDCTを用いたが、直交変換であれば、DST、フーリエ変換、ウェーブレット変換等、いずれの方式でも適用することが可能である。
【0051】
そして、このDCTの係数から、予め決められたL個の係数Ci=(i=1..L)を選択する。そして、L回の係数の埋め込むためのループを実行する(ステップ103)。まず、このループでは、各係数毎に、埋込関数に埋め込むべき値Eiを決定する(ステップ104)。
【0052】
この場合には、この関数の値域は[−1:1]である。このことから、画像に埋め込むバイナリ値が1の場合は、係数Ciに埋め込むべき値を[0:1]の範囲の値を選び、また画像に埋め込むバイナリ値が0の場合は、係数Ciに埋め込むべき値を[−1:0]の範囲の値を選ぶようにする。
【0053】
画像改変に対する耐性を向上させるため、Eiは以下の条件を満たすようにする。
埋込値が1の場合:
【0054】
【数1】
埋込値が0の場合:
【0055】
【数2】
ここで、TH_embedは画像改変に対する耐性を保証するための閾値である。
【0056】
以上のように、画像改変が与えられても、埋め込まれた情報が誤って判断されないよう、各係数への埋込値の総和をある閾値以上にする手段を設けることにより、画像改変に対する耐性を向上することができる。
【0057】
次に、処理対象の重み係数Ciに対応する埋込値Eiおよび埋込関数fi(x)に基づいて、
fi(Cik)=Ei
の関係を満たすKi個のCik(1≦k≦Ki)を求める(ステップ105)。ここで、Kiは、i番目の係数において、上記式を満たす解の個数である。
【0058】
次のステップでは、生成された係数分布画像データ中の処理対象の重み係数Ci値を、前ステップにて求められた各解Cik中最も当該重み係数Ciに近いものの値に書き換える(ステップ106)。
【0059】
次のステップでは、変数iがLに達したか否か、すなわち、識別情報を構成する全ての信号に対して埋め込みに伴う係数置換処理を実行したか否かをチェックする(ステップ107)。
【0060】
そして、未だ変数iがLに達していなければ、変数iをインクリメントした後で、処理を戻す(ステップ108)。
【0061】
これに対して、変数iがLに達していれば、書換のなされた係数分布画像に対して上述した逆DCTを施して(ステップ109)、N×Mドットの識別情報埋込済画像データ41を生成する(ステップ110)。
【0062】
ここで、情報の埋め込みによる画質劣化量を抑制するため、画像の改変量を制御することも可能である。すなわち、ある係数Ciにおいて、fi(Cik)=Eiを満たす解の中で最も近いものをCikとする。
【0063】
そして、C’iを置換後の係数とする。ここで、上記の例のように、置換後の係数C’iとして、
fi(Cik)=Ei
の解Cik中最も当該重み係数Ciに近いものの値に書き換える代わりに、
【0064】
【数3】
といったように、全ての係数の置換に伴う改変量を、ある一定値以下に抑えることにより、画質劣化をある閾値以下に抑えることができる。
【0065】
具体的には、係数Ciとfi(Cik)=Eiを満たす解の中で最もCiに近いCiKとの距離|Ci−CiK|がある閾値dより大きい場合には、改変量をTに制限すればよい。つまり
if(|Ci−CiK|≦d)
C'i = CiK
else if (Ci−Cik ≧ d)
C'i = Ci−d
else
C'i = Ci + d
とすればよい。
【0066】
(抽出用コンピュータ)
次に、抽出用コンピュータの具体的構成を説明する。図4は、この抽出用コンピュータのハードウェアのうち、識別情報埋込済画像データからの識別情報抽出処理に関係する構成のみを示した概略ブロック図である。
【0067】
同図に示すように、この抽出用コンピュータは、互いにバスBによって接続されたCPU1,入力用ディスク装置2,ROM3,および出力装置5を有している。
【0068】
すなわち、抽出用コンピュータのハードウェア構成は、埋込用コンピュータのハードウェア構成と同一であり、唯ROM3内に識別情報抽出プログラム34が格納されている点,および、出力用ディスク装置4が必須でなく出力装置5が必須である点のみが異なる。
【0069】
従って、ROM3内に識別情報埋込プログラム31および識別情報抽出プログラム34の双方が格納されているとともに、出力用ディスク装置4および出力装置5がバスBに接続されていれば、一台のコンピュータを埋込用コンピュータおよび抽出用コンピュータとして機能させることができる。 図4において、入力用ディスク装置2は、CPU1からの指示に応じて処理対象画像データ(識別情報埋込済画像データ)22をCPU1に入力するハードディスク装置,フロッピーディスク装置,光磁気ディスク装置,等である。
【0070】
埋込関数保持手段およびコンピュータ可読媒体としてのROM3は、CPU1にて実行される識別情報抽出プログラム34,および埋込関数33を保持している読み出し専用メモリである。この埋込関数33は、埋込用コンピュータのものと全く同一である。
【0071】
CPU1は、抽出用コンピュータ全体の制御を実行するプロセッサであり、ROM3から読み出した識別情報抽出プログラム34を実行することによって、その内部に直交変換処理部16,係数抽出処理部17,および識別情報算出部18を展開し、図5に概略を示す識別情報抽出処理を実行する。なお、図4における点線は、CPU1内におけるデータの流れを示している。
【0072】
直交変換手段としての直交変換処理部16は、入力用ディスク装置2から読み出したN×M画素の処理対象画像データ22に対して上述した直交変換処理を実行して、基底関数のN×M個の組合せに対する重み係数を夫々算出する。そして、N×M個の重み係数からなる係数分布画像データを、係数抽出処理部17へ通知する。
【0073】
取出(係数選択)手段としての係数抽出処理部17は、直交変換処理部16から通知された係数分布画像データから、識別情報の各信号が埋め込まれている可能性のあるL個の重み係数を抽出して、識別情報算出部18へ通知する。
【0074】
算出手段としての識別情報算出部18は、ROM3から埋込関数33を読み込む。そして、係数抽出処理部17から通知された各重み係数毎に、埋込関数33の出力値を求める。そして、求められた各出力値を、その出力値に対応する重み係数の係数分布画像データ中での配列に従って配列して、出力装置5に対して出力する。
【0075】
出力装置5は、CPU1から渡されたL個の出力値を表示するディスプレイ装置又は出力値を印字するプリンタ等である。
【0076】
(識別情報抽出処理例)
次に、図5を用いて識別情報の抽出方法について説明する。ここでは、識別情報が埋め込まれたM×Nの原画像を用意する。また、識別情報を埋め込んだ時と同一のL個の埋込関数fi(x)(i=1..L)を用意する。そして、識別情報を埋め込むために、L個の係数が用いられたとする(ステップ501)。
【0077】
識別情報を抽出するために、原画像を埋め込み時と同一の直交変換であるDCT(離散コサイン変換)を施す(ステップ502)。次に、このDCTの係数から、予め決められたL個の係数Ci(i=1..L)を選択する(ステップ503)。
【0078】
そして、L個の係数を埋め込むためのループを実行する。まず、このループでは、各係数毎に、埋込関数fi(x)により埋め込まれた値Eiを検出する(ステップ504)。
【0079】
すなわち、前述の埋め込み時と同じ埋込関数
fi(x)=sin (x/T + 3・sin(x/(√3・T))+3・sin(x/(√2・T))+θi)
の場合には、
Ei=fi(Ci)
となる。
【0080】
次のステップでは、変数iがLに達したか否か、すなわち、埋込関数L個分だけ処理を繰り返したか否かを判定する(ステップ505)。そして、未だ変数iがLに達していなければ、変数iをインクリメントした後で、処理を戻す(ステップ506)。
【0081】
これに対して、変数iがLに達していれば、検出値の総和、すなわち、
【0082】
【数4】
を求める。ここで、fi(x)の値域は[−1:1]のため、その中間値0のL倍、すなわち0が埋め込まれたビット情報の判定閾値となる。
【0083】
すなわち、Etotal>0ならば、埋め込まれたビットは1、そうでない場合は埋め込まれたビットは0と判定する(ステップ507)。
【0084】
〔第2の実施の形態〕
次に、第2の実施の形態の画像データ識別情報埋込・抽出システムについて説明する。
【0085】
(埋込用コンピュータ及び抽出用コンピュータ)
この実施の形態の埋込用コンピュータ及び抽出用コンピュータは、図2および図4に示す第1の実施の形態と基本的には同一構成である。ただし、抽出用コンピュータのCPU1を構成する識別情報算出部18は、機能的に拡張されている。
【0086】
つまり、識別情報算出部18は、各選択された直交変換重み係数毎に、直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値と最小値との間の値を出力する埋め込み時と同一の多対一関数である埋込関数と、想定される画像の改変の候補との種類に応じて埋込記関数を変更し、改変の候補種類の画像改変対応の多対一埋め込み関数を得る関数変更機能を有する。
【0087】
また、識別情報算出部18は、全ての改変の候補の種類に対して、選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算機能を有する。
【0088】
さらに、識別情報算出部18は、全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とする機能を有する。
【0089】
ここで、尤度計算機能は、さらに、全ての直交変換重み係数に対応する画質改変対応の多対一埋込関数の出力値の総和と閾値との差の絶対値を求め、その値を尤度として出力する。
【0090】
また、尤度計算機能は、さらに、埋め込まれた識別情報が複数ビットの場合には、各ビット毎に求められた尤度の和を、その複数ビットの識別情報の値を尤度として出力する。
【0091】
また、関数変更機能は、画像の改変がコントラストまたは輝度の改変の場合には、各多対一埋込関数の定義域を再スケーリングして画像改変対応の多対一埋込関数を得る。
【0092】
(識別情報抽出処理例)
この処理例では、対応する画像改変をコントラスト改変とする。コントラスト改変とは、次のように定義する。すなわち、Pin(i、j)を、改変前の画像の座標(i,j)のピクセル値とする。また、Pout(j,j)を画像改変後の座標(i、j)のピクセル値とする。すると、コントラスト改変は、全ての画素(i,j)に対して、以下の一次変換
Pout(i,j)=a・Pin(i,j)+b
を施すことになる。
【0093】
次に、このコントラスト変換を行なわれた画像のDCT係数と、コントラスト変換する前の係数との関係を求める。上記のコントラスト変換を行なう前の周波数(u,v)のDCT係数をCin(u,v)、コントラスト変換した後のDCT変換係数をCout(u,v)とすると、以下のような関係となる。
【0094】
Cout(u,v)=a・Cin(u,v) (u,v)≠(0,0)
Cout(0,0)=a・Cin(0,0)+b・D (Dは画像サイズ等で求まる定数)
となる。以下、簡単のために、議論を(u,v)が(0,0)でないとする。
【0095】
ここで、埋込関数Fuv(x)が用意された場合に、
Fuv(Cin(u,v))=A
という出力値が得られていたとする。ここで、コントラストのスケーリング値とコントラスト改変後の周波数係数Cout(u,v)を入力とする、以下のような新しい関数Gを定義する。
【0096】
Guv(a,C)=Fuv(C/a)
ここで、Fuv(x)は埋込関数である。そして、このGuv(x)にコントラストのスケーリング係数aとCout(u,v)とを代入すると、
となる。
【0097】
このことから、コントラスト改変後の係数Cout(u,v)に対して、正しくコントラスト改変のスケーリング係数aを正しく推定し、関数Guv(x)にaとCout(u,v)とを代入すれば、コントラスト改変前の埋込関数の出力値と同一の値を得ることができる。
【0098】
また、スケーリング係数aが正しくない場合には、統計的に関数Guv(x)の出力値がランダムになる。このことから、識別情報を埋め込むために選択された複数のDCT係数に対して、誤ったスケーリング係数で求まった出力値の加算値は、埋込関数の出力値の平均値の和、すなわちビット判定のための閾値に近づく。
【0099】
このことから、透かし埋込関数の出力値の加算値と、埋込関数の出力値の平均値の和との差分の絶対値は、埋め込まれた識別情報のもっともらしさ、すなわち尤度としては良い尺度となる。
【0100】
以上の事実に基づいて、コントラスト改変等の改変された画像から1ビットの識別情報を抽出する方法を図7に示す。ここでは、識別情報が埋め込まれたM×Nの原画像を用意する。そして、この情報を埋め込むために、L個の係数が用られたとする。また、情報を埋め込んだ時と同一のL個の埋込関数fi(x)(i=1..L)を用意する(ステップ701)。
【0101】
そして、情報を抽出するために、原画像を埋め込み時と同一の直交変換であるDCT(離散コサイン変換)を施す(ステップ702)。このDCTの係数から、予め決められたL個の係数Ci(i=1..L)を選択する(ステップ703)。また、ここで、P個のコントラスト改変スケーリング係数aj(j=1..P)を用意する(ステップ704)。
【0102】
まず、あるjのもとで、L回の係数の取り出しを行なう。Lループのi番目の係数について、埋込関数はスケーリング係数ajにより、入力値を除算するように変更する。この埋込関数の出力をEijとする。そして、全ての係数のEijを求め、ΣEij(i=1..L)を求める(ステップ705)。この値ΣEijと閾値Tとの差分の絶対値を、スケーリング係数ajの尤度Ujとする(ステップ706)。
【0103】
ここで、ΣEijは、もとの埋め込み情報とまったく無相関の場合には、閾値Tと近くなり、埋め込み情報と相関がある場合に閾値Tとの差が大きくなるという原理に基づく。
【0104】
全てのスケーリング係数aj(j=1..P)で識別情報を抽出し終わったら、最大のUjを与える最適係数の添え字joptを求める(ステップ707)。そして、ΣEijoptと閾値Tとの大小を比較し、ΣEijoptの方が大きければ埋め込まれた値Sを1、そうでなければ埋め込まれた値Sを0と判定する(ステップ708)。
【0105】
次に、図8参照して、K(複数)ビットの識別情報が埋め込まれた場合の、コントラスト改変画像からの識別情報の抽出方法を説明する。
【0106】
コントラスト改変対応をしない場合には、図3の方法をKビット毎に独立に行なえばよいが、コントラスト改変画像から、一層確度を向上させて識別情報を取り出す場合には、図8に示すように尤度判定をまとめて行なったほうがよい。
【0107】
この例では、図7で求めた、各ビット毎の尤度の和を、全ビットに対するコントラストのスケーリング係数ajの尤度とする点が異なる。そして、図7同様、尤度Ujの最大値を与える最適係数の添え字joptを求め、その際の埋込関数の出力値を用いて、尤度の最大識別情報(埋め込まれた値))Sk(k=1..K)を求める(ステップ801から810)。
【0108】
〔変形例〕
上述した画像改変例としてのコントラスト改変以外に、画像をぼかしたり、あるいはエッジ強調などの空間フィルタによる改変についても、本発明の手法は有効である。一般に、空間フィルタ処理を画像に対して施すと、その空間フィルタ処理後の画像の周波数成分は、元の画像の周波数成分に施した空間フィルタの周波数特性を施したものとなる。
【0109】
すなわち、元の画像をPin(i,j)、空間フィルタをs(i,j)とすると、空間フィルタをかけた画像Pout(i,j)は次の式で表される。
【0110】
【数5】
また、元の画像Pin(i,j)をフーリエ変換したものをPfin(u,v)、空間フィルタ後の画像Pout(i,j)をフーリエ変換したものをPfout(u,v)とする。また、空間フィルタs(i,j)のインパルス応答をS(u,v)とする。ここで、S(u,v)は次のように求められる。
【0111】
【数6】
また、Pfout(u,v)は以下のように求められる。
【0112】
Pfout(u,v)=S(u,v)・Pfin(u,v)
このようなことから、空間フィルタを施した後のフーリエ変換係数は、空間フィルタを施す前の画像のフーリエ変換係数に、空間フィルタの周波数特性を乗じたものとなる。
【0113】
これらの議論から、この変形例では、識別情報の埋め込みにDCTまたはフーリエ変換などの周波数変換を用いている。このことから、識別情報の埋め込みに用いる各係数は、空間フィルタを施されることにより、
Cout(u,v)=S(u.v)・Cin(u,v)
と言う関係がほぼ成立する。この関係式は、係数のスケーリングが周波数に依存する以外は、先のコントラスト改変の場合と同様となる。
【0114】
このことから、コントラスト改変の場合と同様に、予め複数種類の空間フィルタを想定し、前述の関数Guv(x)に想定されたうちの一つのフィルタにおける係数の特性S(u,v)とCout(u,v)とを代入すると、
となる。
【0115】
このことから、空間フィルタ処理後の係数Cout(u,v)に対して、正しく空間フィルタを正しく推定し、関数Guv(x)にS(u,v)とCout(u,v)とを代入すれば、コントラスト改変前の埋込関数の出力値と同一の値を得ることができる。
【0116】
なお、コンテンツデータを損なわずに用いられる空間フィルタは、「ぼかし」及び「先鋭化」くらいであり、一般に良く用いられるフィルタの特性の種類は多くないことから、この手法は現実的である。
【0117】
上述した各実施の形態における各処理はコンピュータで実行可能なプログラムとして提供され、CD−ROMやフロッピーディスクなどの記録媒体、さらには通信回線を経て提供可能である。
【0118】
〔その他〕
最後に、本発明の課題解決手段を付記としてまとめると以下の通りである。
【0119】
(付記1) 原画像データにビットの識別情報を埋め込むための識別情報埋込方法であって、
前記原画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から複数の異なる直交変換重み係数を選択する係数選択ステップと、
最大値Aと最小値Bとを与え、埋め込むべきビットに応じて、中間値(A+B)/2と最大値Aとの間の範囲と、最小値Bと前記中間値(A+B)/2との間の範囲とのいずれか一方を予め関連付けておき、前記各選択された直交変換重み係数毎に、前記埋め込むべきビットに従って予め関連付けられたいずれか一方の範囲の数値である埋込値を生成する埋込値生成ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として前記最大値Aと前記最小値Bとの間の値を出力する多対一関数である埋込関数を用意し、前記多対一埋込関数の出力値が、前記埋込値生成ステップにより生成された前記埋込値と一致する多対一の埋込関数の複数の入力値のうちから、前記直交変換重み係数に最も近い入力値を特定し、特定した入力値によって当該直交変換重み係数を置換するステップと、
全ての選択された前記直交変換重み係数について置換された直交変換データに対して、逆直交変換を施すステップと、
を備える画像データへの識別情報埋込方法。
【0120】
(付記2) 付記1記載の画像データへの識別情報埋込方法によって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出方法であって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する、埋め込み時と同一の多対一関数である埋込関数を用意し、前記選択された直交変換重み係数を前記多対一埋込関数に入力して、その埋込関数の出力値を求めるステップと、
前記選択された全ての直交変換重み係数に対応する前記埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた前記識別情報を抽出するステップと、
を備える画像データからの識別情報抽出方法。
【0121】
(付記3) 前記直交変換重み係数を置換するステップは、
ある特定のビットを埋め込むために選択された前記複数の直交変換重み係数の置換による改変量の総和が予め決められた閾値以下となるように係数の置換を制御する
付記1記載の画像データへの識別情報埋込方法。
【0122】
(付記4) 前記埋込値生成ステップは、
ある特定のビットを埋め込むために選択された前記複数の直交変換重み係数毎に決定する埋込値の総和が予め決められた閾値以上あるいは以下となるように決定する
付記1記載の画像データへの識別情報埋込方法。
【0123】
(付記5) 前記多対一埋込関数は定義域の入力値に対して出力値が周期性がなく、かつ埋め込む直交変換重み係数毎に異なるものである
付記1または2記載の識別情報埋込方法または識別情報抽出方法。
【0124】
(付記6) 原画像データにビットの識別情報を埋め込むための識別情報埋込装置であって、
前記原画像データに対して直交変換を施し直交変換データを生成する直交変換手段と、
前記直交変換データを構成する係数から複数の異なる直交変換重み係数を選択する係数選択手段と、
最大値Aと最小値Bとを与え、埋め込むべきビットに応じて、中間値(A+B)/2と最大値Aとの間の範囲と、最小値Bと前記中間値(A+B)/2との間の範囲とのいずれか一方を予め関連付けておき、前記各選択された直交変換重み係数毎に、前記埋め込むべきビットに従って予め関連付けられたいずれか一方の範囲の数値である埋込値を生成する埋込値生成手段と、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として前記最大値Aと前記最小値Bとの間の値を出力する多対一関数である埋込関数を用意し、前記多対一埋込関数の出力値が、前記埋込値生成手段により生成された前記埋込値と一致する多対一の埋込関数の複数の入力値のうちから、前記直交変換重み係数に最も近い入力値を特定し、特定した入力値によって当該直交変換重み係数を置換する手段と、
全ての選択された前記直交変換重み係数について置換された直交変換データに対して、逆直交変換を施す手段と、
を備える画像データへの識別情報埋込装置。
【0125】
(付記7) 付記6記載の画像データへの識別情報埋込装置によって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出装置であって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換手段と、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択手段と、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する、埋め込み時と同一の多対一関数である埋込関数を用意し、前記選択された直交変換重み係数を前記多対一埋込関数に入力して、その埋込関数の出力値を求める手段と、
前記選択された全ての直交変換重み係数に対応する前記埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた前記識別情報を抽出する手段と、
を備える画像データからの識別情報抽出装置。
【0126】
(付記8) 原画像データにビットの識別情報を埋め込むための識別情報埋込プログラムであって、
前記原画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から複数の異なる直交変換重み係数を選択する係数選択ステップと、
最大値Aと最小値Bとを与え、埋め込むべきビットに応じて、中間値(A+B)/2と最大値Aとの間の範囲と、最小値Bと前記中間値(A+B)/2との間の範囲とのいずれか一方を予め関連付けておき、前記各選択された直交変換重み係数毎に、前記埋め込むべきビットに従って予め関連付けられたいずれか一方の範囲の数値である埋込値を生成する埋込値生成ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として前記最大値Aと前記最小値Bとの間の値を出力する多対一関数である埋込関数を用意し、前記多対一埋込関数の出力値が、前記埋込値生成ステップにより生成された前記埋込値と一致する多対一の埋込関数の複数の入力値のうちから、前記直交変換重み係数に最も近い入力値を特定し、特定した入力値によって当該直交変換重み係数を置換するステップと、
全ての選択された前記直交変換重み係数について置換された直交変換データに対して、逆直交変換を施すステップと、
を備えるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【0127】
(付記9) 付記8記載の画像データへの識別情報埋込プログラムによって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出プログラムであって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する、埋め込み時と同一の多対一関数である埋込関数を用意し、前記選択された直交変換重み係数を前記多対一埋込関数に入力して、その埋込関数の出力値を求めるステップと、
前記選択された全ての直交変換重み係数に対応する前記埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた前記識別情報を抽出するステップと、
を備えるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【0128】
(付記10) 付記1記載の画像データへの識別情報埋込方法によって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出方法であって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する埋め込み時と同一の多対一関数である埋込関数と、想定される画像の改変の候補との種類に応じて前記埋込記関数を変更し、改変の候補種類の画像改変対応の多対一埋め込み関数を得る関数変更ステップと、
全ての改変の候補の種類に対して、前記選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに前記選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算ステップと、
全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とするステップと、
を備える画像データからの識別情報抽出方法。
【0129】
(付記11) 前記尤度計算ステップは、全ての直交変換重み係数に対応する画質改変対応の多対一埋込関数の出力値の総和と前記閾値との差の絶対値を求め、その値を尤度として出力する
付記10記載の画像データからの識別情報抽出方法。
【0130】
(付記12) 前記尤度計算ステップは、埋め込まれた識別情報が複数ビットの場合には、各ビット毎に求められた尤度の和を、さらにその複数ビットの識別情報の値を尤度として出力する
付記11記載の画像データからの識別情報抽出方法。
【0131】
(付記13) 前記関数変更ステップは、画像の改変がコントラストまたは輝度の改変の場合には、各多対一埋込関数の定義域を再スケーリングして画像改変対応の多対一埋込関数を得る
付記10記載の画像データからの識別情報抽出方法。
【0132】
(付記14) 付記6記載の画像データへの識別情報埋込装置によって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出装置であって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換手段と、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択手段と、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する埋め込み時と同一の多対一関数である埋込関数と、想定される画像の改変の候補との種類に応じて前記埋込記関数を変更し、改変の候補種類の画像改変対応の多対一埋め込み関数を得る関数変更手段と、
全ての改変の候補の種類に対して、前記選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに前記選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算手段と、
全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とする手段と、
を備える画像データからの識別情報抽出装置。
【0133】
(付記15) 付記8記載の画像データへの識別情報埋込プログラムによって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出プログラムであって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する埋め込み時と同一の多対一関数である埋込関数と、想定される画像の改変の候補との種類に応じて前記埋込記関数を変更し、改変の候補種類の画像改変対応の多対一埋め込み関数を得る関数変更ステップと、
全ての改変の候補の種類に対して、前記選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに前記選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算ステップと、
全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とするステップと、
を備えるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【0134】
(付記16) 原画像データにビットの識別情報を埋め込むための識別情報埋込プログラムであって、
前記原画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から複数の異なる直交変換重み係数を選択する係数選択ステップと、
最大値Aと最小値Bとを与え、埋め込むべきビットに応じて、中間値(A+B)/2と最大値Aとの間の範囲と、最小値Bと前記中間値(A+B)/2との間の範囲とのいずれか一方を予め関連付けておき、前記各選択された直交変換重み係数毎に、前記埋め込むべきビットに従って予め関連付けられたいずれか一方の範囲の数値である埋込値を生成する埋込値生成ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として前記最大値Aと前記最小値Bとの間の値を出力する多対一関数である埋込関数を用意し、前記多対一埋込関数の出力値が、前記埋込値生成ステップにより生成された前記埋込値と一致する多対一の埋込関数の複数の入力値のうちから、前記直交変換重み係数に最も近い入力値を特定し、特定した入力値によって当該直交変換重み係数を置換するステップと、
全ての選択された前記直交変換重み係数について置換された直交変換データに対して、逆直交変換を施すステップと、
を備えるプログラム。
【0135】
(付記17) 付記16記載の画像データへの識別情報埋込プログラムによって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出プログラムであって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する、埋め込み時と同一の多対一関数である埋込関数を用意し、前記選択された直交変換重み係数を前記多対一埋込関数に入力して、その埋込関数の出力値を求めるステップと、
前記選択された全ての直交変換重み係数に対応する前記埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた前記識別情報を抽出するステップと、
を備えるプログラム。
【0136】
(付記18) 付記16記載の画像データへの識別情報埋込プログラムによって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出プログラムであって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する埋め込み時と同一の多対一関数である埋込関数と、想定される画像の改変の候補との種類に応じて前記埋込記関数を変更し、改変の候補種類の画像改変対応の多対一埋め込み関数を得る関数変更ステップと、
全ての改変の候補の種類に対して、前記選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに前記選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算ステップと、
全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とするステップと、
を備えるプログラム。
【0137】
【発明の効果】
本発明によれば、画像に、ある一定の強度以上で、あるいは一定の画像の改変量以下で、バイナリの識別情報の埋め込みを行うことができる。
【0138】
また、本発明によれば、埋込関数に非周期関数を用いることにより、悪意の第3者の解析をより困難にし、悪意の改竄を行いにくくすることができる。
【0139】
さらに、本発明によれば、コントラスト等の改変に対応した埋込関数で抽出した複数の識別情報の候補を、求められた尤度で判定することにより、識別情報の読み出しの耐性を向上させることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態における識別情報の埋め込み手順を示すフロー図。
【図2】 本発明の実施の形態における埋込用コンピュータの構成を示すブロック図。
【図3】 本発明の実施の形態における埋込関数を示すグラフ図。
【図4】 本発明の実施の形態における抽出用コンピュータの構成を示すブロック図。
【図5】 本発明の第1の実施の形態における埋込値の抽出手順を示すフロー図。
【図6】 従来技術における署名画像の埋め込みおよび抽出を説明する説明図。
【図7】 本発明の第2の実施の形態における埋込情報の抽出手順を示すフロー図。
【図8】 本発明の第2の実施の形態における埋込情報の抽出手順を示すフロー図。
【符号の説明】
1 CPU
2 入力用ディスク装置
3 ROM
4 出力用ディスク装置
5 出力装置
11 直交変換処理部
12 係数抽出処理部
13 係数置換部
14 係数埋込部
15 逆直交変換部
16 直交変換処理部
17 係数抽出処理部
18 識別情報算出部
21 原画像データ
22 処理対象画像データ
31 プログラム
32 識別情報
33 埋込関数
34 プログラム
41 識別情報埋込済画像データ
B バス
Claims (8)
- 原画像データにビットの識別情報を埋め込むための識別情報埋込方法であって、
前記原画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から複数の異なる直交変換重み係数を選択する係数選択ステップと、
最大値Aと最小値Bとを与え、埋め込むべきビットに応じて、中間値(A+B)/2と最大値Aとの間の範囲と、最小値Bと前記中間値(A+B)/2との間の範囲とのいずれか一方を予め関連付けておき、前記各選択された直交変換重み係数毎に、前記埋め込むべきビットに従って予め関連付けられたいずれか一方の範囲の数値である埋込値を生成する埋込値生成ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として前記最大値Aと前記最小値Bとの間の値を出力する多対一関数である埋込関数を用意し、前記多対一埋込関数の出力値が、前記埋込値生成ステップにより生成された前記埋込値と一致する多対一の埋込関数の複数の入力値のうちから、前記直交変換重み係数に最も近い入力値を特定し、特定した入力値によって当該直交変換重み係数を置換するステップと、
全ての選択された前記直交変換重み係数について置換された直交変換データに対して、逆直交変換を施すステップとを備え、
前記直交変換重み係数を置換するステップは、
ある特定のビットを埋め込むために選択された前記複数の直交変換重み係数の置換による改変量の総和が予め決められた閾値以下となるように係数の置換を制御する
画像データへの識別情報埋込方法。 - 請求項1記載の画像データへの識別情報埋込方法によって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出方法であって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する、埋め込み時と同一の多対一関数である埋込関数を用意し、前記選択された直交変換重み係数を前記多対一埋込関数に入力して、その埋込関数の出力値を求めるステップと、
前記選択された全ての直交変換重み係数に対応する前記埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた前記識別情報を抽出するステップと、
を備える画像データからの識別情報抽出方法。 - 前記埋込値生成ステップは、
ある特定のビットを埋め込むために選択された前記複数の直交変換重み係数毎に決定する埋込値の総和が予め決められた閾値以上あるいは以下となるように決定する請求項1記載の画像データへの識別情報埋込方法。 - 前記多対一埋込関数は定義域の入力値に対して出力値が周期性がなく、かつ埋め込む直交変換重み係数毎に異なるものである請求項1または2記載の識別情報埋込方法または識別情報抽出方法。
- 請求項1記載の画像データへの識別情報埋込方法によって前記識別情報が埋め込まれた処理対象画像データから、前記識別情報を抽出するための識別情報抽出方法であって、
前記処理対象画像データに対して直交変換を施し直交変換データを生成する直交変換ステップと、
前記直交変換データを構成する係数から、埋め込み時と同一の複数の異なる直交変換重み係数を選択する係数選択ステップと、
前記各選択された直交変換重み係数毎に、前記直交変換重み係数が取りうる値を定義域に含むとともに、関数の出力値、すなわち値域として最大値Aと最小値Bとの間の値を出力する埋め込み時と同一の多対一関数である埋込関数と、想定される画像の改変の候補との種類に応じて前記埋込関数を変更し、改変の候補種類の画像改変対応の多対一埋め込み関数を得る関数変更ステップと、
全ての改変の候補の種類に対して、前記選択された直交変換重み係数を画像改変対応の多対一埋込関数に入力して、その埋込関数の出力値を求め、さらに前記選択された全ての直交変換重み係数に対応する画像改変対応の多対一埋込関数の出力値の総和を求め、その総和と閾値とを比較して埋め込まれた識別情報を抽出するとともに、その識別情報の尤度を求める尤度計算ステップと、
全ての改変の候補に応じて取得した複数の尤度の中から最大尤度の改変候補を選択し、それに対応する画像改変対応の多対一埋込関数を用いて抽出した識別情報を選択し対応画像の識別情報とするステップと、
を備える画像データからの識別情報抽出方法。 - 前記尤度計算ステップは、全ての直交変換重み係数に対応する画質改変対応の多対一埋込関数の出力値の総和と前記閾値との差の絶対値を求め、その値を尤度として出力する請求項5記載の画像データからの識別情報抽出方法。
- 前記尤度計算ステップは、埋め込まれた識別情報が複数ビットの場合には、各ビット毎に求められた尤度の和を、さらにその複数ビットの識別情報の値を尤度として出力する請求項6記載の画像データからの識別情報抽出方法。
- 前記関数変更ステップは、画像の改変がコントラストまたは輝度の改変の場合には、各多対一埋込関数の定義域を再スケーリングして画像改変対応の多対一埋込関数を得る請求項5記載の画像データからの識別情報抽出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001145047A JP4073643B2 (ja) | 2000-05-17 | 2001-05-15 | 画像データ識別情報埋込・抽出システム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-145154 | 2000-05-17 | ||
JP2000145154 | 2000-05-17 | ||
JP2001145047A JP4073643B2 (ja) | 2000-05-17 | 2001-05-15 | 画像データ識別情報埋込・抽出システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002057884A JP2002057884A (ja) | 2002-02-22 |
JP4073643B2 true JP4073643B2 (ja) | 2008-04-09 |
Family
ID=26592049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001145047A Expired - Fee Related JP4073643B2 (ja) | 2000-05-17 | 2001-05-15 | 画像データ識別情報埋込・抽出システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4073643B2 (ja) |
-
2001
- 2001-05-15 JP JP2001145047A patent/JP4073643B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002057884A (ja) | 2002-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109300078B (zh) | 一种具有自适应嵌入强度的图像扩频水印嵌入方法 | |
Kundur et al. | Digital watermarking for telltale tamper proofing and authentication | |
US7995790B2 (en) | Digital watermark detection using predetermined color projections | |
JP3881794B2 (ja) | 電子透かしの埋め込み方法およびその復号方法 | |
US6757405B1 (en) | Digital watermark embedding device, digital watermark detection device and recording medium recording computer readable program for realizing functions of two devices | |
Zhang et al. | A data hiding scheme based on multidirectional line encoding and integer wavelet transform | |
WO2000039954A1 (en) | Method and apparatus for embedding digital information in digital multimedia data | |
JP2006314125A (ja) | デジタル像符牒の処理方法及びシステム | |
CN110232650B (zh) | 一种彩色图像水印嵌入方法、检测方法及系统 | |
JP2002142094A (ja) | 電子透かし埋込装置、電子透かし検出装置、電子透かし埋込方法、電子透かし検出方法及び記録媒体 | |
Hadmi et al. | Perceptual image hashing | |
Amiri et al. | Robust watermarking against print and scan attack through efficient modeling algorithm | |
US6721438B1 (en) | Image processing apparatus, image processing method, and storage medium | |
CN112700363A (zh) | 一种基于区域选择的自适应可视水印嵌入方法和装置 | |
Khan et al. | A secure true edge based 4 least significant bits steganography | |
JP2000287062A (ja) | 画像処理装置及びその方法 | |
Rakhmawati et al. | Blind Robust and Self-Embedding Fragile Image Watermarking for Image Authentication and Copyright Protection with Recovery Capability. | |
Hadmi et al. | A robust and secure perceptual hashing system based on a quantization step analysis | |
Prajapati et al. | Robust digital watermarking using DWT-DCT-SVD | |
JP4073643B2 (ja) | 画像データ識別情報埋込・抽出システム | |
CN113393363B (zh) | 水印嵌入、提取方法以及存储介质、电子设备 | |
JP6920719B2 (ja) | 電子透かし装置および方法 | |
Wazirali et al. | Hyper Edge Detection with Clustering for Data Hiding. | |
JP3884891B2 (ja) | 画像処理装置及び方法及び記憶媒体 | |
JP3809310B2 (ja) | 画像処理装置及び方法及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071217 |
|
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: 20080115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080123 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140201 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |