百科问答小站 logo
百科问答小站 font logo



为什么只用中央处理器(CPU)压制的视频会比图形处理器(GPU)加速过的更清晰? 第1页

  

user avatar   mu-tou-long 网友的相关建议: 
      

这个问题成立是有前提的——低码率视频。如果码率足够高,GPU加速的画质也不差,肉眼几乎无法看出,用软件比对结果差异也很小。


此外,还有具体的压缩算法、视频编码影响。其它的视频编码我没怎么研究过就不说了,这里单说一下最流行的H264。


H264视频的全部画面分为三类:I帧、P帧和B帧:

  1. I帧是对整个画面进行类似JPEG的有损压缩,与其它帧无关,画面数据量最大,在视频中数量最少。
  2. P帧是只参考之前I帧的画面,只记录差异部分。画面数据量居中,视频中数量稍少。
  3. B帧是参考之前和之后I帧和B/P帧的画面,只记录差异部分。画面数据量最少,视频中数量最多。说句题外话,因为因为解码的时候需要参考后面的P帧,低性能的播放设备不一定能满足,因此Baseline Profile不支持B帧。


使用一张网上的图片[1]

对于视频压缩算法来说,想要获得最高的压缩率,最关键在于选择合适的I帧和P帧,使得双向对比的B帧需要记录的数据量最小。而想要选择最合适的I帧和P帧,则需要基于对原始视频中大量的帧画面进行比对分析。分析的画面数量越多,比对的运算量越大。这就是H264编码器中,不同的预设(preset)的区别:preset设置的越慢,比对的帧数越多,越能选出最合适的I帧和P帧,P帧/B帧需要记录的画面差异的数据就越少,结果就是要压缩到相同的目标码率,画质损失也就越少。反之,使用快速预设,比对的帧数量少,P帧/B帧记录的画面差异的数据就越多,压缩画面时的画质损失就越严重。


至于GPU加速,这个因为是大部分使用了GPU加速的商业编码器,以及不同GPU厂家的实现电路目前都是不公开的,和CPU压缩的差异区别在哪,我本人作为非相关人员自然也不清楚。但可以推测的两个可能:

  • 使用了简化的比对算法。对于比对下来有差异的图块,没有进一步分割细化后再次比对,或者细化分割后没有对发生位置变动的图像做进一步比对。
  • 和CPU编码相同的Preset下,比对的帧数更少,或者并非对所有的帧一一进行比对,未能选择出最合适的I帧和P帧。


如果目标视频码率足够高的话,即使B帧需要记录更多的数据,压缩下来对画质的影响是很轻微的,肉眼看不出来,用软件比对算出来的PSNR/SSNI区别也很小。


最后补充一下,某些转码工具的GPU加速,只是使用GPU对原始视频解码,压制还是使用CPU编码,这种情况下是否使用GPU加速的画质区别非常小。例如ffmpeg就可以使用这种加速方式。

参考

  1. ^ http://www.iosxxx.com/blog/2017-08-09-%E4%BB%8E%E9%9B%B6%E4%BA%86%E8%A7%A3H264%E7%BB%93%E6%9E%84.html

user avatar   pansz 网友的相关建议: 
      

这个问题透着一股邪乎味儿,怎么看怎么危险啊……

建议专业机构给予支援。




  

相关话题

  在拥有无限资源的情况下,CPU的体积可以做到“米”为单位吗? 
  为什么手机上的芯片制作工艺超过了电脑上的cpu和显卡? 
  如何看待 12 代英特尔酷睿 H45 新品,给游戏玩家或创作者带来怎样的新体验? 
  如何评价小米 10 系列宣传中手机算力超过笔记本电脑的对比? 
  苹果换自家M1 CPU能够那么快上市,为何国内操作系统和CPU公司为何不借鉴一下? 
  英特尔的酷睿i系列处理器是不是用ASML光刻机制造的?以前的奔腾系列呢? 
  如何评价龙芯首款自主指令集 CPU 3A5000 发布:性能大涨 50%,逼近市场主流桌面处理器? 
  龙芯完成 3C5000 研制性能接近市场主流水平,其中还有哪些信息值得关注? 
  为什么矿机除了 ASIC 用的都是 AMD 显卡而不是Nvidia显卡? 
  为什么英特尔和 AMD 的 CPU 缓存只有三级,而不做四级或者更多? 

前一个讨论
万维钢厉害吗?
下一个讨论
为什么中国小学英语和拼音要学两套不同的手写体,且「拼音字母」反而更接近外国人写的英文?





© 2025-06-05 - tinynew.org. All Rights Reserved.
© 2025-06-05 - tinynew.org. 保留所有权利