端到端的视频编码方法及码率控制算法

news2024/11/18 7:40:45

文章目录

        • 基于卷积神经网络的的端到端的视频编码方法
          • 自编码器
        • 基于端到端学习的图像编码研究及进展
          • 变换
          • 量化
          • 熵编码
        • 面向视频会议场景的 H.266/VVC 码率控制算法研究
        • 基于强化学习的视频码率自适应决策研究
            • 自适应流媒体传输技术
            • 码率自适应算法研究现状
            • 强化学习
            • 深度强化学习算法介绍

基于卷积神经网络的的端到端的视频编码方法

河北师范大学

论文开题时间:2021年4月22日 发布时间: 2022年5月25日

现如今,传统视频压缩标准如H.264和H.265采用了混合编码框架。包括视频帧内预测,视频帧间预测,变换,量化,熵编码等编码模块。

一方面,传统视频压缩标准采用了混合编码框架,多个模块会带来较高的复杂度,现在利用神经网络模型有效的实现模块功能,利用其神经网络的非线性表示能力。另一方面,由于率失真优化的权衡,这个过程不可避免地会产生压缩效应,如块效应和振铃效应,大多数基于深度学习考虑使用联合优化的方式,将视频压缩整个框架以一个庞大的神经网络模型来实现。研究表明深度学习可以用于视频压缩,基于深度学习的视频压缩方案主要在这两方面上发展。

现如今,主要是以深度学习为主体,构建运动估计网络,运动向量编码及解码网络(主要通过自编码器来实现),运动补偿网络和残差网络,然后将这几个神经网络模型结合起来进行深层次的学习,并设计损失函数联合优化.将每个网络构建之后采取联合优化的方式进行训练。

基于深度学习的视频压缩方案,其主要方向有两个:一个方向是对传统视频压缩某个模块通过神经网络结构实现进行视频压缩,它试图基于学习的解决方案改进传统混合编码框架中的单个编码工具。另一个方向是端到端神经网络视频编码,将视频帧传入神经网络模型学习得到重构帧,以端到端学习的方式紧凑地表示输入视频。

不过基于深度学习的视频压缩算法还处于研究初期,从最开始是视频编码中某个模块设计有效的卷积神经网络来实现,到后来2018年出现了端到端优化的视频压缩网络模型。

自编码器

在深度学习中,自动编码器是一种无监督的CNN结构,自动编码器学习到输入值的隐含特征,这称为编码(coding),并且将学习到的特征通过一种CNN结构重构出原始数据,这个过程称作解码(decoding)

自编码器存在三个特点,首先,自编码器是数据信息相关的,所以自动编码器只能压缩与训练数据相类似的数据或者样本。比如,使用人脸训练出来的自动编码器在压缩别的图片,比如树木时性能很差,因为它学习到的特征是与人脸相关的。其次,自动编码器不是无损的,解释为重构后的数据和原始的输入对比是退化的,比如,MP3,JPEG等压缩算法都是有损的,和无损压缩相比不一样。最后,自动编码器是深度神经网络,通过数据样本中学习特征,所以可看出容易对指定的输入数据训练得到特定的自编码器,而不需要完成任何新工作。

基于端到端学习的图像编码研究及进展

录用日期:2020-04-17

端到端学习省去了传统方法中需要手动设计、联合优化多个模块的复杂步骤,而是将输入通过一个多层叠加的神经网络,学习输入与输出的映射关系,并以此得到对应的输出。端到端学习的重要特点之一是让"数据说话"。

传统的图像编码器可分为变换、量化和熵编码三个独立模块,而端到端学习则是将三个模块联合进行整体优化。

变换

图像变换编码将空域图像像素转换为变换域系数,实现能量聚集的紧致表达,以达到压缩的目的。大多数压缩方法都使用正交线性变换来降低数据的相关性。国 际图像编码标准 JPEG 和JPEG2000分别使用的离散余弦变换和小波变换也均为线性变换。

但是正交线性变换中线性滤波器响应的联合统计量呈现了很强的高阶依赖性,为解决此问题可联合局部非线性进行增益控制。近几年,端到端学习将非线性变换融 入图像压缩框架中。

量化

由于目标失真函数主要使用梯度下降法优化端到端编码中的率失真,反向传播中要求量化函数全局可导,所以基于端到端学习的图像压缩研究 一直围绕着解决量化的不可导问题(量化不连续,其导数在任何地方都为零或无穷大)而展开。

为解决量化的不可导问题,最常见的方法是随机近似和用光滑导数近似的round方法。如今矢量量化相较于标量量化成为更具竞争力的量化方法,提出的软矢量和格型矢量的量化方法可在保证重建质量的同时又使模型具有可微性。

