1040 : Jitter
1.5の新オブジェクト&新機能
: 赤松正行
------------------------------------------------------------------------
DSPマガジン 2005.10.03 No.1040
------------------------------------------------------------------------
前回にもお伝えしましたが、Jitterがバージョン1.5となり、さまざまな機能が追加されました。Cycling'74社の方針のようですが、これまでのMax/MSPはバージョン0.5刻みで屋台骨の大幅に刷新や実用的な機能を追加が行われてきています。Jitterも同じく1.0(〜1.2)に比べて、1.5は最早後戻りできない程に魅力的な機能が満載です。Jitterにとって最初の有償バージョンアップとなるだけに、気合いが入っているようです。といった前口上はほどほどにしておいて、早速Jitter
1.5で拡張された機能やオブジェクトを見ていきましょう。
------------------------------------------------------------------------
Jitter
1.5の新オブジェクト&新機能
赤松正行
まずは、Jitter
1.5のWEBサイトから抜粋する形で、Jitter
1.5の特徴をササっと眺めておきます。
パフォーマンスの向上
-
GPUハードウェア・アクセラレーション/クロスプラットフォーム・アーキテクチャ
-
YUV 4:2:2
(UYVY)に対応
-
マルチプロセッサー対応
ネットワーク対応
-
RTSPストリーミング
-
非圧縮マトリックスのストリーミング
プログラミング
-
JavaとJavaScriptに対応
-
エクスプレッションズ(関数)に対応
相互接続
-
Direct X
ビデオ入出力対応
-
FreeFrameプラグイン対応
-
Flashとの親和性の向上
-
MSPとの親和性の向上
その他
-
関数からのノイズやパターンの生成
-
ハイダイナミックレンジ画像に対応(OpenEXRフォーマット)
このリストだけでもクラクラしちゃうくらいに盛り沢山な内容ですね。以下に全文があります。
http://www.cameo.co.jp/products/cycling74/jitter15.html
次にJitter
1.5のリリース・ノートの日本語訳をお届けします。もちろん新しいオブジェクトも魅力的ですが、既存のオブジェクトに新しく追加された機能もチェックしておくと良いですよ。例えば、jit.qt.movieやjit.qt.grabに追加されたuniqueアトリビュートを用いれば、これまで新しいフレームだけを得るために使っていた(そして処理負荷が高かった)jit.changeを使わずに済みますね。そんなちょっとした、でもとっても役立つ機能を見つけることができます。
この日本語訳にはJitter
1.5.1のリリース・ノートも含まれていますが、バグ・フィックスに関する情報は省略しています。原文は「jitter_release_notes.txt」です。間違いや勘違いがあれば教えてくださいね。
__________________________________________
Jitter
1.5.0 --
2005年07月25日
__________________________________________
新しいオブジェクト:
-
jit.argb2ayuv:
カラー変換。
-
jit.argb2grgb:
カラー変換。
-
jit.argb2uyvy:
カラー変換。
-
jit.ayuv2argb:
カラー変換。
-
jit.ayuv2luma:
カラー変換。
-
jit.ayuv2uyvy:
カラー変換。
-
jit.bfg:
手続型のテクスチャーやジオメトリーを作るための基本的な関数ジェネレータ。
-
jit.broadcast:
LiveMediaによってrtspストリームをブロードキャストする。
-
jit.buffer~:
バッファーの内容をマトリックスとして扱う。
-
jit.catch~:
オーディオ・シグナルをマトリックスのフレームに変換する。
-
jit.dx.grab: Direct
Xによるビデオ入力、jit.qt.grabと同等
(Windowsのみ)。
-
jit.dx.videoout: Direct
Xによるビデオ出力、jit.qt.videooutと同等
(Windowsのみ)。
-
jit.expr:
マトリックスの演算、関数、Jitterオブジェクトの式の評価。
-
jit.freeframe:
freeframeプラグインを用いる。
-
jit.gencoord:
連続したデカルト座標値でマトリックスのセルを埋める。
-
jit.gl.graph:
OpenGLによってマトリックス・データをバーグラフとしてレンダリングする。
-
jit.gl.isosurf:
容量データによる3次元の等高表面の生成。
-
jit.gl.mesh:
拡張情報(接線、従法線など)によってジオメトリ・オブジェクトを作るための新オブジェクト。
-
jit.gl.shader:
ハードウェア・アクセラレーションによる頂点シェーダーとフラグメント・シェーダーを読み込み、適用する。
-
jit.gl.slab:
画像処理を初めとするGPU上での汎用的なデータ処理。
-
jit.gl.texture:
新しい信頼性の高いテクスチャ・オブジェクトで、UYVY対応、矩形テクスチャ、異方性フィルタリング、複数テクスチャのブレンド・モード、浮動小数点テクスチャ、テクスチャ圧縮などを含む。
-
jit.gl.volume:
3次元テクスチャーによって物体(塊)を視覚化する。
-
jit.graph:
マトリックス・データをバーグラフとしてレンダリングする。
-
jit.grgb2argb:
カラー変換。
-
jit.luma2ayuv:
カラー変換。
-
jit.luma2uyvy:
カラー変換。
-
jit.net.recv:
ネットワークを通じてマトリックス・データを受信する。
-
jit.net.send:
ネットワークを通じてマトリックス・データを送信する。
-
jit.normalize:
マトリックス・データをノーマライズする。
-
jit.openexr:
OpenEXR形式の画像を読み書きする(浮動小数点HDR(High
Dynamic
Range)や任意のカラー・チャンネルを含む)。
-
jit.plot:
マトリックス・データを散布図としてレンダリングする。
-
jit.qt.broadcast:
QuickTimeによるrtspストリームをブロードキャストする(Macのみ)。
-
jit.release~:
マトリックスのフレームをオーディオ・シグナルに変換する。
-
jit.uyvy2argb:
カラー変換。
-
jit.uyvy2ayuv:
カラー変換。
-
jit.uyvy2luma:
カラー変換。
新しい機能:
-
グラッフィック・カードへの高速な映像転送に適したUYVY形式のカラーモードをサポート(jit.qt.movie,
jit.qt.grab, jit.dx.grab, jit.gl.videoplane, jit.gl.texture,
jit.gl.slab)。
-
マルチ・プロッセッサーをサポート。
-
Javascriptとの統合。
-
Javaとの統合。
-
Functor(関数記号)の使用
(jit.bfg、jit.exprおよびC言語、JavaScript言語、Java言語から利用可能)。
-
Jitterオブジェクトでのpattrのサポート。
-
jitlibにおいてマトリックス・コピー処理を書き換え、32K以上の行や列を持つマトリックスに対応。
-
jitlibにおいて新しいimportattrsとexportattrs処理を備え、オブジェクトの状態をXMLとしてインポートとエクスポート可能。
-
jit.gl.*においてjit.gl.textureによって複数テクスチャーに対応。
-
jit.gl.*においてshaderアトリビュートを追加。
-
jit.gl.*においてビューに合わせた変換を指定するviewalignアトリビュートを追加(スプライトやビルボードに有用)。
-
jit.gl.nurbsに閉じた表面を指定する新しいclosedアトリビュートを追加。
-
jit.gl.renderに新しいprimitiveアトリビュートを追加。
-
jit.gl.renderはオプションとしてAppleの汎用フラグメント・プログラム・ソフトウェア・レンダラーを使用可能(通常のソフトウェア・レンダラーよりも処理は遅い、Macのみ)。
-
jit.gl.renderに新しくpxelformatアトリビュートと浮動小数点実数によるカラー・バッファを追加。
-
jit.gl.renderは内部的にjit.gl.textureを使用する。usetextureによって設定されたテクスチャーへメッセージを送るにはsendtextureメッセージを用いる。
-
jit.gl.text2dはフォント・キャッシュのリサイズが可能になった。
-
jit.gl.text3dはmatrixoutputが可能になった(Macのみ)。
-
jit.matrixにexprfillメソッドを追加。
-
jit.matrixに新しいopメソッドを追加。
-
jit.matrixはcharに変換される時に浮動小数点実数を0から255にクリッピングするようになった。
-
jit.matrixはslabによってGPUで処理されたテクスチャー・データをCPUに読み戻せるようになった。
-
jit.opは実数でのmodulo、fold、wrapの演算が可能になった。
-
jit.peek~/jit.poke~に新しいnormalizeアトリビュート値を追加し、シグナルをディメンジョンの全域で0から1の値として扱う。
-
jit.pwindowはmouseidle時の情報出力が可能になった。
-
jit.pwindowはcharへ変換時に浮動小数点実数を0から255までの値にクリッピングするようになった。
-
jit.pwindowはUYVY形式をサポート。新しいcolormodeアトリビュート値としてargbまたはuyvyを用いることができる。
-
jit.qt.grabはdfg_offsetアトリビュートを追加、
DFGデバイスの垂直オフセットを設定できる。
-
jit.qt.grabはデバイスを開いたり閉じた時の検出が可能になった。
-
jit.qt.grabのvmode
1と2において、最も新しくバッファリングされたフレームだけを出力するようになった。それ以外のバッファリングされたフレームは破棄される。これによって多少は映像の応答性が改善される。フレーム欠落が起きた場合には、dumpoutアウトレットから破棄されたフレーム数が続くdropreportメッセージが出力される。vmode
1におけるフレーム欠落のレポートはおそらく僅かながら正確である。
-
jit.qt.grabはインターレースされた元画像をJitterに伸張する前にインターレース解除する(例えばDVのようなこの機能をサポートしているデバイスにおいて、新しいsinglefieldアトリビュートは、この機能を無効にする)。
-
jit.qt.grabに異なるフレームだけを出力するuniqueアトリビュートを追加。
-
jit.qt.grabのvmode
1モード(vdig)を改善。
-
jit.qt.movieにasyncreadとasyncimportのメッセージを追加。
-
jit.qt.movieでFlashをサポート(マウスやキーボードのイベントの送信、ActionScriptの変数の設定と読み出し)
-
jit.qt.movieに新しくtimecodevisアトリビュート(読み出しと設定)、timecodeinfoアトリビュート(読み出しのみ)、timecodeアトリビュート(読み出しのみ)を追加。タイムコードがあれば、そのトラックへのアクセスや表示を行うことができる。
-
jit.qt.movieは、新しいeditmodeアトリビュートによって、編集やメモリへの読み込みにおいてQuickTimeユニットではない異なる時間単位を用いることができる。0=QuickTimeユニット(デフォルト)、1=ミリ秒、2=フレーム数、3=真のフレーム数。
-
jit.qt.movieのexportメッセージは、コーデックを選択するために2つのシンボル・アーギュメントを追加(名称およびダイアログのフラグ)。さらに、codecqualityアトリビュートに加えて、codecアトリビュートとacodecアトリビュートが追加され、exportメッセージによる処理において、これらの設定を用いるようになった。
-
jit.qt.movieに新しいフレームだけを出力するuniqueアトリビュートを追加。
-
jit.qt.movieのreadurlに非同期読み出しを追加。
-
jit.qt.movieにフレーム欠落の通知を追加。
-
jit.qt.movieに新しいコーデック管理を追加。
-
jit.windowにハードウェア補間による高速なスケーリングとモード・テクスチャによるUYVY形式をサポート。fast
scaling with HW interpolation and uyvy support via mode texture.
これは新しいmodeアトリビュートの値であるauto/texture/drawpixels/noaccelを使って設定する。
デフォルトであるautoの場合は、colormodeアトリビュートはuyvyに、iterpアトリビュートは1に設定される。
-
jit.windowはmouseidle時の情報出力が可能になった。
-
jit.windowはUYVY形式をサポート。新しいcolormodeアトリビュート値としてargbまたはuyvyを用いることができる。
__________________________________________
Jitter
1.5.1 --
2005年08月21日
__________________________________________
新しい機能:
-
新しいJitterGUIUtils.jsと関連するサンプル・パッチを「jitter-examples/javascript/ui」に追加。
-
Jitter3DUtils.jsにray/quad交差と回転変換を追加。
-
jit.gl.sketchにJavaScriptのためのgetcameraメッセージを追加。
-
jit.qt.movieに新しいadaptアトリビュート値を追加(ムービーの大きさに基づく自動サイズ調整)。
-
jit.qt.movieに新しい"preroll"アトリビュート値を追加(再生時や停止時に非同期でムービーの一部をメモリにキャッシュ)。
-
jit.qt.videooutに新しいcolormodeアトリビュート値を追加(argb/uyvy)。
------------------------------------------------------------------------
メルマガの発行確認や購読中止は、DSPマガジンWEBサイトをご覧ください。
http://dspmag.iamas.ac.jp/
------------------------------------------------------------------------
Copyright(C)2003-2005
DSP Magazine. All Rights Reserved.
転送・転載禁止
------------------------------------------------------------------------