内窥镜影像信息系统中的影像管理实现

时间:2022-08-19 02:24:43

内窥镜影像信息系统中的影像管理实现

摘要:针对目前医院内镜检查科的实际项目需求,给出了内镜影像信息系统中的内镜影像管理功能的设计与实现,深入探讨了其中视频录像模块的关键技术实现(包括自定义的JPS视频流格式和基于精确系统采集时钟的录像线程实现)。

关键词:医疗内镜影像;影像管理;M-JPEG

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2009)35-10077-03

The Implementation of Image Management in an Endoscope Image Information System

CHEN Li

(Tianhe Branch, Guangzhou Radio & TV University, Guangzhou 510665, China)

Abstract: According to the requirement of a practical hospital project in common endoscope inspection department, this paper presents the design and implementation of image management module in an Endoscope Image Information System, deeply discusses the key technical implementations in video recording function including the self-defined JPS video stream format and the recording thread based on the precisely video-capturing system clock.

Key words: medical endoscope image; image management; M-JPEG

医疗内窥镜目前已广泛应用于消化系统、呼吸系统疾病的临床诊治中因此,在开发面向内窥镜临床应用的医疗信息系统时,所面临的主要问题是需要从原有内镜影像设备中采集病人的检查影像信号,经数字化后,转换为计算机系统可支持的影像格式,完成对这些影像数据的模拟实际操作的拍片、挂片、录像与视频通信等要求,将检查影像数据与病人的基本信息、主要症状、诊断结果等临床资料进行关联,最终实现医疗图文资料的统一存储和管理。

作者针对医院镜检科的业务需求,结合PACS的应用思想,利用Delphi6.0作为开发工具,以Microsoft SQL Server 2000作为后台数据库系统,设计并实现了一个基于C/S模型的内镜影像信息系统[1]。本文将给出其中关键的内镜影像管理部分(包括检查影像信息的采集、拍片、挂片和视频录像与回放)的设计与实现。

1 内窥镜影像信息系统简介

内镜镜检科的业务流程要求对病人的基本信息(如镜检号、姓名、性别、年龄、诊断日期、送检部门等)进行登记(同时也包括预约的病人)并写入数据库,创建每位就诊病人的镜检记录。医生为病人做镜检时可以调出其镜检记录,以便将镜检中的拍片和镜检视频录像与病人的镜检记录关联,最终可生成一份图文并茂的电子镜检报告,最后打印给病人阅览。同时,还需要对镜检过程中的影像进行录像并实时地通过医院内部的局域网传输到不同地点的客户工作站,以便远程的观摩、诊断与教学。本文所开发的内镜影像信息系统实现了上述业务需求,系统功能结构如图1所示。

2 内镜影像管理的关键问题分析

2.1 内镜影像信息的基本处理流程

根据镜检业务需求,对检查影像信息的处理包括以下基本流程:

1) 影像采集:系统针对一些老式的内窥镜设备(如胃镜、十二指肠镜、小肠镜等)进行设计。由于这些设备主要采用模拟视频接口,经过视频采集卡的模拟/数字(A/D)转换后,形成计算机能够处理的各种数字媒体数据。

2) 视频预览:在屏幕的指定窗口区域,实时显示内镜检查时传导过来的视频图像,医生通过视频预览窗口可观察当时镜检部位的状况。

3) 拍片:类似于实际工作中的拍片操作。医生在观察视频预览窗口中的实时镜检影像时,若认为某些影像片段(通常是患者的关键病灶区)对诊断有价值,可对当前预览图像进行冻结、保存,完成拍片过程。

4) 挂片:由于每条病人的镜检记录都关联多张拍片图像,因此需要对这些图片进行管理,在检索病人镜检记录时可以动态显示镜检记录所关联的所有拍片列表(相当于实际镜检中的挂片,医生可以通过看挂片来诊断,一目了然),并可在撰写图文镜检报告时选择合适的拍片图像供打印输出。

