CN100525392C - 摄像头视频图像处理的系统及其方法 - Google Patents
摄像头视频图像处理的系统及其方法 Download PDFInfo
- Publication number
- CN100525392C CN100525392C CNB2007101792648A CN200710179264A CN100525392C CN 100525392 C CN100525392 C CN 100525392C CN B2007101792648 A CNB2007101792648 A CN B2007101792648A CN 200710179264 A CN200710179264 A CN 200710179264A CN 100525392 C CN100525392 C CN 100525392C
- Authority
- CN
- China
- Prior art keywords
- data
- softcam
- camera
- special effect
- directshow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000000694 effects Effects 0.000 claims description 46
- 238000004088 simulation Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003703 image analysis method Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Studio Circuits (AREA)
- Studio Devices (AREA)
Abstract
本发明涉及一种摄像头视频图像处理的系统,包括真实摄像头系统,其包括真实摄像头、第一驱动程序模块和第一DirectShow组件;虚拟摄像头系统,其包括利用DSF构架模拟出的虚拟摄像头、第二驱动程序模块和第二DirectShow组件;以及视频处理模块,位于系统的应用层,从第一DirectShow组件读取数据,对数据进行处理,传送给虚拟摄像头。本发明还提供了摄像头视频图像处理的方法。根据本发明的系统及其方法可以增强系统的稳定性和灵活性。
Description
技术领域
本发明涉及一种图像特效处理系统,特别是对摄像头的视频图像进行特效处理的系统及其方法。
背景技术
计算机系统的应用已经越来越广泛,功能越来越全面。通用USB接口使得计算机(PC)可以外接多种硬件,进一步扩展PC的功能,满足用户的多种需求。其中,摄像头作为人们常用的外接硬件之一,在多种应用程序,如QQ,MSN中得到直接的应用。摄像头所摄取的图像往往需要进行进一步处理,扩展其功能。
图1是一种现有技术的对摄像头的视频图像进行特效处理的系统和方法。如图1所示在图1中,系统分为硬件、内核层、应用层。摄像头作为外接硬件,通过通用USB接口与系统相连,系统通过内核层中的USB驱动、摄像头驱动来读取摄取的图像。然后,由内核层中的过滤层驱动(filter driver)对视频图像进行特效处理。通过该过滤层驱动,可以对视频图像进行各种特效处理,如加入相框,调整背景色,视频跟踪等。最后,经过特效处理后的视频图像经DirectShow组件传送给应用层的各种视频应用程序,如视频捕捉程序、视频聊天软件等。
但是,在内核层进行摄像头的视频图像特效处理对于系统的稳定有潜在的风险。并且,由于过滤层驱动设置在唯一的数据路径之中,因此只要用户选中了使用摄像头,不管他是否期望拥有特效,是否选择进行特效处理,过滤层驱动都会一直在内存中加载,占用系统资源。因此,以过滤层驱动的方式进行特效处理,风险很大而灵活度很低,具有明显的不足。
发明内容
本发明的目的在于克服现有技术中视频特效处理系统稳定性差、灵活度低的缺陷,利用微软新开发的DSF(device simulationframework)技术,提供一种全新的摄像头视频图像特效处理的系统及其方法。
根据本发明的第一方面,提供了一种摄像头视频图像处理系统,包括:
真实摄像头系统,包括真实摄像头、第一驱动程序模块和第一DirectShow组件;
虚拟摄像头系统,包括利用DSF构架模拟出的虚拟摄像头、第二驱动程序模块和第二DirectShow组件;
视频处理模块,从第一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头。
优选地,所述视频处理模块位于系统的应用层。
优选地,所述视频处理模块由DSF构架下的动态链接库实现。
在一个优选实施方案中,所述视频处理模块包括取数单元和特效处理单元,取数单元从第一DirectShow组件读取图像数据,特效处理单元对该图像数据进行特效处理,传送给虚拟摄像头。
优选地,第一驱动程序模块、第一DirectShow组件、第二驱动程序模块和第二DirectShow组件为windows系统标准组件。
根据本发明的第二方面,提供了一种摄像头视频图像处理的方法,包括:
从真实摄像头读取数据,经由第一驱动程序模块和第一DirectShow组件处理;从第一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头,所述虚拟摄像头是采用DSF构架模拟;从虚拟摄像头读取数据,经由第二驱动程序模块和第二DirectShow组件处理。
优选地,所述方法的最后一个步骤在系统的应用层中进行。
根据本发明的第三方面,提供一种虚拟摄像头系统,包括:
利用DSF构架模拟出的虚拟摄像头,驱动程序模块和DirectShow组件;以及
视频处理模块,从另一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头,所述另一DirectShow组件在真实摄像头系统中。
根据本发明,为摄像头视频图像特效处理提供了一种全新的系统和方法。视频特效的处理独立于真实摄像头系统的数据路径,使得系统更为稳定。用户可以在使用真实摄像头和虚拟摄像头之间进行选择,来决定是否需要拥有视频图像特效,由此为系统提供了很大的灵活性。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,其中:
图1是现有技术的视频特效处理系统;
图2是本发明系统结构的示意图;
图3是驱动程序模块的结构图;以及
图4是视频处理模块的结构图。
具体实施方式
本发明利用设备模拟开发构架DSF(Device SimulationFramework)技术提供一种全新的视频特效处理系统。DSF是微软新推出的设备模拟开发构架,它提供了一个用软件在Windows系统里模拟硬件设备的体系。现有技术中利用DSF已经可以实现多种硬件设备的软件模拟,如虚拟USB键盘、虚拟USB摄像头等。
图2为本发明视频特效处理系统结构的示意图。如图2所示,整个系统在纵向上用虚线分为硬件层、内核层和应用层,应用层又分为用户层面和应用程序层面。在横向上,系统被分为真实摄像头系统、虚拟摄像头系统和它们之间的DSF动态链接库(dynamic linklibrary,dII)系统。系统中各模块/组件/程序之间用箭头相连,表示图像数据的数据路径及其方向。
首先,描述真实摄像头系统。
摄像头是计算机系统的外接硬件,位于系统中的硬件层,为整个视频特效处理系统提供原始的图像数据。摄像头可以通过USB或其他通用接口接入系统。
第一驱动程序模块位于系统的内核层,用于从摄像头读取数据,进行格式处理。图3示出驱动程序模块的结构。如图3所示,驱动程序模块包括接口驱动300和摄像头系统文件302。其中,接口驱动300用于控制接口的数据读取和交换。经由该接口的数据被接口驱动300读取之后,由摄像头系统文件302进行识别、格式处理。在一个实施方案中,摄像头是通过通用USB接口接入系统的,相应地,所述接口驱动300是USB驱动。摄像头系统文件主要包括Windows系统自带的USB Video Class设备类通用驱动程序usbvideo.sys或申请人自己研发的Camera驱动程序VMcam.sys等常规摄像头驱动程序文件。通用接口驱动和摄像头系统文件已经预先安装在windows系统中。
回到图2,视频数据经由驱动程序模块读取处理之后,通过DirectShow组件与应用程序实现交互。
DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,为多媒体流的捕捉和回放提供支持。为了系统的稳定性,Windows操作系统对硬件操作进行了隔离,应用程序一般不能直接访问硬件,而DirectShow组件的设计正是为应用程序提供了一套统一的应用程序接口,来实现与内核层的交互。运用DirectShow,就可以很方便地从WDM驱动的硬件上捕获数据,进行相应处理乃至存储到文件中。
DirectShow组件工作于应用层的用户模式下,为硬件设计了包装过滤器(filter),来实现与硬件驱动程序的交互。具体来说,对于采用WDM驱动程序的硬件,包括摄像头,DirectShow设计了KsProxyFilter(Ksproxy.ax),使用该过滤器(filter)控制硬件的驱动程序。针对摄像头的视频捕捉来说,DirectShow组件通过图形过滤管理器(Filter Graph Manager)来与上层应用程序和下层的驱动进行联系,而上层的各种通用视频捕捉预览程序,如MSN,QQ等,都是基于DirectShow开发的,因此都默认直接与DirectShow组件交换数据。
由DirectShow组件获得的视频数据可以直接送入视频应用程序中,供用户直接控制使用。如此,视频应用程序获得了不经过特效处理的摄像头视频数据。
为了实现视频图像的特效处理,本发明用D11技术设计了视频处理模块。该视频处理模块从真实摄像头系统的DirectShow组件读取视频数据,进行特效处理。图4示出视频处理模块的结构。如图4所示,视频处理模块包括取数单元400和特效处理单元402。取数单元400用于读取DirectShow组件得到的视频数据,将其传送给特效处理单元402。特效处理单元402可以是一些特效处理程序组,对图像进行各种特效处理。特效处理的内容可以有很多,比较简单的例如给图像加上相框,将图像旋转一定角度,对图像进行灰度处理,改变背景颜色等等。根据需要,也可以将现有技术中较为复杂的图像分析处理方法引入特效处理单元,例如可以采用人脸检测跟踪算法检测图像中的人脸,并训练提取面部特征,对面部特征进行定位跟踪,对局部的面部特征进行处理等。特效处理单元402所包括的特效处理程序的功能可以根据用户需要的图像特效内容来设定。
回到图2,视频处理模块处理之后的图像数据被传送至虚拟摄像头系统。
接下来,将描述虚拟摄像头系统。
在虚拟摄像头系统中,虚拟摄像头模块是在DSF构架下通过一个软件模块对摄像头的模拟而实现的,位于系统中的内核层。视频处理模块和虚拟摄像头模块均在DSF运行支持(DSF RunTime)的平台下运行。DSF运行支持也是通过d11实现。
DSF虚拟摄像头模块拥有与实际的视频输入设备完全一样的接口和功能,因此操作系统中的标准组件和用户应用程序都可以像从实际摄像头读取数据一样与该虚拟摄像头交互。这样,驱动程序模块就会将该虚拟摄像头认为是真实的摄像头,从而自动从虚拟摄像头读取数据。由于该虚拟摄像头实际上并不存在,因此可以人为认定在硬件层有一个摄像头模拟器提供了该摄像头,以与真实摄像头系统结构相对应。
经过虚拟摄像头模块处理的视频数据送往第二驱动程序模块。
第二驱动程序模块开始,图像数据的数据路径与不进行特效处理的真实摄像头系统中的数据路径一致。也就是说,内核层的第二驱动程序模块从虚拟摄像头模块读取数据,进行格式处理;用户模式下的第二DirectShow组件从第二驱动程序模块读取数据,并完成与具体应用程序的交互。
由于虚拟摄像头提供的已经是经过特效处理的视频图像数据,该图像数据经过第二驱动程序模块、第二DirectShow组件的常规处理之后直接传送给应用程序,因此,应用程序得到的就是具有特效的视频图像。这样,用户在QQ,MSN等各种应用程序的视频窗口中都可以直接得到具有特效的视频图像。
虚拟摄像头系统中的第二驱动程序模块和第二DirectShow组件与真实摄像头系统中是一样的,但是在DSF构架下,两个系统各自独立地读取和处理数据,互不影响。
在整个特效视频处理系统中,数据在从真实摄像头系统中的第一DirectShow组件送出之后分为两条数据路径,第一路径直接指向应用程序,第二路径经由视频处理模块传送至虚拟摄像头系统。用户可以在两条路径之间进行选择。当选择使用真实摄像头时,则数据沿第一路径传送,用户不拥有视频特效;当选择使用虚拟摄像头时,数据沿第二路径传送,用户使用的各种应用程序中的视频图像都具有特效。
以上对本发明的具体描述旨在说明具体实施方案的实现方式,不能理解为是对本发明的限制。本领域普通技术人员在本发明的教导下,可以在详述的实施方案的基础上做出各种变体,这些变体均应包含在本发明的构思之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。
Claims (8)
1.一种摄像头视频图像处理的系统,包括:
真实摄像头系统,包括真实摄像头、第一驱动程序模块和第一DirectShow组件;
虚拟摄像头系统,包括利用DSF构架模拟出的虚拟摄像头、第二驱动程序模块和第二DirectShow组件;
视频处理模块,从第一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头。
2.权利要求1的系统,其中所述视频处理模块位于系统应用层。
3.权利要求1的系统,其中所述视频处理模块由DSF构架下的动态链接库实现。
4.权利要求1的系统,其中所述视频处理模块包括取数单元和特效处理单元,取数单元从第一DirectShow组件读取图像数据,特效处理单元对该图像数据进行特效处理,传送给虚拟摄像头。
5.权利要求1的系统,其中第一驱动程序模块、第一DirectShow组件、第二驱动程序模块和第二DirectShow组件为windows系统标准组件。
6.一种摄像头视频图像处理的方法,包括:
从真实摄像头读取数据,经由第一驱动程序模块和第一DirectShow组件处理;从第一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头,所述虚拟摄像头是采用DSF构架模拟;从虚拟摄像头读取数据,经由第二驱动程序模块和第二DirectShow组件处理。
7.权利要求6的方法,其中从第一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头的步骤在系统的应用层进行。
8.一种虚拟摄像头系统,包括:
利用DSF构架模拟出的虚拟摄像头,驱动程序模块和DirectShow组件;以及
视频处理模块,从另一DirectShow组件读取数据,对数据进行特效处理,传送给虚拟摄像头,所述另一DirectShow组件在真实摄像头系统中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101792648A CN100525392C (zh) | 2007-12-12 | 2007-12-12 | 摄像头视频图像处理的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101792648A CN100525392C (zh) | 2007-12-12 | 2007-12-12 | 摄像头视频图像处理的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101179660A CN101179660A (zh) | 2008-05-14 |
CN100525392C true CN100525392C (zh) | 2009-08-05 |
Family
ID=39405734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101792648A Expired - Fee Related CN100525392C (zh) | 2007-12-12 | 2007-12-12 | 摄像头视频图像处理的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100525392C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329758B (zh) * | 2008-07-30 | 2011-12-28 | 优视科技有限公司 | 一种多媒体数据跨进程处理系统 |
CN102902638B (zh) * | 2011-07-26 | 2015-04-22 | 北大方正集团有限公司 | 硬件设备控制方法及装置 |
CN102611878A (zh) * | 2012-01-13 | 2012-07-25 | 福建升腾资讯有限公司 | 低带宽占用的高清摄像头映射方法 |
CN103049894A (zh) * | 2012-09-14 | 2013-04-17 | 深圳市万兴软件有限公司 | 一种图像处理的方法及其装置 |
CN102968877A (zh) * | 2012-11-15 | 2013-03-13 | 镇江石鼓文智能化系统开发有限公司 | 一种基于视频图像分析的火焰检测装置 |
CN103258183A (zh) * | 2012-11-15 | 2013-08-21 | 镇江石鼓文智能化系统开发有限公司 | 基于视频图像分析火焰的视频图像预处理模块 |
CN103824410A (zh) * | 2012-11-19 | 2014-05-28 | 镇江石鼓文智能化系统开发有限公司 | 基于视频图像分析火焰的检测系统 |
CN103824409A (zh) * | 2012-11-19 | 2014-05-28 | 镇江石鼓文智能化系统开发有限公司 | 一种基于视频图像分析火焰的检测系统 |
CN104199723B (zh) * | 2014-09-09 | 2017-04-12 | 福建升腾资讯有限公司 | 基于虚拟设备的摄像头映射方法 |
CN106657757B (zh) * | 2015-11-04 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种相机应用的图像预览方法、装置及相机应用系统 |
CN106101548A (zh) * | 2016-07-08 | 2016-11-09 | 北京国电通网络技术有限公司 | 一种云终端处理摄像头视频数据的方法和装置 |
CN108845861B (zh) * | 2018-05-17 | 2021-04-23 | 北京奇虎科技有限公司 | 虚拟摄像头的实现方法及装置 |
CN111565332A (zh) * | 2020-04-27 | 2020-08-21 | 北京字节跳动网络技术有限公司 | 视频传输方法、电子设备和计算机可读介质 |
-
2007
- 2007-12-12 CN CNB2007101792648A patent/CN100525392C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101179660A (zh) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100525392C (zh) | 摄像头视频图像处理的系统及其方法 | |
Catlett et al. | Array of things: a scientific research instrument in the public way: platform design and early lessons learned | |
US20180356878A1 (en) | Apparatus and method for recording and replaying interactive content in augmented/virtual reality in industrial automation systems and other systems | |
KR101507629B1 (ko) | 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 | |
CN105074671B (zh) | 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统 | |
CN102591650B (zh) | 伴随窗口体验 | |
CN102508644A (zh) | 一种3d用户界面图形引擎架构 | |
CN102404402A (zh) | 一种可管控的智能移动平板终端实现方法及系统 | |
CN108418889A (zh) | 一种基于云计算的分布式实训云系统及方法 | |
Werner et al. | Software-in-the-loop simulation of embedded control applications based on virtual platforms | |
Beilharz et al. | Continuously testing distributed iot systems: An overview of the state of the art | |
Giouroukis et al. | Resense: Transparent record and replay of sensor data in the Internet of Things | |
CN102054051B (zh) | 记录显示屏幕的内容 | |
CN118210242A (zh) | 半实物OpenCL模型仿真方法、装置及计算设备 | |
Wang et al. | Elysium: Exploring object-level perception in videos via mllm | |
CN105302534A (zh) | 一种图像特效处理系统 | |
Choi et al. | Emulating your extended world: An emulation environment for xr app development | |
Horvath et al. | Overview of modern teaching equipment that supports distant learning | |
CN104125497A (zh) | 一种网页录像方法及装置 | |
Tanoto et al. | Teleworkbench: A teleoperated platform for experiments in multi-robotics | |
Maciel et al. | Collaborative interaction through spatially aware moving displays | |
Vernik et al. | e-Ghosts: leaving virtual footprints in ubiquitous workspaces | |
Luo et al. | CamTest: A laboratory testbed for camera-based mobile sensing applications | |
CN107862034A (zh) | 一种文件快速保存方法、装置、设备及存储介质 | |
Hestman | The potential of utilizing bim models with the webgl technology for building virtual environments-a web-based prototype within the virtual hospital field |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090805 Termination date: 20111212 |