(58)【調査した分野】(Int.Cl.,DB名)
前記複数の別々に符号化されたオーディオオブジェクトファイルと対応する階層メタデータとを結合することによって前記プレナリーファイルを作成する段階であって、前記階層メタデータが、他の符号化オーディオオブジェクトファイルに関する各符号化オーディオオブジェクトファイルの優先順位情報を包含する、段階と、
前記データフレームアクティビティ比較及び前記階層メタデータに基づいて、前記データフレームの各々に前記利用可能なビットプールからビットを割り当てて、前記選択された期間のビット割り当てを取得する段階と、
をさらに含む、請求項1に記載の方法。
前記利用可能なビットプールから、前記選択された期間の前記データフレームの全て及び前記符号化オーディオオブジェクトファイルの全てに対してビットを割り当てる段階をさらに含む、請求項1に記載の方法。
特定のデータフレームの前記データフレームアクティビティが前記無音閾値よりも小さいか又は等しい場合に、前記特定のデータフレームを、最小量のアクティビティを有する無音データフレームとして指定して、ビットの何らかの低減なしに前記無音データフレームを表現するために使用されるビット数を同じに維持する段階と、
特定のデータフレームのデータフレームアクティビティが前記無音閾値より大きい場合に、前記データフレームアクティビティをフレームアクティビティバッファに記憶する段階と、
をさらに含む、請求項5に記載の方法。
前記選択された期間に割り当てられたビット数から、前記選択された期間中の無音データフレームによって使用されたビットを差し引くことによって、前記選択された期間の利用可能なビットプールを決定する段階をさらに含む、請求項6に記載の方法。
前記ビット割り当てにおいて前記データフレームに割り当てられるビット数を達成するよう、逆ランキング順でデータフレームのビットをトランケートする段階をさらに含み、前記ランクの低いビットが前記ランクの高いビットの前にトランケートされるようになる、請求項2に記載の方法。
オーディオオブジェクトファイルの周波数領域表現から音色を抽出して、少なくとも一部の音色が取り除かれた前記オーディオオブジェクトファイルを表現する、時間領域残余信号を取得する段階と、
前記抽出された音色及び前記時間領域残余信号を複数のデータチャンクにフォーマット化する段階であって、各データチャンクが複数のデータバイトを含む、段階と、
心理音響的に重要な順序で前記オーディオオブジェクトファイルのデータフレームのデータチャンク及び前記データチャンクのビットの両方を順序付けして、最も重要なビットから最も重要でないビットのランキング順を取得する段階と、
をさらに含む、請求項8に記載の方法。
前記復号オーディオオブジェクトファイルをミキシングしてオーディオオブジェクトミックスを作成する段階をさらに含み、前記復号オーディオオブジェクトファイルの2又は3以上は、前記ミックスにおける位置に基づく空間マスキングのために相互に依存する、請求項10に記載の方法。
オーディオオブジェクトミックスにおける空間位置決めに基づいて前記階層メタデータの前記符号化オーディオオブジェクトファイルを優先順位付けする段階をさらに含む、
ことを特徴とする請求項2に記載の方法。
オーディオオブジェクトミックスにおける各オーディオオブジェクトファイルのユーザに対する重要度に基づいて、前記符号化オーディオオブジェクトファイルの優先順位付けを行う段階をさらに含む、請求項2に記載の方法。
ターゲットビットレートでネットワークを通じて受信されたスケール圧縮ビットストリームであって、前記ビットストリームは、コンピュータデバイスに常駐するスケーラブルビットストリーム符号器を使用して別々に符号化され、データフレームアクティビティ比較及び対応する階層メタデータに基づいてトランケートされたプレナリービットレートで符号化されたプレナリーファイルのデータフレームのビットを有する複数のビット低減符号化オーディオオブジェクトファイルを包含し、前記ターゲットビットレートは、前記プレナリービットレートより小さいか又は等しく、前記プレナリーファイルが用いられて、オーディオオブジェクトファイルを再符号化することなく、異なるビットレートのビットストリームを配信し、異なるアプリケーションが異なるビットレートで符号化されるビットストリームを要求する状況に対処する、スケール圧縮ビットストリームと、
前記スケール圧縮ビットストリームを複数の符号化オーディオオブジェクトファイルに分離するためのデマルチプレクサと、
前記符号化オーディオオブジェクトファイルを復号して復号オーディオオブジェクトファイルを取得するスケーラブルビットストリーム復号器と、
を含む、オーディオ信号受信システム。
【発明を実施するための形態】
【0028】
ポスト符号化ビットレート低減システム及び方法の実施形態の以下の説明では、添付の図面を参照する。これらの図面は、ポスト符号化ビットレート低減システム及び方法の実施形態がどのように実施されるかの特定の例を例証によって示す。他の実施形態を利用できること及び請求される主題の範囲から逸脱することなく構造的な変更を行い得ることを理解されたい。
【0029】
I.序文
オーディオオブジェクトは、特定の音又は音の組合せのソース信号である。状況によっては、オーディオオブジェクトが、それに関連付けられるレンダリングメタデータを含むこともある。レンダリングメタデータは、オーディオオブジェクトが再生中にオーディオ空間にどのようにレンダリングされるかを指示するオーディオオブジェクトに伴うデータである。このメタデータは、多次元オーディオ空間情報、空間内の位置情報、及びサラウンド配列情報を含むことができる。
【0030】
オーディオオブジェクトは、個々の楽器及びボーカルなどの様々なタイプの音源を表わすことができる。さらに、オーディオオブジェクトは、サブミックス、サブグループ、又はバス(bus)と呼ばれる場合もあるオーディオステムを含むことができる。オーディオステムは、弦楽器セクション、管楽器セクション、又は街頭騒音などのオーディオコンテンツのグルーピングを包含する単一トラックとすることもできる。
【0031】
従来のオーディオコンテンツ製作環境では、オーディオオブジェクトが録音される。次に専門のオーディオエンジニアがオーディオオブジェクトを最終的なマスタミックスにミキシングする。次に結果として得られたミックスが最終ユーザに配信されて再生される。一般的に、オーディオオブジェクトのこのミックスが最終版であり、エンドユーザはミックスの変更を仮想的に行うことができない。
【0032】
従来のオーディオコンテンツ製作とは対照的に、マルチオブジェクトオーディオ(又は「マルチオブジェクトオーディオ」)は、エンドユーザが配信後にオーディオオブジェクトをミキシングするのを可能にする。特定の又は提案される方法でこのポスト配信ミキシングを制御及び指示する1つの方法は、オーディオコンテンツと共に送信される埋込みメタデータを使用することによる。別の方法は、エンドユーザがオーディオオブジェクトを直接処理及びミキシングするのを可能にするユーザ制御を提供することによる。マルチオブジェクトオーディオは、エンドユーザが独特の及び高度に個別化されたオーディオ表現を作成するのを可能にする。
【0033】
マルチオブジェクトオーディオは、記憶デバイスにファイルとして記憶して、次に要求時にビットストリームで送信することができる。オーディオビットストリームを圧縮又は符号化して、ビットストリームを送信するのに必要なビットレート及びファイルを記憶するのに必要な記憶スペースを低減することができる。一般的に、例証であり限定ではなく、ビットストリームの圧縮は、ビットストリームを表現するために情報があまり使用されないことを意味する。他方、ビットストリームの符号化は、ビットストリームが例えば記号を使用して別の形態で表現されることを意味する。しかしながら、符号化は常にビットストリームを圧縮するわけではない。
【0034】
符号化ビットストリームは、有限帯域幅ネットワークチャネル上で送信される。ポスト符号化ビットレート低減システム及び方法の実施形態は、別々に符号化されたオーディオオブジェクトを取得し、これを互いに及び付加的なデータと結合して符号化ビットストリームを生成する。別々に符号化されたオーディオオブジェクトが送信される際に、符号化オーディオオブジェクトを包含する符号化ビットストリームの帯域幅は、ネットワークチャネルの容量を超える場合が多い。このような場合、特定のアプリケーションに不適切な低ビットレートを有するビットストリームをネットワークチャネル上で送信することができる。これは、受信されたオーディオデータの低品質につながる可能性がある。
【0035】
この品質の低下は、オーディオデータの複数のストリーム(マルチオーディオオブジェクトなど)が共通ネットワークチャネル上の同時又はほぼ同時の送信のために多重化される場合に特に問題になる。これは、場合によっては各符号化されたオーディオオブジェクトの帯域幅が比例的に低下するためであり、各オーディオオブジェクト又はオーディオオブジェクトのグループの関係のあるコンテンツを考慮に入れない可能性がある。例えば、1つのオーディオオブジェクトは音楽を包含する場合があり、別のオーディオオブジェクトは街頭騒音を包含する場合がある。各オーディオオブジェクトの帯域幅を比例的に低下させることは、街頭騒音よりも音楽データに悪影響を及ぼす可能性がある。
【0036】
符号化されたビットストリームが特定のビットレートでネットワークチャネルを通じて送信されチャネル状態が変化する可能性がある期間がある。例えば、チャネルの帯域幅が妨げられて低送信ビットレートを要求する可能性がある。これらの状況では、ポスト符号化ビットレート低減システム及び方法の実施形態が、符号化ビットストリームビットレートのスケーリングを調節することによってネットワーク状態のこの変化に対応することができる。例えば、ネットワークチャネルの帯域幅が制限された場合に、符号化ビットストリームのビットレートは、ネットワークチャネルを通じた送信が継続されるように降下する。オーディオオブジェクトを再符号化する代わりに、本システム及び方法の実施形態は、符号化ビットストリームの単一バージョンを処理し、次にビットレートをスケールダウンする。次に結果として得られたスケールビットストリームは、低減されたビットレートでネットワークチャネルを通じて送信することができる。
【0037】
種々のネットワークチャネルを通じて様々なビットレートで単一の符号化ビットストリームを送信することが望ましいシナリオが発生することがある。例えばネットワークチャネルの各々が様々な容量及び帯域幅を有する場合に又はビットストリームが様々な容量を有するデバイスによって受信される場合に、これが発生する可能性がある。この状況では、本システム及び方法の実施形態は、各チャネルに対して個々に符号化又は圧縮する必要性を軽減する。代わりに、符号化ビットストリームの単一のバージョンが使用され、ビットレートのスケーリングが各チャネルの容量に応じて調節される。
【0038】
符号化ビットストリームは、リアルタイムで又は実質的にリアルタイムで処理することができる。例えば、ライブスポーツイベントの放送時等の、全オーディオファイル又はプログラムへのアクセスを必要とすることなく、実質的にリアルタイムで発生することができる。加えて、オーディオデータは、オフラインで処理してリアルタイムで再生することができる。これは、ビデオオンデマンドアプリケーション等による全オーディオファイル又はプログラムへのアクセスが存在する場合に発生する。符号化オーディオビットストリームの場合、これは複数のオーディオオブジェクトを含むことができ、その一部又は全部は、音情報及び関連のメタデータを含む。このメタデータは、限定されるわけではないが、空間における位置、速度、軌跡などを含む位置情報、広がり、放射パラメータなどを含む音響特性を含むことができる。
【0039】
各オーディオオブジェクト又はオーディオオブジェクトのグループは、同一の又は異なる符号化技術を使用して別々に符号化することができる。符号化は、ビットストリームのフレーム又はブロックで実行することができる。「フレーム」は、オーディオ信号の圧縮及びコード化で使用されるデータの時間的な個別セグメントである。これらのデータフレームは、連続シーケンスで逐次(映写スライドのように)配置することができ、圧縮オーディオビットストリームを作成する。各フレームは固定サイズであり、一定の時間間隔を含むことを表わす。フレームサイズは、パルスコード変調(PCM)サンプルレート及びコード化ビットレートに依存する。
【0040】
データの各フレームは、典型的には、後続のデータに関する情報を包含するヘッダが先行する。ヘッダの後にエラー検出及び訂正データが続き、フレームの残りがオーディオデータを包含する。オーディオデータは、特定の時点でのPCMデータ及び振幅(音量)情報を含む。明瞭な音を生成するために、何万ものフレームが順次再生され周波数を生成する。
【0041】
特定のアプリケーションの目的に応じて、様々なフレーム(例えば同じオブジェクトのフレームであるが異なる時間で発生するフレーム)を、例えばフレームのオーディオコンテンツに基づく様々なビットレートを使用して符号化することができる。この方式は、符号化データのサイズが経時的に変化するので可変ビットレート(VBR)コード化と呼ばれる。このような方式は、融通性を提供して符号化データの品質対帯域幅比を改善することができる。代わりに、同じビットレートを使用してフレームを符号化することができる。この方式は、符号化データのサイズが経時的に一定であるので一定ビットレート(CBR)コード化と呼ばれる。
【0042】
分離を維持するために非符号化及び非圧縮方式で単独でオーディオオブジェクトを送信することが可能ではあるが、これは、通常大きなファイルを送信するのに一般的に必要な大きな帯域幅要件のために、普通は実現可能ではない。従って、オーディオ圧縮及び頻繁な符号化の幾つかの形態を使用して、マルチオブジェクトオーディオのエンドユーザへの経済的な配信を促進する。各オーディオオブジェクトの間の適切な音響分離を維持しながら、ビットレートを低減するためにオーディオオブジェクトを包含するオーディオ信号を符号化することは難しいことが分かっている。
【0043】
例えば、複数のオーディオオブジェクトのための一部の既存のオーディオ圧縮技術は、各オブジェクトの依存関係に基づく。特に、結合符号化技術は、位置、空間マスキング、及び周波数マスキングなどの因子に基づくオーディオオブジェクトの依存関係を頻繁に使用する。しかしながら、これらの結合符号化技術に伴う1つの問題は、その配置が配信の前に知られていない場合にオブジェクト間の空間及び周波数マスキングを予測するのが難しいことである。
【0044】
既存のオーディオ圧縮技術の別のタイプは、一般的には計算コストが高い復号及びレンダリングシステム、並びにマルチオーディオオブジェクトを別々に伝達するための高い伝送速度又はデータ記憶速度を必要とする離散的なオブジェクトベースのオーディオシーンコーディングである。マルチオブジェクトオーディオを配信するための符号化技術の別のタイプは、マルチチャネル空間オーディオコーディングである。しかしながら、離散的なオブジェクトベースのオーディオシーンコーディング技術とは異なり、この空間オーディオコーディング方式は分離可能なオーディオオブジェクトを定義しない。結果的に、空間オーディオ復号器は、ダウンミックスオーディオ信号の各オーディオオブジェクトの寄与を分離することができない。
【0045】
マルチオーディオオブジェクトをコード化するためのさらに別の技術は、空間オーディオオブジェクトコーディング(SAOC)である。しかしながら、SAOC技術は、時間−周波数領域で同時に起こるダウンミックス信号のオーディオオブジェクトを十分に分離することができない。結果的に、SAOC復号器によるオブジェクトの大規模な増幅又は減衰は、対話型ユーザ制御に必要なので、再生されたシーンのオーディオ品質における顕著な劣化を起こす可能性がある。
【0046】
教育的な目的及び例証の容易さに関して、本明細書は主にオーディオデータの使用に言及することに留意されたい。しかしながら、本明細書に記載の特徴は、映像データ並びに地震及び医療データなどの時系列信号を包含するデータを含む他の形態のデータにも適用することができる。加えて、本明細書に記載の特徴は、データの記憶及びデータの送信などのいずれのタイプのデータの操作にも仮想的に適用することができる。
【0047】
II.システムの概要
ポスト符号化ビットレート低減システム及び方法の実施形態は、一部のプレナリービットレートで複数のオーディオオブジェクトファイルを別々にかつ独立して符号化する。次に本システム及び方法の実施形態は、これらの符号化オーディオオブジェクトファイルをそれに関連する階層化メタデータと結合してプレナリーファイルを生成する。複数のビットストリームは、単一のプレナリーファイルから取得することができる。これらの複数のビットストリームは、プレナリービットレートより小さいか又は等しいターゲットビットレートである。スケーリングとして公知であるこのビットレート変更は、最適品質が各スケールビットレートで維持されることを保証する。さらに、ビットレートのスケーリングは、最初にプレナリーファイルをその非圧縮形式に戻し、次に結果として得られた非圧縮データを異なるビットレートで再符号化することを必要とせずに達成される。
【0048】
以下に詳しく説明するように、このスケーリングはその一部が以下のように達成される。第1に、オーディオオブジェクトファイルは、各フレームのビットを、心理音響的重要度に基づいて順序付けるスケーラブルビットストリーム符号器を使用して、別々に符号化される。また、このスケーラブル符号化は、フレームの中のビットを取り除くことによってファインスケール方式でビットレートの変更を可能にする。第2に、各フレーム時間間隔で、オブジェクトファイルの各々の中の対応するフレームアクティビティが検討される。次に、これらのフレームアクティビティ尺度の間の相対的な関係に基づいて、本システム及び方法の実施形態は、各圧縮オブジェクトファイルのどのフレームペイロードが維持されるかを決定する。換言すると、オーディオオブジェクトファイルの各フレームペイロードは、その測定されたマルチメディアフレームアクティビティ及び共に多重化される全ての他のオーディオオブジェクトファイルにおける全てのフレームアクティビティとの関係に基づいてスケールされる。
【0049】
図1は、ポスト符号化ビットレート低減システム100の実施形態の概要を示すブロック図である。システム100はサーバコンピュータデバイス110に配置される。システム100の実施形態は、入力としてオーディオ信号120を受信する。オーディオ信号120は多種多様な形態及び種類の様々なタイプのコンテンツを包含することができる。さらに、オーディオ信号120は、アナログ、デジタル、又は他の形態とすることができる。そのタイプは、連続するストリーム又は何らかの他のタイプの、反復的な離散的総量で発生する信号とすることができる。入力信号のコンテンツは、オーディオデータ、ビデオデータ、又は双方を含む仮想的なものとすることができる。一部の実施形態では、オーディオ信号120は、複数のオーディオオブジェクトファイルを包含する。
【0050】
システム100の実施形態は、オーディオ信号120に包含されるオーディオオブジェクトファイルの各々を個々に符号化するスケーラブルビットストリーム符号器130を含む。スケーラブルビットストリーム符号器130は、複数の符号器とすることができる点に留意されたい。
図1に示すように、スケーラブルビットストリーム符号器130からの出力は、符号化オーディオオブジェクトファイル(1)から符号化オーディオオブジェクトファイル(M)を含む、独立して符号化されたM数のオーディオオブジェクトファイルであり、Mはゼロではない正の整数である。符号化オーディオオブジェクトファイル(1)から(M)は、関連した階層メタデータと結合されてプレナリーファイル140が得られる。
【0051】
特定のターゲットビットレート160を有するビットストリームが望まれる場合は必ず、プレナリーファイル140は、ビット低減モジュール150によって処理され所望のビットストリームを生成する。ビット低減モジュール150は、プレナリーファイル140を処理して、ターゲットビットレート160より小さいか又は等しいビットレートを有するスケール圧縮ビットストリーム170を生成する。スケール圧縮ビットストリーム170が生成された状態で、次に受信デバイス180に送信される。サーバコンピュータデバイス110は、ネットワーク185を通じて他のデバイス(受信デバイス180等)と通信する。サーバコンピュータデバイス110は、第1の通信リンク190を使用してネットワーク185にアクセスし、受信デバイス180は第2の通信リンク195を使用してネットワーク185にアクセスする。このように、スケール圧縮ビットストリーム170は、受信デバイス180によって要求され受信デバイス180に送信される。
【0052】
図1に示した実施形態では、ネットワークチャネルは、第1の通信リンク190、ネットワーク185、及び第2の通信リンク195を含む。ネットワークチャネルは、特定の最大帯域幅を有し、ターゲットビットレート160としてビット低減モジュールに伝えられる。スケール圧縮ビットストリーム170は、チャネルの最大帯域幅を超えないようにターゲットビットレートで又はそれより下でネットワークチャネルを通じて送信される。
【0053】
上述のように、状況によっては多様な容量を有する複数のネットワークチャネルを通じて様々なビットレートで単一のプレナリーファイルを送信することが望ましい場合がある。
図2は、単一のプレナリーファイル140から複数のスケール圧縮ビットストリームを取得するポスト符号化ビットレート低減システム100の実施形態の概要を示すブロック図である。
図2に示すように、プレナリーファイル140は、特定のプレナリービットレートのM数の符号化オーディオオブジェクトファイルを包含する。具体的には、
図2は、プレナリービットレートでの符号化オーディオオブジェクトファイル(1)、プレナリービットレートでの符号化オーディオオブジェクトファイル(2)、プレナリービットレートでの符号化オーディオオブジェクトファイル(3)、及びプレナリービットレートで符号化オーディオオブジェクトファイル(M)を含むあらゆる付加的な符号化オーディオオブジェクトファイルを示す(省略記号で示す)。
【0054】
符号化オーディオオブジェクトファイル(1)から符号化オーディオオブジェクトファイル(M)は、プレナリービットレートでスケーラブルビットストリーム符号器130によって単独で符号化される。プレナリービットレートはターゲットビットレート160より高い。典型的にはターゲットビットレート160は、チャネルの利用可能な帯域幅を超えることなくネットワークチャネルを通じてコンテンツを送信するために使用されるビットレートである。
【0055】
一部の実施形態では、プレナリーファイル140は、M個の単独符号化オーディオオブジェクトファイルを符号化するために高ビットレートを使用し、レナリーファイル140のサイズがかなり大きい。プレナリーファイル140のコンテンツが制限された帯域幅を有するネットワークチャネルを通じて送信される場合にこれは問題になる。以下に詳しく説明するように、制限された帯域幅チャネルを通じて大きなサイズのファイル(プレナリーファイル140など)を送信することに関わる問題を軽減するために、符号化オーディオオブジェクトファイル(1)から(M)は、ビット低減モジュール150によって処理され、単一のプレナリーファイル140から複数のスケール符号化ビットストリームを作成する。これは、ビット割り当てに基づいてデータフレームの順序付けられたデータのチャンクを取り除くことによって一部達成される。
【0056】
図1には単一のターゲットビットレート160が示されているが、シナリオによっては、複数のターゲットビットレートが存在する場合がある。例えば、プレナリーファイル140を、各々が様々なビットレートを有する様々なネットワークチャネルを通じて送信することが望ましい場合がある。
図2に示すように、N数のターゲットビットレート200が存在し、ここでNは正のゼロではない整数である。ターゲットビットレート200は、ターゲットビットレート(1)、ターゲットビットレート(2)など、最大ターゲットビットレート(N)までを含む。
【0057】
ビット低減モジュール150は、プレナリーファイル140のビットレートをスケール調整するためにターゲットビットレート160を受信し、結果として得られたスケール符号化ビットストリームは、特定の制限された帯域幅チャネルに適合することになる。ターゲットビットレート200は、典型的には、インターネットサービスプロバイダ(ISP)から送信され、本システム100及び方法の実施形態に、ビットストリームが送信されるネットワークチャネルの帯域幅のニーズ及び容量を通知する。ターゲットビットレート200は、プレナリービットレートより小さいか又はこれに等しい。
【0058】
図2の例示的な実施形態では、ターゲットビットレート200はNの異なるターゲットビットレートを含み、ここでNは、Mに等しい、Mより小さい、又はMより大きいとすることができるゼロではない正の整数である。ターゲットビットレート200は、ターゲットビットレート(1)、ターゲットビットレート(2)、場合によっては付加的なターゲットビットレート(省略記号で示す)、及びターゲットビットレート(N)を含む。典型的には、ターゲットビットレート200は互いに異なることができるが、一部の実施形態では同様とすることもできる。また、ターゲットビットレート200の各々は、一緒に又は経時的に独立して送信できる点に留意されたい。
【0059】
図2に示したスケール圧縮ビットストリームは、ターゲットビットレート200に対応する。例えば、ターゲットビットレート(1)は、ターゲットビットレート(1)でスケール圧縮ビットストリーム(1)を生成するために使用され、ターゲットビットレート(2)は、ターゲットビットレート(2)でスケール圧縮ビットストリーム(2)を生成するために使用され、場合によってはターゲットビットレートで付加的なスケール圧縮ビットストリーム(省略記号で示す)及びスケール符号化ファイル(N)を生成し、ここでNは、上述のように同じゼロでない正の整数である。一部の実施形態では、個々のターゲットビットレートは、類似又は同一とすることができるが、一般的には個々のターゲットビットレートは互いに異なる。
【0060】
教育的な目的で、特定の数の符号化オーディオオブジェクトファイル、ターゲットビットレート、及びスケール圧縮ビットストリーム(
図2に示す)が存在する点に留意されたい。しかしながら、N=1、M=1の場合も存在でき、単一のスケール圧縮ビットストリームがプレナリーファイル140から取得される。他の実施形態では、Nを大きな数にすることができ幾つかのスケール圧縮ビットストリームがプレナリーファイル140から取得される。さらに、スケール圧縮ビットストリームは、クライアントからの要求に応じてオンザフライで生成することができる。代わりに、スケール圧縮ビットストリームは、事前に生成して記憶デバイスに記憶することができる。
【0061】
III.システムの詳細
ポスト符号化ビットレート低減システム100の実施形態の構成要素のシステム詳細をここで説明する。これらの構成要素は、ビット低減モジュール150、スケーラブルビットストリーム符号器130、及びフレーム毎の階層ビット割り当てモジュールを含む。加えて、受信デバイス180のスケール圧縮ビットストリーム170の復号を説明する。本システムを実施できる幾つかの方法のうちの幾つかを以下に詳述する点に留意されたい。多くの変形例が可能である。
【0062】
図3は、
図1及び2に示したポスト符号化ビットストリーム低減システム100の第1の実施形態の詳細を示すブロック図である。この特定の実施形態では、オーディオオブジェクトファイルが前もって単独で及び別々に符号化されており、プレナリーファイル140に包含される。プレナリーファイル140は、ポスト符号化ビットレート低減システム100の実施形態に入力される。システム100は、更なる処理のためにプレナリービットレートで個々に符号化されたオーディオオブジェクトファイル300を受信する。
【0063】
個々に符号化されたオーディオオブジェクトファイル300は、ビット低減モジュール150によって処理される。以下に詳しく説明するように、ビット低減モジュール150は、ターゲットビットレート200を達成するために符号化オーディオオブジェクトファイルを表わすために使用されるビット数を低減する。ビット低減モジュール150は個々に符号化されたオーディオオブジェクトファイル300を受信して、これをフレーム毎の階層ビット割り当てモジュール310を使用して処理する。このモジュール310は、階層ビット割り当て方式に基づいてフレームの各々のビット数を低減する。モジュール310の出力は、ビット低減符号化オーディオオブジェクトファイル320である。
【0064】
統計的マルチプレクサ330は、ビット低減符号化オーディオオブジェクトファイル320を取得してこれを結合する。一部の実施形態では、統計的マルチプレクサ330は、チャネル容量又は帯域幅(ビット数で測定)を、少なくとも部分的に階層ビット割り当て方式に基づいて各符号化オーディオオブジェクトファイル1からMに割り当てる。一部の実施形態では、符号化オーディオオブジェクトファイルは可変ビットレート(VBR)符号化データであり、統計的マルチプレクサ330は固定ビットレート(CBR)符号化データを出力する。
【0065】
一部の実施形態では、統計的マルチプレクサ330は、ビット割り当て中に符号化オーディオオブジェクトファイルの他の特徴を考慮する。例えば、符号化オーディオオブジェクトファイルのオーディオコンテンツ(音楽、会話、雑音など)が該当する。単純な衝突音(雑音など)に関連付けられる符号化オーディオオブジェクトファイルは、音楽トラックに関連付けられるオブジェクトよりも小さな帯域幅を必要とする場合がある。別の実施例として、オブジェクトの音量は、帯域幅割り当てに使用することができる(これによって音量の大きなオブジェクトは、より多くのビット割り当ての恩恵を受けることができる)。さらに別の実施例として、オブジェクトに関連付けられるオーディオデータの周波数は、同様にビット割り当てに使用することができる(これによって広帯域オブジェクトは、より多くのビット割り当ての恩恵を受けることができる)。
【0066】
次に、ビットストリームパッカー340は、多重化ビット低減符号化オーディオオブジェクトファイル320を処理して、これを送信するためにフレーム及びコンテナにパックする。ビットストリームパッカー340の出力は、可変サイズのフレームペイロードを包含するスケール圧縮ビットストリーム170である。スケール圧縮ビットストリーム170は、ターゲットビットレート160より小さいか又は等しいビットレートである。
【0067】
一部の実施形態では、オーディオオブジェクトファイルはまだ符号化されていない。
図4は、
図1及び2に示したポスト符号化ビットレート低減システム100の第2の実施形態の詳細を示すブロック図である。符号化されていないオーディオオブジェクトファイル400は、システム100の実施形態によって受信される。スケーラブルビットストリーム符号器130は、プレナリーファイル140を取得するためにオーディオオブジェクトファイル400の各々を単独で符号化する。
【0068】
プレナリーファイル140は、ビット低減モジュール150に入力される。フレーム毎の階層ビット割り当てモジュール310は、プレナリーファイル140を処理してビット低減符号化オーディオオブジェクトファイル320を取得する。統計的マルチプレクサ330は、ビット低減符号化オーディオオブジェクトファイル320を取得し、これを結合する。次にビットストリームパッカー340は、多重化ビット低減符号化オーディオオブジェクトファイル320を処理して、これを送信するためにフレーム及びコンテナにパックする。ビットストリームパッカー340の出力は、可変サイズのフレームペイロードを包含するスケール圧縮ビットストリーム170である。スケール圧縮ビットストリーム170は、ターゲットビットレート160より小さいか又は等しいビットレートである。
【0069】
図5は、
図1及び4に示したスケーラブルビットストリーム符号器130の例示的な実施形態を示すブロック図である。スケーラブルビットストリーム符号器130のこれらの実施形態は、複数のスケーラブルビットストリーム符号器を包含する。
図5に示した例示的な実施形態では、スケーラブルビットストリーム符号器500M復号器、すなわちスケーラブルビットストリーム符号器(1)からスケーラブルビットストリーム符号器(M)であり、ここでMはゼロではない正の整数である。スケーラブルビットストリーム符号器500への入力はオーディオ信号120である。これらの実施形態では、オーディオ信号120は複数のオーディオオブジェクトファイルを包含する。特に、オーディオ信号120は、オーディオオブジェクトファイル(1)からオーディオオブジェクトファイル(M)を含むM数のオーディオオブジェクトファイルを含む。
【0070】
図5に示した例示的な実施形態では、スケーラブルビットストリーム符号器500は、M数のオーディオオブジェクトファイルの各々のためのM数の符号器を包含する。従って、各オーディオオブジェクトに対して1つの符号器が存在する。しかしながら、他の実施形態では、スケーラブルビットストリーム符号器の数は、オーディオオブジェクトファイルの数より小さくすることができる。スケーラブルビットストリーム符号器の数に関わりなく、複数の符号器の各々は、複数のオーディオオブジェクトファイルの各々を個々に符号化して、個々に符号化されたオブジェクトファイル300、すなわち個々に符号化されたオーディオオブジェクトファイル(1)から個々に符号化されたオーディオオブジェクトファイル(M)を取得する。
【0071】
図6は、ネットワーキング環境で実施されるポスト符号化ビットレート低減システム100及び方法の実施形態の例示的な実施例を示すブロック図である。
図6には、媒体データベースサーバ600の形態のコンピュータデバイスで実施されるシステム100及び方法の実施形態が図示されている。媒体データベースサーバ600は、デスクトップコンピュータ、ノートブックコンピュータ、及び移動電話などの組込式デバイスなどのプロセッサを含む仮想的な何らかのデバイスとすることができる。
【0072】
一部の実施形態では、システム100及び方法は、クロスアプリケーション、クロスデバイスアクセスのためのクラウドベースのサービスとして媒体データベースサーバ600に記憶される。サーバ600はネットワーク185を通じて他のデバイスと通信する。一部の実施形態では、他のデバイスの1つは受信デバイス180である。媒体データベースサーバ600は、第1の通信リンク190を使用してネットワーク185にアクセスし、受信デバイス180は、第2の通信リンク195を使用してネットワーク185にアクセスする。このように媒体データベースサーバ600及び受信デバイス180は互いの間でデータを伝送及び転送することができる。
【0073】
符号化オーディオオブジェクトファイル(1)から(M)を包含するプレナリーファイル140は、媒体データベースサーバ600に位置付けられる。プレナリーファイル140は、ビット低減モジュール150によって処理され、ビット低減符号化オーディオオブジェクトファイル320を取得するようになっている。ビット低減符号化オーディオオブジェクトファイル320は、統計的マルチプレクサ330及びビットストリームパッカー340によって処理され、ターゲットビットレート又はそれ未満でスケール圧縮ビットストリーム170を生成する。ターゲットビットレートは、
図2に示したターゲットビットレート200から取得される。
【0074】
図6に示した実施形態では、媒体データベースサーバ600に記憶されたプレナリーファイル140が図示されている。上述のように、プレナリーファイル140は、プレナリービットレートで個々に符号化されたM数の符号化オーディオオブジェクトファイルを包含する。本明細書で使用するビットレートは、通信リンク又はチャネルを介した2進数の流れの速度として定義される。換言すると、ビットレートは、ビットが1つの位置から別の位置に転送される速度を表わす。ビットレートは、一般的には1秒当たりのビット数として表される。
【0075】
ビットレートは、ダウンロード速度を表すことができ、所与のビットレートに関して、ダウンロード時間は、3ギガバイト(Gb)ファイルよりも1Gbファイルのほうが短い。ビットレートは、媒体ファイルの品質を表すこともできる。例示的に、1秒当たり192キロビット(Kbps)で圧縮されるオーディオファイルは、一般的には128Kbpsで圧縮される同じオーディオファイルよりも良好な又は高い品質(より大きなダイナミックレンジ及び明瞭度の形態)を有することになる。これは、多くのビットが毎秒の再生データを表すために使用されるからである。従って、マルチメディアファイルの品質がそれに関連付けられるビットレートによって測定及び指示される。
【0076】
図1−5に示した実施形態では、符号化オーディオオブジェクトファイルは、ターゲットビットレート200のいずれよりも大きなプレナリービットレートで符号化される。これは、プレナリーファイル140の符号化オーディオオブジェクトファイルが、ターゲットビットレート200のいずれにおけるスケール圧縮ビットストリーム170に包含される符号化オーディオオブジェクトファイルより高い品質であることを意味する。
【0077】
プレナリーファイル140及び符号化オーディオオブジェクトファイルの各々は、ポスト符号化ビットレート低減システム100及び方法の実施形態に入力される。以下に詳しく説明するように、システム100及び方法の実施形態は、フレーム毎のビット低減を使用して、符号化オーディオオブジェクトファイルを表わすために使用されるビット数を低減する。これはオブジェクトを再符号化する必要なく達成される。これは、複数のビット低減符号化オーディオオブジェクトファイル320を包含するビット低減ファイル(図示せず)をもたらす。これは、プレナリーファイル140の符号化オーディオオブジェクトファイルの少なくとも一部が、プレナリーファイル140と比較して低減されたビット数によってビット低減符号化オーディオオブジェクトファイル320として表現されることを意味する。次に、個々のビット低減符号化オーディオオブジェクトファイル320は、統計的マルチプレクサ330によって単一の信号に処理され、ビットストリームパッカー340によってスケール圧縮ビットストリーム170にパックされる。スケール圧縮ビットストリーム170は、ターゲットビットレートより小さいか又は等しいビットレートである。さらに、ターゲットビットレートは、プレナリービットレートより小さい。
【0078】
スケール圧縮ビットストリーム170は、ネットワーク185を通じて受信デバイス180に送信される。この送信は、一般的には受信デバイス180による要求に応じて発生するが、媒体データベースサーバ600にファイルとして記憶されるスケール圧縮ビットストリーム170を有することを含む、多数の他のシナリオが発生する場合もある。受信デバイス180は、スケール圧縮ビットストリーム170を記憶又は再生することができる何らかのネットワーク対応コンピュータデバイスとすることができる。受信デバイス180は、ポスト符号化ビットレート低減システム100及び方法の実施形態とは異なるコンピュータデバイスに常駐するものとして
図6に示しているが、一部の実施形態では、これらを同じコンピュータデバイス(媒体データベースサーバ600など)に常駐させることができる点に留意されたい。
【0079】
受信デバイス180は、符号化オーディオオブジェクトファイルをその個々の成分に分離するためにデマルチプレクサ610を使用することによって、受信されたスケール圧縮ビットストリーム170を処理する。
図6に示すように、これらの個々の成分は、符号化オーディオオブジェクトファイル(1)、符号化オーディオオブジェクトファイル(2)、符号化オーディオオブジェクトファイル(3)、最大かつ符号化オーディオオブジェクトファイル(M)を含む他の符号化オーディオオブジェクトファイルの存在(省略記号で示す)を含む。これらの別々の符号化オーディオオブジェクトファイルの各々は、符号化オーディオオブジェクトファイルを復号することができるスケーラブルビットストリーム復号器620に送信される。一部の実施形態では、スケーラブルビットストリーム復号器630は、符号化オーディオオブジェクトファイルの各々のための別々の復号器を包含する。
【0080】
図6に示すように、一部の実施形態では、スケーラブルビットストリーム復号器620は、スケーラブル復号器(1)(符号化オーディオオブジェクトファイル(1)を復号するために使用される)、スケーラブル復号器(2)(符号化オーディオオブジェクトファイル(2)を復号するために使用される)、スケーラブル復号器(3)(符号化オーディオオブジェクトファイル(3)を復号するために使用される)、必要とされる他のスケーラブル復号器(省略で示す)、及びスケーラブル復号器(M)(符号化オーディオオブジェクトファイル(M)を復号するために使用される)を含む。他の実施形態では、任意の数のスケーラブル復号器を使用して符号化オーディオオブジェクトファイルを復号できる点に留意されたい。
【0081】
スケーラブルビットストリーム復号器620の出力は、複数の復号オーディオオブジェクトファイルである。具体的には、複数の復号オーディオオブジェクトファイルは、復号オーディオオブジェクトファイル(1)、復号オーディオオブジェクトファイル(2)、復号オーディオオブジェクトファイル(3)、必要とされる可能性のある他の復号オーディオオブジェクトファイル(省略で示す)、及び復号オーディオオブジェクトファイル(M)を含む。この時点で、復号オーディオオブジェクトファイルは、後で使用するために記憶するか又は直ちに使用することができる。どちらにしても、復号オーディオオブジェクトファイルの少なくとも一部分はミキシングデバイス630に入力される。一般的には、ミキシングデバイス630は、復号オーディオオブジェクトファイルをミキシングして個別化されたオーディオオブジェクトミックス640を生成するユーザによって制御される。しかしながら、他の実施形態では、復号オーディオオブジェクトファイルのミキシングは、本システム100及び方法の実施形態によって自動的に行うことができる。他の実施形態では、オーディオオブジェクトミックス640は、サードパーティベンダによって作成される。
【0082】
図7は、
図3に示したフレーム毎の階層ビット割り当てモジュール310の詳細を示すブロック図である。モジュール310は、プレナリービットレートで符号化された個々に符号化されたオーディオオブジェクトファイル300を受信する。特定の期間に、その期間の各符号化オーディオオブジェクトファイルの各フレームは、特定の期間の符号化オーディオオブジェクトファイル700の全てにわたって調べられる。階層情報710は階層モジュール720に入力される。階層情報710は、フレームをどのように優先順位付けすべきか及び最終的にフレーム間にビットをどのように割り当てるべきかに関するデータを含む。
【0083】
ビットプールからの利用可能なビット730は、割り当てモジュール740によって使用され、期間中にフレーム間に分散するのに利用できるビット数を決定する。階層情報710に基づいて、割り当てモジュール740は、その期間においてフレーム間にビットを割り当てる。これらのビットは、階層情報710に基づいて、符号化オーディオオブジェクトファイル、サブバンド、及びフレームにわたって割り当てられる。
【0084】
割り当てモジュール740は、特定の期間の各フレームに割り当てられたビット数を指図するビット割り当て750を生成する。ビット割り当てに基づいて、低減モジュール760は、必要に応じて各フレームからビットを削減(pare down)して、その特定のフレームに関するビット割り当て750に応じる。これは、所与の期間の削減(pared down)フレーム770をもたらす。これらの削減フレームは結合されてビット低減符号化オーディオオブジェクトファイル320を生成する。
【0085】
IV.動作の概要
図8は、
図1−7に示したポスト符号化ビットレート低減システム100及び方法の実施形態の一般的な動作を示す流れ図である。動作は複数のオーディオオブジェクトファイルを入力することによって開始する(ボックス800)。これらのオーディオオブジェクトファイルは、それに関連付けられるレンダリングメタデータと結合したソース信号を含むことができ、様々な音源を表現することができる。これらの音源は、個々の楽器及びボーカル、及びドラムキットの個々の構成要素の複数のトラックを包含するドラムキットのオーディオオブジェクトなどの音源のグループを含むことができる。
【0086】
次に、システム100及び方法の実施形態は、オーディオオブジェクトファイルの各々を単独で及び別々に符号化する(ボックス810)。この符号化は、細粒度スケーラビリティ特性を有する1又は2以上のスケーラブルビットストリーム符号器を利用する。細粒度スケーラビリティ特性を有するスケーラブルビットストリーム符号器の例は、2008年2月19日出願の米国特許第7,333,929号明細書「モジュラースケーラブル圧縮オーディオデータストリーム」、及び2009年6月16日出願の米国特許第7,548,853号明細書「階層フィルタバンク及びマルチチャネルジョイントコーディングを使用したスケーラブル圧縮オーディオビットストリーム及びコーデック」に示されている。
【0087】
システム100及び方法は、複数の別々に符号化されたオーディオファイル並びに何らかの階層メタデータ710を結合してプレナリーファイル140を生成する(ボックス820)。プレナリーファイル140はプレナリービットレートで符号化される。各オーディオオブジェクトファイルは、複数のオーディオオブジェクトファイルの間の分離及び隔離を維持するために個々に符号化されることが強調される。
【0088】
階層メタデータは、階層又は優先順位の少なくとも3つのタイプを包含することができる。これらのタイプの優先順位の1つ又は任意の組合せは、階層メタデータに含むことができる。優先順位の第1のタイプは、フレームの中のビット優先順位である。こうした状況では、ビットは、人間の聴覚に対する心理音響的な重要度の順序で配置される。優先順位の第2のタイプは、オーディオオブジェクトファイルの中のフレーム優先順位である。こうした状況では、フレームの重要度又は優先順位は、フレームのアクティビティに基づく。フレームアクティビティがフレーム時間間隔中の他のフレームと比較して高い場合、低アクティビティフレームよりも階層で高くランク付けされる。
【0089】
優先順位の第3のタイプは、プレナリーファイルの中のオーディオオブジェクトファイル優先順位である。これは、クロスオブジェクトマスキング及びユーザ定義の優先順位の両方を含む。クロスオブジェクトマスキングでは、オーディオオブジェクトは、オーディオ空間でレンダリングされる場所に基づいて、特定のオーディオオブジェクトファイルを別のオーディオオブジェクトファイルによってマスキングすることができる。この状況では、1つのオーディオオブジェクトファイルは、マスクされたオーディオオブジェクトファイルを上回る優先順位を有する。ユーザ定義の優先順位では、ユーザは、1つのオーディオオブジェクトファイルが別のオーディオオブジェクトファイルより重要であることを定義できる。例えば、映画のオーディオサウンドトラックでは、ダイアログを包含するオーディオオブジェクトファイルが、街頭雑音を包含するオーディオオブジェクト又は背景音楽を包含するオーディオオブジェクトファイルよりもユーザにとって高い重要度を有することができる。
【0090】
所望のターゲットビットレートに基づいて、プレナリーファイル140は、ビット低減モジュール150によって処理されスケール圧縮ビットストリーム170を生成する。スケール圧縮ビットストリームはいずれの再符号化なしに生成される。さらに、スケール圧縮ビットストリームは、ターゲットビットレート又はそれより小さいビットレートでネットワークチャネルを通じた送信のためにデザインされる。
【0091】
ターゲットビットレートは、常にプレナリービットレートよりも小さい。オーディオオブジェクトの各々は、ターゲットビットレート200のいずれかを超えるプレナリービットレートで単独で符号化される点に留意されたい。ターゲットビットレートが符号化の前に知られていない状況では、オーディオオブジェクトの各々は、最大利用可能ビットレートで、又は送信中に使用される最高予想ターゲットビットレートを超えるビットレートで符号化される。
【0092】
スケール圧縮ビットストリームを取得するために、システム100及び方法の実施形態は、プレナリーファイル140を一連のフレームに分割する。一部の実施形態では、プレナリーファイル140のオーディオオブジェクトファイルの各々は、ファイル140の持続時間全体にわたって存在する。これは、オーディオオブジェクトファイルが再生中の無音期間を包含する場合でも真である。
【0093】
図8を再度参照すると、システム100及び方法の実施形態はフレーム時間間隔(又は期間)を選択して、選択された期間中のフレームのフレームアクティビティを比較する(ボックス830)。このフレーム時間間隔は、オーディオオブジェクトの各々からのフレームを含む。選択された期間のフレーム毎の比較は、その期間のデータフレームアクティビティ比較を生成する。一般的に、フレームアクティビティは、フレームのオーディオを符号化することがどんなに難しいかの尺度である。フレームアクティビティは複数の方法で決定することができる。一部の実施形態では、フレームアクティビティは、複数の抽出された音色(tonal)及び結果として得られたフレーム残余エネルギに基づく。他の実施形態は、フレームのエントロピーを計算することでフレームアクティビティに到達する。
【0094】
選択された期間のフレームの間で利用可能なビットプール(bitpool)からビットがアサイン又は割り当てられる(ボックス840)。ビットは、データフレームアクティビティ及び階層メタデータに基づいて割り当てられる。選択された期間のフレーム間のビット割り当てが分かると、ビットがフレーム間に分配される。次に、各フレームは、フレームのビット割り当てを超えるビットを削減することによって、そのビット割り当てを順守して削減フレームを取得する(ボックス850)。以下に詳しく説明するように、このビット低減は、最高優先順位及び重要度を有するビットが最後に削減されるように順序付けられた方式で実行される。
【0095】
このビット低減は、複数の符号化オーディオオブジェクトファイルの複数の削減されたフレームに引き継がれ、ビット低減符号化オーディオオブジェクトファイル320を生成する(ボックス860)。次に、各ビット低減符号化オーディオオブジェクトファイル320は、一緒に多重化される(ボックス870)。次に、システム100及び方法は、ビットストリームパッカー340を使用して多重化ビット低減符号化オーディオオブジェクトファイル320をパックして、ターゲットビットレートのスケール圧縮ビットストリーム170を取得する(ボックス880)。
【0096】
状況によっては、幾つかの異なるビットレートで符号化オーディオオブジェクトを送信する必要性が発生する可能性がある。例えば、プレナリーファイルが媒体データベースサーバ600に記憶される場合、各々が異なる帯域幅要件を有する幾つかのクライアントによってプレナリーファイルが要求される可能性がある。この場合、複数のスケール圧縮ビットストリームは、単一のプレナリーファイル140から取得することができる。さらに、ターゲットビットレートの各々がプレナリービットレートより小さい場合、スケール圧縮ビットストリームの各々は、異なるターゲットビットレートとすることができる。これは全て、符号化オーディオオブジェクトファイルを再符号化する必要なく達成することができる。
【0097】
システム100及び方法の実施形態は、スケール圧縮ビットストリームの1又は2以上を、ターゲットビットレートに等しいか又は小さいビットレートで受信デバイス180に送信することができる。次に、受信デバイス180は受信したスケール圧縮ビットストリームをデマルチプレックスして複数のビット低減符号化オーディオオブジェクトを取得する。次に、システム100及び方法は、少なくとも1つのスケーラブルビットレート復号器を使用してこれらのビット低減符号化オーディオオブジェクトを復号し、複数の復号オーディオオブジェクトファイルを取得する。次に、復号オーディオオブジェクトファイルは、エンドユーザ、コンテンツプロバイダによって、又は自動的にミキシングして、オーディオオブジェクトミックス640を生成することができる。
【0098】
V.動作の詳細
ポスト符号化ビットレート低減システム100及び方法の実施形態は、オーディオの無音期間を処理する実施形態、及び単一のプレナリーファイルを多種多様な異なる帯域幅ネットワークチャネルに配信する実施形態を含む。無音期間の実施形態は、幾つかのオーディオオブジェクトファイルが、オーディオが無音であるかなりの期間を有するか又は他のオーディオオブジェクトファイルに比べて非常に低レベルである場合に向けられる。例えば、音楽を包含するオーディオコンテンツは、ボーカルトラックが無音又は非常に低レベルである長期間を有する可能性がある。固定ビットレートオーディオコーデックを使用してこのようなオーディオオブジェクトファイルをコーディングする場合、かなりの量のデータペイロードが無音期間のコーディングに浪費される。
【0099】
システム100及び方法は、各符号化オーディオオブジェクトファイルの細粒度スケーラビリティを利用して、無音期間中のデータ(又はフレーム)ペイロードの何らかの浪費を軽減する。これは、再構成された圧縮オーディオの品質に影響を与えることなく全体的な圧縮データペイロードの低減を達成する。一部の実施形態では、符号化オーディオオブジェクトファイルは、開始及び停止時間を有する。開始時間は、無音状態が始まった時間を示し、停止時間は、無音状態が終了した場合を示す。こうした状況では、システム100及び方法は、ヌルフレームとして開始及び停止時間の間のフレームにフラグを立てることができる。これによって、ビットは、期間中の他のオーディオオブジェクトファイルのフレームに割り当てることができる。
【0100】
他のシナリオでは、オンザフライビットレート低減方式が、無音期間の実施形態に加えて又はこの代わりに必要とされる。例えば、複数のオーディオオブジェクトファイルを包含する単一の高品質符号化オーディオファイル又はビットストリームが、様々な接続帯域幅をもつクライアントに同時にサービスを提供する必要があるサーバに記憶される場合、このことが起こる可能性がある。多種多様な異なる帯域幅ネットワークチャネルへの単一プレナリーファイルの実施形態は、オーディオファイル又はビットストリームの細粒度スケーラビリティ特性を使用して、全体的な品質を可能な限り維持しながら符号化オーディオオブジェクトファイルの全体的なビットレートをスケールダウンする。
【0101】
システム100及び方法の実施形態の動作の詳細をここで説明する。
図9は、
図1−8に示したポスト符号化ビットレート低減システム100及び方法の実施形態の第1の実施形態の詳細を示す流れ図である。動作は、複数の別々に符号化されたオーディオオブジェクトファイルを包含するプレナリーファイルを入力することによって始まる(ボックス900)。複数の符号化オーディオオブジェクトファイルの各々がデータフレームにセグメント化される(ボックス905)。
【0102】
次に、システム100及び方法は、プレナリーファイルの開始の期間を選択する(ボックス910)。この期間は、理想的には、個々のフレームの時間的長さと一致する。選択された期間は、プレナリーファイルの開始時に始まる。本方法は、選択された期間のデータフレームを処理して、次に期間を時間的な順序で取り出すことによってデータフレームの残りを順次処理する。換言すると、選択された次の期間は、前の期間に時間的に隣接している期間であり、上記及び以下に説明する方法は、各期間中のデータフレームを処理するために使用される。
【0103】
次に、システム100及び方法は、選択された期間中の複数の符号化オーディオオブジェクトファイルのデータフレームを選択する(ボックス915)。フレームアクティビティは、選択された期間中のオーディオオブジェクトファイルのデータフレームの各々に対して測定される(ボックス920)。上述のように、多種多様な技術を使用してフレームアクティビティを測定することができる。
【0104】
期間中の各データフレームに対して、システム100及び方法は、測定されたフレームアクティビティが無音閾値よりも大きいか否かの決定を行う(ボックス925)。大きい場合、データフレームのフレームアクティビティはフレームアクティビティバッファに記憶される(ボックス930)。測定されたフレームアクティビティが無音閾値より小さいか又は等しい場合、データフレームは無音データフレームとして指定される(ボックス935)。この指定は、データフレームが既に最小ペイロードに低減されており、そのフレームのビット数が更なる低減なしにデータフレームを表わすために使用されることを意味する。次に、無音データフレームはフレームアクティビティバッファに記憶される(ボックス940)。
【0105】
次に、システム100及び方法は、選択された期間のデータフレームの各々のフレームアクティビティバッファに記憶されたデータフレームアクティビティを現在の期間の他のデータフレームと比較する(945)。これはデータフレームアクティビティ比較をもたらす。次に、システム100及び方法は、期間中のいずれかの無音フレームによって使用される、利用可能なビット数を決定する(ボックス950)。次に、期間中の残りのデータフレームに割り当てることができる利用可能なビット数が決定される。これは、期間中に使用されるよう割り当てられたビット数から、何らかの無音データフレームによって使用されるビットを差し引くことによって行われる(ボックス955)。
【0106】
残りのデータフレーム間のビット割り当ては、利用可能なビットを選択された期間の符号化オーディオオブジェクトファイルの各々からのデータフレームに割り当てることによって行われる(ボックス960)。このビット割り当ては、データフレームアクティビティ比較及び階層メタデータに基づいて行われる。次に、データフレームの順序付けられたビットが削減され、ビット割り当てを順守する(ボックス965)。換言すると、重要なビットが最後に取り除かれ最も重要でないビットが最初に取り除かれるように、ビットがデータフレームから取り除かれる。これは、特定のフレームに割り当てられたビット数だけが残るまで継続される。結果として削減されたデータフレームになる。
【0107】
このような削減データフレームは記憶され(ボックス970)かつ他に期間があるか否かの決定が行われる(ボックス975)。次に、期間がある場合、次の順次期間が選択される(ボックス980)。処理は、新しい期間の複数の符号化オーディオオブジェクトファイルのためのデータフレームを選択することによって再度開始する(ボックス915)。そうでなければ、削減データフレームがスケーラブル圧縮ビットストリームにパックされる(ボックス985)。
【0108】
V.A.フレーム及びコンテナ
上述のように、一部の実施形態では、プレナリーファイル140は複数の符号化オーディオオブジェクトファイルを含む。このような符号化オーディオオブジェクトファイルの一部又は全部は、オーディオデータ、サウンド情報、及び関連付けられるメタデータの何らかの組合せを包含することができる。さらに、一部の実施形態では、符号化オーディオオブジェクトファイルは、データフレームに分割又は区分化することができる。データフレーム(単数又は複数)の使用は、ストリーミングアプリケーションに有効とすることができる。一般的に、「フレーム」は、コーデックによって作成され、符号化及び復号に使用される別個のデータセグメントである。
【0109】
図10は、
図1−9に示したポスト符号化ビットレート低減システム100及び方法の一部の実施形態によるオーディオフレーム1000を示している。フレーム1000は、フレーム1000の開始を指示するよう構成することができるフレームヘッダ1010と、フレーム1000の終了を指示するよう構成することができるフレームエンド1020を含む。また、フレーム1000は、1又は2以上の符号化オーディオデータブロック1030及び対応するメタデータ1040を含む。メタデータ1040は、新しいメタデータセグメントの開始を指示するよう構成することができる1又は2以上のフラグメントヘッダ1050ブロックを含む。このメタデータ1040は、階層モジュール720によって使用される階層メタデータ710を含むことができる。
【0110】
グループ化されていないオーディオオブジェクトは、オブジェクトフラグメント1060として含むことができる。グループ化されたオーディオオブジェクト1070は、グループ開始及び終了ブロックを含むことができる。これらのブロックは、新しいグループの開始及び終了を指示するよう構成することができる。加えて、グループ化されたオーディオオブジェクト1070は、1又は2以上のオブジェクトフラグメントを含むことができる。一部の実施形態では、次にフレーム1000をコンテナ(MP4など)にエンキャプスレートすることができる。
【0111】
一般的には、「コンテナ」又はラッパーフォーマットはメタファイルフォーマットであり、その仕様は、様々なデータ要素及びメタデータがどのようにコンピュータファイルに共存するかを記述する。コンテナは、使用されるコード化方式に関わらず、データがファイル内に編成される方法を指す。さらに、コンテナは、複数のビットストリームを一緒に「ラップ」する機能を果たし、フレームが適正な順序で提示されるようにフレームを同期させる。また、コンテナは、必要とされる場合、ストリーミングサーバのための情報の追加を管理することができ、ストリーミングサーバは、ファイルのどの部分をいつ送信するかを知ることができる。
図10に示すように、フレーム1000は、コンテナ1080にパックすることができる。コンテナ1080に使用することができるデジタルコンテナフォーマットの実施例は、トランスポートストリーム(TS)、マテリアルエクスチェンジフォーマット(MXF)、ムービングピクチャーズエクスポートグループ、パート14(MP4)などを含む。
【0112】
V.B.細粒度ビットストリームスケーラビリティ
スケール圧縮ビットストリーム170に配置された要素の構造及び順序は、ビットストリーム170のワイドビットレンジ及び細粒度スケーラビリティを提供する。この構造及び順序は、ビットストリーム170がビット低減モジュール150などの外部機構によってスムーズにスケールされるのを可能にする。
【0113】
図11は、
図1に示したスケーラブルビットストリーム符号器130によって生成されるデータのスケーラブルフレームの例示的な実施形態を示す。他の分解規則に基づくオーディオ圧縮コーデックの1又は2以上の他のタイプを使用してポスト符号化ビットレート低減システム100及び方法の実施形態に細粒度スケーラビリティを提供できる点に留意されたい。こうした状況では、他のコードが心理音響的に関係のある要素の異なるセットを提供することになる。
【0114】
図11の実施例で使用されるスケーラブル圧縮ビットストリーム170は、幾つかの資源交換ファイルフォーマット(RIFF)データ構造(「チャンク」と呼ばれる)から作られる。これは例示的な実施形態であり、他のタイプのデータ構造を使用できる点に留意されたい。当業者によって公知であるこのRIFFファイルフォーマットは、チャンクによって運ばれるデータのタイプ並びにチャンクによって運ばれるデータの量の識別を可能にする。その定義されたビットストリームデータ構造で運ばれるデータの量及びタイプに関する情報を運ぶ何らかのビットストリームフォーマットは、本システム100及び方法の実施形態と共に使用できる点に留意されたい。
【0115】
図11は、グリッド1チャンク1105、音色1チャンク1110、音色2チャンク1115、音色3チャンク1120、音色4チャンク1125、音色5チャンク1130を含むサブチャンクと共にスケーラブルビットレートフレームチャンク1100のレイアウトを示す。サブチャンクは、高解像度グリッドチャンク1135、時間サンプル1チャンク1140、及び時間サンプル2チャンク1145を含む。これらのチャンクはフレームチャンク1100内で運ばれる心理音響的データを作り上げる。
図11はフレームチャンク1100のチャンク識別(ID)及びチャンク長だけを示しているが、サブチャンクID及びサブチャンク長データは、各サブチャンクに含まれる。
【0116】
図11は、スケーラブルビットストリームのフレームにおけるチャンクの順序を示す。これらのチャンクは、
図1に示したスケーラブルビットストリーム符号器130によって生成される心理音響的オーディオ要素を包含する。心理音響的重要度で並べられたチャンクに加えて、チャンクのオーディオ要素も心理音響的重要度で並べられる。
【0117】
フレームの最後のチャンクは、ヌルチャンク1150である。これは、フレームが一定又は特定のサイズであることを要求される場合にチャンクを埋めるために使用される。従って、ヌルチャンク1150は心理音響的な関連性を持たない。
図11に示すように、最も重要でない心理音響的チャンクは時間サンプル2チャンク1145である。対照的に、最も重要な心理音響的チャンクはグリッド1チャンク1105である。動作中、スケーラブルビットレートフレームチャンク1100をスケールダウンする必要がある場合、ビットストリームの最後の最も心理音響的に関連性のないチャンク(時間サンプル2チャンク1145)から始まり心理音響的関連性ランキングを上方に移動してデータが取り除かれる。これは
図11の右から左に進む。これは、スケーラブルビットレートフレームチャンク1100で最高品質の可能性を有する最も心理音響的に関連性のあるチャンク(グリッド1チャンク1105)は、取り除かれる可能性が最も低いことを意味する。
【0118】
また、ビットストリームによってサポートされ得る最高ターゲットビットレート(最高オーディオ品質と合わせて)が符号化の時に定義される点に留意されたい。しかしながら、スケーリング後の最低ビットレートは、アプリケーションでの使用を満たすオーディオ品質レベルによって定義することができる。取り除かれた各心理音響的要素は、同じ数のビットを利用しない。例示的に、
図11に示した例示的な実施形態のスケーリング解像度は、最低心理音響的重要度の要素に関する1ビットから最高心理音響的重要度の要素に関する32ビットに及ぶ。
【0119】
ビットストリームをスケーリングするための機構は、一度に全チャンクを取り除く必要がない点に留意されたい。前述したように、各チャンク内のオーディオ要素は、最も心理音響的に重要なデータがスケーラブルビットレートフレームチャンク1100の最初に位置付けられるように並べられる(
図11の右側に最も近い)。この理由で、スケーリング機構によって一度に1つのオーディオ要素をチャンクの最後から取りに除くことができ、スケーラブルビットレートフレームチャンク1100から各要素が取り除くことができるようにして最高オーディオ品質を維持する。これが「細粒度スケーラビリティ」が意味する内容である。
【0120】
システム100及び方法は、要求される場合にチャンク内のオーディオ要素を取り除き、次にオーディオ要素が取り除かれた特定のチャンクのチャンク長フィールドを更新する。さらに、本システム100及び方法は、フレームチャンク長1155及びフレームチェックサム1160を更新する。スケールされた各チャンクの更新されたチャンク長フィールド並びに更新されたフレームチャンク長1155及び更新されたフレームチェックサム情報によって、復号器は、スケールされたビットストリームを適正に処理及び復号することができる。加えて、オーディオ要素が失われているビットストリーム内のチャンク及びビットストリームから完全に失われているチャンクがあるとしても、本システム100及び方法は、固定データレートオーディオ出力信号を自動的に生成することができる。加えて、フレームチャンク識別(フレームチャンクID1165)は、識別目的のためにスケーラブルビットレートフレームチャンク1100に包含される。さらに、フレームチャンクデータ1170は、ヌルチャンク1150からチェックサム1160を包含する(右から左に移動する)。
【0121】
V.C.ビット割り当て
期間中のフレーム間のビットの割り当ての実施例をここで説明する。これは、ビット割り当てを実行することができる複数の方法の1つにすぎない点に留意されたい。
図12は、プレナリーファイル140を複数のフレーム及び期間に分割する実施例の例示的な実施形態を示す。
図12に示すように、プレナリーファイル140は、複数のオーディオオブジェクトの複数のフレームに分割されて図示されている。x軸は時間軸、y軸は符号化オーディオオブジェクトファイル数である。この実施例では、M数の符号化オーディオオブジェクトがあり、ここでMは正のゼロでない整数である。また、この例示的な実施例では、各符号化オーディオオブジェクトファイルは、プレナリーファイル140の全持続時間に存在する。
【0122】
時間軸を左から右に見ると、各符号化オーディオオブジェクト(数1からM)がX数のフレームに分割されているのが分かり、ここでXは正のゼロではない整数である。ボックスの各々は、記号表示F
M,Xによって示され、ここでFがフレームであり、Mがオーディオオブジェクトファイル数であり、Xがフレーム数である。例えば、フレームF
1,2は、符号化オーディオオブジェクトファイル(1)の2番目のフレームを示す。
【0123】
図12に示すように、フレームの長さに対応する期間1200は、プレナリーファイル140に対して定義される。
図13は、期間1200内のプレナリーファイル140のフレームの詳細を示す。各フレーム内には、プレナリーファイル140の品質に対するその相対的な重要度に関する順序付けられた周波数成分が示されている。x軸が周波数(kHz)でありy軸が特定の周波数の大きさ(デシベル)を表わす点に留意されたい。例えば、F
1,1では、7kHzが最も重要な周波数成分(この例では)であり、次に6kHz及び8kHz周波数成分などがそれぞれ続くことが見て分かる。従って、各オーディオオブジェクトの各フレームはこのようなランク付け周波数成分を包含する。
【0124】
ターゲットビットレートは、期間1200に対する利用可能なビット数を決定するために使用される。一部の実施形態では、音響心理学(マスキング曲線など)が使用され、周波数成分全体にわたって一様ではない方式で利用可能なビットを分配する。例えば、1、19、及び20kHz周波数成分の各々に対する利用可能なビット数は64ビットとすることができ、2048ビットが、7、8、及び9kHz周波数成分の各々に利用可能である。これは、マスキング曲線に従って人間の耳は、7、8、及び9kHz周波数成分を最も敏感であるが、人間の耳は、非常に低い及び非常に高い成分、すなわち1kHz及びそれより下の周波数成分及び19及び20kHz周波数成分に対しては相対的に鈍感であるという理由による。音響心理学は、周波数範囲全体にわたる利用可能なビットの分配を決定するために使用されるが、多くの他の様々な技術を使用して利用可能なビットを分配できる点に留意されたい。
【0125】
ポスト符号化ビットレート低減システム100及び方法の実施形態は、各符号化オーディオオブジェクトファイルのための対応する期間1200の各フレームのフレームアクティビティを測定する。期間1200における符号化オーディオオブジェクトファイルの各々のデータフレームの各々のフレームアクティビティは、互いに比較される。これは、期間1200中の他のフレームに対するフレームアクティビティであるデータフレームアクティビティ比較として公知である。
【0126】
一部の実施形態では、フレームにはフレームアクティビティ数の数値が割り当てられる。例示的に、オーディオオブジェクトファイルの数は、フレームアクティビティ数値が1から10になるように10と仮定する。この実施例では、10は、最大フレームアクティビティを有する期間1200中のフレームを意味し、1が、最小のアクティビティを有するフレームを意味する。多くの他の技術を使用して期間1200中のフレームの各々の中のフレームアクティビティをランク付けすることができる点に留意されたい。データフレームアクティビティ比較及びビットプールからの利用可能なビットに基づいて、次に、システム100及び方法の実施形態は、期間1200の符号化オーディオオブジェクトファイルの各フレームの間に利用可能なビットを割り当てる。
【0127】
利用可能なビット数及びデータフレームアクティビティ比較は、システム100及び方法によって使用され、必要に応じてフレームのビットを削減して割り当てられたビットを順守する。システム100及び方法は、細粒度スケーラビリティ特性及びビットが階層メタデータに基づく重要度の順序でランク付けされるという事実を利用する。例えば、
図13を参照すると、F
1、1に対して最初の4つの周波数成分を表わすのに十分な割り当てビットだけが存在すると仮定する。これは、7、6、8、及び3kHz周波数成分がビット低減ビットストリームに含まれることを意味する。F
1、1の5kHz周波数成分及び順番で低いその周波数成分は廃棄される。
【0128】
一部の実施形態では、データフレームアクティビティ比較は、オーディオオブジェクト重要度によって重み付けされる。この情報は、階層メタデータ710に包含される。例示的に、符号化オーディオオブジェクトファイル#2がオーディオ信号に重要であると仮定すると、これは、オーディオが映画のサウンドトラックであり、符号化オーディオオブジェクトファイル#2がダイアログトラックである場合に起こる可能性がある。符号化オーディオオブジェクトファイル#9が10の最高相対フレームアクティビティランキングにすることができ、符号化オーディオオブジェクトファイル#2が7のランキングを有するとしても、符号化オーディオオブジェクトファイル#2のランキングは、オーディオオブジェクト重要度による重み付けのために10に上げることができる。上記の技術及び他の技術の多くの変形例を使用してビットを割り当てることができる点に留意されたい。
【0129】
VI.代替的な実施形態及び例示的な動作環境
本明細書に記載する以外の他の変形形態が明らかになるであろう。例えば、実施形態によっては、本明細書で説明した何らかの方法及びアルゴリズムの特定の動作、事象、又は機能を異なる順序で実行することができ、追加、統合、又は完全に省略することができる(従って、ここで説明する全ての動作又は事象が、本方法及びアルゴリズムの実施に必要というわけではない)。さらに、特定の実施形態において、動作又は事象は、連続的ではなく、例えば、マルチスレッド型処理、割り込み処理、もしくはマルチプロセッサ又はプロセッサコアによって、又は他の並列アーキテクチャ上で同時に実行することができる。加えて、様々なタスク又は処理は、一緒に機能することができる異なるマシン及びコンピューティングシステムによって実行することができる。
【0130】
本明細書で開示した実施形態に関連して説明する様々な例示的な論理ブロック、モジュール、方法、及びアルゴリズム処理、及び手順は、電子ハードウェア、コンピュータソフトウェア、又はこの両方の組合せとして実施することができる。ハードウェア及びソフトウェアのこの互換性について明確に例証するために、上記では、様々な例示的な構成要素、ブロック、モジュール、及び処理動作がこれらの機能性に関して一般的に説明されている。このような機能性をハードウェア又はソフトウェアとして実装するか否かは、特定の用途及びシステム全体に課されたデザイン上の制約に依存する。記載された機能性は、特定の用途の各々に関して異なる方法で実装することができるが、このような実装の決定は、本明細書の範囲からの逸脱をもたらすと解釈すべきではない。
【0131】
本明細書で開示した実施形態に関連して説明する様々な例示的な論理ブロック及びモジュールは、汎用プロセッサ、処理デバイス、1又は2以上の処理デバイスを有するコンピューティングデバイス、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲートアレイ(FPGA)、又は他のプログラム可能論理デバイス、離散ゲート又はトランジスタ論理、離散的ハードウェア構成要素、又は本明細書で説明する機能を実行するよう設計されたこれらのいずれかの組合せのようなマシンによって実施し又は実行することができる。汎用プロセッサ及び処理デバイスは、マイクロプロセッサとすることができるが、代替形態において、プロセッサは、コントローラ、マイクロコントローラ、又は状態マシン、これらの組合せ、又は同様のものとすることができる。プロセッサは、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連動する1又は2以上のマイクロプロセッサ、又はいずれかの他のこのような構成のような、コンピューティングデバイスの組合せとしても実施可能である。
【0132】
本明細書で説明したポスト符号化ビットレート低減システム100及び方法の実施形態は、多数のタイプの汎用又は特定用途コンピュータシステム環境又は構成の中で動作可能である。一般的に、コンピュータ環境は、限定されるわけではないが、例を挙げると、1又は2以上のマイクロプロセッサに基づくコンピュータシステム、メインフレームコンピュータ、デジタル信号プロセッサ、携帯式コンピュータデバイス、パーソナルオーガナイザ、デバイスコントローラ、機器内のコンピュータエンジン、移動電話、デスクトップコンピュータ、移動コンピュータ、タブレットコンピュータ、スマートフォン、及び埋込式コンピュータを備えた機器を含むいずれのタイプのコンピュータシステムも含むことができる。
【0133】
このようなコンピューティングデバイスは、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドコンピューティングデバイス、ラップトップ又はモバイルコンピュータ、携帯電話及びPDAのような通信デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、オーディオ又はビデオ媒体プレーヤ、及びその他を含む、少なくとも何らかの最低限の計算能力を有するデバイスに通常、見出すことができる。一部の実施形態において、コンピューティングデバイスは、1又は2以上のプロセッサを含むことになる。各プロセッサは、デジタルシグナルプロセッサ(DSP)、超長命令語(VLIW)、又は他のマイクロコントローラのような特殊なマイクロプロセッサとすることができ、或いは、マルチコアCPU内の特殊なグラフィックス処理ユニット(GPU)ベースのコアを含む、1又は2以上のプロセッシングコアを有する従来型の中央処理ユニット(CPU)とすることができる。
【0134】
本明細書で開示した実施形態に関連して説明する方法、処理、又はアルゴリズムの処理動作は、ハードウェアで直接的に、プロセッサによって実行されるソフトウェアモジュールで、又はこの2つのいずれかの組合せで具現化することができる。ソフトウェアモジュールは、コンピューティングデバイスによってアクセス可能なコンピュータ可読媒体内に含めることができる。コンピュータ可読媒体は、取り外し可能、取り外し不可のいずれかである揮発性及び不揮発性媒体、又は何らかのこれらの組合せを含む。コンピュータ可読媒体は、コンピュータ可読又はコンピュータ実行可能命令、データ構造、プログラムモジュール、又は他のデータのような情報を格納するために用いられる。例示的かつ非限定的に、コンピュータ可読媒体は、コンピュータストレージ媒体及び通信媒体を含むことができる。
【0135】
コンピュータストレージ媒体は、限定されるものではないが、Blurayディスク(BD)、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フロッピー(登録商標)ディスク、テープドライブ、ハードドライブ、光ドライブ、固体メモリデバイス、RAMメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、フラッシュメモリ、又は他のメモリ技術、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、又は所望の情報を格納するために使用可能で1又は2以上のコンピューティングデバイスによってアクセス可能ないずれかの他のデバイスのような、コンピュータ又はマシン可読媒体又はストレージデバイスを含む。
【0136】
ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD−ROM、又は当該技術で公知の非一時的コンピュータ可読ストレージ媒体、メディア、又は物理コンピュータストレージのいずれかの他の形式内に常駐することができる。例示的なストレージ媒体は、プロセッサがストレージ媒体から情報を読み出して、そこに情報を書き込むことができるように、プロセッサに結合することができる。代替形態では、ストレージ媒体は、プロセッサに一体化することができる。プロセッサ及びストレージ媒体は、特定用途向け集積回路(ASIC)内に常駐することができる。ASICは、ユーザ端末内に常駐することができる。代替的に、プロセッサ及びストレージ媒体は、ユーザ端末内の個別構成要素として常駐することができる。
【0137】
本明細書で使用する場合、語句「非一時的」は、「永続的又は長寿命の」を意味する。語句「非一時的コンピュータ可読媒体」は、ありとあらゆるコンピュータ可読媒体を含み、唯一の例外は一時的な伝搬信号である。これは、例示的かつ非限定的に、レジスタメモリ、プロセッサキャッシュ、及びランダムアクセスメモリ(RAM)のような非一時的コンピュータ可読媒体を含む。
【0138】
コンピュータ可読又はコンピュータ実行可能命令、データ構造、プログラムモジュール、及びその他のような情報の保持は、1又は2以上の変調データ信号、電磁波(搬送波のような)、又は他の伝送機構又は通信プロトコルをエンコードするための様々な通信媒体を用いることによって実現することができ、いずれかの有線又は無線情報配信機構を含む。一般に、これらの通信媒体は、信号内の情報又は命令をエンコードするような方法で設定又は変更される自己の特性の1又は2以上を有する信号を参照する。例えば、通信媒体は、1又は2以上の変調データ信号を搬送する有線ネットワーク又はダイレクト有線接続のような有線媒体、及び音響、無線周波数(RF)、赤外線、レーザーのような無線媒体、及び1又は2以上の変調データ信号又は電磁波を送信、受信、又は送受信するための他の無線媒体を含む。上記のいずれかの組合せも、通信媒体の範囲内に含まれるべきである。
【0139】
さらに、本明細書で説明したポスト符号化ビットレート低減システム100及び方法又はその一部の様々な実施形態の一部又は全てを具現化するソフトウェア、プログラム、コンピュータプログラム製品のうちの1又はいずれかの組合せは、コンピュータ可読命令又は他のデータ構造の形式で、コンピュータ又はマシン可読媒体又はストレージデバイス及び通信媒体のあらゆる所望の組合せに格納、受信、送信、又はそこから読み出すことができる。
【0140】
本明細書で説明したポスト符号化ビットレート低減システム100及び方法の実施形態は、コンピューティングデバイスによって実行されるプログラムモジュールのようなコンピュータ実行可能命令という一般的状況でさらに説明することができる。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、及びその他を含。また、本明細書で説明した実施形態は、1又は2以上の通信ネットワークを通じてリンクされた1又は2以上のリモート処理デバイスによって、又は1又は2以上のデバイスのクラウド内でタスクが実行される、分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、メディアストレージデバイスを含む、ローカル及びリモートの両方のコンピュータストレージ媒体内に、プログラムモジュールを配置することができる。さらに、上記の命令は、プロセッサを含むこともあれば含まないこともある、ハードウェア論理回路として部分的に又は全体的に実施することができる。
【0141】
本明細書で使用する条件語、とりわけ、「できる(can)」「してよい(might)」「できる(may)」「例えば(e.g.)」及び同様のものは、他に明確に言及されていない限り、又は用いられる文脈でそれ以外に理解されない限り、一般に、特定の実施形態が特定の特徴、要素、及び/又は状態を含むが、他の実施形態は含まないことを伝えるものである。従って、このような条件語は、特徴、要素、及び/又は状態が、1又は2以上の実施形態にとって必ず必須であること、或いは、作成者の入力又は指示があってもなくても、これらの特徴、要素、及び/又は状態が含まれるか又はいずれかの特定の実施形態で実行されるべきかどうかを決めるためのロジックを、1又は2以上の実施形態が必ず含むことを一般に示唆するものではない。用語「含む(comprising)」、「含む(including)」、「有する(having)」、及び同様のものは、同義であり、包含的かつオープンエンド(open−end)方式で使用され、付加的な要素、特徴、動作、操作、及びその他を除外しない。また、用語「or」は、包括的な意味で(排他的意味ではなく)用いられ、従って、例えば、要素のリストをつなぐために使用されるとき、用語「or」は、リスト内の要素のうちの1つ、いくつか、又は全てを意味する。
【0142】
上記の詳細な説明は、種々の実施形態に適用される場合に新規の特徴を示し、説明し、及び指摘するが、本開示の精神から逸脱することなく、例証されたデバイス又はアルゴリズムの形式及び詳細において、様々な省略、置換、及び変更を加えることができる点を理解されたい。理解できるように、一部の特徴は、他の特徴とは別に使用すること又は実施することができるので、本明細書で説明する本発明の特定の実施形態は、本明細書に示した特徴及び利点の全てを提供しない形態の範囲内で具現化することができる。
【0143】
さらに、主題は、構造的特徴及び方法論的動作に特有の用語で説明してきたが、添付の請求項に記載する主題は、上記で説明した特定の特徴又は動作に必ずしも限定されるわけではないことを理解されたい。むしろ、上記で説明した特定の特徴及び動作は、請求項を実施する例示的な形態として開示される。