5) 视频录像、检索与回放:在检查工作站上可对检查过程进行视频录制,同时支持本地和异地工作站的录像文件检索与录像回放。

6) 视频传输与远程控制:在检查工作站上的实时检查视频可通过网络同时传输给远程工作站,以便于远程诊断、教学与观摩;远程工作站也可通过网络对检查工作站的操作进行远程控制,如远程控制拍片、录像与视频传输等。限于篇幅,这部分内容将另文叙述。

2.2 视频采集卡

视频采集卡的选型要能满足医学图像的高清晰度要求和丰富的颜色数支持,同时,也要考虑其是否提供全面的API,以支持系统的二次开发。本系统采用天敏SDK2000卡进行视频采集。SDK2000卡具有高品质的视频采集性能,显示分辨率可达640x480,24位真彩,显示画面流畅不间断,每秒可达30帧,在性能上已达到电子内窥镜影像的性能指标要求;具有复合视频端口和S-Video端口,匹配内窥镜的常规视频输出接口。SDK2000卡支持系统开发,兼容Windows VFW软件架构和WDM模式,提供功能全面的二次开发包。

2.3 拍片图像格式的选择

拍片图像采用JPEG标准进行压缩存储。JPEG是面向连续色调、多级灰度、彩色或单色静止图像的压缩标准,有真彩色和灰度图两种类型,而大多数医学图像都是灰度图像或真彩色图像,因此根据JPEG标准对医学图像实施压缩是合适的。另外,JPEG 还是一种比较灵活的图像格式,当将图像保存为JPEG 格式时,允许用户用不同的压缩比对文件进行压缩,即可以指定图像的品质和压缩级别。JPEG虽然是有损压缩方式,但当压缩比在(12-16):1之间,压缩后的一个像素点可用1.5-2比特存储,得到的压缩图像质量与原始图像几乎一样。

2.4 录像压缩标准的选择

目前,最常用的动态图像压缩标准包括:M-JPEG、H.263、H.264、MPEG(1,2,4)。采用哪一种压缩标准,需要考虑压缩视频图像的分辨率、码流等关键QoP指标。镜检图像对图像画质的要求比较高。MPEG的应用比较广泛,它是针对运动图像而设计的,为了适应各种码流要求,这一系列标准的压缩算法也采用帧间压缩,使得不是每一帧图像都容易达到高质量的画质要求。M-JPEG由于是帧内压缩,每一帧图像都是单独的整个画面,由于每帧图像都采用JPEG压缩,图像画质可以任意控制,直至获得满足使用要求的图像质量。从这点上看,M-JPEG比MPEG更适合于内镜检查用途。

M-JPEG允许自定义运动图像文件格式。我们按照M-JPEG的思想,自定义了本系统的视频录像文件格式(JPEG Stream,简称JPS格式)。JPS里的每帧图像都采用相同的JPEG标准压缩(采用相同的默认表和量化表),因此保证它们都具有相同的图像质量。由于采用帧内压缩,JPS文件在视频传输的过程中出现丢帧时,不影响整体QoP质量。对JPS文件的存取、回放与编辑等操作,都可以依据自定义的JPS文件头来实现。

3 内镜影像管理的设计与实现

3.1 视频预览模块

为了能够匹配内镜设备的模拟视频接口,同时也需要控制视频图像输出效果,视频预览模块通过设置SDK2000卡各个输出参数实现对视频色彩、视频格式、视频窗口三方面的视频图像输出控制:

1) 视频色彩设置:设置SDK2000卡的各个色彩参数(亮度、对比度、色调和饱和度)。

2) 视频格式设置:设置SDK2000卡的输入信号视频端口(即视频信号源,SDK2000卡支持同时接两路视频信号输入,也就是可以接两台电子内窥镜的视频端子输入,但某一时刻只能显示其中一路信号)、视频端口的制式(NTSC、PAL和SECAM)和视频编码类型(RGB555、RGB24、YUY2、YVU9和YV12)。

