从不同源向不同客户端应用提供多媒体数据的方法及系统技术方案

技术编号:3502155 阅读:203 留言:0更新日期:2012-04-11 18:40
本发明专利技术使单个媒体流能够以一种对客户端/应用程序完全透明的方式无缝地暴露至所期望多的客户端/应用程序。此外,本发明专利技术的一实施例将来自多个装置(例如网络摄像机、麦克风、等等)的媒体流组合成一单个虚拟流,随后可由所期望多的客户端存取所述单个虚拟流。在本发明专利技术的一些实施例中,每一客户端均可请求一不同的格式及帧速率。此外,在本发明专利技术的一些实施例中,将来自一个或多个源的媒体数据提供给一个或多个客户端应用程序的能力对所述应用程序以及用户完全透明。

【技术实现步骤摘要】

本专利技术涉及媒体源输入装置,例如麦克风及摄像机,且具体而言涉及媒体源输入装置与应用程序的接口连接。
技术介绍
传统上,当一个应用程序连接至一媒体源时,所有其它应用程序均被禁止使用该媒体源。在一常见的个人算计机情况下,当一应用程序请求与一媒体源进行通信时,所述应用程序会调用驱动文件或动态链接库(DLL或*.dll)文件。通常,一DLL提供一个或多个特定功能且一程序通过创建一通至所述DLL的链接来存取所述功能。DLL也可包含数据。一些DLL配备有操作系统(例如Windows操作系统)并可供用于任一操作系统应用程序。其它DLL是针对一特定应用程序得到写入并加载有所述应用程序(例如一媒体源控制应用程序)。当一媒体源控制应用程序请求连接至一媒体源时,驱动器会进行检查以确认没有其它应用程序已打开所述特定摄像机驱动文件(*.dll),且若没有其它应用程序已打开,则驱动器将打开所述特定驱动文件。如此一来,此时便通过所打开的媒体源(例如摄像机)驱动文件在媒体源(例如摄像机)与应用程序之间存在一如图1中所见的单线程连接。 图1显示一与一媒体源连接的应用程序,所述媒体源为一摄像机。如图1中所描绘,驱动文件14是通过由发出调用的应用程序10所调用的驱动器12来打开并加载于发出调用的应用程序的存储器中。由于摄像机驱动文件14已被应用程序10打开,因此禁止下一试图调用摄像机的应用程序打开摄像机驱动文件14。与在多个应用程序之间共享一媒体源时发生的冲突相关的问题称作应急问题。由于典型的输入装置驱动器在任何给定时刻只允许一个应用程序使用输入装置数据,因此会存在应急问题。这是因为摄像机驱动文件已加载于第一应用程序的存储器中且无法供另一发出调用的程序存取。因此,每一可能会调用一摄像机的应用程序均必须虑及可能已在使用所述摄像机的另一应用程序的存在。因此,此种应用程序受制于下述需要需要首先进行检查以判定是否执行了已连接至所述摄像机的另一第一应用程序,且若如此,则第二发出调用的程序必须具有允许其协商对所述摄像机的共享的例程。然而,此种共享为一单一瞬时共享,此意味着在能够建立摄像机与第二应用程序之间的连接之前将须中断(即第一应用程序将须关闭或摄像机将须断开)摄像机与第一应用程序之间的连接。还必须通过这两个竞争的应用程序之间的通信来解决权限、优先权及其它安全方面以及适当的错误处理。目前,还没有哪一应用程序甚至尝试着解决这些问题中的任何一个,且因此,如果不能在一发出调用的程序与一摄像机之间建立连接,则由操作系统通过发出相当粗糙且难以辨认的错误消息来解决意外应用程序错误,此使最终用户只能推断出不能建立一适当的连接。充其量,第二发出调用的应用程序会接收到一指示所调用的装置当前正在使用中且不可用的消息。 应用程序的大小、灵活性及可用性一直在不断增大,且目前的趋势是从大的单块式应用程序发展到由许多更小的子程序构成的程序。此种积木式方法提供许多优点,例如易于以后的修改及可配置性。而且,操作系统提供商(例如Microsoft)也已采用此种模块式方法且因此提供许多标准的子程序或目标程序,这些子程序或目标程序处理许多实用型功能,例如将发送至打印机的文件排队及加载并运行打印机驱动器(例如DLL)文件以打印文件。所述驱动(例如DLL)文件本身为目标程序或子程序。此外,为努力实现目标程序与以不同的高级编程语言编写的较小子程序之间的互操作性,操作系统提供商已开发出可在二进制层次上彼此兼容的可执行程序模型。由Microsoft公司开发出的一种这样的二进制码模型为组件对象模型(COM)。COM使程序师能够开发出可由任何适应于COM的应用程序存取的目标程序。虽然可通过从大的单块式应用程序转换成较小子程序及目标程序的集合来实现许多优点,但这些优点必须与因需要附加例程来允许在这些子程序及目标程序之间进行过程间通信而施加的负荷保持平衡。 除复杂性及可用性增大外,多单元应用程序还一直在从单主机站点往多主机多机种网络环境变迁。所以,目前由许多分别以不同的高级编程语言编写并分别驻存于一单独计算机上的不同例程构成的单个应用程序并不陌生,其中所有这些计算机均通过网络彼此连接。在此类实施方式中,对于有效的网络内及网路间及过程间通信的需求可自然而然地形成,从而不利于程序师的编写应用程序的主要任务。程序师还必须处理因在网络中分布应用程序而引起的通信问题。同样,操作系统提供商已认识到此种挑战及潜在的损害并已以各种方式解决此挑战及潜在损害。例如,Microsoft已通过开发出分布式组件对象模型(DCOM)来扩展COM功能性。DCOM是一支持分布于一网络中的目标程序的COM扩展形式。除为COM的扩展形式外,DCOM还提供一处理网络通信协议的细节的接口,以使应用程序设计师能够着重于其开发应用专用程序的主要功能。DCOM经设计以解决企业对分布式组件架构的要求。例如,一企业可能想要建立及采用一用户订单登记应用程序,所述用户订单登记应用程序涉及到数个不同功能领域的,例如税款计算、用户信用验证、库存管理、担保更新及订单登记。通过使用DCOM,所述应用程序可由五个单独组件构成并可在一通过浏览器存取的网络服务器上运行。每一组件均可驻存于一存取一不同数据库的不同计算机上。程序师可着重于应用程序开发且DCOM用于处理应用程序中各单独组件的过程间通信方面。例如,DCOM将处理组件通信与适当队列的整合及一服务器上的组件应用程序与基于HTML的因特网应用程序的整合。 因此,虽然许多计算机系统操作系统提供商正在提供许多标准化的可执行程序模型,但即使这些可执行程序也只能在一对一的基础上介接一媒体源输入装置。一旦链接至一应用程序,一标准化装置驱动文件便不再可供用于另一程序。 一些网络摄像机供应商(例如新加坡的Creative Labs)使用虚拟源概念,但此是通过向用户提供一从中进行选择的多个装置的选项来实现的。举例而言,用户将看到“常规网络摄像机”以及一“虚拟”网络摄像机。如果用户选择“常规”网络摄像机,则其将无法使用某些视频效果。然而,如果用户选择使用“虚拟”网络摄像机,则其可使用某些视频效果。此需要进行不必要的用户干预并可能使用户混淆。此外,此并未解决将视频数据自一个源同时提供至多个客户端应用程序的问题。 此外,当前,无法以一通用方式将多个源无缝地虚拟化成一个源。存在一些其中可以一组合方式输出来自不同源的媒体数据的已知应用程序(例如监视系统)。然而,此只能通过获得并使用专门的且昂贵的硬件来实现或在专用软件应用程序(例如具有专用API)的背景中实现。因此,不存在一种可将来自不同的源的媒体数据组合成单个源而不使用专用硬件且可用于任何应用程序的简单解决方案。 Windows 2000包括一用于虚拟音频的核心模式Windows驱动器模块。客户端是与虚拟音频源而不是与实际源进行通信。多个客户端可自同一音频源接收一音频流。而且,还提供一混频系统驱动器。Microsoft对若干源进行的虚拟化仅限于音频,而且也不允许对多个音频源进行虚拟化以向一个或多个客户端应用程序提供数据。 需要使多个应用程序能够以一种容易且无缝的方式共享单个媒体源输入装置(其最常为摄像机或麦克风),而无需用户主动地选择一虚拟装置来实现此目的本文档来自技高网...

