(57)【特許請求の範囲】
【請求項１】
複数の動画再生装置との通信における帯域を取得する帯域取得手段と、
前記帯域取得手段によって取得された帯域に基づいて、前記複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する帯域決定手段と、
前記動画再生装置から動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する要求受信手段と、
前記帯域決定手段によって決定された帯域と前記要求受信手段によって受信された要求に基づいて、動画のエンコードパラメータを変換する動画変換手段と、
前記帯域決定手段によって決定された帯域にしたがって、前記各動画再生装置に対して、前記動画変換手段によって変換された動画を送信する動画送信手段
を有する動画送信装置と、
前記動画送信装置の前記要求受信手段に対して、操作者の操作に基づいて、他の動画再生装置と同期して再生する動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する要求送信手段と、
前記動画送信装置の前記動画送信手段によって送信された動画を受信する動画受信手段と、
前記動画受信手段によって受信された動画を再生する再生手段
を有する動画再生装置
を具備することを特徴とする情報処理システム。
【請求項２】
複数の動画再生装置との通信における帯域を取得する帯域取得手段と、
前記帯域取得手段によって取得された帯域に基づいて、前記複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する帯域決定手段と、
前記動画再生装置から動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する要求受信手段と、
前記帯域決定手段によって決定された帯域と前記要求受信手段によって受信された要求に基づいて、動画のエンコードパラメータを変換する動画変換手段と、
前記帯域決定手段によって決定された帯域にしたがって、前記各動画再生装置に対して、前記動画変換手段によって変換された動画を送信する動画送信手段
を具備することを特徴とする情報処理装置。
【請求項３】
動画送信装置に対して、操作者の操作に基づいて、他の情報処理装置と同期して再生する動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する要求送信手段と、
前記要求送信手段によって送信された要求に基づいて前記動画送信装置によって変換された動画を受信する動画受信手段と、
前記動画受信手段によって受信された動画を再生する再生手段
を具備することを特徴とする情報処理装置。
【請求項４】
前記要求受信手段は、前記動画の各フレームの画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信し、
前記動画変換手段は、前記要求受信手段によって受信された要求に基づいて、フレーム毎に動画のエンコードパラメータを変換する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記動画送信手段が動画を送信している間に、前記要求受信手段が要求を受信した場合は、前記動画変換手段は、未だ送信していない動画に対して、該要求に基づいて動画のエンコードパラメータを変換する
ことを特徴とする請求項２又は４に記載の情報処理装置。
【請求項６】
前記動画を次回送信する場合に、前記動画変換手段が前記要求に基づいて、該動画のエンコードパラメータを変換し得るように、前記要求受信手段によって受信された要求を記憶する記憶手段
をさらに具備し、
前記動画変換手段は、前記帯域決定手段によって決定された帯域と前記記憶手段に記憶された要求に基づいて、動画のエンコードパラメータを変換する
ことを特徴とする請求項２、４、５のいずれか一項に記載の情報処理装置。
【請求項７】
前記動画送信手段が動画を送信している間に、該動画を同期して再生する新たな動画再生装置が接続された場合は、
前記帯域取得手段は、該動画再生装置との通信における帯域を取得し、
前記帯域決定手段は、前記帯域取得手段によって取得された帯域に基づいて、前記新たな動画再生装置を含めた複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する
ことを特徴とする請求項２、４、５、６のいずれか一項に記載の情報処理装置。
【請求項８】
前記動画送信装置によって送信された第２の動画を受信する第２の動画受信手段と、
前記第２の動画受信手段によって受信された第２の動画を記憶する動画記憶手段
をさらに具備し、
前記第２の動画受信手段よって受信された第２の動画は、前記動画受信手段よって受信された第１の動画よりも高画質であり、
前記再生手段は、前記動画受信手段によって受信された第１の動画を再生している間に、前記第２の動画受信手段による第２の動画の受信が終了したことを検知した場合は、該第１の動画の再生を中止し、前記動画記憶手段によって記憶されている第２の動画を再生する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項９】
コンピュータを、
複数の動画再生装置との通信における帯域を取得する帯域取得手段と、
前記帯域取得手段によって取得された帯域に基づいて、前記複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する帯域決定手段と、
前記動画再生装置から動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する要求受信手段と、
前記帯域決定手段によって決定された帯域と前記要求受信手段によって受信された要求に基づいて、動画のエンコードパラメータを変換する動画変換手段と、
前記帯域決定手段によって決定された帯域にしたがって、前記各動画再生装置に対して、前記動画変換手段によって変換された動画を送信する動画送信手段
として機能させるための情報処理プログラム。
【請求項１０】
コンピュータを、
動画送信装置に対して、操作者の操作に基づいて、他の情報処理装置と同期して再生する動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する要求送信手段と、
前記要求送信手段によって送信された要求に基づいて前記動画送信装置によって変換された動画を受信する動画受信手段と、
前記動画受信手段によって受信された動画を再生する再生手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
複数の動画再生装置で動画の再生を同期させる技術がある。
これに関連する技術として、例えば、特許文献１には、接続先と放送番組の記録及び／又は再生を同期させ、記録及び／又は再生する放送番組を接続先から指定可能にすることを課題とし、接続先と放送番組の記録及び／又は再生を同期させ、同期要求の送受によって、同一の放送番組の記録、再生に時間的な制約を受けることなく任意の時間に行える等、接続先と放送番組の同時再生を通話とともに行え、斯かる構成により、接続先と放送番組の記録及び／又は再生を同期させることができ、記録及び／又は再生をする放送番組を接続先から指定可能にすることができ、通信機能、放送受信機能及び放送番組の記録及び／又は再生の機能を備える機器の利便性を高めることが開示されている。
【０００３】
また、例えば、特許文献２には、ネットワーク上の複数の機器に対して同一のコンテンツが同時に配信可能な状態において、複数の機器についてコンテンツの再生動作を同期させることを課題とし、コンテンツサーバから複数台のコンテンツ再生装置へ同一のコンテンツを同時に配信可能な状態において、１台のコンテンツ再生装置に対してユーザの操作があったとき、ユーザの操作を受けたコンテンツ再生装置はコンテンツサーバへコンテンツ再生の状態変化に関するイベントの通知を発行し、コンテンツサーバはイベントの通知を受けたときそのコンテンツ再生装置以外のコンテンツ再生装置を制御し、前記あるコンテンツについてその再生状態を前記ユーザの操作を受けたコンテンツ再生装置の再生状態に一致させることが開示されている。
【０００４】
また、例えば、特許文献３には、画像フォーマットとフレームレートの２つを独立に操作することなく、１つの操作のみにて総合的な画質調整を実現することを課題とし、符号化映像の総合的な画質調整において、画像フォーマット毎に適用可能な符号化ビットレート、符号化フレームレートを定めたパラメータ変換データを予め記憶部に記憶しておき、パラメータ入力部から画質調整パラメータを入力し、画質調整部において、上記入力された画質調整パラメータをキーとして記憶部のパラメータ変換データを参照することによって、符号化フレームレートと画質フォーマットを決定し、それらを映像符号化処理部に出力することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２０６４１４号公報
【特許文献２】特開２００９−２５３８８９号公報
【特許文献３】特開２０００−１６５８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、複数の動画再生装置によって動画を同期して再生する場合にあって、動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する操作者の要求が反映された動画を再生するようにした情報処理システム、情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、複数の動画再生装置との通信における帯域を取得する帯域取得手段と、前記帯域取得手段によって取得された帯域に基づいて、前記複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する帯域決定手段と、前記動画再生装置から動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する要求受信手段と、前記帯域決定手段によって決定された帯域と前記要求受信手段によって受信された要求に基づいて、動画のエンコードパラメータを変換する動画変換手段と、前記帯域決定手段によって決定された帯域にしたがって、前記各動画再生装置に対して、前記動画変換手段によって変換された動画を送信する動画送信手段を有する動画送信装置と、前記動画送信装置の前記要求受信手段に対して、操作者の操作に基づいて、他の動画再生装置と同期して再生する動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する要求送信手段と、前記動画送信装置の前記動画送信手段によって送信された動画を受信する動画受信手段と、前記動画受信手段によって受信された動画を再生する再生手段を有する動画再生装置を具備することを特徴とする情報処理システムである。
【０００８】
請求項２の発明は、複数の動画再生装置との通信における帯域を取得する帯域取得手段と、前記帯域取得手段によって取得された帯域に基づいて、前記複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する帯域決定手段と、前記動画再生装置から動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する要求受信手段と、前記帯域決定手段によって決定された帯域と前記要求受信手段によって受信された要求に基づいて、動画のエンコードパラメータを変換する動画変換手段と、前記帯域決定手段によって決定された帯域にしたがって、前記各動画再生装置に対して、前記動画変換手段によって変換された動画を送信する動画送信手段を具備することを特徴とする情報処理装置である。
【０００９】
請求項３の発明は、動画送信装置に対して、操作者の操作に基づいて、他の情報処理装置と同期して再生する動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する要求送信手段と、前記要求送信手段によって送信された要求に基づいて前記動画送信装置によって変換された動画を受信する動画受信手段と、前記動画受信手段によって受信された動画を再生する再生手段を具備することを特徴とする情報処理装置である。
【００１０】
請求項４の発明は、前記要求受信手段は、前記動画の各フレームの画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信し、前記動画変換手段は、前記要求受信手段によって受信された要求に基づいて、フレーム毎に動画のエンコードパラメータを変換することを特徴とする請求項２に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記動画送信手段が動画を送信している間に、前記要求受信手段が要求を受信した場合は、前記動画変換手段は、未だ送信していない動画に対して、該要求に基づいて動画のエンコードパラメータを変換することを特徴とする請求項２又は４に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記動画を次回送信する場合に、前記動画変換手段が前記要求に基づいて、該動画のエンコードパラメータを変換し得るように、前記要求受信手段によって受信された要求を記憶する記憶手段をさらに具備し、前記動画変換手段は、前記帯域決定手段によって決定された帯域と前記記憶手段に記憶された要求に基づいて、動画のエンコードパラメータを変換することを特徴とする請求項２、４、５のいずれか一項に記載の情報処理装置である。
【００１３】
請求項７の発明は、前記動画送信手段が動画を送信している間に、該動画を同期して再生する新たな動画再生装置が接続された場合は、前記帯域取得手段は、該動画再生装置との通信における帯域を取得し、前記帯域決定手段は、前記帯域取得手段によって取得された帯域に基づいて、前記新たな動画再生装置を含めた複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定することを特徴とする請求項２、４、５、６のいずれか一項に記載の情報処理装置である。
【００１４】
請求項８の発明は、前記動画送信装置によって送信された第２の動画を受信する第２の動画受信手段と、前記第２の動画受信手段によって受信された第２の動画を記憶する動画記憶手段をさらに具備し、前記第２の動画受信手段よって受信された第２の動画は、前記動画受信手段よって受信された第１の動画よりも高画質であり、前記再生手段は、前記動画受信手段によって受信された第１の動画を再生している間に、前記第２の動画受信手段による第２の動画の受信が終了したことを検知した場合は、該第１の動画の再生を中止し、前記動画記憶手段によって記憶されている第２の動画を再生することを特徴とする請求項３に記載の情報処理装置である。
【００１５】
請求項９の発明は、コンピュータを、複数の動画再生装置との通信における帯域を取得する帯域取得手段と、前記帯域取得手段によって取得された帯域に基づいて、前記複数の動画再生装置によって動画を同期して再生するための通信における帯域を決定する帯域決定手段と、前記動画再生装置から動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する要求受信手段と、前記帯域決定手段によって決定された帯域と前記要求受信手段によって受信された要求に基づいて、動画のエンコードパラメータを変換する動画変換手段と、前記帯域決定手段によって決定された帯域にしたがって、前記各動画再生装置に対して、前記動画変換手段によって変換された動画を送信する動画送信手段として機能させるための情報処理プログラムである。
【００１６】
請求項１０の発明は、コンピュータを、動画送信装置に対して、操作者の操作に基づいて、他の情報処理装置と同期して再生する動画に対する、動画中の予め定めた範囲内における画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する要求送信手段と、前記要求送信手段によって送信された要求に基づいて前記動画送信装置によって変換された動画を受信する動画受信手段と、前記動画受信手段によって受信された動画を再生する再生手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１７】
請求項１の情報処理システムによれば、複数の動画再生装置によって動画を同期して再生する場合にあって、動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する操作者の要求が反映された動画を再生することができる。
【００１８】
請求項２の情報処理装置によれば、複数の動画再生装置によって動画を同期して再生させる場合にあって、動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する操作者の要求が反映された動画を送信することができる。
【００１９】
請求項３の情報処理装置によれば、複数の動画再生装置によって動画を同期して再生する場合にあって、動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する操作者の要求が反映された動画を再生することができる。
【００２０】
請求項４の情報処理装置によれば、動画のフレーム毎に操作者の要求が反映された動画を送信することができる。
【００２１】
請求項５の情報処理装置によれば、動画の送信中でも操作者の要求が反映された動画を送信することができる。
【００２２】
請求項６の情報処理装置によれば、前回の再生における要求にしたがった動画の再生ができるようになる。
【００２３】
請求項７の情報処理装置によれば、動画の送信中に動画再生装置が増えた場合でも、同期して動画を再生することができる。
【００２４】
請求項８の情報処理装置によれば、最初は第１の動画の再生を行い、第２の動画の受信が終了した後の情報処理装置では、第１の動画よりも高画質である第２の動画を再生することができるようになる。
【００２５】
請求項９の情報処理プログラムによれば、複数の動画再生装置によって動画を同期して再生させる場合にあって、動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する操作者の要求が反映された動画を送信することができる。
【００２６】
請求項１０の情報処理プログラムによれば、複数の動画再生装置によって動画を同期して再生する場合にあって、動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する操作者の要求が反映された動画を再生することができる。
【図面の簡単な説明】
【００２７】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態を実現する場合のシステム構成例を示す説明図である。
【図３】第１の実施の形態による処理例を示すフローチャートである。
【図４】第１の実施の形態による処理例を示すフローチャートである。
【図５】第１の実施の形態による処理例を示すフローチャートである。
【図６】動画情報テーブルのデータ構造例を示す説明図である。
【図７】ユーザプロファイルテーブルのデータ構造例を示す説明図である。
【図８】セッション管理テーブルのデータ構造例を示す説明図である。
【図９】再生動画ファイル管理情報テーブルのデータ構造例を示す説明図である。
【図１０】本実施の形態による処理例を示すフローチャートである。
【図１１】動画表示画面の例を示す説明図である。
【図１２】動画表示画面に対するフレームレートの要求の例を示す説明図である。
【図１３】動画表示画面に対するフレームレートの要求の例を示す説明図である。
【図１４】再生動画ファイル管理情報テーブルの例を示す説明図である。
【図１５】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１６】第２実施の形態による処理例を示すフローチャートである。
【図１７】第２実施の形態による処理例を示すフローチャートである。
【図１８】動画ファイル管理テーブルのデータ構造例を示す説明図である。
【図１９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２９】
第１の実施の形態である情報処理システムは、複数のクライアント装置１５０で同期させて動画を再生するものであって、図１の例に示すように、サーバ装置１００とクライアント装置１５０を有している。サーバ装置１００とクライアント装置１５０は通信回線を介して接続されている。サーバ装置１００は、動画送信装置としての機能を有し、クライアント装置１５０は、動画再生装置としての機能を有する。そして、クライアント装置１５０は複数ある。
【００３０】
サーバ装置１００は、動画ファイルリポジトリ１１０、帯域幅測定モジュール１１５、動画品質調整モジュール１２０、同期視聴セッション管理モジュール１２５、動画ストリーミングモジュール１３０を有している。また、これらのサーバ装置１００内の各モジュールは、それぞれ個別の情報処理装置（例えば、サーバ装置）として実現されていてもよいし、いくつかの複数のモジュールを組とした複数の情報処理装置として実現されていてもよい。
【００３１】
動画ファイルリポジトリ１１０は、動画品質調整モジュール１２０と接続されている。動画ファイルリポジトリ１１０は、動画（動画データ）を記憶する。さらに、その動画から生成されたストリーミング用動画を記憶していてもよい。
【００３２】
帯域幅測定モジュール１１５は、動画品質調整モジュール１２０、動画ストリーミングモジュール１３０、ストリーミング再生モジュール１７０と接続されている。帯域幅測定モジュール１１５は、複数のクライアント装置１５０との通信における帯域を取得する。そして、その取得した帯域に基づいて、その複数のクライアント装置１５０によって動画を同期して再生するための通信における帯域を決定する。
例えば、帯域が最低のものを選択することによって決定すること、帯域が最低のものから予め定められた値を減算すること、帯域が最低のものに予め定められた値（１未満の値）を乗算すること等がある。
また、動画ストリーミングモジュール１３０が動画を送信している間に、その動画を同期して再生する新たなクライアント装置１５０が接続された場合は、帯域幅測定モジュール１１５は、そのクライアント装置１５０との通信における帯域を取得し、取得した帯域に基づいて、その新たなクライアント装置１５０を含めた複数のクライアント装置１５０によって動画を同期して再生するための通信における帯域を決定するようにしてもよい。
【００３３】
動画品質調整モジュール１２０は、動画ファイルリポジトリ１１０、帯域幅測定モジュール１１５、同期視聴セッション管理モジュール１２５、動画ストリーミングモジュール１３０、品質調整操作受付モジュール１６５と接続されている。動画品質調整モジュール１２０は、クライアント装置１５０の品質調整操作受付モジュール１６５から動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信する。そして、帯域幅測定モジュール１１５によって決定された帯域と受信した要求に基づいて、動画のエンコードパラメータを変換する、ストリーミング用動画を生成する。なお、「動画のエンコードパラメータを変換する」とは、その動画を変換することを含む。
また、動画品質調整モジュール１２０は、動画の各フレームの画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を受信し、その受信した要求に基づいて、フレーム毎に動画のエンコードパラメータを変換するようにしてもよい。
また、動画ストリーミングモジュール１３０が動画を送信している間に、動画品質調整モジュール１２０が要求を受信した場合は、動画品質調整モジュール１２０は、未だ送信していない動画に対して、その要求に基づいて動画のエンコードパラメータを変換するようにしてもよい。
また、動画品質調整モジュール１２０は、動画を次回送信する場合に、動画品質調整モジュール１２０が要求に基づいて、その動画のエンコードパラメータを変換し得るように、受信した要求を記憶モジュールに記憶させ、帯域幅測定モジュール１１５によって決定された帯域とその記憶モジュールに記憶された要求に基づいて、動画のエンコードパラメータを変換するようにしてもよい。ここで「動画を次回送信する場合」とは、次の新しいセッションにおいて、今回の動画と同じ動画の再生指示があった場合のことである。
【００３４】
同期視聴セッション管理モジュール１２５は、動画品質調整モジュール１２０、同期視聴コマンド送受信モジュール１６０と接続されている。同期視聴セッション管理モジュール１２５は、複数のクライアント装置１５０間で同期をとりながら動画の再生を行っている場合の、その動画に対する操作者の操作を受信する。そして、その操作に関する指示情報（例えば、再生や一時停止等の操作を示す情報（コマンド、イベント等）をいう。以下、単に「操作」という）を記憶モジュールに記憶させる。
例えば、同期視聴セッション管理モジュール１２５は、どのユーザとどのユーザが何という動画を同期視聴しているかをセッション情報として管理する。加えて、セッション内で発行された同期視聴コマンドを受信し、その発行者以外のユーザが使用しているクライアント装置１５０の同期視聴コマンド送受信モジュール１６０に転送する。この機能により同期視聴を実現する。
また、クライアント装置１５０からの要求にしたがって、記憶されている操作を送信するようにしてもよい。例えば、同期視聴セッション管理モジュール１２５は、同期視聴コマンドを発生タイミング（発生時刻、動画の再生を開始してからの経過時間等）とともに記録し、それをクライアント装置１５０からの要求があると、そのクライアント装置１５０に送信する。
【００３５】
動画ストリーミングモジュール１３０は、帯域幅測定モジュール１１５、動画品質調整モジュール１２０、ストリーミング再生モジュール１７０と接続されている。動画ストリーミングモジュール１３０は、帯域幅測定モジュール１１５によって決定された帯域にしたがって、クライアント装置１５０のストリーミング再生モジュール１７０に対して、動画品質調整モジュール１２０によって変換されたストリーミング用動画を送信する。動画ストリーミングモジュール１３０は、複数のクライアント装置１５０に対して、ストリーミング用動画を送信する。例えば、動画ストリーミングモジュール１３０は、ユーザ（操作者、視聴者等）から指定された動画データに対応するストリーミング用動画が動画ファイルリポジトリ１１０にある場合は、そのストリーミング用動画を送信する。また、動画ファイルリポジトリ１１０にストリーミング用動画がない場合は、動画品質調整モジュール１２０が動画ファイルリポジトリ１１０内のオリジナル版である動画データからストリーミング用動画を生成して、その生成したストリーミング用動画を送信する。
【００３６】
クライアント装置１５０は、同期視聴コマンド送受信モジュール１６０、品質調整操作受付モジュール１６５、ストリーミング再生モジュール１７０を有している。ユーザが動画を視聴するために使用するものである。
【００３７】
同期視聴コマンド送受信モジュール１６０は、同期視聴セッション管理モジュール１２５と接続されている。同期視聴コマンド送受信モジュール１６０は、サーバ装置１００の同期視聴セッション管理モジュール１２５に記憶された操作を要求し、その要求にしたがって、サーバ装置１００の同期視聴セッション管理モジュール１２５によって送信された操作を受信する。そして、ストリーミング再生モジュール１７０を制御して、受信した操作に基づいて、動画及び操作の再現を行う。
例えば、同期視聴コマンド送受信モジュール１６０は、同期視聴セッション管理モジュール１２５から受信した記録に基づきセッションを再現する。
そして、同期視聴コマンド送受信モジュール１６０は、操作者によって動画に対する操作が行われた場合は、その操作をサーバ装置１００の同期視聴セッション管理モジュール１２５に送信する。
【００３８】
品質調整操作受付モジュール１６５は、動画品質調整モジュール１２０と接続されている。品質調整操作受付モジュール１６５は、サーバ装置１００の動画品質調整モジュール１２０に対して、操作者の操作に基づいて、他のクライアント装置１５０と同期して再生する動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信する。
また、品質調整操作受付モジュール１６５は、動画の各フレームの画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求を送信するようにしてもよい。
また、品質調整操作受付モジュール１６５は、ストリーミング再生モジュール１７０が動画を再生している間（又はストリーミング再生モジュール１７０が動画を受信している間）に、サーバ装置１００の動画品質調整モジュール１２０に対して、その動画に対する要求を送信するようにしてもよい。
【００３９】
ストリーミング再生モジュール１７０は、帯域幅測定モジュール１１５、動画ストリーミングモジュール１３０と接続されている。ストリーミング再生モジュール１７０は、サーバ装置１００の動画ストリーミングモジュール１３０によって送信された動画を受信する。そして、その受信したストリーミング用動画を再生する。このストリーミング用動画は、品質調整操作受付モジュール１６５によって送信された要求に基づいてサーバ装置１００の動画品質調整モジュール１２０によって変換された動画である。
また、ストリーミング再生モジュール１７０は、ユーザからの同期視聴コマンド操作を受け付け、同期視聴コマンド送受信モジュール１６０に通知する。
なお、ストリーミング再生モジュール１７０は、クライアント装置１５０の表示装置（液晶ディスプレイ、タッチパネル等）に動画ウィンドウを表示し、その動画ウィンドウ内に動画を再生する。
【００４０】
図２は、第１の実施の形態を実現する場合のシステム構成例を示す説明図である。
サーバ装置１００、クライアント装置１５０Ａ、クライアント装置１５０Ｂ、クライアント装置１５０Ｃは、それぞれ通信回線２００を介して接続されている。もちろんのことながら、クライアント装置１５０は、図２の例のように３つだけでなく、それ以上の数であってもよいし、２つであってもよい。
例えば、遠隔でコミュニケーションする際に、相手に正確に情報を伝えるために動画を使用することが一般的になってきた。遠く離れた場所にいるユーザどうしがある動画コンテンツを同期して視聴しながらコミュニケーション（ユーザどうしは電話やインターネットを介した電話、ＴＶ会議システムなどを使って会話する）をするというシステムがある。
動画をあるサーバからストリーミング配信するとネットワーク帯域や通信遅延の関係で画質やフレームレートを落として配信せざるをえない。そこで、事前に動画を送り、再生や一時停止などの操作（コマンド、イベント等）のみをやりとりする手法が前述の特許文献等で提案されている。
【００４１】
しかし、例えば、緊急トラブルで急いで情報共有したい場合、この方法では動画ファイルの転送に時間がかかり（特に国際間の通信などの場合）、緊急対応ができなくなってしまう恐れがある。より具体的には、海外の工場で発生したトラブルについて日本の開発センターに状況をいち早く知らせて議論したい場合などがある。本実施の形態は、このような場合にも用いられるものである。つまり、本実施の形態の用いられ方の一例として、遠隔地間で動画の同期視聴を行う際に、緊急時は低品質の動画でもよいのですぐに利用可能にし、転送が間に合う場合や後で同期視聴の模様を振り返る場合には高画質の動画を利用する。
クライアント装置１５０間で同期をとりながら動画の再生を行っていることから、各動画再生装置の操作者たちは、同時に同じ動画を視聴していることになる。したがって、例えば、同じ動画を視聴しながら、電話等のリアルタイムでコミュニケーションをとることを行っている。
クライアント装置１５０の各々は、同じ性能を有していてもよいが、異なる性能を有していてもよい。また、サーバ装置１００とクライアント装置１５０間の通信回線も同じ性能であってもよいが、異なる性能であってもよい。
【００４２】
図３から図５は、第１の実施の形態による処理例を示すフローチャートである。
まず、本実施の形態による処理の前提として、動画ファイルリポジトリ１１０に動画ファイルが保存されており、それらには本実施の形態において一意に識別し得る識別子（以下、動画ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）ともいう）が割り振られている。ユーザは、ユーザインタフェース（ＣＧＩプログラムなど）を通じて、動画ファイルリポジトリ１１０内の視聴すべき動画の動画ＩＤを検索・取得する。
例えば、動画ファイルリポジトリ１１０内に動画情報テーブル４００を記憶している。図６は、動画情報テーブル４００のデータ構造例を示す説明図である。動画情報テーブル４００は、動画ＩＤ欄４１０、動画名欄４２０、キーワード欄４３０、動画ファイル格納場所欄４４０を有している。動画ＩＤ欄４１０は、動画ＩＤを記憶している。動画名欄４２０は、その動画の名称を記憶している。キーワード欄４３０は、その動画に付されたキーワードを記憶している。動画ファイル格納場所欄４４０は、その動画が動画ファイルリポジトリ１１０内で格納されている格納場所（具値的には、ファイル名、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等）を記憶している。動画情報テーブル４００をユーザの検索指示（例えば、キーワード等の指定）に応じて検索し、該当する動画ＩＤを取得する。
【００４３】
ステップＳ３０２では、同期視聴コマンド送受信モジュール１６０が、セッションＩＤ（セッションを本実施の形態において一意に識別し得る識別子である）、再生対象である動画ＩＤを受け付ける。より具体的には、同期視聴コマンド送受信モジュール１６０は、ユーザの操作に応じて、同期視聴を行うためのクライアント装置１５０で動作するクライアントソフトが起動され、セッションＩＤとしてのセッション名（ユーザが設定する任意の名前であり、例えば、「トラブル対策ミーティング」等）と同期視聴したい動画ＩＤ（新しくセッションを作る場合であり、すでにあるセッションに参加する場合は不要である、以下同様）を受け付ける。なお、ここで、セッションとは、動画の同期視聴の処理を開始してから、終了するまでの、一連の操作、処理、通信等のことをいう。セッションを作るとは、新たに動画の同期視聴の処理を開始することをいい、セッションＩＤが付与される。そして、セッションに参加するとは、すでに動画の同期視聴の処理が行われているものに対して、そのセッションＩＤにユーザＩＤを対応させることをいう。
ステップＳ３０４では、同期視聴コマンド送受信モジュール１６０が、同期視聴セッション管理モジュール１２５に対して、ユーザＩＤ、セッションＩＤ、動画ＩＤを送信する。より具体的には、同期視聴コマンド送受信モジュール１６０は、サーバ装置１００の同期視聴セッション管理モジュール１２５に接続し、ユーザＩＤ（ユーザを本実施の形態において一意に識別し得る識別子であり、発行・管理方法等については特に問わない）、セッションＩＤ、動画ＩＤを送信する。
ステップＳ３０６では、同期視聴セッション管理モジュール１２５が、同期視聴コマンド送受信モジュール１６０から送信されてきたユーザＩＤ、セッションＩＤ、動画ＩＤを受信する。
【００４４】
ステップＳ３０８では、同期視聴セッション管理モジュール１２５が、既存のセッションＩＤであるか否かを判断し、既存の場合はステップＳ３１０へ進み、それ以外の場合はステップＳ３１２へ進む。
より具体的には、同期視聴セッション管理モジュール１２５は、セッション管理テーブル６００を保持している。これによって、セッションに参加しているユーザとセッションで視聴されている動画（のＩＤ）を対応付けて保持する。具体例として、図８は、セッション管理テーブル６００のデータ構造例を示す説明図である。セッション管理テーブル６００は、セッションＩＤ欄６１０、参加ユーザＩＤのリスト欄６２０、動画ＩＤ欄６３０、セッション開始時刻欄６４０、セッションビットレート欄６５０を有している。セッションＩＤ欄６１０は、現在視聴されている動画のセッションＩＤを記憶している。参加ユーザＩＤのリスト欄６２０は、そのセッションに参加している複数人分のユーザＩＤを記憶している。動画ＩＤ欄６３０は、そのセッションで同期視聴されている動画の動画ＩＤを記憶している。セッション開始時刻欄６４０は、そのセッションの開始時刻（年、月、日、時、分、秒を含んでいてもよく、さらに秒以下の時刻を含んでいてもよい）を記憶している。セッションビットレート欄６５０は、それぞれのユーザが利用可能な帯域（帯域幅、帯域帯、ビットレート等）の情報を記憶している。これらの算出は、ステップＳ３１０からステップＳ３３２までの処理で行う（算出されるまでは、これらの情報は空白である）。
【００４５】
ステップＳ３１０では、同期視聴セッション管理モジュール１２５が、該当するセッション管理テーブル６００にユーザＩＤを追加する。つまり、既存のセッションに参加する場合であり、セッション管理テーブル６００の参加ユーザＩＤのリスト欄６２０にユーザＩＤを追加する。
ステップＳ３１２では、同期視聴セッション管理モジュール１２５が、セッション管理テーブル６００を生成し、セッション開始時刻をセッション管理テーブル６００のセッション開始時刻欄６４０に記録する。つまり、新しいセッションを作る場合であり、セッション管理テーブル６００のインスタンスを新たに作り、セッション管理テーブル６００のセッション開始時刻欄６４０にそのときの時刻であるセッション開始時刻を記録する。
【００４６】
ステップＳ３１４では、同期視聴コマンド送受信モジュール１６０が、セッション参加成功か否かを判断し、成功の場合はステップＳ３１６へ進み、それ以外の場合はステップＳ３５６へ進む。なお、同期視聴セッション管理モジュール１２５からセッション参加成功か否かの通知（セッション管理テーブル６００のインスタンスが作成されたか、すでにあるセッション管理テーブル６００内にユーザＩＤを記憶させることができた場合は、成功であり、それ以外の場合は成功ではない。）を、同期視聴コマンド送受信モジュール１６０が受け、判断を行う。
ステップＳ３５６では、同期視聴コマンド送受信モジュール１６０が、セッションに参加できない旨をユーザに提示する。その後、終了する（ステップＳ３９９）。
【００４７】
ステップＳ３１６では、同期視聴コマンド送受信モジュール１６０が、ストリーミング再生モジュール１７０に対して、セッションＩＤを通知する。
ステップＳ３１８では、ストリーミング再生モジュール１７０が、使用帯域幅を指定する。なお、ステップＳ３１８の処理は行わない場合もある。例えば、オプションとして使用する帯域幅をプルダウンメニュー等で１２８ｋ、２５６ｋ、５１２ｋ、１Ｍｂｐｓなどを、操作者の操作によって選択し得るようにしてもよい。
ステップＳ３２０では、ストリーミング再生モジュール１７０が、動画ストリーミングモジュール１３０に対して、セッションＩＤ、使用帯域幅を通知する。もちろんのことながら、ステップＳ３１８で使用帯域幅が指定されていない場合は、使用帯域幅は通知されないことになる。
【００４８】
ステップＳ３２２では、帯域幅測定モジュール１１５が、使用帯域幅は指定されているか否かを判断し、指定されている場合はステップＳ３３０へ進み、それ以外の場合はステップＳ３２４へ進む。
ステップＳ３２４では、帯域幅測定モジュール１１５が、ユーザプロファイルに使用帯域幅は設定されているか否かを判断し、設定されている場合はステップＳ３２６へ進み、それ以外の場合はステップＳ３２８へ進む。帯域幅測定モジュール１１５は、ユーザプロファイル情報を保持し、そこに帯域が記憶されているようにしてもよい。図７は、ユーザプロファイルテーブル５００のデータ構造例を示す説明図である。ユーザプロファイルテーブル５００は、ユーザＩＤ欄５１０、ビットレート欄５２０を有している。ユーザＩＤ欄５１０は、ユーザを本実施の形態において一意に識別し得る情報であるユーザＩＤを記憶している。ビットレート欄５２０は、そのユーザが利用できる帯域を記憶している。また、ユーザＩＤ欄５１０は、ユーザＩＤではなく、クライアント装置１５０を本実施の形態において一意に識別し得る情報であるクライアント装置ＩＤであってもよい。その場合、ビットレート欄５２０は、そのクライアント装置との通信で利用できる帯域を記憶している。
ステップＳ３２６では、帯域幅測定モジュール１１５が、ユーザプロファイルからユーザＩＤに対応する使用帯域幅を取り出す。
【００４９】
ステップＳ３２８では、帯域幅測定モジュール１１５が、帯域幅を測定する。ユーザからの明示的な指定がない場合であって、ユーザプロファイルにも使用帯域幅が記憶されていない場合は、帯域幅測定モジュール１１５が帯域幅の測定を行う。その方法は、ＴＶ会議システムやストリーミングシステムで一般的に利用されている方法を使うようにすればよい。例えば、サーバ・クライアント間で予め取り決めた時間間隔で、あるサイズのパケットをサーバが送信し、サーバ又はクライアントが実際に受信した間隔から帯域幅を推測する等がある。
ステップＳ３３０では、帯域幅測定モジュール１１５が、同期視聴セッション管理モジュール１２５にユーザの使用帯域幅を通知する。
ステップＳ３３２では、同期視聴セッション管理モジュール１２５が、そのユーザの使用帯域幅を記録する。
ステップＳ３３４では、帯域幅測定モジュール１１５が、ユーザの使用帯域幅から、そのセッションにおける帯域幅を設定する。例えば、前述のように、複数のユーザの使用帯域幅のうち帯域が最低のものを選択することによって設定してもよいし、その使用帯域幅のうち帯域が最低のものから予め定められた値を減算すること、帯域が最低のものに予め定められた値（１未満の値）を乗算すること等がある。
【００５０】
ステップＳ３３６では、動画ストリーミングモジュール１３０が、動画品質調整モジュール１２０に対して、セッションＩＤを通知する。
ステップＳ３３８では、動画品質調整モジュール１２０が、同期視聴セッション管理モジュール１２５から動画ＩＤと帯域幅を取得する。
ステップＳ３４０では、動画品質調整モジュール１２０が、動画ファイルリポジトリ１１０から動画ＩＤに対応する動画を取得する。
【００５１】
ステップＳ３４２では、動画品質調整モジュール１２０が、その動画を帯域幅に合わせた再生用ファイル（ストリーミング用動画）に変換し、動画ストリーミングモジュール１３０に渡す。ストリーミング用のフォーマット等の必要な変換等を行う。フォーマットの変換としては、例えば、データ量を削減するために低い画質にする、解像度を劣化させる、フレームレートを劣化させる処理がある。
また、動画品質調整モジュール１２０は、再生動画ファイル管理情報テーブル７００を記憶する。図９は、再生動画ファイル管理情報テーブル７００のデータ構造例を示す説明図である。再生動画ファイル管理情報テーブル７００は、セッションＩＤ欄７１０、オリジナル動画ファイル欄７２０、フレーム欄７３０、再生動画ファイル欄７４０を有している。セッションＩＤ欄７１０は、セッションＩＤを記憶している。オリジナル動画ファイル欄７２０は、そのセッションにおいて再生する対象の動画（オリジナル版）のファイル名を記憶している。フレーム欄７３０は、動画内のフレーム番号を記憶している。再生動画ファイル欄７４０は、ストリーミング用の動画のファイル名を記憶している。フレーム欄７３０と再生動画ファイル欄７４０によって、オリジナル版の動画内のフレーム欄７３０のフレームの動画に対して変換を施して、再生動画ファイル欄７４０のストリーミング用動画が生成されたことが示されている。つまり、セッションＩＤ欄７１０のセッションＩＤにおいて、フレーム欄７３０の何フレーム目から何フレーム目までは、再生動画ファイル欄７４０内の再生動画ファイルをストリーミングするということを記録していることになる。この図９に示す例は、初期状態を示している。この後、ユーザからの要求に沿って、フレーム毎の動画が変換されることになる。これについては、図１４の例を用いて後述する。
【００５２】
ステップＳ３４４では、動画ストリーミングモジュール１３０が、ストリーミング再生モジュール１７０に対して、再生用ファイルを送信する。
ステップＳ３４６では、ストリーミング再生モジュール１７０が、動画ストリーミングモジュール１３０から送信されてきた再生用ファイルを受信する。
ステップＳ３４８では、ストリーミング再生モジュール１７０が、再生用ファイルを再生する。
ステップＳ３５０では、終了操作があったか否かを判断し、あった場合はステップＳ３５２へ進み、それ以外の場合はステップＳ３４４からの処理に戻る。例えば、ユーザの操作として、ストリーミング再生モジュール１７０が表示している動画ウィンドウを閉じるなどの操作があった場合等が該当する。
ステップＳ３５２では、同期視聴コマンド送受信モジュール１６０が、同期視聴セッション管理モジュール１２５に対して、セッションからの脱退を通知する。
ステップＳ３５４では、同期視聴セッション管理モジュール１２５が、脱退の通知（ユーザＩＤを含む）を受信し、セッション管理テーブル６００から脱退した操作者のユーザＩＤを削除する。
【００５３】
図１０は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、ストリーミングが開始され、ストリーミング用動画を再生している間に、新たなユーザがそのセッションに参加する場合の処理例を示すものである。具体的には、図３〜５の例に示すフローチャート内のステップＳ３４４〜Ｓ３４８の処理において、新しいユーザが加わった場合は、図１０の例に示すフローチャートによる処理を行う。
ステップＳ８０２では、動画ストリーミングモジュール１３０が、セッションＩＤに該当する再生ファイルを動画品質調整モジュール１２０から受け取り、ストリーミングを開始する。具体的には、再生動画ファイル管理情報テーブル７００にしたがった再生ファイルの送信を行う。
ステップＳ８０４では、動画ストリーミングモジュール１３０が、フレームが最後まで再生されるか、新しいユーザからの接続が来るか、セッションが終了する（セッションの終了とはセッションに参加しているユーザが一人もいなくなった場合を意味する）までストリーミングを続ける。
ステップＳ８０６では、動画ストリーミングモジュール１３０が、対処とするフレームの送信が終わったか否かを判断し、終わった場合はステップＳ８０８へ進み、それ以外の場合はステップＳ８１０へ進む。
【００５４】
ステップＳ８０８では、動画ストリーミングモジュール１３０が、動画品質調整モジュール１２０から該当するセッションＩＤの次のフレームから始まる再生動画ファイルを検索し、ストリーミングを開始し、ステップＳ８０４からの処理に戻る。具体的には、再生動画ファイル管理情報テーブル７００にしたがった次の再生ファイルの送信を行う。
ステップＳ８１０では、同期視聴セッション管理モジュール１２５が、新しいユーザからの接続が来たか否かを判断し、来た場合はステップＳ８１２へ進み、それ以外の場合はステップＳ８１４へ進む。
ステップＳ８１２では、同期視聴セッション管理モジュール１２５が、新しいエントリを作成し、使用帯域幅を変更する必要があるか否かを判断し、ある場合はステップＳ８１６へ進み、それ以外の場合はステップＳ８１４へ進む。具体的には、セッション管理テーブル６００のセッションビットレート欄６５０内の帯域で、その新たなユーザのクライアント装置１５０との通信が可能であるか否かを判断する。つまり、その新たなユーザのクライアント装置１５０との通信の帯域がセッション管理テーブル６００のセッションビットレート欄６５０内の帯域以上であれば、そのままで通信可能であると判断することになる。通信可能であると判断した場合には、セッション管理テーブル６００の参加ユーザＩＤのリスト欄６２０に、新たなユーザＩＤを追加する。
【００５５】
ステップＳ８１４では、動画ストリーミングモジュール１３０が、セッションが終わったか否かを判断し、終わった場合は処理を終了し（ステップＳ８９９）、それ以外の場合はステップＳ８０４からの処理に戻る。
ステップＳ８１６では、動画ストリーミングモジュール１３０が、現在のストリーミングを中断し、使用帯域幅を変更し、新しいエントリに該当するファイルのストリーミングを開始し、ステップＳ８０４からの処理に戻る。ここでの使用帯域幅の変更は、前述のステップＳ３３４と同等の処理を行えばよい。新しいエントリを作成するとは、セッション管理テーブル６００に新たな行を追加し、セッション管理テーブル６００の参加ユーザＩＤのリスト欄６２０には、新たなユーザＩＤを追加し、セッション管理テーブル６００のセッションビットレート欄６５０には、変更された使用帯域幅を記憶させることになる。
【００５６】
クライアント装置１５０の表示装置への表示例を示す。図１１は、動画表示画面９００の例を示す説明図である。動画表示画面９００は、動画プレイヤウィンドウ９１０、フレームリスト９４０、品質調整領域９３０が表示されている。ストリーミング再生モジュール１７０が、動画プレイヤウィンドウ９１０、フレームリスト９４０を表示する。品質調整操作受付モジュール１６５が、品質調整領域９３０を表示する。動画プレイヤウィンドウ９１０には、ストリーミング用動画を再生する。また、ユーザの操作によって、シークバー９２０上のシークポインタ９２５が移動させられると、その位置に合わせた動画を再生する。この他に、再生、一時停止、音量調整等の操作のためのボタンを表示してもよい。また、フレームリスト９４０には、フレーム毎の代表的な画像（例えば、そのフレームにおける最初の画像）を表示する。この各フレームの位置は、品質調整領域９３０内のフレームレート調整領域９３２、解像度調整領域９３４、画質調整領域９３６による調整の目安としての位置になる。
品質調整領域９３０は、フレームレート調整領域９３２、解像度調整領域９３４、画質調整領域９３６を有している。これは、ユーザの操作によって変更させられるものである。
【００５７】
例えば、ユーザはフレーム１から３までは高画質で見たい（つまり、フレームレートを劣化させる）場合、マウスカーソル１０００を用いてフレームレート調整領域９３２を操作し、フレーム１から３においてはフレームレートを劣化させるように調整して、図１２の例に示すフレームレート調整領域９３２の状態から、図１３の例に示すフレームレート調整領域９３２の状態にすることになる。
品質調整操作受付モジュール１６５は、ユーザの操作を受け付けると、何フレーム目から何フレーム目までどの品質を劣化させるか等の要求を、サーバ装置１００の動画品質調整モジュール１２０に通知する。
動画品質調整モジュール１２０は、その通知の要求に応じて、オリジナル版の動画ファイルから該当フレームを切り出し、その要求にしたがった変換を施して、新しい再生用動画ファイルを作成する。つまり、その作成時にはユーザが指定した品質を劣化させるパラメータを使うことになる。もちろんのことながら、動画ストリーミングモジュール１３０が未だ送信していないフレームの動画に対して、変換を施すことになる。図１２の例から図１３の例への調整は、未だ送信が開始されていない場合、又は、すでに動画の送信は終了したが、２回目以降の送信が行われる場合であって、未だその２回目以降の送信が行われていない場合等が該当する。
そして、その該当するフレームの再生時に、変換を施した再生用動画ファイルをストリーミングするようにする。もちろんのことながら、動画ストリーミングモジュール１３０は、現在送信しているフレームを把握しているので、変換を施した再生用動画ファイルのフレームになったら、その再生用動画ファイルを送信すればよい。また、再生動画ファイル管理情報テーブル７００を更新する。例えば、図９に例示の再生動画ファイル管理情報テーブル７００は、図１４に例示の再生動画ファイル管理情報テーブル７００となる。具体的には、この再生動画ファイル管理情報テーブル７００に沿って、動画ストリーミングモジュール１３０が送信することになる。
【００５８】
図１１〜１４の例を用いて説明した処理は、図１０の例に示すフローチャートに従う処理を開始する前に行うこと、つまり、図５の例に示すフローチャートのステップＳ３４２までに終了していればよい。又は、図１０の例に示すフローチャートにおいて、例えば、ステップＳ８１０でＮｏの判断をした後であってもステップＳ８１４の処理を開始する前に行うようにしてもよい。
【００５９】
動画品質調整モジュール１２０が記憶する再生動画ファイル管理情報テーブル７００は、このような品質調整操作受付モジュール１６５からの要求があると、セッション中に更新されていくことになる。
そして、セッション終了後も、この再生動画ファイル管理情報テーブル７００のデータは保持され、別の機会（次に同じ動画に対しての同期視聴セッションが発生した場合）にクライアント装置１５０がサーバ装置１００に接続したとき、セッションＩＤを受け付けると、保持されている再生動画ファイル管理情報テーブル７００に基づいてストリーミングがされる。前述の例に即して説明すると、品質調整操作受付モジュール１６５による調整の操作が行われていなくても、フレーム１〜３はＭｏｖｉｅ−１−２が再生され、フレーム４〜６はＭｏｖｉｅ−１−１が再生されることになる。
【００６０】
ユーザが調整できる品質としては以下の通りである。
（１）フレームレート  フレームレートを下げることで、解像度と画質を保つこととなる。
（２）解像度（画素数）  解像度を下げることで、フレームレートと画質を保つこととなる。
（３）画質  画質を下げることで、フレームレートと解像度を保つこととなる。
（４）これら２つ以上の組み合わせ
【００６１】
図１５は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
第２の実施の形態である情報処理システムは、複数のクライアント装置１５０で同期させて動画を再生するものであって、図１５の例に示すように、サーバ装置１００とクライアント装置１５０を有している。なお、第１の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。
【００６２】
サーバ装置１００は、動画ファイルリポジトリ１１０、帯域幅測定モジュール１１５、動画品質調整モジュール１２０、同期視聴セッション管理モジュール１２５、動画ストリーミングモジュール１３０、動画ファイル転送モジュール１３１４を有している。
【００６３】
動画ファイルリポジトリ１１０は、動画品質調整モジュール１２０、動画ファイル転送モジュール１３１４と接続されている。動画ファイルリポジトリ１１０は、動画（第２の動画）を記憶する。さらに、その動画から生成されたストリーミング用動画（第１の動画）を記憶していてもよい。なお、ストリーミング用動画はオリジナル版の動画（第２の動画）よりも低画質のものである。例えば、解像度を下げる、フレームレートの調整、解像度の調整、圧縮率の調整等を行ったものである。つまり、前述の第１の実施の形態における、帯域幅測定モジュール１１５によって決定された帯域と動画に対する画質、解像度、フレームレートのいずれか１つ又はこれらの組み合わせに対する要求に基づいて、動画のエンコードパラメータを変換することである。
例えば、ここでいう高画質や低画質には、次のようなものが含まれる。
（１）フレームレートを調整する場合は、予め定められた基準と比べてフレームレートを高いものを高画質といい、予め定められた基準に対してフレームレートを落としたものを低画質という。
（２）また、解像度を調整する場合は、予め定められた基準と比べて解像度が高いものを高画質といい、予め定められた基準に対して解像度を落としたものを低画質という。
（３）また、非可逆圧縮方法を用いてデータ圧縮率を調整する場合は、予め定められた基準と比べて圧縮率が低いものを高画質といい、予め定められた基準に対して圧縮率を高めたものを低画質という。
【００６４】
動画ファイル転送モジュール１３１４は、動画ファイルリポジトリ１１０、動画ファイル受信モジュール１３６４と接続されている。動画ファイル転送モジュール１３１４は、動画ファイルリポジトリ１１０に記憶されているオリジナル版の動画を、複数のクライアント装置１５０の動画ファイル受信モジュール１３６４に対して送信する。ここで、送信するオリジナル版の動画とは、動画ストリーミングモジュール１３０が送信しているストリーミング用動画のオリジナル版の動画である。同じクライアント装置１５０に対して、動画ストリーミングモジュール１３０によるストリーミング用動画の送信とともにオリジナル版の動画を送信することになる。つまり、サーバ装置１００からは、クライアント装置１５０に対して、ストリーミング用動画を送信して、残りの通信帯域の一部を利用して動画（オリジナル版）を送信することになる期間がある。例えば、ストリーミング用動画は、複数回再生したり（つまり、複数回の送受信が行われることを意味する）、再生途中で操作者の操作によって再生中止、停止、スロー再生等が行われることがある。したがって、ストリーミング用動画を視聴している間に、高画質の動画を受信し終えることもある。また、前述の帯域の一部をオリジナル版の動画を送信するのに用いてもよい。その場合は、ストリーミング用動画の帯域が、その分抑えられることになる。
動画ファイル転送モジュール１３１４は、動画ストリーミングモジュール１３０が送信するストリーミング用動画よりも高画質の動画（オリジナル版）を送信することになる。
【００６５】
クライアント装置１５０は、同期視聴コマンド送受信モジュール１６０、品質調整操作受付モジュール１６５、ストリーミング再生モジュール１７０、動画ファイル受信モジュール１３６４、動画ファイル蓄積モジュール１３６６を有している。
【００６６】
動画ファイル受信モジュール１３６４は、ストリーミング再生モジュール１７０、動画ファイル転送モジュール１３１４、動画ファイル蓄積モジュール１３６６と接続されている。動画ファイル受信モジュール１３６４は、サーバ装置１００の動画ファイル転送モジュール１３１４によって送信されたオリジナル版の動画（現在再生しているストリーミング用動画のオリジナル版の動画、第２の動画）を受信する。動画ファイル受信モジュール１３６４が受信する動画は、ストリーミング再生モジュール１７０が受信するストリーミング用動画のオリジナル版である。したがって、前述の通り、動画ファイル受信モジュール１３６４が受信する動画は、ストリーミング再生モジュール１７０が受信する動画よりも高画質である。そして、動画ファイル受信モジュール１３６４は、受信が完了したら、ストリーミング再生モジュール１７０に受信の完了を通知する。
動画ファイル蓄積モジュール１３６６は、動画ファイル受信モジュール１３６４と接続されている。動画ファイル蓄積モジュール１３６６は、動画ファイル受信モジュール１３６４によって受信された動画（オリジナル版）を記憶する。
【００６７】
ストリーミング再生モジュール１７０は、帯域幅測定モジュール１１５、動画ストリーミングモジュール１３０、動画ファイル受信モジュール１３６４と接続されている。ストリーミング再生モジュール１７０は、第１の実施の形態におけるストリーミング再生モジュール１７０による処理に加えて、ストリーミング再生モジュール１７０によって受信されたストリーミング用動画を再生している間に、動画ファイル受信モジュール１３６４による第２の動画の受信が終了したことを検知した場合は、そのストリーミング用動画の再生を中止し、動画ファイル蓄積モジュール１３６６によって記憶されているオリジナル動画を再生する。つまり、ストリーミング再生モジュール１７０は、ストリーミング用動画又は動画ファイル蓄積モジュール１３６６によって記憶されている動画のいずれかを再生する。動画ファイル蓄積モジュール１３６６によって記憶されている動画（オリジナル版）を再生する場合は、ストリーミング用動画の再生を中止した場面から（現在の再生フレームにシークして）、その動画（オリジナル版）を再生する。
また、ストリーミング再生モジュール１７０は、同期視聴コマンド送受信モジュール１６０の制御にしたがって、同期視聴コマンド送受信モジュール１６０によって受信された操作に基づいて、動画及び操作の再現を行うようにしてもよい。その動画を再現する場合にあって、動画ファイル蓄積モジュール１３６６によってその動画が記憶されているか否かを判断し、その動画が記憶されていると判断した場合は、その動画を再生する。
第２の実施の形態を実現する場合も、第１の実施の形態と同様に、図２の例に示すシステム構成例のようになる。
【００６８】
図１６は、第２実施の形態による処理例を示すフローチャートである。この処理は、図５の例に示したステップＳ３４４以降であって、ステップＳ３５０の判断でＮＯの間に、行われる。
ステップＳ１４０２では、同期視聴セッション管理モジュール１２５が、動画ファイル転送モジュール１３１４に対して、動画ＩＤを送信する。
ステップＳ１４０４では、動画ファイル転送モジュール１３１４が、クライアント装置１５０の動画ファイル受信モジュール１３６４から送信されてきた動画ＩＤを受信して、その動画ＩＤに対応する動画ファイルを動画ファイルリポジトリ１１０から取り出す。
ステップＳ１４０６では、動画ファイル転送モジュール１３１４が、クライアント装置１５０の動画ファイル受信モジュール１３６４に対して、動画ファイルを送信する。
【００６９】
また、ステップＳ１４０６に対応して、クライアント装置１５０の動画ファイル受信モジュール１３６４が、その動画ファイルを動画ファイル蓄積モジュール１３６６に記憶させる。そして、動画ファイルの受信が完了したら、ストリーミング再生モジュール１７０に受信先のファイルパス名とともに通知する。動画ＩＤと取得した動画ファイルのパス名の対応付けを動画ファイル管理テーブル１６００に記憶（ファイルなどに保存）する。図１８は、動画ファイル管理テーブル１６００のデータ構造例を示す説明図である。動画ファイル管理テーブル１６００は、動画ＩＤ欄１６１０、動画ファイル格納場所欄１６２０を有している。動画ＩＤ欄１６１０は、受信が完了した動画の動画ＩＤを記憶している。動画ファイル格納場所欄１６２０は、その動画の格納場所（動画ファイルのパス名）を記憶している。
そして、ストリーミング再生モジュール１７０は、動画ファイル受信モジュール１３６４からの動画受信完了の通知を受け取ったら、通知されるファイルパスに存在する動画ファイルをオープンし、それまで再生していたストリーミング用動画の現在フレームまでシークし、再生を続行する。この処理については、図１７の例に示すフローチャートを用いて詳述する。
【００７０】
図１７は、第２実施の形態（クライアント装置１５０）による処理例を示すフローチャートである。
ステップＳ１５０２では、ストリーミング再生モジュール１７０が、ストリーミング受信を続ける。
ステップＳ１５０４では、動画ファイル受信モジュール１３６４が、動画ファイルの受信が完了したか否かを判断し、完了した場合はステップＳ１５０６へ進み、それ以外の場合はステップＳ１５０２からの処理を行う。
【００７１】
ステップＳ１５０６では、ストリーミング再生モジュール１７０が、現在フレーム位置、再生状態（一時停止中か再生中か）、マウスポインタの位置を一時的に記憶する。
ステップＳ１５０８では、ストリーミング再生モジュール１７０が、受信先のファイルパスにある動画ファイルをオープンし、ストリーミング接続を閉じて、動画ウィンドウのオープンした動画ファイルに差し替える。
ステップＳ１５１０では、ストリーミング再生モジュール１７０が、フレーム位置を一時記憶したフレーム位置に合わせる。
【００７２】
ステップＳ１５１２では、ストリーミング再生モジュール１７０が、マウスポインタの位置を一時記憶した位置に合わせる。
ステップＳ１５１４では、ストリーミング再生モジュール１７０が、一時記憶した再生状態を判断し、一時停止中の場合はステップＳ１５１６へ進み、再生中の場合はステップＳ１５１８へ進む。
ステップＳ１５１６では、ストリーミング再生モジュール１７０が、動画を一時停止させる。
ステップＳ１５１８では、ストリーミング再生モジュール１７０が、動画を再生させる。
この後は、ストリーミング用動画の再生ではなく、動画（オリジナル版）の再生によって、図５に例示のフローチャート内のステップＳ３５０以下の処理を行うこととなる。
【００７３】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１９に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１９０１を用い、記憶装置としてＲＡＭ１９０２、ＲＯＭ１９０３、ＨＤ１９０４を用いている。ＨＤ１９０４として、例えばハードディスクを用いてもよい。帯域幅測定モジュール１１５、動画品質調整モジュール１２０、同期視聴セッション管理モジュール１２５、動画ストリーミングモジュール１３０、同期視聴コマンド送受信モジュール１６０、品質調整操作受付モジュール１６５、ストリーミング再生モジュール１７０、動画ファイル転送モジュール１３１４、動画ファイル受信モジュール１３６４等のプログラムを実行するＣＰＵ１９０１と、そのプログラムやデータを記憶するＲＡＭ１９０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１９０３と、補助記憶装置であるＨＤ１９０４と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置１９０６と、ＣＲＴ、液晶ディスプレイ等の出力装置１９０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１９０７、そして、それらをつないでデータのやりとりをするためのバス１９０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００７４】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１９に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
なお、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【００７５】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７６】
１００…サーバ装置
１１０…動画ファイルリポジトリ
１１５…帯域幅測定モジュール
１２０…動画品質調整モジュール
１２５…同期視聴セッション管理モジュール
１３０…動画ストリーミングモジュール
１５０…クライアント装置
１６０…同期視聴コマンド送受信モジュール
１６５…品質調整操作受付モジュール
１７０…ストリーミング再生モジュール
２００…通信回線
１３１４…動画ファイル転送モジュール
１３６４…動画ファイル受信モジュール
１３６６…動画ファイル蓄積モジュール
【図１】
0005899738.tif 000002
【図２】
0005899738.tif 000003
【図３】
0005899738.tif 000004
【図４】
0005899738.tif 000005
【図５】
0005899738.tif 000006
【図６】
0005899738.tif 000007
【図７】
0005899738.tif 000008
【図８】
0005899738.tif 000009
【図９】
0005899738.tif 000010
【図１０】
0005899738.tif 000011
【図１１】
0005899738.tif 000012
【図１２】
0005899738.tif 000013
【図１３】
0005899738.tif 000014
【図１４】
0005899738.tif 000015
【図１５】
0005899738.tif 000016
【図１６】
0005899738.tif 000017
【図１７】
0005899738.tif 000018
【図１８】
0005899738.tif 000019
【図１９】
0005899738.tif 000020