【转载】【Codec系列】之常用码率控制算法分析

嵌入式音视频开发学习(视频编码原理及RV1126 VENC模块) H265的优势在于超高的压缩比(压缩比高达1:200)编码超高清的分辨率,如:4K分辨率(3840 * 2160)、8K分辨率(7680 * 4320),一般只有在编码超高清分辨率的时候才会用到H265编码,普通的分辨率如:1920 * 1080以下的分辨率只需要H264即可(这是由于H265虽然压缩比非常高,但是它的算法复杂程度也远超H264,对于一般播放器来说CPU运算也过于复杂)。因为在网络传输的时候,网络带宽有限,若此时网络传输的时候还用原始数据进行传输的时候,则会对网络带宽造成极大的负担。 阅读详情
AI摘要

本文详细分析了海思IPC芯片中的码率控制算法,包括CBR(固定比特率)、VBR(可变比特率)、FIXQP(固定Qp)、AVBR(自适应可变比特率)、QPMAP(Qp映射表)、CVBR(受限可变比特率)和QVBR(主观质量可变比特率),探讨了各自特点及应用场景优化。

来源:博客园,

作者:SoaringLee_fighting

链接:https://www.cnblogs.com/SoaringLee/p/10532170.html

0、前言

    视频编码中的码率控制是一种重要的编码技术,旨在保证码率平稳或者图像质量平稳,在实际应用中,码率控制应用很多,这里分析一下常用的码率控制算法。主要以当前海思IPC芯片中实现的码率控制方式为例进行分析。

1、常用码率控制算法分析

1.1、CBR

CBR(Constant Bit Rate)固定比特率。 即在码率统计时间内保证编码码率平稳。码率
稳定主要由两个量来评估。(保带宽,牺牲图像质量)

  1. 码率统计时间 u32StatTime
    单位为秒(s),码率统计时间越长,每帧图像的码率波动对于码率调节的影响越
    弱,码率的调节会更缓慢,图像质量的波动会更轻微;码率统计时间越短,每帧
    图像的码率波动对于码率调节的影响越强,图像码率的调节会更灵敏,图像质量
    的波动会更剧烈。
  2. 行级码率控制调节幅度 u32RowQpDelta
    行级码率控制调节幅度是一帧内行级调节的最大范围,其中行级以宏块行为单
    位。调节幅度越大,允许行级调整的 QP 范围越大,码率越平稳。对于图像复杂
    度分布不均匀的场景,行级码率控制调节幅度设置过大会带来图像质量不均匀。

1.2、VBR

VBR(Variable Bit Rate)可变比特率,即允许在码率统计时间内编码码率波动,从而保证编码图像质量平稳。
以 H.264 编码为例,VENC 模块提供用户可设置 MaxQp,MinQp,MaxBitrate 和 ChangePos。MaxQp,MinQp 用于控制图像的质量范围,MaxBitrate 用于钳位码率统计时间内的最大编码码率,ChangePos 用于控制开始调整Qp 的码率基准线。(保图像质量)

  • 当编码码率大于 MaxBitrate*ChangePos 时,图像 qp 会逐步向MaxQp 调整,如果图像 QP 达到 MaxQp,QP 会被钳位到最大值,MaxBitrate 的钳位效果失效,编码码率有可能会超出 MaxBitrate。
  • 当编码码率小于 MaxBitrate*ChangePos时,图像 QP 会逐步向 MinQp 调整,如果图像 QP 达到 MinQp,此时编码的码率已经达到最大值,而且图像质量最好。

1.3、FIXQP

Fix Qp 固定 Qp 值。在码率统计时间内,编码图像所有宏块 Qp 值相同,采用用户设定的图像 Qp 值,I 帧、P 帧和B帧的 QP 值可以分别设置。(所有宏块的Qp值相同意味着巨大的带宽,图像质量要视Qp值与实际图像情况来匹配,如剧烈变化的画面和静止画面都使用相同的Qp值,不太合理,个人感觉仅仅用于调试和排查问题时用)

