図1は、画面共有システムの一例を示す構成図である。画面共有システムは、互いにネットワークNWを介して接続された表示処理装置(第1装置)1及び端末装置(第2装置、他装置)2を有する。
表示処理装置1は、例えば、デスクトップ型PCなどのコンピュータ装置(つまり情報処理装置)であり、オフィスに設置されている。表示処理装置1は、ディスプレイに設けられた画面(第1画面)1aを有する。画面1aのサイズ(幅W1×高さH1)は、例えば3840×2400(ピクセル)である。
端末装置2は、例えば、スマートフォンなどの無線通信端末であり、現場の営業担当者や保守担当者が所持している。端末装置2は、表示処理装置1の画面1aより小さい画面(第2画面)2aを有する。画面2aのサイズ(幅W2×高さH2)は、例えば720×1280(ピクセル)である。
表示処理装置1の画面1aには、一例として、文書が表示されている。文書には、例えば、テキストT1,T2、画像(写真または図面など)G、及び背景(余白部分)Mが含まれる。なお、以降の例では、図1に示された画面1aの文書を挙げて、表示処理装置1の動作を説明する。
表示処理装置1は、画面1a内で指定された矩形の指定領域Lの表示データDTを、ネットワークNWを介して端末装置2に送信する。表示データDTは、例えばIP(Internet Protocol)パケットに収容されて送信される。
指定領域Lは、例えば、ユーザが、マウス1bまたはキーボード1cを用いて操作するポインタPの位置(基準位置)Sにより規定される。つまり、ユーザは、マウス1bまたはキーボード1cを用いてポインタPを自在に操作し、これに伴って指定領域Lが画面1a内を移動する。本実施例において、ポインタPの位置Sは、指定領域Lの中心に位置するが、これに限定されず、指定領域Lの角に位置してもよい。また、指定領域Lの形状は、矩形に限定されず、例えば円形であってもよい。
端末装置2は、受信した表示データDTを画面2aに表示する。つまり、表示処理装置1は、指定領域Lの表示データDTを送信することにより、端末装置2の画面2aに表示データDTを表示させる。ここで、指定領域Lの大きさは、端末装置2の画面2aのサイズに基づいて決定される。
このように、表示処理装置1は、画面1a内の指定領域Lの表示内容を、端末装置2と共有する。したがって、の画面共有システムを用いることにより、オフィスと現場の間で、文書などの情報資源を共有することができるため、作業効率が向上する。
ネットワークNWには、例えば、表示処理装置1が接続されたオフィス内のLAN(Local Area Network)と、端末装置2が接続された屋外の無線通信ネットワークとが含まれる。無線通信ネットワークの通信速度は、LANにおける通信速度より低く、また、遅延時間も、LANの遅延時間より大きい。
このため、仮に、表示処理装置1が、指定領域Lの表示データDTを、指定領域Lの移動のたびに小刻みに送信する場合、指定領域Lが上下左右に頻繁に変更されたとき、端末装置2に大量の表示データDTが送信される。このとき、端末装置2は、表示データDTの受信処理に多くの時間が要する。
したがって、端末装置2が、表示データDTを受信するたびに、画面2aを更新することにより、画面2aに表示された文書が上下左右に揺らぐため、端末装置2のユーザにとって指定領域Lの把握が困難になる。
そこで、本実施例の表示処理装置1は、画面1aを、テキストT1,T2、画像G、及び背景Mの種別に基づいて複数の属性領域に分け、指定領域Lに含まれる属性領域が他の属性領域に変化したとき、指定領域Lの表示データを送信する。これにより、端末装置2の画面2aが、効率的に更新される。以下に、本実施例の表示処理装置1及び端末装置2の構成を述べる。
図2は、表示処理装置1の一例を示す構成図である。表示処理装置1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、HDD(Hard Disk Drive)13、通信処理部14、可搬型記憶媒体用ドライブ15、入力処理部16、及び出力処理部17などを備えている。
CPU10は、演算処理手段であり、表示処理プログラムに従って動作する。CPU10は、各部11〜17とバス18を介して接続されている。なお、表示処理装置1は、ソフトウェアにより動作するものに限定されず、CPU10に代えて、特定用途向け集積回路などのハードウェアが用いられてもよい。
RAM12は、CPU10のワーキングメモリとして用いられる。また、ROM11及びHDD13は、CPU10を動作させる表示処理プログラムなどを記憶する記憶手段として用いられる。通信処理部14は、例えばネットワークカードであり、ネットワークNWを介して、端末装置2と通信を行う通信手段である。
可搬型記憶媒体用ドライブ15は、可搬型記憶媒体150に対して、情報の書き込みや情報の読み出しを行う装置である。可搬型記憶媒体150の例としては、USBメモリ(USB: Universal Serial Bus)、CD−R(Compact Disc Recordable)、及びメモリカードなどが挙げられる。なお、表示処理プログラムは、可搬型記憶媒体150に格納されてもよい。
表示処理装置1は、情報の入力操作を行うための入力デバイス160、及び、画面1aを有するディスプレイ170を、さらに備える。入力デバイス160は、キーボード1c及びマウス1bなどの入力手段であり、入力された情報は、入力処理部16を介してCPU10に出力される。ディスプレイ170は、液晶ディスプレイなどの表示手段であり、表示される表示データは、CPU10から出力処理部17を介してディスプレイ170に出力される。なお、入力デバイス160及びディスプレイ170に代えて、これらの機能を備えるタッチパネルなどのデバイスを用いることもできる。
CPU10は、ROM11、またはHDD13などに格納されているプログラム、または可搬型記憶媒体用ドライブ15が可搬型記憶媒体150から読み取ったプログラムを実行する。このプログラムには、OS(Operating System)だけでなく、上記の表示処理プログラムも含まれる。なお、プログラムは、通信処理部14を介してダウンロードされたものであってもよい。
図3は、端末装置2の一例を示す構成図である。端末装置2は、CPU20、ROM(Read Only Memory)21、RAM(Random Access Memory)22、通信処理部24、タッチパネル25、及び表示パネル26などを備えている。
CPU20は、演算処理手段であり、表示処理プログラムに従って動作する。CPU20は、各部21,22,24〜26とバス28を介して接続されている。なお、端末装置2は、ソフトウェアにより動作するものに限定されず、CPU20に代えて、特定用途向け集積回路などのハードウェアが用いられてもよい。
RAM22は、CPU20のワーキングメモリとして用いられる。また、ROM21は、CPU20を動作させる表示処理プログラムなどを記憶する記憶手段として用いられる。通信処理部24は、例えば、アンテナ及びRF信号処理回路などを含み、ネットワークNWを介して、表示処理装置1と通信を行う通信手段である。
タッチパネル25は、情報の入力手段であり、入力された情報は、CPU20に出力される。表示パネル26は、液晶パネルなどの表示手段であり、画面2aを有する。画面2aに表示される表示データは、CPU20から表示パネル26に出力される。なお、タッチパネル25及び表示パネル26は、重ね合わせられることにより、一体化されている。
CPU20は、ROM21などに格納されているプログラムを実行する。このプログラムには、OSだけでなく、上記の表示処理プログラムも含まれる。なお、プログラムは、通信処理部24を介してダウンロードされたものであってもよい。
CPU10,20は、各々の表示処理プログラムを実行すると、複数の機能が形成される。図4は、表示処理装置1及び端末装置2の各機能の一例を示す構成図である。図4には、CPU10,20に形成される各機能と、HDD13及びRAM22の格納情報の一例が示されている。
表示処理装置1において、CPU10は、セッション確立部100と、画面制御部101と、分割部102と、表示更新判定部103と、中間領域生成部104と、表示データ生成部105とを有する。HDD13には、文書データ130と、画面表示データ131と、領域分割情報132と、指定領域情報133と、サイズ情報134とが格納されている。
また、端末装置2において、CPU20は、セッション確立部200及び画面制御部201を有する。RAM22には、サイズ情報134及び表示データDTが格納されている。以下に各部の機能を述べる。
表示処理装置1のセッション確立部100は、通信処理部14を介して端末装置2にセッションの確立要求メッセージを送信する。端末装置2のセッション確立部200は、通信処理部24を介し、セッションの確立要求メッセージを受信すると、応答メッセージを、通信処理部24を介して表示処理装置1に送信する。これにより、表示処理装置1と端末装置2の間において、VPN(Virtual Private Network)などを用いたセッションが確立され、表示処理装置1から端末装置2に表示データDTを送信することが可能となる。
また、端末装置2のセッション確立部200は、RAM22から、画面2aのサイズを示すサイズ情報134を読み出して、通信処理部24を介して表示処理装置1に送信する。表示処理装置1のセッション確立部100は、通信処理部14を介してサイズ情報134を受信すると、HDD13に格納する。
表示処理装置1の画面制御部101は、画面1aの表示制御を行う。画面制御部101は、入力デバイス160の操作により生じた画面1aのスクロール量を、入力処理部16から取得する。画面制御部101は、HDD13から文書データ130を読み出し、文書データ130から、スクロール量に基づいて、画面1aの表示範囲内のデータを抽出して、画面表示データ131としてHDD13に書き込む。つまり、画面表示データ131は、文書全体のうち、ディスプレイ170の画面1aに表示される部分の表示データである。
画面制御部101は、画面表示データ131をHDD13に書き込んだ後、分割部102に書き込みの完了を通知する。分割部102は、画面制御部101から通知を受けると、HDD13から画面表示データ131を読み出す。
分割部102は、画面表示データ131を参照することにより、画面1aを、テキストT1,T2、画像G、及び背景Mに分けられた表示内容の種別に基づいて、複数の属性領域(領域)に分割する。分割手法の具体例は後述するが、分割部102は、一例として、画面1a内の色の分布に基づいて、画面1aを複数の属性領域に分割する。これにより、分割部102は、画面1aを、テキストT1,T2、画像G、及び背景Mの各属性領域に、明確に分けることができる。
分割部102は、画面1aの分割により得た各属性領域を示す領域分割情報132をHDD13に書き込む。領域分割情報132は、後述するように、各属性領域のID(識別子)及び位置範囲などを示す。なお、本実施例では、テキストT1,T2、画像G、及び背景Mの3種類の表示内容の種別に基づく分割例を挙げるが、これに限定されず、テキストT1,T2、画像G、及び背景Mのうちの2種類に基づいて画面1aを分割してもよい。
表示更新判定部103、中間領域生成部104、及び表示データ生成部105は、表示データDTの送信部10aを構成する。送信部10aは、入力デバイス160の操作により、指定領域Lが変更されたことにより、複数の属性領域のうち、指定領域Lに含まれる1以上の属性領域が他の1以上の属性領域に変化したとき、該変更後の指定領域Lの表示データDTを端末装置2に送信する。
より具体的には、送信部10aは、指定領域Lを規定するポインタPの位置(基準位置)S1が、複数の属性領域を隔てる境界を越えたとき、該変更後の指定領域Lの表示データDTを端末装置2に送信する。つまり、送信部10aは、ポインタPの位置Sが、属性領域の境界を超えることにより、指定領域Lに含まれる属性領域の構成が変更されたことを検出する。
表示更新判定部103は、領域分割情報132を参照することにより、入力処理部16から取得したポインタPの位置Sが含まれる属性領域の変化の有無を判定する。これにより、ポインタPの位置Sが属性領域の境界を越えたか否かが判定される。
表示更新判定部103は、ポインタPの位置Sが含まれる属性領域が変化した場合、表示データ生成部105に、ポインタPの位置Sとともに、表示データDTの生成を指示する。なお、表示更新判定部103は、サイズ情報134に基づいて、指定領域Lに含まれる属性領域の構成を判定し、判定結果に応じて、表示データ生成部105に表示データDTの生成を指示してもよい。
表示データ生成部105は、表示データDTの生成指示を受けると、HDD13からサイズ情報134、画面表示データ131、及び領域分割情報132を読み出すことにより、変更後の指定領域Lの表示データDTを生成する。表示データDTは、例えば、各属性領域から、指定領域Lと重複する部分を切り出し(クリッピング)、該切り出した部分同士を結合することにより生成される。生成された表示データDTは、通信処理部14を介して端末装置2に送信される。
端末装置2において、画面制御部201は、通信処理部24を介して表示データDTを受信し、RAM22に一時的に格納する。画面制御部201は、表示パネル26の表示の更新タイミングにおいて、RAM22から表示データDTを読み出して表示パネル26に出力する。これにより、表示パネル26に、表示データDTが表示される。
また、送信部10aは、変更前の指定領域Lと変更後の指定領域Lの間に重複する部分がない場合、変更後の指定領域Lの表示データDTを送信する前に、変更前の指定領域Lと変更後の指定領域Lの間に存在する中間領域の表示データDTを端末装置2に送信する。中間領域生成部104は、表示更新判定部103が表示データDTの生成指示を出力した場合、変更前の指定領域Lと変更後の指定領域Lの間の重複部分の有無を判定する。
このとき、中間領域生成部104は、HDD13からサイズ情報134及び指定領域情報133を読み出し、また、表示更新判定部103からポインタPの位置Sを取得する。指定領域情報133は、前回送信された表示データDTの指定領域Lの位置範囲を示す。中間領域生成部104は、指定領域Lの表示データDTの送信が行われるたびに、指定領域情報133を更新する。
中間領域生成部104は、指定領域情報133から更新前の指定領域Lの位置範囲を取得し、サイズ情報134及びポインタPの位置から変更後の指定領域Lの位置範囲を取得する。中間領域生成部104は、更新前の指定領域Lの位置範囲と変更後の指定領域Lの位置範囲を比較することにより、重複部分の有無を判定する。
中間領域生成部104は、重複部分がない場合、表示データ生成部105に、変更前の指定領域Lと変更後の指定領域Lの間に存在する中間領域の表示データDTの生成を指示する。本実施例において、中間領域生成部104は、変更前後の指定領域Lを規定する各ポインタPの位置Sの中点に基づいて中間領域の位置範囲を決定するが、これに限定されない。中間領域生成部104は、表示データ生成部105に、中間領域の表示データDTの生成指示とともに、中間領域の位置範囲を通知する。
表示データ生成部105は、中間領域の表示データDTの生成指示を受けると、中間領域の表示データDTを生成し、変更後の指定領域Lの表示データDTの送信より先に、通信処理部14を介して端末装置2に送信する。ここで、中間領域の表示データDTの生成は、指定領域Lの表示データDTの生成と同様に、画面表示データ131及び領域分割情報132に基づいて行われる。端末装置2において、画面制御部201は、中間領域の表示データDTを受信すると、RAM22に一時的に格納した後、表示パネル26に出力する。
このため、端末装置2の画面2aには、変更後の指定領域Lの表示データDTより先に、中間領域の表示データDTが表示される。したがって、更新前後の各指定領域Lの間が補完されることで、端末装置2のユーザにとって、変更後の指定領域Lの把握が容易となる。
次に、各CPU10,20が、各々の表示処理プログラムに従って実行する表示処理方法を説明する。図5は、表示処理装置1の表示処理プログラムのフローチャートである。
まず、セッション確立部100は、端末装置2にセッションの確立要求メッセージを送信する(ステップSt1)。次に、セッション確立部100は、端末装置2から応答メッセージが受信されたか否かを判定する(ステップSt2)。ここで、セッション確立部100は、例えば、確立要求メッセージの送信後の一定時間内に、応答メッセージが受信されたか否かを判定する。
応答メッセージが受信されない場合(ステップSt2のNo)、セッション確立部100は、処理を終了する。応答メッセージが受信された場合(ステップSt2のYes)、セッション確立部100は、VPNなどを用いて、端末装置2との間のセッションを確立する(ステップSt3)。これにより、表示処理装置1から端末装置2への表示データDTの送信が可能となる。
次に、セッション確立部100は、端末装置2から画面2aのサイズ情報134を受信する(ステップSt4)。受信したサイズ情報134は、HDD13に書き込まれ、指定領域Lの大きさの決定に用いられる。
次に、画面1aの分割処理が行われ(ステップSt5)、表示データDTの送信処理(ステップSt6)が行われる。なお、画面1aの分割処理及び表示データDTの送信処理については後述する。
次に、セッション確立部100は、入力デバイス160の操作に基づいて、セッションの終了の可否を判定する(ステップSt7)。セッションを終了しない場合(ステップSt7のNo)、再びステップSt5の処理が行われる。セッションを終了する場合(ステップSt7のYes)、表示処理プログラムの動作は終了する。このようにして、表示処理装置1の表示処理プログラムは実行される。
また、図6は、端末装置2の表示処理プログラムのフローチャートである。まず、セッション確立部200は、表示処理装置1からセッションの確立要求メッセージを受信したか否かを判定する(ステップSt31)。確立要求メッセージを受信していない場合(ステップSt31のNo)、受信セッション確立部200は、処理を終了する。
確立要求メッセージを受信した場合(ステップSt31のYes)、セッション確立部200は、表示処理装置1に応答メッセージを送信する(ステップSt32)。次に、セッション確立部200は、表示処理装置1に、画面2aのサイズ情報134を送信する(ステップSt33)。
次に、画面制御部201は、表示処理装置1から表示データDTを受信したか否かを判定する(ステップSt34)。表示データDTを受信していない場合(ステップSt34のNo)、後述するステップSt36の処理が行われる。表示データDTを受信した場合(ステップSt34のYes)、画面制御部201は、表示データDTを、一時的にRAM22に格納した後、画面2aに表示する(ステップSt35)。
次に、セッション確立部200は、表示処理装置1のセッション確立部100からの通知に基づいて、セッションの終了の可否を判定する(ステップSt36)。セッションを終了しない場合(ステップSt36のNo)、再びステップSt34の処理が行われる。セッションを終了する場合(ステップSt36のYes)、表示処理プログラムの動作は終了する。このようにして、端末装置2の表示処理プログラムは実行される。
次に、表示処理装置1において実行される画面1aの分割処理(ステップSt5)について述べる。図7は、画面1aの分割処理を示すフローチャートである。
まず、画面制御部101は、入力処理部16から、入力デバイス160の操作により生ずる画面1aのスクロール量を取得し、スクロール量に基づいて、画面1aのスクロールの有無を判定する(ステップSt11)。画面1aがスクロールした場合(ステップSt11のYes)、画面制御部101は、スクロール量に基づいて、HDD13内の文書データ130から、画面1aに表示される画面表示データ131を抽出する(ステップSt12)。つまり、画面1aがスクロールした場合、画面1aの表示内容が変更されるため、領域分割情報132を更新するために、画面1aの分割処理が行われる。
また、画面1aがスクロールしていない場合(ステップSt11のNo)、画面制御部101は、HDD13内に領域分割情報132が格納済みであるか否かを判定する(ステップSt18)。領域分割情報132が格納済みである場合(ステップSt18のYes)、画面制御部101は、処理を終了する。一方、領域分割情報132が格納済みではない場合(ステップSt18のNo)、上記のステップSt12の処理が行われる。つまり、画面1aがスクロールしていない場合でも、表示処理プログラムの起動直後は、領域分割情報132が存在しないため、画面1aの分割処理が行われる。
次に、分割部102は、抽出した画面表示データ131を参照することにより、画面1aを複数の単位領域に分割する(ステップSt13)。図8には、画面の分割例が示されている。図8(a)は、画面1aを複数の単位領域Uに分割した様子を示す。
分割部102は、画面1aを格子状に分割することにより、複数の単位領域Uを生成する。各単位領域Uは、例えば、同一サイズの正方形形状を有するが、これに限定されない。
次に、分割部102は、各単位領域Uに含まれる色を計数する(ステップSt14)。色の数は、例えば、画面表示データ131の色成分から取得される。
次に、分割部102は、各単位領域Uの表示内容(テキスト、画像、背景)を色数に基づいて判定する(ステップSt15)。つまり、分割部102は、画面1a内の色の分布に従って、単位領域Uの種別(属性)を判定する。
図9は、単位領域Uに含まれる色数の分布の一例を示すグラフである。図9において、横軸は、色数を表し、縦軸は、当該色数を含んだ単位領域Uの数である。
分割部102は、単位領域Uを、色数が1であるグループG1と、色数が2〜10であるグループG2と、色数が11以上であるグループG3とに分類する。ここで、グループG1に属する単位領域Uは、画面1aに表示された文書(図1参照)内の背景(余白部分)Mの範囲内に位置し、グループG2に属する単位領域Uは、画面1aに表示された文書内のテキストT1,T2の範囲内に位置する。また、グループG3に属する単位領域Uは、画面1aに表示された文書内の画像Gの範囲内に位置する。
次に、分割部102は、表示内容の種別が同一であり、隣接する単位領域U同士を結合することにより属性領域を生成する(ステップSt16)。図8(b)は、図1に示された画面1aを複数の属性領域に分割した場合の一例を示す。
本例において、画面1aは、4つの属性領域A1〜A4に分割される。属性領域A1は、文書内のテキストT1に対応し、属性領域A2は、文書内の画像Gに対応する。属性領域A3は、文書内のテキストT2に対応し、属性領域A4は、文書内の背景Mに対応する。
また、本例において、属性領域A1〜A4は、矩形形状を有しているが、これに限定されず、例えば円形形状を有してもよい。分割部102は、属性領域A1〜A4に、ID(識別子)として、例えば1〜4(「ID1」〜「ID4」参照)を付与する。
このように、分割部102は、画面1a内の色の分布に基づいて、画面1aを複数の属性領域A1〜A4に分割する。これにより、分割部102は、画面1aを、テキストT1,T2、画像G、及び背景Mの各属性領域A1〜A4に、明確に分けることができる。
さらに、分割部102は、単位領域Uごとに、色数に基づいて表示内容の種別を判定し、表示内容の種別が同一であり、隣接する単位領域U同士を結合することにより属性領域A1〜A4を生成する。このため、分割部102は、画面1aの分割を高精度に行うことができる。なお、画面1aの分割は、色数の分布に限定されず、例えば、線分要素の分布に基づいて行われてもよい。
次に、分割部102は、属性領域A1〜A4の生成結果(分割結果)を、領域分割情報132としてHDD13に記録する(ステップSt17)。このようにして、画面1aの分割処理は行われる。
図10には、領域分割情報132の一例が示されている。領域分割情報132は、「ID」と、「種別」と、「基準座標」と、「幅」と、「高さ」と、「判定フラグ」とを含む。
「ID」は、上述したように、各属性領域A1〜A4の識別子を示す。「基準座標」は、各属性領域A1〜A4の角の位置(本例では正面視で左上の角)を示す。「種別」は、各属性領域A1〜A4の表示内容の種別(テキスト、画像、背景)を示す。
また、「幅」及び「高さ」は、各属性領域A1〜A4の横及び縦の長さを示す。図8(b)には、一例として、属性領域A1の基準座標P1、幅Wa1、及び高さHa1が示されている。
「判定フラグ」は、各属性領域A1〜A4が、ポインタPの位置Sを含むか否かを示す。「判定フラグ」が「1」を示す場合、当該属性領域A1〜A4は、ポインタPの位置Sを含み、「判定フラグ」が「0」を示す場合、当該属性領域A1〜A4は、ポインタPの位置Sを含まない。図10の例では、属性領域A2(ID2)の「判定フラグ」が「1」を示し、他の属性領域A1,A3,A4(ID1,3,4)の「判定フラグ」が「0」を示すので、ポインタPの位置Sは、属性領域A2に含まれる。
「判定フラグ」は、表示データDTの送信処理において、表示更新判定部103により用いられ、更新される。表示更新判定部103は、上記の基準座標、幅、及び高さに基づいて、各属性領域A1〜A4の位置範囲を検出し、入力処理部16から取得したポインタPの位置Sと対比する。これにより、表示更新判定部103は、ポインタPの位置Sを含む属性領域A1〜A4(つまり、ポインタPが位置する属性領域A1〜A4)を判別する。
表示更新判定部103は、判別した属性領域A1〜A4と、「判定フラグ」が「1」を示す属性領域A1〜A4が一致しない場合、指定領域Lに変更が生じたものとみなし、表示データ生成部105に表示データDTの生成を指示する。そして、表示更新判定部103は、判別した属性領域A1〜A4の「判定フラグ」を「1」に更新し、他の属性領域A1〜A4の「判定フラグ」を「0」に更新する。なお、判別した属性領域A1〜A4と、「判定フラグ」が「1」を示す属性領域A1〜A4が一致する場合、表示データDTの生成指示は行われない。
次に、表示データDTの送信処理について述べる。図11は、表示データDTの送信処理を示すフローチャートである。
まず、表示更新判定部103は、入力処理部16からポインタPの位置Sを取得する(ステップSt21)。次に、表示更新判定部103は、ポインタPの位置Sが変更されたか否かを判定する(ステップSt22)。ここで、表示更新判定部103は、前回取得したポインタPの位置Sを保持しており、前回取得したポインタPの位置Sと新たに取得したポインタPの位置Sと比較することで、変更の有無を判定する。
ポインタPの位置Sに変更がない場合(ステップSt22のNo)、表示更新判定部103は、処理を終了する。ポインタPの位置Sが変更された場合(ステップSt22のYes)、表示更新判定部103は、ポインタPの位置Sが含まれる属性領域A1〜A4の変化の有無を判定する(ステップSt23)。すなわち、表示更新判定部103は、ポインタPの位置Sが、複数の属性領域A1〜A4を隔てる境界を越えたか否かを判定する。この判定には、上述したように、ステップSt21において取得したポインタPの位置Sと、領域分割情報132の「判定フラグ」とが用いられる。
ポインタPの位置Sが含まれる属性領域A1〜A4に変化がない場合(ステップSt23のNo)、表示更新判定部103は、処理を終了する。ポインタPの位置Sが含まれる属性領域A1〜A4が変化した場合(ステップSt23のYes)、中間領域生成部104は、ポインタPの位置S及びサイズ情報134に基づいて、変更後の指定領域Lを決定する(ステップSt24)。
次に、中間領域生成部104は、HDD13から指定領域情報133を読み出し、変更前の指定領域Lと変更後の指定領域Lの間に重複する部分が有るか否かを判定する(ステップSt25)。重複部分がある場合(ステップSt25のYes)、表示データ生成部105は、ポインタPの位置S及びサイズ情報134に基づき、画面表示データ131から変更後の指定領域Lの表示データDTを生成して、通信処理部14を介して端末装置2に送信する(ステップSt28)。以下に、更新前の指定領域Lと変更後の指定領域Lの間に重複する部分が有る場合の例を挙げて説明する。
図12には、指定領域Lの移動及び表示データDTの一例が示されている。図12(a)は、ポインタPが位置S1から位置S2に移動した場合の様子を示す。
本例において、移動前のポインタPの位置S1は、画像Gの属性領域A2に含まれており、移動後のポインタPの位置S2は、テキストT1の属性領域A1に含まれている。つまり、ポインタPは、属性領域A2と属性領域A1を隔てる境界Bを超えて移動している。このため、表示更新判定部103は、ステップSt23の処理において、ポインタPの位置Sが含まれる属性領域A1〜A4に変化があると判定する。
また、移動前のポインタPの位置S1により規定される変更前の指定領域L1と、移動後のポインタPの位置S2により規定される変更後の指定領域L2の間には、重複する部分が存在する。このため、表示更新判定部103は、ステップSt25の処理において、変更前の指定領域Lと変更後の指定領域Lの間に重複する部分が有ると判定する。したがって、表示データ生成部105は、中間領域の表示データDTを生成することなく、変更後の指定領域Lの表示データDTを生成して、端末装置2に送信する。
また、上述したように、指定領域Lの大きさ(幅W3×高さH3)は、端末装置2の画面2aのサイズ情報134に基づいて設定される。例えば、移動前のポインタPの位置S1を座標(Xs、Ys)とすると、変更前の指定領域L1の位置範囲(左上の角から右下の角)は、(Xs−W3/2,Ys+H3/2)〜(Xs+W3/2,Ys−H3/2)となる。
表示更新判定部103は、変更前後の指定領域L1,L2の各位置範囲を算出し、領域分割情報132から、各指定領域L1,L2に含まれる属性領域A1〜A4の構成の変化を検出し、検出結果に応じて、変更後の指定領域Lの表示データDTの生成可否を判定してもよい。図12(a)の例において、変更前の指定領域L1は、属性領域A1〜A3を含み、変更後の指定領域L2は、属性領域A1,A2,A4を含む。つまり、指定領域Lの変更により、指定領域Lに含まれる属性領域A1〜A4の構成が変化している。このため、表示更新判定部103は、表示データ生成部105に、変更後の指定領域L2の表示データDTの生成を指示する。
このように、表示処理装置1は、指定領域Lが変更されても、指定領域Lに含まれる属性領域A1〜A4の構成が変化した場合だけ、変更後の指定領域L2の表示データDTを端末装置2に送信する。このため、指定領域Lの変更に伴う表示データDTの送信頻度が低減されるので、端末装置2における表示データDTの受信処理に要する時間が削減される。
また、図12(b)及び図12(c)は、移動前及び移動後の指定領域L1,L2の表示データDTをそれぞれ示す。つまり、図12(b)及び図12(c)は、更新前及び更新後の端末装置2の画面2aをそれぞれ示す。図12(b)及び図12(c)を比べると、指定領域Lの変更の前後で画面2aの表示内容の構成が変化している。
このように、端末装置2の画面2aは、指定領域Lに含まれる属性領域A1〜A4の構成が変化したときだけ、更新されるため、揺らぎが防止されるとともに、ユーザにとって指定領域Lの把握が容易になる。
なお、本例では、更新前の画面2aと更新後の画面2aは、画像Gの属性領域A2の表示データDTが共通する。このため、表示処理装置1は、属性領域A2の表示データDTの送信を省いてもよい。この場合、端末装置2の画面制御部201は、予め、属性領域A2の全体の表示データDTをRAM22に保持しておき、更新後の画面2aに出力する。これにより、表示処理装置1は、表示データDTの送信量を低減できる。
再び図11を参照すると、中間領域生成部104は、更新前の指定領域Lと変更後の指定領域Lの間に重複する部分がない場合(ステップSt25のNo)、変更前の指定領域Lと変更後の指定領域Lの間に存在する中間領域を決定する(ステップSt26)。より具体的には、中間領域生成部104は、サイズ情報134と、変更前後の各指定領域Lを規定するポインタPの位置Sの中点とに基づいて、中間領域の位置範囲を決定する。中間領域生成部104は、表示データ生成部105に、中間領域の表示データDTの生成指示とともに、中間領域の位置範囲を通知する。
次に、表示データ生成部105は、HDD13から画面表示データ131を読み出し、変更後の指定領域Lの表示データDTの生成及び送信(ステップSt28)前に、中間領域の表示データDTを生成し、通信処理部14を介し端末装置2に送信する(ステップSt27)。次に、表示データ生成部105は、ステップSt28の処理を行い、処理を終了する。このようにして、表示データDTの送信処理は行われる。
図13には、指定領域Lの移動及び表示データDTの他例を示されている。図13(a)は、ポインタPが位置S1から位置S3に移動した場合の様子を示す。
本例において、移動前のポインタPの位置S1は、画像Gの属性領域A2に含まれており、移動後のポインタPの位置S3は、テキストT1の属性領域A1に含まれている。つまり、ポインタPは、属性領域A2と属性領域A1を隔てる境界Bを超えて移動している。このため、表示更新判定部103は、ステップSt23の処理において、ポインタPの位置Sが含まれる属性領域A1〜A4に変化があると判定する。
また、移動前のポインタPの位置S1により規定される変更前の指定領域L1と、移動後のポインタPの位置S3により規定される変更後の指定領域L3の間には、重複する部分が存在しない。このため、中間領域生成部104は、移動前のポインタPの位置S1と、移動後のポインタPの位置S3の中点Smの位置を算出し、サイズ情報134に基づいて、中点Smを基準位置とする中間領域Lmの位置範囲を算出する。ここで、中間領域Lmのサイズは、指定領域Lと同一であるため、中間領域Lmの位置範囲は、上述した指定領域L1の位置範囲の算出例と同様の手法で算出される。
表示データ生成部105は、変更後の指定領域L3の表示データDTを生成及び送信の前に、中間領域Lmの表示データDTを生成して、端末装置2に送信する。
図13(b)及び図13(c)は、中間領域Lm及び移動後の指定領域L3の表示データDTをそれぞれ示す。つまり、図13(b)及び図13(c)は、1回目及び2回目の更新後の端末装置2の画面2aをそれぞれ示す。また、移動前の指定領域L1の表示データDT、つまり更新前の端末装置2の画面2aは、図12(b)に示されるとおりである。つまり、端末装置2の画面2aには、図12(b)、図13(b)、及び図13(c)の各表示データDTが、この順に表示される。
図12(b)と図13(c)を比べると、移動前の指定領域L1の表示データDTと移動後の指定領域L3の表示データDTは、テキストT1の属性領域A1だけが共通する。このため、仮に、中間領域Lmの表示データDT(図13(b))を端末装置2の画面2aに表示しない場合、端末装置2のユーザは、指定領域L1の移動先(指定領域L3)を把握することが困難である。
これに対し、図12(b)と図13(b)を比べると、移動前の指定領域L1の表示データDTと中間領域Lmの表示データDTは、テキストT1の属性領域A1だけでなく、画像Gの属性領域A2も共通する。さらに、図13(b)と図13(c)を比べると、中間領域Lmの表示データDTと移動後の指定領域L3の表示データDTは、テキストT1の属性領域A1だけでなく、背景Mの属性領域A4も共通する。
このため、端末装置2の画面2aに、移動前の指定領域L1の表示データDTが表示された後、移動後の指定領域L3の表示データDTの表示前に、中間領域Lmの表示データDTを表示することで、端末装置2のユーザは、指定領域L1の移動先を容易に把握できる。つまり、表示処理装置1は、移動前の指定領域L1の表示データDTと移動後の指定領域L3の表示データDTの間を補完することで、端末装置2の画面2aの更新をスムーズにする。
これまで述べたように、実施例に係る表示処理装置1は、第1画面1a内で指定された指定領域Lの表示データDTを、第1画面1aより小さい第2画面2aを有する他装置(端末装置)2に送信することにより、第2画面2aに表示させる。分割部102は、第1画面1aを、テキスト、画像、及び背景のうち、少なくとも2種類に分けられた表示内容の種別に基づいて、複数の領域(属性領域)A1〜A4に分割する。送信部10aは、指定領域Lが変更されたことにより、複数の領域A1〜A4のうち、指定領域Lに含まれる1以上の領域が他の1以上の領域に変化したとき、該変更後の指定領域Lの表示データDTを他装置2に送信する。
上記の構成によると、送信部10aは、指定領域Lが変更されても、指定領域L内の領域の構成が他の領域の構成に変化した場合だけ、変更後の指定領域Lの表示データDTを他装置2に送信する。このため、指定領域Lの変更に伴う表示データDTの送信頻度が低減されるので、他装置2における表示データDTの受信処理に要する時間が削減される。
これにより、他装置2の第2画面2aは、指定領域L内の領域の構成が他の領域の構成に変化したときだけ、更新されるため、揺らぎが防止されるとともに、ユーザにとって指定領域Lの把握が容易になる。したがって、実施例に係る表示処理装置1によると、他装置2の画面2aを効率的に更新することができる。
また、実施例に係る表示処理方法は、第1装置(表示処理装置)1の第1画面1a内で指定された指定領域Lの表示データDTを、第1画面1aより小さい第2画面2aを有する第2装置(端末装置)2に送信することにより、第2画面2aに表示させる方法である。実施例に係る表示処理方法では、以下の工程をコンピュータが実行する。
工程(1):第1画面1aを、テキスト、画像、及び背景のうち、少なくとも2種類に分けられた表示内容の種別に基づいて、複数の領域(属性領域)A1〜A4に分割する。
工程(2):指定領域Lが変更されたことにより、複数の領域A1〜A4のうち、指定領域Lに含まれる1以上の領域が他の1以上の領域に変化したとき、該変更後の指定領域Lの表示データDTを第2装置2に送信する。
実施例に係る表示処理方法は、上記の表示処理装置1と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
また、実施例に係る表示処理プログラムは、第1装置(表示処理装置)1の第1画面1a内で指定された指定領域Lの表示データDTを、第1画面1aより小さい第2画面2aを有する第2装置(端末装置)2に送信することにより、第2画面2aに表示させるプログラムである。実施例に係る表示処理プログラムは、以下の処理をコンピュータに実行させる。
処理(1):第1画面1aを、テキスト、画像、及び背景のうち、少なくとも2種類に分けられた表示内容の種別に基づいて、複数の領域(属性領域)A1〜A4に分割する。
処理(2):指定領域Lが変更されたことにより、複数の領域A1〜A4のうち、指定領域Lに含まれる1以上の領域が他の1以上の領域に変化したとき、該変更後の指定領域Lの表示データDTを第2装置2に送信する。
実施例に係る表示処理プログラムは、上記の表示処理装置1と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 第1画面内で指定された指定領域の表示データを、前記第1画面より小さい第2画面を有する他装置に送信することにより、前記第2画面に表示させる表示処理装置において、
前記第1画面を、テキスト、画像、及び背景のうち、少なくとも2種類に分けられた表示内容の種別に基づいて、複数の領域に分割する分割部と、
前記指定領域が変更されたことにより、前記複数の領域のうち、前記指定領域に含まれる1以上の領域が他の1以上の領域に変化したとき、該変更後の前記指定領域の表示データを前記他装置に送信する送信部とを有することを特徴とする表示処理装置。
(付記2) 前記送信部は、前記指定領域を規定する基準位置が、前記複数の領域を隔てる境界を越えたとき、該変更後の前記指定領域の表示データを前記他装置に送信することを特徴とする付記1に記載の表示処理装置。
(付記3) 前記送信部は、該変更前の前記指定領域と該変更後の前記指定領域の間に重複する部分がない場合、該変更後の前記指定領域の表示データを送信する前に、該変更前の前記指定領域と該変更後の前記指定領域の間に存在する中間領域の表示データを前記他装置に送信することを特徴とする付記1または2に記載の表示処理装置。
(付記4) 前記分割部は、前記第1画面内の色の分布に基づいて、前記第1画面を前記複数の領域に分割することを特徴とする付記1乃至3の何れかに記載の表示処理装置。
(付記5) 前記分割部は、
前記第1画面を複数の単位領域に分割し、
前記単位領域の各々に含まれる色の数に応じて、前記単位領域ごとに前記表示内容の種別を判定し、
前記表示内容の種別が同一であり、隣接する前記単位領域同士を結合することにより、前記複数の領域の各々を生成することを特徴とする付記4に記載の表示処理装置。
(付記6) 第1装置の第1画面内で指定された指定領域の表示データを、前記第1画面より小さい第2画面を有する第2装置に送信することにより、前記第2画面に表示させる表示処理方法において、
前記第1画面を、テキスト、画像、及び背景のうち、少なくとも2種類に分けられた表示内容の種別に基づいて、複数の領域に分割する工程と、
前記指定領域が変更されたことにより、前記複数の領域のうち、前記指定領域に含まれる1以上の領域が他の1以上の領域に変化したとき、該変更後の前記指定領域の表示データを前記第2装置に送信する工程とを、コンピュータが実行することを特徴とする表示処理方法。
(付記7) 前記指定領域の表示データを送信する工程において、前記指定領域を規定する基準位置が、前記複数の領域を隔てる境界を越えたとき、該変更後の前記指定領域の表示データを前記他装置に送信することを特徴とする付記6に記載の表示処理方法。
(付記8) 前記指定領域の表示データを送信する工程において、該変更前の前記指定領域と該変更後の前記指定領域の間に重複する部分がない場合、該変更後の前記指定領域の表示データを送信する前に、該変更前の前記指定領域と該変更後の前記指定領域の間に存在する中間領域の表示データを前記他装置に送信することを特徴とする付記6または7に記載の表示処理方法。
(付記9) 前記第1画面を前記複数の領域に分割する工程において、前記第1画面内の色の分布に基づいて、前記第1画面を前記複数の領域に分割することを特徴とする付記6乃至8の何れかに記載の表示処理方法。
(付記10) 前記第1画面を前記複数の領域に分割する工程において、
前記第1画面を複数の単位領域に分割し、
前記単位領域の各々に含まれる色の数に応じて、前記単位領域ごとに前記表示内容の種別を判定し、
前記表示内容の種別が同一であり、隣接する前記単位領域同士を結合することにより、前記複数の領域の各々を生成することを特徴とする付記9に記載の表示処理方法。
(付記11) 第1装置の第1画面内で指定された指定領域の表示データを、前記第1画面より小さい第2画面を有する第2装置に送信することにより、前記第2画面に表示させる表示処理プログラムにおいて、
前記第1画面を、テキスト、画像、及び背景のうち、少なくとも2種類に分けられた表示内容の種別に基づいて、複数の領域に分割し、
前記指定領域が変更されたことにより、前記複数の領域のうち、前記指定領域に含まれる1以上の領域が他の1以上の領域に変化したとき、該変更後の前記指定領域の表示データを前記第2装置に送信する、処理を、コンピュータに実行させることを特徴とする表示処理プログラム。
(付記12) 前記指定領域の表示データを送信する処理において、前記指定領域を規定する基準位置が、前記複数の領域を隔てる境界を越えたとき、該変更後の前記指定領域の表示データを前記他装置に送信することを特徴とする付記11に記載の表示処理プログラム。
(付記13) 前記指定領域の表示データを送信する処理において、該変更前の前記指定領域と該変更後の前記指定領域の間に重複する部分がない場合、該変更後の前記指定領域の表示データを送信する前に、該変更前の前記指定領域と該変更後の前記指定領域の間に存在する中間領域の表示データを前記他装置に送信することを特徴とする付記11または12に記載の表示処理プログラム。
(付記14) 前記第1画面を前記複数の領域に分割する処理において、前記第1画面内の色の分布に基づいて、前記第1画面を前記複数の領域に分割することを特徴とする付記11乃至13の何れかに記載の表示処理プログラム。
(付記15) 前記第1画面を前記複数の領域に分割する処理において、
前記第1画面を複数の単位領域に分割し、
前記単位領域の各々に含まれる色の数に応じて、前記単位領域ごとに前記表示内容の種別を判定し、
前記表示内容の種別が同一であり、隣接する前記単位領域同士を結合することにより、前記複数の領域の各々を生成することを特徴とする付記14に記載の表示処理プログラム。