一种KVM视频编码量化参数范围控制方法与流程

文档序号:11157548阅读:348来源:国知局

本发明涉及数字视频编码领域,具体涉及一种KVM视频编码量化参数范围控制方法。



背景技术:

键盘(Keyboard)、显示器(Video)和鼠标(Mouse)远程切换管理系统,即数字KVM系统,也被称为多计算机控制器,能够通过一套I/O设备同时控制远程多台计算机,是一种新兴的基于IP网络的计算机远程集中管理技术。随着社会的信息化产业技术发展快速,计算机与网络分布于我们城市的各个角落,大型跨国公司的服务器遍布全球,数字KVM系统使得网络管理员无需为了完成服务器的维护和管理工作而在服务器之间来回奔波,而只需要通过单一的I/O设备就能远程访问并集中管理多达上千台计算机。数字KVM系统通过对企业机房或数据中心进行集中化信息管理,不仅降低了能源消耗、节省了机房空间,还大大简化了工作流程,同时提高了企业的生产力,创造巨大的经济效益。

数字KVM系统主要通过IP网络来对远程计算机进行控制。键盘、鼠标的交互通过KVM操作平台以网络点对点的方式发送到受控单元上,并且受控计算机的显示视频也通过网络发送到KVM操作平台上,供管理人员实现远程控制。键鼠信息因其信息量较小,在网络中直接传输十分方便,而数字视频数据与键鼠信息数据相比数据量非常大。以计算机显示常用的1080P分辨率60帧每秒RGB888色度格式的视频数据来分析,其数据量约为2986Mbps,而实际生活中我们的网络带宽都在1~20Mbps。可见,未经压缩的视频直接通过IP网络传输的是不可行的。要实现管理人员能实时的对受控单元进行操作并接受显示反馈,就必须对原始视频数据进行大幅度的压缩,即需要采用视频编解码技术。

在视频压缩技术的标准化方面,国际上主要有两大标准化机构。国际电信联盟(ITU)致力于电信应用,已经提出了用于低比特率视频电话的H.26x标准;国际标准化组织(ISO)主要针对消费类应用,已经针对运动图像压缩提出了MPEG标准。H.264则是ITU-T和ISO/IEC于2003年联合制定的视频压缩标准,在ISO标准中称为先进视频编码(AVC),隶属于MPEG-4PART10。H.264继续采用了混合编码框架,并较先前标准采用了一些新的编码技术,如整数变换和去块效应环路滤波器等。H.265则是ITU-T和ISO/IEC于2013年联合制定的新一代视频编码标准,在ISO标准中称为高效视频编码(HEVC)。H.265的编码架构沿用了H.264,两者在算法标准中都使用了相同的量化参数概念。量化参数(Quant Parameter,QP)是量化步长(Qstep)的序号。对于亮度编码而言,Qstep共有52个值,对应的QP取值范围为0~51。当QP取最小值0时,Qstep值最小,表示量化最精细;相反,QP取最大值51时,Qstep值最大,表示量化是最粗糙的。QP和ln(Qstep)之间具有线性相关性,Qstep随着QP的增加而增大,每当QP值增加6,Qstep便增加一倍。目前的视频编解码处理芯片都支持对量化参数进行调整,方便用户根据需求进行设置。

标准视频压缩算法主要是面向摄像头采集的视频场景应用,在这些情况下其压缩效率和适应性都很强。而KVM系统采集的视频为计算机输出的显示画面,可分为两种典型情景:键盘鼠标输入情景和场景切换变动情景。在键盘鼠标输入情景下,计算机传输视频常常处于键盘、鼠标输入状态,此时计算机显示画面通常只有较小区域发生变化,而绝大部分区域处于静止的状态,图像中存在很多字符信息和几何线条信息,用户对这些信息的清晰度要求较高,这是数字KVM系统一个重要指标。H.26x系列标准(H.264和H.265)的通用码率控制方法在中低码率的压缩下,小部分视频变动区域的量化参数较之静止部分更大,这也使得该变动部分显得稍不清晰,视频质量收敛速度较慢。在场景切换变动情景下,场景切换或视频发生大幅度运动情景下,此时计算机显示视频画面变动较大,内容变换丰富,是切合H.26x系列标准的压缩情景,相对应的此时的视频码率会产生较大幅度的波动,使得视频流可能产生较大的延时,采用H.26x通用的码率控制方法可以较好的控制峰值数据量,降低码流传输延时,这是数字KVM系统的另一个关键指标。

