获取视频数据的方法、系统及视频驱动装置的制作方法

文档序号:2652171阅读:177来源:国知局
专利名称:获取视频数据的方法、系统及视频驱动装置的制作方法
技术领域
本发明涉及图像处理技术,尤其涉及一种获取视频数据的方法、系统及视频驱动装置。
背景技术
随着网络技术的不断发展,越来越多的用户利用视频设备来获取视频数据,进行视频聊天或视频会议等。目前,大多数用户都采用个人摄像设备(PCCamera)来获取视频数据。实际上,PC Camera采集到的视频数据中只有图像传感器(Sensor)捕获到的图像信息,而不包含其它信息,如当前的日期和时间信息,或用户希望加入的广告信息等。实际上,在普通用户利用视频设备进行视频聊天时,若能及时得知当前的时间信息,能够提高用户体验;而在公司用户利用视频设备进行视频会议时,若能体现公司标志等广告信息,也能够极大地使用户感受较好。
目前利用视频设备进行视频通信中,由于无法同时获得其它用户希望获得的信息,使得用户获取的视频数据信息的内容不够丰富,用户体验较差。为了解决这个问题,目前较通用的做法为首先,PC Camera将捕获到的原始视频数据发送给应用程序,该应用程序可以是即时通信(IM)应用程序,如QQ、MSN等。然后,应用程序将事先保存的信息加入到获得的原始视频数据中的角落,该事先保存的信息可以是日期、时间或广告信息。最后,应用程序将加入信息后的视频数据向用户显示,让用户在获得视频数据的过程中同时获得其它信息。
但是,上面描述的在视频数据中加入信息的方法中,加入信息的过程是由应用程序实现的,而实际上当前应用程序的总类非常繁多,要在每一应程序中都添加加入信息的流程是非常复杂的,实现起来成本较高,而且比较困难。

发明内容
本发明提供一种获取视频数据的方法、系统及视频驱动装置,以解决现有技术中存在的在每一应用程序中都添加设定的视频数据较复杂,实现困难,且成本较高的问题。
本发明提供一种获取视频数据的方法,该方法包括A、应用程序将用于获取视频数据的触发信号发送给视频驱动模块;B、所述视频驱动模块从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序。
步骤A之后,且步骤B之前包括A1、所述视频驱动模块判断所述视频设备是否处于空闲状态,若是,则执行步骤B;否则,返回步骤A1。
所述将设定的视频数据叠加到该当前帧视频数据中包括确定所述当前帧视频数据中不允许叠加视频数据的固定区域,将所述设定的视频数据叠加到该固定区域之外的区域。
若所述固定区域为人脸区域,则利用人脸检测算法确定当前帧视频数据中的人脸区域。
所述将所述设定的视频数据叠加到该固定区域之外的区域包括将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
所述设定的视频数据保存在所述视频驱动模块本地,或,保存在能够与该视频驱动模块通信的实体中。
所述应用程序和所述视频驱动模块运行在Windows操作系统中。
本发明还提供一种获取视频数据的系统,该系统包括应用程序和视频驱动模块,其中,所述应用程序,用于将用于获取视频数据的触发信号发送给所述视频驱动模块,并接收该视频驱动模块返回的当前帧视频数据;所述视频驱动模块,用于从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序。
所述应用程序运行在Windows操作系统中,该应用程序包括发送单元,用于将所述触发信号发送给所述视频驱动模块;接收单元,用于接收所述视频驱动模块返回的当前帧视频数据。
所述视频驱动模块运行在Windows操作系统中,该视频驱动模块包括获得单元,用于从所述视频设备处获得所述当前帧视频数据;叠加单元,用于将所述设定的视频数据叠加到所述当前帧视频数据中;返回单元,用于将叠加后的当前帧视频数据返回给所述应用程序。
所述获得单元包括判断单元和操作单元,其中,所述判断单元,用于判断所述视频设备是否处于空闲状态,并将判断结果发送给所述操作单元;所述操作单元,用于接收所述判断结果,若该判断结果为处于空闲状态,则从所述视频设备处获得所述当前帧视频数据;否则,触发所述判断单元。
所述叠加单元包括确定单元,用于确定所述当前帧视频数据中不允许叠加视频数据的固定区域;执行单元,用于将所述设定的视频数据叠加到所述固定区域之外的区域。
所述执行单元包括
保存单元,用于保存所述设定的视频数据;实现单元,用于将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
本发明还提供一种视频驱动装置,该装置包括获得单元,用于从视频设备处获得当前帧视频数据;叠加单元,用于将设定的视频数据叠加到所述当前帧视频数据中;返回单元,用于将叠加后的当前帧视频数据返回。
所述装置运行在Windows操作系统中,所述获得单元包括判断单元和操作单元,其中,所述判断单元,用于判断所述视频设备是否处于空闲状态,并将判断结果发送给所述操作单元;所述操作单元,用于接收所述判断结果,若该判断结果为处于空闲状态,则从视频设备处获得所述当前帧视频数据;否则,触发所述判断单元。
所述叠加单元包括确定单元,用于确定所述当前帧视频数据中不允许叠加视频数据的固定区域;执行单元,用于将所述设定的视频数据叠加到所述固定区域之外的区域。
所述执行单元包括保存单元,用于保存所述设定的视频数据;实现单元,用于将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
本发明通过由视频驱动模块获得当前帧视频数据后,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序的方法,能够简单地实现在当前帧视频数据中叠加设定的视频数据的过程,且叠加后的当前帧视频数据可以发送给任意访问该视频驱动模块的应用程序,实现成本较低。


