JP6221214B2 - システム、端末装置および画像処理方法 - Google Patents

システム、端末装置および画像処理方法 Download PDF

Info

Publication number
JP6221214B2
JP6221214B2 JP2012213270A JP2012213270A JP6221214B2 JP 6221214 B2 JP6221214 B2 JP 6221214B2 JP 2012213270 A JP2012213270 A JP 2012213270A JP 2012213270 A JP2012213270 A JP 2012213270A JP 6221214 B2 JP6221214 B2 JP 6221214B2
Authority
JP
Japan
Prior art keywords
image
screen
operation target
image data
display
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.)
Active
Application number
JP2012213270A
Other languages
English (en)
Other versions
JP2014067312A (ja
Inventor
松井 一樹
一樹 松井
健一 堀尾
健一 堀尾
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012213270A priority Critical patent/JP6221214B2/ja
Priority to US13/952,289 priority patent/US20140089812A1/en
Publication of JP2014067312A publication Critical patent/JP2014067312A/ja
Application granted granted Critical
Publication of JP6221214B2 publication Critical patent/JP6221214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server

Description

本発明は、システム、端末装置および画像処理方法に関する。
シンクライアントシステムは、クライアントに最低限の機能しか持たせず、サーバでアプリケーションやデータを管理するシステムである。また、タブレット端末やスマートフォンなどの端末装置の普及にともなって、モバイル環境で社内のアプリケーションやデータをセキュアに利用する、いわゆるモバイルシンクライアントシステムのニーズが拡大している。
関連する先行技術としては、例えば、サーバ装置において、シンクライアントからの操作情報によるアプリケーションの処理に基づき生成され動画像として符号化される画面情報のフレームレートを変更する技術がある。また、クライアント端末が、サーバから受信したドキュメント情報を描画ログバッファに蓄積保持し、サーバとの通信が切断されている間は、蓄積保持したドキュメント情報に基づいてドキュメント画像を再現してディスプレイに表示する技術がある。
特開2011−192229号公報 特開2007−34687号公報
しかしながら、従来技術によれば、シンクライアントシステムにおいて、端末側で画面内のウィンドウやアイコン等を移動させる場合、画面に表示する画像データをサーバから取得することになり、ユーザの操作性の低下を招くという問題がある。
1つの側面では、本発明は、ユーザの操作性の低下を防ぐシステム、端末装置および画像処理方法を提供することを目的とする。
本発明の一側面によれば、ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、前記情報処理装置は、前記端末装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記端末装置に送信し、前記端末装置は、前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納するシステムが提案される。
また、本発明の一側面によれば、ネットワークを介して情報処理装置と接続される端末装置が、自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信し、前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する端末装置および画像処理方法が提案される。
本発明の一態様によれば、ユーザの操作性の低下を防ぐことができるという効果を奏する。
図1は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。 図2は、シンクライアントシステム200のシステム構成例を示す説明図である。 図3は、サーバ201のハードウェア構成例を示すブロック図である。 図4は、クライアント装置202のハードウェア構成例を示すブロック図である。 図5は、サーバ201の機能的構成例を示すブロック図である。 図6は、クライアント装置202の機能的構成例を示すブロック図である。 図7は、シンクライアントシステム200の動作例を示す説明図(その1)である。 図8は、シンクライアントシステム200の動作例を示す説明図(その2)である。 図9は、クライアント装置202の動作例を示す説明図である。 図10は、クライアント装置202の表示制御処理手順の一例を示すフローチャートである。 図11は、サーバ201の画像処理手順の一例を示すフローチャート(その1)である。 図12は、サーバ201の画像処理手順の一例を示すフローチャート(その2)である。
以下に添付図面を参照して、本発明にかかるシステム、端末装置および画像処理方法の実施の形態を詳細に説明する。
(画像処理方法の一実施例)
図1は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。図1において、システム100は、端末装置101と、情報処理装置102と、を含む。システム100は、例えば、端末装置101に最低限の機能しか持たせず、情報処理装置102でアプリケーションやデータを管理するシンクライアントシステムである。
端末装置101は、ネットワークを介して情報処理装置102と通信可能なコンピュータである。また、端末装置101は、画面110を有し、情報処理装置102から受信した画像データに基づいて、画面110に画像を表示する機能を有する。端末装置101は、例えば、タブレット端末、ノートPC(Personal Computer)、スマートフォン、携帯電話機などである。
情報処理装置102は、ネットワークを介して端末装置101と通信可能なコンピュータである。また、情報処理装置102は、端末装置101の画面110に表示する画像の画像データを生成して、端末装置101に送信する機能を有する。情報処理装置102は、例えば、サーバである。
また、画像は、例えば、端末装置101の要求に応じて情報処理装置102で実行されるアプリケーションの実行結果を表示するウィンドウやアイコンなどである。アプリケーションは、例えば、電子メールソフト、プレゼンテーションソフト、表計算ソフト、設計支援ツールなどである。
ここで、シンクライアントシステムにおいて、端末側で画面内のウィンドウやアイコン等を移動させる場合、画面の表示内容が更新されるため、画面の画像データを改めてサーバから取得することになる。また、タブレット端末などでシンクライアントシステムを利用する場合は、サーバとの通信状態が不安定になりやすいため、ウィンドウ等を移動させる操作時の応答時間が増大しユーザの操作性が低下してしまう場合がある。
また、指やスタイラスなどのタッチ操作で画面内のウィンドウ等を移動させる場合、端末装置がデスクトップ画面全体の移動かウィンドウ等の移動かを区別できず、ユーザの意図した動作にならない場合がある。なお、デスクトップ画面全体を移動させる操作モードと画面内のウィンドウ等を移動させる操作モードを用意することも考えられるが、操作モードを切り替える操作が必要となるとともに、複数の操作モードの存在によりユーザの混乱を招くという問題がある。
そこで、本実施の形態では、情報処理装置102は、端末装置101におけるユーザの操作入力に応じて操作対象となった画像(ウィンドウ、アイコン等)の表示領域を特定して端末装置101に通知する。端末装置101は、情報処理装置102から通知された表示領域の画像を保持しておく。これにより、操作対象となった画像を移動させる操作入力が行われた場合に、端末装置101側で保持した画像を利用して画面更新することを可能にする。以下、システム100の動作例について説明する。
(1)端末装置101は、画面110上で行われた操作入力を表す操作情報を情報処理装置102に送信する。ここで、操作とは、例えば、画面110上で行われるクリック、ダブルクリック、ドラッグ&ドロップなどである。操作情報には、例えば、画面110上で行われた操作入力の種別と、その操作入力が行われた位置を表す情報が含まれている。
図1の例では、画面110には、オブジェクト121とオブジェクト122とを含むデスクトップ画面120が表示されている。また、デスクトップ画面120内の点123を指定する操作入力(操作対象を指定するクリック)が行われた結果、点123の座標位置(x、y)を含む操作情報130が端末装置101から情報処理装置102に送信されている。
(2)情報処理装置102は、受信した操作情報130から特定される操作入力に応じて操作対象となった操作対象画像の表示領域を表す操作対象情報を端末装置101に送信する。ここで、操作対象画像とは、例えば、移動、削除、複製等の対象として選択された画像である。
図1の例では、情報処理装置102は、デスクトップ画面120内の点123を含むオブジェクト122を操作対象にし、オブジェクト122の画面110上での表示領域124を表す操作対象情報140を端末装置101に送信する。操作対象情報140には、例えば、オブジェクト122の各頂点の座標位置を表す頂点データが含まれている。
(3)端末装置101は、操作対象情報140を受信した場合、画面110の画像データから、操作対象情報140から特定される表示領域124の画像データを抽出する。具体的には、例えば、端末装置101は、オブジェクト122の各頂点の座標位置から表示領域124を特定し、表示領域124の画像データ150を抽出する。これにより、操作対象となったオブジェクト122の画像データ150を抽出することができる。
(4)端末装置101は、抽出した表示領域124の画像データ150を、オブジェクト122の画像データとして記憶領域160に格納する。記憶領域160は、例えば、端末装置101の揮発性メモリにより実現される。
このように、システム100によれば、端末装置101は、ユーザの操作入力に応じ操作対象となったオブジェクト122の表示領域124を特定して画面110上の操作対象画像を判別することができるとともに、オブジェクト122の画像データ150を記憶領域160に格納することができる。
これにより、端末装置101は、オブジェクト122を移動させる操作入力が行われた場合に、記憶領域160に格納したオブジェクト122の画像データ150を用いて画面110の表示内容を更新することができる。すなわち、端末装置101は、情報処理装置102と通信して画面110の画像データを取得することなく、画面110の表示内容を更新することができる。
この結果、例えば、通信状態が不安定なモバイル環境で、端末装置101によりアプリケーションを操作する場合でも、ウィンドウやアイコン等の移動を行うたびに発生する画面更新のためのデータ転送量を削減して、ユーザの操作性を向上させることができる。
(シンクライアントシステムのシステム構成例)
つぎに、図1に示したシステム100をシンクライアントシステムに適用した場合について説明する。
図2は、シンクライアントシステム200のシステム構成例を示す説明図である。図2において、シンクライアントシステム200は、サーバ201と、複数のクライアント装置202(図2の例では、3台)とを含む。シンクライアントシステム200において、サーバ201およびクライアント装置202は、ネットワーク210を介して通信可能に接続されている。ネットワーク210は、例えば、移動体通信網(携帯電話網)やインターネットなどである。
シンクライアントシステム200は、クライアント装置202が表示する画面をリモートでサーバ201に制御させる。シンクライアントシステム200によれば、実際にはサーバ201が実行した処理結果や保持するデータをクライアント装置202に表示させつつ、あたかもクライアント装置202が主体となって処理を実行したり、データを保持しているかのように振る舞うことができる。
サーバ201は、クライアント装置202に表示する画面をリモートで制御するリモート画面制御サービスを提供するコンピュータである。サーバ201は、図1に示した情報処理装置102に相当する。クライアント装置202は、サーバ201からリモート画面制御サービスの提供を受けるコンピュータである。クライアント装置202は、図1に示した端末装置101に相当する。
(サーバ201のハードウェア構成例)
図3は、サーバ201のハードウェア構成例を示すブロック図である。図3において、サーバ201は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、磁気ディスクドライブ304と、磁気ディスク305と、を有している。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、サーバ201の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有している。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されているプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させることになる。
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、クライアント装置202)に接続される。そして、I/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。なお、サーバ201は、上述した構成部のほか、例えば、SSD(Solid State Drive)、キーボード、ディスプレイなどを有することにしてもよい。
(クライアント装置202のハードウェア構成例)
図4は、クライアント装置202のハードウェア構成例を示すブロック図である。図4において、クライアント装置202は、CPU401と、ROM402と、RAM403と、磁気ディスクドライブ404と、磁気ディスク405と、I/F406と、ディスプレイ407と、入力装置408と、を有している。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、クライアント装置202の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
I/F406は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、サーバ201)に接続される。そして、I/F406は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
ディスプレイ407は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ407は、例えば、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
入力装置408は、文字、数字、各種指示などの入力を行う。入力装置408は、例えば、データの入力を行うキーボードやカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行うマウスであってもよい。また、入力装置408は、ディスプレイ407と一体化されたタッチパネルや、タッチパネル式の入力パッドやテンキーなどであってもよい。
(サーバ201の機能的構成例)
図5は、サーバ201の機能的構成例を示すブロック図である。図5において、サーバ201は、受信部501と、取得部502と、生成部503と、送信部504と、作成部505と、を含む構成である。受信部501〜作成部505は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、磁気ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、磁気ディスク305などの記憶装置に記憶される。
受信部501は、クライアント装置202から操作情報を受信する機能を有する。ここで、操作情報は、クライアント装置202の表示画面S上での入力装置408(図4参照)を用いたユーザの操作入力を表す情報である。なお、表示画面Sは、ディスプレイ407の表示領域全体を表す。
操作情報には、例えば、入力装置408を用いたクリック、ダブルクリック、ドラッグ&ドロップ等の操作入力の種別と、その操作入力が行われたマウスポインタの位置を表す情報が含まれている。また、操作情報には、操作入力が終了したことを示す情報や、マウスのホイールの回転量、キーボードの押下されたキーなどを表す情報が含まれていてもよい。
取得部502は、受信部501によって受信された操作情報に基づいて、クライアント装置202のディスプレイ407の表示画面Sに表示する画像Pの画像データを取得する機能を有する。具体的には、例えば、取得部502は、クライアント装置202からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、フレームバッファに格納される画像Pの画像データを取得する。
なお、フレームバッファは、表示画面Sに表示する1フレーム分の画像データを一時的に保存する記憶領域であり、例えば、VRAM(Video RAM)である。フレームバッファは、例えば、メモリ302、磁気ディスク305などの記憶装置により実現される。
生成部503は、画像Pの画像データと画像Ppreの画像データとに基づいて、表示画面Sの表示内容が更新されているか否かを判断する機能を有する。ここで、画像Ppreは、表示画面Sに表示する画像Pの1フレーム前の画像である。具体的には、例えば、生成部503は、画像Pの画像データと画像Ppreの画像データとの間に差分が存在する場合に、表示画面Sの表示内容が更新されていると判断する。
なお、画像Ppreの画像データは、退避用バッファに格納されている。例えば、画像Ppreの画像データは、フレームバッファに画像Pの画像データが格納される際に、フレームバッファから退避用バッファに退避される。退避用バッファは、例えば、メモリ302、磁気ディスク305などの記憶装置により実現される。
また、生成部503は、表示画面Sの表示内容が更新されている場合、画像Pの更新領域Rの画像データを生成する。ここで、更新領域Rは、画像Pのうちの更新された領域を表す画像である。具体的には、例えば、生成部503は、画像Pのうち画像Ppreとの差分領域を含む矩形領域を更新された領域として、更新領域Rの画像データを生成する。
送信部504は、表示画面Sに表示する画像Pの画像データをクライアント装置202に送信する機能を有する。具体的には、例えば、送信部504は、表示画面Sに表示する画像Pの画像データを所定の圧縮方式で圧縮(エンコード)することにより、圧縮後の画像Pの画像データを静止画データまたは動画データとしてクライアント装置202に送信する。
圧縮方式としては、例えば、画像データが静止画の場合は、JPEG(Joint Photographic Experts Group)、GIF(Graphic Interchange Format)、PNG(Portable Network Graphics)などがある。また、画像データが動画の場合は、MPEG(Moving Picture Experts Group)がある。
また、送信部504は、表示画面Sの表示内容が更新されている場合、生成部503によって生成された更新領域Rの画像データをクライアント装置202に送信する機能を有する。具体的には、例えば、送信部504は、更新領域Rの画像データを圧縮(エンコード)することにより、圧縮後の更新領域Rの画像データを静止画データまたは動画データとしてクライアント装置202に送信する。
作成部505は、受信部501によって受信された操作情報が表す表示画面S上での操作入力に応じて操作対象となった操作対象画像の操作対象情報を作成する機能を有する。ここで、操作対象画像は、例えば、表示画面S上での操作入力に応じて操作対象となった画像である。
具体的には、例えば、操作対象画像は、表示画面S上のある点を指定する操作入力(クリック)に応じて操作対象となったウィンドウやアイコンである。また、操作対象情報は、例えば、操作対象となったウィンドウやアイコンなどの表示画面S上での表示領域を表す情報である。
以下の説明では、操作対象画像の一例として、ウィンドウWを例に挙げて説明する。ウィンドウWは、例えば、表示画面Sに表示されるデスクトップ画面やデスクトップ画面に含まれるウィンドウなどである。また、アクティブになったウィンドウWを「アクティブウィンドウAW」と表記し、操作対象情報を「ウィンドウ情報」と表記する場合がある。
ウィンドウ情報には、例えば、アクティブウィンドウAWの頂点データ(x,y,h,w)が含まれている。ここで、(x,y)は、表示画面S上でのアクティブウィンドウAWの左上の頂点の座標位置を表す。また、(h)は、表示画面S上でのアクティブウィンドウAWの縦方向の幅を表す。また、(w)は、表示画面S上でのアクティブウィンドウAWの横方向の幅を表す。
具体的には、例えば、作成部505は、クライアント装置202からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、表示画面S上の点を指定する操作入力に応じてアクティブになったアクティブウィンドウAWを特定する。そして、作成部505は、特定したアクティブウィンドウAWの頂点データを特定することによりウィンドウ情報を作成することにしてもよい。
また、送信部504は、作成部505によって作成されたウィンドウ情報をクライアント装置202に送信する機能を有する。ウィンドウ情報によれば、クライアント装置202側で、表示画面S上のある点を指定する操作入力に応じてアクティブになったアクティブウィンドウAWの表示領域を特定することができる。
以下の説明では、ウィンドウ情報から特定されるアクティブウィンドウAWの表示領域を「アクティブウィンドウ領域AT」と表記する場合がある。
また、作成部505は、表示画面S上での操作入力に応じてアクティブウィンドウAWを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報を作成する機能を有する。ここで、ウィンドウ移動イベント情報は、アクティブウィンドウAWの表示画面S上での移動後のアクティブウィンドウ領域ATを表す情報である。ウィンドウ移動イベント情報には、例えば、移動後のアクティブウィンドウAWの頂点データ(x,y,h,w)が含まれている。
また、送信部504は、作成部505によって作成されたウィンドウ移動イベント情報をクライアント装置202に送信する機能を有する。具体的には、例えば、送信部504は、アクティブウィンドウAWを移動させる移動イベントが発生した場合、更新領域Rの画像データの代わりに、ウィンドウ移動イベント情報をクライアント装置202に送信する。
すなわち、アクティブウィンドウAWを移動させる移動イベントが発生した場合は、アクティブウィンドウAWの移動により表示画面Sの表示内容が更新されても、サーバ201からクライアント装置202に更新領域Rの画像データを送信しなくてもよい。
また、生成部503は、アクティブウィンドウAWを移動させる移動イベントが発生した場合、更新領域Rの画像データを生成しないことにしてもよい。すなわち、アクティブウィンドウAWの移動により表示画面Sの表示内容が更新されても、クライアント装置202に更新領域Rの画像データを送信しなくてもよいため、生成部503は、更新領域Rの画像データを生成しなくてもよい。
また、受信部501は、送信部504によってウィンドウ移動イベント情報が送信された結果、非表示画像要求をクライアント装置202から受信することにしてもよい。ここで、非表示画像要求は、アクティブウィンドウ領域ATにおいてアクティブウィンドウAWにより非表示となっている非表示画像の画像データを要求するものである。非表示画像要求には、例えば、アクティブウィンドウAWの頂点データ(x,y,h,w)が含まれている。
また、生成部503は、受信部501によって非表示画像要求が受信された場合、アクティブウィンドウAWにより非表示となっている非表示画像の画像データを生成することにしてもよい。具体的には、例えば、生成部503は、アクティブウィンドウAWを一時的に非表示にして、非表示画像要求に含まれるアクティブウィンドウAWの頂点データ(x,y,h,w)から特定される表示領域の画像データをフレームバッファから取得する。これにより、アクティブウィンドウAWの裏に隠れている非表示画像の画像データを生成することができる。
また、送信部504は、生成部503によってアクティブウィンドウAWにより非表示となっている非表示画像の画像データが生成された場合、非表示画像の画像データをクライアント装置202に送信することにしてもよい。これにより、アクティブウィンドウAWの裏に隠れている非表示画像の画像データをクライアント装置202に送信することができる。
(クライアント装置202の機能的構成例)
図6は、クライアント装置202の機能的構成例を示すブロック図である。図6において、クライアント装置202は、取得部601と、送信部602と、受信部603と、表示制御部604と、抽出部605と、格納部606と、を含む構成である。取得部601〜格納部606は制御部となる機能であり、具体的には、例えば、図4に示したROM402、RAM403、磁気ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F406により、その機能を実現する。各機能部の処理結果は、例えば、RAM403、磁気ディスク405などの記憶装置に記憶される。
取得部601は、ユーザの操作入力を表す操作情報を取得する機能を有する。具体的には、例えば、取得部601は、ディスプレイ407の表示画面S上での入力装置408(図4参照)を用いたユーザの操作入力を受け付けることにより、ユーザの操作入力を表す操作情報を取得する。
上述したように、操作情報には、例えば、入力装置408を用いたクリック、ダブルクリック、ドラッグ&ドロップ等の操作入力の種別と、その操作入力が行われたマウスポインタの位置を表す情報が含まれている。また、操作情報には、操作入力が終了したことを示す情報や、マウスのホイールの回転量、キーボードの押下されたキーなどを表す情報が含まれていてもよい。
また、タッチパネルを用いて、タップ、ドラッグ、フリック、ピンチアウト、ピンチイン等の操作入力が行われる場合がある。この場合、取得部601は、タッチパネルを用いた操作入力を、例えば、サーバ201で実行中のアプリケーションが解釈可能なマウスを用いた操作入力に変換した操作情報を取得することにしてもよい。
ただし、操作情報の変換処理は、サーバ201側で行われることにしてもよい。また、ドラッグ&ドロップのように操作入力が継続して行われる場合がある。この場合、取得部601は、ユーザの操作入力を表す操作情報を一定時間間隔ごとに取得することにしてもよい。
送信部602は、取得部601によって取得された操作情報をサーバ201に送信する機能を有する。具体的には、例えば、送信部602は、取得部601によって操作情報が取得されると、その都度、取得された操作情報をサーバ201に送信する。
受信部603は、送信部602によって操作情報が送信された結果、表示画面Sの画像データをサーバ201から受信する機能を有する。具体的には、例えば、受信部603は、表示画面S全体の画像Pの画像データや表示画面Sの更新領域Rの画像データをサーバ201から受信する。
表示制御部604は、受信部603によって受信された表示画面Sの画像データを表示する機能を有する。具体的には、例えば、表示制御部604は、ディスプレイ407を制御して、受信された表示画面Sの画像データをデコードして、表示画面S上の対応する位置に表示する。
また、受信部603は、送信部602によって操作情報が送信された結果、表示画面S上での操作入力に応じて操作対象となったアクティブウィンドウAWのウィンドウ情報をサーバ201から受信する機能を有する。
抽出部605は、表示画面Sの画像データから、受信部603によって受信されたウィンドウ情報から特定されるアクティブウィンドウ領域ATの画像データを抽出する機能を有する。具体的には、例えば、抽出部605は、ウィンドウ情報に含まれる頂点データからアクティブウィンドウ領域ATを特定する。そして、抽出部605は、表示画面Sの画像データから、特定したアクティブウィンドウ領域ATの画像データを抽出する。
格納部606は、抽出部605によって抽出されたアクティブウィンドウ領域ATの画像データを、アクティブウィンドウAWの画像データとして記憶領域Mに格納する機能を有する。記憶領域Mは、例えば、CPU401のキャッシュメモリやRAM403により実現される。
また、受信部603は、送信部602によって操作情報が送信された結果、表示画面S上での操作入力に応じてアクティブウィンドウAWを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報をサーバ201から受信する。
また、表示制御部604は、受信部603によってウィンドウ移動イベント情報が受信された場合、記憶領域Mに格納されているアクティブウィンドウAWの画像データを、ウィンドウ移動イベント情報から特定される移動後のアクティブウィンドウ領域ATに表示する。
これにより、ユーザの操作入力に応じたウィンドウWの移動イベントが発生した場合に、サーバ201と通信して更新領域Rの画像データを取得することなく、表示画面Sの表示内容を更新することができる。なお、移動前のアクティブウィンドウ領域ATについては、ブランク領域とすることにしてもよい。
また、送信部602は、受信部603によってウィンドウ移動イベント情報が受信された場合、非表示画像要求をサーバ201に送信することにしてもよい。この場合、受信部603は、送信部602によって非表示画像要求が送信された結果、非表示画像の画像データをサーバ201から受信する。非表示画像の画像データは、上述したように、アクティブウィンドウ領域ATにおいてアクティブウィンドウ領域AWにより非表示となっている非表示画像の画像データである。
表示制御部604は、受信部603によって非表示画像の画像データが受信された場合、移動前のアクティブウィンドウ領域ATに非表示画像の画像データを表示する。また、表示制御部604は、記憶領域Mに格納されているアクティブウィンドウAWの画像データを、ウィンドウ移動イベント情報から特定される移動後のアクティブウィンドウ領域ATに表示する。
これにより、ウィンドウWの移動イベントが発生した場合に、サーバ201と通信して更新領域Rの画像データを取得することなく、移動前のウィンドウWの裏に隠れていた部分を含めて表示画面Sの表示内容を更新することができる。
また、表示制御部604は、表示画面S上のいずれかの点を指定する操作入力が行われた場合、指定された点がアクティブウィンドウ領域AT内か否かを判定することにしてもよい。アクティブウィンドウ領域ATは、例えば、ウィンドウ情報またはウィンドウ移動イベント情報から特定することができる。そして、表示制御部604は、指定された点がアクティブウィンドウ領域AT外の場合、表示画面S全体(例えば、デスクトップ画面)をアクティブウィンドウAWとすることにしてもよい。
また、表示制御部604は、表示画面S全体をアクティブウィンドウAWとした結果、アクティブウィンドウAWを移動させる操作入力が行われた場合は、表示画面S全体を移動させることにしてもよい。これにより、ウィンドウWの移動イベントが発生した場合に、サーバ201との通信が一時的に切断されても、サーバ201からウィンドウ情報を受信することなく、表示画面Sの表示内容を更新することができる。
(シンクライアントシステム200の動作例)
図7および図8は、シンクライアントシステム200の動作例を示す説明図である。図7において、クライアント装置202の表示画面Sにデスクトップ画面DS1が表示されている。また、デスクトップ画面DS1にはウィンドウW1とウィンドウW2とが表示されている。
(7−1)クライアント装置202は、表示画面S上の点701を指でタッチする操作入力が行われた場合、サーバ201に操作情報710を送信する。操作情報710には、例えば、点701で行われた操作入力の種別「クリック」と点701の座標位置とを表す情報が含まれている。
(7−2)サーバ201は、操作情報710を受信した場合、操作情報710が表す表示画面S上での操作入力に応じてアクティブとなったウィンドウW1のウィンドウ情報720をクライアント装置202に送信する。ウィンドウ情報720には、例えば、アクティブとなったウィンドウW1の頂点データが含まれている。
また、表示画面S上の点701を指でタッチする操作入力が行われた結果、サーバ201からクライアント装置202に更新領域Rの画像データが送信され、表示画面Sの表示内容がデスクトップ画面DS1からデスクトップ画面DS2に更新される。
(7−3)クライアント装置202は、ウィンドウ情報720を受信した場合、ウィンドウ情報720に含まれる頂点データからウィンドウW1の表示領域702を特定する。そして、クライアント装置202は、表示画面Sの画像データ(ビットマップ画像の画像データ)から、表示領域702の画像データ730を抽出して記憶領域Mにキャッシュする。
(7−4)クライアント装置202は、表示画面S上でドラッグ&ドロップ(指でタッチしたまま移動)の操作入力が行われた場合、サーバ201に操作情報740を送信する。操作情報740は、例えば、ドラッグ&ドロップの操作入力が行われている間に、サーバ201に一定時間間隔で送信される操作情報群である。
操作情報740には、例えば、操作入力の種別「ドラッグ&ドロップ」と、その操作入力が行われた点の座標位置とを表す情報が含まれている。また、操作情報740には、ドラッグ&ドロップの操作入力が行われたことを示す情報が含まれていてもよい。
(7−5)サーバ201は、受信した操作情報740から特定される表示画面S上での操作入力に応じてウィンドウW1を移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報750を作成してクライアント装置202に送信する。ウィンドウ移動イベント情報750には、移動後のウィンドウW1の頂点データが含まれている。
また、ウィンドウW1を移動させる移動イベントが発生した結果、サーバ201側では、表示画面Sの表示内容がデスクトップ画面DS2からデスクトップ画面DS3に更新される。なお、クライアント装置202側では、サーバ201から更新領域Rの画像データが送信されないため、この時点では表示画面Sの表示内容は更新されない。
(7−6)クライアント装置202は、ウィンドウ移動イベント情報750を受信した場合、非表示画像要求760をサーバ201に送信する。非表示画像要求760には、移動前のウィンドウW1の頂点データ(x,y,h,w)が含まれている。
(7−7)サーバ201は、アクティブとなっているウィンドウW1を一時的に非表示にする。そして、サーバ201は、非表示画像要求760に含まれる移動前のウィンドウW1の頂点データから特定される表示領域703の画像データ770を取得してクライアント装置202に送信する。
(7−8)クライアント装置202は、非表示画像の画像データ770を受信した場合、移動前のウィンドウW1の表示領域702に非表示画像の画像データ770を表示する。また、クライアント装置202は、記憶領域MにキャッシュしたウィンドウW1の画像データ730を、ウィンドウ移動イベント情報750から特定される移動後のウィンドウW1の表示領域704に表示する。
この結果、クライアント装置202の表示画面Sに、デスクトップ画面DS2におけるウィンドウW1を表示領域702から表示領域704に移動したデスクトップ画面DS3が表示される(図8中、(7−9)参照)。
このように、クライアント装置202は、ユーザの操作入力に応じたウィンドウW1の移動イベントが発生した場合に、サーバ201と通信して更新領域Rの画像データを取得することなく、表示画面Sの表示内容を更新することができる。
(クライアント装置202の動作例)
図9は、クライアント装置202の動作例を示す説明図である。図9において、クライアント装置202の表示画面Sにデスクトップ画面DS1が表示されている。また、デスクトップ画面DS1にはウィンドウW1とウィンドウW2とが表示されている。ウィンドウW1は、サーバ201からのウィンドウ情報から特定されるアクティブウィンドウである。
(9−1)クライアント装置202は、表示画面S上の点901を指でタッチする操作入力が行われた場合、サーバ201からのウィンドウ情報から特定されるウィンドウW1の表示領域902内に点901があるか否かを判断する。
図9の例では、点901が表示領域902外のため、表示領域902内に点901がないと判断される。これにより、クライアント装置202は、表示画面S上でアクティブウィンドウAW以外のものが指でタッチされたことを認識することができる。
(9−2)クライアント装置202は、点901が表示領域902外で、かつ、表示画面S上で点901からドラッグ&ドロップ(指でタッチしたまま移動)の操作入力が行われた場合、表示画面S全体を操作対象とする。図9の例では、デスクトップ画面DS1が操作対象となる。
(9−3)クライアント装置202は、表示画面S上で行われたドラッグ&ドロップ(指でタッチしたまま移動)の操作入力に応じて、操作対象となるデスクトップ画面DS1を移動させることにより、表示画面Sに画像910(点線枠)を表示する。
このように、クライアント装置202は、アクティブとなったウィンドウW1の表示領域902を判別できるため、表示画面S上でアクティブウィンドウAW以外のものが指でタッチされたことを認識することができる。また、クライアント装置202は、アクティブウィンドウAW以外のものが指でタッチされた場合に表示画面S全体を操作対象とすることができ、表示画面S上で行われたタッチ操作の移動に応じて、表示画面S全体の画像を移動させることができる。
(クライアント装置202の表示制御処理手順)
つぎに、クライアント装置202の表示制御処理手順について説明する。
図10は、クライアント装置202の表示制御処理手順の一例を示すフローチャートである。図10のフローチャートにおいて、まず、クライアント装置202は、ユーザの操作入力を受け付けたか否かを判断する(ステップS1001)。ここで、クライアント装置202は、ユーザの操作入力を受け付けるのを待つ(ステップS1001:No)。
そして、クライアント装置202は、ユーザの操作入力を受け付けた場合(ステップS1001:Yes)、ユーザの操作入力を表す操作情報を取得する(ステップS1002)。つぎに、クライアント装置202は、取得した操作情報をサーバ201に送信する(ステップS1003)。
そして、クライアント装置202は、サーバ201からウィンドウ情報を受信したか否かを判断する(ステップS1004)。ここで、サーバ201からウィンドウ情報を受信した場合(ステップS1004:Yes)、クライアント装置202は、表示画面Sに表示中のビットマップ画像の画像データから、受信したウィンドウ情報から特定されるアクティブウィンドウ領域ATの画像データを抽出する(ステップS1005)。
そして、クライアント装置202は、抽出したアクティブウィンドウ領域ATの画像データを記憶領域Mに格納して(ステップS1006)、本フローチャートによる一連の処理を終了する。
また、ステップS1004において、クライアント装置202は、ウィンドウ情報を受信していない場合(ステップS1004:No)、サーバ201からウィンドウ移動イベント情報を受信したか否かを判断する(ステップS1007)。
ここで、クライアント装置202は、ウィンドウ移動イベント情報を受信した場合(ステップS1007:Yes)、非表示画像要求をサーバ201に送信する(ステップS1008)。そして、クライアント装置202は、サーバ201から非表示画像の画像データを受信したか否かを判断する(ステップS1009)。
ここで、クライアント装置202は、非表示画像の画像データを受信するのを待つ(ステップS1009:No)。そして、クライアント装置202は、非表示画像の画像データを受信した場合(ステップS1009:Yes)、移動前のアクティブウィンドウ領域ATに非表示画像の画像データを表示する(ステップS1010)。
つぎに、クライアント装置202は、記憶領域Mに格納したアクティブウィンドウAWの画像データを、ウィンドウ移動イベント情報から特定される移動後のアクティブウィンドウ領域ATに表示して(ステップS1011)、本フローチャートによる一連の処理を終了する。
また、ステップS1007において、クライアント装置202は、ウィンドウ移動イベント情報を受信していない場合(ステップS1007:No)、サーバ201から更新領域Rの画像データを受信したか否かを判断する(ステップS1012)。
ここで、クライアント装置202は、更新領域Rの画像データを受信していない場合(ステップS1012:No)、本フローチャートによる一連の処理を終了する。一方、クライアント装置202は、更新領域Rの画像データを受信した場合(ステップS1012:Yes)、更新領域Rの画像データが動画データか否かを判断する(ステップS1013)。
ここで、更新領域Rの画像データが動画データの場合(ステップS1013:Yes)、クライアント装置202は、更新領域Rの画像データを動画用の復元方式を用いてデコードした動画データを表示画面Sに表示して(ステップS1014)、本フローチャートによる一連の処理を終了する。
一方、更新領域Rの画像データが静止画データの場合(ステップS1013:No)、更新領域Rの画像データを静止画用の復元方式を用いてデコードした静止画データを表示画面Sに表示して(ステップS1015)、本フローチャートによる一連の処理を終了する。
なお、ステップS1004において受信されたウィンドウ情報に更新領域Rの画像データが含まれている場合、クライアント装置202は、更新領域Rの動画データまたは静止画データを表示画面Sに表示する。
これにより、クライアント装置202は、ユーザの操作入力に応じたウィンドウWの移動イベントが発生した場合に、サーバ201と通信して更新領域Rの画像データを取得することなく、表示画面Sの表示内容を更新することができる。
(サーバ201の画像処理手順)
つぎに、サーバ201の画像処理手順について説明する。
図11および図12は、サーバ201の画像処理手順の一例を示すフローチャートである。図11のフローチャートにおいて、まず、サーバ201は、クライアント装置202から操作情報を受信したか否かを判断する(ステップS1101)。
ここで、サーバ201は、クライアント装置202から操作情報を受信した場合(ステップS1101:Yes)、受信した操作情報が表す操作入力に応じて表示画面S内のウィンドウWがアクティブになったか否かを判断する(ステップS1102)。
ここで、ウィンドウWがアクティブになっていない場合(ステップS1102:No)、サーバ201は、ステップS1104に移行する。一方、ウィンドウWがアクティブになった場合(ステップS1102:Yes)、サーバ201は、ウィンドウWのウィンドウ情報をクライアント装置202に送信する(ステップS1103)。
そして、サーバ201は、アクティブウィンドウAWの移動イベントが発生したか否かを判断する(ステップS1104)。ここで、アクティブウィンドウAWの移動イベントが発生した場合(ステップS1104:Yes)、サーバ201は、ウィンドウ移動イベント情報を作成する(ステップS1105)。そして、サーバ201は、作成したウィンドウ移動イベント情報をクライアント装置202に送信して(ステップS1106)、本フローチャートによる一連の処理を終了する。
また、ステップS1101において、サーバ201は、操作情報を受信していない場合(ステップS1101:No)、非表示画像要求をクライアント装置202から受信したか否かを判断する(ステップS1107)。ここで、サーバ201は、非表示画像要求を受信していない場合(ステップS1107:No)、ステップS1101に戻る。
一方、サーバ201は、非表示画像要求を受信した場合(ステップS1107:Yes)、表示画面SにおいてアクティブウィンドウAWを非表示にする(ステップS1108)。そして、サーバ201は、非表示画像要求から特定される非表示画像の画像データをフレームバッファから取得する(ステップS1109)。
つぎに、サーバ201は、取得した非表示画像の画像データをクライアント装置202に送信する(ステップS1110)。そして、サーバ201は、非表示にしたアクティブウィンドウAWを表示して(ステップS1111)、本フローチャートによる一連の処理を終了する。
また、ステップS1104において、アクティブウィンドウAWの移動イベントが発生していない場合(ステップS1104:No)、サーバ201は、図12に示すステップS1201に移行する。
図12のフローチャートにおいて、まず、サーバ201は、フレームバッファから画像Pの画像データを取得する(ステップS1201)。つぎに、サーバ201は、画像Pの画像データと画像Ppreの画像データとに基づいて、表示画面Sの表示内容が更新されているか否かを判断する(ステップS1202)。
ここで、表示画面Sの表示内容が更新されていない場合(ステップS1202:No)、サーバ201は、本フローチャートによる一連の処理を終了する。
一方、表示画面Sの表示内容が更新されている場合(ステップS1202:Yes)、サーバ201は、更新領域Rの画像データを生成する(ステップS1203)。そして、サーバ201は、生成した更新領域Rの画像データが動画データか否かを判断する(ステップS1204)。
ここで、更新領域Rの画像データが動画データの場合(ステップS1204:Yes)、サーバ201は、所定の圧縮方式で更新領域Rの画像データを圧縮して、圧縮した画像データを動画データとしてクライアント装置202に送信して(ステップS1205)、本フローチャートによる一連の処理を終了する。
一方、更新領域Rの画像データが静止画データの場合(ステップS1204:No)、サーバ201は、所定の圧縮方式で更新領域Rの画像データを圧縮して、圧縮した画像データを静止画データとしてクライアント装置202に送信して(ステップS1206)、本フローチャートによる一連の処理を終了する。
これにより、クライアント装置202の表示画面S上での操作入力に応じてアクティブとなったウィンドウWのウィンドウ情報をクライアント装置202に送信することができる。また、表示画面S上での操作入力に応じてアクティブウィンドウAWを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報をクライアント装置202に送信することができる。
なお、図11に示したステップS1111において、非表示にしたアクティブウィンドウAWを表示する処理は、例えば、アクティブウィンドウAWを移動させる操作入力が終了した場合に実行することにしてもよい。
また、ステップS1204において、サーバ201は、例えば、画像Pの画像データに付加されている、画像Pが静止画データか動画データかを識別する識別情報に基づいて、更新領域Rの画像データが動画データか否かを判断することにしてもよい。
また、サーバ201は、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置202に送信する機能を有することにしてもよい。具体的には、例えば、サーバ201は、アプリケーションに操作情報を通知して得られる画像を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。そして、サーバ201は、変更の頻度が閾値を超えた領域を動画化領域として扱うことにしてもよい。
この場合、ステップS1204において、サーバ201は、例えば、更新領域Rが動画化領域を含むか否かによって、更新領域Rの画像データが動画データか否かを判断することにしてもよい。より具体的には、例えば、サーバ201は、例えば、更新領域Rが動画化領域を含む場合は、更新領域Rの画像データが動画データであると判断する。なお、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置202に送信する技術については、例えば、特開2011−238014を参照することができる。
以上説明したように、実施の形態にかかるシンクライアントシステム200によれば、サーバ201は、クライアント装置202の表示画面S上での操作入力に応じてアクティブとなったウィンドウWのウィンドウ情報をクライアント装置202に送信することができる。また、クライアント装置202は、ウィンドウ情報を受信した場合、表示画面Sの画像データから、ウィンドウ情報から特定されるアクティブウィンドウ領域ATの画像データを抽出することができる。また、クライアント装置202は、抽出したアクティブウィンドウ領域ATの画像データを、アクティブウィンドウAWの画像データとして記憶領域Mに格納することができる。
これにより、クライアント装置202は、ユーザの操作入力に応じてアクティブとなったウィンドウWの表示領域を特定して操作対象画像を判別することができるとともに、ウィンドウWの画像データをキャッシュすることができる。
また、サーバ201は、表示画面S上での操作入力に応じてアクティブウィンドウAWを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報をクライアント装置202に送信することができる。また、クライアント装置202は、ウィンドウ移動イベント情報を受信した場合、記憶領域Mに格納したアクティブウィンドウAWの画像データを、ウィンドウ移動イベント情報から特定されるアクティブウィンドウ領域ATに表示することができる。
これにより、クライアント装置202は、ユーザの操作入力に応じたウィンドウWの移動イベントが発生した場合に、サーバ201と通信して更新領域Rの画像データを取得することなく、表示画面Sの表示内容を更新することができる。例えば、通信状態が不安定なモバイル環境で、ユーザがクライアント装置202を用いてアプリケーションを操作する場合であっても、ウィンドウWの移動を行うたびに発生する画面更新のためのデータ転送量を削減して、ユーザの操作性を向上させることができる。
また、クライアント装置202は、ウィンドウ移動イベント情報を受信した場合、ウィンドウWにより非表示となっている非表示画像の非表示画像要求をサーバ201に送信することができる。また、サーバ201は、非表示画像要求を受信した場合、ウィンドウWにより非表示となっている非表示画像の画像データをクライアント装置202に送信することができる。
これにより、クライアント装置202は、ウィンドウWの移動イベントが発生した場合に、移動前のウィンドウWの裏に隠れていた非表示画像の画像データを取得することができる。
また、クライアント装置202は、非表示画像の画像データを受信した場合、移動前のアクティブウィンドウ領域ATに非表示画像の画像データを表示することができる。また、クライアント装置202は、記憶領域Mに格納したアクティブウィンドウAWの画像データを、移動後のアクティブウィンドウ領域ATに表示することができる。
これにより、クライアント装置202は、ウィンドウWの移動イベントが発生した場合に、サーバ201と通信して更新領域Rの画像データを取得することなく、移動前のウィンドウWの裏に隠れていた部分を含めて表示画面Sの表示内容を更新することができる。
また、クライアント装置202は、表示画面S上のいずれかの点を指定する操作入力を受け付けた場合、ウィンドウ情報またはウィンドウ移動イベント情報に基づいて、指定された点がアクティブウィンドウ領域AT内にあるか否かを判定することができる。そして、クライアント装置202は、指定された点がアクティブウィンドウ領域AT外の場合、表示画面Sに表示されている画像全体を操作対象とすることができる。
これにより、ウィンドウWの移動イベントが発生した場合に、サーバ201との通信が一時的に切断されても、表示画面Sの表示内容を更新することができ、通信の不安定さをユーザに対して隠蔽することができる。また、ユーザが、ウィンドウWの移動操作をタッチ操作で行う場合に、画面全体の移動とウィンドウWの移動とを混乱せずにスムーズに操作することができる。
なお、本実施の形態で説明した画像処理方法、表示制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画像処理プログラム、表示制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本画像処理プログラム、表示制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記端末装置に送信し、
前記端末装置は、
前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納することを特徴とするシステム。
(付記2)前記情報処理装置は、
前記画面上での操作入力に応じて前記操作対象画像を移動させる移動イベントが発生した場合、前記操作対象画像の前記画面上での移動後の表示領域を表すイベント情報を前記端末装置に送信し、
前記端末装置は、
前記イベント情報を受信した場合、前記記憶領域に格納されている前記操作対象画像の画像データを、前記イベント情報から特定される前記移動後の表示領域に表示することを特徴とする付記1に記載のシステム。
(付記3)前記端末装置は、
前記イベント情報を受信した場合、前記表示領域において前記操作対象画像により非表示となっている非表示画像の画像データの送信要求を前記情報処理装置に送信し、
前記情報処理装置は、
前記送信要求を受信した場合、前記非表示画像の画像データを前記端末装置に送信し、
前記端末装置は、
前記非表示画像の画像データを受信した場合、前記表示領域に前記非表示画像の画像データを表示するとともに、前記移動後の表示領域に前記記憶領域に格納されている前記操作対象画像の画像データを表示することを特徴とする付記2に記載のシステム。
(付記4)前記端末装置は、
前記画面上のいずれかの点を指定する操作入力を受け付けた場合、前記操作対象情報または前記イベント情報に基づいて、前記いずれかの点が前記操作対象画像の表示領域内にあるか否かを判定し、
前記いずれかの点が前記操作対象画像の表示領域外の場合、前記画面に表示されている画像全体を操作対象とすることを特徴とする付記3に記載のシステム。
(付記5)ネットワークを介して情報処理装置と接続される端末装置において、
自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信する受信部と、
前記画面の画像データから、前記受信部によって受信された前記操作対象情報から特定される前記表示領域の画像データを抽出する抽出部と、
前記抽出部によって抽出された前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する格納部と、
を有することを特徴とする端末装置。
(付記6)ネットワークを介して情報処理装置と接続される端末装置が、
自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信し、
前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、
抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する、
処理を実行することを特徴とする画像処理方法。
100 システム
101 端末装置
102 情報処理装置
200 シンクライアントシステム
201 サーバ
202 クライアント装置
501,603 受信部
502,601 取得部
503 生成部
504,602 送信部
505 作成部
604 表示制御部
605 抽出部
606 格納部

