JP2002532009A - トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置 - Google Patents

トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置

Info

Publication number
JP2002532009A
JP2002532009A JP2000586061A JP2000586061A JP2002532009A JP 2002532009 A JP2002532009 A JP 2002532009A JP 2000586061 A JP2000586061 A JP 2000586061A JP 2000586061 A JP2000586061 A JP 2000586061A JP 2002532009 A JP2002532009 A JP 2002532009A
Authority
JP
Japan
Prior art keywords
bytecode
data
header
transport stream
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000586061A
Other languages
English (en)
Other versions
JP4444510B2 (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.)
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 JP2002532009A publication Critical patent/JP2002532009A/ja
Application granted granted Critical
Publication of JP4444510B2 publication Critical patent/JP4444510B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Control Of Conveyors (AREA)
  • Discharge Of Articles From Conveyors (AREA)

Abstract

(57)【要約】 トランスポート・ストリームにバイトコード・データを埋め込む方法および装置を開示している。本発明の実施形態は、トランスポート・ストリームを介してメディア情報を受信しているユーザに対して、同時にJava(商標)バイトコードを(クラス・ファイル内において)使用可能にする機能を提供する。バイトコードのコンカレント配信を保証するために、情報がトランスポート・ストリーム内に割り当てられたスペースの中に、あるいはメディア・データを搬送するパケットの中に埋め込まれる。本発明の一実施形態においては、メディア・データが、パケット化エレメンタリ・ストリーム(PES)パケットと呼ばれる構造化パケットにグループ化される。各PESパケット内においては、予め決められたスペースが使用可能であり、そこにバイトコード・データが埋め込まれる。本発明の一実施形態においては、この決められたスペースがPESパケットのヘッダ・セグメント内に割り当てられる。別の実施形態においては、PESパケットのプライベート・ストリーム・セグメント内にバイトコード・インストラクションが埋め込まれる。本発明とともに使用される1つのトランスポート・ストリームは、MPEG−2トランスポート・ストリームであり、PESパケットをトランスポートする構造化パケットを含む。一方、これらのトランスポート・ストリーム・パケットは、それら自体の中に、予め決められたスペースを有している。また、トランスポート・ストリーム内の使用可能なスペースの中にバイトコード・データを埋め込むこともできる。本発明の実施形態の1つにおいては、トランスポート・ストリーム・ヘッダまたはトランスポート・ストリーム・ペイロード・セグメント内にバイトコードを埋め込むことができる。別の実施形態においては、バイトコード・データの伝送がプライベート・ストリーム・セグメント内でなされ、バイトコード・データの再伝送がPESパケットの別の領域においてなされる。さらに別の実施形態においては、バイトコード・データの伝送が適応フィールド内においてなされ、PESヘッダのプライベート・データとして再伝送データが送られる。

Description

