(57)【要約】【課題】カラーパレット画像に対する電子透かしの埋め込み側と検出側のパレット値の同期を容易にし，改竄の誤検出を低減し，改竄位置の特定を可能にする。【解決手段】画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む方法であって，カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階を含むことを特徴とする。カラーパレットデータに埋め込むカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込む情報と，１つのカラーパレットに埋め込む情報の２種類のアドレス情報を含んでいてもよい。また，エラーを検出するためのチェックビットをカラーパレットデータに埋め込む段階をさらに含んでいてもよい。【選択図】　図１
2004088565.tif 000002
【特許請求の範囲】
【請求項１】
画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む方法であって，
カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階を含むことを特徴とする，電子透かしの埋め込み方法。
【請求項２】
前記カラーパレットデータに埋め込むカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込む情報と，１つのカラーパレットに埋め込む情報の２種類のアドレス情報を含むことを特徴とする，請求項１に記載の電子透かしの埋め込み方法。
【請求項３】
エラーを検出するためのチェックビットを前記カラーパレットデータに埋め込む段階をさらに含むことを特徴とする，請求項１，または２のいずれか１項に記載の電子透かしの埋め込み方法。
【請求項４】
前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階の前に，前記カラーパレットのアドレス情報をスクランブルする段階をさらに含むことを特徴とする，請求項１，２，または３のうちのいずれか１項に記載の電子透かしの埋め込み方法。
【請求項５】
前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階の後に，前記カラーパレットを色の類似度に基づいて整列する段階をさらに含むことを特徴とする，請求項１，２，３，または４のうちのいずれか１項に記載の電子透かしの埋め込み方法。
【請求項６】
前記カラーパレットを色の類似度に基づいて整列する段階は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項５に記載の電子透かしの埋め込み方法。
【請求項７】
カラーパレット数情報を前記カラーパレットデータに埋め込む段階をさらに含むことを特徴とする，請求項１，２，３，４，５，または６のうちのいずれか１項に記載の電子透かしの埋め込み方法。
【請求項８】
電子透かしを埋め込んだ後に，前記カラーパレットをスクランブルする段階をさらに含むことを特徴とする，請求項１，２，３，４，５，６，または７のうちのいずれか１項に記載の電子透かしの埋め込み方法。
【請求項９】
前記カラーパレットをスクランブルする段階は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項８に記載の電子透かしの埋め込み方法。
【請求項１０】
前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階において，前記カラーパレットのアドレス情報は，前記カラーパレットデータの最下位ビット側に埋め込むことを特徴とする，請求項１，２，３，４，５，６，７，８，または９のうちのいずれか１項に記載の電子透かしの埋め込み方法。
【請求項１１】
画像データとカラーパレットデータとを含む電子画像の電子透かしを検証する方法であって，
カラーパレットデータに埋め込まれたカラーパレットのアドレス情報を抽出する段階と，
前記抽出されたカラーパレットのアドレス情報を整列する段階と，
前記整列されたカラーパレットのアドレス情報からエラーを検出する段階とを含むことを特徴とする，電子透かしの検証方法。
【請求項１２】
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込まれた情報と，１つのカラーパレットに埋め込まれた情報の２種類のアドレス情報を含むことを特徴とする，請求項１１に記載の電子透かしの検証方法。
【請求項１３】
エラーを検出するためのチェックビットを前記カラーパレットデータから抽出する段階と，
前記抽出したチェックビットからエラーを検出する段階をさらに含むことを特徴とする，請求項１１，または１２のいずれか１項に記載の電子透かしの検証方法。
【請求項１４】
スクランブルされたカラーパレットのアドレス情報をスクランブル解除する段階をさらに含むことを特徴とする，請求項１１，１２，または１３のうちのいずれか１項に記載の電子透かしの検証方法。
【請求項１５】
前記抽出されたカラーパレットのアドレス情報を整列する段階の後に，前記カラーパレットを色の類似度に基づいて整列する段階をさらに含むことを特徴とする，請求項１１，１２，１３，または１４のうちのいずれか１項に記載の電子透かしの検証方法。
【請求項１６】
前記カラーパレットを色の類似度に基づいて整列する段階は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項１５に記載の電子透かしの検証方法。
【請求項１７】
前記カラーパレットデータからカラーパレット数情報を抽出する段階をさらに含むことを特徴とする，請求項１１，１２，１３，１４，１５，または１６のうちのいずれか１項に記載の電子透かしの検証方法。
【請求項１８】
スクランブルされたカラーパレットをスクランブル解除する段階をさらに含むことを特徴とする，請求項１１，１２，１３，１４，１５，１６，または１７のうちのいずれか１項に記載の電子透かしの検証方法。
【請求項１９】
前記カラーパレットをスクランブル解除する段階は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項１８に記載の電子透かしの検証方法。
【請求項２０】
画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む装置であって，
カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む手段を有することを特徴とする，電子透かし埋め込み装置。
【請求項２１】
前記カラーパレットデータに埋め込むカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込む情報と，１つのカラーパレットに埋め込む情報の２種類のアドレス情報を含むことを特徴とする，請求項２０に記載の電子透かし埋め込み装置。
【請求項２２】
エラーを検出するためのチェックビットを前記カラーパレットデータに埋め込む手段をさらに有することを特徴とする，請求項２０，または２１のいずれか１項に記載の電子透かし埋め込み装置。
【請求項２３】
前記カラーパレットのアドレス情報をスクランブルする手段をさらに有することを特徴とする，請求項２０，２１，または２２のうちのいずれか１項に記載の電子透かし埋め込み装置。
【請求項２４】
前記カラーパレットを色の類似度に基づいて整列する手段をさらに有することを特徴とする，請求項２０，２１，２２，または２３のうちのいずれか１項に記載の電子透かし埋め込み装置。
【請求項２５】
前記カラーパレットを色の類似度に基づいて整列する手段は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項２４に記載の電子透かし埋め込み装置。
【請求項２６】
カラーパレット数情報を前記カラーパレットデータに埋め込む手段をさらに有することを特徴とする，請求項２０，２１，２２，２３，２４，または２５のうちのいずれか１項に記載の電子透かし埋め込み装置。
【請求項２７】
前記カラーパレットをスクランブルする手段をさらに有することを特徴とする，請求項２０，２１，２２，２３，２４，２５，または２６のうちのいずれか１項に記載の電子透かし埋め込み装置。
【請求項２８】
前記カラーパレットをスクランブルする手段は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項２７に記載の電子透かし埋め込み装置。
【請求項２９】
前記カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む手段において，前記カラーパレットのアドレス情報は，前記カラーパレットデータの最下位ビット側に埋め込むことを特徴とする，請求項２０，２１，２２，２３，２４，２５，２６，２７，または２８のうちのいずれか１項に記載の電子透かし埋め込み装置。
【請求項３０】
画像データとカラーパレットデータとを含む電子画像の電子透かしを検証する装置であって，
カラーパレットデータに埋め込まれたカラーパレットのアドレス情報を抽出する手段と，
前記抽出されたカラーパレットのアドレス情報を整列する手段と，
前記整列されたカラーパレットのアドレス情報からエラーを検出する手段とを有することを特徴とする，電子透かし検証装置。
【請求項３１】
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込まれた情報と，１つのカラーパレットに埋め込まれた情報の２種類のアドレス情報を有することを特徴とする，請求項３０に記載の電子透かし検証装置。
【請求項３２】
エラーを検出するためのチェックビットを前記カラーパレットデータから抽出する手段と，
前記抽出したチェックビットからエラーを検出する手段をさらに有することを特徴とする，請求項３０，または３１のいずれか１項に記載の電子透かし検証装置。
【請求項３３】
スクランブルされたカラーパレットのアドレス情報をスクランブル解除する手段をさらに有することを特徴とする，請求項３０，３１，または３２のうちのいずれか１項に記載の電子透かし検証装置。
【請求項３４】
前記カラーパレットを色の類似度に基づいて整列する手段をさらに有することを特徴とする，請求項３０，３１，３２，または３３のうちのいずれか１項に記載の電子透かし検証装置。
【請求項３５】
前記カラーパレットを色の類似度に基づいて整列する手段は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項３４に記載の電子透かし検証装置。
【請求項３６】
前記カラーパレットデータからカラーパレット数情報を抽出する手段をさらに有することを特徴とする，請求項３０，３１，３２，３３，３４，または３５のうちのいずれか１項に記載の電子透かし検証装置。
【請求項３７】
スクランブルされたカラーパレットをスクランブル解除する手段をさらに有することを特徴とする，請求項３０，３１，３２，３３，３４，３５，または３６のうちのいずれか１項に記載の電子透かし検証装置。
【請求項３８】
前記カラーパレットをスクランブル解除する手段は，前記アドレス情報が一巡する範囲内で行うことを特徴とする，請求項３７に記載の電子透かし検証装置。
【請求項３９】
画像データとパレットデータとを含む電子画像であって，パレットのアドレス情報が前記パレットデータに埋め込まれたことを特徴とする電子画像。
【請求項４０】
前記カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込まれた情報と，１つのカラーパレットに埋め込まれた情報の２種類のアドレス情報を含むことを特徴とする，請求項３９に記載の電子画像。
【請求項４１】
エラーを検出するためのチェックビットが前記カラーパレットデータに埋め込まれたことを特徴とする，請求項３９，または４０のいずれか１項に記載の電子画像。
【請求項４２】
カラーパレット数情報が前記カラーパレットデータに埋め込まれたことを特徴とする，請求項３９，４０，または４１のうちのいずれか１項に記載の電子画像。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は，画像データとカラーパレットデータとを含む電子画像への電子透かしの埋め込み方法，検証方法，電子透かしの埋め込み装置，検証装置，及び，電子画像に関する。
【０００２】
【従来の技術】
電子画像の違法な複製を防止するために，画像情報そのものの中に視覚的にはわからない程度に加工を加えて認証コードや著作権などの情報を埋め込む，電子透かし技術が開発されている。電子透かしはコンテンツ自身に統合され，記憶容量が増えることもなく，画像の改竄，違法な複製，不正転送などを防止できる。
【０００３】
電子画像の一つであるカラーパレット画像は，電子透かしを埋め込むことができるデジタル情報の一つである。カラーパレット画像には，大きく分けて２種類のデータが含まれている。１つは色を定義する「パレットデータ」であり，もう１つは，カラーパレットのインデックス値を示す「画像データ」である。そして，画像の各ピクセル（画素）の色は，画像データの値の指すカラーパレットの色である。
【０００４】
１つのカラーパレットは１つの色に対応してこの色を表す。通常，カラーパレットは，画像に出現する色の数以上存在し，インデックス数８ビット（ｂｉｔ）の画像は，最大２５６（２８）個のパレットをもつ。例えば，Ｍｉｃｒｏｓｏｆｔ社のＯＳ；Ｗｉｎｄｏｗｓ（登録商標）用のＢｉｔｍａｐファイルの場合，カラーパレットはＲ，Ｇ，Ｂそれぞれ８ビットで構成されている。
【０００５】
画像データは，各ピクセル単位のカラーパレットへのインデックス値であり，画像のピクセル数分，カラーパレットへのインデックスをもつ。通常，８ビット画像で画像データの値が「０」のピクセルは，一番先頭のパレットの色をもち，画像データの値が「２５５」のピクセルは，最後（２５６番目）のパレットの色をもつ。
【０００６】
従来のカラーパレット（以下，単に「パレット」という場合があるが，本明細書では同義で用いる）画像用改竄検出電子透かし（例えば，特表平１１−５０１１７３号公報，「ビットマップに対する改竄検出電子透かし」など）では，画像の改竄を検出するために，画像データに電子署名等を埋め込んでいた。この技術によれば，画像データに電子署名等を埋め込んだ後に，パレットの順や数が変更されても，正しく埋め込んだデータを取得できるようにパレットのソート等も行っていた。
【０００７】
上記従来技術による電子透かしの埋め込み側で電子署名を生成する方法の一例は，次のように実施される。まず，パレットをあるルール，例えば，輝度順に基づいてソートする。次に，画像の色が変わらないように，パレットのインデックス値の変更を，画像データにも反映する。次に，画像データのＬＳＢ（ｌｅａｓｔ　ｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ；最下位ビット）に，電子署名などのデータを埋め込む。そして，パレットデータと画像データを埋め込んだ部分以外から，電子署名を生成する。
【０００８】
そして，改竄等を検出するための電子透かしの検証手段の一例は，次のように実施される。まず，パレットを，埋め込み側と同じルールでソートする。次に，パレットのインデックス値の変更を，画像データにも反映する。そして，画像データのＬＳＢから電子署名などのデータを取り出し，検証する。このようにして電子画像の改竄等が検出される。
【０００９】
【発明が解決しようとする課題】
しかし，上記従来の方法では，次のような場合に埋め込み側と検証側とで同じパレットデータ（パレット順）が再現（復元）できなくなる。
・未使用パレットが追加または削除された場合（画像の見た目は変化しない）。・重複したパレットが追加または削除された場合（画像の見た目は変化しない）。
・改竄によってパレットが未使用となり，最適化の際に削除された場合。
【００１０】
上記の場合のように，埋め込み側と検証側とで同じパレットデータが再現できなければ，パレットのインデックス値の集合である画像データも再現できなくなる。例えば，あるパレットの位置が変わってインデックス値が変わると，そのパレットを使用していたすべてのピクセルのインデックス値を変更しなければ，画像が変化してしまう。そして，実際の画像の見た目が変化しなくても，全体が改竄と誤検出される。また，改竄時にパレットが増減すると，画像全体が改竄と誤検出され，改竄位置の特定ができなくなってしまう。
【００１１】
また，埋め込み時と検証時に未使用パレットや重複パレットを削除したとしても，以下のような場合には，全体が改竄として誤って判断されてしまう。
・改竄によってパレットが未使用になると，改竄検出時に未使用パレットとして削除され，パレットの位置が不明になる（画像全体が改竄として検出される）。・パレット値を１個でも変更すると，ソート時にパレット順が変化する（画像全体が改竄と検出される）。
【００１２】
このように，従来のカラーパレット画像用の改竄検出電子透かし技術では，改竄やパレット操作があった場合に，埋め込み側と検出側のパレット値の同期が壊れ，埋め込んだ透かしデータを取り出せなくなる問題があった。
【００１３】
そこで本発明では，個々のパレットデータ自体にアドレス情報を持たせることで，埋め込み側と検出側のパレット値の同期が容易になるようにして，改竄の誤検出を低減し，改竄位置の特定を可能とする電子画像処理技術を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するための本発明の電子透かしの埋め込み方法は，画像データとカラーパレットデータとを含む電子画像へ電子透かしを埋め込む方法であって，カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階を含むことを特徴とする。このような構成により，カラーパレットが変更された場合でも，変更されたカラーパレット以外は，署名生成時のパレット順に復元することができ，改竄の誤検出を低減し，改竄位置の特定の精度を向上させることができる。
【００１５】
カラーパレットデータに埋め込むカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込む情報と，１つのカラーパレットに埋め込む情報の２種類のアドレス情報を含んでいてもよい。このような構成により，カラーパレットの位置をより詳細に特定することができる。また，カラーパレットが重複した場合に，正しいカラーパレットを選ぶことができる。
【００１６】
本発明の電子透かしの埋め込み方法は，上記いずれかの構成でさらに，エラーを検出するためのチェックビットをカラーパレットデータに埋め込む段階をさらに含んでいてもよい。チェックビットを使用することにより，正しくないカラーパレットを高い精度で知ることができ，改竄検出精度が向上する。
【００１７】
本発明の電子透かしの埋め込み方法は，上記いずれかの構成でさらに，カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階の前に，カラーパレットのアドレス情報をスクランブルする段階をさらに含んでいてもよい。カラーパレットに埋め込むデータをスクランブルすることで，カラーパレットを偽造される可能性が低減できる。また，カラーパレットの埋め込みに使用していない部分を鍵とすることで，スクランブル／デスクランブル用に鍵を用意する必要が無くなる。
【００１８】
本発明の電子透かしの埋め込み方法は，上記いずれかの構成でさらに，カラーパレットのアドレス情報をカラーパレットデータに埋め込む段階の後に，カラーパレットを色の類似度に基づいて整列する段階をさらに含んでいてもよい。このようにすれば，カラーパレットのアドレス情報によってカラーパレットは完全に復元でき，しかも，隣接する色が非常に近い色となり，埋め込み品質が劣化しない。なお，カラーパレットを色の類似度に基づいて整列する段階は，アドレス情報が一巡する範囲内で行うことが望ましい。
【００１９】
本発明の電子透かしの埋め込み方法は，上記いずれかの構成でさらに，カラーパレット数情報をカラーパレットデータに埋め込む段階をさらに含んでいてもよい。カラーパレット数情報をカラーパレットデータに埋め込むことにより，カラーパレットの改竄検出をより正確に行うことができる。また，カラーパレットの追加や削除があった場合に，より正確に追加や削除を検出することができる。
【００２０】
なお，カラーパレットのアドレス情報を前記カラーパレットデータに埋め込む段階におけるアドレス情報は，カラーパレットデータの最下位ビット側に埋め込むことが望ましい。電子透かし埋め込み後の画像の変化を低減できるからである。なお，「最下位ビット側」とは，ＬＳＢの１ビット，またはこれに続く複数のビットをいう。
【００２１】
また，上記目的を達成するための本発明の電子透かしの検証方法は，画像データとカラーパレットデータとを含む電子画像の電子透かしを検証する方法であって，カラーパレットデータに埋め込まれたカラーパレットのアドレス情報を抽出する段階と，抽出されたカラーパレットのアドレス情報を整列する段階と，整列されたカラーパレットのアドレス情報からエラーを検出する段階とを含むことを特徴とする。
【００２２】
カラーパレットデータに埋め込まれたカラーパレットのアドレス情報は，複数のカラーパレットに分割して埋め込まれた情報と，１つのカラーパレットに埋め込まれた情報の２種類のアドレス情報を含んでいてもよい。また，エラーを検出するためのチェックビットをカラーパレットデータから抽出する段階と，抽出したチェックビットからエラーを検出する段階をさらに含んでいてもよい。また，スクランブルされたカラーパレットのアドレス情報をスクランブル解除する段階をさらに含んでいてもよい。また，抽出されたカラーパレットのアドレス情報を整列する段階の後に，カラーパレットを色の類似度に基づいて整列する段階をさらに含んでいてもよい。なお，カラーパレットを色の類似度に基づいて整列する段階は，アドレス情報が一巡する範囲内で行うことが望ましい。また，カラーパレットデータからカラーパレット数情報を抽出する段階をさらに含んでいてもよい。
【００２３】
また，上記目的を達成するための本発明の電子透かし埋め込み装置は，上記いずれかの本発明の電子透かしの埋め込み方法を動作可能とした装置であり，上記目的を達成するための本発明の電子透かし検出装置は，上記いずれかの本発明の電子透かしの検出方法を動作可能とした装置である。
【００２４】
また，上記目的を達成するための本発明の電子画像は，画像データとパレットデータとを含む電子画像であって，パレットのアドレス情報がパレットデータに埋め込まれたことを特徴とする。なお，本発明における電子画像は，有色のカラーに限定されず，単一の有色の濃淡で構成される画像や，モロクロトーンの画像であっても良い。
【００２５】
【発明の実施の形態】
以下に，本発明のいくつかの実施の形態を，図面を用いて説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００２６】
（第１の実施の形態）
図１は，本発明の第１の実施の形態の，署名生成側（電子透かし埋め込み側）の構成を説明するブロック図である。本発明の第１の実施の形態の署名生成側の構成は，画像のパレットデータを入力するためのパレットデータ入力端子（１）と，パレットデータ入力端子（１）から入力されたパレットデータに対してソートを行うパレットソート手段（１００）と，ソートされたパレットデータに対してアドレスを埋め込むパレットアドレス埋め込み手段（１０１）と，アドレスが埋め込まれたパレットデータを出力するパレットデータ出力端子（３）と，画像データを入力する画像データ入力端子（２）と，画像データ入力端子（２）から入力された画像データに対して，パレットソート手段（１００）から得られる置換情報を基に画像データを置換する置換手段（１０２）と，置換後の画像データを出力する画像データ出力端子（４）とを含んで構成される。
【００２７】
まず，カラーパレット画像のパレットデータをパレットデータ入力端子（１）へ，画像データを画像データ入力端子（２）へ入力する。パレットソート手段（１００）は，入力されたパレットデータに対して，ソートを行う。
【００２８】
パレットソート手段（１００）におけるソートは，例えば，パレットデータのＲＧＢ値の大小順や，パレットデータの輝度値の大小順などで行う。このパレットソートの際に，重複するパレットや，未使用のパレットが見つかった場合は，削除してもよい。
【００２９】
次に，パレットソート手段（１００）は，ソート前のインデックス値（パレット先頭からの順番）から，ソート後のインデックス値に変換するテーブルを生成し，置換手段（１０２）へ出力する。
【００３０】
置換手段（１０２）は，画像データ入力端子（２）から入力された画像データに対し，パレットソート手段（１００）から得られる置換テーブルを使用して，値を置換する。すべての値を置換した後，画像データ出力端子（４）へ出力する。
【００３１】
パレットアドレス埋め込み手段（１０１）は，パレットデータのＬＳＢ（ｌｅａｓｔ　ｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ；最下位ビット）にパレットのアドレス情報を書き込む。カラーパレットのデータに，カラーパレットが追加／削除されても，元のインデックス位置に復元できるようにアドレス情報を書き込む。アドレス情報は，カラーパレットのＲＧＢ値のＬＳＢ側に書き込む。書き込みによってパレットの色が多少変化するが，人間の目には知覚できない程度の変更である。
【００３２】
図２は，パレットデータにアドレス情報を埋め込む方法を説明する概念図である。図中のＭＳＢは，最上位ビット（Ｍｏｓｔ　ｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ）である。例えば，ＲＧＢそれぞれが８ビットで構成されるパレットデータの場合，ＲのＬＳＢの１ビット，ＧのＬＳＢの１ビット，ＢのＬＳＢとその次のビットの２ビットの計４ビットを，アドレス情報を書き込む領域として使用する。４ビットを使用する場合は，アドレス情報として４ビットの空間ができることになり，０〜１５までの１６種（２４）の値を，それぞれのパレットデータに書き込むことができる。また，この４ビットは，パレットデータのＬＳＢ側，即ち，人間の目にはほとんど知覚できない部分に埋め込まれるため，アドレス情報を埋め込んだ後も人間の目にはほとんど知覚できない。
【００３３】
この場合，パレットデータの先頭から順にアドレス情報を，
０，１，２，３，・・・，１５，０，１，２，３，・・・
と，０〜１５の間の数の昇順の繰り返しで書き込むことができる。アドレス情報の書き込む順はこの例に限られず，例えば，埋め込み側と検出側で同じ値が生成できる方法によってランダマイズしてもよい。
【００３４】
アドレス情報は，
０，０，１，１，２，２，・・・，１５，１５，０，０，１，１，２，２，・・・
のように，同じアドレス情報を持ったパレットデータを複数個（この場合は２個）ずつ連続させてもよい。この例の場合，隣接するパレットで同じアドレス情報をもつパレットは，復元するための規則性を必ず持たせなければならない。規則性とは，例えば，２個連続する場合，先頭のパレットの輝度値が後ろのパレットの輝度値よりも低い値とする，などである。この規則によれば，アドレス情報によるソートの後，２個連続しているパレットを輝度値で並べ替えれば，パレットの順序が再現できる。このように，同一アドレス情報をもつ隣接パレットの範囲内でのソートを，以下，「ローカルソート」という。
【００３５】
この同じパレットデータをもつパレットのソートの規則は，パレット全体のソートの規則と異なってもよい。パレット全体のソートを，以下，「グローバルソート」という。例えば，グローバルソートは輝度値を基準に行い，ローカルソートはＲ，Ｇ，Ｂ値の絶対和を基準に行ってもよい。
【００３６】
アドレス情報埋め込み後のパレットデータは，埋め込み前後で，Ｒ，Ｇで最大１異なり，Ｂで最大３異なる。アドレス情報を２ビット埋め込むＢについては，値が「０」や「２５５」などのエッジでなければ，値を「１」加減算することで，埋め込み前後の値の違いを２以下に抑えることができる。ただし，加減算により３ビット目が変更となり，ソート順が変更になる場合は，３ビット目を変更してはならない。
【００３７】
また，アドレス情報を埋め込む部分以外が等しい場合は，重複パレットとして削除してもよい。この場合，画像データ内の削除対象のインデックス値を，削除されないインデックス値に置換しなければならない。この処理は，パレットソート手段（１００）にてソートの際に，パレットのアドレス情報を埋め込む部分をゼロクリアした場合に重複するパレットを，重複パレットとして削除してもよい。
【００３８】
画像データのＬＳＢのみにデータを埋め込み，それを取り出すだけの場合は，パレットのインデックス値が偶数（ＬＳＢ＝０）か奇数（ＬＳＢ＝１）かを判定するだけでよいので，アドレス情報は，Ｒ，Ｇ，Ｂの中から１ビットだけを使用すれば十分である。
【００３９】
以上はＲＧＢ空間における埋め込み方法の一例であるが，埋め込むパレットは，ＲＧＢ以外の色空間上にて変化の微小な領域に埋め込んでもよい。また，色空間を変換してから埋め込み，埋め込み後，元の色空間に戻してもよい。例えば，ＲＧＢ空間からＹＣｂＣｒ色空間への可逆変換として，以下の変換を使用することができる。
【００４０】
ＲＧＢ空間からＹＣｂＣｒ色空間への変換；
Ｙ＝ｆｌｏｏｒ（（Ｒ＋２Ｇ＋Ｂ）／４）
Ｃｂ＝Ｂ−Ｇ
Ｃｒ＝Ｒ−Ｇ
【００４１】
ＹＣｂＣｒ色空間からＲＧＢ空間への変換；
Ｇ＝Ｙ−ｆｌｏｏｒ（Ｃｂ＋Ｃｒ／４）
Ｒ＝Ｃｒ＋Ｇ
Ｂ＝Ｃｂ＋Ｇ
但し，ｆｌｏｏｒ（ｘ）は，ｘを超えない最大の整数を示す。
【００４２】
図３は，ＲＧＢ各８ビットのパレットデータに，ＹＣｂＣｒ色空間の５ビットのアドレス情報を埋め込む方法を説明する概念図である。ＹのＬＳＢの１ビット，ＣｂのＬＳＢとその次の２ビット，ＣｒのＬＳＢとその次のビットの２ビットの計５ビットを，アドレス情報を書き込む領域として使用する。５ビットを使用する場合は，アドレス情報として５ビットの空間ができることになり，０〜３１までの３２種（２５）の値を，それぞれのパレットデータに書き込むことができる。また，この５ビットは，パレットデータのＬＳＢ側，即ち，人間の目にはほとんど知覚できない部分に埋め込まれるため，アドレス情報を埋め込んだ後も人間の目にはほとんど知覚できない。
【００４３】
アドレスを埋め込んだ後のパレットデータは，パレットデータ出力端子（３）から出力される。
【００４４】
図４は，本発明の第１の実施の形態の，署名検証側の構成を説明するブロック図である。署名生成側の構成は，画像のパレットデータを入力するためのパレットデータ入力端子（５）と，パレットデータ入力端子（５）から入力されたパレットデータに対してソートを行うパレットソート手段（１１０）と，ソートしたパレットデータを出力するパレットデータ出力端子（７）と，画像データを入力する画像データ入力端子（６）と，画像データ入力端子（６）から入力された画像データに対して，パレットソート手段（１１０）から得られる置換情報を基に画像データを置換する置換手段（１１１）と，置換後の画像データを出力する画像データ出力端子（８）とを有する。
【００４５】
電子透かし検出用パレットソート方法は，以下のように実施される。図５は，署名検証（電子透かしの検証）時のパレットソートの手順を示すフロー図である。また，図６は，署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【００４６】
パレットソート手段（１１０）は，入力されたパレットデータをソートし，パレットのインデックス値の変更を画像データに対して行うための置換テーブルを生成する。次に，ソート前のパレットインデックス値から，ソート後のインデックス値へ変換する変換テーブルを作成し，置換手段（１１１）へ渡す。置換手段（１１１）は，ソート手段（１１０）から渡された置換テーブルを用いて画像データの置換を行い，画像データ出力端子（８）から出力する（図４）。
【００４７】
パレットデータのソートは，まず，Ｓ０１で，アドレス情報を埋め込んだ部分以外の埋め込みに使っていないデータを用いてソートを行う（図５のＳ０１）。ソートは，埋め込み側と同様，パレットのＲＧＢ値の大小順や，パレットの輝度値の大小順で行う。図５では大小順にソートを行う例を示している。
【００４８】
次に，Ｓ０２で，パレットデータからアドレス情報を読み出し，検証する（Ｓ０２）。ここで，アドレス情報が連続しているか，アドレス情報の指す位置にパレットが正しく位置しているかをチェックする。次に，Ｓ０３で，パレットの整形を行う（Ｓ０３）。パレットの整形では，アドレス情報が飛んでいる場合は空きパレットを挿入する。また，アドレス情報が重複している場合は，重複パレットを削除する。そしてＳ０４で，画像データを置換する（Ｓ０４）。
【００４９】
アドレス情報の読み出しは，埋め込み側でアドレス情報を埋め込んだ部分から行う。例えば，先の埋め込みの例で，Ｒ，Ｇの各ＬＳＢの１ビット，ＢのＬＳＢとその次の２ビットに対してアドレス情報を埋め込んだ場合は，これら４ビットを結合してアドレス情報としてもよい。
【００５０】
また，埋め込み側と同様，ＲＧＢ以外に，他の色空間で表現されるパレットから，アドレス情報を取り出してもよい。また，他の色空間に変換してからアドレス情報を取り出してもよい。
【００５１】
４ビットのアドレス情報の場合，保持できる値は０〜１５となる。８ビットの画像ですべてのパレットが使用されている場合，パレットは２５６個存在する。このため，一つのアドレス情報の指すパレットのインデックス値は１６個存在する。しかし，パレットは，アドレス情報以外の部分の大小関係や輝度順でソートされているため，パレットが改竄されていなければ，正しいインデックス値に容易に復元できる。
【００５２】
パレットデータが改竄されている場合に，パレットデータのアドレス情報を検証すると，アドレス情報が飛んでいる部分や，アドレス情報が重複している部分が存在する場合がある。アドレス情報が飛んでいる部分は，そこを未使用として空けておき，アドレス情報の示す位置にきちんとパレットを配置する。重複する場合は，どちらのパレットも同一インデックス値をもつとして，同じパレットに統合してもよい。また，片方のパレットを他の空いているインデックス値に割り振ってもよい。
【００５３】
このようにして，パレットがどれだけ改竄されていても，強制的に整列することができる。アドレス情報は，アドレス情報が一巡する範囲内でのローカルな位置を示していることから，それぞれのパレットは，どこかの位置へ配置することが可能である。複数のパレットが同一のパレットのアドレスを指す場合は，パレットを統合してもよい。また，この場合パレットに空きが生じるが，輝度などのソートを行った順に，空きパレットに重複パレットを割り当ててもよい。
【００５４】
また，重複アドレス情報を持ったパレットや，空きパレット，アドレス情報の不連続などが頻出する場合は，エラーとしてもよいし，「パレットの改竄を検出した」，「パレットに電子透かしが埋め込まれていない」，などとユーザに通知してもよい。エラーの判定は，例えば，以下のような基準を用いて行うことができる。
【００５５】
エラーの基準の例；
１）パレットをソートした結果，６０％以上のパレットがアドレス情報順に並んでいない場合。
２）パレットをソートした結果，連続してアドレス情報順に不連続なパレットが出現する場合。
３）パレットをソートした結果，パレットアドレスが一巡する範囲内で，同一のアドレス情報をもつパレットが４個以上ある場合。
４）パレットをソートし，アドレス情報によつてパレットを移動した結果，空きパレットが４個以上できた場合。
【００５６】
また，埋め込み側で，隣接するパレットに同じアドレス情報を埋め込んでいる場合は，同じアドレスをもつパレットの範囲内で，埋め込み側と同様にローカルソートを行う。図７は，隣接するパレットに同じアドレス情報を埋め込んでいる場合の署名検証（電子透かしの検証）時のパレットソートの手順を示すフロー図である。
【００５７】
パレットデータのソートは，まず，Ｓ１１で，アドレス情報を埋め込んだ部分以外の埋め込みに使っていないデータを用いてグローバルソートを行う（図７のＳ１１）。グローバルソートは，埋め込み側と同様，パレットのＲＧＢ値の大小順や，パレットの輝度値の大小順で行う。図７では大小順にソートを行う例を示している。
【００５８】
次に，Ｓ１２で，パレットデータからアドレス情報を読み出し，検証する（Ｓ１２）。ここで，アドレス情報が連続しているか，アドレス情報の指す位置にパレットが正しく位置しているかをチェックする。次に，Ｓ１３で，同一アドレスを持つ隣接パレット内で，ローカルソートを行う（Ｓ１３）。次に，Ｓ１４で，パレットの整形を行う（Ｓ１４）。パレットの整形では，アドレス情報が飛んでいる場合は空きパレットを挿入する。また，アドレス情報が重複している場合は，重複パレットを削除する。そしてＳ１５で，画像データを置換する（Ｓ１５）。
【００５９】
次に，電子透かし埋め込み方法への適用例を示す。図８は，第１の実施の形態の，電子透かし埋め込み方法への一つの適用例の構成を説明するブロック図である。署名生成手段（１０３）は，パレットアドレス埋め込み手段（１０１）から出力されるパレットデータと，置換手段（１０２）から出力される画像データの電子署名を生成する（図８）。電子署名の生成は，例えば，ＳＨＡ１やＭＤ５などのハッシュ演算によってハッシュ値を計算し，ＲＳＡ公開鍵暗号方式を用いて，暗号化したデータを電子署名とすることができる。また署名は，画像をＭ×Ｎピクセルの小領域に区切り，小領域単位で生成してもよい。この場合，画像の改竄をその小領域単位で検出可能となる。
【００６０】
埋め込み手段（１０４）は，署名生成手段（１０３）からの出力である電子署名を，画像データに対して埋め込む。埋め込みは，例えば画像データのＬＳＢ１ビットの一部を，電子署名データと入れ替えるといった方法を用いることができる。また，その際に，埋め込み側と検証側とで共通の鍵を用い，同期可能な疑似ランダム系列を用いて埋め込み位置やデータをランダマイズしてもよい。
【００６１】
パレットスクランブル手段（１０５）は，パレットデータに対してスクランブルを行う。スクランブルは，埋め込み側と検証側とで同期可能な疑似ランダム系列によって，２つのパレット値を選択し置換する方法などが採用できる。また，スクランブルすることにより，パレットが操作されたことをユーザにわかりにくくすることができる。
【００６２】
置換手段（１０６）では，スクランブルによって置換されたパレットデータと同様に，画像データの値を置換する。画像データの値は，パレットデータへのインデックス値となっているため，パレットデータをスクランブルする場合にそれと同期して画像データを置換することで，画像の見た目をスクランブルする前後で同じにすることができる。
【００６３】
図９は，第１の実施の形態の，電子透かし埋め込み方法への他の適用例の構成を説明するブロック図である。電子透かしの埋め込み方法によっては，埋め込みの際にパレットデータを増加させるものがある。このタイプの電子透かしにも，パレットアドレス埋め込み手段（１０１）へパレットデータを渡す前に，パレット追加手段（１２０）でパレットを増やせば，先の適用例（図８）と同様に適用できる（図９）。
【００６４】
次に，電子透かし検出方法への適用例を示す。図１０は，第１の実施の形態の，電子透かし検出方法への一つの適用例の構成を説明するブロック図である。署名生成手段（１１２）は，パレットソート手段（１１０）から出力されるパレットデータと，置換手段（１１１）から出力される画像データに対して，電子署名を生成する（図１０）。電子署名の生成は，埋め込み側と同様に，例えば，ＳＨＡ１やＭＤ５などのハッシュ演算によってハッシュ値を計算してもよい。ただし，ＲＳＡ公開鍵暗号方式を用いて暗号化する必要はない。また，署名は，画像をＭ×Ｎピクセルの小領域に区切り，小領域単位で生成してもよい。この場合，画像の改竄をこの小領域単位で検出可能となる。
【００６５】
署名抽出手段（ｌ１３）は，埋め込み側によって埋め込まれた著名データを抽出する。抽出したデータがＲＳＡ等で暗号化されているときは暗号を解読し，暗号化前のデータにして出力する。
【００６６】
比較手段（１１４）は，署名抽出手段（１１３）から得られる電子署名と，署名生成手段（１１２）から得られる電子署名を比較する。比較結果が一致すれば，改竄なし，一致しなければ改竄ありとする。
【００６７】
図１１は，第１の実施の形態の，電子透かし検出方法への他の適用例の構成を説明するブロック図である。この適用例では，先の適用例（図１０）に対し，パレットソート手段（１１０）の代わりに，スクランブル解除手段（３００）を用いている（図１１）。これは，パレットスクランブル手段（１０５）の逆処理となり，スクランブル手段（１０５）でスクランブルしたパレットを元に戻す。また，このスクランブルの範囲を，アドレス情報が一巡する範囲内（例えば，４ビットアドレスであればアドレスが０から１５まで一巡する範囲内，あるいは，０〜７，８〜１５のそれぞれの範囲内など）とすることができる。
【００６８】
また，埋め込み側で，アドレス情報の付与／埋め込みを，スクランブル手段の後に行ってもよい。この場合，アドレス情報を見えにくくするために，アドレス情報が一巡する範囲内で再度スクランブルしてもよい。検証側では，スクランブル解除手段（３００）の前にアドレス情報のみによるパレットソートをアドレス情報が一巡する範囲内で行った後に，スクランブルを解除する。これによって生成したパレットデータは，パレットデータの並べ替えに対して弱くなるが，一般的な画像処理プログラムは，意図せずにパレットデータの整列を自動で行うものは少ない。
【００６９】
署名データを画像データから生成する場合や，画像データのＬＳＢにデータを埋め込んでいる場合は，パレット順の復元は必須となる。しかし，改竄時に発生するパレットの追加／削除やパレット位置の変更などにより，元と同じインデックス位置に個々のパレットを復元することが難しかった。しかし，上記した本発明の第１の実施の形態によれば，パレットが変更された場合でも，変更されたパレット以外は署名生成時のパレット順に復元することができ，改竄の誤検出を低減し，改竄位置の特定精度を向上させることができる。
【００７０】
（第２の実施の形態）
次に，本発明の第２の実施の形態について説明する。第１の実施の形態ではアドレス情報を１種類しか用いていなかったが，第２の実施の形態では，２種類のアドレス情報を用いる。図１２は，第２の実施の形態において，アドレス情報生成処理を説明する概念図である。例えば，アドレス情報を４ビットとし，このうちの３ビットをローカルアドレス情報，１ビットをグロ−バルアドレス情報と定義する。
【００７１】
ローカルアドレス情報は，３ビットの場合，０〜７の８種（２３）の値をとることができる。例えば，先頭のパレットから順番に，
０，１，２，３，・・・，７，０，１，・・・
としてもよいし，順番をランダマイズしてもよい。
【００７２】
グローバルアドレス情報は，複数のパレットデータのグローバルアドレス情報を連結することで，アドレス値となる。この例では，１パレットデータ内のグローバルアドレス情報が１ビットであるため，例えば，４つのパレットデータを一組とし，これに１つのグローバルアドレスを付与すれば，グローバルアドレスは４ビットで表現可能な値をとることができる。そして，それぞれのパレットの組に対して，グローバルアドレスを割り振る。
【００７３】
ローカルアドレスとグローバルアドレスは，図１２に示すように，第１の実施の形態と同様，パレットデータのＬＳＢ側へ埋め込む。その他の動作は，第１の実施の形態と同様である。
【００７４】
次に，第２の実施の形態の，署名検出方法を説明する。図１３は，第２の実施の形態の，署名検証（電子透かしの検証）時のパレットソートの手順を示すフロー図であり，図１４は，第２の実施の形態の，署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【００７５】
第２の実施の形態では，パレットデータのソートは，第１の実施の形態と同様に行う。まず，Ｓ２１で，アドレス情報を埋め込んだ部分以外の埋め込みに使っていないデータを用いてソートを行う（図１３のＳ２１）。ソートは，埋め込み側と同様，パレットのＲＧＢ値の大小順や，パレットの輝度値の大小順で行う。図１３では大小順にソートを行う例を示している。
【００７６】
次に，Ｓ２２で，パレットデータからアドレス情報を読み出し，検証する（Ｓ２２）。アドレス情報の読み出しは，各パレットのＬＳＢ側から，ローカルアドレス情報とグローバルアドレス情報とを読み出す。そして，アドレス情報が連続しているか，アドレス情報の指す位置にパレットが正しく位置しているかをチェックする。ここでは，グローバルアドレスを割り振った時と同じルールでグローバルアドレスの正解値を生成し，各パレットのグローバルアドレス用ビットと，正解のグローバルアドレスとを各ビット単位に比較し，グローバルアドレスが不一致だったパレットは，正しくないパレットとする（図１４）。
【００７７】
次に，Ｓ２３で，第１の実施の形態のアドレス情報と同様のルールをローカルアドレス情報に適用し，パレットの位置を整列する（Ｓ２３）。パレットの整形では，グローバルアドレスが正しくないパレットを破棄する。同じ位置に重複するようなパレットは，グローバルアドレスによって正しいパレットを選択し，重複パレットを削除する。正しくないパレットは，空いているパレットに割り振ってもよい。重複するものがなければ破棄しなくても構わない。また，アドレス情報が飛んでいる場合は，空きパレットを挿入する。そしてＳ２４で，画像データを置換する（Ｓ２４）（図１３）。その他の動作は，第１の実施の形態と同様である。
【００７８】
以上示したように，第２の実施の形態によれば，グローバルアドレス情報により大域的なアドレス情報を保持することが可能になり，パレットデータの位置を詳細に特定することができる。また，グローバルアドレスの一致／不一致を分類することにより，パレットデータが重複した場合に，正しいパレットデータを選択することができる。
【００７９】
（第３の実施の形態）
次に，本発明の第３の実施の形態について説明する。第１の実施の形態ではアドレス情報しか用いていなかったが，第３の実施の形態では，アドレス情報の他に，パレットデータの真正性を示すチェックビットを用いる。図１５は，本発明の第３の実施の形態の，パレットデータにアドレス情報等を埋め込む方法を説明する概念図であり，図１６は，第３の実施の形態の，署名検証時のアドレス情報等の抽出処理手順を示す説明図である。
【００８０】
例えば，個々のパレットデータに４ビットの情報を埋め込むとすると，４ビットのうちの２ビットをアドレス情報とし，残り２ビットをチェックビットとして使用する。チェックビットは，データをビット単位でＸＯＲ（排他的論理和）演算したものや，ＣＲＣ（巡回冗長検査；Ｃｙｃｌｉｃ　Ｒｅｄｕｎｄａｎｃｙ　Ｃｈｅｃｋ），ハミング符号（Ｈａｍｍｉｎｇ　ｃｏｄｅ）などを用いてもよく，特に限定されない。チェックビットは，アドレス情報と，パレットデータを埋め込まない部分のデータから生成する。
【００８１】
そして，ローカルアドレス情報とチェックビット情報とを合わせたものを，第１の実施の形態と同様に，個々のパレットデータに埋め込む（図１５参照）。その他の動作は，第１の実施の形態と同様である。
【００８２】
次に，第３の実施の形態の，電子透かし検出方法を説明する。第１の実施の形態と同様に，埋め込みに使用しない部分のパレットデータの大小関係等によって，パレットをソートする。そして，各パレットデータのＬＳＢ側から，アドレス情報とチェックビットとを取り出す。
【００８３】
そして，各パレットのチェックビットを使用して，アドレス情報とパレットデータの埋め込みに使用していない部分を検証する。そして，第１の実施の形態のアドレス情報と同様のルールを適用して，パレットの位置を整列する。同じ位置に重複するようなパレットは，チェックビットによって正しいパレットを選択する。正しくないパレットは，空いているパレットに割り振ってもよい（図１６参照）。その他の動作は，第１の実施の形態と同様である。
【００８４】
以上示したように，第３の実施の形態によれば，チェックビットを使用することにより，高い精度で正しくないパレットを知ることができる。そしてその結果，改竄検出精度が向上する。
【００８５】
（第４の実施の形態）
次に，本発明の第４の実施の形態について説明する。第１〜第３の実施の形態ではアドレス情報等をそのままの形で埋め込んでいたが，第４の実施の形態では，これらのデータにスクランブルをかける。
【００８６】
図１７は，本発明の第４の実施の形態の，パレットデータにアドレス情報を埋め込む方法を説明する概念図であり，図１８は，本発明の第４の実施の形態の，パレットデータにアドレス情報とチェックビットを埋め込む方法を説明する概念図である。また，図１９は，第４の実施の形態の，署名検証時のアドレス情報の抽出処理手順を示す説明図であり，図２０は，第４の実施の形態の，署名検証時のアドレス情報とチェックビットの抽出処理手順を示す説明図である。
【００８７】
第４の実施の形態では，パレットデータのＬＳＢ側に埋め込むデータを，パレットデータの「情報を埋め込まない部分」のデータを鍵として，スクランブルを行う。鍵は，パレットデータの「情報を埋め込まない部分」に加えて，ユーザ指定の鍵を使用してもよい。第４の実施の形態を第１の実施の形態と組み合わせて適用する場合，スクランブル対象はアドレス情報のみだが，第２の実施の形態と組み合わせて適用する場合は，ローカルアドレス情報とグローバルアドレス情報，第３の実施の形態と組み合わせて適用する場合は，アドレス情報とチェックビットをスクランブルの対象としてもよい。
【００８８】
スクランブルは，例えば，データの置換やシフト，他のデータとのＸＯＲ，疑似ランダム系列とのＸＯＲ，入力と出力が双方向な関数などを，鍵のデータによって複数選択し，複数回のループで処理を行うことができる。この処理によってスクランブル化されたデータは，同じ鍵を使用して元のデータに戻すことができる。
【００８９】
パレットデータへの埋め込みは，スクランブル後のデータを分割し，第１〜第３の実施の形態の埋め込み方法と同様の方法で行うことができる。その他の動作は，第１の実施の形態と同様である（図１７，図１８参照）。
【００９０】
次に，第４の実施の形態における，電子透かし検出用パレットソート方法を説明する。パレットから抽出されたスクランブル後のデータを，埋め込み側の逆の手順で，埋め込みに使用していないパレットデータを鍵として，スクランブル解除する。その他の動作は，第１〜第３の実施の形態と同様である（図１９，図２０参照）。
【００９１】
以上示したように，第４の実施の形態によれば，パレットに埋め込むデータをスクランブルすることで，パレットが偽造される可能性を低減できる。また，パレットの埋め込みに使用していない部分を鍵とすることで，スクランブル／デスクランブルのために鍵を用意する必要がない。
【００９２】
（第５の実施の形態）
次に，本発明の第５の実施の形態について説明する。第５の実施の形態では，類似色探索手段を用いる。図２１は，本発明の第５の実施の形態の，署名生成側の構成を説明するブロック図である。第５の実施の形態では，第１〜第４の実施の形態の構成に，類似色探索手段（２００）を加えている。
【００９３】
本発明の第５の実施の形態における，電子透かし埋め込み側類似色探索手段を説明する。類似色探索手段（２００）は，パレットアドレス埋め込み後のパレットデータを，パレットソート手段とは別の方法でソートする。例えば，パレットソート手段（１００）は輝度でソートされているが，類似色探索手段（２００）は，色の類似度でソートを行う。
【００９４】
ソートは，パレットのアドレス情報が一巡する範囲内で行う。例えば，アドレス情報が１６ビットで，隣接するパレットに同一アドレス情報を与えない場合，色の探索は，１６個のパレットの範囲内で行う。図２２，図２３は，本発明の第５の実施の形態における，類似色探索方法を説明する概念図である。図２３に示すように，まず，基準パレットデータ「０」に最も近い色を探索する。例えば，基準のパレットデータと，各パレットデータの色の差分Ｄｉｆｆｉを求め，もっとも差分が小さいパレットデータを探索し，順次これを続ける（図２３参照）。差分Ｄｉｆｆｉは，例えば，基準パレットデータ「０」のパレットデータを（Ｒ０，Ｇ０，Ｂ０），探索対象パレットデータを（Ｒｉ，Ｇｉ，Ｂｉ）とした場合，次式で求める。
差分Ｄｉｆｆｉ＝｜Ｒｉ−Ｒ０｜＋｜Ｇｉ−Ｇ０｜＋｜Ｂｉ−Ｂ０｜
類似色探索は，図２３に示す処理を，例えば，図２２に示すパレットのアドレス情報が一巡する範囲内で行う。
【００９５】
図２３では，色の類似度の判定にＲ，Ｇ，Ｂの絶対和を用いているが，Ｒ，Ｇ，Ｂそれぞれ単独の値を用いたり，重み付けや２乗和で類似度を計算してもよい。
【００９６】
置換手段（１０２）は，パレットソート手段（１００）と類似色探索手段（２００）とでソートされたパレットデータにしたがい，画像データの置換を行う。その他の動作は，第１〜第３の実施の形態と同様である。
【００９７】
次に，本発明の第５の実施の形態における，電子透かし検出側類似色探索手段を説明する。図２４は，本発明の第５の実施の形態の，署名検証側の構成を説明するブロック図である。類似色探索手段（２０１）は，パレットソート手段（１１０）によってソートされたパレットデータを，埋め込み側の類似色探索手段（２００）と同じ方法でソートする。
【００９８】
ソートは，パレットのアドレス情報が一巡する範囲内で行う。例えば，アドレス情報がｌ６ビットで，隣接するパレットに同一アドレス情報を与えない場合，色の探索は，１６個のパレットの範囲内で行う。例えば探索は，図２３の処理を，パレットのアドレス情報が一巡する範囲内で行う。
【００９９】
図２３では，色の類似度の判定に，Ｒ，Ｇ，Ｂの絶対和を用いているが，Ｒ，Ｇ，Ｂそれぞれ単独の値を用いたり，重み付けや２乗和で類似度を計算してもよい。置換手段（ｌ０２）は，パレットソート手段（１００）と類似色探索手段（２００）とでソートされたパレットデータにしたがい，画像データの置換を行う。その他の動作は，第１〜第３の実施の形態と同様である。
【０１００】
インデックス画像のＬＳＢに電子透かしを埋め込む場合，ピクセルの値が隣接するパレット値に変更される場合がある。この場合，輝度のみでソートをすると，近い輝度で，まったく異なる色のパレットが隣接する場合があり，電子透かし埋め込み後の画質が非常に劣化する場合があった。しかし，以上に示した第５の実施の形態によれば，パレットのアドレス情報によってパレットは完全に復元でき，かつ，隣接する色が非常に近い色となり，埋め込み品質が劣化しない。
【０１０１】
（第６の実施の形態）
次に，本発明の第６の実施の形態について説明する。図２５は，本発明の第６の実施の形態の，署名生成側の構成を説明するブロック図であり，図２６は，本発明の第６の実施の形態の，署名検証側の構成を説明するブロック図である。第６の実施の形態では，第１〜第５の実施の形態の埋め込み側の構成に，ローカルスクランブル手段（２１０）を加えている。また，電子透かし検証用パレットソート方法において，第１〜第５の実施の形態の検証側の構成に，ローカルスクランブル解除手段（２２０）を加えている。
【０１０２】
第６の実施の形態における電子透かし埋め込み側では，ローカルスクランブル手段（２１０）は，パレットソート手段（１００）が出力したパレットデータを，ローカルスクランブルする。置換手段（ｌ０２）は，パレットソート手段（１００）とローカルスクランブル手段（２１０）でソートされたパレットデータにしたがい，画像データの置換を行う。その他の動作は，第１〜第５の実施の形態と同様である。
【０１０３】
第６の実施の形態における電子透かし検証側では，ローカルスクランブル解除手段（２２０）は，パレットソート手段（１１０）によってソートされたパレットを，埋め込み側のローカルスクランブル手段（２１０）と同じ方法でソートする。
【０１０４】
インデックス画像のＬＳＢに電子透かしを埋め込む場合，ピクセルの値が隣接するパレット値に変更される場合がある。この場合，輝度のみでソートをすると，近い輝度で，まったく異なる色のパレットが隣接する場合があり，電子透かし埋め込み後の画質が非常に劣化する場合があった。しかし，以上示した第６の実施の形態によれば，パレットのアドレス情報によってパレットは完全に復元でき，かつ，隣接する色が非常に近い色となり埋め込み品質が劣化しない。
【０１０５】
（第７の実施の形態）
次に，本発明の第７の実施の形態について説明する。図２７は，本発明の第７の実施の形態の，パレットデータにアドレス情報を埋め込む一つの方法を説明する概念図であり，図２８は，本発明の第７の実施の形態の，パレットデータにアドレス情報を埋め込む他の方法を説明する概念図である。第７の実施の形態では，パレットソート手段は，各パレットデータに埋め込む情報に，アドレス情報だけでなく，パレット数情報を含める。例えば，各パレットに４ビットを埋め込むとすると，３ビットをアドレス情報に，１ビットをパレット情報に振り分ける。
【０１０６】
１ビットのパレット情報は，アドレス情報が一巡する単位（例えば，３ビットのアドレス情報であれば８）であれば，それぞれのパレットに１ビットずつ埋め込むことで，実際のパレット数を埋め込むことができる（図２７参照）。
【０１０７】
このほか，輝度ソート等を行った後の先頭の２パレットには，アドレス情報を埋め込まずにパレット数情報だけを埋め込んだり，輝度ソートを行ったあと，複数パレットおきにパレット数情報を埋め込んだりすることもできる（図２８参照）。その他の動作は，第１〜第３の実施の形態と同様である。
【０１０８】
図２９は，本発明の第７の実施の形態の署名検証時のアドレス情報の抽出処理手順の一例を示す説明図であり，図３０は，本発明の第７の実施の形態の，署名検証時のアドレス情報の抽出処理手順の他の例を示す説明図である。
【０１０９】
第７の実施の形態における，電子透かし検出用パレットソート手段では，各パレットに埋め込んだ情報から，パレット数情報を抽出する。例えば，各パレットに４ビット埋め込むとすると，３ビットをアドレス情報に，１ビットをパレット情報にする。１ビットのパレット情報は，図３１に示す，アドレス情報が一巡する単位（３ビットのアドレス情報であれば，２３＝８）で複数回埋め込むことができる。この場合，複数のパレット数情報が存在するので，それぞれにて多数決やエラー訂正処理を行い，正しいパレット数を得る（図２９参照）。
【０１１０】
この他，輝度ソート等を行った後の先頭の２パレットに，アドレス情報を埋め込まずにパレット数情報だけを埋め込んだ場合，そこからパレット情報を抽出することもできる（図３０参照）。その他の動作は，第１〜第３の実施の形態と同様である。
【０１１１】
以上示したように，第７の実施の形態によれば，パレットデータにパレット数を埋め込むことができ，パレットの改竄検出をより正確に行える。また，パレットデータにパレット数を埋め込むため，パレットの追加や削除があった場合に，より正確に追加や削除を検出することができる。
【０１１２】
以上，添付図面を参照しながら本発明の電子透かしの埋め込み方法，検証方法，埋め込み装置，検証装置，及び電子画像の好適な実施形態について説明したが，本発明はこれらの例に限定されない。いわゆる当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１１３】
例えば，パレットデータに埋め込むアドレス値は，シーケンシャルである必要はない。埋め込み側と検出側とで同期できるシーケンスであれば，何を使用してもよい。例えば，鍵によって同期可能な疑似ランダムシーケンスを使用することもできる。
【０１１４】
また，パレットデータに埋め込む部分を，Ｒ；１ビット，Ｇ；１ビット，Ｂ；２ビットの組み合わせや，計４ビットに限定する必要はない。
【０１１５】
また，パレットデータのＲＧＢ値に同じ量のデータを埋め込んでもよいし，ＲＧＢ値のなかで，データを埋め込まない色があってもよい。
【０１１６】
また，第２の実施の形態のローカルアドレスとグローバルアドレスとの比率はいくつでも良く，限定する必要はない。また，グローバルアドレスを構成するためのパレット数も，限定する必要はない。また，グローバルパレットを構成する数は，常に固定する必要もなく，可変であってもよい。例えば，パレットデータ１〜４まではグローバルアドレス２ビット，パレットデータ５〜１５まではグローバルアドレス５ビット，などとしてもよい。
【０１１７】
また，アドレス情報を埋め込むビット数は，常に固定させる必要はない。例えば，パレットデータを輝度順にソートし，輝度の低いところは多いビット量のデータを埋め込み，輝度の少ないところは少ないビット量のデータを埋め込むなどの工夫をしてもよい。また，パレットデータへの埋め込みビット数は，パレット内のデータや，パレットのインデックス値，これらから得られるデータから決定してもよい。
【０１１８】
また，第３の実施の形態におけるチェックビットは，特に方式を限定する必要はない。ある程度の確率で誤りを見つけられるエラー検出符号であれば，何を使ってもよい。
【０１１９】
また，第４の実施の形態のスクランブル方式は，特に方式を限定する必要はない。データをスクランブル／デスクランブルすることが可能であれば，どのような方式でもよい。
【０１２０】
また，パレットデータへの埋め込みは，特にパレットに限定する必要はなく，例えば，ベクトル符号化のコードブックに対して，同様の透かしの埋め込みを行ってもよい。
【０１２１】
【発明の効果】
本発明により，カラーパレット画像に対する電子透かしの埋め込み側と検出側のパレット値の同期を容易にし，改竄の誤検出を低減し，改竄位置の特定を可能にする電子画像処理技術が提供できた。
【図面の簡単な説明】
【図１】図１は，本発明の第１の実施の形態の，署名生成側の構成を説明するブロック図である。
【図２】図２は，本発明の第１の実施の形態の，パレットデータにアドレス情報を埋め込む方法を説明する概念図である。
【図３】図３は，ＲＧＢ各８ビットのパレットデータに，ＹＣｂＣｒ色空間の５ビットのアドレス情報を埋め込む方法を説明する概念図である。
【図４】図４は，第１の実施の形態の，署名検証側の構成を説明するブロック図である。
【図５】図５は，第１の実施の形態の，署名検証（電子透かしの検証）時のパレットソートの手順を示すフロー図である。
【図６】図６は，第１の実施の形態の，署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【図７】図７は，隣接するパレットに同じアドレス情報を埋め込んでいる場合の署名検証時のパレットソートの手順を示すフロー図である。
【図８】図８は，第１の実施の形態の，電子透かし埋め込み方法への一つの適用例の構成を説明するブロック図である。
【図９】図９は，第１の実施の形態の，電子透かし埋め込み方法への他の適用例の構成を説明するブロック図である。
【図１０】図１０は，第１の実施の形態の，電子透かし検出方法への一つの適用例の構成を説明するブロック図である。
【図１１】図１１は，第１の実施の形態の，電子透かし検出方法への他の適用例の構成を説明するブロック図である。
【図１２】図１２は，第２の実施の形態の，アドレス情報生成処理を説明する概念図である。
【図１３】図１３は，第２の実施の形態の，署名検証時のパレットソートの手順を示すフロー図である。
【図１４】図１４は，第２の実施の形態の，署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【図１５】図１５は，第３の実施の形態の，パレットデータにアドレス情報等を埋め込む方法を説明する概念図である。
【図１６】図１６は，第３の実施の形態の，署名検証時のアドレス情報等の抽出処理手順を示す説明図である。
【図１７】図１７は，第４の実施の形態の，パレットデータにアドレス情報を埋め込む方法を説明する概念図である。
【図１８】図１８は，第４の実施の形態の，パレットデータにアドレス情報とチェックビットを埋め込む方法を説明する概念図である。
【図１９】図１９は，第４の実施の形態の，署名検証時のアドレス情報の抽出処理手順を示す説明図である。
【図２０】図２０は，第４の実施の形態の，署名検証時のアドレス情報とチェックビットの抽出処理手順を示す説明図である。
【図２１】図２１は，第５の実施の形態の，署名生成側の構成を説明するブロック図である。
【図２２】図２２は，第５の実施の形態における，類似色探索方法を説明する概念図である。
【図２３】図２３は，第５の実施の形態における，類似色探索方法を説明する概念図である。
【図２４】図２４は，第５の実施の形態の，署名検証側の構成を説明するブロック図である。
【図２５】図２５は，第６の実施の形態の，署名生成側の構成を説明するブロック図である。
【図２６】図２６は，第６の実施の形態の，署名検証側の構成を説明するブロック図である。
【図２７】図２７は，第７の実施の形態の，パレットデータにアドレス情報を埋め込む一つの方法を説明する概念図である。
【図２８】図２８は，第７の実施の形態の，パレットデータにアドレス情報を埋め込む他の方法を説明する概念図である。
【図２９】図２９は，第７の実施の形態の署名検証時のアドレス情報の抽出処理手順の一例を示す説明図である。
【図３０】図３０は，第７の実施の形態の，署名検証時のアドレス情報の抽出処理手順の他の例を示す説明図である。
【図３１】図３０は，第７の実施の形態の，アドレス情報が一巡する単位を説明する概念図である。
【符号の説明】
１　　パレットデータ入力端子
２　　画像データ入力端子
３　　パレットデータ出力端子
４　　画像データ出力端子
５　　パレットデータ入力端子
６　　画像データ入力端子
７　　パレットデータ出力端子
８　　画像データ出力端子
１００　パレットソート手段
１０１　パレットアドレス埋め込み手段
１０２　置換手段
１０３　署名生成手段
１０４　埋め込み手段
１０５　パレットスクランブル手段
１０６　置換手段
１１０　パレットソート手段
１１１　置換手段
１１２　署名生成手段
１１３　署名抽出手段
１２０　パレット追加手段
２００　類似色探索手段
２０１　類似色探索手段
２１０　ローカルスクランブル手段
２２０　ローカルスクランブル解除手段
３００　スクランブル解除手段
【図１】
2004088565.tif 000003
【図２】
2004088565.tif 000004
【図３】
2004088565.tif 000005
【図４】
2004088565.tif 000006
【図５】
2004088565.tif 000007
【図６】
2004088565.tif 000008
【図７】
2004088565.tif 000009
【図８】
2004088565.tif 000010
【図９】
2004088565.tif 000011
【図１０】
2004088565.tif 000012
【図１１】
2004088565.tif 000013
【図１２】
2004088565.tif 000014
【図１３】
2004088565.tif 000015
【図１４】
2004088565.tif 000016
【図１５】
2004088565.tif 000017
【図１６】
2004088565.tif 000018
【図１７】
2004088565.tif 000019
【図１８】
2004088565.tif 000020
【図１９】
2004088565.tif 000021
【図２０】
2004088565.tif 000022
【図２１】
2004088565.tif 000023
【図２２】
2004088565.tif 000024
【図２３】
2004088565.tif 000025
【図２４】
2004088565.tif 000026
【図２５】
2004088565.tif 000027
【図２６】
2004088565.tif 000028
【図２７】
2004088565.tif 000029
【図２８】
2004088565.tif 000030
【図２９】
2004088565.tif 000031
【図３０】
2004088565.tif 000032
【図３１】
2004088565.tif 000033