熵编码

就现有的国际图像编码标准而言 ,除使用Huffman编码的JPEG以外,其余的国际图像标准都选择使用算术编码。

在这里插入图片描述

在这里插入图片描述

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

重庆邮电大学

完成日期 2022 年 5 月 25 日

码率控制技术既能产生匹配传输带宽的码流,还可通过比特分配调节保证主要编码区域的质量,是视频通信系统不可或缺的重要模块。由于 VVC 码率控制算法没有充分考虑编码帧的内容特性和最大编码单元(Largest Coding Unit, LCU)的时空域复杂度,导致比特分配存在误差,码率控制算法性能有进一步优化的空间。

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

因此有必要对视频编码过程中的码率进行控制,使得编码后码流的比特数与传输信道的带宽上限匹配,同时也要兼顾传输视频的质量,使编码后的图像失真尽可能的小。

为了解决以上问题,研究者们在视频编码框架中引入了码率控制技术环节。码率控制技术的关键点是通过目标比特分配的方式来获取量化参数(Quantization Parameter, QP)的值,进而调节输出码率的大小,达到控制码率的目的。实际上,量化是编码失真的主要原因,而量化参数 QP 值大小的设置影响着编码器对图像压缩的程度和输出码率的大小。QP 值越小,图像中更多的细节会在重建帧中被保留下来,而代价是输出码率的增加。QP 值越大则恰好相反,图像中的细节部分会丢失,而输出码率降低。因此,码率控制中 QP 值和输出比特率具有反比例的关系,对于越复杂的视频图像,这种反比例的关系表现得就更明显。码率控制技术使得视频在编码过程中能够自适应地调节编码参数值,在保证编码质量的前提下,尽最大可能地提高通信信道的利用率。码率控制在视频编码以及视频通信应用中具有重要意义。

视频编码对视频序列进行预测、变换、量化、熵编码及环路滤波操作之后,去掉了视频的时间冗余和空间冗余,将视频压缩成码流的形式,达到了视频压缩的目的。然而在实际的视频通信以及网络传输过程中,由于传输信道带宽的限制以及视频内容随着传输方式不同而产生的码率波动的情况,不得不考虑通过自适应地调节视频编码参数的方法来对传输码率进行有效控制,使视频编码后的码流能够在有限的信道带宽上传输,重建出良好的视频质量。

码率控制的主要目的是在编码输出码流与量化参数之间寻找平衡点,使得视频编码的率失真性能[41]达到最佳,从而获得质量相对稳定的视频序列。

在这里插入图片描述

  1. 根据输入编码单元的内容、纹理复杂度、传输信道带宽、缓冲区状态为其分配合适的目标比特数
  • 对于纹理复杂度比较高的图像或者最大编码单元块,码率控制会分配比较多的编码比特值;而对于图像或最大编码单元中比较平坦的区域,码率控制会分配较少的编码比特值,提高编码的率失真性能,在消耗合理的编码比特值情况下,得到质量相对较高的重建视频帧
  1. 编码单元通过码率和量化参数之间的模型关系获得对应的量化参数值

由于实际编码消耗比特与目标比特分配之间存在着差异,因此设置缓冲器使得码流能够更平稳地在信道中传输,缓冲器可以被看作一个先入先出的队列装置,以平稳的速率将码流传输到信道中

在这里插入图片描述

image-20230720162231994

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

image-20230721130729007

在这里插入图片描述

在这里插入图片描述

基于强化学习的视频码率自适应决策研究

北京交通大学 发布时间2022年6月

自适应流媒体传输技术

流媒体是指包含视频、音频数据的一种时基媒体,采用流式传输技术来向客户端传输音视频数据。

在客户端的播放过程中,会先下载一部分数据填充在缓冲区内,并在播放过程中不断下载视频数据到缓冲区内,实现边播放边下载的效果,流媒体技术也凭借这一优势成为主流的多媒体传输技术。

传统的流媒体技术在数据的传输过程中不会考虑网络环境的变化,也不会动态地调整流媒体传输的参数,所以当网络状况较差的时候会发生卡顿现象。而当网络状态较好的时候,传统的流媒体技术也无法很好地利用网络带宽。

自适应流媒体传输过程中,客户端视频播放器会根据当前播放环境如网络吞吐量、缓冲区占用等条件来尝试估计当前可用带宽,并使用码率自适应算法(Adaptive Bitrate,ABR)为视频块选择最佳的码率级别。

