论文Perceptual sensitivity-based rate control method for highefficiency video coding阅读笔记——比特分配

本文主要是介绍论文Perceptual sensitivity-based rate control method for highefficiency video coding阅读笔记——比特分配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文来源:Multimed Tools Appl (2016) 

作者团队:华侨大学&香港中文大学

Abstract

最新的视频编码标准——高效视频编码(HEVC)在平方误差和(SSE)方面优化了其编码效率,这没有充分考虑输入视频的感知特性。因此,HEVC在感知视频编码的意义上是无效的。为了解决这一问题,基于人类视觉系统(HVS)的观察,提出了一种高效的基于感知灵敏度的HEVC速率控制(PSRC)方法。在第一阶段,所提出的方法开发了感知灵敏度测量,以评估每个编码树单元(CTU)和每个帧的感知灵敏度,然后将其用于指导比特分配,以便将更多比特分配给具有较高感知灵敏度的区域。为了满足目标比特,使用改进的R-λ模型来确定量化参数(QP)。实验结果表明,与HEVC中的原始速率控制相比,该方法能够提高感知编码性能。

3 Proposed Perceptual Sensitivity-Based Rate Control (PSRC) for HEVC

3.1 Perceptual sensitivity measurement

显然,用于指导视频编码过程的感知灵敏度测量的开发应考虑以下要求。首先,感知灵敏度测量应能够很好地描述HVS感知和视频编码失真(例如量化、伪影)。其次,感知灵敏度测量应具有较低的复杂性,并易于纳入视频编码过程(例如,速率控制)。因此,尽管有许多现有的视觉质量评估指标能够很好地衡量HVS感知[19,20],但它们不适用于视频编码过程。正如我们所知,传统的视频编解码器在SSE方面优化了RD性能,这是计算效率高的。然而,SSE和HVS感知之间的相关性较差[29]。进一步的研究发现,均方误差(MSE)与HVS感知之间存在很强的线性关系[2,22]。

基于此,我们提出了一种基于MSE的感知灵敏度测量方法,它不仅比MSE更好地指示HVS感知,而且更容易并入视频编解码器。对于每个CTU,提出的感知灵敏度测量(PSM)通过基于其感知特性对MSE进行加权来定义,整个帧的PSM可以通过简单地对帧中每个CTU的PSM求和来计算:

 

其中MSEi是原始和重建的第i个CTU之间的均方误差,N是当前帧f中的CTU数量,ki是表示第i个CTU的感知特性的感知加权因子。直观地说,视频场景中失真的可见性取决于其空间纹理和时间运动。因此,通过同时考虑空间纹理和时间运动来计算感知加权因子ki。首先,对于空间纹理,一般来说,从空间角度来看,高空间纹理区域比低/中空间纹理区域能够容忍更多的失真。因此,将空间纹理复杂度(STC)作为每个CTU的空间感知特征,以评估其纹理复杂度: 

其中,σi是当前帧f中第i个CTU的方差,σf是当前帧的方差,而σm是当前帧中所有CTU的平均值的方差,可通过以下公式计算:

  

其中mi是当前帧f中第i个CTU的平均值,N是当前帧中CTU的数量。该STCi充分利用了两种纹理掩蔽特性:全局平滑度和局部对比度。可以看出,STC值越小,方差越大,这意味着当前CTU更有可能包含更复杂的纹理信息。 

其次,对于时间运动,从时间角度来看,人们对运动区域比静止区域更感兴趣。因此,时间运动活动(TMA)被表示为每个CTU的时间感知特征,即使用MV长度来评估运动活动。如[17]所指出的,一旦移动对象的速度非常快,超过了人类的时空分辨率,移动区域将被平滑,从而导致运动模糊。对于这些运动模糊区域,人们总是无法感知良好的视觉质量,可能会忽略这些区域。因此,每个CTU的TMAi可计算为:

 

其中,MVi={xi,yi}是当前帧中第i个CTU的MV,根据大量实验经验,L被确定为8。我们可以看到,较小的TMA值表示CTU具有较低的运动活动性,特别是TMA=1表示CTU很可能落入静止区域或运动模糊区域。

基于上述分析,对于当前CTU,我们可以分别获得两个感知特征——空间纹理复杂度(即STC)和时间运动活动性(即TMA)。为了使空间STC和时间TMA对感知失真的评估做出同等贡献,使用这两个感知特征的乘积的简单策略来计算感知加权因子ki:

 

需要指出的是,(1)中提出的感知灵敏度测量可以很好地指示HVS的纹理掩蔽特性。更具体地说,如果在复杂纹理和平滑CTU中都出现具有相同MSE的失真,则复杂纹理CTU中的感知质量降低往往小于平滑CTU;类似地,如果在运动和静止CTU中都遇到具有相同MSE的失真,则在运动区域中将更容易感知到感知质量降低。 

 3.2 Bit allocation guided by perceptual sensitivity

对于感知速率控制,关键问题是如何根据感知灵敏度为每个帧和每个CTU分配比特,这可以通过使用第3.1节中开发的PSM来计算。比特分配按照GOP级别、帧级别和CTU级别的顺序执行,如下所示。

1) Pre-analysis process

在比特分配之前,我们执行预分析过程以获得每个CTU和帧的PSM。在此预分析过程中,仅使用一个最近的前一帧作为参考帧,仅对CTU执行2N×2N划分模式以获得每个CTU的MV,并在原始CTU与其最佳匹配CTU之间计算MSE。在此过程中可以通过使用(2)和(4)来分别计算每个CTU的空间纹理复杂度STCi和时间运动活动性TMAi。然后,可以使用(1)计算每个CTU的PSMi和每个帧的PSMF。注意,第一视频帧是没有用于执行运动估计的参考帧的特殊情况。

2) GOP level bit allocation

注意,GOP级比特分配是通过使用[13]中建议的常用方式进行的。假设RT是目标比特率,帧率是f,NGOP是GOP长度,Ncoded是已编码的帧数,SW是平滑窗口的大小,用于使比特率变化更平滑,Rused表示已使用的比特。首先,每个帧的平均比特可以简单地计算为:

然后,每个帧的目标比特可以如下计算,包括两项:每帧的平均比特和缓冲状态。

 

最后,当前GOP的目标比特为

 

3) Frame level bit allocation

帧级比特分配是在获得当前GOP的比特后进行的。人们可以容易地感知到GOP中的不同帧对整个GOP的主观质量有不同的影响。考虑到感知灵敏度较高的帧应分配更多比特,基于在(1)中计算的其感知灵敏度PSMF为每个帧分配比特。因此,当前GOP中第j帧的目标比特可以确定为:

 4) CTU level bit allocation

同样,帧中不同的CTU对整个帧的主观质量有不同的影响。因此,当前CTU的目标比特 TCurrCTU根据其在(1)中计算的感知灵敏度进行分配,如下所示。

其中Bitheader是所有头信息的估计比特,包括slice header、MV、预测模式等,它是根据属于同一级别的先前编码图片的实际header比特估计的。 

通过使用由感知灵敏度引导的上述比特分配,可以看出,具有较高感知灵敏度值的帧和CTU将被分配更多比特,从而可以改善重构视频的感知视觉质量。

4 Experimental results and discussions

在这项工作中,我们利用常用的视觉质量评估度量SSIM[25]来测量重构视频的感知质量,这是通过简单地平均每个帧的相应SSIM值而获得的。将所提出的PSRC方法与HEVC中的原始速率控制方法进行了比较[13]。根据[3]中的方法,使用以下性能指标测量其速率SSIM曲线之间的平均差值:△SSIM指平均SSIM变化;△BR表示总比特率变化(百分比);+表示增量;-表示减量。此外,比特率误差(BRE)[13]用于指示目标和实际比特率之间的不匹配。

 表1显示了分别在低延迟和随机接入设置下,与HEVC中的原始速率控制相比,所提出的用于HEVC的PSRC方法的性能[13]。可以看出,对于低延迟设置,所提出的PSRC方法平均可以实现6.94%的比特率降低和0.0077 SSIM改进。对于随机接入设置,所提出的PSRC方法平均可节省5.71%的比特率和0.0058的SSIM增量。此外,表2显示了在低延迟和随机接入设置下,HEVC[13]中提出的PSRC方法和原始速率控制的比特率误差。可以看出,所提出的PSRC方法能够实现与HEVC[13]中的原始速率控制类似的目标比特和实际输出比特之间的比特率失配。此外,图1和图2分别示出了在低延迟设置和随机接入设置下通过HEVC[13]中的原始速率控制和提出的PSRC方法重建的帧的示例。可以看出,所提出的PSRC方法可以根据输入视频的感知灵敏度有效地分配比特。类似的参数可以应用于其他序列。因此,所提出的PSRC方法能够有效地改善HEVC的感知编码性能。此外,所提出的PSRC方法的另一个优点是,它的计算开销可以忽略不计,因为与编码过程相比,感知灵敏度测量的复杂性相当小。

 

 

这篇关于论文Perceptual sensitivity-based rate control method for highefficiency video coding阅读笔记——比特分配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/169654

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法