Claims (3)

  1. ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
    前記情報処理装置は、
    前記端末装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記端末装置に送信し、
    前記端末装置は、
    前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記画面上での表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納し、
    前記情報処理装置は、
    前記画面上での操作入力に応じて前記操作対象画像を移動させる移動イベントが発生した場合、前記操作対象画像の前記画面上での移動後の表示領域を表すイベント情報を前記端末装置に送信し、
    前記端末装置は、
    前記イベント情報を受信した場合、前記画面上での表示領域において前記操作対象画像により非表示となっている非表示画像の画像データの送信要求を前記情報処理装置に送信し、
    前記情報処理装置は、
    前記送信要求を受信した場合、前記非表示画像の画像データを前記端末装置に送信し、
    前記端末装置は、
    前記非表示画像の画像データを受信した場合、前記画面上での表示領域に前記非表示画像の画像データを表示するとともに、前記記憶領域に格納されている前記操作対象画像の画像データを、前記イベント情報から特定される前記移動後の表示領域に表示し、
    前記画面上のいずれかの点を指定する操作入力を受け付けた場合、前記操作対象情報または前記イベント情報に基づいて、前記いずれかの点が前記操作対象画像の表示領域内にあるか否かを判定し、
    前記いずれかの点が前記操作対象画像の表示領域外であり、指定された前記いずれかの点から操作対象を移動させる操作入力が行われた場合、前記画面に表示されている画像全体を操作対象とし、当該操作入力に応じて当該操作対象を移動させることを特徴とするシステム。
  2. ネットワークを介して情報処理装置と接続される端末装置において、
    自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信する受信部と、
    前記画面の画像データから、前記受信部によって受信された前記操作対象情報から特定される前記画面上での表示領域の画像データを抽出する抽出部と、
    前記抽出部によって抽出された前記画面上での表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する格納部と、
    前記画面上での操作入力に応じて前記操作対象画像を移動させる移動イベントの発生によって前記情報処理装置から前記操作対象画像の前記画面上での移動後の表示領域を表すイベント情報が前記受信部によって受信された場合、前記画面上での表示領域において前記操作対象画像により非表示となっている非表示画像の画像データの送信要求を前記情報処理装置に送信する送信部と、
    前記送信要求に基づき前記情報処理装置から前記非表示画像の画像データが前記受信部によって受信された場合、前記画面上での表示領域に前記非表示画像の画像データを表示するとともに、前記記憶領域に格納されている前記操作対象画像の画像データを、前記イベント情報から特定される前記移動後の表示領域に表示する表示制御部と、
    を有し、
    前記表示制御部は、
    前記画面上のいずれかの点を指定する操作入力を受け付けた場合、前記操作対象情報または前記イベント情報に基づいて、前記いずれかの点が前記操作対象画像の表示領域内にあるか否かを判定し、
    前記いずれかの点が前記操作対象画像の表示領域外であり、指定された前記いずれかの点から操作対象を移動させる操作入力が行われた場合、前記画面に表示されている画像全体を操作対象とし、当該操作入力に応じて当該操作対象を移動させる
    ことを特徴とする端末装置。
  3. ネットワークを介して情報処理装置と接続される端末装置が、
    自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信し、
    前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記画面上での表示領域の画像データを抽出し、
    抽出した前記画面上での表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納し、
    前記画面上での操作入力に応じて前記操作対象画像を移動させる移動イベントの発生によって前記情報処理装置から前記操作対象画像の前記画面上での移動後の表示領域を表すイベント情報を受信した場合、前記画面上での表示領域において前記操作対象画像により非表示となっている非表示画像の画像データの送信要求を前記情報処理装置に送信し、
    前記送信要求に基づき前記情報処理装置から前記非表示画像の画像データを受信した場合、前記画面上での表示領域に前記非表示画像の画像データを表示するとともに、前記記憶領域に格納されている前記操作対象画像の画像データを、前記イベント情報から特定される前記移動後の表示領域に表示し、
    前記画面上のいずれかの点を指定する操作入力を受け付けた場合、前記操作対象情報または前記イベント情報に基づいて、前記いずれかの点が前記操作対象画像の表示領域内にあるか否かを判定し、
    前記いずれかの点が前記操作対象画像の表示領域外であり、指定された前記いずれかの点から操作対象を移動させる操作入力が行われた場合、前記画面に表示されている画像全体を操作対象とし、当該操作入力に応じて当該操作対象を移動させる
    処理を実行することを特徴とする画像処理方法。