【発明の詳細な説明】
【0001】 発明の背景 A.発明の分野 本発明は、データ通信の分野に関する。本件特許書類の開示の一部は、著作権
保護に係る資料を含んでいる。
【0002】 著作権者は、特許商標庁の書類あるいは記録として現れる場合であれば、特許
書類もしくは特許の開示の第三者によるそのままの複製を拒絶する理由を持たな
いが、それ以外は、いかなる場合であってもすべての権利を留保する。Sun、
Sun Microsystems、Sunのロゴ、Solaris、SPAR
C、「Write Once, Run Anywhere」、JavaOS、
JavaStationおよびすべてのJavaベースの商標ならびにロゴは、
米国ならびにその他諸外国におけるSun Microsystems(サン・
マイクロシステムズ)社の商標もしくは登録商標である。
【0003】 B.背景技術 インターネットの用途の1つに、ユーザに向けたメディア情報(動画またはサ
ウンド・ファイル等)の配信がある。現在のメディア配信スキームに伴う1つの
問題は、メディア・データが送られている間における別のデータの配信が困難な
ことが挙げられる。メディア・データとその他のデータ(コントロール・データ
等)を同時に送るプロセスは「コンカレント(同時)配信」と呼ばれ、場合によ
ってはそれが望ましいとされる。現在のところ、メディア・データおよびコント
ロール・データのコンカレント配信に適したスキームは存在しない。メディア・
データおよびコントロール・データのコンカレント配信の実施に関連する問題は
、メディア配信システムを概観することによって理解することができる。
【0004】 メディア配信 マルチメディア・アプリケーションにおいては、ビデオまたはオーディオ情報
等のメディア・データがサーバ・コンピュータからクライアント・コンピュータ
(たとえばユーザの自宅あるいはオフィスにあるコンピュータ)に「トランスポ
ート・ストリーム」を介して伝達される。トランスポート・ストリームは、一連
のバーストまたはメディア・データのパケットからなる。メディア・データは、
伝送の前に、伝送に適したフォーマットに変換することによって準備される。メ
ディア・トランスポート・ストリームとして伝送するために行うメディア・デー
タ(たとえばオーディオ、ビデオ等)の準備には、多数のスキームが存在する(
たとえば、MPEG−1、MPEG−2、MPEG−4等のMotion Pi
cture Experts Group(MPEG;モーション・ピクチャ・
エキスパート・グループ)標準)。
【0005】 メディア・データは、しばしば「タイム・アウェア(time aware:時間が知覚
に影響を与える)」または「タイム・センシティブ(time sensitive:時間の影
響を受けやすい)」データであると言われる。これは、所定のレートでおよび/
または所定の時間にデータが利用できることが重要であり、あるいは要求される
ためである。たとえば、ビデオ・ストリームを鑑賞する場合を考えると、表示さ
れているビデオ・データにギャップが生じたり、途切れるのを防止するために、
必要時に新しいビデオ・フレームが使用できることが重要になる。たとえば、動
画データの伝送される速度が非常に遅いときには、クライアント・コンピュータ
が新しい動画データを待っている間、表示されている動画がフリーズし、あるい
はブランクを生じる。同様にオーディオ・データに関しても、新しいオーディオ
・データが連続して提供されなければ、再生の間に音の途切れを招く。これらの
途切れは、オーディオの再生時の無音を生じることがあり、サウンドのクリッピ
ングつまり音および言葉の抜けの原因となる。(タイム・アウェア・データがメ
ディア・データに限られないことに注意する必要がある。タイム・アウェア・デ
ータは、そのデータの使用に関連するタイミングを表す追加情報とともに運ばれ
るデータである。たとえば、タイム・アウェア・データに、データを処理するべ
きデッドラインを示したタイム・スタンプを含めることができる。)
【0006】 状況によっては、メディア・データの再生を補助するため、もしくはメディア
・データの再生をコントロールするためにコントロール・アプリケーションが求
められる。いくつかのケースにおいては、その種のコントロール・アプリケーシ
ョンが(Java(商標)プログラミング言語アプレットまたはアプリケーショ
ンのような)アプレットまたはアプリケーションになる。このアプレットは、バ
イトコードとしてサーバからユーザ・コンピュータに伝送され、ユーザ・コンピ
ュータは、メディア・データの再生をコントロールするためにこのアプレットを
使用する。バイトコードまたはその他のシリアル化されたデータまたはオブジェ
クトは、メディア情報と同時にクライアントに対する配信が求められることがあ
る。
【0007】 バイトコード・インストラクションとメディア・データを同時に配信するため
の効率的なメカニズムは、現在のところ存在しない。通常、バイトコード・デー
タは、必要なすべてのメディア・データが伝送された後に伝送される。ある種の
環境、すなわちアプレットまたはコントロール・アプリケーションが使用可能に
なるとただちに処理される必要がある環境においては、これでは遅すぎる。従来
技術における1つの解決策は、メディアまたはタイム・アウェア・データの伝送
に先行してコントロール・アプリケーションを最初に送る方法である。しかしな
がらこれは、メディア・データの再生に望ましくない遅延を招くことになる。ユ
ーザは、ビデオ・データを見ることを期待しているが、コントロール・データが
受信されるまで待たなければならない。この遅延は望ましくない。
【0008】 このように、バイトコード・インストラクションをメディア情報に先行して、
あるいはそれに続いて伝送するのではなく、メディア・データと同時に伝送する
ことが求められている。
【0009】 発明の要約 トランスポート・ストリームにバイトコード・データを埋め込む方法および装
置を開示する。本発明の実施態様は、トランスポート・ストリームを介してメデ
ィア情報を受信しているユーザに対して、同時にJava(商標)バイトコード
を(クラス・ファイル内において)使用可能にする機能を提供する。バイトコー
ド情報は、トランスポート・ストリーム内に割り当てられるスペースの中、もし
くはメディア・データを搬送するパケットの中に埋め込まれる。
【0010】 本発明の一実施態様においては、メディア・データが、パケット化エレメンタ
リ・ストリーム(PES)パケットと呼ばれる構造化パケットにグループ化され
る。バイトコード・データは、各PESパケット内の予め決められたスペース内
に埋め込まれる。本発明の一実施態様においては、この決められたスペースがP
ESパケットのヘッダ・セグメント内に割り当てられている。別の実施態様にお
いては、バイトコード・インストラクションがPESパケットのプライベート・
ストリーム・セグメントの中に埋め込まれる。
【0011】 別の実施態様においては、バイトコード・データの伝送がプライベート・スト
リーム・セグメント内でなされ、バイトコード・データの再伝送がPESパケッ
トの別の領域においてなされる。さらに別の実施態様においては、バイトコード
・データの伝送が適応フィールド内においてなされ、PESヘッダのプライベー
ト・データとして再伝送データが送られる。
【0012】 本発明とともに使用される1つのトランスポート・ストリームは、MPEG−
2トランスポート・ストリームであり、PESパケットをトランスポートする構
造化パケットを含む。一方、これらのトランスポート・ストリーム・パケットは
、それら自体の中に、トランスポート・ストリーム内のスペースに埋め込まれた
バイトコード・データを有している。本発明の実施態様の1つにおいては、トラ
ンスポート・ストリーム・ヘッダまたはトランスポート・ストリーム・ペイロー
ド・セグメント内にバイトコードを埋め込むことができる。
【0013】 本発明の実施態様においては、この発明の方法による情報の埋め込みは、MP
EG−2準拠デコーダが、当該デコーダによる埋め込みバイトコード情報の利用
の有無とは無関係に、このストリームを使用することができるように行われる。
また、トランスポート・ストリームが、長さならびに周波数という点に関してビ
ット・レートにおける最小の変更を伴って伝送され、また許容最大帯域幅を超え
ることもない。さらに本発明の実施態様は、デコーダがデコーディングおよびバ
イトコード情報の提供を開始できる同調ポイントを決めることができる。
【0014】 発明の詳細な説明 本発明は、トランスポート・ストリーム内にバイトコード・データを埋め込む
ための方法および装置を提供する。以下の説明においては、本発明のより完全な
理解に資するべく、各種の具体的な詳細を示している。しかしながら、当業者で
あれば、これらの具体的な詳細から離れても本発明を実施し得ることを認識され
るであろう。一方、周知の特徴については、不必要に本発明の不明瞭化を招くこ
とのないように詳細な説明を省略している。
【0015】 本発明は、クライアント・コンピュータ・システムに対するメディア・データ
の伝送との関連から説明されている。しかしながらこれは、例示のみを目的とし
たものである。本発明は、セットトップ・ボックス、PDA(パーソナル・ディ
ジタル・アシスタント)、スマート・アプライアンス、テレコミュニケーション
・デバイス、財務端末、あるいはこの種のあらゆるデバイスを含めたデータの受
け取りが可能な任意のデバイスに等しく適用することができる。それに加えて本
発明は、メディア・データに限定されることなく、電子商取引に関連するデータ
を含めて任意形式のデータに等しく適用することができる。
【0016】 メディア・データ・トランスポート・ストリーム内におけるバイトコード・デー
タの伝送 本発明は、メディア・データ・トランスポート・ストリームを介したメディア
・データおよびバイトコード・データのコンカレント配信を提供する。本発明は
、トランスポート・ストリーム内の予め定めたスペース内にバイトコード・デー
タを埋め込む。受信時には、このバイトコード・データを分離し、受信メディア
・データの再生またはコントロールのサポートに使用することができる。
【0017】 本件発明者等が知るところによれば、現存するメディア・ストリームの適時配
信のためのテクニックとして、本件にも参照を通じて採り入れられている、19
98年6月26日に米国特許庁に出願された「METHOD AND APPA
RATUS FOR TIMELY DELIVERY OF A BYTEC
ODE AND SERIALIZED OBJECTS STREAM(バイ
トコードおよびシリアル化したオブジェクト・ストリームの適時配信のための方
法および装置)」と題する米国特許出願第09/105,963号がある。トラ
ンスポート・ストリーム内に埋め込まれたバイトコード情報を配信するための現
在の方法は、前記出願に開示された方法によってタイム・アウェアとなったスト
リームを利用することができる。
【0018】 本発明においては、伝送レートの周波数ならびに最大長の安定性が維持される
態様において、バイトコードがトランスポート・ストリーム内に埋め込まれる。
またトランスポート・ストリーム内におけるバイトコード情報の埋め込みは、デ
コーダが埋め込まれたバイトコード情報を利用できないときであっても、ストリ
ームのメディア・データ部分のデコーディングが可能となる態様でなされる。本
発明の一実施態様においては、バイトコード・データが、MPEG−2プロトコ
ルを使用してエンコードされたメディア・トランスポート・ストリーム内に埋め
込まれる。この実施態様について次に説明する。
【0019】 MPEG−2 本発明は、任意タイプのトランスポート・ストリームに等しく適用可能である
が、例示目的から、MPEG−2トランスポート・ストリームの部分としての伝
送に関連させて本発明の説明を行う。
【0020】 図3は、MPEG−2トランスポート・ストリームを介してメディア・データ
の伝送が行われるプロセスを図示している。このストリームは、ヘッダおよびデ
ータ・ストレージ・セグメントからなるトランスポート・ストリーム・パケット
(TSP)を包含する。トランスポート・ストリーム・ヘッダ(TSヘッダ)と
も呼ばれるそのヘッダには、オプションとして「適応フィールド」を含めること
ができる。トランスポート・ストリーム・ペイロード(TSペイロード)とも呼
ばれるデータ・ストレージ・セグメントは、パケット化エレメンタリ・ストリー
ム(PES)パケットから構成される。各PESパケットは、PESヘッダおよ
びエレメンタリ・ストリーム・データからなる。ヘッダにはペイロードが続くか
否かを示すデリミタを含む。
【0021】 トランスポート・ストリームについては、PESパケットに変換され、TSP
パケットにアッセンブルされるデータ・ソースの観点から図3に示した。参照番
号1000は、クライアント・コンピュータに伝送されるオーディオ、ビデオ、
イメージまたはその他のデータ等のメディア・データのソースを表している。メ
ディア・データ1000は、パケット化エレメンタリ・ストリーム(PES)パ
ケット1100と呼ばれる1ないし複数の可変サイズ・パッケージ内に収められ
る。各PESパケットは2つの領域、すなわちヘッダ領域およびデータ領域から
構成される。PESヘッダ1110に「エレメンタリ・ストリーム・データ」1
120が続く。
【0022】 PESヘッダ領域 ヘッダ領域はPESヘッダ1110を含んでいる。PESヘッダ1110は、
データ領域にストアされているデータの属性を識別する。この属性には、データ
型、伝送されるデータのサイズ、伝送されるデータの開始位置と終了位置、およ
び可能性としては伝送されるデータの解釈に必要なその他のデータが含まれる。
たとえば、一実施形態におけるPESヘッダ1110は、ヘッダの長さ、バージ
ョン、クラスであるかオブジェクトであるかを示すフラグ、必要なクラスの数、
「スタート・ローディング」タイムスタンプ、「ロード・バイ」タイムスタンプ
、そのクラスのサイズ、使用されている圧縮のタイプ、使用されているセキュリ
ティ・スキームのタイプ、使用されているエラー訂正のタイプ、その他のタイプ
情報、クラス識別子(ID)の長さ、クラス識別子(ID)、必要な各クラスに
関するクラスIDの長さ、および必要な各クラスに関するクラスIDを表す情報
を包含することができる。
【0023】 メディア・データ領域 エレメンタリ・ストリーム・データ1120の領域は、エレメンタリ・メディ
ア・データを含んでいる。エレメンタリ・データ1000は、ソース・データ(
つまりオーディオ・データ、ビデオ・データ)の全体またはその一部からなる。
このデータは、エレメンタリ・ストリーム・データ1120の解凍に必要な適切
な識別情報をPESヘッダ1110に含めて(必要に応じて)圧縮することがで
きる。
【0024】 トランスポート・ストリーム 前述したようにトランスポート・ストリームは、ヘッダおよびデータ・ストレ
ージ・セグメントを含んでなるTSPパケットを含んでいる。MPEG−2トラ
ンスポート・ストリーム1200は、多重化されたビット・ストリームであり、
個別のMPEG−2トランスポート・ストリーム・パケット(MPEG−2 T
SP)1210の集合である。各MPEG−2 TSP 1210は、188バ
イトの固定長であり、トランスポート・ストリーム・ヘッダ(TSヘッダ)12
20およびそれに続くデータ・ストレージ・セグメント(TSペイロード)12
30を含んでいる。(TSペイロードは、PESパケット1100からなる。)
【0025】 TSヘッダ1220 TSヘッダは、MPEG−2 TSP 1210を受け取り、デコードするた
めに必要な情報を含んでいる。すべてのトランスポート・ストリーム・パケット
は、トランスポート・ストリーム・ヘッダ(32ビット)を伴って開始する。以
下の表1に示すように、このトランスポート・ストリーム・ヘッダは、13ビッ
トのパケットID(PID)を含んでいる。PIDが単一のトランスポート・ス
トリーム・パケットは、唯一のエレメンタリ・ストリームのデータを搬送する。
PIDは、プログラム固有情報(PSI)テーブルを介してトランスポート・ス
トリーム・パケットに含まれるデータのコンテンツを識別する。トランスポート
・ストリーム内で運ばれるPSIテーブルは4つ、すなわち、プログラム結合テ
ーブル(PAT)、プログラム・マップ・テーブル(PMT)、条件アクセス・
テーブル(CAT)、およびネットワーク情報テーブル(NIT)である。これ
らのテーブルには、プログラムを逆多重化し、呈示するために必要な情報が含ま
れている。
【0026】 ここで言うプログラムとは、同期して呈示されるべきエレメンタリ・ストリー
ムの集合を意味する。program_number(プログラム・ナンバ)は
、プログラムに関連付けされた数値ラベルである。プログラムの定義は、そのプ
ログラムのプログラム・マップ・テーブルを含むトランスポート・ストリーム・
パケットとして搬送される。プログラム・マップ・テーブルは、特に、各プログ
ラムにいずれのPIDが関連付けされているか、したがって、いずれのエレメン
タリ・ストリームが関連付けされているかということについての情報を指定する
。プログラム結合テーブルは、program_number(プログラム・ナ
ンバ)とプログラム・マップ・テーブルの間の対応関係を与える。またPMTは
、各プログラムに関するPCR(プログラム・クロック・リファレンス)を搬送
するトランスポート・ストリーム・パケットのPIDを表示する。条件アクセス
・テーブルは、スクランブル情報を含み、またネットワーク情報テーブルは、ネ
ットワーク情報を提供することができるが、標準によるそのコンテンツの定義は
なされていない。
【0027】
【表1】
【0028】 適応フィールド 前述したように、トランスポート・ストリーム・ヘッダには、オプションによ
り適応フィールドを含めることができる。TSH内の適応フィールド・コントロ
ール・ビットは、適応フィールドおよび/またはペイロードの有無を表示する。
適応フィールド・コントロール値を表2に示す。
【0029】
【表2】
【0030】 適応フィールドが存在するときは、次の表4に示す記述が用いられる。
【0031】
【表3】
【0032】 PESパケット PESパケットは、次の表4に示す構造を有している。
【0033】
【表4】
【0034】 プライベート・データ MPEG−2トランスポート・ストリームは、ユーザ・データを搬送すること
ができる。ユーザ・データは、パケットのトランスポート・ヘッダの適応フィー
ルド内にプライベート・データとして詰め込むことができる。これは、プログラ
ムのプライベート・エレメンタリ・ストリームとして配信が可能である。また、
トランスポート・ストリームのPESヘッダ内のプライベート・データとして配
信することもできる。さらにMPEG−2では、プログラム結合テーブル内のプ
ログラム・マップ・テーブルPIDとしてPID値を指定することによってトラ
ンスポート・ストリーム・パケット内においてプライベート・データを送ること
を許容している。
【0035】 本発明は、トランスポート・ストリーム内のプライベート・データを配信する
能力を利用して、配信のためにバイトコードを埋め込む。
【0036】 バイトコードの埋め込み MPEG−2トランスポート・ストリームにおけるバイトコードおよびそのほ
かのユーザ・データのトランスポートは、パケットの異なるセグメント内にデー
タを埋め込むことによって達成される。実施形態には、(1)MPEG−2 T
SP 1210のTSヘッダ1220(つまりヘッダ)の適応フィールド122
2にプライベート・データとしてデータを埋め込む方法、(2)MPEG−2
TSP 1210のTSペイロード1230(つまりデータ・ストレージ・セグ
メント)内にプライベート・データとしてデータを埋め込む方法、(3)PES
パケット1100のPESヘッダ1110内に含められるプライベート・エレメ
ンタリ・ストリームとしてデータをトランスポートする方法、および、(4)以
上列挙した方法の組み合わせを使用してデータをトランスポートする方法が含ま
れる。
【0037】 1.適応フィールドによる方法 図4に示されるように、本発明の一実施形態においては、バイトコード・デー
タをプライベート・データとしてMPEG−2 TSパケットの適応フィールド
1222(ヘッダ1220に含まれている)にパッケージングすることができる
。各パケット内のデータを最大化するためにMPEG−2 TSパケット121
0は、TSペイロード1230なしで送ることが認められいる。adaptat
ion_field_control(適応フィールド・コントロール)フィー
ルドが’10であれば、適応フィールド1222の長さが183バイトになる。
このようなMPEG−2 TSパケット1210には、合計で181バイトのバ
イトコード・データを埋め込むことができる。この実施形態のパケット長が最大
188バイトに固定されていることから、ビット・レートは一定であり、再伝送
および同調時間は計算が可能である。
【0038】 プログラムのPCR情報を擁しているPCR PIDトランスポート・ストリ
ーム・パケットは、最小公称レートを有する。これは、ストリーム内におけるこ
れらのPCRの最多反復を定義する。しかしながら、バイトコード・データを搬
送する追加のパケットをPCR PIDパケットとして挿入することができる。
これらのパケットは、同調時間およびそのバイトコード・データ・ストリームに
必要な帯域幅を使用して計算されるレートで導入される。adaptation
_field_control(適応フィールド・コントロール)フラグが’1
0のときは、adaptation_field_lengthの値が183に
なる(トランスポート・ストリーム・ヘッダの残りに4バイト、adaptat
ion_field_lengthに1バイト)。他の適応フィールド・フラグ
用に1バイトを、プライベート・データ長の指定に1バイトをそれぞれ使用する
ため、このパケットを用いて、合計で181バイトのバイトコード・データを送
ることができる。
【0039】 図4を再度参照すると、バイトコードのパケットはバイトコード・トランスポ
ート・ヘッダ601とバイトコード・ストリーム・ヘッダ602を伴って開始す
る。本発明の一実施形態においては、バイトコード・トランスポート・ヘッダ6
01に次のデータを含ませることができる。 バージョン(V)(2ビット) 将来使用するための予約(2ビット) 次の同調時間(64ビット) 次の再伝送時間(60ビット)
【0040】 「次の同調時間」は、デコーダがデコーディングを開始できる次の同調ポイン
トである。これは、セッションに必要なすべてのクラス/オブジェクトの再伝送
の開始をマークする。MPEG−2実装においては、この時間が90メガヘルツ
・クロックのティックを単位として測定される。つまり、ティック数が、そのセ
ッションの開始から測定される。オール・ゼロを用いれば、同調時間が未定義で
あることが示される。
【0041】 「次の再伝送時間」は、クラス/オブジェクトに関する次の再伝送の時間であ
る。この時間は、90メガヘルツ・クロックのティックを単位として測定される
。同調時間が未定義であることを示すときにはオール・ゼロを使用する。このフ
ィールドは、32ビットにそろえるために用いられる。これは、同一チャンネル
内における次のTSペイロード1230の再伝送を反映している。正常なチャン
ネルと再伝送のチャンネルが異なる場合には、次の再伝送時間より早い時期にお
いて、同調のために正常チャンネル内におけるクラス・ファイルの再伝送を行っ
てもよい。
【0042】 2.ペイロードによる方法 ユーザ・データは、プログラムのプライベート・エレメンタリ・ストリームと
して送ることもできる。MPEG−2では、2つのプライベート・エレメンタリ
・ストリーム・タイプ、すなわちPrivate_Stream1/Priva
te_Stream2が許容されている。これらの違いは、これらのストリーム
で搬送するPESヘッダのフォーマットにある。
【0043】 バイトコード・データは、Java(ジャバ)ストリーム・ヘッダもしくはそ
のほかのプライベート・ストリームPESヘッダ等のその等価を伴うタイプPr
ivate_Stream2のプライベート・データとして送ることができる。
図5に示されるように、本発明の別の実施形態においては、MPEG−2 TS
パケットのTSペイロード1230(データ・ストレージ・セグメント)内のデ
ータとしてバイトコード・データをパッケージ化することができる。MPEG−
2トランスポート・ストリーム1200のTSペイロード1230セグメントに
デフラグメントされるべきエレメンタリ・ストリーム・データ1120が不充分
な場合には、それに代えてバイトコード・データを置換することができる。
【0044】 3.PESヘッダによる方法 特定ストリーム・タイプのエレメンタリ・ストリームに関するMPEG−2
PESフォーマットは、プライベート・データがPESヘッダ内で送られるため
のフィールドを有している。PESヘッダ内においてPES_private_
data(PESプライベート・データ)フラグがセットされているときには、
各PESヘッダ内におけるプライベート・データとしてバイトコード・データの
16バイトを送ることができる。PESヘッダは、PESパケットの先頭にのみ
現れ、各PESパケットは、複数のトランスポート・ストリーム・パケットに分
割される。したがって、必ずしもそのPIDのすべてのトランスポート・ストリ
ーム・パケットがPESヘッダを搬送することにはならない。ユーザ・データを
配信するこのテクニックは、送るべき情報があまり帯域幅を必要としないときに
使用することができる。その場合、ビット・レートがわずかに変化することがあ
る。
【0045】 図8に示されるように、バイトコード・データは、PESパケット1100の
PESヘッダ1110内に埋め込まれる。特定ストリーム・タイプのエレメンタ
リ・ストリームに関するMPEG−2 PESフォーマットは、PESヘッダ1
110内で送られるプライベート・データ用のフィールドを有している。PES
_private_data(PESプライベート・データ)フラグがセットさ
れているときには、各PESヘッダ1110内におけるプライベート・データと
してバイトコード・データの16バイトを送ることができる。
【0046】 PESヘッダ1110は、PESパケット1100の先頭にのみ現れる。PE
Sパケット1100のフラグメント化の一部として、各パケットは、複数のMP
EG−2 TSパケット1210に分割される。したがって、必ずしもそのMP
EG−2トランスポート・ストリーム1200内のすべてのMPEG−2 TS
パケット1210がPESヘッダ1110を搬送することにはならない。
【0047】 4.伝送および再伝送のためのバイトコード・データ・トランスポートのハイブ
リッド方法 本発明の別の実施形態においては、上記の方法の組み合わせを使用することが
できる。組み合わせのテクニックは、最初に伝送されるバイトコード・データの
配信レートもしくはメディア・データのそれに影響を与えることなく、バイトコ
ード・データを再伝送する機会を与える。
【0048】 トランスポート・ストリーム・マルチプレクサは、パケットが配信されるレー
トを一定に維持する。一定のビット・レートを維持するために、適応フィールド
内のあらかじめ定義済みのスタッフィング・バイトを使用するバイトコート・デ
ータで、PESパケットならびにその他の情報がトランスポート・ストリーム・
パケットに詰め込まれる(スタッフィング)。スタッフィングは、トランスポー
ト・ストリーム・パケットのペイロード・バイトを完全に満たさなければならな
いPESパケットが不充分な場合にも行われる。この方法においては、プライベ
ート・ストリーム(前述)による方法を使用してバイトコード・データの正常な
伝送が行われる一方、上記のスタッフィング・バイトを置き換えることによって
、同一のバイトコード・データの再伝送を達成することができる。したがって、
この再伝送が帯域幅の増加をもたらすことはなく、ビット・レートを一定に維持
することが可能になる。
【0049】 別のテクニックは、適応フィールドによる方法をバイトコード・データの正常
な伝送に使用する。同じバイトコード・データの再伝送が、PESヘッダ・プラ
イベート・データとして送られる。正常な伝送は、適応フィールド内においてな
され、すべてのデータが固定レートで送られることが保証される。再伝送は、P
ESヘッダを使用してなされ、その結果、帯域幅が極端に増加することはない。
【0050】 別のスキームにおいては、プライベート・ストリーム・テクニックとPESヘ
ッダ・テクニックが組み合わされる。バイトコード・データの再伝送は、上記の
テクニックと同様にPESヘッダ・プライベート・データとしてなされるが、バ
イトコード・データの正常な伝送は、プライベート・ストリームによる方法を用
いてなされる。
【0051】 エラー訂正 上述のハイブリッド・スキームは再伝送の機能を提供する。トランスポート・
ストリーム・パケットが欠落するとバイトコード・データが壊れることから、欠
落したパケットを再提示するために再伝送手段が実装される。可能性のある1つ
のアプローチは、バック・チャンネルのない間に通常の間隔で全クラスの再伝送
を行う方法に関する。これは、メディアの場合のランダム・アクセス・ポイント
を助長する上で役立つ。しかしながら、クライアント数が非常に多いとき、ある
いはクラス(またはオブジェクト)が非常に大きく、再伝送が妨げられるときに
可能性を失う。
【0052】 バック・チャンネルが存在するとき、サーバに対してパケットの欠落を通知す
ることが可能になり、欠落したパケットを再伝送することが可能になる。信頼性
のあるマルチキャスト・スキームが使用されているときは、サーバ以外の場所か
らデータを再伝送することも可能である。
【0053】 部分的なパケットの欠落を回復するために有効な組み込み冗長性を伴うエラー
回復スキームは数多く存在する。たとえば、フォワード・エラー訂正等のスキー
ムを使用することができる。パケット欠落の問題は、ある種の信頼性のあるマル
チキャスト・スキームを使用することによっても部分的に解決することが可能で
ある。本発明の実施形態は、パケットの欠落を解決するための、任意のエラー回
復あるいは任意の高信頼性マルチキャスト・アルゴリズムの使用を容易にする。
【0054】 本発明によるこの方法のオペレーション手段を提供する環境は、ハードウエア
・システム、ソフトウエア・コンポーネント、および以下の説明を考究すること
によって理解可能となるデータ構造を含む。ハードウエア環境、オブジェクト指
向プログラミング、およびJava(商標)プログラミング言語の概要について
つぎに述べる。
【0055】 オブジェクト指向プログラミング オブジェクト指向プログラミングは、特定の基本的なビルディング・ブロック
を組み合わせ、ビルディング・ブロックの間の関係を構築することによってコン
ピュータ・プログラムを記述する方法である。オブジェクト指向プログラミング
・システムにおけるビルディング・ブロックは、「オブジェクト」と呼ばれる。
オブジェクトは、データ構造(1ないし複数のインスタンス変数)およびそのデ
ータを使用し、あるいはそれに影響をあたえることができるオペレーション(メ
ソッド)をグループ化したプログラミング・ユニットである。すなわち、オブジ
ェクトは、データおよび、そのデータに関して実行可能な1ないし複数のオペレ
ーションまたはプロシージャからなる。データおよびオペレーションを単元的な
ビルディング・ブロックに結合することを「カプセル化」と呼んでいる。
【0056】 オブジェクトにインストラクションを与えて、それが「メッセージ」を受け取
ったとき、そのメソッドを実行させることができる。メッセージは、そのオブジ
ェクトに送られて特定のメソッドを実行するコマンドまたはインストラクション
である。メッセージは、メソッドの選択(たとえばメソッドの名前)および複数
の引数からなる。メッセージは、受け取り側のオブジェクトに対して実行するべ
きオペレーションを伝える。
【0057】 オブジェクト指向プログラミングの1つの利点は、メソッドを起動する方法に
ある。メッセージがオブジェクトに送られたとき、メッセージをオブジェクトに
送るとき、それによって特定のメソッドをどのように実行するかということをオ
ブジェクトに伝える必要はない。必要なことは、そのオブジェクトにメソッドの
実行を要求することだけである。これは、プログラム開発を著しく簡素化する。
【0058】 オブジェクト指向プログラミング言語は、「クラス」スキームに基づくものが
支配的である。クラス−ベースのオブジェクト指向プログラミング・スキームに
ついては、1986年9月のOOPSLA 86会報の214〜223ページに
あるLieberman(リーベルマン)による「Using Prototy
pical Objects to Implement Shared Be
havior in Object−Oriented Systems(プロ
トタイプのオブジェクトを使用したオブジェクト指向システムにおける共有の振
る舞いの実装)」に包括的に述べられている。
【0059】 クラスは、通常はそのクラスの変数ならびにメソッドをともに含むオブジェク
トのタイプを定義する。オブジェクト・クラスは、オブジェクトの特定のインス
タンスを生成するために使用される。オブジェクト・クラスのインスタンスは、
そのクラス用に定義された変数およびメソッドを含む。1つのオブジェクト・ク
ラスから、同一クラスの複数のインスタンスを生成することができる。同じオブ
ジェクト・クラスから生成された各インスタンスには、タイプまたはクラスが同
じであるという表現が用いられる。
【0060】 ここで説明のため、「name(名前)」ならびに「salary(サラリー
)」インスタンス変数および「set_salary(サラリー設定)」メソッ
ドを含むことができる「employee(従業員)」オブジェクト・クラスを
考える。「employee(従業員)」オブジェクト・クラスから、組織の各
従業員に関するインスタンスを生成、つまり実例を作ることができる。このとき
、各オブジェクトのインスタンスは「employee(従業員)」タイプであ
ると言う。各「employee(従業員)」オブジェクトのインスタンスは、
それぞれ「name(名前)」ならびに「salary(サラリー)」インスタ
ンス変数および「set_salary(サラリー設定)」メソッドを含んでい
る。各「employee(従業員)」オブジェクトのインスタンスに含まれる
「name(名前)」ならびに「salary(サラリー)」変数に関連付けさ
れた値は、その組織における従業員の名前およびサラリーである。ある従業員の
「employee(従業員)」オブジェクトのインスタンスにメッセージを送
り、「set_salary(サラリー設定)」メソッドを起動してその従業員
のサラリー(つまり、その従業員の「employee(従業員)」オブジェク
ト内の「salary(サラリー)」変数に関連付けされた値)を修正すること
ができる。
【0061】 オブジェクト・クラス定義が1ないし複数のサブクラスを含むように、クラス
の階層構造を定義することができる。サブクラスは、その親(およびさらにその
上の親等)の定義を継承する。階層構造内の各サブクラスは、その親クラスによ
って指定された振る舞いに対する追加もしくは修正を行うことができる。一部の
オブジェクト指向プログラミング言語は、多重継承をサポートしており、それは
、サブクラスが複数の親クラスからクラス定義を継承することができる。そのほ
かのプログラミング言語は、単一の継承のみをサポートしており、それは、クラ
ス定義の継承が単一の親クラスからだけに限定される。Java(商標)プログ
ラミング言語では、「インターフェース」として知られる定数およびアブストラ
クト・メソッド宣言のセットを構成するメカニズムの提供も行われる。オブジェ
クト・クラスは、インターフェース内に定義されているアブストラクト・メソッ
ドを実装することができる。単一および多重継承は、ともにインターフェースに
対して有効である。つまり、インターフェースは、複数の親インターフェースか
らインターフェース定義を継承することができる。
【0062】 オブジェクトは、関連コードおよび変数を含むモジュールを参照するためのオ
ブジェクト指向プログラミング環境で使用される包括的な用語である。オブジェ
クト指向プログラミング言語を使用してソフトウエア・アプリケーションを記述
することは可能であり、その結果、オブジェクトを使用してそのプログラムの機
能を実装することができる。
【0063】 Java(商標)のプログラミングおよび実行 Java(商標)は、多数のクラスおよびインターフェースから構成される。
プログラムがマシン依存の実行可能プログラム・コードにコンパイルされる多く
のプログラミング言語と異なり、Java(商標)クラスは、マシン非依存のバ
イトコード・クラス・ファイルにコンパイルされる。各クラスは、クラス・ファ
イル・フォーマットと呼ばれるプラットフォーム非依存のフォーマットによるコ
ードおよびデータを包含している。実行ビークルとして機能するコンピュータ・
システムは、仮想マシンと呼ばれるプログラムを搭載し、それがJava(商標
)クラスのコードの実行を担当する。この仮想マシンは、バイトコード・クラス
のマシン非依存性と、基礎となるコンピュータ・ハードウエアのマシン依存イン
ストラクション・セットの間のアブストラクションのレベルを提供する。仮想マ
シン内の「クラス・ローダ」は、必要に応じてバイトコード・クラス・ファイル
のロードを行い、インタープリタがそのバイトコードを直接実行するか、もしく
はプロセッサがそれを実行できるように、ジャスト・イン・タイム(JIT)コ
ンパイラによって、そのバイトコードがマシン・コードに変換される。
【0064】 Java(商標)ネットワーク・アプリケーション環境の例 図1は、Java(商標)アプリケーションまたはアプレットの実行のために
、Java(商標)クラス・ファイルにアクセスすることを目的としてネットワ
ーク101を介してサーバ100に接続されるクライアント・プラットフォーム
102を包含するJava(商標)ネットワーク環境の例を示している。
【0065】 図1においてサーバ100は、所定のアプリケーション用のJava(商標)
クラス・ファイルの生成において使用するためのJava(商標)開発環境10
4を包含している。このJava(商標)開発環境104は、エディタおよびア
プレット・ビューワといったクラス・ファイルの生成およびアプレットのプレビ
ューのためのメカニズムを提供する。Java(商標)コア・クラス103のセ
ットは、別の/新しいJava(商標)クラスを含むソース・ファイルが参照す
ることができるJava(商標)クラスのライブラリを構成する。Java(商
標)開発環境104から、1ないし複数のJava(商標)ソース・ファイル1
05が生成される。Java(商標)ソース・ファイル105は、プログラマ可
読クラス定義を包含し、それにはデータ構造、メソッドの実装、およびほかのク
ラスに対する参照が含まれる。Java(商標)ソース・ファイル105は、J
ava(商標)コンパイラ106に提供され、それにおいてJava(商標)ソ
ース・ファイル105は、Java(商標)仮想マシンによって実行可能なバイ
トコードを含むコンパイル済み「.class」(クラス拡張子付き)ファイル
107にコンパイルされる。バイトコード・クラス・ファイル107は、サーバ
100上に(たとえば一時ストレージまたはパーマネント・ストレージに)スト
アされ、ネットワーク101を介してそのダウンロードが可能になる。
【0066】 クライアント・プラットフォーム102は、Java(商標)仮想マシン(J
VM)111を包含しており、この仮想マシンは、有効なネイティブ・オペレー
ティング・システム(O/S)呼び出し112の使用を通じてバイトコード・ク
ラス・ファイルを実行し、かつ実行間の必要に応じてO/S呼び出しを実行する
ことができる。
【0067】 Java(商標)クラス・ファイルは、しばしばHTML(ハイパーテキスト
・マークアップ言語)ドキュメント内においてアプレット・タグによって識別さ
れる。ウェブ・サーバ・アプリケーション108は、「ウェブ・ページ」とも呼
ばれるHTMLドキュメントに対するURL(ユニバーサル・リソース・ロケー
タ)を含むHTTP(ハイパーテキスト・トランスファ・プロトコル)要求に応
答してサーバ100上において実行される。クライアント・プラットフォーム1
02上で実行されるブラウザ・アプリケーションが、ウェブ・サーバ108に対
するURL 109の転送等によってHTMLドキュメントを要求するとき、ブ
ラウザは、そのHTMLドキュメントのアプレット・タグによって識別されたク
ラス・ファイル107のダウンロードを自動的に起動する。クラス・ファイル1
07は、通常、サーバからダウンロードされ、必要に応じて個別に仮想マシン1
11にロードされる。
【0068】 通常、Java(商標)プログラムのクラスは、プログラムの実行間において
可能な限り遅い時期にロードされる;これらは、Java(商標)プログラムの
実行間において最初に参照されたとき、オン−デマンドでネットワーク(サーバ
上にストアされている場合)からロードされるか、ローカル・ファイル・システ
ムからロードされる。仮想マシンは、各クラス・ファイルのロケートおよびロー
ドを行い、クラス・ファイル・フォーマットのパーズを行い、そのクラスの各種
コンポーネントにメモリを割り当て、そのクラスと、すでにロード済みのクラス
のリンクを行う。このプロセスは、仮想マシンによるそのクラス内のコードの容
易な実行を可能にする。
【0069】 コンピュータ実行環境の実施形態 本発明の1つの実施形態は、図2に示すコンピュータ200等の汎用コンピュ
ータ上で実行されるコンピュータ可読プログラム・コードの形式、あるいはその
種のコンピュータ上で動作する仮想マシンによって実行されるバイトコード・ク
ラス・ファイルの形式のコンピュータ・ソフトウエアとして実装することができ
る。キーボード210およびマウス211が双方向システム・バス218に接続
されている。キーボードおよびマウスは、ユーザ入力をコンピュータ・システム
に導入するため、および中央処理ユニット(CPU)213にユーザ入力を伝達
するために備わっている。マウス211およびキーボード210に代えて、ある
いはそれに加えて、このほかの適当な入力デバイスを使用してもよい。双方向シ
ステム・バス218に接続されているI/O(入力/出力)ユニット219は、
プリンタ、A/V(オーディオ/ビデオ)I/O等のI/Oエレメントを表して
いる。
【0070】 コンピュータ200は、ビデオ・メモリ214、メイン・メモリ215および
大容量ストレージ212を備え、これらがすべて、キーボード210、マウス2
11およびCPU 213に加えて双方向システム・バス218に接続されてい
る。大容量ストレージ212には、磁気、光または光磁気ストレージ・システム
等の固定ならびに移動可能メディア、もしくはその他の使用可能な大容量ストレ
ージ・テクノロジを含めることができる。バス218は、たとえばビデオ・メモ
リ214あるいはメイン・メモリ215をアドレスするための32本のアドレス
・ラインを含むものとすることができる。システム・バス218は、たとえばC
PU 213、メイン・メモリ215、ビデオ・メモリ214および大容量スト
レージ212等のコンポーネント間においてデータを転送するための32ビット
のデータ・バスを含むこともできる。なお、このように個別に備えるデータ・ラ
インとアドレス・ラインに代えて、多重データ/アドレス・ラインを使用しても
よい。
【0071】 本発明の一実施形態においては、CPU 213を、680X0プロセッサ等
のMotorola(登録商標)によって製造されているマイクロプロセッサ、
80X86あるいはPentium(登録商標)プロセッサ等のIntel(登
録商標)によって製造されているマイクロプロセッサ、もしくはSun Mic
rosystems(登録商標)のSPARC(登録商標)とする。しかしなが
ら、そのほかの任意の適切なマイクロプロセッサないしマイクロコンピュータを
使用してもよい。メイン・メモリ215は、ダイナミック・ランダム・アクセス
・メモリ(DRAM)から構成される。ビデオ・メモリ214は、デュアル・ポ
ート付きビデオ・ランダム・アクセス・メモリである。ビデオ・メモリ214の
一方のポートは、ビデオ増幅器216に接続されている。ビデオ増幅器216は
、陰極線管(CRT)ラスタ・モニタ217のドライブに使用される。ビデオ増
幅器216は、この分野において周知であり、任意の適切な装置によって実装す
ることができる。この回路は、ビデオ・メモリ214内にストアされるピクセル
・データを、モニタ217による使用に適したラスタ信号に変換する。モニタ2
17は、グラフィック・イメージの表示に適したタイプのモニタとする。
【0072】 コンピュータ200は、バス218に接続される通信インターフェース220
を備えている。通信インターフェース220は、ネットワーク・リンク221を
介してローカル・ネットワーク222に接続する双方向データ通信を行う。たと
えば、通信インターフェース220を総合ディジタル通信サービス(ISDN)
カードまたはモデムとするとき、通信インターフェース220は、ネットワーク
・リンク221の一部を構成する、対応するタイプの電話回線に対するデータ通
信接続を行う。また、通信インターフェース220がローカル・エリア・ネット
ワーク(LAN)カードの場合に通信インターフェース220は、ネットワーク
・リンク221を介して、互換性のあるLANに対するデータ通信接続を行う。
ワイヤレス・リンクも可能である。通信インターフェース220は、これらのい
ずれの実装態様においても、各種タイプの情報を表すディジタル・データ・スト
リームを搬送する電気的、電気磁気的または光学的信号を送受する。
【0073】 ネットワーク・リンク221は、通常、1ないし複数のネットワークを介して
別のデータ・デバイスにデータを通信する。たとえばネットワーク・リンク22
1は、ローカル・ネットワーク222を介してホスト・コンピュータ223また
は、インターネット・サービス・プロバイダ(ISP)224によって運用され
るデータ装置と通信することが考えられる。一方、ISP 224は、現在は広
く「インターネット」225と呼ばれているワールド・ワイド・パケット・デー
タ通信ネットワークを通じてデータ通信サービスを実施する。ローカル・ネット
ワーク222およびインターネット225は、ともにディジタル・データ・スト
リームを搬送する電気的、電気磁気的または光学的信号を使用する。コンピュー
タ200からおよびそこへディジタル・データを搬送する、これら各種ネットワ
ークを通る信号、ネットワーク・リンク221上の信号、および通信インターフ
ェース220を通る信号は、情報を伝達する搬送波の形式の一例である。
【0074】 コンピュータ200は、ネットワーク(1ないし複数)、ネットワーク・リン
ク221、および通信インターフェース220を介して、メッセージを送信し、
プログラム・コードを含めたデータを受信する。インターネットの場合を例にと
れば、サーバ226が、要求されたアプリケーション・プログラム用のコードを
インターネット225、ISP 224、ローカル・ネットワーク222および
通信インターフェース220を介して伝送することが考えられる。
【0075】 受信されたコードは、CPU 213がその受信時に実行し、かつ/または後
の実行のために、大容量ストレージ212もしくは別の不揮発性ストレージに内
にストアする。このようにしてコンピュータ200は、搬送波の形式でアプリケ
ーション・コードを獲得することができる。
【0076】 なお、上に述べたコンピュータ・システムは、例示のみを目的としたものであ
る。本発明の実施形態は、任意のタイプのコンピュータ・システムまたはプログ
ラミングもしくはプロセス環境において実装することができる。
【0077】 以上、バイトコード・ストリームの適時配信を提供するための方法および装置
について、1ないし複数の具体的な実施形態との関連から説明してきた。本発明
については、特許請求の範囲によって、およびそれと等価であるすべて範囲によ
って定義される。
【図面の簡単な説明】
【図1】 Java(商標)ネットワーク・アプリケーション環境の実施形態を示す。
【図2】 本発明の実施形態に適切な実行環境を提供することができるコンピュータ・シ
ステムの実施形態を示したブロック図である。
【図3】 本発明の一実施形態に従ったデータのパケット化、フラグメント化、および伝
送の方法を示したブロック図である。
【図4】 本発明の一実施形態に従ったパケットの適応フィールド内にバイトコード・デ
ータを埋め込む方法を図示している。
【図5】 本発明の一実施形態に従ったMPEG−2トランスポート・ストリーム・パケ
ットのペイロード・セグメント内にバイトコードを埋め込む方法を図示している
【図6】 PESパケットのPESヘッダ内にバイトコード・データを埋め込む方法を図
示している。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,UZ,VN,YU,ZA,ZW (71)出願人 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 フェルナンド,ジェラルド アメリカ合衆国・94040・カリフォルニア 州・マウンテン ビュー・ウェイヴァリー プレイス・142 (72)発明者 パリコンダ,ラグウヴェア アメリカ合衆国・95051・カリフォルニア 州・サンタ クララ・クラマス アベニュ ナンバー8・2006 Fターム(参考) 5C059 MA00 RB02 RB09 RC31 RC37 RF23 SS20 SS26 5K034 AA05 BB06 FF01 HH01 HH02 HH06 【要約の続き】 る。本発明とともに使用される1つのトランスポート・ ストリームは、MPEG−2トランスポート・ストリー ムであり、PESパケットをトランスポートする構造化 パケットを含む。一方、これらのトランスポート・スト リーム・パケットは、それら自体の中に、予め決められ たスペースを有している。また、トランスポート・スト リーム内の使用可能なスペースの中にバイトコード・デ ータを埋め込むこともできる。本発明の実施形態の1つ においては、トランスポート・ストリーム・ヘッダまた はトランスポート・ストリーム・ペイロード・セグメン ト内にバイトコードを埋め込むことができる。別の実施 形態においては、バイトコード・データの伝送がプライ ベート・ストリーム・セグメント内でなされ、バイトコ ード・データの再伝送がPESパケットの別の領域にお いてなされる。さらに別の実施形態においては、バイト コード・データの伝送が適応フィールド内においてなさ れ、PESヘッダのプライベート・データとして再伝送 データが送られる。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 トランスポート・ストリーム内にバイトコードを包含ませる
    方法において: 前記トランスポート・ストリーム内のデリミタを調べて使用可能なスペースの
    ポジションを決定するステップ; 使用可能なスペースの1ないし複数のポジションにバイトコードを埋め込むス
    テップ; を包含することを特徴とする方法。
  2. 【請求項2】 前記ストリームは、1ないし複数のトランスポート・ストリ
    ーム・パケットを包含し、前記1ないし複数のパケットは、ヘッダを有し、 1ないし複数のトランスポート・ストリーム・パケットのヘッダ内にバイトコ
    ードを埋め込むステップ; を包含することを特徴とする前記請求項1記載の方法。
  3. 【請求項3】 前記パケットは、ヘッダおよびペイロードを包含し、 1ないし複数のトランスポート・ストリーム・パケットのペイロード内にバイ
    トコードを埋め込むステップ; を包含することを特徴とする前記請求項2記載の方法。
  4. 【請求項4】 前記パケットはヘッダを含み、前記ヘッダはペイロードの付
    随の有無を示すデリミタを有し、 デリミタを調べるステップ; 1ないし複数のヘッダ内にバイトコードを埋め込むステップ; デリミタがペイロードの付随のないことを示しているとき、1ないし複数のペ
    イロード内にバイトコードを埋め込むステップ; を包含することを特徴とする前記請求項2記載の方法。
  5. 【請求項5】 トランスポート・ストリーム内にバイトコードを包含させる
    方法において: ヘッダおよびデータ・ストレージ・セグメントを有するデータ・パケットを獲
    得するステップ; 前記ヘッダ内にバイトコードを埋め込むステップ; を包含することを特徴とする方法。
  6. 【請求項6】 トランスポート・ストリーム内にバイトコードを包含させる
    方法において: ヘッダおよびデータ・ストレージ・セグメントを有するデータ・パケットを獲
    得するステップ; 前記データ・ストレージ・セグメント内にバイトコードを埋め込むステップ; を包含することを特徴とする方法。
  7. 【請求項7】 バイトコードの伝送および再伝送を行う方法において: 前記請求項6記載の方法を通じてデータを伝送するステップ; 前記請求項2記載の方法を通じてデータを再伝送するステップ; を包含することを特徴とする方法。
  8. 【請求項8】 プロセッサ; メモリ; 前記プロセッサによって実行され、トランスポート・ストリーム内にバイトコ
    ードを含むように構成されたコードであって: 前記トランスポート・ストリーム内のデリミタを調べて使用可能なスペースの
    ポジションを決定する方法; 使用可能なスペースの1ないし複数のポジションにバイトコードを埋め込む方
    法を包含しているコード; を有するシステム。
  9. 【請求項9】 前記ストリームは、1ないし複数のトランスポート・ストリ
    ーム・パケットを包含し、前記1ないし複数のパケットはヘッダを有し、前記コ
    ードは: 1ないし複数のトランスポート・ストリーム・パケットのヘッダ内にバイトコ
    ードを埋め込む方法; を包含することを特徴とする前記請求項8記載のシステム。
  10. 【請求項10】 前記パケットは、ヘッダおよびペイロードを包含し、それ
    において前記コードは: 1ないし複数のトランスポート・ストリーム・パケットのペイロード内にバイ
    トコードを埋め込む方法; を包含することを特徴とする前記請求項9記載のシステム。
  11. 【請求項11】 前記パケットはヘッダを含み、前記ヘッダはペイロードの
    付随の有無を示すデリミタを有し、それにおいて前記コードは: デリミタを調べる方法; 1ないし複数のヘッダ内にバイトコードを埋め込む方法; デリミタがペイロードの付随のないことを示しているとき、1ないし複数のペ
    イロード内にバイトコードを埋め込む方法; を包含することを特徴とする前記請求項9記載のシステム。
  12. 【請求項12】 プロセッサ; メモリ; 前記プロセッサによって実行され、トランスポート・ストリーム内にバイトコ
    ードを包含させるべく構成されたコードであって: ヘッダおよびデータ・ストレージ・セグメントを有するデータ・パケットを獲
    得する方法; 前記ヘッダ内にバイトコードを埋め込む方法を包含しているコード; からなるシステム。
  13. 【請求項13】 プロセッサ; メモリ; 前記プロセッサによって実行され、トランスポート・ストリーム内にバイトコ
    ードを包含させるべく構成されたコードであって: ヘッダおよびデータ・ストレージ・セグメントを有するデータ・パケットを獲
    得する方法; 前記データ・ストレージ・セグメント内にバイトコードを埋め込む方法を包含
    しているコード; からなるシステム。
  14. 【請求項14】 コンピュータ・プログラム製品であって、 バイトコードを配信するべく構成されたコンピュータ可読プログラム・コード
    が具体化されたコンピュータ可使メディアを含み、前記コンピュータ・プログラ
    ムは: コンピュータに、前記トランスポート・ストリーム内のデリミタを調べさせ、
    使用可能なスペースのポジションを決定させるべく構成されたコンピュータ可読
    コード; コンピュータに、使用可能なスペースの1ないし複数のポジションへのバイト
    コードの埋め込みを行わせるべく構成されたコンピュータ可読コード; を包含することを特徴とするコンピュータ・プログラム製品。
  15. 【請求項15】 前記ストリームは、1ないし複数のトランスポート・スト
    リーム・パケットを包含し、前記1ないし複数のパケットは、ヘッダを有し、前
    記コンピュータ・プログラムは: コンピュータに、1ないし複数のトランスポート・ストリーム・パケットのヘ
    ッダ内へのバイトコードの埋め込みを行わせるべく構成されたコンピュータ可読
    コード; を包含することを特徴とする前記請求項14記載のコンピュータ・プログラム
    製品。
  16. 【請求項16】 前記パケットは、ヘッダおよびペイロードを包含し、前記
    コンピュータ・プログラムは: コンピュータに、1ないし複数のトランスポート・ストリーム・パケットのペ
    イロード内へのバイトコードの埋め込みを行わせるべく構成されたコンピュータ
    可読コード; を包含することを特徴とする前記請求項15記載のコンピュータ・プログラム
    製品。
  17. 【請求項17】 前記パケットはヘッダを含み、前記ヘッダはペイロードの
    付随の有無を示すデリミタを有し、前記コンピュータ・プログラムは: デリミタを調べるべく構成されたコンピュータ可読コード; 1ないし複数のヘッダ内にバイトコードを埋め込むべく構成されたコンピュー
    タ可読コード; デリミタがペイロードの付随のないことを示しているとき、1ないし複数のペ
    イロード内にバイトコードを埋め込むべく構成されたコンピュータ可読コード; を包含することを特徴とする前記請求項15記載のコンピュータ・プログラム
    製品。
  18. 【請求項18】 バイトコードを配信するべく構成されたコンピュータ可読
    プログラム・コードが具体化されたコンピュータ可使メディアを包含するコンピ
    ュータ・プログラム製品において: コンピュータに、ヘッダおよびデータ・ストレージ・セグメントを有するデー
    タ・パケットを獲得させるべく構成されたコンピュータ可読コード; コンピュータに、前記ヘッダ内へのバイトコードの埋め込みを行わせるべく構
    成されたコンピュータ可読コード; を包含することを特徴とするコンピュータ・プログラム製品。
  19. 【請求項19】 バイトコードを配信するべく構成されたコンピュータ可読
    プログラム・コードが具体化されたコンピュータ可使メディア;を包含するコン
    ピュータ・プログラム製品において: コンピュータに、ヘッダおよびデータ・ストレージ・セグメントを有するデー
    タ・パケットを獲得させるべく構成されたコンピュータ可読コード; コンピュータに、前記ヘッダ内へのバイトコードの埋め込みを行わせるべく構
    成されたコンピュータ可読コード; を包含することを特徴とするコンピュータ・プログラム製品。
  20. 【請求項20】 バイトコードを配信するべく構成されたコンピュータ可読
    プログラム・コードが具体化されたコンピュータ可使メディアを包含するコンピ
    ュータ・プログラム製品において: コンピュータに、ヘッダおよびデータ・ストレージ・セグメントを有するデー
    タ・パケットを獲得させるべく構成されたコンピュータ可読コード; コンピュータに、前記ヘッダ内へのバイトコードの埋め込みを行わせるべく構
    成されたコンピュータ可読コード; を包含することを特徴とするコンピュータ・プログラム製品。
  21. 【請求項21】 バイトコードを配信するべく構成されたコンピュータ可読
    プログラム・コードが具体化されたコンピュータ可使メディア;を包含するコン
    ピュータ・プログラム製品において: コンピュータに、前記請求項20記載の方法を通じてデータの伝送を行わせる
    べく構成されたコンピュータ可読コード; コンピュータに、前記請求項19記載の方法を通じてデータの再伝送を行わせ
    るべく構成されたコンピュータ可読コード; を包含することを特徴とするコンピュータ・プログラム製品。