3) 视频窗口设置:设置视频尺寸(640x480、352x288、320x240和240x180);能够以不同风格来显示视频区域(按原始尺寸、窗口居中和满窗拉伸显示);可以按上、下、左、右四种不同方位移动视频图像幅面,以便于观察,另外,在拍片中保存图像时能够自动按不同的比例裁减图像大小(如若裁减10%,则系统自动保存包含图像中心位置的90%区域)。

3.2 拍片管理模块

系统通过以下步骤完成拍片过程:

1) 图像冻结:图像冻结操作主要在服务器端完成,但在客户端可以发送图像冻结命令给服务器,指示其完成图像冻结操作。服务器端的冻结操作实际上是调用SDK2000卡的SDK的暂停视频流函数TSDK_2000.Pause,使当前的图像停留在预览显示区域,完成图像冻结。

2) 保存图像:用户既可以先冻结图像,再保存被冻结的图像,或者直接截取当前正在预览中的视频图像来保存。实现保存图像要完成两个基本步骤:

图像的剪裁:对图像的保存并不是把采集视频窗口区域内的所有像素都进行保存,而是保留视频窗口区域内显示原始图像的中心部分,但按比例裁剪掉原始图像的无关重要的周边区域,为此要计算出图像在视频窗口区域内的顶点坐标。

图像的压缩与保存:图像文件不保存在数据库中,而是以文件的方式存放在指定的系统目录,在镜检图像表(Pict)中存放图像文件名,因此,检索Pict表能够找到与某病人镜检记录关联的所有图像文件。

3.3挂片管理模块

挂片管理完成以下基本功能:

1) 拍片图像预览列表:在系统主界面或在影像管理界面的底部显示与某病人镜检记录关联的拍片图像列表,在每幅图像的左上角,显示图像的顺序编号;

2) 拍片打印选择:在打印镜检报告时,同时可以附上并排的最多六幅拍片图像,用户可以选择某幅图像作为打印用,同时选择的次序被保存在镜检图像表(Pict)里,被选择的次序也决定了该图像在打印报告里的先后排列次序;

3) 添加或删除关联的拍片图像文件:用户拍照时所保存的图像文件名将自动与病人镜检记录关联,用户也可以在拍片图像预览列表里删除或添加部分图像文件,同时在镜检图像表(Pict)中删除或添加这些图像文件与当前病人镜检记录关联的所有记录。

3.4 视频录像管理模块

视频录像模块完成以下的基本操作:

1) 视频录制:对镜检视频进行实时采集与压缩,生成自定义JPS格式的视频录像文件,最后将完整录制好的录像文件与在检病人的镜检记录关联,并写入数据库;

2) 录像检索:可按镜检号和录像时间段来检索已存档的镜检录像文件;

3) 录像回放:可连续播放多个指定的镜检录像文件。

录像存档和录像检索的实现比较简单,限于篇幅,本文只讨论视频录制与录像回放的主要实现过程。

3.4.1 JPS录像文件格式设计

JPS文件包括文件头(文件标记用字符串“JPS\0”标识)和图像数据,文件格式如图2所示。JPS录像文件除前面的32K字节,即从第32768个字节开始,连续保存多帧图像数据(完整的JPG图像数据),每帧图像的大小视压缩的图像质量而定。

3.4.2 视频录像与回放的实现

1) 视频录像

每一个录像片段只能在15分钟以内,即每一个JPS文件只能存储15分钟长的录像数据,这主要是受到JPS文件头的帧图像存取偏移量的总数的限制,但规定其长度也有好处,就是能够避免产生巨大数据量的录像文件,从而给录像文件的存取和编辑造成困难。视频录像程序流程如图3所示。

2) 录像回放

