Skip to content

视频转码检查:AMD、英特尔和 Nvidia 深入研究

    1651450023

    图像质量:已检查

    我们最近在对第一款台式 Brazos mini-ITX 板的评测中介绍了图像质量。如果您已经阅读过它,那么当我们深入研究平台的图像解码/编码功能时,您就会知道有一些令人惊讶的结果。在其他条件相同的情况下,在比较英特尔和 AMD 时,编码视频的输出质量非常相似。不过,Nvidia 的 CUDA 加速输出完全是另一回事。我们通过它抽出的任何视频在高动​​态场景中都有明显的块状。我们之前曾被警告过这一点,但需要进行大量 AB 比较才能意识到情况到底有多糟糕。

    这将我们带到了今天的图像质量测试。我们的 Brazos 报道中有许多遗留问题,这些问题在那里并不真正相关,但值得他们自己深入探索。

    基础知识:编解码器和解码器

    在深入了解细节之前,我们需要涵盖一些基本点。区分编解码器和文件容器很重要。例如,蓝光内容通常带有 .m2ts 文件扩展名。但是,BDAV(蓝光光盘音频/视频)容器格式基本上是一种存储包装。可以使用三种可能的编解码器:MPEG-2、H.264 和 VC-1。

    那么,编解码器和容器之间的确切区别是什么?想想你最近的假期。您的行李是文件容器,您选择的行李类型决定了您将衣服、洗浴用品、电脑等放在哪里。编解码器(压缩解压缩)是您将所有内容(数据)压缩以适合您的行李的方式。这基本上适用于任何多媒体内容。例如,Microsoft 的 AVI(音频视频交错)格式是一个文件容器,但它可以使用各种编解码器对视频进行编码,从 DivX 到 MPEG-2。

    当您在视频播放器中播放某些内容时,通常,编码的视频数据通过解码器并作为 YUV 数据(色彩空间)吐出并放到您的屏幕上。解码器识别格式并将数据解压缩为可以进行处理和查看的有用信息。

    现在,有两种类型的解码器:软件和硬件。在 UVD、PureVideo 和英特尔的 GMA 4500MHD 之前,视频是使用依赖于主机处理能力的基于软件的解码器进行解码的。这就是为什么每个人过去都非常重视播放软件的原因。Cyber​​Link 和 InterVideo(现为 Corel)确实是镇上唯一的大牌,这解释了为什么 ATI 当年为其 ATI DVD 解码器授权 PowerDVD 解码器。当然,软件解码器会消耗处理器周期,这并不会真正损害现代 CPU 的性能,但它确实会影响移动环境中的电池寿命。

    渐渐地,显卡公司发现了这一点,并开发了固定功能解码器,它们只是 GPU 上专门用于处理视频的逻辑电路。我们今天将其称为硬件加速。好处是主机 CPU 利用率下降(接近 0%),因为工作负载被卸载到图形处理器上。

    这有一些含义。因为解码器处理视频,所以很难明确定义质量或效率的基线。无论视频是通过基于硬件还是基于软件的管道,在视频数据显示在您的显示器上之前,总会有一些东西在视频数据上受到影响。使用软件,如果您使用解码器,您实际上不需要在系统之间进行比较。但是,使用相同的系统,不同的解码器可以输出不同的图像或改变对图像质量的感知。在大多数情况下,如果您在 PowerDVD 中禁用加速,在 Nvidia 或 AMD 图形硬件上播放的蓝光光盘看起来会相同。在这两个系统上,视频都在 CPU 上的软件中处理,产生相同的输出。

    当您将硬件解码添加到组合中时,一切看起来都会有所不同。为什么?现代 GPU 已经有一部分设计专门用于解码和处理视频数据。这就是前面提到的固定功能逻辑。基于 Sandy Bridge 的处理器上基于硬件的解码加速将在设计和编程上与 AMD 或 Nvidia 显卡不同。

    我们应该完全清楚:不存在纯粹的通用 GPU 解码器。在 DirectCompute、APP 或 CUDA 中没有完全运行的解码器。任何添加这种支持的请求都是疯狂的,因为这将是一个弄巧成拙的功能。正如我们在 Flash 文章中所解释的,GPGPU 用于以高度并行化的方式处理原始数据。但视频不仅仅是原始数据。发生了很多图像处理,其中大部分必须以串行方式完成。固定功能解码器实时解码和处理视频;它们没有任何其他用途。将这种负担转移到更通用的计算资源上将离将其移回 CPU 本身仅一步之遥,因为在这两种情况下,您都将使用基于软件的解码器。

    话虽如此,Elemental Technologies(您可能知道开发 Badaboom 的公司)的独特之处在于它设计了基于 MPEG-2 CUDA 的解码器。但它不是纯 GPGPU 解码器。流水线的某些部分,例如熵编码、语法编码、语法解码和熵解码,必须以串行方式进行处理。该过程的其他部分可以设计为并行运行,例如运动估计、运动补偿、量化、离散余弦变换、去块滤波、结束循环去块。这就是为什么 Elemental 的 MPEG-2 解码器确实是一个半对半的解决方案。有些东西在 CPU 上运行;一些在 CUDA 内核上运行。

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x