(57)【特許請求の範囲】
【請求項１】
画像データをストリーミング配信可能な第１のコンピュータとその画像データを受信する１以上の第２のコンピュータを有する画像データ配信システムにおいて、
前記第１のコンピュータは、
配信要求のあったファイルの送信開始からの送信時間を計測するタイマと、圧縮率の異なる複数の画像データおよび該画像データ毎に該画像データの内容を識別可能な内部識別アドレスと送信の際の送信タイミングを規定するタイムスタンプとの対応データを保持する記憶手段と、前記第２のコンピュータからの回線状況通知メッセージに基づいて前記記憶手段から最適な圧縮率の画像データを抽出するとともに、該抽出した画像データの、前記タイマで計測された送信時間に対応する前記内部識別アドレス以降の画像データ内容を配信する手段とを有することを特徴とする画像データ配信システム。
【請求項２】
第１のコンピュータから１以上の第２のコンピュータに画像データをストリーミング配信するために前記第１のコンピュータで実行する画像データ配信用プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記第２のコンピュータから配信要求のあったファイルの送信開始からの送信時間をタイマで計測する機能と、圧縮率の異なる複数の画像データおよび該画像データ毎に該画像データの内容を識別可能な内部識別アドレスと送信の際の送信タイミングを規定するタイムスタンプとの対応データを記憶手段に保持する機能と、前記第２のコンピュータからの回線状況通知メッセージに基づいて前記記憶手段から最適な圧縮率の画像データを抽出するとともに、該抽出した画像データの、前記タイマで計測された送信時間に対応する前記内部識別アドレス以降の画像データ内容を配信する機能を実現させるための画像データ配信用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上でビデオストリーミングデータを送信する場合におけるデータ作成および配信システムに関し、特にデータを要求するクライアントコンピュータのネットワーク接続環境の動的な変化に対応して最適なビデオデータ配信を実現するビデオデータ配信システムおよびそのためのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
ネットワーク上における一般的なビデオデータ配信においては、ビデオサーバコンピュータはクライアントコンピュータのデータ送信要求に対し該当するデータのストリーミング配信を行なっている。通常のビデオデータは非常にサイズが大きいため、回線上に大きな帯域幅を必要としていた。従って、従来は、限られたネットワーク内において回線の帯域幅を考慮し適切な圧縮を行うことにより、ビデオデータ配信が行われていた。
【０００３】
しかし、近年のインターネット技術の普及に伴い、インターネットを利用したビデオ配信システムが多数考案されている。インターネットを利用した場合、インターネットに接続され世界中に点在する膨大な数のコンピュータがクライアントコンピュータとなり得る。そのため、クライアントコンピュータのネットワーク接続環境はクライアントコンピュータ毎に異なることとなる。
【０００４】
従って、例えば高品質（低圧縮率）のビデオデータを配信した場合、帯域幅の狭い通信回線に接続しているクライアントコンピュータは、配信された全てのビデオデータを受信しきれなくなる。この理由により、インターネット上でビデオ配信を行なう場合には、できるだけ多くのクライアントコンピュータで受信可能となるように、帯域幅の狭い通信回線に合わせた低品質（高圧縮率）のビデオデータを配信するようにしていた。この環境においては、高品質のビデオデータの受信可能なクライアントコンピュータであっても品質の低いビデオデータを受信することに甘んじなければならなかった。
【０００５】
この問題点に関するものとして、ビデオサーバが、予め記憶装置に格納してある中間形態の動画データを事前に高品質および低品質の複数のデータを準備し、さらにビデオデータを要求するクライアントコンピュータが接続されている回線の通信速度を取得する手段を具備し、取得した通信速度により最適なデータを配信する仕組みが考案されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、一般に、クライアントコンピュータのネットワーク接続環境すなわち帯域幅は回線の混雑の度合等により刻々と変化するものであるが、上記従来技術においては、動画データの配信要求のあったクライアント端末のネットワーク性能（伝送速度）を検知し、それに応じた圧縮率の動画データを送信するものであり、ネットワーク性能の時々刻々の変化に応じて送信ビデオデータの品質（データ圧縮率）を変化させるものとはなっていない。
【０００７】
本発明の目的は、クライアントコンピュータのネットワーク接続環境すなわち帯域幅の時々刻々の変化に応じて、適切な品質の画像データを効率よく配信することが可能な画像データ配信システムおよびそのためのプログラムを記録した記録媒体を提供することである。
【０００８】
【課題を解決するための手段】
本発明は、上記目的を達成するために、画像データをストリーミング配信可能な第１のコンピュータ（好ましくは画像サーバコンピュータ）とその画像データを受信する１以上の第２のコンピュータ（好ましくはクライアントコンピュータ）を有する画像データ配信システムにおいて、第１のコンピュータは、第２のコンピュータから回線状況通知メッセージに基づいて、第２のコンピュータが接続されている回線の通信速度に最適な圧縮を施した画像データを送信する最適画像配信手段を有することを特徴としている。
【０００９】
なお、前記最適画像配信手段は、（ａ）送信時間を計測するタイマと、圧縮率の異なる複数の画像データおよび該画像データ毎に該画像データの内容を識別可能な内部識別アドレスと送信の際の送信タイミングを規定するタイムスタンプとの対応データを保持する記憶手段と、第２のコンピュータからの回線状況通知メッセージに基づいて記憶手段から最適な圧縮率の画像データを抽出するとともに、該抽出した画像データの、タイマで計測された送信時間に対応する内部識別アドレス以降の画像データ内容を配信する手段とを有するか、あるいは、（ｂ）１つの画像データを保持する記憶手段と、第２のコンピュータから所定の時間間隔で受信する回線状況通知メッセージに基づいて、記憶手段に保持されている１つの画像データから、第２のコンピュータが接続されている回線に最適な圧縮率の画像データを動的に作成して配信する手段とを有している。
【００１０】
また、本発明の記録媒体は、前記第１のコンピュータ（画像サーバコンピュータ）における各手段および第２のコンピュータ（クライアントコンピュータ）における各手段を実現する処理をプログラムコード化してコンピュータ読み取り可能なＣＤ−ＲＯＭ，ＤＶＤ，ＦＤなどの記録媒体に記録したものである。
【００１１】
【発明の実施の形態】
以下、本発明の好ましい実施の形態を説明する。
画像データを配信する機能を有するネットワークに接続されている画像配信サーバを具備し、該画像配信サーバは画像データを格納可能な記憶装置を具備し、画像配信サーバにアクセス可能な不特定多数のクライアントコンピュータを具備する構成とする。
【００１２】
配信するビデオデータ作成において、ビデオサーバコンピュータは、オリジナルビデオデータを基に、高品質から低品質まで複数のビデオデータを記憶装置に作成し、個々のビデオデータに対し一定時間間隔のタイムスタンプを付加する機能を具備する。
【００１３】
また、ビデオデータを受信するクライアントコンピュータでは、ビデオデータ受信中に受信パケットの状態を監視し、損失パケットが一定の基準を超えた場合、クライアント側の通信回線に十分な帯域が確保されていないと判定し、また、一定の基準時間の間に損失パケットが無い場合は、クライアント側の通信回線に十分な帯域が確保されていると判定し、その判定結果を配信中のビデオサーバコンピュータへ送信する手段を具備する。
【００１４】
上述の判定結果を受信したビデオサーバは、その判定結果に適切な品質のビデオデータファイルを選択し、現在配信中のビデオデータファイルの切り換えを行う。その際、切り換え前後の２つのビデオデータに付加されているタイムスタンプを参照し、配信を中止する時点でのタイムスタンプと同様のタイムスタンプを持つ時点より切り換え後のビデオデータの配信を開始する機能を具備する。
【００１５】
また、上記目的を達成するために、本発明は、ビデオデータを配信する機能を有するネットワークに接続されているビデオサーバコンピュータを具備し、さらにその記憶装置に記憶されているオリジナルビデオデータを送信時に所定の圧縮率で圧縮しながら配信する機能を具備する構成とする。
【００１６】
ビデオデータを受信する際において、クライアントコンピュータは、ビデオデータ受信中に受信パケットの状態を監視し、損失パケットが一定の基準を超えた場合クライアント側の通信回線に十分な帯域が確保されていないと判定し、また、一定の基準の時間、損失パケットが無い場合、クライアント側の通信回線に十分な帯域が確保されていると判定し、その判定結果を配信中のビデオサーバコンピュータへ送信する手段を特徴とする機能を具備する。
【００１７】
さらに、上述の判定結果を受信したビデオサーバコンピュータは、その判定結果に従い、動的に圧縮率に変更し、その変更された圧縮率で圧縮されたビデオデータを配信する機能を具備する。
【００１８】
上記構成を採用することにより、配信されるビデオデータは、受信するクライアントコンピュータのネットワーク接続環境に従い配信するビデオデータの品質を動的に変化させることができる。これにより、クライアントコンピュータは常に最適化されたビデオデータを見掛け上切れ目なく受信することが可能となる。
【００１９】
また、本発明の記録媒体は、上記の如きクライアントコンピュータが行う処理やビデオサーバコンピュータが行う処理をプログラムコード化してコンピュータ読み取り可能なＣＤ−ＲＯＭ，ＤＶＤ，ＦＤなどの記録媒体に記録したものである。
【００２０】
（実施例の説明）
以下、本発明の実施例として、２つの実施例を説明する。
図１は、第１の実施例および第２の実施例における共通のハードウエア構成を示すブロック図である。本発明は、圧縮して配信することが可能な全てのデータ（特に画像データ）に対して適用可能であるが、本実施例では、ビデオデータ（動画データ）を例にとって説明する。
【００２１】
図１において、１０１はビデオデータの作成および配信を行なうビデオサーバコンピュータ、１０２はビデオデータを格納する補助記憶装置、１０３および１０３’はクライアントコンピュータ、１０４はビデオサーバコンピュータ１０１とクライアントコンピュータ１０３が接続されるネットワーク環境である。以下の説明では、１つのサーバコンピュータと１つ以上のクライアントコンピュータからなるクライアント・サーバシステムの場合を用いて説明するが、第１のコンピュータから第２のコンピュータへの２つのコンピュータ間でのデータの配信にも適用可能であることはいうまでもない。
【００２２】
（第１の実施例）
まず、第１の実施例について図２〜図６を用いて説明する。
図２は、記憶装置に格納する圧縮ビデオデータファイルのファイル構造の説明図である。図２において、２０３は圧縮ビデオデータファイルのヘッダ情報、２０４は本実施例で取り上げる画像データファイル、２０５はＥＯＦ（ＥＯＦ：Ｅｎｄ  ｏｆ  Ｆｉｌｅ）を示す。また、２０１は本発明の特徴である圧縮ビデオデータファイルのタイムスタンプであり、２０２は、タイムスタンプ２０１と対応する圧縮ビデオデータファイルの内部識別アドレスである。なお、本実施例で取り上げる圧縮率の異なる他の画像ファイル（圧縮画像ファイルＢおよび圧縮画像ファイルＣ）構造も図２と同様である。内部識別アドレス２０２は、ファイル毎にタイムスタンプ１０２に対応して設けられるものであるが、ファイルの品質（圧縮率）が異なればそれに伴って異なる値を有する。
【００２３】
図３は、同一画像ファイルから生成された圧縮率の異なる３種類の圧縮ビデオデータファイルのヘッダ情報の説明図である。同図（ａ）は低圧縮画像ファイルＡのヘッダ情報を、同図（ｂ）は中圧縮画像ファイルＢのヘッダ情報を、同図（ｃ）は高圧縮画像ファイルＣのヘッダ情報を示している。３０１はタイムスタンプ情報、３０２は、インデックスに対応する図２に示すファイルの内部識別アドレスである。
【００２４】
図４は、圧縮率の異なる３つの画像ファイルとタイムスタンプと内部識別アドレスの関係を説明するための図である。
同図（ａ）は、低圧縮画像ファイルＡとタイムスタンプと内部識別アドレスの関係を、同図（ｂ）は中圧縮画像ファイルＢとタイムスタンプと内部識別アドレスの関係を、同図（ｃ）は高圧縮画像ファイルＣとタイムスタンプと内部識別アドレスの関係を、それぞれ示している。本例では、説明を簡単にするために、同図（ａ）に示す低圧縮画像ファイルＡを１／２に圧縮したものを中圧縮ファイルＢとして同図（ｂ）に示し、さらにこれを１／２に圧縮したものを高圧縮画像ファイルＣとして同図（ｃ）に示すとともに、タイムスタンプ，内部識別アドレスと圧縮画像ファイルＡ〜Ｃの内容の関係がわかりやすいように画像ファイル中に「い」、「ろ」、「は」・・・などを便宜的に示した。
【００２５】
図５は、ビデオサーバコンピュータ１０１に保持される、通信速度と該通信速度に最適化された圧縮画像ファイルとの対応図である。図５における通信速度を表わす記号（ｍ、ｎ）の大小関係は、ｍ＜ｎとする。同図に示すように、通信速度が低速の場合は（〜ｍ）、低品質である高圧縮画像ファイルＣを、通信速度が高速の場合は（ｎ〜）、高品質である低圧縮画像ファイルＡを配信するようにする。
【００２６】
図６および図７は、第１の実施例の動作を説明するためのフローチャートである。
まず、ビデオデータを配信するビデオサーバコンピュータ１０１の動作を、図６を用いて詳細に説明する。
【００２７】
図６において、クライアントコンピュータ１０３からのデータ要求に従い、該当する記憶装置内のビデオデータ（システムには初期配信ファイルが設定済とする。本実施例では、初期配信ファイルは「中圧縮画像ファイルＢ」とする）の配信を開始し、かつ配信時間の計測を開始する（ステップ６０１）。
【００２８】
クライアントコンピュータ１０３から低品質データの受信要求（後述する図７のステップ７０６参照）があった場合（ステップ６０３）、図５の対応図に従い、現在送信中のファイル（ファイルＢ）より１段階品質の劣る「高圧縮画像ファイルＣ」を送信ファイルとして確定する（ステップ６０４、６０５）。
【００２９】
次に現在時点の配信時間を測定する（ステップ６０６）。本実施例では、この時の測定時間が４ｍｓであったと仮定し、図３に示すヘッダ情報より、「ファイルＢ」の４ｍＳの開始内部識別アドレスは「ｉｉｉｉ」と確定する（ステップ６０７）。すなわち、画像「い」、「ろ」は配信済みとする。ビデオサーバコンピュータ１０１は即座に配信中の「中圧縮画像ファイルＢ」の配信を中止し、内部識別アドレス「ｉｉｉｉ」から「高圧縮画像ファイルＣ」の画像「は」、「に」、・・・の配信を開始する（ステップ６０８）。
【００３０】
逆に、クライアントコンピュータ１０３より高品質データの受信要求（後述する図７のステップ７０７参照）があった場合（ステップ６０３：Ｙ）、図５の対応図に従い、現在配信中の「中圧縮画像ファイルＢ」より１段階品質の高い「低圧縮画像ファイルＡ」を次送信ファイルとして確定する（ステップ６０４、６０５）。以下の動作は同様である。すなわち、ビデオサーバコンピュータ１０１は即座に配信中の「中圧縮画像ファイルＢ」の配信を中止し、内部識別アドレス「ｉｉｉｉ」から「低圧縮画像ファイルＡ」の画像「は」、「に」、・・・の配信を開始する（ステップ６０８）。
【００３１】
なお、現時点での配信データが「高圧縮画像ファイルＣ」であった場合にさらに低品質の高圧縮の画像ファイルが要求された場合、図５より１段階品質の劣るビデオデータは存在しないことがわかる。また、現時点での配信データが「低圧縮画像ファイルＡ」であった場合にさらに高品質の低圧縮画像ファイルが要求された場合にも、図５より１段階品質の高いビデオデータは存在しないことがわかる。このような場合は、データの存在しない旨のメッセージを送信し、現時点でのデータ配信を続行する（ステップ６０９）。
【００３２】
また、ビデオサーバコンピュータ１０１は、ビデオデータの終端すなわち図２に示す「ＥＯＦ」まで配信を行った場合（ステップ６０２：Ｙ）、データの配信を終える。
【００３３】
次に、ビデオデータを受信するクライアントコンピュータ１０３の動作を、図７を用いて詳細に説明する。
図７において、先ず、ビデオサーバコンピュータ１０１に対するビテオデータ要求により、ビデオサーバから送信されたデータの受信を開始し、同時に損失パケット監視タイマをリセットする（ステップ７０１）。
【００３４】
損失パケット数がシステムに既設定済の数を超過した場合（ステップ７０２：Ｙ）、クライアントコンピュータ側の通信回線に十分な帯域が確保されていないと判断し、ビデオサーバに低品質データの要求メッセージを送信する（ステップ７０６）。損失パケット数がシステムに既設定済の数を超過しない場合（ステップ７０２：Ｎ）、損失パケットの発生を常に監視し（ステップ７０３）、損失パケットが発生した場合（ステップ７０３：Ｙ）、損失パケット監視タイマをリセットする（ステップ７０４）。
【００３５】
この損失パケット監視タイマが、システムに既設定済の一定時刻を超過した場合、すなわち損失パケットが一定時間発生しなかった場合（ステップ７０３：Ｎ，７０５：Ｙ）、クライアントコンピュータ１０３側の通信回線に十分な帯域が確保されており現在受信中のビデオデータよりも高品質なデータ（低圧縮のデータ）の受信が可能と判断し、ビデオサーバコンピュータ１０１に高品質データの要求メッセージを送信する（ステップ７０７）。
ステップ７０８では、ビデオサーバコンピュータ１０１からの配信データに従い今までと異なる品質の配信データを受信し、同時に損失パケット監視タイマをリセットする。
【００３６】
ここで、図６のステップ６０９に示すデータ無しのメッセージを受信した場合、そのメッセージに従い、低品質データ無しの場合はステップ７０６の低品質データ要求メッセージ送信を、また、高品質データ無しの場合はステップ７０７の高品質データ要求メッセージ送信を中止する。なお、クライアントコンピュータ１０３はビデオデータの終端をしめす「ＥＯＦ」まで受信した場合（ステップ７０９：Ｙ）、受信動作を終了する。
【００３７】
最後に、ビデオデータフォーマットについて詳述する。本実施例における配信ビデオデータのフォーマットは、図２に示すようにヘッダ情報部分（２０３）とデータ部分（２０４）とから構成され、ヘッダ部分には、図３に示すような、タイムスタンプ毎のアドレスが保持されている。ビデオサーバによりビデオデータを圧縮する際に、ヘッダ部分を生成し付加する。なお、図２および図３における２０１と３０１、２０２と３０２は同値である。
【００３８】
以上、第１の実施例は、オリジナルなビデオデータを基に高品質（低圧縮）から低品質（高圧縮）まで、品質の異なる複数のビデオデータをビデオサーバの記憶装置に記憶しておき、クライアントコンピュータからの配信要求に対し、クライアントコンピュータにおける受信状態に応じて、最適な品質のビデオデータを動的に切替えながら配信するものである。
【００３９】
（第２の実施例）
次に説明する第２の実施例は、ビデオサーバに保持するビデオデータは、オリジナルなもの１種類のみとし、サーバから配信するビデオデータの圧縮を、クライアントコンピュータにおける受信状態に応じて動的に最適化するものである。
【００４０】
以下、本第２実施例のビデオサーバ側の処理を、図８を用いて詳細に説明する。同図において、まず、クライアントコンピュータからのデータ要求に従い、該当する記憶装置内のオリジナルビデオデータをビデオサーバに取り出し（ステップ８０１）、圧縮を行いながら（システムには初期圧縮レートが設定済とする。）送信する（ステップ８０３）。
クライアントコンピュータ１０３より低品質データ要求または高品質データ要求のメッセージ受信があった場合（ステップ８０４）、圧縮レートを変更する（ステップ８０５）。
【００４１】
なお、ビデオサーバコンピュータ１０１はビデオデータの終端まで配信した場合（ステップ８０２）、配信動作を終了する。
【００４２】
ビデオデータを受信するクライアントコンピュータの動作は、第１の実施例と同様のため詳細な説明は省略する。
【００４３】
なお、上記の如き、ビデオサーバコンピュータが行う各処理手順およびクライアントコンピュータが行う各処理手順を、ＣＤ−ＲＯＭ，ＤＶＤ，あるいはＦＤなどの記録媒体に一緒にまたは別々に記録して市場に流通させることができる。利用者は、この記録媒体をビデオサーバコンピュータとクライアントコンピュータにインストールすることにより、本発明を簡単に利用することが可能になる。
【００４４】
【発明の効果】
以上詳細に説明したように、本発明によれば、ビデオサーバにより配信されるビデオデータは、受信するクライアントコンピュータのネットワーク接続環境に従い動的に変化させることが実現できる。これにより、クライアントコンピュータは常に最適化されたビデオデータを見掛け上切れ目なく受信することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施例および第２の実施例における共通のハードウエア構成を示すブロック図である。
【図２】記憶装置に格納する圧縮ビデオデータファイルのファイル構造の説明図である。
【図３】同一画像ファイルから生成された圧縮率の異なる３種類の圧縮ビデオデータファイルのヘッダ情報の説明図である。
【図４】圧縮率の異なる３つの画像ファイルとタイムスタンプと内部識別アドレスの関係を説明するための図である。
【図５】ビデオサーバコンピュータに保持される、通信速度と該通信速度に最適化された圧縮画像ファイルとの対応図である。
【図６】第１の実施例におけるビデオサーバコンピュータの動作を説明するためのフローチャートである。
【図７】第１の実施例におけるクライアントコンピュータの動作を説明するためのフローチャートである。
【図８】第２の実施例におけるビデオサーバコンピュータの動作を説明するためのフローチャートである。
【符号の説明】
１０１：ビデオデータの作成および配信を行なうビデオサーバコンピュータ（第１のコンピュータ）
１０２：ビデオデータを格納する記憶装置
１０３，１０３’：ネットワークと接続されるクライアントコンピュータ（第２のコンピュータ）
１０４：ビデオサーバコンピュータとクライアントコンピュータが接続されるネットワーク環境
１０５：プログラム記録媒体（ＣＤ−ＲＯＭ）
１０６：プログラム記録媒体（ＣＤ−ＲＯＭ）
２０１：圧縮ファイルのタイムスタンプ
２０２：圧縮ファイルのタイムスタンプに対応した内部識別アドレス
２０３：圧縮ファイルのファイルのヘッダ情報
２０４：本実施例で取り上げるファイルＡのファイルフォーマット
３０１：圧縮ファイルヘッダのタイムスタンプ情報
３０２：圧縮ファイルヘッダのタイムスタンプ情報に対応する内部識別アドレス
【図１】
0003580192.tif 000002
【図２】
0003580192.tif 000003
【図３】
0003580192.tif 000004
【図４】
0003580192.tif 000005
【図５】
0003580192.tif 000006
【図６】
0003580192.tif 000007
【図７】
0003580192.tif 000008
【図８】
0003580192.tif 000009