视频录像回放是在录像文件检索结果的基础上选择一个或多个视频录像文件进行播放。具体实现时使用Delphi的时钟Ttimer组件,设置其超时时间间隔(可根据JPS文件的播放帧率计算得到:1000 ms / 帧率),在超时时间到(time out)所触发的事件过程里执行播放函数。视频录像回放流程如图4所示。

3) 视频录像的关键技术实现

JPS要求按一定的帧率来录像和回放,时敏性高,因此需要用一个工作线程在相对精准的时间间隔里完成图像帧的捕捉、压缩与存储。为实现这一过程,先定义一个回调函数:

procedure TimeProc(uTimerID, uMessage: unit; dwUser, dw1, dw2: dword) stdcall;

在回调函数中,完成原始图像数据的捕捉以及对图像进行JPEG压缩等。然后,把回调函数与操作系统的多媒体时钟事件(timeSetEvent)挂接起来。其实现的主要代码如下:

proTimeCallback:=TimeProc;

hTimeID:=timeSetEvent(callbackInterval,callbackIntervalResolution,proTimeCallback,1,1);

这时,操作系统会为其分配一个系统的多媒体时钟(实际上是一个工作线程),该时钟具有较高的线程优先级,能够比较精确地在一定的时间精度(或误差,由参数callbackIntervalResolution确定,以毫秒为单位)内,准确地每隔一定时间(由参数callbackInterval确定,以毫秒为单位)触发该多媒体时钟事件(timeSetEvent),从而能够准确地执行每帧图像的采集、压缩和存储,实际上也就能够保证稳定的帧率,因此能够保证较好的QoP质量。回调间隔时间callbackInterval=1000ms / 帧率。如采用15帧/s,结果是为66ms。callbackIntervalResolution表示时间误差,理想的情况下(其值为0ms),系统准确无误地在每隔callbackInterval毫秒就可以调用一次回调函数。但在实际的运行环境中,由于操作系统同一时刻不仅仅只有一个计算任务,因此,应尝试找到一个合理的时间误差(本系统的取值为10ms),如果值太小,会引起系统过载,而值过大,则又可能使采集帧率难以保证。

4 结束语

本文给出了内镜影像信息系统中的内镜影像管理功能的设计及其关键技术实现。该系统的内镜影像管理基本涵盖了内镜检查科对内镜影像的管理需求,包括影像采集、拍片、挂片、视频录像与回放等功能。系统参考M-JPEG运动图像编码思想,采用自定义的JPS视频流格式存储录像数据,运行测试表明JPS格式能够节省视频录像的存储空间并能满足常规的内镜图像质量要求。本系统来源于实际的医院项目,其使用效果表明,它的设计在一定程度能满足已有电子内窥镜影像处理的数字化要求,对于提高医院的医疗信息化管理水平,有其积极的应用意义。

参考文献:

[1] 陈力,梅炳夫.内镜影像信息系统的设计与实现[J].广州广播电视大学学报,2009,9(5):102-106.

[2] 樊庆福.国内外PACS现状及发展趋势[J].上海生物医学工程,2004,25(3):44-46.

[3] 龚华,刘雪松,张奎刚.JPEG标准格式的编码方法[J].微处理机,2002(1):12-16.

[4] 张仿彦.Delphi接口技术开发实例解析[M].北京:机械工业出版社,2007.

[5] 李彦,韩光林,李玉波.SQL Server完全自学手册[M].北京:机械工业出版社,2007.

[6] Satzinger J W,Jackson R B,Burd S D.系统分析与设计[M].朱群雄,李芳,汪晓男,等,译.2版.北京:电子工业出版社,2003:137-138.

[7] 韩冰.Delphli多媒体应用技术开发实例[M].北京:清华大学出版社,2002.

[8] 蔡安妮,孙景鳌.多媒体通信技术基础[M].北京:电子工业出版社,2000.

上一篇:图书馆电子阅览室计算机维护 下一篇:基于数据仓库的数字化校园的设计