(57)【特許請求の範囲】
【請求項１】
音声信号に補助情報を埋め込む方法であって、
音声信号をサンプリングして音声ブロックを生成するステップと、
コードを受け取るステップと、
前記コードを表すために使用される周波数成分を決定するステップであって、異なる周波数成分集合が、それぞれ異なる情報を表し、各周波数成分集合から一つの周波数成分が一つのコード帯域に配置され、複数のコード帯域が存在し、隣接するコード帯域間の間隔が、各コード帯域の隣接する周波数成分間の間隔以下である、ステップと、
前記情報を表すために使用される周波数成分の振幅を決定するステップであって、前記音声ブロックのマスキング能力によって前記周波数成分の振幅を決定するステップと、
前記情報を表すために使用される前記周波数成分を合成するステップであって、前記決定された振幅で前記周波数成分を合成するステップと、
前記合成されたコード周波数成分と、前記音声ブロックとを結合するステップと、
を含む方法。
【請求項２】
前記情報を表すために使用される前記周波数成分は、可聴周波数範囲内に存在する、
請求項１に記載の方法。
【請求項３】
前記複数のコード帯域は、７つのコード帯域を含む、
請求項１に記載の方法。
【請求項４】
コード帯域内の隣接する周波数成分間の前記間隔は、一つの周波数指数を含む、
請求項３に記載の方法。
【請求項５】
前記隣接するコード帯域間の前記間隔は、一つの周波数指数を含む、
請求項４に記載の方法。
【請求項６】
前記異なる周波数成分集合は、１４４の異なる周波数成分集合を含む、
請求項５に記載の方法。
【請求項７】
各コード帯域は、１４４の異なる周波数指数を含む、
請求項６に記載の方法。
【請求項８】
前記周波数成分集合のうちの少なくとも一つは、同期記号を表す、
請求項７に記載の方法。
【請求項９】
前記同期記号は、当該同期記号の後に続く情報の特性を示す、
請求項８に記載の方法。
【請求項１０】
一つの特定の時点において、単一の周波数成分集合が選択されて前記音声ブロック内に挿入される、
請求項７に記載の方法。
【請求項１１】
前記単一の周波数成分集合は、複数の連続した音声ブロック内に挿入される、
請求項１０に記載の方法。
【請求項１２】
複数の周波数成分を有する周波数成分集合と、コード帯域と、をそれぞれ複数含む音声信号であって、各周波数成分集合の一つの周波数成分が一つのコード帯域に配置され、異なる周波数成分集合がそれぞれ異なるコードを表し、コードを表すよう所定の前記周波数成分集合の各周波数成分に補助情報が埋め込まれた音声信号から前記コードを取得する方法であって、
前記音声信号を周波数領域表現に変換するステップと、
前記補助情報を含む可能性のある、前記周波数領域表現内の各周波数の特性を判定するステップと、
前記補助情報を含む可能性のある、各コード帯域内の周波数領域表現の周波数それぞれの特性を、そのコード帯域全体で正規化するステップであって、前記コード帯域内の周波数の最大特性に対して前記正規化を実行する、ステップと、
前記周波数成分集合毎に正規化された特性を加算して、得られた複数の和のうち最大の和を求めるステップと、
前記最大の和が所定値以上である場合に、前記最大の和が得られた周波数成分集合に埋め込まれた前記補助情報が表すコードを、前記音声信号に埋め込まれたコードであると判定するステップと、
を含む方法。
【請求項１３】
各周波数成分集合から一つの周波数成分が一つのコード帯域内に配置され、複数のコード帯域が存在し、隣接するコード帯域間の間隔が、各コード帯域の隣接する周波数成分間の間隔以下である、
請求項１２に記載の方法。
【請求項１４】
前記補助情報を含む可能性のある各周波数の特性は、前記周波数の振幅である、
請求項１３に記載の方法。
【請求項１５】
前記補助情報を含む可能性のある各周波数の特性は、前記周波数のエネルギである、
請求項１３に記載の方法。
【請求項１６】
補助情報の最初の部分が特定された後で処理される周波数の数を低減するステップを更に含む、
請求項１２に記載の方法。
【請求項１７】
補助情報の前記最初の部分は、同期情報を含む、
請求項１６に記載の方法。
【請求項１８】
音声信号に補助情報を埋め込む装置であって、
前記音声信号をサンプリングして音声ブロックを生成するサンプリング装置と、
コードを受け取り、受け取ったコードを表現するために使用される周波数成分を決定するコード周波数セレクタであって、異なる周波数成分集合が、それぞれ異なる情報を表し、各周波数成分集合から一つの周波数成分が一つのコード帯域内に配置され、複数のコード帯域が存在し、隣接するコード帯域間の間隔が、各コード帯域の隣接する周波数成分間の間隔以下である、コード周波数セレクタと、
前記情報を表すために使用される前記周波数成分の振幅を決定するマスキング評価装置であって、前記音声ブロックのマスキング能力によって前記周波数成分の振幅を決定するマスキング評価装置と、
前記情報を表すために使用される前記周波数成分を合成するコード合成装置であって、前記決定された振幅で、前記周波数成分を合成するコード合成装置と、
前記合成されたコード周波数成分と、前記音声ブロックとを結合する結合器と、
を含む、装置。
【請求項１９】
前記情報を表すために使用される前記周波数成分は、可聴周波数範囲内に存在する、
請求項１８に記載の装置。
【請求項２０】
前記複数のコード帯域は、７つのコード帯域を含む、
請求項１８に記載の装置。
【請求項２１】
コード帯域内の隣接する周波数成分間の前記間隔は、一つの周波数指数を含む、
請求項２０に記載の装置。
【請求項２２】
隣接するコード帯域間の前記間隔は、一つの周波数指数を含む、
請求項２１に記載の装置。
【請求項２３】
前記異なる周波数成分集合は、１４４の異なる周波数成分集合を含む、
請求項２２に記載の装置。
【請求項２４】
各コード帯域は、１４４の異なる周波数指数を含む、
請求項２３に記載の装置。
【請求項２５】
前記周波数成分集合のうちの少なくとも一つは、同期記号を表す、
請求項２４に記載の装置。
【請求項２６】
前記同期記号は、当該同期記号の後に続く情報の特性を示す、
請求項２５に記載の装置。
【請求項２７】
特定の一時点において、単一の周波数成分集合が選択されて前記音声ブロック内に挿入される、
請求項２４に記載の装置。
【請求項２８】
前記単一の周波数成分集合は、複数の連続した音声ブロック内に挿入される、
請求項２７に記載の装置。
【請求項２９】
複数の周波数成分を有する周波数成分集合と、コード帯域と、をそれぞれ複数含む音声信号であって、各周波数成分集合の一つの周波数成分が一つのコード帯域に配置され、異なる周波数成分集合がそれぞれ異なるコードを表し、コードを表すよう所定の前記周波数成分集合の各周波数成分に補助情報が埋め込まれた音声信号から前記コードを取得する装置であって、
前記音声信号を周波数領域表現に変換する時間−周波数領域変換装置と、
コード周波数モニタと、を含み、
前記コード周波数モニタは、前記補助情報を含む可能性のある前記周波数領域表現の各周波数の特性を判定し、前記補助情報を含む可能性のある、各コード帯域内の前記周波数領域表現の周波数それぞれの特性を、そのコード帯域全体で正規化し、前記正規化は、前記コード帯域内の周波数の最大特性に対して実行され、前記周波数成分集合毎に正規化された特性を加算して、得られた複数の和のうち最大の和を求め、かつ、前記最大の和が所定値以上である場合に、前記最大の和が得られた周波数成分集合に埋め込まれた前記補助情報が表すコードを、前記音声信号に埋め込まれたコードであると判定する、装置。
【請求項３０】
各周波数成分集合から一つの周波数成分が一つのコード帯域内に配置され、複数のコード帯域が存在し、隣接するコード帯域間の間隔が、各コード帯域の隣接する周波数成分間以下である、
請求項２９に記載の装置。
【請求項３１】
前記補助情報を含む可能性ある各周波数の特性は、前記周波数の振幅である、
請求項３０に記載の装置。
【請求項３２】
前記補助情報を含む可能性のある各周波数の特性は、前記周波数のエネルギである、
請求項３０に記載の装置。
【請求項３３】
補助情報の最初の部分が特定された後で処理される周波数の数を削減することを更に含む、
請求項３０に記載の装置。
【請求項３４】
補助情報の前記最初の部分は、同期情報を含む、
請求項３３に記載の装置。
【請求項３５】
コンピュータを、
音声信号をサンプリングして、音声ブロックを生成する手段と、
コードを受け取る手段と、
前記コードを表すために使用される周波数成分を決定する手段であって、異なる周波数成分集合が、それぞれ異なる情報を表し、各周波数成分集合から一つの周波数成分が一つのコード帯域内に配置され、複数のコード帯域が存在し、隣接するコード帯域間の間隔が、各コード帯域の隣接する周波数成分間の間隔以下である、手段と、
前記情報を表すために使用される前記周波数成分の振幅を決定する手段であって、前記音声ブロックのマスキング性能によって前記周波数成分の振幅を決定する手段と、
前記情報を表すために使用される前記周波数成分を合成する手段であって、前記決定された振幅で、前記周波数成分を合成する手段と、
前記合成されたコード周波数成分と、前記音声ブロックとを結合する手段と、
として機能させるためのプログラムを記録したコンピュータ可読記録媒体。
【請求項３６】
前記情報を表すために使用される前記周波数成分は、可聴周波数範囲内に存在する、
請求項３５に記載のコンピュータ可読記録媒体。
【請求項３７】
前記複数のコード帯域は、７つのコード帯域を含む、
請求項３５に記載のコンピュータ可読記録媒体。
【請求項３８】
コード帯域内の隣接する周波数成分間の前記間隔は、一つの周波数指数を含む、
請求項３７に記載のコンピュータ可読記録媒体。
【請求項３９】
隣接するコード帯域間の前記間隔は、一つの周波数指数を含む、
請求項３８に記載のコンピュータ可読記録媒体。
【請求項４０】
前記異なる周波数成分集合は、１４４の異なる周波数成分集合を含む、
請求項３９に記載のコンピュータ可読記録媒体。
【請求項４１】
各コード帯域は、１４４の異なる周波数指数を含む、
請求項４０に記載のコンピュータ可読記録媒体。
【請求項４２】
前記周波数成分集合のうちの少なくとも一つは、同期記号を表す、
請求項４１に記載のコンピュータ可読記録媒体。
【請求項４３】
前記同期記号は、当該同期記号の後に続く情報の特性を示す、  請求項４２に記載のコンピュータ可読記録媒体。
【請求項４４】
特定の一時点において、単一の周波数成分集合が選択されて前記音声ブロック内に挿入される、
請求項４１に記載のコンピュータ可読記録媒体。
【請求項４５】
前記単一の周波数成分集合は、複数の連続した音声ブロック内に挿入される、
請求項４４に記載のコンピュータ可読記録媒体。
【請求項４６】
コンピュータに、複数の周波数成分を有する周波数成分集合と、コード帯域と、をそれぞれ複数含む音声信号であって、各周波数成分集合の一つの周波数成分が一つのコード帯域に配置され、異なる周波数成分集合がそれぞれ異なるコードを表し、コードを表すよう所定の前記周波数成分集合の各周波数成分に補助情報が埋め込まれた音声信号から前記コードを取得させるプログラムを記録したコンピュータ可読記録媒体であって、
コンピュータを、
前記音声信号を周波数領域表現に変換する手段と、
前記補助情報を含む可能性のある、前記周波数領域表現の各周波数の特性を判定する手段と、
前記補助情報を含む可能性のある、各コード帯域内の周波数領域表現の周波数それぞれの特性を、そのコード帯域全体で正規化する手段であって、前記コード帯域内の周波数の最大特性に対して前記正規化を実行する、手段と、
前記周波数成分集合毎に正規化された特性を加算して、得られた複数の和のうち最大の和を求める手段と、
前記最大の和が所定値以上である場合に、前記最大の和が得られた周波数成分集合に埋め込まれた前記補助情報が表すコードを、前記音声信号に埋め込まれたコードであると判定する手段と、
として機能させるためのプログラムを記録したコンピュータ可読記録媒体。
【請求項４７】
各周波数成分集合から一つの周波数が一つのコード帯域内に配置され、複数のコード帯域が存在し、隣接するコード帯域間の間隔が、各コード帯域の隣接する周波数成分間の間隔以下である、
請求項４６に記載のコンピュータ可読記録媒体。
【請求項４８】
前記補助情報を含む可能性のある各周波数の特性は、前記周波数の振幅である、
請求項４７に記載のコンピュータ可読記録媒体。
【請求項４９】
前記補助情報を含む可能性のある各周波数の特性は、前記周波数のエネルギである、
請求項４７に記載のコンピュータ可読記録媒体。
【請求項５０】
補助情報の最初の部分が特性された後で処理される周波数の数を削減することを更に含む、
請求項４６に記載のコンピュータ可読記録媒体。
【請求項５１】
補助情報の前記最初の部分は、同期情報を含む、
請求項５０に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本願は、２００７年１１月１２日および２００８年４月１０日にそれぞれ出願された米国仮出願第６０／９８７，２８０号および第６１／０４３，９５２号の利益を主張するものであり、前記出願は、その開示内容全体を本願明細書の一部として援用する。
【０００２】
本開示は、概して媒体を監視することに関し、特に、音声透かし、透かし検出、および透かし抽出を実行する方法ならびに装置に関する。
【背景技術】
【０００３】
媒体情報、より具体的には、音声ストリーム（たとえば、音声情報）を識別することは、テレビ、ラジオ、または各種の他の媒体に対する観客の視聴を評価するために有用である。たとえば、テレビ視聴率の測定用途において、媒体の音声または映像にコードを挿入することができ、このコードは、後に媒体が提示された（たとえば、監視世帯で再生された）ときに、監視サイトで検出される。元の信号に埋め込まれたコード／透かしの情報ペイロードは、一意の供給元識別情報、放送時間、トランザクションメタデータ、または追加コンテンツメタデータで構成することができる。監視サイトは、一般に、たとえば、媒体を視聴する複数または単数の視聴者の媒体消費量が監視されている世帯等の場所を含む。たとえば、監視サイトにおいて、音声もしくは映像、またはその両方のコードが取り込まれ、取り込まれたコードは、選択されたチャンネル、ラジオ放送局、媒体供給元等に関連付けられた、媒体の音声ストリームまたは映像ストリームに関連付けることができる。この後、収集されたコードは、分析のために中央データ収集施設に送られる。ただし、媒体の視聴または消費に関するデータの収集は、家庭内の視聴や消費に限定される必要はない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
【課題を解決するための手段】
【０００５】
【図面の簡単な説明】
【０００６】
【図１】複合テレビジョン信号の音声部分に追加された番組識別コードを利用する放送番組視聴者測定システムを示す模式図である。
【図２】図１のエンコーダの一例を示すブロック図である。
【図３Ａ】図２のコード周波数セレクタで利用できるコード周波数構成の個別の例を示す表である。
【図３Ｂ】図２のコード周波数セレクタで利用できるコード周波数構成の個別の例を示す表である。
【図３Ｃ】図２のコード周波数セレクタで利用できるコード周波数構成の個別の例を示す表である。
【図４】図２の一例の符号器で実行できる処理の一例を示すフローチャートである。
【図５】図１の復号器の一例を示すブロック図である。
【図６】図４の一例の復号器で実行できる処理の一例を示すフローチャートである。
【図７】前記処理の一部もしくは全てを実行するために、または本明細書に記載したシステム例、装置例、および方法例のうちの少なくともいずれかの一部もしくは全てを実施するために、利用およびプログラムする、または利用もしくはプログラムすることができるプロセッサプラットフォームの一例を示す模式図である。
【発明を実施するための形態】
【０００７】
下記の説明では、それぞれ音声透かしおよび透かし検出としても広く知られている音声の符号化および復号化を例として参照する。本明細書の文脈において、音声は、通常の人間の可聴スペクトル内に入る周波数を持つ、任意のタイプの信号であってよいことに留意されたい。たとえば、音声は、発話、音楽、音声および映像の少なくともいずれかの番組または作品（たとえば、テレビ番組、映画、インターネット映像、ラジオ番組、コマーシャルスポット等）の音声部分、メディアプログラム、雑音、または各種他の音であり得る。
【０００８】
一般に、音声の符号化では、音声内に一つ以上のコードを挿入し、理想的には、そのコードを、音声の聴取者に対して不可聴であるようにしておく。ただし、特定の状況においては、前述のコードが、特定の聴取者にとって可聴であり得る場合もある。また、下記において、音声内に符号化または埋め込むことができるコードに言及するが、これらのコードは透かしと呼ばれることもある。音声に埋め込まれるコードは、各種の適切な長さであってよく、情報にコードを割り当てる各種の適切な技法を選択することができる。また、後述するように、コードは、音声内に埋め込まれる、選択された周波数を持つ信号によって表される記号に変換することができる。各種の適切な符号化または誤り訂正技術を利用して、コードを記号に変換することができる。
【０００９】
下記の例は、概して、コード等の情報と共に音声信号を符号化し、その情報を復号化プロセスによって音声から取得することに関する。下記の符号化および復号化プロセスの例は、複数の異なる技術用途において、一つの場所から別の場所に情報を運ぶために利用することができる。
【００１０】
本明細書に記載する符号化および復号化プロセスの例は、放送番組の識別を行うために利用できる。このような例において、作品は、その放送前に、作品の供給元、作品の放送時間、作品の配布チャンネル、またはシステムの作業者に関連があると見なされる各種の他の情報を表すコードを包含するように符号化される。作品が提示される（たとえば、テレビ、ラジオ、演算装置、または各種の他の適切な装置で再生される）ときに、その提示領域内の人々には、その作品のみが露呈するのではなく、当人たちは気づかないことではあるが、その作品に埋め込まれたコードも露呈している。したがって、前記人々には、マイクロホンベースのプラットフォームで動作する復号器も提供されるため、作品は、自由音場検出を用いて復号器で取得することができると共に、作品を処理して、その作品からコードを抽出することができる。次に、コードは、ログに記録して、更なる処理のために中央の施設に送り返すことができる。マイクロホンベースの復号器は、専用の独立型装置であってもよいが、携帯電話を利用して、またはマイクロホンと、復号化処理およびコードログ記録動作を実行するソフトウェアとを備える各種他のタイプの装置を利用して実施されてもよい。これに代えて、有線接続によって作品およびその付属コードを取得できるときには、有線のシステムが利用されてもよい。
【００１１】
本明細書に記載する符号化処理および復号化処理の例は、たとえば、著作権で保護された音声および関連する映像の少なくともいずれかのコンテンツを特定のコードでマーキングすることによって、音声作品もしくは映像作品、またはその両方に関するトラッキングおよびフォレンジック（forensics）の少なくともいずれかに利用することができる。符号化処理および復号化処理の例は、該当の作品が消費者によって購入されたときに、その作品に一意のコードが挿入されるトランザクションコード設定システムの実装に利用することができる。これにより、媒体の配布において作品の供給元を識別することができる。購入行動は、作品が収容された有形の媒体（たとえば、コンパクトディスク等）を購入者が物理的に受け取ることを含んでも、またはインターネット等のネットワークを介して作品をダウンロードすることを含んでもよい。トランザクションコード設定システムとの関連において、同一作品の各購入者は、その作品を受け取るが、各購入者によって受け取られる作品は、異なるコードを用いて符号化される。すなわち、作品に挿入されたコードは、購入者にとっての個人用のものであり、購入者によって購入された各作品は、その購入者のコードを含むことができる。これに代えて、各作品は、順次に割り当てられるコードを用いて符号化されてもよい。
【００１２】
また、本明細書に記載する符号化および復号化技術の例は、ステガノグラフィ（steganographic）方式でコードを隠すことによって、その隠されたコードを利用して、当該コードに応答するようにプログラムされた目的の装置を制御する制御機能を実行することに利用できる。制御データは、たとえば、発話信号や、各種他の音声信号の中に隠すことができる。提示された音声信号の領域内の復号器は、受け取った音声を処理して隠されたコードを取得する。コードを取得した後、前記目的の装置は、そのコードに基づいて所定の動作を行う。このことは、たとえば、店舗内に提示されている音声に基づいて、店舗内の広告を変更する場合等に有用であり得る。たとえば、音声コマーシャルに埋め込まれたコードを利用することによって、店舗内の掲示板広告のスクロールと、店舗内に提示されている音声コマーシャルとを同期させることができる。
【００１３】
図１に、符号化および復号化システム１００の例を示す。本例のシステム１００は、たとえば、テレビ視聴率測定システムであってよく、このシステムは、本明細書に記載する符号化および復号化処理を詳しく説明するための背景として提示するものである。本例のシステム１００は、音声信号１０４にコード１０３を付加して、符号化音声信号を生成する符号器１０２を含む。コード１０３は、各種の選択された情報を表すものであってよい。たとえば、媒体の監視に関して、コード１０３は、テレビ放送や、ラジオ放送等の放送媒体番組の識別情報を表すことができる。また、コード１０３は、そのコード１０３が音声に挿入された時間、または媒体の放送時間を表すタイミング情報を含むことができる。代替の構成として、コードは、下記で説明するように、一つ以上の目的の装置の動作を制御することに利用される制御情報を含んでもよい。
【００１４】
音声信号１０４は、たとえば、声、音楽、雑音、コマーシャル広告音声、テレビ番組に関連付けられた音声、ライブパフォーマンス等を含む任意の形式の音声であってよい。図１の例において、符号器１０２は、符号化音声信号を送信器１０６に渡す。送信器１０６は、符号化音声信号と、その符号化音声信号に関連付けられた各種の映像信号１０８とを一緒に送信する。一部の例において、符号化音声信号は、対応する映像信号１０８を有していてもよいが、符号化音声信号は、必ずしも対応する映像を有する必要はない。
【００１５】
図１に示した本例のシステム１００の送信側には、単一の送信器１０６が示されているが、この送信側は、より複雑なものであってもよく、音声信号１０４を送信できる配布経路内に複数のレベルを含むことができる。たとえば、音声信号１０４は、全国ネットワークレベルで生成することができ、その音声信号１０４をローカルネットワークレベルに渡して地方に配布することができる。したがって、符号器１０２は、送信器１０６より手前で送信側の列に図示されているが、音声信号１０４の配布経路全体の中で一つ以上の符号器が配設されてもよい。これにより、音声信号１０４は、複数レベルで符号化することができ、その複数のレベルに関連付けられた複数の埋め込みコードを含むことができる。符号化および符号器の例についての更なる詳細を下記に示す。
【００１６】
送信器１０６は、自由空間伝搬により（たとえば、地上または衛星通信リンクを介して）符号化音声信号を配布できる無線周波数（ＲＦ）送信器、またはケーブル、ファイバ等によって符号化音声信号を配布するために用いられる送信器を一つ以上含むことができる。一例において、送信器１０６を用いて、広範囲の地理領域全体に符号化音声信号を配布することができる。他の事例において、送信器１０６は、限定された地理領域に符号化音声信号を配布してもよい。この送信処理は、符号化音声信号を無線周波数にアップコンバージョンして、符号化音声信号の伝搬を可能にすることを含んでよい。これに代えて、送信処理は、インターネット、広域ネットワーク、ローカルエリアネットワーク等の一つ以上のネットワーク上で送信できるデジタルビットまたはデジタルビットのパケットの形式で符号化音声信号を配布することを含んでもよい。このように、符号化音声信号は、搬送波信号によって、情報パケットによって、または音声信号を配布する任意の適切な技法によって搬送することができる。
【００１７】
受信器１１０は、媒体の監視の関連では、統計的に選択された測定サイト１１２に配置できるものであるが、この受信器１１０によって符号化音声信号が受信されると、受信されたプログラム信号の音声信号部分が処理されて、コードが復元される。ただし、このコードの存在は、符号化音声信号が受信器１１０のスピーカ１１４によって提示されたときにも、視聴者には知覚されない（またはほとんど知覚されない）。このため、復号器１１６は、受信器１１０において利用できる音声出力１１８に直に接続されるか、または音声が再生されるスピーカ１１４の近くに配置されるマイクロホン１２０に接続される。受信する音声信号は、モノラル形式またはステレオ形式のいずれであってもよい。復号化および復号器の例について、下記で更に詳しく説明する。
【００１８】
［音声符号化］
前述したように、符号器１０２は、音声１０４内に、不可聴（またはほぼ不可聴）の一つ以上のコードを挿入して、符号化音声を生成する。図２に、符号器１０２の一例を示す。一実装例において、図２の例の符号器１０２は、音声１０４を受け取るサンプリング装置２０２を含む。サンプリング装置２０２は、マスキング評価装置２０４に連結され、マスキング評価装置２０４は、サンプリングされた音声について、中にコードを隠せる能力を評価する。コード１０３は、コード周波数セレクタ２０６に供給され、コード周波数セレクタ２０６は、音声内に挿入されるコード１０３を表すために使用される音声コード周波数を決定する。コード周波数セレクタ２０６は、記号へのコードの変換処理、および任意の適切な検出または訂正の符号化処理の少なくともいずれかを含むことができる。コード１０３を表すために利用される指定のコード周波数についての指示は、マスキング評価装置２０４に渡され、その結果、マスキング評価装置２０４は、音声１０４によるマスキングを判定すべき対象である周波数を把握する。また、コード周波数についての指示は、コード合成装置２０８に供給され、コード合成装置２０８は、コード周波数セレクタ２０６によって指定された周波数を有する正弦波信号を生成する。結合器２１０は、コード合成装置２０８からの合成コード周波数、およびサンプリング装置に供給された音声の両方を受け取り、その２つを結合して、符号化音声を生成する。
【００１９】
符号器１０２に、アナログ形式で音声１０４が供給される一つの例において、サンプリング装置２０２は、アナログ−デジタル（Ａ／Ｄ）変換器、または各種他の適切なデジタイザ（digitizer）を利用して実装することができる。サンプリング装置２０２は、たとえば、４８，０００ヘルツ（Ｈｚ）、またはナイキスト基準を満たしながら音声をサンプリングするのに適した各種の他のサンプリングレートで、音声１０４をサンプリングすることができる。たとえば、音声１０４の周波数限界が、１５，０００Ｈｚに設定されている場合、サンプリング装置２０２は、３０，０００Ｈｚで動作してよい。サンプリング装置２０２からの各サンプルは、デジタルビット列によって表現することができ、このデジタルビット列において、列内のビット数は、サンプリングが実行される精度を示す。たとえば、サンプリング装置２０２は、８ビット、１６ビット、２４ビット、または３２ビットのものを生成できる。
【００２０】
音声１０４をサンプリングすることに加え、本例のサンプリング装置２０２は、一緒に処理されることになる多数のサンプル（すなわち、音声ブロック）を蓄積する。たとえば、本例のサンプリング装置２０２は、１回の処理でマスキング装置２０４に渡される５１２サンプルの音声ブロックを蓄積する。これに代わる一つの例において、マスキング評価装置２０４は、処理前に、多数（たとえば、５１２）のサンプルをバッファに蓄積できるアキュムレータを含んでもよい。
【００２１】
マスキング評価装置２０４は、サンプル（たとえば、５１２サンプル）を受け取るか、または蓄積し、蓄積されたサンプルについて、人間の聴力に対してコード周波数を隠せる能力を判定する。すなわち、マスキング評価装置は、蓄積サンプルによって表現される音声内にコード周波数を隠すことができるかどうかについて、音声の各臨界帯域を全体として評価してその帯域のエネルギを特定し、各臨界帯域のノイズ的属性またはトーン的属性を特定し、かつ、コード周波数をマスクするための臨界帯域の合計総能力を特定することによって判定する。人の聴覚について実施された実証研究で特定された臨界周波数帯域の幅は、スペクトルの下端の単一周波数帯域から可聴スペクトル上端の１０以上の隣接する周波数を含む帯域まで変動し得る。音声１０４内にコード周波数を隠せるとマスキング評価装置２０４が判断した場合、マスキング評価装置２０４は、音声１０４内にコード周波数を挿入できる振幅レベルを指定し、隠した状態のまま、コード合成装置２０８に振幅情報を提供する。
【００２２】
一例において、マスキング評価装置２０４は、視聴者に知覚可能な変化を伴わずに任意の臨界周波数帯域で生じ得るエネルギＥbまたはマスキングエネルギレベルの最大変化を特定することによって、マスキング評価を実行する。マスキング評価装置２０４によって実行されるマスキング評価は、たとえば、ＭＰＥＧ−ＡＡＣ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｅｎｃｏｄｉｎｇ）音声圧縮規格ＩＳＯ／ＩＥＣ１３８１８−７：１９９７に概説されるとおりに実行することができる。各臨界帯域周波数の音響エネルギは、その周波数付近のマスキングエネルギに影響を与え、マスキング効果を算出するアルゴリズムは、ＩＳＯ／ＩＥＣ  １３８１８−７：１９９７等の規格文書に記載されている。これらの分析を利用して、音声ブロックごとに、トーン性（たとえば、評価対象の音声がどの程度トーンに近いか）、およびノイズ状（すなわち、評価対象の音声がどの程度ノイズに近いか）の特性に起因するマスキング寄与度を判定することができる。更に他の分析では、短期間、一般には５０ｍｓ〜１００ｍｓに亘って音声のマスキング能力を拡張する時間的マスキングを評価することができる。マスキング評価装置２０４による分析の結果、顕著な音声劣化をもたらさずに（たとえば、可聴になることなく）、音声１０４に追加できるコード周波数の振幅についての、臨界帯域ごとの判定が提供される。
【００２３】
一例において、コード周波数セレクタ２０６は、状態に入力コード１０３を対応付けるルックアップテーブルを用いて実施することができ、このルックアップテーブルにおいて、各状態は、符号化音声信号内で強調される複数のコード周波数によって表現される。たとえば、コード周波数セレクタ２０６は、データ状態を冗長的に表現するコード周波数の集合に記号またはデータ状態を関連付ける情報を含むことができる。もちろん、利用するように選択される状態の数は、入力コードの型に基づいたものであってよい。たとえば、２ビットを表す入力コードは、４つの記号または状態のうちの一つ（たとえば、２2）を表すコード周波数に変換できる。他の例において、４ビットの情報を表す入力コードは、１６個の記号または状態のうちの一つ（たとえば、２4）で表現することができる。もちろん、他の符号化処理を利用して、一つ以上の記号または状態にコード１０３を変換するときの誤り訂正を組み込むこともできる。また、一部の例では、音声１０４内に一つ以上のコードが埋め込まれてもよい。
【００２４】
コード周波数構成を示した一例の表を、参照番号３００として図３Ａに示す。この表は、３６０から１３６６の範囲の値を取る周波数指数を含む。これらの周波数指数は、１８，４３２サンプルのブロックのフーリエ変換によって周波数領域で見ると、音声信号に埋め込まれる正弦波の周波数に対応する。実際の周波数ではなく、周波数指数を参照するのは、指数が対応している周波数は、符号器１０２内で用いられるサンプリングレート（sampling rate）および復号器１１６によって処理されるサンプルの数に応じて変化するためである。サンプリングレートが高くなるにつれて、各指数の周波数は、その隣の指数の周波数により近くなる。逆に、サンプリングレートが低いと、隣接する指数は、周波数の間隔が比較的広くなる。４８，０００Ｈｚのサンプリングレートにおいて、図３Ａの表３００に示した指数間の間隔は、２．６Ｈｚである。したがって、周波数指数３６０は、９３６Ｈｚ（２．６Ｈｚ×３６０）に対応する。
【００２５】
図３Ａに示すように、表３００は、列に示される１４４の異なる状態または記号が列挙されている最上段の行３０２を含み、表３００には、最初の３つの状態および最後の状態が記載されている。状態は、コードまたはコードの一部を表現するために選択される。判りやすくするため、３番目の状態と最後の状態の間の状態は、点線のボックスで示されている。各状態は、表３００内の対応する列を占有する。たとえば、状態Ｓ１が占める列は、参照番号３０４で示されている。各列は、複数の周波数指数を含み、この周波数指数は、表３００の左側の列３０６に記載された７つの異なるコード帯域の各周波数を表す。たとえば、列３０４に示されるように、状態Ｓ１は、周波数指数３６０，５０４，６４８，７９２，９３６，１０８０、および１２２４によって表現される。１４４の状態のうちの一つを送信するには、選択された状態の列に存在するコード指数を、１８，４３２サンプルのブロック内で強調する。したがって、状態Ｓ１を送信するためには、指数３６０，５０４，６４８，７９２，９３６，１０８０、および１２２４が強調される。一例の符号器１０２では、１回の処理において、一つの状態の指数のみが強調される。
【００２６】
図３Ａに示すように、各コード帯域は、連続して番号付けされた周波数指数を含み、この周波数指数のうちの一つが各状態に対応する。すなわち、コード帯域０は、周波数指数３６０〜５０３を含み、この各指数は、表３００に示される１４４の異なる状態／記号のうちの一つに対応する。また、システム内の隣接するコード帯域は、１周波数指数だけ離れている。たとえば、コード帯域０は、指数３６０から指数５０３の範囲であり、隣のコード帯域１は、指数５０４から指数６４７の範囲である。したがって、コード帯域０は、隣のコード帯域１から１周波数指数だけ間隔が空いている。図３Ａに示したコード周波数は、互いに周波数が近接し、その結果、マルチパス干渉によって比較的同様の影響を受けると有利である。また、表３００内の高レベルの冗長性は、コードを復元する能力を向上させる。
【００２７】
このように、コード周波数セレクタ２０６が図３Ａの表３００に基づいて動作する場合に、コード周波数セレクタ２０６への入力コードが符号化されるか、または状態Ｓ１にマッピングされたときに、コード周波数セレクタ２０６は、マスキング評価装置２０４およびコード合成装置２０８に対して、符号化信号内で、周波数指数３６０，５０４，６４８，７９２，９３６，１０８０，１２２４を強調すべきであり、その結果、コード合成装置２０８が、周波数指数３６０，５０４，６４８，７９２，９３６，１０８０，１２２４に対応する周波数を有する正弦波を生成すべきであること、およびこの正弦波は、マスキング評価装置２０４によって指定された振幅で生成されるべきであることを指定することで、生成された正弦波を音声１０４内に挿入でき、かつ、その正弦波が不可聴（または、ほぼ不可聴）になるようにする。更に他の例によれば、入力コードによって、音声１０４内に状態Ｓ１４４を符号化すべきであることが識別されると、コード周波数セレクタ２０６は、対応する正弦波を適切な振幅で生成できるように、マスキング評価装置２０４およびコード合成装置２０８に、周波数指数５０３，６４７，７９１，９３５，１０７９，１２２３，１３３６を認識させる。
【００２８】
情報を搬送する、表３００内の状態を選択する際に用いられる符号化は、データブロックおよび同期ブロックを含むことができる。たとえば、前述の１４４の異なる状態を用いてシステムによって符号化されるメッセージは、複数のデータブロックが後に続く同期ブロックで構成される。同期ブロックおよびデータブロックは、それぞれ１８，４３２サンプルの中に符号化され、表３００の一つの列に示されている周波数指数を強調することで、表３００のテーブルの下に示されている状態のうちの一つの指数を強調することによって表現される。
【００２９】
たとえば、同期ブロックは、同期情報を表すように選択された１６の状態のうちの一つの指数を強調することによって表される。すなわち、同期ブロックは、１６個の異なるメッセージ型のうちの一つの始まりを指定する。たとえば、媒体の監視処理について考えた場合、ネットワークテレビ局は、第１の状態を利用して同期を表現することができ、系列の地方局は、第２の状態を利用して同期を表現することができる。したがって、送信信号の最初の部分で、該当する状態に対応付けられた指数を強調することによって、１６の異なる状態のうちの一つが、同期を表す状態として選択されて送信される。同期データの後ろには、情報ペイロードデータが続く。
【００３０】
上記の例において、同期情報を表す１６の状態が、１４４の状態の中でどのように分布しているのかに関して、一例として、１６の状態は、この１６の各状態を表す第１コード周波数を含む周波数範囲が、この周波数範囲と、同様に１６の各状態を表す第２コード周波数を含む隣の周波数範囲とを隔てる周波数の総量よりも大きくなるように選択される。たとえば、状態Ｓ１，Ｓ１０，Ｓ１９，Ｓ２８，Ｓ３７，Ｓ４６，Ｓ５４，Ｓ６３，Ｓ７２，Ｓ８１，Ｓ９０，Ｓ９９，Ｓ１０８，Ｓ１１７，Ｓ１２６，Ｓ１３５が、同期情報が採用し得る想定可能な状態を表すというように、同期情報を表す１６の状態は、テーブル上部の９つの状態ごとに配置することができる。これは、コード帯域０およびコード帯域１において、１３５の指数の周波数指数の幅に対応する。コード帯域０の最上位の想定同期状態（Ｓ１３５）からコード帯域１の最下位の想定同期状態（Ｓ１）までの周波数間隔は、１０周波数指数である。したがって、同期情報を表す周波数指数の各集合の範囲は、隣接する集合を隔てる量（たとえば、１０指数）よりもはるかに大きい（たとえば、１３５指数）。
【００３１】
この例において、１４４の状態空間のうちの同期を表すために利用されない残りの１２８の状態は、情報データの送信に利用することができる。データは、所望のビット数を表現するのに必要ないくつかの適切な状態で表現することができる。たとえば、１６の状態を利用して、１状態につき４ビットの情報を表したり、１２８の状態を利用して、１状態につき７ビットの情報を表したりできる。一例において、データを表すものとして選択される状態は、各データ状態を表す第１コード周波数を含む周波数範囲が、その周波数範囲と、各データ状態を同様に表す第２コード周波数を含む隣の周波数範囲との間を隔てる周波数の量よりも大きくなるように選択される。したがって、潜在的なデータを表すことに用いられる状態は、少なくとも１つのかなり小さい番号を持つ状態（たとえば、Ｓ２）と、少なくとも一つのかなり大きい番号を持つ状態（Ｓ１４４）とを含む。これにより、データを表すことに利用できる状態を含む範囲は、その個別のコード帯域内で広い帯域幅を占めること、および隣接する範囲との間隔が狭いことが保証される。
【００３２】
符号器１０２は、符号化処理を繰り返すことができるため、特定のコードで多数の音声ブロックを符号化できる。すなわち、選択されたコード周波数は、複数の連続した５１２サンプルの音声ブロック内に埋め込むことができる。一例において、記号を表すコード周波数は、５１２サンプルの３６個の連続した音声ブロック、または２５６サンプルの７２個の重複するブロックにおいて繰り返すことができる。したがって、受信側では、フーリエ変換によって１８，４３２サンプルが処理されたときに、強調されたコード周波数が、結果的に得られるスペクトル内で可視になる。
【００３３】
図３Ｂに、コード周波数セレクタ２０６で利用できる代替例の表３３０を示す。図において、表３３０には、４つの状態が最初の行３３２に列挙され、その各状態は、７つのコード帯域３３４内に列挙された対応する周波数指数を含む。これらの周波数指数は、５１２サンプルのブロックのフーリエ変換によって周波数領域で見ると、音声信号に埋め込まれる正弦曲線の周波数に対応する。例を示すと、状態Ｓ１が送信されるとき、コード周波数セレクタ２０６は、周波数指数１０，１４，１８，２２，２６，３０，３４が使用されることを指定する。前述したように、これらの周波数の指定は、適正な振幅を有し、かつ、指定された周波数指数に対応する正弦波を生成して、音声１０４に追加できるように、マスキング評価装置２０４およびコード合成装置２０８に通信される。表３３０に従って動作する一例の符号器１０２において、所望の記号に対応するコード周波数は、その記号を検出可能なものにするため、２５６サンプルの２つの重複するブロック内に符号化される。
【００３４】
図３Ａの表３００と同様に、表３３０は、コード帯域が、隣の記号を表す周波数指数と同じ周波数距離だけ離れていることを示している。たとえば、コード帯域０は、１３の周波数指数を有するコード周波数成分を含み、この周波数指数は、状態Ｓ１を表すコード帯域１の周波数指数１４から１周波数指数である。
【００３５】
図３Ｃの表３６０は、コード周波数セレクタ２０６によって利用されてよい他の例を示しており、この表３６０には、最初の行３６２に２４の状態が列挙され、その各状態は、７つのコード帯域３６４内に列挙された対応する周波数指数を含む。これらの周波数指数は、３０７２サンプルのブロックのフーリエ変換によって周波数領域内で見ると、音声信号に埋め込まれる正弦曲線の周波数に対応する。例を示すと、状態Ｓ１が送信される場合、コード周波数セレクタ２０６は、周波数指数６０，８４，１０８，１３２，１５６，１８０，２０４が使用されることを指定する。前述したように、これらの周波数の指定は、適正な振幅を有し、かつ、指定された周波数指数に対応する正弦波を生成して、音声１０４に追加できるように、マスキング評価装置２０４およびコード合成装置２０８に通信される。
【００３６】
図３Ｃの表３６０に従って動作する一例の符号器１０２において、所望の記号に対応するコード周波数は、２５６サンプルの１２個の重複するブロックの中に埋め込まれる。この実装例において、最初の１６列は、データ記号として使用することができ、１７番目の列は、同期記号として使用できる。残りの７列は、ビデオ・オン・デマンド等の特殊データで、たとえば、列１８，１９，２０，２１，２２，２３の列は補助データ記号として使用することができ、これらの列は、補助同期記号が列２４内に存在する場合にのみ復号される。
【００３７】
前述した表３００および３３０と同様に、表３６０には、コード帯域が、隣の記号を表す周波数指数と同じ周波数距離だけ離れていることが示されている。たとえば、コード帯域０は、８３の周波数指数を有するコード周波数成分を含み、この指数は、状態Ｓ１を表すコード帯域１の周波数指数８４から１周波数指数である。
【００３８】
図２に戻ると、既に説明したように、コード合成装置２０８は、コード周波数セレクタ２０６から、入力コードの指定を含む符号化音声信号を生成するために挿入する必要がある周波数指数の指定を受け取る。この周波数指数の指定に応じて、コード合成装置２０８は、識別された周波数を有する複数の正弦波（または、複数の正弦波を含む一つのコンポジット信号）を生成する。この合成により、正弦波信号、または正弦波信号を表すデジタルデータが得られる。一例において、コード合成装置２０８は、マスキング評価装置２０４によって指定された振幅を有するコード周波数を生成する。他の例において、コード合成装置２０８は、所定の振幅を有するコード周波数を生成し、この振幅は、コード合成装置２０８内に存在するか、または、コード合成装置２０８と結合器２１０の間に配設される一つ以上の利得ブロック（図示せず）で調整することができる。
【００３９】
上記では、正弦波、または正弦波を表すデータを生成するコード合成装置２０８の例を説明したが、コード合成装置の他の実装例も利用可能である。たとえば、正弦波を生成する代わりに、他の例のコード合成装置２０８は、周波数領域係数を出力してもよく、この周波数領域係数を利用して、結合器２１０に供給される音声の特定周波数の振幅を調整する。この方式で、必要とする正弦波を含むように、音声のスペクトルを調整することができる。
【００４０】
結合器２１０は、コード合成装置２０８の出力および音声１０４の両方を受け取り、受け取った出力および音声１０４を結合して、符号化音声を形成する。結合器２１０は、コード合成装置２０８の出力と音声１０４とを、アナログ形式またはデジタル形式で結合することができる。結合器２１０がデジタル結合を実行する場合、コード合成装置２０８の出力は、サンプリング装置２０２に入力される音声１０４ではなく、サンプリング装置２０２の出力と結合される。たとえば、デジタル形式の音声ブロックは、デジタル形式の正弦波と結合することができる。これに代えて、結合処理は、周波数領域内で実行することができ、この周波数領域において、音声の周波数係数は、正弦波を表す周波数係数に従って調整される。更に他の代替例として、正弦波および音声は、アナログ形式で結合することもできる。符号化音声は、アナログ形式またはデジタル形式で、結合器２１０から出力されてよい。結合器２１０の出力がデジタルである場合、この出力は、送信器１０６に接続される前に、アナログ形式に順次変換することができる。
【００４１】
図４に、符号化処理４００の例を示す。本例の処理４００は、図２に示した符号器１０２の例によって、または各種他の適切な符号器によって実行することができる。本例の処理４００は、音声に挿入されるコードを取得した時点（ブロック４０２）で始まる。コードは、データファイル、メモリ、レジスタ、入力ポート、ネットワーク接続、または各種他の適切な技法で取得することができる。
【００４２】
コードを取得した（ブロック４０２）後、本例の処理４００は、コードの埋め込み先である音声をサンプリングする（ブロック４０４）。このサンプリングは、４８，０００Ｈｚ、または他の任意の適切な周波数で実行することができる。次に、本例の処理４００は、音声サンプルを、音声サンプルのブロックとしてまとめる（ブロック４０６）。サンプルのブロックは、たとえば、５１２の音声サンプルを含むことができる。一部の例において、サンプルのブロックは、旧サンプル（たとえば、音声への情報の符号化に既に使用されたサンプル）、および新サンプル（たとえば、音声への情報の符号化にまだ使用されていないサンプル）の両方を含んでいてよい。たとえば、５１２の音声サンプルのブロックは、２５６の旧サンプルと、２５６の新サンプルとを含むことができる。本例の処理４００の後の繰り返し処理において、以前の繰り返し処理から得た２５６の新サンプルは、本例の処理４００の次の繰り返し処理の２５６の旧サンプルとして利用することができる。
【００４３】
本例の処理４００は、次に、音声ブロック（ブロック４０６において取得）内にコード（ブロック４０２において取得）を挿入するために使用されるコード周波数を決定する。これは、コードまたはコードビットが、周波数成分によって表される記号に変換される符号化処理である。前述したように、本例の処理４００は、１つ以上のルックアップテーブルを利用してコードを変換し、そのコードを表す記号に符号化することができ、これらの記号は、音声スペクトル内でコード周波数によって冗長的に表現される。前述したように、音声のブロック内で７つの周波数を使用して、選択された記号を冗長的に表現することができる。コードを表す記号の選択は、誤り符号化処理されたブロック番号の検討等を含むことができる。
【００４４】
コードの挿入先である音声を取得（ブロック４０６）し、かつ、そのコードを表すために使用されるコード周波数を取得（ブロック４０８）したら、処理４００は、選択されたコード周波数をマスクする音声ブロックの能力を演算する（ブロック４１０）。前述したように、マスキング評価処理は、周波数領域への音声ブロックの変換と、音声ブロックのトーン状、またはノイズ状の特性の検討と、ブロック内の各種周波数における振幅の検討とを含むことができる。これに代えて、評価は、時間領域で実行されてもよい。また、マスキングは、以前の音声ブロック内に存在していた音声を検討することを含んでもよい。前述したように、マスキング評価は、たとえば、ＭＰＥＧ−ＡＡＣ音声圧縮規格ＩＳＯ／ＩＥＣ  １３８１８−７：１９９７に準じて実行することができる。マスキング評価の結果は、人間の聴力にとって不可聴、またはほぼ不可聴にコード周波数を維持しながら、音声ブロックに追加されるコード周波数の振幅またはエネルギの決定である。
【００４５】
コード周波数の生成に用いられるべき振幅またはエネルギを決定した（ブロック４１０）後、本例の処理４００は、そのコード周波数を有する一つ以上の正弦波を合成する（ブロック４１２）。この合成は、実際の正弦波をもたらしても、または正弦波を表す等価のデジタルデータをもたらしてもよい。一例において、正弦波は、マスキング評価処理によって指定された振幅で合成することができる。これに代えて、所定の周波数でコード周波数を合成し、その合成の後で、そのコード周波数の振幅を調整してもよい。
【００４６】
次に、本例の処理４００は、音声ブロックに合成コード周波数を結合する（ブロック４１４）。この結合は、音声ブロックを表すデータに、合成正弦波を表すデータを追加することによって実行できるが、各種の他の適切な方式で実行してもよい。
【００４７】
他の例において、コード周波数の合成（ブロック４１２）および結合（ブロック４１４）は、周波数領域において実行することができ、その周波数領域内の音声ブロックを表す周波数係数は、合成正弦波の周波数領域係数ごとに調整される。
【００４８】
既に説明したように、コード周波数は、連続した音声ブロック内に冗長的に符号化される。一例において、コード周波数の特定の集合は、３６の連続したブロック内に符号化される。したがって、本例の処理４００は、必要な繰り返し数を達成したかどうかを監視する（ブロック４１６）（たとえば、処理４００は、本例の処理４００が、３６回繰り返されて、コード周波数を冗長的に符号化したかどうかを判定する）。本例の処理４００が、必要な繰り返しを完了していない（ブロック４１６）場合、本例の処理４００は、音声をサンプリングし（ブロック４０４）、その音声のマスキング特性を分析し（ブロック４１０）、コード周波数を合成し（ブロック４１２）、新たに取得した音声ブロックにコード周波数を結合する（ブロック４１４）ことによって、そのコード周波数で他の音声ブロックを符号化する。
【００４９】
ただし、音声ブロック内に冗長的にコード周波数を符号化するために必要な繰り返しが完了した（ブロック４１６）場合、本例の処理４００は、音声に挿入する次のコードを取得（ブロック４０２）し、本例の処理４００を繰り返す。このように、本例の処理４００は、所定数の音声ブロック内に第１コードを符号化した後で、所定数の音声ブロック内に符号化する次のコードを選択する等を行う。ただし、音声内に埋め込むコードが必ずしも存在しない場合がある。この場合、本例の処理４００は、バイパスされてよい。これに代えて、挿入すべきコードが取得されない場合（ブロック４０２）、合成によってコード周波数が生じない（ブロック４１２）ことで、音声ブロックを改変するコード周波数が存在しないということであってもよい。したがって、本例の処理４００は、引き続き動作してよいが、音声ブロックは、特に、音声に挿入すべきコードが存在しない場合には、必ずしも修正されない。
【００５０】
［音声復号化］
一般に、復号器１１６は、符号器１０２において符号化音声を形成するために音声に挿入されたコード信号を検出する。すなわち、復号器１１６は、自身が処理するコード周波数内の強調のパターンを探し出す。復号器１１６は、強調されているコード周波数を特定した後、強調されたコード周波数に基づいて、符号化音声内に存在する記号を特定する。復号器１１６は、特定した記号を記録すること、または、音声への挿入用として符号器１０２に提供されたコードへと前記記号を復号することができる。
【００５１】
図５に示すように、一例の復号器１１６は、Ａ／Ｄ、または各種の他の適切な技法を用いて実装できるサンプリング装置５０２を含み、このサンプリング装置５０２に、アナログ形式で符号化音声が供給される。図１に示すように、符号化音声は、有線接続または無線接続によって受信器１１０に供給することができる。サンプリング装置５０２は、たとえば、４８，０００Ｈｚのサンプリング周波数で、符号化音声をサンプリングする。もちろん、有利な構成として、復号化時の演算負荷を低減するために、より低いサンプリング周波数を選択することもできる。たとえば、８ｋＨｚのサンプリング周波数において、ナイキスト周波数は４ｋＨｚであり、スペクトル周波数が、ナイキスト周波数より低いことから、埋め込まれた符号信号はすべて保存される。４８ｋＨｚのサンプリングレートでの１８，４３２サンプルのＤＦＴブロック長は、８ｋＨｚのサンプリングレートにおいて、３０７２サンプルに低減される。ただし、この修正されたＤＦＴブロックサイズであっても、コード周波数指数は、オリジナルと同一であり、３６０から１３６７の範囲である。
【００５２】
サンプリング装置５０２からのサンプルは、時間−周波数領域変換装置５０４に送られる。時間−周波数領域変換装置５０４は、離散フーリエ変換（ＤＦＴ）を用いて、または、時間ベースの情報を周波数ベースの情報に変換する各種他の適切な技法を用いて実装することができる。一例において、時間−周波数領域変換装置５０４は、スライディングＤＦＴを用いて実装することができ、このスライディングＤＦＴでは、本例の時間−周波数領域変換装置５０４に新しいサンプルが供給されるたびに、スペクトルが計算される。一例において、時間−周波数領域変換装置５０４は、符号化音声の１８，４３２サンプルを利用して、そのサンプルからスペクトルを特定する。時間−周波数領域変換装置５０４によって生成されるスペクトルの分解能は、スペクトルの生成に使用されるサンプルの数と共に上昇する。したがって、時間−周波数領域変換装置５０４によって処理されるサンプル数は、図３Ａ、図３Ｂ、または図３Ｃの表における指数の選択に用いられる分解能に一致していなければならない。
【００５３】
時間−周波数領域変換装置５０４によって生成されるスペクトルは、コード周波数モニタ５０６に渡され、コード周波数モニタ５０６は、本例の符号器１０２によって挿入されたコードを潜在的に坦持し得る周波数指数に対応するすべての周波数またはスペクトル線を監視する。たとえば、本例の符号器１０２が、図３Ａの表に基づいてデータを送信する場合、コード周波数モニタ５０６は、指数３６０〜１３６６に対応する周波数を監視する。
【００５４】
コード周波数を監視することは、各コード周波数でスペクトルエネルギを評価することを含む。したがって、コード周波数モニタ５０６は、図３Ａの表の特定の行について、表のその特定の行における最大エネルギに対して、エネルギを正規化する。たとえば、図３Ａの表のコード帯域０に対応する周波数指数について考えると、周波数指数３６０に対応する周波数が、コード帯域０を表す行内の他の周波数（たとえば、周波数指数３６１，３６２、・・・５０３）の最大エネルギを有する場合、コード帯域０内の指数に対応する他の周波数の各エネルギは、周波数指数３６０に対応する周波数のエネルギで除算される。したがって、周波数指数３６０の正規化エネルギは、１の値を持ち、コード帯域０内の周波数指数に対応する残りの周波数は、すべて１より小さい値を持つことになる。この正規化処理は、表３００の行ごとに繰り返される。すなわち、図３Ａの表内の各コード帯域には、１に正規化されたエネルギを有する一つの周波数が存在し、そのコード帯域内の残りのエネルギは、すべて１より小さい値に正規化される。
【００５５】
コード周波数モニタ５０６によって生成された正規化エネルギに基づいて、記号特定装置５０８は、符号化音声内に存在していた記号を特定する。一例において、記号特定装置５０８は、各状態に対応する正規化エネルギをすべて加算する。換言すれば、記号特定装置５０８は、１４４の和を生成し、この各和は、表３００の列、すなわち状態に対応する。正規化エネルギの最大の和を有する列すなわち状態は、符号化された記号であると判定される。記号特定装置は、図３Ａのルックアップテーブルと同様のルックアップテーブルを利用でき、このルックアップテーブルは、強調された周波数が対応する記号へと、その強調された周波数をマッピングすることに利用できる。たとえば、音声内に状態Ｓ１が符号化されていた場合、正規化エネルギは、概して状態Ｓ１を表す各周波数指数で１の値になる。換言すれば、一般に、状態１に対応しないコード帯域の他の周波数はすべて１より小さい値を持つことになる。ただし、このことは一般的には真であるが、状態Ｓ１に対応するすべての周波数指数が、必ずしも１の値を持つことにはならない。したがって、正規化エネルギの和は、各状態について計算される。これにより、状態Ｓ１を表す周波数指数に対応する正規化エネルギは、概して、他の状態を表す周波数指数に対応するエネルギよりも大きい和を持つことになる。状態Ｓ１を表す周波数指数に対応する正規化エネルギの和が、検出に関する閾値４．０を超える場合、状態Ｓ１は、符号化音声内に埋め込まれている最確記号であると判定される。ただし、和が前述の閾値を越えない場合、状態Ｓ１が符号化されたという十分な確信は得られず、いずれの状態も、最も可能性の高い状態であると決定されることはない。したがって、記号特定装置５０８の出力は、音声に符号化された最確記号のストリームである。理想的な状態において、Ｓ１のコード周波数から、７．０の正規化得点が得られる。
【００５６】
最確記号は、受け取った記号が有効なデータに該当するかどうかを判定する妥当性検査装置５１０によって処理される。すなわち、妥当性検査装置５１０は、符号器１０２のコード周波数セレクタ２０６においてコードを記号に変換するために用いられた符号化方式から判断して、最確記号に対応するビットが有効であるかどうかを判定する。妥当性検査装置５１０の出力はコードであり、このコードは、図２のコード周波数セレクタ２０６に供給されたコードに相当する。
【００５７】
図６に、復号化処理６００の例を示す。本例の処理６００は、図５に示した例の復号器１１６で、または各種の他の適切な復号器で実行することができる。本例の処理６００は、音声をサンプリングする（ブロック６０２）ことによって開始する。音声は、音声センサ、配線接続部を介して、音声ファイルから取得されても、または各種他の適切な技法によって取得されてもよい。既に説明したように、サンプリングは、４８，０００Ｈｚ、または各種の他の適切な周波数で実行することができる。
【００５８】
各サンプルが取得されると、多数の旧サンプルと、ブロック６０２で取得されて新たに追加されたサンプルとを含むサンプルの集合に、スライディング式の時間−周波数変換が実行される（ブロック６０４）。一例において、スライディングＤＦＴを利用して、ストリーミング式に入力される、１８，４３１の旧サンプルと、新たに追加された一つのサンプルとを含むサンプルを処理することができる。一例において、１８，４３２サンプルを利用する前記ＤＦＴによって、２．６Ｈｚの分解能を有するスペクトルが得られる。
【００５９】
時間−周波数変換によってスペクトルを取得した（ブロック６０４）後、コード周波数のエネルギを特性する（ブロック６０６）。一例において、このエネルギは、音声を符号化するために強調された可能性がある周波数成分についての時間−周波数変換（ブロック６０４）の結果の大きさを採用することによって取得できる。重要な点として、処理時間を節約してメモリ消費を抑制するために、コード周波数に対応する周波数情報のみを保持して、更に処理することができる。これは、このような周波数のみが、符号化情報が配置されている可能性のある周波数であるためである。もちろん、本例の処理６００で、エネルギ以外の情報を利用してもよい。たとえば、本例の処理６００は、大きさ情報と位相情報の両方を保持して、これらの情報を処理することができる。
【００６０】
また、処理６００において処理される周波数は、既に受け取られている同期記号を考慮することによって更に削減されてもよい。たとえば、特定の同期記号の後に、常に、６つの異なる記号のうちの一つが続く場合、処理対象の周波数は、その特定の同期記号を受け取った後の６つの異なる記号に限定されてよい。
【００６１】
エネルギを特定した（ブロック６０６）後、本例の処理６００は、各コード帯域のコード周波数エネルギを、当該コード帯域の最大エネルギに基づいて正規化する（ブロック６０８）。すなわち、コード帯域内のコード周波数の最大エネルギは、自身、およびそのコード帯域内の他のすべてのエネルギに対する除数として利用される。正規化の結果、各コード帯域に、１の正規化エネルギ値を持つ周波数成分が一つ存在し、そのコード帯域内の他のすべての正規化エネルギ値は、１より小さい値を持つことになる。したがって、図３Ａを参照すると、表３００の各行は、１の値を持つ１つのエントリを有し、他のすべてのエントリは、１より小さい値になる。
【００６２】
次に、本例の処理６００は、正規化されたエネルギ値に対して動作して、その正規化エネルギ値に基づいて最も可能性のある記号を特定する（ブロック６１０）。前述したように、この特定処理は、たとえば、各記号に対応する正規化エネルギ値を加算し、その結果、記号と同数の和を得ることを含む（たとえば、図３Ａの表について考えると、１４４個の和が存在し、その各和は、１４４個の記号のいずれか１つに対応する）。次に、最大の和と閾値（たとえば、４．０）とを比較し、和が閾値を超える場合に、その最大の和に対応する記号が、受信記号であると判定する。最大の和が閾値を越えない場合は、いずれの記号も、受信記号であると判定されない。
【００６３】
受信記号を特定した（ブロック６１０）後、本例の処理６００は、その受信記号に対応するコードを特定する（ブロック６１２）。すなわち、本例の処理６００は、本例の符号化処理４００によって実行された記号へのコードの符号化処理（たとえば、ブロック４０８によって実行された符号化処理）を復号する。
【００６４】
復号が完了して、記号からコードを特定した（ブロック６１２）後、本例の処理６００は、そのコードの妥当性を分析する（ブロック６１４）。たとえば、受信したコードを検査して、コードの送信に用いられた符号化処理に基づいて、そのコードシーケンスが有効であるかどうかを判定する。有効なコードは、ログに記録され、前記コードは、そのコードを受信した時間を示す日時スタンプと共に、後で中央処理施設に送り返すことができる。
【００６５】
符号器１０２の例および復号器１１６の例のいくつか、またはすべてを実施する例示的方式を図示して、上記で説明したが、図面に記載すると共に上記で説明したデータ構造、要素、処理、および装置の少なくともいずれかについては、その一つ以上を組み合わせること、分割すること、再構成すること、省略すること、除去すること、および他の方法で実施することの少なくともいずれかを行うことができる。また、本例の符号器１０２および本例の復号器１１６は、ハードウェア、ソフトウェア、ファームウェア、およびこれらの任意の組み合わせのうちの少なくともいずれかによって実装することができる。したがって、たとえば、本例の符号器１０２および本例の復号器１１６は、一つ以上の回路、プログラム可能プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理回路、およびフィールドプログラマブル論理回路等の少なくともいずれかによって実装することができる。たとえば、復号器１１６は、携帯電話等のプラットフォーム装置上のソフトウェアを利用して実装することができる。付属の請求項のいずれかが、純粋なソフトウェア実装を網羅するものとして理解される場合、符号器１０２が有する本例のサンプリング装置２０２、本例のマスキング評価装置２０４、本例のコード周波数セレクタ２０６、本例のコード合成装置２０８、および本例の結合器１２０のうちの少なくとも一つ、もしくは復号器１１６が有する本例のサンプリング装置５０２、本例の時間−周波数領域変換装置５０４、本例のコード周波数モニタ５０６、本例の統計処理装置５０８、本例の記号特定装置５１０、および本例の妥当性検査装置５１２のうちの少なくともいずれかの一つ以上、またはこれらすべては、本明細書によって、メモリ、ＤＶＤ，ＣＤ等の有形的表現媒体を含むものとして明示的定義される。また、本例の符号器１０２および本例の復号器１１６は、図面に記して上記で説明したものに代えて、または追加して、データ構造、要素、処理、および装置の少なくともいずれかを含んでよい。これに代えて、または加えて、図示したデータ構造、要素、処理、および装置の少なくともいずれかのうちの一部またはすべてを１つより多く含んでよい。
【００６６】
図７は、一例のプロセッサプラットフォーム７００を示す模式図で、このプロセッサプラットフォーム７００を利用およびプログラムして、または利用もしくはプログラムして、例示した符号器１０２および復号器の一部またはすべて、もしくは本明細書に記載した他のいずれかの構成要素、またはその両方を実施することができる。たとえば、プロセッサプラットフォーム７００は、一つ以上の汎用プロセッサ、プロセッサコア、マイクロコントローラ等で実装することができる。また、プロセッサプラットフォーム７００は、他の機能を有する装置の一部として実施される。たとえば、プロセッサプラットフォーム７００は、携帯電話、または各種他の携帯型装置内に提供される処理能力を利用して実装されてよい。
【００６７】
図７の例のプロセッサプラットフォーム７００は、少なくとも一つの汎用プログラム可能プロセッサ７０５を含む。プロセッサ７０５は、当該プロセッサ７０５のメインメモリ内（たとえば、ＲＡＭ（ランダム・アクセス・メモリ）７１５およびＲＯＭ（リード・オンリ・メモリ）７２０の少なくともいずれかの中）に存在するコード化命令７１０および７１２の両方、またはそのいずれかを実行する。プロセッサ７０５は、プロセッサコア等の処理装置、プロセッサ、およびマイクロコントローラのうちの少なくともいずれかの任意のタイプのものであってよい。プロセッサ７０５は、特に、本明細書に記載した処理を実施する、たとえば、機械利用可能命令を実行できる。プロセッサ７０５は、バス７２５を介して、メインメモリ（ＲＯＭ７２０およびＲＡＭ７１５の少なくともいずれかを含む）と通信する。ＲＡＭ７１５は、ＤＲＡＭ，ＳＤＲＡＭ、および各種他のタイプのＲＡＭ装置の少なくともいずれかによって実施されてよく、ＲＯＭは、フラッシュメモリ、もしくは各種他の望ましいタイプのメモリ、またはその両方によって実施されてよい。メモリ７１５および７２０へのアクセスは、メモリコントローラ（図示せず）によって制御することができる。
【００６８】
プロセッサプラットフォーム７００は、インターフェース回路７３０も含む。インターフェース回路７３０は、ＵＳＢインターフェース、ブルートゥースインターフェース、外部メモリインターフェース、直列ポート、汎用入出力部等、任意のタイプのインターフェース規格で実施されてよい。インターフェース回路７３０には、一つ以上の入力装置７３５、および一つ以上の出力装置７４０が接続される。
【００６９】
本明細書に、特定の装置例、方法例、および製品例を記載したが、他の実装例も利用可能である。本特許の包含範囲は、本明細書に記載した具体的な例に限定されるものではない。本特許は、むしろ、本発明の範囲に入るすべての装置、方法、および製品に及ぶ。
【図１】
0005414684.tif 000002
【図２】
0005414684.tif 000003
【図３Ａ】
0005414684.tif 000004
【図３Ｂ】
0005414684.tif 000005
【図３Ｃ】
0005414684.tif 000006
【図４】
0005414684.tif 000007
【図５】
0005414684.tif 000008
【図６】
0005414684.tif 000009
【図７】
0005414684.tif 000010