IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヴォイスエイジ・コーポレーションの特許一覧

特表2024-529556音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス
<>
  • 特表-音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス 図1
  • 特表-音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス 図2
  • 特表-音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス 図3
  • 特表-音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス 図4
  • 特表-音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-06
(54)【発明の名称】音コーデックにおける出力合成歪みの制限を行うための方法およびデバイス
(51)【国際特許分類】
   G10L 21/034 20130101AFI20240730BHJP
   G10L 19/008 20130101ALN20240730BHJP
【FI】
G10L21/034
G10L19/008
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024508526
(86)(22)【出願日】2022-08-05
(85)【翻訳文提出日】2024-03-13
(86)【国際出願番号】 CA2022051199
(87)【国際公開番号】W WO2023015375
(87)【国際公開日】2023-02-16
(31)【優先権主張番号】63/231,539
(32)【優先日】2021-08-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】504226412
【氏名又は名称】ヴォイスエイジ・コーポレーション
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴァーツラフ・エクスラー
(57)【要約】
音信号、たとえば音信号デコーダからの出力音信号合成における歪みを制限するための2段階歪みリミッタおよび方法が提供される。第1の段階において、レベル検出器が音信号の振幅値を検出し、検出済み振幅値を使用して制御利得を計算し、減衰器が、制御利得を使用して音信号のレベルを下げる。第2の段階において、飽和検出器が、音信号の飽和を検出し、飽和の検出に応答して制御利得を更新する。
【特許請求の範囲】
【請求項1】
音信号デコーダからの出力音信号合成における歪みを制限するための2段階歪みリミッタであって、
- 第1の段階であって、
前記出力音信号合成の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算するためのレベル検出器と、
前記制御利得を使用する前記出力音信号合成のレベルの減衰器とを含む第1の段階と、
- 第2の段階であって、
前記出力音信号合成の飽和を検出し、飽和の検出に応答して前記制御利得を更新するための飽和検出器を含む第2の段階と
を備える2段階歪みリミッタ。
【請求項2】
前記出力音信号合成の前記検出済み振幅値は、前記出力音信号合成のピーク値である請求項1に記載の2段階歪みリミッタ。
【請求項3】
前記出力音信号合成は、複数のチャネルを含み、前記2段階歪みリミッタは、前記第1および第2の段階が前記出力音信号合成のすべてのチャネルに適用される2段階マルチチャネル歪みリミッタである請求項1または2に記載の2段階歪みリミッタ。
【請求項4】
前記レベル検出器は、前記検出済み振幅値を音信号合成リミッタ閾値と比較して前記制御利得を計算する請求項1から3のいずれか一項に記載の2段階歪みリミッタ。
【請求項5】
前記検出済み振幅値が前記リミッタ閾値に等しいか、または前記リミッタ閾値より低い場合に、前記レベル検出器は、前記制御利得を1に設定する請求項4に記載の2段階歪みリミッタ。
【請求項6】
前記検出済み振幅値が前記リミッタ閾値より大きい場合に、前記レベル検出器は、前記制御利得を、(a)前記検出済み振幅値と前記リミッタ閾値との間の比、および(b)最低の利得限界、のうちの大きい方として選択する請求項4または5に記載の2段階歪みリミッタ。
【請求項7】
前記第1の段階は、前記出力音信号合成の過渡特性対非過渡特性の対比結果に応じてより短いまたはより長いアタック/リリースタイムを定義するアタック/リリースタイムパラメータの計算器を含む請求項1から6のいずれか一項に記載の2段階歪みリミッタ。
【請求項8】
前記出力音信号合成は、音信号合成サンプルから形成され、前記減衰器は、
前記アタック/リリースタイムパラメータおよび前記制御利得を使用して前記出力音信号合成のサンプル毎の利得を取得する利得フィルタと、
前記サンプル毎の利得を前記出力音信号合成の前記それぞれのサンプルに適用し、歪み制限出力音信号合成を取得するための増幅器とを備える請求項7に記載の2段階歪みリミッタ。
【請求項9】
前記利得フィルタは、1次無限インパルス応答(IIR)ローパスフィルタである請求項8に記載の2段階歪みリミッタ。
【請求項10】
前記飽和検出器は、前記出力音信号合成の飽和の検出を示す飽和検出フラグの第1の計算器を含む請求項1から9のいずれか一項に記載の2段階歪みリミッタ。
【請求項11】
前記第1の計算器は、出力音信号合成処理フレームの先頭で前記飽和検出フラグを初期化する請求項10に記載の2段階歪みリミッタ。
【請求項12】
前記第1の計算器は、現在の出力音信号合成処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新する請求項10または11に記載の2段階歪みリミッタ。
【請求項13】
前記音信号デコーダは、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、前記第1の計算器は、前記生成されたパラメータが前記ビットストリーム中のビット誤りを示すときに前記飽和検出カウンタをその最大値に更新し、前記飽和検出フラグを飽和指示値に設定する請求項12に記載の2段階歪みリミッタ。
【請求項14】
前記第1の計算器は、(a)前記音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、および(b)前記検出済み振幅値が所与の閾値より大きく、前記飽和検出カウンタが0より大きいときに前記飽和検出フラグを飽和指示値に設定する請求項12に記載の2段階歪みリミッタ。
【請求項15】
(a)前記音信号デコーダによって生成されるパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値よりも大きくなく、および/または前記飽和検出カウンタが0よりも大きくない、および(c)前記検出済み振幅値が第2の所与の閾値より大きい場合、前記第1の計算器は、前記飽和検出フラグを飽和指示値に設定し、前記飽和検出カウンタを、前記飽和検出カウンタの最大値と前記飽和検出カウンタと定数との和との間の最小値に更新する請求項12に記載の2段階歪みリミッタ。
【請求項16】
前記第1の計算器は、(a)前記音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)前記検出済み振幅値が第1の所与の閾値より大きく、前記飽和検出カウンタが0より大きい、または(c)前記検出済み振幅値が第2の所与の閾値より大きい場合に、前記飽和検出フラグを飽和指示値に設定する請求項12に記載の2段階歪みリミッタ。
【請求項17】
前記第1および第2の閾値は、音信号合成リミッタ閾値に関係する請求項16に記載の2段階歪みリミッタ。
【請求項18】
前記第1の計算器は、(a)前記音信号デコーダによって生成されたパラメータが前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値に等しいか、もしくは第1の所与の閾値よりも低く、および/または前記飽和検出カウンタが0に等しい、および(c)前記検出済み振幅値が第2の所与の閾値に等しいか、または第2の所与の閾値よりも低い場合に、前記飽和検出カウンタを、0と前記飽和検出カウンタと定数との間の差との間の最大値に更新する請求項12に記載の2段階歪みリミッタ。
【請求項19】
前記飽和検出器は、前記制御利得を更新するための前記飽和検出フラグに応答する第2の計算器を含む請求項10から18のいずれか一項に記載の2段階歪みリミッタ。
【請求項20】
前記第2の計算器は、前記飽和検出フラグが飽和指示値に等しいことに応答して前記制御利得を更新する請求項19に記載の2段階歪みリミッタ。
【請求項21】
前記第2の計算器は、利得補正係数を前記検出済み振幅値および音信号合成リミッタ閾値の関数として計算し、前記利得補正係数を使用して前記制御利得を更新する請求項20に記載の2段階歪みリミッタ。
【請求項22】
前記第2の計算器は、前記利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して前記制御利得を更新する請求項21に記載の2段階歪みリミッタ。
【請求項23】
前記第2の計算器は、前記利得補正係数が前記特定の閾値と等しいか、または前記特定の閾値より大きい場合に前記制御利得の更新をいっさい実行しない請求項22に記載の2段階歪みリミッタ。
【請求項24】
音信号デコーダからの出力音信号合成における歪みを制限するための2段階歪みリミッタであって、
少なくとも1つのプロセッサと、
前記プロセッサに結合され、非一時的命令であって、実行されたときに前記プロセッサに
- 第1の段階であって、
前記出力音信号合成の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算するためのレベル検出器と、
前記制御利得を使用する前記出力音信号合成のレベルの減衰器とを含む第1の段階と、
- 第2の段階であって、
前記出力音信号合成の飽和を検出し、飽和の検出に応答して前記制御利得を更新するための飽和検出器を含む第2の段階と、
を実装させる非一時的命令を記憶するメモリと
を備える2段階歪みリミッタ。
【請求項25】
音信号デコーダからの出力音信号合成における歪みを制限するための2段階歪みリミッタであって、
少なくとも1つのプロセッサと、
前記プロセッサに結合され、非一時的命令であって、実行されたときに前記プロセッサに
- 第1の段階で、
前記出力音信号合成の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算し、
前記制御利得を使用して前記出力音信号合成のレベルを減衰させ、
- 第2の段階で、
前記出力音信号合成の飽和を検出し、飽和の検出に応答して前記制御利得を更新することを行わせる非一時的命令を記憶するメモリと
を備える2段階歪みリミッタ。
【請求項26】
音信号デコーダからの出力音信号合成における歪みを制限するための2段階方法であって、
- 第1の段階で、
前記出力音信号合成の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算し、
前記制御利得を使用して前記出力音信号合成のレベルを減衰させることと、
- 第2の段階で、
前記出力音信号合成の飽和を検出し、飽和の検出に応答して前記制御利得を更新することとを含む2段階方法。
【請求項27】
前記出力音信号合成の前記検出済み振幅値は、前記出力音信号合成のピーク値である請求項26に記載の2段階歪み制限方法。
【請求項28】
前記出力音信号合成は、複数のチャネルを含み、前記2段階歪み制限方法は、前記第1および第2の段階が前記出力音信号合成のすべてのチャネルに適用される2段階マルチチャネル歪み制限方法である請求項26または27に記載の2段階歪み制限方法。
【請求項29】
前記出力音信号合成振幅値を検出し、前記制御利得を計算するステップは、前記検出済み振幅値を音信号合成リミッタ閾値と比較して前記制御利得を計算するステップを含む請求項26から28のいずれか一項に記載の2段階歪み制限方法。
【請求項30】
前記検出済み振幅値が前記リミッタ閾値と等しいか、または前記リミッタ閾値より低い場合に、前記出力音信号合成振幅値を検出し、前記制御利得を計算するステップは、前記制御利得を1に設定するステップを含む請求項29に記載の2段階歪み制限方法。
【請求項31】
前記検出済み振幅値が前記リミッタ閾値より大きい場合に、前記出力音信号合成振幅値を検出し、前記制御利得を計算するステップは、前記制御利得を、(a)前記検出済み振幅値と前記リミッタ閾値との間の比、および(b)最低の利得限界のうちの大きい方として選択するステップを含む請求項29または30に記載の2段階歪み制限方法。
【請求項32】
前記第1の段階において、前記出力音信号合成の過渡特性対非過渡特性の対比結果に応じてより短いまたはより長いアタック/リリースタイムを定義するアタック/リリースタイムパラメータを計算するステップを含む請求項26から31のいずれか一項に記載の2段階歪み制限方法。
【請求項33】
前記出力音信号合成は、音信号合成サンプルから形成され、前記出力音信号合成の前記レベルを減衰させるステップは、
前記アタック/リリースタイムパラメータおよび前記制御利得を使用して利得フィルタリングを行い前記出力音信号合成のサンプル毎の利得を取得するステップと、
前記サンプル毎の利得を前記出力音信号合成の前記それぞれのサンプルに適用し、歪み制限出力音信号合成を取得するステップとを含む請求項32に記載の2段階歪み制限方法。
【請求項34】
利得フィルタリングするステップは、1次無限インパルス応答(IIR)ローパスフィルタを使用するステップを含む請求項33に記載の2段階歪み制限方法。
【請求項35】
前記出力音信号合成中の飽和を検出し、前記制御利得を更新するステップは、前記出力音信号合成の飽和の検出を示す飽和検出フラグを計算するステップを含む請求項26から34のいずれか一項に記載の2段階歪み制限方法。
【請求項36】
前記飽和検出フラグを計算するステップは、出力音信号合成処理フレームの先頭で前記飽和検出フラグを初期化するステップを含む請求項35に記載の2段階歪み制限方法。
【請求項37】
前記飽和検出フラグを計算するステップは、現在の出力音信号合成処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新するステップを含む請求項35または36に記載の2段階歪み制限方法。
【請求項38】
前記音信号デコーダは、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、前記飽和検出フラグを計算するステップは、前記生成されたパラメータが前記ビットストリーム中のビット誤りを示すときに前記飽和検出カウンタをその最大値に更新し、前記飽和検出フラグを飽和指示値に設定するステップを含む請求項37に記載の2段階歪み制限方法。
【請求項39】
前記飽和検出フラグを計算するステップは、(a)前記音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、および(b)前記検出済み振幅値が所与の閾値より大きく、前記飽和検出カウンタが0より大きいときに前記飽和検出フラグを飽和指示値に設定するステップを含む請求項37に記載の2段階歪み制限方法。
【請求項40】
(a)前記音信号デコーダによって生成されるパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値よりも大きくなく、および/または前記飽和検出カウンタが0よりも大きくない、および(c)前記検出済み振幅値が第2の所与の閾値より大きい場合、前記飽和検出フラグを計算するステップは、前記飽和検出フラグを飽和指示値に設定するステップと、前記飽和検出カウンタを、前記飽和検出カウンタの最大値と前記飽和検出カウンタと定数との和との間の最小値に更新するステップとを含む請求項37に記載の2段階歪み制限方法。
【請求項41】
前記飽和検出フラグを計算するステップは、(a)前記音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)前記検出済み振幅値が第1の所与の閾値より大きく、前記飽和検出カウンタが0より大きい、または(c)前記検出済み振幅値が第2の所与の閾値より大きい場合に、前記飽和検出フラグを飽和指示値に設定するステップを含む請求項37に記載の2段階歪み制限方法。
【請求項42】
前記第1および第2の閾値は、音信号合成リミッタ閾値に関係する請求項41に記載の2段階歪み制限方法。
【請求項43】
前記飽和検出フラグを計算するステップは、(a)前記音信号デコーダによって生成されたパラメータが前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値に等しいか、もしくは第1の所与の閾値よりも低く、および/または前記飽和検出カウンタが0に等しい、および(c)前記検出済み振幅値が第2の所与の閾値に等しいか、または第2の所与の閾値よりも低い場合に、前記飽和検出カウンタを、0と前記飽和検出カウンタと定数との間の差との間の最大値に更新するステップを含む請求項37に記載の2段階歪み制限方法。
【請求項44】
前記出力音信号合成中の飽和を検出し、前記制御利得を更新するステップは、前記飽和検出フラグに応答して前記制御利得を更新するステップを含む請求項35から43のいずれか一項に記載の2段階歪み制限方法。
【請求項45】
前記制御利得を更新するステップは、前記飽和検出フラグが飽和指示値に等しいことに応答して実行される請求項44に記載の2段階歪み制限方法。
【請求項46】
前記制御利得を更新するステップは、利得補正係数を、前記検出済み振幅値および音信号合成リミッタ閾値の関数として計算するステップと、前記利得補正係数を使用して前記制御利得を更新するステップとを含む請求項45に記載の2段階歪み制限方法。
【請求項47】
前記制御利得を更新するステップは、前記利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して前記制御利得を更新するステップを含む請求項46に記載の2段階歪み制限方法。
【請求項48】
前記利得補正係数が前記特定の閾値と等しいか、または前記特定の閾値より大きい場合に前記制御利得の更新がいっさい実行されない請求項47に記載の2段階歪み制限方法。
【請求項49】
音信号中の歪みを制限するための2段階歪みリミッタであって、
- 第1の段階であって、
前記音信号の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算するためのレベル検出器と、
前記制御利得を使用する前記音信号のレベルの減衰器とを含む第1の段階と、
- 第2の段階であって、
前記音信号の飽和を検出し、飽和の検出に応答して前記制御利得を更新するための飽和検出器を含む第2の段階と
を備える2段階歪みリミッタ。
【請求項50】
前記音信号の前記検出済み振幅値は、前記音信号のピーク値である請求項49に記載の2段階歪みリミッタ。
【請求項51】
前記音信号は、複数のチャネルを含み、前記2段階歪みリミッタは、前記第1および第2の段階が前記音信号のすべてのチャネルに適用される2段階マルチチャネル歪みリミッタである請求項49または50に記載の2段階歪みリミッタ。
【請求項52】
前記レベル検出器は、前記検出済み振幅値を音信号リミッタ閾値と比較して前記制御利得を計算する請求項49から51のいずれか一項に記載の2段階歪みリミッタ。
【請求項53】
前記検出済み振幅値が前記リミッタ閾値に等しいか、または前記リミッタ閾値より低い場合に、前記レベル検出器は、前記制御利得を1に設定する請求項52に記載の2段階歪みリミッタ。
【請求項54】
前記検出済み振幅値が前記リミッタ閾値より大きい場合に、前記レベル検出器は、前記制御利得を、(a)前記検出済み振幅値と前記リミッタ閾値との間の比、および(b)最低の利得限界のうちの大きい方として選択する請求項52または53に記載の2段階歪みリミッタ。
【請求項55】
前記第1の段階は、前記音信号の過渡特性対非過渡特性の対比結果に応じてより短いまたはより長いアタック/リリースタイムを定義するアタック/リリースタイムパラメータの計算器を含む請求項49から54のいずれか一項に記載の2段階歪みリミッタ。
【請求項56】
前記音信号は、音信号サンプルから形成され、前記減衰器は、
前記アタック/リリースタイムパラメータおよび前記制御利得を使用して前記音信号のサンプル毎の利得を取得する利得フィルタと、
前記サンプル毎の利得を前記音信号の前記それぞれのサンプルに適用し、歪み制限音信号を取得するための増幅器とを備える請求項55に記載の2段階歪みリミッタ。
【請求項57】
前記利得フィルタは、1次無限インパルス応答(IIR)ローパスフィルタである請求項56に記載の2段階歪みリミッタ。
【請求項58】
前記飽和検出器は、前記音信号の飽和の検出を示す飽和検出フラグの第1の計算器を含む請求項49から57のいずれか一項に記載の2段階歪みリミッタ。
【請求項59】
前記第1の計算器は、音信号処理フレームの先頭で前記飽和検出フラグを初期化する請求項58に記載の2段階歪みリミッタ。
【請求項60】
前記第1の計算器は、現在の音信号処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新する請求項58または59に記載の2段階歪みリミッタ。
【請求項61】
音信号デコーダは、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、前記第1の計算器は、前記生成されたパラメータが前記ビットストリーム中のビット誤りを示すときに前記飽和検出カウンタをその最大値に更新し、前記飽和検出フラグを飽和指示値に設定する請求項60に記載の2段階歪みリミッタ。
【請求項62】
前記第1の計算器は、(a)音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、および(b)前記検出済み振幅値が所与の閾値より大きく、前記飽和検出カウンタが0より大きいときに前記飽和検出フラグを飽和指示値に設定する請求項60に記載の2段階歪みリミッタ。
【請求項63】
(a)音信号デコーダによって生成されるパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値よりも大きくなく、および/または前記飽和検出カウンタが0よりも大きくない、および(c)前記検出済み振幅値が第2の所与の閾値より大きい場合、前記第1の計算器は、前記飽和検出フラグを飽和指示値に設定し、前記飽和検出カウンタを、前記飽和検出カウンタの最大値と前記飽和検出カウンタと定数との和との間の最小値に更新する請求項60に記載の2段階歪みリミッタ。
【請求項64】
前記第1の計算器は、(a)音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)前記検出済み振幅値が第1の所与の閾値より大きく、前記飽和検出カウンタが0より大きい、または(c)前記検出済み振幅値が第2の所与の閾値より大きい場合に、前記飽和検出フラグを飽和指示値に設定する請求項60に記載の2段階歪みリミッタ。
【請求項65】
前記第1および第2の閾値は、音信号リミッタ閾値に関係する請求項64に記載の2段階歪みリミッタ。
【請求項66】
前記第1の計算器は、(a)音信号デコーダによって生成されたパラメータが前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値に等しいか、もしくは第1の所与の閾値よりも低く、および/または前記飽和検出カウンタが0に等しい、および(c)前記検出済み振幅値が第2の所与の閾値に等しいか、または第2の所与の閾値よりも低い場合に、前記飽和検出カウンタを、0と前記飽和検出カウンタと定数との間の差との間の最大値に更新する請求項60に記載の2段階歪みリミッタ。
【請求項67】
前記飽和検出器は、前記制御利得を更新するための前記飽和検出フラグに応答する第2の計算器を含む請求項58から66のいずれか一項に記載の2段階歪みリミッタ。
【請求項68】
前記第2の計算器は、前記飽和検出フラグが飽和指示値に等しいことに応答して前記制御利得を更新する請求項67に記載の2段階歪みリミッタ。
【請求項69】
前記第2の計算器は、利得補正係数を前記検出済み振幅値および音信号リミッタ閾値の関数として計算し、前記利得補正係数を使用して前記制御利得を更新する請求項68に記載の2段階歪みリミッタ。
【請求項70】
前記第2の計算器は、前記利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して前記制御利得を更新する請求項69に記載の2段階歪みリミッタ。
【請求項71】
前記第2の計算器は、前記利得補正係数が前記特定の閾値と等しいか、または前記特定の閾値より大きい場合に前記制御利得の更新をいっさい実行しない請求項70に記載の2段階歪みリミッタ。
【請求項72】
音信号中の歪みを制限するための2段階歪みリミッタであって、
少なくとも1つのプロセッサと、
前記プロセッサに結合され、非一時的命令であって、実行されたときに前記プロセッサに
- 第1の段階であって、
前記音信号の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算するためのレベル検出器と、
前記制御利得を使用する前記音信号のレベルの減衰器とを含む第1の段階と、
- 第2の段階であって、
前記音信号の飽和を検出し、飽和の検出に応答して前記制御利得を更新するための飽和検出器を含む第2の段階とを実装させる非一時的命令を記憶するメモリと
を備える2段階歪みリミッタ。
【請求項73】
音信号中の歪みを制限するための2段階歪みリミッタであって、
少なくとも1つのプロセッサと、
前記プロセッサに結合され、非一時的命令であって、実行されたときに前記プロセッサに
- 第1の段階で、
前記音信号の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算し、
前記制御利得を使用して前記音信号のレベルを減衰させ、
- 第2の段階で、
前記音信号の飽和を検出し、飽和の検出に応答して前記制御利得を更新することを行わせる非一時的命令を記憶するメモリと
を備える2段階歪みリミッタ。
【請求項74】
音信号中の歪みを制限するための2段階方法であって、
- 第1の段階で、
前記音信号の振幅値を検出し、前記検出済み振幅値を使用して制御利得を計算し、
前記制御利得を使用して前記音信号のレベルを減衰させるステップと、
- 第2の段階で、
前記音信号の飽和を検出し、飽和の検出に応答して前記制御利得を更新するステップと
を含む2段階方法。
【請求項75】
前記音信号の前記検出済み振幅値は、前記音信号のピーク値である請求項74に記載の2段階歪み制限方法。
【請求項76】
前記音信号は、複数のチャネルを含み、前記2段階歪み制限方法は、前記第1および第2の段階が前記音信号のすべてのチャネルに適用される2段階マルチチャネル歪み制限方法である請求項74または75に記載の2段階歪み制限方法。
【請求項77】
前記音信号振幅値を検出し、前記制御利得を計算するステップは、前記検出済み振幅値を音信号リミッタ閾値と比較して前記制御利得を計算するステップを含む請求項74から76のいずれか一項に記載の2段階歪み制限方法。
【請求項78】
前記検出済み振幅値が前記リミッタ閾値と等しいか、または前記リミッタ閾値より低い場合に、前記音信号振幅値を検出し、前記制御利得を計算するステップは、前記制御利得を1に設定するステップを含む請求項77に記載の2段階歪み制限方法。
【請求項79】
前記検出済み振幅値が前記リミッタ閾値より大きい場合に、前記音信号振幅値を検出し、前記制御利得を計算するステップは、前記制御利得を、(a)前記検出済み振幅値と前記リミッタ閾値との間の比、および(b)最低の利得限界のうちの大きい方として選択するステップを含む請求項77または78に記載の2段階歪み制限方法。
【請求項80】
前記第1の段階において、前記音信号の過渡特性対非過渡特性の対比結果に応じてより短いまたはより長いアタック/リリースタイムを定義するアタック/リリースタイムパラメータを計算するステップを含む請求項74から79のいずれか一項に記載の2段階歪み制限方法。
【請求項81】
前記音信号は、音信号サンプルから形成され、前記音信号の前記レベルを減衰させるステップは、
前記アタック/リリースタイムパラメータおよび前記制御利得を使用して利得フィルタリングを行い前記音信号のサンプル毎の利得を取得するステップと、
前記サンプル毎の利得を前記音信号の前記それぞれのサンプルに適用し、歪み制限音信号を取得するステップとを含む請求項80に記載の2段階歪み制限方法。
【請求項82】
利得フィルタリングするステップは、1次無限インパルス応答(IIR)ローパスフィルタを使用するステップを含む請求項81に記載の2段階歪み制限方法。
【請求項83】
前記音信号中の飽和を検出し、前記制御利得を更新するステップは、前記音信号の飽和の検出を示す飽和検出フラグを計算するステップを含む請求項74から82のいずれか一項に記載の2段階歪み制限方法。
【請求項84】
前記飽和検出フラグを計算するステップは、音信号処理フレームの先頭で前記飽和検出フラグを初期化するステップを含む請求項83に記載の2段階歪み制限方法。
【請求項85】
前記飽和検出フラグを計算するステップは、現在の音信号処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新するステップを含む請求項83または84に記載の2段階歪み制限方法。
【請求項86】
音信号デコーダは、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、前記飽和検出フラグを計算するステップは、前記生成されたパラメータが前記ビットストリーム中のビット誤りを示すときに前記飽和検出カウンタをその最大値に更新し、前記飽和検出フラグを飽和指示値に設定するステップを含む請求項85に記載の2段階歪み制限方法。
【請求項87】
前記飽和検出フラグを計算するステップは、(a)音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、および(b)前記検出済み振幅値が所与の閾値より大きく、前記飽和検出カウンタが0より大きいときに前記飽和検出フラグを飽和指示値に設定するステップを含む請求項85に記載の2段階歪み制限方法。
【請求項88】
(a)音信号デコーダによって生成されるパラメータが、前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値よりも大きくなく、および/または前記飽和検出カウンタが0よりも大きくない、および(c)前記検出済み振幅値が第2の所与の閾値より大きい場合、前記飽和検出フラグを計算するステップは、前記飽和検出フラグを飽和指示値に設定するステップと、前記飽和検出カウンタを、前記飽和検出カウンタの最大値と前記飽和検出カウンタと定数との和との間の最小値に更新するステップとを含む請求項85に記載の2段階歪み制限方法。
【請求項89】
前記飽和検出フラグを計算するステップは、(a)音信号デコーダによって生成されたパラメータが、前記音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)前記検出済み振幅値が第1の所与の閾値より大きく、前記飽和検出カウンタが0より大きい、または(c)前記検出済み振幅値が第2の所与の閾値より大きい場合に、前記飽和検出フラグを飽和指示値に設定するステップを含む請求項85に記載の2段階歪み制限方法。
【請求項90】
前記第1および第2の閾値は、音信号リミッタ閾値に関係する請求項89に記載の2段階歪み制限方法。
【請求項91】
前記飽和検出フラグを計算するステップは、(a)音信号デコーダによって生成されたパラメータが前記音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)前記検出済み振幅値が第1の所与の閾値に等しいか、もしくは第1の所与の閾値よりも低く、および/または前記飽和検出カウンタが0に等しい、および(c)前記検出済み振幅値が第2の所与の閾値に等しいか、または第2の所与の閾値よりも低い場合に、前記飽和検出カウンタを、0と前記飽和検出カウンタと定数との間の差との間の最大値に更新するステップを含む請求項85に記載の2段階歪み制限方法。
【請求項92】
前記音信号中の飽和を検出し、前記制御利得を更新するステップは、前記飽和検出フラグに応答して前記制御利得を更新するステップを含む請求項83から91のいずれか一項に記載の2段階歪み制限方法。
【請求項93】
前記制御利得を更新するステップは、前記飽和検出フラグが飽和指示値に等しいことに応答して実行される請求項92に記載の2段階歪み制限方法。
【請求項94】
前記制御利得を更新するステップは、利得補正係数を、前記検出済み振幅値および音信号リミッタ閾値の関数として計算するステップと、前記利得補正係数を使用して前記制御利得を更新するステップとを含む請求項93に記載の2段階歪み制限方法。
【請求項95】
前記制御利得を更新するステップは、前記利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して前記制御利得を更新するステップを含む請求項94に記載の2段階歪み制限方法。
【請求項96】
前記利得補正係数が前記特定の閾値と等しいか、または前記特定の閾値より大きい場合に前記制御利得の更新がいっさい実行されない請求項95に記載の2段階歪み制限方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音符号化(sound coding)に関するものであり、特に、それに限ることなく、音信号(sound signal)、たとえば音信号デコーダ(sound signal decoder)からの出力音信号合成(output sound signal synthesis)の歪みを制限するための方法およびデバイス(リミッタ)に関するものである。音レンダラーが使用される場合、歪み制限方法およびデバイス(リミッタ)は、レンダラーの後にまたは一部として実装され得る。
【0002】
本開示および付属の請求項において、
「音」という用語は、音声、オーディオ、および任意の他の音に関係し得る。
「ステレオ」という用語は、「ステレオフォニック」の略語である。
「モノ」という用語は、「モノフォニック」の略語である。
「マルチチャネル」という用語は、2つ以上の音信号または音コーデック(sound codecs)に関係し得る。
【背景技術】
【0003】
歴史的に、対話型テレフォニー(conversational telephony)は、ユーザの一方の耳にのみ音を出力するために1つのトランスデューサのみを有するハンドセットを用いて実装されている。この10年間に、ユーザは携帯型ハンドセットをヘッドホンと併用し始め、主に音楽を聴くために両耳で音を受けるようになったが、時には音声を聴くこともある。それでも、携帯型ハンドセットが、会話音声を伝送し受信するために使用されるときに、ヘッドホンが使用されるときにコンテンツはモノのままであるが、ユーザの両耳に届く。
【0004】
内容全体が参照により本明細書に組み込まれている、参考文献[1]に記載されているような、拡張音声サービス(EVS)という、最新の3GPP(登録商標) (第3世代パートナーシッププロジェクト)音声符号化規格では、符号化された音、たとえば携帯型ハンドセットを通して伝送され受信される音声および/またはオーディオの品質が著しく改善されている。次の自然なステップは、受信機が通信リンクの他端でキャプチャされる現実のオーディオシーンにできる限り近づくようにステレオ情報を伝送することである。
【0005】
効率的なステレオ符号化技術が開発され、低ビットレートで使用されてきた。非限定的な例として、いわゆるパラメトリックステレオ符号化は、低ビットレートステレオ符号化のための1つの効率的な技術を構成する。パラメトリックステレオは、普通のモノコーデックおよびそれに加えてステレオ画像を表す一定量のステレオサイド情報(ステレオパラメータに対応する)を使用して2つの、左および右の、チャネルをモノ信号としてエンコードする。2つの入力、左および右のチャネルは、たとえば左および右チャネルを加算し、その加算結果を2で除算することによってモノ信号にダウンミックスされる。ステレオパラメータは、通常、変換領域、たとえば離散フーリエ変換(DFT)領域で計算され、いわゆるバイノーラルキューまたはチャネル間キューに関係する。バイノーラルキューは、両耳間レベル差(ILD)、両耳間時間差(ITD)、および両耳間相関(IC)を含み得る。信号特性、ステレオシーン構成などに応じて、一部またはすべてのバイノーラルキューが符号化され、デコーダに伝送される。
【0006】
さらに近年、オーディオの生成、録音、表現、符号化、伝送、および再現は、リスナーにとって強化された、インタラクティブで没入感のある体験に近づいている。没入体験は、たとえば、あらゆる方向から音が聞こえてくる中で音シーンに深く携わっている、または関与している状態として説明され得る。没入型オーディオ(3D(3次元)オーディオとも呼ばれる)では、音色、指向性、残響、透明度、(音の)拡がり感の正確さのような広範な音特性を考慮しつつ、リスナーの周囲のすべての3次元内で音像が再現される。没入型オーディオは、ラウドスピーカーベースのシステム、一体型再現システム(サウンドバー)、またはヘッドホンなど、特定の音再生または再現システム向けに作り出される。次いで、音再現システムのインタラクティブ性は、たとえば、音レベルを調整し、音の位置を変更し、または再現のための異なる言語を選択する能力を含み得る。
【0007】
近年、3GPP(第3世代パートナーシッププロジェクト)は、EVSコーデックに基づきIVAS(没入型音声およびオーディオサービス)と呼ばれる没入型サービス用の3D(3次元)音コーデックの開発に取り組み始めた(内容全体が参照により本明細書に組み込まれている文献[2]を参照)。
【0008】
音コーデックでは、出力音信号は、いくつかのタイプの歪みによって損なわれ得る。
【0009】
歪みは、音信号のサンプルがある閾値より高いまたは低い値を有するクリッピングによって引き起こされ得る。この状況は、典型的には、音信号のサンプルが、a)浮動小数点表現から固定小数点表現に変換されたとき、b)ある固定小数点表現から、ビット長の短い別の固定小数点表現(たとえば、長整数から短整数に(たとえば、内容全体が参照により本明細書に組み込まれている参考文献[3]において符号付き長整数型は、[-2,147,483,647, +2,147,483,647]の32ビット範囲を含むことができるが、符号付き短整数型は、[-32,767, +32,767]の16ビット範囲を含むことができると記述されているようなC99プログラミング言語規格において))に変換されたとき、c)音コーデックのデコードアルゴリズムに不安定性を生じた結果、d)音(音声および/またはオーディオ)信号が操作される、ダウンミックスされる、などのときのレンダリング時に生じ得る。これらの状況の1つが発生したときに、音信号サンプルの振幅が飽和することがあり、それにより、音信号はクリップされるか、または制限され、その結果、知覚的に煩わしい音を生じる。
【0010】
そのようなクリッピングを低減するために、モノEVSコーデック(参考文献[1])のACELPコアに実装されているような自動利得制御(AGC)が使用され得る。AGCは、音信号サンプルの変化する振幅を、これらの音信号サンプルの処理に適した限度内で歪みなく調節し維持する閉ループフィードバックアルゴリズムである。AGCは、付加的な遅延を伴わずに時間領域内で音信号サンプルを調節するように設計されている。
【0011】
飽和の問題は、マルチチャネルコーデックではなおいっそう困難であり、典型的には、デコード済みチャネルの数が出力チャネルの数よりも多いとき、またはデコード済みチャネルが相関しているときである。一例は、デコード済みマルチチャネルオーディオのバイノーラル出力へのレンダリングである。
【0012】
飽和は、多くの場合に、たとえば、CELPベースの音コーデックで使用される長期合成フィルタが不安定であるとき、または受信ビットストリームがフレーム消去もしくはビット誤りによって破損しているときに、デコードアルゴリズムに不安定性が生じた結果としても発生する。
【発明の概要】
【課題を解決するための手段】
【0013】
本開示は、音信号の歪みを制限するための方法およびデバイス(リミッタ)に関する。音レンダラーが音信号デコーダに続いて実装されるときに、音信号の歪みを制限するための方法およびデバイス(リミッタ)は、レンダリングされた音信号に対して実行され得る。
【0014】
第1の態様によれば、本開示は、音信号における歪みを制限するための2段階方法に関するものであり、これは第1の段階において、音信号の振幅値を検出して、検出済み振幅値を使用して制御利得を計算し、制御利得を使用して音信号のレベルを減衰させることと、第2の段階において、音信号における飽和を検出し、飽和の検出に応答して制御利得を更新することとを含む。
【0015】
第2の態様によれば、本開示は、音信号デコーダからの出力音信号合成における歪みを制限するための2段階方法に関するものである。第1の段階では、出力音信号合成の振幅値が検出され、検出済み振幅値を使用して制御利得が計算され、制御利得を使用して出力音信号合成のレベルが減衰される。第2段階では、出力音信号合成の飽和が検出され、飽和の検出に応答して制御利得が更新される。
【0016】
別の態様によれば、音信号の歪みを制限するための2段階歪みリミッタが提供され、これは(a)音信号の振幅値を検出し、検出済み振幅値を使用して制御利得を計算するためのレベル検出器と、制御利得を使用する音信号のレベルの減衰器とを備える第1の段階と、(b)音信号の飽和を検出し、飽和の検出に応答して制御利得を更新するための飽和検出器を備える第2の段階とを備える。
【0017】
さらなる態様によれば、音信号デコーダからの出力音信号合成における歪みを制限するための2段階歪みリミッタが提供され、これは(a)出力音信号合成の振幅値を検出し、検出済み振幅値を使用して制御利得を計算するためのレベル検出器と、制御利得を使用する出力音信号合成のレベルの減衰器とを備える第1の段階と、(b)出力音信号合成の飽和を検出し、飽和の検出に応答して制御利得を更新するための飽和検出器を備える第2の段階とを備える。
【0018】
前述のおよび他の特徴は、添付図面を参照しつつ例のみを用いて与えられている、2段階歪みリミッタおよび歪み制限方法の例示的な一実施形態の次の非限定的な説明を読んだ後にはより明らかになるであろう。
【0019】
添付図面の説明を以下に示す。
【図面の簡単な説明】
【0020】
図1】1段階マルチチャネル歪みリミッタの例示的な実装形態と、対応する歪み制限方法とを同時に例示する概略ブロック図である。
図2】2段階マルチチャネル歪みリミッタおよび対応する歪み制限方法の概略ブロック図である。
図3図2のデバイスの一部を形成する飽和検出器、および対応する飽和検出方法を同時に例示する概略ブロック図である。
図4】出力音信号合成に対する2段階歪みリミッタおよび歪み制限方法の影響を示す説明図である。
図5】歪みリミッタおよび歪み制限方法を実装するハードウェアコンポーネントの例示的な構成を示す簡略化されたブロック図である。
【発明を実施するための形態】
【0021】
本開示は、音コーデックの音信号デコーダからの出力音信号合成における歪みの制限に関する。本開示において以前に示されているように、音信号デコーダに続いて音レンダラーが実装される場合、音信号デコーダからの出力音信号合成における歪みを制限するための方法およびデバイス(リミッタ)は、レンダリングされた音信号に対して実行され得る。歪みは、不安定なデコーディングプロセスの結果として発生し得る。特に、本開示は、たとえばa)ビット誤りまたは他のタイプの損傷したビットストリームを有するビットストリーム、およびb)一般に飽和、によって引き起こされる歪みを検出し、制限するための、歪みリミッタおよび歪み制限方法における第2段階アルゴリズムを導入する。歪みリミッタは、たとえば最終的な浮動小数点数から整数への変換の直前、または長整数から短整数への変換の直前などに、モノ、ステレオ、またはマルチチャネルの音信号デコーダで実装され得る。歪みリミッタが飽和などの歪みを検出したときに、減衰が適用され、その結果より心地よい出力音信号合成が得られる。
【0022】
飽和制御を伴う単純な歪みリミッタおよび歪み制限方法の一例は、EVSコーデックで内部サンプリングレートでデコードされた音信号に適用される、いわゆる自動利得制御(AGC)である。EVSコーデックで使用されるようなAGCは、参考文献[1]において説明されている。AGCアルゴリズムは、2つのステップからなる。まず最初に、フレーム係数β1が次の関係式(1)および(2)を使用して計算される。
【0023】
【数1】
【0024】
ここで、s(n)、n=0、...、N-1は、内部サンプリングレートにおける重視されなくなった音信号合成であり、Nは、サンプル中のフレーム長である。
【0025】
次いで、フレーム係数β1は、次の関係式(3)を使用して長期AGC係数β2を更新するために使用される。
β2(n)=0.99・β2(n-1)+0.01・β1 (3)
【0026】
最後に、出力音信号合成の各サンプルは、次の関係式(4)で表されるように閉ループフィードバックを使用して更新される。
s'(n)=(1-β2(n))・s(n)-β2(n)・s(n-1), n=0,...,N-1 (4)
【0027】
上で説明されているAGCリミッタは、EVSなどの、いくつかの最近の音声およびオーディオモノ符号化規格で採用された。ステレオおよびマルチチャネルコーデックでは、より精巧な歪みリミッタおよび歪み制限方法が実装される。本開示では、歪みリミッタおよび対応する歪み制限方法は、たとえば、3D音符号化フレームワーク、すなわちIVASフレームワークで実装される。
【0028】
1. マルチチャネルコーデックにおける歪みリミッタ
参考文献[2]において概要が説明されているIVASなどのマルチチャネルコーデックでは、飽和などの歪みが、1つ、いくつか、またはすべての出力チャネルで発生し得る。次いで、減衰は、すべての出力チャネルに、オーディオ/音声などの出力音の空間特性を保持するためにそれらのうちのいずれかが元々飽和を含んでいるかどうかに関係なく、適用され得る。
【0029】
マルチチャネルコーデックにおける歪みリミッタの例示的な実装形態は、一般的な非特異的なデジタルリミッタ、たとえば、内容全体が参照により本明細書に組み込まれる参考文献[4]に記載されているような可変パラメータを有するオーディオダイナミックレンジコントローラであり得る。任意の他の歪みリミッタも、本開示の精神および範囲から逸脱することなく使用できる。次の説明では、歪みレベル制限が使用され、これは制御利得を生成することと、アタックタイムおよびリリースタイムの処理に1次IIR(無限インパルス応答)フィルタを使用することとを含む。図1は、1段階マルチチャネル歪みリミッタの例示的な実装形態および対応する歪み制限方法などを同時に例示する概略ブロック図である。
【0030】
歪み制限方法およびデバイス(リミッタ)は、音符号化、デコードおよび/または再生システムのいくつかの部分、たとえば、符号化端のプリレンダラーにおいて、デコーダの一部として、デコーダの後で、音レンダラーの一部として、または音レンダラーの後で、システムから音信号を出力する直前に、使用することができる。説明を簡略化することを目的として、しかし本開示の範囲を制限することなく、本開示で使用される用語は、音レンダラーの後の歪み制限方法およびデバイス(リミッタ)の実装に焦点を当てる。
【0031】
図1を参照すると、1段階マルチチャネル歪み制限方法100の例示的な実施形態は、出力音信号合成レベル検出の動作101と、リミッタパラメータを設定する動作102と、図1に例示されているように、たとえば関係式(7)によって説明されているような「利得フィルタリング」サブ動作103と、たとえば関係式(8)によって説明されるような「利得適用」サブ動作104とに分割され得る減衰フィルタリングの動作105とを含む。
【0032】
sm(n)(図1の例示的な実装形態では歪み制限される音信号である)は、出力音信号合成(たとえば音声および/またはオーディオ)の第mのチャネルであり、ここで、m=0,...,M-1であり、Mは出力チャネルの数であり、n=0,...,N-1は時間サンプルインデックスであり、Nはサンプル中のフレーム長である。当業者に知られているように、出力音信号合成は、フレームと呼ばれる出力音信号合成サンプルの連続したブロック(以下、出力音信号合成処理フレーム)で処理される。
【0033】
動作101を実行するために、図1の1段階マルチチャネル歪みリミッタ150は、音信号合成の振幅値を検出するレベル検出器151を備える。例示されている非限定的な実装形態において、レベル検出器は、たとえば、関係式(5)
【0034】
【数2】
【0035】
を使用して、現在のフレームにおける出力音信号合成のすべての出力チャネルmの音信号合成サンプルの最大絶対値p(「ピーク値」とも呼ばれる)を検出するためのピークレベル検出器151である。
【0036】
次いで、ピークレベル検出器151は、検出済みピーク値pを使用して、gcと表記される制御利得(「ゲート減衰」とも呼ばれる)を計算する。ピークレベル検出器151は、まず最初に、ピーク値pをΩと表記されるリミッタ閾値(「ゲートレベル」とも呼ばれる)と比較する。p≦Ωの場合、ピークレベル検出器151は、次いで、制御利得gc=1を設定する。しかしながら、p>Ωの場合、ピークレベル検出器151は、たとえば関係式(6)
【0037】
【数3】
【0038】
を使用して制御利得を計算し、
ここで、パラメータΓ1は最低利得限界、たとえばΓ1=0.15を示す。もちろん、パラメータΓ1の他の値も実装され得る。制御利得gcをΓ1以下に制限することは、通常、安定した音信号デコーダ、典型的にはビット誤りによって損傷していないビットストリームを受信する音信号デコーダでは予想されず、一般に起こり得ない。しかしながら、利得制限が実装されていない場合、出力音信号合成のより長いセグメントの減衰が強すぎ(ゼロ近くまで)、その結果、音が聞き取れなくなるおそれがある。たとえば、非限定的な例示的な実装形態において、歪みリミッタ150が出力音信号合成を[-32,768;32,767]の範囲内の短整数値に制限することを意図されている場合に、リミッタ閾値は、Ω=32,750に設定され得る。
【0039】
動作102を実行するために、図1の1段階マルチチャネル歪みリミッタ150は、参考文献[4]によって教示されているように、所望の動的特性を生成するために計算されるリミッタパラメータの計算器152を備える。たとえば、アタック/リリースタイムパラメータγが計算され、これはより短いまたはより長いアタック/リリースタイムを定義することに関わる。アタック/リリースタイムパラメータγは、歪みリミッタがどの程度速く働くかを制御するものであり、一般に、開発中に調整またはチューニングを受け得る。詳しくは以下のとおりである。
- アタックパラメータは、出力音信号合成の検出済みピーク値がリミッタ閾値Ωを超えた後歪みリミッタが制御利得を下げるのに要する時間を制御する。
- リリースパラメータは、出力音信号合成の検出済みピーク値がリミッタ閾値Ωを下回った後制御利得が1.0の通常レベルに戻るのに要する時間を制御する。
【0040】
動作103を実行するために、図1の1段階マルチチャネル歪みリミッタ150は、アタック/リリースタイムパラメータγを使用して出力音信号合成のサンプルあたりの利得g(n)を取得するための1次IIRローパスフィルタなどの利得フィルタ153を備える出力音信号合成sm(n)のレベルの減衰器155を備える。フィルタ153は、たとえば、関係式(7)
g(n)=γ・[g(n-1)-gc]+gc (7)
で記述することができ、
ここで、γは上述のアタック/リリースタイムパラメータを表している。動作103を実行するために、図1の減衰器155は、また、たとえば関係式(8)
s'm(n)=g(n)・sm(n), n=0,...,N-1, m=0,...,M-1 (8)
を使用して、出力音信号合成sm(n)のすべてのチャネルmの第nのすべてのサンプルに利得g(n)を適用して歪み制限された出力音信号合成s'm(n)を取得するための増幅器154を備える。
【0041】
上述した1段階(第1の段階)の手順は、マルチチャネルコーデックにおける普通の状況を適切に取り扱うことができるが、出力音信号合成sm(n)が、a)ビット誤りのあるビットストリームまたは他のひどく損傷したビットストリーム、およびb)一般に強い飽和によって損傷している状況では十分な性能を発揮することができない。この欠点に対処するため、第2の段階が歪みリミッタ150および歪み制限方法100に加えられ、それにより飽和を検出し制限する。
【0042】
2. 歪みリミッタの第2の段階
図2は、2段階マルチチャネル歪みリミッタ250および対応する歪み制限方法200の概略ブロック図である。
【0043】
図2を参照すると、2段階マルチチャネル歪み制限方法200の例示的な実施形態は、第1の段階として、出力音信号合成レベル検出の動作101と、リミッタパラメータを設定する動作102と、図1に関して説明されているような利得フィルタリングサブ動作103および利得適用サブ動作104を含む減衰フィルタリングの動作105とを含む。同様に、図2の2段階マルチチャネル歪みリミッタ250は、第1の段階として、ここでもまた図1を参照しつつ説明されているように、ピークレベル検出器151などの音信号合成レベル検出器と、リミッタパラメータの計算器152と、利得フィルタ153および増幅器154を含む減衰器155とを備える。
【0044】
2段階マルチチャネル歪み制限方法200は、第2段階として、出力音信号合成sm(n)における飽和を検出する動作201を含む。図2の2段階マルチチャネル歪みリミッタ250は、第2段階として、動作201を実行するための飽和検出器251を備える。
【0045】
2段階マルチチャネル歪みリミッタ250の第2の段階および対応する歪み制限方法200は、出力音信号合成sm(n)における飽和、特に強い飽和を検出するように設計されている。「強い飽和」という用語は、予想外に高いレベルの飽和、たとえば所望の最大出力音信号レベルの1/Γ1倍より高い飽和を指定することを意図している。例示的な実施態様は、上で定義されているような強い飽和の検出に言及しているが、出力音信号合成を改善する観点から、本明細書において後述するように、飽和検出器251および対応する飽和検出方法201で使用されるパラメータ、閾値、カウンタ、定数、などの値を適合させることによって、より弱い飽和も検出することは、本開示の範囲内にある。
【0046】
説明されている例示的な実装形態では、第2の段階(飽和検出器251および飽和検出動作201)は、(a)出力音信号合成sm(n)に追加の減衰が適用されるかどうかの判定、および(b)更新された制御利得gcによって示される出力音信号合成sm(n)に適用されるべき減衰の程度を示す出力203を生成する。
【0047】
第2の段階は、図1の歪みリミッタに実装されるだけでなく、上述のモノAGCリミッタを含む他の歪みリミッタにも実装され得、その場合、第2の段階は、関係式(1)からフレーム係数β1を変更し、したがって、関係式(3)から長期AGC係数β2を変更するために使用される。
【0048】
図3は、図2の飽和検出器251および対応する飽和検出方法201を同時に例示する概略ブロック図である。飽和検出器251は、飽和が検出されたかどうかを示す飽和検出フラグflagと、更新された制御利得gcとを生成する。
【0049】
図3を参照すると、飽和検出動作201および対応する飽和検出器251は、すべての出力音信号合成処理フレームの開始時に、飽和検出フラグflagを0に初期化する(301参照)。飽和検出器251は、すべての音信号合成処理フレームにおいて、M個のオーディオチャネルの各々に対して飽和検出を実行することに留意すべきである。
【0050】
次いで、飽和検出器251および対応する飽和検出方法201は、次の2つの部分、
- 飽和、特に強い飽和が現在の出力音信号合成処理フレーム中に存在する確率を測定するメトリックを記憶する飽和検出カウンタcntを更新し、飽和検出フラグflagを立てる第1の計算器320と、
- 本明細書において上で説明されているように、(a)出力音信号合成sm(n)に追加の減衰が適用されるべきかどうかを判定し、(b)更新された制御利得gcを生成することによって出力音信号合成sm(n)に適用されるべき減衰の程度を決定する第2の計算器330と
を備える。
【0051】
次に、飽和検出器251および対応する飽和検出方法201の第1の計算器320について説明する。
【0052】
飽和検出器251および対応する飽和検出方法201の第1の計算器320は、パラメータflagBERによって音信号デコーダのアルゴリズムからシグナリングされるビット誤りが、現在の出力音信号合成処理フレームの受信済みビットストリームにおいて検出されたかどうかの判定(302参照)から開始する。ビット誤りが検出され、パラメータflagBER==1(302参照)によって示された場合、飽和検出カウンタcntは、最大値cnt=CMAX(303参照)に更新され、飽和検出フラグflagは、飽和指示値flag=1(303参照)に設定される。次いで、飽和検出は、飽和検出器251および対応する飽和検出方法201の第2の計算器330(309で開始)によって継続される。飽和検出カウンタcntをその最大値CMAXに更新することは、音信号デコーダからの他のデコーディングパラメータ202(図2)によっても駆動されることもあり得ることに留意されたい。非限定的なこの例示的な実装形態では、CMAX=50である。飽和検出カウンタcntは、デコーダ初期化時にcnt=0に設定されることに留意されたい。
【0053】
なおも図3を参照すると、パラメータflagBER==0(302参照)であり、音信号デコーダによって受信されたビットストリームにおいて検出されるビット誤りがないことを示す場合、飽和検出器251および対応する飽和検出方法201は、関係式(5)からの検出済みピーク値pを使用して第2の判定(304参照)に進む。ピーク値pが所与の閾値P1より大きく、飽和検出カウンタcnt>0の場合、飽和検出フラグは、その飽和指示値flag=1に設定される(305参照)。次いで、飽和検出は、飽和検出器251および対応する飽和検出方法201の第2の計算器330(309で開始)において継続される。非限定的なこの例示的な実装形態では、P1=3・Ωであり、Ωは関係式(6)からのリミッタ閾値である。
【0054】
(a)パラメータflagBER==0(302参照)であり、音信号デコーダによって受信されたビットストリームにおいて検出されるビット誤りがないことを示す、(b)ピーク値pが閾値P1に等しいか、または閾値P1よりも小さい(大きくない)、および/または飽和検出カウンタcnt=0(304参照)である場合、飽和検出器251および対応する飽和検出方法201の第1の計算器320は、ピーク値pが所与の閾値P2よりも大きいかどうかの第3の判定(306参照)に進む。判断306を目的として、飽和検出カウンタcntは、ビット誤りによって引き起こされるもの以外の音信号デコーダの不安定性を検出することを試みるために使用されない。p>P2(306参照)の場合、飽和検出カウンタcntは、CMAXとcnt+cupの和との間の最小値に更新され(cnt値が最大値CMAXを超えないことが保証される)、飽和検出フラグはflga=1に設定される(307参照)。非限定的なこの例示的な実装形態では、P2=10・Ωであり(Ωは関係式(6)からのリミッタ閾値である)、定数cup=20は増分ステップアップを表す。次いで、飽和検出は、飽和検出器251および対応する飽和検出方法201の第2の計算器330(309で開始)において継続する。
【0055】
パラメータflagBER==0(302参照)であり、音信号デコーダによって受信されたビットストリームにおいて検出されるビット誤りがないことを示し、(b)ピーク値pが閾値P1に等しいか、または閾値P1よりも小さい(大きくない)、および/または飽和検出カウンタcnt=0(304参照)であり、(c)ピーク値pが閾値P2に等しいか、または閾値P2より低い(大きくない)(306参照)場合、第1の計算器320は、飽和検出カウンタcnt(308参照)を0と差cnt-cdwとの間の最大値に更新する(検出カウンタcntの最小値が0であることが保証される)。非限定的なこの例示的な実装形態では、定数cdw=1は、増分ステップダウンを表す。次いで、飽和検出は、飽和検出器251および対応する飽和検出方法201の第2の計算器330(309で開始)において継続する。
【0056】
この時点で、飽和検出器251および飽和検出方法201の第1の計算器320の寄与が完了する。理解され得るように、第1の計算器320は、ビットストリームのビット誤り(パラメータflagBER)、検出済みピーク値pに適用される2つの閾値P1およびP2、ならびにフラグflagの飽和検出指示値「1」または無飽和検出指示値「0」の正確な決定のための更新されたカウンタcntを含む複数の要因を考慮する。
【0057】
飽和検出器251および対応する飽和検出手段201の第2の計算器330において、飽和検出フラグflagが0に等しい場合(309参照)、飽和検出方法201は終了し、2段階マルチチャネル歪みリミッタ250の第2の段階の出力314(図2の203に対応する)において追加の減衰は要求されない。
【0058】
その一方で、飽和検出フラグflag=1の場合(309参照)、飽和検出器251および対応する飽和検出方法201の第2の計算器330は、たとえば関係式(9)
【0059】
【数4】
【0060】
を使用して利得補正係数hcを計算し(310参照)、
ここで、Ωは上で定義されたリミッタ閾値であり、pは上で定義されたピーク値である。
【0061】
利得補正係数hcが、特定の、たとえば実験で見つけた閾値Γ2、たとえばΓ2=0.3、よりも低い場合(311参照)、第2の計算器330は、たとえば関係式(10)
【0062】
【数5】
【0063】
を使用して関係式(6)からの制御利得gcを更新し(312参照)、
ここで、αは追加の補正係数である。非限定的なこの例示的な実装形態では、α=3.0である。
【0064】
そうでなければ、hc≧Γ2(311参照)の場合、第2の計算器330は、飽和検出フラグをflag=0に設定し(313参照)、制御利得gcの更新をいっさい実行しない。
【0065】
閾値Γ2の機能は、利得補正係数hcが十分に低いときにのみ利得補正係数hcを更新することである。また、追加の補正係数αの機能は、制御利得gcの追加の制限の強さを制御することである(関係式(10)参照)。
【0066】
したがって、飽和検出器251および対応する飽和検出方法201の第2の計算器330は、2段階マルチチャネル歪みリミッタ250が次に考慮する制御利得gcの可能な更新で終了する。さらに、飽和検出器251が制御利得gcを更新(312参照)した場合、出力314において飽和検出フラグを値flag=1に保持し、関係式(6)のパラメータΓ1は0に設定される。したがって、2段マルチチャネル歪みリミッタ250の前段のピークレベル検出器151で使用される関係式(6)は、たとえば関係式(11)
【0067】
【数6】
【0068】
に変更される。
【0069】
IVASフレームワークで使用されるようなソースコードでは、2段階マルチチャネル歪みリミッタ250および対応する歪み制限方法200は、次のように実装されることが可能であろう。
/*! r: apply_strong_limiting flag */
static int16_t detect_strong_saturations(
const int16_t BER_detect, /* i : BER検出フラグ */
int16_t *strong_saturation_cnt, /* i/o: 強い飽和のカウンタ */
const float max_val, /* i : 最大絶対値 */
float *frame_gain /* i/o: フレーム利得値 */
)
{
int16_t apply_strong_limiting;

apply_strong_limiting = 0;

if ( BER_detect )
{
*strong_saturation_cnt = 50;
apply_strong_limiting = 1;
}
else if ( max_val > 3 * LIMITER_THRESHOLD && *strong_saturation_cnt > 0 )
{
apply_strong_limiting = 1;
}
else if ( max_val > 10 * LIMITER_THRESHOLD )
{
*strong_saturation_cnt += 20;
*strong_saturation_cnt = min( *strong_saturation_cnt, 50 );
apply_strong_limiting = 1;
}
else
{
( *strong_saturation_cnt )--;
*strong_saturation_cnt = max( *strong_saturation_cnt, 0 );
}

if ( apply_strong_limiting )
{
if ( *frame_gain < 0.3f )
{
*frame_gain /= 3.0f;
}
else
{
apply_strong_limiting = 0;
}
}

return apply_strong_limiting;
【0070】
3. 性能
図4は、ビット誤りによって損傷したビットストリームがEVS音信号デコーダによって受信されたときの非限定的な例における、出力音信号合成に対する歪みリミッタ250および歪み制限方法200の影響を示す説明図である。
【0071】
図4から、歪みリミッタが使用されないときに、出力音信号合成は非常に歪んでいることに留意されたい(図4の一番上のグラフ)。図1に例示されているような1段階歪みリミッタが使用されるときに(図4の中央のグラフ)、歪みの数、すなわちエネルギーオーバーシュートは、低減され、図2に例示されているような2段階歪みリミッタが採用されるときに(図4の下のグラフ)、さらに著しく低減される。
【0072】
例示のために、長さ40秒の音信号合成におけるクリッピング数の一例が以下に示されている。
【0073】
【表1】
【0074】
4. 実装形態の変更形態
本開示は、浮動小数点演算で実装されたコーデックの文脈において提示されている。データ型の長さが制限された固定小数点演算で実装されたとき、上で説明されているいくつかのロジックは、適切に動作し得ず、チューニングされる必要がある。一例として、飽和検出器251および対応する飽和検出方法201の第1の部分において、ピーク値pを閾値P1およびP2と比較する代わりに、異なるロジックを導入することが可能である。一例として、クリッピングの数(歪みリミッタが固定小数点データ型分解能の最大値または最小値に等しいサンプル値を有する前の出力音信号合成)および/またはゼロ交差の数のカウンタに基づくロジックも考えられ得る。
【0075】
5. ハードウェアの実装形態
図5は、上で説明されている歪みリミッタおよび歪み制限方法を形成するハードウェアコンポーネントの例示的な構成の簡略化されたブロック図である。
【0076】
歪みリミッタは、携帯端末の一部として、ポータブルメディアプレーヤの一部として、オーディオフォーマットコンバータまたは任意の類似のデバイスとして実装されてもよい。歪みリミッタ(図5では500として識別される)は、入力502、出力504、プロセッサ506、およびメモリ508を備える。
【0077】
入力502は、デジタルまたはアナログ形式で入力音信号合成を受信するように構成される。出力504は、出力される、歪み制限された音信号合成を供給するように構成される。入力502および出力504は、共通モジュール、たとえばシリアル入力/出力デバイスに実装され得る。
【0078】
プロセッサ506は、入力502、出力504、およびメモリ508に動作可能に接続されている。プロセッサ506は、図1~3に例示されているような歪みリミッタの様々なコンポーネントの機能をサポートするコード命令を実行するための1つまたは複数のプロセッサとして実現される。
【0079】
メモリ508は、プロセッサ506によって実行可能なコード命令を記憶するための非一時的メモリ、特に、実行されたときに、プロセッサに、本開示において説明されている歪み制限方法および歪みリミッタの動作およびコンポーネントを実装させる非一時的命令を含む/記憶するプロセッサ可読メモリを含み得る。メモリ508はまた、プロセッサ506によって実行される様々な機能からの中間処理データを記憶するためのランダムアクセスメモリまたはバッファも含み得る。
【0080】
当業者であれば、歪みリミッタおよび歪み制限方法の説明は例示的なものに過ぎず、決して限定を意図するものではないことを理解するであろう。他の実施形態も、本開示の利益を有する当業者には容易に分かるであろう。さらに、開示されている歪みリミッタおよび歪み制限方法は、音をエンコードしデコードする既存のニーズおよび問題に対する価値ある解決方法を提供するようにカスタマイズされ得る。
【0081】
分かりやすくするため、歪みリミッタおよび歪み制限方法の実装形態のお決まりの特徴のすべてが示され、説明されているわけではない。もちろん、歪みリミッタおよび歪み制限方法の任意のそのような実際の実装形態の開発において、アプリケーション関係、システム関係、およびビジネス関係の制約への準拠など、開発者の特定の目標を達成するために多数の実装形態固有の決定が行われる必要があり得ること、またこれらの特定の目標が、実装形態毎に、および開発者毎に異なることは理解されるであろう。さらに、開発努力は複雑で時間がかかる可能性もあるが、それにもかかわらず、本開示を利用する音響処理の分野の当業者にとってデバイス設計の日常業務であることは理解されるであろう。
【0082】
本開示により、本明細書において説明されているコンポーネント/プロセッサ/モジュール、処理動作、および/またはデータ構造は、様々なタイプのオペレーティングシステム、コンピューティングプラットフォーム、ネットワークデバイス、コンピュータプログラム、および/または汎用機を使用して実装され得る。それに加えて、当業者であれば、ハード配線されたデバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または同様のものなどの、汎用性が低いデバイスも使用され得ることを認識するであろう。一連の動作および副動作を含む方法が、プロセッサ、コンピュータ、またはマシンによって実装され、それらの動作および副動作が、プロセッサ、コンピュータ、またはマシンによって読み取り可能な一連の非一時的コード命令として記憶され得る場合に、これらは有形のおよび/または非一時的な媒体上に記憶され得る。
【0083】
本明細書において説明されているような歪みリミッタおよび歪み制限方法は、本明細書において説明されている目的に適しているソフトウェア、ファームウェア、ハードウェア、またはソフトウェア、ファームウェア、もしくはハードウェアの任意の組合せを使用するものとしてよい。
【0084】
本明細書において説明されているような歪みリミッタおよび歪み制限方法において、様々な動作およびサブ動作は、様々な順序で実行されてよく、動作およびサブ動作のいくつかは任意選択であってよい。
【0085】
本開示は、その非制限的で例示的な実施形態を用いて本明細書において上で説明されたけれども、これらの実施形態は、本開示の精神および性質から逸脱することなく付属の請求項の範囲内で随意に修正され得る。
【0086】
参考文献
本開示では、次の参考文献に言及しているが、その全内容は参照により本明細書に組み込まれる。
[1] 3GPP TS 26.445、v.16.1.0、「Codec for Enhanced Voice Services (EVS); Detailed Algorithmic Description」、2020年7月。
[2] 3GPP SA4 contribution S4-170749「New WID on EVS Codec Extension for Immersive Voice and Audio Services」、SA4 meeting #94、2017年6月26日~30日、http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_94/Docs/S4-170749.zip
[3] 「Information Technology - Programming Languages - C」、International Standard ISO/IEC 9899:1999。
[4] Luzheng Lu、「A digital realization of audio dynamic range control」、ICSP '98. 1998 Fourth International Conference on Signal Processing (Cat. No.98TH8344)、1998年、1424~1427頁、第2巻、doi: 10.1109/ICOSP.1998.770888。
【0087】
次の実施形態(実施形態1から実施形態32)は、本発明に関係する本明細書の一部である。
【0088】
実施形態1:音信号デコーダからの出力音信号合成の飽和の検出器であって、(a)出力音信号合成の飽和の検出を示す飽和検出フラグの第1の計算器と、(b)追加の減衰が出力音信号合成に適用されるべきかどうかを判定し、出力音信号合成に適用されるべき減衰の程度を決定するための飽和検出フラグに応答する第2の計算器とを備える、検出器。
【0089】
実施形態2:出力音信号合成は複数のチャネルを含み、飽和検出器は出力音信号合成のすべてのチャネルに適用される、実施形態1に記載の飽和検出器。
【0090】
実施形態3:第1の計算器は、出力音信号合成処理フレームの先頭で飽和検出フラグを初期化する、実施形態1または2に記載の飽和検出器。
【0091】
実施形態4:第1の計算器は、現在の出力音信号合成処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新する、実施形態1から3のいずれか一項に記載の飽和検出器。
【0092】
実施形態5:音信号デコーダは、音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、第1の計算器は、生成されたパラメータがビットストリーム中のビット誤りを示すときに、飽和検出カウンタをその最大値に更新し、飽和検出フラグを飽和指示値に設定する、実施形態4に記載の飽和検出器。
【0093】
実施形態6:第1の計算器は、検出済み音信号合成振幅値が所与の閾値より大きく、飽和検出カウンタが0より大きいときに飽和検出フラグを飽和指示値に設定する、実施形態4または5に記載の飽和検出器。
【0094】
実施形態7:検出済み音信号合成振幅値が所与の閾値より大きい場合、第1の計算器は、飽和検出フラグを飽和指示値に設定し、飽和検出カウンタを、飽和検出カウンタの最大値と飽和検出カウンタと定数との和との間の最小値に更新する、実施形態4から6のいずれか一項に記載の飽和検出器。
【0095】
実施形態8:第1の計算器は、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)検出済み音信号合成振幅値が第1の所与の閾値より大きく、飽和検出カウンタが0より大きい、または(c)検出済み振幅値が第2の所与の閾値より大きい場合に、飽和検出フラグを飽和指示値に設定する、実施形態4に記載の飽和検出器。
【0096】
実施形態9:第1および第2の閾値は、音信号合成リミッタ閾値に関係する、実施形態8に記載の飽和検出器。
【0097】
実施形態10:第1の計算器は、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)検出済み音信号合成振幅値が、第1の所与の閾値に等しいか、またはそれよりも低く、および/または飽和検出カウンタが0に等しい、および(c)検出済み振幅値が第2の所与の閾値に等しいか、またはそれよりも低い場合に、飽和検出カウンタを、0と飽和検出カウンタと定数との差との間の最大値に更新する、実施形態4に記載の飽和検出器。
【0098】
実施形態11:第2の計算器は、制御利得を更新して音信号合成に適用するために飽和検出フラグに応答する、実施形態1から10のいずれか一項に記載の飽和検出器。
【0099】
実施形態12:第2の計算器は、飽和検出フラグが飽和指示値に等しいことに応答して制御利得を更新する、実施形態11に記載の飽和検出器。
【0100】
実施形態13:第2の計算器は、利得補正係数を検出済み音信号合成振幅値および音信号合成リミッタ閾値の関数として計算し、利得補正係数を使用して制御利得を更新する、実施形態12に記載の飽和検出器。
【0101】
実施形態14:第2の計算器は、利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して制御利得を更新する、実施形態13に記載の飽和検出器。
【0102】
実施形態15:第2の計算器は、利得補正係数が特定の閾値と等しいか、または特定の閾値より大きい場合に制御利得の更新をいっさい実行しない、実施形態14に記載の飽和検出器。
【0103】
実施形態16:音信号デコーダからの出力音信号合成の飽和の検出器であって、少なくとも1つのプロセッサと、プロセッサに結合され、非一時的命令であって、実行されたときにプロセッサに(a)出力音信号合成の飽和の検出を示す飽和検出フラグの第1の計算器と、(b)追加の減衰が出力音信号合成に適用されるべきかどうかを判定し、出力音信号合成に適用されるべき減衰の程度を決定するための飽和検出フラグに応答する第2の計算器とを実装させる、非一時的命令を記憶するメモリとを備える、検出器。
【0104】
実施形態17:音信号デコーダからの出力音信号合成の飽和の検出器であって、少なくとも1つのプロセッサと、プロセッサに結合され、非一時的命令であって、実行されたときにプロセッサに(a)出力音信号合成の飽和の検出を示す飽和検出フラグを計算し、(b)飽和検出フラグに応答して、減衰が出力音信号合成に適用されるべきかどうかを判定し、出力音信号合成に適用されるべき減衰の程度を決定することを行わせる、非一時的命令を記憶するメモリとを備える、検出器。
【0105】
実施形態18:音信号デコーダからの出力音信号合成の飽和を検出するための方法であって、(a)出力音信号合成の飽和の検出を示す飽和検出フラグを計算することと、(b)飽和検出フラグに応答して、追加の減衰が出力音信号合成に適用されるべきかどうかを判定し、出力音信号合成に適用されるべき減衰の程度を決定することを含む、方法。
【0106】
実施形態19:出力音信号合成は複数のチャネルを含み、飽和検出方法は出力音信号合成のすべてのチャネルに適用される、実施形態18に記載の飽和検出方法。
【0107】
実施形態20:飽和検出フラグを計算することは、出力音信号合成処理フレームの先頭で飽和検出フラグを初期化することを含む、実施形態18または19に記載の飽和検出方法。
【0108】
実施形態21:飽和検出フラグを計算することは、現在の出力音信号合成処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新することを含む、実施形態18から20のいずれか一項に記載の飽和検出方法。
【0109】
実施形態22:音信号デコーダは、音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、飽和検出フラグを計算することは、生成されたパラメータがビットストリーム中のビット誤りを示すときに飽和検出カウンタをその最大値に更新し、飽和検出フラグを飽和指示値に設定することを含む、実施形態21に記載の飽和検出方法。
【0110】
実施形態23:飽和検出フラグを計算することは、検出済み音信号合成振幅値が所与の閾値より大きく、飽和検出カウンタが0より大きいときに飽和検出フラグを飽和指示値に設定することを含む、実施形態21または22に記載の飽和検出方法。
【0111】
実施形態24:検出済み音信号合成振幅値が所与の閾値より大きい場合、飽和検出フラグを計算することは、飽和検出フラグを飽和指示値に設定することと、飽和検出カウンタを、飽和検出カウンタの最大値と飽和検出カウンタと定数との和との間の最小値に更新することとを含む、実施形態21から23のいずれか一項に記載の飽和検出方法。
【0112】
実施形態25:飽和検出フラグを計算することは、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)検出済み音信号合成振幅値が第1の所与の閾値より大きく、飽和検出カウンタが0より大きい、または(c)検出済み振幅値が第2の所与の閾値より大きい場合に、飽和検出フラグを飽和指示値に設定することを含む、実施形態21に記載の飽和検出方法。
【0113】
実施形態26:第1および第2の閾値は、音信号合成リミッタ閾値に関係する、実施形態25に記載の飽和検出方法。
【0114】
実施形態27:飽和検出フラグを計算することは、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)検出済み音信号合成振幅値が、第1の所与の閾値に等しいか、またはそれよりも低く、および/または飽和検出カウンタが0に等しい、および(c)検出済み振幅値が第2の所与の閾値に等しいか、またはそれよりも低い場合に、飽和検出カウンタを、0と飽和検出カウンタと定数との差との間の最大値に更新することを含む、実施形態21に記載の飽和検出方法。
【0115】
実施形態28:追加の減衰が出力音信号合成に適用されるべきかどうかを判定し、出力音信号合成に適用されるべき減衰の程度を決定することは、飽和検出フラグに応答して、音信号合成に適用するための制御利得を更新することを含む、実施形態18から27のいずれか一項に記載の飽和検出方法。
【0116】
実施形態29:制御利得の更新は、飽和検出フラグが飽和指示値に等しいことに応答して行われる、実施形態28に記載の飽和検出方法。
【0117】
実施形態30:制御利得を更新することは、利得補正係数を検出済み音信号合成振幅値および音信号合成リミッタ閾値の関数として計算することと、利得補正係数を使用して制御利得を更新することとを含む、実施形態29に記載の飽和検出方法。
【0118】
実施形態31:制御利得を更新することは、利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して制御利得を更新することを含む、実施形態30に記載の飽和検出方法。
【0119】
実施形態32:利得補正係数が特定の閾値と等しいか、または特定の閾値より大きい場合に制御利得の更新をいっさい実行しないことを含む、実施形態31に記載の飽和検出方法。
【0120】
実施形態33:音信号の飽和の検出器であって、(a)音信号の飽和の検出を示す飽和検出フラグの第1の計算器と、(b)追加の減衰が音信号に適用されるべきかどうかを判定し、音信号に適用されるべき減衰の程度を決定するための飽和検出フラグに応答する第2の計算器とを備える、検出器。
【0121】
実施形態34:音信号は複数のチャネルを含み、飽和検出器は音信号のすべてのチャネルに適用される、実施形態33に記載の飽和検出器。
【0122】
実施形態35:第1の計算器は、音信号処理フレームの先頭で飽和検出フラグを初期化する、実施形態33または34に記載の飽和検出器。
【0123】
実施形態36:第1の計算器は、現在の音信号処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新する、実施形態33から35のいずれか一項に記載の飽和検出器。
【0124】
実施形態37:音信号デコーダは、音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、第1の計算器は、生成されたパラメータがビットストリーム中のビット誤りを示すときに、飽和検出カウンタをその最大値に更新し、飽和検出フラグを飽和指示値に設定する、実施形態36に記載の飽和検出器。
【0125】
実施形態38:第1の計算器は、検出済み音信号振幅値が所与の閾値より大きく、飽和検出カウンタが0より大きいときに飽和検出フラグを飽和指示値に設定する、実施形態36または37に記載の飽和検出器。
【0126】
実施形態39:検出済み音信号振幅値が所与の閾値より大きい場合、第1の計算器は、飽和検出フラグを飽和指示値に設定し、飽和検出カウンタを、飽和検出カウンタの最大値と飽和検出カウンタと定数との和との間の最小値に更新する、実施形態36から38のいずれか一項に記載の飽和検出器。
【0127】
実施形態40:第1の計算器は、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)検出済み音信号振幅値が第1の所与の閾値より大きく、飽和検出カウンタが0より大きい、または(c)検出済み振幅値が第2の所与の閾値より大きい場合に、飽和検出フラグを飽和指示値に設定する、実施形態36に記載の飽和検出器。
【0128】
実施形態41:第1および第2の閾値は、音信号リミッタ閾値に関係する、実施形態40に記載の飽和検出器。
【0129】
実施形態42:第1の計算器は、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)検出済み音信号振幅値が、第1の所与の閾値に等しいか、もしくはそれよりも低く、および/または飽和検出カウンタが0に等しい、および(c)検出済み振幅値が第2の所与の閾値に等しいか、またはそれよりも低い場合に、飽和検出カウンタを、0と飽和検出カウンタと定数との差との間の最大値に更新する、実施形態36に記載の飽和検出器。
【0130】
実施形態43:第2の計算器は、制御利得を更新して音信号に適用するために飽和検出フラグに応答する、実施形態33から42のいずれか一項に記載の飽和検出器。
【0131】
実施形態44:第2の計算器は、飽和検出フラグが飽和指示値に等しいことに応答して制御利得を更新する、実施形態43に記載の飽和検出器。
【0132】
実施形態45:第2の計算器は、利得補正係数を検出済み音信号振幅値および音信号リミッタ閾値の関数として計算し、利得補正係数を使用して制御利得を更新する、実施形態44に記載の飽和検出器。
【0133】
実施形態46:第2の計算器は、利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して制御利得を更新する、実施形態45に記載の飽和検出器。
【0134】
実施形態47:第2の計算器は、利得補正係数が特定の閾値と等しいか、または特定の閾値より大きい場合に制御利得の更新をいっさい実行しない、実施形態46に記載の飽和検出器。
【0135】
実施形態48:音信号の飽和の検出器であって、少なくとも1つのプロセッサと、プロセッサに結合され、非一時的命令であって、実行されたときにプロセッサに(a)音信号の飽和の検出を示す飽和検出フラグの第1の計算器と、(b)追加の減衰が音信号に適用されるべきかどうかを判定し、音信号に適用されるべき減衰の程度を決定するための飽和検出フラグに応答する第2の計算器とを実装させる非一時的命令を記憶するメモリとを備える、検出器。
【0136】
実施形態49:音信号の飽和の検出器であって、少なくとも1つのプロセッサと、プロセッサに結合され、非一時的命令であって、実行されたときにプロセッサに(a)音信号の飽和の検出を示す飽和検出フラグを計算し、(b)飽和検出フラグに応答して、減衰が音信号に適用されるべきかどうかを判定し、音信号に適用されるべき減衰の程度を決定することを行わせる、非一時的命令を記憶するメモリとを備える、検出器。
【0137】
実施形態50:音信号の飽和を検出するための方法であって、(a)音信号の飽和の検出を示す飽和検出フラグを計算することと、(b)飽和検出フラグに応答して、追加の減衰が音信号に適用されるべきかどうかを判定することと、音信号に適用されるべき減衰の程度を決定することとを含む、方法。
【0138】
実施形態51:音信号合成は複数のチャネルを含み、飽和検出方法は音信号のすべてのチャネルに適用される、実施形態50に記載の飽和検出方法。
【0139】
実施形態52:飽和検出フラグを計算することは、音信号処理フレームの先頭で飽和検出フラグを初期化することを含む、実施形態50または51に記載の飽和検出方法。
【0140】
実施形態53:飽和検出フラグを計算することは、現在の音信号処理フレーム内に飽和が存在する確率を記憶する飽和検出カウンタを更新することを含む、実施形態50から52のいずれか一項に記載の飽和検出方法。
【0141】
実施形態54:音信号デコーダは、音信号デコーダによって受信されたビットストリーム中のビット誤りを示すパラメータを生成し、飽和検出フラグを計算することは、生成されたパラメータがビットストリーム中のビット誤りを示すときに飽和検出カウンタをその最大値に更新し、飽和検出フラグを飽和指示値に設定することを含む、実施形態53に記載の飽和検出方法。
【0142】
実施形態55:飽和検出フラグを計算することは、検出済み音信号振幅値が所与の閾値より大きく、飽和検出カウンタが0より大きいときに飽和検出フラグを飽和指示値に設定することを含む、実施形態53または54に記載の飽和検出方法。
【0143】
実施形態56:検出済み音信号振幅値が所与の閾値より大きい場合、飽和検出フラグを計算することは、飽和検出フラグを飽和指示値に設定することと、飽和検出カウンタを、飽和検出カウンタの最大値と飽和検出カウンタと定数との和との間の最小値に更新することとを含む、実施形態53から55のいずれか一項に記載の飽和検出方法。
【0144】
実施形態57:飽和検出フラグを計算することは、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中のビット誤りを示す、(b)検出済み音信号振幅値が第1の所与の閾値より大きく、飽和検出カウンタが0より大きい、または(c)検出済み振幅値が第2の所与の閾値より大きい場合に、飽和検出フラグを飽和指示値に設定することを含む、実施形態53に記載の飽和検出方法。
【0145】
実施形態58:第1および第2の閾値は、音信号リミッタ閾値に関係する、実施形態57に記載の飽和検出方法。
【0146】
実施形態59:飽和検出フラグを計算することは、(a)音信号デコーダによって生成されたパラメータが音信号デコーダによって受信されたビットストリーム中にビット誤りがないことを示す、(b)検出済み音信号振幅値が、第1の所与の閾値に等しいか、もしくはそれよりも低く、および/または飽和検出カウンタが0に等しい、および(c)検出済み振幅値が第2の所与の閾値に等しいか、またはそれよりも低い場合に、飽和検出カウンタを、0と飽和検出カウンタと定数との差との間の最大値に更新することを含む、実施形態53に記載の飽和検出方法。
【0147】
実施形態60:追加の減衰が音信号に適用されるべきかどうかを判定し、音信号に適用されるべき減衰の程度を決定することは、飽和検出フラグに応答して、音信号に適用するための制御利得を更新することを含む、実施形態50から59のいずれか一項に記載の飽和検出方法。
【0148】
実施形態61:制御利得の更新は、飽和検出フラグが飽和指示値に等しいことに応答して行われる、実施形態60に記載の飽和検出方法。
【0149】
実施形態62:制御利得を更新することは、利得補正係数を検出済み音信号振幅値および音信号リミッタ閾値の関数として計算することと、利得補正係数を使用して制御利得を更新することとを含む、実施形態61に記載の飽和検出方法。
【0150】
実施形態63:制御利得を更新することは、利得補正係数が特定の閾値より低い場合に別の定数補正係数を使用して制御利得を更新することを含む、実施形態62に記載の飽和検出方法。
【0151】
実施形態64:利得補正係数が特定の閾値と等しいか、または特定の閾値より大きい場合に制御利得の更新をいっさい実行しないことを含む、実施形態63に記載の飽和検出方法。
【符号の説明】
【0152】
100 1段階マルチチャネル歪み制限方法
101 動作
102 動作
103 「利得フィルタリング」サブ動作
104 「利得適用」サブ動作
105 動作
150 1段階マルチチャネル歪みリミッタ
151 レベル検出器
152 計算器
153 利得フィルタ
154 増幅器
155 減衰器
200 歪み制限方法
201 飽和検出動作
202 デコーディングパラメータ
203 出力
250 2段階マルチチャネル歪みリミッタ
251 飽和検出器
314 出力
320 第1の計算器
330 第2の計算器
502 入力
504 出力
506 プロセッサ
508 メモリ
図1
図2
図3
図4
図5
【国際調査報告】