理论

理论

假设我的屏幕上有 1280x720 像素,并且当前分辨率也设置为 1280x720。同一媒体的 1080p 版本和 720p 版本之间有什么区别?最终用户(非视频专家或爱好者)能注意到吗?

澄清编辑:该问题与 .mkv 文件有关,而不是 YouTube 视频。

答案1

理论

对于未经训练的眼睛来说,视频中的差异可能不会很明显。1080p 视频无论如何都必须缩小。不过,它不会完全相同,因为压缩和缩放的顺序不同。

假设原始视频是 1080p。在这种情况下,720p 视频首先被缩放,然后被压缩。另一方面,1080p 剪辑首先在服务器端压缩,然后在您的机器上缩放。1080p 文件显然会更大。(否则它会提供更高的分辨率,但质量较低,破坏视觉体验并使使用更高分辨率的意义失效1

有损压缩通常会导致视觉伪影,在视频暂停时显示为具有明显边缘的方块,但在以正常帧速率播放时不可见。1080p 文件将包含比 720p 视频更多的方块(由压缩引起),但这些块在两个视频中的大小大致相同。

通过简单的数学计算,我们可以计算出 1080p 视频将包含 2.25 倍以上的此类块,因此在将其缩小到 720p 后,这些块将比实际的 720p 视频小 2.25 倍。这些块越小,最终视频的质量就越好,因此 1080p 视频看起来会比 720p 视频更好,即使在 720p 屏幕上也是如此。调整大小后的 1080p 视频看起来会比实际的 720 剪辑略微清晰。

如果源材料大于 1080p,事情会变得有点复杂。1080p 剪辑首先缩放到 1080p 并压缩,然后播放,然后在播放时再次缩放。720p 剪辑只缩放一次,然后压缩。1080p 视频中存在的中间缩放步骤会使其质量略差2。不过,压缩会使 720p 变得更糟,所以无论如何 1080p 都会获胜。

还有一件事:不仅视频被压缩,音频也一样。当人们决定使用更高的比特率时1对于视频压缩,他们通常对音频也做同样的处理。同一视频的 1080p 版本可能比 720p 视频提供更好的音质。


1: A比特率是决定压缩视频质量的因素,但会牺牲文件大小。压缩视频时会手动指定。它指定压缩视频的每一帧(或时间单位)可以使用多少磁盘空间。更高的比特率 = 更好的质量和更大的文件。无论视频分辨率如何,使用相同的比特率和相同的帧速率都会产生(大约)相同大小的文件,但使用的分辨率越高,单个像素上可以花费的磁盘空间就越少,因此在不增加比特率的情况下增加输出分辨率会使压缩视频看起来比输出分辨率较低时更差。

2:自己尝试一下:在任何编辑器中打开一张照片,将其缩放到较小的尺寸,然后重复此操作,将其保存为 PNG。然后再次打开原始照片,并一步将其缩放到相同尺寸。第二次尝试将获得更好的结果。


测试

@Raestloz 在他的评论中要求提供实际视频以供比较。我找不到同一视频的 1080p 和 720p 版本进行比较,所以我制作了一个。

我用过未压缩的帧摘自电影《大象的梦》(http://www.elephantsdream.org/),这些文件在 CC-BY 2.5 下可用。我已下载 1-6000 帧,并使用以下方法将其转换为视频ffmpeg以及以下批处理文件:

ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 500k -an -s 1280x720 -f mp4 _720p_500k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 700k -an -s 1280x720 -f mp4 _720p_700k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 1125k -an -s 1280x720 -f mp4 _720p_1125k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 4000k -an -s 1280x720 -f mp4 _720p_4000k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 500k -an -f mp4 _1080p_500k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 700k -an -f mp4 _1080p_700k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 1125k -an -f mp4 _1080p_1125k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 4000k -an -f mp4 _1080p_4000k.mp4
  • 24 帧每秒
  • 1080p 和 720p
  • 每种分辨率有四种恒定比特率:
    • 500 kbps
    • 700 kbps
    • 1125 kbps
    • 4000 kbps

500 kbps 足够低,以至于 720p 视频上会出现压缩伪影和失真。1125 kbps 是 1080p 的每像素比例比特率(500 × 2.25 = 1125,其中 2.25 = 1920×1080/1280×720)。700 kbps 是中间比特率,可以检查使用远低于 1080p 比例的比特率是否有意义。4000 kbps 足够高,可以在两种分辨率下创建几乎无损的视频,以便将调整大小的 1080p 与实际的 720p 进行比较。

然后我将视频分割成单个帧。提取所有帧很慢,而且需要很多空间(真实的故事),所以我建议使用ffmpeg 的-r开关提取每 8 帧(例如-r 324 fps 视频)

我无法提供视频的下载链接,但这些步骤可以轻松复制以创建像我这样的剪辑。为了记录,以下是输出文件大小:(两种分辨率应该大致相同,因为比特率每秒是恒定的)

  • 500 kbps:13.6 MB / 13.7 MB
  • 700 kbps:18.8 MB / 19 MB
  • 1125 kbps:29.8 MB / 30.2 MB
  • 4000 kbps:105 MB / 105 MB

提取的帧的样本可在本文末尾下载。

提高比特率和分辨率

这是缩放至 720p(第 2097 帧)后从两帧中裁剪出的同一区域的比较。看看手指、头部和悬挂在天花板上的设备:即使从 500 kbps 变为 700 kbps 也会产生明显的差异。请注意,两幅图像都已缩放至 720p。

2097 号车架的不同图片并排显示

框架 3705。注意地毯的边缘和电缆:

3705 号车架的不同图片并排显示

框架 5697。这是框架的示例没有压缩效果非常好。1080p 700 kbps 视频的细节不如 720 500 kbps 剪辑(耳朵边缘)。所有压缩帧上的皮肤细节均丢失。

5697 号车架的不同图片并排显示

所有三帧的 GIF,比特率不断增加。(不幸的是,我不得不使用抖动,因为 GIMP 不支持 GIF 中超过 255 种颜色,所以一些像素有点偏离。)

恒定比特率,不同分辨率

受到@TimS. 的评论的启发,这是来自第 2097 帧的同一区域,并排为 720p 和 1080p。

不改变比特率的情况下改变分辨率的效果

对于 500 kbps,720p 比 1080p 稍好一些。1080p 看起来更清晰,但这些细节实际上并不存在于未压缩的图像中(左边人的裤子)。对于 700 kbps,我认为两者打成平手。最后,1125 kbps 的 1080p 胜出:两张静态照片看起来几乎相同,但右边的图片阴影更明显(后墙上和右下角的管道)。

非常高的比特率

@Noah 在评论中提出了一个很好的问题:如果比特率足够高,两幅图像看起来会完全相同吗?以下是 720p 4000 kbps 与 1080p 4000 kbps 与未压缩帧 5697 的对比:

高比特率 720p 和 1080p 静态图像与未压缩帧的比较

现在这是非常主观的,但这是我所看到的:

  • 尽管比特率相同,但耳朵左边缘在 720p 下是像素化的,但在 1080p 下却很流畅。
  • 720p 比 1080p 更好地保留了脸颊皮肤细节。
  • 在 1080p 下,头发看起来更清晰一些。

缩放在这里开始发挥作用。人们可以直观地回答,在 720p 屏幕上,1080p 看起来会比 720p 更差,因为缩放总是会影响质量。在这种情况下,情况并非如此,因为我使用的编解码器(h.264,还有其他编解码器)有一些缺陷:它会在对比边缘上创建可见的小框。它们也出现在 1080p 快照上(参见底部的链接),但调整为 720p 会导致一些细节丢失,特别是平滑这些框和改善质量。

好的,让我们计算 720p(左)和 1080p(右)与原始帧之间的差异,并拉伸对比度,以便清晰可见:

压缩帧与原始帧之间的拉伸差异

这幅图让我们更清楚地看到了正在发生的事情。黑色像素在压缩(并调整为 720p)帧中完美呈现,彩色像素与强度成比例偏离。

  • 在 720p 的一半中,脸颊更接近原始图像,因为缩放使右半部分的皮肤细节变得平滑。
  • 耳朵的边缘与未压缩的像素不太接近,但在 1080p 下效果更好。同样,在 720p 的一半上可以看到伪影 - 它们也会出现在未调整大小的 1080p 上,但缩放后它们变得平滑,效果相当不错。
  • 头发在 720p 上看起来更好,因为它接近黑色,但实际上它看起来像随机噪音。另一方面,1080p 的扭曲与头发边缘对齐,因此它实际上强调了发际线。这可能又是缩放的魔力:缩放时“噪音”会增加,但它也开始变得有意义。

免责声明

该测试纯属综合性测试,并不能证明在小屏幕上播放真实的 1080p 视频时的效果是否比 720p 更好。然而,它表明视频比特率和调整到屏幕尺寸的视频质量之间存在很强的关系。我们可以放心地假设 1080p 视频的比特率将高于 720p,因此它将提供更详细的帧,大多数时候可以增强观看者的体验。最重要的不是分辨率,而是视频比特率,1080p 视频的比特率更高。

对 720p 视频使用极高的比特率不会使其看起来比 1080p 更好。压缩后降级对 1080p 有益,因为它会调整压缩噪声并消除伪影。增加比特率并不能弥补可用额外像素的不足,因为有损编解码器并不完美。

在极少数情况下(非常详细的场景),分辨率更高、比特率更高的视频实际上看起来可能更糟。

这个仿真测试和真人视频有什么区别呢?

  • 我假设 1080p 的比特率至少比 720p 高 40%。从结果来看,我猜测20% 足以看到质量的改善,但我还没有测试过。即使较低的分辨率与屏幕使用的分辨率相匹配,按比例增加比特率也会提供更好的结果,但在现实生活中不太可能使用。(不过,它是按比例增加的,@JamesRyan)
  • 现实生活中的视频通常使用可变比特率 (VBR)。我选择了 1-pass 恒定比特率 (CBR),希望它能让所有令人不快的压缩副作用更加明显。
  • 不同的编解码器会有不同的反应。本次测试使用流行的 H.264 编解码器进行。

再次:我并不是说这篇文章能证明什么。我的测试是基于人工制作的视频。现实例子可能有所不同。不过,该理论可能是正确的,没有任何迹象表明它可能是错误的。(除了缩放问题,但测试会处理它)

总而言之,在大多数情况下,1080p 视频看起来比 720p 视频更好,无论屏幕分辨率如何


下载:

答案2

这在很大程度上取决于媒体。

例如,如果您有 720p 显示器并播放 1080p 的 YouTube 视频,我可以看到物体移动时的差异。只是细节更加丰富了一点点。不过,眼睛不太熟练的人可能看不出来有什么区别。

除此之外,1080p 需要更多的渲染能力才能显示,而且质量提升(如果有的话)并不值得。我的建议是无论如何都选择 720p。

答案3

  1. 1080p 视频必须缩小以适应 720p 屏幕尺寸。720p 视频无需缩放。

  2. 哪个版本的视频看起来更好实际上更多地取决于每个视频的压缩级别。只要使用相同的视频设置和相同的视频编解码器,2GB 720p 视频的压缩程度和块状性会比 2GB 1080p 视频低。1080p 视频需要更多内存来存储视频中的每一帧,因此会出现更多的压缩伪影。

答案4

取决于您的硬件以及它是否进行放大/缩小。理论上,将 1080 线压缩到只能读取 720 线的电视机/显示器(这就是 1080/720 所指的;图片中的线数)应该可以改善图像。越多越好,对吧?但是,让我们以 40 英寸电视为例。40 英寸电视上的 720 线相当于每英寸 18 线(或像素)。40 英寸电视上的 1080 线相当于每英寸 27 线。您的眼睛能分辨出这么小的物体之间的差异吗?可能不能。此外,您还必须考虑视频文件的处理方式(您提到了 MKV,这是一种在计算机上创建的视频格式,因此取决于视频卡的质量)以及是否使用了顶级硬件/软件。

因此,回答这个问题,大多数人不会注意到这两个视频之间有太大的差异,甚至根本不会注意到。

相关内容