(57)【要約】【課題】トランスコーディング機能を持ったサーバ装置がネットワーク帯域にかかわらず、安定してストリームを送信し、そのストリームを受信したクライアント機器が安定して受信信号を表示、出力でき、ネットワークの破綻を起こさない映像伝送システムを構築する。【解決手段】サーバ１００が、クライアントの属性情報とネットワークの帯域情報を収集し、コンテンツ配信を行うストリームを最適な配信符号化形式と配信ビットレートに変換して送信する。特に各クライアントへ配信するコンテンツの配信ビットレート割り当てをネットワーク帯域の変動に応じて逐次算出することで、ネットワーク帯域の変動に起因する配信のオーバーフローによるシステムの破綻を防ぐ。【選択図】図１      
2005318057.tif 000002
【特許請求の範囲】
【請求項１】
映像のコンテンツのデータを伝送するための任意のネットワークに接続された１つないし複数のサーバ装置および前記ネットワークに接続された複数のクライアント機器から構成される映像伝送システムに用いられるサーバ装置において、
前記コンテンツを記憶する蓄積メディアと、
前記蓄積メディアを制御する記録再生制御部と、
前記記録再生制御部により前記蓄積メディアから再生されたコンテンツの符号化形式およびビットレートを配信符号化形式と配信ビットレートに変換するトランスコーディング部と、
前記ネットワークを介して前記クライアント機器と通信し、前記配信符号化形式と前記配信ビットレートに変換された前記コンテンツのデータを前記クライアント機器に配信するネットワークインタフェース部と、
システム制御部と
を備え、
前記システム制御部は、
前記クライアント機器ごとの映像復号および映像出力に関する属性情報を取得し、
前記ネットワークの帯域に関する帯域情報を取得し、
前記属性情報および前記帯域情報をもとに、前記クライアント機器ごとに配信ビットレートを演算し、
前記クライアント機器の前記属性情報および前記配信ビットレートをもとに、前記配信符号化形式を選定する
ことを特徴とするサーバ装置。
【請求項２】
前記システム制御部は、
前記属性情報をもとに各クライアントに割り当てる前記配信ビットレートの配分比率を演算し、
前記配分比率および前記帯域情報をもとに、各クライアントに割り当てる前記配信ビットレートの値を演算する
ことを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記システム制御部は、ネットワーク帯域を監視しながらネットワーク帯域の変化に応じて前記配信ビットレートを逐次更新していくことを特徴とする請求項１記載のサーバ装置。
【請求項４】
前記システム制御部は、配信するコンテンツの変換前の元のビットレートと、すでにコンテンツを配信しているクライアント機器および新たに配信を要求しているクライアント機器が復号可能なビットレートおよび符号化形式と、前記すでにコンテンツを配信していクライアント機器の数とをもとに、前記新たに配信を要求しているクライアント機器に配信を開始するか否かを決定することを特徴とする請求項１記載のサーバ装置。
【請求項５】
前記システム制御部は、配信するコンテンツの変換前の元のビットレートと、各クライアント機器が復号可能なビットレートおよび符号化形式と、各クライアント機器の優先度とをもとに、前記配信ビットレートを演算することを特徴とする請求項１記載のサーバ装置。
【請求項６】
前記システム制御部は、前記演算した配信ビットレートが配信するコンテンツの変換前の元のビットレートより大きい場合に、前記配信ビットレートの値を前記元のビットレートの値にクリップすることを特徴とする請求項１記載のサーバ装置。
【請求項７】
前記システム制御部は、前記選定した配信符号化形式をコンテンツの伝送を始める前にクライアント機器にあらかじめ通知することを特徴とする請求項１記載のサーバ装置。
【請求項８】
前記システム制御部は、コンテンツのデータを伝送することができなくなったクライアント機器を検出し、そのクライアント機器にデータ伝送を再開するときに、伝送することができなくなったデータ位置よりも所定の時間または所定のビット数だけ前のデータ位置から再送することを特徴とする請求項１記載のサーバ装置。
【請求項９】
映像のコンテンツのデータを伝送するための任意のネットワークに接続された１つないし複数の請求項１記載のサーバ装置および前記ネットワークに接続された複数のクライアント機器から構成されることを特徴とする映像伝送システム。
【請求項１０】
前記属性情報の取得は、クライアント機器から配信要求があったコンテンツを前記蓄積メディアに蓄積しているサーバ装置の前記属性情報取得手段が行い、
前記帯域情報の取得および前記クライアントごとの配信ビットレートの演算は、あらかじめ特定された１つのサーバ装置の前記帯域情報取得手段および前記ビットレート演算手段が行い、
各クライアント機器の配信ビットレートおよび属性情報をサーバ装置間で共有する
ことを特徴とする請求項９記載の映像伝送システム。
【請求項１１】
それぞれの前記クライアント機器は、コンテンツの配信を要求するときに、自機器の前記属性情報を送信することを特徴とする請求項９記載の映像伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像のコンテンツのデータを伝送するための任意のネットワークに接続された１つないし複数のサーバ装置および複数のクライアント機器から構成され、サーバ装置内の映像や音声コンテンツをネットワーク上で伝送し、複数のクライアント機器の個別の要求にしたがってそれぞれのクライアント機器に所望の表示、再生をする映像伝送システムに関するものである。このようなシステムでは、それぞれのクライアント機器に表示、再生するコンテンツは、他のクライアント機器と異なるコンテンツであっても、同じコンテンツであってもよく、さらに同じコンテンツでも、再生しているコンテンツの先頭から経過した時間はそれぞれ異なっていてもよい。
【背景技術】
【０００２】
従来の映像伝送システムは、たとえばホテルなどのＶＯＤ（VIDEO ON DEMAND）システムのようにクローズドなシステムで使用されていた。この場合、サーバはクライアントに搭載されたデコーダや表示部の仕様をあらかじめ認識しており、クライアントの表示できるフォーマット（符号化形式）にてストリームを蓄積し、クライアントの要求に応じてそのままのフォーマットで配信すればよかった。
【０００３】
ところがユーザが家庭内などでプライベートにネットワークを組む場合、クライアントである表示装置は市場に供給されているさまざまな表示装置の中から任意にユーザが選択したものとなる。この場合には、ストリームのデコード形式（復号化形式）や表示装置の解像度はさまざまであり、従来のサーバを用いたシステムではクライアントでのデコード、あるいは表示が不可能となってしまう可能性が高く、家庭内のネットワークに対応したサーバとしては使用条件が制限されてしまう。
【０００４】
この改善策として、クライアントの属性を受信して、出力フォーマットをクライアントで表示可能な形式にストリーム変換（以後トランスコーディングと呼ぶ）して送出するサーバが提案されている（例えば、特許文献１参照）。このようなサーバではクライアントがその属性（映像符号化形式、表示解像度、平均ビットレート、最大ビットレート）をサーバに通知し、サーバは蓄積してあるコンテンツをクライアントが正確に復号できる形式にトランスコーディングして出力する。これによってサーバは未知のクライアントが接続されてもコンテンツ配信を行うことができる。なお、ここで述べるトランスコーディングはある形式のストリームを他の形式のストリームに変換することをいい、広義には一度ベースバンド信号に複号してのち、所望の形式で再符号化を行う、いわゆるリエンコーディングも含まれる。
【０００５】
【特許文献１】特開２００３−０７８８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来の映像伝送システムではサーバからの配信に使用される帯域に比べて、ネットワーク帯域に余裕が少ない場合には、ネットワークがオーバーフローしてしまい、配信に破綻をきたしてしまうという問題がある。
【０００７】
本発明は、このような従来の問題を解決するためになされたものであり、トランスコーディング機能を持ったサーバがネットワーク帯域にかかわらず、安定してストリームを送信し、また、そのストリームを受信したクライアントが破綻することなく受信信号を表示、出力できる映像伝送システムを構築することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、サーバが、クライアントの属性情報とネットワーク帯域の情報を取得し、全クライアントへの配信に必要なビットレートを算出し、さらにコンテンツ配信を行うストリームを最適な配信符号化形式と配信ビットレートに変換して、クライアントへ送信するものである。
【発明の効果】
【０００９】
本発明によれば、サーバがクライアントの属性とネットワークの帯域を情報取得して、それぞれのクライアントへの配信形式や割り当てる帯域を決定し、決定した形式のストリームにトランスコードして配信するので、複数のクライアントの配信要求に対してネットワーク帯域を確保し、ネットワークの破綻を起こさないという効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１はこの発明の実施の形態１の映像伝送システム（映像サーバ・クライアント・システム）を示す構成図である。図１その他の各図において同一の符号がつけられている構成要素はすべて同一のものを示す。
【００１１】
図１においては、クライアントＡ３００、クライアントＢ４００、クライアントＣ５００の３台のクライアントと１台のサーバ１００が、ＡＶネットワーク１０を介して通信可能であり、ネットワークを形成している。サーバ１００は同一ネットワーク内にある複数のクライアント（この場合はＡ、Ｂ、Ｃ）の配信要求に従い、ネットワーク上に要求されたコンテンツの符号化ストリームを送出する。クライアントＡ３００がサーバ１００に対して映像・音声信号を符号化したストリームの配信を要求する場合に、クライアントＡ３００は配信要求信号とともに自身の属性情報をネットワークを経由してサーバ１００に送出する。クライアントＢ４００，クライアントＣ５００も同様に、配信を要求する場合に、配信要求信号とともに自身の属性情報をネットワークを経由してサーバ１００に送出する。このように、図１の映像伝送システムは、映像のコンテンツのデータを伝送するための任意のネットワークに接続された１つないし複数のサーバおよび前記ネットワークに接続された複数のクライアントから構成される。
【００１２】
ここでクライアントＡ３００がサーバに送信する属性情報とは、たとえば復号可能なストリームのフォーマット、映像、音声のデコード形式、サンプリング周波数、映像の表示解像度、フレームレート、デコード可能なビットレートの範囲等をあらわす。属性情報は映像／音声復号化部３０２や映像表示／音声出力部３０３の特性を符号化して送信される。映像のデコード形式では、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４の各プロファイルや各レベル、ＭｏｔｉｏｎＪＰＥＧやＪＰＥＧ２０００などが該当する。また、音声のデコード形式では、ＭＰＥＧ−１のレイヤ２やレイヤ３（ＭＰ３）、ＭＰＥＧ−２のＡＡＣ（Advanced Audio Coding）、ＭＰＥＧ−４の各プロファイルやレベル、携帯電話の符号化方式でもあるＡＭＲ（Adaptive Multi Rate）などが該当する。さらに各映像、音声ストリームを多重化するためのフォーマットとしてＭＰＥＧ−１のストリーム、ＭＰＥＧ−２のプログラムストリームやトランスポートストリーム、ＭＰＥＧ−４のＭＰ４フォーマットやＡＳＦ（Advanced Streaming Format）フォーマットなどの形式も属性情報として指定される。また、映像の表示解像度はモニタが表示できる画素数やスキャン方式も属性情報として指定される。複数の解像度やスキャン方式をサポートする場合は、それらがすべて属性情報となる。また、映像／音声復号化部３０２で復号化が可能なビットレートの上下限やサンプリング周波数などの情報も属性情報となる。
【００１３】
サーバ１００はクライアントＡ３００からの配信要求信号およびクライアント自身の属性情報を受信するとともに、このネットワークの帯域管理を行っているネットワークマスタ機器に使用可能な帯域情報を問い合わせる。ここで、ネットワークマスタ機器はこのネットワークに属するどれか１つの機器がなることができる。図１の場合はサーバ１００、クライアントＡ３００、クライアントＢ４００、クライアントＣ５００のいずれかの機器がネットワークマスタ機器となる。
【００１４】
もし、問い合わせに対する回答で示される使用可能な帯域が、送出しようとするコンテンツが記録されたビットレートよりも大きく、そのコンテンツをそのまま配信してもネットワーク帯域に余裕がある場合は、サーバ１００は要求のあったクライアントＡ３００の時間、空間解像度に合わせて指定されたビットレート以内でそのコンテンツをトランスコーディングして送る。また、問い合わせに対する回答で示される使用可能な帯域が、送出しようとするコンテンツが記録されたビットレートよりも小さければ、サーバ１００は、全体の帯域、現在配信を行っているすべてのクライアントの属性と、現在配信を行っているすべてのクライアントに送出しているコンテンツのフォーマットとビットレート、および現在配信を行っているクライアントの優先度などの情報から、現在配信を行っている各クライアントのビットレート割り当てを再計算しその値に基づき各クライアントへのビットレートを変化させる。
【００１５】
図２はサーバ１００の構成を示す図である。図２において、サーバ１００は、映像や音声のコンテンツを記憶する蓄積メディア１０１と、蓄積メディア１０１を制御する記録制御／再生制御部１０２と、記録再生制御部により前記蓄積メディアから再生されたコンテンツの符号化形式およびビットレートを配信する符号化形式（以下、配信符号化形式とする）と配信するビットレート（以下、配信ビットレートとする）に変換するトランスコーディング部１０３と、ＡＶネットワーク１０を介して前記クライアントと通信し、前記配信符号化形式と前記配信ビットレートに変換された前記コンテンツのデータを前記クライアントに配信するネットワークインタフェース部１０４と、システム制御部１０５とを備えている。
【００１６】
図２におけるサーバ１００の動作を説明する。クライアントＡ３００からの配信要求をネットワークインタフェース部１０４経由で、システム制御部１０５が受け取る。システム制御部１０５は蓄積メディア１０１を制御する記録制御／再生制御部１０２に対して、要求されたコンテンツを再生するように指示する。また、システム制御部１０５はネットワークインターフェース部１０４を通して、ネットワークの帯域情報とクライアントＡの属性情報を取得し、これらの情報と、現在すでにコンテンツを配信している他のクライアントの属性情報、さらに現在すでに他のクライアントへ配信を行っているコンテンツに関するビットレート情報と、クライアントＡに配信するコンテンツに関するビットレート情報から、すでに配信しているすべてのコンテンツおよびこれからクライアントＡに配信するコンテンツに関して配信するための最適なビットレートを再計算する。さらにそれぞれのクライアントに最適な符号化形式を選定する。そして、トランスコーディング部１０３でそれぞれのクライアントに最適な配信符号化形式と最適な配信ビットレートに変換したストリームをネットワークインタフェース部１０４を介してクライアントへ配信する。このように、システム制御部１０５は、前記クライアントごとの映像復号および映像出力に関する属性情報を取得し、前記ネットワークの帯域に関する帯域情報を取得し、前記属性情報および前記帯域情報をもとに、前記クライアントごとに配信ビットレートを演算し、前記クライアント機器の前記属性情報および前記配信ビットレートをもとに、前記配信符号化形式を選定する。
【００１７】
図３はクライアントＡ３００の構成を示す図である。図３において、クライアントＡ３００は、ネットワークインタフェース部３０１と、映像／音声復号化部３０２と、映像表示／音声出力部３０３と、システム制御部３０４と、リモコン受信部３０５とを備えている。なお、クライアントＢ４００，クライアントＢ５００も、クライアントＡ３００と同様の構成である。
【００１８】
図３におけるクライアントＡ３００の動作を説明する。ユーザからのコンテンツ再生指示はリモコン受信部３０５を介してシステム制御部３０４に伝えられる。システム制御部３０４はネットワークインタフェース部３０１を介してサーバ１００にコンテンツ配信要求信号を出力するとともに、クライアントＡ３００の既知の情報である属性情報をサーバ１００に送信する。サーバ１００からＡＶネットワークを介して配信された所望のコンテンツのストリームをネットワークインターフェース部３０１で受信するとストリームを映像／音声復号化部３０２で複号化し、復号化したベースバンド信号を映像表示／音声出力部３０３からユーザに提示する。
【００１９】
図４は図１の通信ネットワークにおいて新たにクライアントＡ３００からコンテンツの再生要求が出された場合の、サーバ１００にあるシステム制御部１０５で計算されるビットレート割り当て演算の一例を表すフローチャートである。
【００２０】
サーバ１００のシステム制御部１０５は、ステップ９０１でビットレート割り当て演算を開始し、ステップ９０２でクライアント属性情報を取得し、ステップ９０４でネットワーク帯域情報を取得する。ステップ９０２のクライアント属性情報取得では、新しく再生要求のあったクライアントＡ３００の属性情報を取得し、ステップ９０３のビットレート配分比率割り当てに進む。ステップ９０３のビットレート配分比率割り当てでは、ステップ９０２のクライアント属性情報取得で取得したクライアントＡの属性情報と現在すでに配信している他のクライアントの属性情報、そして、それぞれのクライアントにすでに配信している、あるいはこれから配信するコンテンツの符号化形式、ビットレート情報から、各クライアントへ割り当てる帯域、すなわちビットレートの配分比率を見積もる。これは、クライアントの解像度や符号化方式、優先度、許容ビットレートの上下限から、それぞれのクライアントに必要なビットレートの比率を算出するものであり、各属性のパラメータ値の関数として帯域比が算出される。ステップ９０３のビットレート配分比率割り当てで見積もられたビットレートの配分比率情報は、ステップ９０５のビットレート割り当て更新にて使用される。このように、システム制御部１０５は、前記属性情報をもとに各クライアントに割り当てる前記配信ビットレートの配分比率を演算する。
【００２１】
システム制御部１０５は、ステップ９０４のネットワーク帯域情報取得において、前述したネットワークマスタ機器からリアルタイムの回線帯域（ビットレート）情報を取得し、ステップ９０５のビットレート割り当て更新へ進む。ステップ９０５のビットレート割り当て更新では、システム制御部１０５は、ステップ９０３のビットレート配分比率割り当てで算出した各クライアントの帯域比とステップ９０４のネットワーク帯域情報取得で取得した帯域情報から、各クライアントの帯域割り当てを最終決定する。さらに、システム制御部１０５は、ステップ９０８の符号化形式選定で、新たに配信を要求してきたクライアントについて、ステップ９０４のクライアント情報取得で取得したそのクライアントの属性情報およびステップ９０５のビットレート割り当てで算出したそのクライアントへの配信ビットレートから、そのクライアントへの配信符号化形式を選定する。
【００２２】
ステップ９０５のビットレート割り当て更新では、システム制御部１０５は、ステップ９０４のネットワーク帯域情報取得で取得した帯域情報をもとに、たとえば、クライアントＡ３００の追加があってもネットワーク帯域に余裕がある場合（クライアントＡ３００から要求されたコンテンツをそのまま配信してもネットワーク帯域に余裕がある場合）は、ステップ９０３のビットレート配分比率割り当ての結果にかかわらず、クライアントＡ３００の時間、空間解像度やクライアントＡ３００に配信するコンテンツの符号化形式、ビットレート情報から決まるそのままのレートでクライアントＡ３００に配信する。また、帯域に余裕がない場合は、現在の使用可能な全ネットワーク帯域をステップ９０３のビットレート配分比率割り当てで算出した各クライアントの比率で各クライアントに再分配し、その上で各クライアントの属性情報の一つである再生可能ビットレート範囲を外れないように調節したビットレートを、各クライアントに割り当てることで配信ビットレートの割り当てを決定する。このように、システム制御部１０５は、前記配分比率および前記帯域情報をもとに、各クライアントに割り当てる前記配信ビットレートの値を演算する。
【００２３】
ステップ９０５のビットレート割り当て更新で決定された各クライアントのビットレート割り当てはステップ９０６のタイマによって設定された一定時間のみ有効となり、その間は、各クライアントごとに算出されたレートでサーバ１００から配信が行われる。タイマによって設定された時間を超えた場合はステップ９０７の条件判断分岐によって前回に判断した際のネットワーク構成に変化があるかどうか確認する。変化がある場合はステップ９０２のクライアント属性情報取得へ進み、ステップ９０２，９０３，９０４を経てステップ９０５のビットレート割り当て更新において各クライアントへの配信ビットレートの再割り当てを行い、ステップ９０８の符号化形式選定において符号化形式の選定を行い、ステップ９０６に戻る。また、ネットワーク構成に変化がない場合はステップ９０４のネットワーク帯域情報取得へ進み、ステップ９０５のビットレート割り当て更新において各クライアントへの配信ビットレートの再割り当てを行い、ステップ９０８の符号化形式選定において符号化形式の選定を行い、ステップ９０６に戻る。このように、システム制御部１０５は、ネットワーク帯域を監視しながらネットワーク帯域の変化に応じて配信ビットレートを逐次更新していく。
【００２４】
サーバ１００の動作例として、以下に例を挙げて説明する。例えば、割り当てられるビットレートが１０Ｍｂｐｓ以上のときで、クライアント側のデコードの属性として、ＭＰＥＧ２のＭＰ＠ＨＬ（メインプロファイル・ハイレベル）がデコードできるクライアントであれば、ＭＰ＠ＨＬでトランスコードを行い、ＭＰ＠ＨＬがデコードできないクライアントであれば、ＭＰＥＧ２のＭＰ＠ＭＬ（メインプロファイル・メインレベル）にトランスコードを行う。また、割り当てられるビットレートが１０Ｍｂｐｓ未満であれば、ＭＰ＠ＭＬにトランスコードを行う。また、割り当てられるビットレートが３Ｍｂｐｓ未満であっても、ＭＰ＠ＭＬがデコードできるクライアントであれば、ＭＰ＠ＭＬでも解像度を水平方向に半分にするようスケーリングを行うような解像度変換を含めてＭＰ＠ＭＬへトランスコードを行う。さらには、割り当てられるビットレートが２Ｍｂｐｓ未満であって、ＭＰＥＧ−４のデコードができなくてＭＰＥＧのＭＰ＠ＭＬのデコードしかできないクライアントであれば、水平・垂直方向にともに半分のサイズにするようなスケーリングを行うような解像度変換を含めてＭＰＥＧのＭＰ＠ＭＬへトランスコードを行う。また、割り当てられるビットレートが２Ｍｂｐｓ未満であって、もし、クライアントがＭＰＥＧ−４をデコードできるなら、ＭＰＥＧ−４を１／４の画像サイズとなるＱＶＧＡにする解像度変換を含めてＭＰＥＧ−４へトランスコードを行う。
【００２５】
ステップ９０３のネットワーク配分比率割り当ての具体例について説明する。クライアントの数については、図１に示したように機器数が３ではなく、その２倍の数のクライアントがあったとする。ステップ９０２のクライアント属性情報取得において、ネットワークに接続されている機器数とそれぞれの機器でデコード可能なビットレートなどが全て取得される。例えば、図５にその一例を示す。この図５には、優先度が記載されているが、これは例えば、宅内の家族構成に基づいた優先度で、父親の視聴しているものであることをユーザが登録することで、優先度１に割り当てられ、決定される。優先度が１のものは、帯域として１００ポイントを割り当て、優先度２のものは９０ポイント、優先度３のものは８０ポイント、優先度４のものは７０ポイント、優先度５のものは６０ポイントとする。これらのポイントをすべての機器において総和すると、図５の例では、４９０ポイントとなる。そこで、機器番号１のクライアントについては、１００ポイント／４９０ポイント×２６Ｍｂｐｓで一旦帯域を割り当てる。このようにして、機器番号すべてのクライアントについて、割り当てた帯域は、機器番号順に５．３Ｍｂｐｓ、４．８Ｍｂｐｓ、２．４Ｍｂｐｓ、０．４９Ｍｂｐｓ、０．１８Ｍｂｐｓ、０．０７１Ｍｂｐｓとなる。これらを比率換算すると、機器番号順に４０．０％、３６．０％、１８．４％、３．６７％、１．３８％、０．５４％となる。
【００２６】
一方、有効な帯域は、ステップ９０４のネットワーク帯域情報取得で得られるので、例えば、３６Ｍｂｐｓの帯域が有効であったとすると、有効な帯域にステップ９０３で算出された配分比率を乗じて、それぞれ機器番号順に、１４．３Ｍｂｐｓ、１２．０Ｍｂｐｓ、６．６４Ｍｂｐｓ、１．３３Ｍｂｐｓ、０．５０Ｍｂｐｓ、０．１９Ｍｂｐｓとなるよう、ステップ９０５のビットレート割り当て更新によって配信ビットレートが割り振られる。
【００２７】
このように割り振られた配信ビットレートでデコードできる圧縮方式を見直したとき、上述のルールに則れば、機器番号４は２Ｍｂｐｓ以下のビットレートが割り振られており、ＭＰＥＧ−４がデコードできるので、ＭＰＥＧ−２のＭＰ＠ＭＬがデコード可能ではあるが、ＭＰＥＧ−４の圧縮方式へとトランスコーディングされて伝送される。
【００２８】
以上により、新たにクライアントＡ３００から、サーバ１００に配信要求があっても、ネットワーク帯域のオーバーフローによるネットワークの破綻を防ぎ、要求のあった複数のクライアントへコンテンツを配信することができる。
【００２９】
上述の例では、ステップ９０３のビットレート配分比率割り当てにおいて、デコードできる最大ビットレートをそのまま用いてビットレートの配分比率を計算し、ステップ９０５，９１０のビットレート割り当て更新において、デコードできる最大ビットレートから計算された配分比率を用いてトランスコーディングのビットレート（配信ビットレート）の割り当て値を計算した。しかし、サーバに蓄えられたコンテンツの元のビットレートが万が一それよりも低いビットレートであったときには、そのサーバに蓄えられたビットレートとデコードできる最大ビットレートの低いほうの値を使って配分比率を計算すると、より有効に帯域を活用できる。なぜなら、もとのコンテンツよりも高いビットレートにトランスコーディングしても、有効な情報が付加されないため、意味をなさないからである。これによって、他のクライアントの画質、音質の向上を図ることができる。また、計算したトランスコーディングのビットレートの値がコンテンツの元のビットレートの値よりも大きい場合は、トランスコーディングのビットレートの値をもとのビットレートの値にクリップすると、上記の意味をなさない伝送をしなくて済む。このように、システム制御部１０５は、配信するコンテンツの変換前の元のビットレートと、各クライアント機器が復号可能なビットレートおよび符号化形式と、各クライアント機器の優先度とをもとに、前記配信ビットレートを演算してもよい。また、システム制御部１０５は、前記演算した配信ビットレートが配信するコンテンツの変換前の元のビットレートより大きい場合に、前記配信ビットレートの値を前記元のビットレートの値にクリップしてもよい。
【００３０】
なお、このように様々な状態の圧縮方式に対応してトランスコードを行うように構成しているため、クライアント側では、サーバから配信されるストリームの解析を行って、デコードを行う必要がある。そのため、ストリーム解析に多くのバッファを必要としてしまうことになる。そこで、ネットワークのネゴシエーション時（通信設定確立のための通信速度などの情報の相互交換時）に、サーバが伝送するストリームタイプの情報（配信符号化形式の情報）をあらかじめクライアントに通知しておき、その情報に基づいて、クライアントが映像／音声復号化３０２の初期設定を行うようにすれば、ストリーム解析のためのバッファや解析ロジックを用意しておく必要がなく、小さい回路規模でクライアントを構成することが可能になる。このように、システム制御部１０５は、前記選定した配信符号化形式をコンテンツの伝送を始める前にクライアントにあらかじめ通知してもよい。
【００３１】
また、上記の実施の形態１の構成では、ネットワークに接続されるクライアント機器数に対して特に制限を設けていないが、実際には、帯域が有限であるため、接続する機器の数を無限大とするわけにはいかない。このような場合には、ある閾値を設けておいて、その閾値に基づいて、新規に接続される機器がネットワークビジーの状態であることをユーザに示して、ネットワークの接続を制限するようにすればよい。ある閾値とは、例えば、接続可能な機器の数の上限値であり、システム制御部１０５は、すでに接続されている機器の数がこの上限値であれば、新規参入を不可とし、すでに接続されている機器の数がこの上限値を下回っていれば、新規参入を許可するように、制御する。また、例えば、それぞれの圧縮方式において、下限のビットレートを上記の閾値としてネットワークマスタが管理しておき、システム制御部１０５は、新規参入しようとする機器を、仮に参入させた（接続した）場合の、それぞれの機器の配信ビットレートを演算し、演算結果が、それぞれの機器が対応できる圧縮方式での下限ビットレートを下回るときは、新規参入を不可とし、演算結果が上記下限ビットレートを下回らなかったときは、新規参入を許可するように、制御する。システム制御部１０５は、上記演算結果が上記下限ビットレートを下回るかどうかを、例えば、すでにコンテンツを配信しているクライアントおよび新たに配信を要求しているクライアントが復号可能なビットレートおよび符号化形式をもとに判断する。具体的には、ＭＰＥＧのＭＰ＠ＨＬが１２Ｍｂｐｓ、ＭＰ＠ＭＬが３Ｍｂｐｓ、ＭＰＥＧ−４が２２４ｋｂｐｓとネットワークマスタが管理していた場合であって、機器番号４がＭＰＥＧ−４に対応できない機器であったとして、この機器番号４を接続されていない状態から新たにこれを接続すると、機器番号４には、下限のビットレート３Ｍｂｐｓを割り当てることができなくなるため、新規参入ができないように制御する。この例では、接続される機器自身に割り当てができない場合で説明したが、既に接続している機器のビットレートの下限値に対して影響がある場合も、新規に接続されようとしている機器をネットワークに接続できないように制御する。これによってネットワークに多数のユーザが接続しようとしても、過負荷によるネットワーク障害を防ぎ、従来から接続していたユーザの視聴を妨げることはない。さらに、接続機器数が上記上限値を下回っており、かつ新規参入させたときに上記下限ビットレートを下回る配信がでてこなければ、新規参入を認め、接続機器数が上記上限値であるか、または新規参入させたときに上記下限ビットレートを下回る配信がでてくるのであれば、新規参入を不可とするように制御してもよい。このように、システム制御部１０５は、すでにコンテンツを配信しているクライアントおよび新たに配信を要求しているクライアントが復号可能なビットレートおよび符号化形式と、前記すでにコンテンツを配信していクライアント機器の数とをもとに、前記新たに配信を要求しているクライアントに配信を開始するか否かを決定してもよい。
【００３２】
また、下限のビットレートを割り当てることができなくなった機器（上記の例では機器番号４）に関して、大きな帯域を占有している機器（上記例では機器番号１）や、既に述べた配分ビットレートと符号化フォーマットのルールに則ってその符号化フォーマットの下限ビットレートから一番余裕のある機器（上記例では機器番号１が４．４Ｍｂｐｓ程度余裕があり、一番余裕のある機器である）が、ビットを与えるように制御することもできる。これによって、一人でも多くのユーザがネットワークを通してサーバにアクセスできるようになり、コンテンツの視聴を楽しむことができる。
【００３３】
この実施の形態１では上述のように、新規に接続できるか否かをネットワークマスタの判断で自動的に判断したが、接続要求時に、各ユーザに接続要求を通知して、優先度などを再設定するようにすることで、ユーザ間でネットワークのシェア（配分）をインタラクティブに（相互に）行うことができるようにしても問題ないことは言うまでもない。また、新規接続という場合において説明したが、新たにコンテンツ配信を要求した場合においても同様の対応で対処可能であることは自明である。
【００３４】
なお、本実施の形態１では新規クライアントをクライアントＡ３００としたがそれはクライアントＢ４００でもクライアントＣ５００でも同様の効果を奏する。
【００３５】
実施の形態２．
図６はこの発明の実施の形態２の映像伝送システム（映像サーバ・クライアント・システム）を示す構成図である。図６においては図１のネットワーク回線が特に無線伝送であることを特徴としている。この場合、サーバ１００、クライアントＡ３００、クライアントＢ４００、クライアントＣ５００のそれぞれに接続されたアクセスポイント１，３，４，５によってそれぞれの機器が無線接続されており、機器の設置場所や、電波強度、他の電波による干渉や妨害などにより、ネットワーク帯域は刻々と変化することを特徴としている。
【００３６】
図６の場合も実施の形態１と同様な構成でサーバ装置およびクライアント装置による通信システムを構成し、図４に示すステップ９０６のタイマの値を有線ネットワークでのタイマの値に比べて小さくなるように設定し、こまめに回線の帯域情報取得と各クライアントへのビットレート割り当て更新を行い、フィードバックを繰り返すことによって、ネットワークの破綻を起こさずに複数のクライアントへコンテンツを配信することができる。
【００３７】
このビットレート割り当てについては、例えば、すでに割り当てられているクライアントへの配信ビットレート（トランスコードのビットレート）をＲｃとし、サーバのネットワークインターフェイス１０４内に設けられる送信のために必要なバッファリングのバッファ空き容量をＭｓ、クライアントのネットワークインターフェイス３０１内に設けられる受信のために必要なバッファリングのバッファ空き容量をＭｃとして、無線伝送の刻々と変化するネットワーク帯域に対する現時刻での実際の送信ビットレートをＲｒ、配信ビットレートの変更に要する時間をｔとし、この時間ｔの関数として表されるシステムマージンパラメータをΘとすると、Ｒｃ≧Ｒｒのとき、ｔ＜Ｍｓ／（Ｒｃ−Ｒｒ）＋Θであれば、トランスコーダ１０３により、配信ビットレートＲｃを現時刻での実際の送信ビットレートＲｒになるように更新する。
【００３８】
また、Ｒｒ＞Ｒｃの場合は、トランスコーダ１０３により、配信ビットレートＲｃを現時刻での実際の送信ビットレートＲｒに上げるように更新して、トランスコードを行う。
【００３９】
なお、Θ＝０．２ｔあたりになるようにすると、システム上の安定度は高い。例えば、もともとのコンテンツのビットレートが８Ｍｂｐｓであったとき、Ｒｃが７Ｍｂｐｓ、Ｒｒが６．５Ｍｂｐｓで、Ｍｓが２００ｋｂｉｔｓで、Θ＝０．２ｔのとき、Ｍｓ／（Ｒｃ−Ｒｒ）＋Θ＝０．５であり、上記の不等式はｔ＜０．５となるが、このことは、０．５秒以内にシステムビットレートを６．５Ｍｂｐｓに変更するようにトランスコードの制御を行えばよいことを示している。また、Ｒｒ＞Ｒｃのときは、ＲｃをＲｒまで引き上げるようにトランスコードの制御を行えばよい。このとき、Ｒｒがもともとのコンテンツのビットレートより高い場合は、Ｒｃは上記実施の形態１と同様にもともとのコンテンツのビットレートにクリップされる。
【００４０】
本実施の形態では、無線伝送を想定しているのであるが、無線ではごくまれに電波妨害などにより、伝送が途切れてしまうことがある。このような場合、伝送路およびトランスコーダ、デコーダに対してリセットをかけて再度伝送を再開することになる。このように、伝送路が所望のビットレートを保持できなくなり動画映像が万が一途切れてしまった場合、その伝送ができなくなったクライアントを検出したシステム制御部１０５は、途切れてしまった映像データの箇所（位置）から所定の時間ないしは所定のビット数だけ前に戻った箇所の映像データから送信を再開するように記録制御／再生制御部１０２により蓄積メディア１０１からの読み出しを制御してもよい。そのように制御すれば、元のコンテンツが途切れた少し前から、映像が再開するので、ユーザがコンテンツを見逃した不安に駆られることのないフォールトトレラントな（システムの一部に何らかの障害が発生した場合でも、システムを停止せずに継続処理できる）サーバ・クライアント・システムを構築することができる。所定の時間とは、例えば、１０秒程度の時間の長さであり、所定のビット数とは、そのときのコンテンツのビットレートがＲｐであったとき、１０×Ｒｐだけのビット数から前のデータである。
【００４１】
また、このときの読み出し再開は、ＭＰＥＧ−２などの符号化方式では、システムヘッダもしくはＧＯＰヘッダからの再開が最も効率がよく、ＭＰＥＧ−４ではキーフレームからの再開が最も効率がよい。これは、クライアントのデコーダがそれらの箇所からのデコードが可能であるからであり、その直前のデータから始まっても、それらのストリームはデコーダ側で廃棄されるからである。ここでいうデコーダとは、映像／音声復号化３０２である。
【００４２】
以上により、ネットワーク帯域が刻々と変化する無線伝送の場合でも、ネットワーク帯域のオーバーフローによるネットワークの破綻を防ぎ、要求のあった複数のクライアントへコンテンツを配信することができる。
【００４３】
なお、ここではすべて無線で構成されたネットワークを示したが、その一部のネットワークが有線であって、有線、無線混在のネットワークであってもよい。
【００４４】
実施の形態３．
図７はこの発明の実施の形態３の映像伝送システム（映像サーバ・クライアント・システム）を示す構成図である。図７においては１つのネットワークの中にサーバＸ１００とサーバＹ２００と２つのサーバが存在している。
【００４５】
図７のようにネットワーク内に複数のサーバが存在する場合は、図４におけるステップ９０２のクライアント属性情報取得、およびステップ９０３のビットレート配分比率割り当てによる演算をクライアントが配信要求した方のサーバにて行い、ステップ９０４，９０９のネットワーク帯域情報取得、ステップ９０５，９１０のビットレート割り当て更新、ステップ９０６のタイマの制御、およびステップ９０７の条件判断分岐を、あらかじめ設定したどちらか一方のマスタサーバで行うことによって、実施の形態１に示したものと同様の演算を行うことができるとともに、各クライアントの配信ビットレートおよび属性情報をサーバＸ１００とサーバＹ２００とで共有する。
【００４６】
このとき、サーバＸ１００とサーバＹ２００がネットワークに接続された場合、先に接続された方をマスタサーバと設定すればよいし、もし、同時になった場合は、コンテンツ数の多いサーバをネットワークマスタとすればよい。コンテンツ数が多い場合には、そのサーバから配信される可能性が高く、なおかつ、実施の形態１で述べたように、コンテンツのビットレートに依存して、配信帯域を決定するのであれば、そのコンテンツのビットレートに関する情報を、サーバＸ１００とサーバＹ２００でやりとりする必要があるからである。
【００４７】
また、コンテンツの数でマスタサーバを決定する以外には、例えば、そのネットワークにサーバが接続される際に、そのサーバが配信されてきたストリーム数をやりとりし、いわゆるそのサーバの履歴情報を元に、マスタサーバを決定してもよい。すなわち、よく使用されているサーバをサーバマスタにするという考え方に基づいているものである。
【００４８】
さらには、例えばサーバマスタになっているサーバＸ１００がネットワークから離脱するときには、自動的に、サーバＹ２００の方へ、サーバマスタの権限が引き渡される。また、例えば、何らかの原因でサーバＸ１００の部屋のブレーカが遮断されることによってサーバＸ１００がネットワークから離脱する場合を考えると、マスタが決定したレート配分やクライアントの属性情報などの情報は、常に、マスタでないサーバＹ２００も把握しておくことで、マスタの急なネットワーク離脱に対応できる。
【００４９】
以上により、ネットワーク内に複数のサーバが存在する環境下においても、ネットワークの破綻を起こさないサーバ装置およびクライアント装置を得ることができる。
【００５０】
なお、ここではサーバの数を２個にしているが、サーバ数はそれ以上のいくつであってもよい。
【００５１】
以上実施の形態１〜３においてクライアント数を説明の便宜上３つ以下を中心に説明したが、これはいくつであってもよい。
【００５２】
本発明は、家庭用ホームＡＶサーバシステムや車載用ＬＡＮを使用したＡＶサーバシステム、監視ネットワークのサーバシステムなどに適用できる。
【図面の簡単な説明】
【００５３】
【図１】この発明の実施の形態１を示す映像伝送システム（映像サーバ・クライアント・システム）の構成図である。
【図２】この発明の実施の形態１を示すサーバ装置の構成図である。
【図３】この発明の実施の形態１を示すクライアント装置の構成図である。
【図４】この発明の実施の形態１を示すサーバ装置の帯域割り当て制御のフローチャートである。
【図５】この発明の実施の形態１においてクライアント属性取得で取得された属性情報の一例を示す図である。
【図６】この発明の実施の形態２を示す映像伝送システム（映像サーバ・クライアント・システム）の構成図である。
【図７】この発明の実施の形態３を示す映像伝送システム（映像サーバ・クライアント・システム）の構成図である。
【符号の説明】
【００５４】
１，３，４，５  アクセスポイント、  １０  ＡＶネットワーク、  １００  サーバ，サーバＸ、  １０１  蓄積メディア、  １０２  記録制御／再生制御部、  １０３  トランスコーディング部、  １０４  ネットワークインタフェース部、  １０５  システム制御部、  ２００  サーバＹ、  ３００  クライアントＡ、  ３０１  ネットワークインタフェース、  ３０２  映像／音声復号化部、  ３０３  画像表示／音声出力部、  ３０４  システム制御部、  ３０５  リモコン受信部、  ４００  クライアントＢ、  ５００  クライアントＣ。
【図１】
2005318057.tif 000003
【図２】
2005318057.tif 000004
【図３】
2005318057.tif 000005
【図４】
2005318057.tif 000006
【図５】
2005318057.tif 000007
【図６】
2005318057.tif 000008
【図７】
2005318057.tif 000009