JP2000586061A 1998-12-01 1999-11-22 トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置 Expired - Lifetime JP4444510B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/203,551 US6460086B1 (en) 1998-12-01 1998-12-01 Method and apparatus for delivery of a bytecode embedded within a transport stream
US09/203,551 1998-12-01
PCT/US1999/027722 WO2000033532A2 (en) 1998-12-01 1999-11-22 Method and apparatus for delivery of a bytecode embedded within a transport stream

Publications (2)

Publication Number Publication Date
JP2002532009A true JP2002532009A (ja) 2002-09-24
JP4444510B2 JP4444510B2 (ja) 2010-03-31

Family

ID=22754450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000586061A Expired - Lifetime JP4444510B2 (ja) 1998-12-01 1999-11-22 トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置

Country Status (7)

Country Link
US (1) US6460086B1 (ja)
EP (2) EP1445914B1 (ja)
JP (1) JP4444510B2 (ja)
AT (1) ATE270805T1 (ja)
AU (1) AU2155100A (ja)
DE (2) DE69943358D1 (ja)
WO (1) WO2000033532A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009534997A (ja) * 2006-04-24 2009-09-24 クゥアルコム・インコーポレイテッド マルチプレクサと送信機とのインターフェイスプロトコル
KR20150015542A (ko) * 2013-07-26 2015-02-10 삼성전자주식회사 멀티미디어 시스템에서 미디어 컨텐츠 전송 장치
JP2018207308A (ja) * 2017-06-05 2018-12-27 日本電信電話株式会社 通信装置

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099348B1 (en) * 1998-11-03 2006-08-29 Agere Systems Inc. Digital audio broadcast system with local information
FR2786898B1 (fr) * 1998-12-03 2001-08-10 Cit Alcatel Systeme de gestion des interconnexions pour elements de reseau d'un reseau analogique
US7215671B1 (en) * 1999-03-16 2007-05-08 Canon Kabushiki Kaisha Information processing apparatus and method
US7188353B1 (en) * 1999-04-06 2007-03-06 Sharp Laboratories Of America, Inc. System for presenting synchronized HTML documents in digital television receivers
US6453420B1 (en) 1999-04-21 2002-09-17 Research Investment Network, Inc. System, method and article of manufacture for authorizing the use of electronic content utilizing a laser-centric medium
US6529949B1 (en) 2000-02-07 2003-03-04 Interactual Technologies, Inc. System, method and article of manufacture for remote unlocking of local content located on a client device
US6769130B1 (en) 2000-01-20 2004-07-27 Interactual Technologies, Inc. System, method and article of manufacture for late synchronization during the execution of a multimedia event on a plurality of client computers
US7188193B1 (en) * 2000-01-20 2007-03-06 Sonic Solutions, A California Corporation System, method and article of manufacture for a synchronizer component in a multimedia synchronization framework
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
DE60109376T2 (de) * 2000-08-01 2006-01-19 Command Audio Corp., Redwood City Verfahren und Signal zur Übertragung eines Rundfunkprogramms an einen drahtlosen Empfänger
US7689510B2 (en) 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
JP2002100114A (ja) * 2000-09-25 2002-04-05 Canon Inc 再生装置、再生方法、伝送装置、伝送方法及び記憶媒体
JP2002100113A (ja) * 2000-09-25 2002-04-05 Canon Inc 再生装置、再生方法、伝送装置、伝送方法及び記憶媒体
FI110973B (fi) * 2001-05-15 2003-04-30 Digita Oy Menetelmä sovellusten lähettämiseen digitaalisessa yleislähetysverkossa
FR2836317A1 (fr) * 2002-02-19 2003-08-22 Michel Francis Monduc Procede de transmission de messages audio ou video sur le reseau internet
US20030196113A1 (en) * 2002-04-10 2003-10-16 Chris Brown System and method for providing a secure environment for performing conditional access functions for a set top box
US7457312B2 (en) * 2002-06-19 2008-11-25 Microsoft Corporation Bandwidth sharing in advanced streaming format
EP1377034A1 (en) * 2002-06-27 2004-01-02 Thomson Licensing S.A. Data processing device and method for interactive television
US7290057B2 (en) * 2002-08-20 2007-10-30 Microsoft Corporation Media streaming of web content data
DE10240363B3 (de) * 2002-09-02 2004-07-29 Jäger, Rudolf, Dr.rer.nat. Objektgenaue Synchronisation von MPEG-1/-2 kodierten Videoströmen mit Zusatzinformation
US8095500B2 (en) * 2003-06-13 2012-01-10 Brilliant Digital Entertainment, Inc. Methods and systems for searching content in distributed computing networks
US7729992B2 (en) * 2003-06-13 2010-06-01 Brilliant Digital Entertainment, Inc. Monitoring of computer-related resources and associated methods and systems for disbursing compensation
US7720924B2 (en) * 2003-12-12 2010-05-18 Syniverse Icx Corporation System providing methodology for the restoration of original media quality in messaging environments
KR100640390B1 (ko) * 2004-01-17 2006-10-30 삼성전자주식회사 트랜스포트 스트림방식 엠펙-2 시스템의 부가 데이터 삽입 장치와 그 방법
GB0401781D0 (en) * 2004-01-28 2004-03-03 Koninkl Philips Electronics Nv Digital broadcasting terminal
BRPI0517365B1 (pt) 2004-09-23 2019-12-17 Interdigital Madison Patent Holdings inserção de metadados para controle de reprodução em fluxo de transporte de vídeo
US20060168012A1 (en) * 2004-11-24 2006-07-27 Anthony Rose Method and system for electronic messaging via distributed computing networks
WO2006066052A2 (en) 2004-12-16 2006-06-22 Sonic Solutions Methods and systems for use in network management of content
US20060158357A1 (en) * 2005-01-19 2006-07-20 Visteon Global Technologies, Inc. Text compression method for multi-level display
KR20070057558A (ko) * 2005-12-02 2007-06-07 삼성전자주식회사 디지털신호 수신장치 및 디지털신호 송신장치와 이 장치들을 사용하는 방법
US7809018B2 (en) * 2005-12-16 2010-10-05 Coding Technologies Ab Apparatus for generating and interpreting a data stream with segments having specified entry points
KR100969731B1 (ko) * 2005-12-16 2010-07-13 돌비 스웨덴 에이비 데이터의 중요도에 따라 변형된 데이터 스트림을 생성하는장치 및 그 데이터 스트림을 해석하는 장치
WO2007072959A1 (en) * 2005-12-19 2007-06-28 Matsushita Electric Industrial Co., Ltd. Broadcast receiving apparatus
US7803998B2 (en) * 2005-12-21 2010-09-28 Pioneer Hi-Bred International, Inc. Methods and compositions for modifying flower development
CN101390051B (zh) * 2005-12-30 2016-05-25 美国医软科技公司 通过数据封装在医学成像的独立系统/应用程序之间共享进程
US8005990B2 (en) * 2008-02-29 2011-08-23 Newport Media, Inc. Efficient decoding of mobile multimedia multicast system non real-time service files
US8763149B1 (en) * 2008-04-30 2014-06-24 Google Inc. Site dependent embedded media playback manipulation
KR101662843B1 (ko) 2010-03-05 2016-10-14 삼성전자주식회사 데이터 통신 망에서의 스트리밍 서비스 장치 및 방법
CN102387407A (zh) * 2010-08-31 2012-03-21 国基电子(上海)有限公司 实现广播网络条件接收的系统和方法
CN102594773B (zh) * 2011-01-10 2017-03-29 中兴通讯股份有限公司 一种实现数据获取的方法和系统
KR101995221B1 (ko) * 2011-11-24 2019-07-16 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
EP3013059A4 (en) * 2013-06-21 2017-03-22 Sony Corporation Transmission apparatus, transmission method, reproduction apparatus, reproduction method and reception apparatus
US20150033091A1 (en) * 2013-07-23 2015-01-29 Electronics And Telecommunications Research Institute Apparatus and method for requesting retransmission of lost packet based on mpeg media transport system
US10075452B2 (en) 2016-02-18 2018-09-11 Comcast Cable Communications, Llc Distributed content uploading and validation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768539A (en) 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
US5650825A (en) * 1995-03-31 1997-07-22 Matsushita Electric Corporation Of America Method and apparatus for sending private data instead of stuffing bits in an MPEG bit stream
US5790753A (en) * 1996-01-22 1998-08-04 Digital Equipment Corporation System for downloading computer software programs
BR9714600A (pt) 1997-03-21 2002-09-10 Canal Plus Sa Extração de seções de dados de um fluxo de dados transmitidos
US6212327B1 (en) * 1997-11-24 2001-04-03 International Business Machines Corporation Controlling record/playback devices with a computer
US6092120A (en) 1998-06-26 2000-07-18 Sun Microsystems, Inc. Method and apparatus for timely delivery of a byte code and serialized objects stream

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009534997A (ja) * 2006-04-24 2009-09-24 クゥアルコム・インコーポレイテッド マルチプレクサと送信機とのインターフェイスプロトコル
KR20150015542A (ko) * 2013-07-26 2015-02-10 삼성전자주식회사 멀티미디어 시스템에서 미디어 컨텐츠 전송 장치
KR101530825B1 (ko) * 2013-07-26 2015-06-29 삼성전자주식회사 멀티미디어 시스템에서 미디어 컨텐츠 전송 방법
KR20190101351A (ko) * 2013-07-26 2019-08-30 삼성전자주식회사 멀티미디어 시스템에서 미디어 컨텐츠 전송 방법 및 장치
KR102015963B1 (ko) 2013-07-26 2019-08-30 삼성전자주식회사 멀티미디어 시스템에서 미디어 컨텐츠 수신 방법
KR102127733B1 (ko) 2013-07-26 2020-06-30 삼성전자주식회사 멀티미디어 시스템에서 미디어 컨텐츠 전송 방법 및 장치
US11637887B2 (en) 2013-07-26 2023-04-25 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming
JP2018207308A (ja) * 2017-06-05 2018-12-27 日本電信電話株式会社 通信装置