1.4、AVBR

AVBR(Adaptive Variable Bit Rate)可变比特率,即允许在码率统计时间内编码码率波动,从而保证编码图像质量平稳。
核心思想:码率控制内部会检测当前场景的运动静止状态,在运动时用较高码率编码,在静止时主动降低目标码率。
以 H.264 编码为例,VENC 模块提供用户可设置 MaxBitrate,ChangePos 和 MinStillPercent。MaxBitrate 表示运动场景下的最大码率,MaxBitrate*ChangePos*MinStillPercent 表示静止情况下的最小码率。根据运动程度的不同目标码率会在最大码率和最小码率间调整。MaxQp,MinQp 用于控制图像的质量范围,码率控制以 QP 钳位为最高优先级,超出 MinQp,MaxQp 范围内码率控制将失效。(这种控制策略应该是最有,但实际部署时每个网络环境的MaxBitrate可能不同,需要根据场景定制化参数,有点难用)

1.5、QPMAP

QPMAP Qp 表,该码控模式下,码控的策略由用户决定,且一帧编码图像以 16*16 块为单位,每一个 16*16 块的 Qp 值,采用用户设定的相应块的 Qp 值。所有这些块的QP 值组成 QP 表,该表中 QP 值的组织方式如图 6-3 所示。
在这里插入图片描述

在这里插入图片描述

1.6、CVBR

CVBR(Constrained Variable Bit Rate) 是以VBR为基础,旨在提供平稳的图像质量的码率,同时对VBR的码率进行限制,以满足传输宽带以及存储空间的要求。
具体来说,CVBR设置了瞬时,短期和长期码率的限制。其中,瞬时码率的限制保证网络带宽对传输带宽的要求;长期码率保证了在长时间视频录制时,存储设备有足够的空间存储数据;同时,短期码率会根据长期码率的设置和实际使用情况进行调节,以在场景复杂的情况下提供更加平稳的图像质量,并在场景简单时节省码率。

1.7、QVBR

QVBR(Quality Variable Bit Rate) 基于主观质量的可变比特率,该方式是利用实时统计的PSNR的大小来动态调整码率,从而保证编码图像质量平稳。在PSNR较小时主动升高目标码率,PSNR较大时主动降低码率。

参考:《Hi3559A HiMPP V4.0 媒体处理软件开发参考.pdf》

HEVC码率控制 参考资料: [1]万帅,杨付正编著. 新一代高效视频编码H.265/HEVC 原理、标准与实现[M]. 北京:电子工业出版社, 2014.12. 上一章:HEVC率失真优化 码率控制概述 码率控制的主要工作是建立编码速率R与量化参数QP的关系,公式化描述为: Q∗=(Q1∗,⋯ ,QN∗)=argmin(Q1,⋯ ,QN)∑i=1NDi     s.t.∑i=1NRi≤Rc(1)Q^* = (Q^*_1,\dotsb,Q^*_N)=argmin_{(Q_1,\dotsb,Q_N)}\sum_{i=1}^ 阅读详情

相关推荐

H.264 码率控制模式CBR、VBR、AVBR

AVBR 综合了 CBR 和 VBR 的优势,它会自动检测当前编码的图像画面是静止的还是运动的,若是运动的画面,AVBR 模式会提高码率来改善当前的图像质量,若是静止的画面,AVBR 会主动降低码率来节省带宽。是 CBR 与 VBR 的折中:设定一个 “平均码率”,短期(如几秒钟)内码率可像 VBR 一样波动(保复杂画面的画质),但长期(如 1 小时)码率会稳定在设定的平均值(控存储 / 带宽)。对硬件性能要求低的场景 ——AVBR 的码率控制逻辑更复杂,需要编码器有较强的计算能力。

菜鸡搞计算机 279

视频编码中vbr和cbr 、avbr、 qvbr 、cvbr、fixqp优缺点

