説明

画面転送システムにおけるサーバ及びその制御方法

【課題】文字入力を続けていくとキャレットがクライアント表示領域から外れてしまうような課題に対して、キャレット移動にクライアント表示領域が適切に追従する。
【解決手段】サーバ200が生成したデスクトップ画面であるサーバ画面Gsの一部を切り出したクライアント画面Gcを表示する携帯端末100は、ユーザ操作に基づくユーザ入力信号を逐次サーバ200に送信する。サーバ200では、デスクトップ画面に含まれる文字入力キャレットが移動する入力イベントを検出し、文字入力キャレットがクライアント画面Gcの外側へ移動したことを判断すると、クライアント画面Gcの位置を特定するための情報(画面切り出し位置(例えば左上隅))を、文字入力キャレットがクライアント画面Gcに含まれる位置に、決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面転送システムにおけるサーバ及びその制御方法に関し、特に、サーバ画面を切り出してクライアント画面を生成する場合のクライアント端末の使い勝手を向上させる技術に関する。
【背景技術】
【0002】
サーバ・クライアント型のコンピュータシステムにおいて、サーバが生成するデスクトップ画面をクライアントが表示する「画面転送システム」がある。このような画面転送システムのハードウェア・アーキテクチャとして、一例として、サーバ側にデスクトップパソコン、クライアント側にいわゆるスマートフォンを用いることがある。
【0003】
上記ハードウェア・アーキテクチャは一例ではあるが、クライアントをスマートフォン等の携帯端末とすると、ユーザがクライアントを携行して外出先等で利用可能になるので、メリットがある。しかしながら、携帯端末は通常、サーバ側よりもクライアント側の画面解像度が低いというデメリットもある。
【0004】
クライアント側の画面解像度が低いため、ユーザの操作性を向上するためには、例えば、デスクトップ画面全体を縮小して表示したり、一部を切り取って表示(トリミング)したりする必要がある。本発明は、後者、すなわち、デスクトップ画面の一部を切り取って表示する場合に生じる課題に対応する技術である。
【0005】
特許文献1には、上述のような、デスクトップ画面の一部を切り取って表示する画面転送システムの一例が記載されていると考えられる。特許文献1では、クライアント装置は、サーバ装置から「描画データG」を受け取って、その一部を表示する。表示されている画面領域の情報(「表示領域情報」)をサーバ装置に送信する。サーバ装置は、表示されている画面領域に「選択されたオブジェクト」が収まるか収まらないかを判断して、「表示領域情報」を変更してクライアントに送り返す。「オブジェクト」とは、リストボックスやテキストボックスなどであり(段落0028参照)、それを選択するとは、操作対象として指示することを指すと解される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−223831号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
一般的に、クライアント表示画面は、デスクトップ画面よりも小さい。そのため、キーボード入力によって文字入力を続けていくとキャレットがクライアント表示領域から外れてしまうような問題があった。キャレットがクライアント表示領域から外れると入力を確認することができず、不便である。また、キーボード入力によって選択可能項目を移動した場合(Tabキー押下による移動など)でも、キャレットがクライアント表示領域から外れてしまうような問題があった。
【0008】
そこで本発明は、上記実情に鑑みて、キャレット移動にクライアント表示領域が適切に追従することが可能な画面転送システムにおけるサーバ及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明は、第1の態様として、ネットワークを介してクライアント端末とサーバとが通信可能に接続する画面転送システムにおける前記サーバであって、デスクトップ画面を生成するサーバ画面生成手段と、前記デスクトップ画面から一部を切り出してクライアント端末における表示領域であるクライアント画面とする画面切り出し手段と、前記デスクトップ画面に含まれる文字入力キャレットが移動する入力イベントを検出し、前記文字入力キャレットが前記クライアント画面の外側へ移動したことを判断するキャレット移動制御手段と、前記文字入力キャレットが前記クライアント画面の外側へ移動したと判断された場合に、前記クライアント画面の切り出し位置を、前記文字入力キャレットが前記クライアント画面に含まれる位置に、決定し、決定した切り出し位置を前記画面切り出し手段に入力する画面切り出し位置決定手段と、を備え、前記画面切り出し手段は、入力された前記決定した切り出し位置に基づいて前記デスクトップ画面から一部の切り出しを行うことを特徴とする、画面転送システムにおけるサーバを提供するものである。
【0010】
また、上記目的を達成するために、本発明は、第2の態様として、サーバが生成したデスクトップ画面から切り出された一部をクライアント画面としてクライアント端末に転送する画面転送システムにおけるサーバの制御方法であって、前記デスクトップ画面に含まれる文字入力キャレットが移動する入力イベントを検出する工程と、前記検出する工程の結果、前記文字入力キャレットが前記クライアント画面の外側へ移動したことを判断するキャレット移動判断工程と、前記文字入力キャレットが前記クライアント画面の外側へ移動したと判断された場合に、前記クライアント画面の切り出し位置を、前記文字入力キャレットが前記クライアント画面に含まれる位置に、決定する画面切り出し位置決定工程と、決定した切り出し位置に基づいて前記デスクトップ画面から一部の切り出しを行う工程と、を含むことを特徴とする、画面転送システムにおけるサーバの制御方法を提供するものである。
【発明の効果】
【0011】
本発明によれば、キャレット移動にクライアント表示領域が適切に追従することが可能となる。
【図面の簡単な説明】
【0012】
【図1】第1の実施形態の機能構成を示すブロック図である。
【図2】第1の実施形態におけるサーバ画面とクライアント画面とキャレットの概念を説明するための概念図である。
【図3】第1の実施形態の処理の流れを示すフローチャート図である。
【図4】第2の実施形態の処理の流れを示すフローチャート図である。
【図5】第2の実施形態におけるカーソルキーや文字変換確定キー入力による画面切り出し位置決定を説明するための概念図である。
【図6】第2の実施形態におけるTabキー入力による画面切り出し位置決定を説明するための概念図である。
【図7】第3の実施形態の機能構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、本発明を実施するために好適な実施の形態を説明する。
本実施形態は、画面転送システムであって、そのハードウェア・アーキテクチャは、種々のものが考えられるが、一例として、サーバ側にデスクトップパソコン、クライアント側にいわゆるスマートフォンを用いる。図1では「サーバ200」がデスクトップパソコンに、「携帯端末100」がスマートフォンに対応する。
【0014】
(第1の実施形態)
図1に、本実施形態の機能構成を示す。
本実施形態に係る画面転送システムは、サーバ200と携帯端末100が相互に通信可能にネットワークを介して接続されている。サーバ200、携帯端末100は、プログラム制御により、以下に説明する各手段が構成される。
【0015】
サーバ200は、サーバ画面生成手段201と、画面切り出し手段202と、キャレット移動制御手段203と、画面切り出し位置決定手段204とを有する。キャレット移動制御手段203と画面切り出し位置決定手段204の備える機能については、携帯端末100の各部の説明の後に詳述する。
【0016】
サーバ画面生成手段201は、サーバ200による情報処理の結果や、携帯端末100から受信したユーザ入力等に基づいて、サーバ画面Gsを逐次生成する機能を備える。本実施形態では、サーバ画面Gsは、GUI(グラフィカル・ユーザ・インターフェース)を提供するサーバ200のOS(基本ソフトウェア)のデスクトップ画面そのものである。
【0017】
図2に、本実施形態におけるサーバ画面とクライアント画面とキャレットの概念を説明するための概念図を示す。
サーバ画面Gsは、デスクトップ画面であって、例えば、左上隅に原点(0、0)が置かれる。デスクトップ画面の描画オブジェクトの一つである文字入力キャレット(以下、単に「キャレット」と呼ぶ)は、座標(x,y)で位置を特定できる。
【0018】
クライアント画面Gcは、サーバ画面Gsの中の、クライアント画面表示手段101が表示可能な表示領域(クライアント表示領域)である。クライアント画面Gcは、通常矩形をしているので、左上隅座標(cx,cy)と、クライアント表示領域の高さhと幅wとで、位置を特定できる。高さhと幅wとが変化しない場合、左上隅座標(cx,cy)だけで位置を特定できる。
【0019】
画面切り出し位置決定手段204は、クライアント画面Gcの位置を特定する情報を決定して、画面切り出し手段202に入力する。画面切り出し手段202は、入力されたクライアント画面Gcの位置を特定する情報に基づいて、サーバ画面Gsからクライアント画面Gcに相当する領域(クライアント表示領域)を切り出す。画面切り出し手段202は、切り出した画像であるクライアント画面Gcを、圧縮暗号化等して、携帯端末100に送信する。
【0020】
携帯端末100は、クライアント画面表示手段101と、ユーザ入力手段102とを有する。
【0021】
クライアント画面表示手段101は、例えば液晶表示装置等を備えており、その表示装置に、サーバ200から受信したクライアント画面Gcを表示する。
【0022】
ユーザ入力手段102は、ユーザによる操作入力(ユーザ操作)に基づいて、ユーザ入力信号を生成し、ユーザ入力信号を携帯端末100ないし本実施形態に係る画面転送システムに入力する機能を備える。上記したクライアント画面表示手段101が備える表示装置と一体化していてもよい。
【0023】
ユーザ入力手段102により入力されるユーザ入力信号は、逐次、サーバ画面生成手段201に送信される。例えば、ある文字入力がなされると、サーバ画面生成手段201が生成したサーバ画面Gsに当該文字入力が反映される。したがって、サーバ画面Gsから切り出されるクライアント画面Gcにも反映される。他に例えば、カーソル移動入力についても同様に反映される。
【0024】
しかしながら、例えばフリック操作などのカーソル移動入力によってカーソルがクライアント画面Gcより外側に移動してしまったような場合には、画面切り出し位置決定手段204が、そのような入力イベントに基づいて新たに適切な画面切り出し位置を決定する。決定した新しい画面切り出し位置は、クライアント画面Gcの位置を特定する情報で表すことができる。画面切り出し位置決定手段204は、クライアント画面Gcの位置を特定する情報を画面切り出し手段202に入力する。
【0025】
本実施形態においては、フリック操作などのカーソル移動入力のみならず、或いはそれに代えてキャレットが移動する入力イベントも監視するようにしてもよい。サーバ200は、キャレット移動制御手段203を備える。キャレット移動制御手段203は、キャレットが移動する入力イベントについては、逐次検出する。そして、検出したキャレットが移動する原因となる入力イベントに応じて、キャレット移動制御手段203は、移動後のキャレット座標が、クライアント画面Gcより外側に移動してしまったような場合には、画面切り出し位置決定手段204に移動後のキャレット座標を送り、新たに適切な画面切り出し位置を決定させる制御を行う。
【0026】
画面切り出し位置決定手段204が新しく決定する画面切り出し位置(クライアント画面Gcの左上隅座標(cx,cy))は、例えば、次式のように決定する。
cx=x−w/2
cy=y−h/2
この場合、移動後のキャレット座標が新しく切り出されるクライアント画面Gcの中央に来るように、切り出される。
【0027】
図3に、本実施形態におけるキャレット座標に応じたクライアント画面Gcの切り出し位置の新規決定処理の流れを示す。
上述のように、キャレット移動制御手段203は、ユーザ入力手段102が入力するユーザ入力信号からキャレット移動に関する入力イベントを逐次検出している。キャレットが移動すると(ステップS101)、キャレット移動制御手段203は、移動後のキャレット座標が、クライアント画面Gcの、すなわちクライアント表示領域の、外側であるか否かを判断する(ステップS102)。
【0028】
外側でない場合は何もしない。外側である場合、キャレット移動制御手段203は、画面切り出し位置決定手段204を制御して、新しい画面切り出し位置を決定する(ステップS103)。
【0029】
このような処理の結果、本実施形態によれば、文字入力を続けていくとキャレットがクライアント表示領域から外れてしまうようなことがなく、キャレット移動にクライアント表示領域が適切に追従することができる。したがって、操作性が向上する。
【0030】
(第2の実施形態)
本実施形態では、第1の実施形態と同様の構成、処理の流れを行う一方で、キャレット移動制御手段203がキャレットが移動する入力イベントの種類に応じて、適切なクライアント画面Gcの移動位置を判断する。
【0031】
図4に、本実施形態の処理の流れを示す。
ステップS201、S202は図3のステップS101、S102と同様である。
移動後のキャレット座標がクライアント表示領域の外側であった場合、キャレット移動制御手段203は、キャレット座標を移動させた入力イベントが、カーソルキー若しくは変換文字確定キーの押下であったか否かを判断する(ステップS203)。
【0032】
文字変換確定キーはIM(インプットメソッド)によって異なるが、Enterキーがデファクトスタンダードである。Enterキー押下を検出してもよい。IMの設定により文字変換が自動でなされるような場合は、文字変換イベントを検出してもよい。
【0033】
カーソルキーや文字変換確定キー入力でキャレットが移動した場合、クライアント画面Gcの移動量を小さくする(ステップS204)。これは、新たに決定されるクライアント表示領域の切り出し位置を、第1の実施形態における説明で例示したようにキャレットが常に新規クライアント画面Gcの中央に位置するような態様ではなくて、新規クライアント表示領域を現在のクライアント表示領域から、少し(例えば数文字分)動かしたところに位置させる態様である。
【0034】
図5に、説明例を示す。
図5(a)は、クライアント画面Gc_prevに「今日の天気は」と入力したときの状態を示す。図5(b)は、さらに「今日の天気は晴れです。」と入力し、文字変換を確定させた場合の状態を示す。本実施形態により新しく決定された画面切り出し位置に基づくクライアント画面Gc_nextは、サーバ画面Gs上において、クライアント画面Gc_prevから数文字分移動した箇所である。
【0035】
このように、本実施形態は、画面切り出し位置決定手段204が、画面切り出し位置を、文字の入力によってキャレットが移動した場合は、入力した文字がキャレットよりもクライアント画面Gcの中央寄りになる画面切り出し位置に決定する。より具体的には、中央右寄りの位置にキャレットが来るようにクライアント表示領域の切り出し位置を決定する。そのため、ユーザは、既に入力した文字が把握しやすくなる。
【0036】
再び図4を参照する。
Tabキーなど、選択可能項目を移動するキーによりキャレットが移動した場合(ステップS205)、キャレット位置がクライアント画面Gcの中央左になるように調整する(ステップS206)。これも、新たに決定されるクライアント表示領域の切り出し位置を、第1の実施形態における説明で例示したようにキャレットが常に新規クライアント画面Gcの中央に位置するような態様ではない。移動したキャレットが中央左(文字を左から右に書く言語の場合)になるように新規クライアント表示領域の切り出し位置を調整する態様である。
【0037】
入力フォームなど選択可能項目が複数あった場合、これらの選択をキーボード入力により移動させる場合、選択可能項目を移動するキーを入力すると次の選択可能項目にキャレットが移動する。選択可能項目を移動するキーは、OSやアプリケーションプログラムによって異なるが、Tabキーがデファクトスタンダードである。
【0038】
図6に、説明例を示す。
図6(a)は、本実施形態による画面切り出し位置決定処理前の状態を示す。図5(b)は、Tabキーが押下された場合の、新しく決定された画面切り出し位置に基づくクライアント画面Gc_nextを示す。
【0039】
このように、本実施形態は、画面切り出し位置決定手段204が、画面切り出し位置を、入力フォームの切替など選択可能項目の移動によってキャレットが移動した場合は、これから入力する文字がキャレットよりもクライアント画面Gcの中央寄りになる画面切り出し位置に決定する。より具体的には、中央左寄りの位置にキャレットが来るようにクライアント表示領域の切り出し位置を決定する。そのため、ユーザは、これから入力する文字を視認しやすくなる。
【0040】
再び図4を参照する。
画面切り出し位置決定手段204は、ステップS204若しくはステップS206での判断に基づいて画面切り出し位置を決定する(ステップS207)。
【0041】
(第3の実施形態)
図7に、本実施形態の機能構成を示す。
本実施形態は、第1又は第2の実施形態の構成に加えて、キャレット移動記憶手段205を有する。キャレット移動記憶手段205は、キャレット座標を複数記憶するバッファである。キャレット移動制御手段203は、キャレットが移動する入力イベントを逐次検出しており、移動後のキャレット座標を数個、キャレット移動記憶手段205に記憶させる。
【0042】
また、キャレット移動制御手段203は、キャレット移動記憶手段205に記憶されているキャレット座標から解析されるキャレット移動の軌跡に応じて、新しく決定する画面切り出し位置を調整する。この調整は、図3のステップS103若しくは図4のステップS207の直前に実行する。
【0043】
この調整は、具体的には、次のものである。
キャレット移動の軌跡が、横方向であり、かつ、とびとび(例えば10文字などの所定の数の文字数分以上のキャレット移動量)である場合、キャレット移動制御手段203は、操作しているユーザが一度に変換する文字数が多いユーザであると判断する。そして、クライアント表示領域の移動量をデフォルトより増やす。ここで、クライアント表示領域の移動量とは図5を参照して説明した「移動量」を指す。
【0044】
このように、本実施形態は、記憶した複数のキャレット座標から解析される移動の軌跡の間隔が大きい場合は、クライアント表示領域の切り出し開始位置の移動量を大きく調整する。そのため、一度に変換する文字数が多く、長い文を一気に変換する傾向のあるユーザにとって使いやすくすることができる。
【0045】
また、キャレット移動の軌跡が、横方向であり、かつ、範囲が狭い(例えば5文字などの所定の数の文字数分以下のキャレット移動量)である場合、キャレット移動制御手段203は、操作しているユーザが一度に変換する文字数が少ないユーザであると判断する。そして、クライアント表示領域の移動量をデフォルトより減らす。
【0046】
このように、本実施形態は、記憶した複数のキャレット座標から解析される移動の軌跡の間隔が狭い場合は、クライアント表示領域の切り出し開始位置の移動量を小さく調整する。そのため、一度に変換する文字数が少なく、短い文で変換する傾向のあるユーザにとって使いやすくすることができる。
【0047】
また、キャレットの移動の軌跡が、縦方向であり、かつ、とびとび(例えば、数ピクセルなど所定の第1の距離以上のキャレット移動量)である場合、キャレット移動制御手段203は、Tabキーでの入力フォームの移動(ないし選択可能項目の移動)であると判断する。そして、これから入力する文字がキャレットよりもクライアント画面Gcの中央寄りになる画面切り出し位置に決定する。
【0048】
より具体的には、中央左寄りの位置にキャレットが来るようにクライアント表示領域の切り出し位置を決定する。そのため、ユーザは、これから入力する文字を視認しやすくなる。したがって、図4のステップS206の処理と同様の効果が得られる。
【0049】
また、キャレットの移動の軌跡が、縦方向であり、かつ、範囲が狭い(例えば、数ピクセルなど所定の第2の距離以下のキャレット移動量)場合、キャレット移動制御手段203は、カーソルキーや文字変換確定キー入力によるキャレットの移動であると判断する。そして、入力した文字がキャレットよりもクライアント画面Gcの中央寄りになる画面切り出し位置に決定する。
【0050】
より具体的には、中央右寄りの位置にキャレットが来るようにクライアント表示領域の切り出し位置を決定する。そのため、ユーザは、既に入力した文字が把握しやすくなる。したがって、図4のステップS204の処理と同様の効果が得られる。
【0051】
上記各実施形態で開示した構成は、互いに組み合わせることが可能である。
【符号の説明】
【0052】
100 携帯端末
101 クライアント画面表示手段
102 ユーザ入力手段
200 サーバ
201 サーバ画面生成手段
202 画面切り出し手段
203 キャレット移動制御手段
204 画面切り出し位置決定手段
205 キャレット移動記憶手段
Gs サーバ画面
Gc クライアント画面

