基于帧率逐级自适应的视频编码
自适应码率算法

自适应码率算法随着互联网的普及和数字化媒体内容的不断丰富,视频流媒体服务已成为现代人日常生活不可或缺的一部分。
在视频流媒体服务中,码率是影响视频质量和用户体验的重要因素,不同的网络环境和设备性能会对视频的传输和播放造成影响。
因此,自适应码率算法的研究和应用具有重要意义。
自适应码率算法是一种根据网络环境和设备性能实时调整视频码率的算法。
该算法通过监测网络带宽和设备性能,动态地调整视频的码率,以达到最佳的视频质量和用户体验。
自适应码率算法主要分为两种类型:基于网络带宽的自适应码率算法和基于设备性能的自适应码率算法。
基于网络带宽的自适应码率算法是根据当前网络环境的带宽情况动态地调整视频的码率。
该算法通过测量网络带宽,实时地判断网络带宽是否足够支持当前视频的播放。
如果网络带宽不足,算法会降低视频的码率以保证视频的稳定播放。
反之,如果网络带宽充足,算法会提高视频的码率以提高视频质量。
基于设备性能的自适应码率算法是根据设备硬件性能和软件状态动态地调整视频码率。
该算法通过监测设备的CPU、GPU、内存等硬件性能以及软件状态,实时地判断设备是否能够支持当前视频的播放。
如果设备性能不足,算法会降低视频的码率以保证视频的稳定播放。
反之,如果设备性能充足,算法会提高视频的码率以提高视频质量。
自适应码率算法的优势在于能够根据实际情况动态地调整视频码率,保证视频的稳定播放和高质量观看体验。
同时,自适应码率算法还能够减少网络流量,降低服务器压力,提高视频服务的可靠性和稳定性。
总之,自适应码率算法是视频流媒体服务中不可或缺的一部分。
未来,随着网络技术和设备硬件的不断发展,自适应码率算法将变得更加智能化和高效化,为用户带来更好的视频观看体验。
基于机器学习的自适应视频编码技术研究

基于机器学习的自适应视频编码技术研究随着互联网的普及,视频已经成为人们生活、工作中不可或缺的一部分。
随之而来的是视频编码技术日新月异的进步。
在视频编码技术中,自适应视频编码技术是一种极具发展前景的技术,其目的是根据视频内容和网络情况来调整视频压缩比率,从而优化视频质量和带宽消耗。
机器学习技术在自适应视频编码方面具有广泛的应用前景,能够提升视频编码的效率和质量。
一、自适应视频编码技术自适应视频编码技术是一种基于网络环境和视频内容来确定视频压缩比率的技术。
这种技术可以在优化视频质量的同时,减少带宽消耗。
事实上,自适应视频编码技术已经在许多应用中被广泛应用,如视频会议、流媒体和网络视频等。
在自适应视频编码技术中,每个视频帧都被压缩成一定大小的数据包,并且每个数据包的大小取决于网络的带宽和视频帧的内容。
如果网络带宽较小,则视频帧将被压缩成较小的数据包。
这样,数据包在传输过程中可以更快地到达接收端,从而避免由于网络拥塞而导致的视频卡顿和视频质量下降。
此外,在数据包大小较小时,视频帧可以以更高的质量压缩,从而获得更高的视频质量。
二、机器学习在自适应视频编码技术中的应用机器学习技术在自适应视频编码技术中具有广泛的应用前景。
机器学习技术被用来处理视频内容和网络状态信息,以确定合适的视频压缩比率和数据包大小。
1. 视频内容分析机器学习可以自动识别视频内容中复杂的瞬时场景变化。
例如,当一个镜头从室内相机切换到室外拍摄时,光线和背景等因素都会发生改变。
机器学习技术可以通过学习视频帧中的像素和场景信息,以提高对复杂情况的响应速度和准确性。
基于这种方式,机器学习可以决定何时更改压缩比率和视频质量。
2. 网络状态分析机器学习技术可以预测未来网络拥塞情况,以便做出响应的视频编码决策。
例如,在预测将出现拥塞的情况时,机器学习可以减少视频数据包的大小,从而减少网络负载。
在网络带宽充足时,机器学习可以增加视频数据包的大小,以提高视频质量。
视频编码全参数

视频编码全参数视频编码参数编码类型编码类型为H264。
Adaptive DCT允许使用8*8DCT。
对画面质量和压缩效率都有好处。
I4*4,P4*4,P8*8,B8*8:AVC标准允许使用多种DCT 块划分方式,这里就能选择允许使用的DCT块划分方式。
前面的字母代表对于的帧类型,后面的数字代表块大小。
本选项对画面质量和压缩效率都有好处,推荐都选上。
I8*8需要ADaptive DCT打开才有效。
帧率每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。
高的帧率可以得到更流畅、更逼真的动画。
一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。
如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
GOP(Group of picture)关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用1 个关键帧。
增加关键帧个数可改善质量,但是同时增加带宽和网络负载。
需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。
另一方面,在一个GOP中,P、B帧是由I 帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续P、B帧的图像质量,直到下一个GOP开始才有可能得以恢复,所以GOP 值也不宜设置过大。
同时,由于P、B帧的复杂度大于I帧,所以过多的P、B帧会影响编码效率,使编码效率降低。
另外,过长的GOP还会影响Seek操作的响应速度,由于P、B帧是由前面的I或P帧预测得到的,所以Seek操作需要直接定位,解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek响应的时间也越长。
视频剪辑时如何选择合适的编码设置

视频剪辑时如何选择合适的编码设置在当今数字化的时代,视频创作已经成为一种非常流行的表达方式。
无论是制作个人的 vlog、精彩的短视频,还是专业的影视作品,视频剪辑都是其中至关重要的环节。
而在视频剪辑过程中,选择合适的编码设置则是影响视频最终质量、文件大小和播放兼容性的关键因素之一。
首先,我们需要了解一下什么是编码。
简单来说,编码就是将视频数据转换为特定格式的过程,以便于存储、传输和播放。
不同的编码格式具有不同的特点和优势,因此选择合适的编码格式对于视频剪辑来说至关重要。
常见的视频编码格式有 H264、H265(也称为 HEVC)、VP9 等。
H264 是目前应用最为广泛的编码格式之一,它具有良好的兼容性,几乎所有的设备和播放器都能够支持。
如果您的视频需要在各种平台上广泛传播,并且对文件大小的要求不是特别苛刻,那么 H264 可能是一个不错的选择。
H265 则是一种相对较新的编码格式,它在相同的视频质量下,能够比 H264 节省更多的存储空间和带宽。
但是,由于其相对较新,一些老旧的设备和播放器可能不支持 H265 编码的视频,因此在选择时需要考虑到播放设备的兼容性。
VP9 是由谷歌开发的一种开放源代码的视频编码格式,主要应用于网络视频领域。
它在高分辨率视频的压缩方面表现出色,能够提供高质量的视频体验。
除了编码格式,还有一些其他的编码设置也会影响视频的质量和文件大小。
例如,码率就是一个非常重要的参数。
码率越高,视频的质量通常就越好,但文件大小也会相应增大;码率越低,文件大小会减小,但可能会导致视频质量下降,出现模糊、卡顿等问题。
在选择码率时,需要根据视频的内容和用途来决定。
如果是一些画面变化剧烈、细节丰富的视频,如体育赛事、动作电影等,就需要较高的码率来保证画面的清晰度和流畅性;而对于一些画面相对简单、静态的视频,如讲座、演示文稿等,可以适当降低码率,以减小文件大小。
帧率也是一个需要考虑的因素。
常见的帧率有 24fps、30fps 和60fps 等。
vp8 vp9编码原理