针对数字KVM系统的实际场景,视频压缩技术不仅要求降低视频码流的数据量,保证视频的显示质量,还要保持输出码流的平稳,满足管理人员的操作体验。目前已有一些研究人员面向数字KVM系统的视频编码量化系数设置进行研究。专利号为200610080828.8的中国专利对场景切换的情景进行针对性处理,在画面切换时将量化系数设为一个最大值,在后续一系列帧中按一定策略逐步减少,使得切换画面过程中,视频逐步清晰。但该专利在切换过程中的视频收敛速度较慢,在视频画面发生小幅度变化的时候,也不能很好的反应场景变化部分的细节,影响用户体验。



技术实现要素:

在采用H.264或H.265视频压缩标准的KVM视频编码系统中,为了在有限带宽情况下提高视频质量的收敛速度和清晰度,同时保证输出码流平稳度,本发明提供了一种KVM视频编码量化参数范围控制方法。

为了解决上述技术问题采用的技术方案为:

一种KVM视频编码量化参数范围控制方法,所述的方法包括以下步骤:

(1)输入一帧KVM视频图像,以及视频编码的目标码率BitRate和目标帧率FrameRate。

(2)设置当前帧的编码量化参数模式QpMode,具体步骤如下:

(2-1)若当前帧为帧内编码帧,则将当前帧的QpMode设为0,即将当前帧的编码量化参数模式设置为通用量化参数模式,并结束当前帧的模式设置;在这种情况下,采用通用量化参数模式将具有较大的量化参数范围,具体范围见步骤(3),可以方便编码器进行码率控制,降低编码峰值码率。

(2-2)若前一编码帧为帧内编码帧,则将当前帧的QpMode设为1,即将当前帧的编码量化参数模式设置为特定量化参数模式,并结束当前帧的模式设置;在这种情况下,前一编码帧为帧内编码帧,根据步骤(2-1),其采用的是通用量化参数模式,其视频图像质量由于码率控制原因无法保证,直接影响后续帧的视频质量,因此当前帧采用特定量化参数模式,即整帧采用一个较小的量化参数范围和整体较低的量化参数,以提升当前帧的视频图像质量,为后续编码帧提供高清晰的参考。

(2-3)若在最近已编码的连续N帧中存在任一帧的QpMode为1,则将当前帧的QpMode设为0,即将当前帧的编码量化参数模式设置为通用量化参数模式,并结束当前帧的模式设置;N的取值范围为[1,30],保证最近的连续N帧中最多仅有一帧采用特定量化参数模式,保证峰值码率不会显著上升,其取值越小则采用特定量化参数模式越多,图像质量刷新越快,但峰值码率会增加。

(2-4)若前一帧的QpMode等于0且前一帧的编码比特数FrameBits满足式(1),则将当前帧的QpMode设为1,即将当前帧的编码量化参数模式设置为特定量化参数模式,并结束当前帧的模式设置;在这种情况下,正是视频场景从复杂切换场景到静止场景的过程中,当前帧设为特定量化参数模式,可让视频图像质量迅速得到提高,即加快视频质量的收敛速度;在式(1)中,目标码率BitRate的单位为bps,即每秒的比特数,目标帧率FrameRate的单位为fps,即每秒的帧数,α是为FrameBits的下限范围调整参数,其取值范围为[0.15,0.45],β为FrameBits的上限范围调整参数,其取值范围为[0.55,0.85]。

(2-5)若最近已编码的连续M帧的QpMode都为0且每帧的编码比特数FrameBits都小于等于比特数阈值TH,则将当前帧的QpMode设为1,即将当前帧的编码量化参数模式设置为特定量化参数模式,并结束当前帧的模式计算;在这种情况下,每帧的编码比特数较小,视频图像处于基本静止状态,本方法定期采用特定量化参数模式可以提升整体视频图像的清晰度;M的取值范围为[3,30],在平均码率较低的情况下保证每M帧中至少有一帧采用特定量化参数模式,其取值越小则图像质量刷新越快,但峰值码率会增加;比特数阈值TH按式(2)计算得到,比特数阈值调整参数λ的取值范围为[0.1,0.4],并且要求λ小于等于式(1)中的下限范围调整参数α,λ取值越小,则当前帧采用特定量化参数模式的条件越严格。

