(57)【特許請求の範囲】
【請求項１】
直交変換・量子化・ランレングス符号化・可変長符号化が施されてすでに圧縮されている画像データに透かし情報を埋め込む装置であって、
符号語と当該符号語に対応する付加ビットとを符号テーブルに基づいて圧縮画像データから抽出する可変長復号化手段と、
前記可変長復号化手段からの付加ビットを保持する付加ビットレジスタと、
前記付加ビットの長さを示す付加ビット長を保持する付加ビット長レジスタと、
前記可変長復号化手段からの符号語を保持する符号語レジスタと、
前記符号語の長さを示す符号語長を保持する符号語長レジスタと、
前記付加ビットレジスタに記憶された付加ビットのうち所定のビットに透かし情報を埋め込む埋め込み手段と、
前記付加ビット長レジスタと前記符号語長レジスタに記憶された情報に基づいて、前記埋め込み手段によって透かし情報が埋め込まれた付加ビットと前記符号語レジスタに記憶された符号語とを連結して可変長符号を生成する連結手段とを備える
ことを特徴とする情報埋め込み装置。
【請求項２】
請求項１に記載の情報埋め込み装置において、
前記可変長復号化手段によって抽出された符号語が第１の周波数領域に属するか否かを判定する領域判定手段をさらに備え、
前記埋め込み手段は、
前記第１の周波数領域に属すると前記領域判定手段によって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む
ことを特徴とする情報埋め込み装置。
【請求項３】
請求項１に記載の情報埋め込み装置において、
前記可変長復号化手段によって抽出された付加ビットが所定のビット長を有するか否かを判定するビット長判定手段をさらに備え、
前記埋め込み手段は、
前記所定のビット長を有すると前記ビット長判定手段によって判定された付加ビットの所定のビットに透かし情報を埋め込む
ことを特徴とする情報埋め込み装置。
【請求項４】
請求項１に記載の情報埋め込み装置において、
前記可変長復号化手段によって抽出された符号語の色成分が所定の色成分であるか否かを判定する色成分判定手段をさらに備え、
前記埋め込み手段は、
前記所定の色成分であると前記色成分判定手段によって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む
ことを特徴とする情報埋め込み装置。
【請求項５】
請求項１に記載の情報埋め込み装置において、
前記可変長復号化手段はさらに、
前記抽出処理の前処理として、前記符号テーブルに基づいて前記圧縮画像データから符号語を抽出し、
前記情報埋め込み装置はさらに、
前記可変長復号化手段によって前処理として抽出された符号語の数をカウントする符号語カウンタを備え、
前記埋め込み手段は、
前記符号語カウンタによりカウントされた符号語数と埋め込むべき透かし情報の情報量とに基づいて透かし情報を埋め込む
ことを特徴とする情報埋め込み装置。
【請求項６】
請求項５に記載の情報埋め込み装置において、
前記符号語カウンタによってカウントされた符号語の数および埋め込むべき透かし情報の情報量に基づいて、透かし情報を埋め込むべき前記所定のビットを指定する埋め込みビット指定手段をさらに備える
ことを特徴とする情報埋め込み装置。
【請求項７】
請求項２に記載の情報埋め込み装置において、
前記可変長復号化手段はさらに、
前記抽出処理の前処理として、前記符号テーブルに基づいて前記圧縮画像データから符号語を抽出し、
前記領域判定手段はさらに、
前記可変長復号化手段によって前処理として抽出された符号語が第２の周波数領域に属するか否かを判定し、
前記情報埋め込み装置はさらに、
前記第２の周波数領域に属すると前記領域判定手段によって判定された符号語の数をカウントする領域符号語カウンタを備え、
前記埋め込み手段は、
前記領域符号語カウンタによりカウントされた符号語数と埋め込むべき透かし情報の情報量とに基づいて透かし情報を埋め込む
ことを特徴とする情報埋め込み装置。
【請求項８】
請求項７に記載の情報埋め込み装置において、
前記領域符号語カウンタによってカウントされた符号語の数および埋め込むべき透かし情報の情報量に基づいて前記第１の周波数領域を指定する周波数領域指定手段をさらに備える
ことを特徴とする情報埋め込み装置。
【請求項９】
請求項１に記載の情報埋め込み装置において、
付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報を生成する手段と、
前記ヘッダ情報生成手段によって生成されたヘッダ情報と前記連結手段によって生成された可変長符号とを多重化する手段とをさらに備える
ことを特徴とする情報埋め込み装置。
【請求項１０】
請求項２に記載の情報埋め込み方法において、
前記埋め込み手段によって透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報を生成する手段と、
前記ヘッダ情報生成手段によって生成されたヘッダ情報と前記連結手段によって生成された可変長符号とを多重化する手段とをさらに備える
ことを特徴とする情報埋め込み装置。
【請求項１１】
請求項９に記載の情報埋め込み装置によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す装置であって、
透かし情報が埋め込まれた前記所定のビットを前記ヘッダ情報に基づいて認識する解析手段と、
符号テーブルに基づいて圧縮画像データから付加ビットを抽出する可変長復号化手段と、
前記可変長復号化手段によって抽出された付加ビットから前記解析手段によって認識された前記所定のビットのデータを取り出す手段とを備える
ことを特徴とする情報取り出し装置。
【請求項１２】
請求項１０に記載の情報埋め込み装置によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す装置であって、
透かし情報が埋め込まれた付加ビットが属する周波数領域を前記ヘッダ情報に基づいて認識する解析手段と、
符号テーブルに基づいて圧縮画像データから付加ビットを抽出する可変長復号化手段と、
前記可変長復号化手段によって抽出された付加ビットが前記解析手段によって認識された周波数領域に属するとき、当該付加ビットの前記所定のビットのデータを取り出す手段とを備える
ことを特徴とする情報取り出し装置。
【請求項１３】
直交変換・量子化・ランレングス符号化・可変長符号化が施されてすでに圧縮されている画像データに透かし情報を埋め込む方法であって、
符号語と当該符号語に対応する付加ビットとを符号テーブルに基づいて圧縮画像データから抽出し、前記付加ビットの長さを示す付加ビット長と、前記符号語の長さを示す符号語長とを抽出する抽出ステップと、
前記抽出ステップによって抽出された付加ビットの所定のビットに透かし情報を埋め込むステップと、
前記付加ビット長と前記符号語長に基づいて前記埋め込みステップによって透かし情報が埋め込まれた付加ビットと前記抽出ステップによって抽出された符号語とを連結して可変長符号を生成するステップとを備える
ことを特徴とする情報埋め込み方法。
【請求項１４】
請求項１３に記載の情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、
復元された画像の劣化の程度に応じて前記所定のビットの数を少なくして、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項１５】
請求項１３に記載の情報埋め込み方法において、
埋め込むべき透かし情報の一部を埋め込めなかったときは、
前記所定のビットの数を多くして、再度、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項１６】
請求項１３に記載の情報埋め込み方法において、
前記抽出ステップによって抽出された符号語が第１の周波数領域に属するか否かを判定するステップをさらに備え、
前記埋め込みステップでは、
前記第１の周波数領域に属すると前記判定ステップによって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む
ことを特徴とする情報埋め込み方法。
【請求項１７】
請求項１６に記載の情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、
復元された画像の劣化の程度に応じて前記第１の周波数領域を狭くして、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項１８】
請求項１６に記載の情報埋め込み方法において、
埋め込むべき透かし情報の一部を埋め込めなかったときは、
前記第１の周波数領域を広くして、再度、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項１９】
請求項１３に記載の情報埋め込み方法において、
前記抽出ステップによって抽出された付加ビットが所定のビット長を有するか否かを判定するステップをさらに備え、
前記埋め込みステップでは、
前記所定のビット長を有すると前記判定ステップによって判定された付加ビットの所定のビットに透かし情報を埋め込む
ことを特徴とする情報埋め込み方法。
【請求項２０】
請求項１９に記載の情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、
復元された画像の劣化の程度に応じて前記所定のビット長の範囲を狭くして、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項２１】
請求項１９に記載の情報埋め込み方法において、
埋め込むべき透かし情報の一部を埋め込めなかったときは、
前記所定のビット長の範囲を広くして、再度、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項２２】
請求項１３に記載の情報埋め込み方法において、
前記抽出ステップによって抽出された符号語の色成分が所定の色成分であるか否かを判定するステップをさらに備え、
前記埋め込みステップでは、
前記所定の色成分であると前記判定ステップによって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む
ことを特徴とする情報埋め込み方法。
【請求項２３】
請求項２２に記載の情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、
復元された画像の劣化の程度に応じて前記所定の色成分を変更して、前記抽出ステップ・前記埋め込みステップ・前記生成ステップを行う
ことを特徴とする情報埋め込み方法。
【請求項２４】
請求項１３に記載の情報埋め込み方法において、
前記抽出ステップの前処理として、
前記符号テーブルに基づいて前記圧縮画像データから符号語を抽出し、
抽出した符号語の数をカウントし、
前記埋め込みステップでは、
前記前処理によってカウントされた符号語数と埋め込むべき透かし情報の情報量とに基づいて透かし情報を埋め込む
ことを特徴とする情報埋め込み方法。
【請求項２５】
請求項２４に記載の情報埋め込み方法において、
前記前処理ではさらに、
カウントした符号語の数および埋め込むべき透かし情報の情報量に基づいて、透かし情報を埋め込むべき前記所定のビットを指定する
ことを特徴とする情報埋め込み方法。
【請求項２６】
請求項１６に記載の情報埋め込み方法において、
前記抽出ステップの前処理として、
前記符号テーブルに基づいて前記圧縮画像データから符号語を抽出し、
抽出した符号語が第２の周波数領域に属するか否かを判定し、
前記第２の周波数領域に属すると判定された符号語の数をカウントし、
前記埋め込みステップでは、
前記前処理によってカウントされた符号語数と埋め込むべき透かし情報の情報量とに基づいて透かし情報を埋め込む
ことを特徴とする情報埋め込み方法。
【請求項２７】
請求項２６に記載の情報埋め込み方法において、
前記前処理ではさらに、
カウントした符号語の数および埋め込むべき透かし情報の情報量に基づいて前記第１の周波数領域を指定する
ことを特徴とする情報埋め込み方法。
【請求項２８】
請求項１３に記載の情報埋め込み方法において、
付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報と前記連結ステップによって生成された可変長符号とを多重化するステップをさらに備える
ことを特徴とする情報埋め込み方法。
【請求項２９】
請求項１６に記載の情報埋め込み方法において、
前記埋め込みステップによって透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報と前記連結ステップによって生成された可変長符号とを多重化するステップをさらに備える
ことを特徴とする情報埋め込み方法。
【請求項３０】
請求項２８に記載の情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す方法であって、
透かし情報が埋め込まれた前記所定のビットを前記ヘッダ情報に基づいて認識するステップと、
符号テーブルに基づいて圧縮画像データから付加ビットを抽出するステップと、
前記抽出ステップによって抽出された付加ビットから前記認識ステップによって認識された前記所定のビットのデータを取り出すステップとを備える
ことを特徴とする情報取り出し方法。
【請求項３１】
請求項２９に記載の情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す方法であって、
透かし情報が埋め込まれた付加ビットが属する周波数領域を前記ヘッダ情報に基づいて認識するステップと、
符号テーブルに基づいて圧縮画像データから付加ビットを抽出するステップと、
前記抽出ステップによって抽出された付加ビットが前記認識ステップによって認識された周波数領域に属するとき、当該付加ビットの前記所定のビットのデータを取り出すステップとを備える
ことを特徴とする情報取り出し方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報埋め込み装置、情報埋め込み方法、情報取り出し装置、および情報取り出し方法に関する。さらに詳しくは、すでに圧縮されている画像データに音声情報や著作権情報などの情報（透かし情報）を埋め込む装置および方法、ならびに透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す装置および方法に関する。
【０００２】
【従来の技術】
近年、画像や音楽などのマルチメディア・コンテンツに対する著作権を保護するため、電子透かし技術に関する研究が活発になってきている。電子透かし技術とは、画像や音楽などのマルチメディア・コンテンツに著作権情報などの別の情報（透かし情報）を密かに記録しておく（埋め込む）ことによって不正コピーや無断利用などを抑制する技術である。特に画像データに関しては、不正コピーや無断利用の取り締まりを目的として著作権情報を埋め込む技術だけでなく、透かし情報として音声情報を埋め込んでおき再生時に画像と音声との両方を楽しむことができるようにする技術も考えられている。
【０００３】
ＪＰＥＧやＭＰＥＧのフォーマットですでに圧縮されている画像データに著作権情報や音声情報などの情報（透かし情報）を新たに埋め込む処理は、図３１に示すような情報埋め込み装置によって以下のようにして行われる。まず、可変長復号化部３１１およびランレングス復号化部３１２によって、圧縮画像データに対して可変長復号化処理およびランレングス復号化処理が施されてＤＣＴ係数が抽出される。抽出されたＤＣＴ係数は係数メモリ３１３に一時的に記憶される。次いで、埋め込み処理部３１４によって、係数メモリ３１３に記憶されたＤＣＴ係数のビット指定情報によって指定されたビットに透かし情報が埋め込まれる。次いで、ランレングス符号化部３１５および可変長符号化部３１６において、透かし情報が埋め込まれたＤＣＴ係数に対してランレングス符号化処理および可変長符号化処理が施される。このようにして圧縮画像データに透かし情報が埋め込まれる。
【０００４】
【発明が解決しようとする課題】
上述のように、ＪＰＥＧやＭＰＥＧのフォーマットですでに圧縮されている画像データに透かし情報を新たに埋め込む場合、可変長復号化・ランレングス復号化・透かし情報の埋め込み・ランレングス符号化・可変長符号化といった処理を行う。ところが、図３１に示した情報埋め込み装置では、可変長符号化処理と可変長復号化処理とで共通の符号テーブル３１７を用いるため、これら両方の処理を同時に実行することはできない。そこで、可変長復号化処理およびランレングス復号化処理によって得られたＤＣＴ係数を係数メモリ３１３に一時的に格納して、圧縮画像データの可変長復号化処理と透かし情報が埋め込まれた後のデータの可変長符号化処理とを時分割で行っている。
【０００５】
この発明の目的は、すでに圧縮されている画像データに透かし情報を高速に埋め込むことができる情報埋め込み装置および方法を提供することである。
【０００６】
【課題を解決するための手段】
この発明の１つの局面に従うと、情報埋め込み装置は、直交変換・量子化・ランレングス符号化・可変長符号化が施されてすでに圧縮されている画像データに透かし情報を埋め込む装置であって、可変長復号化手段と、埋め込み手段と、連結手段とを備える。可変長復号化手段は、符号語と当該符号語に対応する付加ビットとを符号テーブルに基づいて圧縮画像データから抽出する。埋め込み手段は、可変長復号化手段によって抽出された付加ビットの所定のビットに透かし情報を埋め込む。連結手段は、埋め込み手段によって透かし情報が埋め込まれた付加ビットと可変長復号化手段によって抽出された符号語とを連結して可変長符号を生成する。
【０００７】
上記情報埋め込み装置では、圧縮画像データから符号語および付加ビットを抽出し、抽出した付加ビットの所定のビットに透かし情報を埋め込む。したがって、量子化後の係数（たとえば、ＤＣＴ係数など）の所定のビットに透かし情報を埋め込む従来の情報埋め込み装置と異なり、量子化後の係数を抽出するためのランレングス復号化処理を行う必要がない。また、付加ビットの所定のビットに透かし情報を埋め込むため、透かし情報の埋め込みの前後において符号語および付加ビット長は変わらない。したがって、従来の情報埋め込み装置と異なり、透かし情報を埋め込んだ後に可変長符号化処理を行う必要がない。
【０００８】
このように上記情報埋め込み装置では、付加ビットの所定のビットに透かし情報を埋め込むため、ランレングス復号化／符号化処理および可変長符号化処理を行う必要がない。したがって、従来の情報埋め込み装置よりも全体構成を簡略化することができる。
【０００９】
また、可変長符号化処理を行う必要がないため、従来の情報埋め込み装置と異なり、圧縮画像データの可変長復号化処理と透かし情報が埋め込まれた後のデータの可変長符号化処理とを時分割で行う必要がない。したがって、すでに圧縮されている画像データに透かし情報を埋め込む処理を従来の装置よりも高速に行うことができる。この結果、低周波数動作における高速処理が可能となるため消費電力を低減することができる。
【００１０】
好ましくは、上記情報埋め込み装置はさらに、領域判定手段を備える。領域判定手段は、可変長復号化手段によって抽出された符号語が第１の周波数領域に属するか否かを判定する。そして上記埋め込み手段は、第１の周波数領域に属すると領域判定手段によって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む。
【００１１】
通常、透かし情報が埋め込まれた画像は埋め込まれる前に比べると劣化している。ところが人間の目は、低い周波数成分の変化には敏感である一方、高い周波数の変化に対しては鈍感であるという特性を有する。
【００１２】
上記情報埋め込み装置では、第１の周波数領域に属する符号語に対応する付加ビットに透かし情報を埋め込むことができる。したがって、透かし情報が埋め込まれたことによる画質の劣化を分かりにくくするときには第１の周波数領域を比較的高い周波数領域に設定する。一方、ライセンス料を支払ってはじめて鑑賞できるようになる画像のような場合には、不正ユーザに対しては透かし情報を意図的に目で認識することができるような試みがなされており、このような場合には第１の周波数領域を比較的低い周波数領域に設定する。このように、用途・目的に応じた適切な周波数領域に透かし情報を埋め込むことができる。
【００１３】
好ましくは、上記情報埋め込み装置はさらに、ビット長判定手段を備える。ビット長判定手段は、可変長復号化手段によって抽出された付加ビットが所定のビット長を有するか否かを判定する。そして上記埋め込み手段は、所定のビット長を有するとビット長判定手段によって判定された付加ビットの所定のビットに透かし情報を埋め込む。
【００１４】
圧縮画像データに含まれる符号語の数は画像によってまちまちである。埋め込むべき透かし情報のデータ量が比較的多いときは圧縮画像データに含まれるすべての符号語に対応する付加ビットに透かし情報を埋め込む必要がある。しかし、埋め込むべき透かし情報のデータ量が比較的少ないときは必ずしもすべての符号語に対応する付加ビットに透かし情報を埋め込む必要はなく、一部の符号語に対応する付加ビットに透かし情報を埋め込めばよい。このとき、発生頻度が高い（圧縮画像データに含まれる割合が高い）符号語に対応する付加ビットにだけ透かし情報を埋めこんだ場合よりも発生頻度が低い（圧縮画像データに含まれる割合が低い）符号語に対応する付加ビットにだけ透かし情報を埋め込んだ場合のほうが画質の劣化が認識されにくい。
【００１５】
通常、量子化後の係数は、その値が大きくなるにつれてその発生頻度が低くなる。また、値が大きくなる（発生頻度が低くなる）につれて、割り当てられるグループ番号が大きくなる。グループ番号が大きくなるにつれて、割り当てられる付加ビットのビット長は長くなる。したがって、発生頻度が低くなるにつれて、割り当てられる付加ビットのビット長が長くなる。また、グループ番号が大きくなるにつれて、割り当てられる符号語の長さ（符号長）が長くなる。すなわち、符号語の発生頻度が低い（圧縮画像データに含まれる割合が低い）ほど、対応するグループ番号が大きくかつ付加ビットのビット長が長くなる。
【００１６】
上記情報埋め込み装置では、所定のビット長を有する付加ビットに透かし情報が埋め込まれる。したがって、例えば、埋め込むべき透かし情報のデータ量が比較的少ないときは、比較的長いビット長を有する（発生頻度が低い）付加ビットに透かし情報を埋め込む。これにより、透かし情報が埋め込まれている個所が画面上で分散されるため画質の劣化が認識されにくくなる。このように、用途・目的に応じた適切なビット長を有する付加ビットに透かし情報を埋め込むことができる。
【００１７】
好ましくは、上記情報埋め込み装置はさらに、色成分判定手段を備える。色成分判定手段は、可変長復号化手段によって抽出された符号語の色成分が所定の色成分であるか否かを判定する。そして上記埋め込み手段は、所定の色成分であると色成分判定手段によって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む。
【００１８】
通常、透かし情報が埋め込まれた画像は埋め込まれる前に比べると劣化している。ところが人間の目は、輝度成分の変化には敏感である一方、色差成分の変化に対しては鈍感であるという特性を有する。
【００１９】
上記情報埋め込み装置では、所定の色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。したがって、例えば、透かし情報を埋め込んだことによる画質の劣化をわかりにくくしたいときには色差成分の符号語に対応する付加ビットに透かし情報を埋め込むようにする。これにより、画質の劣化の影響を抑制することができる。このように、用途・目的に応じた適切な色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。
【００２０】
好ましくは、上記可変長復号化手段はさらに、上記抽出処理の前処理として、符号テーブルに基づいて圧縮画像データから符号語を抽出する。そして上記情報埋め込み装置はさらに、符号語カウンタを備える。符号語カウンタは、可変長復号化手段によって前処理として抽出された符号語の数をカウントする。
【００２１】
上記情報埋め込み装置では、まず、可変長復号化手段によって前処理として圧縮画像データから符号語が順次抽出される。そして、抽出された符号語の数が符号語カウンタによってカウントされる。これにより、圧縮画像データに含まれている符号語の数をあらかじめ知ることができる。
【００２２】
好ましくは、上記情報埋め込み装置はさらに、埋め込みビット指定手段を備える。埋め込みビット指定手段は、符号語カウンタによってカウントされた符号語の数に基づいて、透かし情報を埋め込むべき所定のビットを指定する。
【００２３】
上記情報埋め込み装置では、符号語カウンタによってカウントされた符号語の数に基づいて、透かし情報を埋め込むべき所定のビットを指定し、指定したビットに透かし情報を埋め込む。これにより、透かし情報の埋め込み処理のやり直しを防止することができる。また、画質の劣化ができるだけ認識されにくくなるように均一に透かし情報を埋め込むことができる。
【００２４】
好ましくは、上記可変長復号化手段はさらに、上記抽出処理の前処理として、符号テーブルに基づいて圧縮画像データから符号語を抽出する。上記領域判定手段はさらに、可変長復号化手段によって前処理として抽出された符号語が第２の周波数領域に属するか否かを判定する。上記情報埋め込み装置はさらに、領域符号語カウンタを備える。領域符号語カウンタは、第２の周波数領域に属すると領域判定手段によって判定された符号語の数をカウントする。
【００２５】
上記情報埋め込み装置では、まず、可変長復号化手段によって前処理として圧縮画像データから符号語が順次抽出される。次いで、前処理として抽出された符号語が第２の周波数領域に属するか否かが領域判定手段によって判定される。次いで、第２の周波数領域に属すると判定された符号語の数が領域符号語カウンタによってカウントされる。これにより、圧縮画像データに含まれている符号語のうち第２の周波数領域に属する符号語の数をあらかじめ知ることができる。
【００２６】
好ましくは、上記情報埋め込み装置はさらに、周波数領域指定手段を備える。周波数領域指定手段は、領域符号語カウンタによってカウントされた符号語の数に基づいて第１の周波数領域を指定する。
【００２７】
上記情報埋め込み装置では、領域符号語カウンタによってカウントされた符号語の数に基づいて第１の周波数領域を指定し、指定した第１の周波数領域に属する符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む。これにより、透かし情報の埋め込み処理のやり直しを防止することができる。
【００２８】
好ましくは、上記情報埋め込み装置はさらに、ヘッダ情報生成手段と、多重化手段とを備える。ヘッダ情報生成手段は、付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報を生成する。多重化手段は、ヘッダ情報生成手段によって生成されたヘッダ情報と連結手段によって生成された可変長符号とを多重化する。
【００２９】
上記情報埋め込み装置では、付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報を多重化している。したがって、画像復元時にヘッダ情報を解析することによって、埋め込んだ透かし情報を忠実に取り出すことができる。
【００３０】
好ましくは、上記埋め込み装置はさらに、ヘッダ情報生成手段と、多重化手段とを備える。ヘッダ情報生成手段は、埋め込み手段によって透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報を生成する。多重化手段は、ヘッダ情報生成手段によって生成されたヘッダ情報と連結手段によって生成された可変長符号とを多重化する。
【００３１】
上記情報埋め込み装置では、透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報を多重化している。したがって、画像復元時にヘッダ情報を解析することによって、埋め込んだ透かし情報を忠実に取り出すことができる。
【００３２】
この発明のもう１つの局面に従うと、情報取り出し装置は、上記情報埋め込み装置によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す装置であって、解析手段と、可変長復号化手段と、取り出し手段とを備える。解析手段は、透かし情報が埋め込まれた上記所定のビットをヘッダ情報に基づいて認識する。可変長復号化手段は、符号テーブルに基づいて圧縮画像データから付加ビットを抽出する。取り出し手段は、可変長復号化手段によって抽出された付加ビットから解析手段によって認識された上記所定のビットのデータを取り出す。
【００３３】
上記情報取り出し装置では、上記情報埋め込み装置によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報が取り出される。この圧縮画像データには、付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報が多重化されている。このヘッダ情報に基づいて、透かし情報が埋め込まれているビットが認識される。そして、可変長復号化手段によって抽出された付加ビットからこの認識されたビットのデータが取り出される。このように、上記情報取り出し装置では、透かし情報が埋め込まれた上記所定のビットをヘッダ情報に基づいて認識し、可変長復号化手段によって抽出された付加ビットから、当該認識した上記所定のビットのデータを取り出す。したがって、埋め込まれた透かし情報を忠実に取り出すことができる。
【００３４】
この発明のさらにもう１つの局面に従うと、情報取り出し装置は、上記情報埋め込み装置によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す装置であって、解析手段と、可変長復号化手段と、取り出し手段とを備える。解析手段は、透かし情報が埋め込まれた付加ビットが属する周波数領域をヘッダ情報に基づいて認識する。可変長復号化手段は、符号テーブルに基づいて圧縮画像データから付加ビットを抽出する。取り出し手段は、可変長復号化手段によって抽出された付加ビットが解析手段によって認識された周波数領域に属するとき当該付加ビットの上記所定のビットのデータを取り出す。
【００３５】
上記情報取り出し装置では、上記情報埋め込み装置によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報が取り出される。この圧縮画像データには、透かし情報が埋め込まれている付加ビットが属する周波数領域を示すヘッダ情報が多重化されている。このヘッダ情報に基づいて、透かし情報が埋め込まれている付加ビットが属する周波数領域が認識される。そして、可変長復号化手段によって抽出された付加ビットのうち当該周波数領域に属する付加ビットの所定のビットのデータが取り出される。このように、上記情報取り出し装置では、透かし情報が埋め込まれている付加ビットが属する周波数領域をヘッダ情報に基づいて認識し、可変長復号化手段によって抽出された付加ビットのうち当該認識した周波数領域に属する付加ビットの上記所定のビットのデータを取り出す。したがって、埋め込まれた透かし情報を忠実に取り出すことができる。
【００３６】
この発明のさらにもう１つの局面に従うと、情報埋め込み方法は、原画像データに対して直交変換・量子化・ランレングス符号化・可変長符号化を施すことによってすでに圧縮されている画像データに透かし情報を埋め込む方法であって、抽出ステップと、埋め込みステップと、生成ステップとを備える。抽出ステップでは、符号語と当該符号語に対応する付加ビットとを符号テーブルに基づいて圧縮画像データから抽出する。埋め込みステップでは、抽出ステップによって抽出された付加ビットの所定のビットに透かし情報を埋め込む。生成ステップでは、埋め込みステップによって透かし情報が埋め込まれた付加ビットと抽出ステップによって抽出された符号語とを連結して可変長符号を生成する。
【００３７】
上記情報埋め込み方法では、付加ビットの所定のビットに透かし情報を埋め込むため、ランレングス復号化／符号化処理および可変長符号化処理を行う必要がない。したがって、従来の情報埋め込み方法よりも全体の処理を簡略化することができる。
【００３８】
また、可変長符号化処理を行う必要がないため、従来の情報埋め込み方法と異なり、圧縮画像データの可変長復号化処理と透かし情報が埋め込まれた後のデータの可変長符号化処理とを時分割で行う必要がない。したがって、すでに圧縮されている画像データに透かし情報を埋め込む処理を従来の方法よりも高速に行うことができる。
【００３９】
好ましくは、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて上記所定のビットの数を少なくして、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【００４０】
好ましくは、上記情報埋め込み方法において、埋め込むべき透かし情報の一部を埋め込めなかったときは、上記所定のビットの数を多くして、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【００４１】
好ましくは、上記情報埋め込み方法はさらに、抽出ステップによって抽出された符号語が第１の周波数領域に属するか否かを判定するステップを備える。そして上記埋め込みステップでは、第１の周波数領域に属すると判定ステップによって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む。
【００４２】
通常、透かし情報が埋め込まれた画像は埋め込まれる前に比べると劣化している。ところが人間の目は、低い周波数成分の変化には敏感である一方、高い周波数の変化に対しては鈍感であるという特性を有する。
【００４３】
上記情報埋め込み方法では、第１の周波数領域に属する符号語に対応する付加ビットに透かし情報を埋め込むことができる。したがって、例えば、透かし情報が埋め込まれたことによる画質の劣化を分かりにくくするときには第１の周波数領域を比較的高い周波数領域に設定する。一方、ライセンス料を支払ってはじめて鑑賞できるようになる画像のような場合には、不正ユーザに対しては透かし情報を意図的に目で認識することができるような試みがなされており、このような場合には第１の周波数領域を比較的低い周波数領域に設定する。このように、用途・目的に応じた適切な周波数領域に透かし情報を埋め込むことができる。
【００４４】
好ましくは、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて上記第１の周波数領域を狭くして、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【００４５】
好ましくは、上記情報埋め込み方法において、埋め込むべき透かし情報の一部を埋め込めなかったときは、上記第１の周波数領域を広くして、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【００４６】
好ましくは、上記情報埋め込み方法はさらに、抽出ステップによって抽出された付加ビットが所定のビット長を有するか否かを判定するステップを備える。そして上記埋め込みステップでは、所定のビット長を有すると判定ステップによって判定された付加ビットの所定のビットに透かし情報を埋め込む。
【００４７】
圧縮画像データに含まれる符号語の数は画像によってまちまちである。埋め込むべき透かし情報のデータ量が比較的多いときは圧縮画像データに含まれるすべての符号語に対応する付加ビットに透かし情報を埋め込む必要がある。しかし、埋め込むべき透かし情報のデータ量が比較的少ないときは必ずしもすべての符号語に対応する付加ビットに透かし情報を埋め込む必要はなく、一部の符号語に対応する付加ビットに透かし情報を埋め込めばよい。このとき、発生頻度が高い（圧縮画像データに含まれる割合が高い）符号語に対応する付加ビットにだけ透かし情報を埋めこんだ場合よりも発生頻度が低い（圧縮画像データに含まれる割合が低い）符号語に対応する付加ビットにだけ透かし情報を埋め込んだ場合のほうが画質の劣化が認識されにくい。
【００４８】
通常、量子化後の係数は、その値が大きくなるにつれてその発生頻度が低くなる。また、値が大きくなる（発生頻度が低くなる）につれて、割り当てられるグループ番号が大きくなる。グループ番号が大きくなるにつれて、割り当てられる付加ビットのビット長は長くなる。したがって、発生頻度が低くなるにつれて、割り当てられる付加ビットのビット長が長くなる。また、グループ番号が大きくなるにつれて、割り当てられる符号語の長さ（符号長）が長くなる。すなわち、符号語の発生頻度が低い（圧縮画像データに含まれる割合が低い）ほど、対応するグループ番号が大きくかつ付加ビットのビット長が長くなる。
【００４９】
上記情報埋め込み方法では、所定のビット長を有する付加ビットに透かし情報が埋め込まれる。したがって、例えば、埋め込むべき透かし情報のデータ量が比較的少ないときは、比較的長いビット長を有する（発生頻度が低い）付加ビットに透かし情報を埋め込む。これにより、透かし情報が埋め込まれている個所が画面上で分散されるため画質の劣化が認識されにくくなる。このように、用途・目的に応じた適切なビット長を有する付加ビットに透かし情報を埋め込むことができる。
【００５０】
好ましくは、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて上記所定のビット長の範囲を狭くして、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【００５１】
好ましくは、上記情報埋め込み方法において、埋め込むべき透かし情報の一部を埋め込めなかったときは、上記所定のビット長の範囲を広くして、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【００５２】
好ましくは、上記情報埋め込み方法はさらに、抽出ステップによって抽出された符号語の色成分が所定の色成分であるか否かを判定するステップを備える。そして上記埋め込みステップでは、所定の色成分であると判定ステップによって判定された符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む。
【００５３】
通常、透かし情報が埋め込まれた画像は埋め込まれる前に比べると劣化している。ところが人間の目は、輝度成分の変化には敏感である一方、色差成分の変化に対しては鈍感であるという特性を有する。
【００５４】
上記情報埋め込み方法では、所定の色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。したがって、例えば、透かし情報を埋め込んだことによる画質の劣化をわかりにくくしたいときには色差成分の符号語に対応する付加ビットに透かし情報を埋め込むようにする。これにより、画質の劣化の影響を抑制することができる。このように、用途・目的に応じた適切な色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。
【００５５】
好ましくは、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて上記所定の色成分を変更して、再度、上記抽出ステップ・上記埋め込みステップ・上記生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【００５６】
好ましくは、上記抽出ステップの前処理として以下の処理を行う。まず、符号テーブルに基づいて圧縮画像データから符号語を抽出する。次いで、抽出した符号語の数をカウントする。
【００５７】
上記情報埋め込み方法によれば、圧縮画像データに含まれている符号語の数をあらかじめ知ることができる。
【００５８】
好ましくは、上記前処理ではさらに、カウントした符号語の数に基づいて、透かし情報を埋め込むべき上記所定のビットを指定する。
【００５９】
上記情報埋め込み方法では、カウントされた符号語の数に基づいて、透かし情報を埋め込むべき所定のビットを指定し、指定したビットに透かし情報を埋め込む。これにより、透かし情報の埋め込み処理のやり直しを防止することができる。また、画質の劣化ができるだけ認識されにくくなるように均一に透かし情報を埋め込むことができる。
【００６０】
好ましくは、上記抽出ステップの前処理として以下の処理を行う。まず、符号テーブルに基づいて圧縮画像データから符号語を抽出する。次いで、抽出した符号語が第２の周波数領域に属するか否かを判定する。次いで、第２の周波数領域に属すると判定された符号語の数をカウントする。
【００６１】
上記情報埋め込み方法によれば、圧縮画像データに含まれている符号語のうち第２の周波数領域に属する符号語の数をあらかじめ知ることができる。
【００６２】
好ましくは、上記前処理ではさらに、カウントした符号語の数に基づいて第１の周波数領域を指定する。
【００６３】
上記情報埋め込み方法では、カウントした符号語の数に基づいて第１の周波数領域を指定し、指定した第１の周波数領域に属する符号語に対応する付加ビットの所定のビットに透かし情報を埋め込む。これにより、透かし情報の埋め込み処理のやり直しを防止することができる。
【００６４】
好ましくは、上記情報埋め込み方法はさらに、多重化ステップを備える。多重化ステップでは、埋め込みステップによって透かし情報が埋め込まれた付加ビットの上記所定のビットを示すヘッダ情報と連結ステップによって生成された可変長符号とを多重化する。
【００６５】
上記情報埋め込み方法では、付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報を多重化している。したがって、画像復元時にヘッダ情報を解析することによって、埋め込んだ透かし情報を忠実に取り出すことができる。
【００６６】
好ましくは、上記情報埋め込み方法はさらに、多重化ステップを備える。多重化ステップでは、埋め込みステップによって透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報と連結ステップによって生成された可変長符号とを多重化する。
【００６７】
上記情報埋め込み方法では、透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報を多重化している。したがって、画像復元時にヘッダ情報を解析することによって、埋め込んだ透かし情報を忠実に取り出すことができる。
【００６８】
この発明のさらにもう１つの局面に従うと、情報取り出し方法は、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す方法であって、認識ステップと、抽出ステップと、取り出しステップとを備える。認識ステップでは、透かし情報が埋め込まれた上記所定のビットをヘッダ情報に基づいて認識する。抽出ステップでは、符号テーブルに基づいて圧縮画像データから付加ビットを抽出する。取り出しステップでは、抽出ステップによって抽出された付加ビットから認識ステップによって認識された上記所定のビットのデータを取り出す。
【００６９】
上記情報取り出し方法では、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報が取り出される。この圧縮画像データには、付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報が多重化されている。このヘッダ情報に基づいて、透かし情報が埋め込まれているビットが認識される。そして、抽出ステップによって抽出された付加ビットからこの認識されたビットのデータが取り出される。このように、上記情報取り出し方法では、透かし情報が埋め込まれた上記所定のビットをヘッダ情報に基づいて認識し、抽出ステップによって抽出された付加ビットから、当該認識した上記所定のビットのデータを取り出す。したがって、埋め込まれた透かし情報を忠実に取り出すことができる。
【００７０】
この発明のさらにもう１つの局面に従うと、情報取り出し方法は、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報を取り出す方法であって、認識ステップと、抽出ステップと、取り出しステップとを備える。認識ステップでは、透かし情報が埋め込まれた付加ビットが属する周波数領域をヘッダ情報に基づいて認識する。抽出ステップでは、符号テーブルに基づいて圧縮画像データから付加ビットを抽出する。取り出しステップでは、抽出ステップによって抽出された付加ビットが認識ステップによって認識された周波数領域に属するとき、当該付加ビットの上記所定のビットのデータを取り出す。
【００７１】
上記情報取り出し方法では、上記情報埋め込み方法によって透かし情報が埋め込まれた圧縮画像データから当該透かし情報が取り出される。この圧縮画像データには、透かし情報が埋め込まれている付加ビットが属する周波数領域を示すヘッダ情報が多重化されている。このヘッダ情報に基づいて、透かし情報が埋め込まれている付加ビットが属する周波数領域が認識される。そして、抽出ステップによって抽出された付加ビットのうち当該周波数領域に属する付加ビットの所定のビットのデータが取り出される。このように、上記情報取り出し方法では、透かし情報が埋め込まれている付加ビットが属する周波数領域をヘッダ情報に基づいて認識し、抽出ステップによって抽出された付加ビットのうち当該認識した周波数領域に属する付加ビットの上記所定のビットのデータを取り出す。したがって、埋め込まれた透かし情報を忠実に取り出すことができる。
【００７２】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００７３】
（第１の実施形態）
＜全体構成＞
図１は、この発明の第１の実施形態による情報埋め込み装置の全体構成を示すブロック図である。図１に示す情報埋め込み装置は、すでに圧縮されている画像データに著作権情報や音声情報などの情報（透かし情報）を新たに埋め込む装置であり、可変長復号化部１０と、符号テーブル１１と、付加ビットレジスタ１２と、付加ビット長レジスタ１３と、符号語レジスタ１４と、符号語長レジスタ１５と、埋め込み処理部１６と、データ連結部１７とを備える。
【００７４】
可変長復号化部１０は、符号語ＣＯＤＥと当該符号語ＣＯＤＥに対応する付加ビットＡＤＢＩＴとを符号テーブル１１を参照して圧縮画像データから抽出する。また可変長復号化部１０は、符号語長Ｌと付加ビット長Ｍとを出力する。符号語長Ｌは符号語ＣＯＤＥの長さを示す。付加ビット長Ｍは付加ビットＡＤＢＩＴの長さを示す。符号テーブル１１は、ランとグループ番号との組み合わせと符号語とを対応付けたテーブルである。付加ビットレジスタ１２はＭＲビットで構成され、可変長復号化部１０によって抽出された付加ビットＡＤＢＩＴを一時的に記憶する。付加ビット長レジスタ１３は、可変長復号化部１０からの付加ビット長Ｍを一時的に記憶する。符号語レジスタ１４はＬＲビットで構成され、可変長復号化部１０によって抽出された符号語ＣＯＤＥを一時的に記憶する。符号語長レジスタ１５は、可変長復号化部１０からの符号語長Ｌを一時的に記憶する。埋め込み処理部１６は、付加ビットレジスタ１２に記憶された付加ビットのうちビット指定情報によって指定されたビットに透かし情報を埋め込む。データ連結部１７は、埋め込み処理部１６によって透かし情報が埋め込まれた付加ビットと符号語レジスタ１４に記憶された符号語とを連結して可変長符号を生成する。
【００７５】
＜圧縮画像データ＞
次に、図１に示す情報埋め込み装置によって透かし情報が埋め込まれる圧縮画像データについて説明する。この圧縮画像データはＪＰＥＧフォーマットで圧縮された画像データであり、原画像に対して以下のような処理を施すことによって圧縮されたものである。
【００７６】
（１）まず、図２に示すように、原画像データを複数のブロックＢＫ００−ＢＫｈｖに分割する。各ブロックＢＫｈｖ（ｈ，ｖ：正の整数）は、８×８画素で構成される。そして、１つのブロックＢＫｈｖに対して以下の（２）〜（６）の処理を行う。
【００７７】
（２）色空間変換
ブロックＢＫｈｖの画像データの色成分を３原色成分（Ｒ，Ｇ，Ｂ）から輝度成分および色差成分（Ｙ，Ｕ，Ｖ）に変換する。
【００７８】
（３）ＤＣＴ変換
色空間変換後のブロックＢＫｈｖの画像データに対して２次元ＤＣＴ変換を行う。その結果、図３に示すようなＤＣＴ係数Ｃ１−Ｃ６４が得られる。
【００７９】
（４）量子化
量子化テーブル（図示せず）のステップサイズに基づいてＤＣＴ係数Ｃ１−Ｃ６４を量子化する。
【００８０】
（５）ランレングス符号化
量子化されたＤＣＴ係数をジグザグスキャン順（周波数の低い順）に、すなわち、図３に矢印で示すようにＤＣＴ係数Ｃ１−ＤＣＴ係数Ｃ６４の順にランレングス符号化する。ランレングス符号化の手順は以下のとおりである。まず、連続するゼロの係数の個数を表すランと、その後に続くゼロでない係数（有効係数）とに符号化する。次いで、有効係数に対してグループ番号および付加ビットを割り当てる。有効係数、グループ番号、および付加ビット数の対応関係を図４に示す。有効係数Ｄｑは図４に示すようにグループ化される。グループ番号ＳＳＳＳは、有効係数Ｄｑが属するグループを示す。また、あるグループに属する有効係数のうちどの値をとるかを指定するために、グループ番号に等しいビット数の付加ビットが割り当てられる。
【００８１】
例えば、図４に示すように、値が＋８である有効係数Ｄｑはグループ番号ＳＳＳＳが４のグループに属している。したがってグループ番号ＳＳＳＳとして４が割り当てられる。また、グループ番号ＳＳＳＳが４のグループには有効係数Ｄｑが１６個存在するため、同一グループ（ＳＳＳＳ＝４）内における有効係数の特定を行うために付加ビットが４ビット必要となる。図５に示すように、付加ビット値は、同一グループ（ＳＳＳＳ＝４）内の有効係数の小さい方（−１５）から順に‘００００’，‘０００１’，・・・，‘１１１１’と割り当てられる。＋８の有効係数Ｄｑは、グループ番号ＳＳＳＳが４のグループのうち小さい方から９番目の係数である。したがって、付加ビット‘１０００’が割り当てられる。
【００８２】
（６）可変長符号化
ラン／グループ番号の組み合わせに対して、図６に示すような符号テーブルに基づいて符号語を順次割り当てる。そして、割り当てた符号語の直後に付加ビットを連結して可変長符号を順次生成する。
【００８３】
例えば、ラン／グループ番号の組み合わせが２／４、付加ビットが‘１１００’である場合には、図６に示すように、１２ビットの符号語‘１１１１１１１１０１００’が割り当てられる。この１２ビットの符号語の直後に付加ビット‘１１００’が連結されて１６ビットの可変長符号‘１１１１１１１１０１００１１００’が生成される。
【００８４】
そして、すべてのブロックＢＫｈｖに対して上述の（２）〜（６）の処理を行う。以上のようにして圧縮画像データが生成される。
【００８５】
＜透かし情報の埋め込み処理＞
次に、図１に示した情報埋め込み装置による透かし情報の埋め込み処理について、図７に示すフローチャートを参照しつつ説明する。
【００８６】
まず、ステップＳＴ７０１において、ビット指定情報が埋め込み処理部１６に与えられる。ビット指定情報は、Ｍビットで構成される付加ビットのうち透かし情報を埋め込むべきビット（ＭＪビット）を指定する情報である。図８は、透かし情報を埋め込むべきビットとして付加ビットＡＤＢＩＴの下位２ビットを指定した場合を示す図である。透かし情報を埋め込むべきビットの位置およびビット数は任意に指定できる。しかし、透かし情報を埋め込むべきビットの位置を上位ビットに設定した場合や下位ビットの複数ビットに設定した場合には、透かし情報の埋め込みにより付加ビットの値が大きく変化してしまう。このため、画像を復元したときに画質の劣化が顕著に表れる。したがって、この点に注意する必要がある。
【００８７】
次いで、ステップＳＴ７０２において、ＪＰＥＧフォーマットで圧縮された画像データに含まれる可変長符号が可変長復号化部１０に順次与えられる。ここでは、図９に示すような可変長符号が与えられるものとする。
【００８８】
次いで、ステップＳＴ７０３において、可変長復号化部１０は、符号語ＣＯＤＥと当該符号語ＣＯＤＥに連続する付加ビットＡＤＢＩＴとを図６に示した符号テーブル１１を参照して抽出する。また、可変長復号化部１０は、抽出した符号語ＣＯＤＥのビット長（符号語長）Ｌと抽出した付加ビットＡＤＢＩＴのビット長（付加ビット長）Ｍとを出力する。可変長復号化部１０によって抽出された符号語ＣＯＤＥは符号語レジスタ１４に一時的に記憶される。付加ビットＡＤＢＩＴは付加ビットレジスタ１２に一時的に記憶される。符号語レジスタ１４はＬＲビットで構成される。付加ビットレジスタ１２はＭＲビットで構成される。また、符号語長Ｌは符号語長レジスタ１５に一時的に記憶される。付加ビット長Ｍは付加ビット長レジスタ１３に一時的に記憶される。ここでは、符号語レジスタ１４のビット幅ＬＲを１６（＝最大符号語長）、付加ビットレジスタ１２のビット幅ＭＲを１２（＝最大付加ビット長）としている。
【００８９】
以下、ステップＳＴ７０３における処理を、図９に示した可変長符号（１６ビット）を例にして具体的に説明する。
【００９０】
図９に示す可変長符号の場合、最初のビット列‘１１１１１１１１０１００’と図６に示す符号テーブル１２に設定されているラン／グループ番号＝２／４に対する符号語のビット列とが一致する。したがって、‘１１１１１１１１０１００’（１２ビット）が符号語ＣＯＤＥとして抽出される。そして符号語レジスタ１４に記憶する際には、‘００００１１１１１１１１０１００’といったように１６ビットの上位４ビットに値‘０’を拡張して記憶する。なお、ここでは値‘０’を拡張して記憶させているが、別にどのような値を拡張しても構わない。また、ビットを拡張せずに１２ビットで構成される符号語‘１１１１１１１１０１００’だけを符号語レジスタに記憶させ、上位の４ビットには記憶させなくてもよい。
【００９１】
次に、符号語長Ｌが１２ビットであるため、符号語長レジスタ１５には値１２が記憶される。抽出された符号語ＣＯＤＥが属するグループ番号ＳＳＳＳが４であることから、この符号語ＣＯＤＥに対応する付加ビット数は４であることがわかる（図４参照）。したがって、符号語‘１１１１１１１１０１００’の直後の４ビット‘１１００’が付加ビットＡＤＢＩＴとして抽出される。そして付加ビットレジスタ１２に記録する際には、‘００００００００１１００’といったように１２ビットの上位８ビットに値‘０’を拡張して記憶する。なお、付加ビットレジスタ１２の不要な上位ビットには符号語レジスタ１４と同様に別にどのような値を拡張しても構わないし、上位の不要なビットには記憶させなくてもよい。また、付加ビットＡＤＢＩＴが‘１１００’であるため、付加ビット長レジスタ１３には値４が記憶される。
【００９２】
以上により、
符号語ＣＯＤＥ＝‘００００１１１１１１１１０１００’
付加ビットＡＤＢＩＴ＝‘００００００００１１００’
符号語長Ｌ＝１２
付加ビット長Ｍ＝４
となる。
【００９３】
次いで、ステップＳＴ７０４において、埋め込み処理部１６は、１２ビット（ＭＲビット）で構成される付加ビットレジスタ１２の出力に対してビット指定情報に従って透かし情報を埋め込む。透かし情報は、著作権情報や音声情報などである。例えば、図８に示したように透かし情報を埋め込むべきビットとして下位２ビットを指定した場合、１２ビットで構成される付加ビットレジスタ１２の出力‘００００００００１１００’の下位２ビットに対して２ビットの透かし情報が埋め込まれる。ここでは、付加ビットの下位２ビットを透かし情報の２ビットと置き換えることによって透かし情報の埋め込みを行う。例えば、埋め込むべき透かし情報が‘１１’の場合は付加ビット値が‘００００００００１１１１’となるように透かし情報の埋め込みが行われる。
【００９４】
次いで、ステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６によって透かし情報が埋め込まれた付加ビットと符号語レジスタ１４からの符号語とを連結する。以下、具体的に説明する。まず、図１０に示すようにＬＲビット（ここでは１６ビット）で構成される符号語‘００００１１１１１１１１０１００’のうち、符号語長レジスタ１５の値Ｌ（ここでは１２）で指定されるビット列‘１１１１１１１１０１００’が下位ビットから取り出される。また、透かし情報が埋め込まれた後のＭＲビット（ここでは１２ビット）で構成される付加ビット‘００００００００１１１１’のうち、付加ビット長レジスタ１３の値Ｍ（ここでは４）で指定されるビット列‘１１１１’が下位ビットから取り出される。そして、Ｌビットの符号語のビット列‘１１１１１１１１０１００’の直後にＭビットの付加ビットのビット列‘１１１１’が連結されて可変長符号‘１１１１１１１１０１００１１１１’が生成される。
【００９５】
以上のように、付加ビットのうちビット指定情報によって指定されたビットを透かし情報と置き換えることによって、透かし情報が埋め込まれた可変長符号が生成される。そして、圧縮画像データに含まれているすべての可変長符号に対して上述のステップＳＴ７０３−ＳＴ７０５における処理を行う。これにより、透かし情報が埋め込まれた圧縮画像データが得られる。
【００９６】
次いで、ステップＳＴ７０６において、透かし情報が埋め込まれた圧縮画像を復元（画像伸張）する。
【００９７】
次いで、ステップＳＴ７０７において、復元した画像の画質を評価する。その結果、画質の劣化が顕著に表れて無視できないレベルである場合（ＮＧ）は、ステップＳＴ７０１に戻る。そして、透かし情報を埋め込むべきビットの数を少なくしたビット指定情報を埋め込み処理部１６に与えた後、再度ステップＳＴ７０２−ＳＴ７０６における処理を行う。
【００９８】
一方、画質的に問題がないレベルであるとき（ＯＫ）はステップＳＴ７０８に進む。そしてステップＳＴ７０８において、埋め込むべき透かし情報がすべて埋め込まれているかどうかを判断する。埋め込むべき透かし情報がすべて埋め込まれていると判断された場合は処理を完了する。これに対して、埋め込むべき透かし情報の一部が埋め込まれていないと判断された場合は、ステップＳＴ７０１に戻る。そして、透かし情報を埋め込むべきビットの数を多くしたビット指定情報を埋め込み処理部１６に与えた後、再度ステップＳＴ７０２−ＳＴ７０７における処理を行う。
【００９９】
＜効果＞
この発明の第１の実施形態による情報埋め込み装置では、圧縮画像データから付加ビットＡＤＢＩＴを抽出し、抽出した付加ビットＡＤＢＩＴのうちビット指定情報により指定されたビットに透かし情報を埋め込む。したがって、量子化後の係数（たとえば、ＤＣＴ係数など）の所定のビットに透かし情報を埋め込む従来の情報埋め込み装置と異なり、量子化後の係数を抽出するためのランレングス復号化処理を行う必要がない。また、付加ビットＡＤＢＩＴのうちビット指定情報により指定されたビットに透かし情報を埋め込むため、透かし情報の埋め込みの前後において符号語および付加ビット長は変わらない。したがって、従来の情報埋め込み装置と異なり、ランレングス符号化処理を必要とせずかつ透かし情報を埋め込んだ後に可変長符号化処理を行う必要がない。
【０１００】
このように第１の実施形態による情報埋め込み装置では、付加ビットの所定のビットに透かし情報を埋め込むため、ランレングス復号化／符号化処理および可変長符号化処理を行う必要がない。したがって、従来の情報埋め込み装置よりも全体構成を簡略化することができる。
【０１０１】
また、可変長符号化処理を行う必要がないため、従来の情報埋め込み装置と異なり、圧縮画像データの可変長復号化処理と透かし情報が埋め込まれた後のデータの可変長符号化処理とを時分割で行う必要がない。したがって、すでに圧縮されている画像データに透かし情報を埋め込む処理を従来の装置よりも高速に行うことができる。この結果、低周波数動作における高速処理が可能となるため消費電力を低減することができる。
【０１０２】
また、透かし情報が埋め込まれた圧縮画像を復元してその画質の劣化を判断し（ＳＴ７０７）、劣化が顕著な場合には、透かし情報を埋め込むべきビットの数を少なくして再度埋め込み処理を行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０１０３】
また、埋め込むべき透かし情報のすべてが埋め込まれているかどうかを判断し（ＳＴ７０８）、埋め込むべき透かし情報の一部が埋め込まれていない場合には、透かし情報を埋め込むべきビットの数を多くして再度埋め込み処理を行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【０１０４】
＜なお書き＞
ここではＪＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合について説明したが、ＭＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合にも同様の効果が得られる。
【０１０５】
また、第１の実施形態による情報埋め込み装置は必ずしもハードウエア構成を必要とするものではなくソフトウエアでも実現することができる。
【０１０６】
（第２の実施形態）
＜全体構成＞
図１１は、この発明の第２の実施形態による情報埋め込み装置の全体構成を示すブロック図である。図１１を参照して、この情報埋め込み装置は、図１に示した情報埋め込み装置に加えてさらに周波数領域判定部２０を備える。周波数領域判定部２０は、可変長復号化部１０によって抽出された符号語ＣＯＤＥが領域指定情報によって指定された領域に属するときは活性のイネーブル信号ＥＮＢを、属さないときは不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。
【０１０７】
可変長復号化部１０は、符号語ＣＯＤＥおよび付加ビットＡＤＢＩＴの抽出・符号語長Ｌおよび付加ビット長Ｍの出力に加えてさらに、符号語ＣＯＤＥに対応するランＲＲＲＲおよびグループ番号ＳＳＳＳを符号テーブル１１を参照して周波数領域判定部２０に出力する。埋め込み処理部１６は、周波数領域判定部２０から活性のイネーブル信号ＥＮＢを受けたとき、付加ビットレジスタ１２に記憶された付加ビットのうちビット指定情報によって指定されたビットに透かし情報を埋め込む。
【０１０８】
＜透かし情報の埋め込み処理＞
次に、以上のように構成された情報埋め込み装置による透かし情報の埋め込み処理について、図１２に示すフローチャートを参照しつつ説明する。
【０１０９】
まず、ステップＳＴ７０１において、ビット指定情報が埋め込み処理部１６に与えられる。
【０１１０】
次いで、ステップＳＴ１６０１において、領域指定情報が周波数領域判定部２０に与えられる。領域指定情報は、透かし情報を埋め込むべき付加ビットに対応する符号語の周波数領域を指定する情報である。具体的には図１３に示すように、領域指定情報は、ランＲＲＲＲに１を加えた値（ＲＲＲＲ＋１）の累積値の最小値ＭＩＮおよび最大値ＭＡＸを指定する情報である。この領域指定情報によって符号語の周波数領域が指定されることになる理由は以下のとおりである。
【０１１１】
可変長符号化処理において、符号語は、ＤＣＴ係数のラン／グループ番号の組み合わせに対して符号テーブル１１を用いて割り当てられる。例えば、ラン／グループ番号の組み合わせが３／４の場合、値‘０’のＤＣＴ係数が３個とその直後の値‘０’ではないＤＣＴ係数が１個の計４個のＤＣＴ係数に対して１つの符号語が割り当てられる。すなわち、１つの符号語のランＲＲＲＲに１を加算した値（ＲＲＲＲ＋１）は、その符号語に対応するＤＣＴ係数の個数を意味する。また図３に示したように、ＤＣＴ係数はジグザグスキャン順に、すなわち周波数の低い順にランレングス符号化される。したがって、（ＲＲＲＲ＋１）の累積値の最小値ＭＩＮおよび最大値ＭＡＸを指定することによって、ＭＩＮ番目のＤＣＴ係数からＭＡＸ番目のＤＣＴ係数までの間のＤＣＴ係数に対して割り当てられた符号語に対応する付加ビットに透かし情報を埋め込むことができる。図１３のように指定した場合は、５番目以後のＤＣＴ係数から２０番目までの間のＤＣＴ係数に対して、すなわち図３に示したＤＣＴ係数Ｃ５からＤＣＴ係数Ｃ２０までの間のＤＣＴ係数に対して割り当てられた符号語に対応する付加ビットに透かし情報の埋め込むことになる。このように（ＲＲＲＲ＋１）の累積値の最小値ＭＩＮおよび最大値ＭＡＸを領域指定情報として指定することにより所望の周波数領域を指定することができる。
【０１１２】
次いで、ステップＳＴ７０２において、ＪＰＥＧフォーマットで圧縮された画像データに含まれる可変長符号が可変長復号化部１０に順次与えられる。ここでは、図１４に示すような可変長符号が可変長復号化部１０に順次与えられるものとする。
【０１１３】
次いで、ステップＳＴ１６０２において、可変長復号化部１０は、図７に示したステップＳＴ７０３におけるのと同様にして、符号語ＣＯＤＥと当該符号語ＣＯＤＥに連続する付加ビットＡＤＢＩＴとを抽出し、符号語長Ｌおよび付加ビット長Ｍを出力する。さらに可変長復号化部１０は、抽出した符号語ＣＯＤＥに対応するランＲＲＲＲおよびグループ番号ＳＳＳＳを周波数領域判定部２０に出力する。これにより、図１５に示すような符号語ＣＯＤＥ・符号語長Ｌ・付加ビットＡＤＢＩＴ・付加ビット長Ｍ・ラン／グループ番号（ＲＲＲＲ／ＳＳＳＳ）が可変長符号ごとに順次得られる。
【０１１４】
可変長復号化部１０によって抽出された符号語ＣＯＤＥは符号語レジスタ１４に、付加ビットＡＤＢＩＴは付加ビットレジスタ１２に一時的に記憶される。符号語長Ｌは符号語長レジスタ１５に、付加ビット長Ｍは付加ビット長レジスタ１３に一時的に記憶される。
【０１１５】
次いで、ステップＳＴ１６０３において、周波数領域判定部２０は、可変長復号化部１０からのランＲＲＲＲに１を加えた値（ＲＲＲＲ＋１）を順次累積する。そして、図１３に示した領域指定情報で指定される範囲に（ＲＲＲＲ＋１）の累積値が属するか否かを順次判断する。属する［（ＲＲＲＲ＋１）の累積値が最小値ＭＩＮ以上かつ最大値ＭＡＸ以下である］と判断したとき周波数領域判定部２０は活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。そしてステップＳＴ７０４に進む。一方、属しないと判断したとき周波数領域判定部２０は不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。不活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、付加ビットレジスタ１２の出力をそのまま、すなわち透かし情報を埋め込まずにデータ連結部１７に出力する。そしてステップＳＴ７０５に進む。なお、（ＲＲＲＲ＋１）の累積値が値６４を超えた場合や抽出された符号語ＣＯＤＥがＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）であった場合には（ＲＲＲＲ＋１）の累積値は値０にリセットされる。
【０１１６】
ここでは、図１５に示すように、符号語‘１１１１１００１’に対する（ＲＲＲＲ＋１）の累積値は３になる。累積値３は領域指定情報で指定される範囲に属さない。したがって周波数領域判定部２０は不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。不活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、付加ビットレジスタ１２の出力をそのまま、すなわち透かし情報を埋め込まずにデータ連結部１７に出力する。そしてステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６からの付加ビットと符号語レジスタ１４からの符号語とを連結する。これにより、透かし情報が埋め込まれていない可変長符号（もとの可変長符号と同じもの）が得られる。
【０１１７】
次の符号語‘１１１０１１’に対する（ＲＲＲＲ＋１）の累積値は８になる。この累積値は領域指定情報で指定される範囲に属している。したがって周波数領域判定部２０は活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。そしてステップＳＴ７０４において、活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、付加ビットレジスタ１２の出力に対してビット指定情報に従って透かし情報を埋め込む。次いで、ステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６によって透かし情報が埋め込まれた付加ビットと符号語レジスタ１４からの符号語とを連結する。これにより、透かし情報が埋め込まれた可変長符号が得られる。
【０１１８】
以下同様にして、符号語‘１１１１１０１１１’、‘１１１１０１１’に対しては透かし情報が埋め込まれた可変長符号が、符号語‘１１１１０１０’に対しては透かし情報が埋め込まれていない可変長符号が得られる。
【０１１９】
圧縮画像データに含まれているすべての可変長符号に対して上述の処理を行うことにより、領域指定情報によって指定された周波数領域に透かし情報が埋め込まれた圧縮画像データが得られる。
【０１２０】
次いで、ステップＳＴ７０６において、透かし情報が埋め込まれた圧縮画像を復元（画像伸張）する。
【０１２１】
次いで、ステップＳＴ７０７において、復元した画像の画質を評価する。その結果、画質の劣化が顕著に表れて無視できないレベルである場合（ＮＧ）は、ステップＳＴ７０１またはステップＳＴ１６０１に戻る。ステップＳＴ７０１に戻ったときは、透かし情報を埋め込むべきビットの数を少なくしたビット指定情報を埋め込み処理部１６に与える。ステップＳＴ１６０１に戻ったときは、周波数領域を狭く（最小値ＭＩＮを大きくまたは／および最大値ＭＡＸを小さく）した領域指定情報を周波数領域判定部２０に与える。その後、再度ステップＳＴ７０２−ＳＴ７０６における処理を行う。
【０１２２】
一方、画質的に問題がないレベルであるとき（ＯＫ）はステップＳＴ７０８に進む。そしてステップＳＴ７０８において、埋め込むべき透かし情報がすべて埋め込まれているかどうかを判断する。埋め込むべき透かし情報がすべて埋め込まれていると判断された場合は処理を完了する。これに対して、埋め込むべき透かし情報の一部が埋め込まれていないと判断された場合は、ステップＳＴ７０１またはステップＳＴ１６０１に戻る。ステップＳＴ７０１に戻ったときは、透かし情報を埋め込むべきビットの数を多くしたビット指定情報を埋め込み処理部１６に与える。ステップＳＴ１６０１に戻ったときは、周波数領域を広く（最小値ＭＩＮを小さくまたは／および最大値ＭＡＸを大きく）した領域指定情報を周波数領域判定部２０に与える。その後、再度ステップＳＴ７０２−ＳＴ７０７における処理を行う。
【０１２３】
＜効果＞
通常、透かし情報が埋め込まれた画像は埋め込まれる前に比べると劣化している。ところが人間の目は、低い周波数成分の変化には敏感である一方、高い周波数の変化に対しては鈍感であるという特性を有する。
【０１２４】
第２の実施形態による情報埋め込み装置では、領域指定情報によって指定された周波数領域に属する符号語に対応する付加ビットに透かし情報を埋め込むことができる。したがって、例えば、透かし情報が埋め込まれたことによる画質の劣化を分かりにくくしたいときは、比較的高い周波数領域を指定する領域指定情報を与える。一方、ライセンス料を支払ってはじめて鑑賞できるようになる画像のような場合には、不正ユーザに対しては透かし情報を意図的に目で認識することができるような試みがなされており、このような場合には比較的低い周波数領域を指定する領域指定情報を与える。このように、用途・目的に応じた適切な周波数領域に透かし情報を埋め込むことができる。
【０１２５】
また、透かし情報が埋め込まれた圧縮画像を復元した画像の画質が著しく劣化しているときは、周波数領域を狭くした領域指定情報を周波数領域判定部２０に与えて再度埋め込み処理を行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０１２６】
また、埋め込むべき透かし情報の一部が埋め込まれていない場合には、周波数領域を広くした領域指定情報を周波数領域判定部２０に与えて再度埋め込み処理を行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【０１２７】
＜なお書き＞
なお、領域指定情報は、累積値の最小値ＭＩＮおよび最大値ＭＡＸを指定する情報としたが、これに代えて、最小値ＭＩＮまたは最大値ＭＡＸのいずれか一方だけを指定する情報としてもよい。
【０１２８】
また、第２の実施形態による情報埋め込み装置においても第１の実施形態による情報埋め込み装置と同様の効果を得ることができる。
【０１２９】
また、ここではＪＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合について説明したが、ＭＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合にも同様の効果が得られる。
【０１３０】
また、第２の実施形態による情報埋め込み装置は必ずしもハードウエア構成を必要とするものではなくソフトウエアでも実現することができる。
【０１３１】
（第３の実施形態）
＜全体構成＞
図１６は、この発明の第３の実施形態による情報埋め込み装置の全体構成を示すブロック図である。図１６を参照して、この情報埋め込み装置は、図１に示した情報埋め込み装置に加えてさらに付加ビット長判定部３０を備える。付加ビット長判定部３０は、可変長復号化部１０からの付加ビット長Ｍが付加ビット長指定情報によって指定された範囲に属するときは活性のイネーブル信号ＥＮＢを、属さないときは不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。埋め込み処理部１６は、付加ビット長判定部３０から活性のイネーブル信号ＥＮＢを受けたとき、付加ビットレジスタ１２に記憶された付加ビットのうちビット指定情報によって指定されたビットに透かし情報を埋め込む。
【０１３２】
＜透かし情報の埋め込み処理＞
次に、以上のように構成された情報埋め込み装置による透かし情報の埋め込み処理について、図１７に示すフローチャートを参照しつつ説明する。
【０１３３】
まず、ステップＳＴ７０１において、ビット指定情報が埋め込み処理部１６に与えられる。
【０１３４】
次いで、ステップＳＴ１７０１において、付加ビット長指定情報が付加ビット長判定部３０に与えられる。付加ビット長指定情報は、透かし情報を埋め込むべき付加ビットのビット長を指定する情報である。具体的には図１８に示すように、付加ビット長指定情報は、最小ビット長Ｍ（ｍｉｎ）および最大ビット長Ｍ（ｍａｘ）を指定する情報である。
【０１３５】
次いで、ステップＳＴ７０２において、ＪＰＥＧフォーマットで圧縮された画像データに含まれる可変長符号が可変長復号化部１０に順次与えられる。
【０１３６】
次いで、ステップＳＴ７０３において、可変長復号化部１０は、符号語ＣＯＤＥと当該符号語ＣＯＤＥに連続する付加ビットＡＤＢＩＴとを抽出し、符号語長Ｌおよび付加ビット長Ｍを出力する。可変長復号化部１０によって抽出された符号語ＣＯＤＥは符号語レジスタ１４に、付加ビットＡＤＢＩＴは付加ビットレジスタ１２に一時的に記憶される。符号語長Ｌは符号語長レジスタ１５に、付加ビット長Ｍは付加ビット長レジスタ１３に一時的に記憶される。
【０１３７】
次いで、ステップＳＴ１７０２において、付加ビット長判定部３０は、付加ビット長指定情報で指定される範囲に可変長復号化部１０からの付加ビット長Ｍが属するか否かを順次判断する。属する［付加ビット長Ｍが最小ビット長Ｍ（ｍｉｎ）以上かつ最大ビット長Ｍ（ｍａｘ）以下である］と判断したとき、付加ビット長判定部３０は活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。そしてステップＳＴ７０４において、活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、ビット指定情報に従って付加ビットレジスタ１２の出力に透かし情報を埋め込む。次いで、ステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６によって透かし情報が埋め込まれた付加ビットと符号語レジスタ１４からの符号語とを連結する。これにより、透かし情報が埋め込まれた可変長符号が得られる。一方、ステップＳＴ１７０２において属さない［付加ビット長Ｍが最小ビット長Ｍ（ｍｉｎ）よりも小さいまたは最大ビット長Ｍ（ｍａｘ）よりも大きい］と判断したとき、付加ビット長判定部３０は不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。不活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、付加ビットレジスタ１２の出力をそのまま、すなわち透かし情報を埋め込まずにデータ連結部１７に出力する。そしてステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６からの付加ビットと符号語レジスタ１４からの符号語とを連結する。これにより、透かし情報が埋め込まれていない可変長符号（もとの可変長符号と同じもの）が得られる。
【０１３８】
圧縮画像データに含まれているすべての可変長符号に対して上述の処理を行うことにより、付加ビット長指定情報によって指定された範囲に属する付加ビットに透かし情報が埋め込まれた圧縮画像データが得られる。
【０１３９】
次いで、ステップＳＴ７０６において、透かし情報が埋め込まれた圧縮画像を復元（画像伸張）する。
【０１４０】
次いで、ステップＳＴ７０７において、復元した画像の画質を評価する。その結果、画質の劣化が顕著に表れて無視できないレベルである場合（ＮＧ）は、ステップＳＴ７０１またはステップＳＴ１７０１に戻る。ステップＳＴ７０１に戻ったときは、透かし情報を埋め込むべきビットの数を少なくしたビット指定情報を埋め込み処理部１６に与える。ステップＳＴ１７０１に戻ったときは、付加ビット長の範囲を狭く［最小ビット長Ｍ（ｍｉｎ）を大きくまたは／および最大ビット長Ｍ（ｍａｘ）を小さく］した付加ビット長指定情報を付加ビット長判定部３０に与える。その後、再度ステップＳＴ７０２−ＳＴ７０６における処理を行う。
【０１４１】
一方、画質的に問題がないレベルであるとき（ＯＫ）はステップＳＴ７０８に進む。そしてステップＳＴ７０８において、埋め込むべき透かし情報がすべて埋め込まれているかどうかを判断する。埋め込むべき透かし情報がすべて埋め込まれていると判断された場合は処理を完了する。これに対して、埋め込むべき透かし情報の一部が埋め込まれていないと判断された場合は、ステップＳＴ７０１またはステップＳＴ１７０１に戻る。ステップＳＴ７０１に戻ったときは、透かし情報を埋め込むべきビットの数を多くしたビット指定情報を埋め込み処理部１６に与える。ステップＳＴ１７０１に戻ったときは、付加ビット長の範囲を広く（最小ビット長Ｍ（ｍｉｎ）を小さくまたは／および最大ビット長Ｍ（ｍａｘ）を大きく）した付加ビット長指定情報を付加ビット長判定部３０に与える。その後、再度ステップＳＴ１７０２−ＳＴ７０６における処理を行う。
【０１４２】
＜効果＞
圧縮画像データに含まれる符号語の数は画像によってまちまちである。埋め込むべき透かし情報のデータ量が比較的多いときは圧縮画像データに含まれるすべての符号語に対応する付加ビットに透かし情報を埋め込む必要がある。しかし、埋め込むべき透かし情報のデータ量が比較的少ないときは必ずしもすべての符号語に対応する付加ビットに透かし情報を埋め込む必要はなく、一部の符号語に対応する付加ビットに透かし情報を埋め込めばよい。このとき、発生頻度が高い（圧縮画像データに含まれる割合が高い）符号語に対応する付加ビットにだけ透かし情報を埋めこんだ場合よりも発生頻度が低い（圧縮画像データに含まれる割合が低い）符号語に対応する付加ビットにだけ透かし情報を埋め込んだ場合のほうが画質の劣化が認識されにくい。
【０１４３】
通常、量子化後のＤＣＴ係数は、その値が大きくなるにつれてその発生頻度が低くなる。また、図４に示すように、値が大きくなる（発生頻度が低くなる）につれて、割り当てられるグループ番号ＳＳＳＳが大きくなる。さらに、グループ番号ＳＳＳＳが大きくなるにつれて、割り当てられる付加ビット数は多くなる。したがって、発生頻度が低くなるにつれて、割り当てられる付加ビット数が多くなる。また、通常、図６に示すように、グループ番号ＳＳＳＳが大きくなるにつれて、割り当てられる符号語の長さ（符号長）が長くなるように符号テーブルは設定される。すなわち、符号語の発生頻度が低い（圧縮画像データに含まれる割合が低い）ほど、対応するグループ番号が大きくかつ付加ビット数が多く（付加ビット長が長く）なる。
【０１４４】
第３の実施形態による情報埋め込み装置では、付加ビット長指定情報によって指定された範囲に属するビット長を有する付加ビットに透かし情報が埋め込まれる。したがって、例えば、埋め込むべき透かし情報のデータ量が比較的少ないときは、比較的長いビット長を有する（発生頻度が低い）付加ビットに透かし情報を埋め込む。これにより、透かし情報が埋め込まれている個所が画面上で分散されるため画質の劣化が認識されにくくなる。このように、用途・目的に応じた適切なビット長を有する付加ビットに透かし情報を埋め込むことができる。
また、透かし情報が埋め込まれた圧縮画像を復元した画像の画質が著しく劣化しているときは、ビット長の範囲を狭くした付加ビット長指定情報を付加ビット長判定部３０に与えて再度埋め込み処理を行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０１４５】
また、埋め込むべき透かし情報の一部が埋め込まれていない場合には、ビット長の範囲を広くした付加ビット長指定情報を付加ビット長判定部３０に与えて再度埋め込み処理を行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【０１４６】
＜なお書き＞
なお、付加ビット長指定情報は、最小ビット長Ｍ（ｍｉｎ）および最大ビット長Ｍ（ｍａｘ）を指定する情報としたが、これに代えて、最小ビット長Ｍ（ｍｉｎ）または最大ビット長Ｍ（ｍａｘ）のいずれか一方だけを指定する情報としてもよい。
【０１４７】
また、第３の実施形態による情報埋め込み装置においても第１の実施形態による情報埋め込み装置と同様の効果を得ることができる。
【０１４８】
また、ここではＪＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合について説明したが、ＭＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合にも同様の効果が得られる。
【０１４９】
また、第３の実施形態による情報埋め込み装置は必ずしもハードウエア構成を必要とするものではなくソフトウエアでも実現することができる。
【０１５０】
（第４の実施形態）
＜全体構成＞
図１９は、この発明の第４の実施形態による情報埋め込み装置の全体構成を示すブロック図である。図１９に示す情報埋め込み装置は、図１に示した情報埋め込み装置に加えてさらに色成分判定部４０を備える。色成分判定部４０は、可変長復号化部１０によって抽出された色成分情報ＣＯＬＯＲが色成分指定情報によって指定された色成分であるときは活性のイネーブル信号ＥＮＢを、そうでないときは不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。
【０１５１】
可変長復号化部１０は、符号語ＣＯＤＥおよび付加ビットＡＤＢＩＴの抽出・符号語長Ｌおよび付加ビット長Ｍの出力に加えてさらに、色成分情報ＣＯＬＯＲを圧縮画像データから抽出して色成分判定部４０に出力する。色成分情報ＣＯＬＯＲは、可変長復号化部１０に与えられる可変長符号の色成分（Ｙ，Ｕ，Ｖ）を示す情報である。埋め込み処理部１６は、色成分判定部４０から活性のイネーブル信号ＥＮＢを受けたとき、付加ビットレジスタ１２に記憶された付加ビットのうちビット指定情報によって指定されたビットに透かし情報を埋め込む。
【０１５２】
＜透かし情報の埋め込み処理＞
次に、以上のように構成された情報埋め込み装置による透かし情報の埋め込み処理について、図２０に示すフローチャートを参照しつつ説明する。
【０１５３】
まず、ステップＳＴ７０１において、ビット指定情報が埋め込み処理部１６に与えられる。
【０１５４】
次いで、ステップＳＴ２００１において、色成分指定情報が色成分判定部４０に与えられる。色成分指定情報は、透かし情報を埋め込むべき色成分を指定する情報である。色成分とは、画像データを構成する要素である輝度成分Ｙおよび色差成分Ｕ，Ｖのことである。具体的には図２１に示すように、色成分指定情報は、輝度成分について指定する情報ＹＥおよび色差成分について指定する情報ＵＥ，ＶＥを含んでいる。透かし情報を埋め込むべき色成分に対する指定情報ＹＥ，ＵＥ，ＶＥは１に、透かし情報を埋め込まない色成分に対する指定情報ＹＥ，ＵＥ，ＶＥは０に設定される。例えば、図２１において、ＹＥ＝０・ＵＥ＝１・ＶＥ＝１である色成分指定情報は、輝度成分Ｙにおける付加ビットに対しては透かし情報を埋め込まず、色差成分Ｕ，Ｖにおける付加ビットに対してのみ透かし情報を埋め込むように指定する情報である。
【０１５５】
次いで、ステップＳＴ７０２において、ＪＰＥＧフォーマットで圧縮された画像データに含まれる可変長符号が可変長復号化部１０に順次与えられる。
【０１５６】
次いで、ステップＳＴ２００２において、可変長復号化部１０は、図７に示したステップＳＴ７０３におけるのと同様にして、符号語ＣＯＤＥと当該符号語ＣＯＤＥに連続する付加ビットＡＤＢＩＴとを抽出し、符号語長Ｌおよび付加ビット長Ｍを出力する。さらに可変長復号化部１０は、色成分情報ＣＯＬＯＲを圧縮画像データから抽出して色成分判定部４０に出力する。可変長復号化部１０によって抽出された符号語ＣＯＤＥは符号語レジスタ１４に、付加ビットＡＤＢＩＴは付加ビットレジスタ１２に一時的に記憶される。符号語長Ｌは符号語長レジスタ１５に、付加ビット長Ｍは付加ビット長レジスタ１３に一時的に記憶される。
【０１５７】
次いで、ステップＳＴ２００３において、色成分判定部４０には、可変長復号化部１０からの色成分情報ＣＯＬＯＲと色成分指定情報とを比較する。色成分指定情報のうち値が１である指定情報ＹＥ，ＵＥ，ＶＥのいずれかと色成分情報ＣＯＬＯＲとが一致するとき、色成分判定部４０は活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。そしてステップＳＴ７０４において、活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、ビット指定情報に従って付加ビットレジスタ１２の出力に透かし情報を埋め込む。次いで、ステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６によって透かし情報が埋め込まれた付加ビットと符号語レジスタ１４からの符号語とを連結する。これにより、透かし情報が埋め込まれた可変長符号が得られる。
【０１５８】
一方、ステップＳＴ２００３における比較の結果、色成分指定情報のうちの値が１である指定情報ＹＥ，ＵＥ，ＶＥのいずれとも色成分情報ＣＯＬＯＲが一致しないとき、色成分判定部４０は不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。不活性のイネーブル信号ＥＮＢを受けた埋め込み処理部１６は、付加ビットレジスタ１２の出力をそのまま、すなわち透かし情報を埋め込まずにデータ連結部１７に出力する。そしてステップＳＴ７０５において、データ連結部１７は、埋め込み処理部１６からの付加ビットと符号語レジスタ１４からの符号語とを連結する。これにより、透かし情報が埋め込まれていない可変長符号（もとの可変長符号と同じもの）が得られる。
【０１５９】
圧縮画像データに含まれているすべての可変長符号に対して上述の処理を行うことにより、色成分指定情報によって指定された色成分の符号語に対する付加ビットに透かし情報が埋め込まれた圧縮画像データが得られる。
【０１６０】
次いで、ステップＳＴ７０６において、透かし情報が埋め込まれた圧縮画像を復元（画像伸張）する。
【０１６１】
次いで、ステップＳＴ７０７において、復元した画像の画質を評価する。その結果、画質の劣化が顕著に表れて無視できないレベルである場合（ＮＧ）は、ステップＳＴ７０１またはステップＳＴ２００１に戻る。ステップＳＴ７０１に戻ったときは、透かし情報を埋め込むべきビットの数を少なくしたビット指定情報を埋め込み処理部１６に与える。ステップＳＴ２００１に戻ったときは、指定情報ＹＥ，ＵＥ，ＶＥの設定を変更した色成分指定情報を色成分判定部４０に与える。例えば、（ＹＥ＝１，ＵＥ＝０，ＶＥ＝０）のように設定されていた色成分指定情報に代えて、（ＹＥ＝０，ＵＥ＝１，ＶＥ＝０）のように設定を変更した色成分指定情報を与える。これは、「人間の目は、輝度成分の変化には敏感であるが、色差成分の変化に対しては鈍感である」という特性を利用したものである。その後、再度ステップＳＴ７０２−ＳＴ７０６における処理を行う。
【０１６２】
一方、画質的に問題がないレベルであるとき（ＯＫ）はステップＳＴ７０８に進む。そしてステップＳＴ７０８において、埋め込むべき透かし情報がすべて埋め込まれているかどうかを判断する。埋め込むべき透かし情報がすべて埋め込まれていると判断された場合は処理を完了する。これに対して、埋め込むべき透かし情報の一部が埋め込まれていないと判断された場合は、ステップＳＴ７０１またはステップＳＴ２００１に戻る。ステップＳＴ７０１に戻ったときは、透かし情報を埋め込むべきビットの数を多くしたビット指定情報を埋め込み処理部１６に与える。ステップＳＴ２００１に戻ったときは、透かし情報を埋め込むべき色成分を多くした色成分指定情報を色成分判定部４０に与える。例えば、（ＹＥ＝１，ＵＥ＝０，ＶＥ＝０）のように設定されていた色成分指定情報に代えて、（ＹＥ＝１，ＵＥ＝１，ＶＥ＝０）のように設定を変更した色成分指定情報を与える。その後、再度ステップＳＴ７０２−ＳＴ７０７における処理を行う。
【０１６３】
＜効果＞
通常、透かし情報が埋め込まれた画像は埋め込まれる前に比べると劣化している。ところが人間の目は、輝度成分の変化には敏感である一方、色差成分の変化に対しては鈍感であるという特性を有する。
【０１６４】
第４の実施形態による情報埋め込み装置では、色成分指定情報によって指定された色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。したがって、例えば、透かし情報を埋め込んだことによる画質の劣化をわかりにくくしたいときには色差成分の符号語に対応する付加ビットに透かし情報を埋め込むようにする。これにより、画質の劣化の影響を抑制することができる。このように、用途・目的に応じた適切な色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。
【０１６５】
また、透かし情報が埋め込まれた圧縮画像を復元した画像の画質が著しく劣化しているときは、指定情報（ＹＥ，ＵＥ，ＶＥ）を変更した色成分指定情報を色成分判定部４０に与えて再度埋め込み処理を行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０１６６】
また、埋め込むべき透かし情報の一部が埋め込まれていないきは、透かし情報を埋め込むべき色成分を多くした色成分指定情報を色成分判定部４０に与えて再度埋め込み処理を行う。これにより、埋め込む必要がある透かし情報を確実に埋め込むことができる。
【０１６７】
＜なお書き＞
なお、第４の実施形態による情報埋め込み装置においても第１の実施形態による情報埋め込み装置と同様の効果を得ることができる。
【０１６８】
また、ここではＪＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合について説明したが、ＭＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合にも同様の効果が得られる。
【０１６９】
また、第４の実施形態による情報埋め込み装置は必ずしもハードウエア構成を必要とするものではなくソフトウエアでも実現することができる。
【０１７０】
（第５の実施形態）
＜全体構成＞
図２２は、この発明の第５の実施形態による情報埋め込み装置の全体構成を示すブロック図である。図２２に示す情報埋め込み装置は、図１に示した情報埋め込み装置に加えてさらに、符号語カウンタ５０と、埋め込みビット指定部５１とを備える。符号語カウンタ５０は、可変長復号化部１０によって抽出された符号語ＣＯＤＥの数すなわち符号語数をカウントする。埋め込みビット指定部５１は、符号語カウンタ５０によってカウントされた符号語数および埋め込むべき透かし情報の情報量に基づいてビット指定情報を生成し、埋め込み処理部１６に出力する。
【０１７１】
＜前処理＞
次に、図２２に示した情報埋め込み装置による透かし情報の埋め込み処理について図２３を参照しつつ説明する。以下の説明では、図７に示したフローチャートと異なる処理である前処理（ＳＴ２３０１−ＳＴ２３０４）について説明する。
【０１７２】
まず、ステップＳＴ２３０１において、図７に示したステップＳＴ７０２におけるのと同様にして、ＪＰＥＧフォーマットで圧縮された画像データに含まれる可変長符号が可変長復号化部１０に順次与えられる。
【０１７３】
次いで、ステップＳＴ２３０２において、可変長復号化部１０は、図７に示したステップＳＴ７０３におけるのと同様にして、符号語ＣＯＤＥを順次抽出する。
【０１７４】
次いで、ステップＳＴ２３０３において、符号語カウンタ５０は、可変長復号化部１０によって抽出された符号語の数をカウントする。圧縮画像データに含まれるすべての符号語をカウントすると、符号語カウンタ５０は、圧縮画像データに含まれるすべての符号語の数ＣＯＤＥ（ＭＡＸ）を埋め込みビット指定部５１に出力する。
【０１７５】
次いで、ステップＳＴ２３０４において、埋め込みビット指定部５１は、圧縮画像データに含まれる符号語の数ＣＯＤＥ（ＭＡＸ）と埋め込む必要がある透かし情報のデータ量ＤＩＮＦＯとに基づいてビット指定情報を生成し、埋め込み処理部１６に出力する。具体的には以下に示すとおりである。
【０１７６】
（１）  ＤＩＮＦＯ  ＜  ＣＯＤＥ（ＭＡＸ）  の場合
すなわち、埋め込む必要がある透かし情報のデータ量のほうが圧縮画像データに含まれる符号語の数よりも小さい場合である。この場合、付加ビットのうち透かし情報を埋め込むべきビットの数は１ビットでよい。したがって、埋め込みビット指定部５１は、透かし情報を埋め込むべきビットとして付加ビットの１ビットを指定するビット指定情報を生成し、出力する。
【０１７７】
（２）  ＤＩＮＦＯ  ＞  ＣＯＤＥ（ＭＡＸ）  の場合
すなわち、埋め込む必要がある透かし情報のデータ量のほうが圧縮画像データに含まれる符号語の数よりも大きい場合である。この場合に透かし情報を埋め込むべきビットとして付加ビットの１ビットを指定してしまうと、埋め込む必要がある透かし情報の一部が埋め込めないために埋め込み処理をやり直すことになる。したがって、透かし情報を埋め込むべきビットとして付加ビットの複数ビットを指定する必要がある。そこで、埋め込みビット指定部５１は、
ＭＪ  ＞  ＤＩＮＦＯ／ＣＯＤＥ（ＭＡＸ）
を満たすような整数ＭＪを求める。そして、埋め込みビット指定部５１は、透かし情報を埋め込むべきビットとして付加ビットのＭＪビットを指定するビット指定情報を生成し、出力する。このとき、上述の条件を満たす整数ＭＪのうちできるだけ小さいものを選択することが望ましい。これにより、透かし情報を画面上に均一に埋め込むことができる。この結果、画面上のある一部に偏って透かし情報が埋め込まれた場合（例えば上半分だけに透かし情報が埋め込まれたような場合）と比べると、画質の劣化が認識されにくくなる。
【０１７８】
以上のような前処理を経た後、ふたたび可変長符号を入力し（ＳＴ７０２）、透かし情報の埋め込みを順次行う（ＳＴ７０３−ＳＴ７０８）。
【０１７９】
＜効果＞
以上のように第５の実施形態による情報埋め込み装置では、圧縮画像データに含まれる符号語の数ＣＯＤＥ（ＭＡＸ）および埋め込む必要がある透かし情報のデータ量ＤＩＮＦＯに基づいてビット指定情報を生成するため、透かし情報の埋め込み処理のやり直しを防止することができる。また、画質の劣化ができるだけ認識されにくくなるように均一に透かし情報を埋め込むことができる。
【０１８０】
＜なお書き＞
なお、第５の実施形態による情報埋め込み装置においても第１の実施形態による情報埋め込み装置と同様の効果を得ることができる。
【０１８１】
また、ここではＪＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合について説明したが、ＭＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合にも同様の効果が得られる。
【０１８２】
また、第５の実施形態による情報埋め込み装置は必ずしもハードウエア構成を必要とするものではなくソフトウエアでも実現することができる。
【０１８３】
（第６の実施形態）
＜全体構成＞
図２４は、この発明の第６の実施形態による情報埋め込み装置の全体構成を示すブロック図である。図２４に示す情報埋め込み装置は、図１１に示した情報埋め込み装置に加えてさらに、領域符号語カウンタ６０と、周波数領域指定部６１とを備える。領域符号語カウンタ６０は、周波数領域判定部２０から出力される活性のイネーブル信号ＥＮＢの数をカウントする。周波数領域指定部６１は、領域符号語カウンタ６０によってカウントされたイネーブル信号ＥＮＢの数に基づいて領域指定情報を生成し、周波数領域判定部２０に出力する。
【０１８４】
＜前処理＞
次に、図２４に示した情報埋め込み装置による透かし情報の埋め込み処理について図２５を参照しつつ説明する。以下の説明では、図１２に示したフローチャートと異なる処理である前処理（ＳＴ２５０１−ＳＴ２５０６）について説明する。
【０１８５】
まず、ステップＳＴ２５０１において、図１２に示したステップＳＴ７０１におけるのと同様にして、ビット指定情報が埋め込み処理部１６に与えられる。
次いで、ステップＳＴ２５０２において、周波数領域指定部６１は、所定の領域（第２の周波数領域）を指定する領域指定情報を生成し、周波数領域判定部２０に出力する。この領域指定情報は図１３に示したのと同様のものである。
次いで、ステップＳＴ２５０３において、図１２に示したステップＳＴ７０２におけるのと同様にして、ＪＰＥＧフォーマットで圧縮された画像データに含まれる可変長符号が可変長復号化部１０に順次与えられる。
【０１８６】
次いで、ステップＳＴ２５０４において、可変長復号化部１０は、図１２に示したステップＳＴ１６０２におけるのと同様にして、符号語ＣＯＤＥを順次抽出し、かつ、抽出した符号語ＣＯＤＥに対応するランＲＲＲＲおよびグループ番号ＳＳＳＳを周波数領域判定部２０に出力する。
【０１８７】
次いで、ステップＳＴ２５０５において、周波数領域判定部２０は、図１２に示したステップＳＴ１６０３におけるのと同様にして、可変長復号化部１０からのランＲＲＲＲに１を加えた値（ＲＲＲＲ＋１）を順次累積する。そして、領域指定情報で指定される範囲に（ＲＲＲＲ＋１）の累積値が属するか否かを順次判断する。属すると判断したとき周波数領域判定部２０は活性のイネーブル信号ＥＮＢを出力する。一方、属しないと判断したとき周波数領域判定部２０は不活性のイネーブル信号ＥＮＢを埋め込み処理部１６に出力する。
【０１８８】
領域符号語カウンタ６０は、周波数領域判定部２０から出力される活性のイネーブル信号ＥＮＢの数をカウントする。これにより、領域指定情報によって指定された領域（第２の周波数領域）に属する符号語の数がカウントされることになる。そして、圧縮画像データに含まれるすべての符号語についてのカウントが終了すると、領域符号語カウンタ６０は、カウント値ＣＯＤＥ（ＥＮＢ）を周波数領域指定部６１に出力する。このカウント値ＣＯＤＥ（ＥＮＢ）は、圧縮画像データに含まれる符号語のうち第２の周波数領域に属する符号語の数を表している。
【０１８９】
次いで、ステップＳＴ２５０６において、周波数領域指定部６１は、まず、圧縮画像データに埋め込むことができる透かし情報のデータ量の最大値ＤＩＮＦＯ（ＭＡＸ）を算出する。最大値ＤＩＮＦＯ（ＭＡＸ）の算出は、
ＤＩＮＦＯ（ＭＡＸ）  ＝  ＭＪ  ×  ＣＯＤＥ（ＥＮＢ）
で表される式に従って行われる。ＭＪは、１つの付加ビットにおける透かし情報を埋め込むべきビットの数である。
【０１９０】
次いで、周波数領域指定部６１は、埋め込む必要がある透かし情報のデータ量ＤＩＮＦＯと最大値ＤＩＮＦＯ（ＭＡＸ）とを比較し、その結果に基づいて以下のような処理を行う。
【０１９１】
（１）  ＤＩＮＦＯ  ＜  ＤＩＮＦＯ（ＭＡＸ）の場合
ステップＳＴ２５０２に戻り、周波数領域を狭くした領域指定情報を周波数領域判定部２０に与える。そして、再び、ステップＳＴ２５０３−ＳＴ２５０６における処理を行う。
【０１９２】
（２）  ＤＩＮＦＯ  ＞  ＤＩＮＦＯ（ＭＡＸ）の場合
ステップＳＴ２５０２に戻り、周波数領域を広くした領域指定情報を周波数領域判定部２０に与える。そして、再び、ステップＳＴ２５０３−ＳＴ２５０６における処理を行う。
【０１９３】
（３）  ＤＩＮＦＯ  ≒  ＤＩＮＦＯ（ＭＡＸ）の場合
ステップＳＴ７０２に進む。
【０１９４】
このように、領域指定情報によって指定された周波数領域に埋め込むことができる透かし情報のデータ量の最大値ＤＩＮＦＯ（ＭＡＸ）と埋め込む必要がある透かし情報のデータ量ＤＩＮＦＯとがおおよそ等しくなるように領域指定情報を調整する。そして、ＤＩＮＦＯ  ≒  ＤＩＮＦＯ（ＭＡＸ）（ただし、ＤＩＮＦＯ  ≦  ＤＩＮＦＯ（ＭＡＸ））となるような領域指定情報が得られると、以後ステップＳＴ７０２−ＳＴ７０８において透かし情報の埋め込み処理が当該領域指定情報に従って行われる。
【０１９５】
＜効果＞
以上のように第６の実施形態による情報埋め込み装置では、前処理ＳＴ２５０１−ＳＴ２５０６を行うため、領域指定情報によって指定された周波数領域に埋め込むことができる透かし情報のデータ量の最大値ＤＩＮＦＯ（ＭＡＸ）と埋め込む必要がある透かし情報のデータ量ＤＩＮＦＯとがおおよそ等しくなるような領域指定情報が得られる。これにより、埋め込み処理のやり直しを防止することができる。
【０１９６】
また、付加ビットに透かし情報を埋め込むと元々（情報埋め込み前）の付加ビットが変化するため、画像を復元したときの画質の劣化が問題となる。しかし、第６の実施形態による情報埋め込み装置によれば、透かし情報を埋め込む周波数領域ができる限り狭く設定されるため、画像を復元したときの画質の劣化を最小限に抑えることができる。
【０１９７】
＜なお書き＞
なお、第６の実施形態による情報埋め込み装置においても第２の実施形態による情報埋め込み装置と同様の効果を得ることができる。
【０１９８】
また、ここではＪＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合について説明したが、ＭＰＥＧフォーマットで圧縮された画像データに透かし情報を埋め込む場合にも同様の効果が得られる。
【０１９９】
また、第６の実施形態による情報埋め込み装置は必ずしもハードウエア構成を必要とするものではなくソフトウエアでも実現することができる。
【０２００】
（第７の実施形態）
＜透かし情報の埋め込み＞
図２６は、この発明の第７の実施形態による透かし情報の埋め込み方法の手順を示すフローチャートである。図２６に示す透かし情報の埋め込み方法は、透かし情報を埋め込んだ付加ビットのビットを示す情報をヘッダ情報として生成し、当該ヘッダ情報を可変長符号と多重化することを特徴とする。以下、図２６を参照しつつ説明する。
【０２０１】
まず、ステップＳＴ２６０１において、付加ビットのうち透かし情報を埋め込むべきビットを指定する。
【０２０２】
次いで、ステップＳＴ２６０２において、付加ビットの、ステップＳＴ２６０１において指定されたビットに透かし情報を埋め込む。透かし情報の埋め込み処理は第１の実施形態において説明したのと同様の処理によって行う。
【０２０３】
ステップＳＴ２６０２と並行してステップＳＴ２６０３において、付加ビットのどのビットに透かし情報が埋め込まれたかを示すヘッダ情報を生成する。
【０２０４】
次いで、ステップＳＴ２６０４において、ステップＳＴ２６０３によって生成されたヘッダ情報と、ステップＳＴ２６０２によって透かし情報が埋め込まれた可変長符号とを多重化（ビットストリーム結合）して、図２７に示すようなビットストリームデータを生成する。
【０２０５】
＜透かし情報の取り出し＞
図２８は、図２６に示した透かし情報の埋め込み方法によって生成されたビットストリームデータから透かし情報を取り出す方法の手順を示すフローチャートである。以下、図２８を参照しつつ説明する。
【０２０６】
まず、ステップＳＴ２８０１において、ビットストリームデータ中のヘッダ情報の解析を行う。上述のとおり、ヘッダ情報は、付加ビットのどのビットに透かし情報が埋め込まれたかを示す情報である。
【０２０７】
次いで、ステップＳＴ２８０２において、ヘッダ情報の解析の結果から付加ビットのうち透かし情報が埋め込まれているビットが認識される。
【０２０８】
次いで、ステップＳＴ２８０３において、可変長復号化処理が行われて付加ビットが順次抽出される。ここでの可変長復号化処理は、図７のステップＳＴ７０３における処理と同様の処理である。そして、抽出された付加ビットからステップＳＴ２８０２において認識されたビットのデータを取り出す。このようにして透かし情報が取り出される。
【０２０９】
＜効果＞
以上のように、第７の実施形態による透かし情報の埋め込み方法では、透かし情報を埋め込んだ付加ビットのビットを示すヘッダ情報を可変長符号と多重化する。また、第７の実施形態による透かし情報の取り出し方法では、透かし情報が埋め込まれたビットをヘッダ情報に基づいて認識し、可変長復号化処理によって抽出された付加ビットから当該認識したビットのデータを取り出す。したがって、埋め込まれた透かし情報を忠実に取り出すことができる。
【０２１０】
（第８の実施形態）
＜透かし情報の埋め込み＞
図２９は、この発明の第８の実施形態による透かし情報の埋め込み方法の手順を示すフローチャートである。図２９に示す透かし情報の埋め込み方法は、透かし情報が埋め込まれた付加ビットが属する周波数領域を示すヘッダ情報を生成し、当該ヘッダ情報を可変長符号と多重化することを特徴とする。以下、図２９を参照しつつ説明する。
【０２１１】
まず、ステップＳＴ２９０１において、透かし情報を埋め込むべき付加ビットの周波数領域を指定する。
【０２１２】
次いで、ステップＳＴ２９０２において、指定した周波数領域に属する付加ビットに透かし情報を埋め込む。透かし情報の埋め込み処理は第２の実施形態において説明したのと同様の処理によって行う。
【０２１３】
ステップＳＴ２９０２と並行してステップＳＴ２９０３において、透かし情報が埋め込まれた付加ビットの周波数領域情報を示すヘッダ情報を生成する。
【０２１４】
次いで、ステップＳＴ２９０４において、ステップＳＴ２９０３によって生成されたヘッダ情報と、ステップＳＴ２９０２によって透かし情報が埋め込まれた可変長符号とを多重化（ビットストリーム結合）して、図２７に示すようなビットストリームデータを生成する。
【０２１５】
＜透かし情報の取り出し＞
図３０は、図２９に示した透かし情報の埋め込み方法によって生成されたビットストリームデータから透かし情報を取り出す方法の手順を示すフローチャートである。以下、図３０を参照しつつ説明する。
【０２１６】
まず、ステップＳＴ３００１において、ビットストリームデータ中のヘッダ情報の解析を行う。上述のとおり、ヘッダ情報は、透かし情報が埋め込まれた付加ビットの属する周波数領域を示す情報である。
【０２１７】
次いで、ステップＳＴ３００２において、ヘッダ情報の解析の結果から、透かし情報が埋め込まれた付加ビットの属する周波数領域が認識される。
【０２１８】
次いで、ステップＳＴ３００３において、可変長復号化処理が行われて付加ビットが順次抽出される。そして、抽出された付加ビットのうちステップＳＴ３００２において認識された周波数領域に属する付加ビットの所定のビットのデータが取り出される。所定のビットとは、透かし情報を埋め込むべきビットとしてあらかじめ指定されているビットである。このようにして透かし情報が取り出される。
【０２１９】
＜効果＞
以上のように、第８の実施形態による透かし情報の埋め込み方法では、透かし情報を埋め込んだ付加ビットが属する周波数領域を示すヘッダ情報を可変長符号と多重化する。また、第８の実施形態による透かし情報の取り出し方法では、透かし情報が埋め込まれた付加ビットが属する周波数領域をヘッダ情報に基づいて認識し、可変長復号化処理によって抽出された付加ビットのうち当該周波数領域に属する付加ビットから透かし情報を取り出す。したがって、埋め込まれた透かし情報を忠実に取り出すことができる。
【０２２０】
【発明の効果】
この発明の１つの局面に従った情報埋め込み装置では、付加ビットの所定のビットに透かし情報を埋め込むため、ランレングス復号化／符号化処理および可変長符号化処理を行う必要がない。したがって、従来の情報埋め込み装置よりも全体構成を簡略化することができる。
【０２２１】
また、可変長符号化処理を行う必要がないため、すでに圧縮されている画像データに透かし情報を埋め込む処理を従来の装置よりも高速に行うことができる。この結果、低周波数動作における高速処理が可能となるため消費電力を低減することができる。
【０２２２】
また、領域判定手段を設けたため、用途・目的に応じた適切な周波数領域に透かし情報を埋め込むことができる。
【０２２３】
また、ビット長判定手段を設けたため、用途・目的に応じた適切なビット長を有する付加ビットに透かし情報を埋め込むことができる。
【０２２４】
また、色成分判定手段を設けたため、用途・目的に応じた適切な色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。
【０２２５】
また、符号語カウンタを設けたため、圧縮画像データに含まれている符号語の数をあらかじめ知ることができる。
【０２２６】
また、埋め込みビット指定手段を設けたため、透かし情報の埋め込み処理のやり直しを防止することができる。また、画質の劣化ができるだけ認識されにくくなるように均一に透かし情報を埋め込むことができる。
【０２２７】
また、領域符号語カウンタを設けたため、圧縮画像データに含まれている符号語のうち第２の周波数領域に属する符号語の数をあらかじめ知ることができる。
【０２２８】
また、周波数領域指定手段を設けたため、透かし情報の埋め込み処理のやり直しを防止することができる。
【０２２９】
また、ヘッダ情報生成手段と、多重化手段とを設けたため、画像復元時にヘッダ情報を解析することによって、埋め込んだ透かし情報を忠実に取り出すことができる。
【０２３０】
この発明のもう１つの局面に従った情報取り出し装置は、解析手段と、可変長復号化手段と、取り出し手段とを設けたため、埋め込まれた透かし情報を忠実に取り出すことができる。
【０２３１】
この発明のさらにもう１つの局面に従った情報埋め込み方法では、付加ビットの所定のビットに透かし情報を埋め込むため、ランレングス復号化／符号化処理および可変長符号化処理を行う必要がない。したがって、従来の情報埋め込み方法よりも全体の処理を簡略化することができる。また、可変長符号化処理を行う必要がないため、すでに圧縮されている画像データに透かし情報を埋め込む処理を従来の方法よりも高速に行うことができる。
【０２３２】
また、透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて所定のビットの数を少なくして、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０２３３】
また、埋め込むべき透かし情報の一部を埋め込めなかったときは、所定のビットの数を多くして、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【０２３４】
また、抽出ステップによって抽出された符号語が第１の周波数領域に属するか否かを判定するステップを設けたため、用途・目的に応じた適切な周波数領域に透かし情報を埋め込むことができる。
【０２３５】
また、透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて第１の周波数領域を狭くして、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０２３６】
また、埋め込むべき透かし情報の一部を埋め込めなかったときは、第１の周波数領域を広くして、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【０２３７】
また、抽出ステップによって抽出された付加ビットが所定のビット長を有するか否かを判定するステップを設けたため、用途・目的に応じた適切なビット長を有する付加ビットに透かし情報を埋め込むことができる。
【０２３８】
また、透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて所定のビット長の範囲を狭くして、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０２３９】
また、埋め込むべき透かし情報の一部を埋め込めなかったときは、所定のビット長の範囲を広くして、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、埋め込むべき透かし情報のすべてを確実に埋め込むことができる。
【０２４０】
また、抽出ステップによって抽出された符号語の色成分が所定の色成分であるか否かを判定するステップを設けたため、用途・目的に応じた適切な色成分の符号語に対応する付加ビットに透かし情報を埋め込むことができる。
【０２４１】
また、透かし情報が埋め込まれた圧縮画像データを復元し、復元された画像の劣化の程度に応じて所定の色成分を変更して、再度、抽出ステップ・埋め込みステップ・生成ステップを行う。これにより、透かし情報が埋め込まれた圧縮画像の画質の劣化を抑えることができる。
【０２４２】
また、抽出ステップの前処理として、圧縮画像データから符号語を抽出し、抽出した符号語をカウントするため、圧縮画像データに含まれている符号語の数をあらかじめ知ることができる。
【０２４３】
また、カウントされた符号語の数に基づいて、透かし情報を埋め込むべき所定のビットを指定し、指定したビットに透かし情報を埋め込むため、透かし情報の埋め込み処理のやり直しを防止することができる。また、画質の劣化ができるだけ認識されにくくなるように均一に透かし情報を埋め込むことができる。
【０２４４】
また、抽出ステップの前処理として、圧縮画像データから抽出した符号語のうち第２の周波数領域に属する符号語の数をカウントするため、圧縮画像データに含まれている符号語のうち第２の周波数領域に属する符号語の数をあらかじめ知ることができる。
【０２４５】
また、カウントした符号語の数に基づいて第１の周波数領域を指定するため、透かし情報の埋め込み処理のやり直しを防止することができる。
【０２４６】
また、多重化ステップを設けたため、画像復元時にヘッダ情報を解析することによって、埋め込んだ透かし情報を忠実に取り出すことができる。
【０２４７】
この発明のさらにもう１つの局面に従った情報取り出し方法は、認識ステップと、抽出ステップと、取り出しステップとを設けたため、埋め込まれた透かし情報を忠実に取り出すことができる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態による情報埋め込み装置の全体構成を示すブロック図である。
【図２】複数のブロックに分割された原画像を示す図である。
【図３】２次元ＤＣＴ変換によって得られたＤＣＴ係数を示す図である。
【図４】有効係数、グループ番号、および付加ビット数の対応関係を示す図である。
【図５】グループ番号が４のグループにおける付加ビットと有効係数との対応関係を示す図である。
【図６】ラン／グループ番号と符号語との対応関係を示す符号テーブルの一例を示す図である。
【図７】図１に示した情報埋め込み装置による透かし情報の埋め込み処理の手順を示すフローチャートである。
【図８】透かし情報を埋め込むべきビットとして付加ビットの下位２ビットを指定した場合を示す図である。
【図９】可変長復号化部に与えられる可変長符号の一例を示す図である。
【図１０】符号語と付加ビットとを連結する処理を説明するための図である。
【図１１】この発明の第２の実施形態による情報埋め込み装置の全体構成を示すブロック図である。
【図１２】図１１に示した情報埋め込み装置による透かし情報の埋め込み処理の手順を示すフローチャートである。
【図１３】領域指定情報の一例を示す図である。
【図１４】図１１に示した可変長復号化部に順次与えられる可変長符号の一例を示す図である。
【図１５】図１４に示した可変長符号に対して得られる符号語・符号語長・付加ビット・付加ビット長・ラン／グループ番号を示す図である。
【図１６】この発明の第３の実施形態による情報埋め込み装置の全体構成を示すブロック図である。
【図１７】図１６に示した情報埋め込み装置による透かし情報の埋め込み処理の手順を示すフローチャートである。
【図１８】付加ビット長指定情報の一例を示す図である。
【図１９】この発明の第４の実施形態による情報埋め込み装置の全体構成を示すブロック図である。
【図２０】図１９に示した情報埋め込み装置による透かし情報の埋め込み処理の手順を示すフローチャートである。
【図２１】色成分指定情報の一例を示す図である。
【図２２】この発明の第５の実施形態による情報埋め込み装置の全体構成を示すブロック図である。
【図２３】図２２に示した情報埋め込み装置による透かし情報の埋め込み処理の手順を示すフローチャートである。
【図２４】この発明の第６の実施形態による情報埋め込み装置の全体構成を示すブロック図である。
【図２５】図２４に示した情報埋め込み装置による透かし情報の埋め込み処理の手順を示すフローチャートである。
【図２６】この発明の第７の実施形態による透かし情報の埋め込み方法の処理の手順を示すフローチャートである。
【図２７】ビットストリームデータの構成を示す図である。
【図２８】この発明の第７の実施形態による透かし情報の取り出し方法の処理の手順を示すフローチャートである。
【図２９】この発明の第８の実施形態による透かし情報の埋め込み方法の処理の手順を示すフローチャートである。
【図３０】この発明の第８の実施形態による透かし情報の取り出し方法の処理の手順を示すフローチャートである。
【図３１】従来の情報埋め込み装置の全体構成を示すブロック図である。
【符号の説明】
１０  可変長復号化部
１１  符号テーブル
１６  埋め込み処理部
１７  データ連結部
２０  周波数領域判定部
３０  付加ビット長判定部
４０  色成分判定部
５０  符号語カウンタ
５１  埋め込みビット指定部
６０  領域符号語カウンタ
６１  周波数領域指定部
ＣＯＤＥ  符号語
ＡＤＢＩＴ  付加ビット
【図１】
0003614784.tif 000002
【図２】
0003614784.tif 000003
【図３】
0003614784.tif 000004
【図４】
0003614784.tif 000005
【図５】
0003614784.tif 000006
【図６】
0003614784.tif 000007
【図７】
0003614784.tif 000008
【図８】
0003614784.tif 000009
【図９】
0003614784.tif 000010
【図１０】
0003614784.tif 000011
【図１１】
0003614784.tif 000012
【図１２】
0003614784.tif 000013
【図１３】
0003614784.tif 000014
【図１４】
0003614784.tif 000015
【図１５】
0003614784.tif 000016
【図１６】
0003614784.tif 000017
【図１７】
0003614784.tif 000018
【図１８】
0003614784.tif 000019
【図１９】
0003614784.tif 000020
【図２０】
0003614784.tif 000021
【図２１】
0003614784.tif 000022
【図２２】
0003614784.tif 000023
【図２３】
0003614784.tif 000024
【図２４】
0003614784.tif 000025
【図２５】
0003614784.tif 000026
【図２６】
0003614784.tif 000027
【図２７】
0003614784.tif 000028
【図２８】
0003614784.tif 000029
【図２９】
0003614784.tif 000030
【図３０】
0003614784.tif 000031
【図３１】
0003614784.tif 000032