面向视频会议场景的 H.266/VVC 码率控制算法研究

文章目录

      • 面向视频会议场景的 H.266/VVC 码率控制算法研究
        • 个人总结
        • 摘要
          • 为什么要码率控制
          • 码率控制的关键
          • 会议类视频码率控制研究背景
          • 视频会议系统研究现状
          • 目前基于 R-λ模型的码率控制算法的问题
          • 文章主要两大优化算法
          • 优化算法1:基于视频内容相关特征值的码率控制算法
            • 帧层目标比特分配
            • LCU层目标比特分配
            • 算法流程图
            • 算法实验测试结果
          • 优化算法2:基于感兴趣区域的会议类视频码率控制算法

面向视频会议场景的 H.266/VVC 码率控制算法研究

个人总结

论文标题

面向视频会议场景的 H.266/VVC 码率控制算法研究

发表期刊

硕士电子期刊

作者

余东航

发表日期

2022 -5-25

阅读日期

2023.8.3

评分 Score

类型思路批注
研究背景本文的主要内容是什么?目前研究情况是什么?随着人们对高清视频画质的需求越来越高,现有的视频压缩技术需要进一步优化才能适应不断增加的应用需求。VVC的码率控制模块所分层次与 HEVC 码率控制模块相同,而具有实际研究价值的主要为帧层和 LCU 层,因此近年来诸多专家对于视频编码码率控制板块的研究主要围绕着帧层和 LCU 层两部分进行
方法和性质面向什么样的任务?作者如何采集数据?这项研究是在何时何地进行的? 他提出的模型或者方法是什么样的呢?测试对象:选取 VTM 通用测试环境中推荐的视频序列,各序列根据分辨率的不同进行了分类。算法选取 B 类测试序列 MarketPlace、RitualDance、Cactus 和 BQTerrace;C 类测试序列 BasketballDrill、BQMall、RaceHorses 和PartyScene ; D 类 测 试 序 列 BQSquare 、 BlowingBubbles 、 BasketballPass 和RaceHorses;以及 E 类测试序列 FourPeople、Johnny 和 KristenAndSara。
研究结果模型效果获得了怎样的提升?(效率还是准确率或者是其他)算法所有序列的总平均码率的相对误差值为 0.434%,码率控制精度优于自适应设置下的 0.435%。算法下测试序列的平均峰值信噪比相比于 VTM10.0 码率控制算法提升了 0.028dB。算法最终的平均BDBR 相比于 VTM10.0 的 BDBR 平均减少了 0.86%
创新点这个论文的主要贡献或者创新点是什么?他的创新是基于之前的某个模型或者理论?引入灰度共生矩阵,计算出反映编码帧纹理复杂度的相关特征值,用于帧层图像权重的调整;在计算LCU 权重时,通过引入最优拉格朗日乘子对权重进行重新计算,提高权重分配的准确性。
结论作者从中学到了什么?
研究展望对未来的研究有什么暗示或建议?H.266/VVC 的码率控制算法,只是从 GOP 层、帧层和 LCU 层入手考虑了相关的算法研究,没有考虑到更下一层的码率控制中比特分配的相关性。因此,未来的工作中可以进一步考虑 CU 的划分与码率控制的比特权重分配之间的关系,构建出更小尺寸的编码块层作为码率控制的新的单元层。
重要性为什么这项研究很重要?码率控制技术使得视频在编码过程中能够自适应地调节编码参数值,在保证编码质量的前提下,尽最大可能地提高通信信道的利用率。码率控制在视频编码以及视频通信应用中具有重要意义。
想法和问题你有什么想法和问题?
本文优秀表达能复用的要点是什么?

摘要

