(57)【要約】時間ドメイン音声信号を符号化する方法を提供する。この方法では、電子デバイスが、時間ドメイン音声信号を受け取る。この時間ドメイン音声信号は、複数の周波数それぞれについて係数を有する周波数ドメイン信号に変換され、これら係数は、複数の周波数帯毎に分類されている。周波数帯毎に、その帯域のエネルギーが求められ、その帯域に対するスケール・ファクタが、その帯域のエネルギーに基づいて求められ、その帯域の係数が、関連するスケール・ファクタに基づいて量子化される。量子化された係数およびスケール・ファクタに基づいて、符号化済音声信号が生成される。【選択図】図１
2013502619.tif 000002
【特許請求の範囲】
【請求項１】
時間ドメイン音声信号を符号化する方法であって、
前記時間ドメイン音声信号を電子デバイスにおいて受け取るステップと、
前記時間ドメイン音声信号を、複数の周波数のそれぞれについて係数を有する周波数ドメイン信号に変換するステップと、
前記係数を複数の周波数帯に分類するステップであって、前記周波数帯のそれぞれが、前記係数のうち少なくとも１つの係数を含む、ステップと、
前記周波数帯のエネルギーを周波数帯毎に求めるステップと、
前記周波数帯の前記エネルギーに基づいて、周波数帯毎にスケール・ファクタを求めるステップと、
前記周波数帯の前記係数を、関連する前記スケール・ファクタに基づいて周波数帯毎に量子化するステップと、
前記量子化された係数および前記スケール・ファクタに基づいて、符号化済音声信号を生成するステップと
を含む方法。
【請求項２】
前記符号化済信号を生成するステップが、量子化された前記係数を符号化するステップを含み、
前記符号化済音声信号が、前記符号化された係数および前記スケール・ファクタに基づく、
請求項１に記載の方法。
【請求項３】
前記周波数帯の前記エネルギーを求めるステップが、前記周波数帯の前記係数の絶対和を算出するステップを含む、
請求項１に記載の方法。
【請求項４】
前記スケール・ファクタを求めるステップが、
前記周波数帯の前記エネルギーの１０を底とする対数を算出するステップと、
初項を求めるために、前記周波数帯の前記エネルギーの前記１０を底とする対数に定数を加算するステップと、
前記スケール・ファクタを求めるために、前記初項をある乗数で乗算するステップと
を含む、請求項３に記載の方法。
【請求項５】
前記定数が約１．７５で、
前記乗数が１０である、
請求項４に記載の方法。
【請求項６】
前記周波数帯の前記エネルギーを求めるステップおよび前記周波数帯の前記エネルギーに基づいて前記スケール・ファクタを求めるステップが、前記符号化済音声信号の目標とするビットレートが所定のレベルを超えていない場合に実行され、
前記方法が、  
前記符号化済音声信号の前記目標とするビットレートが所定のレベルを超えている場合、
前記複数の周波数帯それぞれについて、その周波数帯の前記係数のうち最大の係数を求めるステップと、
前記複数の周波数帯それぞれについて、前記最大の係数に関連する前記量子化された係数が０にならないようなスケール・ファクタを選択するステップと
を更に含む請求項１に記載の方法。
【請求項７】
前記符号化済音声信号に対する所定のビットレートに基づいて、前記スケール・ファクタを周波数帯毎に調整するステップであって、前記スケール・ファクタが、前記所定のビットレートに反比例する、ステップ
を更に含む請求項１に記載の方法。
【請求項８】
前記符号化済音声信号に対する所定のビットレートを維持するためのビット・リザーバ・モデルに基づいて、前記スケール・ファクタを周波数帯毎に調整するステップ
を更に含む請求項１に記載の方法。
【請求項９】
前記ビット・リザーバ・モデルが、前記所定のビットレートにおける５秒間の前記符号化済音声信号に対応する、
請求項８に記載の方法。
【請求項１０】
量子化された出力信号を生成するための周波数ドメイン音声信号の周波数帯の周波数係数についてのスケール・ファクタを作る方法であって、
所定のレベルを超えない、前記量子化された出力信号に対するビットレートの場合、
前記周波数帯のエネルギーを求めるステップと、
前記周波数帯の前記エネルギーに基づいて、スケール・ファクタを求めるステップと
を含み、
前記所定のレベルを超える、前記量子化された出力信号に対するビットレートの場合、
前記周波数帯の最大の周波数係数を求めるステップと、
量子化後の対応する前記係数が０にならないようなスケール・ファクタを選択するステップと
を含み、
前記周波数係数の量子化が、前記スケール・ファクタに基づく、
方法。
【請求項１１】
前記周波数帯の前記エネルギーを求めるステップが、前記周波数帯の前記係数の絶対和を算出するステップを含む、
請求項１０に記載の方法。
【請求項１２】
前記周波数帯の前記エネルギーに基づいて前記スケール・ファクタを求めるステップが、
前記周波数帯の前記エネルギーの対数を算出するステップと、
初項を求めるために、前記周波数帯の前記エネルギーの前記対数に定数を加算するステップと、
前記スケール・ファクタを求めるために、前記初項をある乗数で乗算するステップと
を含む、
請求項１０に記載の方法。
【請求項１３】
前記定数が約１．７５で、
前記乗数が１０である、
請求項１２に記載の方法。
【請求項１４】
前記量子化された出力信号に対する前記ビットレートに基づいて、前記スケール・ファクタを周波数帯毎に調整するステップであって、前記スケール・ファクタが、前記量子化された出力信号に対する前記ビットレートに反比例する、ステップ
を更に含む請求項１０に記載の方法。
【請求項１５】
時間ドメイン音声信号、および前記時間ドメイン音声信号を表す符号化済音声信号を格納するように構成されたデータ・ストレージと、
制御回路と
を備える電子デバイスであって、
前記制御回路が、
前記データ・ストレージから前記時間ドメイン音声信号を取り出し、
前記時間ドメイン音声信号を、複数の周波数それぞれについて係数を有する周波数ドメイン信号に変換し、
前記係数を、複数の周波数帯に分類する
ように構成され、
前記周波数帯のそれぞれが、前記係数のうち少なくとも１つの係数を含み、
前記制御回路が更に、
前記周波数帯のエネルギーを周波数帯毎に求め、
前記周波数帯の前記エネルギーに基づいて、周波数帯毎にスケール・ファクタを求め、
前記周波数帯の前記係数を、関連する前記スケール・ファクタに基づいて周波数帯毎に量子化し、
前記量子化された係数および前記スケール・ファクタに基づいて、前記符号化済音声信号を生成する
ように構成された、電子デバイス。
【請求項１６】
前記制御回路が、前記符号化済音声信号を前記データ・ストレージ中に格納するように構成された、
請求項１５に記載の電子デバイス。
【請求項１７】
前記周波数帯の前記エネルギーを求めるために、前記制御回路が、前記周波数帯の前記係数の絶対値を合計するように構成された、
請求項１５に記載の電子デバイス。
【請求項１８】
前記周波数帯に対する前記スケール・ファクタを求めるために、前記制御回路が、
前記周波数帯の前記エネルギーの対数を求め、
前記周波数帯の前記エネルギーの前記対数に定数を加算して、初項を求め、
前記初項をある乗数で乗算して、前記スケール・ファクタを作るように構成された、
請求項１７に記載の電子デバイス。
【請求項１９】
前記定数が約１．７５で、
前記乗数が１０である、
請求項１８に記載の電子デバイス。
【請求項２０】
前記制御回路が、前記符号化済音声信号の目標とするビットレートが所定のレベルを超えていない場合に、前記周波数帯の前記エネルギーを求めるとともに、前記周波数帯の前記エネルギーに基づいて前記スケール・ファクタを求めるように構成され、
前記制御回路が、前記符号化済音声信号の前記目標とするビットレートが前記所定のレベルを超えている場合に、前記周波数帯の最大の周波数係数を求めるとともに、量子化後の対応する前記係数が０にならないようなスケール・ファクタを選択するように構成された、
請求項１５に記載の電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
（本文中に技術分野に該当する記載なし）
【背景技術】
【０００２】
音声情報を効率的に圧縮することにより、この音声情報を記憶するのに必要なメモリ容量と、この情報を送信するのに必要な通信帯域とが共に低減される。こうした圧縮を可能にするために、ユビキタスＭＰ３（ＭＰＥＧ-１  Ａｕｄｉｏ  Ｌａｙｅｒ  ３）フォーマットや更に新規なアドバンスト・オーディオ・コーディング（ＡＡＣ）規格等の様々な音声符号化スキームでは、少なくとも１つの心理音響モデル（ＰＡＭ）が用いられているが、基本的にこうしたモデルは、音声情報を受け取り処理する際の人間の耳の限界を記述したものである。たとえば、人間の音声系は、（特定の周波数の音声が、一定の音量レベルを下回るこの周波数に近い周波数の音声をマスクする）周波数ドメインと（特定の周波数の音声トーンが、これがなくなった後のいくらかの時間は同一のトーンをマスクする）時間ドメインとの両方における音響マスキング原理を示す。圧縮をもたらす音声符号化スキームでは、本来の音声情報のうち人間の音声系によりマスクされるはずの部分を除去することにより、これら音声マスキング原理が利用される。
【０００３】
本来の音声信号のどの部分を取り除くべきかを決定するために、音声符号化システムでは、一般に、この本来の信号が処理されてマスキング・スレッショルドが作られ、これにより、音声忠実度が目立ってロスすることなく、このスレッショルドより下の音声信号を除去することができる。こうした処理では、計算量が非常に集中するので、音声信号のリアルタイムでの符号化が困難になる。さらに、こうした計算を行うことは、多くがこのような集中処理向けに特に設計されていない固定小数点デジタル信号プロセッサ（ＤＳＰ）を用いる家庭用電子デバイスの場合には、通常は面倒で時間を浪費してしまうものである。
【図面の簡単な説明】
【０００４】
本開示内容の多くの態様は、以下の図面を参照することにより更に理解することができる。図面中の構成部品は必ずしも原寸に比例して描かれていないが、これは、そうするかわりに、開示内容の原理の明瞭な図解に強調を加えているからである。さらに、様々な図を通して、対応する部品を同様の参照番号で表している。また、いくつかの実施形態をこれらの図面に関連して説明しているが、開示内容は、本明細書で開示する実施形態に限定されない。これとは反対に、その意図は、全ての代替形態、修正形態、および均等物を包含することである。
【図１】本発明の一実施形態に係る、時間ドメイン音声信号を符号化するように構成された電子デバイスの簡略ブロック図である。
【図２】本発明の一実施形態に係る、時間ドメイン音声信号を符号化するように図１の電子デバイスを動作させる方法の流れ図である。
【図３】本発明の他の実施形態に係る電子デバイスのブロック図である。
【図４】本発明の一実施形態に係る音声符号化システムのブロック図である。
【図５】本発明の一実施形態に係る、周波数帯を処理する周波数ドメイン信号のグラフ図である。
【発明を実施するための形態】
【０００５】
添付の図面および以下の説明では、本発明の最良の形態（best mode）をどのように作製および使用するのかを当業者に教示するために本発明の具体的実施形態を示している。発明原理を教示するために、従来技術に関連する側面は、簡略化または省略していることもある。当業者であれば、本発明の範囲に含まれるこれら実施形態の変形形態を理解するであろう。また、当業者であれば、以下で説明する特徴を様々な方法で組み合わせて、本発明の複数の実施形態を形成することができることを理解するであろう。したがって、本発明は、以下に説明する具体的実施形態に限定されず、特許請求の範囲およびその均等物によってのみ限定される。
【０００６】
図１は、本発明の一実施形態に係る、時間ドメイン音声信号１１０を符号化済音声信号１２０に符号化するように構成された電子デバイス１００の簡略ブロック図を示す。一実装例では、この符号化はアドバンスト・オーディオ・コーディング（ＡＡＣ）規格に従って実行されるが、時間ドメイン信号の符号化済音声信号への変換を伴う他の符号化スキームでは、後に議論するコンセプトを有効に利用することができる。さらに、電子デバイス１００は、こうした符号化を実行することの可能な任意のデバイスとすることができ、これには、パーソナル・デスクトップ・コンピュータ、パーソナル・ラップトップ・コンピュータ、音声／映像符号化システム、ＣＤプレーヤ、ＤＶＤプレーヤ、テレビ・セットトップ・ボックス、音声レシーバ、携帯電話、ＰＤＡ、Sling Media社の様々な型のSlingBox（登録商標）等の音声／映像プレースシフティング（place-shifting）・デバイスが含まれるが、これらに限定されない。
【０００７】
図２は、時間ドメイン音声信号１１０を符号化して符号化済音声信号１２０を生成するように、図１の電子デバイス１００を動作させる方法２００の流れ図を示す。方法２００では、電子デバイス１００が、時間ドメイン音声信号１１０を受け取る（オペレーション２０２）。次いで、デバイス１００は、時間ドメイン音声信号１１０を複数の周波数を有する周波数ドメイン信号に変換し、各周波数は、自体の大きさを示す係数に関連付いている（オペレーション２０４）。次いで、これらの係数は、複数の周波数帯に分類される（オペレーション２０６）。周波数帯はそれぞれ、これら係数のうちの少なくとも１つを含む。周波数帯ごとに（オペレーション２０８）、電子デバイス１００は、その周波数帯のエネルギーを求め（オペレーション２１０）、周波数帯のエネルギーに基づいてその帯域に対するスケール・ファクタを求め（オペレーション２１２）、周波数帯の係数を、その帯域に関連するスケール・ファクタに基づいて量子化する（オペレーション２１４）。デバイス１００は、量子化された係数およびスケール・ファクタに基づいて符号化済音声信号１２０を生成する（オペレーション２１６）。
【０００８】
図２のオペレーションは、特定の順序で実行されるように図示されているが、２つ以上のオペレーションの同時の実行を含めた他の実行順序も可能である。たとえば、図２のオペレーションは、実行パイプラインの一種として実行することができるが、こうした実行パイプラインでは、各オペレーションが、パイプラインに入る際に時間ドメイン信号１１０の互いに異なる部分で実行される。他の実施形態では、方法２００を実行するために、コンピュータ読取り可能記憶媒体上で、この媒体により、図１の電子デバイス１００の少なくとも１つのプロセッサまたは他の制御回路に対する命令が符号化されることがある。
【０００９】
方法２００の少なくともいくつかの実施形態により、各周波数帯に対して利用されて、その帯域の係数を量子化するスケール・ファクタが、帯域の周波数のエネルギーの測定に基づいたものとなる。ほとんどのＡＡＣ実装で一般に行われているように、通常、こうした測定は、マスキング・スレッショルドの算出よりも計算量の集中が大いに軽減される。これにより、廉価なデジタル信号処理構成部品を利用する小型デバイスを含むいかなるクラスの電子デバイスでもリアルタイムの音声符号化が可能になる。下記でより詳細に議論する本発明の様々な実装例から、他の利点も理解することができる。
【００１０】
図３は、本発明の他の実施形態に係る電子デバイス３００のブロック図である。デバイス３００は、制御回路３０２およびデータ・ストレージ３０４を有する。いくつかの実装例では、デバイス３００はまた、通信インタフェース３０６およびユーザ・インタフェース３０８のどちらか一方またはその両方を有することがある。電源およびデバイス・エンクロージャを含めた（ただしこれらに限定されない）他の構成部品も電子デバイス３００に含まれることがあるが、こうした構成部品は、後の議論を簡略化するために、明確に図３に示してもおらず、後でこれらについて議論も行っていない。
【００１１】
制御回路３０２は、時間ドメイン音声信号３１０を符号化済音声信号３２０に符号化するために電子デバイス３００の様々な側面を制御するように構成される。一実施形態では、制御回路３０２は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）等の少なくとも１つのプロセッサを有しており、こうしたプロセッサは、後により詳細に議論する様々なオペレーションを実行するように自体に指示を与える命令を実行するように構成される。他の例では、制御回路３０２が、後に説明するタスクまたはオペレーションのうちの１つまたは複数を実行するように構成された１つまたは複数のハードウェア構成部品を有することも、ハードウェア処理エレメントとソフトウェア処理エレメントとの何らかの組合せを組み込むこともできる。
【００１２】
データ・ストレージ３０４は、符号化する時間ドメイン音声信号３１０およびその結果得られる符号化済音声信号３２０のいくらかまたは全てを格納するように構成される。データ・ストレージ３０４は、符号化処理に関係する中間データおよび制御情報等を格納することもできる。データ・ストレージ３０４は、制御回路３０２のプロセッサに実行される命令、ならびにこれら命令の実行に関する任意のプログラム・データまたは制御情報を含むこともできる。データ・ストレージ３０４は、（ＤＲＡＭやＳＲＡＭ等の）任意の揮発性メモリ構成部品、（リムーバブル式または固定式（captive）のフラッシュ・メモリ、磁気ディスク・ドライブ、光ディスク・ドライブ等の）任意の不揮発性メモリ・デバイス、およびこれらの要素の組み合わせを含むことがある。
【００１３】
電子デバイス３００は、時間ドメイン音声信号３１０を受け取り、かつ／または通信リンクを介して符号化済音声信号３２０を送信するように構成された通信インタフェース３０６を有することができる。通信インタフェース３０６の例は、ＤＳＬ（デジタル加入者回線）やインターネットに対するケーブル・インタフェース等のワイドエリア・ネットワーク（ＷＡＮ）インタフェース、Ｗｉ-Ｆｉやイーサーネット等のローカルエリア・ネットワーク（ＬＡＮ）、有線、ワイヤレスもしくは光学的接続または通信リンクを介した通信を行うように構成された他の通信インタフェースとすることができる。
【００１４】
他の例では、通信インタフェース３０６は、音声信号３１０、３２０を音声／映像プログラミングの一部分として、テレビ、映像モニタ、音声／映像レシーバ等の出力デバイス（図３に示さず）に送信するように構成することができる。たとえば、この音声／映像プログラミングの映像部分は、変調された映像のケーブル接続、コンポジットまたはコンポーネント映像ＲＣＡ（ラジオ・コーポレーション・オブ・アメリカ）型接続、およびＤＶＩ（デジタル・ビデオ・インタフェース）接続またはＨＤＭＩ（高精細度マルチメディア・インタフェース）接続を介して送達させることができる。プログラミングの音声部分は、モノラルもしくはステレオ音声ＲＣＡ型接続、ＴＯＳＬＩＮＫ接続、またはＨＤＭＩ接続を介して伝送することができる。他の実施形態では、他の音声／映像フォーマットおよび関連接続を用いることができる。
【００１５】
さらに、電子デバイス３００は、音声マイクと、増幅器、アナログ-デジタル変換器（ＡＤＣ）等を含めた関連回路とを介するなどして、時間ドメイン音声信号３１０に代表される音響信号３１１を１または複数のユーザから受け取るように構成されたユーザ・インタフェース３０８を含んでもよい。同様に、ユーザ・インタフェース３０８は、符号化済音声信号３２０に代表される音響信号３２１をユーザに再生するための増幅器回路および１つまたは複数の音声スピーカを含んでもよい。実装例に応じて、ユーザ・インタフェース３０８は、キーボード、キーパッド、タッチパッド、マウス、ジョイスティック、または他のユーザ入力デバイス等でユーザが電子デバイス３００を制御することを可能にする手段を含むこともある。同様に、ユーザ・インタフェース３０８は、モニタや他の表示デバイス等の視覚出力手段を提供することができ、これにより、ユーザが、電子デバイス３００から視覚情報を受け取ることが可能になる。
【００１６】
図４は、電子デバイス３００により提供され、時間ドメイン音声信号３１０を図３の符号化済音声信号３２０に符号化するための音声符号化システム４００の一例を示す。図３の制御回路３０２は、ハードウェア回路、ソフトウェアもしくはハードウェア命令を実行するプロセッサ、またはこれらの何らかの組合せを用いて音声符号化システム４００の各部分を実行することができる。
【００１７】
図４のこの特定のシステム４００は、ＡＡＣの具体的な実装例を示すが、他の実施形態では、他の音声符号化スキームを利用することができる。一般に、ＡＡＣは、音声符号化に対してモジュール的アプローチを示し、これにより、図４の各機能ブロック４５０〜４７２ならびに図４には具体的に示していない機能ブロックを、独立したハードウェア、ソフトウェアまたはファームウェア・モジュールまたは「ツール」内に実装することができ、こうすることで、様々な開発ソースから作り出されたモジュールを、所望の音声符号化を実行するための単一の符号化システム４００に一体化することが可能になる。したがって、様々な数のモジュールを使用すること、様々な種類のモジュールを使用することで、任意の数の符号器「プロファイル」を形成することができ、これら「プロファイル」はそれぞれ、個々の符号化環境に関連する特定の制約に対処することが可能である。こうした制約には、デバイス３００の計算能力、時間ドメイン音声信号３１０の複雑さ、出力ビットレートや歪みレベル等の符号化済音声信号３２０の所望の特性が含まれることがある。ＡＡＣ規格は通常、低複雑度（ＬＣ）プロファイル、メイン（ＭＡＩＮ）プロファイル、サンプルレート・スケーラブル（ＳＲＳ）・プロファイル、長期予測（ＬＴＰ）プロファイルを含めた４つのデフォルト・プロファイルを示す。図４のシステム４００は、主としてメイン・プロファイルに対応しているが、他のプロファイルで、後に説明する知覚モデル４５０、スケール・ファクタ・ジェネレータ４６６、および／またはレート／歪み制御ブロック４６４を強化することもできる。
【００１８】
図４では、音声データの流れの概略を実線の矢印で示しており、考えられる制御パスのいくつかを破線の矢印で示している。他の構成では、モジュール４５０〜４７２間での制御情報の譲り渡しについての図４では具体的に示していない他の実現可能性が考えられる。
【００１９】
図４では、時間ドメイン音声信号３１０が、システム４００への入力として受け取られる。一般に、時間ドメイン音声信号３１０は、時間変動音声信号の一連のデジタル・サンプルとしてフォーマットされた音声情報の１つまたは複数のチャネルを含む。いくつかの実施形態では、時間ドメイン音声信号３１０は、アナログ音声信号の形態を最初はとることがあり、このアナログ音声信号は後に、符号化システム４００に転送される前に、制御回路３０２による実行に従って、ユーザ・インタフェース３０８のＡＤＣを用いるなどして規定のレートでデジタル化される。
【００２０】
図４に示すように、音声符号化システム４００のモジュールには、時間ドメイン音声信号３１０を入力として受け取る処理パイプラインの一部分として構成された、ゲイン制御ブロック４５２、フィルタ・バンク４５４、テンポラルノイズ・シェーピング（ＴＮＳ）・ブロック４５６、インテンシティ／カップリング・ブロック４５８、後方予測（backward prediction）ツール４６０、ｍｉｄ／ｓｉｄｅステレオ・ブロック４６２が含まれることがある。これら機能ブロック４５２〜４６２は、ＡＡＣの他の実装例でよく見られる機能ブロックと同一のものに対応することがある。時間ドメイン音声信号３１０は、知覚モデル４５０にも転送され、知覚モデル４５０は、先で述べた機能ブロック４５２〜４６２のいずれかに制御情報を供給することができる。典型的なＡＡＣシステムでは、この制御情報は、時間ドメイン音声信号３１０のどの部分が心理音響モデル（ＰＡＭ）のもとで余分であるかを示し、これにより、時間ドメイン音声信号３１０内の音声情報のそれらの部分を捨てて、符号化済音声信号３２０内で実現される圧縮を容易にすることが可能になる。
【００２１】
これを達成するために、典型的なＡＡＣシステムでは、知覚モデル４５０が、時間ドメイン音声信号３１０の高速フーリエ変換（ＦＦＴ）の出力からマスキング・スレッショルドを算出して、音声信号３１０のどの部分を捨てることができるかを示す。しかし、図４の例では、知覚モデル４５０は、周波数ドメイン信号４７４を提供するフィルタ・バンク４５４の出力を受け取る。１つの具体例では、ＡＡＣシステムでは通常そうであるように、フィルタ・バンク４５４は、修正離散コサイン変換（ＭＤＣＴ）機能ブロックである。
【００２２】
図５に示すように、ＭＤＣＴブロック４５４に生成される周波数ドメイン信号４７４は、符号化することとなる音声情報のチャネル毎にいくつかの周波数５０２を含み、各周波数５０２は、周波数ドメイン信号４７４内のその周波数５０２の大きさまたは強度を示す係数で表されている。図５では、各周波数５０２を垂直ベクトルで表しており、このベクトルの高さは、その周波数５０２に関連する係数値を表す。
【００２３】
さらに、典型的なＡＡＣスキーム同様に、これら周波数５０２は、連続した周波数グループすなわち「帯域」５０４Ａ〜５０４Ｅに論理的にまとめられている。図４では、各周波数帯５０４が同一の周波数レンジを利用し、フィルタ・バンク４５４に作り出される個別の周波数５０２を同じ数だけ含んでいるが、ＡＡＣシステムではよくそうされているように、周波数５０２の数およびレンジ・サイズは、各帯域５０４間で変動するものを用いることもできる。
【００２４】
周波数帯５０４は、周波数５０２の帯域５０４の各周波数５０２の係数を、図４のスケール・ファクタ・ジェネレータ４６６により作られたスケール・ファクタを用いて変倍または除算することを可能にするように形成される。こうした変倍（scaling）により、符号化済音声信号３２０内の周波数５０２の係数を表すデータの量が減少し、したがって、このデータは圧縮され、この結果、符号化済音声信号３２０に対する送信ビットレートが低くなる。また、この変倍により音声情報が量子化されるが、この量子化においては、周波数５０２のそれぞれの係数が個別の所定値に分けられ、したがって、場合によっては、いくらかの歪みが、復号後の符号化済音声信号３２０にもたらされる。一般に、変倍ファクタ（scaling factor）が高いほど、量子化が粗くなり、したがって、音声歪みレベルがより高くなり、符号化済信号３２０のビットレートが低くなる。
【００２５】
従来のＡＡＣシステムでは、符号化済音声信号３２０に対する所定の歪みレベルおよびビットレートを満たすために、知覚モデル４５０が、上で述べたマスキング・スレッショルドを算出して、符号化済音声信号３２０のサンプル・ブロック毎に許容可能なスケール・ファクタを求める。しかし、本明細書で議論する実施形態ではそうする代わりに、知覚モデル４５０は、各周波数帯５０４の周波数５０２に関連するエネルギーを求め、次いで、そのエネルギーに基づいて所望のスケール・ファクタをバンド５０４毎に算出する。一例では、周波数帯５０４内の周波数５０２のエネルギーは、帯域５０４内の周波数５０２のＭＤＣＴ係数の「絶対和」、すなわちその係数の絶対値の和で算出され、この和は、絶対スペクトル係数の和（ＳＡＳＣ）と称されることがある。
【００２６】
帯域５０４に対するエネルギーを求めると、１０を底とする対数等の帯域５０４のエネルギーの対数をとり、一定値を加算し、次いでその項を所定の乗数で乗算して、帯域５０４に対する少なくとも最初のスケール・ファクタを提供することにより、帯域５０４に関連するスケール・ファクタを算出することができる。従来周知の音響心理学モデルによる音声符号化の実験では、１．７５に近似する定数および１０のイールド・スケール・ファクタの乗数が、大量のマスキング・スレッショルド計算で得られるものに相当することが示されている。したがって、この特定の例では、スケール・ファクタに対する以下の式が得られる。
【００２７】
【数１】
2013502619.tif 000003
【００２８】
他の構成では、定数に対して１．７５以外の値を用いることもできる。
【００２９】
時間ドメイン音声信号３１０を符号化するために、ＭＤＣＴフィルタ・バンク４５４は、周波数ドメイン信号４７４に対する周波数サンプルの一連のブロックを作り出し、これらブロックはそれぞれ、時間ドメイン音声信号３１０の特定の期間に関連している。したがって、上で述べたスケール・ファクタ計算は、周波数ドメイン信号４７４内に作られる周波数サンプルの各チャネルのブロック毎に行うことができ、したがって、各周波数帯５０４のブロック毎に異なるスケール・ファクタが潜在的に提供される。含まれるデータ量を考えると、上の計算をスケール・ファクタ毎に使用すれば、周波数サンプルの同じブロックに対するマスキング・スレッショルドを推定することと比較して、スケール・ファクタを求めるのに必要な処理量が著しく減少する。
【００３０】
パイプライン中でスケール・ファクタ・ジェネレータ４６６に続く量子化器４６８は、スケール・ファクタ・ジェネレータ４６６により作られた（かつ、場合によっては、下記で説明するようにレート／歪み制御ブロック４６４で調整された）スケール・ファクタを周波数帯５０４毎に用いて、その帯域５０４内の様々な周波数５０２の係数を除算する。係数を除算することにより、これら係数の大きさが低減または圧縮され、したがって、符号化済音声信号３２０の全体的なビットレートが低減される。こうした除算により、これら係数は、規定の数の個別値のうちの１つの値に量子化される。
【００３１】
一実施形態では、スケール・ファクタを作るのに上で挙げた量子化を使用するのは、符号化済音声信号３２０の目標とするビットレートまたは所望のビットレートが、所定のレベルまたは値を超えていない状況に限られることがある。目標とするビットレートが所定のレベルを超えるという状況に対処するために、レート／歪み制御ブロック４６４は、各周波数帯５０４のどの係数がその帯域５０４に対して最高または最大の係数であるかを判定し、次いで、量子化器４６８で作られたその係数の量子化された値が０にならないように帯域５０４に対するスケール・ファクタを選択することができる。こうしたやり方でスケール・ファクタを作ることにより、ある周波数帯５０４全体が符号化済音声信号３２０から複数の期間失われ、したがってこのことが聞き手に気づかれる場合がある音声「ホール」が存在してしまうことを回避することができる。一実施形態では、レート／歪み制御ブロック４６４は、帯域５０４の最大係数を量子化後に０以外の値にする最大のスケール・ファクタを選択することがある。
【００３２】
量子化後、ノイズレス・コード化ブロック４７０は、結果として得られる量子化された係数をノイズレス・コード化スキームに従ってコード化する。一実施形態では、このコード化スキームは、ＡＡＣに用いられる無損失性ハフマン・コーディング・スキーム（lossless Huffman coding scheme）とすることができる。
【００３３】
図４に示すレート／歪み制御ブロック４６４は、スケール・ファクタ・ジェネレータ４６６内で作られていれるスケール・ファクタのうちの１つまたは複数を、符号化済音声信号３２０に対する所定のビットレート要求および歪みレベル要求を満たすように調整することができる。たとえば、レート／歪み制御ブロック４６４は、算出されたスケール・ファクタが、達成すべき平均ビットレートと比較して著しく高い、符号化済音声信号３２０に対する出力ビットレートをもたらす可能性があると判断することがあり、したがって、それに応じてスケール・ファクタを増大させることができる。
【００３４】
他の実装例では、レート／歪み制御モジュール４６４は、符号化済音声信号３２０の許容可能な平均ビットレートを維持し、より高含量のデータを含む時間ドメイン音声信号３１０の期間に適応するようにビットレートを適宜増大させるようにスケール・ファクタを調整するための、ビット・リザーバ・モデル、すなわち「リーキーバケット」モデルを用いる。より具体的には、符号化済音声信号３２０の必要なビットレートに関連するいくらかの期間の容量を有する実際のまたは仮想のビット・リザーバまたはバッファは、初めは空であると推測される。一例では、バッファのサイズは、符号化済音声信号３２０の場合約５秒間のデータに対応するが、他の実装例では、これよりも短い期間または長い期間が使用されることがある。
【００３５】
スケール・ファクタ・ジェネレータ４６６で作られるスケール・ファクタにより、出力音声信号３２０の実ビットレートが所望のビットレートと一致する理想的なデータ転送状態の間は、バッファは、当初からの空状態にとどまる。しかし、符号化済音声信号３２０の複数のブロックの一部分が、所望の歪みレベルを維持するためにより高いビットレートの使用を一時的に要求する場合、より高いビットレートが適用されて、バッファまたはリザーバのいくらかが消費されることがある。次いで、バッファの満たされ具合が所定のスレッショルドを超えると、作られているスケール・ファクタを増大させて出力ビットレートを低減させることができる。同様に、出力ビットレートが落ちて、バッファが空の状態にとどまる場合、レート／歪み制御ブロック４６４は、スケール・ファクタ・ジェネレータ４６６に供給されているスケール・ファクタを低減させて、出力ビットレートを上昇させることができる。本実施形態に従って、レート／歪み制御ブロック４６４は、全ての周波数帯５０４のスケール・ファクタを増大または低減すること、元のスケール・ファクタ、係数、および他の特性に応じて、調整向けの特定のスケール・ファクタを選択することができる。
【００３６】
一構成例では、作られているビットレートに基づいてスケール・ファクタを調整するというレート／歪み制御ユニット・ブロック４６４の能力を、上で説明したビット・リザーバ・モデルの適用前に用いて、所定のビットレートを固守するとともに、符号化済音声信号３２０中に最小量の歪みをもたらすスケール・ファクタにそのモデルがすぐに集中することを可能にすることができる。
【００３７】
スケール・ファクタおよび係数がコード化ブロック４７０で符号化された後、その結果として得られるデータが、ビットストリーム・マルチプレクサ４７２に転送され、ビットストリーム・マルチプレクサ４７２は、係数およびスケール・ファクタを含む符号化済音声信号３２０を出力する。このデータは、他の制御情報、および（タイトル、符号化済音声信号３２０に関係する関係情報を含む）テキスト・データ等のメタデータ、ならびに使用されている特定の符号化スキームについての情報と更に混合されることがあり、したがって、音声信号３２０を受け取る復号器は、信号３２０を正確に復号することができる。
【００３８】
本明細書で議論する少なくともいくつかの実施形態は、音声信号の各周波数帯内の音声周波数で示されるエネルギーを用いて、音声情報の符号化および圧縮に有用なスケール・ファクタを比較的少ない計算で算出することのできる音声符号化方法を提供する。このようにしてスケール・ファクタを作ることで、たとえば、音声信号のリアルタイムでの符号化をプレースシフティング・デバイス内で行って、通信ネットワークを介して音声を送信することができ、音声信号のリアルタイムでの符号化を実現することをより簡単にすることができる。さらに、このようにしてスケール・ファクタを作ることで、従来では音声信号の符号化、圧縮が行えなかった、廉価なデジタル信号処理回路を処理する多くの携帯型デバイスおよび他の家庭用デバイスが、こうした能力を実現することを可能にすることができる。
【００３９】
本発明のいくつかの実施形態について本明細書で議論してきたが、本発明の範囲に包含される他の実装例も考えられる。たとえば、本明細書で開示する少なくとも１つの実施形態はプレースシフティング・デバイスのコンテキスト内で説明しているが、汎用コンピューティング・システム、テレビ受像機またはテレビ・セットトップ・ボックス（衛星伝送、有線伝送、地上波テレビジョン信号伝送に関連するものを含む）、衛星音声レシーバ、地上波音声レシーバ、ゲーム機、ＤＶＲ、ＣＤプレーヤ、ＤＶＤプレーヤ等の他のデジタル処理デバイスが、先に説明した概念の応用例から恩恵を得ることができる。さらに、本明細書に開示する１つの実施形態の特徴を、代替実施形態の特徴と組み合わせて、本発明の更なる実装例を作ることができる。したがって、特定の実施形態のコンテキストで本発明を記載しているが、こうした記載は、限定ではなく例証のために提供されるものである。したがって、本発明の正確な範囲は、添付の特許請求の範囲およびその均等物によってのみ定められる。
【図１】
2013502619.tif 000004
【図２】
2013502619.tif 000005
【図３】
2013502619.tif 000006
【図４】
2013502619.tif 000007
【図５】
2013502619.tif 000008
【手続補正書】
【提出日】平成24年4月13日(2012.4.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
時間ドメイン音声信号を符号化する方法であって、
前記時間ドメイン音声信号を電子デバイスにおいて受け取るステップと、
前記時間ドメイン音声信号を、複数の周波数のそれぞれについて係数を有する周波数ドメイン信号に変換するステップと、
前記係数を複数の周波数帯に分類するステップであって、前記周波数帯のそれぞれが、前記係数のうち少なくとも１つの係数を含む、ステップと、
前記周波数帯のエネルギーを周波数帯毎に求めるステップと、
前記周波数帯の前記エネルギーに基づいて、周波数帯毎にスケール・ファクタを求めるステップと、
前記周波数帯の前記係数を、関連する前記スケール・ファクタに基づいて周波数帯毎に量子化するステップと、
前記量子化された係数および前記スケール・ファクタに基づいて、符号化済音声信号を生成するステップと
を含み、
前記周波数帯の前記エネルギーを求めるステップおよび前記周波数帯の前記エネルギーに基づいて前記スケール・ファクタを求めるステップが、前記符号化済音声信号の目標とするビットレートが所定のレベルを超えていない場合に実行され、
前記方法が、
前記符号化済音声信号の前記目標とするビットレートが所定のレベルを超えている場合、
前記周波数帯それぞれについて、その周波数帯の前記係数のうち最大の係数を求めるステップと、
前記複数の周波数帯それぞれについて、前記最大の係数に関連する前記量子化された係数が０にならないようなスケール・ファクタを選択するステップと
を更に含む方法。
【請求項２】
前記符号化済信号を生成するステップが、量子化された前記係数を符号化するステップを含み、
前記符号化済音声信号が、前記符号化された係数および前記スケール・ファクタに基づく、
請求項１に記載の方法。
【請求項３】
前記周波数帯の前記エネルギーを求めるステップが、前記周波数帯の前記係数の絶対和を算出するステップを含む、
請求項１に記載の方法。
【請求項４】
前記スケール・ファクタを求めるステップが、
前記周波数帯の前記エネルギーの１０を底とする対数を算出するステップと、
初項を求めるために、前記周波数帯の前記エネルギーの前記１０を底とする対数に定数を加算するステップと、
前記スケール・ファクタを求めるために、前記初項をある乗数で乗算するステップと
を含む、請求項３に記載の方法。
【請求項５】
前記定数が約１．７５で、
前記乗数が１０である、
請求項４に記載の方法。
【請求項６】
前記符号化済音声信号に対する所定のビットレートに基づいて、前記スケール・ファクタを周波数帯毎に調整するステップであって、前記スケール・ファクタが、前記所定のビットレートに反比例する、ステップ
を更に含む請求項１に記載の方法。
【請求項７】
前記符号化済音声信号に対する所定のビットレートを維持するためのビット・リザーバ・モデルに基づいて、前記スケール・ファクタを周波数帯毎に調整するステップ
を更に含む請求項１に記載の方法。
【請求項８】
前記ビット・リザーバ・モデルが、前記所定のビットレートにおける５秒間の前記符号化済音声信号に対応する、
請求項７に記載の方法。
【請求項９】
量子化された出力信号を生成するための周波数ドメイン音声信号の周波数帯の周波数係数についてのスケール・ファクタを作る方法であって、
所定のレベルを超えない、前記量子化された出力信号に対するビットレートの場合、
前記周波数帯のエネルギーを求めるステップと、
前記周波数帯の前記エネルギーに基づいて、スケール・ファクタを求めるステップと
を含み、
前記所定のレベルを超える、前記量子化された出力信号に対するビットレートの場合、
前記周波数帯の最大の周波数係数を求めるステップと、
量子化後の対応する前記係数が０にならないようなスケール・ファクタを選択するステップと
を含み、
前記周波数係数の量子化が、前記スケール・ファクタに基づく、
方法。
【請求項１０】
前記周波数帯の前記エネルギーを求めるステップが、前記周波数帯の前記係数の絶対和を算出するステップを含む、
請求項９に記載の方法。
【請求項１１】
前記周波数帯の前記エネルギーに基づいて前記スケール・ファクタを求めるステップが、
前記周波数帯の前記エネルギーの対数を算出するステップと、
初項を求めるために、前記周波数帯の前記エネルギーの前記対数に定数を加算するステップと、
前記スケール・ファクタを求めるために、前記初項をある乗数で乗算するステップと
を含む、
請求項９に記載の方法。
【請求項１２】
前記定数が約１．７５で、
前記乗数が１０である、
請求項１１に記載の方法。
【請求項１３】
前記量子化された出力信号に対する前記ビットレートに基づいて、前記スケール・ファクタを周波数帯毎に調整するステップであって、前記スケール・ファクタが、前記量子化された出力信号に対する前記ビットレートに反比例する、ステップ
を更に含む請求項９に記載の方法。
【請求項１４】
時間ドメイン音声信号、および前記時間ドメイン音声信号を表す符号化済音声信号を格納するように構成されたデータ・ストレージと、
制御回路と
を備える電子デバイスであって、
前記制御回路が、
前記データ・ストレージから前記時間ドメイン音声信号を取り出し、
前記時間ドメイン音声信号を、複数の周波数それぞれについて係数を有する周波数ドメイン信号に変換し、
前記係数を、複数の周波数帯に分類する
ように構成され、
前記周波数帯のそれぞれが、前記係数のうち少なくとも１つの係数を含み、
前記制御回路が更に、
前記周波数帯のエネルギーを周波数帯毎に求め、
前記周波数帯の前記エネルギーに基づいて、周波数帯毎にスケール・ファクタを求め、
前記周波数帯の前記係数を、関連する前記スケール・ファクタに基づいて周波数帯毎に量子化し、
前記量子化された係数および前記スケール・ファクタに基づいて、前記符号化済音声信号を生成する
ように構成され、
前記制御回路が、前記符号化済音声信号の目標とするビットレートが所定のレベルを超えていない場合に、前記周波数帯の前記エネルギーを求めるとともに、前記周波数帯の前記エネルギーに基づいて前記スケール・ファクタを求めるように構成され、
前記制御回路が、前記符号化済音声信号の前記目標とするビットレートが前記所定のレベルを超えている場合に、前記周波数帯の最大の周波数係数を求めるとともに、量子化後の対応する前記係数が０にならないようなスケール・ファクタを選択するように構成された、電子デバイス。
【請求項１５】
前記制御回路が、前記符号化済音声信号を前記データ・ストレージ中に格納するように構成された、
請求項１４に記載の電子デバイス。
【請求項１６】
前記周波数帯の前記エネルギーを求めるために、前記制御回路が、前記周波数帯の前記係数の絶対値を合計するように構成された、
請求項１４に記載の電子デバイス。
【請求項１７】
前記周波数帯に対する前記スケール・ファクタを求めるために、前記制御回路が、
前記周波数帯の前記エネルギーの対数を求め、
前記周波数帯の前記エネルギーの前記対数に定数を加算して、初項を求め、
前記初項をある乗数で乗算して、前記スケール・ファクタを作るように構成された、
請求項１６に記載の電子デバイス。
【請求項１８】
前記定数が約１．７５で、
前記乗数が１０である、
請求項１７に記載の電子デバイス。
【国際調査報告】
2013502619.tif 000009
2013502619.tif 000010
2013502619.tif 000011
2013502619.tif 000012
2013502619.tif 000013