JP3995153B2 - Digital watermark embedding method, verification method, embedding device, verification device, and electronic image - Google Patents

Digital watermark embedding method, verification method, embedding device, verification device, and electronic image Download PDF

Info

Publication number
JP3995153B2
JP3995153B2 JP2002248509A JP2002248509A JP3995153B2 JP 3995153 B2 JP3995153 B2 JP 3995153B2 JP 2002248509 A JP2002248509 A JP 2002248509A JP 2002248509 A JP2002248509 A JP 2002248509A JP 3995153 B2 JP3995153 B2 JP 3995153B2
Authority
JP
Japan
Prior art keywords
color palette
address information
embedding
digital watermark
data
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
Application number
JP2002248509A
Other languages
Japanese (ja)
Other versions
JP2004088565A (en
Inventor
蔵人 前野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2002248509A priority Critical patent/JP3995153B2/en
Publication of JP2004088565A publication Critical patent/JP2004088565A/en
Application granted granted Critical
Publication of JP3995153B2 publication Critical patent/JP3995153B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は,画像データとカラーパレットデータとを含む電子画像への電子透かしの埋め込み方法,検証方法,電子透かしの埋め込み装置,検証装置,及び,電子画像に関する。
【0002】
【従来の技術】
電子画像の違法な複製を防止するために,画像情報そのものの中に視覚的にはわからない程度に加工を加えて認証コードや著作権などの情報を埋め込む,電子透かし技術が開発されている。電子透かしはコンテンツ自身に統合され,記憶容量が増えることもなく,画像の改竄,違法な複製,不正転送などを防止できる。
【0003】
電子画像の一つであるカラーパレット画像は,電子透かしを埋め込むことができるデジタル情報の一つである。カラーパレット画像には,大きく分けて2種類のデータが含まれている。1つは色を定義する「パレットデータ」であり,もう1つは,カラーパレットのインデックス値を示す「画像データ」である。そして,画像の各ピクセル(画素)の色は,画像データの値の指すカラーパレットの色である。
【0004】
1つのカラーパレットは1つの色に対応してこの色を表す。通常,カラーパレットは,画像に出現する色の数以上存在し,インデックス数8ビット(bit)の画像は,最大256(2)個のパレットをもつ。例えば,Microsoft社のOS;Windows(登録商標)用のBitmapファイルの場合,カラーパレットはR,G,Bそれぞれ8ビットで構成されている。
【0005】
画像データは,各ピクセル単位のカラーパレットへのインデックス値であり,画像のピクセル数分,カラーパレットへのインデックスをもつ。通常,8ビット画像で画像データの値が「0」のピクセルは,一番先頭のパレットの色をもち,画像データの値が「255」のピクセルは,最後(256番目)のパレットの色をもつ。
【0006】
従来のカラーパレット(以下,単に「パレット」という場合があるが,本明細書では同義で用いる)画像用改竄検出電子透かし(例えば,特表平11−501173号公報,「ビットマップに対する改竄検出電子透かし」など)では,画像の改竄を検出するために,画像データに電子署名等を埋め込んでいた。この技術によれば,画像データに電子署名等を埋め込んだ後に,パレットの順や数が変更されても,正しく埋め込んだデータを取得できるようにパレットのソート等も行っていた。
【0007】
上記従来技術による電子透かしの埋め込み側で電子署名を生成する方法の一例は,次のように実施される。まず,パレットをあるルール,例えば,輝度順に基づいてソートする。次に,画像の色が変わらないように,パレットのインデックス値の変更を,画像データにも反映する。次に,画像データのLSB(least significant bit;最下位ビット)に,電子署名などのデータを埋め込む。そして,パレットデータと画像データを埋め込んだ部分以外から,電子署名を生成する。
【0008】
そして,改竄等を検出するための電子透かしの検証手段の一例は,次のように実施される。まず,パレットを,埋め込み側と同じルールでソートする。次に,パレットのインデックス値の変更を,画像データにも反映する。そして,画像データのLSBから電子署名などのデータを取り出し,検証する。このようにして電子画像の改竄等が検出される。
【0009】
【発明が解決しようとする課題】
しかし,上記従来の方法では,次のような場合に埋め込み側と検証側とで同じパレットデータ(パレット順)が再現(復元)できなくなる。
・未使用パレットが追加または削除された場合(画像の見た目は変化しない)。
・重複したパレットが追加または削除された場合(画像の見た目は変化しない)。
・改竄によってパレットが未使用となり,最適化の際に削除された場合。
【0010】
上記の場合のように,埋め込み側と検証側とで同じパレットデータが再現できなければ,パレットのインデックス値の集合である画像データも再現できなくなる。例えば,あるパレットの位置が変わってインデックス値が変わると,そのパレットを使用していたすべてのピクセルのインデックス値を変更しなければ,画像が変化してしまう。そして,実際の画像の見た目が変化しなくても,全体が改竄と誤検出される。また,改竄時にパレットが増減すると,画像全体が改竄と誤検出され,改竄位置の特定ができなくなってしまう。
【0011】
また,埋め込み時と検証時に未使用パレットや重複パレットを削除したとしても,以下のような場合には,全体が改竄として誤って判断されてしまう。
・改竄によってパレットが未使用になると,改竄検出時に未使用パレットとして削除され,パレットの位置が不明になる(画像全体が改竄として検出される)。
・パレット値を1個でも変更すると,ソート時にパレット順が変化する(画像全体が改竄と検出される)。
【0012】
このように,従来のカラーパレット画像用の改竄検出電子透かし技術では,改竄やパレット操作があった場合に,埋め込み側と検出側のパレット値の同期が壊れ,埋め込んだ透かしデータを取り出せなくなる問題があった。
【0013】
そこで本発明では,個々のパレットデータ自体にアドレス情報を持たせることで,埋め込み側と検出側のパレット値の同期が容易になるようにして,改竄の誤検出を低減し,改竄位置の特定を可能とする電子画像処理技術を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するための本発明の電子透かしの埋め込み方法は,画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む方法であって,カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階と,画像データに電子透かしを埋め込む段階と,を含むことを特徴とする。このような構成により,カラーパレットが変更された場合でも,変更されたカラーパレット以外は,署名生成時のパレット順に復元することができ,改竄の誤検出を低減し,改竄位置の特定の精度を向上させることができる。
【0015】
カラーパレットデータに埋め込むカラーパレットのアドレス情報は,複数のカラーパレットに分割して埋め込む情報と,1つのカラーパレットに埋め込む情報の2種類のアドレス情報を含んでいてもよい。このような構成により,カラーパレットの位置をより詳細に特定することができる。また,カラーパレットが重複した場合に,正しいカラーパレットを選ぶことができる。
【0016】
本発明の電子透かしの埋め込み方法は,上記いずれかの構成でさらに,エラーを検出するためのチェックビットをカラーパレットデータに埋め込む段階をさらに含んでいてもよい。チェックビットを使用することにより,正しくないカラーパレットを高い精度で知ることができ,改竄検出精度が向上する。
【0017】
本発明の電子透かしの埋め込み方法は,上記いずれかの構成でさらに,カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階の前に,カラーパレットのアドレス情報をスクランブルする段階をさらに含んでいてもよい。カラーパレットに埋め込むデータをスクランブルすることで,カラーパレットを偽造される可能性が低減できる。また,カラーパレットの埋め込みに使用していない部分を鍵とすることで,スクランブル/デスクランブル用に鍵を用意する必要が無くなる。
【0018】
本発明の電子透かしの埋め込み方法は,上記いずれかの構成でさらに,カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階の後に,カラーパレットを色の類似度に基づいて整列する段階をさらに含んでいてもよい。このようにすれば,カラーパレットのアドレス情報によってカラーパレットは完全に復元でき,しかも,隣接する色が非常に近い色となり,埋め込み品質が劣化しない。なお,カラーパレットを色の類似度に基づいて整列する段階は,アドレス情報が一巡する範囲内で行うことが望ましい。
【0019】
本発明の電子透かしの埋め込み方法は,上記いずれかの構成でさらに,カラーパレット数情報をカラーパレットデータに埋め込む段階をさらに含んでいてもよい。カラーパレット数情報をカラーパレットデータに埋め込むことにより,カラーパレットの改竄検出をより正確に行うことができる。また,カラーパレットの追加や削除があった場合に,より正確に追加や削除を検出することができる。
【0020】
なお,カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階におけるアドレス情報は,カラーパレットデータの最下位ビット側に埋め込むことが望ましい。電子透かし埋め込み後の画像の変化を低減できるからである。なお,「最下位ビット側」とは,LSBの1ビット,またはこれに続く複数のビットをいう。
【0021】
また,上記目的を達成するための本発明の電子透かしの検証方法は,画像データとカラーパレットデータとを含む電子画像の電子透かしを検証する方法であって,カラーパレットデータに埋め込まれたカラーパレットのアドレス情報を抽出する段階と,抽出されたカラーパレットのアドレス情報を整列する段階と,整列されたカラーパレットのアドレス情報からエラーを検出する段階と,画像データに埋め込まれた電子透かしを抽出し,整列されたカラーパレットのアドレス情報に基づいて生成される情報により電子透かしを検証する段階と,を含むことを特徴とする。
【0022】
カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は,複数のカラーパレットに分割して埋め込まれた情報と,1つのカラーパレットに埋め込まれた情報の2種類のアドレス情報を含んでいてもよい。また,エラーを検出するためのチェックビットをカラーパレットデータから抽出する段階と,抽出したチェックビットからエラーを検出する段階をさらに含んでいてもよい。また,スクランブルされたカラーパレットのアドレス情報をスクランブル解除する段階をさらに含んでいてもよい。また,抽出されたカラーパレットのアドレス情報を整列する段階の後に,カラーパレットを色の類似度に基づいて整列する段階をさらに含んでいてもよい。なお,カラーパレットを色の類似度に基づいて整列する段階は,アドレス情報が一巡する範囲内で行うことが望ましい。また,カラーパレットデータからカラーパレット数情報を抽出する段階をさらに含んでいてもよい。
【0023】
また,上記目的を達成するための本発明の電子透かし埋め込み装置は,上記いずれかの本発明の電子透かしの埋め込み方法を動作可能とした装置であり,上記目的を達成するための本発明の電子透かし検出装置は,上記いずれかの本発明の電子透かしの検出方法を動作可能とした装置である。
【0024】
また,上記目的を達成するための本発明の電子画像は,画像データとパレットデータとを含む電子画像であって,パレットのアドレス情報がパレットデータに埋め込まれたことを特徴とする。なお,本発明における電子画像は,有色のカラーに限定されず,単一の有色の濃淡で構成される画像や,モロクロトーンの画像であっても良い。
【0025】
【発明の実施の形態】
以下に,本発明のいくつかの実施の形態を,図面を用いて説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
【0026】
(第1の実施の形態)
図1は,本発明の第1の実施の形態の,署名生成側(電子透かし埋め込み側)の構成を説明するブロック図である。本発明の第1の実施の形態の署名生成側の構成は,画像のパレットデータを入力するためのパレットデータ入力端子(1)と,パレットデータ入力端子(1)から入力されたパレットデータに対してソートを行うパレットソート手段(100)と,ソートされたパレットデータに対してアドレスを埋め込むパレットアドレス埋め込み手段(101)と,アドレスが埋め込まれたパレットデータを出力するパレットデータ出力端子(3)と,画像データを入力する画像データ入力端子(2)と,画像データ入力端子(2)から入力された画像データに対して,パレットソート手段(100)から得られる置換情報を基に画像データを置換する置換手段(102)と,置換後の画像データを出力する画像データ出力端子(4)とを含んで構成される。
【0027】
まず,カラーパレット画像のパレットデータをパレットデータ入力端子(1)へ,画像データを画像データ入力端子(2)へ入力する。パレットソート手段(100)は,入力されたパレットデータに対して,ソートを行う。
【0028】
パレットソート手段(100)におけるソートは,例えば,パレットデータのRGB値の大小順や,パレットデータの輝度値の大小順などで行う。このパレットソートの際に,重複するパレットや,未使用のパレットが見つかった場合は,削除してもよい。
【0029】
次に,パレットソート手段(100)は,ソート前のインデックス値(パレット先頭からの順番)から,ソート後のインデックス値に変換するテーブルを生成し,置換手段(102)へ出力する。
【0030】
置換手段(102)は,画像データ入力端子(2)から入力された画像データに対し,パレットソート手段(100)から得られる置換テーブルを使用して,値を置換する。すべての値を置換した後,画像データ出力端子(4)へ出力する。
【0031】
パレットアドレス埋め込み手段(101)は,パレットデータのLSB(least significant bit;最下位ビット)にパレットのアドレス情報を書き込む。カラーパレットのデータに,カラーパレットが追加/削除されても,元のインデックス位置に復元できるようにアドレス情報を書き込む。アドレス情報は,カラーパレットのRGB値のLSB側に書き込む。書き込みによってパレットの色が多少変化するが,人間の目には知覚できない程度の変更である。
【0032】
図2は,パレットデータにアドレス情報を埋め込む方法を説明する概念図である。図中のMSBは,最上位ビット(Most significant bit)である。例えば,RGBそれぞれが8ビットで構成されるパレットデータの場合,RのLSBの1ビット,GのLSBの1ビット,BのLSBとその次のビットの2ビットの計4ビットを,アドレス情報を書き込む領域として使用する。4ビットを使用する場合は,アドレス情報として4ビットの空間ができることになり,0〜15までの16種(2)の値を,それぞれのパレットデータに書き込むことができる。また,この4ビットは,パレットデータのLSB側,即ち,人間の目にはほとんど知覚できない部分に埋め込まれるため,アドレス情報を埋め込んだ後も人間の目にはほとんど知覚できない。
【0033】
この場合,パレットデータの先頭から順にアドレス情報を,
0,1,2,3,・・・,15,0,1,2,3,・・・
と,0〜15の間の数の昇順の繰り返しで書き込むことができる。アドレス情報の書き込む順はこの例に限られず,例えば,埋め込み側と検出側で同じ値が生成できる方法によってランダマイズしてもよい。
【0034】
アドレス情報は,
0,0,1,1,2,2,・・・,15,15,0,0,1,1,2,2,・・・
のように,同じアドレス情報を持ったパレットデータを複数個(この場合は2個)ずつ連続させてもよい。この例の場合,隣接するパレットで同じアドレス情報をもつパレットは,復元するための規則性を必ず持たせなければならない。規則性とは,例えば,2個連続する場合,先頭のパレットの輝度値が後ろのパレットの輝度値よりも低い値とする,などである。この規則によれば,アドレス情報によるソートの後,2個連続しているパレットを輝度値で並べ替えれば,パレットの順序が再現できる。このように,同一アドレス情報をもつ隣接パレットの範囲内でのソートを,以下,「ローカルソート」という。
【0035】
この同じパレットデータをもつパレットのソートの規則は,パレット全体のソートの規則と異なってもよい。パレット全体のソートを,以下,「グローバルソート」という。例えば,グローバルソートは輝度値を基準に行い,ローカルソートはR,G,B値の絶対和を基準に行ってもよい。
【0036】
アドレス情報埋め込み後のパレットデータは,埋め込み前後で,R,Gで最大1異なり,Bで最大3異なる。アドレス情報を2ビット埋め込むBについては,値が「0」や「255」などのエッジでなければ,値を「1」加減算することで,埋め込み前後の値の違いを2以下に抑えることができる。ただし,加減算により3ビット目が変更となり,ソート順が変更になる場合は,3ビット目を変更してはならない。
【0037】
また,アドレス情報を埋め込む部分以外が等しい場合は,重複パレットとして削除してもよい。この場合,画像データ内の削除対象のインデックス値を,削除されないインデックス値に置換しなければならない。この処理は,パレットソート手段(100)にてソートの際に,パレットのアドレス情報を埋め込む部分をゼロクリアした場合に重複するパレットを,重複パレットとして削除してもよい。
【0038】
画像データのLSBのみにデータを埋め込み,それを取り出すだけの場合は,パレットのインデックス値が偶数(LSB=0)か奇数(LSB=1)かを判定するだけでよいので,アドレス情報は,R,G,Bの中から1ビットだけを使用すれば十分である。
【0039】
以上はRGB空間における埋め込み方法の一例であるが,埋め込むパレットは,RGB以外の色空間上にて変化の微小な領域に埋め込んでもよい。また,色空間を変換してから埋め込み,埋め込み後,元の色空間に戻してもよい。例えば,RGB空間からYCbCr色空間への可逆変換として,以下の変換を使用することができる。
【0040】
RGB空間からYCbCr色空間への変換;
Y=floor((R+2G+B)/4)
Cb=B−G
Cr=R−G
【0041】
YCbCr色空間からRGB空間への変換;
G=Y−floor(Cb+Cr/4)
R=Cr+G
B=Cb+G
但し,floor(x)は,xを超えない最大の整数を示す。
【0042】
図3は,RGB各8ビットのパレットデータに,YCbCr色空間の5ビットのアドレス情報を埋め込む方法を説明する概念図である。YのLSBの1ビット,CbのLSBとその次の2ビット,CrのLSBとその次のビットの2ビットの計5ビットを,アドレス情報を書き込む領域として使用する。5ビットを使用する場合は,アドレス情報として5ビットの空間ができることになり,0〜31までの32種(2)の値を,それぞれのパレットデータに書き込むことができる。また,この5ビットは,パレットデータのLSB側,即ち,人間の目にはほとんど知覚できない部分に埋め込まれるため,アドレス情報を埋め込んだ後も人間の目にはほとんど知覚できない。
【0043】
アドレスを埋め込んだ後のパレットデータは,パレットデータ出力端子(3)から出力される。
【0044】
図4は,本発明の第1の実施の形態の,署名検証側の構成を説明するブロック図である。署名生成側の構成は,画像のパレットデータを入力するためのパレットデータ入力端子(5)と,パレットデータ入力端子(5)から入力されたパレットデータに対してソートを行うパレットソート手段(110)と,ソートしたパレットデータを出力するパレットデータ出力端子(7)と,画像データを入力する画像データ入力端子(6)と,画像データ入力端子(6)から入力された画像データに対して,パレットソート手段(110)から得られる置換情報を基に画像データを置換する置換手段(111)と,置換後の画像データを出力する画像データ出力端子(8)とを有する。
【0045】
電子透かし検出用パレットソート方法は,以下のように実施される。図5は,署名検証(電子透かしの検証)時のパレットソートの手順を示すフロー図である。また,図6は,署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【0046】
パレットソート手段(110)は,入力されたパレットデータをソートし,パレットのインデックス値の変更を画像データに対して行うための置換テーブルを生成する。次に,ソート前のパレットインデックス値から,ソート後のインデックス値へ変換する変換テーブルを作成し,置換手段(111)へ渡す。置換手段(111)は,ソート手段(110)から渡された置換テーブルを用いて画像データの置換を行い,画像データ出力端子(8)から出力する(図4)。
【0047】
パレットデータのソートは,まず,S01で,アドレス情報を埋め込んだ部分以外の埋め込みに使っていないデータを用いてソートを行う(図5のS01)。ソートは,埋め込み側と同様,パレットのRGB値の大小順や,パレットの輝度値の大小順で行う。図5では大小順にソートを行う例を示している。
【0048】
次に,S02で,パレットデータからアドレス情報を読み出し,検証する(S02)。ここで,アドレス情報が連続しているか,アドレス情報の指す位置にパレットが正しく位置しているかをチェックする。次に,S03で,パレットの整形を行う(S03)。パレットの整形では,アドレス情報が飛んでいる場合は空きパレットを挿入する。また,アドレス情報が重複している場合は,重複パレットを削除する。そしてS04で,画像データを置換する(S04)。
【0049】
アドレス情報の読み出しは,埋め込み側でアドレス情報を埋め込んだ部分から行う。例えば,先の埋め込みの例で,R,Gの各LSBの1ビット,BのLSBとその次の2ビットに対してアドレス情報を埋め込んだ場合は,これら4ビットを結合してアドレス情報としてもよい。
【0050】
また,埋め込み側と同様,RGB以外に,他の色空間で表現されるパレットから,アドレス情報を取り出してもよい。また,他の色空間に変換してからアドレス情報を取り出してもよい。
【0051】
4ビットのアドレス情報の場合,保持できる値は0〜15となる。8ビットの画像ですべてのパレットが使用されている場合,パレットは256個存在する。このため,一つのアドレス情報の指すパレットのインデックス値は16個存在する。しかし,パレットは,アドレス情報以外の部分の大小関係や輝度順でソートされているため,パレットが改竄されていなければ,正しいインデックス値に容易に復元できる。
【0052】
パレットデータが改竄されている場合に,パレットデータのアドレス情報を検証すると,アドレス情報が飛んでいる部分や,アドレス情報が重複している部分が存在する場合がある。アドレス情報が飛んでいる部分は,そこを未使用として空けておき,アドレス情報の示す位置にきちんとパレットを配置する。重複する場合は,どちらのパレットも同一インデックス値をもつとして,同じパレットに統合してもよい。また,片方のパレットを他の空いているインデックス値に割り振ってもよい。
【0053】
このようにして,パレットがどれだけ改竄されていても,強制的に整列することができる。アドレス情報は,アドレス情報が一巡する範囲内でのローカルな位置を示していることから,それぞれのパレットは,どこかの位置へ配置することが可能である。複数のパレットが同一のパレットのアドレスを指す場合は,パレットを統合してもよい。また,この場合パレットに空きが生じるが,輝度などのソートを行った順に,空きパレットに重複パレットを割り当ててもよい。
【0054】
また,重複アドレス情報を持ったパレットや,空きパレット,アドレス情報の不連続などが頻出する場合は,エラーとしてもよいし,「パレットの改竄を検出した」,「パレットに電子透かしが埋め込まれていない」,などとユーザに通知してもよい。エラーの判定は,例えば,以下のような基準を用いて行うことができる。
【0055】
エラーの基準の例;
1)パレットをソートした結果,60%以上のパレットがアドレス情報順に並んでいない場合。
2)パレットをソートした結果,連続してアドレス情報順に不連続なパレットが出現する場合。
3)パレットをソートした結果,パレットアドレスが一巡する範囲内で,同一のアドレス情報をもつパレットが4個以上ある場合。
4)パレットをソートし,アドレス情報によつてパレットを移動した結果,空きパレットが4個以上できた場合。
【0056】
また,埋め込み側で,隣接するパレットに同じアドレス情報を埋め込んでいる場合は,同じアドレスをもつパレットの範囲内で,埋め込み側と同様にローカルソートを行う。図7は,隣接するパレットに同じアドレス情報を埋め込んでいる場合の署名検証(電子透かしの検証)時のパレットソートの手順を示すフロー図である。
【0057】
パレットデータのソートは,まず,S11で,アドレス情報を埋め込んだ部分以外の埋め込みに使っていないデータを用いてグローバルソートを行う(図7のS11)。グローバルソートは,埋め込み側と同様,パレットのRGB値の大小順や,パレットの輝度値の大小順で行う。図7では大小順にソートを行う例を示している。
【0058】
次に,S12で,パレットデータからアドレス情報を読み出し,検証する(S12)。ここで,アドレス情報が連続しているか,アドレス情報の指す位置にパレットが正しく位置しているかをチェックする。次に,S13で,同一アドレスを持つ隣接パレット内で,ローカルソートを行う(S13)。次に,S14で,パレットの整形を行う(S14)。パレットの整形では,アドレス情報が飛んでいる場合は空きパレットを挿入する。また,アドレス情報が重複している場合は,重複パレットを削除する。そしてS15で,画像データを置換する(S15)。
【0059】
次に,電子透かし埋め込み方法への適用例を示す。図8は,第1の実施の形態の,電子透かし埋め込み方法への一つの適用例の構成を説明するブロック図である。署名生成手段(103)は,パレットアドレス埋め込み手段(101)から出力されるパレットデータと,置換手段(102)から出力される画像データの電子署名を生成する(図8)。電子署名の生成は,例えば,SHA1やMD5などのハッシュ演算によってハッシュ値を計算し,RSA公開鍵暗号方式を用いて,暗号化したデータを電子署名とすることができる。また署名は,画像をM×Nピクセルの小領域に区切り,小領域単位で生成してもよい。この場合,画像の改竄をその小領域単位で検出可能となる。
【0060】
埋め込み手段(104)は,署名生成手段(103)からの出力である電子署名を,画像データに対して埋め込む。埋め込みは,例えば画像データのLSB1ビットの一部を,電子署名データと入れ替えるといった方法を用いることができる。また,その際に,埋め込み側と検証側とで共通の鍵を用い,同期可能な疑似ランダム系列を用いて埋め込み位置やデータをランダマイズしてもよい。
【0061】
パレットスクランブル手段(105)は,パレットデータに対してスクランブルを行う。スクランブルは,埋め込み側と検証側とで同期可能な疑似ランダム系列によって,2つのパレット値を選択し置換する方法などが採用できる。また,スクランブルすることにより,パレットが操作されたことをユーザにわかりにくくすることができる。
【0062】
置換手段(106)では,スクランブルによって置換されたパレットデータと同様に,画像データの値を置換する。画像データの値は,パレットデータへのインデックス値となっているため,パレットデータをスクランブルする場合にそれと同期して画像データを置換することで,画像の見た目をスクランブルする前後で同じにすることができる。
【0063】
図9は,第1の実施の形態の,電子透かし埋め込み方法への他の適用例の構成を説明するブロック図である。電子透かしの埋め込み方法によっては,埋め込みの際にパレットデータを増加させるものがある。このタイプの電子透かしにも,パレットアドレス埋め込み手段(101)へパレットデータを渡す前に,パレット追加手段(120)でパレットを増やせば,先の適用例(図8)と同様に適用できる(図9)。
【0064】
次に,電子透かし検出方法への適用例を示す。図10は,第1の実施の形態の,電子透かし検出方法への一つの適用例の構成を説明するブロック図である。署名生成手段(112)は,パレットソート手段(110)から出力されるパレットデータと,置換手段(111)から出力される画像データに対して,電子署名を生成する(図10)。電子署名の生成は,埋め込み側と同様に,例えば,SHA1やMD5などのハッシュ演算によってハッシュ値を計算してもよい。ただし,RSA公開鍵暗号方式を用いて暗号化する必要はない。また,署名は,画像をM×Nピクセルの小領域に区切り,小領域単位で生成してもよい。この場合,画像の改竄をこの小領域単位で検出可能となる。
【0065】
署名抽出手段(l13)は,埋め込み側によって埋め込まれた著名データを抽出する。抽出したデータがRSA等で暗号化されているときは暗号を解読し,暗号化前のデータにして出力する。
【0066】
比較手段(114)は,署名抽出手段(113)から得られる電子署名と,署名生成手段(112)から得られる電子署名を比較する。比較結果が一致すれば,改竄なし,一致しなければ改竄ありとする。
【0067】
図11は,第1の実施の形態の,電子透かし検出方法への他の適用例の構成を説明するブロック図である。この適用例では,先の適用例(図10)に対し,パレットソート手段(110)の代わりに,スクランブル解除手段(300)を用いている(図11)。これは,パレットスクランブル手段(105)の逆処理となり,スクランブル手段(105)でスクランブルしたパレットを元に戻す。また,このスクランブルの範囲を,アドレス情報が一巡する範囲内(例えば,4ビットアドレスであればアドレスが0から15まで一巡する範囲内,あるいは,0〜7,8〜15のそれぞれの範囲内など)とすることができる。
【0068】
また,埋め込み側で,アドレス情報の付与/埋め込みを,スクランブル手段の後に行ってもよい。この場合,アドレス情報を見えにくくするために,アドレス情報が一巡する範囲内で再度スクランブルしてもよい。検証側では,スクランブル解除手段(300)の前にアドレス情報のみによるパレットソートをアドレス情報が一巡する範囲内で行った後に,スクランブルを解除する。これによって生成したパレットデータは,パレットデータの並べ替えに対して弱くなるが,一般的な画像処理プログラムは,意図せずにパレットデータの整列を自動で行うものは少ない。
【0069】
署名データを画像データから生成する場合や,画像データのLSBにデータを埋め込んでいる場合は,パレット順の復元は必須となる。しかし,改竄時に発生するパレットの追加/削除やパレット位置の変更などにより,元と同じインデックス位置に個々のパレットを復元することが難しかった。しかし,上記した本発明の第1の実施の形態によれば,パレットが変更された場合でも,変更されたパレット以外は署名生成時のパレット順に復元することができ,改竄の誤検出を低減し,改竄位置の特定精度を向上させることができる。
【0070】
(第2の実施の形態)
次に,本発明の第2の実施の形態について説明する。第1の実施の形態ではアドレス情報を1種類しか用いていなかったが,第2の実施の形態では,2種類のアドレス情報を用いる。図12は,第2の実施の形態において,アドレス情報生成処理を説明する概念図である。例えば,アドレス情報を4ビットとし,このうちの3ビットをローカルアドレス情報,1ビットをグロ−バルアドレス情報と定義する。
【0071】
ローカルアドレス情報は,3ビットの場合,0〜7の8種(2)の値をとることができる。例えば,先頭のパレットから順番に,
0,1,2,3,・・・,7,0,1,・・・
としてもよいし,順番をランダマイズしてもよい。
【0072】
グローバルアドレス情報は,複数のパレットデータのグローバルアドレス情報を連結することで,アドレス値となる。この例では,1パレットデータ内のグローバルアドレス情報が1ビットであるため,例えば,4つのパレットデータを一組とし,これに1つのグローバルアドレスを付与すれば,グローバルアドレスは4ビットで表現可能な値をとることができる。そして,それぞれのパレットの組に対して,グローバルアドレスを割り振る。
【0073】
ローカルアドレスとグローバルアドレスは,図12に示すように,第1の実施の形態と同様,パレットデータのLSB側へ埋め込む。その他の動作は,第1の実施の形態と同様である。
【0074】
次に,第2の実施の形態の,署名検出方法を説明する。図13は,第2の実施の形態の,署名検証(電子透かしの検証)時のパレットソートの手順を示すフロー図であり,図14は,第2の実施の形態の,署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【0075】
第2の実施の形態では,パレットデータのソートは,第1の実施の形態と同様に行う。まず,S21で,アドレス情報を埋め込んだ部分以外の埋め込みに使っていないデータを用いてソートを行う(図13のS21)。ソートは,埋め込み側と同様,パレットのRGB値の大小順や,パレットの輝度値の大小順で行う。図13では大小順にソートを行う例を示している。
【0076】
次に,S22で,パレットデータからアドレス情報を読み出し,検証する(S22)。アドレス情報の読み出しは,各パレットのLSB側から,ローカルアドレス情報とグローバルアドレス情報とを読み出す。そして,アドレス情報が連続しているか,アドレス情報の指す位置にパレットが正しく位置しているかをチェックする。ここでは,グローバルアドレスを割り振った時と同じルールでグローバルアドレスの正解値を生成し,各パレットのグローバルアドレス用ビットと,正解のグローバルアドレスとを各ビット単位に比較し,グローバルアドレスが不一致だったパレットは,正しくないパレットとする(図14)。
【0077】
次に,S23で,第1の実施の形態のアドレス情報と同様のルールをローカルアドレス情報に適用し,パレットの位置を整列する(S23)。パレットの整形では,グローバルアドレスが正しくないパレットを破棄する。同じ位置に重複するようなパレットは,グローバルアドレスによって正しいパレットを選択し,重複パレットを削除する。正しくないパレットは,空いているパレットに割り振ってもよい。重複するものがなければ破棄しなくても構わない。また,アドレス情報が飛んでいる場合は,空きパレットを挿入する。そしてS24で,画像データを置換する(S24)(図13)。その他の動作は,第1の実施の形態と同様である。
【0078】
以上示したように,第2の実施の形態によれば,グローバルアドレス情報により大域的なアドレス情報を保持することが可能になり,パレットデータの位置を詳細に特定することができる。また,グローバルアドレスの一致/不一致を分類することにより,パレットデータが重複した場合に,正しいパレットデータを選択することができる。
【0079】
(第3の実施の形態)
次に,本発明の第3の実施の形態について説明する。第1の実施の形態ではアドレス情報しか用いていなかったが,第3の実施の形態では,アドレス情報の他に,パレットデータの真正性を示すチェックビットを用いる。図15は,本発明の第3の実施の形態の,パレットデータにアドレス情報等を埋め込む方法を説明する概念図であり,図16は,第3の実施の形態の,署名検証時のアドレス情報等の抽出処理手順を示す説明図である。
【0080】
例えば,個々のパレットデータに4ビットの情報を埋め込むとすると,4ビットのうちの2ビットをアドレス情報とし,残り2ビットをチェックビットとして使用する。チェックビットは,データをビット単位でXOR(排他的論理和)演算したものや,CRC(巡回冗長検査;Cyclic Redundancy Check),ハミング符号(Hamming code)などを用いてもよく,特に限定されない。チェックビットは,アドレス情報と,パレットデータを埋め込まない部分のデータから生成する。
【0081】
そして,ローカルアドレス情報とチェックビット情報とを合わせたものを,第1の実施の形態と同様に,個々のパレットデータに埋め込む(図15参照)。その他の動作は,第1の実施の形態と同様である。
【0082】
次に,第3の実施の形態の,電子透かし検出方法を説明する。第1の実施の形態と同様に,埋め込みに使用しない部分のパレットデータの大小関係等によって,パレットをソートする。そして,各パレットデータのLSB側から,アドレス情報とチェックビットとを取り出す。
【0083】
そして,各パレットのチェックビットを使用して,アドレス情報とパレットデータの埋め込みに使用していない部分を検証する。そして,第1の実施の形態のアドレス情報と同様のルールを適用して,パレットの位置を整列する。同じ位置に重複するようなパレットは,チェックビットによって正しいパレットを選択する。正しくないパレットは,空いているパレットに割り振ってもよい(図16参照)。その他の動作は,第1の実施の形態と同様である。
【0084】
以上示したように,第3の実施の形態によれば,チェックビットを使用することにより,高い精度で正しくないパレットを知ることができる。そしてその結果,改竄検出精度が向上する。
【0085】
(第4の実施の形態)
次に,本発明の第4の実施の形態について説明する。第1〜第3の実施の形態ではアドレス情報等をそのままの形で埋め込んでいたが,第4の実施の形態では,これらのデータにスクランブルをかける。
【0086】
図17は,本発明の第4の実施の形態の,パレットデータにアドレス情報を埋め込む方法を説明する概念図であり,図18は,本発明の第4の実施の形態の,パレットデータにアドレス情報とチェックビットを埋め込む方法を説明する概念図である。また,図19は,第4の実施の形態の,署名検証時のアドレス情報の抽出処理手順を示す説明図であり,図20は,第4の実施の形態の,署名検証時のアドレス情報とチェックビットの抽出処理手順を示す説明図である。
【0087】
第4の実施の形態では,パレットデータのLSB側に埋め込むデータを,パレットデータの「情報を埋め込まない部分」のデータを鍵として,スクランブルを行う。鍵は,パレットデータの「情報を埋め込まない部分」に加えて,ユーザ指定の鍵を使用してもよい。第4の実施の形態を第1の実施の形態と組み合わせて適用する場合,スクランブル対象はアドレス情報のみだが,第2の実施の形態と組み合わせて適用する場合は,ローカルアドレス情報とグローバルアドレス情報,第3の実施の形態と組み合わせて適用する場合は,アドレス情報とチェックビットをスクランブルの対象としてもよい。
【0088】
スクランブルは,例えば,データの置換やシフト,他のデータとのXOR,疑似ランダム系列とのXOR,入力と出力が双方向な関数などを,鍵のデータによって複数選択し,複数回のループで処理を行うことができる。この処理によってスクランブル化されたデータは,同じ鍵を使用して元のデータに戻すことができる。
【0089】
パレットデータへの埋め込みは,スクランブル後のデータを分割し,第1〜第3の実施の形態の埋め込み方法と同様の方法で行うことができる。その他の動作は,第1の実施の形態と同様である(図17,図18参照)。
【0090】
次に,第4の実施の形態における,電子透かし検出用パレットソート方法を説明する。パレットから抽出されたスクランブル後のデータを,埋め込み側の逆の手順で,埋め込みに使用していないパレットデータを鍵として,スクランブル解除する。その他の動作は,第1〜第3の実施の形態と同様である(図19,図20参照)。
【0091】
以上示したように,第4の実施の形態によれば,パレットに埋め込むデータをスクランブルすることで,パレットが偽造される可能性を低減できる。また,パレットの埋め込みに使用していない部分を鍵とすることで,スクランブル/デスクランブルのために鍵を用意する必要がない。
【0092】
(第5の実施の形態)
次に,本発明の第5の実施の形態について説明する。第5の実施の形態では,類似色探索手段を用いる。図21は,本発明の第5の実施の形態の,署名生成側の構成を説明するブロック図である。第5の実施の形態では,第1〜第4の実施の形態の構成に,類似色探索手段(200)を加えている。
【0093】
本発明の第5の実施の形態における,電子透かし埋め込み側類似色探索手段を説明する。類似色探索手段(200)は,パレットアドレス埋め込み後のパレットデータを,パレットソート手段とは別の方法でソートする。例えば,パレットソート手段(100)は輝度でソートされているが,類似色探索手段(200)は,色の類似度でソートを行う。
【0094】
ソートは,パレットのアドレス情報が一巡する範囲内で行う。例えば,アドレス情報が16ビットで,隣接するパレットに同一アドレス情報を与えない場合,色の探索は,16個のパレットの範囲内で行う。図22,図23は,本発明の第5の実施の形態における,類似色探索方法を説明する概念図である。図23に示すように,まず,基準パレットデータ「0」に最も近い色を探索する。例えば,基準のパレットデータと,各パレットデータの色の差分Diffを求め,もっとも差分が小さいパレットデータを探索し,順次これを続ける(図23参照)。差分Diffは,例えば,基準パレットデータ「0」のパレットデータを(R,G,B),探索対象パレットデータを(R,G,B)とした場合,次式で求める。
差分Diff=|R−R|+|G−G|+|B−B
類似色探索は,図23に示す処理を,例えば,図22に示すパレットのアドレス情報が一巡する範囲内で行う。
【0095】
図23では,色の類似度の判定にR,G,Bの絶対和を用いているが,R,G,Bそれぞれ単独の値を用いたり,重み付けや2乗和で類似度を計算してもよい。
【0096】
置換手段(102)は,パレットソート手段(100)と類似色探索手段(200)とでソートされたパレットデータにしたがい,画像データの置換を行う。その他の動作は,第1〜第3の実施の形態と同様である。
【0097】
次に,本発明の第5の実施の形態における,電子透かし検出側類似色探索手段を説明する。図24は,本発明の第5の実施の形態の,署名検証側の構成を説明するブロック図である。類似色探索手段(201)は,パレットソート手段(110)によってソートされたパレットデータを,埋め込み側の類似色探索手段(200)と同じ方法でソートする。
【0098】
ソートは,パレットのアドレス情報が一巡する範囲内で行う。例えば,アドレス情報がl6ビットで,隣接するパレットに同一アドレス情報を与えない場合,色の探索は,16個のパレットの範囲内で行う。例えば探索は,図23の処理を,パレットのアドレス情報が一巡する範囲内で行う。
【0099】
図23では,色の類似度の判定に,R,G,Bの絶対和を用いているが,R,G,Bそれぞれ単独の値を用いたり,重み付けや2乗和で類似度を計算してもよい。置換手段(l02)は,パレットソート手段(100)と類似色探索手段(200)とでソートされたパレットデータにしたがい,画像データの置換を行う。その他の動作は,第1〜第3の実施の形態と同様である。
【0100】
インデックス画像のLSBに電子透かしを埋め込む場合,ピクセルの値が隣接するパレット値に変更される場合がある。この場合,輝度のみでソートをすると,近い輝度で,まったく異なる色のパレットが隣接する場合があり,電子透かし埋め込み後の画質が非常に劣化する場合があった。しかし,以上に示した第5の実施の形態によれば,パレットのアドレス情報によってパレットは完全に復元でき,かつ,隣接する色が非常に近い色となり,埋め込み品質が劣化しない。
【0101】
(第6の実施の形態)
次に,本発明の第6の実施の形態について説明する。図25は,本発明の第6の実施の形態の,署名生成側の構成を説明するブロック図であり,図26は,本発明の第6の実施の形態の,署名検証側の構成を説明するブロック図である。第6の実施の形態では,第1〜第5の実施の形態の埋め込み側の構成に,ローカルスクランブル手段(210)を加えている。また,電子透かし検証用パレットソート方法において,第1〜第5の実施の形態の検証側の構成に,ローカルスクランブル解除手段(220)を加えている。
【0102】
第6の実施の形態における電子透かし埋め込み側では,ローカルスクランブル手段(210)は,パレットソート手段(100)が出力したパレットデータを,ローカルスクランブルする。置換手段(l02)は,パレットソート手段(100)とローカルスクランブル手段(210)でソートされたパレットデータにしたがい,画像データの置換を行う。その他の動作は,第1〜第5の実施の形態と同様である。
【0103】
第6の実施の形態における電子透かし検証側では,ローカルスクランブル解除手段(220)は,パレットソート手段(110)によってソートされたパレットを,埋め込み側のローカルスクランブル手段(210)と同じ方法でソートする。
【0104】
インデックス画像のLSBに電子透かしを埋め込む場合,ピクセルの値が隣接するパレット値に変更される場合がある。この場合,輝度のみでソートをすると,近い輝度で,まったく異なる色のパレットが隣接する場合があり,電子透かし埋め込み後の画質が非常に劣化する場合があった。しかし,以上示した第6の実施の形態によれば,パレットのアドレス情報によってパレットは完全に復元でき,かつ,隣接する色が非常に近い色となり埋め込み品質が劣化しない。
【0105】
(第7の実施の形態)
次に,本発明の第7の実施の形態について説明する。図27は,本発明の第7の実施の形態の,パレットデータにアドレス情報を埋め込む一つの方法を説明する概念図であり,図28は,本発明の第7の実施の形態の,パレットデータにアドレス情報を埋め込む他の方法を説明する概念図である。第7の実施の形態では,パレットソート手段は,各パレットデータに埋め込む情報に,アドレス情報だけでなく,パレット数情報を含める。例えば,各パレットに4ビットを埋め込むとすると,3ビットをアドレス情報に,1ビットをパレット情報に振り分ける。
【0106】
1ビットのパレット情報は,アドレス情報が一巡する単位(例えば,3ビットのアドレス情報であれば8)であれば,それぞれのパレットに1ビットずつ埋め込むことで,実際のパレット数を埋め込むことができる(図27参照)。
【0107】
このほか,輝度ソート等を行った後の先頭の2パレットには,アドレス情報を埋め込まずにパレット数情報だけを埋め込んだり,輝度ソートを行ったあと,複数パレットおきにパレット数情報を埋め込んだりすることもできる(図28参照)。その他の動作は,第1〜第3の実施の形態と同様である。
【0108】
図29は,本発明の第7の実施の形態の署名検証時のアドレス情報の抽出処理手順の一例を示す説明図であり,図30は,本発明の第7の実施の形態の,署名検証時のアドレス情報の抽出処理手順の他の例を示す説明図である。
【0109】
第7の実施の形態における,電子透かし検出用パレットソート手段では,各パレットに埋め込んだ情報から,パレット数情報を抽出する。例えば,各パレットに4ビット埋め込むとすると,3ビットをアドレス情報に,1ビットをパレット情報にする。1ビットのパレット情報は,図31に示す,アドレス情報が一巡する単位(3ビットのアドレス情報であれば,2=8)で複数回埋め込むことができる。この場合,複数のパレット数情報が存在するので,それぞれにて多数決やエラー訂正処理を行い,正しいパレット数を得る(図29参照)。
【0110】
この他,輝度ソート等を行った後の先頭の2パレットに,アドレス情報を埋め込まずにパレット数情報だけを埋め込んだ場合,そこからパレット情報を抽出することもできる(図30参照)。その他の動作は,第1〜第3の実施の形態と同様である。
【0111】
以上示したように,第7の実施の形態によれば,パレットデータにパレット数を埋め込むことができ,パレットの改竄検出をより正確に行える。また,パレットデータにパレット数を埋め込むため,パレットの追加や削除があった場合に,より正確に追加や削除を検出することができる。
【0112】
以上,添付図面を参照しながら本発明の電子透かしの埋め込み方法,検証方法,埋め込み装置,検証装置,及び電子画像の好適な実施形態について説明したが,本発明はこれらの例に限定されない。いわゆる当業者であれば,特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0113】
例えば,パレットデータに埋め込むアドレス値は,シーケンシャルである必要はない。埋め込み側と検出側とで同期できるシーケンスであれば,何を使用してもよい。例えば,鍵によって同期可能な疑似ランダムシーケンスを使用することもできる。
【0114】
また,パレットデータに埋め込む部分を,R;1ビット,G;1ビット,B;2ビットの組み合わせや,計4ビットに限定する必要はない。
【0115】
また,パレットデータのRGB値に同じ量のデータを埋め込んでもよいし,RGB値のなかで,データを埋め込まない色があってもよい。
【0116】
また,第2の実施の形態のローカルアドレスとグローバルアドレスとの比率はいくつでも良く,限定する必要はない。また,グローバルアドレスを構成するためのパレット数も,限定する必要はない。また,グローバルパレットを構成する数は,常に固定する必要もなく,可変であってもよい。例えば,パレットデータ1〜4まではグローバルアドレス2ビット,パレットデータ5〜15まではグローバルアドレス5ビット,などとしてもよい。
【0117】
また,アドレス情報を埋め込むビット数は,常に固定させる必要はない。例えば,パレットデータを輝度順にソートし,輝度の低いところは多いビット量のデータを埋め込み,輝度の少ないところは少ないビット量のデータを埋め込むなどの工夫をしてもよい。また,パレットデータへの埋め込みビット数は,パレット内のデータや,パレットのインデックス値,これらから得られるデータから決定してもよい。
【0118】
また,第3の実施の形態におけるチェックビットは,特に方式を限定する必要はない。ある程度の確率で誤りを見つけられるエラー検出符号であれば,何を使ってもよい。
【0119】
また,第4の実施の形態のスクランブル方式は,特に方式を限定する必要はない。データをスクランブル/デスクランブルすることが可能であれば,どのような方式でもよい。
【0120】
また,パレットデータへの埋め込みは,特にパレットに限定する必要はなく,例えば,ベクトル符号化のコードブックに対して,同様の透かしの埋め込みを行ってもよい。
【0121】
【発明の効果】
本発明により,カラーパレット画像に対する電子透かしの埋め込み側と検出側のパレット値の同期を容易にし,改竄の誤検出を低減し,改竄位置の特定を可能にする電子画像処理技術が提供できた。
【図面の簡単な説明】
【図1】図1は,本発明の第1の実施の形態の,署名生成側の構成を説明するブロック図である。
【図2】図2は,本発明の第1の実施の形態の,パレットデータにアドレス情報を埋め込む方法を説明する概念図である。
【図3】図3は,RGB各8ビットのパレットデータに,YCbCr色空間の5ビットのアドレス情報を埋め込む方法を説明する概念図である。
【図4】図4は,第1の実施の形態の,署名検証側の構成を説明するブロック図である。
【図5】図5は,第1の実施の形態の,署名検証(電子透かしの検証)時のパレットソートの手順を示すフロー図である。
【図6】図6は,第1の実施の形態の,署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【図7】図7は,隣接するパレットに同じアドレス情報を埋め込んでいる場合の署名検証時のパレットソートの手順を示すフロー図である。
【図8】図8は,第1の実施の形態の,電子透かし埋め込み方法への一つの適用例の構成を説明するブロック図である。
【図9】図9は,第1の実施の形態の,電子透かし埋め込み方法への他の適用例の構成を説明するブロック図である。
【図10】図10は,第1の実施の形態の,電子透かし検出方法への一つの適用例の構成を説明するブロック図である。
【図11】図11は,第1の実施の形態の,電子透かし検出方法への他の適用例の構成を説明するブロック図である。
【図12】図12は,第2の実施の形態の,アドレス情報生成処理を説明する概念図である。
【図13】図13は,第2の実施の形態の,署名検証時のパレットソートの手順を示すフロー図である。
【図14】図14は,第2の実施の形態の,署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【図15】図15は,第3の実施の形態の,パレットデータにアドレス情報等を埋め込む方法を説明する概念図である。
【図16】図16は,第3の実施の形態の,署名検証時のアドレス情報等の抽出処理手順を示す説明図である。
【図17】図17は,第4の実施の形態の,パレットデータにアドレス情報を埋め込む方法を説明する概念図である。
【図18】図18は,第4の実施の形態の,パレットデータにアドレス情報とチェックビットを埋め込む方法を説明する概念図である。
【図19】図19は,第4の実施の形態の,署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【図20】図20は,第4の実施の形態の,署名検証時のアドレス情報とチェックビットの抽出処理手順を示す説明図である。
【図21】図21は,第5の実施の形態の,署名生成側の構成を説明するブロック図である。
【図22】図22は,第5の実施の形態における,類似色探索方法を説明する概念図である。
【図23】図23は,第5の実施の形態における,類似色探索方法を説明する概念図である。
【図24】図24は,第5の実施の形態の,署名検証側の構成を説明するブロック図である。
【図25】図25は,第6の実施の形態の,署名生成側の構成を説明するブロック図である。
【図26】図26は,第6の実施の形態の,署名検証側の構成を説明するブロック図である。
【図27】図27は,第7の実施の形態の,パレットデータにアドレス情報を埋め込む一つの方法を説明する概念図である。
【図28】図28は,第7の実施の形態の,パレットデータにアドレス情報を埋め込む他の方法を説明する概念図である。
【図29】図29は,第7の実施の形態の署名検証時のアドレス情報の抽出処理手順の一例を示す説明図である。
【図30】図30は,第7の実施の形態の,署名検証時のアドレス情報の抽出処理手順の他の例を示す説明図である。
【図31】図30は,第7の実施の形態の,アドレス情報が一巡する単位を説明する概念図である。
【符号の説明】
1 パレットデータ入力端子
2 画像データ入力端子
3 パレットデータ出力端子
4 画像データ出力端子
5 パレットデータ入力端子
6 画像データ入力端子
7 パレットデータ出力端子
8 画像データ出力端子
100 パレットソート手段
101 パレットアドレス埋め込み手段
102 置換手段
103 署名生成手段
104 埋め込み手段
105 パレットスクランブル手段
106 置換手段
110 パレットソート手段
111 置換手段
112 署名生成手段
113 署名抽出手段
120 パレット追加手段
200 類似色探索手段
201 類似色探索手段
210 ローカルスクランブル手段
220 ローカルスクランブル解除手段
300 スクランブル解除手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for embedding a digital watermark in an electronic image including image data and color palette data, a verification method, a digital watermark embedding device, a verification device, and an electronic image.
[0002]
[Prior art]
In order to prevent illegal copying of electronic images, digital watermarking technology has been developed that embeds information such as authentication codes and copyrights by processing the image information itself so as not to be visually recognized. Digital watermarks are integrated into the content itself, and can prevent image tampering, illegal duplication, and unauthorized transfer without increasing storage capacity.
[0003]
A color palette image, which is one of electronic images, is one piece of digital information in which a digital watermark can be embedded. The color palette image includes two types of data. One is “pallet data” that defines a color, and the other is “image data” that indicates an index value of the color palette. The color of each pixel of the image is the color of the color palette indicated by the value of the image data.
[0004]
One color palette represents this color corresponding to one color. Usually, there are more color palettes than the number of colors that appear in an image, and an image with an index number of 8 bits (bits) is 256 (2 8 ) Have one pallet. For example, in the case of a Bitmap file for the Microsoft OS; Windows (registered trademark), the color palette is composed of 8 bits for each of R, G, and B.
[0005]
The image data is an index value to the color palette for each pixel, and has an index to the color palette for the number of pixels of the image. Normally, a pixel with an image data value of “0” in an 8-bit image has the color of the first palette, and a pixel with an image data value of “255” has the color of the last (256th) palette. Have.
[0006]
Conventional color palette (hereinafter sometimes referred to simply as “palette”, but used interchangeably in the present specification) Image falsification detection digital watermark (for example, Japanese Patent Publication No. 11-501173, “Falsification detection electronic for bitmap” In the “watermark” and the like, an electronic signature or the like is embedded in image data in order to detect falsification of the image. According to this technique, after embedding an electronic signature or the like in image data, the palette is sorted so that the embedded data can be acquired even if the order and number of palettes are changed.
[0007]
An example of a method for generating an electronic signature on the digital watermark embedding side according to the above-described prior art is performed as follows. First, the palette is sorted based on a certain rule, for example, brightness order. Next, the change in the palette index value is also reflected in the image data so that the color of the image does not change. Next, data such as an electronic signature is embedded in LSB (least significant bit) of the image data. Then, an electronic signature is generated from a portion other than the portion where the palette data and the image data are embedded.
[0008]
An example of digital watermark verification means for detecting tampering or the like is performed as follows. First, the palette is sorted according to the same rules as the embedding side. Next, the change in the palette index value is also reflected in the image data. Then, data such as an electronic signature is extracted from the LSB of the image data and verified. In this way, falsification or the like of the electronic image is detected.
[0009]
[Problems to be solved by the invention]
However, with the above conventional method, the same palette data (pallet order) cannot be reproduced (restored) on the embedding side and the verification side in the following cases.
-When an unused palette is added or deleted (the appearance of the image does not change).
• Duplicate palettes are added or deleted (the appearance of the image does not change).
• If the palette is unused due to tampering and deleted during optimization.
[0010]
As in the above case, if the same palette data cannot be reproduced on the embedding side and the verification side, image data that is a set of palette index values cannot be reproduced. For example, if the position of a palette changes and the index value changes, the image will change unless you change the index values of all the pixels that used that palette. Even if the appearance of the actual image does not change, the whole is erroneously detected as falsified. In addition, if the palette is increased or decreased at the time of falsification, the entire image is erroneously detected as falsified, and the falsification position cannot be specified.
[0011]
Even if unused palettes and duplicate palettes are deleted at the time of embedding and verification, the whole is erroneously determined as falsified in the following cases.
• If the palette becomes unused due to tampering, it is deleted as an unused palette when tampering is detected, and the position of the palette becomes unknown (the entire image is detected as tampering).
-If even one palette value is changed, the palette order changes during sorting (the entire image is detected as falsified).
[0012]
As described above, in the conventional falsification detection digital watermark technology for color palette images, there is a problem that when the falsification or the palette operation is performed, the synchronization of the palette value on the embedding side and the detection side is broken, and the embedded watermark data cannot be extracted. there were.
[0013]
Therefore, in the present invention, by giving address information to each pallet data itself, it becomes easy to synchronize the pallet values on the embedding side and the detecting side, reducing false detection of tampering, and specifying the tampering position. It is an object of the present invention to provide an electronic image processing technique that can be realized.
[0014]
[Means for Solving the Problems]
In order to achieve the above object, an electronic watermark embedding method of the present invention is a method of embedding an electronic watermark in an electronic image including image data and color palette data, and embedding color palette address information in the color palette data. And the step of embedding a digital watermark in the image data, It is characterized by including. With such a configuration, even if the color palette is changed, the color palette other than the changed color palette can be restored in the order of the palette at the time of signature generation, reducing false detection of tampering and increasing the accuracy of the tampering position. Can be improved.
[0015]
The color pallet address information embedded in the color pallet data may include two types of address information: information embedded in a plurality of color pallets and information embedded in one color pallet. With such a configuration, the position of the color palette can be specified in more detail. In addition, when color palettes overlap, the correct color palette can be selected.
[0016]
The digital watermark embedding method of the present invention may further include a step of embedding check bits for detecting an error in the color palette data in any of the above-described configurations. By using the check bit, it is possible to know an incorrect color palette with high accuracy and improve the accuracy of falsification detection.
[0017]
The electronic watermark embedding method of the present invention may further include a step of scrambling the color palette address information before the step of embedding the color palette address information in the color palette data in any one of the configurations described above. . By scrambling the data embedded in the color palette, the possibility of forging the color palette can be reduced. In addition, by using a portion that is not used for embedding the color palette as a key, there is no need to prepare a key for scrambling / descrambling.
[0018]
The electronic watermark embedding method of the present invention further includes the step of aligning the color palette based on the degree of color similarity after the step of embedding the address information of the color palette in the color palette data in any one of the above configurations. May be. In this way, the color palette can be completely restored by the address information of the color palette, and the adjacent colors are very close to each other, and the embedding quality is not deteriorated. It should be noted that the step of aligning the color palette based on the color similarity is preferably performed within a range in which the address information is completed.
[0019]
The digital watermark embedding method of the present invention may further include the step of embedding color palette number information in the color palette data in any of the above-described configurations. By embedding information on the number of color palettes in the color palette data, it is possible to more accurately detect color palette tampering. Further, when a color palette is added or deleted, the addition or deletion can be detected more accurately.
[0020]
The address information at the stage of embedding the color palette address information in the color palette data is preferably embedded in the least significant bit side of the color palette data. This is because the change of the image after embedding the digital watermark can be reduced. The “least significant bit side” means one bit of LSB or a plurality of bits following this.
[0021]
The digital watermark verification method of the present invention for achieving the above object is a method for verifying a digital watermark of an electronic image including image data and color palette data, and includes a color palette embedded in the color palette data. Extracting the address information of the color palette, aligning the address information of the extracted color palette, detecting the error from the address information of the aligned color palette, Extracting a digital watermark embedded in the image data and verifying the digital watermark with information generated based on the address information of the aligned color palette; It is characterized by including.
[0022]
The color pallet address information embedded in the color pallet data may include two types of address information: information embedded in a plurality of color pallets and information embedded in one color pallet. The method may further include a step of extracting check bits for detecting errors from the color palette data and a step of detecting errors from the extracted check bits. The method may further include a step of descrambling the address information of the scrambled color palette. In addition, after the step of aligning the extracted color palette address information, the method may further include a step of aligning the color palette based on the similarity of colors. It should be noted that the step of aligning the color palette based on the color similarity is preferably performed within a range in which the address information is completed. Further, the method may further include a step of extracting color palette number information from the color palette data.
[0023]
In addition, a digital watermark embedding device of the present invention for achieving the above object is an apparatus which enables the electronic watermark embedding method of any one of the above present invention, and the electronic watermark embedding of the present invention for achieving the above object. The watermark detection apparatus is an apparatus that can operate any one of the above-described digital watermark detection methods of the present invention.
[0024]
In order to achieve the above object, an electronic image of the present invention is an electronic image including image data and pallet data, and pallet address information is embedded in the pallet data. Note that the electronic image in the present invention is not limited to a colored color, and may be an image composed of a single colored shade or a chromotone image.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Several embodiments of the present invention will be described below with reference to the drawings. In the present specification and drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant description is omitted.
[0026]
(First embodiment)
FIG. 1 is a block diagram illustrating a configuration on the signature generation side (digital watermark embedding side) according to the first embodiment of this invention. The configuration on the signature generation side according to the first embodiment of the present invention is based on a palette data input terminal (1) for inputting image palette data and palette data input from the palette data input terminal (1). Pallet sorting means (100) for performing sorting, pallet address embedding means (101) for embedding addresses in the sorted pallet data, and a pallet data output terminal (3) for outputting pallet data in which the addresses are embedded The image data input terminal (2) for inputting the image data and the image data replaced from the image data input from the image data input terminal (2) based on the replacement information obtained from the palette sorting means (100) Replacing means (102) for performing the replacement, and an image data output terminal (4) for outputting the image data after replacement. .
[0027]
First, palette data of a color palette image is input to the palette data input terminal (1) and image data is input to the image data input terminal (2). The palette sort means (100) sorts the input palette data.
[0028]
Sorting in the palette sorting means (100) is performed, for example, in the order of the RGB values of the palette data or in the order of the brightness values of the palette data. If a duplicate or unused palette is found during this palette sorting, it may be deleted.
[0029]
Next, the palette sorting means (100) generates a table for converting the index values before sorting (order from the top of the palette) into the index values after sorting, and outputs them to the replacing means (102).
[0030]
The replacement means (102) replaces the value of the image data input from the image data input terminal (2) using the replacement table obtained from the palette sort means (100). After replacing all values, output to the image data output terminal (4).
[0031]
The palette address embedding means (101) writes the palette address information in the LSB (least significant bit) of the palette data. Address information is written in the color palette data so that it can be restored to the original index position even if the color palette is added / deleted. The address information is written on the LSB side of the RGB value of the color palette. Although the color of the palette changes slightly due to writing, it is a change that cannot be perceived by the human eye.
[0032]
FIG. 2 is a conceptual diagram illustrating a method of embedding address information in pallet data. The MSB in the figure is the most significant bit. For example, in the case of palette data composed of 8 bits for each of RGB, 4 bits (1 L bit for R, 1 bit for G LSB, 2 bits for B LSB and the next bit) are used as address information. Used as a writing area. When 4 bits are used, a 4-bit space is created as address information. 16 types (0 to 15) (2 4 ) Value can be written to each palette data. Further, these 4 bits are embedded in the LSB side of the palette data, that is, in a portion that is hardly perceivable by the human eye, so that even after the address information is embedded, it is hardly perceivable by the human eye.
[0033]
In this case, address information in order from the top of the palette data,
0, 1, 2, 3, ..., 15, 0, 1, 2, 3, ...
And writing in ascending order of a number between 0 and 15. The order in which the address information is written is not limited to this example. For example, the address information may be randomized by a method capable of generating the same value on the embedding side and the detecting side.
[0034]
Address information
0, 0, 1, 1, 2, 2, ..., 15, 15, 0, 0, 1, 1, 2, 2, ...
As described above, a plurality (two in this case) of palette data having the same address information may be continued. In this example, palettes with the same address information in adjacent palettes must have regularity to restore. The regularity is, for example, a case where the brightness value of the first pallet is lower than the brightness value of the back pallet when two are consecutive. According to this rule, after sorting by address information, the order of palettes can be reproduced by rearranging two consecutive palettes by luminance value. Such sorting within the range of adjacent pallets having the same address information is hereinafter referred to as “local sorting”.
[0035]
The sorting rules for palettes with the same palette data may differ from the sorting rules for the entire palette. The sorting of the entire palette is hereinafter referred to as “global sorting”. For example, the global sort may be performed on the basis of the luminance value, and the local sort may be performed on the basis of the absolute sum of the R, G, and B values.
[0036]
Pallet data after embedding address information differs by a maximum of 1 for R and G, and a maximum of 3 for B before and after embedding. For B in which address information is embedded in 2 bits, if the value is not an edge such as “0” or “255”, the value difference before and after embedding can be suppressed to 2 or less by adding or subtracting “1” to the value. . However, if the third bit is changed by addition / subtraction and the sort order is changed, the third bit must not be changed.
[0037]
Also, if the address information is not the same as the part to be embedded, it may be deleted as a duplicate palette. In this case, the index value to be deleted in the image data must be replaced with an index value that is not deleted. In this processing, when sorting is performed by the palette sorting means (100), the overlapping palette may be deleted as a duplicate palette when the part where the address information of the palette is embedded is cleared to zero.
[0038]
When only embedding data in the LSB of image data and extracting it, it is only necessary to determine whether the palette index value is even (LSB = 0) or odd (LSB = 1). , G, B need only use one bit.
[0039]
The above is an example of the embedding method in the RGB space, but the pallet to be embedded may be embedded in a region with a minute change in the color space other than RGB. Alternatively, the color space may be converted before embedding, and after embedding, the original color space may be restored. For example, the following conversion can be used as a reversible conversion from the RGB space to the YCbCr color space.
[0040]
Conversion from RGB space to YCbCr color space;
Y = floor ((R + 2G + B) / 4)
Cb = BG
Cr = R-G
[0041]
Conversion from YCbCr color space to RGB space;
G = Y-floor (Cb + Cr / 4)
R = Cr + G
B = Cb + G
However, floor (x) indicates the maximum integer not exceeding x.
[0042]
FIG. 3 is a conceptual diagram for explaining a method of embedding 5-bit address information in the YCbCr color space in RGB 8-bit palette data. A total of 5 bits, 1 bit of Y LSB, 2 bits of CSB LSB and the next 2 bits, and 2 bits of Cr LSB and the next bit are used as an area for writing address information. When 5 bits are used, a 5-bit space is created as address information, and 32 types (0 to 31) (2 5 ) Value can be written to each palette data. Further, these 5 bits are embedded in the LSB side of the palette data, that is, in a portion that is hardly perceivable by the human eye, so that even after the address information is embedded, it is hardly perceivable by the human eye.
[0043]
The pallet data after the address is embedded is output from the pallet data output terminal (3).
[0044]
FIG. 4 is a block diagram illustrating the configuration on the signature verification side according to the first embodiment of this invention. The configuration on the signature generation side includes a palette data input terminal (5) for inputting image palette data, and a palette sort means (110) for sorting the palette data input from the palette data input terminal (5). A palette data output terminal (7) for outputting sorted palette data, an image data input terminal (6) for inputting image data, and a palette for image data input from the image data input terminal (6). A replacement means (111) for replacing image data based on the replacement information obtained from the sorting means (110) and an image data output terminal (8) for outputting the image data after replacement are provided.
[0045]
The digital watermark detection palette sorting method is implemented as follows. FIG. 5 is a flowchart showing the procedure of palette sorting during signature verification (digital watermark verification). FIG. 6 is an explanatory diagram showing a procedure for extracting address information during signature verification.
[0046]
The palette sort means (110) sorts the input palette data and generates a replacement table for changing the palette index value for the image data. Next, a conversion table for converting the palette index value before sorting into the index value after sorting is created and passed to the replacing means (111). The replacement means (111) replaces the image data using the replacement table passed from the sorting means (110), and outputs it from the image data output terminal (8) (FIG. 4).
[0047]
The palette data is first sorted in S01 using data not used for embedding other than the part in which the address information is embedded (S01 in FIG. 5). As with the embedding side, the sorting is performed in the order of the RGB values of the palette and the order of the luminance values of the palette. FIG. 5 shows an example of sorting in order of size.
[0048]
Next, in S02, address information is read from the palette data and verified (S02). Here, it is checked whether the address information is continuous and whether the pallet is correctly positioned at the position indicated by the address information. Next, in S03, the palette is shaped (S03). In pallet shaping, an empty pallet is inserted when address information is skipped. If the address information is duplicated, the duplicate palette is deleted. In S04, the image data is replaced (S04).
[0049]
The address information is read from the portion where the address information is embedded on the embedding side. For example, in the previous embedding example, when address information is embedded in 1 bit of each LSB of R and G, and LSB of B and the next 2 bits, these 4 bits are combined into address information. Good.
[0050]
Similarly to the embedding side, address information may be extracted from a palette expressed in another color space other than RGB. Alternatively, the address information may be extracted after conversion to another color space.
[0051]
In the case of 4-bit address information, the values that can be held are 0-15. If all palettes are used in an 8-bit image, there are 256 palettes. Therefore, there are 16 pallet index values pointed to by one address information. However, since the palette is sorted in the order of magnitude other than the address information and in the order of brightness, if the palette is not tampered with, it can be easily restored to the correct index value.
[0052]
When the pallet data is falsified, if the address information of the pallet data is verified, there may be a part where the address information is skipped or a part where the address information is duplicated. The part where the address information is flying is left unused and the pallet is placed properly at the position indicated by the address information. If they overlap, both palettes may have the same index value and may be merged into the same palette. One pallet may be assigned to another free index value.
[0053]
In this way, no matter how much the pallet has been tampered with, it can be forced to align. Since the address information indicates a local position within a range where the address information goes around, each pallet can be arranged at any position. If multiple pallets point to the same pallet address, they may be merged. In this case, the pallet is empty, but duplicate pallets may be assigned to the empty pallet in the order of sorting such as luminance.
[0054]
Also, if a pallet with duplicate address information, an empty pallet, or discontinuity of address information occurs frequently, it may be an error, “Pallet tampering detected” or “Digital watermark is embedded in the pallet. The user may be notified that there is no such thing. An error can be determined using, for example, the following criteria.
[0055]
Examples of error criteria;
1) When pallets are sorted, 60% or more of pallets are not arranged in the order of address information.
2) When discontinuous palettes appear in the order of address information as a result of sorting the palettes.
3) As a result of sorting pallets, when there are 4 or more pallets with the same address information within the range of pallet addresses.
4) When four or more empty pallets are created as a result of sorting the pallets and moving the pallets according to the address information.
[0056]
If the same address information is embedded in the adjacent pallet on the embedding side, local sorting is performed within the range of the pallet having the same address as in the embedding side. FIG. 7 is a flowchart showing the procedure of palette sorting at the time of signature verification (digital watermark verification) when the same address information is embedded in adjacent palettes.
[0057]
First, in S11, the palette data is sorted using data that is not used for embedding other than the portion in which the address information is embedded (S11 in FIG. 7). The global sort is performed in the order of the RGB values of the palette and the order of the brightness values of the palette as in the embedding side. FIG. 7 shows an example of sorting in order of magnitude.
[0058]
Next, in S12, address information is read from the palette data and verified (S12). Here, it is checked whether the address information is continuous and whether the pallet is correctly positioned at the position indicated by the address information. Next, in S13, local sorting is performed in the adjacent pallet having the same address (S13). Next, in S14, the palette is shaped (S14). In pallet shaping, an empty pallet is inserted when address information is skipped. If the address information is duplicated, the duplicate palette is deleted. In S15, the image data is replaced (S15).
[0059]
Next, an example of application to a digital watermark embedding method is shown. FIG. 8 is a block diagram illustrating a configuration of one application example to the digital watermark embedding method according to the first embodiment. The signature generation means (103) generates the electronic signature of the palette data output from the palette address embedding means (101) and the image data output from the replacement means (102) (FIG. 8). For generation of an electronic signature, for example, a hash value can be calculated by a hash operation such as SHA1 or MD5, and the encrypted data can be converted into an electronic signature using an RSA public key cryptosystem. The signature may be generated in units of small areas by dividing the image into small areas of M × N pixels. In this case, falsification of the image can be detected in units of the small area.
[0060]
The embedding unit (104) embeds an electronic signature, which is an output from the signature generation unit (103), in the image data. For embedding, for example, a method of replacing a part of the LSB 1 bit of the image data with the electronic signature data can be used. At that time, the embedding position and data may be randomized using a pseudo-random sequence that can be synchronized by using a common key on the embedding side and the verification side.
[0061]
The palette scramble means (105) scrambles the palette data. For scrambling, a method of selecting and replacing two palette values using a pseudo-random sequence that can be synchronized between the embedding side and the verification side can be adopted. Also, by scrambling, it is possible to make it difficult for the user to know that the palette has been operated.
[0062]
The replacement means (106) replaces the value of the image data in the same manner as the palette data replaced by scramble. Since the value of the image data is an index value to the palette data, when the palette data is scrambled, the image data is replaced in synchronism with it so that the image looks the same before and after the appearance is scrambled. it can.
[0063]
FIG. 9 is a block diagram illustrating a configuration of another application example of the digital watermark embedding method according to the first embodiment. Some digital watermark embedding methods increase pallet data when embedding. This type of digital watermark can also be applied in the same way as in the previous application example (FIG. 8) if the number of palettes is increased by the palette adding means (120) before the palette data is transferred to the palette address embedding means (101). 9).
[0064]
Next, an example of application to a digital watermark detection method is shown. FIG. 10 is a block diagram illustrating the configuration of one application example of the first embodiment to the digital watermark detection method. The signature generation means (112) generates an electronic signature for the palette data output from the palette sort means (110) and the image data output from the replacement means (111) (FIG. 10). For generation of the electronic signature, for example, a hash value may be calculated by a hash operation such as SHA1 or MD5 as in the embedding side. However, it is not necessary to encrypt using the RSA public key cryptosystem. The signature may be generated in units of small areas by dividing the image into small areas of M × N pixels. In this case, image alteration can be detected in units of this small area.
[0065]
The signature extracting means (l13) extracts famous data embedded by the embedding side. When the extracted data is encrypted by RSA or the like, the cipher is decrypted and output as data before encryption.
[0066]
The comparing means (114) compares the electronic signature obtained from the signature extracting means (113) with the electronic signature obtained from the signature generating means (112). If the comparison results match, there is no falsification.
[0067]
FIG. 11 is a block diagram illustrating a configuration of another application example of the digital watermark detection method according to the first embodiment. In this application example, the descrambling means (300) is used (FIG. 11) instead of the pallet sorting means (110) as compared to the previous application example (FIG. 10). This is an inverse process of the palette scramble means (105), and the palette scrambled by the scramble means (105) is restored. Further, the scramble range is within a range where the address information makes a round (for example, within a range where the address rounds from 0 to 15 for a 4-bit address, or within a range of 0 to 7 and 8 to 15). ).
[0068]
Further, on the embedding side, the address information may be assigned / embedded after the scramble means. In this case, in order to make the address information invisible, it may be scrambled again within a range where the address information makes a round. On the verification side, scramble is released after pallet sorting using only the address information is performed within a range in which the address information makes a round before the descrambling means (300). The pallet data generated by this is weak against the rearrangement of the pallet data, but there are few general image processing programs that automatically align the pallet data unintentionally.
[0069]
When the signature data is generated from the image data or when the data is embedded in the LSB of the image data, it is essential to restore the palette order. However, it was difficult to restore individual pallets to the same index position as the original by adding / deleting pallets or changing pallet positions that occurred during tampering. However, according to the first embodiment of the present invention described above, even if the pallet is changed, the pallet other than the changed pallet can be restored in the order of the pallet at the time of signature generation, reducing false detection of tampering. , It is possible to improve the accuracy of specifying the falsification position.
[0070]
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the first embodiment, only one type of address information is used, but in the second embodiment, two types of address information are used. FIG. 12 is a conceptual diagram illustrating address information generation processing in the second embodiment. For example, address information is defined as 4 bits, 3 bits of which are defined as local address information, and 1 bit is defined as global address information.
[0071]
In the case of 3-bit local address information, 8 types of 0 to 7 (2 3 ) Value. For example, starting with the first palette,
0, 1, 2, 3, ..., 7, 0, 1, ...
Or the order may be randomized.
[0072]
The global address information becomes an address value by concatenating global address information of a plurality of palette data. In this example, the global address information in one pallet data is 1 bit. For example, if one pallet data is assigned to one set of four pallet data, the global address can be expressed by 4 bits. Can take a value. A global address is assigned to each set of palettes.
[0073]
As shown in FIG. 12, the local address and the global address are embedded in the LSB side of the pallet data as in the first embodiment. Other operations are the same as those in the first embodiment.
[0074]
Next, a signature detection method according to the second embodiment will be described. FIG. 13 is a flowchart showing a palette sorting procedure at the time of signature verification (digital watermark verification) according to the second embodiment, and FIG. 14 shows an address at the time of signature verification according to the second embodiment. It is explanatory drawing which shows the extraction process procedure of information.
[0075]
In the second embodiment, the palette data is sorted in the same manner as in the first embodiment. First, in S21, sorting is performed using data not used for embedding other than the part where address information is embedded (S21 in FIG. 13). As with the embedding side, the sorting is performed in the order of the RGB values of the palette and the order of the luminance values of the palette. FIG. 13 shows an example of sorting in order of size.
[0076]
Next, in S22, address information is read from the palette data and verified (S22). Reading address information reads local address information and global address information from the LSB side of each palette. Then, it is checked whether the address information is continuous and whether the pallet is correctly positioned at the position indicated by the address information. Here, the correct value of the global address was generated according to the same rules as when the global address was allocated, and the global address bit of each palette was compared with the correct global address for each bit unit, and the global address did not match. The pallet is an incorrect pallet (Fig. 14).
[0077]
Next, in S23, the same rule as the address information of the first embodiment is applied to the local address information, and the pallet positions are aligned (S23). Palette formatting discards palettes with incorrect global addresses. For palettes that overlap at the same position, select the correct palette by the global address and delete the duplicate palette. An incorrect pallet may be allocated to an empty pallet. If there are no duplicates, you do not have to discard them. If the address information is skipped, an empty pallet is inserted. In S24, the image data is replaced (S24) (FIG. 13). Other operations are the same as those in the first embodiment.
[0078]
As described above, according to the second embodiment, global address information can be held by global address information, and the position of palette data can be specified in detail. Also, by classifying global address match / mismatch, correct palette data can be selected when palette data is duplicated.
[0079]
(Third embodiment)
Next, a third embodiment of the present invention will be described. In the first embodiment, only address information is used. In the third embodiment, a check bit indicating the authenticity of palette data is used in addition to the address information. FIG. 15 is a conceptual diagram illustrating a method of embedding address information and the like in palette data according to the third embodiment of the present invention. FIG. 16 is an address information at the time of signature verification according to the third embodiment. It is explanatory drawing which shows extraction processing procedures, such as.
[0080]
For example, if 4-bit information is embedded in each pallet data, 2 bits out of 4 bits are used as address information, and the remaining 2 bits are used as check bits. The check bits may be data obtained by performing XOR (exclusive OR) operation on data in units of bits, CRC (Cyclic Redundancy Check), Hamming code, or the like, and are not particularly limited. The check bit is generated from the address information and the data in the part where the palette data is not embedded.
[0081]
Then, a combination of the local address information and the check bit information is embedded in each pallet data as in the first embodiment (see FIG. 15). Other operations are the same as those in the first embodiment.
[0082]
Next, a digital watermark detection method according to the third embodiment will be described. As in the first embodiment, the pallets are sorted according to the size relationship of the pallet data of the portion not used for embedding. Then, address information and check bits are extracted from the LSB side of each palette data.
[0083]
Then, the check bits of each palette are used to verify the parts not used for embedding address information and palette data. Then, by applying the same rule as the address information in the first embodiment, the positions of the palettes are aligned. For pallets that overlap at the same position, the correct pallet is selected by the check bit. An incorrect pallet may be assigned to an empty pallet (see FIG. 16). Other operations are the same as those in the first embodiment.
[0084]
As described above, according to the third embodiment, an incorrect pallet can be known with high accuracy by using a check bit. As a result, tamper detection accuracy is improved.
[0085]
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. In the first to third embodiments, the address information and the like are embedded as they are, but in the fourth embodiment, these data are scrambled.
[0086]
FIG. 17 is a conceptual diagram illustrating a method of embedding address information in palette data according to the fourth embodiment of the present invention. FIG. 18 is a diagram illustrating how addresses are stored in palette data according to the fourth embodiment of the present invention. It is a conceptual diagram explaining the method of embedding information and a check bit. FIG. 19 is an explanatory diagram showing a procedure for extracting address information at the time of signature verification according to the fourth embodiment. FIG. 20 shows address information at the time of signature verification according to the fourth embodiment. It is explanatory drawing which shows the check bit extraction process procedure.
[0087]
In the fourth embodiment, the data to be embedded on the LSB side of the palette data is scrambled using the “part where no information is embedded” data of the palette data as a key. The key may be a user-specified key in addition to the “part where information is not embedded” in the palette data. When the fourth embodiment is applied in combination with the first embodiment, only the address information is scrambled. However, when applied in combination with the second embodiment, local address information and global address information, When applied in combination with the third embodiment, address information and check bits may be scrambled.
[0088]
For scramble, for example, data replacement and shift, XOR with other data, XOR with pseudo-random sequence, bi-directional input and output functions are selected by key data and processed in multiple loops It can be performed. Data scrambled by this process can be restored to the original data using the same key.
[0089]
The embedding into the palette data can be performed by dividing the scrambled data and using the same method as the embedding method of the first to third embodiments. Other operations are the same as those in the first embodiment (see FIGS. 17 and 18).
[0090]
Next, a digital watermark detection palette sorting method according to the fourth embodiment will be described. The scrambled data extracted from the pallet is descrambled using the pallet data not used for embedding as a key in the reverse procedure of the embedding side. Other operations are the same as those in the first to third embodiments (see FIGS. 19 and 20).
[0091]
As described above, according to the fourth embodiment, it is possible to reduce the possibility that the palette is counterfeited by scrambling the data embedded in the palette. In addition, since the part not used for embedding the pallet is used as a key, it is not necessary to prepare a key for scrambling / descrambling.
[0092]
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described. In the fifth embodiment, similar color search means is used. FIG. 21 is a block diagram illustrating the configuration on the signature generation side according to the fifth embodiment of this invention. In the fifth embodiment, similar color search means (200) is added to the configuration of the first to fourth embodiments.
[0093]
The digital watermark embedding side similar color searching means in the fifth embodiment of the present invention will be described. The similar color search means (200) sorts the palette data after embedding the palette address by a method different from the palette sort means. For example, the palette sort means (100) is sorted by luminance, but the similar color search means (200) sorts by color similarity.
[0094]
Sorting is performed within the range that the pallet address information makes a round. For example, when the address information is 16 bits and the same address information is not given to adjacent palettes, the color search is performed within the range of 16 palettes. 22 and 23 are conceptual diagrams for explaining a similar color search method according to the fifth embodiment of the present invention. As shown in FIG. 23, first, a color closest to the reference palette data “0” is searched. For example, the standard palette data and the color difference Diff of each palette data i Is searched for palette data with the smallest difference, and this is continued sequentially (see FIG. 23). Diff i For example, the palette data of the reference palette data “0” is (R 0 , G 0 , B 0 ), Search target palette data (R i , G i , B i ), Use the following formula.
Diff i = | R i -R 0 | + | G i -G 0 | + | B i -B 0
In the similar color search, the process shown in FIG. 23 is performed within a range in which the address information of the palette shown in FIG.
[0095]
In FIG. 23, the absolute sum of R, G, and B is used to determine the similarity between colors, but each of R, G, and B can be used alone, or the similarity can be calculated by weighting or sum of squares. Also good.
[0096]
The replacement means (102) replaces the image data in accordance with the palette data sorted by the palette sort means (100) and the similar color search means (200). Other operations are the same as those in the first to third embodiments.
[0097]
Next, the digital watermark detection side similar color search means in the fifth embodiment of the present invention will be described. FIG. 24 is a block diagram illustrating the configuration on the signature verification side according to the fifth embodiment of this invention. The similar color search means (201) sorts the palette data sorted by the palette sort means (110) in the same manner as the similar color search means (200) on the embedding side.
[0098]
Sorting is performed within the range that the pallet address information makes a round. For example, when the address information is 16 bits and the same address information is not given to adjacent palettes, the color search is performed within the range of 16 palettes. For example, in the search, the processing in FIG. 23 is performed within a range in which the address information of the palette makes a round.
[0099]
In FIG. 23, the absolute sum of R, G, and B is used for the determination of the similarity of colors, but each of R, G, and B is used alone, or the similarity is calculated by weighting or sum of squares. May be. The replacement means (102) replaces the image data according to the palette data sorted by the palette sort means (100) and the similar color search means (200). Other operations are the same as those in the first to third embodiments.
[0100]
When the digital watermark is embedded in the LSB of the index image, the pixel value may be changed to an adjacent palette value. In this case, when sorting is performed only by luminance, palettes of completely different colors may be adjacent to each other with close luminance, and the image quality after embedding a digital watermark may be extremely deteriorated. However, according to the fifth embodiment described above, the palette can be completely restored by the address information of the palette, and the adjacent colors are very close to each other, and the embedding quality is not deteriorated.
[0101]
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described. FIG. 25 is a block diagram illustrating the configuration on the signature generation side according to the sixth embodiment of the present invention, and FIG. 26 illustrates the configuration on the signature verification side according to the sixth embodiment of the present invention. FIG. In the sixth embodiment, local scramble means (210) is added to the structure on the embedding side of the first to fifth embodiments. Further, in the digital watermark verification palette sorting method, local scrambling cancellation means (220) is added to the configuration on the verification side of the first to fifth embodiments.
[0102]
On the digital watermark embedding side in the sixth embodiment, the local scramble means (210) locally scrambles the palette data output from the palette sort means (100). The replacement unit (102) replaces the image data in accordance with the palette data sorted by the palette sort unit (100) and the local scramble unit (210). Other operations are the same as those in the first to fifth embodiments.
[0103]
On the digital watermark verification side in the sixth embodiment, the local descrambling means (220) sorts the palette sorted by the palette sort means (110) by the same method as the local scrambling means (210) on the embedding side. .
[0104]
When the digital watermark is embedded in the LSB of the index image, the pixel value may be changed to an adjacent palette value. In this case, when sorting is performed only by luminance, palettes of completely different colors may be adjacent to each other with close luminance, and the image quality after embedding a digital watermark may be extremely deteriorated. However, according to the sixth embodiment described above, the palette can be completely restored by the address information of the palette, and the adjacent colors become very close to each other, and the embedding quality is not deteriorated.
[0105]
(Seventh embodiment)
Next, a seventh embodiment of the present invention will be described. FIG. 27 is a conceptual diagram illustrating one method of embedding address information in palette data according to the seventh embodiment of the present invention. FIG. 28 is a diagram illustrating palette data according to the seventh embodiment of the present invention. It is a conceptual diagram explaining the other method of embedding address information in. In the seventh embodiment, the pallet sorting means includes not only the address information but also the pallet number information in the information embedded in each pallet data. For example, if 4 bits are embedded in each palette, 3 bits are allocated to address information and 1 bit is allocated to palette information.
[0106]
If 1-bit palette information is a unit in which the address information makes a round (for example, 8 for 3-bit address information), the actual number of palettes can be embedded by embedding 1 bit in each palette. (See FIG. 27).
[0107]
In addition, the first two palettes after the brightness sort etc. are embedded with only the pallet number information without embedding address information, or after the brightness sort, the pallet number information is embedded every other pallet. (See FIG. 28). Other operations are the same as those in the first to third embodiments.
[0108]
FIG. 29 is an explanatory diagram showing an example of an address information extraction processing procedure at the time of signature verification according to the seventh embodiment of the present invention. FIG. 30 shows a signature verification according to the seventh embodiment of the present invention. It is explanatory drawing which shows the other example of the extraction process procedure of the address information at the time.
[0109]
In the digital watermark detection palette sorting means in the seventh embodiment, palette number information is extracted from the information embedded in each palette. For example, if 4 bits are embedded in each palette, 3 bits are used as address information and 1 bit is used as palette information. The 1-bit palette information is a unit in which the address information makes a round as shown in FIG. 31 (2 bits for 3-bit address information). 3 = 8) can be embedded multiple times. In this case, since there are a plurality of pieces of pallet number information, a majority decision and error correction processing are performed for each to obtain the correct pallet number (see FIG. 29).
[0110]
In addition, when only the palette number information is embedded in the first two palettes after the brightness sort or the like without embedding the address information, the palette information can be extracted therefrom (see FIG. 30). Other operations are the same as those in the first to third embodiments.
[0111]
As described above, according to the seventh embodiment, the number of pallets can be embedded in the pallet data, and pallet alteration detection can be performed more accurately. In addition, since the number of palettes is embedded in the palette data, addition or deletion can be detected more accurately when a palette is added or deleted.
[0112]
The preferred embodiments of the digital watermark embedding method, verification method, embedding device, verification device, and electronic image of the present invention have been described above with reference to the accompanying drawings, but the present invention is not limited to these examples. It will be apparent to those skilled in the art that various changes and modifications can be conceived within the scope of the technical idea described in the claims, and of course, the technical scope of the present invention is also possible. It is understood that it belongs to.
[0113]
For example, the address value embedded in the pallet data need not be sequential. Any sequence can be used as long as it can be synchronized between the embedding side and the detection side. For example, a pseudo-random sequence that can be synchronized by a key can be used.
[0114]
Further, it is not necessary to limit the portion embedded in the palette data to a combination of R; 1 bit, G; 1 bit, B; 2 bits, or a total of 4 bits.
[0115]
Further, the same amount of data may be embedded in the RGB values of the palette data, or among the RGB values, there may be colors that do not embed data.
[0116]
Further, the ratio between the local address and the global address in the second embodiment may be any number and need not be limited. Also, there is no need to limit the number of palettes for configuring the global address. In addition, the number constituting the global palette does not always need to be fixed and may be variable. For example, palette data 1 to 4 may be 2 bits of global address, palette data 5 to 15 may be 5 bits of global address, and the like.
[0117]
Also, it is not always necessary to fix the number of bits for embedding address information. For example, the palette data may be sorted in order of luminance, and a device with a large bit amount may be embedded in a low luminance region, and a small bit amount of data may be embedded in a low luminance region. Further, the number of bits embedded in the pallet data may be determined from the data in the pallet, the index value of the pallet, and data obtained from these.
[0118]
Further, the check bit in the third embodiment need not be limited in particular. Any error detection code that can find an error with a certain probability may be used.
[0119]
Further, the scramble system of the fourth embodiment need not be limited in particular. Any method may be used as long as the data can be scrambled / descrambled.
[0120]
The embedding into the palette data is not particularly limited to the palette. For example, a similar watermark may be embedded into a vector coding code book.
[0121]
【The invention's effect】
According to the present invention, it is possible to provide an electronic image processing technology that facilitates synchronization of the palette values on the electronic watermark embedding side and the detection side with respect to a color palette image, reduces false detection of tampering, and enables specification of tampering positions.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration on a signature generation side according to a first exemplary embodiment of the present invention.
FIG. 2 is a conceptual diagram illustrating a method of embedding address information in pallet data according to the first embodiment of this invention.
FIG. 3 is a conceptual diagram illustrating a method of embedding 5-bit address information in the YCbCr color space in RGB 8-bit palette data.
FIG. 4 is a block diagram illustrating a configuration on the signature verification side according to the first embodiment.
FIG. 5 is a flowchart illustrating a palette sorting procedure during signature verification (digital watermark verification) according to the first embodiment;
FIG. 6 is an explanatory diagram illustrating an address information extraction processing procedure during signature verification according to the first embodiment;
FIG. 7 is a flowchart showing a procedure of palette sorting at the time of signature verification when the same address information is embedded in adjacent palettes.
FIG. 8 is a block diagram illustrating a configuration of one application example to the digital watermark embedding method according to the first embodiment;
FIG. 9 is a block diagram illustrating a configuration of another application example of the digital watermark embedding method according to the first embodiment;
FIG. 10 is a block diagram illustrating a configuration of one application example of the first embodiment to the digital watermark detection method;
FIG. 11 is a block diagram illustrating a configuration of another application example of the digital watermark detection method according to the first embodiment;
FIG. 12 is a conceptual diagram illustrating address information generation processing according to the second embodiment;
FIG. 13 is a flowchart illustrating a procedure of palette sorting at the time of signature verification according to the second embodiment;
FIG. 14 is an explanatory diagram illustrating an address information extraction processing procedure during signature verification according to the second embodiment;
FIG. 15 is a conceptual diagram illustrating a method of embedding address information or the like in palette data according to the third embodiment.
FIG. 16 is an explanatory diagram illustrating a procedure for extracting address information and the like during signature verification according to the third embodiment.
FIG. 17 is a conceptual diagram illustrating a method of embedding address information in pallet data according to the fourth embodiment.
FIG. 18 is a conceptual diagram illustrating a method of embedding address information and check bits in palette data according to the fourth embodiment.
FIG. 19 is an explanatory diagram illustrating an extraction process procedure of address information at the time of signature verification according to the fourth embodiment.
FIG. 20 is an explanatory diagram illustrating an extraction process procedure of address information and check bits at the time of signature verification according to the fourth embodiment.
FIG. 21 is a block diagram illustrating a configuration on the signature generation side according to the fifth embodiment;
FIG. 22 is a conceptual diagram illustrating a similar color search method according to the fifth embodiment.
FIG. 23 is a conceptual diagram illustrating a similar color search method according to the fifth embodiment.
FIG. 24 is a block diagram illustrating a configuration on the signature verification side according to the fifth embodiment.
FIG. 25 is a block diagram illustrating a configuration on the signature generation side according to the sixth embodiment.
FIG. 26 is a block diagram illustrating a configuration on the signature verification side according to the sixth embodiment.
FIG. 27 is a conceptual diagram illustrating one method of embedding address information in pallet data according to the seventh embodiment.
FIG. 28 is a conceptual diagram illustrating another method of embedding address information in palette data according to the seventh embodiment.
FIG. 29 is an explanatory diagram illustrating an example of an address information extraction processing procedure during signature verification according to the seventh embodiment;
FIG. 30 is an explanatory diagram illustrating another example of the address information extraction processing procedure during signature verification according to the seventh embodiment;
FIG. 31 is a conceptual diagram illustrating a unit in which address information makes a round in the seventh embodiment.
[Explanation of symbols]
1 Pallet data input terminal
2 Image data input terminal
3 Pallet data output terminal
4 Image data output terminal
5 Pallet data input terminal
6 Image data input terminal
7 Pallet data output terminal
8 Image data output terminal
100 Pallet sorting means
101 Pallet address embedding means
102 Replacement means
103 Signature generation means
104 Embedding means
105 Pallet scramble means
106 Replacement means
110 Pallet sorting means
111 Replacement means
112 Signature generation means
113 Signature extraction means
120 Pallet adding means
200 Similar color search means
201 Similar color search means
210 Local scrambling means
220 Local scrambling release means
300 Descramble means

