1

これは、有名な V4l2 Api 仕様からの抜粋です。しかし 、YUV422 形式表現とも呼ばれるYUYVを理解できません。ここでこれを説明できる人がいますか。

抜粋は次のとおりです。

Example 2-1. V4L2_PIX_FMT_YUYV 4 × 4 pixel image

Byte Order. Each cell is one byte.

start + 0:  Y’00   Cb00   Y’01   Cr00   Y’02   Cb01   Y’03   Cr01
start + 8:  Y’10   Cb10   Y’11   Cr10   Y’12   Cb11   Y’13   Cr11
start + 16: Y’20   Cb20   Y’21   Cr20   Y’22   Cb21   Y’23   Cr21
start + 24: Y’30   Cb30   Y’31   Cr30   Y’32   Cb31   Y’33   Cr31

各 Y はいずれかのピクセルに割り当てられ、Cb と Cr は両方のピクセルに割り当てられます。ここでのセルとピクセルの表現は何ですか。ここでピクセルはどのように表現されていますか。プログラムでどのように表現できるか。

説明してください。Rgds、ソフティ

4

1 に答える 1

2

YUV422 は、U&V (Cb&Cr) チャネルよりも高い (2 倍の) 解像度で Y 情報を格納するインターリーブ形式です。各セルは 4 バイトで構成され、2 ピクセルの Y/U/V 値を格納します。

unsigned char*cell={127, 52, 139, 170};
unsigned char pixel0[3], pixel1[3];

pixel0[0]=cell[0]; // Y0
pixel0[1]=cell[1]; // U
pixel0[2]=cell[3]; // V

pixel1[0]=cell[2]; // Y1
pixel1[1]=cell[1]; // U
pixel1[2]=cell[3]; // V

ご覧のとおり、単一のピクセルを直接表現するものはありません。

于 2012-07-19T13:54:15.253 に答える