5
イメージのピクセル数(輝度サンプル数)を知っていれば、YUV 4:2:0ファイルの解像度とフレーム数を調べるにはどうすればいいですか?YUV 4:2:0ファイルでフレームの解像度とカウントを調べる方法は?
イメージのピクセル数(輝度サンプル数)を知っていれば、YUV 4:2:0ファイルの解像度とフレーム数を調べるにはどうすればいいですか?YUV 4:2:0ファイルでフレームの解像度とカウントを調べる方法は?
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
ご覧のとおり、各彩度値は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、右を見ていない
を試してみましょう。お使いのノートに基づいてCIF
を試してみましょう:**総NUMピクセル(バイト)=幅*高さ* 3/2 **あなたが計算することができます** widthHeight =フレームサイズ* 2/3; **次に、一致の共通サイズを確認できます。または、一般的なアスペクト比が4:3になるようにします。 ** width = widthHeight/3; height = widthHeight/4;チェック=幅*高さ; ASSERT(check == widthHeight); **チェックするアスペクト比はもちろんあります。 16:9、例えば、高いデフ。 –
あなたは絶対に正しいです。この回答の私のアイデアは、OPを開始するための基本的な洞察を提供することでした。あなたは生涯にわたってYCbCrデータのすべての側面を調査することができます:-) –
re:lifetime - Yep。このOPはちょうど4:2:0です。あなたが4:2:2やYCbCrの他のバリエーションのいずれかを話していると、それはすべて変化します。また、他のカラーフォーマット(RGB)に変換する場合でも、コーディネートされている場合は変更されます。あなたの答えは、YCbCr 4:2:0の優れたプライマーです。残りの辛抱強い細部を必要とする人は、厚いおとめを読んでいる。 ;-D –