情報処理システム、情報処理装置及び情報処理プログラム
【課題】複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生するようにした情報処理装置を提供する。
【解決手段】情報処理装置の第1の受信手段は、動画送信装置によって送信された第1の動画を受信し、第2の受信手段は、前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信し、動画記憶手段は、前記第2の受信手段によって受信された第2の動画を記憶し、再生手段は、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生し、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する。
【解決手段】情報処理装置の第1の受信手段は、動画送信装置によって送信された第1の動画を受信し、第2の受信手段は、前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信し、動画記憶手段は、前記第2の受信手段によって受信された第2の動画を記憶し、再生手段は、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生し、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
複数の動画再生装置で同期させる動画の再生技術がある。
これに関連する技術として、例えば、特許文献1には、接続先と放送番組の記録及び/又は再生を同期させ、記録及び/又は再生する放送番組を接続先から指定可能にすることを課題とし、接続先と放送番組の記録及び/又は再生を同期させ、同期要求の送受によって、同一の放送番組の記録、再生に時間的な制約を受けることなく任意の時間に行える等、接続先と放送番組の同時再生を通話とともに行え、斯かる構成により、接続先と放送番組の記録及び/又は再生を同期させることができ、記録及び/又は再生をする放送番組を接続先から指定可能にすることができ、通信機能、放送受信機能及び放送番組の記録及び/又は再生の機能を備える機器の利便性を高めることが開示されている。
【0003】
また、例えば、特許文献2には、ネットワーク上の複数の機器に対して同一のコンテンツが同時に配信可能な状態において、複数の機器についてコンテンツの再生動作を同期させることを課題とし、コンテンツサーバから複数台のコンテンツ再生装置へ同一のコンテンツを同時に配信可能な状態において、1台のコンテンツ再生装置に対してユーザの操作があったとき、ユーザの操作を受けたコンテンツ再生装置はコンテンツサーバへコンテンツ再生の状態変化に関するイベントの通知を発行し、コンテンツサーバはイベントの通知を受けたときそのコンテンツ再生装置以外のコンテンツ再生装置を制御し、前記あるコンテンツについてその再生状態を前記ユーザの操作を受けたコンテンツ再生装置の再生状態に一致させることが開示されている。
【0004】
また、例えば、特許文献3には、動画像を複数地点で同時にリアルタイムのレスポンスで扱うことができる協調作業支援方法及びシステム、並びに協調作業用クライアント端末装置及び協調作業コーディネータ並びに記録媒体を提供することを課題とし、複数のクライアント端末装置及び協調作業コーディネータをネットワークに接続し、かつ、協調作業で用いる動画像ファイルを予め各クライアント端末装置に用意しておき、各クライアント端末装置で動画像ファイルをオープンし、各クライアント端末装置で発生したイベント情報を協調作業コーディネータを介して他のクライアント端末装置に伝達し、各クライアント端末装置で動画像を含む画面の更新を行うようにしたことが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−206414号公報
【特許文献2】特開2009−253889号公報
【特許文献3】特開2002−116996号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生するようにした情報処理システム、情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段を備える動画送信装置と、前記動画送信装置の第1の送信手段によって送信された第1の動画を受信する第1の受信手段と、前記動画送信装置の第2の送信手段によって送信された第2の動画を受信する第2の受信手段と、前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段を備え、前記動画送信装置と通信回線を介して接続されている動画再生装置を具備し、前記動画再生装置の前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生することを特徴とする情報処理システムである。
【0008】
請求項2の発明は、複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段を具備することを特徴とする情報処理装置である。
【0009】
請求項3の発明は、動画送信装置によって送信された第1の動画を受信する第1の受信手段と、前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段を具備し、前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生することを特徴とする情報処理装置である。
【0010】
請求項4の発明は、動画再生装置間で同期をとりながら動画の再生を行っている場合の、該動画に対する操作者の操作を受信する操作受信手段と、前記操作受信手段によって受信された操作を記憶する操作記憶手段と、前記動画再生装置からの要求にしたがって、前記操作記憶手段に記憶されている操作を送信する第3の送信手段を具備することを特徴とする請求項2に記載の情報処理装置である。
【0011】
請求項5の発明は、動画に対する操作を行った場合は、該操作を動画送信装置に送信する操作送信手段と、前記動画送信装置に記憶された操作を要求する要求手段と、前記要求手段による要求にしたがって、前記動画送信装置によって送信された操作を受信する操作受信手段を具備し、前記動画再生装置は、前記操作受信手段によって受信された操作に基づいて、動画及び操作の再現を行うことを特徴とする請求項3に記載の情報処理装置である。
【0012】
請求項6の発明は、前記動画再生装置は、動画を再現する場合にあって、前記動画記憶手段によって該動画が記憶されているか否かを判断し、該動画が記憶されていると判断した場合は、該動画を再生することを特徴とする請求項5に記載の情報処理装置である。
【0013】
請求項7の発明は、前記再生手段は、前記動画記憶手段によって記憶されている第2の動画を再生する場合は、前記第1の動画の再生を中止した場面から該第2の動画を再生することを特徴とする請求項3に記載の情報処理装置である。
【0014】
請求項8の発明は、コンピュータを、複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段として機能させるための情報処理プログラムである。
【0015】
請求項9の発明は、コンピュータを、動画送信装置によって送信された第1の動画を受信する第1の受信手段と、前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段として機能させ、前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生することを特徴とする情報処理プログラムである。
【発明の効果】
【0016】
請求項1の情報処理システムによれば、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【0017】
請求項2の情報処理装置によれば、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生することができるように処理を行うことができる。
【0018】
請求項3の情報処理装置によれば、複数の情報処理装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の情報処理装置では、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【0019】
請求項4の情報処理装置によれば、複数の動画再生装置において同期して再生していた際の操作を、その後に動画再生及び操作の再現を行うことができるように処理を行うことができる。
【0020】
請求項5の情報処理装置によれば、動画及び操作の再現を行うことができる。
【0021】
請求項6の情報処理装置によれば、動画を再現する場合にあって、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【0022】
請求項7の情報処理装置によれば、第1の動画を再生している状態から第2の動画を再生する場合に、第2の動画の最初から再生されてしまうことを防止することができる。
【0023】
請求項8の情報処理プログラムによれば、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生することができるように処理を行うことができる。
【0024】
請求項9の情報処理プログラムによれば、複数の情報処理装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の情報処理装置では、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【図面の簡単な説明】
【0025】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態を実現する場合のシステム構成例を示す説明図である。
【図3】本実施の形態による処理例を示すフローチャートである。
【図4】本実施の形態による処理例を示すフローチャートである。
【図5】本実施の形態による処理例を示すフローチャートである。
【図6】動画情報テーブルのデータ構造例を示す説明図である。
【図7】セッション管理テーブルのデータ構造例を示す説明図である。
【図8】同期視聴セッション管理テーブルのデータ構造例を示す説明図である。
【図9】本実施の形態による処理例を示すフローチャートである。
【図10】動画ファイル管理テーブルのデータ構造例を示す説明図である。
【図11】本実施の形態による処理例を示すフローチャートである。
【図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0026】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0027】
本実施の形態である情報処理システムは、複数の装置で同期させて動画を再生するものであって、図1の例に示すように、サーバ装置100とクライアント装置150を有している。サーバ装置100とクライアント装置150は通信回線を介して接続されている。サーバ装置100は、動画送信装置としての機能を有し、クライアント装置150は、動画再生装置としての機能を有する。そして、クライアント装置150は複数ある。
【0028】
サーバ装置100は、動画ファイルリポジトリ110、ストリーミングモジュール112、動画ファイル転送モジュール114、同期視聴セッション記録モジュール120、同期視聴セッション管理モジュール122を有している。また、これらのサーバ装置100内の各モジュールは、それぞれ個別の情報処理装置(例えば、サーバ装置)として実現されていてもよいし、いくつかの複数のモジュールを組とした複数の情報処理装置として実現されていてもよい。
【0029】
動画ファイルリポジトリ110は、ストリーミングモジュール112、動画ファイル転送モジュール114と接続されている。動画ファイルリポジトリ110は、動画(第2の動画)を記憶する。さらに、その動画から生成されたストリーミング用動画(第1の動画)を記憶していてもよい。なお、ストリーミング用動画はオリジナル版の動画(第2の動画)よりも低画質のものである。例えば、フレームレートの調整、解像度の調整、圧縮率の調整等を行ったものである。
例えば、ここでいう高画質や低画質には、次のようなものが含まれる。
(1)フレームレートを調整する場合は、予め定められた基準と比べてフレームレートが高いものを高画質といい、予め定められた基準に対してフレームレートを落としたものを低画質という。
(2)また、解像度を調整する場合は、予め定められた基準と比べて解像度が高いものを高画質といい、予め定められた基準に対して解像度を落としたものを低画質という。
(3)また、非可逆圧縮方法を用いてデータ圧縮率を調整する場合は、予め定められた基準と比べて圧縮率が低いものを高画質といい、予め定められた基準に対して圧縮率を高めたものを低画質という。
なお、一般的に、ストリーミング用動画とは、受信を行いながら、その動画を再生することにより、ユーザの待ち時間を短縮しようとするものである。
【0030】
ストリーミングモジュール112は、動画ファイルリポジトリ110、ストリーミング受信モジュール162と接続されている。ストリーミングモジュール112は、複数のクライアント装置150に対して、ストリーミング用動画を送信する。例えば、ストリーミングモジュール112は、ユーザ(操作者、視聴者等)から指定された動画データに対応するストリーミング用動画が動画ファイルリポジトリ110にある場合は、そのストリーミング用動画を送信する。また、動画ファイルリポジトリ110にストリーミング用動画がない場合は、動画ファイルリポジトリ110内のオリジナル版である動画データからストリーミング用動画を生成して送信する。その生成として、通信帯域に合わせた画質やフレームレートの調整を行う。
【0031】
動画ファイル転送モジュール114は、動画ファイルリポジトリ110、動画ファイル受信モジュール164と接続されている。動画ファイル転送モジュール114は、複数のクライアント装置150に対して、ストリーミングモジュール112が送信するストリーミング用動画よりも高画質の動画(オリジナル版)を送信する。例えば、動画ファイル転送モジュール114は、ユーザから指定された動画データのオリジナル版を複数のクライアント装置150に送信する。なお、送信先のクライアント装置150は、ストリーミングモジュール112の送信先であるクライアント装置150と同じものである。つまり、サーバ装置100からは、クライアント装置150に対して、ストリーミング用動画を送信して、残りの通信帯域の一部を利用して動画(オリジナル版)を送信することになる期間がある。
【0032】
同期視聴セッション記録モジュール120は、同期視聴セッション管理モジュール122、同期視聴セッション再生モジュール170と接続されている。同期視聴セッション記録モジュール120は、同期視聴セッション管理モジュール122によって受信された操作を記憶する。そして、クライアント装置150からの要求にしたがって、記憶されている操作を送信する。
例えば、同期視聴セッション記録モジュール120は、同期視聴コマンドを発生タイミングとともに記録し、それをクライアント装置150からの要求があるとクライアント装置150に送信する。
【0033】
同期視聴セッション管理モジュール122は、同期視聴セッション記録モジュール120、同期視聴コマンド送受信モジュール172と接続されている。同期視聴セッション管理モジュール122は、複数のクライアント装置150間で同期をとりながら動画の再生を行っている場合の、その動画に対する操作者の操作を受信する。そして、その操作を同期視聴セッション記録モジュール120に渡す。
例えば、同期視聴セッション管理モジュール122は、どのユーザとどのユーザが何という動画を同期視聴しているかをセッション情報として管理する。加えて、セッション内で発行された同期視聴コマンドを受信し、その発行者以外のユーザが使用しているクライアント装置150の同期視聴コマンド送受信モジュール172に転送する。この機能により同期視聴を実現する。
【0034】
クライアント装置150は、動画再生モジュール160、ストリーミング受信モジュール162、動画ファイル受信モジュール164、動画ファイル蓄積モジュール166、同期視聴セッション再生モジュール170、同期視聴コマンド送受信モジュール172を有している。ユーザが動画を視聴するために使用するものである。
【0035】
動画再生モジュール160は、ストリーミング受信モジュール162、動画ファイル受信モジュール164、同期視聴コマンド送受信モジュール172と接続されている。動画再生モジュール160は、ストリーミング受信モジュール162によって受信されているストリーミング用動画又は動画ファイル蓄積モジュール166によって記憶されている動画のいずれかを再生する。そして、ストリーミング用動画を再生している間に、動画ファイル受信モジュール164による動画の受信が終了したことを検知した場合は、そのストリーミング用動画の再生を中止し、動画ファイル蓄積モジュール166によって記憶されている動画を再生する。動画ファイル蓄積モジュール166によって記憶されている動画(オリジナル版)を再生する場合は、ストリーミング用動画の再生を中止した場面からその動画(オリジナル版)を再生する。
なお、「ストリーミング受信モジュール162によって受信されているストリーミング用動画を再生する」とは、ストリーミング用動画を受信しながら再生することであり、一般的にストリーミング用動画の受信、再生である。
【0036】
また、動画再生モジュール160は、同期視聴セッション再生モジュール170の制御にしたがって、同期視聴セッション再生モジュール170によって受信された操作に基づいて、動画及び操作の再現を行う。その動画を再現する場合にあって、動画ファイル蓄積モジュール166によってその動画が記憶されているか否かを判断し、その動画が記憶されていると判断した場合は、その動画を再生する。
例えば、動画再生モジュール160は、セッション開始時にストリーミング用動画を再生し、動画ファイル受信モジュール164から受信完了の通知を受けたら、シームレスに(現在の再生フレームにシークして)動画の再生を行う。また、ユーザからの同期視聴コマンド操作を受付、同期視聴コマンド送受信モジュール172に通知する。
なお、動画再生モジュール160は、クライアント装置150の表示装置(液晶ディスプレイ、タッチパネル等)に動画ウィンドウを表示し、その動画ウィンドウ内に動画を再生する。
【0037】
ストリーミング受信モジュール162は、ストリーミングモジュール112、動画再生モジュール160と接続されている。ストリーミング受信モジュール162は、サーバ装置100のストリーミングモジュール112によって送信されたストリーミング動画を受信する。そして、そのストリーミング用動画を動画再生モジュール160に渡す。
【0038】
動画ファイル受信モジュール164は、動画ファイル転送モジュール114、動画再生モジュール160、動画ファイル蓄積モジュール166と接続されている。動画ファイル受信モジュール164は、サーバ装置100の動画ファイル転送モジュール114によって送信された動画を受信する。動画ファイル受信モジュール164が受信する動画は、ストリーミング受信モジュール162が受信するストリーミング用動画のオリジナル版である。
例えば、動画ファイル受信モジュール164は、サーバ装置100の動画ファイル転送モジュール114から動画ファイルを受信し、受信が完了したら、動画再生モジュール160に受信の完了を通知する。
【0039】
動画ファイル蓄積モジュール166は、動画ファイル受信モジュール164と接続されている。動画ファイル蓄積モジュール166は、動画ファイル受信モジュール164によって受信された動画(オリジナル版)を記憶する。
【0040】
同期視聴セッション再生モジュール170は、同期視聴セッション記録モジュール120と接続されている。同期視聴セッション再生モジュール170は、サーバ装置100の同期視聴セッション記録モジュール120に記憶された操作を要求し、その要求にしたがって、サーバ装置100の同期視聴セッション記録モジュール120によって送信された操作を受信する。そして、動画再生モジュール160を制御して、受信した操作に基づいて、動画及び操作の再現を行う。
例えば、同期視聴セッション再生モジュール170は、サーバ装置100の同期視聴セッション記録モジュール120から受信した記録に基づきセッションを再現する。
【0041】
同期視聴コマンド送受信モジュール172は、同期視聴セッション管理モジュール122、動画再生モジュール160と接続されている。同期視聴コマンド送受信モジュール172は、動画に対する操作を行った場合は、その操作をサーバ装置100に送信する。
例えば、同期視聴コマンド送受信モジュール172は、動画再生モジュール160が受け付けた同期視聴コマンドをサーバ装置100の同期視聴セッション管理モジュール122に送信する。また、サーバ装置100の同期視聴セッション管理モジュール122から受け付けた同期視聴コマンドを動画再生モジュール160に通知する。
【0042】
図2は、本実施の形態を実現する場合のシステム構成例を示す説明図である。
サーバ装置100、クライアント装置150A、クライアント装置150B、クライアント装置150Cは、それぞれ通信回線200を介して接続されている。もちろんのことながら、クライアント装置150は、図2の例のように3つだけでなく、それ以上の数であってもよいし、2つであってもよい。
例えば、遠隔でコミュニケーションする際に、相手に正確に情報を伝えるために動画を使用することが一般的になってきた。遠く離れた場所にいるユーザどうしがある動画コンテンツを同期して視聴しながらコミュニケーション(ユーザどうしは電話やインターネットを介した電話、TV会議システムなどを使って会話する)をするというシステムがある。
動画をあるサーバからストリーミング配信するとネットワーク帯域や通信遅延の関係で画質やフレームレートを落として配信せざるをえない。そこで、事前に動画を送り、再生や一時停止などの操作(コマンド、イベント等)のみをやりとりする手法が前述の特許文献等で提案されている。
【0043】
しかし、例えば、緊急トラブルで急いで情報共有したい場合、この方法では動画ファイルの転送に時間がかかり(特に国際間の通信などの場合)、緊急対応ができなくなってしまう恐れがある。より具体的には、海外の工場で発生したトラブルについて日本の開発センターに状況をいち早く知らせて議論したい場合などがある。本実施の形態は、このような場合にも用いられるものである。つまり、本実施の形態の用いられ方の一例として、遠隔地間で動画の同期視聴を行う際に、緊急時は低品質の動画でもよいのですぐに利用可能にし、転送が間に合う場合や後で同期視聴の模様を振り返る場合には高画質の動画を利用する。
クライアント装置150間で同期をとりながら動画の再生を行っていることから、各動画再生装置の操作者たちは、同時に同じ動画を視聴していることになる。したがって、例えば、同じ動画を視聴しながら、電話等のリアルタイムでコミュニケーションをとることを行っている。
クライアント装置150の各々は、同じ性能を有していてもよいが、異なる性能を有していてもよい。また、サーバ装置100とクライアント装置150間の通信回線も同じ性能であってもよいが、異なる性能であってもよい。
ストリーミング用動画は、複数回再生したり(つまり、複数回の送受信が行われることを意味する)、再生途中で操作者の操作によって再生中止、停止、スロー再生等が行われることがある。したがって、ストリーミング用動画を視聴している間に、高画質の動画を受信し終えることもある。
【0044】
図3から図5は、本実施の形態による処理例を示すフローチャートである。
まず、本実施の形態による処理の前提として、動画ファイルリポジトリ110に動画ファイルが保存されており、それらには本実施の形態において一意に識別できる識別子(以下、動画ID(IDentification)ともいう)が割り振られている。ユーザは、ユーザインターフェイス(CGIプログラムなど)を通じて、動画ファイルリポジトリ110内の視聴すべき動画の動画IDを検索・取得する。
例えば、動画ファイルリポジトリ110内に動画情報テーブル400を記憶している。図6は、動画情報テーブル400のデータ構造例を示す説明図である。動画情報テーブル400は、動画ID欄410、動画名欄420、キーワード欄430、動画ファイル格納場所欄440を有している。動画ID欄410は、動画IDを記憶している。動画名欄420は、その動画の名称を記憶している。キーワード欄430は、その動画に付されたキーワードを記憶している。動画ファイル格納場所欄440は、その動画が動画ファイルリポジトリ110内で格納されている格納場所(具値的には、ファイル名、URL等)を記憶している。動画情報テーブル400をユーザの検索指示(例えば、キーワード等の指定)に応じて検索し、該当する動画IDを取得する。
【0045】
ステップS302では、同期視聴コマンド送受信モジュール172が、セッションID(セッションを本実施の形態において一意に識別できる識別子である)、再生対象である動画IDを受け付ける。より具体的には、同期視聴コマンド送受信モジュール172は、ユーザの操作に応じて、同期視聴を行うためのクライアント装置150で動作するクライアントソフトが起動され、セッションIDとしてのセッション名(ユーザが設定する任意の名前であり、例えば、「トラブル対策ミーティング」等)と同期視聴したい動画ID(新しくセッションを作る場合であり、すでにあるセッションに参加する場合は不要である、以下同様)を受け付ける。なお、ここで、セッションとは、動画の同期視聴の処理を開始してから、終了するまでの、一連の操作、処理、通信等のことをいう。セッションを作るとは、新たに動画の同期視聴の処理を開始することをいい、セッションIDが付与される。そして、セッションに参加するとは、すでに動画の同期視聴の処理が行われているものに対して、そのセッションIDにユーザIDを対応させることをいう。
ステップS304では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122に対して、ユーザID、セッションID、動画IDを送信する。より具体的には、同期視聴コマンド送受信モジュール172は、サーバ装置100の同期視聴セッション管理モジュール122に接続し、ユーザID(ユーザを本実施の形態において一意に識別できる識別子であり、発行・管理方法等については特に問わない)、セッションID、動画IDを送信する。
ステップS306では、同期視聴セッション管理モジュール122が、クライアント装置150の同期視聴コマンド送受信モジュール172から送信されてきたユーザID、セッションID、動画IDを受信する。
【0046】
ステップS308では、同期視聴セッション管理モジュール122が、ステップS306で受信したセッションIDは、既存のセッションIDであるか否かを判断し、既存の場合はステップS310へ進み、それ以外の場合はステップS312へ進む。
より具体的には、同期視聴セッション管理モジュール122は、セッション管理テーブル500を保持している。これによって、セッションに参加しているユーザとセッションで視聴されている動画(のID)を対応付けて保持する。具体例として、図7は、セッション管理テーブル500のデータ構造例を示す説明図である。セッション管理テーブル500は、セッションID欄510、参加ユーザIDのリスト欄520、動画ID欄530、セッション開始時刻欄540を有している。セッションID欄510は、現在視聴されている動画のセッションIDを記憶している。参加ユーザIDのリスト欄520は、そのセッションに参加している複数人分のユーザIDを記憶している。動画ID欄530は、そのセッションで同期視聴されている動画の動画IDを記憶している。セッション開始時刻欄540は、そのセッションの開始時刻(年、月、日、時、分、秒を含んでいてもよく、さらに秒以下の時刻を含んでいてもよい)を記憶している。また、このセッション管理テーブル500は、同期視聴セッション記録モジュール120に利用される。
【0047】
ステップS310では、同期視聴セッション管理モジュール122が、該当するセッション管理テーブル500にユーザIDを追加する。つまり、既存のセッションに参加する場合であり、セッション管理テーブル500の参加ユーザIDのリスト欄520にユーザIDを追加する。
ステップS312では、同期視聴セッション管理モジュール122が、セッション管理テーブル500を生成し、セッション開始時刻をセッション管理テーブル500のセッション開始時刻欄540に記録する。その後、ステップS314へ進む。つまり、新しいセッションを作る場合であり、セッション管理テーブル500のインスタンスを新たに作り、セッション管理テーブル500のセッション開始時刻欄540にそのときの時刻であるセッション開始時刻を記録する。
【0048】
ステップS314では、同期視聴コマンド送受信モジュール172が、セッション参加成功か否かを判断し、成功の場合はステップS316へ進み、それ以外の場合はステップS362へ進む。なお、同期視聴セッション管理モジュール122からセッション参加成功か否かの通知(セッション管理テーブル500のインスタンスが作成されたか、すでにあるセッション管理テーブル500内にユーザIDを記憶させることができた場合は、成功であり、それ以外の場合は成功ではない。)を、同期視聴コマンド送受信モジュール172が受け、判断を行う。
ステップS362では、動画再生モジュール160が、セッションに参加できない旨をユーザに提示する。その後、終了する(ステップS399)。
【0049】
ステップS316では、ストリーミング受信モジュール162が、サーバ装置100のストリーミングモジュール112に対して、動画IDを送信する。具体的には、ストリーミング受信モジュール162はストリーミングモジュール112に接続し、動画IDを通知する。
ステップS318では、ストリーミングモジュール112が、クライアント装置150のストリーミング受信モジュール162から送信されてきた動画IDを受信して、その動画IDに対応する動画ファイルを動画ファイルリポジトリ110から取り出して、ストリーミング用のフォーマット等の必要な変換等を行う。フォーマットの変換としては、例えば、データ量を削減するために低い画質にする処理がある。すでに、ストリーミング用の動画が、動画ファイルリポジトリ110内に記憶されている場合は、そのストリーミング用の動画を用いてもよい。
ステップS320では、ストリーミングモジュール112が、クライアント装置150のストリーミング受信モジュール162に対して、ストリーミング用の動画を送信する。いわゆるストリーミングを開始する。
【0050】
ステップS322では、動画ファイル受信モジュール164が、サーバ装置100の動画ファイル転送モジュール114に対して、動画IDを送信する。
ステップS324では、動画ファイル転送モジュール114が、クライアント装置150の動画ファイル受信モジュール164から送信されてきた動画IDを受信して、その動画IDに対応する動画ファイル(つまり、ストリーミング用動画のオリジナル版)を動画ファイルリポジトリ110から取り出す。
ステップS326では、動画ファイル転送モジュール114が、クライアント装置150の動画ファイル受信モジュール164に対して、動画ファイルを送信する。
なお、ステップS316〜S320の処理とステップS322からS326の処理は、いずれを先に行ってもよいし、並列して行ってもよい。
【0051】
ステップS328では、ストリーミング受信モジュール162が、サーバ装置100のストリーミングモジュール112から送信されてきたストリーミング用の画像を受信する。
ステップS330では、動画再生モジュール160が、ストリーミング用の画像を再生する。つまり、動画用ウィドウ内にストリーミング用の画像を再生する。
ステップS332では、動画再生モジュール160が、同期視聴用の操作があるか否かを判断し、ある場合はステップS334へ進み、それ以外の場合はステップS346へ進む。
動画再生モジュール160は、同期視聴のための操作を行うユーザインターフェイスを提供する。例えば、(1)一時停止を行うための「一時停止ボタン」、(2)再生の再開を行うための「再生ボタン」、(3)シークを行うための「シークバー」、(4)再生している動画の表示ウィンドウ上で、位置を指示等するためマウスポインタを動かすこと等を含む「マウスポインティングコマンド」等がある。視聴されている動画に対するこれらの同期視聴用の操作を同期視聴用コマンドという。これらの同期視聴用コマンドは、同じセッションに参加している他のユーザが視聴しているクライアント装置150の動画再生モジュール160でも同期視聴用コマンドが実行されるべきものである。
【0052】
ステップS334では、動画再生モジュール160が、受け付けた同期視聴用コマンドを同期視聴コマンド送受信モジュール172に渡す。例えば、シークコマンドにはパラメータとして何フレーム目に動いたかのフレーム番号が付加され、マウスポインティングコマンドには画像ウィンドウ上のxy座標が付加される。
ステップS336では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122に対して、同期視聴用コマンドを送信する。
ステップS338では、同期視聴セッション管理モジュール122が、クライアント装置150の同期視聴コマンド送受信モジュール172から送信されてきた同期視聴用コマンドを受信する。
【0053】
ステップS340では、同期視聴セッション管理モジュール122が、同期視聴用コマンドを他の操作者(もちろんのことながら、同じセッションに参加している他のユーザ)のクライアント装置150の同期視聴コマンド送受信モジュール172に送信する。
ステップS342では、同期視聴セッション管理モジュール122が、同期視聴用コマンドを同期視聴セッション記録モジュール120に渡す。この際に、同期視聴用コマンドを受け取ったタイミングを示すデータ(例えば、セッション開始時刻から受け取った時刻までの秒数)を付加し、同期視聴セッション記録モジュール120に通知する。
ステップS344では、同期視聴セッション記録モジュール120が、同期視聴用コマンドを記録する。例えば、セッション開始時刻から受け取った時刻までの秒数を付加して、同期視聴セッション管理テーブル600に記録する。図8は、同期視聴セッション管理テーブル600のデータ構造例を示す説明図である。同期視聴セッション管理テーブル600は、セッションID欄610、発行タイミング欄620、発行コマンド欄630、パラメータ欄640を有している。セッションID欄610は、セッションIDを記憶している。発行タイミング欄620は、そのセッションにおける同期視聴用コマンドの発行時期(同期視聴用コマンドを受け取ったタイミング)を記憶している。発行コマンド欄630は、そのセッションにおいて、その発行タイミングで発行された同期視聴用コマンドを記憶している。パラメータ欄640は、その同期視聴用コマンドにおけるパラメータ(パラメータが不要のものもある)を記憶している。さらに、その同期視聴用コマンドを発行したユーザIDを記憶するようにしてもよい。
【0054】
ステップS346では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122から送信されてきた同期視聴用コマンドを受信する。つまり、同じセッションに参加している他のユーザが実行した同期視聴用コマンドを受信する。
ステップS348では、同期視聴コマンド送受信モジュール172が、動画再生モジュール160に同期視聴用コマンドを渡す。
ステップS350では、動画再生モジュール160が、同期視聴用コマンドに応じて、動画の再生状況、マウスポインタの位置等を更新する。つまり、同期視聴用コマンドを実行する。これによって、同じセッションに参加している他のユーザが実行した同期視聴用コマンドがこのクライアント装置150の動画再生モジュール160によっても実行されることになる。
なお、動画再生中に同期視聴用コマンドの操作があった場合は、ステップS332〜S346の処理を行い、同期視聴用コマンドを受信した場合は、ステップS348〜S352の処理を行う。
これらの処理は、複数回繰り返されてもよいし、行われない場合があってもよい。
【0055】
ステップS352では、動画ファイル受信モジュール164等が、動画ファイル受信完了処理を行う。この処理の概要は以下の通りである。なお、詳細な処理内容は、図9に例示のフローチャートを用いて後述する。
動画ファイル受信モジュール164は、サーバ装置100の動画ファイル転送モジュール114から送信されてきた動画の受信が完了したら、動画再生モジュール160に受信先のファイルパス名とともに通知する。動画IDと取得した動画ファイルのパス名の対応付けを動画ファイル管理テーブル800に記憶(ファイルなどに保存)する。このデータは後述するセッションの再生時に利用される。図10は、動画ファイル管理テーブル800のデータ構造例を示す説明図である。動画ファイル管理テーブル800は、動画ID欄810、動画ファイル格納場所欄820を有している。動画ID欄810は、受信が完了した動画の動画IDを記憶している。動画ファイル格納場所欄820は、その動画の格納場所(動画ファイルのパス名)を記憶している。
そして、動画再生モジュール160は、動画ファイル受信モジュール164からの動画受信完了の通知を受け取ったら、通知されるファイルパスに存在する動画ファイルをオープンし、それまで再生していたストリーミング用動画の現在フレームまでシークし、再生を続行する。
【0056】
ステップS354では、動画再生モジュール160が、終了操作があったか否かを判断し、あった場合はステップS356へ進み、それ以外の場合はステップS332からの処理を行う。例えば、ユーザの操作として、動画再生モジュール160が表示している動画ウィンドウを閉じるなどの操作があった場合等が該当する。
ステップS356では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122に対して、セッションからの脱退を通知する。
ステップS358では、同期視聴セッション管理モジュール122が、クライアント装置150の同期視聴コマンド送受信モジュール172から脱退の通知(ユーザIDを含む)を受信し、同期視聴セッション記録モジュール120に脱退の通知を渡す。
ステップS360では、同期視聴セッション記録モジュール120が、セッション管理テーブル500から脱退した操作者のユーザIDを削除する。
【0057】
なお、ステップS316の前に、動画再生モジュール160が、再生しようとしている動画IDの動画ファイル(オリジナル版)が動画ファイル蓄積モジュール166にあるか否かを判断してもよい。ある場合(すでに、その動画IDの動画の再生のセッションが行われており、2回目以降のセッションであって、すでにストリーミング用動画のオリジナル版である動画を受信している場合)は、その動画ファイルを再生し、ステップS332以下の処理を行う。ない場合は、ストリーミング用動画を再生するために、ステップS316以下の処理を行う。
【0058】
図9は、本実施の形態による処理例を示すフローチャートである。つまり、図5に例示のフローチャート内のステップS352の処理内容である。
ステップS702では、ストリーミング受信モジュール162が、ストリーミング用動画の受信を続ける。
ステップS704では、動画ファイル受信モジュール164が、動画ファイル(ストリーミング用動画のオリジナル版)の受信が完了したか否かを判断し、完了した場合はステップS706へ進み、それ以外の場合はステップS702からの処理を行う。また、完了した場合は、図10に例示の動画ファイル管理テーブル800のデータ構造を生成し、記憶する。
【0059】
ステップS706では、動画再生モジュール160が、現在のフレーム位置、再生状態(一時停止中か再生中か)、マウスポインタの位置等を一時的に記憶する。
ステップS708では、動画再生モジュール160が、受信先のファイルパス(動画ファイル管理テーブル800の動画ファイル格納場所欄820)にある動画ファイルをオープンし、ストリーミング接続を閉じて、動画ウィンドウのオープンした動画ファイルに差し替える。
ステップS710では、動画再生モジュール160が、動画(オリジナル版)の再生のフレーム位置を一時記憶したフレーム位置に合わせる。つまり、フレーム位置までシークして進める。
【0060】
ステップS712では、動画再生モジュール160が、マウスポインタの位置を一時記憶した位置に合わせる。
ステップS714では、動画再生モジュール160が、一時記憶した再生状態を判断し、一時停止中の場合はステップS716へ進み、再生中の場合はステップS718へ進む。
ステップS716では、動画再生モジュール160が、動画(オリジナル版)を一時停止させる。
ステップS718では、動画再生モジュール160が、動画(オリジナル版)を再生させる。
この後は、ストリーミング用動画の再生ではなく、動画(オリジナル版)の再生によって、図3から図5に例示のフローチャート内のステップS354以下の処理(ステップS332以下の処理を含む)を行うこととなる。
【0061】
図11は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、図3から図5に例示のフローチャート、図9に例示のフローチャートによる処理とは別に行われるものである。
概要を示すと、ユーザは動画再生処理の起動時に「セッション再生モード」の起動を選択できる。セッション再生モードを起動するとき、ユーザは再生したいセッションのセッションIDを指定する。同期視聴コマンド送受信モジュール172は、サーバ装置100の同期視聴セッション管理モジュール122に接続し、該当するセッションのデータ(セッション管理テーブル500)を取得する。また、同期視聴セッション記録モジュール120に接続し、該当するセッションのコマンド履歴を同期視聴セッション管理テーブル600から取得する。
そして、セッションデータとセッションのコマンド履歴を取得すると同期視聴セッション再生モジュール170がセッションコマンドの履歴に基づき、動画再生モジュール160にそのセッションにおける処理を再現させる。
【0062】
ステップS902では、動画再生モジュール160が、セッション再現モードで起動したか否かを判断し、セッション再現モードで起動した場合はステップS904へ進み、それ以外の場合はステップS999へ進む。
ステップS904では、同期視聴コマンド送受信モジュール172が、操作者から指定されたセッションIDをサーバ装置100の同期視聴セッション管理モジュール122に送信する。
ステップS906では、同期視聴セッション記録モジュール120が、指定されたセッションが存在し、かつ終了しているか否かを判断し、指定されたセッションが存在し、かつ終了している場合はステップS910へ進み、それ以外の場合はステップS908へ進む。
【0063】
ステップS908では、同期視聴セッション再生モジュール170が、操作者にエラー(セッションの再現ができない旨)を通知する。その後、終了する(ステップS999)。
ステップS910では、同期視聴セッション再生モジュール170が、サーバ装置100の同期視聴セッション管理モジュール122からセッション情報を、同期視聴セッション記憶モジュール120からセッションコマンド履歴を取得する。
ステップS912では、同期視聴セッション再生モジュール170が、セッションコマンド履歴を発生順にソートする。
【0064】
ステップS914では、同期視聴セッション再生モジュール170が、セッション情報から動画IDを取得し、この動画IDに対応する動画は動画ファイル蓄積モジュール166にダウンロード済みか、動画ファイル受信モジュール164に問い合わせる。
ステップS916では、同期視聴セッション再生モジュール170が、ダウンロード済みであるか否かを判断し、ダウンロード済みである場合はステップS920へ進み、それ以外の場合はステップS918へ進む。
ステップS918では、ストリーミング受信モジュール162が、ストリーミングモジュール112に接続し、動画IDに対応する動画のストリーミングを開始し、タイマーを起動する。
【0065】
ステップS920では、動画再生モジュール160が、受信した動画をオープンし、動画再生モジュール160で再生させ、タイマーを起動する。
ステップS922では、同期視聴セッション再生モジュール170が、セッションコマンド履歴が残っているか否かを判断し、残っている場合はステップS924へ進み、それ以外の場合はステップS928へ進む。
ステップS924では、同期視聴セッション再生モジュール170が、セッションコマンド履歴から最も発生順の古いコマンドを取り出し、発生タイミングまで待機する。
ステップS926では、同期視聴セッション再生モジュール170が、動画再生モジュール160に動画視聴コマンドを通知し、該当する処理を行わせ、ステップS922からの処理を行う。
ステップS928では、動画再生モジュール160が、再生を停止する。
【0066】
なお、本実施の形態(動画送信装置としての機能を有するサーバ装置100、動画再生装置としての機能を有するクライアント装置150)としてのプログラムが実行されるコンピュータのハードウェア構成は、図12に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1201を用い、記憶装置としてRAM1202、ROM1203、HD1204を用いている。HD1204として、例えばハードディスクを用いてもよい。ストリーミングモジュール112、動画ファイル転送モジュール114、同期視聴セッション記録モジュール120、同期視聴セッション管理モジュール122、ストリーミング受信モジュール162、動画ファイル受信モジュール164、動画再生モジュール160、同期視聴コマンド送受信モジュール172、同期視聴セッション再生モジュール170等のプログラムを実行するCPU1201と、そのプログラムやデータを記憶するRAM1202と、本コンピュータを起動するためのプログラム等が格納されているROM1203と、補助記憶装置であるHD1204と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置1206と、CRT、液晶ディスプレイ等の出力装置1205と、ネットワークインターフェイスカード等の通信ネットワークと接続するための通信回線インターフェイス1207、そして、それらをつないでデータのやりとりをするためのバス1208により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0067】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図12に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図12に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【0068】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0069】
100…サーバ装置
110…動画ファイルリポジトリ
112…ストリーミングモジュール
114…動画ファイル転送モジュール
120…同期視聴セッション記録モジュール
122…同期視聴セッション管理モジュール
150…クライアント装置
150A…クライアント装置
150B…クライアント装置
150C…クライアント装置
160…動画再生モジュール
162…ストリーミング受信モジュール
164…動画ファイル受信モジュール
166…動画ファイル蓄積モジュール
170…同期視聴セッション再生モジュール
172…同期視聴コマンド送受信モジュール
200…通信回線
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
複数の動画再生装置で同期させる動画の再生技術がある。
これに関連する技術として、例えば、特許文献1には、接続先と放送番組の記録及び/又は再生を同期させ、記録及び/又は再生する放送番組を接続先から指定可能にすることを課題とし、接続先と放送番組の記録及び/又は再生を同期させ、同期要求の送受によって、同一の放送番組の記録、再生に時間的な制約を受けることなく任意の時間に行える等、接続先と放送番組の同時再生を通話とともに行え、斯かる構成により、接続先と放送番組の記録及び/又は再生を同期させることができ、記録及び/又は再生をする放送番組を接続先から指定可能にすることができ、通信機能、放送受信機能及び放送番組の記録及び/又は再生の機能を備える機器の利便性を高めることが開示されている。
【0003】
また、例えば、特許文献2には、ネットワーク上の複数の機器に対して同一のコンテンツが同時に配信可能な状態において、複数の機器についてコンテンツの再生動作を同期させることを課題とし、コンテンツサーバから複数台のコンテンツ再生装置へ同一のコンテンツを同時に配信可能な状態において、1台のコンテンツ再生装置に対してユーザの操作があったとき、ユーザの操作を受けたコンテンツ再生装置はコンテンツサーバへコンテンツ再生の状態変化に関するイベントの通知を発行し、コンテンツサーバはイベントの通知を受けたときそのコンテンツ再生装置以外のコンテンツ再生装置を制御し、前記あるコンテンツについてその再生状態を前記ユーザの操作を受けたコンテンツ再生装置の再生状態に一致させることが開示されている。
【0004】
また、例えば、特許文献3には、動画像を複数地点で同時にリアルタイムのレスポンスで扱うことができる協調作業支援方法及びシステム、並びに協調作業用クライアント端末装置及び協調作業コーディネータ並びに記録媒体を提供することを課題とし、複数のクライアント端末装置及び協調作業コーディネータをネットワークに接続し、かつ、協調作業で用いる動画像ファイルを予め各クライアント端末装置に用意しておき、各クライアント端末装置で動画像ファイルをオープンし、各クライアント端末装置で発生したイベント情報を協調作業コーディネータを介して他のクライアント端末装置に伝達し、各クライアント端末装置で動画像を含む画面の更新を行うようにしたことが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−206414号公報
【特許文献2】特開2009−253889号公報
【特許文献3】特開2002−116996号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生するようにした情報処理システム、情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段を備える動画送信装置と、前記動画送信装置の第1の送信手段によって送信された第1の動画を受信する第1の受信手段と、前記動画送信装置の第2の送信手段によって送信された第2の動画を受信する第2の受信手段と、前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段を備え、前記動画送信装置と通信回線を介して接続されている動画再生装置を具備し、前記動画再生装置の前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生することを特徴とする情報処理システムである。
【0008】
請求項2の発明は、複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段を具備することを特徴とする情報処理装置である。
【0009】
請求項3の発明は、動画送信装置によって送信された第1の動画を受信する第1の受信手段と、前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段を具備し、前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生することを特徴とする情報処理装置である。
【0010】
請求項4の発明は、動画再生装置間で同期をとりながら動画の再生を行っている場合の、該動画に対する操作者の操作を受信する操作受信手段と、前記操作受信手段によって受信された操作を記憶する操作記憶手段と、前記動画再生装置からの要求にしたがって、前記操作記憶手段に記憶されている操作を送信する第3の送信手段を具備することを特徴とする請求項2に記載の情報処理装置である。
【0011】
請求項5の発明は、動画に対する操作を行った場合は、該操作を動画送信装置に送信する操作送信手段と、前記動画送信装置に記憶された操作を要求する要求手段と、前記要求手段による要求にしたがって、前記動画送信装置によって送信された操作を受信する操作受信手段を具備し、前記動画再生装置は、前記操作受信手段によって受信された操作に基づいて、動画及び操作の再現を行うことを特徴とする請求項3に記載の情報処理装置である。
【0012】
請求項6の発明は、前記動画再生装置は、動画を再現する場合にあって、前記動画記憶手段によって該動画が記憶されているか否かを判断し、該動画が記憶されていると判断した場合は、該動画を再生することを特徴とする請求項5に記載の情報処理装置である。
【0013】
請求項7の発明は、前記再生手段は、前記動画記憶手段によって記憶されている第2の動画を再生する場合は、前記第1の動画の再生を中止した場面から該第2の動画を再生することを特徴とする請求項3に記載の情報処理装置である。
【0014】
請求項8の発明は、コンピュータを、複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段として機能させるための情報処理プログラムである。
【0015】
請求項9の発明は、コンピュータを、動画送信装置によって送信された第1の動画を受信する第1の受信手段と、前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段として機能させ、前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生することを特徴とする情報処理プログラムである。
【発明の効果】
【0016】
請求項1の情報処理システムによれば、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【0017】
請求項2の情報処理装置によれば、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生することができるように処理を行うことができる。
【0018】
請求項3の情報処理装置によれば、複数の情報処理装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の情報処理装置では、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【0019】
請求項4の情報処理装置によれば、複数の動画再生装置において同期して再生していた際の操作を、その後に動画再生及び操作の再現を行うことができるように処理を行うことができる。
【0020】
請求項5の情報処理装置によれば、動画及び操作の再現を行うことができる。
【0021】
請求項6の情報処理装置によれば、動画を再現する場合にあって、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【0022】
請求項7の情報処理装置によれば、第1の動画を再生している状態から第2の動画を再生する場合に、第2の動画の最初から再生されてしまうことを防止することができる。
【0023】
請求項8の情報処理プログラムによれば、複数の動画再生装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の動画再生装置では、第1の動画よりも高画質である第2の動画を再生することができるように処理を行うことができる。
【0024】
請求項9の情報処理プログラムによれば、複数の情報処理装置において、最初は第1の動画の再生を行い、第2の動画の受信が終了した後の情報処理装置では、第1の動画よりも高画質である第2の動画を再生することができるようになる。
【図面の簡単な説明】
【0025】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態を実現する場合のシステム構成例を示す説明図である。
【図3】本実施の形態による処理例を示すフローチャートである。
【図4】本実施の形態による処理例を示すフローチャートである。
【図5】本実施の形態による処理例を示すフローチャートである。
【図6】動画情報テーブルのデータ構造例を示す説明図である。
【図7】セッション管理テーブルのデータ構造例を示す説明図である。
【図8】同期視聴セッション管理テーブルのデータ構造例を示す説明図である。
【図9】本実施の形態による処理例を示すフローチャートである。
【図10】動画ファイル管理テーブルのデータ構造例を示す説明図である。
【図11】本実施の形態による処理例を示すフローチャートである。
【図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0026】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0027】
本実施の形態である情報処理システムは、複数の装置で同期させて動画を再生するものであって、図1の例に示すように、サーバ装置100とクライアント装置150を有している。サーバ装置100とクライアント装置150は通信回線を介して接続されている。サーバ装置100は、動画送信装置としての機能を有し、クライアント装置150は、動画再生装置としての機能を有する。そして、クライアント装置150は複数ある。
【0028】
サーバ装置100は、動画ファイルリポジトリ110、ストリーミングモジュール112、動画ファイル転送モジュール114、同期視聴セッション記録モジュール120、同期視聴セッション管理モジュール122を有している。また、これらのサーバ装置100内の各モジュールは、それぞれ個別の情報処理装置(例えば、サーバ装置)として実現されていてもよいし、いくつかの複数のモジュールを組とした複数の情報処理装置として実現されていてもよい。
【0029】
動画ファイルリポジトリ110は、ストリーミングモジュール112、動画ファイル転送モジュール114と接続されている。動画ファイルリポジトリ110は、動画(第2の動画)を記憶する。さらに、その動画から生成されたストリーミング用動画(第1の動画)を記憶していてもよい。なお、ストリーミング用動画はオリジナル版の動画(第2の動画)よりも低画質のものである。例えば、フレームレートの調整、解像度の調整、圧縮率の調整等を行ったものである。
例えば、ここでいう高画質や低画質には、次のようなものが含まれる。
(1)フレームレートを調整する場合は、予め定められた基準と比べてフレームレートが高いものを高画質といい、予め定められた基準に対してフレームレートを落としたものを低画質という。
(2)また、解像度を調整する場合は、予め定められた基準と比べて解像度が高いものを高画質といい、予め定められた基準に対して解像度を落としたものを低画質という。
(3)また、非可逆圧縮方法を用いてデータ圧縮率を調整する場合は、予め定められた基準と比べて圧縮率が低いものを高画質といい、予め定められた基準に対して圧縮率を高めたものを低画質という。
なお、一般的に、ストリーミング用動画とは、受信を行いながら、その動画を再生することにより、ユーザの待ち時間を短縮しようとするものである。
【0030】
ストリーミングモジュール112は、動画ファイルリポジトリ110、ストリーミング受信モジュール162と接続されている。ストリーミングモジュール112は、複数のクライアント装置150に対して、ストリーミング用動画を送信する。例えば、ストリーミングモジュール112は、ユーザ(操作者、視聴者等)から指定された動画データに対応するストリーミング用動画が動画ファイルリポジトリ110にある場合は、そのストリーミング用動画を送信する。また、動画ファイルリポジトリ110にストリーミング用動画がない場合は、動画ファイルリポジトリ110内のオリジナル版である動画データからストリーミング用動画を生成して送信する。その生成として、通信帯域に合わせた画質やフレームレートの調整を行う。
【0031】
動画ファイル転送モジュール114は、動画ファイルリポジトリ110、動画ファイル受信モジュール164と接続されている。動画ファイル転送モジュール114は、複数のクライアント装置150に対して、ストリーミングモジュール112が送信するストリーミング用動画よりも高画質の動画(オリジナル版)を送信する。例えば、動画ファイル転送モジュール114は、ユーザから指定された動画データのオリジナル版を複数のクライアント装置150に送信する。なお、送信先のクライアント装置150は、ストリーミングモジュール112の送信先であるクライアント装置150と同じものである。つまり、サーバ装置100からは、クライアント装置150に対して、ストリーミング用動画を送信して、残りの通信帯域の一部を利用して動画(オリジナル版)を送信することになる期間がある。
【0032】
同期視聴セッション記録モジュール120は、同期視聴セッション管理モジュール122、同期視聴セッション再生モジュール170と接続されている。同期視聴セッション記録モジュール120は、同期視聴セッション管理モジュール122によって受信された操作を記憶する。そして、クライアント装置150からの要求にしたがって、記憶されている操作を送信する。
例えば、同期視聴セッション記録モジュール120は、同期視聴コマンドを発生タイミングとともに記録し、それをクライアント装置150からの要求があるとクライアント装置150に送信する。
【0033】
同期視聴セッション管理モジュール122は、同期視聴セッション記録モジュール120、同期視聴コマンド送受信モジュール172と接続されている。同期視聴セッション管理モジュール122は、複数のクライアント装置150間で同期をとりながら動画の再生を行っている場合の、その動画に対する操作者の操作を受信する。そして、その操作を同期視聴セッション記録モジュール120に渡す。
例えば、同期視聴セッション管理モジュール122は、どのユーザとどのユーザが何という動画を同期視聴しているかをセッション情報として管理する。加えて、セッション内で発行された同期視聴コマンドを受信し、その発行者以外のユーザが使用しているクライアント装置150の同期視聴コマンド送受信モジュール172に転送する。この機能により同期視聴を実現する。
【0034】
クライアント装置150は、動画再生モジュール160、ストリーミング受信モジュール162、動画ファイル受信モジュール164、動画ファイル蓄積モジュール166、同期視聴セッション再生モジュール170、同期視聴コマンド送受信モジュール172を有している。ユーザが動画を視聴するために使用するものである。
【0035】
動画再生モジュール160は、ストリーミング受信モジュール162、動画ファイル受信モジュール164、同期視聴コマンド送受信モジュール172と接続されている。動画再生モジュール160は、ストリーミング受信モジュール162によって受信されているストリーミング用動画又は動画ファイル蓄積モジュール166によって記憶されている動画のいずれかを再生する。そして、ストリーミング用動画を再生している間に、動画ファイル受信モジュール164による動画の受信が終了したことを検知した場合は、そのストリーミング用動画の再生を中止し、動画ファイル蓄積モジュール166によって記憶されている動画を再生する。動画ファイル蓄積モジュール166によって記憶されている動画(オリジナル版)を再生する場合は、ストリーミング用動画の再生を中止した場面からその動画(オリジナル版)を再生する。
なお、「ストリーミング受信モジュール162によって受信されているストリーミング用動画を再生する」とは、ストリーミング用動画を受信しながら再生することであり、一般的にストリーミング用動画の受信、再生である。
【0036】
また、動画再生モジュール160は、同期視聴セッション再生モジュール170の制御にしたがって、同期視聴セッション再生モジュール170によって受信された操作に基づいて、動画及び操作の再現を行う。その動画を再現する場合にあって、動画ファイル蓄積モジュール166によってその動画が記憶されているか否かを判断し、その動画が記憶されていると判断した場合は、その動画を再生する。
例えば、動画再生モジュール160は、セッション開始時にストリーミング用動画を再生し、動画ファイル受信モジュール164から受信完了の通知を受けたら、シームレスに(現在の再生フレームにシークして)動画の再生を行う。また、ユーザからの同期視聴コマンド操作を受付、同期視聴コマンド送受信モジュール172に通知する。
なお、動画再生モジュール160は、クライアント装置150の表示装置(液晶ディスプレイ、タッチパネル等)に動画ウィンドウを表示し、その動画ウィンドウ内に動画を再生する。
【0037】
ストリーミング受信モジュール162は、ストリーミングモジュール112、動画再生モジュール160と接続されている。ストリーミング受信モジュール162は、サーバ装置100のストリーミングモジュール112によって送信されたストリーミング動画を受信する。そして、そのストリーミング用動画を動画再生モジュール160に渡す。
【0038】
動画ファイル受信モジュール164は、動画ファイル転送モジュール114、動画再生モジュール160、動画ファイル蓄積モジュール166と接続されている。動画ファイル受信モジュール164は、サーバ装置100の動画ファイル転送モジュール114によって送信された動画を受信する。動画ファイル受信モジュール164が受信する動画は、ストリーミング受信モジュール162が受信するストリーミング用動画のオリジナル版である。
例えば、動画ファイル受信モジュール164は、サーバ装置100の動画ファイル転送モジュール114から動画ファイルを受信し、受信が完了したら、動画再生モジュール160に受信の完了を通知する。
【0039】
動画ファイル蓄積モジュール166は、動画ファイル受信モジュール164と接続されている。動画ファイル蓄積モジュール166は、動画ファイル受信モジュール164によって受信された動画(オリジナル版)を記憶する。
【0040】
同期視聴セッション再生モジュール170は、同期視聴セッション記録モジュール120と接続されている。同期視聴セッション再生モジュール170は、サーバ装置100の同期視聴セッション記録モジュール120に記憶された操作を要求し、その要求にしたがって、サーバ装置100の同期視聴セッション記録モジュール120によって送信された操作を受信する。そして、動画再生モジュール160を制御して、受信した操作に基づいて、動画及び操作の再現を行う。
例えば、同期視聴セッション再生モジュール170は、サーバ装置100の同期視聴セッション記録モジュール120から受信した記録に基づきセッションを再現する。
【0041】
同期視聴コマンド送受信モジュール172は、同期視聴セッション管理モジュール122、動画再生モジュール160と接続されている。同期視聴コマンド送受信モジュール172は、動画に対する操作を行った場合は、その操作をサーバ装置100に送信する。
例えば、同期視聴コマンド送受信モジュール172は、動画再生モジュール160が受け付けた同期視聴コマンドをサーバ装置100の同期視聴セッション管理モジュール122に送信する。また、サーバ装置100の同期視聴セッション管理モジュール122から受け付けた同期視聴コマンドを動画再生モジュール160に通知する。
【0042】
図2は、本実施の形態を実現する場合のシステム構成例を示す説明図である。
サーバ装置100、クライアント装置150A、クライアント装置150B、クライアント装置150Cは、それぞれ通信回線200を介して接続されている。もちろんのことながら、クライアント装置150は、図2の例のように3つだけでなく、それ以上の数であってもよいし、2つであってもよい。
例えば、遠隔でコミュニケーションする際に、相手に正確に情報を伝えるために動画を使用することが一般的になってきた。遠く離れた場所にいるユーザどうしがある動画コンテンツを同期して視聴しながらコミュニケーション(ユーザどうしは電話やインターネットを介した電話、TV会議システムなどを使って会話する)をするというシステムがある。
動画をあるサーバからストリーミング配信するとネットワーク帯域や通信遅延の関係で画質やフレームレートを落として配信せざるをえない。そこで、事前に動画を送り、再生や一時停止などの操作(コマンド、イベント等)のみをやりとりする手法が前述の特許文献等で提案されている。
【0043】
しかし、例えば、緊急トラブルで急いで情報共有したい場合、この方法では動画ファイルの転送に時間がかかり(特に国際間の通信などの場合)、緊急対応ができなくなってしまう恐れがある。より具体的には、海外の工場で発生したトラブルについて日本の開発センターに状況をいち早く知らせて議論したい場合などがある。本実施の形態は、このような場合にも用いられるものである。つまり、本実施の形態の用いられ方の一例として、遠隔地間で動画の同期視聴を行う際に、緊急時は低品質の動画でもよいのですぐに利用可能にし、転送が間に合う場合や後で同期視聴の模様を振り返る場合には高画質の動画を利用する。
クライアント装置150間で同期をとりながら動画の再生を行っていることから、各動画再生装置の操作者たちは、同時に同じ動画を視聴していることになる。したがって、例えば、同じ動画を視聴しながら、電話等のリアルタイムでコミュニケーションをとることを行っている。
クライアント装置150の各々は、同じ性能を有していてもよいが、異なる性能を有していてもよい。また、サーバ装置100とクライアント装置150間の通信回線も同じ性能であってもよいが、異なる性能であってもよい。
ストリーミング用動画は、複数回再生したり(つまり、複数回の送受信が行われることを意味する)、再生途中で操作者の操作によって再生中止、停止、スロー再生等が行われることがある。したがって、ストリーミング用動画を視聴している間に、高画質の動画を受信し終えることもある。
【0044】
図3から図5は、本実施の形態による処理例を示すフローチャートである。
まず、本実施の形態による処理の前提として、動画ファイルリポジトリ110に動画ファイルが保存されており、それらには本実施の形態において一意に識別できる識別子(以下、動画ID(IDentification)ともいう)が割り振られている。ユーザは、ユーザインターフェイス(CGIプログラムなど)を通じて、動画ファイルリポジトリ110内の視聴すべき動画の動画IDを検索・取得する。
例えば、動画ファイルリポジトリ110内に動画情報テーブル400を記憶している。図6は、動画情報テーブル400のデータ構造例を示す説明図である。動画情報テーブル400は、動画ID欄410、動画名欄420、キーワード欄430、動画ファイル格納場所欄440を有している。動画ID欄410は、動画IDを記憶している。動画名欄420は、その動画の名称を記憶している。キーワード欄430は、その動画に付されたキーワードを記憶している。動画ファイル格納場所欄440は、その動画が動画ファイルリポジトリ110内で格納されている格納場所(具値的には、ファイル名、URL等)を記憶している。動画情報テーブル400をユーザの検索指示(例えば、キーワード等の指定)に応じて検索し、該当する動画IDを取得する。
【0045】
ステップS302では、同期視聴コマンド送受信モジュール172が、セッションID(セッションを本実施の形態において一意に識別できる識別子である)、再生対象である動画IDを受け付ける。より具体的には、同期視聴コマンド送受信モジュール172は、ユーザの操作に応じて、同期視聴を行うためのクライアント装置150で動作するクライアントソフトが起動され、セッションIDとしてのセッション名(ユーザが設定する任意の名前であり、例えば、「トラブル対策ミーティング」等)と同期視聴したい動画ID(新しくセッションを作る場合であり、すでにあるセッションに参加する場合は不要である、以下同様)を受け付ける。なお、ここで、セッションとは、動画の同期視聴の処理を開始してから、終了するまでの、一連の操作、処理、通信等のことをいう。セッションを作るとは、新たに動画の同期視聴の処理を開始することをいい、セッションIDが付与される。そして、セッションに参加するとは、すでに動画の同期視聴の処理が行われているものに対して、そのセッションIDにユーザIDを対応させることをいう。
ステップS304では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122に対して、ユーザID、セッションID、動画IDを送信する。より具体的には、同期視聴コマンド送受信モジュール172は、サーバ装置100の同期視聴セッション管理モジュール122に接続し、ユーザID(ユーザを本実施の形態において一意に識別できる識別子であり、発行・管理方法等については特に問わない)、セッションID、動画IDを送信する。
ステップS306では、同期視聴セッション管理モジュール122が、クライアント装置150の同期視聴コマンド送受信モジュール172から送信されてきたユーザID、セッションID、動画IDを受信する。
【0046】
ステップS308では、同期視聴セッション管理モジュール122が、ステップS306で受信したセッションIDは、既存のセッションIDであるか否かを判断し、既存の場合はステップS310へ進み、それ以外の場合はステップS312へ進む。
より具体的には、同期視聴セッション管理モジュール122は、セッション管理テーブル500を保持している。これによって、セッションに参加しているユーザとセッションで視聴されている動画(のID)を対応付けて保持する。具体例として、図7は、セッション管理テーブル500のデータ構造例を示す説明図である。セッション管理テーブル500は、セッションID欄510、参加ユーザIDのリスト欄520、動画ID欄530、セッション開始時刻欄540を有している。セッションID欄510は、現在視聴されている動画のセッションIDを記憶している。参加ユーザIDのリスト欄520は、そのセッションに参加している複数人分のユーザIDを記憶している。動画ID欄530は、そのセッションで同期視聴されている動画の動画IDを記憶している。セッション開始時刻欄540は、そのセッションの開始時刻(年、月、日、時、分、秒を含んでいてもよく、さらに秒以下の時刻を含んでいてもよい)を記憶している。また、このセッション管理テーブル500は、同期視聴セッション記録モジュール120に利用される。
【0047】
ステップS310では、同期視聴セッション管理モジュール122が、該当するセッション管理テーブル500にユーザIDを追加する。つまり、既存のセッションに参加する場合であり、セッション管理テーブル500の参加ユーザIDのリスト欄520にユーザIDを追加する。
ステップS312では、同期視聴セッション管理モジュール122が、セッション管理テーブル500を生成し、セッション開始時刻をセッション管理テーブル500のセッション開始時刻欄540に記録する。その後、ステップS314へ進む。つまり、新しいセッションを作る場合であり、セッション管理テーブル500のインスタンスを新たに作り、セッション管理テーブル500のセッション開始時刻欄540にそのときの時刻であるセッション開始時刻を記録する。
【0048】
ステップS314では、同期視聴コマンド送受信モジュール172が、セッション参加成功か否かを判断し、成功の場合はステップS316へ進み、それ以外の場合はステップS362へ進む。なお、同期視聴セッション管理モジュール122からセッション参加成功か否かの通知(セッション管理テーブル500のインスタンスが作成されたか、すでにあるセッション管理テーブル500内にユーザIDを記憶させることができた場合は、成功であり、それ以外の場合は成功ではない。)を、同期視聴コマンド送受信モジュール172が受け、判断を行う。
ステップS362では、動画再生モジュール160が、セッションに参加できない旨をユーザに提示する。その後、終了する(ステップS399)。
【0049】
ステップS316では、ストリーミング受信モジュール162が、サーバ装置100のストリーミングモジュール112に対して、動画IDを送信する。具体的には、ストリーミング受信モジュール162はストリーミングモジュール112に接続し、動画IDを通知する。
ステップS318では、ストリーミングモジュール112が、クライアント装置150のストリーミング受信モジュール162から送信されてきた動画IDを受信して、その動画IDに対応する動画ファイルを動画ファイルリポジトリ110から取り出して、ストリーミング用のフォーマット等の必要な変換等を行う。フォーマットの変換としては、例えば、データ量を削減するために低い画質にする処理がある。すでに、ストリーミング用の動画が、動画ファイルリポジトリ110内に記憶されている場合は、そのストリーミング用の動画を用いてもよい。
ステップS320では、ストリーミングモジュール112が、クライアント装置150のストリーミング受信モジュール162に対して、ストリーミング用の動画を送信する。いわゆるストリーミングを開始する。
【0050】
ステップS322では、動画ファイル受信モジュール164が、サーバ装置100の動画ファイル転送モジュール114に対して、動画IDを送信する。
ステップS324では、動画ファイル転送モジュール114が、クライアント装置150の動画ファイル受信モジュール164から送信されてきた動画IDを受信して、その動画IDに対応する動画ファイル(つまり、ストリーミング用動画のオリジナル版)を動画ファイルリポジトリ110から取り出す。
ステップS326では、動画ファイル転送モジュール114が、クライアント装置150の動画ファイル受信モジュール164に対して、動画ファイルを送信する。
なお、ステップS316〜S320の処理とステップS322からS326の処理は、いずれを先に行ってもよいし、並列して行ってもよい。
【0051】
ステップS328では、ストリーミング受信モジュール162が、サーバ装置100のストリーミングモジュール112から送信されてきたストリーミング用の画像を受信する。
ステップS330では、動画再生モジュール160が、ストリーミング用の画像を再生する。つまり、動画用ウィドウ内にストリーミング用の画像を再生する。
ステップS332では、動画再生モジュール160が、同期視聴用の操作があるか否かを判断し、ある場合はステップS334へ進み、それ以外の場合はステップS346へ進む。
動画再生モジュール160は、同期視聴のための操作を行うユーザインターフェイスを提供する。例えば、(1)一時停止を行うための「一時停止ボタン」、(2)再生の再開を行うための「再生ボタン」、(3)シークを行うための「シークバー」、(4)再生している動画の表示ウィンドウ上で、位置を指示等するためマウスポインタを動かすこと等を含む「マウスポインティングコマンド」等がある。視聴されている動画に対するこれらの同期視聴用の操作を同期視聴用コマンドという。これらの同期視聴用コマンドは、同じセッションに参加している他のユーザが視聴しているクライアント装置150の動画再生モジュール160でも同期視聴用コマンドが実行されるべきものである。
【0052】
ステップS334では、動画再生モジュール160が、受け付けた同期視聴用コマンドを同期視聴コマンド送受信モジュール172に渡す。例えば、シークコマンドにはパラメータとして何フレーム目に動いたかのフレーム番号が付加され、マウスポインティングコマンドには画像ウィンドウ上のxy座標が付加される。
ステップS336では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122に対して、同期視聴用コマンドを送信する。
ステップS338では、同期視聴セッション管理モジュール122が、クライアント装置150の同期視聴コマンド送受信モジュール172から送信されてきた同期視聴用コマンドを受信する。
【0053】
ステップS340では、同期視聴セッション管理モジュール122が、同期視聴用コマンドを他の操作者(もちろんのことながら、同じセッションに参加している他のユーザ)のクライアント装置150の同期視聴コマンド送受信モジュール172に送信する。
ステップS342では、同期視聴セッション管理モジュール122が、同期視聴用コマンドを同期視聴セッション記録モジュール120に渡す。この際に、同期視聴用コマンドを受け取ったタイミングを示すデータ(例えば、セッション開始時刻から受け取った時刻までの秒数)を付加し、同期視聴セッション記録モジュール120に通知する。
ステップS344では、同期視聴セッション記録モジュール120が、同期視聴用コマンドを記録する。例えば、セッション開始時刻から受け取った時刻までの秒数を付加して、同期視聴セッション管理テーブル600に記録する。図8は、同期視聴セッション管理テーブル600のデータ構造例を示す説明図である。同期視聴セッション管理テーブル600は、セッションID欄610、発行タイミング欄620、発行コマンド欄630、パラメータ欄640を有している。セッションID欄610は、セッションIDを記憶している。発行タイミング欄620は、そのセッションにおける同期視聴用コマンドの発行時期(同期視聴用コマンドを受け取ったタイミング)を記憶している。発行コマンド欄630は、そのセッションにおいて、その発行タイミングで発行された同期視聴用コマンドを記憶している。パラメータ欄640は、その同期視聴用コマンドにおけるパラメータ(パラメータが不要のものもある)を記憶している。さらに、その同期視聴用コマンドを発行したユーザIDを記憶するようにしてもよい。
【0054】
ステップS346では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122から送信されてきた同期視聴用コマンドを受信する。つまり、同じセッションに参加している他のユーザが実行した同期視聴用コマンドを受信する。
ステップS348では、同期視聴コマンド送受信モジュール172が、動画再生モジュール160に同期視聴用コマンドを渡す。
ステップS350では、動画再生モジュール160が、同期視聴用コマンドに応じて、動画の再生状況、マウスポインタの位置等を更新する。つまり、同期視聴用コマンドを実行する。これによって、同じセッションに参加している他のユーザが実行した同期視聴用コマンドがこのクライアント装置150の動画再生モジュール160によっても実行されることになる。
なお、動画再生中に同期視聴用コマンドの操作があった場合は、ステップS332〜S346の処理を行い、同期視聴用コマンドを受信した場合は、ステップS348〜S352の処理を行う。
これらの処理は、複数回繰り返されてもよいし、行われない場合があってもよい。
【0055】
ステップS352では、動画ファイル受信モジュール164等が、動画ファイル受信完了処理を行う。この処理の概要は以下の通りである。なお、詳細な処理内容は、図9に例示のフローチャートを用いて後述する。
動画ファイル受信モジュール164は、サーバ装置100の動画ファイル転送モジュール114から送信されてきた動画の受信が完了したら、動画再生モジュール160に受信先のファイルパス名とともに通知する。動画IDと取得した動画ファイルのパス名の対応付けを動画ファイル管理テーブル800に記憶(ファイルなどに保存)する。このデータは後述するセッションの再生時に利用される。図10は、動画ファイル管理テーブル800のデータ構造例を示す説明図である。動画ファイル管理テーブル800は、動画ID欄810、動画ファイル格納場所欄820を有している。動画ID欄810は、受信が完了した動画の動画IDを記憶している。動画ファイル格納場所欄820は、その動画の格納場所(動画ファイルのパス名)を記憶している。
そして、動画再生モジュール160は、動画ファイル受信モジュール164からの動画受信完了の通知を受け取ったら、通知されるファイルパスに存在する動画ファイルをオープンし、それまで再生していたストリーミング用動画の現在フレームまでシークし、再生を続行する。
【0056】
ステップS354では、動画再生モジュール160が、終了操作があったか否かを判断し、あった場合はステップS356へ進み、それ以外の場合はステップS332からの処理を行う。例えば、ユーザの操作として、動画再生モジュール160が表示している動画ウィンドウを閉じるなどの操作があった場合等が該当する。
ステップS356では、同期視聴コマンド送受信モジュール172が、サーバ装置100の同期視聴セッション管理モジュール122に対して、セッションからの脱退を通知する。
ステップS358では、同期視聴セッション管理モジュール122が、クライアント装置150の同期視聴コマンド送受信モジュール172から脱退の通知(ユーザIDを含む)を受信し、同期視聴セッション記録モジュール120に脱退の通知を渡す。
ステップS360では、同期視聴セッション記録モジュール120が、セッション管理テーブル500から脱退した操作者のユーザIDを削除する。
【0057】
なお、ステップS316の前に、動画再生モジュール160が、再生しようとしている動画IDの動画ファイル(オリジナル版)が動画ファイル蓄積モジュール166にあるか否かを判断してもよい。ある場合(すでに、その動画IDの動画の再生のセッションが行われており、2回目以降のセッションであって、すでにストリーミング用動画のオリジナル版である動画を受信している場合)は、その動画ファイルを再生し、ステップS332以下の処理を行う。ない場合は、ストリーミング用動画を再生するために、ステップS316以下の処理を行う。
【0058】
図9は、本実施の形態による処理例を示すフローチャートである。つまり、図5に例示のフローチャート内のステップS352の処理内容である。
ステップS702では、ストリーミング受信モジュール162が、ストリーミング用動画の受信を続ける。
ステップS704では、動画ファイル受信モジュール164が、動画ファイル(ストリーミング用動画のオリジナル版)の受信が完了したか否かを判断し、完了した場合はステップS706へ進み、それ以外の場合はステップS702からの処理を行う。また、完了した場合は、図10に例示の動画ファイル管理テーブル800のデータ構造を生成し、記憶する。
【0059】
ステップS706では、動画再生モジュール160が、現在のフレーム位置、再生状態(一時停止中か再生中か)、マウスポインタの位置等を一時的に記憶する。
ステップS708では、動画再生モジュール160が、受信先のファイルパス(動画ファイル管理テーブル800の動画ファイル格納場所欄820)にある動画ファイルをオープンし、ストリーミング接続を閉じて、動画ウィンドウのオープンした動画ファイルに差し替える。
ステップS710では、動画再生モジュール160が、動画(オリジナル版)の再生のフレーム位置を一時記憶したフレーム位置に合わせる。つまり、フレーム位置までシークして進める。
【0060】
ステップS712では、動画再生モジュール160が、マウスポインタの位置を一時記憶した位置に合わせる。
ステップS714では、動画再生モジュール160が、一時記憶した再生状態を判断し、一時停止中の場合はステップS716へ進み、再生中の場合はステップS718へ進む。
ステップS716では、動画再生モジュール160が、動画(オリジナル版)を一時停止させる。
ステップS718では、動画再生モジュール160が、動画(オリジナル版)を再生させる。
この後は、ストリーミング用動画の再生ではなく、動画(オリジナル版)の再生によって、図3から図5に例示のフローチャート内のステップS354以下の処理(ステップS332以下の処理を含む)を行うこととなる。
【0061】
図11は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、図3から図5に例示のフローチャート、図9に例示のフローチャートによる処理とは別に行われるものである。
概要を示すと、ユーザは動画再生処理の起動時に「セッション再生モード」の起動を選択できる。セッション再生モードを起動するとき、ユーザは再生したいセッションのセッションIDを指定する。同期視聴コマンド送受信モジュール172は、サーバ装置100の同期視聴セッション管理モジュール122に接続し、該当するセッションのデータ(セッション管理テーブル500)を取得する。また、同期視聴セッション記録モジュール120に接続し、該当するセッションのコマンド履歴を同期視聴セッション管理テーブル600から取得する。
そして、セッションデータとセッションのコマンド履歴を取得すると同期視聴セッション再生モジュール170がセッションコマンドの履歴に基づき、動画再生モジュール160にそのセッションにおける処理を再現させる。
【0062】
ステップS902では、動画再生モジュール160が、セッション再現モードで起動したか否かを判断し、セッション再現モードで起動した場合はステップS904へ進み、それ以外の場合はステップS999へ進む。
ステップS904では、同期視聴コマンド送受信モジュール172が、操作者から指定されたセッションIDをサーバ装置100の同期視聴セッション管理モジュール122に送信する。
ステップS906では、同期視聴セッション記録モジュール120が、指定されたセッションが存在し、かつ終了しているか否かを判断し、指定されたセッションが存在し、かつ終了している場合はステップS910へ進み、それ以外の場合はステップS908へ進む。
【0063】
ステップS908では、同期視聴セッション再生モジュール170が、操作者にエラー(セッションの再現ができない旨)を通知する。その後、終了する(ステップS999)。
ステップS910では、同期視聴セッション再生モジュール170が、サーバ装置100の同期視聴セッション管理モジュール122からセッション情報を、同期視聴セッション記憶モジュール120からセッションコマンド履歴を取得する。
ステップS912では、同期視聴セッション再生モジュール170が、セッションコマンド履歴を発生順にソートする。
【0064】
ステップS914では、同期視聴セッション再生モジュール170が、セッション情報から動画IDを取得し、この動画IDに対応する動画は動画ファイル蓄積モジュール166にダウンロード済みか、動画ファイル受信モジュール164に問い合わせる。
ステップS916では、同期視聴セッション再生モジュール170が、ダウンロード済みであるか否かを判断し、ダウンロード済みである場合はステップS920へ進み、それ以外の場合はステップS918へ進む。
ステップS918では、ストリーミング受信モジュール162が、ストリーミングモジュール112に接続し、動画IDに対応する動画のストリーミングを開始し、タイマーを起動する。
【0065】
ステップS920では、動画再生モジュール160が、受信した動画をオープンし、動画再生モジュール160で再生させ、タイマーを起動する。
ステップS922では、同期視聴セッション再生モジュール170が、セッションコマンド履歴が残っているか否かを判断し、残っている場合はステップS924へ進み、それ以外の場合はステップS928へ進む。
ステップS924では、同期視聴セッション再生モジュール170が、セッションコマンド履歴から最も発生順の古いコマンドを取り出し、発生タイミングまで待機する。
ステップS926では、同期視聴セッション再生モジュール170が、動画再生モジュール160に動画視聴コマンドを通知し、該当する処理を行わせ、ステップS922からの処理を行う。
ステップS928では、動画再生モジュール160が、再生を停止する。
【0066】
なお、本実施の形態(動画送信装置としての機能を有するサーバ装置100、動画再生装置としての機能を有するクライアント装置150)としてのプログラムが実行されるコンピュータのハードウェア構成は、図12に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1201を用い、記憶装置としてRAM1202、ROM1203、HD1204を用いている。HD1204として、例えばハードディスクを用いてもよい。ストリーミングモジュール112、動画ファイル転送モジュール114、同期視聴セッション記録モジュール120、同期視聴セッション管理モジュール122、ストリーミング受信モジュール162、動画ファイル受信モジュール164、動画再生モジュール160、同期視聴コマンド送受信モジュール172、同期視聴セッション再生モジュール170等のプログラムを実行するCPU1201と、そのプログラムやデータを記憶するRAM1202と、本コンピュータを起動するためのプログラム等が格納されているROM1203と、補助記憶装置であるHD1204と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置1206と、CRT、液晶ディスプレイ等の出力装置1205と、ネットワークインターフェイスカード等の通信ネットワークと接続するための通信回線インターフェイス1207、そして、それらをつないでデータのやりとりをするためのバス1208により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0067】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図12に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図12に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【0068】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0069】
100…サーバ装置
110…動画ファイルリポジトリ
112…ストリーミングモジュール
114…動画ファイル転送モジュール
120…同期視聴セッション記録モジュール
122…同期視聴セッション管理モジュール
150…クライアント装置
150A…クライアント装置
150B…クライアント装置
150C…クライアント装置
160…動画再生モジュール
162…ストリーミング受信モジュール
164…動画ファイル受信モジュール
166…動画ファイル蓄積モジュール
170…同期視聴セッション再生モジュール
172…同期視聴コマンド送受信モジュール
200…通信回線
【特許請求の範囲】
【請求項1】
複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、
前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段
を備える動画送信装置と、
前記動画送信装置の第1の送信手段によって送信された第1の動画を受信する第1の受信手段と、
前記動画送信装置の第2の送信手段によって送信された第2の動画を受信する第2の受信手段と、
前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、
前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段
を備え、前記動画送信装置と通信回線を介して接続されている動画再生装置
を具備し、
前記動画再生装置の前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する
ことを特徴とする情報処理システム。
【請求項2】
複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、
前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段
を具備することを特徴とする情報処理装置。
【請求項3】
動画送信装置によって送信された第1の動画を受信する第1の受信手段と、
前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、
前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、
前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段
を具備し、
前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する
ことを特徴とする情報処理装置。
【請求項4】
動画再生装置間で同期をとりながら動画の再生を行っている場合の、該動画に対する操作者の操作を受信する操作受信手段と、
前記操作受信手段によって受信された操作を記憶する操作記憶手段と、
前記動画再生装置からの要求にしたがって、前記操作記憶手段に記憶されている操作を送信する第3の送信手段
を具備することを特徴とする請求項2に記載の情報処理装置。
【請求項5】
動画に対する操作を行った場合は、該操作を動画送信装置に送信する操作送信手段と、
前記動画送信装置に記憶された操作を要求する要求手段と、
前記要求手段による要求にしたがって、前記動画送信装置によって送信された操作を受信する操作受信手段
を具備し、
前記動画再生装置は、前記操作受信手段によって受信された操作に基づいて、動画及び操作の再現を行う
ことを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記動画再生装置は、動画を再現する場合にあって、前記動画記憶手段によって該動画が記憶されているか否かを判断し、該動画が記憶されていると判断した場合は、該動画を再生する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記再生手段は、前記動画記憶手段によって記憶されている第2の動画を再生する場合は、前記第1の動画の再生を中止した場面から該第2の動画を再生する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項8】
コンピュータを、
複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、
前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段
として機能させるための情報処理プログラム。
【請求項9】
コンピュータを、
動画送信装置によって送信された第1の動画を受信する第1の受信手段と、
前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、
前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、
前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段
として機能させ、
前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する
ことを特徴とする情報処理プログラム。
【請求項1】
複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、
前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段
を備える動画送信装置と、
前記動画送信装置の第1の送信手段によって送信された第1の動画を受信する第1の受信手段と、
前記動画送信装置の第2の送信手段によって送信された第2の動画を受信する第2の受信手段と、
前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、
前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段
を備え、前記動画送信装置と通信回線を介して接続されている動画再生装置
を具備し、
前記動画再生装置の前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する
ことを特徴とする情報処理システム。
【請求項2】
複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、
前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段
を具備することを特徴とする情報処理装置。
【請求項3】
動画送信装置によって送信された第1の動画を受信する第1の受信手段と、
前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、
前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、
前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段
を具備し、
前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する
ことを特徴とする情報処理装置。
【請求項4】
動画再生装置間で同期をとりながら動画の再生を行っている場合の、該動画に対する操作者の操作を受信する操作受信手段と、
前記操作受信手段によって受信された操作を記憶する操作記憶手段と、
前記動画再生装置からの要求にしたがって、前記操作記憶手段に記憶されている操作を送信する第3の送信手段
を具備することを特徴とする請求項2に記載の情報処理装置。
【請求項5】
動画に対する操作を行った場合は、該操作を動画送信装置に送信する操作送信手段と、
前記動画送信装置に記憶された操作を要求する要求手段と、
前記要求手段による要求にしたがって、前記動画送信装置によって送信された操作を受信する操作受信手段
を具備し、
前記動画再生装置は、前記操作受信手段によって受信された操作に基づいて、動画及び操作の再現を行う
ことを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記動画再生装置は、動画を再現する場合にあって、前記動画記憶手段によって該動画が記憶されているか否かを判断し、該動画が記憶されていると判断した場合は、該動画を再生する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記再生手段は、前記動画記憶手段によって記憶されている第2の動画を再生する場合は、前記第1の動画の再生を中止した場面から該第2の動画を再生する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項8】
コンピュータを、
複数の動画再生装置に対して、第1の動画を送信する第1の送信手段と、
前記複数の動画再生装置に対して、前記第1の送信手段が送信する第1の動画よりも高画質の第2の動画を送信する第2の送信手段
として機能させるための情報処理プログラム。
【請求項9】
コンピュータを、
動画送信装置によって送信された第1の動画を受信する第1の受信手段と、
前記動画送信装置によって送信されており、前記第1の動画よりも高画質である第2の動画を受信する第2の受信手段と、
前記第2の受信手段によって受信された第2の動画を記憶する動画記憶手段と、
前記第1の受信手段によって受信されている第1の動画又は前記動画記憶手段によって記憶されている第2の動画のいずれかを再生する再生手段
として機能させ、
前記再生手段は、前記第1の動画を再生している間に、前記第2の受信手段による第2の動画の受信が終了したことを検知した場合は、該第1の動画の再生を中止し、前記動画記憶手段によって記憶されている第2の動画を再生する
ことを特徴とする情報処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−55493(P2013−55493A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−192017(P2011−192017)
【出願日】平成23年9月2日(2011.9.2)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願日】平成23年9月2日(2011.9.2)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]