SDK
WonderLook SDK
WonderLookProの色管理、LUT関連機能を、他のソフトでもお使いいただけるようにするため、SDKを用意して提供しています。SDKを使用することで、WonderLookProの様々な色変換やLUT関連の機能を、別のアプリケーションに組み込むことができます。SDKはWindows版とMacOS版を提供しています。
SDKの主な機能
WLP_SDKを組み込むことで、下記の機能をアプリケーションに用意に実装することができます。
Category |
機能 |
例 |
色空間変換(LUTによる) |
モニター色空間Aからモニター色空間Bへの変換 |
SDR to HDR, HDR to SDRなど。OOTF有無も選択可能。 |
カメラ色空間相互、またはカメラ色空間とモニタ色空間の変換 |
代表的なカメラ色空間であるSLOG, LogCだけでなく、種々のカメラの測定結果に基づくカメラ色空間を用いた変換が可能。 |
|
レンダリングの選択 |
色空間変換に加え、OOTFなどのレンダリングを加えることも可能。レンダリングは、ACES色空間で定義されているため、どの変換にも共通に適用可能。 |
|
GUIによる色空間設定 |
WonderLookProで使用しているGUIを用いて、入出力色空間およびレンダリングを選択することが可能 |
|
LUT管理機能 |
入力変換、出力変換のLUTの生成 |
指定されたグレーディングスペースへの入力変換、出力変換のLUTを生成 |
レンダリングのLUT生成 |
グレーディングスペース入出力のレンダリングLUTを生成 |
|
LUTの結合 |
複数のLUTを結合して一つのLUTにするこ |
|
LUTの補間計算 |
RGB値を入力し、LUT処理後のRGB値を得る |
|
LUTのシステムトーンカーブグラフ生成 |
LUTの特性を示す、システムトーンカーブグラフの生成 |
|
LUTバイナリの取得 |
SDKが管理しているLUTのバイナリを取得 |
|
.cubeファイル書き出し |
.cubeファイルとしてLUTをExportする |
SDKの利用環境
本SDKは、WonderLookProのライセンス状況により、利用可能な機能が制限されます。Standardライセンスが有効なPCでは全機能が利用可能となります。有効なライセンスが存在しないPCでは、3DLUTの格子点の数が限定されるなどの機能制限があります。
カメラ関連のLUTはTVLogicのサーバーからインターネット経由でダウンロードして利用します。
レンダリングを利用するには、WonderLookProをインストールし、レンダリング情報をダウンロードしておく必要があります。
ライセンス |
3DLUT Grid数 |
カメラ色空間使用時のLUT |
No License |
5 |
すべてのカメラはGrid数5 |
Free License |
9 |
Grid数9で利用可能なカメラは1機種のみ。他のカメラはGrid数5で利用可能。 |
Entry License |
17 |
Grid数17で利用可能なカメラは3機種のみ。他のカメラはGrid数5で利用可能。 |
Standard License Corporate License |
66 |
利用可能なカメラに制限なし。 |
SDKの機能を確認いただくために、サンプルアプリケーション(WLP_SDK_SampleApp)をソースコード付きで提供しています。このアプリを使ってSDKの機能を説明します。
WLP_SDK_SampleAppのメイン画面
アプリケーションは下記の7つの領域に分かれています。
Number |
Content |
使用API ()内は未使用 |
|
1 |
License Information |
SDKの初期化を行うとともに、WonderLookProのライセンス情報を取得し表示します。LUTのGrid数など、機能制限も表示されています。 |
WLP_Initialize WLP_GetLicenseInfo |
2 |
Select Parameters for LUTs |
生成する3DLUTのGrid数と、使用するGrading Spaceの選択を行います。 |
WLP_AvailableGradingSpaceList |
3 |
Show Color Space Conversion Dialog |
2のパラメーター設定後、ダイアログを表示して色空間変換の設定を行います。LUTが生成され、そのポインターが戻されます。 |
WLP_CreateLut WLP_RunColorSpaceConversionDlg |
4 |
Parameters of created LUTs |
3で選択された色空間変換のパラメーターが表示されます。このパラメーターを使用することで、3のダイアログを表示せずに、LUTを生成することができます。 |
(WLP_SetInputLutFromName) (WLP_SetOutputLutFromName) (WLP_combineLUT) |
5 |
LUT processed results |
生成されたLUTで処理された結果を表示します。計算されたシステムカーブと、サンプル画像の処理前後が表示されます。 |
WLP_SaveSystemToneGraphImage WLP_InterpolateLut |
6 |
LUT data in Numbers |
ボタン押下により、LUTを構成する数字テーブルをテキストエリアに展開します。LUTを数値として確認することができます。 |
WLP_GetLutBinarySize WLP_GetLutBinary |
7 |
Save to LUT file |
生成されたLUTを.cube形式で保存します。 |
WLP_SaveToCubeFile |
(No GUI) |
終了処理 |
終了処理を行います。 |
WLP_DeleteLut WLP_Uninitialize |
未使用 |
未使用のAPI |
(WLP_GetLutInfo) (WLP_GetGridCount) (WLP_SetGridCount) (WLP_GetShaperLutBinarySize) (WLP_SetInputLutFromName) (WLP_SetOutputLutFromName) (WLP_combineLUT) (WLP_GradingSpaceToXYZ) (WLP_XYZtoGradingSpace) |
基本的なWLP_SDKの使用手順
a. 初期化および終了処理
WLP_SDKは、最初にWLP_Initialize を呼ぶだけで使用準備が完了します。終了手順も、WLP_Initializeを呼ぶだけです。
初期化実行後、WLP_GetLicenseInfo でライセンス情報を確認しておくことをお勧めします。
b. LUTオブジェクトの管理
WLP_SDKはLUTオブジェクトを使用します。メモリ管理はSDKが行いますが、アプリケーションはハンドル管理を行う必要があります。
WLP_CreateLut でLUTオブジェクトを生成します。終了前に必ず、WLP_DeleteLut でLUTオブジェクトを開放して下さい。
生成直後のLUTオブジェクトは無変換の状態ですが、 WLP_RunColorSpaceConversionDlg,WLP_SetInputLutFromName,WLP_SetOutputLutFromName,WLP_combineLUT などを呼ぶことにより、LUTオブジェクト内に適切なLUT情報がセットされます。
適切なLUTがセットされたLUTオブジェクトは、LUTを活用することができます。バイナリ情報を得たり(WLP_GetLutBinary),.cubeファイルに保存したり(WLP_SaveToCubeFile)、補間計算を行ったり(WLP_InterpolateLut)することができます。
c. グレーディングスペースについて
WLP_SDKで色空間変換を行う際は、グレーディングスペースを指定する必要があります。グレーディングスペース自体の説明はこちらを参照して下さい。
グレーディングスペースは、入力変換と出力変換を分離して使用する場合に重要となります。すべてを結合したLUTのみを取り扱う場合は、どれを選んでも関係ありません。
グレーディングスペースを指定する場合は、WLP_AvailableGradingSpaceList により利用可能な空間を取得したのち、その文字列を用いて指定します。
d. 色空間変換ダイアログ
色空間変換ダイアログは、WLP_SDKの中心的機能です。適切なパラメーターをセットしてWLP_RunColorSpaceConversionDlg を呼ぶと、下記ダイアログが表示されます。
このダイアログはWonderLookProのものと同一です。画面説明はこちらを参照して下さい。
Selectボタン押下でパラメーターが確定し、処理がアプリケーションに戻ります。与えられた引数に応じてLUTが設定されるととともに、GUIで選択されたパラメーター情報も戻されます。
サンプルアプリケーションでは、4の領域に戻されたパラメーター情報が表示されています。この情報を保管しておけば、WLP_SetInputLutFromName,WLP_SetOutputLutFromNameを呼ぶことにより、ダイアログを表示することなく、LUTを生成することができます。