(57)【特許請求の範囲】
【請求項１】
時系列のサンプル列で構成される音響信号に対して、付加情報を聴取不能な状態で埋め込む装置であって、
前記音響信号より、所定数のサンプルを音響フレームとして読み込む音響フレーム読込手段と、
抽出ログファイルが存在する場合に、読み込んだ音響フレームに対応する抽出ログデータを参照し、当該音響フレームに対して付加情報を構成するビット値を埋め込み禁止とすべきか否かを判断する抽出ログ読込手段と、
前記音響フレームに対して周波数変換を行って、当該音響フレームのスペクトルを得る周波数変換手段と、
前記抽出ログ読込手段が埋め込み禁止と判断しなかった場合には、埋め込むべき内容に応じて、前記スペクトルの低周波成分の状態を変化させ、抽出ログ読込手段が埋め込み禁止と判断した場合には、前記スペクトルの低周波成分を削除するように前記スペクトルの低周波成分の状態を変化させる低周波成分変更手段と、
前記低周波成分が変更されたスペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、
前記各改変音響フレームに対して、どのような情報を埋め込んだかを埋込ログファイルに記録する埋込ログ記録手段と、
前記音響信号を構成する各音響フレームに対して生成された改変音響フレームの集合として構成される改変音響信号を記録する改変音響信号記憶手段と、
前記改変音響信号から、所定数のサンプルで構成される改変音響フレームを読み込む改変音響フレーム読込手段と、
前記改変音響フレームに対して周波数変換を行って、当該改変音響フレームのスペクトルである改変スペクトルを得る第２の周波数変換手段と、
前記生成された改変スペクトルから、所定の低周波数帯に対応する複数のスペクトル集合をそれぞれ抽出し、各スペクトル集合ごとの低周波強度の関係に基づいて、埋め込まれていた符号を抽出する符号抽出手段と、
前記埋込ログファイルから、読み込んだ改変音響フレームに対応する埋め込み符号を読み込む埋込ログ読込手段と、
前記符号抽出手段により抽出された符号と、前記埋込ログ読込手段により読み込まれた埋め込み符号が一致しない場合に、埋め込み禁止を示す抽出ログデータを前記抽出ログファイルに書き込む抽出ログ記録手段と、を有し、
前記全ての改変音響フレームについて前記抽出ログ記録手段による抽出ログデータが所定件数未満になるまで、前記各手段による処理を繰り返すことを特徴とする音響信号に対する情報の埋め込み装置。
【請求項２】
請求項１において、
前記周波数変換手段は、前記音響フレームに対して第１窓関数、第２窓関数、第３窓関数を用いてそれぞれ周波数変換を行い、前記第１窓関数に対応するスペクトルである第１窓スペクトル、前記第２窓関数に対応するスペクトルである第２窓スペクトル、前記第３窓関数に対応するスペクトルである第３窓スペクトルを生成するものであり、
前記低周波成分変更手段は、抽出ログ読込手段が埋め込み禁止と判断しなかった場合には、前記生成された各窓スペクトルから、所定の低周波数帯に対応するスペクトル集合をそれぞれ抽出し、前記埋め込むべき付加情報の情報配列の値に基づいて、前記抽出した３セットのスペクトル集合のうち、先頭の第１窓関数と後部の第３窓関数のスペクトル強度の割合を変更すると共に、中央の第２窓関数の成分を削除するものであり、
前記第２の周波数変換手段は、前記改変音響フレームに対して第１窓関数、第３窓関数を用いてそれぞれ周波数変換を行い、前記第１窓関数に対応するスペクトルである第１窓スペクトル、前記第３窓関数に対応するスペクトルである第３窓スペクトルを生成するものであり、
前記符号抽出手段は、前記生成された各窓スペクトルから、所定の低周波数帯に対応するスペクトル集合をそれぞれ抽出し、各スペクトル集合ごとにスペクトル強度の総和値を算出し、その総和値のスペクトル集合間の割合に基づいて、所定の符号を出力するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項３】
請求項２において、
前記音響信号が左右２チャンネルの時系列のサンプル列で構成されるステレオ音響信号であって、
前記音響フレーム読込手段は、各チャンネルに対応する音響フレームをそれぞれ読み込み、前記周波数変換手段は、各チャンネルの音響フレームに対して周波数変換を行い、各チャンネル別の第１窓スペクトル、第２窓スペクトル、第３窓スペクトルを生成するものであり、
前記低周波成分変更手段は、一方のチャンネルの窓スペクトルから抽出した所定の低周波数帯に対応する３セットのスペクトル集合に対して、前記埋め込むべき付加情報の情報配列の値に基づいて、前記第１窓関数と第３窓関数のスペクトル強度の割合を変更すると共に、第２窓関数の成分を削除し、前記一方のチャンネルにおいて行われた変更により削除された成分を補足するよう他方のチャンネルの前記スペクトル強度の前記スペクトル集合間の割合を変更するものであり、
前記周波数逆変換手段は、各チャンネルについて、変更されたスペクトル強度を含むフレームスペクトルに対して周波数逆変換を行って改変音響フレームを生成するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項４】
請求項２において、
前記音響信号が左右２チャンネルの時系列のサンプル列で構成されるステレオ音響信号であって、
前記音響フレーム読込手段は、各チャンネルに対応する音響フレームをそれぞれ読み込み、前記周波数変換手段は、各チャンネルの音響フレームに対して周波数変換を行い、各チャンネル別の第１窓スペクトル、第２窓スペクトル、第３窓スペクトルを生成するものであり、
前記低周波成分変更手段は、一方のチャンネルの窓スペクトルから抽出した所定の低周波数帯に対応する３セットのスペクトル集合に対して、前記埋め込むべき付加情報の情報配列の値に基づいて、前記第１窓関数と第３窓関数のスペクトル強度の割合を変更すると共に、第２窓関数の成分を削除し、前記一方のチャンネルにおいて行われた変更により削除された成分を補足するよう他方のチャンネルの前記スペクトル強度の前記スペクトル集合間の割合を変更するものであり、前記一方のチャンネルにおいて行われた変更により削除されなかった成分については、他方のチャンネルの対応する成分を削除して、当該削除した成分を前記一方のチャンネルに加算するものであり、
前記周波数逆変換手段は、各チャンネルについて、変更されたスペクトル強度を含むフレームスペクトルに対して周波数逆変換を行って改変音響フレームを生成するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項５】
請求項２から請求項４のいずれかにおいて、
前記第１窓関数、第２窓関数、第３窓関数は、ハニング窓関数を時間軸上で分割したものであり、
前記第１窓関数と第２窓関数、前記第２窓関数と第３窓関数は、同一時刻において、双方が同時に０でない値をもつような箇所が存在するように設定され、
前記第１窓関数と第３窓関数は、一方が０でない値をもつ場合に他方は必ず０となるように設定されるとともに、各窓関数の両側が非対称な余弦関数をもつように設定されるものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項６】
請求項１から請求項５のいずれかにおいて、
前記音響フレーム読込手段は、先行する音響フレームと所定数のサンプルを重複させて読み込み、読み込んだ音響フレーム全体に所定の窓関数を乗じて前記周波数変換手段に渡すものであり、
前記改変音響信号は、前記生成された改変音響フレームを先行する改変音響フレームと連結させて合成することにより得られるものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項７】
請求項１から請求項６のいずれかにおいて、
前記低周波成分変更手段は、所定の低周波数帯を２００Ｈｚ以下の低周波領域に設定するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＤ・ＤＶＤ等を用いた民生・業務用途における鑑賞用のパッケージ音楽分野、放送事業者等が商業目的で配信する放送・ネットワーク音楽配信分野における音楽著作権の保護（不正コピーの監視）および音楽属性情報の提供（楽曲タイトル検索サービス）分野、ミュージアム、イベント会場における展示説明ナレーションに連動した文字情報の提供サービス分野、放送番組やＣＤ／ＤＶＤパッケージの音声信号からＵＲＬなどの情報を抽出し、携帯電話を用いて所定のコンテンツに関連するｗｅｂサイトにアクセスして詳細情報を抽出したり、アンケートに回答したりする非接触なインターネットのゲートウェイサービス分野に関する。
【背景技術】
【０００２】
最近、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスとして、放送された音楽に対して日時と地域を放送局に照会したり、携帯電話で流れている音楽断片を録音してデータベースに登録されているメロディーと照合したりするサービスが実用化されている（例えば、特許文献１、２参照）。
【０００３】
特許文献１、２に記載の発明では、録音した音楽の断片と、データベースに登録されているメロディーと照合するため、データベースに登録される楽曲が増えると、処理負荷が増え、類似したメロディーを誤判定する可能性が増える。そこで、曲名やアーチスト情報などの楽曲属性情報を不可聴な電子透かしとして音響信号に埋め込む手法も提案されている（例えば、特許文献３〜６参照）。
【０００４】
特許文献１〜６に記載の手法では、埋め込み可能な情報量が少なく、音質が少なからず劣化し、各種信号処理により透かし情報が消失し、またアナログコピーに対しては、透かし検出が困難であるという問題がある。そこで、本出願人は、音響信号の低周波数領域における信号成分の比率を属性情報のビット値に応じて変更することにより、モノラル、ステレオのいずれの音響信号に対しても、属性情報（付加情報）を埋め込むことができる手法を提案した（特許文献７〜１０参照）。
【特許文献１】特開２００２−２５９４２１号公報
【特許文献２】特開２００３−１５７０８７号公報
【特許文献３】特開平１１−１４５８４０号公報
【特許文献４】特開平１１−２１９１７２号公報
【特許文献５】特許第３３２１７６７号公報
【特許文献６】特開２００３−９９０７７号公報
【特許文献７】特願２００５−５１５７号
【特許文献８】特願２００５−５８８２４号
【特許文献９】特願２００５−１４６８７２号
【特許文献１０】特願２００５−１４７７４３号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献７〜１０に記載の手法では、埋め込み時の信号レベルの閾値を調整することにより、埋め込み可能な情報量を変化させることができ、この値を小さくすれば埋め込み可能な情報量が増加するが、抽出エラーも増大する。そこで、上記特許文献７〜１０に記載の手法では、埋め込まれたデータが少なくともデジタル的に完全に抽出できる条件で、最小の信号レベル閾値を設定する手法をとっている。
【０００６】
埋め込まれたデータが抽出可能かどうかは、隣接するフレームの信号レベルや埋め込む付加情報のビット配列パターンの影響を受けるため、フレームごとに個別に閾値を設定することが望ましいが、従来は一律な閾値を設定している。そのため、埋め込み可能であったフレームに対して埋め込みをスキップするフレームが存在し、全体的に埋め込み情報量が少なくなる一方、埋め込みを避けるべき閾値すれすれのフレームも存在し、アナログ系を通した場合、抽出ミスにつながり易い。
【０００７】
そこで、本発明は、固定された閾値でなく、フレームごとに可変の最適な閾値を設定して、多くの情報を埋め込み可能であるとともに、抽出精度も高めることが可能な音響信号に対する情報の埋め込み装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明では、時系列のサンプル列で構成される音響信号に対して、付加情報を聴取不能な状態で埋め込む装置であって、前記音響信号より、所定数のサンプルを音響フレームとして読み込む音響フレーム読込手段と、抽出ログファイルが存在する場合に、読み込んだ音響フレームに対応する抽出ログデータを参照し、当該音響フレームに対して付加情報を構成するビット値を埋め込み禁止とすべきか否かを判断する抽出ログ読込手段と、前記音響フレームに対して周波数変換を行って、当該音響フレームのスペクトルを得る周波数変換手段と、前記抽出ログ読込手段が埋め込み禁止と判断しなかった場合には、埋め込むべき内容に応じて、前記スペクトルの低周波成分の状態を変化させ、抽出ログ読込手段が埋め込み禁止と判断した場合には、前記スペクトルの低周波成分を削除するように前記スペクトルの低周波成分の状態を変化させる低周波成分変更手段と、前記低周波成分が変更されたスペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、前記各改変音響フレームに対して、どのような情報を埋め込んだかを埋込ログファイルに記録する埋込ログ記録手段と、前記音響信号を構成する各音響フレームに対して生成された改変音響フレームの集合として構成される改変音響信号を記録する改変音響信号記憶手段と、前記改変音響信号から、所定数のサンプルで構成される改変音響フレームを読み込む改変音響フレーム読込手段と、前記改変音響フレームに対して周波数変換を行って、当該改変音響フレームのスペクトルである改変スペクトルを得る第２の周波数変換手段と、前記生成された改変スペクトルから、所定の低周波数帯に対応する複数のスペクトル集合をそれぞれ抽出し、各スペクトル集合ごとの低周波強度の関係に基づいて、埋め込まれていた符号を抽出する符号抽出手段と、前記埋込ログファイルから、読み込んだ改変音響フレームに対応する埋め込み符号を読み込む埋込ログ読込手段と、前記符号抽出手段により抽出された符号と、前記埋込ログ読込手段により読み込まれた埋め込み符号が一致しない場合に、埋め込み禁止を示す抽出ログデータを前記抽出ログファイルに書き込む抽出ログ記録手段と、を有し、前記全ての改変音響フレームについて前記抽出ログ記録手段による抽出ログデータが所定件数未満になるまで、前記各手段による処理を繰り返す音響信号に対する情報の埋め込み装置を提供する。
【発明の効果】
【０００９】
本発明によれば、音響信号を所定区間に区分した各フレームに対して、付加情報を構成するビット値を埋め込むとともに、その情報を埋込ログとして記録し、実際に埋め込んだビット値を抽出して、埋込ログと比較し、異なっている場合に、そのフレームに対するビット値の埋め込みを禁止するようにし、抽出したビット値と埋込ログの内容との相違がなくなるまで、埋め込み処理と抽出処理を繰り返すようにしたので、多くの情報を埋め込み可能であるとともに、抽出精度も高めることが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（１．装置構成）
まず、本発明の装置構成について説明する。図１は、本発明に係る音響信号に対する情報の埋め込み装置の構成図である。図１において、１００は電子透かし埋め込み手段、２００は電子透かし抽出・照合手段、３００は記憶手段、３０１は音響信号記憶部、３０２は付加情報記憶部、３０３は改変音響信号記憶部、３０４は埋込ログ記憶部、３０５は抽出ログ記憶部である。
【００１１】
（２．電子透かし埋め込み手段）
図２は、電子透かし埋め込み手段１００の詳細を示す機能ブロック図である。図２において、１０は音響フレーム読込手段、２０は抽出ログ読込手段、３０は付加情報読込手段、４０は周波数変換手段、５０は低周波成分変更手段、６０は周波数逆変換手段、７０は埋込ログ記録手段、８０は改変音響フレーム出力手段である。なお、図２に示す装置は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
【００１２】
音響フレーム読込手段１０は、付加情報の埋め込み対象とする元のステレオ音響信号の各チャンネルから所定数のサンプルを１フレームとして読み込む機能を有している。抽出ログ読込手段２０は、抽出ログ記憶部３０５に抽出ログファイルが存在する場合に、抽出ログファイルを読み込み、音響フレーム読込手段１０が読み込んだ音響フレームに対応する抽出ログデータを参照し、その音響フレームに対して付加情報を構成するビット値を埋め込み禁止とすべきか否かを判断する機能を有している。抽出ログファイルは、電子透かし抽出・照合手段２００によりエラーが発生した音響フレームについての抽出ログデータを記録したファイルである。付加情報読込手段３０は、付加情報記憶部３０２から付加情報を抽出する機能を有している。なお、付加情報とは、音響情報に付加して埋め込むべき情報であり、タイトルやアーティスト名等の属性情報、および属性情報以外の他の情報を含むものである。
【００１３】
周波数変換手段４０は、音響フレーム読込手段１０が読み込んだ音響信号のフレームをフーリエ変換等により周波数変換してフレームスペクトルを生成する機能を有している。低周波成分変更手段５０は、生成されたフレームスペクトルから３つの所定周波数範囲に相当するスペクトル集合を３セット抽出し、付加情報記憶部３０２から抽出した付加情報に基づいて、低周波強度データのスペクトル集合間の割合（比率）を変更する機能を有している。周波数逆変換手段６０は、変更された低周波強度データを含む複数のフレームスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。埋込ログ記録手段７０は、各改変音響フレームに対して、どのような情報を埋め込んだかを埋込ログファイルに記録する機能を有している。改変音響フレーム出力手段８０は、生成された改変音響フレームを順次出力する機能を有している。記憶手段３００は、付加情報を埋め込む対象とするステレオ音響信号を記憶した音響信号記憶部３０１と、ビット配列として構成され、ステレオ音響信号に埋め込まれる付加情報を記憶した付加情報記憶部３０２と、付加情報埋め込み後の改変音響信号を記憶する改変音響信号記憶部３０３を有しており、その他処理に必要な各種情報を記憶するものである。図２に示した各構成手段は、現実にはコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。図２に示した電子透かし埋め込み手段１００は、特許文献１０に記載の埋め込み装置とほぼ同様の機能を有するものとなっている。
【００１４】
（２．１．電子透かし埋め込み手段の処理動作）
次に、図２に示した電子透かし埋め込み手段１００の処理動作について図３のフローチャートに従って説明する。ここでは、音響信号として、Ｌ（左）、Ｒ（右）の２チャンネルを有するステレオ音響信号に対して処理を行う場合について説明していく。図３は、付加情報１バイトの処理に対応したものとなっている。まず、付加情報読込手段３０は、付加情報記憶部３０２から付加情報を１バイト単位で読み込む（Ｓ１０１）。具体的には、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに１バイト読み込むことになる。続いて、モードを区切りモードに設定する（Ｓ１０２）。モードは区切りモードと、ビットモードの２種類が存在する。区切りモードは１バイト単位の区切りにおける処理を行うモードを示し、ビットモードは１バイトの各ビットの値に基づいた処理を行うモードを示している。付加情報記憶部３０２から１バイト読み込んだ場合には、その直後に必ず区切りモードに設定されることになる。
【００１５】
続いて、音響フレーム読込手段１０が、音響信号記憶部３０１に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルを１音響フレームとして読み込む（Ｓ１０４）。音響フレーム読込手段１０が読み込む１音響フレームのサンプル数は、適宜設定することができるが、サンプリング周波数が４４．１ｋＨｚの場合、４０９６サンプル程度とすることが望ましい。したがって、音響フレーム読込手段１０は、左チャンネル、右チャンネルについてそれぞれ４０９６サンプルずつ、順次音響フレームとして読み込んでいくことになる。この際、抽出ログ読込手段２０は、抽出ログ記憶部３０５に抽出ログファイルが存在するかどうかを判断する。抽出ログファイルが存在し、読み込んだ音響フレームに対応する抽出ログデータが存在する場合には、その音響フレームに対して付加情報を構成するビット値を埋め込み禁止とすべきであると判断する。
【００１６】
続いて、周波数変換手段４０は、読み込んだ各音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る（Ｓ１０５）。具体的には、各音響フレームについて、３つの窓関数を用いて行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
【００１７】
ここで、一般的なフーリエ変換を行う場合について説明しておく。所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、区切り部分が不連続になる。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて、信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
【００１８】
ここで、一般的なフーリエ変換を行う場合の信号波形の変化の様子を図４に示す。図４において、横軸は時間軸（ｔ）であり、図４（ａ）〜図４（ｃ）は全て対応したものとなっている。また、図４（ａ）、図４（ｃ）において縦軸は信号の振幅値（レベル）を示す。図４（ｂ）において縦軸は窓関数Ｗ（ｔ）の値を示している。なお、Ｗ（ｔ）＝０．５−０．５・ｃｏｓ（２πｔ／Ｔ）であり、Ｗ（ｔ）の最大値は１である。
【００１９】
一般的なフーリエ変換の場合、図４（ａ）に示すような所定長さの信号に対して、図４（ａ）に示すような窓関数Ｗ（ｔ）を乗じて、図４（ｃ）に示すような信号に変換する。そして、図４（ｃ）に示すような波形の信号をフーリエ変換対象としてフーリエ変換を実行することになる。
【００２０】
電子透かし埋め込み手段１００では、フーリエ変換後の不連続性を除去するためではなく、一つの音響フレームから、情報を埋め込むための複数の状態を作り出すため、複数の窓関数を用意し、一つの音響フレームに対して、各窓関数を利用してフーリエ変換を行い、複数のスペクトルを得る。ここで、１音響フレームの信号波形および複数の窓関数Ｗ（１，ｉ）、Ｗ（２，ｉ）、Ｗ（３，ｉ）の様子を図５に示す。図５において、横軸は時間軸（ｉ）である。ｉは、後述するように、各音響フレーム内のＮ個のサンプルに付した通し番号であるため時刻ｔに比例している。また、図５（ａ）（ｅ）（ｆ）（ｇ）において縦軸は信号の振幅値（レベル）を示す。図５（ｂ）〜（ｄ）において縦軸は窓関数Ｗ（１，ｉ）、Ｗ（２，ｉ）、Ｗ（３，ｉ）の値を示しており、Ｗ（１，ｉ）、Ｗ（２，ｉ）、Ｗ（３，ｉ）の最大値はいずれも１である。
【００２１】
第１窓関数Ｗ（１，ｉ）は、音響フレームの前部を抽出するためのものであり、図５（ｂ）に示すように前部の所定のサンプル番号ｉの位置において、最大値１をとり、後部においては、最小値０をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、第１窓関数Ｗ（１，ｉ）の設計によって異なってくる。第１窓関数Ｗ（１，ｉ）を乗じることにより、図５（ａ）に示すような音響フレームの信号波形は、図５（ｅ）に示すように、前部に信号成分が残り、後部の信号成分が削除されたものとなり、これがフーリエ変換対象となる。また、第２窓関数Ｗ（２，ｉ）は、音響フレームの中央部を抽出するためのものであり、図５（ｃ）に示すように、中央部の所定のサンプル番号ｉの位置において、最大値１をとり、前部、後部においては、最小値０をとるように設定されている。第２窓関数Ｗ（２，ｉ）を乗じることにより、図５（ａ）に示すような音響フレームの信号波形は、図５（ｆ）に示すように、中央部に信号成分が残り、前部と後部の信号成分が削除されたものとなり、これがフーリエ変換対象となる。また、第３窓関数Ｗ（３，ｉ）は、音響フレームの後部を抽出するためのものであり、図５（ｄ）に示すように、前部においては最小値０をとり、後部の所定のサンプル番号ｉの位置において、最大値１をとるように設定されている。第３窓関数Ｗ（３，ｉ）を乗じることにより、図５（ａ）に示すような音響フレームの信号波形は、図５（ｇ）に示すように、前部の信号成分が削除され、後部に信号成分が残ったものとなり、これがフーリエ変換対象となる。このように前部、中央部、後部を抽出した後、フーリエ変換を実行するため、前部、中央部、後部に対応したスペクトルが得られることになる。１つの音響フレームにビット値を埋め込むためには、本来、前部と後部の２つに分けられれば良いのであるが、抽出側においては、必ずしも、信号を同期して読み込むことができるとは限らず、したがって、前部と後部をはっきりと区別するため、本発明では、中央部の信号も抽出することとしている。
【００２２】
具体的には、各窓関数は、ハニング窓関数Ｗ（ｉ）＝０．５−０．５・ｃｏｓ（２πｉ／Ｎ）を基本として窓分割を行うための窓分離関数Ｗｃ（ｉ）を以下の〔数式１〕に示すように定義し、この窓分離関数Ｗｃ（ｉ）を用いて定められる。
【００２３】
〔数式１〕
３Ｎ／８≦ｉ≦５Ｎ／８のとき、Ｗｃ（ｉ）＝０．５−０．５・ｃｏｓ（８π（ｉ−３Ｎ／８）／Ｎ）
ｉ＜３Ｎ／８またはｉ＞５Ｎ／８のとき、Ｗｃ（ｉ）＝０．０
【００２４】
そして、この窓分離関数Ｗｃ（ｉ）を利用して、第１窓関数Ｗ（１，ｉ）、第２窓関数Ｗ（２，ｉ）、第３窓関数Ｗ（３，ｉ）を以下の〔数式２〕に示すように定義する。
【００２５】
〔数式２〕
Ｗ（２，ｉ）＝Ｗ（ｉ）・Ｗｃ（ｉ）
ｉ≦Ｎ／２のとき、Ｗ（１，ｉ）＝｛１−Ｗｃ（ｉ）｝Ｗ（ｉ）、Ｗ（３，ｉ）＝０．０
ｉ＞Ｎ／２のとき、Ｗ（１，ｉ）＝０．０、Ｗ（３，ｉ）＝｛１−Ｗｃ（ｉ）｝Ｗ（ｉ）
【００２６】
図５および上記〔数式１〕〔数式２〕からわかるように、第１窓関数、第２窓関数、第３窓関数は、ハニング窓関数を１音響フレームにおいて時間軸上で分割したものである。このうち、第１窓関数と第２窓関数、第２窓関数と第３窓関数は、同一時刻において、双方が同時に０でない値をもつような箇所が存在するように、すなわち時間軸上で互いにオーバーラップして設定される。また、第１窓関数と第３窓関数は、一方が０でない値をもつ場合に他方は必ず０となるように、すなわち時間軸上で互いにオーバーラップしないように設定される。また、第１窓関数、第３窓関数は、図５（ｂ）（ｄ）に示すように、その両側が非対称な余弦関数をもつように設定される。これは、第１窓関数を通して処理された結果と第３窓関数を通して処理された結果との違いが明瞭になるようにするためで、処理された音響フレームが時間軸上でずれが発生しても、互いに逆の窓関数で解析されるのを防ぐことができる。
【００２７】
Ｓ１０５においてフーリエ変換を行う場合、具体的には、左チャンネル信号ｘｌ（ｉ）、右チャンネル信号ｘｒ（ｉ）（ｉ＝０，…，Ｎ−１）に対して、上記〔数式２〕に従った３つの窓関数である第１窓関数Ｗ（１，ｉ）、第２窓関数Ｗ（２，ｉ）、第３窓関数Ｗ（３，ｉ）を用いて、以下の〔数式３〕に従った処理を行い、左チャンネルに対応する変換データの実部Ａｌ（１，ｊ）、Ａｌ（２，ｊ）、Ａｌ（３，ｊ）、虚部Ｂｌ（１，ｊ）、Ｂｌ（２，ｊ）、Ｂｌ（３，ｊ）、右チャンネルに対応する変換データの実部Ａｒ（１，ｊ）、Ａｒ（２，ｊ）、Ａｒ（３，ｊ）、虚部Ｂｒ（１，ｊ）、Ｂｒ（２，ｊ）、Ｂｒ（３，ｊ）を得る。なお、窓関数Ｗ（１，ｉ）、Ｗ（２，ｉ）、Ｗ（３，ｉ）は、それぞれ音響フレームの前部（先頭）付近、中央付近、後部付近において値が大きくなる関数となっている。
【００２８】
〔数式３〕
Ａｌ（１，ｊ）＝Σi=0,…,N-1Ｗ（１，ｉ）・ｘｌ（ｉ）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂｌ（１，ｊ）＝Σi=0,…,N-1Ｗ（１，ｉ）・ｘｌ（ｉ）・ｓｉｎ（２πｉｊ／Ｎ）
Ａｌ（２，ｊ）＝Σi=0,…,N-1Ｗ（２，ｉ）・ｘｌ（ｉ）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂｌ（２，ｊ）＝Σi=0,…,N-1Ｗ（２，ｉ）・ｘｌ（ｉ）・ｓｉｎ（２πｉｊ／Ｎ）
Ａｌ（３，ｊ）＝Σi=0,…,N-1Ｗ（３，ｉ）・ｘｌ（ｉ）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂｌ（３，ｊ）＝Σi=0,…,N-1Ｗ（３，ｉ）・ｘｌ（ｉ）・ｓｉｎ（２πｉｊ／Ｎ）
Ａｒ（１，ｊ）＝Σi=0,…,N-1Ｗ（１，ｉ）・ｘｒ（ｉ）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂｒ（１，ｊ）＝Σi=0,…,N-1Ｗ（１，ｉ）・ｘｒ（ｉ）・ｓｉｎ（２πｉｊ／Ｎ）
Ａｒ（２，ｊ）＝Σi=0,…,N-1Ｗ（２，ｉ）・ｘｒ（ｉ）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂｒ（２，ｊ）＝Σi=0,…,N-1Ｗ（２，ｉ）・ｘｒ（ｉ）・ｓｉｎ（２πｉｊ／Ｎ）
Ａｒ（３，ｊ）＝Σi=0,…,N-1Ｗ（３，ｉ）・ｘｒ（ｉ）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂｒ（３，ｊ）＝Σi=0,…,N-1Ｗ（３，ｉ）・ｘｒ（ｉ）・ｓｉｎ（２πｉｊ／Ｎ）
【００２９】
上記〔数式３〕において、ｉは、各音響フレーム内のＮ個のサンプルに付した通し番号であり、ｉ＝０，１，２，…Ｎ−１の整数値をとる。また、ｊは周波数の値について、値の小さなものから順に付した通し番号であり、ｉと同様にｊ＝０，１，２，…Ｎ−１の整数値をとる。サンプリング周波数が４４．１ｋＨｚ、Ｎ＝４０９６の場合、ｊの値が１つ異なると、周波数が１０．８Ｈｚ異なることになる。
【００３０】
上記〔数式３〕に従った処理を実行することにより、各音響フレームの信号成分を周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、低周波成分変更手段５０が、生成されたフレームスペクトルから３つの所定周波数範囲のスペクトル集合を抽出する。人間の聴覚は、２００〜３００Ｈｚ程度までの低周波成分については、方向性を感知しにくくなっていることが知られている（コロナ社１９９０年１０月３０日発行「音響工学講座１．基礎音響工学、日本音響学会編」ｐ２４７図９・２６参照）。したがって、本実施形態では、低周波成分を２００Ｈｚ程度以下としている。周波数２００Ｈｚ付近は、上記ｊが２０に相当するので、上記〔数式３〕により算出された実部Ａｌ（１，ｊ）、Ａｌ（２，ｊ）、Ａｌ（３，ｊ）、虚部Ｂｌ（１，ｊ）、Ａｌ（２，ｊ）、Ａｌ（３，ｊ）、実部Ａｒ（１，ｊ）、Ａｒ（２，ｊ）、Ａｒ（３，ｊ）、虚部Ｂｒ（１，ｊ）、Ｂｒ（２，ｊ）、Ｂｒ（３，ｊ）のうち、ｊ≦２０のものを抽出することになる。
【００３１】
続いて、低周波成分変更手段５０は、抽出した実部Ａｌ（１，ｊ）等（（２，ｊ）（３，ｊ）も含む、他の実部、虚部についても同様）、虚部Ｂｌ（１，ｊ）等、実部Ａｒ（１，ｊ）等、虚部Ｂｒ（１，ｊ）等のうち、左チャンネルの実部Ａｌ（１，ｊ）等、虚部Ｂｌ（１，ｊ）等を利用して、以下の〔数式４〕により、合算値Ｅ1、合算値Ｅ2を算出する。
【００３２】
〔数式４〕
Ｅ1＝Σj=1,…,M-3｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝
Ｅ2＝Σj=1,…,M-3｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2＋Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝
【００３３】
上記〔数式４〕により算出されたＥ1は音響フレーム前部付近のスペクトル集合の成分強度の合算値、Ｅ2は音響フレーム後部付近のスペクトル集合の成分強度の合算値を示すことになる。続いて、この合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ以上であるかどうかの判定を行う。レベル下限値Ｌｅｖは、音響信号ｘｌ（ｉ）、ｘｒ（ｉ）の振幅最大値が１に正規化されており、Ｍ＝２０に設定されている場合、０．０５に設定する。この条件において、経験的にアナログ変換への耐性が維持できるレベルは“０．５”となり、上記特許文献１０においてもそのように設定しているが、本発明においては、後述するように、電子透かし抽出・照合手段２００において照合を行うため、余裕を持たせておく必要がある。したがって、本実施形態においては、アナログ変換への耐性が維持できるレベルの１／１０程度の０．０５に設定している。なお、上記〔数式４〕において、総和を計算する範囲を１〜Ｍ−３までとし、Ｍ−２、Ｍ−１、Ｍを除外しているのは、後述するように、非埋め込み領域との分離を明瞭にするためである。
【００３４】
合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ以上であるかどうかを判断するのは、信号の強度が小さいと、信号を変化させても、その変化を抽出側で検出することができないためである。また、本実施形態では、第１の値（例えば“１”）と第２の値（例えば“０”）をとり得るビット値が“１”の場合、窓３成分に、ビット値が“０”の場合、窓１成分に、埋め込むこととしている。したがって、埋め込むビット値が“１”の場合は、合算値Ｅ1が下限値Ｌｅｖ未満であるとき、埋め込むビット値が“０”の場合は、合算値Ｅ2がレベル下限値Ｌｅｖ未満であるとき、付加情報のビット値に応じた記録をせず、先頭ビットから再度処理するため、読み込み位置を先頭ビットに戻し、モードを区切りモードに設定する（Ｓ１０６）。一方、埋め込むビット値が“１”で合算値Ｅ1がレベル下限値Ｌｅｖ以上であるか、埋め込むビット値が“０”で合算値Ｅ2がレベル下限値Ｌｅｖ以上であるときには、モードを判断することになる。
【００３５】
低周波成分変更手段５０は、モードが区切りモードである場合、左（Ｌ）チャンネル信号において、窓１成分と窓３成分を均等（全て０となる場合も含む）とする処理を行う（Ｓ１０８）。具体的には、以下の〔数式５〕に従って、Ｌ側の双方を０に設定する処理を実行することになる。この場合、右（Ｒ）チャンネル信号の窓１成分と窓３成分は必ずしも均等ではない。
【００３６】
〔数式５〕
ｊ＝１〜Ｍに対して、
Ａｌ´（１，ｊ）＝０
Ｂｌ´（１，ｊ）＝０
Ａｌ´（３，ｊ）＝０
Ｂｌ´（３，ｊ）＝０
ステレオの場合、右信号に対応した以下も算出
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｅ（３，ｊ）＝｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2＋Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ａｒ´（３，ｊ）＝Ａｒ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ｂｒ´（３，ｊ）＝Ｂｒ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｒ（３，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
【００３７】
上記〔数式５〕に従った処理を実行することにより、左チャンネルのフレームスペクトルの低周波数成分は、窓１成分と窓３成分共に“０” で同一となる。この窓１成分と窓３成分が均等のパターンは、付加情報の先頭位置（区切り）を示す情報となる。なお、上記〔数式５〕においては、窓１成分と窓３成分ともにＡｌ´（ｊ）＝Ｂｌ´（ｊ）＝０としているが、抽出側で区切りであることが認識可能とすることを目的としているため、十分小さな値であれば、必ずしも０とする必要はない。また、必ずしも窓１成分と窓３成分において同一である必要はなく、差が小さければ良い。この意味で、ここでは「均等」という言葉を用いている。
【００３８】
一方、低周波成分変更手段５０は、モードがビットモードである場合、付加情報記憶部３０２から抽出した付加情報のビット配列のビット値に応じて、左チャンネル信号の窓１成分と窓３成分のスペクトル強度の割合を窓１成分が優位か、窓３成分が優位かのいずれかの状態に変更する処理を行う（Ｓ１０７）。ここで、「優位」とは、一方の窓成分のスペクトル集合におけるスペクトル強度が、他方の窓成分のスペクトル集合におけるスペクトル強度よりも大きいことを示す。そこで、Ｓ１０７においては、第１の値と第２の値をとり得るビット値に応じて以下の〔数式６〕、〔数式７〕のいずれかに従った処理を実行することにより、窓１成分のスペクトル強度と、窓３成分のスペクトル強度の大小関係を変更し、窓１成分が優位か、窓３成分が優位かのいずれかに変更する処理を行う。例えば、第１の値を１、第２の値を０とした場合、ビット値が１のとき、窓１成分に対して、以下の〔数式６〕に従った処理を実行する。
【００３９】
〔数式６〕
ｊ＝１〜Ｍに対して
Ａｌ´（１，ｊ）＝０
Ｂｌ´（１，ｊ）＝０
ステレオの場合、右信号に対応した以下も算出
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｅ（３，ｊ）＝｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2＋Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ａｌ´（３，ｊ）＝Ａｌ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2｝1/2
Ｂｌ´（３，ｊ）＝Ｂｌ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2｝1/2
【００４０】
なお、上記〔数式６〕において、最後の３つの式を用いて、Ｅ（３，ｊ）、Ａｌ´（３，ｊ）、Ｂｌ´（３，ｊ）を算出している点は、上記特許文献１０とは異なる点である。このように、情報が埋め込まれる左チャンネル信号の窓３成分に、右チャンネル信号の対応する周波数成分を加算して、Ａｌ´（３，ｊ）、Ｂｌ´（３，ｊ）を得ることにより、窓３成分と他の窓成分の強度の大小が明確となり、抽出側において、情報の抽出が行い易くなる。
【００４１】
なお、この場合、窓３成分の一部の周波数成分に対しては、以下の〔数式７〕に従った処理を実行する。
【００４２】
〔数式７〕
ｊ＝Ｍ−２、Ｍ−１、Ｍの３成分に対して
Ａｌ´（３，ｊ）＝０
Ｂｌ´（３，ｊ）＝０
ステレオの場合、右信号に対応した以下も算出
Ｅ（３，ｊ）＝｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2＋Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ａｒ´（３，ｊ）＝Ａｒ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ｂｒ´（３，ｊ）＝Ｂｒ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
【００４３】
ビット値が０のとき、窓３成分に対して、以下の〔数式８〕に従った処理を実行する。
【００４４】
〔数式８〕
ｊ＝１〜Ｍの各成分に対して
Ａｌ´（３，ｊ）＝０
Ｂｌ´（３，ｊ）＝０
ステレオの場合、右信号に対応した以下も算出
Ｅ（３，ｊ）＝｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2＋Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ａｒ´（３，ｊ）＝Ａｒ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ｂｒ´（３，ｊ）＝Ｂｒ（３，ｊ）・Ｅ（３，ｊ）／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｌ´（１，ｊ）＝Ａｌ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ｂｌ´（１，ｊ）＝Ｂｌ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
【００４５】
なお、上記〔数式８〕において、最後の３つの式を用いて、Ｅ（１，ｊ）、Ａｌ´（１，ｊ）、Ｂｌ´（１，ｊ）を算出している点は、上記〔数式６〕の場合と同様、上記特許文献１０とは異なる点である。このように、情報が埋め込まれる左チャンネル信号の窓１成分に、右チャンネル信号の対応する周波数成分を加算して、Ａｌ´（１，ｊ）、Ｂｌ´（１，ｊ）を得ることにより、窓１成分と他の窓成分の強度の大小が明確となり、抽出側において、情報の抽出が行い易くなる。
【００４６】
なお、この場合、窓１成分の一部の周波数成分に対しては、以下の〔数式９〕に従った処理を実行する。
【００４７】
〔数式９〕
ｊ＝Ｍ−２、Ｍ−１、Ｍの３成分に対して
Ａｌ´（１，ｊ）＝０
Ｂｌ´（１，ｊ）＝０
ステレオの場合、右信号に対応した以下も算出
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
【００４８】
上記〔数式８〕〔数式９〕による処理を行った結果、窓１成分のｊ＝Ｍ−２、Ｍ−１、Ｍにおいては、値が“０”となるが、他は所定値以上の信号成分が存在することになる。したがって、この場合、窓１成分が優位な状態にスペクトル強度の割合が変更されたことになる。
【００４９】
上記〔数式６〕および〔数式７〕、又は〔数式８〕および〔数式９〕のいずれかに従った処理を実行することにより、付加情報のビット配列の各ビット値に応じて、左チャンネル信号の窓１成分が優位か、窓３成分が優位かのどちらかのパターンに変更されることになる。
【００５０】
この場合、高周波帯と低周波数帯の間には、必ず信号成分が“０”の部分が存在し、これにより、高周波帯と低周波数帯の信号成分が混在することを防いでいる。結局、低周波成分変更手段５０は、区切りモードの場合に〔数式５〕に基づく処理をＳ１０８において行い、ビットモードの場合に〔数式６〕〔数式７〕又は〔数式８〕〔数式９〕に基づく処理をＳ１０７において行うことになる。
【００５１】
上記Ｓ１０７、Ｓ１０８いずれの場合であっても、次に、低周波成分変更手段５０は、窓２成分の削除を行う（Ｓ１０９）。具体的には、窓２成分に対して、以下の〔数式１０〕に従った処理を実行することになる。
【００５２】
〔数式１０〕
ｊ＝１〜Ｍの各成分に対して
Ａｌ´（２，ｊ）＝０
Ｂｌ´（２，ｊ）＝０
ステレオの場合、右信号に対応した以下も算出
Ｅ（２，ｊ）＝｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2＋Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ａｒ´（２，ｊ）＝Ａｒ（２，ｊ）・Ｅ（２，ｊ）／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ｂｒ´（２，ｊ）＝Ｂｒ（２，ｊ）・Ｅ（２，ｊ）／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
【００５３】
なお、Ｓ１０４において抽出ログ読込手段２０が埋め込み禁止と判断した場合には、低周波成分変更手段５０は、上記〔数式４〕による合算値Ｅ1、合算値Ｅ2の算出処理を行わず、Ｓ１０６に進んで区切りモードに設定し、Ｓ１０８に進んで窓１成分と窓３成分を均等に設定する処理を行う。
【００５４】
次に、周波数逆変換手段６０が、上記Ｓ１０７〜Ｓ１０９の処理により各窓成分のスペクトル集合間の割合が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う（Ｓ１１０）。この周波数逆変換は、当然のことながら、周波数変換手段４０がＳ１０５において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段４０において、フーリエ逆変換を施しているため、周波数逆変換手段６０は、フーリエ逆変換を実行することになる。具体的には、上記〔数式５〕〜〔数式１０〕のいずれかにより得られたスペクトルの左チャンネルの実部Ａｌ´（１，ｊ）等、虚部Ｂｌ´（１，ｊ）等、右チャンネルの実部Ａｒ´（１，ｊ）等、虚部Ｂｒ´（１，ｊ）等を用いて、以下の〔数式１１〕に従った処理を行い、ｘｌ´（ｉ）、ｘｒ´（ｉ）を算出する。なお、上記〔数式５〕〜〔数式１０〕において処理されていない周波数成分については、Ａｌ´（１，ｊ）等、Ｂｌ´（１，ｊ）等、Ａｒ´（１，ｊ）等、Ｂｒ´（１，ｊ）等として、Ａｌ（１，ｊ）等、Ｂｌ（１，ｊ）等、Ａｒ（１，ｊ）等、Ｂｒ（１，ｊ）等を用いる。
【００５５】
〔数式１１〕
ｘｌ´（ｉ）＝１／Ｎ・｛ΣjＡｌ´（１，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）−ΣjＢｌ´（１，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）｝＋１／Ｎ・｛ΣjＡｌ´（２，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）−ΣjＢｌ´（２，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）｝＋１／Ｎ・｛ΣjＡｌ´（３，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）−ΣjＢｌ´（３，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）｝＋ｘｌｐ（ｉ＋Ｎ／２）
ｘｒ´（ｉ）＝１／Ｎ・｛ΣjＡｒ´（１，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）−ΣjＢｒ´（１，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）｝＋１／Ｎ・｛ΣjＡｒ´（２，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）−ΣjＢｒ´（２，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）｝＋１／Ｎ・｛ΣjＡｒ´（３，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）−ΣjＢｒ´（３，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）｝＋ｘｒｐ（ｉ＋Ｎ／２）
【００５６】
上記〔数式１１〕においては、式が繁雑になるのを防ぐため、Σj=0,…,N-1をΣjとして示している。
【００５７】
上記〔数式１１〕における第１式の“＋ｘｌｐ（ｉ＋Ｎ／２）”、第２式の“＋ｘｒｐ（ｉ＋Ｎ／２）”の項は、直前に改変された改変音響フレームのデータｘｌｐ（ｉ）、ｘｒｐ（ｉ）が存在する場合に、時間軸上Ｎ／２サンプル分重複することを考慮して加算するためのものである。上記〔数式１１〕により改変音響フレームの左チャンネルの各サンプルｘｌ´（ｉ）、右チャンネルの各サンプルｘｒ´（ｉ）、が得られることになる。改変音響フレーム出力手段８０は、得られた改変音響フレームを順次出力ファイルに出力する（Ｓ１１１）。また、この際、その音響フレームに、第１の値、第２の値、区切り情報のいずれの情報を埋め込んだかを、その音響フレームの番号と対応付けて埋込ログ記録手段７０が埋込ログファイルに記録する。こうして１つの音響フレームに対する処理を終えたら、モードをビットモードに設定した後（Ｓ１１２）、付加情報読込手段３０が付加情報のビット配列中の次のビットを読み込む（Ｓ１０３）。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら（Ｓ１０４）、処理を終了する。なお、Ｓ１０１において読み込んだ１バイトのデータの各ビットに対応する処理を終えた場合、Ｓ１０３からＳ１０１に戻り、付加情報の次のバイトを読み込み処理をすることになる。付加情報の全バイトに対して、処理が終了した場合は、付加情報の先頭バイトに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段３００内の改変音響信号記憶部３０３に出力され、記憶される。
【００５８】
以上の処理による左チャンネル信号の変化の様子を図６を用いて説明する。図６において、図面左右方向は、時間軸であり、サンプル数に比例する。また、図中多数存在する矩形は、改変音響フレームの窓１成分、窓３成分を示している。窓成分を示す矩形の横幅はサンプル数、縦幅は強度を示しているが、図３においては、横幅、縦幅とも正確に示したものではなく、窓１成分に対応する先頭部分に強い信号成分があるか、窓３成分に対応する後部部分に強い信号成分があるかということを示すものである。図６（ａ）は、上記〔数式４〕により算出された合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ未満となる音響フレームが存在しない場合、すなわち、付加情報を埋め込むには、良好な信号である場合を示している。図６（ｂ）は、上記〔数式４〕により算出された合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ未満となる音響フレームが存在する場合、すなわち、付加情報を埋め込むには、良好でない信号である場合を示している。
【００５９】
例えば、付加情報として、１バイト目が「１１０１１１００」、２バイト目が「１１０００００１」の２バイトのビット配列を埋め込むとする。まず、各バイトの先頭には、区切りを示す情報として、窓３成分、窓１成分が均等な状態に設定されることになる。これは、Ｓ１０２により区切りモードに設定され、Ｓ１０８において、上記〔数式５〕に従った処理を実行した結果得られる。また、図６（ａ）の例では、合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ未満となる音響フレームが存在しないため、１バイトが連続してＳ１０７により処理されることになる。これは、Ｓ１０３からＳ１１２を経由するループが８回連続して繰り返され、その間レベル下限値未満であるとしてＳ１０６およびＳ１０８を経由することがなかったことを示している。図６に示すように、付加情報のビット値が１の場合は、窓３成分に低周波成分が存在し、付加情報のビット値が０の場合は、窓１成分に低周波成分が存在する。上記〔数式６〕〜〔数式９〕からもわかるように、この場合は他方の窓成分の低周波成分は０となる。
【００６０】
図６（ｂ）の例では、埋め込むべきビット値に対応したＥ1、Ｅ2がレベル下限値Ｌｅｖ未満となる音響フレームが存在するので、この場合Ｓ１０６およびＳ１０８を経由して、上記〔数式５〕に従った処理を実行した結果窓１成分、窓３成分が均等な状態に設定される。この場合、Ｓ１０６において、読み込み位置が先頭ビットに戻されるため、再び同じビットを読むことになる。図６（ｂ）の例では、１バイト目の「１１０１１１００」を埋め込む場合に、最初は「１１」の２ビット処理した時点でレベル下限値Ｌｅｖ未満の音響フレームが出現し、２度目は「１１０１１」の５ビット処理した時点でレベル下限値Ｌｅｖ未満の音響フレームが出現し、３度目でようやく８ビット処理することができたことを示している。
【００６１】
しかし、図３に従った処理を行った場合には、図６（ｂ）に示したように、低周波成分の信号レベルが小さい音響フレームが出現するたびに、１バイト単位で先頭から繰り返して処理することになるため、効率が悪い。そこで、図３に代えて、図７に示すような処理を行うようにしても良い。
【００６２】
図７に示す処理で、図３に示す処理と大きく異なるのは、区切りモード、ビットモードの他に継続識別モードを備え、３つのモードとし、低周波成分の信号レベルが小さい音響フレームが出現した場合であっても、先頭に戻らず、継続して処理するようにした点である。そのため、継続識別モードにおいては、次のビットが先頭から始まる新規なものか、中断されたために継続されたものであるかを識別するための情報を記録することになる。なお、図７の処理では、付加情報の処理をバイト単位でなく、ワード単位で行っている。これは、図３のＳ１０６に示したように、強制的に読み込み位置を先頭に戻す処理がないため、バイト以外の単位で処理するのが容易であるためである。１ワードのビット数は自由に設定でき、１バイトに設定することもできる。
【００６３】
図７の処理については、図３の処理と共通する部分が多いため、異なる部分を中心に説明していく。まず、付加情報読込手段３０は、付加情報記憶部３０２から付加情報を１ワード単位で読み込む（Ｓ２０１）。その後、モードを区切りモードに設定し（Ｓ２０２）、音響フレーム読込手段１０が、音響信号記憶部３０１に記憶されたステレオ音響信号の左右各チャンネルから、音響フレームを読み込み（Ｓ２０４）、周波数変換手段４０が、読み込んだ各音響フレームに対して、〔数式１〕に従って周波数変換を行ってフレームスペクトルを得て（Ｓ２０５）、低周波成分変更手段５０が、抽出した実部Ａｌ（１，ｊ）等、虚部Ｂｌ（１，ｊ）等、実部Ａｒ（１，ｊ）等、虚部Ｂｒ（１，ｊ）等を利用して、〔数式４〕により合算値Ｅ1、Ｅ2を算出し、合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ以上であるかどうかを判断するところまでは同一である。ただし、図７の処理においては、合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ未満である場合は、モードを区切りモードに設定するだけである（Ｓ２０６）。一方、合算値Ｅ1、Ｅ2がレベル下限値Ｌｅｖ以上である場合には、モードを判断することになる。
【００６４】
低周波成分変更手段５０は、モードが区切りモードである場合、上記〔数式５〕に従って、Ｌ側の窓１成分と窓３成分を均等とする処理を行う（Ｓ２０８）。一方、低周波成分変更手段５０は、モードがビットモードである場合、上記〔数式６〕〜〔数式９〕に従って、付加情報記憶部３０２から抽出した付加情報のビット配列のビット値に応じて、スペクトル強度の窓１成分、窓３成分間の割合を変更する処理を行う（Ｓ２０７）。また、Ｓ２０７においては、図３のＳ１０７と異なり、継続識別モードである場合にも処理を行う。継続識別モードである場合、新規であるときは〔数式６〕に従って低周波成分の窓１成分、窓３成分間の分布を窓３成分が優位な状態に変更し、継続であるときは〔数式７〕に従って低周波成分の窓１成分、窓３成分間の分布を窓１成分が優位な状態に変更する。
【００６５】
上記Ｓ２０７、Ｓ２０８いずれの場合であっても、次に、低周波成分変更手段５０は、窓２成分の削除を行う（Ｓ２０９）。具体的には、窓３成分に対して、上記〔数式１０〕に従った処理を実行することになる。
【００６６】
次に、周波数逆変換手段６０が、スペクトル集合間の割合が変更されたフレームスペクトルを〔数式１１〕に従って周波数逆変換して改変音響フレームを得る処理を行い（Ｓ２１０）、改変音響フレーム出力手段８０は、得られた改変音響フレームを順次出力ファイルに出力する（Ｓ２１１）。こうして１つの音響フレームに対する処理を終えたら、モードの判定を行い（Ｓ２１２）、モードが区切りモードである場合は、モードを継続識別モードに設定した後（Ｓ２１３）、音響フレーム読込手段１０が、音響フレームを読み込む（Ｓ２０４）。一方、モードがビットモード又は継続識別モードである場合は、モードをビットモードに設定した後（Ｓ２１４）、低周波成分変更手段５０が付加情報のビット配列中の次のビットを読み込む（Ｓ２０３）。そして、全音響フレームの処理を行い、音響信号から読み込むべき音響フレームがなくなったら（Ｓ２０４）、処理を終了する。
【００６７】
図７に従った処理による左チャンネル信号の変化の様子を図８を用いて説明する。図８においては、図６と同様、左右方向は時間軸であり、図中多数存在する矩形は、改変音響フレームの窓１成分、窓３成分を示している。図８（ａ）は、図６（ａ）と同様、上記〔数式４〕により算出された合算値Ｅ1、Ｅ2が、レベル下限値Ｌｅｖ以上となる音響フレームが存在しない場合を示しており、図８（ｂ）は、図６（ｂ）と同様、上記〔数式４〕により算出された合算値Ｅ1、Ｅ2が、レベル下限値Ｌｅｖ未満となる音響フレームが存在する場合を示している。
【００６８】
また、図３の処理との比較のため、埋め込む付加情報も、図６の場合と同様、１バイト目が「１１０１１１００」、２バイト目が「１１０００００１」の２バイトのビット配列とする。図６と同様、各バイトの先頭には、区切りを示す情報として、窓１成分、窓３成分が均等な状態に設定されることになる。これは、Ｓ２０２により区切りモードに設定され、Ｓ２０８において、上記〔数式５〕に従った処理を実行した結果得られる。続いて、付加情報の各ビットに対応した処理を行う前に、新規であるか継続であるかを示す情報を記録することになる。図３に示す処理によれば、レベル下限値Ｌｅｖ未満となる音響フレームが存在した場合には、処理するビットを各バイトの先頭に戻して処理するため、全て新規となるが、図７に示す処理では、レベル下限値Ｌｅｖ未満となる音響フレームが存在した場合であっても、その時点で処理したビットは有効とし、そこから継続して行うため、そのビットが新規であるか継続であるかの情報を記録しておく必要がある。そこで、区切りを示す情報を記録した後には、新規であるか継続であるかを示す情報を記録する。具体的には、区切りモードの状態で、モード判断を行うことにより（Ｓ２１２）、継続識別モードに設定され（Ｓ２１３）、付加情報のビットを読み込むことなく、音響フレームの抽出を行う（Ｓ２０４）。そして、周波数変換後（Ｓ２０５）、新規である場合には、〔数式６〕に従った処理により、低周波成分の窓１成分、窓３成分間の分布を窓３成分が優位な状態に変更する（Ｓ２０７）。
【００６９】
このようにして、新規か継続かを示す情報を記録した後は、継続識別モードの状態でモード判断を行うため（Ｓ２１２）、ビットモードに設定され（Ｓ２１４）、レジスタから先頭のビットを読み込み（Ｓ２０３）、音響フレームの抽出を行う（Ｓ２０４）。図８（ａ）の例では、レベル下限値Ｌｅｖ未満となる音響フレームが存在しないため、１バイトが連続してＳ２０７により処理されることになる。これは、Ｓ２０３からＳ２１４を経由するループが８回連続して繰り返され、その間レベル下限値Ｌｅｖ未満であるとしてＳ２０６およびＳ２０８、Ｓ２１３を経由することがなかったことを示している。
【００７０】
図８（ｂ）の例では、上記〔数式４〕に従った処理の結果、レベル下限値Ｌｅｖ未満となる音響フレームが存在するので、この場合Ｓ２０６およびＳ２０８を経由して、上記〔数式５〕に従った処理を実行した結果、窓１成分と窓３成分が均等な状態に設定される。この場合、Ｓ２０６において、区切りモードに設定されるため、Ｓ２１２を経由して、新規か継続かを示す情報を記録することになる。図８（ｂ）の例では、１バイト目の「１１０１１１００」を埋め込む場合に、最初は第１ビット目の「１」の１ビット処理した時点でレベル下限値Ｌｅｖ未満の音響フレームが出現しているため、区切りを示す情報を記録した後、継続を示す情報を記録し、継続して第２ビット目の「１」から処理をしている。そして、第２ビット目から第５ビット目の「１０１１」を処理した時点でレベル下限値Ｌｅｖ未満の音響フレームが出現しているため、区切りを示す情報を記録した後、継続を示す情報を記録し、継続して第６ビット目の「１」から処理をしている。
【００７１】
なお、図８の例では、図６との比較のため、付加情報がバイト単位で記録されている場合について説明したが、図７に示す処理は、新規か継続かを示す情報を記録するため、付加情報を任意のビット数単位で記録することが可能である。
【００７２】
上記の例では、固定長のバイト単位又は可変長のワード単位で区切りを示す情報を挿入するようにしたが、さらにビット単位で区切りを示す情報を挿入することも可能である。この場合、音響フレーム読込手段１０が音響フレームの抽出を行う際、前後の音響フレームに重複する重複音響フレームを抽出し、この重複音響フレームに対して、〔数式１〕に従って周波数変換を行い、さらに、〔数式５〕に従って窓１成分と窓３成分を均等にする処理を行う。重複音響フレームは、前後の音響フレームと半数づつサンプルが重複するように設定する。例えば、先行する音響フレームがサンプル番号１から４０９６まで、後続する音響フレームがサンプル番号４０９７から８１９２までである場合、この間に設定される重複音響フレームはサンプル番号２０４９から６１４４までとなる。同様にして、音響信号の全区間について、重複音響フレームを読み込み、窓１成分と窓３成分を均等にする処理を行うことになる。
【００７３】
上記Ｓ１０７、Ｓ１０８またはＳ２０７、Ｓ２０８において設定された“均等”“窓１成分優位” “窓３成分優位”を示す３値の情報は、各フレームごとに埋込ログファイルに記録される。そして、１つの音響信号における全音響フレームに対して、上記処理を行った結果、電子透かし埋め込み手段１００の出力として、埋込ログファイルが得られる。
【００７４】
上記のように、重複音響フレームを設定して、その窓１成分と窓３成分を均等にする処理を行った場合、これを改変音響信号に反映させるため、窓１成分と窓３成分を均等にする処理後の重複フレームスペクトルに対して周波数逆変換を行って改変重複音響フレームを得て、さらに改変音響フレームと連結する処理を行う必要がある。
【００７５】
上記のようにして得られた改変音響信号の左チャンネルのうち、付加情報が埋め込まれている部分については、低周波成分は、窓１成分と窓３成分が均等となっているか、あるいは窓１成分が優位か、窓３成分が優位かの３通りの分布しかないことになる。しかし、高周波成分については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。また、上記の例で示したように、ステレオ音響信号を利用した場合には、左チャンネルにおいて変化させられた低周波成分は、上記〔数式５〕〜〔数式１０〕の処理からも明らかなように、必ず右チャンネルの低周波成分に付加されている。したがって、右チャンネルが左チャンネルにおいて削除された成分を補っているため、両チャンネル全体として見ると、信号の劣化がない。人間の聴覚は、高周波成分については、方向性を感知し易いが、低周波成分については、方向性を感知しにくくなっている。したがって、低周波成分が一方に偏っていても、聴いている人にとっては、通常の音響信号と変わりなく聴こえることになる。
【００７６】
（３．電子透かし抽出・照合手段）
次に、電子透かし抽出・照合手段２００について説明する。図９は、電子透かし抽出・照合手段２００の詳細を示す機能ブロック図である。図９において、２１０は改変音響フレーム読込手段、２２０は第２の周波数変換手段、２３０は符号判定パラメータ算出手段、２４０は符号出力手段、２５０は埋込ログ読込手段、２６０は抽出ログ記録手段である。
【００７７】
改変音響フレーム読込手段２１０は、付加情報が埋め込まれたステレオ改変音響信号の各チャンネルから所定数のサンプルを１フレームとして読み込む機能を有している。第２の周波数変換手段２２０は、図２に示した周波数変換手段４０と同様の機能を有している。符号判定パラメータ算出手段２３０は、生成されたフレームスペクトルから所定の周波数以下に相当する各低周波強度データを抽出し、窓１成分、窓３成分ごとに各低周波強度データの合算値Ｅ1、Ｅ2を算出し、この合算値Ｅ1、Ｅ2を符号判定パラメータとし、この符号判定パラメータＥ1、Ｅ2の比率に基づいて、所定の状態であると判断する機能を有している。
【００７８】
符号出力手段２４０は、改変音響フレームの低周波成分の３つの状態に対応する３値の符号を出力する機能を有している。埋込ログ読込手段２５０は、埋込ログ記憶部３０４に記憶された埋込ログファイルから、改変音響フレーム読込手段２１０が読み込んだ改変音響フレームに対応する埋め込み符号を読み込む機能を有している。抽出ログ記録手段２６０は、符号出力手段２４０により出力された符号と、埋込ログ読込手段２５０により読み込まれた埋め込み符号が一致しない場合に、埋め込み禁止を示す抽出ログデータを抽出ログファイルに書き込む機能を有している。図９に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、本発明の目的をより簡易に達成するためには、携帯型端末装置をハードウェアとして用いることが望ましい。図９に示した電子透かし抽出・照合手段２００は、特許文献１０に記載の抽出装置とほぼ同様の機能を有するものとなっている。ただし、特許文献１０に記載の抽出装置は、再生されてアナログ系を経由した音響信号から情報を抽出するため、最適な位相を決定して音響フレームを設定するが、電子透かし抽出・照合手段２００では、改変音響信号記憶部３０３に記憶された改変音響信号の先頭から改変音響フレームを抽出できるため、最適位相を決定する機能を有する必要がない。
【００７９】
（３．１．電子透かし抽出・照合手段の処理動作）
次に、図９に示した電子透かし抽出・照合手段２００の処理動作について図１０のフローチャートに従って説明する。まず、本装置では、平均符号レベルＨＬ１、ＨＬ２が初期化される。これらについて説明する。平均符号レベルＨＬ１、ＨＬ２は、ビット値に対応する２値が埋め込まれていたと判断される音響フレーム（以下、有効フレームと呼ぶことにする）についての、下記〔数式１２〕で算出される低周波成分の合算値Ｅc1、Ｅc2の平均値、すなわち、過去の有効フレームにおける合算値Ｅc1、Ｅc2の平均値で与えられるものであり、初期値は、上記埋め込み装置においても用いられるレベル下限値Ｌｅｖの２倍に設定されている。したがって、本実施形態では、ＨＬ１、ＨＬ２の初期値はともに“０．１”に設定されることになる。
【００８０】
抽出・照合手段２００は、電子透かし埋め込み手段１００により付加情報が埋め込まれた改変音響信号、埋込ログファイルを読み込む。
【００８１】
続いて、改変音響フレーム読込手段２１０が、所定数のサンプルで構成される改変音響フレームを抽出する（Ｓ３０１）。改変音響フレーム読込手段２１０が読み込む１改変音響フレームのサンプル数は、図２に示した音響フレーム読込手段１０で設定されたものと同一にする必要がある。したがって、本実施形態の場合、改変音響フレーム読込手段２１０は、４０９６サンプルずつ、順次改変音響フレームとして読み込んでいくことになる。
【００８２】
続いて、第２の周波数変換手段２２０、符号判定パラメータ算出手段２３０が、読み込んだ各音響フレームから、埋め込まれている情報を判定し、対応する符号を出力する（Ｓ３０２）。出力される情報の形式は、埋め込み側のビット値に対応する２値、および区切りとして入力された値の３値の形式となる。
【００８３】
ここで、ステップＳ３０２の符号判定処理の詳細を図１１のフローチャートに従って説明する。まず、第２の周波数変換手段２２０が、読み込んだ各改変音響フレームに対して、周波数変換を行ってフレームスペクトルを得る（Ｓ４０１）。この処理は、図２に示した周波数変換手段４０における処理と同様である。ただし、抽出に用いるのは、左チャンネルだけであるので、上記〔数式１〕に従った処理を行い、左チャンネルに対応する変換データの実部Ａｌ（１，ｊ）等、虚部Ｂｌ（１，ｊ）等を得る。
【００８４】
上記第２の周波数変換手段２２０における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段２３０は、平均符号レベルＨＬ１、ＨＬ２の算出を行う（Ｓ４０２）。具体的には、過去窓１成分が優位な状態と判断された音響フレームについての合算値Ｅc1の積算値であるｖ１を、過去窓１成分が優位な状態と判断された音響フレームの数であるｎ１で除算することによりＨＬ１を算出し、過去窓３成分が優位な状態と判断された音響フレームについての合算値Ｅc2の積算値であるｖ２を、過去窓３成分が優位な状態と判断された音響フレームの数であるｎ２で除算することによりＨＬ２を算出する。したがって、平均符号レベルＨＬ１、ＨＬ２は、過去対応する窓成分が優位な状態と判断された音響フレームの低周波強度データの合算値の平均値に近くなる。厳密な平均値とならないのは、上述のように、ＨＬ１、ＨＬ２の初期値はともに“０．１”が設定されており、この初期値に合算値Ｅc1、合算値Ｅc2を分子に加算していくためである。また、平均符号レベルＨＬ１、ＨＬ２の算出のための分母として用いるｎ１、ｎ２は最大値ｎｍａｘを超えないようにし、ｎ１＝ｎｍａｘとなった場合には、ＨＬ１＝“０．１”に再設定し、ｎ２＝ｎｍａｘとなった場合には、ＨＬ２＝“０．１”に再設定する。
【００８５】
さらに、符号判定パラメータ算出手段２３０は、生成されたフレームスペクトルから所定の周波数範囲の各低周波強度データを抽出する。抽出すべき周波数範囲は、埋め込み装置と対応させる必要がある。したがって、ここでは、周波数が２００Ｈｚ程度以下の低周波強度データを抽出することになり、埋め込み装置の場合と同様、上記〔数式１〕により算出された左チャンネルの実部Ａｌ（ｊ）、虚部Ｂｌ（ｊ）のうち、ｊ≦２０のものを抽出する。そして、符号判定パラメータ算出手段２３０は、以下の〔数式１２〕に従った処理を実行することにより左チャンネル信号の窓１成分の合算値Ｅc1、窓３成分の合算値Ｅc2を算出する。電子透かし抽出・照合手段２００においては、このＥc1、Ｅc2を符号判定パラメータとして用いる。
【００８６】
〔数式１２〕
Ｅc1＝Σj=1,…,M-3｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝
Ｅc2＝Σj=1,…,M-3｛Ａｌ（３，ｊ）2＋Ｂｌ（３，ｊ）2｝
【００８７】
続いて、符号判定パラメータ算出手段２３０は、窓１成分の合算値Ｅc1、窓３成分の合算値Ｅc2がそれぞれ所定値以下であるかどうかの判定を行う（Ｓ４０４）。具体的には、所定値としてそれぞれ平均符号レベルＨＬ１、ＨＬ２に０．００１を乗じた値を設定する。合算値Ｅc1が０．００１ＨＬ１未満であり、かつ、合算値Ｅc2が０．００１ＨＬ２未満である場合、符号判定パラメータ算出手段２３０は、区切り情報であると判定する（Ｓ４０８）。
【００８８】
一方、合算値Ｅc1、Ｅc2のうちいずれか一方が所定値以上である場合、すなわち、Ｅc1＞０．００１ＨＬ１またはＥc2＞０．００１ＨＬ２の条件を満たす場合、符号判定パラメータ算出手段２３０は、上記算出された符号判定パラメータＥc1、Ｅc2の比較判定を以下の〔数式１３〕に従って行い（Ｓ４０５）、比較結果に対応する符号を出力する。
【００８９】
〔数式１３〕
Ｅc2＞０．００１ＨＬ２かつＥc2／Ｅc1＞２の場合、窓３成分が優位な状態
Ｅc1＞０．００１ＨＬ１かつＥc1／Ｅc2＞２の場合、窓１成分が優位な状態
Ｅc2／Ｅc1≦２かつＥc1／Ｅc2≦２の場合、両窓成分が均等
【００９０】
符号判定パラメータ算出手段２３０は、各音響フレーム単位で、上記判定結果に応じて３値の符号を出力する。すなわち、窓３成分が優位な状態と判定した場合には、第１のビット値（例えば“１”）を出力し（Ｓ４０６）、窓１成分が優位な状態と判定した場合には、第２のビット値（例えば“０”）を出力し（Ｓ４０７）、両窓成分が均等と判定した場合には、区切り情報を示す符号を出力する（Ｓ４０８）。
【００９１】
再び図１０のフローチャートに戻って説明する。Ｓ３０２による処理の結果、ビット値に相当する符号が出力された場合には、平均符号レベルのパラメータの更新を行う（Ｓ３０３）。具体的には、平均符号レベルＨＬ１、ＨＬ２算出の際の分子となる積算値ｖ１、ｖ２にそれぞれ合算値Ｅc1、Ｅc2を加算して積算値ｖ１、ｖ２を更新し、分母となるフレーム数ｎ１、ｎ２にそれぞれ１を加算してフレーム数ｎ１、ｎ２を更新する。続いて、出力された符号に対応するビット値と埋込ログファイルの同一フレームに記録された符号の比較を行う（Ｓ３０４）。これは、その改変音響フレームに記録された符号がビット値である場合に限り行う。ここで、埋込ログファイルの同一フレームに記録された内容が区切り情報である場合に比較処理を行わず、仮に比較の結果、異なっている場合でも、エラーと判断しないのは、いずれの場合においても、当該フレームに対して次回の埋め込み処理で区切り情報を埋め込むことになるため、当該フレームに対して何度も埋め込み処理を繰り返しても永遠にエラーと判断されるような無限ループに陥るのを防ぐためである。比較の結果、異なっている場合、即ち埋込ログファイルの同一フレームに記録されている符号と異なるビット値が抽出された場合（埋め込み側０に対して１が抽出された場合、あるいはその逆の場合）、または区切り情報が抽出された場合、エラーが発生したと判断し、フレーム番号とエラーである旨を対応付けて抽出ログファイルに記録する（Ｓ３０５）。
【００９２】
Ｓ３０１において全ての改変音響フレームが抽出されたと判断された場合には、処理を終了する。
【００９３】
上記のようにして作成された抽出ログファイルは、エラーとなったフレームが１つも存在しない場合には、作成されない。１つでもエラーとなったフレームが存在する場合は、抽出ログファイルは、記憶手段に格納される。
【００９４】
そして、電子透かし埋め込み手段１００は、記憶手段に抽出ログファイルが記録されたことを認識すると、抽出・照合手段２００が作成した抽出ログファイルと前回電子透かし埋め込み手段１００が作成した埋込ログファイルを参照して、再度図に示したフローチャートに従った処理を行い、新たな仮埋め込み音響信号を作成するとともに、新たな埋込ログファイルを作成する。この際、抽出ログファイルにおいてエラーが記録されているフレームについては、モードが区切りモードであるかビットモードであるかに関わらず、強制的にＳ１０８において均等に設定する処理を行う。
【００９５】
以上のようにして、全フレームについて処理を行い、新たな仮埋め込み音響信号と、新たな埋込ログファイルが得られたら、抽出・照合手段２００は上記と同様にして、抽出ログファイルを作成する。このようにして、電子透かし埋め込み手段１００と抽出・照合手段２００は繰り返し処理を行い、抽出・照合手段２００が抽出ログファイルを作成しなかった場合、あるいは、抽出ログファイルを作成しても、記録するエラー件数が所定数未満の場合、そのときの仮埋め込み音響信号を埋め込み音響信号として出力する。
【００９６】
（４．従来との比較）
ここで、従来の手法との比較を行う。従来の手法では、埋め込み装置が抽出・照合手段２００に相当する機能を備えておらず、電子透かし埋め込み手段１００に相当する機能しか備えていなかったため、埋め込み装置により埋め込まれた情報を実際に抽出装置が音響信号から抽出し、抽出不良があるようであれば、合算値Ｅ1、Ｅ2との比較対象である閾値をさらに高く設定した後、再度埋め込み装置により埋め込みを行う、という処理を繰り返していた。従来法による埋め込み状態の変化の様子を図１２に示す。
【００９７】
図１２においては、音響信号の４つのフレームに対して処理を行った場合を示している。図１２（ａ）に示すように、フレームＡ、フレームＢ、フレームＤの低周波強度Ｅ1またはＥ2（埋め込むビット値が“０”の場合はＥ1、埋め込むビット値が“１”の場合はＥ2）が閾値より大きく、フレームＣの低周波強度Ｅ1またはＥ2は閾値より小さいため、図１２（ｂ）に示すように、フレームＡ、フレームＢ、フレームＤにはビット値の埋め込みが行われ、フレームＣには区切り情報の埋め込みが行われる。
【００９８】
図１２（ｂ）のように埋め込みが行われた音響信号を、抽出装置で抽出した結果、図１２（ｃ）に示すようにフレームＡ、フレームＤからはビット値が抽出され、フレームＢ、フレームＣからは区切り情報が抽出されたとする。この場合、フレームＡ、フレームＣ、フレームＤについては、埋め込んだ情報と同じであるが、フレームＢについては、埋め込んだ情報と異なる情報が抽出されたことになる。図１２（ａ）に示すように、フレームＢの低周波強度Ｅ1またはＥ2は、フレームＤの低周波強度Ｅ1またはＥ2より大きいが、フレームＢからはビット値が抽出できないのに対し、フレームＤからはビット値が抽出できている。本来は、低周波強度Ｅ1またはＥ2の値が大きい方が、ビット値を抽出できる可能性が高いはずであるが、図１２（ｃ）の例で逆転しているのは、前後のフレームの信号が影響しているためである。
【００９９】
図１２（ｂ）と図１２（ｃ）に示した関係のように、埋め込んだ情報と異なる情報が抽出されるような場合には、閾値をより大きく設定し、再度埋め込み装置が埋め込みを行う。図１２（ｄ）に示すように閾値を設定した場合、フレームＡの低周波強度Ｅ1またはＥ2（埋め込むビット値が“０”の場合はＥ1、埋め込むビット値が“１”の場合はＥ2）が閾値より大きく、フレームＢ、フレームＣ、フレームＤの低周波強度Ｅ1またはＥ2は閾値より小さいため、図１２（ｅ）に示すように、フレームＡにはビット値の埋め込みが行われ、フレームＢ、フレームＣ、フレームＤには区切り情報の埋め込みが行われる。この結果、ビット値が埋め込まれるのは、フレームＡのみとなり、埋め込み効率が落ちることになる。従来法では、このような傾向が高くなる。
【０１００】
同じ低周波強度Ｅ1またはＥ2を有するフレームＡ、フレームＢ、フレームＣ、フレームＤに対して本発明により処理した例を図１３に示す。本発明では、従来の閾値の１／１０程度のレベル下限値Ｌｅｖを設定する。図１３（ａ）に示すように、フレームＡ、フレームＢ、フレームＣ、フレームＤの低周波強度Ｅ1またはＥ2はいずれもレベル下限値Ｌｅｖより大きいため、電子透かし埋め込み手段１００により、図１３（ｂ）に示すように、フレームＡ、フレームＢ、フレームＣ、フレームＤにビット値の埋め込みが行われる。
【０１０１】
図１３（ｂ）のように埋め込みが行われた音響信号を、電子透かし抽出・照合手段２００が抽出した結果、図１３（ｃ）に示すようにフレームＡ、フレームＣ、フレームＤからはビット値が抽出され、フレームＢからは区切り情報が抽出されたとする。この場合、フレームＡ、フレームＣ、フレームＤについては、埋め込んだ情報と同じであるが、フレームＢについては、埋め込んだ情報と異なる情報が抽出されたことになる。図１３（ａ）に示すように、フレームＢの低周波強度Ｅ1またはＥ2は、フレームＣ、フレームＤの低周波強度Ｅ1またはＥ2より大きいが、フレームＢからはビット値が抽出できないのに対し、フレームＣ、フレームＤからはビット値が抽出できている。これは、図１２の場合と同様、前後のフレームの信号が影響しているためである。
【０１０２】
図１３（ｂ）と図１３（ｃ）に示した関係のように、あるフレームについて、ビット値を埋め込んだにも関わらず、区切り情報が抽出された場合、あるいは異なるビット値が抽出された場合には、そのフレームへのビット値の埋め込みを禁止する。具体的には、電子透かし抽出・照合手段２００が抽出ログファイルに、フレームＢの番号とエラーである旨の情報を対応付けて記録することになる。全フレームに対して処理を行った後、電子透かし埋め込み手段１００は、再度埋め込み処理を行うが、この際、抽出ログファイルを参照し、エラーが発生したフレームには、ビット値が埋め込み可能であっても、区切り情報を埋め込む。他のフレームについては、同様に処理が行われるため、結果として、図１３（ｅ）に示すように、フレームＡ、フレームＣ、フレームＤにはビット値の埋め込みが行われ、フレームＢには区切り情報の埋め込みが行われる。この結果、図１２の従来例では、４フレーム中１フレームにビット値の埋め込みが行われたが、図１３の本発明では、４フレーム中３フレームにビット値の埋め込みが行われ、ビット値の埋め込み効率が高いことがわかる。
【０１０３】
図１４のフローチャートは、電子透かし埋め込み手段１００において、付加情報をバイト単位で記録したものに対応している。電子透かし埋め込み手段１００で付加情報をワード単位で記録している場合には、図１０のフローチャートに従った処理を行うことになる。まず、図１４のＳ３０１と同様、改変音響フレーム読込手段２１０が、改変音響信号記憶部３０３に記憶されたステレオ改変音響信号の各チャンネルから、それぞれ所定数のサンプルを１改変音響フレームとして読み込む（Ｓ５０１）。
【０１０４】
続いて、図１０のＳ３０１と同様、第２の周波数変換手段２２０、符号判定パラメータ算出手段２３０が、読み込んだ各改変音響フレームに埋め込まれている情報に対応する符号を出力する（Ｓ５０２）。このＳ５０２における処理の詳細は、Ｓ３０２と同様、図１１に示したようなものとなる。
【０１０５】
Ｓ５０２による処理の結果、ビット値に相当する符号が抽出された場合には、Ｓ３０３と同様、平均符号レベルＨＬ１、ＨＬ２いずれかのパラメータの更新を行う（Ｓ５０３）。続いて、Ｓ３０４と同様、出力された符号に対応するビット値と埋込ログファイルの同一フレームに記録された符号の比較を行う（Ｓ５０４）。比較の結果、異なっている場合は、Ｓ３０５と同様、エラーが発生したと判断し、フレーム番号とエラーである旨を対応付けて抽出ログファイルに記録する（Ｓ５０５）。Ｓ５０１において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
【０１０６】
（５．モノラル音響信号の場合）
上記実施形態においては、左右のチャンネルを有するステレオ音響信号の左チャンネル信号に付加情報を埋め込む場合を例にとって説明したが、逆に右チャンネル信号に付加情報を埋め込むようにしても良い。本発明は、左右の特性には無関係だからである。また、１つのチャンネルしかないモノラル音響信号に対して処理を行う場合は、上記実施形態において、左チャンネル信号に対して行った処理を行うことになる。本発明は、１つのチャンネル信号に対して付加情報を埋め込み、また抽出を行うので、モノラル音響信号であってもステレオ音響信号であっても同様に行うことができる。
【０１０７】
図１５にステレオ音響信号とモノラル音響信号に対して、本発明により付加情報を埋め込む場合の概念図を示す。図１５（ａ）はステレオ音響信号の場合、図１５（ｂ）はモノラル音響信号の場合である。なお、図１５の例では、音響フレーム１つ分の低周波成分を波形で表現しており、ビット値“０”を埋め込む場合を例に示している。
【０１０８】
ステレオ音響信号の場合、埋め込みは左チャンネル（Ｌ−ｃｈ）信号に対して行われる。図１５（ａ）に示すように、周波数変換後、信号分離し、さらに、ビット埋め込み処理を行う。具体的には、〔数式５〕〜〔数式１０〕の処理の結果、ビット埋め込みがなされることになる。ここで、上述のように、“０”を埋め込む場合は〔数式８〕および〔数式９〕を用いる。したがって、ビット埋め込み処理後は、音響フレームの中央付近（窓２に相当）と後部付近（窓３に相当）は、低周波数帯の信号成分は０（図中、波形がないことで表現）となる。この際、〔数式８〕および〔数式９〕の内容から明らかなように、左チャンネル信号の削除された信号成分は、右チャンネル（Ｒ−ｃｈ）信号に加算される。したがって、図１５（ａ）の下段に示すように、右チャンネル信号の低周波成分は大きくなる。一方、上記〔数式６〕の最後の３つの式から明らかなように、左チャンネル信号の残っている信号成分に対応する右チャンネル（Ｒ−ｃｈ）信号の成分は、左チャンネル信号に加算される。したがって、図１５（ａ）の上段に示すように、左チャンネル信号の窓１に相当する低周波成分は大きくなる。ビット埋め込み処理後は、高周波成分を含めて信号合成された後、周波数逆変換され、改変音響信号が得られることになる。
【０１０９】
モノラル音響信号の場合、図１５（ｂ）に示すように処理が行われるが、図１５（ａ）の上段と比較するとわかるように、ステレオ音響信号の左チャンネルと同様の処理が行われることになる。
【０１１０】
（６．信号成分が小さくても情報の埋め込みを可能とする手法）
ここまで、説明してきた処理においては、窓１成分、窓３成分に所定の大きさ以上の信号成分が存在していることが必要となり、窓１成分、窓３成分が共に所定の大きさ以下の場合には、情報の埋め込みを行うことができない。そこで、以下、窓１成分、窓３成分が共に所定の大きさ以下であっても、信号の埋め込みを可能とする手法について説明する。
【０１１１】
この場合、図１に示した埋め込み装置における情報の埋め込み処理は、図１６のフローチャートに従って行われる。図１６のフローチャートにおいて、図２のフローチャートと異なる点は、Ｓ７０５における周波数変換処理において低周波成分変更手段５０がレベルの判定を行わず、さらに、Ｓ１０６に相当する区切りモードへの設定処理が存在しない点である。これは、図１６に従った処理では、信号レベルが小さくても強制的に情報を埋め込むこととしているため、情報の埋め込みが不可能な信号レベルが小さい部分が存在するかどうかを判断し、区切りモードに設定する必要がないからである。
【０１１２】
したがって、Ｓ７０６における窓１成分、窓３成分のいずれかを優位な状態に設定する処理としては、まず、以下の〔数式１４〕に従って算出される固定値Ｖを、第０低周波数帯の強度として、上記合算値Ｅ1、Ｅ2に代えて設定する。
【０１１３】
〔数式１４〕
Ｖ＝｛０．５・Ｌｅｖ／（Ｍ−３）｝1/2
【０１１４】
そして、第１の値を１、第２の値を０とした場合、ビット値が１のとき、上記〔数式６〕および〔数式７〕に従った処理を実行した後、以下の〔数式１５〕に従った処理を実行する。
【０１１５】
〔数式１５〕
窓３成分に対して
Ａｌ´（３，ｊ）＝Ａｌ（３，ｊ）・Ｖ／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
Ｂｌ´（３，ｊ）＝Ｂｌ（３，ｊ）・Ｖ／｛Ａｒ（３，ｊ）2＋Ｂｒ（３，ｊ）2｝1/2
【０１１６】
ビット値が０の場合、上記〔数式８〕および〔数式９〕に従った処理を実行した後、以下の〔数式１６〕に従った処理を実行する。
【０１１７】
〔数式１６〕
窓１成分に対して
Ａｌ´（１，ｊ）＝Ａｌ（１，ｊ）・Ｖ／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｌ´（１，ｊ）＝Ｂｌ（１，ｊ）・Ｖ／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
【０１１８】
Ｓ７０６における上記処理を行った後、窓２成分削除処理（Ｓ７０８）以降の処理は、図２に示したＳ２０９以降の処理と同様にして行われる。
【０１１９】
上記のように、周波数成分が小さい場合に情報を埋め込んだ場合であっても、電子透かし抽出・照合手段２００の構成は図９と同一であり、処理動作は図１０のフローチャートに従ったものと同一である。
【０１２０】
図１７にステレオ音響信号とモノラル音響信号に対して、信号成分が小さい場合に、付加情報を埋め込む場合の概念図を示す。図１７（ａ）はステレオ音響信号の場合、図１７（ｂ）はモノラル音響信号の場合である。なお、図１７の例では、図１５の場合と同様に、音響フレーム１つ分の低周波成分を波形で表現しており、ビット値“０”を埋め込む場合を例に示している。
【０１２１】
図１７において、図１５の場合と異なるのは、元の信号成分が小さい点である。図１７（ａ）に示す例のように、信号分離後の段階では、窓１成分、窓３成分の値が小さい場合であっても、上記〔数式１４〕〜〔数式１６〕の処理に従ってビット埋め込みを行うことにより、図１５と同様な信号成分を有することとなる。
【０１２２】
モノラル音響信号の場合、図１７（ｂ）に示すように処理が行われるが、図１７（ａ）の上段と比較するとわかるように、ステレオ音響信号の左チャンネルと同様の処理が行われることになる。
【図面の簡単な説明】
【０１２３】
【図１】本発明に係る音響信号に対する情報の埋め込み装置の構成図である。
【図２】電子透かし埋め込み手段１００の詳細を示す機能ブロック図である。
【図３】電子透かし埋め込み手段１００の処理概要を示すフローチャートである。
【図４】一般的なフーリエ変換を行う場合の信号波形の変化の様子を示す図である。
【図５】本発明で用いる窓関数を示す図である。
【図６】図３に従った処理による低周波成分の変化の様子を示すである。
【図７】電子透かし埋め込み手段１００の他の手法による処理概要を示すフローチャートである。
【図８】図７に従った処理による低周波成分の変化の様子を示すである。
【図９】電子透かし抽出・照合手段２００の機能ブロック図である。
【図１０】電子透かし抽出・照合手段２００の処理概要を示すフローチャートである。
【図１１】図１０のＳ３０２の符号判定処理の詳細を示すフローチャートである。
【図１２】従来法による埋め込み状態の変化の様子を示す概念図である。
【図１３】本発明による埋め込み状態の変化の様子を示す概念図である。
【図１４】電子透かし抽出・照合手段２００の他の手法による処理概要を示すフローチャートである。
【図１５】本発明による付加情報の埋め込み処理の概念図である。
【図１６】電子透かし埋め込み手段１００において、元の信号成分が小さくても情報の埋め込みを可能とする場合の処理概要を示すフローチャートである。
【図１７】元の信号成分が小さい場合の、付加情報の埋め込み処理の概念図である。
【符号の説明】
【０１２４】
１０・・・音響フレーム読込手段
２０・・・抽出ログ読込手段
３０・・・付加情報読込手段
４０・・・周波数変換手段
５０・・・低周波成分変更手段
６０・・・周波数逆変換手段
７０・・・埋込ログ記録手段
８０・・・改変音響フレーム出力手段
１００・・・電子透かし埋め込み手段
２００・・・電子透かし抽出・照合手段
２１０・・・改変音響フレーム読込手段
２２０・・・第２の周波数変換手段
２３０・・・符号判定パラメータ算出手段
２４０・・・符号出力手段
２５０・・・埋込ログ読込手段
２６０・・・抽出ログ記録手段
３００・・・記憶手段
３０１・・・音響信号記憶部
３０２・・・付加情報記憶部
３０３・・・改変音響信号記憶部
３０４・・・埋込ログ記憶部
３０５・・・抽出ログ記憶部
【図１】
0004839721.tif 000002
【図２】
0004839721.tif 000003
【図３】
0004839721.tif 000004
【図４】
0004839721.tif 000005
【図５】
0004839721.tif 000006
【図６】
0004839721.tif 000007
【図７】
0004839721.tif 000008
【図８】
0004839721.tif 000009
【図９】
0004839721.tif 000010
【図１０】
0004839721.tif 000011
【図１１】
0004839721.tif 000012
【図１２】
0004839721.tif 000013
【図１３】
0004839721.tif 000014
【図１４】
0004839721.tif 000015
【図１５】
0004839721.tif 000016
【図１６】
0004839721.tif 000017
【図１７】
0004839721.tif 000018