JP5212715B2 - 音響信号からの情報の抽出装置 - Google Patents

音響信号からの情報の抽出装置 Download PDF

Info

Publication number
JP5212715B2
JP5212715B2 JP2008243419A JP2008243419A JP5212715B2 JP 5212715 B2 JP5212715 B2 JP 5212715B2 JP 2008243419 A JP2008243419 A JP 2008243419A JP 2008243419 A JP2008243419 A JP 2008243419A JP 5212715 B2 JP5212715 B2 JP 5212715B2
Authority
JP
Japan
Prior art keywords
bit
code
frame
spectrum
acoustic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008243419A
Other languages
English (en)
Other versions
JP2010072602A (ja
Inventor
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2008243419A priority Critical patent/JP5212715B2/ja
Publication of JP2010072602A publication Critical patent/JP2010072602A/ja
Application granted granted Critical
Publication of JP5212715B2 publication Critical patent/JP5212715B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、CD・DVD等を用いた民生・業務用途における鑑賞用のパッケージ音楽分野、放送事業者等が商業目的で配信する放送・ネットワーク音楽配信分野における音楽著作権の保護(不正コピーの監視)および音楽属性情報の提供(楽曲タイトル検索サービス)分野、ミュージアム、イベント会場における展示説明ナレーションに連動した文字情報の提供サービス分野、放送番組やCD/DVDパッケージの音声信号からURLなどの情報を抽出し、携帯電話を用いて所定のコンテンツに関連するwebサイトにアクセスして詳細情報を抽出したり、アンケートに回答したりする非接触なインターネットのゲートウェイサービス分野に関する。
従来、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスとして、放送された音楽に対して日時と地域を放送局に照会したり、携帯電話で流れている音楽断片を録音してデータベースに登録されているメロディーと照合したりするサービスが行われている。本出願人は、これをさらに発展させ、音響信号の周波数成分の比率を属性情報のビット値に応じて変更することにより、属性情報(付加情報)を埋め込む手法を提案している(特許文献1参照)。
特開2006−323246号公報
上記特許文献1に記載の発明では、埋め込むビットデータの0または1の2値に対応した符号に加え、1種類の区切りデータを設けた2値構成になっており、この区切りデータは所定数のビットデータで構成されるワードデータ間(特許文献1ではバイトデータ間)、または埋め込み対象の音響信号のレベルが埋め込み可能な状態でない場合に適宜挿入される。このようにして、属性情報が埋め込まれた音響信号を音として再生した状態で、その音を録音して取得し、解析して埋め込まれていた属性情報を抽出する際、再生・録音状態によっては、前記区切りデータを適切に取り込むことができず、隣接するワードデータのビットとまたがり、ビットデータがずれた状態でワードデータが抽出されてしまい易いという問題がある。すなわち、埋め込まれていた本来のビット値を適切に抽出することができても、隣接するワードデータ間との区切りの判定を誤るだけで、大幅な文字化けを発生させてしまうという問題がある。埋め込まれる属性情報は、通常、1ワードの複数ビットで所定の意味を持つように構成されているため、1ビットでもずれると、意味が全く変わってしまうことがある。
そこで、本発明は、前記区切りデータが挿入されていなくても、抽出した所定数のビット値の配列を用いて、本来埋め込まれていた単位ワードのビット配列を誤りなく認識することが可能な音響信号からの情報の抽出装置を提供することを課題とする。
上記課題を解決するため、本発明では、Nwビットを1ワードとして1以上のワードから構成される付加情報を変換し、Nhビットを単位としてあらかじめ聴取不能な状態で埋め込まれた情報を、音響信号から抽出する装置であって、埋め込み前の元の1ワードの付加情報に対応するNwビットの基準符号と、当該基準符号に対応するNh(>Nw)ビットのハミング符号と、当該ハミング符号を構成するビット列をそれぞれ1〜Nh−1ビットずつ巡回させたNh−1個の巡回ビット列と対応付けて記録した巡回符号表と、前記音響信号の所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、前記読み込まれた音響フレームのうち、奇数番目、偶数番目の一方の音響フレームに対して第1窓関数を用いて周波数変換を行い、奇数番目、偶数番目の他方の音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2つのスペクトル集合を抽出し、前記第1窓スペクトル、第2窓スペクトルから抽出した高周波側のスペクトル集合の強度値をE3、E4、低周波側のスペクトル集合の強度値をE1、E2とした場合に、Nhの整数倍前までの対応する音響フレームにおいても同様に、E1〜E4に対応するスペクトル集合の強度値を算出し、過去のものほど小さくなる1未満の重みを乗じた値を累積加算した値を、E1〜E4に置換し、置換後のE1とE4の積と、E2とE3の積との大小関係に基づいて、埋め込まれていたビット値を抽出することにより1以上のビット列を抽出する符号化手段と、前記抽出されたビット列の集合が付加情報1ワード分に相当する所定のビット数Nhに達した場合に、当該1ワード分のビット列で前記巡回符号表を参照し、対応するNwビットの基準符号を元の1ワード分の付加情報として抽出する付加情報抽出手段を有する音響信号からの情報の抽出装置を提供する。
本発明によれば、音響信号に1以上のワードで構成される付加情報を埋め込むにあたり、各ワードを所定回数繰り返して埋め込み、抽出側では、抽出した1ワード分のビット列で、埋め込み時の付加情報に対応するビット列とそのビット列を1ビットずつずらしたビット列とを対応付けた巡回符号表を参照し、埋め込み時に相当するビット列を抽出するようにしたので、埋め込み時のワード間の区切り位置が未知であっても、本来埋め込まれていたビット配列とずれた状態であっても、1ワードを誤りなく認識することが可能となる。
(1.本発明の基本概念)
本発明では、付加情報を埋め込む際、ワード単位で所定回数繰り返して埋め込み、抽出時には、抽出したワード単位の情報を、1ビットづつずらした巡回ビットパターンと照合するようにしている。例えば、1ワード12ビットとし、1ワードを2回繰り返して埋め込んだ場合の例を図1に示す。この場合、同じものを2回繰り返して埋め込んでいるため、先行ワードと後続ワードは全く同じビット配列である。一方、抽出時には、読み込みの先頭位置を認識することは困難であるため、任意の位置から読み込まれることになる。
例えば、図1において先行ワードのビット7から読み込んだとすると、後続ワードのビット6までで12ビットとなる。ここで、先行ワードと後続ワードは全く同じビット配列であるため、抽出ビット列をどちらかにずらせば必ず、埋め込み時の付加情報1ワードと一致することになる。逆に、あらかじめ、付加情報1ワードを1ビットずつずらしたビットパターンを11個用意しておけば、それらのいずれかと抽出ビット列は一致することになる。本発明は、このような考え方を利用したものである。
(2.1.埋め込み装置の構成)
まず、本発明に係る音響信号に対する情報の埋め込み装置について説明する。図2は、本発明に係る音響信号に対する情報の埋め込み装置の構成を示す機能ブロック図である。図2において、10は音響フレーム読込手段、20は周波数変換手段、30は周波数成分変更手段、40は周波数逆変換手段、50は改変音響フレーム出力手段、60は記憶手段、61は音響信号記憶部、62は付加情報記憶部、63は改変音響信号記憶部、70はビット配列作成手段、80は変換テーブル作成手段である。なお、図2に示す装置は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
音響フレーム読込手段10は、付加情報の埋め込み対象とする元のステレオ音響信号の各チャンネルから所定数のサンプルを1フレームとして読み込む機能を有している。周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響信号のフレームをフーリエ変換等により周波数変換してスペクトルを生成する機能を有している。周波数成分変更手段30は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を複数抽出し、付加情報記憶部62から抽出した付加情報よりビット配列作成手段70が作成したビット配列に基づいて、スペクトル集合の状態を変更する機能を有している。周波数逆変換手段40は、変更されたスペクトル集合を含む複数のスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。改変音響フレーム出力手段50は、生成された改変音響フレームを順次出力する機能を有している。
記憶手段60は、付加情報を埋め込む対象とするステレオ音響信号を記憶した音響信号記憶部61と、ビット列として構成され、ステレオ音響信号に埋め込まれる付加情報を記憶した付加情報記憶部62と、付加情報埋め込み後の改変音響信号を記憶する改変音響信号記憶部63を有しており、その他処理に必要な各種情報を記憶するものである。ビット配列作成手段70は、付加情報記憶部62から付加情報を抽出し、付加情報の各ワードについて、変換テーブル作成手段80を参照し、対応するビット配列を作成する機能を有している。変換テーブル作成手段80は、Nwビットが取り得る2のNw乗個の全ての基準符号に対して、互いにハミング距離が少なくとも2以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。基準符号は、Nw=7の場合、10進で表現すると、0〜127の値をとり得る。
なお、付加情報とは、音響情報に付加して埋め込むべき情報であり、タイトルやアーティスト名等の属性情報、および属性情報以外の他の情報を含むものである。本実施形態では、上記Nw、NhをそれぞれNw=7、Nh=12としている。本実施形態では、付加情報のコード形式としてASCIIコードを採用するため、付加情報においてはNw=7となり、7ビットが1ワードとなる。また、ビット配列作成手段70が作成するビット配列は、12ビットとなり、ビット配列作成後は、これを1ワードとして処理している。図2に示した各構成手段は、現実にはコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
(2.2.埋め込み装置の処理動作)
次に、図2に示した音響信号に対する情報の埋め込み装置の処理動作について説明する。音響フレーム読込手段10は、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込む。音響フレーム読込手段10が読み込む1音響フレームのサンプル数Nは、適宜設定することができるが、サンプリング周波数が44.1kHzの場合、4096サンプル程度とすることが望ましい。したがって、音響フレーム読込手段10は、左チャンネル、右チャンネルについてそれぞれ4096サンプルずつ、順次音響フレームとして読み込んでいくことになる。
音響フレームとしては、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であっても良い。
周波数変換手段20は、振幅変換後の音響フレームに対して周波数変換を行って、その音響フレームのスペクトルを得る。具体的には、窓関数を利用して周波数変換を行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
一般に、所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、擬似高調波成分が発生する。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
本実施形態においても、窓関数を利用しているが、Aタイプの音響フレーム、Bタイプの音響フレームで、使用する窓関数を分けている。本実施形態では、図3(a)(b)に示したような第1窓関数W(1,i)、第2窓関数W(2,i)を用意し、抽出側で認識し易いようにした。第1窓関数W(1,i)は、Aタイプの音響フレームに対して用いるためのものであり、図3(a)に示すように所定のサンプル番号iの位置において、最大値1をとり、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(1,i)の設計によって異なってくるが、本実施形態では、後述する〔数式1〕で定義される。Aタイプの音響フレームについてのフーリエ変換は、この窓関数W(1,i)を乗じたものに対して行われることになる。
また、第2窓関数W(2,i)は、Bタイプの音響フレームに対して用いるためのものであり、図3(b)に示すように、所定のサンプル番号iの位置において、最大値1をとり、前部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(2,i)の設計によって異なってくるが、本実施形態では、後述する〔数式2〕で定義される。Bタイプの音響フレームについてのフーリエ変換は、この窓関数W(2,i)を乗じたものに対して行われることになる。
なお、上述のように、本実施形態においては、音響フレームは重複して読み込まれる。すなわち、奇数番目の音響フレームと偶数番目の音響フレームは、所定数のサンプルを重複して読み込む。上記のように、奇数フレームと偶数フレームでは、用いられる窓関数が異なるが、奇数フレームと偶数フレームは単に奇数か偶数かの違いだけであるため、どちらに対してどちらの処理を行っても良い。したがって、本明細書では、奇数フレーム、偶数フレームの一方をAタイプフレーム、他方をBタイプフレームと呼ぶことにする。本実施形態では、奇数フレームをAタイプフレーム、偶数フレームをBタイプフレームとして説明するが、逆に偶数フレームをAタイプフレーム、奇数フレームをBタイプフレームとしても良い。
本実施形態では、窓関数W(1,i)、W(2,i)は、以下の〔数式1〕〔数式2〕で定義される。なお、図3において、横軸は時間軸(i)である。iは、後述するように、各音響フレーム内のN個のサンプルに付した通し番号であるため時刻tに比例している。また、図3(a)(b)において縦軸は信号の振幅値(レベル)を示す。図3(a)(b)において縦軸は窓関数W(1,i)、W(2,i)の値を示しており、W(1,i)、W(2,i)の最大値はいずれも1である。
〔数式1〕
i≦N/8のとき、W(1,i)=0.0
N/8<i≦3N/8のとき、W(1,i)=0.5−0.5cos(4π(i−N/8)/N)
3N/8<i≦11N/16のとき、W(1,i)=1.0
11N/16<i≦13N/16のとき、W(1,i)=0.5+0.5cos(8π(i−11N/16)/N)
i>13N/16のとき、W(1,i)=0.0
〔数式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≦5N/8のとき、W(2,i)=1.0
5N/8<i≦7N/8のとき、W(2,i)=0.5+0.5cos(4π(i−5N/8)/N)
i>7N/8のとき、W(2,i)=0.0
なお、図3および上記〔数式1〕〔数式2〕から明らかなように、窓関数W(1,i)とW(2,i)は、互いに非対称な形状である。これは、後述する抽出側において、両者の識別を容易にするためである。
本発明においては、奇数フレームと偶数フレームを、所定サンプルずつ重複して読み込むため、情報の埋め込みを行った後、音響信号に復元する際に、窓関数を乗じた奇数フレームと、窓関数を乗じた偶数フレームの重複サンプルを加算した場合に、ほぼ元の値に戻るようにしなければならない。このため、奇数フレームと偶数フレームの重複部分において、窓関数W(1,i)、W(2,i)を加算すると、全区間固定値1になるように定義されている。
周波数変換手段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)を得る。
〔数式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)
周波数変換手段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)を得る。
〔数式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)
上記〔数式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異なることになる。
上記〔数式3〕〔数式4〕に従った処理を実行することにより、各音響フレームの各窓関数に対応するスペクトルが得られる。続いて、周波数成分変更手段30が、生成されたスペクトルから所定周波数範囲のスペクトル集合を抽出する。本実施形態では、F1以上F2以下の範囲のものを抽出する。
周波数変換手段20は、周波数変換を実行した後に、各スペクトル集合の平均値が設定値になるように変換する。いわゆる振幅を変換する処理を行う。この振幅変換は、各フレームごとのレベル差を軽減し、適切な情報の埋め込みが可能になるようにすることを目的としているため、設定値としては適宜設定することができるが、本実施形態では、128に設定するようにしている。
周波数変換手段20は、得られたスペクトル集合に対して、振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で上記設定値を除算することにより行う。具体的には、LチャンネルのAタイプの音響フレーム、Bタイプの音響フレーム、RチャンネルのAタイプの音響フレーム、Bタイプの音響フレームのスペクトル集合についての変換倍率Zl(1)、Zl(2)、Zr(1)、Zr(2)は、以下の〔数式5〕に従った処理により算出される。対象音響フレームが無音に近く、分母の二乗総和値が所定の値に満たない場合は、変換倍率を1.0に設定し、振幅変換は行わないようにする。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームのスペクトル集合の平均実効値が設定値となるように振幅変換された状態で、情報の埋め込みが行われることになる。
〔数式5〕
Zl(1)=Zo/[Σj=m,…,m+2G-1{Al(1,j)2+Bl(1,j)2}]1/2
Zl(2)=Zo/[Σj=m,…,m+2G-1{Al(2,j)2+Bl(2,j)2}]1/2
Zr(1)=Zo/[Σj=m,…,m+2G-1{Ar(1,j)2+Br(1,j)2}]1/2
Zr(2)=Zo/[Σj=m,…,m+2G-1{Ar(2,j)2+Br(2,j)2}]1/2
上記〔数式5〕において、Zo=2Gであり、本実施形態では、G=80であるため、Zo=160である。
さらに、j=m,…,m+2G−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)はこれらの振幅変換を行った値とする。
周波数成分変更手段30は、Aタイプの音響フレームについて、ビット配列作成手段70が作成したビット配列に応じて、所定周波数成分の割合を変更する処理を行う。本発明では、ビット配列を1ビットずつ読み込み、Aタイプ、Bタイプの1対の音響フレームに対して1ビットの情報を埋め込む。埋め込まれる1ビットの値は、“0” “1”の2通りがある。本実施形態では、これらを値1、値2と定義する。2種類の符号を埋め込むことができるという点で、これらを符号1、符号2と表現することも可能である。この際、“0”“1”の2通りのうち、いずれを値1、値2(符号1、符号2)と定義しても良い。抽出側において、埋め込み側で埋め込まれた1ビットが特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
周波数成分の変更の手法としては、様々なものが考えられるが、本実施形態では、人間の聴覚心理特性である音脈分凝の原理を利用する。ここで、音脈分凝について説明しておく。音脈分凝とは、時系列に高い音と低い音が交互に進行するパターンに対して、人間が、あたかも高低2つのトラックが連続して流れるように音を補間して聞いてしまう錯覚現象である。
たとえば、図4(a)に示すように、3つの低い音である低音1、低音3、低音5と3つの高い音である高音2、高音4、高音6が、低音1、高音2、低音3、高音4、低音5、高音6の順に演奏されている場合を考えてみる。低音1、低音3、低音5と高音2、高音4、高音6は1オクターブ程度離れており、低い音と高い音は同時に演奏されることはないが、時間的間隔は、ほぼ連続しているものとする。この場合、人間には、図4(b)に示すように、低い音と高い音が演奏されていない部分も補間されて演奏されているように聞こえる。すなわち、実際の演奏は単旋律であるのに、人間には、図4(b)に示すように、高音1´、高音3´、高音5´、低音2´、低音4´、低音6´が補間されて複旋律であるように聞こえる。例えば、高音3´は高音2と高音4が連続的につながるように、高音2と高音4の平均的な成分に聞こえる。また、末端部の高音1´と低音6´についても、隣接する高音2と低音5に近い成分で、各々低音1と高音6に対応するように聞こえる。しかし、マイクロフォン等の電気音響装置は、図4(a)に示したものをそのままの音として取得することになる。本実施形態では、このような性質を利用する。なお、補間された音は、前後に演奏されている音と必ずしも同じレベルに補間されて聴こえるのではなく、大雑把に言って、前後に演奏されている音の50%程度があたかも補間されているように聞こえる。
具体的には、埋め込み装置で、音響信号から抽出した所定数のサンプルで構成される音響フレーム内の所定周波数範囲の周波数成分を変更するに際し、その強弱が音脈分凝を発生させるような状態に変更する。これにより、人間には、音が途切れたようには聞こえないが、抽出装置では、その明確な変化を認識することができる。
本実施形態では、音脈分凝の原理を利用して、音響フレームの変更対象周波数帯の成分を2つの状態に変更し、1ビットの情報を埋め込むようにしている。ここで、埋め込み処理の前後における音響フレームの所定周波数成分の変化の状態について説明する。図5に、本実施形態によるAタイプ、Bタイプの各チャンネル1音響フレームの所定周波数成分の状態を示す。図5に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。
図5においては、縦軸の周波数方向において、周波数領域が4つに区分されているが、上から2番目と3番目の領域、すなわち、周波数F1以上F2以下の間が変更対象周波数帯であり、最上部すなわち周波数F2超、最下部すなわちF1未満は、変更対象でない周波数帯である。すなわち、本実施形態では、周波数F1以上F2以下を所定周波数範囲として、スペクトル集合の強度を変更することになる。図5(a)に示すように、LチャンネルのAタイプ音響フレームの変更対象周波数帯については、高周波側におけるスペクトルをL1U、低周波側におけるスペクトルをL1Dで表現し、RチャンネルのAタイプ音響フレームの変更対象周波数帯については、高周波側におけるスペクトルをR1U、低周波側におけるスペクトルをR1Dで表現することとする。また、図5(b)に示すように、LチャンネルのBタイプ音響フレームの変更対象周波数帯については、高周波側におけるスペクトルをL2U、低周波側におけるスペクトルをL2Dで表現し、RチャンネルのBタイプ音響フレームの変更対象周波数帯については、高周波側におけるスペクトルをR2U、低周波側におけるスペクトルをR2Dで表現することとする。
本実施形態で、符号1を埋め込む場合、図5(c)(e)に示すように、L1DとL2Uの強度の積、R1DとR2Uの強度の積を相対的に強い状態に変更し、L1UとL2Dの強度の積、R1UとR2Dの強度の積を相対的に弱い状態に変更する。この状態を“状態1”と呼ぶことにする。符号2を埋め込む場合は、図5(d)(f)に示すように、L1UとL2Dの強度の積、R1UとR2Dの強度の積を相対的に強い状態に変更し、L1DとL2Uの強度の積、R1DとR2Uの強度の積を相対的に弱い状態に変更する。この状態を“状態2”と呼ぶことにする。網掛けされた部分の濃さは、同濃度のものは、積を求めるための組となるスペクトルであることを示している。網掛けの色が濃い方が相対的に強度が強い状態に変更される組を示している。
本実施形態では、図5(c)(e)または(d)(f)に示すような2つの状態にAタイプ、Bタイプの音響フレームの周波数成分を変更することにより、情報の埋め込みを行っている。2つの状態であるので1ビット分の情報量に相当する。
本実施形態では、上記変更対象周波数帯F1〜F2を、“1.7kHz〜3.4kHz”に設定する。これは、以下のような理由による。すなわち、音声通信として普及度の高い携帯電話機を受信端末として利用する場合、上限については、電話回線帯域および携帯電話機の上限である3.4kHzとする必要がある。これは、携帯電話機の内部に搭載されているローパスフィルターが、電話交換機に合わせて、3.4kHz以下に対応したものとなっているためである。そこで、下限については、上限の3.4kHzから1オクターブ下がった1.7kHzとすることとした。なお、“1.7kHz”“3.4kHz”という値は、代表的な値であり、必ずしも正確な値である必要はなく、そこから若干ずれた値であっても良い。
図5に示した例では、相対的に強い状態と弱い状態に変更することについて説明したが、この強弱の程度については、状況に応じて設定することが可能である。両者の割合は、以下に述べるように、大きいほど抽出時の精度が高くなるが、補間される割合は不完全になり、再生時に不連続成分によるノイズが聞こえる。一方、両者の割合が均等であるほど再生品質は原音に近付くが、埋め込んだビットの抽出ができなくなり、再生品質と抽出精度はトレードオフの関係になる。例えば、強い方を100%、弱い方を0%とした場合、音脈分凝により、補間される部分の音は図5のような変更を行なう前に原音響信号で鳴っていた音の50%程度となることが確認されている。
そこで、強い方を70%、弱い方を30%とした場合、音脈分凝により、補間される部分の音は図5のような変更を行なう前に原音響信号で鳴っていた音とほぼ同程度となり、この割合が抽出精度を維持できる限界であることが確認されている。このため、相対的に強いスペクトル集合と、相対的に弱いスペクトル集合の強度の割合を70%と30%とすることを目標に設定することが好ましい。これを実現するため、本実施形態では、後述する具体的な処理において、強い状態を設定するための係数α=0.7、弱い状態を設定するための係数β=0.3とする。ただし、強い状態に変更すべきスペクトル集合の強度が元々小さい場合には、係数α、βを補正する必要が生じる。このため、周波数成分変更手段30は、まず、以下の〔数式6〕に従った処理を実行することにより、弱い状態に変更すべきスペクトル集合に対する強い状態に変更すべきスペクトル集合の強度割合γを算出する。
〔数式6〕
E1d=Σj=m,…,m+G-1{Al(1,j)2+Bl(1,j)2
E2d=Σj=m,…,m+G-1{Al(2,j)2+Bl(2,j)2
E1u=Σj=m+G,…,m+2G-1{Al(1,j)2+Bl(1,j)2
E2u=Σj=m+G,…,m+2G-1{Al(2,j)2+Bl(2,j)2
埋め込みデータが値1の場合、γ=(E1d・E2u)/(E1u・E2d)
埋め込みデータが値2の場合、γ=(E1u・E2d)/(E1d・E2u)
上記〔数式6〕において、mは変更対象周波数帯の下限の成分の番号、m+2Gは変更対象周波数帯の上限の成分の番号である。例えば、変更対象周波数帯として、1.7kHz〜3.4kHzを設定する場合、m=160、m+2G=320となる。したがって、1つの周波数領域の幅G=80である。
そして、さらに強度割合γの値に応じて、周波数成分変更手段30は、以下の〔数式7〕に従った処理を実行することにより、係数α、βを補正して係数α´、β´を得る。
〔数式7〕
0.01≦γ<1.0の場合、α´=α・γ-1/2、β´=β・γ1/2
γ<0.01の場合、α´=10.0・α、β´=0.1・β
なお、γ≧1.0の場合は、補正を行わない。さらに、周波数成分変更手段30は、埋め込むべき情報が“値1”である場合、以下の〔数式8〕に従った処理を実行することにより、周波数成分の状態を“状態1”、すなわち、図5(c)(e)に示したような状態に変更する。
〔数式8〕
j=m〜m+G−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=Al(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)21/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)21/2
Al´(2,j)=Al(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)21/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)21/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)21/2
Br´(2,j)=Br(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)21/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)21/2
Al´(1,j)=Al(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)21/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)21/2
Al´(2,j)=Al(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)21/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)21/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)21/2
Br´(2,j)=Br(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)21/2
埋め込むべき情報が“値2”である場合は、以下の〔数式9〕に従った処理を実行することにより、周波数成分の状態を“状態2” 、すなわち、図5(d)(f)に示したような状態に変更する。
〔数式9〕
j=m〜m+G−1の各成分に対して
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=Al(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)21/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)21/2
Al´(2,j)=Al(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)21/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)21/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)21/2
Br´(2,j)=Br(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)21/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)21/2
Al´(1,j)=Al(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)21/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)21/2
Al´(2,j)=Al(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)21/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)21/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)21/2
Br´(2,j)=Br(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)21/2
なお、上記〔数式7〕に従った処理を実行して係数α´、β´を得た場合は、上記〔数式8〕〔数式9〕において、係数α、βに代えて係数α´、β´を用いる。
周波数逆変換手段40は、上記のようにして、周波数成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段20が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。
具体的には、Aタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式8〕〔数式9〕のいずれかにより得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、以下の〔数式10〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式8〕〔数式9〕において改変されていない周波数成分については、Al´(1,j)等として、元の周波数成分であるAl(1,j)等を用いる。周波数逆変換を計算するにあたり、Al´(1,j)およびBl´(1,j)に対しては〔数式5〕におけるZl(1)を、Ar´(1,j)およびBr´(1,j)に対しては〔数式5〕におけるZr(1)を除することにより、同時に振幅逆変換を施す必要がある。
〔数式10〕
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)
上記〔数式10〕においては、式が繁雑になるのを防ぐため、Σj=0,,N-1をΣjとして示している。上記〔数式10〕における第1式の“+Xlp(i+N/2)”、第2式の“+Xrp(i+N/2)”の項は、直前に改変された改変音響フレームのデータXlp(i)、Xrp(i)が存在する場合に、時間軸上N/2サンプル分重複することを考慮して加算するためのものである。上記〔数式10〕によりAタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
Bタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式8〕〔数式9〕のいずれかにより得られたスペクトルの左チャンネルの実部Al´(2,j)、虚部Bl´(2,j)、右チャンネルの実部Ar´(2,j)、虚部Br´(2,j)を用いて、以下の〔数式11〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式8〕〔数式9〕において改変されていない周波数成分については、以下の〔数式11〕においては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)を除することにより、同時に振幅逆変換を施す必要がある。
〔数式11〕
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)
上記〔数式11〕によりBタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
改変音響フレーム出力手段50は、周波数逆変換手段40の処理により得られたAタイプの改変音響フレーム、Bタイプの改変音響フレームを順次出力ファイルに出力する。
次に、図2に示した音響信号に対する情報の埋め込み装置の処理の全体的な流れについて説明する。埋め込み装置を起動すると、まず、変換テーブル作成手段80が、Nwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する。変換テーブル作成手段80による符号変換テーブル作成のフローチャートを図6に示す。
変換テーブル作成手段80は、最初に初期化処理を行う(S601)。具体的には、7ビット符号“0”に12ビット符号“1”を対応付けて符号変換テーブルのi(=0)番目に登録するとともに、7ビット符号KFの初期値を1、12ビット符号HFの初期値を2とする。続いて、i=0に初期設定する(S602)。次に、12ビット符号HFと符号変換テーブルのi番目に既に登録されている他の12ビット符号とのハミング距離を算出する(S603)。
算出したハミング距離が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が登録されたことになるので、符号変換テーブル作成処理を終了する。
このようにして作成された符号変換テーブルを図7に示す。図7に示すように、符号変換テーブルには、7ビット符号が取り得る各値0〜127について、12ビット符号が対応付けて登録されている。12ビット符号の2進表記を見るとわかるように、全ての12ビット符号は互いにハミング距離が4以上となっている。なお、図7の例では、説明の便宜上、7ビット符号の10進表記と、12ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と12ビット符号のビット列が対応付けて登録されている。
続いて、符号変換テーブル作成処理後の埋め込み装置の処理を、図8のフローチャートに従って説明する。図8は、付加情報1ワード分に対応した処理を示している。本発明では、1ワード分を設定された所定回数Naだけ繰り返して実行した後、次の1ワードを読み込む処理を実行する。例えば、Na=3と設定されている場合、3ワード分同じビット列が繰り返し埋め込まれる。なお、1ワードのビット数Nwとしては、任意のビット数に設定することができるが、上述のように、本実施形態では、ASCIIコードの実質7ビットに設定されている。
図8においては、まず、ビット配列作成手段70は、付加情報記憶部62から抽出した付加情報の各ワードについて、変換テーブル作成手段80を参照し、対応するビット配列を作成する(S101)。具体的には、まず、付加情報記憶部62から1ワード(7ビット)単位で抽出し、図7に示した符号変換テーブルを参照し、対応するハミング符号で構成される12ビットのビット配列を抽出する。
そして、この12ビットが、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに読み込まれることになる。このように、付加情報記憶部62においては、1ワードは7ビットであるが、埋め込み処理時は、この12ビットの配列で、付加情報内の1ワード分の処理を行う。
次に、周波数成分変更手段30が、レジスタに保持されたNh(=12)ビットから1ビットを読み込む処理を行う(S102)。続いて、音響フレーム読込手段10が、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルをAタイプの1音響フレームとして読み込み、周波数変換手段20が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う(S103)。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数W(1,i)を用いて、上記〔数式2〕に従った処理を行う。そして、上記〔数式5〕に従った処理を実行してZl(1)、Zr(1)を算出し振幅変換を行う。同様に、音響フレーム読込手段10が、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルをBタイプの1音響フレームとして読み込み、周波数変換手段20が周波数変換を行って、得られたフレームスペクトルに対して振幅変換を行う(S104)。具体的には、まず、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、窓関数W(2,i)を用いて、上記〔数式3〕に従った処理を行う。そして、上記〔数式5〕に従った処理を実行してZl(2)、Zr(2)を算出し振幅変換を行う。
続いて、周波数成分変更手段30が、読み込んだビット値に応じてAタイプ音響フレームおよびBタイプ音響フレームの周波数成分の状態を変更するにあたり、〔数式6〕〔数式7〕に従った処理を実行して変換割合α、βを決定する処理を行う(S105)。この決定された変換割合を用いて、周波数成分変更手段30は、ビット配列作成手段70から受け取った値1、値2に応じて上記〔数式8〕〔数式9〕に従った処理を実行し、変更対象周波数帯の成分の状態を“状態1”、“状態2”に応じた状態のいずれかに変更する(S106)。
次に、周波数逆変換手段40が、上記S106の処理によりAタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S107)。この振幅逆変換は〔数式5〕で算出したZl(1)、Zr(1)の逆数をスペクトルに乗じることにより行なう。この周波数逆変換は、当然のことながら、周波数変換手段20がS103において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式8〕〔数式9〕のいずれかにより得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式10〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。
同様に、周波数逆変換手段40が、上記S106の処理によりBタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S108)。具体的には、振幅逆変換は〔数式5〕で算出したZl(2)、Zr(2)の逆数をスペクトルに乗じることにより行ない、上記〔数式8〕〔数式9〕のいずれかにより得られたスペクトルの左チャンネルの実部Al´(2,j)等、虚部Bl´(2,j)等、右チャンネルの実部Ar´(2,j)等、虚部Br´(2,j)等を用いて、上記〔数式11〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして各チャンネルについて、AタイプおよびBタイプの2つの音響フレームに対する処理を終えたら、周波数成分変更手段30がビット配列中の次の1ビットを読み込む(S102)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S103、S104)、処理を終了する。なお、S101において読み込んだ1ワード分のビット配列(Nh=12ビット)の各ビットに対応する処理を終えた場合、設定された所定回数Naに達していないときは、先頭のビットに戻ってS103〜S108の処理を繰り返し実行する。設定された所定回数Naに達したときは、S102からS101に戻り、付加情報の次のワードを読み込んでビット配列を作成する処理を行うことになる。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段60内の改変音響信号記憶部63に出力され、記憶される。
なお、本実施形態では、付加情報を1ワード7ビットとし、符号変換テーブルにより12ビットのビット配列に変換して、付加情報1ワード分の処理をする場合について説明したが、本発明では、抽出側と取り決めがある限り、付加情報の1ワードを他のビット数単位で記録することが可能である。
上記のようにして得られた改変音響信号のうち、付加情報が埋め込まれている部分については、変更対象周波数帯の成分は、上記状態1、状態2の2通りの分布しかないことになる。しかし、変更対象周波数帯の成分以外については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。また、上記〔数式8〕〔数式9〕の処理からも明らかなように、変更対象周波数帯の成分は、左チャンネルと右チャンネルにおいて同等の割合で変化させられている。したがって、両スピーカと等距離の位置においても、変更対象周波数帯の成分は、相殺されることなく増幅させる関係となり、情報を抽出し易くなる。
以上、埋め込み装置について説明したが、ここで、本実施形態である振幅変換を用いた埋め込みおよび抽出の手法について図9から図12を用いて説明する。図9および図10は、比較のために、振幅変換を用いない場合の埋め込み処理および抽出処理を示し、図11および図12は本実施形態における振幅変換を用いた埋め込み処理および抽出処理を示す。これらの説明図においては、音響フレーム奇数および偶数3対分について、3ビットの情報を埋め込むことを想定した音響信号の信号波形を示しており、説明の便宜上、音響フレームが互いに重複しない状態で示している。各図において、左端の波形は時間次元の通常の音響信号波形を示しており、横方向は時間軸であり、右に向かうに従って時間が進行し、縦方向は強度(振幅)である。中央または右端の波形は周波数変換後の所定の周波数範囲のスペクトル成分の合算値を信号波形で表現しており、仮想的にバンドパスフィルターを通した後の信号波形になっている。縦方向は同様に強度であり、本来は左端に比べ顕著に低くなるが、ここでは説明の都合上、左端と同程度に拡大して表現している。また、2種類の波形のレベルも本来は差があるが、ここでは同一レベルで表現している。実際には、周波数変換後のデータとして所定の周波数範囲外の高周波数成分や低周波数成分も存在するが、これらについては改変を加えないという前提で図示しておらず、図5に従った埋め込みを行なう2種の周波数帯域成分に限定して2種の信号波形で示している。
図9(a)は原音響信号を示しており、最初の1対の音響フレームは全体に渡って強度がほぼ一定、中央の1対の音響フレームは奇数フレームの強度が小さく偶数フレームの強度が大きいものであり、最後の1対の音響フレームは奇数フレームの強度が大きく偶数フレームの強度が小さいものである。このような音響信号に対して、周波数変換を行った結果が図9(b)で、図5で示されように埋め込み対象成分は上下2分割して成分変更を施す都合上、図9(b)では(b−1)および(b−2)の2種の波形に分離して表現した。周波数変換後の波形形状は周波数ごとに異なり、図9(a)と必ずしも相似形にはならないが、ここでは周波数変換前と同様になると仮定して説明する。図9(b−1)および(b−2)に対して、[0,0,0]という3ビットのデータを図5で説明した方法に基づいて埋め込むことにより(図5ではビット0は符号1に相当する)、図9(c−1)および(c−2)が得られる。最初の1対は図5のようなパターンが表現できているが、残り2対の上下一方は、原段階に対して逆方向に大小関係を構築することが要求され、品質維持の都合上、適切なパターンが構築できていないことがわかる。このような改変を加えた結果に対して、周波数逆変換を行った結果が図9(d)である。一般に音響信号波形の外形(エンベロープという)はエネルギー分布が大きい低周波成分で決定され、これらは本願では所定の周波数範囲外の信号成分に含まれ、図9(c)の段階では改変が加えられていないため、周波数逆変換後の図9(d)は周波数変換前の図9(a)と類似した形状になる。
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図10に示す。図10(a)および図10(b)は各々図9(d)および図9(c)に対応する。図10(b)において、ビット判定を行なうにあたり、最初の1対以外は図5で想定されているパターンが形成されていないため、正しいビットを判定することが難しくなる。
次に、本実施形態における振幅変換を導入した手法について図11および図12を用いて説明する。図11(a)は図9(a)と同じ原音響信号を示しており、同様に周波数変換を行った図11(b)も図9(b)と同じである。ここで、6つのフレーム単位に振幅変換を行った結果が図11(c)である。図11の場合、図11(a)で各フレーム内の振幅が平坦であるため、図11(c)では全体が平坦になっているが、実際には各フレーム内は微細に変動しており、そのフレーム内変動分は図11(c)の段階でも踏襲されるため、本図のように完全に平坦になることは通常ない。(実際は図11(c)は周波数次元のデータになるため、周波数次元のデータも平坦にならず変動した形態になる。)また、変換倍率はフレームごとに設定し、上下2つの周波数成分に対しては同一の倍率で変換を行うため、通常は上下で顕著な差が生じる(ただし、時間軸方向は比較的揃う)。これに対して、[0,0,0]という3ビットのデータを埋め込むと、図11(d−1)および(d−2)が得られる。原段階である図11(c)が平坦な波形であるため、全てのフレームにおいて図5のような理想的なパターンが容易に構築できることがわかる。続いて、前記フレームごとに設定した倍率の逆数を乗じて振幅逆変換を行った結果が図11(e)である。この段階では図9(c)と類似したパターンが生じることが多いが、本形状はいかなるものでも構わない。最後に周波数逆変換を行うと、図11(f)が得られ、同様に原信号波形の図11(a)と類似した形状になる。
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図12に示す。図12(a)、(b)および(c)は各々図11(f)、(e)および(d)に対応する。図12(b)の周波数変換後の波形形状は図11(b)とは基本的に異なるが、算出される振幅変換倍率は類似した値になり、ほぼ同様な倍率で振幅変換が行われ図12(c)が得られる。図12(c)の段階で、ビット判定を行なうと、全てのフレームにおいて図5のような理想的なパターンが形成されているため、正しいビットを判定することが可能になる。
以上、本実施形態では、図11(c)に示したように、埋め込み対象の信号成分が時間軸方向に平坦になるように変換を行って埋め込むようにしているため、高周波側と低周波側の成分強度の大小関係が完全に逆になるような不自然な変更を行う確率が低くなり、品質を維持しながら、抽出側における抽出精度を高めることが可能となる。
(3.1.抽出装置の構成)
次に、本発明に係る音響信号からの情報の抽出装置について説明する。図13は、本発明に係る音響信号からの情報の抽出装置の一実施形態を示す構成図である。図13において、100は音響信号入力手段、110は基準フレーム獲得手段、120は位相変更フレーム設定手段、130は周波数変換手段、140は符号判定パラメータ算出手段、150は符号出力手段、160は付加情報抽出手段、170は音響フレーム保持手段、180は変換テーブル作成手段である。
音響信号入力手段100は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびA/D変換器により実現される。マイクロフォンとしては、変更対象周波数帯の成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図2に示した装置で情報の埋め込みを行った場合には、ステレオで再生されるが、左右どちらのスピーカの音を入力しても、双方のスピーカの音を混合入力しても良く、マイクロフォンの設置位置に制約がない。もちろん、付加情報が埋め込まれた音響信号がモノラル再生される場合、あるいは付加情報が埋め込まれた音響信号自体がモノラルである場合は、再生される単一のスピーカにマイクロフォンを向ければ良い。このマイクロフォンは特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段110は、入力されたデジタルのモノラル音響信号(あるいはステレオ音響信号の1チャンネル)から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。基準フレームとしては、埋め込み時と同様にAタイプ、Bタイプのものが設定される。位相変更フレーム設定手段120は、Aタイプ、Bタイプそれぞれの基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。
周波数変換手段130は、基本的には、図2に示した周波数変換手段20とほぼ同様の機能を有している。ただし、音を取り込むタイミングが、音響信号の先頭からとはならないため、正しい位相を特定するために、複数の位相で振幅変換、周波数変換を行う点、元の音響信号がステレオであっても、1つのチャンネルで行う点が異なっている。
周波数変換手段130は、Aタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i−N/2+pN/6)(i=0,…,N−1)に対して、窓関数W(1,i)を用いて、以下の〔数式12〕に従った処理を行い、変換データの実部A(1,j,p)、虚部B(1,j,p)を得る機能を有している。pは位相番号であり、0〜5の整数値をとる。
〔数式12〕
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)
周波数変換手段130は、Bタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i+p・N/6)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式13〕に従った処理を行い、変換データの実部A(2,j,p)、虚部B(2,j,p)を得る機能を有している。
〔数式13〕
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)
周波数変換手段130は、周波数変換手段20と同様に振幅変換を行う。振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で、設定値を除算することにより行う。設定値は、適宜定めておくことができるが、埋め込み時における振幅変換の場合と同一値としておくことが必要となる。したがって、本実施形態では、設定値Zoは160にする必要がある。具体的には、Aタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z(1,p)、Z(2,p)、これらの直前のAタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z-1(1,p)、Z-1(2,p)は、以下の〔数式14〕に従った処理により算出される。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームの平均実効値が設定値となるように振幅変換された状態で、情報の抽出が行われることになる。なお、pは位相番号であり、0〜5の整数値をとる。
〔数式14〕
Z(1,p)=Zo/[Σj=m,…,m+2G-1{A(1,j,p)2+B(1,j,p)2}]1/2
Z(2,p)=Zo/[Σj=m,…,m+2G-1{A(2,j,p)2+B(2,j,p)2}]1/2
-1(1,p)=Zo/[Σj=m,…,m+2G-1{A-1(1,j,p)2+B-1(1,j,p)2}]1/2
-1(2,p)=Zo/[Σj=m,…,m+2G-1{A-1(2,j,p)2+B-1(2,j,p)2}]1/2
j=m,…,m+2G−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)はこれらの振幅変換を行った値とする。
符号判定パラメータ算出手段140は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を抽出し、各スペクトル集合の強度値を算出するとともに、この強度値を利用して符号判定パラメータを算出し、この符号判定パラメータの大小関係に基づいて、所定の状態であると判断する機能を有している。上述のように、本実施形態では、Aタイプの音響フレームとBタイプの音響フレームがN/2サンプルずつ重複して設定されているため、ある音響フレームについて、強度値、符号判定パラメータを算出する際には、直前の音響フレームによる残響成分を考慮する必要がある。ところが、残響成分は計算により算出されるものであるので、必ずしも正確なものが算出されるとは限らず、算出された残響成分を除去することにより、反って抽出精度が低下する場合がある。そこで、本実施形態では、残響成分を除去しない場合の強度値E1、E2、E3、E4、および符号判定パラメータCと、除去した場合の強度値E1´、E2´、E3´、E4´、および補正符号判定パラメータC´を算出し、これらを利用して最適であると思われる状態を判断する。
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)を、以下の〔数式15〕に従った処理により算出する。
〔数式15〕
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
-1(1,j,p)=A-1(1,j,p)2+B-1(1,j,p)2
-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)
上記〔数式15〕における6つの式のうち、上から5番目(下から2番目)の式は、あるAタイプの音響フレームに着目したときに、その前半のN/2サンプルが重複するBタイプの音響フレームからの残響成分を除去するためのものである。また、上から6番目(下から1番目)の式は、あるBタイプの音響フレームに着目したときに、その前半のN/2サンプルが重複するAタイプの音響フレームからの残響成分を除去するためのものである。E´(1,j,p)≧0、E´(2,j,p)≧0とし、〔数式15〕の上から5番目、6番目の式に従った処理の結果、負の値となった場合には、0に設定する。
上記〔数式15〕において、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、除去した場合の強度値E1´、E2´、E3´、E4´を、算出した基本強度値E(1,j,p)、E(2,j,p)、E´(1,j,p)、E´(2,j,p)を用いて以下の〔数式16〕に従った処理により算出する。
〔数式16〕
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)
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)
このE1〜E4、E1´〜E4´については、過去の対応する成分を用いて更新する処理を行う。具体的には、過去の成分を登録する総和値登録テーブルに記録されたTe(1、p)〜Te(8、p)を用いて以下の〔数式17〕に従った処理により算出する。
〔数式17〕
E1(p)=0.67E1(p)+0.33Te(1、p)
E2(p)=0.67E2(p)+0.33Te(2、p)
E3(p)=0.67E3(p)+0.33Te(3、p)
E4(p)=0.67E4(p)+0.33Te(4、p)
E1´(p)=0.67E1´(p)+0.33Te(5、p)
E2´(p)=0.67E2´(p)+0.33Te(6、p)
E3´(p)=0.67E3´(p)+0.33Te(7、p)
E4´(p)=0.67E4´(p)+0.33Te(8、p)
さらに、Te(1、p)〜Te(8、p)は、以下の〔数式18〕に従った処理により更新される。
〔数式18〕
Te(1、p)=E1(p) Te(2、p)=E2(p)
Te(3、p)=E3(p) Te(4、p)=E4(p)
Te(5、p)=E1´(p) Te(6、p)=E2´(p)
Te(7、p)=E3´(p) Te(8、p)=E4´(p)
結局〔数式15〕〔数式16〕〔数式17〕〔数式18〕により、過去分を考慮した各スペクトル集合の強度値E1、E2、E3、E4が算出されるとともに、当該各スペクトル集合に対応するタイプの別を問わない直前の音響フレームにおけるスペクトル集合の強度にqを乗じた値を減じることにより強度値E1´、E2´、E3´、E4´が算出されることになる。
また、符号判定パラメータ算出手段140は、残響成分を除去せずに算出した強度値E1、E2、E3、E4を用いて、以下の〔数式19〕に従った処理を実行し、符号判定パラメータCを算出する。
〔数式19〕
1)E1(p)>E2(p)かつE4(p)>E3(p)の場合
B=0と仮判定、
C={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)の場合
B=1と仮判定、
C={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)の場合
B=0と仮判定、
C={E1(p)・E4(p)−E2(p)・E3(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
4)上記1)〜3)以外の場合
B=1と仮判定、
C={E2(p)・E3(p)−E1(p)・E4(p)}/{E1(p)・E4(p)+E2(p)・E3(p)}
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´を用いて、以下の〔数式20〕に従った処理を実行し、補正符号判定パラメータC´を算出する。
〔数式20〕
1)E1´(p)>E2´(p)かつE4´(p)>E3´(p)の場合
B´=0と仮判定、
C´={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)の場合
B´=1と仮判定、
C´={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)の場合
B´=0と仮判定、
C´={E1´(p)・E4´(p)−E2´(p)・E3´(p)}/{E1´(p)・E4´(p)+E2´(p)・E3´(p)}
4)上記1)〜3)以外の場合
B´=1と仮判定、
C´={E2´(p)・E3´(p)−E1´(p)・E4´(p)}/{E1´(p)・E4´(p)+E2´(p)・E3´(p)}
符号出力手段150は、1つの基準フレームに対応する音響フレーム(基準フレームおよび位相変更フレーム)の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。符号判定パラメータ算出手段140と符号出力手段150により符号化手段が構成される。付加情報抽出手段160は、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、巡回符号表を参照することにより、Nwビットの基準符号に変換し、さらに所定の規則により変換して意味のある付加情報として抽出する機能を有している。音響フレーム保持手段170は、チャンネルごとのAタイプ、Bタイプそれぞれについて連続する2個の基準フレーム(チャンネルごとに計4個の基準フレーム)を保持可能なバッファメモリである。変換テーブル作成手段180は、図2に示した変換テーブル作成手段80と同様、Nwビットが取り得る2のNw乗個の全ての基準符号に対して、互いにハミング距離が少なくとも2以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルを作成する機能を有している。
図13に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、本発明の目的をより簡易に達成するためには、プログラムを実行するコンピュータとしての機能を備えた携帯電話機等の携帯型端末装置をハードウェアとして用いることが望ましい。
(3.2.抽出装置の処理動作)
次に、図13に示した音響信号からの情報の抽出装置の処理動作について、図12のフローチャートに従って説明する。抽出装置を起動すると、まず、本装置では、位相判定テーブルS(p)、位相決定ログ、位相確定フラグ、総和値累積テーブルTe(1、p)〜Te(8、p)、ビットカウンタを初期化する(S200)。位相判定テーブルS(p)は、位相を判定するためのテーブルであり、pは0〜5の整数値をとる。初期値はS(p)=0に設定されている。位相決定ログは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録していくものであり、初期状態では0が設定されている。位相確定フラグは、位相が確定しているかどうかを示すフラグであり、初期状態ではOffに設定されている。総和値累積テーブルTe(1、p)〜Te(8、p)は、過去(バイト周期×Nhフレーム)分の総和値E1〜E4、残響補正後の総和値E1´〜E4´を6通りの位相別に保存したものであり、初期状態ではTe(1、p)〜Te(8、p)=0に設定されている。ビットカウンタについては初期値として0を設定する。
続いて、変換テーブル作成手段180が、巡回符号表を作成する(S210)。巡回符号表とは、図7に示した符号変換テーブルにおいて、変換元の7ビット基準符号に対応する変換後の12ビットハフマン符号のビット列を1ビットずつ移動させた巡回ビットパターンを記録したものである。変換テーブル作成手段180は、まず、変換テーブル作成手段80と同様、図6のフローチャートに従った処理により図7に示したような符号変換テーブルを作成した後、巡回符号表を作成する。具体的には、変換テーブル作成手段180は、図7に示したような符号変換テーブルにおいて、7ビット基準符号に対応付けられた12ビットハミング符号のビット列を1ビットずつ移動した巡回ビットパターンを作成し、7ビット基準符号に対応付けて記録する。例えば、図7の7ビット基準符号“0”には、12ビットハミング符号“0000,0000,0001”が正規のビットパターンとして対応付けられているので、変換テーブル作成手段180は、1ビット移動した12ビット符号“0000,0000,0010”(10進表記“2”)、2ビット移動した12ビット符号“0000,0000,0100”(10進表記“4”)、…、11ビット移動した12ビット符号“1000,0000,0000”(10進表記“2048”)までの11個の12ビット符号を巡回ビットパターンとして作成する。このようにして、作成された巡回符号表の一例を図15に示す。
図15の巡回符号表においては、いずれも10進表記で示してある。例えば、1行目の7ビット基準符号“0”に対しては、正規の12ビットハミング符号“1”と11個の巡回ビットパターン“2”“4” “8”“16” “32”“64” “128”“256” “512”“1024” “2048”が対応付けて記録される。
このように、初期値が設定され、巡回符号表が作成された状態で、携帯端末に対して、抽出装置としての起動の指示を行う。これは、例えば、抽出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。抽出装置は、指示が入力されると、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン(または指向性マイクロフォンの一方のチャンネル)から入力される音声を、A/D変換器によりデジタル化する処理を行うことになる。
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S201)。具体的には、Aタイプ、Bタイプについての基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図2に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、Aタイプ、Bタイプについてそれぞれ4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、各チャンネルについて、Aタイプ、Bタイプ2個ずつの基準フレーム、すなわち2.5Nサンプルが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム4個分(連続する10240サンプル)が格納されていることになる。
抽出装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、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通りの形式となる。
ここで、ステップS202の位相確定および符号判定の詳細を図16のフローチャートに従って説明する。まず、位相確定フラグがOnであるかOffであるかの確認を行う(S301)。位相確定フラグがOnである場合は、位相確定処理(S303〜S309)を行わず、符号判定処理のみを行う(S302)。ただし、初期状態では位相は確定しておらず、位相確定フラグがOffとなっているので、候補符号テーブルB(p)の初期化を行う(S303)。候補符号テーブルB(p)は、1つの基準フレームおよび5個の位相変更フレームを特定するp=0〜5の位相番号および、この6個の音響フレームの状態から得られる2値の符号を記録するものである。
続いて、符号判定パラメータ算出手段140は、符号判定処理を行う(S302)。ここで、符号判定処理の詳細を図17に示す。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行って各窓スペクトルを得る(S401)。具体的には、上記〔数式12〕〔数式13〕に従った処理を実行し、変換データの実部A(1,j,p)、虚部B(1,j,p)、実部A(2,j,p)、虚部B(2,j,p)を得る。
S401の処理については、実際には、Aタイプ音響フレームについて周波数変換を行った後、N/2サンプルだけシフトしてBタイプ音響フレームについて周波数変換を行う。これらの変換データA(2,j,p)、B(2,j,p)、A(2,j,p)、B(2,j,p)に対して、上記〔数式14〕に従った処理を実行し、振幅変換を行う(S402)。
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、符号判定パラメータC、C´を上述のようにして算出した後、符号判定パラメータC、C´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、1ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S403)。具体的には、上記〔数式15〕〜〔数式19〕に従った処理を実行して、符号判定パラメータC、C´を算出する。そして、この両者を比較して、C≧C´であれば候補符号Bを候補符号テーブルB(p)に設定し、C<C´であれば候補符号B´を候補符号テーブルB(p)に出力する。
S403の具体的な処理手順としては、まず、上記〔数式15〕の1番目の式と2番目の式を利用して基本強度値E(1,j,p)、E(2,j,p)を算出した後、上記〔数式16〕の1番目から4番目までの式を利用してE1(p)、E2(p)、E3(p)、E4(p)を算出し、上記〔数式19〕に従って候補符号Bおよび符号判定パラメータCを算出する処理を行う。続いて、上記〔数式15〕の3番目から6番目までの式を利用して、残響補正処理を行って基本強度値E´(1,j,p)、E´(2,j,p)を算出する。そして、上記〔数式16〕の5番目から8番目までの式を利用してE1´(p)、E2´(p)、E3´(p)、E4´(p)を算出し、上記〔数式20〕に従って候補符号B´および補正符号判定パラメータC´を算出する処理を行う。
また、上記判定の結果、位相pにおける候補符号テーブルB(p)に値1、値2のいずれかを出力した場合には、さらに、以下の〔数式21〕に従って位相判定テーブルS(p)の更新を行う(S404)。
〔数式21〕
C≧C´である場合、S(p)←S(p)+C
C<C´である場合、S(p)←S(p)+C´
ここで、図16のフローチャートに戻って、符号判定パラメータ算出手段140は、候補符号テーブルB(p)に、位相pにおいて符号判定処理(S302)で仮決定された符号を保存する(S304)。
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S305)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S302に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、位相判定テーブルS(p)の値が最大となる位相番号pmaxに対応する位相が最適位相であると判定し、候補符号テーブルB(p)に記録されている符号B(pmax)を出力する(S306)。
続いて、位相決定ログの更新を行う(S307)。位相決定ログとは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録するものである。そして、位相決定ログを参照して、位相が過去所定回数同一であったかどうかを判断する(S308)。本実施形態では、この回数を10回としている。位相が過去所定回数同一であった場合には、位相確定フラグをOnに設定する(S309)。これにより、同一位相が所定回数続いた場合には、最適位相はpmaxとなる可能性が高いため、位相確定処理(S303〜S309)を行わず、位相番号p=pmaxに対してのみ符号判定処理(S302)を行うことになる。
再び図14のフローチャートに戻って説明する。位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存する(S203)。次に、ビットカウンタを“1”だけカウントアップする(S204)。
次に、ビットカウンタが11以下であるか12以上であるかを判断する(S205)。ビットカウンタが11以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
ビットカウンタが12以上である場合は、バッファに保存された12ビットのビット配列と巡回符号表内のビットパターンとの照合を行う(S206)。照合の結果、一致するビットパターンが12ビットハミング符号または巡回ビットパターンとして存在する場合には、適合パターン有りと判断し、対応する基準符号7ビットを抽出する(S211)。音響フレームから抽出された12ビットのビット列が巡回ビットパターンのいずれかであった場合、これらのビットパターンは埋め込み時に埋め込んでいるはずであるので、対応する12ビットハミング符号のビットパターンをずれた位置で読み込んでいると判断し、7ビット基準符号を抽出するのである。S206の照合の結果、一致するビットパターンが12ビットハミング符号、巡回ビットパターンのいずれにも存在しない場合には、適合パターン無しと判断し、S201に戻って、次の基準フレームを抽出する処理を行う。
S211において対応する基準符号7ビットが抽出された場合は、付加情報抽出手段160が、抽出された7ビット基準符号に1ビット付加して出力する(S208)。具体的には、ビット“0”を付加することによりASCIIコードにおける1ワードとして出力する。
S208において、7ビット基準符号に1ビット付加して出力した場合には、ビットカウンタを0に初期化する(S209)。そして、S201に戻って、次の基準フレームから抽出する処理を行う。本発明では、埋め込み時にNa回重複して同一ワードを埋め込んでいるが、埋め込み時の先頭ビットから12ビットが偶然にも抽出されない限り、通常(Na−1)回の同一ワードが抽出されることになる(1ワード分は前後の異なるワード間をまたがって抽出されるため、S206の照合の結果、通常エラーになる)。この場合、実際に情報として必要なのは1ワード分のみであるため、後続する(Na−2)ワード分の7ビット基準符号を読み飛ばすのである。もちろん、状況によっては、(Na−2)ワード以下の7ビット基準符号しか読み込まれない場合もあれば、全く読み込まれない場合もある。
図14に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S201において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
上記S208の処理において、付加情報抽出手段160は、まず、符号出力手段150により出力された値を、所定の規則により変換して意味のある付加情報として抽出する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態にすることができるものであれば、さまざまな規則が採用できるが、本実施形態では、ASCIIコードを採用している。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号から得られるビット値の配列を1バイト(8ビット)単位で認識し、これをASCIIコードに従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
従って、埋め込み装置により音響信号に、その楽曲の曲名やアーチスト等の属性情報を文字情報として埋め込んでおけば、利用者は、その音楽が流れているのを聞いて、その曲名やアーチストを知りたいと思ったときに、抽出装置として機能する自身の携帯端末に所定の操作を行えば、自身の携帯端末の画面に曲名やアーチスト等の属性情報が文字情報として表示されることになる。
(3.3.位相補正処理について)
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り(本実施形態では6通り)で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、6通りで読み込む場合、先頭の音響フレームは、本来サンプル番号1〜4096のサンプルであるが、サンプル番号1、683、1366、2049、2732、3413から始まる4096のサンプルで構成される6個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。なお、図16のフローチャートを用いて説明したように、本実施形態では、同一位相が所定回数連続した場合には、それ以降はその位相を確定したものとして処理を行う。
(4.ビット配列のビット数Nh、ハミング距離を変更した場合)
上記実施形態では、ビット配列作成の際、作成されるビット配列は、12ビット(Nhビット)でハミング距離が4となるようにしたが、ビット配列のビット数Nh、およびハミング距離は、適宜変更することが可能である。一般に、ビット配列のビット数Nhを大きくすれば、符号化効率は悪くなるが、訂正可能な誤りビット数は増えることになる。したがって、マイクロフォンの感度や演算処理能力が比較的高い抽出装置を用いる場合には、ビット数、ハミング距離が小さいビット配列を作成するようにし、マイクロフォンの感度や演算処理能力が比較的低い抽出装置を用いる場合には、ビット数、ハミング距離が大きいビット配列を作成するようにする。
ここでは、ビット配列のビット数Nhを16、ハミング距離を6とした場合の例について説明する。ビット配列のビット数を16、ハミング距離を6とした場合も、変換テーブル作成手段80による符号変換テーブル作成は、基本的には、図6に示したフローチャートに従って行われる。ただし、HFが16ビット符号である点、S603において16ビット符号HFと符号変換テーブルに既に登録されている他の16ビット符号とのハミング距離を算出した後、S604、S605のいずれに進むかの閾値が、ハミング距離が6未満か、6以上かで決まる点が、ビット数Nh=12、ハミング距離4の場合と異なっている。
このようにして作成された符号変換テーブルを図18に示す。図18に示すように、符号変換テーブルには、7ビット符号が取り得る各値0〜127について、16ビット符号が対応付けて登録されている。16ビット符号の2進表記を見るとわかるように、全ての16ビット符号は互いにハミング距離が6以上となっている。なお、図18の例では、説明の便宜上、7ビット符号の10進表記と、16ビット符号の10進表記及び2進表記を示しているが、現実には、7ビット符号のビット列と16ビット符号のビット列が対応付けて登録されている。
符号変換テーブル作成処理後は、図8のフローチャートに従って埋め込み処理が行われる。この際、1ワードとして、16ビット分の処理が行われることになる。
抽出時には、変換テーブル作成手段180が、最初に符号変換テーブルを作成した後、巡回符号表を作成する。巡回符号表が作成された後は、図14、図16、図17に従った処理により、付加情報が抽出されることになる。16ビット符号を扱う場合、図14におけるS205においては、ビットカウンタが15以下か16以上かで判断を行うことになる。
16ビット符号についての巡回符号表を作成する場合、変換テーブル作成手段180は、図18に示したような符号変換テーブルにおいて、7ビット基準符号に対応付けられた16ビットハミング符号のビット列を1ビットずつ移動した巡回ビットパターンを作成し、7ビット基準符号に対応付けて記録する。例えば、図18の7ビット基準符号“0”には、16ビットハミング符号“0000,0000,0000,0001”が正規のビットパターンとして対応付けられているので、変換テーブル作成手段180は、1ビット移動した16ビット符号“0000,0000,0000,0010”(10進表記“2”)、2ビット移動した12ビット符号“0000,0000,0000,0100”(10進表記“4”)、…、15ビット移動した16ビット符号“1000,0000,0000,0000”(10進表記“32768”)までの15個のビットパターンを巡回ビットパターンとして作成する。このようにして、作成された巡回符号表の一例を図19に示す。ビット配列のビット数Nhを16、ハミング距離を6とした場合図19に示した巡回符号表を用いてビットパターンの照合を行うことになる。
ところが、図18に示した巡回符号表には図示されていない基準符号の117、125、126(ハミング符号では62713、65132、65428)に問題があり、これら3種の符号は他のハミング距離とは6ビット離れているが、巡回符号(巡回ビットパターン)を含めるとハミング距離が0、即ち重複してしまう場合が生じる。即ち、これら3種の符号を含めて埋め込まれると、巡回ビットパターンから基準符号を特定できず、文字化けを起こす可能性がある。このような問題を回避するため、以下、巡回符号に基づいた改良型16ビットハミング符号の作成方法について、図20のフローチャートに基づいて述べる。
(5.巡回符号を考慮して、同ビット数Nhのハミング符号を再作成した場合)
最初に初期化処理を行う(S611)。具体的には、基準符号“0”に16ビット符号“1”を対応付けて符号変換テーブルのi(=0)番目に登録するとともに、基準符号KFの初期値を1、16ビット符号HFの初期値を2とする。基準符号のビット数は図6の場合と異なり7ビットの範囲を若干超えるため、8ビットで設定する。続いて、i=0に初期設定する(S612)。次に、16ビット符号HF及びそれの15通りの巡回符号と、符号変換テーブルのi番目に既に登録されている他の16ビット符号及びそれの15通り巡回符号とのハミング距離を算出する(S613)。この段階で16通り×16通りで256通りのハミング距離が算出される。
算出したハミング距離の少なくとも1つが3未満の場合、HFの値を1増加して更新した後(S614)、S612に戻って、次の16ビット符号HFについての処理を行う。一方、算出したハミング距離が全て3以上の場合、iの値を1増加して更新する(S615)。そして、iがKF−1未満である場合には、S613に戻って、符号変換テーブル内のi番目に登録されている16ビット符号及びそれの15通り巡回符号とのハミング距離を算出する。S615の後、iがKF−1以上となった場合には、16ビット符号HFを符号変換テーブルの7ビット符号KFの位置に登録するとともに、KF、HFの値をそれぞれ1ずつ増加して更新する(S616)。そして、HFが65536未満である場合は、S612に戻って、次の8ビット符号KFについての処理を行う。HFが65536以上である場合は、16ビットの範囲で表現可能な全ての16ビット符号HFが登録されたことになるので、符号変換テーブル作成処理を終了する。
このようにして作成された符号変換テーブルを図21に示す。図21は図7や図18に対応させるために、巡回符号を考慮しないハミング符号との対応部分だけを抜き出したものである。この符号変換テーブルには、16ビットのハミング符号が定義可能な0〜65535の範囲内で、各々16通りの巡回符号が互いにハミング距離3以上になるように、8ビットの基準符号を定義したもので、基準符号としては7ビットより若干多い0〜132の値が表現可能となっている。
変換テーブル作成手段180は、図21に示したような符号変換テーブルにおいて、8ビット基準符号に対応付けられた16ビットハミング符号のビット列を1ビットずつ移動した巡回ビットパターンを作成し、8ビット基準符号に対応付けて記録する。このようにして、図22に示すような巡回符号表を作成する。
(6.信号成分が小さい場合にさらに確実に情報の埋め込みを行う手法)
ここまでの説明のように、本発明では、元の信号成分に無音に近い部分があっても、情報の埋め込みを可能とするものである。このままでも、もちろん十分であるが、本発明においては、より確実に情報を埋め込むような処理を付加することも可能である。具体的には、周波数変換を行う前に、音響信号に聴取困難な微弱な白色ノイズを重畳させる。
この場合、図2に示した音響フレーム読込手段10は、所定数のサンプルを1音響フレームとして読み込んだ後、所定の振幅範囲で所定サンプル数単位で同一値を加算または減算する機能を有している。本実施形態では、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、−32〜+32の振幅範囲(Xl(i)、Xr(i)のとり得る値が−32768〜+32767の場合)で一様乱数Hを発生させ、K(本実施形態ではK=5)個のサンプル間は同一値Hを用いて以下の〔数式22〕に示すような処理を実行し、Xl(i)、Xr(i)の値を更新する。
〔数式22〕
Xl(i)←Xl(i)+H
Xr(i)←Xr(i)−H
すなわち、上記〔数式22〕に従った処理をNサンプルに渡って実行することにより、1つの音響フレームに白色ノイズが発生されることになる。この白色ノイズの発生処理は、図8のフローチャートにおいては、S103、S104の音響フレーム抽出処理の直後に行われることになる。
上記のように、白色ノイズを発生させた場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図13と同一であり、処理動作は図14、図16、図17のフローチャートに従ったものと同一である。
(7.ネットワーク接続への応用)
本発明は、特に、抽出した情報を利用して、コンピュータネットワークに接続する場合に応用することができる。例えば、ネットワーク接続装置内に本発明の抽出装置を組み込んでおき、抽出した情報をURL等のコンピュータにアクセスするための情報に変換して利用する。このような用途に用いる場合は、URL等に変換するテーブルさえ用意しておけば、埋め込んでおく情報は、非常に短いもので済む。したがって、利用者が録音するのに面倒とならない極めて短時間であっても、その間に、繰り返し埋め込んでおくことができる。
(8.その他)
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、1音響フレームのサンプル数N=4096としたが、N=2048、1024、512等を設定するようにしても良い。これにより、同一時間あたりの音響フレーム数が、2倍、4倍、8倍となり、全体として2〜8倍の情報の埋め込みが可能となる。
また、上記実施形態では、音響信号からの情報の抽出装置を、携帯電話機等の携帯型端末装置単体で実現した場合を例にとって説明したが、他のコンピュータと連携して実現するようにしても良い。具体的には、携帯型端末装置と専用コンピュータを無線通信可能に接続し、音響信号入力手段100〜音響フレーム保持手段170の構成要素のうち、演算負荷の大きいものは、専用コンピュータで処理する。例えば、音響信号入力手段100、基準フレーム獲得手段110、位相変更フレーム設定手段120、付加情報抽出手段160、変換テーブル作成手段180を携帯型端末装置に備え、周波数変換手段130、符号判定パラメータ算出手段140、符号出力手段150、音響フレーム保持手段170を専用コンピュータに備えるようにして、必要な情報を両者間で通信するようにする。これにより、携帯型端末装置の処理性能が低い場合であっても高速な処理を行うことが可能となる。
また、上記実施形態では、2チャンネルのステレオ音響信号を利用した場合を例にとって説明したが、1チャンネルのモノラル音響信号を利用しても良い。この場合は、上記LチャンネルまたはRチャンネルのいずれか一方に対して行った処理を実行すれば良い。
また、周波数成分変更手段30による所定周波数成分の変更を、図5および〔数式8〕〔数式9〕に従って実行するようにしたが、埋め込むべきビット値に応じた周波数成分の変更は、様々なものを用いることができ、例えば特許文献1に示したような手法を用いることも可能である。この場合、抽出側においても、当然その埋め込み手法に応じた手法で抽出が行われる。
付加情報を構成する1ワード(12ビット)を2回繰り返して埋め込んだ状態を示す図である。 本発明に係る音響信号に対する情報の埋め込み装置の機能ブロック図である。 本発明で用いる時間方向窓関数を示す図である。 人間の聴覚心理特性である音脈分凝の原理の説明図である。 本発明の一実施形態における変更対象周波数帯の成分の変化の状態を示す図である。 符号変換テーブル作成の処理概要を示すフローチャートである。 7ビット符号と12ビット符号の符号変換テーブルの一例を示す図である。 図2に示した装置の処理概要を示すフローチャートである。 振幅変換を用いない埋め込み処理を説明するための図である。 振幅変換を用いない抽出処理を説明するための図である。 振幅変換を用いた埋め込み処理を説明するための図である。 振幅変換を用いた抽出処理を説明するための図である。 本発明に係る音響信号からの情報の抽出装置の機能ブロック図である。 図13に示した装置の処理概要を示すフローチャートである。 本発明の音響信号からの情報の抽出装置が用いる巡回符号表の一例を示す図である。 図14のS202の位相確定および符号出力の詳細を示すフローチャートである。 図16のS302の符号判定処理の詳細を示すフローチャートである。 7ビット符号と16ビット符号の符号変換テーブルの一例を示す図である。 7ビット符号と16ビット符号の変換の場合の巡回符号表の一例を示す図である。 巡回符号に基づいた改良型16ビットハミング符号に対応した符号変換テーブル作成の処理概要を示すフローチャートである。 8ビット符号と改良型16ビット符号の符号変換テーブルの一例を示す図である。 8ビット符号と改良型16ビット符号の変換の場合の巡回符号表の一例を示す図である。
符号の説明
10・・・音響フレーム読込手段
20・・・周波数変換手段
30・・・周波数成分変更手段
40・・・周波数逆変換手段
50・・・改変音響フレーム出力手段
60・・・記憶手段
61・・・音響信号記憶部
62・・・付加情報記憶部
63・・・改変音響信号記憶部
70・・・ビット配列作成手段
80・・・変換テーブル作成手段
100・・・音響信号入力手段
110・・・基準フレーム獲得手段
120・・・位相変更フレーム設定手段
130・・・周波数変換手段
140・・・符号判定パラメータ算出手段
150・・・符号出力手段
160・・・付加情報抽出手段
170・・・音響フレーム保持手段
180・・・変換テーブル作成手段

