JPH11259304A - プラグインメディアデコ―ダ供給方法及び装置 - Google Patents

プラグインメディアデコ―ダ供給方法及び装置

Info

Publication number
JPH11259304A
JPH11259304A JP10343526A JP34352698A JPH11259304A JP H11259304 A JPH11259304 A JP H11259304A JP 10343526 A JP10343526 A JP 10343526A JP 34352698 A JP34352698 A JP 34352698A JP H11259304 A JPH11259304 A JP H11259304A
Authority
JP
Japan
Prior art keywords
data
plug
computer
class
component
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.)
Pending
Application number
JP10343526A
Other languages
English (en)
Inventor
Daniel C W Wong
シー.ダブリュー.ウォン ダニエル
Jesus David Rivas
デイビッド ライバス ジーザス
Amith Yamasani
ヤマサニ アミス
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH11259304A publication Critical patent/JPH11259304A/ja
Pending legal-status Critical Current

Links

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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

(57)【要約】 (修正有) 【課題】プラグイン・ソフトウェア・デコーダを実現す
る。 【解決手段】メディア・アプリケーションを形成するた
め、オブジェクト・ベースのクラスファイルによって実
施され、メディアデータタイプは入力されるメディアデ
ータから判定され、対応するコーデック・オブジェクト
のクラス名を生成する。クラス・ローダがインテグレー
ションのためそのクラスファイルをメディア・アプリケ
ーションにロードする。クラスファイルが仮想マシンに
ロードされると、メディアデータタイプに適合するよう
にメディアデータのデコーディング/デコンプレッショ
ンを行うため、コーデックのクラス・インスタンスが作
成される。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明はオブジェクト指向コンピュータ・
アプリケーションに関するものであり、特にネットワー
ク・メディア・アプリケーションに関するものである。
【0002】本特許書類の開示の一部には著作権保護を
必要とする内容が含まれている。著作権の所有者は特許
・商標庁のファイルまたは記録に記載されている特許書
類または特許開示の何人によるファクシミリ再生につい
ても異議を申し立てるものではないが、ただし、その他
の場合にはいかなる場合であっても全ての著作権を保留
する。
【0003】
【従来の技術】インターネット(Internet)及びワールド
・ワイド・ウェブ(World Wide Web)のメディア配布能力
に対する関心が高まることによって、オーディオ,ビデ
オ,及び他の形態のメディアのためにMPEG−1,M
PEG−2,QuickTime,H.261,PCM,AU,及
びMIDIといったさまざまなマルチメディア・データ
コンプレッション及びエンコーディング・フォーマット
又はメディアタイプが開発されることになった。インタ
ーネット又は他のネットワークからダウンロードされる
マルチメディアコンテンツを表現するために1つ以上の
こうしたメディアタイプをサポートするメディア・アプ
リケーションが利用可能である。メディア・アプリケー
ションの能力を高めるためにユーザ・マシンにプラグイ
ン・デコーダをインストールして、特定のメディアタイ
プのデコンプレッション/デコーディングを容易にする
場合が多い。
【0004】不都合なことに、プラグイン・デコーダの
インストールはユーザ・コンピュータ・システムにプラ
グインをインストールするのに必要な保存資源の面で重
荷になる。また、ユーザは見つけにくい場合の多いプラ
グイン・デコーダの位置を突き止めて所定のフォーマッ
トのメディア・データを見る前にユーザ・コンピュータ
・システムにインストールすることが必要になる。した
がって、メディア・アプリケーションの有用性はユーザ
が収集したインストールされるプラグイン・デコーダに
よってサポートされるメディア・フォーマットに制限さ
れる。多数の現行メディアタイプが存在し新規のメディ
アタイプが絶えず流入してくるので、全てのタイプのプ
ラグイン・デコーダをインストールするのは不可能であ
る。現在のメディア・アプリケーションの欠点をより分
かりやすく示すため、下記では先行技術によるネットワ
ーク化マルチメディア環境のサンプルについて図1に関
連して説明を行うことにする。
【0005】図1においてユーザ・コンピュータ・シス
テム100はネットワーク105を介してサーバ106
に結合されている。サーバ106にはさまざまなデータ
タイプ(例えば、JPEG,PCM,MPEG1,Cine
pak 等)のメディア・データ・ライブラリを格納した持
続型保存装置107が含まれる。メディア・データには
それぞれデータタイプJPEG,PCM,及びMPEG
1のデータファイル108,109,及び110が含ま
れている。
【0006】ユーザ・コンピュータ・システム100に
はハード・ドライブのような持続型保存資源101と、
システムRAMのような一時的記憶空間における実行空
間103が含まれている。持続型保存(資源)101に
はそれぞれJPEG,PCM,及びH.261データタ
イプに対応するインストールされたプラグイン・デコー
ダ111,112,及び113を含むプラグイン・ライ
ブラリ102が納められている。実行スペース103に
はJPEGデータファイル108’,及びJPEGメデ
ィア・データのデコーディング/デコンプレッションを
行うためのプラグインJPEGデコーダ111’が納め
られている。
【0007】JPEGデータファイル108’はサーバ
106からダウンロードされたデータファイル108の
コピーである。プラグイン・デコーダ111’はJPE
Gデータの処理に適応するため、持続型保存資源101
からロードされたJPEGデコーダ111のコピーであ
る。ユーザ・コンピュータ・システム100は持続型保
存資源101にJPEG,PCM,及びH.261デー
タタイプのためのプラグイン・デコーダだけしかインス
トールされていないので、メディア・アプリケーション
104はJPEG,PCM,及びH.261メディア・
データのいずれかの表現に制限される。例えば、持続型
保存資源101にはMPEG1メディア・データのデコ
ーディング/デコンプレッションを行うためのプラグイ
ン(・デコーダ)がインストールされていないので、メ
ディア・アプリケーション104によってサーバ106
からのMPEG1データファイル110を提供すること
はできない。対応するプラグイン・デコーダがユーザ・
コンピュータ・システムにインストールされていないデ
ータタイプのメディア・データをデコーディングする機
構は存在しない。さらに、ユーザ・コンピュータ・シス
テム100にインストールされた未使用のプラグイン・
デコーダは保存資源の利用が非効率的であることを表し
ている。
【0008】ハード・ディスクのような持続型保存装置
が装備されていないディスクレス・クライアント及びネ
ットワーク・コンピュータ(NC)のようなシステムの
場合、メディアデコーダのプリ−インスタレーションは
サポートされない。プラグイン・アーキテクチャが可能
でなく、メディアのプレゼンテーションがメディア・ア
プリケーションそのものにビルトインされたデコーダに
よってサポートされる少数のデータタイプに制限される
可能性もある。新規のデータタイプに対するフレキシビ
リティが得られない。
【0009】
【発明の概要】プラグイン・メディアデコーダを実現す
るための方法及び装置について解説する。本発明の実施
例によれば、ネットワークからユーザ・コンピュータの
ユーザ・アプリケーションにメディア・データと共にソ
フトウェア・デコーダの透明性ダウンロードを可能にす
るプラグイン・デコーダ・アーキテクチャが得られる。
したがって、ネットワークを介してメディア・データと
共に対応するプラグイン・デコーダが得られる以上はユ
ーザ・アプリケーションによる新規のメディアタイプの
サポートが可能になる。ダウンロード・デコーダが非常
駐であり、ユーザ・アプリケーションを実行する時間だ
けアプリケーション・メモリ内に存在するので、持続型
保存装置の要件が軽減される。このアーキテクチャはユ
ーザ・コンピュータにインストール済みのプラグイン・
デコーダの利用もサポートする。
【0010】本発明の実施例の1つはメディア・アプリ
ケーションを形成するため仮想マシンにおいて実行され
るオブジェクト・ベースのクラスファイルで実現され
る。メディア・データタイプは入力されるメディアデー
タから判定され、所定のメディアデータタイプに対応す
るコーデック(コーダ・デコーダ)・オブジェクトのク
ラス名を生成するために利用される。所定のクラス名に
関するコーデック・クラスファイルの位置を決定するた
めに、入力メディアデータの発信元位置を含むクラス・
パス・ベクトルにおいて得られる全ての位置についてサ
ーチが実行される。所望のコーデック・クラスファイル
位置を突き止めると、仮想マシンのクラス・ローダがイ
ンテグレーションのためそのクラスファイルをメディア
・アプリケーションにロードする。コーデック・クラス
ファイルがネットワークの向こう側のメディアデータの
発信元位置にある場合、クラス・ローダはネットワーク
からコーデック・クラスファイルをダウンロードする。
一旦、クラスファイルが仮想マシンにロードされると、
メディアデータタイプに適合するようにメディアデータ
のデコーディング/デコンプレッションするため、メデ
ィア・アプリケーション内においてコーデック・クラス
・インスタンスが作成される。
【0011】
【実施例】本発明はプラグイン・メディアデコーダを実
現するための方法及び装置である。下記の説明におい
て、多数の特定の詳細を述べ、本発明の実施例をより徹
底して説明する。しかし、当業者には明らかなように本
発明はこうした詳細な説明がなくとも実施可能である。
本発明が曖昧にならないように、他の例に関する周知の
特徴については詳述しない。
【0012】メディアデータと共にネットワークからソ
フトウェア・デコーダをダウンロードし、メディア・ア
プリケーションにインテグレートしてメディアデータの
処理に利用できるようにする、プラグイン・デコーダ・
アーキテクチャが提供される。こうして、ネットワーク
を介してメディアデータと共に対応するプラグイン・デ
コーダが利用できる限り、メディア・アプリケーション
は新規のメディアタイプをサポートすることが可能にな
る。ダウンロード・プロセス及びユーザ・アプリケーシ
ョンに対するデコーダのインテグレーションはユーザに
とって透過性である。さらに、ダウンロードされるデコ
ーダは非常駐であり、ユーザ・アプリケーションの実行
持続時間だけアプリケーション・メモリ内に存在する。
したがって、プラグイン・デコーダの恒久インストール
のためのハード・ドライブにおけるスペースのような持
続型保存資源が必要になることはない。したがって、デ
ィスクレス・クライアント及びネットワーク・コンピュ
ータ(NC)はプラグイン・デコーダ・アーキテクチャ
によって得られるフレキシビリティを利用することが可
能になる。
【0013】プラグイン・デコーダ・アーキテクチャは
ダウンロードされずにユーザ・コンピュータ・システム
に局所的にインストールされた(持続型保存装置に保存
された)プラグイン・デコーダもサポートする。したが
って、インストールされたプラグイン・デコーダが存在
する場合にはそれを利用してダウンロード時間を最短に
できる。
【0014】図2は本発明の実施例に従ってメディアデ
ータと共にプラグイン・デコーダの設備を示すネットワ
ーク環境のブロック図である。さまざまなデータタイプ
のメディアデータ,並びに実現される各タイプのメディ
アデータのデコーディング/デコンプレッションに用い
られる対応するデコーダを納めたサーバが設けられてい
る。ユーザ・コンピュータ・システムにはメディアデー
タを実現するためのメディア・アプリケーションが格納
されている。ユーザ・コンピュータ・システムには制限
された数のプラグイン・デコーダが設けられている。
【0015】図2において、ユーザ・コンピュータ・シ
ステム100はネットワーク105を介してサーバ10
6に結合されている。サーバ106にはさまざまなタイ
プ(例えば、JPEG,PCM,H.261,MPEG
1,MPEG2,Cinepak,MIDI等)のメディアデ
ータ・ライブラリを納めた持続型保存装置107が含ま
れている。メディアデータにはそれぞれ、データタイプ
JPEG,PCM,及びH.261のデータファイル1
08,109,及び110が含まれている。持続型保存
装置107内にはそれぞれ、JPEG,PCM,及び
H.261メディアデータのデコーディング/デコンプ
レッションのためのデコーダ111,112,及び11
4を含む各データタイプ毎に対応するプラグイン・デコ
ーダも保存されている。
【0016】ユーザ・コンピュータ・システム100に
はハード・ドライブのような持続型保存装置101,及
びシステムRAMのような一時保存装置における実行ス
ペース103が含まれる。持続型保存装置101にはそ
れぞれ、データタイプPCM及びMPEG1に対応す
る、インストールされたプラグイン・デコーダ112及
び113を含むプラグイン・ライブラリ102が納めら
れている。実行スペース103にはJPEGデータファ
イル108’及びPCMデータファイル109’を含む
メディア・アプリケーション104が納められている。
アプリケーション104にはそれぞれ、JPEG及びP
CMメディアデータのデコーディング/デコンプレッシ
ョンを行うため、プラグイン・デコーダ111’及び1
12’も含まれる。
【0017】データファイル108’及び109’はサ
ーバ106からダウンロードされたデータファイル10
8及び109の非常駐コピーである。同様に、プラグイ
ンJPEGデコーダ111’はJPEGメディアデータ
の処理に適応するようにサーバ106からダウンロード
されたプラグインJPEGデコーダ111の非常駐コピ
ーである。プラグインPCMデコーダ112’は持続型
保存装置101からロードされたプラグインPCMデコ
ーダ112のコピーである。代わりに、PCMタイプの
メディアデータのためのプラグイン・デコーダ112が
ユーザ・コンピュータ・システム100とサーバ106
の両方にインストールされるので、プラグインPCMデ
コーダ112’はサーバ106からダウンロードするこ
とが可能である。アプリケーション104がシャット・
ダウンされると、プラグイン・デコーダ111’及び1
12’は実行空間103から削除される。
【0018】ユーザ・コンピュータ・システム100は
持続型保存装置101にデータタイプPCM及びMPE
G1のためのプラグイン・デコーダだけしかインストー
ルされていないので、先行技術のシステムではメディア
・アプリケーション104はデータタイプPCM又はM
PEG1のメディアの実現に制限されることになる。し
かし、プラグイン・デコーダがデータファイルの形でサ
ーバから得られる各データタイプ毎に実現されるので、
また、サーバからプラグイン・デコーダをダウンロード
するための機構が設けられているので、図2のシステム
によれば任意のタイプ(JPEG,PCM,H.261
等)のメディアデータの実現がサポートされる。
【0019】本発明の実施例の1つではオブジェクト・
クラスを利用し、オブジェクト指向環境においてプラグ
イン・デコーダを実施する。オブジェクト・クラスの理
解をより明確にするため、以下オブジェクト指向プログ
ラミングについて簡単な説明を行う。
【0020】[オブジェクト指向プログラミング]オブ
ジェクト指向プログラミングは所定の基本ビルディング
・ブロックを組み合わせてビルディング・ブロック間の
関係を作成することによりコンピュータ・プログラムを
作成する方法である。オブジェクト指向プログラミング
・システムにおけるビルディング・ブロックは"object'
s"(オブジェクト)と呼ばれる。オブジェクトはデータ
構造(instance variable:インスタンス変数)と、その
データを利用するか、あるいはそれに影響を与えること
が可能な操作(method:メソッド)を一緒にグループ化
したプログラミング単位である。したがって、オブジェ
クトはデータとそのデータに対して実行可能な1つ以上
の操作又は手順から構成される。データと操作を単一ビ
ルディング・ブロックに結合することは「カプセル化(e
ncapsulation)」と呼ばれる。
【0021】オブジェクトは「メッセージ(message)」
を受け取ると指示されたそのメソッドの1つを実行する
ことが可能である。メッセージはオブジェクトに所定の
メソッドを実行させる命令(command)又は指示(instruct
ion)である。メッセージはメソッド選択(名称)とオブ
ジェクトに送られる複数の引数(arguments)から構成さ
れる。メッセージは受け取ったオブジェクトに対してい
かなる操作を実行すべきかを伝える。
【0022】オブジェクト指向プログラミングの利点の
1つはメソッドを呼び出すやり方にある。メッセージが
オブジェクトに送られる際、メッセージはオブジェクト
に対して所定のメソッドをいかに実行するかを指示する
必要がない。必要なのはオブジェクトがメソッドを実行
するように要求することだけである。これによって、プ
ログラム開発が大幅に単純化される。
【0023】オブジェクト指向プログラミング言語は主
として「クラス(class)」方式をベースにしている。ク
ラス・ベースのオブジェクト指向プログラミング方式は
OOPSLA 86 Proceedings, September 1986, pp.214-223
における Lieberman による"Using Prototypical Obje
cts to Implement Shared Behavior in Object-Oriente
d Systems"に一般的な説明がある。
【0024】クラスは一般にクラスに関するインスタン
ス変数とメソッドの両方を含んでいるタイプのオブジェ
クトを定義する。オブジェクト・クラスはオブジェクト
の特定のインスタンスを作成するために利用される。オ
ブジェクト・クラスのインスタンスにはそのクラスのた
めに定義された変数及びメソッドが含まれている。オブ
ジェクト・クラスから同じクラスの複数のインスタンス
を作成することが可能である。オブジェクト・クラスか
ら作成される各インスタンスは同じタイプ又はクラスで
あると呼ばれる。
【0025】クラス階層はオブジェクト・クラスの定義
が1つ以上のサブクラスを備えるように定義することが
可能である。サブクラスはその親(parent's)(及び祖父
母(grandparent's)等)の定義を継承(inherits)する。
階層における各サブクラスはその親クラスによって指定
される役割を追加又は修正することが可能である。
【0026】例を示すと、従業員(employee)オブジェク
ト・クラスには「名前(name)」及び「給与(salarly)」
インスタンス変数と、"set_salary"メソッドを含むこと
が可能である。従業員オブジェクト・クラスはある組織
における各従業員毎に生成又は具体化することが可能で
ある。各オブジェクト・インスタンスは「従業員」タイ
プと云われる。各従業員オブジェクト・インスタンスに
は「名前」及び「給与」インスタンス変数と"set_salar
y"メソッドが含まれている。各従業員オブジェクト・イ
ンスタンスにおける「名前」及び「給与」変数に関連し
た値にはその組織における従業員の名前と給与が含まれ
ている。従業員の従業員オブジェクト・インスタンスに
メッセージを送って"set_salary"メソッドを呼び出し、
従業員の給与(すなわち、従業員の従業員オブジェクト
における「給与」変数に関連した値)を修正することが
可能である。
【0027】オブジェクトはオブジェクト指向プログラ
ミング環境において関連するコード及び変数を含むモジ
ュールを指すために用いられる包括的な用語である。ソ
フトウェア・アプリケーションはオブジェクト指向プロ
グラミング言語を利用して書くことが可能であり、これ
によりプログラムの機能性がオブジェクトを利用して実
現されることになる。
【0028】ソフトウェア・アプリケーションの開発は
アプリケーションのコンポーネントに対してアプリケー
ション・プログラミング・インターフェイス(API)
を設定することによって、独立した区分的やり方で実施
可能である。APIは他のコンポーネントによってアク
セス可能な特定のコンポーネントのメソッド,及びメソ
ッドの呼び出し(invoke)を可能にするフォーマットを表
している。これらのメソッドの特定の実施は特定のコン
ポーネントの設計に関してのみ重要になる。各コンポー
ネントは個別にそれぞれのAPI及び任意の内部機能を
実施し、アプリケーションの他のコンポーネントのAP
Iとのインターフェイスをするように設計される。一般
に、これらの構成要素はアプリケーションを形成する1
つ以上のオブジェクトを含んでいる。
【0029】オブジェクト指向プログラミング言語の例
には C++及び Java(R)が含まれる。プログラムがマ
シン依存実行可能プログラム・コードにコンパイルされ
る大部分のプログラミング言語とは異なり、Java クラ
スはマシン依存仮想マシンによって実行されるマシンに
依存しないバイト・コード・クラスファイルにコンパイ
ルされる。仮想マシンによって基本的コンピュータ・ハ
ードウェアのマシンに依存しないバイト・コード・クラ
スとマシン依存命令セットとの間における抽象レベルが
得られる。クラス・ローダが必要に応じてバイト・コー
ド・クラスファイルをロードする役割を持ち、インター
プリタ又はジャスト・イン・タイム・コンパイラがバイ
ト・コードをマシン・コードに変換する。
【0030】本発明の実施例は Java プログラミング言
語によって、Java Media Framework(JMF)を利用し
て構成されるメディア・アプリケーションとして実施さ
れる。このメディア・アプリケーション及び Java Medi
a Framework については下記においてさらに詳述する。
【0031】[発明のマルチメディア実施例]Java Med
ia Framework(JMF)はHTTP(Hypertext Transf
er Protocol)プロトコルを介した QuickTime Cinepak
映画のようなさまざまなプロトコル及びフォーマットに
よるマルチメディアを再生するように設計された1組の
マルチメディアAPI及びインプリメンテーションであ
る。Java Media Frameworkは「プレイヤ(Player)」、す
なわち、マルチメディアデータを再生する単位の概念を
指定する。図3に示すように各JMFプレイヤ内にはメ
ディア処理パイプラインの3つの主段階、すなわち、パ
ーサ302,デコーダ304,及びレンダラ306の実
現が含まれている。パーサ302はネットワーク発信元
から受け取った特定プロトコル・ネットワーク・パケッ
ト・データ301からのメディアデータをコンプレスド
及び/又はエンコーデッド・メディアデータファイル又
はストリーム303に変換する。デコーダ(コーデッ
ク)304はコンプレスド及び/又はエンコーデッド・
メディアデータ303を原(デコンプレッション及びデ
コーデッド)メディアデータ305に変換して、レンダ
ラ306が利用できるようにする。レンダラ306は原
メディアデータ305をグラフィック用モニタ又はオー
ディオ用スピーカといった出力装置308に表示又は提
示するためのメディア出力307に加工する。
【0032】デコーダ(コーデック)は単一圧縮フォー
マットをデコーディングする役割を持つ Javaオブジェ
クトである。一例として、JPEG圧縮ビデオ・フレー
ムをデコーディングするJPEGデコーダがある。JM
Fプレイヤの特定の実現にはマルチメディアデータを見
るために用いられる、こうしたデコーダ・オブジェクト
のいくつかを含むことが可能である。
【0033】新規のデコーダをプラグインして、Java M
edia Framework を拡張する機構が提供される。この機
構には明定された Javaコーデック・オブジェクト・イ
ンターフェイスと、コーデックのロード及びインスタン
ス作成を行うサーチ機構が含まれている。明確なコーデ
ック・オブジェクト・インターフェイスの例が付録Aと
していくつかの関連APIの形で示されている。
【0034】本発明の実施例において、サーチ機構は J
avaクラス名に周知のコーデック名をマッピングし、コ
ーデックをJMFプレイヤにインストールするため Jav
aクラス・ローダを利用できるようにする。Java クラス
・ローダを利用することによってコーデック・クラスを
インストールするためのフレキシブルなアプローチが得
られる。コーデック・クラスは Javaクラス・パス、す
なわち、クラス・パッケージに対するパス名のベクトル
で指定されるさまざまな発信元からサーチしインストー
ルすることが可能である。この機構によって、ネットワ
ークからダウンロードされるコーデック・クラス,並び
にユーザ・コンピュータ・システムに局所的及び永久的
にインストールされるコーデック・クラスのインテグレ
ーションが可能になる。ダウンロードされたコーデック
は性質が非常駐であるという特性を備えている。これは
ダウンロードされるコーデック・クラスが「オン・ザ・
フライ(on the fly)」式にダウンロードされ、プレイヤ
が実行する(所要)時間だけユーザ・コンピュータ・シ
ステムに存在することを意味する。
【0035】プレイヤは6つの状態、すなわち、"unrea
lized"(未認識),"realizing"(認識中),"realize
d"(認識済み),"prefetching"(先取り中),"prefet
ched"(先取り済み),及び"started"(起動済み)の1
つにある可能性がある。通常の操作では"started"の状
態になるまでは各状態を通って進む。プレイヤは最初に
作成された時"unrealized"状態にある。プレイヤはイン
スタンシエートされているが、まだ、そのメディアに関
して何も知らない。
【0036】realize()メソッドがコールされるとプレ
イヤは"unrealized"状態から"realizing"状態に移行す
る。実行プレイヤはその資源要求の判断プロセス中にあ
る。"realizing"に、プレイヤはプレイヤが1回だけし
か獲得する必要のない資源を獲得する。これらには専用
資源以外の解析,デコーディング,及びレンダリング資
源が含まれる可能性がある。(専用資源は1回につき1
つのプレイヤによってしか利用することのできない特定
のハードウェア装置のような制限された資源であり、こ
うした資源は"prefetching"に獲得される)。
【0037】プレイヤは"realizing"を終了すると"real
ized"状態に移行する。realized状態のプレイヤはそれ
が必要とする資源及び実現することになるメディアのタ
イプに関する情報を知っている。realized状態のプレイ
ヤはそのデータのレンダリング方法を知っており、した
がって、ビジュアルコンポーネント及び制御を提供する
ことができる。システム内におけるプレイヤと他のオブ
ジェクトとの接続は所定位置にあるが、そのプレイヤは
別のプレイヤの starting を阻止する資源を所有してい
ない。
【0038】prefetch()メソッドがコールされると、プ
レイヤは"realized"状態から"prefetching"状態に移行
する。"prefetching"状態のプレイヤはそのメディアを
実現する準備を行っている。この状態の間にプレイヤは
メディアデータをプリロードし、専用資源を取得し、プ
レイヤがそれ自体がプレイするために必要になるそれ以
外の任意のものを取得する。プラグイン・コーデックが
本発明の実施例に従って獲得されるのは一般にこの状態
にある間である。
【0039】プレイヤは"prefetching"を終了すると、"
prefetched"状態に移行する。"prefetched"状態のプレ
イヤは"started"準備が整っており、"started"状態への
移行のためのstart()メソッドの呼び出しを待つ。"star
ted"状態の間にプレイヤのタイム・ベースのタイムとメ
ディアタイムがマッピングされ、メディアデータが提示
される。
【0040】本発明の望ましい実施例によれば、上述
の"prefetching"状態の間にプレイヤは入力されたメデ
ィアデータをデコーディング/デコンプレッションする
ためのプラグイン・コーデック・オブジェクトを取得す
る。代わりに、"realizing"状態の間にプラグイン・コ
ーデック・オブジェクトを取得してもうぴ。プラグイン
・デコーダがメディア・アプリケーション内に配置さ
れ、インテグレートされるメソッドの実施例が図4のフ
ローチャートに例示されている。
【0041】ステップ400において、メディアデータ
のデータタイプが、例えば、パーサによって抽出された
データ・ヘッダ情報から判定される。ステップ401に
おいて、このデータタイプ情報からコーデック・クラス
名を生成することが可能になる。これは標準化された命
名規則(naming convention)を利用すればより効率よく
扱うことができる。例えば、"video/cinepak"のデータ
タイプから適合するコーデック・クラス名を"media.cod
ec.video.cinepak.Codec"とすることが可能である。同
様に、"audio/pcm"タイプのメディアデータファイルは
コーデック・クラス"media.codec.audio.pcm.Codec"の
インスタンスによってデコーディング/デコンプレッシ
ョンすることが可能である。
【0042】ステップ402において、クラス名を利用
してサーチの基礎としてクラス・パス・ベクトルを利用
する対応するクラスを求めるサーチが行われる。クラス
・パス・ベクトルには一般にメディアデータの発信元に
対する現在アクティブなパスを含む階層的に分散された
クラスファイルのリポジトリに関する1つ以上のパス名
が含まれている。サンプル・クラス・パスは例えば次の
通りである:ClassPath=.:/java/lib:/users/jsmith/c
lasses
【0043】パス"java/lib"においてクラス"media.cod
ec.audio.pcm.Codec"を求めるサーチを行うため、ディ
レクトリ"/java/lib/media/codec/audio/pcm"をサーチ
して、"Codec.class"ファイルの存在が確かめられる。
クラスが見つかるまで、各パス名が順番にサーチされ
る。したがって、メディアデータを提供するメディア・
サーバのパス名をサーチすることによって、サーバにお
ける所望のコーデック・クラスがうまく突き止められ
る。
【0044】ステップ403ではコーデック・クラスが
ユーザ・コンピュータ・システムとサーバのいずれにお
いて見つかったかに応じてコーデック・クラスが持続型
保存装置からユーザ・コンピュータ・システムにロード
されるか、あるいはサーバからダウンロードされる。Ja
vaクラス・ローダはコーデック・クラスのバイト・コー
ド・ファイルのロード/ダウンロード,及び Java仮想
マシンへのコーデック・クラスのインテグレーションを
扱う。ステップ404ではコーデック・クラスのインス
タンスが、メディアデータの処理に用いるためプレイヤ
にリターンされる。
【0045】本発明の実施例において、上記メソッドは
JMFプレイヤのようなメディア・アプリケーションに
関するプラグイン・コーデック・オブジェクト・インス
タンスの作成を容易にするため、コーデック・ファクト
リ・オブジェクトに組み込まれる。コーデック・ファク
トリ・インプリメンテーションの実施例が図5にブロッ
ク図で示されている。
【0046】図5の実施例には CodecFactoryインスタ
ンス501を基準とするプレイヤ500が含まれてお
り、インスタンス501は、次に、 Classインスタンス
502を基準としている。CodecFactoryインスタンス5
01にはメソッドgetCodecClass()及びメソッドcreateC
odec()が含まれている。Classインスタンス502には
メソッドforName()及びメソッドnewInstance()が含まれ
ている。forName()メソッドは classoath503を利用し
て、指定されたクラス名のクラスを求めてサーチし、指
定のクラス名を備えたクラスに関する実行時 Class記述
子をリターンする。newInstance()メソッドは Classオ
ブジェクトによって表わされるクラスの新たに割り付け
られたインスタンスをリターンする。所定のクラスが仮
想マシンに既に存在しない場合にはそのロード/ダウン
ロードのため、newInstance()メソッドによってクラス
・ローダが呼び出される。
【0047】入力メディアデータのデータタイプを判定
した後、ステップ1においてプレイヤ500はデータタ
イプに基づいてコーデック名を指定して CodecFactory
501の createCodec()メソッドを呼び出す。ステップ
2において、createCodec()メソッドは getCodecClas
s()メソッドを呼び出し、ステップ1からのコーデック
名を渡す。getCodecClass()メソッドは必要に応じて適
合するパッケージプリフィックス及びサフィックスでコ
ーデック名を制限し、ステップ3においてその制限クラ
ス名を利用して、Classインスタンス502の forNam
e()メソッドを呼び出す。
【0048】ステップ4において forName()メソッドは
ClassPathベクトル503を利用してサーバ・サイト5
04及びユーザ・サイト505(それぞれ、矢印4a及
び4bによって表示)をサーチし、指定のコーデック・
クラスを突き止める。ステップ5において、Classイン
スタンス502の forName()メソッドがコーデック・ク
ラスに関する Class記述子を CodecFactoryインスタン
ス501の getCodecClass()メソッドにリターンする。
ステップ6において、Class記述子が createCodec()メ
ソッドにリターンされる。
【0049】ステップ7において、提示されたコーデッ
ク・クラスのインスタンスを作成するために createCod
ec()メソッドが Class 記述子において newInstance()
メソッドを呼び出す。ステップ8a(又は8b)におい
て、newInstance()メソッドはクラス・ローダを利用し
てサーバ・サイト504(又はユーザ・サイト505)
にアクセスし、ステップ9a(又は9b)における仮想
マシンへのコーデック・クラスのダウンロード(又はロ
ード)を容易にする。ステップ10において、newInsta
nce()メソッドはコーデック・クラス・インスタンスを
CodeFactoryインスタンス501の createCodec()メソ
ッドにリターンし、さらに、ステップ11において、cr
eateCodec()メソッドがコーデック・クラス・インスタ
ンスをプレイヤ500にリターンする。
【0050】[コンピュータ実行環境の実施例(ハード
ウェア)]本発明の実施例は図6に示すコンピュータ6
00のような汎用コンピュータで実行されるコンピュー
タ読み取り可能プログラム・コードの形、あるいはこう
したコンピュータにおける仮想マシンによって実行可能
なバイト・コード・クラスファイルの形、をとるコンピ
ュータ・ソフトウェアとして実施可能である。キーボー
ド610及びマウス611が双方向システム・バス61
8に結合されている。キーボード及びマウスはユーザ入
力をコンピュータ・システムに導入し、そのユーザ入力
を中央演算処理装置(Central processing Unit:CP
U)613に伝達するためのものである。マウス611
及びキーボード610に加えて、又はそれらの代わり
に、他の適合する入力装置を利用することも可能であ
る。双方向システム・バス618に結合されたI/O
(入力/出力)装置619はプリンタ、A/V(オーデ
ィオ/ビデオ)I/O等に相当する。
【0051】コンピュータ600にはキーボード61
0,マウス611,及びCPU613と共に、全てが双
方向システム・バス618に結合されたビデオ・メモリ
614,主メモリ615,及び大容量保存装置612が
含まれている。大容量保存装置612には磁気,光,又
は光磁気保存システムのような固定媒体及び取り外し可
能媒体の両方、あるいは他の利用可能な大容量保存テク
ノロジを含めることが可能である。バス618には例え
ば、ビデオ・メモリ614又は主メモリ615にアドレ
スするために32のアドレス・ラインを含むことができ
る。システム・バス618には例えば、CPU613,
主メモリ615,ビデオ・メモリ614,及び大容量保
存装置612の間でデータ転送を行うため、32ビット
・データ・バスも含まれる。代替案では別個のデータ・
ライン及びアドレス・ラインの代わりに、多重データ/
アドレス・ラインを利用することも可能である。
【0052】本発明の実施例の1つでは、CPU613
は680X0プロセッサのような Motorola(R)のマイク
ロプロセッサ,又は80X86のような Intel(R)のマ
イクロプロセッサ又は Pentium(R)プロセッサ,又は Su
n Microsystems(R)の SPARC(R)マイクロプロセッサであ
る。しかし、他の適合するどのようなマイクロプロセッ
サ又はマイクロコンピュータを利用することが可能であ
る。主メモリ615はダイナミック・ランダム・アクセ
ス・メモリ(Dynamic Random Access Memory:DRA
M)から構成される。ビデオ・メモリ614はデュアル
・ポートのビデオ・ランダム・アクセス・メモリであ
る。ビデオ・メモリ614の一方のポートはビデオ増幅
器616に結合される。ビデオ増幅器616は陰極線管
(Cathode Ray Tube:CRT)ラスタ・モニタ617を
駆動するために利用される。ビデオ増幅器616は当該
技術において周知のところであり、任意の適合する装置
によって実施可能である。この回路要素はビデオ・メモ
リ614に保存されているピクセル・データをモニタ6
17による利用に適したラスタ信号に変換する。モニタ
617はグラフィック・イメージの表示に適したタイプ
のモニタである。
【0053】コンピュータ600にはバス618に結合
された通信インターフェイス620を含むことも可能で
ある。通信インターフェイス620はネットワーク・リ
ンク621を介してローカル・ネットワーク622に結
合する2方向データ通信を提供する。例えば、通信イン
ターフェイス620が統合デジタル・サービス・ネット
ワーク(Integrated Services Digital Network:ISD
N)カード又はモデムである場合、ネットワーク・リン
ク621の一部を構成する対応するタイプの電話回線と
のデータ通信接続を提供する。通信インターフェイス6
20がローカル・エリア・ネットワーク(Local Area N
etwork:LAN)・カードである場合、ネットワーク6
21を介して互換性のあるLANとのデータ通信接続を
提供する。無線(wireless)リンクも可能である。こうし
た実施例の場合、通信インターフェイス620はさまざ
まなタイプの情報を表すデジタル・データ・ストリーム
を伝達する電気信号,電磁気信号,又は光信号の送受信
を行う。
【0054】ネットワーク・リンク621は一般に1つ
以上のネットワークを介した他のデータ装置とのデータ
通信を可能にする。例えば、ネットワーク・リンク62
1はローカル・ネットワーク622を介してホスト・コ
ンピュータ623又はインターネット・サービス・プロ
バイダ(Internet Service Provider:ISP)624に
よって操作されるデータ装置に対する接続を提供する。
ISP624はさらに、現在一般に「インターネット」
625と呼ばれる世界的規模のパケット・データ通信ネ
ットワークを介したデータ通信サービスを提供する。ロ
ーカル・ネットワーク622及びインターネット625
は両方とも、デジタル・データ・ストリームを伝送する
電気信号,電磁信号,又は光信号を利用する。各種ネッ
トワークを介した信号及びネットワーク・リンク621
における通信インターフェイス620を介した信号はコ
ンピュータ600に又は/コンピュータ600からデジ
タルデータを伝送し、情報を転送する搬送波の典型的な
形態である。
【0055】コンピュータ600はネットワーク,ネッ
トワーク・リンク621,及び通信インターフェイス6
20を介してプログラム・コードを含むメッセージを送
り、データを受け取ることができる。インターネットの
例ではサーバ626はインターネット625,ISP6
24,ローカル・ネットワーク622,及び通信インタ
ーフェイス620を介してアプリケーション・プログラ
ムに必要なコードを転送することが可能である。本発明
によれば、こうしたダウンロード・アプリケーションの
1つが本明細書に記載のソフトウェア・プラグイン・コ
ンポーネントを提供するための装置である。
【0056】受け取られたコードはCPU613によっ
て受け取られたまま実行され及び/又は後の実行に備え
て大容量保存装置612又は他の不揮発性保存装置に保
存されることが可能である。こうして、コンピュータ6
00は搬送波の形でアプリケーション・コードを取得す
ることが可能になる。
【0057】上述のコンピュータ・システムは単なる例
示を目的としたものにすぎない。本発明の実施例はどの
ようなタイプのコンピュータ・システム又はプログラミ
ング又は処理環境においても実施することが可能であ
る。
【0058】以上のように、1つ以上の特定の実施例に
関連してプラグイン・メディアデコーダを実現するため
の方法及び装置の説明を行ってきた。本発明は請求項及
びその同等物の全範囲によって定義される。
【0059】 [付録A] Class Hierarchy class java.lang.Object interface com.sun.media.Codec interface com.sun.media.CodecOutput class com.sun.media.Data interface com.sun.media.Format class com.sun.media.MediaCodec (implements com.sun.media.Codec) class com.sun.media.MediaFrameCodec class com.sun.media.MediaFormat (implements com.sun.media.Format) -------------------------------------------------------------------
【0060】 Interface com.sun.media.Codec public interface Codec Codecインターフェイスはエンコーデッド/コンプレスドオーディオ又はビデ オ・データをレンダリング・ノード又は装置が理解できるフォーマットに変換す るため、コーデックが実施する必要のある1セットのメソッドを宣言する。 -------------------------------------------------------------------
【0061】 [Method Index]・ checkFormat(Data) このメソッドはdecode()をコールして入力データが予定される現在の入力フォ ーマットと整合することを確認する前にフレームワークによって呼び出される。・ decode(Data) このメソッドは実際のデータ変換を実行する。・ getInputFormat() コーデックが予定している入力データのフォーマットをリターンする。・ getMaxScale() コーデックがサポート可能な最大スケーリング・ファクタをリターンする。・ getMinScale() コーデックがサポート可能な最小スケーリング・ファクタをリターンする。・ getOutputFormat() decode(...)のコール後にコーデックによって生じる出力のフォーマットをリ ターンする。・ getScale() 現在のスケーリング・ファクタをリターンする。・ initialize(CodecOutput) コーデックをイニシャライズする。・ SetScale(float) 現在のスケーリング・ファクタを設定する。
【0062】 [Method]・ initialize public abstract boolean initialize(CodecOutput output) コーデックをイニシャライズする。コーデックをその出力にコネクトする。 Parameters: output-output of the codec. Returns: true if it's successful.
【0063】・ decode public abstract boolean decode(Data inData) このメソッドは実際のデータ変換を行う。何らかの理由で変換が失敗する と、偽をリターンする。 Parameters: inData-input data. Returns: true if decoding is successful.
【0064】・ checkformat public abstract boolean checkFormat(Data inData) このメソッドは decode()がコールされて入力データが現在予定されている 入 力フォーマットに整合することを確認する前にフレームワークにより呼び出 される。 フォーマット変更を扱えるコードの場合、これはコーデックが入力データを 一瞥し、実際にそのデータを decode()でデコーディングするまでにデコー ディングフォーマットを変更することが可能になる箇所である。 Parameters: inData-the input data. Returns: true if the given data is of the expected input format; false if the give data does not have the right input format.
【0065】・ getInputFormat public abstract Format getInputFormat() コーデックが予定している入力データのフォーマットをリターンする。 See Also: decode
【0066】・ getOutputFormat public abstract Format getOutputFormat() decode(...)に対する呼び出し後、コーデックによって生じる出力のフォー マットをリターンする。 See Also: decode
【0067】・ getMinScale public abstract float getMinScale() コーデックがサポート可能な最小スケーリング・ファクタをリターンする。 Returns: the (linear)scaling factor.
【0068】・ getMaxScale public abstract float getMaxScale() コーデックがサポート可能な最大スケーリング・ファクタをリターンする。 Returns: the (linear)scaling factor.
【0069】・ getScale public abstract float getScale() 現在のスケーリング・ファクタをリターンする。 Returns: the (linear)scaling factor.
【0070】・ setScale public abstract float setScale(float scale) 現在のスケーリング・ファクタをセットする。 Returns: the (linear)scaling factor set. -------------------------------------------------------------------
【0071】 ------------------------------------------------------------------- Interface com.sun.media.CodecOutput public interface CodecOutput コーデックからのインターフェースを抽象化する。 -------------------------------------------------------------------
【0072】 [Method Index]・ decodeFailureUpdate(Data) "frame" のデコーディングが失敗したときコールされる。・ decodeUpdate(Data) "frame" のデコーディングがなされされるたときコールされる。・ getOutputBuffer(Format) デコーディングビットを保持するために出力バッファをゲットする。・ tryGetOutputBuffer(Format) getOutputBuffer のブロックされないバージョンをゲットする。
【0073】 [Methods}・ getOutputBuffer public abstract Data getOutputBuffer(Format fmt) 出力バッファにデコーディングビットを保持せよ。要求された出力バッファ が利用可能になるまでブロックする。 Parameters: fmt - specifies the format of the buffer requested. Returns: the buffer.
【0074】・ tryGetOutputBuffer public abstract Data tryGetOutputBuffer(Format fmt) getOutputBuffer のブロックされないバージョンをゲットする。 Parameters; fmt - specifies the format of the buffer requested. Returns: the buffer.
【0075】・ decodeUpdata "frame" のデコーディングがなされされるたときコールされる。 Parameters: decoded - the decoded "frame".
【0076】・ decodeFailureUpdate public abstract void decodeFailureUpdate(Data decoded) "frame" のデコーディングが失敗したときコールされる。 Parameters: decoded - the buffer to be returned back to the pool of buffers. -------------------------------------------------------------------
【0077】 Class com.sun.media.Data java.lang.Object | +----com.sun.media.Data
【0078】 ------------------------------------------------------------------- public abstract class Data extends Object オーディオ/ビデオ・データに関する基本クラス。 -------------------------------------------------------------------
【0079】 [Variable Index}・ duration・ EOM getLength() == EOM signifies the last chunk of data from the media.・ presentationTime
【0080】 [Constructor Index]・ Data()
【0081】 [Method Index]・ getBuffer() 内部バッファを回復する。・ getBufferSize()・ getDiscard() データを廃棄すべきか否かを指示する。・ getDuration()・ getFormat()・ getLength()・ getPresentationTime()・ setDiscard(boolean) データを廃棄すべきか否かをセットする。・ setDuration(long) データの存続期間をセットする。・ setFormat(Format) データのフォーマットをセットする。・ setLength(int) バイトアレイに保存されるデータの長さをマークする。・ setPresentationTime(long) メディアデータのこの特定のセグメントに関する提示時間を設定する。
【0082】 [Variables]・ presentationTime protected long presentationTime
【0083】・ duration protected long duration
【0084】・ EOM public static final int EOM getLength() == EOM signifies the last chunk of data from the media.
【0085】 [Constructors]・ Data public Data()
【0086】 [Methods]・ getFormat public abstract Format getFormat() Returns: the data format.
【0087】・ setFormat public abstract boolean setFormat(Format f) set data format.
【0088】・ getBuffer public abstract Object getBuffer() 内部バッファの回復。オブジェクトがリターンされる。byte[]又は int[]であ り 得る。"instanceof"が発見に用いられる。 Returns: the buffer object.
【0089】・ getBufferSize public abstract int getBufferSize() Returns: the size of the buffer.
【0090】・ getLength public abstract int getLength() Returns: the length of data stored in the byte array. EOM if it's the last chunk of data from the media.
【0091】・ setLength public abstract void setLength(int l) バイト・アレイに保存されるデータ長をマークする。 Parameters: 1 - length of the data.
【0092】・ getPresentationTime public long getPresentationTime() Returns: the presentation time of this particular segment of media data.
【0093】・ setPresentationTime public void setPresentationTime(long t) メディアデータのこの特定のセグメントに関する提示時間を設定する。 Parameters: t - the presentation time.
【0094】・ getDuration public long getDuration() Returns: the duration of this data.
【0095】・ setDuration public void setDuration(long duration) データの存続期間をセットする。 Parameters: duration - the media duration.
【0096】・ setDiscard public void setDiscard(boolean f) データを廃棄すべきか否かを設定する。
【0097】・ getDiscard public boolean getDiscard() データを廃棄すべきか否かを指示する。 -------------------------------------------------------------------
【0098】 Interface com.sun.media.Format public abstract interface Format フォーマットのネゴシエーションを可能にする操作。既定のセットから値をと ることが可能な属性の集合として、メディアデータを記述するのが普通である。 例えば、オーディオ・データはサンプル・レートが浮動少数点として表現される 場合が多い。特定の属性に関して可能性のある値の広い範囲にわたってメディア データを操作可能なものとして、メディア装置及びメディア処理を記述するのも 一般的である。したがって、オーディオ・レンダラは8000〜48000の範 囲の任意のサンプル・レートでオーディオ・データを受け入れることが可能であ る。フォーマット・インターフェイスによればメディアデータを記述するオブジ ェクト間におけるネゴシエーションを容易にする方法が得られる。 -------------------------------------------------------------------
【0099】 [Method Index]・ match(Format) 引数に適合するフォーマットをリターンする。
【0100】 [Methods]・ match public abstract Format match(Format other) 引数に適合するフォーマットをリターンする。このフォーマットが、フォー マットに適合するオブジェクトを見つけることができない場合、null がリ タ ーンされる。 Note: match is not commutative. Parameters: other - The format to attempt to match to. -------------------------------------------------------------------
【0101】 Class com.sun.media.MediaCodec java.lang.Object | +----com.sun.media.MediaCodec -------------------------------------------------------------------
【0102】 public abstract class MediaCodec extends Object implements Codec これはエンコーデッド/コンプレスドオーディオ又はビデオ・データをレンダリ ング・ノード又は装置が理解できるフォーマットに変換する、codecインターフ ェースのインプリメンテーション・ベース・クラスである。 -------------------------------------------------------------------
【0103】 [Constructor Index]・ MediaCodec()・ MediaCodec(CodecOutput)
【0104】 [Method Index]・ checkFormat(Data) このメソッドは、decode()をコールして、入力データが現在予定される入力 フォーマットと整合することを確認する前に、フレームワークによって呼び 出される。・ decode(Data) 入力されたビットをデコードする。・ decodeFailureUpdate(Data) "frame"のデコーディングが失敗したときにこれをコールする。・ decodeUpdate(Data) "frame"のデコーディングが行われ、そのデコードされ"frame"がレンダリン グ・ノードにおくときにこれをコールする。・ getInputFormat() コーデックを予定する入力データのフォーマットをリターンする。・ getMaxScale() コーデックがサポートできる最大スケーリング・ファクタをリターンする。・ getMinScale() コーデックがサポートできる最小スケーリング・ファクタをリターンする。・ getOutputBuffer(Format) ダウンストリーム・ノードからの出力バッファをゲットする。・ getOutputFormat() (...)をデコードするコールの後コーデックにより作り出された出力のフォ ー マットをリターンする。・ getScale() 現行スケーリングファクタをリターンする。・ initialize(CodecOutput)・ setScale(float) 現行スケーリングファクタをセットする。・ tryGetOutputBuffer(Format) getOutputBuffer の non-blocking version。
【0105】 [Constructors]・ MediaCodec public MediaCodec()
【0106】・ MediaCodec public MediaCodec(CodecOutput o)
【0107】 [Methods]・ initialize public boolean initialize(CodecOutput n)
【0108】・ decode public abstract boolean decode(Data inData) 入力ビットをデコーディングする。"frame"が完全にデコーディングされる と、 notifyFrame()をコールする。 Parameters: inData - input compressed data. Returns: whether the decoding is successful or not.
【0109】・ checkFormat public boolean checkFormat(Data inData) このメソッドは、decode()をコールして、入力データが現在予定される入力 フォーマットと整合することを確認する前に、フレームワークによって呼び 出される。フォーマット変更を処理可能なコーデックの場合、これは、コー デックが入力データを一瞥し、実際にそのデータをdecode(in,out)でデコー ディングする前にデコーディングフォーマットを変更することが可能になる 箇所である。 Parameters: inData - the input data. Returns: true if the given data is of the expected input format.
【0110】・ getInputFormat public abstract Format getInputFormat() コーデックが予定している入力データのフォーマットをリターンする。 See Also: decode
【0111】・ getOutputFormat public abstract Format getOutputFormat() decode(...)に対するコール後、コーデックによって生じる出力のフォーマ ットをリターンする。 See Also: decode
【0112】・ getMinScale public float getMinScale() コーデックがサポート可能な最小スケーリング・ファクタをリターンする。 Returns: the (linear) scaling factor.
【0113】・ getMaxScale public float getMaxScale() コーデックがサポート可能な最大スケーリング・ファクタをリターンする。 Returns: the (linear) scaling factor.
【0114】・ getScale public float getScale() 現在のスケーリング・ファクタをリターンする。 Returns: the (linear) scaling factor.
【0115】・ setScale public float setScale(float scale) 現在のスケーリング・ファクタを設定する。 Returns: the (lineas) scaling factor set.
【0116】・ getOutputBuffer protected Data getOutputBuffer(Format fmt) 下流ノードから出力バッファを取得する。これは、実際のコーデック・イン プリメンテーションのため MediaCodec のサブクラスによって用いられるユ ーティリティ・メソッドである。 Parameters: fmt - specifies the format of the buffer requested. Returns: the buffer.
【0117】・ tryGetOutputBuffer protected Data tryGetOutputBuffer(Format fmt) getOutputBufferの non-blocking バージョンである。これは、実際のコー デ ック・インプリメンテーションのため MediaCodec のサブクラスによって 用 いられるユーティリティ・メソッドである。 Parameters: fmt - specifies the format of the buffer requested. Returns: the buffer.
【0118】・ decodeUpdate protected void decodeUpdate(Data decoded) "frame"のデコーディングが行われ、デコーディングされた"frame"をレンダ リング・ノードにputする際にこれをコールする。これは実際のコーデック イ ンプリメンテーションのための MediaCodec のサブクラスにより用いられ る ユーティリティ・メソッドである。 Parameters: decoded - the decoded "frame".
【0119】・ decodeFailureUpdate protected void decodeFailureUpdate(Data decoded) "frame"のデコーディングが失敗すると、これをコールする。これは実際の コ ーデック・インプリメンテーションのため MediaCodec のサブクラスによ っ て用いられるユーティリティ・メソッドである。 Parameters: decoded - the buffer to be returned back to the renderer. -------------------------------------------------------------------
【0120】 Class com.sun.media.MediaFrameCodec java.lang.Object | +----com.sun.media.MediaCodec | +----com.sun.media.MediaFrameCodec -------------------------------------------------------------------
【0121】 public abstract class MediaFrameCodec extends MediaCodec 圧縮データの"frame"をデコンプレッションデータの"frame"にデコーディング するインプリメンテーション・クラスである。"frame"は"video frame"をあらわ さなくともよい。それは単なる論理的データ単位にすぎない。 -------------------------------------------------------------------
【0122】 [Constructor Index]・ MediaFrameCodec()・ MediaFrameCodec(CodecOutput)
【0123】 [Method Index]・ allowDropFrame(boolean) フレームをドロップする機構をオン/オフする。
【0124】・ decode(Data) コンプレスドデータの塊でフレーム・ワークをコールする。 ・ decode(Data, Data) デコーディング作業のためにこれを実現する。
【0125】 [Constructors]・ MediaFrameCodec public MediaFrameCodec()
【0126】・ MediaFrameCodec public MediaFrameCodec(CodecOutput o)
【0127】 [Methods]・ decode public abstract boolean decode(Data in, Data out) これを実施して、実デコーディング作業を行う。 Parameters: in - input compressed data. out - output compressed data. Returns: true if the decoding is successful.
【0128】・ allowDropFrame public void allowDropFrame(boolean on) フレームをドロップする機構をオン/オフする。ドロップ・フレームがオン の場合、システムは、フレームが提示されるには遅すぎると、フレームをド ロップする決定を下す。こうした場合、フレームは、decode()ファンクショ ンに到達しない。これを利用するか否かは、コーデック・ライタに委ねられ る。その利点は、コンピュータ集約コーデックの場合、ともかく提示されな ければ、遅延フレームを処理する必要がなくなるという点である。それによ って、かなりのCPUサイクルの節約になる。これは、ドロップ・フレーム をうまく処理することのできないコーデックの場合にはうまく機能しない。 Parameters: on - turn on/off the frame dropping code.
【0129】・ decode public boolean decode(Data inData) コンプレスドデータの塊でフレーム・ワークによってコールする。 Parameters: inData - input compressed data. Returns: true if the decoding is successful. Overrides: decode in class MediaCodec -------------------------------------------------------------------
【0130】 Class com.sun.media.MediaFormat java.lang.Object | +----com.sun.media.MediaFormat -------------------------------------------------------------------
【0131】 public abstract class MediaFormat extends Object implements Format -------------------------------------------------------------------
【0132】 [Constructor Index]・ MediaFormat()
【0133】 [Method Index]・ clone()・ getCodec()・ getDuration()・ match(Format)・ normalizeCodecName(String)
【0134】 [Constructors]・ MediaFormat public MediaFormat()
【0135】 [Methods]・ match public Format match(Format other)
【0136】・ clone public abstract Object clone() Overrides: clone in class Object
【0137】・ getDuration public abstract long getDuration()
【0138】・ getCodec public abstract String getCodec()
【0139】・ normalizeCodecName public static String normalizeCodecName(String codec) -------------------------------------------------------------------
【図面の簡単な説明】
【図1】先行技術のネットワーク化マルチメディア・シ
ステムのブロック図である。
【図2】本発明の実施例によるネットワーク化マルチメ
ディア・システムのブロック図である。
【図3】メディア・アプリケーションにおけるメディア
処理パイプラインのブロック図である。
【図4】本発明の実施例に従ってプラグイン・メディア
デコーダを実現するための方法に関するフローチャート
である。
【図5】本発明の実施例に従ってコーデック・インスタ
ンスを作成するためのソフトウェア・オブジェクト装置
のブロック図である。
【図6】本発明の実施例に適した実行環境をもたらすこ
との可能なコンピュータ・システムの実施例に関するブ
ロック図である。
【符号の説明】 100 ユーザ・コンピュータ・システム 101 持続型保存装置 102 プラグイン・ライブラリ 103 実行スペース 104 メディア・アプリケーション 105 ネットワーク 106 サーバ 108 データファイル 108’JPEGデータファイル 109 データファイル 109’PCMデータファイル 111 プラグインJPEGデコーダ 111’プラグイン・デコーダ 112 プラグインPCMデコーダ 112’プラグイン・デコーダ 113 プラグイン・デコーダ 301 特定プロトコル・ネットワーク・パケット・デ
ータ 302 パーサ 303 コンプレスド及び/又はコーデッドメディア・
データファイル又はストリーム 304 デコーダ 305 メディアデータ 306 レンダラ 307 メディア出力 308 出力装置 600 コンピュータ 610 キーボード 611 マウス 612 大容量保存装置 613 中央処理装置 614 ビデオ・メモリ 615 主メモリ 616 ビデオ増幅器 617 CRTラスタ・モニタ 618 双方向システム・バス 619 I/O装置 620 通信インターフェイス 621 ネットワーク・リンク 622 ローカル・ネットワーク 623 ホスト・コンピュータ 624 ISP 625 インターネット
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ジーザス デイビッド ライバス アメリカ合衆国 94123 カリフォルニア 州 サン フランシスコ,#204,ビーチ ストリート 1990 (72)発明者 アミス ヤマサニ アメリカ合衆国 94060 カリフォルニア 州 マウンテン ビュー,#18,ラサム ストリート 2245

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 発信元位置からネットワークに、アプリ
    ケーションによって処理されるデータをダウンロードす
    るステップと;前記データのデータタイプを判定するス
    テップと;前記データタイプに関連したプラグイン・デ
    コーダクラスを判定するステップと;前記プラグイン・
    デコーダクラスのために前記発信元位置の持続型保存装
    置をサーチするステップと;前記持続型保存装置から前
    記アプリケーションに前記プラグイン・デコーダクラス
    をロードするステップ;が含まれている:プラグイン・
    デコーダを提供する方法。
  2. 【請求項2】 前記データタイプを判定する前記ステッ
    プに前記データに関連したヘッダ情報を解析するステッ
    プが含まれる請求項1の方法。
  3. 【請求項3】 前記プラグイン・デコーダクラスを判定
    する前記ステップに前記データタイプからデコーダクラ
    ス名を判定するステップが含まれる請求項1の方法。
  4. 【請求項4】 前記持続型保存装置をサーチする前記ス
    テップに:クラス・パス・ベクトルから前記発信元位置
    のパス名を判定するステップと;前記パス名に基づいて
    前記持続型保存装置におけるディレクトリをサーチする
    ステップ;が含まれる請求項1の方法。
  5. 【請求項5】 前記持続型保存装置をサーチし前記プラ
    グイン・デコーダクラスをロードする前記ステップが、
    ファクトリ・クラスのインスタンスの少なくとも1つの
    メソッド内において実施されることと;前記少なくとも
    1つの方法が前記アプリケーションによって呼び出され
    る:請求項1の方法。
  6. 【請求項6】 第1のコンピュータにおいて実行される
    アプリケーションと;前記アプリケーションに関するデ
    ータ,及び前記データのデータタイプに関連したプラグ
    イン・コンポーネントを含む第2のコンピュータにおけ
    る持続型保存装置と;前記第2のコンピュータから前記
    アプリケーションに前記プラグイン・コンポーネントを
    ロードするように構成された前記第1のコンピュータに
    おいて実行されるコンピュータ・コード;が含まれてい
    るプラグイン・コンポーネントを提供するための装置。
  7. 【請求項7】 前記プラグイン・コンポーネントがコー
    デックである請求項6の装置。
  8. 【請求項8】 前記アプリケーションが前記データから
    前記データタイプを判定するように構成されている請求
    項6の装置。
  9. 【請求項9】 前記アプリケーションが前記データタイ
    プから前記プラグイン・コンポーネント名を判定する:
    ように構成されている請求項8の装置。
  10. 【請求項10】 前記コンピュータ・コードが前記アプ
    リケーションによって提供される前記名に基づいて前記
    プラグイン・コンポーネントのために前記持続型保存装
    置をサーチする:ように構成されている請求項9の装
    置。
  11. 【請求項11】 前記コンピュータ・コードが前記第2
    のコンピュータにおけるディレクトリのパス名を含むク
    ラス・パス・ベクトルを利用して前記サーチを実施す
    る;ように構成されている請求項10の装置。
  12. 【請求項12】 プラグイン・コンポーネントを提供す
    るために実施されるコンピュータ読み取り可能プログラ
    ム・コードを備えたコンピュータ利用可能メディアが含
    まれており;前記コンピュータ・プログラム製品に、 コンピュータに、アプリケーションによって処理される
    データを発信元位置からネットワークにダウンロードさ
    せるように構成されたコンピュータ読み取り可能プログ
    ラム・コードと;コンピュータに、前記データのデータ
    タイプを判定させるように構成されたコンピュータ読み
    取り可能プログラム・コードと;コンピュータに前記デ
    ータタイプに関連したプラグイン・コンポーネントを判
    定させるように構成されたコンピュータ読み取り可能プ
    ログラム・コードと;コンピュータに前記発信元位置に
    おける持続型保存装置のサーチを含む前記プラグイン・
    コンポーネントを求めるサーチを行わせるように構成さ
    れたコンピュータ読み取り可能プログラム・コードと;
    コンピュータに前記プラグイン・コンポーネントを前記
    アプリケーションにロードさせるように構成されたコン
    ピュータ読み取り可能プログラム・コード;が含まれる
    コンピュータ・プログラム製品。
  13. 【請求項13】 前記プラグイン・コンポーネントがコ
    ーデックである請求項12に記載のコンピュータ・プロ
    グラム製品。
  14. 【請求項14】 コンピュータに前記データタイプを判
    定させるように構成された前記コンピュータ読み取り可
    能プログラム・コードにコンピュータに前記データに関
    連したヘッダ情報を解析させるように構成されたコンピ
    ュータ読み取り可能プログラム・コードが含まれる:請
    求項12のコンピュータ・プログラム製品。
  15. 【請求項15】 コンピュータに前記プラグイン・コン
    ポーネントを判定させるように構成された前記コンピュ
    ータ読み取り可能プログラム・コードにコンピュータに
    前記データタイプからプラグイン・コンポーネント名を
    判定させるように構成されたコンピュータ読み取り可能
    プログラム・コードが含まれる:請求項12のコンピュ
    ータ・プログラム製品。
  16. 【請求項16】 コンピュータに前記プラグイン・コン
    ポーネントを求めてサーチさせるように構成された前記
    コンピュータ読み取り可能プログラム・コードに、さら
    に;コンピュータにクラス・パス・ベクトルから前記発
    信元位置のパス名を判定させるように構成されたコンピ
    ュータ読み取り可能プログラム・コードと;コンピュー
    タに前記パス名に基づいて前記発信元位置における前記
    持続型保存装置のディレクトリサーチさせるように構成
    されたコンピュータ読み取り可能プログラム・コード;
    が含まれている請求項12のコンピュータ・プログラム
    製品。
  17. 【請求項17】 搬送波によって実施化され;プロセッ
    サによる実行時にアプリケーションによって処理される
    データを発信元位置からネットワークにダウンロードす
    るステップと;前記データのデータタイプを判定するス
    テップと;前記データタイプに関連したプラグイン・コ
    ンポーネントを判定するステップと;前記発信元位置に
    おける持続型保存装置のサーチを含む前記プラグイン・
    コンポーネントを求めるサーチを行うステップと;前記
    プラグイン・コンポーネントを前記アプリケーションに
    ロードするステップを行うことによって;前記プロセッ
    サによってプラグイン・コンポーネントが提供されるこ
    とになる指示シーケンスを表した:コンピュータ・デー
    タ信号。
  18. 【請求項18】 前記プラグイン・コンポーネントがコ
    ーデックである請求項17のコンピュータ・データ信
    号。
  19. 【請求項19】 前記データタイプを判定する前記ステ
    ップに前記データに関連したヘッダ情報を解析するステ
    ップが含まれる:請求項17のコンピュータ・データ信
    号。
  20. 【請求項20】 前記プラグイン・コンポーネントを判
    定するステップに:前記データタイプからプラグイン・
    コンポーネント名を判定するステップが含まれる:請求
    項17に記載のコンピュータ・データ信号。
  21. 【請求項21】 前記プラグイン・コンポーネントを求
    める前記サーチステップに、さらに;クラス・パス・ベ
    クトルから前記発信元位置のパス名を判定するステップ
    と;前記パス名に基づいて前記発信元位置における前記
    耐久性保存装置のディレクトリをサーチするステップが
    含まれる:請求項17のコンピュータ・データ信号。
JP10343526A 1997-10-27 1998-10-27 プラグインメディアデコ―ダ供給方法及び装置 Pending JPH11259304A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/958,622 1997-10-27
US08/958,622 US6216152B1 (en) 1997-10-27 1997-10-27 Method and apparatus for providing plug in media decoders

Publications (1)

Publication Number Publication Date
JPH11259304A true JPH11259304A (ja) 1999-09-24

Family

ID=25501117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10343526A Pending JPH11259304A (ja) 1997-10-27 1998-10-27 プラグインメディアデコ―ダ供給方法及び装置

Country Status (3)

Country Link
US (2) US6216152B1 (ja)
EP (1) EP0911728A1 (ja)
JP (1) JPH11259304A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038970A (ja) * 2002-06-28 2004-02-05 Microsoft Corp マルチメディアデータを利用するためのアプリケーションプログラミングインタフェース
US6853960B2 (en) 2002-04-22 2005-02-08 Mitsubishi Denki Kabushiki Kaisha Communications apparatus, communication system, plug-in module control method, and computer-readable recording medium where program for executing by computer is recorded
JP2006025436A (ja) * 1998-03-16 2006-01-26 Intertrust Technologies Corp メディア・コンテンツの連続制御および保護のための方法および装置
JP2006512689A (ja) * 2003-01-02 2006-04-13 トムソン ライセンシング 受信サービスに関して行われる限定的実行決定並びに当該サービス及び関連する製品に関する情報メッセージの生成のための装置並びに方法
JP2006244471A (ja) * 2005-03-04 2006-09-14 Microsoft Corp コマンドラインデータ型の検出および変換
JP2007509411A (ja) * 2003-10-24 2007-04-12 マイクロソフト コーポレーション データ駆動型コマンドライン出力を提供する機構
JP2008542855A (ja) * 2005-04-26 2008-11-27 マイクロソフト コーポレーション 音声/映像コーデックを抽象化するためのシステム
JP2009528647A (ja) * 2006-03-03 2009-08-06 マイクロソフト コーポレーション 配信コンテンツ用補助表示ガジェット
JP2010288301A (ja) * 2002-06-04 2010-12-24 Qualcomm Inc ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
JP2012516506A (ja) * 2009-01-29 2012-07-19 クゥアルコム・インコーポレイテッド デバイスへのオーディオ処理能力の動的供給
JP2012146023A (ja) * 2011-01-07 2012-08-02 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP2012521157A (ja) * 2009-03-16 2012-09-10 マイクロソフト コーポレーション 拡張可能なメディア形式を持つホスト型アプリケーションプラットフォーム
JP2012521723A (ja) * 2009-03-23 2012-09-13 オンライブ インコーポレイテッド 一時的デコーダ装置及び方法
JP2022539798A (ja) * 2019-07-05 2022-09-13 上海交通大学 メディア処理方法

Families Citing this family (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6339782B1 (en) * 1997-11-21 2002-01-15 International Business Machines Corporation Persistence mechanism and method for objects
DE19806237B4 (de) * 1998-02-16 2005-05-25 Sennheiser Electronic Gmbh & Co. Kg Transportables EDV-System zur Kommunikation mit mindestens einem zweiten EDV-Sysytem
EP0955577B1 (en) * 1998-05-04 2011-11-30 International Business Machines Corporation Method and device for creating an object in a non-persistent memory and/or keeping accessibility to said object
DE69941142D1 (de) * 1998-05-06 2009-09-03 Sun Microsystems Inc Verarbeitungsmaschine und verarbeitungsverfahren
EP1039378A3 (en) 1999-03-01 2004-04-21 Canon Kabushiki Kaisha Improvements in object-oriented computer processing
US7283991B1 (en) * 1999-03-11 2007-10-16 Microsoft Corporation Caching system for path search optimization
EP1188291B1 (en) * 1999-06-11 2005-04-27 Microsoft Corporation General api for remote control of devices
WO2001011466A2 (en) * 1999-08-11 2001-02-15 Ethos Technologies, Inc. Download manager
US6463445B1 (en) * 1999-08-27 2002-10-08 Sony Electronics Inc. Multimedia information retrieval system and method including format conversion system and method
US7188186B1 (en) * 1999-09-03 2007-03-06 Meyer Thomas W Process of and system for seamlessly embedding executable program code into media file formats such as MP3 and the like for execution by digital media player and viewing systems
US6889100B1 (en) * 1999-09-09 2005-05-03 International Business Machines Corporation Method and system for remote Java audio server in a heterogeneous distributed environment
DE60023433T2 (de) * 1999-12-23 2006-05-24 Nortel Networks Ltd., St. Laurent System und Verfahren zur dynamischen Modell-Ladung
US7080386B2 (en) * 2000-01-25 2006-07-18 Texas Instruments Incorporated Architecture with digital signal processor plug-ins for general purpose processor media frameworks
KR100671920B1 (ko) * 2000-04-20 2007-01-23 산요덴키가부시키가이샤 복호 장치
US7649943B2 (en) * 2000-04-21 2010-01-19 Microsoft Corporation Interface and related methods facilitating motion compensation in media processing
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
US6940912B2 (en) * 2000-04-21 2005-09-06 Microsoft Corporation Dynamically adaptive multimedia application program interface and related methods
US7634011B2 (en) 2000-04-21 2009-12-15 Microsoft Corporation Application program interface (API) facilitating decoder control of accelerator resources
AU2001263140A1 (en) * 2000-05-17 2001-11-26 Smart Modular Technologies, (Ma) Fee management for programming of electronic devices
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US20030196109A1 (en) 2000-08-28 2003-10-16 Contentguard Holdings, Inc. Method and apparatus for content transaction aggregation
US20020026521A1 (en) * 2000-08-31 2002-02-28 Sharfman Joshua Dov Joseph System and method for managing and distributing associated assets in various formats
US6804707B1 (en) * 2000-10-20 2004-10-12 Eric Ronning Method and system for delivering wireless messages and information to personal computing devices
US7389361B2 (en) * 2000-12-22 2008-06-17 Research In Motion Limited Web browser of wireless device having serialization manager for maintaining registry of converters that convert data into format compatible with user interface of the device
US6785885B2 (en) * 2000-12-28 2004-08-31 Intel Corporation Mechanism for automatically securing licensing for unlicenced codec
EP1357457B1 (en) * 2001-01-17 2019-08-21 ContentGuard Holdings, Inc. Device and method for managing use of content
CN1714356B (zh) * 2001-01-17 2010-04-07 康坦夹德控股股份有限公司 使用标准演示引擎作数字权限管理的系统及方法
US7665115B2 (en) * 2001-02-02 2010-02-16 Microsoft Corporation Integration of media playback components with an independent timing specification
US7249190B2 (en) * 2001-02-09 2007-07-24 Comlet Technologies, Llc. Enhanced data exchange and presentation/communication system
US7797431B2 (en) * 2001-02-09 2010-09-14 Willard Case Enhanced data exchange and functionality control system and method
US7308717B2 (en) * 2001-02-23 2007-12-11 International Business Machines Corporation System and method for supporting digital rights management in an enhanced Java™ 2 runtime environment
US20030033443A1 (en) * 2001-03-01 2003-02-13 Nikolay Igotti Virtual machine integration application program interface
KR20010044634A (ko) * 2001-03-13 2001-06-05 김형석 멀티 코덱 업그레이드가 가능한 '디지털 음향 녹음재생장치' 및 인터넷서버를 통한 서비스 방법
US7019741B2 (en) 2001-03-23 2006-03-28 General Electric Company Methods and systems for simulating animation of web-based data files
JP4420584B2 (ja) * 2001-05-21 2010-02-24 ソニー株式会社 携帯情報処理端末、情報処理方法、プログラム、および情報処理システム
US8205193B2 (en) * 2001-06-11 2012-06-19 Hewlett-Packard Development Company, L.P. Runtime updating of virtual machine class files
FR2826471A1 (fr) * 2001-06-26 2002-12-27 Canal Plus Technologies Extension d'un logiciel dans un recepteur/decodeur de television numerique
US7240120B2 (en) 2001-08-13 2007-07-03 Texas Instruments Incorporated Universal decoder for use in a network media player
DE60141583D1 (de) * 2001-10-18 2010-04-29 Sun Microsystems Inc Verfahren zur Dateiverarbeitung mit einem Plug-in
US20030109252A1 (en) * 2001-12-10 2003-06-12 Koninklijke Philips Electronics N.V. System and method of codec employment in a cellular telephone
US20040024580A1 (en) 2002-02-25 2004-02-05 Oak Technology, Inc. Server in a media system
US9122808B2 (en) 2002-02-25 2015-09-01 Csr Technology Inc. Network interface to a video device
US7269543B2 (en) 2002-02-25 2007-09-11 Zoran Corporation System and method for providing network connectivity to a common embedded interface by stimulating the embedded interface
US7610630B2 (en) * 2002-03-05 2009-10-27 Panasonic Corporation Method of transferring information specifying a tool utilized for processing a content protected by IPMP
JP4224250B2 (ja) * 2002-04-17 2009-02-12 パイオニア株式会社 音声認識装置、音声認識方法および音声認識プログラム
US7203940B2 (en) * 2002-04-29 2007-04-10 Hewlett-Packard Development Company, Lp. Automated installation of an application
US20040083015A1 (en) * 2002-06-04 2004-04-29 Srinivas Patwari System for multimedia rendering in a portable device
EP1387279B1 (en) * 2002-07-31 2008-05-14 Texas Instruments Inc. Cache coherency in a multi-processor system
US7334043B2 (en) * 2002-09-17 2008-02-19 At&T Delaware Intellectual Property, Inc. Extending functionality of workflow applications using instant messaging (IM)
US8028023B2 (en) * 2002-09-17 2011-09-27 At&T Intellecutal Property I, L.P. Extending functionality of instant messaging (IM) systems
CN1726067B (zh) * 2002-12-02 2010-10-13 阿尔卡特公司 游戏控制台适配器单元
CN100412843C (zh) * 2002-12-23 2008-08-20 皇家飞利浦电子股份有限公司 可扩展的光盘播放机、播放设备、记录器和升级它们的方法
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7493614B2 (en) 2003-03-31 2009-02-17 Microsoft Corporation System architecture and related methods for dynamically adding software components to extend functionality of system processes
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7197515B2 (en) * 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
KR101081729B1 (ko) * 2003-07-07 2011-11-08 로비 솔루션스 코포레이션 저작권 침해를 제어하고 쌍방향 컨텐츠를 인에이블시키기 위한 재프로그램가능한 보안
EP1652043B1 (en) * 2003-07-11 2017-01-25 CA, Inc. System and method for common storage object model
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7434215B2 (en) * 2003-09-11 2008-10-07 International Business Machines Corporation Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US7266726B1 (en) 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
TWI381317B (zh) * 2003-12-08 2013-01-01 Koninkl Philips Electronics Nv 可擴展之光碟播放機
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US8078669B2 (en) * 2004-02-18 2011-12-13 Time Warner Cable Inc. Media extension apparatus and methods for use in an information network
US7536672B1 (en) * 2004-03-05 2009-05-19 Adobe Systems Incorporated Management of user interaction history with software applications
US7802262B1 (en) 2004-03-05 2010-09-21 Adobe Systems Incorporated System and method for communicating state and title information between a browser and a rich internet application with browser forward and back button support
US8015504B1 (en) 2004-03-26 2011-09-06 Adobe Systems Incorporated System and method for communicating information over a network
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
KR100608056B1 (ko) * 2004-06-05 2006-08-02 삼성전자주식회사 멀티미디어 컨텐츠 재생 장치, 재생 방법, 생성 장치,생성 방법, 및 그 멀티미디어 컨텐츠를 저장한 저장 매체
JP4458250B2 (ja) * 2004-06-21 2010-04-28 パナソニック株式会社 情報コンテンツダウンロードシステムおよび機能ダウンロードシステム
US20060026162A1 (en) * 2004-07-19 2006-02-02 Zoran Corporation Content management system
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7512699B2 (en) 2004-11-12 2009-03-31 International Business Machines Corporation Managing position independent code using a software framework
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
WO2006073578A2 (en) * 2004-11-16 2006-07-13 Broadramp, Inc. System for rapid delivery of digital content via the internet
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7774753B1 (en) 2004-11-18 2010-08-10 Adobe Systems Incorporated System and method for communicating data among two or more programs
KR100735274B1 (ko) * 2004-11-18 2007-07-03 삼성전자주식회사 트랜스코더를 구비한 분산형 멀티미디어 전송 네트워크의트랜스코딩 방법 및 장치
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US8281014B2 (en) * 2004-12-28 2012-10-02 Sap Ag Session lifecycle management within a multi-tiered enterprise network
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7634502B2 (en) * 2005-01-24 2009-12-15 Paul Colton System and method for improved content delivery
US7734686B2 (en) * 2005-01-25 2010-06-08 International Business Machines Corporation Markup method for managing rich client code and experiences using multi-component pages
KR100672054B1 (ko) * 2005-01-31 2007-01-22 삼성전자주식회사 데이터 네트워크의 a/v 스트림을 ieee 1394네트워크로 중개하는 a/v 스트림 중개 시스템 및 그 방법
US7567565B2 (en) 2005-02-01 2009-07-28 Time Warner Cable Inc. Method and apparatus for network bandwidth conservation
EP1844612B1 (en) * 2005-02-04 2017-05-10 Barco NV Method and device for image and video transmission over low-bandwidth and high-latency transmission channels
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US8738787B2 (en) 2005-04-20 2014-05-27 Limelight Networks, Inc. Ad server integration
US8291095B2 (en) * 2005-04-20 2012-10-16 Limelight Networks, Inc. Methods and systems for content insertion
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US7853698B2 (en) * 2005-04-29 2010-12-14 Sap Ag Internal persistence of session state information
US8762547B2 (en) * 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
US20060248199A1 (en) * 2005-04-29 2006-11-02 Georgi Stanev Shared closure persistence of session state information
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
WO2006126140A2 (en) * 2005-05-27 2006-11-30 Koninklijke Philips Electronics N.V. Method and apparatus for processing data
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
KR100703354B1 (ko) * 2005-08-11 2007-04-03 삼성전자주식회사 휴대단말기의 화상통화모드에서 영상데이터 전송방법
US8001458B1 (en) 2005-11-14 2011-08-16 Adobe Systems Incorporated System and method for communicating state and title information between a browser and a rich Internet application
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8707323B2 (en) * 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
KR100763399B1 (ko) * 2006-01-17 2007-10-05 엘지전자 주식회사 케이블 방송 시스템 및 코덱 방법
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
US8718100B2 (en) 2006-02-27 2014-05-06 Time Warner Cable Enterprises Llc Methods and apparatus for selecting digital interface technology for programming and data delivery
US8170065B2 (en) * 2006-02-27 2012-05-01 Time Warner Cable Inc. Methods and apparatus for selecting digital access technology for programming and data delivery
US8458753B2 (en) 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
US7916755B2 (en) * 2006-02-27 2011-03-29 Time Warner Cable Inc. Methods and apparatus for selecting digital coding/decoding technology for programming and data delivery
KR100763206B1 (ko) * 2006-04-03 2007-10-04 삼성전자주식회사 이용 가능한 코덱 정보를 제공하는 장치 및 그 방법
KR100818924B1 (ko) 2006-05-03 2008-04-04 삼성전자주식회사 소프트웨어 모듈의 조합을 통해 dsp 코드를 생성하는장치 및 그 방법
KR100755714B1 (ko) 2006-05-03 2007-09-05 삼성전자주식회사 코덱 업그레이드를 수행하는 장치 및 그 방법
US9058221B2 (en) * 2006-05-05 2015-06-16 Avaya, Inc. Signal processing at a telecommunications endpoint
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US9680686B2 (en) * 2006-05-08 2017-06-13 Sandisk Technologies Llc Media with pluggable codec methods
US20080005653A1 (en) * 2006-06-30 2008-01-03 Viswanathan Swaminathan Method and apparatus for facilitating Java-based self-organizing media
US20080134012A1 (en) * 2006-11-30 2008-06-05 Sony Ericsson Mobile Communications Ab Bundling of multimedia content and decoding means
US8370818B2 (en) 2006-12-02 2013-02-05 Time Warner Cable Inc. Methods and apparatus for analyzing software interface usage
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US20080235580A1 (en) * 2007-03-20 2008-09-25 Yahoo! Inc. Browser interpretable document for controlling a plurality of media players and systems and methods related thereto
US20080252490A1 (en) * 2007-04-10 2008-10-16 Chiluk David R Merging A Codec With A Digital Media File and Playing A Digital Media File On A Playback Device
US8230417B1 (en) 2007-06-08 2012-07-24 Adobe Systems Incorporated Combined application and execution environment install
US8448161B2 (en) * 2007-07-30 2013-05-21 Adobe Systems Incorporated Application tracking for application execution environment
US8375381B1 (en) 2007-07-30 2013-02-12 Adobe Systems Incorporated Management user interface for application execution environment
US7930273B1 (en) 2007-07-30 2011-04-19 Adobe Systems Incorporated Version management for application execution environment
WO2009020640A2 (en) * 2007-08-08 2009-02-12 Swarmcast, Inc. Media player plug-in installation techniques
US8561116B2 (en) 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
US9071859B2 (en) 2007-09-26 2015-06-30 Time Warner Cable Enterprises Llc Methods and apparatus for user-based targeted content delivery
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US8635360B2 (en) 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
WO2009075766A2 (en) 2007-12-05 2009-06-18 Swarmcast, Inc. Dynamic bit rate scaling
EP2086236A1 (en) * 2008-01-31 2009-08-05 Hewlett-Packard Development Company, L.P. Method and system for accessing applications
US8813143B2 (en) 2008-02-26 2014-08-19 Time Warner Enterprises LLC Methods and apparatus for business-based network resource allocation
US8645474B2 (en) * 2008-02-29 2014-02-04 Microsoft Corporation Self-described rendering of data
US9032464B2 (en) * 2008-07-23 2015-05-12 Centurylink Intellectual Property Llc IPTV delivery system and method
US8566869B2 (en) 2008-09-02 2013-10-22 Microsoft Corporation Pluggable interactive television
WO2010031069A2 (en) * 2008-09-15 2010-03-18 Realnetworks, Inc. Secure media path system and method
US20100070533A1 (en) * 2008-09-16 2010-03-18 James Skinner Systems and Methods for In-Line Viewing of Files over a Network
KR101485806B1 (ko) * 2009-05-28 2015-01-23 삼성전자주식회사 원격 유저 인터페이스를 지원하는 홈 네트워크에서 이벤트 처리 방법 및 이를 위한 장치
US10038760B2 (en) * 2009-06-01 2018-07-31 International Business Machines Corporation System and method to support codec delivery models for IMS networks
WO2010141460A1 (en) 2009-06-01 2010-12-09 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
WO2011049413A2 (ko) * 2009-10-23 2011-04-28 한양대학교 산학협력단 멀티미디어 컨텐츠 처리 방법 및 장치
WO2011087216A2 (ko) * 2010-01-12 2011-07-21 한양대학교 산학협력단 멀티미디어 컨텐츠 처리 방법 및 장치
EP2381579A1 (en) * 2010-04-20 2011-10-26 Itron Metering Solutions UK Ltd Method for compressing/decompressing data
AU2011201674B1 (en) 2011-04-14 2012-07-19 Limelight Networks, Inc. Advanced embed code
CN102447965B (zh) * 2011-08-25 2014-04-30 深圳市佳信捷技术股份有限公司 支持视频插件接入的视频快速平滑显示的方法及装置
US20130311859A1 (en) * 2012-05-18 2013-11-21 Barnesandnoble.Com Llc System and method for enabling execution of video files by readers of electronic publications
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
CN103686164A (zh) 2012-09-06 2014-03-26 腾讯科技(深圳)有限公司 自动适配硬件编解码的方法及系统及模块
CN102929656B (zh) * 2012-09-28 2015-11-25 北京奇虎科技有限公司 使用浏览器中内置ActiveX插件的方法和客户端
US9632787B2 (en) * 2012-10-23 2017-04-25 Ca, Inc. Data processing system with data characteristic based identification of corresponding instructions
US9131283B2 (en) 2012-12-14 2015-09-08 Time Warner Cable Enterprises Llc Apparatus and methods for multimedia coordination
FR3011103A1 (fr) * 2013-09-26 2015-03-27 Orange Chargement dynamique mis en œuvre lors d'une action sur un contenu
DE102013018624A1 (de) 2013-11-06 2015-05-07 Unify Gmbh & Co. Kg Verfahren zum sicheren und dynamischen Nachladen von zusätzlicher Software von einem WebRTC-Server in einen WebRTC-Client
US20150286489A1 (en) * 2014-04-04 2015-10-08 Avid Technology, Inc. Automatic detection and loading of missing plug-ins in a media composition application
US9250891B1 (en) 2014-10-28 2016-02-02 Amazon Technologies, Inc. Optimized class loading
US9928058B1 (en) * 2014-10-28 2018-03-27 Amazon Technologies, Inc. Optimized class loading
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10911794B2 (en) 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network
US11109290B2 (en) 2017-08-04 2021-08-31 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network
US10966073B2 (en) 2017-11-22 2021-03-30 Charter Communications Operating, Llc Apparatus and methods for premises device existence and capability determination
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
US11129213B2 (en) 2018-10-12 2021-09-21 Charter Communications Operating, Llc Apparatus and methods for cell identification in wireless networks
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
US11374779B2 (en) 2019-06-30 2022-06-28 Charter Communications Operating, Llc Wireless enabled distributed data apparatus and methods
US11182222B2 (en) 2019-07-26 2021-11-23 Charter Communications Operating, Llc Methods and apparatus for multi-processor device software development and operation
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504892A (en) * 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5692183A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
US5842014A (en) * 1995-06-14 1998-11-24 Digidesign, Inc. System and method for distributing processing among one or more processors
US5664182A (en) * 1995-09-18 1997-09-02 Actuate Software Corporation Persistent storage of report objects
US5793954A (en) * 1995-12-20 1998-08-11 Nb Networks System and method for general purpose network analysis
US5794232A (en) * 1996-03-15 1998-08-11 Novell, Inc. Catalog services for distributed directories
US5787019A (en) * 1996-05-10 1998-07-28 Apple Computer, Inc. System and method for handling dynamic changes in device states
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5881230A (en) * 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
US5809145A (en) * 1996-06-28 1998-09-15 Paradata Systems Inc. System for distributing digital information
US5809507A (en) * 1996-07-01 1998-09-15 Sun Microsystems, Inc. Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework
US5809250A (en) * 1996-10-23 1998-09-15 Intel Corporation Methods for creating and sharing replayable modules representive of Web browsing session
US5913033A (en) * 1996-12-20 1999-06-15 International Business Machines Corporation Apparatus and method for retrieving information using standard objects
US6006241A (en) * 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
US5903728A (en) * 1997-05-05 1999-05-11 Microsoft Corporation Plug-in control including an independent plug-in process
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025436A (ja) * 1998-03-16 2006-01-26 Intertrust Technologies Corp メディア・コンテンツの連続制御および保護のための方法および装置
JP4616095B2 (ja) * 1998-03-16 2011-01-19 インタートラスト テクノロジーズ コーポレイション メディア・コンテンツの連続制御および保護のための方法および装置
US6853960B2 (en) 2002-04-22 2005-02-08 Mitsubishi Denki Kabushiki Kaisha Communications apparatus, communication system, plug-in module control method, and computer-readable recording medium where program for executing by computer is recorded
JP2010288301A (ja) * 2002-06-04 2010-12-24 Qualcomm Inc ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
JP2004038970A (ja) * 2002-06-28 2004-02-05 Microsoft Corp マルチメディアデータを利用するためのアプリケーションプログラミングインタフェース
JP4652674B2 (ja) * 2002-06-28 2011-03-16 マイクロソフト コーポレーション マルチメディアデータを利用するためのアプリケーションプログラミングインタフェース
JP2006512689A (ja) * 2003-01-02 2006-04-13 トムソン ライセンシング 受信サービスに関して行われる限定的実行決定並びに当該サービス及び関連する製品に関する情報メッセージの生成のための装置並びに方法
JP2007509411A (ja) * 2003-10-24 2007-04-12 マイクロソフト コーポレーション データ駆動型コマンドライン出力を提供する機構
JP2006244471A (ja) * 2005-03-04 2006-09-14 Microsoft Corp コマンドラインデータ型の検出および変換
US8566806B2 (en) 2005-03-04 2013-10-22 Microsoft Corporation Command-line data-type discovery and conversion
JP2008542855A (ja) * 2005-04-26 2008-11-27 マイクロソフト コーポレーション 音声/映像コーデックを抽象化するためのシステム
JP2009528647A (ja) * 2006-03-03 2009-08-06 マイクロソフト コーポレーション 配信コンテンツ用補助表示ガジェット
JP2012516506A (ja) * 2009-01-29 2012-07-19 クゥアルコム・インコーポレイテッド デバイスへのオーディオ処理能力の動的供給
JP2014099893A (ja) * 2009-01-29 2014-05-29 Qualcomm Incorporated デバイスへのオーディオ処理能力の動的供給
JP2012521157A (ja) * 2009-03-16 2012-09-10 マイクロソフト コーポレーション 拡張可能なメディア形式を持つホスト型アプリケーションプラットフォーム
JP2012521723A (ja) * 2009-03-23 2012-09-13 オンライブ インコーポレイテッド 一時的デコーダ装置及び方法
JP2012146023A (ja) * 2011-01-07 2012-08-02 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP2022539798A (ja) * 2019-07-05 2022-09-13 上海交通大学 メディア処理方法

Also Published As

Publication number Publication date
US6216152B1 (en) 2001-04-10
EP0911728A1 (en) 1999-04-28
US20020007357A1 (en) 2002-01-17
US6654765B2 (en) 2003-11-25

Similar Documents

Publication Publication Date Title
JPH11259304A (ja) プラグインメディアデコ―ダ供給方法及び装置
US7065752B2 (en) Method and apparatus compilation of an interpretative language for interactive television
US6181713B1 (en) Selectable depacketizer architecture
US6980979B2 (en) Method and apparatus for customizing Java API implementations
JP4165683B2 (ja) 複合データ構造の永続的表現の生成
US6530080B2 (en) Method and apparatus for pre-processing and packaging class files
AU2002236916A1 (en) A method and apparatus for the compilation of an interpretative language for interactive television
KR100438143B1 (ko) 한 바이트 코드와 연속화 된 객체들 흐름을 적시에 공급하는 방법과 장치
US6928648B2 (en) Method and apparatus for a mobile multimedia java framework
JPH1069394A (ja) オブジェクト指向言語プログラム由来の中間コードデータストリーム、またはマルチメディアデータストリームの処理システム及び方法
JP2003504754A (ja) 個々のクラスローダを実装するための方法および装置
WO2010107622A2 (en) Hosted application platform with extensible media format
JP2002532009A (ja) トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置
US20020073218A1 (en) Stream device management system for multimedia clients in a broadcast network architecture
US6516354B2 (en) Method and apparatus for efficient representation of variable length identifiers in a distributed object system
US7490315B2 (en) Persistent representations for complex data structures as interpreted programs
Peng et al. Digital television application manager
JP2008515322A (ja) Mhpアプリケーションの起動時間を減少させるシステム及び方法
Antoniazzi et al. An open software architecture for multimedia consumer terminals
CN1190211A (zh) 面向对象的多媒体结构
CN117793174A (zh) 基于Netty的声明式长连接双向非阻塞通信方法及系统
JP2001306326A (ja) データ処理システム及びデータ処理方法、並びに、ソフトウェア記憶媒体
Standard DTV APPLICATION SOFTWARE ENVIRONMENT LEVEL 1 (DASE-1) PART 3: PROCEDURAL APPLICATIONS AND ENVIRONMENT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090519