フレームの取り扱い
入力データのフレーム長がより長く,2フレームから出力フレームの1フレームを生成する場合を考えます。
- 入力フレームおよび出力フレームの長さをNとする
- 長さ2Nのバッファ用配列(フレームバッファ)を用意する
- 読み出し・書き込み用のポインタ
フレームバッファに書き込むためのポインタをWP,読み出すためのポインタをRPとする。
また,ポインタの値は,2Nの剰余演算により0~2N-1の範囲に制限する
並行動作を行わない場合
並行プログラムを使わない場合のフレーム生成のプロセスを図示する。

- 初期化(①):WPの初期値を0にして入力フレーム#1をバッファに書き込む。続いてWPの初期値をNとして入力フレーム#2をバッファに書き込む。
- 通常のサイクル(②):RPの初期値を0にしてバッファから読み出して出力フレーム#1を作成する。読み出しが終わってからWPの初期値を0として入力フレーム#3をバッファに書き込む。
- 通常のサイクル(③):RPの初期値をNにしてバッファから読み出して出力フレーム#2を作成する。読み出しが終わってからWPの初期値をNとして入力フレーム#4をバッファに書き込む。
- 以下,②,③を繰り返す
コメント