VP8和VP9编码原理1. 简介VP8和VP9是一种开源的视频编码标准,由Google开发并发布在BSD许可下。
它们是WebM项目的一部分,并被广泛应用于网络视频、实时通信等领域。
本文将详细解释VP8和VP9的编码原理。
2. 视频编码基础在深入了解VP8和VP9之前,我们首先需要了解一些视频编码的基础知识。
2.1 帧间压缩视频是由一系列连续的图像帧组成的,每个图像帧都可以看作是一个静态图像。
为了提高视频的压缩效率,视频编码采用了帧间压缩技术。
帧间压缩利用相邻帧之间的冗余性来减少数据量,从而实现高效率的压缩。
2.2 预测编码预测编码是帧间压缩的核心思想之一。
它利用前后两个相邻帧之间的相似性来预测当前帧,并只存储预测误差。
这样就能够大大减少需要传输或存储的数据量。
2.3 变换与量化在预测误差的基础上,视频编码还需要进行一系列的变换和量化操作。
变换将图像从时域转换到频域,使得编码器能够更好地处理图像的频域信息。
量化则是为了减少数据量,通过舍弃部分细节信息来实现压缩。
2.4 熵编码熵编码是视频编码中的最后一步,它利用统计学原理对数据进行编码。
熵编码根据不同符号出现的概率分布来分配不同长度的二进制码字,使得出现概率较高的符号使用较短的码字,从而进一步减少数据量。
3. VP8编码原理VP8是Google开发的第一个开源视频编解码器,它采用了基于帧间预测的压缩技术,并借鉴了H.264/AVC标准。
下面将详细介绍VP8的编码原理。
3.1 帧间预测VP8使用帧间预测来利用相邻帧之间的冗余性。
在VP8中,每个帧被划分为一系列16x16像素块(宏块)。
对于每个宏块,VP8通过以下步骤进行预测: - 第一步是选择最佳参考帧,VP8会从之前的几个已编码帧中选择一个与当前帧相似度最高的参考帧。
- 第二步是选择最佳预测模式,VP8定义了几种不同的预测模式,包括水平、垂直、DC和16个方向的运动矢量预测。
- 第三步是计算预测残差,将当前宏块与预测值进行比较,得到预测残差。
自适应分割的视频点云多模式帧间编码方法

