JP3902148B2 - セキュアなipベースのストリーミング - Google Patents
セキュアなipベースのストリーミング Download PDFInfo
- Publication number
- JP3902148B2 JP3902148B2 JP2003071645A JP2003071645A JP3902148B2 JP 3902148 B2 JP3902148 B2 JP 3902148B2 JP 2003071645 A JP2003071645 A JP 2003071645A JP 2003071645 A JP2003071645 A JP 2003071645A JP 3902148 B2 JP3902148 B2 JP 3902148B2
- Authority
- JP
- Japan
- Prior art keywords
- media file
- streaming
- metadata
- encoded
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
本発明は、一般にストリーミングの分野に関し、特にセキュアなIPベースのストリーミングに関する。
【0002】
【従来の技術】
近年、インターネットの利用が盛んになるのにつれて、情報とアイディアの交換も盛んになった。特に、ファイル共有がますます盛んになりつつある。ファイル共有は初めのうち、FTPとgopherを用いて実現していた。次いで、TCP/IPとウェブの利用が盛んになるのにつれて、ユーザはウェブ・ブラウザを用いてファイルをダウンロードし始めた。現在では、ストリーミングの利用が普及した。というのは、ストリーミングを利用すれば、ユーザはメディア・ファイルをダウンロードするのと同時にそれを体験することができるからである。しかしながら、インターネットが拡大した結果、保護されたコンテンツをアクセス制御する分野において奇妙な障害が生じるようになった。すなわち、ユーザがますます大量のファイルを迅速に送受信するのにつれて、アクセス制御よりも情報の自由な流れが優先される可能性が出てきた。この結果、保護されたコンテンツのセキュア・ストリーミングが必要になった。しかし、セキュア・ストリーミングには欠点がある。
【0003】
図1はセキュア・ストリーミング用の典型的な従来技術システムのシステム・アーキテクチャ全体を説明するブロック図である。ストリーミング・サーバ・コンピュータ・システム108はクライアントへのストリーミング用にMPEG2ビデオ・ファイルなどのメディア・ファイルを供給する。コンテンツ・マスタリング・システム110はメディア・ファイルを生成し、オーサリングし、それをストリーミング・サーバ108に供給するシステム機能を備えている。サーバ108は供給されたメディア・ファイルをネットワーク106、たとえばインターネットを介してストリーミングする。ユーザ102はクライアント・コンピュータ・システム104(たとえば家庭用パーソナル・コンピュータ)を用いてストリーミング・メディア・ファイルをサーバ108からネットワーク106を介して受信する。クライアント104、サーバ108、およびコンテンツ・マスタリング・システムのコンピュータ・システム、ならびにネットワーク106は、下で詳細に説明する。
【0004】
セキュア・ストリーミングの問題に対する周知の方法を図2に示す。図2はセキュア・ストリーミング用の従来技術システムのプロセス全体を示す機能図である。図2には、エンコードされたコンテンツ・データ部と付随するプレーン(平文)メタデータ部を備えたエンコードされた(すなわち圧縮された)メディア・ファイル202が示されている。(メタデータとは、データに関するデータのことである。)メディア・ファイル202はMPEG2ビデオ・ファイル、Windows(R) Media Playerビデオ・ファイル、QuickTimeビデオ・ファイル、MP3音声ファイル、その他ストリーミングしうるエンコードされた任意のメディア・ファイルである。コンテンツ・マスタリング・システム110(図1参照)上で、暗号化モジュール204がメディア・ファイル202を読み取る。暗号化モジュール204は、プレーン・メタデータとエンコードされ/暗号化されたコンテンツ・データを含むメディア・ファイル206を生成する。
【0005】
次いで、ストリーミング・サーバ108がメディア・ファイル206を読み取る。ストリーミング・サーバ108はWindows(R) Media Streaming Server、QuickTime Streaming Server、Darwin Streaming Server 、その他ネットワークを介してメディア・ファイルをストリーミングすることのできる任意のサーバである。ストリーミング・サーバ108はメディア・ファイル206を有限個のデータ・バケットに分割する。これらのデータ・パケットはネットワーク106を介してクライアント104にストリーミングされる。クライアント104では、ストリーミング・クライアント209がデータ・パケットを受信する。次いで、復号/デコード・モジュール210がこれらのデータ・パケットを処理する。復号/デコード・モジュール210はプレーン・コンテンツ・データを含むメディア・ファイル212を生成する。次いで、メディア・ファイル212はレンダラー214に供給される。レンダラー214はメディア・ファイル212を再生したり読み取ったりする。
【0006】
図3は図2の従来技術システムのプロセス全体の動作と制御フローを示すフローチャートを示す図である。コンテンツ・マスタリング・システム110(図1参照)では、図3の制御フローはステップ302で開始したのち、直ちにステップ304に進む。ステップ304では、エンコードされたコンテンツ・データ部と付随するプレーン・メタデータ部を備えたエンコードされたメディア・ファイル202(図2参照)を暗号化モジュール204に供給する。ステップ306では、暗号化モジュール204がメディア・ファイル202のエンコードされたコンテンツ・データ部を暗号化する。この結果、プレーン・メタデータとエンコードされ/暗号化されたコンテンツ・データが生成される。ステップ308では、メディア・ファイル206をストリーミング・サーバ108に供給する。ステップ310では、ストリーミング・サーバ108はメディア・ファイル206を有限個のデータ・パケットに分割し、分割したパケットをクライアント104にネットワーク106を介してストリーミングする。また、ステップ310では、ストリーミング・サーバ108はエンコードされ/暗号化されたメディア・ファイル206中のメタデータに従ってストリーミング・パラメータの設定も行なう。
【0007】
クライアント104では、ステップ312で、ストリーミング・クライアント209がデータ・パケットをネットワーク106経由で受信する。次いで、ステップ314で、復号/デコード・モジュール210が受信したデータ・パケットを復号したのちデコードする。ステップ314の結果、プレーン・コンテンツ・データを含むメディア・ファイル212が生成される。ステップ316では、メディア・ファイル212をレンダラー316に供給する。レンダラー316はメディア・ファイル212中のコンテンツ・データをレンダーする。ステップ318で、制御フローは終了する。
【0008】
しかしながら、図2と図3に示した方法には欠点がある。1つの欠点は、ステップ306の暗号化プロセス(モジュール204参照)とステップ314の復号プロセス(モジュール210参照)がフォーマットを知っていなければならない、という点である。すなわち、暗号化プロセスと復号プロセスはメディア・ファイル202のメディア・フォーマットを特定している情報を保持していなければならない。コンテンツ・マスタリング・システム110では、ステップ306の暗号化プロセスはメディア・ファイル202に付随するメタデータを読み取ることにより、メディア・ファイル202のメディア・フォーマットを特定している。同様に、クライアント104では、ステップ314の復号プロセスはクライアント104に送られてきたデータ・パケットに含まれている、メディア・ファイル202に付随するメタデータを読み取ることにより、メディア・ファイル202のメディア・フォーマットを特定している。従来技術プロセスのフォーマット依存性は、システムの互換性を低下させるから、不都合である。さらに、新たなフォーマットが普及すると、システムの使用可能性が制限される。
【0009】
従来技術システムの別の欠点は、データ・パケット・ロスが生じたときに、クライアント104におけるメディア・ファイルの質が低下する可能性がある点である。すなわち、暗号化プロセスでブロック暗号化を用いている場合、ストリーミング・プロセスの間におけるデータ・パケット・ロスはクライアント104が受信するメディア・ファイル・データの質に悪影響を及ぼす。これは、高品質のストリーミング・メディアが必要な場合には、不都合である。従来技術システムのさらに別の欠点は、暗号化プロセスがコンテンツ・データのサイズを変更したら、データ・パケットのコンテンツを作りなおす必要がある点である。これは、時間と資源を消費するプロセスをさらにシステムに付加するから、不都合である。以上のとおりであるから、上述したような従来技術に付随する課題を解決することが求められている。特に、データを効率的かつ安全にストリーミングする方法が求められている。
【0010】
【課題を解決するための手段】
手短に言えば、本発明に従いここに開示するのは、セキュアなIPベースのストリーミングをフォーマットに無関係な方法で実現するシステム、方法、およびコンピュータ読み取り可能な媒体である。本発明の一実例において、本発明に係る方法はコンテンツ・マスタリング・システムでコンテンツ・データと付随するメタデータを含むメディア・ファイルを処理することから開始する。まず、エンコードされたメディア・ファイルからメタデータを読み取る。次に、コンテンツ・データと付随するメタデータを含むエンコードされたメディア・ファイルを暗号化する。次いで、コンテンツ・データをストリーミング・サーバ・システムにメタデータと無関係にロードする。次いで、ストリーミング・サーバ・システムで、エンコードされ/暗号化されたメディア・ファイルを複数のデータ・パケットに分割したのち、メタデータ中の少なくとも1つのパラメータに従ってストリーミングする。各データ・パケットはエンコードされ/暗号化されたメディア・ファイルの一部と、エンコードされ/暗号化されたメディア・ファイル中の場所に対応するオフセット値とを含んでいる。次いで、データ・パケットをクライアント情報処理システム(すなわちクライアント)にネットワークを介してストリーミングする。
【0011】
本発明の一実例において、本発明に係る方法はクライアント情報処理システムで(上述した)複数のデータ・パケットをネットワークを介して受信することから開始する。まず、クライアントは各データ・パケットに含まれているオフセット値を用いて各データ・パケットを復号する。次いで、クライアントは各データ・パケットをデコードする。最後に、クライアントは各データ・パケット中のコンテンツ・データをレンダーする。
【0012】
本発明の上述した実例は、メディア・ファイルをフォーマットと無関係にストリーミングすることができるから、好都合である。エンコードされたメディア・ファイルを暗号化してストリーミングする前に、プリプロセッサがエンコードされたメディア・ファイルから必要なメタデータを読み取る。これにより、サーバはメディア・ファイルのフォーマットをまったく考慮することなく、エンコードされ/暗号化されたメディア・ファイルをストリーミングすることができる。この結果、セキュア・ストリーミング・システムの使用可能性と互換性が向上する。本発明の別の利点は、パケット・ロスが発生しても暗号化/復号プロセスがストリーミング・データの質に影響しない、という点である。この結果、ストリーミング・データの質が向上するとともに、システム効率も向上する。
【0013】
【発明の実施の形態】
〔用語〕
本発明をより明瞭に指摘して記述するために、本明細書を通じて次に示す用語の定義をできるかぎり守るように努めた。
【0014】
頭字語「UDP」はUser Datagram Protocolを指している。UDPはネットワーク層プロトコル、トランスポート層プロトコル、およびセッション層プロトコルを組み合わせたものであり、インターネット上のデータ交換用に広く用いられている。
【0015】
頭字語「IP」はInternet Protocol を指している。IPはパケット交換型ネットワーク層プロトコルであり、イーサネット(R)とインターネット上のデータ交換用に広く用いられている。
【0016】
頭字語「TCP」はTransmission control Protocol を指している。TCPはIP上に構築されたトランスポート層プロトコルである。TCPは通常、TCP/IPと記載される。
【0017】
頭字語「RTP」はReal Time Transport Protocolを指している。RTPは通常、UDP上で実行され普通に使用されるストリーミング・プロトコルである。
【0018】
頭字語「RTCP」はReal Time Transport Control Protocolを指している。RTCPは通常、RTP上で実行されるトランスポート層プロトコルである。
【0019】
頭字語「RTSP」はReal Time Streaming Protocolを指している。RTSPはストリーミング・データをブロードキャストするために提案されたプロトコルである。
【0020】
頭字語「MPEG」はMotion Picture Experts Groupを指している。MPEGはマルチメディア圧縮標準を開発し規制している国際的な組織である。MPEG1とMPEG2は圧縮アルゴリズムであり、音声ファイル、ビデオ・ファイル、およびマルチメディア・ファイルを圧縮するのに広く用いられている。MPEG1とMPEG2はストリーミング・メディア・プロトコルでもある。
【0021】
頭字語「SEAL」は特殊なストリーム暗号を指している。ストリーム暗号はデータ・ストリーム中の各ビットに適用される対称暗号アルゴリズムである。これに対して、ブロック暗号はデータ・ストリーム中のデータのブロックに適用される。
【0022】
頭字語「DES」はData Encryption Standardを指している。DESは64ビットのブロックを処理する56ビットのブロック暗号である。
【0023】
頭字語「AES」はAdvanced Encryption Standardを指している。AESはDESの後継として開発された128ビット暗号である。AESはカウンタ・モードで使用する場合、ブロック暗号またはストリーム暗号として使用することができる。
【0024】
用語「プレーン」または「クリア」は正常に読み取りまたはレンダーされないように行なう暗号化、圧縮、またはエンコードがなされていないデータを指すのに使用する。すなわち、プレーン・データとは、そのようなデータを読み取るまたはレンダーするのに通常使われるアプリケーションによって読み取りまたはレンダーしうるデータのことである。テキスト・ファイルはワードプロセッサで読み取ることができるから、プレーン・データである。しかし、暗号化されたテキスト・ファイルは、復号アプリケーションで復号しないとワードプロセッサで閲読できないから、プレーン・データではない。
【0025】
〔概要〕
好適な実施形態による本発明は、フォーマットに無関係な方法でのデータのセキュアIPベースのストリーミングを実現することより、従来技術の課題を解決している。本発明の典型的な実施形態は、メディア・ファイルをフォーマットに無関係な方法でクライアントに安全にストリーミングするサーバ・システムを提供するものである。さらに、本発明の典型的な実施形態は、メディア・ファイルをフォーマットに無関係な方法でサーバからセキュア・ストリームを介して受信するクライアント・システムを提供するものである。
【0026】
上述したように、図1はセキュア・ストリーミング用の典型的な従来技術システムのシステム・アーキテクチャ全体を示すブロック図である。本発明のシステム・アーキテクチャ全体は、図1の従来技術のシステム・アーキテクチャを踏襲している。上述したように、ストリーミング・サーバ・コンピュータ・システム108は、クライアントにストリーミングするメディア・ファイルを供給する。コンテンツ・マスタリング・システム110はメディア・ファイルを生成し、それをストリーミング・サーバ108に供給する。ストリーミング・サーバ108は供給されたメディア・ファイルを、クライアント・コンピュータ・システム104を利用しているユーザ102にネットワーク106を介してストリーミングする。
【0027】
本発明の一実施形態では、クライアント104、ストリーミング・サーバ108、コンテンツ・マスタリング・システム110など、本発明の実施に必要なコンピュータは、少なくとも1つのパーソナル・コンピュータ(PC)(たとえばMicrosoft Windows(R) 95/98/2000/ME/CE/NT/XPオペレーティング・システムまたはLINUX オペレーティング・システムが実行されているIBM PCワークステーションまたは互換PCワークステーション、Mac OSオペレーティング・システムが実行されているMacintosh コンピュータ、または、これらの等価物)、PDA(Personal Digital Assistant: 携帯情報端末)、ゲーム機、その他のコンピュータ処理装置から成る。本発明の別の実施形態では、ストリーミング・サーバ108とコンテンツ・マスタリング・システム110のコンピュータ・システムは、少なくとも1つのサーバ・システム(たとえばSunOS またはAIX オペレーティング・システムが実行されているSUN Ultra ワークステーション、またはAIX オペレーティング・システムが実行さているIBM RS/6000 ワークステーションおよびサーバ)から成る。
【0028】
本発明の一実施形態では、図1はクライアント104をストリーミング・サーバ108に接続するネットワーク106を示している。本発明の一実施形態では、ネットワーク106は回路交換型ネットワーク、たとえばPSTN(Public Switched Telephone Network:公衆交換電話網)である。本発明の別の実施形態では、ネットワーク106はパケット交換型ネットワークである。このパケット交換型ネットワークはWAN(wide area network 、たとえば地球規模のインターネット)、専用WAN、LAN(local area network)、通信ネットワーク、またはこれらネットワークの任意の組み合わせである。本発明の別の実施形態では、ネットワーク016は有線ネットワーク、無線ネットワーク、ブロードキャスト・ネットワーク、またはポイントツーポイント・ネットワークである。本発明の別の実施形態では、クライアント104はストリーミング・サーバ108のコンピュータ・システムと同じコンピュータ・システム上で実行している。この場合、ネットワーク106は不要になる。
【0029】
〔本発明の動作〕
図4は本発明の一実施形態のプロセス全体を示す機能図である。図4には、エンコードされたデータ部と付随するメタデータ部とから成るエンコードされたメディア・ファイル402が示されている。本発明の一実施形態では、エンコードされたメディア・ファイル402は、MPEG 2ビデオ・ファイル、Windows(R) Media Playerビデオ・ファイル、QuickTime ビデオ・ファイル、MP3 音声ファイル、その他ストリーミングしうる任意のメディア・ファイルである。このエンコードされたメディア・ファイル402は、コンテンツ・マスタリング・システム110(図1参照)においてプリプロセッサ404が読み取る。本発明の一実施形態では、プリプロセッサ404はハードウェア、ソフトウェア、またはこれらの任意の組み合わせで実現する。プリプロセッサ404はコンテンツ・データおよびメタデータの双方が暗号化されたエンコードされ/暗号化されたメディア・ファイル406と、プレーン・メタデータ405とを生成する。
【0030】
次いで、ストリーミング・サーバ108がエンコードされ/暗号化されたメディア・ファイル406とプレーン・メタデータ405を読み取る。本発明の一実施形態では、ストリーミング・サーバ108は市販のストリーミング・サーバ、たとえばWindows(R) Media Streaming Server、QuickTime Streaming Server、Darwin Streaming Server などの変更版である。この実施形態では、上述した市販のストリーミング・サーバを変更してストリーミング用のエンコードされ/暗号化されたメディア・ファイル、たとえばエンコードされ/暗号化されたメディア・ファイル406を受信しうるようにする必要がある。上述した市販のストリーミング・サーバは、図3のステップ310のように受信したメディア・ファイルからメタデータを読み取る代わりに、プレーン・メタデータ、たとえばプレーン・メタデータ405を受容しうるようにも変更する必要がある。
【0031】
次いで、ストリーミング・サーバ108がメディア・ファイル406を有限個のデータ・パケットに分割する。分割されたデータ・パケットはクライアント104にネットワーク106を介してストリーミングされる。各データ・パケットはオフセット値を備えている。オフセット値については下で詳述する。クライアント104では、ストリーミング・クライアント/復号モジュール410がデータ・パケットを受信する。本発明の一実施形態では、ストリーミング・クライアント/復号モジュール410はハードウェア、ソフトウェア、またはこれらの任意の組み合わせで実現する。
ストリーミング・クライアント/復号モジュール410は、復号されたコンテンツ・データと付随するメタデータとを含む復号されているがエンコードされたままのメディア・ファイル412を生成する。
【0032】
次に、復号されているがエンコードされたままのメディア・ファイル412をデコーダ・モジュール414に供給する。本発明の一実施形態によれば、デコーダ・モジュール414はハードウェア、ソフトウェア、またはこれらの任意の組み合わせで実現することができる。デコーダ・モジュール414はプレーン・コンテンツ・デーダを含むメディア・ファイル416を生成する。次いで、メディア・ファイル416をレンダラー418に供給する。レンダラー418はメディア・ファイル416を再生するか読み取るかする。本発明の一実施形態では、レンダラー418はMicrosoft Windows(R) Media Player、Quick Time 、WinAmp、iTunes、その他上述したメディア・ファイルの再生または閲覧用の任意のコンピュータ・プログラムである。
【0033】
図5は本発明の一実施形態のプロセス全体の動作と制御フローを示すフローチャートを示す図である。図5は図4の機能図をより詳細に示すものである。図5の制御フローはステップ502で開始し、直ちにステップ504に進む。ステップ504では、コンテンツ・マスタリング・システム110において、エンコードされたメディア・ファイル402をプリプロセッサ404に供給する。ステップ506では、プリプロセッサ404はメディア・ファイル402からプレーン・メタデータ405を抽出したのち、エンコードされたメディア・ファイル402全体を暗号化する。
【0034】
本発明の一実施形態では、プリプロセッサ404は最小限、エンコードされたメディア・ファイル402に付随するビットレート値とメディア種別を抽出する。このビットレート値はメディア・ファイル402をクライアント104にストリーミングする際に依拠すべき速度をストリーミング・サーバ108に指示するものである。本発明の別の実施形態では、プリプロセッサ404はメディア・ファイル402中のIフレームの位置を記述したインデックス・データを抽出する。インデックス・データはクライアント104にストリーミングするためにメディア・ファイル402中にデータを準備する方法をストリーミング・サーバ108に指示するものである。本発明の別の実施形態では、プリプロセッサ404はメディア・ファイル402をクライアント104にストリーミングするのに必要な他のすべてのメタデータを抽出する。
【0035】
本発明の一実施形態では、プリプロセッサ404はストリーム暗号アルゴリズム、たとえばSEALストリーム暗号またはカウンタ・モードのAESを用いて、エンコードされたメディア・ファイル402を暗号化する。この結果、エンコードされ/暗号化されたメディア・ファイル406が得られる。本発明の別の実施形態では、プリプロセッサ404は当業者に公知の任意の暗号化アルゴリズムを用いてデータを暗号化する。
【0036】
ステップ508では、エンコードされ/暗号化されたメディア・ファイル406とプレーン・メタデータ405をストリーミング・サーバ108に供給する。上述したように、ストリーミング・サーバ108に供給するプレーン・メタデータ405、たとえばビットレートまたはIフレーム・インデックス・データはメディア・ファイル402をストリーミングするのに付随する情報を提供するものである。ステップ510では、ストリーミング・サーバ108はプレーン・メタデータ405を用いてエンコードされ/暗号化されたメディア・ファイル406をデータ・パケットに分割する。各データ・パケットはオフセット値を含んでいる。次いで、ストリーミング・サーバ108はデータ・パケットをクライアント104にストリーミングし始める。本発明の一実施形態では、ストリーミング・サーバ108はUDP上で実行されるRTPプロトコルを用いてデータ・パケットをクライアント104にストリーミングする。本発明の別の実施形態では、ストリーミング・サーバ108はRTPと協働するRTSPプロトコルまたはRTCPプロトコルを用いてデータ・パケットをクライアント104にストリーミングする。本発明のさらに別の実施形態では、ストリーミング・サーバ108はMPEG1ストリーミング・プロトコルまたはMPEG2ストリーミング・プロトコルを用いてデータ・パケットをクライアント104にストリーミングする。
【0037】
ステップ512では、ストリーミング・クライアント/復号モジュール410がストリーミング・サーバ108から送られてくるデータ・パケットを受信し、各データ・パケット中のオフセット値を使って各データ・パケットを復号し始める。オフセット値はあるデータ・パケットと分割前のメディア・ファイル406全体との間の関係を示すものである。オフセット値については下で詳述する。ストリーミング・クライアント/復号モジュール410はステップ506でプリプロセッサが使用した暗号化アルゴリズムに対応する復号アルゴリズムを使用しなければならない。通常、ステップ512の前にクライアント104と別の主体との間でセッションを行ない、クライアント104はステップ506で使われた暗号化アルゴリズムに対応する復号アルゴリズムで使用するキーを受け取る。
【0038】
本発明の一実施形態では、ステップ512の前にクライアント104とストリーミング・サーバ108との間でハンドシェーク・セッションを行ない、クライアント104は受信したデータ・パケットを復号するのに適したキーを受け取る。本発明の別の実施形態では、クライアント104は自分が認証を受けている第三者、たとえばクリアリングハウスからの通信を経由して復号に適したキーを受け取る。本発明のさらに別の実施形態では、クライアント104は事前定義のアルゴリズムを用いて復号に適したキーを動的に決める。
【0039】
ステップ514では、復号されたがエンコードされたままのメディア・ファイル412をデコーダ414に供給する。デコーダ414は復号されたがエンコードされたままのメディア・ファイル412を復号し始める。デコーダ414はプレーン・コンテンツ・データを含むメディア・ストリーム416を生成する。デコーダ414は、レンダラー418がレンダーしうるようにメディア・ファイル412のフレームを再構築しなければならないから、メディア・ファイル412のフォーマットに依存している。ステップ516では、メディア・ストリーム416をレンダラー418に供給する。レンダラー418はメディア・ストリーム416をレンダーし始める。ステップ518で、図5の制御フローは終了する。
【0040】
本発明のシステムの1つの利点によって、エンコードされたメディア・ファイル402のフォーマットをステップ506の暗号化プロセスおよびステップ510のストリーミング・プロセスと無関係にしうる。メディア・ファイル402をストリーミングするのに必要なメタデータ405はエンコードされ/暗号化されたメディア・ファイル406とは別にストリーミング・サーバ108に供給されるから、ストリーミング・サーバ108はエンコードされ/暗号化されたメディア・ファイル406からこの情報を抽出する必要がない。これにより、ストリーミング・サーバ108はメディア・ファイル402のフォーマットと無関係に動作することができる。この利点により、システムの使用可能性と拡張性が増大する。本発明のシステムのさらに別の利点は、クライアント104がパケット・ロスから容易に回復しうる点である。ステップ506の暗号化の間にストリーム暗号を使用するとともに各パケットがオフセット値を含んでいるから、モジュール410とデコーダ414はデータ・パケット・ロスが発生しても先行するデータ・パケットに再同期することができる。この利点により、クライアント104でレンダーされるストリーミング・データの質が高くなる。
【0041】
本発明のさらに別の利点は、エンコードされ/暗号化されたメディア・ファイル406をクライアント104のダウンロード用に再利用しうる点である。ストリーミング・サーバ108は完全にエンコードされ/暗号化されたメディア・ファイル406を受け取るから、同じファイルをストリーミングの代わりにダウンロード用としてもクライアント104に供給することができる。これはストリーミングに加えダウンロード用にメディア・ファイルを供給しているコンテンツ供給者にとって好都合である。本発明のシステムのさらに別の利点は、本発明のシステムと互換性をとるために既存のストリーミング・システムを容易に改造しうる点である。留意点を挙げると、ステップ512の暗号化はメディア・ファイルのフォーマットとは無関係に行なわれ、暗号化はパケット・レベルで行なわれる。ステップ514の復号機能とステップ516のレンダー機能は既存のストリーミング・システム中にすでに存在するから、クライアント104の既存のストリーミング・システムを復号用のモジュール、たとえばストリーミング・クライアント/復号モジュール410を用いて改造するだけでよい。これにより本発明のシステムの導入が容易になるらから、好都合である。
【0042】
〔パケットの生成〕
図6は本発明の一実施形態においてメディア・ファイルを有限個のデータ・パケットに分割する様子を示すブロック図である。特に、図6は図5のステップ510のデータ・パケット生成プロセスの一実施形態を示す図である。図6には、131072バイトのファイル・サイズから成るメディア・ファイル602が示されている。メディア・ファイル602は図4のエンコードされ/暗号化されたメディア・ファイル406に対応している。図4において述べたように、エンコードされ/暗号化されたメディア・ファイル406はストリーミング・サーバ108がクライアント104にストリーミングするために準備する。本発明の一実施形態では、ストリーミング・サーバ108はメディア・ファイル602を4092バイト(16メガバイトのトークンリングで現在標準的なパケット・サイズ)のデータ・パケットに分割する。しかし、他の実施形態では、ストリーミング・サーバ108が生成するデータ・パケットのサイズはネットワーク106を介してクライアント104にストリーミングするのに適した任意のサイズにすることができる。
【0043】
図6には、第1番目のデータ・パケット604、第2番目のデータ・パケット606、および第32番目のデータ・パケット608が示されている。メディア・ファイル602のサイズは131072バイトであるから、ストリーミング・サーバ108はメディア・ファイル602を4092バイトの等しいサイズの32個のデータ・パケットに分割する。したがって、データ・パケット604はメディア・ファイル602の第1番目の4092バイトを含み、データ・パケット606はメディア・ファイル602の第2番目の4092バイトを含み、という具合に、メディア・ファイル602の131072バイトがすべて、32個のデータ・パケットに分配される。
【0044】
図6には、各データ・パケットがオフセット値を含んでいる様子も示されている。上述したように、オフセット値はメディア・ファイル602中の場所を指示する数である。具体的には、この典型的な実施形態では、あるデータ・パケット中のオフセット値は分割する前のメディア・ファイル602において当該データ・パケットの第1バイトが占める位置を指示している。したがって、データ・パケット604のオフセット「0」はデータ・パケット604の第1バイトがメディア・ファイル602の第1番目のバイトであることを示している。さらに、データ・パケット606のオフセット「4096」はデータ・パケット606の第1バイトがメディア・ファイル602の第4096番目のバイトであることを示している。最後に、データ・パケット608のオフセット「126976」はデータ・パケット608の第1バイトがメディア・ファイル602の第126976番目のバイトであることを示している。ストリーミング・サーバ108がデータ・パケットをクライアント104にストリーミングするのにRTPを用いる一実施形態では、データ・パケットのオフセット値はRTPデータ・パケットのペイロード・データ部またはRTPデータ・パケットのヘッダ部に位置している。ステップ512で上述したように、クライアント104がデータ・パケットを復号すると、データ・パケットのオフセット値はメディア・ファイル602をどのように復号すべきであるかを示している。(オフセット値が指し示す位置に復号されたデータ・パケットを挿入することにより、メディア・ファイル602を復元することができる。)
【0045】
〔典型的な実装〕
本発明はハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現することができる。本発明の好適な実施形態によるシステムは1つのコンピュータ・システムから成る集中形態、またはいくつかの相互接続されたコンピュータ・システムに様々な構成要素を分散させた分散形態で実現することができる。あらゆる種類のコンピュータ・システム(またはここで述べた方法を実行するのに適した他の装置)を用いることができる。ハードウェアとソフトウェアの典型的な組み合わせは、ロードし実行したときにここで述べた方法を実行しうるようにコンピュータ・システムを制御するコンピュータ・プログラムを備えた汎用コンピュータ・システムであろう。
【0046】
本発明の一実施形態はコンピュータ・プログラム製品に組み込むこともできる。そのコンピュータ・プログラム製品は、ここで述べた方法を実装しうるようにする機能をすべて備えているとともに、コンピュータ・システムにロードしたときに上記方法を実行することのできるものである。コンピュータ・プログラム手段すなわちこの文脈におけるコンピュータ・プログラムは、情報処理機能を備えたシステムが直接に、または、(a)別の言語への変換、および(b)異なる物質形態での再生産の一方もしくは両方を経たのちに特定の機能を実行しうるように意図された1組の命令から成る任意の言語、コード、または表記法での任意の表現を意味する。
【0047】
コンピュータ・システムは特に、少なくとも1つのコンピュータと少なくとも1つのコンピュータ読み取り可能な媒体とを備えている。これにより、コンピュータ・システムはコンピュータ読み取り可能な媒体から命令、メッセージまたはメッセージ・パケット、その他のコンピュータ読み取り可能な情報を読み取ることができる。コンピュータ読み取り可能な媒体には不揮発性メモリ、たとえばROM、フラッシュ・メモリ、ディスク駆動装置メモリ、その他の永続記憶装置がある。さらに、コンピュータ読み取り可能な媒体には、たとえばRAM、バッファ、キャッシュ・メモリ、ネットワーク回路のような揮発性記憶装置も含まれる。また、コンピュータ読み取り可能な媒体は一時状態媒体、たとえばネットワーク・リンクおよび/またはネットワーク・インタフェースにおけるコンピュータ読み取り可能な情報を備えている。(「Aおよび/またはB」は「AおよびB、A、またはB」を表わす。)上記ネットワークには、コンピュータ・システムが上記コンピュータ読み取り可能な情報を読み取るのを可能にするものであり、有線ネットワークと無線ネットワークが含まれる。
【0048】
図7は本発明の一実施形態を実装するのに役立つコンピュータ・システムのハードウェア階層を示すブロック図である。図示したコンピュータ・システムは少なくとも1つのプロセッサ、たとえばプロセッサ704を備えている。プロセッサ704は通信基盤702(たとえば通信バス、クロスオーバー・バー、またはネットワーク)に接続されている。また、この典型的なコンピュータ・システムに関し、ソフトウェアによる様々な実現方法が述べられている。さらに、この記述を読んだあとで、他のコンピュータ・システムおよび/またはコンピュータ・アーキテクチャを用いて本発明を実現する方法が当業者にとって明らかになる。
【0049】
上記コンピュータ・システムはディスプレイ・インタフェース708を備えることができる。ディスプレイ・インタフェース708は通信基盤702(または図示しないフレーム・バッファ)が出力するグラフィックス・データ、テキスト・データ、その他のデータをディスプレイ装置710に転送して表示させる。上記コンピュータ・システムはメインメモリ706(RAM〔random access memory〕が望ましい)と二次メモリ712をも備えている。二次メモリ712には、たとえばハード・ディスク駆動装置714および/または着脱可能記憶装置駆動装置716がある。着脱可能記憶装置駆動装置716はフレキシブル・ディスク駆動装置、磁気テープ駆動装置、光ディスク駆動装置などを表わしている。着脱可能記憶装置駆動装置716は当業者にとって周知の方法で着脱可能記憶装置718から読み取り、および/または、それに書き込む。着脱可能記憶装置718は着脱可能記憶装置駆動装置716によって読み書きされるフレキシブル・ディスク、磁気テープ、光ディスクなどを表わしている。認識しうるように、着脱可能記憶装置718にはコンピュータ・ソフトウェアおよび/またはデータを内蔵したコンピュータ使用可能な記憶媒体が含まれる。
【0050】
別の実施形態では、二次メモリ712としてコンピュータ・プログラムその他の命令をコンピュータ・システムにロードするのを可能にする他の同様の手段を用いる。そのような手段には、たとえば着脱可能な記憶装置722とインタフェース720がある。着脱可能な記憶装置722とインタフェース720の例として、(ゲーム機に存在するような)プログラム・カートリッジとカートリッジ・インタフェース、(EPROMやPROMのような)着脱可能なメモリ・チップと付随するソケット、その他ソフトウェアとデータを着脱可能な記憶装置722からコンピュータ・システムに転送可能にする着脱可能な記憶装置722とインタフェース720がある。
【0051】
上記コンピュータ・システムは通信インタフェース724をも備えている。通信インタフェース724によって、上記コンピュータ・システムと外部装置との間でソフトウェアとデータを転送することが可能になる。通信インタフェース724の例としては、モデム、(イーサネット(R)・カードのような)ネットワーク・インタフェース、通信ポート、PCMCIAスロットとカードなどがある。通信インタフェース724を経由して転送されるソフトウェアとデータは、たとえば電子信号、電磁信号、光信号、その他通信インタフェース724が受信しうる信号の形態をしている。これらの信号は通信経路(すなわちチャネル)726を経由して通信インタフェース724に供給される。このチャネル726は信号を搬送するものであるが、ワイヤまたはケーブル、光ファイバ、電話線、携帯電話リンク、RFリンク、および/または、他の通信チャネルを用いて実現することができる。
【0052】
この文書では、用語「コンピュータ・プログラム媒体」、「コンピュータ使用可能な媒体」、および「コンピュータ読み取り可能な媒体」は一般に、メインメモリ706と二次メモリ712、着脱可能な記憶装置駆動装置716、ハード・ディスク駆動装置714に装着されたハード・ディスク、および信号を指すのに用いている。これらのコンピュータ・プログラム製品はコンピュータ・システムにソフトウェアを供給する手段である。コンピュータ読み取り可能な媒体は、コンピュータ・システムが当該コンピュータ読み取り可能な媒体からデータ、命令、メッセージまたはメッセージ・パケット、その他のコンピュータ読み取り可能な情報を読み取るのを可能にするものである。コンピュータ読み取り可能な媒体には、たとえばフレキシブル・ディスク、ROM、フラッシュ・メモリ、ディスク駆動装置メモリ、CD−ROM、その他の永続記憶装置などの不揮発性メモリがある。コンピュータ読み取り可能な媒体は、たとえばコンピュータ・システム間でデータやコンピュータ命令などの情報を転送するのに役立つ。さらに、コンピュータ読み取り可能な情報には一時状態媒体中のコンピュータ読み取り可能な情報が含まれる。一時状態媒体とは、たとえばコンピュータがこのようなコンピュータ読み取り可能な情報を読み取るのを可能にするネットワーク・リンクおよび/またはネットワーク・インタフェースであり、有線ネットワークや無線ネットワークが含まれる。
【0053】
コンピュータ・プログラム(コンピュータ制御論理とも呼ばれる)はメインメモリ706および/または二次メモリ712に格納されている。コンピュータ・プログラムは通信インタフェース724を経由して受け取ることもできる。このようなコンピュータ・プログラムが実行されると、コンピュータ・システムはここで述べた本発明の機能を実行することができる。特に、コンピュータ・プログラムが実行されると、プロセッサ704はコンピュータ・システムの機能を実行することができる。したがって、このようなコンピュータ・プログラムはコンピュータ・システムのコントローラを代表している。
【0054】
以上、本発明の特定の実施形態を開示したけれども、当業者が理解しうるように、本発明の本旨と範囲のうちで上記特定の実施形態を変更することができる。したがって、本発明の範囲は特定の実施形態に限定すべきでない。さらに、特許請求の範囲は本発明の範囲内のすべての応用、変更、および実施形態を包含するものである。
【0055】
まとめとして以下の事項を開示する。
(1)
サーバ情報処理システムでストリーミング・データを供給する方法であって、
コンテンツ・データおよび付随するメタデータを含むメディア・ファイルを受信するステップであって、前記メディア・ファイルが既にエンコードされ/暗号化されている、ステップと、
前記メディア・ファイルに付随するプレーン・メタデータを受信するステップと、
前記エンコードされ/暗号化されたメディア・ファイルを複数のデータ・パケットに分割するステップであって、各データ・パケットが前記メディア・ファイルの一部と前記メディア・ファイル内の位置に対応するオフセット値とを含んでいる、ステップと、
前記メディア・ファイルに付随する前記メタデータ中の少なくとも1つのパラメータが指示するとおりに、前記複数のデータ・パケットをネットワークを介してクライアントにストリーミングするステップと
を備えた
方法。
(2)
第1の受信するステップが、
コンテンツ・データおよび付随するメタデータを含むエンコードされたメディア・ファイルを受信するステップであって、前記メディア・ファイルがストリーム暗号を用いて既に暗号化されている、ステップ
を備えている、
上記(1)に記載の方法。
(3)
第1の受信するステップにおいて、さらに、
前記メディア・ファイルがMPEG2圧縮アルゴリズムをを用いて既にエンコードされている、
上記(2)に記載の方法。
(4)
第2の受信するステップが、
前記メディア・ファイルに付随するプレーン・メタデータを受信するステップであって、前記プレーン・メタデータがビットレート値を含んでいる、ステップを備えている、
上記(3)に記載の方法。
(5)
前記ストリーミングするステップが、
前記複数のデータ・パケットをネットワークを介してクライアントにRTPプロトコルを用いてストリーミングするステップ
を備えている、
上記(4)に記載の方法。
(6)
クライアント情報処理システムでストリーミング・データを受信する方法であって、
コンテンツ・データおよび付随するメタデータを含むメディア・ファイルを要求するステップと、
前記要求したメディア・ファイルに関連付けられた少なくとも1つのデータ・パケットを受信するステップであって、各データ・パケットが既に暗号化され/エンコードされている前記メディア・ファイルの一部を含み、かつ、各データ・パケットが前記メディア・ファイル内の位置に対応するオフセット値を含んでいる、ステップと、
各データ・パケット中のオフセット値を用いて各データ・パケットを復号するステップと、
各データ・パケットをデコードするステップと、
各データ・パケット中のコンテンツ・データをレンダーするステップと
を備えた
方法。
(7)
前記復号するステップが、
各データパケット中のオフセット値を用いて各データ・パケットを復号するステップであって、前記復号にストリーム復号アルゴリズムを用いる、ステップを備えている、
上記(6)に記載の方法。
(8)
前記デコードするステップが、
各データ・パケットをデコードするステップであって、前記デコードにMPEG2デコード・アルゴリズムを用いる、ステップ
を備えている、
上記(7)に記載の方法。
(9)
サーバ情報処理システムでストリーミング・データを供給するコンピュータ命令を備えたコンピュータ読み取り可能な媒体であって、前記コンピュータ命令が、
コンテンツ・データおよび付随するメタデータを含むメディア・ファイルを受信する命令であって、前記メディア・ファイルが既にエンコードされ/暗号化されている、命令と、
前記メディア・ファイルに付随するプレーン・メタデータを受信する命令と、
前記エンコードされ/暗号化されたメディア・ファイルを複数のデータ・パケットに分割する命令であって、各データ・パケットが前記メディア・ファイルの一部と前記メディア・ファイル内の位置に対応するオフセット値とを含んでいる、命令と、
前記メディア・ファイルに付随する前記メタデータ中の少なくとも1つのパラメータが指示するとおりに、前記複数のデータ・パケットをネットワークを介してクライアントにストリーミングする命令と
を備えた
コンピュータ読み取り可能な媒体。
(10)
受信する第1の命令が、
コンテンツ・データおよび付随するメタデータを含むエンコードされたメディア・ファイルを受信する命令であって、前記メディア・ファイルがストリーム暗号を用いて既に暗号化されている、命令
を備えている、
上記(9)に記載のコンピュータ読み取り可能な媒体。
(11)
受信する第1の命令において、さらに、
前記メディア・ファイルがMPEG2圧縮アルゴリズムをを用いて既にエンコードされている、
上記(10)に記載のコンピュータ読み取り可能な媒体。
(12)
受信する第2の命令が、
前記メディア・ファイルに付随するプレーン・メタデータを受信する命令であって、前記プレーン・メタデータがビットレート値を含んでいる、命令を備えている、
上記(11)に記載のコンピュータ読み取り可能な媒体。
(13)
前記ストリーミングする命令が、
前記複数のデータ・パケットをネットワークを介してクライアントにRTPプロトコルを用いてストリーミングする命令
を備えている、
上記(12)に記載のコンピュータ読み取り可能な媒体。
(14)
クライアント情報処理システムでストリーミング・データを受信するコンピュータ命令を備えたコンピュータ読み取り可能な媒体であって、前記コンピュータ命令が、
コンテンツ・データおよび付随するメタデータを含むメディア・ファイルを要求する命令と、
前記要求したメディア・ファイルに関連付けられた少なくとも1つのデータ・パケットを受信する命令であって、各データ・パケットが既にエンコードされ/暗号化されている前記メディア・ファイルの一部を含み、かつ、各データ・パケットが前記メディア・ファイル内の位置に対応するオフセット値を含んでいる、命令と、
各データ・パケット中のオフセット値を用いて各データ・パケットを復号する命令と、
各データ・パケットをデコードする命令と、
各データ・パケット中のコンテンツ・データをレンダーする命令と
を備えた
コンピュータ読み取り可能な媒体。
(15)
前記復号する命令が、
各データパケット中のオフセット値を用いて各データ・パケットを復号する命令であって、前記復号にストリーム復号アルゴリズムを用いる、命令
を備えている、
上記(14)に記載のコンピュータ読み取り可能な媒体。
(16)
前記デコードする命令が、
各データ・パケットをデコードする命令であって、前記デコードにMPEG2デコード・アルゴリズムを用いる、命令
を備えている、
上記(15)に記載のコンピュータ読み取り可能な媒体。
(17)
ストリーミング・データを供給するサーバ情報処理システムであって、
コンテンツ・データおよび付随するメタデータを含むエンコードされたメディア・ファイルと、
前記コンテンツ・データおよび前記付随するメタデータを含む前記メディア・ファイルを暗号化する暗号化手段と、
既にエンコードされ/暗号化されているメディア・ファイルを複数のデータ・パケットに分割するストリーミング・サーバであって、各データ・パケットが前記メディア・ファイルの一部と前記メディア・ファイル内の位置に対応するオフセット値とを含んでおり、前記メタデータ中の少なくとも1つのパラメータが指示するとおりに、前記データ・パケットをクライアントにネットワークを介してストリーミングするストリーミング・サーバと
を備えた
システム。
(18)
前記暗号化手段が、
前記コンテンツ・データおよび前記付随するメタデータを含む前記メディア・ファイルを暗号化する暗号化手段であって、暗号化するのにストリーム暗号を用いる、暗号化手段
を備えている、
上記(17)に記載のシステム。
(19)
ストリーミング・データを受信するクライアント情報処理システムであって、
コンテンツ・データおよび付随するメタデータを含むメディア・ファイルに対するリクエストと、
少なくとも1つのデータ・パケットであって、各データ・パケットが、既にエンコードされ/暗号化されているメディア・ファイルの一部と、前記メディア・ファイル内の位置に対応するオフセット値とを含んでいる、少なくとも1つのデータ・パケットと、
各データ・パケット中のオフセット値を用いて各データ・パケットを復号する復号手段と、
各データ・パケットをデコードするデコーダと、
各データ・パケット中のコンテンツ・データをレンダーするレンダラーとを備えた
システム。
(20)
前記復号手段が、
各データ・パケット中のオフセット値を用いて各データ・パケットを復号する復号手段であって、復号するのにストリーム復号を用いる、復号手段
を備えている、
上記(19)に記載のシステム。
【図面の簡単な説明】
【図1】 セキュア・ストリーミング用の典型的な従来技術システムのシステム・アーキテクチャ全体を示すブロック図である。
【図2】 セキュア・ストリーミング用の従来技術システムのプロセス全体を示す機能図である。
【図3】 図2の従来技術システムのプロセス全体の動作と制御フローを示すフローチャートを示す図である。
【図4】 本発明の一実施形態のプロセス全体を示す機能図である。
【図5】 本発明の一実施形態のプロセス全体の動作と制御フローを示すフローチャートを示す図である。
【図6】 本発明の一実施形態においてメディア・ファイルを有限個のデータ・パケットに分割する様子を示すブロック図である。
【図7】 本発明の一実施形態を実装するのに有益なコンピュータ・システムを示すブロック図である。
【符号の説明】
102 ユーザ
104 クライアント・コンピュータ・システム
106 ネットワーク
108 ストリーミング・サーバ・コンピュータ・システム
110 コンテンツ・マスタリング・システム
202 エンコードされたメディア・ファイル
204 暗号化モジュール
206 プレーン・メタデータとエンコードされ/暗号化されたコンテンツ・データを備えたメディア・ファイル
209 ストリーミング・クライアント
210 復号/デコード・モジュール
212 プレーン・コンテンツ・データを含むメディア・ファイル
214 レンダラー
402 エンコードされたメディア・ファイル
404 プリプロセッサ
405 プレーン・メタデータ
406 エンコードされ/暗号化されたメディア・ファイル
410 ストリーミング・クライアント/復号モジュール
412 復号されているがエンコードされたままのメディア・ファイル
414 デコーダ・モジュール
416 プレーン・コンテンツ・デコーダを含むメディア・ファイル
418 レンダラー
702 通信基盤
704 プロセッサ
706 メインメモリ
708 ディスプレイ・インタフェース
710 ディスプレイ装置
712 二次メモリ
714 ハード・ディスク駆動装置
716 着脱可能な記憶装置駆動装置
718 着脱可能な記憶装置
720 インタフェース
722 着脱可能な記憶装置
724 通信インタフェース
726 通信経路
Claims (12)
- サーバ情報処理システムで、メディア・ファイルをフォーマットに無関係な方法でストリーミング・データを供給する方法であって、
コンテンツ・マスタリング・システムが、コンテンツ・データおよび付随するメタデータを含むエンコードされたメディア・ファイルからプレーン・メタデータを読み取り、前記メディア・ファイルを暗号化するステップと、
ストリーミング・サーバが、前記エンコードされ/暗号化されたメディア・ファイルを受信する第1の受信するステップと、
ストリーミング・サーバが、前記プレーン・メタデータを受信する第2の受信するステップであって、前記プレーン・メタデータは前記エンコードされ/暗号化されたメディア・ファイルとは別にストリーミング・サーバに供給される、前記第2の受信するステップと、
ストリーミング・サーバが、前記エンコードされ/暗号化されたメディア・ファイルを複数のデータ・パケットに分割するステップであって、各データ・パケットが前記メディア・ファイルの一部と前記メディア・ファイル内の位置に対応するオフセット値とを含む、前記分割するステップと、
ストリーミング・サーバが、前記プレーン・メタデータ中の少なくとも1つのパラメータが指示するとおりに、前記複数のデータ・パケットをネットワークを介してクライアントにストリーミングするステップと
を含む方法。 - 第1の受信するステップにおいて、前記メディア・ファイルがストリーム暗号を用いて既に暗号化されている、請求項1に記載の方法。
- 第1の受信するステップにおいて、さらに、
前記メディア・ファイルがMPEG2圧縮アルゴリズムを用いて既にエンコードされている、請求項2に記載の方法。 - 前記プレーン・メタデータがビットレート値を含んでいる、請求項3に記載の方法。
- 前記ストリーミングするステップが、
前記複数のデータ・パケットをネットワークを介してクライアントにRTPプロトコルを用いてストリーミングするステップ
を含む、請求項4に記載の方法。 - サーバ情報処理システムで、メディア・ファイルをフォーマットに無関係な方法でストリーミング・データを供給するコンピュータ・プログラムであって、
コンテンツ・マスタリング・システムに、コンテンツ・データおよび付随するメタデータを含むエンコードされたメディア・ファイルからプレーン・メタデータを読み取り、前記メディア・ファイルを暗号化するステップ、
ストリーミング・サーバに、前記エンコードされ/暗号化されたメディア・ファイルを受信する第1の受信するステップ、
ストリーミング・サーバに、前記プレーン・メタデータを受信する第2の受信するステップであって、前記プレーン・メタデータは前記エンコードされ/暗号化されたメディア・ファイルとは別にストリーミング・サーバに供給される、前記第2の受信するステップ、
ストリーミング・サーバに、前記エンコードされ/暗号化されたメディア・ファイルを複数のデータ・パケットに分割するステップであって、各データ・パケットが前記メディア・ファイルの一部と前記メディア・ファイル内の位置に対応するオフセット値とを含む、前記分割するステップ、
ストリーミング・サーバに、前記プレーン・メタデータ中の少なくとも1つのパラメータが指示するとおりに、前記複数のデータ・パケットをネットワークを介してクライアントにストリーミングするステップ
を実行させる、コンピュータ・プログラム。 - 第1の受信するステップにおいて、前記メディア・ファイルがストリーム暗号を用いて既に暗号化されている、請求項6に記載のコンピュータ・プログラム。
- 第1の受信するステップにおいて、さらに、
前記メディア・ファイルがMPEG2圧縮アルゴリズムを用いて既にエンコードされている、請求項7に記載のコンピュータ・プログラム。 - 前記プレーン・メタデータがビットレート値を含んでいる、請求項8に記載のコンピュータ・プログラム。
- 前記ストリーミングするステップが、
前記複数のデータ・パケットをネットワークを介してクライアントにRTPプロトコルを用いてストリーミングするステップ
を含む、請求項9に記載のコンピュータ・プログラム。 - メディア・ファイルをフォーマットに無関係な方法でストリーミング・データを供給するサーバ情報処理システムであって、
コンテンツ・マスタリング・システムが、
コンテンツ・データおよび付随するメタデータを含むエンコードされたメディア・ファイルが暗号化される前に前記メディア・ファイルからプレーン・メタデータを読み取る読み取り手段と、
前記メディア・ファイルを暗号化する暗号化手段と、
を含み、
ストリーミング・サーバが、
前記エンコードされ/暗号化されたメディア・ファイルを受信する第1の受信手段と、
前記プレーン・メタデータを受信する第2の受信手段であって、前記プレーン・メタデータは前記エンコードされ/暗号化されたメディア・ファイルとは別にストリーミング・サーバに供給される、前記第2の受信手段と、
エンコードされ/暗号化されたメディア・ファイルを複数のデータ・パケットに分割するストリーミング・サーバであって、各データ・パケットが前記メディア・ファイルの一部と前記メディア・ファイル内の位置に対応するオフセット値とを含み、前記プレーン・メタデータ中の少なくとも1つのパラメータが指示するとおりに、前記複数のデータ・パケットをネットワークを介してクライアントにストリーミングする手段
を含む、前記システム。 - 前記暗号化手段が、暗号化するためにストリーム暗号を用いる、請求項11に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/114,140 US7249264B2 (en) | 2002-04-02 | 2002-04-02 | Secure IP based streaming in a format independent manner |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004007476A JP2004007476A (ja) | 2004-01-08 |
JP3902148B2 true JP3902148B2 (ja) | 2007-04-04 |
Family
ID=28453741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003071645A Expired - Fee Related JP3902148B2 (ja) | 2002-04-02 | 2003-03-17 | セキュアなipベースのストリーミング |
Country Status (2)
Country | Link |
---|---|
US (1) | US7249264B2 (ja) |
JP (1) | JP3902148B2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US8214655B2 (en) * | 2002-03-29 | 2012-07-03 | Kabushiki Kaisha Toshiba | Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof |
KR100924773B1 (ko) * | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템 |
JP3821086B2 (ja) * | 2002-11-01 | 2006-09-13 | ソニー株式会社 | ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム |
CN1714346A (zh) * | 2002-11-20 | 2005-12-28 | 诺基亚公司 | 用于数据传输和接收的系统和方法 |
US7526565B2 (en) * | 2003-04-03 | 2009-04-28 | International Business Machines Corporation | Multiple description hinting and switching for adaptive media services |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US8321690B2 (en) * | 2005-08-11 | 2012-11-27 | Microsoft Corporation | Protecting digital media of various content types |
US8306918B2 (en) * | 2005-10-11 | 2012-11-06 | Apple Inc. | Use of media storage structure with multiple pieces of content in a content-distribution system |
US20070110225A1 (en) * | 2005-11-16 | 2007-05-17 | Sub-Crypto Systems, Llc | Method and apparatus for efficient encryption |
US8924857B2 (en) * | 2006-08-21 | 2014-12-30 | Adobe Systems Incorporated | Multi-dimensional rights scheme |
US7961878B2 (en) | 2007-10-15 | 2011-06-14 | Adobe Systems Incorporated | Imparting cryptographic information in network communications |
US20090157891A1 (en) * | 2007-12-13 | 2009-06-18 | General Instrument Corporation | Method and Apparatus for Inserting Time-Variant Data into a Media Stream |
US8572758B1 (en) * | 2009-03-30 | 2013-10-29 | Symantec Corporation | DLP-enforced loss scanning, sequestering, and content indexing |
US8438630B1 (en) | 2009-03-30 | 2013-05-07 | Symantec Corporation | Data loss prevention system employing encryption detection |
US8166038B2 (en) * | 2009-06-11 | 2012-04-24 | Kaufman Mark A | Intelligent retrieval of digital assets |
US20110066843A1 (en) * | 2009-09-16 | 2011-03-17 | Brent Newman | Mobile media play system and method |
WO2011068784A1 (en) * | 2009-12-01 | 2011-06-09 | Azuki Systems, Inc. | Method and system for secure and reliable video streaming with rate adaptation |
US9648320B2 (en) * | 2013-02-22 | 2017-05-09 | Comcast Cable Communications, Llc | Methods and systems for processing content |
US10462236B2 (en) * | 2015-06-01 | 2019-10-29 | Apple Inc. | Coordinating metgadata |
US10609171B2 (en) * | 2015-12-22 | 2020-03-31 | Intel IP Corporation | Methods and apparatus to improve interprocess communication |
US10419401B2 (en) * | 2016-01-08 | 2019-09-17 | Capital One Services, Llc | Methods and systems for securing data in the public cloud |
CN110019025B (zh) * | 2017-07-20 | 2021-12-21 | 中移动信息技术有限公司 | 一种流数据处理方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920861A (en) | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
US6098056A (en) | 1997-11-24 | 2000-08-01 | International Business Machines Corporation | System and method for controlling access rights to and security of digital content in a distributed information system, e.g., Internet |
US6134243A (en) | 1998-01-15 | 2000-10-17 | Apple Computer, Inc. | Method and apparatus for media data transmission |
US6490354B2 (en) * | 1998-06-23 | 2002-12-03 | Microsoft Corporation | Lightweight word-oriented technique for generating a pseudo-random sequence for use in a keystream of a stream cipher |
ES2264584T3 (es) | 1998-10-30 | 2007-01-01 | British Telecommunications Public Limited Company | Transporte de datos. |
US6263435B1 (en) | 1999-07-06 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Dual encryption protocol for scalable secure group communication |
JP2002057662A (ja) | 2000-08-07 | 2002-02-22 | Sony Corp | 情報処理装置、情報処理方法、並びに記録媒体 |
JP4296698B2 (ja) | 2000-08-17 | 2009-07-15 | ソニー株式会社 | 情報処理装置、情報処理方法、並びに記録媒体 |
US7280658B2 (en) | 2001-06-01 | 2007-10-09 | International Business Machines Corporation | Systems, methods, and computer program products for accelerated dynamic protection of data |
-
2002
- 2002-04-02 US US10/114,140 patent/US7249264B2/en not_active Expired - Lifetime
-
2003
- 2003-03-17 JP JP2003071645A patent/JP3902148B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7249264B2 (en) | 2007-07-24 |
JP2004007476A (ja) | 2004-01-08 |
US20030188152A1 (en) | 2003-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3902148B2 (ja) | セキュアなipベースのストリーミング | |
CA2522046C (en) | Methods and apparatus for secure and adaptive delivery of multimedia content | |
JP4869938B2 (ja) | データの完全性を保証するための方法及び装置 | |
KR101095359B1 (ko) | 스트리밍 시스템 및 스트리밍 방법 | |
KR101026565B1 (ko) | Rtp 페이로드 포멧 | |
JP5384664B2 (ja) | リアルタイム又はほぼリアルタイムのストリーミング | |
CN100592312C (zh) | 一种数字版权保护方法及系统、用户设备、多媒体服务器 | |
CA2511914A1 (en) | System for secure decryption of streaming media using selective decryption of header information | |
JP2004048676A (ja) | 受信側に対して同期送信するために暗号化済みコンテンツにタイトル鍵を添付する方法、システム、およびプログラム | |
JP3925218B2 (ja) | ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、並びにプログラム及び記録媒体 | |
JP2004318154A (ja) | ブロック暗号の暗号化法を用いたデジタルコンテンツの保護関連出願本出願は、2003年4月14日に出願された米国仮特許出願番号60/462,987号についての優先権を主張する。著作権表示/許諾この明細書の開示内容の一部は、著作権保護の対象となるマテリアルを含む。著作権者は、この明細書が特許商標庁への特許出願又は記録であると認められるファックスコピー又は特許開示に対しては異議を唱えないが、それ以外のあらゆる全ての著作権の権利を保有する。以下の表示は、後述するソフトウェア及びデータ、並びに添付の図面に適用される。著作権(c)2003:全ての著作権はソニーエレクトロニクスインク社に帰属する(Copyright(c)2003,SonyElectronics,Inc.,AllRightsReserved)。 | |
JP2007518294A (ja) | 動画ファイルの暗号化方法及びそれを利用したデジタル著作権の管理方法 | |
JP2000287192A (ja) | 情報配信装置、受信装置及び通信方法 | |
US20060174287A1 (en) | Data transmitter, program product, and data transmission system | |
WO2021072878A1 (zh) | 基于rtmp的音视频数据加解密方法、装置及可读存储介质 | |
CN108881801B (zh) | 视频会议的码流传输方法、系统、电子设备、存储介质 | |
US10127396B2 (en) | System and method for local generation of streaming content with a hint track | |
CN106209896B (zh) | 基于音视频格式的流媒体加密方法和模块 | |
KR20190003729A (ko) | 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치 | |
JP2008067102A (ja) | コンテンツ配信サーバ | |
JP2005039835A (ja) | 個別画像暗号化システム及び暗号化方法 | |
JP2005295468A (ja) | 通信装置及び通信システム | |
US7539292B2 (en) | Contents distribution system, contents server, contents receiving apparatus, contents distribution method, program and storage media | |
JP2010021887A (ja) | 集積回路装置及びデータ伝送システム | |
WO2006125553A2 (en) | A computer-implemented method and system for perceptual cryptography in file-sharing environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060517 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060517 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20060517 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061201 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061201 |
|
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: 20061225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061225 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20061225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140112 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |