(57)【特許請求の範囲】
【請求項１】
対象データに対して、時間周波数変換を利用して画像データを埋め込むデータ処理を実行するデータ処理装置において、
前記対象データに対して時間周波数変換を区間演算により行うことで、前記対象データを、当該対象データが有する冗長部が拡張された拡張対象データとして生成する区間演算手段と、
前記区間演算手段が生成した前記拡張対象データに画像データを挿入して画像データ重畳情報を生成する画像データ挿入手段と、
前記画像データ挿入手段が生成した前記画像データ重畳情報を前記時間周波数変換により逆変換して画像挿入データを生成する逆変換手段とを備えることを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記区間演算手段が、前記時間周波数変換をウェーブレット変換により行うことを特徴とするデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記画像データ挿入手段が、
前記区間演算手段にて演算した結果、生成された４つの成分から任意の１つの成分を選択成分データとして選択する成分選択手段と、
前記成分選択手段にて選択された選択成分データ以外の成分を、浮動小数点演算によりウェーブレット変換した結果の成分データに変更する成分変更手段と、
前記選択成分データの区間から任意のスカラー値を取得するスカラー値取得手段と、
前記スカラー値取得手段にて取得されたスカラー値に前記画像データを重畳する画像データ重畳手段とを備えることを特徴とするデータ処理装置。
【請求項４】
請求項３に記載のデータ処理装置において、
前記画像データ挿入手段が、
前記スカラー値取得手段にて取得されたスカラー値と、前記選択成分データにおいて浮動小数点演算によりウェーブレット変換した結果の成分データとから、当該選択成分データにおける画素ごとの偏差の平均値を算出する平均算出手段と、
前記平均算出手段にて算出された前記平均値を前記画像データの成分データに乗算して平均画像データを生成する平均画像データ生成手段とを備えることを特徴とするデータ処理装置。
【請求項５】
請求項３または４に記載のデータ処理装置において、
前記スカラー値取得手段にて取得されたスカラー値が、前記選択成分データの区間の最大値または最小値であることを特徴とするデータ処理装置。
【請求項６】
請求項５に記載のデータ処理装置において、
前記スカラー値取得手段にて取得されたスカラー値が前記選択成分データの区間の最大値である場合に、当該最大値に前記平均画像データを加算し、当該スカラー値取得手段にて取得されたスカラー値が当該選択成分データの区間の最小値である場合に、当該最小値に当該平均画像データを減算することを特徴とするデータ処理装置。
【請求項７】
請求項１ないし６のいずれかに記載のデータ処理装置において、
前記区間演算手段が演算する区間を利用者が指定した範囲に設定する区間設定手段を備えることを特徴とするデータ処理装置。
【請求項８】
請求項４ないし７のいずれかに記載のデータ処理装置において、
前記画像データが挿入された画像挿入データに対して浮動小数点演算によりウェーブレット変換を行う浮動小数点演算手段と、
前記浮動小数点演算手段が演算した結果、得られた４つの成分のうち、前記画像データが挿入された成分の成分データと前記スカラー値取得手段が取得したスカラー値との差分を算出する差分算出手段と、
前記差分算出手段が算出した差分を、前記平均算出手段が算出した前記平均値で除算して前記画像データを抽出する画像データ抽出手段とを備えることを特徴とするデータ処理装置。
【請求項９】
対象データに対して、時間周波数変換を利用してノイズを除去するデータ処理を実行するデータ処理装置において、
前記対象データに対して時間周波数変換を区間演算により行うことで、前記対象データを、当該対象データが有するノイズが拡張された拡張対象データとして生成する区間演算手段と、
前記対象データと、前記拡張対象データとの差分から当該対象データのノイズを検出するノイズ検出手段と、
前記ノイズ検出手段が検出したノイズの少なくとも一部を前記対象データから除去するノイズ除去手段とを備えることを特徴とするデータ処理装置。
【請求項１０】
コンピュータが、対象データに対して、時間周波数変換を利用して画像データを埋め込むデータ処理を実行するデータ処理方法において、
コンピュータが、
前記対象データに対して時間周波数変換を区間演算により行うことで、前記対象データを、当該対象データが有する冗長部が拡張された拡張対象データとして生成する区間演算ステップと、
前記区間演算ステップが生成した前記拡張対象データに画像データを挿入して画像データ重畳情報を生成する画像データ挿入ステップと、
前記画像データ挿入ステップが生成した前記画像データ重畳情報を前記時間周波数変換により逆変換して画像挿入データを生成する逆変換ステップとを実行することを特徴とするデータ処理方法。
【請求項１１】
対象データに対して、時間周波数変換を利用して画像データを埋め込むデータ処理を実行するようにコンピュータを機能させるデータ処理プログラムにおいて、
前記対象データに対して時間周波数変換を区間演算により行うことで、前記対象データを、当該対象データが有する冗長部が拡張された拡張対象データとして生成する区間演算手段、
前記区間演算手段が生成した前記拡張対象データに画像データを挿入して画像データ重畳情報を生成する画像データ挿入手段、
前記画像データ挿入手段が生成した前記画像データ重畳情報を前記時間周波数変換により逆変換して画像挿入データを生成する逆変換手段としてコンピュータを機能させることを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象データに対して、時間周波数変換をしてデータ処理を実行するデータ処理装置に関し、特に対象データの冗長性を利用して処理を行うデータ処理装置等に関する。
【背景技術】
【０００２】
時間周波数変換を利用したデータ処理の技術の１つとして、対象データの冗長部である特定の周波数領域を利用して情報を埋め込む電子透かしの技術がある。
近年、インターネットの急速な普及に伴い、デジタルコンテンツビジネスが拡大している。デジタルコンテンツビジネスはインターネットを用いて音楽データや画像データ等の著作物データを直接ユーザへ送信して販売するビジネスである。デジタルコンテンツビジネスは、流通時間の削減やコストの削減を実現することができるため、販売システムとして今後さらに拡大していくと考えられる。しかし、デジタルデータは容易に複製できることから、ユーザが無断で第三者に販売する可能性がある。コンテンツ自体には誰が著作権を持ち、誰が販売を行い、誰が購入したのかという情報は付加されていないため、再配布されても経路を特定することは難しい。このような不正コピーが日常的になってしまうとビジネスとして成立しない上に著作権も保護されず、文化の発展を妨げることになってしまう。
【０００３】
そこで、著作権の保護や不正コピーを抑止するために考えられた技術が電子透かしである。透かしがあれば、少なくとも誰が著作権者であるかの判断がつき、また、透かしがあるという事実が不正コピーをしようとする人への抑止力にもなり得る。
【０００４】
電子透かしの技術として非特許文献１及び非特許文献２に示す技術がある。
非特許文献１に係る技術は、ウェーブレット変換の階層性とスペクトル拡散の高秘匿性を利用した簡便な電子透かし方法である。まず、対象画像を３〜４段の階層にウェーブレット分解し、スペクトル拡散により各段の直流成分に周波数領域で署名を埋め込む。この合成データを逆変換すれば、署名情報を画像領域全体に秘匿拡散することができる。拡散信号は非常に弱く、画像信号に対して大きなノイズにはならないため、署名を含んだ画像は見かけ上原画とほぼ同一である。また、拡散符号は暗号の乱数鍵と同じ作用があるため署名の改ざん等の攻撃にも強く、著作権保護のための強固な署名を隠し込むことができる。
【０００５】
非特許文献２に係る技術は、ウェーブレット変換により画像を変換し、得られたウェーブレット係数に擬似乱数系列を透かし情報として埋め込む電子透かし方法である。これにより透かし情報の検出精度が向上する。
また、時間周波数変換を利用したデータ処理の他の技術として、対象となるデータからノイズを除去する技術がある。
【０００６】
対象データの中でノイズとなる周波数を特定し、それを除去することで対象データの質を上げることができる。つまり、例えば対象データが音声であれば、音を鮮明にすることができ、画像データであれば画像を鮮明にすることができる。また、対象データのノイズを除去することで音声認識処理や画像認識処理を行う場合に、より正確に特定の音声や形状等を認識することができるようになる。
【０００７】
雑音の除去に関する技術にスペクトルサブトラクション法（以下、ＳＮ法とする）がある。ＳＮ法は、対象の音声スペクトルから雑音のみのスペクトルを推定して、対象の音声スペクトルから差し引くことで雑音を除去する方法である。
【非特許文献１】大西淳児、松井甲子雄、「多重解像度解析とＰＮ系列を利用した電子透かし法」、電子情報通信学会論文誌、１９９７年１１月、Ｖｏｌ．Ｊ８０−Ｄ−II、Ｎｏ．１１、ｐ３０２０−３０２８
【非特許文献２】宮崎明雄、椛島良聡臣、「画像の多重解像度解析を利用した電子透かし方式の改良」、電子情報通信学会論文誌、２００２年１月、Ｖｏｌ．Ｊ８５−Ａ、Ｎｏ．１、ｐ１０３−１１１
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１の技術は、擬似乱数としてスペクトル拡散符号を用いているため、高秘匿性は保たれているが、透かしを抽出する際は乱数発生器の構造を知る必要があり、手間の掛かる作業となってしまうという課題を有する。
【０００９】
また、非特許文献１によると、多重解像近似画像をブロック分割して署名データを合成しているため、画像の一部が切り取られるような攻撃を受けた場合に、うまく署名を復号できないという課題を有する。
【００１０】
非特許文献２の技術は、画像の多重解像度表現と人間の視覚特性の関係を利用した技術であるため、例えば、画像に対して透かしを埋める場合に、人間の視覚特性を利用できる箇所（例えば、輪郭部分や影の部分等）を画像の中から見つけ出し、そこに透かしを埋め込む処理を行わなければならない。そのため処理が煩雑になってしまうという課題を有する。
雑音除去に関するＳＮ法においては、雑音レベルに応じて雑音の推定精度が変動するため、様々な雑音レベルが生じる実環境においては十分な性能が得られないという課題と有する。
【００１１】
ところで、演算方法の１つで主としてヨーロッパで研究されているものに区間演算という演算方法がある。区間演算は通常の数値演算と違ってある２つの数値に挟まれた区間を用いて計算を行う演算方法である。この演算方法では取り得る値の区間（誤差の範囲）の全てを包み込むように定義されるため、演算回数が増えると一般的には区間が拡張する（この現象を「区間拡張」と言う）。そのため、（特に日本における）多くの研究者が区間演算は数値計算法を除いてはほとんど役に立たないと考えている。しかし、発明者は計算の過程においてコンピュータが自動的にもたらす「区間拡張」を便利な情報と捉えてデータ処理に応用できることを知見した。
【００１２】
そこで、本発明は前記課題を解決するためになされたものであり、対象データに対して、時間周波数変換を利用してデータ処理を実行する際に、区間演算を使って対象データの冗長性を拡張し、拡張した冗長部を便利な情報として処理に利用するデータ処理装置、データ処理方法、及びデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係るデータ処理装置は、対象データに対して、時間周波数変換を利用して画像データを埋め込むデータ処理を実行するデータ処理装置において、前記対象データに対して時間周波数変換を区間演算により行うことで、前記対象データを、当該対象データが有する冗長部が拡張された拡張対象データとして生成する区間演算手段と、前記区間演算手段が生成した前記拡張対象データに画像データを挿入して画像データ重畳情報を生成する画像データ挿入手段と、前記画像データ挿入手段が生成した前記画像データ重畳情報を前記時間周波数変換により逆変換して画像挿入データを生成する逆変換手段とを備えることを特徴とする。
【００１４】
このように、本発明においては、対象データに対して時間周波数変換を区間演算により行うことで、対象データが有する冗長部を拡張するため、対象データ中で注視したい箇所（例えばノイズや特徴周波数等）の情報を顕在化することができる。また、拡張した領域を利用して情報を挿入したり、区間を利用することで区間の幅や情報の挿入箇所を鍵にして、複雑な処理を行わなくても容易に秘匿性を保つこともできる。
また、時間周波数変換を区間演算により行う区間演算手段を備えるため、区間演算により拡張した区間を対象データの冗長性と捉えることで、冗長した部分に画像を挿入することができる。つまり、人間の視覚的な特徴を考慮して画像を挿入する箇所を特定するような煩雑な処理が不要になり、装置が演算の過程で自動的に拡張した領域に画像データを挿入するだけでよい。従って、処理を簡潔にして処理効率を上げることができる。
【００１７】
また、時間周波数変換を区間演算に置き換えただけなので、従来ある装置を大幅に変更することなく、容易に実装することができる。
さらに、入力信号の冗長部に画像データを挿入するため、全体に満遍なく合成することができ、改ざんや切り抜き等の攻撃に対する耐性が強くなる。
【００１８】
（３．ウェーブレット変換による時間周波数変換）
本発明に係る画像処理装置は、前記区間演算手段が、前記時間周波数変換をウェーブレット変換により行うことを特徴とする。
このように、本発明においては、時間周波数変換をウェーブレット変換で行うため、ウェーブレット変換を利用した圧縮（例えばＪＰＥＧ２０００）のような攻撃に対して高い耐性を持つことができる。
【００１９】
（４．ウェーブレット変換による画像の合成）
本発明に係る画像処理装置は、前記画像データ挿入手段が、前記区間演算手段にて演算した結果、生成された４つの成分から任意の１つの成分を選択成分データとして選択する成分選択手段と、前記成分選択手段にて選択された選択成分データ以外の成分を、浮動小数点演算によりウェーブレット変換した結果の成分データに変更する成分変更手段と、前記選択成分データの区間から任意のスカラー値を取得するスカラー値取得手段と、前記スカラー値取得手段にて取得されたスカラー値に前記画像データを重畳する画像データ重畳手段とを備えることを特徴とする。
このように、本発明においては、ウェーブレット変換により生成された４つの成分から画像を合成する１つの成分を選択するため、それを秘匿情報の１つとして利用することができる。
【００２０】
また、ウェーブレット変換を区間演算により行うことで、得られる成分の値も区間となり、その区間から任意の値を取得するため、その値を秘匿情報として利用することができる。すなわち、例え区間が特定できたとしても、その区間の中でいずれの値を取得したかを特定できない限り、画像の抽出ができないため、高い秘匿性を保つことができる。
【００２１】
なお、選択成分データ以外の３つの成分を、浮動小数点演算によるウェーブレット変換を行った結果の成分に変更する際は、区間演算によるウェーブレット変換とは別に浮動小数点演算によるウェーブレット変換を行って値を変更してもよいし、区間演算によるウェーブレット変換をした結果を浮動小数点数に変換してもよい。すなわち、結果的に選択成分データのみが区間演算の結果を得、その他の成分は浮動小数点数の結果を得ることができればよい。
【００２２】
（５．偏差の平均値を算出）
本発明に係る画像処理装置は、前記画像データ挿入手段が、前記スカラー値取得手段にて取得されたスカラー値と、前記選択成分データにおいて浮動小数点演算によりウェーブレット変換した結果の成分データとから、当該選択成分データにおける画素ごとの偏差の平均値を算出する平均算出手段と、前記平均算出手段にて算出された前記平均値を前記画像データの成分データに乗算して平均画像データを生成する平均画像データ生成手段とを備えることを特徴とする。
【００２３】
このように、本発明においては、区間演算により拡張した冗長部に画像データを挿入するため、対象データが壊れやすくなってしまうが、選択成分データの画素ごとの偏差の平均を算出し、算出された結果を前記画像データに乗算して平均画像データを生成することで、挿入する画像データの成分値を区間拡張による影響の平均程度に抑えることができ、対象データへの影響を最小限に抑えることができる。
【００２４】
（６．最大値または最小値の取得）
本発明に係る画像処理装置は、前記スカラー値取得手段にて取得されたスカラー値が、前記選択成分データの区間の最大値または最小値であることを特徴とする。
このように、本発明においては、スカラー値取得手段にて取得されたスカラー値が、選択成分データの区間の最大値または最小値であるため、値の取得が簡潔になると共に区間を最大限に利用することで画像を強固に合成することができる。
【００２５】
（７．加算または減算）
本発明に係る画像処理装置は、前記スカラー値取得手段にて取得されたスカラー値が前記選択成分データの区間の最大値である場合に、当該最大値に前記平均画像データを加算し、当該スカラー値取得手段にて取得されたスカラー値が当該選択成分データの区間の最小値である場合に、当該最小値に当該平均画像データを減算することを特徴とする。
【００２６】
このように、本発明においては、スカラー値取得手段が取得したスカラー値が選択成分データの区間の最大値である場合は、最大値に平均画像データを加算し、スカラー値取得手段が取得したスカラー値が選択成分データの区間の最小値である場合は、最小値に平均画像データを減算して画像を挿入するため、上記同様に区間演算により拡張した区間を最大限に利用して、強固に画像を合成することができる。
【００２７】
（８．区間の設定）
本発明に係る画像処理装置は、前記区間演算手段が演算する区間を利用者が指定した範囲に設定する区間設定手段を備えることを特徴とする。
このように、本発明においては、区間演算手段が演算する区間を利用者が指定した範囲に設定するため、利用者は任意に区間を設定することができ、その情報を秘匿情報として利用することができる。すなわち、擬似乱数等を使わなくても簡単に秘匿性を保つことができる。
【００２８】
また、区間の設定値によって合成した画像による対象データへの影響度が変わってくるため、対象データの質に合わせて区間の値を設定することで、対象データごとに適した処理を行うことができる。例えば、対象データが画像であり、その原画像の画質が荒い場合は、区間の範囲を広げることで強固に画像を合成することができ、多少原画像に合成の影響が出ても原画像が荒いためその影響はそれほど気にならない。逆に原画像が鮮明な場合は、区間の範囲を狭めることで原画像への影響を少なくすることができる。
なお、区間の設定は選択成分の画素ごとに設定してもよいし、選択成分で統一的に設定してもよい。
【００２９】
（９．画像の抽出）
本発明に係る画像処理装置は、前記画像データが挿入された画像挿入データに対して浮動小数点演算によりウェーブレット変換を行う浮動小数点演算手段と、前記浮動小数点演算手段が演算した結果、得られた４つの成分のうち、前記画像データが挿入された成分の成分データと前記スカラー値取得手段が取得したスカラー値との差分を算出する差分算出手段と、前記差分算出手段が算出した差分を、前記平均算出手段が算出した前記平均値で除算して前記画像データを抽出する画像データ抽出手段とを備えることを特徴とする。
このように、本発明においては、スカラー値取得手段が取得した値と、平均算出手段が算出した画素ごとの偏差の平均を使うだけで合成した画像を簡単に抽出できるため、処理が簡潔になる。またこれらの値は秘匿性を保つための情報としても利用することができる。
【００３０】
また、画像データを挿入しているため抽出した結果を人間の目視で確認することができる。つまり紙幣の透かしが光を通して目視できるのと同じように、画像に対して抽出処理を行うと、挿入した画像データを目視により確認することができるため、一見して画像データの存在を知ることが可能となる。
【００３１】
本発明に係るデータ処理装置は、対象データに対して、時間周波数変換を利用してノイズを除去するデータ処理を実行するデータ処理装置において、前記対象データに対して時間周波数変換を区間演算により行うことで、前記対象データを、当該対象データが有するノイズが拡張された拡張対象データとして生成する区間演算手段と、前記対象データと、前記拡張対象データとの差分から当該対象データのノイズを検出するノイズ検出手段と、前記ノイズ検出手段が検出したノイズの少なくとも一部を前記対象データから除去するノイズ除去手段とを備えることを特徴とする。
このように、本発明においては、対象データと、区間演算により冗長部が拡張した拡張対象データとの差分から対象データのノイズを検出するため、ノイズを推定したり、ノイズを特定するための複雑な演算をする必要がない。また、ノイズを容易に検出することができるため、検出されたノイズの除去も容易に行うことができる。
【００３２】
これまで、本発明を装置として示したが、所謂当業者であれば明らかであるように本発明をシステム、方法、及び、プログラムとして捉えることもできる。これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
本実施の形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明はシステム、方法、及び、コンピュータを動作させるためのプログラムとしても実施できる。また、本発明はハードウェア、ソフトウェア、または、ハードウェア及びソフトウェアの実施形態で実施可能である。プログラムは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光記憶装置、または、磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
【００３４】
（本発明の第１の実施形態）
（１．構成）
（１−１  データ処理装置のハードウェア構成）
図１は、本実施形態に係るデータ処理装置１００のハードウェア構成を示した模式図である。
本実施形態に係るデータ処理装置１００は、ＣＰＵ（Central  Processing  Unit）１０１と、メインメモリ１０２と、マザーボードチップセット１０３と、ビデオカード１０４と、ＨＤＤ（Hard  Disk  Drive）１１１と、ブリッジ回路１１２と、光学ドライブ１２１と、キーボード１２２と、マウス１２３とを備える。
【００３５】
メインメモリ１０２は、ＣＰＵバス及びマザーボードチップセット１０３を介してＣＰＵ１０１に接続されている。ビデオカード１０４は、ＡＧＢ（Accelerated  Graphics  Port）及びマザーボードチップセット１０３を介してＣＰＵ１０１に接続している。ＨＤＤ１１１は、ＰＣＩ（Peripheral  Component  Interconnect）バス及びマザーボードチップセット１０３を介してＣＰＵ１０１に接続している。
【００３６】
光学ドライブ１２１は、低速バス、低速バスとＰＣＩバスのブリッジ回路１１２、ＰＣＩバス及びマザーボードチップセット１０３を介してＣＰＵ１０１に接続している。同様の接続構成で、キーボード１２２及びマウス１２３もＣＰＵ１０１に接続している。光学ドライブ１２１は、光ディスクにレーザー光を照射してデータを読み込む（または読み書きする）ドライブであり、例えばＣＤ−ＲＯＭドライブ、ＤＶＤドライブなどが該当する。
【００３７】
なお、図１は本実施形態に係るデータ処理装置１００のハードウェア構成を模式的に示した一例に過ぎず、本実施形態を適用可能であれば、他の様々な構成を採ることができる。
データ処理装置１００は、データ処理プログラムをＨＤＤ１１１に複製して、メインメモリ１０２に複製したデータ処理プログラムがロード可能に構成する所謂インストール（ここで示したインストールは例示に過ぎない）を行うことで構築することができ、コンピュータを制御するＯＳ（Operating  System）へ利用者がデータ処理装置１００の起動を命令することで、データ処理プログラムがメインメモリ１０２にロードされて起動する。
なお、データ処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体から提供されるようにしてもよいし、ネットワークインターフェース１１４を介してネットワークに接続された他のコンピュータから提供されるようにしてもよい。
【００３８】
（１−２  データ処理装置の全体のモジュール構成）
図２は、本実施形態に係るデータ処理装置全体のモジュール構成図である。
データ処理装置１００は、入力処理部２０５と合成処理部２０１と抽出処理部１４０１とノイズ処理部１６０１と出力処理部２７０とを備える。
入力処理部２０５は、処理の対象となる対象データを入力する処理を行う。処理の対象となる対象データは、例えば音声や画像のように時間周波数に分解できるデータである。
【００３９】
合成処理部２０１は、対象となるデータに画像データ（透かし画像）を合成する処理を行う。
抽出処理部１４０１は、合成処理部２０１で合成した透かし画像を抽出する処理を行う。
ノイズ処理部１６０１は、対象となるデータのノイズを除去する処理を行う。
出力処理部２７０は、透かし画像が挿入された対象データやノイズが除去された対象データを画面や紙に出力する処理を行う。
【００４０】
（１−３  合成処理部のモジュール構成）
図３は、本実施形態に係るデータ処理装置の合成処理部のモジュール構成図である。
合成処理部２０１は、区間演算処理部２１０と浮動小数点演算処理部２１５と画像データ挿入処理部２２０と逆変換処理部２６０とを備える。
区間演算処理部２１０は、入力された対象データに対して、区間演算によってウェーブレット変換を行う処理部である。
浮動小数点演算処理部２１５は、入力された対象データに対して、通常の浮動小数点演算によりウェーブレット変換を行う処理部である。
画像データ挿入処理部２２０は、ウェーブレット変換されたデータに対して透かし画像を挿入する処理を行う。
逆変換処理部２６０は、ウェーブレット変換の逆の演算を行うことで、４つの成分を１つにして対象データを戻す処理を行う。
【００４１】
（１−４  画像データ挿入処理部のモジュール構成）
図４は、本実施形態に係るデータ処理装置の画像データ挿入処理部のモジュール構成図である。
画像データ挿入処理部２２０は、成分選択処理部２２５と成分変更処理部２３０とスカラー値取得処理部２３５と平均算出処理部２４０と平均画像データ生成処理部２４５と画像データ重畳処理部２５０とを備える。
【００４２】
成分選択処理部２２５は、区間演算処理部２１０が行った２次元ウェーブレット変換により得られた４つの成分から任意の１つを選択する処理を行う。ここで選択した成分に対して透かし画像を挿入する。また、どの成分を選択したかという情報は、秘匿情報として利用することができる。
【００４３】
スカラー値取得処理部２３５は、成分選択処理部２２５が選択した成分データの区間から任意のスカラー値を取得する処理を行う。任意のスカラー値は区間の最大値または最小値を取得することで、区間の幅を最大限に利用することができる。また、この任意のスカラー値は上記と同様に秘匿情報として利用することもできる。
【００４４】
平均算出処理部２４０は、成分選択処理部２２５が選択した選択成分データの画素ごとの偏差の平均を算出する処理を行う。ここで言う偏差とは、スカラー値取得処理部２３５が取得した値と通常の浮動小数点演算による演算結果おける成分データとの差である。つまり、区間演算により生じた、浮動小数点演算の結果とのずれのことである。
【００４５】
平均画像データ生成処理部２４５は、挿入する透かし画像の成分値に平均算出処理部２４０が算出した平均値を乗算する処理を行う。従って、透かし画像の成分値の最大が、区間拡張による影響の平均に抑えられる。
成分変更処理部２３０は、成分選択処理部２２５が選択した成分以外の３つの成分の成分データを浮動小数点演算処理部２１５が演算した成分データに置き換える処理を行う。
【００４６】
画像データ重畳処理部２５０は、スカラー値取得処理部２３５が取得したスカラー値に平均画像データ生成処理部２４５が生成した平均画像データを重畳する処理を行う。スカラー値取得処理部２３５が区間の最大値を取得している場合は、スカラー値に平均画像データの成分値を加算する。スカラー値取得処理部２３５が区間の最小値を取得している場合は、スカラー値から平均画像データの成分値を減算する。すなわち、区間外に画像データを重畳して、画像データの挿入を強固にしている。
【００４７】
（２．演算）
（２−１  区間演算）
ここで、区間演算について詳細に説明する。区間演算は数値演算で行う数値同士の演算ではなく、２つの数値に挟まれた区間を用いて演算するものである。
区間Ａを次のように定義する。
【００４８】
【数１】
0004863504.tif 000002
Ｒは実数である。区間Ａの範囲の下限と上限をｉｎｆ（Ａ）＝ａ１とｓｕｐ（Ａ）＝ａ２とし、区間幅が０でない区間Ａの幅をｗ（Ａ）＝ａ２−ａ１とする。２つの区間Ａ＝［ａ１，ａ２］とＢ＝［ｂ１，ｂ２］の四則演算は次式で定義する。
【００４９】
【数２】
0004863504.tif 000003
【００５０】
式（２）の基本的な計算により、一般的には演算の回数が増えると区間の幅が拡張する。なぜなら、２つの区間で演算を行った場合に、その演算で取り得る区間の全てを含むように定義されるからである。例えば、Ａ＝［−１，２］、Ｂ＝［１，４］、Ｃ＝［−２，２］とすると、Ａ＋Ｂ＝［０，６］、Ａ＋Ｂ−Ｃ＝［−２，８］である。幅はＡ，Ｂが３でＣが４である。それに対してＡ＋ＢとＡ＋Ｂ＋Ｃの幅はそれぞれ６と１０である。このように演算を行うと区間が拡張する現象は、しばしば「区間拡張」と呼ばれる。以上が区間演算に関する詳細な説明である。
【００５１】
（２−２  ウェーブレット変換）
ウェーブレット変換は代表的な時間周波数変換の手法の１つであり、周知の手法であるため、基本的な説明については省略するが、本実施形態で使用するドベシィのウェーブレットについては、ここで詳細に説明する。
【００５２】
（２−２−１  ドベシィのウェーブレット変換）
ドベシィのウェーブレットは、ウェーブレット及びスケーリング関数の形が複雑で既知の関数では表現できない。しかし、自然数Ｎで値の特徴づけを行っている。ここではドベシィのウェーブレットの数列ｐk及びｑkを与える。下記の表１はドベシィの数列ｐkである。
【００５３】
【表１】
0004863504.tif 000004
ｑkは、ｐkを時間軸方向で反転し、係数の符号を交互に反転することにより次式で得られる。
【００５４】
【数３】
0004863504.tif 000005
【００５５】
（２−２−２  １次元離散ウェーブレット変換）
ドベシィのウェーブレット変換では、スケーリング関数φ0,k（ｔ）が与えられていないために、スケーリング係数ｓk(0)を計算することができない。しかし、一般的に信号をサンプリングして得られる数列ｆ（ｎ）をｓk(0)としても問題ないことが知られている。任意の信号f(t)の近似関数を
【００５６】
【数４】
0004863504.tif 000006
と表すと次式が成り立つ。
【００５７】
【数５】
0004863504.tif 000007
ツースケール関数を用いて、φj-1,n（ｔ）で表すと、
【００５８】
【数６】
0004863504.tif 000008
となり、
【００５９】
【数７】
0004863504.tif 000009
であることから、式（５）より置き換えを行うと、
【００６０】
【数８】
0004863504.tif 000010
となる。ウェーブレット展開係数ｗk(j)はツースケール関数を用いて、
【００６１】
【数９】
0004863504.tif 000011
となり、積分記号以下はｓn(j-1)なので右辺を書き換えると、
【００６２】
【数１０】
0004863504.tif 000012
となる。式（８）と式（１０）から、信号が分解される様子を図５（ａ）に示す。図５（ａ）はスケーリング係数の精度の低いレベルへの分解の様子を示している。
また、再構成は次式により得られる。
【００６３】
【数１１】
0004863504.tif 000013
この式から信号は図５（ｂ）のように再構成される。図５（ｂ）は、精度の低いｓk(j)、ｗk(j)からの再構成の様子を示している。
【００６４】
（２−２−３  ２次元離散ウェーブレット変換）
２次元離散ウェーブレット変換では、まず横軸方向に離散ウェーブレット変換を行い、その後に縦軸方向に離散ウェーブレット変換を行う。画像データｆ（ｍ，ｎ）をレベル０のスケーリング関数ｓm,n(0)とみなす。横軸方向のウェーブレット変換は、
【００６５】
【数１２】
0004863504.tif 000014
となる。ｓm,n(j+1,x)、ｗm,n(j+1,x)はそれぞれ、横軸方向のスケーリング係数及びウェーブレット展開級数を表す。
次に、縦軸方向のウェーブレット変換を行うと
【００６６】
【数１３】
0004863504.tif 000015
となり、式をまとめると、
【００６７】
【数１４】
0004863504.tif 000016
となる。図で表すと図５（ｃ）のようになる。ｓ（０）を分解するとｓ（１）、ｗ（１，ｈ）、ｗ（１，ｖ）、ｗ（１，ｄ）の各要素を得ることができる。ｓ（１）はｓ（０）の低周波成分である。ｗ（１，ｈ）水平方向、ｗ（１，ｖ）は垂直方向、ｗ（１，ｄ）は対角方向の高周波成分である。再構成は１次元の変換の場合と同様に次式で行う。
【００６８】
【数１５】
0004863504.tif 000017
これにより、ウェーブレット変換による画像の分解と再構成が行える。以上がウェーブレット変換に関する詳細な説明である。
【００６９】
（３．アルゴリズム）
次に、本実施形態に係るデータ処理装置１００のアルゴリズムを説明する。
対象となる画像データをＣ0とする。Ｃ0に対してウェーブレット変換を行うと、図５（ｃ）に示すように、水平方向と垂直方向と対角方向にそれぞれ低周波と高周波の成分（Ｃ1、Ｄ1、Ｅ1、Ｆ1）得る。通常のウェーブレット変換は浮動小数点演算により行われるため、それから得られる成分（Ｃ1、Ｄ1、Ｅ1、Ｆ1）は浮動小数点数である。浮動小数点演算の代わりに区間演算を用いると、Ｃ1、Ｄ1、Ｅ1、Ｆ1の代わりにＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1を得る。ウェーブレット変換において、δを用いて区間演算を行う場合は、信号の表現が式（４）に代わって
【００７０】
【数１６】
0004863504.tif 000018
となる。ここでδkは小さい正の実数である。２値の挿入する透かし画像データをＸとすると、挿入する工程は以下のようになる。
【００７１】
（１）４つの区間（ＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1）の成分から１つを選択しその最大値または最小値を計算する。例えば、ＩＦ1が選択された場合は最大値をＦ1’＝ｓｕｐ（ＩＦ1）とする。
（２）他の成分を浮動小数点数に置き換える。例えば、ＩＣ1、ＩＤ1、ＩＥ1をＣ1、Ｄ1、Ｅ1に置き換える。
（３）以下の計算を行い、
【００７２】
【数１７】
0004863504.tif 000019
αＸを求める。この時ＮF1は画素数で、Ｆ1（ｉ）は、Ｆ1におけるｉ番目の画素値である。
【００７３】
（４）（１）で最小値を取得した場合はＦ1’−αＸを行い、最大値を取得した場合はＦ1’＋αＸを算出する。
（５）Ｆ1←Ｆ1’−αＸまたはＦ1←Ｆ1’＋αＸの置き換えをする。
（６）Ｃ1〜Ｆ1を逆ウェーブレット変換を使って復元し、透かし画像が挿入された、画像挿入データｊＣ0を得る。
以上がデータ処理装置の画像データ挿入に関するアルゴリズムである。
【００７４】
（４．データ処理装置の動作）
図６は、本実施形態に係るデータ処理装置１００の処理を示すフローチャートである。上記アルゴリズムを実現するためのデータ処理装置１００の処理について説明する。
まず、処理の対象となる画像データを入力する（ステップＳ６０１）。入力された画像データに対して、２次元のウェーブレット変換を行う。本実施形態においては区間演算によるウェーブレット変換（ステップＳ６０２）と浮動小数点演算によりウェーブレット変換（ステップＳ６０３）を行う。区間演算によるウェーブレット変換により得られた４つの成分から１つの成分を選択する（ステップＳ６０４）。ここで選択された成分に透かし画像が挿入される。
【００７５】
図７は、浮動小数点演算または区間演算によりウェーブレット変換を行った様子を示す図である。対象データとなる画像データＣ0に対して浮動小数点演算により２次元のウェーブレット変換を行うと、４つの成分Ｃ1、Ｄ1、Ｅ1、Ｆ1を得る。当然Ｃ1、Ｄ1、Ｅ1、Ｆ1の成分データの値は浮動小数点数である。また、Ｃ0に対して区間演算により２次元のウェーブレット変換を行うと、４つの成分ＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1を得る。当然ＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1の成分データの値は区間である。区間演算によるウェーブレット変換により得られた４つの成分から、透かし画像を挿入する１つの成分を選択する。ここでは、ＩＦ1に透かし画像を挿入するとする。
【００７６】
図６に戻って、ステップＳ６０４で選択した成分（ここではＩＦ1）以外の３つの成分ＩＣ1、ＩＤ1、ＩＥ1について、浮動小数点演算により得られた成分Ｃ1、Ｄ1、Ｅ1に置き換える（ステップＳ６０５）。ステップＳ６０４で選択した成分ＩＦ1の区間の最大値または最小値を取得する（ステップＳ６０６）。
【００７７】
図８は、成分の置き換えと値取得の様子を示した図である。図からわかるように、ＩＦ1以外の３つの成分ＩＣ1、ＩＤ1、ＩＥ1をＣ1、Ｄ1、Ｅ1に置き換え、ＩＦ1については、ここでは区間の最大値Ｆ1’＝ｓｕｐ（ＩＦ1）を取得している。この時点で、４つの成分データの値は全て区間ではなく値となっている。区間の最大値または最小値を取得することで、区間の中点から離れた値を取ることができ、区間を最大限に利用して強固に画像を挿入することができる。また、最大値と最小値は装置が認識している値であるため、値を取得しやすく、処理を簡単にすることができる。
【００７８】
なお、必ずしも最大値または最初値を取得する必要はない。区間内であればどこの値をとっても構わないが、中点だと元の画像に近づいてしまい、区間演算のメリットが少なくなるため、取得しないようにする。
【００７９】
図６に戻って、浮動小数点演算により得られた値（Ｆ1）とステップＳ６０６で取得した値（Ｆ1’）との画素ごと偏差の平均値を算出する（ステップＳ６０７）。算出した平均値を、挿入する透かし画像の成分値に乗算して、最大値がその平均値内となる平均画像データを生成する（ステップＳ６０８）。ステップＳ６０６で取得した値に平均画像データの成分値を重畳する（ステップＳ６０９）。この時、ステップＳ６０６で区間の最大値を取得している場合は、平均画像データを加算する。ステップＳ６０６で区間の最小値を取得している場合は、平均画像データを減算する。つまり、Ｆ1’＝ｓｕｐ（ＩＦ1）で最大値を取得しているため、ここでは加算処理を行う。
【００８０】
図９は、平均画像データを対象となる画像データの成分データに重畳する様子を示した図である。Ｆ1とＦ1’との画素ごと偏差の平均値をαとすると、挿入する透かし画像Ｘにαを乗算する。そして、Ｆ1’が区間の最大値であればＦ1’＋αＸを行い、区間の最小値であればＦ1’−αＸを行う。透かし画像ＸにＦ1とＦ1’との画素ごと偏差の平均値にαを乗算することで、挿入する透かし画像の成分値を区間拡張による影響の平均程度に抑えることができ、対象データへの影響を最小限に抑えることができる。また、区間の最大値であればＦ1’＋αＸを行い、区間の最小値であればＦ1’−αＸを行うことで、区間の中点からより離れた点での画像の挿入が可能となる。つまり、区間の最大値からαＸを減算してしまうと（または区間の最小値にαＸを加算してしまうと）、値が区間の中点に近づいてしまい、挿入する透かし画像が元の画像データに近づいてしまう。そうなると区間演算を利用したメリットが少なくなってしまうため、区間演算のメリットを最大限に活かすためにも上記のような処理を行う必要がある。
【００８１】
図６に戻って、平均画像データαＸが重畳された成分データＦ1’＋αＸをＦ1に置き換えて、ウェーブレット逆変換を行い（ステップＳ６１０）、透かし画像が挿入された画像挿入データを出力して（ステップＳ６１１）処理を終了する。
【００８２】
図１０は、ウェーブレット逆変換を行う様子を示した図である。平均画像データＦ1’＋αＸをＦ1に置き換え、通常の浮動小数点演算によるウェーブレット変換の逆の演算を行って、画像挿入データｊＣ0を生成する。
【００８３】
なお、本実施形態においては、対象となるデータは画像データＣ0としたが、画像データに限定せずに、音声のような１次元のデータでもよい。その場合、入力された信号をある長さで切って、それを縦に積み重ねることで２次元の信号と考えることができる。つまり画像の場合と同様の処理を行うことができる。また、動画データであってもよい。
【００８４】
また、図４における平均算出処理部２４０と平均画像データ２４５は必須の処理手段ではないが、これらがあることで、対象画像の品質を保障することができる。
さらに、本実施形態においては、透かし画像をして画像データを挿入する処理を説明したが、透かし画像ではなく、画像を見た目にはわからないように挿入する技術であれば本実施形態に係るデータ処理装置は何にでも利用可能である。
【００８５】
（本発明の第２の実施形態）
（１．構成）
（１−１  合成処理部のモジュール構成）
図１１は、本実施形態に係るデータ処理装置の合成処理部のモジュール構成図である。第１の実施形態に係るデータ処理装置１００の合成処理部２０１と異なる点は浮動小数点演算処理部２１５を備えていない点である。
従って、本実施形態に係るデータ処理装置１００は浮動小数点演算による通常のウェーブレット変換は行わない。
【００８６】
（１−２  画像データ挿入処理部のモジュール構成）
図１２は、本実施形態に係るデータ処理装置の画像データ挿入処理部のモジュール構成図である。第１の実施形態に係るデータ処理装置１００の画像データ挿入処理部２２０と異なる点は変換処理部２２６を備えた点である。
変換処理部２２６は、成分選択処理部２２５が選択した成分以外の成分を、区間データから浮動小数点数に変換する処理を行う。つまり、結果的には第１の実施形態の場合と同様に、成分選択処理部２２５が選択した成分データのみが区間データとなり、その他の成分データは浮動小数点数となるが、処理の工程が異なる。
【００８７】
（２．データ処理装置の動作）
図１３は、本実施形態に係るデータ処理装置１００の処理を示すフローチャートである。
まず、処理の対象となる画像データを入力する（ステップＳ１３０１）。入力された画像データに対して、区間演算により２次元のウェーブレット変換を行う（ステップＳ１３０２）。ウェーブレット変換により得られた４つの成分から１つの成分を選択する（ステップＳ１３０３）。ここで選択された成分に透かし画像が挿入される。区間演算によりウェーブレット変換が行われているため、４つの成分データは区間データである。ここで、ステップＳ１３０３で選択した成分以外の３つの成分データを区間データから浮動小数点データに変換する（ステップＳ１３０４）。
なお、浮動小数点データに変換する場合は、区間データに基づいて演算を行って変換してもよいし、区間の中点を求めて、その中点に変換するようにしてもよい。
【００８８】
図１４は、選択した成分以外の成分データを区間データから浮動小数点データに置き換える様子を示した図である。対象データとなる画像データＣ0に対して区間演算により２次元のウェーブレット変換を行うと、４つの成分ＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1を得る。当然ＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1の成分データの値は区間である。区間演算により得られた４つの成分から、透かし画像を挿入する１つの成分を選択する。ここでは、ＩＦ1に透かし画像を挿入するとする。選択した成分以外の成分データ（ＩＣ1、ＩＤ1、ＩＥ1）は、変換処理により浮動小数点演算によるウェーブレット変換を行った場合の値（Ｃ1、Ｄ1、Ｅ1）に変換される。ＩＦ1は区間データのままであるため、第１の実施形態の場合と同様に最大値または最小値を取得する処理を行う。
図１３に戻って、ステップＳ１３０５以降は第１の実施形態と同様の処理を行って透かし画像を挿入する。
【００８９】
（本発明の第３の実施形態）
（１．合成処理部のモジュール構成）
図１５は、本実施形態に係るデータ処理装置の合成処理部のモジュール構成図である。第１の実施形態と異なる点は区間設定処理部２０６を備えている点である。
区間設定処理部２０６は、利用者が指定した区間（式（１６）におけるδkの値）の設定を行う。つまり利用者は区間演算の区間を任意に設定することができる。そして、その設定した区間情報は秘匿情報として利用することができる。区間を広く設定すると、透かし画像を挿入しやすくなるが、オリジナルの画像を壊しやすくなってしまう。逆に区間を狭く設定すると、透かし画像は挿入しにくくなるが、オリジナル画像を壊さないように挿入することができる。具体的には０．００５から０．０１程度に設定することが好ましい。
【００９０】
（２．データ処理装置の動作）
図１６は、本実施形態に係るデータ処理装置１００の処理を示すフローチャートである。
まず、処理の対象となる画像データを入力する（ステップＳ１６０１）。利用者が区間演算の区間を指定し、指定された区間を式（１６）のδkに設定する（ステップＳ１６０２）。設定された区間に基づいて、区間演算によるウェーブレット変換を行う（ステップＳ１６０３）。それ以降の処理は第１の実施形態の場合と同様である。
【００９１】
このように、利用者が区間を任意に設定できることで、処理の対象となる画像データに応じた処理を行うことができる。例えば、対象となる画像データが元々粗い画像であった場合は、区間を広くして対象となる画像データに透かし画像の影響が出ても、それほど目立たない。逆に対象となる画像データが鮮明である場合は、区間を狭くして対象となる画像データに透かし画像の影響が出ないようにすることができる。併せて、その区間情報は、透かし画像の抽出の際の鍵としても利用することができる。
【００９２】
（本発明の第４の実施形態）
（１．抽出処理部のモジュール構成）
図１７は、本実施形態に係るデータ処理装置の抽出処理部のモジュール構成図である。ここでは上記各実施形態において挿入した透かし画像の抽出の処理について説明する。
抽出処理部１４０１は、浮動小数点演算部２１５と差分算出処理部１４１０と画像抽出処理部１４２０とを備える。
【００９３】
浮動小数点演算部２１５は、入力された対象データに対して、通常の浮動小数点演算によりウェーブレット変換を行う処理部である。ここでも処理の対象となるデータは、既に透かし画像が挿入されているデータである。
【００９４】
差分算出処理部１４１０は、浮動小数点演算部２１５がウェーブレット変換したことにより得られる４つの成分のうち、透かし画像が挿入された成分の成分値と、透かし画像の挿入時に取得した区間内のスカラー値との差分を算出する処理を行う。透かし画像の挿入時に取得した区間内のスカラー値は、挿入した人しか知らない情報であるため、鍵として利用することができる。
【００９５】
画像抽出処理部１４２０は、透かし画像Ｘを抽出する処理を行う。具体的には差分算出処理部１４１０で算出した差分を前記で示したαで除算する処理を行う（詳細についてはアルゴリズムの説明で後述する）。差分算出処理部１４１０及び画像抽出処理部１４２０は、挿入の処理に対して逆の演算を行うことで透かし画像Ｘを抽出している。
出力処理部２７０は、抽出した透かし画像を出力する処理を行う。
【００９６】
（２．アルゴリズム）
以下に透かし画像の抽出のアルゴリズムを説明する。透かし画像を抽出するためには、透かし画像が挿入された成分についての情報と、区間から取得したスカラー値の情報が必要である。これらの情報は透かし画像の抽出の鍵である。
【００９７】
（１）透かし画像が埋め込まれた画像データｊＣ0に対して通常の浮動小数点演算でウェーブレット変換を行い、ｊＣ1、ｊＤ1、ｊＥ1、ｊＦ1に分解する。
（２）ＩＦ1の成分に透かし画像が挿入された場合、｜ｊＦ1−Ｆ’1｜を算出する。
（３）以下の式により透かし画像Ｘが抽出される。
【００９８】
【数１８】
0004863504.tif 000020
以上が透かし画像の抽出のアルゴリズムである。これにより、挿入の場合と逆の演算をしていることがわかる。
【００９９】
（３．動作）
図１８は、本実施形態に係るデータ処理装置１００の処理を示すフローチャートである。
まず、透かし画像が挿入された画像データが入力される（ステップＳ１８０１）。入力された画像に対して、通常の浮動小数点演算によるウェーブレット変換を行う（ステップＳ１８０２）。得られた４つの成分のうち透かし画像が挿入された成分の成分値と、透かし画像の挿入時に取得した区間のスカラー値との差分を算出する（ステップＳ１８０３）。その差分を、透かし画像挿入時に算出した偏差の平均値αで除算する（ステップＳ１８０４）。それにより得られた透かし画像を出力して（ステップＳ１８０５）処理を終了する。
このように、挿入と逆の演算を行うことで、簡単な処理で透かし画像を抽出することができ、透かし画像の挿入時の情報を使わなければ抽出できないため、秘匿性も保つことができる。
【０１００】
（その他の実施形態）
（１．データ処理装置のモジュール構成）
図１９は、本実施形態に係るデータ処理装置のノイズ処理部のモジュール構成図である。ここでは区間演算による冗長部を透かし画像の挿入に利用するのではなくノイズの除去に利用している。ノイズ処理部１６０１は、区間演算処理部２１０と顕在化処理部１６０５とノイズ検出処理部１６１０とノイズ除去処理部１６２０とを備える。
【０１０１】
区間演算処理部２１０は、前記と同様に入力された対象データに対して、区間演算によってウェーブレット変換を行う処理部である。
顕在化処理部１６０５は、区間演算により拡張された冗長部を敢えて顕在化させる処理を行う。つまり区間による誤差を利用してノイズ部分を顕在化させて強調する処理を行う。
ノイズ検出処理部１６１０は、顕在化処理部１６０５によりノイズが顕在化された画像と入力された対象画像との差分からノイズを検出する処理を行う。
ノイズ除去処理部１６２０は、ノイズ検出処理部１６１０が検出したノイズを入力された対象データから減算することで、ノイズの少なくとも一部を除去する処理を行う。
【０１０２】
（２．データ処理装置の動作）
図２０は、本実施形態に係るデータ処理装置１００の処理を示すフローチャートである。
まず、ノイズを除去する対象となるデータが入力される（ステップＳ２００１）。入力された対象データに対して区間演算によるウェーブレット変換を行う（ステップＳ２００２）。区間演算により拡張した区間を利用し、誤差によりノイズを顕在化させて強調する（ステップＳ２００３）。入力された対象データとノイズが強調されたデータとの差分を算出する（ステップＳ２００４）。算出された差分を対象データから減算してノイズを除去し（ステップＳ２００５）、ノイズが除去されたデータを出力して（ステップＳ２００６）処理を終了する。
【０１０３】
図２１は、ノイズが除去される過程を示した模式図である。図２１（ａ）は対象となる入力データである。これは画像データや音声データである。この対象となるデータを区間演算によりウェーブレット変換をして、ノイズ部分を顕在化して敢えて強調したものが図２１（ｂ）である。区間演算により冗長部が拡張するため、対象データを壊すことになる。つまりノイズ部分が強調されるということである。図２１（ｃ）は図２１（ｂ）と図２１（ｃ）の差分であり、区間演算により拡張した冗長部である。この冗長部として残ったノイズを対象データから減算したものが図２１（ｄ）である。ノイズが除去され、鮮明なデータとなる。
【０１０４】
このように、区間演算の区間拡張を利用することで、敢えてノイズを強調させ、ノイズを除去しやすくすることができる。また、ノイズの推定等の処理を行わなくてよいため、処理が簡潔になる上に、ノイズ除去の精度を上げることができる。
【０１０５】
なお、上記で示した以外のノイズを除去する方法として、まず区間演算により時間周波数変換を行い、高周波数領域で且つ区間幅が所定の値を超えた分についてはノイズと見なして、その部分を０に置き換え、逆変換を行うことでもノイズを簡単に除去することができる。いずれにしても、区間演算を利用することで、ノイズを顕在化することができるため、ノイズの除去を容易に行うことができるようになる。
【０１０６】
上記各実施形態により、区間演算と時間周波数変換を組み合わせることで、データの冗長性を拡張することができる。そして、その冗長性を誤差として否定的に捉えるのではなく、利用できる領域の拡張として肯定的に捉えることで、様々な技術に応用することができる。
【０１０７】
なお、本発明に係るデータ処理装置は、ウェーブレット変換に限定せず、直交変換の時間周波数変換であれば全てに応用することができる。例えば、フーリエ変換、離散コサイン変換（ＤＣＴ）、変形離散コサイン変換(ＭＤＣＴ)、離散サイン変換(ＤＳＴ)、ハートレー変換(ＨＬＴ)、ウォルシュ・アダマール変換(ＷＨＴ)、ハール変換(ＨＴ)、カルーネン・レーベ変換(ＫＬＴ)等に応用が可能である。
【０１０８】
また、上記電子透かし技術やノイズ除去技術以外にも、区間演算を利用することで、特徴的な周波数を特定することもできる。例えば、学習機能を持つリフティングウェーブレットと区間演算を組み合わせることで強調された部分を信号の特徴と捉えるような技術にも応用することができる。
【０１０９】
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【実施例１】
【０１１０】
（透かし画像の挿入と抽出）
（１．条件）
透かし画像を挿入する対象となる画像として、２５６×２５６ビットサイズの２５６グレイスケールの画像を使用する（図２２（ａ））。これは、画像処理研究者用の画像標準ライブラリ（SIDBA：Standard  Image  DataBAse）に登録されているもので、多くの研究者が利用している画像である。透かし画像は２値のものでサイズが１２８×１２８ビットである（図２２（ｂ））。対象画像は女性が振り向いた画像であり、透かし画像は「透」の文字が縦に４つ、横に４つの合わせて１６個並べられた画像である。
【０１１１】
本実施例において、ウェーブレット変換により得られる４つの成分（ＩＣ1、ＩＤ1、ＩＥ1、ＩＦ1）からＩＦ1を選択し、式（１６）におけるδkを一律に０．０１に設定した。またＭＡＴＬＡＢのツールボックスの１つであり、区間演算をサポートしているＩＮＴＬＡＢを実装した。スケール関数はドベシィの関数用いて、３段階のウェーブレット変換を行った。
【０１１２】
ここで、ＭＡＴＬＡＢ及びＩＮＴＬＡＢについて補足しておく。ＭＡＴＬＡＢは、MATrix  LABoratoryの略であり、行列計算、ベクトル演算、グラフ表示等のライブラリを持つ。従来のプログラミング言語よりも容易にプログラムを作成できるため、短時間で科学技術計算を行うことができる。また、標準でも多くのライブラリが備わっているが、必要に応じてツールボックスと呼ばれる拡張パッケージをインストールすることでＭＡＴＬＡＢの機能を拡張できる。今回使用したＩＮＴＬＡＢは、INTerval  LABoratoryの略であり、そのようなツールボックスを利用して、区間演算の実装を容易にすることができる。
【０１１３】
（１．結果）
図２２（ｃ）は、透かし画像が挿入された画像データで、図２２（ｄ）は、図２２（ｃ）から抽出した透かし画像である。図２２（ｃ）から、透かし画像が挿入されていることを一見して認識することは不可能である。つまり、対象となる画像に対してほとんど影響を与えずに、透かし画像を挿入することができている。また、図２２（ｄ）から、透かし画像をほぼ挿入前と同じ状態で抽出することができた。
また、この場合の透かし画像が挿入された画像データのノイズ比率を以下の式により算出した。
【０１１４】
【数１９】
0004863504.tif 000021
Ｎは画素数で、Ｔは階調数−１である。つまり、本実施例ではＮ＝６５５３６、Ｔ=２５５である。計算結果はＰＳＮＲ＝３５．３であった。一般的に、ＰＳＮＲ値が３５以上であれば概ね画質が良いと言えるので、透かし画像が挿入された画像データの画質は高品質を保っているといえる。
【実施例２】
【０１１５】
（１．条件）
実験環境は実施例１の場合と同じであるが、異なる対象画像を使用し、式（１６）におけるδkを０．０１に設定した場合と０．００５に設定した場合に分けて実験を行った。図２３（ａ）が対象画像で、透かし画像は実施例１と同じである。
【０１１６】
（２．結果）
図２３（ｂ）は、δkが０．０１に設定された場合の透かし画像が挿入された画像データである。図２３（ｃ）は図２３（ｂ）から抽出した透かし画像である。この時、上記ノイズ比率はＰＳＮＲ＝３５．４７であった。また、図２３（ｄ）は、δkが０．００５に設定された場合の透かし画像が挿入された画像データである。図２３（ｅ）は図２３（ｄ）から抽出した透かし画像である。この時、上記ノイズ比率はＰＳＮＲ＝４１．５３であった。いずれもＰＳＮＲ値が３５以上であることから概ね画質が良いと言える。特に、δkが０．００５に設定された場合はＰＳＮＲ＝４１．５３と大変良い画質となっている。
【実施例３】
【０１１７】
（１．条件）
実験環境は実施例２の場合と同じであるが、異なる対象画像を使用して実験を行った。図２４（ａ）が対象画像である。
【０１１８】
（２．結果）
図２４（ｂ）は、δkが０．０１に設定された場合の透かし画像が挿入された画像データである。図２４（ｃ）は図２４（ｂ）から抽出した透かし画像である。この時、上記ノイズ比率はＰＳＮＲ＝３８．１７であった。また、図２４（ｄ）は、δkが０．００５に設定された場合の透かし画像が挿入された画像データである。図２４（ｅ）は図２４（ｄ）から抽出した透かし画像である。この時、上記ノイズ比率はＰＳＮＲ＝４４．０８であった。ここでもいずれもＰＳＮＲ値が３５以上であることから概ね画質が良いと言え、特に、δkが０．００５に設定された場合はＰＳＮＲ＝４４．０８と大変良い画質となっている。
【実施例４】
【０１１９】
（１．条件）
実験環境は実施例２の場合と同じであるが、異なる対象画像を使用して実験を行った。
【０１２０】
（２．結果）
図２５（ｂ）は、δkが０．０１に設定された場合の透かし画像が挿入された画像データである。図２５（ｃ）は図２５（ｂ）から抽出した透かし画像である。この時、上記ノイズ比率はＰＳＮＲ＝３４．７３であった。数値上は多少画像が劣化しているが、見た目には画像の劣化を認識し難く、対象画像とそれほど差がない。また、図２５（ｄ）は、δkが０．００５に設定された場合の透かし画像が挿入された画像データである。図２５（ｅ）は図２５（ｄ）から抽出した透かし画像である。この時、上記ノイズ比率はＰＳＮＲ＝４０．８８であった。どちらの場合も抽出した透かし画像に多少の劣化が見られるが、透かし画像として認識することができる。
【０１２１】
実施例１〜実施例３の結果から、本発明のデータ処理装置を用いることで、透かし画像を挿入した場合であっても、画質のいい画像データを得ることができたと言える。また、いずれの場合もδkを０．００５に設定したほうが、０．０１に設定した場合よりも高画質である。しかし、０．０１に設定した場合であっても、十分にいい画質であるため、δkの値は０．００５から０．０１程度に設定することが望ましいと言える。
【実施例５】
【０１２２】
（画像が傷つけられた場合の透かし画像の抽出）
（１．条件）
実験環境は実施例１の場合と同じであるが、本実施例では画像に傷をつけている。つまり透かし画像が挿入された画像データが改ざんされた場合の実験である。
【０１２３】
（２．結果）
図２６（ａ）は、透かし画像が挿入された画像データである。その画像データに対して傷つけた（改ざんした）画像が図２６（ｂ）である。ここでは、黒の落書きのような傷が付いている。図２６（ｂ）から抽出した透かし画像が図２６（ｃ）である。図２６（ｃ）を見ると、対象画像が傷つけられた部分は透かし画像のほうも傷つけられている。しかし、透かしを画像として全体に満遍なく挿入できているため、傷以外の部分は透かし画像を十分に確認することができる。つまり、透かしを画像の一部に挿入したり、目立たない箇所を探して挿入する場合は、このような傷により透かしがなくなったり、抽出できなくなる場合があるが、本実施例では画像の全体に透かし画像を挿入できるため、そのような問題が起こらない。また、機械による判断では抽出した透かしと挿入した透かしが同一でなければ、透かしの有無を判断できない場合があるが、本実施例のように透かし画像として挿入することで、人間の目視により透かしの存在の有無を確認することができる。
【実施例６】
【０１２４】
（画像が圧縮された場合の透かし画像の抽出）
（１．条件）
実験環境は実施例１の場合と同じであるが、本実施例では画像を圧縮している。圧縮方法はＪＰＥＧ２０００とＪＰＥＧである。
【０１２５】
（２．結果）
図２７（ａ）は、透かし画像が挿入された画像データである。その画像データに対してＪＰＥＧ２０００により圧縮し、圧縮された画像から抽出した透かし画像が図２７（ｂ）である。この時の圧縮率は１４．６７％である。つまり約８５％の成分が失われた画像データから透かし画像を抽出した状態である。実施例１や実施例２と比較すると、抽出した透かし画像は壊れてしまっているが、透かし画像の存在は容易に確認することができる。
【０１２６】
また、ＪＰＥＧにより圧縮し、圧縮された画像から抽出した透かし画像が図２７（ｃ）である。この時の圧縮率は２８．９５％である。つまり約７０％の成分が失われた画像データから透かし画像を抽出した状態である。この場合も多少透かし画像が壊れてしまっているが、透かし画像の存在を容易に確認することができる。電子透かしの技術においては鮮明な透かしを抽出することも重要であるが、透かしの存在を確実に確認できることが最も重要である。そのような観点から、本実施例では、大半の成分を失った場合であっても透かし画像の存在を目視により確認できることは、この手法が電子透かしに大変有効であると言える。
【実施例７】
【０１２７】
（画像が切り抜かれた場合の透かし画像の抽出）
（１．条件）
実験環境は実施例１の場合と同じであるが、本実施例では画像の一部（１２８×１２８ピクセル）を切り抜いている。
【０１２８】
（２．結果）
図２８（ａ）は、透かし画像が挿入された画像データである。その画像データに対して一部を１２８×１２８ピクセルの切り抜きをしたものが図２８（ｂ）である。図２８（ｂ）の画像から抽出した透かし画像が図２８（ｃ）である。オリジナルの透かし画像と比較するとかなり壊れた画像になってしまっているが、透かしが入っていることは確認することができる。
以上の実験結果から、電子透かしの技術としては様々な攻撃に対してロバストであり、質の高い透かし画像が得られるということを示している。
【図面の簡単な説明】
【０１２９】
【図１】第１の実施形態に係るデータ処理装置のハードウェア構成を示した模式図である。
【図２】第１の実施形態に係るデータ処理装置のモジュール構成図である。
【図３】第１の実施形態に係るデータ処理装置の合成処理部のモジュール構成図である。
【図４】第１の実施形態に係るデータ処理装置の画像データ挿入処理部のモジュール構成図である。
【図５】ウェーブレット変換を説明するための図である。
【図６】第１の実施形態に係るデータ処理装置の処理を示すフローチャートである。
【図７】浮動小数点演算または区間演算によりウェーブレット変換を行った様子を示す図である。
【図８】成分の置き換えと値取得の様子を示した図である。
【図９】平均画像データを対象となる画像データの成分データに重畳する様子を示した図である。
【図１０】ウェーブレット逆変換を行う様子を示した図である。
【図１１】第２の実施形態に係るデータ処理装置の合成処理部のモジュール構成図である。
【図１２】第２の実施形態に係るデータ処理装置の画像データ挿入処理部のモジュール構成図である。
【図１３】第２の実施形態に係るデータ処理装置の処理を示すフローチャートである。
【図１４】選択した成分以外の成分データを区間データから浮動小数点データに置き換える様子を示した図である。
【図１５】第３の実施形態に係るデータ処理装置の合成処理部のモジュール構成図である。
【図１６】第３の実施形態に係るデータ処理装置の処理を示すフローチャートである。
【図１７】第４の実施形態に係るデータ処理装置の抽出処理部のモジュール構成図である。
【図１８】第４の実施形態に係るデータ処理装置の処理を示すフローチャートである。
【図１９】その他の実施形態に係るデータ処理装置のノイズ処理部のモジュール構成図である。
【図２０】その他の実施形態に係るデータ処理装置の処理を示すフローチャートである。
【図２１】ノイズが除去される過程を示した模式図である。
【図２２】実施例１の結果を示す図である。
【図２３】実施例２の結果を示す図である。
【図２４】実施例３の結果を示す図である。
【図２５】実施例４の結果を示す図である。
【図２６】実施例５の結果を示す図である。
【図２７】実施例６の結果を示す図である。
【図２８】実施例７の結果を示す図である。
【符号の説明】
【０１３０】
１００  データ処理装置
１０１  ＣＰＵ
１０２  メインメモリ
１０３  ＭＢチップセット
１０４  ビデオカード
１１１  ＨＤＤ
１１２  ブリッジ回路
１１４  ネットワークインターフェース
１２１  光学ドライブ
１２２  キーボード
１２３  マウス
２０１  合成処理部
２０５  入力処理部
２０６  区間設定処理部
２１０  区間演算処理部
２１５  浮動小数点演算処理部
２２０  画像データ挿入処理部
２２５  成分選択処理部
２２６  変換処理部
２３０  成分変更処理部
２３５  スカラー値取得処理部
２４０  平均算出処理部
２４５  平均画像データ生成処理部
２５０  画像データ重畳処理部
２６０  逆変換処理部
２７０  出力処理部
１４０１  抽出処理部
１４１０  差分算出処理部
１４２０  画像抽出処理部
１６０１  ノイズ処理部
１６０５  顕在化処理部
１６１０  ノイズ検出処理部
１６２０  ノイズ除去処理部
【図１】
0004863504.tif 000022
【図２】
0004863504.tif 000023
【図３】
0004863504.tif 000024
【図４】
0004863504.tif 000025
【図５】
0004863504.tif 000026
【図６】
0004863504.tif 000027
【図７】
0004863504.tif 000028
【図８】
0004863504.tif 000029
【図９】
0004863504.tif 000030
【図１０】
0004863504.tif 000031
【図１１】
0004863504.tif 000032
【図１２】
0004863504.tif 000033
【図１３】
0004863504.tif 000034
【図１４】
0004863504.tif 000035
【図１５】
0004863504.tif 000036
【図１６】
0004863504.tif 000037
【図１７】
0004863504.tif 000038
【図１８】
0004863504.tif 000039
【図１９】
0004863504.tif 000040
【図２０】
0004863504.tif 000041
【図２１】
0004863504.tif 000042
【図２２】
0004863504.tif 000043
【図２３】
0004863504.tif 000044
【図２４】
0004863504.tif 000045
【図２５】
0004863504.tif 000046
【図２６】
0004863504.tif 000047
【図２７】
0004863504.tif 000048
【図２８】
0004863504.tif 000049