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