JP2007265209A - コンピュータシステムのサーバ装置 - Google Patents

コンピュータシステムのサーバ装置 Download PDF

Info

Publication number
JP2007265209A
JP2007265209A JP2006091628A JP2006091628A JP2007265209A JP 2007265209 A JP2007265209 A JP 2007265209A JP 2006091628 A JP2006091628 A JP 2006091628A JP 2006091628 A JP2006091628 A JP 2006091628A JP 2007265209 A JP2007265209 A JP 2007265209A
Authority
JP
Japan
Prior art keywords
circuit
display data
data
display
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006091628A
Other languages
English (en)
Inventor
Toshihiko Otsuka
利彦 大塚
Takayuki Hiroya
孝幸 廣谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006091628A priority Critical patent/JP2007265209A/ja
Priority to EP07740947.2A priority patent/EP1999719B1/en
Priority to PCT/JP2007/057511 priority patent/WO2007114456A1/en
Priority to US11/693,346 priority patent/US20070234229A1/en
Publication of JP2007265209A publication Critical patent/JP2007265209A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】クライアント装置に送信する表示データをCPUの負荷を軽減しつつ高速に生成すること。
【解決手段】サーバ装置において生成された表示データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムのサーバ装置であって、クライアント装置へ送信する現画面の表示データを記憶する現表示メモリ領域107aと、現画面の表示データの倍率を変更するスケーリング回路101cと、倍率変更された現画面の表示データを複数の表示領域に分割するタイル分割判定回路101dと、現画面の表示データと、クライアント装置に送信された前画面の表示データとを、タイル分割判定回路101dで分割された各表示領域毎に比較して両表示データに差異があるか否かを判定する比較・圧縮回路101eと、を具備し、比較・圧縮回路101eで差異があると判定された表示領域の表示データをクライアント装置に送信する。
【選択図】 図5

Description

