※画面を横にするとパソコン版のレイアウトでご覧いただけます。
 正しく表示されていない場合は横向きでご覧ください。
  1. HOME
  2. DirectX APIとは

DirectX APIとは

産業用カメラとフレームグラバーボード用

数多くの産業用カメラキャプチャデバイス(画像入力ボード・フレームグラバーボード・キャプチャーカード)にDirextShow対応の製品が多いことから、DirectX及びDirectShowの概要を簡単に解説します。あくまで内容を簡単に解説したものですので、詳細はご確認ください。

DirectXとは

DirectX API
DirectX Microsoftが開発したWindows APIの1つで下記の主なコンポーネント群から構成される
DirectGraphics グラフィックス・コンポーネントで二次元/三次元グラフィックやテキストの描画
DirectDrawや3D、2D、Writeなど主に4つのAPIからなる
DirectInput キーボード、マウス、ジョイスティックなどの入力処理コンポーネント
DirectAudio 音声の再生と処理を行サウンドコンポーネント
DirectSound、3D、Musicなど3つのAPIからなる
DirectPlay ゲーム用のネットワークコンポーネント
DirectMedia マルチメディアストリーム・動画の再生と処理コンポーネント
DirectAnimation、DirectShow、Transformなど3つのAPIからなる
DXVA DirectX Video Accelerationは動画処理のAPI
DirectShowの一部から独立したもの
Media Foundation 最新のマルチメディアに対応したAPIでDirectShowがこれに置き換わる予定
DirectX

"DirectX"の起源は、Windows環境においてコンピュータ資源を独占するゲーム等を走らせるためのプログラム開発として始まり、1994年「WinG」 という形で公開される。その後マイクロソフトにWinGの思想を引き継ぐ"DirectX"の開発チームが発足し"GameSDK" として公開が始まる。 "DirectX"の根幹である"DirectDraw"はPCのビデオボードを調べ、そのボードに搭載された処理はボードのハード に任せ、ボードに無い機能はソフトウェアーがカバーする(エミュレーションソフトウェア)。
また、"DirectInput"はジョイスティックなどの入力に、"DirectSound"と"DirectMusic"はサウンドと音楽関連を担い、"DirectPlay" はネットワーク関係を担当、そして"DirectShow"がマルチメディア・ストリームの再生記録を行える等、現在のDirectXは様々な機能を備えたAPIの集合体へ発展している。
アプリケーションを作成するにあたって知っておきたいのは、まずDirectXのコンポーネントが"COM"(Component Object Model)で書かれていることである。 Windows環境において.NETやC++、Delphi、Javaなど様々なプログラミング言語があるが、共通性がなくそれぞれ独自のビルディング過程を経てマシン言語へ落され、C++で作成したアプリケーションを.NETのプログラムが使うとことはできない。この"COM"とは.NETのプログラムからも、C++のプログラムからでも共通のファイルとしてアクセスできるような構造になっている。"COM"が可能にしたことは、あらゆるバイナリレベルのプログラムが利用可能なバイナリレベルのプログラムを作ることである。つまり、どの様なプログラミング言語を使ってアプリケーションを作ろうとCOM形式で作成された"DirectX"へは自由にアクセスすることができる。

DirectShowとは

DirectShow COM
DirectShow
DirectShowはDirectX APIのDirectMediaに属するもので、マルチメディアストリームの取り込み処理を行うマルチメディアフレームワークとAPIからなり、Video for Windowsの後継にもなっている。COM形式で作成されており様々なプログラミング言語に共通のプラットフォームとして公開している。DirectShow APIでは、ストリームをひとつのオブジェクトで処理するのではなく、複数のオブジェクトを組み合わせて処理する。ここでストリーム処理する個々のオブジェクトを"フィルタ"と呼ぶ。フィルタには入力と出力があり互いに組み合わせることができる。入力や出力のことを"ピン"と呼び、フィルタは入力ピンから受け取ったデータを加工し出力ピンへ流す機能をもつ。各フィルタは大きくは下記の3つに分類される。
データ→フィルタ→加工後のデータ
【1】ソース:元々の画像データやカメラ等のハードデバイス
【2】処理:データの変換処理
【3】レンダラ:最終的な出力デバイス
Media Foundation
Windowsでマルチメディアストリームを扱うためのもの。DirectX10.0以降から公開され、HDTVなど高精細ストリームへの取り込み・再生処理対応やコンテンツ保護、著作権保護を中心にWindows7より強化される見込み。
Windows Protected Media Path、Windows Media Player & Format SDK、DXVAもMedia Fundationを利用しこれからのマルチメディア配信と映像処理を意識した構成であることから、DirectShowも徐々にMedia Foundationに置き換えられる予定。
  1. HOME
  2. DirectX APIとは
ページ上部へ戻る