以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、本発明に係る画像表示システムの全体を示す概略図である。尚、以降の実施の形態の説明においては、画像表示システムをマルチディスプレイシステムと称する。マルチディスプレイシステム100は、例えばタッチパネルディスプレイ一体型である情報処理装置1が複数台、例えばルータを介する有線LANネットワークで互いに接続されて構成されている。ここで、情報処理装置1の接続方法は有線LANに限定されず、無線LAN又はその他のネットワークであってもよい。また、情報処理装置1は図1に示すタッチパネルディスプレイ一体型のものに限られず、タッチパネルディスプレイと、映像出力ケーブル又は無線映像転送システムにより接続されていてもよい。尚、本実施の形態においては、各情報処理装置1のタッチパネルディスプレイの表示解像度は例えば同一である。
図2は、本発明に係る情報処理装置1のハードウェア構成を示す構成図である。図2にあって、2は制御装置であり、3はタッチパネルディスプレイである。
制御装置2はCPU(Central Processing Unit)20、メモリ21、ストレージ22、通信IF(インターフェイス)23、画像出力IF24、及び制御I/O(入出力)25を有する。メモリ21、ストレージ22、通信IF23、画像出力IF24、及び制御I/O25はCPU20に接続されている。制御装置2はユーザにより情報処理装置1に入力される種々の操作、及びネットワークを介して他の装置から受信する信号等に基づいて種々の情報処理を行い、処理した情報をタッチパネルディスプレイ3又はネットワークに出力する。
メモリ21はDRAM又はSRAM等のRAMで構成されており、情報処理装置1が処理を行うデータ、及び処理により生成されたデータを一時的に記憶する。ストレージ22はEEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ、HDD(Hard Disk Drive)等の不揮発性の記憶手段である。ストレージ22には、情報処理装置1を動作させるためのプログラム及び必要なデータ、並びに情報処理装置1を用いてユーザが作成したデータ、及び外部から取得したデータ等が記憶される。
CPU20は、ストレージ22に記憶されているプログラムをメモリ21に読み出し、斯かるプログラムを読み込んで実行することにより様々な処理を行う。CPU20は、プログラムの命令に従い、情報処理装置1の各部の動作を制御し、ユーザによる入力データを処理し、タッチパネルディスプレイ3に画像を表示する。
通信IF23は、ネットワークを介して、他の情報処理装置を含む外部の装置とデータを送受信する。通信IF23は、例えばネットワークが有線LANである場合にはLANポート及びネットワークコントローラ等により構成され、無線LANである場合にはアンテナ及び無線コントローラ等により構成される。
画像出力IF24は、例えばタッチパネルディスプレイ3に画像を表示するためにCPU20が生成した画像データを出力するためのICである。
制御I/O25は、例えばタッチパネルディスプレイ3との間で情報処理装置1の動作に係るデータの入出力を行うためのICである。
タッチパネルディスプレイ3はディスプレイ30とタッチセンサ33とを組み合わせた構成である。タッチパネルディスプレイ3は他に、ディスプレイコントローラ31、画像入力IF32、及びタッチパネルI/O34を有する。ディスプレイコントローラ31は、ディスプレイ30、及び画像入力IF32に接続されている。
ディスプレイ30は、例えば液晶表示装置であって、CPU20が生成した画像データを画像として表示する。タッチセンサ33は、抵抗膜式、静電容量式、赤外線式等のタッチセンサであって、ユーザが指又はスタイラスペン等によってタッチパネルディスプレイ3をタッチしたことを検出し、タッチ信号として出力する。
ディスプレイコントローラ31は例えばディスプレイ30を制御するプロセッサである。画像入力IF32には、画像出力IF24から画像データが入力される。画像入力IF32は、入力された画像データをディスプレイコントローラ31に出力する。ディスプレイコントローラ31は、入力された画像データに基づく画像をディスプレイ30に表示させるよう、ディスプレイ30を制御する。
タッチセンサ33には、タッチパネルI/O34が接続されている。タッチセンサ33には、制御I/O25及びタッチパネルI/O34を介して入力される制御装置2からの指示信号が入力される。タッチセンサ33は、制御装置2から入力される指示信号に従って動作する。また、タッチセンサ33は、検出したタッチ信号を、タッチパネルI/O34及び制御I/O25を介して制御装置2のCPU20に出力する。CPU20は、タッチセンサ33が検出したタッチ信号に基づいて、ユーザがタッチしたタッチパネルディスプレイ3上の位置を検出する。
図3は、本発明に係る情報処理装置1を機能部構成により表したブロック図である。情報処理装置1は、制御部40、記憶部41、画像処理部42、画素データ抽出部43、通信部44、表示部45、及び入力部46を機能部として有する。
制御部40、画像処理部42、及び画素データ抽出部43は、CPU20がプログラムを実行することにより実現される機能部である。記憶部41はメモリ21により構成され、通信部44は通信IF23により構成され、表示部45はディスプレイ30及びディスプレイコントローラ31により構成され、入力部46はタッチセンサ33により構成される。
制御部40は、各機能部及びハードウェアの制御を含む、情報処理装置1の動作制御を行う。記憶部41は、表示部45に表示される画像の画素データ、及びオブジェクトのオブジェクトデータを記憶する。ここでオブジェクトとは画像の作成及び編集の単位である。具体的には、オブジェクトは、文字列、図形、及び写真等である。オブジェクトデータとは、オブジェクトを表示部45に表示するために必要なデータである。オブジェクトが新規生成された場合、又はオブジェクトに変更が加えられた場合(すなわちオブジェクトが編集された場合)、斯かるオブジェクトのオブジェクトデータが記憶部41に記憶される。
画像処理部42は、表示部45に表示される画像の画像処理を行う。特に、画像処理部42は、ページを単位として画像処理を行う。ここでページとは、情報処理装置1が画像を表示する際の単位である。例えば、一つのページの大きさは表示部45の表示領域の大きさと略等しいものとすることができる。画像処理部42が行う画像処理には、ページをキャプチャしてそのキャプチャ画像を生成する処理が含まれる。また、画像処理部42は、ユーザの操作に応じて、ページにオブジェクトを新規作成し、また作成されたオブジェクトに変更を加える。
画素データ抽出部43は、表示部45に表示される画像の特定部分の画素データを、当該画素データが記憶される記憶部41から抽出する。通信部44は、画素データ及びオブジェクトデータを含むデータを、他の情報処理装置1とネットワークを介して送受信する。入力部46には、ユーザによる操作が入力される。
以上の構成によって、本発明に係る情報処理装置1は、タッチパネルディスプレイ3へのユーザのタッチ操作による入力に基づいて画像を形成し、形成した画像をタッチパネルディスプレイ3に表示する。更に情報処理装置1は、表示されている画像に対するユーザのタッチ操作に基づいて、画像処理を行う。これにより、ユーザはタッチ入力で直感的に画像の作成及び編集を行うことができる。
更に、複数の情報処理装置1をネットワークを介して接続してマルチディスプレイシステム100を構成し、情報処理装置間で画像を転送し合って表示することにより、画像の表示及び編集が可能な領域を拡大することが可能である。これにより、画像の表示及び編集が可能な領域が単一のディスプレイの大きさにより制限されず、ユーザの利便性が向上する。マルチディスプレイシステム100を構成する各情報処理装置1は、画像をページ単位で表示し、他の情報処理装置1との間で転送するように構成することにより、後述するような画像転送処理時における演算量を削減できる処理方法を実現することができる。
次に、複数の情報処理装置1を連携してマルチディスプレイシステム100を構成するためにユーザが行う操作について、図4及び図5を参照して説明する。
図4及び図5は、複数台の情報処理装置1を連携させて画像を表示するための設定方法を示す図である。ここで、図4及び図5の夫々に示される2つの情報処理装置1は、互いに接続されている。また、図4及び図5の夫々に示される2つの情報処理装置1のうち、例えば右側がホスト、左側がゲストである。
最初に図4のように、ユーザはホスト側で複数台連携設定のための設定画面を表示させる。ホスト側で連携先設定を開始すると、同一のネットワークに接続されている他の情報処理装置1(ゲスト)のIPアドレスの一覧がタッチパネルディスプレイ3上に表示される。ユーザは、表示されている情報処理装置1の一覧から、ホストと連携させるゲストを選択し、タッチパネルディスプレイ3をタッチして指定する。尚、ネットワーク上のいずれの情報処理装置1をホストとするかはユーザが任意に決定することとしてよい。例えば、最初に設定画面を開いた情報処理装置1が自動的にホストとなる構成でもよい。
その後、図5のように、選択した連携先のゲストがホスト側の画面上で並べられて配置される。この画面上で、ユーザは連携先のゲストをタッチ操作により指定し、ドラッグして並び替えることにより、実際のホストとゲストの配置に従って情報処理装置間で画像転送処理が行われるように指定することができる。以上の操作により、マルチディスプレイシステム100を構成するための設定が完了する。
尚、複数の情報処理装置1の配置設定は、図4及び図5に示されるような水平方向にのみ限られず、垂直方向又は斜め方向であってもよい。また、マルチディスプレイシステム100における設定上の情報処理装置1の配置と実際の配置とは必ずしも同じでなくともよい。
本実施の形態に係るマルチディスプレイシステム100は、ゲストは画像の閲覧のためのみに用いられ、ユーザがゲスト側でオブジェクトの新規作成及び編集を行うことができないように設定されている。
以下、図面を参照して、本実施の形態に係るマルチディスプレイシステム100の動作について説明をする。
図6及び図7は、実施の形態1に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理におけるホスト側及びゲスト側夫々の動作手順を示すフローチャートである。図8、図9、及び図19から図21までは、実施の形態1に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理の動作イメージを表す概念図である。図10は、図6のフローチャート中におけるサブルーチンであるスライド処理P1の動作手順を示すフローチャートである。図11から図15までは、図6のフローチャート中におけるサブルーチンである画素データ抽出処理P2の動作手順を示すフローチャートである。図16から図18までは、画素データ抽出処理P2の処理イメージを示す概念図である。
以下では、前述の連携設定において、図面に示される隣接する情報処理装置1のうち右側のものがホストとして、左側のものがゲストとして設定されている例について説明する。また、簡単のため、ホスト側からゲスト側までのページのスライド表示が右から左への水平方向である場合を例示して説明する。ただし、ホストとゲストの配置位置は限定されず、ページのスライド表示は左から右の水平方向、垂直方向、又は斜め方向にも行われ得る。
更に、表示部45に表示される画像の各画素は、画像上における位置である画像座標(x,y)と、表示される表示部45の表示領域における位置、すなわちディスプレイ30の画素の位置を示す表示座標(X,Y)とを夫々有する。以降の説明においては、小文字で示される座標変数は画像座標に係り、大文字で示される座標変数は表示座標に係る。
第1の場合として、図8に示すように、マルチディスプレイシステム100のホストにオブジェクトを含むページが表示されており、ゲストにはページが表示されていない場合の動作について説明する。初めに、ホスト側の画像転送処理の手順について説明する。図8に示す状態で、ホスト側の情報処理装置1の制御部40は、入力部46にユーザによってフリック又はスワイプ等のタッチパネルディスプレイ3をなぞる操作が入力されたか否かを判定する(ステップS1)。
ホスト側の制御部40は、入力部46にユーザによるフリック又はスワイプ操作が入力されなかったと判定した場合(S1:NO)、入力されたと判定するまでステップS1を繰り返す。制御部40が、入力部46にフリック又はスワイプ操作が入力されたと判定した場合(S1:YES)、画像処理部42は、表示部45に表示されているオブジェクトを含むページを、画像処理部42が当該ページをキャプチャして生成したキャプチャ画像に置き換えて表示部45に表示する(ステップS2)。ここでキャプチャ画像は、例えばJPEG又はPNG等の圧縮方式で圧縮された静止画像である。また、キャプチャ画像に置き換える際には、元のページに表示されていたオブジェクトのオブジェクトデータは記憶部41に記憶される。
画像処理部42がオブジェクトを含むページをキャプチャしてキャプチャ画像を生成するタイミングとしては、例えばユーザがオブジェクトの新規作成又は編集を行ったときと設定することができる。この場合、画像処理部42は、ユーザがオブジェクトの新規作成又は編集を行う毎にページをキャプチャしてキャプチャ画像を記憶部41に保存する。画像処理部42はユーザによるフリック又はスワイプ操作に応じて、表示部45に表示されているページを、記憶部41に記憶されているキャプチャ画像のうち最新のものに置き換える。これに替えて、画像処理部42は、入力部46に入力されたユーザによるフリック又はスワイプ操作に応じてキャプチャ画像を生成するように構成されてあってもよい。
図9は、情報処理装置1間での画像転送処理を実行中のゲスト及びホストの状態を示している。ステップS2でページをキャプチャ画像に置き換えた後、画像処理部42は、当該キャプチャ画像をユーザがフリック又はスワイプ操作により入力した方向へ、例えば操作の速さに応じて決定した1フレームあたりの画素数分、表示部45にスライド表示させるキャプチャ画像のスライド処理P1を行う(ステップS3)。
図10を参照して、画像処理部42が実行するサブルーチンであるスライド処理P1の動作手順について説明する。以降の説明においては一例として、表示部45の表示領域の座標、すなわち表示座標の原点が表示領域の左上に設定されており、右向きが水平方向のX軸の正の向きであり、下向きが垂直方向のY軸の正の向きであると設定されているとする。同様に、画像座標の原点も左上に設定されており、右向きがx軸の正の向きであり、下向きがy軸の正の向きであると設定されているとする。
画像処理部42は、入力部46が検出したフレーム開始時の表示領域上のユーザによるタッチ位置(Xn,Yn)を取得する(ステップS200)。ここでフレーム開始時とは、例えばディスプレイ30の垂直同期信号に同期したタイミングである。次に画像処理部42は、記憶部41に前フレームの開始時に取得したタッチ位置(Xn−1,Yn−1)が記憶されているか否かを判定する(ステップS201)。
(Xn−1,Yn−1)が記憶されていると判定した場合(S201:YES)、画像処理部42は記憶部41から(Xn−1,Yn−1)を読み出す(ステップS202)。続いて画像処理部42は、取得した(Xn,Yn)と、読み出した(Xn−1,Yn−1)との差分から、画像をスライド表示させるスライド量(Xs,Ys)を算出する(ステップS203)。より詳しくは、画像処理部42は、XnからXn−1を減算してXsを算出し、YnからYn−1を減算してYsを算出する。
一方、(Xn−1,Yn−1)が記憶されていないと判定した場合(S201:NO)、画像処理部42は、前フレームにおける処理で算出した(Xs,Ys)が記憶部41に記憶されているか否かを判定する(ステップS204)。(Xs,Ys)が記憶されていると判定した場合(S204:YES)、画像処理部42は記憶されている前フレームの(Xs,Ys)から新たな(Xs,Ys)の値を算出する(ステップS205)。具体的には、フリック操作によって画像を慣性スクロールさせるように構成されてある場合、例えば前フレームの(Xs,Ys)に対して一定割合減じた値を新たな(Xs,Ys)とする。これに対して、慣性スクロールさせないように構成されている場合、Xs,Ys共に0とする。
ステップS203又はS205で(Xs,Ys)を算出した後、画像処理部42は、スライドさせる対象の画像の各画素の表示座標値夫々に(Xs,Ys)を加算し(ステップS206)、これによって新たな表示座標値を算出する。画像処理部42は、斯かる加算後の表示座標値を記憶部41に記憶する(ステップS207)。続いて画像処理部42は、加算後の表示座標値に基づき、表示部45に画像を表示する(ステップS208)。
画像を表示した後、画像処理部42は、ステップS205で算出した(Xs,Ys)を記憶部41に記憶する(ステップS209)。(Xs,Ys)を記憶した後、又はステップS204で前フレームの(Xs,Ys)が記憶されていないと判定した場合(S204:NO)、画像処理部42は、ステップS200で取得した(Xn,Yn)を記憶部41に記憶する(ステップS210)。その後、画像処理部42はスライド処理P1を終了してメインルーチンに処理を戻す。
ステップS3でスライド処理P1を実行して画像をスライド表示させた後、画素データ抽出部43は、画像がスライド表示させられたことにより表示領域の境界に達した画素の画素データを抽出するサブルーチンである画素データ抽出処理P2を実行する(ステップS4)。
図11から図15までのフローチャート及び図16から図18までの概念図を参照して、画素データ抽出部43が実行する画素データ抽出処理P2の動作手順を説明する。画像がスライドさせられる方向は、Xs及びYsと0とを比較することにより、水平方向、垂直方向、及び斜め方向に分類することができる。画像がいずれの方向にスライドするかによって、データを転送する先のゲストが異なる。よって、上記3種類のスライド方向の分類に対応して、抽出した画素データを保存する記憶部41に3つのアドレス領域を設定することができる。
画素データ抽出部43は、画像処理部42がスライド処理P1において算出したXsの値と0とを比較する(ステップS300)。ステップS300において画素データ抽出部43は、Xsが0より小さいか、0より大きいか、又は0に等しいかを判定する。
Xsが0より小さいと判定した場合(S300:<0)、すなわち画像のスライドの水平成分が左方向である場合、画素データ抽出部43は、記憶部41に前フレームでの画素データ抽出処理P2における変数Lborderが記憶されているか否かを判定する(ステップS301)。ここでLborderは、スライドさせられた画像における表示領域の左側境界の位置を、画像x座標で表した変数である。Lborderが記憶されていると判定した場合(S301:YES)、画素データ抽出部43は、画像x座標に係るカウンタc_xにLborderを代入する(ステップS302)。すなわち、c_xを初期化する。これは、画像x座標に関してループ処理を実行するためである。記憶部41にLborderが記憶されていることは、前フレームにおいて画素データ抽出処理P2が実行され、表示領域の左側境界に達した画素の画素データが抽出され記憶されていることを意味する。斯かる場合、現フレームで新たに左側境界に到達した差分領域の画素データを抽出するため、c_xをLborderの値で初期化する。一方、記憶部41にLborderが記憶されていないと判定した場合(S301:NO)、画素データ抽出部43は、c_xにxminを代入し(ステップS303)、c_xを初期化する。ここでxminは、画像x座標の最小値であって、例えば0である。
c_xを初期化した後、画素データ抽出部43は、画像処理部42がスライド処理P1において算出したYsと0とを比較する(ステップS304)。すなわち、ステップS300と同様に、Ysが0より小さいか、0より大きいか、又は0に等しいかを判定する。
Ysが0より小さいと判定した場合(S304:<0)、画像のスライド方向は表示部45の左上方向である(図16)。斯かる場合、画素データ抽出部43は、ステップS301と同様に、記憶部41にTborderが記憶されているか否かを判定する(ステップS305)。ここでTborderは、スライドさせられた画像における表示領域の上側境界の位置を、画像y座標で表した変数である。Tborderが記憶されていると判定した場合(S305:YES)、画素データ抽出部43は、画像y座標に係るカウンタc_yにTborderを代入し(ステップS306)、c_yを初期化する。記憶部41にTborderが記憶されていることは、前フレームにおいて画素データ抽出処理P2が実行され、表示領域の上側境界に達した画素の画素データが抽出され記憶されていることを意味する。一方、記憶部41にTborderが記憶されていないと判定した場合(S305:NO)、画素データ抽出部43は、c_yにyminを代入する(ステップS307)。ここでyminは、画像y座標の最小値であって、例えば0である。
図16に示すように、画素データ抽出処理P2においては、前フレームにおいての画像における表示領域の境界位置と、現フレームにおいての画像における表示領域の境界位置との間の差分領域の画素データを抽出する。画像のスライド方向が左上方向である場合、画素データ抽出部43は、画像の左上から順に画素データを抽出する。
c_yへの代入後、画素データ抽出部43は、画像座標が(c_x,c_y)である画素の表示X座標がXMINより小さいか否かを判定する(ステップS308)。ここで、XMINは表示部45の表示領域のX座標の最小値であって、すなわち表示領域の左側境界の表示X座標である。画像の画素の表示X座標とXMINとを比較することにより、画素データ抽出部43は、当該画素が表示領域の左側境界に達したか否かを判定することができる。
当該画素の表示X座標がXMINより小さいと判定した場合(S308:YES)、画素データ抽出部43は更に、画像座標が(c_x,c_y)である画素の表示Y座標がYMINより小さいか否かを判定する(ステップS309)。ここで、YMINは表示部45の表示領域のY座標の最小値であって、すなわち表示領域の上側境界の表示Y座標である。画像の画素の表示Y座標とYMINとを比較することにより、画素データ抽出部43は、当該画素が表示領域の上側境界に達したか否かを判定することができる。
当該画素の表示Y座標がYMINより小さいと判定した場合(ステップS309:YES)、すなわち当該画素が表示領域の左側及び上側の2つの境界に共に達した場合、画素データ抽出部43は、当該画素の画素データ、例えばRGB値及び画像座標を、記憶されている記憶部41から抽出し(ステップS310)、記憶部41の異なるアドレス領域である第3領域に記憶する(ステップS311)。ここで、第3領域は、水平方向及び垂直方向の2つの境界夫々に達した画素の画素データを記憶するアドレス領域である。
第3領域に画素データを記憶した後、画素データ抽出部43はc_yをインクリメント(値を1増やす)して(ステップS312)、ステップS309の判定、及びそれに続く画素データの抽出処理を順次繰り返す。
ステップS312でc_yを繰り返しインクリメントした結果、画素データ抽出部43が、画像座標が(c_x,c_y)である画素の表示Y座標がYMIN以上であると判定した場合(S309:NO)、画素データ抽出部43は、当該画素の画素データを記憶部41から抽出し(ステップS313)、記憶部41の異なるアドレス領域である第1領域に記憶する(ステップS314)。ここで、第1領域は、左右いずれかの境界に達した画素の画素データを記憶するアドレス領域である。画素データを第1領域に記憶した後、画素データ抽出部43は、c_yをインクリメントする(ステップS315)。その後、画素データ抽出部43は、c_yが画像y座標の最大値であるymaxより大きいか否かを判定する(ステップS316)。このステップS316により、c_yに係るループ処理が終了点に達したか否かを判定する。
c_yがymax以下であると判定した場合(S316:NO)、画素データ抽出部43は処理をステップS313まで戻して、垂直方向一列の画素データの抽出を順次繰り返す。一方、c_yのインクリメントが繰り返された結果、画素データ抽出部43が、c_yがymaxより大きいと判定した場合(S316:YES)、画素データ抽出部43は、c_yについてのループ処理を終了してc_xをインクリメントし(ステップS317)、処理をステップS305まで戻す。これにより画素データ抽出部43は、異なる画像x座標の垂直方向一列の画素データについて、抽出処理を順次繰り返す。
ステップS308で、画像座標が(c_x,c_y)である画素の表示X座標がXMIN以上であると判定するに至った場合(S308:NO)、画素データ抽出部43は、変数Lborderにc_xの値を代入し(ステップS318)、Lborderを更新する。c_xが初期値からインクリメントを繰り返された結果、画像座標が(c_x,c_y)である画素の表示X座標がXMINと等しくなったときのc_xの値が、画像における表示領域の左側境界の位置である。次に画素データ抽出部43は、画像座標が(c_x,c_y)である画素の表示Y座標がYMINより小さいか否かを判定する(ステップS319)。
小さいと判定した場合(S319:YES)、画素データ抽出部43はc_xにLborderを代入して(ステップS320)、c_xを初期化する。画素データ抽出部43は、画像座標(c_x,c_y)の画素の画素データを記憶部41から抽出し(ステップS321)、記憶部41の異なるアドレス領域である第2領域に記憶する(ステップS322)。ここで、第2領域は、上下いずれかの境界に達した画素の画素データを記憶するアドレス領域である。画素データを第2領域に記憶した後、画素データ抽出部43は、c_xをインクリメントする(ステップS323)。
その後、画素データ抽出部43は、c_xが、画像X座標の最大値であるxmaxより大きいか否かを判定する(ステップS324)。このステップS324により、c_xに係るループ処理が終了点に達したか否かを判定する。c_xがxmax以下であると判定した場合(S324:NO)、画素データ抽出部43は、処理をステップS321まで戻し、水平方向一列の画素データの抽出を順次繰り返す。一方、c_xのインクリメントが繰り返された結果、画素データ抽出部43が、c_xがxmaxより大きいと判定した場合(ステップS324:YES)、画素データ抽出部43は、c_xについてのループ処理を終了してc_yをインクリメントし(ステップS325)、処理をステップS319まで戻す。すなわち、異なる画像y座標の水平方向一列の画素データについて、抽出処理を順次繰り返す。
ステップS325でc_yのインクリメントが繰り返された結果、画像座標が(c_x,c_y)である画素の表示Y座標がYMIN以上であると判定するに至った場合(S319:NO)、画素データ抽出部43は境界に達したすべての画素の画素データを抽出し終えている。斯かる場合、画素データ抽出部43は、Tborderにc_yの値を代入し(ステップS326)、Tborderを更新する。c_yが初期値からインクリメントを繰り返された結果、画像座標が(c_x,c_y)である画素の表示Y座標がYMINと等しくなったときのc_yの値が、画像における表示領域の上側境界の位置である。画素データ抽出部43は、更新したTborderを記憶部41に記憶する(ステップS327)。続いて、画素データ抽出部43は、Lborderを記憶部41に記憶する(ステップS328)。
Tborder及びLborderを記憶した後、画素データ抽出部43はサブルーチンである画素データ抽出処理P2を終了し、処理をメインルーチンに戻す。
ステップS304で、Ysが0に等しいと判定した場合(S304:=0)、画像のスライド方向が垂直成分を含まず、画像が水平方向左向きにスライドする(図17)。斯かる場合、画素データ抽出部43は、c_yにyminを代入する(ステップS329)。これにより、画素データ抽出部43は、画像y座標について最小値から順にループ処理を行う。c_yにyminを代入後、画素データ抽出部43は、画像座標が(c_x,c_y)である画素の表示X座標がXMINより小さいか否かを判定する(ステップS330)。小さいと判定した場合(S330:YES)、すなわち当該画素が表示領域の左側の境界に達している場合、画素データ抽出部43は、画像座標(c_x,c_y)の画素の画素データを記憶部41から抽出し(ステップS331)、記憶部41の第1領域に記憶する(ステップS332)。
その後、画素データ抽出部43はc_yをインクリメントする(ステップS333)。続いて、画素データ抽出部43は、インクリメントされたc_yがymaxより大きいか否かを判定する(ステップS334)。c_yがymax以下であると判定した場合(S334:NO)、画素データ抽出部43は処理をステップS331まで戻し、垂直方向一列の画素について画素データの抽出処理を順次繰り返す。一方、c_yのインクリメントが繰り返された結果、画素データ抽出部43が、c_yがymaxより大きいと判定するに至った場合(S334:YES)、画素データ抽出部43は、c_xをインクリメントし(ステップS335)、処理をステップS329まで戻す。すなわち、異なる画像x座標の垂直方向一列の画素データについて、抽出処理を順次繰り返す。
ステップS335でc_xのインクリメントが繰り返された結果、画像座標が(c_x,c_y)である画素の表示X座標がXMIN以上であると判定するに至った場合(S330:NO)、画素データ抽出部43は境界に達したすべての画素の画素データを抽出し終えている。斯かる場合、画素データ抽出部43は、ステップS318と同様に、Lborderにc_xの値を代入して更新し(ステップS336)、更新したLborderを記憶部41に記憶する(ステップS328)。
ステップS304で画素データ抽出部43が、Ysが0より大きいと判定した場合(S304:>0)、画像は左下方向にスライドする。斯かる場合、画素データ抽出部43はステップS337からS360までの処理を実行する。このステップS337からS360までの処理は、画像が左上方向にスライドする場合についてのステップS305からS328までと対応している。よって、共通部分については省略して簡潔に説明する。
Ysが0より大きいと判定した場合(S304:>0)、画素データ抽出部43は、Bborderが記憶部41に記憶されているか否かを判定する(ステップS337)。ここでBborderは、スライドさせられた画像における表示領域の下側境界の位置を、画像y座標で表した変数である。Bborderが記憶されていると判定した場合(S337:YES)、画素データ抽出部43は、画像y座標に係るカウンタc_yにBborderを代入する(ステップS338)一方、Bborderが記憶されていないと判定した場合(S337:NO)、画素データ抽出部43は、c_yにymaxを代入する(ステップS339)。ここでymaxは、画像y座標の最大値である。
ステップS340における判定は、ステップS308と同様である。続いてステップS341において、画素データ抽出部43は更に、画像座標が(c_x,c_y)である画素の表示Y座標がYMAXより大きいか否かを判定する。ここで、YMAXは表示部45の表示領域のY座標の最大値であって、すなわち表示領域の下側境界の表示Y座標である。画像の画素の表示Y座標とYMAXとを比較することにより、画素データ抽出部43は、当該画素が表示領域の下側境界に達したか否かを判定することができる。
スッテプS342からS344までは、スッテプS310からステップS312までに対応している。ただし、ステップS344において、c_yをデクリメント(値を1減らす)する点が異なる。これは、画素データ抽出部43が、画像の左下から順に画素データを抽出するためである。
ステップS341で、画像座標が(c_x,c_y)である画素の表示Y座標がYMAX以下であると判定した場合に画素データ抽出部43が行うステップS345からS349までの処理は、ステップS313からS317までに対応している。ただし、ステップS347でc_yをデクリメントする点、及びステップS348でc_yとyminとを比較する点が異なる。
ステップS340において、画像座標が(c_x,c_y)である画素の表示X座標がXMIN以上であると判定した場合のステップS350からS360までの処理は、S318からS328までに対応している。
ステップS350はS318と同様である。ステップS351において、画像座標が(c_x,c_y)である画素の表示X座標がYMAXより大きいか否かを判定する。ステップS352からステップS356までは、ステップS320からS324までと同様であるため、説明を省略する。ステップS357で、画素データ抽出部43は、c_yをデクリメントし、処理をステップS351まで戻す。
ステップS351において、画像座標が(c_x,c_y)である画素の表示X座標がYMAX以下であると判定した場合(ステップS351:NO)、画素データ抽出部43は、Bborderにc_yの値を代入し(ステップS358)、Bborderを更新する。続いて、画素データ抽出部43は、更新したBborderを記憶部41に記憶する(ステップS359)。ステップS360はS328と同様である。
ステップS300でXsが0に等しいと判定した場合(S300:=0)、すなわち画像のスライドが水平方向の成分を含まない場合、画素データ抽出部43は更に、Ysと0とを比較する(ステップS361)。
Ysが0より小さいと判定した場合(S361:<0)、画像は上方向にスライドする(図18)。斯かる場合、画素データ抽出部43は、記憶部41にTborderが記憶されているか否かを判定する(ステップS362)。Tborderが記憶されている場合(S362:YES)、すなわち前フレームにおいて抽出された画素データが記憶されている場合、画素データ抽出部43は、c_yにTborderを代入し(ステップS363)、c_yを初期化する。一方、Tborderが記憶されていないと判定した場合(S362:NO)、画素データ抽出部43は、c_yにyminを代入し(ステップS364)、c_yを初期化する。
続いて画素データ抽出部43は、c_xにxminを代入し(ステップS365)、c_xを初期化する。c_x及びc_yの初期化後、画素データ抽出部43は、画像座標が(c_x,c_y)である画素の表示Y座標がYMINより小さいか否かを判定する(ステップS366)。小さいと判定した場合(S366:YES)、画素データ抽出部43は、当該画素の画素データを記憶部41から抽出し(ステップS367)、記憶部41の第2領域に記憶する(ステップS368)。その後、画素データ抽出部43は、c_xをインクリメントし(ステップS369)、インクリメントされたc_xがxmaxより大きいか否かを判定する(ステップS370)。大きくないと判定した場合(S370:NO)、画素データ抽出部43は、処理をステップS367に戻し、画素データの抽出を順次繰り返す。
一方、c_xがxmaxより大きいと判定した場合(S370:YES)、画素データ抽出部43は、c_yをインクリメントする(ステップS371)。ステップS371におけるc_yのインクリメントが繰り返された結果、画像座標が(c_x,c_y)である画素の表示X座標がYMIN以上であると判定するに至った場合(S366:NO)、画素データ抽出部43は、その時のc_yの値をTborderに代入し(ステップS372)、Tborderを更新する。その後、画素データ抽出部43は更新されたTborderを記憶部41に記憶し(ステップS373)、画素データ抽出処理P2を終了して、処理をメインルーチンに戻す。
ステップS361で、画素データ抽出部43が、Ysが0に等しいと判定した場合(S361:=0)、画像はスライドしない。斯かる場合、画素データ抽出部43は、画素データ抽出処理P2を終了し、処理をメインルーチンに戻す。
ステップS361で、画素データ抽出部43が、Ysが0より大きいと判定した場合(S361:>0)、画像は下方向へスライドする。斯かる場合に画素データ抽出部43が実行するステップS374からS385までの処理は、上方向へスライドする場合のステップS362からS373までに対応している。したがって、共通部分については省略して、簡潔に説明する。
ステップS374において、画素データ抽出部43は、Bborderが記憶部41に記憶されているか否かを判定する。記憶されていると判定した場合(S374:YES)、画素データ抽出部43はc_yにBborderを代入する(ステップS375)。記憶されていないと判定した場合(S374:NO)、画素データ抽出部43はc_yにymaxを代入する(S376)。
ステップS377は、ステップS365と同様である。これにより、画素データ抽出部43は、差分領域の左下から順に画素データを抽出する。続いて、画素データ抽出部43は、画像座標が(c_x,c_y)である画素の表示Y座標がYMAXより大きいか否かを判定する(ステップS378)。
大きいと判定した場合(S378:YES)のステップS379からS382までの処理は、S367からS370までの処理と同様である。ステップS383において画素データ抽出部43は、ステップS371とは異なり、c_yをデクリメントする。
ステップS378において、画像座標が(c_x,c_y)である画素の表示X座標がYMAX以下であると判定した場合(S378:NO)、画素データ抽出部43はBborderにその時のc_yの値を代入し(ステップS384)、Bborderを更新する。その後、画素データ抽出部43は、更新されたBborderの値を記憶部41に記憶し(ステップS385)、画素データ抽出処理P2を終了して、処理をメインルーチンに戻す。
Xsが0より大きい場合(S300:>0)のステップS386からS445までの処理は、Xsが0より小さい場合のステップS301からS360までの処理に対応している。したがって、共通部分については省略して簡潔に説明する。
ステップS386からS388までは、S301からS303までに対応している。ただし、ステップS386においてはRborderが記憶されているか否かを判定し、ステップS387ではRborderをc_xに代入する。また、ステップS388では、c_xにxmaxを代入する。すなわち、ステップS386からS445までにおいては、c_xについて初期値からデクリメントするループ処理を行う点がステップS301からS360までと異なる。
ステップS389は、ステップS304と同様である。ステップS389で画素データ抽出部43が、Ysが0より小さいと判定した場合(S389:<0)、画像は右上方向にスライドする。斯かる場合、画素データ抽出部43はステップS390からS413までの処理を実行する。このステップS390からS413までの処理は、画像が左上方向にスライドする場合についてのステップS305からS328までと対応している。
ステップS390からS397までは、ステップS393でXMAXより大きいか否かを比較する点以外はステップS305からS312までと同様である。更に、ステップS398からS402までは、ステップS402でc_xをデクリメントする点以外はステップS313からS317までと同様である。
ステップS403において、画素データ抽出部43は、Rborderにc_xを代入してRborderを更新する。ステップS404からステップS410までは、ステップS405でc_xにRborderを代入する点、ステップS408でc_xをデクリメントする点、及びステップS409でc_xとxminとを比較する点以外は、ステップS319からS325までと同様である。また、ステップS411及びS412は、ステップS326及びS327と同様である。ステップS413で、画素データ抽出部43は、Rborderを記憶部41に記憶する。その後、画素データ抽出部43は、画素データ抽出処理P2を終了して処理をメインルーチンに戻す。
ステップS389で画素データ抽出部43が、Ysが0に等しいと判定した場合(S389:=0)、画像は右方向にスライドする。斯かる場合、画素データ抽出部43はステップS414からS421までの処理を実行する。このステップS414からS421までの処理は、画像が左方向にスライドする場合についてのステップS329からS336までと対応している。
ステップS414は、ステップS329と同様である。ステップS415においては、XMAXと比較する点が、ステップS330と異なる。ステップS416からS419までは、ステップS331からS334までと同様である。ステップS420で、画素データ抽出部43は、c_xをデクリメントし、その後に処理をステップS414まで戻す。ステップS421で、画素データ抽出部43は、Rborderにその時のc_xを代入して更新し、ステップS413で更新したRborderを記憶部41に記憶する。その後、画素データ抽出部43は、画素データ抽出処理P2を終了して処理をメインルーチンに戻す。
ステップS389で画素データ抽出部43が、Ysが0より大きいと判定した場合(S389:>0)、画像は右下方向にスライドする。斯かる場合、画素データ抽出部43はステップS422からS445までの処理を実行する。このステップS422からS445までの処理は、画像が左下方向にスライドする場合についてのステップS337からS360までと対応している。
ステップS422からS424までは、S337からS339までと同様である。ステップS425からS429までは、ステップS425でXMAXと比較する点以外は、S340からS344までと同様である。また、ステップS430からS434までは、ステップS434でc_xをデクリメントする点以外は、ステップS345からS349までと同様である。
ステップS435で、画素データ抽出部43は、Rborderにc_xを代入し、Rborderを更新する。ステップS436は、ステップS351と同様である。ステップS437で、画素データ抽出部43は、c_xにRborderを代入する。ステップS438からS442までは、ステップS440でc_xをデクリメントする点、及びステップS441でc_xとxminとを比較する点以外は、ステップS353からS357までと同様である。また、ステップS443及びS444は、ステップS358及びS359と同様である。ステップS445で、画素データ抽出部43は、Rborderを記憶部41に記憶する。その後、画素データ抽出部43は、画素データ抽出処理P2を終了し、処理をメインルーチンに戻す。
以上の処理手順により、画素データ抽出部43は、画素データ抽出処理P2を実行し、画像のうちスライドにより表示領域の境界に達した画素の画素データを抽出し、記憶部41に記憶する。
制御部40は、抽出した画素データを記憶部41から読み出して通信部44に出力し、通信部44は、入力された画素データをネットワークを介してゲスト側に送信する(ステップS5)。このとき、データ送信先のゲストがホストの左右に設定されている場合、制御部40は、記憶部41の第1領域から画素データを読み出して通信部44に出力する。同様に、データ送信先のゲストがホストの上下に設定されている場合には制御部40は、記憶部41の第2領域から画素データを読み出し、斜め方向に設定されている場合には記憶部41の第3領域から読み出す。ステップS5で通信部44が画素データを送信した後、制御部40は、生成されたキャプチャ画像の全部の画素データがゲスト側に送信されたか否かを、フレーム毎に判定する(ステップS6)。キャプチャ画像の全部の画素データがゲスト側に送信されたと判定した場合(S6:YES)、制御部40は画像転送処理を終了する。一方、キャプチャ画像の画素データの全部はゲスト側に送信されていないと判定した場合(S6:NO)、制御部40は処理をステップS3まで戻し、次フレームの処理を繰り返す。
次に、ゲスト側の画像受信処理の手順について説明する。ゲスト側の制御部40は、通信部44がネットワークを介して外部から画素データを受信したか否かを判定する(ステップS7)。通信部44が画素データを受信していないと判定した場合(S7:NO)、制御部40は受信したと判定するまでステップS7を繰り返す。
通信部44が画素データを受信したと判定した場合(S7:YES)、制御部40は、受信した画素データにより構成されるキャプチャ画像とは異なる他の画像により構成されるページが表示部45に表示されているか否かを判定する(ステップS8)。
本実施の形態においては、ゲストは閲覧専用であるため、ゲスト側に表示されるページは例えば単一の静止画像により構成される。ゲスト側に表示される静止画像は、例えばホスト側が生成したキャプチャ画像と同一の方式で圧縮された静止画像である。
他の画像が表示部45に表示されていない場合(S8:NO)、すなわち図8に示されているような場合、制御部40はステップS9からS13までをスキップし、通信部44が受信した画素データにより構成されるキャプチャ画像の一部が表示部45に表示されているか否かを判定する(ステップS14)。制御部40が、キャプチャ画像の一部が表示部45に表示されていると判定した場合(S14:YES)、画像処理部42は、表示されているキャプチャ画像を、受信した画素データを表示するために必要な幅だけ、右から左にスライドさせるように受信キャプチャ画像のスライド処理P1を実行する(ステップS15)。
キャプチャ画像をスライドさせた後、画像処理部42は、キャプチャ画像の1フレーム内でのスライドにより空いた表示領域に、受信した画素データに基づくキャプチャ画像の受信部分を、既に表示されている部分に繋げて表示する(ステップS16)。すなわち、キャプチャ画像のうちゲスト側の表示部45に表示される部分が拡大する。一方、制御部40が、キャプチャ画像が表示部45に表示されていないと判定した場合(S14:NO)、画像処理部42は表示領域のホスト側の端に、受信した画素データに基づくキャプチャ画像の受信部分を表示する(ステップS16)。
受信した画素データに基づく画像が表示部45に表示された後、制御部40は、通信部44がキャプチャ画像の全部の画素データを受信したか否かを判定する(ステップS17)。通信部44がキャプチャ画像の画素データの全部は受信していないと判定した場合(S17:NO)、制御部40は処理をステップS7に戻し、更に画素データを受信して次フレームの処理を行う。
一方、通信部44がキャプチャ画像の全部の画素データを受信したと判定した場合(S17:YES)、表示部45にキャプチャ画像の全部が表示されているため、制御部40は画像受信処理を終了する。以上に示したホスト側及びゲスト側の処理により、ホスト側に表示されていたページがゲスト側へスライド表示され転送される(図19)。
次に、図20に示すように、マルチディスプレイシステム100のホスト側及びゲスト側に夫々、ページが表示されている場合における画像転送処理について説明する。
ゲスト側にページが表示されている場合においても、ホスト側の動作は、ゲスト側にページが表示されていない場合と同じである。したがって、ホスト側の動作については説明を省略する。ゲスト側においては、ステップS8で制御部40が、受信した画素データにより構成されるキャプチャ画像とは異なる他の画像により構成されるページが表示部45に表示されていると判定した場合(S8:YES)、画像処理部42は、他の画像のスライド処理P1を実行し、斯かる他の画像を、ホスト側でキャプチャ画像がスライドする方向に対応してスライドさせる(ステップS9)。続いて、制御部40の画素データ抽出部43は、他の画像のうちスライドによって表示部45の表示領域の境界に達したために表示されなくなる部分の画素を抽出するよう画素データ抽出処理P2を実行する(ステップS10)。
その後、制御部40は、他のゲストが自装置に、ホストとは逆側に隣接して連携するように設定されているか否かを判定する(ステップS11)。すなわち、図20に示される例においては、ゲストの左側に別のゲストが隣接して連携するように設定されているか否かを判定する。
制御部40が、自装置に別のゲストが隣接して連携するように設定されていると判定した場合(S11:YES)、通信部44は、画素データ抽出部43が抽出した画素データを、隣接する別のゲストに送信する(ステップS12)。一方、自装置に別のゲストが隣接して連携するように設定されていないと判定した場合(S11:NO)、制御部40は、画素データ抽出部43が抽出した画素データを記憶部41に記憶させる(ステップS13)(図21)。
ステップS14からS17までは、ゲスト側に他の画像が表示されていない場合と同様であるため、説明を省略する。
以上の動作手順により、ホスト側からゲスト側まで、滑らかなスライド表示により画像を転送することができる。
本実施の形態に係るマルチディスプレイシステムでは、一旦ホスト側からゲスト側まで転送されて表示されているキャプチャ画像を、ユーザの操作によりゲスト側からホスト側まで逆方向に転送して表示することが可能である。以下、図22から図27までを参照して、ゲスト側からホスト側への画像逆転送処理について説明する。
図22は、実施の形態1に係るマルチディスプレイシステム100でのゲスト側からホスト側への画像逆転送処理におけるホスト側及びゲスト側夫々の動作手順を示すフローチャートである。図23から図27までは、実施の形態1に係るマルチディスプレイシステム100でのゲスト側からホスト側への画像逆転送処理の動作イメージを表す概念図である。画像逆転送処理を開始するためには、図9に示すように、マルチディスプレイシステム100のゲスト側にホスト側から転送されたキャプチャ画像が表示されている必要がある。
最初に、画像逆転送処理のゲスト側における動作手順から説明する。ゲストとなっている情報処理装置1の制御部40は、入力部46にユーザによりゲスト側からホスト側への方向、図9においては左から右へのフリック又はスワイプ操作が入力されたか否かを判定する(ステップS20)。フリック又はスワイプ操作が入力されていないと判定した場合(S20:NO)、制御部40は、入力されたと判定するまでS20を繰り返す。
制御部40が、フリック又はスワイプ操作が入力されたと判定した場合(S20:YES)、画像処理部42は、キャプチャ画像を左から右へ、1フレームの時間内で表示部45にスライド表示させるようキャプチャ画像のスライド処理P1を実行する(ステップS21)(図23)。制御部40の画素データ抽出部43は、キャプチャ画像のうち、スライド表示させられたことによって1フレームの間に表示部45の表示領域の境界に達したために表示部45に表示されなくなった部分を抽出するよう画素データ抽出処理P2を実行する(ステップS22)。制御部40は抽出された画素データを記憶部41から読み出して通信部44に出力し、通信部44は、制御部40から入力された画素データをネットワークを介してホストに送信する(ステップS23)。
続いて、制御部40は、ホスト側から転送されてきたキャプチャ画像を表示部45にスライド表示させるために表示されなくなった他の画像の画素データが記憶部41に記憶されているか否かを判定する(ステップS24)。斯かる画素データは図6のフローチャートのステップS13において記憶部41に記憶されたものである。記憶部41に他の画像の画素データが記憶されていないと判定した場合(S24:NO)、すなわち図9及び図23に示されるような場合、制御部40は、ステップS25からS27までをスキップし、ステップS28まで処理を進める。
一方、記憶部41に他の画像の画素データが記憶されていると判定した場合(S24:YES)、すなわち図25に示されるような場合、制御部40は、記憶されている他の画像の一部が表示部45に表示されているか否かを判定する(ステップS25)。制御部40が、記憶されている他の画像が表示部45に表示されていないと判定した場合(S25:NO)、画像処理部42は、表示部45の表示領域のうちキャプチャ画像の1フレーム内でのスライドにより空いた領域に、記憶部41に記憶されている画素データに基づいて他の画像を表示する(ステップS27)。
制御部40が、他の画像の一部が表示部45に表示されていると判定した場合(S25:YES)、画像処理部42は、表示部45の表示領域のうちキャプチャ画像の1フレーム内でのスライドにより空いた領域に、記憶されている他の画像のうち表示されている部分をスライド表示させるように他の画像のスライド処理P1を実行する(ステップS26)。その後、画像処理部42は、表示部45の表示領域のうち他の画像の表示されている部分のスライドにより空いた領域に、記憶部41に記憶されている画素データに基づく画像を、他の画像の既に表示されている部分に繋げるように表示する(ステップS27)(図26)。
ステップS27で、画像処理部42が記憶部41に記憶されている画素データに基づく他の画像を表示した後、又は制御部40が、記憶部41に他の画像の画素データが記憶されていないと判定した場合(S24:NO)、制御部40は、キャプチャ画像の全部の画素データがホスト側へ送信されたか否かを、フレーム毎に判定する(ステップS28)。キャプチャ画像の画素データの全部はホスト側へ送信されていないと判定した場合(S28:NO)、制御部40は処理をステップS21まで戻し、次フレームの処理を行う。キャプチャ画像の全部の画素データがホスト側へ送信されたと判定した場合(S28:YES)、制御部40はゲスト側の画像逆転送処理を終了する。
次に、画像逆転送処理のホスト側における動作手順について説明する。ホストとなっている情報処理装置1の制御部40は、通信部44がネットワークを介して外部から画素データを受信したか否かを判定する(ステップS29)。通信部44が画素データを受信していないと判定した場合(ステップS29:NO)、制御部40は、画素データを受信すると判定するまでステップS29を繰り返す。
通信部44が画素データを受信したと判定した場合(ステップS29:YES)、制御部40は、通信部44が受信した画素データにより構成されるキャプチャ画像の一部が表示部45に表示されているか否かを判定する(ステップS30)。制御部40が、斯かる受信キャプチャ画像が表示部45に表示されていないと判定した場合(S30:NO)、画像処理部42は、受信した画素データに基づいて表示部45にキャプチャ画像の受信部分を表示する(ステップS32)。
一方、制御部40が、キャプチャ画像の一部が表示部45に表示されていると判定した場合(S30:YES)、画像処理部42は、キャプチャ画像の表示されている部分を、当該キャプチャ画像がゲスト側でスライドした方向に対応する方向へ、1フレームの時間内で表示部45にスライド表示させるように、キャプチャ画像のスライド処理P1を実行する(ステップS31)。それに続いて、画像処理部42は、表示部45の表示領域のうちキャプチャ画像の表示されている部分のスライドにより空いた領域まで、受信した画素データに基づくキャプチャ画像の受信部分を、同じキャプチャ画像の既に表示されている部分に繋げて表示する(ステップS32)(図26)。
ステップS32で、画像処理部42が受信した画素データに基づくキャプチャ画像を表示した後、制御部40は、通信部44がキャプチャ画像の全部の画素データを受信したか否かを、フレーム毎に判定する(ステップS33)。通信部44がキャプチャ画像の画素データの全部は受信しなかったと判定した場合(S33:NO)、制御部40は処理をステップS29まで戻し、更に画素データを受信して次フレームの処理を行う。
制御部40が、通信部44がキャプチャ画像の全部の画素データを受信したと判定した場合(S33:YES)、表示部45にはキャプチャ画像の全部分が表示されている(図24)。斯かる場合、画像処理部42は、記憶部41に記憶されているオブジェクトデータに基づいて、キャプチャ画像を作成する元となったページに含まれていたオブジェクトを再構成し、キャプチャ画像と置き換えて表示する(ステップS34)(図27)。これにより、元のページが、オブジェクトの編集が可能となった状態で再現される。画像処理部42がステップS34でオブジェクトを再構成して表示した後、ホスト側の制御部40は画像受信処理を終了する。
尚、ゲスト側からホスト側への画像逆転送処理が開始されるのは、ホスト側からゲスト側へキャプチャ画像の全部が転送された場合に限られない。例えば、ホスト側からゲスト側への画像転送処理中において、双方の表示部45にキャプチャ画像がまたがって表示されているときに、ユーザがホスト側又はゲスト側のいずれかのタッチパネル上で、ゲスト側からホスト側の方向へキャプチャ画像をフリック又はスワイプ操作したことに応じて、ゲスト側からホスト側への画像逆転送処理を開始してもよい。又はその逆に、ゲスト側からホスト側への画像逆転送処理中において、双方の表示部45にキャプチャ画像がまたがって表示されているときに、ユーザがホスト側又はゲスト側のいずれかのタッチパネル上でフリック又はスワイプ操作をしたことに応じて、ホスト側からゲスト側への画像転送処理を開始してもよい。
以上の構成及び動作手順により、複数の情報処理装置から成るマルチディスプレイシステムにおいて、情報処理装置間でスライドによる滑らかな画像転送処理が実現され、連携して画像を表示できる領域が拡がる。
(実施の形態2)
実施の形態1においては、ゲストは画像の閲覧のみに用いられる構成としている。これに対し、実施の形態2においては、ユーザがゲスト側でオブジェクトの新規作成及び編集ができる構成とする。以下、本実施の形態における、実施の形態1と異なる特徴について具体的に説明する。
本実施の形態に係るマルチディスプレイシステムの構成、情報処理装置の構成、及び情報処理装置間の連携設定については実施の形態1と同様であるため、説明を省略する。
以下、本実施の形態に係るマルチディスプレイシステムの動作手順について、関連する図面を参照して説明する。
図28及び図29は、実施の形態2に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理におけるホスト側及びゲスト側夫々の動作手順を示すフローチャートである。図30及び図31は、実施の形態2に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理の動作イメージを表す概念図である。
図28におけるホスト側のステップS40からS45までは、ホストがゲストに画像を転送する処理(図30)の一部である。ステップS40からS45までの手順は、実施の形態1のステップS1からS6までと同様であるため、説明を省略する。ステップS45で、ホスト側の制御部40が、キャプチャ画像の全部の画素データがゲスト側に送信されたと判定した場合(S45:YES)、制御部40は元のページのオブジェクトに係るオブジェクトデータを記憶部41から読み出して通信部44に出力し、通信部44は、入力されたオブジェクトデータをネットワークを介してゲスト側に送信する(ステップS46)(図31)。その後、ホスト側の制御部40は画像転送処理を終了する。
次にゲスト側の画像受信処理の手順について説明する。最初に、ゲスト側の制御部40は、通信部44がネットワークを介して外部から画素データを受信したか否かを判定する(ステップS47)。通信部44が画素データを受信していないと判定した場合(S47:NO)、制御部40は、受信したと判定するまでステップS47を繰り返す。
通信部44が画素データを受信したと判定した場合(S47:YES)、制御部40は、受信した画素データにより構成されるキャプチャ画像とは異なる他のキャプチャ画像により構成されるか、又は一のページとは異なるオブジェクトを含む他のページが表示部45に表示されているか否かを判定する(ステップS48)。他のページが表示部45に表示されていないと判定した場合(S48:NO)、制御部40はステップS49からS55までをスキップし、処理をステップS56まで進める。ステップS56からS59までは、実施の形態1のステップS14からS17までと同様であるため、説明を省略する。
一方、他のページが表示部45に表示されていると判定した場合(S48:YES)、制御部40は、それが表示部45に表示されていたオブジェクトを含む他のページから画像処理部42が作成したキャプチャ画像により、元の他のページが置き換えられたものであるか、すなわち画像が置き換え済みであるか否かを判定する(ステップS49)。制御部40が、表示部45に表示されているページが置き換え済みのキャプチャ画像でないと判定した場合(S49:NO)、すなわちオブジェクトを含む他のページが表示部45に表示されている場合、画像処理部42は表示されているオブジェクトを含む他のページをキャプチャしキャプチャ画像を生成し、生成したキャプチャ画像で元の他のページを置き換える(ステップS50)。このとき、元の他のページに表示されていたオブジェクトのオブジェクトデータは記憶部41に記憶される。
画像処理部42がキャプチャ画像を生成し置き換えた後、又は制御部40が、既にキャプチャ画像により元の他のページが置き換え済みであると判定した場合(S49:YES)、制御部40は、処理をステップS51へと進める。ステップS51からS59までは、実施の形態1のステップS9からS17までと同様であるため、説明を省略する。
ステップS59で、制御部40が、通信部44がキャプチャ画像の全部の画素データを受信したと判定した場合(S59:YES)、すなわちその結果により表示部45にキャプチャ画像の全部分が表示されている場合、制御部40は、ステップS48の時点で他のページが表示部45に表示されていた否かを再度判定する(ステップS60)。ステップS60ではステップS48と同じ処理を行うため、例えばステップS48での判定時における判定結果をフラグで管理して記憶する構成としてもよい。
表示部45に他のページが表示されていたと判定した場合(S60:YES)、制御部40は、ステップS53と同様に、隣接ゲストが設定されているか否かを判定する(ステップS61)。隣接ゲストが設定されていると判定した場合(S61:YES)、制御部40は元の他のページのオブジェクトに係るオブジェクトデータを記憶部41から読み出して通信部44に出力し、通信部44は、制御部40から入力されたオブジェクトデータをネットワークを介して隣接ゲストに送信する(ステップS62)。
一方、隣接ゲストが設定されていないと判定した場合(S61:NO)、制御部40はオブジェクトデータを記憶部41に記憶し続ける(ステップS63)。
ステップS62又はS63の後、通信部44は、受信したキャプチャ画像の元となったページに含まれていたオブジェクトのオブジェクトデータを受信する(ステップS64)。その後、画像処理部42は、受信したオブジェクトデータに基づいて、キャプチャ画像を作成する元となったページに含まれていたオブジェクトを再構成し、受信したキャプチャ画像と置き換えて表示する(ステップS65)(図31)。これにより、転送元のホスト側に表示されていたオブジェクトがゲスト側でも表示されるため、ユーザはゲスト側においてもオブジェクトの新規作成及び編集を行うことができる。ステップS65で、オブジェクトを再構成した後、ゲスト側の制御部40は画像受信処理を終了する。
本実施の形態に係るマルチディスプレイシステム100においても、実施の形態1と同様に、ユーザの操作によりゲスト側からホスト側までページを逆方向に転送して表示することが可能である。ただし、本実施の形態においては、ゲスト側でオブジェクトの新規作成及び編集が可能であるため、画像逆転送処理においてもページからキャプチャ画像が生成される。以下、関連する図を参照して、ゲスト側からホスト側への画像逆転送処理について説明する。
図32は、実施の形態2に係るマルチディスプレイシステム100でのゲスト側からホスト側への画像逆転送処理におけるホスト側及びゲスト側夫々の動作手順を示すフローチャートである。図33は、実施の形態2に係るマルチディスプレイシステム100でのゲスト側からホスト側への画像逆転送処理におけるホスト側及びゲスト側夫々の動作イメージを表す概念図である。画像逆転送処理を開始するためには、実施の形態1と同様に(図9)、マルチディスプレイシステム100のゲスト側にホスト側から転送されたページが表示されている必要がある。
ゲストとなっている情報処理装置の動作手順から説明する。ゲスト側のステップS70からS74までは、図28のホスト側のステップS40からS44まで(又は図5のステップS1からステップS5まで)と同様であるため、説明を省略する。更に、ステップS75からS78までは、実施の形態1の図22のステップS24からS27までと同様であるため、説明を省略する。
ステップS78で通信部44が画素データを送信した後、制御部40は、通信部44がキャプチャ画像の全部の画素データを送信し、且つ記憶部41に記憶されていた他のキャプチャ画像の全部が表示部45に表示されているか否かを、フレーム毎に判定する(ステップS79)。制御部40が、通信部44がキャプチャ画像の画素データの全部は送信していない、又は記憶部41に記憶されていた他のキャプチャ画像の全部は表示部45に表示されていないと判定した場合(S79:NO)、制御部40は処理をステップS72まで戻し、次フレームの処理を行う。
一方、制御部40が、通信部44がキャプチャ画像の全部の画素データを送信し、且つ記憶部41に記憶されていた他のキャプチャ画像の全部が表示部45に表示されていると判定した場合(S79:YES)、画像処理部42は、記憶部41に記憶されているオブジェクトデータに基づいてオブジェクトを再構成し、他のキャプチャ画像と置き換えて表示する(ステップS80)(図33)。その後、ゲスト側の制御部40は、画像逆転送処理を終了する。
ホスト側の画像受信処理の動作手順(ステップS81からS86まで)については、実施の形態1のステップS29からS34と同様であるため、説明を省略する。
以上の構成及び動作手順により、複数の情報処理装置から成るマルチディスプレイシステムにおいて、情報処理装置間でスライドによる滑らかな画像転送処理が実現され、ゲスト側でもユーザがオブジェクトの新規作成及び編集を行うことができ、オブジェクト編集が可能である表示領域が拡がる。
(実施の形態3)
上述の各実施の形態においては、ホスト側からゲスト側へキャプチャ画像が転送される場合に、ゲスト側に画像が表示されていたとき、ゲスト側の画像をスライドさせる構成としてあった。これに対して、実施の形態3では、ホスト側からゲスト側へキャプチャ画像が転送される場合に、ゲスト側に画像が表示されていたとき、転送されたキャプチャ画像がゲスト側の画像を上書きして表示される構成としてある。以下、本実施の形態3における、上述の各実施の形態と異なる特徴について具体的に説明する。
本実施の形態に係るマルチディスプレイシステムの構成、情報処理装置の構成、及び情報処理装置間の連携設定については上述の各実施の形態と同様であるため、説明を省略する。
以下、本実施の形態に係るマルチディスプレイシステムの動作手順について、関連する図面を参照して説明する。
図34は、実施の形態3に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理におけるゲスト側の動作手順を示すフローチャートである。図35は、実施の形態3に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理の動作イメージを表す概念図である。図36は、図34のフローチャート中におけるサブルーチンである画素データ抽出処理P3の動作手順を示すフローチャートである。
本実施の形態では、簡単のため、ゲストが閲覧専用である場合を例示して説明するが、これに限られない。ユーザがゲスト側でオブジェクトの新規作成及び編集を行うことができる構成であってもよい。
ホスト側の画像転送処理の動作手順については、実施の形態1と同様であるため、説明を省略し、ゲスト側の画像受信処理について説明する。
ゲスト側の画像受信処理のステップS90は実施の形態1のステップS7と同様であり、ステップS91及び92はステップS14及び15と同様であるため、説明を省略する。ステップS92において、表示されている受信したキャプチャ画像の一部を画像処理部42がスライドさせた際、表示部45に既に表示されていた他の画像が上書きされたか否かを、制御部40は判定する(ステップS93)。すなわち、受信したキャプチャ画像のスライドにより、当該キャプチャ画像の左端が、他の画像の右端に達したか否かを判定する。
制御部40が、受信したキャプチャ画像がスライドした際に他の画像が上書きされたと判定した場合(S93:YES)、画素データ抽出部43は、他の画像のうち1フレーム内のスライドにより新たに上書きされた部分の画素データを抽出するサブルーチンである画素データ抽出処理P3を実行する(ステップS94)。
図36を参照して、画素データ抽出処理P3の処理手順について説明する。最初に画素データ抽出部43は、ホスト側から送信された画素データから、受信画像のスライド幅(Xs,Ys)を取得する(ステップS500)。続いて画素データ抽出部43は、(Xs,Ys)から、新たに上書きされた差分領域を特定する(ステップS501)。差分領域を特定後、画素データ抽出部43は、特定された差分領域の画素データを記憶部41から抽出し(ステップS502)、記憶部41の異なるアドレス領域に記憶する(ステップS503)。斯かる処理の更に詳細な実行手順は、画素データ抽出処理P2に準じた態様により行われる。
以上の処理手順により、画素データ抽出部43は、画素データ抽出処理P3を実行し、画像のうちスライドにより表示領域の境界に達した画素の画素データを抽出し、記憶部41に記憶する。
画素データ抽出処理P3を実行した後、制御部40は、抽出された画素データを記憶部41に記憶し続ける(ステップS95)(図35)。ステップS95で、制御部40が抽出された画素データを記憶部41に記憶した後、又は制御部40が、受信したキャプチャ画像がスライドした際に他の画像が上書きされなかったと判定した場合(S93:NO)、又はステップS91において制御部40が、受信した画素データにより構成されるキャプチャ画像が表示部45に表示されていないと判定した場合(S91:NO)、画像処理部42は、受信キャプチャ画像のうち1フレーム内に受信した画素データに基づく受信部分を、既に表示されている部分に繋げて表示部45に表示する(ステップS96)。
ステップS96の後、制御部40は、通信部44がキャプチャ画像の全部の画素データを受信したか否かを、フレーム毎に判定する(ステップS97)。通信部44がキャプチャ画像の画素データの全部は受信していないと判定した場合(S97:NO)、制御部40は処理をステップS90に戻し、更に画素データを受信して次フレームの処理を行う。
一方、通信部44がキャプチャ画像の全部の画素データを受信したと判定した場合(S97:YES)、すなわちその結果により表示部45にキャプチャ画像の全部が表示されている場合、制御部40は画像受信処理を終了する。以上に示したホスト側及びゲスト側の処理により、ホスト側に表示されていたページがゲスト側へスライド表示され転送される(図35)。ホスト側からゲスト側へのページが転送される際にゲスト側に表示されていた画像は、上書きされることにより表示部45に表示されなくなるが、その画素データは記憶部41に記憶される。そのため、ホスト側からゲスト側へ転送され表示されているページがゲスト側からホスト側へ逆転送される場合、上書きされた画像は記憶部41に記憶されている画素データに基づいて復元され表示され得る。
以上の構成及び動作手順により、複数の情報処理装置から成るマルチディスプレイシステムにおいて、情報処理装置間でスライドによる滑らかな画像転送処理が実現され、連携して画像を表示できる表示領域が拡がる。
(実施の形態4)
上述の各実施の形態においては、各情報処理装置のタッチパネルディスプレイの表示解像度は同一としているが、これに限られない。実施の形態4においては、情報処理装置間で画像転送を行う際に受信側の情報処理装置が、受信した画像を拡大又は縮小して表示することができる構成としてある。以下、本実施の形態4における、上述の各実施の形態と異なる特徴について具体的に説明する。
本実施の形態に係るマルチディスプレイシステムの構成、情報処理装置の構成、及び情報処理装置間の連携設定については上述の各実施の形態と同様であるため、説明を省略する。ただし、本実施の形態においては、マルチディスプレイシステムを構成する各情報処理装置のタッチパネルディスプレイの表示解像度は異なることがある。
以下、本実施の形態に係るマルチディスプレイシステムの動作手順について、関連する図面を参照して説明する。
図37は、実施の形態4に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理におけるゲスト側の動作手順を示すフローチャートである。図38は、実施の形態4に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理の動作イメージを表す概念図である。
本実施の形態では簡単のため、ゲスト側が閲覧専用である場合を例示して説明するが、これに限られない。ユーザがゲスト側でオブジェクトの新規作成及び編集を行うことができる構成であってもよい。
ホスト側の画像転送処理の動作手順については、実施の形態1と同様であるため、説明を省略し、ゲスト側の画像受信処理について説明する。
ゲスト側の画像受信処理のステップS100からS102までは、実施の形態3のステップS90からS92までと同様であるため、説明を省略する。ステップS102で、画像処理部42が受信したキャプチャ画像の表示されている部分をスライドさせた後、又は制御部40が、キャプチャ画像が表示されていないと判定した場合(S101:NO)、制御部40は、受信した画素データを送信したホスト側の表示部45の表示領域の解像度が、自装置の表示部45の表示領域の解像度と同じか否かを判定する(ステップS103)。
制御部40が、解像度が同一である判定した場合(S103:YES)、画像処理部42は、実施の形態1のステップS16と同様の方法で、受信した画素データに基づいて表示部45にキャプチャ画像の受信部分を表示する(ステップS104)。一方、制御部40が、受信した画素データにより構成されるキャプチャ画像の解像度が表示部45の表示領域の解像度と異なると判定した場合(S103:NO)、画像処理部42は、キャプチャ画像のうち受信した画素データに係る部分を表示領域の解像度に応じて拡大又は縮小して表示する(ステップS105)(図38)。
ステップS104又はS105の後、制御部40は処理をステップS106まで進める。ステップS106については、実施の形態1のステップS17と同様であるため説明を省略する。
以上の構成及び動作手順により、ディスプレイの表示解像度が異なる複数の情報処理装置から成るマルチディスプレイシステムにおいても、情報処理装置間でスライドによる滑らかな画像転送処理が実現され、連携して画像を表示できる表示領域が拡がる。
(実施の形態5)
上述の各実施の形態においては、キャプチャ画像を生成する際に元となるページに含まれるオブジェクトは静止画像であるが、この構成に限られない。実施の形態5においては、オブジェクトが再生中の動画である場合においても、ページのキャプチャ画像を生成して転送し、転送後の情報処理装置において動画を続けて再生することができる。以下、本実施の形態5における、上述の各実施の形態と異なる特徴について具体的に説明する。
本実施の形態に係るマルチディスプレイシステムの構成、情報処理装置の構成、及び情報処理装置間の連携設定については上述の各実施の形態と同様であるため、説明を省略する。
図39及び図40は、実施の形態5に係るマルチディスプレイシステム100でのホスト側からゲスト側への画像転送処理におけるホスト側及びゲスト側夫々の動作手順を示すフローチャートである。初めに、ホスト側の画像転送処理の手順について説明する。ステップS110におけるフリック又はスワイプ操作の判定については、実施の形態1のステップS1と同様であるため説明を省略する。入力部46がユーザによるフリック又はスワイプ操作を検知した場合(S110:YES)、制御部40は、表示部45に表示されているページに動画オブジェクトが含まれているか否かを判定する(ステップS111)。制御部40が、動画オブジェクトが含まれていると判定した場合(S111:YES)、画像処理部42は、斯かる動画オブジェクトの再生を一時停止する(ステップS112)。画像処理部42は、動画が一時停止された状態のページをキャプチャしてキャプチャ画像を生成し、生成したキャプチャ画像でページを置き換える(ステップS113)。
制御部40が、ページに動画オブジェクトが含まれていないと判定した場合(S111:NO)、画像処理部42は、ステップS112をスキップして、ページをキャプチャ画像で置き換える(ステップS113)。ステップS114からS118までは、実施の形態2のステップS42からS46までと同様であるため、説明を省略する。ここで、ステップS118で通信部44が送信するオブジェクトデータには、動画を一時停止位置から再生するために必要な、停止位置のデータ及び停止位置から後の動画データ等が含まれる。ステップS118で通信部44がオブジェクトデータを送信した後、制御部40は、画像転送処理を終了する。
次に、ゲスト側の画像受信処理の手順について説明する。ここでは、簡単のため、ゲスト側に他のページが表示されていない場合についてのみ説明する。ゲスト側の処理手順のステップS119は実施の形態2のステップS47と同様であり、また、ステップS120からS123まではステップS56からS59までと同様であり、S124及びS125はS64及びS65と同様であるため、説明を省略する。ただしステップS125で、動画オブジェクトは、ホスト側によって一時停止された時の状態で再構築される。
ステップS125で画像処理部42がオブジェクトを再構成した後、制御部40は、再構成されたオブジェクトに動画オブジェクトが含まれるか否かを判定する(ステップS126)。制御部40が、再構成されたオブジェクトに動画が含まれていると判定した場合(S126:YES)、画像処理部42は、通信部44が受信した動画オブジェクトのオブジェクトデータに基づいて、動画を一時停止位置から再生を開始し(ステップS127)、画像受信処理を終了する。尚、動画再生に係るデータはデータ量が多く、ステップS127で動画再生を開始した時点ですべての動画データの受信が完了していないことが起こりうる。斯かる場合に、動画の再生と動画データの受信とを同時並行で行う構成としてもよい。
一方、ステップS126で動画オブジェクトが含まれてないと判定した場合(S126:NO)、制御部40は、ステップS127をスキップして画像受信処理を終了する。
以上の構成及び動作手順により、複数の情報処理装置から成るマルチディスプレイシステムにおいて、情報処理装置間で動画を含む画像の転送処理が実現される。
尚、本発明においては、情報処理装置はネットワークを介して互いに接続されるため、物理的に近接した位置に配置される必要はない。物理的に近接して配置されれば電子黒板システムとして使用され得るのに対し、物理的に離れた地点に配置されれば遠隔教育システム、又は遠隔会議システム等に使用され得る。
また、上述の各実施の形態において、情報処理装置の入力部はタッチパネルとしてあったが、タッチパネル以外の入力装置を他に備えていてもよい。例えば、マウス及びキーボードを追加で備えていてもよい。また、方向を検出する入力部は、タッチパネル以外に例えばユーザのジェスチャ認識が可能であるカメラであってもよい。
本発明の第1態様は、複数の表示装置30夫々に画像を表示する機能を有する複数の情報処理装置1を接続してなる画像表示システム100において、前記情報処理装置1夫々は、操作が入力される入力部46と、他の情報処理装置とデータの通信を行う通信部44と、キャプチャ画像の生成を含む画像処理をページ単位で行う画像処理部42と、前記表示装置に表示される画像の画素データを抽出する画素データ抽出部43と、画素データ、及び前記表示装置に表示されるオブジェクトに係るオブジェクトデータを記憶する記憶部41とを備え、一の情報処理装置1の画像処理部42は、表示装置30に表示されているオブジェクトを含む一のページをキャプチャして生成した一のキャプチャ画像を、入力部46に入力された方向を含む操作に応じて、前記操作に係る方向にスライドするよう前記表示装置30に表示するようにしてあり、前記一の情報処理装置の画素データ抽出部43は、前記一のキャプチャ画像のうちスライドによって前記表示装置30の表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを通信部44を介して他の情報処理装置1に順次送信するようにしてあり、該他の情報処理装置1の画像処理部42は、通信部44が受信した前記画素データを画像として表示装置30に表示するようにしてあることを特徴とする。
本発明にあっては、複数の情報処理装置は、複数の表示装置夫々に画像を表示する機能を有し、例えばネットワークを介して相互に接続されている。情報処理装置夫々の入力部には操作が入力される。通信部はネットワークを介して他の情報処理装置とデータを送受信する。画像処理部は、キャプチャ画像の生成を含む様々な画像処理をページ単位で行う。画素データ抽出部は、表示装置に表示される画像の画素データを抽出する。記憶部は、画素データ及び表示装置に表示されるオブジェクトのオブジェクトデータを記憶する。
一の情報処理装置の画像処理部は、入力部に入力された方向を含むユーザの操作に応じて、オブジェクトを含む一のページをキャプチャしてキャプチャ画像を生成し、生成されたキャプチャ画像をユーザの操作に対応する方向にスライドさせるように表示装置に表示させる。画素データ抽出部は、キャプチャ画像のうち表示領域の境界に達した部分の画素データを順次抽出する。通信部は、画素データ抽出部が抽出した画素データを、他の情報処理装置に順次送信する。
画素データが送信される他の情報処理装置の画像処理部は、通信部が受信した画素データを画像として順次表示装置に表示させる。
ページを一の情報処理装置から他の情報処理装置に送信する場合、ページに表示されているオブジェクトをそのままデータとして送信する構成にしてあると、オブジェクトの数が増えたときにページの転送中に逐次的にオブジェクトの画像処理をするための演算量処理が増大する虞がある。したがって、オブジェクトを含むページを一時的にキャプチャ画像に変換して送信することにより、オブジェクトの数が増えた場合においても、演算処理量の増大を抑制することができる。更に、ページのスライド時に表示領域の境界に達した部分に係る画素データを順次的に送信して他の情報処理装置の表示装置に表示することにより、表示装置間で滑らかなページ移動が表現され得る。
本発明の第2態様は、前記他の情報処理装置1の通信部44が、前記一の情報処理装置1から前記画素データを受信した場合、前記画像処理部42は、表示装置30に表示されている他の画像を、前記操作に係る方向にスライドするように表示し、更に前記表示装置30の表示領域のうち前記他の画像のスライドにより空いた領域に、受信した前記画素データを画像として表示するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置の通信部が一の情報処理装置からキャプチャ画像の画素データを受信した場合、表示装置に他のページが表示されているとき、画像処理部はそのページを順次スライドさせる。画像処理部は更に、ページのスライドにより空いた表示領域に、受信した画素データを画像として表示する。
一の情報処理装置に表示されているページがスライドにより他の情報処理装置に送信された場合、他の情報処理装置に表示されている他のページも連動してスライドする。したがって、全体で滑らかなページ移動が表現され得る。
本発明の第3態様は、前記他の情報処理装置1の画素データ抽出部43は、前記他の画像のうちスライドにより前記表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを記憶部41に記憶するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置の画素データ抽出部は、他のページのうちスライドにより表示領域の境界に達した部分の画素データを順次抽出し、抽出された画素データを記憶部が記憶する。したがって、後に他のページを復元して再度表示することが可能となり得る。
本発明の第4態様は、前記一の情報処理装置1の通信部44が、前記他の情報処理装置1へ前記画素データを送信する場合、前記オブジェクトのオブジェクトデータも送信するようにしてあり、前記他の情報処理装置1の前記画像処理部42は、通信部44が前記キャプチャ画像の全部分の画素データを受信した場合、前記通信部44が受信した前記オブジェクトデータに基づいて、前記オブジェクトを前記表示装置30に表示するようにしてあることを特徴とする。
本発明にあっては、一の情報処理装置から他の情報処理端末へ、オブジェクトを含む一のページから生成されたキャプチャ画像の全部の画素データが送信された場合、オブジェクトデータも送信される。他の情報処理装置の画像処理部は、通信部が受信したオブジェクトデータに基づいて、オブジェクトを再構築してキャプチャ画像を置き換えて表示装置に表示する。したがって、ページが送信された情報処理装置で、ユーザはオブジェクトの編集を行うことができる。
本発明の第5態様は、前記他の情報処理装置1の通信部44が、前記一の情報処理装置1から前記画素データを受信した場合、前記画像処理部42は、前記表示装置30に表示されているオブジェクトを含む他のページをキャプチャして生成した他のキャプチャ画像を、前記操作に係る方向にスライドするよう前記表示装置30に表示し、更に前記表示装置30の表示領域のうち前記他のキャプチャ画像のスライドにより空いた領域に、受信した前記画素データを画像として表示するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置において、通信部が一の情報処理装置からキャプチャ画像の画素データを受信した場合、既に表示装置にオブジェクトを含む他のページが表示されているとき、画像処理部は他のページから他のキャプチャ画像を生成してスライド表示させる。更に、他のキャプチャ画像のスライドによって空いた表示装置の表示領域に、受信した画素データに基づいて、画像を表示させる。したがって、全体で滑らかなページ移動が表現され得ると同時に、他のページのスライドに係る演算処理量の増大が抑制され得る。
本発明の第6態様は、前記他の情報処理装置1の画素データ抽出部43は、前記他のキャプチャ画像のうちスライドによって前記表示領域の境界に達した部分の画素データを抽出し、抽出した画素データ及び前記オブジェクトのオブジェクトデータを記憶部41に記憶するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置の画素データ抽出部は、他のページから生成された他のキャプチャ画像のうちスライドによって表示領域の境界に達した部分の画素データを抽出する。記憶部は、オブジェクトデータ及び抽出された画素データを記憶する。したがって、スライドにより表示されなくなった他のページを、後にオブジェクトを再構築して編集可能な状態に復元して表示することが可能となり得る。
本発明の第7態様は、前記他の情報処理装置1が前記表示装置30に、前記一のキャプチャ画像の一部又は全部を表示している場合、前記一の情報処理装置1に入力された前記操作に係る方向の反対方向を含む操作に応じて、前記画像処理部42が該反対方向へ前記キャプチャ画像をスライドさせるようにしてあり、前記画素データ抽出部43は、前記キャプチャ画像のうちスライドによって前記表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを通信部44を介して前記一の情報処理装置1に順次送信するようにしてあり、前記一の情報処理装置1の画像処理部42は、通信部44が前記画素データを受信した場合、前記キャプチャ画像のうち表示装置30に既に表示されている部分を前記反対方向へスライドさせ、更にスライドにより空いた前記表示装置30の表示領域に受信した前記画素データを画像として表示するようにしてあり、前記画素データの受信によって前記表示装置30上に前記キャプチャ画像の全部が表示された場合、前記画像処理部42は、記憶部41に記憶されているオブジェクトデータに基づいて、前記一のページに含まれていたオブジェクトを前記表示装置30に表示するようにしてあることを特徴とする。
本発明にあっては、一のページから生成され他の情報処理装置の表示装置に表示されている一のキャプチャ画像は、操作に応じて、表示装置上で反対方向へスライド表示させられ、その画素データが他の情報処理装置から一の情報処理装置へ送信させられ得る。一の情報処理装置の画像処理部は、受信した画素データに基づいて一のキャプチャ画像を表示装置に表示する。一のキャプチャ画像の全部がスライドにより一の情報処理装置に送信され、表示装置に表示された場合、画像処理部は、記憶部に記憶されているオブジェクトデータに基づいて、オブジェクトを再構築して表示装置に表示する。
したがって、一度一の情報処理装置から他の情報処理装置へスライドにより送信された一のページを、反対方向へのスライドによって、一の情報処理装置へ戻すことができるため、ユーザの利便性が向上する。
本発明の第8態様は、前記他の情報処理装置1が前記表示装置30に、前記一のキャプチャ画像の一部又は全部を表示している場合、入力部46に入力された前記反対方向を含む操作に応じて、前記画像処理部42が該反対方向へ前記一のキャプチャ画像をスライドさせるようにしてあり、前記画素データ抽出部43は、前記一のキャプチャ画像のうちスライドにより前記表示装置30の表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを通信部44を介して前記一の情報処理装置1に順次送信するようにしてあり、前記表示装置30に前記他の画像の一部が表示され且つ残りの部分に係る画素データが前記記憶部41に記憶されているとき、前記画像処理部42は、前記一のキャプチャ画像のスライドにより空いた前記表示領域に前記他の画像を前記反対方向にスライドさせ、更に前記他の画像のスライドにより空いた前記表示領域に、前記記憶部41に記憶されている前記画素データを画像として表示するようにしてあり、又は、前記表示装置30に前記他の画像が表示されておらず、且つ前記記憶部41に該他の画像の画素データが記憶されているとき、前記画像処理部42は、前記一のキャプチャ画像のスライドにより空いた前記表示領域に、前記記憶部41に記憶されている前記画素データを画像として表示するようにしてあり、前記一の情報処理装置1の画像処理部42は、通信部44が前記一のキャプチャ画像に係る画素データを受信した場合、前記一のキャプチャ画像のうち表示装置30に既に表示されている部分を前記反対方向へスライドさせ、更にスライドにより空いた前記表示装置30の表示領域に受信した前記画素データを画像として表示するようにしてあり、前記画素データの受信によって前記表示装置30上に前記一のキャプチャ画像の全部が表示された場合、前記画像処理部42は、記憶部41に記憶されているオブジェクトデータに基づいて、前記一のページに含まれていたオブジェクトを前記表示装置30に表示するようにしてあることを特徴とする。
本発明にあっては、一のページから生成された一のキャプチャ画像が、ユーザの操作によって、他の情報処理装置から一の情報処理装置までスライドさせられる場合、他の情報処理装置の表示装置上に他のキャプチャ画像の一部が表示され、残りの部分の画素データが記憶部に記憶されているとき、画像処理部は、一のキャプチャ画像のスライドにより空いた表示領域に他のキャプチャ画像をスライドさせる。更に、画像処理部は、他のキャプチャ画像のスライドにより空いた表示領域に、記憶部に記憶されている画素データに基づいて、他のキャプチャ画像を復元して表示する。
一方、他のキャプチャ画像が他の情報処理装置の表示装置には表示されず、その画素データが記憶部に記憶されているとき、画像処理部は、一のキャプチャ画像のスライドにより空いた表示領域に、記憶部に記憶されている画素データに基づいて、他のキャプチャ画像を復元して表示する。
更に、一の情報処理装置の画像処理部は、通信部が一のキャプチャ画像の画素データを受信した場合、既に表示されている一のキャプチャ画像の一部をスライドさせ、スライドにより空いた表示領域に、既に表示されている部分に接続して受信した画素データを画像として表示する。キャプチャ画像の全部が表示された場合、画像処理部は記憶部に記憶されているオブジェクトデータに基づいて元の一のページに表示されていたオブジェクトを再構成する。
すなわち、一のキャプチャ画像の反対方向へのスライドに連動して、他のキャプチャ画像のうち表示されている部分がスライドさせられ、更に記憶部に記憶されている画素データに基づいて、残りの部分が他の情報処理装置に復元され表示させられる。したがって、一のページをスライドによって一の情報処理装置に戻す場合、同時に他のページも連動した滑らかなスライドにより他の情報処理装置に戻され得るため、複数の情報処理装置の表示装置に画像が連動して表示され、ユーザの利便性が向上する。
本発明の第9態様は、前記他の情報処理装置1が前記表示装置30に、前記一のページを表示している場合、入力部46に入力された前記反対方向を含む操作に応じて、前記画像処理部42は、前記一のページをキャプチャして生成したキャプチャ画像を、前記反対方向へスライドするよう前記表示装置30に表示するようにしてあり、前記画素データ抽出部43は、前記一のキャプチャ画像のうちスライドにより前記表示装置30の表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを通信部44を介して前記一の情報処理装置1に順次送信するようにしてあり、前記表示装置30に前記他のキャプチャ画像の一部が表示され且つ残りの部分に係る画素データが前記記憶部41に記憶されているとき、前記画像処理部42は、前記一のキャプチャ画像のスライドにより空いた前記表示領域に前記他の画像を前記反対方向にスライドさせ、更に前記他のキャプチャ画像のスライドにより空いた前記表示領域に、前記記憶部41に記憶されている前記画素データを画像として表示するようにしてあり、又は、前記表示装置30に前記他のキャプチャ画像が表示されておらず、且つ前記記憶部41に該他のキャプチャ画像の画素データが記憶されているとき、前記画像処理部42は、前記一のキャプチャ画像のスライドにより空いた前記表示領域に、前記記憶部41に記憶されている前記画素データを画像として表示するようにしてあり、前記他のキャプチャ画像の全部が前記一のキャプチャ画像のスライドにより空いた前記表示領域に表示された場合、前記画像処理部42は、前記記憶部41に記憶されている前記他のページのオブジェクトデータに基づいて、オブジェクトを前記表示装置30に表示するようにしてあり、前記一の情報処理装置1の画像処理部42は、通信部44が前記一のキャプチャ画像に係る画素データを受信した場合、前記一のキャプチャ画像のうち表示装置30に既に表示されている部分を前記反対方向へスライドさせ、更にスライドにより空いた前記表示装置30の表示領域に受信した前記画素データを画像として表示するようにしてあり、前記画素データの受信によって前記表示装置30上に前記一のキャプチャ画像の全部が表示された場合、前記画像処理部42は、記憶部41に記憶されているオブジェクトデータに基づいて、前記一のページに含まれていたオブジェクトを前記表示装置30に表示するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置の表示装置に、他のキャプチャ画像が記憶部に記憶されている画素データに基づいて再現されて表示された場合、画像処理部は、記憶部に記憶されている元の他のページのオブジェクトに係るオブジェクトデータに基づいて、オブジェクトを再構築する。したがって、一の情報処理装置上のみならず、他の情報処理装置上においても、オブジェクトが編集可能な状態で復元されうるため、ユーザの利便性が向上する。
本発明の第10態様は、前記他の情報処理装置1の通信部44が、前記一の情報処理装置1から前記画素データを受信した場合、前記画像処理部42は、受信した前記画素データを自情報処理装置の前記表示装置30に表示されている他のページに上書きして画像として表示するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置の通信部が一のキャプチャ画像の画素データを受信した場合に、表示装置に他のページが表示されているとき、画像処理部は、他のページをスライド表示させる代わりに、受信した画素データを他のページに上書きして画像として表示する。したがって、他のページのスライド表示に係る演算が省略される。
本発明の第11態様は、前記他の情報処理装置1の画素データ抽出部43は、前記他のページのうち上書きされた部分の画素データを抽出し、抽出した画素データを記憶部41に記憶するようにしてあることを特徴とする。
本発明にあっては、他の情報処理装置の画素データ抽出部は、他のページのうち一のキャプチャ画像により上書きされた部分の画素データを順次抽出する。記憶部は、抽出された画素データを記憶する。したがって、上書きされて表示されなくなったキャプチャ画像を、後に復元して表示することが可能となり得るため、ユーザの利便性が向上する。
本発明の第12態様は、ページに含まれるオブジェクトが動画オブジェクトである場合、前記画像処理部42は、入力部に入力された方向を含む操作に応じて、前記動画オブジェクトの再生を一時停止し、停止した状態に基づいてキャプチャ画像を生成するようにしてあり、該キャプチャ画像の全部が一の前記情報処理装置1から他の前記情報処理装置1へ送信され前記表示装置30に表示された場合、前記画像処理部42は前記動画オブジェクトを前記ページ上に再構成して表示し、一時停止された時点から再生を開始するようにしてあることを特徴とする。
本発明にあっては、ページに含まれるオブジェクトが動画である場合、画像処理部は、入力された方向を含む操作に応じて、その動画オブジェクトの再生を一時停止し、その状態に基づいてキャプチャ画像を生成する。生成されたキャプチャ画像が、一の情報処理装置から他の情報処理装置に送信され表示装置に表示された場合、画像処理部は動画オブジェクトを再構築して表示する。更に、動画オブジェクトは、一時停止された位置から再生を開始される。
したがって、オブジェクトが動画である場合においても、キャプチャ画像を生成して転送されることができるため、ページの転送時における演算処理量の増大が抑制され得る。
本発明の第13態様は、ページがスライドにより一の前記情報処理装置1から他の前記情報処理装置1に送信される場合、送信先の前記情報処理装置1の画像処理部42は、表示装置30の解像度に合わせて前記ページを拡大又は縮小して前記表示装置30に表示することができるようにしてあることを特徴とする。
本発明にあっては、画像処理部は、受信したページに係る画像を表示装置の解像度に合わせて拡大又は縮小して表示することができる。したがって、本発明の画像表示システムは、解像度の異なる複数の表示装置を備えることができる。
本発明の第14態様は、前記表示装置30はタッチパネルディスプレイであり、前記入力部46はタッチパネルであることを特徴とする。
本発明にあっては、表示装置はタッチパネルディスプレイであり、入力部はタッチパネルである。入力部に入力される方向を含む操作は、フリック操作である。したがって、ユーザは指又はスタイラスペン等を用いて直感的に操作することが出来る。
本発明の第15態様は、表示装置30に画像を表示する機能を有し、複数の情報処理装置1を接続して画像表示システム100を構成可能な情報処理装置1において、操作が入力される入力部46と、他の情報処理装置とデータの通信を行う通信部44と、キャプチャ画像の生成を含む画像処理をページ単位で行う画像処理部42と、前記表示装置に表示される画像の画素データを抽出する画素データ抽出部43と、画素データ、及び前記表示装置30に表示されるオブジェクトに係るオブジェクトデータを記憶する記憶部41とを備え、前記画像処理部42は、前記表示装置30に表示されているオブジェクトを含む一のページをキャプチャして生成したキャプチャ画像を、前記入力部46に入力された方向を含む操作に応じて、前記操作に係る方向にスライドするよう前記表示装置30に表示するようにしてあり、前記画素データ抽出部43は、前記キャプチャ画像のうちスライドによって前記表示装置30の表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを前記通信部44を介して他の情報処理装置1に順次送信するようにしてあり、前記画像処理部42は更に、前記通信部44が画素データを受信した場合、受信した画素データを画像として前記表示装置30に表示するようにしてあることを特徴とする。
本発明にあっては、情報処理装置は、表示装置に画像を表示する機能を有し、例えばネットワークを介して他の情報処理装置と相互に接続されている。情報処理装置の入力部には操作が入力される。通信部はネットワークを介して他の情報処理装置とデータを送受信する。画像処理部は、キャプチャ画像の生成を含む様々な画像処理をページ単位で行うことができる。画素データ抽出部は、表示装置に表示される画像の画素データを抽出する。記憶部は、画素データ及び表示装置に表示されるオブジェクトのオブジェクトデータを記憶する。
画像処理部は、入力部に入力された方向を含むユーザの操作に応じて、オブジェクトを含む一のページをキャプチャしてキャプチャ画像を生成し、生成されたキャプチャ画像をユーザの操作に対応する方向にスライドさせるように表示装置に表示させる。画素データ抽出部は、キャプチャ画像のうち表示領域の境界に達した部分の画素データを順次抽出する。通信部は、画素データ抽出部が抽出した画素データを、他の情報処理装置に順次送信する。加えて、画像処理部は、通信部が受信した画素データを画像として表示装置に表示させる。
したがって、オブジェクトを含むページを一時的にキャプチャ画像に変換して送信することにより、オブジェクトの数が増えた場合においても、情報処理装置の演算処理量の増大を抑制することができる。更に、ページのスライド時に表示領域外に出た部分の画素を順次的に送信して他の情報処理装置に表示することにより、相互に接続された情報処理装置間で滑らかなページ移動が表現され得る。
本発明の第16態様は、表示装置30に画像を表示する機能を有する複数の情報処理装置1を接続してなる画像表示システム100の情報処理方法であって、前記情報処理装置1夫々は、操作が入力される入力部46と、他の情報処理装置とデータの通信を行う通信部44と、キャプチャ画像の生成を含む画像処理をページ単位で行う画像処理部42と、前記表示装置に表示される画像の画素データを抽出する画素データ抽出部43と、画素データ及び前記表示装置に表示されるオブジェクトに係るオブジェクトデータを記憶する記憶部41とを備え、一の情報処理装置1の画像処理部42が、表示装置30に表示されているオブジェクトを含む一のページをキャプチャして生成したキャプチャ画像を、入力部46に入力された方向を含む操作に応じて、前記操作に係る方向にスライドするよう前記表示装置30に表示するステップと、前記一の情報処理装置1の画素データ抽出部43が、前記キャプチャ画像のうちスライドによって前記表示装置30の表示領域の境界に達した部分の画素データを順次抽出し、抽出した画素データを通信部44を介して他の情報処理装置1に順次送信するステップと、該他の情報処理装置1の画像処理部42が、通信部44が受信した前記画素データを画像として表示装置30に表示するステップとを含むことを特徴とする。
本発明にあっては、表示装置に画像を表示する機能を有する複数の情報処理装置を接続してなる画像表示システムに情報を処理させる。情報処理装置の入力部には操作が入力される。通信部は例えばネットワークを介して他の情報処理装置とデータを送受信する。画像処理部は、キャプチャ画像の生成を含む様々な画像処理をページ単位で行うことができる。画素データ抽出部は、表示装置に表示される画像の画素データを抽出する。記憶部は、画素データ及び表示装置に表示されるオブジェクトのオブジェクトデータを記憶する。
最初のステップで、一の情報処理装置の画像処理部は、入力部に入力された方向を含むユーザの操作に応じて、オブジェクトを含む一のページをキャプチャしてキャプチャ画像を生成し、生成されたキャプチャ画像をユーザの操作に対応する方向にスライドさせるように表示装置に表示させる。続くステップで、画素データ抽出部は、キャプチャ画像のうち表示領域の境界に達した部分の画素データを順次抽出し、通信部は、画素データ抽出部が抽出した画素データを、他の情報処理装置に順次送信する。その次のステップで、他の画像処理装置の画像処理部は、通信部が受信した画素データを画像として表示装置に表示させる。
したがって、オブジェクトを含むページを一時的にキャプチャ画像に変換して送信することにより、オブジェクトの数が増えた場合においても、情報処理装置の演算処理量の増大を抑制することができる。更に、ページのスライド時に表示領域外に出た部分の画素を順次的に送信して他の情報処理装置に表示することにより、相互に接続された情報処理装置間で滑らかなページ移動が表現され得る。
本発明の第17態様は、入力部46、及び通信部44を備え、表示装置30に画像を表示する情報処理装置1に情報を処理させるプログラムであって、前記入力部46が受け付けた方向を含む操作に応じて、前記表示装置30に表示されているオブジェクトを含むページをキャプチャしてキャプチャ画像を生成するステップと、生成したキャプチャ画像を前記操作に係る方向にスライドするように前記表示装置30に表示するステップと、前記キャプチャ画像のうちスライドによって前記表示装置30の表示領域の境界に達する部分の画素データを抽出するステップとを情報処理装置に実行させることを特徴とする。
本発明にあっては、入力部、及び通信部を備え、表示装置に画像を表示する情報処理装置に情報を処理させる。プログラムの最初のステップでは、入力部が受け付けた方向を含む操作に応じて、表示装置に表示されているオブジェクトを含むページをキャプチャしてキャプチャ画像を生成する。続くステップでは、生成したキャプチャ画像を操作された方向にスライドするように表示装置に表示させる。その次のステップでは、キャプチャ画像のうちスライドによって表示装置の表示領域の境界に達する部分の画素データを抽出する。
したがって、オブジェクトを含むページを一時的にキャプチャ画像に変換して送信することにより、オブジェクトの数が増えた場合においても、情報処理装置の演算処理量の増大を抑制することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。