音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置
【課題】 可能な限り少ない数のスピーカから発せられる音を利用して、二次元における詳細な位置を特定することが可能な音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置を提供する。
【解決手段】 所定長のビット列で構成される9種のIDを用意しておき、ID11のビット値およびID11とID31、ID11とID13のビット値の異同に基づき所定周波数成分の強度を変化させた音響信号をFLスピーカから出力する。同様な処理を、他のチャンネルに対しても行い、所定周波数成分の強度を変化させた音響信号をFRスピーカ、BLスピーカ、BRスピーカから出力する。4つのスピーカに囲まれた範囲に設置されたマイクロフォンでは、それぞれID11からID33を抽出し、事前に記録したIDと位置との対応関係に基づいて、対応する位置を検出する。
【解決手段】 所定長のビット列で構成される9種のIDを用意しておき、ID11のビット値およびID11とID31、ID11とID13のビット値の異同に基づき所定周波数成分の強度を変化させた音響信号をFLスピーカから出力する。同様な処理を、他のチャンネルに対しても行い、所定周波数成分の強度を変化させた音響信号をFRスピーカ、BLスピーカ、BRスピーカから出力する。4つのスピーカに囲まれた範囲に設置されたマイクロフォンでは、それぞれID11からID33を抽出し、事前に記録したIDと位置との対応関係に基づいて、対応する位置を検出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響信号に埋め込まれた情報を利用して、位置を検出するための技術に関する。
【背景技術】
【0002】
近年、携帯電話機等にGPS技術が採用され、端末の位置検出を行うことが可能になってきている。しかし、GPSを用いた位置検出は分解能が低いため、屋内の位置を特定するには十分でないという問題がある。
【0003】
一方、出願人は、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスなどに応用可能とするため、音響信号の周波数成分の比率を属性情報のビット値に応じて変更することにより、属性情報(付加情報)を埋め込む技術を提案している(特許文献1参照)。
【0004】
また、出願人は、特許文献1に記載の発明における、広いホール等で2つのスピーカが離れている場合、双方のチャンネルからの音が混ざり合った中央付近では抽出することができないという問題を解決するため、音脈分凝の原理を利用して、情報の埋め込みおよび抽出を行う技術を提案している(特許文献2参照)。
【特許文献1】特開2006−323246号公報
【特許文献2】特開2008−256948号
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述のように、GPSを用いた位置検出は分解能が低いため、屋内において詳細な位置を特定するには十分でないという問題がある。上記特許文献1、2の技術を利用することにより、それぞれから発するスピーカに位置を特定する情報を埋め込めば、位置検出に利用することも可能であるが、詳細な位置を特定するためには多数のスピーカを設置しなければならないという問題がある。また、一方向の位置検出だけでなく、二次元における位置検出を行うことができないという問題がある。
【0006】
そこで、本発明は、可能な限り少ない数のスピーカから発せられる音を利用して、二次元における詳細な位置を特定することが可能な音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置を提供することを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明では、少なくとも4チャンネルの時系列のサンプル列で構成される音響信号に対して、前記音響信号が少なくとも4つのスピーカで再生される際に、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置で互いに異なるn2種の識別情報が抽出可能になるように、互いに異なるn2種の識別情報をn種の前後識別情報とn種の左右識別情報の組み合わせとして聴取不能な状態で埋め込む装置であって、前記音響信号より、所定数のサンプルを各チャンネルごとに読み込み、音響フレームを作成する音響フレーム読込手段と、前記読み込んだ各チャンネルの音響フレームに対して、所定の窓関数を用いて周波数変換を行い、前記音響フレームに対する窓スペクトルを得る周波数変換手段と、前記生成された各窓スペクトルから所定の周波数範囲における複数のスペクトル集合を抽出し、そのチャンネルに埋め込むべき本来の前後または左右識別情報を構成するビット値に基づいて、前記窓スペクトルに対応する複数のスペクトル集合間の強度値を一方の強度値が他方の強度値より所定の程度で強くなるように変更するものであり、前後識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と同一である場合に最大の程度になるようにし、本来の前後識別情報を抽出させる位置と隣接する位置において抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と異なる場合に、最小の程度となるようにしており、左右識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と同一である場合に最大の程度になるようにし、本来の左右識別情報を抽出させる位置と隣接する位置において抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と異なる場合に、最小の程度となるようにしている周波数成分変更手段と、前記変更されたスペクトル集合を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、前記生成された改変音響フレームを順次出力する改変音響フレーム出力手段を有する音響信号に対する情報の埋め込み装置を提供する。
【0008】
また、本発明では、あらかじめ聴取不能な状態でn2種の識別情報が埋め込まれた音響信号から、前記音響信号を少なくとも4つのスピーカで再生し、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置を検出する装置であって、各スピーカを基準とする相対位置と前記識別情報を対応付けた位置関係を記憶した位置関係記憶手段と、前記音響信号が再生されている空間内の所定の位置で音響信号をモノラル入力し、所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、前記読み込んだ音響フレームのうち、奇数番目、偶数番目の一方をAタイプ、他方をBタイプとし、前記Aタイプの音響フレームに対して第1窓関数を用いて周波数変換を行い、前記Bタイプの音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2個のスペクトル集合を、周波数が高い方のスペクトル集合の周波数幅が大きくなるように抽出し、更に各スペクトル集合を1/2の周波数幅に均等分割し、前記第1窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE1、E3、E5、E7として算出し、前記第2窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE2、E4、E6、E8として算出し、E1とE4の積と、E2とE3の積との大小関係、およびE5とE8の積と、E6とE7の積との大小関係に基づいて、埋め込まれていたビット値を抽出する符号化手段と、前記抽出されたビット値をワード単位で所定の規則により変換して時系列に各々n種の前後識別情報と左右識別情報を抽出し、これらを結合して前記n2種の識別情報として抽出する識別情報抽出手段と、前記識別情報抽出手段により得られた識別情報を用いて、前記位置関係記憶手段を参照して位置情報を取得し、当該取得した位置情報を出力する位置出力手段を有する音響信号を利用した位置検出装置を提供する。
【発明の効果】
【0009】
本発明によれば、少なくとも4つの各チャンネル用の本来の識別情報と、中間検出用の(n2−5)種の識別情報、および4つのスピーカの中央1種の識別情報の計n2種の識別情報を用意し、4つの各チャンネルに対応するビット値を埋め込む際、中間検出用の識別情報のビット値に従って、各チャンネルの所定周波数範囲における変更対象周波数成分の強度の程度を段階的に変化させるようにしたので、各スピーカの間に所定の間隔で設置されたマイクロフォンで取得された音は、所定周波数範囲において、いずれかのスピーカの音からの影響を大きく受けることになり、(n2−4)種の識別情報を抽出することができ、その抽出した情報により4つのスピーカに囲まれた範囲における相対的位置を特定することが可能となる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.本発明の基本概念)
(1.1.一次元の位置検出)
本発明の基本概念の説明に際し、本発明の基礎となる一次元の位置検出について説明する。図1(a)は、従来(特許文献1、2等に示された技術)の、音響信号を利用した識別情報の抽出を示す図である。図1(a)の例では、Lチャンネル音響信号に識別情報としてID1を埋め込み、Rチャンネル音響信号に識別情報としてID2を埋め込んでいる。このような音響信号を再生すると、Lスピーカ付近のマイクロフォンから取り込んだ音、Rスピーカ付近のマイクロフォンから取り込んだ音から抽出装置はそれぞれID1、ID2を抽出する。しかし、LスピーカとRスピーカからほぼ等距離のマイクロフォンから取り込んだ音からは、抽出装置はIDを正しく抽出することができない。これは、LスピーカとRスピーカからほぼ等距離のマイクロフォンでは、Lスピーカからの音とRスピーカからの音が混在するためである。特許文献2に示された技術では、中央付近でID1、ID2のいずれかを抽出することは可能であるが、ID1、ID2とは別個のIDを抽出することはできない。
【0011】
出願人は、左右スピーカの中央付近で左右それぞれのスピーカ付近とは異なるIDを抽出する技術を、特願2008−245020において提案した。特願2008−245020の発明では、Lスピーカ付近のマイクロフォンから取り込んだ音、Rスピーカ付近のマイクロフォンから取り込んだ音からは、従来と同様、抽出装置はそれぞれID1、ID2を抽出するが、さらに、LスピーカとRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID3を抽出する。すなわち、ID1が埋め込まれたLスピーカからの音、ID2が埋め込まれたRスピーカからの音を同時に取り込んで、ID3を抽出する。
【0012】
さらに、特願2008−312741では、図1(b)に示すように、Lスピーカ付近のマイクロフォンから取り込んだ音、Rスピーカ付近のマイクロフォンから取り込んだ音からは、従来と同様、抽出装置はそれぞれID1、ID5を抽出するとともに、LスピーカとRスピーカからほぼ等距離(中央)のマイクロフォンにより取り込んだ音から別個のID3を抽出し、さらに、Lスピーカ付近のマイクロフォンと中央のマイクロフォンからほぼ等距離のマイクロフォンにより取り込んだ音から別個のID2を抽出し、Rスピーカ付近のマイクロフォンと中央のマイクロフォンからほぼ等距離のマイクロフォンにより取り込んだ音から別個のID4を抽出する。すなわち、ID1が埋め込まれたLスピーカからの音、ID5が埋め込まれたRスピーカからの音を同時に取り込んで、ID2、ID3、ID4を抽出する。
【0013】
図2を用いて特願2008−245020、特願2008−312741の概念をより詳細に説明する。図2において、“0”“1”は、埋め込まれるビット値を示し、“0”“1”を含む矩形は、ビット値が埋め込まれる音響フレームを示している。音響フレームについては、詳細は後述するが、所定の長さのデジタル音響信号の1区間を示すものである。また、実際には、後述するように、1音響フレームに1ビットが埋め込まれるという単純なものではないが、図1では、説明の便宜上簡略化している。図2において、図面左右方向は時間的長さ、図面上下方向は、所定周波数範囲の周波数成分の強度を示している。図2(a)は、特願2008−245020に記載された発明を示すものである。特願2008−245020では、中央で1種の識別情報を抽出し、全体で計3種の識別情報を抽出する。図2(a)の例では、Lスピーカ用、Rスピーカ用にそれぞれ識別情報として符号“01(16進表記)”、“EF(16進表記)”を埋め込むが、この際、中央で抽出させるべき識別情報である符号“4B(16進表記)”を構成するビット列“01001011”に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。これにより、中央のマイクロフォンで取得した音を解析した場合に、符号“4B”が識別情報として抽出されることになる。
【0014】
特願2008−312741では、特願2008−245020からさらに進み、中央で1種の識別情報、Lスピーカと中央との中間、Rスピーカと中央との中間でそれぞれ1以上の識別情報を抽出し、全体で計n種の識別情報を抽出する。図2(b)の例では、Lスピーカと中央との中間、Rスピーカと中央との中間でそれぞれ1個の識別情報を抽出し、全体で計5種の識別情報を抽出している。
【0015】
図2(b)の例では、Lスピーカ用、Rスピーカ用にそれぞれ識別情報として符号“04(16進表記)”、“DF(16進表記)”を埋め込む。この際、中間の3箇所で抽出させるべき識別情報である符号“05(16進表記)”“17(16進表記)”“5F(16進表記)”を構成する各ビット列“00000101” “00010111” “01011111”に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。図2(b)における第1段目の符号“04”に対応したビット列の矩形と、第5段目の符号“DF”に対応したビット列の矩形を見ればわかるように、本発明では、Lスピーカ用、Rスピーカ用の所定周波数範囲の周波数成分の強度を大・中・小の3段階に変化させている。これにより、中間の3箇所の各マイクロフォンで取得される音の所定周波数成分が影響され、取得した音の所定周波数成分を解析した場合に、それぞれ符号“05”“17”“5F”が識別情報として抽出されることになる。
【0016】
図2(b)において第1段目のビット列、第5段目のビット列の各ビットから図面上下方向に伸びる矢印は、そのビットが影響を与える範囲を示している。例えば、第1段目のビット列の左端ビット“0”は強度“大”であるため、比較的遠い位置のマイクロフォンまで影響することになり、第2から第4段目のビット列の左端ビットのビット値は“0”となる。逆に第5段目のビット列の左端ビット“1”は強度“小”であるため、比較的近い位置のマイクロフォンにも影響しない。
【0017】
左端から2番目のビットについては、第1段目のビット列ではビット値“0”強度“大”であり、左端ビットの場合と同じであるが、第5段目のビット列でビット値“1” 強度“中”である。このため、第4段目においては、第5段目からの影響が第1段目からの影響に勝り、左から2番目のビット値は“1”となる。左端から3番目のビットについては、第1段目、第5段目のビット列共にビット値“0”強度“大”であるため、第3段目においては、両方の影響を受けて“0”となる。
【0018】
特願2008−312741では、第1段目と第5段目における所定周波数範囲の強度により中間のマイクロフォンで取得される周波数成分の強度を変化させるようにするため、途中のマイクロフォンにおいて異なるビット値が検出されることはない。例えば左端ビットの場合、第1段目のビット値“0”が、第4段目まで影響するため、途中の第2段目や第3段目のビット値が“1”になるようなことはなく、第1段目から第4段目までは全て同一のビット値“0”となる。左から2番目〜8番目までのビット値を縦方向(図面上下方向)に見ると、隣接する段の間でビット値に相違が生じるのは1箇所だけであり、2箇所で相違することはない。
【0019】
(1.2.二次元の位置検出)
次に、本発明の特徴である二次元の位置検出について説明する。図21(a)は、二次元方向に配置したマイクロフォンにおいて、互いに異なる識別情報を抽出する状態を示す図である。図21(a)の例では、FLチャンネル音響信号に識別情報としてID11を埋め込み、FRチャンネル音響信号に識別情報としてID12を埋め込み、BLチャンネル音響信号に識別情報としてID21を埋め込み、BRチャンネル音響信号に識別情報としてID22を埋め込んでいる。このような音響信号を再生すると、FLスピーカ付近のマイクロフォンから取り込んだ音、FRスピーカ付近のマイクロフォンから取り込んだ音、BLスピーカ付近のマイクロフォンから取り込んだ音、BRスピーカ付近のマイクロフォンから取り込んだ音から抽出装置はそれぞれID11、ID12、ID21、ID22を抽出する。さらに、FLスピーカとFRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID13を抽出し、FLスピーカとBLスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID31を抽出し、FRスピーカとBRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID32を抽出し、BLスピーカとBRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID23を抽出する。そして、中央のマイクロフォン(4つのスピーカからほぼ等距離)から取り込んだ音から別個のID33を抽出する。すなわち、ID13、ID31、ID32、ID23、ID33は、複数のスピーカからの音を同時に取り込むことにより抽出される。
【0020】
また、本発明では、マイクロフォンの数を増やし、より多くの識別情報を抽出することも行う。図21(b)の例では、マイクロフォンの数を25個に増やして、25種の識別情報を抽出している。
【0021】
図22を用いて本発明の概念をより詳細に説明する。図22において、“0”“1”は、埋め込まれるビット値を示し、“0”“1”を含む矩形は、ビット値が埋め込まれる音響フレームを示している。音響フレームについては、詳細は後述するが、所定の長さのデジタル音響信号の1区間を示すものである。また、実際には、後述するように、1音響フレームに1ビットが埋め込まれるという単純なものではないが、図1では、説明の便宜上簡略化している。図22に示した“0”“1”を含む矩形の図面左右方向の長さは時間的長さを示している。“0”“1”を含む矩形のうち、スピーカに近い4つの集合においては、図面上下方向の長さにより所定周波数範囲の周波数成分の強度を表現している。
【0022】
図22は、9箇所の位置を検出する場合を示すものである。この場合、中央で1種の識別情報を抽出し、全体で計9種の識別情報を抽出する。図22に示した識別情報は、1ワード4ビットの2ワード構成となっており、前半の1ワードが前後方向、後半の1ワードが左右方向を特定している。図22の例では、FLスピーカ用、FRスピーカ用、BLスピーカ用、BRスピーカ用にそれぞれ識別情報として符号“01(16進表記)”、“0F(16進表記)”、“E1(16進表記)”、“EF(16進表記)”を埋め込む。この際、中間で抽出させるべき識別情報である符号“41(16進表記)” 、“0B(16進表記)”、“EB(16進表記)”、“4F(16進表記)”を構成するビット列に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。
【0023】
図23は、25箇所の位置を検出する場合を示すものである。この場合、中央で1種の識別情報を抽出し、全体で計25種の識別情報を抽出する。図23の例では、FLスピーカ用、FRスピーカ用、BLスピーカ用、BRスピーカ用にそれぞれ識別情報として符号“0A(16進表記)”、“05(16進表記)” 、“FA(16進表記)”、“F5(16進表記)”を埋め込む。この際、中間の3箇所で抽出させるべき識別情報である符号“1A(16進表記)”“3A(16進表記)”“7A(16進表記)”“0B(16進表記)”“09(16進表記)”“0D(16進表記)”“FB(16進表記)”“F9(16進表記)”“FD(16進表記)”“15(16進表記)”“35(16進表記)”“75(16進表記)”を構成する各ビット列に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。図23における4つのスピーカ付近の符号“0A(16進表記)”、“05(16進表記)” 、“FA(16進表記)”、“F5(16進表記)”に対応したビット列の矩形を見ればわかるように、本発明では、FLスピーカ用、FRスピーカ用、BLスピーカ用、BRスピーカ用の所定周波数範囲の周波数成分の強度を大・中・小の3段階に変化させている。これにより、中間の各マイクロフォンで取得される音の所定周波数成分が影響され、取得した音の所定周波数成分を解析した場合に、それぞれ異なる識別情報が抽出されることになる。
【0024】
図23において、各ビットを埋め込む際の強度が検出位置に与える影響は、図2(b)を用いて説明した場合と同様となる。例えば、FLスピーカ付近(第1段目)のビット列の左端ビット“0”は強度“大”であるため、比較的遠い位置のマイクロフォンまで影響することになり、第2から第4段目のビット列の左端ビットのビット値は“0”となる。逆にBLスピーカ付近(第5段目)のビット列の左端ビット“1”は強度“小”であるため、比較的近い位置のマイクロフォンにも影響しない。
【0025】
左端から2番目のビットについては、FLスピーカ付近(第1段目)のビット列ではビット値“0”が強度“大”であり、左端ビットの場合と同じであるが、BLスピーカ付近(第5段目)のビット列でビット値“1”が強度“中”である。このため、第4段目においては、第5段目からの影響が第1段目からの影響に勝り、左から2番目のビット値は“1”となる。
【0026】
図2(b)を用いて説明した場合と同様、図23の例では、第1段目と第5段目における所定周波数範囲の強度により中間のマイクロフォンで取得される周波数成分の強度を変化させるようにするため、途中のマイクロフォンにおいて異なるビット値が検出されることはない。例えば左端ビットの場合、第1段目のビット値“0”が、第4段目まで影響するため、途中の第2段目や第3段目のビット値が“1”になるようなことはなく、第1段目から第4段目までは全て同一のビット値“0”となる。左から2番目〜4番目までのビット値を縦方向(図面上下方向)に見ると、隣接する段の間でビット値に相違が生じるのは1箇所だけであり、2箇所で相違することはない。
【0027】
図23の例においては、1ワード目の前半4ビットは左右方向において同一であり、2ワード目の後半4ビットは前後方向において同一である。左右の中間に配置されたマイクロフォンで抽出される識別情報の2ワード目は、左右のスピーカ付近の識別情報の2ワード目の各ビットを埋め込む際の強度値に影響される。この影響の様子は、前後の場合および図2(b)の例の場合と同様となる。
【0028】
次に、4チャンネルの符号を埋め込む際に、強度をどのように変化させるかについて説明する。図21(a)、図22に示したように9種の識別情報を抽出させる場合は、強度を2段階に変化させる必要があり、図21(b)、図23に示したように25種の識別情報を抽出させる場合は、強度を“大” “中” “小”の3段階に変化させる必要がある。ここでは、強度を“大” “中” “小”とする場合について説明する。図20は、1組のAタイプ音響フレーム、Bタイプ音響フレーム(奇数番目か偶数番目かにより区別)における所定周波数成分の様子を示す図である。本発明では、後述するように、音響信号をサンプリングすることにより得られた所定数のサンプルを1音響フレームとして処理を行う。4チャンネルの音響信号の場合は、FL-ch(前左チャンネル)、FR-ch(前右チャンネル)、BL-ch(後左チャンネル)、BR-ch(後右チャンネル)とも同様に処理が行われるが、図20においては、代表してFL-ch(前左チャンネル)のみを示している。また、左端の1、2は音響フレームのAタイプ、Bタイプの別を示し、U、Dはそれぞれ変更対象周波数帯全体内の相対的な高周波、低周波成分を示し、右端の1、2は高周波、低周波に分けたそれぞれにおけるさらに低周波側、高周波側の別を示している。したがって、図20の例では、2個の音響フレームを示しており、例えば、“1U2”は、Aタイプの音響フレームの高周波側のさらに高周波側を示していることになる。また、Aタイプ、Bタイプの音響フレームは、実際に半分のサンプルが重複して設定されるが、図20では、説明の便宜上独立した形態で示している。また、図20において、“1U2”等の各周波数成分の文字の大きさは、相対的な強度の大小を示している。
【0029】
本発明では、奇数番目の音響フレームの高周波側と低周波側の成分強度の大小関係と、偶数番目の音響フレームの高周波側と低周波側の成分強度の大小関係が逆転するように処理を行う。奇数番目と偶数番目のどちらの音響フレームの高周波側を大きくするかによって、埋め込むビット値を変化させることができる。例えば、図20(a)が、ビット値“0”が埋め込まれた状態であるとすると、逆に1U2と2U1を大きくし、1U1と2U2を小さくした状態がビット値“1”が埋め込まれた状態となる。上記図2を用いて説明した強度“大” “中” “小”はそれぞれ図20(a)(b)(c)に対応している。すなわち、強度“大”であるほど、強度が大きい側(図20の例では1U1や2U2)と強度が小さい側(図20の例では1U2と2U1)の差が大きく、強度“小”であるほど、強度が大きい側と強度が小さい側の差が小さくなる。なお、9種の識別情報を抽出させる場合は、強度“大” “小”を用いれば良いだけである。
【0030】
(2.1.埋め込み装置の構成)
次に、本発明に係る音響信号に対する情報の埋め込み装置について説明する。図3は、本発明に係る音響信号に対する情報の埋め込み装置の構成を示す機能ブロック図である。図3において、10は音響フレーム読込手段、20は周波数変換手段、30は周波数成分変更手段、40は周波数逆変換手段、50は改変音響フレーム出力手段、60は記憶手段、61は音響信号記憶部、62は識別情報記憶部、63は改変音響信号記憶部、70はビット配列作成手段である。なお、図3に示す装置は、ステレオ音響信号に対応している。
【0031】
音響フレーム読込手段10は、識別情報の埋め込み対象とする元のステレオ音響信号の各チャンネルから所定数のサンプルを1フレームとして読み込む機能を有している。周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響信号のフレームをフーリエ変換等により周波数変換してスペクトルを生成する機能を有している。周波数成分変更手段30は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を複数抽出し、識別情報記憶部62から抽出した識別情報よりビット配列作成手段70が作成したビット配列に基づいて、スペクトル集合の状態を変更する機能を有している。周波数逆変換手段40は、変更されたスペクトル集合を含む複数のスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。改変音響フレーム出力手段50は、生成された改変音響フレームを順次出力する機能を有している。
【0032】
記憶手段60は、識別情報を埋め込む対象とするステレオ音響信号を記憶した音響信号記憶部61と、ビット列として構成され、ステレオ音響信号に埋め込まれる識別情報を記憶した識別情報記憶部62と、識別情報埋め込み後の改変音響信号を記憶する改変音響信号記憶部63を有しており、その他処理に必要な各種情報を記憶するものである。ビット配列作成手段70は、識別情報記憶部62から識別情報を抽出し、識別情報の各ワードについて、符号変換テーブルを参照し、対応するビット配列を作成する機能を有している。
【0033】
なお、音響情報に埋め込む識別情報は、位置を特定するために、各位置を他の位置と区別して、一意に識別することが可能な情報である。なお、本実施形態では、検出側における識別情報の抽出精度を高めるため、Nwビットの識別情報をNhビットに変換した後、このNhビットの各ビットを埋め込む処理を行っている。Nw、Nhの具体的な数値は適宜設定可能であるが、本実施形態ではNw、NhをそれぞれNw=8、Nh=16としている。本実施形態では、ビット配列作成手段70が作成するビット配列は、16ビットとなり、ビット配列作成後は、この16ビットを1ワードとして処理している。図3に示した各構成手段は、現実にはコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
【0034】
(2.2.埋め込み装置の処理動作)
次に、図3に示した音響信号に対する情報の埋め込み装置の処理動作について説明する。音響フレーム読込手段10は、音響信号記憶部61に記憶されたステレオ音響信号の前左、前右、後左、後右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込む。音響フレーム読込手段10が読み込む1音響フレームのサンプル数Nは、適宜設定することができるが、サンプリング周波数が44.1kHzの場合、4096サンプル程度とすることが望ましい。したがって、音響フレーム読込手段10は、前左、前右、後左、後右の各チャンネルについてそれぞれ4096サンプルずつ、順次音響フレームとして読み込んでいくことになる。
【0035】
音響フレームとしては、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であっても良い。
【0036】
周波数変換手段20は、振幅変換後の音響フレームに対して周波数変換を行って、その音響フレームのスペクトルを得る。具体的には、窓関数を利用して周波数変換を行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
【0037】
一般に、所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、擬似高調波成分が発生する。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて、信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
【0038】
本実施形態においても、窓関数を利用しているが、Aタイプの音響フレーム、Bタイプの音響フレームで、使用する窓関数を分けている。本実施形態では、図4(a)(b)に示したような第1窓関数W(1,i)、第2窓関数W(2,i)を用意し、抽出側で認識し易いようにした。第1窓関数W(1,i)は、Aタイプの音響フレームに対して用いるためのものであり、図4(a)に示すように所定のサンプル番号iの位置において、最大値1をとり、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(1,i)の設計によって異なってくるが、本実施形態では、後述する〔数式1〕で定義される。Aタイプの音響フレームについてのフーリエ変換は、この窓関数W(1,i)を乗じたものに対して行われることになる。
【0039】
また、第2窓関数W(2,i)は、Bタイプの音響フレームに対して用いるためのものであり、図4(b)に示すように、所定のサンプル番号iの位置において、最大値1をとり、前部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(2,i)の設計によって異なってくるが、本実施形態では、後述する〔数式2〕で定義される。Bタイプの音響フレームについてのフーリエ変換は、この窓関数W(2,i)を乗じたものに対して行われることになる。
【0040】
なお、上述のように、本実施形態においては、音響フレームは重複して読み込まれる。すなわち、奇数番目の音響フレームと偶数番目の音響フレームは、所定数のサンプルを重複して読み込む。上記のように、奇数フレームと偶数フレームでは、用いられる窓関数が異なるが、奇数フレームと偶数フレームは単に奇数か偶数かの違いだけであるため、どちらに対してどちらの処理を行っても良い。したがって、本明細書では、奇数フレーム、偶数フレームの一方をAタイプフレーム、他方をBタイプフレームと呼ぶことにする。本実施形態では、奇数フレームをAタイプフレーム、偶数フレームをBタイプフレームとして説明するが、逆に偶数フレームをAタイプフレーム、奇数フレームをBタイプフレームとしても良い。
【0041】
本実施形態では、窓関数W(1,i)、W(2,i)は、以下の〔数式1〕〔数式2〕で定義される。なお、図4において、横軸は時間軸(i)である。iは、後述するように、各音響フレーム内のN個のサンプルに付した通し番号であるため時刻tに比例している。また、図4(a)(b)において縦軸は信号の振幅値(レベル)を示す。図4(a)(b)において縦軸は窓関数W(1,i)、W(2,i)の値を示しており、W(1,i)、W(2,i)の最大値はいずれも1である。
【0042】
〔数式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
【0043】
〔数式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
【0044】
なお、図4および上記〔数式1〕〔数式2〕から明らかなように、窓関数W(1,i)とW(2,i)は、互いに非対称な形状である。これは、後述する抽出側において、両者の識別を容易にするためである。
【0045】
本発明においては、奇数フレームと偶数フレームを、所定サンプルずつ重複して読み込むため、情報の埋め込みを行った後、音響信号に復元する際に、窓関数を乗じた奇数フレームと、窓関数を乗じた偶数フレームの重複サンプルを加算した場合に、ほぼ元の値に戻るようにしなければならない。このため、奇数フレームと偶数フレームの重複部分において、窓関数W(1,i)、W(2,i)を加算すると、全区間固定値1になるように定義されている。
【0046】
周波数変換手段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)を得る。なお、以下の説明において、左チャンネル信号Xl(i)を用いた説明は、前左チャンネル信号、後左チャンネル信号に共通するものであり、右チャンネル信号Xr(i)を用いた説明は、前右チャンネル信号、後右チャンネル信号に共通するものである。
【0047】
〔数式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)
【0048】
周波数変換手段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)を得る。
【0049】
〔数式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)
【0050】
上記〔数式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異なることになる。
【0051】
上記〔数式3〕〔数式4〕に従った処理を実行することにより、各音響フレームの各窓関数に対応するスペクトルが得られる。続いて、周波数成分変更手段30が、生成されたスペクトルから所定周波数範囲のスペクトル集合を抽出する。本実施形態では、F1以上F2以下の範囲のものを抽出する。
【0052】
周波数変換手段20は、周波数変換を実行した後に、各スペクトル集合の平均値が設定値になるように変換する。いわゆる振幅を変換する処理を行う。この振幅変換は、各フレームごとのレベル差を軽減し、適切な情報の埋め込みが可能になるようにすることを目的としているため、設定値Zoとしては適宜設定することができる。
【0053】
周波数変換手段20は、得られたスペクトル集合に対して、振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で上記設定値を除算することにより行う。具体的には、LチャンネルのAタイプの音響フレーム、Bタイプの音響フレーム、RチャンネルのAタイプの音響フレーム、Bタイプの音響フレームのスペクトル集合についての変換倍率Zl(1)、Zl(2)、Zr(1)、Zr(2)は、以下の〔数式5〕に従った処理により算出される。対象音響フレームが無音に近く、分母の二乗総和値が所定の値に満たない場合は、変換倍率を1.0に設定し、振幅変換は行わないようにする。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームのスペクトル集合の平均実効値が設定値となるように振幅変換された状態で、情報の埋め込みが行われることになる。
【0054】
〔数式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
【0055】
上記〔数式5〕において、mおよびMは変更対象周波数帯の下限および上限で、Zo=M−mであり、本実施形態では、Zo=288である。
【0056】
さらに、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)はこれらの振幅変換を行った値とする。
【0057】
周波数成分変更手段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ビットが特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
【0058】
周波数成分の変更の手法としては、様々なものが考えられるが、本実施形態では、人間の聴覚心理特性である音脈分凝の原理を利用する。音脈分凝とは、時系列に高い音と低い音が交互に進行するパターンに対して、人間が、あたかも高低2つのトラックが連続して流れるように音を補間して聞いてしまう錯覚現象である。
【0059】
具体的には、埋め込み装置で、音響信号から抽出した所定数のサンプルで構成される音響フレーム内の所定周波数範囲の周波数成分を変更するに際し、その強弱が音脈分凝を発生させるような状態に変更する。これにより、人間には、音が途切れたようには聞こえないが、抽出装置では、その明確な変化を認識することができる。
【0060】
本実施形態では、音脈分凝の原理を利用して、音響フレームの変更対象周波数帯の成分を2つの状態に変更し、1ビットの情報を埋め込むようにしている。音脈分凝の原理を利用した情報の埋め込み手法としては、上記特許文献2に示したような手法を採用することもできるが、本実施形態では、抽出感度および精度を向上させることを目的として識別情報を埋め込むための周波数領域を大きく確保できるように、識別情報を埋め込むための周波数領域において、高低2つの帯域で二重に音脈分凝の原理が機能するようにした。なお、高低2つの帯域は独立して音脈分凝を機能させるため、双方の周波数幅は必ずしも同一である必要はなく(ただし、各々の帯域は周波数方向に更に2分割されるが、2分割領域の幅は同一にする)。ここで、埋め込み処理の前後における音響フレームの所定周波数成分の変化の状態について説明する。図5に、本実施形態によるAタイプ、BタイプのLチャンネル1音響フレームの所定周波数成分の状態を示す。Rチャンネルについては、Lチャンネルと同様であるので省略してある。図5に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。
【0061】
図5においては、縦軸の周波数方向において、周波数領域が6つに区分されているが、上から2番目〜5番目の領域、すなわち、周波数F1以上F2以下の間が変更対象周波数帯であり、最上部すなわち周波数F2超、最下部すなわちF1未満は、変更対象でない周波数帯である。すなわち、本実施形態では、周波数F1以上F2以下を所定周波数範囲として、スペクトル集合の強度を変更することになる。図5(a)に示すように、Aタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を1D1、1D2、1U1、1U2で表現することとする。また、図5(b)に示すように、Bタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を2D1、2D2、2U1、2U2で表現することとする。
【0062】
1ビット埋め込み方式で、符号1を埋め込む場合、図5(c)(e)に示すように、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に強い状態に変更し、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に弱い状態に変更する。この状態を“状態1”と呼ぶことにする。符号2を埋め込む場合は、図5(d)(f)に示すように、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に強い状態に変更し、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に弱い状態に変更する。この状態を“状態2”と呼ぶことにする。網掛けされた部分の濃さは、同濃度のものは、積を求めるための組となるスペクトル集合であることを示している。網掛けの色が濃い方が相対的に強度が強い状態に変更される組を示している。
【0063】
1ビット埋め込み方式では、図5(c)(e)または(d)(f)に示すような2つの状態にAタイプ、Bタイプの音響フレームの周波数成分を変更することにより、情報の埋め込みを行っている。2つの状態であるので1ビット分の情報量に相当する。図5(c)〜(f)に示したように、1ビット埋め込み方式の場合、変更対象周波数帯の上位周波数帯と下位周波数帯が全く同一のパターンとなっている。2ビット埋め込み方式の場合は、上位周波数帯と下位周波数帯を独立に変更することにより、上位周波数帯で1ビット、下位周波数帯で1ビットの表現が可能となる。
【0064】
本実施形態では、上記変更対象周波数帯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”という値は、代表的な値であり、必ずしも正確な値である必要はなく、そこから若干ずれた値であっても良い。
【0065】
図5に示した例では、相対的に強い状態と弱い状態に変更することについて説明したが、この強弱の程度については、状況に応じて設定することが可能である。両者の割合は、以下に述べるように、その差が大きいほど抽出時の精度が高くなるが、補間される割合は不完全になり、再生時に不連続成分によるノイズが聞こえる。一方、両者の割合が均等であるほど再生品質は原音に近付くが、埋め込んだビットの抽出ができなくなり、再生品質と抽出精度はトレードオフの関係になる。例えば、強い方を100%、弱い方を0%とした場合、音脈分凝により、補間される部分の音は図5のような変更を行なう前に原音響信号で鳴っていた音の50%程度となることが確認されている。そこで、強い方を70%、弱い方を30%とした場合、音脈分凝により、補間される部分の音は図5のような変更を行なう前に原音響信号で鳴っていた音とほぼ同程度となり、この割合が抽出精度を維持できる限界であることが確認されている。このため、相対的に強いスペクトル集合と、相対的に弱いスペクトル集合の強度の割合を70%と30%程度とすることを目標に設定することが好ましい。ただし、本発明では、中間で検出されるビットをいずれのスピーカから発せられたものとするかにより、強弱を変更させる必要も生じる。そこで、本実施形態では、後述する具体的な処理において、強い状態を設定するための係数α1=0.66、α2=0.72、α3=0.78、弱い状態を設定するための係数β1=0.34、β2=0.28、β3=0.22とする。なお、α3、β3については、25種の識別情報を抽出させるために、強度を3段階に設定する場合に必要なものであり、9種の識別情報を抽出させるために、強度を2段階に設定する場合には不要である。逆に、より多くの識別情報を抽出させるために、強度をより多くの段階に設定する場合には、より多くのαk(k=1,2,・・・,(n+1)/2)の設定が必要となる。また、強い状態に変更すべきスペクトル集合の強度が元々小さい場合には、係数α、βを補正する必要が生じる。このため、周波数成分変更手段30は、まず、以下の〔数式6〕に従った処理を実行することにより、各スペクトル集合の強度E1D1、E2D1、E1D2、E2D2、E1U1、E2U1、E1U2、E2U2を算出する。
【0066】
〔数式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}
【0067】
上記〔数式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である。
【0068】
さらに、周波数成分変更手段30は、算出された各スペクトル集合の強度を利用して、弱い状態に変更すべきスペクトル集合に対する強い状態に変更すべきスペクトル集合の強度割合γを算出する。具体的には、以下の〔数式7〕に従って強度割合γを算出する。
【0069】
〔数式7〕
埋め込みデータが値1の場合、γ=(E1D1・E1U1・E2D2・E2U2)/(E1D2・E1U2・E2D1・E2U1)
埋め込みデータが値2の場合、γ=(E1D2・E1U2・E2D1・E2U1)/(E1D1・E1U1・E2D2・E2U2)
【0070】
さらに強度割合γの値に応じて、周波数成分変更手段30は、以下の〔数式8〕に従った処理を実行することにより、係数α1、α2、α3、β1、β2、β3を補正して係数α、βを得る。なお、以下の〔数式8〕において、αkは、α1、α2、α3のいずれかを意味する。
【0071】
〔数式8〕
0.01<γ<1.0の場合、α=αk・γ-1/4、β=βk・γ1/4
γ≦0.01の場合、α=10.0・αk、β=0.1・βk
γ≧1.0の場合、補正を行わない(α=αk、β=βk)
【0072】
さらに、周波数成分変更手段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”である場合、以下の〔数式9〕に従った処理を実行することにより、周波数成分の状態を“状態1”、すなわち、図5(c)(e)に示したような状態に変更する。
【0073】
〔数式9〕
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)・α/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α/{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)・β/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β/{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)・β/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β/{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)・α/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α/{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)・α/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α/{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)・β/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β/{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)・β/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β/{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)・α/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)2}1/2
【0074】
この場合は、スペクトル集合単位の強弱パターンは、高周波側と低周波側で同一となる。周波数逆変換手段40は、上記のようにして、周波数成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段20が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。
【0075】
具体的には、Aタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、以下の〔数式10〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式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)を除することにより、同時に振幅逆変換を施す必要がある。
【0076】
〔数式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)
【0077】
上記〔数式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)、が得られることになる。
【0078】
Bタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(2,j)、虚部Bl´(2,j)、右チャンネルの実部Ar´(2,j)、虚部Br´(2,j)を用いて、以下の〔数式11〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式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)を除することにより、同時に振幅逆変換を施す必要がある。
【0079】
〔数式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)
【0080】
上記〔数式11〕によりBタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
【0081】
改変音響フレーム出力手段50は、周波数逆変換手段40の処理により得られたAタイプの改変音響フレーム、Bタイプの改変音響フレームを順次出力ファイルに出力する。
【0082】
次に、図3に示した音響信号に対する情報の埋め込み装置の処理の全体的な流れについて説明する。まず、事前に図6に示すようなNwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルを用意する。この符号変換テーブルは、各ハミング符号間のハミング距離が互いに3以上となるものであれば、どのように作成しても良い。本実施形態では、コンピュータに専用のプログラムを実行させることにより、コンピュータを変換テーブル作成装置として機能させることにより作成する。変換テーブル作成装置による符号変換テーブル作成のフローチャートを図7に示す。
【0083】
変換テーブル作成装置は、最初に初期化処理を行う(S611)。具体的には、8ビット基準符号“0”に16ビット符号“1”を対応付けて符号変換テーブルのi(=0)番目に登録するとともに、8ビット基準符号KFの初期値を1、16ビット符号HFの初期値を2とする。続いて、i=0に初期設定する(S612)。次に、16ビット符号HF及びそれの15通りの巡回符号と、符号変換テーブルのi番目に既に登録されている他の16ビット符号及びそれの15通り巡回符号とのハミング距離を算出する(S613)。この段階で16通り×16通りで256通りのハミング距離が算出される。
【0084】
算出したハミング距離の少なくとも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を符号変換テーブルの8ビット符号KFの位置に登録するとともに、KF、HFの値をそれぞれ1ずつ増加して更新する(S616)。そして、HFが65536未満である場合は、S612に戻って、次の8ビット符号KFについての処理を行う。HFが65536以上である場合は、16ビットの範囲で表現可能な全ての16ビット符号HFが登録されたことになるので、符号変換テーブル作成処理を終了する。
【0085】
このようにして図6に示した符号変換テーブルが作成される。図6の符号変換テーブルは、巡回符号を考慮しないハミング符号との対応部分だけを抜き出したものである。この符号変換テーブルには、16ビットのハミング符号が定義可能な0〜65535の範囲内で、各々16通りの巡回符号が互いにハミング距離3以上になるように、8ビットの基準符号を定義したもので、基準符号としては7ビットより若干多い0〜131の値が表現可能となっている。
【0086】
図6に示したような符号変換テーブルが用意できたら、次に25種の識別情報を決定する。本実施形態では、識別情報を2ワード構成としており、前半の1ワードが5種、後半の1ワードが5種となるように決定することにより、25種の識別情報を決定する。前半、後半それぞれの5種のワードは、符号変換テーブルに示した0〜131の基準符号のいずれかを選択することにより行う。図2(b)を用いて説明したように、本発明の性質上、第2、第3、第4の符号の各ビットは、第1、第5の符号の少なくともいずれか一方のビットと同一でなければならないため、作成には工夫を要する。このような組み合わせとしては、例として図8に示すような2つがある。
【0087】
第1符号〜第5符号は、隣接する符号間において、同一ビット値が連続しているか、全てが同一ビット値でなければならない。これを満足する16ビットのビット列は、ASCII英数字(全62文字)に限定すると、図8に示した2例の組み合わせのみとなる。したがって、作成者は、図8に示したどちらかの組み合わせを選択し、第1符号〜第5符号を作成する。なお、図8の例では、基準符号をASCII英数字に変換した英文字を添えて示してある。図8に示した組み合わせのうちのいずれかを第1符号〜第5符号として1ワードを形成し、第2ワード目は、第1ワード目と全く異なる符号を選択し、例えば第1ワード目の第1符号〜第5符号のビット反転符号でもう1ワードを形成し、2ワード構成の25種の識別情報が識別情報記憶部62に記憶されることになる。図8の2種の符号セットは一部が同一であるため、これらを第1ワードと第2ワードに使用することはできない。
【0088】
識別情報の準備が完了したら、図3に示した埋め込み装置による処理が可能となる。続いて、図3に示した埋め込み装置の処理を、図9のフローチャートに従って説明する。図3に示した装置を構成する各構成要素は、連携して図9に従った処理を実行する。図9は、1つのチャンネルの識別情報1ワード分の処理に対応したものとなっている。したがって、4チャンネルの場合、各チャンネルにおいてほぼ同じ処理が並行して実行される。また、本発明では、1ワード分を設定された所定回数Naだけ繰り返して実行した後、次の1ワードを読み込む処理を実行する。例えば、Na=3と設定されている場合、3ワード分同じビット列が繰り返し埋め込まれる。
【0089】
図9においては、まず、ビット配列作成手段70は、識別情報記憶部62から抽出した識別情報の各ワードについて、符号変換テーブルを参照し、対応するビット配列を作成する(S101)。具体的には、まず、識別情報記憶部62から、前左(FL)チャンネル、前右(FR)チャンネル用の第1符号または後左(BL)チャンネル、後右(BR)チャンネル用の第5符号を1ワード(8ビット)、中間で読み出す中間用の第2〜第4符号を1ワード(8ビット)抽出し、図6に示した符号変換テーブルを参照し、対応するハミング符号で構成される16ビットのビット配列を作成する。このS101では、識別情報の1ワード目と2ワード目で異なる処理が行われる。1ワード目の場合は、上記の通りであるが、2ワード目の場合は、識別情報記憶部62から、前左(FL)チャンネル、後左(BL)チャンネル用の第1符号または前右(FR)チャンネル、後右(BR)チャンネル用の第5符号を1ワード(8ビット)、中間で読み出す中間用の第2〜第4符号を1ワード(8ビット)抽出し、図6に示した符号変換テーブルを参照し、対応するハミング符号で構成される16ビットのビット配列を反転して作成する。
【0090】
そして、この各16ビット(3つの符号についてそれぞれ1ワードのため、1チャンネルにつき48ビット)が、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに読み込まれることになる。このように、識別情報記憶部62においては、1ワードは8ビットであるが、埋め込み処理時は、この16ビットの配列で、識別情報内の1ワード分の処理を行う。
【0091】
次に、周波数成分変更手段30が、レジスタに保持された各識別情報のNh(=16)ビットから1ビットを読み込む処理を行う(S102)。このS102における処理も1ワード目と2ワード目で異なる。1ワード目については、FLチャンネル、FRチャンネルに対して処理する場合は、第1〜第3符号の各1ビットずつを読み込み、BLチャンネル、BRチャンネルに対して処理する場合は、第3〜第5符号の各1ビットずつを読み込むことになる。2ワード目については、FLチャンネル、BLチャンネルに対して処理する場合は、第1〜第3符号の各1ビットずつを読み込み、FRチャンネル、BRチャンネルに対して処理する場合は、第3〜第5符号の各1ビットずつを読み込むことになる。
【0092】
続いて、音響フレーム読込手段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)を算出し振幅変換を行う。
【0093】
続いて、周波数成分変更手段30が、読み込んだビット値に応じてAタイプ音響フレームおよびBタイプ音響フレームの周波数成分の状態を変更するにあたり、〔数式6〕〜〔数式8〕に従った処理を実行して変換割合α、βを決定する処理を行う(S105)。具体的には、読み込んだ本来のチャンネルの符号(1ワード目であれば、FLチャンネル、FRチャンネルの場合は第1の符号、BLチャンネル、BRチャンネルの場合は第5の符号、2ワード目であれば、FLチャンネル、BLチャンネルの場合は第1の符号、FRチャンネル、BRチャンネルの場合は第5の符号)のビット値と中間の符号(1ワード目であれば、FLチャンネル、FRチャンネルの場合は第2の符号、BLチャンネル、BRチャンネルの場合は第4の符号、2ワード目であれば、FLチャンネル、BLチャンネルの場合は第2の符号、FRチャンネル、BRチャンネルの場合は第4の符号)のビット値、中央の符号(第3の符号)のビット値が同一か否かを判断する。そして、本来のチャンネルの符号のビット値、中間の符号のビット値、中央の符号のビット値全てが同一の場合はαkとしてα3を用い、中間の符号のビット値と中央の符号のビット値が異なる場合はαkとしてα2を用い、本来のチャンネルの符号のビット値と中間の符号のビット値が異なる場合はαkとしてα1を用いて、上記〔数式8〕に従った処理を実行することにより、α、βを決定する。この決定された変換割合α、βを用いて、周波数成分変更手段30は、ビット配列作成手段70から受け取った値1、値2に応じて上記〔数式9〕に従った処理を実行し、変更対象周波数帯の成分の状態を“状態1”、“状態2”のいずれかに変更する(S106)。
【0094】
次に、周波数逆変換手段40が、上記S106の処理によりAタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S107)。この振幅逆変換は〔数式5〕で算出したZl(1)、Zr(1)の逆数をスペクトルに乗じることにより行ない、この周波数逆変換は、当然のことながら、周波数変換手段20がS103において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式10〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。
【0095】
同様に、周波数逆変換手段40が、上記S106の処理によりBタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S108)。具体的には、振幅逆変換は〔数式5〕で算出したZl(2)、Zr(2)の逆数をスペクトルに乗じることにより行ない、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(2,j)等、虚部Bl´(2,j)等、右チャンネルの実部Ar´(2,j)等、虚部Br´(2,j)等を用いて、上記〔数式11〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
【0096】
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして各チャンネルについて、AタイプおよびBタイプの2つの音響フレームに対する処理を終えたら、周波数成分変更手段30がビット配列中の次の1ビットを読み込む(S102)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S103、S104)、処理を終了する。なお、S101において読み込んだ1ワード分のビット配列(Nh=16ビット)の各ビットに対応する処理を終えた場合、S102からS101に戻り、識別情報の次のワードを読み込む処理を行うことになる。識別情報の全ワードに対して処理が終了した場合は、識別情報の先頭ワードに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段60内の改変音響信号記憶部63に出力され、記憶される。
【0097】
なお、本実施形態では、元の識別情報である1ワード8ビットを変換して、16ビットのビット配列とし、識別情報1ワード分の処理をする場合について説明したが、本発明では、抽出側と取り決めがある限り、識別情報の1ワードを他のビット数単位で記録することが可能である。
【0098】
上記のようにして得られた改変音響信号のうち、識別情報が埋め込まれている部分については、変更対象周波数帯の成分は、状態1、状態2の2通りの分布しかないことになる。しかし、変更対象周波数帯の成分以外については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。
【0099】
以上、埋め込み装置について説明したが、ここで、本実施形態で行っている振幅変換を用いた埋め込みおよび抽出について、図10から図13を用いて説明する。図10および図11は、比較のために、振幅変換を用いない場合の埋め込み処理および抽出処理を示し、図12および図13は本実施形態における振幅変換を用いた埋め込み処理および抽出処理を示す。これらの説明図においては、音響フレーム奇数および偶数3対分について、3ビットの情報を埋め込むことを想定した音響信号の信号波形を示しており、説明の便宜上、音響フレームが互いに重複しない状態で示している。各図において、左端の波形は時間次元の通常の音響信号波形を示しており、横方向は時間軸であり、右に向かうに従って時間が進行し、縦方向は強度(振幅)である。中央または右端の波形は周波数変換後の所定の周波数範囲のスペクトル成分の合算値を信号波形で表現しており、仮想的にバンドパスフィルターを通した後の信号波形になっている。縦方向は同様に強度であり、本来は左端に比べ顕著に低くなるが、ここでは説明の都合上、左端と同程度に拡大して表現している。また、2種類の波形のレベルも本来は差があるが、ここでは同一レベルで表現している。実際には、周波数変換後のデータとして所定の周波数範囲外の高周波数成分や低周波数成分も存在するが、これらについては改変を加えないという前提で図示しておらず、図5に従った埋め込みを行なう2種の周波数帯域成分に限定して2種の信号波形で示している。
【0100】
図10(a)は原音響信号を示しており、最初の1対の音響フレームは全体に渡って強度がほぼ一定、中央の1対の音響フレームは奇数フレームの強度が小さく偶数フレームの強度が大きいものであり、最後の1対の音響フレームは奇数フレームの強度が大きく偶数フレームの強度が小さいものである。このような音響信号に対して、周波数変換を行った結果が図10(b)で、図5で示されように埋め込み対象成分は上下2分割して成分変更を施す都合上、図10(b)では(b−1)および(b−2)の2種の波形に分離して表現した。周波数変換後の波形形状は周波数ごとに異なり、図10(a)と必ずしも相似形にはならないが、ここでは周波数変換前と同様になると仮定して説明する。図10(b−1)および(b−2)に対して、[0,0,0]という3ビットのデータを図5で説明した方法に基づいて埋め込むことにより(図5ではビット0は符号1に相当する)、図10(c−1)および(c−2)が得られる。最初の1対は図5のようなパターンが表現できているが、残り2対の上下一方は、原段階に対して逆方向に大小関係を構築することが要求され、品質維持の都合上、適切なパターンが構築できていないことがわかる。このような改変を加えた結果に対して、周波数逆変換を行った結果が図10(d)である。一般に音響信号波形の外形(エンベロープという)はエネルギー分布が大きい低周波成分で決定され、これらは本願では所定の周波数範囲外の信号成分に含まれ、図10(c)の段階では改変が加えられていないため、周波数逆変換後の図10(d)は周波数変換前の図10(a)と類似した形状になる。
【0101】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図11に示す。図11(a)および図11(b)は各々図10(d)および図10(c)に対応する。図11(b)において、ビット判定を行なうにあたり、最初の1対以外は図5で想定されているパターンが形成されていないため、正しいビットを判定することが難しくなる。
【0102】
次に、本実施形態における振幅変換を導入した手法について図12および図13を用いて説明する。図12(a)は図10(a)と同じ原音響信号を示しており、同様に周波数変換を行った図12(b)も図10(b)と同じである。ここで、6つのフレーム単位に振幅変換を行った結果が図12(c)である。図12の場合、図12(a)で各フレーム内の振幅が平坦であるため、図12(c)では全体が平坦になっているが、実際には各フレーム内は微細に変動しており、そのフレーム内変動分は図12(c)の段階でも踏襲されるため、本図のように完全に平坦になることは通常ない。(実際は図12(c)は周波数次元のデータになるため、周波数次元のデータも平坦にならず変動した形態になる。)また、変換倍率はフレームごとに設定し、上下2つの周波数成分に対しては同一の倍率で変換を行うため、通常は上下で顕著な差が生じる(ただし、時間軸方向は比較的揃う)。これに対して、[0,0,0]という3ビットのデータを埋め込むと、図12(d−1)および(d−2)が得られる。原段階である図12(c)が平坦な波形であるため、全てのフレームにおいて図5のような理想的なパターンが容易に構築できることがわかる。続いて、前記フレームごとに設定した倍率の逆数を乗じて振幅逆変換を行った結果が図12(e)である。この段階では図10(c)と類似したパターンが生じることが多いが、本形状はいかなるものでも構わない。最後に周波数逆変換を行うと、図12(f)が得られ、同様に原信号波形の図12(a)と類似した形状になる。
【0103】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図13に示す。図13(a)、(b)および(c)は各々図12(f)、(e)および(d)に対応する。図13(b)の周波数変換後の波形形状は図12(b)とは基本的に異なるが、算出される振幅変換倍率は類似した値になり、ほぼ同様な倍率で振幅変換が行われ図13(c)が得られる。図13(c)の段階で、ビット判定を行なうと、全てのフレームにおいて図5のような理想的なパターンが形成されているため、正しいビットを判定することが可能になる。
【0104】
以上、振幅変換を導入した本実施形態では、図12(c)に示したように、埋め込み対象の信号成分が時間軸方向に平坦になるように変換を行って埋め込むようにしているため、高周波側と低周波側の成分強度の大小関係が完全に逆になるような不自然な変更を行う確率が低くなり、品質を維持しながら、抽出側における抽出精度を高めることが可能となる。
【0105】
(3.1.位置検出装置の構成)
次に、本発明に係る音響信号を利用した位置検出装置について説明する。図14は、本発明に係る音響信号を利用した位置検出装置の一実施形態を示す構成図である。図14において、100は音響信号入力手段、110は基準フレーム獲得手段、120は位相変更フレーム設定手段、130は周波数変換手段、140は符号判定パラメータ算出手段、150は符号出力手段、160は識別情報抽出手段、170は音響フレーム保持手段、180は巡回符号表作成手段、190は位置関係記憶手段、200は位置出力手段である。
【0106】
音響信号入力手段100は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびA/D変換器により実現される。マイクロフォンとしては、変更対象周波数帯の成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図3に示した装置で情報の埋め込みを行った場合には、音響信号はステレオで再生されるが、FLチャンネルに埋め込まれた識別情報を抽出する場合は、FLスピーカ付近にマイクロフォンを設置し、FRチャンネルに埋め込まれた識別情報を抽出する場合は、FRスピーカ付近にマイクロフォンを設置し、BLチャンネルに埋め込まれた識別情報を抽出する場合は、BLスピーカ付近にマイクロフォンを設置し、BRチャンネルに埋め込まれた識別情報を抽出する場合は、BRスピーカ付近にマイクロフォンを設置し、各チャンネルに埋め込まれた複数の情報を利用して識別情報を抽出する場合は、FLスピーカ、FRスピーカ、BLスピーカ、BRスピーカに囲まれた範囲に、隣接するスピーカの間をほぼ4等分した間隔でマイクロフォンを設置する。このマイクロフォンは特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段110は、入力されたデジタルのモノラル音響信号(あるいはステレオ音響信号の1チャンネル)から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。基準フレームとしては、埋め込み時と同様にAタイプ、Bタイプのものが設定される。位相変更フレーム設定手段120は、Aタイプ、Bタイプそれぞれの基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。
【0107】
周波数変換手段130は、基本的には、図3に示した周波数変換手段20とほぼ同様の機能を有している。ただし、音を取り込むタイミングが、音響信号の先頭からとはならないため、正しい位相を特定するために、複数の位相で振幅変換、周波数変換を行う点、元の音響信号が4チャンネルであっても、1つのチャンネルで行う点が異なっている。
【0108】
周波数変換手段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の整数値をとる。
【0109】
〔数式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)
【0110】
周波数変換手段130は、Bタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i+p・N/6)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式13〕に従った処理を行い、変換データの実部A(2,j,p)、虚部B(2,j,p)を得る機能を有している。
【0111】
〔数式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)
【0112】
周波数変換手段130は、周波数変換手段20と同様に振幅変換を行う。振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で、設定値を除算することにより行う。設定値は、適宜定めておくことができるが、埋め込み時における振幅変換の場合と同一値としておくことが必要となる。したがって、本実施形態では、設定値Zoは288(=M−m)にする必要がある。具体的には、Aタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z(1,p)、Z(2,p)、これらの直前のAタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z-1(1,p)、Z-1(2,p)は、以下の〔数式14〕に従った処理により算出される。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームの平均実効値が設定値となるように振幅変換された状態で、情報の抽出が行われることになる。なお、pは位相番号であり、0〜5の整数値をとる。
【0113】
〔数式14〕
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
【0114】
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)はこれらの振幅変換を行った値とする。
【0115】
符号判定パラメータ算出手段140は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を抽出し、各スペクトル集合の強度値を算出するとともに、この強度値を利用して符号判定パラメータを算出し、この符号判定パラメータの大小関係に基づいて、所定の状態であると判断する機能を有している。上述のように、本実施形態では、Aタイプの音響フレームとBタイプの音響フレームがN/2サンプルずつ重複して設定されているため、ある音響フレームについて、強度値、符号判定パラメータを算出する際には、直前の音響フレームによる残響成分を考慮する必要がある。ところが、残響成分は計算により算出されるものであるので、必ずしも正確なものが算出されるとは限らず、算出された残響成分を除去することにより、反って抽出精度が低下する場合がある。そこで、本実施形態では、残響成分を除去しない場合の強度値E1、E2、E3、E4、および符号判定パラメータCと、除去した場合の強度値E1´、E2´、E3´、E4´、および補正符号判定パラメータC´を算出し、これらを利用して最適であると思われる状態を判断する。
【0116】
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〕に従った処理により算出する。
【0117】
〔数式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
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)
【0118】
上記〔数式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に設定する。
【0119】
上記〔数式15〕において、qは残響成分の大きさを示す係数であるが、この係数qは1未満の値を持つものであり、実験の結果、N=4096のときq=0.06、N=2048のときq=0.12、N=1024のときq=0.24、N=512のときq=0.48が最適である。
【0120】
そして、残響成分を除去しない場合の各スペクトル集合の強度値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)を用いて以下の〔数式16〕に基づいて算出する。
【0121】
〔数式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)
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)
【0122】
結局〔数式15〕〔数式16〕により、各スペクトル集合の強度値E1、E2、E3、E4、E5、E6、E7、E8が算出されるとともに、当該各スペクトル集合に対応するタイプの別を問わない直前の音響フレームにおけるスペクトル集合の強度にqを乗じた値を減じることにより強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´が算出されることになる。
【0123】
また、符号判定パラメータ算出手段140は、残響成分を除去せずに算出した強度値E1、E2、E3、E4、E5、E6、E7、E8を用いて、符号判定パラメータCを算出する。1音響フレームに1ビット埋め込む方式の場合、以下の〔数式17〕に従った処理を実行することにより、候補符号Bについて仮判定するとともに、符号判定パラメータCを算出する。
【0124】
〔数式17〕
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)}
【0125】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC´を算出する。1音響フレームに1ビット埋め込む方式の場合、上記〔数式17〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号Bに代えて候補符号B´について仮判定するとともに、符号判定パラメータCに代えて補正符号判定パラメータC´を算出する。
【0126】
一方、符号判定パラメータ算出手段140は、1音響フレームに2ビット埋め込む方式の場合、2ビットの各ビットについて、それぞれ候補符号をB1、B2、符号判定パラメータをC1、C2とすると、以下の〔数式18〕に従った処理を実行することにより、候補符号B1について仮判定するとともに、符号判定パラメータC1を算出する。
【0127】
〔数式18〕
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)}
【0128】
また、以下の〔数式19〕に従った処理を実行することにより、候補符号B2について仮判定するとともに、符号判定パラメータC2を算出する。
【0129】
〔数式19〕
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)}
【0130】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC1´、C2´を算出する。1音響フレームに2ビット埋め込む方式の場合、上記〔数式18〕〔数式19〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号B1、B2に代えて候補符号B1´、B2´について仮判定するとともに、符号判定パラメータC1、C2に代えて補正符号判定パラメータC1´、C2´を算出する。
【0131】
符号出力手段150は、1つの基準フレームに対応する音響フレーム(基準フレームおよび位相変更フレーム)の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。符号判定パラメータ算出手段140と符号出力手段150により符号化手段が構成される。識別情報抽出手段160は、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、巡回符号表を参照することにより、Nwビットの基準符号に変換する機能を有している。音響フレーム保持手段170は、Aタイプ、Bタイプそれぞれについて連続する2個の基準フレームを保持可能なバッファメモリである。巡回符号表作成手段180は、上記変換テーブル作成装置と同様、Nwビットが取り得る2のNw乗個以下の基準符号に対して、互いにハミング距離が少なくとも3以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルおよび巡回符号表を作成する機能を有している。位置関係記憶手段190は、左右スピーカを基準とする相対位置と基準符号を対応付けた位置関係テーブルを記憶したものである。位置出力手段200は、識別情報抽出手段160により得られた基準符号を用いて、位置関係記憶手段190内の位置関係テーブルを参照して、位置情報を取得し、出力する。具体的な出力には、液晶ディスプレイ等の表示機器を用いる。
【0132】
図14に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、本発明の目的をより簡易に達成するためには、携帯電話機やPDA(PersonalDigital Assistant)等の演算処理機能(コンピュータとしての機能)を備えた携帯型端末装置をハードウェアとして用いることが望ましい。位置検出装置としての機能を備えた携帯型端末装置を携帯して左右のスピーカの間を移動させることにより、携帯型端末装置が備えたマイクロフォンにより取得した音に基づいて、4つのスピーカに囲まれた範囲内の相対的位置を検出することができる。
【0133】
(3.2.位置検出装置の処理動作)
次に、図14に示した音響信号を利用した位置検出装置の処理動作について、図15のフローチャートに従って説明する。位置検出装置を起動すると、まず、本装置では、位相判定テーブル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を設定する。
【0134】
続いて、巡回符号表作成手段180が、巡回符号表を作成する(S210)。巡回符号表とは、図6に示した符号変換テーブルにおいて、変換元の7ビット基準符号に対応する変換後の16ビットハフマン符号のビット列を1ビットずつ移動させた巡回ビットパターンを記録したものである。巡回符号表作成手段180は、まず、変換テーブル作成装置と同様、図7のフローチャートに従った処理により図6に示したような符号変換テーブルを作成した後、巡回符号表を作成する。具体的には、巡回符号表作成手段180は、図6に示したような符号変換テーブルにおいて、8ビット基準符号に対応付けられた16ビットハミング符号のビット列を1ビットずつ移動した巡回ビットパターンを作成し、8ビット基準符号に対応付けて記録する。例えば、図6の8ビット基準符号“0”には、16ビットハミング符号“0000,0000,0000,0001”が正規のビットパターンとして対応付けられているので、巡回符号表作成手段180は、1ビット移動した16ビット符号“0000,0000,0000,0010”(10進表記“2”)、2ビット移動した16ビット符号“0000,0000,0000,0100”(10進表記“4”)、…、15ビット移動した16ビット符号“1000,0000,0000,0000”(10進表記“32768”)までの15個のビットパターンを巡回ビットパターンとして作成する。このようにして、作成された巡回符号表の一例を図16に示す。ビット配列のビット数Nhを16、ハミング距離を3とした場合図16に示した巡回符号表を用いてビットパターンの照合を行うことになる。
【0135】
図16の巡回符号表においては、いずれも10進表記で示してある。例えば、1行目の8ビット基準符号“0”に対しては、正規の16ビットハミング符号“1”と15個の巡回ビットパターン“2”“4” “8”“16” “32”“64” “128”“256” “512”“1024” “2048” “4096” “8192” “16384” “32768”が対応付けて記録される。
【0136】
このように、初期値が設定され、巡回符号表が作成された状態で、携帯端末に対して、位置検出装置としての起動の指示を行う。これは、例えば、位置検出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。位置検出装置は、指示が入力されると、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン(または指向性マイクロフォンの一方のチャンネル)から入力される音声を、A/D変換器によりデジタル化する処理を行うことになる。
【0137】
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S201)。具体的には、Aタイプ、Bタイプについての基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図2に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、Aタイプ、Bタイプについてそれぞれ4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、各チャンネルについて、Aタイプ、Bタイプ2個ずつの基準フレーム、すなわち2.5Nサンプルが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム4個分(連続する10240サンプル)が格納されていることになる。
【0138】
位置検出装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、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通りの形式となる。
【0139】
ここで、ステップS202の位相確定および符号判定の詳細を図17のフローチャートに従って説明する。まず、位相確定フラグがOnであるかOffであるかの確認を行う(S301)。位相確定フラグがOnである場合は、位相確定処理(S303〜S309)を行わず、符号判定処理のみを行う(S302)。ただし、初期状態では位相は確定しておらず、位相確定フラグがOffとなっているので、候補符号テーブルB(p)の初期化を行う(S303)。候補符号テーブルB(p)は、1つの基準フレームおよび5個の位相変更フレームを特定するp=0〜5の位相番号および、この6個の音響フレームの状態から得られる2値の符号を記録するものである。
【0140】
続いて、符号判定パラメータ算出手段140は、符号判定処理を行う(S302)。ここで、符号判定処理の詳細を図18に示す。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行って各窓スペクトルを得る(S401)。具体的には、上記〔数式12〕〔数式13〕に従った処理を実行し、変換データの実部A(1,j,p)、虚部B(1,j,p)、実部A(2,j,p)、虚部B(2,j,p)を得る。
【0141】
S401の処理については、実際には、Aタイプ音響フレームについて周波数変換を行った後、N/2サンプルだけシフトしてBタイプ音響フレームについて周波数変換を行う。これらの変換データA(1,j,p)、B(1,j,p)、A(2,j,p)、B(2,j,p)に対して、上記〔数式14〕に従った処理を実行し、振幅変換を行う(S402)。
【0142】
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、符号判定パラメータC、C´を上述のようにして算出した後、符号判定パラメータC、C´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、1ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S403)。具体的には、上記〔数式15〕〜〔数式17〕に従った処理を実行して、符号判定パラメータC、C´を算出する。そして、この両者を比較して、C>C´であれば候補符号Bを候補符号テーブルB(p)に設定し、C≦C´であれば候補符号B´を候補符号テーブルB(p)に出力する。
【0143】
S403の具体的な処理手順としては、まず、上記〔数式15〕の1番目の式と2番目の式を利用して基本強度値E(1,j,p)、E(2,j,p)を算出した後、上記〔数式16〕の1番目から4番目までの式を利用してE1(p)、E2(p)、E3(p)、E4(p)を算出し、上記〔数式17〕に従って候補符号Bおよび符号判定パラメータCを算出する処理を行う。続いて、上記〔数式15〕の3番目から6番目までの式を利用して、残響補正処理を行って基本強度値E´(1,j,p)、E´(2,j,p)を算出する。そして、上記〔数式16〕の5番目から8番目までの式を利用してE1´(p)、E2´(p)、E3´(p)、E4´(p)を算出し、上記〔数式17〕に従って候補符号B´および補正符号判定パラメータC´を算出する処理を行う。
【0144】
また、上記判定の結果、位相pにおける候補符号テーブルB(p)に値1、値2のいずれかを出力した場合には、さらに、以下の〔数式20〕に従って位相判定テーブルS(p)の更新を行う(S404)。
【0145】
〔数式20〕
C>C´である場合、S(p)←S(p)+C
C≦C´である場合、S(p)←S(p)+C´
【0146】
ここで、図17のフローチャートに戻って、符号判定パラメータ算出手段140は、候補符号テーブルB(p)に、位相pにおいて符号判定処理(S302)で仮決定された符号を保存する(S304)。
【0147】
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S305)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S302に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、位相判定テーブルS(p)の値が最大となる位相番号pmaxに対応する位相が最適位相であると判定し、候補符号テーブルB(p)に記録されている符号B(pmax)を出力する(S306)。
【0148】
続いて、位相決定ログの更新を行う(S307)。位相決定ログとは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録するものである。そして、位相決定ログを参照して、位相が過去所定回数同一であったかどうかを判断する(S308)。本実施形態では、この回数を10回としている。位相が過去所定回数同一であった場合には、位相確定フラグをOnに設定する(S309)。これにより、同一位相が所定回数続いた場合には、最適位相はpmaxとなる可能性が高いため、位相確定処理(S303〜S309)を行わず、位相番号p=pmaxに対してのみ符号判定処理(S302)を行うことになる。
【0149】
再び図15のフローチャートに戻って説明する。位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存する(S203)。次に、ビットカウンタを“1”だけカウントアップする(S204)。
【0150】
次に、ビットカウンタが15以下であるか16以上であるかを判断する(S205)。ビットカウンタが15以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
【0151】
(BB612)
次に、ビットカウンタが15以下であるか16以上であるかを判断する(S205)。ビットカウンタが15以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
【0152】
(BB612)
ビットカウンタが16以上である場合は、バッファに保存された16ビットのビット配列と巡回符号表内のビットパターンとの照合を行う(S206)。照合の結果、一致するビットパターンが16ビットハミング符号または巡回ビットパターンとして存在する場合には、適合パターン有りと判断し、対応する基準符号8ビットを抽出して出力する(S208)。音響フレームから抽出された16ビットのビット列が巡回ビットパターンのいずれかであった場合、これらのビットパターンは埋め込み時に埋め込んでいるはずであるので、対応する16ビットハミング符号のビットパターンをずれた位置で読み込んでいると判断し、8ビット基準符号を抽出するのである。S206の照合の結果、一致するビットパターンが16ビットハミング符号、巡回ビットパターンのいずれにも存在しない場合には、適合パターン無しと判断し、S201に戻って、次の基準フレームを抽出する処理を行う。
【0153】
S208において、基準符号8ビットを抽出して出力した場合には、ビットカウンタを0に初期化する(S209)。そして、S201に戻って、次の基準フレームから抽出する処理を行う。本発明では、埋め込み時にNa回重複して同一ワードを埋め込んでいるが、埋め込み時の先頭ビットから16ビットが偶然にも抽出されない限り、通常(Na−1)回の同一ワードが抽出されることになる(1ワード分は前後の異なるワード間をまたがって抽出されるため、S206の照合の結果、通常エラーになる)。この場合、実際に情報として必要なのは1ワード分のみであるため、後続する(Na−2)ワード分の8ビット基準符号を読み飛ばすのである。もちろん、状況によっては、(Na−2)ワード以下の8ビット基準符号しか読み込まれない場合もあれば、全く読み込まれない場合もある。
【0154】
図15に示す処理を各基準フレームに対して実行することにより、識別情報の1ワードが抽出されることになる。S201において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
【0155】
上記S208の処理において、識別情報抽出手段160は、まず、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、巡回符号表を参照することにより、Nwビットの基準符号に変換する。正しく処理が行われれば、この基準符号は、第1〜第5のいずれかの符号と同一となる。そして、位置出力手段200が、識別情報抽出手段160により得られた識別情報を用いて、位置関係記憶手段190内の位置関係テーブルを参照して、位置情報を取得し、出力する。位置関係記憶手段190内の位置関係テーブルの一例を図19に示す。位置関係テーブルには、検出位置と識別情報の対応関係が記録されている。識別情報としては、各ワードを第1符号〜第5符号のいずれかとした2ワード構成のものをあらかじめ記録しておく。抽出された識別情報で、この位置関係テーブルを参照することにより、検出位置の情報が得られるので、位置出力手段200はその検出位置を出力する。具体的には、図19に検出位置として示された“前左スピーカ付近”等の内容を表示装置(図示省略)の画面に表示出力する。
【0156】
(3.3.位相補正処理について)
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り(本実施形態では6通り)で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、6通りで読み込む場合、先頭の音響フレームは、本来サンプル番号1〜4096のサンプルであるが、サンプル番号1、683、1366、2049、2732、3413から始まる4096のサンプルで構成される6個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。なお、図16のフローチャートを用いて説明したように、本実施形態では、同一位相が所定回数連続した場合には、それ以降はその位相を確定したものとして処理を行う。
【0157】
(4.5.1chサラウンド再生に対応した例)
上記の例では、4チャンネルの音響信号を4つのスピーカから再生する場合について説明したが、本発明は、さらに多くのチャンネルに対応することが可能である。ここでは、一例として5.1chサラウンド再生に対応させる場合について説明する。5.1chサラウンド再生に対応させる場合、上記のような4つのスピーカに加えて、中央のスピーカであるFCスピーカと、低音強調用のスピーカであるLFスピーカを用意する。そして、FCスピーカから出力させるべきFCチャンネルの音響信号と、LFスピーカから出力させるべきLFチャンネルの音響信号それぞれの低周波成分に対して、上記説明のようにして、周波数成分の変更を行う。
【0158】
ここで、5.1chサラウンド再生の場合における本発明の適用について、4チャンネルの場合の図22と対比しながら説明する。図24は、5.1chサラウンド再生の場合の6個のスピーカと、各位置で検出される識別情報の関係を示す図である。FLスピーカ、FRスピーカ、BLスピーカ、BRスピーカに囲まれた9つのビット列(9種の識別情報)は、図22に示したものと同一であるが、図24では、所定周波数成分の強度を反映していない。図24では、各スピーカから発せられる音に埋め込まれた識別情報に所定周波数成分の強度を反映させたビット列を、FLスピーカ、FCスピーカ、LFスピーカ、FRスピーカについては、図面上側に、BLスピーカ、BRスピーカについては、図面下側に示している。
【0159】
5.1chサラウンド再生の場合であっても、FLスピーカ、FRスピーカ、BLスピーカ、BRスピーカから発せられる音の所定周波数成分は、4チャンネルの場合と全く同じである。この場合、FCスピーカ、LFスピーカからは、所定周波数成分の強度を小さくした状態で、共に“00001011”の識別情報が埋め込まれた音を発する。図22と比較すると、FCスピーカ、LFスピーカから音を発した場合でも、先の4つのスピーカに基づく識別情報の抽出精度に影響しないようにしている。5.1chサラウンド再生を、25種の識別情報に対応させる場合は、図22に示した例において、FCスピーカを、FLスピーカとFRスピーカの中間に配置し、LFスピーカを部屋のスペースに合わせて任意の位置に配置し、共に“00001001”の識別情報が埋め込まれた音を発する。図24では、LFスピーカをFLスピーカとFRスピーカの中間に配置させているが、LFスピーカ(重低音)は指向性がないため、どこに配置しても良いというのが5.1chサラウンド再生上の仕様である。
【0160】
(5.信号成分が小さい場合にさらに確実に情報の埋め込みを行う手法)
ここまでの説明のように、本発明では、元の信号成分に無音に近い部分があっても、情報の埋め込みを可能とするものである。このままでも、もちろん十分であるが、本発明においては、より確実に情報を埋め込むような処理を付加することも可能である。具体的には、周波数変換を行う前に、音響信号に聴取困難な微弱な白色ノイズを重畳させる。
【0161】
この場合、図3に示した音響フレーム読込手段10は、所定数のサンプルを1音響フレームとして読み込んだ後、所定の振幅範囲で所定サンプル数単位で同一値を加算または減算する機能を有している。本実施形態では、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、−32〜+32の振幅範囲(Xl(i)、Xr(i)のとり得る値が−32768〜+32767の場合)で一様乱数Hを発生させ、K(本実施形態ではK=5)個のサンプル間は同一値Hを用いて以下の〔数式21〕に示すような処理を実行し、Xl(i)、Xr(i)の値を更新する。
【0162】
〔数式21〕
Xl(i)←Xl(i)+H
Xr(i)←Xr(i)−H
【0163】
すなわち、上記〔数式21〕に従った処理をNサンプルに渡って実行することにより、1つの音響フレームに白色ノイズが発生されることになる。この白色ノイズの発生処理は、図9のフローチャートにおいては、S103、S104の音響フレーム抽出処理の直後に行われることになる。
【0164】
上記のように、白色ノイズを発生させた場合であっても、抽出側の、音響信号を利用した位置検出装置の構成は図14と同一であり、処理動作は図15、図17、図18のフローチャートに従ったものと同一である。
【0165】
(6.分解能の拡張)
上記実施形態では、各チャンネルにおいて一方向につき3種の符号(内1つは他のチャンネルと重複するため、全体で一方向の符号は5種となる。)に基づいて所定周波数範囲の成分強度を3段階に変更することにより、二次元の範囲において左右スピーカ付近を含む計25箇所における相対的位置を特定するようにした。また、各チャンネルにおいて一方向につき2種の符号(内1つは他のチャンネルと重複するため、全体で一方向の符号は3種となる。)に基づいて所定周波数範囲の成分強度を2段階に変更することにより、二次元の範囲において左右スピーカ付近を含む計9箇所における相対的位置を特定することができることについても説明した。本発明では、より多くの箇所における相対的位置を特定するため、各チャンネルにおいて、より多くの符号に基づいて所定周波数範囲の成分強度をより多くの段階に変更するようにしても良い。例えば、各チャンネルにおいて一方向につき4種の符号に基づいて所定周波数範囲の成分強度を4段階に変更することにより、二次元の範囲において各スピーカ付近を含む計49箇所における相対的位置を特定することができる。また、各チャンネルにおいて一方向につき5種の符号に基づいて所定周波数範囲の成分強度を5段階に変更することにより、二次元の範囲において各スピーカ付近を含む計81箇所における相対的位置を特定することができる。一般化すると、各チャンネルにおいて(n+1)/2種の符号に基づいて所定周波数範囲の成分強度を(n+1)/2段階に変更することにより、二次元の範囲において各スピーカ付近を含む計n2箇所における相対的位置を特定することができる。多くの箇所の相対的位置を特定することにより、位置検出の分解能が高まっていくことになる。
【0166】
(7.周波数範囲の変形例)
本願では抽出精度を向上させるため、電話帯域全体に埋め込み領域を拡大する方法を採用したが、再生品質を向上させるため、下位の変更対象周波数帯の幅を上記実施形態より狭くすることも可能である。具体的には、変更対象周波数帯の下限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つの周波数領域に分け、上位周波数帯と下位周波数帯の幅を近づけ、二重の音脈分凝を形成する手法が、人間の聴覚に対して、最もノイズを抑制できることがわかった。
【0167】
(8.その他)
以上、本発明の好適な実施形態について限定したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、1音響フレームのサンプル数N=4096としたが、N=2048、1024、512等を設定するようにしても良い。これにより、同一時間あたりの音響フレーム数が、2倍、4倍、8倍となり、全体として2〜8倍の情報の埋め込みが可能となる。
【0168】
また、上記実施形態では、音響信号を利用した位置検出装置を、携帯電話機等の携帯型端末装置単体で実現した場合を例にとって説明したが、他のコンピュータと連携して実現するようにしても良い。具体的には、携帯型端末装置と専用コンピュータを無線通信可能に接続し、音響信号入力手段100〜音響フレーム保持手段170の構成要素のうち、演算負荷の大きいものは、専用コンピュータで処理する。例えば、音響信号入力手段100、基準フレーム獲得手段110、位相変更フレーム設定手段120、識別情報抽出手段160、巡回符号表作成手段180、位置関係記憶手段190、位置出力手段200を携帯型端末装置に備え、周波数変換手段130、符号判定パラメータ算出手段140、符号出力手段150、音響フレーム保持手段170を専用コンピュータに備えるようにして、必要な情報を両者間で通信するようにする。これにより、携帯型端末装置の処理性能が低い場合であっても高速な処理を行うことが可能となる。
【0169】
また、上記実施形態では、識別情報が埋め込まれる音響信号として、前左チャンネル、前右チャンネル、後左チャンネル、後右チャンネルの内容が異なる4チャンネルのステレオ音響信号を利用した場合を例にとって説明したが、元の音響信号自体は4つのチャンネルともに全く同じものであっても良い。すなわち、モノラル音響信号に対して、それぞれ異なる識別情報を埋め込んだもの(所定周波数範囲以外は全く同じ音響信号)をFLスピーカ、FRスピーカ、BLスピーカ、BRスピーカから再生するようにしても良い。
【0170】
また、周波数成分変更手段30による所定周波数成分の変更を、図5および〔数式9〕に従って実行するようにしたが、埋め込むべきビット値に応じた周波数成分の変更は、公知の様々な手法を用いることができ、例えば特許文献1に示したような手法を用いることも可能である。この場合、抽出側においても、当然その埋め込み手法に応じた手法で抽出が行われる。
【図面の簡単な説明】
【0171】
【図1】一次元の位置検出の基本概念を示す図である。
【図2】一次元の位置検出の概念をより詳細に説明した図である。
【図3】音響信号に対する情報の埋め込み装置の機能ブロック図である。
【図4】本発明で用いる時間方向窓関数を示す図である。
【図5】本発明の一実施形態における変更対象周波数帯の成分の変化の状態を示す図である。
【図6】8ビット符号と16ビット符号の符号変換テーブルの一例を示す図である。
【図7】符号変換テーブル作成の処理概要を示すフローチャートである。
【図8】第1符号〜第5符号の組み合わせ例を示す図である。
【図9】図3に示した装置の処理概要を示すフローチャートである。
【図10】振幅変換を用いない埋め込み処理を説明するための図である。
【図11】振幅変換を用いない抽出処理を説明するための図である。
【図12】振幅変換を用いた埋め込み処理を説明するための図である。
【図13】振幅変換を用いた抽出処理を説明するための図である。
【図14】本発明に係る音響信号を利用した位置検出装置の機能ブロック図である。
【図15】図14に示した装置の処理概要を示すフローチャートである。
【図16】本発明で用いる巡回符号表の一例を示す図である。
【図17】図15のS202の位相確定および符号出力の詳細を示すフローチャートである。
【図18】図17のS302の符号判定処理の詳細を示すフローチャートである。
【図19】検出位置と抽出識別情報の関係を記録した位置関係テーブルの一例を示す図である。
【図20】識別情報を埋め込む際に、強度“大” “中” “小”とするために所定周波数成分をどのように変化させるかを説明する図である。
【図21】本発明の基本概念の説明図である。
【図22】本発明の概念をより詳細に説明した図である。
【図23】検出位置を増やした場合の、本発明の概念の詳細説明図である。
【図24】5.1chサラウンド再生の場合の、本発明の概念の詳細説明図である。
【符号の説明】
【0172】
10・・・音響フレーム読込手段
20・・・周波数変換手段
30・・・周波数成分変更手段
40・・・周波数逆変換手段
50・・・改変音響フレーム出力手段
60・・・記憶手段
61・・・音響信号記憶部
62・・・識別情報記憶部
63・・・改変音響信号記憶部
70・・・ビット配列作成手段
100・・・音響信号入力手段
110・・・基準フレーム獲得手段
120・・・位相変更フレーム設定手段
130・・・周波数変換手段
140・・・符号判定パラメータ算出手段
150・・・符号出力手段
160・・・識別情報抽出手段
170・・・音響フレーム保持手段
180・・・巡回符号表作成手段
190・・・位置関係記憶手段
200・・・位置出力手段
【技術分野】
【0001】
本発明は、音響信号に埋め込まれた情報を利用して、位置を検出するための技術に関する。
【背景技術】
【0002】
近年、携帯電話機等にGPS技術が採用され、端末の位置検出を行うことが可能になってきている。しかし、GPSを用いた位置検出は分解能が低いため、屋内の位置を特定するには十分でないという問題がある。
【0003】
一方、出願人は、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスなどに応用可能とするため、音響信号の周波数成分の比率を属性情報のビット値に応じて変更することにより、属性情報(付加情報)を埋め込む技術を提案している(特許文献1参照)。
【0004】
また、出願人は、特許文献1に記載の発明における、広いホール等で2つのスピーカが離れている場合、双方のチャンネルからの音が混ざり合った中央付近では抽出することができないという問題を解決するため、音脈分凝の原理を利用して、情報の埋め込みおよび抽出を行う技術を提案している(特許文献2参照)。
【特許文献1】特開2006−323246号公報
【特許文献2】特開2008−256948号
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述のように、GPSを用いた位置検出は分解能が低いため、屋内において詳細な位置を特定するには十分でないという問題がある。上記特許文献1、2の技術を利用することにより、それぞれから発するスピーカに位置を特定する情報を埋め込めば、位置検出に利用することも可能であるが、詳細な位置を特定するためには多数のスピーカを設置しなければならないという問題がある。また、一方向の位置検出だけでなく、二次元における位置検出を行うことができないという問題がある。
【0006】
そこで、本発明は、可能な限り少ない数のスピーカから発せられる音を利用して、二次元における詳細な位置を特定することが可能な音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置を提供することを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明では、少なくとも4チャンネルの時系列のサンプル列で構成される音響信号に対して、前記音響信号が少なくとも4つのスピーカで再生される際に、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置で互いに異なるn2種の識別情報が抽出可能になるように、互いに異なるn2種の識別情報をn種の前後識別情報とn種の左右識別情報の組み合わせとして聴取不能な状態で埋め込む装置であって、前記音響信号より、所定数のサンプルを各チャンネルごとに読み込み、音響フレームを作成する音響フレーム読込手段と、前記読み込んだ各チャンネルの音響フレームに対して、所定の窓関数を用いて周波数変換を行い、前記音響フレームに対する窓スペクトルを得る周波数変換手段と、前記生成された各窓スペクトルから所定の周波数範囲における複数のスペクトル集合を抽出し、そのチャンネルに埋め込むべき本来の前後または左右識別情報を構成するビット値に基づいて、前記窓スペクトルに対応する複数のスペクトル集合間の強度値を一方の強度値が他方の強度値より所定の程度で強くなるように変更するものであり、前後識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と同一である場合に最大の程度になるようにし、本来の前後識別情報を抽出させる位置と隣接する位置において抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と異なる場合に、最小の程度となるようにしており、左右識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と同一である場合に最大の程度になるようにし、本来の左右識別情報を抽出させる位置と隣接する位置において抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と異なる場合に、最小の程度となるようにしている周波数成分変更手段と、前記変更されたスペクトル集合を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、前記生成された改変音響フレームを順次出力する改変音響フレーム出力手段を有する音響信号に対する情報の埋め込み装置を提供する。
【0008】
また、本発明では、あらかじめ聴取不能な状態でn2種の識別情報が埋め込まれた音響信号から、前記音響信号を少なくとも4つのスピーカで再生し、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置を検出する装置であって、各スピーカを基準とする相対位置と前記識別情報を対応付けた位置関係を記憶した位置関係記憶手段と、前記音響信号が再生されている空間内の所定の位置で音響信号をモノラル入力し、所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、前記読み込んだ音響フレームのうち、奇数番目、偶数番目の一方をAタイプ、他方をBタイプとし、前記Aタイプの音響フレームに対して第1窓関数を用いて周波数変換を行い、前記Bタイプの音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2個のスペクトル集合を、周波数が高い方のスペクトル集合の周波数幅が大きくなるように抽出し、更に各スペクトル集合を1/2の周波数幅に均等分割し、前記第1窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE1、E3、E5、E7として算出し、前記第2窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE2、E4、E6、E8として算出し、E1とE4の積と、E2とE3の積との大小関係、およびE5とE8の積と、E6とE7の積との大小関係に基づいて、埋め込まれていたビット値を抽出する符号化手段と、前記抽出されたビット値をワード単位で所定の規則により変換して時系列に各々n種の前後識別情報と左右識別情報を抽出し、これらを結合して前記n2種の識別情報として抽出する識別情報抽出手段と、前記識別情報抽出手段により得られた識別情報を用いて、前記位置関係記憶手段を参照して位置情報を取得し、当該取得した位置情報を出力する位置出力手段を有する音響信号を利用した位置検出装置を提供する。
【発明の効果】
【0009】
本発明によれば、少なくとも4つの各チャンネル用の本来の識別情報と、中間検出用の(n2−5)種の識別情報、および4つのスピーカの中央1種の識別情報の計n2種の識別情報を用意し、4つの各チャンネルに対応するビット値を埋め込む際、中間検出用の識別情報のビット値に従って、各チャンネルの所定周波数範囲における変更対象周波数成分の強度の程度を段階的に変化させるようにしたので、各スピーカの間に所定の間隔で設置されたマイクロフォンで取得された音は、所定周波数範囲において、いずれかのスピーカの音からの影響を大きく受けることになり、(n2−4)種の識別情報を抽出することができ、その抽出した情報により4つのスピーカに囲まれた範囲における相対的位置を特定することが可能となる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.本発明の基本概念)
(1.1.一次元の位置検出)
本発明の基本概念の説明に際し、本発明の基礎となる一次元の位置検出について説明する。図1(a)は、従来(特許文献1、2等に示された技術)の、音響信号を利用した識別情報の抽出を示す図である。図1(a)の例では、Lチャンネル音響信号に識別情報としてID1を埋め込み、Rチャンネル音響信号に識別情報としてID2を埋め込んでいる。このような音響信号を再生すると、Lスピーカ付近のマイクロフォンから取り込んだ音、Rスピーカ付近のマイクロフォンから取り込んだ音から抽出装置はそれぞれID1、ID2を抽出する。しかし、LスピーカとRスピーカからほぼ等距離のマイクロフォンから取り込んだ音からは、抽出装置はIDを正しく抽出することができない。これは、LスピーカとRスピーカからほぼ等距離のマイクロフォンでは、Lスピーカからの音とRスピーカからの音が混在するためである。特許文献2に示された技術では、中央付近でID1、ID2のいずれかを抽出することは可能であるが、ID1、ID2とは別個のIDを抽出することはできない。
【0011】
出願人は、左右スピーカの中央付近で左右それぞれのスピーカ付近とは異なるIDを抽出する技術を、特願2008−245020において提案した。特願2008−245020の発明では、Lスピーカ付近のマイクロフォンから取り込んだ音、Rスピーカ付近のマイクロフォンから取り込んだ音からは、従来と同様、抽出装置はそれぞれID1、ID2を抽出するが、さらに、LスピーカとRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID3を抽出する。すなわち、ID1が埋め込まれたLスピーカからの音、ID2が埋め込まれたRスピーカからの音を同時に取り込んで、ID3を抽出する。
【0012】
さらに、特願2008−312741では、図1(b)に示すように、Lスピーカ付近のマイクロフォンから取り込んだ音、Rスピーカ付近のマイクロフォンから取り込んだ音からは、従来と同様、抽出装置はそれぞれID1、ID5を抽出するとともに、LスピーカとRスピーカからほぼ等距離(中央)のマイクロフォンにより取り込んだ音から別個のID3を抽出し、さらに、Lスピーカ付近のマイクロフォンと中央のマイクロフォンからほぼ等距離のマイクロフォンにより取り込んだ音から別個のID2を抽出し、Rスピーカ付近のマイクロフォンと中央のマイクロフォンからほぼ等距離のマイクロフォンにより取り込んだ音から別個のID4を抽出する。すなわち、ID1が埋め込まれたLスピーカからの音、ID5が埋め込まれたRスピーカからの音を同時に取り込んで、ID2、ID3、ID4を抽出する。
【0013】
図2を用いて特願2008−245020、特願2008−312741の概念をより詳細に説明する。図2において、“0”“1”は、埋め込まれるビット値を示し、“0”“1”を含む矩形は、ビット値が埋め込まれる音響フレームを示している。音響フレームについては、詳細は後述するが、所定の長さのデジタル音響信号の1区間を示すものである。また、実際には、後述するように、1音響フレームに1ビットが埋め込まれるという単純なものではないが、図1では、説明の便宜上簡略化している。図2において、図面左右方向は時間的長さ、図面上下方向は、所定周波数範囲の周波数成分の強度を示している。図2(a)は、特願2008−245020に記載された発明を示すものである。特願2008−245020では、中央で1種の識別情報を抽出し、全体で計3種の識別情報を抽出する。図2(a)の例では、Lスピーカ用、Rスピーカ用にそれぞれ識別情報として符号“01(16進表記)”、“EF(16進表記)”を埋め込むが、この際、中央で抽出させるべき識別情報である符号“4B(16進表記)”を構成するビット列“01001011”に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。これにより、中央のマイクロフォンで取得した音を解析した場合に、符号“4B”が識別情報として抽出されることになる。
【0014】
特願2008−312741では、特願2008−245020からさらに進み、中央で1種の識別情報、Lスピーカと中央との中間、Rスピーカと中央との中間でそれぞれ1以上の識別情報を抽出し、全体で計n種の識別情報を抽出する。図2(b)の例では、Lスピーカと中央との中間、Rスピーカと中央との中間でそれぞれ1個の識別情報を抽出し、全体で計5種の識別情報を抽出している。
【0015】
図2(b)の例では、Lスピーカ用、Rスピーカ用にそれぞれ識別情報として符号“04(16進表記)”、“DF(16進表記)”を埋め込む。この際、中間の3箇所で抽出させるべき識別情報である符号“05(16進表記)”“17(16進表記)”“5F(16進表記)”を構成する各ビット列“00000101” “00010111” “01011111”に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。図2(b)における第1段目の符号“04”に対応したビット列の矩形と、第5段目の符号“DF”に対応したビット列の矩形を見ればわかるように、本発明では、Lスピーカ用、Rスピーカ用の所定周波数範囲の周波数成分の強度を大・中・小の3段階に変化させている。これにより、中間の3箇所の各マイクロフォンで取得される音の所定周波数成分が影響され、取得した音の所定周波数成分を解析した場合に、それぞれ符号“05”“17”“5F”が識別情報として抽出されることになる。
【0016】
図2(b)において第1段目のビット列、第5段目のビット列の各ビットから図面上下方向に伸びる矢印は、そのビットが影響を与える範囲を示している。例えば、第1段目のビット列の左端ビット“0”は強度“大”であるため、比較的遠い位置のマイクロフォンまで影響することになり、第2から第4段目のビット列の左端ビットのビット値は“0”となる。逆に第5段目のビット列の左端ビット“1”は強度“小”であるため、比較的近い位置のマイクロフォンにも影響しない。
【0017】
左端から2番目のビットについては、第1段目のビット列ではビット値“0”強度“大”であり、左端ビットの場合と同じであるが、第5段目のビット列でビット値“1” 強度“中”である。このため、第4段目においては、第5段目からの影響が第1段目からの影響に勝り、左から2番目のビット値は“1”となる。左端から3番目のビットについては、第1段目、第5段目のビット列共にビット値“0”強度“大”であるため、第3段目においては、両方の影響を受けて“0”となる。
【0018】
特願2008−312741では、第1段目と第5段目における所定周波数範囲の強度により中間のマイクロフォンで取得される周波数成分の強度を変化させるようにするため、途中のマイクロフォンにおいて異なるビット値が検出されることはない。例えば左端ビットの場合、第1段目のビット値“0”が、第4段目まで影響するため、途中の第2段目や第3段目のビット値が“1”になるようなことはなく、第1段目から第4段目までは全て同一のビット値“0”となる。左から2番目〜8番目までのビット値を縦方向(図面上下方向)に見ると、隣接する段の間でビット値に相違が生じるのは1箇所だけであり、2箇所で相違することはない。
【0019】
(1.2.二次元の位置検出)
次に、本発明の特徴である二次元の位置検出について説明する。図21(a)は、二次元方向に配置したマイクロフォンにおいて、互いに異なる識別情報を抽出する状態を示す図である。図21(a)の例では、FLチャンネル音響信号に識別情報としてID11を埋め込み、FRチャンネル音響信号に識別情報としてID12を埋め込み、BLチャンネル音響信号に識別情報としてID21を埋め込み、BRチャンネル音響信号に識別情報としてID22を埋め込んでいる。このような音響信号を再生すると、FLスピーカ付近のマイクロフォンから取り込んだ音、FRスピーカ付近のマイクロフォンから取り込んだ音、BLスピーカ付近のマイクロフォンから取り込んだ音、BRスピーカ付近のマイクロフォンから取り込んだ音から抽出装置はそれぞれID11、ID12、ID21、ID22を抽出する。さらに、FLスピーカとFRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID13を抽出し、FLスピーカとBLスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID31を抽出し、FRスピーカとBRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID32を抽出し、BLスピーカとBRスピーカからほぼ等距離のマイクロフォンから取り込んだ音から別個のID23を抽出する。そして、中央のマイクロフォン(4つのスピーカからほぼ等距離)から取り込んだ音から別個のID33を抽出する。すなわち、ID13、ID31、ID32、ID23、ID33は、複数のスピーカからの音を同時に取り込むことにより抽出される。
【0020】
また、本発明では、マイクロフォンの数を増やし、より多くの識別情報を抽出することも行う。図21(b)の例では、マイクロフォンの数を25個に増やして、25種の識別情報を抽出している。
【0021】
図22を用いて本発明の概念をより詳細に説明する。図22において、“0”“1”は、埋め込まれるビット値を示し、“0”“1”を含む矩形は、ビット値が埋め込まれる音響フレームを示している。音響フレームについては、詳細は後述するが、所定の長さのデジタル音響信号の1区間を示すものである。また、実際には、後述するように、1音響フレームに1ビットが埋め込まれるという単純なものではないが、図1では、説明の便宜上簡略化している。図22に示した“0”“1”を含む矩形の図面左右方向の長さは時間的長さを示している。“0”“1”を含む矩形のうち、スピーカに近い4つの集合においては、図面上下方向の長さにより所定周波数範囲の周波数成分の強度を表現している。
【0022】
図22は、9箇所の位置を検出する場合を示すものである。この場合、中央で1種の識別情報を抽出し、全体で計9種の識別情報を抽出する。図22に示した識別情報は、1ワード4ビットの2ワード構成となっており、前半の1ワードが前後方向、後半の1ワードが左右方向を特定している。図22の例では、FLスピーカ用、FRスピーカ用、BLスピーカ用、BRスピーカ用にそれぞれ識別情報として符号“01(16進表記)”、“0F(16進表記)”、“E1(16進表記)”、“EF(16進表記)”を埋め込む。この際、中間で抽出させるべき識別情報である符号“41(16進表記)” 、“0B(16進表記)”、“EB(16進表記)”、“4F(16進表記)”を構成するビット列に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。
【0023】
図23は、25箇所の位置を検出する場合を示すものである。この場合、中央で1種の識別情報を抽出し、全体で計25種の識別情報を抽出する。図23の例では、FLスピーカ用、FRスピーカ用、BLスピーカ用、BRスピーカ用にそれぞれ識別情報として符号“0A(16進表記)”、“05(16進表記)” 、“FA(16進表記)”、“F5(16進表記)”を埋め込む。この際、中間の3箇所で抽出させるべき識別情報である符号“1A(16進表記)”“3A(16進表記)”“7A(16進表記)”“0B(16進表記)”“09(16進表記)”“0D(16進表記)”“FB(16進表記)”“F9(16進表記)”“FD(16進表記)”“15(16進表記)”“35(16進表記)”“75(16進表記)”を構成する各ビット列に応じて、所定周波数範囲の周波数成分の強度を変化させて記録しておく。図23における4つのスピーカ付近の符号“0A(16進表記)”、“05(16進表記)” 、“FA(16進表記)”、“F5(16進表記)”に対応したビット列の矩形を見ればわかるように、本発明では、FLスピーカ用、FRスピーカ用、BLスピーカ用、BRスピーカ用の所定周波数範囲の周波数成分の強度を大・中・小の3段階に変化させている。これにより、中間の各マイクロフォンで取得される音の所定周波数成分が影響され、取得した音の所定周波数成分を解析した場合に、それぞれ異なる識別情報が抽出されることになる。
【0024】
図23において、各ビットを埋め込む際の強度が検出位置に与える影響は、図2(b)を用いて説明した場合と同様となる。例えば、FLスピーカ付近(第1段目)のビット列の左端ビット“0”は強度“大”であるため、比較的遠い位置のマイクロフォンまで影響することになり、第2から第4段目のビット列の左端ビットのビット値は“0”となる。逆にBLスピーカ付近(第5段目)のビット列の左端ビット“1”は強度“小”であるため、比較的近い位置のマイクロフォンにも影響しない。
【0025】
左端から2番目のビットについては、FLスピーカ付近(第1段目)のビット列ではビット値“0”が強度“大”であり、左端ビットの場合と同じであるが、BLスピーカ付近(第5段目)のビット列でビット値“1”が強度“中”である。このため、第4段目においては、第5段目からの影響が第1段目からの影響に勝り、左から2番目のビット値は“1”となる。
【0026】
図2(b)を用いて説明した場合と同様、図23の例では、第1段目と第5段目における所定周波数範囲の強度により中間のマイクロフォンで取得される周波数成分の強度を変化させるようにするため、途中のマイクロフォンにおいて異なるビット値が検出されることはない。例えば左端ビットの場合、第1段目のビット値“0”が、第4段目まで影響するため、途中の第2段目や第3段目のビット値が“1”になるようなことはなく、第1段目から第4段目までは全て同一のビット値“0”となる。左から2番目〜4番目までのビット値を縦方向(図面上下方向)に見ると、隣接する段の間でビット値に相違が生じるのは1箇所だけであり、2箇所で相違することはない。
【0027】
図23の例においては、1ワード目の前半4ビットは左右方向において同一であり、2ワード目の後半4ビットは前後方向において同一である。左右の中間に配置されたマイクロフォンで抽出される識別情報の2ワード目は、左右のスピーカ付近の識別情報の2ワード目の各ビットを埋め込む際の強度値に影響される。この影響の様子は、前後の場合および図2(b)の例の場合と同様となる。
【0028】
次に、4チャンネルの符号を埋め込む際に、強度をどのように変化させるかについて説明する。図21(a)、図22に示したように9種の識別情報を抽出させる場合は、強度を2段階に変化させる必要があり、図21(b)、図23に示したように25種の識別情報を抽出させる場合は、強度を“大” “中” “小”の3段階に変化させる必要がある。ここでは、強度を“大” “中” “小”とする場合について説明する。図20は、1組のAタイプ音響フレーム、Bタイプ音響フレーム(奇数番目か偶数番目かにより区別)における所定周波数成分の様子を示す図である。本発明では、後述するように、音響信号をサンプリングすることにより得られた所定数のサンプルを1音響フレームとして処理を行う。4チャンネルの音響信号の場合は、FL-ch(前左チャンネル)、FR-ch(前右チャンネル)、BL-ch(後左チャンネル)、BR-ch(後右チャンネル)とも同様に処理が行われるが、図20においては、代表してFL-ch(前左チャンネル)のみを示している。また、左端の1、2は音響フレームのAタイプ、Bタイプの別を示し、U、Dはそれぞれ変更対象周波数帯全体内の相対的な高周波、低周波成分を示し、右端の1、2は高周波、低周波に分けたそれぞれにおけるさらに低周波側、高周波側の別を示している。したがって、図20の例では、2個の音響フレームを示しており、例えば、“1U2”は、Aタイプの音響フレームの高周波側のさらに高周波側を示していることになる。また、Aタイプ、Bタイプの音響フレームは、実際に半分のサンプルが重複して設定されるが、図20では、説明の便宜上独立した形態で示している。また、図20において、“1U2”等の各周波数成分の文字の大きさは、相対的な強度の大小を示している。
【0029】
本発明では、奇数番目の音響フレームの高周波側と低周波側の成分強度の大小関係と、偶数番目の音響フレームの高周波側と低周波側の成分強度の大小関係が逆転するように処理を行う。奇数番目と偶数番目のどちらの音響フレームの高周波側を大きくするかによって、埋め込むビット値を変化させることができる。例えば、図20(a)が、ビット値“0”が埋め込まれた状態であるとすると、逆に1U2と2U1を大きくし、1U1と2U2を小さくした状態がビット値“1”が埋め込まれた状態となる。上記図2を用いて説明した強度“大” “中” “小”はそれぞれ図20(a)(b)(c)に対応している。すなわち、強度“大”であるほど、強度が大きい側(図20の例では1U1や2U2)と強度が小さい側(図20の例では1U2と2U1)の差が大きく、強度“小”であるほど、強度が大きい側と強度が小さい側の差が小さくなる。なお、9種の識別情報を抽出させる場合は、強度“大” “小”を用いれば良いだけである。
【0030】
(2.1.埋め込み装置の構成)
次に、本発明に係る音響信号に対する情報の埋め込み装置について説明する。図3は、本発明に係る音響信号に対する情報の埋め込み装置の構成を示す機能ブロック図である。図3において、10は音響フレーム読込手段、20は周波数変換手段、30は周波数成分変更手段、40は周波数逆変換手段、50は改変音響フレーム出力手段、60は記憶手段、61は音響信号記憶部、62は識別情報記憶部、63は改変音響信号記憶部、70はビット配列作成手段である。なお、図3に示す装置は、ステレオ音響信号に対応している。
【0031】
音響フレーム読込手段10は、識別情報の埋め込み対象とする元のステレオ音響信号の各チャンネルから所定数のサンプルを1フレームとして読み込む機能を有している。周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響信号のフレームをフーリエ変換等により周波数変換してスペクトルを生成する機能を有している。周波数成分変更手段30は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を複数抽出し、識別情報記憶部62から抽出した識別情報よりビット配列作成手段70が作成したビット配列に基づいて、スペクトル集合の状態を変更する機能を有している。周波数逆変換手段40は、変更されたスペクトル集合を含む複数のスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。改変音響フレーム出力手段50は、生成された改変音響フレームを順次出力する機能を有している。
【0032】
記憶手段60は、識別情報を埋め込む対象とするステレオ音響信号を記憶した音響信号記憶部61と、ビット列として構成され、ステレオ音響信号に埋め込まれる識別情報を記憶した識別情報記憶部62と、識別情報埋め込み後の改変音響信号を記憶する改変音響信号記憶部63を有しており、その他処理に必要な各種情報を記憶するものである。ビット配列作成手段70は、識別情報記憶部62から識別情報を抽出し、識別情報の各ワードについて、符号変換テーブルを参照し、対応するビット配列を作成する機能を有している。
【0033】
なお、音響情報に埋め込む識別情報は、位置を特定するために、各位置を他の位置と区別して、一意に識別することが可能な情報である。なお、本実施形態では、検出側における識別情報の抽出精度を高めるため、Nwビットの識別情報をNhビットに変換した後、このNhビットの各ビットを埋め込む処理を行っている。Nw、Nhの具体的な数値は適宜設定可能であるが、本実施形態ではNw、NhをそれぞれNw=8、Nh=16としている。本実施形態では、ビット配列作成手段70が作成するビット配列は、16ビットとなり、ビット配列作成後は、この16ビットを1ワードとして処理している。図3に示した各構成手段は、現実にはコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
【0034】
(2.2.埋め込み装置の処理動作)
次に、図3に示した音響信号に対する情報の埋め込み装置の処理動作について説明する。音響フレーム読込手段10は、音響信号記憶部61に記憶されたステレオ音響信号の前左、前右、後左、後右の各チャンネルから、それぞれ所定数Nのサンプルを1音響フレームとして読み込む。音響フレーム読込手段10が読み込む1音響フレームのサンプル数Nは、適宜設定することができるが、サンプリング周波数が44.1kHzの場合、4096サンプル程度とすることが望ましい。したがって、音響フレーム読込手段10は、前左、前右、後左、後右の各チャンネルについてそれぞれ4096サンプルずつ、順次音響フレームとして読み込んでいくことになる。
【0035】
音響フレームとしては、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であっても良い。
【0036】
周波数変換手段20は、振幅変換後の音響フレームに対して周波数変換を行って、その音響フレームのスペクトルを得る。具体的には、窓関数を利用して周波数変換を行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
【0037】
一般に、所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、擬似高調波成分が発生する。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて、信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
【0038】
本実施形態においても、窓関数を利用しているが、Aタイプの音響フレーム、Bタイプの音響フレームで、使用する窓関数を分けている。本実施形態では、図4(a)(b)に示したような第1窓関数W(1,i)、第2窓関数W(2,i)を用意し、抽出側で認識し易いようにした。第1窓関数W(1,i)は、Aタイプの音響フレームに対して用いるためのものであり、図4(a)に示すように所定のサンプル番号iの位置において、最大値1をとり、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(1,i)の設計によって異なってくるが、本実施形態では、後述する〔数式1〕で定義される。Aタイプの音響フレームについてのフーリエ変換は、この窓関数W(1,i)を乗じたものに対して行われることになる。
【0039】
また、第2窓関数W(2,i)は、Bタイプの音響フレームに対して用いるためのものであり、図4(b)に示すように、所定のサンプル番号iの位置において、最大値1をとり、前部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(2,i)の設計によって異なってくるが、本実施形態では、後述する〔数式2〕で定義される。Bタイプの音響フレームについてのフーリエ変換は、この窓関数W(2,i)を乗じたものに対して行われることになる。
【0040】
なお、上述のように、本実施形態においては、音響フレームは重複して読み込まれる。すなわち、奇数番目の音響フレームと偶数番目の音響フレームは、所定数のサンプルを重複して読み込む。上記のように、奇数フレームと偶数フレームでは、用いられる窓関数が異なるが、奇数フレームと偶数フレームは単に奇数か偶数かの違いだけであるため、どちらに対してどちらの処理を行っても良い。したがって、本明細書では、奇数フレーム、偶数フレームの一方をAタイプフレーム、他方をBタイプフレームと呼ぶことにする。本実施形態では、奇数フレームをAタイプフレーム、偶数フレームをBタイプフレームとして説明するが、逆に偶数フレームをAタイプフレーム、奇数フレームをBタイプフレームとしても良い。
【0041】
本実施形態では、窓関数W(1,i)、W(2,i)は、以下の〔数式1〕〔数式2〕で定義される。なお、図4において、横軸は時間軸(i)である。iは、後述するように、各音響フレーム内のN個のサンプルに付した通し番号であるため時刻tに比例している。また、図4(a)(b)において縦軸は信号の振幅値(レベル)を示す。図4(a)(b)において縦軸は窓関数W(1,i)、W(2,i)の値を示しており、W(1,i)、W(2,i)の最大値はいずれも1である。
【0042】
〔数式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
【0043】
〔数式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
【0044】
なお、図4および上記〔数式1〕〔数式2〕から明らかなように、窓関数W(1,i)とW(2,i)は、互いに非対称な形状である。これは、後述する抽出側において、両者の識別を容易にするためである。
【0045】
本発明においては、奇数フレームと偶数フレームを、所定サンプルずつ重複して読み込むため、情報の埋め込みを行った後、音響信号に復元する際に、窓関数を乗じた奇数フレームと、窓関数を乗じた偶数フレームの重複サンプルを加算した場合に、ほぼ元の値に戻るようにしなければならない。このため、奇数フレームと偶数フレームの重複部分において、窓関数W(1,i)、W(2,i)を加算すると、全区間固定値1になるように定義されている。
【0046】
周波数変換手段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)を得る。なお、以下の説明において、左チャンネル信号Xl(i)を用いた説明は、前左チャンネル信号、後左チャンネル信号に共通するものであり、右チャンネル信号Xr(i)を用いた説明は、前右チャンネル信号、後右チャンネル信号に共通するものである。
【0047】
〔数式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)
【0048】
周波数変換手段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)を得る。
【0049】
〔数式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)
【0050】
上記〔数式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異なることになる。
【0051】
上記〔数式3〕〔数式4〕に従った処理を実行することにより、各音響フレームの各窓関数に対応するスペクトルが得られる。続いて、周波数成分変更手段30が、生成されたスペクトルから所定周波数範囲のスペクトル集合を抽出する。本実施形態では、F1以上F2以下の範囲のものを抽出する。
【0052】
周波数変換手段20は、周波数変換を実行した後に、各スペクトル集合の平均値が設定値になるように変換する。いわゆる振幅を変換する処理を行う。この振幅変換は、各フレームごとのレベル差を軽減し、適切な情報の埋め込みが可能になるようにすることを目的としているため、設定値Zoとしては適宜設定することができる。
【0053】
周波数変換手段20は、得られたスペクトル集合に対して、振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で上記設定値を除算することにより行う。具体的には、LチャンネルのAタイプの音響フレーム、Bタイプの音響フレーム、RチャンネルのAタイプの音響フレーム、Bタイプの音響フレームのスペクトル集合についての変換倍率Zl(1)、Zl(2)、Zr(1)、Zr(2)は、以下の〔数式5〕に従った処理により算出される。対象音響フレームが無音に近く、分母の二乗総和値が所定の値に満たない場合は、変換倍率を1.0に設定し、振幅変換は行わないようにする。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームのスペクトル集合の平均実効値が設定値となるように振幅変換された状態で、情報の埋め込みが行われることになる。
【0054】
〔数式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
【0055】
上記〔数式5〕において、mおよびMは変更対象周波数帯の下限および上限で、Zo=M−mであり、本実施形態では、Zo=288である。
【0056】
さらに、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)はこれらの振幅変換を行った値とする。
【0057】
周波数成分変更手段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ビットが特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
【0058】
周波数成分の変更の手法としては、様々なものが考えられるが、本実施形態では、人間の聴覚心理特性である音脈分凝の原理を利用する。音脈分凝とは、時系列に高い音と低い音が交互に進行するパターンに対して、人間が、あたかも高低2つのトラックが連続して流れるように音を補間して聞いてしまう錯覚現象である。
【0059】
具体的には、埋め込み装置で、音響信号から抽出した所定数のサンプルで構成される音響フレーム内の所定周波数範囲の周波数成分を変更するに際し、その強弱が音脈分凝を発生させるような状態に変更する。これにより、人間には、音が途切れたようには聞こえないが、抽出装置では、その明確な変化を認識することができる。
【0060】
本実施形態では、音脈分凝の原理を利用して、音響フレームの変更対象周波数帯の成分を2つの状態に変更し、1ビットの情報を埋め込むようにしている。音脈分凝の原理を利用した情報の埋め込み手法としては、上記特許文献2に示したような手法を採用することもできるが、本実施形態では、抽出感度および精度を向上させることを目的として識別情報を埋め込むための周波数領域を大きく確保できるように、識別情報を埋め込むための周波数領域において、高低2つの帯域で二重に音脈分凝の原理が機能するようにした。なお、高低2つの帯域は独立して音脈分凝を機能させるため、双方の周波数幅は必ずしも同一である必要はなく(ただし、各々の帯域は周波数方向に更に2分割されるが、2分割領域の幅は同一にする)。ここで、埋め込み処理の前後における音響フレームの所定周波数成分の変化の状態について説明する。図5に、本実施形態によるAタイプ、BタイプのLチャンネル1音響フレームの所定周波数成分の状態を示す。Rチャンネルについては、Lチャンネルと同様であるので省略してある。図5に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。
【0061】
図5においては、縦軸の周波数方向において、周波数領域が6つに区分されているが、上から2番目〜5番目の領域、すなわち、周波数F1以上F2以下の間が変更対象周波数帯であり、最上部すなわち周波数F2超、最下部すなわちF1未満は、変更対象でない周波数帯である。すなわち、本実施形態では、周波数F1以上F2以下を所定周波数範囲として、スペクトル集合の強度を変更することになる。図5(a)に示すように、Aタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を1D1、1D2、1U1、1U2で表現することとする。また、図5(b)に示すように、Bタイプ音響フレームの変更対象周波数帯については、周波数が低い順に、そのスペクトル集合を2D1、2D2、2U1、2U2で表現することとする。
【0062】
1ビット埋め込み方式で、符号1を埋め込む場合、図5(c)(e)に示すように、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に強い状態に変更し、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に弱い状態に変更する。この状態を“状態1”と呼ぶことにする。符号2を埋め込む場合は、図5(d)(f)に示すように、1D2と2D1の強度の積、1U2と2U1の強度の積を相対的に強い状態に変更し、1D1と2D2の強度の積、1U1と2U2の強度の積を相対的に弱い状態に変更する。この状態を“状態2”と呼ぶことにする。網掛けされた部分の濃さは、同濃度のものは、積を求めるための組となるスペクトル集合であることを示している。網掛けの色が濃い方が相対的に強度が強い状態に変更される組を示している。
【0063】
1ビット埋め込み方式では、図5(c)(e)または(d)(f)に示すような2つの状態にAタイプ、Bタイプの音響フレームの周波数成分を変更することにより、情報の埋め込みを行っている。2つの状態であるので1ビット分の情報量に相当する。図5(c)〜(f)に示したように、1ビット埋め込み方式の場合、変更対象周波数帯の上位周波数帯と下位周波数帯が全く同一のパターンとなっている。2ビット埋め込み方式の場合は、上位周波数帯と下位周波数帯を独立に変更することにより、上位周波数帯で1ビット、下位周波数帯で1ビットの表現が可能となる。
【0064】
本実施形態では、上記変更対象周波数帯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”という値は、代表的な値であり、必ずしも正確な値である必要はなく、そこから若干ずれた値であっても良い。
【0065】
図5に示した例では、相対的に強い状態と弱い状態に変更することについて説明したが、この強弱の程度については、状況に応じて設定することが可能である。両者の割合は、以下に述べるように、その差が大きいほど抽出時の精度が高くなるが、補間される割合は不完全になり、再生時に不連続成分によるノイズが聞こえる。一方、両者の割合が均等であるほど再生品質は原音に近付くが、埋め込んだビットの抽出ができなくなり、再生品質と抽出精度はトレードオフの関係になる。例えば、強い方を100%、弱い方を0%とした場合、音脈分凝により、補間される部分の音は図5のような変更を行なう前に原音響信号で鳴っていた音の50%程度となることが確認されている。そこで、強い方を70%、弱い方を30%とした場合、音脈分凝により、補間される部分の音は図5のような変更を行なう前に原音響信号で鳴っていた音とほぼ同程度となり、この割合が抽出精度を維持できる限界であることが確認されている。このため、相対的に強いスペクトル集合と、相対的に弱いスペクトル集合の強度の割合を70%と30%程度とすることを目標に設定することが好ましい。ただし、本発明では、中間で検出されるビットをいずれのスピーカから発せられたものとするかにより、強弱を変更させる必要も生じる。そこで、本実施形態では、後述する具体的な処理において、強い状態を設定するための係数α1=0.66、α2=0.72、α3=0.78、弱い状態を設定するための係数β1=0.34、β2=0.28、β3=0.22とする。なお、α3、β3については、25種の識別情報を抽出させるために、強度を3段階に設定する場合に必要なものであり、9種の識別情報を抽出させるために、強度を2段階に設定する場合には不要である。逆に、より多くの識別情報を抽出させるために、強度をより多くの段階に設定する場合には、より多くのαk(k=1,2,・・・,(n+1)/2)の設定が必要となる。また、強い状態に変更すべきスペクトル集合の強度が元々小さい場合には、係数α、βを補正する必要が生じる。このため、周波数成分変更手段30は、まず、以下の〔数式6〕に従った処理を実行することにより、各スペクトル集合の強度E1D1、E2D1、E1D2、E2D2、E1U1、E2U1、E1U2、E2U2を算出する。
【0066】
〔数式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}
【0067】
上記〔数式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である。
【0068】
さらに、周波数成分変更手段30は、算出された各スペクトル集合の強度を利用して、弱い状態に変更すべきスペクトル集合に対する強い状態に変更すべきスペクトル集合の強度割合γを算出する。具体的には、以下の〔数式7〕に従って強度割合γを算出する。
【0069】
〔数式7〕
埋め込みデータが値1の場合、γ=(E1D1・E1U1・E2D2・E2U2)/(E1D2・E1U2・E2D1・E2U1)
埋め込みデータが値2の場合、γ=(E1D2・E1U2・E2D1・E2U1)/(E1D1・E1U1・E2D2・E2U2)
【0070】
さらに強度割合γの値に応じて、周波数成分変更手段30は、以下の〔数式8〕に従った処理を実行することにより、係数α1、α2、α3、β1、β2、β3を補正して係数α、βを得る。なお、以下の〔数式8〕において、αkは、α1、α2、α3のいずれかを意味する。
【0071】
〔数式8〕
0.01<γ<1.0の場合、α=αk・γ-1/4、β=βk・γ1/4
γ≦0.01の場合、α=10.0・αk、β=0.1・βk
γ≧1.0の場合、補正を行わない(α=αk、β=βk)
【0072】
さらに、周波数成分変更手段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”である場合、以下の〔数式9〕に従った処理を実行することにより、周波数成分の状態を“状態1”、すなわち、図5(c)(e)に示したような状態に変更する。
【0073】
〔数式9〕
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)・α/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α/{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)・β/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β/{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)・β/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β/{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)・α/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α/{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)・α/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・α/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・α/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・α/{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)・β/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・β/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・β/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・β/{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)・β/{Al(1,j)2+Bl(1,j)2}1/2
Bl´(1,j)=Bl(1,j)・E(1,j)・β/{Al(1,j)2+Bl(1,j)2}1/2
Ar´(1,j)=Ar(1,j)・E(1,j)・β/{Ar(1,j)2+Br(1,j)2}1/2
Br´(1,j)=Br(1,j)・E(1,j)・β/{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)・α/{Al(2,j)2+Bl(2,j)2}1/2
Bl´(2,j)=Bl(2,j)・E(2,j)・α/{Al(2,j)2+Bl(2,j)2}1/2
Ar´(2,j)=Ar(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)2}1/2
Br´(2,j)=Br(2,j)・E(2,j)・α/{Ar(2,j)2+Br(2,j)2}1/2
【0074】
この場合は、スペクトル集合単位の強弱パターンは、高周波側と低周波側で同一となる。周波数逆変換手段40は、上記のようにして、周波数成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段20が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。
【0075】
具体的には、Aタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、以下の〔数式10〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式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)を除することにより、同時に振幅逆変換を施す必要がある。
【0076】
〔数式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)
【0077】
上記〔数式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)、が得られることになる。
【0078】
Bタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(2,j)、虚部Bl´(2,j)、右チャンネルの実部Ar´(2,j)、虚部Br´(2,j)を用いて、以下の〔数式11〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式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)を除することにより、同時に振幅逆変換を施す必要がある。
【0079】
〔数式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)
【0080】
上記〔数式11〕によりBタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
【0081】
改変音響フレーム出力手段50は、周波数逆変換手段40の処理により得られたAタイプの改変音響フレーム、Bタイプの改変音響フレームを順次出力ファイルに出力する。
【0082】
次に、図3に示した音響信号に対する情報の埋め込み装置の処理の全体的な流れについて説明する。まず、事前に図6に示すようなNwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルを用意する。この符号変換テーブルは、各ハミング符号間のハミング距離が互いに3以上となるものであれば、どのように作成しても良い。本実施形態では、コンピュータに専用のプログラムを実行させることにより、コンピュータを変換テーブル作成装置として機能させることにより作成する。変換テーブル作成装置による符号変換テーブル作成のフローチャートを図7に示す。
【0083】
変換テーブル作成装置は、最初に初期化処理を行う(S611)。具体的には、8ビット基準符号“0”に16ビット符号“1”を対応付けて符号変換テーブルのi(=0)番目に登録するとともに、8ビット基準符号KFの初期値を1、16ビット符号HFの初期値を2とする。続いて、i=0に初期設定する(S612)。次に、16ビット符号HF及びそれの15通りの巡回符号と、符号変換テーブルのi番目に既に登録されている他の16ビット符号及びそれの15通り巡回符号とのハミング距離を算出する(S613)。この段階で16通り×16通りで256通りのハミング距離が算出される。
【0084】
算出したハミング距離の少なくとも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を符号変換テーブルの8ビット符号KFの位置に登録するとともに、KF、HFの値をそれぞれ1ずつ増加して更新する(S616)。そして、HFが65536未満である場合は、S612に戻って、次の8ビット符号KFについての処理を行う。HFが65536以上である場合は、16ビットの範囲で表現可能な全ての16ビット符号HFが登録されたことになるので、符号変換テーブル作成処理を終了する。
【0085】
このようにして図6に示した符号変換テーブルが作成される。図6の符号変換テーブルは、巡回符号を考慮しないハミング符号との対応部分だけを抜き出したものである。この符号変換テーブルには、16ビットのハミング符号が定義可能な0〜65535の範囲内で、各々16通りの巡回符号が互いにハミング距離3以上になるように、8ビットの基準符号を定義したもので、基準符号としては7ビットより若干多い0〜131の値が表現可能となっている。
【0086】
図6に示したような符号変換テーブルが用意できたら、次に25種の識別情報を決定する。本実施形態では、識別情報を2ワード構成としており、前半の1ワードが5種、後半の1ワードが5種となるように決定することにより、25種の識別情報を決定する。前半、後半それぞれの5種のワードは、符号変換テーブルに示した0〜131の基準符号のいずれかを選択することにより行う。図2(b)を用いて説明したように、本発明の性質上、第2、第3、第4の符号の各ビットは、第1、第5の符号の少なくともいずれか一方のビットと同一でなければならないため、作成には工夫を要する。このような組み合わせとしては、例として図8に示すような2つがある。
【0087】
第1符号〜第5符号は、隣接する符号間において、同一ビット値が連続しているか、全てが同一ビット値でなければならない。これを満足する16ビットのビット列は、ASCII英数字(全62文字)に限定すると、図8に示した2例の組み合わせのみとなる。したがって、作成者は、図8に示したどちらかの組み合わせを選択し、第1符号〜第5符号を作成する。なお、図8の例では、基準符号をASCII英数字に変換した英文字を添えて示してある。図8に示した組み合わせのうちのいずれかを第1符号〜第5符号として1ワードを形成し、第2ワード目は、第1ワード目と全く異なる符号を選択し、例えば第1ワード目の第1符号〜第5符号のビット反転符号でもう1ワードを形成し、2ワード構成の25種の識別情報が識別情報記憶部62に記憶されることになる。図8の2種の符号セットは一部が同一であるため、これらを第1ワードと第2ワードに使用することはできない。
【0088】
識別情報の準備が完了したら、図3に示した埋め込み装置による処理が可能となる。続いて、図3に示した埋め込み装置の処理を、図9のフローチャートに従って説明する。図3に示した装置を構成する各構成要素は、連携して図9に従った処理を実行する。図9は、1つのチャンネルの識別情報1ワード分の処理に対応したものとなっている。したがって、4チャンネルの場合、各チャンネルにおいてほぼ同じ処理が並行して実行される。また、本発明では、1ワード分を設定された所定回数Naだけ繰り返して実行した後、次の1ワードを読み込む処理を実行する。例えば、Na=3と設定されている場合、3ワード分同じビット列が繰り返し埋め込まれる。
【0089】
図9においては、まず、ビット配列作成手段70は、識別情報記憶部62から抽出した識別情報の各ワードについて、符号変換テーブルを参照し、対応するビット配列を作成する(S101)。具体的には、まず、識別情報記憶部62から、前左(FL)チャンネル、前右(FR)チャンネル用の第1符号または後左(BL)チャンネル、後右(BR)チャンネル用の第5符号を1ワード(8ビット)、中間で読み出す中間用の第2〜第4符号を1ワード(8ビット)抽出し、図6に示した符号変換テーブルを参照し、対応するハミング符号で構成される16ビットのビット配列を作成する。このS101では、識別情報の1ワード目と2ワード目で異なる処理が行われる。1ワード目の場合は、上記の通りであるが、2ワード目の場合は、識別情報記憶部62から、前左(FL)チャンネル、後左(BL)チャンネル用の第1符号または前右(FR)チャンネル、後右(BR)チャンネル用の第5符号を1ワード(8ビット)、中間で読み出す中間用の第2〜第4符号を1ワード(8ビット)抽出し、図6に示した符号変換テーブルを参照し、対応するハミング符号で構成される16ビットのビット配列を反転して作成する。
【0090】
そして、この各16ビット(3つの符号についてそれぞれ1ワードのため、1チャンネルにつき48ビット)が、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに読み込まれることになる。このように、識別情報記憶部62においては、1ワードは8ビットであるが、埋め込み処理時は、この16ビットの配列で、識別情報内の1ワード分の処理を行う。
【0091】
次に、周波数成分変更手段30が、レジスタに保持された各識別情報のNh(=16)ビットから1ビットを読み込む処理を行う(S102)。このS102における処理も1ワード目と2ワード目で異なる。1ワード目については、FLチャンネル、FRチャンネルに対して処理する場合は、第1〜第3符号の各1ビットずつを読み込み、BLチャンネル、BRチャンネルに対して処理する場合は、第3〜第5符号の各1ビットずつを読み込むことになる。2ワード目については、FLチャンネル、BLチャンネルに対して処理する場合は、第1〜第3符号の各1ビットずつを読み込み、FRチャンネル、BRチャンネルに対して処理する場合は、第3〜第5符号の各1ビットずつを読み込むことになる。
【0092】
続いて、音響フレーム読込手段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)を算出し振幅変換を行う。
【0093】
続いて、周波数成分変更手段30が、読み込んだビット値に応じてAタイプ音響フレームおよびBタイプ音響フレームの周波数成分の状態を変更するにあたり、〔数式6〕〜〔数式8〕に従った処理を実行して変換割合α、βを決定する処理を行う(S105)。具体的には、読み込んだ本来のチャンネルの符号(1ワード目であれば、FLチャンネル、FRチャンネルの場合は第1の符号、BLチャンネル、BRチャンネルの場合は第5の符号、2ワード目であれば、FLチャンネル、BLチャンネルの場合は第1の符号、FRチャンネル、BRチャンネルの場合は第5の符号)のビット値と中間の符号(1ワード目であれば、FLチャンネル、FRチャンネルの場合は第2の符号、BLチャンネル、BRチャンネルの場合は第4の符号、2ワード目であれば、FLチャンネル、BLチャンネルの場合は第2の符号、FRチャンネル、BRチャンネルの場合は第4の符号)のビット値、中央の符号(第3の符号)のビット値が同一か否かを判断する。そして、本来のチャンネルの符号のビット値、中間の符号のビット値、中央の符号のビット値全てが同一の場合はαkとしてα3を用い、中間の符号のビット値と中央の符号のビット値が異なる場合はαkとしてα2を用い、本来のチャンネルの符号のビット値と中間の符号のビット値が異なる場合はαkとしてα1を用いて、上記〔数式8〕に従った処理を実行することにより、α、βを決定する。この決定された変換割合α、βを用いて、周波数成分変更手段30は、ビット配列作成手段70から受け取った値1、値2に応じて上記〔数式9〕に従った処理を実行し、変更対象周波数帯の成分の状態を“状態1”、“状態2”のいずれかに変更する(S106)。
【0094】
次に、周波数逆変換手段40が、上記S106の処理によりAタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S107)。この振幅逆変換は〔数式5〕で算出したZl(1)、Zr(1)の逆数をスペクトルに乗じることにより行ない、この周波数逆変換は、当然のことながら、周波数変換手段20がS103において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式10〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。
【0095】
同様に、周波数逆変換手段40が、上記S106の処理によりBタイプの音響フレームに対応する各スペクトル集合の強度が変更されたスペクトルを振幅逆変換、周波数逆変換して改変音響フレームを得る処理を行う(S108)。具体的には、振幅逆変換は〔数式5〕で算出したZl(2)、Zr(2)の逆数をスペクトルに乗じることにより行ない、上記〔数式9〕により得られたスペクトルの左チャンネルの実部Al´(2,j)等、虚部Bl´(2,j)等、右チャンネルの実部Ar´(2,j)等、虚部Br´(2,j)等を用いて、上記〔数式11〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
【0096】
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして各チャンネルについて、AタイプおよびBタイプの2つの音響フレームに対する処理を終えたら、周波数成分変更手段30がビット配列中の次の1ビットを読み込む(S102)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S103、S104)、処理を終了する。なお、S101において読み込んだ1ワード分のビット配列(Nh=16ビット)の各ビットに対応する処理を終えた場合、S102からS101に戻り、識別情報の次のワードを読み込む処理を行うことになる。識別情報の全ワードに対して処理が終了した場合は、識別情報の先頭ワードに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段60内の改変音響信号記憶部63に出力され、記憶される。
【0097】
なお、本実施形態では、元の識別情報である1ワード8ビットを変換して、16ビットのビット配列とし、識別情報1ワード分の処理をする場合について説明したが、本発明では、抽出側と取り決めがある限り、識別情報の1ワードを他のビット数単位で記録することが可能である。
【0098】
上記のようにして得られた改変音響信号のうち、識別情報が埋め込まれている部分については、変更対象周波数帯の成分は、状態1、状態2の2通りの分布しかないことになる。しかし、変更対象周波数帯の成分以外については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。
【0099】
以上、埋め込み装置について説明したが、ここで、本実施形態で行っている振幅変換を用いた埋め込みおよび抽出について、図10から図13を用いて説明する。図10および図11は、比較のために、振幅変換を用いない場合の埋め込み処理および抽出処理を示し、図12および図13は本実施形態における振幅変換を用いた埋め込み処理および抽出処理を示す。これらの説明図においては、音響フレーム奇数および偶数3対分について、3ビットの情報を埋め込むことを想定した音響信号の信号波形を示しており、説明の便宜上、音響フレームが互いに重複しない状態で示している。各図において、左端の波形は時間次元の通常の音響信号波形を示しており、横方向は時間軸であり、右に向かうに従って時間が進行し、縦方向は強度(振幅)である。中央または右端の波形は周波数変換後の所定の周波数範囲のスペクトル成分の合算値を信号波形で表現しており、仮想的にバンドパスフィルターを通した後の信号波形になっている。縦方向は同様に強度であり、本来は左端に比べ顕著に低くなるが、ここでは説明の都合上、左端と同程度に拡大して表現している。また、2種類の波形のレベルも本来は差があるが、ここでは同一レベルで表現している。実際には、周波数変換後のデータとして所定の周波数範囲外の高周波数成分や低周波数成分も存在するが、これらについては改変を加えないという前提で図示しておらず、図5に従った埋め込みを行なう2種の周波数帯域成分に限定して2種の信号波形で示している。
【0100】
図10(a)は原音響信号を示しており、最初の1対の音響フレームは全体に渡って強度がほぼ一定、中央の1対の音響フレームは奇数フレームの強度が小さく偶数フレームの強度が大きいものであり、最後の1対の音響フレームは奇数フレームの強度が大きく偶数フレームの強度が小さいものである。このような音響信号に対して、周波数変換を行った結果が図10(b)で、図5で示されように埋め込み対象成分は上下2分割して成分変更を施す都合上、図10(b)では(b−1)および(b−2)の2種の波形に分離して表現した。周波数変換後の波形形状は周波数ごとに異なり、図10(a)と必ずしも相似形にはならないが、ここでは周波数変換前と同様になると仮定して説明する。図10(b−1)および(b−2)に対して、[0,0,0]という3ビットのデータを図5で説明した方法に基づいて埋め込むことにより(図5ではビット0は符号1に相当する)、図10(c−1)および(c−2)が得られる。最初の1対は図5のようなパターンが表現できているが、残り2対の上下一方は、原段階に対して逆方向に大小関係を構築することが要求され、品質維持の都合上、適切なパターンが構築できていないことがわかる。このような改変を加えた結果に対して、周波数逆変換を行った結果が図10(d)である。一般に音響信号波形の外形(エンベロープという)はエネルギー分布が大きい低周波成分で決定され、これらは本願では所定の周波数範囲外の信号成分に含まれ、図10(c)の段階では改変が加えられていないため、周波数逆変換後の図10(d)は周波数変換前の図10(a)と類似した形状になる。
【0101】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図11に示す。図11(a)および図11(b)は各々図10(d)および図10(c)に対応する。図11(b)において、ビット判定を行なうにあたり、最初の1対以外は図5で想定されているパターンが形成されていないため、正しいビットを判定することが難しくなる。
【0102】
次に、本実施形態における振幅変換を導入した手法について図12および図13を用いて説明する。図12(a)は図10(a)と同じ原音響信号を示しており、同様に周波数変換を行った図12(b)も図10(b)と同じである。ここで、6つのフレーム単位に振幅変換を行った結果が図12(c)である。図12の場合、図12(a)で各フレーム内の振幅が平坦であるため、図12(c)では全体が平坦になっているが、実際には各フレーム内は微細に変動しており、そのフレーム内変動分は図12(c)の段階でも踏襲されるため、本図のように完全に平坦になることは通常ない。(実際は図12(c)は周波数次元のデータになるため、周波数次元のデータも平坦にならず変動した形態になる。)また、変換倍率はフレームごとに設定し、上下2つの周波数成分に対しては同一の倍率で変換を行うため、通常は上下で顕著な差が生じる(ただし、時間軸方向は比較的揃う)。これに対して、[0,0,0]という3ビットのデータを埋め込むと、図12(d−1)および(d−2)が得られる。原段階である図12(c)が平坦な波形であるため、全てのフレームにおいて図5のような理想的なパターンが容易に構築できることがわかる。続いて、前記フレームごとに設定した倍率の逆数を乗じて振幅逆変換を行った結果が図12(e)である。この段階では図10(c)と類似したパターンが生じることが多いが、本形状はいかなるものでも構わない。最後に周波数逆変換を行うと、図12(f)が得られ、同様に原信号波形の図12(a)と類似した形状になる。
【0103】
このような埋め込みを行なった結果に対して、抽出処理を行う様子を図13に示す。図13(a)、(b)および(c)は各々図12(f)、(e)および(d)に対応する。図13(b)の周波数変換後の波形形状は図12(b)とは基本的に異なるが、算出される振幅変換倍率は類似した値になり、ほぼ同様な倍率で振幅変換が行われ図13(c)が得られる。図13(c)の段階で、ビット判定を行なうと、全てのフレームにおいて図5のような理想的なパターンが形成されているため、正しいビットを判定することが可能になる。
【0104】
以上、振幅変換を導入した本実施形態では、図12(c)に示したように、埋め込み対象の信号成分が時間軸方向に平坦になるように変換を行って埋め込むようにしているため、高周波側と低周波側の成分強度の大小関係が完全に逆になるような不自然な変更を行う確率が低くなり、品質を維持しながら、抽出側における抽出精度を高めることが可能となる。
【0105】
(3.1.位置検出装置の構成)
次に、本発明に係る音響信号を利用した位置検出装置について説明する。図14は、本発明に係る音響信号を利用した位置検出装置の一実施形態を示す構成図である。図14において、100は音響信号入力手段、110は基準フレーム獲得手段、120は位相変更フレーム設定手段、130は周波数変換手段、140は符号判定パラメータ算出手段、150は符号出力手段、160は識別情報抽出手段、170は音響フレーム保持手段、180は巡回符号表作成手段、190は位置関係記憶手段、200は位置出力手段である。
【0106】
音響信号入力手段100は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびA/D変換器により実現される。マイクロフォンとしては、変更対象周波数帯の成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図3に示した装置で情報の埋め込みを行った場合には、音響信号はステレオで再生されるが、FLチャンネルに埋め込まれた識別情報を抽出する場合は、FLスピーカ付近にマイクロフォンを設置し、FRチャンネルに埋め込まれた識別情報を抽出する場合は、FRスピーカ付近にマイクロフォンを設置し、BLチャンネルに埋め込まれた識別情報を抽出する場合は、BLスピーカ付近にマイクロフォンを設置し、BRチャンネルに埋め込まれた識別情報を抽出する場合は、BRスピーカ付近にマイクロフォンを設置し、各チャンネルに埋め込まれた複数の情報を利用して識別情報を抽出する場合は、FLスピーカ、FRスピーカ、BLスピーカ、BRスピーカに囲まれた範囲に、隣接するスピーカの間をほぼ4等分した間隔でマイクロフォンを設置する。このマイクロフォンは特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段110は、入力されたデジタルのモノラル音響信号(あるいはステレオ音響信号の1チャンネル)から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。基準フレームとしては、埋め込み時と同様にAタイプ、Bタイプのものが設定される。位相変更フレーム設定手段120は、Aタイプ、Bタイプそれぞれの基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。
【0107】
周波数変換手段130は、基本的には、図3に示した周波数変換手段20とほぼ同様の機能を有している。ただし、音を取り込むタイミングが、音響信号の先頭からとはならないため、正しい位相を特定するために、複数の位相で振幅変換、周波数変換を行う点、元の音響信号が4チャンネルであっても、1つのチャンネルで行う点が異なっている。
【0108】
周波数変換手段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の整数値をとる。
【0109】
〔数式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)
【0110】
周波数変換手段130は、Bタイプの音響フレームに対してフーリエ変換を行う場合は、信号X(i+p・N/6)(i=0,…,N−1)に対して、窓関数W(2,i)を用いて、以下の〔数式13〕に従った処理を行い、変換データの実部A(2,j,p)、虚部B(2,j,p)を得る機能を有している。
【0111】
〔数式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)
【0112】
周波数変換手段130は、周波数変換手段20と同様に振幅変換を行う。振幅変換を行うにあたり、まず変換倍率の算出を行う。変換倍率の算出は、所定周波数範囲のスペクトル集合の実効強度値の平均である平均実効値で、設定値を除算することにより行う。設定値は、適宜定めておくことができるが、埋め込み時における振幅変換の場合と同一値としておくことが必要となる。したがって、本実施形態では、設定値Zoは288(=M−m)にする必要がある。具体的には、Aタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z(1,p)、Z(2,p)、これらの直前のAタイプの音響フレーム、Bタイプの音響フレームについての変換倍率Z-1(1,p)、Z-1(2,p)は、以下の〔数式14〕に従った処理により算出される。振幅変換が実行されることにより、全ての音響フレームは、元の状態における信号強度に関わらず、各音響フレームの平均実効値が設定値となるように振幅変換された状態で、情報の抽出が行われることになる。なお、pは位相番号であり、0〜5の整数値をとる。
【0113】
〔数式14〕
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
【0114】
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)はこれらの振幅変換を行った値とする。
【0115】
符号判定パラメータ算出手段140は、生成されたスペクトルから所定の周波数範囲に相当するスペクトル集合を抽出し、各スペクトル集合の強度値を算出するとともに、この強度値を利用して符号判定パラメータを算出し、この符号判定パラメータの大小関係に基づいて、所定の状態であると判断する機能を有している。上述のように、本実施形態では、Aタイプの音響フレームとBタイプの音響フレームがN/2サンプルずつ重複して設定されているため、ある音響フレームについて、強度値、符号判定パラメータを算出する際には、直前の音響フレームによる残響成分を考慮する必要がある。ところが、残響成分は計算により算出されるものであるので、必ずしも正確なものが算出されるとは限らず、算出された残響成分を除去することにより、反って抽出精度が低下する場合がある。そこで、本実施形態では、残響成分を除去しない場合の強度値E1、E2、E3、E4、および符号判定パラメータCと、除去した場合の強度値E1´、E2´、E3´、E4´、および補正符号判定パラメータC´を算出し、これらを利用して最適であると思われる状態を判断する。
【0116】
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〕に従った処理により算出する。
【0117】
〔数式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
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)
【0118】
上記〔数式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に設定する。
【0119】
上記〔数式15〕において、qは残響成分の大きさを示す係数であるが、この係数qは1未満の値を持つものであり、実験の結果、N=4096のときq=0.06、N=2048のときq=0.12、N=1024のときq=0.24、N=512のときq=0.48が最適である。
【0120】
そして、残響成分を除去しない場合の各スペクトル集合の強度値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)を用いて以下の〔数式16〕に基づいて算出する。
【0121】
〔数式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)
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)
【0122】
結局〔数式15〕〔数式16〕により、各スペクトル集合の強度値E1、E2、E3、E4、E5、E6、E7、E8が算出されるとともに、当該各スペクトル集合に対応するタイプの別を問わない直前の音響フレームにおけるスペクトル集合の強度にqを乗じた値を減じることにより強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´が算出されることになる。
【0123】
また、符号判定パラメータ算出手段140は、残響成分を除去せずに算出した強度値E1、E2、E3、E4、E5、E6、E7、E8を用いて、符号判定パラメータCを算出する。1音響フレームに1ビット埋め込む方式の場合、以下の〔数式17〕に従った処理を実行することにより、候補符号Bについて仮判定するとともに、符号判定パラメータCを算出する。
【0124】
〔数式17〕
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)}
【0125】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC´を算出する。1音響フレームに1ビット埋め込む方式の場合、上記〔数式17〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号Bに代えて候補符号B´について仮判定するとともに、符号判定パラメータCに代えて補正符号判定パラメータC´を算出する。
【0126】
一方、符号判定パラメータ算出手段140は、1音響フレームに2ビット埋め込む方式の場合、2ビットの各ビットについて、それぞれ候補符号をB1、B2、符号判定パラメータをC1、C2とすると、以下の〔数式18〕に従った処理を実行することにより、候補符号B1について仮判定するとともに、符号判定パラメータC1を算出する。
【0127】
〔数式18〕
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)}
【0128】
また、以下の〔数式19〕に従った処理を実行することにより、候補符号B2について仮判定するとともに、符号判定パラメータC2を算出する。
【0129】
〔数式19〕
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)}
【0130】
また、符号判定パラメータ算出手段140は、残響成分を除去して算出した強度値E1´、E2´、E3´、E4´、E5´、E6´、E7´、E8´を用いて、補正符号判定パラメータC1´、C2´を算出する。1音響フレームに2ビット埋め込む方式の場合、上記〔数式18〕〔数式19〕において、E1(p)〜E8(p)をそれぞれE1´(p)〜E8´(p)に置き換えることにより、候補符号B1、B2に代えて候補符号B1´、B2´について仮判定するとともに、符号判定パラメータC1、C2に代えて補正符号判定パラメータC1´、C2´を算出する。
【0131】
符号出力手段150は、1つの基準フレームに対応する音響フレーム(基準フレームおよび位相変更フレーム)の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。符号判定パラメータ算出手段140と符号出力手段150により符号化手段が構成される。識別情報抽出手段160は、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、巡回符号表を参照することにより、Nwビットの基準符号に変換する機能を有している。音響フレーム保持手段170は、Aタイプ、Bタイプそれぞれについて連続する2個の基準フレームを保持可能なバッファメモリである。巡回符号表作成手段180は、上記変換テーブル作成装置と同様、Nwビットが取り得る2のNw乗個以下の基準符号に対して、互いにハミング距離が少なくとも3以上となるNh(>Nw)ビットのハミング符号を割り当てることにより、Nwビットの基準符号とNhビットのハミング符号が対応付けられた符号変換テーブルおよび巡回符号表を作成する機能を有している。位置関係記憶手段190は、左右スピーカを基準とする相対位置と基準符号を対応付けた位置関係テーブルを記憶したものである。位置出力手段200は、識別情報抽出手段160により得られた基準符号を用いて、位置関係記憶手段190内の位置関係テーブルを参照して、位置情報を取得し、出力する。具体的な出力には、液晶ディスプレイ等の表示機器を用いる。
【0132】
図14に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、本発明の目的をより簡易に達成するためには、携帯電話機やPDA(PersonalDigital Assistant)等の演算処理機能(コンピュータとしての機能)を備えた携帯型端末装置をハードウェアとして用いることが望ましい。位置検出装置としての機能を備えた携帯型端末装置を携帯して左右のスピーカの間を移動させることにより、携帯型端末装置が備えたマイクロフォンにより取得した音に基づいて、4つのスピーカに囲まれた範囲内の相対的位置を検出することができる。
【0133】
(3.2.位置検出装置の処理動作)
次に、図14に示した音響信号を利用した位置検出装置の処理動作について、図15のフローチャートに従って説明する。位置検出装置を起動すると、まず、本装置では、位相判定テーブル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を設定する。
【0134】
続いて、巡回符号表作成手段180が、巡回符号表を作成する(S210)。巡回符号表とは、図6に示した符号変換テーブルにおいて、変換元の7ビット基準符号に対応する変換後の16ビットハフマン符号のビット列を1ビットずつ移動させた巡回ビットパターンを記録したものである。巡回符号表作成手段180は、まず、変換テーブル作成装置と同様、図7のフローチャートに従った処理により図6に示したような符号変換テーブルを作成した後、巡回符号表を作成する。具体的には、巡回符号表作成手段180は、図6に示したような符号変換テーブルにおいて、8ビット基準符号に対応付けられた16ビットハミング符号のビット列を1ビットずつ移動した巡回ビットパターンを作成し、8ビット基準符号に対応付けて記録する。例えば、図6の8ビット基準符号“0”には、16ビットハミング符号“0000,0000,0000,0001”が正規のビットパターンとして対応付けられているので、巡回符号表作成手段180は、1ビット移動した16ビット符号“0000,0000,0000,0010”(10進表記“2”)、2ビット移動した16ビット符号“0000,0000,0000,0100”(10進表記“4”)、…、15ビット移動した16ビット符号“1000,0000,0000,0000”(10進表記“32768”)までの15個のビットパターンを巡回ビットパターンとして作成する。このようにして、作成された巡回符号表の一例を図16に示す。ビット配列のビット数Nhを16、ハミング距離を3とした場合図16に示した巡回符号表を用いてビットパターンの照合を行うことになる。
【0135】
図16の巡回符号表においては、いずれも10進表記で示してある。例えば、1行目の8ビット基準符号“0”に対しては、正規の16ビットハミング符号“1”と15個の巡回ビットパターン“2”“4” “8”“16” “32”“64” “128”“256” “512”“1024” “2048” “4096” “8192” “16384” “32768”が対応付けて記録される。
【0136】
このように、初期値が設定され、巡回符号表が作成された状態で、携帯端末に対して、位置検出装置としての起動の指示を行う。これは、例えば、位置検出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。位置検出装置は、指示が入力されると、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン(または指向性マイクロフォンの一方のチャンネル)から入力される音声を、A/D変換器によりデジタル化する処理を行うことになる。
【0137】
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S201)。具体的には、Aタイプ、Bタイプについての基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図2に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、Aタイプ、Bタイプについてそれぞれ4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、各チャンネルについて、Aタイプ、Bタイプ2個ずつの基準フレーム、すなわち2.5Nサンプルが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム4個分(連続する10240サンプル)が格納されていることになる。
【0138】
位置検出装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、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通りの形式となる。
【0139】
ここで、ステップS202の位相確定および符号判定の詳細を図17のフローチャートに従って説明する。まず、位相確定フラグがOnであるかOffであるかの確認を行う(S301)。位相確定フラグがOnである場合は、位相確定処理(S303〜S309)を行わず、符号判定処理のみを行う(S302)。ただし、初期状態では位相は確定しておらず、位相確定フラグがOffとなっているので、候補符号テーブルB(p)の初期化を行う(S303)。候補符号テーブルB(p)は、1つの基準フレームおよび5個の位相変更フレームを特定するp=0〜5の位相番号および、この6個の音響フレームの状態から得られる2値の符号を記録するものである。
【0140】
続いて、符号判定パラメータ算出手段140は、符号判定処理を行う(S302)。ここで、符号判定処理の詳細を図18に示す。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行って各窓スペクトルを得る(S401)。具体的には、上記〔数式12〕〔数式13〕に従った処理を実行し、変換データの実部A(1,j,p)、虚部B(1,j,p)、実部A(2,j,p)、虚部B(2,j,p)を得る。
【0141】
S401の処理については、実際には、Aタイプ音響フレームについて周波数変換を行った後、N/2サンプルだけシフトしてBタイプ音響フレームについて周波数変換を行う。これらの変換データA(1,j,p)、B(1,j,p)、A(2,j,p)、B(2,j,p)に対して、上記〔数式14〕に従った処理を実行し、振幅変換を行う(S402)。
【0142】
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、符号判定パラメータC、C´を上述のようにして算出した後、符号判定パラメータC、C´を用いて、変更対象周波数帯の成分の状態がどのような状態であるか、すなわち、1ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S403)。具体的には、上記〔数式15〕〜〔数式17〕に従った処理を実行して、符号判定パラメータC、C´を算出する。そして、この両者を比較して、C>C´であれば候補符号Bを候補符号テーブルB(p)に設定し、C≦C´であれば候補符号B´を候補符号テーブルB(p)に出力する。
【0143】
S403の具体的な処理手順としては、まず、上記〔数式15〕の1番目の式と2番目の式を利用して基本強度値E(1,j,p)、E(2,j,p)を算出した後、上記〔数式16〕の1番目から4番目までの式を利用してE1(p)、E2(p)、E3(p)、E4(p)を算出し、上記〔数式17〕に従って候補符号Bおよび符号判定パラメータCを算出する処理を行う。続いて、上記〔数式15〕の3番目から6番目までの式を利用して、残響補正処理を行って基本強度値E´(1,j,p)、E´(2,j,p)を算出する。そして、上記〔数式16〕の5番目から8番目までの式を利用してE1´(p)、E2´(p)、E3´(p)、E4´(p)を算出し、上記〔数式17〕に従って候補符号B´および補正符号判定パラメータC´を算出する処理を行う。
【0144】
また、上記判定の結果、位相pにおける候補符号テーブルB(p)に値1、値2のいずれかを出力した場合には、さらに、以下の〔数式20〕に従って位相判定テーブルS(p)の更新を行う(S404)。
【0145】
〔数式20〕
C>C´である場合、S(p)←S(p)+C
C≦C´である場合、S(p)←S(p)+C´
【0146】
ここで、図17のフローチャートに戻って、符号判定パラメータ算出手段140は、候補符号テーブルB(p)に、位相pにおいて符号判定処理(S302)で仮決定された符号を保存する(S304)。
【0147】
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S305)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S302に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、位相判定テーブルS(p)の値が最大となる位相番号pmaxに対応する位相が最適位相であると判定し、候補符号テーブルB(p)に記録されている符号B(pmax)を出力する(S306)。
【0148】
続いて、位相決定ログの更新を行う(S307)。位相決定ログとは、1つの基準フレームと5つの位相変更フレームの組ごとに、決定された位相すなわち位相番号pを記録するものである。そして、位相決定ログを参照して、位相が過去所定回数同一であったかどうかを判断する(S308)。本実施形態では、この回数を10回としている。位相が過去所定回数同一であった場合には、位相確定フラグをOnに設定する(S309)。これにより、同一位相が所定回数続いた場合には、最適位相はpmaxとなる可能性が高いため、位相確定処理(S303〜S309)を行わず、位相番号p=pmaxに対してのみ符号判定処理(S302)を行うことになる。
【0149】
再び図15のフローチャートに戻って説明する。位相確定および符号出力が行なわれたら、出力された符号の値に対応する1ビットをバッファに保存する(S203)。次に、ビットカウンタを“1”だけカウントアップする(S204)。
【0150】
次に、ビットカウンタが15以下であるか16以上であるかを判断する(S205)。ビットカウンタが15以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
【0151】
(BB612)
次に、ビットカウンタが15以下であるか16以上であるかを判断する(S205)。ビットカウンタが15以下の場合は、S201に戻って、次のAタイプ、Bタイプの基準フレームを抽出する処理を行う。
【0152】
(BB612)
ビットカウンタが16以上である場合は、バッファに保存された16ビットのビット配列と巡回符号表内のビットパターンとの照合を行う(S206)。照合の結果、一致するビットパターンが16ビットハミング符号または巡回ビットパターンとして存在する場合には、適合パターン有りと判断し、対応する基準符号8ビットを抽出して出力する(S208)。音響フレームから抽出された16ビットのビット列が巡回ビットパターンのいずれかであった場合、これらのビットパターンは埋め込み時に埋め込んでいるはずであるので、対応する16ビットハミング符号のビットパターンをずれた位置で読み込んでいると判断し、8ビット基準符号を抽出するのである。S206の照合の結果、一致するビットパターンが16ビットハミング符号、巡回ビットパターンのいずれにも存在しない場合には、適合パターン無しと判断し、S201に戻って、次の基準フレームを抽出する処理を行う。
【0153】
S208において、基準符号8ビットを抽出して出力した場合には、ビットカウンタを0に初期化する(S209)。そして、S201に戻って、次の基準フレームから抽出する処理を行う。本発明では、埋め込み時にNa回重複して同一ワードを埋め込んでいるが、埋め込み時の先頭ビットから16ビットが偶然にも抽出されない限り、通常(Na−1)回の同一ワードが抽出されることになる(1ワード分は前後の異なるワード間をまたがって抽出されるため、S206の照合の結果、通常エラーになる)。この場合、実際に情報として必要なのは1ワード分のみであるため、後続する(Na−2)ワード分の8ビット基準符号を読み飛ばすのである。もちろん、状況によっては、(Na−2)ワード以下の8ビット基準符号しか読み込まれない場合もあれば、全く読み込まれない場合もある。
【0154】
図15に示す処理を各基準フレームに対して実行することにより、識別情報の1ワードが抽出されることになる。S201において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
【0155】
上記S208の処理において、識別情報抽出手段160は、まず、符号出力手段150により出力された2値の配列をNhビット単位で抽出し、巡回符号表を参照することにより、Nwビットの基準符号に変換する。正しく処理が行われれば、この基準符号は、第1〜第5のいずれかの符号と同一となる。そして、位置出力手段200が、識別情報抽出手段160により得られた識別情報を用いて、位置関係記憶手段190内の位置関係テーブルを参照して、位置情報を取得し、出力する。位置関係記憶手段190内の位置関係テーブルの一例を図19に示す。位置関係テーブルには、検出位置と識別情報の対応関係が記録されている。識別情報としては、各ワードを第1符号〜第5符号のいずれかとした2ワード構成のものをあらかじめ記録しておく。抽出された識別情報で、この位置関係テーブルを参照することにより、検出位置の情報が得られるので、位置出力手段200はその検出位置を出力する。具体的には、図19に検出位置として示された“前左スピーカ付近”等の内容を表示装置(図示省略)の画面に表示出力する。
【0156】
(3.3.位相補正処理について)
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り(本実施形態では6通り)で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、6通りで読み込む場合、先頭の音響フレームは、本来サンプル番号1〜4096のサンプルであるが、サンプル番号1、683、1366、2049、2732、3413から始まる4096のサンプルで構成される6個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。なお、図16のフローチャートを用いて説明したように、本実施形態では、同一位相が所定回数連続した場合には、それ以降はその位相を確定したものとして処理を行う。
【0157】
(4.5.1chサラウンド再生に対応した例)
上記の例では、4チャンネルの音響信号を4つのスピーカから再生する場合について説明したが、本発明は、さらに多くのチャンネルに対応することが可能である。ここでは、一例として5.1chサラウンド再生に対応させる場合について説明する。5.1chサラウンド再生に対応させる場合、上記のような4つのスピーカに加えて、中央のスピーカであるFCスピーカと、低音強調用のスピーカであるLFスピーカを用意する。そして、FCスピーカから出力させるべきFCチャンネルの音響信号と、LFスピーカから出力させるべきLFチャンネルの音響信号それぞれの低周波成分に対して、上記説明のようにして、周波数成分の変更を行う。
【0158】
ここで、5.1chサラウンド再生の場合における本発明の適用について、4チャンネルの場合の図22と対比しながら説明する。図24は、5.1chサラウンド再生の場合の6個のスピーカと、各位置で検出される識別情報の関係を示す図である。FLスピーカ、FRスピーカ、BLスピーカ、BRスピーカに囲まれた9つのビット列(9種の識別情報)は、図22に示したものと同一であるが、図24では、所定周波数成分の強度を反映していない。図24では、各スピーカから発せられる音に埋め込まれた識別情報に所定周波数成分の強度を反映させたビット列を、FLスピーカ、FCスピーカ、LFスピーカ、FRスピーカについては、図面上側に、BLスピーカ、BRスピーカについては、図面下側に示している。
【0159】
5.1chサラウンド再生の場合であっても、FLスピーカ、FRスピーカ、BLスピーカ、BRスピーカから発せられる音の所定周波数成分は、4チャンネルの場合と全く同じである。この場合、FCスピーカ、LFスピーカからは、所定周波数成分の強度を小さくした状態で、共に“00001011”の識別情報が埋め込まれた音を発する。図22と比較すると、FCスピーカ、LFスピーカから音を発した場合でも、先の4つのスピーカに基づく識別情報の抽出精度に影響しないようにしている。5.1chサラウンド再生を、25種の識別情報に対応させる場合は、図22に示した例において、FCスピーカを、FLスピーカとFRスピーカの中間に配置し、LFスピーカを部屋のスペースに合わせて任意の位置に配置し、共に“00001001”の識別情報が埋め込まれた音を発する。図24では、LFスピーカをFLスピーカとFRスピーカの中間に配置させているが、LFスピーカ(重低音)は指向性がないため、どこに配置しても良いというのが5.1chサラウンド再生上の仕様である。
【0160】
(5.信号成分が小さい場合にさらに確実に情報の埋め込みを行う手法)
ここまでの説明のように、本発明では、元の信号成分に無音に近い部分があっても、情報の埋め込みを可能とするものである。このままでも、もちろん十分であるが、本発明においては、より確実に情報を埋め込むような処理を付加することも可能である。具体的には、周波数変換を行う前に、音響信号に聴取困難な微弱な白色ノイズを重畳させる。
【0161】
この場合、図3に示した音響フレーム読込手段10は、所定数のサンプルを1音響フレームとして読み込んだ後、所定の振幅範囲で所定サンプル数単位で同一値を加算または減算する機能を有している。本実施形態では、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、−32〜+32の振幅範囲(Xl(i)、Xr(i)のとり得る値が−32768〜+32767の場合)で一様乱数Hを発生させ、K(本実施形態ではK=5)個のサンプル間は同一値Hを用いて以下の〔数式21〕に示すような処理を実行し、Xl(i)、Xr(i)の値を更新する。
【0162】
〔数式21〕
Xl(i)←Xl(i)+H
Xr(i)←Xr(i)−H
【0163】
すなわち、上記〔数式21〕に従った処理をNサンプルに渡って実行することにより、1つの音響フレームに白色ノイズが発生されることになる。この白色ノイズの発生処理は、図9のフローチャートにおいては、S103、S104の音響フレーム抽出処理の直後に行われることになる。
【0164】
上記のように、白色ノイズを発生させた場合であっても、抽出側の、音響信号を利用した位置検出装置の構成は図14と同一であり、処理動作は図15、図17、図18のフローチャートに従ったものと同一である。
【0165】
(6.分解能の拡張)
上記実施形態では、各チャンネルにおいて一方向につき3種の符号(内1つは他のチャンネルと重複するため、全体で一方向の符号は5種となる。)に基づいて所定周波数範囲の成分強度を3段階に変更することにより、二次元の範囲において左右スピーカ付近を含む計25箇所における相対的位置を特定するようにした。また、各チャンネルにおいて一方向につき2種の符号(内1つは他のチャンネルと重複するため、全体で一方向の符号は3種となる。)に基づいて所定周波数範囲の成分強度を2段階に変更することにより、二次元の範囲において左右スピーカ付近を含む計9箇所における相対的位置を特定することができることについても説明した。本発明では、より多くの箇所における相対的位置を特定するため、各チャンネルにおいて、より多くの符号に基づいて所定周波数範囲の成分強度をより多くの段階に変更するようにしても良い。例えば、各チャンネルにおいて一方向につき4種の符号に基づいて所定周波数範囲の成分強度を4段階に変更することにより、二次元の範囲において各スピーカ付近を含む計49箇所における相対的位置を特定することができる。また、各チャンネルにおいて一方向につき5種の符号に基づいて所定周波数範囲の成分強度を5段階に変更することにより、二次元の範囲において各スピーカ付近を含む計81箇所における相対的位置を特定することができる。一般化すると、各チャンネルにおいて(n+1)/2種の符号に基づいて所定周波数範囲の成分強度を(n+1)/2段階に変更することにより、二次元の範囲において各スピーカ付近を含む計n2箇所における相対的位置を特定することができる。多くの箇所の相対的位置を特定することにより、位置検出の分解能が高まっていくことになる。
【0166】
(7.周波数範囲の変形例)
本願では抽出精度を向上させるため、電話帯域全体に埋め込み領域を拡大する方法を採用したが、再生品質を向上させるため、下位の変更対象周波数帯の幅を上記実施形態より狭くすることも可能である。具体的には、変更対象周波数帯の下限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つの周波数領域に分け、上位周波数帯と下位周波数帯の幅を近づけ、二重の音脈分凝を形成する手法が、人間の聴覚に対して、最もノイズを抑制できることがわかった。
【0167】
(8.その他)
以上、本発明の好適な実施形態について限定したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、1音響フレームのサンプル数N=4096としたが、N=2048、1024、512等を設定するようにしても良い。これにより、同一時間あたりの音響フレーム数が、2倍、4倍、8倍となり、全体として2〜8倍の情報の埋め込みが可能となる。
【0168】
また、上記実施形態では、音響信号を利用した位置検出装置を、携帯電話機等の携帯型端末装置単体で実現した場合を例にとって説明したが、他のコンピュータと連携して実現するようにしても良い。具体的には、携帯型端末装置と専用コンピュータを無線通信可能に接続し、音響信号入力手段100〜音響フレーム保持手段170の構成要素のうち、演算負荷の大きいものは、専用コンピュータで処理する。例えば、音響信号入力手段100、基準フレーム獲得手段110、位相変更フレーム設定手段120、識別情報抽出手段160、巡回符号表作成手段180、位置関係記憶手段190、位置出力手段200を携帯型端末装置に備え、周波数変換手段130、符号判定パラメータ算出手段140、符号出力手段150、音響フレーム保持手段170を専用コンピュータに備えるようにして、必要な情報を両者間で通信するようにする。これにより、携帯型端末装置の処理性能が低い場合であっても高速な処理を行うことが可能となる。
【0169】
また、上記実施形態では、識別情報が埋め込まれる音響信号として、前左チャンネル、前右チャンネル、後左チャンネル、後右チャンネルの内容が異なる4チャンネルのステレオ音響信号を利用した場合を例にとって説明したが、元の音響信号自体は4つのチャンネルともに全く同じものであっても良い。すなわち、モノラル音響信号に対して、それぞれ異なる識別情報を埋め込んだもの(所定周波数範囲以外は全く同じ音響信号)をFLスピーカ、FRスピーカ、BLスピーカ、BRスピーカから再生するようにしても良い。
【0170】
また、周波数成分変更手段30による所定周波数成分の変更を、図5および〔数式9〕に従って実行するようにしたが、埋め込むべきビット値に応じた周波数成分の変更は、公知の様々な手法を用いることができ、例えば特許文献1に示したような手法を用いることも可能である。この場合、抽出側においても、当然その埋め込み手法に応じた手法で抽出が行われる。
【図面の簡単な説明】
【0171】
【図1】一次元の位置検出の基本概念を示す図である。
【図2】一次元の位置検出の概念をより詳細に説明した図である。
【図3】音響信号に対する情報の埋め込み装置の機能ブロック図である。
【図4】本発明で用いる時間方向窓関数を示す図である。
【図5】本発明の一実施形態における変更対象周波数帯の成分の変化の状態を示す図である。
【図6】8ビット符号と16ビット符号の符号変換テーブルの一例を示す図である。
【図7】符号変換テーブル作成の処理概要を示すフローチャートである。
【図8】第1符号〜第5符号の組み合わせ例を示す図である。
【図9】図3に示した装置の処理概要を示すフローチャートである。
【図10】振幅変換を用いない埋め込み処理を説明するための図である。
【図11】振幅変換を用いない抽出処理を説明するための図である。
【図12】振幅変換を用いた埋め込み処理を説明するための図である。
【図13】振幅変換を用いた抽出処理を説明するための図である。
【図14】本発明に係る音響信号を利用した位置検出装置の機能ブロック図である。
【図15】図14に示した装置の処理概要を示すフローチャートである。
【図16】本発明で用いる巡回符号表の一例を示す図である。
【図17】図15のS202の位相確定および符号出力の詳細を示すフローチャートである。
【図18】図17のS302の符号判定処理の詳細を示すフローチャートである。
【図19】検出位置と抽出識別情報の関係を記録した位置関係テーブルの一例を示す図である。
【図20】識別情報を埋め込む際に、強度“大” “中” “小”とするために所定周波数成分をどのように変化させるかを説明する図である。
【図21】本発明の基本概念の説明図である。
【図22】本発明の概念をより詳細に説明した図である。
【図23】検出位置を増やした場合の、本発明の概念の詳細説明図である。
【図24】5.1chサラウンド再生の場合の、本発明の概念の詳細説明図である。
【符号の説明】
【0172】
10・・・音響フレーム読込手段
20・・・周波数変換手段
30・・・周波数成分変更手段
40・・・周波数逆変換手段
50・・・改変音響フレーム出力手段
60・・・記憶手段
61・・・音響信号記憶部
62・・・識別情報記憶部
63・・・改変音響信号記憶部
70・・・ビット配列作成手段
100・・・音響信号入力手段
110・・・基準フレーム獲得手段
120・・・位相変更フレーム設定手段
130・・・周波数変換手段
140・・・符号判定パラメータ算出手段
150・・・符号出力手段
160・・・識別情報抽出手段
170・・・音響フレーム保持手段
180・・・巡回符号表作成手段
190・・・位置関係記憶手段
200・・・位置出力手段
【特許請求の範囲】
【請求項1】
少なくとも4チャンネルの時系列のサンプル列で構成される音響信号に対して、前記音響信号が少なくとも4つのスピーカで再生される際に、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置で互いに異なるn2種の識別情報が抽出可能になるように、互いに異なるn2種の識別情報をn種の前後識別情報とn種の左右識別情報の組み合わせとして聴取不能な状態で埋め込む装置であって、
前記音響信号より、所定数のサンプルを各チャンネルごとに読み込み、音響フレームを作成する音響フレーム読込手段と、
前記読み込んだ各チャンネルの音響フレームに対して、所定の窓関数を用いて周波数変換を行い、前記音響フレームに対する窓スペクトルを得る周波数変換手段と、
前記生成された各窓スペクトルから所定の周波数範囲における複数のスペクトル集合を抽出し、そのチャンネルに埋め込むべき本来の前後または左右識別情報を構成するビット値に基づいて、前記窓スペクトルに対応する複数のスペクトル集合間の強度値を一方の強度値が他方の強度値より所定の程度で強くなるように変更するものであり、
前後識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と同一である場合に最大の程度になるようにし、本来の前後識別情報を抽出させる位置と隣接する位置において抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と異なる場合に、最小の程度となるようにしており、
左右識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と同一である場合に最大の程度になるようにし、本来の左右識別情報を抽出させる位置と隣接する位置において抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と異なる場合に、最小の程度となるようにしている周波数成分変更手段と、
前記変更されたスペクトル集合を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、
前記生成された改変音響フレームを順次出力する改変音響フレーム出力手段と、
を有することを特徴とする音響信号に対する情報の埋め込み装置。
【請求項2】
請求項1において、
前記周波数変換手段は、各チャンネルごとに、前記読み込んだ音響フレームのうち、各々奇数番目、偶数番目の一方を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の強度値との積のいずれか一方が他方より所定の程度以上に大きくなるように、各スペクトル集合の強度を変更するようにしていることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項3】
請求項1または請求項2において、
前記周波数成分変更手段は、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積と、1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のうち、大きくなるように変更する側のスペクトル集合に対しては、係数αを乗じた強度とし、小さくなるように変更する側のスペクトル集合に対しては、係数αより小さい係数βを乗じた強度とするものであり、前記強度値を変更させる(n+1)/2段階の程度に応じて係数α、係数βを決定するようにしていることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項4】
請求項3において、
前記周波数成分変更手段は、前記強度の積を相対的に大きくなるように変更するスペクトル集合の強度の積を、前記強度の積を相対的に小さくなるように変更するスペクトル集合の強度の積で割った値γが、1より小さい場合に、前記係数αよりγの平方根を除した係数と、前記係数βにγの平方根を乗じた係数を、前記係数α、βに代えて用いるものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項5】
請求項1から請求項4のいずれかにおいて、
前記音響フレーム読込手段は、各チャンネルごとに、前記Aタイプの音響フレームと前記Bタイプの音響フレームを、所定数のサンプルを重複させて読み込むものであり、
前記改変音響フレーム出力手段は、前記生成された改変音響フレームを先行する改変音響フレームと各々連結させて出力するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項6】
請求項1から請求項5のいずれかにおいて、
前記周波数成分変更手段は、前記所定周波数範囲を0.34kHz以上および3.4kHz以下として設定するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項7】
コンピュータを、請求項1から請求項6のいずれかに記載の音響信号に対する情報の埋め込み装置として、機能させるためのプログラム。
【請求項8】
あらかじめ聴取不能な状態でn2種の識別情報が埋め込まれた音響信号から、前記音響信号を少なくとも4つのスピーカで再生し、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置を検出する装置であって、
各スピーカを基準とする相対位置と前記識別情報を対応付けた位置関係を記憶した位置関係記憶手段と、
前記音響信号が再生されている空間内の所定の位置で音響信号をモノラル入力し、所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、
前記読み込んだ音響フレームのうち、奇数番目、偶数番目の一方をAタイプ、他方をBタイプとし、前記Aタイプの音響フレームに対して第1窓関数を用いて周波数変換を行い、前記Bタイプの音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、
前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2個のスペクトル集合を、周波数が高い方のスペクトル集合の周波数幅が大きくなるように抽出し、更に各スペクトル集合を1/2の周波数幅に均等分割し、前記第1窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE1、E3、E5、E7として算出し、前記第2窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE2、E4、E6、E8として算出し、E1とE4の積と、E2とE3の積との大小関係、およびE5とE8の積と、E6とE7の積との大小関係に基づいて、埋め込まれていたビット値を抽出する符号化手段と、
前記抽出されたビット値をワード単位で所定の規則により変換して時系列に各々n種の前後識別情報と左右識別情報を抽出し、これらを結合して前記n2種の識別情報として抽出する識別情報抽出手段と、
前記識別情報抽出手段により得られた識別情報を用いて、前記位置関係記憶手段を参照して位置情報を取得し、当該取得した位置情報を出力する位置出力手段と、
を有することを特徴とする音響信号を利用した位置検出装置。
【請求項9】
コンピュータを、請求項8に記載の音響信号を利用した位置検出装置として、機能させるためのプログラム。
【請求項1】
少なくとも4チャンネルの時系列のサンプル列で構成される音響信号に対して、前記音響信号が少なくとも4つのスピーカで再生される際に、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置で互いに異なるn2種の識別情報が抽出可能になるように、互いに異なるn2種の識別情報をn種の前後識別情報とn種の左右識別情報の組み合わせとして聴取不能な状態で埋め込む装置であって、
前記音響信号より、所定数のサンプルを各チャンネルごとに読み込み、音響フレームを作成する音響フレーム読込手段と、
前記読み込んだ各チャンネルの音響フレームに対して、所定の窓関数を用いて周波数変換を行い、前記音響フレームに対する窓スペクトルを得る周波数変換手段と、
前記生成された各窓スペクトルから所定の周波数範囲における複数のスペクトル集合を抽出し、そのチャンネルに埋め込むべき本来の前後または左右識別情報を構成するビット値に基づいて、前記窓スペクトルに対応する複数のスペクトル集合間の強度値を一方の強度値が他方の強度値より所定の程度で強くなるように変更するものであり、
前後識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と同一である場合に最大の程度になるようにし、本来の前後識別情報を抽出させる位置と隣接する位置において抽出させるべき前後識別情報のビット値が前記本来の前後識別情報のビット値と異なる場合に、最小の程度となるようにしており、
左右識別情報を用いる場合、前記強度値の大小関係を逆転させない範囲において、さらに強度値を変更させる程度を(n+1)/2段階に設定するとともに、他のスピーカとの間のほぼ中央で抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と同一である場合に最大の程度になるようにし、本来の左右識別情報を抽出させる位置と隣接する位置において抽出させるべき左右識別情報のビット値が前記本来の左右識別情報のビット値と異なる場合に、最小の程度となるようにしている周波数成分変更手段と、
前記変更されたスペクトル集合を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、
前記生成された改変音響フレームを順次出力する改変音響フレーム出力手段と、
を有することを特徴とする音響信号に対する情報の埋め込み装置。
【請求項2】
請求項1において、
前記周波数変換手段は、各チャンネルごとに、前記読み込んだ音響フレームのうち、各々奇数番目、偶数番目の一方を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の強度値との積のいずれか一方が他方より所定の程度以上に大きくなるように、各スペクトル集合の強度を変更するようにしていることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項3】
請求項1または請求項2において、
前記周波数成分変更手段は、1D1の強度値と2D2の強度値との積と、1D2の強度値と2D1の強度値との積と、1U1の強度値と2U2の強度値との積と、1U2の強度値と2U1の強度値との積のうち、大きくなるように変更する側のスペクトル集合に対しては、係数αを乗じた強度とし、小さくなるように変更する側のスペクトル集合に対しては、係数αより小さい係数βを乗じた強度とするものであり、前記強度値を変更させる(n+1)/2段階の程度に応じて係数α、係数βを決定するようにしていることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項4】
請求項3において、
前記周波数成分変更手段は、前記強度の積を相対的に大きくなるように変更するスペクトル集合の強度の積を、前記強度の積を相対的に小さくなるように変更するスペクトル集合の強度の積で割った値γが、1より小さい場合に、前記係数αよりγの平方根を除した係数と、前記係数βにγの平方根を乗じた係数を、前記係数α、βに代えて用いるものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項5】
請求項1から請求項4のいずれかにおいて、
前記音響フレーム読込手段は、各チャンネルごとに、前記Aタイプの音響フレームと前記Bタイプの音響フレームを、所定数のサンプルを重複させて読み込むものであり、
前記改変音響フレーム出力手段は、前記生成された改変音響フレームを先行する改変音響フレームと各々連結させて出力するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項6】
請求項1から請求項5のいずれかにおいて、
前記周波数成分変更手段は、前記所定周波数範囲を0.34kHz以上および3.4kHz以下として設定するものであることを特徴とする音響信号に対する情報の埋め込み装置。
【請求項7】
コンピュータを、請求項1から請求項6のいずれかに記載の音響信号に対する情報の埋め込み装置として、機能させるためのプログラム。
【請求項8】
あらかじめ聴取不能な状態でn2種の識別情報が埋め込まれた音響信号から、前記音響信号を少なくとも4つのスピーカで再生し、それぞれのスピーカ近辺の4箇所、4つのスピーカの中間(n2−5)箇所、および4つのスピーカの中央1箇所の計n2箇所の位置を検出する装置であって、
各スピーカを基準とする相対位置と前記識別情報を対応付けた位置関係を記憶した位置関係記憶手段と、
前記音響信号が再生されている空間内の所定の位置で音響信号をモノラル入力し、所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、
前記読み込んだ音響フレームのうち、奇数番目、偶数番目の一方をAタイプ、他方をBタイプとし、前記Aタイプの音響フレームに対して第1窓関数を用いて周波数変換を行い、前記Bタイプの音響フレームに対して第2窓関数を用いて周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトルを得る周波数変換手段と、
前記生成された各窓スペクトルから所定の周波数範囲における互いに重複しない2個のスペクトル集合を、周波数が高い方のスペクトル集合の周波数幅が大きくなるように抽出し、更に各スペクトル集合を1/2の周波数幅に均等分割し、前記第1窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE1、E3、E5、E7として算出し、前記第2窓スペクトルから抽出した4個のスペクトル集合の強度値を周波数が低い順にE2、E4、E6、E8として算出し、E1とE4の積と、E2とE3の積との大小関係、およびE5とE8の積と、E6とE7の積との大小関係に基づいて、埋め込まれていたビット値を抽出する符号化手段と、
前記抽出されたビット値をワード単位で所定の規則により変換して時系列に各々n種の前後識別情報と左右識別情報を抽出し、これらを結合して前記n2種の識別情報として抽出する識別情報抽出手段と、
前記識別情報抽出手段により得られた識別情報を用いて、前記位置関係記憶手段を参照して位置情報を取得し、当該取得した位置情報を出力する位置出力手段と、
を有することを特徴とする音響信号を利用した位置検出装置。
【請求項9】
コンピュータを、請求項8に記載の音響信号を利用した位置検出装置として、機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2010−169443(P2010−169443A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−10271(P2009−10271)
【出願日】平成21年1月20日(2009.1.20)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願日】平成21年1月20日(2009.1.20)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]