视频编码是提高传输效率,降低数据存储压力的一种有效措施。新一代视频编码标准 H.266/VVC(Versatile Video Coding)在各编码模块中引入新的压缩技术,极大提高了视频编码效率,可广泛应用在高清和超高清电视、远程医疗、视频会议等应用中。2019 年年底新冠疫情爆发后,视频会议成为企事业单位远程会议,学校远程教学的主要途径。面对大量的会议视频用户,不同的会议场景,如何确保视频的通信质量,尤其是感兴趣区域(Region Of Interest, ROI)的编码质量,成为目前视频编码领域的研究重点。码率控制技术既能产生匹配传输带宽的码流,还可通过比特分配调节保证主要编码区域的质量,是视频通信系统不可或缺的重要模块。由于 VVC 码率控制算法没有充分考虑编码帧的内容特性和最大编码单元(Largest Coding Unit, LCU)的时空域复杂度,导致比特分配存在误差,码率控制算法性能有进一步优化的空间。本文针对 VVC 码率控制算法在帧层与 LCU 层比特分配过程中存在的问题,对码率控制算法进行了优化。在此基础上,针对视频会议场景中 ROI 进行基于最大编码单元的目标比特调整,提高了视频编码的主观质量。

本文针对 H.266/VVC 码率控制算法没有综合考虑会议类视频编码帧的实际纹理特征的问题,提出了一种基于视频内容相关特征值的码率控制算法。首先,通过引入灰度共生矩阵,计算出反映编码帧纹理复杂度的相关特征值,用于帧层图像权重的调整;然后,基于 R-λ模型对 LCU 层的λ参数进行重新计算,调整权重分配大小,并在编码过程中根据实际消耗比特不断更新参数值,提高 LCU 层比特分配的精度。经测试,本文算法在低延时(Low Delay-P, LDP)配置下,与自适应权重分配算法相比,在更接近目标码率情况下,率失真(Rate-Distortion, R-D)性能提升了 0.86%,改善了视频序列的主客观质量。

为了提高会议类视频 ROI 的编码质量,本文首先基于 LCU 对会议类视频 ROI进行检测,并以计算出的显著度值进行标记,然后使用 Sobel 梯度检测算子和MSE(Mean Square Error)比特检测算法分别检测 LCU 的纹理复杂度和编码代价,并对复杂度因子和编码代价进行联合加权,构建出一种新的权重因子,基于新的重庆邮电大学硕士学位论文 摘要II权重因子对待编码 LCU 比特权重进行调整分配。同时,通过 LCU 的显著度值进行目标比特分配调整,确保 ROI 的编码质量,达到优化会议视频场景的主客观质量的目的。实验结果表明,在 LDP 配置下本文所提算法相比于自适应码率控制算法的码率控制相对误差平均降低了 0.011%,率失真性能提升了 1.87%,改善了会议类视频的编码性能。

为什么要码率控制

在视频编码过程中,如果采用固定编码参数值对视频序列进行编码,那么编码器输出的码流会随着每一帧图像包含的信息量以及内容复杂度的不同而产生波动。如果输出码流过大,可能会超过发送端缓存区的容量,导致视频传输时延过高甚至丢帧的现象发生;如果输出码流的码率过小,则网络通信信道得不到充分的利用,浪费传输资源,解码端所得到的视频质量较差,在解码视频中会出现图像模糊化以及方块效应等现象。因此有必要对视频编码过程中的码率进行控制,使得编码后码流的比特数与传输信道的带宽上限匹配,同时也要兼顾传输视频的质量,使编码后的图像失真尽可能的小。

码率控制的关键

码率控制技术的关键点是通过目标比特分配的方式来获取量化参数(Quantization Parameter, QP)的值,进而调节输出码率的大小,达到控制码率的目的。

会议类视频码率控制研究背景

对于会议类特定场景的视频,加入码率控制技术不仅可以保证视频输出码流与网络带宽相适应的同时,还能够尽可能地保证视频的失真度最小,提高重建视频的质量。考虑到会议类视频的场景性质,人们在接受视频信息时会重点关注感兴趣区域。在进行码率控制环节之前先将感兴趣区域和非感兴趣区域进行区分,在码率控制环节中重点保证会议类视频感兴趣区域部分的编码质量,就能够最大程度地平衡视频的输出码流与主客观质量,因此面向会议类视频的 H.266/VVC 码率控制算法具有重要的研究价值

视频会议系统研究现状

