7

如果我知道图像中有多少像素(亮度样本),如何找出 YUV 4:2:0 文件中的分辨率和帧数?

4

1 回答 1

27

YUV 4:2:0 平面看起来像这样:

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

在哪里:

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:2:0 子采样中的放置方式:

420

如您所见,每个色度值在 4 个亮度像素之间共享。

基本上,您唯一能做的就是查看哪些帧大小平均分配了总文件大小。

例如,考虑经典的 forman-clip,您可以从http://trace.eas.asu.edu/yuv/foreman/foreman_cif.7z下载

该剪辑的大小是45619200字节。如何从中获得尺寸和帧数?尝试不同的分辨率!

标清电视吗?

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

不!

QCIF吗?

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

正确的

答对了!

于 2013-10-30T18:58:51.000 回答