图1为本发明实施例中系统结构示意图;图2为本发明实施例中方法步骤流程示意图;图3为本发明实施例中人脸区域与设定的视频数据的位置关系示意图;图4为本发明实施例中视频驱动装置结构示意图。
具体实施例方式
本发明主要包括首先,由应用程序将用于获取视频数据的触发信号发送给视频驱动模块;然后,视频驱动模块从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中;最后,视频驱动模块将叠加后的当前帧视频数据返回给应用程序。在本发明中,所述应用程序可以包括即时通信应用程序,如QQ和MSN。
下面结合说明书附图详细说明本发明。
如图1所示,为本发明实施例系统结构示意图,该系统运行在操作系统中,在本实施例中设定运行在Windows操作系统中,该系统包括应用程序11和视频驱动模块12,其中,应用程序11用于将用于获取视频数据的触发信号发送给所述视频驱动模块12,并接收该视频驱动模块12返回的当前帧视频数据;视频驱动模块12用于从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序11。
所述应用程序11运行在Windows操作系统中,包括发送单元21和接收单元22,其中,发送单元21用于将所述触发信号发送给所述视频驱动模块;接收单元22用于接收所述视频驱动模块返回的当前帧视频数据。
所述视频驱动模块12也运行在Windows操作系统中,包括获得单元23、叠加单元24和返回单元25,其中,获得单元23用于从所述视频设备处获得所述当前帧视频数据;叠加单元24用于将所述设定视频数据叠加到所述当前帧视频数据中;返回单元25用于将叠加后的当前帧视频数据返回给所述应用程序11。
所述获得单元23包括判断单元31和操作单元32,其中,判断单元31用于判断所述视频设备是否处于空闲状态,并将判断结果发送给所述操作单元32;操作单元32用于接收所述判断结果,若该判断结果为处于空闲状态,则从所述视频设备处获得所述当前帧视频数据;否则,触发所述判断单元31。在本实施例中,触发所述判断单元31的方法可以是向判断单元31发送信号,指示判断单元31重复运行。
所述叠加单元24包括确定单元33和执行单元34,其中,确定单元33用于确定所述当前帧视频数据中不允许叠加视频数据的固定区域;执行单元34用于将所述设定的视频数据叠加到所述固定区域之外的区域。
所述执行单元34包括保存单元35和实现单元36,其中,保存单元35用于保存所述设定的视频数据;实现单元36用于将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
如图2所示,本发明实施例方法步骤流程示意图,该方法包括步骤201应用程序将用于获取视频数据的触发信号发送给视频驱动模块。
应用程序与视频驱动模块都运行在操作系统中,在本实施例中,设定后续所涉及的应用程序与视频驱动模块都运行在Windows应用程序中。设定应用程序为MSN,当用户希望利用MSN来进行视频通信时,则利用该MSN应用程序,则向视频驱动模块发送触发信号,要求获得视频数据。该视频驱动模块与视频设备对应,是应用程序利用视频设备获得视频数据的中间桥梁。当视频驱动模块被触发后,可以向用户提供选择界面,若用户希望获得的是叠加了设定得视频数据后的当前帧视频数据,则利用该选择界面与视频驱动模块之间的接口向视频驱动模块发送叠加标识,指示视频驱动模块将设定的视频数据叠加到当前帧视频数据中;若用户希望获得的是未叠加的当前帧视频数据,则利用该选择界面与视频驱动模块之间的接口向视频驱动模块发送不叠加标识,指示视频驱动模块不将设定的视频数据叠加到当前帧视频数据中。
步骤202视频驱动模块从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给应用程序。
当视频驱动模块接收到MSN发送的触发信号后,将判断视频设备是否处于空闲状态,若是,则将从视频设备处获得当前帧视频数据,该当前帧视频数据可以由视频设备中的sensor捕获的;否则,说明该视频设备正在为其它的应用程序提供视频数据,则不能从视频设备处获得当前帧视频数据,而是循环判断视频设备的状态是否处于空闲。
在用户实际的利用视频设备进行视频通信的过程中,当前帧视频数据中包含的大量数据都是人脸数据,若不考虑设定的视频数据叠加到当前帧视频数据后的位置,很可能叠加后设定的视频数据刚好覆盖人脸区域,造成用户希望主要查看的区域数据不完整,用户感受较差。因此,当视频驱动模块获得当前帧视频数据之后,要确定所述当前帧视频数据中的固定区域,该固定区域为不允许叠加视频数据的区域,如人脸区域,将设定的视频数据叠加到固定区域之外的区域。例如,如图3所示,最外层框线包含的是当前帧视频数据区域,根据人脸检测算法确定出当前帧视频数据中的人脸区域,再将设定的视频数据叠加到人脸区域之外的区域中,如叠加到图3中右下角的区域。
当视频驱动模块从视频设备处获得当前帧视频数据后,将设定的视频数据叠加到该当前帧视频数据中。该设定的视频数据可以直接保存在视频驱动模块本地,也可以保存在其它实体中,当视频驱动模块需要获得该设定的视频数据时,则可以与该实体通信,得到设定的视频数据。在本实施例中,设定的视频数据大致可以分为两种,一种是可以实时改变的时间数据,该时间数据可以是视频驱动模块利用自身的时钟确定,也可以是通过系统中的时钟确定;另一种是预存的数据,如广告数据。当视频驱动模块获得当前帧视频数据后,可以将自身确定的时间数据和预存的广告数据直接叠加到当前帧视频数据中;也可以是从系统中获得当前时间数据,将该时间数据和预存的广告数据叠加到视频数据中。将设定的视频数据叠加到当前帧视频数据中的方法也可以包括两种,分别是1、将设定的视频数据中包含的象素点区域覆盖当前帧视频数据中的象素点区域。例如,若该设定的视频数据是时间数据,且该时间数据包含的是50×100的象素点区域,共500个象素点,则将该包含时间数据的50×100的象素点区域覆盖当前帧视频数据中的50×100大小的象素点区域。
2、确定设定的视频数据中包含的象素点区域大小,删除当前帧视频数据中与确定的该象素点区域大小相同的区域,将设定的视频数据中包含的象素点区域插入删除后的区域中。例如,确定时间数据包含的象素点区域是50×100的象素点区域大小,则删除当前帧视频数据中50×100大小的象素点区域,并将时间数据中的50×100的象素点区域插入当前帧视频数据中删除的区域处。
当然,上述两种叠加的方式可以用于不考虑叠加到当前帧视频数据后的位置的情况,若考虑到这种情况,也同样可以利用上述两种方式,即将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
当视频驱动模块将设定的视频数据叠加到视频数据后,再将该叠加后的当前帧视频数据返回给应用程序。
步骤203应用程序接收叠加后的当前帧视频数据,并将该当前帧视频数据向用户显示。
基于上述对本发明实施例中系统和方法步骤地描述,本发明实施例中还提供一种视频驱动装置,如图4所示,该装置运行在操作系统中,在本实施例中设定运行在Windows操作系统中,该装置包括获得单元41、叠加单元42和返回单元43,其中,获得单元41用于从视频设备处获得当前帧视频数据;叠加单元42用于将设定的视频数据叠加到所述当前帧视频数据中;返回单元43用于将叠加后的当前帧视频数据返回。
所述获得单元41包括判断单元51和操作单元52,其中,判断单元51用于判断所述视频设备是否处于空闲状态,并将判断结果发送给所述操作单元52;操作单元52用于接收所述判断结果,若该判断结果为处于空闲状态,则从视频设备处获得所述当前帧视频数据;否则,触发所述判断单元51。
所述叠加单元42包括确定单元53和执行单元54,其中,确定单元53用于确定所述当前帧视频数据中不允许叠加视频数据的固定区域;执行单元54用于将所述设定的视频数据叠加到所述固定区域之外的区域。
所述执行单元54包括保存单元55和实现单元56,其中,保存单元55用于保存所述设定的视频数据;实现单元56用于将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
通过本发明,能够简单地实现在当前帧视频数据中叠加设定的视频数据的过程,且叠加后的当前帧视频数据可以发送给任意访问该视频驱动模块的应用程序,实现成本较低。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种获取视频数据的方法,其特征在于,该方法包括A、应用程序将用于获取视频数据的触发信号发送给视频驱动模块;B、所述视频驱动模块从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序。
2.如权利要求1所述的方法,其特征在于,步骤A之后,且步骤B之前包括A1、所述视频驱动模块判断所述视频设备是否处于空闲状态,若是,则执行步骤B;否则,返回步骤A1。
3.如权利要求1所述的方法,其特征在于,所述将设定的视频数据叠加到该当前帧视频数据中包括确定所述当前帧视频数据中不允许叠加视频数据的固定区域,将所述设定的视频数据叠加到该固定区域之外的区域。
4.如权利要求3所述的方法,其特征在于,若所述固定区域为人脸区域,则利用人脸检测算法确定当前帧视频数据中的人脸区域。
5.如权利要求3所述的方法,其特征在于,所述将所述设定的视频数据叠加到该固定区域之外的区域包括将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
6.如权利要求1所述的方法,其特征在于,所述设定的视频数据保存在所述视频驱动模块本地,或,保存在能够与该视频驱动模块通信的实体中。
7.如权利要求1所述的方法,其特征在于,所述应用程序和所述视频驱动模块运行在Windows操作系统中。
8.一种获取视频数据的系统,其特征在于,该系统包括应用程序和视频驱动模块,其中,所述应用程序,用于将用于获取视频数据的触发信号发送给所述视频驱动模块,并接收该视频驱动模块返回的当前帧视频数据;所述视频驱动模块,用于从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序。
9.如权利要求8所述系统,其特征在于,所述应用程序运行在Windows操作系统中,该应用程序包括发送单元,用于将所述触发信号发送给所述视频驱动模块;接收单元,用于接收所述视频驱动模块返回的当前帧视频数据。
10.如权利要求8所述系统,其特征在于,所述视频驱动模块运行在Windows操作系统中,该视频驱动模块包括获得单元,用于从所述视频设备处获得所述当前帧视频数据;叠加单元,用于将所述设定的视频数据叠加到所述当前帧视频数据中;返回单元,用于将叠加后的当前帧视频数据返回给所述应用程序。
11.如权利要求10所述系统,其特征在于,所述获得单元包括判断单元和操作单元,其中,所述判断单元,用于判断所述视频设备是否处于空闲状态,并将判断结果发送给所述操作单元;所述操作单元,用于接收所述判断结果,若该判断结果为处于空闲状态,则从所述视频设备处获得所述当前帧视频数据;否则,触发所述判断单元。
12.如权利要求10所述系统,其特征在于,所述叠加单元包括确定单元,用于确定所述当前帧视频数据中不允许叠加视频数据的固定区域;执行单元,用于将所述设定的视频数据叠加到所述固定区域之外的区域。
13.如权利要求12所述系统,其特征在于,所述执行单元包括保存单元,用于保存所述设定的视频数据;实现单元,用于将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
14.一种视频驱动装置,其特征在于,该装置包括获得单元,用于从视频设备处获得当前帧视频数据;叠加单元,用于将设定的视频数据叠加到所述当前帧视频数据中;返回单元,用于将叠加后的当前帧视频数据返回。
15.如权利要求14所述装置,其特征在于,所述装置运行在Windows操作系统中,所述获得单元包括判断单元和操作单元,其中,所述判断单元,用于判断所述视频设备是否处于空闲状态,并将判断结果发送给所述操作单元;所述操作单元,用于接收所述判断结果,若该判断结果为处于空闲状态,则从视频设备处获得所述当前帧视频数据;否则,触发所述判断单元。
16.如权利要求15所述装置,其特征在于,所述叠加单元包括确定单元,用于确定所述当前帧视频数据中不允许叠加视频数据的固定区域;执行单元,用于将所述设定的视频数据叠加到所述固定区域之外的区域。
17.如权利要求16所述装置,其特征在于,所述执行单元包括保存单元,用于保存所述设定的视频数据;实现单元,用于将所述设定的视频数据中包含的象素点区域覆盖所述固定区域之外的象素点区域,或,确定所述设定的视频数据中包含的象素点区域大小,删除所述固定区域之外的与确定的该象素点区域大小相同的区域,并将所述设定的视频数据中包含的象素点区域插入删除后的区域中。
全文摘要
本发明公开了一种获取视频数据的方法,该方法包括A.应用程序将用于获取视频数据的触发信号发送给视频驱动模块;B.所述视频驱动模块从视频设备处获得当前帧视频数据,将设定的视频数据叠加到该当前帧视频数据中,并将叠加后的当前帧视频数据返回给所述应用程序。通过本发明,能够简单地实现在当前帧视频数据中叠加设定的视频数据的过程,且叠加后的当前帧视频数据可以发送给任意访问该视频驱动模块的应用程序,实现成本较低。本发明还公开了一种获取视频数据的系统及视频驱动装置。
文档编号G09G5/397GK101055715SQ20071009901
公开日2007年10月17日 申请日期2007年5月8日 优先权日2007年5月8日
发明者曹玉弟 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1