説明

動画制御装置及びプログラム

【課題】サーバ装置側で動画再生アプリケーションにより再生される動画がクライアント装置側で正常に表示されていない場合に、ユーザによる明示的な操作を必要とせずに、直ちに再生動作を中断する。
【解決手段】サーバベース・コンピューティング・システムにおいて、サーバ装置は、動画再生アプリケーションによって再生した動画をクライアント装置の表示部に表示される画面情報として送信する(ステップB11〜B19)。ここで、サーバ装置は、クライアント装置の表示部に表示された動画表示用のウインドウの前面に他のウインドウが表示されるなど、動画が正常に表示されていない状態を検出すると(ステップB22)、動画の再生処理を中断する(ステップB21)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ装置及びプログラムに関する。
【背景技術】
【0002】
サーバ装置とクライアント装置がネットワークを介して接続されたコンピュータシステムにおいて、クライアント装置が使用するアプリケーションプログラムをすべてサーバ装置上に実装し、クライアント装置は操作画面のデータだけをサーバ装置から受け取り、クライアント装置からはマウスとキーストロークの操作情報だけがサーバ装置に送られるようにした、いわゆる「SBC(SBC:Server Based Computing)」が注目されている。このSBCは、「シンクライアントシステム」とも呼ばれており、広帯域ネットワークの普及を背景として各分野で広く使われている(例えば、特許文献1参照)。
【0003】
このようなサーバベース・コンピューティング・システムにあっては、サーバ装置がクライアント装置の表示部に表示される画面情報を生成して送信する(例えば、特許文献2参照)。また、クライアント装置側で任意の動画再生アプリケーションを指定して実行させることが可能である(例えば、特許文献3参照)。
【0004】
ここで、動画再生アプリケーションが実行された場合において、クライアント装置の表示部には動画再生アプリケーション用の映像ウインドウが表示される。この映像ウインドウには再生・中断ボタンが設けられており、その再生・中断ボタンをユーザがクリックすると、そのクリックした位置の座標データがサーバ装置に送信される。サーバ装置では、クライアント装置から送られてきた座標データから再生・中断ボタンがクリックされたことを判別して、動画の再生あるいは中断の処理を実行することになる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−323660号公報
【特許文献2】特開2007−219629号公報
【特許文献3】特開2007−310508号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、動画の再生中に、例えば映像ウインドウの前面に他のウインドウが表示されるなどして、クライアント装置側で動画の一部あるいは全体が表示されていない状態になっても、動画の再生動作は中断されず、そのまま継続される。
【0007】
このような場合、前記再生・中断ボタンの操作によりユーザが明示的に中断の指示を行えば、動画の再生動作を中断することができるが、ユーザがその指示操作を行うまでの時間と、実際に中断要求(入力イベント)がサーバ装置に送られて来るまでのタイムラグがあるため、直ぐには中断されない。このため、ユーザが見たいシーンを見逃してしまうことがある。
【0008】
本発明は前記のような点に鑑みなされたもので、サーバ装置側で処理され送信される動画がクライアント装置側で正常に表示されるか否かに基づいて、ユーザによる明示的な操作を必要とせずに、クライアント装置側に送信する動画に対する制御を自動的に行わせることを目的とする。
【課題を解決するための手段】
【0009】
本発明の請求項1は、クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、この送信手段によって送信された動画の表示状態を検出する検出手段と、この検出手段によって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる制御手段と、を具備したことを特徴とする。
【0010】
本発明の請求項8は、クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、この送信手段によって送信された動画の表示状態を検出する検出手段と、この検出手段によって当該動画が表示される状態を検出されたときに、前記動画再生手段による動画の再生処理を行わせる制御手段と、を具備したことを特徴とする。
【0011】
本発明の請求項10は、クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、前記クライアント装置からの動画要求に応じて動画の表示処理を実行する動画処理手段と、この動画処理手段によって表示処理された動画を前記クライアント装置側で表示させるべくその動画を送信する送信手段と、この送信手段によって送信された動画の表示状態の変化を検出する検出手段と、この検出手段による前記表示状態の変化の検出結果に応じて、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止、ある
いは前記クライアント装置側において前記動画を表示させる処理を行わせる制御手段と、を具備したことを特徴とする。
【発明の効果】
【0012】
本発明によれば、サーバ装置側で処理され送信される動画がクライアント装置側で正常に表示されるか否かに基づいて、ユーザによる明示的な操作を必要とせずに、クライアント装置側に送信する動画に対する制御を自動的に行わせることができる。
【図面の簡単な説明】
【0013】
【図1】図1は本発明の一実施形態に係るサーバベース・コンピューティング・システムの構成を示すブロック図である。
【図2】図2は同実施形態におけるサーバベース・コンピューティング・システムに用いられるサーバ装置の回路構成を示すブロック図である。
【図3】図3は同実施形態におけるサーバ装置に備えられたCPUの機能構成を示すブロック図である。
【図4】図4は同実施形態におけるサーバベース・コンピューティング・システムに用いられるクライアント装置の回路構成を示すブロック図である。
【図5】図5は同実施形態におけるクライアント装置に備えられたCPUの機能構成を示すブロック図である。
【図6】図6は同実施形態におけるサーバ装置に備えられた管理DBの一例を示す図である。
【図7】図7は同実施形態におけるサーバ装置から送信される映像データと音声データのパケット構成を示す図である。
【図8】図8は同実施形態におけるクライアント装置から送信される中断通知データのパケット構成を示す図である。
【図9】図9は同実施形態におけるクライアント装置による動画再生時の処理動作を示すフローチャートである。
【図10】図10は同実施形態におけるサーバ装置による動画再生時の処理動作を示すフローチャートである。
【図11】図11は他の実施形態におけるサーバ装置による動画再生時の処理動作の一部を示すフローチャートである。
【図12】図12は他の実施形態におけるサーバ装置による動画再生時の処理動作の一部を示すフローチャートである。
【図13】図13は同実施形態におけるサーバ装置に備えられた動画再生アプリの動作を示すフローチャートである。
【図14】図14は同実施形態における動画再生中にクライアント装置側でポップアップが発生した場合の画面例を示す図である。
【図15】図15は同実施形態における動画再生中にクライアント装置側で他のウインドウが表示された場合の画面例を示す図である。
【図16】図16は同実施形態における動画再生中にクライアント装置側で映像ウインドウの一部が映像表示領域から外れた場合の画面例を示す図である。
【図17】図17は同実施形態における動画再生中にクライアント装置側で映像ウインドウが最小化された場合の画面例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態を説明する。
【0015】
図1は本発明の一実施形態に係るサーバベース・コンピューティング・システムの構成を示すブロック図である。
【0016】
このサーバベース・コンピューティング・システムは、サーバ装置11と複数のクライアント装置12(12a,12b,12c…)を備え、これらがLAN(Local Area Network)やWAN(Wide Area Network)等のネットワーク13を介して互いに通信可能に接続されている。
【0017】
サーバ装置11は、例えばネットワーク13に有線接続されたパーソナルコンピュータである。クライアント装置12として、例えばネットワーク13に有線接続されたパーソナルコンピュータ12aや、ネットワーク13にアクセスポイントAPを介して無線接続された携帯電話12b、同アクセスポイントAPを介して無線接続された携帯端末12cなどがある。
【0018】
サーバ装置11は、例えば文書作成処理プログラム,表計算処理プログラム,住所録プログラム,メモ帳プログラム,プレゼン資料作成プログラム,メール処理プログラム,インターネット接続処理プログラム、Web表示プログラムなどを含む各種アプリケーションプログラムを有し、当該サーバ装置11にネットワーク13を介して接続されたクライアント装置12(12a,12b,12c…)からの操作入力(入力イベント)に応じたアプリケーションプログラムを起動し、その処理を実行する。
【0019】
このサーバ装置11において、アプリケーションプログラムの実行に伴い生成された表示出力用の描画データは、所定の方式で圧縮されて、アクセス元のクライアント装置12に送られる。クライアント装置12では、サーバ装置11から送られた描画データを解凍して画面上に表示する。
【0020】
図2はサーバベース・コンピューティング・システムに用いられるサーバ装置11の回路構成を示すブロック図である。
【0021】
サーバ装置11は、コンピュータとしてのCPU21を備える。このCPU21には、システムバス20を介してメモリ22、フレームバッファRAM23、記憶部24、入力部25、表示部26、通信制御部27、媒体読取り部28、RTC(Real Time Clock)29が接続される。
【0022】
CPU21は、記憶部22に予め記憶されたプログラム、あるいは、外部記録媒体28aから媒体読取り部28を介して読み取られたプログラム、あるいは、ネットワーク13を介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。このCPU21によって実行されるプログラムには、OS(Operating System)の他、クライアント装置12が利用する各種アプリケーションプログラム、これらのアプリケーションプログラムの起動に伴って生成される描画データの画面表示制御を行うための表示制御プログラムなどが含まれる。
【0023】
メモリ22には、各クライアント装置12(12a,12b,12c…)毎に例えばユーザID等によって関連付けられた複数の仮想フレームバッファ22aが設けられている。
【0024】
フレームバッファRAM23は、サーバ装置11に備えられた表示部26の画面に表示する描画データをフレーム単位で保持するためのバッファメモリである。
【0025】
記憶部24には、サーバ装置11の動作を制御するためのサーバ制御プログラムを含む各種プログラムを記憶するためのプログラム記憶領域24aの他、動画の再生処理を実行するための動画再生アプリ24b、この動画再生アプリ24bによって再生される動画を管理するための管理データベース(以下、管理DBと称す)24cが設けられている。
【0026】
入力部25は、例えばキーボード、マウスなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。
【0027】
表示部26は、各種データを表示するものであり、例えばCRT(Cathode-ray tube)やLCD(Liquid Crystal Display)などからなる。
【0028】
通信制御部27は、ネットワーク13を介して外部の端末との間で通信処理を行うためのものであり、ここではサーバ装置11側で生成した描画データの送信処理や、クライアント装置12から送信されるデータの受信処理などを行う。
【0029】
媒体読取り部28は、外部記録媒体28aに記録されたデータを読み取る。外部記録媒体28aとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。また、RTC29は、時間をカウントするための計時部として用いられる。
【0030】
図3はサーバ装置11に備えられたCPU21の機能構成を示すブロック図である。
【0031】
本実施形態において、CPU21によって実行される処理を機能的に示すと、CPU21は、動画再生部21a、動画送信部21b、動画表示検出部21c、再生制御部21d、中断通知データ受信部21eからなる。
【0032】
動画再生部21aは、クライアント装置12から送信された入力イベントに応じて、記憶部24に記憶された動画再生アプリ24bを起動して動画の再生処理を実行する。動画送信部21bは、動画再生部21aによって再生された動画をクライアント装置12の表示部36に表示させる画面情報として送信する。動画表示検出部21cは、動画送信部21bによって送信された動画の表示状態を検出する。
【0033】
再生制御部21dは、動画表示検出部21cによって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、動画再生部21aによる動画の再生処理を直ちに中断させる。
【0034】
また、中断通知データ受信部21eは、クライアント装置12から動画の表示状態に応じて送信される中断通知データを受信する。再生制御部21dは、この中断通知データ受信部21eによって中断通知データが受信されたときに、動画再生部21aによる動画の再生処理を直ちに中断させる。
【0035】
図4はサーバベース・コンピューティング・システムに用いられるクライアント装置12(12a,12b,12c…)の回路構成を示すブロック図である。
【0036】
クライアント装置12(12a,12b,12c…)は、コンピュータとしてのCPU31を備える。このCPU31には、システムバス30を介してメモリ32、フレームバッファRAM33、記憶部34、入力部35、表示部36、通信制御部37、媒体読取り部38、音声出力部39が接続される。
【0037】
CPU31は、記憶部32に予め記憶されたプログラム、あるいは、外部記録媒体38aから媒体読取り部38を介して読み取られたプログラム、あるいは、ネットワーク13を介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。このCPU31によって実行されるプログラムとしては、OS(Operating System)が主であり、その他の各種アプリケーションプログラムについては、基本的にサーバ装置11が保有している。
【0038】
メモリ32は、CPU31の処理動作に必要な各種データを記憶する。フレームバッファRAM33は、クライアント装置12に備えられた表示部36の画面に表示する描画データをフレーム単位で保持するためのバッファメモリである。
【0039】
記憶部34には、クライアント装置12の動作を制御するためのクライアント制御プログラムを含む各種プログラムを記憶するためのプログラム記憶領域34aが設けられる。
【0040】
入力部35は、例えばキーボード、マウス、タッチパネルなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。
【0041】
表示部36は、各種データを表示するものであり、例えばCRT(Cathode-ray tube)やLCD(Liquid Crystal Display)などからなる。また、音声出力部39は、スピーカからなり、音声データの出力を行う。
【0042】
通信制御部37は、ネットワーク13を介して外部の端末との間で通信処理を行うためのものであり、ここでは入力データを送信するための処理を行う。
【0043】
媒体読取り部38は、外部記録媒体38aに記録されたデータを読み取る。外部記録媒体38aとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。
【0044】
図5はクライアント装置12に備えられたCPU31の機能構成を示すブロック図である。
【0045】
本実施形態において、CPU31によって実行される処理を機能的に示すと、CPU31は、イベント送信部31a、動画受信部31b、動画表示部31c、ポップアップ検出部31d、中断通知データ送信部31eからなる。
【0046】
イベント送信部31aは、サーバ装置11に対して動画再生アプリ24bの起動要求を含む入力イベントを送信する。動画受信部31bは、イベント送信部31aによって送信された入力イベントに応答して、サーバ装置11から画面情報として送られてくる動画を受信する。動画表示部31cは、動画受信部31bによって受信された動画を表示部36に表示する。
【0047】
ポップアップ検出部31dは、動画の表示中にポップアップの発生を検出する。中断通知データ送信部31eは、ポップアップ検出部31dによって検出されたポップアップが表示部36に設けられた動画表示用のウインドウ(図14の映像ウインドウ43)の前面に発生した場合に、サーバ装置11に対して動画再生の中断を指示するための中断通知データを送信する。
【0048】
図6はサーバ装置11に備えられた管理DB24cの一例を示す図である。図中のDATA1,DATA2…は、動画再生アプリ24bが再生対象としているデータの種類を表している。
【0049】
この管理DB24cには、ユーザのID、データ格納場所を示すURL、再生に要する時間(DURATION TIME)の他、再生が中断されたときの時間(PAUSE TIME)、映像データのフレームID(VIDEO FRAME ID)、音声データのフレームID(AUDIO FRAME ID)が記憶されている。
【0050】
図7は動画を構成する映像データと音声データのパケット構成を示す図である。
【0051】
本実施形態では、映像データと音声データからなる音声付きの動画を再生対象としている。なお、この映像データと音声データは、サーバ装置11の記憶部24などに記憶されている。
【0052】
動画再生時において、この映像データと音声データの先頭にヘッダ情報と再生開始時間(TIME)、フレームIDが付加されてクライアント装置12に送られる。前記ヘッダ情報には、動画の要求元であるクライアント装置12のアドレスとユーザID、パケット長、システムのシーケンスID、サーバ装置11のアドレスなどが含まれる。
【0053】
図8は中断通知データのパケット構成を示す図である。
【0054】
中断通知データは、動画再生を中断するためのデータであり、後述するようにクライアント装置12側でポップアップが発生したときにサーバ装置11に送られてくる。この中断通知データの先頭には、ヘッダ情報と再生中断時間(TIME)、映像データと音声データのフレームIDが付加されている。前記ヘッダ情報には、送信先であるサーバ装置11のアドレス、送信元のユーザIDなどが含まれる。
【0055】
次に、本実施形態の動作について、(a)クライアント装置12側の処理と、(b)サーバ装置11側の処理に分けて詳しく説明する。
【0056】
(a)クライアント装置12側の処理
図9はクライアント装置12による動画再生時の処理動作を示すフローチャートである。なお、このフローチャートで示される処理は、クライアント装置12に備えられたCPU31によって読み取り可能なプログラムの形態で記憶部34のプログラム記憶領域34aに予め記憶されている。
【0057】
ユーザがクライアント装置12を操作して所定の接続手続きを行うと、パスワード,ID等による認証がなされ(ステップA11)、クライアント装置12がサーバ装置11に接続される(ステップA12)。
【0058】
クライアント装置12がサーバ装置11に接続された状態で、何らかの入力イベントが発生すると(ステップA14のYES)、クライアント装置12のCPU31は、その入力イベントを受け付けてサーバ装置11に送信する(ステップA15)。後述するように、サーバ装置11では、クライアント装置12から送られてきた入力イベントを受信することにより、その入力イベントに対応した所定の処理を実行する。
【0059】
ここで、サーバ装置11から画像情報がクライアント装置12に送られて来たとすると、クライアント装置12のCPU31は、サーバ装置11からの画像情報を通信制御部37を通じて受信することにより(ステップA16のYES)、その画像情報をフレームバッファRAM33にフレーム単位で格納して表示部36に表示出力する(ステップA17)。
【0060】
また、動画再生アプリ24bの起動後、サーバ装置11から映像データあるいは音声データが送られて来たとすると、クライアント装置12のCPU31は、この映像データあるいは音声データを受信することにより(ステップA18のYES)、それぞれのデータに付加された再生開始時間に従って映像データと音声データの同期を取って表示部36と音声出力部39に再生出力する(ステップA19)。
【0061】
また、動画再生中にクライアント装置12側でポップアップが発生したとする。図14にクライアント装置12のポップアップ発生時の画面例を示す。図中の41は映像表示領域、42はタクスバー領域である。また、43は映像ウインドウ、44はポップアップウインドウである。
【0062】
動画再生アプリ24bが起動されると、サーバ装置11では、図14に示すような動画表示用の映像ウインドウ43を含む画面情報を生成してクライアント装置12に送信する。この映像ウインドウ43は、クライアント装置12の表示部36に設定された映像表示領域41の中に設けられており、そこにサーバ装置11から送られて来る各フレームの映像データが順に再生表示される。
【0063】
ここで、クライアント装置12側で電話やメールを受信した場合や、何らかの動作エラーが発生した場合、あるいは、ユーザの誤操作により他のメニュー表示が指示された場合などに、その旨を示すポップアップウインドウ44が映像ウインドウ43が表示されることがある。このようなポップアップウインドウ44が他のウインドウ45の前面に表示されると、映像ウインドウ43の一部あるいは全体が隠れてしまい、そこに再生表示されている映像データを見ることができなくなる。
【0064】
そこで、クライアント装置12のCPU31は、動画再生中の映像ウインドウ43の前面にポップアップウインドウ44が発生したことを検出すると(ステップA20のYES)、ポップアップイベント発生と中断通知データをサーバ装置11に送信して動画再生の中断を指示する(ステップA21)。
【0065】
また、ユーザが接続終了の操作を行うと(ステップA13のYES)、所定の接続終了処理が実行されて、サーバ装置11との間の通信回線が遮断される(ステップA22)。
【0066】
(b)サーバ装置11側の処理
図10はサーバ装置11による動画再生時の処理動作を示すフローチャートである。なお、このフローチャートで示される処理は、サーバ装置11に備えられたCPU21によって読み取り可能なプログラムの形態で記憶部24のプログラム記憶領域24aに予め記憶されている。
【0067】
サーバ装置11側では、クライアント装置12から接続要求があると、パスワード,ID等によって認証を行い(ステップB11)、その要求先のクライアント装置12との回線を接続する(ステップB12)
サーバ装置11にクライアント装置12が接続された状態で、クライアント装置12から何らかの入力イベントを受け付けると(ステップB14のYES)、サーバ装置11のCPU21は、その入力イベントに対応した所定の処理を実行する(ステップB15〜B26)。
【0068】
ここで、動画再生に関わる入力イベントとして、動画再生アプリ24bの起動を要求するための「動画再生起動イベント」,動画再生を要求するための「動画再生イベント」,動画再生の中断を要求するための「再生中断イベント」,動画再生の終了を要求するための「動画終了イベント」がある。なお、これらの入力イベントは、クライアント装置12側での所定のボタン操作により発生される。
【0069】
クライアント装置12から「動画再生起動イベント」を受信した場合(ステップB16のYES)、サーバ装置11のCPU21は、動画再生アプリ24bに対して起動指示を行う(ステップB17)。なお、この起動指示や、後述する再生指示、中断指示、終了指示に対する動画再生アプリ24bの動作については、後に図11を参照して詳しく説明する。
【0070】
クライアント装置12から「動画再生イベント」を受信した場合(ステップB18のYES)、サーバ装置11のCPU21は、動画再生アプリ24bに対して動画の再生指示を行う(ステップB19)。
【0071】
クライアント装置12から「再生中断イベント」を受信した場合(ステップB20のYES)、サーバ装置11のCPU21は、動画再生アプリ24bに対して動画再生の中断指示を行う(ステップB21)。なお、このときの「再生中断イベント」は、クライアント装置12の映像ウインドウ43内に設けられた図示せぬ中断ボタン等の操作により、ユーザが明示的に動画再生の中断を指示したときに送られてくる。
【0072】
一方、動画再生中に、例えばユーザが誤操作により他のアプリケーションを起動してしまった場合などに、図15に示すように、映像ウインドウ43の前面に他のウインドウ45が表示されることがある。サーバ装置11のCPU21は、映像ウインドウ43の座標位置と他のウインドウ45の座標位置との比較により、映像ウインドウ43の前面に他のウインドウ45が表示されている状態を検出すると(ステップB22のYES)、ユーザの明示的な指示に関係なく、動画再生アプリ24bに対して動画再生の中断指示を行う(ステップB21)。
【0073】
そして、サーバ装置11のCPU21は、映像ウインドウ43の座標位置と他のウインドウ45の座標位置との比較により、映像ウインドウ43の前面から他のウインドウ45から外れた状態あるいはウインドウ45の表示が消された状態を検出すると(ステップB23のYES)、動画再生アプリ24bに対して動画の再生指示を行う(ステップB21)。この場合、後述するように、前記中断指示によって動画の再生が中断された場所から再生処理が再開されることになる。
【0074】
また、クライアント装置12から再生終了イベントを受信すると(ステップB25のYES)、サーバ装置11のCPU21は、動画再生アプリ24bに対して動画再生の終了指示を行う(ステップB26)。
【0075】
一方、入力イベントでなく(ステップB14のNO)、動画再生アプリ24bによって再生された映像データあるいは音声データであれば(ステップB27のYES)、サーバ装置11のCPU21は、その映像データあるいは音声データをパケット単位でクライアント装置12に送信する(ステップB28)。
【0076】
また、ポップアップイベント発生と中断通知データがクライアント装置12から送られて来た場合には(ステップB29のYES)、サーバ装置11のCPU21は、動画再生アプリ24bに対して動画再生の中断指示を行う(ステップB30)。
【0077】
最後に、クライアント装置12から接続終了処理のコマンドを受信することにより(ステップB13のYES)、サーバ装置11のCPU21は、クライアント装置12との間の通信回線を遮断して(ステップB27)、ここでの一連の処理を終える。
【0078】
(他のケース)
なお、前記ステップB22,B23では、クライアント装置12側で動画の映像データが正常に表示されていないケースとして、映像ウインドウ43の前面に他のウインドウ45が表示された場合を例にしたが(図15参照)、図16に示すように、映像ウインドウ43の一部が映像表示領域41から外れた場合や、図17に示すように、映像ウインドウ43が最小化された場合についても同様である。これらの表示状態は、サーバ装置11に備えられているウインドウマネージャーによって検出される。
【0079】
具体的な処理は以下のようになる。
すなわち、図11のフローチャートに示すように、サーバ装置11のCPU21は、映像ウインドウ43の座標位置に基づいて、映像ウインドウ43の一部がクライアント装置12の表示部36に予め設定された映像表示領域41から外れた状態を検出すると(ステップC11のYES)、ユーザの明示的な指示に関係なく、動画再生アプリ24bに対して動画再生の中断指示を行う(ステップB21)。
【0080】
なお、前記映像ウインドウ43の一部が映像表示領域41から外れた状態とは、図16に示すように、映像ウインドウ43の端部が映像表示領域41の外にはみ出してしまった状態であり、例えば映像ウインドウ43の全体の10%以上がはみ出した場合に動画再生を中断するものとする。
【0081】
そして、サーバ装置11のCPU21は、映像ウインドウ43の座標位置に基づいて、映像ウインドウ43の全体が映像表示領域41内に収まった状態を検出すると(ステップC12のYES)、動画再生アプリ24bに対して動画の再生指示を行う(ステップB21)。この場合、前記中断指示によって動画の再生が中断された位置から再生が行われることになる。
【0082】
また、図12のフローチャートに示すように、サーバ装置11のCPU21は、映像ウインドウ43の座標位置とサイズに基づいて、映像ウインドウ43がクライアント装置12の表示部36の下側に設けられたタクスバー領域42に最小化表示された状態を検出すると(ステップD11のYES)、ユーザの明示的な指示に関係なく、動画再生アプリ24bに対して動画再生の中断指示を行う(ステップB21)。
【0083】
そして、サーバ装置11のCPU21は、映像ウインドウ43の座標位置とサイズに基づいて、映像ウインドウ43が映像表示領域41に最大化表示された状態を検出すると(ステップD12のYES)、動画再生アプリ24bに対して動画の再生指示を行う(ステップB21)。この場合、前記中断指示によって動画の再生が中断された位置から再生が行われることになる。
【0084】
次に、動画再生アプリ24bの動作について説明する。
【0085】
図13はサーバ装置11に備えられた動画再生アプリ24bの動作を示すフローチャートである。
【0086】
今、上述した動画再生アプリ起動イベントの受信に伴い、サーバ装置11のCPU21から動画再生アプリ24bに対して起動指示があり(ステップE11のYES)、続いて、動画再生イベントの受信に伴い、サーバ装置11のCPU21から動画の再生指示があったとする(ステップE12のYES)。これにより、動画再生アプリ24bは、まず、RTC29の計時動作を開始すると共に(ステップE13)、図6に示した管理DB24cから再生対象とする動画の映像データと音声データのフレームIDを取得する(ステップE14)。
【0087】
ここで、映像データの取得タイミングになると(ステップE16のYES)、動画再生アプリ24bは、所定の格納場所から映像データを取り出し(ステップE17)、前記ステップE14で取得した映像データのフレームIDとRTC29で計時された時間をサーバ装置11のCPU21に通知する(ステップE18)。これにより、CPU21では、図7に示したように、映像データにクライアント装置12のアドレス、ユーザID等を含むヘッダ情報を付加すると共に、前記映像データのフレームIDと、RTC29で計時された時間を映像の再生開始時間(TIME)として付加して要求元のクライアント装置12に送信する。
【0088】
同様に、音声データの取得タイミングになると(ステップE19のYES)、動画再生アプリ24bは、所定の格納場所から音声データを取り出し(ステップE20)、前記ステップE14で取得した音声データのフレームIDとRTC29で計時された時間をサーバ装置11のCPU21に通知する(ステップE21)。これにより、CPU21では、図7に示したように、前記音声データにクライアント装置12のアドレス、ユーザID等を含むヘッダ情報を付加すると共に、前記音声データのフレームIDと、RTC29で計時された時間を音声の再生開始時間(TIME)として付加して、要求元のクライアント装置12に送信する。
【0089】
このようにして、再生対象となる動画の映像データと音声データがそれぞれに所定のタイミングでクライアント装置12に送信されると、図9のステップA18,A19で説明したように、クライアント装置12では、その映像データと音声データに含まれた再生開始時間(TIME)で同期を取って再生出力する。再生出力された映像データは表示部36の映像ウインドウ43内に表示され、音声データはスピーカからなる音声出力部39を通じて音声出力される。
【0090】
一方、ステップE15において、サーバ装置11のCPU21から動画再生の中断指示があると、動画再生アプリ24bは動画再生処理を中断する。その際に、クライアント装置12から受信した中断通知データがあるか否かを判断する(ステップE22)。図9のステップA20,A21で説明したように、クライアント装置12では、動画再生中にポップアップが発生した場合に中断通知データをサーバ装置11に送信する。この中断通知データには、図8に示したように、サーバ装置11のアドレス、ユーザIDを含むヘッダ情報と共に、再生が中断された時間(TIME)と映像データと音声データのフレームIDが付加されている。
【0091】
クライアント装置12から中断通知データを受信している場合には(ステップE22のYES)、動画再生アプリ24bは、動画再生処理を中断したときに、図6の管理DB24cの再生中断時間項目欄(PAUSE TIME)に前記中断通知データに付加された時間(TIME)をセットすると共に(ステップE23)、管理DB24cの映像フレームID欄(VIDEO FRAME ID)と音声フレームID欄(AUDIO FRAME ID)に前記中断通知データに付加された映像データと音声データのフレームIDをセットする(ステップE24,E25)。
【0092】
このように、クライアント装置12から中断通知データを受信した場合には、管理DB24cに当該中断通知データに付加された再生中断時間と映像データと音声データのフレームIDがセットされる。
【0093】
これにより、クライアント装置12側でのポップアップ表示が解除されて、動画再生の再開が指示されたときに、前記管理DB24cにセットされた再生中断時間と映像データと音声データのフレームIDに基づいて、当該動画の再生が中断された場所から映像データと音声データの再生処理が再開される。なお、ポップアップ表示が解除されたときに、ユーザの操作によって動画再生の再開を指示しても良いし、CPU31の判断の下で自動的に動画再生の再開指示を出すようにしても良い。
【0094】
また、クライアント装置12から中断通知データを受信していない場合であれば(ステップE22のNo)、動画再生アプリ24bは、動画再生処理を中断したときに、図6の管理DB24cの再生中断時間項目欄にRTC29で計時された現在の時間をセットすると共に(ステップE26)、サーバ装置11のCPU21から当該動画における映像データと音声データのフレームIDを取得して(ステップE27)、管理DB24cの映像フレームID欄と音声フレームID欄にその取得した映像データと音声データのフレームIDをセットする(ステップE28,E29)。
【0095】
このように、クライアント装置12から中断通知データを受信していない場合、つまり、中断指示の要因がクライアント装置12側でのポップアップの発生によるものでなく、図15乃至図17で説明したように、映像ウインドウ43の前面に他のウインドウ45が表示された場合、映像ウインドウ43が映像表示領域41を外れた場合、映像ウインドウ43が最小化表示された場合であれば、管理DB24cにその際の時間と映像データと音声データのフレームIDがセットされる。
【0096】
これにより、映像ウインドウ43の表示状態が正常に戻ったときに、前記管理DB24cにセットされた時間と映像データと音声データのフレームIDに基づいて、当該動画の再生が中断された場所から映像データと音声データの再生処理が再開される。
【0097】
以上のように本システムによれば、サーバ装置11側で動画再生アプリ24bの起動によって再生される動画がクライアント装置12側で正常に表示されていない場合に、ユーザによる明示的な操作を必要とせずに、その動画の再生動作を直ちに中断することができる。したがって、従来のようにクライアント装置12からの中断指示の遅れによってユーザの見たいシーンが再生されてしまうことを防ぐことができる。
【0098】
また、例えばユーザの誤操作等により、動作再生中に映像ウインドウ43の前面に他のウインドウ45を表示してしまった場合(図15参照)、映像ウインドウ43を映像表示領域41の外に移動させてしまった場合(図16参照)、あるいは、映像ウインドウ43を最小化してしまった場合(図17参照)であっても、その時点で動画の再生を直ぐに止めることができる。
【0099】
また、サーバ装置11がクライアント装置12から動画の表示状態に応じて送信される中断通知データを受信したときに再生動作を中断するようにしたことで、例えば映像ウインドウ43の前面にポップアップウインドウ44が表示されるなど(図14参照)、クライアント装置12に搭載された機能によって動画の一部あるいは全体が表示されていない状態になった場合であっても、その時点で動画の再生を直ぐに止めておくことができる。
【0100】
さらに、サーバ装置11側で動画の再生が中断されたときの時間とフレーム位置を管理しておくことで、クライアント装置12側で動画の全体が表示できる状態になったときに、中断されたシーンから動画を再生することができる。
【0101】
なお、前記実施形態では、音声付きの動画を再生する場合を想定して説明したが、音声付きでない動画(つまり、映像データのみの動画)を再生する場合であっても、同様に適用可能である。
【0102】
また、前記実施形態におけるサーバベース・コンピューティング・システムの処理、すなわち、図9、図10、図11、図12、図13の各フローチャートで示されるサーバ装置11、クライアント装置12の各処理は、何れもコンピュータに実行させることができるプログラムとして、例えばメモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記録媒体28a,38aに格納して配布することができる。そして、サーバ装置11、クライアント装置12のコンピュータ(CPU21,31)は、この外部記録媒体28a,38aに記憶されたプログラムを読み込むことにより、前記各実施形態の処理を実行することができる。
【0103】
さらに、前記各プログラムのデータは、プログラムコードの形態として通信ネットワーク13を介してサーバ装置11、クライアント装置12に提供することも可能である。
【0104】
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0105】
11…サーバ装置、12(12a,12b,12c)…クライアント装置、13…ネットワーク、20…システムバス、21…CPU、21a…動画再生部、21b…動画送信部、21c…動画表示検出部、21d…再生制御部、21e…再生中断データ受信部、d22…メモリ、23…フレームバッファRAM、24…記憶部、24a…プログラム記憶領域、24b…動画再生アプリ、24c…管理DB、25…入力部、26…表示部、27…通信制御部、28…媒体読取り部、28a…媒体、29…RTC、30…システムバス、31…CPU、31a…イベント送信部、31b…動画受信部、31c…動画表示部、31d…ポップアップ検出部、31e…再生中断データ送信部、32…メモリ、33…フレームバッファRAM、34…記憶部、35…入力部、36…表示部、37…通信制御部、38…媒体読取り部、38a…媒体、39…音声出力部、41…映像表示領域、42…タクスバー領域、43…映像ウインドウ、44…ポップアップウインドウ、45…他のウインドウ。

