一种内窥镜视频叠加OSD菜单图像的方法与流程

文档序号:35066729发布日期:2023-08-09 06:35阅读:76来源:国知局
一种内窥镜视频叠加OSD菜单图像的方法与流程

本发明涉及内窥镜视频图像处理领域,具体涉及一种内窥镜视频叠加osd的方法。


背景技术:

1、osd是on-screen display的缩写,即在显示器的荧幕中产生一些特殊的字形或图形,让使用者得到一些讯息。在内窥镜视频处理过程中,多指通过操作osd菜单中的图像参数完成对图像的调节。

2、目前内窥镜视频叠加osd的方法主要分为两种方案:

3、第一种方案是通过arm或dsp制作osd菜单图像,并生成osd菜单视频流,再将osd菜单视频流与fpga处理的内窥镜视频流进行叠加,此方法可以保证视频叠加的实时性且菜单较为美观,但开发较为复杂且对硬件要求较高,可移植性较差。

4、例如,申请号为“201910305231.6”的中国发明专利。该发明采用的是方案一的思路。目的是为了解决现有对视频添加osd的方法存在延时性的问题。

5、该发明提供一种对4k实时视频添加osd的方法,通过qt creator可以设计出任意osd ui界面,支持鼠标键盘触屏控制osd菜单,强大的fpga还可以对视频做一些算法处理,比如去燥,暗场增强,轮廓增强,色彩还原,宽动态等效果;把arm产生的osd与摄像头输入的视频源用fpga叠加合成(可以在叠加osd前对视频做处理,也可以在叠加后对视频做处理),由于fpga的并行性在叠加osd的时候不会产生画面的延时,打破了传统输入视频源先经过fpga做图像处理再经过arm叠加osd的架构,从而降低了实时视频延时,提高图像实时性。

6、第二种方案是通过在图像处理器内部制作osd显示菜单和处理的内窥镜视频流进行叠加,此方法制作的界面较为简单,且受限于处理器内部逻辑资源的限制,无法保证界面美观且功能无法满足复杂的参数设置要求。

7、例如申请号为“201410247922.2”的中国发明专利公开了一种对视频图像进行字符叠加的方法及装置。其中,该方法包括:从字符叠加osd配置结构中获取osd字符信息,所述osd字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;在缓存区中,根据字库将osd字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存;在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。该方法能够减少进行字符叠加时对系统资源的占用,且提高叠加效率。

8、该发明主要是为了减少字符叠加对系统资源的占用,通过局部提取osd位置视频截图,通过在缓存中完成osd字符叠加算法,然后返回叠加好的视频截图。但是该方法没有对背景关键信息进行回避,osd字符叠加后,背景信息依然被覆盖,影响背景中人脸、人像等关键信息的智能分析提取。

9、以上两种方案,第一种方案实现难度较高,且硬件需要视频输出接口,对硬件要求较高且对arm端软件设计能力要求较高,第二种方案无法实现较为复杂界面的设计且菜单界面较为简单。

10、因此,现有技术还有待于改进和发展。


技术实现思路

1、本发明所要解决的技术问题是:对硬件要求高、软件实现难度高且满足实时性和复杂的界面需求。

2、为了解决上述技术问题,本发明采用的技术方案为:

3、一种内窥镜视频叠加osd菜单的方法,包括以下步骤:

4、步骤s1.通过arm处理器进行界面设计,设计尺寸n*m的osd菜单的rgb图像,其中n为行像素宽度,m为列像素宽度;

5、步骤s2.使用压缩算法对osd菜单图像进行压缩处理,处理后的osd菜单图像尺寸为其中row为行压缩比例,col为列压缩比例,处理后的一个osd菜单界面所需的数据量ob为:

6、

7、其中ob的单位为字节;

8、步骤s3.将步骤s2处理后的osd菜单图像通过通信接口传输至fpga,接口传输速率spd可由内窥镜视频帧率f和ob计算获取,即:

9、

10、其中spd的单位为mb/s;

11、步骤s4.fpga端使用与arm处理器相同通信接口接收osd菜单图像数据,并使用乒乓操作缓存osd菜单图像数据;

12、步骤s5.对步骤s4缓存的osd菜单图像数据使用解压缩算法进行解压缩处理;

13、步骤s6.fpga端在内窥镜视频流指定位置叠加步骤s5解压缩处理后的osd菜单图像。

14、进一步地,步骤s1中的所述行像素宽度n和列像素宽度m的值均为正整数,n的取值范围为[240,480],m的取值范围为[160,320]。

15、进一步地,步骤s2所述的压缩算法采用以下步骤进行操作:

16、步骤s21.将osd菜单图像由rgb色域空间转换为hsv色域空间,获取osd菜单图像的亮度图像v以及色调h;

