JP5575897B2 - ダイナミックメディアコンテンツプレビュー - Google Patents

ダイナミックメディアコンテンツプレビュー Download PDF

Info

Publication number
JP5575897B2
JP5575897B2 JP2012521733A JP2012521733A JP5575897B2 JP 5575897 B2 JP5575897 B2 JP 5575897B2 JP 2012521733 A JP2012521733 A JP 2012521733A JP 2012521733 A JP2012521733 A JP 2012521733A JP 5575897 B2 JP5575897 B2 JP 5575897B2
Authority
JP
Japan
Prior art keywords
preview
stream
sandbox
media content
dynamic media
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.)
Active
Application number
JP2012521733A
Other languages
English (en)
Other versions
JP2013500514A (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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2013500514A publication Critical patent/JP2013500514A/ja
Application granted granted Critical
Publication of JP5575897B2 publication Critical patent/JP5575897B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Description

本発明の実施形態は、ストリーミングメディアに係り、より詳細には、ストリーミングメディア及びデジタルメディアコンテンツのセキュアなプレビューを与えることに係る。
コンピュータユーザが益々洗練されるにつれて、人々が使用するコンピュータプログラムの効率を上げることが要望される。例えば、多くのコンピュータシステムは、ユーザがアクセスする必要のある数百又は数千のファイルを管理するあるタイプのファイルマネージメントシステムを有している。多くの慣習的なファイルマネージメントシステムでは、ファイルを実際にオープンせずに、ファイルのファイルタイプに関連した必要なアプリケーションを使用して、特定ファイルのコンテンツを確かめることが困難である。多くの場合、ファイルをオープンする前にファイルについてユーザが得ることのできる有用な情報は、ファイル名だけである。多くのユーザは、完全なアプリケーションをオープンし、次いで、ファイルをオープンするためにリソースを実際にコミットする前にファイルのコンテンツをプレビューできること望む。カリフォルニア州クパチーノのアップル社によって提供されるMac OS Xのファインダーのようなあるファイルマネージメントシステムは、ファイルをオープンする前にファイルをプレビューする機能を備えている。他のオペレーティングシステム及びファイルマネージメントシステムは、あるスタティックなプレビュー機能も提供する。
例えば、アップル社のファインダーを使用して、ユーザは、PDF、テキストファイル、ワード処理ドキュメント、スプレッドシート、等のドキュメントをプレビューすることができる。又、ファインダーは、Mac OSにより認識されるネーティブファイルタイプを有するあるビデオコンテンツをユーザがプレビューできるようにする。
Mac OSのクイックルックデーモンは、各々がクライアントプロセスからの特定のデータタイプを受け容れ、そしてそれを、PDF及びHTMLのような標準フォーマットのセットの1つにおいてプレビューへと変換する種々のプラグインを組み込んでいる。次いで、標準フォーマットのプレビューは、クイックルックフレームワークを使用してクライアントプロセスにより表示される。この構造の効果は、第3者のプラグインクラッシュにより生じるクライアントアプリケーションのクラッシュを回避することである。しかしながら、このモデルは、非ネーティブファイルタイプに関連したダイナミックメディアを適当な標準フォーマットへ変換する場合にそれが有用であり又は信頼できるものであるためには非常に長い処理時間を要するので、ストリーミングメディアのようなダイナミックメディアには特に良好に機能しない。
クライアントプロセスがダイナミックメディアコンテンツのプレビューの要求を受け取ると、その要求がサンドボックスプロセスへ通される。サンドボックスプロセスは、クライアントプロセスから分離され、これは、サンドボックスプロセスがクラッシュしても、クライアントプロセスは、機能し動作する状態に保たれることを意味する。サンドボックスプロセス内で、ダイナミックメディアコンテンツのタイプが決定される。コンテンツのタイプは、例えば、ユニフォームタイプ識別子(UTI)に基づいて決定される。コンテンツのタイプが決定されると、サンドボックスプロセスは、ストリーミングプラグインを検索して、ダイナミックメディアコンテンツを、ダイナミックメディアのプレビューを表示するためにクライアントプロセスが使用できるメディアタイプへと変換する。
プラグインは、プラグインに関連したプロトコルに基づいてダイナミックメディアコンテンツを変換するのに使用される。ある実施形態では、プラグインは、オーディオコンポーネント及びビデオコンポーネントの両方を発生する(少なくともオーディオ及びビデオの両方を有するダイナミックメディアコンテンツに対して)。ダイナミックコンテンツの各フレームが発生されるときに、それが、ストリーミングプレビューとして表示するためにクライアントプロセスへ通される。ある実施形態では、プラグインは、ダイナミックメディアコンテンツのプレビューの限定された観点(例えば、「停止」、「プレイ」、「休止」、等)をユーザがコントロールできるようにする1つ以上のコントロールをクライアントプロセスに与える。
以下、本発明の実施形態を例示する添付図面を参照して詳細に説明する。添付図面は、例示に過ぎず、それに限定するものではない。ここで、1つ以上の「実施形態」に言及するときには、本発明の少なくとも1つの具現化に含まれる特定の特徴、構造、又は特性を述べるものであると理解されたい。従って、ここに現れる「1つの実施形態では」又は「別の実施形態では」、等の句は、本発明の種々の実施形態及び具現化を述べるもので、必ずしも、全部が同じ実施形態を指していない。しかしながら、それらは、必ずしも、相互に排他的ではない。
種々の実施形態によるシステムを示すブロック図である。 種々の実施形態によるシステムを示すブロック図である。 種々の実施形態によるシステムの動作のフローチャートである。 種々の実施形態によるシステムを示すブロック図である。
ここに提供する種々の方法、装置及びシステムは、ダイナミックメディアコンテンツのプレビューを可能にする。ユーザがファイルを選択し(例えば、ファイルマネージメントシステムから)そしてそのファイルのプレビューを要求するとき、ここに述べる実施形態は、ダイナミックメディアコンテンツをプレビューするのに適したフォーマットへのダイナミックメディアの変換を容易にする。
図1は、種々の実施形態によるブロック図である。図示されたように、ファイルマネージメントシステム(例えば、ファインダー、ウインドウズエクスプローラ、等)又は他のプログラム(例えば、クライアントアプリケーション、ウェブブラウザ、等)は、クライアントプロセス102を含む。このクライアントプロセス102は、ユーザレベルの相互作用が特定のプログラムで行われるところである。ユーザがファイル110のプレビューを要求するとき、アプリケーションプログラミングインターフェイス(API)112が要求116をプレビューデーモン104へ送出する。プレビューデーモン104がまだ実行されない場合には、それが開始される。種々の実施形態において、プレビューデーモン104は、サンドボックスプロセスである。サンドボックスプロセスは、他の実行プロセス又はプログラムとは個別のものである。サンドボックスプロセス又は単にサンドボックスは、通常、ディスク及びメモリ上のスクラッチスペース等においてゲストプログラムを実行するための密接にコントロールされるリソースセットを与える。種々の実施形態において、ネットワークアクセスや、ホストシステムを検査し又は入力装置から読み取る能力は、サンドボックスでは、通常、許されないか、又は厳しく制約を受ける。
要求116をプレビューデーモン104へ送出することにより、プレビューデーモン104とでエラー/問題(例えば、クラッシュ、ハンギング、受け容れられない待ち時間、等)を引き起こすファイル110の操作又は変換がクライアントプロセス102に影響することはない。換言すれば、プレビューデーモン104がクラッシュした場合、クライアントプロセス102は、影響を受けずに実行を続ける。ユーザにとって、これは、ファイルのプレビューを発生する際のエラーが、ユーザがファイルマネージメントシステムのような基礎的なプログラムを使用するのを妨げないことを意味する。これは、クライアントプロセス102がファイルマネージメントシステムのような基本的ユーザプログラム(例えば、アップルのファインダー、ウインドウズエクスプローラ、等)に関連する場合に、特に重要である。ある実施形態では、サンドボックスプロセスがクラッシュする場合に、クライアントプロセスは、要求されたプレビューが現在使用できないという指示を表示してもよい。
種々の実施形態において、ファイルタイプモジュール118は、最初に、クライアントプロセス102から要求116を受け取る。ファイルタイプモジュール118は、ファイル110に関連したファイルタイプを決定する。上述したように、ファイルタイプは、アイテムのクラスのタイプを独特に識別するアップル社により定義されたストリングであるユニフォームタイプ識別子即ちUTIを使用して決定される。従って、UTIは、ファイル及びフォルダ、クリップボードデータ、バンドル、エイリアス、シンボリックリンク、及びストリーミングデータのタイプを識別するのに使用される。ファイルタイプモジュール118は、ファイル110のファイルタイプをネーティブファイルタイプとして認識すると、そのネーティブファイルタイプに関連した既知のプラグイン120を検索する。ワードプロセスドキュメント、PDF、HTMLファイル、等のスタティックメディアを含むファイルについて、その検索されたプラグインは、ファイル要求を取り扱い、それをファイルプレビュー122へ変換し、これは、プレビューとして表示するためにクライアントプロセス102へ返送される。ある実施形態では、プラグイン120は、以下に詳細に述べるように、ダイナミックメディアコンテンツ(オーディオ/ビデオファイル、双方向3Dアニメーションファイル、等)を直接変換することができる。クライアントプロセス102へ送られるファイルプレビュー122は、種々のディスプレイバンドル114を含むAPI 112によって取り扱われる。各ディスプレイバンドルは、1つ以上の特定のファイルタイプのプレビューを表示するのに必要なリソースを含む。従って、ファイルプレビュー122がPDFのプレビューである場合には、ディスプレイバンドル114のグループからのPDFディスプレイバンドルがPDFプレビューを取り出し、そしてディスプレイ130に表示するように準備する。
ここに述べる更に別の実施形態は、ダイナミックメディアコンテンツ(例えば、ストリーミングメディア、ビデオ、3Dアニメーション、等)のためのプレビューを与えることができる。例えば、ファイル110がダイナミックメディアコンテンツを含む場合には、要求116がプレビューデーモン104へ送られ、そしてファイルタイプモジュール118は、例えば、ファイル110に関連したUTIに基づいてファイルタイプを決定する。異なる実施形態では、他の識別子を使用することができる。ダイナミックメディアがネーティブファイルタイプのもので、ファイルタイプモジュール118により認識される場合には、それに対応するプラグイン120が検索されてファイル110を変換すると共にプレビューを与える。しかしながら、ファイル110が非ネーティブファイルタイプのダイナミックメディアコンテンツを含む場合には、ファイルタイプモジュール118は、指定のプラグイン120を検索して、ファイル10の非ネーティブ変換を取り扱う。
ある実施形態では、指定のプラグイン120は、付加的なプラグイン(ストリームプラグイン124)を検索してダイナミックメディアコンテンツを取り扱う役割を果たす。又、指定のプラグインは、変換する必要のあるファイルのコピーも検索する。ある実施形態では、このファイルは、要求116の一部分として受け取られる同じファイルである。しかしながら、他の実施形態では、ファイルは、ストリーミングプレビューへの変換に使用されるべき同じファイルの異なるコピーでもよい。
更に、ファイル110をストリーミングプレビュー126へと変換するためにストリームプラグイン124に対して別のサンドボックスプロセス106がオープンされ又は開始される。このように、ストリーミングプレビューデーモン106がプレビューデーモン104及びクライアントプロセス102から分離される。従って、ファイルをストリーミングプレビューへ変換する間にストリームプラグイン124がクラッシュしても、プロセス106、プレビューデーモン104及びクライアントプロセス102は、影響を受けないままである。このように、ユーザは、クライアントアプリケーション(例えば、ファイルマネージメントシステム)において何ら機能を失うことなく、更に、ユーザは、他のファイル、特に、ストリーミングプレビューを必要としないファイルを、中断なく、プレビューすることができる。
種々の実施形態において、ストリームプレビュー126は、オリジナルファイル110から変換される一連のフレームである。ストリームプレビュー126に関連したフレームは、限定されたユーザ機能を含む。換言すれば、ファイル110のダイナミックメディアコンテンツを表示するために全アプリケーション(例えば、メディアプレーヤ)がオープンされた場合に、ユーザは、ファイルをコントロール及び/又は操作するためのアプリケーション全範囲のユーザインターフェイスオプションを有する。例えば、ユーザがビデオファイルを見ることを希望しそしてビデオファイルビューアプリケーション(例えば、アップル社により提供されるクイックタイム、マイクロソフト社により提供されるウインドウズメディアプレーヤ、等)をオープンした場合に、ユーザは、そのオープンしたアプリケーションのコンテクスト内から、停止し、休止し、プレイし、音量調整し、ウインドウのサイズを変更し、及び/又はファイルに対する種々の他の動作(例えば、セーブ、削除、コピー、等)を遂行する能力を有する。対照的に、ストリーミングプレビュー126は、プレビューであると特に指定されるときに、ユーザに対して限定されたコントロールを与える。例えば、ストリーミングプレビュー126は、プレビューにおけるコンテンツの停止及びプレイについてのコントロールしか与えない。
ストリーミングプレビュー126は、API 112により受け取られて取り扱われ、より特定すれば、指定のディスプレイバンドル114の1つにより受け取られて取り扱われる。ストリーミングプレビューの場合には、1つ以上のディスプレイバンドル114は、ストリーミングプレビュー126を表示するのに必要なリソースを含む。従って、ディスプレイバンドル114のグループからのストリーミングプレビューディスプレイバンドルがストリーミングプレビュー126を取り出し、そしてディスプレイ130に表示するための準備を行う。
ストリーミングプレビュー126を発生するのに加えて、ストリームプラグイン124は、1つ以上のストリームコントロール128のセットも発生してクライアントプロセス102に与える。ストリームコントロール128は、ユーザがストリーミングプレビュー126の種々の観点をコントロールできるようにする1つ以上のコマンドを含む。従って、上述したように、ストリームコントロール128は、ストリーミングプレビューのコンテンツを停止し、休止し及び/又はプレイするためのコマンドを含む。ある実施形態では、より多数のコマンドが含まれてもよく又はより少数のコマンドが含まれてもよい。又、ある実施形態では、ストリームコントロール128は、ファイルに関連したネーティブアプリケーションで使用可能な全範囲の機能がユーザに与えられなくてもよい。
図2は、ダイナミックメディアコンテンツのストリーミングプレビューの発生に関連した種々の実施形態を示すブロック図である。図1と同様に、図2は、クライアントプロセス202及びストリーミングプレビューデーモン206を示す。ストリームプラグイン220は、ファイル208をストリーミングプレビューへ変換するのに使用される。ストリームプラグイン220は、サンドボックスストリーミングプレビューデーモン206内で実行される。ストリームプラグイン220は、ストリーミングプレビューをフレームごとのベースで発生し、そしてある実施形態では、ビデオコンポーネント及びオーディオコンポーネントを別々に発生する。従って、ファイル208は、オーディオコンポーネント212及びビデオコンポーネント210へ変換される。オーディオコンポーネント212は、ストリームプレビュー(又は単にストリーム)214に追加され、そしてビデオコンポーネント210は、フレームが発生されるたびにフレームごとにストリームに追加される。従って、例えば、フレーム1がプレビュー特有のフォーマットに変換され発生されるや否や、フレーム2が変換され発生されるのを待機せずに、それがストリームに追加されてクライアントプロセス202へ送られる。同様に、フレーム2は、それが変換され発生されるや否や、ストリーム214に直ちに追加される。このプロセスは、変換され発生されるフレームごとに続けられる。
上述したように、ストリームプラグイン220は、種々の実施形態において、クライアントプロセスにストリームコントロールを与える。図2に示すように、ストリームコントロール216は、クライアントプロセス202内で実行され、ユーザがストリーム214のある観点をコントロールできるようにする。ここに述べるように、ストリームコントロール216は、ストリーム214に対して限定されたコントロールを与え、ファイル208がネーティブアプリケーションにおいてオープンされた場合に使用できる全範囲のコントロールを与えるものではない。
図3は、ダイナミックメディアコンテンツのプレビューを与える種々の実施形態を示すフローチャートである。ダイナミックメディアのプレビューの要求が受け取られる(310)。それに応答して、少なくとも1つのサンドボックスプロセスが開始される(320)。単一のサンドボックスプロセスが予め実行されてもよく、この場合には、ストリーミングメディアプレビューを、発生される他のプレビューから分離するために、第2のサンドボックスプロセスが開始される。ダイナミックメディアのコンテンツタイプが決定される(330)。コンテンツタイプは、ユニフォームタイプ識別子(UTI)又は他の形態のファイルタイプ識別に基づいて決定される。
コンテンツタイプに基づいて、ストリームプラグインが検索され(340)、ダイナミックメディアをプレビュー特有のフォーマットへ変換する。ここに使用する「ストリーム」プラグインは、ダイナミックメディアコンテンツ(例えば、ビデオ、オーディオ、双方向3Dアニメーション、等)をストリーミングメディアへ変換するように特に指定されたプラグインを指す。ダイナミックメディアのコンテンツタイプがネーティブファイルタイプであるか、又は換言すれば、認知されたファイルタイプである場合には、そのファイルをプレビューへ素早く且つ便利に変換することができる。しかしながら、ファイルタイプが非ネーティブファイルタイプであると決定された場合には、ストリームプラグインは、オリジナルファイルを、あるフォーマットから、ダイナミックプレビューに適合するプレビュー特有のフォーマットへと変換できることが必要である。
検索されたプラグインがサンドボックスプロセスに与えられ(350)、プレビューが発生される(360)。ファイルがオーディオ及びビデオデータの両方を含むビデオファイルである状況では、プラグインは、プレビューに対して個別のオーディオ及びビデオコンポーネントを発生する。オリジナルファイルがオーディオしか含まない場合には、オーディオコンポーネントだけが発生される。オリジナルファイルがオーディオなしにビデオしか含まない場合には、ビデオコンポーネントだけが発生される。又、ストリーミングメディアプラグインは、COLLADAファイルのような双方向3Dアニメーションを含む種々のファイルもサポートすることができる。プレビューコンポーネントが発生されると、ストリームプレビューがユーザへの表示のために与えられ(370)、そしてダイナミックプレビューのためのコントロールも与えられる(380)。このようなコントロールは、ユーザが、ダイナミックプレビューに関連した限定された機能(例えば、「停止」、「プレイ」、「休止」)をコントロールできるようにする。3Dアニメーションファイルについては、ダイナミックプレビューは、アニメファイルを停止し、休止し又はプレイする能力のような同様のコントロールを含む。しかしながら、ある実施形態では、与えられるユーザコントロールは、ダイナミックメディアコンテンツをプレイするためにネーティブアプリケーションがオープンされたときに利用できるコントロールに比して、制限される。
別の実施形態では、図3に示すステップは、図示されたものとは異なる順序に再構成して遂行できることに注意されたい。又、図3に示すものより多数のプロセスステップ又はそれより少数のプロセスステップを使用して、ここに述べる種々の実施形態により期待される同じダイナミックメディアプレビュー機能を達成できることに注意されたい。
図4は、コンピュータシステム400の規範的な形態におけるマシンの概略図で、そのマシンがここに述べる1つ以上の方法を遂行するようにさせるインストラクションのセットがコンピュータシステム内で実行される。別の実施形態では、マシンは、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、又はインターネットにおける他のマシンへ接続される(例えば、ネットワーク化される)。マシンは、クライアント/サーバーネットワーク環境においてサーバー又はクライアントマシンの容量で動作するか、或いはピアツーピア(又は分散型)ネットワーク環境においてピアマシンとして動作する。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、セルラー電話、又はマシンにより行われるアクションを指定するインストラクションのセット(逐次、その他)を実行できるマシンである。更に、単一のマシンが図示されているが、「マシン」という語は、ここに述べる1つ以上の方法を遂行するためにインストラクションのセット(1つ又は複数)を個々に又は一緒に実行するマシン(例えば、コンピュータ)の集合を含むものと考えねばならない。
種々の実施形態によれば、図4は、図1ないし3に示して詳細に述べたものを具現化するのに使用できるシステムの一形態も表している。特に、ディスプレイ410は、図1のディスプレイ130と同様にダイナミックメディアコンテンツを表示するのに使用できることに注意されたい。ここに述べるダイナミックメディアコンテンツプレビューを容易にする実施形態は、例えば、ドライブユニット418又はメインメモリ404に記憶されてプロセッサ402により実行できるインストラクション422として含まれる(図4のシステムに)。
規範的なコンピュータシステム400は、プロセッサ402、メインメモリ404(例えば、リードオンリメモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)、例えば、同期DRAM(SDRAM)又はRambusDRAM(RDRAM)、等)、スタティックメモリ406(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)、等)、並びにバス408を経て互いに通信する二次メモリ418(例えば、データ記憶装置)を備えている。
プロセッサ402は、マイクロプロセッサ、中央処理ユニット、等の1つ以上の汎用処理装置を表している。より特定すれば、プロセッサ402は、複合インストラクションセットコンピューティング(CISC)マイクロプロセッサ、縮小インストラクションセットコンピューティング(RISC)マイクロプロセッサ、超ロングインストラクションワード(VLIW)マイクロプロセッサ、他のインストラクションセットを実施するプロセッサ、或いはインストラクションセットを組み合わせて実施するプロセッサである。又、プロセッサ402は、1つ以上の特殊目的処理装置、例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、等でもよい。プロセッサ402は、ここに述べる動作及びステップを遂行する多恵の処理ロジック422を実行するように構成される。
コンピュータシステム400は、更に、ネットワークインターフェイス装置416も備えている。又、コンピュータシステム400は、ディスプレイユニット410(例えば、液晶ディスプレイ(LED)、発光ダイオード(LED)ディスプレイ、陰極線管(CRT))、及び入力装置412(例えば、キーボード及び/又はマウス、等)も備えている。
二次メモリ418は、マシン読み取り可能な記憶メディア(又はより特定すれば、コンピュータ読み取り可能な記憶メディア)424を備え、その上には、ここに述べる方法又は機能の1つ以上を実施する1つ以上のインストラクションセット(例えば、ソフトウェア422)が記憶される。又、ソフトウェア422は、コンピューティングシステム400によるその実行中にメインメモリ404及び/又は処理装置402内に完全に又は少なくとも部分的に存在し、メインメモリ404及び処理装置402は、マシン読み取り可能な記憶メディアも構成する。ソフトウェア422は、更に、ネットワーク420を越えて、ネットワークインターフェイス装置416を経て送信又は受信される。種々の実施形態において、ユーザにより要求されるウェブコンテンツは、ネットワークインターフェイス装置416を使用してネットワーク420を経て(例えば、ワールドワイドウェブから)検索することができる。
マシン読み取り可能な記憶メディア424は、規範的実施形態では単一のメディアとして示されているが、「マシン読み取り可能な記憶メディア」又は「コンピュータ読み取り可能な記憶メディア」という語は、1つ以上のインストラクションセットを記憶する単一のメディア又は複数のメディア(例えば、集中型又は分散型データベース、及び/又はそれに関連したキャッシュ及びサーバー)を含むと考えるべきである。又、「マシン読み取り可能な記憶メディア」又は「コンピュータ読み取り可能な記憶メディア」という語は、マシン/コンピュータにより実行するためのインストラクションセットを記憶又はエンコードできると共に、マシン/コンピュータが本発明の方法の1つ以上を遂行するようにさせるメディアも含むと考えるべきである。従って、「マシン読み取り可能な記憶メディア」又は「コンピュータ読み取り可能な記憶メディア」という語は、ソリッドステートメモリ並びに光学的及び磁気的メディアを含むと考えるべきであるが、これに限定されない。
ここに述べる種々のコンポーネントは、ここに述べる機能を遂行するための手段である。ここに述べる各コンポーネントは、ソフトウェア、ハードウェア又はそれらの組み合わせを含む。ここに述べる動作及び機能は、ソフトウェアモジュール、ハードウェアモジュール、特殊目的のハードウェア(例えば、特定用途向けハードウェア、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、等)、埋め込み型コントローラ、ハードワイヤード回路、等として実施することができる。
ここに述べたこととは別に、本発明の範囲から逸脱せずに、本発明のここに開示された実施形態及び具現化に対して種々の変更がなされ得る。それ故、ここに述べた実施形態は、例示に過ぎず、それに限定されるものではない。
102:クライアントプロセス
104:プレビューデーモン
106:ストリーミングプレビューデーモン
110:ファイル
112:API
114:ディスプレイバンドル
116:要求
118:ファイルタイプモジュール
120:プラグイン
122:ファイルプレビュー
124:ストリームプラグイン
126:ストリームプレビュー
128:ストリームコントロール
130:ユーザインターフェイス/ディスプレイ
202:クライアントプロセス
206:ストリーミングプレビューデーモン
208:ファイル
210:ビデオ
212:オーディオ
214:ストリーム
216:ストリームコントロール
220:ストリームプラグイン