在会议应用场景中,会议视频常常存在着大量固定的背景区域,且背景区域的纹理复杂度不确定。对于此类视频,人们通常关注的焦点往往是人脸,或讲课 PPT 等屏幕内容,因此前景区域大多为人脸区域与屏幕内容区域。传统的视频编码方式忽略了人眼的视觉特性,单纯地针对整个视频编码单元的纹理复杂度进行资源分配和码率控制,对于背景区域较复杂的视频序列,这种编码方式会导致主观质量的下降。因此,针对会议类视频编码,如果引入 ROI 编码方式可提高视频编码质量

目前基于 R-λ模型的码率控制算法的问题

首先,在帧层码率控制算法研究中,VVC 的码率控制算法虽然考虑了编码实际结果的失真值,并以 R-λ模型为推导基准修正参数更新公式,提高了参数更新的准确性。但在视频编码过程中,VVC 码率控制算法未充分考虑一个图像组中编码帧的纹理特性,因此在帧层的编码率失真性能和视觉体验还有待提高。

其次是 LCU 层的比特权重分配。VVC 根据当前帧的总目标比特以及模型参数进行 LCU 层的权重分配,由于没有考虑到同一帧中 LCU 层图像的空域纹理特性,同一位置时域上的关系以及实际编码消耗比特与目标比特之间的误差关系,所以 LCU 层的比特分配机制仍有改进的可能性。

再者,码率控制结合 ROI 的算法具有更进一步提高视频编码质量的拓展性,结合 ROI 的码率控制算法可以在主观质量上有着明显的提升,对于 ROI 进行重点的比特权重的分配,而对于非 ROI 的比特分配不作重点的权重考虑,最终可以实现即便在客观指标略微提升甚至下降的情况下,也能达到良好的视觉体验。

文章主要两大优化算法
  1. 会议视频的帧层比特分配及 R-λ模型优化目前帧层码率控制算法相关研究已有很多。本文针对会议视频帧层的码率控制,提出了一种基于视频内容相关特征值的码率控制算法。为了解决原平台码率控制算法没有对待编码帧进行预处理分析的问题,本文通过引入灰度共生矩阵,计算出反映编码帧纹理复杂度的相关特征值,用于帧层图像权重的调整;在计算LCU 权重时,通过引入最优拉格朗日乘子对权重进行重新计算,提高权重分配的准确性。该算法实现了在相同码率控制配置情况下,提高了码率控制精度和视频序列的主观和客观质量。
  2. 最大编码单元层 ROI 码率控制优化算法面向会议类视频,本文采用图像边缘检测算子计算 LCU 层像素的复杂度因子,并根据统计前一编码帧每个 LCU 的均方误差和实际消耗的编码比特数,计算出待编码 LCU 的编码代价。以待编码 LCU 的复杂度因子和编码代价作为会议类视频中编码块纹理复杂度描述信息,经联合加权到 LCU 层比特分配模型中,构建一种LCU 层目标比特的分配方式。基于 LCU 计算出会议类视频的显著度值并标记出ROI,并针对 ROI 显著度值进行目标比特的分配调整,提高会议视频的编码性能以及 ROI 的编码性能。

H.266/VVC 编码器的整体工作流程

首先,编码器将获取的源视频图像进行块划分,然后权衡编码块在帧内/帧间编码条件下的率失真性能,选择合适的划分模式,将划分好的块送至帧内/帧间预测模块进行预测编码。如果进行帧内预测编码,则通过相邻已编码像素点预测编码区域的像素值,或通过帧内运动估计搜索当前编码帧中与当前编码区域相似的区域,将搜索到的区域进行运动变换后得到当前编码区域;如果进行帧间预测编码,则采用运动估计在参考帧中搜索与当前编码区域相似的编码区域,将搜索到的区域进行运动补偿后得到当前编码区域的预测像素值。接下来通过原始值和预测值进行计算得到预测残差值,为了使预测残差值能量分布更加集中,H.266/VVC 对预测残差值进行 DCT 变换,再对经过变换之后的矩阵系数进行量化处理,使得低频系数变小而大多数的高频系数为0,从而大大地压缩了需要传输的数据量。最终量化后的数据在经过熵编码后形成视频码流的形式被传输到解码端。H.266/VVC 解码器接收码流之后按照一定顺序对视频帧进行重建。

优化算法1:基于视频内容相关特征值的码率控制算法
帧层目标比特分配