JP2012213270A 2012-09-26 2012-09-26 システム、端末装置および画像処理方法 Active JP6221214B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012213270A JP6221214B2 (ja) 2012-09-26 2012-09-26 システム、端末装置および画像処理方法
US13/952,289 US20140089812A1 (en) 2012-09-26 2013-07-26 System, terminal apparatus, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012213270A JP6221214B2 (ja) 2012-09-26 2012-09-26 システム、端末装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2014067312A JP2014067312A (ja) 2014-04-17
JP6221214B2 true JP6221214B2 (ja) 2017-11-01

Family

ID=50340199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012213270A Active JP6221214B2 (ja) 2012-09-26 2012-09-26 システム、端末装置および画像処理方法

Country Status (2)

Country Link
US (1) US20140089812A1 (ja)
JP (1) JP6221214B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6379534B2 (ja) * 2014-03-11 2018-08-29 株式会社リコー 情報処理システム、クライアント装置、及び情報処理方法
JP6515787B2 (ja) * 2015-11-02 2019-05-22 富士通株式会社 仮想デスクトッププログラム、仮想デスクトップ処理方法、および仮想デスクトップシステム
US10540136B2 (en) * 2016-05-24 2020-01-21 Dell Products, L.P. Faster frame buffer rendering over a network
JP6809323B2 (ja) * 2017-03-21 2021-01-06 富士通株式会社 情報処理装置、情報処理システムおよび情報処理方法
JP6907888B2 (ja) * 2017-10-30 2021-07-21 富士通株式会社 情報処理システム、情報処理装置および情報処理プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4316295B2 (ja) * 2003-05-21 2009-08-19 株式会社エヌ・ティ・ティ・ドコモ シンクライアントシステム、シンクライアント端末機、中継装置、サーバ装置及びシンクライアント端末画面表示方法
JP2005228227A (ja) * 2004-02-16 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> シンクライアントシステム及びその通信方法
US7460134B2 (en) * 2004-03-02 2008-12-02 Microsoft Corporation System and method for moving computer displayable content into a preferred user interactive focus area
US7657837B2 (en) * 2005-04-06 2010-02-02 Ericom Software Ltd. Seamless windows functionality to remote desktop sessions regarding z-order
JP2008129954A (ja) * 2006-11-22 2008-06-05 Victor Co Of Japan Ltd サーバ装置及びクライアント装置
JP4998021B2 (ja) * 2007-03-08 2012-08-15 カシオ計算機株式会社 サーバ装置、クライアント装置及びプログラム
US8140610B2 (en) * 2007-05-31 2012-03-20 Microsoft Corporation Bitmap-based display remoting
US20080313545A1 (en) * 2007-06-13 2008-12-18 Microsoft Corporation Systems and methods for providing desktop or application remoting to a web browser
US8433812B2 (en) * 2008-04-01 2013-04-30 Microsoft Corporation Systems and methods for managing multimedia operations in remote sessions
US8176434B2 (en) * 2008-05-12 2012-05-08 Microsoft Corporation Virtual desktop view scrolling
US8266550B1 (en) * 2008-05-28 2012-09-11 Google Inc. Parallax panning of mobile device desktop
US20100031202A1 (en) * 2008-08-04 2010-02-04 Microsoft Corporation User-defined gesture set for surface computing
WO2011036733A1 (ja) * 2009-09-28 2011-03-31 株式会社 東芝 サーバ装置、及び画面転送システム
US8868642B2 (en) * 2010-07-08 2014-10-21 Red Hat Israel, Ltd. System and method for dynamically switching between mouse modes
US8866701B2 (en) * 2011-03-03 2014-10-21 Citrix Systems, Inc. Transparent user interface integration between local and remote computing environments
US8539338B2 (en) * 2011-04-11 2013-09-17 Microsoft Corporation Cooperative rendering cache for mobile browser
JP5223958B2 (ja) * 2011-10-19 2013-06-26 カシオ計算機株式会社 端末装置およびプログラム
US8681813B2 (en) * 2011-11-29 2014-03-25 Wyse Technology L.L.C. Bandwidth optimization for remote desktop protocol