Claims (17)

  1. コンピュータによって実行される方法であって、
    第1のサンドボックスにおいて実行されるサンドボックスプレビュープロセスを用いて、非ネーティブコンテンツタイプを有するダイナミックメディアコンテンツのプレビューの要求に応答して、第2のサンドボックスにおいて実行されるサンドボックスストリーミングプレビュープロセスを開始する段階であって、前記サンドボックスストリーミングプレビュープロセスは非ネーティブコンテンツのために指定されたプラグインを備えるものである段階と、
    前記ダイナミックメディアコンテンツからプレビュー特有のフォーマットでフレームのストリームを発生する段階であって、そのフレームのストリームは、前記指定されたプラグインを用いて検索され、前記第2のサンドボックスにおいて前記サンドボックスストリーミングプレビュープロセス内で実行されるストリームプラグインを用いて発生されるものである段階と、
    前記フレームのストリームを、前記ダイナミックメディアコンテンツのプレビューとして与える段階であって、前記プレビューは、ディスプレイスクリーン上で見ることのできるものである段階と、
    を備えた方法。
  2. サンドボックスストリーミングプレビュープロセスを開始する前記段階は、
    前記ダイナミックメディアコンテンツのコンテンツタイプを決定すること、及び
    前記ダイナミックメディアコンテンツのコンテンツタイプに少なくとも一部分基づいて前記ダイナミックメディアコンテンツを前記プレビュー特有のフォーマットへ変換するために前記ストリームプラグインを検索すること、
    を含む請求項1に記載の方法。
  3. 前記ストリームプラグイン及びダイナミックメディアコンテンツを前記サンドボックスストリーミングプレビュープロセスに与える段階を更に備えた、請求項2に記載の方法。
  4. 前記発生する段階は、前記フレームのストリームの各フレームに対してオーディオコンポーネント及びビデオコンポーネントを別々に発生することを更に含む、請求項1に記載の方法。
  5. フレームのストリームを与える前記段階は、
    フレームが発生されるたびにフレームごとに表示するために前記フレームのストリームを与えること、及び
    プレビューの表示中に前記ダイナミックメディアコンテンツのユーザコントロールを容易にするために1つ以上のコントロールを与えること、
    を含む請求項1に記載の方法。
  6. 前記ストリームプラグインは、アプリケーションに関連し、そして前記プレビューは、アプリケーションを起動せずに見ることができる、請求項1に記載の方法。
  7. コンピュータによって実行される方法であって、
    第1のサンドボックスプロセスを用いて、クライアントプロセスからダイナミックメディアコンテンツのプレビューの要求を受け取る段階であって、前記第1のサンドボックスプロセスは非ネーティブコンテンツのために指定されたプラグインを備えたものである段階と、
    前記ダイナミックメディアコンテンツが非ネーティブコンテンツタイプである場合、前記第1のサンドボックスプロセスを用いて、前記要求の受け取りに応答して、第2のサンドボックスにおいて第2のサンドボックスプロセスを開始する段階と、
    前記ダイナミックメディアコンテンツからプレビュー特有のフォーマットでフレームのストリームを発生する段階であって、そのフレームのストリームを、前記指定されたプラグインによって検索され、前記第2のサンドボックスにおいて前記第2のサンドボックスプロセス内で実行されるストリームプラグインを用いて発生するような段階と、
    前記フレームのストリームを、ディスプレイスクリーン上に表示するために前記クライアントプロセスに与える段階と、
    を備えた方法。
  8. 第2のサンドボックスプロセスを開始する前記段階は、更に、
    前記ダイナミックメディアコンテンツのコンテンツタイプを決定すること、
    前記コンテンツタイプが非ネーティブなコンテンツタイプであることを決定すること、及び
    前記ダイナミックメディアコンテンツの非ネーティブなコンテンツタイプに少なくとも一部分基づいて前記ダイナミックメディアコンテンツを前記プレビュー特有のフォーマットへ変換するためにストリームプラグインを検索すること、
    を含む請求項7に記載の方法。
  9. 前記ストリームプラグイン及びダイナミックメディアコンテンツを前記第2のサンドボックスプロセスに与える段階を更に備えた、請求項8に記載の方法。
  10. 前記発生する段階は、前記フレームのストリームの各フレームに対してオーディオコンポーネント及びビデオコンポーネントを別々に発生することを更に含む、請求項7に記載の方法。
  11. フレームのストリームを与える前記段階は、
    フレームが発生されるたびにフレームごとに表示するために前記フレームのストリームを前記クライアントプロセスに与えること、及び
    プレビューの表示中に前記ダイナミックメディアコンテンツのユーザコントロールを容易にするために1つ以上のコントロールを前記クライアントプロセスに与えること、
    を含む請求項7に記載の方法。
  12. 前記ストリームプラグインは、アプリケーションに関連し、そして前記プレビューは、アプリケーションを起動せずに見ることができる、請求項7に記載の方法。
  13. 実行時にデータ処理システムが請求項1から12のいずれかに記載の方法を遂行するようにさせるインストラクションが記憶されたコンピュータ読み取り可能な記憶メディア。
  14. 処理手段であって、
    非ネーティブコンテンツのための指定されたプラグインを備える、第1のサンドボックスにおいて実行されるサンドボックスプロセスを用いて、非ネーティブコンテンツタイプを有するダイナミックメディアコンテンツのプレビューの要求に応答して、第2のサンドボックスにおいて実行されるサンドボックスプロセスを開始し、
    前記ダイナミックメディアコンテンツからプレビュー特有のフォーマットでフレームのストリームを発生し、そのフレームのストリームは、前記指定されたプラグインを用いて検索され、前記第2のサンドボックスにおける前記サンドボックスプロセス内で実行されるストリームプラグインを経て発生される、ようにする処理手段と、
    前記発生されたフレームのストリームを、前記ダイナミックメディアコンテンツのプレビューとして表示するためのディスプレイと、
    を備えた装置。
  15. 前記処理手段は、更に、
    前記ダイナミックメディアコンテンツのコンテンツタイプを決定し、
    前記ダイナミックメディアコンテンツのコンテンツタイプに少なくとも一部分基づいて前記ダイナミックメディアコンテンツを前記プレビュー特有のフォーマットへ変換するために前記ストリームプラグインを検索前記ストリームプラグインはアプリケーションに関連し、前記プレビューは当該アプリケーションを起動せずに見ることができる、
    請求項14に記載の装置。
  16. 前記処理手段は、更に、
    前記フレームのストリームの各フレームに対してオーディオコンポーネント及びビデオコンポーネントを別々に発生する、
    請求項14に記載の装置。
  17. 前記処理手段は、更に、
    フレームが発生されるたびにフレームごとに前記ディスプレイへ前記フレームのストリームを与え、
    プレビューの表示中に前記ダイナミックメディアコンテンツのユーザコントロールを容易にするために1つ以上のユーザインターフェイスコントロールを与える、請求項14に記載の装置。
JP2012521733A 2009-07-24 2010-07-20 ダイナミックメディアコンテンツプレビュー Active JP5575897B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/509,401 US8626802B2 (en) 2009-07-24 2009-07-24 Dynamic media content previews
US12/509,401 2009-07-24
PCT/US2010/042606 WO2011011414A1 (en) 2009-07-24 2010-07-20 Dynamic media content previews

Publications (2)

Publication Number Publication Date
JP2013500514A JP2013500514A (ja) 2013-01-07
JP5575897B2 true JP5575897B2 (ja) 2014-08-20

Family

ID=42734859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012521733A Active JP5575897B2 (ja) 2009-07-24 2010-07-20 ダイナミックメディアコンテンツプレビュー

Country Status (7)

Country Link
US (2) US8626802B2 (ja)
EP (1) EP2457191A1 (ja)
JP (1) JP5575897B2 (ja)
KR (1) KR101392559B1 (ja)
CN (1) CN102483782B (ja)
HK (1) HK1171529A1 (ja)
WO (1) WO2011011414A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167345A1 (en) * 2010-01-06 2011-07-07 Jeremy Jones Method and apparatus for selective media download and playback
US9612715B2 (en) * 2010-06-28 2017-04-04 International Business Machines Corporation Real-time preview of uniform resource identifier addressable dynamic content
US9524531B2 (en) * 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications
US20130167028A1 (en) * 2011-06-01 2013-06-27 Adobe Systems Incorporated Restricting media content rendering
US11210610B2 (en) * 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
CN102436508B (zh) 2011-12-28 2013-08-14 奇智软件(北京)有限公司 基于沙箱技术浏览网页的方法及装置
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9186299B1 (en) * 2012-03-23 2015-11-17 Clark Levi Topical pharmaceutical compounds and methods
US9256733B2 (en) * 2012-04-27 2016-02-09 Microsoft Technology Licensing, Llc Retrieving content from website through sandbox
KR102113683B1 (ko) 2013-03-06 2020-06-03 삼성전자주식회사 문지르기 제스처를 검출하여 미리보기를 제공하는 모바일 장치 및 그 제어 방법
US9514477B2 (en) 2013-07-10 2016-12-06 AVG Netherlands B.V. Systems and methods for providing user-specific content on an electronic device
US10127536B2 (en) 2013-11-11 2018-11-13 Microsoft Technology Licensing, Llc Unified content representation
US9684547B2 (en) * 2014-05-29 2017-06-20 Apple Inc. Method and apparatus for handling security of an application and its extension
US20160192018A1 (en) * 2014-12-29 2016-06-30 Microsoft Technology Licensing, Llc Previewing content available at local media sources
US10025758B2 (en) * 2015-04-27 2018-07-17 Microsoft Technology Licensing, Llc Support for non-native file types in web application environment
US10419790B2 (en) 2018-01-19 2019-09-17 Infinite Designs, LLC System and method for video curation
US20210319166A1 (en) * 2020-04-10 2021-10-14 Microsoft Technology Licensing, Llc Editable multicell multicategory document presentation
US11907748B2 (en) * 2021-04-23 2024-02-20 VMware LLC Secure graphics processing unit (GPU) virtualization using sandboxing

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6289371B1 (en) * 1998-09-30 2001-09-11 Hewlett-Packard Company Network scan server support method using a web browser
US6763377B1 (en) * 2000-03-03 2004-07-13 International Business Machines Corporation Asset management and scheduling graphical user interface for media streamer
US8166384B1 (en) * 2000-06-14 2012-04-24 Adobe Systems Incorporated Environment-based bookmark media
US20030052909A1 (en) * 2001-06-25 2003-03-20 Arcsoft, Inc. Real-time rendering of edited video stream
US20030023641A1 (en) * 2001-07-27 2003-01-30 Gorman William Phillip Web page authoring tool
US7269833B2 (en) * 2001-12-12 2007-09-11 Sun Microsystems, Inc. Scriptable plug-in application programming interface
JP2004312268A (ja) * 2003-04-04 2004-11-04 Mitsubishi Electric Corp マルチメディアコンテンツファイルのデータ構造、マルチメディアコンテンツ生成装置、及びマルチメディアコンテンツ閲覧装置
JP2006524875A (ja) * 2003-04-25 2006-11-02 アップル・コンピューター・インコーポレーテッド メディアのネットワークベースの購入および配信のための方法およびシステム
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
US7512699B2 (en) * 2004-11-12 2009-03-31 International Business Machines Corporation Managing position independent code using a software framework
JP5000110B2 (ja) * 2005-08-24 2012-08-15 日本電気株式会社 折り畳み式携帯装置およびその筐体の製造方法
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
US8576922B2 (en) * 2007-06-10 2013-11-05 Apple Inc. Capturing media in synchronized fashion
CN101425016B (zh) * 2007-11-01 2012-07-25 珠海金山快快科技有限公司 运行安装软件的方法和系统
US8516133B2 (en) 2008-02-07 2013-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for mobile device credentialing
US8381288B2 (en) * 2008-09-30 2013-02-19 Intel Corporation Restricted component access to application memory
US8301792B2 (en) * 2008-10-28 2012-10-30 Panzura, Inc Network-attached media plug-in
US9355554B2 (en) * 2008-11-21 2016-05-31 Lenovo (Singapore) Pte. Ltd. System and method for identifying media and providing additional media content
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US9100810B2 (en) 2010-10-28 2015-08-04 Apple Inc. Management systems for multiple access control entities
WO2012154600A1 (en) 2011-05-06 2012-11-15 Apple Inc. Methods and apparatus for providing management capabilities for access control clients

