OpenML 概要

Language Translation courtesy of RealVision Inc.

OpenML 動的メディア編集のための標準

OpenML

OpenMLは、キャプチャ、2D/3Dグラフィックス及びオーディオ/ビデ・ストリームを含むデジタルメディアの転送、処理、表示及び、同期を行うための、ローヤリティフリーのクロスプラットフォーム・プログラミング環境です。OpenML1.0は、プロフェッショナル・グレードのサンプルレベルのストリームの同期や、ビデオ処理を高速化するためのOpenGLエクステンション、MLdcプロフェッショナル表示制御API、アプリケーションと処理ハードウエア間の非同期なメディアストリーミングのためのMLフレームワークを定義します。

OpenML1.0仕様書と1.0 SDKのダウンロード


OpenMLとは何か?

OpenMLは、デジタルメディア(2D及び3Dグラフィックス、オーディオ、ビデオ処理、I/Oネットワーキング)を取り込み、転送し、表示し、同期するためのクロスプラットフォームの標準プログラミング環境です。いかなる開発者も、会社も、自由にOpenML仕様書及びSDKをダウンロードし、完全に使用量、ローヤリティあるいはライセンスの無いOpenMLを使用した製品を開発し、出荷することができます。

OpenMLを使用した際の開発者の利点

OpenMLホワイトペーパーとOpenML SDKビギナーズガイド

複数プラットフォームに対応した、動的メディア編集及び再生に関連した問題点と、それらをOpenMLフレームワークによりどのように対応されるのか?

ビデオ制作に従事するか、ゲーム開発を行っているか、対話型のディスクを作っているかに係らず、コンテンツ・クリエータは、現在多くの異なるベンダーから供給される異なるAPIやツールを使用せざるを得なくなっており、これら複数のアプリケーションとハードウエア周辺機器を、効率良く結び付けて運用することが必要です。

同様にアプリケーション開発者は、このような状況において、システム内の多様なハードウエア部分にアクセスするために使用するAPIに関し、幾つかの大変難しい決定をしなければなりません。このような仕事のほとんどは、ハードウエア及びオペレーティング・システムに依存し、且つ必要な性能を得るためには、手作業による最適化が必要とされます。

OpenMLのゴールは、この状況を改善することにあります。OpenMLは、複数のプラットフォーム、オペレーティング・システム、ハードウエア・デバイス、ソフトウエア・アプリケーションにまたがるインターオペラビリティのための一般仕様を提供します。このような標準の存在は、コンテンツ開発者が、アプリケーションやハードウエアを組合せ、再生中に利用できるか出来ないか分からないようなハードウエアを考慮することなく、彼らのマルチメディア・コンテンツを開発することを可能にします。アプリケーション開発者が、アプリケーション開発に、より多くの時間とエネルギーを注ぐことができるようにし、デバイス制御や同期、バッファリング問題などの「雑事」に費やす時間を短縮します。 また、それぞれの動作環境における、ビデオやグラフィックス、オーディオの異なるAPIを処理するという、厄介な仕事からも解放されることになります。

OpenMLは、検証済みのテクノロジーを使用した、インテグレーションから制御プログラムに至る、明確なソリューションを提供します

OpenGL How it Works


OpenMLプログラミング環境のアプリケーション・プログラマーからの見え方

下図は、プログラマーから見た場合のOpenML環境の主要な部品を表しています。青い背景で示された部分は、既存の部品であり、OpenMLプログラミング環境が、どのような方法でアクセスされた場合でも変わりません。赤い背景の部分は、OpenMLで新たに導入された部分です。

Applications
Window
System

OpenGL
OpenGL
Extensions
MLdc
ML
Synchronization
2D & 3D graphics, Displays, Video, and Audio

Window System
この領域では、クロスプラットフォームの標準化の実現を図るよりも、OpenML環境は、もともとのWindows環境と単に共存する方式を取っています。

OpenGL
OpenGL は、2Dイメージングや3Dグラフィックスを行うための主要なクロスプラットフォームAPIであり、OpenGLのコア部分が、OpenMLにより変えられるようなことはありません。

OpenGL Extension
OpenGLの拡張部分は、レンダリング性能や品質を改善し、ビデオ形式をより扱いやすくするために、システムの他の部分との同期を行うための機能を実現します。各兆部分には、以下のものが含まれます。

MLdc 表示制御
OpenML表示制御APIMLdc)は、ビデオ出力デバイスを制御するためのパラメータを初期化し、セットし、変更するインタフェイスを提供します(すなわち、ガンマ補正テーブルをセットし、ゲンロック通知を供給し、ビデオ形式をロードし、ビデオ出力のゲインをセットし、ペデスタル・レベルをセットし、垂直ゲンロック・フェーズを変更するなど)。ビデオ出力デバイスは、ビデオ出力ポートから出力されるビデオ・ストリームを生成し、制御します。このビデオ・ストリームは、通常直ちに一般的なモニタ上に表示されるものを意味します。MLdcにより制御されるビデオ出力デバイスは、通常のWindowシステムにより認知されているかどうかは分かりません。MLdcはまた、モニターとの間でコマンドを送受信することのできる機能を持っています。

ML デジタル・メディア I/O
は、OpenMLプログラミング環境における、デジタル・メディアI/O、デジタル・メディア・データ変換及びデジタル・メディア同期機能へのアプリケーション・プログラミング・インタフェイスを提供します。MLは、OpenGLがローレベルのAPIであると考えられているのと同様の意味でローレベルAPIということが出来ます。小さなやり方を強いるという方法で、基本となるハードウエアの能力を明らかにします。

MLの主要な機能は、以下の通りです。:

オーディオ、ビデオ及びグラフィックスの同期
以下は、正確なタイミングと情報の同期を提供するシステムの機能である。Unadjusted System Time (UST)は、システム全体をとおして使用可能な、単調増加する64ビット高精度カウンターです。さらに、OpenML環境内のそれぞれのメディア・デバイスは、Medial Stream Counter (MSC)を持つことが必要とされます。MSCは、そのデバイスのために発生するそれぞれのメディア・イベントごとに増加します。

ライセンシングとOpenML
OpenMLの開発と仕様に関しては、3つのレベルの参加方式が用意されています。

  1.  アプリケーション開発者 - いかなる開発者も企業もOpenMLの機能をハードウエア製品あるいはソフトウエア製品に組み込むため、OpenML仕様及びSDKを無償で使用することが出来ます。OpenMLは、クロスプラットフォーム対応、無償、オープン標準であり、開発者は、料金なし、ローヤリティなし、ライセンス無しで、OpenMLを使用した製品を開発し、出荷することが出来ます。
  2.  コントリビューター - オープン・メンバーシップ、最小の年会費、ワーキング・グループへの参加及び投票が可能
  3.  プロモーター - 本グループの創設者、Khronosの組織を運営し、OpenML標準を策定し、最終裁可の投票権を持つ

まとめ

OpenMLは、ハードウエア及びソフトウエア供給者のためのデジタル・コンテンツ市場の成長を可能にするキーテクノロジです。OpenMLは、アプリケーション開発者が、価値提案に集中できるようにし、開発した製品が新たなプラットフォームに移行することを容易にし、現れたビジネス・チャンスから迅速に対価を得ることを可能にします。

Language Translation courtesy of RealVision Inc.