本発明は、サーバ装置において生成された表示データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムのサーバ装置に関する。
近年、サーバベースコンピューティングと呼ばれる技術思想が提案されている。サーバベースコンピューティングとは、端末などのクライアント装置とサーバ装置とがネットワークを介して相互に接続されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行うと、当該サーバ装置はクライアント装置からのサービス要求に基づいて、データの管理及び特定のアプリケーションプログラムを動作させるというものである。
クライアント装置は、使用者のキーやマウスなどの操作情報をネットワークを介してサーバ装置へ送るとともに、サーバ装置から受け取ったデータを表示させる。クライアント装置は、ネットワーク機器、表示装置、マウスやキーボードなどの入力装置を備えているだけでよく、データをクライアント装置内に持たないためシンクライアントと呼ばれる。シンクライアントはハードディスクなどのストレージが不要かつ、アプリケーションプログラムの実行を行わないために必要となる処理の負荷は軽い。
企業はベースサーバベースコンピューティングを導入することにより、データやアプリケーションプログラムなどの資源をサーバ側で一元管理できるため、運用コストを削減することができる。また、クライアント装置は従来のパソコンに比べて安価に調達することができるという利点がある。セキュリティ面においても、サーバ装置内のデータへのアクセス制限をかけたり、アクセスログを取ったりすることにより、情報への不正アクセスのリスクを減らすことができる。ウイルスに対してもサーバ装置で一括対処することが可能となる。
特表平2004−503862号は、シンクライアントを備えたコンピュータシステムにおいて、サーバ側で実行させるアプリケーションソフトの表示データをクライアント装置に送信して表示する構成を開示している。
特表2004−503862号公報
従来のサーバ装置では、クライアント装置に送信する表示データをソフトウェア処理により生成しているので制御手段としてのCPUに負荷がかかり、接続するクライアント装置の数が増えるにしたがってCPUの動作が遅くなるという問題があった。また、ネットワークを介して送るときの負荷を軽減すべくソフトウェア処理によりデータを少なくする場合、表示データなどのエンコード処理が複雑になってしまい、クライアント装置に表示されるまでに時間がかかりサーバ装置とクライアント装置間のレスポンスが遅くなるという欠点があった。
本発明はこのような課題に着目してなされたものであり、その目的とするところは、クライアント装置に送信する表示データを制御手段の負荷を軽減しつつ高速に生成することができるコンピュータシステムのサーバ装置を提供することにある。
上記の目的を達成するために、本発明の第1の態様は、サーバ装置において生成された表示データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムのサーバ装置であって、前記クライアント装置へ送信する現画面の表示データを記憶する現表示データ記憶手段と、前記現表示データ記憶手段に記憶された現画面の表示データの倍率を変更する倍率変更回路と、前記倍率変更された前記現画面の表示データを複数の表示領域に分割する領域分割回路と、前記現表示データ記憶手段に記憶された現画面の表示データと、前記クライアント装置に送信された前画面の表示データとを、前記領域分割回路で分割された各表示領域毎に比較して両表示データに差異があるか否かを判定する比較回路と、を具備し、前記比較回路で差異があると判定された表示領域の表示データを前記クライアント装置に送信する。
また、本発明の第2の態様は、第1の態様において、前記比較回路で差異があると判定された表示領域の表示データを圧縮する圧縮回路をさらに具備し、前記圧縮回路で圧縮された表示データを前記送信手段により送信する。
また、本発明の第3の態様は、第1または第2の態様において、前記倍率変更回路と、前記領域分割回路と、前記比較回路とにそれぞれ初期値を設定して、順次動作させる制御手段をさらに具備する。
また、本発明の第4の態様は、第3の態様において、前記制御手段は、前記現表示データ記憶手段に前記現画面の表示データを記憶する処理を行わせ、前記倍率変更回路に前記現画面の表示データの倍率を変更する処理を行わせ、前記領域分割回路に前記倍率変更された現画面の表示データを複数の表示領域に分割する処理を行わせ、前記比較回路に前記各表示領域毎の表示データに差異があるか否かを判定する処理を行わせる。
請求項1に記載の発明によれば、クライアント装置に送信する表示データを生成するにあたって、倍率変更回路、領域分割回路、判定回路をハードウェアにより生成するようにしたので、制御手段の負担を軽減しつつクライアント装置へ送信する表示データを高速に生成することができる。また、制御手段の負担を軽減されるので、その分接続するクライアント装置の数を増やすことができる。
また、請求項2に記載の発明によれば、ハードウェアにより構成された圧縮回路により表示データを圧縮するようにしたので、制御手段の負担をさらに軽減することが可能になる。
また、請求項3、4に記載の発明によれば、ハードウェア回路の作業とその動作を制御する制御手段の作業とを分担し、負荷のかかる処理を当該ハードウェア回路に行わせるようにしたので、制御手段の負荷を軽減することができる。
以下、図面を参照して本発明の実施形態を詳細に説明する。図1は、本発明の実施形態に係るサーバ装置10と複数のクライアント装置20a,20b,…(以下では代表して20で示す)とから構成されるコンピュータシステムの概略構成を示すブロック図である。サーバ装置10と複数のクライアント装置20は、例えばLAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上で接続される。
サーバ装置10は、文書作成処理プログラム,表計算処理プログラム,メール処理プログラム,インターネット接続処理プログラム、Web表示プログラムなど、複数のアプリケーションプログラムを格納しており、クライアント装置20からの操作入力信号に応じて対応するアプリケーションプログラムを起動しその処理を実行する。
このサーバ装置10において、起動されたアプリケーションプログラムの実行に伴い生成された表示データ(描画データ)は、各クライアント装置20に対応して適宜割り当てられる回路ボード上のアクセラレータ回路101転送用の表示データに変換されると共に、当該表示データの内容やクライアント装置20との通信状態に応じた最適な圧縮方式で圧縮そして暗号化され、アクセス元のクライアント装置20へ送信される。
一方、クライアント装置20は、前記サーバ装置10から送信された表示データを、内部に配置された回路ボード上のアクセラレータ回路201a,201b,…によりデコードし、表示部に表示する。
つまり、このコンピュータシステムにおける各クライアント装置20は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどの出力機能を有していれば、独自のアプリケーション機能やデータファイルの管理機能を持つ必要がない。
そして、クライアント装置20からの操作入力信号に応じてサーバ装置10にて起動実行される各種の処理に伴い生成されたデータファイルは、当該サーバ装置10内あるいは該サーバ装置10にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
ここで、前記サーバ装置10のアクセラレータ回路101における転送用表示データの生成機能について、その概要を説明する。
図2は、本コンピュータシステムのサーバ装置10にて生成された描画データのクライアント装置20への転送表示状態を示す図であり、同図(A)はサーバ装置10における描画データの変化状態を示す図、同図(B)は描画データ変化時の転送用描画データを示す図、同図(C)は転送された描画データのクライアント装置20における表示出力状態を示す図である。
サーバ装置10において、起動中のアプリケーションプログラムに従い既に生成されクライアント装置20へ転送されていた描画データ(変化前)Gが、アプリケーションプログラムの動作に従い描画データ(変化後)G′に変化した場合、まず変化後の描画データG′における描画データの変化部分Pに応じた領域Q′が切り出され、この切り出された領域Q′の描画データは、アクセラレータ回路101により図2(B)に示すような転送用描画データHに変換される。
この転送用描画データHは、アクセラレータ回路101により、前記変化後の描画データG′からその変化部分Pに応じて切り出された領域Q′と変化前の描画データGにおける同領域Qとの画像比較により、そのうちの背景一致領域Rが透過の描画データS(書き換え不要な透過色データ)に変換されて生成される。この転送用描画データHを受信したクライアント装置20では、既に受信して表示していた変化前描画データG上における前記画像変化の領域Q′に対応する座標位置で、前記新たに受信した転送用描画データHを透過の画像データSを除いて書き込むことで、変化後の描画データG′を含めて表示させることができる。
なお、前記サーバ装置10のアクセラレータ回路101により生成された転送用描画データHは、当該描画データの内容(色数)やそのときのクライアント装置20との通信状態(応答速度)に応じて選択される圧縮効率及び画像品質の両面において最適な圧縮方式で圧縮されて転送されるので、描画品質を低下させることなしに、描画データの転送量を更に少なくすることができる。
図3は、本コンピュータシステムのサーバ装置10において変化後の描画データG′の領域Q′に基づきアクセラレータ回路101により生成処理される転送用描画データHを詳細に示す図である。
例えば図2(A)で示したように、サーバ装置10において処理される1画面の描画データG(G′)の領域サイズが1280×800ピクセルである場合に、変化後の描画データG′における画像変化部分Pを含む領域Q′は、図3(A)に示すように、16×16ピクセル=1タイル(T)とするタイル単位を基準に切り出される。
なお、前記変化後描画データG′の画像変化部分Pを含む領域Q′において、水平方向に一列分の各タイルTの領域をまとめて1ブロックと称する。
また、前記領域Q′は、画像変化部分Pを水平および垂直方向にきり出した矩形の領域Q′としているが、水平方向にのみ切り出したその領域サイズ(横)が描画データG(G′)自体の領域サイズである帯状の領域Q′としてもよい。
アクセラレータ回路101では、前記画像変化部分Pを含む領域Q′をタイル単位で変化前描画データGの同位置の領域Qと画像比較し、そのうちの背景一致領域Rの各画像ピクセルを、図3(B)に示すように、透過の画像データS(書き換え不要な色データ)に変換する。そして、1タイル(T)の全領域が透過色データSに変換された透過色タイルSoについては非転送とし、画像変化部分Pを含んだ各タイルだけを変化前描画データGとの差分領域を最適圧縮方式で圧縮処理して当該各タイルの表示画面上の座標位置と共にクライアント装置20へ転送する。その結果、前記画像変化部分Pを含む領域Q′のうち、転送用描画データHの部分がクライアント装置20へ転送されることになる。
クライアント装置20のアクセラレータ回路201では、変化前描画データGに対してタイル単位で圧縮転送されてくる転送用描画データHをデコード後、当該各タイルの座標位置で、単に透過色データSに変換された画像ピクセルを除いて書き込むだけで、サーバ装置10にて生成された変化後の描画データG′を表示できる。
サーバ装置10のアクセラレータ回路101において、生成された転送用描画データHは最適圧縮・暗号化されてクライアント装置20へ転送されるが、例えばGIF(Graphics Interchange Format)/PNG(Portable Network Graphics)の圧縮方式では、圧縮対象となる画像データを構成する各画像ピクセルが同一色で隣接し連続していればいるほどその画質を落とさずに圧縮効率を高められるので、上述したように転送用描画データHの中で透過色データSに変換されている描画データ領域の圧縮率は非常に高くなる。
このためサーバ装置10からクライアント装置20へ転送する描画データの転送データ量を描画品質を低下させずに非常に少なくできるばかりか、その転送用描画データHをハードウェアとしてのアクセラレータ回路101において生成し圧縮できるので、サーバ装置10での処理負担を大幅に軽減でき、クライアント装置20a,20b,…の増設などに容易に対応できるようになる。
図4は、本コンピュータシステムにおけるサーバ装置10の回路構成を示すブロック図である。
サーバ装置10は、コンピュータとしてのCPU102を備え、このCPU102には、バスインターフェース112及び高速バス103を介してROM104、RAM105、表示装置106が接続されると共に、前記アクセラレータ回路101が接続される。このアクセラレータ回路101にはVRAM107が接続される。
また、CPU102には、ノーマルバス108を介してキーボードなどの入力部109、外部記憶HDD(Hard Disk Drive)110、クライアント装置20との送受信制御部111が接続される。
CPU102は、ROM104に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM105を作業用メモリとして回路各部の動作を制御するもので、入力部109からのキー入力信号や送受信制御部111を介して受信されるクライアント装置20からのユーザ操作に応じた処理指令信号などに応じて前記種々のプログラムが起動・実行される。
このサーバ装置10において、クライアント装置20からのユーザ指令信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶HDD110に記憶され、また表示用の描画データは、アクセラレータ回路101においてVRAM107を使用して転送用描画データH(図2,図3参照)に変換され、最適圧縮・暗号化された後、送受信制御部111からクライアント装置20へ転送されて表示出力される。
図5は、本コンピュータシステムのサーバ装置10におけるアクセラレータ回路101の回路構成を示すブロック図である。
このアクセラレータ回路101では、CPU102からの初期設定により初期設定レジスタ101bがセットされる。ここでは、接続される各クライアントCnごとに、その表示構造(1画面の高さH×幅W)、色数のセットに加えて、現表示データが格納されるVRAM107上のメモリ領域107aの指定、前表示データが格納されるVRAM107上のメモリ領域107cの指定、スケーリング後の表示データが格納されるVRAM107上のメモリ領域107bの指定、アクセラレータ処理データが格納されるVRAM107上のメモリ領域107dの指定、バイト数、暗号化の有無(ON/OFF)のセットが行われる。
クライアント装置20に送信される表示データは以下のようにして生成される。まず、表示データが高速バスインターフェース101aを介してアクセラレータ回路101に入力される。この表示データはアクセス調停回路101g、DRAMアクセス回路101hを介してVRAM107上のメモリ領域107aに現表示データとして格納される。次に、CPU102から処理開始の指令が入力されると倍率変更回路としてのスケーリング回路101cは、メモリ領域107aに格納されている現表示データを読み出してスケーリング処理(ここでは縮小処理)を実行する。スケーリング処理された表示データはメモリ領域107bに格納される。また、領域分割回路としてのタイル分割判定回路101dはCPU102からの指令があると、タイル分割を行う単位としてのタイル数をレジスタに設定する。
次に、比較・圧縮回路101eは、メモリ領域107aに格納されている現表示データ(スケーリング処理がなされている場合にはメモリ領域107bに格納されているスケーリング後の表示データ)と、メモリ領域107cに格納されている前表示データとを読み出してそれぞれの表示データに対してタイル分割判定回路101dから送られたタイル数に従って分割処理を行い、各タイル毎に両表示データを比較して差異を検出する。そしてこの比較により検出された差異の表示データに対して圧縮処理を施した後、アクセラレータ処理データとしてメモリ領域107dに格納する。そして、暗号化が設定されている場合には、暗号化回路101fにおいて暗号化処理が施された後、メモリ領域107eに格納される。同時に、アクセラレータ回路101での一連の処理が終了したことを高速バスインターフェース101aを介してCPU102に通知する。CPU102はこの通知を受けると、メモリ領域107dに格納されているアクセラレータ処理データあるいはメモリ領域107eに格納されている暗号化データを読み出し、クライアント装置20へ転送する。
なお、上記した表示データの倍率変更、領域分割、前画面と現画面表示データ間の差異の有無の検出は、送信データのデータ量を少なくして転送効率を高めるための処理である。また、倍率変更は、実施形態では縮小の場合を例に説明するが、拡大であってもよい。
図6は、図5に示すスケーリング回路101cの回路構成を示すブロック図である。スケーリング処理を行うか否かは各クライアント装置20毎に指定され、スケーリングを行う場合にはスケーリングONがスケーリングON/OFFレジスタ201に書き込まれ、スケーリングを行わない場合にはスケーリングOFFがスケーリングON/OFFレジスタ201に書き込まれている。また、スケーリングを実行するときのスケーリング率はスケーリング率設定レジスタ202に設定されている。スケーリングOFFが指定されている場合にはスケーリングを行わずただちに比較・圧縮回路101eに処理が渡される。スケーリングONの場合、読み出しライン数選択回路203は、スケーリング率設定レジスタ202に設定されているスケーリング率に応じてVRAM107内のメモリ領域107aから読み出すべき表示データのライン数を選択する。例えば、スケーリング率が1/2ならば2ライン、スケーリング率が1/4ならば4ライン、スケーリング率が1/8ならば8ラインといった具合である。以下では仮にスケーリング率が1/4の場合について説明する。なお、表示データが横1280*縦800ピクセルからなる場合、1ラインは1280*1ピクセルからなる横一列のピクセル群である。
表示データ読み出し回路204は、読み出しライン数選択回路203で選択されたライン数(ここでは4ライン)の表示データをメモリ領域107aから読み出して、1280ピクセル×8ラインの容量を有するバッファ205に格納する。次に、スケーリング演算回路206は4×4ピクセルの表示データをスケーリング単位としてスケーリング処理を行って1ピクセルの画像データを取得してラインバッファ208に格納する。
横ピクセル数終了判断回路209は横ピクセル数が1280ピクセルに達したか判別し、1280ピクセルに達していなければ+横ピクセル数回路207でスケーリング単位のピクセル(ここでは4ピクセル)を加算して、次の4×4ピクセルの表示データをスケーリング単位としてスケーリング演算回路206でスケーリング処理を行う。横ピクセル数終了判断回路209で横ピクセル数が1280ピクセルに達したことが判別された場合は、スケーリング後表示データ書込み回路210により、スケーリング後表示データがスケーリング後表示データ107bとしてVRAM107へ書き込まれる。
更に、ライン数終了判断回路211は、縦ライン数が800ラインに達したか判別し、達していなければ+縦ライン回路212で読出しの所定ライン数(ここでは4ライン)を加算して、表示データ読み出し回路204は、次のライン(ここでは次の4ライン分)の表示データをメモリ領域107aから読み出して、1280ピクセル×8ラインの容量を有するバッファ205に格納する。前記ライン数終了判断回路211で、縦ライン数が800ラインに達したことが判別された場合は、比較圧縮回路101eへ通知し、これにより、比較圧縮回路101eの動作が開始される。
図7は上記したスケーリング処理を行うスケーリング演算回路206の回路構成を示している。縦ピクセル数・横ピクセル位置指定部206dはスケーリング率設定レジスタ202からのスケーリング率(ここでは1/4)に基づいて縦ピクセル数(ここでは4ライン)を指定するとともに、図6に示す+横ピクセル数指定部207での指定値に基づいて横方向のピクセル位置(最初は左端のピクセル位置)を指定する。
読み出しエリア選択回路206aは1280ピクセル×8ラインバッファ205に格納されている1280ピクセル×4ラインの表示データから左端4×4のエリアを最初に読み出すべきエリアとして選択してこのエリアに属する表示データを読み出す。読み出された4×4=16個の表示データはスケーリング単位分の表示データを格納するスケーリング単位バッファ206bに格納される。ピクセル読み出し回路206cはスケーリング単位バッファ206bから1ピクセルの表示データを読み出して足し算回路206fに出力する。足し算回路206fは複数ピクセルの画素値の足し算を行う回路であるが最初は1ピクセルのみの画素値が足し算結果バッファ206iに格納される。同時に+1回路206gを介してピクセルカウンタ206hのカウント値がインクリメントされる。ピクセル数判断回路206eは、ピクセルカウンタ206hのインクリメント後のカウント値がスケーリング単位以上か否かを判断し、NOならばピクセル読み出し回路206cに通知し、YESならば割り算回路206jに通知する。
1ピクセルの表示データを読み出しただけなので最初はNOとなる。したがって、ピクセル読み出し回路206cは次の1ピクセルの表示データを読み出して足し算回路206fに出力する。足し算回路206fは最初に読み出されたピクセルの画素値と今回読み出されたピクセルの画素値とを足し算し、その結果を足し算結果バッファ206iに書き込む。このようにしてピクセル数判断回路206eで足し算に供したピクセル数を判断しながら16個分の表示データについての足し算が行われ、足し算結果バッファ206iには16個のピクセルの画素値を合計した値が格納される。
次に、割り算回路206jは足し算結果バッファ206iに格納されている合計値を読み出し、これを割る数選択回路206kで選択された割る数で割り算する。ここで割る数選択回路206kはスケーリング率設定レジスタ202で設定されたスケーリング率に応じて割る数を選択する。例えば、スケーリング率が1/2ならば4、1/4ならば16、1/8ならば64を選択する。ここではスケーリング率が1/4なので16が割る数として選択される。
書き込みエリア指定回路206lは縦ピクセル数・横ピクセル位置指定部206dからの指定情報に基づいて割り算回路206jで得られた割り算結果を書き込むエリアを指定する。したがって、割り算結果はラインバッファ208の当該指定されたエリアに書き込まれる。
このようにして16個分のピクセルは1ピクセルにスケーリング(ここでは縮小)される。
横ピクセル数終了判断回路209では上記のスケーリング処理を行う毎にスケーリング処理が終了した横方向のピクセル数を検出しており、横方向のピクセル数が最大ピクセル数(ここでは1280)に満たない場合には+横ピクセル数指定部207で4ピクセルを加算したピクセル数(ここでは4+4=8)が指定され、スケーリング演算回路206では次の4×4の表示データをスケーリング単位としたスケーリング処理が実行される。
横ピクセル数終了判断回路209において横ピクセル数がMaxに達したと判断された場合、スケーリング後表示データ書込み回路210は、それまでにラインバッファ208に格納されたスケーリング後表示データをメモリ領域107bの指定の位置に書き込む。
最初の1280ピクセル×4ライン分の表示データについてのスケーリング処理が終了したならば、表示データ読み出し回路204は今度は次の1280ピクセル×4ライン分の表示データをメモリ領域107aから読み出して1280ピクセル×8ラインバッファ205に格納する。以下、スケーリング演算回路206は上記と同様のスケーリング処理を行い、得られたスケーリング後表示データはメモリ領域107bの指定の位置に書き込まれる。
ライン数終了判断回路211は1280ピクセル×4ライン分の表示データがスケーリングされる毎に縦ライン数を監視している。Max800ラインに達するまで+縦ライン数指定部205で4ラインを加算しながら上記したスケーリング処理が行われる。そして、ライン数終了判断回路211でMax800ラインに達したと判断された場合には比較・圧縮回路101eに処理が渡される。
図8は、図5に示すタイル分割判定回路101dの回路構成を示すブロック図である。分割方法選択レジスタ301にはCPU102によりタイルの分割方法が固定であるか可変であるかがセットされている。また、分割数指定レジスタ302にはCPU102により、1タイルの大きさを示すタイル分割数がセットされている。分割方法が固定である場合には、分割数指定レジスタ302で指定された分割数(例えば16×16)がタイル数設定レジスタ305に設定される。
一方、タイル分割方法が可変の場合には、タイル分割・比較回路303は、CPU102によりセットされる描画領域情報レジスタ306から描画領域(H×W)を読み出し、このデータ量が基準となる比較値307と比較して100kバイトよりも大きいか小さいか、あるいは1Mバイト以上なのかを判定する。タイル数選択回路304はこのときの判定結果に応じて複数の選択値308から適切なタイル数を選択する。例えば、データ量が100kバイトよりも小さいときは16×16を選択し、100kバイトよりも大きいときは32×32を選択し、1Mバイト以上ならば64×64を選択する。このようにデータ量が大きくなるほど大きな分割数が選択される。ここで選択されたタイル数はタイル数設定レジスタ305に設定される。
図9(A)、(B)は、図5に示す比較・圧縮回路101eの回路構成を示すブロック図である。図10は図9に示す比較回路の詳細な構成を示す図である。図9において、レジスタ351−1には前表示の描画領域の開始アドレスが格納され、レジスタ352−1には前表示の描画領域H×Wのサイズデータが格納されている。また、前表示データ・縦ライン数バッファ353−1には前表示データの縦ライン数に関するデータが格納されている。
また、レジスタ351−2には現表示の描画領域の開始アドレスが格納され、レジスタ352−2には現表示の描画領域H×Wのサイズデータが格納されている。また、現表示データ・縦ライン数バッファ353−2には現表示データの縦ライン数に関するデータが格納されている。
比較回路355は、前表示の描画領域の開始アドレス、描画領域の大きさ(H×W)、縦ラインバッファ数に基づいてメモリ領域107cから前表示データを読み出すとともに、現表示の描画領域の開始アドレス、描画領域の大きさ(H×W)、縦ラインバッファ数に基づいてメモリ領域107aから現表示データを読み出し、1タイル分のデータ毎に比較する処理を行う。
すなわち、図10(A)の比較回路355において、ピクセル読み出し回路401は、前表示データ・縦ライン数バッファ353−1からの前表示データの縦ライン数、現表示データ・縦ライン数バッファ353−2からの現表示データの縦ライン数、タイル数設定レジスタ305からのタイル数に基づいて、メモリ領域107cから1タイル分(ここでは16×16)の前表示データを読み出すとともに、メモリ領域107aから1タイル分(ここでは16×16ピクセル)の現表示データを読み出す。縦×横タイル数並列処理回路402では、1ピクセル引き算回路402−1を用いて前表示データの画素値と現表示データの画素値の引き算を1タイルを構成する16×16ピクセルについて同時に行う。図10(A)では、縦×横タイル数並列処理回路402は1ピクセル引き算回路402−1を一つ図示し、他の構成を省略したが、1ピクセル引き算回路402−1は引き算するピクセル数分備えている。引き算結果が0でないならば当該ピクセルを現表示データとし、引き算結果が0ならば当該ピクセルにフラグを立てる。比較結果は縦×横ライン数・ピクセル・バッファ356に格納される。16×16ピクセル全部について一致したときには全ピクセル一致検出レジスタ404にフラグがセットされる。
1タイル分の表示データについての比較が終了したならば、横ピクセル数・終了判断回路405は、描画領域(H×W)情報レジスタ306からの情報に基づいて処理の終了した横ピクセル数(ここではMAX1280)に達したか否かを判断し、NOならば、横方向+タイル数カウント回路403で1タイルの横方向のピクセル数(ここでは16)を加算してピクセル読み出し回路401に通知する。ピクセル読み出し回路401はこれにより、メモリ領域107cから次の1タイル分の前表示データを読み出すとともに、メモリ領域107aから次の1タイル分の現表示データを読み出す。縦×横タイル数並列処理回路402では、上記と同様にして比較処理を行い。その結果を縦×横ライン数・ピクセル・バッファ356に格納する。縦×横ライン数・ピクセル・バッファ356に格納された比較結果のデータは圧縮回路357で圧縮処理し、この圧縮処理が終了したならば、書き換え範囲終了判断回路358は描画領域情報レジスタ306の描画領域情報に基づいて表示データの書き換え範囲が終了したか否かを判断し、まだ800ラインに達していないならば+縦ライン数回路350で縦方向のラインをインクリメントして縦方向が800ラインになるまで上記の処理を行い、800ラインになったときに処理を終了する。
そして、横ピクセル数・終了判断回路405で横ピクセル数がMAX=1280ピクセルに達したと判断されたときに、縦(タイル値)×横バッファ分の処理が終了となる。
図10(B)は縦×横ライン数・ピクセル・バッファ356の構造の一例を示している。縦×横ライン数・ピクセル・バッファ356には、比較回路355による比較により、前表示データと現表示データが同じピクセルには「Flag」が記憶され、前表示データと現表示データが異なるピクセルには現表示データが「現色」として記憶される。
図11(A)、(B)は図9に示す圧縮回路357の詳細な構成を示すブロック図である。図11(A)において、縦×横タイル数・読み出し回路450は、タイル数設定レジスタ305に設定されたタイル数に基づいて縦×横ライン数・ピクセル・バッファ306に格納された比較結果データから1タイル分(ここでは16×16ピクセル)のデータを読み出す。
図12は色数カウント回路451の詳細な構成を示すブロック図である。図12において、1ピクセル読み出し回路501は、全ピクセル一致検出レジスタ404の内容が不一致である場合に、読み出された1タイル分のデータから最初の1ピクセルのデータを読み出す。一致回路502は、色数カウント=0か否かを判断する。初期設定では0に設定されているのでYESとなり、色レジスタ書込み回路511は、読み出された1ピクセルの色を色レジスタ512のNo.0の位置に書き込む。同時に、+1回路510を介して初期値0がインクリメントされて色数カウントレジスタ453に1が書き込まれる。
このとき、タイル数・終了判断回路509は、1タイル分の読み出しが終了したか否かを判断する。最初の1ピクセルを読み出しただけなので判断はNOとなり、+1回路503を介して1インクリメントされる。これにより1ピクセル読み出し回路501は縦×横タイル数・読み出し回路450から2番目の1ピクセルデータを読み出すことになる。色数カウントレジスタ453のカウント値は1になっているので、今度は一致回路502の判断がNOとなる。この場合1ピクセル一致回路504は、今回読み出した1ピクセルの色と、色レジスタ読み出し回路505により読み出された色レジスタ512のNo.0位置の色とが一致するか否かを判断する。ここでNOならば+1回路508を介して色レジスタカウンタ507の初期値0がインクリメントされて1がセットされる。次に、色数・終了判断回路506は色レジスタ512の色数が終了か否かを判断する。色レジスタ512のNo.0位置の色がすでに読み出されたのでここでの判断はYESとなる。この場合、色レジスタ書込み回路511は今回読み出した1ピクセルの色を色レジスタ512のNo.1の位置に書き込む。このとき、+1回路510を介して現在のカウント値1がインクリメントされるので色数カウントレジスタ453のカウント値は2になる。
このとき、タイル数・終了判断回路509は、1タイル分の読み出しが終了したか否かを判断する。2番目の1ピクセルを読み出したのみなので判断はNOとなり、+1回路503を介してインクリメントされる。これによって1ピクセル読み出し回路501は縦×横タイル数・読み出し回路450から3番目の1ピクセルのデータを読み出すことになる。
このとき色数カウント=2になっているので、一致回路502の判断がNOとなる。この場合1ピクセル一致回路504は、今回読み出された1ピクセルの色と、色レジスタ読み出し回路505により読み出された色レジスタ512のNo.0位置の色とが一致するか否かを判断する。ここでNOならば+1回路508を介して色レジスタカウンタ507のカウント値がインクリメントされて2がセットされる。次に、色数・終了判断回路506は色レジスタ512の色数が終了か否かを判断する。色レジスタ512のNo.1位置にも色が格納されているのでここでの判断はNOとなる。この場合、色レジスタ読み出し回路505は色レジスタ512からNo.1位置の色を読み出して1ピクセル一致回路504に入力する。
1ピクセル一致回路504は、3番目に読み出した1ピクセルの色と、色レジスタ読み出し回路505により読み出された色レジスタ512のNo.1位置の色とが一致するか否かを判断する。ここでNOならば+1回路508を介して色レジスタカウンタ507のカウント値2がインクリメントされて3がセットされる。次に、色数・終了判断回路506は色レジスタ512の色数が終了か否かを判断する。色レジスタ512のNo.0及びNo.1の位置に格納された色はすべて読み出されたのでここでの判断はYesとなる。この場合、色レジスタ書込み回路511は3番目の1ピクセルの色を色レジスタ512のNo.2の位置に書き込む。同時に、+1回路510を介して現在のカウント値2がインクリメントされて色数カウントレジスタ453のカウント値は3になる。
このとき、タイル数・終了判断回路509は、1タイル分の読み出しが終了したか否かを判断する。3番目の1ピクセルを読み出したのみなので判断はNOとなり、+1回路503を介して1加算されることにより、1ピクセル読み出し回路501は縦×横タイル数・読み出し回路450から4番目の1ピクセルのデータを読み出すことになる。
この間に1ピクセル一致回路504での判断がYesになった場合には色数カウントレジスタ453及び色レジスタ512の内容は変更されることなくタイル数・終了判断回路509に処理が移行する。
このようにして、第16番目のピクセルが1ピクセル読み出し回路501によって読み出されて上記の処理が終了すると、タイル数・終了判断回路509での判断がYesとなって1タイルのデータについての処理が終了する。この時点で色レジスタ512には異なる種類の色が格納される。また、色数カウントレジスタ453には色数の最終的なカウント値が格納されるので1タイルの中に何種類の色が存在するかがわかる。
図13は、図12に示す透過色検出回路454の詳細な構成を示すブロック図である。図12において、色レジスタ書込み回路511によって新たな色が色レジスタ512に順次格納されることを説明した。色レジスタ書込み回路511は新たに格納しようとする色を同時に透過色検出回路454にも入力する。1ピクセル色下位12ビット抽出回路550は当該1ピクセルの色の下位12ビットを抽出する。
一方、透過色候補・レジスタ560には透過色の候補となる例えば4096の色が順次記憶されており、さらに各色に対応して透過色フラグをセットするための領域が予め用意されている。圧縮回路357の起動時は透過色フラグは書き込まれていないものとする(初期値0)。透過色候補・レジスタ560の中から最上位(000h)の色が選択されて透明色候補レジスタ553にセットされる。
1ピクセル一致回路551は1ピクセル色下位12ビット抽出回路550で抽出された下位12ビットの1ピクセル色と、透過色候補レジスタ554にセットされた色とが一致するか否かを判断する。ここでNOの場合には+1回路557を介して透過色候補カウンタ558のカウント値(初期値000h)をインクリメントする。これにより透過色候補レジスタ554には次の透過色(001h)がセットされる。
次に終了判断回路556で透過色候補・レジスタ560に設定された4096以上になったか否かを判断する。ここでは最初の000hの色を読み出しただけなので判断がNOとなり、次に透過色フラグ判断回路555でフラグが立てられている透過色があるか否かを判断する。ここではそのような色はまだ存在しないのでNOとなる。次に、1ピクセル一致回路551はすでに抽出した1ピクセル色と、透過色候補レジスタ554にセットされた透過色(001h)とが一致するか否かを判断する。ここでNOならば、透過色候補カウンタ558を1インクリメントして透過色候補レジスタ554に次の透過色(002h)がセットされる。そして、ピクセル一致回路551はすでに抽出した1ピクセル色と、透過色候補レジスタ554にセットされた透過色(002h)とが一致するか否かを判断する。ここでYESならば、透過色フラグ書込み回路559はこのときの透過色(002h)に透過色フラグをセットする。同時に、透明色検出回路・終了判断回路561で色レジスタ書込み回路511により書き込まれるすべてのピクセルについて透明色の判断が終了したか否かを判断する。ここでは最初のピクセルについてしか判断していないのでNOとなり、色レジスタ書込み回路511により書き込まれる次の色の下位12ビットが抽出される。
一方、透過色候補レジスタ554にはまだフラグがセットされていない最上位の色(000h)がセットされる。1ピクセル一致回路551は当該次の1ピクセル色と、透過色候補レジスタ554にセットされた候補色とが一致するか否かを判断する。以後、上記した手順で処理が行われるが、この時点ですでにフラグが立てられた透明色(0002h)が存在する。これが透過色フラグ判断回路555で検出されることになる。この場合には+1回路557を介して透過色候補カウンタ558のカウント値がインクリメントされる。これにより、フラグが立てられた候補色(0002h)を飛ばした次の候補色が透明色候補レジスタ554にセットされて当該次の1ピクセル色と一致するか否かが判断される。
このようにして、1ピクセル一致回路551では色レジスタ書込み回路511により書き込まれるすべての色と、透過色候補・レジスタ560内の候補色とを上位から順に比較して一致するか否かを判断し、一致した候補色に対してはフラグが立てられる。
透過色選択回路552はフラグが立てられていない(使用されていない)上位の候補色を選択して、透過色レジスタ553にセットする。この時点で透過色検出回路・終了判断回路561の判断がYESとなり処理が終了する。
図11に戻って、透過色候補・レジスタ560の内容は透過色変換回路454に入力される。透過色変換回路454は、透過色候補・レジスタ560の内容を参照して、縦×横タイル数・読み出し回路450により読み出された1タイル分の色データのうち使用されていない色を透過色に置き換える変換処理を行い、その結果は縦×横バッファ455に格納される。図11(B)は当該バッファ455に格納された表示データの一例を示す図である。縦×横バッファ455には、透過色変換回路454により変換された透過色が「透過」として記憶され、その他の現表示データが「現色」として記憶される。
縦×横バッファ455の表示データは圧縮方法選択回路456に入力される。また、圧縮方法選択回路456は、色数カウントレジスタ453の色数値を受け取る。また、後述するようにCPU102によりRAW指定がされている場合にはレジスタ460にそれがセットされるのでそのデータも圧縮方法選択回路456に入力される。
圧縮方法選択回路456は、図14に示すような圧縮方法決定のためのテーブルを有しており、当該選択回路456はこのようなテーブルを参照して色数カウントレジスタ453の色数値に応じたエンコード方式を選択する。例えば色数が1または2色であるならばRRE(Rise and Run Length Encoding)エンコード方式が選択され、3色以上で128色未満ならばPNG方式が選択され、128色以上ならばJPEGエンコード方式が選択される。また、クライアント装置20側が復号機能を備えていない場合などRAW指定がされている場合にはエンコード処理は行われない。
このように、色数値に応じてエンコード方式を選択することで圧縮の効率を高めることができる。ここで判断基準として用いられる128色は固定ではなく、データ量を減らすために1タイルのサイズに応じて変更することができる。例えば、タイルサイズが32×32ならば256以上、64×64ならば512以上が用いられる。
なお、JPEG(Joint Photographic Experts Group)エンコーダ方式は非可逆な圧縮方式なので透明色変換回路454での変換処理により得られる表示データ(図11(B))ではなく、縦×横タイル数・読み出し回路450により読み出された表示データがエンコーダ入力となる。また、クライアント装置20により圧縮方法が指定されている場合には指定された圧縮方法を用いるようにしてもよい。
次に、ヘッダ付加回路457は、図15に示すような結果データ・ヘッダーフォーマットのテーブルを参照して選択されたエンコード方式に応じて、通し番号、位置情報、高さと幅、エンコード情報、透過色、データ長、転送フラグ(転送する/しない)等の情報を含むヘッダを付加してVRAM107上のメモリ領域107dにアクセラレータ処理データとして格納する。
このとき、横ピクセル数・終了判断回路459は、横方向の最大ピクセル数(ここでは1280)に達したか否かを判断し、NOの場合には、横方向+タイル数カウンタ回路458を介して横方向を1タイル分(16ピクセル)インクリメントする。これにより縦×横タイル数・読み出し回路450は次の1タイル分のデータを読み出す。以下、上記した手順によって処理を行う。そして横ピクセル数・終了判断回路459において、横方向の最大ピクセル数(ここでは1280)に達したと判断されたときに縦(タイル値)×横バッファ分の処理が終了となる。
この処理の後は、前述したように、図9に戻って、圧縮回路357での上記した圧縮処理が終了したならば、書き換え範囲終了判断回路358は描画領域情報レジスタ306の描画領域情報に基づいて表示データの書き換え範囲が終了したか否かを判断し、まだ800ラインに達していないならば+縦ライン数回路350で縦方向のラインをインクリメントして縦方向が800ラインになるまで上記の処理を行い、800ラインになったときに処理を終了する。
図16はサーバ装置10のCPU102によりソフトウェアを用いて実行されるサーバプロセス処理フローの手順を説明するための図である。まず、サーバ装置20はイニシャル設定(ステップS1)を行った後、クライアント装置20からの認証要求があるか否かを判断し(ステップS2)、ここでの判断がNOならばステップS9に移行し、YESならば認証処理(ステップS3)を行う。続いて初期設定のためのデータを準備する(ステップS4)。具体的には表示領域H/W、色数、スケール、圧縮指定の有無、暗号化の有無などに関する初期設定用データを生成する。
次に認証がOKか否かを判断し、NOならばステップS2に戻り、YESならば当該クライアント装置20に対して所定のIDが発行される(ステップS6)。次に、アクセラレータ回路101内部の初期設定レジスタ101bにステップS4で生成した各種データを設定する(ステップS7)。具体的には、接続される各クライアントCnごとに、その表示構造(1画面の高さH×幅W)、色数のセット、現表示データが格納されるVRAM107上のメモリ領域107aの指定、前表示データが格納されるVRAM107上のメモリ領域107cの指定、スケーリング後の表示データが格納されるVRAM107上のメモリ領域107bの指定、アクセラレータ処理データが格納されるVRAM107上のメモリ領域107dの指定、バイト数、暗号化の有無(ON/OFF)のセットが行われる。
次に、スレッドを起動して転送サーバ処理を行う(ステップS8)。ここでの処理の詳細については後述する。スレッドとはクライアント装置とデータの授受を行うプログラムである各クライアントごとに起動される。
次に、ステップS9に進んで起動しているスレッドを終了するか否かを判断し、NOならばステップS2に戻り、次のクライアント装置20からの認証要求があるまで待つ。また、ステップ9の判断がYESになったならばステップS6で発行した当該クライアント装置のIDを削除し(ステップS10)、次に、本サーバプロセス処理を終了するか否かを確認し(ステップS11)、NOならばステップS2に戻って次のクライアント装置20からの認証要求があるまで待つ。また、ステップS11の判断がYESならば本サーバプロセス処理を終了する。
図17は図16の転送サーバ処理の手順を説明するためのフローである。まず、サーバ装置10内のCPU102は1画面のデータを書き込むための表示領域(H×W)をRAM105上に確保する(ステップS80)。次に、サーバ装置10で起動しているアプリケーションプログラムからの描画命令により上記表示領域にデータの書込みがあったか否かを判断し(ステップS81)、YESならば、書き込みがあった描画領域の大きさ(H×W)と座標位置x、yを検出する(ステップS82)。次に、RAM105上の上記表示領域に書かれた表示データをVRAM107上のメモリ領域107aにコピーする。これが図5に示す現表示データとなる。
次に、可変タイルサイズか否かを判断する(ステップS84)。YESならば、タイル分割判定回路101d内の分割方法選択レジスタ301(図8)を可変に設定し(ステップS85)、NOならば当該分割方法選択レジスタ301(図8)を固定に設定する(ステップS84−1)。次に、固定設定では分割数指定レジスタ302を例えば16×16にセットする(ステップS86)。次に、クライアント装置20からのスケール設定要求があるか否かを判断し(ステップS87)、NOならば後述するステップS90に移行するが、YESの場合にはクライアント装置20からのスケール率をスケール率設定レジスタ202(図6)に設定する(ステップS88)。次に、スケーリングON/OFFレジスタ201(図6)にスケーリングONフラグを設定する(ステップS89)。
上記の処理が済んだ後に、アクセラレータ回路101での処理が開始される(ステップS90)。すなわち、CPU102(図4)からスケーリング回路101c(図5)及びタイル分割判定回路101d(図5)に処理開始の指令が送られる。次にCPU102はアクセラレータ回路101での処理が終了するまで待機し(ステップS91)、YESならば転送フラグが「転送しない」に設定されているか否かを判断する(ステップS91−1)。YESならばステップS94に移行するが、NOの場合にはVRAM107上のメモリ領域107dに記憶されているアクセラレータ処理データを読み出してクライアント装置20で表示される描画データを含む通信パケットを生成する(ステップS92)。暗号化回路101fで暗号化処理を行った場合にはメモリ領域107eに記憶されている暗号化データを読み出して通信パケットを生成する。
次に、クライアント装置20への通信パケットの送信を開始する(ステップS93)。そしてすべての通信パケットが送信されるのを確認し(ステップS94)、これが確認されたときには当該クライアント装置20から接続終了の通知があったか否かを判断し(ステップS95)、NOの場合にはステップ81に戻って以降の処理を続ける。ステップS95の判断がYESの場合には接続終了処理(ステップS96)を行って当該クライアント装置20との通信を終了する。
図18は、本コンピュータシステムにおけるクライアント装置20の回路構成を示すブロック図である。クライアント装置20は、コンピュータとしてのCPU601を備え、このCPU601には、バス611を介してROM602、RAM603が接続されると共に、アクセラレータ回路604が接続される。このアクセラレータ回路604にはVRAM605が搭載され、このVRAM605に書き込まれた描画データが表示装置606に出力されて表示される。
また、CPU601には、バス611を介してキーボードなどの入力部608と外部記憶HDD(Hard Disk Drive)607と、認証デバイス,バーコードリーダー,CCDカメラ,プリンタ,無線デバイスなどの各種の外部機器を接続するためのUSB/パラレル/シリアルインターフェース609と、前記サーバ装置10との間でのデータの送受信を制御する送受信制御部(有線/無線)610とが接続される。
CPU601は、ROM602に予め記憶されているシステムプログラムに従ってRAM603を作業用メモリとし回路各部の動作を制御するもので、入力部608からのキー入力信号や送受信制御部610を介して受信されるサーバ装置10からのアプリケーション応答信号,転送描画データなどに応じて前記システムプログラムが起動・実行される。
このクライアント装置20において、前記サーバ装置10におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶部(HDD)607に読み込ませて記憶させ、また生成転送された表示用の描画データは、アクセラレータ回路604においてデコードされてVRAM605に書き込まれ表示装置606で表示出力される。
図19は図18に示すアクセラレータ回路604の詳細な構成を示す図である。暗号復号回路701はサーバ装置10から送られてきた1タイル分の圧縮・暗号化データファイルを復号する。復号されたデータファイルはヘッダデータ702−1と描画データ702−2としてセットされる。圧縮デコード回路704はヘッダデータ702−1に書き込まれている圧縮方式に対応する伸長方式により描画データをデコードする。デコードされた描画データは、領域座標レジスタ703にセットされた描画データのH×WのサイズとXY座標に基づいてVRAM706上のメモリ領域707に描画される。
図20は、クライアント装置20における処理手順を示すフローチャートである。まず、初期設定(イニシャル設定)を行う(ステップS101)。ここで表示構造としてH×W(高さ×幅)のサイズと色数とが設定される。次に、サーバ装置10との接続を行うか否かを判断し(ステップS102)、NOの場合にはYESになるまで待機する。YESになったならばサーバ装置10に対して接続要求を送信する(ステップS103)。サーバ装置10はこれに対してクライアント装置20からの接続が正当であるか否かの判断を行うが、クライアント装置20はサーバ装置10から認証OKの通知があるまで待機し(ステップS104)、認証OKの通知を受け取ったならば、ステップS101で設定した初期情報をサーバ装置10に対して送信する(ステップS105)。次に、サーバ装置10との間で通信を行うが、その間、サーバ装置10との間の通信制御を行う(ステップS106)。当該通信が終了したならば接続を終了するか否かを確認し(ステップS107)、YESならば接続終了処理(ステップS108)を行って処理を終了する。
図21は、図20におけるサーバとの通信制御の詳細を示すフローチャートである。まず、キーボードあるいはマウスなどが操作することにより何らかのイベントが発生するまで待機する(ステップS201)。イベントが発生したならば、当該イベントがネットワークを介したサーバ装置10からのデータ受信か否かを判断し(ステップS202)、NOならば当該イベントがキーボードの操作か否かを判断する(ステップS203)。ここでNOならば当該イベントがマウスあるいはタッチパネルの操作か否かを判断し(ステップS204)、NOならばシリアル接続を介してデータ入力があったか否かを判断し(ステップS205)、NOならばステップS201に戻る。
一方、ステップS202においてYESならば、サーバ装置10から受信したデータが暗号化データか否かを判断し(ステップS206)、NOならばただちにステップS209に移行し、YESならば当該暗号化データを復号すべく内部の暗号復号回路701へ転送する(ステップS207)。次に、この暗号復号回路701から復号データを抽出し(ステップS208)、プロトコルヘッダの解析を行う(ステップS209)。次に、当該ヘッダから抽出した描画領域(H×W)、座標x、yをレジスタにセットする(ステップS210)。次に、ヘッダ及び描画データをアクセラレータ回路604にセットする(ステップS211)。これによりアクセラレータ回路604で所定の処理が行われた後、表示装置606に表示される。
また、ステップS203での判断がYESならば、操作されたキーボードに対応するキーコードを受信する(ステップS212)。次に、このキーコードに基づいて送信データを生成する(ステップS213)。次に、送信データを暗号化するか否かを判断し(ステップS214)、NOならばただちにステップS217に移行する。ステップS214の判断がYESならば、アクセラレータ回路604内の暗号化回路に転送して暗号化を行う(ステップS215)。次に、暗号化回路から暗号化した送信データを抽出して(ステップS216)、パケット通信処理を行い(ステップS217)、転送命令に従って送信データをサーバ装置10へ転送する(ステップS218)。その後、ステップS201に戻る。
また、ステップS204の判断がYESならば、マウス操作あるいはタッチパネル操作の内容に応じたデータをセットする制御を行う(ステップS219)。その後はキーボード操作の場合と同様にステップS213以降の処理を行う。
また、ステップS205の判断がYESならば、入力されたデータを受信する(ステップS220)。その後はキーボード操作の場合と同様にステップS213以降の処理を行う。
上記した実施形態によれば、クライアント装置20に送信する表示データを生成するにあたって、倍率変更回路(スケーリング回路101c)、領域分割回路(タイル分割判定回路101d)、比較・圧縮回路101eをハードウェアにより生成するようにしたので、CPU102の負担を軽減しつつクライアント装置20へ送信する表示データを高速に生成することができる。また、CPU102の負担を軽減されるので、その分接続するクライアント装置20の数を増やすことができる。ハードウェア回路の作業とその動作を制御するCPU102の作業とを分担し、負荷のかかる処理を当該ハードウェア回路に行わせるようにしたので、CPU102の負荷を軽減することができる。
本発明の実施形態に係るサーバ装置10と複数のクライアント装置20a,20b,…とから構成されるコンピュータシステムの概略構成を示すブロック図である。 本コンピュータシステムのサーバ装置10にて生成された描画データのクライアント装置20への転送表示状態を示す図である。 本コンピュータシステムのサーバ装置10において変化後の描画データG′の領域Q′に基づきアクセラレータ回路101により生成処理される転送用描画データHを詳細に示す図である。 本コンピュータシステムにおけるサーバ装置10の回路構成を示すブロック図である。 本コンピュータシステムのサーバ装置10におけるアクセラレータ回路101の回路構成を示すブロック図である。 スケーリング回路101cの回路構成を示すブロック図である。 スケーリング演算回路206の回路構成を示すブロック図である。 タイル分割判定回路101dの回路構成を示すブロック図である。 比較・圧縮回路の回路構成を示すブロック図である。 (A)は図9に示す比較回路の詳細な構成を示す図であり、(B)は縦×横ライン数・ピクセル・バッファ356の構造の一例を示す図である。 図9に示す圧縮回路の詳細な構成を示すブロック図である。 色数カウント回路451の詳細な構成を示すブロック図である。 透過色検出回路454の詳細な構成を示すブロック図である。 圧縮方法決定のためのテーブルを示す図である。 結果データ・ヘッダーフォーマットのテーブルの一例を示す図である。 サーバ装置10のCPU102によりソフトウェアを用いて実行されるサーバプロセス処理フローの手順を説明するための図である。 図16の転送サーバ処理の手順を説明するためのフローである。 本コンピュータシステムにおけるクライアント装置20の回路構成を示すブロック図である。 図18に示すアクセラレータ回路604の詳細な構成を示す図である。 クライアント装置20における処理手順を示すフローチャートである。 図20におけるサーバとの通信制御の詳細を示すフローチャートである。
符号の説明
10…サーバ装置
101…アクセラレータ回路
101f…暗号化回路
101g…アクセス調停回路
101h…DRAMアクセス回路
107…VRAM
102…CPU
103…高速バス
104…ROM
105…RAM
106…表示装置
107…VRAM
108…ノーマルバス
109…入力部
110…外部記憶HDD
111…送受信制御部
20…クライアント装置
601…CPU
602…ROM
603…RAM
604…アクセラレータ回路
605…VRAM
606…表示装置
607…外部記憶部
608…入力部
609…USB/パラレル/シリアルインターフェース
610…送受信制御部

