前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >嵌入式音视频开发过程中如何控制码率?

嵌入式音视频开发过程中如何控制码率?

作者头像
用户6280468
发布2023-08-31 10:42:28
2350
发布2023-08-31 10:42:28
举报
文章被收录于专栏:txp玩Linuxtxp玩Linux

一、码率控制的意义:

在音视频领域,码率控制模式有着举足轻重的地位。那什么是码率控制?码率控制是指通过调节图像的压缩比例,从而决定输出编码码率的过程。

二、H264有多少种码率控制模式:

H264码率控制模式分别有:CBR、VBR、AVBR三种经典的模式。这两种控制模式是目前运用最广、使用最多的两种控制模式。那下面我们来重点看看这两种模式有什么具体的区别:

  • CBR码率控制模式:

CBR指的是固定编码控制模式:它指的是以恒定编码比特率进行压缩操作,当有运动时刻发生的时候,由于码率保持着恒定变化。所以,大部分情况下只能通过增大QP数值来调节画面质量,而当运动画面变多时图像质量变差。当场景从运动画面切换到静止画面的时候,图像质量变差。所以这种算法是优先考虑节省码率(带宽),而牺牲画面质量。

  • VBR控制模式:

VBR指的是动态编码控制模式,它的最大特点是码率的变化是随着画面质量的变化而变化。比方说在运动的时刻码率会变高,从而马赛克和花屏的现象会减少。这种码率控制模式的最大优点就是以画面质量为最优先考虑,在处理一些复杂画面的时候,会大幅度提高码率解决画质问题。但是其缺点也很明显,就是它的码率不能以恒定的值进行处理,所以会大幅度消耗码率。

VBR调节一般由四个编码参数决定:

  • maxbitrate
  • minqp
  • maxqp
  • changepos。

其中maxqp和minqp主要是调节画面质量的参数范围,而maxbitrate主要用于计算单位时间内最大的编码码率,changepos是用于调整qp码率的基准。若编码的码率大于最大码率 * ChangePos的时候,图像的QP值会逐步向maxqp范围调整,若图像的qp值大于等于maxqp的时候,qp调节的值将会达到最大值。若编码的码率小于于最大码率 * ChangePos的时候,图像的QP值会逐步向minqp范围调整,若图像的qp值达到了minqp的时候,qp调节的值将会达到最大值。而此时,图像质量是最好的。

  • AVBR控制模式:

AVBR指的是可变码率控制。这种码率控制模式的特点是,它会自动检测当前编码的图像是静止画面还是运动画面。若是运动画面,AVBR模式会提高码率去大大改善当前的画面质量,而当检测到静止画面的时候。AVBR会主动降低码率来节省带宽。这种模式的最大特点是,它会根据最大码率和最小码率之间进行调整。所以AVBR综合了CBR和VBR的优势,在运动模式下能够提高码率来保证画面质量的平稳,而在静止画面下会保带宽。在AVBR模式下有三个参数来表示码率的变化,分别是:

  • maxbitrate
  • changepos
  • minstillpercent。

在运动场景下,最大码率就等于maxbitrate,而在静止模式下最小码率就等于maxbitrate * changepos * minstillpercent

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-19,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 txp玩Linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、码率控制的意义:
  • 二、H264有多少种码率控制模式:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com