FIXQP对视频的码率并没有太多限制,因为它的重点在于保证视频的质量,如果码率过低则会导致视频质量下降的问题。在FIXQP编码方式中,图像的质量是固定的,编码器会尽力保持视频图像质量稳定,同时控制码率达到一定水平。CBR:所谓的固定码率编码,是指视频编码的码率是固定不变的,不受图像复杂度的影响。CBR编码方式可以保证视频的稳定码率,适用于网络带宽固定且稳定的场景,但图像质量不能保证。优点:平衡了画面质量和码率,可以在网络带宽不稳定的情况下,自动调整码率以保证视频质量和流畅度。缺点:需要更高的码率带宽比。

weixin_45042833的博客 1万+

【Codecs系列】之常用码率控制算法分析

DATE: 2019-1-12 0、前言     视频编码中的码率控制是一种重要的编码技术,旨在保证码率平稳或者图像质量平稳,在实际应用中,码率控制应用很多,这里分析一下常用的码率控制算法。主要以当前海思IPC芯片中实现的码率控制方式为例进行分析。 1、常用码率控制算法分析 1.1、CBR CBR(Constant Bit Rate)固定比特率。 即在码率统计时间内保证编码码率平稳。码率 稳定...

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 4022

PCS2021:基于CNN的后处理进行质量增强

本文来自PCS2021论文《Model Selection CNN-based VVC Quality Enhancement》 论文提出了适用于VVC的基于CNN的后处理方法来进行质量增强(QE),并且在编码端提供了多个训练好的模型,可以在帧级和块级使用模型选择(MS)策略选择最优的模型,并传到解码端。基于CNN的后处理方法在RA配置下BD-Rate增益为1.3%,加上MS策略又可以获得0.5%的BD-Rate增益。 质量增强算法 编码信息 时域、空域特征和带宽限制等能反映信号的特点,因此在论

Dillon2015的博客 2万+

Ubuntu 22.04 LTS下Xenomai 3.3实时内核配置全攻略(附常见错误排查)

本文详细介绍了在Ubuntu 22.04 LTS系统上配置Xenomai 3.3实时内核的完整流程,包括环境准备、内核补丁应用、编译优化及常见错误排查。特别针对工业自动化和机器人控制场景,提供了性能优化建议和故障解决方案,帮助开发者实现毫秒级精度的实时任务处理。

weixin_29268385的博客 464

【干货】S7-PLCSIM Advanced V3.0 无法启动实例( Error Code:-30,LicenseNotFound)问题解决方法

【干货】S7-PLCSIM Adavanced V3.0 无法启动实例( Error Code:-30,LicenseNotFound)问题解决方法

handinvv的博客 5万+

[转载] [Codec系列] 之常用码率控制算法分析

来源:博客园, 作者:SoaringLee_fighting 链接:https://www.cnblogs.com/SoaringLee/p/10532170.html 0、前言     视频编码中的码率控制是一种重要的编码技术,旨在保证码率平稳或者图像质量平稳,在实际应用中,码率控制应用很多,这里分析一下常用的码率控制算法。主要以当前海思IPC芯片中实现的码率控制方式为例进行分析。 1、常用码率控制算法分析 1.1、CBR CBR(Constant Bit Rate)固定比特率。 即在码率统

SigMap 1619

YOLOv9改进,YOLOv9添加CBAM注意力机制

CBAM是一个简单而有效的注意力模块,用于前馈卷积神经网络。给定一个中间特征图,我们的模块按顺序推断两个独立维度(通道和空间)的注意力图,然后将注意力图乘以输入特征图以进行自适应特征细化。由于 CBAM 是一个轻量级的通用模块,因此它可以无缝集成到任何 CNN 架构中,开销可以忽略不计,并且可以与基础 CNN 一起进行端到端训练。论文链接:(CBAM论文)

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 856

海思芯片研究开篇介绍

海思音视频处理芯片介绍 不多介绍了,大家都知道。 海思hi3516dv300 SDK目录介绍 1. 板子测试文档,用来测试买来的板子是否是正常的,测试不通过,可联系商家换新。 2. 单独资料包:提供u-boot源码,内核源码,文件系统源码,mpp测试demo,h264,h265流推送demo,安装交叉编译环境和编译链等资料。 3. 虚拟机开发环境:提供已经配置好了的开发环境。 4. onvi...

