CN101344869A - Mac OS X操作系统上的USB摄像头驱动解决方案 - Google Patents
Mac OS X操作系统上的USB摄像头驱动解决方案 Download PDFInfo
- Publication number
- CN101344869A CN101344869A CNA2008101188027A CN200810118802A CN101344869A CN 101344869 A CN101344869 A CN 101344869A CN A2008101188027 A CNA2008101188027 A CN A2008101188027A CN 200810118802 A CN200810118802 A CN 200810118802A CN 101344869 A CN101344869 A CN 101344869A
- Authority
- CN
- China
- Prior art keywords
- usb camera
- video
- usb
- kernel extensions
- assembly
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 8
- 238000005111 flow chemistry technique Methods 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
Images
Landscapes
- Studio Devices (AREA)
Abstract
本发明披露一种USB摄像头系统和方法。该系统包括摄像头驱动程序。所述摄像头驱动程序分为两个部分,一部分是组件,负责视频流处理;另一部分是内核扩展模块,负责USB摄像头设备的控制和视频流数据获取;其中,第一应用程序可经组件从内核扩展模块获取视频流。本发明解决视频程序装载较慢、系统开销较大等问题以及大大提高了扩展性。
Description
技术领域
本发明涉及一种USB摄像头驱动方案,具体地说涉及Mac OS X操作系统上的USB摄像头驱动方案。
背景技术
在Mac OS X操作系统上,现有USB摄像头驱动程序多采用单组件的解决方案。这种方案带来的问题是应用程序启动速度慢、系统开销大、扩展性低。图1是一种现有技术的USB摄像头系统的结构图。在图1中,Mac OS X上单组件的USB摄像头驱动程序只是在用户需要启动视频应用程序的时候被加载,并且在退出视频程序的时候被卸载。那么,在启动的时候就不得不花较长的时间反复调用。再又如,这种单组件的方案无法提供接口和方法,令其它的应用程序可同时访问USB摄像头。
发明内容
本发明的目的是解决视频程序装载较慢、系统开销较大等问题以及提高扩展性。
为此,在第一方面,本发明提供一种USB摄像头系统,它包括摄像头驱动程序,所述摄像头驱动程序分为两个部分,一部分是组件,负责视频流处理;另一部分是内核扩展模块,负责USB摄像头设备的控制和视频流数据获取;其中,应用程序可经组件从内核扩展模块获取视频流。
在第二方面,本发明提供一种USB摄像头的驱动方法。所述USB摄像头的驱动分为两部分,一部分是负责视频流处理的组件,另一部分是负责USB摄像头控制和视频流数据获取的内核扩展模块。所述方法包括:所述内核扩展模块从USB摄像头处获取视频数据流;所述组件从内核扩展模块处获得视频数据流并进行视频处理;其中第一应用程序从所述组件处获得经过处理的视频数据流以便应用;第二应用程序通过所述内核扩展模块提供的接口直接控制USB摄像头。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,附图中:
图1是一种现有技术的USB摄像头系统的结构图;
图2是一种本发明的USB摄像头系统的结构图。
具体实施方式
图2是一种本发明的USB摄像头系统的结构图。如图2所示,本发明的USB摄像头系统将驱动程序分为两个部分,一部分是视频流组件,负责视频流处理;另一部分是内核扩展模块,负责USB摄像头设备的初始化和设备数据处理,包括设备的控制和视频流数据的获取。这样做的好处是使组件的功能单一便于维护。另外,内核扩展模块可以在摄像头设备插入的同时完成摄像头设备的初始化,同时做一些视频流以外的处理,比如读写寄存器。
组件的作用是访问内核扩展模块获取视频流数据,并把获取到的数据在系统规定的函数例程里面填到目标缓冲区里面。
组件包括由系统预先定义的一组函数。其中,可以有定义用于开视频流的一些标准操作的函数,包括但不限于下列函数:
StdComponentCall(Version);
StdComponentCall(CanDo);
StdComponentCall(Close);
StdComponentCall(Open)。
组件还包括一些进行视频流处理的函数,包括但不限于下列函数:
ComponentCall(SetBrightness);
ComponentCall(GetBrightness);
ComponentCall(SetContrast);
ComponentCall(SetHue);
ComponentCall(SetSharpness);
ComponentCall(SetSaturation);
ComponentCall(GetContrast);
ComponentCall(GetHue);
ComponentCall(GetSharpness);
ComponentCall(GetSaturation)。
组件还包括函数ComponentCall(CompressDone),用于填充缓冲区。
每一个用户定义的视频组件都可以有自己的标识,如下:
′vdig′,//类型
′soft′,//子类型
′appl′,//制造商
其中类型标识是固定的,系统根据子类型和制造商标识来区分每一个视频组件。
内核扩展模块则负责摄像头的控制和读取视频流数据,并且提供接口给上层应用程序来访问。上层应用程序可以是非视频的应用程序。内核扩展模块可以是在摄像头连接mac os x操作系统的时候被系统自动加载。
内核扩展模块包含内核扩展模块名字和I/O操作两部分。内核扩展模块名字用来唯一标识内核扩展模块,上层应用程序根据内核扩展模块名字来访问内核扩展模块;I/O操作用于调用系统IO来访问摄像头,包括摄像头控制和图像数据获取等。内核扩展模块还可以包含用户函数模块,提供用户函数给上层应用程序调用。
在加电时,内核扩展模块被加载到系统的内核层,而组件则随着应用程序的需要而加载。
在工作时,一个视频应用程序访问摄像头设备的组件,在组件里面完成对内核扩展模块的访问,从而获得图像数据,进而显示视频流。在一个例子中,视频应用程序直接访问的是操作系统上的SequenceGrabber Component(序列获取组件),通过Sequence Grabber Component才访问到摄像头设备的驱动程序组件。这里所述的视频应用程序比如是MSN,skype等。
应用程序也可以直接访问内核扩展模块,实现对摄像头的控制。该应用程序既可以是视频应用程序,也可以是非视频应用程序,它可以按照用户需求自行开发,因为内核扩展模块里面提供的接口函数也是可以自行定制的。
在mac os x操作系统里面,应用程序和组件都属于应用层。程序人员可以在应用程序里面,直接访问内核扩展模块,以此来达到控制摄像头的目的。
在现有技术中,用户程序不能通过组件来访问到实际的摄像头,而组件所提供的摄像头控制又有限。正常情况下,组件只能提供接口给用户程序来进行图像数据和图像质量参数方面的控制,比如控制摄像头的对比度,亮度,色调(hue),伽马(gamma),锐利度(sharpness)和饱和度等等。对于非图像数据和图像质量参数控制的特殊摄像头控制,比如读写寄存器,只能通过其他途径实现。也可以重新定义和扩充其它的控制参数。
本发明的实现方式是,把特殊的摄像头控制实现放到内核扩展模块里面,用户通过访问内核扩展模块来调用这些特殊的摄像头控制的实现函数。
需要指出,本发明不仅适用于严格意义上的USB摄像头,还适用于比如带有USB功能的照相机等电子设备。
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。
Claims (9)
1.一种USB摄像头系统,包括摄像头驱动程序,其特征在于所述摄像头驱动程序分为两个部分,一部分是组件,负责视频流处理;另一部分是内核扩展模块,负责USB摄像头设备的控制和视频流数据获取;其中,第一应用程序可经组件从内核扩展模块获取视频流。
2.如权利要求1所述的USB摄像头系统,其特征在于内核扩展模块包括用户函数模块,提供用户函数给第二应用程序直接调用。
3.如权利要求2所述的USB摄像头系统,其特征在于第二应用程序利用用户函数模块控制摄像头。
4.如权利要求2所述的USB摄像头系统,其特征在于第二应用程序是非视频应用程序。
5.如权利要求1所述的USB摄像头系统,其特征在于内核扩展模块在加电时被加载到系统的内核层。
6.如权利要求1所述的USB摄像头系统,其特征在于组件根据应用程序的需要而加载。
7.一种USB摄像头的驱动方法,所述USB摄像头的驱动分为两部分,一部分是负责视频流处理的组件,另一部分是负责USB摄像头控制和视频流数据获取的内核扩展模块,其特征在于,其包括:
所述内核扩展模块从USB摄像头处获取视频数据流;
所述组件从内核扩展模块处获得视频数据流并进行视频处理;其中
第一应用程序从所述组件处获得经过处理的视频数据流以便应用;
第二应用程序通过所述内核扩展模块提供的接口直接控制USB摄像头。
8、如权利要求7所述的USB摄像头驱动方法,其特征在于:包括在内核扩展模块在加电时被加载到系统的内核层的步骤。
9、如权利要求7所述的USB摄像头驱动方法,其特征在于:USB摄像头在插入后由内核扩展模块完成对其初始化的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101188027A CN101344869A (zh) | 2008-08-22 | 2008-08-22 | Mac OS X操作系统上的USB摄像头驱动解决方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101188027A CN101344869A (zh) | 2008-08-22 | 2008-08-22 | Mac OS X操作系统上的USB摄像头驱动解决方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101344869A true CN101344869A (zh) | 2009-01-14 |
Family
ID=40246875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101188027A Pending CN101344869A (zh) | 2008-08-22 | 2008-08-22 | Mac OS X操作系统上的USB摄像头驱动解决方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101344869A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082904A (zh) * | 2010-12-29 | 2011-06-01 | 上海华勤通讯技术有限公司 | 手机摄像头驱动方法 |
CN102436359A (zh) * | 2010-09-22 | 2012-05-02 | 精工爱普生株式会社 | 打印数据的价值附加方法、价值附加装置和记录介质 |
US9030704B2 (en) | 2010-09-06 | 2015-05-12 | Seiko Epson Corporation | Function expansion method using print data for a point-of-sale terminal |
CN106020777B (zh) * | 2016-04-29 | 2018-08-07 | 杭州华橙网络科技有限公司 | 一种数据处理方法、装置及系统 |
-
2008
- 2008-08-22 CN CNA2008101188027A patent/CN101344869A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9030704B2 (en) | 2010-09-06 | 2015-05-12 | Seiko Epson Corporation | Function expansion method using print data for a point-of-sale terminal |
US10248944B2 (en) | 2010-09-06 | 2019-04-02 | Seiko Epson Corporation | Function expansion method in a point-of-sale system using print data |
CN102436359A (zh) * | 2010-09-22 | 2012-05-02 | 精工爱普生株式会社 | 打印数据的价值附加方法、价值附加装置和记录介质 |
US9030706B2 (en) | 2010-09-22 | 2015-05-12 | Seiko Epson Corporation | Method of adding value to print data, a value-adding device, and a recording medium |
US9262106B2 (en) | 2010-09-22 | 2016-02-16 | Seiko Epson Corporation | Method of adding value to print data, a value-adding device, and a recording medium |
CN102082904A (zh) * | 2010-12-29 | 2011-06-01 | 上海华勤通讯技术有限公司 | 手机摄像头驱动方法 |
CN102082904B (zh) * | 2010-12-29 | 2012-09-19 | 上海华勤通讯技术有限公司 | 手机摄像头驱动方法 |
CN106020777B (zh) * | 2016-04-29 | 2018-08-07 | 杭州华橙网络科技有限公司 | 一种数据处理方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372208B2 (en) | Power efficient image sensing apparatus, method of operating the same and eye/gaze tracking system | |
WO2017142182A1 (ko) | 이미지 처리 방법 및 이를 지원하는 전자 장치 | |
US8466974B2 (en) | Apparatus and methods for controlling image sensors | |
US10602076B2 (en) | Method for combining and providing image, obtained through a camera, electronic device, and storage medium | |
KR102327779B1 (ko) | 이미지 처리 방법 및 장치 | |
US12020472B2 (en) | Image processing method and image processing apparatus | |
WO2021190344A1 (zh) | 多屏幕显示电子设备和电子设备的多屏幕显示方法 | |
KR102469426B1 (ko) | 이미지 처리 장치 및 이의 동작 방법 | |
CN106161991A (zh) | 一种摄像头视频处理方法及终端 | |
CN101344869A (zh) | Mac OS X操作系统上的USB摄像头驱动解决方案 | |
CN103577070A (zh) | 一种不解锁快速照相的方法和装置 | |
JP2010016826A (ja) | 画像処理オペレーションを効率的に実行するためのシステム及び方法 | |
CN103425234A (zh) | 动态调节图像处理性能的方法及显示终端 | |
Yinli et al. | The implementation of embedded image acquisition based on V4L2 | |
KR102033838B1 (ko) | 전압 출력 제어 시스템 및 전압 출력 시스템 | |
EP1056242A3 (en) | Information processing apparatus and method, and recording medium | |
CN116708751B (zh) | 一种拍照时长的确定方法、装置和电子设备 | |
WO2022095906A1 (zh) | 一种按键映射方法、电子设备及系统 | |
WO2018182282A1 (ko) | 전자 장치 및 그의 이미지 처리 방법 | |
CN106462180A (zh) | 屏幕取向调节 | |
CN115691370A (zh) | 显示控制方法及相关装置 | |
CN105843504A (zh) | 一种窗口调整方法及电子设备 | |
CN108471502A (zh) | 一种相机的拍摄方法、装置和相机 | |
CN109032323A (zh) | 界面显示方法及电子设备 | |
WO2023038307A1 (en) | Image generation using non-linear scaling and tone-mapping based on cubic spline curves |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090114 |