(57)【特許請求の範囲】
【請求項１】
デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込装置であって、
前記デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出する変換係数算出部と、
固有のデジタル情報を疑似乱数列にマッピングするマッピング部と、
前記ブロック毎に、前記変換係数算出部で算出された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に前記疑似乱数列を埋め込む情報埋込部と、
前記埋め込み処理された後の変換係数に対して量子化を行う量子化部と、
前記量子化された変換係数を符号化する符号化部とを備える、デジタル情報埋込装置。
【請求項２】
デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込装置であって、
前記デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出する変換係数算出部と、
前記変換係数算出部が出力する変換係数に対して量子化を行う量子化部と、
固有のデジタル情報を疑似乱数列にマッピングするマッピング部と、
前記ブロック毎に、前記量子化された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に前記疑似乱数列を埋め込む情報埋込部と、
前記埋め込み処理された後の変換係数を符号化する符号化部とを備える、デジタル情報埋込装置。
【請求項３】
前記重み数列は、前記変換係数算出部が出力する変換係数の周波数成分が低域から高域になるほど、対応する各要素の値が大きくなるように設定されることを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項４】
前記重み数列は、前記変換係数算出部が出力する変換係数の周波数成分が低域から高域になるほど、対応する各要素の値が大きくなるように設定されることを特徴とする、請求項２に記載のデジタル情報埋込装置。
【請求項５】
前記デジタル画像信号の符号化で使用されている量子化テーブルを、前記重み数列に用いることを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項６】
前記デジタル画像信号の符号化で使用されている量子化テーブルを、前記重み数列に用いることを特徴とする、請求項２に記載のデジタル情報埋込装置。
【請求項７】
前記重み数列は、前記変換係数算出部が出力する変換係数の直流成分の値に応じて、前記ブロック毎に動的に設定されることを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項８】
前記重み数列は、前記変換係数算出部が出力する変換係数の直流成分の値に応じて、前記ブロック毎に動的に設定されることを特徴とする、請求項２に記載のデジタル情報埋込装置。
【請求項９】
前記重み数列は、前記変換係数算出部が出力する変換係数の特定の交流成分の平均値に応じて、前記ブロック毎に動的に設定されることを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項１０】
前記重み数列は、前記変換係数算出部が出力する変換係数の特定の交流成分の平均値に応じて、前記ブロック毎に動的に設定されることを特徴とする、請求項２に記載のデジタル情報埋込装置。
【請求項１１】
前記情報埋込部は、
前記変換係数算出部が出力する変換係数から選択された前記特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
前記絶対値算出部が出力する各要素の絶対値に第１の設定値をそれぞれ乗算する第１の乗算器と、
前記重み数列の各要素に第２の設定値をそれぞれ乗算する第２の乗算器と、
前記第１の乗算器の出力と前記第２の乗算器の出力とを要素毎に加算する第１の加算器と、
前記第１の加算器の出力と前記疑似乱数列とを要素毎に乗算する第３の乗算器と、
前記第３の乗算器の出力と前記変換係数算出部の出力とを要素毎に加算する第２の加算器とを備えることを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項１２】
前記情報埋込部は、
前記量子化部が出力する変換係数から選択された前記特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
前記絶対値算出部が出力する各要素の絶対値に第１の設定値をそれぞれ乗算する第１の乗算器と、
前記重み数列の各要素に第２の設定値をそれぞれ乗算する第２の乗算器と、前記第１の乗算器の出力と前記第２の乗算器の出力とを要素毎に加算する第１の加算器と、
前記第１の加算器の出力と前記疑似乱数列とを要素毎に乗算する第３の乗算器と、
前記第３の乗算器の出力と前記量子化部の出力とを要素毎に加算する第２の加算器とを備えることを特徴とする、請求項２に記載のデジタル情報埋込装置。
【請求項１３】
前記変換係数算出部が、離散コサイン変換又はフーリエ変換若しくはアダマール変換のいずれかの信号変換を行うことを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項１４】
前記変換係数算出部が、離散ウェーブレット変換又はサブバンド分割のいずれかの信号変換を行うことを特徴とする、請求項１に記載のデジタル情報埋込装置。
【請求項１５】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出装置であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
前記復号化部が出力するデータを逆量子化する逆量子化部と、
前記逆量子化部が出力するデータのうちの前記特定の変換係数列と、前記特定の装置で前記固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求める相関値算出部と、
前記相関値算出部が出力する内積値に基づいて、データに埋め込まれた疑似乱数列を決定する疑似乱数列決定部と、
決定した前記疑似乱数列にマッピングした固有のデジタル情報を生成する情報生成部とを備える、デジタル情報抽出装置。
【請求項１６】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、量子化された特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出装置であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
前記復号化部が出力するデータのうちの前記量子化された特定の変換係数列と、前記特定の装置で前記固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求める相関値算出部と、
前記相関値算出部が出力する内積値に基づいて、データに埋め込まれた疑似乱数列を決定する疑似乱数列決定部と、
決定した前記疑似乱数列にマッピングした固有のデジタル情報を生成する情報生成部とを備える、デジタル情報抽出装置。
【請求項１７】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に、重み数列に基づいて埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込装置であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
前記復号化部が出力するデータを逆量子化する逆量子化部と、
前記所望のデジタル情報を疑似乱数列にマッピングするマッピング部と、
前記逆量子化部が出力するデータから前記所望のデジタル情報が埋め込まれている特定の変換係数列を選択し、当該特定の変換係数列に前記疑似乱数列を埋め込む情報埋込部と、
前記埋め込み処理された後の変換係数に対して量子化を行う量子化部と、
前記量子化された変換係数を符号化する符号化部とを備える、デジタル情報埋込装置。
【請求項１８】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される量子化された特定の変換係数列に、重み数列に基づいて埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込装置であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
前記所望のデジタル情報を疑似乱数列にマッピングするマッピング部と、
前記復号化部が出力するデータから前記所望のデジタル情報が埋め込まれている量子化された特定の変換係数列を選択し、当該特定の変換係数列に前記疑似乱数列を埋め込む情報埋込部と、
前記埋め込み処理された後の変換係数を符号化する符号化部とを備える、デジタル情報埋込装置。
【請求項１９】
前記情報埋込部は、
前記逆量子化部が出力するデータから選択された前記特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
前記絶対値算出部が出力する各要素の絶対値に第１の設定値をそれぞれ乗算する第１の乗算器と、
前記特定の装置で用いられた前記重み数列の各要素に第２の設定値をそれぞれ乗算する第２の乗算器と、
前記第１の乗算器の出力と前記第２の乗算器の出力とを要素毎に加算する加算器と、
前記加算器の出力と前記疑似乱数列とを要素毎に乗算する第３の乗算器と、
前記第３の乗算器の出力と前記逆量子化部の出力とを要素毎に減算する減算器とを備えることを特徴とする、請求項１７に記載のデジタル情報埋込装置。
【請求項２０】
前記情報埋込部は、
前記復号化部が出力するデータから選択された前記特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
前記絶対値算出部が出力する各要素の絶対値に第１の設定値をそれぞれ乗算する第１の乗算器と、
前記特定の装置で用いられた前記重み数列の各要素に第２の設定値をそれぞれ乗算する第２の乗算器と、
前記第１の乗算器の出力と前記第２の乗算器の出力とを要素毎に加算する加算器と、
前記加算器の出力と前記疑似乱数列とを要素毎に乗算する第３の乗算器と、
前記第３の乗算器の出力と前記復号化部の出力とを要素毎に減算する減算器とを備えることを特徴とする、請求項１８に記載のデジタル情報埋込装置。
【請求項２１】
前記情報埋込部は、
前記逆量子化部が出力するデータから選択された前記特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
前記絶対値算出部が出力する各要素の絶対値に第１の設定値を乗算する第１の乗算器と、
前記第１の乗算器の出力と前記疑似乱数列とを要素毎に乗算する第２の乗算器と、
前記第２の乗算器の出力と前記逆量子化部の出力とを要素毎に減算する減算器とを備えることを特徴とする、請求項１７に記載のデジタル情報埋込装置。
【請求項２２】
前記情報埋込部は、
前記復号化部が出力するデータから選択された前記特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
前記絶対値算出部が出力する各要素の絶対値に第１の設定値を乗算する第１の乗算器と、
前記第１の乗算器の出力と前記疑似乱数列とを要素毎に乗算する第２の乗算器と、
前記第２の乗算器の出力と前記復号化部の出力とを要素毎に減算する減算器とを備えることを特徴とする、請求項１８に記載のデジタル情報埋込装置。
【請求項２３】
デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込方法であって、
前記デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出するステップと、
固有のデジタル情報を疑似乱数列にマッピングするステップと、
前記ブロック毎に、算出された前記変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に前記疑似乱数列を埋め込むステップと、
前記埋め込み処理された後の変換係数に対して量子化を行うステップと、
前記量子化された変換係数を符号化するステップとを備える、デジタル情報埋込方法。
【請求項２４】
デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込方法であって、
前記デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出するステップと、
算出された前記変換係数に対して量子化を行うステップと、
固有のデジタル情報を疑似乱数列にマッピングするステップと、
前記ブロック毎に、前記量子化された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に前記疑似乱数列を埋め込むステップと、
前記埋め込み処理された後の変換係数を符号化するステップとを備える、デジタル情報埋込方法。
【請求項２５】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出方法であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
前記復号化されたデータを逆量子化するステップと、
前記逆量子化されたデータのうちの前記特定の変換係数列と、前記特定の装置で前記固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求めるステップと、
前記求められた内積値に基づいて、データに埋め込まれた疑似乱数列を決定するステップと、
前記決定された疑似乱数列にマッピングした固有のデジタル情報を生成するステップとを備える、デジタル情報抽出方法。
【請求項２６】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、量子化された特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出方法であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
前記復号化されたデータのうちの前記量子化された特定の変換係数列と、前記特定の装置で前記固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求めるステップと、
前記求められた内積値に基づいて、データに埋め込まれた疑似乱数列を決定するステップと、
前記決定された疑似乱数列にマッピングした固有のデジタル情報を生成するステップとを備える、デジタル情報抽出方法。
【請求項２７】
前記疑似乱数列を決定するステップは、前記内積値が予め設定したしきい値より大きい疑似乱数列を、埋め込まれている疑似乱数列であると判断することを特徴とする、請求項２５に記載のデジタル情報抽出方法。
【請求項２８】
前記疑似乱数列を決定するステップは、前記内積値が予め設定したしきい値より大きい疑似乱数列を、埋め込まれている疑似乱数列であると判断することを特徴とする、請求項２６に記載のデジタル情報抽出方法。
【請求項２９】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込み方法であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
前記復号化されたデータを逆量子化するステップと、
前記所望のデジタル情報を疑似乱数列にマッピングするステップと、
前記逆量子化されたデータから前記所望のデジタル情報が埋め込まれている特定の変換係数列を選択し、当該特定の変換係数列に前記疑似乱数列を埋め込むステップと、
前記埋め込み処理された後の変換係数に対して量子化を行うステップと、
前記量子化された変換係数を符号化するステップとを備える、デジタル情報埋込方法。
【請求項３０】
特定の装置によって、デジタル画像信号を周波数成分に分解して算出される量子化された特定の変換係数列に埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込方法であって、
前記特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
前記所望のデジタル情報を疑似乱数列にマッピングするステップと、
前記復号化されたデータから前記所望のデジタル情報が埋め込まれている量子化された特定の変換係数列を選択し、当該特定の変換係数列に前記疑似乱数列を埋め込むステップと、
前記埋め込み処理された後の変換係数を符号化するステップとを備える、デジタル情報埋込方法。
【請求項３１】
コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
前記デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出するステップと、
固有のデジタル情報を疑似乱数列にマッピングするステップと、
前記ブロック毎に、算出された前記変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に前記疑似乱数列を埋め込むステップと、
前記埋め込み処理された後の変換係数に対して量子化を行うステップと、
前記量子化された変換係数を符号化するステップとを、少なくとも実行するためのプログラムを記録した、記録媒体。
【請求項３２】
コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に固有のデジタル情報が埋め込まれた、符号化された圧縮データを入力し、復号化するステップと、
前記復号化されたデータを逆量子化するステップと、
前記逆量子化されたデータのうちの前記特定の変換係数列と、前記特定の装置で前記固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求めるステップと、
前記求められた内積値に基づいて、データに埋め込まれた疑似乱数列を決定するステップと、
前記決定された疑似乱数列にマッピングした固有のデジタル情報を生成するステップとを、少なくとも実行するためのプログラムを記録した、記録媒体。
【請求項３３】
コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に複数のデジタル情報が埋め込まれた、符号化された圧縮データを入力し、復号化するステップと、
前記復号化されたデータを逆量子化するステップと、
前記所望のデジタル情報を疑似乱数列にマッピングするステップと、
前記逆量子化されたデータから前記所望のデジタル情報が埋め込まれている特定の変換係数列を選択し、当該特定の変換係数列に前記疑似乱数列を埋め込むステップと、
前記埋め込み処理された後の変換係数に対して量子化を行うステップと、
前記量子化された変換係数を符号化するステップとを、少なくとも実行するためのプログラムを記録した、記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル情報埋込・抽出装置及び方法並びに当該方法を実行するためのプログラムを記録した媒体に関し、より特定的には、デジタル画像信号に著作権情報等のデジタルデータ（以下、デジタル情報と称する）を埋め込み、そして抽出するデジタル情報埋込・抽出装置及び方法並びに当該方法を実行するためのプログラムを記録した媒体に関する。
【０００２】
【従来の技術】
近年、インターネットを利用した情報の提供が盛んになっている。特にＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）は、画像や音声などを統合した情報送受信サービスとして頻繁に利用されている。しかしながら、インターネットのネットワーク上に公開された画像などのデジタル情報は、不特定多数の利用者が容易にコピーすることができる。このため、第三者が著作権を有する画像を当該著作権者に無断で不正コピーを行って、２次的利用をするなどの問題が起こっている。また、画像ベースのコンテンツを用いたインターネット上でのビジネスの展開においても不正コピーへの対策が問題となっており、画像信号の著作権を保護する技術の確立が求められている。
【０００３】
従来、その対策の１つとして知られているものに電子透かし技術がある。電子透かしとは、画像データ内部に人間には知覚できないような形でデジタル情報を埋め込む技術である。この電子透かし技術により、不正に利用された場合、埋め込まれたデジタル情報を抽出し、証明することにより著作権を主張することができる。
【０００４】
従来の電子透かしの埋め込み及び抽出方法の一例が、特開平１０−１９１３３０号公報に示されている。以下、この公報に記載されている従来の電子透かしの埋め込み及び抽出方法を、簡単に説明する。
【０００５】
まず、電子透かしの埋め込み方法について、図１２を用いて説明する。
原画像１１０１のデータは、通常のＪＰＥＧ又はＭＰＥＧの圧縮処理に基づいて、８×８画素のブロック１１０２毎に取り出される。ＤＣＴ（離散コサイン変換）演算器１１０３は、この取り出されたデータに対してＤＣＴ演算を行う。量子化器１１０４は、量子化テーブル１１０５を参照し、ＤＣＴ演算器１１０３でＤＣＴ演算されて周波数成分に変換されたデータを量子化する。透かしデータ埋込器１１０７は、透かしデータ１１０６を量子化器１１０４から出力されるデータに埋め込む。この際、透かしデータ埋込器１１０７は、次式（１）の処理を行って、透かしデータ１１０６を埋め込んだ新たな周波数成分Ｆ（ｉ）を求める。
Ｆ（ｉ）＝ｆ（ｉ）＋ａｖｇ（ｆ（ｉ））×ｗ（ｉ）×定数  …（１）
ただし、ｉは、８×８画素のブロック１００２の周波数成分の要素番号を示し、ｗ（ｉ）は、透かしデータ１１０６の各要素の値を示す。また、ａｖｇ（ｆ（ｉ））は、各要素の近傍３点の絶対値平均、すなわちａｖｇ（ｆ（ｉ））＝（｜ｆ（ｉ−１）｜＋｜ｆ（ｉ）｜＋｜ｆ（ｉ＋１）｜）／３である。
【０００６】
この透かしデータ埋込器１１０７は、量子化器１１０４が出力するデータの近傍３点の絶対値平均ａｖｇ（ｆ（ｉ））を計算する部分平均計算器１１０８、透かしデータ１１０６と部分平均計算器１１０８の出力とを、要素毎に乗算する乗算器１１１０、埋め込む透かしデータ１１０６の大きさを変更するために使用する定数α（スケーリングパラメータ）１１０９を乗算する乗算器１１１１、及び乗算器１１１１の出力と量子化器１１０４の出力とを要素毎に加算する加算器１１１２で構成される。
【０００７】
符号化器１１１３は、透かしデータ埋込器１１０７が出力する周波数成分Ｆ（ｉ）をＪＰＥＧ又はＭＰＥＧの処理に基づいて符号化し、透かしデータが埋め込まれた圧縮データ１１１４を生成する。
【０００８】
次に、透かし抽出方法について、図１３を用いて説明する。
圧縮データ１２０１は、復号化器１２０２によって復号化される。復号化されたデータは、通常のＪＰＥＧ又はＭＰＥＧのデコード処理によって、逆量子化器１２０３により逆量子化され、逆ＤＣＴ演算器１２０４によって逆ＤＣＴ演算されて、再生画像データ１２０５として生成される。
【０００９】
透かしデータ抽出器１２０６は、復号化器１２０２によって復号化されたデータから各要素を抜き出し、Ｆ（ｉ）／ａｖｇ（Ｆ（ｉ））の計算を行って、埋め込まれている透かしデータと思われるデータの抽出を行う。ここで、Ｆ（ｉ）は、復号化された８×８画素のブロックの周波数成分である。また、ａｖｇ（Ｆ（ｉ））は、復号化器１２０２が出力する８×８画素のブロック単位のデータ近傍３点の部分平均、すなわちａｖｇ（Ｆ（ｉ））＝（｜ｆ（ｉ−１）｜＋｜ｆ（ｉ）｜＋｜ｆ（ｉ＋１）｜）／３のことである。
この透かしデータ抽出器１２０６は、データ近傍３点の部分平均ａｖｇ（Ｆ（ｉ））を計算する部分平均計算器１２０７、及び復号化器１２０２が出力する周波数成分Ｆ（ｉ）を部分平均計算器１２０７が出力する部分平均ａｖｇ（Ｆ（ｉ））で除算する除算器１２０８で構成する。
【００１０】
加算器１２０９は、各要素毎に、透かしデータ抽出器１２０６が出力する８×８画素ブロック単位の抽出データの１画面分の総和を求める。１画面分の抽出データの総和が計算された後、内積計算器１２１０は、検出したい透かしデータ１２１１と当該抽出データの総和との内積を計算し、統計的類似度１２１２を出力する。
また、統計的類似度１２１２は、次のように算出される。まず、透かしデータＷ（ｉ）がＷ（ｉ）＝Ｆ（ｉ）／ａｖｇ（Ｆ（ｉ））により計算され、さらに１画面分のＷ（ｉ）の総和ＷＦ（ｉ）が要素ｉ毎に各々計算される。次に、検出したい透かしデータｗ（ｉ）と総和ＷＦ（ｉ）との統計的類似度Ｃが、ベクトルの内積を利用してＣ＝ＷＦ×ｗ／（ＷＦＤ×ｗＤ）により計算される。ここで、Ｗ＝（ＷＦ（１），ＷＦ（２），…，ＷＦ（ｎ））、ｗ＝（ｗ（１），ｗ（２），…，ｗ（ｎ））、ＷＦＤ＝ベクトルＷＦの絶対値、ｗＤ＝ベクトルｗの絶対値である。
【００１１】
そして、この統計的類似度１２１２がある一定の値以上であれば、透かしデータ１２１１と同等の透かしデータが、圧縮データ１２０１に埋め込まれていたものと判断する。この際、例えばこの透かしデータ１２１１が複製禁止を意味するものであれば、この透かしデータ抽出方式を組み込んでいる再生装置は、生成された再生画像データ１２０５について複製防止等の措置をとることが可能である。
【００１２】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、透かしデータを抽出する際に、８×８画素のブロック単位の各要素毎の周波数成分Ｆ（ｉ）を、部分平均ａｖｇ（Ｆ（ｉ））で除算する必要があるため、演算処理が複雑となる。
また、透かしデータを埋め込む際に、透かしデータの大きさを変更するために使用する定数αが一定であるため、８×８画素のブロックの周波数成分に応じた埋め込み処理が行われていない。そのため、透かしデータの検出率を向上するために定数αの値を大きくすると、画質劣化を生じるという課題があった。
【００１３】
それ故、本発明の主たる目的は、透かしデータを埋め込む時は変換係数の要素毎にその周波数成分に応じた重み数列を用い、透かしデータを抽出する時は変換係数列と疑似乱数列との内積計算を行うことにより、より簡易で算出コストが低く、しかも画質劣化を知覚されにくいデジタル情報埋込・抽出装置及び方法並びに当該方法を実行するためのプログラムを記録した媒体を提供することである。また、本発明の他の目的は、複数のデジタル情報が埋め込まれた圧縮データから、所望のデジタル情報のみを取り除くことができるデジタル情報埋込装置及び方法並びに当該方法を実行するためのプログラムを記録した媒体を提供することである。
【００１４】
【課題を解決するための手段および発明の効果】
上記目的を達成させるために、本発明は、以下に述べる特徴を備えている。
第１の発明は、デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込装置であって、
デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出する変換係数算出部と、
固有のデジタル情報を疑似乱数列にマッピングするマッピング部と、
ブロック毎に、変換係数算出部で算出された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に疑似乱数列を埋め込む情報埋込部と、
埋め込み処理された後の変換係数に対して量子化を行う量子化部と、
量子化された変換係数を符号化する符号化部とを備える。
【００１５】
第２の発明は、デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込装置であって、
デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出する変換係数算出部と、
変換係数算出部が出力する変換係数に対して量子化を行う量子化部と、
固有のデジタル情報を疑似乱数列にマッピングするマッピング部と、
ブロック毎に、量子化された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に疑似乱数列を埋め込む情報埋込部と、
埋め込み処理された後の変換係数を符号化する符号化部とを備える。
【００１６】
第３及び第４の発明は、第１及び第２の発明に従属する発明であって、
重み数列は、変換係数算出部が出力する変換係数の周波数成分が低域から高域になるほど、対応する各要素の値が大きくなるように設定されることを特徴とする。
【００１７】
第５及び第６の発明は、第１及び第２の発明に従属する発明であって、
デジタル画像信号の符号化で使用されている量子化テーブルを、重み数列に用いることを特徴とする。
【００１８】
第７及び第８の発明は、第１及び第２の発明に従属する発明であって、
重み数列は、変換係数算出部が出力する変換係数の直流成分の値に応じて、ブロック毎に動的に設定されることを特徴とする。
【００１９】
第９及び第１０の発明は、第１及び第２の発明に従属する発明であって、
重み数列は、変換係数算出部が出力する変換係数の特定の交流成分の平均値に応じて、ブロック毎に動的に設定されることを特徴とする。
【００２０】
第１１及び第１２の発明は、第１及び第２の発明に従属する発明であって、
情報埋込部は、
変換係数算出部又は量子化部が出力する変換係数から選択された特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
絶対値算出部が出力する各要素の絶対値に第１の設定値をそれぞれ乗算する第１の乗算器と、
重み数列の各要素に第２の設定値をそれぞれ乗算する第２の乗算器と、
第１の乗算器の出力と第２の乗算器の出力とを要素毎に加算する第１の加算器と、
第１の加算器の出力と疑似乱数列とを要素毎に乗算する第３の乗算器と、
第３の乗算器の出力と変換係数算出部又は量子化部の出力とを要素毎に加算する第２の加算器とを備えることを特徴とする。
【００２１】
第１３の発明は、第１の発明に従属する発明であって、
変換係数算出部が、離散コサイン変換又はフーリエ変換若しくはアダマール変換のいずれかの信号変換を行うことを特徴とする。
【００２２】
第１４の発明は、第１の発明に従属する発明であって、
変換係数算出部が、離散ウェーブレット変換又はサブバンド分割のいずれかの信号変換を行うことを特徴とする。
【００２３】
上記のように、第１〜第１４の発明によれば、所定のブロック単位で原画像の周波数変換を行い、得られた変換係数列の各要素に対応する重み数列を用いて、固有のデジタル情報に対応した疑似乱数列をそれぞれ埋め込む。これにより、簡易な構成・演算で、固有のデジタル情報を埋め込むことができる。しかも、埋め込みの対象となる変換係数列の順序及び長さや、埋め込まれる疑似乱数列を知らない第三者による固有のデジタル情報の解読は、ほとんど困難である。また、固有のデジタル情報そのものではなく、対応する疑似乱数列を埋め込むので、埋め込みに伴う圧縮データの画質劣化が知覚されにくくなる。また、重み数列にデジタル画像信号の符号化で使用されている量子化テーブルを用いることにより、画像劣化を抑えることができる。
【００２４】
第１５の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出装置であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
復号化部が出力するデータを逆量子化する逆量子化部と、
逆量子化部が出力するデータのうちの特定の変換係数列と、特定の装置で固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求める相関値算出部と、
相関値算出部が出力する内積値に基づいて、データに埋め込まれた疑似乱数列を決定する疑似乱数列決定部と、
決定した疑似乱数列にマッピングした固有のデジタル情報を生成する情報生成部とを備える。
【００２５】
第１６の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、量子化された特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出装置であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
復号化部が出力するデータのうちの量子化された特定の変換係数列と、特定の装置で固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求める相関値算出部と、
相関値算出部が出力する内積値に基づいて、データに埋め込まれた疑似乱数列を決定する疑似乱数列決定部と、
決定した疑似乱数列にマッピングした固有のデジタル情報を生成する情報生成部とを備える。
【００２６】
上記のように、第１５及び第１６の発明によれば、疑似乱数列が埋め込まれた圧縮データを復号化し、変換係数列と疑似乱数列との内積を求めることで相関値を算出し、相関値を予め定めたしきい値と比較することによって埋め込まれている疑似乱数列を特定して、固有のデジタル情報を生成する。これにより、簡易な構成・演算で、固有のデジタル情報を抽出することができる。しかも、埋め込みの対象となる変換係数列の順序及び長さや、埋め込まれる疑似乱数列を知らない第三者による固有のデジタル情報の解読は、ほとんど困難である。また、固有のデジタル情報そのものではなく、対応する疑似乱数列が埋め込まれているので、透かしデータの検出率を向上できる。
【００２７】
第１７の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に、重み数列に基づいて埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込装置であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
復号化部が出力するデータを逆量子化する逆量子化部と、
所望のデジタル情報を疑似乱数列にマッピングするマッピング部と、
逆量子化部が出力するデータから所望のデジタル情報が埋め込まれている特定の変換係数列を選択し、当該特定の変換係数列に疑似乱数列を埋め込む情報埋込部と、
埋め込み処理された後の変換係数に対して量子化を行う量子化部と、
量子化された変換係数を符号化する符号化部とを備える。
【００２８】
第１８の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される量子化された特定の変換係数列に、重み数列に基づいて埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込装置であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化する復号化部と、
所望のデジタル情報を疑似乱数列にマッピングするマッピング部と、
復号化部が出力するデータから所望のデジタル情報が埋め込まれている量子化された特定の変換係数列を選択し、当該特定の変換係数列に疑似乱数列を埋め込む情報埋込部と、
埋め込み処理された後の変換係数を符号化する符号化部とを備える。
【００２９】
第１９及び第２０の発明は、第１７及び第１８の発明に従属する発明であって、
情報埋込部は、
逆量子化部又は復号化部が出力するデータから選択された特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
絶対値算出部が出力する各要素の絶対値に第１の設定値をそれぞれ乗算する第１の乗算器と、
特定の装置で用いられた重み数列の各要素に第２の設定値をそれぞれ乗算する第２の乗算器と、
第１の乗算器の出力と第２の乗算器の出力とを要素毎に加算する加算器と、
加算器の出力と疑似乱数列とを要素毎に乗算する第３の乗算器と、
第３の乗算器の出力と逆量子化部又は復号化部の出力とを要素毎に減算する減算器とを備えることを特徴とする。
【００３０】
第２１及び第２２の発明は、第１７及び第１８の発明に従属する発明であって、
情報埋込部は、
逆量子化部又は復号化部が出力するデータから選択された特定の変換係数列の各要素の絶対値を算出する絶対値算出部と、
絶対値算出部が出力する各要素の絶対値に第１の設定値を乗算する第１の乗算器と、
第１の乗算器の出力と疑似乱数列とを要素毎に乗算する第２の乗算器と、
第２の乗算器の出力と逆量子化部又は復号化部の出力とを要素毎に減算する減算器とを備えることを特徴とする。
【００３１】
上記のように、第１７〜第２２の発明によれば、複数埋め込まれている疑似乱数列の中から所定の疑似乱数列のみを減算処理することにより、複数のデジタル情報が埋め込まれた圧縮データから、画質劣化を生じることなく、所望のデジタル情報のみを取り除くことができる。例えば、圧縮データ内に複数の著作権情報が埋め込まれた中から、不要な著作権情報を取り除きたい場合に、この処理を施すことで実現可能である。
【００３２】
第２３の発明は、デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込方法であって、
デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出するステップと、
固有のデジタル情報を疑似乱数列にマッピングするステップと、
ブロック毎に、算出された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に疑似乱数列を埋め込むステップと、
埋め込み処理された後の変換係数に対して量子化を行うステップと、
量子化された変換係数を符号化するステップとを備える。
【００３３】
第２４の発明は、デジタル画像信号内に固有のデジタル情報を埋め込むデジタル情報埋込方法であって、
デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出するステップと、
算出された変換係数に対して量子化を行うステップと、
固有のデジタル情報を疑似乱数列にマッピングするステップと、
ブロック毎に、量子化された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に疑似乱数列を埋め込むステップと、
埋め込み処理された後の変換係数を符号化するステップとを備える。
【００３４】
第２５の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出方法であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
復号化されたデータを逆量子化するステップと、
逆量子化されたデータのうちの特定の変換係数列と、特定の装置で固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求めるステップと、
求められた内積値に基づいて、データに埋め込まれた疑似乱数列を決定するステップと、
決定された疑似乱数列にマッピングした固有のデジタル情報を生成するステップとを備える。
【００３５】
第２６の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される変換係数のうち、量子化された特定の変換係数列に埋め込まれた固有のデジタル情報を、抽出するデジタル情報抽出方法であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
復号化されたデータのうちの量子化された特定の変換係数列と、特定の装置で固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求めるステップと、
求められた内積値に基づいて、データに埋め込まれた疑似乱数列を決定するステップと、
決定された疑似乱数列にマッピングした固有のデジタル情報を生成するステップとを備える。
【００３６】
第２７及び第２８の発明は、第２５及び第２６の発明に従属する発明であって、
疑似乱数列を決定するステップは、内積値が予め設定したしきい値より大きい疑似乱数列を、埋め込まれている疑似乱数列であると判断することを特徴とする。
【００３７】
第２９の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込み方法であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
復号化されたデータを逆量子化するステップと、
所望のデジタル情報を疑似乱数列にマッピングするステップと、
逆量子化されたデータから所望のデジタル情報が埋め込まれている特定の変換係数列を選択し、当該特定の変換係数列に疑似乱数列を埋め込むステップと、
埋め込み処理された後の変換係数に対して量子化を行うステップと、
量子化された変換係数を符号化するステップとを備える。
【００３８】
第３０の発明は、特定の装置によって、デジタル画像信号を周波数成分に分解して算出される量子化された特定の変換係数列に埋め込まれた複数のデジタル情報のうち、所望のデジタル情報のみを取り除くデジタル情報埋込方法であって、
特定の装置が符号化して出力する圧縮データを入力し、復号化するステップと、
所望のデジタル情報を疑似乱数列にマッピングするステップと、
復号化されたデータから所望のデジタル情報が埋め込まれている量子化された特定の変換係数列を選択し、当該特定の変換係数列に疑似乱数列を埋め込むステップと、
埋め込み処理された後の変換係数を符号化するステップとを備える。
【００３９】
第３１の発明は、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
デジタル画像信号を周波数成分に分解して、予め定めた画素単位の複数のブロックに応じた変換係数をそれぞれ算出するステップと、
固有のデジタル情報を疑似乱数列にマッピングするステップと、
ブロック毎に、算出された変換係数から特定の変換係数列を選択し、変換係数列の要素毎に設定した重みを重み数列として用い、当該特定の変換係数列に疑似乱数列を埋め込むステップと、
埋め込み処理された後の変換係数に対して量子化を行うステップと、
量子化された変換係数を符号化するステップとを、少なくとも実行するためのプログラムを記録している。
【００４０】
第３２の発明は、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に固有のデジタル情報が埋め込まれた、符号化された圧縮データを入力し、復号化するステップと、
復号化されたデータを逆量子化するステップと、
逆量子化されたデータのうちの特定の変換係数列と、特定の装置で固有のデジタル情報に対応させて埋め込まれた疑似乱数列を含む複数の疑似乱数列との、内積をそれぞれ求めるステップと、
求められた内積値に基づいて、データに埋め込まれた疑似乱数列を決定するステップと、
決定された疑似乱数列にマッピングした固有のデジタル情報を生成するステップとを、少なくとも実行するためのプログラムを記録している。
【００４１】
第３３の発明は、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
デジタル画像信号を周波数成分に分解して算出される特定の変換係数列に複数のデジタル情報が埋め込まれた、符号化された圧縮データを入力し、復号化するステップと、
復号化されたデータを逆量子化するステップと、
所望のデジタル情報を疑似乱数列にマッピングするステップと、
逆量子化されたデータから所望のデジタル情報が埋め込まれている特定の変換係数列を選択し、当該特定の変換係数列に疑似乱数列を埋め込むステップと、
埋め込み処理された後の変換係数に対して量子化を行うステップと、
量子化された変換係数を符号化するステップとを、少なくとも実行するためのプログラムを記録している。
【００４２】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るデジタル情報埋込装置１Ａの構成を示すブロック図である。図２は、本発明の第１の実施形態に係るデジタル情報抽出装置２Ａの構成を示すブロック図である。
図１において、本実施形態のデジタル情報埋込装置１Ａは、直交変換部１１と、マッピング部１２と、情報埋込部１３と、量子化部１４と、符号化部１５とを備える。図２において、本実施形態のデジタル情報抽出装置２Ａは、復号化部２１と、逆量子化部２２と、相関値算出部２３と、疑似乱数列決定部２４と、情報生成部２５とを備える。
以下、図３〜図８をさらに参照して、本発明の第１の実施形態に係るデジタル情報埋込・抽出装置が行うデジタル情報の埋め込み方法及び抽出方法を、順に説明する。
【００４３】
まず、デジタル情報埋込装置１Ａが行うデジタル情報の埋め込み方法について、図１及び図３〜図７を用いて説明する。図３は、図１のデジタル情報埋込装置１Ａが行う処理を示すフローチャートである。
図３を参照して、直交変換部１１は、原画像１を入力し、予め定めた複数の画素から構成される複数のブロックに分割する（ステップＳ３０１）。そして、直交変換部１１は、その分割したブロック毎に直交変換を行って原画像１を周波数成分に分解し、変換係数を算出する（ステップＳ３０２）。本実施形態では、原画像１を８×８画素サイズのＭ個のブロックに分割し、その分割ブロック毎に直交変換として離散コサイン変換（ＤＣＴ）を行う場合を一例に挙げている。
【００４４】
マッピング部１２は、原画像１に埋め込むべき固有のデジタル情報２に対応した所定の疑似乱数列を、対応表を参照して決定する（ステップＳ３０３）。図４は、マッピング部１２が予め有するデジタル情報と疑似乱数列とを対応付けた対応表の一例を示す図である。例えば、固有のデジタル情報２が著作者名と作成日時とからなる著作者情報の場合、この対応表は、著作者情報と疑似乱数列とを組みとして記述され、対応表中には同一の疑似乱数列が現れないように構成する。この疑似乱数列は、平均値０、分散値１の正規（ガウス）分布又は最長線形符号系列（Ｍ系列）で構成される母集団からランダムに選択することにより生成される。また、疑似乱数列の長さは、対象となる原画像や所望する埋め込みレベル等に応じて、任意に設定できる。さらに、１つの著作者情報に対して複数の疑似乱数列が設定されていてもよい。
マッピング部１２は、原画像１に埋め込むべき固有のデジタル情報２、例えば著作者情報Ａ１  が入力されると、この対応表を参照して疑似乱数列Ｗ１  を情報埋込部１３へ出力する。
【００４５】
次に、情報埋込部１３の処理を図５〜図７を参照して説明する。図５は、情報埋込部１３の詳細な構成の一例を示すブロック図である。
情報埋込部１３は、Ｍ個の分割ブロックのそれぞれについて、直交変換部１１で算出された変換係数のうち、特定の周波数成分の変換係数を変換係数列ｆ（ｉ，ｊ）として選択する（ステップＳ３０４）。そして、情報埋込部１３は、所定の重み数列Ｑ（ｉ，ｊ）を用いて、変換係数列ｆ（ｉ，ｊ）毎に、固有のデジタル情報２に対応した疑似乱数列ｗ（ｋ）が埋め込まれた変換係数列Ｆ（ｉ，ｊ）を算出する（ステップＳ３０５）。
【００４６】
この情報埋込部１３は、図５に示すように、選択された変換係数列ｆ（ｉ，ｊ）の要素毎にその絶対値を算出する絶対値算出部５０１と、絶対値算出部５０１の出力と定数α（埋め込むデータの大きさ変更に使用するスケーリングパラメータ）とを要素毎に乗算する乗算器５０２と、重み数列Ｑ（ｉ，ｊ）の要素毎に定数β（埋め込む疑似乱数系列の重み変更に使用するためのスケーリングパラメータ）を乗算する乗算器５０３と、乗算器５０２の出力と乗算器５０３の出力とを要素毎に加算する加算器５０４と、加算器５０４の出力と疑似乱数列ｗ（ｋ）とを要素毎に乗算する乗算器５０５と、乗算器５０５の出力と変換係数列ｆ（ｉ，ｊ）とを要素毎に加算する加算器５０６とで構成される。
従って、情報埋込部１３では、次式（２）で表される演算が行われて、変換係数列Ｆ（ｉ，ｊ）が算出される。
Ｆ（ｉ，ｊ）＝ｆ（ｉ，ｊ）＋（α｜ｆ（ｉ，ｊ）｜＋βＱ（ｉ，ｊ））ｗ（ｋ）    …（２）
ただし、ｉ，ｊは、図６に示すように分割ブロックの周波数成分の要素番号を表している。また、ｋは、疑似乱数列を構成する要素番号を表しており、原画像１の分割ブロック数Ｍ以上であることが好ましい。
【００４７】
ここで、変換係数列ｆ（ｉ，ｊ）として、ｉとｊとを加算した値が一定値になる変換係数が選択されるようにするのが最も好ましい。例えば、ｉ＋ｊ＝２となる変換係数列（ゾーン１）としては、分割ブロックから３つの変換係数ｆ（０，２）、ｆ（１，１）及びｆ（２，０）がそれぞれ選択される。なお、複数の変換係数列（例えば、ゾーン１〜３の全て）に疑似乱数系列ｗ（ｋ）を埋め込みたい場合には、変換係数列ｆ（ｉ，ｊ）毎に上記式（２）の演算を行えばよい。この場合、複数の変換係数列に同一の疑似乱数系列を直列的又は並列的に埋め込んでもよいし、異なる疑似乱数系列を埋め込んでもよい。また、埋め込み後の画像劣化を考慮すれば、値が零でない変換係数にだけ疑似乱数系列を埋め込むことが望ましい。
なお、変換係数列ｆ（ｉ，ｊ）として選択される変換係数は、図６に示した位置（ｉとｊとを加算した値が一定値になる位置）に限ったものではなく、８×８画素サイズの中から任意に選択されてもよい。この場合、選択された位置及び処理の順序等は、デジタル情報埋込装置１Ａとデジタル情報抽出装置２Ａとの間で予め定めておく必要がある。
【００４８】
疑似乱数列ｗ（ｋ）の各要素は、所定の順序で各変換係数列ｆ（ｉ，ｊ）への埋め込みに使用される。例えば、上述のように各分割ブロックのゾーン１の変換係数列に埋め込みを行う場合、第１の分割ブロックのｆ（０，２）にはｗ（１）が、同ｆ（１，１）にはｗ（２）が、同ｆ（２，０）にはｗ（３）が、第２の分割ブロックのｆ（０，２）にはｗ（４）が、同ｆ（１，１）にはｗ（５）が、…、第Ｍの分割ブロックのｆ（２，０）にはｗ（ｋ）が使用されるという具合である。なお、この順序は、埋め込み側と抽出側との整合が図られていれば、この例のように昇順でなくてもよい。
また、この時、全分割ブロックの変換係数列ｆ（ｉ，ｊ）の要素総数と埋め込むべき疑似乱数列ｗ（ｋ）の要素数とが一致していなければ、疑似乱数列を繰り返して又は縮小して変換係数列に埋め込めばよい。
【００４９】
重み数列Ｑ（ｉ，ｊ）は、分割ブロックの各周波数成分の変換係数に対応した要素で構成される。この重み数列Ｑ（ｉ，ｊ）の各要素は、例えば図７（ａ）のように、ｉ又はｊの値が大きくなるほど大きな値を持つように設定するのが好ましい。つまり、直交変換部１１が出力する変換係数の周波数成分が低域から高域になるほど、対応する重み数列の各要素の値が大きくなることが好ましい。これは人間の視覚特性が有する「画像の低域成分より高域成分の変化が知覚しにくい」という性質を利用して、変換係数の高域成分により大きな値を設定するようにしたものである。
本発明が提供するデジタル情報の埋込及び抽出方法の適用範囲は、静止画像信号のみならず動画像信号にまで拡張することができる。ここで、本発明が提供する方法を動画像信号に適用させる場合には、例えばＭＰＥＧ方式の画像符号化で使用されている量子化テーブルの値を重み数列Ｑ（ｉ，ｊ）として用いれば（図７（ｂ））、埋め込み処理に伴う画像劣化が少なくて済む。
【００５０】
また、各分割ブロックに使用する重み数列Ｑ（ｉ，ｊ）を、直交変換部１１で算出された変換係数のＤＣ成分（ｆ（０，０））の値に応じて、動的に変更させてもよい。重み数列Ｑ（ｉ，ｊ）の変更は、例えば、ＤＣ成分の値を重み数列Ｑ（ｉ，ｊ）に加算又は乗算する方法で行ってもよいし、予め値が異なる複数の重み数列Ｑ（ｉ，ｊ）を用意しておき、ＤＣ成分の値に応じていずれか１つを選択する方法で行ってもよい。このように、ＤＣ成分の値に応じて重み数列Ｑ（ｉ，ｊ）を変更することで、視覚的な変化を認識しにくい単調な画像（真白又は真黒な画像）に対しては、重みを大きくして疑似乱数列を埋め込むことができる。
これに対して、各分割ブロックに使用する重み数列Ｑ（ｉ，ｊ）を、直交変換部１１で算出された変換係数のＡＣ成分（ＤＣ成分以外の変換係数）の値に応じて、動的に変更させてもよい。この場合の変更も上記と同様に、値を加算又は乗算する方法や重み数列を選択する方法で実現可能である。なお、ＡＣ成分の値には、ｆ（０，０）以外の全変換係数の平均値や、埋め込み対象の変換係数だけの平均値等を用いればよい。このように、ＡＣ成分の値に応じて重み数列Ｑ（ｉ，ｊ）を変更することで、視覚的な変化を認識しにくい高周波成分を多く含む複雑な画像に対しては、重みを大きくして疑似乱数列を埋め込むことができる。
【００５１】
再び図３を参照して、量子化部１４は、情報埋め込み処理後の変換係数に対して量子化を行う（ステップＳ３０６）。そして、符号化部１５は、量子化された変換係数を符号化して、固有のデジタル情報に対応する疑似乱数列が埋め込まれた圧縮データ４を生成する（ステップＳ３０７）。
これにより、原画像１への固有のデジタル情報の埋め込みが完了する。
【００５２】
次に、デジタル情報抽出装置２Ａが行うデジタル情報抽出方法について、図２及び図８を用いて説明する。図８は、図２のデジタル情報抽出装置２Ａが行う処理を示すフローチャートである。
図８を参照して、復号化部２１は、上述したデジタル情報埋込装置１Ａの符号化部１５が出力する圧縮データ４を入力し、データの復号を行う（ステップＳ８０１）。次に、逆量子化部２２は、復号化部２１によって復号されたデータを逆量子化する（ステップＳ８０２）。
【００５３】
相関値算出部２３は、逆量子化部２２が出力するデータのうち、デジタル情報埋込装置１Ａの情報埋込部１３で選択された変換係数列Ｆ（ｉ，ｊ）を、各分割ブロックから所定の順序で連続的に読み出し、埋め込み対象となった全分割ブロックの変換係数で構成される変換係数列ＡＦ（ｋ）を作成する（ステップＳ８０３）。所定の順序は、デジタル情報埋込装置１Ａとの間で予め整合が図られている。そして、相関値算出部２３は、圧縮データ４に埋め込まれていると推測される候補の１つの疑似乱数列ｗ（ｋ）と変換係数列ＡＦ（ｋ）との内積を、次式（３）に従って計算し、相関値Ｓを求める（ステップＳ８０４）。
【数１】
0003580544.tif 000002
なお、相関値算出部２３には、デジタル情報埋込装置１Ａのマッピング部１２が有している対応表（図４）が与えられる。
【００５４】
次に、疑似乱数列決定部２４は、相関値算出部２３で計算された相関値Ｓと予め定めたしきい値ＴＨとを比較する（ステップＳ８０５）。そして、疑似乱数列決定部２４は、相関値Ｓがしきい値ＴＨ以上である場合、候補とした疑似乱数列ｗ（ｋ）が圧縮データ４に埋め込まれていると判定し、相関値Ｓがしきい値ＴＨ未満である場合、候補とした疑似乱数列ｗ（ｋ）が圧縮データ４に埋め込まれていないと判定する。後者の場合、疑似乱数列決定部２４は、疑似乱数列の他の候補について同様の処理を繰り返し（ステップＳ８０６）、埋め込まれている疑似乱数列を特定する（ステップＳ８０４，Ｓ８０５）。このしきい値ＴＨは、伝送路上で圧縮データ４に対して生じる外乱（伝送歪や故意の改竄等）に応じて、埋め込まれている疑似乱数列を最適に特定できるレベルに設定すればよい。ここで、相関値Ｓは、画像内容によって大きく変化するので、しきい値ＴＨを固定的に設定するよりも、復号によって得られた画像の変換係数（すなわち、画像の特徴）に基づいて動的に設定するのが好ましい。例えば、下記式（４）に基づいて動的にしきい値ＴＨを設定することが可能である。
【数２】
0003580544.tif 000003
ここで、Ｑ（ｋ）は、所定の順序で読み出したＦ（ｉ，ｊ）に対応するＱ（ｉ，ｊ）の全体の系列を表現する。
【００５５】
なお、圧縮データ４に外乱が生じた場合、ある程度高い相関値Ｓを示す疑似乱数列が複数存在する場合が考えられる。このような場合には、単純に最も高い相関値Ｓを示す疑似乱数列が埋め込まれていると特定してもよいし、最も高い相関値Ｓが他の相関値Ｓに比べてある比率を満足する場合にのみ、その疑似乱数列が埋め込まれていると特定してもよい。
【００５６】
そして、埋め込まれている疑似乱数列ｗ（ｋ）が特定されると、情報生成部２５は、デジタル情報埋込装置１Ａのマッピング部１２において当該疑似乱数列ｗ（ｋ）にマッピングされた固有のデジタル情報を生成する（ステップＳ８０７）。この生成は、デジタル情報埋込装置１Ａのマッピング部１２が有している対応表（図４）と同一の対応表を参照することで、容易に行える。
【００５７】
以上のように、本発明の第１の実施形態に係るデジタル情報埋込装置によれば、８×８画素のブロック単位で原画像の直交変換を行い、得られた変換係数列の各要素に対応する重み数列を用いて、固有のデジタル情報に対応した疑似乱数列をそれぞれ埋め込む。一方、本発明の第１の実施形態に係るデジタル情報抽出装置によれば、疑似乱数列が埋め込まれた圧縮データを復号化し、変換係数列と疑似乱数列との内積を求めることで相関値を算出し、相関値を予め定めたしきい値と比較することによって埋め込まれている疑似乱数列を特定して、固有のデジタル情報を生成する。
これにより、簡易な構成・演算で、固有のデジタル情報を埋め込み及び抽出することができる。しかも、埋め込みの対象となる変換係数列の順序及び長さや、埋め込まれる疑似乱数列を知らない第三者による固有のデジタル情報の解読は、ほとんど困難である。また、固有のデジタル情報そのものではなく、対応する疑似乱数列を埋め込むので、埋め込みに伴う圧縮データの画質劣化が知覚されにくくなると共に、透かしデータの検出率を向上できる。
【００５８】
なお、上記実施形態のデジタル情報埋込装置１Ａにおいて、情報埋込部１３と量子化部１４との順序を入れ替えて、量子化された変換係数列に埋め込み処理を行い、また、デジタル情報抽出装置２Ａにおいて、逆量子化部２２の処理を行わず、復号化部２１で復号化された後の量子化された変換係数列と疑似乱数列との内積を求めるようにしてもよい。このような手順で埋め込み及び抽出処理を行っても、上述した本発明の有用な効果と同様の効果を奏することは明らかである。
【００５９】
（第２の実施形態）
図９は、本発明の第２の実施形態に係るデジタル情報埋込装置の構成を示すブロック図である。図９において、本実施形態のデジタル情報埋込装置１Ｂは、復号化部２１と、逆量子化部２２と、マッピング部１２と、情報埋込部９１と、量子化部１４と、符号化部１５とを備える。なお、デジタル情報埋込装置１Ｂにおいて、復号化部２１及び逆量子化部２２は、上記第１の実施形態に係るデジタル情報抽出装置２Ａの復号化部２１及び逆量子化部２２と同様の構成であり、またマッピング部１２、量子化部１４及び符号化部１５は、上記第１の実施形態に係るデジタル情報埋込装置１Ａのマッピング部１２、量子化部１４及び符号化部１５と同様の構成であるので、以下当該構成については同一の参照番号を付してその説明を一部省略する。
【００６０】
復号化部２１は、圧縮データ５を入力してデータの復号を行う。この圧縮データ５には、上記第１の実施形態に係るデジタル情報埋込装置１Ａ等を用いて、複数の固有のデジタル情報が既に埋め込まれているものとする。以下の例では、第１の固有のデジタル情報がマッピングされた第１の疑似乱数列と、第２の固有のデジタル情報がマッピングされた第２の疑似乱数列が埋め込まれている場合を説明する。逆量子化部２２は、復号化部２１によって復号されたデータを逆量子化する。マッピング部１２は、図４の対応表から所望のデジタル情報（著作者情報）に対応する疑似乱数列を、情報埋込部９１へ出力する。この例では、第２の疑似乱数列を出力したものとする。
【００６１】
図１０は、情報埋込部９１の詳細な構成の一例を示すブロック図である。
情報埋込部９１は、逆量子化部２２が出力するデータのうち、予め定めた順序で変換係数列ｆ（ｉ，ｊ）をそれぞれ読み出し、所定の重み数列Ｑ（ｉ，ｊ）を用いて、特定の疑似乱数列ｗ（ｋ）を変換係数列ｆ（ｉ，ｊ）に負の値で埋め込んだ変換係数列Ｆ（ｉ，ｊ）を算出する。すなわち、情報埋込部９１は、既に埋め込まれている特定の疑似乱数列ｗ（ｋ）を除去した変換係数列Ｆ（ｉ，ｊ）を算出する。
【００６２】
この情報埋込部９１は、図１０に示すように、読み出された変換係数列ｆ（ｉ，ｊ）の要素毎にその絶対値を算出する絶対値算出部５０１と、絶対値算出部５０１の出力と定数α（埋め込むデータの大きさ変更に使用するスケーリングパラメータ）とを要素毎に乗算する乗算器５０２と、重み数列Ｑ（ｉ，ｊ）の要素毎に定数β（埋め込む疑似乱数系列の重み変更に使用するためのスケーリングパラメータ）を乗算する乗算器５０３と、乗算器５０２の出力と乗算器５０３の出力とを要素毎に加算する加算器５０４と、加算器５０４の出力とマッピング部１２から出力された第２の疑似乱数列ｗ（ｋ）とを要素毎に乗算する乗算器５０５と、変換係数列ｆ（ｉ，ｊ）から乗算器５０５の出力を要素毎に減算する減算器１００１とで構成される。
従って、情報埋込部９１では、次式（５）で表される演算が行われて、変換係数列Ｆ（ｉ，ｊ）が算出される。
Ｆ（ｉ，ｊ）＝ｆ（ｉ，ｊ）−（α｜ｆ（ｉ，ｊ）｜＋βＱ（ｉ，ｊ））ｗ（ｋ）    …（５）
なお、図１０に示した情報埋込部９１の構成中、減算器１００１以外は上記図５に示した情報埋込部１３の構成と同じである。
【００６３】
そして、量子化部１４は、情報埋め込み処理後、すなわちこの例では、第２の疑似乱数列ｗ（ｋ）が除去された各分割ブロックの変換係数に対して、量子化を行う。符号化部１５は、量子化部１４で量子化された変換係数を符号化して、第１の疑似乱数列のみが埋め込まれた圧縮データ６を生成する。
【００６４】
以上のように、本発明の第２の実施形態に係るデジタル情報埋込装置１Ｂによれば、上記第１の実施形態に係るデジタル情報埋込装置１Ａによる埋め込み処理（式（２））と逆の処理（式（５））を行う。つまり、複数埋め込まれている疑似乱数列の中から所定の疑似乱数列のみを減算処理することにより、複数のデジタル情報が埋め込まれた圧縮データから、画質劣化を生じることなく、所望のデジタル情報のみを取り除くことができる。
例えば、圧縮データ内に複数の著作権情報が埋め込まれた中から、不要な著作権情報を取り除きたい場合には、この第２の実施形態による埋め込み処理を施すことで実現可能である。
【００６５】
また、本第２の実施形態の埋め込み方式及び上記第１の実施形態の抽出方式を組み込んでいる再生装置は、埋め込まれているデジタル情報が利用期間の限定等を意味するものであれば、次のような処理を行うことができる。埋め込み処理によって利用期間が過ぎた圧縮データに対して該当するデジタル情報を取り除き、抽出処理において内積計算より求める相関値を予め定めたしきい値より小さくさせることで、その圧縮データに対する利用等を禁止することができる。しかも、このような使用の場合には、新たに固有のデジタル情報を埋め込む必要がないため、画質劣化を生じることもない。
【００６６】
なお、式（５）は、上記第１の実施形態に係るデジタル情報埋込装置１Ａの埋め込み処理に関する式（２）に対応する処理であるため、この式（２）が変更されれば、それに対応した逆の処理を行うようにすればよい。
例えば、式（２）を下記式（６）に変更してデジタル情報の埋め込み処理を行えば、式（５）は下記式（７）に変更しても上記第２の実施形態で説明した有用な効果と同様の効果を奏することは明らかである。
Ｆ（ｉ，ｊ）＝ｆ（ｉ，ｊ）＋α｜ｆ（ｉ，ｊ）｜ｗ（ｋ）    …（６）
Ｆ（ｉ，ｊ）＝ｆ（ｉ，ｊ）−α｜ｆ（ｉ，ｊ）｜ｗ（ｋ）    …（７）
【００６７】
また、上記第１及び第２の実施形態では、原画像に応じた変換係数を算出する直交変換方式として離散コサイン変換（ＤＣＴ）を用いた例を挙げて説明したが、原画像を周波数成分に分解できるものであれば、フーリエ変換、アダマール変換、離散ウェーブレット変換又はサブバンド分割等の他の変換方式を用いてもよい。
例えば、原画像中の４×４画素ブロックに対応するウェーブレット係数ＨＬ２、ＬＨ２及びＨＨ２（各１画素）とＨＬ１、ＬＨ１及びＨＨ１（各４画素）とに、疑似乱数列を埋め込む場合を考える（図１１）。この場合、重み数列を、周波数帯域が高域になるほど（つまりＨＬ２、ＬＨ２及びＨＨ２よりＨＬ１、ＬＨ１及びＨＨ１の方が）、大きな値を持つように構成する。また、重み数列を、ＬＬ２のウェーブレット係数（ＭＲＡ）の値に応じて動的に変更してもよいし、ＭＲＡを除くＭＲＲ（ここではＨＬ２、ＬＨ２、ＨＨ２、ＨＬ１、ＬＨ１及びＨＨ１）の値に応じて動的に変更してもよい。
【００６８】
さらに、上記第１及び第２の実施形態で説明した定数α及びβは、変換係数列の要素毎に同一の値でなくてもよい。
【００６９】
なお、典型的には、上記第１及び第２の実施形態に係るデジタル情報埋込・抽出装置が実現する各機能は、所定のプログラムデータが格納された記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）と、当該プログラムデータを実行するＣＰＵ（セントラル・プロセッシング・ユニット）とによって実現される。この場合、各プログラムデータは、ＣＤ−ＲＯＭやフロッピーディスク等の記録媒体を介して導入されてもよい。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るデジタル情報埋込装置１Ａの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るデジタル情報抽出装置２Ａの構成を示すブロック図である。
【図３】図１のデジタル情報埋込装置１Ａが行う処理を示すフローチャートである。
【図４】図１のマッピング部１２が有する固有のデジタル情報と疑似乱数列との対応表の一例を示す図である。
【図５】図１の情報埋込部１３の詳細な構成の一例を示すブロック図である。
【図６】８×８画素のブロックの周波数成分の要素番号を示す図である。
【図７】ＭＰＥＧで用いられる量子化テーブルを示す図である。
【図８】図２のデジタル情報抽出装置２Ａが行う処理を示すフローチャートである。
【図９】本発明の第２の実施形態に係るデジタル情報埋込装置１Ｂの構成を示すブロック図である。
【図１０】図９の情報埋込部９１の詳細な構成の一例を示すブロック図である。
【図１１】直交変換方式として使用可能な離散ウェーブレット変換を説明する図である。
【図１２】従来の透かし埋め込み方法の構成の一例を示すブロック図である。
【図１３】従来の透かし抽出方法の構成の一例を示すブロック図である。
【符号の説明】
１，１１０１…原画像
２…固有のデジタル情報
３…重み数列
４〜６，１１１４，１２０１…圧縮データ
１Ａ，１Ｂ…デジタル情報埋込装置
２Ａ…デジタル情報抽出装置
１１…直交変換部
１２…マッピング部
１３，９１…情報埋込部
１４，１１０４…量子化部
１５，１１１３…符号化部
２１，１２０２…復号化部
２２，１２０３…逆量子化部
２３…相関値算出部
２４…疑似乱数列決定部
２５…情報生成部
５０１…絶対値算出部
５０２，５０３，５０５，１１１０，１１１１…乗算器
５０４，５０６，１１１２，１２０９…加算器
１００１…減算器
１１０２…８×８画素サイズのブロック
１１０３…ＤＣＴ演算器
１１０５…量子化テーブル
１１０６，１２１１…透かしデータ
１１０７…透かしデータ埋込器
１１０８，１１０７…部分平均計算器
１１０９…定数
１２０４…逆ＤＣＴ演算器
１２０５…再生画像データ
１２０６…透かしデータ抽出器
１２０８…除算器
１２１０…内積計算器
１２１２…統計的類似度
【図１】
0003580544.tif 000004
【図２】
0003580544.tif 000005
【図３】
0003580544.tif 000006
【図４】
0003580544.tif 000007
【図５】
0003580544.tif 000008
【図６】
0003580544.tif 000009
【図７】
0003580544.tif 000010
【図８】
0003580544.tif 000011
【図９】
0003580544.tif 000012
【図１０】
0003580544.tif 000013
【図１１】
0003580544.tif 000014
【図１２】
0003580544.tif 000015
【図１３】
0003580544.tif 000016