著者
ノジク ヴァンソン 石川 尋代 フランソワドゥソルビエ
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告コンピュータビジョンとイメージメディア(CVIM) (ISSN:09196072)
巻号頁・発行日
vol.2008, no.36, pp.263-286, 2008-05-01

CPU とは異なり GPU でできることは増加し続け,画像処理に対して想定以上の性能を発揮している.実際に GPU は主にコンピュータグラフィックスのアプリケーション用に設計されており,2D テクスチャや 3D 処理を非常に効率よく行うことができる.こういった能力はリアルタイム画像処理やコンピュータビジョンのアプリケーションソフトウェアの速度向上に適している.また,初期のシェーダー言語に比べて,最新版のシェーダー言語はよりいっそう簡単に使用できるようになっている.しかしながら,GPU を効率よく使用するためにはいくつかのシェーダー基礎知識が必要とされている.本稿では画像処理とコンピュータビジョンにおけるシェーダーの使い方の概要を記述する.本稿では,はじめに,コンピュータグラフィックスのレンダリングパイプラインとシェーダーの一般概念を詳細に述べる.この部分は現存するシェーダー言語の概要,特に GLSL の詳細な記述でもある.これらの解説にはシェーダープログラミング,さらに,シェーダーの読み込みとコンパイルに関する部分も含まれる.ここではシェーダーは特別なプログラム設計となっていることを理解することが目的である.次に,画像処理とコンピュータビジョンに関するいくつかの実用的なアプリケーションを提供する.これらの章では特に色操作,幾何的アプリケーション,さらにバーチャルリアリティや一般的な目的のための GPU 使用方法を扱う.そして,最後に,技術的,理論的なアドバイスとともにシェーダーの導入方法を提供する.Contrary to CPU, GPU capability continues to increase and reaches unexpected performances for image processing tasks. Indeed, GPU is mainly designed for computer graphics applications and can deal with 2D texture or 3D operations very efficiently. These abilities are well suited to speed up real-time image processing and computer vision applications. Contrary to the first generations of shaders, the latest shaders languages become more and more easy to use. However, some basic knowledge about shaders is required for an efficient use of the GPU. This paper presents an overview of how to use shaders for image processing and computer vision. The first part details the computer graphics rendering pipeline and shaders generalities. This part also overview the existing shader languages and especially details GLSL. These explanations include shaders programming but also the shader loading and compilation. This part aims to underline that shaders require a specific program design. Then, this paper presents some practical applications related to image processing and computer vision. These sections especially deal with colour manipulation, geometric applications but also with virtual reality and general purpose GPU methods. Finally, this document provides a part on how to start with shaders, including technical and theoretical recommendations.