Home Download SampleMusic Products Technology Contact
  Technology
  ←戻る
1.TwinVQ デコーダの構成
TwinVQ デコーダプログラムは図1のように、5つのモジュールで構成します。モジュール間では、様々な形式でデータがやり取りされます。データの流れのうち、緑色 の線で書かれたものは、入出力デバイスの種類によってインタフェースが変わります。サンプルプログラムでは、入力側も出力側もファイル入出力と標準出力の インタフェースを使っています。
TwinVQ デコーダプログラムの構成
図1:TwinVQ デコーダプログラムの構成
 
2.デコーダプログラムの構成方法
デコーダを動作させる手順の概要は以下のとおりです。
{
    <初期化>
    while( <ビットストリームのフレームごとの読出し> ){
        <デコード処理>
        <出力処理>
    }
    <終了処理>
}
この手順はデコーダメインプログラムに持たせます。詳しくは、サンプルプログラムの main() (decoder.cxx) 関数を参照してください。
 
3.サンプルプログラムの操作方法
DOSプロンプト(Windows NT の場合はコマンドプロンプト)から実行します。
    > TestDec <ビットストリームファイル名> <出力オーディオファイル名> [ff | rew]
で実行できます。
サポートしている出力オーディオファイルの形式は、*.wav 形式またはヘッダなし 符号つき 16bit PCM です。1サンプルは 2Byteデータで格納されています。ステレオの場合は、L, R, L, R の順でサンプルが並んでいます。
引数リストにff またはrewを入れると、FFまたはREW再生のデモンストレーションモードになります。
 
4.主な関数のマニュアル
TwinVQ デコーダモジュールは、デコーダDLL から提供されています。デコーダDLL関数は、次の3つのカテゴリーに分けられます。

1.初期化/終了処理用関数
2.デコード処理用関数
3.問い合わせ関数

使用できるデコーダDLL関数は以下の表のとおりです。

表1:使用できるデコーダDLL関数
カテゴリ 関数名 必須 概要
初期化/終了処理用関数 TvqInitialize() TwinVQ デコーダモジュールを初期化する。
TvqTerminate() TwinVQ デコーダモジュールの終了処理をする。
TvqGetVectorInfo() VQ ビット情報を初期化する。ビットストリーム読み出しモジュールのサブプログラム。
TvqResetFrameCounter() フレームカウンタをリセットする。
デコード処理用関数 TvqDecodeFrame() フレームごとにデコード処理をする
TvqWtypeToBtype() ウィンドウタイプをブロックタイプに翻訳する。ビットストリーム読み出しモジュールのサブプログラム。
TvqUpdateVectorInfo() VQ ビット情報を更新する。ビットストリーム読み出しモジュールのサブプログラム。
TvqSetFrameCounter() フレームカウンタを任意の値にセットする。
問い合わせ関数 TvqCheckVersion() バージョン ID 番号
TvqGetSetupInfo() セットアップ情報
TvqGetConfInfo() TwinVQ モジュールの設定パラメータ
TvqGetFrameSize() フレームサイズ
TvqGetNumChannels() チャネル数
TvqGetBitRate() ビットレート
TvqGetSamplingRate() サンプリング周波数
TvqGetNumFixedBitsPerFrame() 1フレームあたりのビット数
TvqGetNumFrames() フレームカウンタの値
TvqGetModuleVersion() TwinVQ デコーダモジュールのバージョン

表2: 使用できるビットストリーム読み出しモジュール関数
カテゴリ 関数名 必須 概要
初期化用 TvqGetBsHeaderInfo() ビットストリームヘッダの読み取り
TvqinitBsReader() ビットストリーム読み出しモジュールの初期化
提供機能 TvqReadBsFrame() ビットストリームのフレーム単位の読み取り
TvqSkipFrame()   ビットストリームのフレーム単位のスキップ
TvqGetBsFramePoint()   ビットストリームの現在位置をフレーム番号で返す
   
このホームページに記載されている製品名などは各社の登録商標または商標です。
Copyright(C) NTT Communication Science Laboratories.