发明内容
本发明的目的在于提供一种ROI编码方法及其系统,用以实现在ROI编码过程中根据需要灵活设置前景和背景显示清晰度,为此,本发明采用如下技术方案:
一种ROI编码方法,应用于视频监控编解码系统,该方法包括以下步骤:
视频监控编解码系统获取用户在该系统的图像显示窗口所选择的前景区域和背景区域,以及用户选择的前景区域图像质量等级;
视频监控编解码系统根据所述前景区域图像质量等级确定前景区域和背景区域的码率分配比例,并根据该码率分配比例分配前景区域和背景区域的码率;
视频监控编解码系统根据前景区域和背景区域的码率,分别对前景区域和背景区域进行灵活宏块次序FMO编码。
上述方法中,前景区域图像质量等级越高,则对前景区域分配的码率比例越高。
上述方法中,视频监控编解码系统对前景区域和背景区域进行编码时,还包括:设置前景区域的NALU优先级高于背景区域的NALU优先级;
所述视频监控编解码系统在解码时,根据NALU优先级使用对应的解码方式分别对前景区域和背景区域进行解码,并将解码后的图像显示于所述图像显示窗口;其中,高NALU优先级所对应的解码方式的压缩率低于低NALU优先级所对应的解码方式。
上述方法中,所述视频监控编解码系统中的云台控制窗口与所述图像显示窗口重叠;
所述视频监控编解码系统根据用户在云台控制窗口区域的鼠标拖拽操作,确定视频监控系统摄像头云台的旋转角度,并根据确定出的旋转角度控制摄像头云台的旋转;
所述视频监控编解码系统将旋转后的云台上的摄像头所采集的图像显示于所述图像显示窗口。
上述方法中,所述方法还包括:所述视频监控编解码系统根据用户在所述图像显示窗口区域的鼠标滚动操作,确定前景区域的缩放比例,并根据确定出的缩放比例控制图像显示窗口中的前景区域的缩放。
一种视频监控编解码系统,包括:
获取模块,用于获取用户在该系统的图像显示窗口所选择的前景区域和背景区域,以及获取用户选择的前景区域图像质量等级;
码率分配模块,用于根据所述获取模块获取到的前景区域图像质量等级,确定前景区域和背景区域的码率分配比例,并根据该码率分配比例分配前景区域和背景区域的码率;
编码器,用于根据所述码率分配模块所分配的前景区域和背景区域的码率,分别对前景区域和背景区域进行灵活宏块次序FMO编码。
上述视频监控编解码系统中,所述码率分配模块具体用于,前景区域图像质量等级越高,则对前景区域分配的码率比例越高。
上述视频监控编解码系统中,还包括解码器;
所述编码器还用于,在对前景区域和背景区域进行编码时,设置前景区域的NALU优先级高于背景区域的NALU优先级;
所述解码器,用于根据NALU优先级使用对应的解码方式分别对前景区域和背景区域进行解码,并将解码后的图像显示于所述图像显示窗口;其中,高NALU优先级所对应的解码方式的压缩率低于低NALU优先级所对应的解码方式。
上述视频监控编解码系统中,所述视频监控编解码系统中的云台控制窗口与所述图像显示窗口重叠;所述系统还包括云台控制模块;
所述获取模块还用于,获取用户在云台控制窗口区域的鼠标拖拽操作;
所述云台控制模块,用于根据所述获取模块获取到的用户在云台控制窗口区域的鼠标拖拽操作,确定视频监控系统摄像头云台的旋转角度,并根据确定出的旋转角度控制摄像头云台的旋转;
所述系统的图像显示模块将旋转后的云台上的摄像头所采集的图像显示于所述图像显示窗口。
上述视频监控编解码系统还包括前景区域缩放控制模块;
所述获取模块还用于,获取用户在所述图像显示窗口区域的鼠标滚动操作;
所述前景区域缩放控制模块,用于根据所述获取模块获取到的用户在图像显示窗口区域的鼠标滚动操作,确定前景区域的缩放比例,并根据确定出的缩放比例控制图像显示窗口中的前景区域的缩放。
本发明的有益技术效果包括:
通过将前景区域的图像质量划分为不同等级,以及根据不同等级设置前景区域和背景区域的码率分配比例,从而在前景和背景的Slice层间实现码率控制。同时,采用FMO方式对前景和背景进行编码,可分别在前景和背景的Slice内部的宏块层实现码率控制,从而能够灵活设置前景和背景显示清晰度。
具体实施方式
目前,已经可以采用FMO(flexible Macroblock Order,灵活宏块次序)来实现H.264感兴趣区域编码。FMO将编码宏块(MB)序列映射到不同的Slice中。一个Slice是一个独立的预测编码单元。FMO划分图像的模式各种各样,重要的有矩形模式(即前景和背景)等。但FMO技术并未运用到视频监控编解码系统的编码过程。
针对现有技术存在的上述问题,本发明实施例在H.264的FMO编码技术的基础上,对前景区域采用Slice层和Slice内部的宏块层的两层码率控制,从而实现更加精密的码率控制,并提高了前景区域图像清晰度调整范围。
下面结合附图对本发明实施例进行详细描述。
图2示出了本发明实施例所提供的ROI编码流程,如图所示,该流程可包括:
步骤201,视频监控编解码系统根据用户的操作,确定前景区域和背景区域。
该步骤中,用户可在视频监控编解码系统所提供的图像显示窗口内,使用鼠标圈定一部分区域作为前景区域(如使用矩形框框出),则其余部分作为背景区域。
步骤202,视频监控编解码系统根据确定出的前景和背景区域,采用FMO进行编码。
该步骤中,根据FMO编码规则,视频监控编解码系统中的编码器将前景区域作为一个单独的Slice编码,背景区域作为一个单独的Slice编码,即采用H.264中的FMO类型2(即前景和背景模式)进行编码。其中,前景区域(即ROI)的NALU优先级可设置为比背景区域的NALU优先级要高一些。NALU优先级是现有视频编码系统中存在的参数,但不同视频编码系统对该优先级参数的定义可以不同。在本发明实施例中,NALU优先级高则表示编码时所分配的码率相对NALU优先级低的区域要高,在解码时,NALU优先级高则表示可采用相对较小压缩率的算法对相应区域的图像进行显示。具体的,由于解码器可根据不同NALU优先级采用不同的缩放算法,因此将前景区域的NALU优先级设置得高一些,可在进行解码时,对前景区域采用较小压缩率的算法,而使用较大压缩率的算法处理背景区域,这样可以使前景区域的清晰度高于背景区域。
步骤203,当用户需要调整前景清晰度时,视频监控编解码系统根据用户提高或降低前景区域清晰度的操作,确定相应的码率分配比例,并根据该码率分配比例调整前景区域和背景区域的码率分配,并采用FMO进行编码。
前景Slice的图像质量通常要高于背景部分。本发明实施例中,可将前景图像质量设为几个等级。随着等级升高,前景图像清晰度提高,背景图像越发模糊,此时的码率控制算法调整码率分配比例,即,将更多的码率分配给前景,从而实现在Slice层间进行码率控制;而前景和背景的Slice内部,则依然按照FMO方式在宏块层进行码率控制。例如,可为前景图像质量设置两个等级:最高级和次高级;次高级时,图像直接压缩传输前景Slice,不再对背景Slice编码传输,此时码率控制算法将所有的码率分配给前景部分;最高级时,直接对前景图像采用无损PCM(Pulse Code Modulation,脉冲编码调制)压缩方式,此时后端解码图像为编码前的原始图像。可以看出,在该种方案中的码率控制算法采用Slice层和Slice内部的宏块层的两层进行更加精密的码率控制。
在具体实现时,当用户通过键盘或鼠标等输入设备操作视频监控编解码系统提供的前景区域清晰度控制功能按键时,视频监控编解码系统可捕获到用户的操作,并根据用户的操作确定是提高前景区域的清晰度还是降低当前前景区域的清晰度,并根据用户的操作确定需要调整的幅度,从而确定出对应的质量等级。然后根据确定出的质量等级所对应的前景和背景的码率分配比例,对当前的前景和背景的码率分配进行调整,并按照调整后的码率分配采用FMO进行编码,其中,在每个Slice内部依然采用现有的FMO进行码率控制。其中,前景区域的NALU优先级可设置为比背景区域的NALU优先级要高一些。
具体的,当用户按动键盘上的“向上移动”按键时,该操作事件可被计算机操作系统捕获,计算机操作系统可将捕获的事件传递给视频监控编解码系统,视频监控编解码系统可根据该事件判断出用户需要提高前景区域的图像质量,于是,视频监控编解码系统根据当前前景区域和背景区域的码率分配确定更高一级的质量等级所对应的码率分配方案,然后根据该码率分配方案,提高当前前景区域的码率,并相应降低背景区域的码率。当用户按动键盘上的“向下移动”按键时,同理,视频监控编解码系统可将当前前景区域的码率降低,并适当提高背景区域的码率。
在本发明的另一实施例中,视频监控编解码系统可允许用户在选取前景和背景区域后,再通过键盘或鼠标操作选择前景质量等级,然后在用户选择编码命令功能键后,根据用户所选择的前景和背景以及前景质量等级,采用上述方式对视频进行编码,从而实现在Slice层间和Slice内部的宏块层的两层进行更加精密的码率控制。
现有视频监控编解码系统中,图像显示窗口和云台控制窗口分离,如图3所示。在这种情况下,通过云台控制窗口控制镜头云台(Pan Tilt Zoom,PTZ)上的视频监控摄像头的旋转角度时,人眼既需要观看显示窗口中的图像,又要关注云台控制窗口内的按键,容易引起人眼疲劳,且对ROI跟踪操作不便捷。
为了解决上述问题,本发明的另一实施例,在结合上述实施例的基础上,将图像显示窗口和PTZ(Pan Tilt Zoom,镜头云台)控制按键进行有机的结合,从而提供了一种便捷有效的实现方案。
在该实施例中,在视频监控编解码系统的后端显示窗界面上,将云台控制窗口与图像显示窗口重叠在一起,并规定通过鼠标在云台控制窗口中操纵PTZ,即,在图像显示窗口内可使用鼠标按键拖拽进行PTZ各向转动控制,比如,鼠标按键后上下拖拽,控制PTZ前后向转动;鼠标按键后左右拖拽,控制PTZ左右向转动等。进一步的,云台控制窗口设置为透明,当鼠标的光标移到云台控制窗口区域时,可显示不同方向的箭头,以指示用户控制摄像头不同方向和角度的运动,视频监控编解码系统可将旋转后的云台上的摄像头所采集的图像显示于图像显示窗口。图4示出了鼠标可拖拽PTZ在8个方向上转动的示意图。
PTZ转动过程中镜头变焦、光圈调整、快门速度调整,以及云台转速调整等可以通过本发明实施例中的视频监控编解码系统定义的快捷键进行控制。这样方便右手鼠标控制方向转动,同时左手进行其他参数调整控制。
镜头转动过程中,可重复圈定前景区域。重新圈定的前景区域将按照当前的编码参数进行编码。
在对前景图像质量等级升高时,本实施例还可支持使用鼠标滚轮前后转动控制图像显示窗口中的图像缩放的功能。例如,前滚可放大图像,后滚可缩小图像。具体的,当鼠标光标在图像显示窗口区域内时,如果视频监控编解码系统获取到用户前滚鼠标的操作,则可放大前景区域的图像,如果获取到用户后滚鼠标的操作,则可缩小前景区域的图像,并且可根据鼠标前滚或后滚操作,确定前景区域图像的缩放比例。随着前滚操作,可只传输前景部分,此时前景部分可占据整个图像显示窗口,并可随着前滚操作继续对前景部分进行放大。
通过以上描述可以看出,将前景和背景区域的清晰度调整方案与PTZ控制和图像放大缩小的方案相结合,可在对前景和背景分别单独进行Slice编码的同时,可实现图像重点关注区域清晰度的动态调整,以及便捷跟踪。
基于相同的技术构思,本发明实施例还提供了一种视频监控编解码系统,可应用于本发明实施例的上述流程。
参见图5,为本发明实施例提供的视频监控编解码系统的结构示意图。如图所示,该视频监控编解码系统可包括:
获取模块501,用于获取用户在该系统的图像显示窗口所选择的前景区域和背景区域,以及获取用户选择的前景区域图像质量等级;
码率分配模块502,用于根据获取模块501获取到的前景区域图像质量等级,确定前景区域和背景区域的码率分配比例,并根据该码率分配比例分配前景区域和背景区域的码率;
编码器503,用于根据码率分配模块502所分配的前景区域和背景区域的码率,分别对前景区域和背景区域进行灵活宏块次序FMO编码。
上述视频监控编解码系统中,码率分配模块502可在前景区域图像质量等级越高的情况下,对前景区域分配的码率比例越高。
上述视频监控编解码系统中,编码器503还可在对前景区域和背景区域进行编码时,设置前景区域的NALU优先级高于背景区域的NALU优先级。该系统还包括解码器(未在图中示出),该解码器可根据NALU优先级使用对应的解码方式分别对前景区域和背景区域进行解码,并将解码后的图像显示于所述图像显示窗口;其中,高NALU优先级所对应的解码方式的压缩率低于低NALU优先级所对应的解码方式。
上述视频监控编解码系统中的云台控制窗口与图像显示窗口重叠;所述系统还包括云台控制模块504。相应的,获取模块501还可获取用户在云台控制窗口区域的鼠标拖拽操作;云台控制模块504可根据获取模块501获取到的用户在云台控制窗口区域的鼠标拖拽操作,确定视频监控系统摄像头云台的旋转角度,并根据确定出的旋转角度控制摄像头云台的旋转。该系统的图像显示模块(未在图中示出)将旋转后的云台上的摄像头所采集的图像显示于所述图像显示窗口。
上述视频监控编解码系统还可包括前景区域缩放控制模块505。相应的,获取模块501还可获取用户在图像显示窗口区域的鼠标滚动操作;前景区域缩放控制模块505可根据获取模块501获取到的用户在图像显示窗口区域的鼠标滚动操作,确定前景区域的缩放比例,并根据确定出的缩放比例控制图像显示窗口中的前景区域的缩放。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。