Also Published As

Publication number Publication date
US9317683B2 (en) 2016-04-19
KR101392559B1 (ko) 2014-05-08
CN102483782B (zh) 2015-04-01
EP2457191A1 (en) 2012-05-30
CN102483782A (zh) 2012-05-30
HK1171529A1 (en) 2013-03-28
WO2011011414A1 (en) 2011-01-27
US20140222874A1 (en) 2014-08-07
KR20120049291A (ko) 2012-05-16
US8626802B2 (en) 2014-01-07
US20110022643A1 (en) 2011-01-27
JP2013500514A (ja) 2013-01-07

Similar Documents

Publication Publication Date Title
JP5575897B2 (ja) ダイナミックメディアコンテンツプレビュー
US10977438B2 (en) Latency reduction in collaborative presentation sharing environment
TWI493441B (zh) 呈現在電腦上之內容
CN105389251B (zh) 结构化查询语言调试器
US8176081B2 (en) Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API)
US8108403B2 (en) User engagement during large file uploads
US20150128017A1 (en) Enabling interactive screenshots within collaborative applications
WO2017049769A1 (zh) 一种用于在移动应用中提供目标页面的方法与设备
US20140033262A1 (en) Parsing Single Source Content for Multi-Channel Publishing
US10733361B2 (en) Content reproducing apparatus
US10735793B1 (en) Recording and playing back image variations
WO2014086194A1 (zh) 网络的信息展示方法和系统、终端和信息展示处理装置
TW201207639A (en) Late resource localization binding for web services
US20130081010A1 (en) Template and server content download using protocol handlers
RU2654789C2 (ru) Способ (варианты) и электронное устройство (варианты) обработки речевого запроса пользователя
US10162826B2 (en) UOA migration
US11250084B2 (en) Method and system for generating content from search results rendered by a search engine
WO2015078255A1 (zh) 一种显示视频标题的方法、系统及浏览器
US8127026B2 (en) User operation acting device, user operation acting program, and computer readable recording medium
US9679010B2 (en) Methods, systems, and apparatus for search of electronic information attachments
US11880424B1 (en) Image generation from HTML data using incremental caching
US20230305851A1 (en) Modular pipelines for accessing digital data
US20230237259A1 (en) Performant run-time parsing and editing in a client-server model
US9377988B2 (en) Displaying a consolidated resource in an overlapping area on a shared projection
TW201421254A (zh) 檔案開啟的系統及方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140306

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: 20140602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140702

R150 Certificate of patent or registration of utility model

Ref document number: 5575897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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