(57)【要約】【課題】全てのアプリケーションをサーバ上で動作させるようにしたコンピュータシステム(thin client)のサーバ装置で、サーバ−クライアント間の描画データの転送に伴うサーバ側の処理負担を、描画品質を低下させることなく更に軽減すること。【解決手段】アクセラレータ回路によるハードウエア処理により、現描画データＧ′における画像変化の描画領域Ｑ′について１タイル単位でその未変化の画像ピクセルに透過色データＳを書き込んで最適圧縮した差圧縮描画データｈ（Ｈ）を転送用データとして高速に生成できるだけでなく、１タイル内の全画像ピクセルが透過色データＳに書き換えられた透過検出タイル“０”（Ｓｏ）についてはクライアント装置へ転送せず、それ以外画像変化のあった描画検出タイル“１”だけ転送を行う。前描画データＧから変化あるタイル分割部分だけ抽出し且つ最適圧縮して画質を維持しつつ最小限の転送データ量とする。【選択図】      図３
2007221229.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置において作成された描画データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムのサーバ装置であって、
前記クライアント装置へ転送した前画面の描画データを記憶する前描画データ記憶手段と、
作成された現画面の描画データを記憶する現描画データ記憶手段と、
前記描画データを複数の描画領域に分割する領域分割手段と、
前記現描画データ記憶手段により記憶された現描画データと前記前描画データ記憶手段により記憶された前描画データとを前記領域分割手段により分割された各描画領域毎に比較し、現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える特定データ置き換え手段と、
この特定データ置き換え手段により変化の無い部分の描画データが特定データに置き換えられた後の現描画データにおける各描画領域それぞれの描画データを圧縮する圧縮手段と、
前記特定データ置き換え手段により描画データが特定データに置き換えられた現描画データの描画領域を検出する特定領域検出手段と、
前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを前記クライアント装置へ送信する送信制御手段と、
を備えたことを特徴とするコンピュータシステムのサーバ装置。
【請求項２】
前記圧縮手段は、
圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段と、
この色数カウント手段によりカウントされた色数に応じて圧縮方法を決定する圧縮方法決定手段とを備え、
この圧縮方法決定手段により決定された圧縮方法で前記圧縮対象である描画領域の描画データを圧縮し、
前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信する、
ことを特徴とする請求項１に記載のコンピュータシステムのサーバ装置。
【請求項３】
前記圧縮手段は、
前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段と、
この通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段とを備え、
この圧縮方法決定手段により決定された圧縮方法で圧縮対象である描画領域の描画データを圧縮し、
前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信する、
ことを特徴とする請求項１に記載のコンピュータシステムのサーバ装置。
【請求項４】
前記圧縮手段は、
圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段と、
前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段と、
前記色数カウント手段によりカウントされた色数および前記通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段とを備え、
この圧縮方法決定手段により決定された圧縮方法で前記圧縮対象である描画領域の描画データを圧縮し、
前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信する、
ことを特徴とする請求項１に記載のコンピュータシステムのサーバ装置。
【請求項５】
前記領域分割手段により分割された現描画データにおける各描画領域毎に、当該描画領域を構成する各画素の色データを検出し、この検出された色データ以外の色データを当該描画領域の透過色として設定する透過色設定手段を備え、
前記特定データ置き換え手段により現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える該特定データは、前記透過色設定手段により設定された当該描画領域の透過色データである、
ことを特徴とする請求項１ないし請求項４の何れか１項に記載のコンピュータシステムのサーバ装置。
【請求項６】
前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データをその圧縮方法を示す情報および当該描画領域の現描画データ上での座標情報を付加して前記クライアント装置へ送信する、
ことを特徴とする請求項１ないし請求項５の何れか１項に記載のコンピュータシステムのサーバ装置。
【請求項７】
サーバ装置において作成された描画データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムにおいて、
前記サーバ装置のコンピュータを、
前記クライアント装置へ転送した前画面の描画データをメモリに記憶する前描画データ記憶制御手段、
作成された現画面の描画データをメモリに記憶する現描画データ記憶制御手段、
前記メモリに記憶された描画データを複数の描画領域に分割する領域分割手段、
前記現描画データ記憶制御手段によりメモリに記憶された現描画データと前記前描画データ記憶制御手段によりメモリに記憶された前描画データとを前記領域分割手段により分割された各描画領域毎に比較し、現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える特定データ置き換え手段、
この特定データ置き換え手段により変化の無い部分の描画データが特定データに置き換えられた後の現描画データにおける各描画領域それぞれの描画データを圧縮回路で圧縮させる圧縮制御手段、
前記特定データ置き換え手段により描画データが特定データに置き換えられた現描画データの描画領域を検出する特定領域検出手段、
前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを前記クライアント装置へ送信する送信制御手段、
として機能させるようにしたコンピュータ読み込み可能なサーバ制御プログラム。
【請求項８】
前記圧縮制御手段は、前記サーバ装置のコンピュータを、
圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段、
この色数カウント手段によりカウントされた色数に応じて圧縮方法を決定する圧縮方法決定手段として機能させ、
この圧縮方法決定手段により決定された圧縮方法の圧縮回路で前記圧縮対象である描画領域の描画データを圧縮させるように機能させ、
前記送信制御手段は、前記サーバ装置のコンピュータを、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信するように機能させる、
ことを特徴とする請求項７に記載のサーバ制御プログラム。
【請求項９】
前記圧縮制御手段は、前記サーバ装置のコンピュータを、
前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段、
この通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段として機能させ、
この圧縮方法決定手段により決定された圧縮方法の圧縮回路で圧縮対象である描画領域の描画データを圧縮させるように機能させ、
前記送信制御手段は、前記サーバ装置のコンピュータを、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信するように機能させる、
ことを特徴とする請求項７に記載のサーバ制御プログラム。
【請求項１０】
前記圧縮制御手段は、前記サーバ装置のコンピュータを、
圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段、
前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段、
前記色数カウント手段によりカウントされた色数および前記通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段として機能させ、
この圧縮方法決定手段により決定された圧縮方法の圧縮回路で前記圧縮対象である描画領域の描画データを圧縮させるように機能させ、
前記送信制御手段は、前記サーバ装置のコンピュータを、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信するように機能させる、
ことを特徴とする請求項７に記載のサーバ制御プログラム。
【請求項１１】
サーバ装置において作成された描画データを受信し表示画面に表示させるようにしたコンピュータシステムのクライアント装置であって、
前記サーバ装置から受信された現描画データの描画領域の圧縮された描画データを解凍する圧縮解凍手段と、
この圧縮解凍手段により解凍された描画領域の描画データをその画素データ毎に読み出して当該画素データが描画変化無しを示す特定データであるか否かを判定する画素データ判断手段と、
この画素データ判断手段により特定データであると判断された画素データ以外の画素データに従って前記表示画面の表示を更新させる表示更新制御手段と、
を備えたことを特徴とするクライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＡＮ(Local Area Network)等のネットワークを介して接続されたサーバ−クライアント・システムにおいて、クライアントＰＣ(Personal Computer)にて入出力・表示される全てのアプリケーションをサーバ上で動作させるようにしたコンピュータシステム(thin client)のサーバ装置、サーバ制御プログラム、およびそのクライアント装置に関する。
【背景技術】
【０００２】
従来、社内ＬＡＮなどのネットワークに接続された各ＰＣ端末では、その個々のＰＣ端末が独立して文書作成や表作成などのアプリケーションを起動実行し、またこれに伴い生成された種々のファイルも当該ＰＣ端末において自身の記憶装置に保存、あるいは磁気ディスク，光ディスク，小型半導体メモリ等の外部記憶媒体に保存するか、ネットワーク上のサーバが管理する記憶装置に転送して保存している。
【０００３】
このような従来のサーバ−クライアント・システムでは、各ＰＣ端末自身において生成ファイルが管理されるため、当該ＰＣ端末を紛失したり不正に持ち出したりして第３者の手に渡った場合、保存ファイルが読み出されて重要情報や機密情報が漏洩する恐れがある。
【０００４】
しかも、各ＰＣ端末が独立してアプリケーションを起動実行していたのでは、当該アプリケーションの更新，変更，追加の作業を個々のＰＣ端末毎に行う必要があり、管理が面倒でコストも掛かってしまう。
【０００５】
このため最近のサーバ−クライアント・システムでは、各ＰＣ端末（クライアントＰＣ）にて入出力・表示される全てのアプリケーションをサーバ上で起動実行させ、これに伴う全ての生成ファイルもサーバ側で管理するようにしたＳＢＣ(Server Based Computing)システム［シン・クライアント・システム］が導入されるようになっている（例えば、特許文献１、特許文献２参照。）。
【０００６】
このようなシン・クライアント・システムでは、サーバ側で実行されるアプリケーションソフトの描画データがクライアントＰＣに転送されて該クライアントＰＣにてこの描画データを表示するものである（例えば、特許文献３参照。）。
【特許文献１】特開２００４−１７１０６３号公報
【特許文献２】特開２００３−１５８５３４号公報
【特許文献３】特表２００４−５０３８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、シン・クライアント・システムでは、サーバ側で実行されるアプリケーションソフトの描画データがクライアントＰＣに転送されて該クライアントＰＣにてこの描画データを表示するものであるため、特に、描画データの処理量が大きくなったり、サーバに接続されるクライアントＰＣの台数が多くなったりすると、描画データをクライアントに転送するためのサーバの処理負担が増大し、サーバ−クライアント間の応答速度の低下やクライアントＰＣの接続台数を大幅に制限しなければならないなどの問題が生じる。
【０００８】
そこで、ソフトウエアによる描画データの表示制御技術として、１画面内で描画更新された描画データ部分を含む矩形の描画領域のみを切り出し、さらにこれを圧縮・転送して書き換え処理することで、描画データの転送に伴うデータ量を削減してサーバの処理負担を軽減することが考えられているが、描画データの高精細化やモニタ解像度の飛躍的向上などによってその描画のための処理量はより増大しており、描画品質を低下させることなしに更なる処理負担の軽減が求められている。
【０００９】
本発明は、このような課題に鑑みなされたもので、サーバ−クライアント間の描画データの転送に伴うサーバ側の処理負担を、描画品質を低下させることなく更に軽減することが可能になるコンピュータシステムのサーバ装置、サーバ制御プログラム、およびそのクライアント装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載のサーバ装置は、サーバ装置において作成された描画データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムのサーバ装置であって、前記クライアント装置へ転送した前画面の描画データを記憶する前描画データ記憶手段と、作成された現画面の描画データを記憶する現描画データ記憶手段と、前記描画データを複数の描画領域に分割する領域分割手段と、前記現描画データ記憶手段により記憶された現描画データと前記前描画データ記憶手段により記憶された前描画データとを前記領域分割手段により分割された各描画領域毎に比較し、現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える特定データ置き換え手段と、この特定データ置き換え手段により変化の無い部分の描画データが特定データに置き換えられた後の現描画データにおける各描画領域それぞれの描画データを圧縮する圧縮手段と、前記特定データ置き換え手段により描画データが特定データに置き換えられた現描画データの描画領域を検出する特定領域検出手段と、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを前記クライアント装置へ送信する送信制御手段とを備えたことを特徴としている。
【００１１】
請求項２に記載のサーバ装置は、前記請求項１に記載のコンピュータシステムのサーバ装置において、前記圧縮手段は、圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段と、この色数カウント手段によりカウントされた色数に応じて圧縮方法を決定する圧縮方法決定手段とを備え、この圧縮方法決定手段により決定された圧縮方法で前記圧縮対象である描画領域の描画データを圧縮し、前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信することを特徴としている。
【００１２】
請求項３に記載のサーバ装置は、前記請求項１に記載のコンピュータシステムのサーバ装置において、前記圧縮手段は、前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段と、この通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段とを備え、この圧縮方法決定手段により決定された圧縮方法で圧縮対象である描画領域の描画データを圧縮し、前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信することを特徴としている。
【００１３】
請求項４に記載のサーバ装置は、前記請求項１に記載のコンピュータシステムのサーバ装置において、前記圧縮手段は、圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段と、前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段と、前記色数カウント手段によりカウントされた色数および前記通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段とを備え、この圧縮方法決定手段により決定された圧縮方法で前記圧縮対象である描画領域の描画データを圧縮し、前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信することを特徴としている。
【００１４】
請求項５に記載のサーバ装置は、前記請求項１ないし請求項４の何れか１項に記載のコンピュータシステムのサーバ装置において、前記領域分割手段により分割された現描画データにおける各描画領域毎に、当該描画領域を構成する各画素の色データを検出し、この検出された色データ以外の色データを当該描画領域の透過色として設定する透過色設定手段を備え、前記特定データ置き換え手段により現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える該特定データは、前記透過色設定手段により設定された当該描画領域の透過色データであることを特徴としている。
【００１５】
請求項６に記載のサーバ装置は、前記請求項１ないし請求項５の何れか１項に記載のコンピュータシステムのサーバ装置において、前記送信制御手段は、前記圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データをその圧縮方法を示す情報および当該描画領域の現描画データ上での座標情報を付加して前記クライアント装置へ送信することを特徴としている。
【００１６】
請求項７に記載のサーバ制御プログラムは、サーバ装置において作成された描画データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムにおいて、前記サーバ装置のコンピュータを、前記クライアント装置へ転送した前画面の描画データをメモリに記憶する前描画データ記憶制御手段、作成された現画面の描画データをメモリに記憶する現描画データ記憶制御手段、前記メモリに記憶された描画データを複数の描画領域に分割する領域分割手段、前記現描画データ記憶制御手段によりメモリに記憶された現描画データと前記前描画データ記憶制御手段によりメモリに記憶された前描画データとを前記領域分割手段により分割された各描画領域毎に比較し、現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える特定データ置き換え手段、この特定データ置き換え手段により変化の無い部分の描画データが特定データに置き換えられた後の現描画データにおける各描画領域それぞれの描画データを圧縮回路で圧縮させる圧縮制御手段、前記特定データ置き換え手段により描画データが特定データに置き換えられた現描画データの描画領域を検出する特定領域検出手段、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを前記クライアント装置へ送信する送信制御手段として機能させるようにした。
【００１７】
請求項８に記載のサーバ制御プログラムは、前記請求項７に記載のサーバ制御プログラムにおいて、前記圧縮制御手段は、前記サーバ装置のコンピュータを、圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段、この色数カウント手段によりカウントされた色数に応じて圧縮方法を決定する圧縮方法決定手段として機能させ、この圧縮方法決定手段により決定された圧縮方法の圧縮回路で前記圧縮対象である描画領域の描画データを圧縮させるように機能させ、前記送信制御手段は、前記サーバ装置のコンピュータを、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信するように機能させることを特徴としている。
【００１８】
請求項９に記載のサーバ制御プログラムは、前記請求項７に記載のサーバ制御プログラムにおいて、前記圧縮制御手段は、前記サーバ装置のコンピュータを、前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段、この通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段として機能させ、この圧縮方法決定手段により決定された圧縮方法の圧縮回路で圧縮対象である描画領域の描画データを圧縮させるように機能させ、前記送信制御手段は、前記サーバ装置のコンピュータを、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信するように機能させることを特徴としている。
【００１９】
請求項１０に記載のサーバ制御プログラムは、前記請求項７に記載のサーバ制御プログラムにおいて、前記圧縮制御手段は、前記サーバ装置のコンピュータを、圧縮対象である描画領域の描画データの色数をカウントする色数カウント手段、前記クライアント装置に対する通信状態の負荷を検出する通信負荷検出手段、前記色数カウント手段によりカウントされた色数および前記通信負荷検出手段により検出された前記クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定する圧縮方法決定手段として機能させ、この圧縮方法決定手段により決定された圧縮方法の圧縮回路で前記圧縮対象である描画領域の描画データを圧縮させるように機能させ、前記送信制御手段は、前記サーバ装置のコンピュータを、前記圧縮制御手段により圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加して前記クライアント装置へ送信するように機能させることを特徴としている。
【００２０】
請求項１１に記載のクライアント装置は、サーバ装置において作成された描画データを受信し表示画面に表示させるようにしたコンピュータシステムのクライアント装置であって、前記サーバ装置から受信された現描画データの描画領域の圧縮された描画データを解凍する圧縮解凍手段と、この圧縮解凍手段により解凍された描画領域の描画データをその画素データ毎に読み出して当該画素データが描画変化無しを示す特定データであるか否かを判定する画素データ判断手段と、この画素データ判断手段により特定データであると判断された画素データ以外の画素データに従って前記表示画面の表示を更新させる表示更新制御手段とを備えたことを特徴としている。
【発明の効果】
【００２１】
本発明の請求項１（請求項７）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）によれば、現描画データ記憶手段により記憶された現描画データと前描画データ記憶手段により記憶された前描画データとを領域分割手段により分割された各描画領域毎に比較し、当該現描画データにおける各描画領域それぞれの前描画データに対する変化の有る部分と変化の無い部分とを判定すると共に、この変化の無い部分の描画データを特定データに置き換えた後の現描画データにおける各描画領域それぞれの描画データを圧縮する。そして、描画データが特定データに置き換えられた現描画データの描画領域を検出し、前記圧縮された現描画データにおける各描画領域の描画データのうち、前記検出された描画領域を除いた他の描画領域の圧縮描画データだけをクライアント装置へ送信するように制御するので、描画変化に伴うクライアント装置への転送データ量を画質の低下なく圧縮し且つ大幅に削減することができ、高速に描画データを転送できる。しかも、前記描画領域の分割手段、比較判定・特定データ置き換え手段、圧縮手段、および特定領域検出手段をハードウエア回路で実現することで、当該サーバＣＰＵの負荷を軽減してより高速に描画データを転送でき、クライアント装置の接続数も増やすことが可能になる。
【００２２】
本発明の請求項２（請求項８）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）によれば、前記請求項１（請求項７）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）において、前記圧縮手段は、圧縮対象である描画領域の描画データの色数をカウントし、このカウントされた色数に応じて圧縮方法を決定し、この決定された圧縮方法で前記圧縮対象である描画領域の描画データを圧縮する。そして、この圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加してクライアント装置へ送信するように制御するので、色数に応じた描画データの圧縮処理によって画質の低下無くより効率的に転送データ量を削減でき、サーバＣＰＵに負荷を掛けずに高速に描画データを転送できる。
【００２３】
本発明の請求項３（請求項９）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）によれば、前記請求項１（請求項７）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）において、前記圧縮手段は、クライアント装置に対する通信状態の負荷に応じて圧縮方法を決定し、この決定された圧縮方法で圧縮対象である描画領域の描画データを圧縮する。そして、この圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加してクライアント装置へ送信するように制御するので、そのときの通信速度に応じた描画データの圧縮処理によって効率的に転送データ量を削減でき、サーバＣＰＵに負荷を掛けずに高速に描画データを転送できる。
【００２４】
本発明の請求項４（請求項１０）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）によれば、前記請求項１（請求項７）に記載のコンピュータシステムのサーバ装置（サーバ制御プログラム）において、前記圧縮手段は、圧縮対象である描画領域の描画データの色数をカウントすると共に、クライアント装置に対する通信状態の負荷を検出し、このカウントされた色数および検出された通信状態の付加に応じて圧縮方法を決定し、この決定された圧縮方法で前記圧縮対象である描画領域の描画データを圧縮する。そして、この圧縮された現描画データにおける各描画領域の描画データのうち、前記特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データを当該描画データの圧縮方法を示す情報を付加してクライアント装置へ送信するように制御するので、色数およびそのときの通信速度に応じた描画データの圧縮処理によって画質を維持し且つ効果的に転送データ量を削減でき、サーバＣＰＵに負荷を掛けずに高速に描画データを転送できる。
【００２５】
本発明の請求項５に記載のコンピュータシステムのサーバ装置によれば、前記請求項１ないし請求項４の何れか１項に記載のコンピュータシステムのサーバ装置において、領域分割手段により分割された現描画データにおける各描画領域毎に、当該描画領域を構成する各画素の色データを検出し、この検出された色データ以外の色データを当該描画領域の透過色として設定する透過色設定手段を備え、特定データ置き換え手段により現描画データにおける各描画領域それぞれの変化の無い部分の描画データを特定データに置き換える該特定データは、前記透過色設定手段により設定された当該描画領域の透過色データとしたので、画素データの変化無しを示す特定データを他の画素データと同様な通常の色データの中に含ませて容易に転送することができる。
【００２６】
本発明の請求項６に記載のコンピュータシステムのサーバ装置によれば、前記請求項１ないし請求項５の何れか１項に記載のコンピュータシステムのサーバ装置において、送信制御手段は、圧縮手段により圧縮された現描画データにおける各描画領域の描画データのうち、特定領域検出手段により検出された描画領域を除いた他の描画領域の描画データをその圧縮方法を示す情報および当該描画領域の現描画データ上での座標情報を付加してクライアント装置へ送信するので、クライアント装置では、転送された描画データをその圧縮方法を示す情報に従って解凍すると共に、その座標情報が示す位置に従って描画するだけで容易に表示更新することできる。
【００２７】
本発明の請求項１１に記載のクライアント装置によれば、サーバ装置から受信された現描画データの描画領域の圧縮された描画データを解凍すると共に、この解凍された描画データをその画素データ毎に読み出して当該画素データが描画変化無しを示す特定データであるか否かを判定し、この画素データ判断手段により特定データであると判断された画素データ以外の画素データに従って表示画面の表示を更新させるので、サーバ装置側で変化の無い画素データ部分を特定データに置き換え画質低下無く高効率にデータ圧縮を図るのと共に、全画素データが特定データに置き換えられた描画領域を非転送として、その転送データ量を大幅に削減することが可能になる。
【００２８】
よって本発明によれば、サーバ−クライアント間の描画データの転送に伴うサーバ側の処理負担を、描画品質を低下させることなく更に軽減することが可能になるコンピュータシステムのサーバ装置、サーバ制御プログラム、およびそのクライアント装置を提供できる。
【発明を実施するための最良の形態】
【００２９】
図１は、本発明の実施形態に係るサーバ装置１０およびそのクライアント端末２０ａ，２０ｂ，…を備えたシン・クライアント・システムの構成を示すブロック図である。
【００３０】
このシン・クライアント・システムは、ＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)からなるネットワークＮ上に接続されたサーバ装置１０および複数のクライアント装置２０ａ，２０ｂ，…を備える。
【００３１】
サーバ装置１０は、文書作成処理プログラム，表計算処理プログラム，メール処理プログラム，インターネット接続処理プログラム、Ｗｅｂ表示プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置１０に接続されたクライアント装置２０ａ，２０ｂ，…からの操作入力信号に応じて起動しその処理を実行する。
【００３２】
このサーバ装置１０において、クライアント装置２０ａ，２０ｂ，…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い生成された表示出力用の描画データは、アクセラレータ回路１０１ａ，１０１ｂ，…によって転送用の描画データに変換されると共に、当該描画データの内容やクライアント装置２０ａ，２０ｂ，…との通信状態に応じた最適な圧縮方式で圧縮そして暗号化され、アクセス元のクライアント装置２０ａ，２０ｂ，…へ送信（転送）される。
【００３３】
そして、クライアント装置２０ａ，２０ｂ，…では、前記サーバ装置１０から転送された描画データが、各クライアント装置内のアクセラレータ回路（回路ボード）２１ａ，２１ｂ，…においてデコードされ、その表示部に表示される。
【００３４】
つまり、このシン・クライアント・システムにおける各クライアント装置２０ａ，２０ｂ，…は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とＬＣＤ表示部及びプリンタなどの出力機能のみを有し、独自のアプリケーション機能やデータファイルの管理機能を一切持っていない。
【００３５】
そして、クライアント装置２０ａ，２０ｂ，…からの操作入力信号に応じてサーバ装置１０にて起動実行される各種の処理に伴い生成されたデータファイルは、当該サーバ装置１０内あるいは該サーバ装置１０にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００３６】
ここで、前記サーバ装置１０のアクセラレータ回路（回路ボード）１０１ａ，１０１ｂ，…における転送用描画データの生成機能について、その概要を説明する。
【００３７】
図２は、前記シン・クライアント・システムのサーバ装置１０にて生成された描画データのクライアント装置２０への転送表示状態を示す図であり、同図（Ａ）はサーバ装置１０における描画データの変化状態を示す図、同図（Ｂ）は描画データ変化時の転送用描画データを示す図、同図（Ｃ）は転送された描画データのクライアント装置における表示出力状態を示す図である。
【００３８】
サーバ装置１０において、起動中のアプリケーションプログラムに従い既に生成転送されていた描画データ（変化前）Ｇが描画データ（変化後）Ｇ′に変化した場合、まず変化後の描画データＧ′における描画データの変化部分Ｐに応じた領域Ｑ′が切り出され、この変化のある領域Ｑ′の描画データについて、アクセラレータ回路１０１により図２（Ｂ）に示すような転送用描画データＨに変換される。
【００３９】
この転送用描画データＨは、前記変化後の描画データＧ′からその変化部分Ｐに応じて切り出された領域Ｑ′と変化前の描画データＧにおける同領域Ｑとの画像比較により、そのうちの背景一致領域Ｒが透過の描画データ(画像データ)Ｓ（書き換え不要な色データ）に変換されて生成される。なお、以下の説明ではテキストデータや静止画データ、動画データなどを特にピクセルとして表現された描画データを画像データと称するが、両者は略同義語として用いる。
【００４０】
これによりクライアント装置２０では、変化前描画データＧ上における前記画像変化の領域Ｑ′に対応する座標位置で、前記転送用描画データＨを透過の画像データＳを除いて書き込むことで、変化後の描画データＧ′を表示させることができる。
【００４１】
なお、前記サーバ装置１０のアクセラレータ回路１０１により生成された転送用描画データＨは、当該描画データの内容（色数）やそのときのクライアント装置２０との通信状態（応答速度）に応じて選択される圧縮効率及び画像品質の両面において最適な圧縮方式で圧縮されて転送されるので、描画品質を低下させることなしに、描画データの転送量を更に少なくすることができる。
【００４２】
図３は、前記シン・クライアント・システムのサーバ装置１０において変化後の描画データＧ′の領域Ｑ′に基づきアクセラレータ回路１０１により生成処理される転送用描画データＨを詳細に示す図である。
【００４３】
例えば図２（Ａ）で示したように、サーバ装置１０において処理される描画データＧ（Ｇ′）の領域サイズが４８０×６４０ピクセルである場合に、変化後の描画データＧ′における画像変化部分Ｐに応じた領域Ｑ′は、図３（Ａ）に示すように、１６×１６ピクセル＝１タイル（Ｔ）とするタイル単位を基準に切り出される。
【００４４】
なお、前記変化後描画データＧ′の画像変化部分Ｐに応じた領域Ｑ′において、水平方向に一列分の各タイルＴの領域をまとめて１ブロックと称する。
【００４５】
なおまた、前記領域Ｑ′は、画像変化部分Ｐを水平および垂直方向にきり出した矩形の領域Ｑ′としているが、水平方向にのみ切り出したその領域サイズ（横）が描画データＧ（Ｇ′）自体の領域サイズ（６４０ピクセル）である帯状の領域Ｑ′としてもよい。
【００４６】
アクセラレータ回路１０１では、前記画像変化に応じた領域Ｑ′をタイル単位で変化前描画データＧの同位置の領域Ｑと画像比較し、そのうちの背景一致領域Ｒの各画像ピクセルを、図３（Ｂ）に示すように、透過の画像データＳ（書き換え不要な色データ）に変換する。そして、１タイル（Ｔ）の全領域が透過色データＳに変換された透過色タイルＳoについては非転送とし、画像変化部分Ｐを含んだ各タイルだけを変化前描画データＧとの差分領域を圧縮した転送用描画データＨとした後に、最適圧縮方式で圧縮処理して当該各タイルの表示画面上の座標位置と共にクライアント装置２０へ転送する。
【００４７】
クライアント装置２０のアクセラレータ回路（回路ボード）２１では、変化前描画データＧに対してタイル単位で圧縮転送されてくる転送用描画データＨをデコード後、当該各タイルの座標位置で、単に透過色データＳに変換された画像ピクセルを除いて書き込むだけで、サーバ装置１０にて生成された変化後の描画データＧ′を表示できる。
【００４８】
サーバ装置１０のアクセラレータ回路１０１において、生成された転送用描画データＨは最適圧縮・暗号化されてクライアント装置２０へ転送されるが、例えばＧＩＦ(Graphics Interchange Format)／ＰＮＧ(Portable Network Graphics)の圧縮方式では、圧縮対象となる画像データを構成する各画像ピクセルが同一色で隣接し連続していればいるほどその画質を落とさずに圧縮効率を高められるので、上述したように転送用描画データＨの中で透過色データＳに変換されている描画データ領域の圧縮率は非常に高くなる。
【００４９】
このためサーバ装置１０からクライアント装置２０へ転送する描画データの転送データ量を描画品質を低下させずに非常に少なくできるばかりか、その転送用描画データＨをハードウエアのアクセラレータ回路（回路ボード）１０１において生成し圧縮できるので、サーバ装置１０での処理負担を大幅に軽減でき、クライアント装置２０ａ，２０ｂ，…の増設などに容易に対応できるようになる。
【００５０】
図４は、前記シン・クライアント・システムにおけるサーバ装置１０の回路構成を示すブロック図である。
【００５１】
サーバ装置１０は、コンピュータとしてのＣＰＵ１０２を備え、このＣＰＵ１０２には、高速バス１０３を介してＲＯＭ１０４、ＲＡＭ１０５、表示装置１０６が接続されると共に、前記アクセラレータ回路（回路ボード）１０１が接続される。このアクセラレータ回路１０１には、ＶＲＡＭ１０７が搭載されて接続される。
【００５２】
また、ＣＰＵ１０２には、ノーマルバス１０８を介してキーボードなどの入力部１０９、外部記憶ＨＤＤ(Hard Disk Drive)１１０、クライアント装置２０との送受信制御部１１１が接続される。
【００５３】
ＣＰＵ１０２は、ＲＯＭ１０４に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１０５を作業用メモリとし回路各部の動作を制御するもので、入力部１０９からのキー入力信号や送受信制御部１１１を介して受信されるクライアント装置２０からのユーザ操作に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
【００５４】
このサーバ装置１０において、クライアント装置２０からのユーザ指令信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶ＨＤＤ１１０に記憶され、また表示用の描画データは、アクセラレータ回路（回路ボード）１０１においてＶＲＡＭ１０７を使用して転送用描画データＨ（図２，図３参照）に変換され、最適圧縮・暗号化された後、送受信制御部１１１からクライアント装置２０へ転送されて表示出力される。
【００５５】
図５は、前記シン・クライアント・システムのサーバ装置１０におけるアクセラレータ回路１０１の回路構成を示すブロック図である。
【００５６】
このアクセラレータ回路１０１は、前記サーバＣＰＵ１０２からの高速バス１０３に接続されるインターフェース回路（Ｉ／Ｆ回路）１１ａを有し、このＩ／Ｆ回路１１ａには、メモリコントローラ１１ｂを介してＶＲＡＭ１０７が接続される。
【００５７】
ＶＲＡＭ１０７には、各クライアント装置２０ａ，２０ｂ，…からの操作指令信号に応じてＣＰＵ１０２により起動・実行される各アプリケーションプログラムに従い生成された表示用の描画データが、各クライアント装置２０ａ，２０ｂ，…毎に表示Ａ，Ｂ，…として割り当てられて記憶されると共に、各描画データＡ，Ｂ，…に基づいてアクセラレータ回路１０１にて変換生成された転送用描画データＨが最適圧縮・暗号化されて結果Ａ，Ｂ，…として記憶される。
【００５８】
さらに、Ｉ／Ｆ回路１１ａと前記メモリコントローラ１１ｂとの間には、生成された表示用の描画データ（表示Ａ，Ｂ，…）からその転送用描画データＨ（結果Ａ，Ｂ，…）を生成するための画像スケーラ１１ｃ、タイル分割回路１１ｄ、画像比較回路１１ｅ、圧縮回路１１ｆ、暗号化回路１１ｇが接続される。
【００５９】
これら転送用描画データＨを生成するための各回路１１ｃ〜１１ｇは、前記ＣＰＵ１０２からインターフェース回路１１ａを介してコマンド設定レジスタ１１ｈにセットされるコマンドコードに応じて動作する。
【００６０】
画像スケーラ１１ｃは、クライアント装置２０ａ，２０ｂ，…毎の操作指令信号に応じたアプリケーションプログラムに従い生成された描画データを、当該クライアント装置２０ａ，２０ｂ，…毎の表示画面サイズに合わせて縮小するもので、この画像スケーラ１１ｃによりサイズ調整処理された描画データは、メモリコントローラ１１ｂを介してＶＲＡＭ１０７内に表示Ａ，Ｂ，…として格納される。
【００６１】
タイル分割回路１１ｄは、前記ＶＲＡＭ１０７から読み出される表示用の描画データ（表示Ａ，Ｂ，…）を、その領域サイズに応じタイル分割数（１タイルあたりの縦×横ピクセル数）を設定してタイル分割するもので、ＶＲＡＭ１０７から読み出された例えばクライアント装置２０ａ用の描画データ（表示Ａ）の画像サイズが、前記図２，図３で示したように、４８０×６４０ピクセルである場合には、１タイル（Ｔ）あたり１６×１６ピクセルに設定されてタイル分割される。
【００６２】
なお、このタイル分割による１タイル（Ｔ）あたりの領域設定サイズは、８×８ピクセルや３２×３２ピクセルなど、描画データの画像サイズに適宜合わせて設定すればよい。
【００６３】
画像比較回路１１ｅは、前記ＶＲＡＭ１０７から読み出される変化後の描画データＧ′（図２参照）について、前記タイル分割回路１１ｄにより分割された１タイル（Ｔ）単位で同ＶＲＡＭ１０７から読み出される変化前の描画データＧと比較し（図２参照）、変化（差分）のない画像ピクセルを透過色データＳに変換するもので（図３参照）、この１タイル（Ｔ）単位での画像比較による未変化画像ピクセルの透過色データＳへの変換が１ブロック分（縦１６×横６４０ピクセル）終了する毎に圧縮回路１１ｆにより最適圧縮され、暗号化回路１１ｇにより暗号化されて、前記転送用描画データＨの単位画像としてＶＲＡＭ１０７に格納され、前記ＣＰＵ１０２により読み出されてクライアント装置２０ａへ転送される。
【００６４】
この場合、１タイル（Ｔ）の全画像ピクセルが透過色データＳに変換された画像タイルについては、クライアント装置２０ａへ転送されない。
【００６５】
なお、前記画像比較回路１１ｅ、圧縮回路１１ｆ、暗号化回路１１ｇによる変化後の描画データ（現描画データ）Ｇ′についての未変化ピクセルの透過色データ変換、最適圧縮、暗号化については、画像変化部分Ｐ（図２参照）を含むブロック領域にだけ行う構成とする。
【００６６】
図６は、前記サーバ装置１０のアクセラレータ回路１０１における画像比較回路１１ｅの構成を示すブロック図である。
【００６７】
ＶＲＡＭ１０７には、クライアント装置２０からの操作指示信号に応じて起動されたアプリケーションによって生成された前（変化前）描画データＧ、現（変化後）描画データＧ′が記憶されると共に、この現描画データＧ′の前描画データＧに対する差分に応じて生成され最適圧縮・暗号化された差圧縮描画データｈ（転送用描画データＨ）が記憶される。
【００６８】
現描画開始アドレス・レジスタｅ１１と現描画バイト数・レジスタｅ１２に対して、ＶＲＡＭ１０７に生成記憶されている現描画データＧ′の開始アドレスとそのバイト数がＣＰＵ１０２によりセットされると、当該現描画データＧ′の先頭の１ブロックデータ（この場合は横６４０×縦１６ピクセル：４０タイル）がＤＭＡ回路ｅ１３を介して現描画データ比較用６４０×１６ピクセル・レジスタｅ１４にセットされる。
【００６９】
これと共に、前描画開始アドレス・レジスタｅ１５と前描画バイト数・レジスタｅ１６に対して、ＶＲＡＭ１０７に生成記憶されている前描画データＧの開始アドレスとそのバイト数がＣＰＵ１０２によりセットされると、当該前描画データＧの先頭の１ブロックデータ（４０タイル）がＤＭＡ回路ｅ１３を介して前描画データ比較用６４０×１６ピクセル・レジスタｅ１７にセットされる。
【００７０】
現描画データ比較用６４０×１６ピクセル・レジスタｅ１４にセットされた現描画データＧ′の１ブロックデータ（４０タイル）は、１タイル単位（１６×１６ピクセル）で４０タイル並列にして色検出回路ｅ１８（図７参照）に読み出され、各タイルそれぞれの使用色数のカウントおよび未使用色の検出による透過色データＳの指定が行われる一方で、タイル比較回路ｅ１９（図８参照）にも同１タイル単位で４０タイル並列にして読み出される。
【００７１】
タイル比較回路ｅ１９は、ＣＰＵ１０２からの比較指令信号に従い前記現描画データ比較用６４０×１６ピクセル・レジスタｅ１４から読み出される現描画データＧ′の１ブロックデータと前記前描画データ比較用６４０×１６ピクセル・レジスタｅ１７から読み出される前描画データＧの１ブロックデータとについて、その４０タイル並列にしたタイル単位で１ピクセルずつの描画色データを比較し、現描画１タイルデータの画像変化（差分）の無いピクセルの描画色データを前記色検出回路ｅ１８により指定された対応する１タイルデータの透過色データＳに置き換える。
【００７２】
このタイル比較回路ｅ１９により１タイル単位で画像変化（差分）の無いピクセルの描画色データが透過色データＳに置き換えられてなる４０タイル分の１ブロックデータは、比較結果格納６４０×１６ピクセル・レジスタｅ２０に格納される。
【００７３】
この比較結果格納６４０×１６ピクセル・レジスタｅ２０に格納された無変化ピクセル透過色変換後の１ブロックデータは、当該１ブロックデータ毎に圧縮回路１１ｆから暗号化回路１１ｇを介して最適圧縮・暗号化され、差圧縮描画データｈとしてＶＲＡＭ１０７に記憶される。
【００７４】
書き換え領域判断回路ｅ２１には、ＶＲＡＭ１０７に記憶されている現描画データＧ′について画像変化部分Ｐ（図２参照）を含むブロック領域数がＣＰＵ１０２によりセットされる。そしてこの書き換え領域判断回路ｅ２１は、暗号化回路１１ｇから１ブロック終了信号が出力される毎に、セットされたブロック領域数に一致するかを判断し、一致しない場合は次ブロックデータの比較を指示する信号を＋１６ライン回路ｅ２２に出力する。一致した場合は今回の現（変化後）描画データＧ′についての差圧縮描画データｈの生成終了を通知する領域ブロック終了信号をＣＰＵ１０２に出力する。
【００７５】
＋１６ライン回路ｅ２２は、前記書き換え領域判断回路ｅ２１からの次ブロックデータの比較指示信号に従って前記現描画開始アドレス・レジスタｅ１１にセットされている現描画データＧ′の開始アドレスを、Ｙ（縦）方向に１タイルに相当する１６ラインを加算して更新する。なお、＋１６ライン回路ｅ２２は１６ラインを加算する例で説明したが、描画データの処理単位に応じて、適宜その値を設定する。例えば、３２ライン単位、６４ライン単位で処理する場合は夫々３２ライン、６４ラインを加算する。そして、前記現描画データ比較用６４０×１６ピクセル・レジスタｅ１４及び前記前描画データ比較用６４０×１６ピクセル・レジスタｅ１７の記憶容量、その他の回路も描画データの処理単位に応じた回路に設定するものとする。
【００７６】
描画データ入替レジスタｅ２３は、ＣＰＵ１０２により新たな現（変化後）描画データＧ′が生成されてセットされることに応じて、ＤＭＡ回路ｅ１３を介してＶＲＡＭ１０７内の現描画データＧ′を前描画データＧに書き替え、新たな現（変化後）描画データを現描画データＧ′として上書きする。
【００７７】
図７は、前記サーバ装置１０のアクセラレータ回路１０１における画像比較回路１１ｅ内の色検出回路ｅ１８の構成を示すブロック図である。
【００７８】
色検出回路ｅ１８は、前記現描画データ比較用６４０×１６ピクセル・レジスタｅ１４に格納された現描画データＧ′の１ブロックデータ（４０タイル）について、前記タイル比較回路ｅ１９に読み出される１ブロックデータ（４０タイル）をタイル単位で並列にして格納１６×１６ピクセル・レジスタ１８ａに格納する。
【００７９】
つまりこの色検出回路ｅ１８は、図７では１タイル分の処理回路を記載しているが、この処理回路が４０タイル分並列にして構成される。
【００８０】
格納１６×１６ピクセル・レジスタ１８ａに格納された１タイルのデータは、１ピクセル読み出し回路１８ｂにより１ピクセルずつ読み出され１ピクセル一致回路１８ｃに送られる一方で、色・レジスタ書込み回路１８ｄにセットされる。
【００８１】
１ピクセル一致回路１８ｃは、１ピクセル読み出し回路１８ｂにより読み出された１ピクセルの色データと色・レジスタ読み出し回路１８ｅにより色・レジスタ１８ｆから読み出された現在の１タイルデータにおける以前の読み出しピクセルの色データとの一致／不一致を検出する。
【００８２】
この１ピクセル一致回路１８ｃにおいて不一致検出された場合には、次の色・レジスタ読み出し回路１８ｇによって前記色・レジスタ読み出し回路１８ｅによる色・レジスタ１８ｆの読み出し位置が更新され、一致検出された場合には、次のピクセル読み出し回路１８ｈによって前記１ピクセル読み出し回路１８ｂによる前記格納１６×１６ピクセル・レジスタ１８ａの読み出しピクセルが更新される。
【００８３】
なお、１ピクセル一致回路１８ｃでの不一致検出により色・レジスタ読み出し回路１８ｅでの色・レジスタ１８ｆの読み出し位置が更新された際に、前記色・レジスタ書込み回路１８ｄにセットされた当該不一致検出ピクセルの色データが色・レジスタ１８ｆに追加記憶される一方で、色数カウント・レジスタ１８ｉにおける該当１タイルデータの色数カウント値が更新される。
【００８４】
つまり、前記格納１６×１６ピクセル・レジスタ１８ａに格納された１タイル単位のデータについて、１ピクセル読み出し回路１８ｂにより順次読み出される画像１ピクセルの描画色データがそれ以前の画像１ピクセルの描画色データと異なり不一致となった場合には、当該異なる色データが色・レジスタ１８ｆに追加記憶されて行き、その都度、色数カウント・レジスタ１８ｉでの色数カウント値が更新される。
【００８５】
そして、ＥＮＤ回路１８ｊにより１タイルデータに相当する２５６ピクセルの読み出し終了が検出され、１タイル終了信号が出力されると、ソート回路１８ｋは、前記色・レジスタ１８ｆに記憶された今回の１タイル内で使用の各描画色データについてその色コード順に昇順でソートする。
【００８６】
不連続データ検出回路１８ｍは、ソート回路１８ｋによる昇順での描画色データ（色コード）のソート過程において、当該色コードの連続が途切れて不連続となった最初の色コードを検出するもので、これにより検出された今回の１タイル内にて未使用で且つ色コード順にして最初の色データが当該１タイルデータの透過色データＳに決定されタイル比較回路ｅ１９（図８参照）内の透過色データ指定レジスタ１９ｄにセットされる。なお、１タイル内で未使用の色データを透過色データＳとして使用するので、特別に透過色を示すデータが不要になるが、色コードを表すビット列の中で使用されないコードがあればその中の特定のコードを透過色データＳと一義的に定めてもよく、また、フラグなどを用いて透過色データＳを一義的に定めてもよい。この場合は、色検出回路ｅ１８は不要になる。更に、透過色データを決める際にそのタイル内で使用されている一番少ない色コードを検出して、これを透過色データＳとしてもよい。
【００８７】
図８は、前記サーバ装置１０のアクセラレータ回路１０１における画像比較回路１１ｅ内のタイル比較回路ｅ１９の構成を示すブロック図である。
【００８８】
この図８で示すタイル比較回路ｅ１９も１タイルの処理回路が４０タイル分並列にして構成され、前記色検出回路ｅ１８と同様に前記現描画データ比較用６４０×１６ピクセル・レジスタｅ１４から読み出される１ブロックデータ（４０タイル）がタイル単位で並列処理される。
【００８９】
１６×１６ピクセル読み出し回路１９ａは、前記現描画データ比較用６４０×１６ピクセル・レジスタｅ１４に格納された現描画データＧ′の１ブロックデータと、前描画データ比較用６４０×１６ピクセル・レジスタｅ１７に格納された前描画データＧの１ブロックデータとの各１タイル（１６×１６ピクセル）のデータを読み出す。
【００９０】
２５６ピクセル並列処理回路１９ｊは、前記１６×１６ピクセル読み出し回路１９ａにより読み出された現描画データＧ′と前描画データＧとの各１タイルのデータについて、それぞれ対応する１ピクセルの描画色データ同士を２５６ピクセル分並列に処理する。
【００９１】
この２５６ピクセル並列処理回路１９ｊ内の１ピクセル引き算回路１９ｂは、現描画１ピクセルの描画色データと前描画１ピクセルの描画色データとを引き算し、その引き算結果を描画色変換回路１９ｃに出力する。
【００９２】
描画色変換回路１９ｃは、現描画１ピクセルの描画色データと前描画１ピクセルの描画色データとの引き算結果が“０”でない場合、つまり描画に変化（差分）がある場合は該当ピクセルの描画色データを現描画色データのそのままにする。一方、現描画１ピクセルの描画色データと前描画１ピクセルの描画色データとの引き算結果が“０”である場合、つまり描画に変化（差分）がない場合は該当ピクセルの描画色データを前記色検出回路ｅ１８から透過色データ指定レジスタ１９ｄにセットされた該当タイルに無い描画色である透過色データＳに変換する。
【００９３】
こうして２５６ピクセル並列処理回路１９ｊにより描画変化の無いピクセルが透過色データＳに変換された現描画データＧ′の１タイルデータは、比較結果格納１６×１６ピクセル・レジスタ１９ｅに格納され、４０タイル分同様にして並列処理された他の３９タイルデータと並列に、比較結果格納６４０×１６ピクセル・レジスタｅ２０へ１ブロックデータとして格納される。
【００９４】
この際、前記４０タイル分並列にした比較結果格納１６×１６ピクセル・レジスタ１９ｅからその１ブロック（１タイル）データが比較結果格納６４０×１６ピクセル・レジスタｅ２０へ格納される毎に、その１ブロック（１タイル）処理の終了が終了検出回路１９ｆによって検出される。
【００９５】
終了検出回路１９ｆは、１ブロック（１タイル）処理の終了を検出すると、その１タイル終了信号を＋１カウント回路１９ｇに出力し、前記１６×１６ピクセル読み出し回路１９ａによる前記現描画６４０×１６ピクセル・レジスタｅ１４からの次の現描画ブロック（タイル）データの読み出しと前描画６４０×１６ピクセル・レジスタｅ１７からの次の前描画ブロック（タイル）データの読み出しとを更新させる。
【００９６】
また、終了検出回路１９ｆは、その１ブロック終了信号を圧縮回路ｆ１２へ出力し、前記比較結果格納６４０×１６ピクセル・レジスタｅ２０へ格納した１ブロックデータの最適圧縮動作を開始させる。
【００９７】
これによりＶＲＡＭ１０７内の現描画データＧ′における画像変化部分Ｐを含む各ブロックデータとこれに対応する前描画データＧの各ブロックデータとが順次４０タイル分並列比較処理され、比較結果格納６４０×１６ピクセル・レジスタｅ２０へ格納される。
【００９８】
透過色検出回路１９ｈは、前記比較結果格納６４０×１６ピクセル・レジスタｅ２０へ格納される４０タイル分並列処理された１ブロックデータの各々のタイルについて、そのタイル内の全ピクセル（２５６ピクセル）が透過色データＳに変換された描画変化の無いタイルデータであるかを検出し、全ピクセル（２５６ピクセル）の透過色データＳへの変換が検出されたタイル（透過タイル）を“０”、それ以外のタイル（描画タイル）を“１”とした当該１ブロック内各タイル毎の検出値を転送確認レジスタ１９ｉへ書き込む。
【００９９】
転送確認レジスタ１９ｉは、現描画データＧ′における画像変化部分Ｐを含む各ブロックデータの全領域分について、本タイル比較回路ｅ１９で比較処理され前記透過色検出回路１９ｈにより１ブロックずつ検出処理されるブロック内各タイル毎の“０”“１”検出値を順次格納する。
【０１００】
この転送確認レジスタ１９ｉに格納された画像変化に対応するところの全ブロック領域内各タイル毎の透過タイル値“０”または描画タイル値“１”は、前記比較結果格納６４０×１６ピクセル・レジスタｅ２０に順次格納される比較処理後のブロックデータ（４０タイル分）を最適圧縮・暗号化して生成した現描画データＧ′についての差圧縮描画データｈをクライアント装置２０へ転送する際にＣＰＵ１０２に読み出され、透過タイル値“０”である全ピクセル（２５６ピクセル）が透過色データＳに変換されたタイルデータは転送されず、描画タイル値“１”である差圧縮のタイルデータのみ転送される。
【０１０１】
図９は、前記サーバ装置１０のアクセラレータ回路１０１における圧縮回路１１ｆの構成を示すブロック図である。
【０１０２】
図１０は、前記圧縮回路１１ｆ内の圧縮方法決定回路ｆ１１が有する圧縮方法決定テーブルｆ１１Ｔを示す図である。
【０１０３】
圧縮回路１１ｆは、前記画像比較回路１１ｅにより比較処理されて比較結果格納６４０×１６ピクセル・レジスタｅ２０に順次格納される１ブロックデータを１タイルずつ最適圧縮処理するもので、この圧縮回路１１ｆは圧縮方法決定回路ｆ１１を備える。
【０１０４】
この圧縮方法決定回路ｆ１１は、図１０に示すような圧縮方法決定テーブルｆ１１Ｔを記憶し、前記色検出回路（図７参照）ｅ１８により検出されて色数カウント値格納レジスタｆ１２に格納された１ブロック描画データにおける４０タイル分それぞれの色数カウント値（Ｘ，Ｙ，Ｚ）と、クライアント応答時間情報回路ｆ１３にセットされた現在のクライアント装置２０からの通信応答時間（Ａ，Ｂ，Ｃ）とに従って、前記比較結果格納６４０×１６ピクセル・レジスタｅ２０に順次格納される１ブロックデータについて、その１タイルずつの圧縮方法を、ＲＲＥ(Rise-and-Run-length Encoding)エンコード方式、ＧＩＦ(Graphics Interchange Format)／ＰＮＧ(Portable Network Graphics)エンコード方式、ＪＰＥＧ(Joint Photographic Coding Experts Group)エンコード方式の何れかに最適決定する。この圧縮方法決定回路ｆ１１により最適決定されたエンコード方式を指示するエンコード値の信号は圧縮選択回路ｆ１４に出力される。
【０１０５】
なお、前記図１０で示す圧縮方法決定テーブルｆ１１Ｔでは、比較結果格納６４０×１６ピクセル・レジスタｅ２０から読み出された圧縮対象の１タイルデータについて、色数カウント値格納レジスタｆ１２から読み出された該当タイルの色数カウント値が１，２色と少ない場合（Ｘ）には、クライアント装置２０の応答時間（Ａ，Ｂ，Ｃ）に関わらず、その圧縮方式は隣接画素の同色連続性が高い場合に圧縮効率の高いＲＲＥエンコード方式に決定され、また３色以上でも２５６色未満である場合（Ｙ）には、同クライアント装置２０の応答時間（Ａ，Ｂ，Ｃ）に関わらず、画質優先の上で隣接画素の同色連続性が高い場合に圧縮効率の高いＧＩＦ／ＰＮＧエンコード方式に決定される。
【０１０６】
一方、色数カウント値格納レジスタｆ１２から読み出された該当タイルの色数カウント値が２５６色以上と非常に多い場合（Ｚ）には、クライアント装置２０の応答時間が１００ｍｓ未満と高速転送可能な通信状態である場合（Ａ）に、低圧縮（高品質）のＪＰＥＧエンコード方式(Quality9)に決定され、また５００ｍｓ未満と通常転送速度の場合（Ｂ）に、通常圧縮のＪＰＥＧエンコード方式(Quality6)に決定され、さらに５００ｍｓ以上と低速転送になる場合（Ｃ）に、高圧縮（低品質）のＪＰＥＧエンコード方式(Quality0)に決定される。なお、Qualityは処理された結果の画質のことを指しておりQualityが小さい(0に近い)ものは低画質であり比較的圧縮率が高いことを、Qualityが大きい(9に近い)ものは高画質で比較的圧縮率が低いことを示す。
【０１０７】
圧縮選択回路ｆ１４は、前記圧縮方法決定回路ｆ１１からその圧縮方法決定テーブルｆ１１Ｔに従って最適決定出力されるエンコード値に応じて、前記比較結果格納６４０×１６ピクセル・レジスタｅ２０または現描画データ比較用６４０×１６ピクセル・レジスタｅ１４から読み出された圧縮対象の１タイルデータを、ＲＲＥエンコーダｆ１５またはＧＩＦ／ＰＮＧエンコーダｆ１６またはＪＰＥＧエンコーダｆ１７に選択的に分配出力する。
【０１０８】
なお、ＪＰＥＧエンコーダｆ１７によるＪＰＥＧエンコード方式(Quality9〜0)が非可逆圧縮方式である場合には、デコード後の描画データをピクセル単位で全く同一に復元することができない。
【０１０９】
このため、圧縮方法決定テーブルｆ１１Ｔ（図１０参照）によりＪＰＥＧエンコード方式(Quality9〜0)が決定され、圧縮方法決定回路ｆ１１からエンコード値Ｊ９〜Ｊ０が出力されるような、圧縮対象タイルの色数カウント値が２５６色以上と非常に多かった場合（Ｚ）だけは、圧縮選択回路ｆ１４によって現描画データ比較用６４０×１６ピクセル・レジスタｅ１４側が選択され、前記タイル比較回路ｅ１９による透過色データＳへの変換処理（差圧縮処理）を施していない現描画１ブロックデータの中の該当するタイルデータがＪＰＥＧエンコーダｆ１７へ送られて最適圧縮処理される。
【０１１０】
一方で、前記ＪＰＥＧエンコーダｆ１７によるＪＰＥＧエンコード方式(Quality9〜0)がＪＰＥＧ２０００などの可逆圧縮方式である場合には、デコード後の描画データをピクセル単位で全く同一に復元することができるため、圧縮対象としての１タイルデータは常に前記タイル比較回路ｅ１９による透過色データＳへの変換処理（差圧縮処理）を施した比較結果格納６４０×１６ピクセル・レジスタｅ２０内の１ブロックデータの中から読み出される。
【０１１１】
前記圧縮選択回路ｆ１４による１タイルデータ毎の選択動作は終了検出回路ｆ１８により検出され、この終了検出回路ｆ１８から出力される１タイル終了検出信号に応じて、タイル読み出し回路ｆ１９から前記比較結果格納６４０×１６ピクセル・レジスタｅ２０に対する次の１タイルの読み出し指令信号が出力されると共に、決定データ読出回路ｆ２０から前記圧縮方法決定回路ｆ１１に対する次の圧縮対象タイルのための決定圧縮方法読出し指令信号が出力される。
【０１１２】
こうして、ＲＲＥエンコーダｆ１５またはＧＩＦ／ＰＮＧエンコーダｆ１６またはＪＰＥＧエンコーダｆ１７により順次圧縮処理された１タイルデータは、順次暗号化回路１１ｇへ出力されて暗号化処理され、１ブロック終了毎に差圧縮描画データｈとしてＶＲＡＭ１０７に記憶される。
【０１１３】
つまり、ＶＲＡＭ１０７内の差圧縮描画データｈは、現描画データＧ′内で前描画データＧからの画像変化部分Ｐに応じて切り出されたｎブロックデータについて、各ブロック毎にタイル単位で描画変化の無いピクセルに透過色データＳを書き込んだ後、圧縮効率及び画像品質の両面において最適に圧縮され暗号化されて生成される。
【０１１４】
なお、前記圧縮回路１１ｆによる各種圧縮方式では、圧縮対象である各１タイル描画データについて、当該１タイル描画データを構成する隣り合う各ピクセルデータが同一のピクセルデータとして長く連続するほどその圧縮効率は高くなるので、描画変化の無いピクセルには全て透過色データＳを書き込むことで描画品質を落とさずに高い圧縮効率で当該各１タイル描画データを圧縮することができ、その転送データ量を有効に削減できる。
【０１１５】
次に、前記構成のシン・クライアント・システムのサーバ装置１０のＣＰＵ１０２によって実行される制御処理について説明する。
【０１１６】
図１１は、前記シン・クライアント・システムのサーバ装置１０における全体の動作制御を示すフローチャートである。
【０１１７】
クライアント装置２０ａ，２０ｂ，…から本サーバ装置１０に対して接続要求信号が受信されると（ステップＳ１）、当該接続要求元のクライアント装置２０ａ，２０ｂ，…に対するＩＤ，パスワードなどの確認照合に基づいた認証処理が実行される（ステップＳ２）。
【０１１８】
そして認証ＯＫと判断されると（ステップＳ３）、この認証ＯＫと判断されたクライアント装置２０ａ，２０ｂ，…のＩＤが発行され（ステップＳ４）、接続されたクライアント別の転送データスレッド処理（図１２参照）が開始されて、クライアント装置２０ａ，２０ｂ，…からの種々の要求に応じたアプリケーションの起動・実行、およびこれに伴うデータの生成・送受信処理が行われる（ステップＳＡ）。
【０１１９】
前記接続処理中のクライアント装置２０ａから切断の要求が受信されると（ステップＳ５）、当該切断要求元のクライアント装置２０ａとの間でのデータの生成・送受信処理が終了される（ステップＳ６）。
【０１２０】
この後、本サーバ装置１０のシャットダウンなどに伴って各クライアント装置２０ａ，２０ｂ，…に対してのサービス終了が判断されると（ステップＳ７）、接続中の全てのクライアント装置２０ａ，２０ｂ，…との間でのデータの生成・送受信処理が終了される（ステップＳ６）。
【０１２１】
図１２は、前記サーバ装置１０でのサービス処理に伴うクライアント別転送データスレッド処理（ステップＳＡ）を示し、同図（Ａ）はそのフローチャート、同図（Ｂ）はそのタイル単位の転送データフォーマットである。
【０１２２】
この転送データスレッド処理では、接続中のクライアント装置２０ａ，２０ｂ，…からの種々の要求に応じたアプリケーションが起動・実行されて、これに伴うデータの生成・送受信処理が行われる際に（ステップＡ１）、例えば図２（Ａ）で示したように、前描画データＧに対する現描画データＧ′の更新があったと判断されると（ステップＡ２）、この描画更新に伴う画像変化部分Ｐに応じた描画領域Ｑ′の始点座標（Ｘ，Ｙ）および縦横サイズ（ｈ，ｗ）とその描画色数が解析され（ステップＡ３）、当該描画領域Ｑ′の領域サイズが予め設定された領域サイズＤｔよりも大きく、且つ（または）その描画色数が予め設定された色数Ｄｃよりも多いか否か判断される（ステップＡ４）。
【０１２３】
ここで、現描画データＧ′における画像変化の描画領域Ｑ′について、その領域サイズが予め設定された領域サイズＤｔよりも大きく、且つ（または）その描画色数が予め設定された色数Ｄｃよりも多いと判断された場合には、サーバ装置１０の処理負担が多くなると予想され、ステップＡ５〜Ａ１３の制御処理に伴い前記図４乃至図１１を参照して説明したアクセラレータ回路（回路ボード）１０１を主体とするハードウエア処理により前記描画領域Ｑ′に対応した差圧縮描画データｈの生成・最適圧縮・暗号化および実行アプリに対応したクライアント装置２０へのデータ転送が行われる（ステップＡ４→Ａ５〜Ａ１３）。
【０１２４】
一方、現描画データＧ′における画像変化の描画領域Ｑ′について、その領域サイズが予め設定された領域サイズＤｔ以下で、且つ（または）その描画色数が予め設定された色数Ｄｃ以下と判断された場合には、サーバ装置１０の処理負担は少ないと予想され、ステップＡ１４〜Ａ２１に従った後述のソフトウエア差分処理（図１５〜図１７）およびソフトウエア最適エンコーディング処理（図１８）を主体とするソフトウエア処理により前記描画領域Ｑ′に対応した差圧縮描画データｈの生成・最適圧縮・暗号化および実行アプリに対応したクライアント装置２０へのデータ転送が行われる（ステップＡ４→Ａ１４〜Ａ２１）。
【０１２５】
まず、現描画データＧ′における画像変化の描画領域Ｑ′について、その領域サイズが予め設定された領域サイズＤｔよりも大きく、且つ（または）その描画色数が予め設定された色数Ｄｃよりも多いと判断されることで、アクセラレータ回路（回路ボード）１０１を主体とするハードウエア処理に移行された場合には（ステップＡ４（ＹＥＳ））、本サーバ装置１０内のアクセラレータ回路１０１に空きがあり使用可能な状態か否か判断され（ステップＡ５）、使用可能であると判断された場合には、アクセラレータ回路１０１が起動される（ステップＡ５→ＡＢ）。
【０１２６】
図１３は、前記サーバ装置１０のアクセラレータ回路１０１を起動する際に実行されるアクセラレータ回路起動処理を示すフローチャートである。
【０１２７】
クライアント装置２０からの操作指示信号に応じて実行中のアプリケーションにより生成された現描画データＧ′について、その画像変化部分Ｐに応じた描画領域Ｑ′の始点座標（Ｘ，Ｙ）および縦横サイズ（ｈ，ｗ）が取得されると（ステップＢ１）、前記実行中のアプリケーションに対応するクライアント装置２０に対する通信応答時間の検出が行われる（ステップＢ２（図１４参照））。
【０１２８】
図１４は、前記サーバ装置１０でのアクセラレータ回路起動処理に伴う応答時間検出処理を示すフローチャートである。
【０１２９】
先ず、予め定められた応答時間Ｎtがデフォルト設定されると共に（ステップＢ２１）、計測応答時間Ｎｘ，Ｎｙがクリアされ（ステップＢ２２）、カウンタｉ＝１に初期セットされる（ステップＢ２３）。
【０１３０】
すると、クライアント装置２０に対する通信応答時間Ｎｘが計測され一時記憶されると共に（ステップＢ２４）、前回計測までの総計測応答時間Ｎｙにその都度加算されて新たな総計測応答時間Ｎｙが計算され（ステップＢ２５）、例えば８００ｍｓの一定時間毎（ステップＢ２７）に前記カウンタｉがカウントアップされて（ステップＢ２８）１０回分の総計測応答時間Ｎｙが算出される（ステップＢ２４〜Ｂ２６）。
【０１３１】
なお、この応答時間の計測時間間隔（ステップＢ２７）である８００ｍｓは、前記圧縮方法決定テーブルｆ１１Ｔ（図１０参照）での応答時間判定条件５００ｍｓより長く設定する必要がある。
【０１３２】
前記ステップＢ２４〜Ｂ２８での繰り返し処理により１０回分の総計測応答時間Ｎｙが算出されると、当該総計測応答時間Ｎｙは“１０”で除算されてその平均である応答時間Ｎｔが算出される（ステップＢ２６→Ｂ２９）。
【０１３３】
そして、ＶＲＡＭ１０７に生成記憶されている現描画データＧ′についての前記画像変化に応じた描画領域Ｑ′の開始アドレスとそのバイト数が、アクセラレータ回路１０１の画像比較回路１１ｅ（図６参照）内の現描画開始アドレス・レジスタｅ１１とその現描画バイト数・レジスタｅ１２にセットされると共に（ステップＢ３）、この画像変化の描画領域Ｑ′に対応した前描画データＧについての開始アドレスとそのバイト数が同画像比較回路１１ｅ内の前描画開始アドレス・レジスタｅ１５とその前描画バイト数・レジスタｅ１６にセットされる（ステップＢ４）。
【０１３４】
すると、このアクセラレータ回路１０１における画像比較回路１１ｅ内のタイル比較回路ｅ１９に対して比較開始信号が出力されると共に（ステップＢ５）、同画像比較回路１１ｅ内の書き換え領域判断回路ｅ２１に対して、現描画データＧ′についての画像変化の描画領域Ｑ′に応じたブロック領域数がセットされる（ステップＢ６）。
【０１３５】
さらに前記ステップＢ２でのクライアント装置２０に対する通信応答時間の検出処理（図１４参照）に応じて計測検出された応答時間情報Ｎｔがこのアクセラレータ回路１０１における圧縮回路（図９参照）内のクライアント応答時間情報回路ｆ１３にセットされる（ステップＢ７）。
【０１３６】
これに伴い、アクセラレータ回路１０１では、画像スケーラ１１ｃによる画像スケーラ処理、タイル分割回路１１ｄによるタイル分割処理、画像比較回路１１ｅによる画像比較処理、圧縮回路１１ｆによる最適圧縮処理、暗号化回路１１ｇによる暗号化処理が、前記図５〜図１０を参照して説明した通りハードウエア回路にて行われ、前記現描画データＧ′についての画像変化の描画領域Ｑ′に応じた各ブロック（４０タイル）データ毎に、差圧縮描画データｈが生成されて順次ＶＲＡＭ１０７に格納される（ステップＡＢ）。
【０１３７】
なお、前記アクセラレータ回路起動処理は、現描画データＧ′における画像変化の描画領域Ｑ′に応じた各ブロック領域の全てについて差圧縮描画データｈが生成され、その最後の１ブロック終了信号に応じて前記書き換え領域判断回路ｅ２１から領域ブロック終了信号が出力されることで、その一連の処理を終了する（ステップＢ８→ＥＮＤ）。
【０１３８】
このアクセラレータ回路１０１でのハードウエア処理（ステップＡＢ）により、１ブロック終了を示す割り込み信号が発生されると（ステップＡ６）、当該１ブロック分の差圧縮データｈのうちの１タイルデータが読み込まれると共に（ステップＡ７）、転送確認レジスタ１９ｉ（図８参照）に格納されている該当１タイルに対応するところの透過色検出値（透過タイル値“０”または描画タイル値“１”）が読み出され、描画変化の画像ピクセルを含む描画タイル値“１”であるか、または全画像ピクセルが透過色データＳに変換された透過タイル値“０”であるかが判断される（ステップＡ８）。
【０１３９】
ここで、１ブロック分の差圧縮データｈのうちから読み込まれた１タイルデータについて、転送確認レジスタ１９ｉから描画変化の画像ピクセルを含むことを示す描画タイル値“１”が読み出されたと判断されると（ステップＡ８（ＹＥＳ））、当該１タイルデータは、図１２（Ｂ）に示すように、その現描画データＧ′上での座標、透過色コード、圧縮方式、そして転送先のクライアントＩＤをヘッダ付加した転送データとして作成され（ステップＡ９）、このヘッダが示すＩＤのクライアント装置２０へ送信転送される（ステップＡ１０）。
【０１４０】
ここで、１ブロック分の差圧縮データｈの全タイル（４０タイル）についての転送処理が未だ終了してないと判断されると（ステップＡ１１（ＮＯ））、同１ブロックデータにおける次の１タイルデータが指定され（ステップＡ１２）、当該１ブロック分の差圧縮データｈのうちの次の１タイルデータが読み込まれる（ステップＡ７）。
【０１４１】
一方、前記ステップＡ８において、１ブロック分の差圧縮データｈのうちから読み込まれた１タイルデータについて、転送確認レジスタ１９ｉから全画像ピクセルが透過色データＳに変換されていることを示す透過タイル値“０”が読み出されたと判断されると（ステップＡ８（ＮＯ））、当該１タイルデータの転送は行われずに同１ブロックデータにおける次の１タイルデータが指定され（ステップＡ１２）、前記１ブロック分の差圧縮データｈのうちの次の１タイルデータが読み込まれる（ステップＡ７）。
【０１４２】
そして、同１ブロック分の差圧縮データｈのうちから順次読み込まれる次の１タイルデータについて、転送確認レジスタ１９ｉから描画タイル値“１”が読み出された場合の当該１タイルデータの転送データ作成処理およびそのクライアント装置２０への送信処理（ステップＡ８〜Ａ１２）、または転送確認レジスタ１９ｉから透過タイル値“０”が読み出された場合の当該１タイルデータの非転送処理（ステップＡ８→Ａ１２）が繰り返し実行される。
【０１４３】
この後、前記アクセラレータ回路１０１により生成された１ブロック分の差圧縮データｈの全タイル（４０タイル）について転送処理が終了したと判断されると（ステップＡ１１（ＹＥＳ））、これに伴い画像比較回路１１ｅにおける書き換え領域判断回路ｅ２１から領域ブロック終了信号が発生されたか否かによって画像変化の描画領域Ｑ′に基づき生成された全ブロック分の差圧縮描画データｈについて前記同様のタイル単位の転送処理が終了したか否か判断される（ステップＡ１３）。
【０１４４】
ここで、前記書き換え領域判断回路ｅ２１から領域ブロック終了信号が発生されないことで、全ブロック分の差圧縮描画データｈについてのタイル単位転送処理は終了していないと判断されると（ステップＡ１３（ＮＯ））、前記アクセラレータ回路１０１からの次の１ブロック終了信号の出力待機状態となる（ステップＡ６）。
【０１４５】
そして、アクセラレータ回路１０１における前記同様のハードウエア処理（ステップＡＢ）により、画像変化の描画領域Ｑ′における次の１ブロック分の差圧縮描画データｈの生成終了を示す１ブロック終了信号が発生されると（ステップＡ６（ＹＥＳ））、この１ブロック分の差圧縮描画データｈから順次読み込まれる１タイルデータについて、前記同様に、転送確認レジスタ１９ｉから描画タイル値“１”が読み出された場合の当該１タイルデータの転送データ作成処理およびそのクライアント装置２０への送信処理（ステップＡ７，Ａ８〜Ａ１２）、または転送確認レジスタ１９ｉから透過タイル値“０”が読み出された場合の当該１タイルデータの非転送処理（ステップＡ７，Ａ８→Ａ１２）が繰り返し実行される。
【０１４６】
こうして前記アクセラレータ回路１０１によって生成される現描画データＧ′における画像変化の描画領域Ｑ′に対応した各ブロック（４０タイル）毎の差圧縮データｈについて、それぞれ１タイル単位での描画タイル値“１”または透過タイル値“０”に従ったクライアント（ＩＤ）装置２０への転送処理または非転送処理が実行される。
【０１４７】
この後、画像比較回路１１ｅにおける書き換え領域判断回路ｅ２１から領域ブロック終了信号が発生されることで、前記アクセラレータ回路１０１によって生成された全ブロック分の差圧縮描画データｈについてタイル単位での転送処理が終了したと判断されると（ステップＡ１３（ＹＥＳ））、前記ステップＡ２に戻り、アプリケーションの実行に伴う次の描画データ更新の判断待機状態になる。
【０１４８】
したがって、前記構成のサーバ装置１０によれば、アクセラレータ回路１０１によるハードウエア処理によって、現描画データＧ′における画像変化の描画領域Ｑ′について１タイル単位でその未変化の画像ピクセルに透過色データＳを書き込んで最適圧縮した差圧縮描画データｈを転送用データとして高速に生成できるだけでなく、１タイル内の全画像ピクセルが透過色データＳに書き換えられた透過検出タイル“０”についてはクライアント装置２０への転送処理を行わず、それ以外の画像変化のあった描画検出タイル“１”だけ転送処理を行うようにしたので、更新された現描画データＧ′について前描画データＧから変化のあるタイル分割部分だけ抽出し且つ最適圧縮して画像品質を維持しつつ最小限の転送データ量とすることができ、ＣＰＵ１０２に大きな負荷を掛けることなく、アプリケーションによって生成更新された描画データを高速且つ高品位にクライアント装置へ送信することができる。
【０１４９】
一方、前記ステップＡ４において、現描画データＧ′における画像変化の描画領域Ｑ′について、その領域サイズが予め設定された領域サイズＤｔ以下で、且つ（または）その描画色数が予め設定された色数Ｄｃ以下と判断されることで、後述のソフトウエア差分処理（図１５〜図１７）およびソフトウエア最適エンコーディング処理（図１８）を主体とするソフトウエア処理に移行された場合には（ステップＡ４（ＮＯ））、当該画像変化に応じた描画領域Ｑ′が読み込まれ（ステップＡ１４）、１タイルあたり１６×１６ピクセル領域あるいは６４×６４ピクセル領域などとしてタイル分割される（ステップＡ１５）。
【０１５０】
そして、次の図１５〜図１７に示すようなソフトウエア差分処理に移行される（ステップＡＥ）。
【０１５１】
図１５は、前記サーバ装置１０によるクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア差分処理（その１）を示すフローチャートである。
【０１５２】
図１６は、前記サーバ装置１０によるクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア差分処理（その２）を示すフローチャートである。
【０１５３】
図１７は、前記前記サーバ装置１０によるソフトウエア処理でのソフトウエア差分処理に伴う分割１タイル毎の色数カウント、透過色設定処理を示すフローチャートである。
【０１５４】
まず、図１５におけるソフトウエア差分処理（その１）に移行されると、図１７における色数カウント、透過色設定処理に移行され、前記描画領域Ｑ′における分割された第１タイルデータについてその色数のカウントによる透過色の設定が行われる。
【０１５５】
この色数カウント、透過色設定処理が起動されると、ＲＡＭ１０５に対してカウンタｉ、描画色データ格納配列Ｘ[255]、描画色データ格納変数Ｙ、透過色設定変数Ｚ、色データ保持配列Ｃ[255]、色数カウンタ変数ＣＣが設定され（ステップＦ１）、前記分割された１タイルデータ（１６×１６ピクセル）について当該１タイルデータ上の位置(x0,y0)にある最初のピクセルデータが読み出され描画色データＸ[i=0]として格納される（ステップＦ２）。
【０１５６】
この際、カウンタ値ｉ＝０と判断されるので（ステップＦ３（ＹＥＳ））、色数カウンタＣＣ＝１にカウントアップされ（ステップＦ４）、前記第１ピクセルの描画色データＸ[i=0]が色データＣ[i=0]として保持される（ステップＦ５）。
【０１５７】
すると、前記第１ピクセルの描画色データＸ[i=0]が描画色データ格納変数Ｙとして格納され（ステップＦ６）、カウンタｉ＞＝２５５、つまり１タイルの全ピクセルデータについて未処理であると判断されるので（ステップＦ７（ＮＯ））、当該カウンタ値ｉ＝１にカウントアップされ（ステップＦ８）、１タイルデータ上の位置(x1,y1)にある次のピクセルデータが読み出されて描画色データＸ[i=1]として格納される（ステップＦ２）。
【０１５８】
すると、カウンタ値ｉ＝０ではないと判断されるので（ステップＦ３（ＮＯ））、今回読み出された第２ピクセルの描画色データＸ[i=1]について描画色データ格納変数Ｙとして格納されている第１ピクセルの描画色データと同一か否か判断される（ステップＦ９）。
【０１５９】
ここで、描画色データ格納変数Ｙとして格納されている第１ピクセルの描画色データに対し今回読み出された第２ピクセルの描画色データＸ[i=1]が同一である（Ｘ[1]＝＝Ｙ）と判断された場合には（ステップＦ９（ＹＥＳ））、当該第２ピクセルの描画色データＸ[i=1]が新たな描画色データ格納変数Ｙとして格納される（ステップＦ６）。
【０１６０】
一方、前記描画色データ格納変数Ｙとして格納されている第１ピクセルの描画色データに対し今回読み出された第２ピクセルの描画色データＸ[i=1]が同一ではないと判断された場合には（ステップＦ９（ＮＯ））、色数カウンタＣＣ＝２にカウントアップされると共に（ステップＦ４）、前記第２ピクセルの描画色データＸ[i=1]が色データＣ[i=1]として保持され（ステップＦ５）、この第２ピクセルの描画色データＸ[i=1]が描画色データ格納変数Ｙとして格納される（ステップＦ６）。
【０１６１】
すなわち、前記ステップＦ２〜Ｆ９での処理が繰り返し行われることで、１タイルデータ（１６×１６ピクセル）に含まれる各画像ピクセルについて使用している色データの数が色数カウンタＣＣに記録されると共に、そのそれぞれの色データがＣ[i…]として保持されて行くもので、この後カウンタｉ＝２５５、つまり１タイルの全ピクセルデータについて処理したと判断されると（ステップＦ７（ＹＥＳ））、この１タイルデータに含まれる各色データ（色コード）Ｃ[i…]について昇順にソート処理される（ステップＦ１０）。
【０１６２】
すると、カウンタｉ＝０、色データ変数ｊ＝０ｘ００にリセットされ（ステップＦ１１）、前記色数カウンタＣＣ＜＝１、つまり該当タイルの色データの数が１色以下であるか否か判断される（ステップＦ１２）。
【０１６３】
ここで、色数カウンタＣＣ＜＝１、つまり該当タイルの色データの数が１色であると判断された場合には（ステップＦ１２（ＹＥＳ））、その１色の色データ（コード）Ｃ[i]の次（＋１）の色データ（コード）が該当タイルの透過色Ｚとして設定される（ステップＦ１３）。
【０１６４】
一方、前記ステップＦ１２において、前記色数カウンタＣＣ＜＝１ではない、つまり該当タイルの色データの数が２色以上であると判断された場合には（ステップＦ１２（ＮＯ））、前記カウンタｉと色データ変数ｊが順次カウントアップされながら当該カウントアップされた色データ（コード）ｊが該当タイルに含まれる前記昇順ソートされた各色データ（コード）Ｃ[i…]のそれぞれと一致する（Ｃ[i]＝＝ｊ）か否か判断される（ステップＦ１４，Ｆ１５）。
【０１６５】
そして、前記順次カウントアップされる色データ（コード）ｊが該当タイルに含まれる昇順ソート後の各色データ（コード）Ｃ[i…]のそれぞれと一致する（Ｃ[i]＝＝ｊ）と判断されている状態では、そのまま同様の判断処理が繰り返し実行される（ステップＦ１５→Ｆ１４，Ｆ１５）。そして、前記カウントアップされた色データ（コード）ｊが昇順ソートされたタイル各色の色データ（コード）Ｃ[i…]と一致しないと判断された場合には、この昇順ソート後色データ（コード）Ｃ[i…]と一致しなくなったところのカウントアップ色データ（コード）ｊが該当タイルの透過色Ｚとして設定される（ステップＦ１６）。
【０１６６】
こうして、画像変化に応じた描画領域Ｑ′から読み出された１タイルデータについて、前記図１７における色数カウント、透過色設定処理（ステップＥＦ）によって当該タイルが有していない色データがその透過色Ｚとして設定されると、次に、この１タイル領域の始点のピクセル座標(X0,Y0)および終点のピクセル座標(X1,Y1)が取得される（ステップＥ１，Ｅ２）。
【０１６７】
すると先ず、この１タイル領域内のピクセル指定位置を横方向に移動させるためのカウンタXt=X0、縦方向に移動させるためのカウンタYt=Y0に設定され（ステップＥ３）、当該縦移動カウンタYtがその終点座標Y1以下(Yt<=Y1)であるか否か判断されると共に（ステップＥ４）、横移動カウンタXtがその終点座標X1以下(Xt<=X1)であるか否か判断される（ステップＥ５）。
【０１６８】
ここで、前記縦移動カウンタYtがその終点座標Y1以下(Yt<=Y1)であると判断され（ステップＥ４（ＹＥＳ））、且つ横移動カウンタXtがその終点座標X1以下(Xt<=X1)であると判断されると（ステップＥ５（ＹＥＳ））、その移動カウンタ(Xt,Yt)が示す位置の現描画１タイルデータ上のピクセルデータpd0が取得されると共に（ステップＥ６）、同移動カウンタ(Xt,Yt)が示す位置の前描画１タイルデータ上のピクセルデータpd1が取得され（ステップＥ７）、そのそれぞれのピクセルデータが同一（変化なし）(Pd0=Pd1)であるか否か判断される（ステップＥ８）。
【０１６９】
ここで、現描画１タイルデータから取得されたピクセルデータpd0と、前描画１タイルデータから取得された同位置のピクセルデータpd1とが同一（変化なし）(Pd0=Pd1)であると判断された場合には（ステップＥ８（ＹＥＳ））、ＲＡＭ１０５内に確保した１タイルデータ転送用画像領域の前記移動カウンタ(Xt,Yt)が示すピクセル位置に対して、前記透過色設定処理（ステップＥＦ）により設定された透過色Ｚ(→pd2)が書き込まれる（ステップＥ９）。一方、現描画１タイルデータから取得されたピクセルデータpd0と、前描画１タイルデータから取得された同位置のピクセルデータpd1とが同一でない（変化あり）と判断された場合には（ステップＥ８（ＮＯ））、前記１タイルデータ転送用画像領域の前記移動カウンタ(Xt,Yt)が示すピクセル位置に対して、当該変化後のピクセルデータpd0が書き込まれる（ステップＥ１０）。
【０１７０】
すると横移動カウンタXtがカウントアップ(Xt=Xt+1)されて（ステップＥ１１）前記ステップＥ４からの処理に戻り、ピクセル指定位置が１ピクセル分横方向に移動されたところの現描画ピクセルデータpd0および前描画ピクセルデータpd1の取得処理（ステップＥ６，Ｅ７）、その画像変化の有無に応じた転送用画像領域への変化後ピクセルデータpd0または透過色データpd2の書込処理（ステップＥ８〜Ｅ１０）が繰り返される。
【０１７１】
そして、前記ステップＥ１１にてカウントアップされた横移動カウンタXtがその終点座標X1を越した(Xt>X1)と判断されると（ステップＥ５（ＮＯ））、縦移動カウンタYtがカウントアップ(Yt=Yt+1)されると共に（ステップＥ１２）、横移動カウンタXtがその始点座標X0に設定し直される(Xt=X0)（ステップＥ１３）。
【０１７２】
そして前記ステップＥ４からの処理に戻り、ピクセル指定位置が１ライン分縦方向に移動されたところの横方向始点位置からの現描画ピクセルデータpd0および前描画ピクセルデータpd1の取得処理（ステップＥ６，Ｅ７）、その画像変化の有無に応じた転送用画像領域への変化後ピクセルデータpd0または透過色データpd2の書込処理（ステップＥ８〜Ｅ１０）が繰り返される。
【０１７３】
この後、前記同様に横移動カウンタXtのカウントアップおよび縦移動カウンタYtのカウントアップに伴う横移動カウンタXtのカウントリセットが繰り返されながら、１タイルデータ上のそれぞれのピクセル指定位置での現描画ピクセルデータpd0および前描画ピクセルデータpd1の取得処理（ステップＥ６，Ｅ７）、その画像変化の有無に応じた転送用画像領域への変化後ピクセルデータpd0または透過色データpd2の書込処理（ステップＥ８〜Ｅ１０）が繰り返される（ステップＥ４〜Ｅ１３）。
【０１７４】
そして、ステップＥ１２にてカウントアップされた縦移動カウンタYtがその終点座標Y1を越した(Yt>Y1)と判断され（ステップＥ４（ＮＯ））、今回の現描画１タイルデータについて、変化後ピクセルデータはそのままのピクセルデータpd0、変化なしピクセルデータは透過色データpd2とした１タイルデータ転送用画像領域が生成されると、当該１タイル分のソフトウエア差分処理が終了されて図１８におけるソフトウエアの最適エンコーディング処理（ステップＡＪ）に進む。
【０１７５】
図１８は、前記サーバ装置１０によるクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア最適エンコーディング処理を示すフローチャートである。
【０１７６】
この最適エンコーディング処理が起動されると、前記図１５〜図１６におけるソフトウエア差分処理（ステップＡＥ）に従って、変化後ピクセルデータはそのままのピクセルデータpd0、変化なしピクセルデータは透過色データpd2として生成された１タイルデータ転送用画像領域について、その色数データが読み出され（ステップＪ１）、この１タイルデータ転送用画像領域の全ピクセルデータが透過色データpd2ではない変化有りの１タイルデータであるか、または全ピクセルデータが透過色データpd2である変化無しの１タイルデータであるかが判断される（ステップＪ２）。
【０１７７】
ここで、前記１タイルデータ転送用画像領域の全ピクセルデータが透過色データpd2ではない変化有りの１タイルデータであると判断された場合には（ステップＪ２（ＹＥＳ））、該当１タイルデータ内の色数が２５６色未満であるか否か（２５６色以上）判断され（ステップＪ３）、２５６色未満であると判断された場合には（ステップＪ３（ＹＥＳ））、さらに３色以上か否か（２色以下）判断される（ステップＪ４）。
【０１７８】
このステップＪ４において、該当１タイルデータ内の色数が２色以下と少ないと判断された場合（ステップＪ４（ＮＯ））には、隣接画素の同色連続性が高い場合に圧縮効率の高い圧縮方式であるＲＲＥ回路による圧縮処理が施される（ステップＪ１１）。
【０１７９】
一方、前記ステップＪ３，Ｊ４において、該当１タイルデータ内の色数が２５６色未満で且つ３色以上と判断された場合（ステップＪ４（ＹＥＳ））には、画質優先の上で隣接画素の同色連続性が高い場合に圧縮効率の高い圧縮方式であるＧＩＦ回路またはＰＮＧ回路による圧縮処理が施される（ステップＪ６）。
【０１８０】
また一方、前記ステップＪ３において、該当１タイルデータ内の色数が２５６色以上と非常に多いと判断された場合（ステップＪ３（ＮＯ））には、クライアント装置２０との応答時間が５００ｍｓ未満と高速転送可能な通信状態である場合（ステップＪ７，Ｊ８（ＹＥＳ））に、低圧縮（高品質）のＪＰＥＧ回路（ＪＰＥＧ２０００）による圧縮処理が施される（ステップＪ９）。
【０１８１】
さらに、前記ステップＪ３において、該当１タイルデータ内の色数が２５６色以上と非常に多いと判断された場合（ステップＪ３（ＮＯ））であっても、クライアント装置２０との応答時間が５００ｍｓ以上と低速転送になる場合（ステップＪ７，Ｊ８（ＮＯ））には、高圧縮（低品質）のＪＰＥＧ回路（ＪＰＥＧ２０００）による圧縮処理が施される（ステップＪ１０）。なお、圧縮方式の選択は、同一の圧縮方式における圧縮率の選択を含むものとする。例えば、同一のJPEG圧縮で色数が多いものは圧縮率を高くし、少ないものは圧縮率を低くするように圧縮率を選択することにより、ネットワークに流れる転送データを一定に保ちネットワーク回線を効率よく利用することで、クライアントの表示画質の劣化を抑える効果がある。
【０１８２】
こうして、１タイルデータの色数およびクライアント装置２０との通信時間に応じて選択される圧縮方式の圧縮回路により、圧縮効率及び画像品質の両面において最適な圧縮処理が施された後の１タイルデータは、転送用データとして保存されると共に（ステップＪ１１）、暗号化処理される（ステップＪ１２）。
【０１８３】
すると、この最適圧縮・暗号化処理された転送用１タイルデータは、図１２（Ｂ）に示すように、現描画データＧ′上での座標、透過色コード、圧縮方式、そして転送先のクライアントＩＤをヘッダ付加した１タイルの転送データとして作成され（ステップＡ１８）、このヘッダが示すＩＤのクライアント装置２０へ送信転送される（ステップＡ１９）。
【０１８４】
ここで、前記ステップＡ１４において読み込まれた現描画データＧ′における画像変化の描画領域Ｑ′について、分割された全てのタイルデータについてのタイル単位転送処理が終了していないと判断された場合には（ステップＡ２０（ＮＯ））、当該描画領域Ｑ′における分割された次の１タイルデータが読み込まれ（ステップＡ２１）、前記同様にステップＡＥ，ＡＪにおけるソフトウエア差分処理および最適エンコーディング処理での１タイルデータ転送用画像領域の生成，最適圧縮，暗号化処理が行われる。
【０１８５】
一方、前記ソフトウエア最適エンコーディング処理（ステップＡＪ）でのステップＪ２において、１タイルデータ転送用画像領域の全ピクセルデータが透過色データpd2であり変化無しの１タイルデータであると判断された場合には（ステップＪ２（ＮＯ））、当該１タイルデータの転送は行われずに前記描画領域Ｑ′における分割された次の１タイルデータが読み込まれ（ステップＡ２１）、前記同様にステップＡＥ，ＡＪにおけるソフトウエア差分処理および最適エンコーディング処理での１タイルデータ転送用画像領域の生成，最適圧縮，暗号化処理が行われる。
【０１８６】
そして、前記描画領域Ｑ′における分割された次の１タイルデータが順次読み込まれて前描画領域Ｑとの差分により生成された１タイルデータ転送用画像領域について、全ピクセルデータが透過色データpd2ではなく変化有りの１タイルデータであると判断された場合の当該１タイルデータの最適圧縮・暗号化を経た転送データ作成処理およびそのクライアント装置２０への送信処理（ステップＡＥ，ＡＪ，Ａ１８〜Ａ２１）、または全ピクセルデータが透過色データpd2であり変化無しの１タイルデータであると判断された場合の当該１タイルデータの非転送処理（ステップＡＥ，ＡＪ→Ａ２１）が繰り返し実行される。
【０１８７】
この後、前記ステップＡ１４において読み込まれた現描画データＧ′における画像変化の描画領域Ｑ′について、分割された全てのタイルデータについてのタイル単位転送処理が終了したと判断された場合には（ステップＡ２０（ＹＥＳ））、前記ステップＡ２に戻り、アプリケーションの実行に伴う次の描画データ更新の判断待機状態になる。
【０１８８】
したがって、前記構成のサーバ装置１０によれば、ソフトウエア処理によっても、現描画データＧ′における画像変化の描画領域Ｑ′について１タイル単位でその未変化の画像ピクセルに透過色データＺ(pd2)を書き込んで最適圧縮した転送用データを生成できるだけでなく、１タイル内の全画像ピクセルが透過色データＺ(pd2)に書き換えられた転送用データについてはクライアント装置２０への転送処理を行わず、それ以外の画像変化のあった転送用データだけ転送処理を行うようにしたので、更新された現描画データＧ′について前描画データＧから変化のあるタイル分割部分だけ抽出し且つ最適圧縮して画像品質を維持しつつ最小限の転送データ量とすることができ、アプリケーションによって生成更新された描画データを高速且つ高品位にクライアント装置へ送信することができる。
【０１８９】
図１９は、前記シン・クライアント・システムにおけるクライアント装置２０の回路構成を示すブロック図である。
【０１９０】
クライアント装置２０は、コンピュータとしてのＣＰＵ２２を備え、このＣＰＵ２２には、バス２３を介してＲＯＭ２４、ＲＡＭ２５が接続されると共に、アクセラレータ回路２１が接続される。このアクセラレータ回路２１にはＶＲＡＭ２６が搭載され、このＶＲＡＭ２６に書き込まれた描画データが表示装置２７に出力されて表示される。
【０１９１】
また、ＣＰＵ２２には、バス２３を介してキーボードなどの入力部２８、外部記憶ＨＤＤ(Hard Disk Drive)２９、認証デバイス，バーコードリーダー，ＣＣＤカメラ，プリンタ，無線デバイスなどの各種の外部機器３０を接続するためのＵＳＢ／パラレル／シリアルインターフェース３１、前記サーバ装置１０との送受信制御部（有線／無線）３２が接続される。
【０１９２】
ＣＰＵ２２は、ＲＯＭ２４に予め記憶されているシステムプログラムに従ってＲＡＭ２５を作業用メモリとし回路各部の動作を制御するもので、入力部２８からのキー入力信号や送受信制御部３２を介して受信されるサーバ装置１０からのアプリケーション応答信号，転送描画データなどに応じて前記システムプログラムが起動・実行される。
【０１９３】
このクライアント装置２０において、前記サーバ装置１０におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶ＨＤＤ２９に読み込ませて記憶させ、また生成転送された表示用の描画データは、アクセラレータ回路２１においてデコードされてＶＲＡＭ２６に書き込まれ表示装置２７で表示出力される。
【０１９４】
図２０は、前記シン・クライアント・システムのクライアント装置２０におけるアクセラレータ回路２１の回路構成を示すブロック図である。
【０１９５】
前記サーバ装置１０のアクセラレータ回路１０１によるハードウエア処理かまたはソフトウエア処理により生成・最適圧縮・暗号化されて順次１タイルデータずつ転送される現描画データＧ′の描画領域Ｑ′に応じた１タイル分の転送描画データ（図１２（Ｂ）参照）は、ヘッダ・データ／１６×１６圧縮画像データ・レジスタ２１１に格納される。
【０１９６】
そして、このヘッダ・データ／１６×１６圧縮画像データ・レジスタ２１１に格納された１タイル分の転送描画データのヘッダ・データから読み出される当該１タイルデータの表示位置を示す座標は、表示座標レジスタ２１２にセットされ、また当該１タイルデータの透過色データＳ（Ｚ）と圧縮方式は、透過色、圧縮方式決定レジスタ２１３にセットされ、さらにその透過色データＳ（Ｚ）は透過色レジスタ２１４にセットされる。
【０１９７】
前記ヘッダ・データ／１６×１６圧縮画像データ・レジスタ２１１に格納された１タイル分の転送描画データは、前記透過色、圧縮方式決定レジスタ２１３にセットされた当該１タイルデータの圧縮方式に従って、１６×１６圧縮画像データ・デコーダ２１５にてデコードされ、１６×１６解凍画像データ・レジスタ２１６に格納される。
【０１９８】
この１６×１６解凍画像データ・レジスタ２１６に格納された圧縮解凍後の１タイル描画データは、１ピクセル読み出し回路２１７により１ピクセルデータずつ読み出され、１ピクセル判断回路２１８により当該１ピクセルデータが前記透過色レジスタ２１４にセットされた該当１タイルデータの透過色データＳ（Ｚ）であるか否か判断される。
【０１９９】
この１ピクセル判断回路２１８において、前記１ピクセル読み出し回路２１７により今回読み出された１ピクセルデータが該当１タイルデータの透過色データＳ（Ｚ）であると判断された場合には、次ピクセル指令回路２１９からの指令信号により前記１ピクセル読み出し回路２１７によるピクセル読み出し位置が更新され、次の１ピクセルデータが読み出される。
【０２００】
また、前記１ピクセル判断回路２１８において、前記１ピクセル読み出し回路２１７により今回読み出された１ピクセルデータが該当１タイルデータの透過色データＳ（Ｚ）ではなく画像変化有りのピクセルデータであると判断された場合には、前記表示座標レジスタ２１２にセットされた当該１タイルデータの表示位置を示す座標に従って、今回読み出された１ピクセルの画像データがメモリコントローラ２２０によりＶＲＡＭ２６に書き込まれる。
【０２０１】
この際、前記メモリコントローラ２２０から出力される１ピクセル書き込み終了信号に応じて、前記次ピクセル指令回路２１９から出力される指令信号により前記１ピクセル読み出し回路２１７によるピクセル読み出し位置が更新され、次の１ピクセルデータが読み出される。
【０２０２】
そして、前記次ピクセル指令回路２１９からの指令信号が全ピクセル終了検出回路２２１において２５６ピクセル分カウントされると、１タイル終了信号がＣＰＵ２２へ出力され、前記サーバ装置１０からの次の１タイル分の転送描画データ（図１２（Ｂ）参照）の受信待機状態になる。
【０２０３】
図２１は、前記シン・クライアント・システムのクライアント装置２０における全体の動作制御を示すフローチャートである。
【０２０４】
電源が投入されると、各種の初期設定処理（ステップＫ１）と共にデフォルト設定された初期画面が表示装置２７に表示され（ステップＫ２）、イベント待ちの状態になる（ステップＫ３）。
【０２０５】
そして、入力部２８にけるキーボードが操作されることでそのキーコードがＣＰＵ２２に受信されると（ステップＫ５→Ｋ６）、この受信されたキーコードがプロトコル変換されると共に（ステップＫ１２）、パケット通信処理され（ステップＫ１３）、転送命令によってサーバ装置１０へ送信される（ステップＫ１４）。
【０２０６】
また、入力部２８にけるマウスが操作されることでその表示画面上のマウスカーソルが移動表示されると共に（ステップＫ７→Ｋ８）、当該マウス操作に伴い抽出されたデータがＣＰＵ２２に受信されると（ステップＫ９）、この受信されたマウス操作に伴う抽出データがプロトコル変換されると共に（ステップＫ１２）、パケット通信処理され（ステップＫ１３）、転送命令によってサーバ装置１０へ送信される（ステップＫ１４）。
【０２０７】
また、ＵＳＢ／パラレル／シリアルインターフェース３１を介して各種の外部機器が接続されることでその外部機器からのデータがＣＰＵ２２に受信されると（ステップＫ１０→Ｋ１１）、この受信されたデータがプロトコル変換されると共に（ステップＫ１２）、パケット通信処理され（ステップＫ１３）、転送命令によってサーバ装置１０へ送信される（ステップＫ１４）。
【０２０８】
さらに、前記サーバ装置１０から送信転送された１タイル分の転送描画データがネットワークＮ（ＬＡＮ）を介して受信されると（ステップＫ４）、ＴＣＰ−ＩＰのプロトコルヘッダが解析されて取り出され（ステップＫ１５）、当該１タイルデータの表示位置を示す座標が表示座標レジスタ２１２へ転送セットされると共に（ステップＫ１６）、当該１タイル分の描画データが前記アクセラレータ回路２１（図２０参照）へ転送される（ステップＫ１７）。
【０２０９】
そして、前記アクセラレータ回路２１において、１タイル終了信号が出力されることで（ステップＫ１８）、表示命令が出力され（ステップＫ１９）、前記アクセラレータ回路２１のＶＲＡＭ２６に書き込まれた１タイル分の転送描画データに基づき表示画面データの更新が行われる。
【０２１０】
したがって、前記構成のクライアント装置２０によれば、前記サーバ装置１０から１タイルデータずつ順次最適圧縮・暗号化されて転送される描画データについて、アクセラレータ回路２１によりデコードしたその１ピクセルデータずつ当該１タイルデータに設定された透過色データＳ（Ｚ）であるか否かを判断し、透過色データＳ（Ｚ）である画像変化無しのピクセルデータについては表示更新せず、透過色データＳ（Ｚ）でない画像変化有りのピクセルデータについてだけ表示更新するようにしたので、このクライアント装置２０においてもＣＰＵ２２に重い負荷が掛かることなく、サーバ装置１０から転送受信された描画データを高速に表示更新させることができる。
【０２１１】
なお、前記実施形態において記載したサーバ装置１０による各処理の手法、すなわち、図１１のフローチャートに示す全体動作制御処理、図１２のフローチャートに示すクライアント別転送データスレッド処理、図１３のフローチャートに示すアクセラレータ回路起動処理、図１４のフローチャートに示す前記アクセラレータ回路起動処理に伴う応答時間検出処理、図１５・図１６のフローチャートに示すクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア差分処理、図１７のフローチャートに示す前記ソフトウエア差分処理に伴う分割１タイル毎の色数カウント・透過色設定処理、図１８のフローチャートに示すクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア最適エンコーディング処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記録媒体に格納して配布することができる。そして、サーバ装置１０のコンピュータ（ＣＰＵ１０２）は、この外部記録媒体に記憶されたプログラムを記憶装置（１１０）に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明したクライアント装置２０に対する描画更新時の転送用描画データ（差圧縮描画データｈ）の生成処理および最適圧縮処理およびその転送処理を実現し、前述した手法による同様の処理を実行することができる。
【０２１２】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク（ＬＡＮ）Ｎ上を伝送させることができ、この通信ネットワーク（ＬＡＮ）Ｎに接続されたコンピュータ装置（プログラムサーバ）から前記のプログラムデータを送受信制御部１１１を介して取り込んで記憶装置（１１０）に記憶させ、前述したクライアント装置２０に対する描画更新時の転送用描画データ（差圧縮描画データｈ）の生成処理および最適圧縮処理およびその転送処理を実現することもできる。
【０２１３】
なお、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【図面の簡単な説明】
【０２１４】
【図１】本発明の実施形態に係るサーバ装置１０およびそのクライアント装置２０ａ，２０ｂ，…を備えたシン・クライアント・システムの構成を示すブロック図。
【図２】前記シン・クライアント・システムのサーバ装置１０にて生成された描画データのクライアント装置２０への転送表示状態を示す図であり、同図（Ａ）はサーバ装置１０における描画データの変化状態を示す図、同図（Ｂ）は描画データ変化時の転送用描画データを示す図、同図（Ｃ）は転送された描画データの表示出力状態を示す図。
【図３】前記シン・クライアント・システムのサーバ装置１０において変化後の描画データＧ′の領域Ｑ′に基づきアクセラレータ回路１０１により生成処理される転送用描画データＨを詳細に示す図。
【図４】前記シン・クライアント・システムにおけるサーバ装置１０の回路構成を示すブロック図。
【図５】前記シン・クライアント・システムのサーバ装置１０におけるアクセラレータ回路１０１の回路構成を示すブロック図。
【図６】前記サーバ装置１０のアクセラレータ回路１０１における画像比較回路１１ｅの構成を示すブロック図。
【図７】前記サーバ装置１０のアクセラレータ回路１０１における画像比較回路１１ｅ内の色検出回路ｅ１８の構成を示すブロック図。
【図８】前記サーバ装置１０のアクセラレータ回路１０１における画像比較回路１１ｅ内のタイル比較回路ｅ１９の構成を示すブロック図。
【図９】前記サーバ装置１０のアクセラレータ回路１０１における圧縮回路１１ｆの構成を示すブロック図。
【図１０】前記圧縮回路１１ｆ内の圧縮方法決定回路ｆ１１が有する圧縮方法決定テーブルｆ１１Ｔを示す図。
【図１１】前記シン・クライアント・システムのサーバ装置１０における全体の動作制御を示すフローチャート。
【図１２】前記サーバ装置１０でのサービス処理に伴うクライアント別転送データスレッド処理（ステップＳＡ）を示し、同図（Ａ）はそのフローチャート、同図（Ｂ）はそのタイル単位の転送データフォーマット。
【図１３】前記サーバ装置１０のアクセラレータ回路１０１を起動する際に実行されるアクセラレータ回路起動処理を示すフローチャート。
【図１４】前記サーバ装置１０でのアクセラレータ回路起動処理に伴う応答時間検出処理を示すフローチャート。
【図１５】前記サーバ装置１０によるクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア差分処理（その１）を示すフローチャート。
【図１６】前記サーバ装置１０によるクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア差分処理（その２）を示すフローチャート。
【図１７】前記前記サーバ装置１０によるソフトウエア処理でのソフトウエア差分処理に伴う分割１タイル毎の色数カウント、透過色設定処理を示すフローチャート。
【図１８】前記サーバ装置１０によるクライアント別転送データスレッド処理に伴いソフトウエア処理に移行された際の分割１タイル毎のソフトウエア最適エンコーディング処理を示すフローチャート。
【図１９】前記シン・クライアント・システムにおけるクライアント装置２０の回路構成を示すブロック図。
【図２０】前記シン・クライアント・システムのクライアント装置２０におけるアクセラレータ回路２１の回路構成を示すブロック図。
【図２１】前記シン・クライアント・システムのクライアント装置２０における全体の動作制御を示すフローチャート。
【符号の説明】
【０２１５】
１０  …サーバ装置
１０１…サーバアクセラレータ回路
１１ａ…Ｉ／Ｆ回路
１１ｂ…メモリコントローラ
１１ｃ…画像スケーラ
１１ｄ…タイル分割回路
１１ｅ…画像比較回路
１１ｆ…圧縮回路
ｆ１１…圧縮方法決定回路
ｆ１１Ｔ…圧縮方法決定テーブル
ｆ１２…色数カウント値格納レジスタ
ｆ１３…クライアント応答時間情報回路
ｆ１４…圧縮選択回路
ｆ１５…ＰＲＥエンコーダ
ｆ１６…ＧＩＦ／ＰＮＧエンコーダ
ｆ１７…ＪＰＥＧエンコーダ
１１ｇ…暗号化回路
１１ｈ…コマンド設定レジスタ
１０２…サーバＣＰＵ
１０３…高速バス
１０４…サーバＲＯＭ
１０５…サーバＲＡＭ
１０６…サーバ表示装置
１０７…サーバＶＲＡＭ
１０８…ノーマルバス
１０９…サーバ入力部
１１０…サーバ外部記憶ＨＤＤ
１１１…サーバ送受信制御部
２０  …クライアント装置
２１  …クライアントアクセラレータ回路
２１１…ヘッダ・データ／１６×１６圧縮画像データ・レジスタ
２１２…表示座標レジスタ
２１３…透過色、圧縮方式決定レジスタ
２１４…透過色レジスタ
２１５…１６×１６圧縮画像データ・デコーダ
２１６…１６×１６解凍画像データ・レジスタ
２１７…１ピクセル読み出し回路
２１８…１ピクセル判断回路
２１９…次ピクセル指令回路
２２０…メモリコントローラ
２２  …クライアントＣＰＵ
２３  …バス
２４  …クライアントＲＯＭ
２５  …クライアントＲＡＭ
２６  …クライアントＶＲＡＭ
２７  …クライアント表示装置
２８  …クライアント入力部
２９  …クライアント外部記憶ＨＤＤ
３０  …外部機器
３１  …ＵＳＢ／パラレル／シリアルインターフェース
３２  …クライアント送受信制御部
Ｇ′…現描画データ
Ｇ  …前描画データ
Ｐ  …画像変化部分
Ｑ′…変化後描画領域
Ｑ  …変化前描画領域
ｈ（Ｈ）…差圧縮描画データ（転送用描画データ）
Ｓ  …透過色データ
Ｓｏ…透過色タイル
Ｒ  …背景一致領域
Ｔ  …タイル
【図１】
2007221229.tif 000003
【図２】
2007221229.tif 000004
【図３】
2007221229.tif 000005
【図４】
2007221229.tif 000006
【図５】
2007221229.tif 000007
【図６】
2007221229.tif 000008
【図７】
2007221229.tif 000009
【図８】
2007221229.tif 000010
【図９】
2007221229.tif 000011
【図１０】
2007221229.tif 000012
【図１１】
2007221229.tif 000013
【図１２】
2007221229.tif 000014
【図１３】
2007221229.tif 000015
【図１４】
2007221229.tif 000016
【図１５】
2007221229.tif 000017
【図１６】
2007221229.tif 000018
【図１７】
2007221229.tif 000019
【図１８】
2007221229.tif 000020
【図１９】
2007221229.tif 000021
【図２０】
2007221229.tif 000022
【図２１】
2007221229.tif 000023