本发明涉及服务器专用芯片前端设计领域,具体涉及一种面向bmc芯片的视频信息压缩方法。
背景技术:
bmc芯片是基板管理控制器芯片,广泛应用于多路服务器领域,利用bmc远程管理系统,服务器运维人员可以远程连接并监控服务器,监测远程服务器的运行状态,查看服务器运行的界面,以便及时了解服务器工作状况。
在现有的基于bmc芯片的远程管理系统中,视频监控,采用bmc采集视频信息,采用h264或者jepg等相关压缩算法,进行视频压缩,再传输到管理系统。上述压缩算法存在着压缩逻辑复杂,实现成本高的缺点。即使采用软件程序实现,也会占用处理器的时间,影响处理器运行效率。并且带来的bmc芯片的功耗急剧增大。多数的基于bmc的服务器网络监控,视频信息模式较为简单,完全可以采用专门针对视频信息模式的压缩算法,进行压缩处理。
现有技术的工作基本流程:
bmc芯片接收vga模拟信号,进行模数转换,再进入编码单元,最后通过网络发送到远程控制管理系统。
现有的服务器bmc芯片中,采用jpeg算法实现视频信息的压缩,jpeg算法本身实现复杂,功耗相应会增加。
技术实现要素:
本发明要解决的技术问题是:上述压缩算法存在着压缩逻辑复杂,实现成本高的缺点。即使采用软件程序实现,也会占用处理器的时间,影响处理器运行效率。并且带来的bmc芯片的功耗急剧增大。
特别是在被监控系统所处条件恶劣,网络带宽极地的情况下,传输大量的图像信息很难实现。
多数的基于bmc的服务器网络监控,视频信息模式较为简单,完全可以采用专门针对视频信息模式的压缩算法,进行压缩处理;极端情况下只需传输灰度信息即可,但是此种通用算法没有此功能。
在现有的基于bmc芯片的网络监控中,当被监控多路服务器所处网络带宽恶劣情况下,而监控视频信息场景又比较简单的情况,现有的视频信息压缩算法无法适应这种情形。
本发明采用专门针对视频信息模式的压缩算法,针对两种常见的视频情形:程序文本运行型和程序界面运行型,作为本发明的处理对象,针对上述两种视频情形使用不同的压缩算法,采用运算结果作为视频传输对象,利用上副图像进行复原。
本发明所采用的技术方案为:
一种面向bmc芯片的视频信息压缩系统,所述系统包括:
vga模数转换模块,负责将vga的模拟信号转换为内部可处理的数字信息,经过数模转换后每个颜色分量由8位数字信息表示,去除消隐等冗余信息,只保留同步信号与颜色分量;
像素提取模块,负责接收数模转换模块的数字信息,按照采样hs与vs,存储接收的图像信息;
图像预处理模块,负责图像信息的灰度化处理;
图像压缩模块,负责根据配置信息接收图像预处理模块处理后的灰度图像或者原始图像,依据配置信息选择压缩算法;
图像发送模块,负责读取图像压缩模块缓存中的压缩信息,按照传输协议将压缩信息发送到远程监控系统。
所述系统通过arm处理器配置图像压缩模块为灰度处理模式,图像每个像素的值从原来的3个8bitsr、g、b表示,变为1个8bitsg表示,转换公式:
g=(r*30+g*59+b*11+50)/100。
所述视频信息为程序文本运行型的视频信息,视频信息是依次变换。
所述视频信息为界面运行型的视频信息,视频信息是部分变换。
所述程序界面运行型视频信息的变动区域范围有三块:分别是波形显示区域、报警显示区域、报警编号区域。
一种面向bmc芯片的视频信息压缩方法,所述方法通过vga模数转换模块,将vga的模拟信号转换为内部可处理的数字信息,经过数模转换后每个颜色分量由8位数字信息表示,去除消隐等冗余信息,只保留同步信号与颜色分量;
通过像素提取模块接收数模转换模块的数字信息,按照采样hs与vs,存储接收的图像信息;
通过图像预处理模块将图像信息灰度化处理;
通过图像压缩模块,根据配置信息接收图像预处理模块处理后的灰度图像或者原始图像,依据配置信息选择压缩算法;
通过图像发送模块读取图像压缩模块缓存中的压缩信息,按照传输协议将压缩信息发送到远程监控系统。
所述压缩算法通过自动匹配的方式进行选择:通过逐行读取当前图像,同时在上副图像中扫描,查找当前图像与上副图像的差异,如果完全相同,采用程序界面运行型压缩算法;如果只有波形显示区域、报警显示区域、报警编号区域的图像信息有差异,采用程序界面运行型压缩算法;其他情况采用程序文本运行型压缩算法。
所述程序文本行压缩算法处理流程包括:顺序搜索当前图像的第一行在前一副图像中的行位置index,确定之后,匹配剩余行,如果满足以下三个条件,即匹配成功:
p0[index]=p1[0]
p0[i+index]=p1[i],1<=i<479
p0[479]=p1[479-index]
当确定index之后,使用lzw算法对p1[479-index]~p1[479]的图像进行压缩。
所述程序界面运行型压缩算法处理流程包括:
当前图像p1与前一副图像p0的三个区域进行异或,得到新的图像p1_xor_0,p1_xor_1,p1_xor_2,使用lzw算法对3个区域图像进行压缩。
所述传输协议包括内容如下:
如果传输程序文本运行型压缩图像,首先发送一个字节的0x1f数据(灰度图像为0x0f),作为区分两种算法的标志,紧接着发送index与lzw的压缩数据;
远程监控系统判断算法标志,根据lzw解压压缩数据,截取p0[index]~p0[479]的数据,将解压数据追加到截取的数据之后,恢复成新的图像数据p1;
如果是程序界面运行型压缩图像,首先发送一个字节的0x10数据(灰度图像为0x00),作为区分两种算法的标志,紧接着发送3组lzw的压缩数据;
远程监控系统判断算法标志,根据lzw解压压缩数据,生成p1_xor_0,p1_xor_1,p1_xor_2图像,将3副p1_xor图像与上副图像p0的三个区域异或,其他区域保留,得到新的图像数据p1。
本发明的有益效果为:
本发明在被监控系统所处条件恶劣,网络带宽极地的情况下,采用专门针对视频信息模式的压缩算法,进行压缩处理,可以快速的传输大量的图像信息,具有实现成本低,压缩效率高的优点。
附图说明
图1为本发明视频信息压缩系统结构图;
图2为vga模数转换模块将模拟信号转换为内部可处理的数字信息示意图;
图3为程序文本运行型不同时刻对比示意图;
图4为程序界面运行型不同时刻对比示意图。
具体实施方式
根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
如图1所示,一种面向bmc芯片的视频信息压缩系统,所述系统包括:
vga模数转换模块,负责将vga的模拟信号转换为内部可处理的数字信息,经过数模转换后每个颜色分量由8位数字信息表示,去除消隐等冗余信息,只保留同步信号与颜色分量;
像素提取模块,负责接收数模转换模块的数字信息,按照采样hs与vs,存储接收的图像信息;
图像预处理模块,负责图像信息的灰度化处理;
图像压缩模块,负责根据配置信息接收图像预处理模块处理后的灰度图像或者原始图像,依据配置信息选择压缩算法;
图像发送模块,负责读取图像压缩模块缓存中的压缩信息,按照传输协议将压缩信息发送到远程监控系统。
所述系统通过arm处理器配置图像压缩模块为灰度处理模式,图像每个像素的值从原来的3个8bitsr、g、b表示,变为1个8bitsg表示,转换公式:
g=(r*30+g*59+b*11+50)/100。
实施例2:
在实施例1的基础上,本实施例所述视频信息为程序文本运行型的视频信息,视频信息是依次变换。
图像的分辨率采用640x480,左上角的顶点坐标为(0,0),右下角的顶点坐标为(640,480)。
程序文本运行型所在的位置范围是(0,0),(640,480),程序文本运行型不同时刻对比如图3所示。
实施例3:
在实施例1的基础上,本实施例所述视频信息为界面运行型的视频信息,视频信息是部分变换;
所述程序界面运行型视频信息的变动区域范围有三块:分别是波形显示区域、报警显示区域、报警编号区域。
图像的分辨率采用640x480,左上角的顶点坐标为(0,0),右下角的顶点坐标为(640,480)。
程序界面运行型变动区域范围有三块分别是波形显示区域、报警显示区域、报警编号区域,位置坐标分别(100,50),(600,380)、(100,400),(350,450)、(400,400),(600,450),程序界面运行型不同时刻对比如图4所示。
实施例4:
一种面向bmc芯片的视频信息压缩方法,所述方法通过vga模数转换模块,将vga的模拟信号转换为内部可处理的数字信息,经过数模转换后每个颜色分量由8位数字信息表示,去除消隐等冗余信息,只保留同步信号与颜色分量;
通过像素提取模块接收数模转换模块的数字信息,按照采样hs与vs,存储接收的图像信息;
通过图像预处理模块将图像信息灰度化处理;
通过图像压缩模块,根据配置信息接收图像预处理模块处理后的灰度图像或者原始图像,依据配置信息选择压缩算法;
通过图像发送模块读取图像压缩模块缓存中的压缩信息,按照传输协议将压缩信息发送到远程监控系统。
所述压缩算法通过自动匹配的方式进行选择:通过逐行读取当前图像,同时在上副图像中扫描,查找当前图像与上副图像的差异,如果完全相同,采用程序界面运行型压缩算法;如果只有波形显示区域、报警显示区域、报警编号区域的图像信息有差异,采用程序界面运行型压缩算法;其他情况采用程序文本运行型压缩算法。
所述程序文本行压缩算法处理流程包括:顺序搜索当前图像的第一行在前一副图像中的行位置index,确定之后,匹配剩余行,如果满足以下三个条件,即匹配成功:
p0[index]=p1[0]
p0[i+index]=p1[i],1<=i<479
p0[479]=p1[479-index]
当确定index之后,使用lzw算法对p1[479-index]~p1[479]的图像进行压缩。
所述程序界面运行型压缩算法处理流程包括:
当前图像p1与前一副图像p0的三个区域进行异或,得到新的图像p1_xor_0,p1_xor_1,p1_xor_2,使用lzw算法对3个区域图像进行压缩。
所述传输协议包括内容如下:
如果传输程序文本运行型压缩图像,首先发送一个字节的0x1f数据(灰度图像为0x0f),作为区分两种算法的标志,紧接着发送index与lzw的压缩数据;
远程监控系统判断算法标志,根据lzw解压压缩数据,截取p0[index]~p0[479]的数据,将解压数据追加到截取的数据之后,恢复成新的图像数据p1;
如果是程序界面运行型压缩图像,首先发送一个字节的0x10数据(灰度图像为0x00),作为区分两种算法的标志,紧接着发送3组lzw的压缩数据;
远程监控系统判断算法标志,根据lzw解压压缩数据,生成p1_xor_0,p1_xor_1,p1_xor_2图像,将3副p1_xor图像与上副图像p0的三个区域异或,其他区域保留,得到新的图像数据p1。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。