様々な図中の同じ参照番号及び記号表示は、同じ要素を示す。
最初に理解されるべきは、1つ以上の実施形態の実例となる実施が以下で与えられているが、開示されるシステム及び/又は方法は、現在知られていようとなかろうと又は存在していようなかろうと、任意の数の技術を用いて実施されてよい点である。開示は、ここで図示及び記載されている例となる設計及び実施を含む、以下で説明されている実例となる実施、図面、及び技術に、決して限定されるべきではなく、添付の特許請求の範囲及びそれらの均等の全範囲内で変更され得る。
ハイディフィニションオーディオ又はHDオーディオとしても知られている高分解能(ハイレゾ)オーディオは、いくつかのレコード音楽小売店及び高忠実度音響再生機器供給メーカによって使用されている広告表現である。ハイレゾオーディオは、ハイレゾ規格をサポートするより多くの製品、ストリーミングサービス、更にはスマートフォンの発売のおかげで、ゆっくりとしかし確実に主流になりつつある。しかし、ハイディフィニションビデオとは異なり、ハイレゾオーディオのための単一の汎用的な規格は存在しない。デジタル・エンターテイメント・グループ、コンシューマ・エレクトロニクス・アソシエーション、及びレコーディング・アカデミーは、レコードレーベルとともに、ハイレゾオーディオを、「CD品質よりも優れた音楽ソースからマスタリングされた録音から全範囲のサウンドを再生できるロスレスオーディオ」と公式に定義している。その最も簡単な表現では、ハイレゾオーディオは、16bit/44.1kHzで規定されているコンパクトディスク(CD)よりも高いサンプリング周波数及び/又はビット深度を有している音楽ファイルを指す傾向がある。サンプリング周波数(又はサンプルレート)は、アナログ-デジタル変換プロセス中に1秒あたりに信号のサンプルが取得される回数を指す。ビットが多ければ多いほど、ますます正確に信号は最初に測定可能である。従って、ビット深度が16bitから24bitにすることは、品質の著しい向上をもたらし得る。ハイレゾファイルは、通常は、24bitで96kHzの(又はそれよりずっと高い)サンプリング周波数を使用する。いくつかの場合に、88.2kHzのサンプリング周波数も、ハイレゾオーディオファイルのために使用されることがある。HDオーディオとラベル付けされた44.1kHz/24bitの録音も存在する。
独自の互換性要件を備えたいくつかの異なるハイレゾオーディオファイルフォーマットが存在する。高分解能オーディオを保存可能なファイル形式には、一般的なFLAC(Free Lossless Audio Codec)形式及びALAC(Apple Lossless Audio Codec)があり、どちらも圧縮されているが、理論的には情報が失われることはない。その他の形式には、非圧縮のWAV及びAIFF形式、DSD(スーパーオーディオCDに使用される形式)、並びに最新のMQA(Master Quality Authenticated)が含まれる。以下は、主なファイル形式の内訳である。
WAV(ハイレゾ):全てのCDが符号化される標準フォーマット。優れた音質であるが、非圧縮であり、(特にハイレゾファイルの場合に)巨大なファイルサイズを意味する。メタデータ(つまり、アルバムアートワーク、アーティスト、曲のタイトル情報)のサポートが不十分である。
AIFF(ハイレゾ):WAVに対するアップルの代替手段であり、より良いメタqデータサポートを備える。ロスレスかつ非圧縮であるが(故に、ファイルサイズが大きい)、それほど一般的ではない。
FLAC(ハイレゾ):このロスレス圧縮フォーマットは、ハイレゾサンプルレートをサポートし、WAVの約半分のスペースしか占有せずにメタデータを記憶する。ロイヤリティフリーで広くサポートされており(ただし、アップルはサポートしていない)、ハイレゾアルバムをダウンロードして記憶するための推奨フォーマットと見なされる。
ALAC(ハイレゾ):アップル独自のロスレス圧縮形式もハイレゾを実行し、メタデータを記憶し、WAVEの半分のスペースしか占有しない。FLACに対するiTunes及びiOS対応の代替手段。
DSD(ハイレゾ):スーパーオーディオCDに使用されるシングルビットフォーマット。2.5MHz、5.6MHz、11.2MHzの種類があるが、広くサポートされていない。
MQA(ハイレゾ):時間領域により重点を置いてハイレゾファイルをパッケージ化するロスレス圧縮形式。Tidal Mastersのハイレゾストリーミングに使用されるが、製品間でのサポートは限られている。
MP3(非ハイレゾ):人気のある非可逆フォーマットは、ファイルサイズを小さくすることはできるが、最高の音質にはほど遠いものである。スマートフォン及びiPodに音楽を保存するのに便利であるが、ハイレゾには対応していない。
AAC(非ハイレゾ):MP3に対する代替手段であり、非可逆圧縮であるが、サウンドは優れている。iTunesのダウンロード、Apple Musicストリーミング(256kbps)、及びYouTubeストリーミングに使用される。
ハイレゾオーディオファイルの主な主張される利点は、圧縮オーディオフォーマットに対する優れた音響品質である。Amazon及びiTunesなどのサイトからのダウンロード、並びにSpotifyなどのストリーミングサービスは、Apple Musicの256kbps AACファイル及びSpotifyの320kbps Ogg Vorbisストリームなど、ビットレートが比較的に低い圧縮ファイル形式を使用する。非可逆圧縮の使用は、符号化プロセスでデータが失われることを意味し、転じて、分解能が利便性及びより小さいファイルサイズのために犠牲にされることを意味する。これは、音響品質に対して影響を与える。例えば、最高品質のMP3は320kbpsのビットレートを有し、一方、24bit/192kHzファイルは9216kbpsのデータレートを有する。音楽CDは1411kbpsである。ハイレゾ24bit/96kHz又は24bit/192kHzファイルは、従って、ミュージシャン及びエンジニアがスタジオで作業していた音響品質をより厳密に再現するはずである。再生すべきファイルに関する情報が多いほど、ハイレゾオーディオは、より詳細で、質感が高くなる傾向があり、リスナーを元の性能に近づけることができる。
ハイレゾオーディオは、ファイルサイズに関して欠点がある。ハイレゾファイルは、通常はサイズが数十メガバイトであり、数トラックでデバイス上のストレージを直ぐに使い果たす可能性がある。ストレージは以前よりもはるかに安価であるが、ファイルのサイズは依然として、ハイレゾオーディオを、圧縮なしではWi-Fi又はモバイルネットワーク経由でストリーミングすることを厄介にする可能性がある。
ハイレゾオーディオを再生及びサポートすることができる非常に多様な製品が存在する。それは全て、システムの大きさ、予算の大きさ、及び曲を聴くために主に使用される方法に応じて異なっている。ハイレゾオーディオをサポートする製品の例を以下に示す。
スマートフォン
スマートフォンは、ハイレゾ再生をますますサポートしている。ただし、これは、現在のSamsung GalaxyS9及びS9+並びにNote9(それは全て、DSDファイルをサポートしている)、更にSonyのXperia XZ3などの主力Androidモデルに限定されている。LGのV30及びB30ThinQのハイレゾ対応電話機は、現在、MQA互換性を提供するものであり、一方、SamsungのS9電話機は、Dolby Atomosもサポートしている。Apple iPhoneは、これまでのところ、製品入手後直ぐにはハイレゾオーディオをサポートしないが、正規のアプリを使用し、それから、デジタル-アナログコンバータ(DAC)を接続するか、あるいは、iPhoneのLightningコネクタとともにLightningヘッドフォンを使用することによって、これを解決する。
タブレット
ハイレゾ再生タブレットも存在し、Samsung Galaxy Tab S4のようなものを含む。MWC 2018では、HuaweiのM5シリーズ及びオンキョーの魅力的なGranbeatタブレットを含む、互換性のある新しいモデルが多数発売された。
ポータブル音楽プレイヤー
代替的に、様々なSony Walkman及びAstell & Kernの受賞歴のあるポータブルプレイヤーなどの専用のポータブルハイレゾ音楽プレイヤーがある。それらの音楽プレイヤーは、マルチタスクのスマートフォンよりも多くの記憶空間及びはるかに優れた音響品質を提供する。また、従来のポータブルにはほど遠いものの、驚くほど高価なSony DMP-Z1デジタル音楽プレイヤーには、ハイレゾ及びダイレクト・ストリーム・デジタル(DSD)の才能が満載である。
デスクトップ
デスクトップソリューションについては、ラップトップ(Windows、Mac、Linux)がハイレゾ音楽を保存及び再生する主要ソースである(結局のところ、これは、ハイレゾのダウンロードサイトからの曲がどうにかダウンロードされる場所である)。
DAC
USB又はデスクトップDAC(例えば、Cyrus soundKey又はChord Mojo)は、コンピュータ又はスマートフォン(音声回路が音響品質のために最適化されていない傾向があるもの)に保存されているハイレゾファイルから優れた音響品質を引き出すための優れた方法である。瞬時に音をブーストするためにソースとヘッドフォンとの間に適切なデジタル-アナログコンバータ(DAC)を単にプラグ接続する。
非圧縮オーディオファイルは、完全なオーディオ入力信号を、入来データの完全な負荷を保存可能なデジタルフォーマットに符号化する。それらは、多くの場合にそれらの広範な使用を妨げながら大きなファイルサイズを犠牲にして、最高の品質及びアーカイブ機能を提供する。ロスレス符号化は、非圧縮と非可逆との中間に位置する。それは、同等又は同じオーディオ品質を、縮小されたサイズで、非圧縮オーディオファイルに付与する。ロスレスコーデックは、デコード時に非圧縮情報を回復する前に、エンコード時に非破壊的な方法で入来オーディオを圧縮することによって、これを達成する。ロスレス符号化されたオーディオのフルサイズは、多くの用途にとって依然として大きすぎる。非可逆ファイルは、非圧縮又はロスレスとは異なる方法で符号化される。アナログ-デジタル変換の本質的な機能は、非可逆符号化技術でも同である。非可逆は、非圧縮から分岐する。非可逆コーデックは、主観的なオーディオ品質を元の音波にできるだけ近づけようとしながら、元の音波に含まれているかなりの量の情報を破棄する。このため、非可逆オーディオファイルは、非圧縮オーディオファイルよりも相当に小さく、ライブオーディオシナリオでの使用を可能にする。非可逆オーディオファイルと非圧縮オーディオファイルとの間に主観的な品質の差がないならば、非可逆オーディオファイルの品質は「トランスペアレント」と見なされ得る。近年、いくつかの高分解非可逆オーディオコーデックが開発されており、その中でも、LDAC(Sony)及びaptX(Qualocomm)は、最も人気のあるものである。LHDC(Savitech)もそれらのうちの1つである。
消費者及びハイエンドオーディオ会社は、これまで以上に最近Bluetoothオーディオについてより多く話している。ワイヤレスヘッドセット、ハンズフリーイヤピース、自動車、又はコネクテッドホームなど、優れた品質のBluetoothオーディオの使用ケースが増えつつある。多くの会社が、入手後直ぐに使用可能なBluetoothソリューションのまあまあの性能を超えるソリューションを搭載している。QualocommのaptXは、既に多くのAndroid電話機に搭載されているが、マルチメディアの巨人であるSonyは、LDACと呼ばれる独自のハイエンドソリューションを持っている。この技術は、以前は、SonyのXperiaシリーズのハンドセットでしか利用可能でなかったが、Android 8.0 Orepのロールアウトにより、Bluetoothコーデックは、必要に応じて、他のOEMSが実装するためのコアAOSPコーデックの部分として利用できるようになる。最も基本的なレベルでは、LDACは、Bluetoothを介した無線での24bit/96kHz(ハイレゾ)の伝送をサポートする。最も近い競合コーデックは、24bit/48kHzオーディオデータをサポートするQualocommのaptX HDである。LDACは、3つの異なったタイプの接続モード、すなわち、品質優先、通常、及び接続優先、を搭載している。これらの夫々は、異なったビットレートを提供し、990kbps,660kbps、及び330kbpsで夫々動作する。従って、利用可能な接続のタイプに応じて、様々なレベルの品質が存在する。LDACの最低ビットレートは、LDACが誇る完全な24bit/96kHzを与えないことが、明らかである。LDACは、Sonyによって開発されたオーディオコーディング技術であり、24bit/96kHzで最高990kbit/sのBluetooth接続によりデータをストリーミングすることを可能にする。それは、ヘッドフォン、スマートフォン、ポータブルメディアプレイヤー、アクティブスピーカ及びホームシアターを含む様々なSony製品で使用されている。LDACは非可逆コーデックであり、より効率的なデータ圧縮を提供するためにMDCTに基づいたコーディングスキームを採用している。LDACの主な競合相手は、QualocommのaptX HDである。高品質の、標準的な、複雑性の低いサブバンドコーデック(SBC)は、最大328kbpsでクロックインし、QualocommのaptXでは352kbps、aptX HDでは576kbpsである。紙の上では、990kbpsのLDACは、他のどのBluetoothコーデックよりもはるかに多くのデータを伝送する。また、ローエンドの接続優先度設定でさえ、SBC及びaptXに匹敵し、最も人気のあるサービスから音楽をストリーミングする人の要求に応じる。SonyのLDACには2つの主な部分がある。第1の部分は、990kbpsに達するほど十分に速いBluetooth転送速度を達成することであり、第2の部分は、品質の低下を最小限に抑えながら、高分解能オーディオデータをこの帯域幅に圧縮することである。LDACは、通常のA2DP(Advanced Audio Distribution Profile)プロファイルの制限を超えてデータ速度を向上させるために、Bluetoothの任意のエンハンスド・データ・レート(EDR)技術を使用する。しかし、これは、ハードウェアに依存する。EDR速度は、通常は、A2DPオーディオプロファイルによって使用されない。
元のaptXアルゴリズムは、音響心理学的聴覚マスキング技術によらない時間領域適応差分パルス符号変調(ADPCM)原理に基づいていた。QualocommのaptXオーディオコーディングは、最初に、半導体製品として市場に導入され、部品名APTX100EDのカスタムプログラムDSP集積回路が、当初は、ラジオ番組中の自動再生のために、例えば、従って、ディスクジョッキーの作業を置き換えるためにコンピュータハードディスクドライブにCD品質のオーディオを保存する手段を必要とした放送自動化装置製造業者によって採用された。1990年代初頭の商業的に導入されて以来、実時間のオーディオデータ圧縮のためのaptXアルゴリズムの範囲は拡大し続けており、知的財産が、プロのオーディオ、テレビ、及びラジオ放送、並びにコンシューマ・エレクトロニクス、特に、ワイヤレスオーディオ、ゲーム及びビデオのための低遅延ワイヤレスオーディオ、並びにAudio over IPにおける応用のために、ソフトウェア、ファームウェア、及びプログラム可能なハードウェアの形で利用可能になっている。更には、aptXコーデックは、SBC(sub-band coding)、BluetoothのA2DPに対してBluetooth SIGによって義務づけられている非可逆ステレオ/モノオーディオストリーミング用のサブバンドコーディングスキーム、短距離無線パーソナル・エリア・ネットワーク規格の代わりに、使用され得る。aptXは、高性能Bluetooth周辺機器でサポートされている。今日、aptX及びエンハンスドaptX(E-aptX)の両方の規格が、多数の放送機器メーカからISDN及びIPオーディオコーデックハードウェアの両方で使用されている。最大8:1圧縮を提供するaptX Liveの形式のaptXファミリーの追加が、2007年に導入された。また、非可逆であるがスケーラブルな適応オーディオコーデックであるaptX HDが、2009年4月に発表された。aptXは、2010年にCSR plcに買収されるまで、以前はapt-Xと呼ばれていた。その後、CSRは、2015年8月にQualocommによって買収された。aptXオーディオコーデックは、消費者向け及び自動車用のワイヤレスオーディオ用途、特に、「ソース」デバイス(例えば、スマートフォン、タブレット又はラップトップ)と「シンク」アクセサリ(例えば、Bluetoothステレオスピーカ、ヘッドセット又はヘッドフォン)との間のBluetooth A2DP接続/ペアリングを経由した非可逆ステレオオーディオのリアルタイムストリーミング、に使用される。Bluetooth規格によって義務づけられているデフォルトのサブバンドコーディング(SBC)に対するaptXオーディオコーディングの音響上の利点を引き出すために、この技術は送信器及び受信器の両方に組み込まれるべきである。エンハンスドaptXは、プロのオーディオ放送用途のために4:1圧縮比でコーディングを提供し、AM、FM、DAP、HD Radioに適している。
EnhancedaptXは、16、20又は24ビットのビット深度をサポートする。48kHzでサンプリングされたオーディオの場合に、E-aptXのビットレートは384kbit/s(デュアルチャネル)である。aptX HDは、576kbit/sのビットレートを有する。それは、最大48kHzのサンプリングレート及び最大24bitのサンプル分解能のハイディフィニションオーディオをサポートする。名称が示唆しているのとは異なり、コーデックは依然として非可逆と見なされる。しかし、それは、平均又はピーク圧縮データレートが制約されたレベルで制限されるべきである用途のための「ハイブリッド」コーディングスキームを可能にする。これは、完全にロスレスのコーディングが帯域幅制約により不可能であるオーディオのセクションのための「ほぼロスレス」のコーディングの動的な適用を含む。「ほぼロスレス」のコーディングは、最大20kHzのオーディオ周波数及び少なくとも120dBのダイナミックレンジを保ちながら、ハイディフィニションオーディオ品質を維持する。その主な競合相手は、Sonyによって開発されたLDACコーデックである。aptX HD内の他のスケーラブルパラメータは、コーディングレイテンシである。それは、圧縮のレベル及び計算複雑性などの他のパラメータと動的に交換可能である。
LHDCは、low latency and high-definition audio codecの略語であり、Savitechによって発表されている。Bluetooth SBCオーディオフォーマットと比較して、LHDCは、最もリアルかつハイディフィニションのワイヤレスオーディオを提供し、かつ、ワイヤレスオーディオデバイスと有線オーディオデバイスとの間でオーディオ品質の格差をなくすために、3倍以上の伝送データを許可することができる。伝送データの増大は、ユーザがより多くの詳細及びより良い音場を経験し、音楽の感情に没入することを可能にする。しかし、3倍以上のSBCデータレートは、多くの実用な用途にとって高すぎる可能性がある。
図1は、いくつかの実施に従うL2HC(Low delay & Low Complexity High resolution Codec)エンコーダ100の構造例を示す。図2は、いくつかの実施に従うL2HCデコーダ200の構造例を示す。一般に、L2HCは、まあまあ低いビットレートで「トランスペアレント」品質を提供することができる。いくつかの場合に、エンコーダ100及びデコーダ200は、単一のコーデックデバイスで実装されてよい。いくつかの場合に、エンコーダ100及びデコーダ200は、異なるデバイスで実装されてもよい。いくつかの場合に、エンコーダ100及びデコーダ200は、如何なる適切なデバイスでも実装されてよい。いくつかの場合に、エンコーダ100及びデコーダ200は、同じアルゴリズム遅延(例えば、同じフレームサイズ又は同数のサブフレーム)を有してよい。いくつかの場合に、サンプル内のサブフレームサイズは固定であることができる。例えば、サンプリングレートが96kHz又は48kHzである場合に、サブフレームサイズは192又は96サンプルであることができる。各フレームは、異なるアルゴリズム遅延に対応する1、2、3、4、又は5個のサンプルを有することができる。いくつかの例では、エンコーダ100の入力サンプリングレートが96kHzであるとき、デコーダ200の出力サンプリングレートは96kHz又は48kHzであってよい。いくつかの例では、エンコーダ100の入力サンプリングレートが48kHzであるとき、デコーダ200の出力サンプリングレートはやはり96kHz又は48kHzであってよい。いくつかの場合に、エンコーダ100の入力サンプリングレートが48kHzであり、デコーダ200の出力サンプリングレートが96kHzである場合には、高い帯域が人工的に加えられる。
いくつかの例では、エンコーダ100の入力サンプリングレートが88.2kHzであるとき、デコーダ200の出力サンプリングレートは88.2kHz又は44.1kHzであってよい。いくつかの例では、エンコーダ100の入力サンプリングレートが44.1kHzであるとき、デコーダ200の出力サンプリングレートはやはり88.2kHz又は44.1kHzであってよい。同様に、エンコーダ100の入力サンプリングレートが44.1kHzであり、デコーダ200の出力サンプリングレートが88.2kHzである場合には、高い帯域がやはり人工的に加えられてもよい。それは、96kHz又は88.2kHz入力信号を符号化するのと同じエンコーダである。それはまた、48kHz又は44.1kHz入力信号を符号化するのと同じエンコーダである。
いくつかの場合に、L2HCエンコーダ100で、入力信号ビット深度は32b、24b又は16bであってよい。L2HCデコーダ200で、出力信号ビット深度も32b、24b又は16bであってよい。いくつかの場合に、エンコーダ100でのエンコーダビット深度及びデコーダ200でのデコーダビット深度は異なってもよい。
いくつかの場合に、コーディングモード(例えば、ABR_mode)はエンコーダ100でセット可能であり、実行中に実時間で変更可能である。いくつかの場合に、ABR_mode=0は高ビットレートを示し、ABR_mode=1は中間ビットレートを示し、ABR_mode=2は低ビットレートを示す。いくつかの場合に、ABR_mode情報は、2ビットを費やすことによってビットストリームチャネルを通じてデコーダ200へ送信され得る。チャネルのデフォルト数は、それがBluetoothイヤホン用途のためである場合にはステレオ(2チャネル)であることができる。いくつかの例では、ABR_mode=2の場合の平均ビットレートは370から400kbpsであってよく、ABR_mode=1の場合の平均ビットレートは450から550kbpsであってよく、ABR_mode=0の場合の平均ビットレートは550から710kbpsであってよい。いくつかの場合に、全ての場合/モードの最大瞬時ビットレートは990kbpsに満たなくてもよい。
図1に示されるように、エンコーダ100は、プリエンファシスフィルタ104、直交ミラーフィルタ(QMF)解析フィルタバンク106、ロー・ロー・バンド(LLB)エンコーダ118、ロー・ハイ・バンド(LHB)エンコーダ120、ハイ・ロー・バンド(HLB)エンコーダ122、ハイ・ハイ・バンド(HHB)エンコーダ124、及びマルチプレクサ126を含む。元の入力デジタル信号102は、最初に、プリエンファシスフィルタ104によって強調される。いくつかの場合に、プリエンファシスフィルタ104は、一定ハイパスフィルタであってよい。プリエンファシスフィルタ104は、ほとんどの音楽信号が、高周波帯域エネルギよりもずっと高い低周波帯域エネルギを含むということで、ほとんどの音楽信号にとって有益である。高周波帯域エネルギの増大は、高周波帯域信号の処理精度を高めることができる。
プリエンファシスフィルタ104の出力は、4つのサブバンド信号、すなわち、LLB信号110、LHB信号112、HLB信号114、及びHHB信号116を生成するよう、QMF解析フィルタバンク106を通過する。一例では、元の入力信号は、96kHzサンプリングレートで生成される。この例では、LLB信号110は0~12kHzサブバンドを含み、LHB信号112は12~24kHzサブバンドを含み、HLB信号114は24~36kHzサブバンドを含み、HHB信号116は36~48kHzサブバンドを含む。図示されるように、4つのサブバンド信号の夫々は、符号化サブバンド信号を生成するよう、LLBエンコーダ118、LHBエンコーダ120、HLBエンコーダ122、及びHHBエンコーダ124によって夫々符号化される。4つの符号化された信号は、符号化オーディオ信号を生成するよう、マルチプレクサ126によって多重化されてよい。
図2に示されるように、デコーダ200は、LLBデコーダ204、LHBデコーダ206、HLBデコーダ208、HHBデコーダ210、QMF合成フィルタバンク212、後処理コンポーネント214、及びデエンファシスフィルタ216を含む。いくつかの場合に、LLBデコーダ204、LHBデコーダ206、HLBデコーダ208、及びHHBデコーダ210の各1つは、チャネル202から符号化サブバンド信号を夫々受信し、復号化サブバンド信号を生成してよい。4つのデコーダ204~210からの復号化サブバンド信号は、出力信号を生成するよう、QMF合成フィルタバンク212を通じて再び合わせられ得る。出力信号は、必要に応じて後処理コンポーネント214によって後処理され、それから、復号化オーディオ信号218を生成するようデエンファシスフィルタ216によって強調を抑えられてよい。いくつかの場合に、デエンファシスフィルタ216は、一定フィルタであってよく、エンファシスフィルタ104の逆フィルタであってよい。一例では、復号化オーディオ信号218は、エンコーダ100の入力オーディオ信号(例えば、オーディオ信号102)と同じサンプリングレートでデコーダ200によって生成されてよい。この例では、復号化オーディオ信号218は、96kHzサンプリングレートで生成される。
図3及び図4は、LLBエンコーダ300及びLLBデコーダ400の構造例を夫々表す。図3に示されるように、LLBエンコーダ300は、高スペクトル傾斜検出コンポーネント304、傾斜フィルタ306、線形予測コーディング(LPC)解析コンポーネント308、逆LPCフィルタ310、長期予測(LTP)条件コンポーネント312、高ピッチ検出コンポーネント314、重み付けフィルタ316、高速LTP寄与コンポーネント318、加算関数ユニット320、ビットレート制御コンポーネント322、初期残差量子化コンポーネント324、ビットレート調整コンポーネント326、及び高速量子化最適化コンポーネント328を含む。
図3に示されるように、LLBサブバンド信号302は、最初に、スペクトル傾斜検出コンポーネント304によって制御される傾斜フィルタ306を通る。いくつかの場合に、傾斜フィルタ処理されたLLB信号が傾斜フィルタ306によって生成される。傾斜フィルタ処理されたLLB信号は、次いで、LLBサブバンドでLPCフィルタパラメータを生成するよう、LPC解析コンポーネント308によってLPC解析されてよい。いくつかの場合に、LPCフィルタパラメータは、量子化され、LLBデコーダ400へ送信されてよい。逆LPCフィルタ310は、傾斜フィルタ処理されたLLB信号にフィルタをかけ、LLB残差信号を生成するために使用され得る。この残差信号領域では、重み付けフィルタ316が高ピッチ信号のために加えられる。いくつかの場合に、重み付けフィルタ316は、高ピッチ検出コンポーネント314による高ピッチ検出に応じてオン又はオフを切り替えられ得る。この詳細は、以下で更に詳細に説明される。いくつかの場合に、重み付けされたLLB残差信号が、重み付けフィルタ316によって生成され得る。
図3に示されるように、重み付けされたLLB残差信号はリファレンス信号になる。いくつかの場合に、強い周期性が元の信号に存在する場合に、LTP(Long-Term Prediction)寄与が、LTP条件312に基づいて高速LTP寄与コンポーネント318によって導入されてよい。エンコーダ300において、LTP寄与は、初期LLB残差量子化コンポーネント324のための入力信号になる第2の重み付けされたLLB残差信号を生成するよう、重み付けされたLLB残差信号から加算関数ユニット320によって減じられてよい。いくつかの場合に、初期LLB残差量子化コンポーネント324の出力信号は、量子化されたLLB残差信号330を生成するよう高速量子化最適化コンポーネント328によって処理されてよい。いくつかの場合に、量子化されたLLB残差信号330は、(LTPが存在する場合に)LTPパラメータとともに、ビットストリームチャネルを通じてLLBデコーダ400へ送信されてよい。
図4は、LLBデコーダ400の構造例を示す。図示されるように、LLBデコーダ400は、量子化残差コンポーネント406、高速LTP寄与コンポーネント408、LTPスイッチフラグコンポーネント410、加算関数ユニット414、逆重み付けフィルタ416、高ピッチフラグコンポーネント420、LPCフィルタ422、逆傾斜フィルタ424、及び高スペクトル傾斜フラグコンポーネント428を含む。いくつかの場合に、量子化残差コンポーネント406からの量子化された残差信号及び高速LTP寄与コンポーネント408からのLTP寄与信号は、逆重み付けフィルタ416への入力信号として重み付けされたLLB残差信号を生成するよう、加算関数ユニット414によって足し合わされてよい。
いくつかの場合に、逆重み付けフィルタ416は、重み付けを取り除いて、LLB量子化残差信号のスペクトル平坦性を回復するために使用されてよい。いくつかの場合に、回復されたLLB残差信号が、逆重み付けフィルタ416によって生成され得る。回復されたLLB残差信号は、信号領域でLLB信号を生成するよう、LPCフィルタ422によって再びフィルタをかけられてよい。いくつかの場合に、傾斜フィルタ(例えば、傾斜フィルタ306)がLLBエンコーダ300に存在する場合に、LLBデコーダ400でのLLB信号は、高スペクトル傾斜フラグコンポーネント428によって制御される逆傾斜フィルタ424によってフィルタをかけられてよい。いくつかの場合に、復号されたLLB信号430が、逆傾斜フィルタ424によって生成され得る。
図5及び図6は、LHBエンコーダ500及びLHBデコーダ600の構造例を表す。図5に示されるように、LHBエンコーダ500は、LPC解析コンポーネント504、逆LPCフィルタ506、ビットレート制御コンポーネント510、初期残差量子化コンポーネント512、及び高速量子化最適化コンポーネント514を含む。いくつかの場合に、LHBサブバンド信号502は、LHBサブバンドでLPCフィルタパラメータを生成するよう、LPC解析コンポーネント504によってLPC解析されてよい。いくつかの場合に、LPCフィルタパラメータは、量子化され、LHBデコーダ600へ送信され得る。LHBサブバンド信号502は、エンコーダ500において逆LPCフィルタ506によってフィルタをかけられてよい。いくつかの場合に、LHB残差信号が、逆LPCフィルタ506によって生成されてよい。LHB残差信号は、LHB残差量子化のための入力信号になり、量子化されたLHB残差信号516を生成するよう初期残差量子化コンポーネント512及び高速量子化最適化コンポーネント514によって処理され得る。いくつかの場合に、量子化されたLHB残差信号516は、その後にLHBデコーダ600へ送信されてよい。図6に示されるように、ビット602から取得された量子化された残差604は、復号されたLHB信号608を生成するよう、LHBサブバンドについてLPCフィルタ606によって処理されてよい。
図7及び図8は、HLB及び/又はHHBサブバンドのためのエンコーダ700及びデコーダ800の構造例を表す。図示されるように、エンコーダ700は、LPC解析コンポーネント704、逆LPCフィルタ706、ビットレートスイッチコンポーネント708、ビットレート制御コンポーネント710、残差量子化コンポーネント712、及びエネルギエンベロープ量子化コンポーネント714を含む。一般に、HLB及びHHBは両方とも、比較的に高い周波数領域に位置している。いくつかの場合に、それらは、2つの可能な方法で符号化及び復号化される。例えば、ビットレートが十分に高い(例えば、96kHz/24bitステレオコーディングの場合に、700kbpsよりも高い)場合に、それらはLHBのように符号化及び復号化されてよい。一例では、HLB又はHHBサブバンド信号702は、HLB又はHHBサブバンドでLPCフィルタパラメータを生成するよう、LPC解析コンポーネント704によってLPC解析されてよい。いくつかの場合に、LPCフィルタパラメータは、量子化され、HLB又はHHBデコーダ800へ送信されてよい。HLB又はHHBサブバンド信号702は、HLB又はHHB残差信号を生成するよう逆LPCフィルタ706によってフィルタをかけられてよい。HLB又はHHB残差信号は、残差量子化のための対象信号となり、量子化されたHLB又はHHB残差信号716を生成するよう残差量子化コンポーネント712によって処理されてよい。量子化されたHLB又はHHB残差信号716は、その後にデコーダ側(例えば、デコーダ800)へ送信され、復号されたHLB又はHHB信号814を生成するよう残差デコーダ806及びLPCフィルタ812によって処理されてよい。
いくつかの場合に、ビットレートが比較的に低い(例えば、96kHz/24bitステレオに、500kbpsより低い)場合に、HLB又はHHBサブバンドについてLPC解析コンポーネント704によって生成されたLPCフィルタのパラメータは、依然として量子化され、デコーダ側(例えば、デコーダ800)へ送信されてよい。しかし、HLB又はHHB残差信号は、如何なるビットも費やさずに生成可能であり、残差信号の時間領域エネルギエンベロープのみが量子化され、非常に低いビットレート(例えば、エネルギエンベロープを符号化するために3kbpsに満たない)でデコーダへ送信される。一例では、エネルギエンベロープ量子化コンポーネント714は、逆LPCフィルタからHLB又はHHB残差信号を受信し、出力信号を生成してよく、出力信号は、その後に、デコーダ800へ送信されてよい。次いで、エンコーダ700からの出力信号は、LPCフィルタ812への入力信号を生成するようエネルギエンベロープデコーダ808及び残差生成コンポーネント810によって処理されてよい。いくつかの場合に、LPCフィルタ812は、残差生成コンポーネント810からHLB又はHHB残差信号を受信し、復号されたHLB又はHHB信号814を生成してよい。
図9は、高ピッチ信号の例となるスペクトル構造900を示す。一般に、通常のスピーチ信号は、比較的に高いピッチスペクトル構造をめったに有さない。しかし、音楽信号及び歌声信号は、高ピッチスペクトル構造をしばしば有する。図示されるように、スペクトル構造900は、比較的により高い一次高調波周波数F0(例えば、F0>500Hz)と、比較的に低いバックグラウンドスペクトルレベルとを含む。この場合に、スペクトル構造900を有するオーディオ信号は、高ピッチ信号と見なされてよい。高ピッチ信号の場合に、0HzとF0との間のコーディングエラーは、聴覚マスキング効果の欠如により容易に聞き取ることができる。エラー(例えば、F1とF2との間のエラー)は、F1及びF2のピークエネルギが正確である限りは、F1及びF2によってマスキングされ得る。しかし、ビットレートが十分に高くない場合には、コーディングエラーは回避されないことがある。
いくつかの場合に、LTPにおける正確なショートピッチ(高ピッチ)ラグは、信号品質を改善することを助けることができる。しかし、それは、「トランスペアレント」品質を達成するには不十分であり得る。ロバストな方法で信号品質を改善するために、適応重み付けフィルタが導入され得る。これは、より高い周波数でのコーディングエラーの増大を犠牲にして、非常に低い周波数を強めて、非常に低い周波数でのコーディングエラーを低減する。いくつかの場合に、適応重み付けフィルタ(例え、重み付けフィルタ316)は、以下の:
ような一次極フィルタであることができ、逆重み付けフィルタ(例えば、逆重み付けフィルタ416)は、次の:
のような一次零フィルタであることができる。
いくつかの場合に、適応重み付けフィルタは、高ピッチの場合を改善することが示されている。しかし、それは、他の場合には品質を低下させる可能性がある。従って、いくつかの場合に、適応重み付けフィルタは、(例えば、図3の高ピッチ検出コンポーネント314を用いて)高ピッチの場合の検出に基づいてオン及びオフを切り替えられ得る。高ピッチ信号を検出するための多数の方法が存在する。1つの方法は、図10を参照して以下で説明される。
図10に示されるように、現在のピッチゲイン1002、平坦化されたピッチゲイン1004、ピッチラグ長1006、及びスペクトル傾斜1008を含む4つのパラメータが、高ピッチ信号が存在するか否かを決定するために高ピッチ検出コンポーネント1010によって使用され得る。いくつかの場合に、ピッチゲイン1002は、信号の周期性を示す。いくつかの場合に、平坦化されたピッチゲイン1004は、ピッチゲイン1002の正規化された値に相当する。一例では、正規化されたピッチゲイン(例えば、平坦化されたピッチゲイン1004)が0から1の間にある場合に、正規化されたピッチゲインのハイ値(例えば、正規化されたピッチゲインが1に近い場合)は、スペクトル領域での強い高調波の存在を示し得る。平坦化されたピッチゲイン1004は、周期性が安定している(単に局所的でない)ことを示す。いくつかの場合に、ピッチラグ長1006が短い(例えば、3msに満たない)場合には、それは、一次高調波周波数F0が大きい(高い)ことを意味する。スペクトル傾斜1008は、LPCパラメータの第1反射係数又は1つのサンプル距離での断片的な信号相関によって測定されてよい。いくつかの場合に、スペクトル傾斜1008は、非常に低い周波数領域が有意なエネルギを含むか否かを示すために使用されてよい。非常に低い周波数領域(例えば、F0よりも低い周波数)でのエネルギが比較的に高い場合には、高ピッチ信号は存在しない可能性がある。いくつかの場合に、高ピッチ信号が検出されるとき、重み付けフィルタが適用されてよい。そうでないならば、重み付けフィルタは、高ピッチ信号が検出されないときには適用されなくてよい。
図11は、高ピッチ信号の知覚重み付けを実行する、例となる方法1100を表すフローチャートである。いくつかの場合に、方法1100は、オーディオコーデックデバイス(LLBエンコーダ300)によって実施されてよい。いくつかの場合に、方法1100は、如何なる適切なデバイスによっても実施可能である。
方法1100は、ブロック1102から開始してよく、信号(例えば、図1の信号102)が受信される。いくつかの場合に、信号はオーディオ信号であってよい。いくつかの場合に、信号は、1つ以上のサブバンドコンポーネントを含んでよい。いくつかの場合に、信号は、LLBコンポーネント、LHBコンポーネント、HLBコンポーネント、及びHHBコンポーネントを含んでよい。一例では、信号は、96kHzのサンプリングレートで生成され、48kHzの帯域幅を有してよい。この例では、信号のLLBコンポーネントは0~12kHzサブバンドを含んでよく、LHBコンポーネントは12~24kHzサブバンドを含んでよく、HLBコンポーネントは24~36kHzサブバンドを含んでよく、HHBコンポーネントは36~48kHzサブバンドを含んでよい。いくつかの場合に、信号は、4つのサブバンドでサブバンド信号を生成するよう、プリエンファシスフィルタ(例えば、プリエンファシスフィルタ104)及びQMF解析フィルタバンク(例えば、QMF解析フィルタバンク106)によって処理されてよい。この例では、LLBサブバンド信号、LHBサブバンド信号、HLBサブバンド信号、及びHHBサブバンド信号が、4つのサブバンドについて夫々生成されてよい。
ブロック1104で、1つ以上のサブバンド信号のうちの少なくとも1つの残差信号が、1つ以上のサブバンド信号のうちのその少なくとも1つに基づいて生成される。いくつかの場合に、1つ以上のサブバンド信号のうちの少なくとも1つは、傾斜フィルタ処理された信号を生成するよう、傾斜フィルタをかけれられてよい。一例では、1つ以上のサブバンド信号のうちの少なくとも1つは、LLBサブバンドにおけるサブバンド信号(例えば、図3のLLBサブバンド信号302)を含んでよい。いくつかの場合に、傾斜フィルタ処理された信号は、残差信号を生成するよう逆LPCフィルタ(例えば、逆LPCフィルタ310)によって更に処理されてもよい。
ブロック1106で、1つ以上のサブバンド信号のうちの少なくとも1つが高ピッチ信号であることが決定される。いくつかの場合に、1つ以上のサブバンド信号のうちの少なくとも1つは、1つ以上のサブバンド信号のうちのその少なくとも1つの現在のピッチゲイン、平坦化されたピッチゲイン、ピッチラグ長、又はスペクトル傾斜のうちの少なくとも1つに基づいて、高ピッチ信号であると決定される。
いくつかの場合に、ピッチゲインは、信号の周期性を示し、平坦化されたピッチゲインは、ピッチゲインの正規化された値を表す。いくつかの例では、正規化されたピッチゲインは、0から1の間にあってよい。これらの例では、正規化されたピッチゲインのハイ値(例えば、正規化されたピッチゲインが1に近い場合)は、スペクトル領域での強い高調波の存在を示し得る。いくつかの場合に、短いピッチラグ長は、一次高調波周波数(例えば、図9の周波数F0 906)が大きい(高い)ことを意味する。一次高調波周波数F0が比較的に高く(例えば、F0>500Hz)、バックグラウンドスペクトルレベルが比較的により低い(例えば、所定の閾値の下)場合に、高ピッチ信号は検出され得る。いくつかの場合に、スペクトル傾斜は、LPCパラメータの第1反射係数又は1つのサンプル距離での断片的な信号相関によって測定され得る。いくつかの場合に、スペクトル傾斜は、非常に低い周波数領域が有意なエネルギを含むか否かを示すために使用されてよい。非常に低い周波数領域(例えば、F0よりも低い周波数)でのエネルギが比較的に高い場合に、高ピッチ信号は存在しない可能性がある。
ブロック1108で、1つ以上のサブバンド信号のうちの少なくともが高ピッチ信号であるとの決定に応答して、重み付け操作が、1つ以上のサブバンド信号のうちのその少なくとも1つの残差信号に対して実行される。いくつかの場合に、高ピッチ信号が検出される場合に、重み付けフィルタ(例えば、重み付けフィルタ316)が残差信号に適用されてよい。いくつかの場合に、重み付けされた残差信号が生成されてよい。いくつかの場合に、重み付け操作は、高ピッチ信号が検出されない場合には実行されなくてもよい。
述べられたように、高ピッチ信号の場合に、低周波数領域でのコーディングエラーは、聴覚マスキング効果の欠如により知覚的に感知可能であることができる。ビットレートが十分に高くない場合には、コーディングエラーは回避されないことがある。ここで記載されている適応重み付けフィルタ(例えば、重み付けフィルタ316)及び重み付け方法は、低周波数領域でコーディングエラーを低減しかつ信号品質を改善するために使用されてよい。しかし、いくつかの場合に、これは、より高い周波数でコーディングエラーを増大させる可能性があり、高ピッチ信号の知覚的な品質にとって不十分であることがある。いくつかの場合に、適応重み付けフィルタは、高ピッチ信号の検出に基づいて条件付きでオン及びオフされてよい。上述されたように、重み付けフィルタは、高ピッチ信号が検出される場合にオンされてよく、高ピッチ信号が検出されない場合にオフされてよい。このようにして、高ピッチの場合の品質は依然として改善され、一方で、非高ピッチの場合の品質が妥協され得ない。
ブロック1110で、量子化された残差信号が、ブロック1108で生成された重み付けされた残差信号に基づいて生成される。いくつかの場合に、重み付けされた残差信号は、LTP寄与とともに、第2の重み付けされた残差信号を生成するよう加算関数ユニットによって処理されてよい。いくつかの場合に、第2の重み付けされた残差信号は、量子化された残差信号を生成するよう量子化されてよく、量子化された残差信号は、デコーダ側(例えば、図4のLLBデコーダ400)へ更に送信されてよい。
図12及び図13は、残差量子化エンコーダ1200及び残差量子化デコーダ1300の構造例を示す。いくつかの例では、残差量子化エンコーダ1200及び残差量子化デコーダ1300は、LLBサブバンドでの信号を処理するために使用されてよい。図示されるように、残差量子化エンコーダ1200は、エネルギエンベロープコーディングコンポーネント1204、残差正規化コンポーネント1206、第1ラージステップコーディングコンポーネント1210、第1ファインステップコンポーネント1212、ターゲット最適化コンポーネント1214、ビットレート調整コンポーネント1216、第2ラージステップコーディングコンポーネント1218、及び第2ファインステップコーディングコンポーネント1220を含む。
図示されるように、LLBサブバンド信号1202は、最初に、エネルギエンベロープコーディングコンポーネント1204によって処理されてよい。いくつかの場合に、LLB残差信号の時間領域エネルギエンベロープが、エネルギエンベロープコーディングコンポーネント1204によって決定及び量子化されてよい。いくつかの場合に、量子化された時間領域エネルギエンベロープはデコーダ側(例えば、デコーダ1300)へ送信されてよい。いくつかの例では、決定されたエネルギエンベロープは、非常に低いレベル及び非常に高いレベルをカバーする残差領域での12dBから132dBまでのダイナミックレンジを有してよい。いくつかの場合に、1つのフレーム内のあらゆるサブフレームが1つのエネルギレベル量子化を有し、フレーム内のピークサブフレームエネルギはdB領域で直接にコーディングされてよい。同じフレーム内の他のサブフレームエネルギは、ピークエネルギと現在のエネルギとの間の差をコーディングすることによってハフマンコーディングアプローチでコーディングされてよい。いくつかの場合に、1つのサブフレーム存続期間は約2msと短くなるので、エンベロープ精度は、ヒトの耳のマスキング原理に基づいて、受け入れられ得る。
量子化された時間領域エネルギエンベロープを得た後、LLB残差信号は、次いで、残差正規化コンポーネント1206によって正規化されてよい。いくつかの場合に、LLB残差信号は、量子化された時間領域エネルギエンベロープに基づいて正規化されてよい。いくつかの例では、LLB残差信号は、正規化されたLLB残差信号を生成するよう、量子化された時間領域エネルギエンベロープによって除されてよい。いくつかの場合に、正規化されたLLB残差信号は、初期量子化のための初期ターゲット信号1208として使用されてよい。いくつかの場合に、初期量子化は、コーディング/量子化の2つの段階を含んでよい。いくつかの場合に、第1の段階のコーディング/量子化は、ラージステップハフマンコーディングを含み、第2の段階のコーディング/量子化は、ファインステップ一様コーディングを含む。図示されるように、初期ターゲット信号1208は、正規化されたLLB残差信号であり、最初にラージステップコーディングコンポーネント1210によって処理されてよい。高分解のオーディオコーデックについては、エネルギ残差サンプルが量子化されてよい。ハフマンコーディングは、特別な量子化インデックス確率分布を利用することによってビットを節約し得る。いくつかの場合に、残差量子化ステップサイズが十分に大きい場合に、量子化インデックス確率分布はハフマンコーディングにとって適切になる。いくつかの場合に、ラージステップ量子化からの量子化結果は次善である可能性がある。一様量子化が、ハフマンコーディングの後に、より小さい量子化ステップで加えられてもよい。図示されるように、ファインステップ一様コーディングコンポーネント1212は、ラージステップハフマンコーディングコンポーネント1210からの出力信号を量子化するために使用されてよい。そのようなものとして、正規化されたLLB残差信号の第1の段階のコーディング/量子化は、量子化されたコーディングインデックスの特別な分布がより効率的なハフマンコーディングをもたらすので、比較的に大きい量子化ステップを選択し、第2の段階のコーディング/量子化は、第1の段階のコーディング/量子化からの量子化エラーを更に低減するために、比較的に小さい量子化ステップで比較的に簡単な一様コーディングを使用する。
いくつかの場合に、初期残差信号は、残差量子化がエラーを有さないか又はエラーが十分に小さい場合に、理想的なターゲットリファレンスであり得る。コーディングビットエラーが十分に高くない場合に、コーディングエラーは常に存在し、取るに足らないものでない可能性がある。従って、この初期残差ターゲットリファレンス信号1208は、量子化にとって知覚的に次善である可能性がある。たとえ初期残差ターゲットリファレンス信号1208が知覚的に次善であるとしても、それは、即座の量子化エラー推定を提供することができ、この推定は、(例えば、ビットエラー調整コンポーネント1216によって)コーディングビットエラーを調整するために使用され得るだけでなく、知覚的に最適化されたターゲットリファレンス信号を形成するためにも使用され得る。いくつかの場合に、知覚的に最適化されたターゲットリファレンス信号は、初期残差ターゲットリファレンス信号1208及び初期量子化の出力信号(例えば、ファインステップ一様コーディングコンポーネント1212の出力信号)に基づいてターゲット最適化コンポーネント1214によって生成されてよい。
いくつかの場合に、最適化されたターゲットリファレンス信号は、現在のサンプルのエラーの影響だけでなく前のサンプル及び将来のサンプルのエラーの影響も最小限にするように形成されてよい。更に、それは、ヒトの耳の知覚的なマスキング効果を考慮するためにスペクトル領域でのエラー分布を最適化し得る。
最適化されたターゲットリファレンス信号がターゲット最適化コンポーネント1214によって形成された後、第1の段階のハフマンコーディング及び第2の段階の一様コーディングが、第1の(初期)量子化結果を置換しかつより良い知覚品質を得るために、再び実行されてよい。この例では、第2ラージステップハフマンコーディングコンポーネント1218及び第2ファインステップ一様コーディングコンポーネント1220がm最適化されたターゲットリファレンス信号に対して第1の段階のハフマンコーディング及び第2の段階の一様コーディングを実行するために使用されてよい。初期ターゲットリファレンス信号及び最適化されたターゲットリファレンス信号の量子化は、以下で更に詳細に説明される。
いくつかの例では、量子化されていない残差信号又は初期ターゲット残差信号は、r
i(n)によって表されてよい。r
i(n)をターゲットとして使用して、残差信号は、最初に、
[外1]
と記される第1の量子化された残差信号を得るよう量子化されてよい。
[外2]
及び知覚重み付けフィルタのインパルス応答h
w(n)に基づいて、知覚的に最適化されたターゲットリファレンス信号r
o(n)の値が求められ得る。r
o(n)を更新又は最適化されたターゲットとして使用して、残差信号は、
[外3]
と記される第2の量子化された残差信号を得るよう再び量子化されてよい。第2の量子化された残差信号は、第1の量子化された残差信号
[外4]
を置換するよう知覚的に最適化されている。いくつかの場合に、h
w(n)は、例えば、LPCフィルタに基づいてh
w(n)を推定することによって、多くの可能な方法で決定されてよい。
いくつかの場合に、LLBサブバンドのためのLPCフィルタは、次の:
のように表現されてよい。
知覚的に重み付けされたフィルタW(z)は:
として定義され得る。
ここで、αは、定係数であり、0<α<1であり、γは、LPCフィルタの第1反射係数、又は単に定数であることができ、-1<γ<1である。フィルタW(z)のインパルス応答は、h
w(n)と定義されてよい。いくつかの場合に、h
w(n)の長さは短くなり、直ぐに0になるよう減衰する。計算複雑性の視点から、短いインパルス応答h
w(n)を有することが最適である。h
w(n)が十分に短くない場合に、それは、h
w(n)を直ぐにゼロに減衰させるために、半ハミング窓又は半ハニング窓を乗じられてもよい。インパルス応答h
w(n)を得た後、知覚的に重み付けされた信号領域でのターゲットは:
と表されてよく、r
i(n)とh
w(n)との間の畳み込みである。知覚的に重み付けされた信号領域での最初に量子化された残差
[外5]
の寄与は:
と表現され得る。
残差領域でのエラー
は、それが直接残差領域で量子化されると言うことで、最小限にされる。しかし、知覚的に重み付けされた信号領域でのエラー
は、最小限にされないことがある。従って、量子化エラーは、知覚的に重み付けされた信号領域で最小限にされる必要があり得る。いくつかの場合に、全ての残差サンプルは一緒に量子化されてよい。しかし、これは、余分な複雑性を引き起こす可能性がある。いくつかの場合に、残差は、サンプルごとに量子化されるが、知覚的に最適化され得る。例えば、
が、最初に、現在のフレーム内の全てのサンプルについてセットされてよい。もし全てのサンプルが、mでのサンプルが量子化されないことを除いて、量子化されているならば、このときmでの知覚的に最良な値はr
i(m)ではなく、
であるはずである。
ここで、<T
g’(n),h
w(n)>は、ベクトル{T
g’(n)}とベクトル{h
w(n)}との間の相互相関を表し、ベクトル長は、インパルス応答h
w(n)の長さに等しく、{T
g’(n)}のベクトル開始点は、mにある。||h
w(n)||は、ベクトル{h
w(n)}のエネルギであり、同じフレームで一定のエネルギである。T
g’(n)は:
と表され得る。
知覚的に最適化された新しいターゲット値r
o(m)が決定されると、それは、ラージステップハフマンコーディング及びファインステップ一様コーディングを含む初期量子化と同様にして
[外6]
を生成するよう再び量子化されてよい。次いで、mは次のサンプル位置に進む。上記の処理は、サンプルごとに繰り返され、一方、式(7)及び(8)は、全てのサンプルが最適に量子化されるまで、新しい結果で更新される。各mについての夫々の更新中に、式(8)は、
[外7]
でのほとんどのサンプルが変更されないので、再計算される必要がない。式(7)の分母は一定であり、それにより、除算は定数倍になることができる。
デコーダ側では、図13に示されるように、ラージステップハフマン復号化1302及びファインステップ一様復号化1304からの量子化された値が、正規化された残差信号を生成するよう加算関数ユニット1306によって足し合わされる。正規化された残差信号は、復号された残差信号1310を生成するよう時間領域でエネルギエンベロープ復号化コンポーネント1308によって処理されてよい。
図14は、信号の残差量子化を実行する、例となる方法1400を表すフローチャートである。いくつかの場合に、方法1400は、オーディオコーデックデバイス(例えば、LLBエンコーダ300又は残差量子化エンコーダ1200)によって実装されてよい。いくつかの場合に、方法1400は、如何なる適切なデバイスによっても実装可能である。
方法1400はブロック1402から開始し、入力残差信号の時間領域エネルギエンベロープが決定される。いくつかの場合に、入力残差信号の時間領域エネルギエンベロープは、LLBサブバンドでの残差信号であってよい(例えば、LLB残差信号1202)。
ブロック1404で、入力残差信号の時間領域エネルギエンベロープは、量子化された時間領域エネルギエンベロープを生成するよう量子化される。いくつかの場合に、量子化された時間領域エネルギエンベロープは、デコーダ側(例えば、デコーダ1300)へ送信されてよい。
ブロック1406で、入力残差信号は、第1のターゲット残差信号を生成する、量子化された時間領域エネルギエンベロープに基づいて正規化される。いくつかの場合に、LLB残差信号は、正規化されたLLB残差信号を生成するよう、量子化された時間領域エネルギエンベロープで除されてもよい。いくつかの場合に、正規化されたLLB残差信号は、初期量子化のための処理ターゲット信号として使用されてよい。
ブロック1408で、第1の量子化が、第1の量子化された残差信号を生成するよう第1ビットレートで第1のターゲット残差信号に対して実行される。いくつかの場合に、第1の残差量子化は、サブ量子化/コーディングの2つの段階を含んでもよい。第1の段階のサブ量子化は、第1のサブ量子化出力信号を生成するよう第1量子化ステップで第1のターゲット残差信号に対して実行されてよい。第2の段階のサブ量子化は、第1の量子化された残差信号を生成するよう第2量子化ステップで第1のサブ量子化出力信号に対して実行されてよい。いくつかの場合に、第1量子化ステップは、第2量子化ステップよりもサイズが大きい。いくつかの例では、第1の段階のサブ量子化は、ラージステップハフマンコーディングであってよく、第2の段階のサブ量子化は、ファインステップ一様コーディングであってよい。
いくつかの場合に、第1のターゲット残差信号は、複数のサンプルを含む。第1の量子化は、サンプルごとに第1のターゲット残差信号に対して実行されてよい。いくつかの場合に、これは、量子化の複雑性を低減して、量子化効率を改善することができる。
ブロック1410で、第2のターゲット残差信号が、第1の量子化された残差信号及び第1のターゲット残差信号に少なくとも基づいて、生成される。いくつかの場合に、第2のターゲット残差信号は、第1のターゲット残差信号、第1の量子化された残差信号、及び知覚重み付けフィルタのインパルス応答hw(n)に基づいて、生成されてもよい。いくつかの場合に、知覚的に最適化されたターゲット残差信号は、第2のターゲット残差信号であり、第2の残差量子化のために生成されてよい。
ブロック1412で、第2の残差量子化は、第2の量子化された残差信号を生成するよう第2ビットレートで第2のターゲット残差信号に対して実行される。いくつかの場合に、第2ビットレートは、第1ビットレートとは異なってよい。一例では、第2ビットレートは、第1ビットレートよりも高くてよい。いくつかの場合に、第1ビットレートでの第1の残差量子化からのコーディングエラーは、取るに足らないものでない可能性がある。いくつかの場合に、コーディングビットレートは、コーディングレートを低減するよう第2の残差量子化で調整されてよい(例えば、高められてよい)。
いくつかの場合に、第2の残差量子化は、第1の残差量子化と類似する。いくつかの例では、第2の残差量子化も、サブ量子化/コーディングの2つの段階を含んでよい。これらの例では、第1の段階のサブ量子化は、サブ量子化出力信号を生成するよう、大きい量子化ステップで、第2のターゲット残差信号に対して実行されてよい。第2の段階のサブ量子化は、第2の量子化された残差信号を生成するよう、小さい量子化ステップで、サブ量子化出力信号に対して実行されてよい。いくつかの場合に、第1の段階のサブ量子化は、ラージステップハフマンコーディングであってよく、第2の段階のサブ量子化は、ファインステップ一様コーディングであってよい。いくつかの場合に、第2の量子化された残差信号は、ビットストリームチャネルを通じてデコーダ側(例えば、デコーダ1300)へ送信されてよい。
図3~4で述べられたように、LTPは、より良いPLCのために条件付きでオン及びオフされてよい。いくつかの場合に、コーデックビットレートが、トランスペアレント品質を達成するほど十分に高くない場合に、LTPは、周期的な高調波信号にとって非常に有用である。高分解のコーデックについては、LTP適用のために、2つの課題が解決される必要があり得る。(1)従来のLTPは、高サンプリングレート環境で非常に高い計算複雑性を要するので、計算複雑性が低減されるべきであり、かつ(2)LTPは、フレーム間相関を利用しており、伝送チャネルでのパケット損失が起きる場合にエラー伝播を引き起こす可能性があるので、パケット損失隠蔽(PLC)の悪影響が制限されるべきである。
いくつかの場合に、ピッチラグ探索は、余分の計算複雑性をLTPに加える。コーディング効率を改善するよう、LTPでは、より効率的なことが望まれ得る。ピッチラグ探索のプロセスの例は、図15~16を参照して以下で説明される。
図15は、ピッチラグ1502が2つの隣接周期サイクルの間の距離(例えば、ピークP1からP2の間の距離)を表す有声音声の例を示す。いくつかの音楽信号は、強い周期性だけでなく、安定したピッチラグ(ほぼ一定のピッチラグ)も有することがある。
図16は、より良いパケット損失隠蔽のためのLTP制御を実行する、例となるプロセス1600を示す。いくつかの場合に、プロセス1600は、コーデックデバイス(例えば、エンコーダ100、又はエンコーダ300)によって実装されてよい。いくつかの場合に、プロセス1600は、如何なる適切なデバイスによっても実装されてよい。プロセス1600は、ピッチラグ(以下では略して「ピッチ」と記載される)探索及びLTP制御を含む。一般に、ピッチ探索は、ピッチ候補の数が多いために、従来方法では、高サンプリングレートで複雑になることがある。ここで説明されるプロセス1600は、3つのフェーズ/ステップを含んでよい。第1フェーズ/ステップ中、信号(例えば、LLB信号1602)は、周期性が主に低周波数領域にあるということで、ローパスフィルタ1604をかけられてよい。次いで、フィルタ処理された信号は、高速初期ラフピッチ探索1608のための入力信号を生成するようダウンサンプリングされてよい。一例では、ダウンサンプリングされた信号は、2kHzサンプリングレートで生成される。低サンプリングレートでのピッチ候補の総数は多くないので、ラフピッチ結果は、低サンプリングレートで全てのピッチ候補を探索することによって高速に取得され得る。いくつかの場合に、初期ピッチ探索1608は、短い窓による正規化された相互相関又は大きい窓による自己相関を最大限にする従来のアプローチを用いて行われてもよい。
初期ピッチ探索結果は、比較的に粗くてよいので、複数の初期ピッチの近傍での相互相関アプローチによる細かい探索は、依然として、高サンプリングレート(例えば、24kHz)で複雑になることがある。従って、第2フェーズ/ステップ(例えば、高速ファインピッチ探索1610)中、ピッチ精度は、単に低サンプリングレートで波形ピーク位置を見ることによって、波形領域で高められ得る。次いで、第3フェーズ/ステップ(例えば、最適化されたファインピッチ探索1612)中、第2フェーズ/ステップからのファインピッチ探索結果は、高サンプリングレートで小さい探索範囲内で相互相関アプローチにより最適化されてよい。
例えば、第1フェーズ/ステップ(例えば、初期ピッチ探索1608)中、初期ラフピッチ探索結果は、探索された全てのピッチ候補に基づいて取得されてよい。いくつかの場合に、ピッチ候補近傍は、初期ラフピッチ探索結果に基づいて定義されてよく、より正確なピッチ探索結果を得るよう第2フェーズ/ステップに使用されてよい。第2フェーズ/ステップ(例えば、高速ファインピッチ探索1610)中、波形ピーク位置は、ピッチ候補に基づいて、第1フェーズ/ステップで決定されたピッチ候補近傍内で決定されてよい。図15に示される一例では、図15の第1ピーク位置P1は、初期ピッチ探索結果から定義された有限な探索範囲(例えば、第1フェーズ/ステップから約15%変動で決定されたピッチ候補近傍)内で決定されてよい。図15の第2ピーク位置P2は、同様の方法で決定されてよい。P1からP2の間の位置の差は、初期ピッチ推定よりもずっと正確なピッチ推定になる。いくつかの場合に、第2フェーズ/ステップから取得されたより正確なピッチ推定は、最適化されたファインピッチラグを見つけるために第3フェーズ/ステップで使用され得る第2ピッチ候補近傍、例えば、第2フェーズ/ステップから約15%変動で決定されたピッチ候補近傍、を定義するために使用されてよい。第3フェーズ/ステップ(例えば、最適化されたファインピッチ探索1612)中、最適化されたファインピッチラグは、非常に小さい探索範囲(第2ピッチ候補近傍)内で、正規化された相互相関アプローチにより探索され得る。
いくつかの場合に、LTPが常にオンである場合に、PLCは、ビットストリームパケットが失われるとき、起こり得るエラー伝播により次善となることがある。いくつかの場合に、LTPは、それがオーディオ品質を有効に改善することができかつPLCに有意な影響を与えない場合に、オンされてよい。実際上、LTPは、ピッチゲインが高くかつ安定している、つまり、高い周期性が少なくとも数フレームの間続く(1フレームだけでない)場合に、有効であることができる。いくつかの場合に、高周期性信号領域では、PLCは、PLCが常に、前の情報を現在の失われたフレームにコピーするよう周期性を使用するということで、比較的に単純で効率的である。いくつかの場合に、安定したピッチラグも、PLCへの悪影響を減らし得る。安定したピッチラグは、ピッチラグ値が少なくともいくつかのフレームの間有意に変化せず、近い将来に安定したピッチをもたらすと思われることを意味する。いくつかの場合に、ビットストリームパケットの現在のフレームが失われる場合に、PLCは、現在のフレームを回復するために、前のピッチ情報を使用してよい。そのようなものとして、安定したピッチラグは、PLCのための現在ピッチ推定を助け得る。
図16を参照して例を続けると、周期性検出1614及び安定性検出1616が、LTPをオン又はオフすると決定する前に実行される。いくつかの場合に、ピッチゲインが安定して高く、ピッチラグが比較的に安定している場合に、LTPはオンされてよい。例えば、ピッチゲインは、ブロック1618に示されるように、大いに周期性があり安定しているフレームについてセットされてよい(例えば、ピッチゲインは安定して0.8よりも高い)。いくつかの場合に、図3を参照すると、LTP寄与信号は生成され、残差量子化のための入力信号を生成するよう、重み付けされた残差信号と結合されてよい。他方で、ピッチゲインが安定して高くなく、かつ/あるいは、ピッチラグが安定していない場合には、LTPはオフされてよい。
いくつかの場合に、ビットストリームパケットが失われるときに、起こり得るエラー伝播を回避するために、LTPは、LTPがこれまで数フレームの間オンされていた場合には、1又は2フレームの間オフされてもよい。一例では、ブロック1620に示されるように、ピッチゲインは、条件付きで、例えば、LTPがこれまで数フレーム間オンされていた場合に、より良いPLCのためにゼロにリセットされてよい。いくつかの場合に、LTPがオフされる場合に、可変ビットレートコーディングシステムでは、もう少しコーディングビットレートがセットされてよい。いくつかの場合に、LTPがオンされると決定される場合に、ピッチゲイン及びピッチラグは、ブロック1622に示されるように、量子化され、デコーダ側へ送信されてよい。
図17は、オーディオ信号のスペクトログラムの例を示す。図示されるように、スペクトログラム1702は、オーディオ信号の時間周波数プロットを示す。スペクトログラム1702は、多数の高調波を含むことが示されており、これは、オーディオ信号の高周期性を示す。スペクトログラム1704は、オーディオ信号の元のピッチゲインを示す。ピッチゲインは、ほとんどの時間に安定して高いことが示されており、これも、オーディオ信号の高周期性を示す。スペクトログラム1706は、オーディオ信号の平坦化されたピッチゲイン(ピッチ相関)を示す。この例では、平坦化されたピッチゲインは、正規化されたピッチゲインを表す。スペクトログラム1708は、ピッチラグを示し、スペクトログラム1710は、量子化されたピッチゲインを示す。ピッチラグは、ほとんどの時間に比較的に安定していることが示されている。図示されるように、ピッチゲインは、周期的にゼロにリセットされており、これは、エラー伝播を回避するために、LTPがオフされることを示す。量子化されたピッチゲインも、LTPがオフされる場合にゼロにセットされる。
図18は、LTPを実行する、例となる方法1800を表すフローチャートである。いくつかの場合に、方法1800は、オーディオコーデックデバイス(例えば、LLBエンコーダ300)によって実装されてよい。いくつかの場合に、方法1800は、如何なる適切なデバイスによっても実装されてよい。
方法1800はブロック1802から開始し、入力オーディオ信号が第1サンプリングレートで受信される。いくつかの場合に、オーディオ信号は、複数の第1サンプルを含んでよく、複数の第1サンプルは、第1サンプリングレートで生成される。一例では、複数の第1サンプルは、96kHzサンプリングレートで生成されてよい。
ブロック1804で、オーディオ信号はダウンサンプリングされる。いくつかの場合に、オーディオ信号の複数の第1サンプルは、第2サンプリングレートで複数の第2サンプルを生成するよう、ダウンサンプリングされてよい。いくつかの場合に、第2サンプリングレートは、第1サンプリングレートよりも低い。この例では、複数の第2サンプルは、2kHzのサンプリングレートで生成されてよい。
ブロック1806で、第1ピッチラグが第2サンプリングレートで決定される。低サンプリングレートでのピッチ候補の総数は多くないので、ラフピッチ結果は、低サンプリングレートで全てのピッチ候補を探索することによって高速に取得され得る。いくつかの場合に、複数のピッチ候補は、第2サンプリングレートでの複数の第2サンプルに基づいて決定されてよい。いくつかの場合に、第1ピッチラグは、複数のピッチ候補に対して決定されてよい。いくつかの場合に、第1ピッチラグは、第1窓による正規化された相互相関又は第2窓による自己相関を最大限にすることによって決定されてよく、第2窓は第1窓よりも大きい。
ブロック1808で、第2ピッチラグは、ブロック1804で決定された第1ピッチラグに基づいて決定される。いくつかの場合に、第1探索範囲は第1ピッチラグに基づいて決定されてよい。いくつかの場合に、第1ピーク位置及び第2ピーク位置は、第1探索範囲内で決定されてよい。いくつかの場合に、第2ピッチラグは、第1ピーク位置及び第2ピーク位置に基づいて決定されてよい。例えば、第1ピーク位置と第2ピーク位置との間の位置の差が、第2ピッチラグを決定するために使用されてよい。
ブロック1810で、第3ピッチラグは、ブロック1808で決定された第2ピッチラグに基づいて決定される。いくつかの場合に、第2ピッチラグは、最適化されたファインピッチラグを見つけるために使用され得るピッチ候補近傍を定義するために使用されてよい。例えば、第2探索範囲は、第2ピッチラグに基づいて決定されてよい。いくつかの場合に、第3ピッチラグは、第3サンプリングレートで第2探索範囲内で決定されてよい。いくつかの場合に、第3サンプリングレートは、第2サンプリングレートよりも高い。この例では、第3サンプリングレートは24kHzであってよい。いくつかの場合に、第3ピッチラグは、第3サンプリングレートで第2探索範囲内で、正規化された相互相関アプローチを用いて決定されてよい。いくつかの場合に、第3ピッチラグは、入力オーディオ信号のピッチラグとして決定されてよい。
ブロック1812で、入力オーディオ信号のピッチゲインが所定の閾値を超えており、かつ、入力オーディオ信号のピッチラグの変化が少なくとも所定数のフレームについて所定の範囲内にあることが決定される。LTPは、ピッチゲインが高くかつ安定しており、つまり、高い周期性が少なくとも数フレームの間続く(1つのフレームだけでない)場合に、より有効であることができる。いくつかの場合に、安定したピッチラグも、PLCに対する悪影響を低減し得る。安定したピッチラグは、ピッチラグ値が少なくとも数フレームの間有意に変化せず、近い将来に安定したピッチをもたらすと思われることを意味する。
ブロック1814で、ピッチゲインは、入力オーディオ信号のピッチゲインが所定の閾値を超えていることと、第3ピッチラグの変化が少なくとも所定数の前のフレームについて所定の範囲内にあることとを決定することに応答して、入力オーディオ信号の現在のフレームについてセットされる。そのようなものとして、ピッチゲインは、PLCに影響を及ぼさずに信号品質を改善するよう、大いに周期的かつ安定したフレームについてセットされる。
いくつかの場合に、入力オーディオ信号のピッチゲインが所定の閾値よりも低いこと及び/又は第3ピッチラグの変化が少なくとも所定数の前のフレームについて所定の範囲内にあることを決定することに応答して、ピッチゲインは、入力オーディオ信号の現在のフレームについてゼロにセットされる。そのようなものとして、エラー伝播は低減され得る。
述べられているように、あらゆる残差サンプルが高分解能オーディオコーデックについて量子化される。これは、残差サンプル量子化の計算複雑性及びコーディングビットレートが、フレームサイズが10msから2msに変化するときに有意に変化し得ないことを意味する。しかし、LPCのようないくつかのコーデックパラメータの計算複雑性及びコーディングビットレートは、フレームサイズが10msから2msに変化するときに劇的に増大することがある。通常、LPCパラメータは、フレームごとに量子化及び伝送される必要がある。いくつかの場合に、現在のフレームと前のフレームとの間のLPC差分コーディングは、ビットを節約し得るが、それはまた、ビットストリームパケットが伝送チャネルで失われるときにエラー伝播を引き起こす可能性もある。従って、短いフレームサイズが、低遅延コーデックを達成するためにセットされてよい。いくつかの場合に、フレームサイズが2msといった短さである場合に、LPCパラメータのコーディングビットレートは、非常に高くなり、計算複雑性も、フレーム時間存続期間がビットレート又は複雑性の分母にあるため、高くなる。
一例では、図12に示される時間領域エネルギエンベロープ量子化を参照して、サブフレームサイズが2msである場合に、10msフレームは5つのサブフレームを含むはずである。普通は、各サブフレームは、量子化される必要があるエネルギレベルを有している。1つのフレームが5のサブフレームを含むということで、5つのサブフレームのエネルギレベルは一緒に量子化されてもよく、それにより、時間領域エネルギエンベロープのコーディングビットレートは制限される。いくつかの場合に、フレームサイズがサブフレームサイズに等しい、すなわち、1つのフレームが1つのサブフレームを含むとき、コーディングビットレートは、各エネルギレベルが独立して量子化される場合に有意に増大する可能性がある。これらの場合に、連続したフレームの間のエネルギレベルの差分コーディングは、コーディングビットレートを低減し得る。しかし、このようなアプローチは、ビットストリームパケットが伝送チャネルで失われるときにエラー伝播を引き起こす可能性があるということで次善となることがある。
いくつかの場合に、LPCパラメータのベクトル量子化は、より低いビットレートをもたらし得る。なお、それは、より多くの計算負荷を要する可能性がある。LPCパラメータの単純なスカラー量子化は、複雑性がより低いが、より高いビットレートを必要とすることがある。いくつかの場合に、ハフマンコーディングから利益を得る空間スカラー量子化が使用されてもよい。しかし、この方法は、非常に短いフレームサイズ又は非常に低い遅延コーディングにとって十分でないことがある。LPCパラメータの量子化の新しい方法が、図19~20を参照して以下で説明される。
ブロック1902で、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差が決定される。図20を参照すると、スペクトログラム2002は、オーディオ信号の時間周波数プロットを示す。スペクトログラム2004は、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を示す。スペクトログラム2006は、オーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を示す。スペクトログラム2008は、1により、現在のフレームが量子化されたLPCパラメータを前のフレームからコピーすることを示し、0により、現在のフレームがLPCパラメータを再び量子化/送信することを示すところのコピー決定を示す。この例では、差分スペクトル傾斜及びエネルギ差の両方の絶対値がほとんどの時間中に比較的に非常に小さく、それらは、最後に(右側で)比較的に大きくなる。
ブロック1904で、オーディオ信号の安定性が検出される。いくつかの場合に、オーディオ信号のスペクトル安定性は、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜および/又はエネルギ差に基づいて決定されてよい。いくつかの場合に、オーディオ信号のスペクトル安定性は、オーディオ信号の周波数に基づいて更に決定されてもよい。いくつかの場合に、差分スペクトル傾斜の絶対値は、オーディオ信号のスペクトル(例えば、スペクトログラム2004)に基づいて決定されてよい。いくつかの場合に、オーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対も、オーディオ信号のスペクトル(例えば、スペクトログラム2006)に基づいて決定されてよい。いくつかの場合に、差分スペクトル傾斜の絶対値の変化及び/又はエネルギ差の絶対値の変化が少なくとも所定数のフレームについて所定の範囲内にあることが決定される場合に、オーディオ信号のスペクトル安定性は、検出されることが決定されてよい。
ブロック1906で、前のフレームについての量子化されたLPCパラメータは、オーディオ信号のスペクトル安定性を検出することに応答して、オーディオ信号の現在のフレームにコピーされる。いくつかの場合に、オーディオ信号のスペクトルが非常に安定しており、それが1つのフレームから次のフレームまで有意味に変化しない場合に、現在のフレームについての現在のLPCパラメータはコーディング/量子化されなくてもよい。代わりに、前の量子化されたLPCパラメータが、その量子化されたLPCパラメータが前のフレームから現在のフレームまでほぼ同じ情報を保つので、現在のフレームにコピーされてよい。そのような場合に、ほんの1ビットが、量子化されたLPCパラメータが前のフレームからコピーされることをデコーダに伝えるために送信されてよく、その結果、現在のフレームについて非常に低いビットレート及び非常に低い複雑性が得られる。
オーディオ信号のスペクトル安定性が検出されない場合に、LPCパラメータは、再び量子化されコーディングされることを強いられてよい。いくつかの場合に、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値の変化が少なくとも所定数のフレームについて所定の範囲内になかったと決定される場合に、オーディオ信号のスペクトル安定性は検出されないと決定されてよい。いくつかの場合に、エネルギ差の絶対値の変化が少なくとも所定数のフレームについて所定の範囲内になかったと決定される場合に、オーディオ信号のスペクトル安定性は検出されないと決定されてよい。
ブロック1908で、量子化されたLPCパラメータは、現在のフレームより前の少なくとも所定数のフレームに対してコピーされていることが決定される。いくつかの場合に、量子化されたLPCパラメータが数フレームの間コピーされている場合に、LPCパラメータは、再び量子化されコーディングされること強いられてよい。
ブロック1910で、量子化されたLPCパラメータが少なくとも所定数のフレームに対してコピーされているとの決定に応答して、現在のフレームについてのLPCパラメータに対して量子化が実行される。いくつかの場合に、量子化されたLPCパラメータをコピーする連続したフレームの数は、ビットストリームパケットが伝送チャネルで失われるときにエラー伝播を回避するために、制限される。
いくつかの場合に、LPCコピー決定(スペクトログラム1008に図示あり)は、時間領域エネルギエンベロープを量子化することを助け得る。いくつかの場合に、コピー決定が1であるとき、現在のフレームと前のフレームとの間の差分エネルギレベルは、ビットを節約するようコーディングされてよい。いくつかの場合に、コピー決定が0であるとき、エネルギレベルの直接量子化が、ビットストリームパケットが伝送で失われるときにエラー伝播を回避するよう、実行されてよい。
図21は、実施に従って、本開示で記載される電子デバイス2100の構造例を表す図である。電子デバイス2100は、1つ以上のプロセッサ2102、メモリ2104、符号化回路2106、及び復号化回路2108を含む。いくつかの実施で、電子デバイス2100は、本開示で記載されるステップのいずれか1つ又は組み合わせを実行する1つ以上の回路を更に含むことができる。
主題の記載されている実施は、1つ以上の特徴を単独で又は組み合わせて含むことができる。
第1の実施で、線形予測コーディング(LPC)を実行する方法は、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つを決定することと、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性を検出することと、オーディオ信号のスペクトル安定性を検出することに応答して、前のフレームについての量子化されたLPCパラメータをオーディオ信号の現在のフレームにコピーすることとを含む。
上記及び他の記載されている実施は、夫々が任意に、次の特徴の1つ以上を含むことができる。
下記の特徴のいずれかと組み合わせ可能な第1の特徴では、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性を検出することは、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を決定することと、オーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を決定することと、差分スペクトル傾斜の絶対値の変化及びエネルギ差の絶対値の変化のうちの少なくとも1つが少なくとも所定数のフレームについて所定の範囲に入っているとの決定に応答して、オーディオ信号のスペクトル安定性が検出されることを決定することとを含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第2の特徴で、方法は、オーディオ信号の現在のフレームと前記前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性が検出されないことを決定することと、オーディオ信号のスペクトル安定性が検出されないとの決定に応答して、現在のフレームについての量子化されたLPCパラメータを生成するよう現在のフレームについてのLPCパラメータに対して量子化を実行することとを更に含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第2の特徴で、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性が検出されないことを決定することは、次の:オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を決定し、差分スペクトル傾斜の絶対値の変化が少なくとも所定数のフレームについて所定の範囲に入っていないことを決定すること、又はオーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を決定し、エネルギ差の絶対値の変化が少なくとも所定数のフレームについて所定の範囲に入っていないことを決定すること、のうちの少なくとも1つを含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第4の特徴で、方法は、量子化されたLPCパラメータが現在のフレームより前の少なくとも所定数のフレームについてコピーされていることを決定することと、量子化されたLPCパラメータが現在のフレームより前の少なくとも所定数のフレームについてコピーされているとの決定に応答して、現在のフレームについての量子化されたLPCパラメータを生成するよう現在のフレームについてのLPCパラメータに対して量子化を実行することとを更に含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第5の特徴で、方法は、量子化されたLPCパラメータが前のフレームからコピーされることを示すビットをデコーダへ送信することを更に含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第6の特徴で、方法は、オーディオ信号のスペクトル安定性を検出することに応答して、量子化された差分エネルギレベルを生成するよう現在のフレームと前のフレームとの間の差分エネルギレベルに対して量子化を実行することと、スペクトル安定性が検出されないとの決定に応答して、現在のフレームの量子化されたエネルギレベルを生成するよう現在のフレームのエネルギレベルに対して量子化を実行することとを更に含む。
第2の実施で、電子デバイスは、命令を有する非一時的なメモリストレージと、メモリストレージと通信する1つ以上のハードウェアプロセッサとを含み、1つ以上のハードウェアプロセッサは、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つを決定し、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性を検出し、オーディオ信号のスペクトル安定性を検出することに応答して、前のフレームについての量子化されたLPCパラメータをオーディオ信号の現在のフレームにコピーするよう命令を実行する。
上記及び他の記載されている実施は、夫々が任意に、次の特徴の1つ以上を含むことができる。
下記の特徴のいずれかと組み合わせ可能な第1の特徴で、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性を検出することは、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を決定することと、オーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を決定することと、差分スペクトル傾斜の絶対値の変化及びエネルギ差の絶対値の変化のうちの少なくとも1つが少なくとも所定数のフレームについて所定の範囲に入っているとの決定に応答して、オーディオ信号のスペクトル安定性が検出されることを決定することとを含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第2の特徴で、1つ以上のハードウェアプロセッサは更に、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性が検出されないことを決定し、オーディオ信号のスペクトル安定性が検出されないとの決定に応答して、現在のフレームについての量子化されたLPCパラメータを生成するよう現在のフレームについてのLPCパラメータに対して量子化を実行するよう命令を実行する。
上記又は下記の特徴のいずれかと組み合わせ可能な第3の特徴で、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性が検出されないことを決定することは、次の:オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を決定し、差分スペクトル傾斜の絶対値の変化が少なくとも所定数のフレームについて所定の範囲に入っていないことを決定すること、又はオーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を決定し、エネルギ差の絶対値の変化が少なくとも所定数のフレームについて所定の範囲に入っていないことを決定すること、のうちの少なくとも1つを含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第4の特徴で、1つ以上のハードウェアプロセッサは更に、量子化されたLPCパラメータが現在のフレームより前の少なくとも所定数のフレームについてコピーされていることを決定し、量子化されたLPCパラメータが現在のフレームより前の少なくとも所定数のフレームについてコピーされているとの決定に応答して、現在のフレームについての量子化されたLPCパラメータを生成するよう現在のフレームについてのLPCパラメータに対して量子化を実行するよう命令を実行する。
上記又は下記の特徴のいずれかと組み合わせ可能な第5の特徴で、1つ以上のハードウェアプロセッサは更に、量子化されたLPCパラメータが前のフレームからコピーされることを示すビットをデコーダへ送信するよう命令を実行する。
上記又は下記の特徴のいずれかと組み合わせ可能な第6の特徴で、1つ以上のハードウェアプロセッサは更に、オーディオ信号のスペクトル安定性を検出することに応答して、量子化された差分エネルギレベルを生成するよう現在のフレームと前のフレームとの間の差分エネルギレベルに対して量子化を実行し、スペクトル安定性が検出されないとの決定に応答して、現在のフレームの量子化されたエネルギレベルを生成するよう現在のフレームのエネルギレベルに対して量子化を実行するよう命令を実行する。
第3の実施で、非一時的なコンピュータ可読媒体は、LPCを実行するためコンピュータ命令を記憶しており、コンピュータ命令は、1つ以上のハードウェアプロセッサによって実行される場合に、1つ以上のハードウェアプロセッサに、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つを決定することと、オーディオ信号の前記現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性を検出することと、オーディオ信号のスペクトル安定性を検出することに応答して、前のフレームについての量子化されたLPCパラメータをオーディオ信号の現在のフレームにコピーすることとを含む動作を実行させる。
上記及び他の記載されている実施は、夫々が任意に、次の特徴の1つ以上を含むことができる。
下記の特徴のいずれかと組み合わせ可能な第1の特徴で、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性を検出することは、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を決定することと、オーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を決定することと、差分スペクトル傾斜の絶対値の変化及びエネルギ差の絶対値の変化のうちの少なくとも1つが少なくとも所定数のフレームについて所定の範囲に入っているとの決定に応答して、オーディオ信号のスペクトル安定性が検出されることを決定することとを含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第2の特徴で、動作は、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性が検出されないことを決定することと、オーディオ信号のスペクトル安定性が検出されないとの決定に応答して、現在のフレームについての量子化されたLPCパラメータを生成するよう現在のフレームについてのLPCパラメータに対して量子化を実行することとを更に含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第3の特徴で、オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜及びエネルギ差のうちの少なくとも1つに基づいてオーディオ信号のスペクトル安定性が検出されないことを決定することは、次の:オーディオ信号の現在のフレームと前のフレームとの間の差分スペクトル傾斜の絶対値を決定し、差分スペクトル傾斜の絶対値の変化が少なくとも所定数のフレームについて所定の範囲に入っていないことを決定すること、又はオーディオ信号の現在のフレームと前のフレームとの間のエネルギ差の絶対値を決定し、エネルギ差の絶対値の変化が少なくとも所定数のフレームについて所定の範囲に入っていないことを決定すること、 のうちの少なくとも1つを含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第4の特徴で、動作は、量子化されたLPCパラメータが現在のフレームより前の少なくとも所定数のフレームについてコピーされていることを決定することと、量子化されたLPCパラメータが現在のフレームより前の少なくとも所定数のフレームについてコピーされているとの決定に応答して、現在のフレームについての量子化されたLPCパラメータを生成するよう現在のフレームについてのLPCパラメータに対して量子化を実行することとを更に含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第5の特徴で、動作は、量子化されたLPCパラメータが前のフレームからコピーされることを示すビットをデコーダへ送信することを更に含む。
上記又は下記の特徴のいずれかと組み合わせ可能な第6の特徴で、動作は、オーディオ信号のスペクトル安定性を検出することに応答して、量子化された差分エネルギレベルを生成するよう現在のフレームと前のフレームとの間の差分エネルギレベルに対して量子化を実行することと、スペクトル安定性が検出されないとの決定に応答して、現在のフレームの量子化されたエネルギレベルを生成するよう現在のフレームのエネルギレベルに対して量子化を実行することとを更に含む。
本開示ではいくつかの実施形態が適用されてきたが、開示されているシステム及び方法は、本開示の精神又は範囲から逸脱せずに、多数の他の具体的な形態で具現されてもよいことが理解され得る。本例は、実例として見なされるべきであり、限定として見なされるべきではなく、意図は、ここで与えられている詳細に限定されない。例えば、様々な要素又はコンポーネントは、他のシステムでは結合又は一体化されてよく、あるいは、特定の特徴は、省略されるか又は実施されなくてもよい。
更に、様々な実施形態で個別的又は別々なものとして記載又は例示されている技術、システム、サブシステム及び方法は、本開示の範囲から逸脱せずに他のシステム、コンポーネント、技術、又は方法と結合又は一体化されてもよい。変更、置換、又は代替の他の例は、当業者によって確かめられ、ここで開示されている精神及び範囲から逸脱せずに行われてよい。
本発明の実施形態及び本明細書で記載されている機能的な動作の全ては、デジタル電子回路で、あるいは、本明細書で開示されている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、又はハードウェアで、あるいは、それらの1つ以上の組み合わせで実装されてよい。本発明の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はその動作を制御するためにコンピュータ可読媒体上に符号化されているコンピュータプログラム命令の1つ以上のモジュール、として実装されてもよい。コンピュータ可読媒体は、非一時的なコンピュータ可読記憶媒体、マシン読み出し可能な記憶デバイス、マシン読み出し可能な記憶担体、メモリデバイス、機械読み出し可能な伝搬信号を実現する合成物、又はそれらの1つ以上の組み合わせであってよい。「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理する全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコード、を含んでもよい。伝搬信号は、人工的に生成された信号、例えば、適切な受信装置への伝送のために情報を符号化するよう生成される、マシンにより生成された電気的、光学的、又電磁気的な信号、である。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコード)は、コンパイル済み又は解釈済み言語を含む如何なる形式のプログラミング言語でも記述されてよく、それは、スタンドアロンプログラムとして、あるいは、モジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適した他のユニットとしてを含む、如何なる形でもデプロイされてよい。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、他のプログラム又はデータを保持するファイルの部分(例えば、マークアップ言語ドキュメントで記憶されている1つ以上のスクリプト)において、問題となっているプログラムに専用の単一のファイルにおいて、あるいは、複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を記憶するファイル)において記憶されてもよい。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所に分布して、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようデプロイされてもよい。
本明細書で記載されるプロセス及び論理フローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行されてよい。プロセス及び論理フローはまた、特別の論理回路、例えば、FPGA(field programmable gate array)又はASIC(application specific integrated circuit)によって実行されてもよく、装置は、そのようなものとして実装されてよい。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の両方のマイクロプロセッサと、あらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリ若しくはランダムアクセスメモリ又は両方から命令及びデータを受け取る。コンピュータの必須の要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクも含み、あるいは、それらからデータを受け取り又はそれらへデータを転送するよう動作可能に結合される。更に、コンピュータは、他のデバイス、例えば、2~3例を挙げると、タブレットコンピュータ、携帯電話機、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレイヤー、グローバルポジショニングシステム(GPS)レシーバに組み込まれてもよい。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにCD-ROM及びDVD-ROMディスクを含む全ての形式の不揮発性メモリ、媒体、及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって捕足されても、あるいは、それに組み込まれてもよい。
ユーザとのインタラクションを提供するために、本発明の実施形態は、情報をユーザに表示するディスプレイデバイス、例えば、CRT(cathode ray tube)又はLCD(liquid crystal display)モニタと、ユーザが入力をコンピュータに供給し得るキーボード及び指示デバイス、例えば、マウス又はトラックボールとを備えるコンピュータで実装されてよい。他の種類のデバイスが、同様にユーザとのインタラクションを提供するために使用されてもよく、例えば、ユーザへ供給されるフィードバックは、如何なる形のセンサフィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック、であってもよく、ユーザからの入力は、音響、スピーチ、又は触覚入力を含む如何なる形でも受け取られてよい。
本発明の実施形態は、バックエンドコンポーネントを、例えば、データサーバとして、含むか、又はミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、又はフロントエンドコンポーネント、例えば、ユーザが本発明の実施と相互作用し得るグラフィカルユーザインターフェース若しくはウェブブラウザを備えるクライアントコンピュータを含むか、あるいは、1つ以上のそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実装されてよい。システムのコンポーネントは、如何なる形又は媒体のデジタルデータ通信、例えば、通信ネットワーク、によっても相互接続されてよい。通信ネットワークの例は、ローカルエリアネットワーク(“LAN”)及びワイドエリアネットワーク(“WAWN”)、例えば、インターネットを含む。
コンピューティングシステムは、クライアント及びサーバを含んでよい。クライアント及びサーバは、一般的に、互いから遠隔にあり、通常は、通信ネットワークを通じて相互作用する。クライアント及びサーバの関係は、各々のコンピュータで実行され、互いにクライアント-サーバ関係を有しているコンピュータプログラムのおかげで生じる。
2、3の実施が上記で作用しに説明されてきたが、他の変更が可能である。例えば、クライアントアプリケーションは、デリゲートにアクセスするものとして記載され、一方、他の実施では、デリゲートは、1つ以上のサーバで実行されるアプリケーションのような、1つ以上のプロセッサによって実装される他のアプリケーションによって、用いられてもよい。更に、図に表されている論理フローは、所望の結果を達成するために、示されている特定の順序、又は順次的順序を必要としない。更に、他の動作が適用されてもよく、あるいは、動作は、記載されているフローから削除されてもよく、他のコンポーネントが、記載されているシステムに加えられても、又はそれから除かれてもよい。従って、他の実施は、続く特許請求の範囲の範囲内にある。
本明細書は、多数の具体的な実施詳細を含み、一方で、これらは、いずれかの発明の又は請求されているものの範囲に対する限定と解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で記載される特定の特徴はまた、単一の実施形態において組み合わせて実装可能である。対照的に、単一の実施形態に関連して記載される様々な特徴はまた、複数の実施形態で別々に又は如何なる適切なサブコンビネーションでも実装可能である。更に、特徴は、特定の組み合わせで動作するものとして上述され、更には最初にそのようなものとして請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除されることがあり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形を対象とし得る。
同様に、操作は、特定の順序で図面に表されている一方で、これは、所望の結果を達成するために、そのような操作が、示されている特定の順序で又は順次的順序で実行されるべきであること、あるいは、説明された全ての操作が実行されるべきであることを必要とすると理解されるべきではない。特定の条件で、マルチタスク及び並列処理が有利であり得る。更に、上記の実施形態における様々なシステムモジュール及びコンポーネントの分離は、全ての実施形態でそのような分離を必要とすると理解されるべきではなく、記載されているプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品で一体化されるか、又は複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
対象の特定の実施形態が記載されてきた。他の実施形態は、続く特許請求の範囲の範囲内にある。例えば、特許請求の範囲で挙げられている動作は、異なる順序で実行され、依然として所望の結果を達成可能である。一例として、添付の図に表されているプロセスは、所望の結果を達成するために、必ずしも、示されている特定の順序又は順次的順序を必要としない。特定の実施において、マルチタスク及び並列処理が有利であり得る。