自适应分割的视频点云多模式帧间编码方法陈 建 1, 2廖燕俊 1王 适 2郑明魁 1, 2苏立超3摘 要 基于视频的点云压缩(Video based point cloud compression, V-PCC)为压缩动态点云提供了高效的解决方案, 但V-PCC 从三维到二维的投影使得三维帧间运动的相关性被破坏, 降低了帧间编码性能. 针对这一问题, 提出一种基于V-PCC 改进的自适应分割的视频点云多模式帧间编码方法, 并依此设计了一种新型动态点云帧间编码框架. 首先, 为实现更精准的块预测, 提出区域自适应分割的块匹配方法以寻找最佳匹配块; 其次, 为进一步提高帧间编码性能, 提出基于联合属性率失真优化(Rate distortion optimization, RDO)的多模式帧间编码方法, 以更好地提高预测精度和降低码率消耗. 实验结果表明, 提出的改进算法相较于V-PCC 实现了−22.57%的BD-BR (Bjontegaard delta bit rate)增益. 该算法特别适用于视频监控和视频会议等帧间变化不大的动态点云场景.关键词 点云压缩, 基于视频的点云压缩, 三维帧间编码, 点云分割, 率失真优化引用格式 陈建, 廖燕俊, 王适, 郑明魁, 苏立超. 自适应分割的视频点云多模式帧间编码方法. 自动化学报, 2023, 49(8):1707−1722DOI 10.16383/j.aas.c220549An Adaptive Segmentation Based Multi-mode Inter-frameCoding Method for Video Point CloudCHEN Jian 1, 2 LIAO Yan-Jun 1 WANG Kuo 2 ZHENG Ming-Kui 1, 2 SU Li-Chao 3Abstract Video based point cloud compression (V-PCC) provides an efficient solution for compressing dynamic point clouds, but the projection of V-PCC from 3D to 2D destroys the correlation of 3D inter-frame motion and re-duces the performance of inter-frame coding. To solve this problem, we proposes an adaptive segmentation based multi-mode inter-frame coding method for video point cloud to improve V-PCC, and designs a new dynamic point cloud inter-frame encoding framework. Firstly, in order to achieve more accurate block prediction, a block match-ing method based on adaptive regional segmentation is proposed to find the best matching block; Secondly, in or-der to further improve the performance of inter coding, a multi-mode inter-frame coding method based on joint at-tribute rate distortion optimization (RDO) is proposed to increase the prediction accuracy and reduce the bit rate consumption. Experimental results show that the improved algorithm proposed in this paper achieves −22.57%Bjontegaard delta bit rate (BD-BR) gain compared with V-PCC. The algorithm is especially suitable for dynamic point cloud scenes with little change between frames, such as video surveillance and video conference.Key words Point cloud compression, video-based point cloud compresion (V-PCC), 3D inter-frame coding, point cloud segmentation, rate distortion optimization (RDO)Citation Chen Jian, Liao Yan-Jun, Wang Kuo, Zheng Ming-Kui, Su Li-Chao. An adaptive segmentation based multi-mode inter-frame coding method for video point cloud. Acta Automatica Sinica , 2023, 49(8): 1707−1722点云由三维空间中一组具有几何和属性信息的点集构成, 通常依据点的疏密可划分为稀疏点云和密集点云[1]. 通过相机矩阵或高精度激光雷达采集的密集点云结合VR 头盔可在三维空间将对象或场景进行6自由度场景还原, 相较于全景视频拥有更真实的视觉体验, 在虚拟现实、增强现实和三维物体捕获领域被广泛应用[2−3]. 通过激光雷达反射光束经光电处理后收集得到的稀疏点云可生成环境地收稿日期 2022-07-05 录用日期 2022-11-29Manuscript received July 5, 2022; accepted November 29, 2022国家自然科学基金(62001117, 61902071), 福建省自然科学基金(2020J01466), 中国福建光电信息科学与技术创新实验室(闽都创新实验室) (2021ZR151), 超低延时视频编码芯片及其产业化(2020年福建省教育厅产学研专项)资助Supported by National Natural Science Foundation of China (62001117, 61902071), Fujian Natural Science Foundation (2020J01466), Fujian Science & Technology Innovation Laborat-ory for Optoelectronic Information of China (2021ZR151), and Ultra-low Latency Video Coding Chip and its Industrialization (2020 Special Project of Fujian Provincial Education Depart-ment for Industry-University Research)本文责任编委 刘成林Recommended by Associate Editor LIU Cheng-Lin1. 福州大学先进制造学院 泉州 3622512. 福州大学物理与信息工程学院 福州 3501163. 福州大学计算机与大数据学院/软件学院 福州 3501161. School of Advanced Manufacturing, Fuzhou University, Quan-zhou 3622512. College of Physics and Information Engineer-ing, Fuzhou University, Fuzhou 3501163. College of Com-puter and Data Science/College of Software, Fuzhou University,Fuzhou 350116第 49 卷 第 8 期自 动 化 学 报Vol. 49, No. 82023 年 8 月ACTA AUTOMATICA SINICAAugust, 2023图, 以实现空间定位与目标检测等功能, 业已应用于自动驾驶、无人机以及智能机器人等场景[4−7]. 但相较于二维图像, 点云在存储与传输中的比特消耗显著增加[8], 以经典的8i 动态点云数据集[9]为例, 在每秒30帧时的传输码率高达180 MB/s, 因此动态点云压缩是对点云进行高效传输和处理的前提.N ×N ×N 3×3×3为了实现高效的动态点云压缩, 近年来, 一些工作首先在三维上进行帧间运动估计与补偿, 以充分利用不同帧之间的时间相关性. 其中, Kammerl 等[10]首先提出通过构建八叉树对相邻帧进行帧间差异编码, 实现了相较于八叉树帧内编码方法的性能提升; Thanou 等[11]则提出将点云帧经过八叉树划分后, 利用谱图小波变换将三维上的帧间运动估计转换为连续图之间的特征匹配问题. 然而, 上述方法对帧间像素的运动矢量估计不够准确. 为了实现更精确的运动矢量估计, Queiroz 等[12]提出一种基于运动补偿的动态点云编码器, 将点云体素化后进行块划分, 依据块相关性确定帧内与帧间编码模式, 对帧间编码块使用提出的平移运动模型改善预测误差; Mekuria 等[13]则提出将点云均匀分割为 的块, 之后将帧间对应块使用迭代最近点(Iterative closest point, ICP)[14]进行运动估计,以进一步提高帧间预测精度; Santos 等[15]提出使用类似于2D 视频编码器的N 步搜索算法(N-step search, NSS), 在 的三维块区域中迭代寻找帧间对应块, 而后通过配准实现帧间编码. 然而,上述方法实现的块分割破坏了块间运动相关性, 帧间压缩性能没有显著提升.为了进一步提高动态点云压缩性能, 一些工作通过将三维点云投影到二维平面后组成二维视频序列, 而后利用二维视频编码器中成熟的运动预测与补偿算法, 实现三维点云帧间预测. 其中, Lasserre 等[16]提出基于八叉树的方法将三维点云投影至二维平面, 之后用二维视频编码器进行帧间编码; Bud-agavi 等[17]则通过对三维上的点进行二维平面上的排序, 组成二维视频序列后利用高效视频编码器(High efficiency video coding, HEVC)进行编码.上述方法在三维到二维投影的过程中破坏了三维点间联系, 重构质量并不理想. 为改善投影后的点间联系, Schwarz 等[18]通过法线将点映射于圆柱体上确保点间联系, 对圆柱面展开图使用二维视频编码以提高性能. 但在圆柱上的投影使得部分点因遮挡丢失, 影响重构精度. 为尽可能保留投影点数, Mam-mou 等[19]根据点云法线方向与点间距离的位置关系, 将点云划分为若干Patch, 通过对Patch 进行二维平面的排列以减少点数损失, 进一步提高了重构质量.基于Patch 投影后使用2D 视频编码器进行编码, 以实现二维上的帧间运动预测与补偿的思路取得了最优的性能, 被运动图像专家组(Moving pic-ture experts group, MPEG)正在进行的基于视频的点云压缩(Video-based point cloud compres-sion, V-PCC)标准[20]所采纳, 但将Patch 从三维到二维的投影导致三维运动信息无法被有效利用, 使得帧间压缩性能提升受到限制. 针对这一问题, 一些工作尝试在V-PCC 基础上实现三维帧间预测,其中, Li 等[21]提出了一种三维到二维的运动模型,利用V-PCC 中的几何与辅助信息推导二维运动矢量以实现帧间压缩性能改善, 但通过二维推导得到的三维运动信息并不完整, 导致运动估计不够准确.Kim 等[22]提出通过点云帧间差值确定帧内帧与预测帧, 帧内帧用V-PCC 进行帧内编码, 预测帧依据前帧点云进行运动估计后对残差进行编码以实现运动补偿, 但残差编码依旧消耗大量比特. 上述方法均在V-PCC 基础上实现了三维点云的帧间预测,但无论是基于二维的三维运动推导还是帧间残差的编码, 性能改善都比较有限.在本文的工作中, 首先, 为了改善三维上实现运动估计与补偿中, 块分割可能导致的运动相关性被破坏的问题, 本文引入了KD 树(K-dimension tree,KD Tree)思想, 通过迭代进行逐层深入的匹配块分割, 并定义分割块匹配度函数以自适应确定分割的迭代截止深度, 进而实现了更精准的运动块搜索;另外, 针对V-PCC 中二维投影导致三维运动信息无法被有效利用的问题, 本文提出在三维上通过匹配块的几何与颜色两种属性进行相似性判别, 并设计率失真优化(Rate distortion optimization, RDO)模型对匹配块分类后进行多模式的帧间编码, 实现了帧间预测性能的进一步改善. 实验表明, 本文提出的自适应分割的视频点云多模式帧间编码方法在与最新的V-PCC 测试软件和相关文献的方法对比中均取得了BD-BR (Bjontegaard delta bit rate)的负增益. 本文的主要贡献如下:1)提出了针对动态点云的新型三维帧间编码框架, 通过自动编码模式判定、区域自适应分割、联合属性率失真优化的多模式帧间编码、结合V-PCC 实现了帧间编码性能的提升;2)提出了一种区域自适应分割的块匹配方法,以寻找帧间预测的最佳匹配块, 从而改善了均匀分割和传统分割算法导致运动相关性被破坏的问题;3)提出了一种基于联合属性率失真优化模型的多模式帧间编码方法, 在改善预测精度的同时显著减少了帧间编码比特.1 基于视频的点云压缩及其问题分析本文所提出的算法主要在V-PCC 基础上进行1708自 动 化 学 报49 卷三维帧间预测改进, 因此本节对V-PCC 的主要技术做简要介绍, 并分析其不足之处. 其中, V-PCC 编码框架如图1所示.图 1 V-PCC 编码器框架Fig. 1 V-PCC encoder diagram首先, V-PCC 计算3D 点云中每个点的法线以确定最适合的投影面, 进而将点云分割为多个Patch [23].接着, 依据对应Patch 的位置信息, 将其在二维平面上进行紧凑排列以完成对Patch 的打包. 之后,依据打包结果在二维上生成对应的图像, 并使用了几何图、属性图和占用图分别表示各点的坐标、颜色及占用信息. 鉴于Patch 在二维的排列不可避免地存在空像素点, 因此需要占用图表示像素点的占用与否[24]; 由于三维到二维的投影会丢失一个维度坐标信息, 因此使用几何图将该信息用深度形式进行表示; 为了实现动态点云的可视化, 还需要一个属性图用于表示投影点的颜色属性信息. 最后, 为了提高视频编码器的压缩性能, 对属性图和几何图的空像素进行了填充和平滑处理以减少高频分量; 同时, 为了缓解重构点云在Patch 边界可能存在的重叠或伪影, 对重构点云进行几何和属性上的平滑滤波处理[25]. 通过上述步骤得到二维视频序列后, 引入二维视频编码器(如HEVC)对视频序列进行编码.V-PCC 将动态点云帧进行二维投影后, 利用成熟的二维视频编码技术实现了动态点云压缩性能的提升. 但是, V-PCC 投影过程将连续的三维物体分割为多个二维子块, 丢失了三维上的运动信息,使得三维动态点云中存在的时间冗余无法被有效利用. 为了直观展示投影过程导致的运动信息丢失,图2以Longdress 数据集为例, 展示了第1 053和第1 054两相邻帧使用V-PCC 投影得到的属性图.观察图2可以发现, 部分在三维上高度相似的区域,如图中标记位置1、2与3所对应Patch, 经二维投影后呈现出完全不同的分布, 该结果使得二维视频编码器中帧间预测效果受到限制, 不利于压缩性能的进一步提升.2 改进的动态点云三维帧间编码为了在V-PCC 基础上进一步降低动态点云的时间冗余性, 在三维上进行帧间预测和补偿以最小化帧间误差, 本文提出了一个在V-PCC 基础上改进的针对动态点云的三维帧间编码框架, 如图3所示. 下面对该框架基本流程进行介绍.首先, 在编码端, 我们将输入的点云序列通过模块(a)进行编码模式判定, 以划分帧内帧与预测帧. 其思想与二维视频编码器类似, 将动态点云划分为多组具有运动相似性的图像组(Group of pic-tures, GOP)以分别进行编码. 其中图像组中的第一帧为帧内帧, 后续帧均为预测帧, 帧内帧直接通过V-PCC 进行帧内编码; 预测帧则通过帧间预测方式进行编码. 合理的GOP 划分表明当前图像组内各相邻帧均具有较高运动相关性, 因此可最优化匹配块预测效果以减少直接编码比特消耗, 进而提高整体帧间编码性能. 受文献[22]启发, 本文通过对当前帧与上一帧参考点云进行几何相似度判定,以确定当前帧的编码方式进行灵活的图像组划分.如式(1)所示.Longdress 第 1 053 帧三维示例Longdress 第 1 054 帧三维示例Longdress 第 1 053 帧 V-PCC投影属性图Longdress 第 1 054 帧 V-PCC投影属性图11223图 2 V-PCC 从三维到二维投影(属性图)Fig. 2 V-PCC projection from 3D to2D (Attribute map)8 期陈建等: 自适应分割的视频点云多模式帧间编码方法1709cur ref E Gcur,ref Ωmode mode E O R 其中, 为当前帧点云, 为前帧参考点云, 表示两相邻帧点云的几何偏差, 为编码模式判定阈值. 当 值为1时表示当前帧差异较大, 应当进行帧内模式编码; 当 值为0时则表示两帧具有较大相似性, 应当进行帧间模式编码. 另外, 在动态点云重构误差 的计算中, 使用原始点云 中各点与重构点云 在几何和属性上的误差均值表示, 即式(2)所示.N O O (i )R (i ′)i i ′E O,R O R 其中, 为原始点云点数, 和 分别表示原始点云第 点与对应重构点云 点的几何或属性值, 即为原始点云 与重构点云 间误差值.N ×N ×N K 接着, 在进行帧间编码模式判断后, 通过模块(b)进行预测帧的区域自适应块分割. 块分割的目的在于寻找具有帧间运动一致性的匹配块以进行运动预测和补偿. 不同于 等分或 均值聚类, 所提出的基于KD 树思想的区域自适应块匹配从点云质心、包围盒和点数三个角度, 判断分割块的帧间运动程度以进行分割深度的自适应判定,最终实现最佳匹配块搜索.之后, 对于分割得到的匹配块, 通过模块(c)进行基于联合属性率失真优化的帧间预测. 在该模块中, 我们通过帧间块的几何与颜色属性联合差异度,结合率失真优化模型对匹配块进行分类, 分为几乎无差异的完全近似块(Absolute similar block, ASB)、差异较少的相对近似块(Relative similar block,RSB)以及存在较大差异的非近似块(Non similar block, NSB). 完全近似块认为帧间误差可忽略不计, 仅需记录参考块的位置信息; 而相对近似块则表示存在一定帧间误差, 但可通过ICP 配准和属性补偿来改善几何与属性预测误差, 因此除了块位置信息, 还需记录预测与补偿信息; 而对于非近似块,则认为无法实现有效的帧间预测, 因此通过融合后使用帧内编码器进行编码.最后, 在完成帧间模式分类后, 为了在编码端进行当前帧的重构以作为下一帧匹配块搜索的参考帧, 通过模块(d)对相对近似块进行几何预测与属性补偿, 而后将几何预测与属性补偿后的相对近似块、完全近似块、非近似块进行融合得到重构帧. 为了在解码端实现帧间重构, 首先需要组合预测帧中的所有非近似块, 经由模块(e)的V-PCC 编码器进行帧内编码, 并且, 还需要对完全近似块的位置信息、相对近似块的位置与预测补偿信息通过模块(f)进行熵编码以实现完整的帧间编码流程.至此, 整体框架流程介绍完毕, 在接下来的第3节与第4节中, 我们将对本文提出的区域自适应分割的块匹配算法与联合属性率失真优化的多模式帧间编码方法进行更为详细的介绍, 并在第5节通过实验分析进行算法性能测试.3 区域自适应分割的块匹配N B j cur j ref j ∆E cur j ,ref j 相较于二维视频序列, 动态点云存在大量空像素区域, 帧间点数也往往不同. 因此, 对一定区域内的点集进行帧间运动估计时, 如何准确找到匹配的邻帧点集是一个难点. 假设对当前帧进行帧间预测时共分割为 个子点云块, 第 块子点云 与其对应参考帧匹配块 间存在几何与属性综合误差 . 由于重构的预测帧实质上是通过组合相应的参考帧匹配块而估计得到的, 因此精准的帧间块匹配尝试最小化每个分割块的估计误差,以提高预测帧整体预测精度, 如式(3)所示:图 3 改进的三维帧间编码框架Fig. 3 Improved 3D inter-frame coding framework1710自 动 化 学 报49 卷K K N N ×N ×N 为了充分利用帧间相关性以降低时间冗余, 一些工作尝试对点云进行分割后寻找最佳匹配块以实现帧间预测. Mekuria 等[13]将动态点云划分为若干个大小相同的宏块, 依据帧间块点数和颜色进行相似性判断, 对相似块使用迭代最近点算法计算刚性变换矩阵以实现帧间预测. 然而, 当区域分割得到的对应匹配块间存在较大偏差时, 预测效果不佳.为了减少匹配块误差以提高预测精度, Xu 等[26]提出使用 均值聚类将点云分为多个簇, 在几何上通过ICP 实现运动预测, 在属性上则使用基于图傅里叶变换的模型进行运动矢量估计. 但基于 均值聚类的点云簇分割仅在预测帧中进行, 没有考虑帧间块运动相关性, 匹配精度提升受到限制. 为了进一步提高匹配精度, Santos 等[15]受到二维视频编码器中 步搜索算法的启发, 提出了一种3D-NSS 方法实现三维上的匹配块搜索, 将点云分割为 的宏块后进行3D-NSS 以搜索最优匹配块, 而后通过ICP 进行帧间预测.K 上述分割方法均实现了有效的块匹配, 但是,基于宏块的均匀块分割与基于传统 均值聚类的块划分均没有考虑分割块间可能存在的运动连续性, 在分割上不够灵活. 具体表现为分割块过大无法保证块间匹配性, 过小又往往导致已经具有运动连续性的预测块被过度细化, 出现相同运动预测信息的冗余编码. 为了避免上述问题, 本文引入KD 树思想, 提出了一种区域自适应分割算法, 该算法通过迭代进行逐层深入的二分类划分, 对各分割深度下块的运动性质与匹配程度进行分析, 确定是否需要继续分割以实现精准运动块匹配. 算法基本思想如图4所示, 若满足分割条件则继续进行二分类划分, 否则停止分割.Ψ(l,n )其中, 准确判断当前分割区域是否满足运动连续性条件下的帧间运动, 是避免过度分割以实现精准的运动块搜索的关键, 本文通过定义分割块匹配函数来确定截止深度, 如式(4)所示:ρ(n )=max [sign (n −N D ),0]n N D ρ(n )=1ξ(l )l 其中, 为点数判定函数,当点数 大于最小分割块点数阈值 时, ,表示满足深入分割的最小点数要求, 否则强制截止; 为当前深度 下的块运动偏移度, 通过衡量匹配块间的运动变化分析是否需要进一步分割.ξξw ξu 提出的 函数分别通过帧间质心偏移度 估计匹配块间运动幅度, 帧间包围盒偏移度 进行匹ξn ξw ξu ξn T l ξ(l )配块间几何运动一致性判定, 点数偏移度 进行点云分布密度验证, 最后通过 、 与 累加值与分割截止阈值 的比值来整体衡量当前块的运动程度与一致性. 即对于当前分割深度 , 可进一步细化为式(5):其中,w cur w ref u cur u ref n cur n ref l P Max P Min 并且, 、 、 、 、与分别表示当前分割深度下该区域与其前帧对应区域的质心、包围盒与点数,和分别为当前块对角线对应点.ρ(n )=1ξ(l)lξξξξ在的前提下,值反映当前KD 树分割深度下该区域点云的帧间运动情况.值越大帧间运动越显著,当值大于1时,需对运动块进行帧间运动补偿,如果继续分割将导致块的运动一致性被破坏或帧间对应块无法实现有效匹配,从而导致帧间预测失败;值越小说明当前区域点云整体运动变化越小,当值小于1时,需进一步分割寻找可能存在的运动区域.l +1d 对于需要进一步分割的点云块,为了尽可能均匀分割以避免分割后匹配块间误差过大, 将待分割匹配块质心均值作为分割点, 通过以包围盒最长边作为分割面来确定 深度下的分割轴 , 分割轴l = 0l = 1l = 2l = m l = m + 1条件满足, 继续分割条件不满足, 停止分割图 4 区域自适应分割块匹配方法示意图Fig. 4 Schematic diagram of region adaptive segmentation based block matching method8 期陈建等: 自适应分割的视频点云多模式帧间编码方法1711如式(6)所示:Edge d,max Edge d,min d 其中, 和 分别为待分割块在 维度的最大值和最小值.总结上文所述, 我们将提出的区域自适应分割的块匹配算法归纳为算法1. 算法 1. 区域自适应分割的块匹配cur ref 输入. 当前帧点云 与前帧参考点云 输出. 当前帧与参考帧对应匹配块j =1N B 1) For to Do l =02) 初始化分割深度 ;3) Docur j ref j 4) 选取待分割块 和对应待匹配块 ;w u n 5) 计算质心 、包围盒 与块点数 ;ξ(l )6) 根据式(5)计算运动块偏移度 ;ρ(n )7) 根据函数 判定当前分割块点数;Ψ(l,n )8) 根据式(4)计算分割块匹配函数 ;Ψ(l,n )9) If 满足匹配块分割条件:d 10) 根据式(6)确定分割轴 ;cur j ref j 11) 对 与 进行分割;12) 保存分割结果;l +113) 分割深度 ;Ψ(l,n )14) Else 不满足匹配块分割条件:15) 块分割截止;16) 保存匹配块;17) End of if18) While 所有块均满足截止条件;19) End of for图5展示了本文提出的区域自适应分割的块匹配算法对帧Longdress_0536和其参考帧Longdress_0535进行分割后的块匹配结果. 在该序列当前帧下, 人物进行上半身的侧身动作. 观察图5可发现,在运动变化较大的人物上半身, 算法在寻找到较大的对应匹配块后即不再分割; 而人物下半身运动平缓, 算法自适应提高分割深度以实现帧间匹配块的精确搜索, 因而下半身的分块数目大于上半身.4 联合属性率失真优化的多模式帧间编码P Q在动态点云的帧间编码中, 常对相邻帧进行块分割或聚类后依据匹配块相似性实现帧间预测, 并利用补偿算法减少预测块误差以改善帧间编码质量. 其中迭代最近点算法常用于帧间运动估计中,其通过迭代更新待配准点云 相较于目标点云 S t E (S,t )间的旋转矩阵 和平移向量 , 进而实现误差 最小化, 如式(7)所示:N p p i P i q i ′Q p i 其中 为待配准点云点数, 为待配准点云 的第 个点, 为目标点云 中与 相对应的点.但是, 完全依据ICP 配准进行动态点云的三维帧间预测存在两个问题: 首先, ICP 仅在预测块上逼近几何误差的最小化而没考虑到颜色属性偏差引起的匹配块差异, 影响了整体预测精度; 其次, 从率失真角度分析, 对运动变化极小的匹配块进行ICP 配准实现的运动估计是非必要的, 该操作很难改善失真且会增加帧间编码比特消耗.为改善上述问题, 提出了联合属性率失真优化的多模式帧间编码方法. 提出的方法首先在确保几何预测精度的同时, 充分考虑了可能的属性变化导致的预测精度下降问题, 而后通过率失真优化模型,对块依据率失真代价函数得到的最优解进行分类后, 应用不同的编码策略以优化帧间编码方案, 旨在有限的码率约束下最小化编码失真, 即式(8)所示:R j D j j N B R C λ其中, 和 分别表示第 个点云块的编码码率和对应的失真; 是当前帧编码块总数; 表示总码率预算.引入拉格朗日乘子 ,式(8)所示的带约束优化问题可以转换为无约束的最优化问题, 即式(9)所示:当前帧分割可视化当前帧分割效果参考帧分割效果图 5 区域自适应分割的块匹配方法分割示例Fig. 5 Example of block matching method based onadaptive regional segmentation1712自 动 化 学 报49 卷。
结合帧率变换与HEVC标准的新型视频压缩编码算法

