透明地处理多媒体数据的系统与方法技术方案

技术编号:2920031 阅读:176 留言:0更新日期:2012-04-11 18:40
一种多媒体数据处理系统与方法,其透明地实时处理视频和/或音频流。根据本发明专利技术的一实施例的系统的操作不需要任何来自视频和/或音频流制作者或客户端应用程序的干涉或介入。使用这种透明解决方案,可以无缝地处理视频和/或音频流,且完全独立于用户所选择使用的特殊客户端应用程序。在一实施例中,本发明专利技术使用外部服务来监控新进程并向这些进程添加代码。本发明专利技术通过热修补(hot-patching)内存中的软件并通过只考虑选择服务调用而插入所述系统中。

【技术实现步骤摘要】

本专利技术大体上是关于多媒体数据处理,且明确地说是关于用于智能地且透明地实时处理多媒体流的用户模式多媒体处理层。
技术介绍
在过去几年中,人们互相以电子方式建立的联系已经大大增加。人们使用多种通信模式互相以电子方式通信,所述模式例如电子邮件、文本通讯等。尤其是实时视频和音频通信(例如IM聊天,包括视频和/或音频聊天)已变得很普遍。为了进行视频和音频实时聊天,常把照相机(常称为网络照相机)连接到用户的计算机,并把照相机捕捉到的视频和/或音频数据传输到所述计算机。用户有几个选择传输静止图像、视频和/或音频数据,如即时通讯(IM)、现场直播的视频流、为了创建电影而进行的视频捕捉、视频监视、因特网监视、因特网网络照相机等。对于这些用途在市场上有多种客户端应用程序。例如,只对即时通讯而言,用户可从几个应用程序选择,所述应用程序包括微软公司(Redmond,WA)的MSN通讯软件、ICQ公司的ICQ、美国在线公司(Dulles,VA)的美国在线即时通讯软件(AIM),和雅虎公司(Sunnyvale,CA)的Yahoo!即时通讯软件。用户常希望以某些方式改变视频和/或音频流。由于多种原因,可能希望进行这些修改。例如,用户可能想要看上去和/或听上去像另外一个人(例如,像某个名人,某个动画角色等)。另一个例子是当用户只希望不被认出而保持匿名。又一个例子是当用户想要看上去像他自己的更好一面(例如,用户可能没有为业务会议而盛装打扮,但他想要表现得专业)。又一个例子是当用户想要创建视频和/或音频特殊效果时。由于这些原因和各种其他原因,用户常希望修改由他们的网络照相机和/麦克风实际上捕捉到的视频和/或音频流。在一个例子中,用户有一个他们选择的化身。已公布的美国申请案20030043153描述一种用于修改化身的系统。常规视频和音频处理系统不能自动地且透明地执行这些修改可能需要的适当处理功能。现有的系统在很大程度上是不透明的,需要配置下游应用程序以便利用视频和/或音频修改能力。常见的情况是需要把处理组件并入客户端应用程序中,以便实施这些修改。这些处理组件是专用处理组件。或者,需要使用第三方组件来向系统流抢先添加经处理的输出。又一个选择是在多媒体数据捕捉装置的驱动程序中引入视频和/或音频修改能力。然而,客户端应用程序仍将需要进行选择来施加效果,且将必须定制每个装置的驱动程序以便并入所述功能性。此外,在驱动程序中不可能进行高级处理,因为环境中没有这些高级处理所需的适当服务。另外,驱动程序中的一切事物都是很静止的,且需要大量的测试来保证系统稳定性,从而使得几乎不可能在驱动程序中提供灵活且可扩展的架构。另外,如果处理功能性在驱动程序中,那么除非用户为装置下载新的驱动程序,否则不能实现与现有装置和驱动程序的向后兼容性。需要一种系统与方法,其可以透明地实时修改静止图像、视频和/或音频流,而独立于所使用的特殊客户端应用程序,且不需要修改装置的驱动程序。
技术实现思路
本专利技术是一种透明地实时处理视频和/或音频流的多媒体数据处理系统与方法。根据本专利技术的一实施例的系统的操作不需要任何来自视频和/或音频流制作者或客户端应用程序的干涉或牵涉。使用这种透明解决方案,可以无缝地处理视频和/或音频流,且完全独立于用户选择使用的特殊客户端应用程序。因此,根据本专利技术的一些实施例的系统可与用户选择的任何客户端应用程序一起使用。这允许为最终用户的利益创建大量视频和/或音频效果和/或改进。在一实施例中,由用户模式视频处理层(UMVPL)或用户模式音频处理层(UMAPL)执行对多媒体数据的处理。在一实施例中,UMVPL或UMAPL位于在多媒体源或多媒体槽与客户端应用程序之间的多媒体数据路径上。处理层位于用户模式中,而不是内核模式中。内核是非常有限且敏感的环境,且其没有施加高级效果所需的许多服务,尤其是对于视频而言。另外,在内核中容易使系统崩溃;用户模式环境要安全得多。此外,当在用户模式中时,对于每个程序而言可改变视频和/或音频流。因此,用户可为每个单独进程(应用程序)引入一组不同的效果,或者只选择在一个进程中产生效果而其他进程保持不受影响。最后,对于多媒体流内核模式的入口非常局限性,且因此其可以被拦截。当代码在内核中时,要进行拦截就困难得多。在一实施例中,根据本专利技术的一实施例的系统包括进程创建监控器,和注入器服务(Injector Service)以及UMVPL或UMAPL。进程创建监控器监控每个已创建进程,并告知注入器服务。这个注入器服务随后向每个进程注入一注入器钩子库(注入器钩子动态链接库(DLL))。这些钩子又在多媒体数据到达其目的地之前经由UMVPL或UMAPL重新路由每个进程。在一实施例中,多媒体数据源可为用户的装置(如网络照相机、麦克风等),且目的地可为客户端应用程序。在另一实施例中,多媒体数据流的方向可从客户端应用程序到用户的装置(例如视频输出装置(例如记录设备)、扬声器等)。在一实施例中,本专利技术使用外部服务来监控新进程并向这些进程添加代码。本专利技术通过热修补内存中的软件并通过只考虑选择服务调用来插入所述系统中。这种解决方案因此是通用的。所述系统可施加一连串效果。本说明书中描述的特征和优点不包括所有特征和优点,且尤其是,考虑到图示、说明书和权利要求书,所属领域的技术人员将明了许多额外特征和优点。此外,应注意在说明书中使用的语言主要是为易读性和指导性目的而选择的,且不是选择用来描绘或限制本标的物。附图说明本专利技术具有其他优点和特征,根据本专利技术的以下具体实施方式和随附权利要求书(当结合附图来看时),所述优点和特征将更为显而易见,图1是说明连接到主机的视频/音频捕捉装置如何使用客户端应用程序来与另一类似装备在网络上通信的方框图。图2A说明来自图1的系统的一侧的一实施例。图2B是说明以上参考图2A描述的系统中的数据流的方框图。图3A是说明根据本专利技术的一实施例的系统的方框图。图3B是说明根据本专利技术的一实施例的系统中的数据流的方框图。图4A、4B和4C是描述在根据本专利技术的一实施例的系统中从打开客户端应用程序开始,然后打开视频流到关闭所述流的特殊例子的流程图。图5是大体上确定由根据本专利技术的一实施例的进程创建监控器、注入器服务和UMVPL进行的步骤的流程图。图6是对注入器钩子部分比图3B更详细地展示一架构实施例的多种组件及其关系的图。图7是展示根据本专利技术的一实施例的视频帧的典型数据流的图。具体实施例方式将详细参考本专利技术的若干实施例。尽管将主要参考使用标准Windows内核流协议的多媒体装置的Windows环境中的透明视频/音频处理系统的实施,但是所属领域技术人员知道,相同的概念可在包括Linux、Mac OS或其它专有或公开操作系统平台(包括实时操作系统)的各种操作环境中的任一种操作环境中实施。请注意,尽管一些实施例在视频处理的情况下加以论述,但是这些实施例也可应用于任何类型的多媒体处理(例如,音频、静止图像等)。另外,应注意,尽管一些实施例使多媒体源为用户装置且使数据槽(data sink)为客户端应用程序来加以论述,但是可在这些实施例中时使数据流反向。图1是说明连接到主机的视频/音频捕获装置可如何使用客户端应用程序来经由网络与另一类似装备(setup)通信的方本文档来自技高网
...

【技术保护点】
一种用于透明地处理多媒体数据的系统,包括:一用于提供多媒体数据的数据源;一用于接收所述多媒体数据的数据槽;一用于检测每一已创建进程的进程创建监控器;一用于在每一检测到的进程注入至少一钩子的注入服务;和 一用户模式处理层,所述至少一钩子把所述多媒体数据重新定向到所述用户模式处理层,且其中所述多媒体数据在其到达所述数据槽之前被透明地处理。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:阿诺格拉特龙帕特里克米奥托恩约翰贝特曼
申请(专利权)人:罗技欧洲公司
类型:发明
国别省市:CH[瑞士]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1