イメージ、オーディオ、およびビデオ・エクステンダー 管理およびプログラミングの手引き

属性の取り出し方と使用法

画像や、音声、ビデオのオブジェクトをデータベースに保管すると、エクステンダーによって、そのオブジェクトの属性も同時にデータベースに保管されます。 オブジェクトを更新すると、エクステンダーはそのデータベースに保管されているオブジェクトの属性も更新します。 これらの属性は、照会で使用することができます。

エクステンダーは、ユーザーが管理する属性ごとに UDF を作成します。 したがって、SQL ステートメントに UDF を指定することによって、オブジェクト属性をアクセスし使用することができます。 次の表 に、エクステンダーが使用する属性とその UDF を示します。 さらに、各属性に対するオブジェクト・タイプも示します。 オブジェクトの形式やファイル名など、一部の属性は、すべてのオブジェクト・タイプに共通です。 これらの属性は、画像、音声、およびビデオのオブジェクトに対応しています。 サンプリング率や圧縮タイプなどの属性は、音声やビデオなどの特定のオブジェクト・タイプに固有のものです。

表 6. DB2 エクステンダーによって管理される属性
属性 UDF イメージ オーディオ ビデオ
オブジェクトが保管されているサーバー・ファイルの名前 Filename o o o
オブジェクトを保管した人のユーザー ID Importer o o o
オブジェクトが保管された日付と時刻 ImportTime o o o
オブジェクトの大きさ (バイト単位で) Size o o o
オブジェクトを最後に更新した人のユーザー ID Updater o o o
オブジェクトが最後に更新された日付と時刻 UpdateTime o o o
オブジェクトの形式 (たとえば、GIF や MPEG1) Format o o o
オブジェクトの注釈 Comment o o o
オブジェクトの高さ (ピクセル単位で) Height o o
オブジェクトの幅 (ピクセル単位で) Width o o
オブジェクトの色数 NumColors o
オブジェクトのサムネール・サイズの画像 Thumbnail o o
音声のサンプルごと、またはビデオの音声トラックのサンプルごとの、戻されるバイト数 AlignValue o o
各サンプルを表すのに必要なビット数 BitsPerSample o o
記録されているチャネルの数 NumChannels o o
所要時間 (秒単位で) Duration o o
サンプリング率 (秒あたりのサンプル数で) SamplingRate o o
秒あたりの平均転送バイト数 BytesPerSec o
楽器の音声トラック番号 FindInstrument o
指定されたトラックのトラック番号 FindTrackName o
録音されている楽器の名前 GetInstruments o
録音されている楽器のトラック番号と名前 GetTrackNames o
音声の秒あたりのクロック・ティック TicksPerSec o
音声の四分音符あたりのクロック・ティック TicksPerQNote o
縦横比 AspectRatio o
ビデオ圧縮形式 (MPEG1 など) CompressType o
秒あたりのスループット・フレーム数 FrameRate o
最大スループット (秒あたりのバイト数で) MaxBytesPerSec o
音声トラックの数 NumAudioTracks o o
フレームの数 NumFrames o
ビデオ・トラックの数 NumVideoTracks o

属性 UDF は、SQL ステートメントの SELECT 文節の式か、WHERE 文節の探索条件で使用することができます。 UDF を指定する場合には、そのオブジェクトのハンドルが入っている列 (データベース表の) の名前を指定する必要があります。

たとえば、次のステートメントでは、Updater UDF を SQL SELECT ステートメントの SELECT 文節に指定することによって、従業員表にある画像を最後に更新した人のユーザー ID を取り出します。

EXEC SQL BEGIN DECLARE SECTION;
char hvUpdatr[30];
EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT UPDATER(PICTURE)
     INTO :hvUpdatr
     FROM EMPLOYEE
     WHERE NAME = 'Anita Jones';

次のステートメントでは、Filename UDF を SELECT ステートメントの SELECT 文節に、NumAudioTracks UDF を WHERE 文節に指定することによって、従業員表に保管されているビデオから、音声トラックがあるものを取り出します。

EXEC SQL BEGIN DECLARE SECTION;
char hvVid_fname[251];
EXEC SQL END DECLARE SECTION;
 
EXEC SQL SELECT FILENAME(VIDEO)
     INTO :hvVid_fname
     FROM EMPLOYEE
     WHERE NUMAUDIOTRACKS(VIDEO)>0;


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]