(2-6)其它情况下,将当前帧的QpMode设为前一帧的QpMode,完成QpMode的设置。

(3)根据当前帧的编码量化参数模式计算其编码量化参数范围,具体步骤如下:

(3-1)若当前帧的QpMode与前一帧的QpMode相等,则保持编码量化参数范围不变,即帧间编码帧的最大量化参数QpPmax、最小量化参数QpPmin,以及帧内编码帧的最大量化参数QpImax、最小量化参数QpImin都保持不变;否则进行下一步。

(3-2)先按式(3)计算当前帧的目标压缩比Ratio,式(3)中,PixelBits为单个原始像素的平均量化比特数,Width为当前帧水平方向的像素个数,Height为当前帧竖直方向的像素个数;BitRate和FrameRate都是由用户根据网络带宽和系统延时的需求在步骤(1)输入。

为解决帧内编码帧的间隔GopLen变化引起的带宽影响,接着按式(4)计算当前帧压缩比调整参数Adj,式中t为Adj的时间因子,用来调整GopLen对Adj的影响程度,式(4)中的分子表示在t秒内的编码帧数,t的取值范围为[2,10],其取值越大,则计算得到的Adj范围越大。

(3-3)若当前帧的QpMode等于0,则先按式(5)计算QpPmin,式中基础量化参数BaseQp取值范围为[22,26],根据KVM视频高复杂文字画面场景下的主观图像质量选取,以保证该场景下较低的视频质量清晰度,同时具有较低的峰值码率;接着按式(6)计算QpImin,式中增量参数p的取值范围为[0,6],取值越大可降低由于帧内编码帧引起的峰值码率,但也降低了帧内编码帧的视频图像质量;最后设置QpPmax和QpImax,它们的取值范围都为[40,51],分别用来保证帧间编码帧和帧内编码帧最基本的视频图像质量,它们的取值越小,复杂切换场景下的视频图像质量越好,但峰值码率也越大,它们的取值越大,复杂切换场景下的视频图像质量变差,但峰值码率会变小。

QpImin=QpPmin+p (6)

(3-4)若当前帧的QpMode等于1,则QpImin和QpImax保持不变,QpPmin按式(7)计算得到,QpPmax按式(8)计算得到。式(7)中,差异参数d的取值范围为[0,6],取值越小,在静止场景下视频图像的清晰度越高,但在突然切换场景下的峰值码率越高,基础量化参数BaseQp取值范围与式(5)相同,同样为[22,26],以保证与通用量化参数模式下基本一致的视频图像清晰度。式(8)中,增量参数q的取值范围为[0,6],取值越小收敛性越好,峰值码率越高,取值越大收敛性降低,峰值码率越低。由于在步骤(2)中所有的帧内编码帧都不会采用特定量化参数模式,所以QpImin和QpImax无需计算,保持不变。

QpPmax=QpPmin+q (8)

(4)根据当前帧的编码量化参数范围对当前帧的视频图像进行H.264或H.265编码,并获得当前帧的编码比特数FrameBits。

(5)重复步骤(1)到(4)完成下一帧KVM视频图像的编码。

本发明的技术构思为:在每帧编码前对视频场景进行预测,通过前一帧的编码比特数与编码量化参数模式来预测当前帧视频图像的场景类型,进而从特定量化参数模式和通用量化参数模式中选择一种模式作为编码量化参数模式,然后根据量化参数模式计算量化参数范围,最后根据量化参数范围对KVM视频进行编码,以提升视频图像质量的收敛速度和清晰度,同时保证峰值码率的平滑性。

与现有技术相比,本发明具有以下有益效果:

