JP2008129954A - サーバ装置及びクライアント装置 - Google Patents

サーバ装置及びクライアント装置 Download PDF

Info

Publication number
JP2008129954A
JP2008129954A JP2006316254A JP2006316254A JP2008129954A JP 2008129954 A JP2008129954 A JP 2008129954A JP 2006316254 A JP2006316254 A JP 2006316254A JP 2006316254 A JP2006316254 A JP 2006316254A JP 2008129954 A JP2008129954 A JP 2008129954A
Authority
JP
Japan
Prior art keywords
command
image
client device
data
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006316254A
Other languages
English (en)
Inventor
Shingi Kouno
真儀 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2006316254A priority Critical patent/JP2008129954A/ja
Publication of JP2008129954A publication Critical patent/JP2008129954A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】リモートユーザインタフェースシステムにおいて、ネットワークを介してユーザインタフェースの操作を行う際の操作性を向上させる。
【解決手段】サーバ機器100とクライアント機器200とがネットワーク300で接続されているリモートユーザインタフェースシステムにおいて、サーバ機器からクライアント機器に送信されるコマンドを、画面更新コマンド、画面保存コマンド、画面復元コマンド、画面復元終了コマンドの4つのコマンドとし、描画コマンドの送信順序を適切に入れ換える機能をサーバ機器に設けるとともに、指定された画像領域を一時的に保存する機能をクライアント機器に設ける。サーバ機器は、直近のユーザ操作を優先的に実行するようにコマンドの送信順序を決定し、クライアント機器は、画面保存コマンドで指定された画像の保存、画面復元コマンドで指定された画像の再表示などの処理を行う。
【選択図】図1

Description

