(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Ｗ（２，ｉ）・Ｘｒ（ｉ＋Ｎ／２）・ｓｉｎ（２πｉｊ／Ｎ）
【００４６】
上記〔数式３〕〔数式４〕において、ｉは、各音響フレーム内のＮ個のサンプルに付した通し番号であり、ｉ＝０，１，２，…Ｎ−１の整数値をとる。また、ｊは周波数の値について、値の小さなものから順に付した通し番号であり、ｉと同様にｊ＝０，１，２，…Ｎ／２−１の整数値をとる。サンプリング周波数が４４．１ｋＨｚ、Ｎ＝４０９６の場合、ｊの値が１つ異なると、周波数が１０．８Ｈｚ異なることになる。
【００４７】
上記〔数式３〕〔数式４〕に従った処理を実行することにより、各音響フレームの各窓関数に対応するスペクトルが得られる。続いて、周波数成分変更手段３０が、生成されたスペクトルから所定周波数範囲のスペクトル集合を抽出する。本実施形態では、Ｆ１以上Ｆ２以下の範囲のものを抽出する。
【００４８】
周波数変換手段２０は、周波数変換を実行した後に、各スペクトル集合の平均値が設定値になるように変換する。いわゆる振幅を変換する処理を行う。この振幅変換は、各フレームごとのレベル差を軽減し、適切な情報の埋め込みが可能になるようにすることを目的としているため、設定値Ｚｏとしては適宜設定することができる。
【００４９】
周波数変換手段２０は、得られたスペクトル集合に対して、振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で上記設定値を除算することにより行う。具体的には、ＬチャンネルのＡタイプの音響フレーム、Ｂタイプの音響フレーム、ＲチャンネルのＡタイプの音響フレーム、Ｂタイプの音響フレームのスペクトル集合についての変換倍率Ｚｌ（１）、Ｚｌ（２）、Ｚｒ（１）、Ｚｒ（２）は、以下の〔数式５〕に従った処理により算出される。対象音響フレームが無音に近く、分母の二乗総和値が所定の値に満たない場合は、変換倍率を１．０に設定し、振幅変換は行わないようにする。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームのスペクトル集合の平均実効値が設定値となるように振幅変換された状態で、情報の埋め込みが行われることになる。
【００５０】
〔数式５〕
Ｚｌ（１）＝Ｚｏ／［Σj=m,…,M-1｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝］1/2
Ｚｌ（２）＝Ｚｏ／［Σj=m,…,M-1｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝］1/2
Ｚｒ（１）＝Ｚｏ／［Σj=m,…,M-1｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝］1/2
Ｚｒ（２）＝Ｚｏ／［Σj=m,…,M-1｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝］1/2
【００５１】
上記〔数式５〕において、ｍおよびＭは変更対象周波数帯の下限および上限で、Ｚｏ＝Ｍ−ｍであり、本実施形態では、Ｚｏ＝２８８である。
【００５２】
さらに、ｊ＝ｍ，…，Ｍ−１（周波数Ｆ１，．．．，Ｆ２に相当）の範囲で、Ａｌ（１，ｊ）およびＢｌ（１，ｊ）の各々の要素に対してＺｌ（１）を乗じ、Ａｌ（２，ｊ）およびＢｌ（２，ｊ）の各々の要素に対してＺｌ（２）を乗じ、Ａｒ（１，ｊ）およびＢｒ（１，ｊ）の各々の要素に対してＺｒ（１）を乗じ、Ａｒ（２，ｊ）およびＢｒ（２，ｊ）の各々の要素に対してＺｒ（２）を乗じることにより、振幅変換を行う。以下説明において、Ａｌ（１，ｊ）、Ｂｌ（１，ｊ）、Ａｌ（２，ｊ）、Ｂｌ（２，ｊ）、Ａｒ（１，ｊ）、Ｂｒ（１，ｊ）、Ａｒ（２，ｊ）、Ｂｒ（２，ｊ）はこれらの振幅変換を行った値とする。
【００５３】
周波数成分変更手段３０は、Ａタイプの音響フレームについて、ビット配列作成手段７０が作成したビット配列に応じて、所定周波数成分の割合を変更する処理を行う。本発明では、ビット配列を１ビットまたは２ビットずつ読み込み、Ａタイプ、Ｂタイプの１対の音響フレームに対して１ビットまたは２ビットの情報を埋め込む。埋め込まれる１ビットの値は、“０” “１”の２通りがある。本実施形態では、これらを値１、値２と定義する。２種類の符号を埋め込むことができるという点で、これらを符号１、符号２と表現することも可能である。この際、“０”“１”の２通りのうち、いずれを値１、値２（符号１、符号２）と定義しても良い。抽出側において、埋め込み側で埋め込まれた１ビットが特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
【００５４】
具体的には、埋め込み装置で、音響信号から抽出した所定数のサンプルで構成される音響フレーム内の所定周波数範囲の周波数成分を変更するに際し、その強弱が音脈分凝を発生させるような状態に変更する。これにより、人間には、音が途切れたようには聞こえないが、抽出装置では、その明確な変化を認識することができる。
【００５５】
本実施形態では、音脈分凝の原理を利用して、音響フレームの変更対象周波数帯の成分を２つの状態に変更し、１ビットの情報を埋め込むようにしている。ここで、埋め込み処理の前後における音響フレームの所定周波数成分の変化の状態について説明する。図１１に、本実施形態によるＡタイプ、ＢタイプのＬチャンネル１音響フレームの所定周波数成分の状態を示す。Ｒチャンネルについては、Ｌチャンネルと同様であるので省略してある。図１１に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。
【００５６】
図１１においては、縦軸の周波数方向において、周波数領域が６つに区分されているが、上から２番目〜５番目の領域、すなわち、周波数Ｆ１以上Ｆ２以下の間が変更対象周波数帯であり、最上部すなわち周波数Ｆ２超、最下部すなわちＦ１未満は、変更対象でない周波数帯である。すなわち、本実施形態では、周波数Ｆ１以上Ｆ２以下を所定周波数範囲として、スペクトル集合の強度を変更することになる。図１１（ａ）に示すように、Ａタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を１Ｄ１、１Ｄ２、１Ｕ１、１Ｕ２で表現することとする。また、図１１（ｂ）に示すように、Ｂタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を２Ｄ１、２Ｄ２、２Ｕ１、２Ｕ２で表現することとする。
【００５７】
１ビット埋め込み方式で、符号１を埋め込む場合、図１１（ｃ）（ｅ）に示すように、１Ｄ１と２Ｄ２の強度の積、１Ｕ１と２Ｕ２の強度の積を相対的に強い状態に変更し、１Ｄ２と２Ｄ１の強度の積、１Ｕ２と２Ｕ１の強度の積を相対的に弱い状態に変更する。この状態を“状態１”と呼ぶことにする。符号２を埋め込む場合は、図１１（ｄ）（ｆ）に示すように、１Ｄ２と２Ｄ１の強度の積、１Ｕ２と２Ｕ１の強度の積を相対的に強い状態に変更し、１Ｄ１と２Ｄ２の強度の積、１Ｕ１と２Ｕ２の強度の積を相対的に弱い状態に変更する。この状態を“状態２”と呼ぶことにする。網掛けされた部分の濃さは、同濃度のものは、積を求めるための組となるスペクトル集合であることを示している。網掛けの色が濃い方が相対的に強度が強い状態に変更される組を示している。
【００５８】
１ビット埋め込み方式では、図１１（ｃ）（ｅ）または（ｄ）（ｆ）に示すような２つの状態にＡタイプ、Ｂタイプの音響フレームの周波数成分を変更することにより、情報の埋め込みを行っている。２つの状態であるので１ビット分の情報量に相当する。図１１（ｃ）〜（ｆ）に示したように、１ビット埋め込み方式の場合、変更対象周波数帯の上位周波数帯と下位周波数帯が全く同一のパターンとなっている。２ビット埋め込み方式の場合は、上位周波数帯と下位周波数帯を独立に変更することにより、上位周波数帯で１ビット、下位周波数帯で１ビットの表現が可能となる。
【００５９】
本実施形態では、上記変更対象周波数帯Ｆ１〜Ｆ２を、“０．３４ｋＨｚ〜３．４ｋＨｚ”に設定する。これは、以下のような理由による。すなわち、音声通信として普及度の高い携帯電話機を抽出装置として利用する場合、上限については、電話回線帯域および携帯電話機の上限である３．４ｋＨｚとする必要がある。これは、携帯電話機の内部に搭載されているローパスフィルターが、電話交換機に合わせて、３．４ｋＨｚ以下に対応したものとなっているためである。また、上位周波数帯の下限については、上限の３．４ｋＨｚから１オクターブ下がった１．７ｋＨｚとすることとした。そして、下位周波数帯の上限を上位周波数帯の下限と同じく、１．７ｋＨｚとし、下位周波数帯の下限については、電話回線帯域および携帯電話機の下限である０．３ｋＨｚ以上とする必要がある。これは、携帯電話機の内部に搭載されているハイパスフィルターが、電話交換機に合わせて、０．３ｋＨｚ以上に対応したものとなっているためである。そこで、上限の１．７ｋＨｚから２オクターブ強下がった０．３４ｋＨｚとすることとした。下位周波数帯の周波数範囲は、上位周波数帯の周波数範囲に比べ若干狭くなるが、分布している信号成分の強度は平均４倍程度になるため、上位周波数帯より下位周波数帯の方が大きな感度を持つと推定できる。なお、“０．３４ｋＨｚ”“１．７ｋＨｚ”“３．４ｋＨｚ”という値は、代表的な値であり、必ずしも正確な値である必要はなく、そこから若干ずれた値であっても良い。
【００６０】
図１１に示した例では、相対的に強い状態と弱い状態に変更することについて説明したが、この強弱の程度については、状況に応じて設定することが可能である。両者の割合は、以下に述べるように、大きいほど抽出時の精度が高くなるが、補間される割合は不完全になり、再生時に不連続成分によるノイズが聞こえる。一方、両者の割合が均等であるほど再生品質は原音に近付くが、埋め込んだビットの抽出ができなくなり、再生品質と抽出精度はトレードオフの関係になる。例えば、強い方を１００％、弱い方を０％とした場合、音脈分凝により、補間される部分の音は図１１のような変更を行なう前に原音響信号で鳴っていた音の５０％程度となることが確認されている。そこで、強い方を７０％、弱い方を３０％とした場合、音脈分凝により、補間される部分の音は図１１のような変更を行なう前に原音響信号で鳴っていた音とほぼ同程度となり、この割合が抽出精度を維持できる限界であることが確認されている。このため、相対的に強いスペクトル集合と、相対的に弱いスペクトル集合の強度の割合を７０％と３０％とすることを目標に設定することが好ましい。これを実現するため、本実施形態では、後述する具体的な処理において、強い状態を設定するための係数α＝０．７、弱い状態を設定するための係数β＝０．３とする。ただし、強い状態に変更すべきスペクトル集合の強度が元々小さい場合には、係数α、βを補正する必要が生じる。このため、周波数成分変更手段３０は、まず、以下の〔数式６〕に従った処理を実行することにより、各スペクトル集合の強度Ｅ1D1、Ｅ2D1、Ｅ1D2、Ｅ2D2、Ｅ1U1、Ｅ2U1、Ｅ1U2、Ｅ2U2を算出する。
【００６１】
〔数式６〕
Ｅ1D1＝Σj=m,…,m+G-1｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝
Ｅ2D1＝Σj=m,…,m+G-1｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝
Ｅ1D2＝Σj=m+G,…,m+2G-1｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝
Ｅ2D2＝Σj=m+G,…,m+2G-1｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝
Ｅ1U1＝Σj=m+2G,…,m+2G+Gu-1｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝
Ｅ2U1＝Σj=m+2G,…,m+2G+Gu-1｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝
Ｅ1U2＝Σj=m+2G+Gu,…,m+2G+2Gu-1｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝
Ｅ2U2＝Σj=m+2G+Gu,…,m+2G+2Gu-1｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝
【００６２】
上記〔数式６〕において、ｍは変更対象周波数帯の下限の成分の番号、Ｇは変更対象周波数帯内の下位周波数帯の２分割領域の幅で、Ｇｕは変更対象周波数帯内の上位周波数帯の２分割領域の幅で、ｍ＋２Ｇ＋２Ｇｕは変更対象周波数帯の上限の成分の番号である。例えば、変更対象周波数帯として、０．３４ｋＨｚ〜３．４ｋＨｚを設定する場合、ｍ＝３２、ｍ＋２Ｇ＋２Ｇｕ＝３２０（＝Ｍ）となる。したがって、下位周波数帯の２分割領域の幅Ｇ（＝（Ｍ／２−ｍ）／２）＝６４で、上位周波数帯の２分割領域の幅Ｇｕ（＝（Ｍ−Ｍ／２）／２）＝８０である。
【００６３】
さらに、周波数成分変更手段３０は、算出された各スペクトル集合の強度を利用して、弱い状態に変更すべきスペクトル集合に対する強い状態に変更すべきスペクトル集合の強度割合γを算出する。これは、１音響フレームに１ビット埋め込む場合と、２ビット埋め込む場合により異なる。１音響フレームに１ビット埋め込む場合は、以下の〔数式７〕に従って強度割合γを算出する。
【００６４】
〔数式７〕
埋め込みデータが値１の場合、γ＝（Ｅ1D1・Ｅ1U1・Ｅ2D2・Ｅ2U2）／（Ｅ1D2・Ｅ1U2・Ｅ2D1・Ｅ2U1）
埋め込みデータが値２の場合、γ＝（Ｅ1D2・Ｅ1U2・Ｅ2D1・Ｅ2U1）／（Ｅ1D1・Ｅ1U1・Ｅ2D2・Ｅ2U2）
【００６５】
１音響フレームに１ビット埋め込む場合、さらに強度割合γの値に応じて、周波数成分変更手段３０は、以下の〔数式８〕に従った処理を実行することにより、係数α、βを補正して係数α´、β´を得る。
【００６６】
〔数式８〕
０．０１≦γ＜１．０の場合、α´＝α・γ-1/4、β´＝β・γ1/4
γ＜０．０１の場合、α´＝１０．０・α、β´＝０．１・β
γ≧１．０の場合、補正を行わない。
【００６７】
一方、１音響フレームに２ビット埋め込む場合は、以下の〔数式９〕に従って強度割合γを算出する。
【００６８】
〔数式９〕
第１埋め込みデータが値１の場合、γ1＝（Ｅ1D1・Ｅ2D2）／（Ｅ1D2・Ｅ2D1）
第１埋め込みデータが値２の場合、γ1＝（Ｅ1D2・Ｅ2D1）／（Ｅ1D1・Ｅ2D2）
第２埋め込みデータが値１の場合、γ2＝（Ｅ1U1・Ｅ2U2）／（Ｅ1U2・Ｅ2U1）
第２埋め込みデータが値２の場合、γ2＝（Ｅ1U2・Ｅ2U1）／（Ｅ1U1・Ｅ2U2）
【００６９】
１音響フレームに２ビット埋め込む場合、さらに強度割合γ1、γ2の値に応じて、周波数成分変更手段３０は、以下の〔数式１０〕に従った処理を実行することにより、係数α、βを補正して係数α1´、β1´、α2´、β2´を得る。
【００７０】
〔数式１０〕
０．０１≦γ1＜１．０の場合、α1´＝α・γ1-1/2、β1´＝β・γ11/2
γ＜０．０１の場合、α1´＝１０．０・α、β1´＝０．１・β
γ≧１．０の場合、補正を行わない。
０．０１≦γ2＜１．０の場合、α2´＝α・γ2-1/2、β2´＝β・γ21/2
γ＜０．０１の場合、α2´＝１０．０・α、β2´＝０．１・β
γ≧１．０の場合、補正を行わない。
【００７１】
さらに、周波数成分変更手段３０は、連続するＡタイプ音響フレーム、Ｂタイプ音響フレームにおける実部Ａｌ（１，ｊ）、Ａｒ（１，ｊ）、Ａｌ（２，ｊ）、Ａｒ（２，ｊ）、Ｂｌ（１，ｊ）、Ｂｒ（１，ｊ）、Ｂｌ（２，ｊ）、Ｂｒ（２，ｊ）に対して、周波数領域パラメータとして、下限ｍ（＝３２）から上限Ｍ（＝３２０）を設定し、ｍからＭ／２を幅Ｇ（＝（Ｍ／２−ｍ）／２）をもつ２個の領域に分割し、ｍ＋２ＧからＭを幅Ｇｕ（＝（Ｍ−Ｍ／２）／２）をもつ２個の領域に分割し、埋め込むべきビット値に応じて、各々改変を加える。一例として、１音響フレームに２ビット埋め込む方式で、埋め込むべきビット値が１ビット目、２ビット目ともに“値１”である場合、以下の〔数式１１〕に従った処理を実行することにより、周波数成分の状態を“状態１”、すなわち、図１１（ｃ）（ｅ）に示したような状態に変更する。
【００７２】
〔数式１１〕
ｊ＝ｍ〜ｍ＋Ｇ−１の各成分に対して
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｌ´（１，ｊ）＝Ａｌ（１，ｊ）・Ｅ（１，ｊ）・α1／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ｂｌ´（１，ｊ）＝Ｂｌ（１，ｊ）・Ｅ（１，ｊ）・α1／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）・α1／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）・α1／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｅ（２，ｊ）＝｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2＋Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ａｌ´（２，ｊ）＝Ａｌ（２，ｊ）・Ｅ（２，ｊ）・β1／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ｂｌ´（２，ｊ）＝Ｂｌ（２，ｊ）・Ｅ（２，ｊ）・β1／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ａｒ´（２，ｊ）＝Ａｒ（２，ｊ）・Ｅ（２，ｊ）・β1／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ｂｒ´（２，ｊ）＝Ｂｒ（２，ｊ）・Ｅ（２，ｊ）・β1／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
ｊ＝ｍ＋Ｇ〜ｍ＋２Ｇ−１の各成分に対して
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｌ´（１，ｊ）＝Ａｌ（１，ｊ）・Ｅ（１，ｊ）・β1／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ｂｌ´（１，ｊ）＝Ｂｌ（１，ｊ）・Ｅ（１，ｊ）・β1／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）・β1／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）・β1／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｅ（２，ｊ）＝｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2＋Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ａｌ´（２，ｊ）＝Ａｌ（２，ｊ）・Ｅ（２，ｊ）・α1／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ｂｌ´（２，ｊ）＝Ｂｌ（２，ｊ）・Ｅ（２，ｊ）・α1／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ａｒ´（２，ｊ）＝Ａｒ（２，ｊ）・Ｅ（２，ｊ）・α1／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ｂｒ´（２，ｊ）＝Ｂｒ（２，ｊ）・Ｅ（２，ｊ）・α1／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
ｊ＝ｍ＋２Ｇ〜ｍ＋２Ｇ＋Ｇｕ−１の各成分に対して
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｌ´（１，ｊ）＝Ａｌ（１，ｊ）・Ｅ（１，ｊ）・α2／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ｂｌ´（１，ｊ）＝Ｂｌ（１，ｊ）・Ｅ（１，ｊ）・α2／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）・α2／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）・α2／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｅ（２，ｊ）＝｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2＋Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ａｌ´（２，ｊ）＝Ａｌ（２，ｊ）・Ｅ（２，ｊ）・β2／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ｂｌ´（２，ｊ）＝Ｂｌ（２，ｊ）・Ｅ（２，ｊ）・β2／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ａｒ´（２，ｊ）＝Ａｒ（２，ｊ）・Ｅ（２，ｊ）・β2／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ｂｒ´（２，ｊ）＝Ｂｒ（２，ｊ）・Ｅ（２，ｊ）・β2／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
ｊ＝ｍ＋２Ｇ＋Ｇｕ〜Ｍ−１の各成分に対して
Ｅ（１，ｊ）＝｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2＋Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ａｌ´（１，ｊ）＝Ａｌ（１，ｊ）・Ｅ（１，ｊ）・β2／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ｂｌ´（１，ｊ）＝Ｂｌ（１，ｊ）・Ｅ（１，ｊ）・β2／｛Ａｌ（１，ｊ）2＋Ｂｌ（１，ｊ）2｝1/2
Ａｒ´（１，ｊ）＝Ａｒ（１，ｊ）・Ｅ（１，ｊ）・β2／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｂｒ´（１，ｊ）＝Ｂｒ（１，ｊ）・Ｅ（１，ｊ）・β2／｛Ａｒ（１，ｊ）2＋Ｂｒ（１，ｊ）2｝1/2
Ｅ（２，ｊ）＝｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2＋Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ａｌ´（２，ｊ）＝Ａｌ（２，ｊ）・Ｅ（２，ｊ）・α2／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ｂｌ´（２，ｊ）＝Ｂｌ（２，ｊ）・Ｅ（２，ｊ）・α2／｛Ａｌ（２，ｊ）2＋Ｂｌ（２，ｊ）2｝1/2
Ａｒ´（２，ｊ）＝Ａｒ（２，ｊ）・Ｅ（２，ｊ）・α2／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
Ｂｒ´（２，ｊ）＝Ｂｒ（２，ｊ）・Ｅ（２，ｊ）・α2／｛Ａｒ（２，ｊ）2＋Ｂｒ（２，ｊ）2｝1/2
【００７３】
１音響フレームに２ビット埋め込む方式で、１ビット目、２ビット目のいずれかもしくは両方の埋め込むべきビット値が“値２”である場合は、それに応じて上記〔数式１１〕において、α1とβ1を互いに交換するか、α2とβ2を互いに交換して処理を実行する。また、１音響フレームに１ビット埋め込む方式の場合は、上記〔数式１１〕において、α1＝α2＝α、β1＝β2＝βとして処理を実行する。この場合は、スペクトル集合単位の強弱パターンは、高周波側と低周波側で同一となる。
【００７４】
なお、上記〔数式８〕〔数式１０〕に従った処理を実行して係数α´、β´、α1´、β1´、α2´、β2´を得た場合は、上記〔数式１１〕において、係数α、β、α1、β1、α2、β2に代えて係数α´、β´、α1´、β1´、α2´、β2´を用いる。
【００７５】
周波数逆変換手段４０は、上記のようにして、周波数成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段２０が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段２０において、フーリエ変換を施しているため、周波数逆変換手段４０は、フーリエ逆変換を実行することになる。
【００７６】
具体的には、Ａタイプの音響フレームに対しては、周波数逆変換手段４０は、上記〔数式１１〕により得られたスペクトルの左チャンネルの実部Ａｌ´（１，ｊ）等、虚部Ｂｌ´（１，ｊ）等、右チャンネルの実部Ａｒ´（１，ｊ）等、虚部Ｂｒ´（１，ｊ）等を用いて、以下の〔数式１２〕に従った処理を行い、Ｘｌ´（ｉ）、Ｘｒ´（ｉ）を算出する。なお、上記〔数式１１〕において改変されていない周波数成分については、Ａｌ´（１，ｊ）等として、元の周波数成分であるＡｌ（１，ｊ）等を用いる。周波数逆変換を計算するにあたり、Ａｌ´（１，ｊ）およびＢｌ´（１，ｊ）に対しては〔数式５〕におけるＺｌ（１）を、Ａｒ´（１，ｊ）およびＢｒ´（１，ｊ）に対しては〔数式５〕におけるＺｒ（１）を除することにより、同時に振幅逆変換を施す必要がある。
【００７７】
〔数式１２〕
Ｘｌ´（ｉ）＝１／Ｎ・｛ΣjＡｌ´（１，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）／Ｚｌ（１）−ΣjＢｌ´（１，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）／Ｚｌ（１）｝＋Ｘｌｐ（ｉ＋Ｎ／２）
Ｘｒ´（ｉ）＝１／Ｎ・｛ΣjＡｒ´（１，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）／Ｚｒ（１）−ΣjＢｒ´（１，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）／Ｚｒ（１）｝＋Ｘｒｐ（ｉ＋Ｎ／２）
【００７８】
上記〔数式１２〕においては、式が繁雑になるのを防ぐため、Σj=0,…,N-1をΣjとして示している。上記〔数式１２〕における第１式の“＋Ｘｌｐ（ｉ＋Ｎ／２）”、第２式の“＋Ｘｒｐ（ｉ＋Ｎ／２）”の項は、直前に改変された改変音響フレームのデータＸｌｐ（ｉ）、Ｘｒｐ（ｉ）が存在する場合に、時間軸上Ｎ／２サンプル分重複することを考慮して加算するためのものである。上記〔数式１２〕によりＡタイプの改変音響フレームの左チャンネルの各サンプルＸｌ´（ｉ）、右チャンネルの各サンプルＸｒ´（ｉ）、が得られることになる。
【００７９】
Ｂタイプの音響フレームに対しては、周波数逆変換手段４０は、上記〔数式１１〕により得られたスペクトルの左チャンネルの実部Ａｌ´（２，ｊ）、虚部Ｂｌ´（２，ｊ）、右チャンネルの実部Ａｒ´（２，ｊ）、虚部Ｂｒ´（２，ｊ）を用いて、以下の〔数式１３〕に従った処理を行い、Ｘｌ´（ｉ）、Ｘｒ´（ｉ）を算出する。なお、上記〔数式１１〕において改変されていない周波数成分については、以下の〔数式１３〕においてはＡｌ´（２，ｊ）、Ｂｌ´（２，ｊ）、Ａｒ´（２，ｊ）、Ｂｒ´（２，ｊ）として、元の値であるＡｌ（２，ｊ）、Ｂｌ（２，ｊ）、Ａｒ（２，ｊ）、Ｂｒ（２，ｊ）を用いる。周波数逆変換を計算するにあたり、Ａｌ´（２，ｊ）およびＢｌ´（２，ｊ）に対しては〔数式５〕におけるＺｌ（２）を、Ａｒ´（２，ｊ）およびＢｒ´（２，ｊ）に対しては〔数式５〕におけるＺｒ（２）を除することにより、同時に振幅逆変換を施す必要がある。
【００８０】
〔数式１３〕
Ｘｌ´（ｉ＋Ｎ／２）＝１／Ｎ・｛ΣjＡｌ´（２，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）／Ｚｌ（２）−ΣjＢｌ´（２，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）／Ｚｌ（２）｝＋Ｘｌｐ（ｉ＋Ｎ）
Ｘｒ´（ｉ＋Ｎ／２）＝１／Ｎ・｛ΣjＡｒ´（２，ｊ）・ｃｏｓ（２πｉｊ／Ｎ）／Ｚｒ（２）−ΣjＢｒ´（２，ｊ）・ｓｉｎ（２πｉｊ／Ｎ）／Ｚｒ（２）｝＋Ｘｒｐ（ｉ＋Ｎ）
【００８１】
上記〔数式１３〕によりＢタイプの改変音響フレームの左チャンネルの各サンプルＸｌ´（ｉ）、右チャンネルの各サンプルＸｒ´（ｉ）、が得られることになる。改変音響フレーム出力手段５０は、周波数逆変換手段４０の処理により得られたＡタイプの改変音響フレーム、Ｂタイプの改変音響フレームを順次蓄積し、１音響ブロック分蓄積された際に、音響ブロックとして出力する。
【００８２】
次に、図９に示した付加情報埋め込み手段２３０の処理の全体的な流れについて説明する。付加情報埋め込み手段２３０が起動すると、まず、変換テーブル作成手段８０が、Ｎｗビットの登録順位とＮｈビットのハミング符号が対応付けられた符号変換テーブルを作成する。変換テーブル作成手段８０による符号変換テーブル作成のフローチャートを図１２に示す。
【００８３】
変換テーブル作成手段８０は、最初に初期化処理を行う（Ｓ６０１）。具体的には、７ビット符号“０”に１２ビット符号“１”を対応付けて符号変換テーブルのｉ（＝０）番目に登録するとともに、７ビット符号ＫＦの初期値を１、１２ビット符号ＨＦの初期値を２とする。続いて、ｉ＝０に初期設定する（Ｓ６０２）。次に、１２ビット符号ＨＦと符号変換テーブルのｉ番目に既に登録されている他の１２ビット符号とのハミング距離を算出する（Ｓ６０３）。
【００８４】
算出したハミング距離が４未満の場合、ＨＦの値を１増加して更新した後（Ｓ６０４）、Ｓ６０２に戻って、次の１２ビット符号ＨＦについての処理を行う。一方、算出したハミング距離が４以上の場合、ｉの値を１増加して更新する（Ｓ６０５）。そして、ｉがＫＦ−１未満である場合には、Ｓ６０３に戻って、符号変換テーブル内のｉ番目に登録されている１２ビット符号とのハミング距離を算出する。Ｓ６０５の後、ｉがＫＦ−１以上となった場合には、１２ビット符号ＨＦを符号変換テーブルの７ビット符号ＫＦの位置に登録するとともに、ＫＦ、ＨＦの値をそれぞれ１ずつ増加して更新する（Ｓ６０６）。そして、ＫＦが１２８未満である場合は、Ｓ６０２に戻って、次の７ビット符号ＫＦについての処理を行う。ＫＦが１２８以上である場合は、全ての７ビット符号ＫＦに対応する１２ビット符号ＨＦが登録されたことになるので、符号変換テーブル作成処理を終了する。
【００８５】
このようにして作成された符号変換テーブルを図１３に示す。図１３に示すように、符号変換テーブルには、７ビット符号が取り得る各値０〜１２７について、１２ビット符号が対応付けて登録されている。１２ビット符号の２進表記を見るとわかるように、全ての１２ビット符号は互いにハミング距離が４以上となっている。なお、図１３の例では、説明の便宜上、７ビット符号の１０進表記と、１２ビット符号の１０進表記及び２進表記を示しているが、現実には、７ビット符号のビット列と１２ビット符号のビット列が対応付けて登録されている。
【００８６】
続いて、符号変換テーブル作成処理後の、埋め込み装置の処理を、図１４のフローチャートに従って説明する。図９に示した付加情報埋め込み手段２３０を構成する各構成要素は、連携して図１４に従った処理を実行する。図１４は、付加情報１ワード分の処理に対応したものとなっている。１ワードのビット数Ｎｗとしては、任意のビット数に設定することができるが、上述のように、本実施形態では、ＡＳＣＩＩコードの実質７ビットに設定されている。
【００８７】
図１４においては、まず、ビット配列作成手段７０は、付加情報記憶部６２から抽出した付加情報の各ワードについて、変換テーブル作成手段８０を参照し、対応するビット配列を作成する（Ｓ１０１）。具体的には、まず、付加情報記憶部６２から１ワード（７ビット）単位で抽出し、図１３に示した符号変換テーブルを参照し、対応するハミング符号で構成される１２ビットのビット配列を抽出する。
【００８８】
そして、この１２ビットが、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに読み込まれることになる。このように、付加情報記憶部６２においては、１ワードは７ビットであるが、埋め込み処理時は、この１２ビットの配列で、付加情報内の１ワード分の処理を行う。
【００８９】
次に、周波数成分変更手段３０が、レジスタに保持されたＮｈ（＝１２）ビットから１ビットを読み込む処理を行う（Ｓ１０２）。続いて、音響フレーム読込手段１０が、録音ブロック蓄積手段２２０から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数Ｎのサンプルを１音響フレームとして読み込み、周波数変換手段２０が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う（Ｓ１０３）。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数Ｗ（１，ｉ）を用いて、上記〔数式２〕に従った処理を行う。そして、上記〔数式５〕に従った処理を実行してＺｌ（１）、Ｚｒ（１）を算出し振幅変換を行う。同様に、音響フレーム読込手段１０が、録音ブロック蓄積手段２２０から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数のサンプルをＢタイプの１音響フレームとして読み込み、周波数変換手段２０が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う（Ｓ１０４）。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数Ｗ（２，ｉ）を用いて、上記〔数式３〕に従った処理を行う。そして、上記〔数式５〕に従った処理を実行してＺｌ（２）、Ｚｒ（２）を算出し振幅変換を行う。続いて、周波数成分変更手段３０が、読み込んだビット値に応じてＡタイプ音響フレームおよびＢタイプ音響フレームの周波数成分の状態を変更するにあたり、〔数式６〕〔数式８〕に従った処理を実行して変換割合α、βを決定する処理を行う（Ｓ１０５）。この決定された変換割合を用いて、周波数成分変更手段３０は、ビット配列作成手段７０から受け取った値１、値２に応じて上記〔数式１１〕に従った処理を実行し、変更対象周波数帯の成分の状態を“状態１”、“状態２”に応じた状態のいずれかに変更する（Ｓ１０６）。
【００９０】
次に、周波数逆変換手段４０が、上記Ｓ１０６の処理によりＡタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う（Ｓ１０７）。この振幅逆変換は〔数式５〕で算出したＺｌ（１）、Ｚｒ（１）の逆数をスペクトルに乗じることにより行ない、この周波数逆変換は、当然のことながら、周波数変換手段２０がＳ１０３において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段２０において、フーリエ逆変換を施しているため、周波数逆変換手段４０は、フーリエ逆変換を実行することになる。具体的には、上記〔数式１１〕により得られたスペクトルの左チャンネルの実部Ａｌ´（１，ｊ）等、虚部Ｂｌ´（１，ｊ）等、右チャンネルの実部Ａｒ´（１，ｊ）等、虚部Ｂｒ´（１，ｊ）等を用いて、上記〔数式１２〕に従った処理を行い、Ｘｌ´（ｉ）、Ｘｒ´（ｉ）を算出する。改変音響フレーム出力手段５０は、得られた改変音響フレームを順次蓄積し、１音響ブロック分蓄積する。
【００９１】
同様に、周波数逆変換手段４０が、上記Ｓ１０６の処理によりＢタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う（Ｓ１０８）。具体的には、振幅逆変換は〔数式５〕で算出したＺｌ（２）、Ｚｒ（２）の逆数をスペクトルに乗じることにより行ない、上記〔数式１１〕により得られたスペクトルの左チャンネルの実部Ａｌ´（２，ｊ）等、虚部Ｂｌ´（２，ｊ）等、右チャンネルの実部Ａｒ´（２，ｊ）等、虚部Ｂｒ´（２，ｊ）等を用いて、上記〔数式１３〕に従った処理を行い、Ｘｌ´（ｉ）、Ｘｒ´（ｉ）を算出する。
【００９２】
改変音響フレーム出力手段５０は、得られた改変音響フレームを順次蓄積する。こうして各チャンネルについて、ＡタイプおよびＢタイプの２つの音響フレームに対する処理を終えたら、周波数成分変更手段３０がビット配列中の次の１ビットを読み込む（Ｓ１０２）。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら（Ｓ１０３、Ｓ１０４）、処理を終了する。なお、Ｓ１０１において読み込んだ１ワード分のビット配列（Ｎｈ＝１２ビット）の各ビットに対応する処理を終えた場合、Ｓ１０２からＳ１０１に戻り、付加情報の次のワードを読み込んでビット配列を作成する処理を行うことになる。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、所定数の音響フレームに対して処理を行った所定数の改変音響フレームが蓄積され、音響ブロック１個分になったら、再生ブロックとして出力される。
【００９３】
なお、本実施形態では、付加情報を１ワード７ビットとし、符号変換テーブルにより１２ビットのビット配列に変換して、付加情報１ワード分の処理をする場合について説明したが、本発明では、抽出側と取り決めがある限り、付加情報の１ワードを他のビット数単位で記録することが可能である。
【００９４】
上記のようにして得られた改変音響信号のうち、付加情報が埋め込まれている部分については、変更対象周波数帯の成分は、１ビット埋め込み方式の場合は、状態１、状態２の２通り、２ビット埋め込み方式の場合は、それぞれのビットについて２通りの計４通りの分布しかないことになる。しかし、変更対象周波数帯の成分以外については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。また、上記〔数式１１〕の処理からも明らかなように、変更対象周波数帯の成分は、左チャンネルと右チャンネルにおいて同等の割合で変化させられている。したがって、両スピーカと等距離の位置においても、変更対象周波数帯の成分は、相殺されることなく増幅させる関係となり、情報を抽出し易くなる。
【００９５】
本発明に係る音響信号に対する情報のリアルタイム埋め込み装置では、埋め込み途中で付加情報の内容を変更することができる。このような場合、図示しない付加情報入力手段により付加情報を入力すると、付加情報埋め込み手段２３０内の付加情報記憶部６２に記録された付加情報が更新される。付加情報が更新されると、ビット配列作成手段７０は、これを認識し、更新された付加情報を基に新たなビット配列を作成する。さらに、ビット配列作成手段７０は、レジスタ内に残っている１２ビットのビット列に、新たに作成したビット配列の先頭の１２ビットを上書きする処理を行う。そして、周波数成分変更手段３０はレジスタの先頭からビットを読み込む処理を開始する。このようにして、付加情報が更新された場合には、即座に新たな付加情報を埋め込む処理が開始される。
【００９６】
以上、付加情報抽出手段２３０の詳細について説明したが、ここで、本実施形態で行っている振幅変換を用いた埋め込みおよび抽出について、図１５から図１８を用いて説明する。図１５および図１６は、比較のために、振幅変換を用いない場合の埋め込み処理および抽出処理を示し、図１７および図１８は本実施形態における振幅変換を用いた埋め込み処理および抽出処理を示す。これらの説明図においては、音響フレーム奇数および偶数３対分について、３ビットの情報を埋め込むことを想定した音響信号の信号波形を示しており、説明の便宜上、音響フレームが互いに重複しない状態で示している。各図において、左端の波形は時間次元の通常の音響信号波形を示しており、横方向は時間軸であり、右に向かうに従って時間が進行し、縦方向は強度（振幅）である。中央または右端の波形は周波数変換後の所定の周波数範囲のスペクトル成分の合算値を信号波形で表現しており、仮想的にバンドパスフィルターを通した後の信号波形になっている。縦方向は同様に強度であり、本来は左端に比べ顕著に低くなるが、ここでは説明の都合上、左端と同程度に拡大して表現している。また、２種類の波形のレベルも本来は差があるが、ここでは同一レベルで表現している。実際には、周波数変換後のデータとして所定の周波数範囲外の高周波数成分や低周波数成分も存在するが、これらについては改変を加えないという前提で図示しておらず、図１１に従った埋め込みを行なう２種の周波数帯域成分に限定して２種の信号波形で示している。
【００９７】
図１５（ａ）は原音響信号を示しており、最初の１対の音響フレームは全体に渡って強度がほぼ一定、中央の１対の音響フレームは奇数フレームの強度が小さく偶数フレームの強度が大きいものであり、最後の１対の音響フレームは奇数フレームの強度が大きく偶数フレームの強度が小さいものである。このような音響信号に対して、周波数変換を行った結果が図１５（ｂ）で、図１１で示されように埋め込み対象成分は上下２分割して成分変更を施す都合上、図１５（ｂ）では（ｂ−１）および（ｂ−２）の２種の波形に分離して表現した。周波数変換後の波形形状は周波数ごとに異なり、図１５（ａ）と必ずしも相似形にはならないが、ここでは周波数変換前と同様になると仮定して説明する。図１５（ｂ−１）および（ｂ−２）に対して、［０，０，０］という３ビットのデータを図１１で説明した方法に基づいて埋め込むことにより（図１１ではビット０は符号１に相当する）、図１５（ｃ−１）および（ｃ−２）が得られる。最初の１対は図１１のようなパターンが表現できているが、残り２対の上下一方は、原段階に対して逆方向に大小関係を構築することが要求され、品質維持の都合上、適切なパターンが構築できていないことがわかる。このような改変を加えた結果に対して、周波数逆変換を行った結果が図１５（ｄ）である。一般に音響信号波形の外形（エンベロープという）はエネルギー分布が大きい低周波成分で決定され、これらは本願では所定の周波数範囲外の信号成分に含まれ、図１５（ｃ）の段階では改変が加えられていないため、周波数逆変換後の図１５（ｄ）は周波数変換前の図１５（ａ）と類似した形状になる。
【００９８】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図１６に示す。図１６（ａ）および図１６（ｂ）は各々図１５（ｄ）および図１５（ｃ）に対応する。図１６（ｂ）において、ビット判定を行なうにあたり、最初の１対以外は図１１で想定されているパターンが形成されていないため、正しいビットを判定することが難しくなる。
【００９９】
次に、本実施形態における振幅変換を導入した手法について図１７および図１８を用いて説明する。図１７（ａ）は図１５（ａ）と同じ原音響信号を示しており、同様に周波数変換を行った図１７（ｂ）も図１５（ｂ）と同じである。ここで、６つのフレーム単位に振幅変換を行った結果が図１７（ｃ）である。図１７の場合、図１７（ａ）で各フレーム内の振幅が平坦であるため、図１７（ｃ）では全体が平坦になっているが、実際には各フレーム内は微細に変動しており、そのフレーム内変動分は図１７（ｃ）の段階でも踏襲されるため、本図のように完全に平坦になることは通常ない。（実際は図１７（ｃ）は周波数次元のデータになるため、周波数次元のデータも平坦にならず変動した形態になる。）また、変換倍率はフレームごとに設定し、上下２つの周波数成分に対しては同一の倍率で変換を行うため、通常は上下で顕著な差が生じる（ただし、時間軸方向は比較的揃う）。これに対して、［０，０，０］という３ビットのデータを埋め込むと、図１７（ｄ−１）および（ｄ−２）が得られる。原段階である図１７（ｃ）が平坦な波形であるため、全てのフレームにおいて図１１のような理想的なパターンが容易に構築できることがわかる。続いて、前記フレームごとに設定した倍率の逆数を乗じて振幅逆変換を行った結果が図１７（ｅ）である。この段階では図１５（ｃ）と類似したパターンが生じることが多いが、本形状はいかなるものでも構わない。最後に周波数逆変換を行うと、図１７（ｆ）が得られ、同様に原信号波形の図１７（ａ）と類似した形状になる。
【０１００】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図１８に示す。図１８（ａ）、（ｂ）および（ｃ）は各々図１７（ｆ）、（ｅ）および（ｄ）に対応する。図１８（ｂ）の周波数変換後の波形形状は図１７（ｂ）とは基本的に異なるが、算出される振幅変換倍率は類似した値になり、ほぼ同様な倍率で振幅変換が行われ図１８（ｃ）が得られる。図１８（ｃ）の段階で、ビット判定を行なうと、全てのフレームにおいて図１１のような理想的なパターンが形成されているため、正しいビットを判定することが可能になる。
【０１０１】
以上、振幅変換を導入した本実施形態では、図１７（ｃ）に示したように、埋め込み対象の信号成分が時間軸方向に平坦になるように変換を行って埋め込むようにしているため、高周波側と低周波側の成分強度の大小関係が完全に逆になるような不自然な変更を行う確率が低くなり、品質を維持しながら、抽出側における抽出精度を高めることが可能となる。
【０１０２】
（７．音響信号からの情報の抽出装置）
次に、音響信号からの情報の抽出装置について説明する。図１９は、音響信号からの情報の抽出装置を示す構成図である。図１９において、１００は音響信号入力手段、１１０は基準フレーム獲得手段、１２０は位相変更フレーム設定手段、１３０は周波数変換手段、１４０は符号判定パラメータ算出手段、１５０は符号出力手段、１６０は付加情報抽出手段、１７０は音響フレーム保持手段、１８０は変換テーブル作成手段である。
【０１０３】
音響信号入力手段１００は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびＡ／Ｄ変換器により実現される。マイクロフォンとしては、変更対象周波数帯の成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図９に示した付加情報埋め込み手段２３０で情報の埋め込みを行った場合には、ステレオで再生されるが、左右どちらのスピーカの音を入力しても、双方のスピーカの音を混合入力しても良く、マイクロフォンの設置位置に制約がない。もちろん、付加情報が埋め込まれた音響信号がモノラル再生される場合、あるいは付加情報が埋め込まれた音響信号自体がモノラルである場合は、再生される単一のスピーカにマイクロフォンを向ければ良い。このマイクロフォンは特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段１１０は、入力されたデジタルのモノラル音響信号（あるいはステレオ音響信号の１チャンネル）から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。基準フレームとしては、埋め込み時と同様にＡタイプ、Ｂタイプのものが設定される。位相変更フレーム設定手段１２０は、Ａタイプ、Ｂタイプそれぞれの基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。
【０１０４】
周波数変換手段１３０は、基本的には、図９に示した周波数変換手段２０とほぼ同様の機能を有している。ただし、音を取り込むタイミングが、音響信号の先頭からとはならないため、正しい位相を特定するために、複数の位相で振幅変換、周波数変換を行う点、元の音響信号がステレオであっても、１つのチャンネルで行う点が異なっている。
【０１０５】
周波数変換手段１３０は、Ａタイプの音響フレームに対してフーリエ変換を行う場合は、信号Ｘ（ｉ−Ｎ／２＋ｐＮ／６）（ｉ＝０，…，Ｎ−１）に対して、窓関数Ｗ（１，ｉ）を用いて、以下の〔数式１４〕に従った処理を行い、変換データの実部Ａ（１，ｊ，ｐ）、虚部Ｂ（１，ｊ，ｐ）を得る機能を有している。ｐは位相番号であり、０〜５の整数値をとる。
【０１０６】
〔数式１４〕
Ａ（１，ｊ，ｐ）＝Σi=0,…,N-1Ｗ（１，ｉ）・Ｘ（ｉ−Ｎ／２＋ｐ・Ｎ／６）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂ（１，ｊ，ｐ）＝Σi=0,…,N-1Ｗ（１，ｉ）・Ｘ（ｉ−Ｎ／２＋ｐ・Ｎ／６）・ｓｉｎ（２πｉｊ／Ｎ）
【０１０７】
周波数変換手段１３０は、Ｂタイプの音響フレームに対してフーリエ変換を行う場合は、信号Ｘ（ｉ＋ｐ・Ｎ／６）（ｉ＝０，…，Ｎ−１）に対して、窓関数Ｗ（２，ｉ）を用いて、以下の〔数式１５〕に従った処理を行い、変換データの実部Ａ（２，ｊ，ｐ）、虚部Ｂ（２，ｊ，ｐ）を得る機能を有している。
【０１０８】
〔数式１５〕
Ａ（２，ｊ，ｐ）＝Σi=0,…,N-1Ｗ（２，ｉ）・Ｘ（ｉ＋ｐ・Ｎ／６）・ｃｏｓ（２πｉｊ／Ｎ）
Ｂ（２，ｊ，ｐ）＝Σi=0,…,N-1Ｗ（２，ｉ）・Ｘ（ｉ＋ｐ・Ｎ／６）・ｓｉｎ（２πｉｊ／Ｎ）
【０１０９】
周波数変換手段１３０は、周波数変換手段２０と同様に振幅変換を行う。振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で、設定値を除算することにより行う。設定値は、適宜定めておくことができるが、埋め込み時における振幅変換の場合と同一値としておくことが必要となる。したがって、本実施形態では、設定値Ｚｏは２８８（＝Ｍ−ｍ）にする必要がある。具体的には、Ａタイプの音響フレーム、Ｂタイプの音響フレームについての変換倍率Ｚ（１，ｐ）、Ｚ（２，ｐ）、これらの直前のＡタイプの音響フレーム、Ｂタイプの音響フレームについての変換倍率Ｚ-1（１，ｐ）、Ｚ-1（２，ｐ）は、以下の〔数式１６〕に従った処理により算出される。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームの平均実効値が設定値となるように振幅変換された状態で、情報の抽出が行われることになる。なお、ｐは位相番号であり、０〜５の整数値をとる。
【０１１０】
〔数式１６〕
Ｚ（１，ｐ）＝Ｚｏ／［Σj=m,…,M-1｛Ａ（１，ｊ，ｐ）2＋Ｂ（１，ｊ，ｐ）2｝］1/2
Ｚ（２，ｐ）＝Ｚｏ／［Σj=m,…,M-1｛Ａ（２，ｊ，ｐ）2＋Ｂ（２，ｊ，ｐ）2｝］1/2
Ｚ-1（１，ｐ）＝Ｚｏ／［Σj=m,…,M-1｛Ａ-1（１，ｊ，ｐ）2＋Ｂ-1（１，ｊ，ｐ）2｝］1/2
Ｚ-1（２，ｐ）＝Ｚｏ／［Σj=m,…,M-1｛Ａ-1（２，ｊ，ｐ）2＋Ｂ-1（２，ｊ，ｐ）2｝］1/2
【０１１１】
ｊ＝ｍ，…，Ｍ−１（周波数Ｆ１，．．．，Ｆ２に相当）およびｐ＝０，．．．，５の範囲で、Ａ（１，ｊ，ｐ）およびＢ（１，ｊ，ｐ）の各々の要素に対してＺ（１，ｐ）を乗じ、Ａ（２，ｊ，ｐ）およびＢ（２，ｊ，ｐ）の各々の要素に対してＺ（２，ｐ）を乗じ、Ａ-1（１，ｊ，ｐ）およびＢ-1（１，ｊ，ｐ）の各々の要素に対してＺ-1（１，ｐ）を乗じ、Ａ-1（２，ｊ，ｐ）およびＢ-1（２，ｊ，ｐ）の各々の要素に対してＺ-1（２，ｐ）を乗じることにより、振幅変換を行う。以下説明において、Ａ（１，ｊ，ｐ）、Ｂ（１，ｊ，ｐ）、Ａ（２，ｊ，ｐ）、Ｂ（２，ｊ，ｐ）、Ａ-1（１，ｊ，ｐ）、Ｂ-1（１，ｊ，ｐ）、Ａ-1（２，ｊ，ｐ）、Ｂ-1（２，ｊ，ｐ）はこれらの振幅変換を行った値とする。
【０１１２】
符号判定パラメータ算出手段１４０は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を抽出し、各スペクトル集合の強度値を算出するとともに、この強度値を利用して符号判定パラメータを算出し、この符号判定パラメータの大小関係に基づいて、所定の状態であると判断する機能を有している。上述のように、本実施形態では、Ａタイプの音響フレームとＢタイプの音響フレームがＮ／２サンプルずつ重複して設定されているため、ある音響フレームについて、強度値、符号判定パラメータを算出する際には、直前の音響フレームによる残響成分を考慮する必要がある。ところが、残響成分は計算により算出されるものであるので、必ずしも正確なものが算出されるとは限らず、算出された残響成分を除去することにより、反って抽出精度が低下する場合がある。そこで、本実施形態では、残響成分を除去しない場合の強度値Ｅ１、Ｅ２、Ｅ３、Ｅ４、および符号判定パラメータＣと、除去した場合の強度値Ｅ１´、Ｅ２´、Ｅ３´、Ｅ４´、および補正符号判定パラメータＣ´を算出し、これらを利用して最適であると思われる状態を判断する。
【０１１３】
Ａタイプの音響フレームの各成分Ａ（１，ｊ，ｐ）、Ｂ（１，ｊ，ｐ）に対して１フレーム分前のＢタイプの音響フレームに対応する各成分をＡ-1（２，ｊ，ｐ）、Ｂ-1（２，ｊ，ｐ）とすると、Ｂタイプの音響フレームの各成分Ａ（２，ｊ，ｐ）、Ｂ（２，ｊ，ｐ）に対応して、１フレーム分前の音響フレームは以下補正を施す前の前記Ａタイプの音響フレームとなる。符号判定パラメータ算出手段１４０は、各スペクトル集合の強度値の算出の前に、まず、各スペクトル集合の基本強度値Ｅ（１，ｊ，ｐ）、Ｅ（２，ｊ，ｐ）、および残響成分を除去した基本強度値Ｅ´（１，ｊ，ｐ）、Ｅ´（２，ｊ，ｐ）を、以下の〔数式１７〕に従った処理により算出する。
【０１１４】
〔数式１７〕
Ｅ（１，ｊ，ｐ）＝Ａ（１，ｊ，ｐ）2＋Ｂ（１，ｊ，ｐ）2
Ｅ（２，ｊ，ｐ）＝Ａ（２，ｊ，ｐ）2＋Ｂ（２，ｊ，ｐ）2
Ｅ-1（１，ｊ，ｐ）＝Ａ-1（１，ｊ，ｐ）2＋Ｂ-1（１，ｊ，ｐ）2
Ｅ-1（２，ｊ，ｐ）＝Ａ-1（２，ｊ，ｐ）2＋Ｂ-1（２，ｊ，ｐ）2
Ｅ´（１，ｊ，ｐ）＝Ｅ（１，ｊ，ｐ）−ｑ・Ｅ-1（２，ｊ，ｐ）
Ｅ´（２，ｊ，ｐ）＝Ｅ（２，ｊ，ｐ）−ｑ・Ｅ（１，ｊ，ｐ）
【０１１５】
上記〔数式１７〕における６つの式のうち、上から５番目（下から２番目）の式は、あるＡタイプの音響フレームに着目したときに、その前半のＮ／２サンプルが重複するＢタイプの音響フレームからの残響成分を除去するためのものである。また、上から６番目（下から１番目）の式は、あるＢタイプの音響フレームに着目したときに、その前半のＮ／２サンプルが重複するＡタイプの音響フレームからの残響成分を除去するためのものである。Ｅ´（１，ｊ，ｐ）≧０、Ｅ´（２，ｊ，ｐ）≧０とし、〔数式１７〕の上から５番目、６番目の式に従った処理の結果、負の値となった場合には、０に設定する。
【０１１６】
上記〔数式１７〕において、ｑは残響成分の大きさを示す係数であるが、この係数ｑは１未満の値を持つものであり、実験の結果、Ｎ＝４０９６のときｑ＝０．０６、Ｎ＝２０４８のときｑ＝０．１２、Ｎ＝１０２４のときｑ＝０．２４、Ｎ＝５１２のときｑ＝０．４８が最適である。そして、残響成分を除去しない場合の各スペクトル集合の強度値Ｅ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５、Ｅ６、Ｅ７、Ｅ８、除去した場合の強度値Ｅ１´、Ｅ２´、Ｅ３´、Ｅ４´、Ｅ５´、Ｅ６´、Ｅ７´、Ｅ８´を、算出した基本強度値Ｅ（１，ｊ，ｐ）、Ｅ（２，ｊ，ｐ）、Ｅ´（１，ｊ，ｐ）、Ｅ´（２，ｊ，ｐ）を用いて以下の〔数式１８〕に基づいて算出する。
【０１１７】
〔数式１８〕
Ｅ１（ｐ）＝Σj=m,…,m+G-1Ｅ（１，ｊ，ｐ）
Ｅ２（ｐ）＝Σj=m,…,m+G-1Ｅ（２，ｊ，ｐ）
Ｅ３（ｐ）＝Σj=m+G,…,m+2G-1Ｅ（１，ｊ，ｐ）
Ｅ４（ｐ）＝Σj=m+G,…,m+2G-1Ｅ（２，ｊ，ｐ）
Ｅ５（ｐ）＝Σj=m+2G,…,m+2G+Gu-1Ｅ（１，ｊ，ｐ）
Ｅ６（ｐ）＝Σj=m+2G,…,m+2G+Gu-1Ｅ（２，ｊ，ｐ）
Ｅ７（ｐ）＝Σj=m+2G+Gu,…,m+2G+2Gu-1Ｅ（１，ｊ，ｐ）
Ｅ８（ｐ）＝Σj=m+2G+Gu,…,m+2G+2Gu-1Ｅ（２，ｊ，ｐ）
Ｅ１´（ｐ）＝Σj=m,…,m+G-1Ｅ´（１，ｊ，ｐ）
Ｅ２´（ｐ）＝Σj=m,…,m+G-1Ｅ´（２，ｊ，ｐ）
Ｅ３´（ｐ）＝Σj=m+G,…,m+2G-1Ｅ´（１，ｊ，ｐ）
Ｅ４´（ｐ）＝Σj=m+G,…,m+2G-1Ｅ´（２，ｊ，ｐ）
Ｅ５´（ｐ）＝Σj=m+2G,…,m+2G+Gu-1Ｅ´（１，ｊ，ｐ）
Ｅ６´（ｐ）＝Σj=m+2G,…,m+2G+Gu-1Ｅ´（２，ｊ，ｐ）
Ｅ７´（ｐ）＝Σj=m+2G+Gu,…,m+2G+2Gu-1Ｅ´（１，ｊ，ｐ）
Ｅ８´（ｐ）＝Σj=m+2G+Gu,…,m+2G+2Gu-1Ｅ´（２，ｊ，ｐ）
【０１１８】
結局〔数式１７〕〔数式１８〕により、各スペクトル集合の強度値Ｅ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５、Ｅ６、Ｅ７、Ｅ８が算出されるとともに、当該各スペクトル集合に対応するタイプの別を問わない直前の音響フレームにおけるスペクトル集合の強度にｑを乗じた値を減じることにより強度値Ｅ１´、Ｅ２´、Ｅ３´、Ｅ４´、Ｅ５´、Ｅ６´、Ｅ７´、Ｅ８´が算出されることになる。
【０１１９】
また、符号判定パラメータ算出手段１４０は、残響成分を除去せずに算出した強度値Ｅ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５、Ｅ６、Ｅ７、Ｅ８を用いて、符号判定パラメータＣを算出する。１音響フレームに１ビット埋め込む方式の場合、以下の〔数式１９〕に従った処理を実行することにより、候補符号Ｂについて仮判定するとともに、符号判定パラメータＣを算出する。
【０１２０】
〔数式１９〕
１）Ｅ１（ｐ）・Ｅ５（ｐ）＞Ｅ２（ｐ）・Ｅ６（ｐ）かつＥ４（ｐ）・Ｅ８（ｐ）＞Ｅ３（ｐ）・Ｅ７（ｐ）の場合
Ｂ＝０と仮判定、
Ｃ＝Ｅ１（ｐ）・Ｅ５（ｐ）・｛Ｅ４（ｐ）・Ｅ８（ｐ）−Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）｝／｛Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）＋Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）｝
２）Ｅ２（ｐ）・Ｅ６（ｐ）＞Ｅ１（ｐ）・Ｅ５（ｐ）かつＥ３（ｐ）・Ｅ７（ｐ）＞Ｅ４（ｐ）・Ｅ８（ｐ）の場合
Ｂ＝１と仮判定、
Ｃ＝｛Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）−Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）｝／｛Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）＋Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）｝
３）Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）＞Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）の場合
Ｂ＝０と仮判定、
Ｃ＝｛Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）−Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）｝／｛Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）＋Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）｝
４）上記１）〜３）以外の場合
Ｂ＝１と仮判定、
Ｃ＝｛Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）−Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）｝／｛Ｅ１（ｐ）・Ｅ５（ｐ）・Ｅ４（ｐ）・Ｅ８（ｐ）＋Ｅ２（ｐ）・Ｅ６（ｐ）・Ｅ３（ｐ）・Ｅ７（ｐ）｝
【０１２１】
また、符号判定パラメータ算出手段１４０は、残響成分を除去して算出した強度値Ｅ１´、Ｅ２´、Ｅ３´、Ｅ４´、Ｅ５´、Ｅ６´、Ｅ７´、Ｅ８´を用いて、補正符号判定パラメータＣ´を算出する。１音響フレームに１ビット埋め込む方式の場合、上記〔数式１９〕において、Ｅ１（ｐ）〜Ｅ８（ｐ）をそれぞれＥ１´（ｐ）〜Ｅ８´（ｐ）に置き換えることにより、候補符号Ｂに代えて候補符号Ｂ´について仮判定するとともに、符号判定パラメータＣに代えて補正符号判定パラメータＣ´を算出する。
【０１２２】
一方、符号判定パラメータ算出手段１４０は、１音響フレームに２ビット埋め込む方式の場合、２ビットの各ビットについて、それぞれ候補符号をＢ１、Ｂ２、符号判定パラメータをＣ１、Ｃ２とすると、以下の〔数式２０〕に従った処理を実行することにより、候補符号Ｂ１について仮判定するとともに、符号判定パラメータＣ１を算出する。
【０１２３】
〔数式２０〕
１）Ｅ１（ｐ）＞Ｅ２（ｐ）かつＥ４（ｐ）＞Ｅ３（ｐ）の場合
Ｂ１＝０と仮判定、
Ｃ１＝｛Ｅ１（ｐ）・Ｅ４（ｐ）−Ｅ２（ｐ）・Ｅ３（ｐ）｝／｛Ｅ１（ｐ）・Ｅ４（ｐ）＋Ｅ２（ｐ）・Ｅ３（ｐ）｝
２）Ｅ２（ｐ）＞Ｅ１（ｐ）かつＥ３（ｐ）＞Ｅ４（ｐ）の場合
Ｂ１＝１と仮判定、
Ｃ１＝｛Ｅ２（ｐ）・Ｅ３（ｐ）−Ｅ１（ｐ）・Ｅ４（ｐ）｝／｛Ｅ１（ｐ）・Ｅ４（ｐ）＋Ｅ２（ｐ）・Ｅ３（ｐ）｝
３）Ｅ１（ｐ）・Ｅ４（ｐ）＞Ｅ２（ｐ）・Ｅ３（ｐ）の場合
Ｂ１＝０と仮判定、
Ｃ１＝｛Ｅ１（ｐ）・Ｅ４（ｐ）−Ｅ２（ｐ）・Ｅ３（ｐ）｝／｛Ｅ１（ｐ）・Ｅ４（ｐ）＋Ｅ２（ｐ）・Ｅ３（ｐ）｝
４）上記１）〜３）以外の場合
Ｂ１＝１と仮判定、
Ｃ１＝｛Ｅ２（ｐ）・Ｅ３（ｐ）−Ｅ１（ｐ）・Ｅ４（ｐ）｝／｛Ｅ１（ｐ）・Ｅ４（ｐ）＋Ｅ２（ｐ）・Ｅ３（ｐ）｝
【０１２４】
また、以下の〔数式２１〕に従った処理を実行することにより、候補符号Ｂ２について仮判定するとともに、符号判定パラメータＣ２を算出する。
【０１２５】
〔数式２１〕
１）Ｅ５（ｐ）＞Ｅ６（ｐ）かつＥ８（ｐ）＞Ｅ７（ｐ）の場合
Ｂ２＝０と仮判定、
Ｃ２＝｛Ｅ５（ｐ）・Ｅ８（ｐ）−Ｅ６（ｐ）・Ｅ７（ｐ）｝／｛Ｅ５（ｐ）・Ｅ８（ｐ）＋Ｅ６（ｐ）・Ｅ７（ｐ）｝
２）Ｅ６（ｐ）＞Ｅ５（ｐ）かつＥ７（ｐ）＞Ｅ８（ｐ）の場合
Ｂ２＝１と仮判定、
Ｃ２＝｛Ｅ６（ｐ）・Ｅ７（ｐ）−Ｅ５（ｐ）・Ｅ８（ｐ）｝／｛Ｅ５（ｐ）・Ｅ８（ｐ）＋Ｅ６（ｐ）・Ｅ７（ｐ）｝
３）Ｅ５（ｐ）・Ｅ８（ｐ）＞Ｅ６（ｐ）・Ｅ７（ｐ）の場合
Ｂ２＝０と仮判定、
Ｃ２＝｛Ｅ５（ｐ）・Ｅ８（ｐ）−Ｅ６（ｐ）・Ｅ７（ｐ）｝／｛Ｅ５（ｐ）・Ｅ８（ｐ）＋Ｅ６（ｐ）・Ｅ７（ｐ）｝
４）上記１）〜３）以外の場合
Ｂ２＝１と仮判定、
Ｃ２＝｛Ｅ６（ｐ）・Ｅ７（ｐ）−Ｅ５（ｐ）・Ｅ８（ｐ）｝／｛Ｅ５（ｐ）・Ｅ８（ｐ）＋Ｅ６（ｐ）・Ｅ７（ｐ）｝
【０１２６】
また、符号判定パラメータ算出手段１４０は、残響成分を除去して算出した強度値Ｅ１´、Ｅ２´、Ｅ３´、Ｅ４´、Ｅ５´、Ｅ６´、Ｅ７´、Ｅ８´を用いて、補正符号判定パラメータＣ１´、Ｃ２´を算出する。１音響フレームに２ビット埋め込む方式の場合、上記〔数式２０〕〔数式２１〕において、Ｅ１（ｐ）〜Ｅ８（ｐ）をそれぞれＥ１´（ｐ）〜Ｅ８´（ｐ）に置き換えることにより、候補符号Ｂ１、Ｂ２に代えて候補符号Ｂ１´、Ｂ２´について仮判定するとともに、符号判定パラメータＣ１、Ｃ２に代えて補正符号判定パラメータＣ１´、Ｃ２´を算出する。
【０１２７】
符号出力手段１５０は、１つの基準フレームに対応する音響フレーム（基準フレームおよび位相変更フレーム）の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。符号判定パラメータ算出手段１４０と符号出力手段１５０により符号化手段が構成される。付加情報抽出手段１６０は、符号出力手段１５０により出力された２値の配列をＮｈビット単位で抽出し、符号逆変換テーブルを参照することにより、Ｎｗビットの登録順位に変換し、さらに所定の規則により変換して意味のある付加情報として抽出する機能を有している。音響フレーム保持手段１７０は、チャンネルごとのＡタイプ、Ｂタイプそれぞれについて連続する２個の基準フレーム（チャンネルごとに計４個の基準フレーム）を保持可能なバッファメモリである。変換テーブル作成手段１８０は、図９に示した変換テーブル作成手段８０と同様、Ｎｗビットが取り得る２のＮｗ乗個の全ての登録順位に対して、互いにハミング距離が少なくとも４以上となるＮｈ（＞Ｎｗ）ビットのハミング符号を割り当てることにより、Ｎｗビットの登録順位とＮｈビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。図１９に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、携帯電話機等の携帯型端末装置をハードウェアとして用いることが望ましい。なお、本明細書では、携帯電話機等の携帯型端末装置であっても、演算処理機能を有するものは、コンピュータの一種と考えるものとする。
【０１２８】
次に、図１９に示した音響信号からの情報の抽出装置の処理動作について説明する。抽出装置を起動すると、まず、変換テーブル作成手段１８０が、符号変換テーブルを作成する。変換テーブル作成手段１８０による符号変換テーブルの作成は、変換テーブル作成手段８０と同様、図１２のフローチャートに従った処理により行われ、図１３に示したような符号変換テーブルが得られることになる。
【０１２９】
続いて、符号変換テーブル作成処理後の、抽出装置の処理動作について説明する。本発明に係る抽出装置は、検査符号によりエラーを検出した際、エラー訂正を行わない設定とすることもできるし、１ビットのエラー訂正をするものと設定することもできる。ここからは、エラー訂正を行わない設定における抽出装置の処理動作を、図２０のフローチャートに従って説明する。まず、本装置では、位相判定テーブルＳ（ｐ）、位相決定ログ、位相確定フラグ、ビットカウンタを初期化する（Ｓ２００）。位相判定テーブルＳ（ｐ）は、位相を判定するためのテーブルであり、ｐは０〜５の整数値をとる。初期値はＳ（ｐ）＝０に設定されている。位相決定ログは、１つの基準フレームと５つの位相変更フレームの組ごとに、決定された位相すなわち位相番号ｐを記録していくものであり、初期状態では０が設定されている。位相確定フラグは、位相が確定しているかどうかを示すフラグであり、初期状態ではＯｆｆに設定されている。ビットカウンタについては初期値として０を設定する。
【０１３０】
このように、符号変換テーブルが作成され、初期値が設定されている状態で、利用者が流れている音楽について、その楽曲名等の属性情報を知りたいと思った場合、まず、抽出装置に対して、抽出装置としての起動の指示を行う。これは、例えば、抽出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。抽出装置は、指示が入力されると、音響信号入力手段１００が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン（または指向性マイクロフォンの一方のチャンネル）から入力される音声を、Ａ／Ｄ変換器によりデジタル化する処理を行うことになる。
【０１３１】
続いて、基準フレーム獲得手段１１０が、音響信号入力手段１００から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する（Ｓ２０１）。具体的には、Ａタイプ、Ｂタイプについての基準フレームを抽出して音響フレーム保持手段１７０に読み込むことになる。基準フレーム獲得手段１１０が基準フレームとして読み込む１音響フレームのサンプル数は、図９に示した音響フレーム読込手段１０で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段１１０は、Ａタイプ、Ｂタイプについてそれぞれ４０９６サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段１７０には、各チャンネルについて、Ａタイプ、Ｂタイプ２個ずつの基準フレーム、すなわち２．５Ｎサンプルが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段１７０には、常に基準フレーム４個分（連続する１０２４０サンプル）が格納されていることになる。
【０１３２】
抽出装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、Ａタイプの音響フレームとＢタイプの音響フレームが、２０４８サンプルずつ重複している場合、最初の基準フレームとしてサンプル番号１からサンプル番号４０９６までを設定したら、次の基準フレームは、サンプル番号２０４９からサンプル番号６１４４、さらに次の基準フレームは、サンプル番号４０９７からサンプル番号８１９２、さらに次の基準フレームは、サンプル番号６１４５からサンプル番号１０２４０、というように途切れることなく設定される。そして、各基準フレームについて、１／６フレーム（約６８３サンプル）ずつ移動した５個の位相変更フレームを設定する。例えば、最初の基準フレームについては、サンプル番号６８３、１３６６、２０４９、２７３２、３４１３から始まる４０９６のサンプルで構成される５個の位相変更フレームが設定されることになる。続いて、周波数変換手段１３０、符号判定パラメータ算出手段１４０が、読み込んだ各音響フレームについて、位相を特定した後、埋め込まれている情報を判定し、対応する符号を出力する（Ｓ２０２）。出力される情報の形式は、付加情報が埋め込まれる場合に対応する値１、値２の２通りの形式となる。
【０１３３】
ここで、ステップＳ２０２の位相確定および符号判定の詳細を図２１のフローチャートに従って説明する。まず、位相確定フラグがＯｎであるかＯｆｆであるかの確認を行う（Ｓ３０１）。位相確定フラグがＯｎである場合は、位相確定処理（Ｓ３０３〜Ｓ３０９）を行わず、符号判定処理のみを行う（Ｓ３０２）。ただし、初期状態では位相は確定しておらず、位相確定フラグがＯｆｆとなっているので、候補符号テーブルＢ（ｐ）の初期化を行う（Ｓ３０３）。候補符号テーブルＢ（ｐ）は、１つの基準フレームおよび５個の位相変更フレームを特定するｐ＝０〜５の位相番号および、この６個の音響フレームの状態から得られる２値の符号を記録するものである。
【０１３４】
続いて、符号判定パラメータ算出手段１４０は、符号判定処理を行う（Ｓ３０２）。ここで、符号判定処理の詳細を図２２に示す。まず、周波数変換手段１３０が、読み込んだ各音響フレームに対して、周波数変換を行って各窓スペクトルを得る（Ｓ４０１）。具体的には、上記〔数式１４〕〔数式１５〕に従った処理を実行し、変換データの実部Ａ（１，ｊ，ｐ）、虚部Ｂ（１，ｊ，ｐ）、実部Ａ（２，ｊ，ｐ）、虚部Ｂ（２，ｊ，ｐ）を得る。
【０１３５】
Ｓ４０１の処理については、実際には、Ａタイプ音響フレームについて周波数変換を行った後、Ｎ／２サンプルだけシフトしてＢタイプ音響フレームについて周波数変換を行う。これらの変換データＡ（２，ｊ，ｐ）、Ｂ（２，ｊ，ｐ）、Ａ（２，ｊ，ｐ）、Ｂ（２，ｊ，ｐ）に対して、上記〔数式１６〕に従った処理を実行し、振幅変換を行う（Ｓ４０２）。
【０１３６】
上記周波数変換手段１３０における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段１４０は、符号判定パラメータＣ、Ｃ´を上述のようにして算出した後、符号判定パラメータＣ、Ｃ´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、１ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う（Ｓ４０３）。具体的には、上記〔数式１７〕〜〔数式１９〕に従った処理を実行して、符号判定パラメータＣ、Ｃ´を算出する。そして、この両者を比較して、Ｃ＞Ｃ´であれば候補符号Ｂを候補符号テーブルＢ（ｐ）に設定し、Ｃ≦Ｃ´であれば候補符号Ｂ´を候補符号テーブルＢ（ｐ）に出力する。
【０１３７】
Ｓ４０３の具体的な処理手順としては、まず、上記〔数式１７〕の１番目の式と２番目の式を利用して基本強度値Ｅ（１，ｊ，ｐ）、Ｅ（２，ｊ，ｐ）を算出した後、上記〔数式１８〕の１番目から４番目までの式を利用してＥ１（ｐ）、Ｅ２（ｐ）、Ｅ３（ｐ）、Ｅ４（ｐ）を算出し、上記〔数式１９〕に従って候補符号Ｂおよび符号判定パラメータＣを算出する処理を行う。続いて、上記〔数式１７〕の３番目から６番目までの式を利用して、残響補正処理を行って基本強度値Ｅ´（１，ｊ，ｐ）、Ｅ´（２，ｊ，ｐ）を算出する。そして、上記〔数式１８〕の５番目から８番目までの式を利用してＥ１´（ｐ）、Ｅ２´（ｐ）、Ｅ３´（ｐ）、Ｅ４´（ｐ）を算出し、上記〔数式１９〕に従って候補符号Ｂ´および補正符号判定パラメータＣ´を算出する処理を行う。
【０１３８】
１音響フレームに２ビットが埋め込まれている場合は、Ｓ４０３において、符号判定パラメータ算出手段１４０は、符号判定パラメータＣ１、Ｃ２、Ｃ１´、Ｃ２´を上述のようにして算出した後、符号判定パラメータＣ１、Ｃ２、Ｃ１´、Ｃ２´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、２ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う。具体的には、上記〔数式１７〕〔数式１８〕〔数式２０〕〔数式２１〕に従った処理を実行して、符号判定パラメータＣ１、Ｃ２、Ｃ１´、Ｃ２´を算出する。そして、Ｃ１＋Ｃ２＞Ｃ１´＋Ｃ２´であれば候補符号Ｂ１、Ｂ２を候補符号テーブルＢ（ｐ）に設定し、Ｃ１＋Ｃ２≦Ｃ１´＋Ｃ２´であれば候補符号Ｂ１´、Ｂ２´を候補符号テーブルＢ（ｐ）に出力する。
【０１３９】
また、上記判定の結果、位相ｐにおける候補符号テーブルＢ（ｐ）に値１、値２のいずれかを出力した場合には、さらに、以下の〔数式２２〕に従って位相判定テーブルＳ（ｐ）の更新を行う（Ｓ４０４）。
【０１４０】
〔数式２２〕
Ｃ＞Ｃ´である場合、Ｓ（ｐ）←Ｓ（ｐ）＋Ｃ
Ｃ≦Ｃ´である場合、Ｓ（ｐ）←Ｓ（ｐ）＋Ｃ´
【０１４１】
１音響フレームに２ビットが埋め込まれている場合は、判定の結果、位相ｐにおける候補符号テーブルＢ（ｐ）に２ビットに対応する値を出力した場合には、Ｓ４０４において、以下の〔数式２３〕に従って位相判定テーブルＳ（ｐ）の更新を行う。
【０１４２】
〔数式２３〕
Ｃ１＋Ｃ２＞Ｃ１´＋Ｃ２´である場合、Ｓ（ｐ）←Ｓ（ｐ）＋Ｃ１＋Ｃ２
Ｃ１＋Ｃ２≦Ｃ１´＋Ｃ２´である場合、Ｓ（ｐ）←Ｓ（ｐ）＋Ｃ１´＋Ｃ２´
【０１４３】
ここで、図２１のフローチャートに戻って、符号判定パラメータ算出手段１４０は、候補符号テーブルＢ（ｐ）に、位相ｐにおいて符号判定処理（Ｓ３０２）で仮決定された符号を保存する（Ｓ３０４）。
【０１４４】
続いて、全ての位相番号ｐに対応する処理を終えたかどうかを判定する（Ｓ３０５）。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、ｐが０〜５までの値をとるので、６回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、Ｓ３０２に戻って処理を繰り返す。なお、ｐ＝０の場合が基準フレームであり、ｐ＝１〜５の場合が位相変更フレームである。全ての位相番号ｐに対応する処理を終えた場合は、位相判定テーブルＳ（ｐ）の値が最大となる位相番号ｐｍａｘに対応する位相が最適位相であると判定し、候補符号テーブルＢ（ｐ）に記録されている符号Ｂ（ｐｍａｘ）を出力する（Ｓ３０６）。
【０１４５】
続いて、位相決定ログの更新を行う（Ｓ３０７）。位相決定ログとは、１つの基準フレームと５つの位相変更フレームの組ごとに、決定された位相すなわち位相番号ｐを記録するものである。そして、位相決定ログを参照して、位相が過去所定回数同一であったかどうかを判断する（Ｓ３０８）。本実施形態では、この回数を１０回としている。位相が過去所定回数同一であった場合には、位相確定フラグをＯｎに設定する（Ｓ３０９）。これにより、同一位相が所定回数続いた場合には、最適位相はｐｍａｘとなる可能性が高いため、位相確定処理（Ｓ３０３〜Ｓ３０９）を行わず、位相番号ｐ＝ｐｍａｘに対してのみ符号判定処理（Ｓ３０２）を行うことになる。
【０１４６】
再び図２０のフローチャートに戻って説明する。位相確定および符号出力が行なわれたら、出力された符号の値に対応する１ビットをバッファに保存する（Ｓ２０３）。次に、ビットカウンタを“１”だけカウントアップする（Ｓ２０４）。
【０１４７】
次に、ビットカウンタが１１以下であるか１２以上であるかを判断する（Ｓ２０５）。ビットカウンタが１１以下の場合は、Ｓ２０１に戻って、次のＡタイプ、Ｂタイプの基準フレームを抽出する処理を行う。
【０１４８】
ビットカウンタが１２以上である場合は、バッファに保存された１２ビットのビット配列のデコードを行う（Ｓ２０６）。このデコード処理の詳細を、図２３のフローチャートに従って説明する。
【０１４９】
付加情報抽出手段１６０は、まず、初期化処理を行う（Ｓ７０１）。具体的には、７ビット符号ＫＦおよび最小ハミング距離ＨＤを定義するとともに、ＫＦ＝０およびＨＤ＝２として初期化する処理を行う。続いて、ｉ＝０に初期設定する（Ｓ７０２）。次に、バッファに保存された１２ビットのビット配列を１２ビット符号ＨＦとし、符号変換テーブルのｉ番目に対応する１２ビット符号とのハミング距離ｈｄを算出し、ｈｄ＜ＨＤの場合、ＫＦ＝ｉ、ＨＤ＝ｈｄに更新する（Ｓ７０３）。そして、ｉの値を１加算して（Ｓ７０４）、ｉの値が１２８未満である場合には、Ｓ７０３の処理を繰り返し行う。付加情報抽出手段１６０は、図１３に示した符号変換テーブルに記録された１２８個のハミング符号全てについて、ハミング距離ｈｄを算出し、最小ハミング距離ＨＤ、およびハミング距離が最小となる場合の７ビット基準符号ＫＦを得る。
【０１５０】
最小ハミング距離ＨＤが得られたら、図２０に戻って、得られた最小ハミング距離ＨＤが０か、１以上かを判断する（Ｓ２０７）。Ｓ２０７において最小ハミング距離が１以上と判断された場合は、Ｓ２０１に戻って、次の基準フレームを抽出する処理を行う。
【０１５１】
Ｓ２０７において最小ハミング距離が０と判断された場合は、付加情報抽出手段１６０が、図２３の処理により得られた７ビット基準符号ＫＦに１ビット付加して出力する（Ｓ２０８）。Ｓ２０７において最小ハミング距離が０であった場合は、バッファ中の先頭の１ビット目が、付加情報内のワードの１ビット目であった可能性が高いことになる。このため、その先頭からの７ビットにビット“０”を付加することによりＡＳＣＩＩコードにおける１ワードとして出力するのである。ハミング距離が１以上の場合は、照合に用いた１２ビットが、付加情報内のワードとずれている可能性が高いことになる。この場合は、先頭の１ビットを破棄して、Ｓ２０１からＳ２０４の処理により新たな１ビットを得るための処理を行う。
【０１５２】
最小ハミング距離が０と判断された場合は、その部分がワードの区切りである可能性が高いので、それが本当に区切りであれば、以降は１２ビットずつ抽出すれば、全て正確にワード単位で抽出を行うことができる。逆に、最小ハミング距離が０と判断されたとしても、それが偶然であり、実はワードの区切りではない場合も考えられる。このような場合は、次の検査の際に不適合となる可能性が高く、何回か繰り返しているうちに正しい区切りが正確に判断できることになる。Ｓ２０８において、７ビット基準符号ＫＦに１ビット付加して出力した場合には、ビットカウンタを０に初期化する（Ｓ２０９）。そして、Ｓ２０１に戻って、次の基準フレームを抽出する処理を行う。
【０１５３】
図２０に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。Ｓ２０１において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
【０１５４】
上記Ｓ２０８の処理において、付加情報抽出手段１６０は、まず、符号出力手段１５０により出力された値を、所定の規則により変換して意味のある付加情報として抽出する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態にすることができるものであれば、さまざまな規則が採用できるが、本実施形態では、ＡＳＣＩＩコードを採用している。すなわち、付加情報抽出手段１６０は、符号判定パラメータ算出手段１４０が判定し、符号出力手段１５０から出力される符号から得られるビット値の配列を１バイト（８ビット）単位で認識し、これをＡＳＣＩＩコードに従って文字情報を認識する。このようにして得られた文字情報は、表示装置（図示省略）の画面に表示出力される。
【０１５５】
従って、埋め込み装置により音響信号に、その楽曲の曲名やアーチスト等の属性情報を文字情報として埋め込んでおけば、利用者は、その音楽が流れているのを聞いて、その曲名やアーチストを知りたいと思ったときに、抽出装置として機能する自身の携帯端末に所定の操作を行えば、自身の携帯端末の画面に曲名やアーチスト等の属性情報が文字情報として表示されることになる。
【０１５６】
上記の例では、図２０のフローチャートに従ってエラー訂正を行わない設定における抽出装置の処理動作を説明した。エラー訂正を行わない場合は、エラーが生じない場合にのみ、付加情報１ワードの出力が可能となる。
【０１５７】
次に、１ビットのエラー訂正をする設定における抽出装置の処理動作を、図２４のフローチャートに従って説明する。図２４においては、図２０と同一処理を行う部分が含まれている。そこで、図２０と同一処理を行う部分については、同一符号を付して説明を省略する。図２４の例においても、まず、初期化処理を行う（Ｓ２００）。この初期化処理では、図２０の例と同様、位相判定テーブルＳ（ｐ）、位相決定ログ、位相確定フラグ、ビットカウンタを初期化するが、さらに、自動訂正モードをＯＦＦにする設定を行う。
【０１５８】
続いて、図２０と同様、所定数のサンプルで構成される音響フレームを基準フレームとして抽出した後（Ｓ２０１）、読み込んだ各音響フレームについて、位相を特定した後、埋め込まれている情報を判定し、対応する符号を出力する（Ｓ２０２）。なお、Ｓ２０２の処理については、図２１、図２２に示したようなものとなる。
【０１５９】
位相確定および符号出力が行なわれたら、出力された符号の値に対応する１ビットをバッファに保存して（Ｓ２０３）、ビットカウンタを“１”だけカウントアップする（Ｓ２０４）。そして、ビットカウンタが１１以下であるか１２以上であるかを判断し（Ｓ２０５）、ビットカウンタが１１以下の場合は、Ｓ２０１に戻って、次の基準フレームを抽出する処理を行う。
【０１６０】
ビットカウンタが１２以上である場合は、バッファに保存された１２ビットのビット配列のデコードを行う（Ｓ２０６）。続いて、得られたハミング距離が０か１以上かを判断する（Ｓ２０７）。Ｓ２０７においてハミング距離が０と判断された場合は、Ｓ２０８におけるビット列の出力処理の直前に、自動訂正モードをＯＮに設定する処理を行う（Ｓ２１０）。
【０１６１】
Ｓ２０７においてハミング距離が１以上と判断された場合は、さらにハミング距離が１か２以上かを判断する（Ｓ２１１）。判断の結果、ハミング距離が２以上と判断された場合には、自動設定モードをＯＦＦに設定する処理を行った後（Ｓ２１２）、Ｓ２０１に戻って、次の基準フレームを抽出する処理を行う。
【０１６２】
Ｓ２１１における判断の結果、ハミング距離が１と判断された場合には、自動訂正モードがＯＮであるかＯＦＦであるかの確認を行う（Ｓ２１３）。自動訂正モードがＯＦＦである場合は、Ｓ２０１に戻って、次の基準フレームを抽出する処理を行う。
【０１６３】
自動訂正モードがＯＮである場合は、付加情報抽出手段１６０が、図２３の処理により得られた７ビット基準符号ＫＦに１ビット付加して出力する（Ｓ２０８）。そして、ビットカウンタを０に初期化する（Ｓ２０９）。
【０１６４】
図２４の例のように、１ビットのエラー訂正をする設定の場合は、１ビットのエラーが生じた場合であっても、付加情報１ワードの出力が可能となる。
【０１６５】
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り（本実施形態では６通り）で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、６通りで読み込む場合、先頭の音響フレームは、本来サンプル番号１〜４０９６のサンプルであるが、サンプル番号１、６８３、１３６６、２０４９、２７３２、３４１３から始まる４０９６のサンプルで構成される６個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。なお、図２１のフローチャートを用いて説明したように、本実施形態では、同一位相が所定回数連続した場合には、それ以降はその位相を確定したものとして処理を行う。
【０１６６】
（８．ビット配列のビット数Ｎｈ、ハミング距離を変更した場合）
上記実施形態では、ビット配列作成の際、作成されるビット配列は、１２ビット（Ｎｈビット）でハミング距離が４となるようにしたが、ビット配列のビット数Ｎｈ、およびハミング距離は、適宜変更することが可能である。一般に、ビット配列のビット数Ｎｈを大きくすれば、符号化効率は悪くなるが、訂正可能な誤りビット数は増えることになる。したがって、マイクロフォンの感度や演算処理能力が比較的高い抽出装置を用いる場合には、ビット数、ハミング距離が小さいビット配列を作成するようにし、マイクロフォンの感度や演算処理能力が比較的低い抽出装置を用いる場合には、ビット数、ハミング距離が大きいビット配列を作成するようにする。
【０１６７】
ここでは、ビット配列のビット数Ｎｈを１６、ハミング距離を６とした場合の例について説明する。ビット配列のビット数を１６、ハミング距離を６とした場合も、変換テーブル作成手段８０による符号変換テーブル作成は、基本的には、図１２に示したフローチャートに従って行われる。ただし、ＨＦが１６ビット符号である点、Ｓ６０３において１６ビット符号ＨＦと符号変換テーブルに既に登録されている他の１６ビット符号とのハミング距離を算出した後、Ｓ６０４、Ｓ６０５のいずれに進むかの閾値が、ハミング距離が６未満か、６以上かで決まる点が、ビット数Ｎｈ＝１２、ハミング距離４の場合と異なっている。
【０１６８】
このようにして作成された符号変換テーブルを図２５に示す。図２５に示すように、符号変換テーブルには、７ビット符号が取り得る各値０〜１２７について、１６ビット符号が対応付けて登録されている。１６ビット符号の２進表記を見るとわかるように、全ての１６ビット符号は互いにハミング距離が６以上となっている。なお、図２５の例では、説明の便宜上、７ビット符号の１０進表記と、１６ビット符号の１０進表記及び２進表記を示しているが、現実には、７ビット符号のビット列と１６ビット符号のビット列が対応付けて登録されている。
【０１６９】
符号変換テーブル作成処理後は、図１４のフローチャートに従って埋め込み処理が行われる。この際、１ワードとして、１６ビット分の処理が行われることになる。
【０１７０】
抽出時には、変換テーブル作成手段１８０が、最初に、符号変換テーブルを作成する。符号変換テーブルが作成された後は、図２０〜図２４に従った処理により、付加情報が抽出されることになる。１６ビット符号を扱う場合、図２０、図２４におけるＳ２０５においては、ビットカウンタが１５以下か１６以上かで判断を行うことになる。また、図２３のＳ７０１においては、最小ハミング距離ＨＤ＝３として初期化し、Ｓ７０３においては、ＨＦが１６ビット符号として定義される。また、図２４のＳ２１２に進むのは、最小ハミング距離が３以上の場合となる。
【０１７１】
（９．信号成分が小さい場合にさらに確実に情報の埋め込みを行う手法）
ここまでの説明のように、本実施形態では、元の信号成分に無音に近い部分があっても、情報の埋め込みを可能とするものである。このままでも、もちろん十分であるが、より確実に情報を埋め込むような処理を付加することも可能である。具体的には、周波数変換を行う前に、音響信号に聴取困難な微弱な白色ノイズを重畳させる。
【０１７２】
この場合、図９に示した音響フレーム読込手段１０は、所定数のサンプルを１音響フレームとして読み込んだ後、所定の振幅範囲で所定サンプル数単位で同一値を加算または減算する機能を有している。本実施形態では、左チャンネル信号Ｘｌ（ｉ）、右チャンネル信号Ｘｒ（ｉ）（ｉ＝０，…，Ｎ−１）に対して、−３２〜＋３２の振幅範囲（Ｘｌ（ｉ）、Ｘｒ（ｉ）のとり得る値が−３２７６８〜＋３２７６７の場合）で一様乱数Ｈを発生させ、Ｋ（本実施形態ではＫ＝５）個のサンプル間は同一値Ｈを用いて以下の〔数式２４〕に示すような処理を実行し、Ｘｌ（ｉ）、Ｘｒ（ｉ）の値を更新する。
【０１７３】
〔数式２４〕
Ｘｌ（ｉ）←Ｘｌ（ｉ）＋Ｈ
Ｘｒ（ｉ）←Ｘｒ（ｉ）−Ｈ
【０１７４】
すなわち、上記〔数式２４〕に従った処理をＮサンプルに渡って実行することにより、１つの音響フレームに白色ノイズが発生されることになる。この白色ノイズの発生処理は、図１４のフローチャートにおいては、Ｓ１０３、Ｓ１０４の音響フレーム抽出処理の直後に行われることになる。
【０１７５】
上記のように、白色ノイズを発生させた場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図１９と同一であり、処理動作は図２０〜図２４のフローチャートに従ったものと同一である。
【０１７６】
（１０．抽出時に符号逆変換テーブルを作成する場合）
上記実施形態では、抽出装置は、バッファにＮｈ（１２又は１６）ビットが保存された状態で、図２３に示した処理を実行することにより、対応する７ビットの基準符号ＫＦを得るようにしたが、この場合、１ワード単位で図２３に示した処理を実行することになるため、処理負荷が大きくなる。このような処理負荷を小さくするためには、得られたＮｈビットを、Ｎｗビットに変換するための符号逆変換テーブルを作成しておくことが望ましい。ここでは、このような符号逆変換テーブルを利用する場合について説明する。
【０１７７】
この場合、抽出装置の変換テーブル作成手段１８０は、変換テーブル作成手段８０の機能に加え、符号逆変換テーブルを作成する機能を備えるとともに、付加情報抽出手段１６０が、図２３に従った処理を行う機能に代えて、符号逆変換テーブルを参照する機能を備える。具体的には、付加情報抽出手段１６０は、図２０、図２４のＳ２０６において、図２３に従った処理を実行する代わりに、符号逆変換テーブルを参照することになる。
【０１７８】
この場合、変換テーブル作成手段１８０は、Ｎｈ（＞Ｎｗ）ビットの全ハミング符号に対して、変換対象となるハミング符号までのハミング距離を記録するとともに、このハミング距離が所定以下のハミング符号に対しては、対応するＮｗビットの登録順位が対応付けられた符号逆変換テーブルを作成する機能を有する。
【０１７９】
抽出装置を起動すると、まず、変換テーブル作成手段１８０が、符号逆変換テーブルを作成する。変換テーブル作成手段１８０による符号逆変換テーブルの作成は、最初に、変換テーブル作成手段８０と同様の処理を行って符号変換テーブルを作成した後、この符号変換テーブルを利用して行う。
【０１８０】
符号逆変換テーブルは、Ｎｈビットの全ハミング符号に対して、各々符号変換テーブルに登録されているハミング符号までの最小のハミング距離を記録するとともに、このハミング距離が所定以下のハミング符号に対しては、逆変換先となるＮｗビットの登録順位（当該ハミング距離をもつハミング符号が符号変換テーブルに登録されている登録順位）が対応付けられたものであるので、Ｎｈ＝１２の場合、ＨＦ＝０〜４０９５までの各ハミング符号について作成されることになる。ＨＦの値を特定した場合の処理は、図２３に示したものと同じである。Ｓ７０４において、ｉの値が１２８以上となった場合、ハミング距離ＨＤが０または１であった場合には、ハミング符号ＨＦと対応付けて、７ビット符号ＫＦおよび最小ハミング距離ＨＤを符号逆変換テーブルに登録する。
【０１８１】
図２３に示した処理を、ＨＦ＝０〜４０９５の全てについて実行することにより、図２６に示すような符号逆変換テーブルが作成される。図２６に示すように、符号逆変換テーブルには、１２ビット符号ＨＦが取り得る各値０〜４０９５について、ハミング距離が対応付けて登録されているとともに、ハミング距離が１以下となったものについては、対応する７ビット符号ＫＦが登録されている。なお、図２６の例では、説明の便宜上、７ビット符号の１０進表記と、１２ビット符号の１０進表記及び２進表記を示しているが、現実には、７ビット符号のビット列と１２ビット符号のビット列が対応付けて登録されている。
【０１８２】
また、Ｎｈ＝１６の場合、図２３に示した処理を、ＨＦ＝０〜６５５３５の全てについて実行することにより、図２７に示すような符号逆変換テーブルが作成される。
【０１８３】
そして、図２０のＳ２０６の処理を行う際には、Ｎｈ＝１２の場合は、得られた１２ビットで図２６を参照し、対応する７ビット符号ＫＦと、ハミング距離を得ることになり、Ｎｈ＝１６の場合は、得られた１６ビットで図２７を参照し、対応する７ビット符号ＫＦと、ハミング距離を得ることになる。
【０１８４】
（１１．周波数範囲の変形例）
上記実施形態では抽出精度を向上させるため、電話帯域全体に埋め込み領域を拡大する方法を採用したが、再生品質を向上させるため、下位の変更対象周波数帯の幅を上記実施形態より狭くすることも可能である。具体的には、変更対象周波数帯の下限Ｆ１を０．８５ｋＨｚとする。この場合、上位周波数帯は１．７ｋＨｚ〜３．４ｋＨｚ、下位周波数帯は０．８５ｋＨｚ〜１．７ｋＨｚとなる。ただし、実験の結果、前記電話帯域全体に埋め込み領域を設定した方法と比較し、品質上の顕著な差は無く、むしろ抽出精度の低下のデメリットの方が大きく、結果的に優位性は見られなかった。また出願人は、電話帯域全体に埋め込み領域を設定する際、上記実施形態で示した方法ではなく、下位周波数帯を０．８５ｋＨｚ〜１．７ｋＨｚに狭くし、その下に、さらに独立した周波数帯０．３４ｋＨｚ〜０．８５ｋＨｚを三重に設置する手法についても実験したが、比較の結果、下位周波数帯を０．３４ｋＨｚ〜１．７ｋＨｚの１本にまとめる方が雑音の抑圧効果が高く、感度も２倍程度に拡大されることがわかった。低音部は信号エネルギー成分が大きいため、わずかな拡大により感度が顕著に改善されたのだと思われる。結局、周波数方向に４つの周波数領域に分け、上位周波数帯と下位周波数帯の幅を近づけ、二重の音脈分凝を形成する手法が、人間の聴覚に対して、最もノイズを抑制できることがわかった。
【０１８５】
（１２．その他）
以上、本発明の好適な実施形態について限定したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、１音響フレームのサンプル数Ｎ＝４０９６としたが、Ｎ＝２０４８、１０２４、５１２等を設定するようにしても良い。これにより、同一時間あたりの音響フレーム数が、２倍、４倍、８倍となり、全体として２〜８倍の情報の埋め込みが可能となる。
【０１８６】
また、上記実施形態では、音響信号からの情報の抽出装置を、携帯電話機等の携帯型端末装置単体で実現した場合を例にとって説明したが、他のコンピュータと連携して実現するようにしても良い。具体的には、携帯型端末装置と専用コンピュータを無線通信可能に接続し、音響信号入力手段１００〜音響フレーム保持手段１７０の構成要素のうち、演算負荷の大きいものは、専用コンピュータで処理する。例えば、音響信号入力手段１００、基準フレーム獲得手段１１０、位相変更フレーム設定手段１２０、付加情報抽出手段１６０、変換テーブル作成手段１８０を携帯型端末装置に備え、周波数変換手段１３０、符号判定パラメータ算出手段１４０、符号出力手段１５０、音響フレーム保持手段１７０を専用コンピュータに備えるようにして、必要な情報を両者間で通信するようにする。これにより、携帯型端末装置の処理性能が低い場合であっても高速な処理を行うことが可能となる。
【０１８７】
また、上記実施形態では、２チャンネルのステレオ音響信号を利用した場合を例にとって説明したが、１チャンネルのモノラル音響信号を利用しても良い。この場合は、上記ＬチャンネルまたはＲチャンネルのいずれか一方に対して行った処理を実行すれば良い。
【０１８８】
また、周波数成分変更手段３０による所定周波数成分の変更を、図１１および〔数式１１〕に従って実行するようにしたが、埋め込むべきビット値に応じた周波数成分の変更は、様々なものを用いることができ、例えば特許文献１に示したような手法を用いることも可能である。この場合、抽出側においても、当然その埋め込み手法に応じた手法で抽出が行われる。
【図面の簡単な説明】
【０１８９】
【図１】従来の埋め込み装置の利用環境と本発明のリアルタイム埋め込み装置の利用環境を比較した図である。
【図２】本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境をさらに詳細に示した図である。
【図３】本発明第１の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。
【図４】第１の実施形態において実行制御手段が行う処理を中心としたフローチャートである。
【図５】本発明第２の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。
【図６】第２の実施形態において実行制御手段が行う処理を中心としたフローチャートである。
【図７】録音処理手段２１０の処理概要を示すフローチャートである。
【図８】再生処理手段２５０の処理概要を示すフローチャートである。
【図９】付加情報埋め込み手段２３０の詳細を示す図である。
【図１０】本実施形態で用いる時間方向窓関数を示す図である。
【図１１】変更対象周波数帯の成分の変化の状態を示す図である。
【図１２】符号変換テーブル作成の処理概要を示すフローチャートである。
【図１３】７ビット符号と１２ビット符号の符号変換テーブルの一例を示す図である。
【図１４】図９に示した付加情報埋め込み手段２３０の処理概要を示すフローチャートである。
【図１５】振幅変換を用いない埋め込み処理を説明するための図である。
【図１６】振幅変換を用いない抽出処理を説明するための図である。
【図１７】振幅変換を用いた埋め込み処理を説明するための図である。
【図１８】振幅変換を用いた抽出処理を説明するための図である。
【図１９】音響信号からの情報の抽出装置の機能ブロック図である。
【図２０】図１９に示した装置の、エラー訂正を行わない設定における処理概要を示すフローチャートである。
【図２１】図２０のＳ２０２の位相確定および符号出力の詳細を示すフローチャートである。
【図２２】図２１のＳ３０２の符号判定処理の詳細を示すフローチャートである。
【図２３】１２ビット符号ＨＦが特定された場合の、対応する７ビット符号ＫＦ、最小ハミング距離ＨＤを得るための処理を示すフローチャートである。
【図２４】図１９に示した装置の、１ビットのエラー訂正をする設定における処理概要を示すフローチャートである。
【図２５】７ビット符号と１６ビット符号の符号変換テーブルの一例を示す図である。
【図２６】７ビット符号と１２ビット符号の符号逆変換テーブルの一例を示す図である。
【図２７】７ビット符号と１６ビット符号の符号逆変換テーブルの一例を示す図である。
【符号の説明】
【０１９０】
１０・・・音響フレーム読込手段
２０・・・周波数変換手段
３０・・・周波数成分変更手段
４０・・・周波数逆変換手段
５０・・・改変音響フレーム出力手段
６２・・・付加情報記憶部
７０・・・ビット配列作成手段
８０・・・変換テーブル作成手段
１００・・・音響信号入力手段
１１０・・・基準フレーム獲得手段
１２０・・・位相変更フレーム設定手段
１３０・・・周波数変換手段
１４０・・・符号判定パラメータ算出手段
１５０・・・符号出力手段
１６０・・・付加情報抽出手段
１７０・・・音響フレーム保持手段
１８０・・・変換テーブル作成手段
２１０・・・録音処理手段
２２０・・・録音ブロック蓄積手段
２３０・・・付加情報埋め込み手段
２４０・・・再生ブロック蓄積手段
２５０・・・再生処理手段
２６０・・・ブロック一時蓄積手段
【図１】
0005104202.tif 000002
【図２】
0005104202.tif 000003
【図３】
0005104202.tif 000004
【図４】
0005104202.tif 000005
【図５】
0005104202.tif 000006
【図６】
0005104202.tif 000007
【図７】
0005104202.tif 000008
【図８】
0005104202.tif 000009
【図９】
0005104202.tif 000010
【図１０】
0005104202.tif 000011
【図１１】
0005104202.tif 000012
【図１２】
0005104202.tif 000013
【図１３】
0005104202.tif 000014
【図１４】
0005104202.tif 000015
【図１５】
0005104202.tif 000016
【図１６】
0005104202.tif 000017
【図１７】
0005104202.tif 000018
【図１８】
0005104202.tif 000019
【図１９】
0005104202.tif 000020
【図２０】
0005104202.tif 000021
【図２１】
0005104202.tif 000022
【図２２】
0005104202.tif 000023
【図２３】
0005104202.tif 000024
【図２４】
0005104202.tif 000025
【図２５】
0005104202.tif 000026
【図２６】
0005104202.tif 000027
【図２７】
0005104202.tif 000028