基于通用视频编码标准的屏幕编码系统的制作方法

文档序号:7764918阅读:459来源:国知局
专利名称:基于通用视频编码标准的屏幕编码系统的制作方法
技术领域
本发明涉及的是一种视频图像处理技术领域的系统,具体是一种基于通用视频编 码标准的屏幕编码系统。
背景技术
在计算机远程网络教学、监控系统、网络会议等方面,计算机屏幕视频压缩是一种 重要的环节,由于屏幕图像分辨率较高,且内容复杂,屏幕图像对网络带宽要求较高。视频 编码是指把数字视频流序列用更少的数据位进行存放的方法,而屏幕视频的编码以下简称 屏幕编码,是指数字视频流序列由屏幕图像产生。这一技术可以有效地减少需要传输的数 据量,从而降低对网络的压力。与普通视频相比,屏幕视频有着分辨率高,帧与帧之间变化不显著等特点。而通用 视频编码标准,考虑到一般视频中,图像内容和物体运动很复杂,通用视频编码标准提供了 丰富的压缩工具,因此为了达到较好的压缩效果,通常需要大量的计算。如果将通用视频 编码标准直接用于屏幕编码,会占用大量的CPU时间,特别应用于实时直播场景,这样高的 CPU占用率是难以接受的。所以针对屏幕视频压缩,通常采样专用的屏幕视频编码方法进行压缩。但屏幕编 码方法对屏幕视频内容有着较大的局限性,当屏幕图像变化剧烈,特别是播放一段视频时, 压缩效果就会变差。经对现有技术的文献检索发现,中国专利文献号CN101014127A的专利普适环境 下的远程桌面同步方法提出了一种基于变化子区域的运动预测和补偿的屏幕视频编码方 案,该方案具有一定优点,但屏幕图像的持续变化剧烈变化会导致压缩率会下降,使用有一 定局限性。

发明内容
本发明针对现有技术存在的上述不足,提供一种基于通用视频编码标准的屏幕编 码系统,能够有效降低CPU占用率。本发明是通过以下技术方案实现的,本发明包括屏幕信息获取模块、颜色空间转 换模块和改进型通用编码器,其中屏幕信息获取模块与颜色空间转换模块相连接并传输 原始屏幕图像和变化区域信息,颜色空间转换模块与改进型通用编码器相连接并传输变化 区域信息以及编码输入图像,改进型通用编码器输出编码压缩后的数据。所述的编码输入图像是指符合改进型通用编码器输入图像格式要求的图像;所述的屏幕信息获取模块用于从计算机显示子系统获取当前屏幕图像信息以及 变化区域信息,其中变化区域信息是指由矩形的坐标描述的当前屏幕图像与前一帧图 像相比发生变化的像素组成的图像区域的最小外接矩形所围成的区域。所述的颜色空间转换模块用于将屏幕信息获取模块中获取的原始屏幕图像进行 颜色空间转换并输出一幅符合改进的基于通用视频编码标准的编码器输入图像格式要求
3的图像;所述的通用视频编码标准是指将图像切分成指定大小的像素块,即宏块,以宏块 为单位进行编码压缩;并且支持以“跳过”的压缩模进行编码,即当已压缩的前一帧图像存 在与当前宏块内容完全一致的宏块,即预测宏块,预测宏块与当前宏块在图像中位置相同, 当压缩该当前宏块时仅记录预测宏块的位置信息和“跳过”模式的标志,不记录其他关于当 前宏块的信息。所述的改进型通用编码器用于对编码输入图像进行编码压缩并输出压缩数据,该 改进型通用编码器包括基于通用视频编码标准的编码器和一个新增的内嵌在通用视频编 码器中的“跳过”模式快速检测单元,其中“跳过”模式快速检测单元,用于对不在变化区 域内的宏块,即未变化宏块,为其直接选择“跳过”模式来进行压缩。本发明可解决当屏幕中播放视频时,使用传统的屏幕专用编码方案压缩效果较差 的问题,并且相比使用通用视频编码标准编码器进行屏幕编码时,该系统能够有效降低CPU 占用率。本发明的系统可以广泛地应用于计算机远程网络教学、监控系统、网络会议、计算 机远程控制系统等领域。


