Press "Enter" to skip to content

Apple ProRes 实战分析 | 码率 | 压缩比 | 信噪比

ProRes是苹果推出的一组有损视频编码格式,经常用作视频剪辑时候的中间编码。现在也有不少相机提供机内录制ProRes的选项。

ProRes优点有

  • All-Intra/帧内编码(每一帧都是独立压缩)
  • 编解码效率高(使用硬件加速的情况下)
  • 全线支持10bit 422(也有444和4444的选项)
  • 可变码率(”简单”的画面压缩比高)

当然一切都是有代价的,All-Intra就意味着在相同画质的情况下,码率会比LongGOP帧间编码(H.265 / HEVC)高不少。好在ProRes提供了一些预设来满足不同的画质/码率需求,码率从高到低分别是:

  • HQ (High Qaulity) 高画质
  • ST (Standard) 标准
  • LT (Light) 轻量级
  • Proxy 代理

接下来我们就来一起看下不同预设在不同场景下的表现。

测试环境和方法:由于ProRes是All-Intra的,所以拿照片和视频得到的结论是一样的,为了方便起见我就都用单张照片来进行测试。

照片是RAW转16bit TIFF,3840×2160,再用ffmpeg压缩成ProRes 30fps,编码器使用的是Mac上的硬件编码器prores_videotoolbox,默认参数。硬件编码器的画质肯定不如CPU编码,但速度要快上好几个数量级。

首先出场的是最难压缩的东西:噪声,来测试一下ProRes码率的上限和画质的下限。

Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 941.82 5.04 13.86
ST 647.12 7.33 13.07
LT 373.77 12.70 12.71
PROXY 143.35 33.11 12.69

首先我们看到的是PSNR惨不忍睹,就算HQ的码率高达942Mbps,信噪比也不到14,信噪比随着码率下降而下降,不过不到1dB。

接下来看一下风光照,一般光圈比较小,场景中有大量的纹理细节。

Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 872.01 5.44 41.67
ST 570.42 8.32 38.96
LT 394.29 12.04 36.36
PROXY 175.28 27.08 31.72

这个时候就很明显的看到各档拉出了明显的差距,信噪比从最高的HQ的近42dB,慢慢降低到Proxy的32dB。但就算全屏观看(不放大),Proxy的画质也相当能打了。30dB是”高画质”底线。

再看另一张,无论是码率还是信噪比都惊人的接近。

Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 882.20 5.38 41.47
ST 568.93 8.34 39.06
LT 398.37 11.91 36.25
PROXY 178.90 26.53 30.82

之前的强度太强了,我们来一个easy case。有大量平滑色块和很强的背景虚化的照片,这种就属于比较容易压缩的。

Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 749.11 6.34 48.48
ST 555.70 8.54 47.95
LT 386.50 12.28 47.27
PROXY 93.45 50.79 45.73

对于简单场景,连Proxy都拿到了近46dB的PSNR,拉不开差距,而且各档码率都下降了不少。

人像

接着我们来看几张人像,结果介于风光和简单场景之间。

Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 852.40 5.57 43.33
ST 568.61 8.35 42.58
LT 372.84 12.73 41.47
PROXY 157.54 30.13 39.78
Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 886.42 5.35 39.72
ST 553.79 8.57 39.55
LT 350.24 13.55 39.24
PROXY 188.87 25.13 38.58
Profile Bitrate (Mbps) Compression Ratio PSNR
HQ 850.07 5.58 34.12
ST 537.04 8.84 34.06
LT 392.76 12.08 34.00
PROXY 160.87 29.50 33.77

不知道为什么对于一些人像照片来说,各个档位拉不开差距。还用什么HQ,直接Proxy得了。

总结

Profile 4K 30fps
Bitrate (Mbps)
4K 60fps
Bitrate (Mbps)
Compression Ratio Avg
PSNR
HQ 880.00 1760.00 5.39 40.06
ST 570.00 1140.00 8.33 38.84
LT 400.00 800.00 11.87 37.46
PROXY 180.00 360.00 26.37 34.94

ProRes HQ/ST虽然画质不错,但仅有5-8的压缩比做为录制编码来说码率太高了,不太实用,要知道NRAW压缩比也在5左右。ProRes LT压缩比为12:1左右,4K30 “仅需” 400Mbps,在码率和画质上取得一个不错的平衡点。但4K 60码率就翻倍了达到800Mbps。这也算是All-intra的一个弊端了,码率和帧率成正比, 即便是ProRes LT 4K 120fps也要1600Mbps。Proxy可以提供30:1的压缩比,4K 60也就360Mbps,都和H.265差不多了,平均35的PSNR估计是要比H.265低一些, 不过对于一般的情况来说也够用了。希望相机厂商能提供更多的ProRes编码选项,其实也就是几组参数的事情。个人希望加一个Proxy的高码率版,压缩比20:1左右,4K 60 475Mbps左右,V60的SD就行了,那就非常Nice了。

想当年,JPEG以8:1~12:1的压缩比傲视群雄,我的第一台单反D90就能拍摄720p的MJPEG,同样也是All-Intra,720p超过25Mbps的码率(压缩比13.5:1) 在当时来说高的吓人。但仅从画质上来讲,ProRes系列并没有比(目前最好的)MJPEG好多少。毕竟帧内压缩是有极限的,个人感觉40:1 – 50:1估计到头了。AI超分+帧生成或许是以后的发展方向,码率降到1/16不是梦。

请尊重作者的劳动成果,转载请注明出处!花花保留对文章/视频的所有权利。
如果您喜欢这篇文章/视频,欢迎您捐赠花花。
If you like my articles / videos, donations are welcome.

Buy anything from Amazon to support our website
您可以通过在亚马逊上购物(任意商品)来支持我们

Paypal
Venmo
huahualeetcode
微信打赏

Be First to Comment

Leave a Reply