本発明は、キーボードやリモコン(リモートコントローラ)などのユーザインタフェース(入力装置)と、映像を表示することが可能なビットマップディスプレイなどの表示装置とを備えたクライアント装置からサーバ装置に対して、アプリケーションなどの操作指示を送信し、その結果として、サーバ装置からクライアント装置に送信される映像をクライアント装置で表示するサーバ装置及びクライアント装置に関する。
ネットワークを使用した機器のリモート操作を可能にするリモートユーザインタフェースシステムに関して、既に種々の提案が行われている。リモートユーザインタフェースシステムでは、ユーザ(操作者)が操作を行うためのユーザインタフェースや、表示情報を視認することが可能な表示装置を備えた入力装置側はクライアント装置(あるいは、クライアント機器)と呼ばれ、ネットワークを通じて制御される機器側はサーバ装置(サーバ機器)と呼ばれる。
リモートユーザインタフェースシステムでは、描画データやリモコン入力による指示などはコマンドとして伝送される。また、リモート操作に関しては、例えばXウインドウシステムやリモートデスクトップシステムなどのように、コンピュータのGUI(グラフィックユーザインタフェース:Graphic User Interface)をネットワークで接続された別の機器から操作する技術が広く採用されている。このようなシステムは、コンピュータのGUIという限られた用途で用いられるものであり、いわゆるクローズドなシステムである。そのため、複雑なコマンドを用いることにより、少ないデータ転送量でユーザインタフェースを実現することができる。また、サーバ機器及びクライアント機器の双方において複雑な処理が必要であり、高い処理能力を有する必要がある。
コンピュータのGUIをリモート操作する従来のシステムに対して、家電機器のユーザインタフェースを操作するシステムでは、特に、下記の2点を考慮する必要がある。第1に、家電機器はコンピュータに比べて製品寿命が長いので、例えば10年後のテレビでも現在の情報機器を操作できたり、現在のテレビでも10年後の機器が制御できたりすることが望ましい。第2に、バージョンの違いなどによって相互接続性が損なわれないようにすることが望ましい。
このためには、サーバ機器とクライアント機器との間の通信プロトコルとして、非常に単純なプロトコルを利用する必要がある。そこで極めて単純な描画コマンドのみで、サーバ機器が持つユーザインタフェース情報をクライアント機器で表示し、クライアント機器に入力されたキーやリモコンボタンのイベントをサーバ機器に送ることによってリモートユーザインタフェースを実現するシステムが提案されている。その一例が、下記の非特許文献に記載のRFBプロトコルを用いたVNC(Virtual Network Computing:バーチャル・ネットワーク・コンピューティング)である。
VNCは、クライアントからのアップデート要求に対して矩形の位置情報及びサイズ情報と、その矩形内部の画像とを送信するという極めて単純なプロトコルを持つ画像伝送システムである。VNCでは、サーバ側はクライアントのアップデート要求に対して全画面を送信するわけではなく、前回のアップデート要求と今回のアップデート要求との画像の差分を考慮して、変化が生じた領域に関する情報のみを送信することにより、送信データ量を減らすことができる。
次に、図12を参照しながら、従来の技術のVNCにおける動作の概略について説明する。図12は、従来の技術のVNCにおける動作の概略を示す図である。
図12において、サーバ機器100は例えばDVDプレーヤであり、表示する情報の言語の選択が可能であるとする。一方、クライアント機器200は例えばテレビであり、ユーザはクライアント機器200に向かって「言語選択」ボタンをリモコンから入力すると、その入力コード(「言語選択」)がネットワークを介してサーバ機器100に伝送される。
サーバ機器100は、クライアント機器200から受信した入力コード(「言語選択」)に対して、言語選択のメニュー(メニューGUI)をクライアント機器200に伝送する。その結果、クライアント機器200の表示装置220には、メニューGUIが表示される。
このメニューGUIは、リモコンの矢印ボタンによって、「日本語」、「英語」、「中国語」、「韓国語」の各項目上をカーソルが移動し、ユーザは所望の言語を選択することが可能である。なお、メニューGUIにおいてカーソルが存在している項目がハイライト表示され、初期状態では「日本語」の項目上にカーソルが存在しているとする。
ここで、メニューGUIが表示された状態で、ユーザがクライアント機器200に向かって例えば「下矢印」ボタンをリモコンから入力すると、その入力コード(「下矢印」)がネットワークを介してサーバ機器100に伝送される。この「下矢印」は、カーソル位置を「日本語」から「英語」に移動するものであり、サーバ機器100は、通常表示の「日本語」とハイライト表示の「英語」とを差分のメニューイメージとしてクライアント機器200に伝送することで、メニューGUI上でカーソルが「英語」に移動する表示が実現される。
なお、一般的にVNCでは、サーバ機器100は画面更新要求を受けると、すべての差分画像をクライアント機器200に対して送信し終えるまで、次のコマンドを受け付けないようになっている。
Tristan Richardson, RealVNC Ltd:"The RFB Protocol" Version 3.8, 8 July 2005(参考URL:http://www.realvnc.com/docs/rfbproto.pdf)
しかしながら、従来のリモートユーザインタフェースシステムは、ネットワークを介してデータ伝送が行われる分、ネットワークを介さないで1台の機器内で描画する場合に比べて時間の遅れが生じる。そのため、ユーザが操作を行ってからその操作が画面に反映されるまでには若干の時間の遅れが生じてしまい、快適な操作性が損なわれてしまうという課題がある。
上記の問題を解決するため、本発明は、ネットワークを介してユーザインタフェースの操作を行う際の操作性を向上させることが可能なサーバ装置及びクライアント装置を提供することを目的とし、特に、クライアント装置側におけるユーザインタフェースの操作に対するサーバ装置の反応の遅延を低減させることが可能なサーバ装置及びクライアント装置を提供することを目的とする。
上記の目的を達成するため、本発明によれば、外部又は内部の表示部に画像を表示する機能を有するクライアント装置とネットワークで接続され、前記クライアント装置から送信される操作信号に基づいた描画コマンドを前記クライアント装置に送信して前記クライアント装置の前記表示部で表示される画像の表示制御を行うサーバ装置であって、
前記クライアント装置から送信される前記操作信号を受信する操作信号受信手段と、
第1の画像データと第1の領域データとを有し、前記表示部に表示中の画像における前記第1の領域データで指定される領域に、前記第1の画像データによる画像を表示させるための前記描画コマンドである画像更新コマンド、第2の領域データと第1の識別情報とを有し、前記表示部に表示中の画像における前記第2の領域データで指定される領域の画像の画像データである第2の画像データを前記第1の識別情報と対応付けて前記クライアント装置に保存させるための前記描画コマンドである画像保存コマンド、第2の識別情報を有し、前記クライアント装置に保存されている1つ以上の前記第2の画像データのうち、前記第2の識別情報と一致する前記第1の識別情報に対応する第2の画像データを読み出して、この読み出した第2の画像データを、前記画像保存コマンドによって保存される前に前記表示部に表示中の画像において表示されていた領域に再表示させるとともに、この再表示の状態を解除するためのコマンドを受信するまで前記画像更新コマンドを無視させるための前記描画コマンドである画像復元コマンド、第3の識別情報を有し、前記画像復元コマンドによって前記クライアント装置が前記再表示の状態になっている場合に、前記画像復元コマンドが有していた前記第2の識別情報と前記第3の識別情報とが一致したら、前記クライアント装置の前記再表示の状態を解除して、前記画像更新コマンドの受信を再開させるための前記描画コマンドである画像復元終了コマンドの少なくとも4種類の描画コマンドを、前記操作信号受信手段で受信した操作信号に基づいてそれぞれ生成する描画コマンド生成手段と、
前記描画コマンド生成手段で生成された前記4種類の描画コマンドを前記クライアント装置に順次送信する際に、その順次送信される各描画コマンドをコマンド列として一時的に格納するコマンド列記憶手段と、
前記クライアント装置から受けた直近の前記操作信号を優先して処理するように、前記コマンド列記憶手段に格納された前記描画コマンドのコマンド列の順序を入れ替えるコマンド送信順序制御手段と、
入れ替えた前記コマンド列の順序に従って前記描画コマンドを前記クライアント装置に順次送信する描画コマンド送信手段とを、
有するサーバ装置が提供される。
また、上記の目的を達成するため、本発明によれば、サーバ装置とネットワークで接続され、本装置から送信した操作信号に基づいて前記サーバ装置から送信される描画コマンドによって、本装置の外部又は内部の表示部に表示している画像の表示制御が行われるクライアント装置であって、
画像データを一時的に保存するためのデータ格納手段と、
所定の操作入力手段から入力された操作指示信号に対応した操作信号を前記サーバ装置に送信する操作信号送信手段と、
送信した前記操作信号に基づいて前記サーバ装置が選択し送信する、画像更新コマンド、画像保存コマンド、画像復元コマンド、画像復元終了コマンドの4種類の描画コマンドのうちの所定の描画コマンドを受信する描画コマンド受信手段と、
前記描画コマンド受信手段が、前記画像更新コマンドを受信した場合には、前記画像更新コマンドが有する第1の画像データと第1の領域データとを取得し、前記表示部に表示されている画像における前記第1の領域データで指定される領域に、前記第1の画像データによる画像を表示する画像更新手段と、
前記描画コマンド受信手段が、前記画像保存コマンドを受信した場合には、前記画像保存コマンドが有する第2の領域データと第1の識別情報とを取得し、前記表示部に表示中の画像における前記第2の領域データで指定される領域の画像の画像データである第2の画像データを前記第1の識別情報と対応付けて前記データ格納手段に格納する画像保存手段と、
前記描画コマンド受信手段が、前記画像復元コマンドを受信した場合には、前記画像復元コマンドが有する第2の識別情報を取得し、前記データ格納手段に格納されている1つ以上の前記第2の画像データのうち、前記第2の識別情報と一致する前記第1の識別情報に対応する第2の画像データを読み出して、この読み出した第2の画像データを、前記画像保存コマンドによって保存される前に前記表示部に表示中の画像において表示されていた領域に再表示させるとともに、この再表示の状態を解除するためのコマンドを受信するまで前記画像更新コマンドの受信を無視するように前記描画コマンド受信手段を制御する画像復元手段と、
前記描画コマンド受信手段が、前記画像復元終了コマンドを受信した場合には、前記画像復元終了コマンドが有する第3の識別情報を取得し、前記画像復元手段が前記再表示の状態になっている場合に、前記画像復元コマンドが有していた前記第2の識別情報と前記第3の識別情報とが一致したら、前記画像復元手段の前記再表示の状態を解除して、前記画像更新コマンドの受信を再開させるように前記描画コマンド受信手段を制御する画像更新制御手段とを、
有するクライアント装置が提供される。
本発明のサーバ装置及びクライアント装置は、上記の構成を有しており、既存のクライアント装置との間における通信の互換性を保ちながら、クライアント装置ごとに出力データを切り替えずに、ユーザインタフェースの操作を行う際の操作性を向上させることが可能となる。また、本発明のサーバ装置及びクライアント装置は、クライアント装置側において、ユーザ操作が画面表示に反応されるまでの遅延時間を低減した高速表示を実現するという効果や、サーバ装置とクライアント装置との間の画像データの伝送量の低減を実現するという効果を有している。
以下、図面を参照しながら、本発明の実施の形態について説明する。
まず、図1を参照しながら、本発明に係るリモートユーザインタフェースシステムの概略について説明する。図1は、本発明の実施の形態におけるリモートユーザインタフェースシステムの構成の概略を示す図である。
図1に図示されているリモートユーザインタフェースシステムは、サーバ機器100とクライアント機器200とがネットワーク300を介して接続されている構成を有している。
サーバ機器100は、例えば、DVD(Digital Versatile Disc)の再生を行うDVDプレーヤやDVDの記録を行うDVDレコーダのように、GUIによってその機能制御が行われる装置である。DVDプレーヤやDVDレコーダは、通常は表示装置に接続するインタフェースやリモコンなどの入力装置を有しており、これらの表示装置及びリモコンによってユーザによるGUI操作がローカルに行われる。しかしながら、図1に図示されているサーバ機器100は、表示装置やリモコンがサーバ機器100に直接接続されている必要はなく、代わりにネットワーク300に接続されている。
また、クライアント機器200は、操作者に対して情報を表示する表示機能と、操作者によるサーバ機器100のリモート操作のための操作入力機能とを提供するものである。具体的には、図1に図示されているように、クライアント機器200に表示装置220及びリモコン221が接続されており、これによって、操作者は表示装置220に表示されているGUI画面を閲覧しながら、リモコン221を操作して、サーバ機器100のリモート操作を行うことが可能となる。
なお、クライアント機器200における操作入力機能を実現する入力装置はリモコン221に限定されるものではなく、本体スイッチやキーボードなどの任意の入力装置を利用することが可能である。また、表示装置220は、クライアント機器200と一体となっていてもよく、また、それぞれが別の筐体に収められていてもよい。クライアント機器200の典型的な例としては、デジタルテレビが挙げられる。
また、クライアント機器200は、ユーザによるリモコン操作に基づいて、リモコン操作によって入力されたコード(入力コード)をサーバ機器100に伝送する。また、クライアント機器200は、サーバ機器100に画面更新要求(描画要求)を行うことも可能である。サーバ機器100は、クライアント機器200に対して描画を制御する描画コマンドや描画更新に必要なデータを送信する。
次に、図2を参照しながら、本発明に係るリモートユーザインタフェースシステムのサーバ機器100の構成について説明する。図2は、本発明の実施の形態におけるリモートユーザインタフェースシステムのサーバ機器の構成の一例を示すブロック図である。なお、図2では、サーバ機器100が有する機能が、機能ブロックによって表されているが、これらの機能は、ハードウェア及び/又はソフトウェア(プログラム)によって実現可能である。
図2に図示されているサーバ機器100は、機器制御部101、メニュー制御部102、描画コマンド生成部103、メニューリソース104、コマンドソート部105、コマンド列記憶部106、コマンド出力部107、通信部108、タイマ109を有している。
機器制御部101は、サーバ機器100のアプリケーションプログラムに係る機能をまとめて表した機能ブロックである。例えば、サーバ機器100がDVDプレーヤの場合には、機器制御部101は、コンテンツの再生や停止などのドライブの状態によって変化する内部状態を管理する機能を有している。また、メニュー制御部102は、機器制御部101及びネットワーク300から受信されるユーザの入力コマンドにより、メニューボタンなどのON/OFF(オン/オフ)を制御する機能を有している。
また、描画コマンド生成部103は、メニューの画像データとメニュー制御部102からのON/OFFの指示により、具体的な通信のコマンドを生成するものである。なお、描画コマンド生成部103では必ずしも1つのメニューを1つのコマンドで描画するわけではなく、1つのメニューをいくつかの部分に分けて、分割されたそれぞれの部分をコマンドによって描画することもある。
また、画面復元コマンドや画面復元終了コマンドなどの各種コマンド(後述の図4Bに図示されているような4つのコマンド)の生成やIDの管理(コマンド内へのIDの記載)も描画コマンド生成部103で行われる。なお、描画コマンド生成部103で生成されたコマンドはコマンド列記憶部106に蓄積される。いったん生成されたコマンドはコマンド出力部107から通信部108を介してネットワーク300に出力されるが、出力される前にユーザの入力操作によりGUIの状態が変わった場合には、コマンド列記憶部106に蓄積されているデータの順番を変更する処理や、データを削除する処理が行われる。コマンドソート部105は、上記のようなコマンド列記憶部106に蓄積されているデータの変更処理、削除処理などを制御する機能を有している。
また、コマンド出力部107は、コマンド列記憶部106に蓄積されているコマンドを通信部108を介してネットワーク300に送信する機能を有している。コマンド列記憶部106に蓄積されているデータを送出するタイミングとしては、キー入力が行われた場合やアニメーションの表示のようにある時刻が経過した際にコマンドが送出された場合などが挙げられる。したがって、コマンド出力部107は、計時機能を有するタイマ109からの時刻情報を参照したり、通信部108からユーザ入力のメッセージの入力を受けたりすることによって、コマンド出力のタイミングの制御を行う。
次に、図3を参照しながら、本発明に係るリモートユーザインタフェースシステムのクライアント機器200の構成について説明する。図3は、本発明の実施の形態におけるリモートユーザインタフェースシステムのクライアント機器の構成の一例を示すブロック図である。なお、図3では、クライアント機器200が有する機能が、機能ブロックによって表されているが、これらの機能は、ハードウェア及び/又はソフトウェア(プログラム)によって実現可能である。
図3に図示されているクライアント機器200は、描画フレームバッファ201、入力部202、コマンド生成部203、描画制御部204、通信部205、タイマ206、データキャッシュ207、ID管理テーブル208を有している。また、図1で説明したように、クライアント機器200には表示装置220及びリモコン221が接続されている。
クライアント機器200の通信部205は、ネットワーク300を介してサーバ機器100との間でデータの送受信を行う機能を有している。なお、サーバ機器100からの受信データ(コマンド)は描画制御部204に渡される。また、コマンド生成部203から受け取ったデータ(コマンド)は、送信データとしてサーバ機器100に送信される。
また、入力部202はリモコン221からの入力を受け、その入力コードをコマンド生成部203に渡す機能を有している。コマンド生成部203は、入力部202から渡された入力コードに基づいて、例えば後述の図4Aに図示されているような2つのコマンドを生成する機能を有しており、生成されたコマンドは通信部205からネットワーク300を通じてサーバ機器100に送信される。なお、サーバ機器100に送信されるコマンドとしては、ユーザのリモコン操作によるリモコンコードのほかに、画面更新要求も存在するが、画面更新要求は、ユーザが操作を行っていない場合でも定期的に送信される必要がある情報であり、コマンド生成部203は、タイマ206からの時間情報に従って定期的に、画面更新要求を含むコマンドを生成する。
また、描画制御部204は、通信部205から受けた受信データに含まれるコマンドを解釈し、描画フレームバッファ201やデータキャッシュ207の制御を行って、描画フレームバッファ201への画像データの書き込みを行う機能を有している。描画フレームバッファ201に書かれた画像データは、表示装置220に送られ表示画面上に表示される。
また、データキャッシュ207は、画像データを一時的に格納する機能を有しており、ID管理テーブル208は、データキャッシュ207内に存在するデータの管理を行うための情報である。ID管理テーブル208では、データキャッシュ207内に格納された画像データがID(識別情報)によって管理される。また、ID管理テーブル208に登録されている各IDの画像データには、「データ保存中」又は「データ復元中」のどちらかの状態が設定される。データキャッシュ207及びID管理テーブル208の詳細な説明に関しては後述する。
次に、図4A及び図4Bを参照しながら、本発明に係るリモートユーザインタフェースシステムにおいて、サーバ機器100とクライアント機器200との間で伝送されるコマンドについて説明する。図4Aは、本発明の実施の形態のリモートユーザインタフェースシステムにおいて、クライアント機器からサーバ機器に送信されるコマンドの一例を示す図であり、図4Bは、本発明の実施の形態のリモートユーザインタフェースシステムにおいて、サーバ機器からクライアント機器に送信されるコマンドの一例を示す図である。
なお、図4A及び図4Bにおいて、サーバ機器とクライアント機器との間で通信開始時のネゴシエーションに用いられるコマンドに関しては図示省略する。また、実際の通信では画像データを圧縮して送るケースもあり、この画像圧縮方法がコマンドに記載される場合もあるが、本発明に係る動作には画像データの圧縮の有無に関連した本質的な違いはないので、本明細書で説明される実施の形態では画像の圧縮に関する詳細な説明は省略する。
図4Aには、クライアント機器200からサーバ機器100に送信されるコマンドの一例として、画面更新要求コマンド410と、ユーザ入力コマンド420とが図示されている。
図4Aの画面更新要求コマンド410は、サーバ機器100に対して画面の更新を要求するものであり、サーバ機器100はこの画面更新要求コマンド410を受けるとクライアント機器200に対して画面を更新するために必要なデータを送信する。ただし、この画面更新要求コマンド410を受けても、サーバ機器100は必ずしも画面更新を行わなくてもよい。すなわち、この画面更新要求コマンド410は、あくまでもクライアント機器200からの画面更新要求の通知を示すコマンドである。
また、図4Aのユーザ入力コマンド420はリモコン221などにおけるユーザ操作(ユーザ入力)をサーバ機器100に通知するためのコマンドであり、例えばリモコンコードなどの入力ボタンのID(入力ID)をデータとして有している。
一方、図4Bには、サーバ機器100からクライアント機器200に送信されるコマンドの一例として、画面更新コマンド430と、画面保存コマンド440と、画面復元コマンド450と、画面復元終了コマンド460とが図示されている。
図4Bの画面更新コマンド430は、更新データの左上の位置(x,y)、更新データのサイズ(幅,高さ)及び更新される画像データの実体を有している。クライアント機器200はこの画面更新コマンド430を受け取ると、受信した画像データを描画フレームバッファ201の指定された位置に描画する。なお、従来の技術のVNCにおいて、サーバ機器100からクライアント機器200に送信されるコマンドは、通常はこの画面更新コマンド430のみである。
また、図4Bの画面保存コマンド440は、指定された位置(x,y)及びサイズ(幅,高さ)の画像データを描画フレームバッファ201からデータキャッシュ207に保存するように指示するためのコマンドである。データキャッシュ207に保存された画像データには、画面保存コマンド440によって指定されたIDが付与され、このIDによってID管理テーブル208で管理される。また、ID管理テーブル208内のこのIDに関連するエントリは、「保存中」の状態に設定される。なお、データキャッシュ207において画像データを保存するための十分な領域が確保できない場合には、画像データを保存しなくてもよく、また、画像データが保存されなかった旨をサーバ機器100に通知する必要もない。
また、図4Bの画面復元コマンド450は、画面保存コマンド440で保存された画像データを指定するIDを有しており、このIDで特定される画像データを描画フレームバッファ201に書き込むように指示するためのコマンドである。すなわち、画面復元コマンド450を受信したクライアント機器200は、図4Bの画面復元コマンド450によって指定されたIDに対応する画像データを、データキャッシュ207内のキャッシュデータから読み出して、描画フレームバッファ201に書き込む処理を行う。
なお、画面復元コマンド450が発行された場合には、その画面復元コマンド450に含まれるIDが対応する画像領域は、データ復元中状態としてロックされ、対応する画面復元終了コマンド460が発行されるまで、クライアント機器200は、その画像領域の更新を行おうとする画像更新コマンドを無視する。
また、図4Bの画面復元終了コマンド460は、画面復元コマンド450と対になって存在するコマンドである。上述のように、画面復元コマンド450が発行されると、そのIDに対応する画像データはデータ復元中状態となり、その画像データに対応する画像領域に対する画面更新コマンドは無視されるようになる。画面復元終了コマンド460は、このデータ復元中状態を解除するためのコマンドであり、画面復元終了コマンド460に含まれているIDに対応するデータ復元中状態が解除される。
なお、図4Bに図示されている4つのコマンドのうち、画面更新コマンド430には画像データが含まれており、処理に時間を要するとともに、伝送時にはネットワーク300の帯域を大きく消費する。一方、画面保存コマンド440、画面復元コマンド450、画面復元終了コマンド460は、クライアント機器200内における処理で済むため、処理に要する時間は、画面更新コマンド430の処理時間と比較して短い。
次に、図5A〜図5Eを参照しながら、本発明の実施の形態におけるクライアント機器200のコマンド処理に係る動作アルゴリズムの一例について説明する。図5Aは、本発明の実施の形態におけるクライアント機器の動作アルゴリズムの一例を示すフローチャートである。また、図5Bは、図5AのステップS510の画面更新処理の詳細を示すフローチャートであり、図5Cは、図5AのステップS520の画面保存処理の詳細を示すフローチャートであり、図5Dは、図5AのステップS530の画面復元処理の詳細を示すフローチャートであり、図5Eは、図5AのステップS540の画面復元終了処理の詳細を示すフローチャートである。なお、図5A〜図5Eは、主にクライアント機器200の描画制御部204で実行される動作アルゴリズムである。
図5Aにおいて、クライアント機器200は動作を開始すると、ネットワーク300からのコマンド入力待ちの状態となる(ステップS501)。そして、コマンドが入力された場合には、図4に図示されている4つのコマンド(画面更新コマンド430、画面保存コマンド440、画面復元コマンド450、画面復元終了コマンド460)のいずれのコマンドであるかが判断される。
そして、ステップS502で画面更新コマンド430であると判断された場合には、画面更新処理が行われる(ステップS510)。また、ステップS503で画面保存コマンド440であると判断された場合には、画面保存処理が行われる(ステップS520)。また、ステップS504で画面復元コマンド450であると判断された場合には、画面復元処理が行われる(ステップS530)。また、ステップS505で画面復元終了コマンド460であると判断された場合には、画面復元終了処理が行われる(ステップS540)。なお、図5Aのフローチャートでは上記の4つのコマンドのみが想定されており、上記の4つのコマンドに該当しないコマンドに関しては無視されて、再びコマンド入力待ちの状態に戻るが、他のコマンドを受けた場合には、そのコマンドに対する適切な動作が行われることが望ましい。
ステップS510の画面更新処理では、図5Bに図示されているように、まず画面更新コマンド430で指定された画像データがデータキャッシュ207にキャッシュされる(ステップS511)。また、ID管理テーブル208において、データ復元中状態のIDを有するデータが存在しているか否かが調べられる(ステップS512)。
データ復元中状態のIDを有するデータが存在する場合には、画面更新コマンド430によって指定された画像データの領域(指定領域)が、データ復元中状態のID(データ復元中ID)を有するデータの領域に含まれるかが調べられる(ステップS513)。画面更新コマンド430による指定領域がデータ復元中状態のIDのデータ領域に含まれる場合には、画面更新処理は行われず、入力されたデータは破棄され(ステップS514)、再びコマンド入力待ち状態に戻る。
一方、画面更新コマンド430による指定領域がデータ復元中状態のIDのデータ領域に含まれない場合や、そもそもデータ復元中状態のIDを有するデータがデータキャッシュ207に存在しない場合には、描画フレームバッファ201において、サーバ機器100から受信した画面更新コマンド430に含まれる画像データを指定された位置サイズの領域に書き込み(ステップS515)、再びコマンド入力待ち状態に戻る。
また、ステップS520の画面保存処理では、図5Cに図示されているように、まず、例えば指定された画像データのサイズなどを確認して、指定された画像データがデータキャッシュ207に保存可能か否かを調べる(ステップS521)。なお、データキャッシュ207の大きさはクライアント機器200の実装依存であり、極端な例ではデータキャッシュの大きさが0であっても、当該動作アルゴリズムは有効に動作する。
ステップS521において、データキャッシュ207の残り容量より画面保存コマンド440で与えられたサイズが大きく、画像データの保存が不可能な場合には、画面保存コマンド440を無視して、そのまま次のコマンド入力待ちに戻る。なお、後述の図8Aや図9Aにおける動作のように、サーバ機器100が従来の技術におけるクライアント機器200との互換性を考慮して動作する場合には、クライアント機器200は、この画面保存コマンド440を無視した旨をサーバ機器100に通知する必要はない。一方、クライアント機器200が、無視した画面保存コマンド440をサーバ機器100に通知し、サーバ機器100は、無視された画面保存コマンドに係る画像データのみ、画像更新コマンドによって送信することも可能である。
一方、ステップS521において、画像データの保存が可能な場合には、描画フレームバッファ201からデータキャッシュ207に画像データをコピーする(ステップS522)とともに、コピーした画像データの位置及びサイズ、画面保存コマンド440で指定されたIDをID管理テーブル208に登録する(ステップS523)。なお、このとき、ID管理テーブル208内のこのIDに関連するエントリは、「保存中」の状態に設定される。そして、再びコマンド入力待ち状態に戻る。
また、ステップS530の画面復元処理では、図5Dに図示されているように、まずID管理テーブル内の情報を参照して、画面復元コマンド450によって指定されたIDを有するデータがデータキャッシュ207にキャッシュされているか否かを調べる(ステップS531)。
画面保存コマンド440及び画面復元コマンド450は対になって使用されるコマンドである。したがって、画面保存コマンド440が無視された場合には、画面復元コマンド450を受信したときに、対応するIDを有するデータがデータキャッシュ207に存在しない可能性がある。ステップS531において、画面復元コマンド450によって指定されたIDを有するデータがデータキャッシュ207にキャッシュされていない場合には、再びコマンド入力待ちの状態に戻る。すなわち、結果として、画面復元コマンド450は無視されたことになる。
一方、ステップS531において、画面復元コマンド450によって指定されたIDを有するデータがデータキャッシュ207にキャッシュされていた場合には、そのデータをデータキャッシュ208から描画フレームバッファ201にコピーする(ステップS532)とともに、当該データをデータキャッシュ207から破棄する(ステップS533)。そして、ID管理テーブル208内の対応するIDのエントリにおいて、データ復元中状態に変更設定し(ステップS534)、再びコマンド入力待ち状態に戻る。なお、ステップS534で設定されたデータ復元中状態は、同一のIDを有するデータ復元終了コマンド460によってのみ解除される。
また、ステップS540の画面復元終了処理では、図5Eに図示されているように、まずID管理テーブル208内の情報を参照して、画面復元終了コマンド460によって指定されたIDがデータ復元中状態か否かを調べる(ステップS541)。そして、画面復元終了コマンド460によって指定されたIDがデータ復元中状態の場合には、そのIDをID管理テーブル208から破棄して(ステップS542)、再びコマンド入力待ち状態に戻る。また、画面復元終了コマンド460によって指定されたIDがID管理テーブル208内に存在しない場合や、データ復元中状態ではない場合には、この画像復元終了コマンド460を無視し、(ステップS542)、再びコマンド入力待ち状態に戻る。
次に、具体的にサーバ機器100から出力されるデータに基づいて、サーバ機器100の動作について説明する。図6A及び図6Bは、本発明の実施の形態のリモートユーザインタフェースシステムにおいて、ユーザ操作とGUI(メニュー)の表示と関係の第1及び第2の例を示す図である。図6Aでは、図12に図示されている言語選択のメニューの例を再び用いて説明を行う。このメニューには、「日本語」、「英語」、「中国語」、「韓国語」の4項目が表示されている。
図6Aにおいて、初期状態のメニュー601では「日本語」がハイライト表示されており、「日本語」が選択可能な状態となっている。ここで、ユーザがリモコンの下矢印ボタンを押すと、「英語」の部分がハイライト表示され、「英語」が選択可能なメニュー602の状態になる。この状態でユーザが上矢印ボタンを押すと、再び「日本語」の部分がハイライト表示され、「日本語」が選択可能なメニュー603(メニュー601と同一)の状態となる。
一方、図6Bにおいても、初期状態のメニュー604では「日本語」がハイライト表示されており、「日本語」が選択可能な状態となっている。ここで、ユーザがリモコンの下矢印ボタンを2回連続して押すとする。このとき、最初の下矢印ボタンの押下によって「英語」の部分のハイライト表示が始まるが、一部のみ(図6Bのメニュー605では「英」の文字のみ)がハイライト表示された時点で、すぐに2回目の下矢印ボタンの押下によって選択カーソルが更に下方向に移動して、「中国語がハイライト表示されたメニュー606に移行する。
また、図7は、図6A及び図6Bに図示されているメニューの座標位置の一例を示す図である。図7に図示されているように、メニュー701は「日本語」、「英語」、「中国語」、「韓国語」の4つの項目が縦に積層配置された構造を有している。各項目の画像データは、幅150、高さ30の同一形状を有しており、4つの項目が積層された全体の座標は、左上の座標が(0,0)、右上の座標が(150,0)、左下の座標が(0,120)、右下の座標が(150,120)となっている。
次に、図6A及び図7を参照しながら、図8Aに図示されている本発明のサーバ機器100の動作について具体的に説明する。図8Aは、図6Aに図示されているメニュー601の表示からメニュー603の表示に遷移する際の描画コマンドの一例を示す図である。
なお、各行が各コマンドに対応しており、分かりやすいように各コマンドにはナンバー(No.)が割り当てられている。また、X、Y、W、Hは、図7に図示されている画像データの左上の座標位置、画像データの幅及び高さであり、IDはサーバ機器100が画像データに対して付与するIDである。また、データの欄には、画像データが模式的に図示されており、状態の欄には、各行(各コマンド)が実行された時点におけるメニューの状態(図8Bを参照)が示されている。
図8Aにおいて、図8Bのメニュー851を初期表示状態とする。また、初期状態として、クライアント機器200のデータキャッシュ207は空であるとする。ここで、ユーザによって下矢印ボタンが入力されると、クラインアント機器200からサーバ機器100に下矢印ボタンが押されたことを示すコマンドが送信される。サーバ機器100はこのコマンドを受けて、まず、画面の更新領域である非ハイライト表示の「英語」の画像領域をID=2の画像データとして保存するように指示する画面保存コマンドを送信する(No.801)。なお、画面の更新領域であるハイライト表示の「日本語」の画像領域もデータキャッシュ207にキャッシュされてもよいが、ここでは説明を省略する。
さらに、サーバ機器100は、クライアント機器200に対して、ハイライト表示の「英」、「語」、空白(「英語」の後ろの余白)の画像データの表示を指示する画面更新コマンドと、非ハイライト表示の「日」、「本」、「語」の画像データの表示を指示する画面更新コマンドとを送信する(No.802〜No.807)。
なお、図8Bのメニュー852は、No.802のハイライト表示の「英」の画像データを含む画面更新コマンドの処理後のメニューであり、図8Bのメニュー853は、No.806の非ハイライト表示の「本」の画像データを含む画面更新コマンドの処理後のメニューである。また、図8Bのメニュー854は、No.807のデータを含む画面更新コマンドの処理後のメニューであり、図8Bのメニュー853は、No.806の非ハイライト表示の「本」の画像データを含む画面更新コマンドの処理後のメニューであり、すなわち、ユーザによる下矢印ボタンの押下に対応した処理が完了した場合のメニューである。
次に、ユーザによって上矢印ボタンが入力され、クラインアント機器200からサーバ機器100に上矢印ボタンが押されたことを示すコマンドが送信されたとする。この場合には、サーバ機器100はこのコマンドを受けて、まず、ID=2の画像データ(非ハイライト表示の「英語」)の復元(元の位置に再表示)を指示する画面復元コマンドを送信する(No.808)。なお、図8Bのメニュー855は、No.808の画面復元コマンドの処理後のメニューである。
また、サーバ機器100は、画面の更新領域である非ハイライト表示の「日本語」の画像領域をID=3の画像データとして保存するように指示する画面保存コマンドを送信する(No.809)。さらに、サーバ機器100は、クライアント機器200に対して、ハイライト表示の「日」、「本」、「語」の画像データの表示を指示する画面更新コマンドと、非ハイライト表示の「英」、「語」、空白(「英」、「語」の後ろの余白)の画像データの表示を指示する画面更新コマンドとを送信する(No.810〜No.815)。なお、図8Bのメニュー856は、No.810のハイライト表示の「日」の画像データを含む画面更新コマンドの処理後のメニューであり、図8Bのメニュー857は、No.812のハイライト表示の「語」の画像データを含む画面更新コマンドの処理後のメニューである。
そして、サーバ機器100はクライアント機器200に対して、ID=2の画像データに関する画面復元コマンド(No.808)を無効にする画面復元終了コマンドを送信し(No.816)、処理は終了となる。
なお、No.808における画面復元コマンドが有効な場合には、図8Bのメニュー857を参照すれば分かるように、No.812の画面更新コマンドに係る処理が完了した時点でメニューの書き換えはすべて終了している。この場合、クライアント機器200は、「英語」の表示領域はデータ復元中状態なので、非ハイライト表示の「英語」に関する画像更新コマンド(No.813〜No.815)を無視する。これにより、メニュー854の状態からユーザによる上矢印ボタンの押下に応じて瞬時に「英語」メニューのハイライトが消え(メニュー855)、すぐに「日本語」メニューのハイライトが開始される(メニュー856及びメニュー857)ので、画面更新コマンドの伝送回数が低減されるとともに、ユーザ操作が即座に表示画面に反映される高速表示が実現されるようになる。
一方、No.808における画面復元コマンドが有効ではないクライアント機器は、非ハイライト表示の「英語」に関する画像更新コマンド(No.813〜No.815)の処理を行うことで、正常な画面表示を得ることが可能となる。すなわち、クライアント機器200が、例えば本発明に係る動作に対応していない既存のVNCクライアント機器の場合であっても、画面更新コマンド以外の新規コマンドは処理不可能なコマンドとして無視される一方、サーバ機器100が正常な画面更新が行われるように画面更新コマンドの送信を行うことで、従来の技術におけるクライアント機器に対する互換性が保たれるようになる。
なお、サーバ機器100が、クライアント機器200が本発明に対応していることをサーバ機器100が事前に把握しているのであれば、従来の技術のクライアント機器との互換性を保つために必要な画像更新コマンド(No.813〜No.815)の送信を行わないようにしてもよい。
また、サーバ機器100は、例えば6つの画面更新コマンド(No.810〜No.815)の送信順序を配慮せずに、これらのコマンドの送信を行ってもよいが、コマンドソート部105は、先にハイライト表示の「日本語」の画像データの表示を指示する画面更新コマンド(No.810〜No.812)の送信を行うように制御して、本発明に対応するクライアント機器200における高速表示を実現することが望ましい。
次に、図6B及び図7を参照しながら、図9Aに図示されている本発明のサーバ機器100の動作について具体的に説明する。図9Aは、図6Bに図示されているメニュー604の表示からメニュー606の表示に遷移する際の描画コマンドの一例を示す図である。ここでは、ユーザが連続して下矢印ボタンを2回押下した操作を行った場合を想定している。
なお、図9Aに図示されている表形式の構造は、図8Aと同様である。また、図9Aにおいて、図8Aの処理が完了した後の状態を初期状態とする。すなわち、図9Aにおいて、図9Bのメニュー951を初期表示状態とする。また、初期状態として、クライアント機器200のキャッシュデータ207には、非ハイライト表示の「日本語」の画像領域がID=3の画像データとして保存されているものとする。
ここで、ユーザによって下矢印ボタンが入力されると、クラインアント機器200からサーバ機器100に下矢印ボタンが押されたことを示すコマンドが送信される。サーバ機器100はこのコマンドを受けて、ID=3の画像データ(非ハイライト表示の「日本語」)の復元を指示する画面復元コマンドを送信する(No.901)。なお、図9Bのメニュー952は、No.901の画面復元コマンドの処理後のメニューである。
また、サーバ機器100は、画面の更新領域である非ハイライト表示の「英語」の画像領域をID=4の画像データとして保存するように指示する画面保存コマンドを送信する(No.902)。そして、ハイライト表示の「英」の画像データを含む画面更新コマンドを送信し(No.903)、ハイライト表示の「英語」及び非ハイライト表示の「日本語」の画面更新処理を開始する。なお、図9Bのメニュー953は、No.903のハイライト表示の「英」の画像データを含む画面更新コマンドの処理後のメニューである。
ここで、ユーザによって下矢印ボタンが更に入力されると、クラインアント機器200からサーバ機器100に下矢印ボタンが押されたことを示すコマンドが送信される。サーバ機器100はこのコマンドを受けて、ID=4の画像データ(非ハイライト表示の「英語」)の復元を指示する画面復元コマンドを送信する(No.904)。なお、図9Bのメニュー954は、No.904の画面復元コマンドの処理後のメニューである。
また、サーバ機器100は、画面の更新領域である非ハイライト表示の「中国語」の画像領域をID=5の画像データとして保存するように指示する画面保存コマンドを送信する(No.905)。さらに、サーバ機器100は、クライアント機器200に対して、ハイライト表示の「中」、「国」、「語」の画像データの表示を指示する画面更新コマンドと、非ハイライト表示の「英」の画像データの表示を指示する画面更新コマンドとを送信する(No.906〜No.909)。
なお、図9Bのメニュー955は、No.906のハイライト表示の「中」の画像データを含む画面更新コマンドの処理後のメニューであり、図9Bのメニュー956は、No.908のハイライト表示の「語」の画像データを含む画面更新コマンドの処理後のメニューである。したがって、No.908までのコマンド処理によって、本発明に対応したクライアント機器200であれば、ユーザによる操作が入力されてから最小限の時間によって、ユーザによる操作が反映された画面(メニュー956)表示されるようになる。
なお、No.808における画面復元コマンドが有効な場合には、図8Bのメニュー857を参照すれば分かるように、No.812の画面更新コマンドに係る処理が完了した時点でメニューの書き換えはすべて終了している。この場合、クライアント機器200は、「英語」の表示領域はデータ復元中状態なので、非ハイライト表示の「英語」に関する画像更新コマンド(No.813〜No.815)を無視する。これにより、メニュー854の状態からユーザによる上矢印ボタンの押下に応じて瞬時に「英語」メニューのハイライトが消え(メニュー855)、すぐに「日本語」メニューのハイライトが開始される(メニュー856及びメニュー857)ので、画面更新コマンドの伝送回数が低減されるとともに、ユーザ操作が即座に表示画面に反映される高速表示が実現されるようになる。
No.909の非ハイライト表示の「英」の画像データを含む画面更新コマンドは、No.905の画面復元コマンドが有効に作用しないクライアント機器(例えば、従来のVNCクライアント機器)に対して、No.903で更新されたハイライト表示の「英」を非ハイライト表示に戻すためのものである。したがって、コマンドの順序として、No.909の画面更新コマンドの送信が完了した後に、No.910のID=4の画像データに係る画面復元終了コマンドが送信される必要がある。
また、さらに、No.901の画面復元コマンドが有効に作用しないクライアント機器(例えば、従来のVNCクライアント機器)では、依然として「日本語」がハイライト表示されている。したがって、サーバ機器100はクライアント機器200に対して、「日本語」を非ハイライト表示に戻すための画面更新コマンド(No.911〜No.913)送信する。このNo.911〜No.913の画面更新コマンドは、本発明に対応するクライアント機器200では、「日本語」の表示領域がデータ復元中状態であるがゆえに無視される。そして最後にサーバ機器100はクライアント機器200に対して、ID=3に関する画面復元終了コマンドを送信し(No.914)、処理は終了となる。
なお、サーバ機器100のコマンドソート部105は、まず画面復元コマンドや画面保存コマンドが送信され、続いて、画面復元コマンドの送信によって画面復元中状態となっている画像領域以外の画像領域に係る画面更新コマンドの送信が行われ、その後、画面復元コマンドの送信によって画面復元中状態となっている画像領域に係る画面更新コマンドの送信が行われて、最後に画面復元コマンドの効果を解除するための画面復元終了コマンドの送信が行われるようにコマンド列の送信順序を制御することが望ましい。このコマンドの送信順序の制御によって、本発明に対応するクライアント機器200における高速表示を効率良く実現することが可能となる。
また、ここでは詳細には説明していないが、ボタンの点滅を表すような繰り返しのアニメーションに係る画像データがコマンドに含まれている場合には、サーバ機器100のコマンドソート部105は、ユーザによる直近のボタン入力のコマンドを優先して実行することが望ましい。
次に、図10A及び図10Bや図11A及び図11Bを参照しながら、従来の技術におけるクライアント機器200(例えばVNCクライアント機器)が、上述の図8Aや図9Aに図示されているサーバ機器100からのコマンド列を処理する場合について説明する。
図10Aに図示されているコマンド列は、図8Aと同一である。図10Aにおいて、本発明に特徴的な画像データを保存する機能を有していないVNCクライアント機器では、各状態1051〜1059において、それぞれ図10Bに図示されているメニューの表示が行われる。また同様に、図11Aに図示されているコマンド列は、図9Aと同一である。図11Aにおいて、本発明に特徴的な画像データを保存する機能を有していないVNCクライアント機器では、各状態1151〜1159において、それぞれ図11Bに図示されているメニューの表示が行われる。
詳細な説明については省略するが、VNCクライアント機器においても、図10Bや図11Bの各メニューを参照すれば分かるとおり、描画途中で画面の更新が若干不自然な部分があるものの、ユーザによって入力された矢印ボタンに即座に反応して描画が開始され、ユーザは自分の操作に対する反応を即座に表示画面上で認知することが可能である。また、画面の更新に関しては、サーバ機器100が意図したとおりにVNCクライアント機器においても画面の更新が行われる。
このように本発明のリモートユーザインタフェースシステムのサーバ機器から、従来の技術におけるクライアント機器にコマンド列が送出された場合であっても、従来の技術におけるクライアント機器において、画面表示がサーバ機器100が意図したとおりに正常に更新されるようにすることが可能である。
一方、クライアント機器が本発明に対応しており、サーバ機器が本発明に非対応な場合であっても、サーバ機器からクライアント機器に対して従来の技術に係る描画コマンド(例えば画面更新コマンド)しか発行されないので、動作の不具合が生じることはない。このように、リモートユーザインタフェースシステムのサーバ機器及びクライアント機器のどちらか一方が本発明に非対応な場合であっても、正常な画面更新動作が行わる。また、サーバ機器及びクライアント機器の両方が本発明に対応している場合には、本発明の効果である高速表示やキャッシュの有効利用(伝送データの低減)が最も効果的に実現される。
本発明は、リモートユーザインタフェースシステムにおいて、ネットワークを介してユーザインタフェースの操作を行う際の操作性を向上させることが可能であるという効果を有しており、リモートユーザインタフェースシステムに関連する技術分野に適用可能である。
本発明の実施の形態におけるリモートユーザインタフェースシステムの構成の概略を示す図である。 本発明の実施の形態におけるリモートユーザインタフェースシステムのサーバ機器の構成の一例を示すブロック図である。 本発明の実施の形態におけるリモートユーザインタフェースシステムのクライアント機器の構成の一例を示すブロック図である。 本発明の実施の形態のリモートユーザインタフェースシステムにおいて、クライアント機器からサーバ機器に送信されるコマンドの一例を示す図である。 本発明の実施の形態のリモートユーザインタフェースシステムにおいて、サーバ機器からクライアント機器に送信されるコマンドの一例を示す図である。 本発明の実施の形態におけるクライアント機器の動作アルゴリズムの一例を示すフローチャートである。 図5AのステップS510の画面更新処理の詳細を示すフローチャートである。 図5AのステップS520の画面保存処理の詳細を示すフローチャートである。 図5AのステップS530の画面復元処理の詳細を示すフローチャートである。 図5AのステップS540の画面復元終了処理の詳細を示すフローチャートである。 本発明の実施の形態のリモートユーザインタフェースシステムにおいて、ユーザ操作とGUI(メニュー)の表示と関係の第1の例を示す図である。 本発明の実施の形態のリモートユーザインタフェースシステムにおいて、ユーザ操作とGUI(メニュー)の表示と関係の第2の例を示す図である。 図6A及び図6Bに図示されているメニューの座標位置の一例を示す図である。 本発明の実施の形態において、図6Aに図示されているメニュー601の表示からメニュー603の表示に遷移する際の描画コマンドの一例を示す図である。 図8Aの主要な各状態において表示されるメニューの一例を示す図である。 本発明の実施の形態において、図6Bに図示されているメニュー604の表示からメニュー606の表示に遷移する際の描画コマンドの一例を示す図である。 図9Aの主要な各状態において表示されるメニューの一例を示す図である。 図8Aに図示されている描画コマンド列が従来の技術におけるクライアント機器によって処理される場合の一例を説明するための図である。 図10Aの主要な各状態において表示されるメニューの一例を示す図である。 図9Aに図示されている描画コマンド列が従来の技術におけるクライアント機器によって処理される場合の一例を説明するための図である。 図11Aの主要な各状態において表示されるメニューの一例を示す図である。 従来の技術のVNCにおける動作の概略を示す図である。
符号の説明
100 サーバ機器
101 機器制御部
102 メニュー制御部
103 描画コマンド生成部
104 メニューリソース
105 コマンドソート部
106 コマンド列記憶部
107 コマンド出力部
108 通信部
109、206 タイマ
200 クライアント機器
201 描画フレームバッファ
202 入力部
203 コマンド生成部
204 描画制御部
205 通信部
207 データキャッシュ
208 ID管理テーブル
220 表示装置
221 リモコン
300 ネットワーク
410 画面更新要求コマンド
420 ユーザ入力コマンド
430 画面更新コマンド
440 画面保存コマンド
450 画面復元コマンド
460 画面復元終了コマンド
601〜606、701、851〜857、951〜956、1051〜1059、1151〜1159 メニュー

Claims (2)

  1. 外部又は内部の表示部に画像を表示する機能を有するクライアント装置とネットワークで接続され、前記クライアント装置から送信される操作信号に基づいた描画コマンドを前記クライアント装置に送信して前記クライアント装置の前記表示部で表示される画像の表示制御を行うサーバ装置であって、
    前記クライアント装置から送信される前記操作信号を受信する操作信号受信手段と、
    第1の画像データと第1の領域データとを有し、前記表示部に表示中の画像における前記第1の領域データで指定される領域に、前記第1の画像データによる画像を表示させるための前記描画コマンドである画像更新コマンド、第2の領域データと第1の識別情報とを有し、前記表示部に表示中の画像における前記第2の領域データで指定される領域の画像の画像データである第2の画像データを前記第1の識別情報と対応付けて前記クライアント装置に保存させるための前記描画コマンドである画像保存コマンド、第2の識別情報を有し、前記クライアント装置に保存されている1つ以上の前記第2の画像データのうち、前記第2の識別情報と一致する前記第1の識別情報に対応する第2の画像データを読み出して、この読み出した第2の画像データを、前記画像保存コマンドによって保存される前に前記表示部に表示中の画像において表示されていた領域に再表示させるとともに、この再表示の状態を解除するためのコマンドを受信するまで前記画像更新コマンドを無視させるための前記描画コマンドである画像復元コマンド、第3の識別情報を有し、前記画像復元コマンドによって前記クライアント装置が前記再表示の状態になっている場合に、前記画像復元コマンドが有していた前記第2の識別情報と前記第3の識別情報とが一致したら、前記クライアント装置の前記再表示の状態を解除して、前記画像更新コマンドの受信を再開させるための前記描画コマンドである画像復元終了コマンドの少なくとも4種類の描画コマンドを、前記操作信号受信手段で受信した操作信号に基づいてそれぞれ生成する描画コマンド生成手段と、
    前記描画コマンド生成手段で生成された前記4種類の描画コマンドを前記クライアント装置に順次送信する際に、その順次送信される各描画コマンドをコマンド列として一時的に格納するコマンド列記憶手段と、
    前記クライアント装置から受けた直近の前記操作信号を優先して処理するように、前記コマンド列記憶手段に格納された前記描画コマンドのコマンド列の順序を入れ替えるコマンド送信順序制御手段と、
    入れ替えた前記コマンド列の順序に従って前記描画コマンドを前記クライアント装置に順次送信する描画コマンド送信手段とを、
    有するサーバ装置。
  2. サーバ装置とネットワークで接続され、本装置から送信した操作信号に基づいて前記サーバ装置から送信される描画コマンドによって、本装置の外部又は内部の表示部に表示している画像の表示制御が行われるクライアント装置であって、
    画像データを一時的に保存するためのデータ格納手段と、
    所定の操作入力手段から入力された操作指示信号に対応した操作信号を前記サーバ装置に送信する操作信号送信手段と、
    送信した前記操作信号に基づいて前記サーバ装置が選択し送信する、画像更新コマンド、画像保存コマンド、画像復元コマンド、画像復元終了コマンドの4種類の描画コマンドのうちの所定の描画コマンドを受信する描画コマンド受信手段と、
    前記描画コマンド受信手段が、前記画像更新コマンドを受信した場合には、前記画像更新コマンドが有する第1の画像データと第1の領域データとを取得し、前記表示部に表示されている画像における前記第1の領域データで指定される領域に、前記第1の画像データによる画像を表示する画像更新手段と、
    前記描画コマンド受信手段が、前記画像保存コマンドを受信した場合には、前記画像保存コマンドが有する第2の領域データと第1の識別情報とを取得し、前記表示部に表示中の画像における前記第2の領域データで指定される領域の画像の画像データである第2の画像データを前記第1の識別情報と対応付けて前記データ格納手段に格納する画像保存手段と、
    前記描画コマンド受信手段が、前記画像復元コマンドを受信した場合には、前記画像復元コマンドが有する第2の識別情報を取得し、前記データ格納手段に格納されている1つ以上の前記第2の画像データのうち、前記第2の識別情報と一致する前記第1の識別情報に対応する第2の画像データを読み出して、この読み出した第2の画像データを、前記画像保存コマンドによって保存される前に前記表示部に表示中の画像において表示されていた領域に再表示させるとともに、この再表示の状態を解除するためのコマンドを受信するまで前記画像更新コマンドの受信を無視するように前記描画コマンド受信手段を制御する画像復元手段と、
    前記描画コマンド受信手段が、前記画像復元終了コマンドを受信した場合には、前記画像復元終了コマンドが有する第3の識別情報を取得し、前記画像復元手段が前記再表示の状態になっている場合に、前記画像復元コマンドが有していた前記第2の識別情報と前記第3の識別情報とが一致したら、前記画像復元手段の前記再表示の状態を解除して、前記画像更新コマンドの受信を再開させるように前記描画コマンド受信手段を制御する画像更新制御手段とを、
    有するクライアント装置。
JP2006316254A 2006-11-22 2006-11-22 サーバ装置及びクライアント装置 Withdrawn JP2008129954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006316254A JP2008129954A (ja) 2006-11-22 2006-11-22 サーバ装置及びクライアント装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006316254A JP2008129954A (ja) 2006-11-22 2006-11-22 サーバ装置及びクライアント装置

Publications (1)

Publication Number Publication Date
JP2008129954A true JP2008129954A (ja) 2008-06-05

Family

ID=39555686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006316254A Withdrawn JP2008129954A (ja) 2006-11-22 2006-11-22 サーバ装置及びクライアント装置

Country Status (1)

Country Link
JP (1) JP2008129954A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079462A (ja) * 2008-09-25 2010-04-08 Casio Computer Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
WO2010041582A1 (en) * 2008-10-08 2010-04-15 Nec Corporation Method for establishing a thin client session
JP2010232891A (ja) * 2009-03-26 2010-10-14 Nec Personal Products Co Ltd サーバ、リモート操作システム、伝送方式制御方法、プログラム及び記録媒体
JP2011204089A (ja) * 2010-03-26 2011-10-13 Nec Personal Products Co Ltd 画面データ配信システム、サーバ、クライアント端末、画面データ配信方法、及びプログラム
JP2012022572A (ja) * 2010-07-15 2012-02-02 Mitsubishi Heavy Ind Ltd 表示制御装置、表示制御方法、及び管制システム
JP2014067312A (ja) * 2012-09-26 2014-04-17 Fujitsu Ltd システム、端末装置および画像処理方法
WO2015107672A1 (ja) 2014-01-17 2015-07-23 富士通株式会社 画像処理プログラム、画像処理方法、および画像処理装置
WO2024055836A1 (zh) * 2022-09-14 2024-03-21 北京字跳网络技术有限公司 播放控制方法、装置、电子设备和存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079462A (ja) * 2008-09-25 2010-04-08 Casio Computer Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
WO2010041582A1 (en) * 2008-10-08 2010-04-15 Nec Corporation Method for establishing a thin client session
JP2012505561A (ja) * 2008-10-08 2012-03-01 日本電気株式会社 シンクライアントセッションの確立方法
JP2010232891A (ja) * 2009-03-26 2010-10-14 Nec Personal Products Co Ltd サーバ、リモート操作システム、伝送方式制御方法、プログラム及び記録媒体
JP2011204089A (ja) * 2010-03-26 2011-10-13 Nec Personal Products Co Ltd 画面データ配信システム、サーバ、クライアント端末、画面データ配信方法、及びプログラム
JP2012022572A (ja) * 2010-07-15 2012-02-02 Mitsubishi Heavy Ind Ltd 表示制御装置、表示制御方法、及び管制システム
US9406283B2 (en) 2010-07-15 2016-08-02 Mitsubishi Heavy Industries, Ltd. Display control device, display control method, and control system
JP2014067312A (ja) * 2012-09-26 2014-04-17 Fujitsu Ltd システム、端末装置および画像処理方法
WO2015107672A1 (ja) 2014-01-17 2015-07-23 富士通株式会社 画像処理プログラム、画像処理方法、および画像処理装置
WO2024055836A1 (zh) * 2022-09-14 2024-03-21 北京字跳网络技术有限公司 播放控制方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
JP2008129954A (ja) サーバ装置及びクライアント装置
US8533624B2 (en) Method and apparatus for displaying a window for a user interface
JP6364893B2 (ja) 端末装置、電子ホワイトボードシステム、電子ホワイトボードの入力支援方法、及びプログラム
WO2010109849A1 (ja) 情報処理装置、情報処理方法、記録媒体、及び集積回路
US20070008338A1 (en) Display system, display apparatus, and method of controlling video source and display apparatus
WO2011128957A1 (ja) スクリーンショット表示制御装置、スクリーンショット表示制御方法、スクリーンショット表示制御用集積回路、サーバ装置
JP5470259B2 (ja) 排他操作制御装置及び方法
WO2014036974A1 (zh) 一种终端设备、同屏显示方法和系统
WO2019000669A1 (zh) 工作模式的切换方法及装置、镜面显示设备及存储介质
JP2019008668A (ja) クライアントデバイス、画像処理システム、画像の表示方法および、プログラム
WO2013111272A1 (ja) 設備管理装置、設備管理方法、プログラム、及び、設備管理システム
JP6221214B2 (ja) システム、端末装置および画像処理方法
US20190243536A1 (en) Method for interacting with one or more software applications using a touch sensitive display
US20160034116A1 (en) Hand-held electronic apparatus having function of activating application program of electronic apparatus, and method thereof
JP2009093374A (ja) クライアント装置およびサーバ装置
US8856827B1 (en) System for conveying and reproducing images for interactive applications
JP6209868B2 (ja) 情報端末、情報処理プログラム、情報処理システム、及び情報処理方法
JP6062984B2 (ja) 情報処理装置および情報表示方法
JP2006054669A (ja) 情報機器遠隔操作システムおよび情報機器
JP2006107397A (ja) 情報処理装置、およびプログラム
JP5914542B2 (ja) 表示制御装置、表示制御装置の動作方法およびコンピュータプログラム
JP2008310442A (ja) 遠隔操作システム、制御方法及びプログラム
EP3521990A1 (en) Method for interacting with one or more of software applications using a touch sensitive display
JP5347271B2 (ja) 端末装置及びプログラム
CN117812361A (zh) 一种显示设备及浏览器缓存数据的管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081226

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100303