Also Published As

Publication number Publication date
JP2014067312A (ja) 2014-04-17
US20140089812A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
US10592090B2 (en) Animations for scroll and zoom
WO2021035884A1 (zh) 投屏方法、装置、终端及存储介质
US9485290B1 (en) Method and system for controlling local display and remote virtual desktop from a mobile device
JP6221214B2 (ja) システム、端末装置および画像処理方法
US20120005630A1 (en) Highly Responsive Screen Output Device, Screen Output System, and Screen Output Method
CN108475221B (zh) 用于提供多任务处理视图的方法和装置
JP6089454B2 (ja) 画像配信装置、表示装置及び画像配信システム
US10432681B1 (en) Method and system for controlling local display and remote virtual desktop from a mobile device
EP3447626A2 (en) Display apparatus and control method thereof
JP5174616B2 (ja) 携帯電話
JP2008129954A (ja) サーバ装置及びクライアント装置
CN105320480B (zh) 屏幕播送方法以及使用该方法的系统与装置
KR20140028383A (ko) 사용자 단말 장치 및 그 제어 방법
US20230123119A1 (en) Terminal, control method therefor, and recording medium in which program for implementing method is recorded
JP4854797B2 (ja) プログラムおよび電子機器
US20160301736A1 (en) Systems and methods for providing remote access to an application
EP2816493A1 (en) Contents sharing service
JP2016151600A (ja) 端末装置、画面更新プログラム、画面更新方法及び情報処理システム
US9161009B2 (en) System, terminal device, and image capturing method
JP6259225B2 (ja) 電子機器およびこれに接続された携帯端末のジェスチャ認識操作方法、車載システム
WO2014049761A1 (ja) システム、情報処理装置および画像処理方法
JP5842804B2 (ja) 表示端末装置及びプログラム
KR102223553B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
US20230118567A1 (en) Camera user interface with recording space management
JP6146440B2 (ja) 表示端末装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170424

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: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R150 Certificate of patent or registration of utility model

Ref document number: 6221214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150