【特許請求の範囲】
【請求項1】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、
前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、
この送信手段によって送信された動画の表示状態を検出する検出手段と、
この検出手段によって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる制御手段と、
を具備したことを特徴とするサーバ装置。
【請求項2】
前記制御手段は、前記検出手段によって前記クライアント装置の表示部に設けられた動画表示用のウインドウの前面に他のウインドウが表示された状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項1記載のサーバ装置。
【請求項3】
前記制御手段は、前記検出手段によって前記クライアント装置の表示部に設けられた動画表示用のウインドウが所定の表示領域から外れた状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項1又は2記載のサーバ装置。
【請求項4】
前記制御手段は、前記検出手段によって前記クライアント装置の表示部に設けられた動画表示用のウインドウが最小化された状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項1乃至3のいずれか1つに記載のサーバ装置。
【請求項5】
前記クライアント装置から動画の表示状態に応じて送信される中断通知データを受信する受信手段を備え、
前記制御手段は、前記受信手段によって中断通知データが受信されたときに、前記動画再生手段による動画の再生処理を中断させる、
ことを特徴とする請求項1乃至4のいずれか1つに記載のサーバ装置。
【請求項6】
前記中断通知データは、前記クライアント装置の表示部に設けられた動画表示用のウインドウの前面にポップアップが発生した場合に送信される、
ことを特徴とする請求項5記載のサーバ装置。
【請求項7】
前記動画再生手段によって動画の再生動作が中断されたときの時間とフレーム位置を管理する管理手段を備え、
前記制御手段は、前記クライアント装置側で動画を正常に表示できる状態になったときに、前記管理手段によって管理された中断時点の時間とフレーム位置に基づいて、前記動画再生手段に当該動画の再生動作を再開させる、
ことを特徴とする請求項1乃至6のいずれか1つに記載のサーバ装置。
【請求項8】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、
前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段と、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段と、
この送信手段によって送信された動画の表示状態を検出する検出手段と、
この検出手段によって当該動画が表示される状態を検出されたときに、前記動画再生手段による動画の再生処理を行わせる制御手段と、
を具備したことを特徴とするサーバ装置。
【請求項9】
前記制御手段は、前記検出手段によって前記動画の一部あるいは全体が表示されていない状態が検出されて前記動画再生手段による動画の再生処理が中止されている状態にあって、前記検出手段によって当該動画が表示される状態に復帰したことを検出されたときに、前記動画再生手段による動画の再生処理を再開させる、
ことを特徴とする請求項8記載のサーバ装置。
【請求項10】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置であって、
前記クライアント装置からの動画要求に応じて動画の表示処理を実行する動画処理手段と、
この動画処理手段によって表示処理された動画を前記クライアント装置側で表示させるべくその動画を送信する送信手段と、
この送信手段によって送信された動画の表示状態の変化を検出する検出手段と、
この検出手段による前記表示状態の変化の検出結果に応じて、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止、あるいは前記クライアント装置側において前記動画を表示させる処理を行わせる制御手段と、
を具備したことを特徴とするサーバ装置。
【請求項11】
前記制御手段は、前記検出手段によって前記動画の一部又は全体が表示されていない状態に変化したことを検出した際に、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止を行わせる、
ことを特徴とする請求項10記載のサーバ装置。
【請求項12】
前記制御手段は、前記検出手段によって前記動画が表示される状態に変化したことを検出した際に、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理を行わせる、
ことを特徴とする請求項10又は11記載のサーバ装置。
【請求項13】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置の動作を制御するコンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記クライアント装置からの動画要求に応じて動画の再生処理を実行する動画再生手段、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段、
この送信手段によって送信された動画の表示状態を検出する検出手段、
この検出手段によって当該動画の一部あるいは全体が表示されていない状態が検出されたときに、前記動画再生手段による動画の再生処理を中断させる制御手段、
として機能させるプログラム。
【請求項14】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置の動作を制御するコンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記クライアント装置から送信された入力イベントに応じて動画の再生処理を実行する動画再生手段、
この動画再生手段によって再生された動画を前記クライアント装置に送信する送信手段、
この送信手段によって送信された動画の表示状態を検出する検出手段、
この検出手段によって当該動画が表示される状態を検出されたときに、前記動画再生手段による動画の再生処理を行わせる制御手段、
として機能させるプログラム。
【請求項15】
クライアント装置にネットワークを介して接続され、前記クライアント装置からの要求に応じて処理を行うサーバ装置の動作を制御するコンピュータによって実行されるプログラムであって、
前記コンピュータを、
前記クライアント装置からの動画要求に応じて動画の表示処理を実行する動画処理手段、
この動画処理手段によって表示処理された動画を前記クライアント装置側で表示させるべくその動画を送信する送信手段、
この送信手段によって送信された動画の表示状態の変化を検出する検出手段、
この検出手段による前記表示状態の変化の検出結果に応じて、前記クライアント装置側において前記動画処理手段で表示処理された前記動画を表示させる処理の中止、あるいは前記クライアント装置側において前記動画を表示させる処理を行わせる制御手段、
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2013−66231(P2013−66231A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2012−266530(P2012−266530)
【出願日】平成24年12月5日(2012.12.5)
【分割の表示】特願2008−223801(P2008−223801)の分割
【原出願日】平成20年9月1日(2008.9.1)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】