一种高速信号采集方法

xiaoxiao2020-10-23  21

一种高速信号采集方法
【技术领域】
[0001] 本发明设及信号采集,特别设及一种图像信号采集处理方法。
【背景技术】
[0002] 随着图像与视频处理技术、网络技术和自动控制技术的发展,视频监控系统已从 早期模拟监控过渡到数字化网络监控。数字视频监控系统是W数字视频的压缩、传输、存储 和播放为核屯、,并采用先进的数字图像压缩、编码、解码和传输技术,从而实现可视化监控。 传统的视频采集系统仅支持几种制式的视频数据,很难清晰地抓拍到目标快速变化的瞬时 图片,而很多高帖频的摄像头只是对图像进行了简单的采集,并未经过信号的数字的分析 处理,使得图像数据的信道传输和存储速度无法摆脱瓶颈。

【发明内容】

[0003] 为解决上述现有技术所存在的问题,本发明提出了一种高速信号采集方法,包 括:
[0004] 由CPLD采集数字化后的视频图像数据,通过编码巧片将采集的数据进行编码压 缩,然后再将编码压缩后的数据通过AGP总线传输给上位机,最后通过上位机对图像进行 解压缩并显示。
[0005] 优选地,所述视频W帖为单位传输,采用隔行扫描,CPLD完成图像数据的接收后, 经过格式变换及滤波将图像数据传输给编码巧片进行压缩;压缩打包完成后,将数据回传 给CPLD,通过CPLD控制AGP总线接口时序,将数据最终上传给上位机;在编码巧片与CPLD 之间设计两个队列缓冲;
[0006] 在CPLD内部IP核中创建内部队列,数据宽度为32位,采用了独立的读时钟和写 时钟,数据达到半满时,半满标志位half_flag置1 ;数据达到满时,满标志化ll_flag置1 ; 视频数据采集、处理完成之后,CPLD通过队列的满标志查看队列是否已满,如果未满,则将 32位图像数据在写时钟的逻辑控制下写入到所述队列;将半满信号连接到编码巧片的中 断引脚,半满信号置高,触发编码巧片的DMA进程,将队列中的图像数据读出;
[0007] 编码巧片先将源图像经过正向预处理后进行离散小波变换,然后对变换的小波系 数进行量化处理和滴编码,最后将滴编码后获得的图像数据打包成压缩数据包输出;在解 码过程中则按照压缩码流中提供的参数将编码过程进行逆向操作,最终将源图像重构还原 出来;
[000引编码巧片通过外设接口将CPLD作为其外部存储空间,压缩后的数据通过DMA写到CPLD内部的另一个队列,半满信号触发CPLD内部读数进程,将数据读出,通过AGP总线上传 到控制上位机。
[0009] 优选地,所述编码巧片在压缩之前,还包括:
[0010] 对初始图像进行预处理,将彩色图像转换成灰度图像,再把图像分割成8*8的像 素块,然后进行如下变换,其变换公式为:
[0011]
[001引 式中X,y,u,V= 0,1,…,7 ;而c(u) =c(V)并且当u= 0,V= 0 时取,其 他情况取1,X,y代表图像数据矩阵内某个数值的坐标位置;f(X,y)代表图像数据矩阵内的 数值;u,v代表变换后矩阵内数值的坐标位置;F(u,v)代表变换后矩阵内的某个数值;经过 上述变换后的矩阵数据自然数为频率系数;
[0013] 然后进行Z形扫描,使相同或相邻频率系数在一堆序列中保持相邻的位置,最后 转换成一维排列方式;通过Z形扫描后,非零的变换系数就集中在一维数组的前面,而后面 就是一串量化为零的变换系数,W进行滴编码;
[0014] 在滴编码中对非零系数编码,非零系数由两部分组成;其中前一部分是非零系数 前连续零系数的数量即游程;而后一部分是非零系数的符号和幅值。
[0015] 本发明相比现有技术,具有W下优点:改善信号传输存储速度,降低了对信道宽度 W及存储空间大小的要求。
【附图说明】
[0016] 图1是根据本发明实施例的高速信号采集方法的流程图。
【具体实施方式】
[0017] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合该样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权 利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节 W便提供对本发明的透彻理解。出于示例的目的而提供该些细节,并且无该些具体细节中 的一些或者所有细节也可W根据权利要求书实现本发明。
[0018] 本发明的一方面提供了一种高速信号采集方法。图1是根据本发明实施例的高速 信号采集方法流程图。本发明利用多接口、高速率传输的图像处理系统,由CPLD采集数字 化后的视频图像数据,通过编码巧片将采集的数据进行编码压缩,然后再将编码压缩后的 数据通过AGP总线传输给上位机,最后再通过上位机对图像进行解压缩并显示。
[0019] 本发明通过CPLD,对视频解码器进行配置,并接收视频解码器输出的图像数据; 同时,采用了通用输出接口,接收标准数字相机输出的图像数据。在CPLD完成对视频数据 的采集并经内部队列缓存后,将数据打包并行传输给编码巧片,编码巧片对图像进行JPEG 压缩,压缩后的数据通过AGP总线传输给控制上位机,然后通过上位机对图像进行解码显 /J、- 〇
[0020] 视频传输协议是W帖为单位传输,采用隔行扫描。视频解码器采用同步信号嵌入 数据内部的输出方式。CPLD完成图像数据的接收后,经过格式变换及滤波将图像数据传输 给编码巧片进行压缩。压缩打包完成后,将数据回传给CPLD,通过CPLD控制AGP总线接口 时序,将数据最终上传给上位机。为了满足图像数据高速、双向、实时的传输,在编码巧片与 CPLD之间设计了两个高速的队列缓冲。
[0021] 在CPLD内部IP核中创建了内部队列,数据宽度为32化存储容量为3MX32位。 采用了独立的读时钟和写时钟,数据达到半满,半满标志位置1化alf_flag= "l");达到 满,满标志置1 (化ll_flag= "1")。视频数据采集、处理完成之后,CPLD通过队列的满标 志查看队列是否已满,如果未满,则将32位图像数据在写时钟的逻辑控制下写入到队列; 将半满信号连接到编码巧片的中断引脚,半满信号置高,会触发编码巧片的DMA进程,将队 列中的图像数据读出。同理,编码巧片通过外设接口将CPLD作为其外部存储空间,压缩后 的数据通过DMA写到CPLD内部的另一个队列,半满信号触发CPLD内部读数进程,将数据读 出,通过AGP总线上传到控制上位机。
[0022] 对图像数据处理流程,源图像先经过正向预处理后进行离散小波变换,然后对变 换的小波系数进行量化处理和滴编码,最后将滴编码后获得的图像数据打包成压缩数据包 输出。解码则按照压缩码流中提供的各个参数将编码过程进行逆向操作,最终将源图像重 构还原出来。
[0023] 为了防止在编码过程中造成数据的丢失,在采集与编码电路之间设计一组帖缓存 电路。输入的视频数据流W帖为单位交替地写入两个不同的SDRAM存储单元,在写入其中 一块SDRAM的同时,将另一块SDRAM中的数据读出,并送到数据编码单元进行运算。该样数 据的输入/输出都是不间断的,非常适合流水线式操作,完成数据的无缝缓存和处理。
[0024] 编码巧片接收到CPLD传输的图像数据后,W帖为单位交替写入两块SDRAM存储 器。与此同时,数据被交替读出,输出给数据压缩单元进行编码。数据流被严格有效地控制, 不会出现丢数据或者误码,而且效率很高。
[0025] 编码巧片对图像数据的编码流程为:上电复位后,编码巧片程序从Flash起始处 加载并启动,通过二次引导,最终将应用程序全部搬移到编码巧片内存中,然后跳转到入口 函数,完成初始化配置,并等待CPLD的外部中断触发信号。CPLD采集到数据后,缓存到接 口队列中,并W中断的方式触发编码巧片的DMA进程,编码巧片WDMA的方式将数据存储到 SDRAM中,若一帖图像传输完毕,则触发软中断,进入JPEG编码子程序。编码完成后,再次触 发DMA进程,将数据回传给CPLD。
[0026]AGP总线接口内部逻辑先判断总线启动信号,若该引脚电平由高变低,则启动一次 数据传输过程,然后判断读写信号电平LWR,若LWR为1,表示AGP写过程,否则为读过程。 AGP读过程又分为读状态和读数据,通过地址总线LA来判断,读过程中,若LA= 04H,则为 读 寄存器状态;若LA=A0H,则为读批量图像数据。而写过程中,若LA= 01H,则为系统复 位,立即执行,不写入寄存器;若LA= 02H,则为命令下载,需要将命令字写入相应寄存器; 若LA= 03H,则为命令刷新,立即执行,不写入寄存器。为了使得数据不丢失,在AGP总线接 口设计过程中调用CPLD的IP核添加了队列数据缓存器,位宽为32位,与AGP总线位宽相 匹配。由于AGP数据总线是双向传输,所W在CPLD内部增添了数据方向控制模块,保证了 数据有序地下载和上传。
[0027] 在编码巧片的具体处理过程中,首先对图像进行分块处理,然后对每一个像素分 块进行离散余弦变换,其变换后的系数基本不相关,且系数矩阵的能量都集中在低频区域, 即系数矩阵的左上角,通过保留低频系数,去除高频系数,来达到压缩的目的;其次再对矩 阵系数进行量化和;最后进行编码,实现图像的压缩。
[002引首先得将显示系统采用的RGB转换成适合图形压缩的YCbCr模块。RGB到YCb化 的转换公式:
[0029]Y= 0. 299R+0. 587G+0. 114B
[0030]Cb= -0. 169R-0. 331G+0. 5B+128 [003UCr= 0. 5R-0. 419G-0. 081B+128 [0032]YCb&到RGB的逆变换公式;
[003引 R=Y+1. 402(Cr-128)
[0034]G=Y-0.334(Cb-128)-0.714(Cr-128)
[0035]B=Y+1. 722 (Cb-128)
[0036] 由多个亮度分量子块和两个色度分量子块构成的一个完整编码单元称之为最小 编码单元。由于后面处理图像时需要将其分成8*8的子块,所W在分割图像时,需要对初始 图像进行填充,使其宽度和高度为8的倍数。
[0037] 在压缩之前,首先对初始图像进行预处理,将彩色图像转换成灰度图像,再把图像 分割成8*8的像素块,然后进行如下变换,其变换公式为:
[00%]
[0039]式中X,y,U,V= 0,1,…,7 ;而C(U) =C(V)并且当U=0,V=0时取,其 他情况取1,X,y代表图像数据矩阵内某个数值的坐标位置;f(X,y)代表图像数据矩阵内的 某个数值;U,V代表变换后矩阵内某个数值的坐标位置;F(u,V)代表变换后矩阵内的某个 数值。经过上述变换后的矩阵数据自然数为频率系数,该个过程只是一个没有压缩作用的 无损变换过程。而且变换后,低频分量集中在系数模块的左上角,高频分量集中在系数模块 的右下角,其中低频分量包含了图像的主要信息,而高频分量是人眼不敏感的部分,为之后 的量化打好了基础。
[0040] 然后进行Z形扫描,该样可W使得相同或相邻频率系数在一堆序列中保持相邻的 位置,最后转换成一维排列方式。该样通过Z形扫描后,该些非零的变换系数就集中在一维 数组的前面,而后面接着就是一串量化为零的变换系数,W准备进行滴编码。
[0041] 滴编码也就是只有非零系数被编码。而非零系数的编码又由两部分组成;其中前 一部分是非零系数前连续零系数的数量,即游程;而后一部分是非零系数的符号和幅值。由 于之前的Z形扫描使得连续出现的零比较多,游程编码的效率自然就高。在滴编码的基础 之上发现各个数值间的规律就可W进行编码了。
[0042] 优选地,编码压缩过程同时实现图像压缩和加密。首先计算待编码像素点区域梯 度〇1、〇2、
[00创 Di=R广咕,02=Rb-Re,03= Re-Ra,其中Ra、咕、氏、Rd为a、b、C、d位置的像素估计 值。区域梯度与失真控制参数Nc的关系决定后续的编码模式:
[0044] 若像素点区域梯度在失真控制参数化的范围内,则进入游程模式;否则进入常规 模式。
[0045] 若进入常规模式,则按下列步骤进行预测及编码:
[0046] 1)利用预设参数Q对梯度进行量化怕为区间[0,364]内的整数)。
[0047]。计算偏差e=si即(Ix-Px)-P,si即={-1,n。其中;Ix为待编码像素点X的, Py为待编码像素点X的估计值,0为自适应补偿值。将偏差进行非负映射,使得偏差的双 边几何分布对折成单边几何分布。
[0048] 3)对偏差进行定长编码。
[0049] 4)更新记录上下文的4个统计参数A阳]、B阳]、C阳]、N阳]。
[0化日]若进入游程模式,则按W下方式编码:
[0化1] 1)游程扫描。
[0化引 2)对游程长度进行编码,若非行结束,则进入3);否则进入4)。
[0化3] 3)采用终止采样编码。
[0化4] 4)更新记录上下文的4个统计参数A阳]、B阳]、C阳]、N阳]。
[0化5] 其中;A阳]为预测误差幅度累计值、B阳]为偏差值、C阳]为预测校正值、N阳]为 上下文出现频次的计数值。
[0化6] 对当前像素点或像素段按上述模式编码结束后,对a、b、c、tx位置的值进行光栅 扫描移动更新,根据下一个像素点的区域梯度与失真控制参数化的关系进入相应的模式。[0057] 构造最优的化值序列表{Nc。,化1,…,化meJ,Max为化的下标最大值。筛选化 值的方法;若峰值信噪比变化率高于预定阔值,对失真控制参数化值的选择较为密集;若 变化平缓,对Nc值的选择较为稀疏。
[0化引根据W下过程实现对化值的调整,进而实现对压缩比的调整与控制:
[0059]d"i=di+stj';iG{1,2,???'N},jG{O'lJ}
[0060] 其中:di(iG(1,2,…,N})为失真控制参数化的下标值;stj(jG{0,1,2})为 3种不同的步长。
[0061] 给定目标压缩比Ro和初始失真控制参数化值,按下列步骤进行编码;(其中Bi为 当前取得的图像块大小,Bli,B12为两种不同情况下的图像块大小的值;Ro为目标压缩比; Rc为当前压缩比;abs(?)为绝对值运算冲为当前失真控制参数化的下标值;dW为下一 个失真控制参数化的下标值)。
[006引1)按JPEG算法对一幅图像的一行进行编码。
[006引 2)计算目标压缩比与当前压缩比的测度的绝对值油s(Ro-Rc)。若 油S(Ro-Rc)H2,则进入步骤3);否则进入步骤4)。
[0064] 3)编码块B11,更新当前压缩比Rc。
[00化]4)编码块B12,更新当前压缩比Rc。
[0066] 5)按上式更新下一个下标值dw,据此下标值查找表中的Nc,用于下一块编码,返 回步骤2)。
[0067] 上述方法是根据目标压缩比与当前压缩比的测度与口限之间的关系,采用分段函 数的形式来调整失真控制参数化的下标值,相比原方法对失真控制参数化调整得更为精 细,更好地利用预测误差来判断纹理的复杂度,使得在最终实时压缩比收敛于目标压缩比 的情况下,重建图像质量更好。
[0068] 本发明生成=组随机二进制序列,并把该=组连接起来W减少迭代的轮次。首先 利用选择W下迭代方法:
[0069] Yn+1= y n+hfi (x", yj
[0070] 其中;h为设定的步长;fi(x。,y。)为相应的微分方程式;x"、y。为自变量参数; nG{0,1,…,N},N为迭代次数。
[0071] 迭代后即可生成十进制序列{Xi,X2,…,Xf},bi,72,…,yj,{Zi,Z2,…,Zf}, r为正整数,为增强初始值攻击的复杂度,对生成的十进制序列进行如下处理;1)去掉整数 部分;2)去掉前叫位(m1为正整数)。WX为例:
[0072] Xr=l〇mlxr-r〇und(l〇mlxr)
[0073] 然后转换成二进制序列,再把x,y,z连接起来,即就是密钥key。显然key随着迭 代次数N、初始值X。,y。,Z。,qW及参数ml的变化而变化。
[0074] 用生成的密钥key与压缩比控制的编码码流D=化,d2,…,屯)(其中D表示长 度为M的二进制序列,M为正整数)进行运算:
[007引 D1 =gl值,key)
[0076] 其中;D1 =化',(V,…,屯')为长度为M的密文,gi( ?)为加密 运算且gi( ?) 运算可逆。如果解密时使用的密钥与编码时使用的密钥不同,则无法正确解密图像,从而实 现了对数据的加密。设解码时使用的密钥为keyl,Di' = (di",(V',…,d/ )为解码码 流,解密运算如下所示:
[0077] D/ =gi-i值1,k巧1) =gi-i(gl值,key),k巧1)
[007引其中gl4是gl的逆运算。显然,若key=k巧1,则D=Di',即此时解密正确。
[0079] 在进一步的实施例中,为进一步提高图像压缩效率,采用如下方法,首先采用小波 变换进行图像分解,然后回归学习逼近小波系数,并采用粒子群方法优化学习参数,最后用 支持向量,权值和低频系数进行编码,得到压缩数据流。
[0080] 回归学习采用支持向量机算法,选择一个非线性映射函数,将输入样本从原空间 映射到高维特征空间,然后在该高维特征空间构造最优回归函数,即f(x) =wT(l)(x)+b。式 中,b表不偏置量,W表不权值向量。
[0081] 将上式转化成二次优化问题,即
[0082]
[008引 yi-wT(i) (x)+b=e;i= 1, 2…n
[0084] 式中,丫表示惩罚参数,纪为松驰变量;为模型预测误差。
[0085] 对非线性回归问题,采用核函数代替高维空间中的向量内积,选择径向基核函数 作为支持向量机的核函数,径向基核函数定义为:
[0086]
[0087] 最后得到支持向量机回归模型为:
[008引
[0089] 式中,0为径向基核函数宽度。
[0090] 基于径向基核函数的支持向量机模型预测性能与丫和0取值密切相关,要得到 性能最优支持向量机模型,首先要获得最优的丫和0取值,本研究利用粒子群优化方法优 化支持向量机参数。
[0091] 粒子代表待求解问题的一个潜在解,粒子在解的空间跟踪两个极值pbest和 gbest不断调整自己的方向,最终找到问题的解。在每一迭代中,粒子速度和位置更新公式 为:
[0094] 式中,cl,c2为加速度系数;k为当前迭代次数;rl和r2为[Oa]范围内的随机 数;《为惯性权值。
[0095] 由任意初值zO,可由W下扰动方程公式迭代出一个确定的时间序列zl,z2, z3,…。
[0096] Zw=yzi(1-Zi),iG(0,1)
[0097] 式中,y为控制参量。
[009引粒子群的扰动过程具体如下:
[0099](1)通过下列方程粒子i的pbesti映射到上述扰动方程定义域[0,1]上;Z1= (pbesti-a;)/ (bi-a;)
[0100] (2)通过上述扰动方程进行多次迭代,得到序列;zWi(m= 1,2,…)。
[0101] 做将产生的序列逆映射回原解空间,从而产生一个变量可解序列;pWg= (P) ? gi, P抬,…,P gd。
[0102] p?g,=a,+ (b,-a,)z?,
[010引 (4)在原解空间中,计算经过变量处理后的每一个可行解pWg(m= 1,2,…)其适 应值,并保留适应度值最优对应的可行解向量P*。
[0104] (5)从当前粒子群中随机选择一个粒子,用P*的位置向量代替选出粒子的位置向 量。
[01化]经过小波变换处理后,消除信号空域和频域的相关性,使小波系数的能量大都集 中于低频子带,然而在实际应用中,小波变换对有些图像压缩率较低,该主要由于能量虽然 都压缩到了低频带上,但对于一些纹理比较丰富的图像,高频系数仍含有较多能量,导致纹 理丰富图像的恢复质量严重下降,因此本实施例利用支持向量机优异的逼近能力,首先将 高频系数输入支持向量机进行回归,然后将获得的支持向量、权值与低频子带系数进行编 码,得到最终编码。
[0106] 综上所述,提出了一种图像信号采集和处理方法,改善了信号传输存储速度,降低 了对信道宽度W及存储空间大小的要求。
[0107] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可W用通用 的计算系统来实现,它们可W集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可W用计算系统可执行的程序代码来实现,从而,可W将它们存储 在存储系统中由计算系统来执行。该样,本发明不限制于任何特定的硬件和软件结合。
[0108] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者该种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种高速信号采集方法,其特征在于,包括: 由CPLD采集数字化后的视频图像数据,通过编码芯片将采集的数据进行编码压缩,然 后再将编码压缩后的数据通过AGP总线传输给上位机,最后通过上位机对图像进行解压缩 并显示。2. 根据权利要求1所述的方法,其特征在于,所述视频以帧为单位传输,采用隔行扫 描,CPLD完成图像数据的接收后,经过格式变换及滤波将图像数据传输给编码芯片进行压 缩;压缩打包完成后,将数据回传给CPLD,通过CPLD控制AGP总线接口时序,将数据最终上 传给上位机;在编码芯片与CPLD之间设计两个队列缓冲; 在CPLD内部IP核中创建内部队列,数据宽度为32位,采用了独立的读时钟和写时钟, 数据达到半满时,半满标志位half_flag置1 ;数据达到满时,满标志full_flag置1 ;视 频数据采集、处理完成之后,CPLD通过队列的满标志查看队列是否已满,如果未满,则将32 位图像数据在写时钟的逻辑控制下写入到所述队列;将半满信号连接到编码芯片的中断引 脚,半满信号置高,触发编码芯片的DM进程,将队列中的图像数据读出; 编码芯片先将源图像经过正向预处理后进行离散小波变换,然后对变换的小波系数 进行量化处理和熵编码,最后将熵编码后获得的图像数据打包成压缩数据包输出;在解码 过程中则按照压缩码流中提供的参数将编码过程进行逆向操作,最终将源图像重构还原出 来; 编码芯片通过外设接口将CPLD作为其外部存储空间,压缩后的数据通过DM写到CPLD 内部的另一个队列,半满信号触发CPLD内部读数进程,将数据读出,通过AGP总线上传到控 制上位机。3. 根据权利要求2所述的方法,其特征在于,所述编码芯片在压缩之前,还包括: 对初始图像进行预处理,将彩色图像转换成灰度图像,再把图像分割成8*8的像素块, 然后进行如下变换,其变换公式为:式中 X,y,u,V = 0,1,·",7 ;而 c(u) = c(v)并且当 u = 0, V = O 时取,其他情 况取1,X,y代表图像数据矩阵内某个数值的坐标位置;f(x,y)代表图像数据矩阵内的数 值;u,v代表变换后矩阵内数值的坐标位置;F(u,v)代表变换后矩阵内的某个数值;经过上 述变换后的矩阵数据自然数为频率系数; 然后进行Z形扫描,使相同或相邻频率系数在一堆序列中保持相邻的位置,最后转换 成一维排列方式;通过Z形扫描后,非零的变换系数就集中在一维数组的前面,而后面就是 一串量化为零的变换系数,以进行熵编码; 在熵编码中对非零系数编码,非零系数由两部分组成:其中前一部分是非零系数前连 续零系数的数量即游程;而后一部分是非零系数的符号和幅值。
【专利摘要】本发明提供了一种高速信号采集方法,该方法包括:由CPLD采集数字化后的视频图像数据,通过编码芯片将采集的数据进行编码压缩,然后再将编码压缩后的数据通过AGP总线传输给上位机,最后通过上位机对图像进行解压缩并显示。本发明提出了一种图像信号采集和处理方法,改善了信号传输存储速度,降低了对信道宽度以及存储空间大小的要求。
【IPC分类】H04N5/765, H04N5/76
【公开号】CN104902207
【申请号】CN201510336821
【发明人】邓伦兵, 王红艳, 段方杰
【申请人】四川特伦特科技股份有限公司
【公开日】2015年9月9日
【申请日】2015年6月17日

最新回复(0)