[0001] 本出願は、2013年2月21日に出願された米国仮出願第61/767,439号、「SYSTEMS AND METHODS FOR CONTROLLING AN AVERAGE RATE」に関連し、その優先権を主張する。
[0026] 同様の参照番号が機能的に類似の要素を示し得る図を参照して、様々な構成がここで説明される。本明細書において、図に一般的に説明され、示されるシステムおよび方法は、多種多様の構成に準備し設計できる。従って、図に示されるようないくつかの構成の以下のより詳細な説明は、請求されような範囲に限定する意図はなく、単にシステムおよび方法の典型である。
[0027] 図1は、エンコーダ104とデコーダ108の一般的な例を示すブロック図である。エンコーダ104は、音声信号102を受け取る。音声信号102は、何らかの周波数領域の音声信号であり得る。例えば、音声信号102は、0から24キロヘルツ(kHz)のおおよその周波数領域の全帯域信号か、0から16kHzのおおよその周波数領域の超広帯域信号か、0から8kHzのおおよその周波数領域の広帯域信号か、あるいは0から4kHzのおおよその周波数領域の狭帯域信号であり得る。音声信号102のための他の可能な周波数領域は、300から3400Hz(例えば、Public Switched Telephone Network(PSTN)の周波数領域)と、14から20kHzと、16から20kHzと、16から32kHzとを含む。いくつかの構成において、音声信号102は16kHzでサンプリングされ、0から8kHzのおおよその周波数領域を有することがある。
[0028] エンコーダ104は、符号化音声信号106を作るために音声信号102を符号化する。一般に、符号化音声信号106は、音声信号102を表す1つまたは複数のパラメータを含む。パラメータの1つまたは複数は量子化され得る。1つまたは複数のパラメータの例としては、フィルタパラメータ(例えば、重み係数と、線スペクトル周波数(LSFs:line spectral frequencies)と、線スペクトル対(LSPs:line spectral pairs)と、イミタンススペクトル周波数(ISFs:immittance spectral frequencies)と、イミタンススペクトル対(ISPs:immittance spectral pairs)と、偏相関(PARCOR:partial correlation)係数と、反射係数と、および/または、ログ面積比値など)、および符号化励起信号に含まれるパラメータ(例えば、ゲイン係数と、ピッチラグと、(量子化された)振幅情報と、(量子化された)位相情報と、適応コードブックインデックスと、適応コードブックゲインと、固定コードブックインデックスと、および/または、固定コードブックゲインなど)がある。パラメータは、1つまたは複数の周波数帯域に対応し得る。デコーダ108は、復号音声信号110を作るために符号化音声信号106を復号する。例えば、符号化音声信号106に含まれる1つまたは複数のパラメータに基づいて、デコーダ108は復号音声信号110を構成する。復号音声信号110は、オリジナルの音声信号102のおおよその複製品であり得る。
[0029] エンコーダ104は、ハードウェア(例えば、回路)、ソフトウェア、または両方の組合せで実施され得る。例えば、エンコーダ104は、特定用途向け集積回路(ASIC:application-specific integrated circuit)として、あるいは、命令を有するプロセッサとして実施され得る。同様に、デコーダ108は、ハードウェア(例えば、回路)、ソフトウェア、または両方の組合せで実施され得る。例えば、デコーダ108は、特定用途向け集積回路(ASIC)として、あるいは、命令を有するプロセッサとして実施され得る。エンコーダ104とデコーダ108は、別々の電子デバイスで、あるいは、同じ電子デバイスで実施され得る。
[0030] いくつかの構成において、エンコーダ104、および/または、デコーダ108は、合成音声出力(例えば、復号音声信号110)を生成するために、励起信号を合成フィルタに通すことによって音声合成が行われる音声コーティングシステムに含まれ得る。そのようなシステムにおいて、エンコーダ104は音声信号102を受け取り、次いで、音声信号102をフレーム(例えば、20ミリ秒(ms)フレーム)に窓化し(window)、合成フィルタパラメータと、対応する励起信号を生成するのに要するパラメータとを生成する。これらパラメータは、符号化音声信号106としてデコーダ108に送信され得る。デコーダ108は、合成フィルタ(例えば1/A(z))と、対応する励起信号とを生成するためにこれらパラメータを使用し、復号音声信号110を生成するために励起信号を合成フィルタに通すことができる。図1は、そのような音声エンコーダ/デコーダシステムの簡略化されたブロック図であり得る。
[0031] 図2は、エンコーダ204とデコーダ208の基本的な実施例を示すブロック図である。エンコーダ204は、図1と関連付けて説明されたエンコーダ104の一例であり得る。エンコーダ204は、分析モジュール212と、係数変換214と、量子化器A216と、逆量子化器A218と、逆係数変換A220と、分析フィルタ222と、量子化器B224とを含み得る。エンコーダ204、および/または、デコーダ208の1つまたは複数の構成要素は、ハードウェア(例えば、回路)、ソフトウェア、または両方の組合せで実施され得る。
[0032] エンコーダ204は、音声信号202を受け取る。音声信号202は、図1(例えば、音声周波数の全体帯域、あるいは音声周波数のサブ帯域)と関連付けて上記で説明されるように、何らかの周波数領域を含み得ることに留意すべきである。
[0033] この例では、分析モジュール212が、1組の線形予測(LP)係数(例えば、全極合成フィルタ1/A(z)を作るために適用され得る分析フィルタ係数A(z)、ただしzは複素数である)として、音声信号202のスペクトル包絡線を符号化する。分析モジュール212は、各フレームあるいはサブフレームのために算出されている新しい組の係数を用いて、一連の音声信号202の非重複フレームとして入力信号を典型的に処理する。いくつかの構成において、フレーム周期は、音声信号202が局所的に静止していると予測され得る期間であり得る。フレーム周期の1つの一般的な例は、20ms(例えば、8kHzのサンプリングレートで160個のサンプルと同等)である。一例では、分析モジュール212が、各20msフレームのフォルマント構造を特徴付けるために10個の線形予測係数の組を算出するように構成される。また、一連の重複フレームとして音声信号202を処理するために分析モジュール212も実施可能である。
[0034] 分析モジュール212は、各フレームのサンプルを直接分析するように構成されたり、サンプルは窓関数(例えば、ハミング窓)に従って最初に重み付けされたりし得る。また、分析は、30ms窓など、フレームより大きい窓で行われ得る。この窓は左右対称(例えば、20msフレーム直前および直後の5ミリ秒を含むように、5−20−5)であるか、あるいは非対称(例えば、前のフレームの最後10msを含むように、10−20)であり得る。典型的に、分析モジュール212は、レビンソンダービン再帰あるいはルルーゲゲンアルゴリズムを使用する線形予測係数を算出するように構成される。別の実施では、分析モジュール212が、1組の線形予測係数の代わりに、各フレームの1組のケプストラム係数を算出するように構成され得る。
[0035] 係数を量子化することによって、複製の質への影響は比較的少ない状態で、エンコーダ204の出力レートは著しく減少し得る。線形予測係数は効率的に量子化することが難しく、量子化および/またはエントロピー符号化のためのLSFsのように、通常、別の表示にマッピングされる。図2の例では、係数変換214が、係数の組を対応するLSFベクトル(例えば、LSFの組)に変換する。係数の他の1対1表示は、LSPと、PARCOR係数と、反射係数と、ログ面積比値と、ISPと、ISFとを含む。例えば、ISFは、GSM(登録商標)(移動通信用グローバルシステム:Global System for Mobile Communications)AMR−WB(適応型マルチレート広帯域:Adaptive Multirate−Wideband)コーデックで使用され得る。便宜上、「線スペクトル周波数」と、「LSF」と、「LSFベクトル」という用語、および関連用語は、LSFと、LSPと、ISFと、ISPと、PARCOR係数と、反射係数と、ログ面積比値の1つまたは複数について言及するのに使用され得る。典型的に、1組の係数と対応するLSFベクトルとの間の変換は可逆的であるが、いくつかの構成は、変換が誤差なく可逆的でないエンコーダ204の実施を含み得る。
[0036] 量子化器A216は、LSFベクトル(あるいは他の係数表示)を量子化するように構成される。エンコーダ204は、フィルタパラメータ228として、この量子化の結果を出力し得る。典型的に、量子化器A216は、テーブルあるいはコードブックにおける対応ベクトルエントリに対する指標として入力ベクトル(例えば、LSFベクトル)を符号化するベクトル量子化器を含む。
[0037] また、図2で見られるように、エンコーダ204は、1組の係数に従って構成される分析フィルタ222(また、ホワイトニングまたは予測誤差フィルタ(whitening or prediction error filter)と呼ばれる)に音声信号202を通すことによって、残差信号を生成する。分析フィルタ222は、有限インパルス応答(FIR:finite impulse response)フィルタ、あるいは無限インパルス応答(IIR:infinite impulse response)フィルタとして実施され得る。典型的に、この残差信号は、ピッチに関する長期構造のような、フィルタパラメータ228に表されない音声フレームの知覚的に重要な情報を含む。量子化器B224は、符号化励起信号226として、この出力用の残差信号の量子化表示を算出するように構成される。いくつかの構成において、量子化器B224は、テーブルあるいはコードブックにおける対応ベクトルエントリに対する指標として入力ベクトルを符号化するベクトル量子化器を含む。さらに、または、あるいは、量子化器224Bは、まばらなコードブック方法のように、記憶装置から検索されるよりデコーダ208でベクトルが動的に生成され得る1つまたは複数のパラメータを送るように構成され得る。そのような方法は、ACELP(代数符号励起線形予測:algebraic code−excited linear prediction)のようなコーディング方式や3GPP2(第3世代パートナーシップ2:Third Generation Partnership 2)EVRC(強化型可変速コーデック:Enhanced Variable Rate Codec)などのコーデックにおいて使用される。いくつかの構成において、符号化励起信号226とフィルタパラメータ228は、符号化音声信号106に含まれ得る。
[0038] 対応するデコーダ208に利用可能な同じフィルタパラメータ値に従って、エンコーダ204が符号化励起信号226を生成することは有益であり得る。このように、結果としての符号化励起信号226はすでに、量子化誤差のような、それらのパラメータ値における非理想特性をある程度説明できる。従って、デコーダ208で利用可能な同じ係数値を使用して分析フィルタ222を構成することは有益であり得る。図2に示すようなエンコーダ204の基本的な例では、逆量子化器A218が、フィルタパラメータ228を逆量子化する。逆係数変換A220は、結果としての値を対応する係数の組にマッピングして戻す。この係数の組は、量子化器B224によって量子化される残差信号を生成するために分析フィルタ222を構成するのに使用される。
[0039] エンコーダ204のいくつかの実施は、残差信号に最もよく合致する1組のコードブックベクトルの中から1つを識別することによって符号化励起信号226を算出するように構成される。しかしながら、エンコーダ204も実際に残差信号を生成せずに残差信号の量子化表示を算出するように実施され得ることに留意する。例えば、エンコーダ204は、対応する合成信号(例えば、現在のフィルタパラメータの組に従って)を生成し、知覚的に荷重された領域でオリジナルの音声信号202に最もよく合致する、生成された信号に関連付けられるコードブックベクトルを選択するために、いくつかのコードブックベクトルを使用するように構成され得る。
[0040] いくつかの構成において、エンコーダ204は、雑音励起線形予測(NELP:noise-excited linear predictive)エンコーダとして実施され得る。NELPエンコーダは、無声音声として分類されたフレームをコーディングするために使用され得る。信号複製の点で、NELPコーディングは効率的に動作し、そこでは音声信号202はピッチ構造をほとんど、あるいは全く有しない。より詳細には、NELPは、無声音声または背景雑音など、性質が雑音様である音声を符号化するために使用され得る。NELPは、無声音声をモデル化するためにフィルタ処理された擬似ランダム雑音信号を使用する。そのような音声セグメントの雑音様特徴は、デコーダ208でランダム信号を生成し、適切なゲインをそれらに適用することによって、再構成され得る。NELPは、符号化音声に簡易モデルを使用し得、それにより、低ビットレートを達成する。
[0041] いくつかの構成において、エンコーダ204は、プロトタイプピッチ周期(PPP:prototype pitch period)エンコーダとして実施され得る。PPPエンコーダは、有声音声として分類されたフレームをコーディングするために使用され得る。有声音声は、PPPエンコーダによって利用される低速の時間変動周期成分を含む。PPPエンコーダは、各フレーム内のピッチ周期のサブセットをコーディングする。音声信号202の残りの周期は、これらプロトタイプ周期の間で補間することによって再構成される。有声音声の定期性を開発することによって、PPPエンコーダは知覚的に正確な方法で音声信号202を再生できる。
[0042] デコーダ208は、逆量子化器B230と、逆量子化器C236と、逆係数変換B238と、合成フィルタ234とを含み得る。逆量子化器C236はフィルタパラメータ228(例えば、LSFベクトル)を逆量子化し、逆係数変換B238はLSFベクトルを1組の係数(例えば、エンコーダ204の逆量子化器A218と逆係数変換A220を参照して上記で説明されるように)に変換する。逆量子化器B230は、励起信号232を作るために符号化励起信号226を逆量子化する。係数と励起信号232に基づいて、合成フィルタ234は復号音声信号210を合成する。言い換えれば、合成フィルタ234は、復号音声信号210を作るために、逆量子化係数に従ってスペクトル的に励起信号232を形成するように構成される。また、いくつかの構成において、デコーダ208は、別の周波数帯域(例えば、高帯域)の励起信号を導出するために励起信号232を使用し得る別のデコーダに励起信号232を提供し得る。いくつかの実施では、デコーダ208が、スペクトル傾斜、ピッチゲイン、ラグ、音声モードなど、励起信号232に関連する別のデコーダに追加情報を提供するように構成され得る。
[0043] エンコーダ204とデコーダ208のシステムは、合成による分析(analysis-by-synthesis)音声コーデックの基本的な例である。コードブック励起線形予測コーディングは、合成による分析コーディングの1つの一般的なファミリーである。そのようなコーダの実施は、固定の適応コードブックからのエントリの選択と、誤差最小化動作と、および/または、知覚的重み付け動作のような動作を含む、残差の波形符号化を行い得る。合成による分析コーディングの他の実施は、符号励起線形予測(CELP:code-excited linear prediction)と、混合励起線形予測(MELP:mixed excitation linear prediction)と、ACELPと、緩和型CELP(RCELP:relaxation CELP)と、レギュラーパルス励起(RPE:regular pulse excitation)と、マルチパルス励起(MPE:multi-pulse excitation)と、マルチパルスCELP(MP−CELP:multi-pulse CELP)と、ベクトル和励起線形予測(VSELP:vector-sum excited linear prediction)コーディングとを含む。関連コーディング方法は、多重帯域励起(MBE:multi-band excitation)と、プロトタイプ波形補間(PWI:prototype waveform interpolation)コーディングを含む。標準化合成による分析音声コーデックの例としては、ETSI(欧州電気通信標準化機構:European Telecommunications Standards Institute)−GSMフルレートコーデック(GSM 06.10)(残差励起線形予測(RELP:residual excited linear prediction)と、GSMエンハンストフルレートコーデック(ETSI−GSM06.60)と、 ITU(国際電気通信連合:International Telecommunication Union)標準、11.8kbps、G.729 アネックスEコーダと、IS−136(時分割多元接続スキーム)のための仮標準(IS:Interim Standard)−641コーデックと、GSM適応マルチレート(GSM AMR:GSM(登録商標) adaptive multirate)コーデックと、4GV(商標登録)(第四世代ボコーダ(商標登録))コーデック(クオルコム、サンディエゴ、カリフォルニア)とを使用する)がある。エンコーダ204と対応するデコーダ208は、これら技術のいずれか、あるいは、(A)フィルタについて説明する1組のパラメータとして、また、(B)音声信号202を再生するために説明されたフィルタを導出するために使用される励起信号として、音声信号を表す何らかの他の音声コーディング技術に従って実施され得る(知られる、あるいは開発される)。
[0044] 分析フィルタ222が音声信号202から粗いスペクトル包絡線を取り除いた後でも、特に有声音声のための相当数の微細な調和構造が残り得る。周期構造はピッチに関連し、また、同じ話し手によって話される、異なる有声音は異なるフォルマント構造を有するが、同様のピッチ構造を有することがある。
[0045] コーディング効率および/または音声品質は、ピッチ構造の特性を符号化するための1つまたは複数のパラメータ値を使用することによって高まり得る。ピッチ構造の1つの重要な特性は、典型的に60から400ヘルツ(Hz)の範囲にある第1の調波の周波数(基本周波数とも呼ばれる)である。この特性は、一般に、ピッチラグとも呼ばれる、基本周波数の逆数として符号化される。ピッチラグは、1つのピッチ周期におけるサンプル数を示し、1つまたは複数のコードブック指標として符号化され得る。男性話者からの音声信号は、女性話者からの音声信号よりも大きいピッチラグを有する傾向がある。
[0046] ピッチ構造に関連する別の信号特性は、調和構造の強度、言い換えれば信号が調和的あるいは非調和的である度合いを示す周期性である。2つの典型的な周期性のインディケータは、零交差と、正規化自己相関関数(NACFs:normalized autocorrelation functions)である。周期性はピッチゲインによっても示され得、これは、通常、コードブックゲイン(例えば、量子化された適応コードブックゲイン)として符号化される。
[0047] エンコーダ204は、音声信号202の長期調和構造を符号化するように構成された1つまたは複数のモジュールを含み得る。CELP符号化に対するいくつかの手法において、エンコーダ204は、微細ピッチあるいは調和構造を符号化する閉ループ長期予測分析段階に続いて、短期特性あるいは粗いスペクトル包絡線を符号化する開ループLPC分析モジュールを含む。短期特性は係数(例えば、フィルタパラメータ228)として符号化され、長期特性は、ピッチラグやピッチゲインのようなパラメータの値として符号化される。例えば、エンコーダ204は、1つまたは複数のコードブック指標(例えば、固定コードブック指標や適応コードブック指標)と対応するゲイン値とを含む形式で符号化励起信号226を出力するように構成され得る。残差信号(例えば、量子化器B224で)のこの量子化表示の計算は、そのような指標を選択し、そのような値を算出することを含み得る。また、ピッチ構造の符号化はピッチプロトタイプ波形の補間を含み得、その演算は、連続ピッチパルス間の差を算出することを含み得る。長期構造のモデリングは、一般に雑音様および非構造的である無声音声に対応するフレームについて無効化され得る。
[0048] デコーダ208のいくつかの実施は、長期構造(ピッチあるいは調和構造)が復元された後、励起信号232を別のデコーダ(例えば、高帯域デコーダ)へ出力するように構成され得る。例えば、そのようなデコーダは、符号化励起信号226の逆量子化バージョンとして励起信号232を出力するように構成され得る。もちろん、他のデコーダが符号化励起信号226の逆量子化を行って励起信号232を取得するようにデコーダ208も実施可能である。
[0049] 本明細書で開示されたシステムおよび方法は、平均符号化レートを制御するための手法を提供する。例えば、本明細書で開示されたシステムおよび方法のいくつかの構成は、プロトタイプピッチ周期(PPP)ベースの音声符号化システムのための開ループ、および/または、閉ループの平均符号化レート制御を提供する。明瞭化のため、既知の可変レート符号化システムに起こるいくつかの問題の説明を次のように示す。
[0050] 可変レート音声符号化システムにおいて、平均符号化レート(例えば、平均ビットレートや平均データレート(ADR:average data rate)など)を制御することが、所望容量を維持するために利用される。PPPベースの音声符号化システムにおいて、これは1/4レートフレーム(例えば、PPP、および/または、NELP)フレームを制御することによって達成され得る。例えば、強化型可変速コーデックB(EVRC−B:Enhanced Variable Rate Codec B)仕様は、所望平均符号化レートより低い動作ビットレートを有する動作点を課す。平均符号化レートが最後N個の音声フレームに基づいて所望レートに増えるまで、1/4レートPPPフレームのいくつかをフルレートフレームで送られ得る。例えば、EVRC−B仕様においてN=600フレームである。
[0051] 動作モードは、PPPと、QFFやQQF(Qは1/4レートPPPフレームを表し、Fはフルレートフレームを表す)などのフルレートフレームパターンを設定することによって、選択され得る。この設定において、最も低いレートは最も高いPPPフレームレートをもたらすパターンに依存する。しかしながら、連続するPPPフレームを増やすと、オリジナルから合成波形をドリフトさせることになり得る。これは、音声アーティファクトを作成する可能性がある。
[0052] EVRC−B仕様において、PPPベースの符号化システムは、「増加スキーム」と呼ばれる拒絶機構と関連付けられる。特に、開ループ決定作成プロセスは、PPPフレームである特定のフレームを分類するが、増加機構は、フレームがフルレートを使用することによって量子化される開ループ決定を変え得る。例えば、エンコーダは、あるフレームがコーディングのPPPモードに合っているか否かを確かめるために1組のチェックを行う。エンコーダは、1組の閾値に対して、このプロセスで計算された1組のパラメータをチェックする。これら閾値は「増加」閾値と呼ばれる。「増加」が起こる場合、あるフレームは、より高いレートを使用して符号化される。このことは、平均データレートを高める。従って、PPPフレームを高めることが、いつもレートを所望の低レートに低下させることにはならない。
[0053] 一定の動作点が設定されるときでも、最後N個のフレーム(例えば、600個のフレーム)間の平均レートは非常に変わりやすい。このように、過去N個のフレームに基づいてQ個のフレームをF個のフレームに変えることが、所望平均符号化レートをもたらすことにはならない。従って、長期平均レートの大きさは、レート制御過程で考慮され得る。その結果、いくつかの場合(例えば、いくつかの雑音環境などにおけるいくつかの言語のため)、平均レートを制御するために1つの操作点から最もアグレッシブな次の操作点に変化することが、レートを所望レベルに下げることにはならない。実験で、2個のFフレームが1/4レート符号化による位相調整誤差から回復するのに十分な時間を提供するので、QとFフレームパターンQFFを使用することが最も質の高い音声をもたらすことがわかった。
[0054] PPPベースの変数レート音声コーディングシステムにおけるレート制御と関連付けられるいくつかの潜在的問題は、次のように示される。最もアグレッシブなQとFパターンでさえ、音声特性と増加機構による所望平均符号化レートをもたらさないことがある。よりアグレッシブなレート制御パターンを課すと、音声アーティファクトが引き起こされ得る。過去N個のフレームの平均レートは、次のN個のフレームをよく表さないことがある。連続したN個のフレーム間のレートは非常に変わりやすい。
[0055] 図3は、平均符号化レートを制御するためのシステムおよび方法が実施され得る電子デバイス340の一構成を示すブロック図である。電子デバイス340の例としては、スマートフォンと、携帯電話と、固定電話と、ヘッドセットと、デスクトップコンピュータと、ラップトップコンピュータと、テレビと、ゲーム機と、オーディオレコーダーと、カムコーダーと、スチルカメラと、自動車コンソールなどがある。電子デバイス340は、符号化レートコントローラ342と、フレーミング前処理モジュール350と、セレクタ354a−bと、および/または、1つまたは複数のエンコーダ356a−nを含み得る。電子デバイス340の構成要素の1つまたは複数は、ハードウェア(例えば、回路)、ソフトウェア、または両方の組合せで実施され得る。例えば、符号化レートコントローラ342は、ハードウェア(例えば、回路)、ソフトウェア、または両方の組合せで実施され得る。本明細書のブロック図における線あるいは矢印が、構成要素あるいは要素間の結合を示し得ることに留意すべきである。例えば、符号化レートコントローラ342は、フレーミング前処理モジュール350と結合され得る。
[0056] 電子デバイス340は、音声信号348を取得する。例えば、電子デバイス340は、1つまたは複数のマイクロフォンで音声信号348を取り込み、および/または、別のデバイス(例えば、Bluetooth(登録商標)ヘッドセット)から音声信号348を受け取ることがある。音声信号348は、フレーミング前処理モジュール350に提供され得る。
[0057] フレーミング前処理モジュール350は、音声信号348を一連のフレームに分割し得る。各フレームは、特定の時間期間であり得る。例えば、各フレームは、音声信号348の20msに対応し得る。フレーミング前処理モジュール350は、雑音抑制やフィルタリング(例えば、低域と、高域と、帯域通過フィルタリングの1つまたは複数)など、音声信号348に他の動作を行い得る。従って、フレーミング前処理モジュール350は、前処理済音声信号362を作り得る。
[0058] いくつかの構成において、フレーミング前処理モジュール350は、メトリック決定モジュール360を含む。メトリック決定モジュール360は、音声信号348に基づいてメトリック352を決定し得る。例えば、メトリック決定モジュール360は、音声信号348のフレームに基づいて信号対雑音比(SNR:signal-to-noise ratio)を決定し得る。メトリック352(例えば、SNR)は、符号化レートコントローラ342に提供され得る。
[0059] 符号化レートコントローラ342は、平均符号化レートを制御し得る。平均符号化レートは、いくつかのフレーム上の平均に基づく符号化音声信号364のビットレート(例えば、毎秒あたりのキロビット(kbps))である。符号化レートコントローラ342は、平均符号化レートを目標レートに合致させようと試みることによって、平均符号化レートを制御し得る。目標レートは、符号化音声信号364の所望ビットレートを指定し得る。目標レートは、別のデバイス(例えば、基地局)から受け取られ得るか、あるいは既定であり得る。
[0060] 符号化レートコントローラ342は、前処理済音声信号362のフレームを符号化するためにエンコーダ356a−nを選択することによって平均符号化レートを制御し得る。例えば、符号化レートコントローラ342は、符号化レートインディケータ366をセレクタ354a−bへ提供し得る。符号化レートインディケータ366は、特定のエンコーダ356、レート、および/または、フレームタイプを指定する。セレクタ354a−bは、符号化レートインディケータ366によって示されるように、各フレーム用のエンコーダ356に前処理済音声信号362を送り得る。
[0061] エンコーダ356a−nの各々は、前処理済音声信号362に基づいて符号化音声信号364を作り得る。上記で説明されたエンコーダ104および204の1つまたは複数に従って、1つまたは複数のエンコーダ356a−nが実施され得る。エンコーダ356a−nの例としては、PPPエンコーダと、NELPエンコーダと、CELPエンコーダ(例えば、ACELPエンコーダ)などがある。エンコーダ356a−nの1つまたは複数は、符号化情報358を符号化レートコントローラ342に提供し得る。符号化情報358の例としては、符号化波形と、誤差メトリック(例えば、振幅誤差メトリック)と、帯域ゲイン変化メトリック(例えば、低域ゲイン変化メトリック)と、フレームを符号化するために使用されるフレーム符号化レート(例えば、n番目のフレーム)とがある。例えば、符号化レートコントローラ342は、1つまたは複数の平均レートを計算するためにレート情報を利用し得る。
[0062] 各エンコーダ356a−nは、特定の符号化レートで符号化音声信号364を作り得る。本明細書で使用されるように、「高レートエンコーダ」という用語とそのバリエーションは、目標レートより高いビットレートで符号化音声信号を作るエンコーダを示し得る。さらに、「低レートエンコーダ」という用語とそのバリエーションは、目標レートより低いビットレートで符号化音声信号を作るエンコーダを示し得る。
[0063] 各エンコーダ356a−nは、1つまたは複数のフレームタイプを符号化するために利用され得る。例えば、フレームは、各フレームに対応する音声信号348に基づくフレームタイプに従って分類され得る。いくつかの構成において、符号化レートコントローラ342は、各フレームが「有声フレーム」、「無声フレーム」あるいは他のフレーム(例えば、沈黙フレーム、トランジェントフレーム、ダウントランジェントフレームなど)であるかを決定し得る。有声フレームは、音声特性(例えば、より低域のエネルギー、より高いSNRなど)を示し得る。無声フレームは、雑音特性(例えば、より高域のエネルギー、より低いSNRなど)を示し得る。トランジェントフレームは、無声フレームあるいは沈黙フレームと有声フレームとの間に起こるフレームであり得る。従って、符号化レートコントローラ342は、1つまたは複数の閾値、および/または、1つまたは複数の要因(例えば、SNR、ゼロ交差レート、帯域エネルギー比など)に基づいてフレームタイプを決定し得る。各フレームタイプは、1つまたは複数の符号化レートで1つまたは複数のエンコーダ356a−nによって符号化され得る。高レートエンコーダ356によって符号化されるフレームは「高レートフレーム」と呼ばれ得、低レートエンコーダ356によって符号化されるフレームは「低レートフレーム」と呼ばれ得る。例えば、目標レートより高い符号化レートのフレームが「高レートフレーム」であり、目標レートより低い符号化レートのフレームは「低レートフレーム」であり得る。
[0064] 一例では、エンコーダ356a−nが1/4レートPPP(QPPP:quarter-rate PPP)エンコーダと、NELPエンコーダと、2個のACELPエンコーダとを含むと仮定する。さらに、目標レートが5.9kbpsであると仮定する。QPPPエンコーダは、2.8kbpsのレートの符号化でいくつかの有声フレーム(例えば、有声低レートフレーム)を符号化し得る。NELPエンコーダは、2.8kbpsのレートの符号化で無声フレームを符号化し得る。従って、QPPPエンコーダとNELPエンコーダは、この例では低レートエンコーダである。1個のACELPエンコーダ(例えば、「有声」ACELPエンコーダ)が7.2kbpsのレートの符号化でいくつかの有声フレーム(例えば、有声高レートフレーム)を符号化し得る。別のACELPエンコーダ(例えば、「変換」ACELPエンコーダ)は、8.0kbpsの符号化レートで変換フレームを符号化し得る。従って、有声ACELPエンコーダと変換ACELPエンコーダは、この例では高レートエンコーダである。
[0065] いくつかの例では、「フルレート」、および/または、「1/4レート」という用語が、フレームタイプ、および/または、対応するエンコーダについて説明するために使用され得る。「フルレート」が最大可能ビットレートを示す、あるいは示さないことがあり、および/または、フレームタイプに基づいて異なったビットレートを示すことがあることに留意すべきである。例えば、フルレート変換フレームは変換ACELPエンコーダによって8.0kbpsのビットレートで符号化され得るが、有声フルレートフレームは有声ACELPエンコーダによって7.2kbpsのビットレートで符号化され得る。また、「1/4レート」がフルレートの実際の1/4を示す、あるいは示さないかもしれないことに留意すべきである。例えば、1/4レートフレームは、文字通りフルレート7.2kbpsの4分の1ではない2.8kbpsで符号化され得る。
[0066] 平均レート決定モジュール344は、第1の平均レートを決定し得る。第1の平均レートの一例として、長期平均レート(例えば、R
LT)がある。例えば、平均レート決定モジュール344は、短期平均レート(例えば、R
lastNframes)、および/または、長期平均レートを決定し得る。短期平均レートと長期平均レートは、平均符号化レートの例である。短期平均レートは、最後N個のフレーム(例えば、600個のフレーム)上で平均された符号化レートである。平均レート決定モジュール344は、N個のフレーム上で選択されたフレーム符号化レートを合計し、その合計をNで割ることによって短期平均レートを決定し得る。式(1)で示される平滑式に従って、各Nフレーム間隔の後、長期平均レートは決定(例えば、計算される)され得る。
式(1)で、nは長期平均指標であり、αはスムージング要因である。αは、いくつかの構成において0.98であり得る。符号化レートコントローラ342は、平均符号化レートを制御するために、短期平均レート、および/または、長期平均レートを利用し得る。
[0067] 閾値決定モジュール346は、1つまたは複数の閾値を決定し得る。例えば、閾値決定モジュール346は、平均符号化レートに基づいて1つまたは複数の閾値を適応的に変え得る。特に、閾値決定モジュール346は、第1の平均レートに基づいて第1の閾値(例えば、THCN)を決定し得る。例えば、第1の平均レート(例えば、RLT)が目標レート(例えば、Rtarget)より大きい場合、次いで、閾値決定モジュール346は、第1の閾値を選択するか、または第1の閾値を調整し得る(例えば、第1の閾値を上げる)。例えば、第1の閾値を上げると、平均符号化レートを下げさせる、低レートで符号化され得るクリーンフレームとして、より多くのフレームが分類させられ得る。しかしながら、第1の平均レート(例えば、RLT)が目標レート以下である場合、次いで、閾値決定モジュール346は、異なった第1の閾値を選択するか、または第1の閾値を異なる方法で調整し得る(例えば、第1の閾値を下げる)。例えば、第1の閾値を下げると、平均符号化レートを上げさせる、高レートで符号化され得るノイジーフレームとして、より多くのフレームが分類させられ得る。
[0068] 第1の閾値(例えば、THCN)は、クリーンフレーム、あるいはノイジーフレームとしてフレームを分類し得る。より詳細には、符号化レートコントローラ342は、第1の閾値に基づいて、フレームをクリーンフレームあるいはノイジーフレームとして分類し得る。例えば、各有声フレームは、クリーンフレームあるいはノイジーフレームとして分類され得る。クリーンフレームは、高確率の低レートエンコーダ356(例えば、QPPPエンコーダ)で符号化され得るが、ノイジーフレームは、高確率の高レートエンコーダ356(例えば、有声ACELPエンコーダ)で符号化され得る。高レートエンコーダ356を使用してノイジーフレームを符号化する確率は高いが、すべてのノイジーフレームが高レートエンコーダ356で符号化され得ないことに留意すべきである。このように、第1の閾値を決定すると、平均符号化レートに影響する低レートエンコーダ356に対する高レートエンコーダ356で符号化されるフレームの数に影響があり得る。
[0069] 一例では、第1の閾値がSNR閾値であり、メトリック352はSNRである。SNRは、フレーミング前処理モジュール350によって行われる雑音推定に基づき得る。この例で、符号化レートコントローラ342は、SNRがSNR閾値より大きい場合にクリーンフレームとして、あるいはSNRがSNR閾値以下である場合にノイジーフレームとして、フレームを分類し得る。
[0070] 符号化レートコントローラ342は、第1の閾値に基づいて他の少なくとも1つの閾値を決定することによって、平均符号化レートを制御し得る。例えば、符号化レートコントローラ342は、第1の閾値に基づいて異なる閾値を選択し得る。異なる閾値を選択すると、平均符号化レートを上げる高レートフレームの量を増やすことによって(低レートフレームの量を減少させながら)、あるいは、平均符号化レートを下げる高レートフレームの量を減少させることによって(低レートフレームの量を増やしながら)、平均符号化レートが影響され得る。いくつかの構成において、他の少なくとも1つの閾値が閾値セットであり得る。例えば、符号化レートコントローラ342は、第1の閾値セット、あるいは第1の閾値に基づいて第2の閾値セットを選択し得る。本明細書で使用されるように、「セット」という用語は2個以上の要素を示し得る。例えば、「閾値セット」は2個以上の閾値を含み得る。
[0071] いくつかの構成において、他の少なくとも1つの閾値は、少なくとも1つのフレーム調整閾値を含む。フレーム調整閾値は、あるフレームに対してフレームタイプを調整するか否かを示し得る。フレームタイプ調整は、フレームに対する符号化レートを変更(例えば、増減)し得る。1つまたは複数のフレーム調整閾値を変更することによって、平均符号化レートを上げる、あるいは下げるためにフレームタイプ調整量を制御できる。いくつかの構成において、オリジナルの音声情報と量子化された音声情報との間にかなりの量の量子化誤差があるか否か(例えば、量子化パラメータが非量子化パラメータと異なり過ぎるか否か)を決定するために、フレーム調整閾値が利用され得る。量子化誤差が大き過ぎる場合、符号化音声品質は劣化され得る。これらの場合、フレームタイプは、より高いレート(例えば、より高品質)で符号化されるように調整され得る。
[0072] 一例では、符号化レートコントローラ342は、始めに低レート符号化(例えば、QPPP符号化)の候補として有声フレームを分類し得る。低レートエンコーダ356は、有声フレームの符号化に進み得て、符号化情報358を符号化レートコントローラ342に提供し得る。
[0073] 符号化レートコントローラ342は、符号化情報358に基づくフレームタイプとフレーム調整閾値を調整するか否かを決定する。例えば、符号化情報358は、1つまたは複数のメトリック、あるいは1つまたは複数のメトリックを決定するための情報を含み得る。例えば、1つまたは複数のメトリックは、オリジナルのフレームと符号化されたフレームとの差の程度を示す第1のメトリック(例えば、振幅誤差メトリック)、および/または、前のフレームと現在のフレームとの間の変化の程度を示す第2のメトリック(例えば、低域ゲイン変化メトリック)を含み得る。1つまたは複数のメトリックは、エンコーダ356あるいは符号化レートコントローラ342によって決定され得る。1つまたは複数のメトリックがフレーム調整閾値の1つまたは複数を超える場合、符号化レートコントローラ342はフレームタイプを調整し得る。例えば、符号化レートコントローラ342は、フレームを符号化するために異なるエンコーダ356を選択し得る。例えば、符号化レートコントローラ342は、低レートエンコーダ356の代わりに高レートエンコーダ356を選択し得る。
[0074] 一例では、少なくとも1つの閾値が1組の「増加」閾値である。増加閾値は、低レートQPPPフレームを高レート有声ACELPフレームに調整(例えば、増加)するか否かを示す。例えば、符号化レートコントローラ342は、初めにQPPPフレームとして有声フレームを分類し得る。従って、符号化レートコントローラ342は、エンコーダフレームに対してQPPPエンコーダ356を選択する。QPPPエンコーダ356はフレームを符号化し、符号化情報358を符号化レートコントローラ342に提供する。
[0075] この例で、符号化情報358は振幅誤差メトリックと低域ゲイン変化メトリックを含む。振幅誤差メトリック(例えば、amperror)は、式(2)に示すように、オリジナルのPPP信号と量子化されたPPP信号との平均差である。
式(2)では、PPP(i)が指標iに対するオリジナルのPPP信号振幅であり、PPPQ(i) は量子化されたPPP信号振幅であり、Mが(例えば、振幅量子化における)PPP振幅を計算するために使用されるいくつかのビン(bin)(例えば、帯域)であり、amperrorが振幅誤差メトリックである。例えば、PPP信号は、時間領域信号を周波数領域信号に変換し、異なる周波数帯域に対する振幅を計算することによって量子化され得る。
[0076] 低域ゲイン変化メトリック(例えば、ΔLgainE)は、式(3)に示すように、現在のフレームの低域エネルギーゲインと前のフレームの低域エネルギーゲインとの差である。
式(3)において、currLgainEは現在のフレームの低域エネルギーゲインであり、prevLgainEは前のフレームの低域エネルギーゲインであり、ΔLgainEは低域ゲイン変化メトリックである。エネルギーゲインは、0Hzと上限との間の周波数領域である低域上で評価され得る。例えば、低域は0と1104.5Hzとの間であり得る。
[0077] この例において、増加閾値の組は、振幅誤差閾値(例えば、amperrorTH)と低域ゲイン変化閾値(例えば、ΔLgainETH)を含む。いくつかの構成において、amperrorTH=0.47であり、ΔLgainETH=−0.4である。この例において、符号化レートコントローラ342は、amperror>0.47およびΔLgainE>−0.4の場合、QPPPフレームを有声ACELPフレームに調整(例えば、増加)し得る。
[0078] いくつかの構成において、他の少なくとも1つの閾値を決定することは、メトリック352にさらに基づき得る。例えば、符号化レートコントローラ342は、メトリック352が第1の閾値より大きくない場合に第1の閾値セット(例えば、第1のレート調整閾値セット)を選択し、また、メトリック352が第1の閾値より大きい場合に第2の閾値セット(例えば、第2のレート調整閾値セット)を選択し得る。例えば、メトリック352(例えば、SNR)が第1の閾値(例えば、SNR閾値)より大きいか否かを決定することによって、符号化レートコントローラ342は他の少なくとも1つの閾値を決定し得る。
[0079] 異なるフレームタイプが異なるレートで符号化され得るので、第1の閾値(例えば、SNR閾値)、および/または、他の少なくとも1つの閾値(例えば、フレーム調整閾値や増加閾値)を操作すると、平均符号化レートに影響し得る、フレームの分類のされ方が影響され得る。例えば、平均符号化レートは、フレームがクリーンフレームあるいはクリーンフレームとして分類されるか否か、および/または、フレームが有声フレーム、無声フレーム、あるいは一般的なフレームとして分類されるか否かに基づき得る。様々なフレームタイプに対応する符号化レートの例が表(1)で示される。
[0080] いくつかの構成において、符号化レートコントローラ342は、フレームパターンを決定することによって、平均符号化レートをさらに制御し得る。例えば、平均符号化レートを制御することは、フレームパターンを決定することを含み得る。フレームパターンは、あるフレームタイプのフレームの比率あるいは必要量を指定し得る。例えば、第1のフレームパターン(例えば、「レート増加フレームパターン」)は、低レートフレーム間の最小数の高レートフレームを必要とし、第2のフレームパターン(例えば、「レート減少フレームパターン」)は、高レートフレーム間の最大数の低レートフレームを容認するのみであり得る。第1の平均レートが目標レートを下回る場合、符号化レートコントローラ342は、平均符号化レートを上げ得る第1のフレームパターンを選択し得る。第1の平均レートが目標レートを上回る場合、符号化レートコントローラ342は、平均符号化レートを下げ得る第2のフレームパターンを選択し得る。
[0081] いくつかの構成において、フレームパターンは「QFF」フレームパターンと「QQF」フレームパターンを含み、ここで、「Q」は低レートフレーム(例えば、1/4レートフレーム)を示し、「F」は高レートフレーム(例えば、フルレートフレーム)を示す。これら構成において、QFFフレームパターンは、Qフレーム間の最小数のFフレームを必要とし得る。さらに、QQFフレームパターンは、Fフレーム間の最大数のQフレームを容認するのみであり得る。例えば、2個以上の連続するFフレームがQフレーム間に起こり得るが、QFFパターンは、少なくとも2個のFフレームがQフレーム間に起こることを必要とし得る。さらに、1個以上のFフレームがQフレーム間に起こり得るが、QQFパターンは、Fフレーム間に最大2連続のQフレームを容認するのみであり得る。
[0082] いくつかの構成において、符号化レートコントローラ342(例えば、閾値決定モジュール346)は、第1の平均レートに基づいて他の少なくとも1つの閾値を調整することによって、平均符号化レートをさらに制御し得る。例えば、平均符号化レートを制御することは、第1の平均レートに基づいて他の少なくとも1つの閾値を調整することをさらに含み得る。
[0083] 一例では、他の少なくとも1つの閾値が、少なくとも1つのフレーム調整閾値である。この例で、符号化レートコントローラ342は、フレーム調整閾値セットを選択することによって、少なくとも1つのフレーム調整閾値を調整し得る。例えば、符号化レートコントローラ342は、第1の平均レートが目標レートより大きい場合に第1のフレーム調整閾値セットを選択し得、第1の平均レートが目標レートより大きくない場合に第2のフレーム調整閾値セットを選択し得る。第1のフレーム調整閾値セットは「緩和フレーム調整閾値セット(relaxed frame adjustment threshold set)」と呼ばれ得る。第1のフレーム調整閾値セットは、平均符号化レートを下げ得る、より少ないフレーム調整(例えば、増加)をもたらし得る。例えば、第1のフレーム調整閾値セットにおけるフレーム調整閾値の1つまたは複数が、第2のフレーム調整閾値セットにおいて相当する1つまたは複数のフレーム調整閾値より高いことがある。第2のフレーム調整閾値セットは、「引き締めフレーム調整閾値セット(tightened frame adjustment threshold set)」と呼ばれ得る。第2のフレーム調整閾値セットは、平均符号化レートを上げ得る、より多くのフレーム調整(例えば、増加)をもたらし得る。
[0084] いくつかの構成において、符号化レートコントローラ342(例えば、閾値決定モジュール346)は、第1の平均レートに基づいて少なくとも1つの音声閾値を調整することによって、平均符号化レートをさらに制御し得る。例えば、さらに平均符号化レートを制御することは、第1の平均レートに基づいて少なくとも1つの音声閾値を調整することを含む。
[0085] いくつかの構成において、少なくとも1つの音声閾値を直接調整することは、上記で説明されるように、第1の閾値に基づいて他の少なくとも1つの閾値を決定することと異なり得る。例えば、少なくとも1つの音声閾値を直接調整することは、直接第1の平均レートに基づき得る(そして、例えば、別の閾値を決定することに基づいて指示され得ることはない)。
[0086] 一例では、符号化レートコントローラ342が、音声閾値セットを選択することによって、少なくとも1つの音声閾値を調整し得る。例えば、符号化レートコントローラ342は、第1の平均レートが目標レートより大きい場合に第1の音声閾値セットを選択し得、第1の平均レートが目標レートより大きくない場合に第2の音声閾値セットを選択し得る。第1の音声閾値セットは「緩和音声閾値セット(relaxed voicing threshold set)」と呼ばれ得る。第1の音声閾値セットは、平均符号化レートを下げ得る有声フレーム、および/または、無声フレーム(例えば、QPPPフレーム、および/または、NELPフレーム)として、より多くのフレームを分類することをもたらし得る。いくつかの有声フレーム、および/または、無声フレームが、低レートフレームであり得るので、これは平均符号化レートを下げ得る。例えば、第1の音声閾値セットにおける1つの音声閾値が第2の音声閾値セットにおいて対応する音声閾値より高い場合があり、第1の音声閾値セットにおける別の音声閾値が第2の音声閾値セットにおいて対応する音声閾値より低い場合がある。第2の音声閾値セットは「引き締め音声閾値セット(tightened voicing threshold set)」と呼ばれ得る。第2の音声閾値セットは、一般的なフレームとして、より多くのフレームを分類することをもたらし得る。一般的なフレーム(例えば、変換フレーム)が高レートフレームであり得るので、これは平均符号化レートを上げることをもたらし得る。
[0087] 本明細書で開示されたシステムおよび方法のいくつかの構成において、電子デバイス340は、長期平均レートと短期平均レートとに基づいて平均符号化レートを制御し得る。特に、本明細書で開示されたシステムおよび方法のいくつかの構成は、短期および長期平均レートに基づいて平均符号化レート制御戦略を提示する。また、平均符号化レートを制御することは、長期平均レートと、短期平均レート(例えば、最後N個のフレーム間の平均レート)と、目標レートとに依存する複数のステップに基づき得る。本明細書で開示されたシステムおよび方法の、より詳細な構成を次のように示す。この構成において、項目(1)から(4)に関連する1つまたは複数のプロシージャは、所望平均符号化レートを達成するために利用され得る。音質の潜在影響は、項目のリストが進行するにつれて増える。
[0088] (1)PPPフレームに対する第1の閾値(例えば、THCN)は変えられ得る。特に、クリーンフレームとノイジーフレームを分類する2つのフレーム調整閾値セットがあり得る。一般に、これらフレーム調整閾値は、クリーンフレームに対してより厳密である。第1の閾値を上げると、より少ないフレーム調整(例えば、より少ない増加)をもたらす、ノイジーとしてのより多くのフレームの考慮を可能にする。これは、平均符号化レートを減少させ得る。(2)より多くの低レートフレームを生成するフレームパターンが利用され得る。例えば、フレームパターンは第1のフレームパターンに設定され得、そのフレームパターンは、平均符号化レートを減少させるより多くの低レートフレームを取得するために、第2のフレームパターンに変更され得る。(3)フレーム調整閾値は調整され得る(例えば、緩める)。これはフレーム調整(例えば、増加)の数を減少させることがあり、それでより多くの低レートフレームが可能である。(4)少なくとも1つの音声閾値が、低レートフレーム(例えば、QPPPフレームやNELPフレーム)を増やすことによってレートを減少させるために調整され得る。これは潜在的に音声アーティファクトを作成し得る。
[0089] 平均符号化レート低減機構のほかに、本明細書で開示されたシステムおよび方法は、グローバルレートが特定の差だけ目標レートより少ない場合、音質改善策を利用し得る。EVRC−Bで使用されるレート制御機構は、音質を上げることが可能な、高レートフレームに対する低レートフレームの割合のいくらかを移行するために使われ得る。これは、あるQとFパターンを使用して動作点を固定し、次いでFフレームに対するQフレームのある割合を移動することによってなされ得る。EVRC−Bは、目標ビットレートより低い動作ビットレートを選ぶ。次いで、Fフレームに対するQフレームのコーディングモードを計算されたレート(r%)だけ変更すると平均レートが目標レートに増えるように、レート(例えば、r%)は計算され得る。いくつかのQフレームが代わりにフルレートフレームを使用してコーディングされるので、総合的な音質は改善する。
[0090] 電子デバイス340は、符号化音声信号364を送り得る。符号化音声信号364、および/または、符号化レートインディケータ366は別のデバイス(例えば、電子デバイス、基地局、ワイヤレス通信デバイスなど)に送られることがあり、および/または、記憶装置用のメモリに送られることがある。例えば、符号化音声信号364と符号化レートインディケータ366は、電子デバイス340に含まれる無線周波数(RF:radio frequency)送信機(図示せず)に提供され得る。次いで、RF送信機はアンテナを使用して符号化音声信号364を別のデバイスに送信し得る。
[0091] 図4は、平均符号化レートを制御するための方法400の一構成を示すフローチャートである。電子デバイス340は、音声信号348を取得する402。例えば、電子デバイス340は、1つまたは複数のマイクロフォンで音声信号348を取り込むことがあり、および/または、別のデバイス(例えば、Bluetoothヘッドセット)から音声信号348を受け取ることがある。
[0092] 電子デバイス340は、第1の平均レートを決定し得る404。例えば、電子デバイス340は、図3と関連付けて上記で説明されるように、長期平均レート(例えば、RLT)、および/または、短期平均レート(例えば、RlastNframes)を決定し得る。
[0093] 電子デバイス340は、第1の平均レートに基づいて第1の閾値(例えば、THCN)を決定し得る406。例えば、電子デバイス340は、図3と関連付けて上記で説明されるように、第1の平均レートに基づいて第1の閾値レートを選択するか、あるいは調整し得る。
[0094] 電子デバイス340は、第1の閾値に基づいて他の少なくとも1つの閾値を決定することによって、平均符号化レートを制御し得る408。例えば、符号化レートコントローラ342は、図3と関連付けて上記で説明されるように、第1の閾値に基づいて異なる閾値(例えば、フレーム調整閾値セット)を選択し得る。
[0095] 電子デバイス340は、符号化音声信号364を送り得る410。例えば、符号化音声信号364、および/または、符号化レートインディケータ366は、別のデバイス(例えば、電子デバイス、基地局、ワイヤレス通信デバイスなど)に送られることがあり、および/または、図3と関連付けて上記で説明されるように、記憶装置用のメモリに送られることがある。
[0096] 図5は、第1の閾値とメトリック352に基づいて他の少なくとも1つの閾値を決定するための方法500の一構成を示すフローチャートである。電子デバイス340は、音声信号348を取得し得る502。これは上記で説明されるように達成され得る。
[0097] 電子デバイス340は、音声信号348に基づいてSNRを決定し得る504。例えば、電子デバイス340は、音声信号348に基づいて、チャネルエネルギー推定とチャネル雑音エネルギー推定を決定し得る。次いで、電子デバイス340は、チャネルエネルギー推定とチャネル雑音エネルギー推定の比率に基づいてSNRを決定し得る504。
[0098] 電子デバイス340は、SNRが第1の閾値(例えば、THCNやSNR閾値)より大きいか否かを決定し得る506。SNRが第1の閾値より大きくない場合、電子デバイス340は、第1の閾値セット(例えば、第1のフレーム調整閾値セットや第1の増加閾値セットなど)を選択し得る508。SNRが第1の閾値より大きい場合、電子デバイス340は、第2の閾値セット(例えば、第2のフレーム調整閾値セットや第2の増加閾値セットなど)を選択し得る510。
[0099] 方法500は、第1の閾値(例えば図3と関連付けて上記で説明された項目(1))を変える一例を含む。第1の閾値セットあるいは第2の閾値セットが選択されるように、第1の閾値(例えば、THCNやSNR閾値など)は、第1の平均レートに基づいて適応的に変えられ得る。これは、第1の閾値とメトリック352(例えば、SNR)に基づいて他の少なくとも1つの閾値(例えば、フレーム調整閾値セット)を間接的に選択する一例である。
[00100] 図6は、平均符号化レートを制御するための方法600の、より詳細な構成を示すフローチャートである。電子デバイス340は、符号化を開始し得る602。例えば、電子デバイス340は音声信号を取得して、その音声信号を符号化し始めることがある。
[00101] 電子デバイス340は、デフォルトパラメータを設定し得る604。パラメータの例としては、第1の閾値(例えば、THCN)と、フレームパターンモードと、フレーム調整閾値モードと、および/または、音声閾値モードとがある。フレームパターンモードは、フレームパターン(例えば、第1のフレームパターンや第2のフレームパターンなど)を示し得る。フレーム調整閾値モードは、少なくとも1つのフレーム調整閾値(例えば、第1のフレーム調整閾値セットや第2のフレーム調整閾値セットなど)を示し得る。音声閾値モードは、少なくとも1つの音声閾値(例えば、第1の音声閾値セットや第2の音声閾値セットなど)を示し得る。電子デバイス340は、符号化レートを決定する際(例えば、フレームを分類する際)、フレームパターンモードに示されるようなフレームパターン、フレーム調整閾値モードに示されるようなフレーム調整閾値、および/または、音声閾値モードで示されるような音声閾値を利用し得る。一例では、デフォルトパラメータを設定すること604が、第1の閾値を第1の閾値最大(例えば、THCNmax)に設定することと、第2のフレームパターンを示すためのフレームパターンモードを設定することと、第1のフレーム調整閾値セット(例えば、緩和フレーム調整閾値セット)を示すためのフレーム調整閾値モードを設定することと、第2の音声閾値セット(例えば、引き締め音声閾値セット)を示すための音声閾値モードを設定することを含み得る。
[00102] 電子デバイス340は、Nフレームブロックに達したか否かを決定し得る606。例えば、電子デバイス340は、(符号化の開始から、あるいは前のNフレームブロック以来)N個のフレームが処理されたか否かを決定し得る。例えば、符号化レートがそのフレームのために決定された場合、および/または、そのフレームが符号化された場合、フレームは「処理」され得る。
[00103] Nフレームブロックに達していない場合、電子デバイス340は、次フレームを処理し得る608。例えば、電子デバイス340は、次フレームのための符号化レートを決定し得、および/または、次フレームを符号化し得る。
[00104] Nフレームブロックに達した場合、電子デバイス340は、第1の平均レート(例えば、長期平均レート)および第2の平均レート(例えば、短期平均レート)を決定し得る610。これは、図3、および/または、図4と関連付けて上記で説明されるように達成され得る。
[00105] 電子デバイス340は、第1の平均レートが目標レートより大きいかどうかを決定し得る612。第1の平均レートが目標レートより大きい場合、電子デバイス340はレート減少アルゴリズムを利用し得る616。第1の平均レートが目標レートより大きくない場合、電子デバイス340はレート増加アルゴリズムを利用し得る614。レート増加アルゴリズムは、平均符号化レートを上げるための試みにおいて1つまたは複数のパラメータを調整し得る。例えば、レート増加アルゴリズムは第1の閾値を減少させ、第1のフレームパターン(例えば、レート増加フレームパターン)を示すためのフレームパターンモードを設定し、第2のフレーム調整閾値セット(例えば、引き締めフレーム調整閾値セット)を示すためのフレーム調整閾値モードを設定し、および/または、第2の音声閾値セット(例えば、引き締め音声閾値セット)示すための音声閾値モードを設定し得る。
[00106] 第1の平均レートが目標レートより大きい場合、電子デバイス340はレート減少アルゴリズムを利用し得る616。レート減少アルゴリズムは、平均符号化レートを減少させるための試みにおいて1つまたは複数のパラメータを調整し得る。例えば、レート減少アルゴリズムは、第1の閾値を上げ、第2のフレームパターン(例えば、レート減少フレームパターン)を示すためのフレームパターンモードを設定し、第1のフレーム調整閾値セット(例えば、緩和フレーム調整閾値セット)を示すためのフレーム調整閾値モードを設定し、および/または、第1の音声閾値セット(例えば、緩和音声閾値セット)を示すための音声閾値モードを設定し得る。
[00107] 電子デバイス340は、次フレームを処理し得る608。例えば、電子デバイス340は、次のNフレームブロックを処理し、第1の平均レートなどを決定する610ために戻り得る。
[00108] 図7は、平均符号化レートを下げるための方法700の一構成を示すフロー図である。方法700は、図6と関連付けて説明されたレート減少アルゴリズムの一例であり得る。例えば、第1の平均レートが目標レートより大きいときに方法700が行われ得る。
[00109] 電子デバイス340は、第1の閾値(例えば、THCN)が第1の閾値最大(例えば、THCNmax)以上であるかどうかを決定し得る702。第1の閾値が第1の閾値最大以上でない場合、電子デバイス340は、第1の閾値を上げ得る712。例えば、電子デバイス340は、第1の閾値を、第1の閾値サイズ因子を加えた第1の閾値に上げ得る。第1の閾値サイズ因子は、第1の閾値を上げるための量(例えば、ステップサイズ)を指定し得る。次いで、図6と関連付けて説明されるように、電子デバイス340は、次フレームを処理するために戻り得る。
[00110] 第1の閾値が第1の閾値最大以上の場合、電子デバイス340は、フレームパターンモードがレート増加フレームパターンを示すか否か、および第2の平均レート(例えば、短期平均レート)が目標レートより大きいか否かを決定し得る704。フレームパターンモードがレート増加フレームパターンを示し、第2の平均レートが目標レートより大きい場合、電子デバイス340は次いでレート減少フレームパターンを示すためのフレームパターンモードを設定し得る714。次いで、図6と関連付けて説明されるように、電子デバイス340は、次フレームを処理するために戻り得る。
[00111] フレームパターンモードがレート増加フレームパターンを示さず、あるいは、第2の平均レートが目標レートより大きくない場合、次いで、電子デバイス340は、フレームパターンモードがレート減少フレームパターンを示すか否か、および第2の平均レートが目標レートより大きいか否かを決定し得る706。フレームパターンモードがレート減少フレームパターンを示さず、あるいは第2の平均レートが目標レートより大きくない場合、図6と関連付けて説明されるように、次いで、電子デバイス340は、次フレームを処理するために戻り得る。フレームパターンモードがレート減少フレームパターンを示し、第2の平均レートが目標レートより大きい場合、次いで、電子デバイス340は、第1のフレーム調整閾値セット(例えば、緩和フレーム調整閾値セット)を示すためのフレーム調整モードを設定し得る708。
[00112] 電子デバイス340は、第1の平均レートが第1のレート公差を加えた目標レートより大きいかどうかを決定し得る710。第1のレート公差は、目標レートを上回る量を指定する。長期平均レートが第1のレート公差を加えた目標レートより大きい場合、電子デバイス340は、第1の音声閾値セット(例えば、緩和音声閾値セット)を示すための音声閾値モードを設定し得る716。図6と関連付けて説明されるように、電子デバイス340は、次フレームを処理するために戻り得る。長期平均レートが第1のレート公差を加えた目標レートより大きくない場合、図6と関連付けて説明されるように、電子デバイス340、次フレームを処理するために戻り得る。
[00113] 図7で観測できるように、第1の閾値を決定すること(および、第1の閾値に基づいて他の少なくとも1つの閾値を決定すること)、フレームパターンを決定すること、フレーム調整モードを設定すること(例えば、フレーム調整閾値を調整すること)、および/または、図3と関連付けて説明されるように少なくとも1つの音声閾値を(直接)調整することが、累積的に実施され得る。例えば、第1の平均レートが目標レートを上回っている場合、目標レートに達するまで連続的で追加的なプロシージャが行われ得る。例えば、項目(1)を行っても目標レートに達しない場合、項目(1)から項目(4)のすべてが平均レートを低下させるために行われるまでなど、項目(1)と項目(2)が行われ得る。
[00114] 図8は、平均符号化レートを上げるための方法800の一構成を示すフローチャートである。方法800は、図6と関連付けて説明されたレート増加アルゴリズムの一例であり得る。例えば、第1の平均レートが目標レートより大きくないとき、方法800が行われ得る。
[00115] 電子デバイス340は、第2の音声閾値セット(例えば、引き締め音声閾値セット)を示すための音声閾値モードを設定し得る802。これは、より一般的なフレームをもたらし得る。一般的なフレーム(例えば、トランジェントフレーム)は、高レートエンコーダ(例えば、変換ACELPエンコーダ)で符号化され得る。
[00116] 電子デバイス340は、フレーム調整閾値モードが第1のフレーム調整閾値がセット(例えば、緩和フレーム調整閾値セット)を示すか否かを決定し得る804。フレーム調整閾値モードが第1のフレーム調整閾値セットを示す場合、電子デバイス340は、第2のフレーム調整閾値セット(例えば、引き締めフレーム調整閾値セット)を示すためのフレーム調整閾値モードを設定し得る814。次いで、図6と関連付けて説明されるように、電子デバイス340は、次フレームを処理するために戻り得る。
[00117] 電子デバイス340は、フレーム調整閾値モードが第1のフレーム調整閾値セットを示さない場合、フレームパターンモードがレート減少フレームパターンを示すか否かを決定し得る806。フレームパターンモードがレート減少フレームパターンを示す場合、電子デバイス340は、レート増加フレームパターンを示すためのフレームパターンモードを設定し得る816。次いで、図6と関連付けて説明されるように、電子デバイス340は次フレームを処理するために戻り得る。
[00118] フレームパターンモードがレート減少フレームパターンを示さない場合、電子デバイス340は、第1の閾値が第1の閾値最小以上かどうかを決定し得る808。第1の閾値が第1の閾値最小以上の場合、電子デバイス340は第1の閾値を、第2の閾値サイズ因子を引いた第1の閾値へ減少させ得る818。第2の閾値サイズ因子は、第1の閾値を減少させるための量(例えば、ステップサイズ)を指定し得る。次いで、図6と関連付けて説明されるように、電子デバイス340は、次フレームを処理するために戻り得る。
[00119] 第1の閾値が第1の閾値最小以上でない場合、電子デバイス340は、第1の平均レートが第2のレート公差を引いた目標レートより少ないかどうかを決定し得る810。第2のレート公差は、目標レートを下回る量を指定する。第1の平均レートが第2のレート公差を引いた目標レートより小さくない場合、図6と関連付けて説明されるように、電子デバイス340は次フレームを処理するために戻り得る。
[00120] 第1の平均レートが第2のレート公差を引いた目標レートより小さい場合、電子デバイス340は、平均符号化レートを上げるために、1つまたは複数の低レートフレームを1つまたは複数の高レートフレームに移行させ得る812。いくつかの構成において、これは、(例えば、上記で説明されるように)EVRC−Bレート制御アルゴリズムに基づき得る。電子デバイス340は、図6と関連付けて説明されるように、次フレームを処理するために戻り得る。
[00121] 図8で観測できるように、第1の閾値を決定すること(および、第1の閾値に基づいて他の少なくとも1つの閾値を決定すること)、フレームパターンを決定すること、フレーム調整モードを設定すること(例えば、フレーム調整閾値を調整すること)、および/または、図3と関連付けて説明されるように、少なくとも1つの音声閾値を(直接)調整することが、(逆のエフェクトに対して、および、図7と関連付けて説明された方法700と比較して逆順で)累積的に実施され得る。例えば、方法800は、図7と関連付けて説明された方法700で取られた方策を累進的に逆にし得る。例えば、第1の平均レートが目標レートを下回っている場合、目標レートに達するまで連続的で追加的なプロシージャが行われ得る。
[00122] 図9は、音声閾値セット976a−bの例を示す図である。図9に示す横寸法は、音声(例えば、音声要因)の測定に相当する。この音声の測定には、測定単位がないことがある。音声の測定は、図9に図示する水平軸に沿って右に向かって増加し得る。特に、図9は、いかに音声閾値978および968が調整され得るかに関する例を示す。第1の音声閾値セット976a(例えば、緩和音声閾値セット)は、下位音声閾値A978aと上位音声閾値A968aを含み得る。第2の音声閾値セット976b(例えば、引き締め音声閾値セット)は、下位音声閾値A978aと上位音声閾値A968aを含み得る。
[00123] 第1の平均レートがレート制約内であるのとき(例えば、第1の平均レートが第1の公差を加えた目標レート以下であるとき)、第2の音声閾値セット976bは利用され得る。第1の音声閾値セット976aは、有声および無声フレームの数を増やし得る。言い換えれば、第2の音声閾値セット976bに含まれる音声閾値978bおよび968bは、より少ない一般的なフレームが結果として生じるように、第1の音声閾値セット976aに含まれる音声閾値978aおよび968aに調整され得る。音声閾値を調整することが直接閾値調整の一例であり得ることに留意すべきである。例えば、第1の平均レートに基づいて音声閾値セットの調整が、閾値セットの直接調整の一例であり得る。
[00124] 閾値セット976a−bは、有声フレーム、無声フレーム、あるいは一般的なフレームとしてフレームを分類するために利用され得る。図9に示すように、第2の音声閾値セット976bは、第1の音声閾値セット976aによって提供される無声フレーム範囲A970aおよび有声フレーム範囲A974aより大きい無声フレーム範囲B970bおよび有声フレーム範囲974bを提供する。さらに、第2の音声閾値セット976bは、第1の音声閾値セット976aによって提供される一般フレーム範囲A972aより大きい一般フレーム範囲B972bを提供する。従って、第2の音声閾値セット976bと比較すると、フレームが第1の音声閾値セット976aに基づいて有声フレームあるいは無声フレームとして、より分類されやすくなる。
[00125] 例えば、より多くの有声フレームおよび無声フレームは、平均符号化レートを減少させ得る、有声フレームのためのより多くのQPPPフレーム(例えば、2.8kbps)と、無声フレーム(例えば、2.8kbps)のためのNELPフレームとをもたらし得る。あるいは、より一般的なフレームは、平均符号化レートを上げ得る、より多くの変換ACELPフレームをもたらし得る(例えば、8.0kbps)。
[00126] 図10は、符号化レートコントローラ1042の一構成を示すブロック図である。図10と関連付けて説明された符号化レートコントローラ1042は、図3と関連付けて説明された符号化レートコントローラ342の一例であり得る。符号化レートコントローラ1042は、平均レート決定モジュール1044と、フレームパターン決定モジュール1082と、閾値決定モジュール1046と、および/または、符号化レート決定モジュール1090とを含み得る。符号化レートコントローラ1042の構成要素の1つまたは複数は、ハードウェア(例えば、回路)、ソフトウェア、または両方の組合せで実施され得る。
[00127] 符号化レートコントローラ1042は、目標レート1080と、メトリック1052と、符号化情報1058とに基づいて平均符号化レートを制御し得る。符号化レートコントローラ1042は、平均符号化レートを目標レート1080に合致するよう試みることによって、平均符号化レートを制御し得る。目標レート1080は、別のデバイス(例えば、基地局)から受け取られ得るか、あるいは既定であり得る。
[00128] 符号化レートコントローラ1042は、音声信号のフレームを符号化するためのエンコーダを選択するために符号化レートインディケータ1066を提供し得る。符号化レートインディケータ1066は、特定のエンコーダ、レート、および/または、フレームタイプを指定する。1つまたは複数のエンコーダは、符号化情報1058を符号化レートコントローラ1042に提供し得る。例えば、符号化情報1058は、振幅誤差メトリック(例えば、amperror)と、低域ゲイン変化メトリック(例えば、ΔLgainE)とを含み得る。あるいは、符号化レートコントローラ1042は、符号化情報1058に基づいて振幅誤差メトリックと低域ゲイン変化メトリックとを決定し得る。いくつかの構成において、符号化情報1058は、フレーム符号化レートを含み得る。さらに、または、あるいは、符号化レートコントローラ1042は、符号化レートインディケータ1066に示されるようなフレーム符号化レートを取得し得る。
[00129] 平均レート決定モジュール1044は、第1の平均レート(例えば、長期平均レート、あるいはRLT)を決定し得る。また、平均レート決定モジュール1044は、短期平均レート(例えば、RlastNframes)を決定し得る。これは、図3、および/または、式(1)と関連付けて上記で説明されるように達成され得る。例えば、平均レート決定モジュール1044は、各フレームに対して利用されるフレーム符号化レートに基づいて短期平均レート、および/または、長期平均レートを決定し得る。符号化レートコントローラ1042は、平均符号化レートを制御するために短期平均レート、および/または、長期平均レートを利用し得る。
[00130] 閾値決定モジュール1046は、1つまたは複数の閾値を決定し得る。例えば、閾値決定モジュール1046は、第1の閾値決定モジュール1084と、フレーム調整閾値決定モジュール1086と、および/または、音声閾値決定モジュール1088とを含み得る。
[00131] 第1の閾値決定モジュール1084は、第1の平均レートに基づいて第1の閾値(例えば、THCN)を決定し得る。これは、上記で説明されるように達成され得る。例えば、第1の平均レート(例えば、RLT)が目標レート1080(例えば、Rtarget)より大きく、第1の閾値が第1の閾値最大より小さい場合、次いで、閾値決定モジュール1046は、第1の閾値を第1の閾値サイズ因子だけ増加させ得る。しかしながら、第1の平均レート(例えば、RLT)が目標レート1080以下の場合、次いで、閾値決定モジュール1046は、第1の閾値を第2の閾値サイズ因子だけ減少させ得る。第1の閾値は、符号化レート決定モジュール1090に提供され得る。
[00132] フレーム調整閾値決定モジュール1086は、第1の閾値とメトリック1052とに基づいてフレーム調整閾値セットを決定し得る。これは、上記で説明されるように達成され得る。例えば、第1の閾値はSNR閾値であり得、メトリック1052はSNRであり得る。SNRが第1の閾値より大きい場合、フレーム調整決定モジュール1086は、第1のフレーム調整閾値セットを選択し得る。SNRが第1の閾値より大きくない場合、フレーム調整決定モジュール1086は第2のフレーム調整閾値セットを選択し得る。これは、フレーム調整閾値セットが第1の閾値に基づいて決定されるので、フレーム調整閾値セットを間接的に調整する一例である。フレーム調整閾値セットは、符号化レート決定モジュール1090に提供され得る。
[00133] フレームパターン決定モジュール1082は、フレームパターンを決定し得る。Theは上記で説明されるように達成され得る。例えば、第1の平均レートが目標レート1080より大きい場合、第1の閾値が第1の閾値最大以上の場合、フレームパターンモードがレート増加フレームパターンを示す場合、および、第2の平均レート(例えば、短期平均レート、あるいはRlastNframes)が目標レート1080より大きい場合、次いで、フレームパターン決定モジュール1082は、レート減少フレームパターンを示すためのフレームパターンモードを設定し得る。フレームパターンモードは、符号化レート決定モジュール1090に提供され得る。
[00134] フレーム調整閾値決定モジュール1086は、第1の平均レートに基づいてフレーム調整閾値セットを調整し得る。これは、上記で説明されるように達成され得る。例えば、第1の平均レートが目標レート1080より大きい場合、第1の閾値が第1の閾値最大以上の場合、フレームパターンモードがレート減少フレームパターンを示し、第2の平均レートが目標レート1080より大きい場合、次いで、フレーム調整閾値決定モジュール1086は、第1のフレーム調整セット閾値セットを示すためのフレーム調整モードを設定し得る。フレーム調整モードは、符号化レート決定モジュール1090に提供され得る。フレーム調整閾値がいくつかの構成において直接制御されないかもしれないことに留意すべきである。例えば、フレーム調整閾値は第1の閾値に依存し得る。
[00135] 音声閾値決定モジュール1088は、第1の平均レートに基づいて音声閾値セットを調整し得る。これは、上記で説明されるように達成され得る。例えば、第1の平均レートが目標レート1080より大きい場合、第1の閾値が第1の閾値最大以上の場合、フレームパターンモードがレート減少フレームパターンを示し、第2の平均レートが目標レート1080より大きい場合、および、第1の平均レートが第1の公差を加えた目標レート1080より大きい場合、次いで、音声閾値決定モジュール1088は、第1の音声閾値セットを示すための音声閾値モードを設定し得る。音声閾値モードは、符号化レート決定モジュール1090に提供され得る。
[00136] 符号化レート決定モジュール1090は、メトリック1052と、第1の閾値と、フレームパターンモードと、フレーム調整モードと、音声閾値モードと、および/または、符号化情報1058とに基づいて符号化レートインディケータ1066を決定し得る。いくつかの構成において、符号化レート決定モジュール1090は、最初にフレームをクリーンあるいはノイジーとして分類し、次いで、有声あるいは無声として分類し得る。次いで、符号化レート決定モジュール1090は、フレームパターンを課す、あるいは実施し得る。最終的に、符号化レート決定モジュール1090は、フレームを「増加」するか否かを決定し得る。しかしながら、後の状態における決定が早期決定に変わる、いくつかの例があり得る。符号化レートインディケータ1066は、上記で説明されるように、フレームを符号化するためのエンコーダを選択するために利用され得る。
[00137] 図11は、平均符号化レートを制御するための方法1100の、別のより詳細な構成を示すフローチャートである。特に、図11は、図4、図6、図7、および図8の1つまたは複数と関連付けて上記で説明された方法400、600、700、800の1つまたは複数の、より詳細な例を示す。表(2)は、図11で使用される用語および符号の概要を提供する。
[00138] 電子デバイス340は、1102コーディングを始め得る。例えば、電子デバイス340は、上記で説明されるように、音声信号を取得して、その音声信号を符号化し始め得る。
[00139] 電子デバイス340は、QQFmode=1と、THCN=THCNmaxと、RelaxBMPmode=1と、RelaxVmode=0とを設定し得る1104。これは、上記で説明されるようにデフォルトパラメータを設定する一例である。
[00140] 電子デバイス340は、Nフレームブロックに達したか否かを決定し得る1106。これは、上記で説明されるように達成され得る。Nフレームブロックに達していない場合、電子デバイス340は、次フレームを処理し得る1108。これは、上記で説明されるように達成され得る。
[00141] Nフレームブロックに達した場合、電子デバイス340は、RLTおよび RlastNframesを決定し得る1110。RLTおよびRlastNframesは、上記で説明されるようにを決定され得る1110。
[00142] 電子デバイス340は、RLT>Rtargetかどうかを決定し得る1112。RLT>Rtargetの場合、電子デバイス340は、THCN≧THCNmaxであるかどうかを決定し得る1114。THCN>THCNmaxの場合、電子デバイス340はTHCN=THCN+Δth1を設定し得る1124。電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00143] THCN≧THCNmaxの場合、電子デバイス340は、QQFmode==0であるか否か、およびRlastNframes>Rtargetであるか否かを決定し得る1116。QQFmode==0およびRlastNframes>Rtargetの場合、次いで、電子デバイス340は、QQFmode=1を設定し得る1126。電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00144] QQFmode==1あるいはRlastNframes≦Rtargetの場合、次いで、電子デバイス340は、QQFmode==1であるか否か、およびRlastNframes>Rtargetであるか否かを決定し得る1118。QQFmode==0あるいはRlastNflames≦Rtargetである場合、次いで、電子デバイス340は、次フレームを処理する1108ために戻り得る。QQFmode==1およびRlastNframes>Rtargetである場合、次いで、電子デバイス340は、RelaxBMPmode=1を設定し得る1120。
[00145] 電子デバイス340は、RLT>Rtarget+Δtol1かどうかを決定し得る1122。RLT>Rtarget+Δtol1の場合、電子デバイス340は、RelaxVmode=1を設定し得る1128。電子デバイス340は、次フレームを処理する1108ために戻り得る。RLT≦Rtarget+Δtol1の場合、電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00146] RLT≦Rtargetの場合、電子デバイス340は、RelaxVmode=0を設定し得る1130。電子デバイス340は、RelaxBMPmode=1であるか否かを決定し得る1132。RelaxBMPmode=1の場合、電子デバイス340は、RelaxBMPmode=0を設定し得る1142。電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00147] 電子デバイス340は、RelaxBMPmode==0の場合、QQFmode==1であるか否かを決定し得る1134。QQFmode==1の場合、電子デバイス340は、QQFmode=0を設定し得る1144。電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00148] QQFmode==0の場合、電子デバイス340は、THCN≧THCNminかどうかを決定し得る1136。THCN≧THCNminの場合、電子デバイス340はTHCN=THCN−Δth2かどうかを設定し得る1146。電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00149] THCN<THCNminの場合、電子デバイス340は、RLT<Rtarget−Δtol2かどうかを決定し得る1138。RLT≧Rtarget+Δtol1の場合、電子デバイス340は次フレームを処理する1108ために戻り得る。
[00150] RLT<Rtarget−Δtol2の場合、電子デバイス340は、平均符号化レートを上げるために1つまたは複数の低レートフレームを1つまたは複数の高レートフレームに移行させ得る1140。いくつかの構成において、これはEVRC−Bレート制御アルゴリズムに基づき得る。電子デバイス340は、次フレームを処理する1108ために戻り得る。
[00151] 図12は、平均符号化レートを制御するためのシステムおよび方法が実施され得るワイヤレス通信デバイス1240の一構成を示すブロック図である。図12に例示するワイヤレス通信デバイス1240は、本明細書で説明された電子デバイスのうちの少なくとも1つの例であり得る。ワイヤレス通信デバイス1240は、アプリケーションプロセッサ1211を含み得る。一般に、アプリケーションプロセッサ1211は、ワイヤレス通信デバイス1240で機能を行うために命令を処理する(例えば、プログラムを走らせる)。アプリケーションプロセッサ1211は、オーディオコーダ/デコーダ(コーデック)1209と結合され得る。
[00152] オーディオコーデック1209は、オーディオ信号をコーディング、および/または、復号するために使用され得る。オーディオコーデック1209は、少なくとも1個のスピーカ1201、イヤピース1203、出力ジャック1205、および/または少なくとも1個のマイクロフォン1207に結合され得る。スピーカ1201は、電気信号または電子信号を音響信号に変換する、1つまたは複数の電気音響トランスデューサを含み得る。例えば、スピーカ1201は、音楽を再生するか、あるいはスピーカフォンの会話を出力したりなどするために使用され得る。イヤピース1203は、音響信号(例えば、音声信号)をユーザに出力するために使用できる別のスピーカあるいは電気音響トランスデューサであり得る。例えば、イヤピース1203は、ユーザのみが音響信号を確実に聴取し得るように使用され得る。出力ジャック1205は、他のデバイスを、ヘッドホンなどのオーディオを出力するためのワイヤレス通信デバイス1240と結合するために使用され得る。一般に、スピーカ1201と、イヤピース1203と、および/または、出力ジャック1205は、オーディオコーデック1209からオーディオ信号を出力するために使用され得る。少なくとも1つのマイクロフォン1207は、音響信号(ユーザの音声など)を、オーディオコーデック1209に提供される電気または電子信号に変換する音響電気トランスデューサであり得る。
[00153] オーディオコーデック1209(例えば、デコーダ)は、符号化レートコントローラ1242を含み得る。符号化レートコントローラ1242は、上記で説明された符号化レートコントローラ342および1042の1つまたは複数の例であり得る。いくつかの構成において、オーディオコーデック1209は、複数のエンコーダ(例えば、エンコーダ356a−n)を含み得る。
[00154] また、アプリケーションプロセッサ1211は、電力管理回路1221と結合され得る。電力管理回路1221の一例は、ワイヤレス通信デバイス1240の消費電力を管理するために使用され得る電力管理集積回路(PMIC:power management integrated circuit)である。電力管理回路1221は、バッテリ1223と結合され得る。一般に、バッテリ1223は、ワイヤレス通信デバイス1240に電力を供給し得る。例えば、バッテリ1223および/または電力管理回路1221は、ワイヤレス通信デバイス1240内に含まれる要素のうちの少なくとも1つに結合され得る。
[00155] アプリケーションプロセッサ1211は、入力を受信するための少なくとも1つの入力デバイス1225に結合され得る。入力デバイス1225の例としては、赤外線センサ、画像センサ、加速度計、タッチセンサ、キーパッドなどがある。入力デバイス1225は、ワイヤレス通信デバイス1240とのユーザ対話を可能にし得る。アプリケーションプロセッサ1211はまた、1つまたは複数の出力デバイス1227に結合され得る。出力デバイス1227の例には、プリンタ、プロジェクタ、スクリーン、触覚デバイスなどがある。出力デバイス1227は、ワイヤレス通信デバイス1240がユーザによって経験され得る出力を作ることを可能にし得る。
[00156] アプリケーションプロセッサ1211は、アプリケーションメモリ1229と結合され得る。アプリケーションメモリ1229は、電子情報を記憶することが可能な任意の電子デバイスであり得る。アプリケーションメモリ1229の例としては、二重データレート同期式ダイナミックランダムアクセスメモリ(DDRAM:double data rate synchronous dynamic random access memory)と、同期式ダイナミックランダムアクセスメモリ(SDRAM:synchronous dynamic random access memory)と、フラッシュメモリなどがある。アプリケーションメモリ1229は、アプリケーションプロセッサ1211のための記憶装置を提供し得る。例えば、アプリケーションメモリ1229は、アプリケーションプロセッサ1211上で走らさせるプログラムの機能のためのデータおよび/または命令を記憶し得る。
[00157] アプリケーションプロセッサ1211は、同様にディスプレイ1233と結合され得るディスプレイコントローラ1231と結合され得る。ディスプレイコントローラ1231は、ディスプレイ1233上に画像を生成するために使用されるハードウェアブロックであり得る。例えば、ディスプレイコントローラ1231は、アプリケーションプロセッサ1211からの命令および/またはデータを、ディスプレイ1233上に提示され得る画像に変換し得る。ディスプレイ1233の例には、液晶ディスプレイ(LCD)パネル、発光ダイオード(LED)パネル、ブラウン管(CRT)ディスプレイ、プラズマディスプレイなどがある。
[00158] アプリケーションプロセッサ1211は、ベースバンドプロセッサ1213と結合され得る。一般に、ベースバンドプロセッサ1213は通信信号を処理する。例えば、ベースバンドプロセッサ1213は、受信信号を復調および/または復号し得る。さらに、または、あるいは、ベースバンドプロセッサ1213は、送信に備えて信号を符号化し、および/または、変調し得る。
[00159] ベースバンドプロセッサ1213は、ベースバンドメモリ1235と結合され得る。ベースバンドメモリ1235は、SDRAMと、DDRAMと、フラッシュメモリなどの電子情報を記憶できる何らかの電子デバイスであり得る。ベースバンドプロセッサ1213は、ベースバンドメモリ1235からの情報(例えば、命令、および/または、データ)を読み取り、および/または、ベースバンドメモリ1235に情報を書き込み得る。さらに、または、あるいは、ベースバンドプロセッサ1213は、通信動作を行うために、ベースバンドメモリ1235に記憶された命令および/またはデータを使用し得る。
[00160] ベースバンドプロセッサ1213は、無線周波数(RF:radio frequency)送受信機1215と結合され得る。RF送受信機1215は、電力増幅器1217と1つまたは複数のアンテナ1219と結合され得る。RF送受信機1215は、無線周波数信号を送信および/または受信し得る。例えば、RF送受信機1215は、電力増幅器1217と少なくとも1つのアンテナ1219とを使用してRF信号を送信できる。また、RF送受信機1215は、1つまたは複数のアンテナ1219を使用してRF信号を受け取り得る。
[00161] 図13は、電子デバイス1340で利用され得る様々な構成要素を示す。図示された構成要素は、同一の物理構造内あるいは別々のハウジングまたは構造に位置され得る。図13と関連付けて説明された電子デバイス1340は、本明細書に記載された電子デバイスの1つまたは複数に従って実施され得る。電子デバイス1340は、プロセッサ1343を含む。プロセッサ1343は、汎用シングルあるいは多重チップマイクロプロセッサ(例えば、ARM)と、専用マイクロプロセッサ(例えば、デジタルシグナルプロセッサ(DSP:digital signal processor))と、マイクロコントローラと、プログラマブルゲートアレイなどであり得る。プロセッサ1343は、中央処理装置(CPU:central processing unit)と呼ばれ得る。単一の処理装置1343が代替構造において図13の電子デバイス1340に示されているが、プロセッサ(例えば、ARMやDSP)の組合せが使用可能である。
[00162] また、電子デバイス1340は、プロセッサ1343と電子通信するメモリ1337を含む。すなわち、プロセッサ1343は、メモリ1337からの情報を読み取り、および/または、メモリ1337に情報を書き込むことができる。メモリ1337は、電子情報を記憶できる何らかの電子構成要素であり得る。メモリ1337は、ランダムアクセスメモリ(RAM:random access memory)と、読み取り専用メモリ(ROM:read-only memory)と、磁気ディスク記憶媒体と、光記憶媒体と、RAMのフラッシュメモリデバイスと、プロセッサと含まれるオンボードメモリと、プログラマブル読み取り専用メモリ(PROM:programmable read-only memory)と、消去可能プログラマブル読み取り専用記憶装置(EPROM:erasable programmable read-only memory)と、電気的に消去可能なPROM(EEPROM(登録商標):electrically erasable PROM)、レジスタなどであり、また、それらの組合せを含み得る。
[00163] データ1341aと命令1339aは、メモリ1337に記憶され得る。命令1339aは、1つまたは複数のプログラムと、ルーチンと、サブルーチンと、機能と、プロシージャなどを含み得る。命令1339aは、単一のコンピュータ読み込み可能なステートメントあるいは多くのコンピュータ読み込み可能なステートメントを含み得る。命令1339aは、上記で説明された方法と、機能と、プロシージャの1つまたは複数を実施するためのプロセッサ1343によって実行可能であり得る。命令1339aを実行することは、メモリ1337に記憶されるデータ1341aの使用を伴い得る。図13は、(命令1339aとデータ1341aから起こり得る)プロセッサ1343にロードされるいくつかの命令1339bとデータ1341bを示す。
[00164] また、電子デバイス1340は、他の電子デバイスと通信するための1つまたは複数の通信インターフェース1347を含み得る。通信インターフェース1347は、ワイヤードな通信技術か、ワイヤレスの通信技術か、あるいは両方に基づき得る。異なるタイプの通信インターフェース1347の例としては、シリアルポートと、パラレルポートと、ユニバーサルシリアルバス(USB:Universal Serial Bus)と、イーサネット(登録商標)アダプタと、IEEE1394バスインターフェースと、小型コンピュータシステムインターフェース(SCSI:small computer system interface)バスインターフェースと、赤外線(IR:infrared)通信ポートと、Bluetoothワイヤレス通信アダプタなどがある。
[00165] また、電子デバイス1340は、1つまたは複数の入力デバイス1349と、1つまたは複数の出力デバイス1353とを含み得る。異なる種類の入力デバイス1349の例としては、キーボードと、マウスと、マイクロフォンと、遠隔制御デバイスと、ボタンと、ジョイスティックと、トラックボールと、タッチパッドと、ライトペンなどがある。例えば、電子デバイス1340は、音響信号を取り込むための1つまたは複数のマイクロフォン1351を含み得る。一構成において、マイクロフォン1351は、音響信号(例えば、声や音声)を電気あるいは電子信号に変換するトランスデューサであり得る。異なる種類の出力デバイス1353の例としては、スピーカと、プリンタなどがある。例えば、電子デバイス1340は、1つまたは複数のスピーカ1355を含み得る。一構成において、スピーカ1355は、電気あるいは電子信号を音響信号に変換するトランスデューサであり得る。電子デバイス1340内に典型的に含まれ得る1つの特定のタイプの出力デバイスは、ディスプレイデバイス1357である。本明細書で開示された構成と共に使用されるディスプレイデバイス1357は、ブラウン管(CRT:cathode ray tube)と、液晶ディスプレイ(LCD:liquid crystal display)と、発光ダイオード(LED:liquid crystal display)と、ガスプラズマと、電界発光などの何らかの適当な画像投影技術も利用し得る。また、ディスプレイコントローラ1359は、メモリ1337に記憶されたデータを、ディスプレイデバイス1357に示されたテキスト、図形、および/または、動画像に(適宜)変換するために提供され得る。
[00166] 電子デバイス1340の様々な構成要素は、電力バスと、制御信号バスと、ステータス信号バスと、データバスなどを含み得る1つまたは複数のバスによって一緒に結合され得る。簡略化のため、様々なバスがバスシステム1345として図13に示される。図13が電子デバイス1340の唯一可能な構成を示すことに留意すべきである。他の様々なアーキテクチャと構成要素が利用され得る。
[00167] 上記の説明では、参照番号が様々な用語と関連付けて時々使用された。用語が参照番号と関連付けて使用される場合、これは図の1つまたは複数で示される詳細な要素を参照することを意味し得る。用語が参照番号なしで使用される場合、これは一般に、何らかの特定の図への制限なしで用語を参照することを意味し得る。
[00168] 「決定すること」という用語は、多種多様のアクションを含み、それゆえ、「決定すること」は、算出することと、演算することと、処理することと、引き出すことと、調査することと、探索すること(例えば、テーブル、データベースあるいは別のデータ構造を調べること)と、確かめることなどを含み得る。また、「決定すること」は、受け取ること(例えば、情報を受け取る)と、アクセスすること(例えば、メモリ内のデータにアクセスすること)などを含み得る。また、「決定すること」は、解決することと、選択すること、選ぶことと、確立することなどを含み得る。
[00169] 「基づく」という語句は、別の方法で明白に指定されないなら、「〜のみに基づく」という意味にはならない。言い換えれば、「基づく」という語句は、「〜のみに基づく」と「少なくとも〜に基づく」の両方を説明する。
[00170] 本明細書で説明された構成のうちのいずれか1つに関して説明された特徴、機能、プロシージャ、構成要素、要素、構造などのうちの1つまたは複数は、互換性がある、本明細書で説明された他の構成のうちのいずれかに関して説明された機能、プロシージャ、構成要素、要素、構造などのうちの1つまたは複数と組み合わせられ得ることに留意すべきである。言い換えれば、本明細書で説明された機能と、プロシージャと、構成要素と、要素などの何らかの互換性のある組合せが、本明細書で開示されたシステムおよび方法に従って実施され得る。
[00171] 本明細書で説明された機能は、1つまたは複数の命令として、プロセッサ可読あるいはコンピュータ可読媒体で記憶され得る。「コンピュータ可読媒体」という用語は、コンピュータあるいはプロセッサによってアクセスできる何らかの利用可能な媒体を指す。例として、限定はされないが、そのような媒体は、RAMと、ROMと、EEPROMと、フラッシュメモリと、CD−ROMあるいは他の光ディスク記憶装置と、磁気ディスク記憶装置あるいは他の磁気記憶デバイスと、あるいは、所望のプログラムコードを命令あるいはデータ構造の形式で記憶するために使用され得る、およびコンピュータによってアクセスされ得る何らかの他の媒体とを備え得る。本明細書で使用されるように、ディスク(disk)とディスク(disc)は、コンパクトディスク(CD:compact disc)と、レーザーディスク(登録商標)と、光ディスクと、デジタルバーサタイルディスク(DVD:digital versatile disc)と、フロッピー(登録商標)ディスクと、ブルーレイ(登録商標)ディスクとを含み、ディスク(disc)はレーザでデータを光学的に再生させるが、ディスク(disk)は通常データを磁気的に再生させる。コンピュータ可読媒体は有形および非一時的であり得ることに留意すべきである。「コンピュータプログラム製品」という用語は、コンピューティングデバイスあるいはプロセッサによって実行され得るか、処理され得るか、あるいは計算され得るコードまたは命令(例えば、「プログラム」)と組み合わされたコンピューティングデバイスあるいはプロセッサを指す。本明細書で使用される「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指すことがある。
[00172] ソフトウェアまたは命令はまた、伝送媒体を介して送信され得る。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL:digital subscriber line)、あるいは、赤外線や、無線や、マイクロウェーブなどのワイヤレス技術を使用してソフトウェアがウェブサイト、サーバ、あるいは他の遠隔資源から送信される場合、次いで、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、あるいは、赤外線や、無線や、マイクロウェーブなどのワイヤレス技術は、送信媒体の定義に含まれる。
[00173] 本明細書で開示された方法は、説明された方法を達成するための1つまたは複数のステップあるいはアクションを備える。方法ステップおよび/またはアクションは、特許請求の範囲から逸脱することなく、お互いに交換され得る。言い換えれば、ステップあるいはアクションの特定の順番が、説明されている方法の適切な動作のために必要とされない場合、特定のステップおよび/またはアクションの順番および/または使用は、請求項の範囲から逸脱することなく変更し得る。
[00174] 特許請求の範囲が上記に示した正確な構成と構成要素に制限されないことは理解されるべきである。特許請求の範囲から逸脱することなく、本明細書で説明されたシステム、方法、および装置の配置構成、動作および詳細において、様々な修正、変更および変形が行われ得る。
[00174] 特許請求の範囲が上記に示した正確な構成と構成要素に制限されないことは理解されるべきである。特許請求の範囲から逸脱することなく、本明細書で説明されたシステム、方法、および装置の配置構成、動作および詳細において、様々な修正、変更および変形が行われ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
電子デバイスによって平均符号化レートを制御するための方法であって、
音声信号を取得することと、
第1の平均レートを決定することと、
前記第1の平均レートに基づいて第1の閾値を決定することと、
前記第1の閾値に基づいて他の少なくとも1つの閾値を決定することによって、前記平均符号化レートを制御することと、
符号化音声信号を送ることと、を備える方法。
[C2]
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、C1に記載の方法。
[C3]
第1のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第2のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、C2に記載の方法。
[C4]
前記第1の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、C1に記載の方法。
[C5]
前記他の少なくとも1つの閾値は閾値セットである、C1に記載の方法。
[C6]
前記他の少なくとも1つの閾値を決定することは、メトリックにさらに基づく、C1に記載の方法。
[C7]
前記他の少なくとも1つの閾値を決定することは、
前記メトリックが前記第1の閾値より大きくない場合、第1の閾値セットを選択することと、
前記メトリックが前記第1の閾値より大きい場合、第2の閾値セットを選択することと、を備える、C6に記載の方法。
[C8]
前記第1の閾値セットは第1のフレーム調整閾値セットであり、前記第2の閾値セットは第2のフレーム調整閾値セットである、C7に記載の方法。
[C9]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて前記第1の閾値を調整することをさらに備える、C1に記載の方法。
[C10]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて少なくとも1つの音声閾値を調整することをさらに備える、C1に記載の方法。
[C11]
前記少なくとも1つの音声閾値を調整することは、音声閾値セットを選択することを備える、C10に記載の方法。
[C12]
平均符号化レートを制御するための電子デバイスであって、
第1の平均レートを決定する平均レート決定回路と、
前記第1の平均レートに基づいて第1の閾値を決定する閾値決定回路と、
前記平均レート決定回路と前記閾値決定回路を備える符号化レートコントローラ回路と、ここにおいて、前記符号化レートコントローラは、前記第1の閾値に基づいて他の少なくとも1つの閾値を決定することによって前記平均符号化レートを制御する、を備える、電子デバイス。
[C13]
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、C12に記載の電子デバイス。
[C14]
第1のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第2のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、C13に記載の電子デバイス。
[C15]
前記第1の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、C12に記載の電子デバイス。
[C16]
前記他の少なくとも1つの閾値は閾値セットである、C12に記載の電子デバイス。
[C17]
前記他の少なくとも1つの閾値を決定することは、メトリックにさらに基づく、C12に記載の電子デバイス。
[C18]
前記他の少なくとも1つの閾値を決定することは、
前記メトリックが前記第1の閾値より大きくない場合、第1の閾値セットを選択することと、
前記メトリックが前記第1の閾値より大きい場合、第2の閾値セットを選択することと、を備える、C17に記載の電子デバイス。
[C19]
前記第1の閾値セットは第1のフレーム調整閾値セットであり、前記第2の閾値セットは第2のフレーム調整閾値セットである、C18に記載の電子デバイス。
[C20]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて前記第1の閾値を調整することをさらに備える、C12に記載の電子デバイス。
[C21]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて少なくとも1つの音声閾値を調整することをさらに備える、C12に記載の電子デバイス。
[C22]
前記少なくとも1つの音声閾値を調整することは、音声閾値セットを選択することを備える、C21に記載の電子デバイス。
[C23]
平均符号化レートを制御するためのコンピュータプログラム製品であって、命令を有する非一時的有形コンピュータ可読媒体を備え、前記命令は、
電子デバイスに、音声信号を取得させるためのコードと、
前記電子デバイスに第1の平均レートを決定させるためのコードと、
前記電子デバイスに前記第1の平均レートに基づいて第1の閾値を決定させるためのコードと、
前記電子デバイスに、前記第1の閾値に基づいて他の少なくとも1つの閾値を決定することによって前記平均符号化レートを制御させるためのコードと、
前記電子デバイスに符号化音声信号を送らせるためのコードと、を備える、コンピュータプログラム製品。
[C24]
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、C23に記載のコンピュータプログラム製品。
[C25]
第1のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第2のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、C24に記載のコンピュータプログラム製品。
[C26]
前記第1の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、C23に記載のコンピュータプログラム製品。
[C27]
前記他の少なくとも1つの閾値は閾値セットである、C23に記載のコンピュータプログラム製品。
[C28]
前記他の少なくとも1つの閾値を決定することは、メトリックにさらに基づく、C23に記載のコンピュータプログラム製品。
[C29]
前記他の少なくとも1つの閾値を決定することは、
前記メトリックが前記第1の閾値より大きくない場合、第1の閾値セットを選択することと、
前記メトリックが前記第1の閾値より大きい場合、第2の閾値セットを選択することと、を備える、C28に記載のコンピュータプログラム製品。
[C30]
前記第1の閾値セットは第1のフレーム調整閾値セットであり、前記第2の閾値セットは第2のフレーム調整閾値セットである、C29に記載のコンピュータプログラム製品。
[C31]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて前記第1の閾値を調整することをさらに備える、C23に記載のコンピュータプログラム製品。
[C32]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて少なくとも1つの音声閾値を調整することをさらに備える、C23に記載のコンピュータプログラム製品。
[C33]
前記少なくとも1つの音声閾値を調整することは、音声閾値セットを選択することを備える、C32に記載のコンピュータプログラム製品。
[C34]
平均符号化レートを制御するための装置であって、
音声信号を取得するための手段と、
第1の平均レートを決定するための手段と、
前記第1の平均レートに基づいて第1の閾値を決定するための手段と、
前記第1の閾値に基づいて他の少なくとも1つの閾値を決定することによって前記平均符号化レートを制御するための手段と、
符号化音声信号を送るための手段と、を備える、装置。
[C35]
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、C34に記載の装置。
[C36]
第1のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第2のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、C35に記載の装置。
[C37]
前記第1の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、C34に記載の装置。
[C38]
前記他の少なくとも1つの閾値は閾値セットである、C34に記載の装置。
[C39]
前記他の少なくとも1つの閾値を決定することは、メトリックにさらに基づく、C34に記載の装置。
[C40]
前記他の少なくとも1つの閾値を決定することは、
前記メトリックが前記第1の閾値より大きくない場合、第1の閾値セットを選択することと、
前記メトリックが前記第1の閾値より大きい場合、第2の閾値セットを選択することと、を備える、C39に記載の装置。
[C41]
前記第1の閾値セットは第1のフレーム調整閾値セットであり、前記第2の閾値セットは第2のフレーム調整閾値セットである、C40に記載の装置。
[C42]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて前記第1の閾値を調整することをさらに備える、C34に記載の装置。
[C43]
前記平均符号化レートを制御することは、前記第1の平均レートに基づいて少なくとも1つの音声閾値を調整することをさらに備える、C34に記載の装置。
[C44]
前記少なくとも1つの音声閾値を調整することは、音声閾値セットを選択することを備える、C43に記載の装置。