因此,码率自适应算法需要在带宽有限的情况下在提供较高的视频质量,减少播放过程中的卡顿时间以及实现较高的视频播放平滑度这三者间取得平衡,以此达到提高用户体验质量的目标。

码率自适应算法是自适应流媒体传输技术的关键,可以动态地为视频块选择合适的码率级别,有效提高用户的观看体验质量。

目前广泛应用于视频点播平台的码率自适应算法忽略了视频语义信息以及用户的主观感受

目前主流的应用于视频点播场景下的码率自适应算法主要有基于启发式规则和基于强化学习两大类。

传统的基于启发式规则的码率自适应算法主要考虑吞吐量或缓冲区占用这两个因素来选择码率。但是这一类方法在实际运用中需要对参数做出大量调整,难以泛化到不同的网络条件下。而基于强化学习的码率自适应算法不用依赖于对环境的预先假设,通过观察网络带宽的变化和奖励经验的涨幅变化,做出在当前环境下最好的码率决策,相较于基于启发式的码率自适应算法,在性能和实用性上有较高的提升。然而上述提出的方法都将视频内容视为公共数据,不考虑视频包含的语义信息

实际上,用户的观看体验是主观的,会受到视频语义信息和自身兴趣偏好的影响。

实时直播流媒体系统中实现自适应视频传输面临几项巨大的挑战:

(1) 虽然可以通过将视频数据分割成更小的块来减少编码和传输延迟,但有限的资源使得服务器只能为转换编码和存储提供有限的码率级别。因此,码率自适应算法不能总是找到一个合适的码率来实现更精准的码率控制。

(2) 与视频点播场景不同,直播流媒体应用程序实时生成视频,更具动态性。吞吐量预测和码率决策也更具挑战性,因为网络吞吐量估计和码率决策必须在视频块准备好后的一段时间间隔后做出。

(3) 直播流媒体需要在低延迟约束下提供高质量的 QoE。当播放器缓冲区足够补偿网络波动时,该服务可以为视频点播平台提供更好的 QoE,但在直播视频流场景下,会显著增加直播视频服务的延迟。

目前,直播平台在不考虑网络和传输条件的情况下使用静态默认码率。这对用户来说是不方便的,因为当视频播放出现卡顿时,他们需要手动降低视频码率;而当传输条件改善时,又必须手动提高视频码率。为了提高实时直播场景下用户的 QoE,需要一种能够根据网络条件和用户设备信息自适应地管理视频传输的码率决策方案,以便为用户提供更高质量的实时视频流。

在视频点播和实时直播场景下,分别实现了基于用户偏好的码率自适应算法基于播放速率和跳帧控制的连续时延和码率控制算法

研究背景

在 1.2.2 节中提到的大部分码率自适应算法都已经广泛应用到各类视频点播平台中,但是在视频点播场景下,大部分码率自适应算法对于 QoE (观看体验质量Quality of Experience)指标的设定都是基于视频传输系统的测量性能参数,如视频平均码率、卡顿时间及视频码率变换等,而忽视了用户的主观感受。事实上,受视频语义和用户偏好的影响,用户对于视频的不同内容有不同程度的偏好。因此,与其它对待视频每个部分的语义不可知的方法相比,以更高的质量交付用户偏好的视频内容可以提高用户的感知视频质量。所以本课题在视频点播这一场景下将更关注用户的主观感受,将其纳入到 QoE 度量指标中,并设计一个考虑用户偏好感知的码率自适应算法来优化视频码率决策过程。

其次,在实时直播流媒体传输过程中,码率自适应算法面临着更大的挑战,不仅需要进行码率控制,同时也需要进行时延控制,而且在实时的直播场景下可用于码率决策的信息较少。通过连续的时延控制参数来调整客户端播放速率,根据网络情况适当地加快或降低播放速度,从而减少直播延时或卡顿现象的出现,并且可以通过跳帧机制来防止时延过大。目前基于强化学习的码率自适应算法大多通过 DQN 算法[34]和 A3C 算法[35]设计离散的码率控制策略,没有考虑到连续的时延控制问题。尽管这些算法可以通过将连续时延控制的参数离散化,来解决离散的码率控制和连续延迟控制问题,但是在这一过程中,对于时延控制参数离散化的粒度是很难把握的。

针对以上所描述的问题,本文将从两个方面依次入手,将深度强化学习算法的智能性和与码率自适应算法相结合,设计实现分别适用于视频点播和实时直播场景下的码率自适应算法。具体研究内容如下:

(1) 设计基于用户偏好感知的码率自适应算法 UPARA(User-Preference-AwareRate Adaptive)。在视频点播场景下,关注视频内容的语义信息及用户的主观感受,分析用户对不同视频内容的偏好程度。针对视频语义及用户偏好分析,本文基于深度学习网络模型进行场景识别,从而实现对视频的语义分析。同时根据用户观看历史,得到不同类型场景下用户的偏好程度。在此基础上,使用马尔可夫决策过程(Markov Decision Process,MDP)对码率自适应决策过程进行建模,构建深度神经网络,综合考虑用户对视频内容的偏好程度、网络吞吐量以及缓冲区占用等因素,动态学习最优视频传输策略,为视频块分配合适的码率级别并最大化总体 QoE。

(2) 设计基于播放速率和跳帧控制的连续时延和码率控制算法 PRFDCLRC(Playback Rate and Frame Dropping based Continua Latency and Rate Control)。在实时直播场景下,通过连续的时延控制参数来调整播放速度,减少直播时延和视频卡顿现象的出现,并设计跳帧下载控制策略,判断是否需要进行跳帧,来防止直播时延过大。同时引入深度强化学习的 DDPG 算法,设计综合考虑视频质量、端到端延时、缓冲区占用的码率决策算法,动态学习视频传输策略,为视频块选择合适的码率级别。同时算法采用连续的时延和码率控制,可以有效避免实验控制参数离散化粒度不好确定的问题,并且可以提供细粒度的时延控制。

码率自适应算法研究现状
  • 基于缓冲区的码率自适应算法

  • 基于网络吞吐量的码率自适应算法

    • 利用过去视频块的下载时间和视频块大小来预估当前网络的吞吐量,从而选择合适的码率级别
  • 基于混合控制理论的码率自适应算法

  • 基于强化学习的码率自适应算法

强化学习

强化学习是学习如何将环境映射到行动,从而最大化数字奖励信号。试错搜索和延迟奖励是强化学习最重要的两个特征。

在这里插入图片描述

智能体:独立思考并能与环境交互的实体

智能体接收环境的状态作为输入,并采取动作与环境进行交互,然后根据环境的反馈(奖励或惩罚)来调整自己的策略,以最大化累积奖励。

深度强化学习算法介绍

深度强化学习结合了深度学习和强化学习各自的优点,能够处理强化学习不能处理的复杂任务。深度强化学习算法主要有基于价值的(Value-based)算法和基于策略的(Policy-based)算法,以及两者的结合演员-批评家(Actor-Critic)算法。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mp4视频太大怎么压缩?教你轻松减小视频大小

MP4视频太大怎么办?很多人都会遇到这样的问题,MP4视频往因为画面清晰度高,画面流畅,所以视频文件会比较大,如果你想向朋友或者家人分享这个视频,但是又因为文件太大无法发送,那么怎么办呢&#…

可视化开发工具:让软件应用开发变得更轻松

一、前言 你是否为编程世界的各种挑战感到头痛?想要以更高效、简单的方式开发出专业级的项目? JNPF低代码工具正是你苦心寻找的产品!它是一款专为稍微懂一点点编程思想的入门级人员设计的神奇工具,集成了丰富的功能和组件&#xf…

使用 CSS 自定义属性

我们常见的网站日夜间模式的变化,其实用到了 css 自定义属性。 CSS 自定义属性(也称为 CSS 变量)是一种在 CSS 中预定义和使用的变量。它们提供了一种简洁和灵活的方式来通过多个 CSS 规则共享相同的值,使得样式更易于维护和修改。…

深度剖析APP开发中的UI/UX设计

作为一个 UI/UX设计师,除了要关注 UI/UX设计之外,还要掌握移动开发知识,同时在日常工作中也需要对用户体验有一定的认知,在本次分享中,笔者就针对自己在工作中积累的一些经验来进行一个总结,希望能够帮助到…

暑假学生使用什么牌子台灯好?分享五款学生使用的台灯

临近暑假,是不是开始补课或写暑假作业了呢?是不是还在为选一款学生使用的台灯而发愁?今天小编就来给大家推荐几款台灯供大家参考参考。 那么问题来了,怎么选择合适的护眼台灯? 第一:先考虑个人预算选择适…

Modbus RTU通信应用

一、功能概述 1.1 概述 Modbus串行通信协议是Modicon公司在1970年开发的。 Modbus串行通信协议有Modbus ASCII和Modbus RTU两种模式,Modbus RTU协议通信效率较高,应用更加广泛。 Modbus RTU协议是基于RS232和RS485串行通信的一种协议,数据通…

论文解读|用于从RGB-D数据进行3D物体检测的Frustum PointNets