Also Published As

Publication number Publication date
WO2000033532A3 (en) 2000-08-10
DE69918571D1 (de) 2004-08-12
EP1133862B1 (en) 2004-07-07
AU2155100A (en) 2000-06-19
ATE270805T1 (de) 2004-07-15
EP1445914A3 (en) 2005-11-30
US6460086B1 (en) 2002-10-01
DE69918571T2 (de) 2005-08-25
EP1445914B1 (en) 2011-04-13
JP4444510B2 (ja) 2010-03-31
EP1445914A2 (en) 2004-08-11
DE69943358D1 (de) 2011-05-26
WO2000033532A2 (en) 2000-06-08
EP1133862A2 (en) 2001-09-19

Similar Documents

Publication Publication Date Title
JP4444510B2 (ja) トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置
US6092120A (en) Method and apparatus for timely delivery of a byte code and serialized objects stream
US6252889B1 (en) Selectable depacketizer architecture
US6654765B2 (en) Method and apparatus for providing plug-in media decoders
US6343321B2 (en) Method and apparatus for network transport independence
JP5081868B2 (ja) メディア・データ伝送のための方法および装置
KR100607784B1 (ko) 미디어 데이터 전송을 위한 방법 및 장치
US6185602B1 (en) Multi-user interaction of multimedia communication
EP1131930B1 (en) Partitioning of file for emulating streaming
US20060053460A1 (en) Transmission communications management
US20030065804A1 (en) Real Time transport protocol connector
US20050120351A1 (en) System and method for a synchronized shared buffer architecture for multimedia players
EP1819128A2 (en) Method and apparatus for media data transmission

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090902

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100114

R150 Certificate of patent or registration of utility model

Ref document number: 4444510

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

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

EXPY Cancellation because of completion of term