图1是本发明系统结构图。图2是实施例2中系统结构图。图3是实施例2中颜色空间转换模块的操作示意图。图4是实施例2中改进的h. 264通用视频编码器的操作流程图。
具体实施例方式下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。实施例1如图1所示,本实施例包括屏幕信息获取模块110、颜色空间转换模块120和改 进型通用编码器130,其中屏幕信息获取模块110与颜色空间转换模块120相连接并传输 原始屏幕图像101和变化区域信息102,颜色空间转换模块与改进型通用编码器相连接,并 传输变化区域信息,以及一幅符合改进型通用编码器输入图像格式要求的图像,以下简称 为编码输入图像103,改进型通用编码器输出编码压缩后的数据104。所述的屏幕信息获取模块110用于从计算机显示子系统获取当前屏幕图像信息 以及变化区域信息102,其中变化区域信息102是指由矩形的坐标描述的当前屏幕图像 与前一帧图像相比发生变化的像素组成的图像区域的最小外接矩形所围成的区域。所述的颜色空间转换模块120用于将屏幕信息获取模块110中获取的原始屏幕图 像进行颜色空间转换并输出一幅符合改进的基于通用视频编码标准的编码器输入图像格 式要求的图像,该通用视频编码标准是指首先将图像切分成指定大小的像素块,即宏块, 以宏块为单位进行编码压缩,然后以“跳过”的压缩模进行编码,即当已压缩的前一帧图像 存在与当前宏块内容完全一致的宏块,即预测宏块,且预测宏块与当前宏块在图像中位置相同,当压缩该当前宏块时仅记录预测宏块的位置信息和“跳过”模式的标志,不记录其他 关于当前宏块的信息。所述的改进型通用编码器130用于对编码输入图像进行编码压缩并输出压缩数 据,该改进型通用编码器130包括基于通用视频编码标准的编码器和一个新增的内嵌在 通用视频编码器中的“跳过”模式快速检测单元,其中“跳过”模式快速检测单元,用于对 不在变化区域内的宏块,即未变化宏块,为其直接选择“跳过”模式来进行压缩。在基于通用编码标准的屏幕编码系统中,屏幕信息获取模块110首先获取当前屏 幕图像以及变化区域等信息,将这些信息放入缓冲区,而颜色空间转换模块120,从缓冲区 中取出屏幕图像,根据变化区域信息102进行颜色空间的转换,输出符合改进的基于通用 视频编码标准的编码器输入格式要求的图像,即所谓的编码输入图像,改进型通用编码器 130利用变化区域对编码输入图像进行压缩。通用视频编码器中包含一个“跳过”模式快速 检测装置131,其作用是依据屏幕信息获取模块110提供的变化区域,快速判断当前宏块是 否可用“跳过”模式进行压缩,即对于不在变化区域内的宏块,都应该直接使用“跳过”模式。 最后,通用视频编码器将压缩后的数据输出。以上过程称为屏幕录制。实施例2如图2所示的是基于通用编码标准的屏幕编码系统的一个实施例,该实施例系统 使用Windows操作系统下的Mirror Driver机制来获取屏幕信息,采用通用视频编码标准 h. 264对屏幕图像序列形成的视频进行压缩。h. 264标准将视频图像切割成大小为16女16 的宏块进行压缩,并且包含一种P_Skip模式来表示当前宏块与预测宏块内容相同的情况。Windows操作系统屏幕图像的格式为彩色位图,称为RGB格式;本实施例系统采用 h. 264的高级简表high profile,该简表支持的输入图像颜色格式为YUV,所以颜色空间转 换模块120,负责将RGB转换成YUV。该实施例系统包括以下5个模块Mirror driver屏幕信息获取模块221,RGB到 YUV转换模块222,改进的h. 264通用视频编码器223,计时器224和用户界面225。其中的 计时器,用于控制屏幕编码系统根据指定的频率进行屏幕录制,直到人为结束屏幕录制过 程。其中的用户界面,使用户能够指定屏幕编码的参数以及控制屏幕录制的开始和结束。首先,由Mirror driver屏幕信息获取模块221获取屏幕信息,包括屏幕图像,变 化区域,还包括当前屏幕的分辨率和颜色格式。计算机屏幕的分辨率为1024女768或者更高,获取屏幕图像前,系统会自动将屏 幕的分辨率改为800 * 600,这是为了避免编码过程中数据量太大,屏幕录制结束时,系统 会自动将分辨率调整回原来的值。获取的颜色格式一般为32位RGB位图,具体为32位 BGRA。实施例系统使用Mirror Driver获取屏幕信息,Mirror Driver是Windows提供 一种虚拟显示驱动器技术,将实际的视频设备如显示屏上物理操作在一片内存空间进行模 拟。因此可以通过这一机制获取屏幕图像准确的矩形变化区域。实施例系统将变化屏幕图 像切分成4 * 4的16个矩形子区域,对每个矩形区域分别获取最小的矩形变化区域,每个 矩形变化区域由左上角和右下角的坐标表示,一共16组坐标。实施例系统选用通用编码器130是遵循的h. 264标准的开源编码器x264,该编码 器速度快,压缩效果好,在视频编码领域被广泛使用,该编码器支持的输入图像颜色空间具体为YUV420。因此,RGB到YUV转换模块将BGRA格式的屏幕图像转换成YUV420格式的编 码输入图像。如图3所示,操作时,对变化区域内的像素进行颜色空间转换图3a,并将这些 像素复制到前一帧图像的相应位置图3b,覆盖因变化而无效的区域图3c。χ. 264视频编码器包括以下几个主要模块1)宏块切分装置,用于将输入图像切分成16女16的像素宏块。
2)帧类型判断器,判断待编码图像的帧类型。在x264中,有三种帧类型,关键帧 称为I帧,单向预测帧称为P帧,双向预测帧B帧。考虑到本实施例主要面向实时应用,故 将B帧的功能关闭。其中,I帧中不能包括“跳过P_Skip”模式的模块。X264根据图像变 化程度scenecut和预设的图片组长度G0P,判断当前图像是否为关键I帧。本实施例系统 设 scenecut = 40,GOP = 100。3)压缩模式决策器,用于判断当前宏块的压缩模式。其中包含一个“跳过P_Skip” 模式快速检测装置,其作用是依据屏幕信息获取模块110提供的变化区域,快速判断当前 宏块是否可用“跳过P_Skip”模式进行压缩,即对于不在变化区域内的宏块,都应该直接使 用“跳过P_Skip”模式。4)压缩器,用于根据选择的预测模式进行数据压缩,并将压缩后的数据写成一个 视频文件。如图4所示,编码输入图像进行宏块切分和帧类型判断之后,由压缩模式决策器 进行压缩模式的选择,如果该帧不是关键帧,则首先由“跳过”模式快速检测装置根据变化 区域信息102,检测当前宏块是否位于变化区域中,当宏块不在变化区域中,为其选择“跳过 P_Skip”模式。对于变化区域中的宏块,x264的宏块压缩模式决策器会为其选择适当的压 缩模式。对于关键帧,x264压缩模式决策器将按照默认的策略进行模式决策。最后,压缩 器根据压缩模式进行数据压缩,并将压缩后的数据写成一个视频文件。本实施例在通用视频编码器x264的基础上,增加了一个“跳过P_Skip”模式快速 检测模块,该模块利用变化区域信息102对无变化的宏块进行压缩模式的快速决策。对于 颜色空间转换模块120,本实施例利用变化区域信息102,减少了需要进行颜色空间转换的 图像区域。因此,本实施例系统相对于未使用变化区域信息102的一般基于通用编码器130 的屏幕录制系统,运算量有明显的减小。在配置在CPU core 2duo2. OGHz,内存IG的笔记本电脑上用vTune9. 0测试运行该 屏幕录制系统的CPU的使用情况。得到的数据显示,利用变化区域进行优化后的颜色空间 转换和编码操作时间比起没有优化的操作时间,占用的CPU时钟数分别减少了 99. 58%和 54. 84%,整个系统占用的CPU时钟数减少了 62%。另外XP给出的,含“跳过”模式快速检 测的基于x264屏幕录制系统的CPU使用率,也从未改进系统的的44%降低到25%。上述实验结果表明,基于通用视频编码标准的屏幕编码系统,相比于使用通用视 频编码标准编码器进行屏幕编码时,该系统能够有效降低CPU占用率。
权利要求
一种基于通用视频编码标准的屏幕编码系统,其特征在于,包括屏幕信息获取模块、颜色空间转换模块和改进型通用编码器,其中屏幕信息获取模块与颜色空间转换模块相连接并传输原始屏幕图像和变化区域信息,颜色空间转换模块与改进型通用编码器相连接并传输变化区域信息以及编码输入图像,改进型通用编码器输出编码压缩后的数据。
2.根据权利要求1所述的基于通用视频编码标准的屏幕编码系统,其特征是,所述的 编码输入图像是指符合改进型通用编码器输入图像格式要求的图像。
3.根据权利要求1所述的基于通用视频编码标准的屏幕编码系统,其特征是,所述的 屏幕信息获取模块用于从计算机显示子系统获取当前屏幕图像信息以及变化区域信息,其 中变化区域信息是指由矩形的坐标描述的当前屏幕图像与前一帧图像相比发生变化的 像素组成的图像区域的最小外接矩形所围成的区域。
4.根据权利要求1所述的基于通用视频编码标准的屏幕编码系统,其特征是,所述的 颜色空间转换模块用于将屏幕信息获取模块中获取的原始屏幕图像进行颜色空间转换并 输出一幅符合改进的基于通用视频编码标准的编码器输入图像格式要求的图像。
5.根据上述任一权利要求所述的基于通用视频编码标准的屏幕编码系统,其特征是, 所述的通用视频编码标准是指将图像切分成指定大小的像素块,即宏块,以宏块为单位进 行编码压缩;并且支持以“跳过”的压缩模进行编码,即当已压缩的前一帧图像存在与当前 宏块内容完全一致的宏块,即预测宏块,预测宏块与当前宏块在图像中位置相同,当压缩该 当前宏块时仅记录预测宏块的位置信息和“跳过”模式的标志,不记录其他关于当前宏块的 fn息ο
6.根据权利要求1或2所述的基于通用视频编码标准的屏幕编码系统,其特征是,所述 的改进型通用编码器用于对编码输入图像进行编码压缩并输出压缩数据,该改进型通用编 码器包括基于通用视频编码标准的编码器和一个新增的内嵌在通用视频编码器中的“跳 过”模式快速检测单元,其中“跳过”模式快速检测单元,用于对不在变化区域内的宏块,即 未变化宏块,为其直接选择“跳过”模式来进行压缩。
全文摘要
一种视频图像处理技术领域的基于通用视频编码标准的屏幕编码系统,包括屏幕信息获取模块、颜色空间转换模块和改进型通用编码器,屏幕信息获取模块与颜色空间转换模块相连接并传输原始屏幕图像和变化区域信息,颜色空间转换模块与改进型通用编码器相连接并传输变化区域信息以及编码输入图像,改进型通用编码器输出编码压缩后的数据。本发明能够有效降低CPU占用率。
文档编号H04N7/26GK101977322SQ20101053927
公开日2011年2月16日 申请日期2010年11月10日 优先权日2010年11月10日
发明者张智强, 谢伟凯, 金磊, 鲁晨平 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1