(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行される方法であって、
第１のサンドボックスにおいて実行されるサンドボックスプレビュープロセスを用いて、非ネーティブコンテンツタイプを有するダイナミックメディアコンテンツのプレビューの要求に応答して、第２のサンドボックスにおいて実行されるサンドボックスストリーミングプレビュープロセスを開始する段階であって、前記サンドボックスストリーミングプレビュープロセスは非ネーティブコンテンツのために指定されたプラグインを備えるものである段階と、
前記ダイナミックメディアコンテンツからプレビュー特有のフォーマットでフレームのストリームを発生する段階であって、そのフレームのストリームは、前記指定されたプラグインを用いて検索され、前記第２のサンドボックスにおいて前記サンドボックスストリーミングプレビュープロセス内で実行されるストリームプラグインを用いて発生されるものである段階と、
前記フレームのストリームを、前記ダイナミックメディアコンテンツのプレビューとして与える段階であって、前記プレビューは、ディスプレイスクリーン上で見ることのできるものである段階と、
を備えた方法。
【請求項２】
サンドボックスストリーミングプレビュープロセスを開始する前記段階は、
前記ダイナミックメディアコンテンツのコンテンツタイプを決定すること、及び
前記ダイナミックメディアコンテンツのコンテンツタイプに少なくとも一部分基づいて前記ダイナミックメディアコンテンツを前記プレビュー特有のフォーマットへ変換するために前記ストリームプラグインを検索すること、
を含む請求項１に記載の方法。
【請求項３】
前記ストリームプラグイン及びダイナミックメディアコンテンツを前記サンドボックスストリーミングプレビュープロセスに与える段階を更に備えた、請求項２に記載の方法。
【請求項４】
前記発生する段階は、前記フレームのストリームの各フレームに対してオーディオコンポーネント及びビデオコンポーネントを別々に発生することを更に含む、請求項１に記載の方法。
【請求項５】
フレームのストリームを与える前記段階は、
フレームが発生されるたびにフレームごとに表示するために前記フレームのストリームを与えること、及び
プレビューの表示中に前記ダイナミックメディアコンテンツのユーザコントロールを容易にするために１つ以上のコントロールを与えること、
を含む請求項１に記載の方法。
【請求項６】
前記ストリームプラグインは、アプリケーションに関連し、そして前記プレビューは、アプリケーションを起動せずに見ることができる、請求項１に記載の方法。
【請求項７】
コンピュータによって実行される方法であって、
第１のサンドボックスプロセスを用いて、クライアントプロセスからダイナミックメディアコンテンツのプレビューの要求を受け取る段階であって、前記第１のサンドボックスプロセスは非ネーティブコンテンツのために指定されたプラグインを備えたものである段階と、
前記ダイナミックメディアコンテンツが非ネーティブコンテンツタイプである場合、前記第１のサンドボックスプロセスを用いて、前記要求の受け取りに応答して、第２のサンドボックスにおいて第２のサンドボックスプロセスを開始する段階と、
前記ダイナミックメディアコンテンツからプレビュー特有のフォーマットでフレームのストリームを発生する段階であって、そのフレームのストリームを、前記指定されたプラグインによって検索され、前記第２のサンドボックスにおいて前記第２のサンドボックスプロセス内で実行されるストリームプラグインを用いて発生するような段階と、
前記フレームのストリームを、ディスプレイスクリーン上に表示するために前記クライアントプロセスに与える段階と、
を備えた方法。
【請求項８】
第２のサンドボックスプロセスを開始する前記段階は、更に、
前記ダイナミックメディアコンテンツのコンテンツタイプを決定すること、
前記コンテンツタイプが非ネーティブなコンテンツタイプであることを決定すること、及び
前記ダイナミックメディアコンテンツの非ネーティブなコンテンツタイプに少なくとも一部分基づいて前記ダイナミックメディアコンテンツを前記プレビュー特有のフォーマットへ変換するためにストリームプラグインを検索すること、
を含む請求項７に記載の方法。
【請求項９】
前記ストリームプラグイン及びダイナミックメディアコンテンツを前記第２のサンドボックスプロセスに与える段階を更に備えた、請求項８に記載の方法。
【請求項１０】
前記発生する段階は、前記フレームのストリームの各フレームに対してオーディオコンポーネント及びビデオコンポーネントを別々に発生することを更に含む、請求項７に記載の方法。
【請求項１１】
フレームのストリームを与える前記段階は、
フレームが発生されるたびにフレームごとに表示するために前記フレームのストリームを前記クライアントプロセスに与えること、及び
プレビューの表示中に前記ダイナミックメディアコンテンツのユーザコントロールを容易にするために１つ以上のコントロールを前記クライアントプロセスに与えること、
を含む請求項７に記載の方法。
【請求項１２】
前記ストリームプラグインは、アプリケーションに関連し、そして前記プレビューは、アプリケーションを起動せずに見ることができる、請求項７に記載の方法。
【請求項１３】
実行時にデータ処理システムが請求項１から１２のいずれかに記載の方法を遂行するようにさせるインストラクションが記憶されたコンピュータ読み取り可能な記憶メディア。
【請求項１４】
処理手段であって、
非ネーティブコンテンツのための指定されたプラグインを備える、第１のサンドボックスにおいて実行されるサンドボックスプロセスを用いて、非ネーティブコンテンツタイプを有するダイナミックメディアコンテンツのプレビューの要求に応答して、第２のサンドボックスにおいて実行されるサンドボックスプロセスを開始し、
前記ダイナミックメディアコンテンツからプレビュー特有のフォーマットでフレームのストリームを発生し、そのフレームのストリームは、前記指定されたプラグインを用いて検索され、前記第２のサンドボックスにおける前記サンドボックスプロセス内で実行されるストリームプラグインを経て発生される、ようにする処理手段と、
前記発生されたフレームのストリームを、前記ダイナミックメディアコンテンツのプレビューとして表示するためのディスプレイと、
を備えた装置。
【請求項１５】
前記処理手段は、更に、
前記ダイナミックメディアコンテンツのコンテンツタイプを決定し、
前記ダイナミックメディアコンテンツのコンテンツタイプに少なくとも一部分基づいて前記ダイナミックメディアコンテンツを前記プレビュー特有のフォーマットへ変換するために前記ストリームプラグインを検索し、前記ストリームプラグインはアプリケーションに関連し、前記プレビューは当該アプリケーションを起動せずに見ることができる、
請求項１４に記載の装置。
【請求項１６】
前記処理手段は、更に、
前記フレームのストリームの各フレームに対してオーディオコンポーネント及びビデオコンポーネントを別々に発生する、
請求項１４に記載の装置。
【請求項１７】
前記処理手段は、更に、
フレームが発生されるたびにフレームごとに前記ディスプレイへ前記フレームのストリームを与え、
プレビューの表示中に前記ダイナミックメディアコンテンツのユーザコントロールを容易にするために１つ以上のユーザインターフェイスコントロールを与える、請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ストリーミングメディアに係り、より詳細には、ストリーミングメディア及びデジタルメディアコンテンツのセキュアなプレビューを与えることに係る。
【背景技術】
【０００２】
コンピュータユーザが益々洗練されるにつれて、人々が使用するコンピュータプログラムの効率を上げることが要望される。例えば、多くのコンピュータシステムは、ユーザがアクセスする必要のある数百又は数千のファイルを管理するあるタイプのファイルマネージメントシステムを有している。多くの慣習的なファイルマネージメントシステムでは、ファイルを実際にオープンせずに、ファイルのファイルタイプに関連した必要なアプリケーションを使用して、特定ファイルのコンテンツを確かめることが困難である。多くの場合、ファイルをオープンする前にファイルについてユーザが得ることのできる有用な情報は、ファイル名だけである。多くのユーザは、完全なアプリケーションをオープンし、次いで、ファイルをオープンするためにリソースを実際にコミットする前にファイルのコンテンツをプレビューできること望む。カリフォルニア州クパチーノのアップル社によって提供されるＭａｃ  ＯＳ  Ｘのファインダーのようなあるファイルマネージメントシステムは、ファイルをオープンする前にファイルをプレビューする機能を備えている。他のオペレーティングシステム及びファイルマネージメントシステムは、あるスタティックなプレビュー機能も提供する。
【０００３】
例えば、アップル社のファインダーを使用して、ユーザは、ＰＤＦ、テキストファイル、ワード処理ドキュメント、スプレッドシート、等のドキュメントをプレビューすることができる。又、ファインダーは、Ｍａｃ  ＯＳにより認識されるネーティブファイルタイプを有するあるビデオコンテンツをユーザがプレビューできるようにする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｍａｃ  ＯＳのクイックルックデーモンは、各々がクライアントプロセスからの特定のデータタイプを受け容れ、そしてそれを、ＰＤＦ及びＨＴＭＬのような標準フォーマットのセットの１つにおいてプレビューへと変換する種々のプラグインを組み込んでいる。次いで、標準フォーマットのプレビューは、クイックルックフレームワークを使用してクライアントプロセスにより表示される。この構造の効果は、第３者のプラグインクラッシュにより生じるクライアントアプリケーションのクラッシュを回避することである。しかしながら、このモデルは、非ネーティブファイルタイプに関連したダイナミックメディアを適当な標準フォーマットへ変換する場合にそれが有用であり又は信頼できるものであるためには非常に長い処理時間を要するので、ストリーミングメディアのようなダイナミックメディアには特に良好に機能しない。
【課題を解決するための手段】
【０００５】
クライアントプロセスがダイナミックメディアコンテンツのプレビューの要求を受け取ると、その要求がサンドボックスプロセスへ通される。サンドボックスプロセスは、クライアントプロセスから分離され、これは、サンドボックスプロセスがクラッシュしても、クライアントプロセスは、機能し動作する状態に保たれることを意味する。サンドボックスプロセス内で、ダイナミックメディアコンテンツのタイプが決定される。コンテンツのタイプは、例えば、ユニフォームタイプ識別子（ＵＴＩ）に基づいて決定される。コンテンツのタイプが決定されると、サンドボックスプロセスは、ストリーミングプラグインを検索して、ダイナミックメディアコンテンツを、ダイナミックメディアのプレビューを表示するためにクライアントプロセスが使用できるメディアタイプへと変換する。
【０００６】
プラグインは、プラグインに関連したプロトコルに基づいてダイナミックメディアコンテンツを変換するのに使用される。ある実施形態では、プラグインは、オーディオコンポーネント及びビデオコンポーネントの両方を発生する（少なくともオーディオ及びビデオの両方を有するダイナミックメディアコンテンツに対して）。ダイナミックコンテンツの各フレームが発生されるときに、それが、ストリーミングプレビューとして表示するためにクライアントプロセスへ通される。ある実施形態では、プラグインは、ダイナミックメディアコンテンツのプレビューの限定された観点（例えば、「停止」、「プレイ」、「休止」、等）をユーザがコントロールできるようにする１つ以上のコントロールをクライアントプロセスに与える。
【０００７】
以下、本発明の実施形態を例示する添付図面を参照して詳細に説明する。添付図面は、例示に過ぎず、それに限定するものではない。ここで、１つ以上の「実施形態」に言及するときには、本発明の少なくとも１つの具現化に含まれる特定の特徴、構造、又は特性を述べるものであると理解されたい。従って、ここに現れる「１つの実施形態では」又は「別の実施形態では」、等の句は、本発明の種々の実施形態及び具現化を述べるもので、必ずしも、全部が同じ実施形態を指していない。しかしながら、それらは、必ずしも、相互に排他的ではない。
【図面の簡単な説明】
【０００８】
【図１】種々の実施形態によるシステムを示すブロック図である。
【図２】種々の実施形態によるシステムを示すブロック図である。
【図３】種々の実施形態によるシステムの動作のフローチャートである。
【図４】種々の実施形態によるシステムを示すブロック図である。
【発明を実施するための形態】
【０００９】
ここに提供する種々の方法、装置及びシステムは、ダイナミックメディアコンテンツのプレビューを可能にする。ユーザがファイルを選択し（例えば、ファイルマネージメントシステムから）そしてそのファイルのプレビューを要求するとき、ここに述べる実施形態は、ダイナミックメディアコンテンツをプレビューするのに適したフォーマットへのダイナミックメディアの変換を容易にする。
【００１０】
図１は、種々の実施形態によるブロック図である。図示されたように、ファイルマネージメントシステム（例えば、ファインダー、ウインドウズエクスプローラ、等）又は他のプログラム（例えば、クライアントアプリケーション、ウェブブラウザ、等）は、クライアントプロセス１０２を含む。このクライアントプロセス１０２は、ユーザレベルの相互作用が特定のプログラムで行われるところである。ユーザがファイル１１０のプレビューを要求するとき、アプリケーションプログラミングインターフェイス（ＡＰＩ）１１２が要求１１６をプレビューデーモン１０４へ送出する。プレビューデーモン１０４がまだ実行されない場合には、それが開始される。種々の実施形態において、プレビューデーモン１０４は、サンドボックスプロセスである。サンドボックスプロセスは、他の実行プロセス又はプログラムとは個別のものである。サンドボックスプロセス又は単にサンドボックスは、通常、ディスク及びメモリ上のスクラッチスペース等においてゲストプログラムを実行するための密接にコントロールされるリソースセットを与える。種々の実施形態において、ネットワークアクセスや、ホストシステムを検査し又は入力装置から読み取る能力は、サンドボックスでは、通常、許されないか、又は厳しく制約を受ける。
【００１１】
要求１１６をプレビューデーモン１０４へ送出することにより、プレビューデーモン１０４とでエラー／問題（例えば、クラッシュ、ハンギング、受け容れられない待ち時間、等）を引き起こすファイル１１０の操作又は変換がクライアントプロセス１０２に影響することはない。換言すれば、プレビューデーモン１０４がクラッシュした場合、クライアントプロセス１０２は、影響を受けずに実行を続ける。ユーザにとって、これは、ファイルのプレビューを発生する際のエラーが、ユーザがファイルマネージメントシステムのような基礎的なプログラムを使用するのを妨げないことを意味する。これは、クライアントプロセス１０２がファイルマネージメントシステムのような基本的ユーザプログラム（例えば、アップルのファインダー、ウインドウズエクスプローラ、等）に関連する場合に、特に重要である。ある実施形態では、サンドボックスプロセスがクラッシュする場合に、クライアントプロセスは、要求されたプレビューが現在使用できないという指示を表示してもよい。
【００１２】
種々の実施形態において、ファイルタイプモジュール１１８は、最初に、クライアントプロセス１０２から要求１１６を受け取る。ファイルタイプモジュール１１８は、ファイル１１０に関連したファイルタイプを決定する。上述したように、ファイルタイプは、アイテムのクラスのタイプを独特に識別するアップル社により定義されたストリングであるユニフォームタイプ識別子即ちＵＴＩを使用して決定される。従って、ＵＴＩは、ファイル及びフォルダ、クリップボードデータ、バンドル、エイリアス、シンボリックリンク、及びストリーミングデータのタイプを識別するのに使用される。ファイルタイプモジュール１１８は、ファイル１１０のファイルタイプをネーティブファイルタイプとして認識すると、そのネーティブファイルタイプに関連した既知のプラグイン１２０を検索する。ワードプロセスドキュメント、ＰＤＦ、ＨＴＭＬファイル、等のスタティックメディアを含むファイルについて、その検索されたプラグインは、ファイル要求を取り扱い、それをファイルプレビュー１２２へ変換し、これは、プレビューとして表示するためにクライアントプロセス１０２へ返送される。ある実施形態では、プラグイン１２０は、以下に詳細に述べるように、ダイナミックメディアコンテンツ（オーディオ／ビデオファイル、双方向３Ｄアニメーションファイル、等）を直接変換することができる。クライアントプロセス１０２へ送られるファイルプレビュー１２２は、種々のディスプレイバンドル１１４を含むＡＰＩ  １１２によって取り扱われる。各ディスプレイバンドルは、１つ以上の特定のファイルタイプのプレビューを表示するのに必要なリソースを含む。従って、ファイルプレビュー１２２がＰＤＦのプレビューである場合には、ディスプレイバンドル１１４のグループからのＰＤＦディスプレイバンドルがＰＤＦプレビューを取り出し、そしてディスプレイ１３０に表示するように準備する。
【００１３】
ここに述べる更に別の実施形態は、ダイナミックメディアコンテンツ（例えば、ストリーミングメディア、ビデオ、３Ｄアニメーション、等）のためのプレビューを与えることができる。例えば、ファイル１１０がダイナミックメディアコンテンツを含む場合には、要求１１６がプレビューデーモン１０４へ送られ、そしてファイルタイプモジュール１１８は、例えば、ファイル１１０に関連したＵＴＩに基づいてファイルタイプを決定する。異なる実施形態では、他の識別子を使用することができる。ダイナミックメディアがネーティブファイルタイプのもので、ファイルタイプモジュール１１８により認識される場合には、それに対応するプラグイン１２０が検索されてファイル１１０を変換すると共にプレビューを与える。しかしながら、ファイル１１０が非ネーティブファイルタイプのダイナミックメディアコンテンツを含む場合には、ファイルタイプモジュール１１８は、指定のプラグイン１２０を検索して、ファイル１０の非ネーティブ変換を取り扱う。
【００１４】
ある実施形態では、指定のプラグイン１２０は、付加的なプラグイン（ストリームプラグイン１２４）を検索してダイナミックメディアコンテンツを取り扱う役割を果たす。又、指定のプラグインは、変換する必要のあるファイルのコピーも検索する。ある実施形態では、このファイルは、要求１１６の一部分として受け取られる同じファイルである。しかしながら、他の実施形態では、ファイルは、ストリーミングプレビューへの変換に使用されるべき同じファイルの異なるコピーでもよい。
【００１５】
更に、ファイル１１０をストリーミングプレビュー１２６へと変換するためにストリームプラグイン１２４に対して別のサンドボックスプロセス１０６がオープンされ又は開始される。このように、ストリーミングプレビューデーモン１０６がプレビューデーモン１０４及びクライアントプロセス１０２から分離される。従って、ファイルをストリーミングプレビューへ変換する間にストリームプラグイン１２４がクラッシュしても、プロセス１０６、プレビューデーモン１０４及びクライアントプロセス１０２は、影響を受けないままである。このように、ユーザは、クライアントアプリケーション（例えば、ファイルマネージメントシステム）において何ら機能を失うことなく、更に、ユーザは、他のファイル、特に、ストリーミングプレビューを必要としないファイルを、中断なく、プレビューすることができる。
【００１６】
種々の実施形態において、ストリームプレビュー１２６は、オリジナルファイル１１０から変換される一連のフレームである。ストリームプレビュー１２６に関連したフレームは、限定されたユーザ機能を含む。換言すれば、ファイル１１０のダイナミックメディアコンテンツを表示するために全アプリケーション（例えば、メディアプレーヤ）がオープンされた場合に、ユーザは、ファイルをコントロール及び／又は操作するためのアプリケーション全範囲のユーザインターフェイスオプションを有する。例えば、ユーザがビデオファイルを見ることを希望しそしてビデオファイルビューアプリケーション（例えば、アップル社により提供されるクイックタイム、マイクロソフト社により提供されるウインドウズメディアプレーヤ、等）をオープンした場合に、ユーザは、そのオープンしたアプリケーションのコンテクスト内から、停止し、休止し、プレイし、音量調整し、ウインドウのサイズを変更し、及び／又はファイルに対する種々の他の動作（例えば、セーブ、削除、コピー、等）を遂行する能力を有する。対照的に、ストリーミングプレビュー１２６は、プレビューであると特に指定されるときに、ユーザに対して限定されたコントロールを与える。例えば、ストリーミングプレビュー１２６は、プレビューにおけるコンテンツの停止及びプレイについてのコントロールしか与えない。
【００１７】
ストリーミングプレビュー１２６は、ＡＰＩ  １１２により受け取られて取り扱われ、より特定すれば、指定のディスプレイバンドル１１４の１つにより受け取られて取り扱われる。ストリーミングプレビューの場合には、１つ以上のディスプレイバンドル１１４は、ストリーミングプレビュー１２６を表示するのに必要なリソースを含む。従って、ディスプレイバンドル１１４のグループからのストリーミングプレビューディスプレイバンドルがストリーミングプレビュー１２６を取り出し、そしてディスプレイ１３０に表示するための準備を行う。
【００１８】
ストリーミングプレビュー１２６を発生するのに加えて、ストリームプラグイン１２４は、１つ以上のストリームコントロール１２８のセットも発生してクライアントプロセス１０２に与える。ストリームコントロール１２８は、ユーザがストリーミングプレビュー１２６の種々の観点をコントロールできるようにする１つ以上のコマンドを含む。従って、上述したように、ストリームコントロール１２８は、ストリーミングプレビューのコンテンツを停止し、休止し及び／又はプレイするためのコマンドを含む。ある実施形態では、より多数のコマンドが含まれてもよく又はより少数のコマンドが含まれてもよい。又、ある実施形態では、ストリームコントロール１２８は、ファイルに関連したネーティブアプリケーションで使用可能な全範囲の機能がユーザに与えられなくてもよい。
【００１９】
図２は、ダイナミックメディアコンテンツのストリーミングプレビューの発生に関連した種々の実施形態を示すブロック図である。図１と同様に、図２は、クライアントプロセス２０２及びストリーミングプレビューデーモン２０６を示す。ストリームプラグイン２２０は、ファイル２０８をストリーミングプレビューへ変換するのに使用される。ストリームプラグイン２２０は、サンドボックスストリーミングプレビューデーモン２０６内で実行される。ストリームプラグイン２２０は、ストリーミングプレビューをフレームごとのベースで発生し、そしてある実施形態では、ビデオコンポーネント及びオーディオコンポーネントを別々に発生する。従って、ファイル２０８は、オーディオコンポーネント２１２及びビデオコンポーネント２１０へ変換される。オーディオコンポーネント２１２は、ストリームプレビュー（又は単にストリーム）２１４に追加され、そしてビデオコンポーネント２１０は、フレームが発生されるたびにフレームごとにストリームに追加される。従って、例えば、フレーム１がプレビュー特有のフォーマットに変換され発生されるや否や、フレーム２が変換され発生されるのを待機せずに、それがストリームに追加されてクライアントプロセス２０２へ送られる。同様に、フレーム２は、それが変換され発生されるや否や、ストリーム２１４に直ちに追加される。このプロセスは、変換され発生されるフレームごとに続けられる。
【００２０】
上述したように、ストリームプラグイン２２０は、種々の実施形態において、クライアントプロセスにストリームコントロールを与える。図２に示すように、ストリームコントロール２１６は、クライアントプロセス２０２内で実行され、ユーザがストリーム２１４のある観点をコントロールできるようにする。ここに述べるように、ストリームコントロール２１６は、ストリーム２１４に対して限定されたコントロールを与え、ファイル２０８がネーティブアプリケーションにおいてオープンされた場合に使用できる全範囲のコントロールを与えるものではない。
【００２１】
図３は、ダイナミックメディアコンテンツのプレビューを与える種々の実施形態を示すフローチャートである。ダイナミックメディアのプレビューの要求が受け取られる（３１０）。それに応答して、少なくとも１つのサンドボックスプロセスが開始される（３２０）。単一のサンドボックスプロセスが予め実行されてもよく、この場合には、ストリーミングメディアプレビューを、発生される他のプレビューから分離するために、第２のサンドボックスプロセスが開始される。ダイナミックメディアのコンテンツタイプが決定される（３３０）。コンテンツタイプは、ユニフォームタイプ識別子（ＵＴＩ）又は他の形態のファイルタイプ識別に基づいて決定される。
【００２２】
コンテンツタイプに基づいて、ストリームプラグインが検索され（３４０）、ダイナミックメディアをプレビュー特有のフォーマットへ変換する。ここに使用する「ストリーム」プラグインは、ダイナミックメディアコンテンツ（例えば、ビデオ、オーディオ、双方向３Ｄアニメーション、等）をストリーミングメディアへ変換するように特に指定されたプラグインを指す。ダイナミックメディアのコンテンツタイプがネーティブファイルタイプであるか、又は換言すれば、認知されたファイルタイプである場合には、そのファイルをプレビューへ素早く且つ便利に変換することができる。しかしながら、ファイルタイプが非ネーティブファイルタイプであると決定された場合には、ストリームプラグインは、オリジナルファイルを、あるフォーマットから、ダイナミックプレビューに適合するプレビュー特有のフォーマットへと変換できることが必要である。
【００２３】
検索されたプラグインがサンドボックスプロセスに与えられ（３５０）、プレビューが発生される（３６０）。ファイルがオーディオ及びビデオデータの両方を含むビデオファイルである状況では、プラグインは、プレビューに対して個別のオーディオ及びビデオコンポーネントを発生する。オリジナルファイルがオーディオしか含まない場合には、オーディオコンポーネントだけが発生される。オリジナルファイルがオーディオなしにビデオしか含まない場合には、ビデオコンポーネントだけが発生される。又、ストリーミングメディアプラグインは、ＣＯＬＬＡＤＡファイルのような双方向３Ｄアニメーションを含む種々のファイルもサポートすることができる。プレビューコンポーネントが発生されると、ストリームプレビューがユーザへの表示のために与えられ（３７０）、そしてダイナミックプレビューのためのコントロールも与えられる（３８０）。このようなコントロールは、ユーザが、ダイナミックプレビューに関連した限定された機能（例えば、「停止」、「プレイ」、「休止」）をコントロールできるようにする。３Ｄアニメーションファイルについては、ダイナミックプレビューは、アニメファイルを停止し、休止し又はプレイする能力のような同様のコントロールを含む。しかしながら、ある実施形態では、与えられるユーザコントロールは、ダイナミックメディアコンテンツをプレイするためにネーティブアプリケーションがオープンされたときに利用できるコントロールに比して、制限される。
【００２４】
別の実施形態では、図３に示すステップは、図示されたものとは異なる順序に再構成して遂行できることに注意されたい。又、図３に示すものより多数のプロセスステップ又はそれより少数のプロセスステップを使用して、ここに述べる種々の実施形態により期待される同じダイナミックメディアプレビュー機能を達成できることに注意されたい。
【００２５】
図４は、コンピュータシステム４００の規範的な形態におけるマシンの概略図で、そのマシンがここに述べる１つ以上の方法を遂行するようにさせるインストラクションのセットがコンピュータシステム内で実行される。別の実施形態では、マシンは、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、エクストラネット、又はインターネットにおける他のマシンへ接続される（例えば、ネットワーク化される）。マシンは、クライアント／サーバーネットワーク環境においてサーバー又はクライアントマシンの容量で動作するか、或いはピアツーピア（又は分散型）ネットワーク環境においてピアマシンとして動作する。マシンは、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、セルラー電話、又はマシンにより行われるアクションを指定するインストラクションのセット（逐次、その他）を実行できるマシンである。更に、単一のマシンが図示されているが、「マシン」という語は、ここに述べる１つ以上の方法を遂行するためにインストラクションのセット（１つ又は複数）を個々に又は一緒に実行するマシン（例えば、コンピュータ）の集合を含むものと考えねばならない。
【００２６】
種々の実施形態によれば、図４は、図１ないし３に示して詳細に述べたものを具現化するのに使用できるシステムの一形態も表している。特に、ディスプレイ４１０は、図１のディスプレイ１３０と同様にダイナミックメディアコンテンツを表示するのに使用できることに注意されたい。ここに述べるダイナミックメディアコンテンツプレビューを容易にする実施形態は、例えば、ドライブユニット４１８又はメインメモリ４０４に記憶されてプロセッサ４０２により実行できるインストラクション４２２として含まれる（図４のシステムに）。
【００２７】
規範的なコンピュータシステム４００は、プロセッサ４０２、メインメモリ４０４（例えば、リードオンリメモリ（ＲＯＭ）、フラッシュメモリ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）又はＲａｍｂｕｓＤＲＡＭ（ＲＤＲＡＭ）、等）、スタティックメモリ４０６（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）、等）、並びにバス４０８を経て互いに通信する二次メモリ４１８（例えば、データ記憶装置）を備えている。
【００２８】
プロセッサ４０２は、マイクロプロセッサ、中央処理ユニット、等の１つ以上の汎用処理装置を表している。より特定すれば、プロセッサ４０２は、複合インストラクションセットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小インストラクションセットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超ロングインストラクションワード（ＶＬＩＷ）マイクロプロセッサ、他のインストラクションセットを実施するプロセッサ、或いはインストラクションセットを組み合わせて実施するプロセッサである。又、プロセッサ４０２は、１つ以上の特殊目的処理装置、例えば、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、等でもよい。プロセッサ４０２は、ここに述べる動作及びステップを遂行する多恵の処理ロジック４２２を実行するように構成される。
【００２９】
コンピュータシステム４００は、更に、ネットワークインターフェイス装置４１６も備えている。又、コンピュータシステム４００は、ディスプレイユニット４１０（例えば、液晶ディスプレイ（ＬＥＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、陰極線管（ＣＲＴ））、及び入力装置４１２（例えば、キーボード及び／又はマウス、等）も備えている。
【００３０】
二次メモリ４１８は、マシン読み取り可能な記憶メディア（又はより特定すれば、コンピュータ読み取り可能な記憶メディア）４２４を備え、その上には、ここに述べる方法又は機能の１つ以上を実施する１つ以上のインストラクションセット（例えば、ソフトウェア４２２）が記憶される。又、ソフトウェア４２２は、コンピューティングシステム４００によるその実行中にメインメモリ４０４及び／又は処理装置４０２内に完全に又は少なくとも部分的に存在し、メインメモリ４０４及び処理装置４０２は、マシン読み取り可能な記憶メディアも構成する。ソフトウェア４２２は、更に、ネットワーク４２０を越えて、ネットワークインターフェイス装置４１６を経て送信又は受信される。種々の実施形態において、ユーザにより要求されるウェブコンテンツは、ネットワークインターフェイス装置４１６を使用してネットワーク４２０を経て（例えば、ワールドワイドウェブから）検索することができる。
【００３１】
マシン読み取り可能な記憶メディア４２４は、規範的実施形態では単一のメディアとして示されているが、「マシン読み取り可能な記憶メディア」又は「コンピュータ読み取り可能な記憶メディア」という語は、１つ以上のインストラクションセットを記憶する単一のメディア又は複数のメディア（例えば、集中型又は分散型データベース、及び／又はそれに関連したキャッシュ及びサーバー）を含むと考えるべきである。又、「マシン読み取り可能な記憶メディア」又は「コンピュータ読み取り可能な記憶メディア」という語は、マシン／コンピュータにより実行するためのインストラクションセットを記憶又はエンコードできると共に、マシン／コンピュータが本発明の方法の１つ以上を遂行するようにさせるメディアも含むと考えるべきである。従って、「マシン読み取り可能な記憶メディア」又は「コンピュータ読み取り可能な記憶メディア」という語は、ソリッドステートメモリ並びに光学的及び磁気的メディアを含むと考えるべきであるが、これに限定されない。
【００３２】
ここに述べる種々のコンポーネントは、ここに述べる機能を遂行するための手段である。ここに述べる各コンポーネントは、ソフトウェア、ハードウェア又はそれらの組み合わせを含む。ここに述べる動作及び機能は、ソフトウェアモジュール、ハードウェアモジュール、特殊目的のハードウェア（例えば、特定用途向けハードウェア、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、等）、埋め込み型コントローラ、ハードワイヤード回路、等として実施することができる。
【００３３】
ここに述べたこととは別に、本発明の範囲から逸脱せずに、本発明のここに開示された実施形態及び具現化に対して種々の変更がなされ得る。それ故、ここに述べた実施形態は、例示に過ぎず、それに限定されるものではない。
【符号の説明】
【００３４】
１０２：クライアントプロセス
１０４：プレビューデーモン
１０６：ストリーミングプレビューデーモン
１１０：ファイル
１１２：ＡＰＩ
１１４：ディスプレイバンドル
１１６：要求
１１８：ファイルタイプモジュール
１２０：プラグイン
１２２：ファイルプレビュー
１２４：ストリームプラグイン
１２６：ストリームプレビュー
１２８：ストリームコントロール
１３０：ユーザインターフェイス／ディスプレイ
２０２：クライアントプロセス
２０６：ストリーミングプレビューデーモン
２０８：ファイル
２１０：ビデオ
２１２：オーディオ
２１４：ストリーム
２１６：ストリームコントロール
２２０：ストリームプラグイン
【図１】
0005575897.tif 000002
【図２】
0005575897.tif 000003
【図３】
0005575897.tif 000004
【図４】
0005575897.tif 000005