仅当分母可被所需宽高比的分母整除时,才能获得精确的比率。768不能被9整除,因此不会有任何具有该高度的16:9整数分辨率。那么为什么不选择1360:765?
由于显示分辨率的维数往往是2的幂(或者是2的幂的倍数,该倍数越大越好),这可能是因为2的幂对于二进制计算机而言效果更好
- 2D图像格式以及视频编解码器以块为单位处理图像,而不是逐个像素逐行或逐行逐行处理。该块大小总是2的幂像8×,16×16或更低频率×8,4×8,8×16,8 4X16因为它们更容易在内存中安排,同时也更适合CPU的SIMD单元...这就是为什么你会看到方块效应查看低质量的图像或视频文件时。
- 3D图形渲染器通常使用一种称为mipmapping的技术,该技术涉及使用大小互为2的幂的图像,以提高渲染速度并减少混叠伪影。如果您有兴趣,请查看Mipmapping如何提高性能?
因此,无论图形类型如何,使用2的幂都可以简化编码器/解码器和/或GPU / CPU的工作。具有非2的幂次方长度的图像将始终将其对应的边舍入为2的幂(您将在1920x1080的示例中稍后看到),最终将浪费一些内存用于存储这些虚拟像素。像这样对那些奇数大小的图像进行转换也会由于伪值而引入伪像(有时是不可避免的)。例如,旋转奇数大小的JPEG将在结果中引入噪声
图像不是8或16的倍数的值的旋转并不是无损的,该值取决于色度二次采样。旋转这样的图像会导致重新计算块,从而导致质量损失。[17]
https://zh.wikipedia.org/wiki/JPEG#Lossless_editing
看到
现在显然1360:765正好是您所说的16:9,但是765不能被2的任意幂整除,而768可以被256(2 8)整除,因此768的高度是一个更好的选择。此外,使用768作为高度的优点是能够在不缩放的情况下原生显示旧的1024x768
768/(16/9) = 1365.333...
,因此,如果将其四舍五入,您将获得最接近16:9的值。但是,这是一个奇数,因此人们将其舍入为1366x768,这非常接近16:9。但同样,1366仅能被2整除,因此某些屏幕制造商改用1360x768,因为1360可被16整除,这要好得多。1360/768 = 1.7708333 ...大约16/9到大约2个小数位,这就足够了。1360x768还具有可以很好地放入1MB RAM中的优点(而1366x768则不适合)。1344x768(另一种较不常用的分辨率)也可以被16整除。
WXGA还可以引用1360×768分辨率(以及一些其他较不常见的分辨率),以降低集成电路的成本。1366×768 8位像素需要花费超过1-MiB才能存储(1024.5KiB),因此它不适合8Mbit的存储芯片,而您必须拥有16Mbit的存储芯片才能存储几个像素。这就是为什么选择比1366低一些的原因。为什么是1360?因为您可以将其除以8(甚至16),这在处理图形时要容易得多(并且可以带来优化的算法)。
为什么存在1366×768屏幕分辨率?
许多12MP摄像机的有效分辨率为4000x3000,并且在以16:9进行拍摄时,与其使用精确为16:9的4000x2250分辨率,而是使用4000x2248,因为2248可被8整除(这是许多视频编解码器中常见的块大小) ),则2250可被2整除。
一些柯达相机也使用4000x2256,因为2256可被16整除,而4000/2256仍将16/9近似为小数点后2位。如果以3:2拍摄,则出于相同原因,他们将使用4000x2664,而不是接近3:2的4000x2667或4000x2666。
其他决议也是如此。您将找不到任何奇怪的图像分辨率。大多数将至少被4或8整除。全高清分辨率1920x1080,其高度不能被16整除,因此,许多编解码器会将其舍入为1920x1088,带有8条虚拟像素行,然后对其进行裁剪在显示时或处理后下降。但是有时没有裁剪,因此您可以看到网上有很多1920x1088视频。一些文件据报告为1080,但实际上为1088。
您还可以在各种视频解码器的设置中找到将1088裁剪为1080的选项。
回到您的示例1920/1200 = 8/5,这一点都不奇怪,因为它是常见的16:10长宽比,接近黄金分割率。您可以在1280x800、640x400、2560x1600、1440x900、1680x1050中找到它……没人会标榜为16:9,因为它们显然是16:10
我假设每个像素都是一个完美的正方形。这个假设错了吗?
错了 在过去,像素通常不是正方形,而是矩形。确实存在其他像素排列,例如六角形,尽管不是很常见。请参阅像素为何方形?