【技术保护点】
一种用于透明地向复数个客户端应用程序提供多媒体数据的系统,所述系统包括:一提供所述多媒体数据的数据源;一使用所述多媒体数据的第一客户端应用程序;一使用所述多媒体数据的第二客户端应用程序;一以通信方式耦合至所述 数据源及所述第一及第二客户端应用程序的虚拟数据源,其中所述虚拟源从所述数据源获得所述多媒体数据,并将所述多媒体数据提供至所述第一客户端应用程序及所述第二客户端应用程序。

【技术特征摘要】
US 2005-12-28 11/321,978书中所规定的本发明范围内。权利要求1.一种用于透明地向复数个客户端应用程序提供多媒体数据的系统,所述系统包括一提供所述多媒体数据的数据源;一使用所述多媒体数据的第一客户端应用程序;一使用所述多媒体数据的第二客户端应用程序;一以通信方式耦合至所述数据源及所述第一及第二客户端应用程序的虚拟数据源,其中所述虚拟源从所述数据源获得所述多媒体数据,并将所述多媒体数据提供至所述第一客户端应用程序及所述第二客户端应用程序。2.如权利要求1所述的系统,其中所述多媒体数据为视频数据。3.如权利要求2所述的系统,其中所述数据源为一网络摄像机。4.如权利要求1所述的系统,其中所述第一客户端应用程序为一即时消息接发应用程序。5.如权利要求1所述的系统,其中所述虚拟源位于核心模式中。6.如权利要求1所述的系统,其进一步包括一以通信方式耦合至所述虚拟源的第二数据源,其中所述第一客户端应用程序接收一将来自所述第一数据源与所述第二数据源的数据相组合的单个数据流。7.如权利要求1所述的系统,其中所述第一客户端应用程序请求一不同于由所述数据源提供的数据格式的数据格式。8.如权利要求7所述的系统,其中所述虚拟源确定要自所述数据源接收的所述数据的所述格式以便能够有效地创建所述客户端应用程序所请求的所述数据的所述格式。9.如权利要求1所述的系统,其中所述第一客户端应用程序请求一不同于所述数据源所提供的数据的帧速率的数据帧速率。10.一种用于透明地将多媒体数据自复数个数据源提供至一客户端应用程序的系统,所述系统包括一提供第一多媒体数据的第一数据源;一提供第二多媒体数据的第二数据源;一以通信方式耦合至所述第一数据源及所述第二数据源并耦合至所述客户端应用程序的虚拟数据源,其中所述虚拟源获得来自所述第一数据源的所述第一多媒体数据及来自所述第二数据源的所述第二多媒体数据,并向所述客户端应用程序提供一将所述第一多媒体数据与所述第二多媒体数据相组合的单个数据流。11.一种用于向复数个客户端应用程序提供多媒体数据的方法,其中所述多媒体数据由一数据源提供,其...

【专利技术属性】
技术研发人员:阿诺格拉特龙阿龙斯坦里奇蒂姆迪克曼
申请(专利权)人:罗技欧洲公司
类型:发明
国别省市:CH[瑞士]

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

1
相关领域技术
  • 暂无相关专利