3441

Python 爬虫实战:arXiv 学术论文 PDF 批量下载(含反爬策略与文件命名规范)

arXiv 是全球最大的免费开放预印本论文平台之一,涵盖物理学、数学、计算机科学等多个学科领域。研究人员、学生和工程师常常需要批量下载论文 PDF 进行文献综述、构建机器学习数据集或进行文本挖掘研究。然而,手动逐篇下载论文效率低下,因此开发一个自动化批量下载工具显得尤为重要。

yansideyucsdn的博客 1817

yolov7目标追踪:基于自定义数据集完成检测

目标追踪包含两个阶段:(1)基于自定义数据集,训练yolo目标检测模型;(2)基于检测模型,将实时检测结果传递到StrongSORT追踪算法中,该算法在OSNet基础上结合运动和外观信息,可以跟踪yolo模型检测到的任何物体。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 2306

RV1126 NO.12:视频编码原理讲解三:视频码率和视频码率控制模式

假设在编码到简单图像的时候它会节省码率,而如果编码到一些相对复杂的图像它的码率将会提升,VBR模式一般使用在DVD、蓝光、HD录播上面。所以,它会根据画面的复杂程度去决定视频文件的大小,另外还有的是使用VBR进行编码的时候它的编码算法复杂度会变高,这就会导致解码端的复杂度升高。假设画面里面出现大量的运动画面(如踢球、打篮球这些场景),则AVBR将会把8Mbps码率提高到MAX(MAX是一个动态调节的东西,它是由后面QP参数进行调节的),若此时画面有一些静止画面,则会把码率降低到MIN水平。

2301_79379609的博客 1281

嵌入式面经(2)——央企篇

前文得知我只投央企,不投国企,有面试的央企大致有三类:感兴趣的同学可以和我私聊军工央企相关(航空航天,兵器兵工)制造央企相关(三桶油,装备制造)金融运维相关(信通集团,国有银行)接下来我将对我有的面试中询问的面经进行总结。

coldmood77的博客 466

P9 视频码率及其码率控制方式

从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板🎬 个人主页:@ChenPi🐻推荐专栏1: 《C++_@ChenPi的博客-优快云博客》✨✨✨🔥 推荐专栏2: 《Linux C应用编程(概念类)_@ChenPi的博客-优快云博客》✨✨✨🛸推荐专栏3:《嵌入式音视频_@ChenPi的博客-优快云博客🌺本篇简介 :本章主要讲解VI VENC模块和AI AENC模块的初始化及具体函数详解01 什么是码率?

weixin_73901182的博客 1619

YOLOv8 骨骼结构识别详细说明

YOLOv8骨骼结构识别是一种基于深度学习技术的医学影像分析方法,主要用于X光、CT等影像中的骨骼定位与识别。该系统具有多骨骼同步识别能力,可应用于手部、脊柱、骨盆等不同部位,并能精确定位骨骼关键点。技术实现包括数据预处理、模型训练、推理检测、关键点分析和批量处理五个核心模块,支持骨折检测、骨龄评估等临床应用。该系统需注意医学合规性,要求高质量标注数据,并针对骨骼影像特点进行特征工程优化,同时考虑不同设备的部署需求。

u010117029的博客 330

轴承故障诊断领域的论文到底有多水

这个是最让人困惑的,就好像你说自己证明了某个方法更好,但是你却没有交代自己怎么做的,或者说你交代的过程有外行话或者逻辑上的缺陷,但是你就这么给出个结果完事了。由于自己没有足够大的学术交流圈子,为了尽量避免误判,我在原来13篇论文的基础上又读了18篇,这些论文至少都出自中文核心,有一些还有EI的title,事实上近几年能找到的文章也不算多,这些基本能说明问题了。当然,还有更多细节,比如说损失函数你得交代吧,模型超参数得介绍全吧,至少数据集是哪个工况下的得说吧,当你想复现这些论文,关注点在这些地方的时候。

