(57)【要約】【課題】  コンテンツを保護することができるようにする。【解決手段】  階層決定部１５２は、通信部１５１から供給されてくるストレージの最大書き込み速度のビットレートと、階層情報保持部１５３が記憶している、階層符号化されたコンテンツにおける階層ごとのビットレートとを比較することで、階層符号化されたコンテンツの階層を決定する。パケタイザ１５４は、コンテンツ記録部１５５から取得したコンテンツから、決定された階層に応じた階層のコンテンツを取得し、取得した階層のコンテンツをパケットに格納する。通信部１５１は、パケタイザ１５４から供給されてくるパケットを送信して、ストリーミング配信を行うことで、コンテンツを保護することができるようになる。本発明は、通信システムに適用できる。【選択図】  図４
2006295601.tif 000002
【特許請求の範囲】
【請求項１】
受信装置および送信装置から構成される通信システムにおいて、
前記受信装置は、
それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出手段と、
算出した前記第１の速度を前記送信装置宛に送信する第１の送信手段と
を備え、
前記送信装置は、
前記受信装置から送信されてくる、前記第１の速度を受信する受信手段と、
受信した前記第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までの前記データの階層のうち、送信する前記データの最も上位の階層を決定する決定手段と、
決定した前記階層に基づいて、階層符号化されたデータから、前記階層のデータを取得する取得手段と、
取得した前記階層のデータを送信する第２の送信手段と
を備えることを特徴とする通信システム。
【請求項２】
通信網を介して、送信装置から送信されてきたパケットを受信する受信装置において、
それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出手段と、
算出した前記第１の速度を前記送信装置宛に送信する送信手段と
を備えることを特徴とする受信装置。
【請求項３】
算出した前記第１の速度をセッション制御メッセージプロトコルのメッセージに格納することで、前記セッション制御メッセージプロトコルのメッセージを生成する生成手段を備え、
前記送信手段は、生成した前記メッセージを前記送信装置宛に送信する
ことを特徴とする請求項２に記載の受信装置。
【請求項４】
通信網を介して、送信装置から送信されてきたパケットを受信する受信方法において、
それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出ステップと、
算出した前記第１の速度の前記送信装置宛への送信を制御する送信制御ステップと
を含むことを特徴とする受信方法。
【請求項５】
通信網を介して、送信装置から送信されてきたパケットを受信する受信処理を、コンピュータに行わせるプログラムにおいて、
それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出ステップと、
算出した前記第１の速度の前記送信装置宛への送信を制御する送信制御ステップと
を含むことを特徴とするプログラム。
【請求項６】
通信網を介して、パケットを受信装置に送信する送信装置において、
前記受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す前記第１の速度を受信する受信手段と、
受信した前記第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までの前記データの階層のうち、送信する前記データの最も上位の階層を決定する決定手段と、
決定した前記階層に基づいて、階層符号化されたデータから、前記階層のデータを取得する取得手段と、
取得した前記階層のデータを送信する送信手段と
を備えることを特徴とする送信装置。
【請求項７】
前記決定手段は、前記第２の速度が前記第１の速度よりも速くなるとき、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までの前記データの階層のうち、送信する前記データの最も上位の階層を決定する
ことを特徴とする請求項６に記載の送信装置。
【請求項８】
前記第２の速度を、階層符号化されたデータの階層ごとに記憶する記憶手段を備え、
前記決定手段は、受信した前記第１の速度と、記憶している前記第２の速度とを比較することで、前記階層を決定する
ことを特徴とする請求項６に記載の送信装置。
【請求項９】
通信網を介して、パケットを受信装置に送信する送信方法において、
前記受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す前記第１の速度の受信を制御する受信制御ステップと、
受信した前記第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までの前記データの階層のうち、送信する前記データの最も上位の階層を決定する決定ステップと、
決定した前記階層に基づいて、階層符号化されたデータから、前記階層のデータを取得する取得ステップと、
取得した前記階層のデータの送信を制御する送信制御ステップと
を含むことを特徴とする送信方法。
【請求項１０】
通信網を介して、パケットを受信装置に送信する送信処理を、コンピュータに行わせるプログラムにおいて、
前記受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す前記第１の速度の受信を制御する受信制御ステップと、
受信した前記第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までの前記データの階層のうち、送信する前記データの最も上位の階層を決定する決定ステップと、
決定した前記階層に基づいて、階層符号化されたデータから、前記階層のデータを取得する取得ステップと、
取得した前記階層のデータの送信を制御する送信制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システム、送信装置および方法、受信装置および方法、並びにプログラムに関し、特に、コンテンツを保護することができるようにした通信システム、送信装置および方法、受信装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、インターネットなど、種々の通信媒体を介して、画像データまたは音声データを伝送して提供するサービスが一般に行われている。特に、近年、ダウンロード型の伝送方式のサービスに加えて、ストリーム型の伝送方式のサービスがより多く提供されるようになってきた。
【０００３】
ダウンロード型の伝送方式のサービスにおいては、受信装置が、送信装置から送信された画像データまたは音声データを格納するファイルを受信し、受信したファイルを自分の記憶媒体（ストレージ）に記録する。受信装置は、ファイルの記録が完了した後、記録したファイルを基に、画像または音声を再生する。ダウンロード型の伝送方式のサービスにおいては、ファイルの記録が完了するまでは、再生することができないので、ダウンロード型の伝送方式のサービスは、長時間の再生またはリアルタイムの再生には適さない。
【０００４】
一方、ストリーム型の伝送方式のサービスにおいては、受信装置が、送信装置から送信されてくるデータを受信するとともに、これに平行して、受信されたデータを基に画像または音声を再生する。ストリーム型の伝送方式は、インターネット電話、遠隔テレビ会議、またはビデオオンデマンドなどのインターネットサービスに利用されている。
【０００５】
ストリーミング型の伝送方式において、送信装置から送信されてくるデータを、一般に、ストリーミングデータと称する。
【０００６】
より具体的な例として、ストリーミング型の伝送方式は、画像データにMPEG（Moving Picture Experts Group）符号化処理を適用することにより生成されるMPEGストリームを格納するIP（Internet Protocol）パケットを、インターネットを介して伝送するシステムで使用される。このシステムにおいて、受信装置である、PC（Personal Computer）、PDA（Personal Digital Assistance）、または携帯電話機は、IPパケットを受信し、画像を再生する。
【０００７】
ストリーム型の伝送方式は、ビデオオンデマンド若しくはライブ映像のストリーミング配信、ビデオ会議、またはテレビ電話などのリアルタイム通信に適している。また、ストリーミング型の伝送方式では、タウンロード型と違い、動画などのコンテンツを一度もストレージにファイルとして記録しないため、一般的に、コンテンツの保護の面などからも有用であるとされている。
【０００８】
また、ビデオオンデマンドなどのリアルタイム通信において、例えば、携帯電話機などように解像度の低いディスプレイと処理能力の低いCPU（Central Processing Unit）を有する装置から、デスクトップパソコンのように解像度の高いディスプレイと処理能力の高いCPUを有する装置まで、様々な受信装置において処理能力などに応じた受信処理や表示処理を実行させる１つの手法として、送受信するデータの符号化を階層化させて実行する方法、すなわち、階層符号化された符号化データを利用した通信システムが考えられている。
【０００９】
このような、階層符号化が可能となる圧縮方式としては、例えば、MPEG4（Moving Picture Experts Group phase 4）とJPEG2000によるビデオストリームがある。MPEG4では、Fine Granuality Scalability技術を規格に取り込みプロフィット化する予定であり、この階層符号化技術によりスケーラブルに低いビットレート（Bit Rate）（１秒間に流れるデータ量）から高いビットレートまで配信することが可能となる。また、ウェーブレット（Wavelet）変換をベースとするJPEG2000は、ウェーブレット変換の特徴を生かし、空間解像度をベースにパケット化することや、または画質をベースに階層的にパケット化することが可能である。また、JPEG2000は、静止画だけでなく、動画を扱うことのできるMotion JPEG2000（Part 3）規格により、階層化したデータをファイルフォーマットで保存することが可能である。
【００１０】
従来、送信装置が送信するデータは、受信装置の能力に応じて異なるフォーマットのデータや伝送レートに応じて異なるデータを用意する必要があったが、この階層符号化によって、１つのファイルデータから異なる能力の受信装置に対して、同時にデータ配信が可能となる。
【００１１】
さらに、配信サーバとクライアントPCのそれぞれにおける、システムクロックのクロック差が反映されたデコード時刻を設定することで、バッファオーバフローやバッファアンダフローを抑制する通信システムもある（例えば、特許文献１）。
【００１２】
【特許文献１】特開２００５−２７２０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、本来、ストリーミングデータは、受信装置による再生とともに廃棄されるものであるが、受信装置において、ストリーミングデータとして受信したパケットをストレージに記録することで、後から、コンテンツを再構成される可能性があるという問題があった。
【００１４】
また、例えば、特開２００５−２７２０９号公報に開示されている通信システムは、受信装置において、バッファオーバフローやバッファアンダフローを抑制することはできるが、ストリーミングデータとして受信したパケットをストレージに記録して、後から、コンテンツとして再構成される可能性があった。
【００１５】
本発明はこのような状況に鑑みてなされたものであり、コンテンツを保護することができるようにするものである。
【課題を解決するための手段】
【００１６】
本発明の通信システムは、受信装置が、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出手段と、算出した第１の速度を送信装置宛に送信する第１の送信手段とを備え、送信装置が、受信装置から送信されてくる、第１の速度を受信する受信手段と、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定手段と、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得手段と、取得した階層のデータを送信する第２の送信手段とを備えることを特徴とする。
【００１７】
本発明の受信装置は、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出手段と、算出した第１の速度を送信装置宛に送信する送信手段とを備えることを特徴とする。
【００１８】
本発明の受信装置は、算出した第１の速度をセッション制御メッセージプロトコルのメッセージに格納することで、セッション制御メッセージプロトコルのメッセージを生成する生成手段を備え、送信手段は、生成したメッセージを送信装置宛に送信することを特徴とする。
【００１９】
本発明の受信方法は、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出ステップと、算出した第１の速度の送信装置宛への送信を制御する送信制御ステップとを含むことを特徴とする。
【００２０】
本発明のプログラムは、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出ステップと、算出した第１の速度の送信装置宛への送信を制御する送信制御ステップとを含むことを特徴とする。
【００２１】
本発明の送信装置は、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度を受信する受信手段と、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定手段と、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得手段と、取得した階層のデータを送信する第２の送信手段とを備えることを特徴とする。
【００２２】
決定手段は、第２の速度が第１の速度よりも速くなるとき、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定することができる。
【００２３】
本発明の送信装置は、第２の速度を、階層符号化されたデータの階層ごとに記憶する記憶手段を備え、決定手段は、受信した第１の速度と、記憶している第２の速度とを比較することで、階層を決定することを特徴とする。
【００２４】
本発明の送信方法は、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度の受信を制御する受信制御ステップと、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定ステップと、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得ステップと、取得した階層のデータの送信を制御する送信制御ステップとを含むことを特徴とする。
【００２５】
本発明のプログラムは、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度の受信を制御する受信制御ステップと、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定ステップと、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得ステップと、取得した階層のデータの送信を制御する送信制御ステップとを含むことを特徴とする。
【００２６】
本発明の通信システムにおいては、受信装置によって、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度が算出され、算出された第１の速度が送信装置宛に送信され、送信装置によって、受信装置から送信されてくる、第１の速度が受信され、受信された第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層が決定され、決定された階層に基づいて、階層符号化されたデータから、階層のデータが取得され、取得された階層のデータが送信される。
【００２７】
本発明の受信装置および方法、並びにプログラムにおいては、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度が算出され、算出された第１の速度が送信装置宛に送信される。
【００２８】
本発明の送信装置および方法、並びにプログラムにおいては、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度が受信され、受信された第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層が決定され、決定された階層に基づいて、階層符号化されたデータから、階層のデータが取得され、取得された階層のデータが送信される。
【発明の効果】
【００２９】
本発明によれば、コンテンツを保護することができる。また、本発明によれば、より確実に、コンテンツを保護することができる。
【発明を実施するための最良の形態】
【００３０】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応していないものであることを意味するものではない。
【００３１】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００３２】
本発明によれば、通信システムが提供される。この通信システム（例えば、図１のストリーミング配信システム１）は、受信装置（例えば、図１のクライアント１１）が、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出手段（例えば、図３のレート指定部１０１）と、算出した第１の速度を送信装置宛に送信する第１の送信手段（例えば、図３の送信部１２１）とを備え、送信装置（例えば、図１のサーバ１３）が、受信装置から送信されてくる、第１の速度を受信する受信手段（例えば、図４の受信部１６１）と、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定手段（例えば、図４の階層決定部１５２）と、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得手段（例えば、図４のパケタイザ１５４）と、取得した階層のデータを送信する第２の送信手段（例えば、図４の送信部１６２）とを備える。
【００３３】
本発明によれば、受信装置が提供される。この受信装置（例えば、図１のクライアント１１）は、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出手段（例えば、図３のレート指定部１０１）と、算出した第１の速度を送信装置宛に送信する送信手段（例えば、図３の送信部１２１）とを備える。
【００３４】
送信装置は、算出した第１の速度をセッション制御メッセージプロトコルのメッセージに格納することで、セッション制御メッセージプロトコルのメッセージを生成する生成手段（例えば、図３のパケット生成部１０３）を備え、送信手段は、生成したメッセージを送信装置宛に送信することができる。
【００３５】
本発明によれば、受信方法が提供される。この受信方法は、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出ステップ（例えば、図５のステップＳ１２の処理）と、算出した第１の速度の送信装置宛への送信を制御する送信制御ステップ（例えば、図５のステップＳ１４の処理）とを含む。
【００３６】
本発明によれば、プログラムが提供される。このプログラムは、それぞれの記録媒体への書き込み速度のうち、最も速い書き込み速度を示す第１の速度を算出する算出ステップ（例えば、図５のステップＳ１２の処理）と、算出した第１の速度の送信装置宛への送信を制御する送信制御ステップ（例えば、図５のステップＳ１４の処理）とを実行させる。
【００３７】
このプログラムは、記憶媒体（例えば、図２の磁気ディスク５１）に記憶することができる。
【００３８】
本発明によれば、送信装置が提供される。この送信装置（例えば、図１のサーバ１３）は、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度を受信する受信手段（例えば、図４の受信部１６１）と、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定手段（例えば、図４の階層決定部１５２）と、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得手段（例えば、図４のパケタイザ１５４）と、取得した階層のデータを送信する送信手段（例えば、図４の送信手段）とを備える。
【００３９】
決定手段は、第２の速度が第１の速度よりも速くなるとき、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定することができる。
【００４０】
送信装置は、第２の速度を、階層符号化されたデータの階層ごとに記憶する記憶手段（例えば、図４の階層情報保持部１５３）を備え、決定手段は、受信した第１の速度と、記憶している第２の速度とを比較することで、階層を決定することができる。
【００４１】
本発明によれば、送信方法が提供される。この送信方法は、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度の受信を制御する受信制御ステップ（例えば、図９のステップＳ１１１の処理）と、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定ステップ（例えば、図９のステップＳ１１４の処理）と、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得ステップ（例えば、図１１のステップＳ１３１の処理）と、取得した階層のデータの送信を制御する送信制御ステップ（例えば、図１１のステップＳ１３５の処理）とを含む。
【００４２】
本発明によれば、プログラムが提供される。このプログラムは、受信装置から送信されてくる、それぞれの記録媒体への書き込み速度の中で、最も速い書き込み速度を示す第１の速度の受信を制御する受信制御ステップ（例えば、図９のステップＳ１１１の処理）と、受信した第１の速度と、階層符号化されたデータにおける階層ごとの転送速度を示す第２の速度とを比較することで、復号に欠くことのできない最下位の階層から、より品質の高い復号をするためのより上位の階層までのデータの階層のうち、送信するデータの最も上位の階層を決定する決定ステップ（例えば、図９のステップＳ１１４の処理）と、決定した階層に基づいて、階層符号化されたデータから、階層のデータを取得する取得ステップ（例えば、図１１のステップＳ１３１の処理）と、取得した階層のデータの送信を制御する送信制御ステップ（例えば、図１１のステップＳ１３５の処理）とを実行させる。
【００４３】
このプログラムは、記憶媒体（例えば、図２の磁気ディスク５１）に記憶することができる。
【００４４】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００４５】
図１は、本発明を適用したストリーミング配信システム１の一実施の形態の構成を示すブロック図である。ストリーミング配信システム１は、本発明の通信システムの一例である。このストリーミング配信システム１においては、インターネットなどのパケット通信網１２に、クライアント１１およびサーバ１３が接続されている。
【００４６】
クライアント１１は、例えば、PC、PDA、または携帯電話機などにより構成され、パケット通信網１２を介して、サーバ１３から送信されてきたパケットを受信する。クライアント１１は、本発明の受信装置の一例である。
【００４７】
クライアント１１は、受信したパケットから画像データを抽出し、抽出した画像データを出力装置（図示せず）に供給する。出力装置は、例えば、LCD（Liquid Crystal Display）またはCRT（Cathode Ray Tube）などのディスプレイにより構成され、クライアント１１に内蔵するようにしてもよいし、クライアント１１とは別の装置として設けるようにしてもよい。
【００４８】
画像データは、ストリーミングデータの一例である。ストリーミングデータは、音声のデータ、またはリアルタイム制御データなど、時間の経過に対応して順次送信または受信が要求されるデータであればよい。
【００４９】
サーバ１３は、例えば、専用のサーバまたはPCなどにより構成され、クライアント１１からストリーミングデータの配信の要求がされた場合、自分が記録している画像データをパケットに格納して、パケットを、パケット通信網１２を介して、クライアント１１宛てに送信する。サーバ１３は、本発明の送信装置の一例である。
【００５０】
パケット通信網１２は、有線または無線の通信回線、ネットワーク、またはインターネットなどからなる伝送路であり、所定の遅延時間で、サーバ１３から送信されたパケットをクライアント１１まで伝送する。
【００５１】
なお、図１で示されるストリーミング配信システム１の例においては、クライアント１１およびサーバ１３が、それぞれ１台ずつ設けられているが、実際には、サーバ１３は、複数のクライアント１１に対してストリーミングデータを配信するので、クライアント１１は、パケット通信網１２を介して、複数台接続されている。また、同様に、複数のサーバ１３を設けるようにしてもよい。
【００５２】
図２は、クライアント１１の構成の例を示すブロック図である。
【００５３】
サーバ１２のCPU３１は、ROM（Read Only Memory）３２、または記録部３８に記録されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）３３には、CPU３１が実行するプログラムやデータなどが適宜記憶される。これらのCPU３１、ROM３２、およびRAM３３は、バス３４により相互に接続されている。
【００５４】
CPU３１にはまた、バス３４を介して入出力インタフェース３５が接続されている。入出力インタフェース３５には、キーボード、マウス、マイクロホンなどよりなる入力部３６、ディスプレイ、スピーカなどよりなる出力部３７が接続されている。CPU３１は、入力部３６から入力される指令に対応して各種の処理を実行する。そして、CPU３１は、処理の結果得られた画像や音声等を出力部３７に出力する。
【００５５】
入出力インタフェース３５に接続されている記録部３８は、例えば、ハードディスクなどで構成され、CPU３１が実行するプログラムや各種のデータを記録する。通信部３９は、通信網１３、インターネット、その他のネットワーク、または通信媒体を介して外部の装置と通信する。
【００５６】
また、通信部３９を介してプログラムを取得し、記録部３８に記録してもよい。
【００５７】
入出力インタフェース３５に接続されているドライブ４０は、磁気ディスク５１、光ディスク５２、光磁気ディスク５３、或いは半導体メモリ５４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部３８に転送され、記録される。
【００５８】
なお、サーバ１３は、クライアント１１と同様に構成されるので、その記載および説明は省略する。また、クライアント１１およびサーバ１３は、図２に示した内部構造に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成を持つことが可能である。
【００５９】
図３は、クライアント１１の機能の構成を示すブロック図である。
【００６０】
クライアント１１は、通信部３９、レート指定部１０１、ストレージ１０２−１、ストレージ１０２−２、パケット生成部１０３、バッファ１０４、およびデコーダ１０５を含むようにして構成される。
【００６１】
レート指定部１０１は、クライアント１１のストレージの書き込み速度の中で、最も速い書き込み速度である最大書き込み速度を決定する、最大書き込み速度決定の処理を行う。
【００６２】
例えば、レート指定部１０１は、クライアント１１のストレージ１０２−１およびストレージ１０２−２の書き込み速度を測定し、測定した書き込み速度のうち、１番速い（大きい）書き込み速度を最大書き込み速度として決定する。レート指定部１０１は、決定した最大書き込み速度のビットレートをパケット生成部１０３に供給する。
【００６３】
レート指定部１０１は、書き込み速度取得部１１１および最大書き込み速度算出部１１２を含むように構成される。
【００６４】
書き込み速度取得部１１１は、クライアント１１のストレージの書き込み速度を取得する。書き込み速度取得部１１１は、取得したストレージの書き込み速度を最大書き込み速度算出部１１２に供給する。例えば、書き込み速度取得部１１１は、メインメモリ（例えば、RAM３３）以外のストレージ１０２−１およびストレージ１０２−２のそれぞれから書き込み速度を取得し、取得したそれぞれの書き込み速度を最大書き込み速度算出部１１２に供給する。
【００６５】
最大書き込み速度算出部１１２は、書き込み速度取得部１１１から供給されたストレージの書き込み速度を基に、最大書き込み速度を算出する。最大書き込み速度算出部１１２は、算出した最大書き込み速度のビットレートをパケット生成部１０３に供給する。
【００６６】
ストレージ１０２−１は、例えば、ハードディスク、磁気テープ、CD-R(Compact Disc Recordable)、DVD-R(Digital Versatile Disc Recordable)、またはMD（Mini-Disc）（商標）などの外部記憶装置から構成される。また、ストレージ１０２−１は、CPU３１が実行するプログラムや各種のデータを記録する。
【００６７】
ストレージ１０２−２は、ストレージ１０２−１と同様に、例えば、ハードディスクなどから構成され、CPU３１が実行するプログラムや各種のデータを記録する。
【００６８】
パケット生成部１０３は、最大書き込み速度算出部１１２から供給された最大書き込み速度のビットレートを、RTSP（Real Time Streaming Protocol）パケットに格納することでRTSPパケットを生成する。パケット生成部１０３は、生成したRTSPパケットを通信部３９に供給する。
【００６９】
ここで、詳細は後述するが、RTSPとは、例えば、インターネットなどのTCP/IP（Transmission Control Protocol/Internet Protocol）ネットワーク上で、音声や動画などをリアルタイムに配信するためのプロトコルである。一般的に、RTSPは、ストリーミング型の伝送方式におけるプロトコルとして使用される。また、本発明においては、クライアント１１とサーバ１３との間で、RTSPであるプロトコルに従って、送受信されるパケットを、RTSPパケットと称して説明する。
【００７０】
例えば、パケット生成部１０３は、最大書き込み速度算出部１１２から供給された最大書き込み速度のビットレートおよび入力部３６から供給されてくる、ユーザにより選択されたコンテンツを示す情報（以下、コンテンツ名と称する）を基に、RTSPパケットを生成し、生成したRTSPパケットを通信部３９に供給する。
【００７１】
通信部３９は、図２の通信部３９に対応し、パケット通信網１２、インターネット、その他のネットワーク、または通信媒体を介して、外部の装置と通信する。
【００７２】
通信部３９は、各種のパケットを送信する送信部１２１および各種のパケットを受信する受信部１２２を含むように構成される。
【００７３】
送信部１２１は、パケット生成部１０３から供給されてくるRTSPパケットを、パケット通信網１２を介して、サーバ１３宛に送信する。受信部１２２は、パケット通信網１２を介して、サーバ１３から送信されてきたパケットをバッファ１０４に供給する。
【００７４】
バッファ１０４は、通信部３９から供給されてくるパケットから抽出された画像データを、一時的に記憶する。
【００７５】
デコーダ１０５は、サーバ１３のエンコーダ（図示せず）に対応した復号方式で、バッファ１０４に記憶されている画像データを復号して、復号して得られた画像データを、例えば、LCDやCRTディスプレイなどからなるクライアント１１の出力部３７出力することで、出力部３７の画面に画像が映し出され、ストリーミングが開始される。
【００７６】
以下、ストレージ１０２−１およびストレージ１０２−２を個々に区別する必要がないとき、単に、ストレージ１０２と称する。
【００７７】
図４は、サーバ１３の機能の構成を示すブロック図である。
【００７８】
サーバ１３は、通信部１５１、階層決定部１５２、階層情報保持部１５３、パケタイザ１５４、およびコンテンツ記録部１５５を含むようにして構成される。
【００７９】
通信部１５１は、図２の通信部３９に対応し、パケット通信網１２、インターネット、その他のネットワーク、または通信媒体を介して、外部の装置と通信をする。
【００８０】
通信部１５１は、各種のパケットを受信する受信部１６１および各種のパケットを送信する送信部１６２を含むように構成される。
【００８１】
受信部１６１は、パケット通信網１２を介して、クライアント１１から送信されてきたパケットを階層決定部１５２に供給する。送信部１６２は、パケタイザ１５４から供給されたパケットを、パケット通信網１２を介して、クライアント１１宛に送信させる。
【００８２】
階層決定部１５２は、階層決定の処理を行う。例えば、階層決定部１５２は、クライアント１１から送信されてきたRTSPパケットに格納されたビットレートであって、通信部１５１から供給されてくるビットレートを基に、階層Ｎを決定し、決定した階層Ｎをパケタイザ１５４に供給する。階層決定の処理の詳細は後述する。
【００８３】
ここで、階層Ｎとは、階層符号化における階層を決定するための値を格納するパラメータであり、階層符号化の各階層に対応した数値が格納される。
【００８４】
階層情報保持部１５３は、階層情報を保持（記憶）し、階層決定部１５２からの要求に応じて、記憶している階層情報を階層決定部１５２に供給する。また、階層情報保持部１５３は、コンテンツ記録部１５５に記録されている、階層符号で圧縮されたコンテンツ（階層が決定する前の階層符号化されたコンテンツ）を基に、そのコンテンツにおける階層ごとのビットレートを、階層情報として記憶する。
【００８５】
ここで、階層情報とは、階層符号化における各階層のビットレートを示す情報である。例えば、階層情報は、４階層の階層符号化の場合、１番目の階層の符号化データのビットレート、１番目の階層から２番目の階層までの符号化データのビットレート、１番目の階層から３番目の階層までの符号化データのビットレート、および１番目の階層から４番目の階層までの符号化データのビットレートを含む情報となる。
【００８６】
パケタイザ１５４は、画像データを格納したパケットを通信部１５１に供給することで、ストリーミングの処理を行う。例えば、パケタイザ１５４は、コンテンツ記録部１５５から階層符号化されたコンテンツ（画像データ）を取得する。パケタイザ１５４は、階層決定部１５２から供給されてくる階層Ｎを基に、取得したコンテンツ（画像データ）のうち、階層Ｎに応じた画像データを所定の方式のパケットに格納し、画像データを格納したパケットを通信部１５１に供給することで、パケット通信網１２を介して、そのパケットをクライアント１１宛に送信させる。
【００８７】
コンテンツ記録部１５５は、階層符号化されたコンテンツ（画像データ）を記録する。コンテンツ記録部１５５は、パケタイザ１５４の要求に応じて、記録しているコンテンツを、例えば、１フレームごとに、パケタイザ１５４に供給する。
【００８８】
次に、図５乃至図１２を参照して、本発明のストリーミング配信システム１の処理の一例として、クライアント１１が、パケット通信網１２を介して、サーバ１３から送信されてくるストリーミングデータを受信する処理を説明する。まず、図５乃至図７を参照して、クライアント１１が行う処理の詳細を説明し、その後、図８乃至図１２を参照して、サーバ１３が行う処理の詳細について説明する。
【００８９】
図５は、クライアント１１によるデータ送受信の処理について説明するフローチャートである。
【００９０】
ステップＳ１１において、入力部３６は、コンテンツの選択を受け付ける。
【００９１】
例えば、入力部３６は、ユーザの操作によって、LCDやCRTディスプレイなどからなるクライアント１１の出力部３７の画面に表示されているコンテンツの中から、“スポーツ サッカー”である（動画の）コンテンツが選択された場合、“スポーツ サッカー”を示す情報であるコンテンツ名をパケット生成部１０３に供給する。
【００９２】
以下の説明においては、ストリーミング配信システム１の一例として、クライアント１１が、パケット通信網１２を介して、サーバ１３から送信されてくる“スポーツ サッカー”である（動画の）コンテンツのストリーミングデータを受信する処理となる。
【００９３】
ステップＳ１２において、レート指定部１０１は、最大書き込み速度決定の処理を行う。
【００９４】
例えば、レート指定部１０１は、クライアント１１に備えられたストレージ１０２−１およびストレージ１０２−２の書き込み速度を測定し、測定した書き込み速度のうち、１番速い書き込み速度を最大書き込み速度として決定し、決定した最大書き込み速度のビットレートをパケット生成部１０３に供給する。具体的には、レート指定部１０１は、最大書き込み速度として、25（Mbps）であるビットレートを決定した場合、25（Mbps）である最大書き込み速度のビットレートをパケット生成部１０３に供給する。最大書き込み速度決定の処理の詳細は後述する。
【００９５】
ステップＳ１３において、パケット生成部１０３は、レート指定部１０１から供給された最大書き込み速度のビットレートを基に、RTSPパケットを生成し、生成したRTSPパケットを通信部３９に供給する。
【００９６】
例えば、ステップＳ１３において、パケット生成部１０３は、最大書き込み速度算出部１１２から供給された、25（Mbps）である最大書き込み速度のビットレート、および入力部３６から供給されてくる、“スポーツ サッカー”を示すコンテンツ名を基に、25（Mbps）である最大書き込み速度のビットレートおよび“スポーツ サッカー”を示すコンテンツ名をRTSPパケットに格納することで、RTSPパケットを生成し、生成したRTSPパケットを通信部３９に供給する。
【００９７】
ここで、上述したように、RTSPパケットは、クライアント１１とサーバ１３との間で、RTSPであるプロトコルに従って、送受信されるパケットであるが、通常のRTSPパケットには、最大書き込み速度のビットレートを示す情報は格納されていないので、最大書き込み速度のビットレートを示すパラメータを、通常のRTSPパケットに付加することで、最大書き込み速度のビットレートをRTSPパケットに格納するようにしている。
【００９８】
図６は、最大書き込み速度のビットレートを格納するRTSPパケット（以下、拡張RTSPパケットとも称する）の例を示す図である。
【００９９】
１行目の「SETUP rtsp://192.168.0.1/home/data/data.avi RTSP/1.0」は、“192.168.0.1”であるIPアドレスのサーバ１３によって配信される、“/home/data/data.avi”であるファイル名のコンテンツのストリーミング配信を要求することを示す。
【０１００】
例えば、ユーザの操作によって、クライアント１１の出力部３７の画面に表示されているコンテンツの中から、“スポーツ サッカー”であるコンテンツが選択された場合、そのコンテンツの配信先のファイル名を示す“rtsp://192.168.0.1/home/data/data.avi”を拡張RTSPパケットに格納する。すなわち、この場合、“スポーツ サッカー”であるコンテンツは、“192.168.0.1”であるIPアドレスのサーバ１３の“/home/data/”であるディレクトリに記録されている“data.avi”であるファイル名のコンテンツとなる（以下、このファイル名を、“/home/data/data.avi”と称して説明する）。
【０１０１】
２行目の「CSeq:1」は、送信の順番を示すシーケンス番号である。すなわち、シーケンス番号が“１”であるので、拡張RTSPパケットは、クライアント１１とサーバ１３との間の通信において、最初にやり取りされるパケットであることを示す。
【０１０２】
３行目の「Transport: RTP/UDP;unicast;client_port=1234-1235;ssrc=123456」は、クライアント１１とサーバ１３との間の通信は、リアルタイム配信用のプロトコルであるRTP/UDP（Real-time Transport Protocol/User Datagram Protocol）によって、ユニキャストで通信が行われ、そのときのクライアント１１のポート番号が、“1234-1235”であることを示す。
【０１０３】
４行目の「DISK: 25Mbps」は、最大書き込み速度のビットレートが“25Mbps”であることを示す。すなわち、RTSPパケットのSETUPメソッドに対して、DISKである拡張パラメータを付加することで、“25Mbps”である最大書き込み速度のビットレートをサーバ１３に通知することができる。
【０１０４】
なお、上述した例においては、最大書き込み速度のビットレートをサーバ１３に通知する方法として、最大書き込み速度のビットレートをRTSPパケットに格納する方法について説明したが、RTSPパケットに格納する方法に限らず、例えば、RTSPパケット以外の、セッションを制御するプロトコルであるセッション制御メッセージプロトコルのメッセージに格納する方法など、最大書き込み速度のビットレートをサーバ１３に通知できる方法であればよい。すなわち、RTSPパケットは、セッション制御メッセージプロトコルの一例である。
【０１０５】
図５のフローチャートに戻り、ステップＳ１４において、通信部３９は、パケット生成部１０３から供給されてくるRTSPパケットを、パケット通信網１２を介して、サーバ１３宛に送信する。
【０１０６】
ステップＳ１５において、クライアント１１は、パケット通信網１２を介して、サーバ１３から送信されてくる、最大書き込み速度のビットレートにより決定された、ストリーミングデータを受信することで、ストリーミングを開始する。
【０１０７】
例えば、通信部３９は、パケット通信網１２を介して、サーバ１３から送信されてくる、最大書き込み速度のビットレートにより決定された、“スポーツ サッカー”である（動画の）コンテンツのストリーミングデータであって、パケットに格納されたストリーミングデータを受信する。通信部３９は、受信したパケットから、“スポーツ サッカー”であるコンテンツの画像データを抽出し、抽出した画像データをバッファ１０４に供給する。バッファ１０４は、通信部３９から供給された画像データを一時的に記憶する。デコーダ１０５は、サーバ１３のエンコーダ（図示せず）に対応した復号方式で、バッファ１０４に記憶されている画像データを復号して、復号して得られた画像データを、LCDやCRTディスプレイなどからなるクライアント１１の出力部３７の画面に出力することで“スポーツ サッカー”であるコンテンツのストリーミングが開始される。
【０１０８】
ストリーミングは、例えば、入力部３６からの指示や、サーバ１３から送信されてくるストリーミングデータが終了した場合などに、終了し、これにより、クライアント１１におけるデータ送受信の処理は終了する。
【０１０９】
このように、クライアント１１のストレージの書き込み速度の中で、１番速い書き込み速度を決定して、その決定した書き込み速度のビットレートをサーバ１３に通知するので、サーバ１３から配信されるストリーミングデータのビットレートが、ストレージ１０２のビットレートよりも速くなり、クライアント１１側で、ストリーミングデータとして受信したパケットをストレージ１０２に記録することができなくなる。その結果、クライアント１１において、ストリーミングデータをキャプチャすることができなくなるので、コンテンツを保護することができるようになる。
【０１１０】
次に、図５のステップＳ１２の最大書き込み速度決定の処理の詳細について、図７のフローチャートを参照して説明する。
【０１１１】
ステップＳ３１において、書き込み速度取得部１１１は、ストレージ１０２の書き込み速度を取得する。書き込み速度取得部１１１は、取得したストレージ１０２の書き込み速度を最大書き込み速度算出部１１２に供給する。
【０１１２】
例えば、ステップＳ３１において、書き込み速度取得部１１１は、メインメモリ（例えば、RAM３３）以外の、クライアント１１のストレージ１０２−１およびストレージ１０２−２のそれぞれの書き込み速度が、25（Mbps）および20（Mbps）のそれぞれである場合、ストレージ１０２−１およびストレージ１０２−２のそれぞれから、25（Mbps）および20（Mbps）である書き込み速度を取得し、取得した25（Mbps）および20（Mbps）である書き込み速度を最大書き込み速度算出部１１２に供給する。
【０１１３】
また、書き込み速度取得部１１１が、書き込み速度を取得する方法であるが、実際に、ストレージ１０２にデータを書き込み、それに要した時間を計測することで取得する方法や、ストレージ１０２に予め記憶されている、そのストレージ１０２の書き込み速度を示すパラメータを読み出すことで取得する方法など、ストレージ１０２の書き込み速度を取得できる方法であればよい。
【０１１４】
ステップＳ３２において、最大書き込み速度算出部１１２は、書き込み速度取得部１１１から供給されたストレージの書き込み速度を基に、最大書き込み速度を算出する。最大書き込み速度算出部１１２は、算出した最大書き込み速度のビットレートを、パケット生成部１０３に供給して、処理を図５のステップＳ１２に戻し、ステップＳ１３以降の処理を実行させる。
【０１１５】
例えば、ステップＳ３２において、最大書き込み速度算出部１１２は、書き込み速度取得部１１１から供給された25（Mbps）および20（Mbps）である書き込み速度を基に、25（Mbps）および20（Mbps）である書き込み速度のうち、最も速い書き込み速度である、25（Mbps）である書き込み速度を最大書き込み速度として算出し、算出した25（Mbps）である最大書き込み速度のビットレートをパケット生成部１０３に供給する。
【０１１６】
以上、クライアント１１が行う処理の詳細について説明した。次に、図８乃至図１２を参照して、サーバ１３が行う処理の詳細について説明する。
【０１１７】
まず、図８を参照して、サーバ１３によるデータ送受信の処理について説明する。
【０１１８】
ステップＳ９１において、階層決定部１５２は、階層決定の処理を行う。例えば、階層決定部１５２は、クライアント１１から送信されてきたビットレートであって、通信部１５１から供給されてくるビットレートを基に、階層Ｎを決定し、決定した階層Ｎをパケタイザ１５４に供給する。階層決定の処理の詳細は後述する。
【０１１９】
ステップ９２において、パケタイザ１５４は、ストリーミングの処理を行う。例えば、パケタイザ１５４は、コンテンツ記録部１５５から階層符号化されたコンテンツ（画像データ）を取得する。パケタイザ１５４は、階層決定部１５２から供給されてくる階層Ｎを基に、取得したコンテンツ（画像データ）のうち、階層Ｎに応じた画像データを所定の方式のパケットに格納して、画像データを格納したパケットを通信部１５１に供給することで、パケット通信網１２を介して、そのパケットをクライアント１１宛に送信させる。ストリーミングの処理の詳細は後述する。
【０１２０】
このように、クライアント１１から送信されてくる、ストレージ１０２の書き込み速度の中で、１番速い書き込み速度のビットレートに基づいて、ストリーミングデータのビットレートを決定するので、ストリーミングデータのビットレートが、ストレージ１０２のビットレートよりも速くなり、クライアント１１側で、ストリーミングデータとして受信したパケットをストレージ１０２に記録することができなくなる。その結果、コンテンツを特定の正当な利用者のみに使用させることができるので、コンテンツの不正な使用を防止することができるようになる。
【０１２１】
次に、図８のステップＳ９１の階層決定の処理の詳細について、図９のフローチャートを参照して説明する。
【０１２２】
ステップＳ１１１において、階層決定部１５２は、ビットレートおよびコンテンツ名を受信したか否かを判定する。例えば、通信部１５１は、クライアント１１から送信されてくるRTSPパケットを受信し、受信したRTSPパケットに格納されたビットレートおよびコンテンツ名を階層決定部１５２に供給する。階層決定部１５２は、通信部１５１から供給されてくるビットレートおよびコンテンツ名を基に、ビットレートおよびコンテンツ名を受信したか否かを判定する。
【０１２３】
ステップＳ１１１において、ビットレートおよびコンテンツ名を受信していないと判定された場合、ステップＳ１１１に戻り、通信部１５１がビットレートおよびコンテンツ名を格納したRTSPパケットを受信するまで、上述した処理が繰り返される。すなわち、サーバ１３は、クライアント１１から、パケット通信網１２を介して、ビットレートおよびコンテンツ名を格納したRTSPパケットが送信されてくるまで待機していることになる。
【０１２４】
一方、ステップＳ１１１において、ビットレートおよびコンテンツ名を受信したと判定された場合、ステップＳ１１２に進み、階層決定部１５２は、階層決定の処理の初期値として、階層Ｎ＝１をセットする。例えば、ステップＳ１１２において、階層決定部１５２は、通信部１５１から、25（Mbps）であるビットレートおよび“スポーツ サッカー”を示すコンテンツ名が供給されてきた場合、階層決定の処理の初期値として、階層Ｎ＝１をセットする。
【０１２５】
このとき、ビットレートは、クライアント１１のストレージ１０２の最大書き込み速度のビットレートとなる。また、“スポーツ サッカー”を示すコンテンツ名であるが、上述したように、例えば、“スポーツ サッカー”であるコンテンツは、“192.168.0.1”であるIPアドレスのサーバ１３が記録している、“/home/data/data.avi”であるファイル名のコンテンツとなるので、“/home/data/data.avi”であるファイル名を含む情報となる。
【０１２６】
ステップＳ１１３において、階層決定部１５２は、階層情報保持部１５３から、階層符号化における各階層のビットレートを示す情報である階層情報を読み出す。
【０１２７】
図１０は、階層情報の例を示す図である。
【０１２８】
図１０で示される例において、１行目は項目を示し、２行目以降は各階層におけるそれぞれのビットレートの値を示す。また、１列目は“階層Ｎ”、２列目は“ビットレート”を示す。なお、“ビットレート”の単位は、Bps（bits per second）（ビット毎秒）となる。
【０１２９】
図１０で示される例においては、“１”である階層Ｎに対して、10（Mbps）であるビットレートが示され、“２”である階層Ｎに対して、20（Mbps）であるビットレートが示され、“３”である階層Ｎに対して、30（Mbps）であるビットレートが示され、“４”である階層Ｎに対して、40（Mbps）であるビットレートが示されている。
【０１３０】
すわわち、この階層符号化における各階層のビットレートの例は、あるコンテンツ（例えば、“スポーツ サッカー”）において、例えば、フレームレートが30（fps）である場合の、第１番目の階層の符号化データのビットレートが10（Mbps）であり、第２番目の階層の符号化データのビットレートが20（Mbps）であり、第３番目の階層の符号化データのビットレートが30（Mbps）であり、第４番目の階層の符号化データのビットレートが40（Mbps）であることを示す。
【０１３１】
なお、これらの階層情報をテーブルに格納して記憶するようにしてもよい。
【０１３２】
図９のフローチャートに戻り、例えば、階層決定部１５２は、階層情報保持部１５３から、第１番目乃至第４番目の符号化データのビットレートとして、10（Mbps）、20（Mbps）、30（Mbps）、および40（Mbps）であるビットレートを示す階層情報（図１０）を読み出す。
【０１３３】
ステップＳ１１４において、階層決定部１５２は、階層Ｎのビットレートが、クライアント１１のストレージ１０２の最大書き込み速度のビットレートを超えるか否かを判定する。ステップＳ１１４において、階層Ｎのビットレートが、最大書き込み速度のビットレートを超えないと判定された場合、ステップＳ１１５に進み、階層決定部１５２は、階層Ｎを１インクリメントする。
【０１３４】
例えば、ステップＳ１１４において、階層決定部１５２は、階層情報保持部１５３から読み出したビットレートのうち、階層決定の処理の初期値としてセットされた、階層Ｎ＝１に対応した10（Mbps）であるビットレートが、通信部１５１から供給されてくる25（Mbps）であるビットレートを超える否かを判定し、10（Mbps）は25（Mbps）を超えていないので、ステップＳ１１５に進み、階層決定部１５２は、階層Ｎを１インクリメントして、階層Ｎ＝２とする。
【０１３５】
また、ステップＳ１１４において、階層決定部１５２は、階層情報保持部１５３から読み出したビットレートのうち、階層決定の処理の初期値としてセットされた、階層Ｎ＝２に対応した20（Mbps）であるビットレートが、通信部１５１から供給されてくる25（Mbps）であるビットレートを超える否かを判定し、20（Mbps）は25（Mbps）を超えていないので、ステップＳ１１５に進み、階層決定部１５２は、階層Ｎを１インクリメントして、階層Ｎ＝３とする。
【０１３６】
さらに、ステップＳ１１４において、階層決定部１５２は、階層情報保持部１５３から読み出したビットレートのうち、階層決定の処理の初期値としてセットされた、階層Ｎ＝３に対応した30（Mbps）であるビットレートが、通信部１５１から供給されてくる25（Mbps）であるビットレートを超える否かを判定し、30（Mbps）は25（Mbps）を超えているので、処理は、ステップＳ１１６に進む。
【０１３７】
ステップＳ１１６において、階層決定部１５２は、階層Ｎをパケタイザ１５４に通知して、処理を図９のステップＳ９１に戻し、ステップＳ９２以降の処理を実行させる。例えば、階層決定部１５２は、ステップＳ１１４の処理において、階層Ｎのビットレートが、クライアント１１のストレージ１０２の最大書き込み速度のビットレートを超えた階層である、階層Ｎ＝３を示す情報をパケタイザ１５４に供給する。
【０１３８】
またこのとき、階層決定部１５２は、通信部１５１から供給されてきたコンテンツ名をパケタイザ１５４に供給する。例えば、階層決定部１５２は、通信部１５１から供給されてきた“スポーツ サッカー”を示すコンテンツ名（すなわち、“/home/data/data.avi”であるファイル名）をパケタイザ１５４に供給する。
【０１３９】
このように、クライアント１１から送信されてくるストレージの最大書き込み速度のビットレートと、階層情報における階層符号化されたデータのビットレートとを順次比較して、階層Ｎのビットレートがストレージのビットレートを超える場合に、その階層Ｎのビットレートを、ストリーミングデータのビットレートとするので、コンテンツを保護するとともに、最適なビットレートでストリーミングデータを配信することができる。また、複数のクライアント１１に対して、ストリーミング配信をする場合であっても、クライアント１１ごとに、最適なビットレートでコンテンツを配信することができる。
【０１４０】
次に、図８のステップＳ９２のストリーミングの処理の詳細について、図１１のフローチャートを参照して説明する。
【０１４１】
ステップＳ１３１において、パケタイザ１５４は、階層Ｎを取得する。例えば、ステップＳ１３１において、パケタイザ１５４は、階層決定部１５２から供給されてくる、階層Ｎ＝３を示す情報を取得する。
【０１４２】
ステップＳ１３２において、パケタイザ１５４は、ファイルが終了したか否かを判定する。例えば、ステップＳ１３２において、パケタイザ１５４は、階層決定部１５２から供給されてくる“スポーツ サッカー”を示すコンテンツ名（“/home/data/data.avi”であるファイル名）を基に、コンテンツ記録部１５５に記録されている、“スポーツ サッカー”であるコンテンツを、ストリーミングで再生するための“/home/data/data.avi”であるファイル名のファイルが終了したか否かを判定する。
【０１４３】
ステップＳ１３２において、ファイルが終了していないと判定された場合、ステップＳ１３３に進み、パケタイザ１５４は、コンテンツ記録部１５５から、階層符号化された１フレーム分のデータを取得する。例えば、ステップＳ１３３において、パケタイザ１５４は、コンテンツ記録部１５５に記録されている、階層符号化された“スポーツ サッカー”であるコンテンツ（画像データ）のうち、１フレーム分のコンテンツ（画像データ）を取得する。
【０１４４】
ところで、一般的に、動画は、静止画（フレーム）の１枚１枚を素早く切り替えることで、動きを表現している。すなわち、動画は、動きを表現できる予め定められたフレームによって表示される。また、階層符号化されたフレームにおいても、同様に動きを表現している。
【０１４５】
次に、図１２を参照して、階層符号とフレームとの関係の例について説明する。
【０１４６】
図１２で示される例の上側には、ある時刻に表示されるフレームが示されている。また、図中の水平方向は、時間軸を表しており、図中の矢印に示されるように、時間は、図中左から右に向かって経過するとして説明する。また、図中の四角はフレームを示し、１つの四角が１フレームを示す。さらに、図１２で示される例の下側には、階層符号化されたフレーム２０１−１の例が示されている。
【０１４７】
図１２で示される例において、コンテンツは、１秒間に、フレーム２０１−１乃至２０１−３０（３０フレーム）を連続して表示させることで、動画としての動きを表現している。
【０１４８】
また、１秒間にどれだけのフレームを表示させるかは、使用する機器やアプリケーションプログラムの特性などによって決定することができる。例えば、フレームレート（Frame Rate）（１秒間に表示させるフレームの数）を上げることで、表示する画像の画質をより滑らかにすることができ、フレームレートを下げると、画質が滑らかにならず、コマ落ちする可能性がでてくる。具体的には、図１２で示される例においては、フレームレートは、30（FPS（Frame Per Second））となる。すなわち、フレーム２０１−１乃至２０１−３０のそれぞれは、1/30秒ごとに表示される。
【０１４９】
さらに、１秒間にどれだけのデータ量のデータを流れるようにするかによっても、表示する画像の画質が変化する。例えば、ビットレートを上げることで、表示する画像の画質を高画質にすることができ、ビットレートを下げると、画質が悪くなる可能性がでてくる。また、ビットレートと表示する画像の画質とは、トレードオフの関係にあり、ビットレートを上げると、データ量（ファイルサイズ）が増え、ビットレートを下げるとデータ量（ファイルサイズ）が減るようになる。
【０１５０】
図１２で示される例においては、各フレームが階層符号化されているので、図１２の下側のフレーム２０１−１で示すように、フレーム２０１が、Laver１，Laver２，Laver３，およびLaver４の４階層に分かれており、Laver１，Laver２，Laver３，およびLaver４の各層のビットレートは、10（Mbps）、20（Mbps）、30（Mbps）、および40（Mbps）となる。
【０１５１】
すなわち、図１２で示される例は、あるコンテンツにおいて、フレームレートが30（fps）である場合、１番目の階層の階層符号化データのビットレート、１番目の階層から２番目の階層の階層符号化データのビットレート、１番目の階層から３番目の階層の階層符号化データのビットレート、および１番目の階層から４番目の階層の階層符号化データのビットレートのそれぞれは、10（Mbps）、20（Mbps）、30（Mbps）、および40（Mbps）のそれぞれとなることを示している。
【０１５２】
このように、ストリーミング配信システム１においては、クライアント１１が、例えば、携帯電話機などように解像度の低いディスプレイと処理能力の低いCPUを有する場合に、10（Mbps）である１番目の階層のビットレートを選択して、ビットレートを下げたり、逆に、デスクトップパソコンのように解像度の高いディスプレイと処理能力の高いCPUを有する場合に、40（Mbps）である４番目の階層のビットレートを選択して、ビットレートを上げたりすることで、様々な受信装置において処理能力などに応じた受信処理や表示処理を実行させることができる。換言すれば、この階層符号化によって、１つのファイルデータから異なる能力の受信装置に対して、同時にデータ配信ができるとも言える。
【０１５３】
なお、階層符号の符号化には、例えば、MPEG4またはJPEG2000などが用いられる。
【０１５４】
図１１のフローチャートに戻り、ステップＳ１３４において、パケタイザ１５４は、コンテンツ記録部１５５から取得した１フレーム分のデータから、取得した階層Ｎに応じたデータを取得する。パケタイザ１５４は、取得した階層Ｎに応じたデータを所定の方式のパケットに格納して、階層Ｎに応じたデータを格納したパケットを通信部１５１に供給する。
【０１５５】
例えば、パケタイザ１５４は、コンテンツ記録部１５５から取得した、“スポーツ サッカー”であるコンテンツの階層符号化された１フレーム分の画像データから、階層決定部１５２から取得した、階層Ｎ＝３を示す情報に応じた、30（Mbps）であるビットレートの画像データを取得する。パケタイザ１５４は、取得した30（Mbps）であるビットレートの画像データを所定の方式のパケットに格納し、30（Mbps）であるビットレートの画像データを格納したパケットを通信部１５１に供給する。
【０１５６】
ステップＳ１３５において、通信部１５１は、パケット通信網１２を介して、パケタイザ１５４から供給されてくるデータ（パケット）をクライアント１１宛に送信して、処理は、ステップＳ１３２に戻る。例えば、ステップＳ１３５において、通信部１５１は、パケット通信網１２を介して、パケタイザ１５４から供給されてくる、30（Mbps）であるビットレートの“スポーツ サッカー”であるコンテンツの画像データを格納したパケットをクライアント１１宛に送信する。
【０１５７】
このとき、サーバ１３は、パケット通信網１２を介して、“スポーツ サッカー”である（動画の）コンテンツのストリーミングデータを、クライアント１１に送信することになるので、ストリーミングが開始される。また、コンテンツ記録部１５５に記録されている、“スポーツ サッカー”であるコンテンツをストリーミングで再生するためのファイル（“/home/data/data.avi”）が終了するまで、ステップＳ１３２乃至ステップＳ１３５の処理が繰り返される。
【０１５８】
ステップＳ１３２において、“スポーツ サッカー”であるコンテンツをストリーミングで再生するためのファイルが終了した場合、処理を図８のステップＳ９２に戻し、処理は終了する。
【０１５９】
このように、サーバ１３は、クライアント１１から通知される最大書き込み速度のビットレートを基に、配信するストリーミングデータのビットレートを決定するので、自分が配信するストリーミングデータのビットレートが、クライアント１１のストレージ１０２のビットレートよりも速くなり、クライアント１１側で、ストリーミングデータとして受信したパケットをストレージ１０２に記録することができなくなる。その結果、コンテンツを不正に再生されることを防止することができるので、コンテンツを提供する事業者は安心してコンテンツを配信するサービスを提供することができる。
【０１６０】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１６１】
この記録媒体は、図２に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク５１（フレキシブルディスクを含む）、光ディスク５２（CD-ROM(CD-Read Only Memory)、DVDを含む）、光磁気ディスク５３（MD（商標）を含む）、若しくは半導体メモリ５４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM３２や、記録部３８に含まれるハードディスクなどで構成される。
【０１６２】
また、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされ
るようにしてもよい。
【０１６３】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１６４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１６５】
【図１】本発明を適用したストリーミング配信システムの一実施の形態を示すブロック図である。
【図２】クライアントの構成の例を示すブロック図である。
【図３】クライアントの機能の構成を示すブロック図である。
【図４】サーバの機能の構成を示すブロック図である。
【図５】クライアントによるデータ送受信の処理について説明するフローチャートである。
【図６】最大書き込み速度のビットレートを格納するRTSPパケットの例を示す図である。
【図７】最大書き込み速度決定の処理の詳細について説明するフローチャートである。
【図８】サーバによるデータ送受信の処理について説明するフローチャートである。
【図９】階層決定の処理の詳細について説明するフローチャートである。
【図１０】階層情報の例を示す図である。
【図１１】ストリーミングの処理の詳細について説明するフローチャートである。
【図１２】階層符号とフレームとの関係の例を示す図である。
【符号の説明】
【０１６６】
１  ストリーミング配信システム，  １１  クライアント，  １２  パケット通信網，  １３  サーバ，  ３１  CPU，  ３８  記録部，  ３９  通信部，  ４０  ドライブ，  ５１  磁気ディスク，  ５２  光ディスク，  ５３  光ディスク，  １０１  レート指定部，  １０２−１、１０２−２および１０２  ストレージ，  １０３  パケット生成部，  １０４  バッファ，  １０５  デコーダ，  １１１  書き込み速度取得部，  １１２  最大書き込み速度算出部，  １２１  送信部，  １２２  受信部，  １５１  通信部，  １５２  階層決定部，  １５３  階層情報保持部，  １５４  パケタイザ，  １５５  コンテンツ記録部，  １６１  受信部，  １６２  送信部
【図１】
2006295601.tif 000003
【図２】
2006295601.tif 000004
【図３】
2006295601.tif 000005
【図４】
2006295601.tif 000006
【図５】
2006295601.tif 000007
【図６】
2006295601.tif 000008
【図７】
2006295601.tif 000009
【図８】
2006295601.tif 000010
【図９】
2006295601.tif 000011
【図１０】
2006295601.tif 000012
【図１１】
2006295601.tif 000013
【図１２】
2006295601.tif 000014