コンテンツ配信サーバ及びコンテンツ配信方法
【課題】クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができるコンテンツ配信サーバ及びコンテンツ配信方法を提供する。
【解決手段】時刻情報が付加されたストリーミングデータのうち時刻情報を除く部分を、機器固有鍵を用いて部分暗号化して記憶手段に記憶し、クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、記憶手段に記憶された部分暗号化ストリーミングデータを、時刻情報に基づいて検索する。
【解決手段】時刻情報が付加されたストリーミングデータのうち時刻情報を除く部分を、機器固有鍵を用いて部分暗号化して記憶手段に記憶し、クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、記憶手段に記憶された部分暗号化ストリーミングデータを、時刻情報に基づいて検索する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントにコンテンツを配信するコンテンツ配信サーバ及びコンテンツ配信方法に関するものである。
【背景技術】
【0002】
近年、公共放送やインターネット上でデジタル放送のデジタルコンテンツに対して著作権保護が施されている。例えば、CGMS−A(Copy Generation Management System/Analog)により放送コンテンツが著作権管理されているものは、家庭内の再配信においても著作権保護を行う必要がある。そのため、著作権管理されている放送コンテンツを録画してホームネットワーク経由で、別の家庭内機器に再配信する放送録画機能付家庭内サーバ機器や、放送録画機能付家庭内サーバ機器からホームネットワーク経由で、コンテンツを受信・保存し、別の家庭内機器に再配信する家庭内サーバ機器同士で配信可能な機器は、著作権管理されたコンテンツを機器固有の鍵で暗号化(DES, Triple-DES, AESなど)して保存し、配信時は、例えば、DTCP−IP(Digital Transmission Contents Protection over IP)などで再暗号化して再配信している(例えば、特許文献1参照)。
【0003】
また、近年、ホームネットワーク内(LAN:Local Area Network)のコンテンツの共有を目的としたDLNA(Digital Living Network Alliance)が標準化され、普及している。このような環境では、家庭内の機器に対して様々な形でコンテンツを要求するケースについて規定されている。例えば、クライアントがサーバに対して家庭内LANを経由して動画コンテンツのseekを行う場合、ファイルのバイトサイズを指定するbyte-base-seekや、時間を指定するtime-base-seekなどが規定されている。
【0004】
【特許文献1】特開2002−261748号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、サーバ機器が保存しているコンテンツが、例えば、Timed TSのような一定間隔でtimestampが付いた著作権管理されたコンテンツであった場合、クライアント(コンテンツ再生機器)がtime base seekの要求をサーバに行うと、サーバはコンテンツの時刻情報を取得するためにコンテンツ全体を復号しなければならず、seekの性能劣化が生じていた。
【0006】
本発明は、これらの問題点を鑑みてなされたものであり、クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができるコンテンツ配信サーバ及びコンテンツ配信方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るコンテンツ配信サーバは、時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信サーバにおいて、上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号手段と、上記復号手段で復号されたストリーミングデータをローカル暗号化するローカル暗号化手段と、上記ローカル暗号化手段でローカル暗号化されたストリーミングデータを記憶する記憶手段と、上記暗号化ストリーミングデータを上記クライアントに配信する配信手段とを備え、上記ローカル暗号化手段は、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号手段で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、上記記憶手段は、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、上記配信手段は、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信することにより、上述の課題を解決する。
【0008】
また、本発明に係るコンテンツ配信方法は、時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信方法において、上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号工程と、上記復号工程で復号されたストリーミングデータをローカル暗号化するローカル暗号化工程と、上記ローカル暗号化工程でローカル暗号化されたストリーミングデータを記憶手段に記憶する記憶工程と、上記暗号化ストリーミングデータを上記クライアントに配信する配信工程とを有し、上記ローカル暗号化工程では、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号工程で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、上記記憶工程では、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、上記配信工程では、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信することにより、上述の課題を解決する。
【発明の効果】
【0009】
本発明は、暗号化ストリーミングデータを配信用として記憶手段に記憶する場合、時刻情報が付加されたストリーミングデータのうち時刻情報を除く部分を、機器固有鍵を用いて部分暗号化して記憶手段に記憶し、クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、記憶手段に記憶された部分暗号化ストリーミングデータを、時刻情報に基づいて検索することにより、クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0011】
(第1の実施形態)
図1は、本発明を適用したコンテンツ配信システムの一実施形態を示す図である。このコンテンツ配信システムは、放送サーバ11と、受信サーバ12と、配信サーバ13と、クライアント14とを備えて構成されている。ここで、放送サーバ11と受信サーバ12とは、放送網21を介して接続され、また、受信サーバ12と配信サーバ13とクライアント14とは、LAN(Local Area Network)等の家庭内ネットワーク22を介して接続されている。
【0012】
放送サーバ11は、放送を通じて受信サーバ12にコンテンツを配信する。受信サーバ12は、放送サーバ11からコンテンツを受信し、保存すると共に、家庭内の他の機器(例えば、配信サーバ13、クライアント14)に家庭内ネットワーク22を通じて送信する。配信サーバ13は、家庭内の別のサーバ(例えば、受信サーバ12)のコンテンツを受信し、コンテンツを後述する部分暗号化を施して保存すると共に、家庭内の別のサーバ(例えば、受信サーバ12)、又はクライアント14へコンテンツを再配信する。クライアント14は、受信サーバ12や配信サーバ13からコンテンツを取得し、再生するクライアント機器である。
【0013】
なお、配信サーバ13に受信サーバ12の受信機能が備わっていてもよく、また、受信サーバ12に配信サーバ13の部分暗号化機能が備わっていてもよい。すなわち、受信サーバ12と配信サーバ13とを同じサーバとしてネットワークを構築してもよい。
【0014】
図2は、本発明の一実施形態におけるタイムスタンプ(Time Stamp)付きのTS(Transport Stream:トランスポートストリーム)パケット(以下、TTSパケットとも称する。)が連続するストリーム(MPEG2-TSパケットストリーム)の例を示すものである。このストリーム(Timed TS)は、188バイトの固定長のTSパケットに4バイトのタイムスタンプが付加された192バイトのTTSパケットが繰り返されたものであり、例えば、受信サーバ12が配信サーバ13から受信するものである。
【0015】
タイムスタンプは、クロックのカウント値で示される、例えば、復号動作を行うDTS(Decoding Time Stamp)、再生を行うPTS(Presentation Time Stamp)等の時刻情報を有する。また、タイムスタンプは、送信側、受信側の双方でタイムングが一致するよう、クロックリファレンスを伝送してPLL(Phase Locked Loop)を制御する。基準クロック数は、例えば27MHzであり、SCR(System Clock Reference)と番組単位のPCR(Program Clock Reference)がある。
【0016】
また、TSパケットは、4バイトのTPヘッダを有しており、例えば、このTPヘッダには、著作権保護のため、コピーしてよいかどうかを示すコピー制御情報が記述されている。コピー制御情報には、例えば、制約条件ないしにコピー可能、1世代のみコピー可能、コピー禁止等のフラグがあり、1世代のみコピー可能な場合、受信した放送データを一度蓄積することのみ許可され、蓄積した放送データのコピーを別に作ることは許可されない。したがって、例えばハードディスクに一度保存して、例えば、DVD(Digital Versatile Disk)に書き出すことは禁止される。ただし、コピーではなく、データを移動することは許可されており、DVDに書き出した後、ハードディスク上のファイルを削除する動作を行えば、許可される。
【0017】
本実施の形態では、放送サーバ11から送信されたコンテンツデータに、例えば、1世代のみコピー可能といったコピー制御情報が記述されており、受信サーバ12又は配信サーバ13がこのコンテンツデータを保存する際は、機器固有の鍵でローカル暗号化して記録する。この暗号化技術としては、秘密鍵暗号化アルゴリズムのDES(Data Encryption Standard)やTriple DES、鍵をブロックとして分割して暗号化するAES(Advanced Encryption Standard)等を用いることができる。
【0018】
本実施の形態における配信サーバ13は、受信サーバ12からコンテンツを受信し、所定の配信方式(放送のスクランブル、DTCP-IP等)に基づいて復号する。この際、保存のためにコンテンツの再暗号化(DES,AES,TripleDES等)を行うが、このときにTTSパケット(Timed TS)のタイムスタンプ部分の暗号化を行わずに保存する。
【0019】
そして、配信サーバ13は、クライアント14から要求のあったコンテンツを所定のプロトコル(例えば、Upnp AV,HTTP,DTCP-IP等)を用いて再配信する。このときクライアント14からの要求に、例えば、DLNAで定義されたTimeSeekRange.DLNA.org HTTP ヘッダ等の再生する時間位置が指定されている場合、暗号化されていないタイムスタンプ部分をseekして、所望の位置を特定した後に、暗号化部分を復号し、転送用に再暗号化してクライアント14に配信する。
【0020】
このように配信サーバ13は、受信したタイムスタンプが付加された暗号化コンテンツをプロトコル仕様(DTCP-IPなど)通りに復号した後、部分暗号化(タイムスタンプ部分を外して暗号化)することにより、クライアント14からのtime base seekの要求に対して再配信する際、迅速且つ高精度に要求された位置のコンテンツを配信することができる。
【0021】
図3は、上述した受信サーバ12、配信サーバ13及びクライアント14のハードウェア構成を示すブロック図である。受信サーバ12、配信サーバ13及びクライアント14は、図3に示すようなコンピュータ装置の構成とすることができ、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、入力部104と表示部105と、通信部106と、記憶部107とがバス108を介して接続されている。
【0022】
CPU101は、ROM102又はRAM103に格納された各種機能を実行する。入力部104は、入力キー・マウスなどで構成される。表示部105は、例えば液晶表示装置等からなり各種情報をテキストやイメージで表示する。通信部106は、CPU101から供給されたデータを送信する。また、通信部106は通信相手から受信したデータをCPU101、RAM103、記憶部107等に出力する。記憶部107は、CPU101との間で情報をやり取りし、情報の保存・消去を行う。
【0023】
なお、ここでは、図3に示すようなコンピュータ装置にプログラムを実行させることにより、後述する一連の処理を行うこととして説明するが、専用のハードウェアにより実行させることとしてもかまわない。
【0024】
図4は、配信サーバ13の構成を示す機能ブロック図である。配信サーバ13は、認証機能131と、通信機能132と、コンテンツ管理機能133と、コンテンツ記憶機能134と、暗号処理機能135とを有している。
【0025】
認証機能131は、受信サーバ12又はクライアント14との間で認証処理を行う。認証が終わると通信相手との間でセッション鍵を共有しこれを暗号処理機能135に渡す。なお、公開鍵暗号のRSA(Rivest Shamir Adleman)、EC(Electronic Commerce)等の認証に用いられる鍵や証明書は、製品化時点に機器に埋め込まれている。
【0026】
通信機能132は、受信サーバ12やクライアント14からのメッセージを受け取り、認証メッセージを認証機能131へ、その他メッセージをコンテンツ管理機能133へ渡す。また、通信機能132は、認証機能131やコンテンツ管理機能133より受け取ったメッセージを受信サーバ12やクライアント14に送信する。
【0027】
コンテンツ管理機能133は、通信機能132を経由して受信サーバ12やクライアント14とメッセージを交換し、そのメッセージに応じた処理を行う。例えば、受信サーバ12からコンテンツデータを配信用として取得する場合、メッセージに応じて部分暗号化を暗号処理機能135に指示する。
【0028】
コンテンツ記憶機能134は、コンテンツ管理機能133からの要求に応じて情報の読み出し、書き込みを行う。
【0029】
暗号処理機能135は、コンテンツ管理機能133からの要求に応じてコンテンツデータを暗号化又は復号する。その際の鍵は、機器固有のものを使用する。また、コンテンツ管理機能133からの要求によってタイムスタンプ部分を暗号化又は復号しない部分暗号化を行う。他の機器とデータのやり取りに使われる暗号化・復号化用の鍵は、認証機能131より取得する。なお、コンテンツデータの暗号化・復号(DES, Triple-DES, AES等)用の鍵は製品化時点で埋められているか、製品化時点で埋められている機器IDからHash関数などを用いてクライアント14に一意に作成する。
【0030】
図5は、暗号処理機能135の構成を示す機能ブロック図である。暗号化処理機能135は、暗号モード記憶機能1351と、データ受付機能1352と、データ取出し機能1353と、データバッファ1354と、暗号機能1355と、鍵記憶機能1356とを有している。
【0031】
暗号モード記憶機能1351は、コンテンツ管理機能133等の外部から暗号モードを受信して記憶する。この暗号モード記憶機能1351は、保存、配信、又は自身での再生等のための生データ取出しの際、コンテンツ記憶機能134に記憶されたコンテンツデータが機器固有鍵を用いた全体暗号モードであるか、部分暗号モードであるかが記憶される。
【0032】
データ受付機能1352は、コンテンツ記憶機能等の外部機能から部分データ(Timed TSなどの倍数)を受け取りデータバッファ1354へ書き込む。また、データ入力完了時に暗号機能1355に暗号モード記憶機能1351のモードに応じた暗号化/復号開始を指示する。
【0033】
データ取出し機能1353は、暗号処理の完了した部分データ(Timed TSなどの倍数)をデータバッファ1354から取り出し、コンテンツ記憶機能等の外部機能に渡す。
【0034】
データバッファ1354は、暗号化・復号化対象のデータを一時的に記憶する。
【0035】
暗号機能1355は、暗号モード記憶機能1351の暗号モードに応じて暗号化処理、又は復号処理を行う。例えば、コンテンツデータの保存の場合、認証機能131から取得したセッション鍵で復号し、機器固有鍵で暗号化する。また、コンテンツデータの配信の場合、機器固有鍵で復号し、セッション鍵で暗号化する。また、自身での再生等のための生データ取出しの場合、機器固有鍵で復号する。ここで、機器固有鍵で暗号化又は復号する際、データバッファ1354内のタイムスタンプ部分を除いて暗号化又は復号を行う。なお、機器固有鍵は鍵記憶機能1356より取得する。
【0036】
鍵記憶機能1356は、製品化時に埋め込まれた機器固有鍵を記憶する。また、認証機能131等の外部機能よりセッション鍵を受け取り、記憶する。そして、暗号機能1355からの要求に応じてこれらの鍵を渡す。
【0037】
この配信サーバ13が受信サーバ12よりコンテンツを取得する場合、コンテンツ管理機能133は、通信機能132を介して要求メッセージを送り、通信機能132から暗号化されたコンテンツを受信する。
【0038】
そして、例えば、受信サーバ12からコンテンツデータを配信用として取得する場合、暗号処理機能135は、認証機能131より受け取った復号鍵を用いて、所定の転送プロトコルに従って受信したコンテンツデータを復号し、機器固有鍵でタイムスタンプ以外の部分を再暗号化し、コンテンツ記憶機能134に保存する。
【0039】
また、例えば、受信サーバ12からコンテンツデータをDVD(Digital Versatile Disc)等への記録用として取得する場合、暗号処理機能135は、認証機能131より受け取った復号鍵を用いて、所定の転送プロトコルに従って受信したコンテンツデータを復号し、機器固有鍵でタイムスタンプを含む全てを再暗号化し、DVD等に保存する。これにより、機器固有鍵で再暗号化したDVD等は、他の機器で再生ができなくなる。なお、例えば、タイムスタンプが付加されていないコンテンツデータの場合、機器固有鍵でコンテンツデータの全てを再暗号化する。
【0040】
配信サーバ13が通信機能132を介してクライアント等からコンテンツ要求を受け取った場合、コンテンツ管理機能133は、コンテンツ記憶機能134からコンテンツを取り出し、暗号処理機能135でタイムスタンプ以外の部分のみを復号させ、転送用に再暗号化させ、通信機能132を通してコンテンツを送信する。
【0041】
ここで、クライアント14等の相手よりtime base seekの要求を受け取った場合、コンテンツ記憶機能134内のタイムスタンプを順次検索し、要求された所望の位置を含む部分(TSパケット)からのコンテンツデータを暗号処理機能135で復号する。これにより、所望位置のコンテンツをクライアント14等に迅速に提供することができる。
【0042】
図6は、受信サーバ12の構成を示す機能ブロック図である。基本的に配信サーバ13と同じであるため、配信サーバ13と同様な構成には、説明を省略する。
【0043】
受信サーバ12は、受信機能121と、認証機能122と、通信機能123と、コンテンツ管理機能124と、コンテンツ記憶機能125と、暗号処理機能126とを有している。
【0044】
受信機能121は、放送サーバ11からコンテンツデータを受信する。なお、受信機能121は、放送サーバ11からのコンテンツデータに限らず、デジタルテレビ放送等からのコンテンツデータを受信するこことしてもよい。
【0045】
認証機能122は、配信サーバ13の認証機能131と同様であり、放送サーバ11、配信サーバ12又はクライアント14との間で認証処理を行う。
【0046】
通信機能123は、配信サーバ13の通信機能132と同様であり、配信サーバ13やクライアント14からのメッセージを受け取り、認証メッセージを認証機能122へ、その他メッセージをコンテンツ管理機能124へ渡す。また、通信機能123は、認証機能122やコンテンツ管理機能124より受け取ったメッセージを配信サーバ13やクライアント14に送信する。
【0047】
コンテンツ管理機能124は、配信サーバ13のコンテンツ管理機能133とほぼ同じ動作であるが、保存するコンテンツを暗号化する場合、保存されているコンテンツを復号する際、部分暗号化を指示しない点が異なる。すなわち、通信相手よりtime base seekの要求が来た場合、記憶機能125からそのコンテンツデータを頭から取り出し、復号して所望の位置を探し、通信相手に送信する。
【0048】
コンテンツ記憶機能125は、配信サーバ13のコンテンツ記憶機能134と同様であり、コンテンツ管理機能124からの要求に応じて情報の読み出し、書き込みを行う。
【0049】
暗号処理機能126は、コンテンツ管理機能124からの要求に応じてコンテンツデータを暗号化又は復号する。その際の鍵は、機器固有のものを使用する。他の機器とデータのやり取りに使われる暗号化・復号化用の鍵は、認証機能131より取得する。なお、コンテンツデータの暗号化・復号(DES,Triple-DES,AES等)用の鍵は製品化時点で埋められているか、製品化時点で埋められている機器IDからHash関数などを用いてクライアント14に一意に作成する。
【0050】
受信サーバ12は、放送網21を介して放送サーバ11からコンテンツデータを受信し、家庭内ネットワーク22を介して配信サーバ13やクライアント14にコンテンツデータを送信する。例えば、放送サーバ11から取得したコンテンツデータを配信サーバ13に送信する場合、認証機能122により、配信サーバ13と認証処理を行い、機器固有鍵を用いて暗号化されたコンテンツデータを、暗号処理機能126にて復号し、セッション鍵を用いて暗号化し、所定の通信プロトコル(DTCP-IP等)により、配信サーバ13にコンテンツデータを送信する。
【0051】
図7は、クライアント14の構成を示す機能ブロック図である。基本的に受信サーバ12と同じであるため、受信サーバ12と同様な構成には、説明を省略する。
【0052】
クライアント14は、通信機能141と、管理機能142と、コンテンツ表示機能143と、認証機能144と、暗号処理機能145と、ユーザ要求入力機能146とを有している。
【0053】
通信機能141は、受信サーバ12の通信機能123と同様であり、受信サーバ12や配信サーバ13からのメッセージを受け取り、認証メッセージを認証機能144へ、その他メッセージを管理機能142へ渡す。また、通信機能141は、認証機能144や管理機能142より受け取ったメッセージを受信サーバ12や配信サーバ13に送信する。
【0054】
管理機能142は、ユーザ要求入力機能146からの要求に応じて、通信機能141を経由して受信サーバ12又は配信サーバ13とメッセージを交換し、そのメッセージに応じた処理をする。
【0055】
コンテンツ表示機能143は、受信サーバ12又は配信サーバ13より取得し、復号化されたコンテンツデータを管理機能142より受け取り、これを表示する。
【0056】
認証機能144は、受信サーバ12や配信サーバ13と認証処理を行う。認証メッセージは、通信機能141を介して送受信され、認証に用いられる鍵や証明書(RSA,ECを用いたものなど)は、製品化時点で機器に埋め込まれる。認証が終わると通信相手との間でセッション鍵を共有し、これを暗号処理機能145に渡す。
【0057】
暗号処理機能145は、受信サーバ12又は配信サーバ13から受信した暗号化コンテンツデータを所定の転送プロトコルに従って復号する。この復号に用いられる鍵は、認証機能144より受け取る。
【0058】
ここで、クライアント14が配信サーバ13に再生する時間位置を指定するtime base seekの要求を行う場合、通信機能141をと介して配信サーバ13にコンテンツ要求メッセージ(time base seek要求)を送り、通信機能141から暗号化されたコンテンツデータを受信する。暗号化されたコンテンツデータは、暗号処理機能145にて所定の転送プロトコルに従って復号される。管理機能142は、コンテンツ表示機能143に対して復号されたコンテンツデータの表示を依頼する。これにより、time base seekの要求により指定された時間からコンテンツを再生することができる。
【0059】
次に、サーバ間、サーバ−クライアント間のやり取りについて詳細に説明する。
【0060】
図8は、配信サーバ13が受信サーバ12からTimed TSを取得する際のシーケンスを示す模式図である。なお。ここでは、受信サーバ12からコンテンツ取得を行うこととして説明するが、これに限ることなく、放送サーバ11からの取得でもよい。
【0061】
受信サーバ12のコンテンツ記憶機能125は、機器固有の鍵で暗号化されたタイムスタンプ付コンテンツ(Timed TS)が保存されている。
【0062】
配信サーバ13のコンテンツ管理機能133は、コンテンツ取得要求のため認証機能131に対して認証要求を出す(ステップS11)。認証要求は、通信機能132を経由して受信サーバ12の通信機能123から認証機能122へ通知される(ステップS12〜S14)。
【0063】
配信サーバ13の認証機能131と受信サーバ12の認証機能122は、それぞれの通信機能123、132を経由して認証及び鍵共有(AKE:Authentication and Key Exchange)を行う(ステップS21)。これにはECDH(Elliptic Curve Diffie Hellman)などが用いられる。鍵の共有が完了すると、認証機能122、131は、それぞれの暗号処理機能126、135にセッション鍵を設定する(ステップS22、S23)。
【0064】
配信サーバ13のコンテンツ管理機能133は、通信機能132を経由してコンテンツ要求を受信サーバ12のコンテンツ管理機能に対して通知する(ステップS31〜S33)。
【0065】
受信サーバ12のコンテンツ管理機能124は、配信サーバ12からのコンテンツ要求を受け取ると、コンテンツ記憶機能125より要求された暗号化コンテンツデータ(TimedTSなどの倍数)取得し(ステップS41)、暗号処理機能126のモード設定を行う(ステップS42)。このモード設定では、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化、又はタイムスタンプを含む全てのデータを暗号化する全体暗号化が設定される。
【0066】
コンテンツ管理機能124は、モード設定を行った後、暗号処理機能126にコンテンツデータの復号・再暗号化要求を行う(ステップS43)。暗号処理機能126は、機器固有の鍵で暗号化コンテンツデータ復号し、セッション鍵で再暗号化し、コンテンツ管理機能124に渡す(ステップS44)。
【0067】
そして、このコンテンツデータをコンテンツ要求の応答として、通信機能123を経由し(ステップS45)、配信サーバ13へ送信する(ステップS46)。送信する際のコンテンツ転送プロトコルとしては、例えばHTTPやRTPなど任意のものを用いてもかまわない。コンテンツ管理機能124は、ステップS41〜S46の処理を要求されたコンテンツのデータの終了まで繰り返す。
【0068】
配信サーバ13のコンテンツ管理機能133は、通信機能132を経由してコンテンツ応答を受け取ると(ステップS51)、暗号処理機能135のモード設定を行う(ステップS52)。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われる。
【0069】
コンテンツ管理機能133は、モード設定を行った後、暗号処理機能135にコンテンツデータの復号・再暗号化要求を行う(ステップS53)。暗号処理機能135は、セッション鍵による復号を行い、機器固有の鍵で部分暗号化したコンテンツデータとしてコンテンツ管理機能133に渡す(ステップS54)。具体的には、復号したコンテンツデータのうちタイムスタンプ部分を直接コンテンツ記憶機能134に保存し、続くタイムスタンプ以外のコンテンツデータ(ペイロード)部分(次のタイムスタンプ手前まで)を、機器固有の鍵で部分暗号化する。コンテンツ管理機能133は、コンテンツ記憶機能134に暗号化された部分コンテンツデータを保存する(ステップS55)。
【0070】
コンテンツ管理機能133は、ステップS51〜S55の処理を要求したコンテンツのデータの終了まで繰り返す。
【0071】
図9は、配信サーバ13がクライアント14へコンテンツを配信する際のシーケンスを示す模式図である。ここで、配信サーバ13には、上述したように、タイムスタンプが付加されたコンテンツデータが、タイムスタンプ以外のデータ部分を暗号化する部分暗号化処理されて記憶されている。
【0072】
ユーザは、ユーザ要求入力機能146を用いてコンテンツ再生要求を出す。コンテンツ再生要求は、再生開始ポイントを時間で指定することが可能である。
【0073】
認証機能144は、ユーザ要求入力機能146からのコンテンツ再生要求に応じて、配信サーバ13と認証及び鍵共有を行う。認証要求を認証機能144に出してからセッション鍵を共有して暗号処理機能145に設定するステップS61〜S73までの処理は、図8に示すステップS11〜S23までと同様である。
【0074】
管理機能142は、鍵を共有すると、通信機能141を経由して時間指定コンテンツ要求を配信サーバ13に送信する(ステップS81〜S83)。配信サーバ13のコンテンツ管理機能133は、クライアント14からの時間指定コンテンツ要求を受け取ると、指定された時間に基づいて、コンテンツ記憶機能134内のタイムスタンプを検索する(ステップS91)。所望のタイムスタンプでない場合は、次のタイムスタンプを読むという処理を繰り返す。なお、次のタイムスタンプの位置は、一定間隔(例えばTimed TSのサイズ)にある。これにより、所望の時間のタイムスタンプを迅速に探し出すことができる。
【0075】
コンテンツ管理機能133は、所望の時間のタイムスタンプを見つけると、コンテンツ記憶機能134より所望の位置以降の時間指定の部分コンテンツを取得し(ステップS92)、暗号処理機能126のモード設定を行う(ステップS93)。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われる。
【0076】
コンテンツ管理機能133は、モード設定をした後、暗号処理機能135にコンテンツデータの部分復号・再暗号化要求を行う(ステップS94)。暗号処理機能135は、機器固有の鍵で部分暗号化したコンテンツデータを部分復号し、セッション鍵による再暗号化を行い、コンテンツ管理機能133に渡す(ステップS95)。具体的には、部分暗号化されたタイムスタンプ以外のコンテンツデータ(ペイロード)部分(次のタイムスタンプ手前まで)を、機器固有の鍵で部分復号し、タイムスタンプ部分を含むコンテンツデータをセッション鍵で再暗号化する。
【0077】
コンテンツ管理機能133は、再暗号化されたコンテンツデータを通信機能132を経由してクライアント14に送信する(ステップS97)。コンテンツ管理機能124は、ステップS92〜S96の処理を時間指定要求されたコンテンツのデータの終了まで繰り返す。
【0078】
クライアント14の管理機能142は、通信機能141を経由して時間指定コンテンツ応答として、時間指定位置からのコンテンツデータを受信すると(ステップS101)、暗号処理機能145にコンテンツデータを渡す(ステップS102)。暗号処理機能145、セッション鍵を用いてコンテンツデータを復号し、そのコンテンツデータを管理機能142に渡す(ステップS103)。そして、管理機能142は、コンテンツ表示機能143に対してコンテンツ表示要求を出し(ステップS104)、時間指定されたコンテンツがクライアント14の表示部に表示される。
【0079】
このように第1の実施形態によれば、コンテンツデータを記録する際、タイムスタンプ部分を暗号化しないので、クライアント14からコンテンツの再生開始位置の指定の要求を受けても、迅速に所望位置を検索し、クライアント14に配信することができる。
【0080】
(第2の実施形態)
次に、本発明を適用した第2の実施形態について説明する。ここでは、配信サーバ13がタイムスタンプ付コンテンツデータを取り込む際に、単位時間あたりに何ビットのデータが処理あるいは送受信されるかを表すビットレート情報をメタ情報として保存し、検索を高速に行う。
【0081】
図10は、MPEG2システムのタイムスタンプ付きのTSとPES(Packetized Elementary Stream)の関係を示す模式図である。PESパケットは、単一のメディア情報をあるプレゼンテーションの単位でパケット化したもので、メディア再生の時間管理を行う単位となる。例えばビデオの場合、1枚の画像フレーム分の符号化データを1つのPESパケットとする。PESパケットは、不定長のパケットであり、ヘッダ情報にはパケット長、タイムスタンプ、スクランブル情報や著作権情報、CRC(Cyclic Redundancy Check)等が含まれる。つまり、図10に示すようにMPEG2-TimedTSのデータ部分には、MPEG2のPESパケットが分割されたものが入っている。
【0082】
ここで、PESパケットのFlags内のES_rate flagは、ビットレート情報が含まれている否かを示している。Trueの場合、Optional Fieldsの1フィールドにビットレートが入っている。ビットレート情報は22 bit unsigned integerで、単位は50 bytes/secondである。
【0083】
したがって、配信サーバ13は、ビットレート情報を解析するデコード機能を有し、コンテンツデータを記憶する際、ビットレート情報を解析し、メタ情報として記憶することにより、クライアント14から指定された時間から所望のコンテンツデータのおおよその位置を推測することができる。その後、タイムスタンプを見て正確な位置を特定することができる。
【0084】
図11は、ビットレート情報を解析するデコード機能付配信サーバ15の構成を示す機能ブロック図である。なお、配信サーバ13と同様な構成には、同一符号を付して説明を省略する。すなわち、このデコード機能付配信サーバ15は、デコード機能151と、認証機能131と、通信機能132と、コンテンツ管理機能133と、コンテンツ記憶機能134と、暗号処理機能135とを有している。
【0085】
デコード機能151は、PESパケットを解析し、Flags内のES_rate flagを見る。そして、ES_rate flagがTrueの場合、Optional Fields内の解析し、ビットレート情報を取得する。
【0086】
コンテンツ管理機能133は、デコード機能151が取得したビットレート情報を、コンテンツデータのメタ情報として、コンテンツ記憶機能134に記憶する。
【0087】
図12は、デコード機能付配信サーバ15が受信サーバ12からTimed TSを取得する際のシーケンスを示す模式図である。なお、このコンテンツデータの取り込み処理は、ビットレート取得のシーケンスが入る以外は、図8に示すシーケンスと同様であるため、同一処理には同一符号を付して説明を省略する。また、ここでは、受信サーバ12からコンテンツ取得を行うこととして説明するが、これに限ることなく、放送サーバ11からの取得でもよい。
【0088】
デコード機能付配信サーバ15がコンテンツを取得するために認証要求を受信サーバ12に出してから、認証し、受信サーバ12がコンテンツデータをコンテンツ要求の応答として、デコード機能付配信サーバ15へ送信するステップS11〜S46までの処理は、図8に示す処理と同様である。
【0089】
デコード機能付配信サーバ15のコンテンツ管理機能133は、通信機能132を経由してコンテンツ応答を受け取ると(ステップS51)、暗号処理機能135のモード設定を行う(ステップS201)。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われるとともに、コンテンツデータのビットレート情報をメタ情報として保存する生データ取り出しの設定が行われる。
【0090】
コンテンツ管理機能133は、モード設定を行った後、コンテンツのメタ情報にあたる部分の復号を暗号処理機能135に要求し(ステップS202)、デコード機能151に復号された生データからのビットレート取得を要求する(ステップS203)。デコード機能151からビットレートを取得すると(ステップS204)、これをコンテンツ記憶機能134に保存する(ステップS205)。この時、対応するコンテンツと同じprefixに「.meta」というsuffixをつけたファイルを作成し、これに図10に示すES_rateの値をbit/secondの単位に変換し、文字列として保存する。その後のコンテンツ管理機能133が暗号処理機能135にコンテンツデータの復号・再暗号化要求を行い、コンテンツ記憶機能134に暗号化された部分コンテンツデータを保存するステップS52〜S55までの処理は、図8に示す処理と同様である。
【0091】
図13は、デコード機能付配信サーバ15がクライアント14へコンテンツを配信する際のシーケンスを示す模式図である。ここで、デコード機能付配信サーバ15には、上述したように、タイムスタンプが付加されたコンテンツデータが、タイムスタンプ以外のデータ部分を暗号化する部分暗号化されて記憶されているとともに、メタ情報として単位時間あたりに何ビットのデータが処理あるいは送受信されるかを表すビットレート情報が記憶されている。
【0092】
クライアント14がコンテンツ再生要求を出してから、認証し、時間指定コンテンツ要求をデコード機能付配信サーバ15に送信するステップS61〜S83までの処理は、図9に示す処理と同様である。
【0093】
デコード機能付配信サーバ15のコンテンツ管理機能133は、クライアント14からの時間指定コンテンツ要求を受け取ると、コンテンツ記憶機能134にメタ情報を要求し(ステップS211)、コンテンツ記憶機能134からビットレート情報を取得する(ステップS212)。
【0094】
次に、コンテンツ管理機能133は、ビットレート情報に基づいてコンテンツ記憶機能134に記憶されたコンテンツデータから時間指定された概算位置を計算し、その概算位置からコンテンツ位置のシーク(検索)を開始する(ステップS91)。所望のタイムスタンプではない場合、所望のものと読み出したタイムスタンプの大小によって次に読み出すタイムスタンプが前か後かを判断し、次のタイムスタンプを読み出す。所望のタイムスタンプが見つかるまでこれを繰り返す。このビットレート情報を用いるにより、所望の時間のタイムスタンプをさらに迅速に探し出すことができる。
【0095】
その後、コンテンツ管理機能133がコンテンツ記憶機能134より所望の位置以降の時間指定の部分コンテンツを取得し、部分復号・再暗号化を行い、クライアント14に送信するステップSS92〜S97の処理、及びクライアント14が時間指定位置からのコンテンツデータを受信、復号し、表示部に表示するステップS101〜S104の処理は、図9に示す処理と同様である。
【0096】
このように第2の実施形態によれば、コンテンツデータを記録する際、ビットレート情報を取得するため、クライアント14からコンテンツの再生開始位置の指定の要求を受けた場合、ビットレート情報に基づいて概算位置を算出し、迅速に所望位置を検索することができる。
【0097】
(第3の実施形態)
上記第2の実施形態では、デコード機能付配信サーバ15がコンテンツデータを記憶する際、ビットレート情報を解析し、メタ情報として記憶することとしたが、受信サーバ12がビットレート情報をメタデータとして持っている場合、コンテンツの取得時にビットレート情報を受信サーバ12から取得するようにしてもよい。この場合の受信サーバ12及び配信サーバ13は、それぞれ図6及び図4に示す機能ブロックと同様である。
【0098】
図14は、配信サーバ13が受信サーバ12からTimed TSを取得する際のシーケンスを示す模式図である。なお、このコンテンツデータの取り込み処理は、受信サーバ12へのビットレート要求のシーケンスが入る以外は、図8に示すシーケンスと同様であるため、同一処理には同一符号を付して説明を省略する。また、ここでは、受信サーバ12からコンテンツ取得を行うこととして説明するが、これに限ることなく、ビットレート情報をメタデータとして持っていれば、放送サーバ11からの取得でもよい。
【0099】
配信サーバ13がコンテンツを取得するために認証要求を認証機能131に出してからセッション鍵を共有するステップS11〜S23までの処理は、図8に示す処理と同様である。
【0100】
配信サーバ13のコンテンツ管理機能133は、セッション鍵を共有すると、通信機能132を経由してビットレート要求を受信サーバ12に送信する(ステップS311〜S313)。ビットレート要求を受信した受信サーバ12のコンテンツ管理機能124は、コンテンツ記憶機能125にメタ情報を要求し(ステップS314)、コンテンツ記憶機能からビットレート情報を取得する(ステップS315)。コンテンツ管理機能124は、通信機能123を経由して配信サーバ13にビットレート情報を送信して応答する(ステップS316、S317)。
【0101】
配信サーバ13のコンテンツ管理機能133は、ビットレート情報を受信すると(ステップS318)、コンテンツ記憶機能134にビットレート情報を保存する(ステップS319)。
【0102】
その後の配信サーバ13がコンテンツ要求を受信サーバ12に出してから、受信サーバ12がコンテンツデータをコンテンツ要求の応答として、配信サーバ15へ送信するステップS31〜S46までの処理、及び配信サーバ13がコンテンツデータを受け取ってから、コンテンツ管理機能133が暗号処理機能135にコンテンツデータの復号・再暗号化要求を行い、コンテンツ記憶機能134に暗号化された部分コンテンツデータを保存するステップS51〜S55までの処理は、図8に示す処理と同様である。
【0103】
以上、本発明によれば、タイムスタンプ付暗号化コンテンツのtime base seekの高速化を実現することができる。
【0104】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上記実施の形態のビットレート情報は、PESパケットを解析することにより取得することとしたが、これに限られるものではなく、例えば、Timed TSのタイムスタンプと、コンテンツデータの全体ファイルサイズから平均ビットレートを求めるようにしてもよい。これにより、コンテンツのビットレート情報が時間位置によって変動がある場合でも、正確な概算位置を特定することができる。
【図面の簡単な説明】
【0105】
【図1】本発明を適用したコンテンツ配信システムの一実施形態を示す図である。
【図2】本発明の一実施形態におけるタイムスタンプ付きのMPEG2-TSパケットストリームの例を示す図である。
【図3】受信サーバ、配信サーバ及びクライアントのハードウェア構成を示すブロック図である。
【図4】配信サーバの構成を示す機能ブロック図である。
【図5】暗号処理機能の構成を示す機能ブロック図である。
【図6】受信サーバの構成を示す機能ブロック図である。
【図7】クライアントの構成を示す機能ブロック図である。
【図8】配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【図9】配信サーバがクライアントへコンテンツを配信する際のシーケンスを示す模式図である。
【図10】タイムスタンプ付きのTSとPESの関係を示す模式図である。
【図11】デコード機能付配信サーバの構成を示す機能ブロック図である。
【図12】デコード機能付配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【図13】デコード機能付配信サーバがクライアントへコンテンツを配信する際のシーケンスを示す模式図である。
【図14】配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【符号の説明】
【0106】
11 放送サーバ、12 受信サーバ、13 配信サーバ、14 クライアント、15 デコード機能付配信サーバ、21 放送網、22 家庭内ネットワーク、131 認証機能、132 通信機能、133 コンテンツ管理機能、134 コンテンツ記憶機能、135 暗号処理機能、1351 暗号モード記憶機能、1352 データ受付機能、1353 データ取出し機能、1354 データバッファ、1355 暗号機能、1356 鍵記憶機能
【技術分野】
【0001】
本発明は、クライアントにコンテンツを配信するコンテンツ配信サーバ及びコンテンツ配信方法に関するものである。
【背景技術】
【0002】
近年、公共放送やインターネット上でデジタル放送のデジタルコンテンツに対して著作権保護が施されている。例えば、CGMS−A(Copy Generation Management System/Analog)により放送コンテンツが著作権管理されているものは、家庭内の再配信においても著作権保護を行う必要がある。そのため、著作権管理されている放送コンテンツを録画してホームネットワーク経由で、別の家庭内機器に再配信する放送録画機能付家庭内サーバ機器や、放送録画機能付家庭内サーバ機器からホームネットワーク経由で、コンテンツを受信・保存し、別の家庭内機器に再配信する家庭内サーバ機器同士で配信可能な機器は、著作権管理されたコンテンツを機器固有の鍵で暗号化(DES, Triple-DES, AESなど)して保存し、配信時は、例えば、DTCP−IP(Digital Transmission Contents Protection over IP)などで再暗号化して再配信している(例えば、特許文献1参照)。
【0003】
また、近年、ホームネットワーク内(LAN:Local Area Network)のコンテンツの共有を目的としたDLNA(Digital Living Network Alliance)が標準化され、普及している。このような環境では、家庭内の機器に対して様々な形でコンテンツを要求するケースについて規定されている。例えば、クライアントがサーバに対して家庭内LANを経由して動画コンテンツのseekを行う場合、ファイルのバイトサイズを指定するbyte-base-seekや、時間を指定するtime-base-seekなどが規定されている。
【0004】
【特許文献1】特開2002−261748号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、サーバ機器が保存しているコンテンツが、例えば、Timed TSのような一定間隔でtimestampが付いた著作権管理されたコンテンツであった場合、クライアント(コンテンツ再生機器)がtime base seekの要求をサーバに行うと、サーバはコンテンツの時刻情報を取得するためにコンテンツ全体を復号しなければならず、seekの性能劣化が生じていた。
【0006】
本発明は、これらの問題点を鑑みてなされたものであり、クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができるコンテンツ配信サーバ及びコンテンツ配信方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るコンテンツ配信サーバは、時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信サーバにおいて、上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号手段と、上記復号手段で復号されたストリーミングデータをローカル暗号化するローカル暗号化手段と、上記ローカル暗号化手段でローカル暗号化されたストリーミングデータを記憶する記憶手段と、上記暗号化ストリーミングデータを上記クライアントに配信する配信手段とを備え、上記ローカル暗号化手段は、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号手段で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、上記記憶手段は、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、上記配信手段は、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信することにより、上述の課題を解決する。
【0008】
また、本発明に係るコンテンツ配信方法は、時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信方法において、上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号工程と、上記復号工程で復号されたストリーミングデータをローカル暗号化するローカル暗号化工程と、上記ローカル暗号化工程でローカル暗号化されたストリーミングデータを記憶手段に記憶する記憶工程と、上記暗号化ストリーミングデータを上記クライアントに配信する配信工程とを有し、上記ローカル暗号化工程では、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号工程で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、上記記憶工程では、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、上記配信工程では、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信することにより、上述の課題を解決する。
【発明の効果】
【0009】
本発明は、暗号化ストリーミングデータを配信用として記憶手段に記憶する場合、時刻情報が付加されたストリーミングデータのうち時刻情報を除く部分を、機器固有鍵を用いて部分暗号化して記憶手段に記憶し、クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、記憶手段に記憶された部分暗号化ストリーミングデータを、時刻情報に基づいて検索することにより、クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0011】
(第1の実施形態)
図1は、本発明を適用したコンテンツ配信システムの一実施形態を示す図である。このコンテンツ配信システムは、放送サーバ11と、受信サーバ12と、配信サーバ13と、クライアント14とを備えて構成されている。ここで、放送サーバ11と受信サーバ12とは、放送網21を介して接続され、また、受信サーバ12と配信サーバ13とクライアント14とは、LAN(Local Area Network)等の家庭内ネットワーク22を介して接続されている。
【0012】
放送サーバ11は、放送を通じて受信サーバ12にコンテンツを配信する。受信サーバ12は、放送サーバ11からコンテンツを受信し、保存すると共に、家庭内の他の機器(例えば、配信サーバ13、クライアント14)に家庭内ネットワーク22を通じて送信する。配信サーバ13は、家庭内の別のサーバ(例えば、受信サーバ12)のコンテンツを受信し、コンテンツを後述する部分暗号化を施して保存すると共に、家庭内の別のサーバ(例えば、受信サーバ12)、又はクライアント14へコンテンツを再配信する。クライアント14は、受信サーバ12や配信サーバ13からコンテンツを取得し、再生するクライアント機器である。
【0013】
なお、配信サーバ13に受信サーバ12の受信機能が備わっていてもよく、また、受信サーバ12に配信サーバ13の部分暗号化機能が備わっていてもよい。すなわち、受信サーバ12と配信サーバ13とを同じサーバとしてネットワークを構築してもよい。
【0014】
図2は、本発明の一実施形態におけるタイムスタンプ(Time Stamp)付きのTS(Transport Stream:トランスポートストリーム)パケット(以下、TTSパケットとも称する。)が連続するストリーム(MPEG2-TSパケットストリーム)の例を示すものである。このストリーム(Timed TS)は、188バイトの固定長のTSパケットに4バイトのタイムスタンプが付加された192バイトのTTSパケットが繰り返されたものであり、例えば、受信サーバ12が配信サーバ13から受信するものである。
【0015】
タイムスタンプは、クロックのカウント値で示される、例えば、復号動作を行うDTS(Decoding Time Stamp)、再生を行うPTS(Presentation Time Stamp)等の時刻情報を有する。また、タイムスタンプは、送信側、受信側の双方でタイムングが一致するよう、クロックリファレンスを伝送してPLL(Phase Locked Loop)を制御する。基準クロック数は、例えば27MHzであり、SCR(System Clock Reference)と番組単位のPCR(Program Clock Reference)がある。
【0016】
また、TSパケットは、4バイトのTPヘッダを有しており、例えば、このTPヘッダには、著作権保護のため、コピーしてよいかどうかを示すコピー制御情報が記述されている。コピー制御情報には、例えば、制約条件ないしにコピー可能、1世代のみコピー可能、コピー禁止等のフラグがあり、1世代のみコピー可能な場合、受信した放送データを一度蓄積することのみ許可され、蓄積した放送データのコピーを別に作ることは許可されない。したがって、例えばハードディスクに一度保存して、例えば、DVD(Digital Versatile Disk)に書き出すことは禁止される。ただし、コピーではなく、データを移動することは許可されており、DVDに書き出した後、ハードディスク上のファイルを削除する動作を行えば、許可される。
【0017】
本実施の形態では、放送サーバ11から送信されたコンテンツデータに、例えば、1世代のみコピー可能といったコピー制御情報が記述されており、受信サーバ12又は配信サーバ13がこのコンテンツデータを保存する際は、機器固有の鍵でローカル暗号化して記録する。この暗号化技術としては、秘密鍵暗号化アルゴリズムのDES(Data Encryption Standard)やTriple DES、鍵をブロックとして分割して暗号化するAES(Advanced Encryption Standard)等を用いることができる。
【0018】
本実施の形態における配信サーバ13は、受信サーバ12からコンテンツを受信し、所定の配信方式(放送のスクランブル、DTCP-IP等)に基づいて復号する。この際、保存のためにコンテンツの再暗号化(DES,AES,TripleDES等)を行うが、このときにTTSパケット(Timed TS)のタイムスタンプ部分の暗号化を行わずに保存する。
【0019】
そして、配信サーバ13は、クライアント14から要求のあったコンテンツを所定のプロトコル(例えば、Upnp AV,HTTP,DTCP-IP等)を用いて再配信する。このときクライアント14からの要求に、例えば、DLNAで定義されたTimeSeekRange.DLNA.org HTTP ヘッダ等の再生する時間位置が指定されている場合、暗号化されていないタイムスタンプ部分をseekして、所望の位置を特定した後に、暗号化部分を復号し、転送用に再暗号化してクライアント14に配信する。
【0020】
このように配信サーバ13は、受信したタイムスタンプが付加された暗号化コンテンツをプロトコル仕様(DTCP-IPなど)通りに復号した後、部分暗号化(タイムスタンプ部分を外して暗号化)することにより、クライアント14からのtime base seekの要求に対して再配信する際、迅速且つ高精度に要求された位置のコンテンツを配信することができる。
【0021】
図3は、上述した受信サーバ12、配信サーバ13及びクライアント14のハードウェア構成を示すブロック図である。受信サーバ12、配信サーバ13及びクライアント14は、図3に示すようなコンピュータ装置の構成とすることができ、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、入力部104と表示部105と、通信部106と、記憶部107とがバス108を介して接続されている。
【0022】
CPU101は、ROM102又はRAM103に格納された各種機能を実行する。入力部104は、入力キー・マウスなどで構成される。表示部105は、例えば液晶表示装置等からなり各種情報をテキストやイメージで表示する。通信部106は、CPU101から供給されたデータを送信する。また、通信部106は通信相手から受信したデータをCPU101、RAM103、記憶部107等に出力する。記憶部107は、CPU101との間で情報をやり取りし、情報の保存・消去を行う。
【0023】
なお、ここでは、図3に示すようなコンピュータ装置にプログラムを実行させることにより、後述する一連の処理を行うこととして説明するが、専用のハードウェアにより実行させることとしてもかまわない。
【0024】
図4は、配信サーバ13の構成を示す機能ブロック図である。配信サーバ13は、認証機能131と、通信機能132と、コンテンツ管理機能133と、コンテンツ記憶機能134と、暗号処理機能135とを有している。
【0025】
認証機能131は、受信サーバ12又はクライアント14との間で認証処理を行う。認証が終わると通信相手との間でセッション鍵を共有しこれを暗号処理機能135に渡す。なお、公開鍵暗号のRSA(Rivest Shamir Adleman)、EC(Electronic Commerce)等の認証に用いられる鍵や証明書は、製品化時点に機器に埋め込まれている。
【0026】
通信機能132は、受信サーバ12やクライアント14からのメッセージを受け取り、認証メッセージを認証機能131へ、その他メッセージをコンテンツ管理機能133へ渡す。また、通信機能132は、認証機能131やコンテンツ管理機能133より受け取ったメッセージを受信サーバ12やクライアント14に送信する。
【0027】
コンテンツ管理機能133は、通信機能132を経由して受信サーバ12やクライアント14とメッセージを交換し、そのメッセージに応じた処理を行う。例えば、受信サーバ12からコンテンツデータを配信用として取得する場合、メッセージに応じて部分暗号化を暗号処理機能135に指示する。
【0028】
コンテンツ記憶機能134は、コンテンツ管理機能133からの要求に応じて情報の読み出し、書き込みを行う。
【0029】
暗号処理機能135は、コンテンツ管理機能133からの要求に応じてコンテンツデータを暗号化又は復号する。その際の鍵は、機器固有のものを使用する。また、コンテンツ管理機能133からの要求によってタイムスタンプ部分を暗号化又は復号しない部分暗号化を行う。他の機器とデータのやり取りに使われる暗号化・復号化用の鍵は、認証機能131より取得する。なお、コンテンツデータの暗号化・復号(DES, Triple-DES, AES等)用の鍵は製品化時点で埋められているか、製品化時点で埋められている機器IDからHash関数などを用いてクライアント14に一意に作成する。
【0030】
図5は、暗号処理機能135の構成を示す機能ブロック図である。暗号化処理機能135は、暗号モード記憶機能1351と、データ受付機能1352と、データ取出し機能1353と、データバッファ1354と、暗号機能1355と、鍵記憶機能1356とを有している。
【0031】
暗号モード記憶機能1351は、コンテンツ管理機能133等の外部から暗号モードを受信して記憶する。この暗号モード記憶機能1351は、保存、配信、又は自身での再生等のための生データ取出しの際、コンテンツ記憶機能134に記憶されたコンテンツデータが機器固有鍵を用いた全体暗号モードであるか、部分暗号モードであるかが記憶される。
【0032】
データ受付機能1352は、コンテンツ記憶機能等の外部機能から部分データ(Timed TSなどの倍数)を受け取りデータバッファ1354へ書き込む。また、データ入力完了時に暗号機能1355に暗号モード記憶機能1351のモードに応じた暗号化/復号開始を指示する。
【0033】
データ取出し機能1353は、暗号処理の完了した部分データ(Timed TSなどの倍数)をデータバッファ1354から取り出し、コンテンツ記憶機能等の外部機能に渡す。
【0034】
データバッファ1354は、暗号化・復号化対象のデータを一時的に記憶する。
【0035】
暗号機能1355は、暗号モード記憶機能1351の暗号モードに応じて暗号化処理、又は復号処理を行う。例えば、コンテンツデータの保存の場合、認証機能131から取得したセッション鍵で復号し、機器固有鍵で暗号化する。また、コンテンツデータの配信の場合、機器固有鍵で復号し、セッション鍵で暗号化する。また、自身での再生等のための生データ取出しの場合、機器固有鍵で復号する。ここで、機器固有鍵で暗号化又は復号する際、データバッファ1354内のタイムスタンプ部分を除いて暗号化又は復号を行う。なお、機器固有鍵は鍵記憶機能1356より取得する。
【0036】
鍵記憶機能1356は、製品化時に埋め込まれた機器固有鍵を記憶する。また、認証機能131等の外部機能よりセッション鍵を受け取り、記憶する。そして、暗号機能1355からの要求に応じてこれらの鍵を渡す。
【0037】
この配信サーバ13が受信サーバ12よりコンテンツを取得する場合、コンテンツ管理機能133は、通信機能132を介して要求メッセージを送り、通信機能132から暗号化されたコンテンツを受信する。
【0038】
そして、例えば、受信サーバ12からコンテンツデータを配信用として取得する場合、暗号処理機能135は、認証機能131より受け取った復号鍵を用いて、所定の転送プロトコルに従って受信したコンテンツデータを復号し、機器固有鍵でタイムスタンプ以外の部分を再暗号化し、コンテンツ記憶機能134に保存する。
【0039】
また、例えば、受信サーバ12からコンテンツデータをDVD(Digital Versatile Disc)等への記録用として取得する場合、暗号処理機能135は、認証機能131より受け取った復号鍵を用いて、所定の転送プロトコルに従って受信したコンテンツデータを復号し、機器固有鍵でタイムスタンプを含む全てを再暗号化し、DVD等に保存する。これにより、機器固有鍵で再暗号化したDVD等は、他の機器で再生ができなくなる。なお、例えば、タイムスタンプが付加されていないコンテンツデータの場合、機器固有鍵でコンテンツデータの全てを再暗号化する。
【0040】
配信サーバ13が通信機能132を介してクライアント等からコンテンツ要求を受け取った場合、コンテンツ管理機能133は、コンテンツ記憶機能134からコンテンツを取り出し、暗号処理機能135でタイムスタンプ以外の部分のみを復号させ、転送用に再暗号化させ、通信機能132を通してコンテンツを送信する。
【0041】
ここで、クライアント14等の相手よりtime base seekの要求を受け取った場合、コンテンツ記憶機能134内のタイムスタンプを順次検索し、要求された所望の位置を含む部分(TSパケット)からのコンテンツデータを暗号処理機能135で復号する。これにより、所望位置のコンテンツをクライアント14等に迅速に提供することができる。
【0042】
図6は、受信サーバ12の構成を示す機能ブロック図である。基本的に配信サーバ13と同じであるため、配信サーバ13と同様な構成には、説明を省略する。
【0043】
受信サーバ12は、受信機能121と、認証機能122と、通信機能123と、コンテンツ管理機能124と、コンテンツ記憶機能125と、暗号処理機能126とを有している。
【0044】
受信機能121は、放送サーバ11からコンテンツデータを受信する。なお、受信機能121は、放送サーバ11からのコンテンツデータに限らず、デジタルテレビ放送等からのコンテンツデータを受信するこことしてもよい。
【0045】
認証機能122は、配信サーバ13の認証機能131と同様であり、放送サーバ11、配信サーバ12又はクライアント14との間で認証処理を行う。
【0046】
通信機能123は、配信サーバ13の通信機能132と同様であり、配信サーバ13やクライアント14からのメッセージを受け取り、認証メッセージを認証機能122へ、その他メッセージをコンテンツ管理機能124へ渡す。また、通信機能123は、認証機能122やコンテンツ管理機能124より受け取ったメッセージを配信サーバ13やクライアント14に送信する。
【0047】
コンテンツ管理機能124は、配信サーバ13のコンテンツ管理機能133とほぼ同じ動作であるが、保存するコンテンツを暗号化する場合、保存されているコンテンツを復号する際、部分暗号化を指示しない点が異なる。すなわち、通信相手よりtime base seekの要求が来た場合、記憶機能125からそのコンテンツデータを頭から取り出し、復号して所望の位置を探し、通信相手に送信する。
【0048】
コンテンツ記憶機能125は、配信サーバ13のコンテンツ記憶機能134と同様であり、コンテンツ管理機能124からの要求に応じて情報の読み出し、書き込みを行う。
【0049】
暗号処理機能126は、コンテンツ管理機能124からの要求に応じてコンテンツデータを暗号化又は復号する。その際の鍵は、機器固有のものを使用する。他の機器とデータのやり取りに使われる暗号化・復号化用の鍵は、認証機能131より取得する。なお、コンテンツデータの暗号化・復号(DES,Triple-DES,AES等)用の鍵は製品化時点で埋められているか、製品化時点で埋められている機器IDからHash関数などを用いてクライアント14に一意に作成する。
【0050】
受信サーバ12は、放送網21を介して放送サーバ11からコンテンツデータを受信し、家庭内ネットワーク22を介して配信サーバ13やクライアント14にコンテンツデータを送信する。例えば、放送サーバ11から取得したコンテンツデータを配信サーバ13に送信する場合、認証機能122により、配信サーバ13と認証処理を行い、機器固有鍵を用いて暗号化されたコンテンツデータを、暗号処理機能126にて復号し、セッション鍵を用いて暗号化し、所定の通信プロトコル(DTCP-IP等)により、配信サーバ13にコンテンツデータを送信する。
【0051】
図7は、クライアント14の構成を示す機能ブロック図である。基本的に受信サーバ12と同じであるため、受信サーバ12と同様な構成には、説明を省略する。
【0052】
クライアント14は、通信機能141と、管理機能142と、コンテンツ表示機能143と、認証機能144と、暗号処理機能145と、ユーザ要求入力機能146とを有している。
【0053】
通信機能141は、受信サーバ12の通信機能123と同様であり、受信サーバ12や配信サーバ13からのメッセージを受け取り、認証メッセージを認証機能144へ、その他メッセージを管理機能142へ渡す。また、通信機能141は、認証機能144や管理機能142より受け取ったメッセージを受信サーバ12や配信サーバ13に送信する。
【0054】
管理機能142は、ユーザ要求入力機能146からの要求に応じて、通信機能141を経由して受信サーバ12又は配信サーバ13とメッセージを交換し、そのメッセージに応じた処理をする。
【0055】
コンテンツ表示機能143は、受信サーバ12又は配信サーバ13より取得し、復号化されたコンテンツデータを管理機能142より受け取り、これを表示する。
【0056】
認証機能144は、受信サーバ12や配信サーバ13と認証処理を行う。認証メッセージは、通信機能141を介して送受信され、認証に用いられる鍵や証明書(RSA,ECを用いたものなど)は、製品化時点で機器に埋め込まれる。認証が終わると通信相手との間でセッション鍵を共有し、これを暗号処理機能145に渡す。
【0057】
暗号処理機能145は、受信サーバ12又は配信サーバ13から受信した暗号化コンテンツデータを所定の転送プロトコルに従って復号する。この復号に用いられる鍵は、認証機能144より受け取る。
【0058】
ここで、クライアント14が配信サーバ13に再生する時間位置を指定するtime base seekの要求を行う場合、通信機能141をと介して配信サーバ13にコンテンツ要求メッセージ(time base seek要求)を送り、通信機能141から暗号化されたコンテンツデータを受信する。暗号化されたコンテンツデータは、暗号処理機能145にて所定の転送プロトコルに従って復号される。管理機能142は、コンテンツ表示機能143に対して復号されたコンテンツデータの表示を依頼する。これにより、time base seekの要求により指定された時間からコンテンツを再生することができる。
【0059】
次に、サーバ間、サーバ−クライアント間のやり取りについて詳細に説明する。
【0060】
図8は、配信サーバ13が受信サーバ12からTimed TSを取得する際のシーケンスを示す模式図である。なお。ここでは、受信サーバ12からコンテンツ取得を行うこととして説明するが、これに限ることなく、放送サーバ11からの取得でもよい。
【0061】
受信サーバ12のコンテンツ記憶機能125は、機器固有の鍵で暗号化されたタイムスタンプ付コンテンツ(Timed TS)が保存されている。
【0062】
配信サーバ13のコンテンツ管理機能133は、コンテンツ取得要求のため認証機能131に対して認証要求を出す(ステップS11)。認証要求は、通信機能132を経由して受信サーバ12の通信機能123から認証機能122へ通知される(ステップS12〜S14)。
【0063】
配信サーバ13の認証機能131と受信サーバ12の認証機能122は、それぞれの通信機能123、132を経由して認証及び鍵共有(AKE:Authentication and Key Exchange)を行う(ステップS21)。これにはECDH(Elliptic Curve Diffie Hellman)などが用いられる。鍵の共有が完了すると、認証機能122、131は、それぞれの暗号処理機能126、135にセッション鍵を設定する(ステップS22、S23)。
【0064】
配信サーバ13のコンテンツ管理機能133は、通信機能132を経由してコンテンツ要求を受信サーバ12のコンテンツ管理機能に対して通知する(ステップS31〜S33)。
【0065】
受信サーバ12のコンテンツ管理機能124は、配信サーバ12からのコンテンツ要求を受け取ると、コンテンツ記憶機能125より要求された暗号化コンテンツデータ(TimedTSなどの倍数)取得し(ステップS41)、暗号処理機能126のモード設定を行う(ステップS42)。このモード設定では、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化、又はタイムスタンプを含む全てのデータを暗号化する全体暗号化が設定される。
【0066】
コンテンツ管理機能124は、モード設定を行った後、暗号処理機能126にコンテンツデータの復号・再暗号化要求を行う(ステップS43)。暗号処理機能126は、機器固有の鍵で暗号化コンテンツデータ復号し、セッション鍵で再暗号化し、コンテンツ管理機能124に渡す(ステップS44)。
【0067】
そして、このコンテンツデータをコンテンツ要求の応答として、通信機能123を経由し(ステップS45)、配信サーバ13へ送信する(ステップS46)。送信する際のコンテンツ転送プロトコルとしては、例えばHTTPやRTPなど任意のものを用いてもかまわない。コンテンツ管理機能124は、ステップS41〜S46の処理を要求されたコンテンツのデータの終了まで繰り返す。
【0068】
配信サーバ13のコンテンツ管理機能133は、通信機能132を経由してコンテンツ応答を受け取ると(ステップS51)、暗号処理機能135のモード設定を行う(ステップS52)。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われる。
【0069】
コンテンツ管理機能133は、モード設定を行った後、暗号処理機能135にコンテンツデータの復号・再暗号化要求を行う(ステップS53)。暗号処理機能135は、セッション鍵による復号を行い、機器固有の鍵で部分暗号化したコンテンツデータとしてコンテンツ管理機能133に渡す(ステップS54)。具体的には、復号したコンテンツデータのうちタイムスタンプ部分を直接コンテンツ記憶機能134に保存し、続くタイムスタンプ以外のコンテンツデータ(ペイロード)部分(次のタイムスタンプ手前まで)を、機器固有の鍵で部分暗号化する。コンテンツ管理機能133は、コンテンツ記憶機能134に暗号化された部分コンテンツデータを保存する(ステップS55)。
【0070】
コンテンツ管理機能133は、ステップS51〜S55の処理を要求したコンテンツのデータの終了まで繰り返す。
【0071】
図9は、配信サーバ13がクライアント14へコンテンツを配信する際のシーケンスを示す模式図である。ここで、配信サーバ13には、上述したように、タイムスタンプが付加されたコンテンツデータが、タイムスタンプ以外のデータ部分を暗号化する部分暗号化処理されて記憶されている。
【0072】
ユーザは、ユーザ要求入力機能146を用いてコンテンツ再生要求を出す。コンテンツ再生要求は、再生開始ポイントを時間で指定することが可能である。
【0073】
認証機能144は、ユーザ要求入力機能146からのコンテンツ再生要求に応じて、配信サーバ13と認証及び鍵共有を行う。認証要求を認証機能144に出してからセッション鍵を共有して暗号処理機能145に設定するステップS61〜S73までの処理は、図8に示すステップS11〜S23までと同様である。
【0074】
管理機能142は、鍵を共有すると、通信機能141を経由して時間指定コンテンツ要求を配信サーバ13に送信する(ステップS81〜S83)。配信サーバ13のコンテンツ管理機能133は、クライアント14からの時間指定コンテンツ要求を受け取ると、指定された時間に基づいて、コンテンツ記憶機能134内のタイムスタンプを検索する(ステップS91)。所望のタイムスタンプでない場合は、次のタイムスタンプを読むという処理を繰り返す。なお、次のタイムスタンプの位置は、一定間隔(例えばTimed TSのサイズ)にある。これにより、所望の時間のタイムスタンプを迅速に探し出すことができる。
【0075】
コンテンツ管理機能133は、所望の時間のタイムスタンプを見つけると、コンテンツ記憶機能134より所望の位置以降の時間指定の部分コンテンツを取得し(ステップS92)、暗号処理機能126のモード設定を行う(ステップS93)。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われる。
【0076】
コンテンツ管理機能133は、モード設定をした後、暗号処理機能135にコンテンツデータの部分復号・再暗号化要求を行う(ステップS94)。暗号処理機能135は、機器固有の鍵で部分暗号化したコンテンツデータを部分復号し、セッション鍵による再暗号化を行い、コンテンツ管理機能133に渡す(ステップS95)。具体的には、部分暗号化されたタイムスタンプ以外のコンテンツデータ(ペイロード)部分(次のタイムスタンプ手前まで)を、機器固有の鍵で部分復号し、タイムスタンプ部分を含むコンテンツデータをセッション鍵で再暗号化する。
【0077】
コンテンツ管理機能133は、再暗号化されたコンテンツデータを通信機能132を経由してクライアント14に送信する(ステップS97)。コンテンツ管理機能124は、ステップS92〜S96の処理を時間指定要求されたコンテンツのデータの終了まで繰り返す。
【0078】
クライアント14の管理機能142は、通信機能141を経由して時間指定コンテンツ応答として、時間指定位置からのコンテンツデータを受信すると(ステップS101)、暗号処理機能145にコンテンツデータを渡す(ステップS102)。暗号処理機能145、セッション鍵を用いてコンテンツデータを復号し、そのコンテンツデータを管理機能142に渡す(ステップS103)。そして、管理機能142は、コンテンツ表示機能143に対してコンテンツ表示要求を出し(ステップS104)、時間指定されたコンテンツがクライアント14の表示部に表示される。
【0079】
このように第1の実施形態によれば、コンテンツデータを記録する際、タイムスタンプ部分を暗号化しないので、クライアント14からコンテンツの再生開始位置の指定の要求を受けても、迅速に所望位置を検索し、クライアント14に配信することができる。
【0080】
(第2の実施形態)
次に、本発明を適用した第2の実施形態について説明する。ここでは、配信サーバ13がタイムスタンプ付コンテンツデータを取り込む際に、単位時間あたりに何ビットのデータが処理あるいは送受信されるかを表すビットレート情報をメタ情報として保存し、検索を高速に行う。
【0081】
図10は、MPEG2システムのタイムスタンプ付きのTSとPES(Packetized Elementary Stream)の関係を示す模式図である。PESパケットは、単一のメディア情報をあるプレゼンテーションの単位でパケット化したもので、メディア再生の時間管理を行う単位となる。例えばビデオの場合、1枚の画像フレーム分の符号化データを1つのPESパケットとする。PESパケットは、不定長のパケットであり、ヘッダ情報にはパケット長、タイムスタンプ、スクランブル情報や著作権情報、CRC(Cyclic Redundancy Check)等が含まれる。つまり、図10に示すようにMPEG2-TimedTSのデータ部分には、MPEG2のPESパケットが分割されたものが入っている。
【0082】
ここで、PESパケットのFlags内のES_rate flagは、ビットレート情報が含まれている否かを示している。Trueの場合、Optional Fieldsの1フィールドにビットレートが入っている。ビットレート情報は22 bit unsigned integerで、単位は50 bytes/secondである。
【0083】
したがって、配信サーバ13は、ビットレート情報を解析するデコード機能を有し、コンテンツデータを記憶する際、ビットレート情報を解析し、メタ情報として記憶することにより、クライアント14から指定された時間から所望のコンテンツデータのおおよその位置を推測することができる。その後、タイムスタンプを見て正確な位置を特定することができる。
【0084】
図11は、ビットレート情報を解析するデコード機能付配信サーバ15の構成を示す機能ブロック図である。なお、配信サーバ13と同様な構成には、同一符号を付して説明を省略する。すなわち、このデコード機能付配信サーバ15は、デコード機能151と、認証機能131と、通信機能132と、コンテンツ管理機能133と、コンテンツ記憶機能134と、暗号処理機能135とを有している。
【0085】
デコード機能151は、PESパケットを解析し、Flags内のES_rate flagを見る。そして、ES_rate flagがTrueの場合、Optional Fields内の解析し、ビットレート情報を取得する。
【0086】
コンテンツ管理機能133は、デコード機能151が取得したビットレート情報を、コンテンツデータのメタ情報として、コンテンツ記憶機能134に記憶する。
【0087】
図12は、デコード機能付配信サーバ15が受信サーバ12からTimed TSを取得する際のシーケンスを示す模式図である。なお、このコンテンツデータの取り込み処理は、ビットレート取得のシーケンスが入る以外は、図8に示すシーケンスと同様であるため、同一処理には同一符号を付して説明を省略する。また、ここでは、受信サーバ12からコンテンツ取得を行うこととして説明するが、これに限ることなく、放送サーバ11からの取得でもよい。
【0088】
デコード機能付配信サーバ15がコンテンツを取得するために認証要求を受信サーバ12に出してから、認証し、受信サーバ12がコンテンツデータをコンテンツ要求の応答として、デコード機能付配信サーバ15へ送信するステップS11〜S46までの処理は、図8に示す処理と同様である。
【0089】
デコード機能付配信サーバ15のコンテンツ管理機能133は、通信機能132を経由してコンテンツ応答を受け取ると(ステップS51)、暗号処理機能135のモード設定を行う(ステップS201)。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われるとともに、コンテンツデータのビットレート情報をメタ情報として保存する生データ取り出しの設定が行われる。
【0090】
コンテンツ管理機能133は、モード設定を行った後、コンテンツのメタ情報にあたる部分の復号を暗号処理機能135に要求し(ステップS202)、デコード機能151に復号された生データからのビットレート取得を要求する(ステップS203)。デコード機能151からビットレートを取得すると(ステップS204)、これをコンテンツ記憶機能134に保存する(ステップS205)。この時、対応するコンテンツと同じprefixに「.meta」というsuffixをつけたファイルを作成し、これに図10に示すES_rateの値をbit/secondの単位に変換し、文字列として保存する。その後のコンテンツ管理機能133が暗号処理機能135にコンテンツデータの復号・再暗号化要求を行い、コンテンツ記憶機能134に暗号化された部分コンテンツデータを保存するステップS52〜S55までの処理は、図8に示す処理と同様である。
【0091】
図13は、デコード機能付配信サーバ15がクライアント14へコンテンツを配信する際のシーケンスを示す模式図である。ここで、デコード機能付配信サーバ15には、上述したように、タイムスタンプが付加されたコンテンツデータが、タイムスタンプ以外のデータ部分を暗号化する部分暗号化されて記憶されているとともに、メタ情報として単位時間あたりに何ビットのデータが処理あるいは送受信されるかを表すビットレート情報が記憶されている。
【0092】
クライアント14がコンテンツ再生要求を出してから、認証し、時間指定コンテンツ要求をデコード機能付配信サーバ15に送信するステップS61〜S83までの処理は、図9に示す処理と同様である。
【0093】
デコード機能付配信サーバ15のコンテンツ管理機能133は、クライアント14からの時間指定コンテンツ要求を受け取ると、コンテンツ記憶機能134にメタ情報を要求し(ステップS211)、コンテンツ記憶機能134からビットレート情報を取得する(ステップS212)。
【0094】
次に、コンテンツ管理機能133は、ビットレート情報に基づいてコンテンツ記憶機能134に記憶されたコンテンツデータから時間指定された概算位置を計算し、その概算位置からコンテンツ位置のシーク(検索)を開始する(ステップS91)。所望のタイムスタンプではない場合、所望のものと読み出したタイムスタンプの大小によって次に読み出すタイムスタンプが前か後かを判断し、次のタイムスタンプを読み出す。所望のタイムスタンプが見つかるまでこれを繰り返す。このビットレート情報を用いるにより、所望の時間のタイムスタンプをさらに迅速に探し出すことができる。
【0095】
その後、コンテンツ管理機能133がコンテンツ記憶機能134より所望の位置以降の時間指定の部分コンテンツを取得し、部分復号・再暗号化を行い、クライアント14に送信するステップSS92〜S97の処理、及びクライアント14が時間指定位置からのコンテンツデータを受信、復号し、表示部に表示するステップS101〜S104の処理は、図9に示す処理と同様である。
【0096】
このように第2の実施形態によれば、コンテンツデータを記録する際、ビットレート情報を取得するため、クライアント14からコンテンツの再生開始位置の指定の要求を受けた場合、ビットレート情報に基づいて概算位置を算出し、迅速に所望位置を検索することができる。
【0097】
(第3の実施形態)
上記第2の実施形態では、デコード機能付配信サーバ15がコンテンツデータを記憶する際、ビットレート情報を解析し、メタ情報として記憶することとしたが、受信サーバ12がビットレート情報をメタデータとして持っている場合、コンテンツの取得時にビットレート情報を受信サーバ12から取得するようにしてもよい。この場合の受信サーバ12及び配信サーバ13は、それぞれ図6及び図4に示す機能ブロックと同様である。
【0098】
図14は、配信サーバ13が受信サーバ12からTimed TSを取得する際のシーケンスを示す模式図である。なお、このコンテンツデータの取り込み処理は、受信サーバ12へのビットレート要求のシーケンスが入る以外は、図8に示すシーケンスと同様であるため、同一処理には同一符号を付して説明を省略する。また、ここでは、受信サーバ12からコンテンツ取得を行うこととして説明するが、これに限ることなく、ビットレート情報をメタデータとして持っていれば、放送サーバ11からの取得でもよい。
【0099】
配信サーバ13がコンテンツを取得するために認証要求を認証機能131に出してからセッション鍵を共有するステップS11〜S23までの処理は、図8に示す処理と同様である。
【0100】
配信サーバ13のコンテンツ管理機能133は、セッション鍵を共有すると、通信機能132を経由してビットレート要求を受信サーバ12に送信する(ステップS311〜S313)。ビットレート要求を受信した受信サーバ12のコンテンツ管理機能124は、コンテンツ記憶機能125にメタ情報を要求し(ステップS314)、コンテンツ記憶機能からビットレート情報を取得する(ステップS315)。コンテンツ管理機能124は、通信機能123を経由して配信サーバ13にビットレート情報を送信して応答する(ステップS316、S317)。
【0101】
配信サーバ13のコンテンツ管理機能133は、ビットレート情報を受信すると(ステップS318)、コンテンツ記憶機能134にビットレート情報を保存する(ステップS319)。
【0102】
その後の配信サーバ13がコンテンツ要求を受信サーバ12に出してから、受信サーバ12がコンテンツデータをコンテンツ要求の応答として、配信サーバ15へ送信するステップS31〜S46までの処理、及び配信サーバ13がコンテンツデータを受け取ってから、コンテンツ管理機能133が暗号処理機能135にコンテンツデータの復号・再暗号化要求を行い、コンテンツ記憶機能134に暗号化された部分コンテンツデータを保存するステップS51〜S55までの処理は、図8に示す処理と同様である。
【0103】
以上、本発明によれば、タイムスタンプ付暗号化コンテンツのtime base seekの高速化を実現することができる。
【0104】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上記実施の形態のビットレート情報は、PESパケットを解析することにより取得することとしたが、これに限られるものではなく、例えば、Timed TSのタイムスタンプと、コンテンツデータの全体ファイルサイズから平均ビットレートを求めるようにしてもよい。これにより、コンテンツのビットレート情報が時間位置によって変動がある場合でも、正確な概算位置を特定することができる。
【図面の簡単な説明】
【0105】
【図1】本発明を適用したコンテンツ配信システムの一実施形態を示す図である。
【図2】本発明の一実施形態におけるタイムスタンプ付きのMPEG2-TSパケットストリームの例を示す図である。
【図3】受信サーバ、配信サーバ及びクライアントのハードウェア構成を示すブロック図である。
【図4】配信サーバの構成を示す機能ブロック図である。
【図5】暗号処理機能の構成を示す機能ブロック図である。
【図6】受信サーバの構成を示す機能ブロック図である。
【図7】クライアントの構成を示す機能ブロック図である。
【図8】配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【図9】配信サーバがクライアントへコンテンツを配信する際のシーケンスを示す模式図である。
【図10】タイムスタンプ付きのTSとPESの関係を示す模式図である。
【図11】デコード機能付配信サーバの構成を示す機能ブロック図である。
【図12】デコード機能付配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【図13】デコード機能付配信サーバがクライアントへコンテンツを配信する際のシーケンスを示す模式図である。
【図14】配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【符号の説明】
【0106】
11 放送サーバ、12 受信サーバ、13 配信サーバ、14 クライアント、15 デコード機能付配信サーバ、21 放送網、22 家庭内ネットワーク、131 認証機能、132 通信機能、133 コンテンツ管理機能、134 コンテンツ記憶機能、135 暗号処理機能、1351 暗号モード記憶機能、1352 データ受付機能、1353 データ取出し機能、1354 データバッファ、1355 暗号機能、1356 鍵記憶機能
【特許請求の範囲】
【請求項1】
時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信サーバにおいて、
上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号手段と、
上記復号手段で復号されたストリーミングデータをローカル暗号化するローカル暗号化手段と、
上記ローカル暗号化手段でローカル暗号化されたストリーミングデータを記憶する記憶手段と、
上記暗号化ストリーミングデータを上記クライアントに配信する配信手段とを備え、
上記ローカル暗号化手段は、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号手段で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、
上記記憶手段は、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、
上記配信手段は、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信する
ことを特徴とするコンテンツ配信サーバ。
【請求項2】
上記配信手段は、上記暗号化ストリーミングデータのビットレート情報に基づいて上記所望時間位置の概算位置を求め、上記時刻情報に基づいて部分暗号化ストリーミングデータを検索することを特徴とする請求項1記載のコンテンツ配信サーバ。
【請求項3】
上記復号手段で復号されたストリーミングデータからビットレート情報を取得するビットレート情報取得手段を備えることを特徴とする請求項1記載のコンテンツ配信サーバ。
【請求項4】
時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信方法において、
上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号工程と、
上記復号工程で復号されたストリーミングデータをローカル暗号化するローカル暗号化工程と、
上記ローカル暗号化工程でローカル暗号化されたストリーミングデータを記憶手段に記憶する記憶工程と、
上記暗号化ストリーミングデータを上記クライアントに配信する配信工程とを有し、
上記ローカル暗号化工程では、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号工程で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、
上記記憶工程では、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、
上記配信工程では、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信する
ことを特徴とするコンテンツ配信方法。
【請求項1】
時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信サーバにおいて、
上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号手段と、
上記復号手段で復号されたストリーミングデータをローカル暗号化するローカル暗号化手段と、
上記ローカル暗号化手段でローカル暗号化されたストリーミングデータを記憶する記憶手段と、
上記暗号化ストリーミングデータを上記クライアントに配信する配信手段とを備え、
上記ローカル暗号化手段は、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号手段で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、
上記記憶手段は、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、
上記配信手段は、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信する
ことを特徴とするコンテンツ配信サーバ。
【請求項2】
上記配信手段は、上記暗号化ストリーミングデータのビットレート情報に基づいて上記所望時間位置の概算位置を求め、上記時刻情報に基づいて部分暗号化ストリーミングデータを検索することを特徴とする請求項1記載のコンテンツ配信サーバ。
【請求項3】
上記復号手段で復号されたストリーミングデータからビットレート情報を取得するビットレート情報取得手段を備えることを特徴とする請求項1記載のコンテンツ配信サーバ。
【請求項4】
時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信方法において、
上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号工程と、
上記復号工程で復号されたストリーミングデータをローカル暗号化するローカル暗号化工程と、
上記ローカル暗号化工程でローカル暗号化されたストリーミングデータを記憶手段に記憶する記憶工程と、
上記暗号化ストリーミングデータを上記クライアントに配信する配信工程とを有し、
上記ローカル暗号化工程では、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号工程で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、
上記記憶工程では、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、
上記配信工程では、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信する
ことを特徴とするコンテンツ配信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−9303(P2008−9303A)
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2006−182028(P2006−182028)
【出願日】平成18年6月30日(2006.6.30)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願日】平成18年6月30日(2006.6.30)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]