(57)【要約】【課題】画面スクロール時の視認性を低下させず、かつ画面情報転送時の負荷を抑える。【解決手段】画面情報生成装置は、画像を生成し、今回転送の対象となる画像を記憶し、前回転送した画像を記憶し、ユーザ操作イベントと今回転送対象の画像とから、スクロール発生時刻、スクロール領域の座標、スクロール方向、およびスクロール量を検出し、スクロール領域毎の、スクロール発生時刻、スクロール方向、およびスクロール量から、該当スクロール領域のスクロール速度と、該スクロール速度に対応した画面差分検出周期とを決定し、画面差分検出周期に従い今回転送対象の画像と前回転送した画像との差分を抽出し、差分を含む差分画面情報を画面情報表示装置へ送信する。画面情報表示装置は、画面生成装置部から差分画面情報を受信し、この差分画面情報を基に画面情報表示装置の表示内容を更新する。【選択図】図２
2015146098.tif 000002
【特許請求の範囲】
【請求項１】
画面情報表示装置にて画面情報生成装置で生成した画像を表示させるための画面情報を、ネットワークを介し画面情報生成装置から画面情報表示装置へ転送するシステムであって、
前記画面情報生成装置は、
前記画面情報表示装置での表示内容となる画像を生成する画像生成部と、
今回転送の対象となる前記画像を記憶する転送画面記憶部と、
前回転送した画像を記憶する前回転送画面記憶部と、
前記画面情報表示装置からのユーザ操作イベントと前記転送画面記憶部の記憶内容とから、スクロール発生時刻、スクロール領域の座標、スクロール方向、およびスクロール量を検出するスクロール検出部と、
前記スクロール領域毎の、前記スクロール発生時刻、スクロール方向、およびスクロール量から、該当スクロール領域のスクロール速度と、該スクロール速度に対応した画面差分検出周期とを決定するスクロール速度測定部と、
前記画面差分検出周期に従い前記転送画面記憶部の記憶内容と前回転送画面記憶部の記憶内容との差分がある場合に、その差分を抽出する画面差分検出部と、
前記差分を含む差分画面情報を前記画面情報表示装置へ送信する差分画面送信部と
を備え、
前記画面情報表示装置は、
前記画面生成装置部から、前記差分画面情報を受信する差分画面受信部と、
前記差分画面情報を基に、前記画面情報表示装置における前回の表示内容と今回の表示内容との差分部分を更新する差分画面更新部と、
を備える画像転送システム。
【請求項２】
前記スクロール検出部は、
前記画像生成部に、前記スクロール領域上で、スクロールバーと並行に隣接する位置に、スクロール検出補助線を描画させ、
スクロールによる前記スクロール領域の移動とともに消失する前記スクロール検出補助線の消失部分の量を基にスクロール量を検出する、
請求項１に記載の画像転送システム。
【請求項３】
前記画面情報生成部は、
前記画面情報表示装置に表示させる表示内容となる画像を生成する画面表示プログラムと、
前記画面表示プログラムからの表示要求に応じた前記表示内容に係る描画命令および前記画面情報表示装置からのユーザ操作イベントに応じたスクロールに係る情報をウィンドウシステムへ通知する画面表示ライブラリと、
前記画面表示プログラムが生成する前記画像に対してそのウィンドウの描画を管理するウィンドウシステムと、を備え、
前記画面情報生成装置のスクロール検出部に代えて、
前記画面表示ライブラリから前記ウィンドウシステムへ通知されるスクロールに係る情報をキャプチャし、前記スクロール発生時刻、スクロール領域の座標、スクロール方向、およびスクロール量を検出するスクロールキャプチャ部を備えた
請求項１または請求項２に記載の画像転送システム。
【請求項４】
前記画面情報生成装置は、
前記スクロール速度測定部、前記画面差分検出部、差分画面送信部に代えて、
前記スクロール検出部により検出された前記スクロール発生時刻、スクロール領域の座標、スクロール方向、およびスクロール量から、スクロール速度と、該スクロール速度に対応した画面差分検出周期とを決定し、前記転送画面記憶部の記憶内容と前記前回転送画面記憶部の記憶内容との差分がある場合に、その差分を抽出するスクロール情報・差分画面検出部と、
前記スクロール検出部により検出されたスクロール領域座標、スクロール方向、およびスクロール量を含むスクロール情報と、前記スクロール情報・差分画面検出部が抽出した前記差分を含む画面差分情報とを送信するスクロール情報・差分画面送信部と、を備え、
前記画面情報表示装置は、
前記差分画面受信部および前記差分画面更新部に代えて、
前記スクロール情報と前記画面差分情報とを前記画面情報生成装置から受信するスクロール情報・差分画面受信部と、
前記スクロール情報・差分画面受信部が受信した情報を基に、スクロールを反映した表示内容の前記更新を行うスクロール実施・差分画面更新部と、を備えた
請求項１または請求項２に記載の画像転送システム。
【請求項５】
前記画面情報生成部は、
前記画面情報表示装置に表示させる表示内容となる画像を生成する画面表示プログラムと、
前記画面表示プログラムからの表示要求に応じて、ウィンドウシステムへ前記表示内容に係る描画命令およびスクロールに係る情報を通知する画面表示ライブラリと、
前記画面表示プログラムが生成する前記画像に対してそのウィンドウの描画を管理するウィンドウシステムと、を備え、
前記画面情報生成装置のスクロール検出部に代えて、
前記画面表示ライブラリから前記ウィンドウシステムへ通知されるスクロールに係る情報をキャプチャし、前記スクロール発生時刻、スクロール領域の座標、およびスクロール量、を検出するスクロールキャプチャ部を備えた
請求項４に記載の画像転送システム。
【請求項６】
画面情報表示装置にて画面情報生成装置で生成した画像を表示させるための画面情報を、ネットワークを介し画面情報生成装置から画面情報表示装置へ転送するシステムにおける画像転送方法であって、
前記画面情報生成装置において、
画像生成部が、前記画面情報表示装置での表示内容となる画像を生成する工程と、
転送画面記憶部が、今回転送の対象となる前記画像を記憶する工程と、
前回転送画面記憶部が、前回転送した画像を記憶する工程と、
スクロール検出部が、前記画面情報表示装置からのユーザ操作イベントと前記転送画面記憶部の記憶内容とから、スクロール発生時刻、スクロール領域の座標、スクロール方向、およびスクロール量を検出する工程と、
スクロール速度測定部が、前記スクロール領域毎の、前記スクロール発生時刻、スクロール方向、およびスクロール量から、該当スクロール領域のスクロール速度と、該スクロール速度に対応した画面差分検出周期とを決定する工程と、
画面差分検出部が、前記画面差分検出周期に従い前記転送画面記憶部の記憶内容と前回転送画面記憶部の記憶内容との差分がある場合に、その差分を抽出する工程と、
差分画面送信部が、前記差分を含む画面差分情報を前記画面情報表示装置へ送信する工程と、
前記画面情報表示装置において、
差分画面受信部が、前記画面生成装置から、前記差分画面情報を受信する工程と、
差分画面更新部が、前記差分画面情報を基に、前記画面情報表示装置における前回の表示内容と今回の表示内容との差分部分を更新する工程と
を含む画像転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像転送システムおよび画像転送方法に関する。
【背景技術】
【０００２】
従来、画面情報表示装置に表示させる画面情報を生成する画面情報生成装置から、画面情報表示装置へ画面情報を転送する画像転送システムにおいて、画面情報の圧縮機能を備えたものが知られている。また、このような画像転送システムにおいて、画面情報生成装置で画面情報の変化部分を一定周期で圧縮し、送信する技術が知られている。例えば、画面情報を転送する際に、転送時のデータを画面情報バッファに保存し、次の転送時は、画面情報バッファに保存した画像データからの差分を転送し、差分領域の大きさが所定の閾値より大きい場合は、画面情報生成装置側でフレームレートを下げ、画像転送負荷を下げる方法が提案されている。また、ユーザの作業領域以外の画像転送時の画質を低下させ、画像転送負荷を下げる方法なども提案されている。
【０００３】
このようなシステムでは、画面情報生成装置から画面情報表示装置への画面情報の転送量を削減することができ、効率的な画像転送が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１８９７６号公報
【特許文献２】特開２０１１−１９８１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、既知の手法では、画面の広範囲な変化が発生する画面スクロール操作が発生した場合の画面情報の転送量増加を、効率良く下げることができず、画像転送負荷が上昇するという課題があった。また、前回転送時との差分の画像情報を転送する手法では、差分検出の周期を長くすることで、画像転送負荷を下げることは可能であるが、画面スクロール表示が不連続となり、画面の視認性が低下するという課題があった。
【０００６】
本発明が解決しようとする課題は、画面スクロール時の視認性を低下させず、かつ画面情報転送時の負荷を抑えることができる画像転送システムおよび画像転送方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態の画像転送システムは、画面情報表示装置にて画面情報生成装置で生成した画像を表示させるための画面情報を、ネットワークを介し画面情報生成装置から画面情報表示装置へ転送するシステムである。画面情報生成装置は、画面情報表示装置での表示内容となる画像を生成する画像生成部と、今回転送の対象となる画像を記憶する転送画面記憶部と、前回転送した画像を記憶する前回転送画面記憶部と、画面情報表示装置からのユーザ操作イベントと転送画面記憶部の記憶内容とから、スクロール発生時刻、スクロール領域の座標、スクロール方向、およびスクロール量を検出するスクロール検出部と、スクロール領域毎の、スクロール発生時刻、スクロール方向、およびスクロール量から、該当スクロール領域のスクロール速度と、該スクロール速度に対応した画面差分検出周期とを決定するスクロール速度測定部と、画面差分検出周期に従い転送画面記憶部の記憶内容と前回転送画面記憶部の記憶内容との差分がある場合に、その差分を抽出する画面差分検出部と、差分を含む差分画面情報を画面情報表示装置へ送信する差分画面送信部とを備える。画面情報表示装置は、画面生成装置部から、差分画面情報を受信する差分画面受信部と、差分画面情報を基に、画面情報表示装置における前回の表示内容と今回の表示内容との差分部分を更新する差分画面更新部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る画像転送システムの全体構成例を示す図である。
【図２】図２は、第１の実施形態に係る画像転送システムの機能構成例を示すブロック図である。
【図３Ａ】図３Ａは、第１の実施形態に係るスクロール領域情報（全スクロール領域用）の記憶例を示す図である。
【図３Ｂ】図３Ｂは、第１の実施形態に係るスクロール領域情報（スクロールＩＤ別）の記憶例を示す図である。
【図４】図４は、第１の実施形態に係る画面スクロール領域別のスクロール領域情報の記憶例を示す図である。
【図５Ａ】図５Ａは、第１の実施形態に係る画面差分検出周期情報（スクロール領域無しの場合）の例を示す図である。
【図５Ｂ】図５Ｂは、第１の実施形態に係る画面差分検出周期情報（スクロール領域有りの場合）の例を示す図である。
【図６】図６は、第１の実施形態に係るスクロール検出処理の概要を示すフローチャートである。
【図７Ａ】図７Ａは、第１の実施形態に係るスクロール前の画面の状態を示す図である。
【図７Ｂ】図７Ｂは、第１の実施形態に係るスクロール量算出処理時の画面の状態を示す図である。
【図７Ｃ】図７Ｃは、第１の実施形態に係るスクロール量算出処理後の画面の状態を示す図である。
【図８】図８は、第１の実施形態に係る画面のスクロール領域、スクロールバーの構成例を示す図である。
【図９】図９は、第１の実施形態にかかるマウス座標がスクロールノブ内にあるかの判定処理を説明する図である。
【図１０】図１０は、第２の実施形態に係る画像転送システムの機能構成例を示すブロック図である。
【図１１】図１１は、第３の実施形態に係る画像転送システムの機能構成例を示すブロック図である。
【図１２】図１２は、第３の実施形態に係るスクロール情報・差分画面検出部処理の概要を説明するフローチャートである。
【図１３Ａ】図１３Ａは、第３の実施形態に関わる前回転送画面例を示す図である。
【図１３Ｂ】図１３Ｂは、第３の実施形態に関わる転送画面（スクロール＋画面更新発生時）例を示す図である。
【図１４Ａ】図１４Ａは、第３の実施形態に関わるスクロール情報を画像イメージとして概念的に示した図である。
【図１４Ｂ】図１４Ｂは、第３の実施形態に関わる差分画面の一例を示す図である。
【図１５】図１５は、第３の実施形態に関わるスクロール実施・差分画面更新部における処理の概要を説明するフローチャートである。
【図１６Ａ】図１６Ａは、第３の実施形態に関わる画面表示記憶部の記憶内容へのスクロール情報の適用例を示す図である。
【図１６Ｂ】図１６Ｂは、第３の実施形態に関わる画面表示記憶部の記憶内容への画面差分情報の適用例を示す図である。
【発明を実施するための形態】
【０００９】
以下、諸実施形態について図面を参照して説明する。
（第１の実施形態）
図１に、第１の実施形態に係る画像転送システムの全体構成例を示し、図２に同実施形態の機能ブロック図を示す。
【００１０】
図１に示すように、画像転送システム１は、画面情報生成装置１００と画面情報表示装置１２０とが、ネットワーク２を介して接続されたシステムである。なお、以下の説明では、他の実施形態の画面情報生成装置１００および画面情報表示装置１２０と区別するため、画面情報生成装置１００Ａおよび画面情報表示装置１２０Ａと記す。画面情報生成装置１００Ａは、当該装置に実装されたアプリケーション（プログラム）を実行し、画面情報表示装置１２０Ａに表示させる画面情報を生成して画面情報表示装置１２０Ａに送信する。画面情報表示装置１２０Ａは、画面情報生成装置１００Ａで作成された画面情報を受信し、その表示と当該画面情報表示装置１２０Ａに備わる入力デバイス１２１を用いたユーザ操作を受付ける。
【００１１】
本実施形態の画像転送システム１では、画面情報生成装置１００Ａと画面情報表示装置１２０Ａを、インターネット、ＷＡＮ、インタトラネット等のネットワーク２で結合することで、画面情報生成装置１００Ａではなく、遠隔地に設置した画面情報表示装置１２０Ａから、画面操作を可能とする。なお、画面情報生成装置１００Ａとしては、サーバ装置等を用いることができ、画面情報表示装置１２０Ａとしては、ＰＣ等の他、スマートフォンやタブレット端末など、表示画面を有する端末全般を採用することができる。
【００１２】
（画面情報生成装置）
画面情報生成装置１００Ａは、入力イベント受信部１０１、スクロール検出部１０２、スクロール領域記憶部１０３、スクロール速度測定部１０４、スクロール速度記憶部１０５、差分検出周期記憶部１０６、画面表示プログラム１０７、画面表示ライブラリ１０８、ウィンドウシステム１０９、転送画面記憶部１１０、画面差分検出部１１１、前回転送画面記憶部１１２、および、差分画面送信部１１３を備える。なお、画面表示プログラム１０７、画面表示ライブラリ１０８、およびウィンドウシステム１０９は、画面情報表示装置１２０Ａに表示させる、ウィンドウやスクロールバー等のＧＵＩ部品を含む表示内容を生成する画像生成部として機能する。
【００１３】
入力イベント受信部１０１は、ＴＣＰ／ＩＰ等の通信プロトコルにより、画面情報表示装置１２０Ａからの、入力デバイス１２１を用いたユーザ操作イベントを受信する。
【００１４】
スクロール検出部１０２は、画面情報表示装置１２０Ａから入力イベント受信部１０１に通知された入力デバイス１２１でのユーザ操作イベントの情報を基に画面スクロールイベント発生を検出し、画面スクロール領域（スクロール領域とも記す）を算出して、その情報をスクロール領域記憶部１０３に保存する。本処理の詳細については、後述する。また、スクロール検出部１０２は、ユーザ操作イベントの情報を、画面表示プログラム１０７、画面表示ライブラリ１０８、およびウィンドウシステム１０９に通知する。なお、スクロール領域記憶部１０３は、画面スクロール領域の情報（図３Ａ、図３Ｂ参照）を記憶する記憶デバイスであり、主メモリ装置、磁気ディスク等で実装される。符号５０１で示す図３Ａの例は、全スクロール領域用のスクロール領域情報であり、スクロールＩＤで識別される画面スクロール領域別の情報として、画面スクロール領域の範囲を示す左上座標および右下座標と、スクロール方向と、スクロール量閾値（ピクセル単位）をデータとしてもつ。符号５０２で示す図３Ｂの例は、スクロールＩＤ毎にもつスクロール領域情報であり、スクロール発生時刻毎のスクロール領域の範囲を示す左上座標及び右下座標と、スクロール方向と、スクロール量（ピクセル単位）をもつ。
【００１５】
スクロール速度測定部１０４は、一定周期で、または、スクロールイベントの都度動作し、スクロール領域記憶部１０３に記憶された画面スクロール領域の情報（図３Ａ，図３Ｂ）から、画面スクロール領域別のスクロール速度を算出し、スクロール速度記憶部１０５に保存する。
【００１６】
スクロール速度記憶部１０５は、画面スクロール領域の情報として、図４に例示するスクロールＩＤで識別される画面スクロール領域別のスクロール領域情報（６０１）である、スクロール方向、スクロール量閾値（ピクセル）、スクロール速度（ピクセル／秒）、画面差分検出周期（秒）を保存する。ここでスクロール量閾値は、スクロールの視認性を損なわない画像転送の際のスクロール最小高さ（または幅）の閾値であり、画面情報生成装置１００Ａ単位で固定値を設定する。または、スクロール速度測定部１０４または他の機能部にて、画面情報生成装置１００Ａと画面情報表示装置１２０Ａ間の実効伝送帯域幅を測定し、自動的にこの閾値を変化させるようにしてもよい。
【００１７】
なお、スクロール速度は、スクロールＩＤ別に、上記の画面スクロール領域情報を基に過去Ｎ秒分のスクロール量合計値を経過時間で除算して求める。また、Ｎの値は、画面情報生成装置１００Ａ毎に固定値を設定する。また、画面スクロール無しの場合は、図５Ａの符号７０１に示すように、全画面エリアについてデフォルト値として同一の画面差分検出周期（図５Ａの例では“１”（秒））を設定するが、画面スクロールが発生した場合は、図５Ｂに示す様に、画面スクロール領域７０２とそれ以外の領域とで、画面差分検出周期を変えることが可能となる。なお、図５Ｂの例では、画面スクルール領域の画面差分検出周期を“０．０１”（秒）とし、画面スクロール領域以外の領域の画面差分検出周期（“１”（秒））より短くしている。また、同図では、画面スクロール領域に対し同一の画面差分検出周期（“０．０１”（秒））を設定しているが、画面スクロール領域の中心部分の周期をさらに短くするという制御を行ってもよい。
【００１８】
差分検出周期記憶部１０６は、上記画面差分検出周期情報を記憶する。
【００１９】
画面表示プログラム１０７は、画面情報表示装置１２０Ａの入力デバイス１２１でのユーザ操作イベントに応じて、表示内容（画面情報）の新規作成や表示内容の更新等の処理を行う。
【００２０】
画面表示ライブラリ１０８は、画面表示プログラム１０７からの表示要求等を受けて、ウィンドウシステム１０９へ描画命令やスクロールに係る情報（例えば、前述のスクロール領域情報など）等を通知する。また、画面表示ライブラリ１０８は、画面スクロール用のスクロールバーの表示や、表示位置制御等を行う。
【００２１】
ウィンドウシステム１０９は、画面表示プログラム１０７が生成する表示内容に対してウィンドウ枠の付加や、ウィンドウの移動、リサイズ等の管理や、画面表示ライブラリ１０８からの描画命令等の内容を元に、転送画面記憶部１１０に最新の画面表示内容を記憶させる。なお、ウィンドウシステム１０９で実施する機能は、既存のＯＳ（オペレーティングシステム）や、デバイスドライバの機能により実現される場合もある。
【００２２】
転送画面記憶部１１０は、画面情報表示装置１２０Ａのディスプレイ１２２に表示される画面情報を保持する記憶デバイスであり、主メモリ装置、磁気ディスク等で実装される。
【００２３】
画面差分検出部１１１は、差分検出周期記憶部１０６に保存された画面差分検出周期で、転送画面記憶部１１０と前回転送画面記憶部１１２の記憶内容（画像）の差分をチェック（検出）し、差分があればそれを抽出する。そのため、画面スクロール領域の画面差分検出周期を画面スクロール領域以外より短くすることで、速いスピードのスクロールが発生していても、スクロールの視認性を確保できる。画像転送が完了した領域については、転送画面記憶部１１０の記憶内容を前回転送画面記憶部１１２へコピーする。
【００２４】
差分画面送信部１１３は、画面差分検出部１１１が検出した画面情報の差分を画面情報生成装置１００Ａから画面情報表示装置１２０Ａへ送信することによりコピーしている。
【００２５】
（画面情報表示装置）
画面情報表示装置１２０Ａは、入力デバイス１２１、ディスプレイ１２２、入出力インターフェース１２３、入力イベント検出部１２４、入力イベント送信部１２５、差分画面受信部１２６、差分画面更新部１２７、画面表示記憶部１２８を備える。
【００２６】
入力デバイス１２１は、マウス、キーボード、タッチパネル、スタイラスペン等で構成され、画面情報表示装置１２０Ａでのユーザ操作を受け付ける。ディスプレイ１２２は、マウス、スタイラスペン等の座標位置の表示や、画面情報生成装置１００Ａが生成した画面表示内容（画面情報）を表示する。入出力インターフェース１２３は、入力デバイス１２１からの入力信号を、画面情報表示装置１２０Ａで処理できるデータ形式への変換と、画面表示記憶部１２８に保存されている画面表示内容（画像データ）をディスプレイ１２２側で処理可能な信号への変換を行う。
【００２７】
入力イベント検出部１２４は、入出力インターフェース１２３から通知されたユーザ操作イベントを検出する仕組みであり、既知のＯＳやウィンドウシステム等の仕組みとして提供される。
【００２８】
入力イベント送信部１２５は、ＴＣＰ／ＩＰ等の通信プロトコルにより、入力イベント検出部１２４が検出したユーザ操作イベントを画面情報生成装置１００Ａへ通知する。
【００２９】
差分画面受信部１２６は、画面情報生成装置１００Ａからの画面差分情報を受信し、差分画面更新部１２７に送る。
【００３０】
差分画面更新部１２７では、差分画面受信部１２６を介して、画面情報生成装置１００Ａから送信された画面差分情報を受け取り、この画面差分情報を用いて元の画面情報との差分部分を更新することにより、画面表示記憶部１２８の記憶内容（表示内容）を更新する。画面表示記憶部１２８の記憶内容は、入出力インターフェース１２３を経由し、電気信号に変換され、ディスプレイ１２２へ送信される。ディスプレイ１２２では、受けた電気信号を映像信号に変換し、画面の表示を行う。
【００３１】
次に、スクロール検出部１０２の処理の詳細を、図６を用いて説明する。
【００３２】
スクロール検出部１０２は、入力イベント受信部１０１での入力デバイス１２１（ここではマウスを例に説明する）からの入力イベントの受信を待機し、入力イベント受信部１０１がマウスからのユーザ操作イベントを受信すると、ステップＳ１０２へ移行する（ステップＳ１０１）。
【００３３】
スクロール検出部１０２は、画面情報表示装置１２０Ａ側でユーザ操作イベントが発生するとそのイベントのイベント種別の判定を行い、処理の分岐を行う（ステップＳ１０２）。
【００３４】
ここでイベント種別が、マウスＤＯＷＮの場合、スクロール検出部１０２は、転送画面記憶部１１０の記憶内容を参照し、マウスカーソル位置の判定（ステップＳ１０３）と、マウスカーソルの位置がスクロールバーのノブ内か否かの判断処理（ステップＳ１０４）により、スクロール操作が発生したか判定する。ステップＳ１０４で行う判断処理については、後述する。ここでマウスカーソルがスクロールバーのノブ内にあると判定した場合は（ステップＳ１０４でＹｅｓ）、スクロール検出部１０２は、スクロール開始フラグをＯＮとする（ステップＳ１０５）。なお、スクロール開始フラグの初期値はＯＦＦであるとする。
【００３５】
次いで、スクロール検出部１０２は、マウスカーソルが位置しているスクロールバーが、縦長か否か判定し（ステップＳ１０６）、縦長の場合は（ステップＳ１０６でＹｅｓ）、スクロール方向を縦方向と判定する（ステップＳ１０７）。スクロールバーが縦長以外の場合は（ステップＳ１０６でＮｏ）、スクロール方向を横と判定する（ステップＳ１０８）。
【００３６】
スクロール検出部１０２は、スクロール方向が縦の場合、スクロールバーの左側の領域で、スクロールバーと同じか、それより高い矩形領域を探索し、スクロール候補とする。同様に、スクロール方向が横の場合は、スクロールバーの上側の領域で、スクロールバーと同じか、それより長い矩形領域を探索し、スクロール候補と判定する（ステップＳ１０９）。
【００３７】
次に、スクロール検出部１０２は、上記スクロール候補に対しスクロール領域ＩＤを過去に採番したＩＤと重複しない値で採番する（ステップＳ１１０）。
【００３８】
次に、スクロール検出部１０２は、スクロール候補の高さ（スクロール方向が縦方向の場合）または幅（スクロール方向が横方向の場合）に対応したスクロール検出補助線を画面表示プログラム１０７に描画させ（ステップＳ１１１）、ステップＳ１０１へ戻る。
【００３９】
続いて、先のイベント種別判定（ステップＳ１０２）で、マウスＵＰイベントと判定した場合は、スクロール検出部１０２は、スクロール開始フラグがＯＮか判定し（ステップＳ１１２）、スクロール開始フラグがＯＮの場合は（ステップＳ１１２でＹｅｓ）、画面表示プログラム１０７にスクロール検出補助線の消去を行わせ（ステップＳ１１３）、スクロール開始フラグをＯＦＦにする（ステップ１１４）。スクロール開始フラグがＯＮでない場合は（ステップＳ１１２でＮｏ）、何もせず、ステップＳ１０１へ戻る。
【００４０】
一方、先のイベント種別判定（ステップＳ１０２）で、マウスドラッグと判定した場合は、スクロール検出部１０２は、スクロール開始フラグがＯＮか判定し、スクロール開始フラグＯＮと判定した場合は（ステップ１１５でＹｅｓ）、スクロール方向判定（ステップＳ１１６）、スクロール量算出（ステップＳ１１７）、スクロール領域保存（ステップＳ１１８）、スクロール検出補助線再描画（ステップＳ１１９）を順に行う。スクロール開始フラグがＯＮでない場合は（ステップＳ１１５でＮｏ）、何もせず、ステップＳ１０１に戻る。
【００４１】
上記のスクロール方向判定ステップ（Ｓ１１６）では、スクロール量算出時の状態として例示する図７Ｂのように、縦方向の上向きのスクロールの場合は、スクロール領域２０４の下側のスクロール検出補助線４０１の一部（図７Ｂの符号４０５の部分）が消去される（実際は、スクロールに伴って新規画像が表示される）。この場合は、上方向にスクロールされたと判定する。逆にスクロール検出補助線４０１の上側の一部が消去された場合は、画面領域が下方向にスクロールされたと判定する。
【００４２】
また、スクロール量算出ステップ（Ｓ１１７）では、図７Ａに例示するスクロールバー２０１、スクロール検出補助線４０１、スクロール候補４０２、マウスカーソル４０３が表示されているスクロール前の状態から、図７Ｂのスクロール算出時の状態に示すように、スクロール検出補助線４０１の下側の符号４０５の部分が消去されるため、その消去部分の高さ（符号４０６で示すΔ）により、スクロール量を算出する。なお、図７Ｂのスクロール候補４０２の内、スクロール領域２０４を除く部分は、固定部分であり、スクロール検出補助線４０１の上側の符号４０４で示す部分は、スクロール対象外領域となる。
【００４３】
また、スクロール領域保存ステップ（Ｓ１１８）では、スクロールＩＤ採番ステップ（Ｓ１１０）で取得したスクロールＩＤに対応した図３Ａの行のスクロール領域の左上座標、右下座標、スクロール方向、スクロール量閾値を設定するとともに、図３Ｂのスクロール発生時刻別のスクロール領域情報を保存する。
【００４４】
ここで、ステップＳ１０４で行う、マウスカーソルの位置がスクロールバーのノブ内かの判断処理の詳細について、図８、図９を用いて説明する。
【００４５】
図８は、スクロール領域２０４とスクロールバー２０１（ノブ２０２、上方向アロー２０３ａ、および下方向アロー２０３ｂを含む）の表示例を示した図である。スクロール検出部１０２では、スクロールバー２０１のノブ２０２で、マウスによるスクロール操作、つまりマウスのドラッグ操作を検出することで、スクロール検出を行う。
【００４６】
図９に、ドラッグ操作の検出方法の一例を示す。スクロール検出部１０２が、マウスＤＯＷＮイベントを検出すると、スクロール検出部１０２は、マウス座標３０１の位置の画面表示色を転送画面記憶部１１０から取り出し、その色がスクロールバーのノブ２０２以外に使用される色である場合は、スクロール以外の画面操作と判定する。その色がスクロールバーのノブ２０２に使用される色であった場合は、Ｘ座標（図中左右方向に対応）を図９のａ１の矢印方向に変化させ、画面表示色の変化した座標をノブ左側境界点３０２と判定する。次に、ノブ左側境界点３０２からＹ座標（図中上下方向に対応）を図９のａ２の矢印方向に変化させ、ノブ境界内の画面表示色が変化した座標をノブ左上座標３０３とする。ノブ左上座標３０３から、図９のａ３の矢印方向にＸ座標を変化させ、ノブ境界内の画面表示色が変化した座標をノブ右上座標３０４とする。同様に図９のａ４、ａ５方向にそれぞれＹ座標とＸ座標を変化させ、ノブ右下座標３０５およびノブ左下座標３０６を見つける。その後、ノブ左上座標３０３からＹ座標を図９のａ６の矢印方向に変化させ、画面表示色が変化した座標をスクロールバー左上座標３０７とする。同様に、Ｘ座標をａ７の矢印方向に変化させスクロールバー右上座標３０８を設定し、Ｙ座標をａ８の矢印方向に変化させスクロールバー右下座標３０９を設定し、Ｘ座標をａ９の矢印方向に変化させスクロールバー左下座標３１０を設定する。本処理の途中で、各座標が設定できない場合は、スクロールバー以外でのマウス操作と判定する。
【００４７】
次に、スクロール検出部１０２によるスクロール領域の判定処理について、図７Ａ、図７Ｂ、図７Ｃを用いて説明する。
【００４８】
スクロール検出部１０２は、図７Ａに示すスクロールバー２０１の座標を設定後、スクロールバーに隣接する領域をスクロール候補４０２と判定する。また、スクロール検出部１０２は、画面表示プログラム１０７に、スクロールバー２０１に対して並行に、スクロール検出補助線４０１を描画させる。図７Ａでは、スクロール検出補助線４０１は太い線で示しているが、実際の画面表示では数ピクセルの幅とし、画面の視認性を低下させない様にする。また、スクロール検出補助線４０１の色は、縦方向であれば、Ｙ座標（図中上下方向に対応）に対応して色を変えるようにしておく。この状態で上方向のスクロールが発生すると、画面表示内容が図７Ｂの様に変化する。
【００４９】
スクロール発生時に表示内容が変化しなかったスクロール検出補助線４０１のスクロール対象外領域４０４があれば、スクロール候補４０２のサイズから、その部分の高さを除外した個所がスクロール領域２０４と判定できる。ここでは、上の部分のみスクロール対象外領域を示しているが、下の部分にも同様にスクロール対象外領域が発生する場合がある。前述のようにスクロール検出補助線消去個所４０５の大きさ（長さ）から、スクロール量４０６を測定できる。この例では、スクロールが上方向に発生したため、スクロール検出補助線消去個所４０５は、スクロール領域４０２の下部に発生するが、スクロールが下方向に発生すると、スクロール検出補助線消去個所４０５は、画面の上部に発生することになる。スクロール量（Δ）４０６の測定後は、次のタイミングでのスクロール量を測定するために、スクロール検出部１０２は、スクロール検出補助線４０１を再描画させる。その結果、図７Ｃに示すように、スクロール検出補助線消去個所４０５は存在しなくなる。
【００５０】
本実施形態により、画面スクロール領域の検出が可能となり、画面スクロール領域以外と、画面スクロール領域部分の画面差分検出周期を、画面スクロール速度に応じて適切に設定することが可能となる。また、画面スクロール領域の転送量を抑えつつ、スクロール量も適切な値となるよう画像情報を転送することが可能となる。
【００５１】
（第２の実施形態）
次に、第２の実施形態について説明する。図１０は、第２の実施形態の機能ブロック図である。
【００５２】
本実施形態の画面情報生成装置１００Ｂでは、前述の第１の実施形態の画面情報生成装置１００Ａの構成に対し、スクロール検出部１０２をスクロールキャプチャ部８０１（詳細は後述）に変更している。その他の構成は、第１の実施形態の画像転送システムの構成と同様であるので、共通する部分についてここでの説明は省略する。
【００５３】
スクロールキャプチャ部８０１は、ＯＳがＵｎｉｘ（登録商標）等であれば、Ｘ−Ｗｉｎｄｏｗｓ（登録商標）のＸｌｉｂライブラリや、Ｍｏｔｉｆ（登録商標）ライブラリ等で実現される画面表示ライブラリ１０８からウィンドウシステム１０９に対して通知されるイベント情報を参照し、そのイベントがスクロール部品からであれば（このイベントは、スクロールに係るユーザ操作イベントに対応するので）、図３Ａ、図３Ｂに対応する情報を取得し、スクロール領域記憶部１０３に記憶する。それ以降の処理については、第１の実施形態と同じである。
【００５４】
第１の実施形態では、スクロール検出部１０２を実現するアプリケーションにて、マウスイベントの都度スクロール検出処理が動作するため、マウスイベントが頻繁するような場合は、スクロール検出処理の負荷が増大する場合があった。本実施形態では、マウスイベントの発生を画面表示ライブラリ１０８で行うため、アプリケーション側におけるスクロール検出処理にかかる負荷の増大を抑えることができる。また、第１の実施形態では、特殊な形状のスクロールバーがある場合は、第１の実施形態ではスクロール検出が困難な場合も発生するが、本実施形態では、ＯＳ側で管理されるものであれば特殊なスクロールバーについてのマウスイベントも検出可能となる。
【００５５】
（第３の実施形態）
次に、第３の実施形態について説明する。図１１は、第３の実施形態の機能ブロック図である。
【００５６】
本実施形態の画面情報生成装置１００Ｃでは、第１の実施形態の画面情報生成装置１００Ａのスクロール速度測定部１０４、スクロール速度記憶部１０５、差分検出周期記憶部１０６、および画面差分検出部１１６を、スクロール情報・差分画面検出部９０１、およびスクロール情報記憶部９０２に変更し、第１の実施形態の画面情報生成装置１００Ａの差分画面送信部１１３、差分画面受信部１２６、および差分画面更新部１２７を、それぞれスクロール情報・差分画面送信部９０３、スクロール情報・差分画面受信部９０４、スクロール実施・差分画面更新部９０５に変更している。その他の構成は、第１の実施形態の画像転送システム１の構成と同様であるので、共通する部分についてはここでの説明は省略する。
【００５７】
スクロール情報・差分画面検出部９０１は、スクロール領域記憶部１０３と、転送画面記憶部１１０と、前回転送画面記憶部１１２の記憶内容を参照し、スクロール情報記憶部９０２の記憶内容および前回転送画面記憶部１１２の記憶内容を作成し（詳細は後述）、スクロール情報・差分画面送信部９０３に通知する。
【００５８】
スクロール情報・差分画面送信部９０３は、スクロール情報・差分画面検出部９０１から通知を受けたスクロール情報記憶部９０２および前回転送画面記憶部１１２の記憶内容を、画面情報表示装置１２０Ｂのスクロール情報・差分画面受信部９０４に送信する。
【００５９】
スクロール情報・差分画面受信部９０４は、画面情報生成装置１００Ｃから受信したスクロール情報記憶部９０２および前回転送画面記憶部１１２の記憶内容を、スクロール実施・差分画面更新部９０５に通知する。
【００６０】
スクロール実施・差分画面更新部９０５は、スクロール情報・差分画面受信部９０４から通知されたスクロール情報記憶部９０２および前回転送画面記憶部１１２の記憶内容を、画面表示記憶部１２８に反映する。
【００６１】
ここで、スクロール情報・差分画面検出部９０１の処理詳細を、図１２を用いて説明する。
【００６２】
スクロール情報・差分画面検出部９０１は、スクロール検出部１０２からスクロール領域記憶部１０３の記憶内容の通知を受信すると、前回転送画面記憶部１１２から前回転送時刻を取得する（ステップＳ２０１）。なお、ここでは、前回転送画面記憶部１１２は、スクロール情報・差分画面検出部９０１により、前回転送時に、前回転送時刻も記録されているものとする。そして、スクロール領域記憶部１０３に保存されている図３Ｂのスクロール領域情報（スクロールＩＤ別）５０２における前回転送時刻以降のスクロール量を上方向、下方向別に加算する。
【００６３】
次に、スクロール情報・差分画面検出部９０１は、上方向の加算結果、下方向の加算結果の大きい方を最終的なスクロール方向とし、大きい方の加算結果から小さい方の加算結果を減算し、スクロール量とする。この処理が、図１２の前回転送時刻以降のスクロール情報のマージステップＳ２０２で行う処理である。
【００６４】
次に、スクロール情報・差分画面検出部９０１は、そのマージ結果をスクロール情報記憶部９０２へ記憶する（ステップＳ２０３）。そして、スクロール情報・差分画面検出部９０１は、前回転送画面記憶部１１２の記憶内容へスクロール情報記憶部９０２の記憶内容（スクロール情報）を適用する（ステップＳ２０４）。
【００６５】
次に、スクロール情報・差分画面検出部９０１は、スクロール情報記憶部９０２の記憶内容適用後の前回転送記憶部９０２の記憶内容と、転送画面記憶部１１０の記憶内容との差分を求める（ステップＳ２０５）。
【００６６】
次に、スクロール情報・差分画面検出部９０１は、上記で求めた差分を前回転送画面記憶部１１２へ反映する（ステップＳ２０６）。
【００６７】
最後に、スクロール情報・差分画面検出部９０１は、スクロール情報記憶部９０２の記憶内容と、画面差分情報をスクロール情報・差分画面送信部９０３に通知する。
【００６８】
次に、図１３Ａ、図１３Ｂ、および図１４Ａ、図１４Ｂを用いて、スクロール情報・差分画面送信部９０３に通知されるスクロール情報および画面差分情報の記憶内容を説明する。
【００６９】
図１３Ａに前回転送画面の記憶内容を示す。なお、図１３Ａに示す符号１００１の部分は、下記のスクロール後、非表示となる部分を示したものである。図１３Ｂに示すようなスクロール量４０６分のスクロールと表示内容変化部分１００３が発生したとする。その場合、スクロール情報・差分画面検出部９０１により、図１４Ａに示すスクロール情報（同図は、図形式で概念的に示したものである）と、図１４Ｂに示す画面差分情報（同図の例は、符号１００２で示すスクロールにより新規表示される領域と、符号１００３で示す表示内容変化部からなっている）が作成される。なお、スクロール情報は、図１４Ａでは概念的に画面イメージ（符号１００４で示す領域）で示しているが、スクロール領域座標、スクロール方向、およびスクロール量（Δ）として、スクロール情報記憶部９０２に記憶される。
【００７０】
次に、スクロール実施・差分画面更新部９０５での処理内容を、図１５を用いて説明する。
【００７１】
スクロール実施・差分画面更新部９０５は、画面情報生成装置１００Ｃからスクロール情報・差分画面受信部９０４経由で受信したスクロール情報を画面表示記憶部１２８の記憶内容へ適用する（ステップＳ３０１）。適用結果の例を図１６Ａに示す。この段階では、スクロール領域２０４がスクロール量（Δ）だけ上に移動したものとなる。
【００７２】
その次に、画面情報生成装置１００Ｃからスクロール情報・差分画面受信部９０４経由で受信した画面差分情報を、画面表示記憶部１２８の記憶内容（すなわち、ステップＳ３０１でスクロール情報を適用した結果）に適用する（ステップＳ３０２）。適用結果の例を図１６Ｂに示す。この段階で、スクロールにより新規表示される領域１００２と表示内容変化部１００３が上書きされた状態となる。この表示内容は、図１３Ｂの画面情報生成装置１００Ｃ側の転送画面情報の記憶内容と同じとなる。
【００７３】
第３の実施の形態については、スクロール領域の一部（スクロールにより新規表示される領域１００２）については、画面差分情報そのものではなく、スクロール方向、スクロール量、スクロール領域座標といった情報のみとなり、第１および第２の実施形態における画面差分情報の転送に比較すると、転送情報量の大幅な削減が可能となり、第１、第２の実施形態と比較してさらに画像転送負荷の低減が可能となる。
【００７４】
（変形例）
上記第３の実施形態の構成に対し、スクロール検出部１０２を、前述の第２の実施形態におけるスクロールキャプチャ部８０１に変更した構成とすることもできる。その動作等は、前述したとおりであるので、ここでの説明は省略する。
【００７５】
以上説明したとおり、上述の諸実施形態の画像転送システムによれば、画面スクロール時の視認性を低下させず、かつ画面情報転送時の負荷を抑えることが可能となる。
【００７６】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１  画像転送システム
２  ネットワーク
１００（１００Ａ，１００Ｂ，１００Ｃ）  画面情報生成装置
１０１  入力イベント受信部
１０２  スクロール検出部
１０３  スクロール領域記憶部
１０４  スクロール速度測定部
１０５  スクロール速度記憶部
１０６  差分検出周期記憶部
１０７  画面表示プログラム
１０８  画面表示ライブラリ
１０９  ウィンドウシステム
１１０  転送画面記憶部
１１１  画面差分検出部
１１２  前回転送画面記憶部
１１３  差分画面送信部
１２０（１２０Ａ，１２０Ｂ）  画面情報表示装置
１２１  入力デバイス
１２２  ディスプレイ
１２３  入出力インターフェース
１２４  入力イベント検出部
１２５  入力イベント送信部
１２６  差分画面受信部
１２７  差分画面更新部
１２８  画面表示記憶部
２０１  スクロールバー
２０２  ノブ
２０３ａ  上方向アロー
２０３ｂ  下方向アロー
２０４  スクロール領域
３０１  マウス座標
３０２  ノブ左側境界点
３０３  ノブ左上座標
３０４  ノブ右上座標
３０５  ノブ右下座標
３０６  ノブ左下座標
３０７  スクロールバー左上座標
３０８  スクロールバー右上座標
３０９  スクロールバー右下座標
３１０  スクロールバー左下座標
４０１  スクロール検出補助線
４０２  スクロール候補
４０３  マウスカーソル
４０４  スクロール検出補助線のスクロール対象外領域
４０５  スクロール検出補助線消去個所
４０６  スクロール量
５０１  スクロール領域情報（全スクロール領域用）
５０２  スクロール領域情報（スクロールＩＤ別）
６０１  スクロール速度情報
７０１  画面差分検出周期情報（スクロール領域無しの場合）
７０２  画面スクロール領域の画面差分検出周期情報
８０１  スクロールキャプチャ部
９０１  スクロール情報・差分画面検出部
９０２  スクロール情報記憶部
９０３  スクロール情報・差分画面送信部
９０４  スクロール情報・差分画面受信部
９０５  スクロール実施・差分画面更新部
１００１  スクロールによる非表示化領域
１００２  スクロールにより新規表示される領域
１００３  表示内容変化部分
１００４  スクロール情報として記憶する情報の基となる領域
【図１】
2015146098.tif 000003
【図２】
2015146098.tif 000004
【図３Ａ】
2015146098.tif 000005
【図３Ｂ】
2015146098.tif 000006
【図４】
2015146098.tif 000007
【図５Ａ】
2015146098.tif 000008
【図５Ｂ】
2015146098.tif 000009
【図６】
2015146098.tif 000010
【図７Ａ】
2015146098.tif 000011
【図７Ｂ】
2015146098.tif 000012
【図７Ｃ】
2015146098.tif 000013
【図８】
2015146098.tif 000014
【図９】
2015146098.tif 000015
【図１０】
2015146098.tif 000016
【図１１】
2015146098.tif 000017
【図１２】
2015146098.tif 000018
【図１３Ａ】
2015146098.tif 000019
【図１３Ｂ】
2015146098.tif 000020
【図１４Ａ】
2015146098.tif 000021
【図１４Ｂ】
2015146098.tif 000022
【図１５】
2015146098.tif 000023
【図１６Ａ】
2015146098.tif 000024
【図１６Ｂ】
2015146098.tif 000025