B帧对视频清晰度/码率的影响

0. 前言

在H264 Extended Profile中就引入了B帧编码,一直以来同行都对B帧的意义存在争议:

  • 正方:B帧能够大幅减少视频码率,并提高运动场景下的清晰度;
  • 反方:B帧对码率和清晰度没多大帮助

笔者针对这个争议找了一个视频,用x264和Android MediaCodec测试验证B帧到底有没有优化效果。

1. 什么是B帧

1.1 什么是B帧?

B帧法(B frame)是双向预测的帧间压缩算法。当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。

1.2 B帧的优点

一般地,I帧压缩效率最低,P帧较高,B帧最高。

B帧能够提升运动场景清晰度。

PS:有些专家说对高速运动的场景收益是负向,但是本人没有验证过。

1.3 B帧的缺点

由于B帧参考了前后帧,带来更所以编码复杂度更高,也提高了解码复杂度。

2. B帧编码测试

2.1 软编码实验

2.1.1 测试方案

对同一个视频,通过ffmpeg/x264进行转码,在相同比特率等条件,选择开启/关闭B帧,对比PSNR。

2.1.2 测试视频

理论上B帧对运动场景编码,所以本次实验采用一个跳舞的视频,视频信息系如下:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘dance_test.mp4’:
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2018-08-06 13:08:32
genre : aweme_6585043390285482760
Duration: 00:00:13.60, start: 0.000000, bitrate: 5375 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 540x960, 5244 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值