Claims (38)

画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む方法であって,
カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階と,
前記画像データに電子透かしを埋め込む段階と,
を含むことを特徴とする,電子透かしの埋め込み方法。
A method of embedding a digital watermark in an electronic image including image data and color palette data,
Embedding color palette address information in the color palette data ;
Embedding a digital watermark in the image data;
A method for embedding a digital watermark, comprising:
前記カラーパレットデータに埋め込むカラーパレットのアドレス情報は,複数のカラーパレットに分割して埋め込む情報と,1つのカラーパレットに埋め込む情報の2種類のアドレス情報を含むことを特徴とする,請求項1に記載の電子透かしの埋め込み方法。  2. The color pallet address information embedded in the color pallet data includes two types of address information: information embedded in a plurality of color pallets and information embedded in one color pallet. The electronic watermark embedding method described. エラーを検出するためのチェックビットを前記カラーパレットデータに埋め込む段階をさらに含むことを特徴とする,請求項1,または2のいずれか1項に記載の電子透かしの埋め込み方法。  3. The digital watermark embedding method according to claim 1, further comprising a step of embedding check bits for detecting an error in the color palette data. 前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階の前に,前記カラーパレットのアドレス情報をスクランブルする段階をさらに含むことを特徴とする,請求項1,2,または3のうちのいずれか1項に記載の電子透かしの埋め込み方法。  4. The method according to claim 1, further comprising a step of scrambling the address information of the color palette before the step of embedding the address information of the color palette in the color palette data. The electronic watermark embedding method according to claim 1. 前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階の後に,前記カラーパレットを色の類似度に基づいて整列する段階をさらに含むことを特徴とする,請求項1,2,3,または4のうちのいずれか1項に記載の電子透かしの埋め込み方法。  5. The method of claim 1, further comprising the step of aligning the color palette based on color similarity after the step of embedding address information of the color palette in the color palette data. The electronic watermark embedding method according to any one of the above. 前記カラーパレットを色の類似度に基づいて整列する段階は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項5に記載の電子透かしの埋め込み方法。  6. The method of embedding a digital watermark according to claim 5, wherein the step of aligning the color palette based on the similarity of colors is performed within a range that the address information makes a round. カラーパレット数情報を前記カラーパレットデータに埋め込む段階をさらに含むことを特徴とする,請求項1,2,3,4,5,または6のうちのいずれか1項に記載の電子透かしの埋め込み方法。  7. The method of embedding a digital watermark according to claim 1, further comprising a step of embedding color palette number information in the color palette data. . 前記電子透かしを埋め込む段階の後に,前記カラーパレットをスクランブルする段階をさらに含むことを特徴とする,請求項1,2,3,4,5,6,または7のうちのいずれか1項に記載の電子透かしの埋め込み方法。 8. The method of claim 1, further comprising a step of scrambling the color palette after the step of embedding the digital watermark. How to embed a digital watermark. 前記カラーパレットをスクランブルする段階は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項8に記載の電子透かしの埋め込み方法。  9. The digital watermark embedding method according to claim 8, wherein the step of scrambling the color palette is performed within a range that the address information makes a round. 前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階において,前記カラーパレットのアドレス情報は,前記カラーパレットデータの最下位ビット側に埋め込むことを特徴とする,請求項1,2,3,4,5,6,7,8,または9のうちのいずれか1項に記載の電子透かしの埋め込み方法。  5. The color palette address information is embedded in the least significant bit side of the color palette data in the step of embedding the color palette address information in the color palette data. , 5, 6, 7, 8, or 9. The digital watermark embedding method according to any one of claims 1 to 9. 画像データとカラーパレットデータとを含む電子画像の電子透かしを検証する方法であって,
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報を抽出する段階と,
前記抽出されたカラーパレットのアドレス情報を整列する段階と,
前記整列されたカラーパレットのアドレス情報からエラーを検出する段階と,
前記画像データに埋め込まれた電子透かしを抽出し,前記整列されたカラーパレットのアドレス情報に基づいて生成される情報により前記電子透かしを検証する段階と,
を含むことを特徴とする,電子透かしの検証方法。
A method for verifying a digital watermark of an electronic image including image data and color palette data,
A step of extracting the address information of the color palette embedded in the color palette data,
Aligning the extracted color palette address information;
Detecting an error from the address information of the aligned color palette;
Extracting a digital watermark embedded in the image data and verifying the digital watermark with information generated based on address information of the aligned color palette;
A method for verifying a digital watermark, comprising:
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は,複数のカラーパレットに分割して埋め込まれた情報と,1つのカラーパレットに埋め込まれた情報の2種類のアドレス情報を含むことを特徴とする,請求項11に記載の電子透かしの検証方法。  The color pallet address information embedded in the color pallet data includes two types of address information: information embedded in a plurality of color pallets and information embedded in one color pallet. The digital watermark verification method according to claim 11. エラーを検出するためのチェックビットを前記カラーパレットデータから抽出する段階と,
前記抽出したチェックビットからエラーを検出する段階をさらに含むことを特徴とする,請求項11,または12のいずれか1項に記載の電子透かしの検証方法。
Extracting check bits for detecting errors from the color palette data;
The digital watermark verification method according to claim 11, further comprising a step of detecting an error from the extracted check bits.
スクランブルされたカラーパレットのアドレス情報をスクランブル解除する段階をさらに含むことを特徴とする,請求項11,12,または13のうちのいずれか1項に記載の電子透かしの検証方法。  14. The digital watermark verification method according to claim 11, further comprising the step of descrambling the address information of the scrambled color palette. 前記抽出されたカラーパレットのアドレス情報を整列する段階の後に,前記カラーパレットを色の類似度に基づいて整列する段階をさらに含むことを特徴とする,請求項11,12,13,または14のうちのいずれか1項に記載の電子透かしの検証方法。  15. The method of claim 11, 12, 13, or 14, further comprising the step of aligning the color palette based on color similarity after aligning the extracted color palette address information. The electronic watermark verification method according to any one of the above. 前記カラーパレットを色の類似度に基づいて整列する段階は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項15に記載の電子透かしの検証方法。  16. The digital watermark verification method according to claim 15, wherein the step of arranging the color palette based on the similarity of colors is performed within a range that the address information makes a round. 前記カラーパレットデータからカラーパレット数情報を抽出する段階をさらに含むことを特徴とする,請求項11,12,13,14,15,または16のうちのいずれか1項に記載の電子透かしの検証方法。  The digital watermark verification according to any one of claims 11, 12, 13, 14, 15, and 16, further comprising: extracting color palette number information from the color palette data. Method. スクランブルされたカラーパレットをスクランブル解除する段階をさらに含むことを特徴とする,請求項11,12,13,14,15,16,または17のうちのいずれか1項に記載の電子透かしの検証方法。  The method of verifying a digital watermark according to any one of claims 11, 12, 13, 14, 15, 16, and 17, further comprising the step of descrambling the scrambled color palette. . 前記カラーパレットをスクランブル解除する段階は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項18に記載の電子透かしの検証方法。  19. The digital watermark verification method according to claim 18, wherein the descrambling of the color palette is performed within a range that the address information makes a round. 画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む装置であって,
カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む手段と,
前記画像データに電子透かしを埋め込む手段と,
を有することを特徴とする,電子透かし埋め込み装置。
An apparatus for embedding a digital watermark in an electronic image including image data and color palette data,
Means for embedding address information of the color palette in the color palette data;
Means for embedding a digital watermark in the image data;
A digital watermark embedding apparatus characterized by comprising:
前記カラーパレットデータに埋め込むカラーパレットのアドレス情報は,複数のカラーパレットに分割して埋め込む情報と,1つのカラーパレットに埋め込む情報の2種類のアドレス情報を含むことを特徴とする,請求項20に記載の電子透かし埋め込み装置。  21. The address information of a color palette embedded in the color palette data includes two types of address information: information embedded in a plurality of color palettes and information embedded in one color palette. The electronic watermark embedding device described. エラーを検出するためのチェックビットを前記カラーパレットデータに埋め込む手段をさらに有することを特徴とする,請求項20,または21のいずれか1項に記載の電子透かし埋め込み装置。  22. The digital watermark embedding apparatus according to claim 20, further comprising means for embedding a check bit for detecting an error in the color palette data. 前記カラーパレットのアドレス情報をスクランブルする手段をさらに有することを特徴とする,請求項20,21,または22のうちのいずれか1項に記載の電子透かし埋め込み装置。  23. The digital watermark embedding apparatus according to claim 20, further comprising means for scrambling address information of the color palette. 前記カラーパレットを色の類似度に基づいて整列する手段をさらに有することを特徴とする,請求項20,21,22,または23のうちのいずれか1項に記載の電子透かし埋め込み装置。  The digital watermark embedding apparatus according to any one of claims 20, 21, 22, and 23, further comprising means for aligning the color palette based on similarity of colors. 前記カラーパレットを色の類似度に基づいて整列する手段は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項24に記載の電子透かし埋め込み装置。  25. The digital watermark embedding apparatus according to claim 24, wherein the means for aligning the color palette based on color similarity is performed within a range that the address information makes a round. カラーパレット数情報を前記カラーパレットデータに埋め込む手段をさらに有することを特徴とする,請求項20,21,22,23,24,または25のうちのいずれか1項に記載の電子透かし埋め込み装置。  26. The digital watermark embedding apparatus according to claim 20, further comprising means for embedding color palette number information in the color palette data. 前記カラーパレットをスクランブルする手段をさらに有することを特徴とする,請求項20,21,22,23,24,25,または26のうちのいずれか1項に記載の電子透かし埋め込み装置。  27. The digital watermark embedding device according to claim 20, further comprising means for scrambling the color palette. 前記カラーパレットをスクランブルする手段は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項27に記載の電子透かし埋め込み装置。  28. The digital watermark embedding apparatus according to claim 27, wherein the means for scrambling the color palette is performed within a range in which the address information makes a round. 前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む手段において,前記カラーパレットのアドレス情報は,前記カラーパレットデータの最下位ビット側に埋め込むことを特徴とする,請求項20,21,22,23,24,25,26,27,または28のうちのいずれか1項に記載の電子透かし埋め込み装置。  24. The means for embedding address information of the color palette in the color palette data, wherein the address information of the color palette is embedded on the least significant bit side of the color palette data. , 24, 25, 26, 27, or 28. 画像データとカラーパレットデータとを含む電子画像の電子透かしを検証する装置であって,
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報を抽出する手段と,
前記抽出されたカラーパレットのアドレス情報を整列する手段と,
前記整列されたカラーパレットのアドレス情報からエラーを検出する手段と,
前記画像データに埋め込まれた電子透かしを抽出し,前記整列されたカラーパレットのアドレス情報に基づいて生成される情報により前記電子透かしを検証する手段と,
を有することを特徴とする,電子透かし検証装置。
An apparatus for verifying a digital watermark of an electronic image including image data and color palette data,
Means for extracting the address information of the color palette embedded in the color palette data,
Means for aligning the address information of the extracted color palette;
Means for detecting an error from address information of the aligned color palette;
Means for extracting a digital watermark embedded in the image data and verifying the digital watermark with information generated based on address information of the aligned color palette;
A digital watermark verification apparatus comprising:
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は,複数のカラーパレットに分割して埋め込まれた情報と,1つのカラーパレットに埋め込まれた情報の2種類のアドレス情報を有することを特徴とする,請求項30に記載の電子透かし検証装置。  The color pallet address information embedded in the color pallet data includes two types of address information: information embedded in a plurality of color pallets and information embedded in one color pallet. The digital watermark verification apparatus according to claim 30. エラーを検出するためのチェックビットを前記カラーパレットデータから抽出する手段と,
前記抽出したチェックビットからエラーを検出する手段をさらに有することを特徴とする,請求項30,または31のいずれか1項に記載の電子透かし検証装置。
Means for extracting a check bit for detecting an error from the color palette data;
32. The digital watermark verification apparatus according to claim 30, further comprising means for detecting an error from the extracted check bits.
スクランブルされたカラーパレットのアドレス情報をスクランブル解除する手段をさらに有することを特徴とする,請求項30,31,または32のうちのいずれか1項に記載の電子透かし検証装置。  33. The electronic watermark verification apparatus according to claim 30, further comprising means for descrambling the address information of the scrambled color palette. 前記カラーパレットを色の類似度に基づいて整列する手段をさらに有することを特徴とする,請求項30,31,32,または33のうちのいずれか1項に記載の電子透かし検証装置。  34. The digital watermark verification apparatus according to claim 30, further comprising means for aligning the color palette based on color similarity. 前記カラーパレットを色の類似度に基づいて整列する手段は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項34に記載の電子透かし検証装置。  35. The digital watermark verification apparatus according to claim 34, wherein the means for aligning the color palette based on the similarity of colors is performed within a range in which the address information makes a round. 前記カラーパレットデータからカラーパレット数情報を抽出する手段をさらに有することを特徴とする,請求項30,31,32,33,34,または35のうちのいずれか1項に記載の電子透かし検証装置。  36. The digital watermark verification apparatus according to claim 30, further comprising means for extracting color palette number information from the color palette data. . スクランブルされたカラーパレットをスクランブル解除する手段をさらに有することを特徴とする,請求項30,31,32,33,34,35,または36のうちのいずれか1項に記載の電子透かし検証装置。  The digital watermark verification apparatus according to any one of claims 30, 31, 32, 33, 34, 35, and 36, further comprising means for descrambling the scrambled color palette. 前記カラーパレットをスクランブル解除する手段は,前記アドレス情報が一巡する範囲内で行うことを特徴とする,請求項37に記載の電子透かし検証装置。  38. The digital watermark verification apparatus according to claim 37, wherein the means for descrambling the color palette is performed within a range in which the address information makes a round.
JP2002248509A 2002-08-28 2002-08-28 Digital watermark embedding method, verification method, embedding device, verification device, and electronic image Expired - Fee Related JP3995153B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002248509A JP3995153B2 (en) 2002-08-28 2002-08-28 Digital watermark embedding method, verification method, embedding device, verification device, and electronic image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002248509A JP3995153B2 (en) 2002-08-28 2002-08-28 Digital watermark embedding method, verification method, embedding device, verification device, and electronic image