本发明提出一种KVM视频编码量化参数范围控制方法。该方法与现有技术相比,具有如下特点和优点:在视频内容仅局部小范围变化时,较小的量化参数范围会使得变化部分内容细节更加清晰,全帧视频质量一致,画面质量迅速收敛;在视频发生画面切换时,设定较大的量化参数范围使得峰值码率较小,并在视频逐步清晰过程中迅速切换进入特定量化参数模式。该方法在基本静止场景下保证系统延时,并使得KVM场景的视频码流在图像细节处更为清晰,在场景切换过程中,保证输出码流平稳,加快视频图像质量的收敛速度;另外,该方法中的参数都给出了典型取值范围,方便用户根据编码器类型、视频分辨率、系统延时等因素进行灵活调优。

具体实施方式

下面结合实施例来详细描述本发明,本项实例在德州仪器DM385芯片上通过控制H.264硬件加速编码器的量化参数范围来优化实现KVM视频的编码,但本发明并不仅限于此。

一种KVM视频编码量化参数范围控制方法,包括以下步骤:

(1)输入一帧KVM视频图像,以及视频编码的目标码率BitRate和目标帧率FrameRate;

(2)设置当前帧的编码量化参数模式QpMode;

(3)根据当前帧的编码量化参数模式计算其编码量化参数范围;

(4)根据当前帧的编码量化参数范围对当前帧的视频图像进行H.264或H.265编码,并获得当前帧的编码比特数FrameBits;

(5)重复步骤(1)到(4)完成下一帧KVM视频图像的编码。

本实施例中,输入KVM视频图像的分辨率为1080P,即水平方向像素个数Width为1920,竖直方向像素个数Height为1080,色度空间格式为YUV420,即每个像素的比特数PixelBits为12;H.264编码器的视频编码目标码率BitRate设为2000000,目标帧率FrameRate设为25,帧内编码帧间隔GopLen设为150。

步骤(2)具体包括:

(2-1)若当前帧为帧内编码帧,则将当前帧的QpMode设为0,即将当前帧的编码量化参数模式设置为通用量化参数模式,并结束当前帧的模式设置;

(2-2)若前一编码帧为帧内编码帧,则将当前帧的QpMode设为1,即将当前帧的编码量化参数模式设置为特定量化参数模式,并结束当前帧的模式设置;

(2-3)若在最近已编码的连续N帧中存在任一帧的QpMode为1(N取值为6),则将当前帧的QpMode设为0,并结束当前帧的模式设置;

(2-4)若前一帧的QpMode等于0且前一帧的编码比特数FrameBits满足式(1),则将当前帧的QpMode设为1,并结束当前帧的模式设置;在式(1)中,α取值为0.2,β取值为0.8;

(2-5)若最近已编码的连续M帧的QpMode都为0(M取值为10)且每帧的编码比特数FrameBits都小于等于比特数阈值TH,则将当前帧的QpMode设为1,并结束当前帧的模式设置;TH按式(2)计算得到,值为16000,式中,λ取值为0.2;

(2-6)其它情况下,将当前帧的QpMode设为前一帧的QpMode,完成QpMode的设置。

步骤(3)具体包括:

(3-1)若当前帧的QpMode与前一帧的QpMode相等,则帧间编码帧的最大量化参数QpPmax、最小量化参数QpPmin,以及帧内编码帧的最大量化参数QpImax、最小量化参数QpImin都保持不变;否则进行下一步;

(3-2)先按式(3)计算当前帧的目标压缩比Ratio,值为311.04;再按式(4)计算当前帧压缩比调整参数Adj,值为1,式(4)中t取值为6;

(3-3)若当前帧的QpMode等于0,则先按式(5)计算QpPmin,式中BaseQp取值为24,计算得到的QpPmin值为30;再按式(6)计算QpImin,式中p取值为2,计算得到的QpImin值为32;最后将QpPmax和QpImax都设为46;

QpImin=QpPmin+p (6)

(3-4)若当前帧的QpMode等于1,则QpImin和QpImax保持不变,按式(7)计算QpPmin,式(7)中d取值为2,QpPmax按式(8)计算得到,式(8)中增量参数q的取值为2,计算得到的QpPmin值为32,QpPmax值为34。

QpPmax=QpPmin+q (8)

步骤(4)具体包括:

在当前帧进行编码前,通过DM385芯片提供的编码器参数设置接口,将将步骤(3)计算得到的量化参数范围设置到编码器,完成对当前帧视频图像的编码,输出最终编码码流并获得编码比特数FrameBits。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1