更新履歴
2009.11.10 ソフトウェア高速化専用ページを開設しました。
ソフトウェア最適化
ソフトウェアの最適化とは、そのソフトウェアを動作実行の対象となるハードウェア上で「より速く」することです。 弊社では、データ量/計算量の多いプログラムをターゲットにしてその処理速度の高速化を面に研究開発を実施しています。
ソフトウェア最適化の意義
現在、ハードウェアの世界としては高速且つ豊富なリソースが十分に提供される時代となってきました。一方、ソフトウェアも、写真/動画像などはデジタルデータとして の圧縮技術の向上に伴い、高精細を保ったまま圧縮する技術が発達してきました。しかし、高性能・高画質となればなるほど、計算量、データ量が益々増えてきていることは事実です。 さらにこの様な相乗効果をもたらす為には、それ相応の処理ソフトウェアが必要になってきました。そこで、このソフトウェアを開発するための技術として、最適化の技術が必要 になっています。
ソフトウェア最適化の方針
方針としては、最初に大枠の方向性を作成しから個々にその効果を測りながら幾つかの段階を以って最適化な解へ向けての開発を進めていきます。以下に、高速化の可能性
を図る観点を一部示します。
- 動作対象のアーキテクチャに対する効果性は?
- 動作対象のリソースに対する効果性は?
- アルゴリズムから動作対象のアセンブラ化の有効性は?
- アルゴリズムからデータの縮小の可能性があるか?
- アルゴリズムから並列処理の有効性は?
他、様々な観点から、高速化の可能性を取捨検討していきます。
これらの検討を十分に行い、適用した場合の性能向上率を見積りながら、確実に効果を上げて行きます。 今まで開発したソフトウェアは、MPEG-2デコーダ、H.264デコーダ、JPEG2000デコーダなどがあります。
