(57)【要約】【課題】透かし信号の抽出精度の劣化を防ぎつつ、電力消費を抑える。【解決手段】音処理装置は、透かし信号が重畳された音響信号を、所定のサンプリングレートでアナログ信号からデジタル信号に変換するＡＤ変換部と、分割されたデジタル信号の所定区間毎に、透かし信号の抽出の成否を判定する判定部と、判定部による判定結果を記憶する記憶部と、記憶部に記憶された判定結果に基づいて、所定のサンプリングレートを制御するレート制御部と、を備える。【選択図】図３
2014041255.tif 000002
【特許請求の範囲】
【請求項１】
透かし信号が重畳された音響信号を、所定のサンプリングレートでアナログ信号からデジタル信号に変換するＡＤ変換部と、
分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定する判定部と、
前記判定部による判定結果を記憶する記憶部と、
前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御するレート制御部と、
を備える音処理装置。
【請求項２】
前記レート制御部は、
前記記憶部に記憶された第１所定数の区間の成否の個数をカウントし、成功の個数が閾値以上であれば前記所定のサンプリングレートを下げ、失敗の個数が前記閾値以上であれば前記所定のサンプリングレートを上げる請求項１記載の音処理装置。
【請求項３】
前記レート制御部は、
前記記憶部に記憶された直近の第２所定数の連続区間の判定結果が、全て成功であれば前記所定のサンプリングレートを下げ、全て失敗であれば前記所定のサンプリングレートを上げる請求項１又は２記載の音処理装置。
【請求項４】
前記音響信号は、重畳されるエコーの遅延時間によって前記透かし信号が埋め込まれ、
前記判定部は、
前記所定区間のケプストラム解析結果に基づき、前記遅延時間に対応するケプストラム係数と、該所定区間のケプストラム係数列の平均値と標準偏差とに基づく閾値とに応じて、前記抽出の成否を判定する請求項１乃至３いずれか一項に記載の音処理装置。
【請求項５】
透かし信号が重畳された音響信号を、所定のサンプリングレートでＡＤ変換部によりアナログ信号からデジタル信号に変換し、
分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定し、
前記所定区間毎の判定結果を記憶部に記憶し、
前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御する処理をコンピュータが実行する音処理方法。
【請求項６】
透かし信号が重畳されたアナログ信号の音響信号に対し、所定のサンプリングレートで変換されたデジタル信号を取得し、
分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定し、
前記所定区間毎の判定結果を記憶部に記憶し、
前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、透かし信号が埋め込まれた音響信号を処理する音処理装置、音処理方法及びプログラムに関する。
【背景技術】
【０００２】
音響信号に対して、人間には知覚できない領域に情報を埋め込む情報透かし技術が知られている。音響信号への情報透かし技術は著作権情報やデータ配信などへの応用が期待されており、様々な手法が提案されている。例えば、エコーハイディング（Echo-Hiding）が広く知られている（例えば特許文献１参照）。
【０００３】
エコーハイディングは、音響信号を単位時間ごとに区切り、各区間に人間には知覚困難な人工的なエコーを重畳し、そのエコーの遅延時間を用いて情報を表現する技術である。図１は、エコーハイディングによる情報透かしの一例を示す図である。
【０００４】
例えば、図１に示すように、'００'，'０１'，'１０'，'１１'というシンボルにそれぞれ対応する遅延時間を０．１ｍｓｅｃ，０．２ｍｓｅｃ，０．３ｍｓｅｃ，０．４ｍｓｅｃとする。このとき、各区間に４つのエコーの中から１つを重畳した場合、人工エコーが埋め込まれた各区間は、それぞれ２ｂｉｔの情報を表現することになる。
【０００５】
音響信号からデータを抽出する際には、ケプストラム係数列と言われる特徴量を用いる。ケプストラム係数列は、以下の式（１）で与えられる。
Ｃｅｐｓｔｒｕｍ＝ＩＦＦＴ（ｌｏｇ（ａｂｓ（ＦＦＴ（Ｘ））））  ・・・式（１）
Ｘ：デジタル録音されたオーディオサンプルのベクトル
ＦＦＴ：フーリエ変換を実行する関数
ａｂｓ：絶対値取得
ｌｏｇ：対数（対数の底は任意）
ＩＦＦＴ：逆フーリエ変換を実行する関数
式（１）により得られたベクトル列は、ケプストラム係数列と呼ばれ、入力音源に重畳音が含まれているかを解析するために用いられる。
【０００６】
図２は、ケプストラム解析結果の一例を示す図である。入力音源に対して時間Ｔだけ遅延させたエコー音を重畳したとする。この場合、ケプストラム解析した結果では、ケプストラム空間上のＴの位置に鋭いピークを観測することができる。図２に示すグラフの横軸を、時間軸に対してケフレンシと称する。
【０００７】
受信側の抽出処理では、予め埋め込まれ得る人工エコーの遅延時間は既知であるという前提を用いる。人工エコー群に対応する位置のケプストラム係数の中から最大の値を持つケフレンシが選択され、そのケフレンシ（遅延時間）に対応するシンボルが埋め込まれているものと判定される。人口エコー群に対応する位置とは、図１に示す場合、０．１ｍｓｅｃ，０．２ｍｓｅｃ，０．３ｍｓｅｃ，０．４ｍｓｅｃである。
【０００８】
近年、ＭＥＭＳ（Micro Electro Mechanical Systems）センサや低電力マイクロコントローラによって、携帯電話やタブレットＰＣ（Personal Computer）、ＰＣなどの電力はますます低くなっている。一方で、音響信号のデジタルデータは、加速度センサや温度センサなどの他のセンサと比較してサンプリングレートが高いため、相対的に処理負荷が高い。ここで、受信信号電力と、サンプリング毎の閾値とを比較してサンプリングレートを制御する技術がある（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−３７７０１号公報
【特許文献２】特開２００４−１６５９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
透かし抽出のためのケプストラムを演算するためには、ＦＦＴ等の負荷の高い処理を繰り返し実行する。そのため、抽出処理を実行する装置の消費電力は増大してしまい、装置の動作時間が減少してしまうという問題がある。
【００１１】
よって、エコーハイディングなどのリアルタイムで行う透かし抽出処理を、携帯端末装置などの低消費電力が要求される装置で実行するためには、抽出精度を下げることなく処理量を削減し、省電力を図るとよい。一般的に、サンプリングレートを上げると抽出精度は上がるが消費電力が大きくなり、サンプリングレートを下げると消費電力は小さくなるが抽出精度が下がる。
【００１２】
しかし、従来技術では、透かし信号の抽出精度を下げることなく、省電力を図ることができなかった。
【００１３】
そこで、開示の技術は、透かし信号の抽出精度の劣化を防ぎつつ、電力消費を抑えることができる音処理装置、音処理方法及びプログラムを提供することを目的とする
【課題を解決するための手段】
【００１４】
開示の一態様における音処理装置は、透かし信号が重畳された音響信号を、所定のサンプリングレートでアナログ信号からデジタル信号に変換するＡＤ変換部と、分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定する判定部と、前記判定部による判定結果を記憶する記憶部と、前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御するレート制御部と、を備える。
【発明の効果】
【００１５】
開示の技術によれば、透かし信号の抽出精度の劣化を防ぎつつ、電力消費を抑えることができる。
【図面の簡単な説明】
【００１６】
【図１】エコーハイディングによる情報透かしの一例を示す図。
【図２】ケプストラム解析結果の一例を示す図。
【図３】実施例における音処理装置のハードウェアの一例を示すブロック図。
【図４】実施例におけるプロセッサの機能の一例を示すブロック図。
【図５】透かし信号の抽出の成否判定を説明する図。
【図６】サンプリングレートの状態遷移の一例を示す図。
【図７】同期処理を説明する図。
【図８】サンプリングレートの変更タイミングの一例を示す図。
【図９】実施例における透かし抽出処理の一例を示すフローチャート。
【図１０】実施例における同期処理の一例を示すフローチャート。
【図１１】変形例における音処理装置の概略構成の一例を示す図。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して各実施例について説明する。
【００１８】
［実施例］
＜構成＞
図３は、実施例における音処理装置１０のハードウェアの一例を示すブロック図である。実施例における音処理装置１０は、例えば、音響透かし抽出処理のためのマイクロコントローラである。なお、音処理装置１０は、図３に示すマイクロコントローラを含む携帯端末装置や、タブレット端末、ＰＣ、ゲーム機器などの情報処理装置を音処理装置と称してもよい。
【００１９】
図３に示す音処理装置１０は、マイクセンサ１０２と、ＡＤＣ（アナログデジタルコンバータ）１０４と、バス１０６と、タイマー１０８と、プロセッサ１１０と、メモリ１１２とを有する。なお、メモリ１１２は、プロセッサ１１０に直接接続されているが、バス１０６を介して接続されてもよい。
【００２０】
図３に示すように、プロセッサ１１０は、バス１０６に接続される。バス１０６には、ペリフェラル・デバイスとしてタイマー１０８、ＡＤＣ１０４が接続される。また、ＡＤＣ１０４には、マイクセンサ１０２が接続される。
【００２１】
マイクセンサ１０２は、受信部として機能し、透かし信号が重畳された音響信号のアナログ信号を受信する。音響信号は、音声や楽曲などの信号であり、リアルタイムで透かし信号が抽出可能なデータが重畳されている。リアルタイムで透かし信号が抽出可能な技術として、以下では、エコーハイディングを用いる。マイクセンサ１０２は、受信した音響信号をＡＤＣ１０４に出力する。
【００２２】
ＡＤＣ１０４は、例えばＡＤ（アナログデジタル）変換部として機能する。ＡＤＣ１０４は、マイクセンサ１０２から取得した音響信号を、プロセッサ１１０からの制御により所定のサンプリングレートでアナログ信号からデジタル信号に変換する。
【００２３】
タイマー１０８は、サンプリングのタイミングを割り込みによってプロセッサ１１０に指示する。サンプリングレートは、タイマー１０８に設定されている。例えば、タイマー１０８に設定された所定のサンプリングレートは、プロセッサ１１０により書き換えられる。
【００２４】
プロセッサ１１０は、音響信号のデジタル信号を取得し、タイマー１０８による割り込みタイミングでＡＤＣ１０４に変換指示を出し、透かし抽出処理を実行する。透かし抽出処理は、メモリ１１２の命令メモリ１１２ａに記憶された透かし抽出処理プログラムをロードし、実行することで実現できる。
【００２５】
プロセッサ１１０は、透かし抽出処理の成否の結果をメモリ１１２のデータメモリ１１２ｂに記憶する。プロセッサ１１０の詳細な処理については、図４を用いて後述する。
【００２６】
メモリ１１２は、例えばＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などの記憶部であり、命令メモリ１１２ａと、データメモリ１１２ｂとを有する。命令メモリ１１２ａ及びデータメモリ１１２ｂは、例えばメモリ１１２における記憶領域がそれぞれ異なる。
【００２７】
命令メモリ１１２ａは、プロセッサ１１０により実行される透かし抽出処理プログラムを記憶する。
【００２８】
データメモリ１１２ｂは、音響信号のデジタルデータ列を格納するためのサンプルバッファと、透かしの抽出処理の成否情報を示すデータを格納するための成否バッファとを有する。
【００２９】
サンプルバッファは、例えば最大で５１２サンプルが記憶できる領域である。成否バッファは、例えば６区間の抽出処理の成否を示す１ビットの情報を記憶する領域である。
【００３０】
《プロセッサ》
ここで、プロセッサの機能について説明する。図４は、実施例におけるプロセッサ１１０の機能の一例を示すブロック図である。図４に示すプロセッサ１１０は、透かし抽出処理プログラムを実行することで、取得部２０２と、抽出部２０４と、レート制御部２０６として機能する。
【００３１】
取得部２０２は、バス１０６を介してＡＤＣ１０４から音響信号のデジタル信号を所定のサンプリングレートで取得する。このとき、取得部２０２は、タイマー１０８による割り込みタイミングによりデジタル信号をサンプリングする。取得部２０２は、取得したデジタル信号を抽出部２０４に出力する。
【００３２】
抽出部２０４は、所定のサンプリングレートで取得された音響信号のデジタル信号に対し、このデジタル信号を所定区間に分割し、所定区間毎に、透かし抽出処理を行う。抽出部２０４は、図２に示すように、所定区間毎にケプストラム解析を行って遅延時間に対応する透かし信号を抽出する。
【００３３】
このとき、抽出部２０４は、判定部２４２を有し、判定部２４２は、所定区間毎に、ケプストラム解析結果を用いて透かし信号が抽出されたか否かを判定する。
【００３４】
図５は、透かし信号の抽出の成否判定を説明する図である。図５に示すように、遅延時間に対応するケフレンシでの最大のケプストラム係数と、閾値とを比較することで、抽出の成否を判定する。
【００３５】
判定部２４２は、例えば、最大のケプストラム係数が閾値以上であれば、抽出成功として「１」で表し、最大のケプストラム係数が閾値未満であれば、抽出失敗として「０」で表す。また、閾値は、予め設定された固定値でもよいし、区間内のケプストラム係数の平均値と標準偏差とに基づく値、例えば平均値＋標準偏差でもよい。
【００３６】
図５（Ａ）では、遅延時間に対応するケフレンシであり、ケプストラム係数が最大となるケフレンシは０．２ｍｓｅｃである。このケフレンシのケプストラム係数が閾値以上であるので、判定部２４２は、抽出成功と判定する。
【００３７】
図５（Ｂ）では、遅延時間に対応するケフレンシであり、ケプストラム係数が最大となるケフレンシは０．３ｍｓｅｃである。このケフレンシのケプストラム係数が閾値未満であるので、判定部２４２は、抽出失敗と判定する。
【００３８】
判定部２４２は、図５に示すように、区間毎に抽出の成否の判定を行い、この判定結果を成否バッファに記憶する。
【００３９】
図４に戻り、レート制御部２０６は、メモリ１１２に記憶された判定結果に基づいて、音響信号のデジタル信号をサンプリングするサンプリングレートを制御する。例えば、レート制御部２０６は、複数のサンプリングレートを用意しておき、過去の所定数の区間の判定結果に基づいていずれかのサンプリングレートを選択し、選択したサンプリングレートを用いてタイマー１０８のサンプリングレートを書き換える。
【００４０】
また、レート制御部２０６は、メモリ１１２に記憶された第１所定数の区間の成否の個数をカウントし、成功の個数が閾値以上であれば所定のサンプリングレートを下げ、失敗の個数が閾値以上であれば所定のサンプリングレートを上げるようにしてもよい。第１所定数は、例えば６であるが適宜設定変更可能であり、また、閾値も適宜設定変更可能である。
【００４１】
また、レート制御部２０６は、メモリ１１２に記憶された直近の第２所定数の連続区間の判定結果が、全て成功であれば所定のサンプリングレートを下げ、全て失敗であれば所定のサンプリングレートを上げるようにしてもよい。第２所定数は、例えば３であるが適宜設定変更可能である。
【００４２】
なお、レート制御部２０６は、サンプリングレートが上限に達した場合は上限値以上に上げることはしない。同様に、レート制御部２０６は、サンプリングレートが下限に達した場合は下限値に以下に下げることはしない。
【００４３】
これにより、レート制御部２０６は、最近の透かし信号の抽出結果に基づいて適応的にサンプリングレートを制御することができる。
【００４４】
（具体例）
次に、実施例における透かし抽出処理の具体例について説明する。レート制御部２０６は、ＡＤＣ１０４のサンプリングレートとして例えば３２ｋＨｚ、１６ｋＨｚ、８ｋＨｚを用意する。
【００４５】
また、抽出部２０４は、透かし信号を抽出する区間を１６ｍｓｅｃと設定する。ＡＤＣ１０４のサンプリングレートを上記の通り３２ｋＨｚ、１６ｋＨｚ、８ｋＨｚとする。各区間に含まれるディジタルサンプル数は、それぞれ５１２個、２５６個、１２８個となる。
【００４６】
また、実施例における判定部２４２は、各区間の抽出成否判定のための閾値を、区間単位で動的に決定する。判定部２４２は、各区間のケプストラム係数列の平均値ａｖｇと標準偏差ｓｄを計算し、閾値をａｖｇ＋ｓｄと設定する。
【００４７】
人工エコーの遅延時間に対応するケプストラム係数の値が、この閾値以上の場合には、判定部２４２は、判定対象区間を抽出成功と判定する。遅延時間に対応するケプストラム係数の値が閾値よりも低い場合には、判定部２４２は、抽出失敗と判定する。
【００４８】
また、実施例においては、成否バッファに格納する成否情報は６区間分とし、後述する図６に示すように過去６区間の抽出成否をもってＡＤＣ１０４のサンプリングレートを決定するものとする。
【００４９】
また、レート制御部２０６は、連続３個の区間で成功、連続３個の区間で失敗となれば、６区間分の成否結果の蓄積を待たずに、ＡＤＣ１０４のサンプリングレートを決定してもよい。
【００５０】
図６は、サンプリングレートの状態遷移の一例を示す図である。図６に示すように、サンプリングレートは、例えば３つ（３２ｋｈｚ、１６ｋＨｚ、８ｋｈｚ）であり、３２ｋＨｚでスタートする。なお、サンプリングレートの数は３つに限定されず、複数あればよい。
【００５１】
（現在のサンプリングレートが３２ｋＨｚの場合）
レート制御部２０６は、成否バッファに記憶された６個の判定結果のうち４個以上が失敗を示す場合、又は直近の連続する３個の判定結果が失敗を示す場合、又は変更条件に達していない場合、サンプリングレートをそのままにする。変更条件に達していないとは、成否バッファに３個又は６個の判定結果が記憶されていない場合や、連続３個や６個の判定結果の上記条件を満たさないことである。
【００５２】
また、レート制御部２０６は、成否バッファに記憶された６個の判定結果のうち４個以上が成功を示す場合、又は直近の連続する３個の判定結果が成功を示す場合、サンプリングレートを１６ｋＨｚに決定する。
【００５３】
（現在のサンプリングレートが１６ｋＨｚの場合）
レート制御部２０６は、成否バッファに記憶された６個の判定結果のうち４個以上が失敗を示す場合、又は直近の連続する３個の判定結果が失敗を示す場合、サンプリングレートを３２ｋＨｚに決定する。
【００５４】
また、レート制御部２０６は、変更条件に達していない場合、サンプリングレートをそのままにする。
【００５５】
また、レート制御部２０６は、成否バッファに記憶された６個の判定結果のうち４個以上が成功を示す場合、又は直近の連続する３個の判定結果が成功を示す場合、サンプリングレートを８ｋＨｚに決定する。
【００５６】
（現在のサンプリングレートが８ｋＨｚの場合）
レート制御部２０６は、成否バッファに記憶された６個の判定結果のうち４個以上が失敗を示す場合、又は直近の連続する３個の判定結果が失敗を示す場合サンプリングレートを１６ｋＨｚに決定する。
【００５７】
また、レート制御部２０６は、成否バッファに記憶された６個の判定結果のうち４個以上が成功を示す場合、又は直近の連続する３個の判定結果が成功を示す場合、又は変更条件に達していない場合、サンプリングレートをそのままにする。
【００５８】
これにより、良好に透かし信号を抽出できている場合は、サンプリングレートを下げて電力消費を抑え、透かし信号の抽出が適切にできていない場合は、サンプリングレートを上げて抽出精度を上げることができる。よって、上記構成を有することで、開示の技術は省電力を達成することができる。
【００５９】
＜同期処理＞
透かし抽出処理では、抽出精度を上げるため、プロセッサ１１０の同期処理を行う。図７は、同期処理を説明する図である。図７（Ａ）は、原信号と減衰させた人工エコーを示す。図７（Ａ）に示すように、送信側で、透かし信号（００，０１，１０，１１）を示すエコー（０．１ｍｓｅｃ，０．２ｍｓｅｃ，０．３ｍｓｅｃ，０．４ｍｓｅｃ）以外に、同期用の専用シンボル'Ｓ'に対応させた遅延時間（０．５ｍｓｅｃ）のエコーを重畳する。同期用の専用シンボルは、同期シンボルとも称す。送信側は、この同期用の専用シンボル'Ｓ'を重畳した区間を、定期的に挿入する。
【００６０】
図７（Ｂ）は、入力音源を示す。図７（Ｂ）に示す入力音源を受信側（音処理装置１０）で受信したとする。
【００６１】
図７（Ｃ）は、プロセッサの同期処理を示す。受信側は、例えば、図７（Ｃ）に示すように、各１６ｍｓｅｃの区間の幅よりも狭い幅（例えば４ｍｓｅｃ）の小区間での透かし抽出処理を実行する。受信側は、同期シンボル'Ｓ'の小区間と、データシンボル（'００'，'０１'，'１０'，'１１'）の小区間の変化点を検知し、区間の境界である同機ポイントと認識する。
【００６２】
図７（Ｄ）は、プロセッサ透かし抽出処理の開始点を示す。図７（Ｄ）に示すように、受信側では、同期ポイントを基準として、１６ｍｓｅｃ単位で受信した音響信号を分割する。
【００６３】
これにより、プロセッサ１１０の透かし抽出処理を音源の取得と同期させることができる。なお、同期処理は、定期的に行ってもよいし、最初の一回だけ行うようにしてもよい。
【００６４】
＜変更タイミング＞
プロセッサ１１０は、ＡＤＣ１０４のサンプリングレートを変更する必要がある場合は、現在格納中の区間のサンプルデータを全て取得してからＡＤＣ１０４のレートを変更する。
【００６５】
それは、ケプストラム抽出処理中もタイマー１０８から割込みが発生するため、ＡＤＣ１０４のサンプリングレートをすぐに変更すると、１区間内で異なるサンプリングレートで取得されたサンプルデータが混在してしまう。よって、正常な透かし抽出ができなくなる。
【００６６】
図８は、サンプリングレートの変更タイミングの一例を示す図である。図８に示すように、ＡＤＣ１０４のサンプリングレートを変更するタイミングは、成否判定済みの区間５の直後に続く区間（現在サンプリング中の区間６）の次の区間７の先頭となる。
【００６７】
図８に示す例では、区間０〜５のうち、４個が抽出成功となっているので、レート制御部２０６は、ＡＤＣ１０４のサンプリングレートをダウンサンプリングするよう制御する。このとき、区間６は既にサンプリング中であるので、レート制御部２０６は、区間７からサンプリングレートが変更されるよう、タイマー１０８のサンプリングレートを書き換える。
【００６８】
これにより、レート制御部２０６は、適切なタイミングでサンプリングレートを制御すすることができる。
【００６９】
＜透かし信号の復元＞
実際の処理では、成否判定においてＮＧと判定されたフレームからは正確なデータが抽出されていない可能性が高い。そのため、透かし抽出結果から、重畳されたデータ列の復元の仕組みが導入されるとよい。
【００７０】
１フレームのサンプル数を多く取ることによって、周波数分解能を高めることで透かし抽出精度を向上させてもよいが、データの転送レートが１フレームのサンプル数に対して逆比例の関係になってしまう。
【００７１】
よって、重畳対象の透かし信号列そのものに誤り訂正処理を施した後に、誤り訂正信号が付加された透かし信号を音響信号に埋め込むことが望ましい。受信側では、抽出した透かし信号列の誤り訂正信号を処理することで、あるレベルまでのビット欠落に対して元の透かし信号を完全に復元することが可能となる。
【００７２】
ＬＤＰＣ（低密度パリティ検査符号）などのシャノン限界に近い技術を用いることで、データ転送レートの低下を可能な限り抑えることが可能である。一方で、数ｍＷレベルで動作する低電力性を求められるマイクロコントローラにおいては、訂正能力はＬＤＰＣよりも劣るが、高速かつ処理量の少ない畳み込み符号などの誤り訂正アルゴリズムを適用することが望ましい。
【００７３】
＜動作＞
次に、実施例における音処理装置１０の動作について説明する。図９は、実施例における透かし抽出処理の一例を示すフローチャートである。ステップＳ１０１で、プロセッサ１１０は、同期処理を行う。同期処理については、図１０を用いて後述する。
【００７４】
ステップＳ１０２で、プロセッサ１１０は、初期化処理を行う。プロセッサ１１０は、例えば、タイマーレートの変数であるＲａｔｅ（サンプリングレート）を３２ｋＨｚに設定し、１フレームサンプル数の変数であるＳａｍｐｌｅを５１２に設定する。
【００７５】
ステップＳ１０３で、プロセッサ１１０は、タイマー１０８を動作させる。ステップＳ１０４で、プロセッサ１１０は、タイマー１０８に設定されたＲａｔｅ（３２ｋＨｚ）に応じて、定期的に割り込みが発生すると、ＡＤＣ１０４へＡＤ変換リスクエストを発行する。プロセッサ１１０は、変換結果をＡＤＣ１０４から読み出して取得し、取得したデータをサンプルバッファに格納する。
【００７６】
プロセッサ１１０は、割り込みの回数をカウントし、１フレーム分のサンプルデータが格納されたか否かを判定する。例えば１フレーム分を、１区間分とも称す。１フレーム分のサンプルデータが格納された場合（ステップＳ１０４−ＹＥＳ）ステップＳ１０５に進み、１フレーム分のサンプルデータが格納されていない場合（ステップＳ１０４−ＮＯ）ステップＳ１０４に戻る。
【００７７】
ステップＳ１０５で、プロセッサ１１０（抽出部２０４）は、Ｒａｔｅに設定されたサンプリングレートに従って１フレーム分のサンプルデータに対して透かし抽出処理を行う。プロセッサ１１０は、同期処理で最後に抽出したフレーム（'Ｓ'以外のシンボルが抽出された最初のフレーム）の最初のサンプル点の時間を同期開始点として、データの透かし抽出処理を行う。
【００７８】
ステップＳ１０６で、プロセッサ１１０は、１フレーム（１区間）の透かし抽出が終了すると、サンプルバッファのサンプルデータ列を破棄し、バッファを空にする。
【００７９】
ステップＳ１０７で、プロセッサ１１０は、透かし抽出の終了指示があるか否かを判定する。終了指示はユーザから与えられたり、透かし信号として埋め込まれたりしてもよい。終了指示があれば（ステップＳ１０７−ＹＥＳ）透かし抽出処理を終了し、終了指示がなければ（ステップＳ１０７−ＮＯ）ステップＳ１０８に進む。
【００８０】
ステップＳ１０８で、プロセッサ１１０（判定部２４２）は、抽出されたデータに対し、遅延時間に対応するケプストラム係数の最大ピークと、閾値とを比較する。
【００８１】
ステップＳ１０９で、プロセッサ１１０（判定部２４２）は、最大ピークが閾値以上であれば成功、最大ピークが閾値以下であれば失敗とする成否結果を成否バッファに格納する。閾値は、例えば判定対象の区間毎に変更される値である。
【００８２】
ステップＳ１１０で、プロセッサ１１０（レート制御部２０６）は、成否結果が３個格納済みであるか否かを判定する。３個格納済みであれば（ステップＳ１１０−ＹＥＳ）ステップＳ１１１に進み、３個格納済みでなければ（ステップＳ１１０−ＮＯ）ステップＳ１０４に戻る。
【００８３】
ステップＳ１１１で、プロセッサ１１０（レート制御部２０６）は、成否バッファに格納された直近の連続３個の成否結果が全て成功であるか否かを判定する。全て成功であれば（ステップＳ１１１−ＹＥＳ）ステップＳ１１７に進み、全て成功でなければ（ステップＳ１１１−ＮＯ）ステップＳ１１２に進む。
【００８４】
ステップＳ１１２で、プロセッサ１１０（レート制御部２０６）は、成否バッファに格納された直近の連続３個の成否結果が全て失敗であるか否かを判定する。全て失敗であれば（ステップＳ１１２−ＹＥＳ）ステップＳ１２０に進み、全て失敗でなければ（ステップＳ１１２−ＮＯ）ステップＳ１１３に進む。
【００８５】
ステップＳ１１３で、プロセッサ１１０（レート制御部２０６）は、成否結果が６個格納済みであるか否かを判定する。６個格納済みであれば（ステップＳ１１３−ＹＥＳ）ステップＳ１１４に進み、６個格納済みでなければ（ステップＳ１１３−ＮＯ）ステップＳ１０４に戻る。
【００８６】
ステップＳ１１４で、プロセッサ１１０（レート制御部２０６）は、成否バッファに格納された６個の成否結果のうち４個以上が成功であるか否かを判定する。４個以上が成功であれば（ステップＳ１１４−ＹＥＳ）ステップＳ１１７に進み、４個以上が成功でなければ（ステップＳ１１４−ＮＯ）ステップＳ１１５に進む。
【００８７】
ステップＳ１１５で、プロセッサ１１０（レート制御部２０６）は、成否バッファに格納された６個の成否結果のうち４個以上が失敗であるか否かを判定する。４個以上が失敗であれば（ステップＳ１１５−ＹＥＳ）ステップＳ１２０に進み、４個以上が失敗でなければ（ステップＳ１１５−ＮＯ）ステップＳ１１６に進む。
【００８８】
ステップＳ１１６で、プロセッサ１１０は、成否バッファから最も古いデータ（成否結果）を破棄する。
【００８９】
ステップＳ１１７で、プロセッサ１１０（レート制御部２０６）は、Ｒａｔｅが８ｋＨｚであるか否かを判定する。Ｒａｔｅ＝＝８ｋＨｚであれば（ステップＳ１１７−ＹＥＳ）ステップＳ１１６に進み、Ｒａｔｅ＝＝８ｋＨｚでなければ（ステップＳ１１７−ＮＯ）ステップＳ１１８に進む。
【００９０】
ステップＳ１１８で、プロセッサ１１０（レート制御部２０６）は、Ｒａｔｅ＝Ｒａｔｅ／２、Ｓａｍｐｌｅ＝Ｓａｍｐｌｅ／２に設定する。
【００９１】
ステップＳ１１９で、プロセッサ１１０（レート制御部２０６）は、成否バッファのデータを全て破棄する。
【００９２】
ステップＳ１２０で、プロセッサ１１０（レート制御部２０６）は、Ｒａｔｅが３２ｋＨｚであるか否かを判定する。Ｒａｔｅ＝＝３２ｋＨｚであれば（ステップＳ１２０−ＹＥＳ）ステップＳ１１６に進み、Ｒａｔｅ＝＝３２ｋＨｚでなければ（ステップＳ１２０−ＮＯ）ステップＳ１２１に進む。
【００９３】
ステップＳ１２１で、プロセッサ１１０（レート制御部２０６）は、Ｒａｔｅ＝Ｒａｔｅ×２、Ｓａｍｐｌｅ＝Ｓａｍｐｌｅ×２に設定する。ステップＳ１２１の後は、ステップＳ１１９に進む。
【００９４】
これにより、透かし抽出の成否の状況をみながら、効率的に電力消費を抑えることができる。
【００９５】
図１０は、実施例における同期処理の一例を示すフローチャートである。図１０に示すステップＳ２０１で、プロセッサ１１０は、同期処理の設定を行う。プロセッサ１１０は、例えば、Ｒａｔｅを３２ｋＨｚに設定し、また、Ｓａｍｐｌｅを１２８に設定する。同期処理の１フレームは、図７（Ｃ）に示すように、透かし抽出処理の例えば１／４とする。
【００９６】
ステップＳ２０２で、プロセッサ１１０は、タイマー１０８を動作させる。ステップＳ２０３で、プロセッサ１１０は、タイマー１０８に設定されたサンプリングレート（３２ｋＨｚ）に応じて、定期的に割り込みが発生すると、ＡＤＣ１０４へＡＤ変換リスクエストを発行する。プロセッサ１１０は、変換結果をＡＤＣ１０４から読み出して取得し、取得したデータをサンプルバッファに格納する。
【００９７】
プロセッサ１１０は、割り込みの回数をカウントし、１フレーム分のサンプルデータが格納されたか否かを判定する。１フレーム分のサンプルデータが格納された場合（ステップＳ２０３−ＹＥＳ）ステップＳ２０４に進み、１フレーム分のサンプルデータが格納されていない場合（ステップＳ２０３−ＮＯ）ステップＳ２０３に戻る。
【００９８】
ステップＳ２０４で、プロセッサ１１０（抽出部２０４）は、１フレーム分のサンプルデータに対して透かし抽出処理を行う。
【００９９】
ステップＳ２０５で、プロセッサ１１０は、サンプルバッファから１フレーム分のサンプルデータを破棄する。
【０１００】
ステップＳ２０６で、プロセッサ１１０は、透かし抽出の結果が、同期シンボルである'Ｓ'か否かを判定する。同期シンボルが抽出されれば（ステップＳ２０６−ＹＥＳ）ステップＳ２０７に進み、同期シンボルが抽出されなければ（ステップＳ２０６−ＮＯ）ステップＳ２０３に戻る。
【０１０１】
ステップＳ２０７で、プロセッサ１１０は、タイマー１０８に設定されたサンプリングレート（３２ｋＨｚ）に応じて取得したサンプリングデータをサンプルバッファに格納し、１フレーム分のサンプルデータが格納されたか否かを判定する。１フレーム分のサンプルデータが格納された場合（ステップＳ２０７−ＹＥＳ）ステップＳ２０８に進み、１フレーム分のサンプルデータが格納されていない場合（ステップＳ２０７−ＮＯ）ステップＳ２０７に戻る。
【０１０２】
ステップＳ２０８で、プロセッサ１１０（抽出部２０４）は、１フレーム分のサンプルデータに対して透かし抽出処理を行う。
【０１０３】
ステップＳ２０９で、プロセッサ１１０は、透かし抽出の結果が、同期シンボルである'Ｓ'か否かを判定する。同期シンボルが抽出されれば（ステップＳ２０９−ＹＥＳ）ステップＳ２１０に進み、同期シンボルが抽出されなければ（ステップＳ２０９−ＮＯ）同期処理を終了する。
【０１０４】
ステップＳ２１０で、プロセッサ１１０は、サンプルバッファから１フレーム分のサンプルデータを破棄する。
【０１０５】
つまり、プロセッサ１１０は、同期シンボルを１度抽出した場合は、同期フレームで有ることを意味するので、同期シンボル'Ｓ'の抽出が終了するまで抽出処理を実行する。同期シンボル'Ｓ'以外のシンボルが抽出された場合、同期フレームが終了し、データフレームが開始されたことを意味する。よって、同期処理が終了した後に、図９のステップＳ１０２に進む。
【０１０６】
以上のように、過去の抽出結果の成否判定によって音処理装置１０は動的にＡＤＣ１０４のサンプリングレートを変更しながら透かし抽出を行うことができる。これにより、透かし抽出精度の劣化を抑えながらもサンプリングレートとプロセッサの動作率を削減することで、ＡＤＣ１０４とプロセッサ１１０の電力削減を実現する。
【０１０７】
＜効果＞
音響処理においては、周波数分解能が高いほど高精度な処理が可能となるため、透かし抽出処理においてもＡＤＣのサンプリングレートが抽出精度に大きく影響する。しかしながら、一般的にＡＤＣの消費電力は、サンプリングレートに対して比例するため、高い抽出精度を要求するほど消費電力も高くなってしまう。
【０１０８】
また、ケプストラム演算の負荷において、ＦＦＴは、サンプル数が多いほど計算時間が増大してしまう。例えば、音響信号の各区間におけるサンプル数が１０２４サンプルであった場合に対して、サンプル数が２０４８サンプルである場合を比較する。この場合、ＦＦＴの計算時間は、単純に見積もって２０４８×ｌｏｇ２（２０４８）／１０２４×ｌｏｇ２（１０２４）＝２．２倍となってしまう。
【０１０９】
音処理装置の処理性能は、動作周波数に対して比例するため、ＦＦＴの計算時間が支配的なケプストラム演算処理においても、２．２倍の時間が必要となる。例えば、１６ｋＨｚの音響信号において、区間のサンプル数が１０２４サンプルの時に、音処理装置のケプストラム抽出時間が２０ｍｓｅｃであると仮定する。この仮定において、抽出精度を上げるためにＡＤＣのサンプリングレートを２倍の３２ｋＨｚにしたとすると、概算で４４ｍｓｅｃの抽出時間が必要になる。
【０１１０】
１６ｋＨｚ／１０２４サンプル、あるいは３２ｋＨｚ／２０４８サンプルの場合、各区間の幅が６４ｍｓｅｃであるため、１６ｋＨｚでは約６８（４４／６４）％、３２ｋＨｚでは約３１（２０／６４）％の時間だけ、音処理装置はアイドル状態になる。
【０１１１】
音処理装置がアイドル状態の場合、音処理装置のクロック供給や電源供給を遮断することによって動作電力を極めて小さくすることができる。そのため、動作電力を可能な限り小さくするためには抽出精度を下げない範囲で、可能な限りＡＤＣのサンプリングレートを小さくすることが望ましい。
【０１１２】
しかしながら、入力の音響信号から実際に透かしを抽出するまでは現在のＡＤＣのサンプリングレートが妥当であるかは判定できない。そのため、開示の技術では、時間的に近接した過去の抽出結果から動的にＡＤＣを変更することで抽出精度を保ったまま低電力化を図ることができる。
【０１１３】
特に、透かしの抽出成功／失敗は曲調によって変化し、曲調は導入、間奏など、ある程度長い期間同じ傾向が連続する性質があるため、時間的に近い過去の区間の抽出結果を参照することで、適切なＡＤＣのサンプリングレートを決定することができる。
【０１１４】
また、録音した音響信号には、自然反響音や騒音など様々なノイズ成分が重畳されてしまう。そのため、ノイズ成分を含む状態での抽出結果は、信頼性が低いといえる。よって、判定部２４２は、人工エコーの位置に対応するケプストラムピークの値が閾値よりも小さかった場合は、ノイズの影響を受けたことによって人工エコーの強度が相対的に小さくなってしまったと判断する。この場合、判定部２４２は、抽出結果を信頼できないものと判断し、失敗と判定することができる。
【０１１５】
透かしの抽出精度は、曲調によって変化する場合がある。曲調は、導入、サビ、間奏などある程度長い期間連続する傾向がある。そのため、時間的に近い過去の区間の抽出結果を参照することで、適切なＡＤＣのサンプリングレートを決定することができる。
【０１１６】
よって、音処理装置は、時間的に近い過去Ｎ個の区間からの抽出結果の成否の値を記憶しておき、その中に含まれる失敗と成功の区間の個数から現在のＡＤＣのレートが所望の抽出結果に対して妥当か否かを判定することができる。
【０１１７】
もし、成功の区間が多かった場合、ＡＤＣの現在のサンプリングレートは高すぎる可能性があるため、ＡＤＣのサンプリングレートを下げることによって音処理装置の処理時間が削減され、動作電力が低減される。
【０１１８】
また、失敗の区間が多かった場合、ＡＤＣの現在のサンプリングレートが低すぎるので所望の抽出精度に達していない可能性があるため、音処理装置１０は、ＡＤＣのサンプリングレートを上げることによって抽出精度を向上させる。
【０１１９】
このように、音処理装置１０は、動的にＡＤＣのサンプリングレートを変更することで、抽出精度目標という制約の範囲内で、音処理装置の計算時間と動作電力とを最適化し、不要に高いサンプリングレートでの処理を抑制することができる。
【０１２０】
また、過去Ｎ個の区間の情報を用いる場合、ＡＤＣのサンプリングレートは、抽出精度の変化に可能な限り早く対応して変化させることが望ましい。開示の技術では、成功、あるいは失敗のフレームがＮよりも小さいＬ個連続した場合、無駄な動作電力の削減、あるいは抽出精度の向上のために、ＡＤＣのサンプリングレートを直ちに変更する。よって、Ｎ個の区間の成否情報が蓄積されるのを待たずに、より短い時間でＡＤＣのサンプリングレートを変更させることができる。上記の例では、Ｎは６であり、Ｌは３であるが、この例に限られない。
【０１２１】
なお、Ｎを１とし、区間毎にＡＤＣのサンプリングレートを変更することも考えられる。この場合、データメモリ１１２ｂは必須の構成ではなく、レート制御部２０６は、判定部２４２による判定の都度、レート制御を行ってもよい。
【０１２２】
＜変形例＞
次に、変形例における音処理装置について説明する。
【０１２３】
＜構成＞
図１１は、変形例における音処理装置３０の概略構成の一例を示す図である。図１１に示す音処理装置３０は、制御部３０２と、主記憶部３０４と、補助記憶部３０６と、通信部３０８と、記録媒体Ｉ／Ｆ部３１０とを少なくとも有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
【０１２４】
制御部３０２は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵ（Central Processing Unit）である。また、制御部３０２は、主記憶部３０４や補助記憶部３０６に記憶されたプログラムを実行する演算装置であり、通信部３０８や各記憶部からデータを受け取り、演算、加工した上で、出力部や各記憶部に出力する。
【０１２５】
また、制御部３０２は、例えば補助記憶部３０６に記憶される上記実施例のいずれかの処理を行うプログラムを実行することで、上述した処理を実行することができる。
【０１２６】
主記憶部３０４は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部３０２が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１２７】
補助記憶部３０８は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部３０６は、記録媒体３１２などから取得されたプログラムを記憶しておいてもよい。
【０１２８】
通信部３０８は、有線又は無線で通信を行う。通信部３０８は、例えばサーバなどから送信されたプログラムを補助記憶部３０６に記憶するようにしてもよい。
【０１２９】
記録媒体Ｉ／Ｆ（インターフェース）部３１０は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記録媒体３１２（例えば、フラッシュメモリなど）と音処理装置３０とのインターフェースである。
【０１３０】
また、記録媒体３１２に、所定のプログラムを格納し、この記録媒体３１２に格納されたプログラムは記録媒体Ｉ／Ｆ部３１０を介して音処理装置３０にインストールされる。インストールされた所定のプログラムは、音処理装置３０により実行可能となる。
【０１３１】
図３に示すプロセッサ１１０は、例えば制御部３０２により実現され、図３に示すメモリ１１２は、例えば主記憶部３０４や補助記憶部３０６などにより実現されうる。
【０１３２】
また、透かし抽出プログラムを記録媒体３１２に記録し、このプログラムが記録された記録媒体３１２をコンピュータや携帯端末に読み取らせて、前述した処理を実現させることも可能である。
【０１３３】
なお、記録媒体３１２は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。記録媒体３１２は、搬送波を含まない。
【０１３４】
なお、上記実施例や変形例で説明した音処理装置は、例えば、電車の車内アナウンスに、アナウンスと同じ内容を透かし信号で重畳し、耳の不自由な人が、透かし信号が示すアナウンスを表示部に表示する際に用いられる。これにより、音処理装置は、音に埋め込まれたアナウンスの内容や店舗情報などを知ることなどに適用することができる。
【０１３５】
以上、開示の音処理装置、音処理方法及びプログラムについて詳述したが、上記の実施例や変形例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例や変形例の構成要素を全部又は複数を組み合わせることも可能である。
【０１３６】
なお、以上の実施例に関し、さらに以下の付記を開示する。
（付記）
透かし信号が重畳された音響信号を、所定のサンプリングレートでアナログ信号からデジタル信号に変換するＡＤ変換部と、
分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定する判定部と、
前記判定部による判定結果を記憶する記憶部と、
前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御するレート制御部と、
を備える音処理装置。
（付記２）
前記レート制御部は、
前記記憶部に記憶された第１所定数の区間の成否の個数をカウントし、成功の個数が閾値以上であれば前記所定のサンプリングレートを下げ、失敗の個数が前記閾値以上であれば前記所定のサンプリングレートを上げる付記１記載の音処理装置。
（付記３）
前記レート制御部は、
前記記憶部に記憶された直近の第２所定数の連続区間の判定結果が、全て成功であれば前記所定のサンプリングレートを下げ、全て失敗であれば前記所定のサンプリングレートを上げる付記１又は２記載の音処理装置。
（付記４）
前記音響信号は、重畳されるエコーの遅延時間によって前記透かし信号が埋め込まれ、
前記判定部は、
前記所定区間のケプストラム解析結果により、前記遅延時間に対応するケプストラム係数と、該所定区間のケプストラム係数列の平均値と標準偏差とに基づく閾値とを比較することで、前記抽出の成否を判定する付記１乃至３いずれか一項に記載の音処理装置。
（付記５）
透かし信号が重畳された音響信号を、所定のサンプリングレートでＡＤ変換部によりアナログ信号からデジタル信号に変換し、
分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定し、
前記所定区間毎の判定結果を記憶部に記憶し、
前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御する処理をコンピュータが実行する音処理方法。
（付記６）
透かし信号が重畳されたアナログ信号の音響信号に対し、所定のサンプリングレートで変換されたデジタル信号を取得し、
分割された前記デジタル信号の所定区間毎に、前記透かし信号の抽出の成否を判定し、
前記所定区間毎の判定結果を記憶部に記憶し、
前記記憶部に記憶された判定結果に基づいて、前記所定のサンプリングレートを制御する処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１３７】
１０  音処理装置
１０２  マイクセンサ
１０４  ＡＤＣ
１０６  バス
１０８  タイマー
１１０  プロセッサ
１１２  メモリ
２０２  取得部
２０４  抽出部
２０６  レート制御部
２４２  判定部
【図１】
2014041255.tif 000003
【図２】
2014041255.tif 000004
【図３】
2014041255.tif 000005
【図４】
2014041255.tif 000006
【図５】
2014041255.tif 000007
【図６】
2014041255.tif 000008
【図７】
2014041255.tif 000009
【図８】
2014041255.tif 000010
【図９】
2014041255.tif 000011
【図１０】
2014041255.tif 000012
【図１１】
2014041255.tif 000013