グラフィックス画像圧縮技術
エンジニアリングクラウドのために必要な画像圧縮~高速性
ここまでの説明で、エンジニアリングクラウドではロスレス圧縮が必要なことがお分かりいただけたと思います。ところで、今回の圧縮技術でもう1つ重要な点があります。それは高速であるということです。
高速な方がいいということは当たり前と感じるかも知れません。しかしデスクトップ画像転送で使う圧縮は通常のファイル圧縮よりはるかに短い処理時間が要求されます。
例えば、ファイルを圧縮してメールをするような場合、1~2秒であれば普通の人は違和感なく操作すると思います。もちろんファイルサイズにもよりますが、普通のファイル圧縮は数秒で終われば問題ありません。
しかし、エンジニアリングクラウドでは画面が切り替わるたびに画像を圧縮する必要があります。もちろん、画面の変更領域がわずかであれば問題ないのですが、ユーザーが画面スクロールや3Dモデルの回転・ズーム等の操作を行っている場合は画面の大部分が更新されます。人間の視覚では画面のフレームレートが30フレーム/秒以下になるとストレスを感じるようになるといわれていますので、おおざっぱにいって1/30(秒)=約33(ミリ秒)以内で圧縮処理を完了する必要があります。
それでは33ミリ秒程度で圧縮が完了すれば十分かというと、そうではありません。仮に33ミリ秒の圧縮処理が1秒間に30回実行されると圧縮処理だけで1CPUをフルに消費してしまいます。もちろんこのようなことが起きないように、RVECでは更新が連続して発生するときは動画圧縮も組み合わせているのですが、静止画としても時間短縮は大きな問題です。しかも我々がめざしているのは「エンジニアリング」クラウドです。エンジニアリング系のアプリケーションはオフィス系のアプリケーションと異なりCPUを大量に消費することがしばしばあります。このためエンジニアリングクラウドにおける画像圧縮はなお一層の高速化を求められるわけです。
ところが、従来のファイル圧縮などに使われているロスレス圧縮技術はかなりの処理時間を要します。最初に述べたとおり、ロスレス圧縮はデータ出現の法則性を見つけ出そうとします。一般にはデータを最初から見てゆき、パターンを探索しながら辞書のようなものを作って、パターンを辞書で置き換えて圧縮します。ある程度の圧縮率を実現するためには探索を深くする必要がありますが、その分時間がかかってしまい、インタラクティブなデスクトップ転送は難しくなってしまうのです。
このため、従来の画像転送では主にHextile※1と呼ばれる簡易型の圧縮技術を使っていました。これは画像を16X16の小タイルに分割して、その中で画像を単色の矩形の張り合わせとしてとらえるものです。いわばパターンを単色矩形に限定したようなものです。このことにより圧縮にかかる時間は大幅に短縮できますが、CADのような複雑な線が多い画像では途端に圧縮率が悪くなってしまいます。
つまり、エンジニアリングクラウドは、エッジがつぶれないロスレス圧縮で、圧縮率が高くかつ極めて高速な圧縮技術を必要としているのです(図2)。
図2:エンジニアリングクラウドが求める圧縮技術(クリックで拡大) |
[※1] Hextile: VNCで用いられているロスレス画像圧縮方式
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 仮想デスクトップ高速表示技術
- ネットワーク遅延対策技術
- 富士通研究所、通信性能をソフトウェアだけで改善する新データ転送方式を開発
- デスクトップ仮想化最新技術XenDesktop 4 FP1/XenClient
- ヴイエムウェア、デスクトップ仮想化を含む統合ソリューション「VMware Horizon Suite」を発表
- 富士通研究所、スマートフォンを安全に業務で利用できるアプリケーション実行基盤技術を開発
- GPUコンピューティングのNVIDIA、OpenStackでの利用拡大を狙う
- Unite 2017レポート ~産業分野の3Dコンテンツ開発最前線~
- 富士通とシトリックス、仮想デスクトップサービス「VCC」を発表
- エンジニアとデザイナの架け橋となるMicrosoft Expression(デザイナ視点)