(57)【特許請求の範囲】
【請求項１】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、
前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、
この送信手段によって送信された動画の表示状態を検出する検出手段と、
この検出手段によって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる制御手段と、
を具備したことを特徴とするサーバ装置。
【請求項２】
前記制御手段は、前記検出手段によって前記クライアント装置の表示部に設けられた動画表示用のウインドウの前面に他のウインドウが表示された状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記制御手段は、前記検出手段によって前記クライアント装置の表示部に設けられた動画表示用のウインドウが所定の表示領域から外れた状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項１又は２記載のサーバ装置。
【請求項４】
前記制御手段は、前記検出手段によって前記クライアント装置の表示部に設けられた動画表示用のウインドウが最小化された状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項１乃至３のいずれか１つに記載のサーバ装置。
【請求項５】
前記クライアント装置から動画の表示状態に応じて送信される中断通知データを受信する受信手段を備え、
前記制御手段は、前記受信手段によって中断通知データが受信されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項１乃至４のいずれか１つに記載のサーバ装置。
【請求項６】
前記中断通知データは、前記クライアント装置の表示部に設けられた動画表示用のウインドウの前面にポップアップが発生した場合に送信される、
ことを特徴とする請求項５記載のサーバ装置。
【請求項７】
前記動画再生手段によって動画の再生動作が中断されたときの時間とフレーム位置を管理する管理手段を備え、
前記制御手段は、前記クライアント装置側で動画を正常に表示できる状態になったときに、前記管理手段によって管理された中断時点の時間とフレーム位置に基づいて、前記動画再生手段に当該動画の再生動作を再開させる、
ことを特徴とする請求項１乃至６のいずれか１つに記載のサーバ装置。
【請求項８】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、
前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、
この送信手段によって送信された動画の表示状態を検出する検出手段と、
この検出手段によって当該動画が表示される状態を検出されたときに、前記動画再生手段による動画の再生処理を行わせる制御手段と、
を具備したことを特徴とするサーバ装置。
【請求項９】
前記制御手段は、前記検出手段によって前記動画の一部あるいは全体が表示されていない状態が検出されて前記動画再生手段による動画の再生処理が中止されている状態にあって、前記検出手段によって当該動画が表示される状態に復帰したことを検出されたときに、前記動画再生手段による動画の再生処理を再開させる、
ことを特徴とする請求項８記載のサーバ装置。
【請求項１０】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、
前記クライアント装置からの動画要求に応じて動画の表示処理を実行する動画処理手段と、
この動画処理手段によって表示処理された動画を前記クライアント装置側で表示させるべくその動画を送信する送信手段と、
この送信手段によって送信された動画の表示状態の変化を検出する検出手段と、
この検出手段による前記表示状態の変化の検出結果に応じて、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止、あるいは前記クライアント装置側において前記動画を表示させる処理を行わせる制御手段と、
を具備したことを特徴とするサーバ装置。
【請求項１１】
前記制御手段は、前記検出手段によって前記動画の一部又は全体が表示されていない状態に変化したことを検出した際に、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止を行わせる、
ことを特徴とする請求項１０記載のサーバ装置。
【請求項１２】
前記制御手段は、前記検出手段によって前記動画が表示される状態に変化したことを検出した際に、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理を行わせる、
ことを特徴とする請求項１０又は１１記載のサーバ装置。
【請求項１３】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置の動作を制御するコンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段、
この送信手段によって送信された動画の表示状態を検出する検出手段、
この検出手段によって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる制御手段、
として機能させるプログラム。
【請求項１４】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置の動作を制御するコンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記クライアント装置から送信された入力イベントに応じて動画の再生処理を実行する動画再生手段、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段、
この送信手段によって送信された動画の表示状態を検出する検出手段、
この検出手段によって当該動画が表示される状態を検出されたときに、前記動画再生手段による動画の再生処理を行わせる制御手段、
として機能させるプログラム。
【請求項１５】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置の動作を制御するコンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記クライアント装置からの動画要求に応じて動画の表示処理を実行する動画処理手段、
この動画処理手段によって表示処理された動画を前記クライアント装置側で表示させるべくその動画を送信する送信手段、
この送信手段によって送信された動画の表示状態の変化を検出する検出手段、
この検出手段による前記表示状態の変化の検出結果に応じて、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止、あるいは前記クライアント装置側において前記動画を表示させる処理を行わせる制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びプログラムに関する。
【背景技術】
【０００２】
サーバ装置とクライアント装置がネットワークを介して接続されたコンピュータシステムにおいて、クライアント装置が使用するアプリケーションプログラムをすべてサーバ装置上に実装し、クライアント装置は操作画面のデータだけをサーバ装置から受け取り、クライアント装置からはマウスとキーストロークの操作情報だけがサーバ装置に送られるようにした、いわゆる「ＳＢＣ（ＳＢＣ：Server Based Computing）」が注目されている。このＳＢＣは、「シンクライアントシステム」とも呼ばれており、広帯域ネットワークの普及を背景として各分野で広く使われている（例えば、特許文献１参照）。
【０００３】
このようなサーバベース・コンピューティング・システムにあっては、サーバ装置がクライアント装置の表示部に表示される画面情報を生成して送信する（例えば、特許文献２参照）。また、クライアント装置側で任意の動画再生アプリケーションを指定して実行させることが可能である（例えば、特許文献３参照）。
【０００４】
ここで、動画再生アプリケーションが実行された場合において、クライアント装置の表示部には動画再生アプリケーション用の映像ウインドウが表示される。この映像ウインドウには再生・中断ボタンが設けられており、その再生・中断ボタンをユーザがクリックすると、そのクリックした位置の座標データがサーバ装置に送信される。サーバ装置では、クライアント装置から送られてきた座標データから再生・中断ボタンがクリックされたことを判別して、動画の再生あるいは中断の処理を実行することになる。
【特許文献１】特開２００６−３２３６６０号公報
【特許文献２】特開２００７−２１９６２９号公報
【特許文献３】特開２００７−３１０５０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、動画の再生中に、例えば映像ウインドウの前面に他のウインドウが表示されるなどして、クライアント装置側で動画の一部あるいは全体が表示されていない状態になっても、動画の再生動作は中断されず、そのまま継続される。
【０００６】
このような場合、前記再生・中断ボタンの操作によりユーザが明示的に中断の指示を行えば、動画の再生動作を中断することができるが、ユーザがその指示操作を行うまでの時間と、実際に中断要求（入力イベント）がサーバ装置に送られて来るまでのタイムラグがあるため、直ぐには中断されない。このため、ユーザが見たいシーンを見逃してしまうことがある。
【０００７】
本発明は前記のような点に鑑みなされたもので、サーバ装置側で処理され送信される動画がクライアント装置側で正常に表示されるか否かに基づいて、ユーザによる明示的な操作を必要とせずに、クライアント装置側に送信する動画に対する制御を自動的に行わせることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の請求項１は、クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、この送信手段によって送信された動画の表示状態を検出する検出手段と、この検出手段によって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる制御手段と、を具備したことを特徴とする。
【００１５】
本発明の請求項８は、クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、この送信手段によって送信された動画の表示状態を検出する検出手段と、この検出手段によって当該動画が表示される状態を検出されたときに、前記動画再生手段による動画の再生処理を行わせる制御手段と、を具備したことを特徴とする。
【００１６】
本発明の請求項１０は、クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、前記クライアント装置からの動画要求に応じて動画の表示処理を実行する動画処理手段と、この動画処理手段によって表示処理された動画を前記クライアント装置側で表示させるべくその動画を送信する送信手段と、この送信手段によって送信された動画の表示状態の変化を検出する検出手段と、この検出手段による前記表示状態の変化の検出結果に応じて、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止、あるいは前記クライアント装置側において前記動画を表示させる処理を行わせる制御手段と、を具備したことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、サーバ装置側で処理され送信される動画がクライアント装置側で正常に表示されるか否かに基づいて、ユーザによる明示的な操作を必要とせずに、クライアント装置側に送信する動画に対する制御を自動的に行わせることができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施形態を説明する。
【００２０】
図１は本発明の一実施形態に係るサーバベース・コンピューティング・システムの構成を示すブロック図である。
【００２１】
このサーバベース・コンピューティング・システムは、サーバ装置１１と複数のクライアント装置１２（１２ａ，１２ｂ，１２ｃ…）を備え、これらがＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)等のネットワーク１３を介して互いに通信可能に接続されている。
【００２２】
サーバ装置１１は、例えばネットワーク１３に有線接続されたパーソナルコンピュータである。クライアント装置１２として、例えばネットワーク１３に有線接続されたパーソナルコンピュータ１２ａや、ネットワーク１３にアクセスポイントＡＰを介して無線接続された携帯電話１２ｂ、同アクセスポイントＡＰを介して無線接続された携帯端末１２ｃなどがある。
【００２３】
サーバ装置１１は、例えば文書作成処理プログラム，表計算処理プログラム，住所録プログラム，メモ帳プログラム，プレゼン資料作成プログラム，メール処理プログラム，インターネット接続処理プログラム、Ｗｅｂ表示プログラムなどを含む各種アプリケーションプログラムを有し、当該サーバ装置１１にネットワーク１３を介して接続されたクライアント装置１２（１２ａ，１２ｂ，１２ｃ…）からの操作入力（入力イベント）に応じたアプリケーションプログラムを起動し、その処理を実行する。
【００２４】
このサーバ装置１１において、アプリケーションプログラムの実行に伴い生成された表示出力用の描画データは、所定の方式で圧縮されて、アクセス元のクライアント装置１２に送られる。クライアント装置１２では、サーバ装置１１から送られた描画データを解凍して画面上に表示する。
【００２５】
図２はサーバベース・コンピューティング・システムに用いられるサーバ装置１１の回路構成を示すブロック図である。
【００２６】
サーバ装置１１は、コンピュータとしてのＣＰＵ２１を備える。このＣＰＵ２１には、システムバス２０を介してメモリ２２、フレームバッファＲＡＭ２３、記憶部２４、入力部２５、表示部２６、通信制御部２７、媒体読取り部２８、ＲＴＣ（Real Time Clock）２９が接続される。
【００２７】
ＣＰＵ２１は、記憶部２２に予め記憶されたプログラム、あるいは、外部記録媒体２８ａから媒体読取り部２８を介して読み取られたプログラム、あるいは、ネットワーク１３を介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。このＣＰＵ２１によって実行されるプログラムには、ＯＳ（Operating System）の他、クライアント装置１２が利用する各種アプリケーションプログラム、これらのアプリケーションプログラムの起動に伴って生成される描画データの画面表示制御を行うための表示制御プログラムなどが含まれる。
【００２８】
メモリ２２には、各クライアント装置１２（１２ａ，１２ｂ，１２ｃ…）毎に例えばユーザＩＤ等によって関連付けられた複数の仮想フレームバッファ２２ａが設けられている。
【００２９】
フレームバッファＲＡＭ２３は、サーバ装置１１に備えられた表示部２６の画面に表示する描画データをフレーム単位で保持するためのバッファメモリである。
【００３０】
記憶部２４には、サーバ装置１１の動作を制御するためのサーバ制御プログラムを含む各種プログラムを記憶するためのプログラム記憶領域２４ａの他、動画の再生処理を実行するための動画再生アプリ２４ｂ、この動画再生アプリ２４ｂによって再生される動画を管理するための管理データベース（以下、管理ＤＢと称す）２４ｃが設けられている。
【００３１】
入力部２５は、例えばキーボード、マウスなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。
【００３２】
表示部２６は、各種データを表示するものであり、例えばＣＲＴ（Cathode-ray tube）やＬＣＤ（Liquid Crystal Display）などからなる。
【００３３】
通信制御部２７は、ネットワーク１３を介して外部の端末との間で通信処理を行うためのものであり、ここではサーバ装置１１側で生成した描画データの送信処理や、クライアント装置１２から送信されるデータの受信処理などを行う。
【００３４】
媒体読取り部２８は、外部記録媒体２８ａに記録されたデータを読み取る。外部記録媒体２８ａとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。また、ＲＴＣ２９は、時間をカウントするための計時部として用いられる。
【００３５】
図３はサーバ装置１１に備えられたＣＰＵ２１の機能構成を示すブロック図である。
【００３６】
本実施形態において、ＣＰＵ２１によって実行される処理を機能的に示すと、ＣＰＵ２１は、動画再生部２１ａ、動画送信部２１ｂ、動画表示検出部２１ｃ、再生制御部２１ｄ、中断通知データ受信部２１ｅからなる。
【００３７】
動画再生部２１ａは、クライアント装置１２から送信された入力イベントに応じて、記憶部２４に記憶された動画再生アプリ２４ｂを起動して動画の再生処理を実行する。動画送信部２１ｂは、動画再生部２１ａによって再生された動画をクライアント装置１２の表示部３６に表示させる画面情報として送信する。動画表示検出部２１ｃは、動画送信部２１ｂによって送信された動画の表示状態を検出する。
【００３８】
再生制御部２１ｄは、動画表示検出部２１ｃによって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、動画再生部２１ａによる動画の再生処理を直ちに中断させる。
【００３９】
また、中断通知データ受信部２１ｅは、クライアント装置１２から動画の表示状態に応じて送信される中断通知データを受信する。再生制御部２１ｄは、この中断通知データ受信部２１ｅによって中断通知データが受信されたときに、動画再生部２１ａによる動画の再生処理を直ちに中断させる。
【００４０】
図４はサーバベース・コンピューティング・システムに用いられるクライアント装置１２（１２ａ，１２ｂ，１２ｃ…）の回路構成を示すブロック図である。
【００４１】
クライアント装置１２（１２ａ，１２ｂ，１２ｃ…）は、コンピュータとしてのＣＰＵ３１を備える。このＣＰＵ３１には、システムバス３０を介してメモリ３２、フレームバッファＲＡＭ３３、記憶部３４、入力部３５、表示部３６、通信制御部３７、媒体読取り部３８、音声出力部３９が接続される。
【００４２】
ＣＰＵ３１は、記憶部３２に予め記憶されたプログラム、あるいは、外部記録媒体３８ａから媒体読取り部３８を介して読み取られたプログラム、あるいは、ネットワーク１３を介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。このＣＰＵ３１によって実行されるプログラムとしては、ＯＳ（Operating System）が主であり、その他の各種アプリケーションプログラムについては、基本的にサーバ装置１１が保有している。
【００４３】
メモリ３２は、ＣＰＵ３１の処理動作に必要な各種データを記憶する。フレームバッファＲＡＭ３３は、クライアント装置１２に備えられた表示部３６の画面に表示する描画データをフレーム単位で保持するためのバッファメモリである。
【００４４】
記憶部３４には、クライアント装置１２の動作を制御するためのクライアント制御プログラムを含む各種プログラムを記憶するためのプログラム記憶領域３４ａが設けられる。
【００４５】
入力部３５は、例えばキーボード、マウス、タッチパネルなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。
【００４６】
表示部３６は、各種データを表示するものであり、例えばＣＲＴ（Cathode-ray tube）やＬＣＤ（Liquid Crystal Display）などからなる。また、音声出力部３９は、スピーカからなり、音声データの出力を行う。
【００４７】
通信制御部３７は、ネットワーク１３を介して外部の端末との間で通信処理を行うためのものであり、ここでは入力データを送信するための処理を行う。
【００４８】
媒体読取り部３８は、外部記録媒体３８ａに記録されたデータを読み取る。外部記録媒体３８ａとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。
【００４９】
図５はクライアント装置１２に備えられたＣＰＵ３１の機能構成を示すブロック図である。
【００５０】
本実施形態において、ＣＰＵ３１によって実行される処理を機能的に示すと、ＣＰＵ３１は、イベント送信部３１ａ、動画受信部３１ｂ、動画表示部３１ｃ、ポップアップ検出部３１ｄ、中断通知データ送信部３１ｅからなる。
【００５１】
イベント送信部３１ａは、サーバ装置１１に対して動画再生アプリ２４ｂの起動要求を含む入力イベントを送信する。動画受信部３１ｂは、イベント送信部３１ａによって送信された入力イベントに応答して、サーバ装置１１から画面情報として送られてくる動画を受信する。動画表示部３１ｃは、動画受信部３１ｂによって受信された動画を表示部３６に表示する。
【００５２】
ポップアップ検出部３１ｄは、動画の表示中にポップアップの発生を検出する。中断通知データ送信部３１ｅは、ポップアップ検出部３１ｄによって検出されたポップアップが表示部３６に設けられた動画表示用のウインドウ（図１４の映像ウインドウ４３）の前面に発生した場合に、サーバ装置１１に対して動画再生の中断を指示するための中断通知データを送信する。
【００５３】
図６はサーバ装置１１に備えられた管理ＤＢ２４ｃの一例を示す図である。図中のＤＡＴＡ１，ＤＡＴＡ２…は、動画再生アプリ２４ｂが再生対象としているデータの種類を表している。
【００５４】
この管理ＤＢ２４ｃには、ユーザのＩＤ、データ格納場所を示すＵＲＬ、再生に要する時間（DURATION TIME）の他、再生が中断されたときの時間（PAUSE TIME）、映像データのフレームＩＤ（VIDEO FRAME ID）、音声データのフレームＩＤ（AUDIO FRAME ID）が記憶されている。
【００５５】
図７は動画を構成する映像データと音声データのパケット構成を示す図である。
【００５６】
本実施形態では、映像データと音声データからなる音声付きの動画を再生対象としている。なお、この映像データと音声データは、サーバ装置１１の記憶部２４などに記憶されている。
【００５７】
動画再生時において、この映像データと音声データの先頭にヘッダ情報と再生開始時間（TIME）、フレームＩＤが付加されてクライアント装置１２に送られる。前記ヘッダ情報には、動画の要求元であるクライアント装置１２のアドレスとユーザＩＤ、パケット長、システムのシーケンスＩＤ、サーバ装置１１のアドレスなどが含まれる。
【００５８】
図８は中断通知データのパケット構成を示す図である。
【００５９】
中断通知データは、動画再生を中断するためのデータであり、後述するようにクライアント装置１２側でポップアップが発生したときにサーバ装置１１に送られてくる。この中断通知データの先頭には、ヘッダ情報と再生中断時間（TIME）、映像データと音声データのフレームＩＤが付加されている。前記ヘッダ情報には、送信先であるサーバ装置１１のアドレス、送信元のユーザＩＤなどが含まれる。
【００６０】
次に、本実施形態の動作について、（ａ）クライアント装置１２側の処理と、（ｂ）サーバ装置１１側の処理に分けて詳しく説明する。
【００６１】
（ａ）クライアント装置１２側の処理
図９はクライアント装置１２による動画再生時の処理動作を示すフローチャートである。なお、このフローチャートで示される処理は、クライアント装置１２に備えられたＣＰＵ３１によって読み取り可能なプログラムの形態で記憶部３４のプログラム記憶領域３４ａに予め記憶されている。
【００６２】
ユーザがクライアント装置１２を操作して所定の接続手続きを行うと、パスワード，ＩＤ等による認証がなされ（ステップＡ１１）、クライアント装置１２がサーバ装置１１に接続される（ステップＡ１２）。
【００６３】
クライアント装置１２がサーバ装置１１に接続された状態で、何らかの入力イベントが発生すると（ステップＡ１４のＹＥＳ）、クライアント装置１２のＣＰＵ３１は、その入力イベントを受け付けてサーバ装置１１に送信する（ステップＡ１５）。後述するように、サーバ装置１１では、クライアント装置１２から送られてきた入力イベントを受信することにより、その入力イベントに対応した所定の処理を実行する。
【００６４】
ここで、サーバ装置１１から画像情報がクライアント装置１２に送られて来たとすると、クライアント装置１２のＣＰＵ３１は、サーバ装置１１からの画像情報を通信制御部３７を通じて受信することにより（ステップＡ１６のＹＥＳ）、その画像情報をフレームバッファＲＡＭ３３にフレーム単位で格納して表示部３６に表示出力する（ステップＡ１７）。
【００６５】
また、動画再生アプリ２４ｂの起動後、サーバ装置１１から映像データあるいは音声データが送られて来たとすると、クライアント装置１２のＣＰＵ３１は、この映像データあるいは音声データを受信することにより（ステップＡ１８のＹＥＳ）、それぞれのデータに付加された再生開始時間に従って映像データと音声データの同期を取って表示部３６と音声出力部３９に再生出力する（ステップＡ１９）。
【００６６】
また、動画再生中にクライアント装置１２側でポップアップが発生したとする。図１４にクライアント装置１２のポップアップ発生時の画面例を示す。図中の４１は映像表示領域、４２はタクスバー領域である。また、４３は映像ウインドウ、４４はポップアップウインドウである。
【００６７】
動画再生アプリ２４ｂが起動されると、サーバ装置１１では、図１４に示すような動画表示用の映像ウインドウ４３を含む画面情報を生成してクライアント装置１２に送信する。この映像ウインドウ４３は、クライアント装置１２の表示部３６に設定された映像表示領域４１の中に設けられており、そこにサーバ装置１１から送られて来る各フレームの映像データが順に再生表示される。
【００６８】
ここで、クライアント装置１２側で電話やメールを受信した場合や、何らかの動作エラーが発生した場合、あるいは、ユーザの誤操作により他のメニュー表示が指示された場合などに、その旨を示すポップアップウインドウ４４が映像ウインドウ４３が表示されることがある。このようなポップアップウインドウ４４が他のウインドウ４５の前面に表示されると、映像ウインドウ４３の一部あるいは全体が隠れてしまい、そこに再生表示されている映像データを見ることができなくなる。
【００６９】
そこで、クライアント装置１２のＣＰＵ３１は、動画再生中の映像ウインドウ４３の前面にポップアップウインドウ４４が発生したことを検出すると（ステップＡ２０のＹＥＳ）、ポップアップイベント発生と中断通知データをサーバ装置１１に送信して動画再生の中断を指示する（ステップＡ２１）。
【００７０】
また、ユーザが接続終了の操作を行うと（ステップＡ１３のＹＥＳ）、所定の接続終了処理が実行されて、サーバ装置１１との間の通信回線が遮断される（ステップＡ２２）。
【００７１】
（ｂ）サーバ装置１１側の処理
図１０はサーバ装置１１による動画再生時の処理動作を示すフローチャートである。なお、このフローチャートで示される処理は、サーバ装置１１に備えられたＣＰＵ２１によって読み取り可能なプログラムの形態で記憶部２４のプログラム記憶領域２４ａに予め記憶されている。
【００７２】
サーバ装置１１側では、クライアント装置１２から接続要求があると、パスワード，ＩＤ等によって認証を行い（ステップＢ１１）、その要求先のクライアント装置１２との回線を接続する（ステップＢ１２）
サーバ装置１１にクライアント装置１２が接続された状態で、クライアント装置１２から何らかの入力イベントを受け付けると（ステップＢ１４のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、その入力イベントに対応した所定の処理を実行する（ステップＢ１５〜Ｂ２６）。
【００７３】
ここで、動画再生に関わる入力イベントとして、動画再生アプリ２４ｂの起動を要求するための「動画再生起動イベント」，動画再生を要求するための「動画再生イベント」，動画再生の中断を要求するための「再生中断イベント」，動画再生の終了を要求するための「動画終了イベント」がある。なお、これらの入力イベントは、クライアント装置１２側での所定のボタン操作により発生される。
【００７４】
クライアント装置１２から「動画再生起動イベント」を受信した場合（ステップＢ１６のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、動画再生アプリ２４ｂに対して起動指示を行う（ステップＢ１７）。なお、この起動指示や、後述する再生指示、中断指示、終了指示に対する動画再生アプリ２４ｂの動作については、後に図１１を参照して詳しく説明する。
【００７５】
クライアント装置１２から「動画再生イベント」を受信した場合（ステップＢ１８のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、動画再生アプリ２４ｂに対して動画の再生指示を行う（ステップＢ１９）。
【００７６】
クライアント装置１２から「再生中断イベント」を受信した場合（ステップＢ２０のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、動画再生アプリ２４ｂに対して動画再生の中断指示を行う（ステップＢ２１）。なお、このときの「再生中断イベント」は、クライアント装置１２の映像ウインドウ４３内に設けられた図示せぬ中断ボタン等の操作により、ユーザが明示的に動画再生の中断を指示したときに送られてくる。
【００７７】
一方、動画再生中に、例えばユーザが誤操作により他のアプリケーションを起動してしまった場合などに、図１５に示すように、映像ウインドウ４３の前面に他のウインドウ４５が表示されることがある。サーバ装置１１のＣＰＵ２１は、映像ウインドウ４３の座標位置と他のウインドウ４５の座標位置との比較により、映像ウインドウ４３の前面に他のウインドウ４５が表示されている状態を検出すると（ステップＢ２２のＹＥＳ）、ユーザの明示的な指示に関係なく、動画再生アプリ２４ｂに対して動画再生の中断指示を行う（ステップＢ２１）。
【００７８】
そして、サーバ装置１１のＣＰＵ２１は、映像ウインドウ４３の座標位置と他のウインドウ４５の座標位置との比較により、映像ウインドウ４３の前面から他のウインドウ４５から外れた状態あるいはウインドウ４５の表示が消された状態を検出すると（ステップＢ２３のＹＥＳ）、動画再生アプリ２４ｂに対して動画の再生指示を行う（ステップＢ２１）。この場合、後述するように、前記中断指示によって動画の再生が中断された場所から再生処理が再開されることになる。
【００７９】
また、クライアント装置１２から再生終了イベントを受信すると（ステップＢ２５のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、動画再生アプリ２４ｂに対して動画再生の終了指示を行う（ステップＢ２６）。
【００８０】
一方、入力イベントでなく（ステップＢ１４のＮＯ）、動画再生アプリ２４ｂによって再生された映像データあるいは音声データであれば（ステップＢ２７のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、その映像データあるいは音声データをパケット単位でクライアント装置１２に送信する（ステップＢ２８）。
【００８１】
また、ポップアップイベント発生と中断通知データがクライアント装置１２から送られて来た場合には（ステップＢ２９のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、動画再生アプリ２４ｂに対して動画再生の中断指示を行う（ステップＢ３０）。
【００８２】
最後に、クライアント装置１２から接続終了処理のコマンドを受信することにより（ステップＢ１３のＹＥＳ）、サーバ装置１１のＣＰＵ２１は、クライアント装置１２との間の通信回線を遮断して（ステップＢ２７）、ここでの一連の処理を終える。
【００８３】
（他のケース）
なお、前記ステップＢ２２，Ｂ２３では、クライアント装置１２側で動画の映像データが正常に表示されていないケースとして、映像ウインドウ４３の前面に他のウインドウ４５が表示された場合を例にしたが（図１５参照）、図１６に示すように、映像ウインドウ４３の一部が映像表示領域４１から外れた場合や、図１７に示すように、映像ウインドウ４３が最小化された場合についても同様である。これらの表示状態は、サーバ装置１１に備えられているウインドウマネージャーによって検出される。
【００８４】
具体的な処理は以下のようになる。  
すなわち、図１１のフローチャートに示すように、サーバ装置１１のＣＰＵ２１は、映像ウインドウ４３の座標位置に基づいて、映像ウインドウ４３の一部がクライアント装置１２の表示部３６に予め設定された映像表示領域４１から外れた状態を検出すると（ステップＣ１１のＹＥＳ）、ユーザの明示的な指示に関係なく、動画再生アプリ２４ｂに対して動画再生の中断指示を行う（ステップＢ２１）。
【００８５】
なお、前記映像ウインドウ４３の一部が映像表示領域４１から外れた状態とは、図１６に示すように、映像ウインドウ４３の端部が映像表示領域４１の外にはみ出してしまった状態であり、例えば映像ウインドウ４３の全体の１０％以上がはみ出した場合に動画再生を中断するものとする。
【００８６】
そして、サーバ装置１１のＣＰＵ２１は、映像ウインドウ４３の座標位置に基づいて、映像ウインドウ４３の全体が映像表示領域４１内に収まった状態を検出すると（ステップＣ１２のＹＥＳ）、動画再生アプリ２４ｂに対して動画の再生指示を行う（ステップＢ２１）。この場合、前記中断指示によって動画の再生が中断された位置から再生が行われることになる。
【００８７】
また、図１２のフローチャートに示すように、サーバ装置１１のＣＰＵ２１は、映像ウインドウ４３の座標位置とサイズに基づいて、映像ウインドウ４３がクライアント装置１２の表示部３６の下側に設けられたタクスバー領域４２に最小化表示された状態を検出すると（ステップＤ１１のＹＥＳ）、ユーザの明示的な指示に関係なく、動画再生アプリ２４ｂに対して動画再生の中断指示を行う（ステップＢ２１）。
【００８８】
そして、サーバ装置１１のＣＰＵ２１は、映像ウインドウ４３の座標位置とサイズに基づいて、映像ウインドウ４３が映像表示領域４１に最大化表示された状態を検出すると（ステップＤ１２のＹＥＳ）、動画再生アプリ２４ｂに対して動画の再生指示を行う（ステップＢ２１）。この場合、前記中断指示によって動画の再生が中断された位置から再生が行われることになる。
【００８９】
次に、動画再生アプリ２４ｂの動作について説明する。
【００９０】
図１３はサーバ装置１１に備えられた動画再生アプリ２４ｂの動作を示すフローチャートである。
【００９１】
今、上述した動画再生アプリ起動イベントの受信に伴い、サーバ装置１１のＣＰＵ２１から動画再生アプリ２４ｂに対して起動指示があり（ステップＥ１１のＹＥＳ）、続いて、動画再生イベントの受信に伴い、サーバ装置１１のＣＰＵ２１から動画の再生指示があったとする（ステップＥ１２のＹＥＳ）。これにより、動画再生アプリ２４ｂは、まず、ＲＴＣ２９の計時動作を開始すると共に（ステップＥ１３）、図６に示した管理ＤＢ２４ｃから再生対象とする動画の映像データと音声データのフレームＩＤを取得する（ステップＥ１４）。
【００９２】
ここで、映像データの取得タイミングになると（ステップＥ１６のＹＥＳ）、動画再生アプリ２４ｂは、所定の格納場所から映像データを取り出し（ステップＥ１７）、前記ステップＥ１４で取得した映像データのフレームＩＤとＲＴＣ２９で計時された時間をサーバ装置１１のＣＰＵ２１に通知する（ステップＥ１８）。これにより、ＣＰＵ２１では、図７に示したように、映像データにクライアント装置１２のアドレス、ユーザＩＤ等を含むヘッダ情報を付加すると共に、前記映像データのフレームＩＤと、ＲＴＣ２９で計時された時間を映像の再生開始時間（TIME）として付加して要求元のクライアント装置１２に送信する。
【００９３】
同様に、音声データの取得タイミングになると（ステップＥ１９のＹＥＳ）、動画再生アプリ２４ｂは、所定の格納場所から音声データを取り出し（ステップＥ２０）、前記ステップＥ１４で取得した音声データのフレームＩＤとＲＴＣ２９で計時された時間をサーバ装置１１のＣＰＵ２１に通知する（ステップＥ２１）。これにより、ＣＰＵ２１では、図７に示したように、前記音声データにクライアント装置１２のアドレス、ユーザＩＤ等を含むヘッダ情報を付加すると共に、前記音声データのフレームＩＤと、ＲＴＣ２９で計時された時間を音声の再生開始時間（TIME）として付加して、要求元のクライアント装置１２に送信する。
【００９４】
このようにして、再生対象となる動画の映像データと音声データがそれぞれに所定のタイミングでクライアント装置１２に送信されると、図９のステップＡ１８，Ａ１９で説明したように、クライアント装置１２では、その映像データと音声データに含まれた再生開始時間（TIME）で同期を取って再生出力する。再生出力された映像データは表示部３６の映像ウインドウ４３内に表示され、音声データはスピーカからなる音声出力部３９を通じて音声出力される。
【００９５】
一方、ステップＥ１５において、サーバ装置１１のＣＰＵ２１から動画再生の中断指示があると、動画再生アプリ２４ｂは動画再生処理を中断する。その際に、クライアント装置１２から受信した中断通知データがあるか否かを判断する（ステップＥ２２）。図９のステップＡ２０，Ａ２１で説明したように、クライアント装置１２では、動画再生中にポップアップが発生した場合に中断通知データをサーバ装置１１に送信する。この中断通知データには、図８に示したように、サーバ装置１１のアドレス、ユーザＩＤを含むヘッダ情報と共に、再生が中断された時間（TIME）と映像データと音声データのフレームＩＤが付加されている。
【００９６】
クライアント装置１２から中断通知データを受信している場合には（ステップＥ２２のＹＥＳ）、動画再生アプリ２４ｂは、動画再生処理を中断したときに、図６の管理ＤＢ２４ｃの再生中断時間項目欄（PAUSE TIME）に前記中断通知データに付加された時間（TIME）をセットすると共に（ステップＥ２３）、管理ＤＢ２４ｃの映像フレームＩＤ欄（VIDEO FRAME ID）と音声フレームＩＤ欄（AUDIO FRAME ID）に前記中断通知データに付加された映像データと音声データのフレームＩＤをセットする（ステップＥ２４，Ｅ２５）。
【００９７】
このように、クライアント装置１２から中断通知データを受信した場合には、管理ＤＢ２４ｃに当該中断通知データに付加された再生中断時間と映像データと音声データのフレームＩＤがセットされる。
【００９８】
これにより、クライアント装置１２側でのポップアップ表示が解除されて、動画再生の再開が指示されたときに、前記管理ＤＢ２４ｃにセットされた再生中断時間と映像データと音声データのフレームＩＤに基づいて、当該動画の再生が中断された場所から映像データと音声データの再生処理が再開される。なお、ポップアップ表示が解除されたときに、ユーザの操作によって動画再生の再開を指示しても良いし、ＣＰＵ３１の判断の下で自動的に動画再生の再開指示を出すようにしても良い。
【００９９】
また、クライアント装置１２から中断通知データを受信していない場合であれば（ステップＥ２２のＮｏ）、動画再生アプリ２４ｂは、動画再生処理を中断したときに、図６の管理ＤＢ２４ｃの再生中断時間項目欄にＲＴＣ２９で計時された現在の時間をセットすると共に（ステップＥ２６）、サーバ装置１１のＣＰＵ２１から当該動画における映像データと音声データのフレームＩＤを取得して（ステップＥ２７）、管理ＤＢ２４ｃの映像フレームＩＤ欄と音声フレームＩＤ欄にその取得した映像データと音声データのフレームＩＤをセットする（ステップＥ２８，Ｅ２９）。
【０１００】
このように、クライアント装置１２から中断通知データを受信していない場合、つまり、中断指示の要因がクライアント装置１２側でのポップアップの発生によるものでなく、図１５乃至図１７で説明したように、映像ウインドウ４３の前面に他のウインドウ４５が表示された場合、映像ウインドウ４３が映像表示領域４１を外れた場合、映像ウインドウ４３が最小化表示された場合であれば、管理ＤＢ２４ｃにその際の時間と映像データと音声データのフレームＩＤがセットされる。
【０１０１】
これにより、映像ウインドウ４３の表示状態が正常に戻ったときに、前記管理ＤＢ２４ｃにセットされた時間と映像データと音声データのフレームＩＤに基づいて、当該動画の再生が中断された場所から映像データと音声データの再生処理が再開される。
【０１０２】
以上のように本システムによれば、サーバ装置１１側で動画再生アプリ２４ｂの起動によって再生される動画がクライアント装置１２側で正常に表示されていない場合に、ユーザによる明示的な操作を必要とせずに、その動画の再生動作を直ちに中断することができる。したがって、従来のようにクライアント装置１２からの中断指示の遅れによってユーザの見たいシーンが再生されてしまうことを防ぐことができる。
【０１０３】
また、例えばユーザの誤操作等により、動作再生中に映像ウインドウ４３の前面に他のウインドウ４５を表示してしまった場合（図１５参照）、映像ウインドウ４３を映像表示領域４１の外に移動させてしまった場合（図１６参照）、あるいは、映像ウインドウ４３を最小化してしまった場合（図１７参照）であっても、その時点で動画の再生を直ぐに止めることができる。
【０１０４】
また、サーバ装置１１がクライアント装置１２から動画の表示状態に応じて送信される中断通知データを受信したときに再生動作を中断するようにしたことで、例えば映像ウインドウ４３の前面にポップアップウインドウ４４が表示されるなど（図１４参照）、クライアント装置１２に搭載された機能によって動画の一部あるいは全体が表示されていない状態になった場合であっても、その時点で動画の再生を直ぐに止めておくことができる。
【０１０５】
さらに、サーバ装置１１側で動画の再生が中断されたときの時間とフレーム位置を管理しておくことで、クライアント装置１２側で動画の全体が表示できる状態になったときに、中断されたシーンから動画を再生することができる。
【０１０６】
なお、前記実施形態では、音声付きの動画を再生する場合を想定して説明したが、音声付きでない動画（つまり、映像データのみの動画）を再生する場合であっても、同様に適用可能である。
【０１０７】
また、前記実施形態におけるサーバベース・コンピューティング・システムの処理、すなわち、図９、図１０、図１１、図１２、図１３の各フローチャートで示されるサーバ装置１１、クライアント装置１２の各処理は、何れもコンピュータに実行させることができるプログラムとして、例えばメモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記録媒体２８ａ，３８ａに格納して配布することができる。そして、サーバ装置１１、クライアント装置１２のコンピュータ（ＣＰＵ２１，３１）は、この外部記録媒体２８ａ，３８ａに記憶されたプログラムを読み込むことにより、前記各実施形態の処理を実行することができる。
【０１０８】
さらに、前記各プログラムのデータは、プログラムコードの形態として通信ネットワーク１３を介してサーバ装置１１、クライアント装置１２に提供することも可能である。
【０１０９】
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１１０】
【図１】図１は本発明の一実施形態に係るサーバベース・コンピューティング・システムの構成を示すブロック図である。
【図２】図２は同実施形態におけるサーバベース・コンピューティング・システムに用いられるサーバ装置の回路構成を示すブロック図である。
【図３】図３は同実施形態におけるサーバ装置に備えられたＣＰＵの機能構成を示すブロック図である。
【図４】図４は同実施形態におけるサーバベース・コンピューティング・システムに用いられるクライアント装置の回路構成を示すブロック図である。
【図５】図５は同実施形態におけるクライアント装置に備えられたＣＰＵの機能構成を示すブロック図である。
【図６】図６は同実施形態におけるサーバ装置に備えられた管理ＤＢの一例を示す図である。
【図７】図７は同実施形態におけるサーバ装置から送信される映像データと音声データのパケット構成を示す図である。
【図８】図８は同実施形態におけるクライアント装置から送信される中断通知データのパケット構成を示す図である。
【図９】図９は同実施形態におけるクライアント装置による動画再生時の処理動作を示すフローチャートである。
【図１０】図１０は同実施形態におけるサーバ装置による動画再生時の処理動作を示すフローチャートである。
【図１１】図１１は他の実施形態におけるサーバ装置による動画再生時の処理動作の一部を示すフローチャートである。
【図１２】図１２は他の実施形態におけるサーバ装置による動画再生時の処理動作の一部を示すフローチャートである。
【図１３】図１３は同実施形態におけるサーバ装置に備えられた動画再生アプリの動作を示すフローチャートである。
【図１４】図１４は同実施形態における動画再生中にクライアント装置側でポップアップが発生した場合の画面例を示す図である。
【図１５】図１５は同実施形態における動画再生中にクライアント装置側で他のウインドウが表示された場合の画面例を示す図である。
【図１６】図１６は同実施形態における動画再生中にクライアント装置側で映像ウインドウの一部が映像表示領域から外れた場合の画面例を示す図である。
【図１７】図１７は同実施形態における動画再生中にクライアント装置側で映像ウインドウが最小化された場合の画面例を示す図である。
【符号の説明】
【０１１１】
１１…サーバ装置、１２（１２ａ，１２ｂ，１２ｃ）…クライアント装置、１３…ネットワーク、２０…システムバス、２１…ＣＰＵ、２１ａ…動画再生部、２１ｂ…動画送信部、２１ｃ…動画表示検出部、２１ｄ…再生制御部、２１ｅ…再生中断データ受信部、ｄ２２…メモリ、２３…フレームバッファＲＡＭ、２４…記憶部、２４ａ…プログラム記憶領域、２４ｂ…動画再生アプリ、２４ｃ…管理ＤＢ、２５…入力部、２６…表示部、２７…通信制御部、２８…媒体読取り部、２８ａ…媒体、２９…ＲＴＣ、３０…システムバス、３１…ＣＰＵ、３１ａ…イベント送信部、３１ｂ…動画受信部、３１ｃ…動画表示部、３１ｄ…ポップアップ検出部、３１ｅ…再生中断データ送信部、３２…メモリ、３３…フレームバッファＲＡＭ、３４…記憶部、３５…入力部、３６…表示部、３７…通信制御部、３８…媒体読取り部、３８ａ…媒体、３９…音声出力部、４１…映像表示領域、４２…タクスバー領域、４３…映像ウインドウ、４４…ポップアップウインドウ、４５…他のウインドウ。
【図１】
0005163372.tif 000002
【図２】
0005163372.tif 000003
【図３】
0005163372.tif 000004
【図４】
0005163372.tif 000005
【図５】
0005163372.tif 000006
【図６】
0005163372.tif 000007
【図７】
0005163372.tif 000008
【図８】
0005163372.tif 000009
【図９】
0005163372.tif 000010
【図１０】
0005163372.tif 000011
【図１１】
0005163372.tif 000012
【図１２】
0005163372.tif 000013
【図１３】
0005163372.tif 000014
【図１４】
0005163372.tif 000015
【図１５】
0005163372.tif 000016
【図１６】
0005163372.tif 000017
【図１７】
0005163372.tif 000018