ビジュアル情報処理 ch9 ビジュアル情報処理システム

CG検定勉強メモ資格勉強

出典: 

9-1 CGと画像処理の融合

「ビジュアル情報処理」とは、CGと画像処理にまたがる技術

9-1-1 CGにおける画像処理の利用効果

  • モデリング・レンダリングの効率・写実性を高める

    • テクスチャマッピング
    • NPR
    • イメージベーストレンダリング

9-1-2 コンピュテーショナルフォトグラフィ

  • コンピュテーショナルフォトグラフィ

    • カメラの要素をいくつか変化させて撮影し、撮影後のディジタル処理により目的の画像を復元・生成する
  • ライトフィールド撮影

    • 光線の方向、波長、時刻など高次元の情報(ライトフィールド)をすべて記録しておく
    • 撮影後でも焦点や視点の位置を自由に変更できる
  • パノラマ画像

    • カメラの位置や方向を変えながら撮影し、合成
  • HDR画像

    • 露出設定を変えながら撮影し、合成

9-2 ビジュアル情報処理用システム

9-2-1 システムの応用

映画

  • 長い時間をかけてオフラインレンダリングして美しい映像を作り出しておく

テレビ放送

  • バーチャルスタジオ

ゲーム

  • リアルタイムレンダリング
  • これやVRのためにGPUなどのCGハードウェアの発展が促進されてきた

バーチャルリアリティ

  • ライドシミュレータ等

    • 航空機版がフライトシミュレータ
  • 視覚以外の間隔情報も提示することで臨場感を高める

    • モーションプラットフォーム

      • ライドシミュレータで操縦者に物理的なフィードバックを与えるアクチュエータ
    • ほか、聴覚、触覚、嗅覚など

拡張現実感(AR)

  • 光学シースルー方式

    • ハーフミラーを使い、実環境の光を透過させる
  • ビデオシースルー方式

    • 実環境の映像はカメラ越しに見る
  • 空間型拡張現実感方式

    • 実物体の表面に映像を投影

9-2-2 ビジュアル情報処理システムの構成

9-2-3 コンピュータネットワーク

9-3 ビジュアル情報処理用ソフトウェア

9-3-1 ソフトウェアの構成

9-3-2 プログラミング言語

  • C

    • 低レイヤ
  • C++

    • CのOOP拡張
  • Java

    • Webシステム
  • JS

    • Webフロントエンド
  • Python

    • ビジュアル情報処理用ソフトウェアの中のスクリプト言語として使われる

9-3-3 ビジュアル情報処理用APIとシェーダプログラミング言語

API

名称 プラットフォーム/言語 用途
OpenGL/OpenGL ES 種々のOS 2D/3Dグラフィックス用汎用API
DirectX/Direct3D Win, Xbox マルチメディア機能利用
Java3D Java Java用3次元CG用API
WebGL Webブラウザ ウェブブラウザ上で3次元CG
RenderMan 高品質CG制作(映画等)
CUDA/OpenCL/DirectCompute C コンパイラ等含む
OpenCV 種々の言語 画像処理・画像解析

シェーダプログラミング言語

高レベルシェーディング言語 — アセンブリ言語やハードウェアに依存した言語を使わない

  • Cg

    • C for Graphics
    • 2012終了
  • HLSL

    • DirectX用
    • Cgに似ている
  • GLSL

    • OpenGL用

9-3-4 ビジュアル情報処理用アプリケーションソフトウェア

有名どころ

分類 会社名 ソフトウェア名
ドロー系ソフトウェア アドビシステムズ Illustrator
Corel CorelDRAW
(free) Inkscape
ペイント系ソフトウェア アドビシステムズ Photoshop
(free) GIMP
フォーマット変換ソフトウェア (free) ImageMagick
(free) FFmpeg
ビデオ編集ソフトウェア アドビシステムズ Premiere Pro
アドビシステムズ After Effects
アップル Final Cut Pro
3次元CGソフトウェア Autodesk Maya
Autodesk 3ds Max
(free) Blender
3次元CADソフトウェア ダッソー・システムズ CATIA
ダッソー・システムズ・ソリッドワークス Solidworks
Autodesk AutoCAD
ゲームエンジンソフトウェア Unity Technologies Unity
Epic Games Unreal Engine
シリコンスタジオ OROCHI
数値計算ソフトウェア MathWorks MATLAB

9-3-5 3次元モデル記述言語・フォーマット

  • 基本はソフトウェア独自フォーマットで管理される
  • 主要なソフトウェアは標準ファイルフォーマットや記述言語の入出力もサポートしている

インターネット用ファイルフォーマット

  • VRML: Virtual Reality Modeling Language

    • 3次元CGモデルの記述言語
    • スクリプトサポート
  • X3D eXtensible 3D

    • VRML後継・機能拡張版のXMLベースファイルフォーマット

CGソフトウェア用ファイルフォーマット

  • だいたい独自
  • OBJ形式はMaya等多くのソフトウェアでサポートされる

