适用于大屏幕的采集卡缓冲区同步图像刷新系统及方法

文档序号:2585036阅读:225来源:国知局
专利名称:适用于大屏幕的采集卡缓冲区同步图像刷新系统及方法
技术领域
本发明属于大屏幕投影显示系统,具体涉及一种适用于大屏幕的采集卡缓冲区同步图像刷新系统及方法。本发明在大屏幕控制器上的采集卡采集视频数据时可通过编程的方式获取采集的视频数据,本发明适用于在此种环境使用缓冲区缓存视频数据并轮流显示的方法。
背景技术
目前的大屏幕采集系统应用各种类型的采集卡采集数据,通过采集卡固有的软件接口实现画面显示的功能。因各方厂商对于采集卡功能接口的定义不同,所以大屏幕显示系统只能实现采集卡固有的功能,对于使用者来说,想增加采集卡定义之外的功能比较困难。随着大屏幕使用者的要求越来越丰富,对于可扩展的数据采集和显示系统的要求越来越强烈。基于使用者对大屏幕采集系统扩展性的需求,亟需研发一种可扩展的大屏幕采集系统。

发明内容
本发明要解决的技术问题是提供一种适用于大屏幕的采集卡缓冲区同步图像刷新系统,其在实现显示多通道多窗口界面,以及采集数据的原始加工和显示区域的控制上提供了灵活的扩展框架;对于采集数据的网络传递,采集数据的文件存储和分发,历史数据的保存和维护方面的实现都有灵活的扩展方式,从而能满足使用者对大屏幕采集系统扩展性的需求。为此,本发明还提供一种适用于大屏幕的采集卡缓冲区同步图像刷新方法。为了解决上述技术问题,本发明提供一种适用于大屏幕的采集卡缓冲区同步图像刷新系统,该系统包括采集卡层,用于采集数据,该采集卡层通过调用采集卡功能的软件接口来获取原始视频数据;数据加工层,用于对采集到的原始视频数据进行加工处理,包括对原始视频数据进行编码和压缩,以及对原始视频图像参数进行调整;写缓冲区层,用于判断每个缓冲区的空闲状态,对于采集卡的每个通道都有两个缓冲区,每个缓冲区都标记自己的空状态或是满状态,如果已有数据存在并未被读取就标记为满状态,否则标记为空状态;写缓冲区层用于向空状态的缓冲区写入数据,完成之后标记为满状态,满状态表明缓冲区已经有数据可读并且不可写入;如果两个缓冲区都为满状态则丢弃当前数据,以免破坏未被读取的数据;读缓冲区层,用于循环检查每个缓冲区的状态,对于满状态的缓冲区读取缓冲区内容,并将读取的缓冲区内容传递给应用扩展层或者传递给刷新图像层直接在界面上显示,然后设置缓冲区空状态标记;空状态标记的缓冲区只可写入不可读取;应用扩展层,提供应用扩展的额外处理;
界面加工层,用于选择不同的显示介质,将显示操作进行统一封装,然后根据需要替换图形操作方式;刷新图像层是显示图像的模块,它依赖界面加工层的处理、和读缓冲区层或者应用扩展层给它传送的视频数据(刷新图像层的数据来源于读缓冲区层或者应用扩展层), 它的功能是创建播放画面的实例,根据界面加工层所创建出来的界面将接收自读缓冲区层或者应用扩展层的图像显示在界面上,同时管理视频图像的播放过程(比如帧率的控制) 以及维护播放实例和界面之间的关系。所述数据加工层对原始视频图像参数进行调整包括对图像大小、位置、像素、画面质量进行调整;所述数据加工层可根据具体的应用环境进行扩展,通过回调的方式方便使用者根据自己的需要做更多的个性化处理。所述应用扩展层用于包括网络传输或者文件保存的应用扩展,使用者可根据自己的需要进行扩展。所述界面加工层,对于图像显示提供统一的操作方式(比如对于使用显卡还是操作系统的固有图形操作接口提供统一的访问方式),使得系统结构和外围应用框架进行隔离,这样方便使用者根据自己的需求选择不同的显示方式。此外,本发明还提供一种适用于大屏幕的采集卡缓冲区同步图像刷新方法,包括如下步骤(1)根据采集卡通道的个数为每个通道分配两个缓冲区,并标记每个缓冲区的所属通道,以及初始化缓冲区的初始状态为空状态;(2)为每个通道启动4个线程,然后为所有通道启动采集数据;(3)第一个线程首先对每个通道采集视频数据,先对原始采集视频数据进行加工处理;然后查找空状态的缓冲区,向空状态的缓冲区填充经过处理的视频数据,并标记缓冲区为满状态;如果没有空状态的缓冲区则返回并继续采集数据;(4)第二个线程用来读取缓冲区,先读取通道对应的缓冲区状态,循环判断通道关联的所有缓冲区,如果有满状态的缓冲区就读取该缓冲区内容并将读取的内容传递给第三个线程作扩展处理或者直接传递给第四个线程直接显示在界面上;如果没有满状态的缓冲区可读,则返回并继续读缓冲区状态;(5)第三个线程用来做扩展处理,包括网络传输和文件保存;(6)第四个线程主要处理界面刷新动作,实时显示从第二个线程获取到的图像或者从第三个线程获取到的图像进行网络预览或历史录像查看。步骤(3)中,所述对原始采集视频数据进行加工处理包括对视频数据的压缩方式、编码方式的选择,原始图像数据的裁减和偏移,以及图像数据的保存格式的选择。步骤(5)中,所述网络传输使大屏幕控制器将采集的视频数据进行网络投屏或者进行远程预览,所述文件保存使大屏幕控制器增加历史视频管理的功能以及视频内容的分发和传递。与现有技术相比,本发明的有益效果在于本发明在实现显示多通道多窗口界面, 以及采集数据的原始加工和显示区域的控制上提供了灵活的扩展框架;对于采集数据的网络传递,采集数据的文件存储和分发,历史数据的保存和维护方面的实现都有灵活的扩展方式,从而能满足使用者对大屏幕采集系统扩展性的需求,使得使用者可以很方便地增加采集卡定义之外的其他功能。本发明对于需要对采集数据的历史保留和网络转发的大屏幕系统有重要的意义。