Claims (7)

  1. Nwビットを1ワードとして1以上のワードから構成される付加情報を変換し、Nhビットを単位としてあらかじめ聴取不能な状態で埋め込まれた情報を、音響信号から抽出する装置であって、
    埋め込み前の元の1ワードの付加情報に対応するNwビットの基準符号と、当該基準符号に対応するNh(>Nw)ビットのハミング符号と、
    当該ハミング符号を構成するビット列をそれぞれ1〜Nh−1ビットずつ巡回させたNh−1個の巡回ビット列と対応付けて記録した巡回符号表と、
    前記音響信号の所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、
    前記読み込まれた音響フレームのうち、奇数番目、偶数番目の一方の音響フレームに対して第1窓関数を用いて周波数変換を行い、奇数番目、偶数番目の他方の音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、
    前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2つのスペクトル集合を抽出し、前記第1窓スペクトル、第2窓スペクトルから抽出した高周波側のスペクトル集合の強度値をE3、E4、低周波側のスペクトル集合の強度値をE1、E2とした場合に、Nhの整数倍前までの対応する音響フレームにおいても同様に、E1〜E4に対応するスペクトル集合の強度値を算出し、過去のものほど小さくなる1未満の重みを乗じた値を累積加算した値を、E1〜E4に置換し、置換後のE1とE4の積と、E2とE3の積との大小関係に基づいて、埋め込まれていたビット値を抽出することにより1以上のビット列を抽出する符号化手段と、
    前記抽出されたビット列の集合が付加情報1ワード分に相当する所定のビット数Nhに達した場合に、当該1ワード分のビット列で前記巡回符号表を参照し、対応するNwビットの基準符号を元の1ワード分の付加情報として抽出する付加情報抽出手段と、
    を有することを特徴とする音響信号からの情報の抽出装置。
  2. 請求項において、
    前記巡回符号表における全てのハミング符号および巡回ビット列は、互いにハミング距離が少なくとも2以上であることを特徴とする音響信号からの情報の抽出装置。
  3. 請求項または請求項において、
    Nwビットが取り得る2のNw乗個の全ての基準符号に対して、互いにハミング距離が少なくとも3以上となるNh(>Nw)ビットのハミング符号を割り当て、各ハミング符号を構成するビット列をそれぞれ1〜Nh−1ビットずつ巡回させたNh−1個の巡回ビット列を作成して、前記基準符号、ハミング符号、Nh−1個の巡回ビット列を対応付けて前記巡回符号表を作成する巡回符号表作成手段をさらに有することを特徴とする音響信号からの情報の抽出装置。
  4. 請求項から請求項のいずれかにおいて、
    前記符号化手段は、前記生成された各窓スペクトルから抽出したスペクトル集合の強度値に対して、平均強度レベルを算出し、当該平均強度レベルを規定レベルに一致させるように変換倍率を算出し、前記各スペクトル集合の強度に前記変換倍率を乗じて振幅変換を施すとともに、前記振幅変換を施した各スペクトル集合の強度値に基づいて、埋め込まれていた1以上のビット列を抽出するものであることを特徴とする音響信号からの情報の抽出装置。
  5. 請求項1から請求項4のいずれかにおいて、
    前記符号化手段は、1未満の値を持つ係数qを用いて、前記スペクトル集合の強度値E2に対してはE1を、E4に対してはE3を、E1とE3に対しては直前の音響フレームにおける各々E2とE4にqを乗じた値を減じることにより補正して、強度値E1´、E2´、E3´、E4´を得て、
    の整数倍前までの対応する音響フレームにおいても同様に、E1´〜E4´に対応するスペクトル集合の強度値を算出し、過去のものほど小さくなる1未満の重みを乗じた値を累積加算した値を、E1´〜E4´に置換し、置換後のE1´とE4´の積と、E2´とE3´の積との大小関係に基づいて補正ビット値を抽出し、前記E1とE4の積と、E2とE3の積との大小関係に基づいて抽出されたビット値と、補正ビット値のいずれか一方のビット値を選択するものであることを特徴とする音響信号からの情報の抽出装置。
  6. 請求項から請求項のいずれかにおいて、
    前記音響フレーム獲得手段は、前記音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして獲得する基準フレーム獲得手段と、前記基準フレームと所定サンプルずつ移動させることにより位相を変更して設定される複数の音響フレームを位相変更フレームとして設定する位相変更フレーム設定手段により構成され、
    前記符号化手段は、前記抽出したスペクトル集合に基づいて符号判定パラメータを算出するとともに、前記スペクトル集合を、当該スペクトル集合に対応する直前の同タイプの音響フレームにおけるスペクトル集合を利用して補正した補正スペクトル集合に基づいて補正符号判定パラメータを算出する符号判定パラメータ算出手段と、基準フレームが異なる過去の同位相の音響フレームにおいて算出された符号判定パラメータおよび補正符号判定パラメータのいずれかを選択し、当該選択した方の符号判定パラメータに基づいて、前記基準フレームおよび複数の位相変更フレームのうち1つの音響フレームを位相が最適なものであると判断し、当該最適な位相の音響フレームについて判断された前記符号判定パラメータに基づいて、所定の符号を出力する符号出力手段を有するものであることを特徴とする音響信号からの情報の抽出装置。
  7. コンピュータを、請求項から請求項のいずれかに記載の音響信号からの情報の抽出装置として、機能させるためのプログラム。
