(57)【特許請求の範囲】
【請求項１】
電子デバイスによって平均符号化レートを制御するための方法であって、
音声信号を取得することと、
１組のフレームを作るために前記音声信号をフレーミングすることと、
過去のフレームに基づいて、第１の平均レートを決定することと、
前記第１の平均レートおよび目標レートに基づいて、調整可能な第１の閾値を決定することと、
（Ａ）他の少なくとも１つの閾値を決定するための前記調整可能な第１の閾値、（Ｂ）選択可能なフレームパターン、（Ｃ）フレームタイプをより高レートのものに調整するか否かを示す増加閾値、および（Ｄ）前記１組のフレームを分類するための調整可能な音声閾値を制御することによって前記平均符号化レートを制御することと、ここにおいて、前記増加閾値を制御することは、前記平均符号化レートを下げ得る、より少ない増加をもたらす緩和増加閾値セットを使用するか否かを決定することを備え、
前記１組のフレームの各々のためにフレーム分類に基づいてエンコーダを選択することと、
符号化音声信号を送ることと、
を備える方法。
【請求項２】
前記平均符号化レートを制御することは、前記選択可能なフレームパターンを決定することをさらに備える、請求項１に記載の方法。
【請求項３】
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、請求項２に記載の方法。
【請求項４】
前記平均符号化レートを制御することは、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きいと決定したことに応答して、前記第１の閾値が第１の閾値最大以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最大以上でないと決定したことに応答して、前記第１の閾値を上げることと、
前記第１の閾値が前記第１の閾値最大以上であると決定したことに応答して、フレームパターンモードがレート増加フレームパターンを示すか否か、および第２の平均レートが前記目標レートより大きいか否かを決定することと、ここにおいて、前記第２の平均レートは短期平均レートであり、前記第１の平均レートは長期平均レートである、
前記フレームパターンモードがレート増加フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、レート減少フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート増加フレームパターンを示さないこと、または前記第２の平均レートが前記目標レートより大きくないと決定したことに応答して、前記フレームパターンモードがレート減少フレームパターンを示すか否か、および前記第２の平均レートが前記目標レートより大きいか否か決定することと、
前記フレームパターンモードがレート減少フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、前記緩和増加閾値セットを示すためのフレーム調整モードを設定し、前記第１の平均レートが第１の公差を加えた前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記第１の公差を加えた前記目標レートより大きいと決定したことに応答して、第１の音声閾値セットを示すための音声閾値モードを設定することと、
をさらに備える、請求項１に記載の方法。
【請求項５】
前記平均符号化レートを制御することは、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きくないと決定したことに応答して、第２の音声閾値セットを示すための音声閾値モードを設定し、フレーム調整閾値モードが第１のフレーム調整閾値セットを示すか否かを決定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示すと決定したことに応答して、第２のフレーム調整閾値セットを示すための前記フレーム調整閾値モードを設定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示さないと決定したことに応答して、フレームパターンモードがレート減少フレームパターンを示すか否かを決定することと、
前記フレームパターンモードがレート減少フレームパターンを示すと決定したことに応答して、レート増加フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート減少フレームパターンを示さないと決定したことに応答して、前記第１の閾値が第１の閾値最小以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最小以上であると決定したことに応答して、前記第１の閾値を減少させることと、
前記第１の閾値が前記第１の閾値最小以上でないと決定したことに応答して、前記第１の平均レートが、第２のレート公差を引いた前記目標レートより少ないか否かを決定することと、
前記第１の平均レートが前記第２のレート公差を引いた前記目標レートより少ないと決定したことに応答して、前記平均符号化レートを上げるために、１つまたは複数の低レートフレームを高レートフレームに移行することと、
をさらに備える、請求項１に記載の方法。
【請求項６】
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、請求項１に記載の方法。
【請求項７】
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、
を備える、請求項６に記載の方法。
【請求項８】
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、請求項７に記載の方法。
【請求項９】
前記平均符号化レートを制御することは、前記平均符号化レートを下げるときに音質に対する増加する潜在影響を伴う１つまたは複数のプロシージャを利用する前に、音質に対するより少ない潜在影響を伴うプロシージャを利用することを備える、請求項４に記載の方法。
【請求項１０】
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、請求項１に記載の方法。
【請求項１１】
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、請求項１０に記載の方法。
【請求項１２】
平均符号化レートを制御するための電子デバイスであって、
過去のフレームに基づいて、第１の平均レートを決定するように構成された平均レート決定回路と、
１組のフレームを作るために音声信号をフレーミングするように構成されたフレーミング回路と、
前記第１の平均レートおよび目標レートに基づいて調整可能な第１の閾値を決定するように構成された閾値決定回路と、
前記平均レート決定回路と前記閾値決定回路を備える符号化レートコントローラ回路と、ここにおいて、前記符号化レートコントローラ回路は、（Ａ）他の少なくとも１つの閾値を決定するための前記調整可能な第１の閾値、（Ｂ）選択可能なフレームパターン、（Ｃ）フレームタイプをより高レートのものに調整するか否かを示す増加閾値、および（Ｄ）前記１組のフレームを分類するための調整可能な音声閾値を制御することによって前記平均符号化レートを制御するように構成され、前記１組のフレームの各々のためにフレーム分類に基づいてエンコーダを選択するように構成され、前記増加閾値を制御することは、前記平均符号化レートを下げ得る、より少ない増加をもたらす緩和増加閾値セットを使用するか否かを決定することを備える、
を備える、電子デバイス。
【請求項１３】
前記電子デバイスは、前記選択可能なフレームパターンを決定するように構成される、請求項１２に記載の電子デバイス。
【請求項１４】
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、請求項１３に記載の電子デバイス。
【請求項１５】
前記電子デバイスは、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きいと決定したことに応答して、前記第１の閾値が第１の閾値最大以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最大以上でないと決定したことに応答して、前記第１の閾値を上げることと、
前記第１の閾値が前記第１の閾値最大以上であると決定したことに応答して、フレームパターンモードがレート増加フレームパターンを示すか否か、および第２の平均レートが前記目標レートより大きいか否かを決定することと、ここにおいて、前記第２の平均レートは短期平均レートであり、前記第１の平均レートは長期平均レートである、
前記フレームパターンモードがレート増加フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、レート減少フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート増加フレームパターンを示さないこと、または前記第２の平均レートが前記目標レートより大きくないと決定したことに応答して、前記フレームパターンモードがレート減少フレームパターンを示すか否か、および前記第２の平均レートが前記目標レートより大きいか否かを決定することと、
前記フレームパターンモードがレート減少フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、前記緩和増加閾値セットを示すためのフレーム調整モードを設定し、前記第１の平均レートが第１の公差を加えた前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記第１の公差を加えた前記目標レートより大きいと決定したことに応答して、第１の音声閾値セットを示すための音声閾値モードを設定することと、
を行うように構成される、請求項１２に記載の電子デバイス。
【請求項１６】
前記電子デバイスは、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きくないと決定したことに応答して、第２の音声閾値セットを示すための音声閾値モードを設定し、フレーム調整閾値モードが第１のフレーム調整閾値セットを示すか否かを決定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示すと決定したことに応答して、第２のフレーム調整閾値セットを示すための前記フレーム調整閾値モードを設定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示さないと決定したことに応答して、フレームパターンモードがレート減少フレームパターンを示すか否かを決定することと、
前記フレームパターンモードがレート減少フレームパターンを示すと決定したことに応答して、レート増加フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート減少フレームパターンを示さないと決定したことに応答して、前記第１の閾値が第１の閾値最小以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最小以上であると決定したことに応答して、前記第１の閾値を減少させることと、
前記第１の閾値が前記第１の閾値最小以上でないと決定したことに応答して、前記第１の平均レートが、第２のレート公差を引いた前記目標レートより少ないか否かを決定することと、
前記第１の平均レートが前記第２のレート公差を引いた前記目標レートより少ないと決定したことに応答して、前記平均符号化レートを上げるために、１つまたは複数の低レートフレームを高レートフレームに移行することと、
を行うように構成される、請求項１２に記載の電子デバイス。
【請求項１７】
前記電子デバイスは、メトリックに基づいて、前記他の少なくとも１つの閾値を決定するように構成される、請求項１２に記載の電子デバイス。
【請求項１８】
前記電子デバイスは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、
を行うように構成される、請求項１７に記載の電子デバイス。
【請求項１９】
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、請求項１８に記載の電子デバイス。
【請求項２０】
前記電子デバイスは、前記平均符号化レートを下げるときに音質に対する増加する潜在影響を伴う１つまたは複数のプロシージャを利用する前に、音質に対するより少ない潜在影響を伴うプロシージャを利用するように構成される、請求項１５に記載の電子デバイス。
【請求項２１】
前記電子デバイスは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整するように構成される、請求項１２に記載の電子デバイス。
【請求項２２】
前記電子デバイスは、音声閾値セットを選択するように構成される、請求項２１に記載の電子デバイス。
【請求項２３】
命令を有する非一時的有形コンピュータ可読媒体であって、前記命令は、
電子デバイスに、音声信号を取得させるためのコードと、
前記電子デバイスに、１組のフレームを作るために前記音声信号をフレーミングさせるためのコードと、
前記電子デバイスに、過去フレームに基づいて第１の平均レートを決定させるためのコードと、
前記電子デバイスに、前記第１の平均レートおよび目標レートに基づいて、調整可能な第１の閾値を決定させるためのコードと、
前記電子デバイスに、（Ａ）他の少なくとも１つの閾値を決定するための前記調整可能な第１の閾値、（Ｂ）選択可能なフレームパターン、（Ｃ）フレームタイプをより高レートのものに調整するか否かを示す増加閾値、および（Ｄ）前記１組のフレームを分類するための調整可能な音声閾値を制御することによって平均符号化レートを制御させるためのコードと、ここにおいて、前記増加閾値を制御することは、前記平均符号化レートを下げ得る、より少ない増加をもたらす緩和増加閾値セットを使用するか否かを決定することを備え、
前記電子デバイスに、前記１組のフレームの各々のためにフレーム分類に基づいてエンコーダを選択させるためのコードと、
前記電子デバイスに符号化音声信号を送らせるためのコードと、
を備える、コンピュータ可読媒体。
【請求項２４】
前記平均符号化レートを制御することは、前記選択可能なフレームパターンを決定することをさらに備える、請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、請求項２４に記載のコンピュータ可読媒体。
【請求項２６】
前記平均符号化レートを制御することは、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きいと決定したことに応答して、前記第１の閾値が第１の閾値最大以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最大以上でないと決定したことに応答して、前記第１の閾値を上げることと、
前記第１の閾値が前記第１の閾値最大以上であると決定したことに応答して、フレームパターンモードがレート増加フレームパターンを示すか否か、および第２の平均レートが前記目標レートより大きいか否かを決定することと、ここにおいて、前記第２の平均レートは短期平均レートであり、前記第１の平均レートは長期平均レートである、
前記フレームパターンモードがレート増加フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、レート減少フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート増加フレームパターンを示さないこと、または前記第２の平均レートが前記目標レートより大きくないと決定したことに応答して、前記フレームパターンモードがレート減少フレームパターンを示すか否か、および前記第２の平均レートが前記目標レートより大きいと決定することと、
前記フレームパターンモードがレート減少フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、前記緩和増加閾値セットを示すためのフレーム調整モードを設定し、前記第１の平均レートが第１の公差を加えた前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記第１の公差を加えた前記目標レートより大きいと決定したことに応答して、第１の音声閾値セットを示すための音声閾値モードを設定することと、
をさらに備える、請求項２３に記載のコンピュータ可読媒体。
【請求項２７】
前記平均符号化レートを制御することは、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きくないと決定したことに応答して、第２の音声閾値セットを示すための音声閾値モードを設定し、フレーム調整閾値モードが第１のフレーム調整閾値セットを示すか否かを決定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示すと決定したことに応答して、第２のフレーム調整閾値セットを示すための前記フレーム調整閾値モードを設定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示さないと決定したことに応答して、フレームパターンモードがレート減少フレームパターンを示すか否かを決定することと、
前記フレームパターンモードがレート減少フレームパターンを示すと決定したことに応答して、レート増加フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート減少フレームパターンを示さないと決定したことに応答して、前記第１の閾値が第１の閾値最小以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最小以上であると決定したことに応答して、前記第１の閾値を減少させることと、
前記第１の閾値が前記第１の閾値最小以上でないと決定したことに応答して、前記第１の平均レートが、第２のレート公差を引いた前記目標レートより少ないか否かを決定することと、
前記第１の平均レートが前記第２のレート公差を引いた前記目標レートより少ないと決定したことに応答して、前記平均符号化レートを上げるために、１つまたは複数の低レートフレームを高レートフレームに移行することと、
をさらに備える、請求項２３に記載のコンピュータ可読媒体。
【請求項２８】
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、請求項２３に記載のコンピュータ可読媒体。
【請求項２９】
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、
を備える、請求項２８に記載のコンピュータ可読媒体。
【請求項３０】
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、請求項２９に記載のコンピュータ可読媒体。
【請求項３１】
前記平均符号化レートを制御することは、前記平均符号化レートを下げるときに音質に対する増加する潜在影響を伴う１つまたは複数のプロシージャを利用する前に、音質に対するより少ない潜在影響を伴うプロシージャを利用することを備える、請求項２６に記載のコンピュータ可読媒体。
【請求項３２】
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、請求項２３に記載のコンピュータ可読媒体。
【請求項３３】
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
平均符号化レートを制御するための装置であって、
音声信号を取得するための手段と、
１組のフレームを作るために前記音声信号をフレーミングするための手段と、
過去のフレームに基づいて、第１の平均レートを決定するための手段と、
前記第１の平均レートおよび目標レートに基づいて、調整可能な第１の閾値を決定するための手段と、
（Ａ）他の少なくとも１つの閾値を決定するための前記調整可能な第１の閾値、（Ｂ）選択可能なフレームパターン、（Ｃ）フレームタイプをより高レートのものに調整するか否かを示す増加閾値、および（Ｄ）前記１組のフレームを分類するための調整可能な音声閾値を制御することによって前記平均符号化レートを制御するための手段と、ここにおいて、前記増加閾値を制御することは、前記平均符号化レートを下げ得る、より少ない増加をもたらす緩和増加閾値セットを使用するか否かを決定することを備え、
前記１組のフレームの各々のためにフレーム分類に基づいてエンコーダを選択するための手段と、
符号化音声信号を送るための手段と、
を備える、装置。
【請求項３５】
前記平均符号化レートを制御することは、前記選択可能なフレームパターンを決定することをさらに備える、請求項３４に記載の装置。
【請求項３６】
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、請求項３５に記載の装置。
【請求項３７】
前記平均符号化レートを制御するための手段は、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きいと決定したことに応答して、前記第１の閾値が第１の閾値最大以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最大以上でないと決定したことに応答して、前記第１の閾値を上げることと、
前記第１の閾値が前記第１の閾値最大以上であると決定したことに応答して、フレームパターンモードがレート増加フレームパターンを示すか否か、および第２の平均レートが前記目標レートより大きいか否かを決定することと、ここにおいて、前記第２の平均レートは短期平均レートであり、前記第１の平均レートは長期平均レートである、
前記フレームパターンモードがレート増加フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、レート減少フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート増加フレームパターンを示さないこと、または前記第２の平均レートが前記目標レートより大きくないと決定したことに応答して、前記フレームパターンモードがレート減少フレームパターンを示すか否か、および前記第２の平均レートが前記目標レートより大きいか否かを決定することと、
前記フレームパターンモードがレート減少フレームパターンを示し、前記第２の平均レートが前記目標レートより大きいと決定したことに応答して、前記緩和増加閾値セットを示すためのフレーム調整モードを設定し、前記第１の平均レートが第１の公差を加えた前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記第１の公差を加えた前記目標レートより大きいと決定したことに応答して、第１の音声閾値セットを示すための音声閾値モードを設定することと、
をさらに備える、請求項３４に記載の装置。
【請求項３８】
前記平均符号化レートを制御するための手段は、
前記第１の平均レートが前記目標レートより大きいか否かを決定することと、
前記第１の平均レートが前記目標レートより大きくないと決定したことに応答して、第２の音声閾値セットを示すための音声閾値モードを設定し、フレーム調整閾値モードが第１のフレーム調整閾値セットを示すか否かを決定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示すと決定したことに応答して、第２のフレーム調整閾値セットを示すための前記フレーム調整閾値モードを設定することと、
前記フレーム調整閾値モードが前記第１のフレーム調整閾値セットを示さないと決定したことに応答して、フレームパターンモードがレート減少フレームパターンを示すか否かを決定することと、
前記フレームパターンモードがレート減少フレームパターンを示すと決定したことに応答して、レート増加フレームパターンを示すための前記フレームパターンモードを設定することと、
前記フレームパターンモードがレート減少フレームパターンを示さないと決定したことに応答して、前記第１の閾値が第１の閾値最小以上であるか否かを決定することと、
前記第１の閾値が前記第１の閾値最小以上であると決定したことに応答して、前記第１の閾値を減少させることと、
前記第１の閾値が前記第１の閾値最小以上でないと決定したことに応答して、前記第１の平均レートが、第２のレート公差を引いた前記目標レートより少ないか否かを決定することと、
前記第１の平均レートが前記第２のレート公差を引いた前記目標レートより少ないと決定したことに応答して、前記平均符号化レートを上げるために、１つまたは複数の低レートフレームを高レートフレームに移行することと、
をさらに備える、請求項３４に記載の装置。
【請求項３９】
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、請求項３４に記載の装置。
【請求項４０】
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、
を備える、請求項３９に記載の装置。
【請求項４１】
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、請求項４０に記載の装置。
【請求項４２】
前記平均符号化レートを制御することは、前記平均符号化レートを下げるときに音質に対する増加する潜在影響を伴う１つまたは複数のプロシージャを利用する前に、音質に対するより少ない潜在影響を伴うプロシージャを利用することを備える、請求項３７に記載の装置。
【請求項４３】
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、請求項３４に記載の装置。
【請求項４４】
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、請求項４３に記載の装置。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]  本出願は、２０１３年２月２１日に出願された米国仮出願第６１／７６７，４３９号、「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＣＯＮＴＲＯＬＬＩＮＧ
ＡＮ  ＡＶＥＲＡＧＥ  ＲＡＴＥ」に関連し、その優先権を主張する。
【技術分野】
【０００２】
[0002]  本開示は、一般に電子デバイスに関する。より詳細には、本開示は、平均符号化レートを制御するためのシステムおよび方法に関する。
【背景技術】
【０００３】
[0003]  ここ数１０年間で、電子デバイスの使用が一般的になった。特に、電子技術における進歩が、ますます複雑で有用な電子デバイスのコストを削減した。コストの低減と消費者の需要が、近代社会で実際に広く普及するように電子デバイスの使用を急増させた。電子デバイスの使用が拡大したことで、電子デバイスの新たな改良された特徴の需要を得た。より詳細には、新たな機能を行い、および／または、機能をより速く、より効率的に、あるいはより高品質に行う電子デバイスがしばしば次に求められる。
【０００４】
[0004]  いくつかの電子デバイス（例えば、携帯電話、スマートフォン、オーディオレコーダー、カムコーダー、コンピュータなど）は、オーディオ信号を利用する。これら電子デバイスは、オーディオ信号を符号化し、記憶し、および／または送信し得る。例えば、スマートフォンは電話のための音声信号を取得し、符号化し、送信できる一方で、別のスマートフォンはこの音声信号を受け取り、復号できる。
【０００５】
[0005]  しかしながら、特定の課題がオーディオ信号の符号化、送信、および／または、復号化において生じる。例えば、電子デバイスは、多過ぎる伝送帯域幅を占有する不所望なレートでオーディオ信号を符号化し得る。この考察から気付けるように、符号化を改良するシステムおよび方法は有益であり得る。
【発明の概要】
【０００６】
[0006]  電子デバイスによって平均符号化レートを制御するための方法が説明される。本方法は、音声信号を取得することを含む。また、本方法は、第１の平均レートを決定することを含む。本方法は、第１の平均レートに基づいて第１の閾値を決定することをさらに含む。本方法は、第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって平均符号化レートを制御することをさらに含む。また、本方法は、符号化音声信号を送ることを含む。第１の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類し得る。他の少なくとも１つの閾値は閾値セットであり得る。
【０００７】
[0007]  また、平均符号化レートを制御することは、フレームパターンを決定することを含み得る。第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみであり得る。
【０００８】
[0008]  他の少なくとも１つの閾値を決定することは、メトリックにさらに基づき得る。他の少なくとも１つの閾値を決定することは、メトリックが第１の閾値より大きくない場合に第１の閾値セットを選択することと、メトリックが第１の閾値より大きい場合に第２の閾値セットを選択することとを含み得る。第１の閾値セットは第１のフレーム調整閾値セットであり得、第２の閾値セットは第２のフレーム調整閾値セットであり得る。
【０００９】
[0009]  平均符号化レートを制御することは、第１の平均レートに基づいて第１の閾値を調整することを含み得る。平均符号化レートを制御することは、第１の平均レートに基づいて少なくとも１つの音声閾値を調整することを含み得る。少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを含み得る。
【００１０】
[0010]  また、平均符号化レートを制御するための電子デバイスが説明される。電子デバイスは、第１の平均レートを測定する平均レート決定回路を含む。また、電子デバイスは、第１の平均レートに基づいて第１の閾値を決定する閾値決定回路を含む。電子デバイスは、平均レート決定回路と閾値決定回路を含む符号化レートコントローラ回路をさらに含む。符号化レートコントローラは、第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって平均符号化レートを制御する。
【００１１】
[0011]  また、平均符号化レートを制御するためのコンピュータプログラム製品が説明される。コンピュータプログラム製品は、命令を有する非一時的有形コンピュータ可読媒体を含む。命令は、電子デバイスに、音声信号を取得させるためのコードを含む。また、命令は、電子デバイスに第１の平均レートを決定させるためのコードを含む。命令は、電子デバイスに第１の平均レートに基づいて第１の閾値を決定させるためのコードをさらに含む。命令は、電子デバイスに第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって平均符号化レートを制御させるためのコードをさらに含む。また、命令は、電子デバイスに符号化音声信号を送らせるためのコードを含む。
【００１２】
[0012]  また、平均符号化レートを制御するための装置が説明される。本装置は、音声信号を取得するための手段を含む。また、本装置は、第１の平均レートを決定するための手段を含む。本装置は、第１の平均レートに基づいて第１の閾値を決定するための手段をさらに含む。本装置は、第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって平均符号化レートを制御するための手段をさらに含む。また、本装置は、符号化音声信号を送るための手段を含む。
【図面の簡単な説明】
【００１３】
【図１】エンコーダとデコーダの一般的な例を示すブロック図である。
【図２】エンコーダとデコーダの基本的な実施の例を示すブロック図である。
【図３】平均符号化レートを制御するためのシステムおよび方法が実施され得る電子デバイスの一構成を示すブロック図である。
【図４】平均符号化レートを制御するための方法の一構成を示すフローチャートである。
【図５】第１の閾値とメトリックに基づいて、他の少なくとも１つの閾値を決定するための方法の一構成を示すフローチャートである。
【図６】平均符号化レートを制御するための方法の、より詳細な構成を示すフローチャートである。
【図７】平均符号化レートを下げるための方法の一構成を示すフローチャートである。
【図８】平均符号化レートを上げるための方法一構成を示すフローチャートである。
【図９】音声閾値セットの例を示す図である。
【図１０】符号化レートコントローラの一構成を示すブロック図である。
【図１１】平均符号化レートを制御するための方法の別のより詳細な構成を示すフローチャートである。
【図１２】ワイヤレス通信デバイスの一構成を示すブロック図である。
【図１３】電子デバイスで利用され得る様々な構成要素を示す図である。
【発明を実施するための形態】
【００１４】
[0026]  同様の参照番号が機能的に類似の要素を示し得る図を参照して、様々な構成がここで説明される。本明細書において、図に一般的に説明され、示されるシステムおよび方法は、多種多様の構成に準備し設計できる。従って、図に示されるようないくつかの構成の以下のより詳細な説明は、請求されような範囲に限定する意図はなく、単にシステムおよび方法の典型である。
【００１５】
[0027]  図１は、エンコーダ１０４とデコーダ１０８の一般的な例を示すブロック図である。エンコーダ１０４は、音声信号１０２を受け取る。音声信号１０２は、何らかの周波数領域の音声信号であり得る。例えば、音声信号１０２は、０から２４キロヘルツ（ｋＨｚ）のおおよその周波数領域の全帯域信号か、０から１６ｋＨｚのおおよその周波数領域の超広帯域信号か、０から８ｋＨｚのおおよその周波数領域の広帯域信号か、あるいは０から４ｋＨｚのおおよその周波数領域の狭帯域信号であり得る。音声信号１０２のための他の可能な周波数領域は、３００から３４００Ｈｚ（例えば、Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ（ＰＳＴＮ）の周波数領域）と、１４から２０ｋＨｚと、１６から２０ｋＨｚと、１６から３２ｋＨｚとを含む。いくつかの構成において、音声信号１０２は１６ｋＨｚでサンプリングされ、０から８ｋＨｚのおおよその周波数領域を有することがある。
【００１６】
[0028]  エンコーダ１０４は、符号化音声信号１０６を作るために音声信号１０２を符号化する。一般に、符号化音声信号１０６は、音声信号１０２を表す１つまたは複数のパラメータを含む。パラメータの１つまたは複数は量子化され得る。１つまたは複数のパラメータの例としては、フィルタパラメータ（例えば、重み係数と、線スペクトル周波数（ＬＳＦｓ：line spectral frequencies）と、線スペクトル対（ＬＳＰｓ：line spectral pairs）と、イミタンススペクトル周波数（ＩＳＦｓ：immittance spectral frequencies）と、イミタンススペクトル対（ＩＳＰｓ：immittance spectral pairs）と、偏相関（ＰＡＲＣＯＲ：partial correlation）係数と、反射係数と、および／または、ログ面積比値など）、および符号化励起信号に含まれるパラメータ（例えば、ゲイン係数と、ピッチラグと、（量子化された）振幅情報と、（量子化された）位相情報と、適応コードブックインデックスと、適応コードブックゲインと、固定コードブックインデックスと、および／または、固定コードブックゲインなど）がある。パラメータは、１つまたは複数の周波数帯域に対応し得る。デコーダ１０８は、復号音声信号１１０を作るために符号化音声信号１０６を復号する。例えば、符号化音声信号１０６に含まれる１つまたは複数のパラメータに基づいて、デコーダ１０８は復号音声信号１１０を構成する。復号音声信号１１０は、オリジナルの音声信号１０２のおおよその複製品であり得る。
【００１７】
[0029]  エンコーダ１０４は、ハードウェア（例えば、回路）、ソフトウェア、または両方の組合せで実施され得る。例えば、エンコーダ１０４は、特定用途向け集積回路（ＡＳＩＣ：application-specific integrated circuit）として、あるいは、命令を有するプロセッサとして実施され得る。同様に、デコーダ１０８は、ハードウェア（例えば、回路）、ソフトウェア、または両方の組合せで実施され得る。例えば、デコーダ１０８は、特定用途向け集積回路（ＡＳＩＣ）として、あるいは、命令を有するプロセッサとして実施され得る。エンコーダ１０４とデコーダ１０８は、別々の電子デバイスで、あるいは、同じ電子デバイスで実施され得る。
【００１８】
[0030]  いくつかの構成において、エンコーダ１０４、および／または、デコーダ１０８は、合成音声出力（例えば、復号音声信号１１０）を生成するために、励起信号を合成フィルタに通すことによって音声合成が行われる音声コーティングシステムに含まれ得る。そのようなシステムにおいて、エンコーダ１０４は音声信号１０２を受け取り、次いで、音声信号１０２をフレーム（例えば、２０ミリ秒（ｍｓ）フレーム）に窓化し（window）、合成フィルタパラメータと、対応する励起信号を生成するのに要するパラメータとを生成する。これらパラメータは、符号化音声信号１０６としてデコーダ１０８に送信され得る。デコーダ１０８は、合成フィルタ（例えば１／Ａ（ｚ））と、対応する励起信号とを生成するためにこれらパラメータを使用し、復号音声信号１１０を生成するために励起信号を合成フィルタに通すことができる。図１は、そのような音声エンコーダ／デコーダシステムの簡略化されたブロック図であり得る。
【００１９】
[0031]  図２は、エンコーダ２０４とデコーダ２０８の基本的な実施例を示すブロック図である。エンコーダ２０４は、図１と関連付けて説明されたエンコーダ１０４の一例であり得る。エンコーダ２０４は、分析モジュール２１２と、係数変換２１４と、量子化器Ａ２１６と、逆量子化器Ａ２１８と、逆係数変換Ａ２２０と、分析フィルタ２２２と、量子化器Ｂ２２４とを含み得る。エンコーダ２０４、および／または、デコーダ２０８の１つまたは複数の構成要素は、ハードウェア（例えば、回路）、ソフトウェア、または両方の組合せで実施され得る。
【００２０】
[0032]  エンコーダ２０４は、音声信号２０２を受け取る。音声信号２０２は、図１（例えば、音声周波数の全体帯域、あるいは音声周波数のサブ帯域）と関連付けて上記で説明されるように、何らかの周波数領域を含み得ることに留意すべきである。
【００２１】
[0033]  この例では、分析モジュール２１２が、１組の線形予測（ＬＰ）係数（例えば、全極合成フィルタ１／Ａ（ｚ）を作るために適用され得る分析フィルタ係数Ａ（ｚ）、ただしｚは複素数である）として、音声信号２０２のスペクトル包絡線を符号化する。分析モジュール２１２は、各フレームあるいはサブフレームのために算出されている新しい組の係数を用いて、一連の音声信号２０２の非重複フレームとして入力信号を典型的に処理する。いくつかの構成において、フレーム周期は、音声信号２０２が局所的に静止していると予測され得る期間であり得る。フレーム周期の１つの一般的な例は、２０ｍｓ（例えば、８ｋＨｚのサンプリングレートで１６０個のサンプルと同等）である。一例では、分析モジュール２１２が、各２０ｍｓフレームのフォルマント構造を特徴付けるために１０個の線形予測係数の組を算出するように構成される。また、一連の重複フレームとして音声信号２０２を処理するために分析モジュール２１２も実施可能である。
【００２２】
[0034]  分析モジュール２１２は、各フレームのサンプルを直接分析するように構成されたり、サンプルは窓関数（例えば、ハミング窓）に従って最初に重み付けされたりし得る。また、分析は、３０ｍｓ窓など、フレームより大きい窓で行われ得る。この窓は左右対称（例えば、２０ｍｓフレーム直前および直後の５ミリ秒を含むように、５−２０−５）であるか、あるいは非対称（例えば、前のフレームの最後１０ｍｓを含むように、１０−２０）であり得る。典型的に、分析モジュール２１２は、レビンソンダービン再帰あるいはルルーゲゲンアルゴリズムを使用する線形予測係数を算出するように構成される。別の実施では、分析モジュール２１２が、１組の線形予測係数の代わりに、各フレームの１組のケプストラム係数を算出するように構成され得る。
【００２３】
[0035]  係数を量子化することによって、複製の質への影響は比較的少ない状態で、エンコーダ２０４の出力レートは著しく減少し得る。線形予測係数は効率的に量子化することが難しく、量子化および／またはエントロピー符号化のためのＬＳＦｓのように、通常、別の表示にマッピングされる。図２の例では、係数変換２１４が、係数の組を対応するＬＳＦベクトル（例えば、ＬＳＦの組）に変換する。係数の他の１対１表示は、ＬＳＰと、ＰＡＲＣＯＲ係数と、反射係数と、ログ面積比値と、ＩＳＰと、ＩＳＦとを含む。例えば、ＩＳＦは、ＧＳＭ（登録商標）（移動通信用グローバルシステム：Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）ＡＭＲ−ＷＢ（適応型マルチレート広帯域：Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｒａｔｅ−Ｗｉｄｅｂａｎｄ）コーデックで使用され得る。便宜上、「線スペクトル周波数」と、「ＬＳＦ」と、「ＬＳＦベクトル」という用語、および関連用語は、ＬＳＦと、ＬＳＰと、ＩＳＦと、ＩＳＰと、ＰＡＲＣＯＲ係数と、反射係数と、ログ面積比値の１つまたは複数について言及するのに使用され得る。典型的に、１組の係数と対応するＬＳＦベクトルとの間の変換は可逆的であるが、いくつかの構成は、変換が誤差なく可逆的でないエンコーダ２０４の実施を含み得る。
【００２４】
[0036]  量子化器Ａ２１６は、ＬＳＦベクトル（あるいは他の係数表示）を量子化するように構成される。エンコーダ２０４は、フィルタパラメータ２２８として、この量子化の結果を出力し得る。典型的に、量子化器Ａ２１６は、テーブルあるいはコードブックにおける対応ベクトルエントリに対する指標として入力ベクトル（例えば、ＬＳＦベクトル）を符号化するベクトル量子化器を含む。
【００２５】
[0037]  また、図２で見られるように、エンコーダ２０４は、１組の係数に従って構成される分析フィルタ２２２（また、ホワイトニングまたは予測誤差フィルタ(whitening or prediction error filter)と呼ばれる）に音声信号２０２を通すことによって、残差信号を生成する。分析フィルタ２２２は、有限インパルス応答（ＦＩＲ：finite impulse response）フィルタ、あるいは無限インパルス応答（ＩＩＲ：infinite impulse response）フィルタとして実施され得る。典型的に、この残差信号は、ピッチに関する長期構造のような、フィルタパラメータ２２８に表されない音声フレームの知覚的に重要な情報を含む。量子化器Ｂ２２４は、符号化励起信号２２６として、この出力用の残差信号の量子化表示を算出するように構成される。いくつかの構成において、量子化器Ｂ２２４は、テーブルあるいはコードブックにおける対応ベクトルエントリに対する指標として入力ベクトルを符号化するベクトル量子化器を含む。さらに、または、あるいは、量子化器２２４Ｂは、まばらなコードブック方法のように、記憶装置から検索されるよりデコーダ２０８でベクトルが動的に生成され得る１つまたは複数のパラメータを送るように構成され得る。そのような方法は、ＡＣＥＬＰ（代数符号励起線形予測：ａｌｇｅｂｒａｉｃ  ｃｏｄｅ−ｅｘｃｉｔｅｄ  ｌｉｎｅａｒ  ｐｒｅｄｉｃｔｉｏｎ）のようなコーディング方式や３ＧＰＰ（登録商標）２（第３世代パートナーシップ２：Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  ２）ＥＶＲＣ（強化型可変速コーデック：Ｅｎｈａｎｃｅｄ  Ｖａｒｉａｂｌｅ  Ｒａｔｅ  Ｃｏｄｅｃ）などのコーデックにおいて使用される。いくつかの構成において、符号化励起信号２２６とフィルタパラメータ２２８は、符号化音声信号１０６に含まれ得る。
【００２６】
[0038]  対応するデコーダ２０８に利用可能な同じフィルタパラメータ値に従って、エンコーダ２０４が符号化励起信号２２６を生成することは有益であり得る。このように、結果としての符号化励起信号２２６はすでに、量子化誤差のような、それらのパラメータ値における非理想特性をある程度説明できる。従って、デコーダ２０８で利用可能な同じ係数値を使用して分析フィルタ２２２を構成することは有益であり得る。図２に示すようなエンコーダ２０４の基本的な例では、逆量子化器Ａ２１８が、フィルタパラメータ２２８を逆量子化する。逆係数変換Ａ２２０は、結果としての値を対応する係数の組にマッピングして戻す。この係数の組は、量子化器Ｂ２２４によって量子化される残差信号を生成するために分析フィルタ２２２を構成するのに使用される。
【００２７】
[0039]  エンコーダ２０４のいくつかの実施は、残差信号に最もよく合致する１組のコードブックベクトルの中から１つを識別することによって符号化励起信号２２６を算出するように構成される。しかしながら、エンコーダ２０４も実際に残差信号を生成せずに残差信号の量子化表示を算出するように実施され得ることに留意する。例えば、エンコーダ２０４は、対応する合成信号（例えば、現在のフィルタパラメータの組に従って）を生成し、知覚的に荷重された領域でオリジナルの音声信号２０２に最もよく合致する、生成された信号に関連付けられるコードブックベクトルを選択するために、いくつかのコードブックベクトルを使用するように構成され得る。
【００２８】
[0040]  いくつかの構成において、エンコーダ２０４は、雑音励起線形予測（ＮＥＬＰ：noise-excited linear predictive）エンコーダとして実施され得る。ＮＥＬＰエンコーダは、無声音声として分類されたフレームをコーディングするために使用され得る。信号複製の点で、ＮＥＬＰコーディングは効率的に動作し、そこでは音声信号２０２はピッチ構造をほとんど、あるいは全く有しない。より詳細には、ＮＥＬＰは、無声音声または背景雑音など、性質が雑音様である音声を符号化するために使用され得る。ＮＥＬＰは、無声音声をモデル化するためにフィルタ処理された擬似ランダム雑音信号を使用する。そのような音声セグメントの雑音様特徴は、デコーダ２０８でランダム信号を生成し、適切なゲインをそれらに適用することによって、再構成され得る。ＮＥＬＰは、符号化音声に簡易モデルを使用し得、それにより、低ビットレートを達成する。
【００２９】
[0041]  いくつかの構成において、エンコーダ２０４は、プロトタイプピッチ周期（ＰＰＰ：prototype pitch period）エンコーダとして実施され得る。ＰＰＰエンコーダは、有声音声として分類されたフレームをコーディングするために使用され得る。有声音声は、ＰＰＰエンコーダによって利用される低速の時間変動周期成分を含む。ＰＰＰエンコーダは、各フレーム内のピッチ周期のサブセットをコーディングする。音声信号２０２の残りの周期は、これらプロトタイプ周期の間で補間することによって再構成される。有声音声の定期性を開発することによって、ＰＰＰエンコーダは知覚的に正確な方法で音声信号２０２を再生できる。
【００３０】
[0042]  デコーダ２０８は、逆量子化器Ｂ２３０と、逆量子化器Ｃ２３６と、逆係数変換Ｂ２３８と、合成フィルタ２３４とを含み得る。逆量子化器Ｃ２３６はフィルタパラメータ２２８（例えば、ＬＳＦベクトル）を逆量子化し、逆係数変換Ｂ２３８はＬＳＦベクトルを１組の係数（例えば、エンコーダ２０４の逆量子化器Ａ２１８と逆係数変換Ａ２２０を参照して上記で説明されるように）に変換する。逆量子化器Ｂ２３０は、励起信号２３２を作るために符号化励起信号２２６を逆量子化する。係数と励起信号２３２に基づいて、合成フィルタ２３４は復号音声信号２１０を合成する。言い換えれば、合成フィルタ２３４は、復号音声信号２１０を作るために、逆量子化係数に従ってスペクトル的に励起信号２３２を形成するように構成される。また、いくつかの構成において、デコーダ２０８は、別の周波数帯域（例えば、高帯域）の励起信号を導出するために励起信号２３２を使用し得る別のデコーダに励起信号２３２を提供し得る。いくつかの実施では、デコーダ２０８が、スペクトル傾斜、ピッチゲイン、ラグ、音声モードなど、励起信号２３２に関連する別のデコーダに追加情報を提供するように構成され得る。
【００３１】
[0043]  エンコーダ２０４とデコーダ２０８のシステムは、合成による分析（analysis-by-synthesis）音声コーデックの基本的な例である。コードブック励起線形予測コーディングは、合成による分析コーディングの１つの一般的なファミリーである。そのようなコーダの実施は、固定の適応コードブックからのエントリの選択と、誤差最小化動作と、および／または、知覚的重み付け動作のような動作を含む、残差の波形符号化を行い得る。合成による分析コーディングの他の実施は、符号励起線形予測（ＣＥＬＰ：code-excited linear prediction）と、混合励起線形予測（ＭＥＬＰ：mixed excitation linear prediction）と、ＡＣＥＬＰと、緩和型ＣＥＬＰ（ＲＣＥＬＰ：relaxation CELP）と、レギュラーパルス励起（ＲＰＥ：regular pulse excitation）と、マルチパルス励起（ＭＰＥ：multi-pulse excitation）と、マルチパルスＣＥＬＰ（ＭＰ−ＣＥＬＰ：multi-pulse CELP）と、ベクトル和励起線形予測（ＶＳＥＬＰ：vector-sum excited linear prediction）コーディングとを含む。関連コーディング方法は、多重帯域励起（ＭＢＥ：multi-band excitation）と、プロトタイプ波形補間（ＰＷＩ：prototype waveform interpolation）コーディングを含む。標準化合成による分析音声コーデックの例としては、ＥＴＳＩ（欧州電気通信標準化機構：Ｅｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ）−ＧＳＭフルレートコーデック（ＧＳＭ
０６．１０）（残差励起線形予測（ＲＥＬＰ：residual excited linear prediction）と、ＧＳＭエンハンストフルレートコーデック（ＥＴＳＩ−ＧＳＭ０６．６０）と、  ＩＴＵ（国際電気通信連合：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）標準、１１．８ｋｂｐｓ、Ｇ．７２９  アネックスＥコーダと、ＩＳ−１３６（時分割多元接続スキーム）のための仮標準（ＩＳ：Interim Standard）−６４１コーデックと、ＧＳＭ適応マルチレート（ＧＳＭ  ＡＭＲ：GSM（登録商標） adaptive multirate）コーデックと、４ＧＶ（商標登録）（第四世代ボコーダ（商標登録））コーデック（クオルコム、サンディエゴ、カリフォルニア）とを使用する）がある。エンコーダ２０４と対応するデコーダ２０８は、これら技術のいずれか、あるいは、（Ａ）フィルタについて説明する１組のパラメータとして、また、（Ｂ）音声信号２０２を再生するために説明されたフィルタを導出するために使用される励起信号として、音声信号を表す何らかの他の音声コーディング技術に従って実施され得る（知られる、あるいは開発される）。
【００３２】
[0044]  分析フィルタ２２２が音声信号２０２から粗いスペクトル包絡線を取り除いた後でも、特に有声音声のための相当数の微細な調和構造が残り得る。周期構造はピッチに関連し、また、同じ話し手によって話される、異なる有声音は異なるフォルマント構造を有するが、同様のピッチ構造を有することがある。
【００３３】
[0045]  コーディング効率および／または音声品質は、ピッチ構造の特性を符号化するための１つまたは複数のパラメータ値を使用することによって高まり得る。ピッチ構造の１つの重要な特性は、典型的に６０から４００ヘルツ（Ｈｚ）の範囲にある第１の調波の周波数（基本周波数とも呼ばれる）である。この特性は、一般に、ピッチラグとも呼ばれる、基本周波数の逆数として符号化される。ピッチラグは、１つのピッチ周期におけるサンプル数を示し、１つまたは複数のコードブック指標として符号化され得る。男性話者からの音声信号は、女性話者からの音声信号よりも大きいピッチラグを有する傾向がある。
【００３４】
[0046]  ピッチ構造に関連する別の信号特性は、調和構造の強度、言い換えれば信号が調和的あるいは非調和的である度合いを示す周期性である。２つの典型的な周期性のインディケータは、零交差と、正規化自己相関関数（ＮＡＣＦｓ：normalized autocorrelation functions）である。周期性はピッチゲインによっても示され得、これは、通常、コードブックゲイン（例えば、量子化された適応コードブックゲイン）として符号化される。
【００３５】
[0047]  エンコーダ２０４は、音声信号２０２の長期調和構造を符号化するように構成された１つまたは複数のモジュールを含み得る。ＣＥＬＰ符号化に対するいくつかの手法において、エンコーダ２０４は、微細ピッチあるいは調和構造を符号化する閉ループ長期予測分析段階に続いて、短期特性あるいは粗いスペクトル包絡線を符号化する開ループＬＰＣ分析モジュールを含む。短期特性は係数（例えば、フィルタパラメータ２２８）として符号化され、長期特性は、ピッチラグやピッチゲインのようなパラメータの値として符号化される。例えば、エンコーダ２０４は、１つまたは複数のコードブック指標（例えば、固定コードブック指標や適応コードブック指標）と対応するゲイン値とを含む形式で符号化励起信号２２６を出力するように構成され得る。残差信号（例えば、量子化器Ｂ２２４で）のこの量子化表示の計算は、そのような指標を選択し、そのような値を算出することを含み得る。また、ピッチ構造の符号化はピッチプロトタイプ波形の補間を含み得、その演算は、連続ピッチパルス間の差を算出することを含み得る。長期構造のモデリングは、一般に雑音様および非構造的である無声音声に対応するフレームについて無効化され得る。
【００３６】
[0048]  デコーダ２０８のいくつかの実施は、長期構造（ピッチあるいは調和構造）が復元された後、励起信号２３２を別のデコーダ（例えば、高帯域デコーダ）へ出力するように構成され得る。例えば、そのようなデコーダは、符号化励起信号２２６の逆量子化バージョンとして励起信号２３２を出力するように構成され得る。もちろん、他のデコーダが符号化励起信号２２６の逆量子化を行って励起信号２３２を取得するようにデコーダ２０８も実施可能である。
【００３７】
[0049]  本明細書で開示されたシステムおよび方法は、平均符号化レートを制御するための手法を提供する。例えば、本明細書で開示されたシステムおよび方法のいくつかの構成は、プロトタイプピッチ周期（ＰＰＰ）ベースの音声符号化システムのための開ループ、および／または、閉ループの平均符号化レート制御を提供する。明瞭化のため、既知の可変レート符号化システムに起こるいくつかの問題の説明を次のように示す。
【００３８】
[0050]  可変レート音声符号化システムにおいて、平均符号化レート（例えば、平均ビットレートや平均データレート（ＡＤＲ：average data rate）など）を制御することが、所望容量を維持するために利用される。ＰＰＰベースの音声符号化システムにおいて、これは１／４レートフレーム（例えば、ＰＰＰ、および／または、ＮＥＬＰ）フレームを制御することによって達成され得る。例えば、強化型可変速コーデックＢ（ＥＶＲＣ−Ｂ：Enhanced Variable Rate Codec B）仕様は、所望平均符号化レートより低い動作ビットレートを有する動作点を課す。平均符号化レートが最後Ｎ個の音声フレームに基づいて所望レートに増えるまで、１／４レートＰＰＰフレームのいくつかをフルレートフレームで送られ得る。例えば、ＥＶＲＣ−Ｂ仕様においてＮ＝６００フレームである。
【００３９】
[0051]  動作モードは、ＰＰＰと、ＱＦＦやＱＱＦ（Ｑは１／４レートＰＰＰフレームを表し、Ｆはフルレートフレームを表す）などのフルレートフレームパターンを設定することによって、選択され得る。この設定において、最も低いレートは最も高いＰＰＰフレームレートをもたらすパターンに依存する。しかしながら、連続するＰＰＰフレームを増やすと、オリジナルから合成波形をドリフトさせることになり得る。これは、音声アーティファクトを作成する可能性がある。
【００４０】
[0052]  ＥＶＲＣ−Ｂ仕様において、ＰＰＰベースの符号化システムは、「増加スキーム」と呼ばれる拒絶機構と関連付けられる。特に、開ループ決定作成プロセスは、ＰＰＰフレームである特定のフレームを分類するが、増加機構は、フレームがフルレートを使用することによって量子化される開ループ決定を変え得る。例えば、エンコーダは、あるフレームがコーディングのＰＰＰモードに合っているか否かを確かめるために１組のチェックを行う。エンコーダは、１組の閾値に対して、このプロセスで計算された１組のパラメータをチェックする。これら閾値は「増加」閾値と呼ばれる。「増加」が起こる場合、あるフレームは、より高いレートを使用して符号化される。このことは、平均データレートを高める。従って、ＰＰＰフレームを高めることが、いつもレートを所望の低レートに低下させることにはならない。
【００４１】
[0053]  一定の動作点が設定されるときでも、最後Ｎ個のフレーム（例えば、６００個のフレーム）間の平均レートは非常に変わりやすい。このように、過去Ｎ個のフレームに基づいてＱ個のフレームをＦ個のフレームに変えることが、所望平均符号化レートをもたらすことにはならない。従って、長期平均レートの大きさは、レート制御過程で考慮され得る。その結果、いくつかの場合（例えば、いくつかの雑音環境などにおけるいくつかの言語のため）、平均レートを制御するために１つの操作点から最もアグレッシブな次の操作点に変化することが、レートを所望レベルに下げることにはならない。実験で、２個のＦフレームが１／４レート符号化による位相調整誤差から回復するのに十分な時間を提供するので、ＱとＦフレームパターンＱＦＦを使用することが最も質の高い音声をもたらすことがわかった。
【００４２】
[0054]  ＰＰＰベースの変数レート音声コーディングシステムにおけるレート制御と関連付けられるいくつかの潜在的問題は、次のように示される。最もアグレッシブなＱとＦパターンでさえ、音声特性と増加機構による所望平均符号化レートをもたらさないことがある。よりアグレッシブなレート制御パターンを課すと、音声アーティファクトが引き起こされ得る。過去Ｎ個のフレームの平均レートは、次のＮ個のフレームをよく表さないことがある。連続したＮ個のフレーム間のレートは非常に変わりやすい。
【００４３】
[0055]  図３は、平均符号化レートを制御するためのシステムおよび方法が実施され得る電子デバイス３４０の一構成を示すブロック図である。電子デバイス３４０の例としては、スマートフォンと、携帯電話と、固定電話と、ヘッドセットと、デスクトップコンピュータと、ラップトップコンピュータと、テレビと、ゲーム機と、オーディオレコーダーと、カムコーダーと、スチルカメラと、自動車コンソールなどがある。電子デバイス３４０は、符号化レートコントローラ３４２と、フレーミング前処理モジュール３５０と、セレクタ３５４ａ−ｂと、および／または、１つまたは複数のエンコーダ３５６ａ−ｎを含み得る。電子デバイス３４０の構成要素の１つまたは複数は、ハードウェア（例えば、回路）、ソフトウェア、または両方の組合せで実施され得る。例えば、符号化レートコントローラ３４２は、ハードウェア（例えば、回路）、ソフトウェア、または両方の組合せで実施され得る。本明細書のブロック図における線あるいは矢印が、構成要素あるいは要素間の結合を示し得ることに留意すべきである。例えば、符号化レートコントローラ３４２は、フレーミング前処理モジュール３５０と結合され得る。
【００４４】
[0056]  電子デバイス３４０は、音声信号３４８を取得する。例えば、電子デバイス３４０は、１つまたは複数のマイクロフォンで音声信号３４８を取り込み、および／または、別のデバイス（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ヘッドセット）から音声信号３４８を受け取ることがある。音声信号３４８は、フレーミング前処理モジュール３５０に提供され得る。
【００４５】
[0057]  フレーミング前処理モジュール３５０は、音声信号３４８を一連のフレームに分割し得る。各フレームは、特定の時間期間であり得る。例えば、各フレームは、音声信号３４８の２０ｍｓに対応し得る。フレーミング前処理モジュール３５０は、雑音抑制やフィルタリング（例えば、低域と、高域と、帯域通過フィルタリングの１つまたは複数）など、音声信号３４８に他の動作を行い得る。従って、フレーミング前処理モジュール３５０は、前処理済音声信号３６２を作り得る。
【００４６】
[0058]  いくつかの構成において、フレーミング前処理モジュール３５０は、メトリック決定モジュール３６０を含む。メトリック決定モジュール３６０は、音声信号３４８に基づいてメトリック３５２を決定し得る。例えば、メトリック決定モジュール３６０は、音声信号３４８のフレームに基づいて信号対雑音比（ＳＮＲ：signal-to-noise ratio）を決定し得る。メトリック３５２（例えば、ＳＮＲ）は、符号化レートコントローラ３４２に提供され得る。
【００４７】
[0059]  符号化レートコントローラ３４２は、平均符号化レートを制御し得る。平均符号化レートは、いくつかのフレーム上の平均に基づく符号化音声信号３６４のビットレート（例えば、毎秒あたりのキロビット（ｋｂｐｓ））である。符号化レートコントローラ３４２は、平均符号化レートを目標レートに合致させようと試みることによって、平均符号化レートを制御し得る。目標レートは、符号化音声信号３６４の所望ビットレートを指定し得る。目標レートは、別のデバイス（例えば、基地局）から受け取られ得るか、あるいは既定であり得る。
【００４８】
[0060]  符号化レートコントローラ３４２は、前処理済音声信号３６２のフレームを符号化するためにエンコーダ３５６ａ−ｎを選択することによって平均符号化レートを制御し得る。例えば、符号化レートコントローラ３４２は、符号化レートインディケータ３６６をセレクタ３５４ａ−ｂへ提供し得る。符号化レートインディケータ３６６は、特定のエンコーダ３５６、レート、および／または、フレームタイプを指定する。セレクタ３５４ａ−ｂは、符号化レートインディケータ３６６によって示されるように、各フレーム用のエンコーダ３５６に前処理済音声信号３６２を送り得る。
【００４９】
[0061]  エンコーダ３５６ａ−ｎの各々は、前処理済音声信号３６２に基づいて符号化音声信号３６４を作り得る。上記で説明されたエンコーダ１０４および２０４の１つまたは複数に従って、１つまたは複数のエンコーダ３５６ａ−ｎが実施され得る。エンコーダ３５６ａ−ｎの例としては、ＰＰＰエンコーダと、ＮＥＬＰエンコーダと、ＣＥＬＰエンコーダ（例えば、ＡＣＥＬＰエンコーダ）などがある。エンコーダ３５６ａ−ｎの１つまたは複数は、符号化情報３５８を符号化レートコントローラ３４２に提供し得る。符号化情報３５８の例としては、符号化波形と、誤差メトリック（例えば、振幅誤差メトリック）と、帯域ゲイン変化メトリック（例えば、低域ゲイン変化メトリック）と、フレームを符号化するために使用されるフレーム符号化レート（例えば、ｎ番目のフレーム）とがある。例えば、符号化レートコントローラ３４２は、１つまたは複数の平均レートを計算するためにレート情報を利用し得る。
【００５０】
[0062]  各エンコーダ３５６ａ−ｎは、特定の符号化レートで符号化音声信号３６４を作り得る。本明細書で使用されるように、「高レートエンコーダ」という用語とそのバリエーションは、目標レートより高いビットレートで符号化音声信号を作るエンコーダを示し得る。さらに、「低レートエンコーダ」という用語とそのバリエーションは、目標レートより低いビットレートで符号化音声信号を作るエンコーダを示し得る。
【００５１】
[0063]  各エンコーダ３５６ａ−ｎは、１つまたは複数のフレームタイプを符号化するために利用され得る。例えば、フレームは、各フレームに対応する音声信号３４８に基づくフレームタイプに従って分類され得る。いくつかの構成において、符号化レートコントローラ３４２は、各フレームが「有声フレーム」、「無声フレーム」あるいは他のフレーム（例えば、沈黙フレーム、トランジェントフレーム、ダウントランジェントフレームなど）であるかを決定し得る。有声フレームは、音声特性（例えば、より低域のエネルギー、より高いＳＮＲなど）を示し得る。無声フレームは、雑音特性（例えば、より高域のエネルギー、より低いＳＮＲなど）を示し得る。トランジェントフレームは、無声フレームあるいは沈黙フレームと有声フレームとの間に起こるフレームであり得る。従って、符号化レートコントローラ３４２は、１つまたは複数の閾値、および／または、１つまたは複数の要因（例えば、ＳＮＲ、ゼロ交差レート、帯域エネルギー比など）に基づいてフレームタイプを決定し得る。各フレームタイプは、１つまたは複数の符号化レートで１つまたは複数のエンコーダ３５６ａ−ｎによって符号化され得る。高レートエンコーダ３５６によって符号化されるフレームは「高レートフレーム」と呼ばれ得、低レートエンコーダ３５６によって符号化されるフレームは「低レートフレーム」と呼ばれ得る。例えば、目標レートより高い符号化レートのフレームが「高レートフレーム」であり、目標レートより低い符号化レートのフレームは「低レートフレーム」であり得る。
【００５２】
[0064]  一例では、エンコーダ３５６ａ−ｎが１／４レートＰＰＰ（ＱＰＰＰ：quarter-rate PPP）エンコーダと、ＮＥＬＰエンコーダと、２個のＡＣＥＬＰエンコーダとを含むと仮定する。さらに、目標レートが５．９ｋｂｐｓであると仮定する。ＱＰＰＰエンコーダは、２．８ｋｂｐｓのレートの符号化でいくつかの有声フレーム（例えば、有声低レートフレーム）を符号化し得る。ＮＥＬＰエンコーダは、２．８ｋｂｐｓのレートの符号化で無声フレームを符号化し得る。従って、ＱＰＰＰエンコーダとＮＥＬＰエンコーダは、この例では低レートエンコーダである。１個のＡＣＥＬＰエンコーダ（例えば、「有声」ＡＣＥＬＰエンコーダ）が７．２ｋｂｐｓのレートの符号化でいくつかの有声フレーム（例えば、有声高レートフレーム）を符号化し得る。別のＡＣＥＬＰエンコーダ（例えば、「変換」ＡＣＥＬＰエンコーダ）は、８．０ｋｂｐｓの符号化レートで変換フレームを符号化し得る。従って、有声ＡＣＥＬＰエンコーダと変換ＡＣＥＬＰエンコーダは、この例では高レートエンコーダである。
【００５３】
[0065]  いくつかの例では、「フルレート」、および／または、「１／４レート」という用語が、フレームタイプ、および／または、対応するエンコーダについて説明するために使用され得る。「フルレート」が最大可能ビットレートを示す、あるいは示さないことがあり、および／または、フレームタイプに基づいて異なったビットレートを示すことがあることに留意すべきである。例えば、フルレート変換フレームは変換ＡＣＥＬＰエンコーダによって８．０ｋｂｐｓのビットレートで符号化され得るが、有声フルレートフレームは有声ＡＣＥＬＰエンコーダによって７．２ｋｂｐｓのビットレートで符号化され得る。また、「１／４レート」がフルレートの実際の１／４を示す、あるいは示さないかもしれないことに留意すべきである。例えば、１／４レートフレームは、文字通りフルレート７．２ｋｂｐｓの４分の１ではない２．８ｋｂｐｓで符号化され得る。
【００５４】
[0066]  平均レート決定モジュール３４４は、第１の平均レートを決定し得る。第１の平均レートの一例として、長期平均レート（例えば、ＲLT）がある。例えば、平均レート決定モジュール３４４は、短期平均レート（例えば、ＲlastNframes）、および／または、長期平均レートを決定し得る。短期平均レートと長期平均レートは、平均符号化レートの例である。短期平均レートは、最後Ｎ個のフレーム（例えば、６００個のフレーム）上で平均された符号化レートである。平均レート決定モジュール３４４は、Ｎ個のフレーム上で選択されたフレーム符号化レートを合計し、その合計をＮで割ることによって短期平均レートを決定し得る。式（１）で示される平滑式に従って、各Ｎフレーム間隔の後、長期平均レートは決定（例えば、計算される）され得る。
【数１】
0006526096.tif 000002
【００５５】
式（１）で、ｎは長期平均指標であり、αはスムージング要因である。αは、いくつかの構成において０．９８であり得る。符号化レートコントローラ３４２は、平均符号化レートを制御するために、短期平均レート、および／または、長期平均レートを利用し得る。
【００５６】
[0067]  閾値決定モジュール３４６は、１つまたは複数の閾値を決定し得る。例えば、閾値決定モジュール３４６は、平均符号化レートに基づいて１つまたは複数の閾値を適応的に変え得る。特に、閾値決定モジュール３４６は、第１の平均レートに基づいて第１の閾値（例えば、ＴＨCN）を決定し得る。例えば、第１の平均レート（例えば、ＲLT）が目標レート（例えば、Ｒtarget）より大きい場合、次いで、閾値決定モジュール３４６は、第１の閾値を選択するか、または第１の閾値を調整し得る（例えば、第１の閾値を上げる）。例えば、第１の閾値を上げると、平均符号化レートを下げさせる、低レートで符号化され得るクリーンフレームとして、より多くのフレームが分類させられ得る。しかしながら、第１の平均レート（例えば、ＲLT）が目標レート以下である場合、次いで、閾値決定モジュール３４６は、異なった第１の閾値を選択するか、または第１の閾値を異なる方法で調整し得る（例えば、第１の閾値を下げる）。例えば、第１の閾値を下げると、平均符号化レートを上げさせる、高レートで符号化され得るノイジーフレームとして、より多くのフレームが分類させられ得る。
【００５７】
[0068]  第１の閾値（例えば、ＴＨCN）は、クリーンフレーム、あるいはノイジーフレームとしてフレームを分類し得る。より詳細には、符号化レートコントローラ３４２は、第１の閾値に基づいて、フレームをクリーンフレームあるいはノイジーフレームとして分類し得る。例えば、各有声フレームは、クリーンフレームあるいはノイジーフレームとして分類され得る。クリーンフレームは、高確率の低レートエンコーダ３５６（例えば、ＱＰＰＰエンコーダ）で符号化され得るが、ノイジーフレームは、高確率の高レートエンコーダ３５６（例えば、有声ＡＣＥＬＰエンコーダ）で符号化され得る。高レートエンコーダ３５６を使用してノイジーフレームを符号化する確率は高いが、すべてのノイジーフレームが高レートエンコーダ３５６で符号化され得ないことに留意すべきである。このように、第１の閾値を決定すると、平均符号化レートに影響する低レートエンコーダ３５６に対する高レートエンコーダ３５６で符号化されるフレームの数に影響があり得る。
【００５８】
[0069]  一例では、第１の閾値がＳＮＲ閾値であり、メトリック３５２はＳＮＲである。ＳＮＲは、フレーミング前処理モジュール３５０によって行われる雑音推定に基づき得る。この例で、符号化レートコントローラ３４２は、ＳＮＲがＳＮＲ閾値より大きい場合にクリーンフレームとして、あるいはＳＮＲがＳＮＲ閾値以下である場合にノイジーフレームとして、フレームを分類し得る。
【００５９】
[0070]  符号化レートコントローラ３４２は、第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって、平均符号化レートを制御し得る。例えば、符号化レートコントローラ３４２は、第１の閾値に基づいて異なる閾値を選択し得る。異なる閾値を選択すると、平均符号化レートを上げる高レートフレームの量を増やすことによって（低レートフレームの量を減少させながら）、あるいは、平均符号化レートを下げる高レートフレームの量を減少させることによって（低レートフレームの量を増やしながら）、平均符号化レートが影響され得る。いくつかの構成において、他の少なくとも１つの閾値が閾値セットであり得る。例えば、符号化レートコントローラ３４２は、第１の閾値セット、あるいは第１の閾値に基づいて第２の閾値セットを選択し得る。本明細書で使用されるように、「セット」という用語は２個以上の要素を示し得る。例えば、「閾値セット」は２個以上の閾値を含み得る。
【００６０】
[0071]  いくつかの構成において、他の少なくとも１つの閾値は、少なくとも１つのフレーム調整閾値を含む。フレーム調整閾値は、あるフレームに対してフレームタイプを調整するか否かを示し得る。フレームタイプ調整は、フレームに対する符号化レートを変更（例えば、増減）し得る。１つまたは複数のフレーム調整閾値を変更することによって、平均符号化レートを上げる、あるいは下げるためにフレームタイプ調整量を制御できる。いくつかの構成において、オリジナルの音声情報と量子化された音声情報との間にかなりの量の量子化誤差があるか否か（例えば、量子化パラメータが非量子化パラメータと異なり過ぎるか否か）を決定するために、フレーム調整閾値が利用され得る。量子化誤差が大き過ぎる場合、符号化音声品質は劣化され得る。これらの場合、フレームタイプは、より高いレート（例えば、より高品質）で符号化されるように調整され得る。
【００６１】
[0072]  一例では、符号化レートコントローラ３４２は、始めに低レート符号化（例えば、ＱＰＰＰ符号化）の候補として有声フレームを分類し得る。低レートエンコーダ３５６は、有声フレームの符号化に進み得て、符号化情報３５８を符号化レートコントローラ３４２に提供し得る。
【００６２】
[0073]  符号化レートコントローラ３４２は、符号化情報３５８に基づくフレームタイプとフレーム調整閾値を調整するか否かを決定する。例えば、符号化情報３５８は、１つまたは複数のメトリック、あるいは１つまたは複数のメトリックを決定するための情報を含み得る。例えば、１つまたは複数のメトリックは、オリジナルのフレームと符号化されたフレームとの差の程度を示す第１のメトリック（例えば、振幅誤差メトリック）、および／または、前のフレームと現在のフレームとの間の変化の程度を示す第２のメトリック（例えば、低域ゲイン変化メトリック）を含み得る。１つまたは複数のメトリックは、エンコーダ３５６あるいは符号化レートコントローラ３４２によって決定され得る。１つまたは複数のメトリックがフレーム調整閾値の１つまたは複数を超える場合、符号化レートコントローラ３４２はフレームタイプを調整し得る。例えば、符号化レートコントローラ３４２は、フレームを符号化するために異なるエンコーダ３５６を選択し得る。例えば、符号化レートコントローラ３４２は、低レートエンコーダ３５６の代わりに高レートエンコーダ３５６を選択し得る。
【００６３】
[0074]  一例では、少なくとも１つの閾値が１組の「増加」閾値である。増加閾値は、低レートＱＰＰＰフレームを高レート有声ＡＣＥＬＰフレームに調整（例えば、増加）するか否かを示す。例えば、符号化レートコントローラ３４２は、初めにＱＰＰＰフレームとして有声フレームを分類し得る。従って、符号化レートコントローラ３４２は、エンコーダフレームに対してＱＰＰＰエンコーダ３５６を選択する。ＱＰＰＰエンコーダ３５６はフレームを符号化し、符号化情報３５８を符号化レートコントローラ３４２に提供する。
【００６４】
[0075]  この例で、符号化情報３５８は振幅誤差メトリックと低域ゲイン変化メトリックを含む。振幅誤差メトリック（例えば、ａｍｐｅｒｒｏｒ）は、式（２）に示すように、オリジナルのＰＰＰ信号と量子化されたＰＰＰ信号との平均差である。
【数２】
0006526096.tif 000003
【００６５】
式（２）では、ＰＰＰ（ｉ）が指標ｉに対するオリジナルのＰＰＰ信号振幅であり、ＰＰＰQ（ｉ）  は量子化されたＰＰＰ信号振幅であり、Ｍが（例えば、振幅量子化における）ＰＰＰ振幅を計算するために使用されるいくつかのビン（bin）（例えば、帯域）であり、ａｍｐｅｒｒｏｒが振幅誤差メトリックである。例えば、ＰＰＰ信号は、時間領域信号を周波数領域信号に変換し、異なる周波数帯域に対する振幅を計算することによって量子化され得る。
【００６６】
[0076]  低域ゲイン変化メトリック（例えば、ΔＬｇａｉｎＥ）は、式（３）に示すように、現在のフレームの低域エネルギーゲインと前のフレームの低域エネルギーゲインとの差である。
【数３】
0006526096.tif 000004
【００６７】
式（３）において、ｃｕｒｒＬｇａｉｎＥは現在のフレームの低域エネルギーゲインであり、ｐｒｅｖＬｇａｉｎＥは前のフレームの低域エネルギーゲインであり、ΔＬｇａｉｎＥは低域ゲイン変化メトリックである。エネルギーゲインは、０Ｈｚと上限との間の周波数領域である低域上で評価され得る。例えば、低域は０と１１０４．５Ｈｚとの間であり得る。
【００６８】
[0077]  この例において、増加閾値の組は、振幅誤差閾値（例えば、ａｍｐｅｒｒｏｒＴＨ）と低域ゲイン変化閾値（例えば、ΔＬｇａｉｎＥＴＨ）を含む。いくつかの構成において、ａｍｐｅｒｒｏｒＴＨ＝０．４７であり、ΔＬｇａｉｎＥＴＨ＝−０．４である。この例において、符号化レートコントローラ３４２は、ａｍｐｅｒｒｏｒ＞０．４７およびΔＬｇａｉｎＥ＞−０．４の場合、ＱＰＰＰフレームを有声ＡＣＥＬＰフレームに調整（例えば、増加）し得る。
【００６９】
[0078]  いくつかの構成において、他の少なくとも１つの閾値を決定することは、メトリック３５２にさらに基づき得る。例えば、符号化レートコントローラ３４２は、メトリック３５２が第１の閾値より大きくない場合に第１の閾値セット（例えば、第１のレート調整閾値セット）を選択し、また、メトリック３５２が第１の閾値より大きい場合に第２の閾値セット（例えば、第２のレート調整閾値セット）を選択し得る。例えば、メトリック３５２（例えば、ＳＮＲ）が第１の閾値（例えば、ＳＮＲ閾値）より大きいか否かを決定することによって、符号化レートコントローラ３４２は他の少なくとも１つの閾値を決定し得る。
【００７０】
[0079]  異なるフレームタイプが異なるレートで符号化され得るので、第１の閾値（例えば、ＳＮＲ閾値）、および／または、他の少なくとも１つの閾値（例えば、フレーム調整閾値や増加閾値）を操作すると、平均符号化レートに影響し得る、フレームの分類のされ方が影響され得る。例えば、平均符号化レートは、フレームがクリーンフレームあるいはクリーンフレームとして分類されるか否か、および／または、フレームが有声フレーム、無声フレーム、あるいは一般的なフレームとして分類されるか否かに基づき得る。様々なフレームタイプに対応する符号化レートの例が表（１）で示される。
【表１】
0006526096.tif 000005
【００７１】
[0080]  いくつかの構成において、符号化レートコントローラ３４２は、フレームパターンを決定することによって、平均符号化レートをさらに制御し得る。例えば、平均符号化レートを制御することは、フレームパターンを決定することを含み得る。フレームパターンは、あるフレームタイプのフレームの比率あるいは必要量を指定し得る。例えば、第１のフレームパターン（例えば、「レート増加フレームパターン」）は、低レートフレーム間の最小数の高レートフレームを必要とし、第２のフレームパターン（例えば、「レート減少フレームパターン」）は、高レートフレーム間の最大数の低レートフレームを容認するのみであり得る。第１の平均レートが目標レートを下回る場合、符号化レートコントローラ３４２は、平均符号化レートを上げ得る第１のフレームパターンを選択し得る。第１の平均レートが目標レートを上回る場合、符号化レートコントローラ３４２は、平均符号化レートを下げ得る第２のフレームパターンを選択し得る。
【００７２】
[0081]  いくつかの構成において、フレームパターンは「ＱＦＦ」フレームパターンと「ＱＱＦ」フレームパターンを含み、ここで、「Ｑ」は低レートフレーム（例えば、１／４レートフレーム）を示し、「Ｆ」は高レートフレーム（例えば、フルレートフレーム）を示す。これら構成において、ＱＦＦフレームパターンは、Ｑフレーム間の最小数のＦフレームを必要とし得る。さらに、ＱＱＦフレームパターンは、Ｆフレーム間の最大数のＱフレームを容認するのみであり得る。例えば、２個以上の連続するＦフレームがＱフレーム間に起こり得るが、ＱＦＦパターンは、少なくとも２個のＦフレームがＱフレーム間に起こることを必要とし得る。さらに、１個以上のＦフレームがＱフレーム間に起こり得るが、ＱＱＦパターンは、Ｆフレーム間に最大２連続のＱフレームを容認するのみであり得る。
【００７３】
[0082]  いくつかの構成において、符号化レートコントローラ３４２（例えば、閾値決定モジュール３４６）は、第１の平均レートに基づいて他の少なくとも１つの閾値を調整することによって、平均符号化レートをさらに制御し得る。例えば、平均符号化レートを制御することは、第１の平均レートに基づいて他の少なくとも１つの閾値を調整することをさらに含み得る。
【００７４】
[0083]  一例では、他の少なくとも１つの閾値が、少なくとも１つのフレーム調整閾値である。この例で、符号化レートコントローラ３４２は、フレーム調整閾値セットを選択することによって、少なくとも１つのフレーム調整閾値を調整し得る。例えば、符号化レートコントローラ３４２は、第１の平均レートが目標レートより大きい場合に第１のフレーム調整閾値セットを選択し得、第１の平均レートが目標レートより大きくない場合に第２のフレーム調整閾値セットを選択し得る。第１のフレーム調整閾値セットは「緩和フレーム調整閾値セット(relaxed frame adjustment threshold set)」と呼ばれ得る。第１のフレーム調整閾値セットは、平均符号化レートを下げ得る、より少ないフレーム調整（例えば、増加）をもたらし得る。例えば、第１のフレーム調整閾値セットにおけるフレーム調整閾値の１つまたは複数が、第２のフレーム調整閾値セットにおいて相当する１つまたは複数のフレーム調整閾値より高いことがある。第２のフレーム調整閾値セットは、「引き締めフレーム調整閾値セット(tightened frame adjustment threshold set)」と呼ばれ得る。第２のフレーム調整閾値セットは、平均符号化レートを上げ得る、より多くのフレーム調整（例えば、増加）をもたらし得る。
【００７５】
[0084]  いくつかの構成において、符号化レートコントローラ３４２（例えば、閾値決定モジュール３４６）は、第１の平均レートに基づいて少なくとも１つの音声閾値を調整することによって、平均符号化レートをさらに制御し得る。例えば、さらに平均符号化レートを制御することは、第１の平均レートに基づいて少なくとも１つの音声閾値を調整することを含む。
【００７６】
[0085]  いくつかの構成において、少なくとも１つの音声閾値を直接調整することは、上記で説明されるように、第１の閾値に基づいて他の少なくとも１つの閾値を決定することと異なり得る。例えば、少なくとも１つの音声閾値を直接調整することは、直接第１の平均レートに基づき得る（そして、例えば、別の閾値を決定することに基づいて指示され得ることはない）。
【００７７】
[0086]  一例では、符号化レートコントローラ３４２が、音声閾値セットを選択することによって、少なくとも１つの音声閾値を調整し得る。例えば、符号化レートコントローラ３４２は、第１の平均レートが目標レートより大きい場合に第１の音声閾値セットを選択し得、第１の平均レートが目標レートより大きくない場合に第２の音声閾値セットを選択し得る。第１の音声閾値セットは「緩和音声閾値セット(relaxed voicing threshold set)」と呼ばれ得る。第１の音声閾値セットは、平均符号化レートを下げ得る有声フレーム、および／または、無声フレーム（例えば、ＱＰＰＰフレーム、および／または、ＮＥＬＰフレーム）として、より多くのフレームを分類することをもたらし得る。いくつかの有声フレーム、および／または、無声フレームが、低レートフレームであり得るので、これは平均符号化レートを下げ得る。例えば、第１の音声閾値セットにおける１つの音声閾値が第２の音声閾値セットにおいて対応する音声閾値より高い場合があり、第１の音声閾値セットにおける別の音声閾値が第２の音声閾値セットにおいて対応する音声閾値より低い場合がある。第２の音声閾値セットは「引き締め音声閾値セット(tightened voicing threshold set)」と呼ばれ得る。第２の音声閾値セットは、一般的なフレームとして、より多くのフレームを分類することをもたらし得る。一般的なフレーム（例えば、変換フレーム）が高レートフレームであり得るので、これは平均符号化レートを上げることをもたらし得る。
【００７８】
[0087]  本明細書で開示されたシステムおよび方法のいくつかの構成において、電子デバイス３４０は、長期平均レートと短期平均レートとに基づいて平均符号化レートを制御し得る。特に、本明細書で開示されたシステムおよび方法のいくつかの構成は、短期および長期平均レートに基づいて平均符号化レート制御戦略を提示する。また、平均符号化レートを制御することは、長期平均レートと、短期平均レート（例えば、最後Ｎ個のフレーム間の平均レート）と、目標レートとに依存する複数のステップに基づき得る。本明細書で開示されたシステムおよび方法の、より詳細な構成を次のように示す。この構成において、項目（１）から（４）に関連する１つまたは複数のプロシージャは、所望平均符号化レートを達成するために利用され得る。音質の潜在影響は、項目のリストが進行するにつれて増える。
【００７９】
[0088]  （１）ＰＰＰフレームに対する第１の閾値（例えば、ＴＨCN）は変えられ得る。特に、クリーンフレームとノイジーフレームを分類する２つのフレーム調整閾値セットがあり得る。一般に、これらフレーム調整閾値は、クリーンフレームに対してより厳密である。第１の閾値を上げると、より少ないフレーム調整（例えば、より少ない増加）をもたらす、ノイジーとしてのより多くのフレームの考慮を可能にする。これは、平均符号化レートを減少させ得る。（２）より多くの低レートフレームを生成するフレームパターンが利用され得る。例えば、フレームパターンは第１のフレームパターンに設定され得、そのフレームパターンは、平均符号化レートを減少させるより多くの低レートフレームを取得するために、第２のフレームパターンに変更され得る。（３）フレーム調整閾値は調整され得る（例えば、緩める）。これはフレーム調整（例えば、増加）の数を減少させることがあり、それでより多くの低レートフレームが可能である。（４）少なくとも１つの音声閾値が、低レートフレーム（例えば、ＱＰＰＰフレームやＮＥＬＰフレーム）を増やすことによってレートを減少させるために調整され得る。これは潜在的に音声アーティファクトを作成し得る。
【００８０】
[0089]  平均符号化レート低減機構のほかに、本明細書で開示されたシステムおよび方法は、グローバルレートが特定の差だけ目標レートより少ない場合、音質改善策を利用し得る。ＥＶＲＣ−Ｂで使用されるレート制御機構は、音質を上げることが可能な、高レートフレームに対する低レートフレームの割合のいくらかを移行するために使われ得る。これは、あるＱとＦパターンを使用して動作点を固定し、次いでＦフレームに対するＱフレームのある割合を移動することによってなされ得る。ＥＶＲＣ−Ｂは、目標ビットレートより低い動作ビットレートを選ぶ。次いで、Ｆフレームに対するＱフレームのコーディングモードを計算されたレート（ｒ％）だけ変更すると平均レートが目標レートに増えるように、レート（例えば、ｒ％）は計算され得る。いくつかのＱフレームが代わりにフルレートフレームを使用してコーディングされるので、総合的な音質は改善する。
【００８１】
[0090]  電子デバイス３４０は、符号化音声信号３６４を送り得る。符号化音声信号３６４、および／または、符号化レートインディケータ３６６は別のデバイス（例えば、電子デバイス、基地局、ワイヤレス通信デバイスなど）に送られることがあり、および／または、記憶装置用のメモリに送られることがある。例えば、符号化音声信号３６４と符号化レートインディケータ３６６は、電子デバイス３４０に含まれる無線周波数（ＲＦ：radio frequency）送信機（図示せず）に提供され得る。次いで、ＲＦ送信機はアンテナを使用して符号化音声信号３６４を別のデバイスに送信し得る。
【００８２】
[0091]  図４は、平均符号化レートを制御するための方法４００の一構成を示すフローチャートである。電子デバイス３４０は、音声信号３４８を取得する４０２。例えば、電子デバイス３４０は、１つまたは複数のマイクロフォンで音声信号３４８を取り込むことがあり、および／または、別のデバイス（例えば、Ｂｌｕｅｔｏｏｔｈヘッドセット）から音声信号３４８を受け取ることがある。
【００８３】
[0092]  電子デバイス３４０は、第１の平均レートを決定し得る４０４。例えば、電子デバイス３４０は、図３と関連付けて上記で説明されるように、長期平均レート（例えば、ＲLT）、および／または、短期平均レート（例えば、ＲlastNframes）を決定し得る。
【００８４】
[0093]  電子デバイス３４０は、第１の平均レートに基づいて第１の閾値（例えば、ＴＨCN）を決定し得る４０６。例えば、電子デバイス３４０は、図３と関連付けて上記で説明されるように、第１の平均レートに基づいて第１の閾値レートを選択するか、あるいは調整し得る。
【００８５】
[0094]  電子デバイス３４０は、第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって、平均符号化レートを制御し得る４０８。例えば、符号化レートコントローラ３４２は、図３と関連付けて上記で説明されるように、第１の閾値に基づいて異なる閾値（例えば、フレーム調整閾値セット）を選択し得る。
【００８６】
[0095]  電子デバイス３４０は、符号化音声信号３６４を送り得る４１０。例えば、符号化音声信号３６４、および／または、符号化レートインディケータ３６６は、別のデバイス（例えば、電子デバイス、基地局、ワイヤレス通信デバイスなど）に送られることがあり、および／または、図３と関連付けて上記で説明されるように、記憶装置用のメモリに送られることがある。
【００８７】
[0096]  図５は、第１の閾値とメトリック３５２に基づいて他の少なくとも１つの閾値を決定するための方法５００の一構成を示すフローチャートである。電子デバイス３４０は、音声信号３４８を取得し得る５０２。これは上記で説明されるように達成され得る。
【００８８】
[0097]  電子デバイス３４０は、音声信号３４８に基づいてＳＮＲを決定し得る５０４。例えば、電子デバイス３４０は、音声信号３４８に基づいて、チャネルエネルギー推定とチャネル雑音エネルギー推定を決定し得る。次いで、電子デバイス３４０は、チャネルエネルギー推定とチャネル雑音エネルギー推定の比率に基づいてＳＮＲを決定し得る５０４。
【００８９】
[0098]  電子デバイス３４０は、ＳＮＲが第１の閾値（例えば、ＴＨCNやＳＮＲ閾値）より大きいか否かを決定し得る５０６。ＳＮＲが第１の閾値より大きくない場合、電子デバイス３４０は、第１の閾値セット（例えば、第１のフレーム調整閾値セットや第１の増加閾値セットなど）を選択し得る５０８。ＳＮＲが第１の閾値より大きい場合、電子デバイス３４０は、第２の閾値セット（例えば、第２のフレーム調整閾値セットや第２の増加閾値セットなど）を選択し得る５１０。
【００９０】
[0099]  方法５００は、第１の閾値（例えば図３と関連付けて上記で説明された項目（１））を変える一例を含む。第１の閾値セットあるいは第２の閾値セットが選択されるように、第１の閾値（例えば、ＴＨCNやＳＮＲ閾値など）は、第１の平均レートに基づいて適応的に変えられ得る。これは、第１の閾値とメトリック３５２（例えば、ＳＮＲ）に基づいて他の少なくとも１つの閾値（例えば、フレーム調整閾値セット）を間接的に選択する一例である。
【００９１】
[00100]  図６は、平均符号化レートを制御するための方法６００の、より詳細な構成を示すフローチャートである。電子デバイス３４０は、符号化を開始し得る６０２。例えば、電子デバイス３４０は音声信号を取得して、その音声信号を符号化し始めることがある。
【００９２】
[00101]  電子デバイス３４０は、デフォルトパラメータを設定し得る６０４。パラメータの例としては、第１の閾値（例えば、ＴＨCN）と、フレームパターンモードと、フレーム調整閾値モードと、および／または、音声閾値モードとがある。フレームパターンモードは、フレームパターン（例えば、第１のフレームパターンや第２のフレームパターンなど）を示し得る。フレーム調整閾値モードは、少なくとも１つのフレーム調整閾値（例えば、第１のフレーム調整閾値セットや第２のフレーム調整閾値セットなど）を示し得る。音声閾値モードは、少なくとも１つの音声閾値（例えば、第１の音声閾値セットや第２の音声閾値セットなど）を示し得る。電子デバイス３４０は、符号化レートを決定する際（例えば、フレームを分類する際）、フレームパターンモードに示されるようなフレームパターン、フレーム調整閾値モードに示されるようなフレーム調整閾値、および／または、音声閾値モードで示されるような音声閾値を利用し得る。一例では、デフォルトパラメータを設定すること６０４が、第１の閾値を第１の閾値最大（例えば、ＴＨCNmax）に設定することと、第２のフレームパターンを示すためのフレームパターンモードを設定することと、第１のフレーム調整閾値セット（例えば、緩和フレーム調整閾値セット）を示すためのフレーム調整閾値モードを設定することと、第２の音声閾値セット（例えば、引き締め音声閾値セット）を示すための音声閾値モードを設定することを含み得る。
【００９３】
[00102]  電子デバイス３４０は、Ｎフレームブロックに達したか否かを決定し得る６０６。例えば、電子デバイス３４０は、（符号化の開始から、あるいは前のＮフレームブロック以来）Ｎ個のフレームが処理されたか否かを決定し得る。例えば、符号化レートがそのフレームのために決定された場合、および／または、そのフレームが符号化された場合、フレームは「処理」され得る。
【００９４】
[00103]  Ｎフレームブロックに達していない場合、電子デバイス３４０は、次フレームを処理し得る６０８。例えば、電子デバイス３４０は、次フレームのための符号化レートを決定し得、および／または、次フレームを符号化し得る。
【００９５】
[00104]  Ｎフレームブロックに達した場合、電子デバイス３４０は、第１の平均レート（例えば、長期平均レート）および第２の平均レート（例えば、短期平均レート）を決定し得る６１０。これは、図３、および／または、図４と関連付けて上記で説明されるように達成され得る。
【００９６】
[00105]  電子デバイス３４０は、第１の平均レートが目標レートより大きいかどうかを決定し得る６１２。第１の平均レートが目標レートより大きい場合、電子デバイス３４０はレート減少アルゴリズムを利用し得る６１６。第１の平均レートが目標レートより大きくない場合、電子デバイス３４０はレート増加アルゴリズムを利用し得る６１４。レート増加アルゴリズムは、平均符号化レートを上げるための試みにおいて１つまたは複数のパラメータを調整し得る。例えば、レート増加アルゴリズムは第１の閾値を減少させ、第１のフレームパターン（例えば、レート増加フレームパターン）を示すためのフレームパターンモードを設定し、第２のフレーム調整閾値セット（例えば、引き締めフレーム調整閾値セット）を示すためのフレーム調整閾値モードを設定し、および／または、第２の音声閾値セット（例えば、引き締め音声閾値セット）示すための音声閾値モードを設定し得る。
【００９７】
[00106]  第１の平均レートが目標レートより大きい場合、電子デバイス３４０はレート減少アルゴリズムを利用し得る６１６。レート減少アルゴリズムは、平均符号化レートを減少させるための試みにおいて１つまたは複数のパラメータを調整し得る。例えば、レート減少アルゴリズムは、第１の閾値を上げ、第２のフレームパターン（例えば、レート減少フレームパターン）を示すためのフレームパターンモードを設定し、第１のフレーム調整閾値セット（例えば、緩和フレーム調整閾値セット）を示すためのフレーム調整閾値モードを設定し、および／または、第１の音声閾値セット（例えば、緩和音声閾値セット）を示すための音声閾値モードを設定し得る。
【００９８】
[00107]  電子デバイス３４０は、次フレームを処理し得る６０８。例えば、電子デバイス３４０は、次のＮフレームブロックを処理し、第１の平均レートなどを決定する６１０ために戻り得る。
【００９９】
[00108]  図７は、平均符号化レートを下げるための方法７００の一構成を示すフロー図である。方法７００は、図６と関連付けて説明されたレート減少アルゴリズムの一例であり得る。例えば、第１の平均レートが目標レートより大きいときに方法７００が行われ得る。
【０１００】
[00109]  電子デバイス３４０は、第１の閾値（例えば、ＴＨCN）が第１の閾値最大（例えば、ＴＨCNmax）以上であるかどうかを決定し得る７０２。第１の閾値が第１の閾値最大以上でない場合、電子デバイス３４０は、第１の閾値を上げ得る７１２。例えば、電子デバイス３４０は、第１の閾値を、第１の閾値サイズ因子を加えた第１の閾値に上げ得る。第１の閾値サイズ因子は、第１の閾値を上げるための量（例えば、ステップサイズ）を指定し得る。次いで、図６と関連付けて説明されるように、電子デバイス３４０は、次フレームを処理するために戻り得る。
【０１０１】
[00110]  第１の閾値が第１の閾値最大以上の場合、電子デバイス３４０は、フレームパターンモードがレート増加フレームパターンを示すか否か、および第２の平均レート（例えば、短期平均レート）が目標レートより大きいか否かを決定し得る７０４。フレームパターンモードがレート増加フレームパターンを示し、第２の平均レートが目標レートより大きい場合、電子デバイス３４０は次いでレート減少フレームパターンを示すためのフレームパターンモードを設定し得る７１４。次いで、図６と関連付けて説明されるように、電子デバイス３４０は、次フレームを処理するために戻り得る。
【０１０２】
[00111]  フレームパターンモードがレート増加フレームパターンを示さず、あるいは、第２の平均レートが目標レートより大きくない場合、次いで、電子デバイス３４０は、フレームパターンモードがレート減少フレームパターンを示すか否か、および第２の平均レートが目標レートより大きいか否かを決定し得る７０６。フレームパターンモードがレート減少フレームパターンを示さず、あるいは第２の平均レートが目標レートより大きくない場合、図６と関連付けて説明されるように、次いで、電子デバイス３４０は、次フレームを処理するために戻り得る。フレームパターンモードがレート減少フレームパターンを示し、第２の平均レートが目標レートより大きい場合、次いで、電子デバイス３４０は、第１のフレーム調整閾値セット（例えば、緩和フレーム調整閾値セット）を示すためのフレーム調整モードを設定し得る７０８。
【０１０３】
[00112]  電子デバイス３４０は、第１の平均レートが第１のレート公差を加えた目標レートより大きいかどうかを決定し得る７１０。第１のレート公差は、目標レートを上回る量を指定する。長期平均レートが第１のレート公差を加えた目標レートより大きい場合、電子デバイス３４０は、第１の音声閾値セット（例えば、緩和音声閾値セット）を示すための音声閾値モードを設定し得る７１６。図６と関連付けて説明されるように、電子デバイス３４０は、次フレームを処理するために戻り得る。長期平均レートが第１のレート公差を加えた目標レートより大きくない場合、図６と関連付けて説明されるように、電子デバイス３４０、次フレームを処理するために戻り得る。
【０１０４】
[00113]  図７で観測できるように、第１の閾値を決定すること（および、第１の閾値に基づいて他の少なくとも１つの閾値を決定すること）、フレームパターンを決定すること、フレーム調整モードを設定すること（例えば、フレーム調整閾値を調整すること）、および／または、図３と関連付けて説明されるように少なくとも１つの音声閾値を（直接）調整することが、累積的に実施され得る。例えば、第１の平均レートが目標レートを上回っている場合、目標レートに達するまで連続的で追加的なプロシージャが行われ得る。例えば、項目（１）を行っても目標レートに達しない場合、項目（１）から項目（４）のすべてが平均レートを低下させるために行われるまでなど、項目（１）と項目（２）が行われ得る。
【０１０５】
[00114]  図８は、平均符号化レートを上げるための方法８００の一構成を示すフローチャートである。方法８００は、図６と関連付けて説明されたレート増加アルゴリズムの一例であり得る。例えば、第１の平均レートが目標レートより大きくないとき、方法８００が行われ得る。
【０１０６】
[00115]  電子デバイス３４０は、第２の音声閾値セット（例えば、引き締め音声閾値セット）を示すための音声閾値モードを設定し得る８０２。これは、より一般的なフレームをもたらし得る。一般的なフレーム（例えば、トランジェントフレーム）は、高レートエンコーダ（例えば、変換ＡＣＥＬＰエンコーダ）で符号化され得る。
【０１０７】
[00116]  電子デバイス３４０は、フレーム調整閾値モードが第１のフレーム調整閾値がセット（例えば、緩和フレーム調整閾値セット）を示すか否かを決定し得る８０４。フレーム調整閾値モードが第１のフレーム調整閾値セットを示す場合、電子デバイス３４０は、第２のフレーム調整閾値セット（例えば、引き締めフレーム調整閾値セット）を示すためのフレーム調整閾値モードを設定し得る８１４。次いで、図６と関連付けて説明されるように、電子デバイス３４０は、次フレームを処理するために戻り得る。
【０１０８】
[00117]  電子デバイス３４０は、フレーム調整閾値モードが第１のフレーム調整閾値セットを示さない場合、フレームパターンモードがレート減少フレームパターンを示すか否かを決定し得る８０６。フレームパターンモードがレート減少フレームパターンを示す場合、電子デバイス３４０は、レート増加フレームパターンを示すためのフレームパターンモードを設定し得る８１６。次いで、図６と関連付けて説明されるように、電子デバイス３４０は次フレームを処理するために戻り得る。
【０１０９】
[00118]  フレームパターンモードがレート減少フレームパターンを示さない場合、電子デバイス３４０は、第１の閾値が第１の閾値最小以上かどうかを決定し得る８０８。第１の閾値が第１の閾値最小以上の場合、電子デバイス３４０は第１の閾値を、第２の閾値サイズ因子を引いた第１の閾値へ減少させ得る８１８。第２の閾値サイズ因子は、第１の閾値を減少させるための量（例えば、ステップサイズ）を指定し得る。次いで、図６と関連付けて説明されるように、電子デバイス３４０は、次フレームを処理するために戻り得る。
【０１１０】
[00119]  第１の閾値が第１の閾値最小以上でない場合、電子デバイス３４０は、第１の平均レートが第２のレート公差を引いた目標レートより少ないかどうかを決定し得る８１０。第２のレート公差は、目標レートを下回る量を指定する。第１の平均レートが第２のレート公差を引いた目標レートより小さくない場合、図６と関連付けて説明されるように、電子デバイス３４０は次フレームを処理するために戻り得る。
【０１１１】
[00120]  第１の平均レートが第２のレート公差を引いた目標レートより小さい場合、電子デバイス３４０は、平均符号化レートを上げるために、１つまたは複数の低レートフレームを１つまたは複数の高レートフレームに移行させ得る８１２。いくつかの構成において、これは、（例えば、上記で説明されるように）ＥＶＲＣ−Ｂレート制御アルゴリズムに基づき得る。電子デバイス３４０は、図６と関連付けて説明されるように、次フレームを処理するために戻り得る。
【０１１２】
[00121]  図８で観測できるように、第１の閾値を決定すること（および、第１の閾値に基づいて他の少なくとも１つの閾値を決定すること）、フレームパターンを決定すること、フレーム調整モードを設定すること（例えば、フレーム調整閾値を調整すること）、および／または、図３と関連付けて説明されるように、少なくとも１つの音声閾値を（直接）調整することが、（逆のエフェクトに対して、および、図７と関連付けて説明された方法７００と比較して逆順で）累積的に実施され得る。例えば、方法８００は、図７と関連付けて説明された方法７００で取られた方策を累進的に逆にし得る。例えば、第１の平均レートが目標レートを下回っている場合、目標レートに達するまで連続的で追加的なプロシージャが行われ得る。
【０１１３】
[00122]  図９は、音声閾値セット９７６ａ−ｂの例を示す図である。図９に示す横寸法は、音声（例えば、音声要因）の測定に相当する。この音声の測定には、測定単位がないことがある。音声の測定は、図９に図示する水平軸に沿って右に向かって増加し得る。特に、図９は、いかに音声閾値９７８および９６８が調整され得るかに関する例を示す。第１の音声閾値セット９７６ａ（例えば、緩和音声閾値セット）は、下位音声閾値Ａ９７８ａと上位音声閾値Ａ９６８ａを含み得る。第２の音声閾値セット９７６ｂ（例えば、引き締め音声閾値セット）は、下位音声閾値Ａ９７８ａと上位音声閾値Ａ９６８ａを含み得る。
【０１１４】
[00123]  第１の平均レートがレート制約内であるのとき（例えば、第１の平均レートが第１の公差を加えた目標レート以下であるとき）、第２の音声閾値セット９７６ｂは利用され得る。第１の音声閾値セット９７６ａは、有声および無声フレームの数を増やし得る。言い換えれば、第２の音声閾値セット９７６ｂに含まれる音声閾値９７８ｂおよび９６８ｂは、より少ない一般的なフレームが結果として生じるように、第１の音声閾値セット９７６ａに含まれる音声閾値９７８ａおよび９６８ａに調整され得る。音声閾値を調整することが直接閾値調整の一例であり得ることに留意すべきである。例えば、第１の平均レートに基づいて音声閾値セットの調整が、閾値セットの直接調整の一例であり得る。
【０１１５】
[00124]  閾値セット９７６ａ−ｂは、有声フレーム、無声フレーム、あるいは一般的なフレームとしてフレームを分類するために利用され得る。図９に示すように、第２の音声閾値セット９７６ｂは、第１の音声閾値セット９７６ａによって提供される無声フレーム範囲Ａ９７０ａおよび有声フレーム範囲Ａ９７４ａより大きい無声フレーム範囲Ｂ９７０ｂおよび有声フレーム範囲９７４ｂを提供する。さらに、第２の音声閾値セット９７６ｂは、第１の音声閾値セット９７６ａによって提供される一般フレーム範囲Ａ９７２ａより大きい一般フレーム範囲Ｂ９７２ｂを提供する。従って、第２の音声閾値セット９７６ｂと比較すると、フレームが第１の音声閾値セット９７６ａに基づいて有声フレームあるいは無声フレームとして、より分類されやすくなる。
【０１１６】
[00125]  例えば、より多くの有声フレームおよび無声フレームは、平均符号化レートを減少させ得る、有声フレームのためのより多くのＱＰＰＰフレーム（例えば、２．８ｋｂｐｓ）と、無声フレーム（例えば、２．８ｋｂｐｓ）のためのＮＥＬＰフレームとをもたらし得る。あるいは、より一般的なフレームは、平均符号化レートを上げ得る、より多くの変換ＡＣＥＬＰフレームをもたらし得る（例えば、８．０ｋｂｐｓ）。
【０１１７】
[00126]  図１０は、符号化レートコントローラ１０４２の一構成を示すブロック図である。図１０と関連付けて説明された符号化レートコントローラ１０４２は、図３と関連付けて説明された符号化レートコントローラ３４２の一例であり得る。符号化レートコントローラ１０４２は、平均レート決定モジュール１０４４と、フレームパターン決定モジュール１０８２と、閾値決定モジュール１０４６と、および／または、符号化レート決定モジュール１０９０とを含み得る。符号化レートコントローラ１０４２の構成要素の１つまたは複数は、ハードウェア（例えば、回路）、ソフトウェア、または両方の組合せで実施され得る。
【０１１８】
[00127]  符号化レートコントローラ１０４２は、目標レート１０８０と、メトリック１０５２と、符号化情報１０５８とに基づいて平均符号化レートを制御し得る。符号化レートコントローラ１０４２は、平均符号化レートを目標レート１０８０に合致するよう試みることによって、平均符号化レートを制御し得る。目標レート１０８０は、別のデバイス（例えば、基地局）から受け取られ得るか、あるいは既定であり得る。
【０１１９】
[00128]  符号化レートコントローラ１０４２は、音声信号のフレームを符号化するためのエンコーダを選択するために符号化レートインディケータ１０６６を提供し得る。符号化レートインディケータ１０６６は、特定のエンコーダ、レート、および／または、フレームタイプを指定する。１つまたは複数のエンコーダは、符号化情報１０５８を符号化レートコントローラ１０４２に提供し得る。例えば、符号化情報１０５８は、振幅誤差メトリック（例えば、ａｍｐｅｒｒｏｒ）と、低域ゲイン変化メトリック（例えば、ΔＬｇａｉｎＥ）とを含み得る。あるいは、符号化レートコントローラ１０４２は、符号化情報１０５８に基づいて振幅誤差メトリックと低域ゲイン変化メトリックとを決定し得る。いくつかの構成において、符号化情報１０５８は、フレーム符号化レートを含み得る。さらに、または、あるいは、符号化レートコントローラ１０４２は、符号化レートインディケータ１０６６に示されるようなフレーム符号化レートを取得し得る。
【０１２０】
[00129]  平均レート決定モジュール１０４４は、第１の平均レート（例えば、長期平均レート、あるいはＲLT）を決定し得る。また、平均レート決定モジュール１０４４は、短期平均レート（例えば、ＲlastNframes）を決定し得る。これは、図３、および／または、式（１）と関連付けて上記で説明されるように達成され得る。例えば、平均レート決定モジュール１０４４は、各フレームに対して利用されるフレーム符号化レートに基づいて短期平均レート、および／または、長期平均レートを決定し得る。符号化レートコントローラ１０４２は、平均符号化レートを制御するために短期平均レート、および／または、長期平均レートを利用し得る。
【０１２１】
[00130]  閾値決定モジュール１０４６は、１つまたは複数の閾値を決定し得る。例えば、閾値決定モジュール１０４６は、第１の閾値決定モジュール１０８４と、フレーム調整閾値決定モジュール１０８６と、および／または、音声閾値決定モジュール１０８８とを含み得る。
【０１２２】
[00131]  第１の閾値決定モジュール１０８４は、第１の平均レートに基づいて第１の閾値（例えば、ＴＨCN）を決定し得る。これは、上記で説明されるように達成され得る。例えば、第１の平均レート（例えば、ＲLT）が目標レート１０８０（例えば、Ｒtarget）より大きく、第１の閾値が第１の閾値最大より小さい場合、次いで、閾値決定モジュール１０４６は、第１の閾値を第１の閾値サイズ因子だけ増加させ得る。しかしながら、第１の平均レート（例えば、ＲLT）が目標レート１０８０以下の場合、次いで、閾値決定モジュール１０４６は、第１の閾値を第２の閾値サイズ因子だけ減少させ得る。第１の閾値は、符号化レート決定モジュール１０９０に提供され得る。
【０１２３】
[00132]  フレーム調整閾値決定モジュール１０８６は、第１の閾値とメトリック１０５２とに基づいてフレーム調整閾値セットを決定し得る。これは、上記で説明されるように達成され得る。例えば、第１の閾値はＳＮＲ閾値であり得、メトリック１０５２はＳＮＲであり得る。ＳＮＲが第１の閾値より大きい場合、フレーム調整決定モジュール１０８６は、第１のフレーム調整閾値セットを選択し得る。ＳＮＲが第１の閾値より大きくない場合、フレーム調整決定モジュール１０８６は第２のフレーム調整閾値セットを選択し得る。これは、フレーム調整閾値セットが第１の閾値に基づいて決定されるので、フレーム調整閾値セットを間接的に調整する一例である。フレーム調整閾値セットは、符号化レート決定モジュール１０９０に提供され得る。
【０１２４】
[00133]  フレームパターン決定モジュール１０８２は、フレームパターンを決定し得る。Ｔｈｅは上記で説明されるように達成され得る。例えば、第１の平均レートが目標レート１０８０より大きい場合、第１の閾値が第１の閾値最大以上の場合、フレームパターンモードがレート増加フレームパターンを示す場合、および、第２の平均レート（例えば、短期平均レート、あるいはＲlastNframes）が目標レート１０８０より大きい場合、次いで、フレームパターン決定モジュール１０８２は、レート減少フレームパターンを示すためのフレームパターンモードを設定し得る。フレームパターンモードは、符号化レート決定モジュール１０９０に提供され得る。
【０１２５】
[00134]  フレーム調整閾値決定モジュール１０８６は、第１の平均レートに基づいてフレーム調整閾値セットを調整し得る。これは、上記で説明されるように達成され得る。例えば、第１の平均レートが目標レート１０８０より大きい場合、第１の閾値が第１の閾値最大以上の場合、フレームパターンモードがレート減少フレームパターンを示し、第２の平均レートが目標レート１０８０より大きい場合、次いで、フレーム調整閾値決定モジュール１０８６は、第１のフレーム調整セット閾値セットを示すためのフレーム調整モードを設定し得る。フレーム調整モードは、符号化レート決定モジュール１０９０に提供され得る。フレーム調整閾値がいくつかの構成において直接制御されないかもしれないことに留意すべきである。例えば、フレーム調整閾値は第１の閾値に依存し得る。
【０１２６】
[00135]  音声閾値決定モジュール１０８８は、第１の平均レートに基づいて音声閾値セットを調整し得る。これは、上記で説明されるように達成され得る。例えば、第１の平均レートが目標レート１０８０より大きい場合、第１の閾値が第１の閾値最大以上の場合、フレームパターンモードがレート減少フレームパターンを示し、第２の平均レートが目標レート１０８０より大きい場合、および、第１の平均レートが第１の公差を加えた目標レート１０８０より大きい場合、次いで、音声閾値決定モジュール１０８８は、第１の音声閾値セットを示すための音声閾値モードを設定し得る。音声閾値モードは、符号化レート決定モジュール１０９０に提供され得る。
【０１２７】
[00136]  符号化レート決定モジュール１０９０は、メトリック１０５２と、第１の閾値と、フレームパターンモードと、フレーム調整モードと、音声閾値モードと、および／または、符号化情報１０５８とに基づいて符号化レートインディケータ１０６６を決定し得る。いくつかの構成において、符号化レート決定モジュール１０９０は、最初にフレームをクリーンあるいはノイジーとして分類し、次いで、有声あるいは無声として分類し得る。次いで、符号化レート決定モジュール１０９０は、フレームパターンを課す、あるいは実施し得る。最終的に、符号化レート決定モジュール１０９０は、フレームを「増加」するか否かを決定し得る。しかしながら、後の状態における決定が早期決定に変わる、いくつかの例があり得る。符号化レートインディケータ１０６６は、上記で説明されるように、フレームを符号化するためのエンコーダを選択するために利用され得る。
【０１２８】
[00137]  図１１は、平均符号化レートを制御するための方法１１００の、別のより詳細な構成を示すフローチャートである。特に、図１１は、図４、図６、図７、および図８の１つまたは複数と関連付けて上記で説明された方法４００、６００、７００、８００の１つまたは複数の、より詳細な例を示す。表（２）は、図１１で使用される用語および符号の概要を提供する。
【表２】
0006526096.tif 000006
【０１２９】
[00138]  電子デバイス３４０は、１１０２コーディングを始め得る。例えば、電子デバイス３４０は、上記で説明されるように、音声信号を取得して、その音声信号を符号化し始め得る。
【０１３０】
[00139]  電子デバイス３４０は、ＱＱＦｍｏｄｅ＝１と、ＴＨCN＝ＴＨCNmaxと、ＲｅｌａｘＢＭＰｍｏｄｅ＝１と、ＲｅｌａｘＶｍｏｄｅ＝０とを設定し得る１１０４。これは、上記で説明されるようにデフォルトパラメータを設定する一例である。
【０１３１】
[00140]  電子デバイス３４０は、Ｎフレームブロックに達したか否かを決定し得る１１０６。これは、上記で説明されるように達成され得る。Ｎフレームブロックに達していない場合、電子デバイス３４０は、次フレームを処理し得る１１０８。これは、上記で説明されるように達成され得る。
【０１３２】
[00141]  Ｎフレームブロックに達した場合、電子デバイス３４０は、ＲLTおよび  ＲlastNframesを決定し得る１１１０。ＲLTおよびＲlastNframesは、上記で説明されるようにを決定され得る１１１０。
【０１３３】
[00142]  電子デバイス３４０は、ＲLT＞Ｒtargetかどうかを決定し得る１１１２。ＲLT＞Ｒtargetの場合、電子デバイス３４０は、ＴＨCN≧ＴＨCNmaxであるかどうかを決定し得る１１１４。ＴＨCN＞ＴＨCNmaxの場合、電子デバイス３４０はＴＨCN＝ＴＨCN＋Δth1を設定し得る１１２４。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１３４】
[00143]  ＴＨCN≧ＴＨCNmaxの場合、電子デバイス３４０は、ＱＱＦｍｏｄｅ＝＝０であるか否か、およびＲlastNframes＞Ｒtargetであるか否かを決定し得る１１１６。ＱＱＦｍｏｄｅ＝＝０およびＲlastNframes＞Ｒtargetの場合、次いで、電子デバイス３４０は、ＱＱＦｍｏｄｅ＝１を設定し得る１１２６。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１３５】
[00144]  ＱＱＦｍｏｄｅ＝＝１あるいはＲlastNframes≦Ｒtargetの場合、次いで、電子デバイス３４０は、ＱＱＦｍｏｄｅ＝＝１であるか否か、およびＲlastNframes＞Ｒtargetであるか否かを決定し得る１１１８。ＱＱＦｍｏｄｅ＝＝０あるいはＲlastNflames≦Ｒtargetである場合、次いで、電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。ＱＱＦｍｏｄｅ＝＝１およびＲlastNframes＞Ｒtargetである場合、次いで、電子デバイス３４０は、ＲｅｌａｘＢＭＰｍｏｄｅ＝１を設定し得る１１２０。
【０１３６】
[00145]  電子デバイス３４０は、ＲLT＞Ｒtarget＋Δtol1かどうかを決定し得る１１２２。ＲLT＞Ｒtarget＋Δtol1の場合、電子デバイス３４０は、ＲｅｌａｘＶｍｏｄｅ＝１を設定し得る１１２８。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。ＲLT≦Ｒtarget＋Δtol1の場合、電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１３７】
[00146]  ＲLT≦Ｒtargetの場合、電子デバイス３４０は、ＲｅｌａｘＶｍｏｄｅ＝０を設定し得る１１３０。電子デバイス３４０は、ＲｅｌａｘＢＭＰｍｏｄｅ＝１であるか否かを決定し得る１１３２。ＲｅｌａｘＢＭＰｍｏｄｅ＝１の場合、電子デバイス３４０は、ＲｅｌａｘＢＭＰｍｏｄｅ＝０を設定し得る１１４２。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１３８】
[00147]  電子デバイス３４０は、ＲｅｌａｘＢＭＰｍｏｄｅ＝＝０の場合、ＱＱＦｍｏｄｅ＝＝１であるか否かを決定し得る１１３４。ＱＱＦｍｏｄｅ＝＝１の場合、電子デバイス３４０は、ＱＱＦｍｏｄｅ＝０を設定し得る１１４４。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１３９】
[00148]  ＱＱＦｍｏｄｅ＝＝０の場合、電子デバイス３４０は、ＴＨCN≧ＴＨCNminかどうかを決定し得る１１３６。ＴＨCN≧ＴＨCNminの場合、電子デバイス３４０はＴＨCN＝ＴＨCN−Δth2かどうかを設定し得る１１４６。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１４０】
[00149]  ＴＨCN＜ＴＨCNminの場合、電子デバイス３４０は、ＲLT＜Ｒtarget−Δtol2かどうかを決定し得る１１３８。ＲLT≧Ｒtarget＋Δtol1の場合、電子デバイス３４０は次フレームを処理する１１０８ために戻り得る。
【０１４１】
[00150]  ＲLT＜Ｒtarget−Δtol2の場合、電子デバイス３４０は、平均符号化レートを上げるために１つまたは複数の低レートフレームを１つまたは複数の高レートフレームに移行させ得る１１４０。いくつかの構成において、これはＥＶＲＣ−Ｂレート制御アルゴリズムに基づき得る。電子デバイス３４０は、次フレームを処理する１１０８ために戻り得る。
【０１４２】
[00151]  図１２は、平均符号化レートを制御するためのシステムおよび方法が実施され得るワイヤレス通信デバイス１２４０の一構成を示すブロック図である。図１２に例示するワイヤレス通信デバイス１２４０は、本明細書で説明された電子デバイスのうちの少なくとも１つの例であり得る。ワイヤレス通信デバイス１２４０は、アプリケーションプロセッサ１２１１を含み得る。一般に、アプリケーションプロセッサ１２１１は、ワイヤレス通信デバイス１２４０で機能を行うために命令を処理する（例えば、プログラムを走らせる）。アプリケーションプロセッサ１２１１は、オーディオコーダ／デコーダ（コーデック）１２０９と結合され得る。
【０１４３】
[00152]  オーディオコーデック１２０９は、オーディオ信号をコーディング、および／または、復号するために使用され得る。オーディオコーデック１２０９は、少なくとも１個のスピーカ１２０１、イヤピース１２０３、出力ジャック１２０５、および／または少なくとも１個のマイクロフォン１２０７に結合され得る。スピーカ１２０１は、電気信号または電子信号を音響信号に変換する、１つまたは複数の電気音響トランスデューサを含み得る。例えば、スピーカ１２０１は、音楽を再生するか、あるいはスピーカフォンの会話を出力したりなどするために使用され得る。イヤピース１２０３は、音響信号（例えば、音声信号）をユーザに出力するために使用できる別のスピーカあるいは電気音響トランスデューサであり得る。例えば、イヤピース１２０３は、ユーザのみが音響信号を確実に聴取し得るように使用され得る。出力ジャック１２０５は、他のデバイスを、ヘッドホンなどのオーディオを出力するためのワイヤレス通信デバイス１２４０と結合するために使用され得る。一般に、スピーカ１２０１と、イヤピース１２０３と、および／または、出力ジャック１２０５は、オーディオコーデック１２０９からオーディオ信号を出力するために使用され得る。少なくとも１つのマイクロフォン１２０７は、音響信号（ユーザの音声など）を、オーディオコーデック１２０９に提供される電気または電子信号に変換する音響電気トランスデューサであり得る。
【０１４４】
[00153]  オーディオコーデック１２０９（例えば、デコーダ）は、符号化レートコントローラ１２４２を含み得る。符号化レートコントローラ１２４２は、上記で説明された符号化レートコントローラ３４２および１０４２の１つまたは複数の例であり得る。いくつかの構成において、オーディオコーデック１２０９は、複数のエンコーダ（例えば、エンコーダ３５６ａ−ｎ）を含み得る。
【０１４５】
[00154]  また、アプリケーションプロセッサ１２１１は、電力管理回路１２２１と結合され得る。電力管理回路１２２１の一例は、ワイヤレス通信デバイス１２４０の消費電力を管理するために使用され得る電力管理集積回路（ＰＭＩＣ：power management integrated circuit）である。電力管理回路１２２１は、バッテリ１２２３と結合され得る。一般に、バッテリ１２２３は、ワイヤレス通信デバイス１２４０に電力を供給し得る。例えば、バッテリ１２２３および／または電力管理回路１２２１は、ワイヤレス通信デバイス１２４０内に含まれる要素のうちの少なくとも１つに結合され得る。
【０１４６】
[00155]  アプリケーションプロセッサ１２１１は、入力を受信するための少なくとも１つの入力デバイス１２２５に結合され得る。入力デバイス１２２５の例としては、赤外線センサ、画像センサ、加速度計、タッチセンサ、キーパッドなどがある。入力デバイス１２２５は、ワイヤレス通信デバイス１２４０とのユーザ対話を可能にし得る。アプリケーションプロセッサ１２１１はまた、１つまたは複数の出力デバイス１２２７に結合され得る。出力デバイス１２２７の例には、プリンタ、プロジェクタ、スクリーン、触覚デバイスなどがある。出力デバイス１２２７は、ワイヤレス通信デバイス１２４０がユーザによって経験され得る出力を作ることを可能にし得る。
【０１４７】
[00156]  アプリケーションプロセッサ１２１１は、アプリケーションメモリ１２２９と結合され得る。アプリケーションメモリ１２２９は、電子情報を記憶することが可能な任意の電子デバイスであり得る。アプリケーションメモリ１２２９の例としては、二重データレート同期式ダイナミックランダムアクセスメモリ（ＤＤＲＡＭ：double data rate synchronous dynamic random access memory）と、同期式ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ：synchronous dynamic random access memory）と、フラッシュメモリなどがある。アプリケーションメモリ１２２９は、アプリケーションプロセッサ１２１１のための記憶装置を提供し得る。例えば、アプリケーションメモリ１２２９は、アプリケーションプロセッサ１２１１上で走らさせるプログラムの機能のためのデータおよび／または命令を記憶し得る。
【０１４８】
[00157]  アプリケーションプロセッサ１２１１は、同様にディスプレイ１２３３と結合され得るディスプレイコントローラ１２３１と結合され得る。ディスプレイコントローラ１２３１は、ディスプレイ１２３３上に画像を生成するために使用されるハードウェアブロックであり得る。例えば、ディスプレイコントローラ１２３１は、アプリケーションプロセッサ１２１１からの命令および／またはデータを、ディスプレイ１２３３上に提示され得る画像に変換し得る。ディスプレイ１２３３の例には、液晶ディスプレイ（ＬＣＤ）パネル、発光ダイオード（ＬＥＤ）パネル、ブラウン管（ＣＲＴ）ディスプレイ、プラズマディスプレイなどがある。
【０１４９】
[00158]  アプリケーションプロセッサ１２１１は、ベースバンドプロセッサ１２１３と結合され得る。一般に、ベースバンドプロセッサ１２１３は通信信号を処理する。例えば、ベースバンドプロセッサ１２１３は、受信信号を復調および／または復号し得る。さらに、または、あるいは、ベースバンドプロセッサ１２１３は、送信に備えて信号を符号化し、および／または、変調し得る。
【０１５０】
[00159]  ベースバンドプロセッサ１２１３は、ベースバンドメモリ１２３５と結合され得る。ベースバンドメモリ１２３５は、ＳＤＲＡＭと、ＤＤＲＡＭと、フラッシュメモリなどの電子情報を記憶できる何らかの電子デバイスであり得る。ベースバンドプロセッサ１２１３は、ベースバンドメモリ１２３５からの情報（例えば、命令、および／または、データ）を読み取り、および／または、ベースバンドメモリ１２３５に情報を書き込み得る。さらに、または、あるいは、ベースバンドプロセッサ１２１３は、通信動作を行うために、ベースバンドメモリ１２３５に記憶された命令および／またはデータを使用し得る。
【０１５１】
[00160]  ベースバンドプロセッサ１２１３は、無線周波数（ＲＦ：radio frequency）送受信機１２１５と結合され得る。ＲＦ送受信機１２１５は、電力増幅器１２１７と１つまたは複数のアンテナ１２１９と結合され得る。ＲＦ送受信機１２１５は、無線周波数信号を送信および／または受信し得る。例えば、ＲＦ送受信機１２１５は、電力増幅器１２１７と少なくとも１つのアンテナ１２１９とを使用してＲＦ信号を送信できる。また、ＲＦ送受信機１２１５は、１つまたは複数のアンテナ１２１９を使用してＲＦ信号を受け取り得る。
【０１５２】
[00161]  図１３は、電子デバイス１３４０で利用され得る様々な構成要素を示す。図示された構成要素は、同一の物理構造内あるいは別々のハウジングまたは構造に位置され得る。図１３と関連付けて説明された電子デバイス１３４０は、本明細書に記載された電子デバイスの１つまたは複数に従って実施され得る。電子デバイス１３４０は、プロセッサ１３４３を含む。プロセッサ１３４３は、汎用シングルあるいは多重チップマイクロプロセッサ（例えば、ＡＲＭ）と、専用マイクロプロセッサ（例えば、デジタルシグナルプロセッサ（ＤＳＰ：digital signal processor））と、マイクロコントローラと、プログラマブルゲートアレイなどであり得る。プロセッサ１３４３は、中央処理装置（ＣＰＵ：central processing unit）と呼ばれ得る。単一の処理装置１３４３が代替構造において図１３の電子デバイス１３４０に示されているが、プロセッサ（例えば、ＡＲＭやＤＳＰ）の組合せが使用可能である。
【０１５３】
[00162]  また、電子デバイス１３４０は、プロセッサ１３４３と電子通信するメモリ１３３７を含む。すなわち、プロセッサ１３４３は、メモリ１３３７からの情報を読み取り、および／または、メモリ１３３７に情報を書き込むことができる。メモリ１３３７は、電子情報を記憶できる何らかの電子構成要素であり得る。メモリ１３３７は、ランダムアクセスメモリ（ＲＡＭ：random access memory）と、読み取り専用メモリ（ＲＯＭ：read-only memory）と、磁気ディスク記憶媒体と、光記憶媒体と、ＲＡＭのフラッシュメモリデバイスと、プロセッサと含まれるオンボードメモリと、プログラマブル読み取り専用メモリ（ＰＲＯＭ：programmable read-only memory）と、消去可能プログラマブル読み取り専用記憶装置（ＥＰＲＯＭ：erasable programmable read-only memory）と、電気的に消去可能なＰＲＯＭ（ＥＥＰＲＯＭ（登録商標）：electrically erasable PROM）、レジスタなどであり、また、それらの組合せを含み得る。
【０１５４】
[00163]  データ１３４１ａと命令１３３９ａは、メモリ１３３７に記憶され得る。命令１３３９ａは、１つまたは複数のプログラムと、ルーチンと、サブルーチンと、機能と、プロシージャなどを含み得る。命令１３３９ａは、単一のコンピュータ読み込み可能なステートメントあるいは多くのコンピュータ読み込み可能なステートメントを含み得る。命令１３３９ａは、上記で説明された方法と、機能と、プロシージャの１つまたは複数を実施するためのプロセッサ１３４３によって実行可能であり得る。命令１３３９ａを実行することは、メモリ１３３７に記憶されるデータ１３４１ａの使用を伴い得る。図１３は、（命令１３３９ａとデータ１３４１ａから起こり得る）プロセッサ１３４３にロードされるいくつかの命令１３３９ｂとデータ１３４１ｂを示す。
【０１５５】
[00164]  また、電子デバイス１３４０は、他の電子デバイスと通信するための１つまたは複数の通信インターフェース１３４７を含み得る。通信インターフェース１３４７は、ワイヤードな通信技術か、ワイヤレスの通信技術か、あるいは両方に基づき得る。異なるタイプの通信インターフェース１３４７の例としては、シリアルポートと、パラレルポートと、ユニバーサルシリアルバス（ＵＳＢ：Universal Serial Bus）と、イーサネット（登録商標）アダプタと、ＩＥＥＥ１３９４バスインターフェースと、小型コンピュータシステムインターフェース（ＳＣＳＩ：small computer system interface）バスインターフェースと、赤外線（ＩＲ：infrared）通信ポートと、Ｂｌｕｅｔｏｏｔｈワイヤレス通信アダプタなどがある。
【０１５６】
[00165]  また、電子デバイス１３４０は、１つまたは複数の入力デバイス１３４９と、１つまたは複数の出力デバイス１３５３とを含み得る。異なる種類の入力デバイス１３４９の例としては、キーボードと、マウスと、マイクロフォンと、遠隔制御デバイスと、ボタンと、ジョイスティックと、トラックボールと、タッチパッドと、ライトペンなどがある。例えば、電子デバイス１３４０は、音響信号を取り込むための１つまたは複数のマイクロフォン１３５１を含み得る。一構成において、マイクロフォン１３５１は、音響信号（例えば、声や音声）を電気あるいは電子信号に変換するトランスデューサであり得る。異なる種類の出力デバイス１３５３の例としては、スピーカと、プリンタなどがある。例えば、電子デバイス１３４０は、１つまたは複数のスピーカ１３５５を含み得る。一構成において、スピーカ１３５５は、電気あるいは電子信号を音響信号に変換するトランスデューサであり得る。電子デバイス１３４０内に典型的に含まれ得る１つの特定のタイプの出力デバイスは、ディスプレイデバイス１３５７である。本明細書で開示された構成と共に使用されるディスプレイデバイス１３５７は、ブラウン管（ＣＲＴ：cathode ray tube）と、液晶ディスプレイ（ＬＣＤ：liquid crystal display）と、発光ダイオード（ＬＥＤ：liquid crystal display）と、ガスプラズマと、電界発光などの何らかの適当な画像投影技術も利用し得る。また、ディスプレイコントローラ１３５９は、メモリ１３３７に記憶されたデータを、ディスプレイデバイス１３５７に示されたテキスト、図形、および／または、動画像に（適宜）変換するために提供され得る。
【０１５７】
[00166]  電子デバイス１３４０の様々な構成要素は、電力バスと、制御信号バスと、ステータス信号バスと、データバスなどを含み得る１つまたは複数のバスによって一緒に結合され得る。簡略化のため、様々なバスがバスシステム１３４５として図１３に示される。図１３が電子デバイス１３４０の唯一可能な構成を示すことに留意すべきである。他の様々なアーキテクチャと構成要素が利用され得る。
【０１５８】
[00167]  上記の説明では、参照番号が様々な用語と関連付けて時々使用された。用語が参照番号と関連付けて使用される場合、これは図の１つまたは複数で示される詳細な要素を参照することを意味し得る。用語が参照番号なしで使用される場合、これは一般に、何らかの特定の図への制限なしで用語を参照することを意味し得る。
【０１５９】
[00168]  「決定すること」という用語は、多種多様のアクションを含み、それゆえ、「決定すること」は、算出することと、演算することと、処理することと、引き出すことと、調査することと、探索すること（例えば、テーブル、データベースあるいは別のデータ構造を調べること）と、確かめることなどを含み得る。また、「決定すること」は、受け取ること（例えば、情報を受け取る）と、アクセスすること（例えば、メモリ内のデータにアクセスすること）などを含み得る。また、「決定すること」は、解決することと、選択すること、選ぶことと、確立することなどを含み得る。
【０１６０】
[00169]  「基づく」という語句は、別の方法で明白に指定されないなら、「〜のみに基づく」という意味にはならない。言い換えれば、「基づく」という語句は、「〜のみに基づく」と「少なくとも〜に基づく」の両方を説明する。
【０１６１】
[00170]  本明細書で説明された構成のうちのいずれか１つに関して説明された特徴、機能、プロシージャ、構成要素、要素、構造などのうちの１つまたは複数は、互換性がある、本明細書で説明された他の構成のうちのいずれかに関して説明された機能、プロシージャ、構成要素、要素、構造などのうちの１つまたは複数と組み合わせられ得ることに留意すべきである。言い換えれば、本明細書で説明された機能と、プロシージャと、構成要素と、要素などの何らかの互換性のある組合せが、本明細書で開示されたシステムおよび方法に従って実施され得る。
【０１６２】
[00171]  本明細書で説明された機能は、１つまたは複数の命令として、プロセッサ可読あるいはコンピュータ可読媒体で記憶され得る。「コンピュータ可読媒体」という用語は、コンピュータあるいはプロセッサによってアクセスできる何らかの利用可能な媒体を指す。例として、限定はされないが、そのような媒体は、ＲＡＭと、ＲＯＭと、ＥＥＰＲＯＭと、フラッシュメモリと、ＣＤ−ＲＯＭあるいは他の光ディスク記憶装置と、磁気ディスク記憶装置あるいは他の磁気記憶デバイスと、あるいは、所望のプログラムコードを命令あるいはデータ構造の形式で記憶するために使用され得る、およびコンピュータによってアクセスされ得る何らかの他の媒体とを備え得る。本明細書で使用されるように、ディスク（disk）とディスク（disc）は、コンパクトディスク（ＣＤ：compact disc）と、レーザーディスク（登録商標）と、光ディスクと、デジタルバーサタイルディスク（ＤＶＤ：digital versatile disc）と、フロッピー（登録商標）ディスクと、ブルーレイ（登録商標）ディスクとを含み、ディスク（disc）はレーザでデータを光学的に再生させるが、ディスク（disk）は通常データを磁気的に再生させる。コンピュータ可読媒体は有形および非一時的であり得ることに留意すべきである。「コンピュータプログラム製品」という用語は、コンピューティングデバイスあるいはプロセッサによって実行され得るか、処理され得るか、あるいは計算され得るコードまたは命令（例えば、「プログラム」）と組み合わされたコンピューティングデバイスあるいはプロセッサを指す。本明細書で使用される「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指すことがある。
【０１６３】
[00172]  ソフトウェアまたは命令はまた、伝送媒体を介して送信され得る。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ：digital subscriber line）、あるいは、赤外線や、無線や、マイクロウェーブなどのワイヤレス技術を使用してソフトウェアがウェブサイト、サーバ、あるいは他の遠隔資源から送信される場合、次いで、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、あるいは、赤外線や、無線や、マイクロウェーブなどのワイヤレス技術は、送信媒体の定義に含まれる。
【０１６４】
[00173]  本明細書で開示された方法は、説明された方法を達成するための１つまたは複数のステップあるいはアクションを備える。方法ステップおよび／またはアクションは、特許請求の範囲から逸脱することなく、お互いに交換され得る。言い換えれば、ステップあるいはアクションの特定の順番が、説明されている方法の適切な動作のために必要とされない場合、特定のステップおよび／またはアクションの順番および／または使用は、請求項の範囲から逸脱することなく変更し得る。
【０１６５】
[00174]  特許請求の範囲が上記に示した正確な構成と構成要素に制限されないことは理解されるべきである。特許請求の範囲から逸脱することなく、本明細書で説明されたシステム、方法、および装置の配置構成、動作および詳細において、様々な修正、変更および変形が行われ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
電子デバイスによって平均符号化レートを制御するための方法であって、
音声信号を取得することと、
第１の平均レートを決定することと、
前記第１の平均レートに基づいて第１の閾値を決定することと、
前記第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって、前記平均符号化レートを制御することと、
符号化音声信号を送ることと、を備える方法。
［Ｃ２］
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、Ｃ２に記載の方法。
［Ｃ４］
前記第１の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、Ｃ１に記載の方法。
［Ｃ５］
前記他の少なくとも１つの閾値は閾値セットである、Ｃ１に記載の方法。
［Ｃ６］
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、Ｃ１に記載の方法。
［Ｃ７］
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、を備える、Ｃ６に記載の方法。
［Ｃ８］
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、Ｃ７に記載の方法。
［Ｃ９］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて前記第１の閾値を調整することをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、Ｃ１０に記載の方法。
［Ｃ１２］
平均符号化レートを制御するための電子デバイスであって、
第１の平均レートを決定する平均レート決定回路と、
前記第１の平均レートに基づいて第１の閾値を決定する閾値決定回路と、
前記平均レート決定回路と前記閾値決定回路を備える符号化レートコントローラ回路と、ここにおいて、前記符号化レートコントローラは、前記第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって前記平均符号化レートを制御する、を備える、電子デバイス。
［Ｃ１３］
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、Ｃ１２に記載の電子デバイス。
［Ｃ１４］
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、Ｃ１３に記載の電子デバイス。
［Ｃ１５］
前記第１の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、Ｃ１２に記載の電子デバイス。
［Ｃ１６］
前記他の少なくとも１つの閾値は閾値セットである、Ｃ１２に記載の電子デバイス。
［Ｃ１７］
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、Ｃ１２に記載の電子デバイス。
［Ｃ１８］
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、を備える、Ｃ１７に記載の電子デバイス。
［Ｃ１９］
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、Ｃ１８に記載の電子デバイス。
［Ｃ２０］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて前記第１の閾値を調整することをさらに備える、Ｃ１２に記載の電子デバイス。
［Ｃ２１］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、Ｃ１２に記載の電子デバイス。
［Ｃ２２］
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、Ｃ２１に記載の電子デバイス。
［Ｃ２３］
平均符号化レートを制御するためのコンピュータプログラム製品であって、命令を有する非一時的有形コンピュータ可読媒体を備え、前記命令は、
電子デバイスに、音声信号を取得させるためのコードと、
前記電子デバイスに第１の平均レートを決定させるためのコードと、
前記電子デバイスに前記第１の平均レートに基づいて第１の閾値を決定させるためのコードと、
前記電子デバイスに、前記第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって前記平均符号化レートを制御させるためのコードと、
前記電子デバイスに符号化音声信号を送らせるためのコードと、を備える、コンピュータプログラム製品。
［Ｃ２４］
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２５］
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、Ｃ２４に記載のコンピュータプログラム製品。
［Ｃ２６］
前記第１の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２７］
前記他の少なくとも１つの閾値は閾値セットである、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２８］
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２９］
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、を備える、Ｃ２８に記載のコンピュータプログラム製品。
［Ｃ３０］
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、Ｃ２９に記載のコンピュータプログラム製品。
［Ｃ３１］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて前記第１の閾値を調整することをさらに備える、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ３２］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ３３］
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、Ｃ３２に記載のコンピュータプログラム製品。
［Ｃ３４］
平均符号化レートを制御するための装置であって、
音声信号を取得するための手段と、
第１の平均レートを決定するための手段と、
前記第１の平均レートに基づいて第１の閾値を決定するための手段と、
前記第１の閾値に基づいて他の少なくとも１つの閾値を決定することによって前記平均符号化レートを制御するための手段と、
符号化音声信号を送るための手段と、を備える、装置。
［Ｃ３５］
前記平均符号化レートを制御することは、フレームパターンを決定することをさらに備える、Ｃ３４に記載の装置。
［Ｃ３６］
第１のフレームパターンは、低レートフレーム間で最小数の高レートフレームを必要とし、第２のフレームパターンは、高レートフレーム間で最大数の低レートフレームを容認するのみである、Ｃ３５に記載の装置。
［Ｃ３７］
前記第１の閾値は、フレームをクリーンフレームあるいはノイジーフレームとして分類する、Ｃ３４に記載の装置。
［Ｃ３８］
前記他の少なくとも１つの閾値は閾値セットである、Ｃ３４に記載の装置。
［Ｃ３９］
前記他の少なくとも１つの閾値を決定することは、メトリックにさらに基づく、Ｃ３４に記載の装置。
［Ｃ４０］
前記他の少なくとも１つの閾値を決定することは、
前記メトリックが前記第１の閾値より大きくない場合、第１の閾値セットを選択することと、
前記メトリックが前記第１の閾値より大きい場合、第２の閾値セットを選択することと、を備える、Ｃ３９に記載の装置。
［Ｃ４１］
前記第１の閾値セットは第１のフレーム調整閾値セットであり、前記第２の閾値セットは第２のフレーム調整閾値セットである、Ｃ４０に記載の装置。
［Ｃ４２］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて前記第１の閾値を調整することをさらに備える、Ｃ３４に記載の装置。
［Ｃ４３］
前記平均符号化レートを制御することは、前記第１の平均レートに基づいて少なくとも１つの音声閾値を調整することをさらに備える、Ｃ３４に記載の装置。
［Ｃ４４］
前記少なくとも１つの音声閾値を調整することは、音声閾値セットを選択することを備える、Ｃ４３に記載の装置。
【図１】
0006526096.tif 000007
【図２】
0006526096.tif 000008
【図３】
0006526096.tif 000009
【図４】
0006526096.tif 000010
【図５】
0006526096.tif 000011
【図６】
0006526096.tif 000012
【図７】
0006526096.tif 000013
【図８】
0006526096.tif 000014
【図９】
0006526096.tif 000015
【図１０】
0006526096.tif 000016
【図１１】
0006526096.tif 000017
【図１２】
0006526096.tif 000018
【図１３】
0006526096.tif 000019