JP2010532056A - 共有メモリー・プールを利用したデジタル・データ管理 - Google Patents

共有メモリー・プールを利用したデジタル・データ管理 Download PDF

Info

Publication number
JP2010532056A
JP2010532056A JP2010514975A JP2010514975A JP2010532056A JP 2010532056 A JP2010532056 A JP 2010532056A JP 2010514975 A JP2010514975 A JP 2010514975A JP 2010514975 A JP2010514975 A JP 2010514975A JP 2010532056 A JP2010532056 A JP 2010532056A
Authority
JP
Japan
Prior art keywords
memory
amount
media
rendering
sharable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010514975A
Other languages
English (en)
Other versions
JP5513381B2 (ja
Inventor
フリーマン,アーサー・ウィリアム・ジェームズ
コール,オリヴィエ
フィンガー,ジェームズ・シー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010532056A publication Critical patent/JP2010532056A/ja
Application granted granted Critical
Publication of JP5513381B2 publication Critical patent/JP5513381B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Abstract

メモリー管理技術は、一定量の共有可能メモリーを有するメモリー・プールを確立するステップと、連続したデジタル・データ・ユニットの複数のセットを同時に管理するために共有可能メモリーを動的に配分するステップとを含む。例としてのシナリオにおいて、連続したデジタル・データ・ユニットのセットは、メディア・コンテンツのクリップを形成する時間順のメディア・サンプルのセットであり、2つ以上のクリップからのメディア・サンプルが独立制御されるストリームとして同時にユーザーに表示可能である場合に、該技術が適用される。次に来るメディア・サンプルのユーザーへの表示を準備するために、可変量の共有可能メモリーが動的に配分される。一つの可能な実現態様において、各ストリームの平均データ速度の比率が計算され、該比率に基づいて、各ストリームのレンダリングのために共有可能メモリーが配分される。その後、各ストリームのレンダリングのために配分された共有可能メモリーは、特定の次に来るメディア・サンプルのユーザーへの表示の準備のために、必要に応じて予約される。

Description

デジタル・データの効果的な処理は、しばしば、例えばメモリーのような限られたコンピューター資源の効率的な利用に依存する。デジタル・データ処理においてコンピューターにより用いられるメモリーはランダム・アクセス・メモリーであることが多いが、メモリーという用語は、任意の形式のコンピューター読み取り可能記憶媒体を含む。しばしば、デジタル・データ処理のために、決まった量のメモリーが予め配分される。しかしながら、時として、そのような固定されたメモリー配分は非効率的である。非効率性が発生する一つの状況は、複数の組の連続したデジタル・データ・ユニットが同時に処理されなければならない場合である。
一般に、連続したデジタル・データを処理し、特に、デジタル・メディア・コンテンツをレンダリングするためには、メモリーの効率的な利用を高めることが望ましい。デジタル・メディア・コンテンツは、ビデオ、音声、画像、テキスト、及び/又はグラフィックスの連続したサンプルからなる。メディア・コンテンツ・プレーヤーがそのような連続したサンプルをユーザーに提示する際、それらはメディア・コンテンツ・ストリームと呼ばれる。
最近のメディア・コンテンツ・プレーヤーは、二つ以上の独立制御されるメディア・コンテンツ・ストリーム(例えば、監督のコメント、役者の略伝、又は広告のような特別記事と並んで主要な映画)を同時にレンダリングするよう構成されている。そのようなメディア・コンテンツ・プレーヤーは、また、ユーザーが選択可能な可視的又は可聴的なオブジェクト(例えば、様々なメニュー、ゲーム、特殊効果、又は他のオプション)を、メディア・コンテンツの一つまたはそれ以上のストリームと同時にレンダリングすることが可能である。メディア・コンテンツのレンダリング、特に独立制御されたメディア・コンテンツ・ストリームの同時再生は、限られたプレーヤー資源、特にメモリーの相当量を消費しかねない。
要約
本明細書で説明されるメモリー管理技術は、連続したデジタル・データ・ユニットの複数のセットを同時に管理するための、一定量の共有可能メモリーを有するメモリー・プール(memory pool)の確立と、共有可能メモリーの動的な配分とを含む。例としてのシナリオにおいて、連続したデジタル・データ・ユニットのセットは、例えばビット、フレーム、写真グループ、ビデオ・オブジェクト・ユニット、及びそれらに類するもののような、メディア・サンプルの時間順のセットである。メディア・コンテンツの文脈において本明細書に記載される技術は、一般に、2つ以上のセットからのメディア・サンプルが、メディア・コンテンツの独立制御されるストリームとして同時にユーザーに提示可能である場合に適用される。しかしながら、理解されるように、他のシナリオも可能であって、本明細書に記載された技術は、任意の同時に処理される連続したデジタル・データ・ユニットに適用可能である。
特定のメモリー管理技術は、連続したデジタル・データ・ユニットの第一のセットにおける幾つかのデジタル・データ・ユニットの処理と関連付けられた一つの資源消費指標を確定するステップと、連続したデジタル・データ・ユニットの第二のセットにおける幾つかのデジタル・データ・ユニットの処理と関連付けられたもう一つの資源消費指標を確定するステップとを含む。資源消費は、デジタル・データ、該デジタル・データを処理するために利用されるコンピューター・システム、およびユーザー入力と関連付けられた要素を含み且つそれらに限定されない様々な要素に基づいて変化し得る。確定されると、資源消費指標が比較され、該比較に基づいて、共有可能メモリーが動的に配分される。
利用可能な共有可能メモリーは、時として、所望のメモリー配分の即座の実現に不十分である。その場合、利用可能な共有可能メモリーは、処理の問題を回避するために、優先度手法に従って配分され得る。一つのシナリオにおいて、最大の資源消費を有するデジタル・データ・ユニットのセットの処理と関連付けられた動作への共有可能メモリーの割り当てに、より高い優先度が与えられる。より低い資源消費を有するデジタル・データ・ユニットのセットは、資源を繰り返し再要求することが求められ得る。代わりに、そのようなセットに、待機中のメモリー要求が割り当てられ、共有可能メモリー資源が利用可能になった際に優先度を与えられてもよい。このようにして、連続したデジタル・データ・ユニットの複数のセットが同時に処理される場合に、効率的で動的な共有可能メモリーの配分を保証することが可能となる。
メディア・コンテンツ・ストリームの場合、資源消費指標は、個々のメディア・コンテンツ・ストリームのレンダリングと関連付けられたデータ速度(例えば、平均データ速度)である。特定のデータ速度を有するメディア・コンテンツ・ストリームの処理(及び、そのようなストリーム内の特定メディア・サンプルの処理)に必要とされるメモリー資源は、メディア・サンプルそのもの(例えば、メディア・サンプル供給源/場所、メディア・サンプル・サイズ、符号化及び/又は復号化パラメーター、及び暗号化パラメーター等)、メディア・コンテンツ・プレーヤー(例えば、プレーヤー・アーキテクチャー又は動的な処理負荷等)、又はユーザー入力(例えば、ユーザーが選択したメディア・コンテンツ形式、又は例えば早送り、遅送り、早巻き戻し、又は遅巻き戻し等のユーザーが選択した再生速度)と関連付けられた要素を含み且つそれらに限定されない様々な要素に基づいて変化し得る。メディア・コンテンツの各ストリームのデータ速度の比率が計算され、該比較に基づいて共有可能メモリーが動的に配分される。利用可能な共有可能メモリーが、所望のメモリー配分の即座の実現に不十分である場合、一つの可能な優先度手法は、共有可能メモリーが、まず、現状、自身に配分された共有可能メモリーの取り分よりも少ないメモリーを有するメディア・コンテンツ・ストリームの処理と関連付けられた動作に割り当てられることを保証する。
本要約は、選択された概念を、簡略化された形態で紹介するために提供される。それらの概念は、詳細な説明の章において更に説明される。本要約に説明された以外の構成要素又はステップが利用可能であり、構成要素又はステップは必ずしも必要ではない。本要約は、特許請求の範囲に記載された発明の主要な特徴又は不可欠な特徴を特定する意図はなく、特許請求の範囲に記載された発明の範囲を定義するための助けとして利用されることも意図していない。更に、特許請求の範囲に記載された発明は、本明細書のいずれかの部分に記載された任意の又は全ての欠点を解決する実現態様に限定されるものではない。
図1は、例としてのメディア・コンテンツ・プレーヤーの簡略化された機能ブロック図である。 図2は、図1のメディア・コンテンツ管理部ブロックの態様をより詳細に示す、簡略化された機能ブロック図である。 図3は、図1に示されたメディア・コンテンツ・プレーヤー及び/又は図4のフロー図に示された方法の特定の態様と組み合わせて利用可能な、メディア・サンプルのセットと関連付けられたメディア時刻表を示す概略図である。 図4は、例えば図2に示された共有可能メモリーのような共有メモリーを用いてデジタル・データの多数のセットを同時に管理する方法のフロー図である。 図5は、コンピューター・ユニットの例としての構成の簡略化された機能ブロック図である。 図6は、図1に示されたメディア・コンテンツ・プレーヤー、図4に示された方法、及び/又は図5に示されたコンピューター・ユニットの全部又は一部が実現又は利用され得る動作環境の例としての構成のブロック図である。 図7は、図6に示された動作環境の態様が実現又は利用され得るクライアント・サーバー・アーキテクチャーの簡略化された機能ブロック図である。
本明細書に記載されるメモリー管理技術は、メモリー・プールから共有可能メモリーを、連続したデジタル・データ・ユニットの複数セットの同時処理に対して動的に配分する。限定ではなく例示のために、複数のメディア・コンテンツ・ストリームの同時レンダリングを具体的に説明するが、理解されるように、本明細書に記載された技術は、任意の同時処理される連続したデジタル・データ・ユニットに適用可能である。
或るメディア・コンテンツ・プレーヤーは、2つの独立制御されるメディア・コンテンツ・ストリームを同時にレンダリングすることができる。例えば、高品位DVDプレーヤーは、主メディア・コンテンツ・ストリーム(例えば、映画)と副次メディア・コンテンツ・ストリーム(例えば、監督のコメント、役者の略伝、又は任意の広告のような特別記事)とを同時にレンダリングするよう構成される。予期せぬ(serendiptous)ユーザー入力が、個々のメディア・コンテンツ・ストリームを提示するか否か、及び/又はいつ提示するかを決定する。
メディア・コンテンツの表示においてユーザーが知覚可能な不具合を回避するため、メディア・コンテンツのレンダリングは、一般に、メディア・サンプルの予定された再生時刻の前に、ユーザーに提示されるべき一つ又はそれ以上の次に来るメディア・サンプルの表示を特定し準備することを含む。特定のメディア・サンプルの表示を準備するために必要なメモリー資源は、サンプルごとに必ずしも一定ではない。要求されるメモリー資源に影響する幾つかの要素は、(例えばメディア・サンプルのサイズ、メディア・サンプルの供給源/場所、符号化又は復号化パラメーター、及び暗号化パラメーターなどの要素を含み且つそれらに限定されない)メディア・サンプルそのものと関連するが、メディア・コンテンツ・プレーヤー(例えば、プレーヤー・アーキテクチャー又は動的な処理負荷等)又はユーザー入力(例えば、ユーザーが選択したメディア・コンテンツ形式又はユーザーが選択した再生速度)にも関連し得る。
メディア・コンテンツのレンダリングに適用される際、本明細書に記載される特定のメモリー管理技術は、特定の次に来るメディア・サンプルの表示を準備するための、可変量の共有可能メモリーの動的な配分を含む。特定のメディア・サンプルがユーザーに対して提示されると、配分される量の共有可能メモリーが解放され、再配分のために利用可能となる。
単一のメディア・コンテンツ・ストリームがユーザーに提示されている場合、全ての利用可能な共有可能メモリーが、一般に、当該単一のメディア・コンテンツ・ストリームのレンダリングに配分され得る。しかし、ユーザーが他のメディア・コンテンツ・ストリームを独立に開始及び停止すると、利用可能な共有可能メモリーは二つ以上のストリームに配分される。一つのシナリオにおいて、各ストリームからの特定の次に来るメディア・サンプルの表示を準備するための共有可能メモリーの動的な配分は、個々のメディア・コンテンツ・ストリームの相対平均データ速度に基づく。例としての実現態様において、個々のメディア・コンテンツ・ストリームのデータ速度(例えば、ビット率)の比率が計算され、データ速度の比率に基づいて共有可能メモリーが分割される。ついで、個々のストリームに配分された共有可能メモリーは、該ストリームからの特定の次に来るメディア・サンプルの準備のために、必要に応じて予約される。
利用可能な共有可能メモリーが、所望のメモリー配分の迅速な実現に不十分である場合、及び/又は、個々のストリームに配分された共有可能メモリーが、該ストリームからの特定の次に来るメディア・サンプルを準備するために不十分である場合、一つの可能な優先度手法は、共有可能メモリーが、まず、共有可能メモリーのうちの配分された分より少ないメモリーを有するメディア処理パイプラインによって処理されているメディア・コンテンツ・ストリームの処理と関連付けられた動作に割り当てられることを保証し、メモリー要求は他のメディア・コンテンツ・ストリームにオプションとして割り当てられる。共有可能メモリーが利用可能になると、該メモリーは、待機中のメモリー要求を有するデータ・ストリームに配分され得る。
同様の番号が類似の構成要素を示す図面を参照すると、図1は、(一般的には時間順の)ビデオ、音声、画像、テキスト及び/又はグラフィックスのサンプルからなるメディア・コンテンツをレンダリングする例としてのメディア・コンテンツ・プレーヤー100の簡略化された機能ブロック図である。メディア・コンテンツ・プレーヤー100は、光メディア・プレーヤー、コンピューター、オーディオ・プレーヤー、セットトップ・ボックス、通信装置、個人情報端末、録画装置又はビデオ録画器を含み且つそれらに限定されない、メディア・コンテンツをレンダリングする任意のシステムであってよいが、図示されるように、メディア・コンテンツ・プレーヤー100は、対話型マルチメディア表示システムである(以下において、「表示(presentation)システム100」と呼ぶ)。
表示システム100は、メディア・コンテンツ管理部102、対話型コンテンツ(「IC」)管理部104、表示(presentation)管理部106、タイミング信号管理ブロック108及びミキサー/レンダラー(renderer)110を含む。一般に、表示システム100の特定の機能がどのように実現されるかは、設計上の選択によって決定される。そのような機能は、ハードウェア、ソフトウェア又はファームウェア、或いはそれらの組み合わせを用いて実現され得る。
動作において、表示システム100は、対話型マルチメディア表示コンテンツ(「表示コンテンツ」)120を扱う。表示コンテンツ120は、メディア・コンテンツ要素(「メディア要素」)122及び対話型コンテンツ要素(「IC要素」)124を含む。メディア要素122及びIC要素124は、一般に、メディア・コンテンツ管理部102及びIC管理部104によって、それぞれ別個のデータ・ストリームとして扱われるが、必ずしもそうでなくてもよい。
表示システム100は、また、表示コンテンツ120のユーザー(図示せず)への表示を再生表示127として円滑化する。再生表示127は、ミキサー/レンダラー110によって生成され、ディスプレイ又はスピーカー(図示せず)のような装置を介してユーザーが受信可能な、表示コンテンツ120と関連付けられた可視的及び/又は可聴的な情報を表す。説明のために、表示コンテンツ120及び再生表示127は、任意の形式の高品位DVD映画コンテンツの態様をとると想定される。しかしながら、理解されるように、表示コンテンツ120及び再生表示127は、メディア・コンテンツの現在知られている又は後に開発される任意の形式の表示を行うよう構成され得る。
メディア要素122は、メディア・コンテンツ・ストリーム(メディア・コンテンツ・ストリーム208及び228が、図2と組み合わせて以下に示され、説明される)としてユーザーに表示可能なサンプル(例えば、ビデオ、音声、画像、テキスト、及び/又はグラフィックスのサンプル)の一つ又はそれ以上の(一般的に時間順の)シーケンスを表す。2つ以上の独立制御されるメディア・コンテンツ・ストリーム(例えば、主要な映画に加えて、監督のコメント、役者の略伝又は広告のような特別記事)が同時に表示され得る。メディア要素122は、しばしば、映画の文脈で説明されるが、実際には、ビデオ、音声、データ又はそれらの任意の組み合わせであってよい。
映画は、一般に、一つ又は複数のバージョン(例えば、成人聴衆のためのバージョンと、より若い聴衆のためのバージョン)、各タイトルと関連付けられた1つ又は複数の章(図示せず)を有する一つ又はそれ以上のタイトル131(タイトルについては、表示管理部106と関連して以下に更に説明される)、一つ又は複数の音声トラック(例えば、映画は一つ又はそれ以上の言語で、字幕有り又は字幕無しで再生され得る)、並びに、例えば監督のコメント、追加場面、役者略伝、宣伝、予告編及びそれに類するものである特別記事を有する。理解されるように、タイトル及び章の区別は純粋に論理的なものである。例えば、単一の知覚されるメディアの部分は、単一のタイトル/章の一部であっても、又は、複数のタイトル/章からなるものであってもよい。適用可能な論理的区別の決定は、コンテンツの製作元に委ねられる。
メディア要素122の態様を形成するメディア・サンプルのセット(例えば、ビデオ、音声又はデータ・サンプルのセット)は、通常、クリップ123と呼ばれる(クリップ123は、メディア要素122及び再生リスト128内に示され、図2にも図示されており、以下に更に説明される)。しかしながら、理解されるとおり、メディア・サンプルのセットは、任意の所望の方法でグループ化され、及び/又は参照され得る。メディア・サンプルは、例えばビット、フレーム、データ・パケット、写真グループ、エンハンスド・ビデオ・オブジェクト・ユニット等の、任意の所望の単位で表示され得る。特定のメディア・サンプルのデジタル・コンテンツ(及び、特定のメディア・サンプルのサイズ)は、例えば、サンプルを構成するビデオ、音声又はデータ・コンテンツの特性、或いは、サンプルが由来するメディア供給源と関連付けられた一つ又は複数のパラメーター(例えば、メディア供給源の識別情報及び/又は場所、符号器/復号器パラメーター又は設定、或いは、暗号化パラメーター又は設定)のような幾つかのファクターに基づき得る。メディア供給源は、図2に関連して以下に更に説明される。
メディア・データ132は、メディア・コンテンツ管理部102によりレンダリングのために準備され且つミキサー/レンダラー110に送信されたメディア要素122と関連付けられたデータである。メディア・データ132は、一般に、アクティブなクリップ123ごとに、該クリップの一部のレンダリングを含む。
再び表示コンテンツ120を参照すると、IC要素124は、ユーザーが選択できる可視的又は可聴的なオブジェクトであってオプションとしてメディア要素122と同時に表示可能である対話型オブジェクト125と、可視的又は可聴的なオブジェクトを表示するための任意の命令(アプリケーション155として示される)とを含む。対話型オブジェクトの例としては、なかんずく、ビデオ・サンプル又はクリップ、音声サンプル又はクリップ、画像、グラフィックス、テキスト、及びそれらの組み合わせが含まれる。
アプリケーション155は、表示システム100がユーザーに対話型オブジェクト125を表示するメカニズムを提供する。アプリケーション155は、任意の信号処理方法、又はデータに対する予め決められた処理を電子的に制御する格納された命令を表す。
IC管理部104は、アプリケーション155と関連するコマンドを受信し、解釈し、実行を手配する、一つ又はそれ以上の命令処理エンジン181を含む。アプリケーション155の実行が進み、ユーザー入力150が受信されると、再生表示127内の動作がトリガーされ得る。「ICMからの入力」190とのラベル付けられた、アプリケーション155の特定の命令の実行は、表示システム100内の他の機能又は要素との通信又は相互作用性を円滑化し得る。図示されるように、入力190は、メディア・コンテンツ管理部102(図2に関連して以下に説明される)によって受信されるが、表示システム100内の他の要素又は機能もまた、入力190に応答し得る。
対話型コンテンツ・データ(「ICデータ」)134は、IC管理部104によりレンダリングのために準備され且つミキサー/レンダラー110に送信されたIC要素124と関連付けられたデータである。
タイミング信号管理ブロック108は、メディア・コンテンツ管理部102及びIC管理部104それぞれによるメディア・データ132及びICデータ134の準備及び生成のタイミングを制御するために用いられる様々なタイミング信号158を生成する。例えば、タイミング信号管理ブロック108は、一般に、メディア・データ132及びICデータ134がユーザーに提示される速度(図3と組み合わせて表示及び説明される「メディア・データ表示速度307」)の決定を担当する。もう一つの例において、タイミング信号158は、メディア・データ132及びICデータ134の近似的な同期(例えば、フレームごとの、又は他の時間ベースのタイミング/同期)を達成するために利用される。
ミキサー/レンダラーは、ビデオ面(図示せず)にメディア・データ132をレンダリングし、グラフィックス面(図示せず)にICデータ134をレンダリングする。グラフィックス面は、一般に、ユーザーへの再生表示127を生成するためにビデオ面に重ね合わされるが、必ずしもそうでなくてもよい。
メディア・コンテンツ管理部102、IC管理部104、ミキサー/レンダラー110、及びタイミング信号管理ブロック108と通信するよう構成される表示管理部106は、表示コンテンツ120の処理及び再生表示127のユーザーへの表示を容易にする。表示管理部106は再生リスト128へのアクセスを有する。再生リスト128は、なかんずく、ユーザーに表示することができるクリップ123及びアプリケーション155(対話型オブジェクト125を含む)の時間順のシーケンスを含む。クリップ123及びアプリケーション155/対話型オブジェクト125は、一つ又はそれ以上のタイトル131を形成するよう配列され得る。上記の通り、2つ以上の独立制御されるタイトル/メディア・コンテンツ・ストリームがユーザーに対して同時に再生されることが可能である。
表示管理部106は、再生リスト128を用いて、特定のタイトル131に対する表示時刻表130を確定する。概念上、表示時刻表130は、特定のクリップ123及びアプリケーション155がユーザーに表示されるとき、タイトル131内に時間を示す。或る状況においては、再生リスト128及び/又は表示時刻表130を用いて、一つ又は複数のメディア・コンテンツ時刻表(「メディア時刻表」)142を確認することも有用である(例としてのメディア時刻表142は、図3と関連して以下に示され、更に説明される。)
動作において、表示管理部106は、表示時刻表130及び/又はメディア時刻表142に関する情報を含み且つそれらに限定されない情報を、メディア・コンテンツ管理部102及びIC管理部104に提供する。表示管理部106からの入力に基づいて、メディア・コンテンツ管理部102はレンダリングのためにメディア・データ132を準備し、IC管理部104はレンダリングのためにICデータ134を準備する。
図2は、メディア・コンテンツ管理部102の態様をより詳細に示す、簡略化された機能ブロック図である。メディア・コンテンツ管理部102は一つ又は複数のメディア処理パイプラインを含む(任意の数のメディア処理パイプラインを使用可能であるが、メディア処理パイプライン1 202及びメディア処理パイプライン2 220という2つのメディア処理パイプラインが図示されている)。一般に、メディア処理パイプライン1 202及びメディア処理パイプライン2 220は、それぞれ、独立制御されるメディア・コンテンツ・ストリーム208及び228のユーザーへの表示を準備するために利用される。通常、一つのメディア処理パイプラインが、例えば映画等の主要なメディア・コンテンツ・ストリームの準備を担当し、他のメディア処理パイプラインが、例えば監督のコメント、役者略伝、広告等である、一つ又は複数の補助的なメディア・コンテンツ・ストリームの準備を担当する。理解されるように、メディア・コンテンツ管理部102は、メディア要素122及び/又はIC要素124からなる様々なクリップ123の識別情報及び(予め決められた又は予期せぬユーザー入力に基づく)スケジュールに基づく動的な処理負荷を有してもよい。
2つ又はそれ以上のクリップからの次に来るメディア・サンプルを同時に準備することは、容易に予測可能ではない方法で、(例えば、情報のバッファリング等に用いられる)例えばメモリー等のコンピューター資源を大量に消費する。そのうえ、特定のメディア・サンプルの表示を準備するために必要とされるメモリー資源は、サンプルごと又はクレームごとに必ずしも一定ではない。要求されるメモリー資源に影響する幾つかのファクターは、メディア・サンプルそのものと関連する(例えばメディア・サンプルのサイズ、メディア・サンプルの供給源/場所、符号化又は復号化パラメーター、及び暗号化パラメーターなどのファクターを含むが、それらに限定されない)。要求されるメモリー資源に影響する他のファクターは、メディア・コンテンツ・プレーヤーと関連し(例えば、プレーヤー・アーキテクチャー又は動的な処理負荷等)、要求されるメモリー資源に影響する更に他のファクターはユーザー入力に関連する(例えば、ユーザーが選択したメディア・コンテンツ、コンテンツ形式又は再生速度)。
メディア・コンテンツの表示におけるユーザー知覚可能な不具合を回避するため、メディア・コンテンツのレンダリングは、一般に、メディア・サンプルの予定された再生時刻の前に、ユーザーに提示されるべき一つ又は複数の次に来るメディア・サンプルの表示を特定し準備することを含む。ユーザーに表示するために特定の次に来るメディア・サンプルを準備することは、次に再生可能なメディア・サンプルを特定するステップと、特定のメディア供給源(以下に更に説明する)からの次に再生可能なメディア・サンプルの画像を読み出すステップとを含み且つそれらに限定されない複数のステップを含む。メディア・コンテンツは、一般に、符号化、暗号化及び/又は圧縮されているため、次に再生可能なメディア・サンプルは、メディア供給源から読み取られる情報からレンダリング可能なコンテンツを取得するために、多重化解除、復号化及び/又は暗号解読され得る。
次に再生可能なメディア・サンプルを特定するステップが、図3に示される例としてのメディア時刻表142を参照して説明される。様々なメディア・サンプル表示時刻302が、メディア時刻表142上に示される。メディア・サンプル表示時刻302は、一つ又は複数のメディア・サンプルがメディア・データ132として表示可能である、特定のクリップの再生期間内の時刻を表す。図示された通り、メディア・サンプル表示時刻302は、クリップごとに異なり得る予め決められたメディア・データ表示速度307に基づく速度で発生する。メディア・データ表示速度は特定のクリップの符号化速度に基づいて変化し得るが、メディア・データ表示速度307は、特定のクリップ123が符号化された速度と同じである必要はないことに留意されたい。或るユーザー入力150は、また、メディア供給源からのメディア・サンプルの取り出し速度に影響し、それにより、メディア・サンプル表示時刻302の発生速度に影響する。例えば、再生表示127は、通常の速度で順方向に進み、通常の速度より早い又は遅い速度で順方向及び逆方向に進み得る。理解されるように、通常の速度というのは相対的な用語であり、通常の速度は表示ごと及びクリップごとに異なり得る。早巻き戻し及び早送り操作の期間には、或るメディア・コンテンツの表示はしばしばスキップされる。他のユーザー入力は、例えば、ユーザーが映画の一部分から他の部分にジャンプした場合などに、特定のコンテンツがスキップされる再生をもたらす。
(再生時間期間のうちの)現在までの経過再生時間309が、メディア時刻表142上に示される。次に表示可能なメディア・サンプル表示時刻314もまた示される。次に表示可能なメディア・サンプル表示時刻314は、ユーザーに表示可能である(現在までの経過再生時間309と関連付けられた現在のメディア・サンプルの後の)次のメディア・サンプルと関連付けられたメディア・サンプル表示時刻302を表す。次に表示可能なメディア・サンプルは、再生リスト128に基づく次に続くメディア・サンプルであってもよいし、現在までの経過再生時間309と関連付けられたメディア・サンプルから一つ又は複数のメディア・サンプル表示時刻302だけ離れたメディア・サンプルであってもよい。
次に表示可能なメディア・サンプル/メディア・サンプル表示時刻314を確定する様々な方法があるが、それらは本明細書において詳細に説明しない。一般に、予測経過再生時間320と、それに対応する次に表示可能なメディア・サンプルとが確定される。予測経過再生時間320は、再生速度及びメディア・フレーム速度307に基づいて、(現在までの経過再生時間309に加えて)経過する再生時間期間の量を表す。予測経過再生時間は、次に表示可能なメディア・サンプル表示時間314である特定のメディア・サンプル表示時間302を特定するために利用され、次に表示可能なメディア・サンプルが特定され得る。
図2を再び参照して、2つのクリップのメディア・サンプルが同時にユーザーに表示可能である場合、メディア処理パイプライン1 202内において、特定のクリップ123と関連付けられた次に来るメディア・サンプルが特定され、メディア供給源1 204から取り出されて、復号器1 206において多重化解除、復号化及び/又は暗号解読される。同様に、メディア処理パイプライアン2 220内において、他の特定のクリップ123と関連付けられた次に来るメディア・サンプルが特定され、メディア供給源2 224から取り出されて、復号器2 226において多重化解除、復号化及び/又は暗号解読される。メディア供給源は、メディア・サンプルがそこから取り出される又は取得される、任意の装置、場所又はデータであり得る。復号器は、メディア供給源から受信された情報からレンダリング可能なメディア・サンプルを取り出すために用いられる任意の装置、技術又はステップである。復号器とメディア供給源との間の一対一の関係が示されているが、理解されるように、一つの復号器が複数のメディア供給源のために働いてもよく、またその逆も可能である。
表示システム100のメモリー資源の利用を効果的に管理するために、メディア・コンテンツ管理部102は、メディア処理パイプライン202及び220に応答するメモリー配分管理部(「MAM」)205を備える。MAM205は、特定の次に来るメディア・サンプルの表示を準備するための、可変量の共有可能メモリーの動的配分を担当する。一つの可能な実現態様において、MAM205はコンピューター実行可能命令のセットであり、コンピューター読み取り可能記憶媒体上に符号化されて実行時に、図4と組み合わせて以下に更に示され説明される方法の態様を実行する。MAM205は、メディア処理パイプライン202及び220に対する命令の製作者によってアクセスされる一つ又は複数のAPI機能(例えば、以下に更に説明される、メモリー・プール240のメモリー位置を戻すこと)の実現態様であることが望ましい。他の実現態様において、MAM205は、表示システム100の他の物理的又は論理的コンポーネントに配置されてもよい。
メモリー・プール240は、メディア処理パイプライン202及び220による利用のために、或るアルゴリズム(例としてのアルゴリズムが、以下において、図4と組み合わせて示され説明される)に従ってMAM205により個別に配分可能なユニットを有するとみなし得る特定のコンピューター読み取り可能記憶媒体の(任意のサイズ又は構成の)量又は領域の抽象的表現である。メモリー・プール240の一部は非共有メモリー241と呼ばれ、メディア処理パイプライン1 202とメディア処理パイプライン2とのうちのいずれか一方による使用のために制限されるメモリー・ユニットを表す。メモリー・プール240のもう一つの部分は共有可能メモリー244と呼ばれ、メディア処理パイプライン1 202とメディア処理パイプライン2 220とのうちの一方又は両方(又は、適用可能であれば他のメディア処理パイプライン)による使用のために配分され得るメモリー・ユニットを表す。例において、メモリー・プール240は40MBのRAMであり、共有可能メモリー244は30MBであり、非共有メモリー241は10MBであり、非共有メモリーの5MBはメディア処理パイプライン1 202のみによる使用に制限され、5MBの非共有メモリーはメディア処理パイプライアン2 220のみによる使用に制限される。
動的共有メモリー配分1 246は、メディア処理パイプライン1 202による使用のために(図4に関連して以下に更に説明される、例えばデータ速度のような資源消費指標にしたがって)配分された共有可能メモリー244の全体量を表し、動的共有メモリー配分2 248は、メディア処理パイプライン2 220による使用のために配分された共有可能メモリー244の全体量を表す。一般に、可変量の共有メモリー配分1 246は、次に来るメディア・サンプルの表示を準備するために、メディア処理パイプライン1 202によって要求及び予約され、メディア・サンプルがユーザーに対して再生されると、要求/予約された量の共有メモリー配分1 246が解放される。同様に、可変量の共有メモリー配分1 248は、次に来るメディア・サンプルの表示を準備するために、メディア処理パイプライン2 220によって要求及び予約され、メディア・サンプルがユーザーに対して再生されると、要求/予約された量の共有メモリー配分2 248が解放される。
図1〜図3を引き続き参照して、図4は、共有メモリーを用いて、例えば、共有可能メモリー244を用いて管理される連続したメディア・サンプルの複数のセットに構成されたメディア・コンテンツ(例えば、クリップ123)のような複数のデジタル・データのセットを同時に管理する方法のフロー図である。
図4に示されるプロセッサーは、図5と組み合わせて以下に説明されるプロセッサー502のような、一つ又は複数の一般的な汎用又は専用プロセッサーにおいて実現され得る。特に断らない場合、本明細書に記載された方法は、特定の順序又はシーケンスに限定されない。更に、記載された方法又はその要素の幾つかは、同時に発生し又は実行されることができる。
この方法はブロック400で始まり、デジタル・ユニットの第一のセットを処理するための一定量の共有メモリーが予約されるブロック402に続く。表示システム100の文脈において、デジタル・ユニットの第一のセットは、映画の特定のクリップ123と考えられ、(メディア・コンテンツ・ストリーム1 208として)メディア処理パイプライン202を介してレンダリングされる。メディア・コンテンツ・ストリーム1 208が、ユーザーに提示されている唯一のメディア・コンテンツ・ストリームである場合、一般に、MAM202により、全ての利用可能な共有可能メモリー244がメディア・コンテンツ・ストリーム1 208のレンダリングに配分され得る。
次に、菱形404において、デジタル・ユニットの第二のセットが、デジタル・ユニットの第一のセットと同時に処理されるべきか否かが決定される。表示システム100の文脈において、デジタル・ユニットの第二のセットは、例えば、画像内画像型の(picture−in−picture)監督コメント、宣伝、又は高品位でレンダリングされる映画の一部などのような、ユーザーにより選択された(メディア・コンテンツ・ストリーム2 228としてレンダリングされる)第二のメディア・コンテンツ・ストリームと考えられ得る。メディア・コンテンツ・ストリーム1 208及びメディア・コンテンツ・ストリーム2 228が同時にレンダリングされる場合、共有可能メモリー244は、一般に、MAM205によって、メディア処理パイプライン1 202による(メディア・コンテンツ・ストリーム1 208からの次に来るメディア・サンプルの特定及び復号化のための)使用と、メディア処理パイプライアン2 220による(メディア・コンテンツ・ストリーム2 228からの次に来るメディア・サンプルの特定及び復号化のための)使用との間で分割される。共有可能メモリー224が特に説明されるが、メディア処理パイプラインは、一般に、特定のクリップ/メディア・コンテンツ・ストリームからの(第一の連続したメディア・サンプルであっても、なくてもよい)メディア・サンプルのレンダリングを開始するために用いられる非共有メモリー241の量に対するアクセスをも有しており、共有可能メモリー244へのアクセスは、非共有メモリーへのアクセスに加えて行われることに留意されたい。
ブロック406に示すように、2セットのデジタル・ユニットの同時処理と関連付けられた動作の間で共有メモリーの使用を分割する一つの方法は、デジタル・ユニットのセットの処理と関連付けられた相対的な資源消費率に基づいて共有メモリーを配分することである。表示システム100の文脈において、例としての資源消費率は特定のメディア・コンテンツ・ストリームの平均データ速度であり、例としての配分は平均データ速度の比率に基づく配分である。
メディア・コンテンツ・ストリーム1 208及びメディア・コンテンツ・ストリーム2 228のような特定のメディア・コンテンツ・ストリームの平均データ速度は、そのときにレンダリングされている特定のクリップからのサンプルの総数(例えば、復号化されている又は既に復号化されてバッファされたが、まだユーザーに対して再生されていないサンプルの大きさ)を、そのときにレンダリングされているサンプルの総数の(例えば、メディア時刻表142から決定される)全再生時間で割ることによって計算され得る。次に来るメディア・サンプルが(例えば、メディア時刻表142を用いて)特定されると、共有可能メモリーは、特定された次に来るメディア・サンプルのレンダリングのために首尾よく予約され、また、レンダリングされたメディア・サンプルがユーザーに対して再生されてメモリーが首尾よく解放されると、平均データ速度が更新される。例えば、上記の通り、共有可能メモリー244が30MBであり、メディア・コンテンツ・ストリーム1 208が40MB/秒の平均データ速度を有し、メディア・コンテンツ・ストリーム2 228が20MB/秒の平均データ速度を有すると仮定すると、メディア・コンテンツ・ストリーム1 208とメディア・コンテンツ・ストリーム2 228との間のデータ速度の比率は2:1であるから、該比率に基づく共有可能メモリー244の配分は、メディア・ストリーム1 208のレンダリングのためにメディア処理パイプライン1 202に対しては20MBであり、メディア・コンテンツ・ストリーム1 228のレンダリングのためにメディア処理パイプライアン2 220に対しては10MBである。
時として、菱形407に示すように、(例えば、メディア処理パイプラインの一方又は両方が、以下に説明するように、ブロック412において既に予約されており、まだ解放されていない場合には、)計算された比率に基づく所望量の共有可能メモリー244を即座に配分するのは不可能であり得る。所望の配分が現状では不可能である場合、一つの解決方法は、ブロック418に示すように、優先度手法に基づいて、利用可能な共有可能メモリーを割り当てることである。菱形420に示すように、メモリー要求優先度が割り当てられるならば、ブロック416において共有可能メモリーの個別の量が解放され(菱形424参照)、共有可能メモリーの解放された量が、それらを解放したメディア処理パイプラインに対する(平均データ速度の比率に基づく)所望の配分を上回っている場合、メモリーは待機中のメモリー要求優先度に従って即座に再配分される。
菱形407において、ブロック406で計算された比率に基づく所望量の共有可能メモリー244をすぐに配分することが可能であると仮定すると、ブロック408において、デジタル・ユニットのセットの一部を処理するために特定の量の共有メモリーの配分を要求及び/又は予約するステップが実行される。表示システム100の文脈において、メディア処理パイプライン1 202及びメディア処理パイプライン2 220は、(例えば、メディア時刻表142に基づいて特定される)次に来るメディア・サンプルのレンダリングに必要な、既に配分された共有可能メモリーの個別の量の予約を(例えば、MAM205から)要求する。個々のメディア・サンプルを準備するために要求されるメモリー資源は、サンプルごと又はクリップごとに必ずしも一定ではなく、メディア・サンプルの大きさ、メディア供給源の位置又は識別情報、符号化又は復号化パラメーター、メディア・サンプル表示形式、圧縮パラメーター、暗号化パラメーター、再生速度、メディア・コンテンツ・プレーヤーの動的な処理負荷、及び他のファクターのようなファクターによって影響を受ける。
菱形410で、特定のクリップ/メディア・コンテンツ・ストリームの特定の次に来るメディア・サンプルのレンダリングのために必要とされる個別の量のメモリー要求を満たすのに十分でまだ予約されていない(ブロック206において配分された)共有可能メモリー244が存在することが決定されると、ブロック412に示すように、要求しているメディア処理パイプラインのために、要求されたメモリーの量が(例えば、MAM205によって)予約される。一般に、予約により、要求しているメディア処理パイプラインにとって利用可能な(ブロック206で配分された)共有可能メモリー244の量が低減される。また、そうした予約は、ブロック406における適用可能なメディア・コンテンツ・ストリームの平均データ速度の計算に単独で影響し得ることに留意されたい。
ブロック416に示すように、処理(例えば、メディア・データ132のユーザーへの表示)が完了すると、ブロック412で予約された個別の量のメモリーが、MAM205によって解放される。一般に、解放は、要求するメディア処理パイプラインにとって利用可能な(ブロック206で配分された)共有可能メモリーの量を増加させる。ブロック406において共有可能メモリー244の所望の配分がすぐには実現できず、解放されたメモリーの量が、解放したメディア・コンテンツ・パイプラインに対する所望の配分を超えている場合、解放されたメモリーは、すぐに、ブロック406で計算された所望の配分に従って再配分され得る。同様に、(以下に説明する)菱形414に示すように、待機中のメモリー要求優先度がある場合、その待機中のメモリー要求優先度が満たされる。
再び菱形410に戻って、所望の配分は実現されたが、特定の次に来るメディア・サンプルのレンダリングのために必要とされる個別の量のメモリーに対する要求を満たすために十分な未予約の共有可能メモリー244(ブロック206で配分された)がないと決定されたと仮定すると、利用可能な共有可能メモリーは、ブロック418に示すように、優先度手法に基づいて配分される。一つの可能な優先度手法においては、より高い優先度は、共有可能メモリーの配分された部分よりも少ない部分を有するメディア処理パイプラインへ共有可能メモリーを割り当てることに与えられる。代替の手法も可能であり、例えば、より高い平均データ速度を持つメディア・コンテンツ・ストリームを有するメディア処理パイプラインへ共有可能メモリーを割り当てることに、より高い優先度が与えられる。例えば、両方のメディア処理パイプライアンが、ブロック406で計算された割り当て分を超える共有可能メモリーを要求したと仮定する。ブロック420において、メモリー要求優先度が、共有可能メモリーの配分された部分より少ない部分を有するメディア処理パイプラインに割り当てられる場合、もう一つのメディア処理パイプラインは、より低いメモリー要求優先度を受け取り、又は、メモリー要求優先度を受け取らない。メモリー要求優先度を受け取った後、メディア処理パイプラインは、ブロック422に示す通り、ブロック416において(待機しているメディア処理パイプライン、又はいずれかのメディア処理パイプラインによって)十分なメモリーが解放されるまで待機し、解放されたメモリーは直ちにメモリー要求優先度に従って予約される。
もう一つの例において、一つのメディア処理パイプライアンが、ブロック406において計算された割り当て分を超える共有可能メモリーを要求したと仮定する。一つの解決方法は、メディア処理パイプラインが、共有可能メモリーの配分された部分よりも少ない部分を有するならばメモリー要求優先度を割り当て、要求しているメディア処理パイプラインが、共有可能メモリーの配分された部分を有しているならばメモリー要求優先度を割り当てないことである。メモリー要求優先度が割り当てられると、メディア処理パイプラインは、ブロック422に示す通り、ブロック416においていずれかのメディア処理パイプラインによって十分なメモリーが解放されるまで待機し、解放されたメモリーは、メモリー要求優先度に従って直ちに予約される。
菱形420に示すように、メモリー要求優先度が割り当てられない場合、一つの解決方法は、メディア処理パイプラインに、必要なメモリーが利用可能になる(例えば、ブロック406で計算された配分が変更され、及び/又は、他方のメディア処理パイプライアンが配分を越えるメモリーを解放する)まで、個別の量のメモリーを繰り返し再要求するよう求めることである。
菱形414に示すように、待機中のメモリー要求優先度は、一般に優先度順又は時間順に満たされる。ブロック206において共有可能メモリー244が再配分されたときに、メモリー要求優先度を再設定することが望ましい。そのような再配分は、メディア時刻表142で示されたメディア・サンプル表示時間と独立して、様々な時点において生じ得る。待機中のメモリー要求優先度がなく、メディア・データ・ストリームが停止した場合、この方法は、全ての利用可能な共有可能メモリー244がレンダリング中の他のメディア・データ・ストリームに利用可能であるブロック402に戻る。
図5は、表示システム100の様々な機能コンポーネントを実現するのに使用され、アクセスされ又は含まれ得る機能コンポーネントを示す、汎用コンピューター・ユニット500のブロック図である。コンピューター・ユニット500の一つ又はそれ以上のコンポーネントは、IC管理部104、表示管理部106及びメディア・コンテンツ管理部102を実現するために利用され、それらによってアクセス可能であり、又は、それらに含まれ得る。例えば、図5の一つまたはそれ以上のコンポーネントは、表示システム100の機能を(全体で又は部分的に)様々な方法で実現するために、一緒に又は別々にパッケージングされ得る。
一つ又はそれ以上のプロセッサー502は、コンピューター読み取り可能媒体504及びコンピューター・プログラム506に応答する。物理的又は仮想的なプロセッサーであり得るプロセッサー502は、コンピューター実行可能命令を実行することにより電子機器の機能を制御する。プロセッサー502は、特定のプロセスを実行するために、アセンブリの、コンパイルされた又はマシンレベルの命令を実行することができる。そのような命令は、ソース・コード、又は任意の他の既知のコンピューター・プログラム設計ツールを使って作成され得る。
コンピューター読み取り可能媒体504は、プロセッサー502により実行可能な命令のようなコンピューター読み取り可能データの記録、格納又は送信が可能な任意の形態の装置であって、現在知られている又は後に開発される任意の数及び組み合わせのローカルの又はリモートの装置を示す。特に、コンピューター読み取り可能媒体504は、半導体メモリー(例えば、読み取り専用メモリー(「ROM」)、任意の種別のプログラム可能ROM(「PROM」)、ランダム・アクセス・メモリー(「RAM」)、又はフラッシュ・メモリー)、磁気記憶装置(例えば、フロッピー(登録商標)ディスク・ドライブ、ハードディスク・ドライブ、磁気ドラム、磁気テープ又は磁気光学ディスク)、光記憶装置(例えば、任意の種別のコンパクト・ディスク又はデジタル多用途ディスク)、バブル・メモリー、キャッシュ・メモリー、コア・メモリー、ホログラム・メモリー、メモリー・スティック、紙テープ、パンチカード、又はそれらの任意の組み合わせであっても、それらを含むものでもよい。コンピューター読み取り可能媒体504は、また、通信媒体及びそれに関連付けられたデータを含んでもよい。通信媒体/データの例としては、例えば変調搬送信号によって搬送されるパケット化された又はパケット化されないデータのような、任意の形態の有線又は無線通信に包含されるデータを含むが、それに限られない。
コンピューター・プログラム506は、任意の信号処理方法、又はデータに対する予め決められた処理を電子的に制御する格納された命令を示す。一般に、コンピューター・プログラム506は、コンポーネント・ベースのソフトウェア開発の周知の実務に従ってソフトウェア・コンポーネントとして実現され、(例えば、コンピューター読み取り可能媒体504のような)コンピューター読み取り可能媒体上に符号化されるコンピューター実行可能命令である。コンピューター・プログラムは様々な方法で組み合わされ、又は分散され得る。
表示システム100の文脈において説明された機能/コンポーネントは、コンピューター・プログラムの任意の特定の実施の形態による実現態様に限定されない。むしろ、機能はデータを伝送又は変換するプロセスであり、一般に、表示システム100の機能的コンポーネントの任意の組み合わせに配置され又はそれらによってアクセスされるハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせによって実現され、又は実行され得る。
図5を引き続き参照して、図6は、コンピューター・ユニット500又は表示システム100の全部又は一部が実現又は利用され得る動作環境600の例としての構成のブロック図である。動作環境600は、一般に、広範な汎用又は専用のコンピューティング環境を示す。動作環境600は、適切な動作環境の一例に過ぎず、本明細書に説明されるシステム及び方法の用途又は機能の範囲に関するいかなる限定をも示唆するものではない。例えば、動作環境600は、例えばパーソナル・コンピューター、ワークステーション、サーバー、携帯型装置、ラップトップ、タブレット、或いは、例えば光メディア・プレーヤー又は他の形式のメディア・プレーヤーのような任意の他の種別の電子機器である、現在知られている又は後に開発される任意の形式のコンピューター或いはその任意の態様であってよい。動作環境600は、また、例えば、分散コンピューティング・ネットワーク又はウェブ・サービスであってもよい。動作環境600の具体例としては、例えば、高品位DVD映画の再生を容易にする、DVDプレーヤー又はそれと関連付けられたオペレーティング・システムのような環境である。
図示されるように、動作環境600は、プロセッサー502、コンピューター読み取り可能媒体504及びコンピューター・プログラム506を含むコンピューター・ユニット500のコンポーネントを含み、又はそれらにアクセスする。周知であり且つ広く入手可能なコンポーネントである一つ又は複数の内部バス620が、コンピューター環境600又はそのコンポーネント内の、コンピューター環境600又はそのコンポーネントへの、或いは、コンピューター環境600又はそのコンポーネントからのデータ、アドレス、制御信号及び他の情報を搬送するために利用され得る。
入力インターフェース608は、コンピューター環境600への入力を提供する。入力は、例えばユーザー・インターフェースのような、任意の種別の現在知られている又は後に開発されるインターフェースを利用して収集される。ユーザー・インターフェースは、リモート・コントロール、ディスプレイ、マウス、ペン、スタイラス、トラックボール、キーボードのようなタッチ入力装置、マイクロフォン、スキャナー装置、及び、データ入力に用いられる全ての形式の装置であり得る。
出力インターフェース610は動作環境600からの出力を提供する。出力インターフェース610の例は、ディスプレイ、プリンター、スピーカー、ドライブ(例えば、光ディスク・ドライブ及び他のディスク・ドライブ)及びそれらに類するものを含む。
外部通信インターフェース612は、動作環境600が、チャンネル信号、データ信号又はコンピューター読み取り可能媒体のような通信媒体を介して他のエンティティとの間で情報を送受信する能力を高めるために利用可能である。外部通信インターフェース612は、ケーブル・モデム、データ端末装置、メディア・プレーヤー、データ記憶装置、個人情報端末又は任意の他の装置或いはそれらのコンポーネント/組み合わせのような要素や、関連するネットワークをサポートする装置及び/又はソフトウェア又はインターフェースであってよく、又はそれらを含む。専用ハードウェエア615は、例えば送受信機、コーデック、専用回路、ディスク・ドライブ及びそれらに類するもののような、動作環境600の機能を実現する任意のハードウェア又はファームウェアを表す。
図7は、表示システム100、コンピューター・ユニット500又は動作環境600と組み合わせて利用され得るクライアント・サーバー・アーキテクチャー700の簡略化された機能図である。表示システム100、コンピューター・ユニット500及び/又は動作環境600の一つ又は複数の態様は、アーキテクチャー700のクライアント側702、又はアーキテクチャー700のサーバー側704に表され得る。図示される通り、(例えば、有線又は無線の、任意の形式の私的又は公的なネットワークであり得る)通信フレームワーク703は、クライアント側702及びサーバー側704の間の通信を円滑化する。
クライアント側702において、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせにおいて実現され得る一つ又はそれ以上のクライアント706は、クライアント・データ記憶装置708に応答する。クライアント・データ記憶装置708は、クライアント706のローカルの情報を格納するために採用されるコンピューター読み取り可能媒体504であり得る。サーバー側704において、一つ又は複数のサーバー710は、サーバー・データ記憶装置712に応答する。クライアント・データ記憶装置708と同様に、サーバー・データ記憶装置712は、サーバー710のローカルの情報を格納するために採用される一つ又はそれ以上のコンピューター読み取り可能媒体504を含む。
メディア・コンテンツと同時に対話型コンテンツをユーザーに表示するために用いられる表示システムの様々な態様が説明された。しかしながら、理解されるように、説明された表示システムのコンポーネントの全てが利用される必要はなく、また、それらのコンポーネントは使用の際に同時に存在する必要もない。表示システム100の文脈においてコンピューター・プログラムとして説明された機能/コンポーネントは、任意の特定のコンピューター・プログラムの実施の形態による実現に限られない。むしろ、機能はデータを伝達又は変換するプロセスであり、一般に、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせにおいて実現され、又は実行され得る。
本願発明を、構造的特徴及び/又は方法的行為に特化した言葉で説明したが、理解されるように、特許請求の範囲により定義される発明は、必ずしても上記の特定の特徴又は行為に限定されるものではない。むしろ、上記の特定の特徴及び行為は、特許請求の範囲を実現する例としての形態として説明されるものである。
更に理解されるように、一つの要素が他の要素に応答するものとして示される場合、それらの要素は直接又は間接に結合され得る。本明細書に示された接続は、実際において、要素間の結合又は通信可能インターフェースを達成するための論理的又は物理的なものであり得る。接続は、なかんずく、ソフトウェア・プロセス間の内部プロセス通信として、又はネットワーク接続されたコンピューター間のマシン間通信として実現され得る。
用語「例として」は、本明細書において、例、事例又は説明として供されることを意味するものとして用いられる。本明細書に「例として」記載された任意の実現態様又はその態様は、必ずしても、他の実現態様又はその態様よりも好ましい又は有利なものとして構成されるものではない。
理解される通り、上記の特定の実施の形態以外の実施の形態が、添付の特許請求の範囲の趣旨及び範囲から逸脱することなく考案され、本願発明の範囲は、添付の特許請求の範囲によって決定されるものとする。

Claims (20)

  1. プロセッサー(502)によって実行された際に、或る量の共有可能メモリー(244)を有するメモリー・プール(240)を用いて、連続したデジタル・データ・ユニットの複数のセットを備えるデジタル・データを管理する方法(400)を実行するコンピューター読み取り可能命令(506)が符号化されたコンピューター読み取り可能記憶媒体(504)であって、該方法が、
    第一のシーケンスを有するデジタル・データ・ユニットの第一のセットを特定するステップ(402)と、
    第二のシーケンスを有するデジタル・データ・ユニットの第二のセットを特定するステップ(404)と、
    前記第一のセットの一部が前記第二のセットの一部と同時に処理される場合に、
    前記第一のシーケンスの幾つかのデジタル・データ・ユニットの処理と関連付けられた第一の資源消費指標を確定するステップ(406)と、
    前記第二のシーケンスの幾つかのデジタル・データ・ユニットの処理と関連付けられた第二の資源消費指標を確定するステップ(406)と、
    前記第一の資源消費指標の前記第二の資源消費指標に対する比率を計算するステップ(406)と、
    前記比率に従って、前記メモリー・プールの前記量の共有可能メモリーを、前記第一のセットの処理と関連付けられた動作と、前記第二のセットの処理と関連付けられた動作との間で動的に配分するステップ(406、407、408)と、
    を備える、コンピューター読み取り可能記憶媒体。
  2. 請求項1記載のコンピューター読み取り可能記憶媒体(504)であって、前記方法が、更に、
    前記第一のセットの一部が前記第二のセットの一部と同時に処理されない場合に(404)、前記メモリー・プールの前記量の共有可能メモリーを、前記第一のセットの処理と関連付けられた動作と、前記第二のセットの処理と関連付けられた動作とのいずれかに動的に配分するステップを備えるコンピューター読み取り可能記憶媒体。
  3. 請求項1記載のコンピューター読み取り可能記憶媒体(504)であって、前記第一及び第二の資源消費指標が、デジタル・データ・ユニットの前記第一及び第二のセットの処理と関連付けられた平均資源消費率をそれぞれ含むコンピューター読み取り可能記憶媒体。
  4. 請求項1記載のコンピューター読み取り可能記憶媒体(504)であって、前記方法が、更に、
    前記第一のセットの一部が前記第二のセットの一部と同時に処理される場合に、
    利用可能な一定量の共有可能メモリーが前記比率に従った配分に不十分であることを確定するステップ(407)と、
    デジタル・ユニットの前記第一のセットの処理と関連付けられた動作と、デジタル・データの前記第二のセットの処理と関連付けられた動作とのいずれかに優先度を割り当てるステップ(420)と、
    前記割り当てられた優先度に基づいて、前記メモリー・プールの前記量の共有可能メモリーを動的に配分するステップ(418)と、
    を備えるコンピューター読み取り可能記憶媒体。
  5. 請求項4記載のコンピューター読み取り可能記憶媒体(504)であって、前記優先度に基づいて前記メモリー・プールの前記量の共有可能メモリーを配分する前記ステップが、
    前記第一のセットの処理と関連付けられた動作に前記優先度が割り当てられる場合に、前記第一のセットの処理と関連付けられた動作に前記メモリー・プールの前記量の共有可能メモリーを配分するステップと、
    前記第二のセットの処理と関連付けられた動作に前記優先度が割り当てられる場合に、前記第二のセットの処理と関連付けられた動作に前記メモリー・プールの前記量の共有可能メモリーを動的に配分するステップと、
    を備えるコンピューター読み取り可能記憶媒体。
  6. 請求項1記載のコンピューター読み取り可能記憶媒体(504)であって、前記第一のシーケンスと前記第二のシーケンスとのうちの一方は両方が、予め決められ、又は動的に決定されるコンピューター読み取り可能記憶媒体。
  7. プロセッサー(502)で実行された際に、共有可能メモリー・プール(244)を用いてメディア・コンテンツ(122)をレンダリングする方法(400)を実行するコンピューター実行可能命令(506)が符号化されたコンピューター読み取り可能記憶媒体(504)であって、前記メディア・コンテンツが連続したメディア・サンプルの複数のセットに配列されており、該方法が、
    第一のメディア供給源(204)から受け取ることができるメディア・サンプル(123)の第一のセットを特定するステップ(402)と、
    第二のメディア供給源(224)から受け取ることができるメディア・サンプル(123)の第二のセットを特定するステップ(404)と、
    メディア・サンプルの前記第一のセットのレンダリングと関連付けられた第一のデータ速度を計算するステップ(406)と、
    メディア・サンプルの前記第二のセットのレンダリングと関連付けられた第二のデータ速度を計算するステップ(406)と、
    前記第一のデータ速度を前記第二のデータ速度と比較するステップ(406)と、
    前記比較するステップに基づいて、メディア・サンプルの前記第一のセットのレンダリングのための、前記共有可能メモリー・プールからの第一の量のメモリー(246)と、メディア・サンプルの前記第二のセットの同時のレンダリングのための、前記共有可能メモリー・プールからの第二の量のメモリー(248)とを動的に配分するステップ(406、407、408)と、
    を備えるコンピューター読み取り可能記憶媒体。
  8. 請求項7記載のコンピューター読み取り可能媒体(504)であって、前記方法が、更に、
    メディア・サンプルの前記第一のセットからの第一の次に来るメディア・サンプルを特定するステップと、
    メディア・サンプルの前記第二のセットからの第二の次に来るメディア・サンプルを特定するステップであって、前記第二の次に来るメディア・サンプルが、前記第一の次に来るメディア・サンプルと同時にレンダリングされるステップと、
    前記第一の次に来るメディア・サンプルのレンダリングのための第一の所望のメモリー量を確定するステップと、
    前記第二の次に来るメディア・サンプルのレンダリングのための第二の所望のメモリー量を確定するステップと、
    前記共有可能メモリー・プールから利用可能なメモリー量が、前記第一の所望のメモリー量と前記第二の所望のメモリー量との動的な配分に十分である場合に、
    前記第一の次に来るメディア・サンプルのレンダリングのための前記第一の所望のメモリー量を動的に配分し、前記第一の所望のメモリー量だけ、前記共有可能メモリー・プールから利用可能なメモリー量を減少させるステップと、
    前記第二の次に来るメディア・サンプルのレンダリングのための前記第二の所望のメモリー量を動的に配分し、前記第二の所望のメモリー量だけ、前記共有可能メモリー・プールから利用可能なメモリー量を減少させるステップと、
    前記共有可能メモリー・プールから利用可能なメモリー量が、前記第一の所望のメモリー量と前記第二の所望のメモリー量との動的な配分に不十分である場合に、前記第一の次に来るメディア・サンプルのレンダリングのための前記第一の所望のメモリー量を動的に配分し、前記第一の所望のメモリー量だけ、前記共有可能メモリー・プールから利用可能なメモリー量を減少させる、或いは、前記第二の次に来るメディア・サンプルのレンダリングのための前記第二の所望のメモリー量を動的に配分し、前記第二の所望のメモリー量だけ、前記共有可能メモリー・プールから利用可能なメモリー量を減少させるステップと、
    を備えるコンピューター読み取り可能媒体。
  9. 請求項8記載のコンピューター読み取り可能媒体(504)であって、前記共有可能メモリー・プールから利用可能なメモリー量が、前記第一の所望のメモリー量と前記第二の動的なメモリー量との動的な配分に不十分である場合に、
    前記第一のデータ速度が前記第二のデータ速度より高い場合に、前記第一の所望のメモリー量を動的に配分するステップと、
    前記第二のデータ速度が前記第一のデータ速度より高い場合に、前記第二の所望のメモリー量を動的に配分するステップと、
    を備えるコンピューター読み取り可能媒体。
  10. 請求項8記載のコンピューター読み取り可能媒体(504)であって、前記方法が、更に、
    前記第一の所望のメモリー量が動的に配分された場合に、前記第一の次に来るメディア・サンプルがレンダリングされた後に、前記共有可能メモリー・プールから利用可能な前記メモリー量を前記第一の所望のメモリー量だけ増加させるステップと、
    前記第二の所望のメモリー量が動的に配分された場合に、前記第二の次に来るメディア・サンプルがレンダリングされた後に、前記共有可能メモリー・プールから利用可能な前記メモリー量を前記第二の所望のメモリー量だけ増加させるステップと、
    を備えるコンピューター読み取り可能媒体。
  11. 請求項8記載のコンピューター読み取り可能媒体(504)であって、前記方法が、更に、
    前記共有可能メモリー・プールから利用可能なメモリー量が、前記第一の所望のメモリー量と前記第二の動的なメモリー量との動的な配分に不十分である場合、前記第二の所望のメモリー量が動的に配分される際に前記第一の所望のメモリー量にメモリー配分優先度を割り当て、又は、前記第一の所望のメモリー量が動的に配分される際に前記第二の所望のメモリー量にメモリー配分優先度を割り当てるステップと、
    前記配分優先度が前記第一の所望のメモリー量に割り当てられ、前記共有可能メモリー・プールから利用可能な前記メモリー量が前記第一の所望のメモリー量と等しいか、又は前記第一の所望のメモリー量より大きくなった場合に、前記共有可能メモリー・プールから前記第一の所望のメモリー量を自動的に動的に配分するステップと、
    前記配分優先度が前記第二の所望のメモリー量に割り当てられ、前記共有可能メモリー・プールから利用可能な前記メモリー量が、前記第二の所望のメモリー量と等しいか、又は前記第二の所望のメモリー量より大きくなった場合に、前記共有可能メモリー・プールから前記第一の所望のメモリー量を自動的に動的に配分するステップと、
    を備えるコンピューター読み取り可能媒体。
  12. 請求項7記載のコンピューター読み取り可能媒体(504)であって、前記第一のメディア供給源が前記第二のメディア供給源と同じであるか又は異なり、
    メディア・サンプルが、ビット、フレーム、データ・パケット、写真グループ及びエンハンスド・ビデオ・オブジェクト・ユニットからなるグループから選択されるコンピューター読み取り可能媒体。
  13. 請求項7記載のコンピューター読み取り可能媒体(504)であって、比較する前記ステップが、前記第一のデータ速度の前記第二のデータ速度に対する比率を計算するステップを備え、
    動的に配分する前記ステップが、該比率に従って動的に配分するステップを備える、
    コンピューター読み取り可能媒体。
  14. 請求項7記載のコンピューター読み取り可能媒体(504)であって、前記第一のデータ速度が、メディア・サンプルの前記第一のセットのレンダリング速度、表示システム特性及び前記第一のメディア供給源の特性からなるグループから選択された情報に基づいて計算された平均データ速度を含み、
    前記第二のデータ速度が、メディア・サンプルの前記第二のセットのレンダリング速度、表示システム特性及び前記第二のメディア供給源の特性からなるグループから選択された情報に基づいて計算された平均データ速度を含む、
    コンピューター読み取り可能媒体。
  15. 請求項14記載のコンピューター読み取り可能媒体(504)であって、前記表示システム特性が、メディア・サンプルの前記第一のセットとメディア・サンプルの前記第二のセットとのうちの一方又は両方の再生状態、前記表示システム内の処理負荷、及び、前記表示システムと関連付けられたクロック周波数からなるグループから選択されるコンピューター読み取り可能媒体。
  16. 請求項14記載のコンピューター読み取り可能媒体(504)であって、前記第一及び第二のメディア供給源の特性が、符号器−復号器対パラメーターと暗号化パラメーターとからなるグループから選択される、コンピューター読み取り可能媒体。
  17. 請求項14記載のコンピューター読み取り可能媒体(504)であって、メディア・サンプルの前記第一のセットのレンダリングと関連付けられた平均データ速度を計算する前記ステップが、
    メディア・サンプルの前記第一のセットのレンダリングのために配分されている前記共有可能メモリー・プールのメモリー量を確定するステップと、
    レンダリングされている前記第一のセットの第一の数のメディア・サンプルのサイズを確定するステップと、
    前記第一の数のメディア・サンプルのユーザーへの再生と関連付けられた第一の時間量を確定するステップと、
    前記第一の時間量によって、前記第一の数のメディア・サンプルの前記サイズを除算するステップと、
    を備え、
    メディア・サンプルの前記第二のセットのレンダリングと関連付けられた平均データ速度を計算する前記ステップが、
    メディア・サンプルの前記第二のセットのレンダリングのために配分されている前記共有可能メモリー・プールのメモリー量を確定するステップと、
    レンダリングされている前記第二のセットの第二の数のメディア・サンプルのサイズを確定するステップと、
    前記第二の数のメディア・サンプルのユーザーへの再生と関連付けられた第二の時間量を確定するステップと、
    前記第二の時間量によって、前記第二の数のメディア・サンプルの前記サイズを除算するステップと、
    を備えるコンピューター読み取り可能媒体。
  18. 連続したメディア・サンプルの複数のセットに配列されたメディア・コンテンツのレンダリングを行うシステム(100)であって、
    第一のメディア供給源からのメディア・サンプルの第一のセットのレンダリングと、第二のメディア供給源からのメディア・サンプルの第二のセットのレンダリングとを手配するよう動作可能なメディア・コンテンツ管理部(102)と、
    前記メディア・コンテンツ管理部と通信するよう構成され、前記第一のセットからの第一のメディア・サンプルが前記第二のセットからの第二のメディア・サンプルと同時にレンダリングされるべき場合を特定するよう動作可能な表示管理部(106)と、
    前記メディア・コンテンツ管理部及び前記表示管理部に応答するメモリー配分管理部(205)であって、共有可能メモリー・プールを管理し、
    メディア・サンプルの前記第一のセットのレンダリングと関連付けられた第一のデータ速度を確定し、
    メディア・サンプルの前記第二のセットのレンダリングと関連付けられた第二のデータ速度を確定し、
    前記第一のデータ速度を前記第二のデータ速度と比較し、
    前記比較に基づいて、メディア・サンプルの前記第一のセットからの前記第一のメディア・サンプルのレンダリングのための、前記共有可能メモリー・プールからの第一の量のメモリーと、メディア・サンプルの前記第二のセットからの前記第二のメディア・サンプルの同時のレンダリングのための、前記共有可能メモリー・プールからの第二の量のメモリーとを動的に配分するメモリー配分管理部(205)と、
    を備えるシステム。
  19. 請求項14記載のシステム(100)であって、オペレーティング・システムを含むシステム。
  20. 請求項18記載のシステム(100)であって、デジタル・メディア・プレーヤーを含むシステム。
JP2010514975A 2007-06-28 2008-06-17 共有メモリー・プールを利用したデジタル・データ管理 Active JP5513381B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/823,510 US7698528B2 (en) 2007-06-28 2007-06-28 Shared memory pool allocation during media rendering
US11/823,510 2007-06-28
PCT/US2008/067252 WO2009006016A2 (en) 2007-06-28 2008-06-17 Digital data management using shared memory pool

Publications (2)

Publication Number Publication Date
JP2010532056A true JP2010532056A (ja) 2010-09-30
JP5513381B2 JP5513381B2 (ja) 2014-06-04

Family

ID=40162136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010514975A Active JP5513381B2 (ja) 2007-06-28 2008-06-17 共有メモリー・プールを利用したデジタル・データ管理

Country Status (13)

Country Link
US (1) US7698528B2 (ja)
EP (1) EP2160685B1 (ja)
JP (1) JP5513381B2 (ja)
KR (1) KR101475544B1 (ja)
CN (1) CN101689137B (ja)
AU (1) AU2008270802B2 (ja)
BR (1) BRPI0813398B1 (ja)
CA (1) CA2689585A1 (ja)
IL (1) IL202618A (ja)
MX (1) MX2009013843A (ja)
RU (1) RU2466451C2 (ja)
TW (1) TWI368875B (ja)
WO (1) WO2009006016A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514610A (ja) * 2008-02-29 2011-05-06 サムスン エレクトロニクス カンパニー リミテッド 再生方法及び装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO329425B1 (no) * 2009-03-17 2010-10-18 Microsoft Internat Holdings B System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver
US8423088B2 (en) * 2009-07-22 2013-04-16 Microsoft Corporation Aggregated, interactive communication timeline
CN101883153B (zh) * 2010-07-22 2015-05-13 中兴通讯股份有限公司 一种基于云计算的信息呈现方法、系统及终端设备
EP2707810A1 (en) 2011-05-10 2014-03-19 Thomson Licensing Technique for synchronized content sharing
KR102277258B1 (ko) * 2014-02-27 2021-07-14 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
CN105701019A (zh) 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置
US9882960B2 (en) * 2014-12-30 2018-01-30 Airwatch Llc Security framework for media playback
CN108573162A (zh) * 2017-05-31 2018-09-25 北京金山云网络技术有限公司 数据拷贝系统、方法及装置
RU2767776C2 (ru) 2018-01-10 2022-03-21 Идак Холдингз, Инк. Способы идентификации ресурсов физического канала управления нисходящей линии связи новой радиосети, который был высвобожден для приоритетного использования связью с повышенной надежностью и малым временем задержки
US10838868B2 (en) 2019-03-07 2020-11-17 International Business Machines Corporation Programmable data delivery by load and store agents on a processing chip interfacing with on-chip memory components and directing data to external memory components

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159231A (ja) * 2002-11-08 2004-06-03 Sharp Corp デジタル符号化情報記録再生装置
JP2005004581A (ja) * 2003-06-13 2005-01-06 Matsushita Electric Ind Co Ltd メディア処理装置及びメディア処理方法
WO2006003539A1 (en) * 2004-06-29 2006-01-12 Koninklijke Philips Electronics N.V. Method and circuit for buffering a stream of data

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2842738B2 (ja) * 1992-08-25 1999-01-06 富士通株式会社 オンライン処理システム
US6205522B1 (en) 1998-04-15 2001-03-20 Diamond Multimedia Systems, Inc. DSP code swapping with continuous DSP execution
US6490250B1 (en) * 1999-03-09 2002-12-03 Conexant Systems, Inc. Elementary stream multiplexer
JP2001043616A (ja) * 1999-07-30 2001-02-16 Sharp Corp 記録方法、記録媒体及び記録装置
KR100407494B1 (ko) 1999-10-29 2003-12-01 엘지전자 주식회사 스트림 사양정보의 기록 및 이의 제공방법
TW522379B (en) 2000-05-26 2003-03-01 Cyberlink Corp DVD playback system for displaying two types of captions and the playback method
US6578109B1 (en) 2000-06-29 2003-06-10 Sony Corporation System and method for effectively implementing isochronous processor cache
CA2446707C (en) * 2001-05-10 2013-07-30 Polycom Israel Ltd. Control unit for multipoint multimedia/audio system
US7266132B1 (en) * 2002-10-24 2007-09-04 Cisco Technology, Inc. Flexible memory allocation for data transmission
CA2422252C (en) 2003-03-14 2008-09-02 Ibm Canada Limited - Ibm Canada Limitee Reduced synchronization reservation system and method for a shared memory buffer
US7472246B2 (en) * 2003-04-30 2008-12-30 International Business Machines Corporation Method and system for automated memory reallocating and optimization between logical partitions
US20050030971A1 (en) 2003-08-08 2005-02-10 Visionflow, Inc. Adaptive bandwidth allocation over a heterogeneous system interconnect delivering true bandwidth-on-demand
US20060041895A1 (en) 2004-08-04 2006-02-23 Microsoft Corporation Systems and methods for interfacing with codecs across an architecture optimized for audio
US7380038B2 (en) 2005-02-04 2008-05-27 Microsoft Corporation Priority registers for biasing access to shared resources
US7769274B2 (en) 2005-05-06 2010-08-03 Mediatek, Inc. Video processing and optical recording using a shared memory
KR20070014945A (ko) 2005-07-29 2007-02-01 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
US20080049036A1 (en) * 2006-08-24 2008-02-28 Mediatek Inc. Multimedia Playback System, FIFO Memory System, and Method for Storing Multimedia Data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159231A (ja) * 2002-11-08 2004-06-03 Sharp Corp デジタル符号化情報記録再生装置
JP2005004581A (ja) * 2003-06-13 2005-01-06 Matsushita Electric Ind Co Ltd メディア処理装置及びメディア処理方法
WO2006003539A1 (en) * 2004-06-29 2006-01-12 Koninklijke Philips Electronics N.V. Method and circuit for buffering a stream of data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514610A (ja) * 2008-02-29 2011-05-06 サムスン エレクトロニクス カンパニー リミテッド 再生方法及び装置
US8750672B2 (en) 2008-02-29 2014-06-10 Samsung Electronics Co., Ltd. Playback method and apparatus

Also Published As

Publication number Publication date
KR101475544B1 (ko) 2014-12-22
US7698528B2 (en) 2010-04-13
WO2009006016A2 (en) 2009-01-08
BRPI0813398B1 (pt) 2019-08-20
AU2008270802A1 (en) 2009-01-08
RU2466451C2 (ru) 2012-11-10
WO2009006016A3 (en) 2009-04-23
IL202618A (en) 2014-12-31
CN101689137B (zh) 2015-07-29
KR20100036256A (ko) 2010-04-07
CA2689585A1 (en) 2009-01-08
TW200912754A (en) 2009-03-16
BRPI0813398A2 (pt) 2014-12-30
RU2009148525A (ru) 2011-06-27
US20090006771A1 (en) 2009-01-01
EP2160685A2 (en) 2010-03-10
JP5513381B2 (ja) 2014-06-04
AU2008270802B2 (en) 2012-07-05
MX2009013843A (es) 2010-03-10
CN101689137A (zh) 2010-03-31
EP2160685A4 (en) 2011-01-26
IL202618A0 (en) 2010-06-30
TWI368875B (en) 2012-07-21
EP2160685B1 (en) 2016-12-14

Similar Documents

Publication Publication Date Title
JP5513381B2 (ja) 共有メモリー・プールを利用したデジタル・データ管理
US9043504B2 (en) Interfaces for digital media processing
JP4907653B2 (ja) メディア・コンテンツのレンダリングの諸側面
KR101365829B1 (ko) 대화형 멀티미디어 프리젠테이션을 재생하는 방법을 수행하는 컴퓨터 실행가능 명령어들이 인코딩된 컴퓨터 판독가능 매체, 및 대화형 멀티미디어 프리젠테이션을 재생하는 프리젠테이션 시스템 및 장치
US7996875B2 (en) Adaptive timeshift service
CN112887786B (zh) 视频播放方法、装置及计算机可读介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140327

R150 Certificate of patent or registration of utility model

Ref document number: 5513381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250