Claims (4)

  1. サーバ装置において生成された表示データをクライアント装置へ送信しその表示画面に表示させるようにしたコンピュータシステムのサーバ装置であって、
    前記クライアント装置へ送信する現画面の表示データを記憶する現表示データ記憶手段と、
    前記現表示データ記憶手段に記憶された現画面の表示データの倍率を変更する倍率変更回路と、
    前記倍率変更された前記現画面の表示データを複数の表示領域に分割する領域分割回路と、
    前記現表示データ記憶手段に記憶された現画面の表示データと、前記クライアント装置に送信された前画面の表示データとを、前記領域分割回路で分割された各表示領域毎に比較して両表示データに差異があるか否かを判定する比較回路と、
    を具備し、
    前記比較回路で差異があると判定された表示領域の表示データを前記クライアント装置に送信することを特徴とするコンピュータシステムのサーバ装置。
  2. 前記比較回路で差異があると判定された表示領域の表示データを圧縮する圧縮回路をさらに具備し、前記圧縮回路で圧縮された表示データを前記送信手段により送信することを特徴とする請求項1記載のサーバ装置。
  3. 前記倍率変更回路と、前記領域分割回路と、前記比較回路とにそれぞれ初期値を設定して、順次動作させる制御手段をさらに具備することを特徴とする請求項1または2記載のサーバ装置。
  4. 前記制御手段は、前記現表示データ記憶手段に前記現画面の表示データを記憶する処理を行わせ、前記倍率変更回路に前記現画面の表示データの倍率を変更する処理を行わせ、前記領域分割回路に前記倍率変更された現画面の表示データを複数の表示領域に分割する処理を行わせ、前記比較回路に前記各表示領域毎の表示データに差異があるか否かを判定する処理を行わせることを特徴とする請求項3記載のサーバ装置。