weixin_50642818的博客 3051

VLC media player视频编码优化:码率控制与压缩算法完全指南

VLC media player作为全球最受欢迎的开源媒体播放器,不仅提供强大的播放功能,更内置了丰富的视频编码优化工具。本文为您详细介绍VLC视频编码中的码率控制技术与压缩算法,帮助您在不同场景下实现最佳的画质与文件大小平衡。🎬 [![VLC媒体播放器视频编码优化](https://raw.gitcode.com/gh_mirrors/vl/vlc/raw/16acbfc3b155e1814

gitblog_00028的博客 499

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

音视频开发继续学习

RGA区域属性结构体图像格式类型RGA的X轴坐标RGA的Y轴坐标RGA的宽度RGA的高度虚宽,一般和宽度一样虚高,一般和高度一样。

weixin_64272492的博客 1811

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

码率控制算法分类

码率控制算法根据视频应用要求与目的的不同可分为以下两种, 第一种是恒定比特率 CBR(constant bitrate)的码率控制算法, CBR 的输入不仅要有视频源, 还要另外设置一个目标比特率。它能够动态地调节量化参数,主要依据是不同视频的内容复杂度差异、网络带宽的不同和解码缓冲区的大小等, 使得在给定的码率限制下, 图像的质量最佳。编码过程中, CBR 的码率围绕着目标码率基本不变。第二种是...

xhyan523的博客 1259

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

音视频开发-视频基础

1 视频产生 2 图像采集 rgb yuv 3 视频基本概念 帧率 码率 分辨率 4 视频专业术语

qq_38731735的博客 3270

视频编码种不同CTU使用不同QP编码

此外还有自适应量化技术和ROI编码技术,这2种算法的思路是为每个CTU设置QP Offset的方式,来更改每个CTU/CU计算QP的QP。2.编码器如果开启了自适应量化功能,可在代码里修改每个为CTU(depth=0的CU)分配QP offset的数组里的具体数值。关键点是,在主流视频编码器里面,不管是码率控制技术还是自适应量化技术和ROI编码技术,都是需要在编码之前获取QP的值。视频编码技术中,一般是码率控制模块来直接计算和控制QP大小的,间接控制QP值大小的有自适应量化和ROI编码赛算法。

showerlxy的博客 818

视频编码中vbr、cbr等方式的区别

FIXQP对视频的码率并没有太多限制,因为它的重点在于保证视频的质量,如果码率过低则会导致视频质量下降的问题。在FIXQP编码方式中,图像的质量是固定的,编码器会尽力保持视频图像质量稳定,同时控制码率达到一定水平。CBR:所谓的固定码率编码,是指视频编码的码率是固定不变的,不受图像复杂度的影响。CBR编码方式可以保证视频的稳定码率,适用于网络带宽固定且稳定的场景,但图像质量不能保证。优点:平衡了画面质量和码率,可以在网络带宽不稳定的情况下,自动调整码率以保证视频质量和流畅度。缺点:需要更高的码率带宽比。

qq_43248127的博客 2852

视频编码码率控制

码率控制是编码器的一个重要模块,主要的作用就是用算法来控制编码器输出码流的大小。虽然它是编码器的一个非常重要的部分,但是它并不是编码标准的一部分,也就是说,标准并没有给码控设定规则。我们平时用的编码器的码控都是编码器程序自己实现的。那码控的原理是什么呢?其实码控就是为每一帧编码图像选择一个合适的 QP 值的过程。我们知道当一帧图像的画面确定了之后,画面的复杂度和 QP 值几乎决定了它编码之后的大小。

qq_34999565的博客 1237

视频编码码率控制原理分析

码率控制原理解析

weixin_41119173的博客 406
上一篇: ubuntu20.04 双显卡安装
下一篇: p2p通信原理及实现
LateLinux
博客等级 码龄18年 65粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值