17、步骤s22.提取osd菜单图像的色调h进行位宽转换,由原始位宽m转换为4位获取传输的色调ht,即:

18、

19、步骤s23.提取osd菜单图像的亮度图像v,进行位宽转换,将osd菜单亮度图像由原始位宽m转换为4位提取传输的亮度vt,即:

20、

21、步骤s24.重新组合osd菜单图像数据,每个像素数据由色调ht和亮度图像vt组合成一个字节;

22、步骤s25.对osd菜单图像进行隔行隔列采样处理,其中行采样间隔由row决定,列采样间隔由col决定,

23、相对应的,步骤s5所述解压缩算法采用以下步骤操作:

24、步骤s51.读取fifo3中f(i,j)、f(i,j+1)、f(i+1,j)、f(i+1,j+1)四个像素点的osd菜单图像数据,其中i,j代表像素点在osd菜单图像中的位置,其中i取值范围为[0,n/2],取值范围为[0,m/2];

25、步骤s52.使用双线性内插放大算法,利用双线性放大公式分别计算双线性内插放大后f(i+u,j+v)位置对应的像素亮度数据和色调数据,其中u取值范围为[0,1],v取值范围为[0,1],u、v的取值规则为u,v=1/h,其中h为放大倍数;

26、具体的所述双线性放大公式为:

27、f(i+u,j+v)=(1-u)×(1-v)×f(i,j)+(1-u)×v×f(i,j+1)+u×(1-v)×f(i+1,j)+u×v×f(i+1,j+1)。

28、进一步地,步骤s4所述乒乓操作为:fpga内部设计fifo1和fifo2两个缓存,用于对通信接口接收的osd菜单图像数据乒乓,设计fifo3用于缓存fifo1或fifo2读出的数据,且fifo3的写数据位宽与fifo1和fifo2一致,读数据位宽设定为一个字节;当通信总线存在数据时且fifo1当前为空状态时,启动fifo2的读取并将数据写入fifo3,同时将通信总线接收到的数据缓存至fifo1,当接收的数据量达到ob时,停止fifo1的写入,同时停止fifo2的读取;当通信总线存在数据且fifo2当前为空状态时,启动fifo1的读取并将数据写入fifo3,同时将通信总线接收到的数据缓存至fifo2,当接收的数据量达到ob时,停止fifo2的写入,同时停止fifo1的读取。

29、进一步地,步骤s6包括:

30、步骤s61.使用内窥镜视频流中的帧同步信号、行同步信号和数据有效信号获取内窥镜视频流的行计数hcnt和列计数vcnt,当内窥镜视频流中的帧同步信号上升沿到来时hcnt和vcnt都作清零处理,当内窥镜视频流中的行同步信号上升沿到来时列计数进行累加,当内窥镜视频流中的数据有效信号为高电平时hcnt计数进行累加;

31、步骤s62.由步骤s1可知osd菜单图像尺寸为n*m,因此将屏幕osd显示区域大小设定为n*m,且设置显示区域起始行位置h_start,列位置v_start;

32、步骤s63.判断是否hcnt的值位于[h_start,h_start+n]内且vcnt的值位于[v_start,v_start+m]内;若是,则进行osd菜单图像叠加;若否,则输出原始内窥镜图像;

33、步骤s64.获取当前osd菜单图像并叠加至内窥镜图像r、g、b当中,实现osd菜单图像叠加;

34、进一步地,步骤s6中所述指定位置设置为内窥镜视频图像的1~640列和1~960行的合围区域。

35、一种内窥镜视频叠加osd菜单的系统,包括arm处理器、fpga和显示器,所述arm处理器与fpga通信连接,所述fpga连接有显示设备,所述arm处理器用于制作osd菜单图像,并使用压缩算法处理osd菜单图像后通过通信接口传输至所述fpga,所述fpga用于将收到的osd菜单图像进行乒乓缓存处理再进行解压缩算法处理后叠加至内窥镜视频数据流后传输至所述显示设备显示。

36、本发明的有益效果在于:

37、通过提供一种内窥镜视频叠加osd菜单的方法,使用arm处理器设计osd菜单图像,并将osd菜单图像使用压缩算法处理后通过通信总线传输至fpga,fpga对收到的osd菜单图像进行乒乓缓存处理后再使用解压缩算法解压后叠加至内窥镜视频数据流中指定位置。通过对osd菜单图像使用压缩算法进行压缩可以减小osd菜单图像传输带宽,从而可以通过常用的通信接口传输至fpga,保证osd菜单部分实现难度低并且对硬件要求不高,同时通过fpga内部缓存进行乒乓操作可保证osd界面图像不丢失且能够保证实时性高。使用压缩算法配合解压操作可以保证实现更人性化的osd菜单图像并能够满足复杂的界面需求的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1