结合帧率变换与HEVC标准的新型视频压缩编码算法武其达;何小海;林宏伟;陶青川;吴笛【摘要】相比于之前主流的H.264视频压缩编码标准,HEVC在保证重建视频质量相同的前提下,可以将码率降低近50%,节省了传输所需的带宽.即便如此,由于一些特定的网络带宽限制,为继续改善HEVC视频编码性能,进一步提升对视频的压缩效率仍然是当前研究的热点.本文提出一种HEVC标准编码与帧率变换方法相结合的新型的视频压缩编码算法,首先在编码端,提出一种自适应抽帧方法,降低原视频帧率,减少所需传输数据量,对低帧率视频进行编解码;在解码端,结合从HEVC传输码流中提取的运动信息以及针对HEVC编码特定的视频帧的分块模式信息等,对丢失帧运动信息进行估计;最后,通过本文提出的改进基于块覆盖双向运动补偿插帧方法对视频进行恢复重建.实验结果证实了本文所提算法的有效性.【期刊名称】《自动化学报》【年(卷),期】2018(044)009【总页数】11页(P1626-1636)【关键词】帧率变换;HEVC;自适应抽帧;块覆盖;运动补偿插帧【作者】武其达;何小海;林宏伟;陶青川;吴笛【作者单位】四川大学电子信息学院图像信息研究所成都 610065;四川大学电子信息学院图像信息研究所成都 610065;四川大学电子信息学院图像信息研究所成都 610065;四川大学电子信息学院图像信息研究所成都 610065;中国人民武装警察部队警官学院成都 610213【正文语种】中文随着高清数字电视(High definition television,HDTV)和高端多媒体系统的普及和发展,人们对于视频的主观享受需求也越来越高,这就对视频节目源的质量提出了更高的要求.节目源的质量越高,视频的数据量越大,传输所需的带宽也就越大,因为视频节目源的质量提高主要依赖视频的空间分辨率和时间分辨率两个方面.视频的空间分辨率指的是视频的横向行和纵向列的像素点的个数;视频的时间分辨率是单位时间内播放的视频的帧数,即视频的帧速率(Frame rate)二者的值越大则视频中的信息表达的越清晰,人们的观影效果也就越好.但传输的数据量也就越大.例如,一个视频序列每秒25帧,尺寸为720p(1280×720最低要求的高清晰度信号),在不压缩的情况下需要552.96Mbit/s.目前已经出现了4K(3840×2160)的电视信号以及8K(8192×4320)的超高清视频,这种视频源带来更好观影感受的同时,带来的是更大的数据量.新一代高效视频压缩标准(HEVC)与以前的H.264编码标准相比,在同等重建视频质量的前提下,已经节省了将近50%的码率,对于节省带宽资源做出了很大贡献.但是,实际的视频传输应用需求中,受到一些特殊的传输带宽限制,为了进一步提高视频压缩编码的效率和性能,本文提出一种结合帧率变换的视频压缩方法.帧率变换方法作为提高压缩率的技术,与HEVC标准编码相结合,在编码端降低视频的帧率,以减少编码帧数降低传输码流数据,然后在解码端插帧恢复成原帧率的视频[1].视频帧率转换(Frame rate conversion)技术分为帧率下采(Frame rate down conversion)和帧率上采(Frame rate upconversion)[2].帧率下采技术指降低原视频的帧率,即减少每秒播放的帧数,降低数据量,达到节约传输带宽的目的.传统的帧率上采技术分为:非运动补偿插帧和运动补偿插帧两种.非运动补偿插帧恢复过程中不考虑原视频中物体的运动信息,只是通过待插帧和当前帧两参考帧对应位置的像素值来恢复待插帧像素值,例如帧重复法和帧平均法.运动补偿插帧[3]则是考虑了场景中物体的运动过程,通过结合运动矢量信息和参考帧中像素值信息重建待插帧,该方法可以有效地降低帧重复法引入的抖动和帧平均法引入的模糊现象.由于这种运动补偿插帧技术已经被广泛应用于电视广播,所以也被称为基于运动补偿的帧率提升方法(Motion compensationframe rate up conversion,MC-FRUC)[4].Choi等专门提出了用于帧率上转换技术的双向运动补偿内插(Bidirectional motion compensated interpolation,BMCI)[5−6],根据插帧过程中使用的运动矢量信息的来源不同,运动补偿插帧分为两种,一类是基于像素域,即对解码后的视频重新进行运动估计,再用获得的运动矢量信息进行插帧重建,例如Kang等[7]提出将基于扩展块的运动估计算法用于帧率上转换技术,另外还提出一种多重运动估计算法[8],Hu等[9]提出的一种块大小可变的运动估计算法,Inseo等[10],通过一种自适应运动估计方法获取的运动矢量用于运动补偿插帧,Xu等[11]提出的则是一种结合运动分割及边缘细化的运动估计方法,Cao等[12]提出一种基于多参考帧及软决策的运动估计算法,还有一些文章中使用快速光流运动估计方法来代替基于块匹配的运动估计方法[13−14],也取得了一定的效果,另外孙琰玥等[15]提出了一种适用于视频超分辨率重建的基于小波变换的改进的自适应十字模式搜索算法.第二类是基于压缩域的,该种方法通过从编码后的码流中提取相邻帧的运动矢量信息,用于运动补偿插帧.例如Kim等[16]提出了一种低计算复杂度的帧率提升算法,引入了基于预测的运动矢量平滑以及基于局部平均的运动补偿方法,鲁志红等[17]提出一种基于加权运动估计和运动矢量分割的内插方法,其中加权运动估计可以改善运动矢量的准确度.与前者相比,第二种方法省去了对编码后视频重新运动估计以获取运动矢量的过程,大大减少了计算量,提高了时间效率.尽管运动补偿插帧方法效果明显优于非运动补偿插帧,但是,传统的运动补偿插帧方法插帧重建后的视频会有空洞和块效应,为解决上述问题,改善视频压缩编码的性能,本文提出一种结合帧率变换与HEVC标准的新型视频压缩编码算法.1 结合帧率变换与HEVC标准的新型视频压缩编码算法视频由一系列记录运动物体变化过程的图像组成,自然界中大部分物体的运动都是连续的,只是在不同的场景中,物体的运动方式有所不同,有的运动剧烈,有的运动缓慢.对于运动缓慢或者运动规律可循的物体,容易预测它的运动轨迹下一时刻的位置;相反,如果场景中物体的运动很剧烈,或存在场景变化等不规则运动,那么对于运动轨迹预测就会艰难.由此可见,视频压缩过程中运动信息对于视频重建至关重要.因此,本文对于运动信息的获取以及运动信息后处理提出了一种新方法.在标准的HEVC编码方法中,尽管采用了有损压缩[18]方法来提高压缩率,但为适应特殊带宽,往往通过抽帧方法来进一步提升压缩率.另一方面,由于HEVC没有对丢失帧部分的信息恢复作深入的研究,因此找到一种高效的视频插帧恢复方法对于提高压缩效率有很大的意义.因而,本文提出了一种结合帧率变换技术和HEVC标准的新型视频压缩编码算法.1.1 编码端自适应抽帧方法视频中物体的运动基本分为两类,一种是线性可预测的,例如水平或垂直平移滑动;另一种是不可预测的,例如场景中物体的消失或突现.由此可见,如果对不同的视频进行帧率下采时都采取相同的抽帧策略,则有可能对于视频的重建质量有影响,例如对于运动轨迹可预测的视频帧,其相邻的多帧都有类似的运动矢量信息,如果只是隔帧抽取则会造成传输带宽浪费;对于有场景跳变或物体运动规律不规则的视频,抽帧后会造成运动不可预测.由此可见,抽帧的方法与视频的重建质量紧密相关,为解决上述问题,提升帧率下采性能,本文提出一种自适应抽帧方法.对于视频中运动缓慢或序列场景没有发生跳变的帧,增大抽取的帧数,以达到进一步降低编码帧数,减少编码后传输数据量的目的,相反,对于运动剧烈或者存在场景跳变的视频序列,则不抽帧,这样可以保证视频插帧重建的质量.判断一帧是否为场景跳变帧,采用相邻帧的平均绝对误差(MSAD[19])和相对变化率(R)作为判断依据.其中,fi−1(i,j)表示前参考帧在位置(i,j)处的像素值,fi(i,j)表示当前参考帧在位置(i,j)处的像素值,m和n分别表示视频的宽度和高度,MSADi表示相邻两帧对应位置像素绝对误差的均值,R表示相邻帧场景的相对变化率.自适应抽帧具体方法为:当MSADi和R的值均大于给定的阈值,则判断第i帧为场景跳变帧,则对该帧进行保留,不进行抽帧处理;反之,则将该帧视为可抽弃帧,判断完一帧后,继续判断相邻下一帧是否为可抽弃帧,这样就存在一个问题,若连续的几帧都为可抽弃帧,则会造成抽弃帧数过多,对视频进行重建时,在获取的运动信息准确性有较大影响,导致视频重建质量不佳,因此,为了保证插帧重建视频的质量,本文对于相邻参考帧之间的最大抽帧数设置了一个阈值.通过实验比较,当设定相邻两参考帧间最大连续抽帧数阈值为2,MSADi阈值为35,R阈值为3时,效果较好.具体抽帧结果如图1所示.图1 自适应抽帧结果图Fig.1 The result of adaptive frame skip1.2 丢失帧运动估计在HEVC编解码标准中,运动估计是尤为重要的环节之一[20].由于相邻视频帧间存在时域相关性,将一帧图像分割成不同的块,再从相邻帧中找到每个块的对应位置的过程称为运动估计[21].在HEVC中运动估计过程如图2,假设时刻t为当前时刻帧,时刻t−Δt为后向参考帧,时刻t+Δt为前向参考帧,将当前帧中的块分别在参考帧中找到最佳匹配块,对应的运动估计过程分别为前向运动估计和后向运动估计,从而获得相应的运动矢量.图2 HEVC中的运动估计Fig.2 The motion estimation in HEVC在传统的帧率上采技术中,通过对低帧率视频的解码视频重新进行运动估计来获得运动矢量,用于帧率上采中的原帧率视频的重建,由于在HEVC编解码的过程中运动估计占用了大部分的时间,如果对解码后的视频重新进行运动估计,又会再次耗费大量的时间,这将达不到实时视频通信的要求.为了解决这一问题,本文中自适应抽帧后的视频经过HEVC编码,从编码后的传输码流中提取参考帧运动矢量信息,初步估算丢失帧的运动信息,用于双向运动补偿插帧,提高插帧恢复后视频的质量,这样可以节省用于重新运动估计的时间.由上所述,HEVC对低帧率视频进行编码的过程中,在帧间编码(INTER)模式下,通过运动估计获得相邻两编码帧的运动矢量(MV),即待插帧的前后两参考帧的相对运动矢量信息.本文在获取低帧率视频编码时相邻帧的运动矢量信息的过程中,例如图2中t时刻帧相对于t−Δt时刻帧的运动矢量信息,由于HEVC标准帧间编码模式下运动矢量信息是以预测块单元(PU)的方式存储的,而PU块是在编码块单元(CU)的基础上分割出来的,HEVC中CU块最大尺寸为64×64,因此在提取相邻帧运动矢量信息时,以64×64最大CU块为单位,分别提取出一帧中所有最大CU块的运动矢量信息,且本文对获取的最大CU块中的运动矢量以4×4块为最小单位,即在每个64×64块中分别有16行和16列的运动矢量,其中每个运动矢量表示该4×4块内16个像素点的运动矢量值,为了后续处理方便再将运动矢量分别对应到每个像素点,至此,t时刻帧中的每个像素位置就有了相对于t−Δt时刻帧的运动矢量信息(Vx,Vy),对于丢失帧而言,也就获得了前一参考帧对于后一参考帧的运动矢量,然后,将该运动矢量信息用于丢失帧运动信息的估计,丢失帧初始运动矢量估计及传统的双向运动补偿插帧[22]计算方法如下:其中,Ft(x,y)代表待插帧在位置(x,y)处的重建值,Ft−1和Ft+1分表表示前一帧和当前帧参考帧,(Vx,Vy)为码流中获得的待插帧的前参考帧(即前一时刻帧)相对于后参考帧(即后一时刻帧)的运动矢量,表示由参考帧运动矢量信息计算得到的待插帧相对于前后两参考帧的初始运动矢量.传统的双向运动补偿插帧如图3,图中MV表示从HEVC传输码流中获取的当前帧相对于前一帧的运动矢量,则待插帧初始运动信息由MV的一半代替,但由于这种方法简单,插帧后视频帧中会存在一些空洞和块效应,针对这个问题,本文提出一种基于帧内块运动信息填充的块覆盖双向运动补偿插帧方法.图3 双向运动补偿插帧Fig.3 Bidirectional motion compensated interpolation 1.3 基于帧内块运动信息填充的块覆盖双向运动补偿插帧方法由HEVC编码过程中特殊的分块模式,运动矢量信息以PU块的方式存储在码流信息中,即同一个PU块中的像素位置具有相同的运动矢量.对于低帧率视频编码过程,在IPPP帧间配置编码模式下,编码器会同时进行帧内预测和帧间预测来获取残差信息,尽管大部分编码块的预测模式为帧间预测,但若帧间预测获取的残差信息不够准确时,编码器将自动使用帧内预测获得的残差用于编码,如图4所示,在一参考帧编码图像中帧内块的分布情况,其中标记为白色标记的即为帧内编码块.从图4可以看出,虽然该参考帧中帧内编码块数量较少,但大多集中在纹理较复杂的区域,且在HEVC标准编码中若从码流信息中提取的参考帧块信息对应的是帧内编码块,则该块运动矢量为0,用于插帧的话就会引起空洞或块效应[23],所以,在进行插帧恢复之前,本文首先对参考帧中的这些帧内块运动信息进行估计.识别参考帧中的编码块是否为帧内块的具体方法如下:在HEVC编码过程中会记录下每一编码帧中的分块方式并传输到解码端用于解码,本文为获取参考帧中帧内块位置,判定哪些块是帧内编码块,在编码码流中提取参考帧运动信息的同时,也提取出每一参考帧的分块模式信息,从而确定了帧内块的位置,若当前编码块为帧间块则直接使用码流中提取的运动矢量对丢失帧进行运动估计,若为帧内块则首先对该帧内块运动矢量进行填充,再用于丢失帧相应块运动矢量估计,具体参考帧中帧内块运动矢量填充方式为其中,MVintra表示帧内块运动矢量估计值,MVprev表示待插帧的当前参考帧与前一参考帧中该帧内块相同位置处的运动矢量,MVback表示当前参考帧的后一参考帧中该帧内块相同位置处的运动矢量值,MVi表示与该帧内块相邻的块运动矢量,wi 表示补偿权重,n为相邻块的个数.图4 编码帧中帧内块位置分布Fig.4 The distribution of intra-block in coded frame对于补偿权重wi的设定规则是:通过从码流信息中提取的编码过程中每一参考帧的帧分块模式,得到参考帧中该帧内块相邻编码块的大小,若相邻块的大小与该帧内块相同则权重为1,否则,按照相邻块与帧内块的在HEVC中的划分深度的差值来确定,相差1,则权重为0.5,相差2,则权重为0.25,以此类推.如果相邻块中存在帧内块则不算在内,若周围全是帧内块,则该帧内块运动矢量设为0.通过上面的修正,使得参考帧中的每个帧内块有了运动矢量信息,继续对用于基于块覆盖的运动补偿插帧的运动矢量进行优化,在对待插帧中每个4×4块进行插值恢复之前,对其运动矢量进行如图5的平滑处理.具体计算方法为图5 运动矢量平滑Fig.5 Motion vector smoothing如图5所示,取该块的八个相邻块与自己本身运动矢量的平均值作为插帧恢复过程中的运动矢量,如果待插值的块位于边界区域,则取其边界内参考块的运动矢量进行参考,例如若此时需要插值图像右下角的块,则在参考帧中取其对应位置块,其左边块、上边块以及左上方三个块进行参考.其他角落的边界块插值以此类推.经过如上处理得到丢失帧的最终运动矢量.帧率变换技术是基于视频帧的时域相关性,因此可以如式(3)由相邻两参考帧的运动矢量估算出待插帧的运动信息,除此之外,视频序列中的每一帧内部还存在空域相关性,又由于HEVC中的大部分信息如运动矢量信息都是以不同PU块的格式存储和传输的,在丢失帧的重建过程中也是以块的像素值重建的方式完成的,在插帧的过程中按照待插帧中每行中的4×4块的方式进行插值,这样就存在一个问题:待插帧中的某个块可能会同时使用到参考帧中不同的参考块的信息,由图4中的参考帧分块信息可知,一帧中存在许多不同大小的块,且每个块有不同的MV,但对于丢失帧的插值块位置有可能覆盖了参考帧中的几个不同的编码块,这样就会造成插值块可能同时参考几个不同的运动矢量信息来进行插值重建,这就造成了重建帧中的块效应,为解决这个问题,根据从码流信息中提取的参考帧中不同的块分布,借用待插块在参考帧中相同位置空域相邻块的运动信息和像素值来共同重建待插块,所以在双向插帧的基础上,充分考虑视频帧中空域上的相关性,对待插值块分区域进行插值,对不同区域内的像素块覆盖位置采用不同的方法进行插值,即基于块覆盖的双向运动补偿插帧,可有效减少插帧过程中带来的块效应.本文提出的基于块覆盖运动补偿插值方法如图6所示.以图6中间实线所标注区域的待插块为例,可见待插块在参考帧中的相同位置的范围覆盖了参考帧编码图像中的4个编码块(图6中以虚线分割的块),以图6中A,B,C 三个不同覆盖区域块来说明具体插帧过程.A块由于覆盖相邻的四个具有不同运动信息的块,所以空域上要受到这四个块运动矢量的影响,因此本文对A块插帧方法为分别使用参考帧中所覆盖四个块的运动矢量信息及像素值来重建待插帧,再取平均,为最终A块的重建值.改进式(4)中的传统双向运动补偿插帧方法,对其进行重建如下:其中,表示A块的重建值,表示待插值A块相对于前后两个参考帧最终的运动矢量信息,因为A块覆盖了四个编码块,空域上受到这四个块的影响,所以i取值1~4分别对应于这四个相关块重建A块,最后取平均值就是重建出的A块像素值.同理B块受到两个相邻编码块运动信息的影响,C块只受一个块的运动信息的约束,对这两块的插值恢复过程如下:图6 块覆盖插值Fig.6 Block-covered interpolation1.4 插值重建视频帧滤波处理尽管视频中相邻帧间存在很高的时域相关性,但实际上相邻两帧中相同位置的像素值也不可能完全一样,帧率上采技术中插值恢复的帧和原始帧相比肯定存在失真,因此,对插帧恢复后的像素值进行滤波显得尤为重要.通过对插值恢复的视频帧进行滤波可以有效地降低处理过程中引入的噪声,并且可以对重建帧中存在的空洞和块效应起到平滑的作用.在一视频帧中,引入的噪声大多集中在代表图像细节纹理信息的高频部分,因此,选用的滤波方法应该在有效滤除掉噪声的同时,也要保留图像中的轮廓及边缘等重要信息;而一帧图像中大部分能量集中在低频部分,即图像的背景部分,往往插值重建帧中的空洞或者块效应也集中在这一部分,通过平滑滤波可以解决这一问题.一般的滤波方法包括均值滤波,中值滤波,双边滤波等,其中的均值滤以及高斯滤波可以对视频帧进行平滑,均值滤波具体的平滑方法如图7,其中(m,n)表示一帧中的像素位置,本文中使用了[1,1,1;1,8,1;1,1,1]的3×3模板作为插值恢复帧平滑滤波器,模板如图8.经实验比较,相比于其他[1,2,1;1,4,1;1,2,1]和[1,1,1;1,1,1;1,1,1]两个模板,第一个模板取得了更好的滤波效果. 图7 平滑滤波Fig.7 Smoothing filtering图8 平滑滤波模板Fig.8 The template of smoothing filter1.5 本文算法具体流程综上所述,本文算法的主要思想是结合帧率变换技术的HEVC编码改进算法,在编码端进行自适应抽帧,在解码端,改进了基于块覆盖的双向运动补偿插帧方法,进行插帧恢复,并通过滤波方法来提高插值重建帧质量.流程图如图9所示,具体算法实现过程如下:步骤1.在编码端将待编码视频序列进行自适应抽帧;步骤2.编码抽帧后的序列,传到解码端,并在解码端接收到的码流信息中提取运动信息和帧内分块信息;步骤3.通过码流信息得到的运动矢量信息初步确定丢失帧的运动信息;步骤4.通过获取的分块信息,对参考帧图像中的帧内编码块进行运动矢量估计,保证每一个块都有合适自己的运动矢量;步骤5.运动矢量平滑处理,使用基于块覆盖的双向运动补偿插帧方法对待插帧进行插值恢复;步骤6.对重建帧进行滤波处理,以减少插帧中出现空洞和块效应.2 实验结果及分析为了验证上文所提算法的有效性,实验部分将本文提出的算法和标准的HEVC编解码过程实验结果进行对比.实验平台采用CPU为Intel Core i5 3470 3.2GHz及内存为4GB的PC.本文在对低帧率视频和原视频的HEVC编码过程中,标准HEVC视频编解码器版本为HM16.0,配置文件都使用了encoder_low delay_P_main,选取了不同分辨率的视频序列的前100帧,在量化参数QP分别选取了22,27,32,37,42的情况下进行测试.由于视频序列的多样性,如本文算法实验结果显示,虽然对于所选用类型的测试序列均有正向效果,但不代表本文算法适用于所有标准视频.具体实验结果如下:由于本文提出的是一种结合帧率变换和HEVC标准的新型视频压缩编码算法,最终目的是在视频编码标准HEVC的基础上降低码率,因此实验首先给出的对比结果为本文算法与HEVC标准的对比,进一步证明算法有效性.表1是5个不同分辨率的标准YUV视频序列在不同量化参数下,经过HEVC标准和本文中结合帧率变换的编码方法编码码率和重建视频峰值信噪比(Peak signal to noise ratio,PSNR)的对比. 由表1结果可见,对于不同分辨率的视频序列,相比于HEVC标准视频编码方法,在不同量化参数下,本文算法可以节省一定的码率,并且随着QP的逐渐增大,PSNR的差。
如何进行视频编码的动态自适应(一)

