百科问答小站 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 网友的相关建议: 
      

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

建议专业机构给予支援。




  

相关话题

  时钟频率是个什么概念?? 
  请问i7和i9的区别是什么(希望尽量通俗易懂)? 
  图形方面的函数的参数为什么多用浮点? 
  R7 1800X 8核目前可以对标因特尔哪款处理器? 
  为什么 GPU 的浮点运算性能远远强于 CPU? 
  分析称苹果 M1 Ultra 造价约 300~350 美元,低于英特尔至强处理器,价低的原因是什么? 
  如何评价网传英特尔处理器国行将涨价 20% 以上,是否属实?如果是,原因是什么? 
  假如AMD被中国企业收购的话能否拳打N厂脚踢I厂? 
  CPU 技术强到可以阉割掉 GPU 的时候,那当时 CPU 的频率会达到何种境界? 
  如何评价 AMD 优势将被英特尔 12 代酷睿「Alder Lake」终结? 

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





© 2024-05-22 - tinynew.org. All Rights Reserved.
© 2024-05-22 - tinynew.org. 保留所有权利