专利名称:医疗仪器视频信息提取器波形提取方法
技术领域:
本发明涉及一种视频识别中的动态波形提取方法,具体涉及一种医疗仪器 视频信息提取器的波形提取方法。
背景技术:
动态波形提取的基本方法是提取每一帧图像的波形信息,记录每个x值对
应的Y值,最后回放的时候按记录的帧逐帧回放。这样做的弊端是明显的。一 是因为模拟信号噪声的影响,最后回放的时候出来的波形会有较大的波动,波 形的失真比较明显;二是因为相连两帧的数据中只有一小部分是更新的,大部 分则是重复,这样,网络传输和存数据库的时候重复的数据过多,数据量过大, 且不能直接查询一整条连续的波形;三是每一帧要处理整个波形检测区域,要 处理的数据量比较大,处理时间比较长。
发明内容
为克服现有技术的上述缺陷,本发明的目的在于提供一种医疗仪器视频信 息提取器的波形提取方法,它既能保证波形提取的失真度较小,又能减少结果 数据的数据量,减少数据量的处理时间。
本发明的基本思路是分段N帧求平均,在黑带两次经过黑带检测区域期间,
逐段求出整个波形检测区域的波形,并进行记录。
本发明采用的技术方案如下-
一种医疗仪器视频信息提取器的波形提取方法,包括如下步骤 步骤A、在波形检测区域设置黑带检测区域;
步骤B、待黑带进入黑带检测区域,即开始学习一个处理帧的帧数NUM,记 录黑带两次经过黑带检测区域所经过的一个处理帧帧数NUM;
步骤C、根据处理帧帧数NUM,确定实际处理一个处理帧用的优化帧数d—num 二 ( (int) ((NUM-2) /N)) *N,并根据该d—num确定每N帧要识别的分段波形长度len 二(int) (width/(d_num/4)),其中,width为波形检测区域的宽度,N为设定求 平均的帧数;
步骤D、从波形检测区域的起始检测位置开始,按每连续N帧求长度为len 的分段检测区域波形的方式,来求x轴(波形检测区域水平方向为X轴,竖直 方向为Y轴)上每个点对应的y值,并将连续N帧求得的N个y值求平均第 1至UN帧,求x二[O, len-l]的波形,第N+l到2N帧,求x二[len, 2求len-l]的波形, 到最后的连续N帧即第d—num-N+l到d—num帧,处理x=[ (d—num_N)/N*len, width-l]的波形;
当处理完整个波形检测区域,且黑带还没有进入黑带检测区域,转到步骤E;
当未处理完整个波形检测区域,黑带已开始进入黑带检测区域时,则将该轮的
处理帧设置为新的处理帧帧数NUM,转到步骤C;
步骤E、记录长度为width的波形的识别结果,将该轮的处理帧设置为新的 处理帧帧数NUM,待黑带开始进入黑带检测区域,转到步骤C。
最近刷新的波形前面有一小段没有波形的区域,作为标记波形刷新的当前 位置,称为黑带,如图1的A处区域。波形处理后的结果数据保存格式是以 整个波形检测区域的水平方向为X轴,竖直方向为Y轴, 一屏幕的波形放在一 个数组中,下标为x值,数组的值为x值对应波形的y值。
作为优选,上述待识别的动态波形特征是采用刷新的方式,而不是滚动的 方式。波形刷新沿一个方向,从左到右或从右到左。当波形刷新方向是从左到 右时,黑带检测区域设置在波形检测区域的中间或中间偏右位置处,波形检测 区域的起始检测位置设置在波形检测区域最左端;当波形刷新方向是从右到左
时,黑带检测区域设置在波形提取区域的中间或中间偏左位置处,波形检测区 域的起始检测位置设置在波形检测区域最右端。
通过上述方式,可使得在正常情况下提取完整幅波形时,黑带并没有进入 黑带检测区域。由于黑带检测区域在波形的中间偏后位置,波形检测区域的端 部为波形提取区域的起始检测位置,波形提取区域始终不会追上黑带,黑带也 不会反过来追上波形提取区域。
在前述步骤C中,不是直接将第1次和第2次黑带进入黑带检测区域所经 过的帧数作为每一处理帧要经过的帧数的预测值,而是通过记录前一个处理帧
实际的帧数NUM,来预测这一处理帧要经过的帧数NUM,这样可以适应波形刷新 速度的变化。但是直接将前一处理帧的帧数作为下一处理帧的帧数的预测值, 也是有问题的。比如,波形扫描一个周期本来只需要4秒,假如有一次波形暂 停了20秒,则记录下来的NUM就约是实际上下一处理帧经过的帧数的6倍,用 这个NUM去预测不是很合适。
作为优选,本发明采用一个更新算法,来处理这种因为暂停一两次引起的
预测值偏大的问题。所述更新算法如下设定一个长度为5的数组,用于记录5
个最近的处理帧的实际帧数NUM的数值,对该5个数值进行排序,取中间的一 个数值来作为下一处理帧的帧数的预测值NUM。这样,动态波形有可能出现的一 两次暂停,就不会对NUM造成影响,如果黑带移动的速度(也就是波形的刷新 速度)确实发生了变化,3个处理帧之后NUM就会更新到新的数值。
作为优选,在前述步骤A中,还包含有一个学习波形检测区域图像的背景 的步骤,如果存在背景干扰,则进行去除背景处理。要去除背景可以先学习背 景。知道图像上哪些点是背景后,在波形提取之前直接将这些点去除。
现有技术中已有一些学习背景和背景处理的方法,在此不作赘述。本发明 提供了一种学习背景的方法,它包括如下步骤
步骤A、在图像预处理过程中,对图像上每个点用255帧叠加计算权重;计 算权重的方法是初始化的点的权重都是O,对每一帧的每一点,大于阈值的, 该点权重加l,不大于阈值的,该点权重除以10;
步骤B、 255帧结束以后,权重如果大于180,则认为该点是背景,如果权 重不大于180,则认为不是背景。
在该学习背景的方法中,帧数255帧、权重值180等数值不是一成不变的, 实际处理中,可以根据实际情况调整这些数值。
为进一步避免减少背景对本发明波形提取方法的干扰,在设置黑带检测区 域时, 一种更为优选的方案是,将黑带检测区域设置在没有背景干扰的地方, 这样可以避免背景去除不干净造成的错误。
本发明的有益效果是通过多帧图像求平均的方式,减少了噪声的干扰,使波形的失真比较小;通过黑带的跟踪,确定了刷新的波形的位置, 一个处理 帧提取的波形就是一个处理帧时间内刷新的波形,前后没有重复的数据,极大 程度地减少了数据量,有利于存储和查询,方便信息通过网络的传播;每次只 处理一小段波形,减少了运算量和运算时间,使处理器可以同时处理更多路的 波形,同时还可以保证实时性。
图1为本发明黑带和黑带检测区域示意图2为本发明波形提取区域和黑带位置的相对关系一示意图
图3为本发明波形提取区域和黑带位置的相对关系二示意图
图4为本发明波形提取区域和黑带位置的相对关系三示意图
图5为本发明波形提取区域和黑带位置的相对关系四示意图
图6为本发明波形提取流程图7为本发明波形提取坐标系示意图。
具体实施例方式
实施例1: 一种医疗仪器视频信息提取器的波形提取方法 本实施例的具体步骤如下
步骤A、在波形检测区域设置黑带检测区域,如图1所示的B处区域,该靠 近波形检测区域中间偏后的区域即为黑带检测区域。
步骤B、等待黑带第1次进入黑带检测区域,开始学习一个处理帧的帧数麵。
步骤C、
1) 等待黑带第K(K〉1)次进入黑带检测区域。
2) 记录黑带第K-l次和第K次进入黑带检测区域所经过的帧数NUM1,也就 是前一个处理帧实际经过的帧数,作为下一个处理帧的帧数的预测值NUM。
3) 根据处理帧帧数NUM,确定实际处理一个处理帧用的帧数d—num二((int) ((NUM-2)/N))*N, ((int)表示将结果转换成整数),并根据该d—num确定每N帧 要识别的分段波形长度len = width/((int)(d—num/4)),其中,width为波形 检测区域的宽度,N为设定求平均的帧数,d—num和len均为整型数;
4) 从波形检测区域的起始检测位置开始,按每连续N帧求长度为len的分 段检测区域波形的方式,来求x轴(波形检测区域的水平方向为X轴,竖直方 向为y轴)上每个点对应的y值,并将连续N帧求得的N个y值求平均第l 到N帧,求x二[O, len-l]的波形,第N+l到2N帧,求x二[len, 2*len-l]的波形, 到最后的连续N帧即第d_num-N+l到d_num帧,处理x=[ (d—num-N)/N*len, width-l]的波形,由于要把整数计算引入的误差消除掉,最后N帧处理的波形 的长度要大于等于len。如果没有处理完,黑带就进入了黑带检测区域,则直接 跳第2)步。如果处理完了,黑带还没有进入黑带检测区域,跳第5)步。
5) 记录长度为width的波形的识别结果,并跳第l)步。 下面是每帧处理时,波形提取区域和黑带位置的相对关系(以N二4为例)。
图2至图5为从黑带进入黑带检测区域开始,到一个处理帧的波形提取结束, 比较有代表性的几帧图像要处理的波形提取区域C和黑带位置的相对关系图, 其中连续4帧处理同一块波形提取区域,四帧求平均以减少失真。
图2为波形提取区域和黑带位置的相对关系一,此时为黑带进入黑带检测 区域后的第一帧,波形提取区域C为从最左端开始,长度为len的一个区域。 从这一帧开始连续4帧都是处理这一个区域的波形。
图3为波形提取区域和黑带位置的相对关系二,此时为黑带进入黑带检测 区域后的第五帧,提取区域从len开始到ler^2-l,长度为len的一个区域。
图4为波形提取区域和黑带位置的相对关系三,此时为倒数第八帧,即第 d—num-7帧。提取区域从(d—nura-8)/4*len开始到(d_num-4)/4*len-1 ,长度为 len的一个区域。
图5为波形提取区域和黑带位置的相对关系四,此时为倒数第4帧,即第 d一rmm-3帧。到最后4帧,波形检测区域不能根据预测的检测区域,要把所有没 有处理的波形全部处理掉。提取区域从(cLnum-4)/4Wen开始到width-1,长度 〉二len的一个区域。
在处理完所有波形后,等待黑带进入黑带检测区域,进行下一个处理帧的 处理。
小段波形提取方法为在波形提取区域内,预处理后,对每一个X值,沿Y
轴进行搜索,求所有波形点的均值。4帧结束,对前4帧的结果求平均。
具体地,本发明的波形提取方法在实施前,要做好如下几项准备工作
1、 确定动态波形是否满足要求。本发明动态波形采用刷新的方式,而不是 滚动的方式。在最新的刷新的波形前面有一小段没有波形的位置,称为黑带。
黑带要确保有一定的宽度,至少要有2个像素的宽度,才好进行检测。而且整 个波形刷新一次的时间最好大于2秒。
2、 确定黑带刷新的方向,从左到右还是从右到左。如果黑带刷新的方向是 从左到右的,分段处理的时候就从左边开始,否则从右边开始。
3、 确定波形是否有背景的干扰。如果没有背景,就不需要去背景,如果有 背景,去除背景。
4、 确定N值。这主要看随机噪声的影响是否厉害。 一般取N二4,即小段波 形4帧进行平均就可以了。效果不好时,可以采用更多帧进行平均。
5、 黑带检测区域的设定。黑带检测区域不能设在两头,最好是设在中间, 而且最好是没有背景干扰之处。
6、 确定黑带移动速度自动更新时采用的NUM1的个数。 一般设成5个最近 的处理帧的实际帧数NUM1,排序取中间值即可。
确定了上述各个参数和方法后,就可以实施算法了。如图6所示,本发明
波形提取流程如下
首先,判断是否计算了背景,如果没有,则先计算背景。减去背景后计算阈值。
然后,进入波形提取的状态
1) 初始化状态等到黑带进入黑带检测区域就转到黑带速度学习状态。
2) 黑带速度学习状态到下一次黑带进入黑带检测区域为一个处理帧,记 录一个处理帧的实际帧数NUM,并由此计算处理帧实际处理的帧数cLnum,下次 提取的小段波形的波形提取段等参数,N帧计数器置零,然后进入黑带速度更新 状态。
3) 黑带速度更新状态判断黑带是否进入黑带检测区域。如果进入,则更 新黑带移动速度,并开始新的一个处理帧的处理。没有进入黑带检测区域,则
首先判断处理的帧数是否己达到预先算好的值NUM。如果已达到,则表示一个处 理帧己处理完,不再进行任何处理,只等黑带进入黑带检测区域开始下一个处 理帧的处理。如果没有结束,则识别小段波形,并参与N帧求平均。如果是N 帧的最后一帧,则要确定下面N帧的波形提取段。如果己到最后一帧,则将整 个处理帧的波形进行本地保存或者发送到服务器进行保存。
实施例2:坐标系和波形结果数据保存
如图7所示,以整个波形检测区域的水平方向建立X轴,竖直方向建立Y 轴,左上角为原点。
波形信息提取后的结果保存成一个数组,比如result [360]。数组的下标表 示x,值表示y。
如图7, X = 20的时候,沿着线x 二 20从y 二0开始往下扫描,扫描到y = IO的地方是波形上的点,则记录result[20] = 10。这是比较简单的处理方法, 优化的方法是一直扫描到y二60,然后将所有的波形上的点求平均。因为波形可 能比较粗,y二ll,"12的点也有可能在波形上。如果没有波形上的点,则设为O。
从乂=0, 一直扫到^359。
如果乂= 0时,y =0,则记录result[O] = 0;
如果x二 1时,y =10,则记录result[l] 二 10;
如果x二 2时,y 二ll,则记录result[2] = 11;
依次类推。
如果x二 359时,y 二10,则记录result [359] 二 10;
则数组result[360]就记录了长为360的一个波形。可以根据这些数据,把 每个点都画出来就形成了一条波形。
实施例3: —个长为360的波形处理实例
(1) 己知波形长度Width = 360
(2) 设定求平均的帧数N 二 4
(3) 学习相邻两次经过黑带检测区域时经过的帧数NUM,作为一个处理帧的 帧数NUM。假设为NUM二 200。黑带相邻两次经过黑带检测区域的整个过程称为
一个处理帧。
(4) 确定在一个处理帧内,实际用于处理图像的帧数
d一誦=((int)((匪-2)/N))*N =((int) ((200-2)/4))*4 二 ((int) (198/4) )*4 =((int)49. 5)*4 =49*4 =196
整个运算过程中都是以整型进行运算,运算的小数部分被抛弃。最后得出 的帧数d_num是N的整数倍。
(5) 计算每4帧图像处理的波形的长度
len二 (int) (width/(d_num/N) ) = (int) (360/(196/4)) 二7 (取整数7) 确定波形处理长度后,就可以进行波形提取了。
(6)以黑带进入黑带提取区域开始计数,提取波形 第1-4帧,提取x属于[O, len-l]范围的波形,即[O, 6]的波形,每次都
i己录result
= ; result [1] = ; .......result [6]=;
4次的波形提取结果记录的4个result [O]求平均,作为最后的result
; 4次的波形提取结果记录的4个result [1]求平均,作为最后的result [1];
4次的波形提取结果记录的4个result [6]求平均,作为最后的result [6]; 第5-8帧,提取x属于[len, 2*len-l]范围的波形,即[7, 13]的波形,每
次都记录result [7] 二 ; result [8] = ; .......result [13]=;
4次的波形提取结果记录的4个result [7]求平均,作为最后的result [7]; 4次的波形提取结果记录的4个result [8]求平均,作为最后的result [8];
4次的波形提取结果记录的4个result[13]求平均,作为最后的 result[13];
依次类推
第189-192帧,提取波形区域为x属于[329, 335]。
那么,对于整个波形提取区域来说最后还剩下的未提取区域为x属于[336, 359]。最后4帧必须处理掉所有的未提取的区域。最后提取的区域长度为 359-336+1 = 24。要比len (7)大很多,这是由len 二7. 3…..到7的近似引起的。
第193-196帧,提取x属于[336, 359]范围的波形,每次都记录result [336] =;result[337] = ; .......result[359]=;
4次的波形提取结果记录的4个result[336]求平均,作为最后的 result[336];
4次的波形提取结果记录的4个result[337]求平均,作为最后的 result[337];
4次的波形提取结果记录的4个result[359]求平均,作为最后的 result[359];
至此,整个周期的一个波形提取结束,将数据进行保存并发送到服务器, 等待进入下一个循环。
实施例4:黑带移动速度的自动更新
一般情况下,黑带的移动速度是一定的,如需要NUM 二 200帧时间,所以 提取完整个波形后,还要等待200-196=4帧时间。
但实践中,下次进入黑带时,经过的帧数很可能不是200帧,比如是202 帧。本发明采用了一种优化的方式更新该NUM。该更新算法如下
(1) 用一个长度为5的数组记录每次记录下来的MM值。初始化为0, 0, 0, 0, 0。
(2) 第1次NUM = 200:则数组变成0, 0, 0, 0, 200; 将5个数按大小排队,取中间值为0,是初始化的值,不更新,NUM二 200。
(3) 假设第2次NUM = 202:则数组变成0, 0, 0, 200, 202 将5个数按大小排队,取中间值为O,是初始化的值,不更新。
(4) 假设第3次NUM = 204:则数组变成O, 0, 200, 202, 204 将5个数按大小排队,取中间值为200,更新后的值为NUM 二200。
(5) 假设第4次NUM = 206:则数组变成O, 200, 202, 204, 206 将5个数按大小排队,取中间值为202,更新后的值为NUM 二202。
(6) 假设第4次NUM 二 202:则数组变成200, 202, 204, 206, 202 将5个数按大小排队,取中间值为202,更新后的值为NUM =202。
(7) 假设第4次NUM = 212:则数组变成202, 204, 206, 202, 212 将5个数按大小排队,取中间值为204,更新后的值为NUM 二 204。 依次类推。
这样做的优点是
1、 当仪器的波形黑带扫描的速度确实发生了个改变时,最多经过3个处理 帧(3次记录NUM),就能够将NUM更新到新的黑带移动速度。
2、 很多仪器都有冻结功能,也就是使得波形暂停,如有时候用户将仪器暂 停来查看波型,这样就会导致NUM变大。采用上述更新算法后,如果冻结2次, 也不会影响到NUM值的更新,因为该NUM值是按大小排序后取的中间值。
权利要求
1、一种医疗仪器视频信息提取器的波形提取方法,其特征在于包括如下步骤步骤A、在波形检测区域设置黑带检测区域;步骤B、待黑带进入黑带检测区域,即开始学习一个处理帧的帧数NUM,记录黑带两次经过黑带检测区域所经过的一个处理帧帧数NUM;步骤C、根据处理帧帧数NUM,确定实际处理一个处理帧用的优化帧数d_num=((int)((NUM-2)/N))*N,并根据该d_num确定每N帧要识别的分段波形长度len=(int)(width/(d_num/4)),其中,width为波形检测区域的宽度,N为设定求平均的帧数;步骤D、从波形检测区域的起始检测位置开始,按每连续N帧求长度为len的分段检测区域波形的方式,来求x轴上每个点对应的y值,并将连续N帧求得的N个y值求平均第1到N帧,求x=
的波形,第N+1到2N帧,求x=[len,2*len-1]的波形,到最后的连续N帧即第d_num-N+1到d_num帧,处理x=[(d_num-N)/N*len,width-1]的波形;当已处理完整个波形检测区域,且黑带还没有进入黑带检测区域,转到步骤E;当未处理完整个波形检测区域,黑带已开始进入黑带检测区域时,则将该轮的处理帧设置为新的处理帧帧数NUM,转到步骤C;步骤E、记录长度为width的波形的识别结果,将该轮的处理帧设置为新的处理帧帧数NUM,待黑带再次开始进入黑带检测区域时,转到步骤C,开始下一轮波形处理。
2、 根据权利要求1所述的医疗仪器视频信息提取器的波形提取方法,其特 征在于在步骤A中,将黑带检测区域设置在没有背景干扰的地方。
3、 根据权利要求1所述的医疗仪器视频信息提取器的波形提取方法,其特 征在于N取值为4。
4、 根据权利要求1所述的医疗仪器视频信息提取器的波形提取方法,其特 征在于当波形的刷新方向是从左到右时,黑带检测区域设置在波形检测区域 的中间或中间偏右位置处,波形检测区域的起始检测位置设置在波形检测区域 最左端;当波形的刷新方向是从右到左时,黑带检测区域设置在波形检测区域 的中间或中间偏左位置处,波形检测区域的起始检测位置设置在波形检测区域最右端。
5、 根据权利要求1-4任一项所述的医疗仪器视频信息提取器的波形提取方法,其特征在于步骤C包括两个步骤步骤C1、将处理帧帧数NUM进行更新处理,得到一个新的处理帧帧数NUM, 作为下一处理帧的帧数NUM;步骤C2、根据歩骤C1更新得到的处理帧帧数NUM,确定实际处理一个处理 帧用的优化帧数d_num = ((int) ((MM-2) /N)) *N,并根据该d_niim确定每N帧要 识别的分段波形长度len 二 int (width/(d_num/4)),其中,width为波形检测 区域的宽度,N为设定求平均的帧数。
6、 根据权利要求5所述的医疗仪器视频信息提取器的波形提取方法,其特 征在于所述NUM的更新算法为设定一个长度为5的数组,用于记录5个最近 的处理帧的实际帧数NUM的数值,对该5个数值进行排序,取中间的一个数值 来作为一个新的处理帧的帧数NUM。
7、 根据权利要求l-4任一项所述的医疗仪器视频信息提取器的波形提取方 法,其特征在于在步骤A中,学习波形检测区域图像的背景,如果存在背景, 则进行背景处理。
8、 根据权利要求6所述的医疗仪器视频信息提取器的波形提取方法,其特 征在于在步骤A中,学习波形检测区域图像的背景,如果存在背景,则进行背景处理。
9、 根据权利要求8所述的医疗仪器视频信息提取器的波形提取方法,其特征在于所述学习背景包括如下步骤步骤A、在图像预处理过程中,对图像上每个点用255帧叠加计算权重,该权重计算方法是初始化的点的权重都是o,对每一帧的每一点,大于阈值的,该点权重加l,不大于阈值的,该点权重除以10;步骤B、 255帧结束以后,权重如果大于180,则认为该点是背景,如果权 重不大于180,则认为不是背景。
全文摘要
本发明公开了一种医疗仪器视频信息提取器的波形提取方法,它包括如下步骤在波形检测区域设置黑带检测区域;以黑带两次经过黑带检测区域为一个处理帧,在一个处理帧内将整幅波形合理分段,逐段N帧求平均;每一个处理帧处理完了记录一次波形。本发明的优点是能很好地消除随机噪声带来的影响,使得波形失真较小,而且用最小的数据量记录了波形数据,方便了数据的网络传输、存储和查询。
文档编号H04N5/14GK101197931SQ20071016458
公开日2008年6月11日 申请日期2007年12月11日 优先权日2007年12月11日
发明者辉 王 申请人:浙江银江电子股份有限公司