(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下の詳細な説明は、単なる例を示すものであって、発明対象または本出願の実施形態、そして、そのような実施形態の使用に限定することを意図するものではない。ここで使われるように、単語“exemplary”は、“serving as an example,instance,or illustration.”を意味する。例としてここで記載されるいずれの実施形態も、他の実施形態により好都合または有利に構成される必要はない。さらに、前述の〔技術分野〕、〔背景技術〕、〔発明の概要〕または後述の〔発明を実施するための形態〕において提供されているいずれの表現または黙示の理論によっても、制限されない。
【0016】
技法と技術は、さまざまな計算構成要素または装置によって実行される動作、処理タスク及び機能による記号表現に関連して、機能かつ/または論理ブロック構成要素として記述されてもよい。そして、そのような動作、タスク、及び機能は、コンピュータ実行、コンピュータ化され、ソフトウェアによる実施、またはコンピュータによる実施 とも呼ばれる。実際には、1つまたはそれ以上のプロセッサ装置は、他の信号処理と同様に、電気信号をシステムメモリ内のメモリ位置のデータビットとして表現する操作によって、記述された動作、タスク、そして機能を実行することができる。データビットが保持されるメモリ位置は、データビットに対応する特定の電気的、磁気的、光学的、または有機的な特性を有する物理的な位置である。図面中に示されるさまざまなブロック構成要素は、特定機能を実行するように構成される任意の数のハードウェア、ソフトウェア、及び/またはファームウェア構成要素によって実現されてもよいことが理解されるはずである。例えば、システムまたは構成要素の1つの実施形態を、多様なIC回路で構成してもよい。多様なIC回路とは、例えば、1つまたはそれ以上のマイクロプロセッサまたは他の制御装置の制御下で、多様な機能を実施するメモリ素子、デジタル信号処理素子、論理素子、ルックアップテーブル、または類似物である。
【0017】
ソフトウェアまたはファームウェアによる実施時に、ここに記載されるシステムのさまざまな要素は、本質的にさまざまなタスクを実行するコードセグメントまたは指示である。プログラムまたはコードセグメントは、プロセッサ読み出し可能な媒体内に格納されることができ、または、伝送媒体または通信経路上の通信搬送波として実現されるコンピュータデータ信号によって送信される。プロセッサ読み出し可能な媒体またはマシン読み出し可能な媒体は、情報の格納または転送のできる任意の媒体を含んでもよい。プロセッサ読み出し可能な媒体の例は、電子回路、半導体メモリ装置、ROM、フラッシュメモリ、消去可能なROM(EROM)、フロッピディスケット、CD−ROM、光学的ディスク、ハードディスク、または類似物である。コンピュータデータ信号は、電子のネットワークチャネル、光学的ファイバ、空気、電磁気経路、またはRFリンクのような伝送媒体上を伝播できる任意の信号を含んでもよい。コードセグメントは、インターネット、イントラネット、LAN、または類似物のようなコンピュータネットワークを通じてダウンロードされてもよい。
【0018】
さまざまな実施形態によれば、メディアストリームの知覚再生音の大きさ(つまり、音量)は適正化され、または参照の音の大きさに比較して合わせられる。このように、異なるメディアストリームは、再生装置において設定された一定のボリュームで、ほぼ同等な平均的な音の大きさで再生される。メディアストリームに関連するデジタルオーディオサンプルを、デジタルドメイン上で修正、調整、あるいは変更することによって、音量適正化スキームが実施される。ある実施形態において、符号化し、そしてメディアストリームをユーザのメディア再生装置(例えば、ラップトップコンピュータ、携帯電話、遠隔ケーブルテレビの操作用装置、または類似のもの)に転送する(データ通信ネットワークを通じて)デジタルメディア処理装置によって、デジタルオーディオサンプルが修正される。デジタル方式で適正化されたオーディオサンプルは、希望のメディアストリームで再生装置に転送されて、異なるメディアストリームで適正化された再生音量が得られる結果になる。特に、ここに述べられるデジタル音量適正化技術を補助するために、再生装置自体が調整される必要はない。なぜならば、デジタルゲイン調整の適用がなされた後に、デジタルオーディオサンプルがその再生装置に到達するからである。
【0019】
ここで、図面に戻り、そして、最初に
図1を参照する。
図1は、デジタルオーディオサンプルを含むメディアストリームについて、プレスシフトを実施するように使用することが可能なメディア再生システム100の典型的な実施形態である。システム100のこの特徴ある実施形態は、デジタルメディア処理装置(例えば、プレスシフトエンコーダシステム102)を含む。このデジタルメディア処理装置は、コンテンツ源106からメディアコンテンツ122を受信し、受信したコンテンツをストリーム形式に符号化し、そして、符号化したメディアストリーム120を遠隔的に配置されたデジタルメディアプレーヤー(また、他の再生装置)104に、ネットワーク通じて転送する。メディアプレーヤー104は、符号化されたメディアストリーム120を受信して復号し、そして、復号化されたコンテンツを視聴者に向けてテレビまたは他の表示装置108上で表示する。
図1には描かれていないが、メディアプレーヤー104は、メディアストリームのオーディオ部分の再生を補助する少なくとも1つのスピーカ、オーディオ変換器、または他のオーディオ生成素子を含むか、あるいはこれらと協力する。さまざまな実施形態において、ネットワークを通じてエンコーダシステム102かつ/またはメディアプレーヤー104と通信するサーバ112が用意されてもよく、お互いの配置でこれらの装置を補助し、セキュリティを維持し、コンテンツまたは情報を提供または受信し、かつ/または要求される任意の他の機能を提供する。すべての実施形態において、この機能が要求されるわけではないが、しかしながら、そして、ここに述べられている概念は、プレスシフトまたは任意の他のメディアまたは他のデータストリーム状態を含む、任意のデータストリームの応用または環境に、展開してもよい。
【0020】
エンコーダシステム102は、メディアコンテンツのパケット化されたストリームをネットワーク110上に転送可能な、任意の構成要素、ハードウェア、ソフトウェア論理、及び/または類似物である。さまざまな実施形態において、エンコーダシステム102は、音声/ビデオまたは他のメディアコンテンツ112を、ネットワーク110上に転送可能なパケットフォーマットへ変換するに適した符号化装置、及び/または変換器(まとめて、「エンコーダ」)のロジックと合体する。メディアコンテンツ112は、任意のフォーマットで受信されてもよく、そして、任意の種類の放送、ケーブルまたは衛星テレビプログラム源、ビデオオンデマンドまたは類似のソース、デジタルビデオディスク(DVD)、他の着脱可能なメディア、またはビデオカメラ、及び/または類似物のような任意の内部または外部コンテンツ源106から、受信されてもよい。エンコーダシステム102は、符号化されたメディアストリームを生成するために、任意の方法でメディアコンテンツ122を符号化する。さまざまな実施形態において、エンコーダシステム102は、ネットワーク110上に転送する前に、符号化されるデータを一時的に格納する転送バッファ105を含む。
【0021】
実際に、エンコーダシステム102の1つの実施形態は、CaliforniaのFoster市のSling Mediaより入手できる任意のさまざまなSLINGBOX製品を用いて実施されてもよいし、他の製品に他の実施形態が適用されてもよい。エンコーダシステム102のいくつかの実施形態は、任意の種類のデジタルビデオ記録機(DVR)、セットトップ ボックス(STB)、ケーブルまたは衛星プログラムソース、DVDプレーヤー、及び/または類似物のような外部のコンテンツ源106から、メディアコンテンツ122を一般的に受信可能である。そのように実施形態において、エンコーダシステム102は、希望するメディアコンテンツ122を作るように、コンテンツ源106にさらにコマンド124を与えてもよい。そのようなコマンド124は、任意の種類の有線または無線インターフェースによって提供されてもよい。例えば、コンテンツ源106によって受信可能な遠隔制御命令を発する赤外や他の無線の送信によってである。しかしながら、他の実施形態は、特にそれらがプレスシフトに関係がなければ、この機能を修正または完全に省略してもよい。
【0022】
他の実施形態において、エンコーダシステム102は、任意の種類のコンテンツの受信機能、またはコンテンツ源106に典型的に関係する他の機能と統合されてもよい。エンコーダシステム102は、ハイブリッドSTBまたは他の受信機(例えば、それも変換およびプレスシフト機能を提供する)であってもよい。そのような装置は、衛星、ケーブル、放送、及び/または他からの信号として、アンテナ、モデム、サーバ、及び/または他の源から受信したテレビジョンプログラムまたは他のコンテンツを符号化した信号を受信してもよい。近くで視聴したり、及び/または必要に応じて遠隔配置されたメディアプレーヤー104でプレスシフトして視聴できるようなプログラムを抽出するために、エンコーダシステム102の受信機は、受信信号を復調、あるいは復号する。この点については、エンコーダシステム102は、またハードディスクドライブ、メモリ、または他の記憶媒体上に格納されるコンテンツデータベースを含んでもよい。このハードディスクドライブ、メモリ、または他の記憶媒体は、個人またはデジタルビデオ記録機機能、または必要に応じて他のコンテンツライブラリを補助するものである。ゆえに、いくつかの実施形態において、コンテンツ源106とエンコーダシステム102とは、物理的に、及び/または論理的に、共通する要素、あるいは共通するハウジングまたはシャーシ内に包含されてもよい。
【0023】
また、他の実施形態において、エンコーダシステム102は、通常の計算システム(例えば、パーソナルコンピュータ)上に実行されるソフトウェアシステム、アプレット、または類似物を含み、または、ソフトウェアシステム、アプレット、または類似物として実現される。そのような実施形態において、エンコーダシステム102は、例えば、離れた場所へのプレスシフトのために、典型的にはコンピュータシステムのユーザに提供されるいくつかまたは全てのスクリーン表示を符号化してもよい。そのような機能を提供可能な装置は、通常のパーソナルコンピュータ上で動作するCaliforniaのFoster市のSling Mediaより入手できるSlingProjector製品であり、他の製品が用いられてもよい。
【0024】
メディアプレーヤー104は、1つまたはそれ以上のエンコーダシステム102によって符号化されたメディアストリームを、受信可能な任意の装置、構成要素、モジュール、ハードウェア、ソフトウェア、かつ/または類似物である。さまざまな実施形態において、メディアプレーヤー104は、パーソナルコンピュータ(例えば、“ラップトップ”または類似の携帯コンピュータや、またデスクトップ型コンピュータが用いられてもよい)、携帯電話、パーソナルディジタルアシスタント、パーソナルメディアプレーヤー、または類似物である。多くの実施形態において、メディアプレーヤー104は、エンコーダシステム102に安全に接続可能なソフトウェアまたはファームウェアによるメディアプレーヤーアプリケーションを含む多目的の計算装置であり、そして、必要に応じて、メディアコンテンツを受信してこれを装置のユーザに提供することが可能である。しかしながら、他の実施形態において、メディアプレーヤー104は、符号化されたメディアストリーム120をネットワークの任意の部分を通じて受信し、そして、符号化されたメディアストリーム120を復号して、ディスプレイ108上に表示される出力信号を提供するような、スタンドアロンまたは分離されたハードウェア装置である。スタンドアロンメディアプレーヤー104の1例は、CaliforniaのFoster市のSling Mediaより入手できるSLINGCSTCHER製品であり、他の製品が等価的に用いられてもよい。
【0025】
ネットワーク110は、送信機(例えば、エンコーダシステム102)と受信機(例えば、メディアプレーヤー104)間のメッセージ転送可能な任意のデジタルまたは他の通信ネットワークである。さまざまな実施形態において、ネットワーク110は、任意の数の通信プロトコルにサポートされる任意の数の公共または私用のデータ接続、リンクまたはネットワークを含む。ネットワーク110は、例えば、インターネットまたは任意のTCP/IPベースの他のネットワーク、または他の通常のネットワークを含んでもよい。さまざまな実施形態において、ネットワーク110は、携帯電話、パーソナルディジタルアシスタント、及び/または類似物などと通信するセルラー通信ネットワークのような無線、及び/または有線電話ネットワークを含む。ネットワーク110は、1つまたはそれ以上のIEEE 802.3、及び/またはIEEE 802.11ネットワークのような、任意の種類の無線または有線のローカルエリアネットワークを含んでもよい。
【0026】
ゆえに、エンコーダシステム102、及び/またはメディアプレーヤー104は、任意の方法でネットワーク110との通信が可能である(例えば、任意の種類のそれぞれのデータ接続128、及び/または125を用いる)。そのような通信を、インターネット、及び/または電話ネットワークを含む広域リンクに、例えば代えてもよい。他の実施形態においては、エンコーダシステム102とメディアプレーヤー104との間の通信は、概念的にネットワーク110に合体される1つまたはそれ以上の有線または無線の局部地域リンクに、代えてよい。さまざまな等価な実施形態において、エンコーダシステム102とメディアプレーヤー104は、ほとんどあるいは全くネットワーク機能が提供されないで、任意の種類のケーブル(例えば、イーサネットケーブルまたは類似もの)を通じて直接に接続されてもよい。
【0027】
多くの異なるプレスシフトのシナリオは、利用可能な計算資源と通信資源、消費者からの要望、及び/または他の要因に基づいて策定されるべきである。さまざまな実施形態においては、消費者は、家、事務所または他の建築物内で、エンコーダシステム102から他の部屋に置かれているデスクトップまたは携帯コンピュータに、コンテンツをプレスシフトする要求がある。そのような実施形態において、典型的には、建築物内で動作する有線または無線のローカルエリアネットワークによって、コンテンツストリームが提供される。他の実施形態において、消費者は、ブロードバンドまたは類似のネットワーク接続によって、主要な場所から別宅、事務所、ホテルまたは他の遠隔場所に置かれているコンピュータまたは遠隔メディアプレーヤー104に、コンテンツのプレスシフトを行なう要求もある。また、他の実施形態において、消費者は、モバイルリンク(例えば、GSM/EDGEまたはCDMA/EVDO接続、任意の種類の3Gまたは後続の電話リンク、IEEE 802.11 “Wi−Fi”リンク、及び/または類似物)を通じて、携帯電話、パーソナルディジタルアシスタント、メディアプレーヤー、ビデオゲームプレーヤー、自動車または他の移動用のメディアプレーや、及び/または他の装置に、コンテンツのプレスシフトを行なう要求もある。複数のプラットホームに対して使用可能なプレスシフトのアプリケーションの複数の例が、CaliforniaのFoster市のSling Mediaより提供されているが、ここに説明される概念は、任意の供給源から入手できる製品やサービスと一体化して使用されることが可能である。
【0028】
図2は、エンコーダシステム102のような、デジタルメディア処理装置の実施形態を表す構造図である。繰り返すが、エンコーダシステム102は一般的に、コンテンツ源106から受信したメディアコンテンツ122に基づいて、ネットワーク110上にルーティング可能な、符号化されたメディアストリーム120を生成する。これに関して、そして
図2を参照して、エンコーダシステム102は典型的に、エンコーダモジュール202、転送バッファ105、及び適当な制御ロジックで接続されるネットワークインターフェース206を含み、これらは制御モジュール205によって結合される。動作時には、エンコーダモジュール202は典型的に、内部または外部のコンテンツ源106からメディアコンテンツ122を受信し、符号化されるメディアストリーム120によって要求されるフォーマットにデータを符号化し、そして転送バッファ105に符号化されたデータを格納する。次に、ネットワークインターフェース206は、ネットワーク110上に転送するために、転送バッファ105からフォーマット化されたデータを取得する。制御モジュール205は、エンコーダモジュール202とネットワークインターフェース206によって実行される符号化とネットワーク転送処理を適切にモニタして制御し、あわせて他の機能を実行してもよい。さらにエンコーダシステム102は、コマンドモジュール208を有するか、または上述のようにコンテンツ源106にコマンド124を生成して提供することが可能な他の機能を有してもよい。
【0029】
上述のように、符号化されるメディアストリーム120の作成は、典型的には、コンテンツ源106から受信したメディアコンテンツ122を、ネットワーク110上での転送に適したデジタルフォーマットに符号化または変換することも含む。一般的に、符号化されるメディアストリーム120は、ネットワーク110上に転送できる標準フォーマットまたは知られているフォーマット(例えば、Washington, Redmondのマイクロソフト社から入手できるウィンドウズメディア形式、REALPLAYER形式、MPEG形式、かつ/または類似物)に、置き換えられる。この符号化は必要に応じて、任意の種類のエンコーダモジュール202に代わってもよい。エンコーダモジュール202は、任意の種類のハードウェア(例えば、メディア符号化に用いられるデジタルシグナルプロセッサまたは他の集積回路)、ソフトウェア(例えば、エンコーダシステム102において実行されてメディア符号化に用いられるソフトウェアまたはファームウェアプログラム)、または類似物であってもよい。
エンコーダモジュール202はゆえに、コンテンツ源106からメディアコンテンツ122を受信し(例えば、任意の種類のハードウェアかつ/またはソフトウェアインターフェースを通じて)、そして、ネットワーク110上に転送するために要求されるフォーマットに、受信したデータを符号化または変換するような任意の機能を有する。
図2は、単一のエンコーダモジュール202を示しているが、実際には、エンコーダモジュール202は、任意の数のエンコーダモジュール202を含んでもよい。異なるエンコーダモジュール202が、メディアプレーヤー104の種類、ネットワーク条件、ユーザ好み、かつ/または類似物に基づいて選択されてもよい。
【0030】
さまざまな実施形態において、エンコーダモジュール202はまた、符号化/変換処理前またはその間に、受信したコンテンツに他の修正、変形、及び/またはフィルタリングを適用してもよい。ビデオ信号が、例えば、大きさ変更、トリミング、及び/またはスキューされてもよい。同様に、信号のカラー、色調かつ/またはサチュレーションが変えられてもよく、及び/またはノイズリダクションまたは他のフィルタリングが適用されてもよい。いくつかの実施形態において、デジタル権利管理の符号化及び/または復号がまた適用されてもよく、及び/または要求に応じて他の機能が適用されてもよい。サンプリングレート、モノ/ステレオパラメータ、ノイズリダクション、マルチチャネル音声パラメータ及び/または類似物を調整することによって、オーディオ信号が修正されてもよい。これに関して、メディアストリーム内のデジタルオーディオサンプルは、後に詳細に述べる適応デジタルゲイン制御の技術と方法によって、修正される。そのようなゲイン制御技術は、デジタルオーディオサンプルのブロックの修正に用いられることができ、メディアストリームの再生中にユーザによって感じられる音量または音の大きさを適正化する。
【0031】
ネットワークインターフェース206は、エンコーダシステム102による通信がネットワーク110上で可能にするような、任意のハードウェア、ソフトウェア及び/またはファームウェアを意味する。さまざまな実施形態において、ネットワークインターフェース206は、適当なネットワークスタックプログラミング、及び他の機能、及び/または要求されるような任意の有線または無線インターフェースのような通常のネットワークインターフェース(NIC)を、それぞれ含む。
【0032】
さまざまな実施形態において、制御モジュール205は、それぞれ、エンコーダモジュール202とネットワークインターフェース206によって実行される符号化処理と転送処理を、モニタして制御する。そのため、制御モジュール205は、そのような機能を処理可能な任意のハードウェア、ソフトウェア、ファームウェアまたは組み合わせである。さまざまな実施形態において、制御モジュール205は、ネットワークインターフェース206を通じて遠隔メディアプレーヤーから受信したコマンドをさらに処理する(例えば、コマンドモジュール208または類似物を通じて、コンテンツ源106にコマンド124を送信することによって)。制御モジュール205は、また、ネットワークインターフェース206を通じてメディアプレーヤー104にコマンドを転送してもよく、及び/またはエンコーダシステム102の制御し、あるいは他の動作を行ってもよい。さまざまな実施形態において、制御モジュール205は、エンコーダモジュール202の動作のモニタと調整に用いられる制御機能を実行し、かつ/または、制御モジュール205は、メディアプレーヤー104に効率よくメディアストリームを提供するように、ネットワークインターフェース206に制御機能を実行する。
【0033】
エンコーダモジュール202の特定の実施形態は、適切に設定されたコンピュータ読み出し可能な媒体210内に実態的に記憶される1つまたはそれ以上のコンピュータプログラム(例えば、ソフトウェア)を含み、またはこれを実行してもよい。
図3と
図4を参照して以下で詳細に述べるように、コンピュータプログラム製品は、メディアストリーム上で特定の動作を実行することによって、エンコーダシステム102としての動作を実現する。この実施形態に対して、
図2では、コンピュータ読み出し可能な媒体210が制御モジュール205と接続されて描かれているが、全ての実施においてそのような接続が必要とされるわけではない。実際に、コンピュータ読み出し可能な媒体210は、必要に応じて、エンコーダモジュール202に関連して代替的に(または付加的に)用いられればよい。上述のように、限定しないが、コンピュータ読み出し可能な媒体210は、電子回路、半導体メモリ装置、ROM、フラッシュメモリ、消去可能なROM(EROM)、フロッピディスケット、CD−ROM、光学的ディスク、ハードディスク、または類似物を含んでもよい。
【0034】
図3は、適応デジタルゲイン制御処理300の実施形態を図示するフローチャートであり、
図4は、デジタルゲイン計算処理400の実施形態を説明するフローチャートである。説明される処理に関連して実行されるさまざまなタスクは、ソフトウェア、ハードウェア、ファームウェア、または任意のこれらの組み合わせによって実行されてもよい。述べられる処理に関連する動作と命令は、エンコーダシステム102内のプロセッサかつ/または他の処理機能によって実行されてもよく、そして、図に示されるさまざまな機能の各々を実行するための特定手段は、さらに、ソフトウェアまたは任意のフォーマットのプロセッサベース論理を実行する任意の種類の処理ハードウェア(
図2の制御モジュール205のような)であってもよい。述べられる処理は、任意の数の付加的なまたは代替的なタスクを含んでもよく、または1つまたはそれ以上の図示されるタスクを無視してもよいことが理解されるはずである。さらに、図中に示されるタスクは、図示される順序で実行される必要は無く、そして説明される処理は、ここに詳細に説明されないより包括的な手順に組み込まれてもよく、また、付加機能を有する手順を組み込んでもよい。
【0035】
ここで、
図3を参照する。再生装置に対して新しいメディアストリームが符号化して配信されるよう指示された時に、適応デジタルゲイン制御処理300が開始される。メディアストリームは、複数のデジタルオーディオサンプルを含んでもよく、あるいはこれらと結びつく。ここで用いられるように、また、よく知られているように、デジタルオーディオサンプルは、時間の点において抽出されたアナログ音声信号(または比較的に短い時間上で)をデジタルの表現にしたものである。アナログオーディオ信号の振幅は、デジタル表現へ変換され、そしてデジタルオーディオサンプルは、そのデジタル表現を伝えるビットの数を有する。特定の実施形態において、1つのデジタルオーディオサンプルは、16ビットによって表現される(しかし、必要であれば、実際のビット数は16以上または以下であってもよい)。いくつかの実施形態に関連して、デジタルオーディオサンプルに対するサンプリングレートは、秒あたりおおよそ16,000サンプルから48,000サンプルまでの範囲内であり、そして特定の実施形態は、秒あたり32,000サンプルのサンプリングレートを用いる。
【0036】
ここで使われているように、サンプルの“ブロック”は、メディアストリーム内に含まれるサンプルのセット、グループ、または他の固まりを意味する。ブロック内のサンプルの数は、任意に定義してもよいし、または特定のデータ通信規格、ストリームメディア規格、ハードウェア要求、及び/またはソフトウェア要求との互換性がとれるように、このサンプルの数が選択されてもよい。特定の実施形態において、デジタルオーディオサンプルの1つのブロックは、連続する1024サンプルによって表現される(しかし、必要であれば、実際の1ブロックあたりのサンプル数は1024以上または以下であってもよい)。従って、秒あたり32,000サンプルに対して、デジタルオーディオサンプルの1つのブロックは、32ミリ秒(ms)の時間を表す。
【0037】
処理300は、リアルタイムでかつ動的な手法で応答することで、異なるメディアストリームに対応することが可能である(ユーザは、メディアプレーヤーでの再生中に、1つのメディアストリームから他へ切り替えをしてもよい)。この点で、処理300は、メディアストリームの初期化処理を行い、そして高速適応モード(タスク302)に入ることで開始される。高速適応モードとは、ここに述べられるゲイン制御技術に対する初期のトレーニングまたは学習期間を表す。実際に、高速適応モードでは、メディアストリーム内の初期のデジタルオーディオサンプルのゲインを瞬時に調整して、ユーザに知覚される音量が、少なくともある量において適正化(必要ならば)されるようにする。その後、エンコーダシステムは、ゲイン制御がより正確に調整されて制御されながら、安定状態モードに遷移される。
【0038】
高速適応モード中でのデジタルオーディオサンプルの処理において、エンコーダシステムは、指定された重みづけファクタのセットを使用する。デジタルオーディオサンプルのブロックへ適用されるゲインを計算するために、これらの重みづけファクタが用いられる。重みづけファクタは、デジタルオーディオサンプルの隣接するブロックへ適用されるゲインを異ならせるよう、範囲を制御する。重みづけファクタと代表的なゲイン計算方法は、
図4を参照して以下で詳細に述べる。実際に、重みづけファクタは、エンコーダシステムによってアクセスできるように経験的に決定された値である。任意の数の重みづけファクタが用いられることができるが、この特定の実施形態では、符号w
1とw
2の2つの重みづけファクタを用いる。さらに、w
1とw
2の値は、高速ゲイン適応スキームにおいては可変であり、w
1とw
2の値は、安定状態ゲイン適応スキームにおいては固定される。ここに述べられるこの実施形態に対して、高速適応モードと安定状態モードの両方の動作において、w
1とw
2は正であり、そしてw
1+w
2=1の関係を満足する。
【0039】
ある状況において、高速適応モードでのw
1の値は、安定状態モードでのw
1の値以下または等しく、そして高速適応モードでのw
2の値は、安定状態モードでのw
2の値以上または等しい。特定の状況において、高速適応モードと安定状態モードの両方で、w
1>w
2である。ある状況において、高速適応モードでのw
1−w
2の差分は、安定状態モードでのw
1−w
2の差分より以下である。限定されない1例として、高速適応モードにおいて、w
1=0.7とw
2=0.3、そして安定状態モードにおいて、w
1=0.9とw
2=0.1である。
【0040】
ある実施形態において、高速適応モードにおけるw
1の値は、常に安定状態モードにおけるw
1の値以下であり(しかし、モード間の遷移においては、値が等しくなるであろう)、高速適応モードにおけるw
2の値は、常に安定状態モードにおけるw
1の値以上であり(しかし、モード間の遷移においては、値が等しくなるであろう)、そしてw
1の値は、常にw
2の値以上である(両方のモードにおいて)。さらに、高速適応モード中に、w
1とw
2の値が、一定のままである必要はない。実際に、安定状態モード中に用いられる値に到達するように、高速適応モード中にこれらの値を調整することができる。典型的な実施形態において、高速適応モード中に、w
1は、ある値(例えば、0.7)から他の値(例えば、0.9)に線形的に増加し、そしてw
2は、ある値(例えば、0.3)から他の値(例えば、0.1)に線形的に減少する。
【0041】
例えば、処理300は、高速適応モードで、オーディオサンプルの100ブロックを残していると仮定する。処理300が高速適応モードに入る時に、w
1とw
2の値がそれぞれ0.7と0.3に初期化される。オーディオサンプルの第1ブロックのゲイン調整後に、w
1は(0.9−0.7)/100だけ増加され、そしてw
2は(0.3−0.1)/100だけ減少される。w
1とw
2のこの修正は、処理300が高速適応モードにいる間中、オーディオサンプルの各ブロックのゲイン調整後に行われる。処理300が高速適応モードを終了する時に、w
1とw
2の線形調整により、それぞれ、0.9と0.1の値になる。その後、処理300は、これらの値で安定状態モードに入る。安定状態適応モードにおいて、w
1とw
2は、いずれのさらなる変化を受けずに、そして各自の値(この例において、0.9と0.1)において一定を維持する。その後の幾つかの時点において、システムが高速適応モードに戻るよう切り換えられた時に、w
1とw
2は、再度初期値にリセットされ(この例において、0.7と0.3)、そして上述のような線形調整が発生する。
【0042】
図3の参照に戻り、処理300は、高速適応モードにおけるゲイン重みづけファクタを計算またはアクセスすることができ(タスク304)、そして高速適応モード中に、処理のためのデジタルオーディオサンプルの次のブロックを獲得する(タスク306)。現ブロックに対するゲイン値を計算し、そして計算したゲイン値に従って現ブロック内のデジタルオーディオサンプルのゲインを調整することで処理300が続く(タスク308)。デジタルオーディオサンプルのそのような調整または修正によって、目的先のメディアプレーヤーの再生中に、適正化された音量(音の大きさ)を有するゲイン調整されたデジタルオーディオサンプルを得ることができる。タスク308では、高速適応モードに対応する現在適用可能な重みづけファクタ(w
1とw
2)を用いて、現ブロックのためのゲイン値が計算される。この点で、処理300が高速適応モードにいる限り、デジタルオーディオサンプルのゲインは高速ゲイン適応スキームを用いて調整される。ここに述べられる実施形態においては、ゲイン値は、元の非調整のデジタルオーディオサンプルの値に対する乗数として用いられる、乗数ゲインとして表わされる。ゆえに、ゲイン値1は、変化のないことを示し、そしてオリジナルのデジタルオーディオサンプルの値は、ゲイン値1を有し、変化しない。
【0043】
処理300は、処理を進めながら、ゲイン調整されたデジタルオーディオサンプルを、遠隔配置されたデジタルメディアプレーヤーに転送する(タスク310)。ある実施形態において、タスク310は、よく知られているように、ゲイン調整されたデジタルオーディオサンプルをブロックで、転送する。さらに、ゲイン調整されたデジタルオーディオサンプルは典型的に、ビデオコンテンツを含むあるいは伝えるメディアストリーム内に転送される。受信にあたり、メディアプレーヤーは、単純に復号化し、そして通常通りにユーザにメディアストリームを提供する。メディアプレーヤーは、ここに述べられる音量適正化技術を実現するいずれの付加的なまたは特別な処理を実行する必要がない。なぜならば、メディアプレーヤーによって受信されたデジタルオーディオサンプルは、既にゲイン調整されているからである。
【0044】
上述のように、高速適応モードは、新しいメディアストリームに対して、短いトレーニングまたは学習期間で利用できる。そして、エンコーダシステムは、高速適応モードから安定状態モードへの切り替えすることを、決定し、検出し、あるいは命令される(クエリータスク312)。処理300は、モード切り替え条件を検出することで、安定状態モードに入る(タスク314)。あるいは、処理300は、新しく調整されるw
1とw
2の値を計算あるいはアクセスし、処理のためオーディオサンプルの次ブロックを獲得するために、タスク304へ戻ることができ、そしてその後は前述のように続く。モード切り換え条件は、1つまたは任意の数の適切なメトリック、尺度、またはパラメータに関連付けられる。例えば、現メディアストリームの初期化処理をした後の予め決められた時間、あるいはシステムが高速適応モードに入った後の予め決められた時間、あるいはタスク304における重みづけファクタが計算されまたは取得された後の予め決められた時間のそれぞれの間で、高速適応モードを、アクティブな状態に維持してよい。典型的な実施形態としては、高速適応モードは、約4から8秒間続く。他の例として、現メディアストリームの初期化処理をした後の予め決められたブロック(または、サンプル)数、あるいはシステムが高速適応モードに入った後の予め決められたブロック(または、サンプル)数、あるいはタスク304における重みづけファクタが取得された後の予め決められたブロック(または、サンプル)の数の間中、高速適応モードを、アクティブな状態に維持してよい。
【0045】
エンコーダシステムがモードを切り換えるとすると、処理は、安定状態モードに入って、安定状態モードでの初期化を行う。安定状態モードは、“長期”を表し、そしてここで述べるゲイン制御技術においては、比較的に安定した期間である。実際に、高速適応モードが初期のゲイン調整を行なった後に、安定状態モードに切り替わる。安定状態モード中は、ユーザによって知覚される音量が、参照される音量レベルに関連して適正化される(必要ならば)ように、デジタルオーディオサンプルのゲインが、進行しながら正確な方法で調整される。
【0046】
安定状態モードにおいて、処理300は、安定状態モードにおけるゲイン重みづけファクタを、取得またはアクセスする(タスク316)。安定状態モードにおけるゲイン重みづけファクタは、高速適応モード中におけるゲイン重みづけファクタと異なる。安定状態モードにおいて、処理300はまた、処理のためのデジタルオーディオサンプルの次ブロックを獲得する(タスク318)。
現ブロックに対するゲイン値を計算し、そして計算したゲイン値に従って現ブロック内のデジタルオーディオサンプルのゲインを調整する処理を、処理300は続いて行う(タスク320)。タスク320では、安定状態モードに対応する現在適用可能な重みづけファクタ(w
1とw
2)を用いて、現ブロックのためのゲイン値が計算される。このため、処理300が安定状態モードでいる限りは、安定状態ゲイン適応スキームを用いてデジタルオーディオサンプルのゲインが調整される。安定状態ゲイン適応スキームは、高速ゲイン適応スキームと異なるものである。処理300は、遠隔配置されたデジタルメディアプレーヤーに、ゲイン調整されたデジタルオーディオサンプルを転送する(タスク322)。タスク310に対して上で説明したようである。繰り返しになるが、メディアプレーヤーは、ここに述べられる音量適正化技術を実施するいずれの付加的なまたは特別な処理を実行する必要はない。なぜならば、メディアプレーヤーによって受信されたデジタルオーディオサンプルは、既にゲイン調整されているからである。
【0047】
上述のように、処理300は、各新しいメディアストリームごとに繰り返される。ゆえに、エンコーダシステムは、現オーディオストリームから新しいオーディオストリームへ切り替えることを、決定し、検出し、あるいは命令されてもよい(クエリータスク324)。プロセス300が新しいメディアまたは新しいオーディオストリームを検出すれば、プロセス300は、新しいメディアストリームの処理を初期化し、そして再び高速適応モードに入る(タスク302)。あるいは、プロセス300は、タスク318に戻り、安定状態モードにおける処理のために、オーディオサンプルの次ブロックを獲得し、そして上述したことを継続する。
【0048】
本実施形態では、2つのモデル(高速適応と安定状態)を用いるが、適応デジタルゲイン制御技術は、その代りに、1つのモードのみ、または異なる2つ以上のモードを用いるようにしてもよい。異なる2つのモードの使用が、音質、効率、そして適正化速度の間でのよいバランスを、作り出す。
【0049】
ここで
図4を参照する。デジタルゲイン計算処理400は、デジタルゲイン計算処理300中に、エンコーダシステムによって使用される。処理400は、高速適応モード及び安定状態モードの両方の中で実行される(上述のように、w
1とw
2に対する値は異なる)。プロセス400は、デジタルオーディオサンプルの第1ブロック(ここで、kはブロックの番号を示す)から開始し(タスク402)、そして処理(タスク400)のために、メディアストリーム内のデジタルオーディオサンプルのそのブロックを獲得する(タスク404)。単一のオーディオサンプルは、自分自身では固有の音の大きさまたは音量の情報を有さないため、処理400は、ブロック内のデジタルオーディオサンプルを考慮する。この実施形態に対して、プロセス400は、デジタルオーディオサンプルの現ブロックに対して、音の大きさの推定値(L
k)を計算する(タスク406)。ここで、k番目のブロックは、{a
1,a
2,a
3,...a
n}のNのサンプルを含む。他の推定方法を用いてもよいが、本実施形態では、
の式により、音の大きさの推定値を計算する。ここで、L
kは、音の大きさの推定値であり、a
iは、デジタルオーディオサンプルを表し、そして現ブロックはNのデジタルサンプルを含む。任意に与えられるオーディオサンプルは、視聴者の鼓膜方向にかかる音圧として、正または負であるため、各オーディオサンプルの絶対値が取られる。ゆえに、処理400は、現ブロックに含まれるオーディオサンプルの“振幅”の和として、音の大きさの推定値を計算する。
【0050】
計算された音の大きさの推定値は、次にサイレンス(silence)閾値と比較される(クエリータスク408)。サイレンス閾値は、実験的に決定されてもよく、つまり、正確な閾値としての役割を果たせるほど低く、そして元のオーディオデータにおけるビットエラー、人工的なノイズ(artifact)、バラツキを考慮して十分に高く、そして音としては検知できない程度の“非ゼロ”の オーディオサンプルである。計算された音の大きさの推定値がサイレンス閾値より以下ならば、処理400は、デジタルオーディオサンプルの現ブロックに乗数ゲインとして1(または、任意の基準値でよく、基準値が1とほぼ等しい値である必要はない)を適用することができる(タスク410)。言い換えれば、処理400は、現ブロックに対するゲイン値(g
k)が1に等しいと仮定する。ゆえに、プロセス400は、現ブロックが無音(silence)を表していると決定すれば、いずれのゲインを適用することなく、処理400をバイパスすることができる。
図3を参照してプロセス300で説明したように、高速適応モード動作中には、ブロックずつ(block−by−block)を基本に、w
1とw
2の値が更新される(タスク412)。これに対応し、タスク412は、タスク404に戻り、処理のための次ブロックを獲得する。安定状態モード内であれば、タスク412がバイパスされる。
【0051】
クエリータスク408は、音の大きさの推定値がサイレンス閾値より以下ではないと決定すれば、処理400は次に、音の大きさの推定値によって影響される参照ゲイン値(g
r)を決定または計算を続ける(タスク414)。より明確には、参照ゲイン値は、音の大きさの推定値とサイレンス閾値に基づく。他の方法が用いられてもよいが、本実施形態では、
の式により参照ゲイン値を計算する。ここで、g
rは、参照ゲイン値であり、そしてL
refは、参照音の大きさの値である。参照音の大きさの値は、一定値であって、要求される適正化音量を、表すか、あるいは対応するか、あるいは示すものである。ゆえに、理想的にそして理論的に、ゲイン調整されたデジタルオーディオサンプルは、音の大きさが参照音の大きさの値に対応して調整されるものとして、特徴付けられる。参照ゲイン値は、後に処理400で用いられる。
【0052】
処理400はまた、デジタルオーディオサンプルの現ブロックに対する最大ゲイン値(g
m)を計算する(タスク416)。他の方法が用いられてもよいが、本実施形態では、
の式により最大ゲイン値を計算する。ここで、nは、デジタルオーディオサンプル毎のビット数であり、そしてa
maxは、デジタルオーディオサンプルの現ブロック内の最大の絶対サンプル値である。ブロックのデジタルオーディオサンプル内のビットオーバーフローを防止するために、処理400は、この方法で最大許容ゲイン値を決定する。例えば、現ブロックが、最大のサンプル値に近づくような比較的に高い値を有するデジタルオーディオサンプルを含んでいる場合には、オーバフローを引き起こさないように、そのサンプルには非常に小さい乗数ゲインが適用される。一方、ブロック内の全てのサンプルが比較的に低い値を有すれば、そのブロックには高い量の乗数ゲインが適用される。
【0053】
この特徴ある実施形態はまた、デジタルオーディオサンプルの現ブロックの推定ゲイン値(g
e)を決定または計算する(タスク418)。推定ゲイン値は、参照ゲイン値及び/または最大ゲイン値によって影響される。より明確には、推定ゲイン値は、参照ゲイン値と最大ゲイン値に基づく。他の方法が用いられてもよいが、本実施形態では、g
e=min(g
r,g
m)の式により推定ゲイン値を計算する。ここで、g
eは、推定ゲイン値である。ゆえに、推定ゲイン値は、参照ゲイン値または最大ゲイン値のいずれかに等しく、推定ゲイン値はいずれか1つよりは低い(または両方が同一であれば等しい)。
【0054】
次に、処理400は、デジタルオーディオサンプルの現ブロックに適用するゲイン値(g
k)を計算する(タスク420)。他の方法が用いられてもよいが、本実施形態では、g
k=min(w
1xg
k−1+w
2xg
e,g
m)の式により、推定ゲイン値を計算する。ここで、g
kは、計算されたゲイン値であり、w
1とw
2は、前述の重みづけファクタである。g
k対する式は、2つの値のいずれか低い1つを選択する(または、両方が同一であればいずれかを選択する)という、最小演算を含む。第1の値は、w
1xg
k−1+w
2xg
eの項によって規定され、第2の値は、最大ゲイン値(g
m)によって規定される。この式によって示されるように、ゲイン値は、推定ゲイン値、最大ゲイン値、そしてメディアストリーム内のデジタルオーディオサンプルの前のブロックに対する前ゲイン値(g
k−1)、によって影響される。上述の理由により、この計算されたゲイン値はまた、タスク414中に計算された参照ゲイン値によっても影響される。この特徴ある実施形態において、現ブロックに対するゲイン値(g
k)は、直前ブロックに対するゲイン値(g
k−1)に対応して決定される。代わりに(または付加的に)、g
kは、直前ブロックより以前のブロックに対する他のゲイン値を考慮することによって計算することができる。前のゲイン値に影響されるようにすることで、ブロックからブロックへ変わるときに(block−to−block)、適用されるゲインが大きく変化することを防止する。実際には、g
kは、1.0から8.0までの範囲の値を有すが、実施形態によっては、8.0を超える値が実施されても良い。
【0055】
デジタルオーディオサンプルの現ブロックに対する計算されたゲイン値は、ブロック内のサンプルに適用されることができる(タスク422)。実際に、タスク422では、デジタルオーディオサンプルの現ブロックを、修正、調整、あるいは変化させる。より明確には、タスク422では、元のサンプル値をg
kで乗算して現ブロックの各サンプルを修正し、その結果、ゲイン調整されたサンプル値を得る。処理300について上述したように、ゲイン調整されたサンプル値は、遠隔配置されたメディアプレーヤーに送られ、適正化された音の大きいさでメディアストリームを再生することができる。
図4は、処理400でブロックづつ(block−by−block)進行することを示すものとして、タスク422がタスク412に戻る様子を描く。前述のように、処理400は、初期には高速適応モード(重みづけファクタが線形調整されたセットを用いて)で実行され、そして安定状態モード(重みづけファクタの固定セットを用いて)が繰り返される。
【0056】
上述において、少なくとも1つの実施例が詳細に述べられたが、巨大な数の変形が存在することが完全に理解されるべきである。ここに述べられる実施例または実施形態は、発明の主題の範囲、適応性、または構成をいずれの方法においても限定するつもりもないことが完全に理解されるべきである。むしろ、上述の詳細な記載は、同業者に対して述べられた実施形態を実施するための通常のロードマップを提供している。請求項によって定義される範囲を離脱せずに、本出願時において、知られている同等なそして予知可能な機能そして構成要素の再配置におけるさまざまな変化ができることが理解されるべきである。