如何进行视频编码的动态自适应在当今数字化信息传输的时代,视频编码已经成为我们生活中不可或缺的一部分。
无论是在线视频平台还是视频会议,都需要有效的视频编码技术来保证传输的质量和流畅度。
而动态自适应视频编码技术的出现,为视频传输带来了更高的优化效果和适应性。
一、什么是视频编码的动态自适应动态自适应视频编码是一种基于实时监测和反馈机制的编码技术。
它根据实时网络状况和设备能力,动态调整视频编码的参数和质量,以适应实际传输环境的变化。
二、为什么需要动态自适应视频编码在传输视频时,网络状况和终端设备的能力常常是不稳定的。
动态自适应视频编码技术可以确保在不同网络环境下,视频传输的质量和用户体验仍然良好。
它可以自动调整视频的码率、分辨率和帧率等参数,根据不同的网络条件进行适配,从而减少卡顿、延迟和画质损失。
三、动态自适应视频编码的工作原理动态自适应视频编码有多种实现方式,其中基于码率自适应的方法是最常见的。
该方法根据网络带宽的实时情况,动态调整视频编码的码率。
当网络带宽较低时,它会降低码率以适应网络传输能力;而当网络带宽充足时,它则会提高码率,以提升视频的画质和细节。
另一种常见的实现方式是基于分辨率自适应的方法。
该方法根据设备屏幕的大小和网络状况,调整视频的分辨率。
当设备屏幕较小或网络带宽有限时,它会降低视频的分辨率,以减少数据量和提高传输效率;而当设备屏幕较大或网络带宽较大时,它则会提高视频的分辨率,以展现更清晰的画面。
四、动态自适应视频编码的优势和挑战动态自适应视频编码技术的优势在于可以根据实际情况进行灵活调整,既可以提高用户体验,又可以节约带宽资源。
它能够在不同网络环境下提供更好的视频传输质量,让用户无论使用何种设备都能够流畅观看视频内容。
然而,动态自适应视频编码技术也存在一些挑战。
首先,实时监测和反馈机制需要较高的算力和带宽资源,要求编码和解码设备具备较强的计算和传输能力。
其次,动态自适应视频编码技术需要与不同设备和平台的兼容性,以保证在多种终端上都能够正常使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于帧率逐级自适应的视频编码
【摘要】传统帧率控制算法当场景持续的大运动量变化时,会有帧率波动过大、忽快忽慢的不连贯性而造成的闪烁感。
为了解决这个问题,我们设计了基于帧率逐级自适应的算法,通过采用逐级自适应地调整目标帧率,以降低跳帧控制中的一次性跳帧数目,来达到帧率平稳以及图像质量提高的目的。
【关键词】码率;帧率;自适应;场景变换检测
1.引言
在多媒体通信系统中,以下因素直接影响视频图像质量。
1.1视频编码器的过高的输出码率会导致网络拥塞、丢包,而造成图像质量急剧下降;而过低的输出码率,也会导致图像质量下降和对网络资源的浪费。
1.2帧率的波动大小,也会直接影响到对图像效果的主观感受。
如图1所示,横坐标为时间(单位:秒),纵坐标为帧率(单位:fps),最大帧率和最小帧率变化剧烈,如此连贯性不一致的现象会造成图像中运动的人或物体跳动和闪烁的主观感受。
因此,为了最终获得质量较高的视频图像,不仅要使编码器的输出码率尽可能的有效利用网络带宽资源,还要考虑输出图像帧率的波动大小。
图1 一般帧率变化曲线
目前现有的控制帧率波动的算法是,通过对场景变换的检测,实现图像在场景变换较小的时候进行跳帧,以便给场景变换较大时,分配较多比特进行编码,保证图像质量和连贯性。
如下图所示:
图 2 本发明相关方案原理图
这种算法的缺点是。
1.2.1当场景持续的大运动量变化时,虽然存在某一瞬时的场景变化较小,但是由于时间过短,而没有可用来跳过的帧数,最终导致该算法会失效。
1.2.2实际网络的状况会存在可用网络带宽资源不恒定的情况,而该方案没有考虑网络自适应性能。
为了克服帧率波动过大、忽快忽慢的不连贯性而造成的闪烁感,我们设计了基于帧率逐级自适应的算法,这种算法同时兼顾了网络带宽自适应。
2.基于帧率逐级自适应的算法介绍
基于帧率逐级自适应的算法在码率适应于网络的基础上,通过采用逐级自适应地调整目标帧率,以降低跳帧控制中的一次性跳帧数目,来达到帧率平稳以及图像质量提高的目的。
算法系统框架,如下图所示。
图3 编码器系统框架图
S301:预测当前网络可用带宽资源。
S302:编码器根据可用带宽、帧率调整情况,对码率控制参数进行初始化,包括目标帧率、目标码率,及每帧的目标帧长等。
S303:根据图像复杂程度的变化情况,预测图像将要跳帧的数目。
这里可根据编码器输出视频码流的大小计算跳帧数目。
S304:根据当前可用网络带宽资源以及跳帧的数目获得需要调整帧率的级数,在这里帧率被分为若干级,便于逐级调整;根据需要调整的帧率级数获取需要更新的目标帧率。
在网络状况较差,逐级降低编码器的目标帧率,这样相当于把一次的大的跳帧数均匀的分配到一段时间,以获取帧率的平稳,并且分配给每帧图像的目标码率增多,而提高了图像质量。
在网络状况良好时,不仅可以进行逐步提高码率,而且对帧率进行逐级向上调整。
这样,帧率变化就不会像图1所示波动过大,相反,在场景持续地、大运动量变换地情况下,经过帧率自适应,就可以达到如下效果。
2.1图像帧率变换平稳,并且可以看出在逐级提高或者逐级下降。
2.2从主观效果上看,忽快忽慢以及闪烁的现象改善了,并且图像质量有所提高。
S305:把更新的目标帧率反馈给编码器的码率控制参数。
假设初始目标码率为1Mbps,初始帧率为25帧/s,则初始目标帧长为40Kbits。
假设某一秒的第一帧图像比较复杂需要用200Kbits,为了使实际输出码率不超过1Mbps,需要跳4帧,即第7、8、9、10帧被挑过。
而基于帧率逐级自适应算法,由于第一帧图像需要用200Kbits,则将目标帧率下调至20帧/s,则此时的目标帧长为50Kbits,为了不使输出码率超过1Mbps,要跳三帧,即第2、3、4帧被跳过,对第5帧进行编码。
如果第5证也比较复杂需要用200Kbits,则需要在跳三帧,即第6、7、8帧被跳过。
通过比较可以看出,传统算法需要一词跳4帧,而根据就基于帧率逐级自适应算法,一次跳帧会减少至3帧,以一次大的跳帧数被分配到一段时间内进行多次跳帧。
根据传统算法,如果2秒内跳10帧,这10帧均在第一秒内连续被挑过,而
第二秒没有跳帧,则第1秒和第2秒的帧率差别会很大;而基于帧率逐级自适应的算法,一次大的跳帧数被分配到一段时间内进行多次跳帧,结果是第1秒内跳6帧,第2秒内跳帧,则第1秒和第2秒的帧率差别不会太大。
这显然可以减轻图像中运动的人或物体跳动和闪烁的主观感受。
3.帧率自适应模块实现方法
图4为帧率自适应模块原理图。
图4 帧率自适应原理图
S401:可用网络带宽和编码器内部码率控制跳帧数作为帧率自适应模块的输入。
S402:利用S401的输入,对编码器码率控制参数(目标帧率、目标码率)进行更新。
图2所示的方案的目标帧率在一次通信过程中是固定的,跳帧数只用来决定哪些帧是否需要编码,对目标帧率无影响。
而基于帧率逐级自适应算法中根据跳帧数对目标帧率作出调整,设定三个阈值,以判断和计算是否需要调整当前目标帧率。
S403:连续若干次判断跳帧数是否均大于第一个设定值,如果符合就下调帧率一级。
S404:连续若干次判断跳帧数是否均小于第二个设定值,如果符合就上调帧率一级。
S405:连续若干次判断跳帧数是否均小于第三个设定值,如果符合就保持当前帧率
S406:输出根据上述帧率级数计算得到的目标帧率。
4.结束语
图5是采用了帧率逐级自适应算法后的帧率变化曲线。
从下图可以看出,这种算法使视频编码器在基于网络带宽自适应的基础上,图像帧率平稳,图像清晰度提高,连贯性增强。
图5 帧率自适应效果■
【参考文献】
[1]吴坚等.一种视频编码方法和视频编码器.CN200810247551_2.2008.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。