CADソフトウェア用ファイルフォーマット

  • IGES: Initial Graphics Exchange Specification

    • 自動車産業中心にデファクト
  • STEP: STandard for the Exchange of Product model data

    • ISOによる国際規格
  • STL: Standard Triangulated Language

    • CADソフトウェアから出力されるポリゴン用のファイルフォーマット

9-4 リアルタイム3次元CGシステム

9-4-1 3次元CGハードウェア上での処理の流れ

描画パイプライン

  1. 頂点処理
  2. ラスタ化処理
  3. フラグメント処理
  4. フレームバッファ処理

頂点処理

  • ポリゴンデータの各頂点に対して下記を計算し、輝度値を算出する

    • 幾何学/光学的モデルに基づいた計算
    • テクスチャマッピングのための座標計算

ラスタ化処理

  • ポリゴン内部にある全画素に対して輝度値を計算する

    • フォンシェーディング(法線ベクトルの補完)などがここで出てくる
  • フラグメント

    • ポリゴン内部の画素ごとのデータ

フラグメント処理

  • フラグメントの輝度値に対するテクスチャ値の混合など

    • ピクセルシェーダによりプログラミング可能

フレームバッファ処理

  • Zバッファ法による隠面制御
  • アルファブレンディング
  • ダブルバッファ方式によるティアリング回避

9-5 入出力装置

9-5-1 画像入力装置

  • ディジタルカメラ
  • イメージスキャナ
  • ビデオキャプチャ装置

9-5-2 3次元データ入力装置

接触型3次元ディジタイザ

  • アーム先端で触ってフォワードキネマティクス方式で座標計算

レンジファインダ

  • 光を使って三角測量

モーションキャプチャ

  • 磁気式

    • 計測位置に磁気センサを取り付け、磁界を計測
    • 精度は良くない
    • 体の裏側等、見えないところも測定できる
  • 慣性式

    • ジャイロや加速度センサなどを使う
  • 機械式

    • 体の関節角の変化をリンク機構により計測
  • 光学式

    • 再規制反射素材、発光ダイオード、カラーボールなどのマーカーを使う方式
    • 多視点カメラ、距離画像カメラ等で体積を検出する方式

3次元座標入力装置/フォースディスプレイ

  • 2次元座標の入力装置「マウス」の3次元への拡張

関節角入力装置

  • 特定のキーフレームのキャラクタの姿勢をオフラインで入力することを目的とする
  • cf. モーションキャプチャはリアルタイムで動きをキャプチャ

9-5-3 2次元画像出力装置

ディスプレイモニタ

プロジェクタもこのなかま

  • 直視型

    • 液晶
    • 有機EL
    • 電子ペーパー — kindleとか
  • 投影型

    • 液晶
    • DLP: Digital Light Processing

プリンタ

  • 電子写真(レーザプリンタ)
  • 熱転写

    • 溶融型
    • 昇華型
  • インクジェット
  • 銀塩写真(レーザ露光熱現像転写)

9-5-4 3次元データ出力装置

3次元ディスプレイ

なんとかして両目に到達する情報を分離し、視差のある映像を見せる

メガネ方式両目立体視

  • アナグリフ方式

    • 赤青メガネ
    • 単色画像のみ
  • 偏光メガネ

    • カラー可能
  • 時分割シャッタメガネ

    • 視差画像に同期しながらシャッタを開閉
    • 液晶素子などを用いて電気的に駆動
  • 多波長分割メガネ方式

    • アナグリフのフルカラー拡張版
    • RGBR’G’B’ の6色の画像を表示
    • RとR’、GとG’、BとB’は人間には違いを知覚でない
    • 左目はRGB,右目はR’G’B’ のみ見えるように櫛形フィルタでフィルタリングする

メガネなし方式裸眼立体視

  • パララックスバリア方式

    • スリットを用いて左右の目に異なる画像を見せる
  • レンティキュラ方式

    • lenticular: かまぼこ状の凸レンズのこと
    • かまぼこ状の凸レンズを敷き詰めて、左右両目に異なる映像が届くようにする

ヘッドマウントディスプレイ

  • 左右それぞれの眼に専用の表示領域をもうけ、視差のある画像を表示する
  • 透過型/非透過型がある (AR)

3Dプリンタ

2次元断層データを積層していくのが一般的

9-6 画像ファイル形式と記録方式

9-6-1 静止画像ファイル形式

  • ラスタ/ベクタ
  • 可逆/不可逆

9-6-2 映像信号フォーマット

  • インタレース/プログレッシブ
  • 水平同期信号

    • 走査線1本走査したよの合図
  • 垂直同期信号

    • 1枚走査したよの合図

9-6-3 動画像ファイル形式

圧縮方式の規格とフォーマットの規格が存在することに留意する

MPEG-4圧縮形式のQuickTimeフォーマットのMOVファイルなども存在する

9-6-4 文書記述形式

HTMLとか

9-6-5 動画像記録メディア

  • DVD
  • Blu-ray
  • シリコンディスク

    • SDカードなどのこと