JP2008243419A 2008-09-22 2008-09-22 音響信号からの情報の抽出装置 Expired - Fee Related JP5212715B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008243419A JP5212715B2 (ja) 2008-09-22 2008-09-22 音響信号からの情報の抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008243419A JP5212715B2 (ja) 2008-09-22 2008-09-22 音響信号からの情報の抽出装置

Publications (2)

Publication Number Publication Date
JP2010072602A JP2010072602A (ja) 2010-04-02
JP5212715B2 true JP5212715B2 (ja) 2013-06-19

Family

ID=42204391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008243419A Expired - Fee Related JP5212715B2 (ja) 2008-09-22 2008-09-22 音響信号からの情報の抽出装置

Country Status (1)

Country Link
JP (1) JP5212715B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110349588A (zh) * 2019-07-16 2019-10-18 重庆理工大学 一种基于词嵌入的lstm网络声纹识别方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001135020A (ja) * 1999-11-05 2001-05-18 Sony Corp 情報送受信方法、情報送信方法及び情報受信方法、情報送受信装置、情報送信装置及び情報受信装置
ES2507642T3 (es) * 2002-10-15 2014-10-15 Verance Corporation Sistema de supervisión de medios, de gestión y de información
JP4839721B2 (ja) * 2005-08-05 2011-12-21 大日本印刷株式会社 音響信号に対する情報の埋め込み装置
JP4839775B2 (ja) * 2005-10-24 2011-12-21 大日本印刷株式会社 音響信号に対する情報の埋め込み装置、方法、プログラム
JP4968468B2 (ja) * 2007-09-20 2012-07-04 大日本印刷株式会社 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置