Publications (2)

Publication Number Publication Date
JP2004088565A JP2004088565A (en) 2004-03-18
JP3995153B2 true JP3995153B2 (en) 2007-10-24

Family

ID=32055867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002248509A Expired - Fee Related JP3995153B2 (en) 2002-08-28 2002-08-28 Digital watermark embedding method, verification method, embedding device, verification device, and electronic image

Country Status (1)

Country Link
JP (1) JP3995153B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079894B2 (en) 2004-02-26 2008-04-23 富士フイルム株式会社 Digital watermark device and digital watermark program
JP2007318279A (en) 2006-05-24 2007-12-06 Sony Corp Information processor
JP6362191B1 (en) * 2017-07-13 2018-07-25 Necプラットフォームズ株式会社 Image processing system, image processing apparatus, image processing method, and program

Also Published As

Publication number Publication date
JP2004088565A (en) 2004-03-18

Similar Documents

Publication Publication Date Title
Chang et al. A watermarking-based image ownership and tampering authentication scheme
Wang et al. A majority-voting based watermarking scheme for color image tamper detection and recovery
US5646997A (en) Method and apparatus for embedding authentication information within digital data
Rey et al. A survey of watermarking algorithms for image authentication
Li et al. Tamper detection and localization for categorical data using fragile watermarks
Fridrich Security of fragile authentication watermarks with localization
US8077911B2 (en) Methods, apparatus and programs for generating and utilizing content signatures
US20030070075A1 (en) Secure hybrid robust watermarking resistant against tampering and copy-attack
US20030190054A1 (en) Method and system for distributing digital content with embedded message
US20060045309A1 (en) Systems and methods for digital content security
Hong et al. An efficient reversible image authentication method using improved PVO and LSB substitution techniques
Raj et al. A survey on fragile watermarking based image authentication schemes
Ernawan et al. Three layer authentications with a spiral block mapping to prove authenticity in medical images
Zou et al. Formatted text document data hiding robust to printing, copying and scanning
Tzeng et al. A new technique for authentication of image/video for multimedia applications
JP3995153B2 (en) Digital watermark embedding method, verification method, embedding device, verification device, and electronic image
JP4652167B2 (en) Image processing apparatus, image processing method, and program
Chang et al. A sharing-based fragile watermarking method for authentication and self-recovery of image tampering
Pamboukian et al. Reversible data hiding and reversible authentication watermarking for binary images
US6963655B1 (en) Alteration detection apparatus and method thereof
Sun et al. A crypto signature scheme for image authentication over wireless channel
JP5182975B2 (en) A method of constructing an inner code for forensic codes to counter collusion to embed a digital watermark in digital content
CN113722680B (en) Picture copyright protection method, device, equipment and readable storage medium
KR100469999B1 (en) Authentication watermarking method and apparatus of binary still image using hash value of image
Wu Zero-distortion authentication watermarking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070601

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: 20070724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070726

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

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: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees