JP6002268B1 - データ表示システム - Google Patents
データ表示システム Download PDFInfo
- Publication number
- JP6002268B1 JP6002268B1 JP2015062966A JP2015062966A JP6002268B1 JP 6002268 B1 JP6002268 B1 JP 6002268B1 JP 2015062966 A JP2015062966 A JP 2015062966A JP 2015062966 A JP2015062966 A JP 2015062966A JP 6002268 B1 JP6002268 B1 JP 6002268B1
- Authority
- JP
- Japan
- Prior art keywords
- block
- image
- data
- scroll
- hierarchy
- 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.)
- Expired - Fee Related
Links
Landscapes
- Digital Computer Display Output (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】クライアントでのデータ表示をわかり易く、しかも短時間に表示できるデータ表示システムを提供する。【解決手段】サーバ10は、データから生成したデータ画像を所定のサイズで分割してブロック画像をデータ画像上のブロック座標位置情報と関連づけて記憶部14に記憶する画像管理部12を有し、クライアント20は、サーバ10から受信したデータ画像のサイズと同じサイズで、表示部でスクロール操作をした際に使用するスクロール階層を生成し、生成されたスクロール階層上に表示部の画面サイズのウインドウを配置し、ウインドウからみた表示可能なブロック数を決定し、決定されたブロック数分のデータ画像上のブロック座標位置情報をサーバに送信する画面ブロック管理部22と、サーバからデータ画像上のブロック座標位置情報に該当するブロック画像を受信した場合、ブロック画像をスクロール階層上に配置する画面ブロック配置部23と、を有する。【選択図】図1
Description
本発明は、携帯情報端末でのデータ表示を容易にする技術に関する。
スマートフォン、タブレット型端末などの携帯情報端末の普及に伴い、業務システムのデータを携帯情報端末のWebブラウザから利用するニーズが増加している。例えば、特許文献1では、サーバベースコンピューティングで、クライアント装置にWebページなどの長大なデータをスクロールしながら表示させる方法が記載されている。
特許文献1のサーバ装置は、アプリケーションプログラムに従い取得されたデータをキャッシュデータとしてスクロールの単位に分割し識別子に対応付けて記憶しており、このスクロール単位のキャッシュデータのそれぞれにスクロール発生の可能性に応じた順位を設定する順位設定をし、サーバ装置の動作状態に応じてデータを送信するタイミングを判断している。このため、必ずしも、クライアント装置の表示要求タイミングで送信されるわけではなく、表示の快適性が十分とは言えない問題がある。
本発明は、前記した課題を解決するためになされたものであり、クライアントでのデータ表示を容易にし、しかも短時間に表示できるデータ表示システムを提供することを目的とする。
前記目的を達成するため、本発明のデータ表示システムは、クライアントとサーバとの間で通信し、クライアントからの要求に応じてサーバから取得した画像を表示するデータ表示システムであって、サーバは、データを記憶する記憶部と、記憶部から取得したデータをデータ画像として生成し、生成したデータ画像を所定のサイズで分割してブロック毎のブロック画像を生成し、生成されたブロック画像をデータ画像上のブロック座標位置情報と関連づけて記憶部に記憶する画像管理部と、を有し、クライアントは、サーバからデータ画像のサイズおよびデータ画像上のブロック座標位置情報を受信した場合、データ画像のサイズと同じサイズで、表示部でスクロール操作をした際に使用するスクロール階層を生成し、生成されたスクロール階層上に表示部の画面サイズのウインドウを配置し、ウインドウからみた表示可能なブロック数を決定し、決定されたブロック数分のデータ画像上のブロック座標位置情報をサーバに送信する画面ブロック管理部と、サーバからデータ画像上のブロック座標位置情報に該当するブロック画像を受信した場合、受信したブロック画像をスクロール階層上に配置する画面ブロック配置部と、を有し、画面ブロック管理部は、表示部のスクロール操作がされた場合、ウインドウを固定した状態でスクロール階層を該スクロール操作に応じて移動し、ウインドウからみたブロックを決定し、決定されたブロックのうち、まだ受信していないブロック画像をサーバに要求することを特徴とする。本発明のその他の態様については、後記する実施形態において説明する。
本発明によれば、クライアントでのデータ表示を容易にし、しかも短時間に表示できる。
以下、本発明の実施形態について図面を参照して詳細に説明する。
図1は、本発明の実施形態に係るデータ表示システムを示す図である。データ表示システム100は、サーバ10と、スマートフォン・タブレット型端末などの携帯情報端末であるクライアント20とから構成される。サーバ10とクライアント20とは、ネットワークNWを介して通信可能である。
図1は、本発明の実施形態に係るデータ表示システムを示す図である。データ表示システム100は、サーバ10と、スマートフォン・タブレット型端末などの携帯情報端末であるクライアント20とから構成される。サーバ10とクライアント20とは、ネットワークNWを介して通信可能である。
サーバ10は、処理部11、記憶部14、クライアント20と通信を行う通信部19などから構成される。処理部11は、画像管理部12、データ通信部13などから構成される。
画像管理部12は、記憶部14から取得したデータをデータ画像DP(図3参照)として生成し、生成したデータ画像DPを所定のサイズで分割してブロック毎のブロック画像を生成し、生成されたブロック画像をデータ画像DP上のブロック座標位置情報と関連づけて記憶部14に記憶する。
データ通信部13は、クライアント20からデータの識別情報であるデータIDを受信した場合、データ画像DPのサイズ(図3参照)およびデータ画像DP上のブロック座標位置情報であるブロック配列情報16並びに1ブロックの大きさをクライアント20に送信し、クライアント20からデータの送信要求を受信した場合、ブロックの識別情報であるブロックIDに基づいて該当する画像をクライアント20に送信する。
記憶部14には、ユーザが利用するデータ15、データを複数のブロックに分割した際のブロック配列情報16(図3参照)、クライアント20からデータIDを受信した場合に送付されるスクロールシート情報17、ブロックの識別情報であるブロックIDに関連付けられたブロック画像情報18などが記憶されている。なお、ブロック画像情報18とは、データID、ブロックID、ブロック画像BPを文字列化したものなどを関連づけた情報である。
記憶部14は、RAM(Random Access Memory)・HDD(Hard disk drive)装置などにより構成される。処理部11は、CPU(Central Processing Unit)によって、RAM・HDD上のプログラムを実行することで実現される。通信部19は、ネットワークNWを介して、クライアント20などと各種データ、コマンドを交換する。なお、図示していないが、サーバ10は入力部、表示部などを有する。
クライアント20は、処理部21、記憶部24、表示部27、入力部28、サーバ10と通信を行う通信部29などから構成される。処理部21は、画面ブロック管理部22、画面ブロック配置部23などから構成される。
画面ブロック管理部22は、サーバ10からデータ画像DP(図3参照)のサイズおよびデータ画像DP上のブロック座標位置情報であるブロック配列情報16を受信した場合、データ画像DPのサイズと同じサイズで、表示部27でスクロール操作をした際に使用する後記するスクロール階層L1(図4参照)を生成する。そして、生成されたスクロール階層L1上に表示部27の画面サイズのウインドウW(画面表示領域、図4参照)を配置し、ウインドウWからみた表示可能なブロック数を決定し、決定されたブロック数分のデータ画像DP上のブロックIDをサーバ10に送信する。
画面ブロック配置部23は、サーバ10からデータ画像DP上のブロックIDに該当するブロック画像を受信した場合、受信したブロック画像をスクロール階層L1上に配置する。
記憶部24には、表示部27の画面表示領域のサイズである画面サイズ情報25、表示部27の画面に表示する際の画面ブロック情報26(図7参照)が記憶されている。なお、画面サイズ情報は、通常、クライアント20の表示部27の表示画面の大きさであるが、Webプラウザでのブロック画像を表示する画像表示領域であってもよい。
本実施形態に係るデータ表示システム100は、サーバ上のデータベース(例えば記憶部14)にデータが集約され、クライアント20の要求によりデータを可視化し、クライアント20に表示するシステムである。本実施形態のデータ表示システムについて、一般的なWebシステムと比較して、図15を参照して説明する。
図15は、本実施形態に係るデータ表示システムの処理フローを示す図であり、(a)は、Webシステムの処理フローであり、(b)は本実施形態に係るサーバサイドで描画を行う場合の処理フローである。
図15(a)は、一般的な処理フローを抽象化したものである。MVC(Model-View-Controller)のモデルビューコントローラを用いている場合、処理の中核を担う「Model」、表示・出力を司る「View」、入力を受け取ってその内容に応じて「View」と「Model」を制御する「Controller」の3要素の組み合わせでシステムが実装される。メインの処理は「Model」に実装し、「Model」は画面出力などを行わない。処理結果は「View」に渡され、画面表示などが行われる。ユーザからの入力は「Controller」が受け取り、何らかの処理が必要な場合は「Model」に依頼し、出力が必要な場合は「View」に依頼する方式である。
図15(a)の場合、クライアントがMVCアーキテクチャでの「View」に相当する。クライアントからのリクエストがあると、表示対象となるデータが「Model」となるサーバのデータベースから取得され、「Controller」がユーザの要求に応じてデータの加工などの処理を行う。その後、処理結果を表示するため、データをシリアライズし、「View」であるクライアントに転送する。クライアントは受け取ったデータをオブジェクトに復元したのち、各オブジェクトの表示位置などを計算しながら画面を描画する。しかしながら、スマートフォン・タブレット型端末などの携帯情報端末に対し、前記方式を用いると、描画、スクロールなどのユーザインターフェイス(UI)応答に時間がかかり、十分な操作性能が確保できない場合がある。
これに対し、図15(b)に示す本実施形態に係るサーバサイドで描画を行う場合の処理フローでは、クライアントの処理負荷を低減するため、負荷の高い描画処理をサーバサイドで実行するサーバサイドイメージレンダリング方式を用いる。描画結果は画像データとしてクライアントに転送される。これにより、クライアントの負荷は画像の表示のみとなり、クライアントの負荷が低減できる。また、低速性能しかないクライアントで行っていた処理を高速性能なサーバ上で実行することで処理時間の短縮を図ることができる。
次に、本実施形態の特徴を、図2〜図5を参照して説明する。
図2は、実施形態に係るWebページのガントチャートの例を示す図である。図2は、データ15に基づくガントチャートの例であり、ガントチャートには、上部に工程の日程欄、左部に工程欄、中央部に各工程の進捗状況欄が表示される。ガントチャート上には、「詳細設計が遅れています。」などの管理者が記入したコメントが記載されている。大規模なガントチャートになると、数年にわたる日程におよぶことがあり、サーバ10に保持するデータ画像のサイズと、クライアント20の画面のサイズが大きく異なることが多発する。図3でその関係を説明する。
図2は、実施形態に係るWebページのガントチャートの例を示す図である。図2は、データ15に基づくガントチャートの例であり、ガントチャートには、上部に工程の日程欄、左部に工程欄、中央部に各工程の進捗状況欄が表示される。ガントチャート上には、「詳細設計が遅れています。」などの管理者が記入したコメントが記載されている。大規模なガントチャートになると、数年にわたる日程におよぶことがあり、サーバ10に保持するデータ画像のサイズと、クライアント20の画面のサイズが大きく異なることが多発する。図3でその関係を説明する。
図3は、データ画像のブロック配列情報を示す図である。適宜図1を参照して説明する。ここでは説明をわかりやすくするため、データ15に基づくデータ画像DPを横に6分割(列として0,1,…,5)し、縦に21分割(行0,1,…,20)し、ブロック画像としたものとして説明する。ブロック画像は、ブロックIDと関連付けて管理されている。ブロックIDは、データ画像DPの列・行の座標位置であり、具体的には、2列目・7行目のブロック画像は、(2,7)の座標位置である。この際、データ画像DPと比較してクライアント20で表示される領域は相対的に小さく、クライアント20で初期に表示されるウインドウW(画面表示領域)は、例えば2列、3行分となる場合がある。このため、クライアント20では、ユーザは所望のデータを見ようとしてスクロール操作を行う。
図4は、実施形態に係るデータ表示システムの画面構成を示す図である。図5は、実施形態に係るスクロール操作の際の画面構成を示す図である。データ表示システム100のクライアント20の画面構成は、スクロールシートSS(図7参照)の階層であるスクロール階層L1(ベース階層)と、ユーザが追記するオブジェクトOBを配置するオブジェクト配置階層L2(上位階層)とから構成されている。クライアント20の表示部27に表示される領域は、固定領域であるウインドウW(画面表示領域)から見たスクロール階層L1およびオブジェクト配置階層L2である。スクロール階層L1の上には、サーバ10から取得したブロック画像BPが配置される。
オブジェクト配置階層L2は、クライアント20のアプリケーションがオブジェクトを配置する領域、または、アプリケーションで描画を行う領域である。オブジェクト配置階層L2は、スクロール操作の際にスクロール階層L1と同期して移動する。すなわち、画面ブロック管理部22は、データ画像DPのサイズと同じサイズで、オブジェクトOBを配置する際に使用するオブジェクト配置階層L2を生成する。そして、オブジェクト配置階層L2を、スクロール階層L1の上に配置したブロック画像BPを覆うようにスクロール階層L1上に配置し、配置されたオブジェクト配置階層L2をスクロール階層L1がスクロール操作された際に同期して移動する。
図5は、図4に示した構成において、ユーザがクライアント20の表示部27でスクロール操作をした場合を示す。スクロール操作をされると、本実施形態ではそのスクロール操作に応じて下位階層であるスクロール階層L1が移動する。上位階層であるオブジェクト配置階層L2は、同期して移動するため、その上に配置されている全オブジェクトを一括して移動できる。すなわち、スクロール動作を比喩的にいうならば、机上にスクロールシートSS(図7参照)であるスクロール階層L1を敷き、その上のタイル(ブロック画像BP)とアプリケーションが追記したオブジェクトOBを含めて、スクロールシートSSを引っ張って丸ごと移動することができる。
前記の画面構成をすることにより、クライアント20はスクロール操作された際に既に読み込んであるブロック画像BPをスクロールシートSSに配置させたままで、まだ読み込んでいないブロック画像のみをサーバ10に要求することができる。また、ブロック画像BPの要求に際し、サーバ10とクライアント20との座標変換などの操作が必要でなく、読み込み要求の画像判定および座標変換に要する処理時間を短縮することができる。
次に、データ表示の処理について、図6〜図8を参照して説明する。
図6は、データ表示の処理を示すフローチャートである。適宜図1、図3を参照して説明する。クライアント20は、サーバ10に接続し、ユーザが表示する内容を識別するデータIDを送信する(ステップS41)。サーバ10は、リクエストを受信すると(ステップS31)、データIDに該当するデータ15を記憶部14から取得する(ステップS32)。そして、サーバ10は、記憶部14から取得したデータ15をデータ画像DPとして生成し、生成したデータ画像DPを所定のサイズで分割してブロック毎のブロック画像BPを生成する。さらに、サーバ10は、生成されたブロック画像BPをデータ画像DP上のブロック座標位置情報であるブロックIDと関連づけて記憶部14に記憶する(ステップS33)。
図6は、データ表示の処理を示すフローチャートである。適宜図1、図3を参照して説明する。クライアント20は、サーバ10に接続し、ユーザが表示する内容を識別するデータIDを送信する(ステップS41)。サーバ10は、リクエストを受信すると(ステップS31)、データIDに該当するデータ15を記憶部14から取得する(ステップS32)。そして、サーバ10は、記憶部14から取得したデータ15をデータ画像DPとして生成し、生成したデータ画像DPを所定のサイズで分割してブロック毎のブロック画像BPを生成する。さらに、サーバ10は、生成されたブロック画像BPをデータ画像DP上のブロック座標位置情報であるブロックIDと関連づけて記憶部14に記憶する(ステップS33)。
記憶部14に記憶されているデータ15は、例えば、ガントチャートであれば、各工程の進捗状況、その進捗状況におけるコメント、納期期限など文字情報を含めて1つのデータとなっている。このため、まずデータ15をひとつの画像として生成し、その後に、図3に示したように領域毎に複数のブロックに分割してブロック毎のブロック画像BPを生成する。これにより、「大量製品の在庫推移を一覧表示」するように製品毎にデータがブロック毎にきれいに分割可能な場合だけでなく、全体が1枚のガントチャートとなるような分割が難しい場合にもステップS33が適用できる。
サーバ10は、クライアント20への描画完了の準備ができると、描画完了通知をクライアント20に送信するとともに、スクロールシート情報17を送信する(ステップS34)。スクロールシート情報17とは、データ画像DPのサイズおよびデータ画像DP上のブロック座標位置情報などであり、具体的には、スクロールシートSS(図7参照)のサイズ、1ブロックあたりのサイズ、およびスクロールシートSS上のブロック配列情報16である。図3のデータ画像の例で説明すると、ブロック画像BPのサイズを100×100ピクセルとすると、スクロールシートSSのサイズは、データ画像DPの大きさと同じである600×2100ピクセルである。なお、図3の例では、1ブロックあたりの幅および高さ(すなわちサイズ)が均一になっているが、これに限定される必要はない。
クライアント20の画面ブロック管理部22は、サーバ10からスクロールシート情報17を受信した場合(ステップS42)、表示部27の画面サイズ情報25に基づいて、表示部27に表示可能なウインドウWからのブロックIDを、画面ブロック情報26として確定する(ステップS43)。すなわち、画面ブロック管理部22は、画面表示可能なブロック数を決定し、データ送信要求とともに決定されたブロック数分の識別情報であるブロックIDをサーバ10に送信する(ステップS44)。
図7は、クライアントでスクロールシートを作成した状態を示す図である。図7に示すスクロールシートSSは、図3に示したデータ画像DPと同じ大きさである。具体的には、スクロールシートSSの大きさは600×2100ピクセルで作成され、6列・21行のブロック画像領域で分けられている。画面ブロック管理部22は、クライアント20での画面上の表示する位置を決定し、クライアント20の画面表示領域であるウインドウWの左上を起点とした相対位置で、スクロールシートSSの原点位置を決定する。すなわち、スクロールシートSSの原点位置は、(−200,−700)である。また、ブロックIDは、ウインドウWから見たブロック領域であり、例えば、(2,7)、(2,8)、(2,9)、(3,7)、(3,8)、(3,9)となる。
図6に戻り、サーバ10はリクエスト要求を受信すると(ステップS35)、リクエストされたブロックIDに該当する画像をクライアント20に送信する(ステップS36)。具体的には、ブロックIDのメタ情報を付加して、JavaScript(登録商標)のリテラル形式などを用いて、
{
xindex:2,
yindex,7,
imagedata:(画像データを文字列化したもの)
}
などとする。そして、クライアント20の画面ブロック配置部23は、サーバ10からブロックIDに該当する画像を受信した場合(ステップS45)、スクロール階層L1に受信した画像を配置する(ステップS46)。
{
xindex:2,
yindex,7,
imagedata:(画像データを文字列化したもの)
}
などとする。そして、クライアント20の画面ブロック配置部23は、サーバ10からブロックIDに該当する画像を受信した場合(ステップS45)、スクロール階層L1に受信した画像を配置する(ステップS46)。
画面ブロック管理部22は、クライアント20の画像上でスクロール操作を検知したか否かを判定し(ステップS47)、スクロール操作が検知されない場合(ステップS47,No)、ステップS47に戻り、スクロール操作が検知された場合(ステップS47,Yes)、ステップS43に戻る。
具体的に説明すると、画面ブロック管理部22は、表示部27でスクロール操作がされた場合、ウインドウWを固定した状態でスクロール階層L1を該スクロール操作に応じて移動し、ウインドウWからみたブロックIDを決定し、決定されたブロックIDのうち、まだ受信していないブロック画像をサーバ10に要求する。
図8は、クライアントでスクロール操作をした際の状態を示す図である。図8に示す例は、上に1ブロック分スクロール操作をした場合である。ウインドウWの位置は固定であるので、上に1ブロック分スクロール操作されても、既に読み込んであるブロックIDの(2,8)、(2,9)、(3,8)、(3,9)はそのままであり、不足画像のブロックIDは、(2,10)、(3,10)となる。この際、クライアント20において、ブロックIDは、スクロールシートSS上で常に固定であるので、座標変換などの処理は不要である。不足する画像のブロックIDのみをサーバ10に要求する。また、スクロールシートの原点SS0の座標は、(−200,−800)に変更され、スクロールシートの原点SS0の座標は、スクロール量を計算する際に用いられる。さらに、ブロックIDが(2,7)、(3,7)のブロック画像BPは、キャッシュメモリなどに保存しておくとよい。
また、ブロック画像BPのサイズとスクロールの単位は独立であり、例えば、ブロック画像BPのサイズが100×100ピクセルの場合でも、上方向に10ピクセルずつスクロールするような動作も可能である。
図8に示す例では、上にスクロール操作した場合を示したが、左右方向、斜め方向にスクロール操作しても、クライアント20のブロックIDは、スクロールシートSS上で常に固定であるので、座標変換などの処理は不要である。
クライアント20においてアプリケーションがオブジェクトOBを配置する場合にも、スクロールシートSS上の座標を用いて配置する。例えば、座標位置が(300,900)に青い丸(図ではオブジェクトOB)を表示したい場合、青い丸の画像に対し、(300,900)の座標を設定するとよい。
本実施形態では、ユーザがスクロール操作した際に、表示されているブロック画像BPの座標位置の変換なしに画面に表示できるのが特徴となっている。この特徴および座標系モデルについて、比較例(図9〜図11参照)と比較して図13、図14で説明する。
図9は、比較例としてのスクロール操作した際の表示画面の例(その1)を示す図であり、(a)はユーザ入力後の初期の画面であり、(b)は上方向にスクロール操作後のブロックの移動開始直後の状態を示す図である。図10は、比較例としてのスクロール操作した際の表示画面の例(その2)を示す図であり、(a)はブロックの移動を示す図であり、(b)は全ブロックのスクロール後の状態を示す図である。
図9(a)に示すように、Webブラウザ上に確保されたウインドウW(画面表示領域)内に、ブロック画像BPを並べることで画面を描画する。また、画面には、アプリケーションが描画するオブジェクトOBが追記(配置)されている。オブジェクトOBには、例えば、ガントチャートであれば各工程の計画値または実績値を示す矩形形状がある。各ブロック画像には左上の位置(図では黒丸の位置)に対してウインドウWの左上を起点とした相対座標系で座標位置が指定され、この座標位置をブロックIDと対応付けて管理する。
画面が上方向にスクロール操作された場合、図9(b)に示すように、各ブロック画像BPは1つずつ移動する。スクロールの際には、各ブロックの座標を再計算し、スクロール後の位置に移動する。上方向に50ピクセルスクロールする場合、図の例では(x、y)=(0,0)にあったブロックの座標位置を(0,−50)に更新する。
続けて、図10(a)に示すように、隣のブロック画像を移動する。このようにして画面内に表示される全てのブロック画像BPに対して順番に実行する。この処理は処理性能が低いデバイスにとって、短時間に処理することができない問題がある。例えば、この処理は毎秒60フレームの場合16.7ms以内に全ての処理を完了する必要がある。
図10(b)に示す状態は、全てのブロック画像BPをスクロール操作後の状態であるが、課題として、ブロック画像はスクロールされて移動しているが、アプリケーションが追加したオブジェクトOBは取り残された状態となっている。
図11は、比較例としてのスクロール操作した際の座標変換の例を示す図であり、(a)はスクロール前の座標位置を示す図であり、(b)はスクロール後の座標位置を示す図である。図11では、図9および図10のブロック画像の座標位置の変換を、さらに具体的に説明する。ここでは、ウインドウWに図3に示すブロックIDが(2,7)、(2,8)、(2,9)、(3,7)、(3,8)、(3,9)のブロック画像BPが表示され、上方向に1ブロックだけスクロール操作された場合について説明する。なお、ウインドウWの原点W0を(x,y)=(0,0)とする。
スクロール前は、図11(a)に示すように、ウインドウWに表示されたブロック画像BPの座標位置は、
ブロックIDが(2,7)の場合、座標位置(0,0)、
ブロックIDが(2,8)の場合、座標位置(0,100)、
ブロックIDが(2,9)の場合、座標位置(0,200)、
ブロックIDが(3,7)の場合、座標位置(100,0)、
ブロックIDが(3,8)の場合、座標位置(100,100)、
ブロックIDが(3,9)の場合、座標位置(100,200)
である。
ブロックIDが(2,7)の場合、座標位置(0,0)、
ブロックIDが(2,8)の場合、座標位置(0,100)、
ブロックIDが(2,9)の場合、座標位置(0,200)、
ブロックIDが(3,7)の場合、座標位置(100,0)、
ブロックIDが(3,8)の場合、座標位置(100,100)、
ブロックIDが(3,9)の場合、座標位置(100,200)
である。
スクロール後は、図11(b)に示すように、ウインドウWに表示されたブロック画像の座標位置は、
ブロックIDが(2,7)の場合、座標位置(0,−100)、
ブロックIDが(2,8)の場合、座標位置(0,0)、
ブロックIDが(2,9)の場合、座標位置(0,100)、
ブロックIDが(2,10)の場合、座標位置(0,200)、
ブロックIDが(3,7)の場合、座標位置(100,−100)、
ブロックIDが(3,8)の場合、座標位置(100,0)、
ブロックIDが(3,9)の場合、座標位置(100,100)
ブロックIDが(3,10)の場合、座標位置(100,200)
となる。
ブロックIDが(2,7)の場合、座標位置(0,−100)、
ブロックIDが(2,8)の場合、座標位置(0,0)、
ブロックIDが(2,9)の場合、座標位置(0,100)、
ブロックIDが(2,10)の場合、座標位置(0,200)、
ブロックIDが(3,7)の場合、座標位置(100,−100)、
ブロックIDが(3,8)の場合、座標位置(100,0)、
ブロックIDが(3,9)の場合、座標位置(100,100)
ブロックIDが(3,10)の場合、座標位置(100,200)
となる。
すなわち、スクロール後は、ウインドウWからはずれたブロックIDが(2,7)および(3,7)のブロック画像BPは削除され、新規にブロックIDが(2,10)および(3,10)のブロック画像BPをサーバ10に要求することになる。この際、クライアント20では、図11(b)に示すようにブロック画像BPの座標書き換えの処理が必要となる。このような処理が必要となる座標系のモデルについて、図12を参照して説明する。
図12は、比較例としての座標系のモデルの例を示す図である。比較例の座標系のモデルでは、複数のブロック画像BPまたはアプリケーションが配置したオブジェクトOBが、ウインドウW(画面表示領域)を起点とした座標系を有している。そのため、スクロール操作に応じて、全オブジェクトOBの座標情報を書き換える必要がある。具体的には、地図上の経路案内などのように、画像の上に任意のオブジェクトOBを配置する必要があるアプリケーションの場合、画面のスクロールに同期して、そのオブジェクトOBの座標も書き換える必要がある。これに対し、本実施形態の手法について、図13および図14を参照して説明する。
図13は、本実施形態に係るスクロール操作した際のスクロールシートおよび各ブロックの座標を示す図であり、(a)はスクロール前の座標位置を示す図であり、(b)はスクロール後の座標位置を示す図である。ここでは、ウインドウWに図3に示すブロックIDが(2,7)、(2,8)、(2,9)、(3,7)、(3,8)、(3,9)を表示され、上方向に1ブロックだけスクロール操作された場合について説明する。なお、ウインドウWの原点W0を(x,y)=(0,0)とする。
本実施形態では、クライアント20側でスクロールシートSSを作成し、スクロールシートSS上に配置したブロック画像を、ウインドウWを介して表示している。スクロール前は、図13(a)に示すように、ウインドウWに表示されたブロック画像の座標位置は、スクロールシートの原点SS0を起点として、
ブロックIDが(2,7)の場合、座標位置(200,700)、
ブロックIDが(2,8)の場合、座標位置(200,800)、
ブロックIDが(2,9)の場合、座標位置(200,900)、
ブロックIDが(3,7)の場合、座標位置(300,700)、
ブロックIDが(3,8)の場合、座標位置(300,800)、
ブロックIDが(3,9)の場合、座標位置(300,900)
である。スクロールシートSSの原点SS0は、ウインドウWの原点W0を起点として、座標位置(−200,−700)である。
ブロックIDが(2,7)の場合、座標位置(200,700)、
ブロックIDが(2,8)の場合、座標位置(200,800)、
ブロックIDが(2,9)の場合、座標位置(200,900)、
ブロックIDが(3,7)の場合、座標位置(300,700)、
ブロックIDが(3,8)の場合、座標位置(300,800)、
ブロックIDが(3,9)の場合、座標位置(300,900)
である。スクロールシートSSの原点SS0は、ウインドウWの原点W0を起点として、座標位置(−200,−700)である。
スクロール後は、図13(b)に示すように、ウインドウWに表示されたブロック画像の座標位置は、
ブロックIDが(2,7)の場合、座標位置(200,700)、
ブロックIDが(2,8)の場合、座標位置(200,800)、
ブロックIDが(2,9)の場合、座標位置(200,900)、
ブロックIDが(2,10)の場合、座標位置(200,1000)、
ブロックIDが(3,7)の場合、座標位置(300,700)、
ブロックIDが(3,8)の場合、座標位置(300,800)、
ブロックIDが(3,9)の場合、座標位置(300,900)
ブロックIDが(3,10)の場合、座標位置(300,1000)
となる。スクロールシートSSの原点SS0は、ウインドウWの原点W0を起点として、座標位置(−200,−800)である。
ブロックIDが(2,7)の場合、座標位置(200,700)、
ブロックIDが(2,8)の場合、座標位置(200,800)、
ブロックIDが(2,9)の場合、座標位置(200,900)、
ブロックIDが(2,10)の場合、座標位置(200,1000)、
ブロックIDが(3,7)の場合、座標位置(300,700)、
ブロックIDが(3,8)の場合、座標位置(300,800)、
ブロックIDが(3,9)の場合、座標位置(300,900)
ブロックIDが(3,10)の場合、座標位置(300,1000)
となる。スクロールシートSSの原点SS0は、ウインドウWの原点W0を起点として、座標位置(−200,−800)である。
すなわち、スクロール後は、ウインドウWからはずれたブロックIDが(2,7)および(3,7)のブロック画像BPは削除され、新規にブロックIDが(2,10)および(3,10)のブロック画像BPをサーバ10に要求することになる。この際、クライアント20では、図13(b)に示すように、既にサーバ10から取得されているブロック画像BPの座標書き換えの処理は必要ない。このような処理が必要となる座標系のモデルについて、図14を参照して説明する。
図14は、実施形態に係る座標系のモデルの例を示す図である。本実施形態の座標系のモデルでは、スクロールシートSS以下に配置したブロック画像BPなどのオブジェクトOBは、スクロールシートSSの原点SS0を起点とした座標系を有している。そのため、画面をスクロール操作されても、全オブジェクトOBの座標情報を書き換える必要はない。
また、図4で示したように、アプリケーションに対して公開するレイヤ(階層)であるオブジェクト配置階層L2は、スクロール階層L1と同じ大きさであり、スクロール階層L1と同期して移動する。すなわち、オブジェクト配置階層L2はスクロール階層L1を完全に覆うようにしている。座標系を3次元で考えると、オブジェクト配置階層L2は、スクロール階層L1に対しZ座標(ここではZindexと称する)を有する。例えば、スクロール階層L1の座標点が(300,800,0)とすると、例えば、オブジェクト配置階層L2上の座標点は(300,800,Zindex×100)となる。なお、Zindexは、整数とする。
アプリケーションに対して公開するレイヤ(階層)がない場合、アプリケーションが配置したオブジェクトは、スクロールシートSS上に直接配置することになるが、ブロック画像の上にくるようにアプリケーションがZindexを制御する必要がある。全てのブロック画像の上にくるレイヤを設けることで、アプリケーションが配置したオブジェクトが、ブロック画像の下に潜り込まないようにしている。
前記の説明ではスクロール操作について説明したが、表示部27の画面を、2本指を大きく広げて触った状態(タッチ状態)から指の間隔を狭めていくピンチイン操作(縮小操作)、2本指を狭めた触った状態(タッチ状態)から指の間隔を広げていくピンチアウト操作(拡大操作)があった場合においても、本実施形態ではスクロールシートSSの縮小、拡大に対応する。このため、各ブロック画像BPの座標位置は、スクロールシートSSの原点SS0からの座標位置に対して、縮小率、拡大率を乗ずるだけで算出でき処理時間がかからない利点を有する。
10 サーバ
11 処理部
12 画像管理部
13 データ通信部
14 記憶部
15 データ
16 ブロック配列情報
17 スクロールシート情報
18 ブロック画像情報
20 クライアント
21 処理部
22 画面ブロック管理部
23 画面ブロック配置部
24 記憶部
25 画面サイズ情報
26 画面ブロック情報
100 データ表示システム
BP ブロック画像
DP データ画像
L1 スクロール階層
L2 オブジェクト配置階層
NW ネットワーク
OB オブジェクト
SS スクロールシート
W ウインドウ
11 処理部
12 画像管理部
13 データ通信部
14 記憶部
15 データ
16 ブロック配列情報
17 スクロールシート情報
18 ブロック画像情報
20 クライアント
21 処理部
22 画面ブロック管理部
23 画面ブロック配置部
24 記憶部
25 画面サイズ情報
26 画面ブロック情報
100 データ表示システム
BP ブロック画像
DP データ画像
L1 スクロール階層
L2 オブジェクト配置階層
NW ネットワーク
OB オブジェクト
SS スクロールシート
W ウインドウ
Claims (2)
- クライアントとサーバとの間で通信し、前記クライアントからの要求に応じて前記サーバから取得した画像を表示するデータ表示システムであって、
前記サーバは、
データを記憶する記憶部と、
前記記憶部から取得したデータをデータ画像として生成し、前記生成したデータ画像を所定のサイズで分割してブロック毎のブロック画像を生成し、前記生成されたブロック画像を前記データ画像上のブロック座標位置情報と関連づけて前記記憶部に記憶する画像管理部と、を有し、
前記クライアントは、
前記サーバから前記データ画像のサイズおよび前記データ画像上のブロック座標位置情報を受信した場合、前記データ画像のサイズと同じサイズで、表示部でスクロール操作をした際に使用するスクロール階層を生成し、前記生成されたスクロール階層上に前記表示部の画面サイズのウインドウを配置し、前記ウインドウからみた表示可能なブロック数を決定し、前記決定されたブロック数分の前記データ画像上のブロック座標位置情報を前記サーバに送信する画面ブロック管理部と、
前記サーバから前記データ画像上のブロック座標位置情報に該当するブロック画像を受信した場合、前記受信したブロック画像を前記スクロール階層上に配置する画面ブロック配置部と、を有し、
前記画面ブロック管理部は、前記表示部のスクロール操作がされた場合、前記ウインドウを固定した状態で前記スクロール階層を該スクロール操作に応じて移動し、前記ウインドウからみた前記ブロックを決定し、前記決定されたブロックのうち、まだ受信していないブロック画像を前記サーバに要求する
ことを特徴とするデータ表示システム。 - 前記画面ブロック管理部は、前記データ画像のサイズと同じサイズで、オブジェクトを配置する際に使用するオブジェクト配置階層を生成し、前記オブジェクト配置階層を、前記スクロール階層に配置したブロック画像がある平面と直交する座標位置の値が前記スクロール階層のある座標位置の値より大きくなるように配置し、前記配置されたオブジェクト配置階層を前記スクロール階層がスクロール操作された際に同期して移動する
ことを特徴とする請求項1に記載のデータ表示システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015062966A JP6002268B1 (ja) | 2015-03-25 | 2015-03-25 | データ表示システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015062966A JP6002268B1 (ja) | 2015-03-25 | 2015-03-25 | データ表示システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6002268B1 true JP6002268B1 (ja) | 2016-10-05 |
JP2016184212A JP2016184212A (ja) | 2016-10-20 |
Family
ID=57048604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015062966A Expired - Fee Related JP6002268B1 (ja) | 2015-03-25 | 2015-03-25 | データ表示システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6002268B1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022111670A (ja) | 2021-01-20 | 2022-08-01 | キヤノン株式会社 | 投影装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004320534A (ja) * | 2003-04-17 | 2004-11-11 | Sapience Corp | 画像表示方法 |
JP2014026445A (ja) * | 2012-07-26 | 2014-02-06 | P & W Solutions Co Ltd | 表示制御装置、表示制御方法及びプログラム |
JP2014109877A (ja) * | 2012-11-30 | 2014-06-12 | Hitachi Solutions East Japan Ltd | ガントチャート編集装置、ガントチャート編集方法及びガントチャート編集プログラム |
JP2014132468A (ja) * | 2014-01-10 | 2014-07-17 | Sapience Corp | 画像表示方法および画像表示用プログラム |
-
2015
- 2015-03-25 JP JP2015062966A patent/JP6002268B1/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004320534A (ja) * | 2003-04-17 | 2004-11-11 | Sapience Corp | 画像表示方法 |
JP2014026445A (ja) * | 2012-07-26 | 2014-02-06 | P & W Solutions Co Ltd | 表示制御装置、表示制御方法及びプログラム |
JP2014109877A (ja) * | 2012-11-30 | 2014-06-12 | Hitachi Solutions East Japan Ltd | ガントチャート編集装置、ガントチャート編集方法及びガントチャート編集プログラム |
JP2014132468A (ja) * | 2014-01-10 | 2014-07-17 | Sapience Corp | 画像表示方法および画像表示用プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2016184212A (ja) | 2016-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106572139B (zh) | 多终端控制方法、终端、服务器和系统 | |
JP6321959B2 (ja) | 表示制御装置、表示制御方法、及び、プログラム | |
JP5695597B2 (ja) | 画面表示装置及び画面表示システム | |
JP2019008668A (ja) | クライアントデバイス、画像処理システム、画像の表示方法および、プログラム | |
JP2013255123A (ja) | 画像配信装置、表示装置及び画像配信システム | |
EP2884410B1 (en) | A method of operating a handheld mobile telecommunication device | |
JP5303534B2 (ja) | 体裁情報処理装置及び方法 | |
JP6002268B1 (ja) | データ表示システム | |
JP4874363B2 (ja) | ブラウザのプラグインを用いるウェブページ表示方法 | |
JP5262426B2 (ja) | 表示処理装置及びプログラム | |
JP6002263B2 (ja) | データ表示システム | |
CN110288523A (zh) | 图像生成方法和装置 | |
JP2017059067A (ja) | クライアント装置、および、データ表示プログラム | |
JP2019109651A (ja) | プログラム、情報処理方法、及び情報処理装置 | |
CN113888673A (zh) | 地图编辑方法、系统、装置、计算设备和存储介质 | |
JP6514632B2 (ja) | 情報処理システム、情報処理方法、情報処理装置、サーバ及びプログラム | |
JP2012155413A (ja) | ポータルサーバ及びポータルページ表示方法 | |
JP6264951B2 (ja) | 描画装置、プログラム、描画方法 | |
JP2017120518A (ja) | ソフトウェア開発プログラム及びソフトウェア開発方法 | |
JP5798264B1 (ja) | デジタルサイネージシステム、表示処理装置、表示データの生成方法、及びプログラム | |
CN111159593A (zh) | 流程图的生成方法、装置、存储介质和电子设备 | |
JP2014132468A (ja) | 画像表示方法および画像表示用プログラム | |
JP6200373B2 (ja) | 表示領域制御装置、表示領域制御方法、および表示領域制御プログラム | |
JP2012044478A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP7056094B2 (ja) | 表示制御装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6002268 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |