NV21 to YUV4 (xFnv212yuv4)
xFnv212yuv4 関数は、NV12 画像フォーマットを YUV444 フォーマットに変換します。出力は U および V プレーンです。Y プレーンはどちらのフォーマットでも同じです。UV プレーンは 2x2 回複製され、YUV444 フォーマットの 1 つの U プレーンと V プレーンを表します。
API 構文
template<int SRC_T, int UV_T, int ROWS, int COLS, int NPC=1,int NPC_UV=1>
void xFnv212yuv4(xF::Mat<SRC_T, ROWS, COLS, NPC> & src_y, xF::Mat<UV_T, ROWS/2, COLS/2, NPC_UV> & src_uv, xF::Mat<SRC_T, ROWS, COLS, NPC> & _y_image, xF::Mat<SRC_T, ROWS, COLS, NPC> & _u_image, xF::Mat<SRC_T, ROWS, COLS, NPC> & _v_image)パラメーターの説明
次の表に、テンプレートと関数パラメーターを説明します。
| パラメーター | 説明 |
|---|---|
| SRC_T | 入力ピクセル タイプ。8 ビット、符号なし、1 チャネル (XF_8UC1) のみサポート。 |
| UV_T | 入力ピクセル タイプ。8 ビット、符号なし、2 チャネル (XF_8UC2) のみサポート。 |
| ROWS | 入力および出力画像の最大高さ (8 の倍数で指定) |
| COLS | 入力および出力画像の最大幅 (8 の倍数で指定) |
| NPC | サイクルごとに処理されるピクセル数。1 ピクセルの場合は XF_NPPC1、8 ピクセルの場合は XF_NPPC8。 |
| NPC_UV | サイクルごとに処理される UV 画像ピクセル数。1 ピクセルの操作の場合は XF_NPPC1、4 ピクセルの操作の場合は XF_NPPC4。 |
| src_y | サイズ (ROWS, COLS) の入力 Y プレーン。 |
| src_uv | サイズ (ROWS/2, COLS/2) の入力 UV プレーン。 |
| _y_image | サイズ (ROWS, COLS) 出力 Y プレーン。 |
| _u_image | サイズ (ROWS, COLS) の出力 U プレーン。 |
| _v_image | サイズ (ROWS, COLS) の出力 V プレーン。 |
リソース使用量
次の表に、Xilinx Xczu9eg-ffvb1156-1-i-es1 FPGA で HD (1080x1920) 画像を処理するために、Vivado HLS 2017.1 ツールを使用して生成された異なる設定での NV21 to YUV4 のリソース使用量を示します。
| 動作モード |
動作周波数 (MHz) |
使用量の見積もり | ||||
|---|---|---|---|---|---|---|
| BRAM_18K | DSP_48E | FF | LUT | CLB | ||
| 1 ピクセル | 300 | 0 | 0 | 1383 | 817 | 233 |
| 8 ピクセル | 150 | 0 | 0 | 1887 | 1087 | 287 |
パフォーマンス見積もり
次の表に、Xilinx Xczu9eg-ffvb1156-1-i-es1 でグレースケール HD (1080x1920) 画像を処理するために、Vivado HLS 2017.1 ツールで生成された異なる設定での NV21 to YUV4 のパフォーマンス見積もりを示します。
| 動作モード | レイテンシ見積もり |
|---|---|
| 最大レイテンシ (ms) | |
| 1 ピクセル動作 (300 MHz) | 13.8 |
| 8 ピクセル動作 (150 MHz) | 3.5 |