JP2013528832A - マルチポイント環境におけるスケーラブルオーディオ処理 - Google Patents
マルチポイント環境におけるスケーラブルオーディオ処理 Download PDFInfo
- Publication number
- JP2013528832A JP2013528832A JP2013510371A JP2013510371A JP2013528832A JP 2013528832 A JP2013528832 A JP 2013528832A JP 2013510371 A JP2013510371 A JP 2013510371A JP 2013510371 A JP2013510371 A JP 2013510371A JP 2013528832 A JP2013528832 A JP 2013528832A
- Authority
- JP
- Japan
- Prior art keywords
- audio
- endpoint
- state
- conference
- codec
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 34
- 230000005236 sound signal Effects 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims description 89
- 230000008569 process Effects 0.000 claims description 26
- 238000003672 processing method Methods 0.000 claims 3
- 230000005540 biological transmission Effects 0.000 abstract description 24
- 238000006243 chemical reaction Methods 0.000 abstract description 11
- 230000003595 spectral effect Effects 0.000 description 20
- 238000001228 spectrum Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 206010021403 Illusion Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/56—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
- H04M3/568—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0072—Speech codec negotiation
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Telephonic Communication Services (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
マルチポイント会議において、分散型ミキシング及び/又は送信側ビットレート調整を実施するのに、スケーラブルオーディオコーデックを用いることが開示される。スケーラブルオーディオコーデックは、各エンドポイントからのオーディオ信号が1以上の周波数帯域に分けられ、かつ、そのような帯域における変換係数が優先順位付けられるように分けられて、使用可能なオーディオ信号が全体信号の一部から復号化され得るようにする。信号の一部は、特定の周波数帯域を省くことにより及び/又は周波数帯域の範囲内で特定の係数を省くことにより生成され得る。会議内の各エンドポイントに多様なルールを提供することにより、エンドポイントは会議にその信号の重要度を決定し適切なビットレートを選択することができ、それによって会議全体にわたり帯域幅を節約する及び/又はパワーを処理する。
【選択図】 図4B
【選択図】 図4B
Description
本出願は、この参照より開示に含まれる2010年6月1日付米国一部継続出願第12/829,233号であり、2010年11月12日付米国仮出願第61/413,213号に基づく利益を主張する。
多くの種類のシステムがオーディオ信号処理を用いてオーディオ信号を創り出したり、かかるオーディオ信号から音を再生したりしている。典型的には、信号処理はオーディオ信号をデジタルデータに変換し、ネットワーク上に送信するためにそのデータを符号化する。次に、別の信号処理により、送信されたデータを復号化し、それを音響波として再生するためにアナログ信号へ逆変換する。
オーディオ信号を符号化または復号化するために、多様な技術が存在する(信号を符号化および復号化するプロセッサまたは処理モジュールを一般にコーデック(codec)と称する)。会議システムではオーディオコーデックを用いて、近端から遠端まで送信しなければならない、オーディオを表すデータ量を低減する。例えば、オーディオ会議(音声会議)およびビデオ会議用のオーディオコーデックは、得られる送信用信号が最良品質を保ちながらも、最小ビット数となるように、高忠実度のオーディオ入力を圧縮する。そうすれば、オーディオコーデックを有する会議装置に必要な記憶容量はより少なく、オーディオ信号を送信するためにその装置で用いる通信チャンネルの帯域幅は狭くて済む。
オーディオコーデックは多様な技法を用いて、会議中の一エンドポイントから別のエンドポイントへ送信するためにオーディオを符号化および復号化できる。普通に用いられるいくつかのオーディオコーデックは、変換符号化技法を用いてネットワーク上に送信されるオーディオデータを符号化および復号化する。オーディオコーデックの一形式は、Polycom社のSirenコーデックである。Polycom社のSirenコーデックの1つのバージョンは、ITU−T(国際電気通信連合電気通信標準化部門)勧告G.722.1(Polycom Siren7)である。Siren7は、7kHzまでの信号を符号化する広帯域コーデックである。もう1つのバージョンは、ITU−T G.722.1.C(Polycom Siren14)である。Siren14は、14kHzまでの信号を符号化する超広帯域コーデックである。
Sirenコーデックは、変調重複変換(MLT)ベースのオーディオコーデックである。従って、Sirenコーデックは、オーディオ信号を時間領域から変調重複変換(Modulation Lapped Transform)(MLT)領域に変換する。周知のように、変調重複変換(MLT)は、各種信号を変換符号化するために用いるコサイン変調フィルターバンクの一形式である。一般に、重複変換は、長さLのオーディオブロックを取り出し、そのブロックをM個の係数に変換する(条件L>M)。この変換を実行するには、変換された係数の連続ブロックを用いて合成信号を得ることができるように、連続するブロック間でのL−Mサンプルの重複がなければならない。
図1Aおよび図1Bは、Sirenコーデックのような変換符号化コーデックの特徴を簡単に示す。特定のオーディオコーデックの実際の詳細は、用いられるコーデックの実装および形式に依存する。例えば、Siren14の公知の詳細についてはITU−T勧告G.722.1の付属書Cに、Siren7の公知の詳細についてはITU−T勧告G.722.1に記載があり、ともに引用して本明細書に組み込む。オーディオ信号の変換符号化に関連する別の詳細情報は、引用して本明細書に組み込まれた米国特許出願第11/550,629号および第11/550,682号に記載されている。
図1Aに、変換符号化コーデック(例えば、Sirenコーデック)用の符号器10を示す。符号器10は、アナログオーディオ信号から変換されたデジタル信号12を受信する。アナログオーディオ信号の振幅は特定周波数でサンプリングされ、振幅を表す数字に変換されている。典型的なサンプリング周波数は、8kHz(すなわち、毎秒8,000回のサンプリング)、16kHz〜196kHz、またはその間である。一例として、このデジタル信号12は、約20msブロックまたはフレームで、48kHzまたは他のレートでサンプリングされていてもよい。
離散コサイン変換(DCT)であってもよい変換20は、デジタル信号12を時間領域から、変換係数を有する周波数領域に変換する。例えば、変換20は、オーディオブロックまたはフレーム毎に960個の変換係数のスペクトルを生成できる。符号器10は、正規化プロセス22で係数の平均エネルギーレベル(規範)を求める。次に、符号器10が、高速格子ベクトル量子化(FLVQ)アルゴリズム24等により係数を量子化してパケット化および送信のための出力信号14を符号化する。
図1Bに、変換符号化コーデック(例えば、Sirenコーデック)用の復号器50を示す。復号器50は、ネットワークから受信されて入ってくる入力信号52のビットストリームを取り出し、元の信号の最良推定値を再現する。そのために、復号器50は、入力信号52に格子復号化(逆FLVQ)60を実行し、逆量子化プロセス62を用いて、復号化した変換係数を逆量子化する。更に、変換係数のエネルギーレベルを各周波数帯域で補正してもよい。最後に、出力信号54として送信するために、逆変換64は、逆DCTとして動作し、周波数領域から時間領域に信号を変換する。
このようなオーディオコーデックは効果的ではあり、オーディオ会議用途でのニーズの高まりとともに、複雑さも増大し、更に多目的かつ強力なオーディオ符号化技法が求められている。例えば、オーディオコーデックは、ネットワーク上で動作しなければならず、多様な条件(帯域幅、受信器の各種接続速度等)が動的に変化する。チャンネルのビットレートが時間経過とともに変化する無線ネットワークはその一例である。従って、無線ネットワークのエンドポイント(ネットワーク端末)は様々なビットレートでビットストリームを送出してネットワーク条件に順応しなければならない。
Polycom社のRMXシリーズおよびMGCシリーズ製品等のMCU(マルチウェイ制御ユニット)の使用はもう1つの実施例であり、そこでは、より多目的かつ強力なオーディオ符号化技法を利用できる。例えば、会議においてMCUは、先ず第1エンドポイント(ネットワーク端末)Aからビットストリームを受信し、次に、いくつかの他のエンドポイント(ネットワーク端末)B、C、D、E、F...へ異なる長さでビットストリームを送出する必要がある。送出すべき様々なビットストリームは、各エンドポイントが持つネットワーク帯域幅がどれほどであるかに依存する。例えば、一エンドポイントBはオーディオ用に64kbpsでネットワークに接続され、別のエンドポイントCは僅か8kbpsで接続される場合がある。
従って、MCUは、一エンドポイントBには64kbpsでビットストリームを送出し、他のエンドポイントCには8kbpsでビットストリームを送出し、というようにエンドポイント毎に送出する。現在、MCUが、第1エンドポイントAからのビットストリームを復号化、すなわちビットストリームを時間領域に変換して戻している。次いで、MCUは、1つ1つのエンドポイントB、C、D、E、F...毎に符号化を行い、それによりビットストリームを各エンドポイントに設定できるようにしている。明らかに、この手法は多くの計算リソースを必要とし、信号待ち時間を長くし、実行される符号変換に起因して信号品質は低下してしまう。
失われたパケットの処理は、より多目的かつ強力なオーディオ符号化技法が有効な別の領域である。ビデオ会議またはVoIPの通話では、符号化されたオーディオ情報は、例えば、典型的にはパケット当たり20ミリ秒のオーディオを有するパケットで送出される。パケットは送信中に失われることもあり、オーディオパケットが失われると、受信されたオーディオに空隙が生じる。ネットワークにおけるパケットロスに対抗する一方法は、パケット(すなわち、ビットストリーム)を多数回、例えば4回、送信することである。これらのパケットの4つが全て失われる可能性は非常に低いので、空隙が生じる可能性は低下する。
しかし、パケットを多数回送信すると必要なネットワーク帯域幅は4倍に増加する。コストを最小に抑えるために、通常、同じ20msの時間領域信号を、高ビットレート(通常モード、例えば48kbps)で符号化するとともに、低ビットレート(例えば8kbps)でも符号化する。低ビット(8kbps)ストリームは多数回送信されるビットストリームである。こうすると、必要な合計帯域幅は、元データが多数回送出された場合の48×4=192kbpsではなく48+8×3=72kbpsとなる。マスク効果により、48+8×3の方式は、ネットワークがパケットロスを有する場合の会話品質に関して、48×4方式とほぼ同じ性能を持つ。但し、同一の20ms時間領域データを異なるビットレートでそれぞれ符号化するこの従来の解決法は、計算リソースを必要とする。
最後に、エンドポイントによっては、完全に復号化するのに十分な計算リソースが備わっていないこともある。例えば、エンドポイントが低速の信号プロセッサしか持っていなかったり、信号プロセッサが他の実行タスクに占有されていたりすることがある。この場合、エンドポイントが受信するビットストリームの一部だけの復号化では、有効なオーディオを生成しないことがある。言うまでもなく、オーディオ品質は復号器が受信し、復号化するビット数に依存する。
これらの理由から、オーディオ会議およびビデオ会議で用いられるスケーラブル(scalable: 拡張/縮小可能な)オーディオコーデックの必要性がある。
背景技術の項目で述べたように、オーディオ会議用途におけるニーズが高まり、その複雑さが増大し、より多目的かつ強力なオーディオ符号化技法が求められている。特に、オーディオ会議およびビデオ会議で用いられるスケーラブルオーディオコーデックの必要性がある。
分散型オーディオネットワーク(例えばマルチポイント会議)において、分散型ミキシング及び/又は送信側ビットレート調整を実施するのに、スケーラブルオーディオコーデックを用いることが開示される。スケーラブルオーディオコーデックは、各オーディオ装置(例えばエンドポイント)からのオーディオ信号が1以上の周波数帯域に分けられ、かつ、そのような帯域における変換係数が優先順位付けられるように分けられて、使用可能なオーディオ信号が全体信号の一部から復号化され得るようにする。前記信号の一部は、特定の周波数帯域を省くことにより及び/又は前記周波数帯域において特定の係数を省くことにより生成され得る。分散型オーディオネットワーク又は会議内の各オーディオ装置又はエンドポイントに多様なルールを提供することにより、前記オーディオ装置又はエンドポイントは前記オーディオネットワーク又は会議にその信号の重要度を決定し適切なビットレートを選択することができ、それによって前記オーディオネットワーク全体あるいは会議全体にわたり帯域幅を節約する及び/又はパワーを処理する。
本開示によれば、処理装置用のスケーラブルオーディオコーデックは、入力オーディオの各フレーム毎に第1および第2のビット割当て(allocation;「割当て」若しくは「配分」)を決定する。第1の複数ビットが第1の周波数帯域のために割り当てられ(配分され)、第2の複数ビットが第2の周波数帯域のために割り当てられる(配分される)。この割当て(配分)は、2つの帯域間のエネルギー比に基づいてフレーム単位(frame-by-frame basis)で行われる。フレーム毎に、コーデックは両周波数帯域を2セットの変換係数に変換し、その係数をビット割当てに基づいて量子化してから、パケット化する。次に、処理装置を用いてパケットを送信する。更に、変換係数の周波数領域を、パワーレベルおよび知覚モデルにより決定される重要度の順位で配置することができる。もしビット剥落が発生しても、複数帯域の間でビット割り当て(配分)されていて、かつ変換係数の領域に重要度の順位が付けられていれば、受信装置の復号器は適切な品質のオーディオを生成できる。
このスケーラブルオーディオコーデックは、入力オーディオのフレーム単位で動的なビット割当てを実行する。フレームに利用可能な合計ビットは、低周波数帯域と高周波数帯域との間で割り当てられる。一例では、低周波数帯域は0kHzから14kHzまでを含み、高周波数帯域は14kHzから22kHzまでを含む。所与のフレーム内の2つの帯域間のエネルギーレベル比により、各帯域に割り当てられる利用可能なビット数が決定される。概して、低周波数帯域にはより多くの利用可能なビット数が割り当てられる傾向がある。このフレーム単位での動的なビット割当てにより、オーディオコーデックは、会話品質の知覚に一貫性を与えるように、送信されたオーディオを符号化および復号化できる。言い換えれば、処理する間に極端に低いビットレートが発生しても、フルバンドの会話としてオーディオを知覚することができる。
本開示に係るスケーラブルオーディオコーデックは、フルバンド、すなわち、22kHzまで周波数帯域幅を拡張する。全体として、このオーディオコーデックは約10kbpsから64kbpsまでスケーラブルである。10kbpsの値が異なることがあり、所与の実装で許容できる符号化品質を選択する。いずれにしても、本開示のオーディオコーデックの符号化品質は、固定レートの、Siren14として知られる22kHzバージョンのオーディオコーデックとほぼ同じ品質とすることができる。28kbps以上では、本開示のオーディオコーデックは22kHzコーデックと同程度である。他方、28kbps未満では、本開示のオーディオコーデックは、どのレートでも少なくとも14kHzの帯域幅を有する14kHzコーデックと同程度である。本開示のオーディオコーデックが、スイープ音、ホワイトノイズおよび実際の会話信号を用いる試験に合格できるのは言うまでもない。更に、本開示のオーディオコーデックは、現時点で既存のSiren14オーディオコーデックが要求する計算リソースおよびメモリ要件の約1.5倍しか要求しない。
ビット割当てに加えて、スケーラブルオーディオコーデックは、各周波数帯域の各領域の重要性に基づいてビットの順位を付け直す。例えば、フレームの低周波数帯域は、複数領域に配置される変換係数を有する。オーディオコーデックは、これら領域それぞれの重要性を判定してから、重要度の順位で帯域に割り当てられるビットによりパケット化する。領域の重要度を判定する一方法は、領域のパワーレベルに基づくものであり、これら領域は最大パワーレベルから最小パワーレベルまで重要度の順に配列される。この判定は、周囲の領域の重み付けを用いて重要度を判定する知覚モデルに基づいて拡張できる。
スケーラブルオーディオコーデックによる復号化パケットは、ビット割当ての利点と、重要度に基づいて周波数領域の順位を付け直す利点とを有する。万一、受信パケットのビットストリームの一部が何らかの理由で剥落した場合、オーディオコーデックは、高周波数帯域の方にいくらかのビットが剥落した可能性があるビットストリーム内の、少なくとも最初の低周波数帯域を復号化できる。また、重要度に基づく帯域の領域の順位付けにより、大きなパワーレベルを持つ高い重要度のビットを最初に復号化するので、剥落する可能性は低下する。
上記のように、本開示のスケーラブルオーディオコーデックにより、符号器が生成するビットストリームからビットを剥落させることができるようになるが、復号器は依然として時間領域でオーディオを知的に生成できる。従って、スケーラブルコーデックは以下に説明する多くの用途で有用であり、そのうちのいくつかの用途を以下に検討する。
一実施例では、スケーラブルオーディオコーデックは、エンドポイントが様々なビットレートでビットストリームを送出してネットワーク条件に適合しなければならない無線ネットワークで有用である。MCUを用いる場合、スケーラブルオーディオコーデックは、従来の慣例によらずに、ビットを剥落させることにより、多様なエンドポイントへ創出するために様々なビットレートでビットストリームを創成できる。従って、MCUは、拡張可能オーディオコーデックを用いて、第1のエンドポイントからの64kbpsビットストリームからビットを剥落させることにより、有用なオーディオを維持したまま、第2のエンドポイント用の8kbpsのビットストリームを得ることができる。
別の例では、前記符号化されたオーディオ信号のビット剥落は、送信エンドポイントが発言中の(アクティブな)一次話者であるかどうかなどの、いくつかの他の要因に基づいて送信エンドポイントで行われ得る。これは、現在の会話信号のエネルギー量を決定し、そのいずれかの過去の値、他のエンドポイントからの1乃至複数の現在の信号エネルギー、あるいは既定の閾値と比較することによってなどを含む、様々な方法において決定され得る。この技術は、バックグラウンドノイズなどから会話を区別しようとする知覚モデルによって補足又は置換され得る。
このような場合、送信エンドポイントはフルビットストリーム(もし別な方法で可能ならば)を送信することができ、それにより全ての会議参加者がそのエンドポイントの高品位オーディオを聞くことができるようにする。前記送信エンドポイントが現在発言中の話者でないならば、該エンドポイントは、低周波数帯域だけを送信するように、それ自身のビットを自主剥落(self-strip)することができる。これは、帯域幅を節約し、またMCU(受信する全てのものを他のエンドポイントへ単純に中継することができる)か受信エンドポイント(現時点で一次フォーカスでないものの高忠実度オーディオを復号化する追加リソースを費やす必要がない)のどちらかの計算要件を減らす。
他の態様において、送信エンドポイントはその最高ビットストリームの全てのビットを単純に送信することができ、MCUはフルビットストリームを全ての会議参加者に中継することができる。さらに、個々の受信エンドポイントのそれぞれは、それ自身のニーズを果たすようにビット剥落を実行することができる。例えば、計算リソースを減らすために、受信エンドポイントは現在発言中の話者の高周波数帯域だけを復号化することを決めるかもしれない。(現在発言中の話者を有する信号のどれかが、下に記述されるようなさまざまな方法で決定され得る。)発言中でない(非アクティブな)話者に関し、受信エンドポイントは高周波数帯域に対応するビットを廃棄することができる、だから、発言中でない(非アクティブな)エンドポイントが会議中に短い応答やコメントを行っても、十分な品質を提供しつつ、会議のオーディオ品質を著しく下げない。
スケーラブルオーディオコーデックを用いて、失われたパケットを扱う場合の計算リソースの節約を支援できる。上述のように、失われたパケットを処理する従来の解決法は、高ビットレートおよび低ビットレート(例えば、48kbpsおよび8kbps)で同一の20msの時間領域データを独立して符号化しているので、低品質(8kbps)のビットストリームを多数回送出できる。しかし、スケーラブルオーディオコーデックを用いる場合、コーデックは1回符号化するだけでよい。その理由は、第2(低品質)のビットストリームは、第1(高品質)のビットストリームからビットを剥落させることにより、有用なオーディオを維持したまま得ることができる。
最後に、スケーラブルオーディオコーデックは、エンドポイントが完全な復号化を行うのに十分な計算リソースを持っていない場合の助けになる。例えば、エンドポイントが低速の信号プロセッサを持っていたり、信号プロセッサが他のタスクの実行にビジーであったりすることがある。この状況では、スケーラブルオーディオコーデックを用いて、エンドポイントが受信するビットストリームの一部を復号化すれば、依然として有用なオーディオを生成できる。
上記の概要は、それぞれの潜在的な実施の形態または本開示の全ての態様を要約するものではない。
本開示によるオーディオコーデックは拡張可能であり、利用可能なビット数を複数の周波数帯域の間で割り当てる(配分する)。更に、オーディオコーデックは、重要度に基づいてこれらの帯域それぞれの周波数領域に順位を付ける。ビット剥落が発生しても、重要度が高いこれらの周波数領域はビットストリームの最初にパケット化されている。こうして、ビット剥落が生じても、より有用なオーディオが維持されることになる。オーディオコーデックのこれらの詳細および他の詳細を本明細書に開示する。
本開示の多様な実施の形態は、オーディオ会議(音声会議)、ビデオ会議、およびストリーム音楽または会話を含むストリームメディア等の分野で有用な用途を見いだすことができる。従って、本開示のオーディオ処理装置には、オーディオ会議エンドポイント(オーディオ会議ネットワーク端末)、ビデオ会議エンドポイント(ビデオ会議ネットワーク端末)、オーディオ再生装置、個人用音楽プレーヤ、コンピュータ、サーバ、電話通信装置、携帯電話、携帯情報端末、VoIP電話装置、コールセンター装置、音声記録装置、音声メッセージ装置などが含まれる。例えば、ここに開示する技術は専用のオーディオ会議またはビデオ会議のエンドポイントにとって有用である。同様に、コンピュータまたは他の装置をデスクトップ会議またはデジタルオーディオ(デジタルオーディオ信号)の送受信に使用してもよく、ここで開示する技術はこれらの装置にとって有用である。
A.会議エンドポイント
A.会議エンドポイント
上記のように、本開示のオーディオ処理装置には会議のエンドポイントつまり端末が含まれる。図2Aは、エンドポイントつまり端末100の実施例を略示する。図示のように、会議端末100は、ネットワーク125上の送信器および受信器の両方とすることができる。また、図示のように、会議端末100は、オーディオ会議能力はもとより、ビデオ会議能力を持つこともできる。概して、端末100はマイクロホン102およびスピーカ108を有し、ビデオカメラ103、ディスプレイ109、キーボード、マウス等の他の各種入力/出力装置を有してもよい。更に、端末100は、プロセッサ160、メモリ162、変換器電子回路164、および、特定のネットワーク125に適合したネットワークインターフェース122/124を有する。オーディオコーデック110は、ネットワーク端末用の適切なプロトコルに従って標準規格ベースの会議を提供する。これらの標準規格の全体を、メモリ162に格納されたソフトウエアで実装してもよく、プロセッサ160、専用ハードウエア、またはこれらの組合せを用いて実行する。
送信パス(送信経路)では、マイクロホン102により収音されたアナログ入力信号が変換器電子回路164によりデジタル信号に変換され、端末のプロセッサ160上で動作するオーディオコーデック110がインターネット等のネットワーク125上に送信器インターフェース122を介して送信するためのデジタルオーディオ信号を符号化する符号器200を有する。ビデオ符号器170を有するビデオコーデックがあれば、ビデオ信号用の類似機能を実行できる。
受信パス(受信経路)では、端末100は、オーディオコーデック110に接続されたネットワーク受信器インターフェース124を有する。復号器250は、受信したオーディオ信号を復号化し、変換器電子回路164が、スピーカ108へ出力するためにデジタル信号をアナログ信号に変換する。ビデオ復号器172を有するビデオコーデックがあれば、ビデオ信号用の類似機能を実行できる。
B.オーディオ処理構成
B.オーディオ処理構成
図2Bは、第1のオーディオ処理装置100A(送信器として作用する)が、圧縮されたオーディオ信号を第2のオーディオ処理装置100B(この文脈では受信器として作用する)へ送出する会議編成を示す。送信器100Aおよび受信器100Bはともに、ITU G.722.1(Polycom Siren7)またはITU G.722.1.C(Polycom Siren14)で使用されるものと類似の、変換符号化を実行するスケーラブルオーディオコーデック110を有する。説明のために、送信器および受信器100A、100Bは、オーディオ会議またはビデオ会議内のエンドポイントつまり端末とすることができるが、他の種類の装置であってもよい。
動作中は、送信器100Aのマイクロホン102は、ソースのオーディオを取得し、電子回路がそのオーディオのブロックまたはフレームをサンプリングする。典型的には、オーディオのブロックまたはフレームのスパン(間隔)は入力オーディオの20msである。この時点で、オーディオコーデック110の正変換が、各オーディオフレームを1セットの周波数領域の変換係数群に変換する。次いで、当技術分野で公知の技法を用いて、これらの変換係数群を量子化器115により量子化し、符号化する。
符号化されると、送信器100Aは、そのネットワークインターフェース120を用いて、パケット内の符号化された変換係数群をネットワーク125経由で受信器100Bに送出する。IP(インターネットプロトコル)ネットワーク、PSTN(公衆交換電話網)、ISDN(デジタル総合サービス網)等を含むがそれらに限定はされない、任意の適切なネットワークを使用できる。それらの一部では、送信されるパケットは任意の適切なプロトコルまたは標準規格を使用できる。例えば、パケット内のオーディオデータは、TOCの後に続けることができ、オーディオフレームを含む全てのオクテットをユニットとしてペイロードに添えることができる。オーディオフレームおよびパケットに関する追加詳細はITU−T勧告G.722.1およびG.722.1Cに規定されるが、これらを引用して本明細書に組み込む。
受信器100Bで、ネットワークインターフェース120はパケットを受信する。続く逆処理では、受信器100Bは、逆量子化器115およびコーデック110の逆変換を用いて、符号化された変換係数群を逆量子化し、復号化する。逆変換は、係数群を時間領域に変換して戻すことにより、受信器のスピーカ108用の出力オーディオ信号を生成する。オーディオ会議およびビデオ会議では、受信器100Bおよび送信器100Aは、会議をしている間、交互に動作する。
C.オーディオコーデック動作
C.オーディオコーデック動作
オーディオコーデック110およびオーディオ処理装置100を理解したところで、オーディオコーデック110が本開示に従ってどのようにオーディオを符号化し、復号化するかの説明に移る。図3に示すように、送信器100Aのオーディオコーデック110は、時間領域のオーディオデータを受信し(ブロック310)、オーディオデータのオーディオブロックまたはフレームを取り出す(ブロック312)。
正変換を用いて、オーディオコーデック110は、オーディオフレームを周波数領域の変換係数群に変換する(ブロック314)。上記説明のように、オーディオコーデック110は、Polycom社のSiren技術を用いてこの変換を実行する。ここで、オーディオコーデックは、MP3、MPEG AAC等を含む任意の変換コーデックとすることができるが、それらに限定はされない。
オーディオフレームを変換する場合、オーディオコーデック110は、フレームのスペクトル包絡線も量子化し、符号化する(ブロック316)。この包絡線は符号化されるオーディオの振幅を記述するが、位相の詳細情報は何も提供しない。スペクトル包絡線の符号化はビット数をさほど必要としないので、直ちに完成させることができる。更に、以下から分かるように、ビットが送信から剥落された場合、スペクトル包絡線は、オーディオ復号化において後で使用され得る。
インターネット等のネットワーク上で通信する場合、帯域幅が変わることがあり、パケットが失われることがあり、そして接続レートが異なることがある。これらの困難に対抗するために、本開示に係るオーディオコーデック110は拡張可能(scalable)である。この方法で、オーディオコーデック110は、より詳細に後述するプロセスで、利用可能な複数ビット(ビット数)を少なくとも2つの周波数帯域間で割り当てる(配分する)(ブロック318)。コーデックの符号器200は、割り当てられた周波数帯域のそれぞれにおいて変換係数群を量子化し、符号化し(ブロック320)、次いで、領域の重要度に基づいて周波数領域毎にビットの順位を付け直す(ブロック322)。全般的に見れば、符号化プロセス全体で約20msの遅延しか発生しない。
より詳細に後述するビットの重要度判定は、いくつもの理由でビットが剥落する場合、遠端(遠隔地点)で再生できるオーディオ品質を向上させる。ビットの順位を付け直してから、ビットを遠端に送出するためにパケット化する。最後に、パケットを遠端に送信し、それにより次のフレームを処理できるようになる(ブロック324)。
遠端では、受信器100Bはパケットを受信し、それらを周知の技法に従って取り扱う。次に、コーデックの復号器250は、スペクトル包絡線を復号化して、逆量子化し(ブロック352)、複数周波数帯域間に割り当てられた複数ビットを判定する(ブロック354)。復号器250が周波数帯域間のビット割当てを判定する方法の詳細については後述する。ビット割当てが分かると、復号器250は変換係数群を復号化して、逆量子化し(ブロック356)、各帯域の係数群について逆変換を実行する(ブロック358)。最後に、復号器250はオーディオを時間領域に変換して戻し、受信器のスピーカ用に出力オーディオを生成する(ブロック360)。
D.符号化技術
D.符号化技術
上記のように、開示のオーディオコーデック110は拡張可能であり、変換符号化を用いて、少なくとも2つの周波数帯域の配分ビットでオーディオを符号化する。スケーラブルオーディオコーデック100により実行される符号化技術の詳細を図4のフロー図に示す。最初に、オーディオコーデック110は、1フレームの入力オーディオ信号を得て(ブロック402)、当技術分野で周知の変調重複変換を用いて、そのフレームを変換係数群に変換する(ブロック404)。周知のように、これら変換係数群の各係数は、それぞれ大きさ(マグニチュード)を有し、正であっても負であってもよい。また、オーディオコーデック110は、上記したように、スペクトル包絡線[0Hz〜22kHz]を量子化し、符号化する(ブロック406)。
この時点で、オーディオコーデック110は、2つの周波数帯域間で1フレーム分の複数ビットを割り当てる(配分する)(ブロック408)。このビット割当ては、オーディオコーデック110が受信オーディオデータを符号化するときにフレーム単位で動的に判定される。2つの帯域を分ける分割周波数が選択されることで、利用可能な第1の数のビットが該分割周波数以下の低周波数領域に割り当てられ、残りのビットが該分割周波数より上の高周波数領域に割り当てられる。
帯域のビット割当てが決定された後、オーディオコーデック110は、低周波数帯域および高周波数帯域両方の正規化された係数を各割当てビット数により符号化する(ブロック410)。次に、オーディオコーデック110は、これら両方の周波数帯域内の各周波数領域の重要度を決定し(ブロック412)、決定された重要度に基づいて周波数領域を順位付ける(ブロック414)。
上記のように、オーディオコーデック110は、Sirenコーデックに類似させることができ、時間領域から、MLT係数を有する周波数領域へオーディオ信号を変換できる(簡単にするために、本開示は、かかるMLT変換の変換係数に言及するが、FFT(高速フーリエ変換)およびDCT(離散コサイン変換)等の他の変換形式を用いてもよい)。
サンプリングレートで、MLT変換は約960個のMLT係数(すなわち、25Hz毎に1つの係数)を生成する。これらの係数は、0、1、2...のインデックスの昇順に従って周波数領域で並べられる。例えば、最初の領域0は周波数範囲[0〜500Hz]をカバーし、次の領域1は[500〜1000Hz]をカバーし、という具合である。従来なされていたように周波数領域を昇順で送出するだけでなく、スケーラブルオーディオコーデック110は、オーディオ全体の脈絡で領域の重要度を判定してから、重要度の高い方から重要度の低い方へという基準で領域の順位を付け直す。重要度に基づくこの再配列は、両方の周波数帯域で行われる。
各周波数領域の重要度の判定は様々な方法で行うことができる。1つの実装例において、符号器200は、量子化した信号パワースペクトルに基づいて領域の重要度を判定する。この場合、大きなパワーを持つ領域の方が重要度が高い。別の実装例では、知覚モデルを用いて領域の重要度を判定できる。知覚モデルは、人が知覚しない外来オーディオ、ノイズ等をマスクする。これら技法についてはそれぞれ、より詳細に後述する。
重要度に基づいて順位を付けてから、最も重要度が高い領域を最初に、続いて重要度がより低い領域を、というようにパケット化する(ブロック416)。最後に、順位を付け、パケット化した領域をネットワークに載せて遠端に送出する(ブロック420)。パケットを送出するとき、変換係数の領域の順位に関するインデックス情報は送出しなくてもよい。それが無くても、ビットストリームから復号化されるスペクトル包絡線に基づいて、復号器内でインデックス情報を計算できる。
ビット剥落が発生すると、エンドポイントに向かってパケット化されたこれらのビットが剥落してしまうことがある。領域は順位付けられているので、より重要度の高い領域の係数が最初にパケット化されている。従って、ビット剥落が発生した場合、最後にパケット化された重要度の低い領域の方が剥落する可能性が高い。さらに又は別の例として、送信エンドポイント、MCU、あるいは受信エンドポイントのいずれか1つ以上が、より選択的に他の周波数帯域からビットを剥落しつつ、それら全体において特定の周波数帯域を破棄することのできるように、前記係数もまた周波数帯域によってソートされ得る。
遠端では、送信器100Aにより最初に与えられた順位付け重要度を既に反映した受信データを、復号器250が復号化し変換する。こうして、受信器100Bがパケットを復号化し、時間領域のオーディオを生成した場合、受信器のオーディオコーデック110が、入力オーディオ内の、重要度が高い係数の方の領域を実際に受信し、処理する機会が増加える。予想されるように、帯域幅、計算能力、およびその他のリソースの変化が会議中に起き、それにより、オーディオが失われたり、符号化されなかったりする。
オーディオ信号が複数帯域間でビット割り当て(ビット配分)され、重要度で順位付けられるなら、オーディオコーデック110は更に有用なオーディオを遠端で処理する機会を増やすことができる。これら全てを考え合わせると、どのような理由であれオーディオ品質が低下する時に、ビットストリームからビット(すなわち、部分的なビットストリーム)が剥落しても、オーディオコーデック110は依然として実用的なオーディオ信号を生成できる。
1.ビット割当て
1.ビット割当て
上記のように、本願で開示するスケーラブルコーデック110は、利用可能なビット数を複数の周波数帯域間で割り当てる。図4Bに示すように、オーディオコーデック(110)は、特定のサンプリング周波数(例えば、48kHz)でオーディオ信号430をそれぞれ約20msの連続フレームF1、F2、F3等でサンプリングし、デジタル化する(実際にはフレームが重なっていてもよい)。従って、各フレームF1、F2、F3等は、約960個のサンプルを有する(48kHz×0.02s=960)。次いで、オーディオコーデック(110)は、各フレームF1、F2、F3等を時間領域から周波数領域に変換する。所与のフレームに対して、例えば、この変換は図4Cに示すような1セットのMLT係数を生成する。この1フレームに約960個のMLT係数がある(すなわち、25Hz毎に1つのMLT係数)。符号化帯域幅が22kHzなので、約22kHzを超える周波数を表すMLT変換係数は無視される。
符号化された情報をパケット化し、ネットワーク上に送信できるように、0〜22kHzの周波数領域の変換係数セットを符号化しなければならない。一例では、オーディオコーデック(110)は、64kbpsの最高レートでフルバンドのオーディオ信号を符号化するように構成されている。更に、本明細書で説明するように、オーディオコーデック(110)は、1フレームを符号化するために利用可能なビット数を2つの周波数帯域間で割り当てる(配分する)。
ビット数を割り当てるために、オーディオコーデック110は、利用可能な合計ビット数を第1の帯域[0〜12kHz]と第2の帯域[12kHz〜22kHz]の間で分割するようにできる。2つの帯域を分ける分割周波数(12kHz)は、主として会話の音質変化および主観テストに基づいて選定できる。所与の実装形態に対応して他の分割周波数を使用できるであろう。さらに、より多くの帯域が提供され得る。
利用可能な合計ビットの分割は、2つの帯域の間のエネルギー比に基づいている。1つの実施例では、2つの帯域の間で分割するための4つのモードの可能性がある。例えば、64kbpsの利用可能な合計ビットを以下のように分割できる。
遠端へ送信される情報内にこれら4つの可能性を表すには、符号器(200)が送信のビットストリーム内で2ビットを使用する必要がある。遠端復号器(250)は、これらの送信されたビットからの情報を用いて、受信時に所与のフレームに対するビット割当てを決定できる。ビット割当てが分かると、復号器(250)はこの決定されたビット割当てに基づいて信号を復号化することができる。
図4Cに示す別の例では、オーディオコーデック(110)は、[0〜14kHz]の第1の帯域(LoBand)440と、[14kHz〜22kHz]の第2の帯域(HiBand)450との間で、利用可能な合計ビット数を分けることによりビット数を割り当てるよう構成されている。実装に応じて他の値を使用できようが、14kHzの分割周波数は、会話/音楽、ノイジー/明瞭、男声/女声等の主観的な聴覚品質に基づいていて好ましい。14kHzで信号をHiBandとLoBandとに分割することにより、スケーラブルオーディオコーデック110を既存のSiren14オーディオコーデックと同等にする。
この例では、可能性のある8つの分割モードによりフレーム単位でフレームを分割できる。この8モード(bit_split_mode;ビット分割モード)は、2つの帯域440、450の間のエネルギー比に基づいている。ここで、低周波数帯域(LoBand)のエネルギーまたはパワー値をLoBandsPowerとする一方、高周波数帯域(HiBand)のエネルギーまたはパワー値をHiBandsPowerとする。所与のフレームの特定のモード(bit_split_mode;ビット分割モード)は以下のように決定される:
if (HiBandsPower > (LoBandsPower*4.0))
bit_split_mode = 7;
else if (HiBandsPower > (LoBandsPower*3.0))
bit_split_mode = 6;
else if (HiBandsPower > (LoBandsPower*2.0))
bit_split_mode = 5;
else if (HiBandsPower > (LoBandsPower*1.0))
bit_split_mode = 4;
else if (HiBandsPower > (LoBandsPower*0.5))
bit_split_mode = 3;
else if (HiBandsPower > (LoBandsPower*0.01))
bit_split_mode = 2;
else if (HiBandsPower > (LoBandsPower*0.001))
bit_split_mode = 1;
else bit_split_mode = 0;
if (HiBandsPower > (LoBandsPower*4.0))
bit_split_mode = 7;
else if (HiBandsPower > (LoBandsPower*3.0))
bit_split_mode = 6;
else if (HiBandsPower > (LoBandsPower*2.0))
bit_split_mode = 5;
else if (HiBandsPower > (LoBandsPower*1.0))
bit_split_mode = 4;
else if (HiBandsPower > (LoBandsPower*0.5))
bit_split_mode = 3;
else if (HiBandsPower > (LoBandsPower*0.01))
bit_split_mode = 2;
else if (HiBandsPower > (LoBandsPower*0.001))
bit_split_mode = 1;
else bit_split_mode = 0;
ここで、低周波数帯域(LoBandsPower)のパワー値は、
として計算される、ここで、範囲インデックスi=0,1,2,...25である。(各領域の帯域幅は500Hzなので、対応する周波数範囲は0Hz〜12,500Hzである)。既存のSirenコーデックに利用可能な予め定義済みの表を用いて、各領域のパワーを量子化して、quantized_region_power[i] の値を求めることができる。その部分については、高周波数帯域(HiBandsPower)のパワー値も同様に計算する。但し、13kHz〜22kHzの周波数範囲を使用する。従って、このビット割当て技術における分割周波数は、信号スペクトルは14kHzで分割されるが、実際には13kHzである。これは掃引サイン波テストに合格するように行われる。
次に、上記のように、帯域のパワー値のエネルギー比から判定されたビット分割モード(bit_split_mode)に基づいて、2つの周波数帯域440、450のビット割当てを計算する。詳細には、HiBand周波数帯域は、利用可能な合計64kbpsの内の(16+4 * bit_split_mode)kbpsを得る一方、LoBand周波数帯域は、利用可能な合計64kbpsの内の残りのビットを得る。これは、以下の8モードの割当てに展開される。
遠端に送信された情報内のこれら8つの可能性を表すには、送信コーデック(110)がビットストリーム中に3ビットを使用する必要がある。遠端の復号器(250)はこれら3ビットにより指示されるビット割当てを使用でき、このビット割当てに基づいて所与のフレームを復号化できる。
図4Dは、可能性のある8つのモード(0〜7)のビット割当て460のグラフである。フレームは20ミリ秒のオーディオを有するので、64kbpsの最大ビットレートは、フレームあたり利用可能な合計1280ビット(すなわち、64,000bps×0.02s)に対応する。繰り返しになるが、使用するモードは、2つの周波数帯域のパワー値474、475のエネルギー比に依存する。様々な比470も図4Dにグラフとして描かれている。
従って、HiBandのパワー値475がLoBandのパワー値474の4倍を超えると、決定されるビット分割モード(bit_split_mode)は"7"となる。これは、LoBandの20kbps(または400ビット)の第1のビット割当て464に対応し、利用可能な64kbps(または1280ビット)の内のHiBandの44kbps(または880ビット)の第2のビット割当て465に対応する。別の実施例として、HiBandのパワー値464が、LoBandのパワー値465の半分を超えるが、LoBandのパワー値464の1倍未満の場合、ビット分割モード(bit_split_mode)は、"3"と決定される。これは、LoBandの36kbps(または720ビット)の第1のビット割当て464と対応し、利用可能な64kbps(または1280ビット)の内のHiBandの28kbps(または、560ビット)の第2のビット割当て465と対応する。
これら2つの可能性のあるビット割当ての形から分かるように、2つの周波数帯域の間でビット数を割り当てる方法を決定するのは、所与の実装形態のいくつかの細目に依存しており、これらのビット割当て方式が例示に過ぎないことを意味している。3つ以上の周波数帯域をビット割当てに関与させて、所与のオーディオ信号のビット割当てを更に精緻にすることも考えられる。従って、本開示の全体のビット割当ておよびオーディオの符号化/復号化は、3つ以上の周波数帯域をカバーするように拡張でき、また、本開示の教示により与えられる分割モード数を増加/減少させるように拡張できる。
2.順位付け直し
2.順位付け直し
上記のように、ビット割当てに加えて、開示するオーディオコーデック(110)は、より重要な領域における係数の順位を付け直して、それらの係数が最初にパケット化されるようにする。こうすると、通信事情のせいでビットストリームからビットが剥落する時に、重要な領域の方が削除される可能性は低くなる。例えば、図5Aは、従来の、ビットストリーム500に入る領域のパケット順を示す。上記のように、各領域は、対応する周波数範囲の変換係数を有する。図示のように、この従来の構成では、周波数範囲[0〜500Hz]の最初の領域"0"が最初にパケット化される。[500〜1000Hz]をカバーする次の領域"1"が次にパケット化され、最後の領域がパケット化されるまでこのプロセスが繰り返される。その結果が従来のビットストリーム500であり、周波数領域0、1、2、...Nの昇順で領域が配列される。
領域の重要度を判定し、次いで、より重要な領域をビットストリームの最初にパケット化することにより、本開示のオーディオコーデック110は、図5Bに示すようなビットストリーム510を生成する。ここで、最も重要な領域(周波数範囲とは無関係に)を最初にパケット化し、続いて2番目に重要な領域をパケット化する。このプロセスを重要度が最も低い領域がパケット化されるまで繰り返す。
図5Cに示すように、何らかの理由で、ビット群がビットストリーム510から剥落することがある。例えば、ビットストリームの送信中または受信中にビット群が脱落することがある。しかし、残りのビットストリームは、保持されているビットについて、まだ復号化することができる。これらのビットは重要度に基づいて順位付けられているので、最も重要度が低い領域のビット520は、これが発生すると剥落する可能性が高くなる。最後に、図5Cで明らかなように、順位を付け直したビットストリーム510にビット剥落が発生しても、全体のオーディオ品質を維持することができる。
3.重要度を決定するためのパワースペクトル技術
3.重要度を決定するためのパワースペクトル技術
上記のように、符号化オーディオ内の領域の重要度を判定する技術は、領域のパワー信号を用いて領域に順位を付けることである。図6Aに示すように、本開示に係るオーディオコーデック(110)が使用するパワースペクトルモデル600が、領域毎の信号パワーを計算する(すなわち、領域0[0〜500Hz]、領域1[500〜1000Hz]等)(ブロック602)。オーディオコーデック(110)がこれを行う1つの方法は、所与の領域内の各変換係数の二乗和を計算し、これを所与の領域の信号パワーに使用することである。
所与の周波数帯域のオーディオを変換係数に変換してから(例えば、図4のブロック410で実行するように)、オーディオコーデック(110)は、各領域内の係数の二乗を計算する。現在の変換では、各領域は500Hzをカバーし、それぞれ25Hzをカバーする20個の変換係数を有する。所与の領域内のこれら20個の変換係数のそれぞれの二乗和が、この領域のパワースペクトルを生成する。対象とする帯域内の領域毎にこれを実行して、対象とする帯域内の領域毎にパワースペクトル値を計算する。
領域の信号パワーの計算を終えると(ブロック602)、それらを量子化する。次に、モデル600がパワーの降順で領域をソートし、各帯域内の最大パワー領域で開始し、最小パワー領域で終了する(ブロック604)。最後に、オーディオコーデック(110)は、決定された順位で係数のビットをパケット化することにより、モデル600を完了させる(ブロック606)。
結局、オーディオコーデック(110)は、領域の信号パワーに基づき他の領域と比較して領域の重要度を判定している。この場合、大きなパワーを有する領域は高い重要度を有する。最後にパケット化された領域が、送信プロセス内の何らかの理由で剥落した場合、より大きなパワー信号を有するこれらの領域が最初にパケット化され、剥落しない有用なオーディオを含む可能性が高い。
4.重要度を判定するための知覚技法
4.重要度を判定するための知覚技法
上記のように、符号化信号内の領域の重要度を判定するための別の技術は、知覚モデル650を使用する。その一例を図6Bに示す。最初に、知覚モデル650は、2つの帯域のそれぞれの各領域の信号パワーを計算するが、上記とほとんど同じ方法で行うことができ(ブロック652)、次いで、モデル650は信号パワーを量子化する。
次に、モデル650は、領域毎の変更した領域パワー値(すなわち、modified_region_power)を定義する(ブロック654)。変更した領域パワー値は、所与の領域の重要度を考慮する場合、周囲の領域の影響を考慮して重み付けした合計に基づく。従って、知覚モデル650は、1つの領域内の信号パワーが別の領域内の量子化ノイズをマスクでき、2つの領域がスペクトル上で近い場合にこのマスキング効果が最大になるという事実を利用している。従って、所与の領域の変更した領域パワー値(すなわち、modified_region_power(region_index))を次のように定義できる:
SUM ( weight [region_index, r ] * quantized_region_power(r));
ここで、r=[0...43]であり;
quantized_region_power(r)は、領域の算出信号パワーであり;
weight [region_index, r ]は、スペクトル距離|region_index − r|が増加すると減少する固定関数である。
SUM ( weight [region_index, r ] * quantized_region_power(r));
ここで、r=[0...43]であり;
quantized_region_power(r)は、領域の算出信号パワーであり;
weight [region_index, r ]は、スペクトル距離|region_index − r|が増加すると減少する固定関数である。
従って、知覚モデル650は、重み付け関数が以下のように定義されると、図6Aのモデルに帰着する:
r = region_index のとき、weight(region_index, r) = 1
r != region_index のとき、weight(region_index, r) = 0
r = region_index のとき、weight(region_index, r) = 1
r != region_index のとき、weight(region_index, r) = 0
上記概説したように、変更した領域パワー値を計算してから、知覚モデル650は、降順で変更した領域パワー値に基づいて領域をソートする(ブロック656)。上記のように、特に、2つの領域がスペクトル上で互いに近い場合、重み付けをしたことにより、1つの領域の信号パワーは別の領域の量子化ノイズをマスクできる。次いで、オーディオコーデック(110)は、決定された順位で領域のビットをパケット化することによりモデル650を完了させる(ブロック658)。
5.パケット化
5.パケット化
上記説明のように、開示のオーディオコーデック(110)は、低周波数および高周波数の帯域に使用される特定のビット割当ての詳細を遠端の復号器(250)へ送出できるように、ビットを符号化し、それらをパケット化する。更に、スペクトル包絡線が、パケット化される2つの周波数帯域における変換係数の割当てビットと共にパケット化される。以下の表は、近端から遠端へ送信されるべき所与のフレームのビットストリームにおいてビットがパケット化される(第1ビットから最後のビットまで)方法を示す。
表から分かるように、特定のビット割当てを指示する(可能性のある8つのモードの)3ビットをフレーム用に先ずパケット化する。次に、この帯域のスペクトル包絡線用のビット群を最初にパケット化することにより低周波数帯域(LoBand)をパケット化する。普通、包絡線は振幅情報を含むが位相情報は含まないので、少ない符号化ビットで済む。包絡線用のビット群をパケット化した後、特定の割当てビット数を低周波数帯域(LoBand)の正規化係数用にパケット化する。スペクトル包絡線用のビット群は、それらビットの典型的な昇順に基づいてパケット化されるだけである。更に、上記概説したように、低周波数帯域(LoBand)の係数用に割り当てられたビット群が重要度に従って順位が付け直されている時、それらビットがパケット化される。
最後に、表から分かるように、高周波数帯域(HiBand)を、この帯域のスペクトル包絡線用のビット群を先ずパケット化することによりパケット化し、次いで、同じ方法で、HiBand周波数帯域の正規化係数用の特定の割当て数からなるビット群をパケット化する。
E.復号化技術
E.復号化技術
先に、図2Aで説明したように、本開示のオーディオコーデック110の復号器250は、パケットを受信すると、それらのビットを復号化するので、オーディオコーデック110は、係数を時間領域に変換して戻すことにより、出力オーディオを生成することができる。この処理を図7に詳細に示す。
最初に、受信器(例えば、図2Bの100B)がビットストリームでパケットを受信し、周知の技術を用いてパケットを処理する(ブロック702)。パケットを送出する場合、例えば、送信器100Aは、送出されるパケットに含まれるシーケンス番号を作成する。周知のように、パケットは、送信器100Aから受信器100Bまで、ネットワーク125上の様々なルートを通過することがあるので、パケットは受信器100Bに様々な時間に到着するかもしれない。つまり、パケットが到着する順序はランダムとなる。この「ジッター」と呼ばれる変化する到着時間を処理するために、受信器100Bは受信器のインターフェース120に接続されるジッターバッファ(不図示)を有する。典型的には、ジッターバッファは、同時に4つ以上のパケットを保持する。従って、受信器100Bは、パケットのシーケンス番号に基づいてジッターバッファ内のパケットを並べ替える。
ビットストリーム内の最初の3ビットを用いて(例えば、図5Bの520)、復号器250は、処理される所与のフレームのビット割当て用パケットを復号化する(ブロック704)。上記のように、構成によって、1つの実装内に8つのビット割当ての可能性がある。使用される分割が分かると(最初の3ビットにより指示される)、復号器250は帯域毎に割り当てられた数のビットを復号化できる。
低周波数で開始すると、復号器250は、フレーム用の低周波数帯域(LoBand)のスペクトル包絡線を復号化し、逆量子化する(ブロック706)。次に、復号器250は、ビットが受信され、剥落されていない限り、低周波数帯域の係数を復号化し、逆量子化する。従って、復号器250は順次に、繰返しプロセスを経由し、それ以上ビットが残っているかどうかを判定する(決定710)。ビットが利用可能な限り、復号器250は、低周波数帯域内の領域の正規化係数を復号化し(ブロック712)、現在の係数値を計算する(ブロック714)。この計算のために、復号器250は、変換係数をスペクトル包絡線の値に、正規化した係数の値を乗じてcoeff=envelop*normalized_coeffとして計算する(ブロック714)。これを、全てのビットを復号化し、低周波数帯域のスペクトル包絡線値を乗じるまで続ける。
ビットは周波数領域の重要度に従って順位付けられているので、復号器250は、ビットストリームが剥落したビットを持っているかどうかに関わらず、たいていはビットストリーム内の最も重要な領域を最初に復号化する。次に復号器250は2番目に重要な領域、というように以下順次復号化する。復号器250は全てのビットが使用されてしまうまで続ける(判定710)。
全てのビットを処理したら(実際には、ビット剥落のせいで元のまま復号化された全てのビットでないかもしれない)、剥ぎ取られているかもしれない最低重要度のこれら領域をノイズで満たし、この低周波数帯域内の信号の残っている部分を完了させる。
ビットストリームでビットが剥落している場合、剥落したビットの係数情報は失われている。しかし、復号器250は、低周波数帯域のスペクトル包絡線を既に受信し、復号化している。従って、復号器250には少なくともその信号の振幅が分かっているが、位相は分からない。ノイズを満たすために、復号器250は剥落したビット内に既知の振幅についての位相情報を満たす。
ノイズで満たすために、復号器250は、ビットが欠けているいずれかの残りの領域用の係数を計算する(ブロック716)。残りの領域用のこれらの係数は、ノイズ充填値(NOISE_FILL)を乗じたスペクトル包絡線の値として計算される。このノイズ充填値(NOISE_FILL)は、ビット剥落のせいで欠けて失われた領域の係数を満たすために用いられるランダム値とすることができる。ノイズで満たすことにより、端末の復号器250は、10kbpsのような極端に低いビットレートであっても、ビットストリームをフルバンドとして知覚できる。
低周波数帯域を処理した後、復号器250は高周波数帯域(HiBand)の全体の処理を繰り返す(ブロック720)。従って、復号器250は、HiBandのスペクトル包絡線を復号化して、逆量子化し、ビットの正規化係数を復号化し、ビットの現在の係数値を計算し、そしてビットを欠いた残りの領域(剥落していれば)のノイズ埋込み係数を計算する。
復号器250が、LoBandおよびHiBand両方の全ての領域の変換係数を決定し、スペクトル包絡線から導かれた領域の順位を知り得たので、復号器250は変換係数に逆変換を実行して、フレームを時間領域に変換する(ブロック722)。最後に、オーディオコーデックは時間領域でオーディオを生成する(ブロック724)。
F.オーディオ欠損パケットの復元
F.オーディオ欠損パケットの復元
ここで開示するように、スケーラブルオーディオコーデック110はビット剥落が発生している場合のオーディオ処理に有用である。加えて、スケーラブルオーディオコーデック110は、パケットロス(欠損)復元の支援に用いることもできる。パケットロスに対抗する普通のアプローチは、出力用に既に処理してある、以前に受信したオーディオを単に繰り返して、パケットロスでできた空隙を埋めることである。このアプローチは、オーディオの空隙によって発生する歪みを減らせるが、歪みを解消することはない。例えば、5%を超えるパケットロスのレートでは、以前送信されたオーディオを繰り返すことにより発生するアーチファクトが目立つようになる。
スケーラブルオーディオコーデック110は、連続するパケットにおいて1オーディオフレームの高品質バージョンと低品質をインターレースする(織り混ぜる)ことによりパケットロスに対抗する。これは拡張可能であり、異なる品質でオーディオフレームを2回符号化しなくてよいので、オーディオコーデック110は計算コストを低減させることができる。それどころか、スケーラブルオーディオコーデック110が既に生成した高品質バージョンからビットを落とすだけで低品質バージョンが得られる。
図8は、送信器100Aにある本開示のスケーラブルオーディオコーデック110が、オーディオ信号を2回符号化しなくてもオーディオフレームの高品質と低品質のバージョンをインターレースできる方法を示す。以下の説明で、「フレーム」についての言及は、本明細書で説明するような20ms位のオーディオブロックを意味している。更に、インターレース(織り混ぜ)処理は、送信パケット、変換係数領域、ビット補正等に適用できる。加えて、32kbpsの最小一定ビットレートおよび、より低品質の8kbpsのレートについても説明するが、オーディオコーデック110が用いるインターレース技術は他のビットレートにも適用できる。
典型的には、このオーディオコーデック110は、32kbpsの最小一定ビットレートを用いて劣化しないオーディオ品質を達成できる。パケットはそれぞれ20msのオーディオを持っているので、この最小ビットレートは640ビット/パケットに相当する。但し、このビットレートは、無視できるほどの主観的な歪みを持つ8kbps(つまり160ビット/パケット)に低下することが稀にある。これは、640ビットで符号化されたパケットが、160ビットだけで符号化されたこれらの稀に発生するパケットからの符号化歪みをマスクするように見えるので起こり得る。
このプロセスでは、送信器100Aのオーディオコーデック110が、最小でも32kbpsのビットレートを与えられた各20msパケット毎の640ビットを用いて、現在の20msのオーディオフレームを符号化する。パケットロスの可能性に対処するために、オーディオコーデック110は、未来の各フレーム毎に低品質の160ビットを用いて、未来のN個のオーディオフレームを符号化する。しかし、フレームを2回符号化しなければならないのではなく、代わりに、オーディオコーデック110が高品質バージョンからビットを落とす処理を行うことにより低品質の未来のフレームを作成する。何らかの送信オーディオ遅延を導入できるので、送信器100Aにオーディオ遅延を追加しなくても、符号化できる可能性のある低品質フレームの数は、例えば、N=4に制限してもよい。
この段階で、次に、送信器100Aは高品質ビットと低品質ビットを単一パケットに組み合せ、それを受信器100Bに送出する。図8に示すように、例えば、第1のオーディオフレーム810aは、32kbpsの最小一定ビットレートで符号化される。第2のオーディオフレーム810bも、同じく32kbpsの最小一定ビットレートで符号化されるが、160ビットの低品質でも符号化される。本明細書で説明するように、この低品質バージョン814bは、既に符号化されている高品質バージョン812bからビットを落とす(ビットレートを落とす)ことにより実際に達成される。このオーディオコーデック110が重要度の領域を区分するとすると、高品質バージョン812bから低品質バージョン814bへとビットを落とすことは、この低品質バージョン814bにおいても何らかの有用なオーディオ品質が実際に保持されるであろう。
第1の符号化パケット820aを生成するために、第1のオーディオフレーム810aの高品質バージョン812aを、第2のオーディオフレーム810bの低品質バージョン814bと組み合せる。この符号化パケット820aは、上記のように分割された低周波数および高周波数の帯域のためのビット割当ておよび順位付け直しの技術を組み込むことができ、かつ、これら技術は、高品質および低品質のバージョンの一方または両方812a/814bに適用できる。従って、例えば、符号化したパケット820aには、ビット分割割当ての指示、フレームの高品質バージョン812aの低周波数帯域の第1のスペクトル包絡線、低周波数帯域の順位付けられた領域重要度の第1の変換係数、フレームの高品質バージョン812aの高周波数帯域の第2のスペクトル包絡線、および高周波数帯域の順位付けられた領域重要度の第2の変換係数を含めることができる。次いで、これに、ビット割当て等と無関係に後続のフレームの低品質バージョン814bだけが続く。代替として、後続のフレームの低品質バージョン814bは、スペクトル包絡線および2つの帯域周波数の係数が含むことができる。
高品質符号化、低品質へのビット落とし、および隣接するオーディオフレームとの組合せは、符号化プロセス全体を通じて繰り返される。従って、例えば、第3のオーディオフレーム810cの低品質バージョン814c(すなわち、ビット落としバージョン)と組み合わされた第2のオーディオフレーム810bの高品質バージョン812bを含む第2の符号化パケット820bが生成される。
受信端末で、受信器100Bは送信されたパケット820を受信する。パケットが良好であれば(すなわち、受信されると)、受信器のオーディオコーデック110は、現在の20ミリ秒のオーディオを表す640ビットを復号化し、受信器のスピーカにそれを提供する。例えば、受信器110Bで受信した第1の符号化パケット820aが良好なので、受信器110Bはパケット820aの第1のフレーム810aの高品質バージョン812aを復号化して、第1の復号化オーディオフレーム830aを生成する。受信した第2の符号化パケット820bも良好かもしれない。従って、受信器110Bは、このパケット820bの第2のフレーム810bの高品質バージョン812bを復号化して、第2の復号化オーディオフレーム830bを生成する。
パケットが不良または失われている場合、受信器のオーディオコーデック110は、受信した最新の良好パケットに含まれる現在のフレームの低品質バージョン(160ビットの符号化データ)を用いて、失われたオーディオを復元する。図示のように、例えば、第3の符号化パケット820cは送信中に失われてしまった。従来なされていたように別のフレームのオーディオで空隙を埋めるのではなく、受信器100Bのオーディオコーデック110は、失われたフレーム820cに代えて、良好だった前回の符号化パケット820bから得られる低品質オーディオバージョン814cを用いる。次に、この低品質オーディオを用いて、失われた第3の符号化オーディオフレーム830cを再構築できる。こうして、失われたパケット820cのフレームに、低品質ではあるが、実際に失われたオーディオを使用できるのである。しかも、この低品質は、マスキングのせいで知覚的な歪みをさほど起こさないと予想される。
G.マルチポイント環境
G.マルチポイント環境
上記した機能に加えて、分散型オーディオミキシング及びビットレート調整を容易にするために、マルチポイント環境においてここに記述されたようなスケーラブルオーディオコーデックが用いられ得る。例えば、図9に示す例示的な会議環境を考慮する。会議は、上記したような多数のエンドポイント900(A、B、Cなど)を備える。各エンドポイント900は会議ネットワーク930に接続される、インターネットとして示されるが、LANまたはWAN、PSTN、ISDN、ATM、ADSLあるいはネットワークの他の形態を含む既知のネットワーク配置のいずれか1つ又は組み合わせを備え得る。また、ネットワーク930上に存在するのは、マルチウェイコール内のエンドポイント900を接続するマルチポイント制御ユニット950である。
各エンドポイント900は、スケーラブルオーディオコーデック910(前述のものと同様)を有するし、また会話活動検出器920(後述する)を有する。ネットワーク930上の装置としてMCU950は、スケーラブルオーディオコーデック910と会話活動検出器920とを有することができる。公知のように、前記エンドポイント900は符号化されたオーディオ信号をネットワーク930を介して送受信する、そしてMCU950はマルチウェイコール内の多数のエンドポイント900の前記符号化されたオーディオ信号を処理する。
前述したように、MCUのスケーラブルオーディオコーデック910は、従来の慣例によらずに、ビットを剥落することにより、様々なエンドポイント900へ送信するために異なるビットレートでビットストリームを生成し得る。従って、MCU950は、その拡張可能オーディオコーデックを用いて、他のエンドポイント900Aからのより高解像度のビットストリームからビットを取り除くことによって、有用なオーディオを維持したまま、一エンドポイント900B用の低解像度のビットストリームを得ることができる。別の例において、このビット剥落は、送信エンドポイント900Aが発言中の(アクティブな)一次話者であるかどうかなどの、いくつかの他の要因に基づいてある送信エンドポイント(例えば、900A)で行われ得る。これは、現在の会話信号のエネルギー量を決定し、そのいずれかの過去の値、他のエンドポイント900B〜900Cからの1乃至複数の現在の信号エネルギー、あるいは既定の閾値と比較することによってなどを含む、様々な方法において決定され得る。この技術は、バックグラウンドノイズなどから会話を区別しようとする知覚モデルによって補足又は置換され得る。
このような場合、送信エンドポイント(例えば、900A)は、フルビットストリーム(もし別な方法で可能ならば)を送信することができ、それにより全ての会議参加者がその送信エンドポイント900Aの高品位オーディオを聞くことができるようにする。送信エンドポイント900Aが現在発言中の話者でないならば、該エンドポイント900Aは、選択されたエンドポイントのスケーラブルオーディオコーデック910のパラメータに基づいて、オーディオ信号を処理する。例えば、他の帯域を超えるいくつかの帯域(すなわち、より低い周波数)を強調するように前記オーディオ信号を符号化する際に用いられた異なる周波数帯域のビット割当てを変更するために、他の帯域を超えるいくつかの帯域を強調するように重要性に基づいて符号化する際に用いられた周波数領域の順位を変更するために、及び/又はエンドポイント900Aがより低い周波数帯域だけを送信するように、符号化されたオーディオ信号それ自身のビットストリームからビットを"自主剥落(self-strip)"するために、前記コーデックのパラメータは設定され得る。この処理は、帯域幅を節約し、またMCU950(受信する全てのものを他のエンドポイント900B〜900Cへ単純に中継することができる)か受信エンドポイント900Bと900C(現時点で一次フォーカスでないものの高忠実度オーディオを復号化する追加リソースを費やす必要がない)のどちらかの計算要件を減らす。
他の態様において、送信エンドポイント900Aは、その最高品質ビットストリームの全てのビットを単純に送信することができ、MCU950はフルビットストリームを他の会議エンドポイント900B〜900C全てに中継することができる。さらに、個々のエンドポイント900B〜900Cのそれぞれは、それ自身のニーズを果たすようにビット剥落を実行することができる。
例えば、送信エンドポイント900Aは現在発言中の(アクティブな)話者だけを有し得る。それ故、送信エンドポイント900Aはそのフルビットストリームを送信し得、MCU950は前記フルビットストリームを他の会議エンドポイント900B〜900C全てに中継することができる。計算リソースを減らすため、ある受信エンドポイント(例えば、900B)は、現在発言中の話者を有するエンドポイント(すなわち、900A)から受信した信号の高周波数帯域だけを復号化することを選ぶかもしれない。(現在発言中の話者を含む信号のどれかが、下に記述されるようなさまざまな方法で決定され得る。)発言中でない(非アクティブな)話者を有するエンドポイント(すなわち、900C)からの信号のため、受信エンドポイント900Bはより高い周波数帯域に対応するビットを廃棄することができる、だから、発言中でない(非アクティブな)エンドポイント900Cが会議に差し挟んでも、十分な品質を提供しつつ、会議のオーディオ品質を著しく下げない。
前述したスケーラブルオーディオコーデック910の本質から、各参加者エンドポイント900A〜900Cへの再送信用の様々なエンドポイント900A〜900Cからのオーディオ信号をミキシングすることよりむしろ、今日行われているように、送信エンドポイント900Aは特定の成分のみ又は全てのオーディオ信号をMCU950へ送信することができるし、前記MCU950は特定の成分のみ又は全てのオーディオ信号を各受信エンドポイント900へ転送することができるし、及び/又は各受信エンドポイント900B〜900Cは特定の成分のみ又は全てのオーディオ信号を復号化することができる。この汎用性は、各エンドポイント900A〜900Cがそれ自身の会議混合を生成することを可能にする。それこそどのようにしてこれが行われるかはさまざまであり得る。
例えば、各エンドポイント900A、900B等は、どのようにしてそれが会議混合に含まれるべきかに関して指示があろうとなかろうと、MCU950がその中の全部を他のエンドポイント900すべてに転送することのできる、その全体オーディオ信号を送信することができる。別の例において、各エンドポイント900A〜900Cは、それが特定の状態にあるかどうかを自身のために決定することができる。次に、各エンドポイント900A〜900Cは、それと他のエンドポイントの状態に基づきそれ自身の会議オーディオ信号を処理して送信することができ、及び/又はそれと他のエンドポイントの状態に基づき会議オーディオ信号を受信して該受信したオーディオ信号を処理することができる。例えば、各エンドポイント900A〜900Cは、現在発言中の話者(符号化中にビット割当てするのに上述したような技法を用いている)を有しているかどうか、会議のリアリズムを高めるようにバックグラウンドノイズのいくつかのレベルを提供する必要性があるかどうか、あるいはそのエンドポイント900が会議品質に影響を与えることなく全体的に無音を維持できるかどうかを、自身のために決定することができる。エンドポイント900が自ら決定するこれら状態のどれかに応じて、エンドポイント900は、より低い解像度で(すなわち、いくつかの周波数帯域だけを含むことによって、及び/又はそれら周波数帯域においてビット剥落することによって)そのオーディオ信号を送信することにより、あるいはまったくどのオーディオ信号も送信しないことにより、最高解像度で(すなわち、どのビット剥落もせずに全ての周波数帯域を含む)そのオーディオ信号を送ることができる。同じような理論的根拠は、エンドポイントがネットワーク930を介して会議オーディオを受信している場合に適用できる。
どのようにしてこのような実施形態が機能するかを理解するため、会議内のすべての装置(すなわち、900、950)は、装置900、950の間で送信されるオーディオRTPパケット内の状態、会話レベル、コードなどを決定し送信するために、共有された1つの会話活動検出器920(常駐している、例えばMCU950内に)を使用することができる。別の例において、各受信装置(すなわち、900、950)は、各着信オーディオストリームに適用する自身の会話活動検出器920を使用するかを決めることができる、これによって各装置(すなわち、900、950)は各受信したストリームの会話レベルを監視することができる。そのうえ、各エンドポイント900はまた、自身の会話活動検出器920を用いて自身の会話レベルを監視することができる。
こうした会話活動検出器920は様々な形態を取ることができ、オーディオ信号の合計エネルギーを見ることができるし、オーディオ信号の特定の周波数帯又は周波数帯域におけるエネルギーレベルを見ることができるし、及び/又は会話を検出するためにさまざまな知覚モデルを使用することができる。会話レベルとエンドポイント900の様々な状態を比較することにより、最高解像度で(すなわち、どのビット剥落もせずに全ての周波数帯域を含む)、より低い解像度で(すなわち、いくつかの周波数帯域だけを含むことによって、及び/又はそれら周波数帯域においてビット剥落することによって)オーディオ信号の送受信を行うこと、又はオーディオ信号の送受信を全く行わないことは(すなわち、オーディオ信号を全く送信しないことによって)、計算リソースと利用可能な帯域幅を節約する方法において実施され得る。
概して、図9のマルチポイント環境における会議混合は、一次ソース(フルビットレート時)として1以上のエンドポイント900と、二次ソース(より低いビットレート時)として1以上のエンドポイント900を有するようにモデル化し得る、とはいえ追加階層レベルを提供し得る。このモデルに基づいて、所定のエンドポイント900は、一次ソース(この場合において、そのオーディオ信号はフルビットレートで好ましくは対処される)又は二次ソース(この場合において、そのオーディオ信号はより低いビットレートで好ましくは対処される)が指定され得る。
前記モデルによれば、各エンドポイント900A〜900Cは、2つのソース状態、すなわち一次(P)又は二次(S)の1つを有することができる。"一次"エンドポイント900は向上されたビットレートで送信されたそのオーディオ信号を有し、"二次"エンドポイント900はより低いビットレートで送信されたそのオーディオ信号を有する。更なる区別として、各エンドポイント900A〜900Cは2つのトーク状態すなわち話中(T)と話中でない(N)の1つを、そのソース状態(P又はS)に有することができる。
言い換えれば、"一次"(P)ソース状態を有するエンドポイント900は、そのエンドポイント900、MCU950、あるいはその他のエンドポイントの会話活動検出器920により解析されたオーディオ信号に応じて、"話中"(T)又は"話中でない"(N)のいずれかのトーク状態を有することができる。同様に、"二次"(S)ソース状態を有するエンドポイント900は、"話中"(T)又は"話中でない"(N)のいずれかのトーク状態を有することができる。以下に詳述するように、エンドポイント900がオーディオ信号を送信していない場合には、第3のソース状態・静寂(Q)が用いられ得る。
前記モデルの追加機能として、エンドポイント900のソース指定は、そのエンドポイントのソース指定が変更されるべきか否かの決定に用いられ得る時間制限を有するかもしれない。あるエンドポイント900が一次ソースになるように指定された場合、例えば、前記エンドポイント900は時間T1(一次滞留時間と呼ぶ)の間その決定に関与する。あるエンドポイント900が二次ソースになるように指定された場合、例えば、エンドポイント900は時間T2(二次滞留時間と呼ぶ)の間その決定に関与する。これらの時間T1、T2は、会議制御プロトコルによりそれぞれ共通の値に設定され得るか、又は各エンドポイント900毎に独立に適応され得る(例えば、他のエンドポイント900へのパス遅延を計算に入れるため)。前記時間T1とT2が経過すると、前記エンドポイント900のソース状態は、後述するように、状況に応じて変更されることもあり得る。
所定のこれら様々なソース状態、トーク状態、滞留時間、特定のエンドポイント900の会議ミキシングは、マルチウェイコール中に会議オーディオのダイナミクスに応じて、エンドポイント900及び/又はMCU950のネットワーク帯域幅と計算リソースを節約するために動的に対処し得る。変化しているオーディオ環境に対処するため、前記エンドポイント900及び/又はMCU950は、その環境において1以上のエンドポイント900の状態を比較するために、オーディオ信号を処理する方法(すなわち、符号化、復号化、ビット剥落など)を決定するために、利用可能な帯域幅と計算リソースを節約するために、様々なルールを用いる。様々なルールが、図10Aから図12Bに関連して以下に説明される。
ルールを見る前に、どのようにしてあるエンドポイント(例えば、900A)がマルチポイント環境においてスケーラブルオーディオを使用するかを示している図10Aの処理1000に最初に説明を移す。会議中にエンドポイント900Aがオーディオビットストリームを送信している又は受信している場合、該エンドポイント900Aは、その現在のソース状態、トーク状態、滞留時間を取得する(ブロック1002)。前記エンドポイント900Aのこれらの値のいくつかはメモリに記憶されて定期的に更新され得る、あるいは会話活動検出器920でリアルタイムに動的に決定され得る。エンドポイント900Aは、マルチウェイコール内の他のエンドポイント(例えば、900Bと900C)のソース状態とトーク状態を決定する(ブロック1004)。これらの値もまたメモリに記憶されて定期的に更新され得る。そのうえ、他のエンドポイント900B〜900Cの状態は、ネットワーク230を介して受信されたビットストリームで通信され得る、あるいは当該エンドポイント900Aの検出器920によって決定され得る。
いずれにせよ、エンドポイント900Aは、いくつかのルール(後述する)に基づいて、様々な状態(その状態と他のエンドポイント900B〜900Cのそれらを含む)とその滞留時間とを比較する(ブロック1006)。その比較から、エンドポイント900Aは、1以上のその(ソース及びトーク)状態をマルチウェイコール内の現在の配置に応じて変更する必要があるかどうかを判定する(決定1008)。変更が必要なら、エンドポイント900Aは適用されたルールに従って1以上の状態を変更する(ブロック1010)。
状態が変更されたかどうかに関わらず、エンドポイント900Aは、オーディオ信号を処理(符号化、復号化、ビット剥落など)するように、そのスケーラブルオーディオコーデック910を使うことができる。コーデックのパラメータは、前記エンドポイントのソース状態及びトーク状態によって決定される(ブロック1012)。例えば、オーディオ信号を送信する場合、エンドポイント900Aは、もしそれが一次ソース又は二次ソースであればフルビットレートで符号化すること、もしそれが二次ソースであればフルビットレートで復号化しそれからビット剥落することなどできる。オーディオ信号を受信する場合、例えば、エンドポイント900Aは、もし送信エンドポイントが一次ソースであればフルビットレートで復号化すること、送信エンドポイント又はMCUによって既にビットが剥落されたオーディオ信号を復号化すること、もし送信エンドポイントが二次ソースであればビットを剥落し復号化することなどできる。最終的に、エンドポイント900Aは、(会議内の他のエンドポイントに送信するため)ネットワークを介して前記符号化したオーディオ信号を送信する、又は前記エンドポイントにおいて出力用の前記復号化したオーディオ信号を出力する(会議内の他のエンドポイントから受信する場合)(ブロック1014)。
図10(b)に示すように、マルチポイント環境においてスケーラブルオーディオを使用するためのMCU950の処理1020は、MCU950がそれ自身の状態などを決定する必要がないかもしれないことを除き、一エンドポイント900と大差ない。会議中に、MCU950は、マルチウェイコール内の様々なエンドポイント(例えば、900A〜900C)の現在のソース状態とトーク状態を取得する(ブロック1022)。上述のように、エンドポイント900A〜900Cの状態は、MCUの会話活動検出器920によって決定され得る又はネットワーク930を介して受信されるビットストリームで通信し得る。
MCU950は、いくつかのルール(以下で説明される)に基づいて様々な状態を比較する(ブロック1024)。その比較から、MCU950は、1以上のエンドポイントの(ソース及びトーク)状態をマルチウェイコール内の現在の配置に応じて変更する必要があるかどうかを判定する(決定1026)。変更が必要なら、MCU950は適用されたルールに従って1以上の状態を変更する(ブロック1028)。MCU950は、会議オーディオの調整を担うかどうかを判定することができる(決定1030)、それは予め定められ得る又は状況に基づき決定され得る。
調整を担う場合、MCU950は、エンドポイントのソース状態及びトーク状態によって決定されたコーデックのパラメータでオーディオ信号を調整するように、そのスケーラブルオーディオコーデック910を使う(ブロック1032)。例えば、前記MCUのコーデック910は、あるエンドポイント900に転送する前に、より高い解像度の信号を復号化してより低い解像度で再符号化することができる、だがこれは好ましくないかもしれない。その代わりに、MCU950がそのエンドポイントのオーディオ信号の調整を担う場合、前記MCUのコーデック910は、あるエンドポイント900からの既に符号化されたビットストリームから好ましくはビットを剥落する。MCU950は次に、会議のエンドポイント900A〜900Cに前記調整したオーディオ信号を送信する(ブロック1034)。コーデック910を使うというよりむしろ、しかしながら、オーディオを調整するように意図されていない状況にあるMCU950は、エンドポイント900A〜900Cに現在のオーディオ信号を単純に送信してもよく(すなわち、既存のビットストリームを中継する)、及びオーディオ信号自体を調整するようにエンドポイント900A〜900Cに指示してもしなくてもよい(ブロック1034)。
どのようにしてスケーラブルオーディオがマルチポイント環境において用いられ得るかを理解したところで、エンドポイント900A〜900Cが様々なソース状態及びトーク状態を有する場合に、会議中に適用され得る様々なルールのいくつかに説明を移す。
図11A〜11Dは、マルチポイント環境においてエンドポイントがそのソース状態を他のエンドポイントのソース状態と比較する場合のルールを示す。前記ルールは、会議内の一エンドポイント900又はMCU950により適用され得る。
図11Aの1つのルールセットにおいて、マルチポイント環境において所定のエンドポイント(例えば、900A)のソース状態と他のエンドポイント(例えば、900B〜900C)のソース状態が決定される(ブロック1042)。所定のエンドポイント自身のソース状態は記憶され得る。前記他のソース状態もまた記憶され得て、それら記憶された状態は会議中にビットストリームの一部として通信された現在の状態と比較され得る。
これら他のエンドポイント900B〜900Cの1つが変更された状態を有し得るので、前記他のエンドポイントの1つが新規の一次ソース状態(P)を有するかどうかが決定される(ブロック1044)。もう1つの他のエンドポイント(例えば、900B)がそのような新規の一次ソース状態Pを有するならば、所定のエンドポイント900Aは一次ソース状態Pにあるかどうかが判定され(決定1046)、所定のエンドポイントの一次滞留時間T1が経過したかどうかが判定される(決定1048)。両方ともが真である場合、所定のエンドポイント900Aは、二次ソース状態(S)に変更される(ブロック1050)。言い換えれば、会議オーディオの一次ソース状態は、所定時間後に会議オーディオの二次ソース状態に戻る。このルールは、所定のエンドポイント900Aがまだ発言中の会話信号を有する限り、前記一次滞留時間T1をリセットし続けることにより補足され得る。図11Cを見てください。
所定のエンドポイントの現在の状態を決定する場合、その現在の状態が二次ソース状態(S)であることを代わりに判定してもよい(決定1052)。所定のエンドポイントの二次滞留時間T2が経過しており(決定1054)、またより多くの他のエンドポイント(900B、900Cなど)が一次ソース状態(P)又は二次(S)ソース状態にあるならば(決定1056)、所定のエンドポイント900Aのソース状態は静寂(Q)に変更される(ブロック1058)。これは基本的に、もはや発言中でないエンドポイントの動作を制御するルールのバリエーションである。
図11Bのもう1つの他のルールセット1060において、マルチポイント環境において或る所与のエンドポイント(例えば、900A)のソース状態と他のエンドポイント(例えば、900B〜900C)のソース状態が決定される(ブロック1062)。これら他のエンドポイント900B〜900Cの1つは、変更された状態を有し得る。それ故、他のエンドポイントの1つが(例えば、900B)新規の二次ソース状態(S)を有しているかどうかの判定が行われる(決定1064)。もしそうなら、対象エンドポイント900Aもまた二次ソース状態Sにあるかどうか(決定1066)、その二次滞留時間T2が経過したかどうか(決定1068)の確認が行われる。両方ともが真である場合、所定のエンドポイント900Aのソース状態は静寂ソース状態(S)に変更され(ブロック1070)、オーディオ信号を送信しないようにする。
図11C〜図11Dは、前記所与のエンドポイント900Aがまだ発言中の会話信号を有する限り、どのようにして先のルールセット1040と1060が、前記滞留時間T1とT2をリセットし続けることにより補足され得るかを、説明するルールセット1080を示す。図11C〜図11Dの両図において、該所与のエンドポイント900Aに関して会話が検出されて(ブロック1082)、そのタイマーがリセットされて(ブロック1084/1085)、発言中の会話の到着が待たれる(決定1086)。最終的に、発言中の会話が検出されなければ、前記滞留時間T1とT2が経過する(決定1088/1089)。
図11Cに示すように、前記所与のエンドポイントの一次滞留時間T1が満了するとき(決定1088)、該所与のエンドポイントの現在の状態が一次ソース状態(P)であり(決定1090)、かつ、他のエンドポイントが一次ソース状態(P)にある(ブロック1092)ならば、そのとき、該所与のエンドポイントは二次ソース状態Sになる(ブロック1094)。つまり、一次話し手は所定時間後に二次話し手に戻る。
図11Dに示すように、該所与のエンドポイントの二次滞留時間T2が満了するとき(決定1089)、該所与のエンドポイントの現在の状態が二次ソース状態(S)であり、かつ、或る数よりも多くのエンドポイント900が一次ソース状態(P)又は二次ソース状態(S)にあるならば(決定1093)、そのとき、所定のエンドポイント900は静寂状態Qになる(ブロック1095)。言い換えれば、或る二次エンドポイント900Aが或る時間期間の間二次エンドポイントのままとなっており、かつ、或る選択された数の二次エンドポイント900B〜900Cもまた送信していれば、該二次エンドポイント900Aは静寂状態になり得る。これは、一定のバックグラウンドが適切な会議環境を提供するのに必要であるからである。オーディオミックス内に二次エンドポイントを有さないことは、不自然に不毛な会議体験を提供し得るが、過度に多くを有することは、会議体験を付加せず、かつ、実際にそこから減らされ得る。
図12A〜図12Bは、エンドポイント900Aのソース状態が変更されるべきであるか変更されないべきであるかを決定し得るように、所定のエンドポイント(例えば、900A)がそのトーク状態を変更する場合のルールセットを示す。図12Aのルールセット1200において、所定のエンドポイント(例えば、900A)のトーク状態が決定される(ブロック1202)。この場合、ルールセット1200は、所定のエンドポイント900Aが話中でない状態(N)から話中状態(T)になったかどうかを判定する(決定1204)。もしそうなら、所定のエンドポイントの現在のソース状態が一次ソース状態(P)であるかどうか、最初の確認が行われる(決定1206)ので、前記エンドポイント900Aは一次ソース状態(P)にとどまることができる。言い換えれば、一次(P)話中(T)エンドポイントは、その話者が話している限り、一次話中エンドポイントのままである。
一次ソース状態(P)にないならば、所定のエンドポイントの現在のソース状態が二次ソース状態(S)であるかどうか(決定1210)、1乃至複数の前記現在の一次ソースは話中でない状態(N)にあるかどうか(ブロック1212)、別の確認が行われる。もしそうなら、所定のエンドポイント900Aはフルビットレートを用いて、二次ソース状態(S)から一次ソース状態(P)に変更される。言い換えれば、第1(所定の)エンドポイント900Aが二次(S)エンドポイントとして動作しているが、第2のエンドポイント900Bが話すのを止めた後に話をし始めているならば、すぐに第1エンドポイント900Aは一次話し手(P、T)になる。
一次ソース状態又は二次ソース状態(P又はS)になければ、所定のエンドポイントの現在のソース状態が静寂(Q)であるかどうか(決定1216)の、最終的な確認が行われる。もしそうなら、エンドポイント900Aはフルビットレートを用いて、一次ソース状態(P)に直接なることができる。したがって、所定のエンドポイント900Aは静かであったが話し始めているならば、それは一次話中エンドポイントになる。
図12Bのルールセット1220において、所定のエンドポイント(例えば、900A)のトーク状態が再び決定される(ブロック1222)。この場合、前記ルールセット1220は、所定のエンドポイント900Aが話中状態(T)から話中でない状態(N)になったかどうかを判定する(決定1224)。もしそうなら、所定のエンドポイントの現在のソース状態が一次ソース状態(P)であるかどうか(決定1226)、その一次滞留時間T1が経過したかどうか(決定1228)、最初の確認が行われるので、所定のエンドポイント900Aが二次ソース状態(S)になることができる(ブロック1230)。言い換えれば、所定のエンドポイント900Aが話を止めて所定時間が経過したならば、エンドポイント900Aは一次話し手(P、T)から二次話し手(S、T)になる。
前述した様々なルールセットのバリエーションにおいて、静寂ソース状態Qは除き得る、だから全てのエンドポイント900A〜900Cは、一次ソース状態(P)又は二次ソース状態(S)のいずれかにとどまる。このようなバリエーションにおいて、全てのソース900A〜900Cは総合的な信号を提供するように混合され得るか、MCU950はエンドポイント900A〜900Cによって転送しその後ミキシングする特定の信号だけを選択し得る。
いくつかのルールセットが上述されたけれども、ここで開示したスケーラブルオーディオ技術に基づき、計算リソースを減らし帯域幅を節約するように、これらと他のルールが会議のエンドポイント900とMCU950によって適用され得ることを理解すべきである。
本開示のスケーラブルオーディオコーデックを会議システムのエンドポイントつまり端末で使用するための説明を行ってきた。しかし、開示のスケーラブルオーディオコーデックは、エンドポイント、端末、ルータ、カンファレンスブリッジ等の各種の会議システムのコンポーネントで使用することができる。これらのそれぞれにおいて、本開示のスケーラブルオーディオコーデックは、帯域幅、計算、およびメモリーリソースを節約できる。同様に、本開示のオーディオコーデックは、短い待ち時間および少ないアーチファクト(作為)という点でオーディオ品質を改善することができる。
本開示の技法は、デジタル電子回路もしくはコンピューターハードウエア、ファームウエア、ソフトウエア、またはこれらの組合せに実装することができる。これらの技法を実施する装置は、プログラマブルプロセッサが実行するためのマシン読取り可能な格納装置へ具体的に実装されるコンピュータープログラム製品に実装でき、開示する技法の方法ステップは、命令プログラムを実行するプログラマブルプロセッサにより実行されて、入力データ上で動作し、出力を生成することにより開示する技法の機能を実行できる。適切なプロセッサには、例示に過ぎないが、汎用および専用の両方のマイクロプロセッサが含まれる。概して、プロセッサは、命令とリードオンリーメモリおよび/またはランダムアクセスメモリからのデータとを受け取る。概して、コンピュータにはデータファイルを格納するための1つ以上の大容量記憶装置が含まれ、そのような装置には、内蔵ハードディスクおよびリムーバブルディスクのような磁気ディスク;光磁気ディスク;および光ディスクが含まれる。コンピュータープログラム命令およびデータを具体的に実装するために適した格納装置には、例示にすぎないが、EPROM、EEPROM、およびフラッシュメモリデバイス等の半導体メモリーデバイス;内蔵ハードディスクおよびリムーバブルディスク等の磁気ディスク;光磁気ディスク;およびCD−ROMディスクを含むあらゆる形式の不揮発メモリが含まれる。上記の内の何れかは、ASIC(特定用途向け集積回路)により補完されるか、またはASICに組み込むことができる。
好適な実施の形態および他の実施の形態についての上記説明は、出願人が着想した本発明の概念の範囲または用途を制限または限定するものではない。本明細書に含まれる発明概念を開示する代わりに、本出願人は付帯する特許請求の範囲により付与される全ての特許権を希求する。従って、付帯する特許請求の範囲は、以下の請求項またはその均等物の範囲内にある限りにおいて、あらゆる変形および代替が含まれるものとする。
Claims (24)
- 会議のためのスケーラブルオーディオ処理方法であって、
会議内の第1エンドポイントの状態を決定するステップであって、前記状態は前記第1エンドポイントが会議オーディオの一次ソース又は二次ソースであることを示す前記ステップと、
1以上のルールを前記状態に適用することによって該状態を評価するステップと、
スケーラブルオーディオコーディックで前記会議のためのオーディオを処理するステップであって、前記スケーラブルオーディオコーディックの少なくとも1つのパラメータが前記第1エンドポイントの前記評価された状態に基づき選択される前記ステップと、
前記会議のための前記処理されたオーディオを送信するステップと
を具備するスケーラブルオーディオ処理方法。 - 前記処理するステップと前記送信するステップは、会議内の符号化されたオーディオビットストリームを受信する所与のエンドポイントにより実行され、該所与のエンドポイントは会議内の前記第1エンドポイント又は或る第2エンドポイントを含み、前記処理するステップと前記送信するステップは、
前記所与のエンドポイントで、前記符号化されたビットストリームを出力オーディオに復号化し、出力用の前記出力オーディオを送出するステップと、
前記所与のエンドポイントで、前記符号化されたビットストリームからビットを剥落し、前記剥落されたビットストリームを出力オーディオに復号化し、出力用の前記出力オーディオを送出するステップと
を少なくとも1つ備える請求項1の方法。 - 前記処理するステップと前記送信するステップは、入力オーディオを取得する会議内の所与のエンドポイントにより実行され、前記所与のエンドポイントは会議内の前記第1エンドポイント又は或る第2エンドポイントを含み、前記処理するステップと前記送信するステップは、
前記入力オーディオを符号化したビットストリームに符号化し、ネットワークを介して前記符号化したビットストリームを送出するステップと、
前記入力オーディオを符号化したビットストリームに符号化し、前記符号化したビットストリームからビットを剥落し、ネットワークを介して前記剥落ビットストリームを送出するステップと
を少なくとも1つ備える請求項1の方法。 - 前記オーディオを処理するステップと前記送信するステップは、ネットワークを介して会議内の所与のエンドポイントと通信するマルチポイント制御装置により実行され、前記所与のエンドポイントは前記第1エンドポイント又は或る第2エンドポイントを含み、前記処理ステップと前記送信ステップは、
ネットワークを介して符号化されたオーディオビットストリームを受信し、前記ネットワークを介して前記所定のエンドポイントへ前記符号化されたビットストリームを中継するステップと、
ネットワークを介して符号化されたオーディオビットストリームを受信し、前記符号化されたビットストリームからビットを剥落し、前記ネットワークを介して前記所与のエンドポイントに前記剥落ビットストリームを送出するステップと
を少なくとも1つ備える請求項1の方法。 - 前記状態は、更に、前記第1エンドポイントが静寂ソースであるエンドポイントを示す請求項1の方法。
- スケーラブルオーディオコーディックで会議オーディオを処理する前記ステップは、前記第1エンドポイントの状態が二次ソースを示す場合に、スケーラブルオーディオコーディックを使って符号化されたオーディオビットストリームからビットを剥落するステップを備える、請求項1の方法。
- スケーラブルオーディオコーディックで会議オーディオを処理する前記ステップは、スケーラブルオーディオコーディックを使って符号化されたオーディオビットストリームからビットを剥落するステップを備え、スケーラブルオーディオコーディックの少なくとも1つのパラメータは、前記符号化されたビットストリームにおいてビットを剥落する箇所の指示を含む、請求項1の方法。
- 1以上のルールを前記状態に適用することによって該状態を評価する前記ステップは、
(i)前記状態において前記第1エンドポイントの第1時間間隔が経過し、かつ、(ii)会議内の或る第2エンドポイントが一次ソースの状態を有する場合に、一次ソースから二次ソースに前記状態を変更するステップ、又は、
(i)前記状態において前記第1エンドポイントの第2時間間隔が経過し、かつ、(ii)会議内の或る第2エンドポイントが二次ソースの状態を有する場合に、二次ソースから静寂ソースに前記状態を変更するステップ
を備える請求項1の方法。 - 1以上のルールを前記状態に適用することによって該状態を評価する前記ステップは、
前記第1エンドポイントが会話オーディオを有していないから会話オーディオを有しているに変わる場合、一次ソースの状態を維持するステップと、
(i)前記第1エンドポイントが会話オーディオを有していないから会話オーディオを有しているに変わり、かつ、(ii)会議内の或る第2エンドポイントが一次ソースの状態を有し且つ会話オーディオを有していない場合に、二次ソースから一次ソースに前記状態を変更するステップと、
前記第1エンドポイントが会話オーディオを有していないから会話オーディオを有しているに変わる場合に、静寂ソースから一次ソースに前記状態を変更するステップ、
のいずれか1つを備える請求項1の方法。 - 1以上のルールを前記状態に適用することによって該状態を評価する前記ステップは、
(i)前記第1エンドポイントが会話オーディオを有しているから会話オーディオを有していないに変わり、かつ、(ii)前記状態において前記第1エンドポイントの第1時間間隔が経過した場合に、一次ソースから二次ソースに前記状態を変更するステップ、又は、
(i)前記第1エンドポイントが会話オーディオを有しているから会話オーディオを有していないに変わり、かつ、(ii)前記状態において前記第1エンドポイントの第2時間間隔が経過した場合に、二次ソースから静寂ソースに前記状態を変更するステップ
を備える請求項1の方法。 - 前記第1エンドポイントの状態を決定する前記ステップは、前記第1エンドポイントのオーディオにおいて現在の会話を検出するステップを備え、前記状態は、前記第1エンドポイントが会話オーディオを有している又は会話オーディオを有していないことをさらに示す、請求項1の方法。
- 前記状態を決定する前記ステップの後に、前記状態に関連付けられた時間間隔が経過したことを決定するステップをさらに備え、ここで、前記状態を評価するステップは前記時間間隔の経過後に少なくとも実行される、請求項1の方法。
- 前記状態に関連付けられた前記時間間隔は、一次ソースの前記状態用と二次ソースの前記状態用の時間間隔を別々に備える、請求項12の方法。
- 前記スケーラブルオーディオコーディックで前記オーディオを処理する前記ステップは、
異なる周波数帯域のオーディオを異なるセットの変換係数に変換符号化するステップと、
前記異なるセットの変換係数をパケット化するステップと
を備える請求項1の方法。 - 前記スケーラブルオーディオコーディックの少なくとも1つのパラメータは、異なる周波数帯域のために割り当てられた多数のビット割当てを備える、請求項14の方法。
- 前記パケット化する前記ステップは、対応するビット割当てと共に異なるセットの変換係数をパケット化することを特徴とする請求項15の方法。
- 前記判断された一次ソース状態に関係付けられたビット割当ては、より低い周波数の前記異なる周波数帯域を選び出すことを特徴とする請求項14の方法。
- 前記判断された二次ソース状態に関係付けられたビット割当ては、より高い周波数の前記異なる周波数帯域を選び出さないことを特徴とする請求項14の方法。
- 前記スケーラブルオーディオコーディックの少なくとも1つのパラメータは、前記変換係数が配置された周波数領域を備え、前記パケット化する前記ステップは、順位付けられた周波数領域の重要性に基づき前記異なるセットの変換係数をパケット化する、請求項14の方法。
- 順位付けられた周波数領域の重要性は、より大きなエネルギーレベル又はより低い周波数で周波数帯域を選び出す、請求項14の方法。
- 請求項1のスケーラブルオーディオ処理方法における各ステップを、プログラム可能な制御装置に実行させるための、プログラム命令群を記憶したプログラム可能な記憶装置。
- ネットワークインターフェースと、
前記ネットワークインターフェースに通信可能に接続され、オーディオ信号を取得するように構成され、かつ、スケーラブルオーディオコーディックを有するプロセッサと
を備え、
前記プロセッサは、
分散型オーディオネットワークにおける第1オーディオ装置の状態を決定し、ここで、前記状態は前記第1オーディオ装置がネットワークオーディオの一次ソース又は二次ソースであることを示し、
前記状態を評価するために1以上のルールを前記状態に適用し、
前記スケーラブルオーディオコーディックで前記分散型オーディオネットワークのためのオーディオを処理し、ここで、前記スケーラブルオーディオコーディックの少なくとも1つのパラメータが前記第1オーディオ装置の前記評価された状態に基づき選択され、かつ、
前記分散型オーディオネットワークのための前記処理されたオーディオを送信する、
ように構成されていることを特徴とする処理装置。 - 前記状態が決定された前記第1オーディオ装置、前記分散型オーディオネットワーク内のマルチポイント制御装置、又は前記分散型オーディオネットワーク内の第2オーディオ装置の1つを更に備える、請求項22に記載の処理装置。
- 前記分散型オーディオネットワークはマルチポイント会議を具備し、前記第1オーディオ装置は前記マルチポイント会議の第1エンドポイントからなる、請求項22に記載の処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41321310P | 2010-11-12 | 2010-11-12 | |
US61/413,213 | 2010-11-12 | ||
PCT/US2011/060398 WO2012065081A1 (en) | 2010-11-12 | 2011-11-11 | Scalable audio in a multi-point environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013528832A true JP2013528832A (ja) | 2013-07-11 |
Family
ID=46051321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013510371A Pending JP2013528832A (ja) | 2010-11-12 | 2011-11-11 | マルチポイント環境におけるスケーラブルオーディオ処理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8831932B2 (ja) |
EP (1) | EP2502155A4 (ja) |
JP (1) | JP2013528832A (ja) |
KR (1) | KR101468458B1 (ja) |
CN (1) | CN102741831B (ja) |
WO (1) | WO2012065081A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150149167A1 (en) * | 2011-03-31 | 2015-05-28 | Google Inc. | Dynamic selection among acoustic transforms |
CN103544957B (zh) | 2012-07-13 | 2017-04-12 | 华为技术有限公司 | 音频信号的比特分配的方法和装置 |
EP2933799B1 (en) * | 2012-12-13 | 2017-07-12 | Panasonic Intellectual Property Corporation of America | Voice audio encoding device, voice audio decoding device, voice audio encoding method, and voice audio decoding method |
NO341411B1 (no) * | 2013-03-04 | 2017-10-30 | Cisco Tech Inc | Virtuelle endepunkter i videokonferanser |
US9237238B2 (en) | 2013-07-26 | 2016-01-12 | Polycom, Inc. | Speech-selective audio mixing for conference |
US9210379B2 (en) * | 2014-02-27 | 2015-12-08 | Google Inc. | Displaying a presenter during a video conference |
CN105096957B (zh) | 2014-04-29 | 2016-09-14 | 华为技术有限公司 | 处理信号的方法及设备 |
JP6318904B2 (ja) * | 2014-06-23 | 2018-05-09 | 富士通株式会社 | オーディオ符号化装置、オーディオ符号化方法、オーディオ符号化プログラム |
EP3067887A1 (en) | 2015-03-09 | 2016-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal |
KR102386309B1 (ko) * | 2015-06-04 | 2022-04-14 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서의 입출력 제어 방법 |
US9578283B1 (en) * | 2015-12-21 | 2017-02-21 | Avaya Inc. | Audio level based management of communication resources |
KR102756512B1 (ko) * | 2019-04-03 | 2025-01-21 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 확장 가능한 음성 장면 미디어 서버 |
US11662975B2 (en) * | 2020-10-06 | 2023-05-30 | Tencent America LLC | Method and apparatus for teleconference |
CN112687273B (zh) * | 2020-12-26 | 2024-04-16 | 科大讯飞股份有限公司 | 一种语音转写方法及装置 |
WO2022158943A1 (ko) | 2021-01-25 | 2022-07-28 | 삼성전자 주식회사 | 다채널 오디오 신호 처리 장치 및 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04343591A (ja) * | 1991-05-21 | 1992-11-30 | Mitsubishi Electric Corp | テレビ会議システム |
JPH10285043A (ja) * | 1997-04-02 | 1998-10-23 | Samsung Electron Co Ltd | ビット率の調節可能なオーディオ符号化/復号化方法及び装置 |
JP2001519552A (ja) * | 1997-10-02 | 2001-10-23 | シーメンス アクチエンゲゼルシヤフト | ビットレートスケーラブルなオーディオデータストリームを生成する方法および装置 |
JP2002215193A (ja) * | 2001-01-18 | 2002-07-31 | Mitsubishi Electric Corp | 音声符号切換方法並びに音声符号切換手段及び音声通信端末 |
JP2005037949A (ja) * | 2003-07-16 | 2005-02-10 | Samsung Electronics Co Ltd | 広域音声信号の圧縮装置および復元装置ならびに圧縮方法および復元方法 |
JP2005215502A (ja) * | 2004-01-30 | 2005-08-11 | Matsushita Electric Ind Co Ltd | 符号化装置、復号化装置、およびこれらの方法 |
WO2006008932A1 (ja) * | 2004-07-23 | 2006-01-26 | Matsushita Electric Industrial Co., Ltd. | 音声符号化装置および音声符号化方法 |
JP2007025375A (ja) * | 2005-07-19 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 中継装置、通信端末装置、信号復号化装置、信号処理方法、および信号処理プログラム |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ZA921988B (en) | 1991-03-29 | 1993-02-24 | Sony Corp | High efficiency digital data encoding and decoding apparatus |
US5689641A (en) | 1993-10-01 | 1997-11-18 | Vicor, Inc. | Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal |
US5654952A (en) | 1994-10-28 | 1997-08-05 | Sony Corporation | Digital signal encoding method and apparatus and recording medium |
WO1999050828A1 (en) | 1998-03-30 | 1999-10-07 | Voxware, Inc. | Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment |
US7272556B1 (en) * | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals |
US6934756B2 (en) * | 2000-11-01 | 2005-08-23 | International Business Machines Corporation | Conversational networking via transport, coding and control conversational protocols |
US6952669B2 (en) | 2001-01-12 | 2005-10-04 | Telecompression Technologies, Inc. | Variable rate speech data compression |
US6894715B2 (en) * | 2001-06-16 | 2005-05-17 | Eric Harold Henrikson | Mixing video signals for an audio and video multimedia conference call |
JP4296752B2 (ja) | 2002-05-07 | 2009-07-15 | ソニー株式会社 | 符号化方法及び装置、復号方法及び装置、並びにプログラム |
US7283585B2 (en) | 2002-09-27 | 2007-10-16 | Broadcom Corporation | Multiple data rate communication system |
US20050254440A1 (en) | 2004-05-05 | 2005-11-17 | Sorrell John D | Private multimedia network |
KR100695125B1 (ko) | 2004-05-28 | 2007-03-14 | 삼성전자주식회사 | 디지털 신호 부호화/복호화 방법 및 장치 |
EP1977604B1 (en) * | 2006-01-11 | 2014-03-19 | Nokia Corporation | Method for a backward -compatible encapsulation of a scalable coded video signal into a sequence of aggregate data units |
US7835904B2 (en) * | 2006-03-03 | 2010-11-16 | Microsoft Corp. | Perceptual, scalable audio compression |
JP4396683B2 (ja) | 2006-10-02 | 2010-01-13 | カシオ計算機株式会社 | 音声符号化装置、音声符号化方法、及び、プログラム |
US7953595B2 (en) | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
US7966175B2 (en) | 2006-10-18 | 2011-06-21 | Polycom, Inc. | Fast lattice vector quantization |
PL2945158T3 (pl) | 2007-03-05 | 2020-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Sposób i układ do wygładzania stacjonarnego szumu tła |
EP2019522B1 (en) | 2007-07-23 | 2018-08-15 | Polycom, Inc. | Apparatus and method for lost packet recovery with congestion avoidance |
EP2201566B1 (en) * | 2007-09-19 | 2015-11-11 | Telefonaktiebolaget LM Ericsson (publ) | Joint multi-channel audio encoding/decoding |
US8386271B2 (en) | 2008-03-25 | 2013-02-26 | Microsoft Corporation | Lossless and near lossless scalable audio codec |
WO2010070187A1 (en) | 2008-12-19 | 2010-06-24 | Nokia Corporation | An apparatus, a method and a computer program for coding |
US8428959B2 (en) | 2010-01-29 | 2013-04-23 | Polycom, Inc. | Audio packet loss concealment by transform interpolation |
WO2011145987A1 (en) * | 2010-05-18 | 2011-11-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Encoder adaption in teleconferencing system |
-
2011
- 2011-11-11 US US13/294,471 patent/US8831932B2/en active Active
- 2011-11-11 CN CN201180007828.4A patent/CN102741831B/zh active Active
- 2011-11-11 EP EP11840587.7A patent/EP2502155A4/en not_active Ceased
- 2011-11-11 JP JP2013510371A patent/JP2013528832A/ja active Pending
- 2011-11-11 KR KR1020127021111A patent/KR101468458B1/ko not_active Expired - Fee Related
- 2011-11-11 WO PCT/US2011/060398 patent/WO2012065081A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04343591A (ja) * | 1991-05-21 | 1992-11-30 | Mitsubishi Electric Corp | テレビ会議システム |
JPH10285043A (ja) * | 1997-04-02 | 1998-10-23 | Samsung Electron Co Ltd | ビット率の調節可能なオーディオ符号化/復号化方法及び装置 |
JP2001519552A (ja) * | 1997-10-02 | 2001-10-23 | シーメンス アクチエンゲゼルシヤフト | ビットレートスケーラブルなオーディオデータストリームを生成する方法および装置 |
JP2002215193A (ja) * | 2001-01-18 | 2002-07-31 | Mitsubishi Electric Corp | 音声符号切換方法並びに音声符号切換手段及び音声通信端末 |
JP2005037949A (ja) * | 2003-07-16 | 2005-02-10 | Samsung Electronics Co Ltd | 広域音声信号の圧縮装置および復元装置ならびに圧縮方法および復元方法 |
JP2005215502A (ja) * | 2004-01-30 | 2005-08-11 | Matsushita Electric Ind Co Ltd | 符号化装置、復号化装置、およびこれらの方法 |
WO2006008932A1 (ja) * | 2004-07-23 | 2006-01-26 | Matsushita Electric Industrial Co., Ltd. | 音声符号化装置および音声符号化方法 |
JP2007025375A (ja) * | 2005-07-19 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 中継装置、通信端末装置、信号復号化装置、信号処理方法、および信号処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US8831932B2 (en) | 2014-09-09 |
EP2502155A4 (en) | 2013-12-04 |
KR20120109617A (ko) | 2012-10-08 |
EP2502155A1 (en) | 2012-09-26 |
CN102741831A (zh) | 2012-10-17 |
WO2012065081A1 (en) | 2012-05-18 |
CN102741831B (zh) | 2015-10-07 |
US20120290305A1 (en) | 2012-11-15 |
KR101468458B1 (ko) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5647571B2 (ja) | フルバンド拡張可能なオーディオコーデック | |
JP2013528832A (ja) | マルチポイント環境におけるスケーラブルオーディオ処理 | |
JP5357904B2 (ja) | 変換補間によるオーディオパケット損失補償 | |
CN106664161B (zh) | 基于冗余的包传输错误恢复的系统和方法 | |
US20080049795A1 (en) | Jitter buffer adjustment | |
CN103988486B (zh) | 在多方电话会议的混音中选择活动信道的方法 | |
EP3513406B1 (en) | Audio signal processing | |
US8553520B2 (en) | System and method for echo suppression in web browser-based communication | |
CA2689230C (en) | Method of transmitting data in a communication system | |
Schuller et al. | Low delay audio compression using predictive coding | |
JP2005045739A (ja) | 通話装置、通話方法及び通話システム | |
CN113206773B (zh) | 与语音质量估计相关的改进方法和设备 | |
JP2004304410A (ja) | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム | |
HK1159841A (en) | Full-band scalable audio codec | |
CN118645110A (zh) | 一种音频处理方法及介质 | |
Hardman et al. | 13 Internet/Mbone Audio | |
JP2012083775A (ja) | 信号処理装置および信号処理方法 | |
HK1228095A1 (en) | Audio packet loss concealment by transform interpolation | |
Hardman et al. | Internet/Mbone Audio | |
HK1155271A (en) | Audio packet loss concealment by transform interpolation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140507 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150203 |