JP5949393B2 - システム、端末装置および画像取得方法 - Google Patents

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

Info

Publication number
JP5949393B2
JP5949393B2 JP2012213269A JP2012213269A JP5949393B2 JP 5949393 B2 JP5949393 B2 JP 5949393B2 JP 2012213269 A JP2012213269 A JP 2012213269A JP 2012213269 A JP2012213269 A JP 2012213269A JP 5949393 B2 JP5949393 B2 JP 5949393B2
Authority
JP
Japan
Prior art keywords
operations
image data
series
continuous
point
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
Application number
JP2012213269A
Other languages
English (en)
Other versions
JP2014067311A (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 JP2012213269A priority Critical patent/JP5949393B2/ja
Priority to US13/949,813 priority patent/US9161009B2/en
Publication of JP2014067311A publication Critical patent/JP2014067311A/ja
Application granted granted Critical
Publication of JP5949393B2 publication Critical patent/JP5949393B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、システム、端末装置および画像取得方法に関する。
シンクライアントシステムは、クライアントに最低限の機能しか持たせず、サーバでアプリケーションやデータを管理するシステムである。また、タブレット端末やスマートフォンなどの端末装置の普及にともなって、モバイル環境で社内のアプリケーションやデータをセキュアに利用する、いわゆるモバイルシンクライアントシステムのニーズが拡大している。
関連する先行技術としては、サーバが、端末装置から操作情報を受信し、受信した操作情報により生成された画面情報を動画像データとして符号化し、符号化された画面情報のフレームレートを変更するものがある。また、端末装置が、サーバから受信した画面情報を保持しており、サーバとの通信が切断されたと判定されている間は、保持しておいた画面情報を再現して端末装置のディスプレイに表示する技術がある。
特開2011−192229号公報 特開2007−34687号公報
しかしながら、従来技術によれば、タブレット端末等を用いてシンクライアントシステムを利用すると、サーバとの通信環境が不安定になり易く、ユーザの操作に追随する画面更新がとどこおる場合があり、ユーザの操作性が低下してしまうという問題がある。
1つの側面では、本発明は、ユーザの操作性の低下を防ぐシステム、端末装置および画像取得方法を提供することを目的とする。
本発明の一側面によれば、画面上で行われる一連の操作よりも前に画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、一連の操作の操作軌跡が連続的な操作の操作軌跡と連続性があり、かつ、一連の操作の操作軌跡の一部または全部が連続的な操作の操作軌跡と重なるか否かを判断し、一連の操作の操作軌跡が連続的な操作の操作軌跡と連続性があり、かつ、一連の操作の操作軌跡の一部または全部が連続的な操作の操作軌跡と重なると判断した場合、連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出するシステム、端末装置および画像取得方法が提案される。
本発明の一態様によれば、ユーザの操作性の低下を防ぐことができるという効果を奏する。
図1は、実施の形態にかかる画像取得方法の一実施例を示す説明図である。 図2は、シンクライアントシステムのシステム構成例を示す説明図である。 図3は、サーバのハードウェア構成例を示すブロック図である。 図4は、クライアント装置のハードウェア構成例を示すブロック図である。 図5は、サーバの機能構成例を示すブロック図である。 図6は、クライアント装置の機能構成例を示すブロック図である。 図7は、操作情報テーブルの構造例を示す説明図である。 図8は、操作情報テーブルの記憶内容の一例を示す説明図である。 図9は、画像データを記憶する場合のシンクライアントシステムの動作例を示す説明図である。 図10は、操作軌跡に連続性があり、かつ操作軌跡が重なるか否かを判断する処理の一例を示す説明図である。 図11は、操作軌跡に連続性があり、かつ操作軌跡が重なると判断した場合のシンクライアントシステムの動作例を示す説明図である。 図12は、操作軌跡に連続性がない、または操作軌跡が重ならないと判断した場合のシンクライアントシステムの動作例を示す説明図である。 図13は、サーバによる画像処理手順の一例を示すフローチャートである。 図14は、クライアント装置による画像取得処理手順の一例を示すフローチャート(その1)である。 図15は、クライアント装置による画像取得処理手順の一例を示すフローチャート(その2)である。 図16は、クライアント装置による画像取得処理手順の一例を示すフローチャート(その3)である。
以下に添付図面を参照して、開示のシステム、端末装置および画像取得方法の実施の形態を詳細に説明する。
(画像取得方法の一実施例)
図1は、実施の形態にかかる画像取得方法の一実施例を示す説明図である。図1において、システム100は、情報処理装置101と、端末装置102と、を含む。システム100は、例えば、端末装置102に最低限の機能しか持たせず、情報処理装置101でアプリケーションソフトウェアを実行したり、データを管理したりするシンクライアントシステムである。以下、アプリケーションソフトウェアを、「アプリ」と称する。
情報処理装置101は、ネットワークを介して端末装置102と通信可能なコンピュータである。また、情報処理装置101は、端末装置102の表示画面110に表示する画像の画像データを生成して、端末装置102に画像の画像データを送信する機能を有する。情報処理装置101は、例えば、サーバである。
画像は、例えば、端末装置102の要求に応じて情報処理装置101で実行されるアプリの実行結果を表示する画面の画像である。アプリは、例えば、設計支援ツールソフトウェア、プレゼンテーションソフトウェア、表計算ソフトウェア、電子メールソフトウェアなどである。画像データは、例えば、製図などに利用されるCAD(Computer Aided Design)データや商品のカタログデータ等がアプリによって実行された結果の画像を表すデータである。また、画像データは、画像データ1つ静止画像データでもよいし、画像データが複数有る動画像データでもよい。
端末装置102は、ネットワークを介して情報処理装置101と通信可能なコンピュータである。また、端末装置102は、表示画面110を有し、ユーザによる操作情報を情報処理装置101に送信し、情報処理装置101から受信した画像データに基づいて、表示画面110に画像を表示する機能を有する。端末装置102は、例えば、タブレット端末、ノートPC(Personal Computer)、スマートフォン、携帯電話機などである。また、操作情報は、表示画面110上で操作が行われた点の座標位置と、操作の種別を含む。操作情報の詳細については、図5にて後述する。
ここで、タブレット端末やノートPCなどでシンクライアントシステムを利用する場合、ネットワークの帯域幅が狭くサーバとの通信状態が不安定になりやすいため、タブレット端末やノートPCにおけるユーザの操作性が低下してしまう場合がある。例えば、サーバからタブレット端末へのデータ転送に時間がかかり、タブレット端末における操作に対するレスポンスが悪化してしまう場合がある。
また、画像の画質を落としてデータ量を減らし、画像データの転送時間を短縮化することも考えられるが、例えば、設計、製図などに利用されるCADデータなどの精細な画像を扱う場合、画質を落とすと設計や製図に支障をきたす恐れがある。このため、画質を落として画像データの転送時間を調整することが難しい。
そこで、実施の形態にかかる端末装置102は、ユーザが一連の操作を繰り返し行った場合、現在の一連の操作の操作軌跡が直前の操作軌跡と重なり、かつ現在の操作軌跡と、直前の操作軌跡に連続性があるか否かを判断する。操作軌跡が重なり、かつ連続性があれば、端末装置102は、直前の一連の操作時に表示した動画像データから現在の操作用の動画像データを生成する。これにより、端末装置102は、情報処理装置101と通信せずに、直前の動画像データ内の画像データを再利用して現在の操作用の動画像データを再生できるため、ユーザの操作性が向上する。
ここで、一連の操作は、ユーザが端末装置102に入力した操作であり、例えば、端末装置102にタッチパネルがあれば、タッチパネルにユーザの指等が触れてから、タッチパネルからユーザの指等が離れるまでのドラッグ操作となる。または、端末装置102がマウスを有している場合、一連の操作は、マウスのボタンが押下されてから、マウスのボタンが離れるまでのドラッグ操作となる。また、操作軌跡が重なり、かつ連続性があるか否かの判断については、図10にて後述する。
また、端末装置102が、ユーザによる一連の操作の操作情報を情報処理装置101に送信すると、端末装置102は、一連の操作に対応する動画像データを情報処理装置101から受信する。一連の操作に対応する動画像データは、例えば、設計支援ツールソフトウェア上で表示している3D(3 Dimensions)オブジェクトが回転する動画像データである。
図1の(A)では、1回目の一連の操作軌跡の例を示しており、図1の(B)では、2回目の一連の操作軌跡の例を示している。図1の(A)および図1の(B)では、情報処理装置101が設計支援ツールソフトウェアを実行しており、端末装置102は、情報処理装置101にアクセスする。
端末装置102は、ユーザによる操作情報を取得する度に、情報処理装置101に送信する。図1の(A)にて、端末装置102は、ユーザによる一連の操作の操作軌跡L1を表す始点S1から終点E1までの各点の操作情報を取得すると、操作軌跡L1を表す各点の操作情報を情報処理装置101に送信する。情報処理装置101は、受信した操作情報を基に動画像データM1を生成し、動画像データM1を端末装置102に送信する。具体的な動画像データの生成方法については、図5にて後述する。
動画像データM1は、次の4つの画像データF1〜画像データF4を含む。画像データF1は、ユーザによるドラッグ操作の開始位置となる始点S1での表示画面110に表示する画像データである。画像データF2は、ユーザによるドラッグ操作が点P1−1に到達した際の画像データである。画像データF3は、ユーザによるドラッグ操作が点P1−2に到達した際の画像データである。画像データF4は、ユーザによるドラッグ操作の終了位置となる終点E1に到達した際の画像データである。
動画像データM1を受信した端末装置102は、画像データF1〜画像データF4と操作軌跡L1の座標位置とを対応付けて端末装置102のテーブル103に格納するとともに、動画像データM1を表示画面110上で再生する。動画像データM1を再生することにより、ユーザは、一連の操作の操作軌跡L1による結果を確認することができる。なお、端末装置102は、操作軌跡L1を表す各点の座標位置と画像データを対応付けてテーブル103に格納してもよいし、操作軌跡L1を表す各点のうちの一部の点の座標位置と画像データとを対応付けてテーブル103に格納してもよい。操作軌跡L1を表す各点のうちの一部の点を、表示画面110で行われた「連続的な操作の操作軌跡」と呼称する場合がある。
次に、ユーザによる操作軌跡L1の入力後、図1の(B)にて、端末装置102は、ユーザによる一連の操作の操作軌跡L2を表す始点S2からE2までの各点の操作情報を取得する。そして、端末装置102は、テーブル103を参照して、一連の操作の操作軌跡L2が連続的な操作の操作軌跡L1と連続性があり、かつ、一連の操作の操作軌跡L2の一部または全部が連続的な操作の操作軌跡L1と重なるか否かを判断する。
図1の(B)の例では、端末装置102は、操作軌跡L2が操作軌跡L1と連続性があり、かつ、操作軌跡L2の全部が操作軌跡L1と重なると判断したとする。具体的に、操作軌跡L2の始点S2が操作軌跡L1の終点E1に対応し、操作軌跡L2の点P2−1が操作軌跡L1の点P1−2に対応し、操作軌跡L2の終点E2が操作軌跡L1の点P1−1に対応したとする。この場合、端末装置102は、操作軌跡L1の各点の座標位置に対応付けられた画像データF1〜画像データF4のうちの、操作軌跡L2を表す各点の座標位置に対応する画像データを抽出する。図1の(B)の例では、端末装置102は、画像データF2〜画像データF4を抽出する。
抽出後、端末装置102は、画像データF4、画像データF3、画像データF2の順となる動画像データM2を生成して、動画像データM2を表示画面110上で再生する。動画像データM2を再生することにより、ユーザは、一連の操作の操作軌跡L2による結果を確認することができる。さらに、端末装置102は、通信環境に影響せずに動画像データM2を生成して、表示画面110に動画像データM2を表示するため操作性を向上させることができる。
(シンクライアントシステムのシステム構成例)
次に、図1に示したシステム100をシンクライアントシステムに適用した場合について説明する。
図2は、シンクライアントシステムのシステム構成例を示す説明図である。図2において、シンクライアントシステム200は、サーバ201と、複数のクライアント装置202(図2の例では、3台)とを含む。シンクライアントシステム200において、サーバ201およびクライアント装置202は、ネットワーク210を介して通信可能に接続されている。ネットワーク210は、例えば、移動体通信網(携帯電話網)やインターネットなどである。
シンクライアントシステム200は、クライアント装置202が表示する画面をリモートでサーバ201に制御させる。シンクライアントシステム200によれば、実際にはサーバ201が実行した処理結果や保持するデータをクライアント装置202に表示させる。これにより、シンクライアントシステム200は、あたかもクライアント装置202が主体となって処理を実行したり、データを保持したりしているかのように振る舞うことができる。
サーバ201は、クライアント装置202に表示する画面をリモートで制御するリモート画面制御サービスを提供するコンピュータである。サーバ201は、図1に示した情報処理装置101に相当する。クライアント装置202は、サーバ201からリモート画面制御サービスの提供を受けるコンピュータである。クライアント装置202は、図1に示した端末装置102に相当する。
(サーバ201のハードウェア構成例)
図3は、サーバのハードウェア構成例を示すブロック図である。図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は、クライアント装置のハードウェア構成例を示すブロック図である。図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)液晶ディスプレイなどを採用することができる。ディスプレイ407は、例えば、図1に示した表示画面110を有する。
タッチパネル408は、ユーザによるタッチ操作やドラッグ操作を検出する。なお、図4に示したクライアント装置202は、タブレット端末を想定している。クライアント装置202がパーソナル・コンピュータであれば、クライアント装置202は、キーボード、マウス等を有していてもよい。
(サーバ201の機能構成)
次に、サーバ201の機能について説明する。図5は、サーバの機能構成例を示すブロック図である。サーバ201は、受信部501と、決定部502と、符号化部503と、送信部504と、を含む。制御部となる受信部501〜送信部504は、記憶装置に記憶されたプログラムをCPU301が実行することにより、受信部501〜送信部504の機能を実現する。記憶装置とは、具体的には、例えば、図3に示したメモリ302、磁気ディスク305などである。
受信部501は、クライアント装置202から操作情報を受信する。例えば、ユーザによる操作情報を受信する。操作情報は、表示画面110上で操作が行われた点の座標位置と、操作の種別を含む。操作が行われた点の座標位置は、原点からの絶対座標でもよいし、1つ前の操作が行われた点の座標位置からの相対座標でもよい。操作の種別は、例えば、タッチパネル408にユーザの指等が触れたという操作、タッチパネル408にユーザの指等が触れ続けているという操作、タッチパネル408からユーザの指等が離れたという操作である。また、クライアント装置202がマウスを有する場合、操作の種別は、例えば、マウスのボタンが押下されたという操作、マウスのボタンが押下され続けているという操作、マウスのボタンが離れたという操作、等である。受信した操作情報は、メモリ302、磁気ディスク305等の記憶装置に記憶される。
決定部502は、受信部501によって受信された操作情報が入力されたアプリによって更新された表示画面110の表示内容となる画像データの更新される差分領域のうちの、更新が多い領域を動画化領域に決定する。なお、画像データは、フレームバッファに格納される。フレームバッファは、表示画面110に表示する1フレーム分の画像データを一時的に保存する記憶領域である。具体的な決定方法については、図9にて後述する。なお、決定結果は、メモリ302、磁気ディスク305等の記憶装置に記憶される。
符号化部503は、決定部502によって決定された画像データを符号化する。具体的に、符号化部503は、決定部502によって動画化領域に決定された領域を、動画像データのフォーマットに従って符号化して、動画像データを生成する。また、符号化部503は、決定部502によって動画化領域に決定されなかった領域を、静止画像データのフォーマットに従って符号化して、静止画像データを生成する。符号化されたデータは、メモリ302、磁気ディスク305等の記憶装置に記憶される。送信部504は、符号化されたデータを、ネットワーク210を経由してクライアント装置202に送信する。
(クライアント装置202の機能構成)
次に、クライアント装置202の機能について説明する。図6は、クライアント装置の機能構成例を示すブロック図である。クライアント装置202は、取得部601と、判断部602と、抽出部603と、表示制御部604と、送信部605と、送信制御部606と、受信部607と、格納部608とを含む。制御部となる取得部601〜格納部608は、記憶装置に記憶されたプログラムをCPU401が実行することにより、取得部601〜格納部608の機能を実現する。記憶装置とは、具体的には、例えば、図4に示したRAM403、磁気ディスク405などである。
また、クライアント装置202は、操作情報テーブル611にアクセス可能である。操作情報テーブル611は、図1に示したテーブル103に相当する。操作情報テーブル611は、画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶する。連続的な操作の操作軌跡とは、一連の操作の操作軌跡の一部分である。操作情報テーブル611の詳細は、図7にて後述する。また、操作情報テーブル611は、RAM403、磁気ディスク405等といった記憶領域にある。
取得部601は、表示画面110上で操作が行われた点の座標位置を含む操作情報を取得する。例えば、取得部601は、操作軌跡L2の始点S2の座標位置と、タッチパネル408の始点S2にてユーザの指等が触れたという操作の種別を含む操作情報を取得する。なお、取得した操作情報は、RAM403、磁気ディスク405等といった記憶領域に記憶される。
判断部602は、操作情報テーブル611を参照して、一連の操作の操作軌跡L2が連続的な操作の操作軌跡L1と連続性があり、かつ、一連の操作の操作軌跡L2の一部または全部が連続的な操作の操作軌跡L1と重なるか否かを判断する。ここで、操作情報テーブル611には、画面上で行われる一連の操作よりも前に画面上で行われた連続的な操作の操作軌跡L1を表す始点S1から終点E1までの各点の座標位置と画像データとが対応付けて記憶されている。具体的な判断方法は、図10にて後述する。なお、判断結果は、RAM403、磁気ディスク405等といった記憶領域に記憶される。
抽出部603は、判断部602が次に記載する場合であると判断した場合、連続的な操作の操作軌跡L1を表す各点の座標位置に対応付けられた画像データのうちの、一連の操作の操作軌跡L2を表す各点の座標位置に対応する画像データを抽出する。判断部602が判断した次に記載する場合とは、一連の操作の操作軌跡L2が連続的な操作の操作軌跡L1と連続性があり、かつ、一連の操作の操作軌跡L2の一部または全部が連続的な操作の操作軌跡L1と重なる場合である。なお、抽出結果は、RAM403、磁気ディスク405等といった記憶領域に記憶される。
表示制御部604は、一連の操作の操作順序に従って、抽出部603によって抽出された一連の操作の操作軌跡L2を表す各点の座標位置に対応する画像データを表示画面110に順次表示する。例えば、抽出部603が、それぞれ操作軌跡L1の点P1−1の座標位置、点P1−2の座標位置、終点E1の座標位置に対応する画像データF2〜画像データF4を抽出したとする。対応する点の具体例として、操作軌跡L2の始点S2が操作軌跡L1の終点E1に対応し、操作軌跡L2の点P2−1が操作軌跡L1の点P1−2に対応し、操作軌跡L2の終点E2が操作軌跡L1の点P1−1に対応したとする。このとき、表示制御部604は、始点S2に対応する画像データF4、点P2−1に対応する画像データF3、終点E2に対応する画像データF2の順に表示画面110に表示する。
また、表示制御部604は、判断部602が次に記載する場合であると判断した場合、表示画面110上で行われた一連の操作の操作順序に従って、一連の操作の各々の操作情報がサーバ201に送信された結果受信された画像データを画面に順次表示してもよい。判断部602が判断した次に記載する場合とは、一連の操作の操作軌跡L2が連続的な操作の操作軌跡L1と連続性がない、または、一連の操作の操作軌跡L2の一部または全部が連続的な操作の操作軌跡L1と重ならないと判断された場合である。
送信部605は、取得部601によって取得された操作情報をサーバ201に送信する。また、送信部605は、複数の操作情報を一括してサーバ201に送信してもよい。
送信制御部606は、判断部602が次に記載する場合と判断した場合、送信部605による操作情報の送信を停止させる。判断部602が判断した次に記載する場合とは、一連の操作の操作軌跡L2が連続的な操作の操作軌跡L1と連続性があり、かつ、一連の操作の操作軌跡L2の全部が連続的な操作の操作軌跡L1と重なると判断した場合である。
受信部607は、送信部605によって操作情報がサーバ201に送信された結果、サーバ201から表示画面110に表示する画像データを受信する。例えば、始点S1の座標位置と、始点S1で行われた操作の種別とを含む操作情報がサーバ201に送信された結果、受信部607は、表示画面110に表示する画像データF1を受信する。なお、受信した画像データは、RAM403、磁気ディスク405等といった記憶領域に記憶される。
格納部608は、表示画面110上で行われた連続的な操作の各々の操作情報に含まれる点の座標位置と、各々の操作情報がサーバ201に送信された結果受信された画像データとを対応付けて操作情報テーブル611に格納する。例えば、格納部608は、始点S1の座標位置と画像データF1とを対応付けて操作情報テーブル611に格納する。
図7は、操作情報テーブルの構造例を示す説明図である。操作情報テーブル611は、操作情報群701を含む。図7に示す操作情報テーブル611は、操作情報群701−a、操作情報群701−bを含む。操作情報群701は、始点を有する操作情報1つと終点を有する操作情報1つとを含む。操作情報は、操作軌跡内の一つの点の位置情報を有する。
操作情報は、始点を有する親操作情報711と、始点以外を有する子操作情報712との2種類がある。図7では、操作情報群701−aは、親操作情報711−a、親操作情報711−aに対応付いた子操作情報712−a−1、子操作情報712−a−1に対応付いた子操作情報712−a−2、…、を含む。また、操作情報群701−bは、親操作情報711−b、…を含む。
具体的に、親操作情報711は、操作方向ID、始点位置、サブ領域、子操作情報ポインタ、画像サイズ、画像ポインタという6つのフィールドを含む。操作方向IDフィールドには、タッチパネルによる操作位置やカーソルの操作位置の移動方向が格納される。例えば、操作方向が左から右である場合、操作方向IDフィールドには、識別子“1”が格納される。また、操作方向が右から左である場合、操作方向IDフィールドには、識別子“2”が格納される。同様に、操作方向が上から下である場合、操作方向IDフィールドには、識別子“3”が格納される。同様に、操作方向が下から上である場合、操作方向IDフィールドには、識別子“4”が格納される。
始点位置フィールドには、操作軌跡の始点の位置情報が格納される。サブ領域フィールドには、該当の操作情報の位置情報が含まれるサブ領域の座標情報が格納される。サブ領域は、2つの位置情報が対応すると判断するために用いられる領域であり、具体的には、クライアント装置202のディスプレイ407を所定の画素数で分割した領域である。所定の画素数は、シンクライアントシステム200の開発者によって設定された値であり、例えば、16[画素]である。以下、ディスプレイ407の座標を、(x,y)で表現し、サブ領域の座標を、(i,j)で表す。
子操作情報ポインタフィールドには、次の子操作情報へのポインタが格納される。具体的に、操作情報ポインタフィールドには、一連の操作内のうち、次の点の操作情報へのアドレスの値が格納される。画像サイズフィールドには、該当の操作情報に対応付けられた画像データのサイズが格納される。画像ポインタフィールドには、該当の操作情報に対応付けられた画像データへのポインタが格納される。また、画像データが動画像データである場合、画像ポインタフィールドには、動画像データ内の、該当の操作情報に対応付けられた画像データへのポインタが格納されていてもよい。または、画像ポインタフィールドには、動画像データへのポインタと、該当の操作情報に対応付けられた動画像データ内の画像データへのフレーム数が格納されてもよい。
子操作情報712は、操作位置、サブ領域、子操作情報ポインタ、画像サイズ、画像ポインタという5つのフィールドを含む。サブ領域〜画像ポインタの各フィールドは、親操作情報711の同名のフィールドと同じ情報が格納されるので、説明を省略する。操作位置フィールドは、操作軌跡の点の位置情報が格納される。
操作情報に含まれる操作の種別については、親操作情報711は、始点位置フィールドと、子操作情報ポインタフィールドによって示されており、また、子操作情報712は、子操作情報ポインタフィールドによって示されている。例えば、タッチパネル408にユーザの指等が触れたという操作の種別は、操作軌跡の始点を表しており、始点位置フィールドを有する親操作情報711によって示される。
また、タッチパネル408にユーザの指等が触れ続けているという操作の種別は、子操作情報ポインタフィールドに子操作情報712のアドレスの値が格納されていることによって示される。また、操作情報は、タッチパネル408にユーザの指等が触れ続けているというドラッグ操作の途中にサーバ201に送信されてもよく、送信時点では、次の子操作情報712がない場合も有り得る。この場合、子操作情報ポインタフィールドには、例えば“ドラッグ中”ということを表す識別情報を格納しておけば、サーバ201は、“ドラッグ中”ということを表す識別情報を検出したら、ドラッグ操作の途中であることを判断することができる。
また、タッチパネル408からユーザの指等が離れたという操作の種別は、操作軌跡の終点を表しており、例えば、親操作情報711と子操作情報712が、操作軌跡の終点か否かを表す識別子を格納するフィールドを有することによって示されてもよい。または、タッチパネル408からユーザの指等が離れたという操作の種別は、子操作情報ポインタフィールドに何のデータも含まれていないことを示す“NULL”が格納されていることにより示されてもよい。次に、図8を用いて、操作情報テーブル611の記憶内容について説明する。
図8は、操作情報テーブルの記憶内容の一例を示す説明図である。図8では、操作情報テーブル611に含まれる、一連の操作の操作軌跡における操作情報群701−aを図示している。クライアント装置202は、左上の点P(0,0)を基点として、ディスプレイ407の表示画面110を16[画素]ごとに分割したサブ領域群801を定義する。なお、図8では、説明の簡略化のため、データに付与した符号を、データが格納されているアドレスとして用いる場合がある。
操作情報群701−aは、始点S1から、点P1−1、点P1−2を経由して終点E1までの操作軌跡についての情報を表す。以下、操作情報群701−aに含まれる、始点S1についての情報となる親操作情報711−aについて説明する。操作方向IDフィールドには、始点S1から終点E1までの操作軌跡が左から右であるため、識別子“1”が格納される。また、始点位置フィールド(x,y)には、(30,45)が格納される。また、サブ領域フィールド(i,j)には、始点S1が含まれるサブ領域(2,3)が格納される。子操作情報ポインタフィールドには、次の子操作情報712のポインタとなる“712−a−1”が格納される。
画像サイズフィールドには、始点S1に対応付けられた画像データF1のサイズとして、(320,240)が格納される。画像ポインタフィールドには、始点S1に対応付けられた、横320[画素]、縦240[画素]の画像データF1のポイントとなる“F1”が格納されている。
同様に、操作情報群701−aは、点P1−1についての情報である子操作情報712−a−1と、点P1−2についての情報である子操作情報712−a−2と、終点E1についての情報である子操作情報712−a−3を含む。子操作情報712−a−1〜子操作情報712−a−3については、親操作情報711−aとほぼ同一の説明となるため、説明を省略する。子操作情報712−a−3の子操作情報ポインタフィールドには、“NULL”が格納されているため、子操作情報712−a−3が操作軌跡の終点についての情報であることを示す。
また、画像データF1と、点P1−1に対応付いた画像データF2と、点P1−2に対応付いた画像データF3と、終点E1に対応付いた画像データF4は、クライアント装置202のRAM403、磁気ディスク405内にある。次に、図9〜図12を用いて、実施の形態のシンクライアントシステム200が、画像処理を実行しているときの動作例を示す。
図9は、画像データを記憶する場合のシンクライアントシステムの動作例を示す説明図である。クライアント装置202のディスプレイ407は、アプリAの実行結果を表示するウィンドウ901Aと、アプリBの実行結果を表示するウィンドウ901Bと、を表示する。この状態で、ウィンドウ901Aにて、ユーザによる操作が行われたとする。具体的に、ユーザは、アプリA内のオブジェクトを回転させる操作軌跡L1を描くドラッグ操作を行ったとする。このとき、クライアント装置202は、操作軌跡L1の各点の座標位置を含む操作情報群701をサーバ201に送信する。
サーバ201は、操作情報群701に基づいて更新されたフレームバッファ902の画像データのうちの、更新が多い領域を動画化領域に決定し、決定した領域を圧縮方式のデータに圧縮する。更新が多い領域として、例えば、サーバ201は、変更の頻度が閾値を超えた領域を更新が多い領域として特定する。次に、サーバ201は、更新された画像データとして、動画像データや静止画像データを送信する。更新された画像データは、動画像データと静止画像データ両方である可能性もあるし、動画像データまたは静止画像データのいずれか一方である可能性もある。図9の例では、サーバ201は、ウィンドウ901Aの領域を、動画化領域に決定する。
画像データが静止画像データの場合、静止画像データのフォーマットは、JPEG(Joint Photographic Experts Group)、GIF(Graphic Interchange Format)、PNG(Portable Network Graphics)等を採用することができる。また、更新画像が動画像データの場合、動画像データのフォーマットは、MPEG(Moving Picture Experts Group)等を採用することができる。
なお、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに符号化してクライアント装置202に送信する技術については、例えば、参考文献として、特開2011−238014号公報を参照することができる。
画像データを受信したクライアント装置202は、画像データF1、画像データF2、画像データF3、画像データF4を含む動画像データM1を受信する。実施の形態のクライアント装置202は、動画像データM1を受信したときに、動画像データM1をRAM403、磁気ディスク405といった記憶装置に格納するとともに、操作軌跡L1の各点と動画像データ内の画像データを対応付ける。静止画像データを受信したときには、クライアント装置202は、静止画像データを記憶装置に格納しない。この理由は、参考文献として挙げた技術を採用する場合、動画像データが矩形領域で送られてくるため、更新された領域が管理しやすいためである。クライアント装置202は、静止画像データを記憶装置に格納するとともに、操作軌跡の各点と静止画像データを対応付けてもよい。
次に、さらに一連の操作を検出したときに、クライアント装置202は、直前の一連の操作が一連の操作と連続性があり、かつ記憶した直前の一連の操作の操作軌跡と検出した一連の操作の操作軌跡が重なるか否かを判断する処理を実行する。操作軌跡に連続性があり、かつ操作軌跡が重なるか否かを判断する処理の一例について、図10を用いて説明する。また、以下、「直前の一連の操作の操作軌跡」を、「直前の操作軌跡」と呼称する場合がある。また、「検出した一連の操作の操作軌跡」を、「現在の操作軌跡」と呼称する場合がある。
図10は、操作軌跡に連続性があり、かつ操作軌跡が重なるか否かを判断する処理の一例を示す説明図である。クライアント装置202は、操作軌跡に連続性があるかについてと操作軌跡が重なるかについて、3つの条件を満たすか否かを判断する。1つ目の条件として、クライアント装置202は、直前の操作軌跡L1の終点E1が含まれるサブ領域に、現在の操作軌跡L2の始点S2が含まれるか否かを判断する。図10の例では、終点E1と始点S2が含まれるサブ領域が共に(i,j)=(5,2)であるため、クライアント装置202は、終点E1が含まれるサブ領域に、現在の操作軌跡L2の始点S2が含まれると判断する。
さらに、クライアント装置202は、2つ目の条件として、直前の一連の操作の方向と、一連の操作の方向が逆方向であるか否かを判断する。図10の例では、直前の一連の操作の方向が左から右であり、一連の操作の方向が右から左であるため、クライアント装置202は、直前の一連の操作の方向と、一連の操作の方向が逆方向であると判断する。1つ目と2つ目の条件とを満たした場合、クライアント装置202は、一連の操作軌跡が直前の操作軌跡と連続性があると判断する。
続けて、クライアント装置202は、3つ目の条件として、現在の操作軌跡L2を表す各点が、直前の操作軌跡L1を表すいずれかの点が含まれるサブ領域に含まれるか否かを判断する。図10の例では、始点S2が、終点E1が含まれるサブ領域(5,2)に含まれており、点P2−1が、点P1−2が含まれるサブ領域(4,3)に含まれており、終点E2が、点P1−1が含まれるサブ領域(3,3)に含まれている。従って、クライアント装置202は、現在の操作軌跡L2を表す各点が、直前の操作軌跡L1を表すいずれかの点が含まれるサブ領域に含まれると判断する。3つ目の条件を満たした場合、クライアント装置202は、現在の操作軌跡と直前の操作軌跡とが重なったと判断する。
3つの条件全てを満たした場合、クライアント装置202は、操作軌跡に連続性があり、かつ操作軌跡が重なると判断する。このとき、クライアント装置202は、直前の操作軌跡L1の各点に対応付けられた動画像データM1内の画像データのうち、現在の操作軌跡L2を表す各点に対応する画像データを抽出して、動画像データM2を生成する。次に、図11を用いて、3つの条件全てを満たした場合のシンクライアントシステム200の動作について説明する。さらに、図12を用いて、3つの条件のいずれかを満たさなかった場合のシンクライアントシステム200の動作について説明する。
図11は、操作軌跡に連続性があり、かつ操作軌跡が重なると判断した場合のシンクライアントシステムの動作例を示す説明図である。クライアント装置202は、操作軌跡に連続性があり、かつ操作軌跡が重なると判断した場合、直前の操作軌跡L1の各点に対応付けられた画像データのうち、現在の操作軌跡L2を表す各点に対応する画像データを抽出する。図11の例では、クライアント装置202は、画像データF1〜画像データF4のうちの、画像データF2〜画像データF4を抽出する。続けて、クライアント装置202は、画像データF2〜画像データF4から、動画像データM1の再生順序とは逆の順序で動画像データM2を生成し、ディスプレイ407のウィンドウ901Aで動画像データM2を再生する。具体的に、クライアント装置202は、画像データF4、画像データF3、画像データF2、の順にウィンドウ901Aに表示する。
図12は、操作軌跡に連続性がない、または操作軌跡が重ならないと判断した場合のシンクライアントシステムの動作例を示す説明図である。クライアント装置202は、操作軌跡に連続性がない、または操作軌跡が重ならないと判断した場合、操作情報群701をサーバ201に送信し、サーバ201から更新された画像データを受信して、ディスプレイ407に表示する。
また、クライアント装置202は、直前の操作軌跡L1の各点に対応付けられた画像データのうち、始点S3から始まる現在の操作軌跡L3のうちの操作軌跡L1から外れない点に対応する画像データを抽出してもよい。
図12の例では、クライアント装置202は、画像データF1〜画像データF4から、画像データF3、画像データF4を抽出して、動画像データM3を生成し、動画像データM3内の画像データF4、画像データF3の順に表示する。また、クライアント装置202は、現在の操作軌跡L3のうちの直前の操作軌跡L1から外れた終点E3に対応する画像データを取得するため、終点E3の位置情報を含む操作情報を含む操作情報群701をサーバ201に送信する。サーバ201は、終点E3の位置情報に対応する画像データF5をクライアント装置202に送信する。クライアント装置202は、画像データF3の表示後に、画像データF5を表示する。
次に、図9〜図12に示した動作を行うフローチャートについて、図13〜図16を用いて説明する。図13では、サーバ201による画像処理のフローチャートについて説明し、図14〜図16では、クライアント装置202による画像処理のフローチャートについて説明する。
図13は、サーバによる画像処理手順の一例を示すフローチャートである。サーバによる画像処理は、クライアント装置202からの操作情報群701に基づいて、クライアント装置202に送信する画像データを更新してクライアント装置202に送信する処理である。サーバ201は、クライアント装置202から操作情報群701を受信する(ステップS1301)。操作情報群701は、1つの操作情報でもよいし、複数の操作情報でもよい。
次に、サーバ201は、操作情報群701をアプリに通知する(ステップS1302)。続けて、サーバ201は、操作情報群701を受けたアプリにより、フレームバッファ902に操作情報群701を反映した画像データを書き込む(ステップS1303)。続けて、サーバ201は、フレームバッファ902から画像データを取得する(ステップS1304)。なお、複数の操作情報を含む操作情報群701を受信した場合、サーバ201は、操作情報群701の各操作情報の画像データを取得してもよいし、操作情報群701を全てアプリに通知した後の画像データを取得してもよい。
次に、サーバ201は、画像データが更新したか否かを判断する(ステップS1305)。画像データが更新したか否かを判断する手順の一つとして、例えば、サーバ201は、1つ前の画像データを保持しておき、1つ前の画像データとステップS1304の処理にて取得した画像データを比較することにより、画像データが更新したか否かを判断する。また、ステップS1304の処理にて複数の画像データを取得している場合、サーバ201は、取得した複数の画像データ間で、更新したか否かを判断してもよい。
画像データが更新した場合(ステップS1305:Yes)、サーバ201は、動画化領域を決定する(ステップS1306)。動画化領域の決定方法は、例えば、上述した参考文献によって決定する。次に、サーバ201は、動画化領域が含まれるか否かを判断する(ステップS1307)。動画化領域が含まれる場合(ステップS1307:Yes)、サーバ201は、取得した画像データを動画像フォーマットに従って符号化した動画像データをクライアント装置202に送信する(ステップS1308)。
送信する動画像データとしてMPEG方式のデータに符号化する場合、サーバ201は、フレーム間予測を行わないIピクチャとして画像データを符号化してもよいし、前の画像データを用いてフレーム間予測を行うPピクチャとして画像データを符号化してもよい。また、ステップS1304の処理にて複数の画像データを取得している場合、サーバ201は、Iピクチャ、Pピクチャ、または、前後の画像データを用いてフレーム間予測を行うBピクチャとして複数の画像データの各々の画像データを符号化してもよい。
動画化領域が含まれない場合(ステップS1307:No)、サーバ201は、取得した画像データを静止画像フォーマットに従って符号化した静止画像データをクライアント装置202に送信する(ステップS1309)。
ステップS1308の処理後、ステップS1309の終了後、または画像データが更新していない場合(ステップS1305:No)、サーバ201は、サーバによる画像処理を終了する。サーバによる画像処理を実行することにより、シンクライアントシステム200は、画像データの更新内容に応じて適切な画像フォーマットで更新された画像データを送信することができる。
図14は、クライアント装置による画像取得処理手順の一例を示すフローチャート(その1)である。クライアント装置による画像取得処理は、ユーザによる操作入力を検出して、画像データを取得して表示する処理である。クライアント装置202は、ユーザによる操作入力を検出する(ステップS1401)。次に、クライアント装置202は、ユーザによる一連の操作の操作軌跡の始点を検出したか否かを判断する(ステップS1402)。
一連の操作の操作軌跡の始点を検出する手順として、クライアント装置202は、例えば、操作中フラグがオフであるときに、タッチパネル408にユーザの指等が触れたという通知を検出した場合、一連の操作の操作軌跡の始点を検出したと判断する。また、クライアント装置202がマウスを有している場合、クライアント装置202は、操作中フラグがオフであるときに、マウスのボタンが押下されたという通知を検出した場合、一連の操作の操作軌跡の始点を検出したと判断する。
ユーザによる一連の操作の操作軌跡の始点を検出していない場合(ステップS1402:No)、クライアント装置202は、始点位置と現在の操作位置とから、操作方向IDを決定する(ステップS1403)。ステップS1402:Noとなる場合、クライアント装置202は、操作軌跡を表す始点以外の点を検出した場合となる。
次に、クライアント装置202は、親操作情報711の操作方向フィールドに、決定した操作方向IDを記録する(ステップS1404)。続けて、クライアント装置202は、子操作情報712を生成する(ステップS1405)。次に、クライアント装置202は、現在の操作位置を、生成した子操作情報712の始点位置フィールドに記録する(ステップS1406)。続けて、クライアント装置202は、操作情報の子操作情報ポインタフィールドに、生成した子操作情報712へのアドレスを記録する(ステップS1407)。
次に、クライアント装置202は、現在の操作軌跡が直前の操作軌跡と連続性があり、かつ、現在の操作軌跡の一部または全部が直前の操作軌跡と重なるか否かを判断する(ステップS1408)。現在の操作軌跡が直前の操作軌跡と連続性がない、または、現在の操作軌跡が直前の操作軌跡と重ならない場合(ステップS1408:No)、クライアント装置202は、図15で示すステップS1501の処理に移行する。現在の操作軌跡が直前の操作軌跡と連続性があり、かつ、現在の操作軌跡の一部または全部が直前の操作軌跡と重なる場合(ステップS1408:Yes)、クライアント装置202は、図16で示すステップS1601の処理に移行する。
ユーザによる一連の操作の操作軌跡の始点を検出した場合(ステップS1402:Yes)、クライアント装置202は、親操作情報711を生成する(ステップS1409)。次に、クライアント装置202は、現在の操作位置を、始点位置として親操作情報711の始点位置フィールドに記録する(ステップS1410)。続けて、クライアント装置202は、操作中フラグをオンに設定する(ステップS1411)。
次に、クライアント装置202は、始点位置が、直前の操作軌跡の終点と同一のサブ領域に含まれるか否かを判断する(ステップS1412)。始点位置が、直前の操作軌跡の終点と同一のサブ領域に含まれる場合(ステップS1412:Yes)、クライアント装置202は、図16で示すステップS1601の処理に移行する。また、始点位置が、直前の操作軌跡の終点と同一のサブ領域に含まれない場合(ステップS1412:No)、クライアント装置202は、図15で示すステップS1501の処理に移行する。
図15は、クライアント装置による画像取得処理手順の一例を示すフローチャート(その2)である。ステップS1408:No、またはステップS1412:Noとなった場合、クライアント装置202は、操作情報群701をサーバ201に送信する(ステップS1501)。次に、クライアント装置202は、サーバ201から画像データを受信したか否かを判断する(ステップS1502)。サーバ201から画像データを受信した場合(ステップS1502:Yes)、クライアント装置202は、画像データが動画像データか否かを判断する(ステップS1503)。
画像データが動画像データである場合(ステップS1503:Yes)、クライアント装置202は、操作情報内の操作位置を含むサブ領域と動画像データ内の画像データを対応付ける(ステップS1504)。例えば、ステップS1501の処理にて、操作情報群701に含まれる操作情報が、図8に示したような親操作情報711−aと、子操作情報712−a−1〜子操作情報712−a−3であったとする。さらに、受信した動画像データが4つの画像データを含むものとする。
このとき、ステップS1504の処理にて、クライアント装置202は、1つ目の画像データを親操作情報711−aに対応付ける。続けて、クライアント装置202は、2つ目の画像データを子操作情報712−a−1に対応付け、3つ目の画像データを子操作情報712−a−2に対応付け、4つ目の画像データを子操作情報712−a−3に対応付ける。また、具体的な対応付けの処理として、クライアント装置202は、例えば、各画像データのアドレスを、親操作情報711、子操作情報712の子操作情報フィールドに格納する。
続けて、クライアント装置202は、操作情報群701の各操作情報と対応付けた画像データとを操作情報テーブル611に格納する(ステップS1505)。ステップS1505の終了後、または、画像データが静止画像データである場合(ステップS1503:No)、クライアント装置202は、受信した画像データをディスプレイ407の表示画面110に表示する(ステップS1506)。ステップS1506の終了後、または、サーバ201から画像データを受信していない場合(ステップS1502:No)、クライアント装置202は、図16に示すステップS1603の処理に移行する。
図16は、クライアント装置による画像取得処理手順の一例を示すフローチャート(その3)である。ステップS1408:Yes、またはステップS1412:Yesとなった場合、クライアント装置202は、直前の操作軌跡の各点に対応付けられた画像データのうちの、現在の操作軌跡を表す各点に対応する画像データを抽出する(ステップS1601)。
なお、ステップS1601を実行する場合とは、クライアント装置202の操作情報テーブル611に記憶した画像データを再利用することを示している。このとき、クライアント装置202は、クライアント装置202に記憶した画像データを表示していることを示す“ローカル表示中”という識別情報をサーバ201に送信して、操作情報群701を送信してもよい。さらに、クライアント装置202は、“ローカル表示中”という識別情報を送信後に再利用できる画像データがなくなった場合、“ローカル表示終了”という識別情報をサーバ201に送信してもよい。“ローカル表示中”を示す識別情報を受信後に操作情報群701を受信した場合、サーバ201は、“ローカル表示終了”を受信するまで、ステップS1302の処理を行い、ステップS1303〜ステップS1309の処理を実行しなくてもよい。“ローカル表示中”という識別情報を送信することにより、サーバ201が画像データを送信しなくてよいことが判断できるため、サーバ201は、フレームバッファ902を更新しつつ、画像データの更新と送信にかかる処理量を減らすことができる。
次に、クライアント装置202は、抽出した画像データから動画像データを生成して、動画像データをディスプレイ407の表示画面110に表示する(ステップS1602)。ステップS1602の終了後、ステップS1506の終了後、またはステップS1502:Noとなった場合、クライアント装置202は、ユーザによる一連の操作の操作軌跡の終点を検出したか否かを判断する(ステップS1603)。一連の操作の操作軌跡の終点を検出する手順として、クライアント装置202は、例えば、操作中フラグがオンであるときに、タッチパネル408からユーザの指等が離れたという通知を検出した場合、一連の操作の操作軌跡の終点を検出したと判断する。また、クライアント装置202がマウスを有している場合、クライアント装置202は、操作中フラグがオンであるときに、マウスのボタンが離されたという通知を検出した場合、一連の操作の操作軌跡の終点を検出したと判断する。ユーザによる一連の操作の操作軌跡の終点を検出した場合(ステップS1603:Yes)、クライアント装置202は、操作中フラグをオフに設定する(ステップS1604)。
ステップS1604の終了後、または、ユーザによる一連の操作の操作軌跡の終点を検出していない場合(ステップS1603:No)、クライアント装置202は、クライアント装置による画像取得処理を終了する。クライアント装置による画像取得処理を実行することにより、接続環境によらずに、ユーザの操作に対応する画像データを表示することができるため、ユーザの操作性を向上することができる。
また、図13〜図16のフローチャートでは、操作情報テーブル611に記憶した画像データを再利用できる場合、操作情報群701を送信しない形態となっている。この形態では、サーバ201が差分領域を正しく取得できない可能性がある。例えば、操作情報テーブル611に記憶した画像データを再利用した後、新たな操作情報群701を取得して操作情報テーブル611に再利用できる画像データがない場合に、クライアント装置202が操作情報群701をサーバ201に送信したとする。このとき、更新前のフレームバッファ902の表示内容と、表示画面110の表示内容が一致していないため、サーバ201が差分領域を正しく取得できない可能性がある。
差分領域を正しく取得するため、クライアント装置202は、操作情報テーブル611に再利用できる画像データがない場合、操作情報テーブル611に記憶した画像データを再利用していたときの操作情報群701と新たな操作情報群701を送信してもよい。これにより、操作情報群701によりフレームバッファ902の表示内容と、表示画面110の表示内容が一致するため、サーバ201は、新たな操作情報群701に対応する正しい差分領域を取得することができる。
以上説明したように、実施の形態にかかるクライアント装置202によれば、現操作の一連の操作の操作軌跡L2が直前の一連の操作の操作軌跡L1と重なり、かつ連続性があれば、操作軌跡L1時に表示した画像データから操作軌跡L2用の画像データを抽出する。これにより、クライアント装置202は、サーバ201と通信せずに、操作軌跡L1時に表示した画像データを再利用して操作軌跡L2用の画像データを表示できるため、操作性を向上させることができる。
また、クライアント装置202によれば、一連の操作順序に従って、一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを表示画面110に順次表示してもよい。クライアント装置202は、操作軌跡L2の各点が入力された順に画像データを表示するため、ユーザの操作順序に従って、画像データを表示することができる。
また、クライアント装置202によれば、表示画面110上で行われた連続的な操作の各々の操作情報に含まれる点の座標位置と各々の操作情報がサーバ201に送信された結果受信された画像データとを対応付けて操作情報テーブル611に格納してもよい。これにより、クライアント装置202は、再利用できる可能性がある画像データを用意しておくことができる。
また、クライアント装置202によれば、次に示す場合、一連の操作順序に従って、一連の操作の各々の操作情報がサーバ201に送信された結果受信された画像データを表示画面110に順次表示してもよい。次に示す場合とは、一連の操作の操作軌跡L2が直前の一連の操作の操作軌跡L1と重ならない、または連続性がない場合である。これにより、クライアント装置202は、再利用できる画像データがない場合は、サーバ201に画像データを問い合わせることにより、ユーザの操作に応答した画像データを取得することができる。
また、クライアント装置202によれば、一連の操作の操作軌跡L2が直前の一連の操作の操作軌跡L1と重なり、かつ連続性があれば、操作情報の送信を停止してもよい。これにより、シンクライアントシステム200は、操作情報の送信と、操作情報に対応する差分領域の取得と、差分領域の画像データの送信という処理を減らすことができる。
また、クライアント装置202によれば、通信状態が不安定なモバイル環境でタブレットなどのスマート端末を用いてアプリを操作する場合、オブジェクトの回転などの繰り返し操作をする度に、通信が一時的に切断されてもローカル描画をする。これにより、シンクライアントシステム200は、通信環境の不安定さをユーザに隠ぺいすることができる。特に、オブジェクトの回転・逆回転など、様々な角度でオブジェクトを観察する場合、シンクライアントシステム200は、通信の不安定さやデータ転送量がネックになり易いスマート端末で操作性の悪化を回避し、スムーズな操作をユーザに提供できる。
なお、本実施の形態で説明した画像取得方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画像処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本画像処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記端末装置は、
画面上で行われる一連の操作よりも前に前記画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なるか否かを判断する判断部と、
前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なると判断された場合、前記連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出する抽出部と、
を有することを特徴とするシステム。
(付記2)前記端末装置は、
前記一連の操作の操作順序に従って、前記抽出部によって抽出された前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを前記画面に順次表示する表示制御部を有することを特徴とする付記1に記載のシステム。
(付記3)前記端末装置は、
前記画面上で操作が行われた点の座標位置を含む操作情報を取得する取得部と、
前記取得部によって取得された前記操作情報を前記情報処理装置に送信する送信部と、
前記送信部によって前記操作情報が前記情報処理装置に送信された結果、前記情報処理装置から前記画面に表示する画像データを受信する受信部と、
前記画面上で行われた連続的な操作の各々の操作情報に含まれる点の座標位置と、前記各々の操作情報が前記情報処理装置に送信された結果受信された画像データとを対応付けて前記テーブルに格納する格納部と、を有することを特徴とする付記1または2に記載のシステム。
(付記4)前記端末装置は、
前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性がない、または、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重ならないと判断された場合、前記画面上で行われた一連の操作の操作順序に従って、前記一連の操作の各々の操作情報が前記情報処理装置に送信された結果受信された画像データを前記画面に順次表示する表示制御部を有すること特徴とする付記3に記載のシステム。
(付記5)前記端末装置は、
前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の全部が前記連続的な操作の操作軌跡と重なると判断された場合、前記送信部による前記操作情報の送信を停止させる送信制御部を有することを特徴とする付記3または4に記載のシステム。
(付記6)ネットワークを介して情報処理装置と接続される端末装置において、
画面上で行われる一連の操作よりも前に前記画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なるか否かを判断する判断部と、
前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なると判断された場合、前記連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出する抽出部と、
を有することを特徴とする端末装置。
(付記7)ネットワークを介して情報処理装置と接続される端末装置が、
画面上で行われる一連の操作よりも前に前記画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なるか否かを判断し、
前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なると判断した場合、前記連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出する、
処理を実行することを特徴とする画像取得方法。
100 システム
101 情報処理装置
102 端末装置
200 シンクライアントシステム
201 サーバ
202 クライアント装置
501、607 受信部
502 決定部
503 符号化部
504、605 送信部
601 取得部
602 判断部
603 抽出部
604 表示制御部
606 送信制御部
608 格納部
611 操作情報テーブル

Claims (7)

  1. ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
    前記端末装置は、
    画面上で行われる一連の操作よりも前に前記画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なるか否かを判断する判断部と、
    前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なると判断された場合、前記連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出する抽出部と、
    を有することを特徴とするシステム。
  2. 前記端末装置は、
    前記一連の操作の操作順序に従って、前記抽出部によって抽出された前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを前記画面に順次表示する表示制御部を有することを特徴とする請求項1に記載のシステム。
  3. 前記端末装置は、
    前記画面上で操作が行われた点の座標位置を含む操作情報を取得する取得部と、
    前記取得部によって取得された前記操作情報を前記情報処理装置に送信する送信部と、
    前記送信部によって前記操作情報が前記情報処理装置に送信された結果、前記情報処理装置から前記画面に表示する画像データを受信する受信部と、
    前記画面上で行われた連続的な操作の各々の操作情報に含まれる点の座標位置と、前記各々の操作情報が前記情報処理装置に送信された結果受信された画像データとを対応付けて前記テーブルに格納する格納部と、を有することを特徴とする請求項1または2に記載のシステム。
  4. 前記端末装置は、
    前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性がない、または、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重ならないと判断された場合、前記画面上で行われた一連の操作の操作順序に従って、前記一連の操作の各々の操作情報が前記情報処理装置に送信された結果受信された画像データを前記画面に順次表示する表示制御部を有すること特徴とする請求項3に記載のシステム。
  5. 前記端末装置は、
    前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の全部が前記連続的な操作の操作軌跡と重なると判断された場合、前記送信部による前記操作情報の送信を停止させる送信制御部を有することを特徴とする請求項3または4に記載のシステム。
  6. ネットワークを介して情報処理装置と接続される端末装置において、
    画面上で行われる一連の操作よりも前に前記画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なるか否かを判断する判断部と、
    前記判断部によって前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なると判断された場合、前記連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出する抽出部と、
    を有することを特徴とする端末装置。
  7. ネットワークを介して情報処理装置と接続される端末装置が、
    画面上で行われる一連の操作よりも前に前記画面上で行われた連続的な操作の操作軌跡を表す始点から終点までの各点の座標位置と画像データとを対応付けて記憶するテーブルを参照して、前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なるか否かを判断し、
    前記一連の操作の操作軌跡が前記連続的な操作の操作軌跡と連続性があり、かつ、前記一連の操作の操作軌跡の一部または全部が前記連続的な操作の操作軌跡と重なると判断した場合、前記連続的な操作の操作軌跡を表す各点の座標位置に対応付けられた画像データのうちの、前記一連の操作の操作軌跡を表す各点の座標位置に対応する画像データを抽出する、
    処理を実行することを特徴とする画像取得方法。
JP2012213269A 2012-09-26 2012-09-26 システム、端末装置および画像取得方法 Expired - Fee Related JP5949393B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012213269A JP5949393B2 (ja) 2012-09-26 2012-09-26 システム、端末装置および画像取得方法
US13/949,813 US9161009B2 (en) 2012-09-26 2013-07-24 System, terminal device, and image capturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012213269A JP5949393B2 (ja) 2012-09-26 2012-09-26 システム、端末装置および画像取得方法

Publications (2)

Publication Number Publication Date
JP2014067311A JP2014067311A (ja) 2014-04-17
JP5949393B2 true JP5949393B2 (ja) 2016-07-06

Family

ID=50338938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012213269A Expired - Fee Related JP5949393B2 (ja) 2012-09-26 2012-09-26 システム、端末装置および画像取得方法

Country Status (2)

Country Link
US (1) US9161009B2 (ja)
JP (1) JP5949393B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6341814B2 (ja) * 2014-09-08 2018-06-13 キヤノン株式会社 撮像装置、その制御方法、及びプログラム
JP2016212874A (ja) * 2015-05-08 2016-12-15 飛捜股▲ふん▼有限公司 アプリケーションプログラムとバーチャルマシンとの間のコミュニケーションのシステムと方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1935497A (en) * 1996-03-29 1997-10-22 British Telecommunications Public Limited Company Communication method and system between host and remote workstation
JP2007034687A (ja) 2005-07-27 2007-02-08 Fuji Xerox Co Ltd シンクライアントシステム
JP5464786B2 (ja) * 2006-12-21 2014-04-09 キヤノン株式会社 情報処理装置、制御方法、及び制御プログラム
JP2009181460A (ja) 2008-01-31 2009-08-13 Nec Corp シンクライアントシステム
WO2011036733A1 (ja) * 2009-09-28 2011-03-31 株式会社 東芝 サーバ装置、及び画面転送システム
JP2011192229A (ja) 2010-03-17 2011-09-29 Hitachi Consumer Electronics Co Ltd サーバ装置および情報処理方法
JP5471794B2 (ja) 2010-05-10 2014-04-16 富士通株式会社 情報処理装置、画像送信プログラム及び画像表示方法
US8799311B2 (en) * 2010-11-05 2014-08-05 Apple Inc. Intelligent data caching

Also Published As

Publication number Publication date
US9161009B2 (en) 2015-10-13
JP2014067311A (ja) 2014-04-17
US20140086550A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
US11677806B2 (en) Platform-independent content generation for thin client applications
JP5628300B2 (ja) アニメーションに使用するための望ましい物理的特徴を伴うグラフィックオブジェクトを生成する方法、装置及びコンピュータプログラム製品
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
KR20220035380A (ko) 증강 현실 장면들을 위한 시스템 및 방법
CN110297550B (zh) 一种标注显示方法、装置、投屏设备、终端和存储介质
US20140279075A1 (en) Interactive advertising
WO2021169236A1 (zh) 渲染的方法、装置
EP3311565B1 (en) Low latency application streaming using temporal frame transformation
JP2013152747A (ja) 遠隔ファイル転送のためのシステム及び方法
US9467495B2 (en) Transferring assets via a server-based clipboard
CN110070593B (zh) 图片预览信息的显示方法、装置、设备及介质
US10691880B2 (en) Ink in an electronic document
WO2016130344A1 (en) Supporting digital ink in markup language documents
WO2022132033A1 (zh) 基于增强现实的显示方法、装置、设备及存储介质
KR20190138798A (ko) 실시간 협업을 위한 라이브 잉크 프레즌스
JP5949393B2 (ja) システム、端末装置および画像取得方法
CN107102792B (zh) 图像处理装置、其控制方法以及计算机可读存储介质
US20150138077A1 (en) Display system and display controll device
US20150145749A1 (en) Image processing apparatus and image processing method
CN114222185B (zh) 视频播放方法、终端设备及存储介质
CN112367295B (zh) 插件展示方法及装置、存储介质及电子设备
CN114416270A (zh) 页面显示方法、装置、设备和介质
US20180300160A1 (en) Host and Component Relationship between Applications
US20230350532A1 (en) System and method for on-screen graphical user interface encapsulation and application history reproduction
CN115174993B (zh) 用于视频制作的方法、装置、设备和存储介质

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5949393

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees