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