2013-10-30 10 views

答えて

14

YUV 4:2:0平面は次のようになります

---------------------- 
|  Y  | Cb|Cr | 
---------------------- 

:2:0サブサンプリング:これは、画素が4に配置されている方法である

Y = width x height pixels (bytes) 
Cb = Y/4 pixels (bytes) 
Cr = Y/4 pixels (bytes) 

Total num pixels (bytes) = width * height * 3/2 

420

ご覧のとおり、各彩度値は4つのルミナンスピクセルで共有されています。

基本的には、どのフレームサイズでも の合計ファイルサイズを均等に分割することができます。

は例として、あなたはそのクリップのサイズは 45619200バイトです http://trace.eas.asu.edu/yuv/foreman/foreman_cif.7z

からダウンロードすることができます古典的なフォアマン・クリップを、考えます。どのようにして寸法とフレーム数を得るのですか?異なる解像度を試してみてください!

です。SDTV

In [7]: 45619200/float(720*576*3/2) 
Out[7]: 73.33333333333333 

nope!

です。QCIF?それはCIF

In [8]: 45619200/float(176*144*3/2) 
Out[8]: 1200.0 

かもしれません...

のですか?

In [9]: 45619200/float(352*288*3/2) 
Out[9]: 300.0 

は...見つけるために

唯一の方法は、それを表示しようとしている可能性があります。

はのは、QCIF、右を見ていない

wring

を試してみましょう。お使いのノートに基づいてCIF

right

Bingo!

+0

を試してみましょう:**総NUMピクセル(バイト)=幅*高さ* 3/2 **あなたが計算することができます** widthHeight =フレームサイズ* 2/3; **次に、一致の共通サイズを確認できます。または、一般的なアスペクト比が4:3になるようにします。 ** width = widthHeight/3; height = widthHeight/4;チェック=幅*高さ; ASSERT(check == widthHeight); **チェックするアスペクト比はもちろんあります。 16:9、例えば、高いデフ。 –

+0

あなたは絶対に正しいです。この回答の私のアイデアは、OPを開始するための基本的な洞察を提供することでした。あなたは生涯にわたってYCbCrデータのすべての側面を調査することができます:-) –

+1

re:lifetime - Yep。このOPはちょうど4:2:0です。あなたが4:2:2やYCbCrの他のバリエーションのいずれかを話していると、それはすべて変化します。また、他のカラーフォーマット(RGB)に変換する場合でも、コーディネートされている場合は変更されます。あなたの答えは、YCbCr 4:2:0の優れたプライマーです。残りの辛抱強い細部を必要とする人は、厚いおとめを読んでいる。 ;-D –

関連する問題