原创 | 文 BFT机器人 01 摘要 论文研究了室内和室外场景中基于RGBD数据的3D目标检测。论文的方法不仅仅依赖于3D方案,而是利用成熟的2D对象检测器和先进的3D深度学习进行对象定位,即使是小对象也能实现高效率和高召回。 直接在原始点云中学习&#xff0…

如何让GPT自己命令自己?榨干最后一丝智能,解放双手!

1.让GPT先别说话 2.接下来,看看它学的怎么样 使用成功了!效果拔群! 3.接下来,让他回答自己生成的指令: 效果比想象的还要好!果然最懂GPT的还是它自己,生成的prompt比自己手写的prompt更加精准有…

rocketmq客户端本地日志文件过大调整配置(导致pod缓存cache过高)

现象 在使用rocketmq时,发现本地项目中文件越来越大,查找发现在/home/root/logs/rocketmqlog目录下存在大量rocketmq_client.log日志文件。 配置调整 开启slf4j日志模式,在项目启动项中增加-Drocketmq.client.logUseSlf4jtrue因为配置使用的…

Bug管理规范

目录 1.目的 2.角色和职责 3.缺陷等级定义 4.缺陷提交原则 5.缺陷流转流程 5.1创建缺陷 5.2缺陷分拣/分配 5.3研发认领缺陷 5.4.研发解决缺陷 5.5关闭缺陷 5.6缺陷激活 1.目的 项目过程中对缺陷管理的规则,明确提单规范、用例优先级的选择规则、走单流程、…

为Android构建现代应用——应用架构

选择风格(Choosing a style) 我们将依照Google在《应用架构指南》中推荐的最佳实践和架构指南来构建OrderNow的架构。 这些定义包括通过各层定义组件的一些Clean Architecture原则。 层次的定义(Definition of the layers) 在应用程序中,我们将定义以下主要层次…

【C++ 进阶】继承

一.继承的定义格式 基类又叫父类,派生类又叫子类; 二.继承方式 继承方式分为三种: 1.public继承 2.protected继承 3.private继承 基类成员与继承方式的关系共有9种,见下表: 虽然说是有9种,但其实最常用的还…

【教学类-34-07】20230726拼图(“菱形”凹凸拼图)3*4格子(中班主题《个别化拼图》偏美术)

作品展示: 背景需求 我尝试将拼图的“圆形凹凸角”变成"正方形凹凸角”,没有成功,但做出了“菱形凹凸角”。 实用性思考: 1、这种菱形凹凸角与正方形结构近似,裁剪难度中等(比圆角容易剪&#xff0…

Android Studio Giraffe 发布,快来看有什么更新吧

又双叒叕到了「激动人心」 的 Android Studio 更新,这次更新的版本是 Giraffe | 2022.3.1,本次更新的 Giraffe(长颈鹿)将 IntelliJ 平台升级到 2022.3 版本,也将 AGP 支持提高到 8.1 ,虽然最低支持 3.2&…

LED智能照明在商业照明中的应用都有哪些?SLM421A数明深力科带你一起去了解

数明深力科SLM421A系列产品是用于两通道、高精度恒流源的LED线性驱动芯片。无需功率电感,无频闪、无EMC困扰,支持高频率PWM调色调光,在LED智能照明产品运用中周边线路简单,成本低。 SLM421每路驱动仅需要从SET到GND接一个电阻即可…

fpga_pwm呼吸灯(EP4CE6F17C8)

文章目录 一、呼吸灯二、代码实现三、引脚分配 一、呼吸灯 呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,使用开发板上的四个led灯实现1s间隔的呼吸灯。 二、代码实现 c module pwm_led( input clk ,input rst_n ,output reg [3:0] led ); …

从安装到实战!Citespace保姆级教程!

来源:浙师教育研会 软件介绍 Citespace是一款文献梳理软件 支持从主要来源(如Web of Science,Scopus,Dimensions,CNKI,CSSCI和其他一些来源)检索的书目和引文数据。能够把文件之间的关系&…

IntelliJ IDEA流行的构建工具——Gradle

IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 如…

华为数通HCIP-ISIS原理与配置

IS-IS的基本概念 isis(中间系统到中间路由协议) 链路状态路由协议、IGP、无类路由协议; IS-IS是一种链路状态路由协议,IS-IS与OSPF在许多方面非常相似:运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此,然后建…

用Python实战,畅享音乐海洋,一键采集你喜爱的音乐!

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 解释器 Pycharm 编辑器 模块使用: requests >>> pip install requests re 第三方模块安装方法: win R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速…