灰度共生矩阵

对于纹理变化缓慢的图像,其灰度共生矩阵对角线上的数值较大;而对于纹理变化较快的图像,其灰度共生矩阵对角线上的数值较小,对角线两侧的值较大。

image-20230804110808109

以(1,1)点为例,GLCM(1,1)值为1说明只有一对灰度为1的像素水平相邻。GLCM(1,2)值为2,是因为有两对灰度为1和2的像素水平相邻

相邻一般取四个方位,水平、竖直、两个斜对角

LCU层目标比特分配

image-20230804190959020
优化的是估计拉格朗日乘子

算法流程图

算法实验测试结果

本章算法所有序列的总平均码率的相对误差值为 0.434%,码率控制精度优于自适应设置下的 0.435%。本章算法下测试序列的平均峰值信噪比相比于 VTM10.0 码率控制算法提升了 0.028dB。本章所提算法最终的平均BDBR 相比于 VTM10.0 的 BDBR 平均减少了 0.86%,

优化算法2:基于感兴趣区域的会议类视频码率控制算法

由于码率控制算法中目标比特分配的最小单元为 LCU,因此本章首先以 LCU为基本单元将会议场景视频的感兴趣区域划分为人脸区域和屏幕内容区域,通过采用联合特征的方式计算感兴趣区域的显著度值。然后使用 Sobel 梯度检测算子和均方误差比特检测算法分别检测纹理复杂度区域和编码代价区域,并对图像的复杂度区域因子和编码代价区域因子进行联合加权,构建出一种新的权重因子,并对每个 LCU 的目标比特进行合理调整和准确分配。最后,结合感兴趣区域的显著度值调整 LCU 的比特分配,达到优化感兴趣区域编码质量的目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/75385.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 图表控件库 ScottPlot

推荐使用ScottPlot原因: 1.图形界面简洁,样式丰富 2.代码较少 3.官方提供多种实例源码,并可以直接通过图形界面查看,便于快速开发 Github源码链接:https://github.com/ScottPlot/ScottPlot 官网WindowFrom Demo实例…

安防视频监控汇聚平台EasyCVR接入Ehome告警,公网快照不显示是什么原因?

智能视频监控汇聚平台TSINGSEE青犀视频EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,视频监控管理平台…

小米平板6将推14英寸版!与MIX Fold 3同步推出

今天,知名数码博主数码闲聊站爆料消息,称小米平板6将推出一款Max版本,预计与小米MIX Fold 3同步推出。 据介绍,小米平板6 Max将是小米首款14英寸大屏的旗舰平板,平板搭载骁龙8处理器,在性能释放、影音表现、…

LabVIEW深度相机与三维定位实战(下)

‍‍🏡博客主页: virobotics的CSDN博客:LabVIEW深度学习、人工智能博主 🎄所属专栏:『LabVIEW深度学习实战』 🍻上期文章:『LabVIEW深度相机与三维定位实战(上)』 &#…

计算机视觉:替换万物Inpaint Anything

目录 1 Inpaint Anything介绍 1.1 为什么我们需要Inpaint Anything 1.2 Inpaint Anything工作原理 1.3 Inpaint Anything的功能是什么 1.4 Segment Anything模型(SAM) 1.5 Inpaint Anything 1.5.1 移除任何物体 1.5.2 填充任意内容 1.5.3 替换任…

国内GitHub加速访问工具-Fetch GitHub Hosts

一、工具介绍 Fetch GitHub Hosts是一款开源跨平台的国内GitHub加速访问工具,主要为解决研究及学习人员访问 Github 过慢或其他问题而提供的 Github Hosts 同步工具。 项目原理:是通过部署此项目本身的服务器来获取 github.com 的 hosts,而…

el-table点击表格某一行添加到URL参数,访问带参URL加载表格内容并滚动到选中行位置 [Vue3] [Element-plus 2.3]

写在最前 需求:有个表格列出了一些行数据,每个行数据点击后会加载出对应的详细数据,想要在点击了某一行后,能够将该点击反应到URL中,这样我复制这个URL发给其他人,他们打开时也能看到同样的行数据。 url会根…

铰接式车辆的横向动力学仿真提供车辆模型研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

WAF绕过-AWVS+Xray+Goby+sqlmap-绕过宝塔防火墙

WAF绕过主要集中在信息收集,漏洞发现,漏洞利用,权限控制四个阶段。 1、什么是WAF? Web Application Firewall(web应用防火墙),一种公认的说法是“web应用防火墙通过执行一系列针对HTTP/HTTPS的安…

Typescript中的元组与数组的区别

Typescript中的元组与数组的区别 元组可以应用在经纬度这样明确固定长度和类型的场景下 //元组和数组类似,但是类型注解时会不一样//元组赋值的类型、位置、个数需要和定义的类型、位置、个数完全一致,不然会报错。 // 数组 某个位置的值可以是注解中的…

数学知识(二)

一、裴蜀定理 对于任意整数a,b&#xff0c;一定存在非零整数x,y&#xff0c;使得 ax by gcd(a,b) #include<iostream> #include<algorithm>using namespace std;int exgcd(int a,int b,int &x,int &y) {if(!b){x 1,y 0;return a;}int d exgcd(b,a %…

操作系统知识点总结

操作系统知识点总结: 第一章:操作系统概述 1.1操作系统的概念: ​ 操作系统是一种系统软件,与其他系统软件和应用软件不同,它有自己的基本特征。它的四大基本特征也就是并发,共享,虚拟,异步。 1.2操作系统的特征(四大基本特征): 并发: 这里我们要理解什么是并发,什么是…

Centos7 上安装 redis-dump 和redis-load 命令

一、安装rvm 1、安装GPG keys gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL http://rvm.io/mpapis.asc | gpg2 --import - curl -sSL http://rvm.io/pkuczynski.asc | g…

No primary or single unique constructor found for interface java.util.List

报错截图&#xff1a; 报错内容&#xff1a; 2023-08-04 15:46:32.884 ERROR 14260 --- [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing fa…

企业级开发中协同开发与持续集成持续部署

文章目录 1 创建代码仓库2 使用git协同开发2.1 独立团队开发2.2 多团队开发git工作流 2 持续集成和持续部署2.1 创建docker镜像2.2 使用coding构建 1 创建代码仓库 每个项目有唯一的代码仓库&#xff0c;所以不是每个开发者都需要创建一个代码仓库&#xff0c;一般都是项目负责…

【C#学习笔记】内存管理

文章目录 分配内存释放内存GC标记清除算法分代算法 .NET的GC机制有这样两个问题&#xff1a; 官方文档 自动内存管理 自动内存管理是CLR在托管执行过程中提供的服务之一。 公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放。 对开发人员而言&#xff0c;这就意味着…

《Web安全基础》03. SQL 注入

web 1&#xff1a;简要 SQL 注入2&#xff1a;MySQL 注入2.1&#xff1a;信息获取2.2&#xff1a;跨库攻击2.3&#xff1a;文件读写2.4&#xff1a;常见防护 3&#xff1a;注入方法3.1&#xff1a;类型方法明确3.2&#xff1a;盲注3.3&#xff1a;编码3.4&#xff1a;二次注入3…

W5100S-EVB-PICO做DNS Client进行域名解析(四)

前言 在上一章节中我们用W5100S-EVB-PICO通过dhcp获取ip地址&#xff08;网关&#xff0c;子网掩码&#xff0c;dns服务器&#xff09;等信息&#xff0c;给我们的开发板配置网络信息&#xff0c;成功的接入网络中&#xff0c;那么本章将教大家如何让我们的开发板进行DNS域名解…

【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、数据、讲解 &#x1f4a5;1 概述 由于能源的日益匮乏&#xff0c;电力需求的不断增长等&#xff0c;配电网中分布式能源渗透率不断提高&#xff0c;且逐渐向主动配电网方…

自监督去噪:Noise2Self原理分析及实现 (Pytorch)

文章地址:https://arxiv.org/abs/1901.11365 代码地址: https://github.com/czbiohub-sf/noise2self 要点   Noise2Self方法不需要信号先验信息、噪声估计信息和干净的训练数据。唯一的假设就是噪声在测量的不同维度上表现出的统计独立性&#xff0c;而真实信号表现出一定的…