JP2006091628A 2006-03-29 2006-03-29 コンピュータシステムのサーバ装置 Pending JP2007265209A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006091628A JP2007265209A (ja) 2006-03-29 2006-03-29 コンピュータシステムのサーバ装置
EP07740947.2A EP1999719B1 (en) 2006-03-29 2007-03-28 Server apparatus of computer system
PCT/JP2007/057511 WO2007114456A1 (en) 2006-03-29 2007-03-28 Server apparatus of computer system
US11/693,346 US20070234229A1 (en) 2006-03-29 2007-03-29 Server apparatus of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006091628A JP2007265209A (ja) 2006-03-29 2006-03-29 コンピュータシステムのサーバ装置

Publications (1)

Publication Number Publication Date
JP2007265209A true JP2007265209A (ja) 2007-10-11

Family

ID=38638110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006091628A Pending JP2007265209A (ja) 2006-03-29 2006-03-29 コンピュータシステムのサーバ装置

Country Status (1)

Country Link
JP (1) JP2007265209A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165152A (ja) * 2009-01-15 2010-07-29 Mitsubishi Electric Corp 端末装置及び画面伝送システム及び端末プログラム及び画面伝送方法
JP2011198337A (ja) * 2010-03-23 2011-10-06 Yoji Fukinuke Pcシステム
KR101112518B1 (ko) * 2007-10-29 2012-02-24 주식회사 만도 변수형 데이터의 압축방법
JP2012160834A (ja) * 2011-01-31 2012-08-23 Fujitsu Ltd 情報処理装置、画像送信プログラムおよび画像表示方法
JP2013020629A (ja) * 2012-08-23 2013-01-31 Casio Comput Co Ltd 端末装置およびプログラム
JP2013123231A (ja) * 2012-12-28 2013-06-20 Casio Comput Co Ltd 表示端末装置及びプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326856A (ja) * 1993-05-17 1994-11-25 Hitachi Ltd データ記録装置および方法
JPH1074173A (ja) * 1996-06-14 1998-03-17 Seiko Epson Corp データ送受信装置およびデータ送信装置およびデータ受信装置ならびにデータ圧縮方法
JPH10320356A (ja) * 1997-05-15 1998-12-04 Nec Corp オーバレイの差分初期化表示方法
JPH11331610A (ja) * 1998-04-28 1999-11-30 Internatl Business Mach Corp <Ibm> 画像情報送信方法、画像情報更新方法、送信装置及び更新装置
JP2003271508A (ja) * 2002-03-14 2003-09-26 Ntt Comware Corp 携帯端末向けコンテンツ変換システム、及びコンテンツ変換方法
JP2004086550A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd 表示画面更新システム
JP2005217827A (ja) * 2004-01-30 2005-08-11 Toshiba Corp 情報転送装置、情報転送方法及びプログラム
JP2005267158A (ja) * 2004-03-18 2005-09-29 Fujitsu Ltd 文字サイズ制御方法、装置及びプログラム
JP2006058670A (ja) * 2004-08-20 2006-03-02 Seiko Epson Corp 描画命令のフックを利用した画像の転送

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326856A (ja) * 1993-05-17 1994-11-25 Hitachi Ltd データ記録装置および方法
JPH1074173A (ja) * 1996-06-14 1998-03-17 Seiko Epson Corp データ送受信装置およびデータ送信装置およびデータ受信装置ならびにデータ圧縮方法
JPH10320356A (ja) * 1997-05-15 1998-12-04 Nec Corp オーバレイの差分初期化表示方法
JPH11331610A (ja) * 1998-04-28 1999-11-30 Internatl Business Mach Corp <Ibm> 画像情報送信方法、画像情報更新方法、送信装置及び更新装置
JP2003271508A (ja) * 2002-03-14 2003-09-26 Ntt Comware Corp 携帯端末向けコンテンツ変換システム、及びコンテンツ変換方法
JP2004086550A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd 表示画面更新システム
JP2005217827A (ja) * 2004-01-30 2005-08-11 Toshiba Corp 情報転送装置、情報転送方法及びプログラム
JP2005267158A (ja) * 2004-03-18 2005-09-29 Fujitsu Ltd 文字サイズ制御方法、装置及びプログラム
JP2006058670A (ja) * 2004-08-20 2006-03-02 Seiko Epson Corp 描画命令のフックを利用した画像の転送

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101112518B1 (ko) * 2007-10-29 2012-02-24 주식회사 만도 변수형 데이터의 압축방법
JP2010165152A (ja) * 2009-01-15 2010-07-29 Mitsubishi Electric Corp 端末装置及び画面伝送システム及び端末プログラム及び画面伝送方法
JP2011198337A (ja) * 2010-03-23 2011-10-06 Yoji Fukinuke Pcシステム
JP2012160834A (ja) * 2011-01-31 2012-08-23 Fujitsu Ltd 情報処理装置、画像送信プログラムおよび画像表示方法
US8982135B2 (en) 2011-01-31 2015-03-17 Fujitsu Limited Information processing apparatus and image display method
JP2013020629A (ja) * 2012-08-23 2013-01-31 Casio Comput Co Ltd 端末装置およびプログラム
JP2013123231A (ja) * 2012-12-28 2013-06-20 Casio Comput Co Ltd 表示端末装置及びプログラム

Similar Documents

Publication Publication Date Title
JP4779756B2 (ja) コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム
EP1999719B1 (en) Server apparatus of computer system
US8918450B2 (en) Server apparatuses, server control programs, and client apparatuses for a computer system in which created drawing data is transmitted to the client apparatuses
JP2007221229A (ja) コンピュータシステムのサーバ装置、サーバ制御プログラム、およびそのクライアント装置
JP2007179061A (ja) 移動通信端末機のサムネールイメージブラウジング方法
JP2007265209A (ja) コンピュータシステムのサーバ装置
US10126907B2 (en) Emulation of multifunction peripheral via remote control device based on display aspect ratios
JP5645098B2 (ja) 画像形成装置
JP2007265207A (ja) コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム
WO2011077550A1 (ja) 画面中継装置
JP2007219626A (ja) コンピュータシステムのサーバ装置、サーバ制御プログラム、およびそのクライアント装置
JP4961797B2 (ja) コンピュータシステムのサーバ装置
JP6592830B2 (ja) 画像形成装置
JP5632733B2 (ja) 表示装置、画面画像転送方法、及びプログラム
JP2003316714A (ja) 情報処理装置及び方法
CN114697555B (zh) 一种图像处理方法、装置、设备及存储介质
JP2016066164A (ja) 情報処理装置、情報処理システム、表示装置及びプログラム
US20180048774A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
CN109561113B (zh) 传输关系建立方法及其系统、设备、服务器、存储介质
JP4849320B2 (ja) 画像送信装置、画像送受信装置および画像送受信システム
JP5935428B2 (ja) 読取制御装置、読取システム及びプログラム
JP2011199744A (ja) 画像形成装置および方法
JP3584545B2 (ja) ファクシミリ文書のイメージ表示装置
JP2008117178A (ja) 印刷システム及びプログラム
JP5701964B2 (ja) 画面中継装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111025