【特許請求の範囲】
【請求項1】
ネットワークを介してクライアント端末とサーバとが通信可能に接続する画面転送システムにおける前記サーバであって、
デスクトップ画面を生成するサーバ画面生成手段と、
前記デスクトップ画面から一部を切り出してクライアント端末における表示領域であるクライアント画面とする画面切り出し手段と、
前記デスクトップ画面に含まれる文字入力キャレットが移動する入力イベントを検出し、前記文字入力キャレットが前記クライアント画面の外側へ移動したことを判断するキャレット移動制御手段と、
前記文字入力キャレットが前記クライアント画面の外側へ移動したと判断された場合に、前記クライアント画面の切り出し位置を、前記文字入力キャレットが前記クライアント画面に含まれる位置に、決定し、決定した切り出し位置を前記画面切り出し手段に入力する画面切り出し位置決定手段と、を備え、
前記画面切り出し手段は、入力された前記決定した切り出し位置に基づいて前記デスクトップ画面から一部の切り出しを行う
ことを特徴とする、画面転送システムにおけるサーバ。
【請求項2】
前記画面切り出し位置決定手段は、前記キャレット移動制御手段により、前記入力イベントが、カーソルキー又は文字変換入力確定キーの押下であると判断された場合、前記切り出し位置を、前記文字入力キャレットが新しく決定されるクライアント画面の中央右寄りに置かれる位置に、決定することを特徴とする、請求項1に記載の画面転送システムにおけるサーバ。
【請求項3】
前記画面切り出し位置決定手段は、前記キャレット移動制御手段により、前記入力イベントが、選択可能項目の移動キーの押下であると判断された場合、前記切り出し位置を、前記文字入力キャレットが新しく決定されるクライアント画面の中央左寄りに置かれる位置に、決定することを特徴とする、請求項1又は2に記載の画面転送システムにおけるサーバ。
【請求項4】
前記キャレット移動制御手段が検出した前記入力イベントにより移動した後の文字入力キャレットの座標を複数記憶する記憶手段を備え、
前記キャレット移動制御手段は、前記記憶手段の記憶内容に基づき、前記文字入力キャレットの移動の軌跡を解析し、
前記画面切り出し位置決定手段は、前記キャレット移動制御手段による解析の結果、前記座標の移動が横方向の移動であり且つ前記座標の移動量が第1の閾値以上である場合、前記切り出し位置を左寄りに調整して決定することを特徴とする、請求項1から3のいずれか1項に記載の画面転送システムにおけるサーバ。
【請求項5】
前記画面切り出し位置決定手段は、前記キャレット移動制御手段による解析の結果、前記座標の移動が横方向の移動であり且つ前記座標の移動量が第2の閾値以下である場合、前記切り出し位置を右寄りに調整して決定することを特徴とする、請求項4に記載の画面転送システムにおけるサーバ。
【請求項6】
前記画面切り出し位置決定手段は、前記キャレット移動制御手段による解析の結果、前記座標の移動が縦方向の移動であり且つ前記座標の移動量が第3の閾値以上である場合、前記切り出し位置を、前記文字入力キャレットが新しく決定されるクライアント画面の中央左寄りに置かれる位置に、決定することを特徴とする、請求項4又は5に記載の画面転送システムにおけるサーバ。
【請求項7】
前記画面切り出し位置決定手段は、前記キャレット移動制御手段による解析の結果、前記座標の移動が縦方向の移動であり且つ前記座標の移動量が第4の閾値以下である場合、前記切り出し位置を、前記文字入力キャレットが新しく決定されるクライアント画面の中央右寄りに置かれる位置に、決定することを特徴とする、請求項4から6のいずれか1項に記載の画面転送システムにおけるサーバ。
【請求項8】
サーバが生成したデスクトップ画面から切り出された一部をクライアント画面としてクライアント端末に転送する画面転送システムにおけるサーバの制御方法であって、
前記デスクトップ画面に含まれる文字入力キャレットが移動する入力イベントを検出する工程と、
前記検出する工程の結果、前記文字入力キャレットが前記クライアント画面の外側へ移動したことを判断するキャレット移動判断工程と、
前記文字入力キャレットが前記クライアント画面の外側へ移動したと判断された場合に、前記クライアント画面の切り出し位置を、前記文字入力キャレットが前記クライアント画面に含まれる位置に、決定する画面切り出し位置決定工程と、
決定した切り出し位置に基づいて前記デスクトップ画面から一部の切り出しを行う工程と、
を含むことを特徴とする、画面転送システムにおけるサーバの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate