音響信号に対する情報のリアルタイム埋め込み装置
【課題】 付加情報をリアルタイムで音響信号に埋め込みながら、付加情報を埋め込んだ音響信号を再生することが可能な音響信号に対する情報のリアルタイム埋め込み装置を提供する。
【解決手段】 オーディオ・ライン入力より音響信号が入力されると、録音処理手段210は、音響信号をデジタル化した後、所定数のサンプルで構成される録音ブロックを作成して、録音ブロック蓄積手段220に書き込む。付加情報埋め込み手段230は、録音ブロック蓄積手段220に録音ブロックが書き込まれると、これを読み込んで付加情報の埋め込み処理を行って再生ブロックを作成し、これを再生ブロック蓄積手段240に書き込む。再生ブロック蓄積手段240に再生ブロックが書き込まれると、再生処理手段250は、これを読み込んだ後、アナログに変換し、音声として、オーディオ・ライン出力に出力する。
【解決手段】 オーディオ・ライン入力より音響信号が入力されると、録音処理手段210は、音響信号をデジタル化した後、所定数のサンプルで構成される録音ブロックを作成して、録音ブロック蓄積手段220に書き込む。付加情報埋め込み手段230は、録音ブロック蓄積手段220に録音ブロックが書き込まれると、これを読み込んで付加情報の埋め込み処理を行って再生ブロックを作成し、これを再生ブロック蓄積手段240に書き込む。再生ブロック蓄積手段240に再生ブロックが書き込まれると、再生処理手段250は、これを読み込んだ後、アナログに変換し、音声として、オーディオ・ライン出力に出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CD・DVD等を用いた民生・業務用途における鑑賞用のパッケージ音楽分野、放送事業者等が商業目的で配信する放送・ネットワーク音楽配信分野における音楽著作権の保護(不正コピーの監視)および音楽属性情報の提供(楽曲タイトル検索サービス)分野、ミュージアム、イベント会場における展示説明ナレーションに連動した文字情報の提供サービス分野、放送番組やCD/DVDパッケージの音声信号からURLなどの情報を抽出し、携帯電話を用いて所定のコンテンツに関連するwebサイトにアクセスして詳細情報を抽出したり、アンケートに回答したりする非接触なインターネットのゲートウェイサービス分野に関する。
【背景技術】
【0002】
従来、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスとして、放送された音楽に対して日時と地域を放送局に照会したり、携帯電話で流れている音楽断片を録音してデータベースに登録されているメロディーと照合したりするサービスが行われている。本出願人は、これをさらに発展させ、音響信号の周波数成分の比率を属性情報のビット値に応じて変更することにより、属性情報(付加情報)を埋め込む手法を提案している(特許文献1参照)。一方、本出願人は、付加情報が埋め込まれた音響信号を再生しながら、リアルタイムに付加情報を抽出する手法も提案している(特許文献2、3参照)。
【特許文献1】特開2006−323246号公報
【特許文献2】特開2006−195061号公報
【特許文献3】特開2006−235359号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記特許文献1に記載の発明は、音響信号を記録した音響データファイルが存在する場合には、付加情報を埋め込むことはできるが、音響データファイルが存在しない場合には、付加情報を埋め込むことができない。そのため、生放送番組、ライブ演奏、講演会、街頭放送などにおいては、付加情報を埋め込んだ音声を発することができないという問題がある。また、音響データファイルが存在する場合であっても、音声を発している途中で付加情報を変更したいという要望に応えることができないという問題がある。
【0004】
そこで、本発明は、付加情報をリアルタイムで音響信号に埋め込みながら、付加情報を埋め込んだ音響信号を再生することが可能な音響信号に対する情報のリアルタイム埋め込み装置を提供することを課題とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明第1の態様では、音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、所定数の音響ブロックを蓄積できる録音ブロック蓄積手段と再生ブロック蓄積手段と、前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを作成し、当該音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記再生ブロック蓄積手段に書き込む付加情報埋め込み手段と、前記再生ブロック蓄積手段に蓄積されている再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段を有する音響信号に対する情報のリアルタイム埋め込み装置を提供する。
【0006】
本発明第1の態様によれば、デジタル化した音響信号のうち所定数のサンプルで構成される音響ブロックを蓄積できる録音ブロック蓄積手段と再生ブロック蓄積手段を用意し、録音ブロック蓄積手段から読み込んだ抽出した録音ブロックに対して付加情報の埋め込みを行って再生ブロックとして再生ブロック蓄積手段に書き込む一方、入力された音響信号から音響ブロックを作成して録音ブロック蓄積手段に蓄積し、再生ブロック蓄積手段から音響ブロックを抽出して音響信号として再生し、これらの処理タイミングが不連続にならないよう制御するようにしたので、付加情報をリアルタイムで音響信号に埋め込むことが可能となる。
【0007】
また、本発明第2の態様では、音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、所定数の音響ブロックを蓄積できる録音ブロック蓄積手段、ブロック一時蓄積手段、再生ブロック蓄積手段と、前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを読み込み、前記音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記ブロック一時蓄積手段に書き込む付加情報埋め込み手段と、前記ブロック一時蓄積手段に蓄積されている単一の再生ブロックを読み込み、当該再生ブロックを前記再生ブロック蓄積手段に書き込む再生準備手段と、前記再生ブロック蓄積手段に蓄積されている単一の再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、前記再生処理手段が前記再生ブロック蓄積手段から再生ブロックを抽出するごとに、所定の処理を前記再生準備手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段を有する音響信号に対する情報のリアルタイム埋め込み装置を提供する。
【0008】
本発明第2の態様によれば、本発明第1の態様に加えて、音響ブロックを蓄積できるブロック一時蓄積手段をさらに用意し、付加情報の埋め込みを行った後、ブロック一時蓄積手段に再生ブロックを一旦書き込み、所定のタイミングでさらに再生ブロック蓄積手段に書き込むよう制御するようにしたので、第1の態様に比べ、さらにタイミングの調整が行い易くなる。
【発明の効果】
【0009】
本発明によれば、付加情報をリアルタイムで音響信号に埋め込みながら、付加情報を埋め込んだ音響信号を再生することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.利用環境)
まず、本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境について説明する。図1は、従来の埋め込み装置の利用環境と本発明のリアルタイム埋め込み装置の利用環境を比較した図である。従来は、図1(a)に示すように、音響ファイルに対して、埋め込み装置により付加情報の埋め込みを行って埋込済音響ファイルを得て、この埋込済音響ファイルを通常の再生装置で再生し、スピーカから音声を発する。この発した音声を録音し、抽出装置で処理することにより付加情報が抽出される。本発明では、図1(b)に示すように、音響ファイルを通常の再生装置で再生するか、マイクロフォン等で取得した音声をリアルタイム埋め込み装置で音響信号に変換しながら、変換された音響信号に付加情報を埋め込み、付加情報が埋め込まれた音響信号を再生し、スピーカから音声を発する。この発した音声を録音し、抽出装置で処理することにより付加情報が抽出されるのは従来と同じである。
【0011】
図2は、本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境をさらに詳細に示した図である。本発明では、図2に示すように、音響ファイルを通常の再生装置で再生した音声、マイクロフォン等で取得した音声をミキサーでミキシングする。そして、ミキシングされた音響信号を信号分岐器に送る。信号分岐器は、ミキシングされた音響信号のうち、埋め込み対象となるチャンネルやトラックと、その他のチャンネルやトラックに分離し、リアルタイム埋め込み装置は埋め込み対象となるチャンネルやトラックに情報を埋め込み、信号遅延器は、埋め込み信号とタイミングを合わせるために、埋め込み対象でないチャンネルやトラックを遅延させる。そして、スイッチャーは、情報が埋め込まれたリアルタイム埋め込み装置の出力信号または埋め込み対象でない信号遅延器の出力信号のいずれかをオペレータの指示に基づいて選択してアンプに送信し、スピーカは音声を発する。付加情報を埋め込まない場合は、信号分岐器が、ミキシングされた音響信号を信号遅延器に送り、スイッチャーを経由してアンプ・スピーカに送る。
【0012】
(2.第1の実施形態)
図3は、本発明第1の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。図3において、210は録音処理手段、220は録音ブロック蓄積手段、230は付加情報埋め込み手段、240は再生ブロック蓄積手段、250は再生処理手段である。なお、図3に示す装置は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
【0013】
録音処理手段210は、録音サウンドデバイスを有しており、この録音サウンドデバイスを駆動させてアナログ信号をデジタルデータにA/D変換した後、所定数のサンプルを1つの音響ブロックとして出力する機能を有している。1音響ブロックを構成するサンプルの数は、本実施形態では、各チャンネル16384個としており、これは、録音・再生処理ともに64kbytes(44.1kHz、16bits、2chステレオの場合、0.37sec)とした場合に対応している。また、1音響ブロックは、後述する音響フレーム複数個分に相当し、1音響フレームが2048サンプルの場合、音響フレーム8個分、1音響フレームが4096サンプルの場合、音響フレーム4個分である。録音ブロック蓄積手段220は、音響ブロックを蓄積するバッファメモリを複数有しており、これらのバッファメモリに蓄積された音響ブロックを、FIFO(ファーストイン・ファーストアウト)方式、すなわち、先に入ってきた情報が、先に出ていく方式で処理する機能を有している。すなわち、録音ブロック蓄積手段220は、録音処理手段210から投入された音響ブロックを投入された順序で蓄積し、その順序で付加情報埋め込み手段230に渡す機能を有することとなる。音響ブロックのうち、付加情報が埋め込まれる前のものを特に録音ブロックと呼ぶことにする。
【0014】
付加情報埋め込み手段230は、音響ブロック内の各音響フレーム単位で処理を行って、付加情報を埋め込む機能を有している。付加情報埋め込み手段230における処理の詳細については、後述する。再生ブロック蓄積手段240は、録音ブロック蓄積手段220と同様、音響ブロックを蓄積するバッファメモリを複数有しており、これらのバッファメモリに蓄積された音響ブロックを、FIFO方式で処理する機能を有している。すなわち、再生ブロック蓄積手段240は、付加情報埋め込み手段230から投入された音響ブロックを投入された順序で蓄積し、その順序で再生処理手段250に渡す機能を有することとなる。再生処理手段250は、再生サウンドデバイスを有しているとともに、この再生サウンドデバイスを駆動させて音響ブロックを音響再生する機能を有しており、再生サウンドデバイスは、デジタルデータである音響ブロックをD/A変換して音声として再生する機能を有している。また、図示していないが、本発明の音響信号に対する情報のリアルタイム埋め込み装置は、各手段の実行タイミングを制御する実行制御手段を有している。音響ブロックのうち、付加情報が埋め込まれた後のものを特に再生ブロックと呼ぶことにする。
【0015】
図3に示した装置は、現実には、録音用、再生用のサウンドデバイスを搭載したコンピュータに専用のプログラムを組み込むことにより実現される。録音ブロック蓄積手段220、再生ブロック蓄積手段240は、それぞれメモリに音響ブロック4個分の領域が確保されることにより実現される。録音処理手段210、再生処理手段250は、それぞれ録音サウンドデバイス、再生サウンドデバイスを駆動させるデバイスドライバを含むプログラムにより実現される。図示しない実行制御手段は、上記各手段の制御をパイプライン処理で並列実行させるよう、コンピュータのCPUが、OSおよび専用のプログラムを協働させることにより実現される。本発明のリアルタイム埋め込み装置を実現するためのコンピュータは、オーディオインターフェースとして入力、出力の2系統を必要とし、また、CPU能力の高いものが望ましい。
【0016】
次に、図3に示した装置の処理動作について、図4のフローチャートを用いて説明する。図4は、実行制御手段が行う処理を中心としたフローチャートである。まず、オーディオ・ライン入力から音声が入力されている状態において、実行制御手段が、録音処理手段210を起動する(S501)。録音処理手段210は、録音サウンドデバイスで、入力されたアナログ信号をA/D変換した後、所定数単位のサンプルを1音響ブロックとして、録音ブロック蓄積手段220に書き込む処理を行う。録音処理手段210は、録音ブロックの録音ブロック蓄積手段220への書き込みが1つ終わると、録音終了信号を実行制御手段に送信する。実行制御手段は、録音処理手段210を起動した後、録音処理手段210からの信号を待つ状態となる(S502)。この状態で、録音処理手段210から録音終了信号を受信すると、実行制御手段は、付加情報埋め込み手段230に録音ブロック蓄積手段220から録音ブロックを1つ読み込ませるとともに、付加情報埋め込み手段230に読み込まれた録音ブロックを録音ブロック蓄積手段220から消去させる(S503)。
【0017】
付加情報埋め込み手段230は、録音ブロック蓄積手段220から録音ブロックを読み込むと、その録音ブロックに対して付加情報を埋め込む処理を実行する(S504)。この付加情報埋込処理の詳細については後述する。1つの録音ブロックに対して埋め込み処理が終了すると、付加情報埋め込み手段230は、埋め込み終了信号を実行制御手段に送信する。すると、実行制御手段は、再生処理手段250が未起動であるかどうかを判断する(S505)。そして、未起動である場合は、再生処理手段250を起動する(S506)。再生処理手段250が起動したら、付加情報埋め込み手段230は、埋め込み処理済みの再生ブロックを再生ブロック蓄積手段240に書き込む処理を行う(S507)。再生処理手段250は、再生ブロック蓄積手段240に書き込まれた再生ブロックを逐次読み込み、再生サウンドデバイスで、D/A変換した後、アナログ信号として、オーディオ・ライン出力を行う。S502において、装置停止信号を受信した場合には、実行制御手段は、装置を停止する処理を行う。
【0018】
(3.第2の実施形態)
図5は、本発明第2の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。図5において、図3と同様の機能を有するものについては、同一符号を付している。図示していないが、第2の実施形態においても、音響信号に対する情報のリアルタイム埋め込み装置は、各手段の実行タイミングを制御する実行制御手段を有している。第2の実施形態では、主にブロック一時蓄積手段260を有している点、ブロック一時蓄積手段260から再生ブロック蓄積手段240に再生ブロックを渡す再生準備手段を有している点が第1の実施形態と異なっている。なお、再生準備手段は図示していない。
【0019】
ブロック一時蓄積手段260は、録音ブロック蓄積手段220、再生ブロック蓄積手段240と同様、音響ブロックを蓄積するバッファメモリを複数有しており、これらのバッファメモリに蓄積された音響ブロックを、FIFO方式で処理する機能を有している。すなわち、ブロック一時蓄積手段260は、付加情報埋め込み手段230から投入された音響ブロックを投入された順序で蓄積し、その順序で再生ブロック蓄積手段240に渡す機能を有することとなる。ブロック一時蓄積手段260は、メモリに音響ブロック4個分の領域が確保されることにより実現される。
【0020】
次に、図5に示した装置の処理動作について、図6のフローチャートを用いて説明する。図6において、図4と同様の処理については、同一符号を付している。第2の実施形態では、S504とS505の処理の間にS508の処理が入る点と、再生終了信号を受信した場合に、S509、S507の処理を行う点が第1の実施形態と異なっている。
【0021】
第2の実施形態では、実行制御手段が、録音処理手段210を起動した(S501)後、録音処理手段210および再生処理手段250からの信号を待つ状態となる(S502)。この状態で、実行制御手段が、録音処理手段210から録音終了信号を受信すると、S503、S504の処理が実行される。
【0022】
1つの録音ブロックに対して埋め込み処理が終了すると、付加情報埋め込み手段230は、ブロック一時蓄積手段260に再生ブロックを書き込む(S508)。すると、実行制御手段は、再生処理手段250が未起動であるかどうかを判断する(S505)。そして、未起動である場合は、再生処理手段250を起動する(S506)。再生処理手段250は、後述する通り、再生ブロック蓄積手段240に書き込まれた再生ブロックを逐次読み込み、再生サウンドデバイスで、D/A変換した後、アナログ信号として、オーディオ・ライン出力を行う。
【0023】
第2の実施形態では、S502における信号待ち状態で、再生処理手段250から再生終了信号を受信すると、再生準備手段は、ブロック一時蓄積手段260から再生ブロックを1つ読み込み、ブロック一時蓄積手段260内の1音響ブロック分のメモリ領域を開放する(S509)。そして、ブロック一時蓄積手段260から読み込んだ再生ブロックを再生ブロック蓄積手段240に書き込む(S507)。
【0024】
(4.録音処理手段による処理)
次に、録音処理手段210による処理を、図7のフローチャートを用いて説明する。実行制御手段からの指示により、録音処理手段210が起動すると(S801)、録音処理手段210は、録音ブロック蓄積手段220内に空き領域があるかどうかを探索する(S802)。録音ブロック蓄積手段220内に空き領域がある場合は、録音処理手段210は、録音処理を実行し、録音ブロックを作成する(S803)。録音ブロックを1個作成したら、録音処理手段210は、録音ブロック蓄積手段220に、作成された1個の録音ブロックを書き込む(S804)。録音ブロック蓄積手段220に、1個の録音ブロックを書き込んだら、録音処理手段210は、録音終了信号を実行制御手段に送信する(S805)。
【0025】
(5.再生処理手段による処理)
次に、再生処理手段250による処理を、図8のフローチャートを用いて説明する。実行制御手段からの指示により、再生処理手段250が起動すると(S901)、再生処理手段250は、再生ブロック蓄積手段240内に再生ブロックがあるかどうかを探索する(S902)。再生ブロック蓄積手段240内に再生ブロックがある場合は、再生処理手段250は、再生ブロック蓄積手段240から再生ブロックを読み込む(S903)。この際、再生処理手段250は、読み込んだ再生ブロックを再生ブロック蓄積手段240から消去し、メモリ領域を開放する。続いて、再生処理手段250は、読み込んだ再生ブロックについて、再生処理を実行する(S904)。1個の再生ブロックの再生処理が終了したら、再生処理手段250は、再生終了信号を実行制御手段に送信する(S905)。
【0026】
(6.付加情報埋め込み手段)
次に、付加情報埋め込み手段230の詳細について説明する。図9は、付加情報埋め込み手段230の詳細を示す機能ブロック図である。図9において、10は音響フレーム読込手段、20は周波数変換手段、30は周波数成分変更手段、40は周波数逆変換手段、50は改変音響フレーム出力手段、62は付加情報記憶部、70はビット配列作成手段、80は変換テーブル作成手段である。なお、図9に示す付加情報埋め込み手段230は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
【0027】
音響フレーム読込手段10は、録音ブロック蓄積手段220から読み込んだ録音ブロックを複数の音響フレームに分割し、音響フレーム単位で読み込む機能を有している。周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響フレームをフーリエ変換等により周波数変換してスペクトルを生成する機能を有している。周波数成分変更手段30は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を複数抽出し、付加情報記憶部62から抽出した付加情報よりビット配列作成手段70が作成したビット配列に基づいて、スペクトル集合の状態を変更する機能を有している。周波数逆変換手段40は、変更されたスペクトル集合を含む複数のスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。改変音響フレーム出力手段50は、生成された改変音響フレームを順次蓄積し、1音響ブロック分蓄積された際に、音響ブロックとして再生ブロック蓄積手段240(第1の実施形態の場合)またはブロック一時蓄積手段260(第2の実施形態の場合)に出力する機能を有している。
【0028】
付加情報記憶部62は、音響信号に埋め込まれる付加情報を記憶した記憶手段である。ビット配列作成手段70は、付加情報記憶部62から付加情報を抽出し、付加情報の各ワードについて、変換テーブル作成手段80を参照し、対応するビット配列を作成する機能を有している。変換テーブル作成手段80は、Nwビットが取り得る2のNw乗個の全ての登録順位に対して、互いにハミング距離が少なくとも4以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの登録順位とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。ここで、登録順位とは、Nwビットを10進で表現した場合の値を示しており、Nw=7の場合、登録順位は、0〜127で表現される。
【0029】
なお、付加情報とは、音響情報に付加して埋め込むべき情報であり、タイトルやアーティスト名等の属性情報、および属性情報以外の他の情報を含むものである。本実施形態では、上記Nw、NhをそれぞれNw=7、Nh=12としている。本実施形態では、付加情報のコード形式としてASCIIコードを採用するため、付加情報においてはNw=7となり、7ビットが1ワードとなる。また、ビット配列作成手段70が作成するビット配列は、12ビットとなり、ビット配列作成後は、これを1ワードとして処理している。図9に示した各構成手段は、現実にはコンピュータに専用のプログラムを組み込むことにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
【0030】
次に、図9に示した付加情報埋め込み手段230の処理動作について説明する。音響フレーム読込手段10は、録音ブロック蓄積手段220から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込む。音響フレーム読込手段10が読み込む1音響フレームのサンプル数Nは、適宜設定することができるが、サンプリング周波数が44.1kHzの場合、4096サンプル程度とすることが望ましい。したがって、音響フレーム読込手段10は、左チャンネル、右チャンネルについてそれぞれ4096サンプルずつ、順次音響フレームとして読み込んでいくことになる。
【0031】
音響フレームとしては、AタイプとBタイプが存在する。Aタイプの音響フレーム、Bタイプの音響フレームは、それぞれ同タイプの先行する音響フレームの最後のサンプルの次のサンプルを先頭サンプルとして設定される。そして、AタイプとBタイプの音響フレームは互いに所定数(本実施形態では2048)のサンプルを重複して設定される。例えば、Aタイプの音響フレームを先頭からA1、A2、A3…とし、Bタイプの音響フレームを先頭からB1、B2、B3…とすると、A1はサンプル1〜4096、A2はサンプル4097〜8192、A3はサンプル8193〜12288、B1はサンプル2049〜6144、B2はサンプル6145〜10240、B3はサンプル10241〜14336となる。なお、AタイプとBタイプは相対的なものであるので、どちらが先であっても良い。すなわち、上記とは逆にA1がサンプル2049〜6144、A2がサンプル6145〜10240、A3がサンプル10241〜14336、B1がサンプル1〜4096、B2がサンプル4097〜8192、B3がサンプル8193〜12288であっても良い。
【0032】
周波数変換手段20は、振幅変換後の音響フレームに対して周波数変換を行って、その音響フレームのスペクトルを得る。具体的には、窓関数を利用して周波数変換を行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
【0033】
一般に、所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、擬似高調波成分が発生する。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて、信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
【0034】
本実施形態においても、窓関数を利用しているが、Aタイプの音響フレーム、Bタイプの音響フレームで、使用する窓関数を分けている。本実施形態では、図10(a)(b)に示したような第1窓関数W(1,i)、第2窓関数W(2,i)を用意し、抽出側で認識し易いようにした。第1窓関数W(1,i)は、Aタイプの音響フレームに対して用いるためのものであり、図10(a)に示すように所定のサンプル番号iの位置において、最大値1をとり、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(1,i)の設計によって異なってくるが、本実施形態では、後述する〔数式1〕で定義される。Aタイプの音響フレームについてのフーリエ変換は、この窓関数W(1,i)を乗じたものに対して行われることになる。
【0035】
また、第2窓関数W(2,i)は、Bタイプの音響フレームに対して用いるためのものであり、図10(b)に示すように、所定のサンプル番号iの位置において、最大値1をとり、前部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(2,i)の設計によって異なってくるが、本実施形態では、後述する〔数式2〕で定義される。Bタイプの音響フレームについてのフーリエ変換は、この窓関数W(2,i)を乗じたものに対して行われることになる。
【0036】
なお、上述のように、本実施形態においては、音響フレームは重複して読み込まれる。すなわち、奇数番目の音響フレームと偶数番目の音響フレームは、所定数のサンプルを重複して読み込む。上記のように、奇数フレームと偶数フレームでは、用いられる窓関数が異なるが、奇数フレームと偶数フレームは単に奇数か偶数かの違いだけであるため、どちらに対してどちらの処理を行っても良い。したがって、本明細書では、奇数フレーム、偶数フレームの一方をAタイプフレーム、他方をBタイプフレームと呼ぶことにする。本実施形態では、奇数フレームをAタイプフレーム、偶数フレームをBタイプフレームとして説明するが、逆に偶数フレームをAタイプフレーム、奇数フレームをBタイプフレームとしても良い。
【0037】
本実施形態では、窓関数W(1,i)、W(2,i)は、以下の〔数式1〕〔数式2〕で定義される。なお、図10において、横軸は時間軸(i)である。iは、後述するように、各音響フレーム内のN個のサンプルに付した通し番号であるため時刻tに比例している。また、図10(a)(b)において縦軸は信号の振幅値(レベル)を示す。図10(a)(b)において縦軸は窓関数W(1,i)、W(2,i)の値を示しており、W(1,i)、W(2,i)の最大値はいずれも1である。
【0038】
〔数式1〕
i≦N/4のとき、W(1,i)=0.5−0.5cos(4πi/N)
N/4<i≦11N/16のとき、W(1,i)=1.0
11N/16<i≦13N/16のとき、W(1,i)=0.5−0.5cos(8π(i−9N/16)/N)
i>13N/16のとき、W(1,i)=0.0
【0039】
〔数式2〕
i≦3N/16のとき、W(2,i)=0.0
3N/16<i≦5N/16のとき、W(2,i)=0.5−0.5cos(8π(i−3N/16)/N)
5N/16<i≦3N/4のとき、W(2,i)=1.0
i>3N/4のとき、W(2,i)=0.5−0.5cos(4π(i−N/2)/N)
【0040】
なお、図10および上記〔数式1〕〔数式2〕から明らかなように、窓関数W(1,i)とW(2,i)は、互いに非対称な形状である。これは、後述する抽出側において、両者の識別を容易にするためである。
【0041】
本実施形態においては、奇数フレームと偶数フレームを、所定サンプルずつ重複して読み込むため、情報の埋め込みを行った後、音響信号に復元する際に、窓関数を乗じた奇数フレームと、窓関数を乗じた偶数フレームの重複サンプルを加算した場合に、ほぼ元の値に戻るようにしなければならない。このため、奇数フレームと偶数フレームの重複部分において、窓関数W(1,i)、W(2,i)を加算すると、全区間固定値1になるように定義されている。
【0042】
周波数変換手段20が、Aタイプの音響フレームに対してフーリエ変換を行う場合は、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、窓関数W(1,i)を用いて、以下の〔数式3〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(1,j)、虚部Bl(1,j)、右チャンネルに対応する変換データの実部Ar(1,j)、虚部Br(1,j)を得る。
【0043】
〔数式3〕
Al(1,j)=Σi=0,…,N-1W(1,i)・Xl(i)・cos(2πij/N)
Bl(1,j)=Σi=0,…,N-1W(1,i)・Xl(i)・sin(2πij/N)
Ar(1,j)=Σi=0,…,N-1W(1,i)・Xr(i)・cos(2πij/N)
Br(1,j)=Σi=0,…,N-1W(1,i)・Xr(i)・sin(2πij/N)
【0044】
周波数変換手段20が、Bタイプの音響フレームに対してフーリエ変換を行う場合は、左チャンネル信号Xl(i+N/2)、右チャンネル信号Xr(i+N/2)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式4〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(2,j)、虚部Bl(2,j)、右チャンネルに対応する変換データの実部Ar(2,j)、虚部Br(2,j)を得る。
【0045】
〔数式4〕
Al(2,j)=Σi=0,…,N-1W(2,i)・Xl(i+N/2)・cos(2πij/N)
Bl(2,j)=Σi=0,…,N-1W(2,i)・Xl(i+N/2)・sin(2πij/N)
Ar(2,j)=Σi=0,…,N-1W(2,i)・Xr(i+N/2)・cos(2πij/N)
Br(2,j)=Σi=0,…,N-1W(2,i)・Xr(i+N/2)・sin(2πij/N)
【0046】
上記〔数式3〕〔数式4〕において、iは、各音響フレーム内のN個のサンプルに付した通し番号であり、i=0,1,2,…N−1の整数値をとる。また、jは周波数の値について、値の小さなものから順に付した通し番号であり、iと同様にj=0,1,2,…N/2−1の整数値をとる。サンプリング周波数が44.1kHz、N=4096の場合、jの値が1つ異なると、周波数が10.8Hz異なることになる。
【0047】
上記〔数式3〕〔数式4〕に従った処理を実行することにより、各音響フレームの各窓関数に対応するスペクトルが得られる。続いて、周波数成分変更手段30が、生成されたスペクトルから所定周波数範囲のスペクトル集合を抽出する。本実施形態では、F1以上F2以下の範囲のものを抽出する。
【0048】
周波数変換手段20は、周波数変換を実行した後に、各スペクトル集合の平均値が設定値になるように変換する。いわゆる振幅を変換する処理を行う。この振幅変換は、各フレームごとのレベル差を軽減し、適切な情報の埋め込みが可能になるようにすることを目的としているため、設定値Zoとしては適宜設定することができる。
【0049】
周波数変換手段20は、得られたスペクトル集合に対して、振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で上記設定値を除算することにより行う。具体的には、LチャンネルのAタイプの音響フレーム、Bタイプの音響フレーム、RチャンネルのAタイプの音響フレーム、Bタイプの音響フレームのスペクトル集合についての変換倍率Zl(1)、Zl(2)、Zr(1)、Zr(2)は、以下の〔数式5〕に従った処理により算出される。対象音響フレームが無音に近く、分母の二乗総和値が所定の値に満たない場合は、変換倍率を1.0に設定し、振幅変換は行わないようにする。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームのスペクトル集合の平均実効値が設定値となるように振幅変換された状態で、情報の埋め込みが行われることになる。
【0050】
〔数式5〕
Zl(1)=Zo/[Σj=m,…,M-1{Al(1,j)2+Bl(1,j)2}]1/2
Zl(2)=Zo/[Σj=m,…,M-1{Al(2,j)2+Bl(2,j)2}]1/2
Zr(1)=Zo/[Σj=m,…,M-1{Ar(1,j)2+Br(1,j)2}]1/2
Zr(2)=Zo/[Σj=m,…,M-1{Ar(2,j)2+Br(2,j)2}]1/2
【0051】
上記〔数式5〕において、mおよびMは変更対象周波数帯の下限および上限で、Zo=M−mであり、本実施形態では、Zo=288である。
【0052】
さらに、j=m,…,M−1(周波数F1,...,F2に相当)の範囲で、Al(1,j)およびBl(1,j)の各々の要素に対してZl(1)を乗じ、Al(2,j)およびBl(2,j)の各々の要素に対してZl(2)を乗じ、Ar(1,j)およびBr(1,j)の各々の要素に対してZr(1)を乗じ、Ar(2,j)およびBr(2,j)の各々の要素に対してZr(2)を乗じることにより、振幅変換を行う。以下説明において、Al(1,j)、Bl(1,j)、Al(2,j)、Bl(2,j)、Ar(1,j)、Br(1,j)、Ar(2,j)、Br(2,j)はこれらの振幅変換を行った値とする。
【0053】
周波数成分変更手段30は、Aタイプの音響フレームについて、ビット配列作成手段70が作成したビット配列に応じて、所定周波数成分の割合を変更する処理を行う。本発明では、ビット配列を1ビットまたは2ビットずつ読み込み、Aタイプ、Bタイプの1対の音響フレームに対して1ビットまたは2ビットの情報を埋め込む。埋め込まれる1ビットの値は、“0” “1”の2通りがある。本実施形態では、これらを値1、値2と定義する。2種類の符号を埋め込むことができるという点で、これらを符号1、符号2と表現することも可能である。この際、“0”“1”の2通りのうち、いずれを値1、値2(符号1、符号2)と定義しても良い。抽出側において、埋め込み側で埋め込まれた1ビットが特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
【0054】
具体的には、埋め込み装置で、音響信号から抽出した所定数のサンプルで構成される音響フレーム内の所定周波数範囲の周波数成分を変更するに際し、その強弱が音脈分凝を発生させるような状態に変更する。これにより、人間には、音が途切れたようには聞こえないが、抽出装置では、その明確な変化を認識することができる。
【0055】
本実施形態では、音脈分凝の原理を利用して、音響フレームの変更対象周波数帯の成分を2つの状態に変更し、1ビットの情報を埋め込むようにしている。ここで、埋め込み処理の前後における音響フレームの所定周波数成分の変化の状態について説明する。図11に、本実施形態によるAタイプ、BタイプのLチャンネル1音響フレームの所定周波数成分の状態を示す。Rチャンネルについては、Lチャンネルと同様であるので省略してある。図11に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。
【0056】
図11においては、縦軸の周波数方向において、周波数領域が6つに区分されているが、上から2番目〜5番目の領域、すなわち、周波数F1以上F2以下の間が変更対象周波数帯であり、最上部すなわち周波数F2超、最下部すなわちF1未満は、変更対象でない周波数帯である。すなわち、本実施形態では、周波数F1以上F2以下を所定周波数範囲として、スペクトル集合の強度を変更することになる。図11(a)に示すように、Aタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を1D1、1D2、1U1、1U2で表現することとする。また、図11(b)に示すように、Bタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を2D1、2D2、2U1、2U2で表現することとする。
【0057】
1ビット埋め込み方式で、符号1を埋め込む場合、図11(c)(e)に示すように、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に強い状態に変更し、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に弱い状態に変更する。この状態を“状態1”と呼ぶことにする。符号2を埋め込む場合は、図11(d)(f)に示すように、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に強い状態に変更し、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に弱い状態に変更する。この状態を“状態2”と呼ぶことにする。網掛けされた部分の濃さは、同濃度のものは、積を求めるための組となるスペクトル集合であることを示している。網掛けの色が濃い方が相対的に強度が強い状態に変更される組を示している。
【0058】
1ビット埋め込み方式では、図11(c)(e)または(d)(f)に示すような2つの状態にAタイプ、Bタイプの音響フレームの周波数成分を変更することにより、情報の埋め込みを行っている。2つの状態であるので1ビット分の情報量に相当する。図11(c)〜(f)に示したように、1ビット埋め込み方式の場合、変更対象周波数帯の上位周波数帯と下位周波数帯が全く同一のパターンとなっている。2ビット埋め込み方式の場合は、上位周波数帯と下位周波数帯を独立に変更することにより、上位周波数帯で1ビット、下位周波数帯で1ビットの表現が可能となる。
【0059】
本実施形態では、上記変更対象周波数帯F1〜F2を、“0.34kHz〜3.4kHz”に設定する。これは、以下のような理由による。すなわち、音声通信として普及度の高い携帯電話機を抽出装置として利用する場合、上限については、電話回線帯域および携帯電話機の上限である3.4kHzとする必要がある。これは、携帯電話機の内部に搭載されているローパスフィルターが、電話交換機に合わせて、3.4kHz以下に対応したものとなっているためである。また、上位周波数帯の下限については、上限の3.4kHzから1オクターブ下がった1.7kHzとすることとした。そして、下位周波数帯の上限を上位周波数帯の下限と同じく、1.7kHzとし、下位周波数帯の下限については、電話回線帯域および携帯電話機の下限である0.3kHz以上とする必要がある。これは、携帯電話機の内部に搭載されているハイパスフィルターが、電話交換機に合わせて、0.3kHz以上に対応したものとなっているためである。そこで、上限の1.7kHzから2オクターブ強下がった0.34kHzとすることとした。下位周波数帯の周波数範囲は、上位周波数帯の周波数範囲に比べ若干狭くなるが、分布している信号成分の強度は平均4倍程度になるため、上位周波数帯より下位周波数帯の方が大きな感度を持つと推定できる。なお、“0.34kHz”“1.7kHz”“3.4kHz”という値は、代表的な値であり、必ずしも正確な値である必要はなく、そこから若干ずれた値であっても良い。
【0060】
図11に示した例では、相対的に強い状態と弱い状態に変更することについて説明したが、この強弱の程度については、状況に応じて設定することが可能である。両者の割合は、以下に述べるように、大きいほど抽出時の精度が高くなるが、補間される割合は不完全になり、再生時に不連続成分によるノイズが聞こえる。一方、両者の割合が均等であるほど再生品質は原音に近付くが、埋め込んだビットの抽出ができなくなり、再生品質と抽出精度はトレードオフの関係になる。例えば、強い方を100%、弱い方を0%とした場合、音脈分凝により、補間される部分の音は図11のような変更を行なう前に原音響信号で鳴っていた音の50%程度となることが確認されている。そこで、強い方を70%、弱い方を30%とした場合、音脈分凝により、補間される部分の音は図11のような変更を行なう前に原音響信号で鳴っていた音とほぼ同程度となり、この割合が抽出精度を維持できる限界であることが確認されている。このため、相対的に強いスペクトル集合と、相対的に弱いスペクトル集合の強度の割合を70%と30%とすることを目標に設定することが好ましい。これを実現するため、本実施形態では、後述する具体的な処理において、強い状態を設定するための係数α=0.7、弱い状態を設定するための係数β=0.3とする。ただし、強い状態に変更すべきスペクトル集合の強度が元々小さい場合には、係数α、βを補正する必要が生じる。このため、周波数成分変更手段30は、まず、以下の〔数式6〕に従った処理を実行することにより、各スペクトル集合の強度E1D1、E2D1、E1D2、E2D2、E1U1、E2U1、E1U2、E2U2を算出する。
【0061】
〔数式6〕
E1D1=Σj=m,…,m+G-1{Al(1,j)2+Bl(1,j)2}
E2D1=Σj=m,…,m+G-1{Al(2,j)2+Bl(2,j)2}
E1D2=Σj=m+G,…,m+2G-1{Al(1,j)2+Bl(1,j)2}
E2D2=Σj=m+G,…,m+2G-1{Al(2,j)2+Bl(2,j)2}
E1U1=Σj=m+2G,…,m+2G+Gu-1{Al(1,j)2+Bl(1,j)2}
E2U1=Σj=m+2G,…,m+2G+Gu-1{Al(2,j)2+Bl(2,j)2}
E1U2=Σj=m+2G+Gu,…,m+2G+2Gu-1{Al(1,j)2+Bl(1,j)2}
E2U2=Σj=m+2G+Gu,…,m+2G+2Gu-1{Al(2,j)2+Bl(2,j)2}
【0062】
上記〔数式6〕において、mは変更対象周波数帯の下限の成分の番号、Gは変更対象周波数帯内の下位周波数帯の2分割領域の幅で、Guは変更対象周波数帯内の上位周波数帯の2分割領域の幅で、m+2G+2Guは変更対象周波数帯の上限の成分の番号である。例えば、変更対象周波数帯として、0.34kHz〜3.4kHzを設定する場合、m=32、m+2G+2Gu=320(=M)となる。したがって、下位周波数帯の2分割領域の幅G(=(M/2−m)/2)=64で、上位周波数帯の2分割領域の幅Gu(=(M−M/2)/2)=80である。
【0063】
さらに、周波数成分変更手段30は、算出された各スペクトル集合の強度を利用して、弱い状態に変更すべきスペクトル集合に対する強い状態に変更すべきスペクトル集合の強度割合γを算出する。これは、1音響フレームに1ビット埋め込む場合と、2ビット埋め込む場合により異なる。1音響フレームに1ビット埋め込む場合は、以下の〔数式7〕に従って強度割合γを算出する。
【0064】
〔数式7〕
埋め込みデータが値1の場合、γ=(E1D1・E1U1・E2D2・E2U2)/(E1D2・E1U2・E2D1・E2U1)
埋め込みデータが値2の場合、γ=(E1D2・E1U2・E2D1・E2U1)/(E1D1・E1U1・E2D2・E2U2)
【0065】
1音響フレームに1ビット埋め込む場合、さらに強度割合γの値に応じて、周波数成分変更手段30は、以下の〔数式8〕に従った処理を実行することにより、係数α、βを補正して係数α´、β´を得る。
【0066】
〔数式8〕
0.01≦γ<1.0の場合、α´=α・γ-1/4、β´=β・γ1/4
γ<0.01の場合、α´=10.0・α、β´=0.1・β
γ≧1.0の場合、補正を行わない。
【0067】
一方、1音響フレームに2ビット埋め込む場合は、以下の〔数式9〕に従って強度割合γを算出する。
【0068】
〔数式9〕
第1埋め込みデータが値1の場合、γ1=(E1D1・E2D2)/(E1D2・E2D1)
第1埋め込みデータが値2の場合、γ1=(E1D2・E2D1)/(E1D1・E2D2)
第2埋め込みデータが値1の場合、γ2=(E1U1・E2U2)/(E1U2・E2U1)
第2埋め込みデータが値2の場合、γ2=(E1U2・E2U1)/(E1U1・E2U2)
【0069】
1音響フレームに2ビット埋め込む場合、さらに強度割合γ1、γ2の値に応じて、周波数成分変更手段30は、以下の〔数式10〕に従った処理を実行することにより、係数α、βを補正して係数α1´、β1´、α2´、β2´を得る。
【0070】
〔数式10〕
0.01≦γ1<1.0の場合、α1´=α・γ1-1/2、β1´=β・γ11/2
γ<0.01の場合、α1´=10.0・α、β1´=0.1・β
γ≧1.0の場合、補正を行わない。
0.01≦γ2<1.0の場合、α2´=α・γ2-1/2、β2´=β・γ21/2
γ<0.01の場合、α2´=10.0・α、β2´=0.1・β
γ≧1.0の場合、補正を行わない。
【0071】
さらに、周波数成分変更手段30は、連続するAタイプ音響フレーム、Bタイプ音響フレームにおける実部Al(1,j)、Ar(1,j)、Al(2,j)、Ar(2,j)、Bl(1,j)、Br(1,j)、Bl(2,j)、Br(2,j)に対して、周波数領域パラメータとして、下限m(=32)から上限M(=320)を設定し、mからM/2を幅G(=(M/2−m)/2)をもつ2個の領域に分割し、m+2GからMを幅Gu(=(M−M/2)/2)をもつ2個の領域に分割し、埋め込むべきビット値に応じて、各々改変を加える。一例として、1音響フレームに2ビット埋め込む方式で、埋め込むべきビット値が1ビット目、2ビット目ともに“値1”である場合、以下の〔数式11〕に従った処理を実行することにより、周波数成分の状態を“状態1”、すなわち、図11(c)(e)に示したような状態に変更する。
【0072】
〔数式11〕
j=m〜m+G−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・α1/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α1/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α1/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α1/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・β1/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β1/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β1/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β1/{Ar(2,j)2+Br(2,j)2}1/2
j=m+G〜m+2G−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・β1/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β1/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β1/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β1/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・α1/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α1/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α1/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α1/{Ar(2,j)2+Br(2,j)2}1/2
j=m+2G〜m+2G+Gu−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・α2/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α2/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α2/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α2/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・β2/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β2/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β2/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β2/{Ar(2,j)2+Br(2,j)2}1/2
j=m+2G+Gu〜M−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・β2/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β2/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β2/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β2/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・α2/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α2/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α2/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α2/{Ar(2,j)2+Br(2,j)2}1/2
【0073】
1音響フレームに2ビット埋め込む方式で、1ビット目、2ビット目のいずれかもしくは両方の埋め込むべきビット値が“値2”である場合は、それに応じて上記〔数式11〕において、α1とβ1を互いに交換するか、α2とβ2を互いに交換して処理を実行する。また、1音響フレームに1ビット埋め込む方式の場合は、上記〔数式11〕において、α1=α2=α、β1=β2=βとして処理を実行する。この場合は、スペクトル集合単位の強弱パターンは、高周波側と低周波側で同一となる。
【0074】
なお、上記〔数式8〕〔数式10〕に従った処理を実行して係数α´、β´、α1´、β1´、α2´、β2´を得た場合は、上記〔数式11〕において、係数α、β、α1、β1、α2、β2に代えて係数α´、β´、α1´、β1´、α2´、β2´を用いる。
【0075】
周波数逆変換手段40は、上記のようにして、周波数成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段20が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。
【0076】
具体的には、Aタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、以下の〔数式12〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式11〕において改変されていない周波数成分については、Al´(1,j)等として、元の周波数成分であるAl(1,j)等を用いる。周波数逆変換を計算するにあたり、Al´(1,j)およびBl´(1,j)に対しては〔数式5〕におけるZl(1)を、Ar´(1,j)およびBr´(1,j)に対しては〔数式5〕におけるZr(1)を除することにより、同時に振幅逆変換を施す必要がある。
【0077】
〔数式12〕
Xl´(i)=1/N・{ΣjAl´(1,j)・cos(2πij/N)/Zl(1)−ΣjBl´(1,j)・sin(2πij/N)/Zl(1)}+Xlp(i+N/2)
Xr´(i)=1/N・{ΣjAr´(1,j)・cos(2πij/N)/Zr(1)−ΣjBr´(1,j)・sin(2πij/N)/Zr(1)}+Xrp(i+N/2)
【0078】
上記〔数式12〕においては、式が繁雑になるのを防ぐため、Σj=0,…,N-1をΣjとして示している。上記〔数式12〕における第1式の“+Xlp(i+N/2)”、第2式の“+Xrp(i+N/2)”の項は、直前に改変された改変音響フレームのデータXlp(i)、Xrp(i)が存在する場合に、時間軸上N/2サンプル分重複することを考慮して加算するためのものである。上記〔数式12〕によりAタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
【0079】
Bタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(2,j)、虚部Bl´(2,j)、右チャンネルの実部Ar´(2,j)、虚部Br´(2,j)を用いて、以下の〔数式13〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式11〕において改変されていない周波数成分については、以下の〔数式13〕においてはAl´(2,j)、Bl´(2,j)、Ar´(2,j)、Br´(2,j)として、元の値であるAl(2,j)、Bl(2,j)、Ar(2,j)、Br(2,j)を用いる。周波数逆変換を計算するにあたり、Al´(2,j)およびBl´(2,j)に対しては〔数式5〕におけるZl(2)を、Ar´(2,j)およびBr´(2,j)に対しては〔数式5〕におけるZr(2)を除することにより、同時に振幅逆変換を施す必要がある。
【0080】
〔数式13〕
Xl´(i+N/2)=1/N・{ΣjAl´(2,j)・cos(2πij/N)/Zl(2)−ΣjBl´(2,j)・sin(2πij/N)/Zl(2)}+Xlp(i+N)
Xr´(i+N/2)=1/N・{ΣjAr´(2,j)・cos(2πij/N)/Zr(2)−ΣjBr´(2,j)・sin(2πij/N)/Zr(2)}+Xrp(i+N)
【0081】
上記〔数式13〕によりBタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。改変音響フレーム出力手段50は、周波数逆変換手段40の処理により得られたAタイプの改変音響フレーム、Bタイプの改変音響フレームを順次蓄積し、1音響ブロック分蓄積された際に、音響ブロックとして出力する。
【0082】
次に、図9に示した付加情報埋め込み手段230の処理の全体的な流れについて説明する。付加情報埋め込み手段230が起動すると、まず、変換テーブル作成手段80が、Nwビットの登録順位とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する。変換テーブル作成手段80による符号変換テーブル作成のフローチャートを図12に示す。
【0083】
変換テーブル作成手段80は、最初に初期化処理を行う(S601)。具体的には、7ビット符号“0”に12ビット符号“1”を対応付けて符号変換テーブルのi(=0)番目に登録するとともに、7ビット符号KFの初期値を1、12ビット符号HFの初期値を2とする。続いて、i=0に初期設定する(S602)。次に、12ビット符号HFと符号変換テーブルのi番目に既に登録されている他の12ビット符号とのハミング距離を算出する(S603)。
【0084】
算出したハミング距離が4未満の場合、HFの値を1増加して更新した後(S604)、S602に戻って、次の12ビット符号HFについての処理を行う。一方、算出したハミング距離が4以上の場合、iの値を1増加して更新する(S605)。そして、iがKF−1未満である場合には、S603に戻って、符号変換テーブル内のi番目に登録されている12ビット符号とのハミング距離を算出する。S605の後、iがKF−1以上となった場合には、12ビット符号HFを符号変換テーブルの7ビット符号KFの位置に登録するとともに、KF、HFの値をそれぞれ1ずつ増加して更新する(S606)。そして、KFが128未満である場合は、S602に戻って、次の7ビット符号KFについての処理を行う。KFが128以上である場合は、全ての7ビット符号KFに対応する12ビット符号HFが登録されたことになるので、符号変換テーブル作成処理を終了する。
【0085】
このようにして作成された符号変換テーブルを図13に示す。図13に示すように、符号変換テーブルには、7ビット符号が取り得る各値0〜127について、12ビット符号が対応付けて登録されている。12ビット符号の2進表記を見るとわかるように、全ての12ビット符号は互いにハミング距離が4以上となっている。なお、図13の例では、説明の便宜上、7ビット符号の10進表記と、12ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と12ビット符号のビット列が対応付けて登録されている。
【0086】
続いて、符号変換テーブル作成処理後の、埋め込み装置の処理を、図14のフローチャートに従って説明する。図9に示した付加情報埋め込み手段230を構成する各構成要素は、連携して図14に従った処理を実行する。図14は、付加情報1ワード分の処理に対応したものとなっている。1ワードのビット数Nwとしては、任意のビット数に設定することができるが、上述のように、本実施形態では、ASCIIコードの実質7ビットに設定されている。
【0087】
図14においては、まず、ビット配列作成手段70は、付加情報記憶部62から抽出した付加情報の各ワードについて、変換テーブル作成手段80を参照し、対応するビット配列を作成する(S101)。具体的には、まず、付加情報記憶部62から1ワード(7ビット)単位で抽出し、図13に示した符号変換テーブルを参照し、対応するハミング符号で構成される12ビットのビット配列を抽出する。
【0088】
そして、この12ビットが、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに読み込まれることになる。このように、付加情報記憶部62においては、1ワードは7ビットであるが、埋め込み処理時は、この12ビットの配列で、付加情報内の1ワード分の処理を行う。
【0089】
次に、周波数成分変更手段30が、レジスタに保持されたNh(=12)ビットから1ビットを読み込む処理を行う(S102)。続いて、音響フレーム読込手段10が、録音ブロック蓄積手段220から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込み、周波数変換手段20が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う(S103)。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数W(1,i)を用いて、上記〔数式2〕に従った処理を行う。そして、上記〔数式5〕に従った処理を実行してZl(1)、Zr(1)を算出し振幅変換を行う。同様に、音響フレーム読込手段10が、録音ブロック蓄積手段220から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数のサンプルをBタイプの1音響フレームとして読み込み、周波数変換手段20が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う(S104)。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数W(2,i)を用いて、上記〔数式3〕に従った処理を行う。そして、上記〔数式5〕に従った処理を実行してZl(2)、Zr(2)を算出し振幅変換を行う。続いて、周波数成分変更手段30が、読み込んだビット値に応じてAタイプ音響フレームおよびBタイプ音響フレームの周波数成分の状態を変更するにあたり、〔数式6〕〔数式8〕に従った処理を実行して変換割合α、βを決定する処理を行う(S105)。この決定された変換割合を用いて、周波数成分変更手段30は、ビット配列作成手段70から受け取った値1、値2に応じて上記〔数式11〕に従った処理を実行し、変更対象周波数帯の成分の状態を“状態1”、“状態2”に応じた状態のいずれかに変更する(S106)。
【0090】
次に、周波数逆変換手段40が、上記S106の処理によりAタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S107)。この振幅逆変換は〔数式5〕で算出したZl(1)、Zr(1)の逆数をスペクトルに乗じることにより行ない、この周波数逆変換は、当然のことながら、周波数変換手段20がS103において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式12〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。改変音響フレーム出力手段50は、得られた改変音響フレームを順次蓄積し、1音響ブロック分蓄積する。
【0091】
同様に、周波数逆変換手段40が、上記S106の処理によりBタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S108)。具体的には、振幅逆変換は〔数式5〕で算出したZl(2)、Zr(2)の逆数をスペクトルに乗じることにより行ない、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(2,j)等、虚部Bl´(2,j)等、右チャンネルの実部Ar´(2,j)等、虚部Br´(2,j)等を用いて、上記〔数式13〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
【0092】
改変音響フレーム出力手段50は、得られた改変音響フレームを順次蓄積する。こうして各チャンネルについて、AタイプおよびBタイプの2つの音響フレームに対する処理を終えたら、周波数成分変更手段30がビット配列中の次の1ビットを読み込む(S102)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S103、S104)、処理を終了する。なお、S101において読み込んだ1ワード分のビット配列(Nh=12ビット)の各ビットに対応する処理を終えた場合、S102からS101に戻り、付加情報の次のワードを読み込んでビット配列を作成する処理を行うことになる。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、所定数の音響フレームに対して処理を行った所定数の改変音響フレームが蓄積され、音響ブロック1個分になったら、再生ブロックとして出力される。
【0093】
なお、本実施形態では、付加情報を1ワード7ビットとし、符号変換テーブルにより12ビットのビット配列に変換して、付加情報1ワード分の処理をする場合について説明したが、本発明では、抽出側と取り決めがある限り、付加情報の1ワードを他のビット数単位で記録することが可能である。
【0094】
上記のようにして得られた改変音響信号のうち、付加情報が埋め込まれている部分については、変更対象周波数帯の成分は、1ビット埋め込み方式の場合は、状態1、状態2の2通り、2ビット埋め込み方式の場合は、それぞれのビットについて2通りの計4通りの分布しかないことになる。しかし、変更対象周波数帯の成分以外については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。また、上記〔数式11〕の処理からも明らかなように、変更対象周波数帯の成分は、左チャンネルと右チャンネルにおいて同等の割合で変化させられている。したがって、両スピーカと等距離の位置においても、変更対象周波数帯の成分は、相殺されることなく増幅させる関係となり、情報を抽出し易くなる。
【0095】
本発明に係る音響信号に対する情報のリアルタイム埋め込み装置では、埋め込み途中で付加情報の内容を変更することができる。このような場合、図示しない付加情報入力手段により付加情報を入力すると、付加情報埋め込み手段230内の付加情報記憶部62に記録された付加情報が更新される。付加情報が更新されると、ビット配列作成手段70は、これを認識し、更新された付加情報を基に新たなビット配列を作成する。さらに、ビット配列作成手段70は、レジスタ内に残っている12ビットのビット列に、新たに作成したビット配列の先頭の12ビットを上書きする処理を行う。そして、周波数成分変更手段30はレジスタの先頭からビットを読み込む処理を開始する。このようにして、付加情報が更新された場合には、即座に新たな付加情報を埋め込む処理が開始される。
【0096】
以上、付加情報抽出手段230の詳細について説明したが、ここで、本実施形態で行っている振幅変換を用いた埋め込みおよび抽出について、図15から図18を用いて説明する。図15および図16は、比較のために、振幅変換を用いない場合の埋め込み処理および抽出処理を示し、図17および図18は本実施形態における振幅変換を用いた埋め込み処理および抽出処理を示す。これらの説明図においては、音響フレーム奇数および偶数3対分について、3ビットの情報を埋め込むことを想定した音響信号の信号波形を示しており、説明の便宜上、音響フレームが互いに重複しない状態で示している。各図において、左端の波形は時間次元の通常の音響信号波形を示しており、横方向は時間軸であり、右に向かうに従って時間が進行し、縦方向は強度(振幅)である。中央または右端の波形は周波数変換後の所定の周波数範囲のスペクトル成分の合算値を信号波形で表現しており、仮想的にバンドパスフィルターを通した後の信号波形になっている。縦方向は同様に強度であり、本来は左端に比べ顕著に低くなるが、ここでは説明の都合上、左端と同程度に拡大して表現している。また、2種類の波形のレベルも本来は差があるが、ここでは同一レベルで表現している。実際には、周波数変換後のデータとして所定の周波数範囲外の高周波数成分や低周波数成分も存在するが、これらについては改変を加えないという前提で図示しておらず、図11に従った埋め込みを行なう2種の周波数帯域成分に限定して2種の信号波形で示している。
【0097】
図15(a)は原音響信号を示しており、最初の1対の音響フレームは全体に渡って強度がほぼ一定、中央の1対の音響フレームは奇数フレームの強度が小さく偶数フレームの強度が大きいものであり、最後の1対の音響フレームは奇数フレームの強度が大きく偶数フレームの強度が小さいものである。このような音響信号に対して、周波数変換を行った結果が図15(b)で、図11で示されように埋め込み対象成分は上下2分割して成分変更を施す都合上、図15(b)では(b−1)および(b−2)の2種の波形に分離して表現した。周波数変換後の波形形状は周波数ごとに異なり、図15(a)と必ずしも相似形にはならないが、ここでは周波数変換前と同様になると仮定して説明する。図15(b−1)および(b−2)に対して、[0,0,0]という3ビットのデータを図11で説明した方法に基づいて埋め込むことにより(図11ではビット0は符号1に相当する)、図15(c−1)および(c−2)が得られる。最初の1対は図11のようなパターンが表現できているが、残り2対の上下一方は、原段階に対して逆方向に大小関係を構築することが要求され、品質維持の都合上、適切なパターンが構築できていないことがわかる。このような改変を加えた結果に対して、周波数逆変換を行った結果が図15(d)である。一般に音響信号波形の外形(エンベロープという)はエネルギー分布が大きい低周波成分で決定され、これらは本願では所定の周波数範囲外の信号成分に含まれ、図15(c)の段階では改変が加えられていないため、周波数逆変換後の図15(d)は周波数変換前の図15(a)と類似した形状になる。
【0098】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図16に示す。図16(a)および図16(b)は各々図15(d)および図15(c)に対応する。図16(b)において、ビット判定を行なうにあたり、最初の1対以外は図11で想定されているパターンが形成されていないため、正しいビットを判定することが難しくなる。
【0099】
次に、本実施形態における振幅変換を導入した手法について図17および図18を用いて説明する。図17(a)は図15(a)と同じ原音響信号を示しており、同様に周波数変換を行った図17(b)も図15(b)と同じである。ここで、6つのフレーム単位に振幅変換を行った結果が図17(c)である。図17の場合、図17(a)で各フレーム内の振幅が平坦であるため、図17(c)では全体が平坦になっているが、実際には各フレーム内は微細に変動しており、そのフレーム内変動分は図17(c)の段階でも踏襲されるため、本図のように完全に平坦になることは通常ない。(実際は図17(c)は周波数次元のデータになるため、周波数次元のデータも平坦にならず変動した形態になる。)また、変換倍率はフレームごとに設定し、上下2つの周波数成分に対しては同一の倍率で変換を行うため、通常は上下で顕著な差が生じる(ただし、時間軸方向は比較的揃う)。これに対して、[0,0,0]という3ビットのデータを埋め込むと、図17(d−1)および(d−2)が得られる。原段階である図17(c)が平坦な波形であるため、全てのフレームにおいて図11のような理想的なパターンが容易に構築できることがわかる。続いて、前記フレームごとに設定した倍率の逆数を乗じて振幅逆変換を行った結果が図17(e)である。この段階では図15(c)と類似したパターンが生じることが多いが、本形状はいかなるものでも構わない。最後に周波数逆変換を行うと、図17(f)が得られ、同様に原信号波形の図17(a)と類似した形状になる。
【0100】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図18に示す。図18(a)、(b)および(c)は各々図17(f)、(e)および(d)に対応する。図18(b)の周波数変換後の波形形状は図17(b)とは基本的に異なるが、算出される振幅変換倍率は類似した値になり、ほぼ同様な倍率で振幅変換が行われ図18(c)が得られる。図18(c)の段階で、ビット判定を行なうと、全てのフレームにおいて図11のような理想的なパターンが形成されているため、正しいビットを判定することが可能になる。
【0101】
以上、振幅変換を導入した本実施形態では、図17(c)に示したように、埋め込み対象の信号成分が時間軸方向に平坦になるように変換を行って埋め込むようにしているため、高周波側と低周波側の成分強度の大小関係が完全に逆になるような不自然な変更を行う確率が低くなり、品質を維持しながら、抽出側における抽出精度を高めることが可能となる。
【0102】
(7.音響信号からの情報の抽出装置)
次に、音響信号からの情報の抽出装置について説明する。図19は、音響信号からの情報の抽出装置を示す構成図である。図19において、100は音響信号入力手段、110は基準フレーム獲得手段、120は位相変更フレーム設定手段、130は周波数変換手段、140は符号判定パラメータ算出手段、150は符号出力手段、160は付加情報抽出手段、170は音響フレーム保持手段、180は変換テーブル作成手段である。
【0103】
音響信号入力手段100は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびA/D変換器により実現される。マイクロフォンとしては、変更対象周波数帯の成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図9に示した付加情報埋め込み手段230で情報の埋め込みを行った場合には、ステレオで再生されるが、左右どちらのスピーカの音を入力しても、双方のスピーカの音を混合入力しても良く、マイクロフォンの設置位置に制約がない。もちろん、付加情報が埋め込まれた音響信号がモノラル再生される場合、あるいは付加情報が埋め込まれた音響信号自体がモノラルである場合は、再生される単一のスピーカにマイクロフォンを向ければ良い。このマイクロフォンは特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段110は、入力されたデジタルのモノラル音響信号(あるいはステレオ音響信号の1チャンネル)から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。基準フレームとしては、埋め込み時と同様にAタイプ、Bタイプのものが設定される。位相変更フレーム設定手段120は、Aタイプ、Bタイプそれぞれの基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。
【0104】
周波数変換手段130は、基本的には、図9に示した周波数変換手段20とほぼ同様の機能を有している。ただし、音を取り込むタイミングが、音響信号の先頭からとはならないため、正しい位相を特定するために、複数の位相で振幅変換、周波数変換を行う点、元の音響信号がステレオであっても、1つのチャンネルで行う点が異なっている。
【0105】
周波数変換手段130は、Aタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i−N/2+pN/6)(i=0,…,N−1)に対して、窓関数W(1,i)を用いて、以下の〔数式14〕に従った処理を行い、変換データの実部A(1,j,p)、虚部B(1,j,p)を得る機能を有している。pは位相番号であり、0〜5の整数値をとる。
【0106】
〔数式14〕
A(1,j,p)=Σi=0,…,N-1W(1,i)・X(i−N/2+p・N/6)・cos(2πij/N)
B(1,j,p)=Σi=0,…,N-1W(1,i)・X(i−N/2+p・N/6)・sin(2πij/N)
【0107】
周波数変換手段130は、Bタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i+p・N/6)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式15〕に従った処理を行い、変換データの実部A(2,j,p)、虚部B(2,j,p)を得る機能を有している。
【0108】
〔数式15〕
A(2,j,p)=Σi=0,…,N-1W(2,i)・X(i+p・N/6)・cos(2πij/N)
B(2,j,p)=Σi=0,…,N-1W(2,i)・X(i+p・N/6)・sin(2πij/N)
【0109】
周波数変換手段130は、周波数変換手段20と同様に振幅変換を行う。振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で、設定値を除算することにより行う。設定値は、適宜定めておくことができるが、埋め込み時における振幅変換の場合と同一値としておくことが必要となる。したがって、本実施形態では、設定値Zoは288(=M−m)にする必要がある。具体的には、Aタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z(1,p)、Z(2,p)、これらの直前のAタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z-1(1,p)、Z-1(2,p)は、以下の〔数式16〕に従った処理により算出される。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームの平均実効値が設定値となるように振幅変換された状態で、情報の抽出が行われることになる。なお、pは位相番号であり、0〜5の整数値をとる。
【0110】
〔数式16〕
Z(1,p)=Zo/[Σj=m,…,M-1{A(1,j,p)2+B(1,j,p)2}]1/2
Z(2,p)=Zo/[Σj=m,…,M-1{A(2,j,p)2+B(2,j,p)2}]1/2
Z-1(1,p)=Zo/[Σj=m,…,M-1{A-1(1,j,p)2+B-1(1,j,p)2}]1/2
Z-1(2,p)=Zo/[Σj=m,…,M-1{A-1(2,j,p)2+B-1(2,j,p)2}]1/2
【0111】
j=m,…,M−1(周波数F1,...,F2に相当)およびp=0,...,5の範囲で、A(1,j,p)およびB(1,j,p)の各々の要素に対してZ(1,p)を乗じ、A(2,j,p)およびB(2,j,p)の各々の要素に対してZ(2,p)を乗じ、A-1(1,j,p)およびB-1(1,j,p)の各々の要素に対してZ-1(1,p)を乗じ、A-1(2,j,p)およびB-1(2,j,p)の各々の要素に対してZ-1(2,p)を乗じることにより、振幅変換を行う。以下説明において、A(1,j,p)、B(1,j,p)、A(2,j,p)、B(2,j,p)、A-1(1,j,p)、B-1(1,j,p)、A-1(2,j,p)、B-1(2,j,p)はこれらの振幅変換を行った値とする。
【0112】
符号判定パラメータ算出手段140は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を抽出し、各スペクトル集合の強度値を算出するとともに、この強度値を利用して符号判定パラメータを算出し、この符号判定パラメータの大小関係に基づいて、所定の状態であると判断する機能を有している。上述のように、本実施形態では、Aタイプの音響フレームとBタイプの音響フレームがN/2サンプルずつ重複して設定されているため、ある音響フレームについて、強度値、符号判定パラメータを算出する際には、直前の音響フレームによる残響成分を考慮する必要がある。ところが、残響成分は計算により算出されるものであるので、必ずしも正確なものが算出されるとは限らず、算出された残響成分を除去することにより、反って抽出精度が低下する場合がある。そこで、本実施形態では、残響成分を除去しない場合の強度値E1、E2、E3、E4、および符号判定パラメータCと、除去した場合の強度値E1´、E2´、E3´、E4´、および補正符号判定パラメータC´を算出し、これらを利用して最適であると思われる状態を判断する。
【0113】
Aタイプの音響フレームの各成分A(1,j,p)、B(1,j,p)に対して1フレーム分前のBタイプの音響フレームに対応する各成分をA-1(2,j,p)、B-1(2,j,p)とすると、Bタイプの音響フレームの各成分A(2,j,p)、B(2,j,p)に対応して、1フレーム分前の音響フレームは以下補正を施す前の前記Aタイプの音響フレームとなる。符号判定パラメータ算出手段140は、各スペクトル集合の強度値の算出の前に、まず、各スペクトル集合の基本強度値E(1,j,p)、E(2,j,p)、および残響成分を除去した基本強度値E´(1,j,p)、E´(2,j,p)を、以下の〔数式17〕に従った処理により算出する。
【0114】
〔数式17〕
E(1,j,p)=A(1,j,p)2+B(1,j,p)2
E(2,j,p)=A(2,j,p)2+B(2,j,p)2
E-1(1,j,p)=A-1(1,j,p)2+B-1(1,j,p)2
E-1(2,j,p)=A-1(2,j,p)2+B-1(2,j,p)2
E´(1,j,p)=E(1,j,p)−q・E-1(2,j,p)
E´(2,j,p)=E(2,j,p)−q・E(1,j,p)
【0115】
上記〔数式17〕における6つの式のうち、上から5番目(下から2番目)の式は、あるAタイプの音響フレームに着目したときに、その前半のN/2サンプルが重複するBタイプの音響フレームからの残響成分を除去するためのものである。また、上から6番目(下から1番目)の式は、あるBタイプの音響フレームに着目したときに、その前半のN/2サンプルが重複するAタイプの音響フレームからの残響成分を除去するためのものである。E´(1,j,p)≧0、E´(2,j,p)≧0とし、〔数式17〕の上から5番目、6番目の式に従った処理の結果、負の値となった場合には、0に設定する。
【0116】
上記〔数式17〕において、qは残響成分の大きさを示す係数であるが、この係数qは1未満の値を持つものであり、実験の結果、N=4096のときq=0.06、N=2048のときq=0.12、N=1024のときq=0.24、N=512のときq=0.48が最適である。そして、残響成分を除去しない場合の各スペクトル集合の強度値E1、E2、E3、E4、E5、E6、E7、E8、除去した場合の強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を、算出した基本強度値E(1,j,p)、E(2,j,p)、E´(1,j,p)、E´(2,j,p)を用いて以下の〔数式18〕に基づいて算出する。
【0117】
〔数式18〕
E1(p)=Σj=m,…,m+G-1E(1,j,p)
E2(p)=Σj=m,…,m+G-1E(2,j,p)
E3(p)=Σj=m+G,…,m+2G-1E(1,j,p)
E4(p)=Σj=m+G,…,m+2G-1E(2,j,p)
E5(p)=Σj=m+2G,…,m+2G+Gu-1E(1,j,p)
E6(p)=Σj=m+2G,…,m+2G+Gu-1E(2,j,p)
E7(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E(1,j,p)
E8(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E(2,j,p)
E1´(p)=Σj=m,…,m+G-1E´(1,j,p)
E2´(p)=Σj=m,…,m+G-1E´(2,j,p)
E3´(p)=Σj=m+G,…,m+2G-1E´(1,j,p)
E4´(p)=Σj=m+G,…,m+2G-1E´(2,j,p)
E5´(p)=Σj=m+2G,…,m+2G+Gu-1E´(1,j,p)
E6´(p)=Σj=m+2G,…,m+2G+Gu-1E´(2,j,p)
E7´(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E´(1,j,p)
E8´(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E´(2,j,p)
【0118】
結局〔数式17〕〔数式18〕により、各スペクトル集合の強度値E1、E2、E3、E4、E5、E6、E7、E8が算出されるとともに、当該各スペクトル集合に対応するタイプの別を問わない直前の音響フレームにおけるスペクトル集合の強度にqを乗じた値を減じることにより強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´が算出されることになる。
【0119】
また、符号判定パラメータ算出手段140は、残響成分を除去せずに算出した強度値E1、E2、E3、E4、E5、E6、E7、E8を用いて、符号判定パラメータCを算出する。1音響フレームに1ビット埋め込む方式の場合、以下の〔数式19〕に従った処理を実行することにより、候補符号Bについて仮判定するとともに、符号判定パラメータCを算出する。
【0120】
〔数式19〕
1)E1(p)・E5(p)>E2(p)・E6(p)かつE4(p)・E8(p)>E3(p)・E7(p)の場合
B=0と仮判定、
C=E1(p)・E5(p)・{E4(p)・E8(p)−E2(p)・E6(p)・E3(p)・E7(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
2)E2(p)・E6(p)>E1(p)・E5(p)かつE3(p)・E7(p)>E4(p)・E8(p)の場合
B=1と仮判定、
C={E2(p)・E6(p)・E3(p)・E7(p)−E1(p)・E5(p)・E4(p)・E8(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
3)E1(p)・E5(p)・E4(p)・E8(p)>E2(p)・E6(p)・E3(p)・E7(p)の場合
B=0と仮判定、
C={E1(p)・E5(p)・E4(p)・E8(p)−E2(p)・E6(p)・E3(p)・E7(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
4)上記1)〜3)以外の場合
B=1と仮判定、
C={E2(p)・E6(p)・E3(p)・E7(p)−E1(p)・E5(p)・E4(p)・E8(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
【0121】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC´を算出する。1音響フレームに1ビット埋め込む方式の場合、上記〔数式19〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号Bに代えて候補符号B´について仮判定するとともに、符号判定パラメータCに代えて補正符号判定パラメータC´を算出する。
【0122】
一方、符号判定パラメータ算出手段140は、1音響フレームに2ビット埋め込む方式の場合、2ビットの各ビットについて、それぞれ候補符号をB1、B2、符号判定パラメータをC1、C2とすると、以下の〔数式20〕に従った処理を実行することにより、候補符号B1について仮判定するとともに、符号判定パラメータC1を算出する。
【0123】
〔数式20〕
1)E1(p)>E2(p)かつE4(p)>E3(p)の場合
B1=0と仮判定、
C1={E1(p)・E4(p)−E2(p)・E3(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
2)E2(p)>E1(p)かつE3(p)>E4(p)の場合
B1=1と仮判定、
C1={E2(p)・E3(p)−E1(p)・E4(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
3)E1(p)・E4(p)>E2(p)・E3(p)の場合
B1=0と仮判定、
C1={E1(p)・E4(p)−E2(p)・E3(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
4)上記1)〜3)以外の場合
B1=1と仮判定、
C1={E2(p)・E3(p)−E1(p)・E4(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
【0124】
また、以下の〔数式21〕に従った処理を実行することにより、候補符号B2について仮判定するとともに、符号判定パラメータC2を算出する。
【0125】
〔数式21〕
1)E5(p)>E6(p)かつE8(p)>E7(p)の場合
B2=0と仮判定、
C2={E5(p)・E8(p)−E6(p)・E7(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
2)E6(p)>E5(p)かつE7(p)>E8(p)の場合
B2=1と仮判定、
C2={E6(p)・E7(p)−E5(p)・E8(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
3)E5(p)・E8(p)>E6(p)・E7(p)の場合
B2=0と仮判定、
C2={E5(p)・E8(p)−E6(p)・E7(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
4)上記1)〜3)以外の場合
B2=1と仮判定、
C2={E6(p)・E7(p)−E5(p)・E8(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
【0126】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC1´、C2´を算出する。1音響フレームに2ビット埋め込む方式の場合、上記〔数式20〕〔数式21〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号B1、B2に代えて候補符号B1´、B2´について仮判定するとともに、符号判定パラメータC1、C2に代えて補正符号判定パラメータC1´、C2´を算出する。
【0127】
符号出力手段150は、1つの基準フレームに対応する音響フレーム(基準フレームおよび位相変更フレーム)の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。符号判定パラメータ算出手段140と符号出力手段150により符号化手段が構成される。付加情報抽出手段160は、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、符号逆変換テーブルを参照することにより、Nwビットの登録順位に変換し、さらに所定の規則により変換して意味のある付加情報として抽出する機能を有している。音響フレーム保持手段170は、チャンネルごとのAタイプ、Bタイプそれぞれについて連続する2個の基準フレーム(チャンネルごとに計4個の基準フレーム)を保持可能なバッファメモリである。変換テーブル作成手段180は、図9に示した変換テーブル作成手段80と同様、Nwビットが取り得る2のNw乗個の全ての登録順位に対して、互いにハミング距離が少なくとも4以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの登録順位とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。図19に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、携帯電話機等の携帯型端末装置をハードウェアとして用いることが望ましい。なお、本明細書では、携帯電話機等の携帯型端末装置であっても、演算処理機能を有するものは、コンピュータの一種と考えるものとする。
【0128】
次に、図19に示した音響信号からの情報の抽出装置の処理動作について説明する。抽出装置を起動すると、まず、変換テーブル作成手段180が、符号変換テーブルを作成する。変換テーブル作成手段180による符号変換テーブルの作成は、変換テーブル作成手段80と同様、図12のフローチャートに従った処理により行われ、図13に示したような符号変換テーブルが得られることになる。
【0129】
続いて、符号変換テーブル作成処理後の、抽出装置の処理動作について説明する。本発明に係る抽出装置は、検査符号によりエラーを検出した際、エラー訂正を行わない設定とすることもできるし、1ビットのエラー訂正をするものと設定することもできる。ここからは、エラー訂正を行わない設定における抽出装置の処理動作を、図20のフローチャートに従って説明する。まず、本装置では、位相判定テーブルS(p)、位相決定ログ、位相確定フラグ、ビットカウンタを初期化する(S200)。位相判定テーブルS(p)は、位相を判定するためのテーブルであり、pは0〜5の整数値をとる。初期値はS(p)=0に設定されている。位相決定ログは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録していくものであり、初期状態では0が設定されている。位相確定フラグは、位相が確定しているかどうかを示すフラグであり、初期状態ではOffに設定されている。ビットカウンタについては初期値として0を設定する。
【0130】
このように、符号変換テーブルが作成され、初期値が設定されている状態で、利用者が流れている音楽について、その楽曲名等の属性情報を知りたいと思った場合、まず、抽出装置に対して、抽出装置としての起動の指示を行う。これは、例えば、抽出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。抽出装置は、指示が入力されると、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン(または指向性マイクロフォンの一方のチャンネル)から入力される音声を、A/D変換器によりデジタル化する処理を行うことになる。
【0131】
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S201)。具体的には、Aタイプ、Bタイプについての基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図9に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、Aタイプ、Bタイプについてそれぞれ4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、各チャンネルについて、Aタイプ、Bタイプ2個ずつの基準フレーム、すなわち2.5Nサンプルが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム4個分(連続する10240サンプル)が格納されていることになる。
【0132】
抽出装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、Aタイプの音響フレームとBタイプの音響フレームが、2048サンプルずつ重複している場合、最初の基準フレームとしてサンプル番号1からサンプル番号4096までを設定したら、次の基準フレームは、サンプル番号2049からサンプル番号6144、さらに次の基準フレームは、サンプル番号4097からサンプル番号8192、さらに次の基準フレームは、サンプル番号6145からサンプル番号10240、というように途切れることなく設定される。そして、各基準フレームについて、1/6フレーム(約683サンプル)ずつ移動した5個の位相変更フレームを設定する。例えば、最初の基準フレームについては、サンプル番号683、1366、2049、2732、3413から始まる4096のサンプルで構成される5個の位相変更フレームが設定されることになる。続いて、周波数変換手段130、符号判定パラメータ算出手段140が、読み込んだ各音響フレームについて、位相を特定した後、埋め込まれている情報を判定し、対応する符号を出力する(S202)。出力される情報の形式は、付加情報が埋め込まれる場合に対応する値1、値2の2通りの形式となる。
【0133】
ここで、ステップS202の位相確定および符号判定の詳細を図21のフローチャートに従って説明する。まず、位相確定フラグがOnであるかOffであるかの確認を行う(S301)。位相確定フラグがOnである場合は、位相確定処理(S303〜S309)を行わず、符号判定処理のみを行う(S302)。ただし、初期状態では位相は確定しておらず、位相確定フラグがOffとなっているので、候補符号テーブルB(p)の初期化を行う(S303)。候補符号テーブルB(p)は、1つの基準フレームおよび5個の位相変更フレームを特定するp=0〜5の位相番号および、この6個の音響フレームの状態から得られる2値の符号を記録するものである。
【0134】
続いて、符号判定パラメータ算出手段140は、符号判定処理を行う(S302)。ここで、符号判定処理の詳細を図22に示す。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行って各窓スペクトルを得る(S401)。具体的には、上記〔数式14〕〔数式15〕に従った処理を実行し、変換データの実部A(1,j,p)、虚部B(1,j,p)、実部A(2,j,p)、虚部B(2,j,p)を得る。
【0135】
S401の処理については、実際には、Aタイプ音響フレームについて周波数変換を行った後、N/2サンプルだけシフトしてBタイプ音響フレームについて周波数変換を行う。これらの変換データA(2,j,p)、B(2,j,p)、A(2,j,p)、B(2,j,p)に対して、上記〔数式16〕に従った処理を実行し、振幅変換を行う(S402)。
【0136】
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、符号判定パラメータC、C´を上述のようにして算出した後、符号判定パラメータC、C´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、1ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S403)。具体的には、上記〔数式17〕〜〔数式19〕に従った処理を実行して、符号判定パラメータC、C´を算出する。そして、この両者を比較して、C>C´であれば候補符号Bを候補符号テーブルB(p)に設定し、C≦C´であれば候補符号B´を候補符号テーブルB(p)に出力する。
【0137】
S403の具体的な処理手順としては、まず、上記〔数式17〕の1番目の式と2番目の式を利用して基本強度値E(1,j,p)、E(2,j,p)を算出した後、上記〔数式18〕の1番目から4番目までの式を利用してE1(p)、E2(p)、E3(p)、E4(p)を算出し、上記〔数式19〕に従って候補符号Bおよび符号判定パラメータCを算出する処理を行う。続いて、上記〔数式17〕の3番目から6番目までの式を利用して、残響補正処理を行って基本強度値E´(1,j,p)、E´(2,j,p)を算出する。そして、上記〔数式18〕の5番目から8番目までの式を利用してE1´(p)、E2´(p)、E3´(p)、E4´(p)を算出し、上記〔数式19〕に従って候補符号B´および補正符号判定パラメータC´を算出する処理を行う。
【0138】
1音響フレームに2ビットが埋め込まれている場合は、S403において、符号判定パラメータ算出手段140は、符号判定パラメータC1、C2、C1´、C2´を上述のようにして算出した後、符号判定パラメータC1、C2、C1´、C2´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、2ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う。具体的には、上記〔数式17〕〔数式18〕〔数式20〕〔数式21〕に従った処理を実行して、符号判定パラメータC1、C2、C1´、C2´を算出する。そして、C1+C2>C1´+C2´であれば候補符号B1、B2を候補符号テーブルB(p)に設定し、C1+C2≦C1´+C2´であれば候補符号B1´、B2´を候補符号テーブルB(p)に出力する。
【0139】
また、上記判定の結果、位相pにおける候補符号テーブルB(p)に値1、値2のいずれかを出力した場合には、さらに、以下の〔数式22〕に従って位相判定テーブルS(p)の更新を行う(S404)。
【0140】
〔数式22〕
C>C´である場合、S(p)←S(p)+C
C≦C´である場合、S(p)←S(p)+C´
【0141】
1音響フレームに2ビットが埋め込まれている場合は、判定の結果、位相pにおける候補符号テーブルB(p)に2ビットに対応する値を出力した場合には、S404において、以下の〔数式23〕に従って位相判定テーブルS(p)の更新を行う。
【0142】
〔数式23〕
C1+C2>C1´+C2´である場合、S(p)←S(p)+C1+C2
C1+C2≦C1´+C2´である場合、S(p)←S(p)+C1´+C2´
【0143】
ここで、図21のフローチャートに戻って、符号判定パラメータ算出手段140は、候補符号テーブルB(p)に、位相pにおいて符号判定処理(S302)で仮決定された符号を保存する(S304)。
【0144】
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S305)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S302に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、位相判定テーブルS(p)の値が最大となる位相番号pmaxに対応する位相が最適位相であると判定し、候補符号テーブルB(p)に記録されている符号B(pmax)を出力する(S306)。
【0145】
続いて、位相決定ログの更新を行う(S307)。位相決定ログとは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録するものである。そして、位相決定ログを参照して、位相が過去所定回数同一であったかどうかを判断する(S308)。本実施形態では、この回数を10回としている。位相が過去所定回数同一であった場合には、位相確定フラグをOnに設定する(S309)。これにより、同一位相が所定回数続いた場合には、最適位相はpmaxとなる可能性が高いため、位相確定処理(S303〜S309)を行わず、位相番号p=pmaxに対してのみ符号判定処理(S302)を行うことになる。
【0146】
再び図20のフローチャートに戻って説明する。位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存する(S203)。次に、ビットカウンタを“1”だけカウントアップする(S204)。
【0147】
次に、ビットカウンタが11以下であるか12以上であるかを判断する(S205)。ビットカウンタが11以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
【0148】
ビットカウンタが12以上である場合は、バッファに保存された12ビットのビット配列のデコードを行う(S206)。このデコード処理の詳細を、図23のフローチャートに従って説明する。
【0149】
付加情報抽出手段160は、まず、初期化処理を行う(S701)。具体的には、7ビット符号KFおよび最小ハミング距離HDを定義するとともに、KF=0およびHD=2として初期化する処理を行う。続いて、i=0に初期設定する(S702)。次に、バッファに保存された12ビットのビット配列を12ビット符号HFとし、符号変換テーブルのi番目に対応する12ビット符号とのハミング距離hdを算出し、hd<HDの場合、KF=i、HD=hdに更新する(S703)。そして、iの値を1加算して(S704)、iの値が128未満である場合には、S703の処理を繰り返し行う。付加情報抽出手段160は、図13に示した符号変換テーブルに記録された128個のハミング符号全てについて、ハミング距離hdを算出し、最小ハミング距離HD、およびハミング距離が最小となる場合の7ビット基準符号KFを得る。
【0150】
最小ハミング距離HDが得られたら、図20に戻って、得られた最小ハミング距離HDが0か、1以上かを判断する(S207)。S207において最小ハミング距離が1以上と判断された場合は、S201に戻って、次の基準フレームを抽出する処理を行う。
【0151】
S207において最小ハミング距離が0と判断された場合は、付加情報抽出手段160が、図23の処理により得られた7ビット基準符号KFに1ビット付加して出力する(S208)。S207において最小ハミング距離が0であった場合は、バッファ中の先頭の1ビット目が、付加情報内のワードの1ビット目であった可能性が高いことになる。このため、その先頭からの7ビットにビット“0”を付加することによりASCIIコードにおける1ワードとして出力するのである。ハミング距離が1以上の場合は、照合に用いた12ビットが、付加情報内のワードとずれている可能性が高いことになる。この場合は、先頭の1ビットを破棄して、S201からS204の処理により新たな1ビットを得るための処理を行う。
【0152】
最小ハミング距離が0と判断された場合は、その部分がワードの区切りである可能性が高いので、それが本当に区切りであれば、以降は12ビットずつ抽出すれば、全て正確にワード単位で抽出を行うことができる。逆に、最小ハミング距離が0と判断されたとしても、それが偶然であり、実はワードの区切りではない場合も考えられる。このような場合は、次の検査の際に不適合となる可能性が高く、何回か繰り返しているうちに正しい区切りが正確に判断できることになる。S208において、7ビット基準符号KFに1ビット付加して出力した場合には、ビットカウンタを0に初期化する(S209)。そして、S201に戻って、次の基準フレームを抽出する処理を行う。
【0153】
図20に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S201において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
【0154】
上記S208の処理において、付加情報抽出手段160は、まず、符号出力手段150により出力された値を、所定の規則により変換して意味のある付加情報として抽出する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態にすることができるものであれば、さまざまな規則が採用できるが、本実施形態では、ASCIIコードを採用している。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号から得られるビット値の配列を1バイト(8ビット)単位で認識し、これをASCIIコードに従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
【0155】
従って、埋め込み装置により音響信号に、その楽曲の曲名やアーチスト等の属性情報を文字情報として埋め込んでおけば、利用者は、その音楽が流れているのを聞いて、その曲名やアーチストを知りたいと思ったときに、抽出装置として機能する自身の携帯端末に所定の操作を行えば、自身の携帯端末の画面に曲名やアーチスト等の属性情報が文字情報として表示されることになる。
【0156】
上記の例では、図20のフローチャートに従ってエラー訂正を行わない設定における抽出装置の処理動作を説明した。エラー訂正を行わない場合は、エラーが生じない場合にのみ、付加情報1ワードの出力が可能となる。
【0157】
次に、1ビットのエラー訂正をする設定における抽出装置の処理動作を、図24のフローチャートに従って説明する。図24においては、図20と同一処理を行う部分が含まれている。そこで、図20と同一処理を行う部分については、同一符号を付して説明を省略する。図24の例においても、まず、初期化処理を行う(S200)。この初期化処理では、図20の例と同様、位相判定テーブルS(p)、位相決定ログ、位相確定フラグ、ビットカウンタを初期化するが、さらに、自動訂正モードをOFFにする設定を行う。
【0158】
続いて、図20と同様、所定数のサンプルで構成される音響フレームを基準フレームとして抽出した後(S201)、読み込んだ各音響フレームについて、位相を特定した後、埋め込まれている情報を判定し、対応する符号を出力する(S202)。なお、S202の処理については、図21、図22に示したようなものとなる。
【0159】
位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存して(S203)、ビットカウンタを“1”だけカウントアップする(S204)。そして、ビットカウンタが11以下であるか12以上であるかを判断し(S205)、ビットカウンタが11以下の場合は、S201に戻って、次の基準フレームを抽出する処理を行う。
【0160】
ビットカウンタが12以上である場合は、バッファに保存された12ビットのビット配列のデコードを行う(S206)。続いて、得られたハミング距離が0か1以上かを判断する(S207)。S207においてハミング距離が0と判断された場合は、S208におけるビット列の出力処理の直前に、自動訂正モードをONに設定する処理を行う(S210)。
【0161】
S207においてハミング距離が1以上と判断された場合は、さらにハミング距離が1か2以上かを判断する(S211)。判断の結果、ハミング距離が2以上と判断された場合には、自動設定モードをOFFに設定する処理を行った後(S212)、S201に戻って、次の基準フレームを抽出する処理を行う。
【0162】
S211における判断の結果、ハミング距離が1と判断された場合には、自動訂正モードがONであるかOFFであるかの確認を行う(S213)。自動訂正モードがOFFである場合は、S201に戻って、次の基準フレームを抽出する処理を行う。
【0163】
自動訂正モードがONである場合は、付加情報抽出手段160が、図23の処理により得られた7ビット基準符号KFに1ビット付加して出力する(S208)。そして、ビットカウンタを0に初期化する(S209)。
【0164】
図24の例のように、1ビットのエラー訂正をする設定の場合は、1ビットのエラーが生じた場合であっても、付加情報1ワードの出力が可能となる。
【0165】
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り(本実施形態では6通り)で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、6通りで読み込む場合、先頭の音響フレームは、本来サンプル番号1〜4096のサンプルであるが、サンプル番号1、683、1366、2049、2732、3413から始まる4096のサンプルで構成される6個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。なお、図21のフローチャートを用いて説明したように、本実施形態では、同一位相が所定回数連続した場合には、それ以降はその位相を確定したものとして処理を行う。
【0166】
(8.ビット配列のビット数Nh、ハミング距離を変更した場合)
上記実施形態では、ビット配列作成の際、作成されるビット配列は、12ビット(Nhビット)でハミング距離が4となるようにしたが、ビット配列のビット数Nh、およびハミング距離は、適宜変更することが可能である。一般に、ビット配列のビット数Nhを大きくすれば、符号化効率は悪くなるが、訂正可能な誤りビット数は増えることになる。したがって、マイクロフォンの感度や演算処理能力が比較的高い抽出装置を用いる場合には、ビット数、ハミング距離が小さいビット配列を作成するようにし、マイクロフォンの感度や演算処理能力が比較的低い抽出装置を用いる場合には、ビット数、ハミング距離が大きいビット配列を作成するようにする。
【0167】
ここでは、ビット配列のビット数Nhを16、ハミング距離を6とした場合の例について説明する。ビット配列のビット数を16、ハミング距離を6とした場合も、変換テーブル作成手段80による符号変換テーブル作成は、基本的には、図12に示したフローチャートに従って行われる。ただし、HFが16ビット符号である点、S603において16ビット符号HFと符号変換テーブルに既に登録されている他の16ビット符号とのハミング距離を算出した後、S604、S605のいずれに進むかの閾値が、ハミング距離が6未満か、6以上かで決まる点が、ビット数Nh=12、ハミング距離4の場合と異なっている。
【0168】
このようにして作成された符号変換テーブルを図25に示す。図25に示すように、符号変換テーブルには、7ビット符号が取り得る各値0〜127について、16ビット符号が対応付けて登録されている。16ビット符号の2進表記を見るとわかるように、全ての16ビット符号は互いにハミング距離が6以上となっている。なお、図25の例では、説明の便宜上、7ビット符号の10進表記と、16ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と16ビット符号のビット列が対応付けて登録されている。
【0169】
符号変換テーブル作成処理後は、図14のフローチャートに従って埋め込み処理が行われる。この際、1ワードとして、16ビット分の処理が行われることになる。
【0170】
抽出時には、変換テーブル作成手段180が、最初に、符号変換テーブルを作成する。符号変換テーブルが作成された後は、図20〜図24に従った処理により、付加情報が抽出されることになる。16ビット符号を扱う場合、図20、図24におけるS205においては、ビットカウンタが15以下か16以上かで判断を行うことになる。また、図23のS701においては、最小ハミング距離HD=3として初期化し、S703においては、HFが16ビット符号として定義される。また、図24のS212に進むのは、最小ハミング距離が3以上の場合となる。
【0171】
(9.信号成分が小さい場合にさらに確実に情報の埋め込みを行う手法)
ここまでの説明のように、本実施形態では、元の信号成分に無音に近い部分があっても、情報の埋め込みを可能とするものである。このままでも、もちろん十分であるが、より確実に情報を埋め込むような処理を付加することも可能である。具体的には、周波数変換を行う前に、音響信号に聴取困難な微弱な白色ノイズを重畳させる。
【0172】
この場合、図9に示した音響フレーム読込手段10は、所定数のサンプルを1音響フレームとして読み込んだ後、所定の振幅範囲で所定サンプル数単位で同一値を加算または減算する機能を有している。本実施形態では、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、−32〜+32の振幅範囲(Xl(i)、Xr(i)のとり得る値が−32768〜+32767の場合)で一様乱数Hを発生させ、K(本実施形態ではK=5)個のサンプル間は同一値Hを用いて以下の〔数式24〕に示すような処理を実行し、Xl(i)、Xr(i)の値を更新する。
【0173】
〔数式24〕
Xl(i)←Xl(i)+H
Xr(i)←Xr(i)−H
【0174】
すなわち、上記〔数式24〕に従った処理をNサンプルに渡って実行することにより、1つの音響フレームに白色ノイズが発生されることになる。この白色ノイズの発生処理は、図14のフローチャートにおいては、S103、S104の音響フレーム抽出処理の直後に行われることになる。
【0175】
上記のように、白色ノイズを発生させた場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図19と同一であり、処理動作は図20〜図24のフローチャートに従ったものと同一である。
【0176】
(10.抽出時に符号逆変換テーブルを作成する場合)
上記実施形態では、抽出装置は、バッファにNh(12又は16)ビットが保存された状態で、図23に示した処理を実行することにより、対応する7ビットの基準符号KFを得るようにしたが、この場合、1ワード単位で図23に示した処理を実行することになるため、処理負荷が大きくなる。このような処理負荷を小さくするためには、得られたNhビットを、Nwビットに変換するための符号逆変換テーブルを作成しておくことが望ましい。ここでは、このような符号逆変換テーブルを利用する場合について説明する。
【0177】
この場合、抽出装置の変換テーブル作成手段180は、変換テーブル作成手段80の機能に加え、符号逆変換テーブルを作成する機能を備えるとともに、付加情報抽出手段160が、図23に従った処理を行う機能に代えて、符号逆変換テーブルを参照する機能を備える。具体的には、付加情報抽出手段160は、図20、図24のS206において、図23に従った処理を実行する代わりに、符号逆変換テーブルを参照することになる。
【0178】
この場合、変換テーブル作成手段180は、Nh(>Nw)ビットの全ハミング符号に対して、変換対象となるハミング符号までのハミング距離を記録するとともに、このハミング距離が所定以下のハミング符号に対しては、対応するNwビットの登録順位が対応付けられた符号逆変換テーブルを作成する機能を有する。
【0179】
抽出装置を起動すると、まず、変換テーブル作成手段180が、符号逆変換テーブルを作成する。変換テーブル作成手段180による符号逆変換テーブルの作成は、最初に、変換テーブル作成手段80と同様の処理を行って符号変換テーブルを作成した後、この符号変換テーブルを利用して行う。
【0180】
符号逆変換テーブルは、Nhビットの全ハミング符号に対して、各々符号変換テーブルに登録されているハミング符号までの最小のハミング距離を記録するとともに、このハミング距離が所定以下のハミング符号に対しては、逆変換先となるNwビットの登録順位(当該ハミング距離をもつハミング符号が符号変換テーブルに登録されている登録順位)が対応付けられたものであるので、Nh=12の場合、HF=0〜4095までの各ハミング符号について作成されることになる。HFの値を特定した場合の処理は、図23に示したものと同じである。S704において、iの値が128以上となった場合、ハミング距離HDが0または1であった場合には、ハミング符号HFと対応付けて、7ビット符号KFおよび最小ハミング距離HDを符号逆変換テーブルに登録する。
【0181】
図23に示した処理を、HF=0〜4095の全てについて実行することにより、図26に示すような符号逆変換テーブルが作成される。図26に示すように、符号逆変換テーブルには、12ビット符号HFが取り得る各値0〜4095について、ハミング距離が対応付けて登録されているとともに、ハミング距離が1以下となったものについては、対応する7ビット符号KFが登録されている。なお、図26の例では、説明の便宜上、7ビット符号の10進表記と、12ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と12ビット符号のビット列が対応付けて登録されている。
【0182】
また、Nh=16の場合、図23に示した処理を、HF=0〜65535の全てについて実行することにより、図27に示すような符号逆変換テーブルが作成される。
【0183】
そして、図20のS206の処理を行う際には、Nh=12の場合は、得られた12ビットで図26を参照し、対応する7ビット符号KFと、ハミング距離を得ることになり、Nh=16の場合は、得られた16ビットで図27を参照し、対応する7ビット符号KFと、ハミング距離を得ることになる。
【0184】
(11.周波数範囲の変形例)
上記実施形態では抽出精度を向上させるため、電話帯域全体に埋め込み領域を拡大する方法を採用したが、再生品質を向上させるため、下位の変更対象周波数帯の幅を上記実施形態より狭くすることも可能である。具体的には、変更対象周波数帯の下限F1を0.85kHzとする。この場合、上位周波数帯は1.7kHz〜3.4kHz、下位周波数帯は0.85kHz〜1.7kHzとなる。ただし、実験の結果、前記電話帯域全体に埋め込み領域を設定した方法と比較し、品質上の顕著な差は無く、むしろ抽出精度の低下のデメリットの方が大きく、結果的に優位性は見られなかった。また出願人は、電話帯域全体に埋め込み領域を設定する際、上記実施形態で示した方法ではなく、下位周波数帯を0.85kHz〜1.7kHzに狭くし、その下に、さらに独立した周波数帯0.34kHz〜0.85kHzを三重に設置する手法についても実験したが、比較の結果、下位周波数帯を0.34kHz〜1.7kHzの1本にまとめる方が雑音の抑圧効果が高く、感度も2倍程度に拡大されることがわかった。低音部は信号エネルギー成分が大きいため、わずかな拡大により感度が顕著に改善されたのだと思われる。結局、周波数方向に4つの周波数領域に分け、上位周波数帯と下位周波数帯の幅を近づけ、二重の音脈分凝を形成する手法が、人間の聴覚に対して、最もノイズを抑制できることがわかった。
【0185】
(12.その他)
以上、本発明の好適な実施形態について限定したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、1音響フレームのサンプル数N=4096としたが、N=2048、1024、512等を設定するようにしても良い。これにより、同一時間あたりの音響フレーム数が、2倍、4倍、8倍となり、全体として2〜8倍の情報の埋め込みが可能となる。
【0186】
また、上記実施形態では、音響信号からの情報の抽出装置を、携帯電話機等の携帯型端末装置単体で実現した場合を例にとって説明したが、他のコンピュータと連携して実現するようにしても良い。具体的には、携帯型端末装置と専用コンピュータを無線通信可能に接続し、音響信号入力手段100〜音響フレーム保持手段170の構成要素のうち、演算負荷の大きいものは、専用コンピュータで処理する。例えば、音響信号入力手段100、基準フレーム獲得手段110、位相変更フレーム設定手段120、付加情報抽出手段160、変換テーブル作成手段180を携帯型端末装置に備え、周波数変換手段130、符号判定パラメータ算出手段140、符号出力手段150、音響フレーム保持手段170を専用コンピュータに備えるようにして、必要な情報を両者間で通信するようにする。これにより、携帯型端末装置の処理性能が低い場合であっても高速な処理を行うことが可能となる。
【0187】
また、上記実施形態では、2チャンネルのステレオ音響信号を利用した場合を例にとって説明したが、1チャンネルのモノラル音響信号を利用しても良い。この場合は、上記LチャンネルまたはRチャンネルのいずれか一方に対して行った処理を実行すれば良い。
【0188】
また、周波数成分変更手段30による所定周波数成分の変更を、図11および〔数式11〕に従って実行するようにしたが、埋め込むべきビット値に応じた周波数成分の変更は、様々なものを用いることができ、例えば特許文献1に示したような手法を用いることも可能である。この場合、抽出側においても、当然その埋め込み手法に応じた手法で抽出が行われる。
【図面の簡単な説明】
【0189】
【図1】従来の埋め込み装置の利用環境と本発明のリアルタイム埋め込み装置の利用環境を比較した図である。
【図2】本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境をさらに詳細に示した図である。
【図3】本発明第1の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。
【図4】第1の実施形態において実行制御手段が行う処理を中心としたフローチャートである。
【図5】本発明第2の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。
【図6】第2の実施形態において実行制御手段が行う処理を中心としたフローチャートである。
【図7】録音処理手段210の処理概要を示すフローチャートである。
【図8】再生処理手段250の処理概要を示すフローチャートである。
【図9】付加情報埋め込み手段230の詳細を示す図である。
【図10】本実施形態で用いる時間方向窓関数を示す図である。
【図11】変更対象周波数帯の成分の変化の状態を示す図である。
【図12】符号変換テーブル作成の処理概要を示すフローチャートである。
【図13】7ビット符号と12ビット符号の符号変換テーブルの一例を示す図である。
【図14】図9に示した付加情報埋め込み手段230の処理概要を示すフローチャートである。
【図15】振幅変換を用いない埋め込み処理を説明するための図である。
【図16】振幅変換を用いない抽出処理を説明するための図である。
【図17】振幅変換を用いた埋め込み処理を説明するための図である。
【図18】振幅変換を用いた抽出処理を説明するための図である。
【図19】音響信号からの情報の抽出装置の機能ブロック図である。
【図20】図19に示した装置の、エラー訂正を行わない設定における処理概要を示すフローチャートである。
【図21】図20のS202の位相確定および符号出力の詳細を示すフローチャートである。
【図22】図21のS302の符号判定処理の詳細を示すフローチャートである。
【図23】12ビット符号HFが特定された場合の、対応する7ビット符号KF、最小ハミング距離HDを得るための処理を示すフローチャートである。
【図24】図19に示した装置の、1ビットのエラー訂正をする設定における処理概要を示すフローチャートである。
【図25】7ビット符号と16ビット符号の符号変換テーブルの一例を示す図である。
【図26】7ビット符号と12ビット符号の符号逆変換テーブルの一例を示す図である。
【図27】7ビット符号と16ビット符号の符号逆変換テーブルの一例を示す図である。
【符号の説明】
【0190】
10・・・音響フレーム読込手段
20・・・周波数変換手段
30・・・周波数成分変更手段
40・・・周波数逆変換手段
50・・・改変音響フレーム出力手段
62・・・付加情報記憶部
70・・・ビット配列作成手段
80・・・変換テーブル作成手段
100・・・音響信号入力手段
110・・・基準フレーム獲得手段
120・・・位相変更フレーム設定手段
130・・・周波数変換手段
140・・・符号判定パラメータ算出手段
150・・・符号出力手段
160・・・付加情報抽出手段
170・・・音響フレーム保持手段
180・・・変換テーブル作成手段
210・・・録音処理手段
220・・・録音ブロック蓄積手段
230・・・付加情報埋め込み手段
240・・・再生ブロック蓄積手段
250・・・再生処理手段
260・・・ブロック一時蓄積手段
【技術分野】
【0001】
本発明は、CD・DVD等を用いた民生・業務用途における鑑賞用のパッケージ音楽分野、放送事業者等が商業目的で配信する放送・ネットワーク音楽配信分野における音楽著作権の保護(不正コピーの監視)および音楽属性情報の提供(楽曲タイトル検索サービス)分野、ミュージアム、イベント会場における展示説明ナレーションに連動した文字情報の提供サービス分野、放送番組やCD/DVDパッケージの音声信号からURLなどの情報を抽出し、携帯電話を用いて所定のコンテンツに関連するwebサイトにアクセスして詳細情報を抽出したり、アンケートに回答したりする非接触なインターネットのゲートウェイサービス分野に関する。
【背景技術】
【0002】
従来、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスとして、放送された音楽に対して日時と地域を放送局に照会したり、携帯電話で流れている音楽断片を録音してデータベースに登録されているメロディーと照合したりするサービスが行われている。本出願人は、これをさらに発展させ、音響信号の周波数成分の比率を属性情報のビット値に応じて変更することにより、属性情報(付加情報)を埋め込む手法を提案している(特許文献1参照)。一方、本出願人は、付加情報が埋め込まれた音響信号を再生しながら、リアルタイムに付加情報を抽出する手法も提案している(特許文献2、3参照)。
【特許文献1】特開2006−323246号公報
【特許文献2】特開2006−195061号公報
【特許文献3】特開2006−235359号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記特許文献1に記載の発明は、音響信号を記録した音響データファイルが存在する場合には、付加情報を埋め込むことはできるが、音響データファイルが存在しない場合には、付加情報を埋め込むことができない。そのため、生放送番組、ライブ演奏、講演会、街頭放送などにおいては、付加情報を埋め込んだ音声を発することができないという問題がある。また、音響データファイルが存在する場合であっても、音声を発している途中で付加情報を変更したいという要望に応えることができないという問題がある。
【0004】
そこで、本発明は、付加情報をリアルタイムで音響信号に埋め込みながら、付加情報を埋め込んだ音響信号を再生することが可能な音響信号に対する情報のリアルタイム埋め込み装置を提供することを課題とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明第1の態様では、音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、所定数の音響ブロックを蓄積できる録音ブロック蓄積手段と再生ブロック蓄積手段と、前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを作成し、当該音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記再生ブロック蓄積手段に書き込む付加情報埋め込み手段と、前記再生ブロック蓄積手段に蓄積されている再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段を有する音響信号に対する情報のリアルタイム埋め込み装置を提供する。
【0006】
本発明第1の態様によれば、デジタル化した音響信号のうち所定数のサンプルで構成される音響ブロックを蓄積できる録音ブロック蓄積手段と再生ブロック蓄積手段を用意し、録音ブロック蓄積手段から読み込んだ抽出した録音ブロックに対して付加情報の埋め込みを行って再生ブロックとして再生ブロック蓄積手段に書き込む一方、入力された音響信号から音響ブロックを作成して録音ブロック蓄積手段に蓄積し、再生ブロック蓄積手段から音響ブロックを抽出して音響信号として再生し、これらの処理タイミングが不連続にならないよう制御するようにしたので、付加情報をリアルタイムで音響信号に埋め込むことが可能となる。
【0007】
また、本発明第2の態様では、音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、所定数の音響ブロックを蓄積できる録音ブロック蓄積手段、ブロック一時蓄積手段、再生ブロック蓄積手段と、前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを読み込み、前記音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記ブロック一時蓄積手段に書き込む付加情報埋め込み手段と、前記ブロック一時蓄積手段に蓄積されている単一の再生ブロックを読み込み、当該再生ブロックを前記再生ブロック蓄積手段に書き込む再生準備手段と、前記再生ブロック蓄積手段に蓄積されている単一の再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、前記再生処理手段が前記再生ブロック蓄積手段から再生ブロックを抽出するごとに、所定の処理を前記再生準備手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段を有する音響信号に対する情報のリアルタイム埋め込み装置を提供する。
【0008】
本発明第2の態様によれば、本発明第1の態様に加えて、音響ブロックを蓄積できるブロック一時蓄積手段をさらに用意し、付加情報の埋め込みを行った後、ブロック一時蓄積手段に再生ブロックを一旦書き込み、所定のタイミングでさらに再生ブロック蓄積手段に書き込むよう制御するようにしたので、第1の態様に比べ、さらにタイミングの調整が行い易くなる。
【発明の効果】
【0009】
本発明によれば、付加情報をリアルタイムで音響信号に埋め込みながら、付加情報を埋め込んだ音響信号を再生することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.利用環境)
まず、本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境について説明する。図1は、従来の埋め込み装置の利用環境と本発明のリアルタイム埋め込み装置の利用環境を比較した図である。従来は、図1(a)に示すように、音響ファイルに対して、埋め込み装置により付加情報の埋め込みを行って埋込済音響ファイルを得て、この埋込済音響ファイルを通常の再生装置で再生し、スピーカから音声を発する。この発した音声を録音し、抽出装置で処理することにより付加情報が抽出される。本発明では、図1(b)に示すように、音響ファイルを通常の再生装置で再生するか、マイクロフォン等で取得した音声をリアルタイム埋め込み装置で音響信号に変換しながら、変換された音響信号に付加情報を埋め込み、付加情報が埋め込まれた音響信号を再生し、スピーカから音声を発する。この発した音声を録音し、抽出装置で処理することにより付加情報が抽出されるのは従来と同じである。
【0011】
図2は、本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境をさらに詳細に示した図である。本発明では、図2に示すように、音響ファイルを通常の再生装置で再生した音声、マイクロフォン等で取得した音声をミキサーでミキシングする。そして、ミキシングされた音響信号を信号分岐器に送る。信号分岐器は、ミキシングされた音響信号のうち、埋め込み対象となるチャンネルやトラックと、その他のチャンネルやトラックに分離し、リアルタイム埋め込み装置は埋め込み対象となるチャンネルやトラックに情報を埋め込み、信号遅延器は、埋め込み信号とタイミングを合わせるために、埋め込み対象でないチャンネルやトラックを遅延させる。そして、スイッチャーは、情報が埋め込まれたリアルタイム埋め込み装置の出力信号または埋め込み対象でない信号遅延器の出力信号のいずれかをオペレータの指示に基づいて選択してアンプに送信し、スピーカは音声を発する。付加情報を埋め込まない場合は、信号分岐器が、ミキシングされた音響信号を信号遅延器に送り、スイッチャーを経由してアンプ・スピーカに送る。
【0012】
(2.第1の実施形態)
図3は、本発明第1の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。図3において、210は録音処理手段、220は録音ブロック蓄積手段、230は付加情報埋め込み手段、240は再生ブロック蓄積手段、250は再生処理手段である。なお、図3に示す装置は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
【0013】
録音処理手段210は、録音サウンドデバイスを有しており、この録音サウンドデバイスを駆動させてアナログ信号をデジタルデータにA/D変換した後、所定数のサンプルを1つの音響ブロックとして出力する機能を有している。1音響ブロックを構成するサンプルの数は、本実施形態では、各チャンネル16384個としており、これは、録音・再生処理ともに64kbytes(44.1kHz、16bits、2chステレオの場合、0.37sec)とした場合に対応している。また、1音響ブロックは、後述する音響フレーム複数個分に相当し、1音響フレームが2048サンプルの場合、音響フレーム8個分、1音響フレームが4096サンプルの場合、音響フレーム4個分である。録音ブロック蓄積手段220は、音響ブロックを蓄積するバッファメモリを複数有しており、これらのバッファメモリに蓄積された音響ブロックを、FIFO(ファーストイン・ファーストアウト)方式、すなわち、先に入ってきた情報が、先に出ていく方式で処理する機能を有している。すなわち、録音ブロック蓄積手段220は、録音処理手段210から投入された音響ブロックを投入された順序で蓄積し、その順序で付加情報埋め込み手段230に渡す機能を有することとなる。音響ブロックのうち、付加情報が埋め込まれる前のものを特に録音ブロックと呼ぶことにする。
【0014】
付加情報埋め込み手段230は、音響ブロック内の各音響フレーム単位で処理を行って、付加情報を埋め込む機能を有している。付加情報埋め込み手段230における処理の詳細については、後述する。再生ブロック蓄積手段240は、録音ブロック蓄積手段220と同様、音響ブロックを蓄積するバッファメモリを複数有しており、これらのバッファメモリに蓄積された音響ブロックを、FIFO方式で処理する機能を有している。すなわち、再生ブロック蓄積手段240は、付加情報埋め込み手段230から投入された音響ブロックを投入された順序で蓄積し、その順序で再生処理手段250に渡す機能を有することとなる。再生処理手段250は、再生サウンドデバイスを有しているとともに、この再生サウンドデバイスを駆動させて音響ブロックを音響再生する機能を有しており、再生サウンドデバイスは、デジタルデータである音響ブロックをD/A変換して音声として再生する機能を有している。また、図示していないが、本発明の音響信号に対する情報のリアルタイム埋め込み装置は、各手段の実行タイミングを制御する実行制御手段を有している。音響ブロックのうち、付加情報が埋め込まれた後のものを特に再生ブロックと呼ぶことにする。
【0015】
図3に示した装置は、現実には、録音用、再生用のサウンドデバイスを搭載したコンピュータに専用のプログラムを組み込むことにより実現される。録音ブロック蓄積手段220、再生ブロック蓄積手段240は、それぞれメモリに音響ブロック4個分の領域が確保されることにより実現される。録音処理手段210、再生処理手段250は、それぞれ録音サウンドデバイス、再生サウンドデバイスを駆動させるデバイスドライバを含むプログラムにより実現される。図示しない実行制御手段は、上記各手段の制御をパイプライン処理で並列実行させるよう、コンピュータのCPUが、OSおよび専用のプログラムを協働させることにより実現される。本発明のリアルタイム埋め込み装置を実現するためのコンピュータは、オーディオインターフェースとして入力、出力の2系統を必要とし、また、CPU能力の高いものが望ましい。
【0016】
次に、図3に示した装置の処理動作について、図4のフローチャートを用いて説明する。図4は、実行制御手段が行う処理を中心としたフローチャートである。まず、オーディオ・ライン入力から音声が入力されている状態において、実行制御手段が、録音処理手段210を起動する(S501)。録音処理手段210は、録音サウンドデバイスで、入力されたアナログ信号をA/D変換した後、所定数単位のサンプルを1音響ブロックとして、録音ブロック蓄積手段220に書き込む処理を行う。録音処理手段210は、録音ブロックの録音ブロック蓄積手段220への書き込みが1つ終わると、録音終了信号を実行制御手段に送信する。実行制御手段は、録音処理手段210を起動した後、録音処理手段210からの信号を待つ状態となる(S502)。この状態で、録音処理手段210から録音終了信号を受信すると、実行制御手段は、付加情報埋め込み手段230に録音ブロック蓄積手段220から録音ブロックを1つ読み込ませるとともに、付加情報埋め込み手段230に読み込まれた録音ブロックを録音ブロック蓄積手段220から消去させる(S503)。
【0017】
付加情報埋め込み手段230は、録音ブロック蓄積手段220から録音ブロックを読み込むと、その録音ブロックに対して付加情報を埋め込む処理を実行する(S504)。この付加情報埋込処理の詳細については後述する。1つの録音ブロックに対して埋め込み処理が終了すると、付加情報埋め込み手段230は、埋め込み終了信号を実行制御手段に送信する。すると、実行制御手段は、再生処理手段250が未起動であるかどうかを判断する(S505)。そして、未起動である場合は、再生処理手段250を起動する(S506)。再生処理手段250が起動したら、付加情報埋め込み手段230は、埋め込み処理済みの再生ブロックを再生ブロック蓄積手段240に書き込む処理を行う(S507)。再生処理手段250は、再生ブロック蓄積手段240に書き込まれた再生ブロックを逐次読み込み、再生サウンドデバイスで、D/A変換した後、アナログ信号として、オーディオ・ライン出力を行う。S502において、装置停止信号を受信した場合には、実行制御手段は、装置を停止する処理を行う。
【0018】
(3.第2の実施形態)
図5は、本発明第2の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。図5において、図3と同様の機能を有するものについては、同一符号を付している。図示していないが、第2の実施形態においても、音響信号に対する情報のリアルタイム埋め込み装置は、各手段の実行タイミングを制御する実行制御手段を有している。第2の実施形態では、主にブロック一時蓄積手段260を有している点、ブロック一時蓄積手段260から再生ブロック蓄積手段240に再生ブロックを渡す再生準備手段を有している点が第1の実施形態と異なっている。なお、再生準備手段は図示していない。
【0019】
ブロック一時蓄積手段260は、録音ブロック蓄積手段220、再生ブロック蓄積手段240と同様、音響ブロックを蓄積するバッファメモリを複数有しており、これらのバッファメモリに蓄積された音響ブロックを、FIFO方式で処理する機能を有している。すなわち、ブロック一時蓄積手段260は、付加情報埋め込み手段230から投入された音響ブロックを投入された順序で蓄積し、その順序で再生ブロック蓄積手段240に渡す機能を有することとなる。ブロック一時蓄積手段260は、メモリに音響ブロック4個分の領域が確保されることにより実現される。
【0020】
次に、図5に示した装置の処理動作について、図6のフローチャートを用いて説明する。図6において、図4と同様の処理については、同一符号を付している。第2の実施形態では、S504とS505の処理の間にS508の処理が入る点と、再生終了信号を受信した場合に、S509、S507の処理を行う点が第1の実施形態と異なっている。
【0021】
第2の実施形態では、実行制御手段が、録音処理手段210を起動した(S501)後、録音処理手段210および再生処理手段250からの信号を待つ状態となる(S502)。この状態で、実行制御手段が、録音処理手段210から録音終了信号を受信すると、S503、S504の処理が実行される。
【0022】
1つの録音ブロックに対して埋め込み処理が終了すると、付加情報埋め込み手段230は、ブロック一時蓄積手段260に再生ブロックを書き込む(S508)。すると、実行制御手段は、再生処理手段250が未起動であるかどうかを判断する(S505)。そして、未起動である場合は、再生処理手段250を起動する(S506)。再生処理手段250は、後述する通り、再生ブロック蓄積手段240に書き込まれた再生ブロックを逐次読み込み、再生サウンドデバイスで、D/A変換した後、アナログ信号として、オーディオ・ライン出力を行う。
【0023】
第2の実施形態では、S502における信号待ち状態で、再生処理手段250から再生終了信号を受信すると、再生準備手段は、ブロック一時蓄積手段260から再生ブロックを1つ読み込み、ブロック一時蓄積手段260内の1音響ブロック分のメモリ領域を開放する(S509)。そして、ブロック一時蓄積手段260から読み込んだ再生ブロックを再生ブロック蓄積手段240に書き込む(S507)。
【0024】
(4.録音処理手段による処理)
次に、録音処理手段210による処理を、図7のフローチャートを用いて説明する。実行制御手段からの指示により、録音処理手段210が起動すると(S801)、録音処理手段210は、録音ブロック蓄積手段220内に空き領域があるかどうかを探索する(S802)。録音ブロック蓄積手段220内に空き領域がある場合は、録音処理手段210は、録音処理を実行し、録音ブロックを作成する(S803)。録音ブロックを1個作成したら、録音処理手段210は、録音ブロック蓄積手段220に、作成された1個の録音ブロックを書き込む(S804)。録音ブロック蓄積手段220に、1個の録音ブロックを書き込んだら、録音処理手段210は、録音終了信号を実行制御手段に送信する(S805)。
【0025】
(5.再生処理手段による処理)
次に、再生処理手段250による処理を、図8のフローチャートを用いて説明する。実行制御手段からの指示により、再生処理手段250が起動すると(S901)、再生処理手段250は、再生ブロック蓄積手段240内に再生ブロックがあるかどうかを探索する(S902)。再生ブロック蓄積手段240内に再生ブロックがある場合は、再生処理手段250は、再生ブロック蓄積手段240から再生ブロックを読み込む(S903)。この際、再生処理手段250は、読み込んだ再生ブロックを再生ブロック蓄積手段240から消去し、メモリ領域を開放する。続いて、再生処理手段250は、読み込んだ再生ブロックについて、再生処理を実行する(S904)。1個の再生ブロックの再生処理が終了したら、再生処理手段250は、再生終了信号を実行制御手段に送信する(S905)。
【0026】
(6.付加情報埋め込み手段)
次に、付加情報埋め込み手段230の詳細について説明する。図9は、付加情報埋め込み手段230の詳細を示す機能ブロック図である。図9において、10は音響フレーム読込手段、20は周波数変換手段、30は周波数成分変更手段、40は周波数逆変換手段、50は改変音響フレーム出力手段、62は付加情報記憶部、70はビット配列作成手段、80は変換テーブル作成手段である。なお、図9に示す付加情報埋め込み手段230は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
【0027】
音響フレーム読込手段10は、録音ブロック蓄積手段220から読み込んだ録音ブロックを複数の音響フレームに分割し、音響フレーム単位で読み込む機能を有している。周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響フレームをフーリエ変換等により周波数変換してスペクトルを生成する機能を有している。周波数成分変更手段30は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を複数抽出し、付加情報記憶部62から抽出した付加情報よりビット配列作成手段70が作成したビット配列に基づいて、スペクトル集合の状態を変更する機能を有している。周波数逆変換手段40は、変更されたスペクトル集合を含む複数のスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。改変音響フレーム出力手段50は、生成された改変音響フレームを順次蓄積し、1音響ブロック分蓄積された際に、音響ブロックとして再生ブロック蓄積手段240(第1の実施形態の場合)またはブロック一時蓄積手段260(第2の実施形態の場合)に出力する機能を有している。
【0028】
付加情報記憶部62は、音響信号に埋め込まれる付加情報を記憶した記憶手段である。ビット配列作成手段70は、付加情報記憶部62から付加情報を抽出し、付加情報の各ワードについて、変換テーブル作成手段80を参照し、対応するビット配列を作成する機能を有している。変換テーブル作成手段80は、Nwビットが取り得る2のNw乗個の全ての登録順位に対して、互いにハミング距離が少なくとも4以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの登録順位とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。ここで、登録順位とは、Nwビットを10進で表現した場合の値を示しており、Nw=7の場合、登録順位は、0〜127で表現される。
【0029】
なお、付加情報とは、音響情報に付加して埋め込むべき情報であり、タイトルやアーティスト名等の属性情報、および属性情報以外の他の情報を含むものである。本実施形態では、上記Nw、NhをそれぞれNw=7、Nh=12としている。本実施形態では、付加情報のコード形式としてASCIIコードを採用するため、付加情報においてはNw=7となり、7ビットが1ワードとなる。また、ビット配列作成手段70が作成するビット配列は、12ビットとなり、ビット配列作成後は、これを1ワードとして処理している。図9に示した各構成手段は、現実にはコンピュータに専用のプログラムを組み込むことにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
【0030】
次に、図9に示した付加情報埋め込み手段230の処理動作について説明する。音響フレーム読込手段10は、録音ブロック蓄積手段220から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込む。音響フレーム読込手段10が読み込む1音響フレームのサンプル数Nは、適宜設定することができるが、サンプリング周波数が44.1kHzの場合、4096サンプル程度とすることが望ましい。したがって、音響フレーム読込手段10は、左チャンネル、右チャンネルについてそれぞれ4096サンプルずつ、順次音響フレームとして読み込んでいくことになる。
【0031】
音響フレームとしては、AタイプとBタイプが存在する。Aタイプの音響フレーム、Bタイプの音響フレームは、それぞれ同タイプの先行する音響フレームの最後のサンプルの次のサンプルを先頭サンプルとして設定される。そして、AタイプとBタイプの音響フレームは互いに所定数(本実施形態では2048)のサンプルを重複して設定される。例えば、Aタイプの音響フレームを先頭からA1、A2、A3…とし、Bタイプの音響フレームを先頭からB1、B2、B3…とすると、A1はサンプル1〜4096、A2はサンプル4097〜8192、A3はサンプル8193〜12288、B1はサンプル2049〜6144、B2はサンプル6145〜10240、B3はサンプル10241〜14336となる。なお、AタイプとBタイプは相対的なものであるので、どちらが先であっても良い。すなわち、上記とは逆にA1がサンプル2049〜6144、A2がサンプル6145〜10240、A3がサンプル10241〜14336、B1がサンプル1〜4096、B2がサンプル4097〜8192、B3がサンプル8193〜12288であっても良い。
【0032】
周波数変換手段20は、振幅変換後の音響フレームに対して周波数変換を行って、その音響フレームのスペクトルを得る。具体的には、窓関数を利用して周波数変換を行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
【0033】
一般に、所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、擬似高調波成分が発生する。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて、信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
【0034】
本実施形態においても、窓関数を利用しているが、Aタイプの音響フレーム、Bタイプの音響フレームで、使用する窓関数を分けている。本実施形態では、図10(a)(b)に示したような第1窓関数W(1,i)、第2窓関数W(2,i)を用意し、抽出側で認識し易いようにした。第1窓関数W(1,i)は、Aタイプの音響フレームに対して用いるためのものであり、図10(a)に示すように所定のサンプル番号iの位置において、最大値1をとり、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(1,i)の設計によって異なってくるが、本実施形態では、後述する〔数式1〕で定義される。Aタイプの音響フレームについてのフーリエ変換は、この窓関数W(1,i)を乗じたものに対して行われることになる。
【0035】
また、第2窓関数W(2,i)は、Bタイプの音響フレームに対して用いるためのものであり、図10(b)に示すように、所定のサンプル番号iの位置において、最大値1をとり、前部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(2,i)の設計によって異なってくるが、本実施形態では、後述する〔数式2〕で定義される。Bタイプの音響フレームについてのフーリエ変換は、この窓関数W(2,i)を乗じたものに対して行われることになる。
【0036】
なお、上述のように、本実施形態においては、音響フレームは重複して読み込まれる。すなわち、奇数番目の音響フレームと偶数番目の音響フレームは、所定数のサンプルを重複して読み込む。上記のように、奇数フレームと偶数フレームでは、用いられる窓関数が異なるが、奇数フレームと偶数フレームは単に奇数か偶数かの違いだけであるため、どちらに対してどちらの処理を行っても良い。したがって、本明細書では、奇数フレーム、偶数フレームの一方をAタイプフレーム、他方をBタイプフレームと呼ぶことにする。本実施形態では、奇数フレームをAタイプフレーム、偶数フレームをBタイプフレームとして説明するが、逆に偶数フレームをAタイプフレーム、奇数フレームをBタイプフレームとしても良い。
【0037】
本実施形態では、窓関数W(1,i)、W(2,i)は、以下の〔数式1〕〔数式2〕で定義される。なお、図10において、横軸は時間軸(i)である。iは、後述するように、各音響フレーム内のN個のサンプルに付した通し番号であるため時刻tに比例している。また、図10(a)(b)において縦軸は信号の振幅値(レベル)を示す。図10(a)(b)において縦軸は窓関数W(1,i)、W(2,i)の値を示しており、W(1,i)、W(2,i)の最大値はいずれも1である。
【0038】
〔数式1〕
i≦N/4のとき、W(1,i)=0.5−0.5cos(4πi/N)
N/4<i≦11N/16のとき、W(1,i)=1.0
11N/16<i≦13N/16のとき、W(1,i)=0.5−0.5cos(8π(i−9N/16)/N)
i>13N/16のとき、W(1,i)=0.0
【0039】
〔数式2〕
i≦3N/16のとき、W(2,i)=0.0
3N/16<i≦5N/16のとき、W(2,i)=0.5−0.5cos(8π(i−3N/16)/N)
5N/16<i≦3N/4のとき、W(2,i)=1.0
i>3N/4のとき、W(2,i)=0.5−0.5cos(4π(i−N/2)/N)
【0040】
なお、図10および上記〔数式1〕〔数式2〕から明らかなように、窓関数W(1,i)とW(2,i)は、互いに非対称な形状である。これは、後述する抽出側において、両者の識別を容易にするためである。
【0041】
本実施形態においては、奇数フレームと偶数フレームを、所定サンプルずつ重複して読み込むため、情報の埋め込みを行った後、音響信号に復元する際に、窓関数を乗じた奇数フレームと、窓関数を乗じた偶数フレームの重複サンプルを加算した場合に、ほぼ元の値に戻るようにしなければならない。このため、奇数フレームと偶数フレームの重複部分において、窓関数W(1,i)、W(2,i)を加算すると、全区間固定値1になるように定義されている。
【0042】
周波数変換手段20が、Aタイプの音響フレームに対してフーリエ変換を行う場合は、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、窓関数W(1,i)を用いて、以下の〔数式3〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(1,j)、虚部Bl(1,j)、右チャンネルに対応する変換データの実部Ar(1,j)、虚部Br(1,j)を得る。
【0043】
〔数式3〕
Al(1,j)=Σi=0,…,N-1W(1,i)・Xl(i)・cos(2πij/N)
Bl(1,j)=Σi=0,…,N-1W(1,i)・Xl(i)・sin(2πij/N)
Ar(1,j)=Σi=0,…,N-1W(1,i)・Xr(i)・cos(2πij/N)
Br(1,j)=Σi=0,…,N-1W(1,i)・Xr(i)・sin(2πij/N)
【0044】
周波数変換手段20が、Bタイプの音響フレームに対してフーリエ変換を行う場合は、左チャンネル信号Xl(i+N/2)、右チャンネル信号Xr(i+N/2)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式4〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(2,j)、虚部Bl(2,j)、右チャンネルに対応する変換データの実部Ar(2,j)、虚部Br(2,j)を得る。
【0045】
〔数式4〕
Al(2,j)=Σi=0,…,N-1W(2,i)・Xl(i+N/2)・cos(2πij/N)
Bl(2,j)=Σi=0,…,N-1W(2,i)・Xl(i+N/2)・sin(2πij/N)
Ar(2,j)=Σi=0,…,N-1W(2,i)・Xr(i+N/2)・cos(2πij/N)
Br(2,j)=Σi=0,…,N-1W(2,i)・Xr(i+N/2)・sin(2πij/N)
【0046】
上記〔数式3〕〔数式4〕において、iは、各音響フレーム内のN個のサンプルに付した通し番号であり、i=0,1,2,…N−1の整数値をとる。また、jは周波数の値について、値の小さなものから順に付した通し番号であり、iと同様にj=0,1,2,…N/2−1の整数値をとる。サンプリング周波数が44.1kHz、N=4096の場合、jの値が1つ異なると、周波数が10.8Hz異なることになる。
【0047】
上記〔数式3〕〔数式4〕に従った処理を実行することにより、各音響フレームの各窓関数に対応するスペクトルが得られる。続いて、周波数成分変更手段30が、生成されたスペクトルから所定周波数範囲のスペクトル集合を抽出する。本実施形態では、F1以上F2以下の範囲のものを抽出する。
【0048】
周波数変換手段20は、周波数変換を実行した後に、各スペクトル集合の平均値が設定値になるように変換する。いわゆる振幅を変換する処理を行う。この振幅変換は、各フレームごとのレベル差を軽減し、適切な情報の埋め込みが可能になるようにすることを目的としているため、設定値Zoとしては適宜設定することができる。
【0049】
周波数変換手段20は、得られたスペクトル集合に対して、振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で上記設定値を除算することにより行う。具体的には、LチャンネルのAタイプの音響フレーム、Bタイプの音響フレーム、RチャンネルのAタイプの音響フレーム、Bタイプの音響フレームのスペクトル集合についての変換倍率Zl(1)、Zl(2)、Zr(1)、Zr(2)は、以下の〔数式5〕に従った処理により算出される。対象音響フレームが無音に近く、分母の二乗総和値が所定の値に満たない場合は、変換倍率を1.0に設定し、振幅変換は行わないようにする。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームのスペクトル集合の平均実効値が設定値となるように振幅変換された状態で、情報の埋め込みが行われることになる。
【0050】
〔数式5〕
Zl(1)=Zo/[Σj=m,…,M-1{Al(1,j)2+Bl(1,j)2}]1/2
Zl(2)=Zo/[Σj=m,…,M-1{Al(2,j)2+Bl(2,j)2}]1/2
Zr(1)=Zo/[Σj=m,…,M-1{Ar(1,j)2+Br(1,j)2}]1/2
Zr(2)=Zo/[Σj=m,…,M-1{Ar(2,j)2+Br(2,j)2}]1/2
【0051】
上記〔数式5〕において、mおよびMは変更対象周波数帯の下限および上限で、Zo=M−mであり、本実施形態では、Zo=288である。
【0052】
さらに、j=m,…,M−1(周波数F1,...,F2に相当)の範囲で、Al(1,j)およびBl(1,j)の各々の要素に対してZl(1)を乗じ、Al(2,j)およびBl(2,j)の各々の要素に対してZl(2)を乗じ、Ar(1,j)およびBr(1,j)の各々の要素に対してZr(1)を乗じ、Ar(2,j)およびBr(2,j)の各々の要素に対してZr(2)を乗じることにより、振幅変換を行う。以下説明において、Al(1,j)、Bl(1,j)、Al(2,j)、Bl(2,j)、Ar(1,j)、Br(1,j)、Ar(2,j)、Br(2,j)はこれらの振幅変換を行った値とする。
【0053】
周波数成分変更手段30は、Aタイプの音響フレームについて、ビット配列作成手段70が作成したビット配列に応じて、所定周波数成分の割合を変更する処理を行う。本発明では、ビット配列を1ビットまたは2ビットずつ読み込み、Aタイプ、Bタイプの1対の音響フレームに対して1ビットまたは2ビットの情報を埋め込む。埋め込まれる1ビットの値は、“0” “1”の2通りがある。本実施形態では、これらを値1、値2と定義する。2種類の符号を埋め込むことができるという点で、これらを符号1、符号2と表現することも可能である。この際、“0”“1”の2通りのうち、いずれを値1、値2(符号1、符号2)と定義しても良い。抽出側において、埋め込み側で埋め込まれた1ビットが特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
【0054】
具体的には、埋め込み装置で、音響信号から抽出した所定数のサンプルで構成される音響フレーム内の所定周波数範囲の周波数成分を変更するに際し、その強弱が音脈分凝を発生させるような状態に変更する。これにより、人間には、音が途切れたようには聞こえないが、抽出装置では、その明確な変化を認識することができる。
【0055】
本実施形態では、音脈分凝の原理を利用して、音響フレームの変更対象周波数帯の成分を2つの状態に変更し、1ビットの情報を埋め込むようにしている。ここで、埋め込み処理の前後における音響フレームの所定周波数成分の変化の状態について説明する。図11に、本実施形態によるAタイプ、BタイプのLチャンネル1音響フレームの所定周波数成分の状態を示す。Rチャンネルについては、Lチャンネルと同様であるので省略してある。図11に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。
【0056】
図11においては、縦軸の周波数方向において、周波数領域が6つに区分されているが、上から2番目〜5番目の領域、すなわち、周波数F1以上F2以下の間が変更対象周波数帯であり、最上部すなわち周波数F2超、最下部すなわちF1未満は、変更対象でない周波数帯である。すなわち、本実施形態では、周波数F1以上F2以下を所定周波数範囲として、スペクトル集合の強度を変更することになる。図11(a)に示すように、Aタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を1D1、1D2、1U1、1U2で表現することとする。また、図11(b)に示すように、Bタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を2D1、2D2、2U1、2U2で表現することとする。
【0057】
1ビット埋め込み方式で、符号1を埋め込む場合、図11(c)(e)に示すように、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に強い状態に変更し、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に弱い状態に変更する。この状態を“状態1”と呼ぶことにする。符号2を埋め込む場合は、図11(d)(f)に示すように、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に強い状態に変更し、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に弱い状態に変更する。この状態を“状態2”と呼ぶことにする。網掛けされた部分の濃さは、同濃度のものは、積を求めるための組となるスペクトル集合であることを示している。網掛けの色が濃い方が相対的に強度が強い状態に変更される組を示している。
【0058】
1ビット埋め込み方式では、図11(c)(e)または(d)(f)に示すような2つの状態にAタイプ、Bタイプの音響フレームの周波数成分を変更することにより、情報の埋め込みを行っている。2つの状態であるので1ビット分の情報量に相当する。図11(c)〜(f)に示したように、1ビット埋め込み方式の場合、変更対象周波数帯の上位周波数帯と下位周波数帯が全く同一のパターンとなっている。2ビット埋め込み方式の場合は、上位周波数帯と下位周波数帯を独立に変更することにより、上位周波数帯で1ビット、下位周波数帯で1ビットの表現が可能となる。
【0059】
本実施形態では、上記変更対象周波数帯F1〜F2を、“0.34kHz〜3.4kHz”に設定する。これは、以下のような理由による。すなわち、音声通信として普及度の高い携帯電話機を抽出装置として利用する場合、上限については、電話回線帯域および携帯電話機の上限である3.4kHzとする必要がある。これは、携帯電話機の内部に搭載されているローパスフィルターが、電話交換機に合わせて、3.4kHz以下に対応したものとなっているためである。また、上位周波数帯の下限については、上限の3.4kHzから1オクターブ下がった1.7kHzとすることとした。そして、下位周波数帯の上限を上位周波数帯の下限と同じく、1.7kHzとし、下位周波数帯の下限については、電話回線帯域および携帯電話機の下限である0.3kHz以上とする必要がある。これは、携帯電話機の内部に搭載されているハイパスフィルターが、電話交換機に合わせて、0.3kHz以上に対応したものとなっているためである。そこで、上限の1.7kHzから2オクターブ強下がった0.34kHzとすることとした。下位周波数帯の周波数範囲は、上位周波数帯の周波数範囲に比べ若干狭くなるが、分布している信号成分の強度は平均4倍程度になるため、上位周波数帯より下位周波数帯の方が大きな感度を持つと推定できる。なお、“0.34kHz”“1.7kHz”“3.4kHz”という値は、代表的な値であり、必ずしも正確な値である必要はなく、そこから若干ずれた値であっても良い。
【0060】
図11に示した例では、相対的に強い状態と弱い状態に変更することについて説明したが、この強弱の程度については、状況に応じて設定することが可能である。両者の割合は、以下に述べるように、大きいほど抽出時の精度が高くなるが、補間される割合は不完全になり、再生時に不連続成分によるノイズが聞こえる。一方、両者の割合が均等であるほど再生品質は原音に近付くが、埋め込んだビットの抽出ができなくなり、再生品質と抽出精度はトレードオフの関係になる。例えば、強い方を100%、弱い方を0%とした場合、音脈分凝により、補間される部分の音は図11のような変更を行なう前に原音響信号で鳴っていた音の50%程度となることが確認されている。そこで、強い方を70%、弱い方を30%とした場合、音脈分凝により、補間される部分の音は図11のような変更を行なう前に原音響信号で鳴っていた音とほぼ同程度となり、この割合が抽出精度を維持できる限界であることが確認されている。このため、相対的に強いスペクトル集合と、相対的に弱いスペクトル集合の強度の割合を70%と30%とすることを目標に設定することが好ましい。これを実現するため、本実施形態では、後述する具体的な処理において、強い状態を設定するための係数α=0.7、弱い状態を設定するための係数β=0.3とする。ただし、強い状態に変更すべきスペクトル集合の強度が元々小さい場合には、係数α、βを補正する必要が生じる。このため、周波数成分変更手段30は、まず、以下の〔数式6〕に従った処理を実行することにより、各スペクトル集合の強度E1D1、E2D1、E1D2、E2D2、E1U1、E2U1、E1U2、E2U2を算出する。
【0061】
〔数式6〕
E1D1=Σj=m,…,m+G-1{Al(1,j)2+Bl(1,j)2}
E2D1=Σj=m,…,m+G-1{Al(2,j)2+Bl(2,j)2}
E1D2=Σj=m+G,…,m+2G-1{Al(1,j)2+Bl(1,j)2}
E2D2=Σj=m+G,…,m+2G-1{Al(2,j)2+Bl(2,j)2}
E1U1=Σj=m+2G,…,m+2G+Gu-1{Al(1,j)2+Bl(1,j)2}
E2U1=Σj=m+2G,…,m+2G+Gu-1{Al(2,j)2+Bl(2,j)2}
E1U2=Σj=m+2G+Gu,…,m+2G+2Gu-1{Al(1,j)2+Bl(1,j)2}
E2U2=Σj=m+2G+Gu,…,m+2G+2Gu-1{Al(2,j)2+Bl(2,j)2}
【0062】
上記〔数式6〕において、mは変更対象周波数帯の下限の成分の番号、Gは変更対象周波数帯内の下位周波数帯の2分割領域の幅で、Guは変更対象周波数帯内の上位周波数帯の2分割領域の幅で、m+2G+2Guは変更対象周波数帯の上限の成分の番号である。例えば、変更対象周波数帯として、0.34kHz〜3.4kHzを設定する場合、m=32、m+2G+2Gu=320(=M)となる。したがって、下位周波数帯の2分割領域の幅G(=(M/2−m)/2)=64で、上位周波数帯の2分割領域の幅Gu(=(M−M/2)/2)=80である。
【0063】
さらに、周波数成分変更手段30は、算出された各スペクトル集合の強度を利用して、弱い状態に変更すべきスペクトル集合に対する強い状態に変更すべきスペクトル集合の強度割合γを算出する。これは、1音響フレームに1ビット埋め込む場合と、2ビット埋め込む場合により異なる。1音響フレームに1ビット埋め込む場合は、以下の〔数式7〕に従って強度割合γを算出する。
【0064】
〔数式7〕
埋め込みデータが値1の場合、γ=(E1D1・E1U1・E2D2・E2U2)/(E1D2・E1U2・E2D1・E2U1)
埋め込みデータが値2の場合、γ=(E1D2・E1U2・E2D1・E2U1)/(E1D1・E1U1・E2D2・E2U2)
【0065】
1音響フレームに1ビット埋め込む場合、さらに強度割合γの値に応じて、周波数成分変更手段30は、以下の〔数式8〕に従った処理を実行することにより、係数α、βを補正して係数α´、β´を得る。
【0066】
〔数式8〕
0.01≦γ<1.0の場合、α´=α・γ-1/4、β´=β・γ1/4
γ<0.01の場合、α´=10.0・α、β´=0.1・β
γ≧1.0の場合、補正を行わない。
【0067】
一方、1音響フレームに2ビット埋め込む場合は、以下の〔数式9〕に従って強度割合γを算出する。
【0068】
〔数式9〕
第1埋め込みデータが値1の場合、γ1=(E1D1・E2D2)/(E1D2・E2D1)
第1埋め込みデータが値2の場合、γ1=(E1D2・E2D1)/(E1D1・E2D2)
第2埋め込みデータが値1の場合、γ2=(E1U1・E2U2)/(E1U2・E2U1)
第2埋め込みデータが値2の場合、γ2=(E1U2・E2U1)/(E1U1・E2U2)
【0069】
1音響フレームに2ビット埋め込む場合、さらに強度割合γ1、γ2の値に応じて、周波数成分変更手段30は、以下の〔数式10〕に従った処理を実行することにより、係数α、βを補正して係数α1´、β1´、α2´、β2´を得る。
【0070】
〔数式10〕
0.01≦γ1<1.0の場合、α1´=α・γ1-1/2、β1´=β・γ11/2
γ<0.01の場合、α1´=10.0・α、β1´=0.1・β
γ≧1.0の場合、補正を行わない。
0.01≦γ2<1.0の場合、α2´=α・γ2-1/2、β2´=β・γ21/2
γ<0.01の場合、α2´=10.0・α、β2´=0.1・β
γ≧1.0の場合、補正を行わない。
【0071】
さらに、周波数成分変更手段30は、連続するAタイプ音響フレーム、Bタイプ音響フレームにおける実部Al(1,j)、Ar(1,j)、Al(2,j)、Ar(2,j)、Bl(1,j)、Br(1,j)、Bl(2,j)、Br(2,j)に対して、周波数領域パラメータとして、下限m(=32)から上限M(=320)を設定し、mからM/2を幅G(=(M/2−m)/2)をもつ2個の領域に分割し、m+2GからMを幅Gu(=(M−M/2)/2)をもつ2個の領域に分割し、埋め込むべきビット値に応じて、各々改変を加える。一例として、1音響フレームに2ビット埋め込む方式で、埋め込むべきビット値が1ビット目、2ビット目ともに“値1”である場合、以下の〔数式11〕に従った処理を実行することにより、周波数成分の状態を“状態1”、すなわち、図11(c)(e)に示したような状態に変更する。
【0072】
〔数式11〕
j=m〜m+G−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・α1/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α1/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α1/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α1/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・β1/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β1/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β1/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β1/{Ar(2,j)2+Br(2,j)2}1/2
j=m+G〜m+2G−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・β1/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β1/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β1/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β1/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・α1/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α1/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α1/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α1/{Ar(2,j)2+Br(2,j)2}1/2
j=m+2G〜m+2G+Gu−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・α2/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α2/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α2/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α2/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・β2/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β2/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β2/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β2/{Ar(2,j)2+Br(2,j)2}1/2
j=m+2G+Gu〜M−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}1/2
Al´(1,j)=Al(1,j)・E(1,j)・β2/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β2/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β2/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β2/{Ar(1,j)2+Br(1,j)2}1/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)2}1/2
Al´(2,j)=Al(2,j)・E(2,j)・α2/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α2/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α2/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α2/{Ar(2,j)2+Br(2,j)2}1/2
【0073】
1音響フレームに2ビット埋め込む方式で、1ビット目、2ビット目のいずれかもしくは両方の埋め込むべきビット値が“値2”である場合は、それに応じて上記〔数式11〕において、α1とβ1を互いに交換するか、α2とβ2を互いに交換して処理を実行する。また、1音響フレームに1ビット埋め込む方式の場合は、上記〔数式11〕において、α1=α2=α、β1=β2=βとして処理を実行する。この場合は、スペクトル集合単位の強弱パターンは、高周波側と低周波側で同一となる。
【0074】
なお、上記〔数式8〕〔数式10〕に従った処理を実行して係数α´、β´、α1´、β1´、α2´、β2´を得た場合は、上記〔数式11〕において、係数α、β、α1、β1、α2、β2に代えて係数α´、β´、α1´、β1´、α2´、β2´を用いる。
【0075】
周波数逆変換手段40は、上記のようにして、周波数成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段20が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。
【0076】
具体的には、Aタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、以下の〔数式12〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式11〕において改変されていない周波数成分については、Al´(1,j)等として、元の周波数成分であるAl(1,j)等を用いる。周波数逆変換を計算するにあたり、Al´(1,j)およびBl´(1,j)に対しては〔数式5〕におけるZl(1)を、Ar´(1,j)およびBr´(1,j)に対しては〔数式5〕におけるZr(1)を除することにより、同時に振幅逆変換を施す必要がある。
【0077】
〔数式12〕
Xl´(i)=1/N・{ΣjAl´(1,j)・cos(2πij/N)/Zl(1)−ΣjBl´(1,j)・sin(2πij/N)/Zl(1)}+Xlp(i+N/2)
Xr´(i)=1/N・{ΣjAr´(1,j)・cos(2πij/N)/Zr(1)−ΣjBr´(1,j)・sin(2πij/N)/Zr(1)}+Xrp(i+N/2)
【0078】
上記〔数式12〕においては、式が繁雑になるのを防ぐため、Σj=0,…,N-1をΣjとして示している。上記〔数式12〕における第1式の“+Xlp(i+N/2)”、第2式の“+Xrp(i+N/2)”の項は、直前に改変された改変音響フレームのデータXlp(i)、Xrp(i)が存在する場合に、時間軸上N/2サンプル分重複することを考慮して加算するためのものである。上記〔数式12〕によりAタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
【0079】
Bタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(2,j)、虚部Bl´(2,j)、右チャンネルの実部Ar´(2,j)、虚部Br´(2,j)を用いて、以下の〔数式13〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式11〕において改変されていない周波数成分については、以下の〔数式13〕においてはAl´(2,j)、Bl´(2,j)、Ar´(2,j)、Br´(2,j)として、元の値であるAl(2,j)、Bl(2,j)、Ar(2,j)、Br(2,j)を用いる。周波数逆変換を計算するにあたり、Al´(2,j)およびBl´(2,j)に対しては〔数式5〕におけるZl(2)を、Ar´(2,j)およびBr´(2,j)に対しては〔数式5〕におけるZr(2)を除することにより、同時に振幅逆変換を施す必要がある。
【0080】
〔数式13〕
Xl´(i+N/2)=1/N・{ΣjAl´(2,j)・cos(2πij/N)/Zl(2)−ΣjBl´(2,j)・sin(2πij/N)/Zl(2)}+Xlp(i+N)
Xr´(i+N/2)=1/N・{ΣjAr´(2,j)・cos(2πij/N)/Zr(2)−ΣjBr´(2,j)・sin(2πij/N)/Zr(2)}+Xrp(i+N)
【0081】
上記〔数式13〕によりBタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。改変音響フレーム出力手段50は、周波数逆変換手段40の処理により得られたAタイプの改変音響フレーム、Bタイプの改変音響フレームを順次蓄積し、1音響ブロック分蓄積された際に、音響ブロックとして出力する。
【0082】
次に、図9に示した付加情報埋め込み手段230の処理の全体的な流れについて説明する。付加情報埋め込み手段230が起動すると、まず、変換テーブル作成手段80が、Nwビットの登録順位とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する。変換テーブル作成手段80による符号変換テーブル作成のフローチャートを図12に示す。
【0083】
変換テーブル作成手段80は、最初に初期化処理を行う(S601)。具体的には、7ビット符号“0”に12ビット符号“1”を対応付けて符号変換テーブルのi(=0)番目に登録するとともに、7ビット符号KFの初期値を1、12ビット符号HFの初期値を2とする。続いて、i=0に初期設定する(S602)。次に、12ビット符号HFと符号変換テーブルのi番目に既に登録されている他の12ビット符号とのハミング距離を算出する(S603)。
【0084】
算出したハミング距離が4未満の場合、HFの値を1増加して更新した後(S604)、S602に戻って、次の12ビット符号HFについての処理を行う。一方、算出したハミング距離が4以上の場合、iの値を1増加して更新する(S605)。そして、iがKF−1未満である場合には、S603に戻って、符号変換テーブル内のi番目に登録されている12ビット符号とのハミング距離を算出する。S605の後、iがKF−1以上となった場合には、12ビット符号HFを符号変換テーブルの7ビット符号KFの位置に登録するとともに、KF、HFの値をそれぞれ1ずつ増加して更新する(S606)。そして、KFが128未満である場合は、S602に戻って、次の7ビット符号KFについての処理を行う。KFが128以上である場合は、全ての7ビット符号KFに対応する12ビット符号HFが登録されたことになるので、符号変換テーブル作成処理を終了する。
【0085】
このようにして作成された符号変換テーブルを図13に示す。図13に示すように、符号変換テーブルには、7ビット符号が取り得る各値0〜127について、12ビット符号が対応付けて登録されている。12ビット符号の2進表記を見るとわかるように、全ての12ビット符号は互いにハミング距離が4以上となっている。なお、図13の例では、説明の便宜上、7ビット符号の10進表記と、12ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と12ビット符号のビット列が対応付けて登録されている。
【0086】
続いて、符号変換テーブル作成処理後の、埋め込み装置の処理を、図14のフローチャートに従って説明する。図9に示した付加情報埋め込み手段230を構成する各構成要素は、連携して図14に従った処理を実行する。図14は、付加情報1ワード分の処理に対応したものとなっている。1ワードのビット数Nwとしては、任意のビット数に設定することができるが、上述のように、本実施形態では、ASCIIコードの実質7ビットに設定されている。
【0087】
図14においては、まず、ビット配列作成手段70は、付加情報記憶部62から抽出した付加情報の各ワードについて、変換テーブル作成手段80を参照し、対応するビット配列を作成する(S101)。具体的には、まず、付加情報記憶部62から1ワード(7ビット)単位で抽出し、図13に示した符号変換テーブルを参照し、対応するハミング符号で構成される12ビットのビット配列を抽出する。
【0088】
そして、この12ビットが、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに読み込まれることになる。このように、付加情報記憶部62においては、1ワードは7ビットであるが、埋め込み処理時は、この12ビットの配列で、付加情報内の1ワード分の処理を行う。
【0089】
次に、周波数成分変更手段30が、レジスタに保持されたNh(=12)ビットから1ビットを読み込む処理を行う(S102)。続いて、音響フレーム読込手段10が、録音ブロック蓄積手段220から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込み、周波数変換手段20が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う(S103)。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数W(1,i)を用いて、上記〔数式2〕に従った処理を行う。そして、上記〔数式5〕に従った処理を実行してZl(1)、Zr(1)を算出し振幅変換を行う。同様に、音響フレーム読込手段10が、録音ブロック蓄積手段220から読み込んだ録音ブロックの左右の各チャンネルから、それぞれ所定数のサンプルをBタイプの1音響フレームとして読み込み、周波数変換手段20が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う(S104)。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数W(2,i)を用いて、上記〔数式3〕に従った処理を行う。そして、上記〔数式5〕に従った処理を実行してZl(2)、Zr(2)を算出し振幅変換を行う。続いて、周波数成分変更手段30が、読み込んだビット値に応じてAタイプ音響フレームおよびBタイプ音響フレームの周波数成分の状態を変更するにあたり、〔数式6〕〔数式8〕に従った処理を実行して変換割合α、βを決定する処理を行う(S105)。この決定された変換割合を用いて、周波数成分変更手段30は、ビット配列作成手段70から受け取った値1、値2に応じて上記〔数式11〕に従った処理を実行し、変更対象周波数帯の成分の状態を“状態1”、“状態2”に応じた状態のいずれかに変更する(S106)。
【0090】
次に、周波数逆変換手段40が、上記S106の処理によりAタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S107)。この振幅逆変換は〔数式5〕で算出したZl(1)、Zr(1)の逆数をスペクトルに乗じることにより行ない、この周波数逆変換は、当然のことながら、周波数変換手段20がS103において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式12〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。改変音響フレーム出力手段50は、得られた改変音響フレームを順次蓄積し、1音響ブロック分蓄積する。
【0091】
同様に、周波数逆変換手段40が、上記S106の処理によりBタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S108)。具体的には、振幅逆変換は〔数式5〕で算出したZl(2)、Zr(2)の逆数をスペクトルに乗じることにより行ない、上記〔数式11〕により得られたスペクトルの左チャンネルの実部Al´(2,j)等、虚部Bl´(2,j)等、右チャンネルの実部Ar´(2,j)等、虚部Br´(2,j)等を用いて、上記〔数式13〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
【0092】
改変音響フレーム出力手段50は、得られた改変音響フレームを順次蓄積する。こうして各チャンネルについて、AタイプおよびBタイプの2つの音響フレームに対する処理を終えたら、周波数成分変更手段30がビット配列中の次の1ビットを読み込む(S102)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S103、S104)、処理を終了する。なお、S101において読み込んだ1ワード分のビット配列(Nh=12ビット)の各ビットに対応する処理を終えた場合、S102からS101に戻り、付加情報の次のワードを読み込んでビット配列を作成する処理を行うことになる。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、所定数の音響フレームに対して処理を行った所定数の改変音響フレームが蓄積され、音響ブロック1個分になったら、再生ブロックとして出力される。
【0093】
なお、本実施形態では、付加情報を1ワード7ビットとし、符号変換テーブルにより12ビットのビット配列に変換して、付加情報1ワード分の処理をする場合について説明したが、本発明では、抽出側と取り決めがある限り、付加情報の1ワードを他のビット数単位で記録することが可能である。
【0094】
上記のようにして得られた改変音響信号のうち、付加情報が埋め込まれている部分については、変更対象周波数帯の成分は、1ビット埋め込み方式の場合は、状態1、状態2の2通り、2ビット埋め込み方式の場合は、それぞれのビットについて2通りの計4通りの分布しかないことになる。しかし、変更対象周波数帯の成分以外については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。また、上記〔数式11〕の処理からも明らかなように、変更対象周波数帯の成分は、左チャンネルと右チャンネルにおいて同等の割合で変化させられている。したがって、両スピーカと等距離の位置においても、変更対象周波数帯の成分は、相殺されることなく増幅させる関係となり、情報を抽出し易くなる。
【0095】
本発明に係る音響信号に対する情報のリアルタイム埋め込み装置では、埋め込み途中で付加情報の内容を変更することができる。このような場合、図示しない付加情報入力手段により付加情報を入力すると、付加情報埋め込み手段230内の付加情報記憶部62に記録された付加情報が更新される。付加情報が更新されると、ビット配列作成手段70は、これを認識し、更新された付加情報を基に新たなビット配列を作成する。さらに、ビット配列作成手段70は、レジスタ内に残っている12ビットのビット列に、新たに作成したビット配列の先頭の12ビットを上書きする処理を行う。そして、周波数成分変更手段30はレジスタの先頭からビットを読み込む処理を開始する。このようにして、付加情報が更新された場合には、即座に新たな付加情報を埋め込む処理が開始される。
【0096】
以上、付加情報抽出手段230の詳細について説明したが、ここで、本実施形態で行っている振幅変換を用いた埋め込みおよび抽出について、図15から図18を用いて説明する。図15および図16は、比較のために、振幅変換を用いない場合の埋め込み処理および抽出処理を示し、図17および図18は本実施形態における振幅変換を用いた埋め込み処理および抽出処理を示す。これらの説明図においては、音響フレーム奇数および偶数3対分について、3ビットの情報を埋め込むことを想定した音響信号の信号波形を示しており、説明の便宜上、音響フレームが互いに重複しない状態で示している。各図において、左端の波形は時間次元の通常の音響信号波形を示しており、横方向は時間軸であり、右に向かうに従って時間が進行し、縦方向は強度(振幅)である。中央または右端の波形は周波数変換後の所定の周波数範囲のスペクトル成分の合算値を信号波形で表現しており、仮想的にバンドパスフィルターを通した後の信号波形になっている。縦方向は同様に強度であり、本来は左端に比べ顕著に低くなるが、ここでは説明の都合上、左端と同程度に拡大して表現している。また、2種類の波形のレベルも本来は差があるが、ここでは同一レベルで表現している。実際には、周波数変換後のデータとして所定の周波数範囲外の高周波数成分や低周波数成分も存在するが、これらについては改変を加えないという前提で図示しておらず、図11に従った埋め込みを行なう2種の周波数帯域成分に限定して2種の信号波形で示している。
【0097】
図15(a)は原音響信号を示しており、最初の1対の音響フレームは全体に渡って強度がほぼ一定、中央の1対の音響フレームは奇数フレームの強度が小さく偶数フレームの強度が大きいものであり、最後の1対の音響フレームは奇数フレームの強度が大きく偶数フレームの強度が小さいものである。このような音響信号に対して、周波数変換を行った結果が図15(b)で、図11で示されように埋め込み対象成分は上下2分割して成分変更を施す都合上、図15(b)では(b−1)および(b−2)の2種の波形に分離して表現した。周波数変換後の波形形状は周波数ごとに異なり、図15(a)と必ずしも相似形にはならないが、ここでは周波数変換前と同様になると仮定して説明する。図15(b−1)および(b−2)に対して、[0,0,0]という3ビットのデータを図11で説明した方法に基づいて埋め込むことにより(図11ではビット0は符号1に相当する)、図15(c−1)および(c−2)が得られる。最初の1対は図11のようなパターンが表現できているが、残り2対の上下一方は、原段階に対して逆方向に大小関係を構築することが要求され、品質維持の都合上、適切なパターンが構築できていないことがわかる。このような改変を加えた結果に対して、周波数逆変換を行った結果が図15(d)である。一般に音響信号波形の外形(エンベロープという)はエネルギー分布が大きい低周波成分で決定され、これらは本願では所定の周波数範囲外の信号成分に含まれ、図15(c)の段階では改変が加えられていないため、周波数逆変換後の図15(d)は周波数変換前の図15(a)と類似した形状になる。
【0098】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図16に示す。図16(a)および図16(b)は各々図15(d)および図15(c)に対応する。図16(b)において、ビット判定を行なうにあたり、最初の1対以外は図11で想定されているパターンが形成されていないため、正しいビットを判定することが難しくなる。
【0099】
次に、本実施形態における振幅変換を導入した手法について図17および図18を用いて説明する。図17(a)は図15(a)と同じ原音響信号を示しており、同様に周波数変換を行った図17(b)も図15(b)と同じである。ここで、6つのフレーム単位に振幅変換を行った結果が図17(c)である。図17の場合、図17(a)で各フレーム内の振幅が平坦であるため、図17(c)では全体が平坦になっているが、実際には各フレーム内は微細に変動しており、そのフレーム内変動分は図17(c)の段階でも踏襲されるため、本図のように完全に平坦になることは通常ない。(実際は図17(c)は周波数次元のデータになるため、周波数次元のデータも平坦にならず変動した形態になる。)また、変換倍率はフレームごとに設定し、上下2つの周波数成分に対しては同一の倍率で変換を行うため、通常は上下で顕著な差が生じる(ただし、時間軸方向は比較的揃う)。これに対して、[0,0,0]という3ビットのデータを埋め込むと、図17(d−1)および(d−2)が得られる。原段階である図17(c)が平坦な波形であるため、全てのフレームにおいて図11のような理想的なパターンが容易に構築できることがわかる。続いて、前記フレームごとに設定した倍率の逆数を乗じて振幅逆変換を行った結果が図17(e)である。この段階では図15(c)と類似したパターンが生じることが多いが、本形状はいかなるものでも構わない。最後に周波数逆変換を行うと、図17(f)が得られ、同様に原信号波形の図17(a)と類似した形状になる。
【0100】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図18に示す。図18(a)、(b)および(c)は各々図17(f)、(e)および(d)に対応する。図18(b)の周波数変換後の波形形状は図17(b)とは基本的に異なるが、算出される振幅変換倍率は類似した値になり、ほぼ同様な倍率で振幅変換が行われ図18(c)が得られる。図18(c)の段階で、ビット判定を行なうと、全てのフレームにおいて図11のような理想的なパターンが形成されているため、正しいビットを判定することが可能になる。
【0101】
以上、振幅変換を導入した本実施形態では、図17(c)に示したように、埋め込み対象の信号成分が時間軸方向に平坦になるように変換を行って埋め込むようにしているため、高周波側と低周波側の成分強度の大小関係が完全に逆になるような不自然な変更を行う確率が低くなり、品質を維持しながら、抽出側における抽出精度を高めることが可能となる。
【0102】
(7.音響信号からの情報の抽出装置)
次に、音響信号からの情報の抽出装置について説明する。図19は、音響信号からの情報の抽出装置を示す構成図である。図19において、100は音響信号入力手段、110は基準フレーム獲得手段、120は位相変更フレーム設定手段、130は周波数変換手段、140は符号判定パラメータ算出手段、150は符号出力手段、160は付加情報抽出手段、170は音響フレーム保持手段、180は変換テーブル作成手段である。
【0103】
音響信号入力手段100は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびA/D変換器により実現される。マイクロフォンとしては、変更対象周波数帯の成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図9に示した付加情報埋め込み手段230で情報の埋め込みを行った場合には、ステレオで再生されるが、左右どちらのスピーカの音を入力しても、双方のスピーカの音を混合入力しても良く、マイクロフォンの設置位置に制約がない。もちろん、付加情報が埋め込まれた音響信号がモノラル再生される場合、あるいは付加情報が埋め込まれた音響信号自体がモノラルである場合は、再生される単一のスピーカにマイクロフォンを向ければ良い。このマイクロフォンは特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段110は、入力されたデジタルのモノラル音響信号(あるいはステレオ音響信号の1チャンネル)から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。基準フレームとしては、埋め込み時と同様にAタイプ、Bタイプのものが設定される。位相変更フレーム設定手段120は、Aタイプ、Bタイプそれぞれの基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。
【0104】
周波数変換手段130は、基本的には、図9に示した周波数変換手段20とほぼ同様の機能を有している。ただし、音を取り込むタイミングが、音響信号の先頭からとはならないため、正しい位相を特定するために、複数の位相で振幅変換、周波数変換を行う点、元の音響信号がステレオであっても、1つのチャンネルで行う点が異なっている。
【0105】
周波数変換手段130は、Aタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i−N/2+pN/6)(i=0,…,N−1)に対して、窓関数W(1,i)を用いて、以下の〔数式14〕に従った処理を行い、変換データの実部A(1,j,p)、虚部B(1,j,p)を得る機能を有している。pは位相番号であり、0〜5の整数値をとる。
【0106】
〔数式14〕
A(1,j,p)=Σi=0,…,N-1W(1,i)・X(i−N/2+p・N/6)・cos(2πij/N)
B(1,j,p)=Σi=0,…,N-1W(1,i)・X(i−N/2+p・N/6)・sin(2πij/N)
【0107】
周波数変換手段130は、Bタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i+p・N/6)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式15〕に従った処理を行い、変換データの実部A(2,j,p)、虚部B(2,j,p)を得る機能を有している。
【0108】
〔数式15〕
A(2,j,p)=Σi=0,…,N-1W(2,i)・X(i+p・N/6)・cos(2πij/N)
B(2,j,p)=Σi=0,…,N-1W(2,i)・X(i+p・N/6)・sin(2πij/N)
【0109】
周波数変換手段130は、周波数変換手段20と同様に振幅変換を行う。振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で、設定値を除算することにより行う。設定値は、適宜定めておくことができるが、埋め込み時における振幅変換の場合と同一値としておくことが必要となる。したがって、本実施形態では、設定値Zoは288(=M−m)にする必要がある。具体的には、Aタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z(1,p)、Z(2,p)、これらの直前のAタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z-1(1,p)、Z-1(2,p)は、以下の〔数式16〕に従った処理により算出される。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームの平均実効値が設定値となるように振幅変換された状態で、情報の抽出が行われることになる。なお、pは位相番号であり、0〜5の整数値をとる。
【0110】
〔数式16〕
Z(1,p)=Zo/[Σj=m,…,M-1{A(1,j,p)2+B(1,j,p)2}]1/2
Z(2,p)=Zo/[Σj=m,…,M-1{A(2,j,p)2+B(2,j,p)2}]1/2
Z-1(1,p)=Zo/[Σj=m,…,M-1{A-1(1,j,p)2+B-1(1,j,p)2}]1/2
Z-1(2,p)=Zo/[Σj=m,…,M-1{A-1(2,j,p)2+B-1(2,j,p)2}]1/2
【0111】
j=m,…,M−1(周波数F1,...,F2に相当)およびp=0,...,5の範囲で、A(1,j,p)およびB(1,j,p)の各々の要素に対してZ(1,p)を乗じ、A(2,j,p)およびB(2,j,p)の各々の要素に対してZ(2,p)を乗じ、A-1(1,j,p)およびB-1(1,j,p)の各々の要素に対してZ-1(1,p)を乗じ、A-1(2,j,p)およびB-1(2,j,p)の各々の要素に対してZ-1(2,p)を乗じることにより、振幅変換を行う。以下説明において、A(1,j,p)、B(1,j,p)、A(2,j,p)、B(2,j,p)、A-1(1,j,p)、B-1(1,j,p)、A-1(2,j,p)、B-1(2,j,p)はこれらの振幅変換を行った値とする。
【0112】
符号判定パラメータ算出手段140は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を抽出し、各スペクトル集合の強度値を算出するとともに、この強度値を利用して符号判定パラメータを算出し、この符号判定パラメータの大小関係に基づいて、所定の状態であると判断する機能を有している。上述のように、本実施形態では、Aタイプの音響フレームとBタイプの音響フレームがN/2サンプルずつ重複して設定されているため、ある音響フレームについて、強度値、符号判定パラメータを算出する際には、直前の音響フレームによる残響成分を考慮する必要がある。ところが、残響成分は計算により算出されるものであるので、必ずしも正確なものが算出されるとは限らず、算出された残響成分を除去することにより、反って抽出精度が低下する場合がある。そこで、本実施形態では、残響成分を除去しない場合の強度値E1、E2、E3、E4、および符号判定パラメータCと、除去した場合の強度値E1´、E2´、E3´、E4´、および補正符号判定パラメータC´を算出し、これらを利用して最適であると思われる状態を判断する。
【0113】
Aタイプの音響フレームの各成分A(1,j,p)、B(1,j,p)に対して1フレーム分前のBタイプの音響フレームに対応する各成分をA-1(2,j,p)、B-1(2,j,p)とすると、Bタイプの音響フレームの各成分A(2,j,p)、B(2,j,p)に対応して、1フレーム分前の音響フレームは以下補正を施す前の前記Aタイプの音響フレームとなる。符号判定パラメータ算出手段140は、各スペクトル集合の強度値の算出の前に、まず、各スペクトル集合の基本強度値E(1,j,p)、E(2,j,p)、および残響成分を除去した基本強度値E´(1,j,p)、E´(2,j,p)を、以下の〔数式17〕に従った処理により算出する。
【0114】
〔数式17〕
E(1,j,p)=A(1,j,p)2+B(1,j,p)2
E(2,j,p)=A(2,j,p)2+B(2,j,p)2
E-1(1,j,p)=A-1(1,j,p)2+B-1(1,j,p)2
E-1(2,j,p)=A-1(2,j,p)2+B-1(2,j,p)2
E´(1,j,p)=E(1,j,p)−q・E-1(2,j,p)
E´(2,j,p)=E(2,j,p)−q・E(1,j,p)
【0115】
上記〔数式17〕における6つの式のうち、上から5番目(下から2番目)の式は、あるAタイプの音響フレームに着目したときに、その前半のN/2サンプルが重複するBタイプの音響フレームからの残響成分を除去するためのものである。また、上から6番目(下から1番目)の式は、あるBタイプの音響フレームに着目したときに、その前半のN/2サンプルが重複するAタイプの音響フレームからの残響成分を除去するためのものである。E´(1,j,p)≧0、E´(2,j,p)≧0とし、〔数式17〕の上から5番目、6番目の式に従った処理の結果、負の値となった場合には、0に設定する。
【0116】
上記〔数式17〕において、qは残響成分の大きさを示す係数であるが、この係数qは1未満の値を持つものであり、実験の結果、N=4096のときq=0.06、N=2048のときq=0.12、N=1024のときq=0.24、N=512のときq=0.48が最適である。そして、残響成分を除去しない場合の各スペクトル集合の強度値E1、E2、E3、E4、E5、E6、E7、E8、除去した場合の強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を、算出した基本強度値E(1,j,p)、E(2,j,p)、E´(1,j,p)、E´(2,j,p)を用いて以下の〔数式18〕に基づいて算出する。
【0117】
〔数式18〕
E1(p)=Σj=m,…,m+G-1E(1,j,p)
E2(p)=Σj=m,…,m+G-1E(2,j,p)
E3(p)=Σj=m+G,…,m+2G-1E(1,j,p)
E4(p)=Σj=m+G,…,m+2G-1E(2,j,p)
E5(p)=Σj=m+2G,…,m+2G+Gu-1E(1,j,p)
E6(p)=Σj=m+2G,…,m+2G+Gu-1E(2,j,p)
E7(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E(1,j,p)
E8(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E(2,j,p)
E1´(p)=Σj=m,…,m+G-1E´(1,j,p)
E2´(p)=Σj=m,…,m+G-1E´(2,j,p)
E3´(p)=Σj=m+G,…,m+2G-1E´(1,j,p)
E4´(p)=Σj=m+G,…,m+2G-1E´(2,j,p)
E5´(p)=Σj=m+2G,…,m+2G+Gu-1E´(1,j,p)
E6´(p)=Σj=m+2G,…,m+2G+Gu-1E´(2,j,p)
E7´(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E´(1,j,p)
E8´(p)=Σj=m+2G+Gu,…,m+2G+2Gu-1E´(2,j,p)
【0118】
結局〔数式17〕〔数式18〕により、各スペクトル集合の強度値E1、E2、E3、E4、E5、E6、E7、E8が算出されるとともに、当該各スペクトル集合に対応するタイプの別を問わない直前の音響フレームにおけるスペクトル集合の強度にqを乗じた値を減じることにより強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´が算出されることになる。
【0119】
また、符号判定パラメータ算出手段140は、残響成分を除去せずに算出した強度値E1、E2、E3、E4、E5、E6、E7、E8を用いて、符号判定パラメータCを算出する。1音響フレームに1ビット埋め込む方式の場合、以下の〔数式19〕に従った処理を実行することにより、候補符号Bについて仮判定するとともに、符号判定パラメータCを算出する。
【0120】
〔数式19〕
1)E1(p)・E5(p)>E2(p)・E6(p)かつE4(p)・E8(p)>E3(p)・E7(p)の場合
B=0と仮判定、
C=E1(p)・E5(p)・{E4(p)・E8(p)−E2(p)・E6(p)・E3(p)・E7(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
2)E2(p)・E6(p)>E1(p)・E5(p)かつE3(p)・E7(p)>E4(p)・E8(p)の場合
B=1と仮判定、
C={E2(p)・E6(p)・E3(p)・E7(p)−E1(p)・E5(p)・E4(p)・E8(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
3)E1(p)・E5(p)・E4(p)・E8(p)>E2(p)・E6(p)・E3(p)・E7(p)の場合
B=0と仮判定、
C={E1(p)・E5(p)・E4(p)・E8(p)−E2(p)・E6(p)・E3(p)・E7(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
4)上記1)〜3)以外の場合
B=1と仮判定、
C={E2(p)・E6(p)・E3(p)・E7(p)−E1(p)・E5(p)・E4(p)・E8(p)}/{E1(p)・E5(p)・E4(p)・E8(p)+E2(p)・E6(p)・E3(p)・E7(p)}
【0121】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC´を算出する。1音響フレームに1ビット埋め込む方式の場合、上記〔数式19〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号Bに代えて候補符号B´について仮判定するとともに、符号判定パラメータCに代えて補正符号判定パラメータC´を算出する。
【0122】
一方、符号判定パラメータ算出手段140は、1音響フレームに2ビット埋め込む方式の場合、2ビットの各ビットについて、それぞれ候補符号をB1、B2、符号判定パラメータをC1、C2とすると、以下の〔数式20〕に従った処理を実行することにより、候補符号B1について仮判定するとともに、符号判定パラメータC1を算出する。
【0123】
〔数式20〕
1)E1(p)>E2(p)かつE4(p)>E3(p)の場合
B1=0と仮判定、
C1={E1(p)・E4(p)−E2(p)・E3(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
2)E2(p)>E1(p)かつE3(p)>E4(p)の場合
B1=1と仮判定、
C1={E2(p)・E3(p)−E1(p)・E4(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
3)E1(p)・E4(p)>E2(p)・E3(p)の場合
B1=0と仮判定、
C1={E1(p)・E4(p)−E2(p)・E3(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
4)上記1)〜3)以外の場合
B1=1と仮判定、
C1={E2(p)・E3(p)−E1(p)・E4(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
【0124】
また、以下の〔数式21〕に従った処理を実行することにより、候補符号B2について仮判定するとともに、符号判定パラメータC2を算出する。
【0125】
〔数式21〕
1)E5(p)>E6(p)かつE8(p)>E7(p)の場合
B2=0と仮判定、
C2={E5(p)・E8(p)−E6(p)・E7(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
2)E6(p)>E5(p)かつE7(p)>E8(p)の場合
B2=1と仮判定、
C2={E6(p)・E7(p)−E5(p)・E8(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
3)E5(p)・E8(p)>E6(p)・E7(p)の場合
B2=0と仮判定、
C2={E5(p)・E8(p)−E6(p)・E7(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
4)上記1)〜3)以外の場合
B2=1と仮判定、
C2={E6(p)・E7(p)−E5(p)・E8(p)}/{E5(p)・E8(p)+E6(p)・E7(p)}
【0126】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC1´、C2´を算出する。1音響フレームに2ビット埋め込む方式の場合、上記〔数式20〕〔数式21〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号B1、B2に代えて候補符号B1´、B2´について仮判定するとともに、符号判定パラメータC1、C2に代えて補正符号判定パラメータC1´、C2´を算出する。
【0127】
符号出力手段150は、1つの基準フレームに対応する音響フレーム(基準フレームおよび位相変更フレーム)の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。符号判定パラメータ算出手段140と符号出力手段150により符号化手段が構成される。付加情報抽出手段160は、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、符号逆変換テーブルを参照することにより、Nwビットの登録順位に変換し、さらに所定の規則により変換して意味のある付加情報として抽出する機能を有している。音響フレーム保持手段170は、チャンネルごとのAタイプ、Bタイプそれぞれについて連続する2個の基準フレーム(チャンネルごとに計4個の基準フレーム)を保持可能なバッファメモリである。変換テーブル作成手段180は、図9に示した変換テーブル作成手段80と同様、Nwビットが取り得る2のNw乗個の全ての登録順位に対して、互いにハミング距離が少なくとも4以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの登録順位とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。図19に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、携帯電話機等の携帯型端末装置をハードウェアとして用いることが望ましい。なお、本明細書では、携帯電話機等の携帯型端末装置であっても、演算処理機能を有するものは、コンピュータの一種と考えるものとする。
【0128】
次に、図19に示した音響信号からの情報の抽出装置の処理動作について説明する。抽出装置を起動すると、まず、変換テーブル作成手段180が、符号変換テーブルを作成する。変換テーブル作成手段180による符号変換テーブルの作成は、変換テーブル作成手段80と同様、図12のフローチャートに従った処理により行われ、図13に示したような符号変換テーブルが得られることになる。
【0129】
続いて、符号変換テーブル作成処理後の、抽出装置の処理動作について説明する。本発明に係る抽出装置は、検査符号によりエラーを検出した際、エラー訂正を行わない設定とすることもできるし、1ビットのエラー訂正をするものと設定することもできる。ここからは、エラー訂正を行わない設定における抽出装置の処理動作を、図20のフローチャートに従って説明する。まず、本装置では、位相判定テーブルS(p)、位相決定ログ、位相確定フラグ、ビットカウンタを初期化する(S200)。位相判定テーブルS(p)は、位相を判定するためのテーブルであり、pは0〜5の整数値をとる。初期値はS(p)=0に設定されている。位相決定ログは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録していくものであり、初期状態では0が設定されている。位相確定フラグは、位相が確定しているかどうかを示すフラグであり、初期状態ではOffに設定されている。ビットカウンタについては初期値として0を設定する。
【0130】
このように、符号変換テーブルが作成され、初期値が設定されている状態で、利用者が流れている音楽について、その楽曲名等の属性情報を知りたいと思った場合、まず、抽出装置に対して、抽出装置としての起動の指示を行う。これは、例えば、抽出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。抽出装置は、指示が入力されると、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン(または指向性マイクロフォンの一方のチャンネル)から入力される音声を、A/D変換器によりデジタル化する処理を行うことになる。
【0131】
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S201)。具体的には、Aタイプ、Bタイプについての基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図9に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、Aタイプ、Bタイプについてそれぞれ4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、各チャンネルについて、Aタイプ、Bタイプ2個ずつの基準フレーム、すなわち2.5Nサンプルが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム4個分(連続する10240サンプル)が格納されていることになる。
【0132】
抽出装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、Aタイプの音響フレームとBタイプの音響フレームが、2048サンプルずつ重複している場合、最初の基準フレームとしてサンプル番号1からサンプル番号4096までを設定したら、次の基準フレームは、サンプル番号2049からサンプル番号6144、さらに次の基準フレームは、サンプル番号4097からサンプル番号8192、さらに次の基準フレームは、サンプル番号6145からサンプル番号10240、というように途切れることなく設定される。そして、各基準フレームについて、1/6フレーム(約683サンプル)ずつ移動した5個の位相変更フレームを設定する。例えば、最初の基準フレームについては、サンプル番号683、1366、2049、2732、3413から始まる4096のサンプルで構成される5個の位相変更フレームが設定されることになる。続いて、周波数変換手段130、符号判定パラメータ算出手段140が、読み込んだ各音響フレームについて、位相を特定した後、埋め込まれている情報を判定し、対応する符号を出力する(S202)。出力される情報の形式は、付加情報が埋め込まれる場合に対応する値1、値2の2通りの形式となる。
【0133】
ここで、ステップS202の位相確定および符号判定の詳細を図21のフローチャートに従って説明する。まず、位相確定フラグがOnであるかOffであるかの確認を行う(S301)。位相確定フラグがOnである場合は、位相確定処理(S303〜S309)を行わず、符号判定処理のみを行う(S302)。ただし、初期状態では位相は確定しておらず、位相確定フラグがOffとなっているので、候補符号テーブルB(p)の初期化を行う(S303)。候補符号テーブルB(p)は、1つの基準フレームおよび5個の位相変更フレームを特定するp=0〜5の位相番号および、この6個の音響フレームの状態から得られる2値の符号を記録するものである。
【0134】
続いて、符号判定パラメータ算出手段140は、符号判定処理を行う(S302)。ここで、符号判定処理の詳細を図22に示す。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行って各窓スペクトルを得る(S401)。具体的には、上記〔数式14〕〔数式15〕に従った処理を実行し、変換データの実部A(1,j,p)、虚部B(1,j,p)、実部A(2,j,p)、虚部B(2,j,p)を得る。
【0135】
S401の処理については、実際には、Aタイプ音響フレームについて周波数変換を行った後、N/2サンプルだけシフトしてBタイプ音響フレームについて周波数変換を行う。これらの変換データA(2,j,p)、B(2,j,p)、A(2,j,p)、B(2,j,p)に対して、上記〔数式16〕に従った処理を実行し、振幅変換を行う(S402)。
【0136】
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、符号判定パラメータC、C´を上述のようにして算出した後、符号判定パラメータC、C´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、1ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S403)。具体的には、上記〔数式17〕〜〔数式19〕に従った処理を実行して、符号判定パラメータC、C´を算出する。そして、この両者を比較して、C>C´であれば候補符号Bを候補符号テーブルB(p)に設定し、C≦C´であれば候補符号B´を候補符号テーブルB(p)に出力する。
【0137】
S403の具体的な処理手順としては、まず、上記〔数式17〕の1番目の式と2番目の式を利用して基本強度値E(1,j,p)、E(2,j,p)を算出した後、上記〔数式18〕の1番目から4番目までの式を利用してE1(p)、E2(p)、E3(p)、E4(p)を算出し、上記〔数式19〕に従って候補符号Bおよび符号判定パラメータCを算出する処理を行う。続いて、上記〔数式17〕の3番目から6番目までの式を利用して、残響補正処理を行って基本強度値E´(1,j,p)、E´(2,j,p)を算出する。そして、上記〔数式18〕の5番目から8番目までの式を利用してE1´(p)、E2´(p)、E3´(p)、E4´(p)を算出し、上記〔数式19〕に従って候補符号B´および補正符号判定パラメータC´を算出する処理を行う。
【0138】
1音響フレームに2ビットが埋め込まれている場合は、S403において、符号判定パラメータ算出手段140は、符号判定パラメータC1、C2、C1´、C2´を上述のようにして算出した後、符号判定パラメータC1、C2、C1´、C2´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、2ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う。具体的には、上記〔数式17〕〔数式18〕〔数式20〕〔数式21〕に従った処理を実行して、符号判定パラメータC1、C2、C1´、C2´を算出する。そして、C1+C2>C1´+C2´であれば候補符号B1、B2を候補符号テーブルB(p)に設定し、C1+C2≦C1´+C2´であれば候補符号B1´、B2´を候補符号テーブルB(p)に出力する。
【0139】
また、上記判定の結果、位相pにおける候補符号テーブルB(p)に値1、値2のいずれかを出力した場合には、さらに、以下の〔数式22〕に従って位相判定テーブルS(p)の更新を行う(S404)。
【0140】
〔数式22〕
C>C´である場合、S(p)←S(p)+C
C≦C´である場合、S(p)←S(p)+C´
【0141】
1音響フレームに2ビットが埋め込まれている場合は、判定の結果、位相pにおける候補符号テーブルB(p)に2ビットに対応する値を出力した場合には、S404において、以下の〔数式23〕に従って位相判定テーブルS(p)の更新を行う。
【0142】
〔数式23〕
C1+C2>C1´+C2´である場合、S(p)←S(p)+C1+C2
C1+C2≦C1´+C2´である場合、S(p)←S(p)+C1´+C2´
【0143】
ここで、図21のフローチャートに戻って、符号判定パラメータ算出手段140は、候補符号テーブルB(p)に、位相pにおいて符号判定処理(S302)で仮決定された符号を保存する(S304)。
【0144】
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S305)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S302に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、位相判定テーブルS(p)の値が最大となる位相番号pmaxに対応する位相が最適位相であると判定し、候補符号テーブルB(p)に記録されている符号B(pmax)を出力する(S306)。
【0145】
続いて、位相決定ログの更新を行う(S307)。位相決定ログとは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録するものである。そして、位相決定ログを参照して、位相が過去所定回数同一であったかどうかを判断する(S308)。本実施形態では、この回数を10回としている。位相が過去所定回数同一であった場合には、位相確定フラグをOnに設定する(S309)。これにより、同一位相が所定回数続いた場合には、最適位相はpmaxとなる可能性が高いため、位相確定処理(S303〜S309)を行わず、位相番号p=pmaxに対してのみ符号判定処理(S302)を行うことになる。
【0146】
再び図20のフローチャートに戻って説明する。位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存する(S203)。次に、ビットカウンタを“1”だけカウントアップする(S204)。
【0147】
次に、ビットカウンタが11以下であるか12以上であるかを判断する(S205)。ビットカウンタが11以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
【0148】
ビットカウンタが12以上である場合は、バッファに保存された12ビットのビット配列のデコードを行う(S206)。このデコード処理の詳細を、図23のフローチャートに従って説明する。
【0149】
付加情報抽出手段160は、まず、初期化処理を行う(S701)。具体的には、7ビット符号KFおよび最小ハミング距離HDを定義するとともに、KF=0およびHD=2として初期化する処理を行う。続いて、i=0に初期設定する(S702)。次に、バッファに保存された12ビットのビット配列を12ビット符号HFとし、符号変換テーブルのi番目に対応する12ビット符号とのハミング距離hdを算出し、hd<HDの場合、KF=i、HD=hdに更新する(S703)。そして、iの値を1加算して(S704)、iの値が128未満である場合には、S703の処理を繰り返し行う。付加情報抽出手段160は、図13に示した符号変換テーブルに記録された128個のハミング符号全てについて、ハミング距離hdを算出し、最小ハミング距離HD、およびハミング距離が最小となる場合の7ビット基準符号KFを得る。
【0150】
最小ハミング距離HDが得られたら、図20に戻って、得られた最小ハミング距離HDが0か、1以上かを判断する(S207)。S207において最小ハミング距離が1以上と判断された場合は、S201に戻って、次の基準フレームを抽出する処理を行う。
【0151】
S207において最小ハミング距離が0と判断された場合は、付加情報抽出手段160が、図23の処理により得られた7ビット基準符号KFに1ビット付加して出力する(S208)。S207において最小ハミング距離が0であった場合は、バッファ中の先頭の1ビット目が、付加情報内のワードの1ビット目であった可能性が高いことになる。このため、その先頭からの7ビットにビット“0”を付加することによりASCIIコードにおける1ワードとして出力するのである。ハミング距離が1以上の場合は、照合に用いた12ビットが、付加情報内のワードとずれている可能性が高いことになる。この場合は、先頭の1ビットを破棄して、S201からS204の処理により新たな1ビットを得るための処理を行う。
【0152】
最小ハミング距離が0と判断された場合は、その部分がワードの区切りである可能性が高いので、それが本当に区切りであれば、以降は12ビットずつ抽出すれば、全て正確にワード単位で抽出を行うことができる。逆に、最小ハミング距離が0と判断されたとしても、それが偶然であり、実はワードの区切りではない場合も考えられる。このような場合は、次の検査の際に不適合となる可能性が高く、何回か繰り返しているうちに正しい区切りが正確に判断できることになる。S208において、7ビット基準符号KFに1ビット付加して出力した場合には、ビットカウンタを0に初期化する(S209)。そして、S201に戻って、次の基準フレームを抽出する処理を行う。
【0153】
図20に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S201において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
【0154】
上記S208の処理において、付加情報抽出手段160は、まず、符号出力手段150により出力された値を、所定の規則により変換して意味のある付加情報として抽出する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態にすることができるものであれば、さまざまな規則が採用できるが、本実施形態では、ASCIIコードを採用している。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号から得られるビット値の配列を1バイト(8ビット)単位で認識し、これをASCIIコードに従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
【0155】
従って、埋め込み装置により音響信号に、その楽曲の曲名やアーチスト等の属性情報を文字情報として埋め込んでおけば、利用者は、その音楽が流れているのを聞いて、その曲名やアーチストを知りたいと思ったときに、抽出装置として機能する自身の携帯端末に所定の操作を行えば、自身の携帯端末の画面に曲名やアーチスト等の属性情報が文字情報として表示されることになる。
【0156】
上記の例では、図20のフローチャートに従ってエラー訂正を行わない設定における抽出装置の処理動作を説明した。エラー訂正を行わない場合は、エラーが生じない場合にのみ、付加情報1ワードの出力が可能となる。
【0157】
次に、1ビットのエラー訂正をする設定における抽出装置の処理動作を、図24のフローチャートに従って説明する。図24においては、図20と同一処理を行う部分が含まれている。そこで、図20と同一処理を行う部分については、同一符号を付して説明を省略する。図24の例においても、まず、初期化処理を行う(S200)。この初期化処理では、図20の例と同様、位相判定テーブルS(p)、位相決定ログ、位相確定フラグ、ビットカウンタを初期化するが、さらに、自動訂正モードをOFFにする設定を行う。
【0158】
続いて、図20と同様、所定数のサンプルで構成される音響フレームを基準フレームとして抽出した後(S201)、読み込んだ各音響フレームについて、位相を特定した後、埋め込まれている情報を判定し、対応する符号を出力する(S202)。なお、S202の処理については、図21、図22に示したようなものとなる。
【0159】
位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存して(S203)、ビットカウンタを“1”だけカウントアップする(S204)。そして、ビットカウンタが11以下であるか12以上であるかを判断し(S205)、ビットカウンタが11以下の場合は、S201に戻って、次の基準フレームを抽出する処理を行う。
【0160】
ビットカウンタが12以上である場合は、バッファに保存された12ビットのビット配列のデコードを行う(S206)。続いて、得られたハミング距離が0か1以上かを判断する(S207)。S207においてハミング距離が0と判断された場合は、S208におけるビット列の出力処理の直前に、自動訂正モードをONに設定する処理を行う(S210)。
【0161】
S207においてハミング距離が1以上と判断された場合は、さらにハミング距離が1か2以上かを判断する(S211)。判断の結果、ハミング距離が2以上と判断された場合には、自動設定モードをOFFに設定する処理を行った後(S212)、S201に戻って、次の基準フレームを抽出する処理を行う。
【0162】
S211における判断の結果、ハミング距離が1と判断された場合には、自動訂正モードがONであるかOFFであるかの確認を行う(S213)。自動訂正モードがOFFである場合は、S201に戻って、次の基準フレームを抽出する処理を行う。
【0163】
自動訂正モードがONである場合は、付加情報抽出手段160が、図23の処理により得られた7ビット基準符号KFに1ビット付加して出力する(S208)。そして、ビットカウンタを0に初期化する(S209)。
【0164】
図24の例のように、1ビットのエラー訂正をする設定の場合は、1ビットのエラーが生じた場合であっても、付加情報1ワードの出力が可能となる。
【0165】
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り(本実施形態では6通り)で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、6通りで読み込む場合、先頭の音響フレームは、本来サンプル番号1〜4096のサンプルであるが、サンプル番号1、683、1366、2049、2732、3413から始まる4096のサンプルで構成される6個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。なお、図21のフローチャートを用いて説明したように、本実施形態では、同一位相が所定回数連続した場合には、それ以降はその位相を確定したものとして処理を行う。
【0166】
(8.ビット配列のビット数Nh、ハミング距離を変更した場合)
上記実施形態では、ビット配列作成の際、作成されるビット配列は、12ビット(Nhビット)でハミング距離が4となるようにしたが、ビット配列のビット数Nh、およびハミング距離は、適宜変更することが可能である。一般に、ビット配列のビット数Nhを大きくすれば、符号化効率は悪くなるが、訂正可能な誤りビット数は増えることになる。したがって、マイクロフォンの感度や演算処理能力が比較的高い抽出装置を用いる場合には、ビット数、ハミング距離が小さいビット配列を作成するようにし、マイクロフォンの感度や演算処理能力が比較的低い抽出装置を用いる場合には、ビット数、ハミング距離が大きいビット配列を作成するようにする。
【0167】
ここでは、ビット配列のビット数Nhを16、ハミング距離を6とした場合の例について説明する。ビット配列のビット数を16、ハミング距離を6とした場合も、変換テーブル作成手段80による符号変換テーブル作成は、基本的には、図12に示したフローチャートに従って行われる。ただし、HFが16ビット符号である点、S603において16ビット符号HFと符号変換テーブルに既に登録されている他の16ビット符号とのハミング距離を算出した後、S604、S605のいずれに進むかの閾値が、ハミング距離が6未満か、6以上かで決まる点が、ビット数Nh=12、ハミング距離4の場合と異なっている。
【0168】
このようにして作成された符号変換テーブルを図25に示す。図25に示すように、符号変換テーブルには、7ビット符号が取り得る各値0〜127について、16ビット符号が対応付けて登録されている。16ビット符号の2進表記を見るとわかるように、全ての16ビット符号は互いにハミング距離が6以上となっている。なお、図25の例では、説明の便宜上、7ビット符号の10進表記と、16ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と16ビット符号のビット列が対応付けて登録されている。
【0169】
符号変換テーブル作成処理後は、図14のフローチャートに従って埋め込み処理が行われる。この際、1ワードとして、16ビット分の処理が行われることになる。
【0170】
抽出時には、変換テーブル作成手段180が、最初に、符号変換テーブルを作成する。符号変換テーブルが作成された後は、図20〜図24に従った処理により、付加情報が抽出されることになる。16ビット符号を扱う場合、図20、図24におけるS205においては、ビットカウンタが15以下か16以上かで判断を行うことになる。また、図23のS701においては、最小ハミング距離HD=3として初期化し、S703においては、HFが16ビット符号として定義される。また、図24のS212に進むのは、最小ハミング距離が3以上の場合となる。
【0171】
(9.信号成分が小さい場合にさらに確実に情報の埋め込みを行う手法)
ここまでの説明のように、本実施形態では、元の信号成分に無音に近い部分があっても、情報の埋め込みを可能とするものである。このままでも、もちろん十分であるが、より確実に情報を埋め込むような処理を付加することも可能である。具体的には、周波数変換を行う前に、音響信号に聴取困難な微弱な白色ノイズを重畳させる。
【0172】
この場合、図9に示した音響フレーム読込手段10は、所定数のサンプルを1音響フレームとして読み込んだ後、所定の振幅範囲で所定サンプル数単位で同一値を加算または減算する機能を有している。本実施形態では、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、−32〜+32の振幅範囲(Xl(i)、Xr(i)のとり得る値が−32768〜+32767の場合)で一様乱数Hを発生させ、K(本実施形態ではK=5)個のサンプル間は同一値Hを用いて以下の〔数式24〕に示すような処理を実行し、Xl(i)、Xr(i)の値を更新する。
【0173】
〔数式24〕
Xl(i)←Xl(i)+H
Xr(i)←Xr(i)−H
【0174】
すなわち、上記〔数式24〕に従った処理をNサンプルに渡って実行することにより、1つの音響フレームに白色ノイズが発生されることになる。この白色ノイズの発生処理は、図14のフローチャートにおいては、S103、S104の音響フレーム抽出処理の直後に行われることになる。
【0175】
上記のように、白色ノイズを発生させた場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図19と同一であり、処理動作は図20〜図24のフローチャートに従ったものと同一である。
【0176】
(10.抽出時に符号逆変換テーブルを作成する場合)
上記実施形態では、抽出装置は、バッファにNh(12又は16)ビットが保存された状態で、図23に示した処理を実行することにより、対応する7ビットの基準符号KFを得るようにしたが、この場合、1ワード単位で図23に示した処理を実行することになるため、処理負荷が大きくなる。このような処理負荷を小さくするためには、得られたNhビットを、Nwビットに変換するための符号逆変換テーブルを作成しておくことが望ましい。ここでは、このような符号逆変換テーブルを利用する場合について説明する。
【0177】
この場合、抽出装置の変換テーブル作成手段180は、変換テーブル作成手段80の機能に加え、符号逆変換テーブルを作成する機能を備えるとともに、付加情報抽出手段160が、図23に従った処理を行う機能に代えて、符号逆変換テーブルを参照する機能を備える。具体的には、付加情報抽出手段160は、図20、図24のS206において、図23に従った処理を実行する代わりに、符号逆変換テーブルを参照することになる。
【0178】
この場合、変換テーブル作成手段180は、Nh(>Nw)ビットの全ハミング符号に対して、変換対象となるハミング符号までのハミング距離を記録するとともに、このハミング距離が所定以下のハミング符号に対しては、対応するNwビットの登録順位が対応付けられた符号逆変換テーブルを作成する機能を有する。
【0179】
抽出装置を起動すると、まず、変換テーブル作成手段180が、符号逆変換テーブルを作成する。変換テーブル作成手段180による符号逆変換テーブルの作成は、最初に、変換テーブル作成手段80と同様の処理を行って符号変換テーブルを作成した後、この符号変換テーブルを利用して行う。
【0180】
符号逆変換テーブルは、Nhビットの全ハミング符号に対して、各々符号変換テーブルに登録されているハミング符号までの最小のハミング距離を記録するとともに、このハミング距離が所定以下のハミング符号に対しては、逆変換先となるNwビットの登録順位(当該ハミング距離をもつハミング符号が符号変換テーブルに登録されている登録順位)が対応付けられたものであるので、Nh=12の場合、HF=0〜4095までの各ハミング符号について作成されることになる。HFの値を特定した場合の処理は、図23に示したものと同じである。S704において、iの値が128以上となった場合、ハミング距離HDが0または1であった場合には、ハミング符号HFと対応付けて、7ビット符号KFおよび最小ハミング距離HDを符号逆変換テーブルに登録する。
【0181】
図23に示した処理を、HF=0〜4095の全てについて実行することにより、図26に示すような符号逆変換テーブルが作成される。図26に示すように、符号逆変換テーブルには、12ビット符号HFが取り得る各値0〜4095について、ハミング距離が対応付けて登録されているとともに、ハミング距離が1以下となったものについては、対応する7ビット符号KFが登録されている。なお、図26の例では、説明の便宜上、7ビット符号の10進表記と、12ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と12ビット符号のビット列が対応付けて登録されている。
【0182】
また、Nh=16の場合、図23に示した処理を、HF=0〜65535の全てについて実行することにより、図27に示すような符号逆変換テーブルが作成される。
【0183】
そして、図20のS206の処理を行う際には、Nh=12の場合は、得られた12ビットで図26を参照し、対応する7ビット符号KFと、ハミング距離を得ることになり、Nh=16の場合は、得られた16ビットで図27を参照し、対応する7ビット符号KFと、ハミング距離を得ることになる。
【0184】
(11.周波数範囲の変形例)
上記実施形態では抽出精度を向上させるため、電話帯域全体に埋め込み領域を拡大する方法を採用したが、再生品質を向上させるため、下位の変更対象周波数帯の幅を上記実施形態より狭くすることも可能である。具体的には、変更対象周波数帯の下限F1を0.85kHzとする。この場合、上位周波数帯は1.7kHz〜3.4kHz、下位周波数帯は0.85kHz〜1.7kHzとなる。ただし、実験の結果、前記電話帯域全体に埋め込み領域を設定した方法と比較し、品質上の顕著な差は無く、むしろ抽出精度の低下のデメリットの方が大きく、結果的に優位性は見られなかった。また出願人は、電話帯域全体に埋め込み領域を設定する際、上記実施形態で示した方法ではなく、下位周波数帯を0.85kHz〜1.7kHzに狭くし、その下に、さらに独立した周波数帯0.34kHz〜0.85kHzを三重に設置する手法についても実験したが、比較の結果、下位周波数帯を0.34kHz〜1.7kHzの1本にまとめる方が雑音の抑圧効果が高く、感度も2倍程度に拡大されることがわかった。低音部は信号エネルギー成分が大きいため、わずかな拡大により感度が顕著に改善されたのだと思われる。結局、周波数方向に4つの周波数領域に分け、上位周波数帯と下位周波数帯の幅を近づけ、二重の音脈分凝を形成する手法が、人間の聴覚に対して、最もノイズを抑制できることがわかった。
【0185】
(12.その他)
以上、本発明の好適な実施形態について限定したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、1音響フレームのサンプル数N=4096としたが、N=2048、1024、512等を設定するようにしても良い。これにより、同一時間あたりの音響フレーム数が、2倍、4倍、8倍となり、全体として2〜8倍の情報の埋め込みが可能となる。
【0186】
また、上記実施形態では、音響信号からの情報の抽出装置を、携帯電話機等の携帯型端末装置単体で実現した場合を例にとって説明したが、他のコンピュータと連携して実現するようにしても良い。具体的には、携帯型端末装置と専用コンピュータを無線通信可能に接続し、音響信号入力手段100〜音響フレーム保持手段170の構成要素のうち、演算負荷の大きいものは、専用コンピュータで処理する。例えば、音響信号入力手段100、基準フレーム獲得手段110、位相変更フレーム設定手段120、付加情報抽出手段160、変換テーブル作成手段180を携帯型端末装置に備え、周波数変換手段130、符号判定パラメータ算出手段140、符号出力手段150、音響フレーム保持手段170を専用コンピュータに備えるようにして、必要な情報を両者間で通信するようにする。これにより、携帯型端末装置の処理性能が低い場合であっても高速な処理を行うことが可能となる。
【0187】
また、上記実施形態では、2チャンネルのステレオ音響信号を利用した場合を例にとって説明したが、1チャンネルのモノラル音響信号を利用しても良い。この場合は、上記LチャンネルまたはRチャンネルのいずれか一方に対して行った処理を実行すれば良い。
【0188】
また、周波数成分変更手段30による所定周波数成分の変更を、図11および〔数式11〕に従って実行するようにしたが、埋め込むべきビット値に応じた周波数成分の変更は、様々なものを用いることができ、例えば特許文献1に示したような手法を用いることも可能である。この場合、抽出側においても、当然その埋め込み手法に応じた手法で抽出が行われる。
【図面の簡単な説明】
【0189】
【図1】従来の埋め込み装置の利用環境と本発明のリアルタイム埋め込み装置の利用環境を比較した図である。
【図2】本発明に係る音響信号に対する情報のリアルタイム埋め込み装置の利用環境をさらに詳細に示した図である。
【図3】本発明第1の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。
【図4】第1の実施形態において実行制御手段が行う処理を中心としたフローチャートである。
【図5】本発明第2の実施形態に係る音響信号に対する情報のリアルタイム埋め込み装置の構成を示す機能ブロック図である。
【図6】第2の実施形態において実行制御手段が行う処理を中心としたフローチャートである。
【図7】録音処理手段210の処理概要を示すフローチャートである。
【図8】再生処理手段250の処理概要を示すフローチャートである。
【図9】付加情報埋め込み手段230の詳細を示す図である。
【図10】本実施形態で用いる時間方向窓関数を示す図である。
【図11】変更対象周波数帯の成分の変化の状態を示す図である。
【図12】符号変換テーブル作成の処理概要を示すフローチャートである。
【図13】7ビット符号と12ビット符号の符号変換テーブルの一例を示す図である。
【図14】図9に示した付加情報埋め込み手段230の処理概要を示すフローチャートである。
【図15】振幅変換を用いない埋め込み処理を説明するための図である。
【図16】振幅変換を用いない抽出処理を説明するための図である。
【図17】振幅変換を用いた埋め込み処理を説明するための図である。
【図18】振幅変換を用いた抽出処理を説明するための図である。
【図19】音響信号からの情報の抽出装置の機能ブロック図である。
【図20】図19に示した装置の、エラー訂正を行わない設定における処理概要を示すフローチャートである。
【図21】図20のS202の位相確定および符号出力の詳細を示すフローチャートである。
【図22】図21のS302の符号判定処理の詳細を示すフローチャートである。
【図23】12ビット符号HFが特定された場合の、対応する7ビット符号KF、最小ハミング距離HDを得るための処理を示すフローチャートである。
【図24】図19に示した装置の、1ビットのエラー訂正をする設定における処理概要を示すフローチャートである。
【図25】7ビット符号と16ビット符号の符号変換テーブルの一例を示す図である。
【図26】7ビット符号と12ビット符号の符号逆変換テーブルの一例を示す図である。
【図27】7ビット符号と16ビット符号の符号逆変換テーブルの一例を示す図である。
【符号の説明】
【0190】
10・・・音響フレーム読込手段
20・・・周波数変換手段
30・・・周波数成分変更手段
40・・・周波数逆変換手段
50・・・改変音響フレーム出力手段
62・・・付加情報記憶部
70・・・ビット配列作成手段
80・・・変換テーブル作成手段
100・・・音響信号入力手段
110・・・基準フレーム獲得手段
120・・・位相変更フレーム設定手段
130・・・周波数変換手段
140・・・符号判定パラメータ算出手段
150・・・符号出力手段
160・・・付加情報抽出手段
170・・・音響フレーム保持手段
180・・・変換テーブル作成手段
210・・・録音処理手段
220・・・録音ブロック蓄積手段
230・・・付加情報埋め込み手段
240・・・再生ブロック蓄積手段
250・・・再生処理手段
260・・・ブロック一時蓄積手段
【特許請求の範囲】
【請求項1】
音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、
所定数の音響ブロックを蓄積できる録音ブロック蓄積手段と再生ブロック蓄積手段と、
前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを作成し、当該音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、
前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記再生ブロック蓄積手段に書き込む付加情報埋め込み手段と、
前記再生ブロック蓄積手段に蓄積されている再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、
各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段と、
を有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項2】
音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、
所定数の音響ブロックを蓄積できる録音ブロック蓄積手段、ブロック一時蓄積手段、再生ブロック蓄積手段と、
前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを読み込み、前記音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、
前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記ブロック一時蓄積手段に書き込む付加情報埋め込み手段と、
前記ブロック一時蓄積手段に蓄積されている単一の再生ブロックを読み込み、当該再生ブロックを前記再生ブロック蓄積手段に書き込む再生準備手段と、
前記再生ブロック蓄積手段に蓄積されている単一の再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、
各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、前記再生処理手段が前記再生ブロック蓄積手段から再生ブロックを抽出するごとに、所定の処理を前記再生準備手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段と、
を有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項3】
請求項1または請求項2において、
前記実行制御手段は、前記装置の起動時に、前記録音処理手段の実行を開始させ、前記再生処理手段に対して、前記付加情報埋め込み手段が1回以上実行した時点で、遅らせて実行を開始させるように制御することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項4】
請求項1から請求項3のいずれかにおいて、
前記付加情報埋め込み手段は付加情報設定手段を備え、前記装置の起動時または前記付加情報設定手段により前記付加情報が更新された際に、付加情報の最初のビットから埋め込みを開始することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項5】
請求項1から請求項5のいずれかにおいて、
前記音響信号が2以上のチャンネルのステレオ信号であり、
前記録音ブロック蓄積手段、ブロック一時蓄積手段、再生ブロック蓄積手段、録音処理手段、付加情報埋め込み手段、再生処理手段、実行制御手段は、各チャンネルに対して処理を実行するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項6】
請求項1から請求項5のいずれかにおいて、
前記付加情報埋め込み手段は、
前記録音ブロックより音響フレームを逐次読み込む音響フレーム読込手段と、
前記読み込んだ音響フレームのうち、奇数番目、偶数番目の一方をAタイプ、他方をBタイプとし、前記Aタイプの音響フレームに対して第1窓関数を用いて周波数変換を行い、前記Bタイプの音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、
前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2個のスペクトル集合を、周波数が高い方のスペクトル集合の周波数幅が大きくなるように抽出し、更に各スペクトル集合を1/2の周波数幅に均等分割し、各窓スペクトルについての4個のスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合を周波数が低い順に、1D1、1D2、1U1、1U2とし、前記第2窓スペクトルから抽出したスペクトル集合を周波数が低い順に、2D1、2D2、2U1、2U2とした場合に、埋め込むべきビット配列に基づいて、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなり、同時に1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように、各スペクトル集合の強度を変更する周波数成分変更手段と、
前記変更されたスペクトル集合を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、
前記生成された改変音響フレームを順次結合し、前記再生ブロックを作成する改変音響フレーム出力手段と、
を有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項7】
請求項6において、
前記周波数成分変更手段は、前記ビット配列中の1ビットの状態に基づいて、1D1の強度値と1U1の強度値と2D2の強度値と2U2の強度値との積と、1D2の強度値と1U2の強度値と2D1の強度値と2U1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように、各スペクトル集合の強度を変更するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項8】
請求項6において、
前記周波数成分変更手段は、前記ビット配列中の1ビットの状態に基づいて、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように各スペクトル集合の強度を変更し、前記ビット配列中の他の1ビットの状態に基づいて、1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように各スペクトル集合の強度を変更するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項9】
請求項6から請求項8のいずれかにおいて、
前記周波数成分変更手段は、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積と、1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のうち、大きくなるように変更する側のスペクトル集合に対しては、係数αを乗じた強度とし、小さくなるように変更する側のスペクトル集合に対しては、係数αより小さい係数βを乗じた強度とするものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項10】
請求項9において、
前記周波数成分変更手段は、前記強度の積を相対的に大きくなるように変更するグループの強度の積を、前記強度の積を相対的に小さくなるように変更するグループの強度の積で割った値γが、1より小さい場合に、前記係数αよりγの平方根を除した係数α´と、前記係数βにγの平方根を乗じた係数β´を、前記係数α、βに代えて用いるものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項11】
請求項6から請求項10のいずれかにおいて、
前記付加情報がNwビットを1ワードとして構成されるものであり、
前記付加情報埋め込み手段は、
Nwビットが取り得る2のNw乗個の全ての登録順位に対して、互いにハミング距離が少なくとも4以上となるNh(>Nw)ビットのハミング符号を割り当てた符号変換テーブルを作成する変換テーブル作成手段と、
前記付加情報中の各ワードについて、前記符号変換テーブルを参照し、対応するハミング符号で構成されるNhビットのビット配列を作成するビット配列作成手段と、
をさらに有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項12】
請求項11において、
前記変換テーブル作成手段は、7ビットが取り得る128個の全ての登録順位に対して互いにハミング距離が6以上となる16ビットのハミング符号を割り当てた符号変換テーブルを作成するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項13】
請求項6から請求項12のいずれかにおいて、
前記音響フレーム読込手段は、前記Aタイプの音響フレームと前記Bタイプの音響フレームを、所定数のサンプルを重複させて読み込むものであり、
前記改変音響フレーム出力手段は、前記生成された改変音響フレームを先行する改変音響フレームと連結させて出力するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項14】
請求項6から請求項13のいずれかにおいて、
前記周波数成分変更手段は、前記所定周波数範囲を0.34kHz以上および3.4kHz以下として設定するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項15】
請求項6から請求項14のいずれかにおいて、
前記音響フレーム読込手段は、前記音響フレームと同サンプル数で、再生時に聴取困難な極めて低振幅の白色ノイズを作成し、前記音響フレームに対して加算するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項16】
コンピュータを、請求項1から請求項15のいずれかに記載の音響信号に対する情報のリアルタイム埋め込み装置として、機能させるためのプログラム。
【請求項1】
音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、
所定数の音響ブロックを蓄積できる録音ブロック蓄積手段と再生ブロック蓄積手段と、
前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを作成し、当該音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、
前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記再生ブロック蓄積手段に書き込む付加情報埋め込み手段と、
前記再生ブロック蓄積手段に蓄積されている再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、
各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段と、
を有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項2】
音響信号に対して、所定数のサンプルで構成される音響フレームが複数個含まれる音響ブロックを逐次読み込み、前記音響ブロック内の各音響フレームに所定の付加情報を聴取不能な状態で埋め込み、前記付加情報が埋め込まれた音響ブロックを付加情報が埋め込まれた音響信号として逐次出力する装置であって、
所定数の音響ブロックを蓄積できる録音ブロック蓄積手段、ブロック一時蓄積手段、再生ブロック蓄積手段と、
前記音響信号をデジタル化して所定数のサンプルからなる単一の音響ブロックを読み込み、前記音響ブロックを録音ブロックとして前記録音ブロック蓄積手段に書き込む録音処理手段と、
前記録音ブロック蓄積手段に蓄積されている単一の録音ブロックを読み込み、前記録音ブロック内の各音響フレームに前記付加情報を埋め込み、付加情報が埋め込まれた録音ブロックを再生ブロックとして前記ブロック一時蓄積手段に書き込む付加情報埋め込み手段と、
前記ブロック一時蓄積手段に蓄積されている単一の再生ブロックを読み込み、当該再生ブロックを前記再生ブロック蓄積手段に書き込む再生準備手段と、
前記再生ブロック蓄積手段に蓄積されている単一の再生ブロックをアナログ変換して前記付加情報が埋め込まれた音響信号として再生する再生処理手段と、
各録音ブロック間が不連続にならないように前記録音処理手段に途切れなく処理させる制御と、前記録音ブロック蓄積手段への単一の録音ブロックの書込みが終了するごとに、所定の処理を前記付加情報埋め込み手段に単一回実行させる制御と、前記再生処理手段が前記再生ブロック蓄積手段から再生ブロックを抽出するごとに、所定の処理を前記再生準備手段に単一回実行させる制御と、再生される音響信号が不連続にならないように前記再生処理手段に途切れなく処理させる制御を行う実行制御手段と、
を有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項3】
請求項1または請求項2において、
前記実行制御手段は、前記装置の起動時に、前記録音処理手段の実行を開始させ、前記再生処理手段に対して、前記付加情報埋め込み手段が1回以上実行した時点で、遅らせて実行を開始させるように制御することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項4】
請求項1から請求項3のいずれかにおいて、
前記付加情報埋め込み手段は付加情報設定手段を備え、前記装置の起動時または前記付加情報設定手段により前記付加情報が更新された際に、付加情報の最初のビットから埋め込みを開始することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項5】
請求項1から請求項5のいずれかにおいて、
前記音響信号が2以上のチャンネルのステレオ信号であり、
前記録音ブロック蓄積手段、ブロック一時蓄積手段、再生ブロック蓄積手段、録音処理手段、付加情報埋め込み手段、再生処理手段、実行制御手段は、各チャンネルに対して処理を実行するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項6】
請求項1から請求項5のいずれかにおいて、
前記付加情報埋め込み手段は、
前記録音ブロックより音響フレームを逐次読み込む音響フレーム読込手段と、
前記読み込んだ音響フレームのうち、奇数番目、偶数番目の一方をAタイプ、他方をBタイプとし、前記Aタイプの音響フレームに対して第1窓関数を用いて周波数変換を行い、前記Bタイプの音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、
前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2個のスペクトル集合を、周波数が高い方のスペクトル集合の周波数幅が大きくなるように抽出し、更に各スペクトル集合を1/2の周波数幅に均等分割し、各窓スペクトルについての4個のスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合を周波数が低い順に、1D1、1D2、1U1、1U2とし、前記第2窓スペクトルから抽出したスペクトル集合を周波数が低い順に、2D1、2D2、2U1、2U2とした場合に、埋め込むべきビット配列に基づいて、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなり、同時に1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように、各スペクトル集合の強度を変更する周波数成分変更手段と、
前記変更されたスペクトル集合を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、
前記生成された改変音響フレームを順次結合し、前記再生ブロックを作成する改変音響フレーム出力手段と、
を有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項7】
請求項6において、
前記周波数成分変更手段は、前記ビット配列中の1ビットの状態に基づいて、1D1の強度値と1U1の強度値と2D2の強度値と2U2の強度値との積と、1D2の強度値と1U2の強度値と2D1の強度値と2U1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように、各スペクトル集合の強度を変更するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項8】
請求項6において、
前記周波数成分変更手段は、前記ビット配列中の1ビットの状態に基づいて、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように各スペクトル集合の強度を変更し、前記ビット配列中の他の1ビットの状態に基づいて、1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のいずれか一方が他方より所定の比率以上に大きくなるように各スペクトル集合の強度を変更するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項9】
請求項6から請求項8のいずれかにおいて、
前記周波数成分変更手段は、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積と、1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のうち、大きくなるように変更する側のスペクトル集合に対しては、係数αを乗じた強度とし、小さくなるように変更する側のスペクトル集合に対しては、係数αより小さい係数βを乗じた強度とするものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項10】
請求項9において、
前記周波数成分変更手段は、前記強度の積を相対的に大きくなるように変更するグループの強度の積を、前記強度の積を相対的に小さくなるように変更するグループの強度の積で割った値γが、1より小さい場合に、前記係数αよりγの平方根を除した係数α´と、前記係数βにγの平方根を乗じた係数β´を、前記係数α、βに代えて用いるものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項11】
請求項6から請求項10のいずれかにおいて、
前記付加情報がNwビットを1ワードとして構成されるものであり、
前記付加情報埋め込み手段は、
Nwビットが取り得る2のNw乗個の全ての登録順位に対して、互いにハミング距離が少なくとも4以上となるNh(>Nw)ビットのハミング符号を割り当てた符号変換テーブルを作成する変換テーブル作成手段と、
前記付加情報中の各ワードについて、前記符号変換テーブルを参照し、対応するハミング符号で構成されるNhビットのビット配列を作成するビット配列作成手段と、
をさらに有することを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項12】
請求項11において、
前記変換テーブル作成手段は、7ビットが取り得る128個の全ての登録順位に対して互いにハミング距離が6以上となる16ビットのハミング符号を割り当てた符号変換テーブルを作成するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項13】
請求項6から請求項12のいずれかにおいて、
前記音響フレーム読込手段は、前記Aタイプの音響フレームと前記Bタイプの音響フレームを、所定数のサンプルを重複させて読み込むものであり、
前記改変音響フレーム出力手段は、前記生成された改変音響フレームを先行する改変音響フレームと連結させて出力するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項14】
請求項6から請求項13のいずれかにおいて、
前記周波数成分変更手段は、前記所定周波数範囲を0.34kHz以上および3.4kHz以下として設定するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項15】
請求項6から請求項14のいずれかにおいて、
前記音響フレーム読込手段は、前記音響フレームと同サンプル数で、再生時に聴取困難な極めて低振幅の白色ノイズを作成し、前記音響フレームに対して加算するものであることを特徴とする音響信号に対する情報のリアルタイム埋め込み装置。
【請求項16】
コンピュータを、請求項1から請求項15のいずれかに記載の音響信号に対する情報のリアルタイム埋め込み装置として、機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2009−103947(P2009−103947A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2007−275984(P2007−275984)
【出願日】平成19年10月24日(2007.10.24)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願日】平成19年10月24日(2007.10.24)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]