图1是本发明系统的结构示意图;图2是本发明方法的流程图。
具体实施例方式下面结合附图和具体实施方式
对本发明作进一步详细说明。本发明适用于大屏幕控制器领域采集卡可获取原始采集数据的图像刷新,本发明的基本过程是在大屏幕控制器内存中为采集卡的每个通道分配两个缓冲区用于存放采集数据,再将缓冲区的数据轮流显示在界面上。如图1所示,本发明的适用于大屏幕的采集卡缓冲区同步图像刷新系统,具体包括采集卡层,是本发明系统应用的硬件基础,采集的数据都依赖采集卡进行采集,采集卡层除了硬件环境之外还包括控制采集卡功能的软件接口以及调用结构的功能,比如打开采集卡通道,启动采集卡数据采集。该采集卡层通过调用采集卡功能的软件接口来获取原始视频数据。数据加工层,用于对采集到的原始数据进行加工处理,包括对于原始数据的编码方式和压缩方式进行选择,以及对原始视频图像参数进行调整(包括对图像大小、位置、像素、画面质量等参数进行调整)。数据加工层可根据具体的应用环境进行扩展,通过回调的方式方便使用者根据自己的需要做更多的个性化处理。数据加工层通过调用第三方处理程序实现扩展功能,对于除以上所列功能之外,如果用户需要额外的图像处理,则这些功能可以放在第三方程序里处理。读、写缓冲区层,是系统的两个固有的模块,对于使用者不同的扩展要求读、写缓冲区层都是固定的方式实现。写缓冲区层,用于判断每个缓冲区的空闲状态,对于采集卡的每个通道都有两个缓冲区,每个缓冲区都标记自己的空状态或是满状态,如果已有数据存在并未被读取就标记为满状态,否则标记为空状态;写缓冲区层用于向空状态的缓冲区写入数据,完成之后标记为满状态,满状态表明缓冲区已经有数据可读并且不可写入;如果两个缓冲区都为满状态则丢弃当前数据,以免破坏未被读取的数据;读缓冲区层,用于循环检查每个缓冲区的状态,对于满状态的缓冲区读取缓冲区内容,并将读取的缓冲区内容传递给应用扩展层或者传递给刷新图像层直接在界面上显示,然后设置缓冲区空状态标记;空状态标记的缓冲区只可写入不可读取。应用扩展层,提供应用扩展的额外处理,图1中表示的网络传输和文件保存是最主要的两个例子,使用者可根据自己的需要进行扩展。界面加工层,用于选择不同的显示介质,将显示操作进行统一封装,然后根据需要替换图形操作方式,比如对于使用显卡还是操作系统的固有图形操作接口提供统一的访问方式,使得系统结构和外围应用框架进行隔离,这样方便使用者根据自己的需求选择不同的显示方式(例如,可以选择桌面应用程序还是web方式展现,是否跨操作系统等等)。
刷新图像层,是显示图像的模块,它依赖界面加工层的处理、和读缓冲区层或者应用扩展层给它传送的视频数据(刷新图像层的数据来源于读缓冲区层或者应用扩展层), 它的功能是创建播放画面的实例,根据界面加工层所创建出来的界面将接收自读缓冲区层或者应用扩展层的图像显示在界面上,同时管理视频图像的播放过程(比如帧率的控制) 以及维护播放实例和界面之间的关系。如图2所示,本发明的适用于大屏幕的采集卡缓冲区同步图像刷新方法,主要包括如下步骤1.首先根据采集卡通道的个数为每个通道分配两个缓冲区,并标记每个缓冲区的所属通道,以及初始化缓冲区的初始状态为空状态。2.为每个通道启动4个线程,然后为所有通道启动采集数据。3.第一个线程首先对每个通道采集视频数据,先对原始采集视频数据进行加工处理(处理的内容如数据的压缩方式、编码方式的选择,原始图像数据的裁减和偏移,以及图像数据的保存格式的选择等等);然后查找空状态的缓冲区(即空缓冲区),如有空缓冲区则向空缓冲区填充经过处理的视频数据(即进行写操作),并标记缓冲区为满状态;如果没有空状态的缓冲区则返回并继续采集数据;4.第二个线程用来读取缓冲区,先读取通道对应的缓冲区状态,循环判断通道关联的所有缓冲区,如果有满状态的缓冲区就读取该缓冲区内容并将读取的内容传递给第三个线程(第三个线程功能如下5描述)作扩展处理或者直接传递给第四个线程(第四个线程的功能如下6描述)直接显示在界面上;如果没有满状态的缓冲区可读,则返回并继续读缓冲区状态。5.第三个线程用来做扩展处理(如网络传输,和文件保存等),网络传输的功能可以使大屏幕控制器将采集的视频数据进行网络投屏或者进行远程预览,文件保存可以使大屏幕控制器增加历史视频管理的功能以及视频内容的分发和传递。6.第四个线程主要处理界面刷新动作,实时显示从第二个线程获取到的图像或者从第三个线程获取到的图像进行网络预览或历史录像查看。
权利要求
1.一种适用于大屏幕的采集卡缓冲区同步图像刷新系统,其特征在于,该系统包括采集卡层,用于采集数据,该采集卡层通过调用采集卡功能的软件接口来获取原始视频数据;数据加工层,用于对采集到的原始视频数据进行加工处理,包括对原始视频数据进行编码和压缩,以及对原始视频图像参数进行调整;写缓冲区层,用于判断每个缓冲区的空闲状态,对于采集卡的每个通道都有两个缓冲区,每个缓冲区都标记自己的空状态或是满状态,如果已有数据存在并未被读取就标记为满状态,否则标记为空状态;写缓冲区层用于向空状态的缓冲区写入数据,完成之后标记为满状态,满状态表明缓冲区已经有数据可读并且不可写入;读缓冲区层,用于循环检查每个缓冲区的状态,对于满状态的缓冲区读取缓冲区内容, 并将读取的缓冲区内容传递给应用扩展层或者传递给刷新图像层直接在界面上显示,然后设置缓冲区空状态标记;空状态标记的缓冲区只可写入不可读取;应用扩展层,提供应用扩展的额外处理;界面加工层,用于选择不同的显示介质,将显示操作进行统一封装,然后根据需要替换图形操作方式;刷新图像层,是显示图像的模块,其用于创建播放画面的实例,根据界面加工层所创建出来的界面将接收自读缓冲区层或者应用扩展层的图像显示在界面上,同时管理视频图像的播放过程以及维护播放实例和界面之间的关系。
2.如权利要求1所述的适用于大屏幕的采集卡缓冲区同步图像刷新系统,其特征在于,所述数据加工层对原始视频图像参数进行调整包括对图像大小、位置、像素、画面质量进行调整;所述数据加工层可根据具体的应用环境进行扩展,通过回调的方式方便使用者根据自己的需要做更多的个性化处理。
3.如权利要求1所述的适用于大屏幕的采集卡缓冲区同步图像刷新系统,其特征在于,所述应用扩展层用于包括网络传输或者文件保存的应用扩展,使用者可根据自己的需要进行扩展。
4.如权利要求1所述的适用于大屏幕的采集卡缓冲区同步图像刷新系统,其特征在于,所述界面加工层,对于图像显示提供统一的操作方式,使得系统结构和外围应用框架进行隔离,这样方便使用者根据自己的需求选择不同的显示方式。
5.一种适用于大屏幕的采集卡缓冲区同步图像刷新方法,其特征在于,包括如下步骤(1)根据采集卡通道的个数为每个通道分配两个缓冲区,并标记每个缓冲区的所属通道,以及初始化缓冲区的初始状态为空状态;(2)为每个通道启动4个线程,然后为所有通道启动采集数据;(3)第一个线程首先对每个通道采集视频数据,先对原始采集视频数据进行加工处理;然后查找空状态的缓冲区,向空状态的缓冲区填充经过处理的视频数据,并标记缓冲区为满状态;如果没有空状态的缓冲区则返回并继续采集数据;(4)第二个线程用来读取缓冲区,先读取通道对应的缓冲区状态,循环判断通道关联的所有缓冲区,如果有满状态的缓冲区就读取该缓冲区内容并将读取的内容传递给第三个线程作扩展处理或者直接传递给第四个线程直接显示在界面上;如果没有满状态的缓冲区可读,则返回并继续读缓冲区状态;(5)第三个线程用来做扩展处理,包括网络传输和文件保存;(6)第四个线程主要处理界面刷新动作,实时显示从第二个线程获取到的图像或者从第三个线程获取到的图像进行网络预览或历史录像查看。
6.如权利要求5所述的适用于大屏幕的采集卡缓冲区同步图像刷新方法,其特征在于步骤(3)中,所述对原始采集视频数据进行加工处理包括对视频数据的压缩方式、编码方式的选择,原始图像数据的裁减和偏移,以及图像数据的保存格式的选择。
7.如权利要求5所述的适用于大屏幕的采集卡缓冲区同步图像刷新方法,其特征在于步骤(5)中,所述网络传输使大屏幕控制器将采集的视频数据进行网络投屏或者进行远程预览,所述文件保存使大屏幕控制器增加历史视频管理的功能以及视频内容的分发和传递。
全文摘要
本发明公开了一种适用于大屏幕的采集卡缓冲区同步图像刷新系统,包括采集卡层、数据加工层、写缓冲区层、读缓冲区层、应用扩展层、界面加工层和刷新图像层。此外,本发明还提供一种适用于大屏幕的采集卡缓冲区同步图像刷新方法,在大屏幕控制器内存中为采集卡的每个通道分配两个缓冲区用于存放采集数据,再将缓冲区的数据轮流显示在界面上。本发明在实现显示多通道多窗口界面,以及采集数据的原始加工和显示区域的控制上提供了灵活的扩展框架;对于采集数据的网络传递,采集数据的文件存储和分发,历史数据的保存和维护方面的实现都有灵活的扩展方式,从而能满足使用者对大屏幕采集系统扩展性的需求。
文档编号G09G5/14GK102402414SQ201110240240
公开日2012年4月4日 申请日期2011年8月19日 优先权日2011年8月19日
发明者蔡宇强, 赵箭, 陈战 申请人:大道计算机技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1