以下図面により本発明の実施の形態について説明する。
(第1実施形態)
図1は、本発明の描画データ処理装置の実施形態に係るサーバ・クライアント(Thin client)・システムの構成を示すブロック図である。
このサーバ・クライアント・システムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置10および複数の端末装置(Thin client)20,…を備える。
サーバ装置10は、文書作成処理プログラム,表計算処理プログラム,プレゼン資料作成プログラム,メール処理プログラム,インターネット接続処理プログラム、Web表示プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置10に接続された端末装置20,…からの操作入力(入力イベント)信号に応じて起動しその処理を実行する。
このサーバ装置10において、端末装置20,…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い生成された表示出力用の描画データは、内蔵された画像圧縮処理回路30(図5参照)によって圧縮処理され、アクセス元の端末装置20,…へ送信(転送)される。
そして、端末装置20,…では、前記サーバ装置10から転送された描画データがその圧縮を解凍され、表示部に表示される。
つまり、このサーバ・クライアント(Thin client)・システムにおける各端末装置20,…は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置10が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていない。
そして、端末装置20,…からの操作入力(入力イベント)信号に応じてサーバ装置10にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置10内あるいは該サーバ装置10にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
図2は、前記サーバ・クライアント・システムにおけるサーバ装置10の回路構成を示すブロック図である。
サーバ装置10は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してROM13、RAM14、VRAM15、表示装置16が接続されると共に、前記画像圧縮処理回路30が接続される。
また、CPU11には、バス12を介してキーボード,マウスなどのキー入力装置17、外部記憶装置18a、補助記憶装置18b、端末装置20との通信I/F(インターフェイス)19が接続される。
CPU11は、ROM13に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM14を作業用メモリとし回路各部の動作を制御するもので、キー入力装置17からのキー入力信号や通信I/F19を介して受信される端末装置20からのユーザ操作(入力イベント)に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
このサーバ装置10において、端末装置20からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶装置18aに記憶され、また表示用の描画データは、VRAM15を使用して生成される一方で、画像圧縮処理回路30によって圧縮処理され、通信I/F19から端末装置20へ転送されて表示出力される。
図3は、前記サーバ・クライアント・システムにおける端末装置20の回路構成を示すブロック図である。
端末装置20は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してROM23、RAM24、VRAM25が接続される。そして、このVRAM25に書き込まれた描画データが表示装置26に出力されて表示される。
また、CPU21には、バス22を介してキーボード,マウス,マイク,光センサなどのキー入力装置27、外部記憶装置28a、補助記憶装置28b、前記サーバ装置10との通信I/F(インターフェイス)29が接続される。
CPU21は、ROM23に予め記憶されているシステムプログラムに従ってRAM24を作業用メモリとし回路各部の動作を制御するもので、キー入力装置27からのキー入力信号や通信I/F29を介して受信されるサーバ装置10からのアプリケーション応答信号,転送描画データなどに応じて前記システムプログラムが起動され実行される。
この端末装置20において、前記サーバ装置10におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置28aに読み込ませて記憶させ、また生成転送された表示用の描画データは、その圧縮が解凍されてVRAM25に書き込まれ表示装置26で表示出力される。
図4は、前記サーバ装置10により生成され端末装置20へ転送されて表示される描画データの更新変化状態を示す図である。
ここで、前記サーバ装置10における転送用描画データの生成機能について、その概要を説明する。
サーバ装置10において、起動中のアプリケーションプログラムに従い既に生成転送されていた図4(A)に示すような1画面描画データ(変化前)Gaが図4(B)に示すような1画面描画データ(変化後)Gbに変化した場合、まず変化後の1画面描画データGbにおける当該描画データGbの描画変化部分(差分)Pに応じた領域Qbが切り出され、この変化のある領域Qbの部分描画データについて転送用描画データとされる。
これにより端末装置20では、変化前の1画面描画データGa上における前記描画変化の領域Qb(Qa)に対応する座標位置で、前記転送用描画データとされた変化後の領域Qbの部分描画データを書き込むことで、変化後の1画面描画データGbを表示させることができる。
また逆に、サーバ装置10において、起動中のアプリケーションプログラムに従い既に生成転送されていた図4(B)に示すような1画面描画データ(変化前)Gbが図4(A)に示すような1画面描画データ(変化後)Gaに変化した場合、変化後の1画面描画データGaにおける当該描画データGaの描画変化部分(差分)Pに応じた領域Qaが切り出され、この変化のある領域Qaの部分描画データについて転送用描画データとされる。
これにより端末装置20では、変化前の1画面描画データGb上における前記描画変化の領域Qa(Qb)に対応する座標位置で、前記転送用描画データとされた変化後の領域Qaの部分描画データを書き込むことで、変化後の1画面描画データGaを表示させることができる。
なお、サーバ装置10において生成された転送用描画データは、画像圧縮処理回路30において圧縮され端末装置20へ転送される。
つまり、このサーバ・クライアント(Thin client)・システムでは、端末装置20からのキー入力などのイベントに応じてサーバ装置10にて生成された表示用の1画面描画データは、当該1画面描画データが生成更新される毎にその描画更新後の変化領域Qb(Qa)に対応する部分描画データが転送用描画データとして生成され端末装置20へ転送される。そして、当該端末装置20にて既に表示されていた1画面描画データに対しその描画変化の領域Qb(Qa)に対応する部分描画データのみ順次書き換えられて表示更新されるものである。これにより、前記サーバ装置10から端末装置20へのデータ転送量を大幅に削減する。
そして、このサーバ・クライアント(Thin client)・システムのサーバ装置10では、例えば前記図4(A)で示した1画面描画データGaの領域Qaの部分描画データと当該領域Qaに対応するところの前記図4(B)で示した1画面描画データGbの領域Qbの部分描画データとが、その点滅処理によって繰り返し変化した場合、その描画変化の都度この変化部分(差分)Pに対応した領域Qaの通常表示状態の部分描画データの圧縮データと領域Qbの強調表示状態の部分描画データの圧縮データとが繰り返し端末装置20へ送信転送される。このような場合、同一の部分描画データの2回目以降の繰り返しの送信転送処理の際には、1回目の送信転送処理に伴い格納されていた圧縮処理済みの部分描画データを読み出して送信することで、その圧縮処理を省略する機能を有する。
図5は、前記サーバ装置10に備えられた第1実施形態の画像圧縮処理回路[1]30の構成を示すブロック図である。
端末装置20からのイベント入力に応じて、サーバ装置10のアプリケーションプログラム14aに従い、VRAM15上に生成記憶される例えば初期画面としての1画面描画データGaやその後の更新により書き換えられた描画変化部分Pの領域Qaに対応する部分描画データは、当該VRAM15に対する生成記憶処理と共に、その都度、画像圧縮処理回路30に送られて圧縮処理され、通信I/F19を介してアクセス元の端末装置20へ送信転送される。
画像圧縮処理回路30は、メモリ転送回路31、圧縮処理用データバッファ32、圧縮処理回路33、圧縮結果格納メモリ34、処理画像更新制御回路35、処理画像メモリ36a,36b,…、処理画像/圧縮結果格納情報管理メモリ37、処理画像比較回路38を備えて構成される。
メモリ転送回路31は、前記アプリケーションプログラム14aに従ってVRAM15上に表示用の描画データが生成されるのに伴い、CPU11から送られてくる同描画データを圧縮処理用データバッファ32および処理画像比較回路38へ転送する。
処理画像比較回路38は、メモリ転送回路31により転送されてくる今回の描画データと、処理画像メモリ36a,36b,…にFIFO形式で記憶されている過去に生成転送された各描画データとをその描画アドレス毎の画素単位で順次比較し、完全一致する描画データが処理画像メモリ36a,36b,…に記憶されている場合には一致判定し、記憶されてない場合には不一致判定する。
圧縮処理用データバッファ32は、前記メモリ転送回路31によって転送されてくる今回の描画データを記憶保持すると共に、前記処理画像比較回路38から不一致判定の信号が出力された場合には、当該データバッファ32に記憶保持された今回の描画データを、処理画像更新制御回路35へ送って前記処理画像メモリ36a,36b,…の先頭の格納エリア(1)に記憶させる一方で、圧縮処理回路33へ送って圧縮処理させ、圧縮結果格納メモリ34に記憶させる。この際、前記処理画像更新制御回路35によって今回の描画データを記憶させると共に既に記憶されていた描画データの格納エリアが更新された前記処理画像メモリ36a,36b,…の格納エリア情報(1)(2)…と、前記圧縮処理回路33によって圧縮処理された今回の描画データを記憶させた圧縮結果格納メモリ34の格納エリア情報(n)…とが対応付けられて処理画像/圧縮結果格納情報管理メモリ37に記憶更新される。そして、前記圧縮処理回路33によって圧縮処理した今回の描画データを記憶させた前記圧縮結果格納メモリ34の格納エリア情報(n)がメモリ転送回路31へ通知されることで、当該メモリ転送回路31は今回圧縮処理されて前記圧縮結果格納メモリ34に記憶された描画データを読み出してCPU11へ転送し、通信I/F19を経由して端末装置20へ送信させる。
一方、前記処理画像比較回路38から一致判定の信号が出力された場合には、当該一致判定された今回の描画データと一致する描画データが記憶されている前記処理画像メモリ36a,36b,…の格納エリア情報(m)に対応付けられた前記圧縮結果格納メモリ34の格納エリア情報(n)が、前記処理画像/圧縮結果格納情報管理メモリ37からメモリ転送回路31へ通知される。これによりメモリ転送回路31は既に圧縮処理されて前記圧縮結果格納メモリ34に記憶されている今回の描画データと同一の描画データを読み出してCPU11へ転送し、通信I/F19を経由して端末装置20へ送信させる。
つまり、このような画像圧縮処理回路30では、今回の描画データと一致する過去の描画データが処理画像メモリ36a,36b,…に未だ記憶されている場合には、その格納エリア情報により対応付けられて圧縮結果格納メモリ34に記憶されている圧縮済みの描画データが読み出され、端末装置20へ送信転送されるので、圧縮処理回路33による今回の描画データの圧縮処理を省略することができる。
次に、前記構成のサーバ・クライアント(Thin client)・システムの第1実施形態の画像圧縮処理回路[1]30を備えたサーバ装置10による描画データの生成転送機能について説明する。
図6は、前記サーバ・クライアント(Thin client)・システムのサーバ装置10による第1実施形態のサーバ処理[1]を示すフローチャートである。
図7は、前記サーバ装置10のサーバ処理に伴う書き換え画像抽出処理を示すフローチャートである。
図8は、前記サーバ装置10のサーバ処理に伴う処理画像圧縮処理を示すフローチャートである。
端末装置20からの入力イベントに応じたアプリケーションプログラム14aに従って、VRAM15に対して描画データが生成記憶されるのに伴い、図7における書き換え画像抽出処理が起動されると(ステップSA)、当該VRAM15に生成記憶される描画データ(初期の1画面描画データGaまたはその後に書き換えられた部分描画データQb)がCPU11により抽出されて画像圧縮処理回路30のメモリ転送回路31に転送される(ステップA1,A2)。
すると、このメモリ転送回路31に転送された今回の描画データは、その描画アドレス毎の1画素データ毎に、圧縮処理用データバッファ32に格納されると共に(ステップA3)処理画像比較回路38へ送られ、処理画像メモリ36a,36b,…に記憶されている過去の書き換え描画データと比較処理される(ステップA4)。
そして、前記書き換え画像抽出処理(ステップSA)により抽出された今回の描画データが、前記処理画像比較回路38において、前記処理画像メモリ36a,36b,…に記憶されている過去の書き換え描画データと一致せず不一致と判断された場合には(ステップS1(No))、前記圧縮処理用データバッファ32に格納された今回の描画データは、処理画像更新制御回路35により新たに生成された描画データとして前記処理画像メモリ36a,36b,…の先頭格納エリア(1)に記憶される(ステップS2)。この際、前記処理画像メモリ36a,36b,…に既に記憶されていた最も古い描画データが削除され、それ以外の描画データの格納エリア(m)が1つ更新される。
すると、前記処理画像メモリ36a,36b,…における描画データ格納エリア(1)(2)…の更新に応じて、前記処理画像更新制御回路35により処理画像/圧縮結果格納情報管理メモリ37における各描画データの格納エリア情報が更新される(ステップS3)。
そして、図8における処理画像圧縮処理が起動されると(ステップSB)、前記圧縮処理用データバッファ32に格納された今回の描画データが圧縮処理回路33により圧縮処理され(ステップB1)、この圧縮された描画データが圧縮結果格納メモリ34にその格納エリア(n)を指定して記憶される(ステップB2)。
すると、前記圧縮結果格納メモリ34に対する今回圧縮された描画データの格納エリア(n)の情報が前記圧縮処理回路33から処理画像/圧縮結果格納情報管理メモリ37に通知され、前記処理画像メモリ36a,36b,…の先頭格納エリア(1)に記憶された今回の描画データに対応付けられてその格納エリアの情報が更新される(ステップB3)。
つまり、過去に生成された描画データが、例えばその新しい順に処理画像メモリ36a,36b,…の格納エリア(1)(2)(3)に記憶されていると共に、これに各対応する圧縮処理済みの描画データが、圧縮結果格納メモリ34の格納エリア(3)(2)(1)に記憶されている状態で、書き換えられた描画データが処理画像メモリ36a(1)に、またその圧縮データが圧縮結果格納メモリ34の格納エリア(4)に記憶された場合には、それ以前に処理画像メモリ36a,36b,…の格納エリア(1)(2)(3)に記憶されていた各描画データはその格納エリアが(2)(3)(4)に更新される。そして、処理画像/圧縮結果格納情報管理メモリ37では、処理画像メモリ36a,36b,…の格納エリア情報(1)(2)(3)(4)に対して、圧縮結果格納メモリ34の格納エリア情報(4)(3)(2)(1)が対応付けられて記憶管理される。
すると、メモリ転送回路31には、今回圧縮処理した描画データの圧縮結果格納メモリ34に対する格納エリアの情報が圧縮処理回路33から通知され(ステップS4)、当該圧縮結果格納メモリ34から今回の圧縮済みの描画データが読み出される(ステップS5)。そして、前記メモリ転送回路31に読み出された今回の圧縮済みの描画データは、CPU11によって通信I/F19を介し端末装置20へ送信転送される(ステップS6)。
一方、前記処理画像比較回路38において、前記書き換え画像抽出処理(ステップSA)により抽出された今回の描画データが、前記処理画像メモリ36a,36b,…に記憶されている過去の書き換え描画データと一致したと判断された場合には(ステップS1(Yes))、当該今回の描画データの処理画像メモリ36a,36b,…に対する記憶処理および圧縮処理回路33での圧縮処理は行われない。そして、今回一致判断されたところの処理画像メモリ36a,36b,…に記憶されている同一の描画データの格納エリア情報(m)に対応付けられて、処理画像/圧縮結果格納情報管理メモリ37に記憶されている圧縮結果格納メモリ34の格納エリア情報がメモリ転送回路31に通知され(ステップS4)、当該圧縮結果格納メモリ34から今回の描画データと同一である圧縮済みの描画データが読み出される(ステップS5)。そして、前記メモリ転送回路31に読み出された圧縮済みの描画データは、CPU11によって通信I/F19を介し端末装置20へ送信転送される(ステップS6)。
したがって、前記構成のサーバ・クライアント(Thin client)・システムの第1実施形態の画像圧縮処理回路[1]30を備えたサーバ装置10による描画データの生成転送機能によれば、端末装置20からの入力イベントに応じてアプリケーションプログラム14aに従い生成される描画データがVRAM15に記憶されるのに伴い、この今回の描画データが処理画像比較回路38により、処理画像メモリ36a,36b,…に既に記憶されている過去の描画データと一致すると判定された場合には、当該今回の描画データと一致判定された過去の描画データの格納エリア情報(m)に対応付けられて処理画像/圧縮結果格納情報管理メモリ37に記憶されている圧縮結果格納メモリ34の格納エリア情報がメモリ転送回路31へ通知される。そして、今回の描画データと同一で圧縮済みの描画データが前記圧縮結果格納メモリ34から読み出され、通信I/F19を介してアクセス元の端末装置20へ送信転送されて表示される。
よってこの場合には、今回の描画データを圧縮処理回路33によって圧縮処理する必要なく、既に圧縮されて圧縮結果格納メモリ34に格納されている描画データを読み出して送信転送すればよく、効率的な描画データの送信転送処理が行えると共に、サーバ装置10における処理の負荷を大幅に軽減できるようになる。
つまり、例えばVRAM15に生成記憶されて既に送信転送されている1画面描画データGaについて、その一部領域の部分描画データが、QaとQbとで繰り返し書き換えられた場合でも(図4参照)、当該部分描画データQaとQbとは、その最初の書き換え処理に伴い圧縮処理して送信転送すればよく、2回目以降の書き換え処理では既に圧縮処理されて圧縮結果格納メモリ34に記憶されている圧縮済みの描画データを読み出して送信転送すればよいものであり、サーバ装置10の処理負荷を大幅に軽減できるものである。
なお、前記サーバ・クライアント(Thin client)・システムにおける第1実施形態の画像圧縮処理回路[1]30およびこれに基づく描画データの生成転送機能(サーバ処理[1])では、初期表示される1画面描画データGaの全領域を対象に、新たに書き換えられた部分描画データについては処理画像メモリ36a,36b,…に記憶させると共に、圧縮結果格納メモリ34に記憶させた圧縮処理後の同部分描画データとの対応付け情報を処理画像/圧縮結果格納情報管理メモリ37において更新管理する構成とした。これに対し、次の第2実施形態の画像圧縮処理回路[2]30Aおよびこれに基づく描画データの生成転送機能(サーバ処理[2])で説明するように、初期表示される1画面描画データGaの予め指定された領域だけを対象に、当該指定領域内で新たに書き換えられた部分描画データについては処理画像メモリ36a,36b,…に記憶させると共に、圧縮結果格納メモリ34に記憶させた圧縮処理後の同部分描画データとの対応付け情報を処理画像/圧縮結果格納情報管理メモリ37において更新管理する構成とし、当該指定領域外で書き換えられた部分描画データについては処理画像メモリ36a,36b,…への保存処理を行わず、当該処理画像メモリ36a,36b,…に必要なメモリ容量を削減するようにしてもよい。
(第2実施形態)
図9は、前記サーバ装置10に備えられた第2実施形態の画像圧縮処理回路[2]30Aの構成を示すブロック図である。
この図9で示す第2実施形態の画像圧縮処理回路[2]30Aにおいて、前記図5で示した第1実施形態の画像圧縮処理回路[1]30と同一の構成部分については、同一の符号を付してその説明を省略する。
そして、この第2実施形態の画像圧縮処理回路[2]30Aでは、例えばVRAM15に生成記憶される1画面分の表示エリアに相当する1画面描画データGaの中で、その書き換えに伴う部分描画データQa(Qb)を前記処理画像メモリ36a,36b,…に格納保存しておく対象となるエリアを指定するための格納エリア指定レジスタ39が備えられる。
この格納エリア指定レジスタ39には、描画データの生成転送処理(サーバ処理[2])を実行するに際して、そのとき起動されているアプリケーションプログラムの内容に基づきCPU11に認識される書き換え頻度の高い表示エリアが、例えば1画面表示エリア(512line)中の200line〜400lineとして指定され記憶される。
処理画像更新制御回路35は、圧縮処理用データバッファ32に転送格納された今回の書き換えに伴う新たな部分描画データについて、その描画アドレスに従い判断される1画面表示エリア内の表示位置が、前記格納エリア指定レジスタ39に記憶された書き換え頻度の高いエリアに含まれる場合に、処理画像メモリ36a,36b,…への書き込みを行うと共に、処理画像/圧縮結果格納情報管理メモリ37に対し当該処理画像メモリ36a,36b,…における格納エリアの情報の更新を行う。
一方、今回の書き換えに伴う新たな部分描画データについて、その描画アドレスに従い判断される1画面表示エリア内の表示位置が、前記格納エリア指定レジスタ39に記憶された書き換え頻度の高いエリアに含まれない場合には、処理画像メモリ36a,36b,…への書き込みは行わないので、当該処理画像メモリ36a,36b,…に必要なメモリ容量を少なく抑えることができる。
次に、前記構成のサーバ・クライアント(Thin client)・システムの第2実施形態の画像圧縮処理回路[2]30Aを備えたサーバ装置10による描画データの生成転送機能について説明する。
図10は、前記サーバ・クライアント(Thin client)・システムのサーバ装置10による第2実施形態のサーバ処理[2]を示すフローチャートである。
この図10で示す第2実施形態のサーバ処理[2]において、前記図6で示した第1実施形態のサーバ処理[1]と同一の処理ステップについては、同一のステップ符号を付してその説明を省略する。
端末装置20からの入力イベントに応じたアプリケーションプログラム14aが起動されると、先ず、当該アプリケーションプログラムの内容に基づき、描画データを生成する場合における1画面表示エリア内での書き換え頻度の高い表示エリアがCPU11により認識されて指定され(ステップS21)、画像圧縮処理回路30Aの格納エリア指定レジスタ39に書き込まれて記憶される(ステップS22)。
このように、前記格納エリア指定レジスタ39に対して、現在実行中のアプリケーションプログラム14aに基づき認識された1画面表示エリア内での書き換え頻度の高い表示エリアが指定記憶された状態で、処理画像比較回路38において、書き換え画像抽出処理(ステップSA)により抽出された今回の描画データが、処理画像メモリ36a,36b,…に記憶されている過去の書き換え描画データと一致せず不一致と判断された場合には(ステップS1(No))、当該今回の新たな描画データの1画面表示エリア内での位置が、前記格納エリア指定レジスタ39に記憶指定されている書き換え頻度の高い表示エリアに含まれるか否か判断される(ステップS23)。
ここで、今回の新たな描画データの1画面表示エリア内での位置が、前記格納エリア指定レジスタ39に記憶指定されている書き換え頻度の高い表示エリアに含まれると判断された場合には(ステップS23(Yes))、これ以降、前記第1実施形態と同様の処理が実行され、圧縮処理用データバッファ32に転送格納された今回の新たな部分描画データの処理画像メモリ36a,36b,…への書き込み処理(ステップS2)、および処理画像/圧縮結果格納情報管理メモリ37に対する前記処理画像メモリ36a,36b,…に書き込んだ新たな部分描画データについての格納エリア情報の更新処理が行われる(ステップS3)。
そして、処理画像圧縮処理(ステップSB)により、前記圧縮処理用データバッファに転送格納された今回の新たな部分描画データが圧縮処理されて圧縮結果格納メモリ34に記憶されると共に、前記処理画像メモリ36a,36b,…に記憶された圧縮前の今回の部分描画データとの対応付けを示す処理画像/圧縮結果格納情報管理メモリ37の格納エリア情報が更新される。
すると、メモリ転送回路31には、今回圧縮処理した新たな描画データの圧縮結果格納メモリ34に対する格納エリアの情報が圧縮処理回路33から通知され(ステップS4)、当該圧縮結果格納メモリ34から今回の圧縮済みの描画データが読み出される(ステップS5)。そして、前記メモリ転送回路31に読み出された今回の圧縮済みの描画データは、CPU11によって通信I/F19を介し端末装置20へ送信転送される(ステップS6)。
一方、前記ステップS1において、今回の描画データが、処理画像メモリ36a,36b,…に記憶されている過去の書き換え描画データと一致せず不一致と判断された場合であっても(ステップS1(No))、当該今回の新たな描画データの1画面表示エリア内での位置が、前記格納エリア指定レジスタ39に記憶指定されている書き換え頻度の高い表示エリアには含まれないと判断された場合には(ステップS23(No))、当該今回の新たな部分描画データの処理画像メモリ36a,36b,…への書き込み処理(ステップS2)、および処理画像/圧縮結果格納情報管理メモリ37に対する格納エリア情報の更新処理(ステップS3)は行われない。そして、当該新たな描画データは圧縮処理回路33によって圧縮処理された後(ステップSB)、メモリ転送回路31に読み出され(ステップS4,S5)、CPU11から通信I/F19を介して端末装置20へ送信転送される(ステップS6)。
したがって、前記構成のサーバ・クライアント(Thin client)・システムの第2実施形態の画像圧縮処理回路[2]30Aを備えたサーバ装置10による描画データの生成転送機能によれば、端末装置20からの入力イベントに応じたアプリケーションプログラム14aに従い描画データを生成する際には、1画面表示エリア内での当該描画データの書き換え頻度の高いエリアを認識して格納エリア指定レジスタ39に記憶させる。そして、今回VRAM15に生成記憶される新たな描画データが、前記格納エリア指定レジスタ39にて記憶指定される1画面表示エリア内の書き換え頻度の高いエリアに含まれる場合には、前記第1実施形態で説明した描画データの生成転送機能と同様に、処理画像メモリ36a,36b,…に対する記憶保持を行うと共に、処理画像/圧縮結果格納情報管理メモリ37にて記憶管理される前記処理画像メモリ36a,36b,…での描画データ格納エリアと圧縮結果格納メモリ34での圧縮描画データ格納エリアとの対応付け情報の更新を行い、圧縮処理した今回の描画データを前記圧縮結果格納メモリ34から読み出して端末装置20へ転送する。一方で、今回VRAM15に生成記憶される新たな描画データが、前記格納エリア指定レジスタ39にて記憶指定される1画面表示エリア内の書き換え頻度の高いエリアに含まれない場合には、前記処理画像メモリ36a,36b,…に対する記憶処理および前記処理画像/圧縮結果格納情報管理メモリ37に対する格納エリア情報の更新処理は行うことなく、圧縮処理した今回の描画データを前記圧縮結果格納メモリ34から読み出して端末装置20へ転送する。
よって、1画面表示エリアにおける書き換え頻度の高い表示エリア内での点滅表示などに伴う繰り返しの書き換え描画データであれば、前記第1実施形態で説明した描画データの生成転送機能と同様に、その都度の圧縮処理を省略した効率的な描画データの送信転送処理が行えると共に、サーバ装置10における処理の負荷を大幅に軽減でき、しかも、書き換え頻度高い表示エリア外での描画データについては、処理画像メモリ36a,36b,…への記憶保持を行うことなく、そのメモリ容量を削減できるようになる。
なお、前記サーバ・クライアント(Thin client)・システムにおける第1,第2実施形態の画像圧縮処理回路[1]30,[2]30Aおよびこれに基づく描画データの生成転送機能(サーバ処理[1][2])では、アプリケーションプログラム14aに従い生成される新たな描画データについては、そのまま処理画像メモリ36a,36b,…に記憶保持させ、その後に生成された描画データとは、処理画像比較回路38による画素単位での比較処理によって、既に生成・圧縮・記憶された描画データであるか否かの一致/不一致を判定する構成とした。これに対し、次の第3実施形態の画像圧縮処理回路[3]30Bおよびこれに基づく描画データの生成転送機能(サーバ処理[3])で説明するように、アプリケーションプログラム14aに従い生成される全ての描画データを固有なIDに変換する回路を備えさせ、新たな描画データIDについて記憶保持させると共に、その後に生成された描画データIDとの比較処理によって、既に生成・圧縮・記憶された描画データであるか否かの一致/不一致を判定する構成としてもよい。
これによれば、前記第1,第2実施形態において必要とした新たな描画データそのものを記憶保持するための大きなメモリ領域を要する処理画像メモリ36a,36,…を省略できることになる。
(第3実施形態)
図11は、前記サーバ装置10に備えられた第3実施形態の画像圧縮処理回路[3]30Bの構成を示すブロック図である。
この図11で示す第3実施形態の画像圧縮処理回路[3]30Bにおいて、前記図5で示した第1実施形態の画像圧縮処理回路[1]30と同一の構成部分については、同一の符号を付してその説明を省略する。
そして、この第3実施形態の画像圧縮処理回路[3]30Bでは、端末装置20からのイベント入力に応じて起動されるアプリケーションプログラム14aに従い、VRAM15上に描画データを生成するのに伴い、当該描画データの内容に応じた固有のIDを生成するためのID作成回路40を設ける。
図12は、前記サーバ装置10の第3実施形態の画像圧縮処理回路[3]30Bに対応して設けられたID作成回路40による描画データQa(Qb)に応じた固有のIDの生成機能を示す図である。
このID作成回路40は、例えばハッシュ関数を利用して描画データを構成する各ピクセルデータに従った数値からなるIDコードを生成するもので、このID作成回路40により生成された今回の描画データに対応するIDコード(描画データID)は、ID比較回路44に送られる。このID作成回路40は、ハードウエア回路により構成することで、そのID生成に要する時間が短く、またCPU11に負荷を掛けることもない。
なお、前記VRAM15に対する描画データの生成処理に際しては、前記第1,第2実施形態と同様に、メモリ転送回路31′により当該今回の描画データが圧縮処理用データバッファ32に転送される。
ID比較回路44は、ID作成回路40により生成された今回の描画データIDとID格納メモリ42に記憶されている過去の描画データIDとを比較し、当該今回の描画データのIDが過去に生成された同一の描画データのIDか又は新たな描画データのIDかをそのID一致又はID不一致によって判定する。
今回の描画データのIDとID格納メモリ42に記憶されている過去の描画データのIDとが不一致と判定された場合には、この新たな描画データのIDがID更新制御回路41によってID格納メモリ42に記憶される。またこれと共に、前記圧縮処理データバッファ32に転送格納された今回の描画データが、圧縮処理回路33により圧縮されて圧縮結果格納メモリ34に記憶される。
この際、ID/圧縮結果格納情報管理メモリ43における、前記ID格納メモリ42に記憶された今回の描画データIDの格納エリア情報と、前記圧縮結果格納メモリ34に記憶された圧縮済みの今回の描画データの格納エリア情報との対応付けが更新される。
次に、前記構成のサーバ・クライアント(Thin client)・システムの第3実施形態の画像圧縮処理回路[3]30Bを備えたサーバ装置10による描画データの生成転送機能について説明する。
図13は、前記サーバ・クライアント(Thin client)・システムのサーバ装置10による第3実施形態のサーバ処理[3]を示すフローチャートである。
この図13で示す第3実施形態のサーバ処理[3]において、前記図6で示した第1実施形態のサーバ処理[1]と同一の処理ステップについては、同一のステップ符号を付してその説明を省略する。
端末装置20からの入力イベントに応じたアプリケーションプログラム14aに従って、VRAM15に対し描画データが生成記憶されると、これに伴い、当該VRAM15に生成記憶される描画データがCPU11により抽出され(ステップC1)、ID生成回路40によって作成された今回の描画データに対応するIDが付加される(ステップC2)。
すると、前記VRAM15に対して生成された今回の描画データと前記ID生成回路40によって作成されたその描画データIDとが画像圧縮処理回路30Bへ転送される。そのうち今回の描画データはメモリ転送回路31′に転送され、また描画データIDはID比較回路44に転送されてID格納メモリ42に記憶されている過去の描画データIDと比較処理される(ステップC3)。
前記ID比較回路44において、今回の描画データIDが、ID格納メモリ42に記憶されている過去の描画データIDと一致せず不一致と判断された場合には(ステップC4(No))、前記メモリ転送回路31′により今回の描画データは圧縮処理用データバッファ32に転送される(ステップC5)。
また、今回の新たな描画データIDは、ID更新制御回路41によってID格納メモリ42の先頭格納エリア(1)に記憶される(ステップC6)。この際、当該ID格納メモリ42に既に記憶されていた最も古い描画データIDが削除され、それ以外の描画データIDの格納エリア(m)が1つ更新される。
すると、前記ID格納メモリ42におけるID格納エリア(1)(2)…の更新に応じて、前記ID更新制御回路41によりID/圧縮結果格納情報管理メモリ43における各描画データIDの格納エリア情報が更新される(ステップC7)。
そして、図8における処理画像圧縮処理が起動されると(ステップSB)、前記圧縮処理用データバッファ32に格納された今回の描画データが圧縮処理回路33により圧縮処理され(ステップB1)、この圧縮された描画データが圧縮結果格納メモリ34にその格納エリア(n)を指定して記憶される(ステップB2)。
すると、前記圧縮結果格納メモリ34に対する今回圧縮された描画データの格納エリア(n)の情報が前記圧縮処理回路33からID/圧縮結果格納情報管理メモリ43に通知され、前記ID格納メモリ42の先頭格納エリア(1)に記憶された今回の描画データIDに対応付けられてその格納エリアの情報が更新される(ステップB3)。
すると、メモリ転送回路31′には、今回圧縮処理した描画データの圧縮結果格納メモリ34に対する格納エリアの情報が圧縮処理回路33から通知され(ステップS4)、当該圧縮結果格納メモリ34から今回の圧縮済みの描画データが読み出される(ステップS5)。そして、前記メモリ転送回路31′に読み出された今回の圧縮済みの描画データは、CPU11によって通信I/F19を介し端末装置20へ送信転送される(ステップS6)。
一方、前記ID比較回路44において、前記ID作成回路40により生成された今回の描画データIDが、ID格納メモリ42に記憶されている過去の描画データIDと一致したと判断された場合には(ステップC4(Yes))、当該今回の描画データIDのID格納メモリ42に対する記憶処理および今回の描画データの圧縮処理回路33での圧縮処理は行われない。そして、今回一致判断されたところのID格納メモリ42に記憶されている同一の描画データIDの格納エリア情報(m)に対応付けられて、ID/圧縮結果格納情報管理メモリ43に記憶されている圧縮結果格納メモリ34の格納エリア情報がメモリ転送回路31′に通知され(ステップS4)、当該圧縮結果格納メモリ34から今回の描画データと同一である圧縮済みの描画データが読み出される(ステップS5)。そして、前記メモリ転送回路31′に読み出された圧縮済みの描画データは、CPU11によって通信I/F19を介し端末装置20へ送信転送される(ステップS6)。
したがって、前記構成のサーバ・クライアント(Thin client)・システムの第3実施形態の画像圧縮処理回路[3]30Bを備えたサーバ装置10による描画データの生成転送機能によれば、端末装置20からの入力イベントに応じてアプリケーションプログラム14aに従い生成される描画データがVRAM15に記憶されるのに伴い、この今回の描画データの固有のIDがID作成回路40により生成され、ID比較回路44により、ID格納メモリ42に既に記憶されている過去の描画データIDと一致すると判定された場合には、当該今回の描画データIDと一致判定された過去の描画データIDの格納エリア情報(m)に対応付けられてID/圧縮結果格納情報管理メモリ43に記憶されている圧縮結果格納メモリ34の格納エリア情報がメモリ転送回路31′へ通知される。そして、今回の描画データと同一で圧縮済みの描画データが前記圧縮結果格納メモリ34から読み出され、通信I/F19を介してアクセス元の端末装置20へ送信転送されて表示される。
よってこの場合にも、前記第1,第2実施形態と同様に、今回の描画データを圧縮処理回路33によって圧縮処理する必要なく、既に圧縮されて圧縮結果格納メモリ34に格納されている描画データを読み出して送信転送すればよく、効率的な描画データの送信転送処理が行えると共に、サーバ装置10における処理の負荷を大幅に軽減できるようになる。
しかも、この第3実施形態では、前記第1,第2実施形態において必要とした新たな描画データそのものを記憶保持するための大きなメモリ領域を要する処理画像メモリ36a,36,…を省略できるようになる。
なお、前記各実施形態において記載したサーバ・クライアント(Thin client)・システムのサーバ装置10によるに各処理の手法、すなわち、図5Aと図5Bのフローチャートに示すサーバ装置30の全体動作制御処理、図6のフローチャートに示す第1実施形態のサーバ処理、図7のフローチャートに示す前記サーバ処理に伴う書き換え画像抽出処理、図8のフローチャートに示す前記サーバ処理に伴う処理画像圧縮処理、図10のフローチャートに示す第2実施形態のサーバ処理、図13のフローチャートに示す第3実施形態のサーバ処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記録媒体18aに格納して配布することができる。そして、サーバ装置10のコンピュータ(CPU11)は、この外部記録媒体18aに記憶されたプログラムを記憶装置(フラッシュROM13やRAM14)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記各実施形態において説明した画像圧縮処理回路[1]30,[2]30A,[3]30Bを備えたサーバ装置10,10A,10Bによる描画データの生成転送機能を実現し、前述した手法による同様の処理を実行することができる。
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から前記のプログラムデータを取り込んで記憶装置(フラッシュROM13やRAM14)に記憶させ、前述した画像圧縮処理回路[1]30,[2]30A,[3]30Bを備えたサーバ装置10,10A,10Bによる描画データの生成転送機能を実現することもできる。
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。