"圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮することを特徴とする画像圧縮方法。前記同一色連続長さは、第1のプロセッサにより、前記複数スレッドの同時並行処理によって、前記1列の画素の並びで隣接する画素の同一色ごとの連続数をカウントして得ることを特徴とする請求項1に記載の画像圧縮方法。前記同一色連続長さは、前記第1のプロセッサを用いたスレッドの同時並行処理により求め、前記画像データの圧縮は、第2のプロセッサを用いておこなうことを特徴とする請求項1または2に記載の画像圧縮方法。前記同一色連続長さは、前記第1のプロセッサとしてのGPUを用いて求め、前記画像データの圧縮は、前記第2のプロセッサとしてのCPUを用いておこなうことを特徴とする請求項1~3のいずれか一つに記載の画像圧縮方法。圧縮する画像データについて、画面全体を複数のブロックに分割し、前記分割後の小ブロックが有する画素数を前記スレッド数に対応させることにより、前記複数スレッドの同時並行処理をおこない前記同一色連続長さを求めることを特徴とする請求項1~4のいずれか一つに記載の画像圧縮方法。前記画像データの圧縮は、前記同一色連続長さの情報に基づき、画面全体で最も出現する色をバックグラウンドとして求めた後、前記同一色連続長さの情報に基づき、前記バックグラウンド以外の色について、面積最大となる矩形の色と大きさと位置を求めることを特徴とする請求項1~5のいずれか一つに記載の画像圧縮方法。前記バックグラウンドが求められた際に当該バックグラウンドの色をエンコードし、前記面積最大となる矩形が求められた際に当該矩形の色と大きさと位置をエンコードすることを特徴とする請求項6に記載の画像圧縮方法。圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮するマルチコアのプロセッサを含むことを特徴とする画像圧縮装置。前記プロセッサは、各画素の色が複数スレッドの同時並行処理によりそれぞれ検出された1列の画素の並びを格納するメモリに対するアクセスを連続したアドレスを順次読み取ることにより、前記同一色連続長さをカウントすることを特徴とする請求項8に記載の画像圧縮装置。前記プロセッサは、同一色連続長さを求める、スレッドの並列処理可能な第1のプロセッサと、前記画像データを圧縮する第2のプロセッサとを含むことを特徴とする請求項8に記載の画像圧縮装置。前記第1のプロセッサは、GPUであり、前記第2のプロセッサは、CPUであることを特徴とする請求項10に記載の画像圧縮装置。クライアントから受信した操作コマンドに基づき、圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮し、前記クライアントに送信するプロセッサを含むサーバと、前記サーバに対し前記操作コマンドを送信するごとに、前記操作コマンドに対応した圧縮した画像データを受信し、当該画像データをデコードして画面表示するクライアントと、を含むことを特徴とするシステム。クラウドコンピューティングを利用する場合、多数のクライアントからのアクセスにより、高負荷なCADアプリケーションが同時に動作することになり、対応してサーバのCPU、およびGPU負荷が高くなる。また、上記のようなデスクトップ画像を圧縮するための圧縮処理について、GPUを効率的に用いた並列処理がおこなえなかった。すなわち、上記従来の技術による画像圧縮処理では、GPUは各ブロックの処理で画素を探すために大量のメモリ比較処理が必要となった。画像処理に特化したGPUにおいては、メモリアクセスに時間がかかり、GPUにおけるメモリ処理は、CPUよりも低速である。したがって、上記のようにブロック分割による並列化処理をおこなう際に、メモリアクセスに時間がかかり、合計の処理時間は短縮することができなかった。並列プロセッサ固有の問題として、1.メモリアクセスが遅く、特に、メモリ比較処理でメモリのアクセス位置がとびとびになると、急激に低下する。2.分岐処理が悪影響を及ぼし、例として、32個のスレッドが同期をとりながら進行するので、1スレッドが長い探索に分岐すると、他のスレッドも同期のために待つ必要がある。このようなGPUでの処理時間の遅延によってクライアントに転送するまでの時間がかかることとなり、クライアント側での設計作業等を迅速に遂行することができなくなる。製品設計の分野でクラウドコンピューティングを利用する場合、サーバ側のCPUおよびGPUに負荷をかけずにアプリケーションが快適に動作して、デスクトップ画像の圧縮処理等を高速に完了でき、クライアントに転送する手法が必要となる。開示の画像圧縮方法、画像圧縮装置およびシステムは、上述した問題点を解消するものであり、画像の圧縮を迅速かつ効率的におこなうことを目的とする。上述した課題を解決し、目的を達成するため、開示技術は、圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮すること、を含む。開示の画像圧縮方法、画像圧縮装置およびシステムによれば、画像の圧縮を迅速かつ効率的におこなうことができるという効果を奏する。システム構成例以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。図1は、実施の形態にかかる画像圧縮装置を含むシステムを示す図である。このシステム100は、画像圧縮装置として機能するサーバ101と、クライアント102とからなる。このシステム100では、たとえば、クライアント102がサーバ101に操作コマンドを送り、サーバ101が操作コマンドに対応した処理を実行し、クライアント102に操作コマンドに対応したCAD画像デスクトップ画像等のデータを送信するDaaSのサービスを利用する。クライアント102は、CPU102aおよび図示しないROM,RAM等のメモリを含み、キーボード103やマウス104等の操作により、所望する処理の操作コマンドをネットワーク110を介してサーバ101に送信する。ディスプレイ105には、操作および処理内容が表示される。サーバ101は、GPU101a、CPU101b、図示しないROM,RAM等を含む。このサーバ101には、予め製品設計用のアプリケーション、たとえばCADアプリケーションが格納されているディスク装置120が接続されている。そして、サーバ101は、ネットワーク110を介してクライアント102から操作コマンドを受信すると、CPU101bおよびGPU101aがCADアプリケーションを実行し、実行結果であるデスクトップ画像CAD画像をネットワーク110を介してクライアント102に送信する。クライアント102は、受信したデスクトップ画像をディスプレイ105に表示する。サーバ101は、全体の処理をCPU101bが統括制御し、GPU101aは、CPU101bと分担して画像処理を実行する。GPU101aについては、マルチコアのプロセッサで構成され、プログラムCADアプリケーション実行時における複数のスレッドを並列に同時実行する。デスクトップ画像の圧縮処理内容つぎに、サーバ101が実行するデスクトップ画像の圧縮処理内容について説明する。サーバ101は、GPU101aとCPU101bとが分担してデータ量が大きいCAD画像等のデスクトップ画像を圧縮処理する。GPU101aは、デスクトップ画像の圧縮にかかるプレ処理後述する圧縮高速化テーブルの作成を実行し、このGPU101aの情報を基にCPU101bが圧縮処理を実行する。画像圧縮処理の手順図2は、実施の形態にかかる画像圧縮処理の手順を示すフローチャートである。GPU101aは、CPU101bがおこなう圧縮処理のプレ処理として、クライアントに送信するデスクトップ画像を読み込み、圧縮高速化テーブルを作成し、この圧縮高速化テーブルをCPU101bに出力する。はじめに、GPU101aは、クライアントに送信するデスクトップ画像の全画面を所定のブロック、たとえば16×16の画像の小ブロックに分割し、N個のブロックを得るステップS201。このN個は、たとえば、GPU101aが有するN個たとえば256個のプロセッサに対応して設定する。なお、サーバ101は、新たなデスクトップ画像を送信する際に、前回、クライアント102に送信したデスクトップ画像との差分のみを抽出し、この差分のデスクトップ画像に対する圧縮処理をおこなう構成とすることもでき、この場合には、よりネットワーク110上でのデータ量を削減できる。つぎに、N個のプロセッサによる並列処理を開始するステップS202。N個のプロセッサがおこなう各処理ステップS203について説明すると、1つのプロセッサは、処理番号1~Nから自プロセッサが処理するブロックを特定しステップS213、この処理ブロックについて圧縮高速化テーブルを作成するステップS214。N個のプロセッサは、それぞれこの圧縮高速化テーブルを作成し、CPU101bに転送する。この後、CPU101bは、圧縮高速化テーブルを利用した圧縮処理を実行するステップS204。GPUがおこなうプレ処理について図3は、GPUがおこなう圧縮高速化テーブルの作成処理の概要図である。GPU101aは、図2に示す1つの小ブロック16×16画素=256画素について、同時に256スレッドの起動を開始する。この際、X座標について、同一色の画素の並びの個数同一色シーケンス数をMとする。図3に示す例では、最上段1列について、左から順に、R赤画素の同一色連続長さRunLengthが3、G緑画素の同一色連続長さが5、R赤画素の同一色連続長さが3、B青画素の同一色連続長さが2、赤画素の同一色連続長さが3であったとする。この場合、この1列あたりの同一色シーケンス数M=5である。たとえば、1列あたり平均M=5であると、図3全体では、M=80となり、256=16×16に比してMの数は小さくなる。GPU101aでは、上記同一色の連続数RunLengthを、CPU101bに転送する。図4は、GPUがおこなう圧縮高速化テーブルの作成処理の手順を示すフローチャートである。図2のステップS214の処理内容の詳細を示している。GPU101aは、図2により256分割された1つの小ブロックについて、同時に256スレッドの起動を開始するステップS401。GPU101aのN256個の各プロセッサに対し、スレッド番号M1~256から自プロセッサが処理するデスクトップ画像上での座標を指定するステップS411。ここで、X,Y座標について、各スレッドごとに処理開始する座標位置を異ならせて同時並列処理をおこなう。たとえば、座標Xについて、X=M16,Y=M/16とすると、スレッド1は、M=1であり、座標X,Y=1,0、スレッド128は、M=128であり、座標X,Y=0,8、スレッド256は、M=256であり、座標X,Y=0,16の位置から処理を開始する。なお、[]は割り算の余り、[/]は割り算の商である。つぎに、各スレッド1~256は、同一色連続長さを初期値0としステップS412、1列最大16画素以下であるか判断しステップS413、この1列最大16画素の間において、他のスレッドで検出され、X軸方向に同一色で連続する画素があれば、同一色連続長さに1を加算するステップS414。ここで同一色ではない場合、あるいは最大16画素を超えた場合には、ステップS413,S414のループを抜けて終了する。上記処理により、図3に示したように、同一色連続長さが得られ、この同一色連続長さRunLengthをCPU101bに転送し、終了する。上記処理によれば、異なる1画素ごとに対応したスレッドが同時並行処理され、高速処理できるようになる。また、ステップS414による同一色連続長さの加算はメモリ領域へのアクセスがシリアルであるアドレスが連続しているため、GPU101aが用いるメモリへのアクセスを効率的におこなえる。特に、GPU101aでは、水平方向のX軸1軸での同一色連続長さRunLengthだけを並列計算するため、メモリ上でも連続する領域となり、GPU101aに適合した処理であり、高速化できる。CPUがおこなう圧縮処理についてつぎに、CPU101bがおこなう圧縮処理について説明する。図5は、CPUがおこなう画像圧縮処理の手順を示すフローチャートである。CPU101bは、GPU101aから同一色連続長さRunLengthを取得するステップS501。なお、この際、同一色連続長さに対応した同一色シーケンス数Mは、最大の256個以下となる。上記図3に示す例ではM=80で済む。そして、同一色連続長さに基づき、デスクトップ画面上において、最も出現する色をバックグラウンド背景色としてエンコード圧縮処理するステップS502。この処理は、同一色シーケンス数M回のループ処理でおこなわれる詳細は後述する。つぎに、ステップS502で判定したバックグラウンド以外の色の画素を探すステップS503。この処理は、最大でも同一色シーケンス数M回のループ処理でおこなえる。この後、ステップS503でみつかった画素を左上の座標位置にもつ色について、面積最大となる矩形を検出するステップS504。この処理では、X軸方向についてのループ処理は無く、Y軸方向に最大でも16回のループ処理で済む。最後に、ステップS504で検出された矩形の色、左上座標位置、縦横X,YサイズをエンコードしステップS505、処理を終了する。なお、この後、CPU101bは、ステップS502で処理したエンコード後のバックグラウンドの情報と、ステップS505で処理したエンコード後の各矩形の情報をネットワーク110を介してクライアント102に送信する。クライアント102では、CPU102aが受信したバックグラウンドの情報をデコード復号して、デスクトップのバックグラウンド背景色としてディスプレイ105に表示する。また、CPU102aは、この背景色上に、受信した各矩形の情報をデコード復号して、各座標位置に対応する縦横サイズおよび色でディスプレイ105に表示する。図6は、バックグラウンド色の決定にかかる処理内容を詳細に示したフローチャートである。CPU101bが実行する図5のステップS502の処理の詳細を示している。はじめに、出現した色であるColor[256]と、最大出現色であるMaxcolorと、最大出現数MaxCntをそれぞれ0で初期化するステップS601。そして、以下の処理について、画素数256に対応して、変数iが0から255までカウントするまでの間処理実行するステップS602。まず、出現したColorData[i]が出現済みColorにあるか判断するステップS603。ここで、新たな色のため出現済みColorでなければステップS603:No、ColorData[i]を新規登録する。また、ColorData[i]の出現数にRleRunLengthの略[i]を設定する。また、変数iにRle[i]を加算するステップS604。一方、出現済みColorであればステップS603:Yes、同じ色であるColorData[i]の出現数にRle[i]を加算する。また、変数iにRle[i]を加算するステップS605。上記ステップS604あるいはステップS605の実行後、ColorData[i]の出現数が最大出現数MaxCntより大きいかを判定するステップS606。ColorData[i]の出現数が最大出現数MaxCntより大きければステップS606:Yes、ステップS607に移行し、ColorData[i]の出現数が最大出現数MaxCntより大きくなければステップS606:No、ステップS607を実行せずにステップS602に戻る。ステップS607では、最大出現色Maxcolorに、ColorData[i]を設定する。また、最大出現数MaxCntにColorData[i]の出現数を設定するステップS607。以下、ステップS602に戻り異なる画素iについて処理を継続する。以上の処理により最大出現色であるMaxcolorが示す色がバックグラウンド背景色として決定される。図7は、同一色の矩形を検出する処理内容を詳細に説明したフローチャートである。CPU101bが実行する図5のステップS504の処理の詳細を示している。はじめに、処理済みフラグflg[256]を0で初期化するステップS701。Y軸について変数jが0から16までの間でループ処理をおこなうステップS702~ステップS712の処理。また、X軸について、変数iが0から16までの間でループ処理をおこなうステップS703~ステップS711の処理。そして、ステップS503でも使った画素のColorDataについて、このColorData[i16×j]はバックグラウンドの色と等しい同じであるか判断するステップS704。バックグラウンドと同じ色であればステップS704:Yes、処理を抜けてステップS703に戻る。異なる色であればステップS704:No、処理済みフラグflg[i16×j]が1同色と等しいか判断するステップS705。等しければステップS705:Yes、ステップS703に戻る。ステップS705の結果、等しくなければステップS705:No、処理済みフラグflg[i16×j]からflg[i16×jRle[i16×j]]までの画素に1を設定するステップS706。Rleは、各画素ごとに見た同一色連続長さである。つぎに、Y軸について変数kがj1から16までの間でループ処理をおこなうステップS707~ステップS710の処理。そして、Rle[i16×j]とRle[i16×k]が等しい色か判断するステップS708。等しくなければステップS708:No、ステップS703に戻る。等しければステップS708:Yes、処理済みフラグflg[i16×k]からflg[i16×kRle[i16×k]]まで1同色を設定するステップS709。以上の処理により、見つかった画素を左上にもち同一色で、かつ面積が最大の矩形を検出することができる。そして、上記の処理によれば、X軸方向は、プレ圧縮により1列分の処理が既におこなわれているので、X軸方向について新たに同一色の範囲検出のためのループ処理は不要である。Y軸方向についても、上記X軸の1列について既に同一色が検出されているため、全体の16列について最大16回分のループ処理で済む。このように、CPU101bがおこなうバックグラウンド上での異なる色の範囲矩形検出は、全体のループ回数を少なくでき、CPU101bの圧縮処理を高速化できるようになる。図8は、CPUがおこなう圧縮処理の概要図である。図8には、図3と同じ1つの小ブロック16×16画素について記載してある。CPU101bは、各画素ごとの色の配列ColorData[256]を出力する。図8に示す例では、ColorData[0]={256,0,0}、ColorData[1]={256,0,0}、ColorData[2]={256,0,0}、ColorData[3]={0,255,0}、...となる。{}内は、赤R、緑G、青Bの順とする。また、CPU101bは、各画素ごとの同一色連続長さRle[256]を作成し、出力する。図8に示す例では、Rle[0]=3、Rle[1]=2、Rle[2]=1、Rle[3]=5である。CPU101bは、これらColorData[256]と、Rle[256]に基づき、バックグラウンド背景色と、バックグラウンド上での矩形の色、左上座標位置、縦横サイズを求めて、画像データを圧縮し、クライアント102に転送する。図9は、図1に示した画像圧縮装置を用いたシステムの適用例を示す図である。図9において、ネットワーク110は、サーバ901,902とクライアント931~934とが通信可能なネットワークであり、たとえば、LANLocalAreaNetwork、WANWideAreaNetwork、インターネット、携帯電話網などで構成される。サーバ902は、クラウド920を構成するサーバ群サーバ921~925の管理サーバである。クライアント931~934のうち、クライアント931はノート型パソコン、クライアント932はデスクトップ型パソコン、クライアント933は携帯電話機スマートフォン、PHSPersonalHandyphoneSystemでもよい、クライアント934はタブレット型端末である。図9のサーバ901,902,921~925によって、図1に示した画像圧縮装置サーバ101を実現することができ、図9のクライアント931~934によって、図1に示したクライアント102を実現することができる。以上説明した実施の形態によれば、デスクトップ画像について、プレ圧縮し、このプレ圧縮のデータを用いて画像圧縮する2段階とし、これら段階をそれぞれ異なるプロセッサを用いて処理するようにした。特に、プレ圧縮は、GPUを用いてデスクトップ画像上の同一色の画素の並びを複数のスレッドプロセッサで同時並行処理して同一色連続長さを検出し、CPUに転送するため、GPUにおけるメモリアクセスを効率的におこなえ、高速に処理できる。また、CPUは、GPUから同一色連続長さの情報を得るため、CPUで同一色連続長さの検出をおこなう必要が無く、得られた同一色連続長さの情報に基づき、デスクトップ画像上での同一色の並びバックグラウンドおよびバックグラウンド上での矩形画像を効率的に検出することができる。これにより、デスクトップ画像の圧縮にかかる全体処理をGPUおよびCPUの機能に適した機能分担ができ、これらGPUおよびCPUいずれの負担も軽減でき、圧縮を効率的におこなうことができ、迅速にクライアントに送信できるようになる。また、上記実施の形態では、GPUとCPUを用いて圧縮処理をおこなう構成としたが、マルチコアのCPUを用いて上記GPUの処理内容をおこなうこともでき、この場合においても、圧縮の全体処理を効率的におこなえるようになる。そして、上記の実施の形態によれば、特に、デスクトップ画像として製品設計時におけるCAD画像等、データ量が大きい画像の画像圧縮に対して有効であり、DaaS等のサービス利用時においてサーバは、デスクトップ画像を迅速にクライアントに送信でき、サーバレスポンスを改善でき、クライアントにおける操作性を向上でき、システム全体の利便性を向上できるようになる。上述した実施の形態に関し、さらに以下の付記を開示する。付記1圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮することを特徴とする画像圧縮方法。付記2前記同一色連続長さは、第1のプロセッサにより、前記複数スレッドの同時並行処理によって、前記1列の画素の並びで隣接する画素の同一色ごとの連続数をカウントして得ることを特徴とする付記1に記載の画像圧縮方法。付記3前記同一色連続長さは、前記第1のプロセッサを用いたスレッドの同時並行処理により求め、前記画像データの圧縮は、第2のプロセッサを用いておこなうことを特徴とする付記1または2に記載の画像圧縮方法。付記4前記同一色連続長さは、前記第1のプロセッサとしてのGPUを用いて求め、前記画像データの圧縮は、前記第2のプロセッサとしてのCPUを用いておこなうことを特徴とする付記1~3のいずれか一つに記載の画像圧縮方法。付記5圧縮する画像データについて、画面全体を複数のブロックに分割し、前記分割後の小ブロックが有する画素数を前記スレッド数に対応させることにより、前記複数スレッドの同時並行処理をおこない前記同一色連続長さを求めることを特徴とする付記1~4のいずれか一つに記載の画像圧縮方法。付記6前記画像データの圧縮は、前記同一色連続長さの情報に基づき、画面全体で最も出現する色をバックグラウンドとして求めた後、前記同一色連続長さの情報に基づき、前記バックグラウンド以外の色について、面積最大となる矩形の色と大きさと位置を求めることを特徴とする付記1~5のいずれか一つに記載の画像圧縮方法。付記7前記バックグラウンドが求められた際に当該バックグラウンドの色をエンコードし、前記面積最大となる矩形が求められた際に当該矩形の色と大きさと位置をエンコードすることを特徴とする付記6に記載の画像圧縮方法。付記8圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮するマルチコアのプロセッサを含むことを特徴とする画像圧縮装置。付記9前記プロセッサは、各画素の色が複数スレッドの同時並行処理によりそれぞれ検出された1列の画素の並びを格納するメモリに対するアクセスを連続したアドレスを順次読み取ることにより、前記同一色連続長さをカウントすることを特徴とする付記8に記載の画像圧縮装置。付記10前記プロセッサは、同一色連続長さを求める、スレッドの並列処理可能な第1のプロセッサと、前記画像データを圧縮する第2のプロセッサとを含むことを特徴とする付記8に記載の画像圧縮装置。付記11前記第1のプロセッサは、GPUであり、前記第2のプロセッサは、CPUであることを特徴とする付記10に記載の画像圧縮装置。付記12クライアントから受信した操作コマンドに基づき、圧縮する画像データについて、各画素の色を複数スレッドの同時並行処理によりそれぞれ検出し、1列の画素の並びにおける同一色連続長さを求め、前記同一色連続長さの情報に基づき、前記画像データを圧縮し、前記クライアントに送信するプロセッサを含むサーバと、前記サーバに対し前記操作コマンドを送信するごとに、前記操作コマンドに対応した圧縮された画像データを受信し、当該画像データをデコードして画面表示するクライアントと、を含むことを特徴とするシステム。付記13前記画像データは、クライアントが表示するデスクトップ画像であることを特徴とする付記12に記載のシステム。"