(57)【要約】【課題】  ビデオゲームの実行前に符号化されたデジタル音声信号のミキシングを利用した双方向ビデオゲームシステムを提供する。【解決手段】  音声を符号化する方法および関連するシステムが開示される。当該方法において、複数の独立音声信号を表現するデータがアクセスされる。各音声信号を表現するデータは、ソースフレームのシーケンスを含む。ソースフレームシーケンスの各フレームは、複数の音声データコピーを含む。各音声データコピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である、関連品質レベルを有する。複数のソースフレームシーケンスは、複数のターゲットチャネルを含むターゲットフレームシーケンスにマージされる。対応ソースフレームを各ターゲットフレームにマージすることは、品質レベルを選択することと、各対応ソースフレームの選択された品質レベルにおける音声データコピーを少なくとも一つのターゲットチャネルに割り当てることとを含む。【選択図】  図１
2010515938.tif 000002
【特許請求の範囲】
【請求項１】
音声を符号化する方法であって、
複数の独立ソースから音声データを受信することと、
前記独立ソースの各々からの前記音声データをソースフレームのシーケンスに符合化して、複数のソースフレームシーケンスを作成することと、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージすることであって、前記ターゲットフレームは、複数の独立ターゲットチャネルを含み、前記ソースフレームシーケンスの各々は前記複数の独立ターゲットチャネルのうちの１つ以上のターゲットチャネルに一意的に割り当てられることと、を含む方法であって、
前記音声の符号化は、前記ソースフレームシーケンスのフレームに対して、前記フレームの複数のコピーを生成し、前記コピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である、方法。
【請求項２】
指令を受信することと、
前記ターゲットフレームシーケンスを伝送することと、をさらに含む、請求項１に記載の方法。
【請求項３】
前記独立ソースの各々からの前記音声データは、パルス符号変調ビットストリームである、請求項１に記載の方法。
【請求項４】
前記パルス符号変調ビットストリームは、ＷＡＶ、Ｗ６４、ＡＵ、またはＡＩＦＦファイルである、請求項３に記載の方法。
【請求項５】
前記音声の符号化は、
前記各々のコピーに関して、ビット割付けプロセスを実行することと、
前記ビット割付けプロセスが１つ以上の不完全な小数仮数グループを生成する場合、前記ビット割付けプロセスの結果を修正して、前記不完全な小数仮数グループの各々を満たすまたは空にすることと、をさらに含む、請求項１に記載の方法。
【請求項６】
前記ビット割付けプロセスの結果は、デルタビット割付けを実行することによって修正される、請求項５に記載の方法。
【請求項７】
前記実行されたデルタビット割付けは、バックトラッキングアルゴリズムによって決定される、請求項６に記載の方法。
【請求項８】
前記各々のコピーに関して、前記各々の不完全な小数仮数グループを満たすまたは空にすることができない場合、前記各々のコピーは前記フレームに含まれない、請求項５に記載の方法。
【請求項９】
前記複数のソースフレームシーケンスを前記ターゲットフレームシーケンスにマージすることは、
ソースフレームに対する信号対雑音比を選択することと、
前記選択された信号対雑音比を有する前記コピーを前記ターゲットフレームシーケンスのターゲットフレームにマージすることと、を含む、請求項５に記載の方法。
【請求項１０】
前記信号対雑音比は、前記ターゲットフレームシーケンスに対する定ビットレートを維持するように選択される、請求項９に記載の方法。
【請求項１１】
前記関連品質レベルは、指定の信号対雑音比に対応する、請求項１に記載の方法。
【請求項１２】
前記ターゲットフレームは、ＡＣ−３形式である、請求項１に記載の方法。
【請求項１３】
音声を符号化するシステムであって、
メモリと、
１つ以上のプロセッサと、
前記メモリに格納され、かつ前記１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムであって、
複数の独立ソースから音声データを受信する命令と、
前記独立ソースの各々からの前記音声データをソースフレームのシーケンスに符合化して、複数のソースフレームシーケンスを作成する命令であって、前記音声データを符号化する当該命令は、前記ソースフレームシーケンスのフレームの複数のコピーを生成する命令を含み、前記コピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である命令と、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする命令であって、前記ターゲットフレームは、複数の独立ターゲットチャネルを含み、前記ソースフレームシーケンスの各々は、前記複数の独立ターゲットチャネルのうちの１つ以上のターゲットチャネルに一意的に割り当てられる命令と、を有するプログラムと、を備える、システム。
【請求項１４】
音声符号化と連動して使用されるコンピュータプログラム製品であって、
コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構であって、
複数の独立ソースから音声データを受信する命令と、
前記独立ソースの各々からの前記音声データをソースフレームのシーケンスに符合化して、複数のソースフレームシーケンスを作成する命令であって、前記音声データを符号化する当該命令は、前記ソースフレームシーケンスのフレームの複数のコピーを生成する命令を含み、前記コピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である命令と、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする命令であって、前記ターゲットフレームは、複数の独立ターゲットチャネルを含み、前記ソースフレームシーケンスの各々は、前記複数の独立ターゲットチャネルのうちの１つ以上のターゲットチャネルに一意的に割り当てられる命令と、を含むコンピュータプログラム機構と、を備える、コンピュータプログラム製品。
【請求項１５】
音声を符号化するシステムであって、
複数の独立ソースから音声データを受信する手段と、
前記独立ソースの各々からの前記音声データをソースフレームシーケンスに符合化して、複数のソースフレームシーケンスを作成する手段であって、当該手段は、前記ソースフレームシーケンスのフレームの複数のコピーを生成する手段を含み、前記コピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である、前記音声データを符号化する手段と、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする手段であって、前記ターゲットフレームは、複数の独立ターゲットチャネルを含み、前記ソースフレームシーケンスの各々は、前記複数の独立ターゲットチャネルのうちの１つ以上のターゲットチャネルに一意的に割り当てられる手段と、を備える、システム。
【請求項１６】
音声を符号化する方法であって、
前記複数の独立音声信号を表現するデータにアクセスすることであって、当該データは、ソースフレームシーケンスを含む前記音声信号の各々を表現し、前記ソースフレームシーケンスの各々のフレームは、複数の音声データコピーを含み、当該音声データコピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素であることと、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージすることであって、前記ターゲットフレームは、複数のターゲットチャネルを含み、前記マージすることは、前記ターゲットフレームの各々および対応ソースフレームに対して、品質レベルを選択し、かつ前記対応ソースフレームの各々の前記選択された品質レベルの前記音声データコピーを少なくとも１つのターゲットチャネルに割り当てることを含むことと、を含む、方法。
【請求項１７】
前記音声データコピーの各々は、１つ以上の小数仮数グループを含み、当該小数仮数グループの各々は、完全である、請求項１６に記載の方法。
【請求項１８】
前記アクセスされたソースフレームシーケンスのうちの第１シーケンスは、非サイレント音声データの連続ソースを含み、前記アクセスされたソースフレームシーケンスのうちの第２シーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データのエピソードソースを含む、請求項１６に記載の方法。
【請求項１９】
前記アクセスされたソースフレームシーケンスのうちの第１シーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データの第１エピソードソースを含み、前記アクセスされたソースフレームシーケンスのうちの第２シーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データの第２エピソードソースを含む、請求項１６に記載の方法。
【請求項２０】
前記アクセスされたソースフレームシーケンスのうちの第１シーケンスは、非サイレント音声データの第１連続ソースを含み、前記アクセスされたソースフレームシーケンスのうちの第２シーケンスは、非サイレント音声データの第２連続ソースを含む、請求項１６に記載の方法。
【請求項２１】
音声を符号化するシステムであって、
メモリと、
１つ以上のプロセッサと、
前記メモリに格納され、かつ前記１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムであって、
複数の独立音声信号を表現するデータにアクセスする命令であって、当該データは、ソースフレームシーケンスを含む前記音声信号の各々を表現し、前記ソースフレームシーケンスの各々のフレームは、複数の音声データコピーを含み、当該音声データコピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である命令と、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする命令であって、前記ターゲットフレームは、複数のターゲットチャネルを含み、前記ターゲットフレームの各々および対応ソースフレームに対して、品質レベルを選択する命令と、前記対応ソースフレームの各々の前記選択された品質レベルの前記音声データコピーを少なくとも１つのターゲットチャネルに割り当てる命令とを含むマージする命令と、を含む１つ以上のプログラムと、を備える、システム。
【請求項２２】
音声符号化と連動して使用されるコンピュータプログラム製品であって、
コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構であって、
複数の独立音声信号を表現するデータにアクセスする命令であって、当該データは、ソースフレームシーケンスを含む前記音声信号の各々を表現し、前記ソースフレームシーケンスの各々のフレームは、複数の音声データコピーを含み、当該音声データコピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である命令と、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする命令であって、前記ターゲットフレームは、複数のターゲットチャネルを含み、前記ターゲットフレームの各々および対応ソースフレームに対して、品質レベルを選択する命令と、前記対応ソースフレームの各々の前記選択された品質レベルの前記音声データコピーを少なくとも１つのターゲットチャネルに割り当てる命令とを含むマージする命令と、を含む１つ以上のプログラムと、を備える、コンピュータプログラム製品。
【請求項２３】
音声を符号化するシステムであって、
複数の独立音声信号を表現するデータにアクセスする手段であって、当該データは、ソースフレームシーケンスを含む前記音声信号の各々を表現し、前記ソースフレームシーケンスの各々のフレームは、複数の音声データコピーを含み、当該音声データコピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素であることと、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする手段であって、前記ターゲットフレームは、複数のターゲットチャネルを含み、前記ターゲットフレームの各々および対応ソースフレームに対して、品質レベルを選択する手段と、前記対応ソースフレームの各々の前記選択された品質レベルの前記音声データコピーを少なくとも１つのターゲットチャネルに割り当てる手段と、を含むマージする手段と、を備える、システム。
【請求項２４】
スピーカシステムと連動して音声を再生する方法であって、
指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信することであって、前記チャネルの各々は、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応することと、
スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ前記２つ以上のダウンミックスされたチャネルと関連付けられた前記音声データを単一のスピーカで再生することと、
スピーカの数がチャネルの数と同じまたはより多い場合、前記各々のチャネルと関連付けられた前記音声データを対応スピーカで再生することと、を含む、方法。
【請求項２５】
前記受信された音声データは、ＡＣ−３形式である、請求項２４に記載の方法。
【請求項２６】
スピーカシステムと連動して音声を再生するシステムであって、
メモリと、
１つ以上のプロセッサと、
前記メモリに格納され、かつ前記１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムであって、
指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する命令であって、前記チャネルの各々は、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する命令と、
スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ前記２つ以上のダウンミックスされたチャネルと関連付けられた前記音声データを単一のスピーカで再生する命令と、
スピーカの数がチャネルの数と同じまたはより多い場合、前記各々のチャネルと関連付けられた前記音声データを対応スピーカで再生する命令と、を含む１つ以上のプログラムと、を備える、システム。
【請求項２７】
スピーカシステムでの音声再生と連動して使用されるコンピュータプログラム製品であって、
コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構であって、
指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する命令であって、前記チャネルの各々は、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する命令と、
スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ前記２つ以上のダウンミックスされたチャネルと関連付けられた前記音声データを単一のスピーカで再生する命令と、
スピーカの数がチャネルの数と同じまたはより多い場合、前記各々のチャネルと関連付けられた前記音声データを対応スピーカで再生する命令と、を含むコンピュータプログラム機構と、を備える、コンピュータプログラム製品。
【請求項２８】
スピーカシステムと連動して音声を再生するシステムであって、
指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する手段であって、前記チャネルの各々は、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する手段と、
スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ前記２つ以上のダウンミックスされたチャネルと関連付けられた前記音声データを単一のスピーカで再生する手段と、
スピーカの数がチャネルの数と同じまたはより多い場合、前記各々のチャネルと関連付けられた前記音声データを対応スピーカで再生する手段と、を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、双方向ビデオゲームシステムに関し、より具体的には、ビデオゲームの実行前に符号化されたデジタル音声信号のミキシングを利用した双方向ビデオゲームシステムに関する。
【背景技術】
【０００２】
ビデオゲームは、普及しているエンターテイメント形態である。特に、より多数のユーザが、インターネットとも呼ばれるワールドワイドウェブ（ＷＷＷ）などのネットワークを利用して互いに交流することができるようになるにつれて、２人以上が共通の模擬環境で同時にプレイするマルチプレーヤゲームは、ますます普及してきている。シングルプレイヤゲームも、ネットワーク化された環境で実行され得る。ネットワーク化された環境でビデオゲームを実施することは、音声再生に関する難題を提起する。
【０００３】
ネットワーク化された環境で実施されるいくつかのビデオゲームにおいては、一時的に背景音を交替させることによって過渡音効果を実施し得る。音楽などの背景音は、長時間にわたる複数のビデオフレーム中に存在し得る。過渡音効果は、１つ以上のビデオフレーム中に存在し得るが、背景音と比較して短い間隔時間にわたって存在し得る。音声ステッチング（stitching）として知られるプロセスを通じて、過渡音効果が使用可能であるときに背景音は再生されない。一般に、音声ステッチングは、オフラインで既に符号化された音声フレームのシーケンスを生成するプロセスである。音声ステッチングによって生成された音声フレームのシーケンスは、同一の内容の連続ストリームを必ずしも形成する必要はない。例えば、背景音を含むフレームのすぐ後に、効果音を含むフレームが続くことが可能である。過渡音効果から背景音に円滑に戻るために、移行の間、背景音は減衰されてよく、音量はいくつかのビデオフレームにわたってゆっくりと増大してよい。しかし、背景音の割込みは、依然としてユーザの目に留まる。
【０００４】
従って、背景音の割込みなく効果音が再生されるように、効果音と背景音の同時再生が可能となることが望ましい。効果音および背景音は、多重パルス符号変調（ＰＣＭ）ビットストリームに対応し得る。標準的な音声処理システムにおいて、多重ＰＣＭビットストリームは、ミックスされて、リアルタイムでＡＣ−３形式などの形式に符号化されてよい。しかし、計算能力への制限によって、この手法は、ネットワーク化された環境で複数のビデオゲームを実施する際に非現実的なものとなる。
【０００５】
従って、ＰＣＭビットストリームのリアルタイムミックスおよび結果として得られるビットストリームの圧縮音声へのリアルタイム符号化を実行せずに複数のソースからの音声データをマージするシステムおよび方法が必要とされている。
【発明の概要】
【０００６】
音声を符号化する方法が開示される。当該方法において、複数の独立音声信号を表現するデータがアクセスされる。各音声信号を表現するデータは、ソースフレームのシーケンスを含む。ソースフレームシーケンスの各フレームは、複数の音声データコピーを含む。各音声データコピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である、関連品質レベルを有する。複数のソースフレームシーケンスは、複数のターゲットチャネルを含むターゲットフレームシーケンスにマージされる。対応ソースフレームを各ターゲットフレームにマージすることは、品質レベルを選択することと、各対応ソースフレームの選択された品質レベルにおける音声データコピーを少なくとも一つのターゲットチャネルに割り当てることとを含む。
【０００７】
音声を符号化する方法の別の態様が開示される。当該方法において、音声データは、複数の独立ソースから受信される。各独立ソースからの音声データは、ソースフレームのシーケンスに符合化されて、複数のソースフレームシーケンスを作成する。複数のソースフレームシーケンスは、複数の独立ターゲットチャネルを含むターゲットフレームのシーケンスにマージされる。各ソースフレームシーケンスは、１つ以上のターゲットチャネルに一意的に割り当てられる。
【０００８】
スピーカシステムと連動して音声を再生する方法が開示される。当該方法において、指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データが受信され、各チャネルは、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する。スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルはダウンミックスされ、かつ関連付けられた音声データは単一のスピーカで再生される。スピーカの数がチャネルの数と同じまたはより多い場合、各チャネルと関連付けられた音声データは、対応スピーカで再生される。
【０００９】
音声を符号化するシステムが開示され、当該方法は、メモリと、１つ以上のプロセッサと、メモリに格納され、かつ１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムとを備える。１つ以上のプログラムは、複数の独立音声信号を表現するデータにアクセスする命令を含む。各音声信号を表現するデータは、ソースフレームシーケンスを含む。ソースフレームシーケンスの各フレームは、複数の音声データコピーを含む。各音声データコピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である関連品質レベルを有する。また、１つ以上のプログラムは、複数のソースフレームシーケンスを、複数のターゲットチャネルを含むターゲットフレームのシーケンスにマージする命令を含む。マージする命令は、各ターゲットフレームおよび複数の対応ソースフレームに対して、品質レベルを選択する命令と、各対応ソースフレームの選択された品質レベルの音声データコピーを少なくとも１つのターゲットチャネルに割り当てる命令とを含む。
【００１０】
音声を符号化するシステムの別の態様が開示され、当該システムは、メモリと、１つ以上のプロセッサと、メモリに格納され、かつ１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムとを備える。１つ以上のプログラムは、複数の独立ソースから音声データを受信する命令と、各独立ソースからの音声データをソースフレームのシーケンスに符合化して、複数のソースフレームシーケンスを作成する命令とを含む。また、１つ以上のプログラムは、複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする命令を含み、ターゲットフレームは、複数の独立ターゲットチャネルを含み、各ソースフレームシーケンスは、１つ以上のターゲットチャネルに一意的に割り当てられる。
【００１１】
スピーカシステムと連動して音声を再生するシステムが開示され、当該システムは、メモリと、１つ以上のプロセッサと、メモリに格納され、かつ１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムとを備える。１つ以上のプログラムは、指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する命令を含み、各チャネルは、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する。また、１つ以上のプログラムは、スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ２つ以上のダウンミックスされたチャネルと関連付けられた音声データを単一のスピーカで再生する命令を含む。さらに、１つ以上のプログラムは、スピーカの数がチャネルの数と同じまたはより多い場合、各チャネルと関連付けられた音声データを対応スピーカで再生する命令を含む。
【００１２】
音声符号化と連動して使用されるコンピュータプログラム製品が開示される。当該コンピュータプログラム製品は、コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構とを備える。コンピュータプログラム機構は、複数の独立音声信号を表現するデータにアクセスする命令を含む。各音声信号を表現するデータは、ソースフレームシーケンスを含む。ソースフレームシーケンスの各フレームは、複数の音声データコピーを含む。各音声データコピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である関連品質レベルを有する。コンピュータプログラム機構は、複数のソースフレームシーケンスを、複数のターゲットチャネルを含むターゲットフレームのシーケンスにマージする命令を含む。マージする命令は、各ターゲットフレームおよび複数の対応ソースフレームに対して、品質レベルを選択する命令と、各対応ソースフレームの選択された品質レベルの音声データコピーを少なくとも１つのターゲットチャネルに割り当てる命令とを含む。
【００１３】
音声符号化と連動して使用されるコンピュータプログラム製品の別の態様が開示される。当該コンピュータプログラム製品は、コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構とを備える。コンピュータプログラム機構は、複数の独立ソースから音声データを受信する命令と、各独立ソースからの音声データをソースフレームのシーケンスに符合化して、複数のソースフレームシーケンスを作成する命令とを含む。また、コンピュータプログラム機構は、複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする命令を含み、ターゲットフレームは、複数の独立ターゲットチャネルを含み、各ソースフレームシーケンスは、１つ以上のターゲットチャネルに一意的に割り当てられる。
【００１４】
スピーカシステムでの音声再生と連動して使用されるコンピュータプログラム製品が開示される。当該コンピュータプログラム製品は、コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構とを備える。コンピュータプログラム機構は、指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する命令を含み、各チャネルは、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する。また、コンピュータプログラム機構は、スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ２つ以上のダウンミックスされたチャネルと関連付けられた音声データを単一のスピーカで再生する命令を含む。さらに、コンピュータプログラム機構は、スピーカの数がチャネルの数と同じまたはより多い場合、各チャネルと関連付けられた音声データを対応スピーカで再生する命令を含む。
【００１５】
音声を符号化するシステムが開示される。当該システムは、複数の独立音声信号を表現するデータにアクセスする手段を備える。各音声信号を表現するデータは、ソースフレームシーケンスを含む。ソースフレームシーケンスの各フレームは、複数の音声データコピーを含む。各音声データコピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である関連品質レベルを有する。また、システムは、複数のソースフレームシーケンスを、複数のターゲットチャネルを含むターゲットフレームのシーケンスにマージする手段を備える。マージする手段は、各ターゲットフレームおよび複数の対応ソースフレームに対して、品質レベルを選択する手段と、各対応ソースフレームの選択された品質レベルの音声データコピーを少なくとも１つのターゲットチャネルに割り当てる。
【００１６】
音声を符号化するシステムの別の態様が開示される。当該システムは、複数の独立ソースから音声データを受信する手段と、各独立ソースからの音声データをソースフレームシーケンスに符合化して、複数のソースフレームシーケンスを作成する手段とを備える。また、システムは、複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする手段を備え、ターゲットフレームは、複数の独立ターゲットチャネルを含み、各ソースフレームシーケンスは、１つ以上のターゲットチャネルに一意的に割り当てられる。
【００１７】
スピーカシステムと連動して音声を再生するシステムが開示される。当該システムは、指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する手段を備え、各チャネルは、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する。また、システムは、スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ２つ以上のダウンミックスされたチャネルと関連付けられた音声データを単一のスピーカで再生する手段を備える。さらに、システムは、スピーカの数がチャネルの数と同じまたはより多い場合、各チャネルと関連付けられた音声データを対応スピーカで再生する手段を備える。
【図面の簡単な説明】
【００１８】
本発明をさらに理解するために、添付図面に関連する以下の詳細な説明を参照することが必要である。
【００１９】
【図１】図１は、ケーブルテレビジョンシステムの一実施形態を示すブロック図である。
【図２】図２は、ビデオゲームシステムの一実施形態を示すブロック図である。
【図３】図３は、セットトップボックスの一実施形態を示すブロック図である。
【図４】図４は、いくつかの実施形態における、音声を符号化するプロセスを示すフロー図である。
【図５】図５は、いくつかの実施形態における、音声を符号化するプロセスを示すフロー図である。
【図６】図６は、いくつかの実施形態における、音声を符号化し、および伝送するプロセスを示すフロー図である。
【図７】図７は、いくつかの実施形態における、音声を符号化するプロセスを示すブロック図である。
【図８】図８は、いくつかの実施形態における、音声フレームセットのブロック図である。
【図９】図９は、いくつかの実施形態における、音声を符号化し、伝送し、および再生するシステムを示すブロック図である。
【図１０】図１０Ａ〜図１０Ｃは、いくつかの実施形態における、ソースフレームのターゲットフレームチャネル割当てを示すブロック図である。
【図１１】図１１Ａおよび図１１Ｂは、いくつかの実施形態における、ＡＣ−３フレームのデータ構造を示すブロック図である。
【図１２】図１２は、いくつかの実施形態における、複数のソースフレームのＳＮＲ変数のターゲットフレームへの併合を示すブロック図である。
【図１３】図１３は、いくつかの実施形態における、ターゲットフレームのシーケンスを受信し、復号化し、および再生するプロセスを示すフロー図である。
【図１４】図１４の（Ａ）〜（Ｃ）は、いくつかの実施形態における、チャネル割当ておよびダウンミックスを示すブロック図である。
【図１５Ａ】図１５Ａは、いくつかの実施形態における、ビット割付けポインタテーブルを示す。
【図１５Ｂ】図１５Ｂは、いくつかの実施形態における、ビット割付けポインタテーブルを示す。
【図１５Ｃ】図１５Ｃは、いくつかの実施形態における、ビット割付けポインタテーブルを示す。
【図１５Ｄ】図１５Ｄは、いくつかの実施形態における、ビット割付けポインタテーブルを示す。
【図１５Ｅ】図１５Ｅは、いくつかの実施形態における、ビット割付けポインタテーブルを示す。
【００２０】
同じ参照符号は、図面を通して対応する部分を示す。
【発明を実施するための形態】
【００２１】
添付図面に示す実施形態および実施例について、以下に詳細に述べる。以下の詳細な説明において、本発明の完全な理解を与えるために多くの特定の詳細が述べられる。しかし、本発明はこれら特定の詳細がなくても実施できることが当業者には理解されよう。他の場合には、よく知られた方法、手順、要素、および回路は、実施形態の態様を不必要に曖昧にしないために詳細には記載されない。
【００２２】
図１は、（マルチユーザビデオゲームを含む）１つ以上のビデオゲームなどのコンテンツの注文を受けて１人以上のユーザに当該コンテンツを提供するケーブルテレビジョンシステム１００の一実施形態を示すブロック図である。いくつかのコンテンツデータストリームは、各サービス利用者に伝送されてよく、次に各サービス利用者は、ビデオゲーム内のサービスを注文したり、ユーザアクションを伝送し得る。アナログテレビジョン信号などの衛星信号は、衛星アンテナ１４４を使用して受信され得る。アナログ信号は、アナログヘッドエンド１４６で処理され、無線周波（ＲＦ）結合器１３４に結合され、ネットワーク１３６を介してセットトップボックス（ＳＴＢ）１４０に伝送され得る。加えて、信号は、衛星受信機１４８で処理され、マルチプレクサ（ＭＵＸ）１５０に結合され、直交振幅変調器（ＱＡＭ）１３２−２（２５６レベルのＱＡＭなど）を使用してデジタル形式に変換され、無線周波（ＲＦ）結合器１３４に結合され、ネットワーク１３６を介してＳＴＢ１４０に伝送され得る。ビデオオンデマンド（ＶＯＤ）サーバ１１８は、注文された動画に対応する信号をスイッチ１２６−２に提供し、当該スイッチは、信号をＱＡＭ１３２−１に結合してデジタル形式に変換し得る。これらのデジタル信号は、無線周波（ＲＦ）結合器１３４に結合され、ネットワーク１３６を介してＳＴＢ１４０に伝送される。
【００２３】
ＳＴＢ１４０は、後述のビデオゲームコンテンツに対応する信号を含む、１つ以上の映像信号を、テレビジョンまたは他のディスプレイデバイス１３８に表示してよく、後述のビデオゲームコンテンツに対応する信号を含む、１つ以上の音声信号を、スピーカ１３９で再生してよい。スピーカ１３９は、テレビジョン１３８に組み込まれてもよく、またはテレビジョン１３８と分かれていてもよい。図１は、１人のサービス利用者のＳＴＢ１４０、テレビジョンまたは他のディスプレイデバイス１３８、およびスピーカ１３９を示しているが、他の実施形態において、各々が１つ以上のＳＴＢ、１つ以上のテレビジョンまたは他のディスプレイデバイス、および／または１つ以上のスピーカを有する追加のサービス利用者が存在してよい。
【００２４】
ケーブルテレビジョンシステム１００は、アプリケーションサーバ１１４および複数のゲームサーバ１１６も含み得る。アプリケーションサーバ１１４および複数のゲームサーバ１１６は、ケーブルテレビジョンシステムヘッドエンドに位置し得る。アプリケーションサーバ１１４および複数のゲームサーバ１１６の単一のインスタンスまたはグループ化が図１に示されているが、他の実施形態は、１つ以上のヘッドエンドにおける追加のインスタンスを含んでよい。１つ以上のヘッドエンドでのサーバおよび／または他のコンピュータは、ウィンドウズ（登録商標）（Ｗｉｎｄｏｗｓ（登録商標））、リナックス（Ｌｉｎｕｘ）、ユニックス（Ｕｎｉｘ（登録商標））、またはソラリス（Ｓｏｌａｒｉｓ）などのオペレーティングシステムを実行し得る。
【００２５】
アプリケーションサーバ１１４およびゲームサーバ１１６のうちの１つ以上のゲームサーバは、１人以上のユーザが注文した１つ以上のビデオゲームに対応するビデオゲームコンテンツを提供し得る。ケーブルテレビジョンシステム１００において、複数のユーザとビデオゲームのうちの１つのビデオゲームのコピーとの間に多対１対応が存在し得る。アプリケーションサーバ１１４は、データベース内のゲーム関連情報にアクセスおよび／またはログ記録し得る。アプリケーションサーバ１１４は、レポーティングおよびプライシングに使用されてもよい。ゲームサーバ１１６内の１つ以上のゲームエンジン（ゲームエンジンモジュールとも呼ばれる）２４８（図２）は、前符号化（pre-encoded）された映像および／または音声データを使用してビデオゲームコンテンツを動的に生成するように設計される。例示的な実施形態において、ゲームサーバ１１６は、ＭＰＥＧ圧縮規格と互換性がある映像符号化を利用し、かつＡＣ−３圧縮規格と互換性がある音声符号化を利用する。
【００２６】
ビデオゲームコンテンツは、スイッチ１２６−２に結合されて、ＱＡＭ１３２−１でデジタル形式に変換される。２５６レベルのＱＡＭを用いる例示的な実施形態において、ナローキャスト・サブチャネル（約６ＭＨｚの帯域幅を有し、これは約３８Ｍｂｐｓのデジタルデータに対応する）は、１〜４Ｍｂｐｓを利用するビデオゲームの１０〜３０個のビデオゲームデータストリームを伝送するために使用され得る。
【００２７】
これらのデジタル信号は、無線周波（ＲＦ）結合器１３４に結合されて、ネットワーク１３６を介してＳＴＢ１４０に伝送される。アプリケーションサーバ１１４は、インターネット１１０を介して、継続的なプレイヤまたはマルチプレイヤサーバ１１２に格納されたデータベースのユーザデータにアクセスしてもよい。アプリケーションサーバ１１４および複数のゲームサーバ１１６は、図２を参照して以下でさらに説明する。
【００２８】
ＳＴＢ１４０は、１つ以上のユーザアクションに対応する情報を受信し、かつゲームサーバ１１６のうちの１つ以上のゲームサーバの情報を伝送する、ゲーム１４２などのクライアントアプリケーションを任意に含み得る。また、ゲームアプリケーション１４２は、テレビジョン１３８上の映像フレームの更新およびスピーカ１３９上の付随する音声フレームの再生の前に、ビデオゲームコンテンツを格納し得る。テレビジョン１３８は、ＮＴＳＣ形式、またはＰＡＬもしくはＳＥＣＡＭなどの別の形式と互換性があり得る。ＳＴＢ１４０は、図３を参照して以下でさらに説明する。
【００２９】
ケーブルテレビジョンシステム１００は、ＳＴＢ制御器１２０、運用支援システム１２２、および課金システム１２４も有し得る。ＳＴＢ制御器１２０は、リターンパルス振幅（ＰＡＭ）復調器１３０およびスイッチ１２６−１を用いて、帯域外（ＯＯＢ）サブチャネルを使用して受信される１つ以上のユーザアクション（各ビデオゲームと関連付けられたユーザアクション）を処理し得る。複数のＯＯＢサブチャネルが存在し得る。ＯＯＢサブチャネルの帯域幅は実施形態によって異なるが、一実施形態において、各ＯＯＢサブチャネルの帯域幅は、約１Ｍｂｐｓのビットレートまたはデータレートに対応する。運用支援システム１２２は、各ビデオゲームなどの各サービスに対するサービス利用者の注文を処理し、課金システム１２４を更新し得る。また、ＳＴＢ制御器１２０、運用支援システム１２２、および／または課金システム１２４は、スイッチ１２６−１および、信号をＯＯＢサブチャネルに適した形式に変換するＯＯＢモジュール１２８を介して、ＯＯＢサブチャネルを使用してサービス利用者と通信し得る。あるいは、運用支援システム１２２および／または課金システム１２４は、インターネット接続などの別の通信リンクや電話システムが提供する通信リンクを介してサービス利用者と通信し得る。
【００３０】
ケーブルテレビジョンシステム１００内で伝送および受信されるさまざまな信号は、パケットベースのデータストリームを使用して通信され得る。例示的な実施形態において、一部のパケットは、ユーザデータグラムプロトコル（ＵＤＰ）などのインターネットプロトコルを利用してよい。いくつかの実施形態において、ケーブルテレビジョンシステム１００におけるネットワーク１３６などのネットワークおよび構成要素間の結合は、無線エリアネットワーク、ローカルエリアネットワーク、伝送ライン（同軸ケーブルなど）、ランドラインおよび／または光ファイバのうちの１つ以上のインスタンスを含み得る。一部の信号は、基本電話サービス（ＰＯＴＳ）および／または総合デジタル通信網（ＩＳＤＮ）などのデジタル電話ネットワークを使用して通信され得る。無線通信は、高度携帯電話システム（ＡＭＰＳ）、移動通信用グローバルシステム（ＧＳＭ）、符号分割多元接続（ＣＤＭＡ）および／または時分割多元接続（ＴＤＭＡ）を使用する携帯電話ネットワーク、ならびにＷｉＦｉとしても知られるＩＥＥＥ８０２．１１通信プロトコル、および／またはブルートゥース（Ｂｌｕｅｔｏｏｔｈ）通信プロトコルを利用するネットワークを含み得る。
【００３１】
図１は、ケーブルテレビジョンシステムを示すが、説明される当該システムおよび方法は、衛星ベースのシステム、インターネット、電話システムおよび／または地上デジタル放送システムにおいて実施され得る。ケーブルテレビジョンシステム１００は、追加の要素を含んでよいし、および／または１つ以上の要素を削除してよい。加えて、２つ以上の要素は、単一の要素に合体されてよいし、および／またはケーブルテレビジョンシステム１００の１つ以上の要素の位置は、変更されてよい。いくつかの実施形態において、例えば、アプリケーションサーバ１１４およびその機能は、ゲームサーバ１１６と併合かつゲームサーバ１１６内に併合されてよい。
【００３２】
図２は、ビデオゲームシステム２００の一実施形態を示すブロック図である。ビデオゲームシステム２００は、少なくとも１つのデータプロセッサ、ビデオプロセッサおよび／または中央処理装置（ＣＰＵ）２１０、１つ以上の任意のユーザインタフェース２１４、他のコンピュータと通信する、通信またはネットワークインタフェース２２０、サーバおよび／または１つ以上のＳＴＢ（図１のＳＴＢ１４０など）、メモリ２２２、およびこれらの構成要素を互いに結合させる１つ以上の信号ライン２１２を含み得る。少なくとも１つのデータプロセッサ、ビデオプロセッサおよび／または中央処理装置（ＣＰＵ）２１０は、多重または並行処理を目的として構成され得る、または構成可能であり得る。ユーザインタフェース２１４は、１つ以上のキーボード２１６および／またはディスプレイ２１８を有し得る。１つ以上の信号ライン２１２は、１つ以上の通信バスを構成し得る。
【００３３】
メモリ２２２は、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、およびＥＥＰＲＯＭを含む高速ランダムアクセスメモリおよび／または不揮発性メモリ、１つ以上のフラッシュディスクドライブ、１つ以上の光ディスクドライブ、および／または１つ以上の磁気ディスク記憶装置を含み得る。メモリ２２２は、基本システムサービスを扱い、かつハードウェア依存タスクを実行する手順（または命令のセット）を含む、リナックス（Ｌｉｎｕｘ）、ユニックス（Ｕｎｉｘ（登録商標））、ウィンドウズ（登録商標）（Ｗｉｎｄｏｗｓ（登録商標））、またはソラリス（Ｓｏｌａｒｉｓ）などのオペレーティングシステム２２４を格納し得る。メモリ２２２は、ネットワーク通信モジュール２２６における通信手順（または命令のセット）も記憶し得る。通信手順は、ＳＴＢ１４０（図１）などの１つ以上のＳＴＢ、およびビデオゲームシステム２００内の他のサーバおよびコンピュータとの通信を行うために使用される。
【００３４】
メモリ２２２は、アプリケーションサーバモジュール２２８（または命令のセット）、ゲームアセット管理システムモジュール２３０（または命令のセット）、セッションリソース管理モジュール２３４（または命令のセット）、プレイヤ管理システムモジュール２３６（または命令のセット）、セッションゲートウェイモジュール２４２（または命令のセット）、マルチプレイヤサーバモジュール２４４（または命令のセット）、１つ以上のゲームサーバモジュール２４６（または命令のセット）、音声信号前符号器２６４（または命令のセット）、ならびにマクロブロックおよび前符号化音声信号を記憶するバンク２５６、といった構成要素、またはこれら構成要素のサブセットまたはスーパーセットも含み得る。ゲームアセット管理システムモジュール２３０は、前符号化マクロブロックと、前符号化音声信号と、１つ以上のビデオゲームに対応する実行可能コードとを含むゲームデータベース２３２も含み得る。プレイヤ管理システムモジュール２３６は、ユーザ名、アカウント情報、取引情報、ユーザのＳＴＢ１４０（図１）上のビデオゲームの表示をカストマイズする基本設定、実行されるビデオゲームの高得点、実行されるビデオゲームの順位付けおよび他の技能レベル情報、および／または、休止されて再開され得るビデオゲームの持続的な保存ゲーム状態などの情報を含むプレイヤ情報データベース２４０を含み得る。ゲームサーバモジュール２４６の各インスタンスは、１つ以上のゲームエンジンモジュール２４８を含み得る。ゲームエンジンモジュール２４８は、１つ以上のビデオゲームをプレイするユーザの１つ以上のセットに対応するゲーム状態２５０、シンセサイザモジュール２５２、１つ以上の圧縮エンジンモジュール２５４、および音声フレームマージャ２５５を含み得る。バンク２５６は、１つ以上のビデオゲームに対応する前符号化音声信号２５７、１つ以上のビデオゲームに対応する前符号化マクロブロック２５８、および／または１つ以上のビデオゲームに対応する動的生成または符号化マクロブロック２６０を含み得る。
【００３５】
ゲームサーバモジュール２４６は、ウィンドウズエクスプローラ（Ｗｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒ）、ネットスケープナビゲータ（Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏr）、またはモジラ（Ｍｏｚｉｌｌａ）のファイアフォックス（ＦｉｒｅＦｏｘ）などのブラウザアプリケーションを実行して、各ビデオゲームに対応する命令を実行し得る。しかし、ブラウザアプリケーションは、ゲームサーバモジュール２４６内のビデオゲームコンテンツをレンダリングしないように構成され得る。ビデオゲームコンテンツのレンダリングは不必要であり得る。というのは、コンテンツはゲームサーバによって表示されるのではなく、このようなレンダリングを避けることで、各ゲームサーバは、可能な数よりもずっと多くのゲーム状態を維持することが可能となるからである。ゲームサーバモジュール２４６は、１つ以上のプロセッサによって実行され得る。ビデオゲームは、複数のプロセッサによって並行して実行され得る。また、ゲームは、多重オペレーティングシステムの並列スレッド内で実施され得る。
【００３６】
図２は、多数の個別アイテムが構成するビデオゲームシステム２００を示しているが、図２は、本明細書で説明する実施形態の構造概略というよりも、ビデオゲームシステムに存在し得るさまざまな特徴の機能記述として意図されている。実際には、そして当業者によって認識されるように、ビデオゲームシステム２００の機能は、さまざまなサーバグループがそれらの機能の特定のサブセットを実行するように、多数のサーバまたはコンピュータに分散されてよい。図２に個別に示されるアイテムは組み合わされてよく、また、一部のアイテムは別々のアイテムであってよい。例えば、図２に個別に示されるアイテムの一部は、単一のサーバ上で実施されてよく、単一のアイテムは、１つ以上のサーバによって実施されてよい。ビデオゲームシステムのサーバの実際の数、ならびにゲームサーバモジュール２４６およびゲームエンジンモジュール２４８などの機能の割り当てられ方は、実施例によって変化し、かつ一部分において、システムが格納する情報量ならびに／もしくはピーク使用期間および平均使用期間中にシステムが処理しなければならないデータトラフィック量に左右される。いくつかの実施形態において、音声信号前符号器２６４は、ビデオゲームシステム２００とは別の、前符号化システムと呼ばれ得る個別のコンピュータシステム上で実施される。
【００３７】
さらに、メモリ２２２内の上記識別される要素の各々は、上述したメモリデバイスのうちの１つ以上のメモリデバイスに格納され得る。上記識別されるモジュールの各々は、上述の機能を実行する命令のセットに対応する。上記識別されるモジュールまたはプログラム（すなわち、命令のセット）は、個別のソフトウェアプログラム、手順、またはモジュールとして実施される必要はなく、従って、これらのモジュールのさまざまなサブセットは、組み合わされてよく、または、さまざまな実施形態に再構成されてよい。いくつかの実施形態において、メモリ２２２は、上記識別されるモジュールおよびデータ構造のサブセットを格納してよい。また、メモリ２２２は、上述されていない追加のモジュールおよびデータ構造を格納してよい。
【００３８】
図３は、ＳＴＢ１４０（図１）などのセットトップボックス（ＳＴＢ）３００の一実施形態を示すブロック図である。ＳＴＢ３００は、少なくとも１つのデータプロセッサ、ビデオプロセッサ、および／または中央処理装置（ＣＰＵ）３１０、他のコンピュータおよび／またはビデオゲームシステム２００（図２）などのサーバと通信する、通信またはネットワークインタフェース３１４、チューナ３１６、音声復号器３１８、スピーカ３２２に結合される音声ドライバ３２０、映像復号器３２４、およびディスプレイ３２８に結合される映像ドライバ３２６を含み得る。ＳＴＢ３００は、１つ以上のデバイスインタフェース３３０、１つ以上のＩＲインタフェース３３４、メモリ３４０、および構成要素と構成要素とを結合する１つ以上の信号ライン３１２も含み得る。少なくとも１つのデータプロセッサ、ビデオプロセッサ、および／または中央処理装置（ＣＰＵ）３１０は、多重または並行処理を目的として構成され得る、または構成可能であり得る。１つ以上の信号ライン３１２は、１つ以上の通信バスを構成し得る。１つ以上のデバイスインタフェース３３０は、１つ以上のゲームコントローラ３３２に結合され得る。１つ以上のＩＲインタフェース３３４は、ＩＲ信号を使用して１つ以上のリモート制御器３３６と無線で通信し得る。
【００３９】
メモリ３４０は、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、およびＥＥＰＲＯＭなどの高速ランダムアクセスメモリおよび／または不揮発性メモリ、１つ以上のフラッシュディスクドライブ、１つ以上の光ディスクドライブ、および／または１つ以上の磁気ディスク記憶装置を含みうる。メモリ３４０は、基本的なシステムサービスを処理し、かつハードウェア依存タスクを実行する手順（または命令のセット）を含むオペレーティングシステム３４２を格納し得る。オペレーティングシステム３４２は、リナックス（Ｌｉｎｕｘ）、ＯＳ９、もしくはウィンドウズ（登録商標）（Ｗｉｎｄｏｗｓ（登録商標））などの組込みオペレーティングシステム、またはウインドリバー・システムズ（Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓ，  Ｉｎｃ．）のブイエックスワークス（Ｖｘ  Ｗｏｒｋｓ）などの、産業または商業用デバイスでの使用に適切なリアルタイムオペレーティングシステムであり得る。メモリ３４０は、ネットワーク通信モジュール３４４における通信手順（または命令のセット）を記憶し得る。通信手順は、コンピュータおよび／またはビデオゲームシステム２００（図２）などのサーバと通信するために使用される。メモリ３４０は、音声ドライバプログラム３４８（または命令のセット）および映像ドライバプログラム３５０（または命令のセット）を含み得る制御プログラム３４６（または命令のセット）も含み得る。
【００４０】
ＳＴＢ３００は、注文情報およびユーザアクションに対応する情報を伝送し、ネットワーク１３６を介してビデオゲームコンテンツを受信する。受信された信号は、ネットワークインタフェース３１４を使用して処理されて、ビデオゲームコンテンツを含むデータストリームのヘッダおよび他の情報を除去する。チューナ３１６は、１つ以上のサブチャネルに対応する周波数を選択する。結果の音声信号は、音声復号器３１８で処理される。いくつかの実施形態において、音声復号器３１８は、ＡＣ−３復号器である。結果との映像信号は、映像復号器３２４で処理される。いくつかの実施形態において、映像復号器３１４は、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４、またはＶＣ−１復号器であり、他の実施形態において、映像復号器３１４は、ＭＰＥＧ互換復号器または別の映像圧縮規格用の復号器であり得る。映像復号器３２４から出力される映像コンテンツは、映像ドライバ３２６を使用してディスプレイ３２８を駆動するための適切な形式に変換される。同様に、音声復号器３１８から出力される音声コンテンツは、音声ドライバ３２０を使用してスピーカ３２２を駆動するための適切な形式に変換される。ゲームコントローラ３３２および／またはリモート制御器３３６に入力されるユーザの指令またはアクションは、デバイスインタフェース３３０および／またはＩＲインタフェース３３４によって受信され、伝送のためにネットワークインタフェース３１４に転送される。
【００４１】
ゲームコントローラ３３２は、Ｓｏｎｙ  Ｐｌａｙｓｔａｔｉｏｎ（登録商標）、Ｎｉｎｔｅｎｄｏ（登録商標）、Ｓｅｇａ（登録商標）およびＭｉｃｒｏｓｏｆｔ  Ｘｂｏｘ（登録商標）が備える専用のビデオゲームコンソール、またはパーソナルコンピュータであり得る。ゲームコントローラ３３２は、ゲームパッド、キーボード、ジョイスティック、マイクロホン、マウス、１つ以上のリモート制御器、１つ以上の追加のゲームコントローラ、または、音声認識技術を含むユーザインタフェースなどの他のユーザインタフェースからの１つ以上のユーザアクションに対応する情報を受信し得る。ディスプレイ３２８は、テレビジョン、コンピュータ、またはビデオゲームコントローラ３３２や携帯電話などの携帯デバイスにおける、ブラウン管、液晶ディスプレイ、または他の適切なディスプレイデバイスであり得る。いくつかの実施形態において、スピーカ３２２は、ディスプレイ３２８に組み込まれる。いくつかの実施形態において、スピーカ３２２は、ディスプレイ３２の左右にそれぞれ位置決めされる左右のスピーカを含む。いくつかの実施形態において、スピーカ３２２は、左右のスピーカに加えて、センタースピーカを含む。いくつかの実施形態において、スピーカ３２２は、ユーザの後ろに位置決めされるサラウンドサウンドスピーカを含む。
【００４２】
いくつかの実施形態において、ＳＴＢ３００は、ビデオゲームコンテンツを表示する前に、受信されたビデオゲームコンテンツに対する平滑化動作を実行し得る。いくつかの実施形態において、受信されたビデオゲームコンテンツは復号化され、ディスプレイ３２８に表示され、そして受信される際にリアルタイムにスピーカ３２２で再生される。他の実施形態において、ＳＴＢ３００は、ビデオのフルフレームが受信されるまで、受信されたビデオゲームコンテンツを格納する。その後、ビデオのフルフレームは復号化され、ディスプレイ３２８に表示され、一方、付随する音声は、復号化され、スピーカ３２２で再生される。
【００４３】
図３は、多数の個別システムが構成するＳＴＢ３００を示しているが、図３は、本明細書で説明する実施形態の構造概略というよりも、セットトップボックスに存在し得るさまざまな特徴の機能記述として意図されている。実際には、そして当業者によって認識されるように、図３に個別に示されるアイテムは組み合わされてよく、また、一部のアイテムは別々のアイテムであってよい。さらに、メモリ３４０の上記識別される要素の各々は、上述したメモリデバイスのうちの１つ以上のメモリデバイスに格納され得る。上記識別されるモジュールの各々は、上述の機能を実行する命令のセットに対応する。上記識別されるモジュールまたはプログラム（すなわち、命令のセット）は、個別のソフトウェアプログラム、手順、またはモジュールとして実施される必要はなく、従って、これらのモジュールのさまざまなサブセットは、組み合わされてよく、または、さまざまな実施形態に再構成されてよい。いくつかの実施形態において、メモリ３４０は、上記識別されるモジュールおよびデータ構造のサブセットを格納してよい。また、メモリ３４０は、上述されていない追加のモジュールおよびデータ構造を格納してよい。
【００４４】
図４は、いくつかの実施形態における、音声を符号化するプロセス４００を示すフロー図である。いくつかの実施形態において、プロセス４００は、ビデオゲームシステム２００（図２）などのビデオゲームシステムによって実行される。交互に、プロセス４００は、別個のコンピュータシステムで実行され、結果の符号化音声データは、１つ以上のビデオゲームシステム２００に転送またはコピーされる。音声データは、複数の独立ソースから受信される（４０２）。いくつかの実施形態において、音声データは、．ｗａｖファイルなどのパルス符号変調ビットストリームの形で、各独立ソースから受信される（４０４）。いくつかの実施形態において、独立ソースから受信される音声データは、ビデオゲーム用のバックグラウンドミュージックに対応する音声データ、およびビデオゲーム用のさまざまな音響効果に対応する音声データを含む。
【００４５】
各独立ソースからの音声データは、ソースフレームのシーケンスに符号化され、それによって複数のソースフレームシーケンスを作成する（４０６）。いくつかの実施形態において、ビデオゲームシステム２００（図２）または別のコンピュータシステムの、音声信号前符号器２６４などの音声信号前符号器は、各独立ソースから音声データを符号化する。いくつかの実施形態において、ソースフレームシーケンス内のフレームに関して、フレームの複数のコピーが生成される（４０８）。各コピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である、別個の関連品質レベルを有する。いくつかの実施形態において、関連品質レベルは、指定の信号対雑音比に対応する（４１０）。いくつかの実施形態において、各コピーが消費するビットの数は、関連品質レベルの低下に伴い減少する。結果の複数のソースフレームシーケンスは、後で、例えば、対話式ビデオゲームの実行中に使用するためにメモリに格納される。
【００４６】
ビデオゲームまたは他の対話式プログラムの実行中に、複数のソースフレームシーケンスのうちの２つ以上のシーケンスは、ターゲットフレームのシーケンスにマージされる（４１２）。ターゲットフレームは、複数の独立ターゲットチャネルを含む。いくつかの実施形態において、ゲームサーバモジュール２４６（図２）の音声フレームマージャ２５５などの音声フレームマージャは、２つ以上のソースフレームシーケンスをマージする。いくつかの実施形態において、ソースフレームに対する信号対雑音比が選択される（４１４）。例えば、信号対雑音比は、ターゲットフレームシーケンスに対する定ビットレートを維持するように選択される。いくつかの実施形態において、選択された信号対雑音比は、定ビットレートを維持可能な最高信号対雑音比である。しかし、いくつかの実施形態において、ターゲットフレームシーケンスに対するビットレートは、フレームとフレームとの間で動的に変化し得る。いくつかの実施形態において、選択された信号対雑音比を有するソースフレームのコピーは、ターゲットフレームシーケンス内のターゲットフレームにマージされる（４１６）。いくつかの実施形態において、ターゲットフレームは、ＡＣ−３形式である。
【００４７】
ターゲットフレームのシーケンスは、ビデオゲームシステム２００（図２）などのサーバシステムからセットトップボックス３００（図３）などのクライアントシステムに伝送され得る。ＳＴＢ３００は、スピーカ構成に応じて、各ターゲットチャネルを個別のスピーカに割り当ててもよく、または２つ以上のターゲットチャネルを、スピーカに割り当てられた音声ストリームにダウンミックスしてもよい。複数のソースフレームシーケンスを複数の独立ターゲットチャネルを含むターゲットフレームシーケンスにマージすることで、複数の独立音声信号の同時再生が可能となる。
【００４８】
図５は、いくつかの実施形態における、音声を符号化するプロセス５００を示すフロー図である。いくつかの実施形態において、プロセス５００は、ビデオゲームシステム２００（図２）の音声フレームマージャ２５５などの音声フレームマージャによって実行される。複数の独立音声信号を表現するデータは、アクセスされる（５０２）。各音声信号を表現するデータは、ソースフレームのシーケンスを含む。いくつかの実施形態において、複数の独立音声信号を表現するデータは、ビデオゲームシステム２００のバンク２５６に前符号化音声信号２５７として格納され、これにより、音声フレームマージャ２５５はデータにアクセスできる。前符号化音声信号の生成を、図４を参照して以下で説明する。
【００４９】
いくつかの実施形態において、各ソースフレームは、複数の音声データコピーを含む（５０４）。各音声データコピーは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である、別個の関連品質レベルを有する。いくつかの実施形態において、関連品質レベルは、指定の信号対雑音比に対応する。
【００５０】
いくつかの実施形態において、２つのソースフレームシーケンスがアクセスされる。例えば、第１ソースフレームシーケンスは、非サイレント音声データの連続ソースを含み、第２ソースフレームシーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データのエピソードソースを含む（５０６）。いくつかの実施形態において、第１シーケンスは、ビデオゲーム用のバックグラウンドミュージックに対応してよく、第２シーケンスは、ユーザ指令に応答して再生される音響効果に対応してよい。別の例において、第１ソースフレームシーケンスは、非サイレント音声データの第１エピソードソースを含み、第２ソースフレームシーケンスは、非サイレント音声データの第２エピソードソースを含む。従って、両方のシーケンスは、サイレンスを表現する音声データのシーケンスを含む（５０５）。いくつかの実施形態において、第１シーケンスは、第１ユーザ指令に応答して再生される第１音響効果に対応し得る。第２シーケンスは、第１音響効果とオーバーラップする、第２ユーザ指令に応答して再生される第２音響効果に対応し得る。さらに別の例においては、第１ソースフレームシーケンスは、非サイレント音声データの第１連続ソースを含み、第２ソースフレームシーケンスは、非サイレント音声データの第２連続ソースを含む。いくつかの実施形態において、第１シーケンスは、第１楽曲断片（musical piece）に対応してよく、第２シーケンスは、第１楽曲断片と平行して再生される第２楽曲断片に対応してよい。いくつかの実施形態において、２つより多いソースフレームシーケンスがアクセスされる。
【００５１】
複数のソースフレームシーケンスは、複数の独立ターゲットチャネルを含むターゲットフレームのシーケンスにマージされる（５０８）。いくつかの実施形態において、ターゲットフレームおよび対応ソースフレームに対する品質レベルが選択される（５１０）。例えば、品質レベルは、ターゲットフレームシーケンスに対する定ビットレートを維持するように選択される。いくつかの実施形態において、選択された品質レベルは、定ビットレートを維持可能な最高品質レベルである。しかし、いくつかの実施形態において、ターゲットフレームシーケンスに対するビットレートは、フレームとフレームとの間で動的に変化し得る。いくつかの実施形態において、各対応ソースフレームの選択された品質レベルでの音声データコピーは、少なくとも１つのターゲットチャネルに割り当てられる（５１２）。
【００５２】
プロセス４００（図４）にあるように、プロセス５００の結果として生じるターゲットフレームシーケンスは、ビデオゲームシステム２００（図２）などのサーバシステムからセットトップボックス３００（図３）などのクライアントシステムに伝送され得る。ＳＴＢ３００は、スピーカ構成に応じて、各ターゲットチャネルを個別のスピーカに割り当ててよく、または２つ以上のターゲットチャネルを、スピーカに割り当てられた音声ストリームにダウンミックスしてもよい。複数のソースフレームシーケンスを複数の独立ターゲットチャネルを含むターゲットフレームのシーケンスにマージすることで、複数の独立音声信号の同時再生が可能となる。
【００５３】
図６は、いくつかの実施形態における、音声を符号化し、および伝送するプロセス６００を示すフロー図である。音声データは、複数の独立ソースから受信される（４０２）。各独立ソースからの音声データは、ソースフレームのシーケンスに符号化されて、複数のソースフレームシーケンスを作成する（４０６）。プロセス４００（図４）に関してより詳細に上述される動作４０２および４０６は、オーサリングプロセスの一部として、前もって実行され得る。指令は受信される（６０２）。いくつかの実施形態において、ビデオゲームシステム２００は、ビデオゲームを実行しているユーザのアクションから生じる、セットトップボックス３００からの指令を受信する。指令に応答して、複数のソースフレームシーケンスは、複数の独立ターゲットチャネルを含むターゲットフレームのシーケンスにマージされる（４１２；図４を参照）。ターゲットフレームシーケンスは伝送される（６０４）。いくつかの実施形態において、ターゲットフレームシーケンスは、ネットワーク１３６を介してビデオゲームシステム２００からＳＴＢ３００に伝送される。ＳＴＢ３００は、スピーカ構成に応じて、各ターゲットチャネルを個別のスピーカに割り当ててよく、または２つ以上のターゲットチャネルを、スピーカに割り当てられた音声ストリームにダウンミックスしてもよい。動作６０２、４１２、および６０４は、ビデオゲームや他のアプリケーションの実施または実行中に、リアルタイムに実行されてよい。
【００５４】
図７は、いくつかの実施形態における、音声を符号化する「前符号化」またはオーサリングプロセス７００を示すブロック図である。音声符号器７０４は、．ｗａｖファイルなどのパルス符号変調（ＰＣＭ）ファイル７０２を入力として受信し、条件付きＡＣ−３フレーム７０６のファイルを出力として作成する。いくつかの実施形態において、音声符号器７０４は、修正ＡＣ−３符号器である。出力されたＡＣ−３フレームは条件付けられて、当該フレームがその後ターゲットフレームの単一チャネルに割り当てられることを確実にする。具体的に、すべての小数仮数グループは完全であり、従って、別々のソースチャネルからの仮数が同一のターゲットチャネルに連続して格納されないことが確実となる。いくつかの実施形態において、音声符号器７０４は、ビデオゲームシステム２００（図２）の音声信号前符号器２６４に対応し、条件付きＡＣ−３フレームのシーケンスは、前符号化音声信号２５７として格納される。いくつかの実施形態において、各条件付きＡＣ−３フレームは、巡回冗長検査（ＣＲＣ）値を含む。複数の独立ソースからのＰＣＭ音声ファイルに対してプロセス７００を繰り返し実施することは、プロセス４００（図４）の動作４０２および４０６の実施に対応する。結果の条件付きＡＣ−３は、その後ターゲットフレームシーケンスにマージされ得る。
【００５５】
図８は、いくつかの実施形態における、音声フレームのシーケンス８００のブロック図である。いくつかの実施形態において、音声フレームのシーケンス８００は、音声符号器７０４（図７）が生成する条件付きＡＣ−３フレームのシーケンス７０６に対応する。音声フレームのシーケンス８００は、ヘッダ８０２、フレームポインタテーブル８０４、およびフレーム１〜ｎのデータ（８０６、８０８、８１０）を含み、ここでｎはシーケンス８００のフレーム数を示す整数である。ヘッダ８０２は、バージョン情報、ビットレート、シーケンスの固有のＩＤ、フレーム数、フレームごとのＳＮＲ変数の数、フレームデータの先頭のポインタ、および検査合計などの、音声フレームのシーケンス８００の一般的な性質を格納する。フレームポインタテーブル８０４は、各フレームの各ＳＮＲ変数のポインタを含む。例えば、フレームポインタテーブル８０４は、フレームデータの先頭から各フレームの各ＳＮＲ変数のデータへのオフセットおよびフレームデータの先頭から当該フレームの指数データへのオフセットを含み得る。従って、いくつかの実施形態において、フレームポインタテーブル８０４は、フレームごとに１７個のポインタを含む。
【００５６】
フレーム１データ８０６は、指数データ８１２およびＳＮＲ変数１〜Ｎ（８１４、８１６、８１８）を含み、ここでＮは、フレームごとのＳＮＲ変数の総数を示す整数である。いくつかの実施形態において、Ｎは１６である。フレームのデータは、指数データおよび仮数データを含む。いくつかの実施形態において、指数データは１つのフレームのすべてのＳＮＲ変数と同一であるので、指数データ８１２は、仮数データとは別に、一度だけ格納される。しかし、仮数データは、ＳＮＲ変数によって異なるので、各変数に対して別々に格納される。例えば、ＳＮＲ変数Ｎ８１８は、ＳＮＲ変数Ｎに対応する仮数データを含む。変数の作成を試みた音声符号器７０４（図７）などの符号器が、すべての小数仮数グループを満たすことによって小数仮数問題を解決できなかった場合、ＳＮＲ変数は空であり得る。小数仮数問題を解決することで、ＳＮＲ変数がターゲットフレームの単一のチャネルに割り当てられることが可能となる。符号器が小数仮数問題を解決できない場合、符号器はＳＮＲ変数を生成せず、ＳＮＲ変数を空として示すことになる。指数および仮数データが別々に格納されるいくつかの実施形態において、フレームポインタテーブル８０４は、各フレームに対する指数データのポインタおよび各フレームに対する仮数データの各ＳＮＲ変数のポインタを含む。
【００５７】
図９は、いくつかの実施形態における、音声を符号化し、伝送し、かつ再生するシステム９００を示すブロック図である。システム９００は、ゲームサーバ９０２、セットトップボックス９１２、およびスピーカ９２０を含む。ゲームサーバ９０２は、前符号化バックグラウンド（ＢＧ）ミュージック９０４および前符号化音響効果（ＦＸ）９０６を含む複数の独立音声信号を格納する。ＢＧデータ９０４およびＦＸデータ９０６は、それぞれ、条件付きＡＣ−３フレームのシーケンス７０６（図７）などのソースフレームシーケンスを含む。音声フレームマージャ９０８は、ＢＧデータ９０４およびＦＸデータ９０６にアクセスし、ソースフレームシーケンスをターゲットフレームにマージする。ＢＧデータ９０４およびＦＸデータ９０６は、ターゲットフレーム内の１つ以上の個別のチャネルに割り当てられる。トランスポートストリーム（ＴＳ）フォーマッタ９１０は、結果として生じる、伝送用のターゲットフレームシーケンスをフォーマットし、ターゲットフレームシーケンスをＳＴＢ９１２に伝送する。いくつかの実施形態において、ＴＳフォーマッタ９１０は、ネットワーク１３６（図１）上で、ターゲットフレームシーケンスをＳＴＢ９１２に伝送する。
【００５８】
セットトップボックス９１２は、デマルチプレクサ（ｄｅｍｕｘ）９１４、音声復号器９１６、およびダウンミキサ９１８を含む。デマルチプレクサ９１４は、複数のプログラムを含む、入力されるトランスポートストリームを多重分離し、ＳＴＢ９１２に関連するプログラムを抽出する。その後、デマルチプレクサ９１４は、プログラムを音声（例えば、ＡＣ−３）ストリームおよび映像（例えば、ＭＰＥＧ−２映像）ストリームに分割する。音声復号器９１６（いくつかの実施形態においては標準的なＡＣ−３復号器）は、ＢＧデータ９０４およびＦＣデータ９０６を含む伝送された音声を復号化する。その後、ダウンミキサ９１８は、音声データをダウンミックスし、ＦＧ音声およびＢＧ音声が同時に再生されるように音声信号をスピーカ９２０に伝送する。
【００５９】
いくつかの実施形態において、ダウンミキサ９１８によって実行される機能は、スピーカ９２０の数と伝送されたターゲットフレーム内のチャネル数との相関関係によって決まる。スピーカ９２０が各チャネルに対応するスピーカを含む場合、ダウンミックスは実行されない。その代わりに、各チャネル上の音声信号は、対応スピーカで再生される。しかし、スピーカ９２０の数がチャネルの数より少ない場合、ダウンミキサ９１８は、スピーカ９２０の構成、伝送されたターゲットフレームに使用される符号化モード、および音声フレームマージャ９０８が行うチャネル割当てに基づいてチャネルをダウンミックスすることになる。
【００６０】
ＡＣ−３音声符号化規格は、表１に要約されるように、各ＡＣ−３フレームに組み込まれる音声符号化モード（「ａｃｍｏｄ」）特性によって指定されるさまざまなチャネル構成を有する多数の異なるモードを含む。
【表１】
2010515938.tif 000003
【００６１】
表１に示す５つのチャネルに加えて、ＡＣ−３規格は、低音増強（ＬＦＥ）チャネルを含む。いくつかの実施形態において、ＬＦＥチャネルは使用されず、それによって他のチャネルに対する追加のビットを得る。いくつかの実施形態において、ＡＣ−３モードは、フレーム単位で選択される。いくつかの実施形態において、同一のＡＣ−３モードは、アプリケーション全体に対して使用される。例えば、ビデオゲームは、各音声フレームに対して３／０モードを使用し得る。
【００６２】
図１０Ａ〜１０Ｃは、いくつかの実施形態における、ソースフレームのターゲットフレームチャネル割当てを示すブロック図である。図示されたターゲットフレームチャネル割当ては例示に過ぎず、他のターゲットフレームチャネル割当ても可能である。いくつかの実施形態において、チャネル割当ては、音声フレームマージャ２５５（図２）または９０８（図９）などの音声フレームマージャによって実行される。図１０Ａについては、３／０モード（ａｃｍｏｄ＝‘０１１’）が選択されている。３／０モードは、左１０００、右１００４、およびセンター１００２という３つのチャネルを有する。前符号化バックグラウンド（ＢＧ）ミュージック９０４（図９）（いくつかの実施形態において、ステレオ音響であり、従って２つのチャネルを含む）は、左チャネル１０００および右チャネル１００４に割り当てられる。前符号化音響効果（ＦＸ）データ９０６は、センターチャネル１００２に割り当てられる。
【００６３】
図１０Ｂについては、２／２モード（ａｃｍｏｄ＝‘１１０’）が選択されている。２／２モードは、左１０００、右１００４、左サラウンド１００６、および右サラウンド１００８という４つのチャネルを有する。前符号化ＢＧ９０４は、左チャネル１０００および右チャネル１００４に割り当てられる。前符号化ＦＸ９０６は、左サラウンドチャネル１００６および右サラウンドチャネル１００８に割り当てられる。
【００６４】
図１０Ｃについては、３／０モードが選択されている。前符号化音響効果データ（ＦＸ１）１０１０の第１ソースは、左チャネル１０００に割り当てられ、前符号化音響効果データ（ＦＸ２）１０１４の第２ソースは、右チャネル１００４に割り当てられる。いくつかの実施形態において、前符号化ＢＧ１０１２（この例においてはステレオ音響ではない）は、センターチャネル１００２に割り当てられる。いくつかの実施形態において、前符号化ＢＧ１０１２は存在せず、サイレンスを表現する音声データのシーケンスは、センターチャネル１００２に割り当てられる。いくつかの実施形態において、２／０モードは、２つの音響効果のみが存在し、かつ背景音が存在しないときに、使用され得る。図１４の（Ｃ）に関して以下に説明するように、２つの独立した音響効果を独立のチャネルに割り当てることにより、２つの音響効果が個別のスピーカで同時にされることが可能となる。
【００６５】
いくつかの実施形態において、チャネル割当てを実行する音声フレームマージャは、音声ステッチングを実行することも可能であり、それによってソースフレームのミキシングを利用しないビデオゲームおよび他のアプリケーションとの後方互換性を提供する。いくつかの実施形態において、音声フレームマージャは、実行中にミキシングとステッチングを繰り返すことが可能である。
【００６６】
図１０Ａおよび図１０Ｂに示すチャネルマッピングなどの、ＡＣ−３規格に基づくチャネルマッピングを実行する音声フレームマージャは、いくつかの実施形態において、ＡＣ−３フレームのシーケンスを出力として生成する。図１１Ａおよび図１１Ｂは、いくつかの実施形態における、ＡＣ−３フレーム１１００のデータ構造を示すブロック図である。図１１Ａのフレーム１１００は、同期情報（ＳＩ）ヘッダ１１０２、ビットストリーム情報（ＢＳＩ）１１０４、６つの符号化音声ブロック（ＡＢ０〜ＡＢ５）１１０６〜１１１６、補助データビット（Ａｕｘ）１１１８、および巡回冗長検査（ＣＲＣ）１１２０を含む。ＳＩヘッダ１１０２は、同期を取得しかつ維持するために使用される同期語、ならびにサンプル速度、フレームサイズ、および復号器による評価が任意であるＣＲＣ値を含む。ＢＳＩ１１０４は、チャネル構成、処理後構成（圧縮、ダイアログ正規化など）、著作権、および時刻コードについての情報などの符号化音声データを表現するパラメータを含む。各符号化音声ブロック１１０６〜１１１６は、チャネルごとの２５６個の音声サンプルに対応する指数および仮数データを含む。補助データビット１１１８は、復号化に必要でない追加のデータを含む。いくつかの実施形態において、補助データは存在しない。いくつかの実施形態において、補助データは、音声ブロックデータによって使用されないすべてのビットを確保するために使用される。ＣＲＣ１１２０は、フレーム全体にわたるＣＲＣを含む。いくつかの実施形態において、ＣＲＣ値は、ソースフレームに対する以前に計算されたＣＲＣ値に基づいて計算される。ＡＣ−３フレームに関する追加の詳細は、ＡＣ−３仕様（米国次世代テレビジョンシステム委員会（ＡＴＳＣ）ドキュメントＡ／５２Ｂ、「デジタル音声圧縮規格（ＡＣ−３、Ｅ−ＡＣ−３）改訂Ｂ）」（２００５年６月１４日））に記載されている。ＡＣ−３仕様は、参照により本明細書に組み込まれる。
【００６７】
標準ＡＣ−３符号器のビット割付けアルゴリズムは、個々のチャネルと関係付けられたビットを格納するための利用可能資源としての、フレーム内のすべての利用可能ビットを使用する。従って、標準ＡＣ−３符号器が生成するＡＣ−３フレームにおいて、チャネルおよび音声ブロックごとの、正確な仮数または指数ビット割当ては存在しない。その代わりに、ビット割付けアルゴリズムは、概して、チャネル全体にわたって動作し、チャネル、周波数、およびブロックにわたってビットを柔軟に割り付ける。従って、６個のブロックのサイズは、各フレームにおいて可変である。さらに、一部の仮数は、小数サイズに量子化されることができ、その後、いくつかの仮数は整数ビットのグループに収集され、このグループは、当該グループの第１小数仮数の位置に格納される（下記表３を参照）。結果として、異なるチャネルおよびブロックからの仮数が、単一の場所に一緒に格納され得る。加えて、標準ＡＣ−３符号器は、ソースＰＣＭ音声内のチャネル間の依存性を活用する、結合と呼ばれる技術を適用して、相互依存チャネルの符号化に必要なビット数を減少させ得る。２／０モード（すなわち、ステレオ）については、標準ＡＣ−３符号器は、マトリックス化と呼ばれる技術を適用してサラウンド情報を符号化し得る。小数仮数量子化、結合、およびマトリックス化は、各チャネルが独立して存在することを防ぐ。
【００６８】
しかし、符号器がすべての小数仮数グループを満たすことによって小数仮数問題を解決するとき、かつ符号器が結合およびマトリックス化を利用しないとき、音声フレームマージャは、特定のソースフレームに対応する仮数および指数データをターゲットフレームの音声ブロック内の指定のターゲットチャネルに割り当てることができる。図１１Ｂは、いくつかの実施形態における、３／０モードのＡＣ−３音声ブロックにおけるチャネル割当てを示す。各音声ブロックは、ＡＢ０  １１０６の左チャネル１１３０、センターチャネル１１３２、および右チャネル１１３４などの左、センター、右チャネルに分割される。第１独立音声信号（Ｓｒｃ１）に対応する第１ソースフレームからのデータは、左チャネル１１３０および右チャネル１１３４に割り当てられる。いくつかの実施形態において、第１ソースフレームからのデータは、２つの対応ソースチャネル（Ｓｒｃ１、Ｃｈ０およびＳｒｃ１、Ｃｈ１）でのステレオ形式の音声データに対応する。第１ソースフレームの各ソースチャネルに対応するデータは、ＡＣ−３フレームの個別のチャネルに割り当てられる。つまり、Ｓｒｃ１、Ｃｈ０は、左チャネル１１３０に割り当てられ、かつＳｒｃ１、Ｃｈ１は、右チャネル１１３４に割り当てられる。いくつかの実施形態において、Ｓｒｃ１は、前符号化ＢＧ９０４（図９）に対応する。第２独立音声信号（Ｓｒｃ２）に対応する第２ソースフレームからのデータは、センターチャネル１１３２に割り当てられる。いくつかの実施形態において、Ｓｒｃ２は、前符号化ＦＸ９０６（図９）に対応する。
【００６９】
いくつかの実施形態において、ＡＣ−３音声ブロックのターゲットチャネルに割り当てられる仮数データは、対応ソースフレームの選択されたＳＮＲ変数に対応する。いくつかの実施形態において、同一のＳＮＲ変数が、ターゲットフレームの各ブロックに対して選択される。いくつかの実施形態において、異なるＳＮＲ変数は、ブロック単位で選択され得る。
【００７０】
図１２は、いくつかの実施形態における、多重ソースフレームの選択されたＳＮＲ変数のターゲットフレームへの併合を示すブロック図である。図１２は、２つの独立ソース、ソース１（１２０４）およびソース２（１２０８）に対応するソースフレームの２つのシーケンス１２０４、１２０８を含む。各シーケンスのフレームは、時系列で番号が付けられ、ターゲットフレーム１２０６にマージされる。それにより、ソース１フレーム１１１およびソース２フレーム３は、同一のターゲットフレーム（フレームｔ、１２４０）にマージされ、従って、ターゲットフレームが続いて復号化されるときに同時に再生されることになる。
【００７１】
ソース１フレーム１２０４と比較して小さい番号付けをソース２フレーム１２０８に対して行うことは、ソース２がソース１よりもずっと短い音響効果に対応することを示す。いくつかの実施形態において、ソース１は、前符号化ＢＧ９０４に対応し、ソース２は、前符号化ＦＸ９０６に対応する（図９）。前符号化ＦＸ９０６は、エピソード的にのみ、例えば、ユーザの指令に応答して再生され得る。いくつかの実施形態において、前符号化ＦＸ９０６が再生されていないとき、サイレンスに対応する一連のビットは、前符号化ＦＸ９０６が割り当てられるターゲットフレームチャネルに書き込まれる。いくつかの実施形態において、ＳＴＢ３００などのセットトップボックスは、受信されたターゲットフレームのチャネル数の変化に気づくと自身を再構成し、音声再生の中断という結果になる。サイレンスに対応するデータを適切なターゲットフレームチャネルに書き込むことで、ＳＴＢがチャネル数の変化に気づいて自身を再構成することを防ぐ。
【００７２】
ソース１フレームシーケンス１２０４のフレーム１１１は、１６個のＳＮＲ変数を含み、その範囲は、最低品質の変数であり、かつ５３２ビットしか消費しないＳＮＲ０（１２３８）から、最高品質の変数であり、かつ３０９４ビットを消費するＳＮＲ１５（１２３４）に及ぶ。ソース２フレームシーケンス１２０８のフレーム３は、１３個のみのＳＮＲ変数を含み、その範囲は、最低品質の変数であり、かつ５３２ビットしか消費しないＳＮＲ０（１２４９）から、最高品質の使用可能な変数であり、かつ２９９８ビットを消費するＳＮＲ１２（１２４７）に及ぶ。フレーム３（１２４２、１２４４、および１２４６）の３つの高品質な潜在的ＳＮＲ変数は、これらの変数がそれぞれ、ターゲットフレーム１２０６ビットレートおよびサンプルレートが許可するであろうビットと比べてより多くのビットを消費するであろうという理由で、使用可能ではない。いくつかの実施形態において、ＳＮＲ変数のビットサイズが、ターゲットフレームビットレートおよびサンプルレートが許可するビットサイズより高い場合は、音声信号前符号器２６４は、ＳＮＲ変数を作成せず、従ってメモリを節約することになる。いくつかの実施形態において、ターゲットフレームビットレートは１２８ｋＢ／ｓでありサンプルレートは４８ｋＨｚであり、これは１フレーム当たり４０９６ビットに対応する。これらのビットのうちの約３００ビットはヘッダおよび他のサイド情報に使用され、１フレーム当たり、指数および仮数データに対して約３８００ビットが使用可能となる。使用可能な約３８００ビットは、後述の通り、デルタビット割付け（ＤＢＡ）にも使用される。
【００７３】
図１２において、音声フレームマージャ２５５は、ＳＮＲ１０に対応するソース１（１２３６）およびソース２（１２４８）からＳＮＲ変数を選択している。これらのＳＮＲ変数は、ソースフレームが結合される際に、指数、仮数およびＤＢＡデータ（１２６４＋２１４０＝３４０４）に使用可能なターゲットビットの許容数を超えない当該ソースフレームの高品質な使用可能変数である。これらのＳＮＲ変数に必要なビット数は、最大許容ビット数よりも少ないため、補助データビットフィールドからのビットは、フレームを満たすために使用される。ソース１のＳＮＲ変数１２３６は、条件付きＡＣ−３フレーム１２００において前符号化され、当該フレームは、共通データ１２２０および音声データブロックＡＢ０〜ＡＢ５（１２２２〜１２３２）を含む。この例において、ソース１はステレオ形式であるため、音声ブロックごとに２つのチャネル（すなわち、フレーム１２００のＣｈ０およびＣｈ１）を有する条件付きＡＣ−３フレームに前符号化される。共通データ１２２０は、ＡＣ−３フレーム１１００（図１１Ａ）のフィールドＳＩ１１０２、ＢＳＩ１１０４、Ａｕｘ１１１８、およびＣＲＣ１１２０に対応する。いくつかの実施形態において、指数データは、仮数データとは別に格納される。例えば、条件付きＡＣ−３フレーム１２００は、共通データ１２２０とＡＢ０データ１２２２とに間に共通指数データフィールド（図示なし）を含み得る。同様に、ソース２のＳＮＲ変数１２４８は、条件付きＡＣ−３フレーム１２１２において前符号化され、当該フレームは、共通データ１２５０および音声データブロックＡＢ０〜ＡＢ５（１２５２〜１２６２）を含み、かつ共通指数データ（図示なし）を含んでよい。この例において、ソース２は、ステレオ音響でなく、ブロックごとに１つのチャネルを有する条件付きＡＣ−３フレームに符号化される（すなわち、フレーム１２１２のＣｈ０）。
【００７４】
いくつかの実施形態において、図１２に示すように一旦ソースフレームシーケンスがターゲットフレームシーケンスにマージされると、ターゲットフレームシーケンスを、セットトップボックス３００（図３）などのクライアントシステムに伝送することができ、ここでターゲットフレームは、復号化され、再生される。図１３は、いくつかの実施形態における、ターゲットフレームシーケンスを受信し、復号化し、および再生するプロセス１３００を示すフロー図である。指令に応答して、独立音声ソースに対応する複数のチャネルを含むフレームシーケンスを含む音声データが受信される（１３０２）。いくつかの実施形態において、音声データは、ＡＣ−３形式で受信される（１３０４）。受信された音声データは、復号化される（１３０６）。いくつかの実施形態において、標準的なＡＣ−３復号器は、受信された音声データを復号化する。
【００７５】
クライアントシステムと関連付けられるスピーカの数は、受信されたフレームシーケンス内のチャネルの数と比較される（１３０８）。いくつかの実施形態において、クライアントシステムと関連付けられるスピーカの数は、セットトップボックス３００（図３）に結合されるスピーカの数と等しい。スピーカの数がチャネルの数以上である場合（１３０８−Ｎｏ）、各チャネルと関連付けられた音声データは、対応スピーカで再生される（１３１０）。例えば、受信された音声データがＡＣ−３  ２／２モードで符号化される場合、左、右、左サラウンド、および右サラウンドという４つのチャネルが存在する。各スピーカがチャネルに対応するようにクライアントシステムが少なくとも４つのスピーカを有する場合、各チャネルからのデータは、対応スピーカで再生することができ、ダウンミックスは実行されない。別の例においては、受信された音声データがＡＣ−３  ３／０モードに符号化される場合、左、右、およびセンターという３つのチャネルが存在する。クライアントシステムが、対応する左、右、およびセンタースピーカを有する場合、各チャネルからのデータは、対応スピーカで再生されることが可能であり、ダウンミックスは実行されない。しかし、スピーカの数がチャネルの数より少ない場合（１３０８−Ｙｅｓ）、チャネルのうちの２つ以上のチャネルがダウンミックスされ（１３１２）、２つ以上のダウンミックスされたチャネルと関連付けられた音声データは、同一のスピーカで再生される（１３１４）。
【００７６】
ダウンミックスの例が図１４の（Ａ）〜（Ｃ）に示される。図１４の（Ａ）は、いくつかの実施形態における、２つのソースチャネル９０４、９０６および２つのスピーカ１４０２、１４０４を前提とする、ＡＣ−３  ３／０モードでのチャネル割当ておよびダウンミックスを示すブロック図である。図１０Ａに示すように、前符号化ＦＸ９０６はセンターチャネル１００２に割り当てられ、前符号化ＢＧ９０４は左チャネル１０００および右チャネル１００４に割り当てられる。左チャネル１０００の音声データは左スピーカ１４０２で再生され、右チャネル１００４の音声データは右スピーカ１４０４で再生される。しかし、どのスピーカもセンターチャネル１００２に対応しない。従って、音声データは、前符号化ＦＸ９０６が、前符号化ＢＧ９０４とともに両方のスピーカで同時に再生されるようにダウンミックスされる。
【００７７】
図１４の（Ｂ）は、いくつかの実施形態における、２つのソースチャネル９０４、９０６および２つのスピーカ１４０２、１４０４を前提とする、ＡＣ−３  ２／２モードでのチャネル割当ておよびダウンミックスを示すブロック図である。図１０Ｂに示すように、前符号化ＢＧ９０４は、左チャネル１０００および右チャネル１００４に割り当てられる。同様に、前符号化ＦＸ９０６は、左サラウンドチャネル１００６および右サラウンドチャネル１００８に割り当てられる。４つのチャネルおよび２つのみのスピーカが存在するため、ダウンミックスが実行される。左チャネル１０００および左サラウンドチャネル１００６の音声データは、ダウンミックスされ、左スピーカ１４０２で再生される。また、右チャネル１００４および右サラウンドチャネル１００８の音声データは、ダウンミックスされ、右スピーカ１４０４で再生される。結果として、前符号化ＢＧ９０４および前符号化ＦＸ９０６は、両方のスピーカで同時に再生される.
【００７８】
図１４の（Ｃ）は、いくつかの実施形態における、３つのソースチャネル１０１０、１０１２、および１０１４ならびに２つのスピーカ１４０２および１４０４を前提とする、ＡＣ−３  ３／０モードでのチャネル割当ておよびダウンミックスを示すブロック図である。図１０Ｃに示すように、前符号化ＦＸ１  １０１０は左チャネル１０００に割り当てられ、前符号化ＦＸ２  １０１４は右チャネル１００４に割り当てられ、前符号化ＢＧ１０１２はセンターチャネル１００２に割り当てられる。３つのチャネルと２つのみのスピーカが存在するため、ダウンミックスが実行される。左チャネル１０００およびセンターチャネル１００２の音声データは、ダウンミックスされ、左スピーカ１４０２で再生される。右チャネル１００４およびセンターチャネル１００２の音声データは、ダウンミックスされ、右スピーカ１４０４で再生される。結果として、前符号化ＦＸ１  １０１０および前符号化ＦＸ２  １０１４は、それぞれ個別のスピーカで同時に再生される。
【００７９】
次に、小数仮数問題の解決に注目する。標準ＡＣ−３符号器は、いくつかの仮数グループに対して、仮数ごとに小数ビットを割り付ける。そのようなグループが特定のソースからの仮数で完全には満たされない場合、別のソースからの仮数が、当該グループに加えられ得る。結果として、１つのソースからの仮数の直後に別のソースからの仮数が続くことになるであろう。この割当てにより、ＡＣ−３復号器は仮数チャネル割当てのトラックを失い、それによって、ターゲットフレーム内の異なるチャネルへの、異なるソース信号の割当てを防ぐことになるであろう。
【００８０】
ＡＣ−３規格は、符号器が使用する標準マスキングカーブを修正することによって特定の周波数帯域内の仮数の量子化を調整するためのデルタビット割当て（ＤＢＡ）として知られるプロセスを含む。デルタビット割当て情報は、復号器への側波帯情報として送信され、すべてのＡＣ−３復号器によって支援される。後述するアルゴリズムを使用して、デルタビット割当ては、ビット割付けを修正して完全な小数仮数グループを確実のものとする。
【００８１】
ＡＣ−３符号化スキームにおいて、仮数は、各ブロックの各チャネルの入力サンプルの２５６−ビン変形離散コサイン変換（ＭＤＣＴ）から生じる指数によって形成される電力スペクトル密度電力包絡線（ＰＳＤ）で折り返されたマスキングカーブに従って量子化され、約１／６オクターブバンドのスペクトルが生じる。マスキングカーブは、人間の耳の心理音響モデルに基づき、その形状は、符号化ＡＣ−３ビットストリーム内のサイド情報として送信されるパラメータによって決定される。仮数のビット割付けプロセスの詳細は、ＡＣ−３仕様（米国次世代テレビジョンシステム委員会（ＡＴＳＣ）ドキュメントＡ／５２Ｂ、「デジタル音声圧縮規格（ＡＣ−３、Ｅ−ＡＣ−３）改訂Ｂ）」（２００５年６月１４日））に記載されている。
【００８２】
仮数の量子化レベルを決定するために、いくつかの実施形態において、符号器は、まず周波数帯域の各々に対するビット割付けポインタ（ＢＡＰ）を決定する。ＢＡＰは、ビット割付けポインタテーブル（表２）のアドレスに基づいて決定される。ビット割付けポインタテーブルは、各アドレス値に対する指標（すなわち、ＢＡＰ）を、仮数に割り付けるビット数を決定する第２テーブルに格納する。アドレス値は、各バンドのＰＳＤから対応するマスク値を引き、その結果を５だけ右シフトする（その結果を３２で割ることに対応する）ことによって計算される。この値は、０から６３の範囲にある閾値である。
【表２】
2010515938.tif 000004
【００８３】
帯域内の仮数に割り付けるビット数を決定する第２テーブルは、ビット割当てテーブルと呼ばれる。いくつかの実施形態において、ビット割当てテーブルは、１６個の量子化レベルを含む。
【表３】
2010515938.tif 000005
【００８４】
ビット割付けテーブル（表３）から分かるように、ＢＡＰ１、２、４は、量子化仮数の小数サイズにつながる量子化レベル（ＢＡＰ１に対する１．６７（５／３）ビット、ＢＡＰ２に対する２．３３（７／３）ビット、およびＢＡＰ４に対する３．５（７／２）ビット）を示す。そのような小数仮数は、ＢＡＰ１、２、４の各々に対して１つのループである、３つの個別のグループに収集される。小数仮数が３つのグループの各々に対して初めて生じるたびに、または、小数仮数が生じて、同じ型の先のグループが完全に満たされると、符号器は、出力ビットストリームの現在位置にグループの全ビットを確保する。その後、特定の仮数に対するソース信号にかかわらず、符号器は、そのグループの型の小数仮数を収集し、そのグループが満たされるまでその位置に小数仮数を書き込む。ＢＡＰ１については、グループは５ビットを有し、グループが満たされるまで、３つの仮数が収集される。ＢＡＰ２については、グループは３つの仮数に対して７ビットを有する。ＢＡＰ４については、グループは２つの仮数に対して７ビットを有する。
【００８５】
デルタビット割当ては、符号器が、選択された周波数帯域に対するマスキングカーブを修正することによって仮数の量子化を調整することを可能にする。ＡＣ−３規格 は、帯域ごとに＋６または−６ｄＢの倍数でのマスキングカーブ修正を可能にする。帯域に対して−６ｄＢでマスキングカーブを修正することは、当該帯域内でのすべての仮数に対するちょうど１ビットの解像度の増加に対応し、これはビット割付けポインタテーブル（例えば、表２）に対する指標として使用されるアドレスを＋４だけ増加させることに対応する。同様に、帯域に対して＋６ｄＢでマスキングカーブを修正することは、当該帯域内でのすべての仮数に対するちょうど１ビットの解像度の減少に対応し、これはビット割付けポインタテーブル（例えば、表２）に対する指標として使用されるアドレスを−４だけ増加させることに対応する。
【００８６】
デルタビット割当ては、他の制限を有する。最大で８つのデルタビット補正値エントリがチャネルおよびブロックごとに可能である。さらに、ＤＢＡデータ内の第１周波数帯域は、５ビット絶対値として格納され、一方、補正される次の周波数帯域は、第１帯域番号からのオフセットとして符号化される。従って、いくつかの実施形態において、補正されるべき第１周波数帯域は、０〜３１の範囲に制限される。いくつかの実施形態において、第１実補正が３１より大きい帯域番号に対してのものである場合、０〜３１の範囲の帯域の擬似補正は格納される。また、帯域番号２７より上の周波数帯域は、１より大きい幅を有するため（すなわち、帯域番号ごとに１つより多い仮数が存在する）、そのような帯域に対する補正は、いくつかの仮数について同時に行う量子化に影響を及ぼす。
【００８７】
このような規則を前提として、いくつかの実施形態において、デルタビット割当ては、小数仮数グループを満たすために用いることができる。いくつかの実施形態において、標準ＡＣ−３符号器は、最初にデルタビット割当てを使用しないように修正される。つまり、ビット割付けプロセスは、デルタビット割当てを行わずに実行される。各チャネルおよびブロックについては、ビット割付けプロセスによって生じるデータは、小数仮数グループがあるかどうかについて分析される。その後、修正符号器は、デルタビット割当て値を使用して、選択された仮数の量子化を補正することによって、不完全な小数仮数グループを満たす、もしくは空にしようとする。いくつかの実施形態において、ＢＡＰ１、２、および４に対応するグループ内の仮数は、体系的に補正される。いくつかの実施形態において、バックトラッキングアルゴリズムは、少なくとも１つの解が見つかるまで、可能な補正についてのすべての知覚可能な組合せを試みる。
【００８８】
下記の例においては（表４）、符号器は、所与のＳＮＲでの指定のソース信号に対応する１つのターゲットフレームチャネルに対する１つのブロックデータのビット割当てを終了している。デルタビット割当ては未だ実施されておらず、小数仮数グループは、完全には満たされていない。表４は、結果として得られる量子化を示す。０に量子化されないすべての周波数仮数について、テーブルは、帯域番号、帯域内の周波数番号、ビット割付けポインタ（ＢＡＰ；表３を参照）、およびＢＡＰテーブル（表２）からＢＡＰを検索するために使用されたアドレスを一覧表示する。
【表４】
2010515938.tif 000006
【００８９】
デルタビット割当て補正を行わずに符号化されると、以下の数の小数仮数が存在する（表４において、ＢＡＰ２およびＢＡＰ４に対応する小数仮数は、容易に参照できるように強調表示されている）。
【表５】
2010515938.tif 000007
【００９０】
表５に示すように、このブロックについては、２５個の仮数がＢＡＰ＝１を有し、２つの仮数はＢＡＰ＝２を有し、１つの仮数はＢＡＰ＝４を有する。ＢＡＰ１については、グループ全体で３つの仮数を有する。従って、２５個の仮数は、８個の完全なグループおよび仮数を１つのみ有する９番目のグループに対応する（２５  ｍｏｄ  ３＝１）。９番目のグループは、一杯になるためにさらに２つの仮数を必要とする。ＢＡＰ２については、グループ全体で３つの仮数を有する。従って、２つの仮数は、満たされるためにもう１つの仮数を必要とする１つのグループに対応する（３−（２  ｍｏｄ  ３）＝１）。ＢＡＰ４については、グループ全体で２つの仮数を有する。従って、１つの仮数は、満たされるためにもう１つの仮数を必要とする１つのグループに対応する（２−（１  ｍｏｄ  ２）＝１）。
【００９１】
部分的に満たされた仮数グループを満たすまたは空にするために、いくつかの方策を実施できるであろう。いくつかの実施形態において、より多数の量子化レベルにつながる（すなわち、より高品質につながる）デルタビット補正のみが許可される。この限定を有する実施形態については、以下の、小数仮数グループを満たすまたは空にする別の手法が存在する。
【００９２】
１つの代替策は、ＢＡＰ＝０である２つの仮数（表４に図示なし）を見つけて、各仮数がＢＡＰ値＝１に対応するＢＡＰテーブルアドレスを有するまで、ＤＢＡ補正を行うことによるマスク値の増加を試みることによって、ＢＡＰ＝１の９番目のグループを満たすことである。これらの２つの仮数は、ＢＡＰ１グループを満たすであろう。いくつかの実施形態におけるビット割付けポインタテーブル（ＢＡＰテーブル）１５００を示す図１５Ａは、９番目のグループを満たすこの方法を示す。矢印１５０２および１５０４は、ＢＡＰ＝０を当初有する２つの仮数に対する増加したマスク値に対応する。上述の通り、ＤＢＡが質を向上させるためだけに用いられる実施形態については、１つのＤＢＡ補正ステップが＋４のアドレス変更に対応する。従って、９番目のグループを満たすこの方法は、（予測されたマスク値に、可能なＤＢＡ補正の最大数を加えたものに等しい）最大限のマスク値を帯域に対するＰＳＤ値から引くことでＢＡＰ値＝１を指すＢＡＰテーブルアドレスをもたらす当該帯域内の仮数が存在する場合にのみ可能である。そのような仮数がブロック内で発見されない場合が多く確認されてきた。
【００９３】
他の代替策は、ＢＡＰ＝１である１つの仮数を見つけてＢＡＰ＞１を示すようにアドレスを増加させることによって、ＢＡＰ＝１である９番目のグループを空にすることである。オリジナルアドレスが１である場合、１回の補正後に得られるアドレスは５であり、これは、依然としてＢＡＰ＝１に対応する（矢印１５１０；図１５Ｂ）。２回目の補正は、アドレス９という結果になり、これはＢＡＰ＝３に対応する（矢印 １５１６；図１５Ｂ）。表４において、これらの２つの補正は、アドレス１を有する帯域８に対して行われるであろう。
【００９４】
オリジナルアドレスが２または３である場合、１回の補正後のアドレスは、それぞれ６または７となり、これはＢＡＰ２に対応する（矢印１５１２および１５１４；図１５Ｂ）。表４において、帯域１４は、アドレス２を有し、帯域１５はアドレス３を有する。これらの帯域のどちらかに対して実行される補正は、９番目のＢＡＰ１グループを空にし、かつＢＡＰ２グループを満たすであろう。他のシナリオにおいては、そのような補正は、補正を必要とするであろうＢＡＰ２の小数仮数のグループを作成し得る。
【００９５】
オリジナルアドレスが４または５である場合、１回の補正後のアドレスはそれぞれ８または９となり、これはＢＡＰ３に対応する（矢印１５１８および１５２０；図１５Ｂ）。表４において、アドレス４を有する帯域０または他のいくつかの帯域は補正され、それによって９番目のＢＡＰ１グループを空とし、追加のＢＡＰ３の仮数を作成するであろう。
【００９６】
いくつかの実施形態において、いったんすべてのＢＡＰ１グループが満たされると、すべてのＢＡＰ２グループを満たすための補正が検討される。上述の通り、１つの代替策は、アドレス２または３の帯域内の仮数を見つけてこれらのアドレスを、ＢＡＰ２に対応する６または７に増加させることである。表４において、帯域１４は、アドレス２からアドレス６に補正されることができ（矢印１５１２；図１５Ｂ）、帯域１５は、アドレス３からアドレス７へ補正することができる（矢印１５１４；図１５Ｂ）。しかし、一般に、一旦すべてのＢＡＰ１グループが満たされたら、ＢＡＰ１からＢＡＰ２への補正は実行されるべきでない。そうでなければ、部分的に満たされたＢＡＰ１グループが作成されることになる。
【００９７】
他の代替策は、不完全なグループ内の仮数のアドレスを増加させることによって不完全なＢＡＰ２グループを空にすることである。具体的に、アドレス６および７は、それぞれアドレス１０および１１に補正され得る（矢印１５３０および１５３２；図１５Ｃ）。表４において、帯域１８は、アドレス６からアドレス１０に補正されることができ、これはＢＡＰ３に対応する。帯域２０は、アドレス７からアドレス１１に補正されることができ、これはＢＡＰ４に対応する。従って、帯域２０への補正は、同時にＢＡＰ２グループを空にし、かつＢＡＰ４グループを満たすだろう。他のシナリオにおいては、アドレス７からアドレス１１への補正は、補正を必要とするＢＡＰ４グループを作成し得る。
【００９８】
いくつかの実施形態において、一旦すべてのＢＡＰ１およびＢＡＰ２グループが満たされると、すべてのＢＡＰ４グループを満たすための補正が検討される。１つの代替策は、ＤＢＡ補正の実施がＢＡＰ４に対応するアドレスにつながるアドレスを有する仮数の見つけようとすることである。具体的に、アドレス７または８は、それぞれアドレス１１または１２に補正され得る（矢印１５５０および１５５２；図１５Ｄ）。表４において、上述の通り、帯域２０は、アドレス７からアドレス１１に補正されることができ、これはＢＡＰ４に対応する。あるいは、２回の補正を実行してアドレス３からアドレス１１に（矢印１５４６および１５５０）、またはアドレス４からアドレス１２に（矢印１５４８および１５５２）することができる。しかし、一般に、一旦すべてのＢＡＰ１およびＢＡＰ２グループが満たされると、部分的に満たされたＢＡＰ１またはＢＡＰ２グループを作成するような補正は実行され得ない。場合によっては、必要な補正ステップ（矢印１５４０、１５４４、１５４８、および１５５２または矢印１５４２、１５４６、および１５５０）を実施することによって、ＢＡＰ＝０の仮数をアドレス１１または１２に移動させることが可能であり得る。しかし、上述の通り、この最後の方法は、当初の未量子化仮数値が、当該帯域に対する最大限のマスク値によってマスクされない程度に十分高いマスク値を有すると判明した場合にのみ可能である。
【００９９】
他の代替策は、ＢＡＰ４に対応するアドレス１１または１２を有する仮数を見つけて、ＤＢＡ補正により当該アドレスをＢＡＰ６に対応する１５または１６に増加させる（矢印１５６０および１５６２；図１５Ｅ）ことである。表４において、帯域１９は、アドレス１１からアドレス１９へ補正されることができ、それによって部分的に満たされたＢＡＰ４グループを空にする。
【０１００】
部分的に満たされた小数仮数グループを満たすまたは空にするための上記方策は、帯域２８およびそれ以上の帯域について、１より大きいＢＡＰの仮数は、１回のＤＢＡ補正によって変化されるという事実によってさらに複雑になる。例えば、そのような帯域がＢＡＰ＝１につながるアドレスを有する１つの仮数およびＢＡＰ＝２につながるアドレスを有する別の仮数を含む場合、２つの小数仮数グループは、１つの補正値により修正されるであろう。
【０１０１】
いくつかの実施形態において、アルゴリズムは、部分的に満たされた仮数グループを順次満たすまたは空にするための上記方策を利用し、最初にＢＡＰ１グループ、続いてＢＡＰ２グループ、最後にＢＡＰ４グループを処理する。ＢＡＰグループ処理の他の順序も可能である。そのようなアルゴリズムは、ビット割付けおよび部分的な小数仮数グループについての多くの場合に対する小数仮数問題の解を見つけることができる。しかし、処理が実行される順序は、可能な解の数を決定する。すなわち、アルゴリズムの線形実行は、解空間を制限する。
【０１０２】
解空間を拡大するために、バックトラッキングアルゴリズムは、いくつかの実施形態において使用される。いくつかの実施形態において、バックトラッキングアルゴリズムは、上記方策のすべての知覚可能な組合せを試みる。デルタビット割付け補正の可能な組合せは、ベクトル（ｖ１、…、ｖｍ）で表現される。バックトラッキングアルゴリズムは、少なくとも１つの解が見つかるまで、深さ優先方式でベクトルの領域を再帰的に走査する。いくつかの実施形態において、バックトラッキングアルゴリズムは、呼び出されると、空ベクトルで開始する。実行の各段階において、バックトラッキングアルゴリズムは、ベクトルに新規値を加え、それによって部分ベクトルを生成する。部分解を表現できない部分ベクトル（ｖ１；…、ｖｊ）に達すると、アルゴリズムは、ベクトルから後続値を除去することによって後戻りし、その後、ベクトルを代替値で拡張しようとすることによって進む。いくつかの実施形態において、代替値は、表４に関して上述したＤＢＡ方策に対応する。
【０１０３】
解空間のバックトラッキングアルゴリズム走査は、木の深さ優先走査によって表現され得る。いくつかの実施形態において、木そのものは、談話においてアルゴリズムによって完全には格納されず、その代わりに、根への経路のみが格納されてバックトラッキングが可能となる。
【０１０４】
いくつかの実施形態において、バックトラッキングアルゴリズムは、最低限の補正量を保証しないものの、最低限の補正量を必要とする解をしばしば見つける。表４の例については、いくつかの実施形態において、バックトラッキングアルゴリズムは、まず１つの＋４アドレスステップによって帯域１４を補正し、それによって１つの構成要素分ＢＡＰ１を減少させ、１つの構成要素分ＢＡＰ２を増加させる。その後、バックトラッキングアルゴリズムは、１つの＋４アドレスステップによって帯域１９を補正し、それによって１つの構成要素分ＢＡＰ４を減少させる。すべての小数仮数グループが完全となった最終結果を表６に示す。ＢＡＰ１は、２４の帯域で完全に満たされ（２４  ｍｏｄ  ３＝０）、ＢＡＰ２は、３つの帯域で完全に満たされ（３  ｍｏｄ  ３＝０）、ＢＡＰ４は空である。
【表６】
2010515938.tif 000008
【０１０５】
いくつかの実施形態において、バックトラッキングアルゴリズムは、ソースフレームの特定のＳＮＲ変数に対する解を時々見つけることができない。従って、特定のＳＮＲ変数は、ターゲットフレームにおいて使用される音声フレームマージャに対して使用可能でないことになる。いくつかの実施形態において、音声フレームマージャが使用可能でないＳＮＲ変数を選択する場合、音声フレームマージャは、代わりに次に小さいＳＮＲ変数を選択し、わずかな質の低下はあるものの、継続的な音声再生を可能とする。
【０１０６】
本発明の具体的な実施形態についての先の記述は、例示および説明のために提示されるものである。それらは、包括的なもの、または開示された厳密な形式に本発明を限定するものではない。むしろ当然のことながら、上記の教示に鑑みて多くの変更および変形が可能である。これらの実施形態は、本発明の原理およびその実際的な用途を最も良く説明するために選択され、説明されたものであり、それによって、企図される特定の使用に適するように、他の当業者が本発明およびさまざまな変更を伴うさまざまな実施形態を最良に利用することが可能になる。
【図１】
2010515938.tif 000009
【図２】
2010515938.tif 000010
【図３】
2010515938.tif 000011
【図４】
2010515938.tif 000012
【図５】
2010515938.tif 000013
【図６】
2010515938.tif 000014
【図７】
2010515938.tif 000015
【図８】
2010515938.tif 000016
【図９】
2010515938.tif 000017
【図１０】
2010515938.tif 000018
【図１１】
2010515938.tif 000019
【図１２】
2010515938.tif 000020
【図１３】
2010515938.tif 000021
【図１４】
2010515938.tif 000022
【図１５Ａ】
2010515938.tif 000023
【図１５Ｂ】
2010515938.tif 000024
【図１５Ｃ】
2010515938.tif 000025
【図１５Ｄ】
2010515938.tif 000026
【図１５Ｅ】
2010515938.tif 000027
2010515938.tif 000028
【手続補正書】
【提出日】平成21年7月7日(2009.7.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
音声を符号化する方法であって、
複数の独立音声信号を表現するデータにアクセスすることであって、当該データは、ソースフレームシーケンスを含む前記音声信号の各々を表現し、前記ソースフレームシーケンスの各々のフレームは、複数の音声データコピーを含み、当該音声データコピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素であることと、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージすることであって、前記ターゲットフレームは、複数のターゲットチャネルを含み、前記マージすることは、前記ターゲットフレームの各々および複数の対応ソースフレームに対して、品質レベルを選択し、かつ前記対応ソースフレームの各々の前記選択された品質レベルの前記音声データコピーを前記ターゲットチャネルのうちの少なくとも１つのターゲットチャネルに割り当てることと、を含む、方法。
【請求項２】
指令を受信することと、
前記ターゲットフレームシーケンスを伝送することと、をさらに含む、請求項１に記載の方法。
【請求項３】
複数の独立ソースから音声データを受信することであって、前記独立ソースの各々からの前記音声データは、パルス符号変調ビットストリームであることと、
前記各々の独立ソースからの前記音声データをソースフレームのシーケンスに符合化して、前記複数のソースフレームシーケンスを作成することと、を含む、請求項１〜２のいずれかに記載の方法。
【請求項４】
前記音声の符号化は、
前記各々のコピーに関して、ビット割付けプロセスを実行することと、
前記ビット割付けプロセスが１つ以上の不完全な小数仮数グループを生成するときに、前記ビット割付けプロセスの結果を修正して、前記不完全な小数仮数グループの各々を満たすまたは空にすることと、をさらに含む、請求項３に記載の方法。
【請求項５】
前記ビット割付けプロセスの結果は、バックトラッキングアルゴリズムを用いてデルタビット割付けを実行することによって修正される、請求項４に記載の方法。
【請求項６】
前記各々のコピーに関して、前記各々の不完全な小数仮数グループを満たすまたは空にすることができないときに、前記各々のコピーは前記フレームに含まれない、請求項４に記載の方法。
【請求項７】
前記複数のソースフレームシーケンスを前記ターゲットフレームシーケンスにマージすることは、
ソースフレームに対する信号対雑音比を選択することと、
前記選択された信号対雑音比を有する前記コピーを前記ターゲットフレームシーケンスのターゲットフレームにマージすることと、を含む、先行する請求項のいずれかに記載の方法。
【請求項８】
前記信号対雑音比は、前記ターゲットフレームシーケンスに対する定ビットレートを維持するように選択される、請求項７に記載の方法。
【請求項９】
前記アクセスされたソースフレームシーケンスのうちの第１シーケンスは、非サイレント音声データの連続ソースを含み、前記アクセスされたソースフレームシーケンスのうちの第２シーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データのエピソードソースを含む、先行する請求項のいずれかに記載の方法。
【請求項１０】
前記アクセスされたソースフレームシーケンスのうちの第１シーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データの第１エピソードソースを含み、前記アクセスされたソースフレームシーケンスのうちの第２シーケンスは、サイレンスを表現する音声データのシーケンスを含む非サイレント音声データの第２エピソードソースを含む、先行する請求項のいずれかに記載の方法。
【請求項１１】
前記アクセスされたソースフレームシーケンスのうちの第１シーケンスは、非サイレント音声データの第１連続ソースを含み、前記アクセスされたソースフレームシーケンスのうちの第２シーケンスは、非サイレント音声データの第２連続ソースを含む、先行する請求項のいずれかに記載の方法。
【請求項１２】
音声符号化と連動して使用されるコンピュータプログラム製品であって、
コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構であって、コンピュータシステムによって実行されたときに、請求項１〜８のいずれかに記載の方法を前記システムに実行させる命令を含むコンピュータプログラム機構と、を備えるコンピュータプログラム製品。
【請求項１３】
音声を符号化するシステムであって、
メモリと、
１つ以上のプロセッサと、
前記メモリに格納され、かつ前記１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムと、
複数の独立音声信号を表現するデータにアクセスする手段であって、当該データは、ソースフレームシーケンスを含む前記音声信号の各々を表現し、前記ソースフレームシーケンスの各々のフレームは、複数の音声データコピーを含み、当該音声データコピーの各々は、関連品質レベルを有し、前記各々のコピーの当該品質レベルは、最高品質レベルから最低品質レベルに及ぶ所定の品質レベル範囲の構成要素である手段と、
前記複数のソースフレームシーケンスをターゲットフレームのシーケンスにマージする手段であって、前記ターゲットフレームは、複数のターゲットチャネルを含み、前記ターゲットフレームの各々および複数の対応ソースフレームに対して、品質レベルを選択する手段と、前記対応ソースフレームの各々の前記選択された品質レベルの前記音声データコピーを前記ターゲットチャネルのうちの少なくとも１つのターゲットチャネルに割り当てる手段とを含むマージする手段と、を備える、システム。
【請求項１４】
複数の独立ソースから音声データを受信する手段であって、前記独立ソースの各々からの前記音声データは、パルス符号変調ビットストリームである手段と、
前記各々の独立ソースからの前記音声データをソースフレームのシーケンスに符合化して、前記複数のソースフレームシーケンスを作成する手段と、を備える、請求項１３に記載のシステム。
【請求項１５】
前記音声の符号化する前記手段は、
前記音声データの前記各々のコピーに関して、ビット割付けプロセスを実行する手段と、
前記ビット割付けプロセスが１つ以上の不完全な小数仮数グループを生成するときに、前記ビット割付けプロセスの結果を修正して、前記不完全な小数仮数グループの各々を満たすまたは空にする手段と、を備える、請求項１４に記載のシステム。
【請求項１６】
前記ビット割付けプロセスの結果を修正する前記手段は、バックトラッキングアルゴリズムを用いてデルタビット割付けを実行する、請求項１５に記載のシステム。
【請求項１７】
前記各々のコピーに関して、前記各々の不完全な小数仮数グループを満たすまたは空にすることができないときに、前記各々のコピーは前記フレームに含まれない、請求項１５に記載のシステム。
【請求項１８】
前記複数のソースフレームシーケンスを前記ターゲットフレームシーケンスにマージする前記手段は、
ソースフレームに対する信号対雑音比を選択する手段と、
前記選択された信号対雑音比を有する前記コピーを前記ターゲットフレームシーケンスのターゲットフレームにマージする手段と、を備える、請求項１５に記載のシステム。
【請求項１９】
前記信号対雑音比は、前記ターゲットフレームシーケンスに対する定ビットレートを維持するように選択される、請求項１８に記載のシステム。
【請求項２０】
スピーカシステムと連動して音声を再生する方法であって、
指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信することであって、前記チャネルの各々は、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応することと、
スピーカの数がチャネルの数より少ないという判断に従って、２つ以上のチャネルをダウンミックスし、かつ前記２つ以上のダウンミックスされたチャネルと関連付けられた前記音声データを単一のスピーカで再生することと、
スピーカの数がチャネルの数と同じまたはより多いという判断に従って、前記各々のチャネルと関連付けられた前記音声データを対応スピーカで再生することと、を含む、方法。
【請求項２１】
前記受信された音声データは、ＡＣ−３形式である、請求項２０に記載の方法。
【請求項２２】
スピーカシステムでの音声再生と連動して使用されるコンピュータプログラム製品であって、コンピュータ読取り可能記憶媒体と、その中に組み込まれるコンピュータプログラム機構であって、コンピュータシステムによって実行されたときに、請求項２０〜２１のいずれかに記載の方法を前記システムに実行させる命令を含むコンピュータプログラム機構と、を備えるコンピュータプログラム製品。
【請求項２３】
スピーカシステムと連動して音声を再生するシステムであって、
メモリと、
１つ以上のプロセッサと、
前記メモリに格納され、かつ前記１つ以上のプロセッサによって実行されるように構成される１つ以上のプログラムと、
指令に応答して、複数のチャネルを含むフレームシーケンスを含む音声データを受信する手段であって、前記チャネルの各々は、（Ａ）独立音声ソースに単独で対応する、または（Ｂ）独立音声ソース内の固有のチャネルに単独で対応する手段と、
スピーカの数がチャネルの数より少ない場合、２つ以上のチャネルをダウンミックスし、かつ前記２つ以上のダウンミックスされたチャネルと関連付けられた前記音声データを単一のスピーカで再生する手段と、
スピーカの数がチャネルの数と同じまたはより多い場合、前記各々のチャネルと関連付けられた前記音声データを対応スピーカで再生する手段と、を備える、システム。
【国際調査報告】
2010515938.tif 000029
2010515938.tif 000030
2010515938.tif 000031