Also Published As

Publication number Publication date
JP2010072602A (ja) 2010-04-02

Similar Documents

Publication Publication Date Title
JP4867765B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP2009180893A (ja) 音響信号で制御されるコンテンツ再生装置
JP5157931B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置
JP2006323182A (ja) 音響信号に対する情報の埋め込み装置、音響信号からの情報の抽出装置、および音響信号再生装置
JP4910920B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5157863B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置
JP5212715B2 (ja) 音響信号からの情報の抽出装置
JP5104200B2 (ja) ネットワーク接続装置
JP4910959B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4968468B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4973417B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP2006227330A (ja) 音響信号に対する情報の埋め込み装置・方法、音響信号からの情報の抽出装置・方法
JP5569033B2 (ja) 音響信号に対する情報の埋め込み装置
JP5273366B2 (ja) コンテンツ同期再生装置
JP2007226071A (ja) 音響信号検索装置
JP5310498B2 (ja) 音響信号に対する情報の埋め込み装置
JP4910921B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4831335B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP2010078728A (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4876978B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5104202B2 (ja) 音響信号に対する情報のリアルタイム埋め込み装置
JP4831333B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4877007B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5003164B2 (ja) 音響信号からの情報の抽出装置
JP2008152154A (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130213

R150 Certificate of patent or registration of utility model

Ref document number: 5212715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees