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

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

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

特許7285830CELPコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス
<>
  • 特許-CELPコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス 図1
  • 特許-CELPコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス 図2
  • 特許-CELPコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-25
(45)【発行日】2023-06-02
(54)【発明の名称】CELPコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス
(51)【国際特許分類】
   G10L 19/002 20130101AFI20230526BHJP
   G10L 19/12 20130101ALI20230526BHJP
【FI】
G10L19/002
G10L19/12
【請求項の数】 38
(21)【出願番号】P 2020516519
(86)(22)【出願日】2018-09-20
(65)【公表番号】
(43)【公表日】2020-11-26
(86)【国際出願番号】 CA2018051175
(87)【国際公開番号】W WO2019056107
(87)【国際公開日】2019-03-28
【審査請求日】2021-09-17
(31)【優先権主張番号】62/560,724
(32)【優先日】2017-09-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504226412
【氏名又は名称】ヴォイスエイジ・コーポレーション
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴァーツラフ・エクスレル
【審査官】大石 剛
(56)【参考文献】
【文献】特開平07-239700(JP,A)
【文献】特表2010-507818(JP,A)
【文献】特開昭63-127298(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/002
G10L 19/12
(57)【特許請求の範囲】
【請求項1】
音響信号をエンコードするためのエンコーダまたは音響信号をデコードするためのデコーダのCELPコアモジュールの複数の第1のCELPコアモジュール部分および1つの第2のCELPコアモジュール部分にビット配分を割り振るためのビット配分割振方法であって、サブフレームを含む前記音響信号のフレームにおいて、
前記第1のCELPコアモジュール部分に個々のビット配分を割り振るステップと、
前記第1のCELPコアモジュール部分に前記個々のビット配分を割り振った後に残ったビット配分を、前記第2のCELPコアモジュール部分に割り振るステップであって、前記第2のCELPコアモジュール部分のビット配分を割り振るステップが、(a)最初に前記第2のCELPコアモジュール部分のビット配分から前記フレームの前記サブフレームに、等しい数のビットを分配するステップと、(b)前記最初のビット分配の後に残った前記第2のCELPコアモジュール部分のビット配分から前記フレームの前記サブフレームのうちの少なくとも1つに、ビットを割り振るステップ、を含む、ステップと
を含む、ビット配分割振方法。
【請求項2】
前記少なくとも1つのサブフレームが、前記音響信号の前記フレームの第1のサブフレームである、請求項1に記載のビット配分割振方法。
【請求項3】
前記少なくとも1つのサブフレームが、前記音響信号の前記フレームの前記第1のサブフレームに続く少なくとも1つのサブフレームを含む、請求項2に記載のビット配分割振方法。
【請求項4】
記第2のCELPコアモジュール部分のビット配分を割り振るステップが、前記第2のCELPコアモジュール部分のビット配分をできる限り使用するステップを含む、請求項1から3のいずれか一項に記載のビット配分割振方法。
【請求項5】
前記CELPコアモジュールが、前記音響信号の前記フレームの1つのサブフレームにおいて声門インパルス形状コードブックを使用し
記フレームの前記少なくとも1つのサブフレームが、前記声門インパルス形状コードブックを使用する前記サブフレームである、
請求項1に記載のビット配分割振方法。
【請求項6】
前記第1のCELPコアモジュール部分に個々のビット配分を割り振るステップが、ビット配分割振テーブルによって前記第1のCELPコアモジュール部分に割り当てられた個々のビット配分を前記第1のCELPコアモジュール部分に割り振るステップを含む、請求項1から5のいずれか一項に記載のビット配分割振方法。
【請求項7】
CELPコアモジュールおよび補足コーデックモジュールを使用して音響信号をエンコードまたはデコードするための方法であって、
前記補足コーデックモジュールにビット配分を割り振るステップと、
CELPコアモジュールのビット配分を決定するために前記補足コーデックモジュールのビット配分をトータルコーデックのビット配分から減算するステップと、
前記第1のCELPコアモジュール部分および前記第2のCELPコアモジュール部分に前記CELPコアモジュールのビット配分を割り振るために、請求項1から6のいずれか一項に記載のビット配分割振方法を使用するステップと
を含む、音響信号をエンコードまたはデコードするための方法。
【請求項8】
CELPコアモジュールおよび補足コーデックモジュールを使用して音響信号をエンコードまたはデコードするための方法であって、
コーデックシグナリングに第1のビット配分を割り振るステップと、
前記補足コーデックモジュールに第2のビット配分を割り振るステップと、
CELPコアモジュールのビット配分を決定するために前記第1および第2のビット配分をトータルコーデックのビット配分から減算するステップと、
前記第1のCELPコアモジュール部分および前記第2のCELPコアモジュール部分に前記CELPコアモジュールのビット配分を割り振るために、請求項1から6のいずれか一項に記載の方法を使用するステップと
を含む、音響信号をエンコードまたはデコードするための方法。
【請求項9】
(a)前記補足コーデックモジュールに割り振られた前記ビット配分、(b)前記第1のCELPコアモジュール部分に割り振られた前記ビット配分、および(c)前記第2のCELPコアモジュール部分に割り振られた前記ビット配分、を、前記トータルコーデックのビット配分から減算するステップを含む、使われないビット配分を決定するステップを含む、請求項7または8に記載の音響信号をエンコードまたはデコードするための方法。
【請求項10】
前記第1のCELPコアモジュール部分のうちの少なくとも1つのエンコードに、前記使われないビット配分を割り振るステップを含む、請求項9に記載の音響信号をエンコードまたはデコードするための方法。
【請求項11】
変換ドメインコードブックのエンコードに、前記使われないビット配分を割り振るステップを含む、請求項9に記載の音響信号をエンコードまたはデコードするための方法。
【請求項12】
前記変換ドメインコードブックのエンコードに、前記使われないビット配分を割り振るステップが、前記使われないビット配分の第1の部分を変換ドメインパラメータに割り振るステップ、および前記変換ドメインコードブック内のベクトル量子化器に、前記使われないビット配分の第2の部分を割り振るステップを含む、請求項11に記載の音響信号をエンコードまたはデコードするための方法。
【請求項13】
前記音響信号の前記フレームのサブフレーム全ての中に、前記使われないビット配分の前記第2の部分を分配するステップを含む、請求項12に記載の音響信号をエンコードまたはデコードするための方法。
【請求項14】
より大きいビット配分が、前記フレームの第1のサブフレームに割り振られる、請求項13に記載の音響信号をエンコードまたはデコードするための方法。
【請求項15】
音響信号をエンコードするためのエンコーダまたは音響信号をデコードするためのデコーダのCELPコアモジュールの複数の第1のCELPコアモジュール部分および1つの第2のCELPコアモジュール部分にビット配分を割り振るためのビット配分割振デバイスであって、サブフレームを含む前記音響信号のフレームに対して、
個々のビット配分の、前記第1のCELPコアモジュール部分への第1のアロケータと、
前記第1のCELPコアモジュール部分に前記個々のビット配分を割り振った後に残ったビット配分の、前記第2のCELPコアモジュール部分への第2のアロケータであって、(a)最初に第2のCELPコアモジュール部分のビット配分から前記フレームの前記サブフレームに、等しい数のビットを分配し、(b)前記最初のビット分配の後に残った前記第2のCELPコアモジュール部分のビット配分から前記フレームの前記サブフレームのうちの少なくとも1つに、ビットを割り振る、第2のアロケータと
を含む、ビット配分を割り振るためのビット配分割振デバイス。
【請求項16】
前記少なくとも1つのサブフレームが、前記音響信号の前記フレームの第1のサブフレームである、請求項15に記載のビット配分割振デバイス。
【請求項17】
前記少なくとも1つのサブフレームが、前記音響信号の前記フレームの前記第1のサブフレームに続く少なくとも1つのサブフレームを含む、請求項16に記載のビット配分割振デバイス。
【請求項18】
前記第2のアロケータが前記第2のCELPコアモジュール部分のビット配分をできる限り使用する、請求項15から17のいずれか一項に記載のビット配分割振デバイス。
【請求項19】
前記CELPコアモジュールが、前記音響信号の前記フレームの1つのサブフレームにおいて声門インパルス形状コードブックを使用し
記フレームの前記少なくとも1つのフレームが、前記声門インパルス形状コードブックを使用する前記サブフレームである、
請求項15に記載のビット配分割振デバイス。
【請求項20】
前記第1のアロケータが、ビット配分割振テーブルによって前記第1のCELPコアモジュール部分に割り当てられた個々のビット配分を前記第1のCELPコアモジュール部分に割り振る、請求項15から19のいずれか一項に記載のビット配分割振デバイス。
【請求項21】
CELPコアモジュールおよび補足コーデックモジュールを使用して音響信号をエンコードまたはデコードするためのデバイスであって、
前記補足コーデックモジュールへのビット配分のアロケータと、
CELPコアモジュールのビット配分を決定するための、前記補足コーデックモジュールのビット配分の、トータルコーデックのビット配分からの減算器と、
前記第1のCELPコアモジュール部分および前記第2のCELPコアモジュール部分に前記CELPコアモジュールのビット配分を割り振るための、請求項15から20のいずれか一項に記載のビット配分割振デバイスと
を備える、音響信号をエンコードまたはデコードするためのデバイス。
【請求項22】
CELPコアモジュールおよび補足コーデックモジュールを使用して音響信号をエンコードまたはデコードするためのデバイスであって、
コーデックシグナリングへの第1のビット配分のアロケータと、
前記補足コーデックモジュールへの第2のビット配分のアロケータと、
CELPコアモジュールのビット配分を決定するための、前記第1および第2のビット配分の、トータルコーデックのビット配分からの減算器と、
前記第1のCELPコアモジュール部分および前記第2のCELPコアモジュール部分に前記CELPコアモジュールのビット配分を割り振るための、請求項15から20のいずれか一項に記載のビット配分割振デバイスと
を備える、音響信号をエンコードまたはデコードするためのデバイス。
【請求項23】
使われないビット配分を決定するための、(a)前記補足コーデックモジュールに割り振られた前記ビット配分、(b)前記第1のCELPコアモジュール部分に割り振られた前記ビット配分、および(c)前記第2のCELPコアモジュール部分に割り振られた前記ビット配分、の、前記トータルコーデックのビット配分からの減算器を備える、請求項21または22に記載の音響信号をエンコードまたはデコードするためのデバイス。
【請求項24】
前記第1のCELPコアモジュール部分のうちの少なくとも1つのエンコードへの前記使われないビット配分のアロケータを備える、請求項23に記載の音響信号をエンコードまたはデコードするためのデバイス。
【請求項25】
変換ドメインコードブックのエンコードへの前記使われないビット配分のアロケータを備える、請求項23に記載の音響信号をエンコードまたはデコードするためのデバイス。
【請求項26】
前記変換ドメインコードブックのエンコードへの前記使われないビット配分の前記アロケータが、前記使われないビット配分の第1の部分を変換ドメインパラメータに割り振ること、および前記変換ドメインコードブック内のベクトル量子化器に、前記使われないビット配分の第2の部分を割り振ること、を行う、請求項25に記載の音響信号をエンコードまたはデコードするためのデバイス。
【請求項27】
前記使われないビット配分の前記アロケータが、前記音響信号の前記フレームのサブフレーム全ての中に、前記使われないビット配分の前記第2の部分を分配する、請求項26に記載の音響信号をエンコードまたはデコードするためのデバイス。
【請求項28】
前記使われないビット配分の前記アロケータが、前記フレームの第1のサブフレームに、より大きいビット配分を割り振る、請求項27に記載の音響信号をエンコードまたはデコードするためのデバイス。
【請求項29】
音響信号をエンコードするためのエンコーダまたは音響信号をデコードするためのデコーダのCELPコアモジュールの複数の第1のCELPコアモジュール部分および1つの第2のCELPコアモジュール部分にビット配分を割り振るためのビット配分割振方法であって、
前記第1のCELPコアモジュール部分に個々のビット配分を、複数の中間ビットレートのそれぞれに対して割り当てるビット配分割振テーブルを格納するステップと、
CELPコアモジュールのビットレートを決定するステップと、
前記決定したCELPコアモジュールのビットレートに基づいて前記中間ビットレートのうちの1つを選択するステップと、
前記選択した中間ビットレートについての前記ビット配分割振テーブルによって割り当てられた前記個々のビット配分を、前記第1のCELPコアモジュール部分に割り振るステップと、
前記選択した中間ビットレートについての前記ビット配分割振テーブルによって割り当てられた前記個々のビット配分を前記第1のCELPコアモジュール部分に割り振った後に残ったビット配分を、前記第2のCELPコアモジュール部分に割り振るステップと
を含み、
- 前記CELPコアモジュールが、前記音響信号のフレームの1つのサブフレームにおいて声門インパルス形状コードブックを使用し、
- 前記第2のCELPコアモジュール部分のビット配分を割り振るステップが、(a)最初に第2のCELPコアモジュール部分のビット配分から前記フレームの前記サブフレームに、等しい数のビットを分配するステップと(b)前記最初のビット分配の後に残った前記第2のCELPコアモジュール部分のビット配分から前記声門インパルス形状コードブックを含む前記サブフレームにビットを割り振るステップ、を含む、
ビット配分割振方法。
【請求項30】
前記第1のCELPコアモジュール部分が、LPフィルタ係数、CELP適応コードブック、CELP適応コードブック利得、およびCELPイノベーションコードブック利得のうちの少なくとも1つを含み、
前記第2のCELPコアモジュール部分が、CELPイノベーションコードブックを含む、
請求項29に記載のビット配分割振方法。
【請求項31】
前記中間ビットレートのうちの1つを選択するステップが、前記中間ビットレートの、前記CELPコアモジュールのビットレートに最も近い高い方の1つを選択するステップを含む、請求項29または30に記載のビット配分割振方法。
【請求項32】
前記中間ビットレートのうちの1つを選択するステップが、前記中間ビットレートの、前記CELPコアモジュールのビットレートに最も近い低い方の1つを選択するステップを含む、請求項29または30に記載のビット配分割振方法。
【請求項33】
音響信号をエンコードするためのエンコーダまたは音響信号をデコードするためのデコーダのCELPコアモジュールの複数の第1のCELPコアモジュール部分および1つの第2のCELPコアモジュール部分にビット配分を割り振るためのビット配分割振デバイスであって、
前記第1のCELPコアモジュール部分に個々のビット配分を、複数の中間ビットレートのそれぞれに対して割り当てるビット配分割振テーブルと、
CELPコアモジュールのビットレートの計算器と、
計算したCELPコアモジュールのビットレートに基づく前記中間ビットレートのうちの1つの選択器と、
選択した中間ビットレートについての前記ビット配分割振テーブルによって割り当てられた前記個々のビット配分の、前記第1のCELPコアモジュール部分への第1のアロケータと、
前記選択した中間ビットレートについての前記ビット配分割振テーブルによって割り当てられた前記個々のビット配分を前記第1のCELPコアモジュール部分に割り振った後に残ったビット配分の、前記第2のCELPコアモジュール部分への第2のアロケータと
を備え、
- 前記CELPコアモジュールが、前記音響信号のフレームの1つのサブフレームにおいて声門インパルス形状コードブックを使用し、
- 前記第2のアロケータが、(a)最初に第2のCELPコアモジュール部分のビット配分から前記フレームの前記サブフレームに、等しい数のビットを分配し、(b)前記最初のビット分配の後に残った前記第2のCELPコアモジュール部分のビット配分から、前記声門インパルス形状コードブックを含む前記サブフレームにビットを割り振る、
ビット配分割振デバイス。
【請求項34】
前記第1のCELPコアモジュール部分が、LPフィルタ係数、CELP適応コードブック、CELP適応コードブック利得、およびCELPイノベーションコードブック利得のうちの少なくとも1つを含み、
前記第2のCELPコアモジュール部分が、CELPイノベーションコードブックを含む、
請求項33に記載のビット配分割振デバイス。
【請求項35】
前記中間ビットレートのうちの1つの前記選択器が、前記中間ビットレートの、前記CELPコアモジュールのビットレートに最も近い高い方の1つを選択する、請求項33または34に記載のビット配分割振デバイス。
【請求項36】
前記中間ビットレートのうちの1つの前記選択器が、前記中間ビットレートの、前記CELPコアモジュールのビットレートに最も近い低い方の1つを選択する、請求項33または34に記載のビット配分割振デバイス。
【請求項37】
前記フレームの最後のサブフレームの前記ビット配分を増加させるステップをさらに含む、請求項5に記載のビット配分割振方法。
【請求項38】
前記第2のアロケータも、前記フレームの最後のサブフレームの前記ビット配分を増加させる、請求項19に記載のビット配分割振デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、例えばスピーチ信号またはオーディオ信号といった音響信号を伝送または格納、および合成することを考慮して、この音響信号をデジタル的にエンコードするための技法に関する。エンコーダは、ビット配分を使用して音響信号をデジタルビットストリームにコンバートする。デコーダまたはシンセサイザは、次に、伝送または格納されたビットストリームに対して動作し、ビットストリームを音響信号にコンバートして戻す。エンコーダおよびデコーダ/シンセサイザは、一般に、コーデックとして知られる。
【0002】
より詳細には、本開示は、コーデックにおいてビット配分を効率的に分配するための方法およびデバイスに関するが、これらに限定されない。
【背景技術】
【0003】
低ビットレートで音をエンコードするための最善の技法のうちの1つは、符号励振線形予測(CELP:Code-Excited Linear Prediction)コーディングである。CELPコーディングにおいて、音響信号はサンプリングされ、サンプリングされた音響信号は、フレームと通常呼ばれるL個のサンプルの連続ブロックにおいて処理され、ここで、Lは、20msに典型的に対応する所定の数である。CELPの背景にある主な原理は、「合成による分析」と呼ばれ、ここで、可能なデコーダ出力はエンコード処理中に合成され、次に、元の音響信号と比較される。このサーチは、知覚的に重み付けされたドメインにおける入力音響信号と合成音響信号との間の平均2乗誤差を最小化する。
【0004】
CELPベースコーディングにおいて、音響信号は、典型的には、しばしば合成フィルタと呼ばれる全極デジタルフィルタ1/A(z)を通じて励振をフィルタリングすることによって合成される。フィルタA(z)は線形予測(LP:Linear Prediction)を用いて推定され、音響信号サンプル間の短期間の相関関係を表現する。LPフィルタ係数は、通常、フレームあたり1回、計算される。CELPコーデックにおいて、フレームは、順次サーチされる2つの部分から典型的に構成される励振をエンコードするために、いくつか(通常、2(2)から5(5))のサブフレームにさらに分割される。これらの個々の利得は、次に、共に量子化されることが可能である。以下の説明において、サブフレームの数はNと表され、特定のサブフレームのインデックスはnと表され、ここで、n=0,..., N-1である。
【0005】
励振の第1の部分は、通常、適応コードブックから選択される。適応コードブック励振部は、現在エンコードされているセグメントに最も似ているセグメントを過去の励振の中でサーチすることによって、音声スピーチ信号の準周期性(または長期相関)を活用する。適応コードブック励振部は、適応コードブックインデックス、すなわち、ピッチ周期に対応する遅延パラメータ、および妥当な適応コードブック利得によって説明され、エンコーダにおけるものと同じ励振を再構築するために、両方がデコーダに送られるか格納される。
【0006】
励振の第2の部分は、通常、イノベーションコードブックから選択されたイノベーション信号である。イノベーション信号は、前のスピーチセグメントと、現在エンコードされているセグメントとの間の進展(相違)をモデル化する。励振の第2の部分は、イノベーションコードブックから選択されたコードベクトルのインデックスによって、ならびにイノベーションコードブック利得(これは、固定コードブックインデックスおよび固定コードブック利得とも呼ばれる)によって、説明される。
【0007】
コーディング効率を改善するために、例えば、参考文献[1]において説明されるようなG.718、および参考文献[2]において説明されるようなEVSなどの最近のコーデックは、入力音響信号の分類に基づく。信号特性に基づいて、基本的なCELPコーディングは、いくつかの異なるコーディングモードに拡張される。必然的に、分類は、シグナリング情報としてデコーダに伝送されるか格納される必要がある。通常、伝送するのに効率的な別のシグナリング情報は、例えばオーディオ帯域幅情報である。
【0008】
このようにして、CELPコーデックにおいて、いわゆるCELP「コアモジュール」部分は、以下を含むことができる。
- LPフィルタ係数、
- 適応コードブック、
- イノベーション(固定)コードブック、ならびに
- 適応およびイノベーションコードブック利得
【0009】
最も新しいCELPコーデックは、固定ビットレート(CBR:constant bit rate)原理に基づく。CBRコーデックにおいて、所与のフレームをエンコードするためのビット配分は、音響信号内容またはネットワーク特性とは関係なく、エンコード中、不変である。所与の固定ビットレートで可能な限り最良の品質を取得するために、ビット配分は、異なるコーディング部分の中に慎重に分配される。実際には、所与のビットレートでのコーディング部分毎のビット配分は、通常、固定され、コーデックROMテーブルに格納される。しかし、コーデックによってサポートされるビットレートの数が増加すると、ROMテーブルの長さは比例して増加し、これらのテーブル内のサーチは効率的ではなくなる。
【0010】
CELPコアモジュールに割り振られるビット配分が、コーデック固定ビットレートにおいてさえ変動することがある複雑なコーデックにおいて、大きいROMテーブルの問題はさらにいっそう重大である。例えば、例えば入力オーディオチャネルの数、ネットワークフィードバック、オーディオ帯域幅、入力信号特性、等に基づいて、固定ビットレートでのビット配分が、異なるモジュール間で割り振られる複雑なマルチモジュールコーデックにおいて、コーデックトータルビット配分は、CELPコアモジュールおよび他の異なるモジュールの中に分配される。このような他の異なるモジュールの例は、帯域幅拡張(BWE:bandwidth extension)、ステレオモジュール、フレームエラー隠蔽(FEC:frame error concealment)モジュール、等を含むことができるがこれらに限定されず、本説明において「補足コーデックモジュール(supplementary codec module)」と一括して呼ばれる。信号特性またはネットワークフィードバックに基づいて変化し得る補足モジュール毎に割り振られたビット配分を保つことが通常、有利である。また、補足コーデックモジュールは、適応的にスイッチをオン、オフされることが可能である。この可変性は、これらのモジュールにおけるパラメータの数が通常小さいとき、補足モジュールをエンコードすることに関する問題を通常引き起こさない。しかし、補足コーデックモジュールに割り振られるビット配分を変動させることは、比較的複雑なCELPコアモジュールに割り振られるビット配分を変動させるという結果を生じる。
【0011】
実際には、所与のビットレートでCELPコアモジュールに割り振られるビット配分は、コーデックシグナリングビット配分を含むことができる全てのアクティブな補足コーデックモジュールに割り振られるビット配分でコーデックトータルビット配分を低減させることによって通常取得される。必然的に、CELPコアモジュールに割り振られるビット配分は、1ビット(すなわち、20msのフレーム長で0.05kbps)の小さい粒度で、比較的大きい最小ビットレートと最大ビットレートとの間でスパンを変動させることができる。
【発明の概要】
【発明が解決しようとする課題】
【0012】
できる限り全てのCELPコアモジュールのビットレートにROMテーブルエントリを充てることは、明らかに非効率である。したがって、限られた数の中間ビットレートに基づく細かいビットレート粒度で、異なるモジュール間のビット配分のより効率的かつ柔軟な分配が必要である。
【課題を解決するための手段】
【0013】
第1の態様によれば、本開示は、(a)音響信号をエンコードするためのエンコーダ、または(b)音響信号をデコードするためのデコーダの、CELPコアモジュールの複数の第1の部分および1つの第2の部分にビット配分を割り振る方法に関し、方法は、サブフレームを含む音響信号のフレームにおいて、第1のCELPコアモジュール部分に個々のビット配分を割り振ることと、第1のCELPコアモジュール部分に個々のビット配分を割り振った後に残ったビット配分を、第2のCELPコアモジュール部分に割り振ることと、を含む。第2のCELPコアモジュール部分のビット配分を割り振ることは、フレームのサブフレームの間に第2のCELPコアモジュール部分のビット配分を分配すること、およびフレームのサブフレームのうちの少なくとも1つに、より大きいビット配分を割り振ること、を含む。
【0014】
第2の態様によれば、(a)音響信号をエンコードするためのエンコーダ、または(b)音響信号をデコードするためのデコーダの、CELPコアモジュールの複数の第1の部分および1つの第2の部分にビット配分を割り振るためのデバイスが提供され、デバイスは、サブフレームを含む音響信号のフレームに対して、個々のビット配分の、第1のCELPコアモジュール部分への第1のアロケータと、第1のCELPコアモジュール部分に個々のビット配分を割り振った後に残ったビット配分の、第2のCELPコアモジュール部分への第2のアロケータと、を備える。第2のアロケータは、フレームのサブフレームの間に第2のCELPコアモジュール部分のビット配分を分配し、フレームのサブフレームのうちの少なくとも1つに、より大きいビット配分を割り振る。
【0015】
第3の態様によれば、音響信号をエンコードするためのエンコーダのCELPコアモジュールの複数の第1の部分および1つの第2の部分にビット配分を割り振る方法が提供され、方法は、第1のCELPコアモジュール部分に個々のビット配分を、複数の中間ビットレートのそれぞれに対して割り当てるビット配分割振テーブルを格納することと、CELPコアモジュールのビットレートを決定することと、決定したCELPコアモジュールのビットレートに基づいて中間ビットレートのうちの1つを選択することと、選択した中間ビットレートについてのビット配分割振テーブルによって割り当てられた個々のビット配分を、第1のCELPコアモジュール部分に割り振ることと、選択した中間ビットレートについてのビット配分割振テーブルによって割り当てられた個々のビット配分を第1のCELPコアモジュール部分に割り振った後に残ったビット配分を、第2のCELPコアモジュール部分に割り振ることと、を含む。CELPコアモジュールは、音響信号のフレームの1つのサブフレームにおいて声門インパルス形状コードブック(glottal-impulse-shape codebook)を使用し、第2のCELPコアモジュール部分のビット配分を割り振ることは、フレームのサブフレームの間に第2のCELPコアモジュール部分のビット配分を分配すること、および声門インパルス形状コードブックを含むサブフレームに最高のビット配分を割り振ること、を含む。
【0016】
さらなる態様は、(a)音響信号をエンコードするためのエンコーダ、または(b)音響信号をデコードするためのデコーダの、CELPコアモジュールの複数の第1の部分および1つの第2の部分にビット配分を割り振るためのデバイスに関し、デバイスは、第1のCELPコアモジュール部分に個々のビット配分を、複数の中間ビットレートのそれぞれに対して割り当てるビット配分割振テーブルと、CELPコアモジュールのビットレートの計算器と、決定したCELPコアモジュールのビットレートに基づく中間ビットレートのうちの1つの選択器と、選択した中間ビットレートについてのビット配分割振テーブルによって割り当てられた個々のビット配分の、第1のCELPコアモジュール部分への第1のアロケータと、選択した中間ビットレートについてのビット配分割振テーブルによって割り当てられた個々のビット配分を第1のCELPコアモジュール部分に割り振った後に残ったビット配分の、第2のCELPコアモジュール部分への第2のアロケータと、を備える。CELPコアモジュールは、音響信号のフレームの1つのサブフレームにおいて声門インパルス形状コードブックを使用し、第2のアロケータは、フレームのサブフレームの間に第2のCELPコアモジュール部分のビット配分を分配し、声門インパルス形状コードブックを含むサブフレームに最高のビット配分を割り振る。
【0017】
ビット配分割振方法およびデバイスの前述および他の目的、利点、および特徴は、添付の図面を参照しながらほんの一例として示される例証的な実施形態の以下の非限定的な説明を読むと、より明らかになるであろう。
【図面の簡単な説明】
【0018】
図1】以下の説明において開示されるようなビット配分割振方法およびデバイスの実装形態の考え得る背景を描写する、ステレオ音響処理および通信システムの概略ブロック図である。
図2】本開示のビット配分割振方法およびデバイスを同時に示すブロック図である。
図3】本開示のビット配分割振方法およびデバイスを形成するハードウェア構成要素の構成例の簡素化したブロック図である。
【発明を実施するための形態】
【0019】
図1は、以下の説明において開示されるようなビット配分割振方法およびデバイスの実装形態の考え得る背景を描写する、ステレオ音響処理および通信システム100の概略ブロック図である。本ビット配分割振方法およびデバイスはステレオに限定されるものではなく、マルチチャネルコーディングまたはモノコーディングにおいて使用されることも可能であるということに留意されたい。
【0020】
図1のステレオ音響処理および通信システム100は、通信リンク101をはさむステレオ音響信号の伝送をサポートする。通信リンク101は、例えば有線リンクまたは光ファイバリンクを含むことができる。代替として、通信リンク101は、無線周波数リンクを少なくとも部分的に含むことができる。無線周波数リンクは、セルラー電話通信などで見られることがある、共有帯域幅リソースを必要とする複数の同時通信をサポートすることが多い。図示されていないが、通信リンク101は、後で再生するためにエンコードされたステレオ音響信号を記録および格納する、処理および通信システム100の単一デバイス実装形態におけるストレージデバイスによって置き替えられることが可能である。
【0021】
図1をさらに参照すると、例えば、マイクロフォン102と122のペアは、検出された元のアナログステレオ音響信号の左103および右123のチャネルを生み出す。前述の説明において示されたように、音響信号は、特にスピーチおよび/またはオーディオを含むことができるが、これらに限らない。
【0022】
元のアナログ音響信号の左103および右123のチャネルは、アナログ/デジタル(A/D)コンバータ104に供給され、元のアナログ音響信号を、元のデジタルステレオ音響信号の左105および右125のチャネルにコンバートする。元のデジタルステレオ音響信号の左105および右125のチャネルは記録され、ストレージデバイス(図示せず)から供給されることも可能である。
【0023】
ステレオ音響エンコーダ106は、デジタルステレオ音響信号の左105および右125のチャネルをエンコードし、このことにより、ビットストリーム107の形式で多重化されたエンコードパラメータのセットを生み出し、任意選択のエラー訂正エンコーダ108に配信される。任意選択のエラー訂正エンコーダ108は、存在するとき、ビットストリーム107におけるバイナリ表現のエンコードパラメータに冗長性を追加し、その後、結果として生じるビットストリーム111を通信リンク101で伝送する。
【0024】
レシーバ側において、任意選択のエラー訂正デコーダ109は、受信したデジタルビットストリーム111における上述の冗長情報を利用して、通信リンク101での伝送中に発生した可能性のあるエラーを検出して訂正し、受信したエンコードパラメータでビットストリーム112を生み出す。ステレオ音響デコーダ110は、ビットストリーム112における受信したエンコードパラメータをコンバートし、デジタルステレオ音響信号の合成された左113および右133のチャネルを作り出す。ステレオ音響デコーダ110において再構築されたデジタルステレオ音響信号の左113および右133のチャネルは、デジタル/アナログ(D/A)コンバータ115において、アナログステレオ音響信号の合成された左114および右134のチャネルにコンバートされる。
【0025】
アナログステレオ音響信号の合成された左114および右134のチャネルは、ラウドスピーカーユニット116と136のペアにおいてそれぞれ再生される(ラウドスピーカーユニット116と136のペアは、明らかにヘッドホンによって置き替えられることが可能である)。代替として、ステレオ音響デコーダ110からのデジタルステレオ音響信号の左113および右133のチャネルは、ストレージデバイス(図示せず)に供給および記録されることも可能である。
【0026】
非限定的な例として、本開示によるビット配分割振方法およびデバイスは、図1の音響エンコーダ106および音響デコーダ110において実行されることが可能である。図1は、マルチチャネル、ならびに/またはシーンベースのオーディオ、ならびに/または独立のストリームエンコーディングおよびデコーディング(例えば、サラウンド、および高度のアンビソニックス)のケースを含むように拡張されることが可能であるということに留意されたい。
【0027】
図2は、本開示による、ビット配分割振方法200およびビット配分割振デバイス250を同時に示すブロック図である。
【0028】
ここで、ビット配分割振方法200およびビット配分割振デバイス250はフレーム毎に動作し、以下の説明は、特に明記しない限り、エンコードされる音響信号の連続フレームのうちの1つに関するものであるということに留意されたい。
【0029】
図2において、補足コーデックモジュールをエンコードするために使用されるビット数を変動させた結果として、ビット配分がフレームによって変動するCELPコアモジュールエンコーディングが検討される。また、異なるCELPコアモジュール部分の中のビット配分の分配は、エンコーダ106およびデコーダ110において対称的に行われ、CELPコアモジュールのエンコードに割り振られたビット配分に基づく。
【0030】
以下の説明は、汎用コーディングモードを使用するEVSベースコーデックにおける実装形態の非限定的な例を示す。EVSベースコーデックは、他のCELPコアビットレートまたはコーデックの改善を可能にするための修正を伴う、参考文献[2]において説明されるようなEVS標準に基づくコーデックである。本開示におけるEVSベースコーデックは、メタデータ、ステレオ、またはマルチチャネルコーディングなどの、補足コーディングモジュールを使用してコーディングフレームワークの中で使用される(これは、以下において、拡張EVSコーデックと呼ばれる)。本開示において説明されるようなものに類似の原理は、EVSベースコーデックにおける他のコーディングモード(例えば、音声コーディング、遷移コーディング、非アクティブコーディング、...)に適用されることが可能である。その上、EVSとは異なり、CELP以外のコード体系を使用する他の任意のコーデックにおいて類似の原理が実行されることが可能である。
【0031】
動作201
図2を参照すると、トータルビット配分btotalが、音響信号の各連続フレームに対するコーデックに割り振られる。CBRのケースにおいて、このコーデックトータルビット配分btotalは不変である。可変ビットレートコーデックにおいてビット配分割振方法200およびビット配分割振デバイス250を使用することもでき、コーデックトータルビット配分btotalは、(拡張EVSコーデックを伴うケースにおけるように)フレームによって変化させることが可能である。
【0032】
動作202
動作202において、カウンタ252は、補足コーデックモジュールをエンコードするために使用されるビット数(ビット配分)bsupplementary、およびコーデックシグナリングをデコーダに伝送するためのビット数(ビット配分)bcodec_signaling(図示せず)、を決定する(数える)。
【0033】
補足コーデックモジュールは、ステレオモジュール、フレーム消去隠蔽(FEC)モジュール、帯域幅拡張(BWE)モジュール、メタデータコーディングモジュール、等を備えることができる。以下の例証的な実施形態において、補足モジュールは、ステレオモジュールおよびBWEモジュールを備える。当然、異なるまたは追加の補足コーデックモジュールが使用されることが可能である。
【0034】
ステレオモジュール
コーデックは、2つ以上の入力オーディオチャネルのエンコードをサポートするように設計されることが可能である。2つのオーディオチャネルのケースにおいて、モノ(単一チャネル)コーデックは、ステレオコーデックを形成するためにステレオモジュールによって拡張されることが可能である。ステレオモジュールは、次に、補足コーデックモジュールのうちの1つを形成する。ステレオコーデックは、いくつかの異なるステレオエンコーディング技法を使用して実行されることが可能である。非限定的な例として、低ビットレートで効率的に使用されることが可能な2つのステレオエンコーディング技法の使用が、以下において論じられる。明らかに、他のステレオエンコーディング技法が実行されることが可能である。
【0035】
第1のステレオエンコーディング技法は、パラメトリックステレオと呼ばれる。パラメトリックステレオは、ステレオイメージを表現する(ステレオパラメータに対応する)一定量のステレオ側情報を加えた共通モノコーデックを使用して、モノ信号として2つのオーディオチャネルをエンコードする。2つの入力オーディオチャネルは、モノ信号にダウンミックスされ、ステレオパラメータは、次に、例えば離散フーリエ変換(DFT)ドメインといった変換ドメインにおいて通常、計算され、いわゆるバイノーラルキューまたはインターチャネルキューに関するものである。バイノーラルキュー(参考文献[5]を参照)は、両耳間レベル差(ILD)、両耳間時間差(ITD)、および両耳間相関(IC)を含む。信号特性、ステレオシーン構成、等に応じて、いくつかまたは全てのバイノーラルキューはエンコードされ、デコーダに伝送される。どのキューがエンコードされるかについての情報は、シグナリング情報として送信され、通常、ステレオ側情報の一部である。変化し得るビット数が使用されるという結果を生じる異なるエンコーディング技法を使用して、特定のバイノーラルキューが量子化されることも可能である。次に、量子化されたバイノーラルキューに加えて、ステレオ側情報は、ダウンミキシングから生じる量子化された残留信号を、通常、中間およびより高いビットレートで、収めることができる。残留信号は、例えば算術エンコーダといったエントロピーエンコーディング技法を使用してエンコードされることが可能である。必然的に、残留信号をエンコードするために使用されるビット数は、フレームによってかなり変動する可能性がある。
【0036】
別のステレオエンコーディング技法は、時間ドメインにおいて動作する技法である。このステレオエンコーディング技法は、2つの入力オーディオチャネルを、いわゆる1次チャネルおよび2次チャネルにミックスする。例えば、参考文献[6]において記述される方法に従って、時間ドメインミキシングは、ミキシングファクタに基づくことが可能であり、1次チャネルおよび2次チャネルを生み出す際に、2つの入力オーディオチャネルの個々の分担を決定する。ミキシングファクタは、例えば、モノ信号についての入力チャネルの正規化相関、または2つの入力チャネル間の長期相関の差といった、いくつかの測定規準から導出される。1次チャネルは、共通モノコーデックによってエンコードされることが可能である一方で、2次チャネルは、より低いビットレートコーデックによってエンコードされることが可能である。2次チャネルエンコーディングは、1次チャネルと2次チャネルとの間のコヒーレンスを活用することができ、1次チャネルからのいくつかのパラメータを再使用することが可能である。必然的に、1次チャネルおよび2次チャネルをエンコードするために使用されるビット数は、個々のチャネルのチャネル類似性およびエンコードモードに基づいて、フレームによってかなり変動する可能性がある。
【0037】
ステレオエンコーディング技法は当業者に別途知られており、したがって、本明細書においてさらに説明されない。補足コーディングモジュールの例としてステレオが説明されたが、開示の方法は、アンビソニックス(シーンベースオーディオ)、マルチチャネル(チャネルベースオーディオ)、またはメタデータを加えたオブジェクト(オブジェクトベースオーディオ)、を含む3Dオーディオコーディングフレームワークにおいて使用されることが可能である。補足モジュールは、これらの技法のいずれかを含むこともできる。
【0038】
BWEモジュール
広帯域(WB:wideband)または超広帯域(SWB:super wideband)コーデックを含む最近のスピーチコーデックの大部分において、入力信号は、周波数帯域分割処理を用いながらブロック(フレーム)において処理される。より低い周波数帯域は、通常、CELPモデルを使用してエンコードされ、遮断周波数までの周波数を含む。次に、より高い周波数帯域は、残りのエンコードされるスペクトルを含めるためにBWE技法によって別々に効率的にエンコードされるか推定される。2つの帯域間の遮断周波数は、各コーデックの設計パラメータである。例えば、参考文献[2]において説明されるようなEVSコーデックにおいて、遮断周波数は、コーデックの動作モードおよびビットレートに依存する。特に、より低い周波数帯域は、7.2kbps~13.2kbpsのビットレートで6.4kHzまで、または16.4kbps~64kbpsのビットレートで8kHzまで、拡張する。BWEは、次に、WB(8kHzまで)、SWB(14.4kHzもしくは16kHzまで)、または全帯域(FB、20kHzまで)のエンコーディングのためにオーディオ帯域幅をさらに拡張する。
【0039】
BWEの背景にあるアイデアは、より低い周波数帯域とより高い周波数帯域との間の固有の相関性を活用することであり、より低い周波数と比較して、より高い周波数におけるエンコード歪みに対する知覚耐性が高くなるという利益を得る。必然的に、より高い帯域のBWEエンコーディングのために使用されるビット数は、より低い帯域のCELPエンコーディングと比較して、通常、非常に低いか、またはゼロにさえなる。例えば、参考文献[2]において説明されるようなEVSコーデックにおいて、ビット配分が伝送されないBWE(いわゆる、ブラインドBWE)は、7.2kbps~8.0kbpsのビットレートで使用される一方、いくつかのビット配分を伴うBWE(いわゆる、誘導型BWE(guided BWE))は、9.6kbps~64kbpsのビットレートで使用される。誘導型BWEの正確なビット配分は、実際のコーデックビットレート次第である。
【0040】
以下の説明において、誘導型BWEが検討され、補足コーデックモジュールのうちの1つを形成する。より高い帯域のBWEエンコーディングのために使用されるビット数は、フレームによって変動する可能性があり、より低い帯域のCELPエンコーディングのために使用されるビット数よりずっと少ない(典型的には1kbps~3kbps)。
【0041】
やはりBWEは当業者に別途知られており、したがって、本明細書においてさらに説明されない。
【0042】
コーデックシグナリング
ビットストリームは、通常、その初めに、コーデックシグナリングビットを収める。これらのビット(コーデックシグナリングビット配分)は、通常、例えば、コーデック構成、または、エンコードされる補足コーデックモジュールの性質についての情報といった、非常に高レベルのコーデックパラメータを表現する。マルチチャネルコーデックのケースにおいて、これらのビットは、例えば、エンコードされる(輸送する)チャネルの数、および/またはコーデックフォーマット(シーンベースまたはオブジェクトベース、等)を表現することができる。ステレオエンコーディングのケースにおいて、これらのビットは、例えば、使用されるステレオエンコーディング技法を表現することができる。コーデックシグナリングビットを使用して送信されることが可能なコーデックパラメータの別の例は、オーディオ信号帯域幅である。
【0043】
やはりコーデックシグナリングは当業者に別途知られており、したがって、本明細書においてさらに説明されない。また、カウンタ(図示せず)は、コーデックシグナリングのために使用されるビット数(ビット配分)を数えるために使用されることが可能である。
【0044】
動作204
図2を再び参照すると、動作204において、減算器254は、以下の関係を使用して、補足コーデックモジュールのエンコードのためのビット配分bsupplementary、およびコーデックシグナリングを伝送するためのビット配分bcodec_signalingを、コーデックトータルビット配分btotalから減算して、CELPコアモジュールのビット配分bcoreを取得する。
bcore=btotal-bsupplementary-bcodec_signaling (1)
【0045】
上述のように、補足コーデックモジュールをエンコードするためのビット数bsupplementary、およびコーデックシグナリングをデコーダに伝送するためのビット配分bcodec_signalingはフレームによって変動し、したがって、CELPコアモジュールのビット配分bcoreもフレームによって変動する。
【0046】
動作205
動作205において、カウンタ255は、CELPコアモジュールシグナリングをデコーダに伝送するためのビット数(ビット配分)bsignalingを数える。CELPコアモジュールシグナリングは、例えば、オーディオ帯域幅、CELPエンコーダタイプ、鮮明化フラグ(sharpening flag)、等を含むことができる。
【0047】
動作206
動作206において、減算器256は、以下の関係を使用して、CELPコアモジュールシグナリングを伝送するためのビット配分bsignalingをCELPコアモジュールのビット配分bcoreから減算して、CELPコアモジュール部分をエンコードするためのビット配分b2を知る。
b2=bcore-bsignaling (2)
【0048】
動作207
動作207において、中間ビットレート選択器257は、フレームの持続期間でビット数b2を割ることによって、ビット配分b2をCELPコアモジュールのビットレートにコンバートする計算器を備える。選択器257は、CELPコアモジュールのビットレートに基づいて中間ビットレートを見つける。
【0049】
少数の候補中間ビットレートが使用される。EVSベースコーデックにおける実装形態の例において、5.00kbps、6.15kbps、7.20kbps、8.00kbps、9.60kbps、11.60kbps、13.20kbps、14.80kbps、16.40kbps、19.40kbps、22.60kbps、24.40kbps、32.00kbps、48.00kbps、および64.00kbpsという15個(15)のビットレートは、候補中間ビットレートとみなされてよい。当然、15個(15)とは異なるいくつかの候補中間ビットレートを使用することが可能であり、異なる値の候補中間ビットレートを使用することも可能である。
【0050】
実装形態の同じ例において、EVSベースコーデックにおいて、見つかった中間ビットレートは、CELPコアモジュールのビットレートに最も近い高い方の候補中間ビットレートである。例えば、9.00kbpsのCELPコアモジュールのビットレートについて、見つかった中間ビットレートは、前段落において挙げられた候補中間ビットレートを使用すると、9.60kbpsになる。
【0051】
実装形態の別の例において、見つかった中間ビットレートは、CELPコアモジュールのビットレートに最も近い低い方の候補中間ビットレートである。同じ例を使用すると、9.00kbpsのCELPコアモジュールのビットレートについて、見つかった中間ビットレートは、前段落において挙げられた候補中間ビットレートを使用すると、8.00kbpsになる。
【0052】
動作208
動作208において、ROMテーブル258は、CELPコアモジュールの第1の部分をエンコードするための個々の所定のビット配分を、各候補中間ビットレートについて格納する。非限定的な例として、ROMテーブル258にビット配分が格納されるCELPコアモジュールの第1の部分は、LPフィルタ係数、適応コードブック、適応コードブック利得、およびイノベーションコードブック利得を含むことができる。この実装形態において、イノベーションコードブックをエンコードするためのビット配分は、ROMテーブル258に格納されない。
【0053】
言い換えれば、候補中間ビットレートのうちの1つが選択器257によって選択されるとき、ROMテーブル258に格納された関連付けられたビット配分は、上記において識別されたCELPコアモジュールの第1の部分(LPフィルタ係数、適応コードブック、適応コードブック利得、およびイノベーションコードブック利得)のエンコーディングに割り振られる。しかし、説明された実装形態において、イノベーションコードブックをエンコードするためのビット配分は、ROMテーブル258に格納されない。
【0054】
以下のTable 1(表1)は、LPフィルタ係数をエンコードするための個々のビット配分(ビット数)bLPCを、各候補中間ビットレートについて格納するROMテーブル258の例である。右列が候補中間ビットレートを識別する一方で、左列は、個々のビット配分(ビット数)bLPCを示す。簡略化するために、LPフィルタ係数をエンコードするためのビット配分はフレーム毎の単一の値であるが、現在のフレームにおいて2つ以上のLP分析が行われるとき(例えば中間フレームおよびエンドフレームのLP分析)、いくつかのビット配分値の合計であることが可能である。
【0055】
【表1】
【0056】
以下のTable 2(表2)は、適応コードブックをエンコードするための個々のビット配分(ビット数)bACBnを、各候補中間ビットレートについて格納するROMテーブル258の例である。右列が候補中間ビットレートを識別する一方で、左列は、個々のビット配分(ビット数)bACBnを示す。適応コードブックは、あらゆるサブフレームnにおいてサーチされるので、N個のビット配分bACBn(サブフレーム毎に1つ)が、あらゆる候補中間ビットレートに対して取得され、Nは、フレーム内のサブフレームの数を表現する。ビット配分bACBnは、異なるサブフレームにおいて異なってよいということに留意されたい。具体的には、Table 2(表2)は、上記において定義された15個(15)の候補中間ビットレートを使用してEVSベースコーデックにビット配分bACBnを格納するROMテーブル258の例である。
【0057】
【表2】
【0058】
EVSベースコーデックを使用する例において、中間ビットレートあたり4つ(4)のビット配分bACBnは、20msのフレームが4つ(4)のサブフレーム(N=4)から成る、より低いビットレートで格納され、中間ビットレートあたり5つ(5)のビット配分bACBnは、20msのフレームが5つ(5)のサブフレーム(N=5)から成る、より高いビットレートで格納される、ということに留意されたい。Table 2(表2)を参照すると、9.60kbpsの中間ビットレートに対応する9.00kbpsのCELPコアモジュールのビットレートについて、個々のサブフレームにおけるビット配分bACBnは、それぞれ、9、6、9、および6ビットである。
【0059】
以下のTable 3(表3)は、適応コードブック利得およびイノベーションコードブック利得をエンコードするための個々のビット配分(ビット数)bGnを、各候補中間ビットレートについて格納するROMテーブル258の例である。下記の例において、適応コードブック利得およびイノベーションコードブック利得は、ベクトル量子化器を使用して量子化され、このようにして、ただ1つの量子化インデックスとして表現される。右列が候補中間ビットレートを識別する一方で、左列は、個々のビット配分(ビット数)bGnを示す。Table 3(表3)から分かるように、フレームのあらゆるサブフレームnに対して1つのビット配分bGnがある。したがって、N個のビット配分bGnは、あらゆる候補中間ビットレートについて格納され、Nは、フレーム内のサブフレームの数を表現する。利得量子化器、および使用される量子化テーブルのサイズに応じて、ビット配分bGnは、異なるサブフレームにおいて異なってよいということに留意されたい。
【0060】
【表3】
【0061】
同じ手法で、他のCELPコアモジュールの第1の部分(これらが存在する場合)を量子化するためのビット配分は、各候補中間ビットレートについてROMテーブル258に格納されることが可能である。例は、適応コードブックローパスフィルタリングのフラグ(サブフレーム毎に1ビット)であることが可能である。したがって、イノベーションコードブックを除く全てのCELPコアモジュール部分(第1の部分)に関連付けられたビット配分は、各候補中間ビットレートについてROMテーブル258に格納されることが可能である一方で、一定のビット配分b4は、依然として利用可能なままである。
【0062】
動作209
動作209において、ビット配分アロケータ259は、ROMテーブル258に格納され、選択器257によって選択した中間ビットレートに関連付けられたビット配分を、上述のCELPコアモジュールの第1の部分(LPフィルタ係数、適応コードブック、適応およびイノベーションコードブック利得、等)をエンコードするために割り振る。
【0063】
動作210
動作210において、減算器260は、(a)選択器257によって選択された候補中間ビットレートに関連付けられたLPフィルタ係数をエンコードするためのビット配分bLPC、(b)選択された候補中間ビットレートに関連付けられたN個のサブフレームのビット配分bACBnの合計、(c)選択された候補中間ビットレートに関連付けられたN個のサブフレームの適応およびイノベーションコードブック利得を量子化するためのビット配分bGnの合計、ならびに(d)他のCELPコアモジュールの第1の部分(これらが存在する場合)をエンコードするための、選択された中間ビットレートに関連付けられたビット配分、をビット配分b2から減算し、イノベーションコードブック(第2のCELPコアモジュール部分)をエンコードするために、依然として利用可能な残ったビット配分(ビット数)b4を見つける。この目的のために、以下の関係が、減算器260によって使用されることが可能である。
【0064】
【数1】
【0065】
動作211
動作211において、FCBビットアロケータ261は、現在のフレームのN個のサブフレームの間に、イノベーションコードブック(固定コードブック(FCB:Fixed CodeBook)、第2のCELPコアモジュール部分)をエンコードするために、残ったビット配分b4を分配する。具体的には、ビット配分b4は、様々なサブフレームnに割り振られるビット配分bFCBnに分割される。例えば、これは、N個のサブフレームの間にビット配分b4をできるだけ等しく分割する反復手順によって行われることが可能である。
【0066】
他の非限定的な実装形態において、FCBビットアロケータ261は、以下の要件のうちの少なくとも1つを仮定することによって設計されることが可能である。
I.ビット配分b4がサブフレーム全ての間に等しく分配されることが不可能なケースにおいて、可能な限り最高の(すなわち、より大きい)ビット配分が、第1のサブフレームに割り振られる。例として、b4=106ビットの場合、4つのサブフレームあたりのFCBビット配分は、28-26-26-26ビットとして割り振られる。
II.他のサブフレームのFCBコードブックを潜在的に増加させるのに利用可能なビットが多く存在する場合、第1のサブフレームの後の少なくとも1つの次のサブフレーム(または第1のサブフレームに続く少なくとも1つのサブフレーム)に割り振られるFCBビット配分(ビット数)は増加される。例として、b4=108ビットの場合、4つのサブフレームあたりのFCBビット配分は、28-28-26-26ビットとして割り振られる。追加の例において、b4=110ビットの場合、4つのサブフレームあたりのFCBビット配分は、28-28-28-26ビットとして割り振られる。
III.ビット配分b4は、必ずしも、サブフレーム全ての間にできるだけ等しく分配される必要はなく、むしろ、できる限りビット配分b4を使用する必要がある。例として、b4=87ビットの場合、4つのサブフレームあたりのFCBビット配分は、要件IIIが考慮されないとき、例えば24-20-20-20ビットまたは20-20-20-24ビットではなく、26-20-20-20ビットとして割り振られる。別の例において、b4=91ビットの場合、4つのサブフレームあたりのFCBビット配分が、26-24-20-20ビットとして割り振られる一方で、例えば、20-24-24-20ビットは、要件IIIが考慮されない場合、割り振られる。必然的に、両方の例において、要件IIIが考慮されるとき、ただ1つのビットが未使用のままである一方で、そうでなければ、3ビットが未使用のままである。
要件IIIは、例えば、下記の本明細書におけるTable 4(表4)といった、FCB構成テーブルからの2つの非連続のラインをFCBビットアロケータ261が選択することを可能にする。非限定的な例として、b4=87ビットを検討する。FCBビットアロケータ261は、FCBサーチを構成するために用いられることになる全てのサブフレームについてTable 4(表4)からライン6を最初に選ぶ(これは、20-20-20-20ビット配分割振を生じる)。次に、要件Iは、ライン6およびライン7(24-20-20-20ビット)が用いられるように割振りを変更し、要件IIIは、FCB構成テーブル(Table 4(表4))からライン6およびライン8(26-20-20-20)を使用することによって割振りを選択する。
下記は、(EVS(参考文献[2])から複写された)FCB構成テーブルの例としてのTable 4(表4)である。
【0067】
【表4】
【0068】
ここで、第1の列は、FCBコードブックビットの数に対応し、第4の列は、サブフレームあたりのFCBパルスの数に対応する。b4=87ビットについての上記の例において、22ビットコードブックは存在せず、FCBアロケータは、このようにして、FCB構成テーブルから2つの非連続のラインを選択し、26-20-20-20のFCBビット配分割振を生じるということに留意されたい。
IV.遷移コーディング(TC:Transition Coding)モード(参考文献[2]を参照)を使用してエンコードするときに、サブフレーム全ての間にビット配分が等しく分配されることが不可能なケースにおいて、可能な限り最大の(より大きい)ビット配分が、声門インパルス形状コードブックを使用するサブフレームに割り振られる。例として、b4=122ビットであり、声門インパルス形状コードブックが、第3のサブフレームにおいて使用される場合、4つのサブフレームあたりのFCBビット配分は、30-30-32-30ビットとして割り振られる。
V.要件IVを適用した後、TCモードフレームにおいて別のFCBコードブックを潜在的に増加させるのに利用可能なビットが多く存在する場合、最後のサブフレームに割り振られるFCBビット配分(ビット数)は増加される。例として、b4=116ビットであり、声門インパルス形状コードブックが、第2のサブフレームにおいて使用される場合、4つのサブフレームあたりのFCBビット配分は、28-30-28-30ビットとして割り振られる。この要件の背景にあるアイデアは、開始/遷移イベントの前の励振の部分よりも知覚的に重要な開始/遷移イベントの後の励振の部分をより良く構築することである。
【0069】
声門インパルス形状コードブックは、参考文献[2]のセクション5.2.3.2.1(Glottal pulse codebook search)において説明されるような、特定の位置に置かれた、先端を切られた声門インパルス(truncated glottal impulse)の量子化された正規化形状からなることが可能である。コードブックサーチは、次に、最善の形状および最善の位置の選択を含む。例えば、声門インパルス形状は、候補インパルス位置に対応するただ1つの非ゼロの要素を収めるコードベクトルによって表現されることが可能である。選択されると、位置コードベクトルは、形状フィルタのインパルスレスポンスで、畳み込まれる。
【0070】
上記の要件を使用すると、FCBビットアロケータ261は、以下のように設計されることが可能である(C-codeで表現される)。
【0071】
【表5A】
【表5B】
【表5C】
【表5D】
【0072】
ここで、関数SWAP()は、2つの入力値を取り替える/入れ替える。関数fcb_table()は、次に、(上記において定義されたような)FCB(固定またはイノベーションコードブック)構成テーブルの対応するラインを選択し、選択したFCB(固定またはイノベーションコードブック)をエンコードするために必要なビット数を返す。
【0073】
動作212
カウンタ262は、イノベーションコードブック(固定コードブック(FCB)、第2のCELPコアモジュール部分)をエンコードするための、N個の様々なサブフレームに割り振られるビット配分(ビット数)bFCBnの合計を決定する。
【0074】
【数2】
【0075】
動作213
動作213において、減算器263は、以下の関係を使用して、イノベーションコードブックのエンコード後に残ったビット数b5を決定する。
【0076】
【数3】
【0077】
理想的には、イノベーションコードブックのエンコード後、残ったビットの数b5はゼロに等しい。しかし、イノベーションコードブックインデックスの粒度は1より大きい(通常2~3ビット)ので、この結果を実現するのは不可能である可能性がある。必然的に、少ないビット数は、イノベーションコードブックのエンコード後に使われないままであることが多い。
【0078】
動作214
動作214において、ビットアロケータ264は、イノベーションコードブックを除くCELPコアモジュール部分(CELPコアモジュールの第1の部分)のうちの1つのビット配分を増加させるために、使われないビット配分(ビット数)b5を割り当てる。例えば、使われないビット配分b5は、以下の関係を使用して、ROMテーブル258から取得されたビット配分bLPCを増加させるために使用されることが可能である。
b'LPC=bLPC+b5 (6)
【0079】
使われないビット配分b5は、例えば、ビット配分bACBnまたはbGnといった、他のCELPコアモジュールの第1の部分のビット配分を増加させるために使用されることも可能である。また、使われないビット配分b5は、1ビットより大きいとき、2つまたはさらに多くのCELPコアモジュールの第1の部分の間に再分配されることが可能である。代替として、使われないビット配分b5は、例えば信号クラス(参考文献[2]を参照)といった(補足コーデックモジュールにおいてすでに数えられていない場合)FEC情報を伝送するために使用されることが可能である。
【0080】
高ビットレートCELP
従来のCELPには、高ビットレートで使用されるときに、スケーラビリティおよび複雑性の限界がある。これらの限界を克服するために、CELPモデルは、参考文献[3]および参考文献[4]において説明されるような、特殊な変換ドメインコードブックによって拡張されることが可能である。適応およびイノベーション励振分担のみから励振が構成される従来のCELPとは対照的に、拡張モデルは、励振の第3の部分、すなわち変換ドメイン励振分担を導入する。追加の変換ドメインコードブックは、プリエンファシスフィルタ、時間ドメインから周波数ドメインへの変換、ベクトル量子化器、および変換ドメイン利得を通常含む。拡張モデルにおいて、かなりの数(少なくとも10)のビットが、あらゆるサブフレームにおけるベクトル量子化器に割り当てられる。
【0081】
高ビットレートCELPにおいて、ビット配分は、上述のような手順を使用してCELPコアモジュール部分に割り振られる。この手順に従って、N個のサブフレームにおけるイノベーションコードブックをエンコードするためのビット配分bFCBnの合計は、ビット配分b4に等しいか、近づくはずである。高ビットレートCELPにおいて、ビット配分bFCBnは通常、大きくなく、使われないビットの数b5は比較的大きく、変換ドメインコードブックパラメータをエンコードするために使用される。
【0082】
第1に、N個のサブフレームにおける変換ドメイン利得をエンコードするためのビット配分bTDGnの合計、および最後に、ベクトル量子化器のためのビット配分を除く他の変換ドメインコードブックパラメータのビット配分は、以下の関係を使用して、使われないビット配分b5から減算される。
【0083】
【数4】
【0084】
次に、残ったビット配分(ビット数)b7は、変換ドメインコードブック内のベクトル量子化器に割り振られ、全てのサブフレームの間に分配される。ベクトル量子化器のサブフレームによるビット配分(ビット数)は、bVQnと表される。使用されるベクトル量子化器(例えば、EVSにおいて使用されるようなAVQ量子化器)に応じて、量子化器は、割り振られたビット配分bVQnの全てを消費せず、各サブフレームにおいて利用可能な少ない可変のビット数を残す。これらのビットは、同じフレーム内の後続のサブフレームにおいて用いられるフローティングビットである。変換ドメインコードブックの効果をより良くするために、わずかに高い(大きい)ビット配分(ビット数)が、第1のサブフレームにおけるベクトル量子化器に割り振られる。実装形態の例が、以下の擬似コードにおいて示される。
【0085】
【数5】
【0086】
ここで、
【数6】
は、xより小さいか等しい最大の整数を表し、Nは、1つのフレーム内のサブフレームの数である。ビット配分(ビット数)b7がサブフレーム全ての間に等しく分配される一方で、第1のサブフレームのためのビット配分は、最終的にN-1ビットまでわずかに増加される。必然的に、高ビットレートCELPにおいて、この動作の後に残るビットはない。
【0087】
拡張EVSコーデックに関する他の態様
多くのインスタンスにおいて、所与のCELPコアモジュール部分をエンコードするための2つ以上の選択肢がある。EVSのような複雑なコーデックにおいて、所与のCELPコアモジュール部分をエンコードするために、いくつかの異なる技法が利用可能であり、1つの技法の選択は、CELPコアモジュールのビットレート(コアモジュールのビットレートは、秒あたりのフレーム数を乗じたCELPコアモジュールのビット配分bcoreに対応する)に基づいて、通常、行われる。例は、参考文献[2]において説明されるようなEVSコーデックにおいて利用可能な3つ(3)の異なる技法が存在する利得量子化であり、以下の汎用コーディング(GC)モードである。
- サブフレーム予測に基づくベクトル量子化器(GQ1、8.0kbpsに等しいか低いコアビットレートで使用される)、
- 適応およびイノベーション利得のメモリのないベクトル量子化器(GQ2、8kbpsより高く、32kbpsより低いか等しいコアビットレートで使用される)、ならびに
- 2つのスカラ量子化器(GQ3、32kbpsより高いコアビットレートで使用される)。
【0088】
また、定数コーデックトータルビットレートbtotalにおいて、所与のCELPコアモジュール部分をエンコードおよび量子化するための種々の技法は、CELPコアモジュールのビットレートに応じて、フレーム毎にスイッチされることが可能である。例は、48kbpsでのパラメトリックステレオコーディングモードであり、この中で、下記のTable 5(表6)において示されるように、種々の利得量子化器(参考文献[2]を参照)が種々のフレームにおいて使用される。
【0089】
【表6】
【0090】
コーデック構成に応じて、所与のCELPコアモジュールのビットレートに対して異なるビット配分割振があり得るということに留意することも興味深い。例として、EVSベースTDステレオコーディングモードにおける1次チャネルのエンコーディングは、第1のシナリオにおいて、16.4kbpsのトータルコーデックビットレートで機能し、第2のシナリオにおいて、24.4kbpsのトータルコーデックビットレートで機能する。両方のシナリオにおいて、トータルコーデックビットレートが異なっていても、CELPコアモジュールのビットレートが同じとなることが起こる可能性がある。しかし、異なるコーデック構成は、異なるビット配分の分配をもたらす可能性がある。
【0091】
EVSベースステレオフレームワークにおいて、16.4kbpsと24.4kbpsとの間の異なるコーデック構成は、それぞれ、16.4kbpsにおける12.8kHz、24.4kbpsにおける16kHzの、異なるCELPコア内部サンプリングレートに関するものである。このようにして、4つのサブフレーム、または5つのサブフレーム、を有するCELPコアモジュールコーディングが用いられ、対応するビット配分の分配が使用される。下記において、2つの言及されたトータルコーデックビットレートの間のこれらの相違が示される(テーブルセル毎の1つの値が、フレーム毎の1つのパラメータに対応する一方で、より多くの値が、サブフレーム毎のパラメータに対応する)。
【0092】
【表7】
【0093】
したがって、上記のテーブルは、異なるコーデックトータルビットレートにおける同じコアビットレートに対して異なるビット配分の分配がある可能性があるということを示す。
【0094】
エンコーダ処理フロー
補足コーデックモジュールが、ステレオモジュールおよびBWEモジュールを備えるとき、エンコーダ処理のフローは、以下のようなものであることが可能である。
- ステレオ側(または2次チャネル)情報がエンコードされ、ステレオ側情報に割り振られたビット配分が、コーデックトータルビット配分から減算される。コーデックシグナリングビットも、トータルビット配分から減算される。
- BWE補足モジュールをエンコードするためのビット配分が、次に、ステレオモジュールおよびコーデックシグナリングビット配分を引いたコーデックトータルビット配分に基づいてセットされる。
- 「ステレオ補足モジュール」および「コーデックシグナリング」ビット配分を引いたコーデックトータルビット配分からBWEビット配分が減算される。
- コアモジュールのビット配分を割り振るための上述の手順が行われる。
- CELPコアモジュールが、エンコードされる。
- BWE補足モジュールが、エンコードされる。
【0095】
デコーダ
CELPコアモジュールのビットレートは、ビットストリームの中で直接的に信号を送られないが、補足コーデックモジュールのビット配分に基づいてデコーダにおいて計算される。ステレオおよびBWE補足モジュールを備える実装形態の例において、以下の手順が続くことが可能である。
- コーデックシグナリングは、ビットストリームに対して読書きされる。
- ステレオ側(または2次チャネル)情報は、ビットストリームに対して読書きされる。ステレオ側情報をコーディングするためのビット配分は変動し、ステレオ側シグナリング、および、コーディングのために使用される技法に依存する。基本的に、(a)パラメトリックステレオにおいて、算術コーダおよびステレオ側シグナリングは、ステレオ側情報の読書きをいつ停止するべきかを決定する一方で、(b)時間ドメインステレオコーディングにおいて、ミキシングファクタおよびコーディングモードは、ステレオ側情報のビット配分を決定する。
- コーデックシグナリングおよびステレオ側情報のためのビット配分は、コーデックトータルビット配分から減算される。
- 次に、BWE補足モジュールのためのビット配分も、コーデックトータルビット配分から減算される。BWEビット配分の粒度は通常小さく、すなわち、a)オーディオ帯域幅(WB/SWB/FB)毎に1つのビットレートが存在するだけであり、帯域幅情報は、ビットストリームの中でコーデックシグナリングの一部として伝送される、または、b)特定の帯域幅のためのビット配分は、一定の粒度を有することができ、BWEビット配分は、ステレオモジュールビット配分を引いたコーデックトータルビット配分から決定される。例証的な実施形態において、例えば、SWB時間ドメインBWEは、ステレオモジュールのビットレートを引いたコーデックトータルビットレートに応じて、0.95kbps、1.6kbps、または2.8kbpsのビットレートを有することができる。
【0096】
残るものはCELPコアビット配分bcoreであり、前述の説明において説明されたビット配分割振手順への入力パラメータである。CELPエンコーダ(事前処理の直後)において、およびCELPデコーダ(CELPフレームデコーディングの始め)において同じ割振りが要求される。
【0097】
以下は、ほんの一例として示される、汎用コーディングビット配分割振のための拡張EVSベースコーデックからのC-codeの抜粋である。
【0098】
【表8A】
【表8B】
【表8C】
【表8D】
【表8E】
【0099】
図3は、ビット配分割振デバイスを形成し、ビット配分割振方法を実行するハードウェア構成要素の構成例の簡素化したブロック図である。
【0100】
ビット配分割振デバイスは、モバイル端末の一部として、携帯型メディアプレーヤの一部として、または任意の類似デバイスの中に実装されることが可能である。(図3において300として識別された)ビット配分割振デバイスは、入力302、出力304、プロセッサ306、およびメモリ308を備える。
【0101】
入力302は、例えばコーデックトータルビット配分btotal(図2)を受信するように構成される。出力304は、様々な割り振られたビット配分を供給するように構成される。入力302および出力304は、例えばシリアル入出力デバイスといった、共通モジュールの中に実装されることが可能である。
【0102】
プロセッサ306は、入力302に、出力304に、およびメモリ308に、動作可能なように接続される。プロセッサ306は、図2のビット配分割振デバイスの様々なモジュールの機能のサポートにおいてコード命令を実行するための1つまたは複数のプロセッサとして実現される。
【0103】
メモリ308は、プロセッサ306によって実行可能なコード命令を格納するための非一時的メモリ、具体的には、実行されると、図2のビット配分割振方法およびデバイスの動作およびモジュールをプロセッサに実行させる非一時的命令を含むプロセッサ可読メモリを含むことができる。メモリ308は、プロセッサ306によって行われる様々な関数からの中間処理データを格納するためのランダムアクセスメモリまたはバッファを含むこともできる。
【0104】
当業者は、ビット配分割振方法およびデバイスの説明は例証的なものにすぎず、何らかの限定を意図するものではないということが分かるであろう。他の実施形態は、本開示の利益にあずかるこのような当業者に、他の実施形態自体を容易に思い起こさせるであろう。さらに、開示のビット配分割振方法およびデバイスは、ビット配分の割振りまたは分配に関する既存のニーズおよび問題に対する価値ある解決策を提供するようにカスタマイズされることが可能である。
【0105】
明瞭さのために、ビット配分割振方法およびデバイスの実装形態のありふれた特徴の全てが示され、説明されるわけではない。ビット配分割振方法およびデバイスの任意のこのような実際の実装形態の開発において、非常に多くの実装形態固有の判定が、アプリケーション関連の制約、システム関連の制約、ネットワーク関連の制約、およびビジネス関連の制約を伴うコンプライアンスなど、開発者の固有のゴールを実現するために行われる必要がある可能性があるということ、ならびに、これらの固有のゴールが、1つの実装形態から別の実装形態によって、および1人の開発者から別の開発者によって変化することになるということ、が当然、正しく認識されるであろう。その上、開発努力は、複雑かつ時間のかかるものである可能性があるが、それでも、本開示の利益にあずかる音響処理分野における当業者にとっては、エンジニアリングのありふれた仕事であろう、ということが理解されよう。
【0106】
本開示によれば、本明細書において説明されるモジュール、処理動作、および/またはデータ構造は、様々なタイプのオペレーティングシステム、コンピューティングプラットフォーム、ネットワークデバイス、コンピュータプログラム、および/または汎用マシンを使用して実行されることが可能である。さらに、配線接続デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または同様のものなどの汎用性の小さいデバイスが使用されることも可能であるということを当業者は認識するであろう。一連の動作およびサブ動作を含む方法が、プロセッサ、コンピュータまたはマシンによって実行され、これらの動作およびサブ動作が、プロセッサ、コンピュータ、またはマシンによって読むことができる一連の非一時的コード命令として格納されることが可能である場合、これらは、有形媒体および/または非一時媒体に格納されることが可能である。
【0107】
本明細書において説明されるようなビット配分割振方法およびデバイスのモジュールは、本明細書において説明される目的に適した、ソフトウェア、ファームウェア、ハードウェア、またはソフトウェア、ファームウェア、もしくはハードウェアの任意の組合せを含むことができる。
【0108】
本明細書において説明されるようなビット配分割振方法において、様々な動作およびサブ動作は、様々な順序で行われることが可能であり、動作およびサブ動作のうちのいくつかは任意選択であってよい。
【0109】
非限定的な例証的実施形態のために前述の本開示が行われるが、これらの実施形態は、本開示の精神および性質から逸脱することなく、添付の特許請求の範囲の範囲内で随意に修正されることが可能である。
【0110】
参考文献
以下の参考文献は、本明細書において参照され、その完全な内容が参照により本明細書に組み込まれる。
[1] ITU-T Recommendation G.718: "Frame error robust narrowband and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbps," 2008.
[2] 3GPP Spec. TS 26.445: "Codec for Enhanced Voice Services (EVS). Detailed Algorithmic Description," v.12.0.0, Sep. 2014.
[3] B. Bessette, "Flexible and scalable combined innovation codebook for use in CELP coder and decoder," US Patent 9,053,705, June 2015.
[4] V. Eksler, "Transform-Domain Codebook in a CELP Coder and Decoder," US Patent Publication 2012/0290295, November 2012, and US Patent 8,825,475, September 2014.
[5] F. Baumgarte, C. Faller, "Binaural cue coding - Part I: Psychoacoustic fundamentals and design principles," IEEE Trans. Speech Audio Processing, vol. 11, pp. 509-519, Nov. 2003.
[6] Tommy Vaillancourt, "Method and system using a long-term correlation difference between left and right channels for time domain down mixing a stereo sound signal into primary and secondary channels," PCT Application WO2017/049397A1.
【符号の説明】
【0111】
100 ステレオ音響処理および通信システム、処理および通信システム
101 通信リンク
102 マイクロフォン
103 元のアナログステレオ音響信号の左チャネル
104 A/Dコンバータ、アナログ/デジタル(A/D)コンバータ
105 元のデジタルステレオ音響信号の左チャネル
106 ステレオ音響エンコーダ、音響エンコーダ、エンコーダ
107 ビットストリーム
108 エラー訂正エンコーダ
109 エラー訂正デコーダ
110 ステレオ音響デコーダ、音響デコーダ、デコーダ
111 ビットストリーム、デジタルビットストリーム
112 ビットストリーム
113 デジタルステレオ音響信号の合成された左チャネル
114 アナログステレオ音響信号の合成された左チャネル
115 D/Aコンバータ、デジタル/アナログ(D/A)コンバータ
116 ラウドスピーカーユニット
122 マイクロフォン
123 元のアナログステレオ音響信号の右チャネル
125 元のデジタルステレオ音響信号の右チャネル
133 デジタルステレオ音響信号の合成された右チャネル
134 アナログステレオ音響信号の合成された右チャネル
136 ラウドスピーカーユニット
200 ビット配分割振方法
201,202,204,205,206,207,208,209,210,211,212,213,214 動作
250 ビット配分割振デバイス
252 補足モジュールのビット配分のカウンタ、カウンタ
254 減算器
255 シグナリングビット配分のカウンタ、カウンタ
256 減算器
257 中間ビットレート選択器、選択器
258 コアモジュール部分のROMテーブル、ROMテーブル
259 CELPコアモジュールの第1の部分のビット配分のアロケータ、ビット配分アロケータ
260 減算器
261 FCBビットアロケータ
262 FCBビット配分のカウンタ、カウンタ
263 減算器
264 使われないビット配分のアロケータ、ビットアロケータ
300 ビット配分割振デバイス
302 入力
304 出力
306 プロセッサ
308 メモリ
図1
図2
図3