基于图像的同步系统和方法

文档序号:7989373阅读:158来源:国知局
基于图像的同步系统和方法
【专利摘要】本发明提供了一种用于诸如MP4、WebM、Flash、Real或Windows?Media?stream(Windows媒体流)的直播或预先记录媒体内容的基于实时图像操纵的同步系统和方法,其中,该媒体内容与作为富媒体呈现的一部分的一系列交互式元素同步。媒体内容可以是音频和视频数据的任何组合,包括网络摄像头输出和屏幕捕捉输出,并且同步命令通过修改视频图像(帧)或音频数据本身而被嵌入,不需要单独(常常为专有)元数据通道,允许任何视频格式的广泛分发,包括H.264/HTML5。
【专利说明】基于图像的同步系统和方法
【技术领域】
[0001]本公开涉及数字流媒体,诸如音频、视频、动画等和应用程序演示、在线会议及其他基于计算机的协作。
【背景技术】
[0002]存在巨量的数字媒体。当前的问题是如何使多个数字媒体流同步。例如,常常必要在以视觉或听觉方式展示某些东西的呈现和多个辅助音频、视频、文档和/或动画中具有主音频或视频流。辅助流仅组成总呈现的一小部分,因此系统必须能够在需要时使其与主媒体流同步。另外,主和辅助媒体流可以采取不同的格式,要求不同的插件或帮助应用程序。还期望避免其中用户必须下载并安装非普遍存在或专有应用程序或插件以使多个数字媒体流同步的情况。
[0003]用于此问题的现有解决方案用富媒体呈现(Rich Media Presentation)的不同组成部分具有变化的成就,但是一般地依赖于围绕各种流媒体元件以保证其同步的专有应用程序。这些现有解决方案的示例包括:WebEx (网讯)、Placeware (虚拟会议)/LiveMeeting(实时会议)(Microsoft (微软))和Connect (Adobe)。在这些系统中,用于控制各种组成部分的同步的机制是专有的,并且是第三方不知道的,这使得第三方难以使用这些系统。
[0004]现有解决方案还具有使观众局限于专有格式(Windows Media Player (Windows媒体播放器):Microsoft Livemeeting (微软实时会议);Flash !Macromedia Breeze ;ffebexArchive:ffebex)的受限格式,限制了用于消费者的灵活性。然而,期望的是提供一种能够使用许多不同格式的系统。
[0005]大多数现有解决方案使总参与者局限于相对小的数目。这可能部分地由于其用于使呈现的各种元素同步的机制而引起的。特别地,无论是否存在到服务器的持久连接或者周期性轮询机制是否就位以确定将在呈现中显示的下一项目,关联的开销都是显著的且限制可缩放性。因此,期望提供一种能够被容易地缩放的用于使多个数字媒体流同步的系统。
[0006]现有解决方案要求用户/观看者在其计算机上安装专有应用程序。在许多公司环境中,这是IT策略所不允许的,其然后阻止对Rich Media (富媒体)的访问。因此,期望的是提供一种不要求在用户的计算机上安装专有应用程序的用于使多个数字媒体流同步的系统。
【专利附图】

【附图说明】
[0007]图1是图示出用于在线呈现方法的用于资产收购的方法的图;
图2是图示出可以使用元数据提取系统的在线呈现系统的示例的图;
图3图示出图2中所示的在线呈现系统的系统架构;
图4是图3中的在线呈现系统的交互部件的功能图;
图5是图示出呈现工作流程的图;
图6是图示出可以结合元数据提取系统的在线呈现客户端的示例的图;图7图示出用于使得能够实现多个媒体流的同步的系统的实施例;以及图8图示出用于媒体流同步的管理工具的用户界面的示例。
【具体实施方式】
[0008]本公开特别地可应用于具有多个数字媒体流同步的基于网络的会议系统,并且将在此背景下描述本公开。然而,将认识到的是所述系统和方法具有更大的实用性,因为公开的图像同步系统可以与其中期望能够使多个数字媒体流同步的其他系统一起使用,并且可以与下面公开的实施方式不同地实现该系统且其在本公开的范围内。
[0009]本公开涉及用于诸如Flash、Real 或 Windows Media stream (Windows 媒体流)的直播或预先记录媒体内容的基于图像的同步,及其通过因特网或从本地存储介质的递送的系统和方法,所述直播或预先记录媒体内容具有作为富媒体呈现的一部分的一系列交互式元素。由系统同步的媒体内容可以是音频和视频数据的任何组合,包括网络摄像头输出和屏幕捕捉输出。
[0010]在一个实施例中,该系统是基于网络的呈现系统,其依赖于一般可用技术来在单个界面中使多个媒体文件同步。在一个实施方式中,该系统利用HTML、JavaScript、WindowsMedia、Real Media、Flash、数字图像和配置文本文件。此外,该系统提供了用于在WindowsMedia Player (Windows 媒体播放器)、Real Player (Real 播放器)、Flash 中开发并服务于直播和点播富媒体呈现的单个一般机制,并且能够容易地扩展至其他流格式。
[0011]图1是图示出用于在线呈现事件系统的用于资产收购的方法20的图。如所示,在必要时在步骤24中编辑或者自动地捕捉音频/视频或音频数据源22。在步骤26中,对数据源22进行编码。替换地,在步骤30中对基于电话的自动化记录源28进行编码。然后可以将已编码数据存储在媒体数据库32中,诸如以real media (真实媒体)格式32a和/或windows media (windows媒体)格式32b。以这种方式,使媒体的数据源/片准备好使用事件系统进行的分发,其示例在图2中示出。
[0012]图2是图示出可以将同步设备结合到其中的事件系统40的图。事件系统40可以包括资产收购和事件管理部分42、数据库部分44和分发部分46,其中,一片媒体/内容48被输入到事件系统40中以便在事件期间分发该内容/媒体片。一般地,用软件来实现正在描述的事件系统的每个元件,其中,每个部分可以是一个或多个软件模块,并且每个软件模块可以是被执行以行使系统的特定功能/操作的多个计算机指令。因此可以将系统的每个元件实现为一个或多个计算机资源,诸如具有一个或多个处理器的典型个人计算机、服务器或工作站、具有足够计算能力以便存储和执行形成根据本发明的帧事件系统的软件模块的永久性存储设备和存储器。该事件系统可以生成被提供给一个或多个事件客户端52的事件,其中,每个客户端是计算资源,诸如个人计算机、工作站、蜂窝式电话、个人数字助理、无线电子邮件设备、电话等,其具有足够的计算机能力以执行位于客户端上的事件客户端,其中,客户端通过有线或无线连接与事件系统通信。
[0013]更详细地,资产收购和事件管理部分42还可以包括资产收购部分42a和事件管理部分42b,其中,资产收购部分执行以下功能中的一个或多个:媒体片/内容的记录、媒体片/内容的编辑、媒体片/内容的编码和资产加标签。事件管理模块42b还包括资产管理模块50a、事件管理模块50b、呈现管理模块50c和编码器控制器50d。资产管理模块50a在事件之前根据需要向媒体库中/从媒体库导入/导出内容/媒体片并管理用于每个事件呈现的资产。事件管理模块50b可以在事件之前和之后执行动作/功能。在特定事件之前,事件管理模块可以在系统中预留事件(资源和访问点两者)、建立用户与之相交互以管理事件的事件控制台且然后向每个接收者发送具有如何访问/操作事件的细节的即将发生事件的消息。在特定事件之后,事件管理模块50b可以允许用户将旧事件呈现导入系统中以便重新使用旧事件呈现的一个或多个片。呈现管理模块50c在特定事件呈现期间用事件呈现的幻灯片、URL和轮询来向编码器控制器生成事件文件以将特定事件呈现分发给用户。编码器控制器50d将事件呈现流编码到将事件呈现分发给用户的一个或多个分发服务器54。
[0014]如图2中所示,数据库44可以包括关于每个事件的数据,包括事件正在被提供到的客户端和与事件相关联的媒体、一个或多个事件用户、特定事件的显示、与事件相关联的资产、用于事件的度量和其他事件数据。与用于特定事件的数据库中的此数据组合,来自事件管理模块42b的操作和命令被下载到分发服务器54,其通过分发网络56将每个事件分发到用于特定事件的每个客户端52。如所示,可以将事件/呈现分发给使用一个或多个不同方法来访问事件的一个或多个不同客户端52。客户端52可以包括下载呈现且然后离线地观看该呈现的客户端。
[0015]图3图示出图2中所示的事件系统的更多细节。事件系统可以包括网络服务器部分60、应用服务器部分62和图2中所示的数据库部分40(具有数据库44)。可以将这些部分中的每一个实现为具有足以实现下述功能的计算资源的一个或多个计算机资源。在优选实施例中,可以将每个部分实现为一个或多个众所周知的服务器计算机。网络服务器部分60还可以包括一个或多个小服务程序64和网络容器部分66,这两者都在典型防火墙68后面。在本发明的优选实施例中,小服务程序存在于BEA Weblogic系统上,该系统是市售的且可以包括事件登记小服务程序、事件管理模块小服务程序、呈现管理模块小服务程序和编码器控制器小服务程序,其对应于图2中所示的事件管理模块50b、呈现管理模块50c和编码器控制器50c。这些小服务程序中的每一个实现上文针对系统的各部分所述的功能和操作,其中,每个小服务程序是在具有足以执行操作的计算能力和存储器的计算资源上执行的多行计算机代码。小服务程序可以使用众所周知的协议、在优选实施例中诸如众所周知的远程方法调用(RMI)协议来与应用服务器部分62通信。小服务程序还可以与网络容器部分66通信,网络容器部分66优选地是使用众所周知的Apache/Weblogic系统实现的。网络容器部分66优选地使用Perl活动服务器页面(Perl Active Server Page) (ASP)、HTML、XML/XSL、Java Applet (Java 小程序)、Javascript (脚本语言)和 Java 服务器页面(Java Server Pages) (JSP)来生成用户界面。网络容器部分66因此可以生成用于每个客户端和呈现管理模块用户界面的用户界面。由网络容器部分66生成的用户界面可以通过防火墙被输出到系统的客户端,以及到允许提供任何呈现的演示的应用程序演示服务器68。
[0016]可以优选地使用通过使用市售的BEA Weblogic产品实现的企业JavaBeans(Enterprise JavaBeans) (EJB)容器来实现应用服务器部分62。应用服务器管理部分62可以称为中间件,并且可以包括媒体度量管理器70a、聊天管理器70b、媒体URL管理器70c、事件管理器70d、呈现管理器70e和事件实施管理器70f,其每个可以是执行指定管理操作的软件应用程序。应用服务器部分62使用协议与数据库44通信,在本发明的优选实施例中诸如众所周知的Java数据库连接(JDBC)协议。优选地可以使用市售的Oracle 8/9数据库产品来实现数据库44。如所示,数据库44可以包括其包括URL数据、幻灯片数据、轮询数据和文档数据的媒体数据。数据库44还可以包括度量数据、事件数据和聊天数据,其中,事件数据还可以优选地包括管理数据、配置数据和配置文件数据。
[0017]图4是图示出图3中的事件数据库44的更多细节的图。如图4中所示,数据库可以生成用来实现用以预留事件、配置事件、呈现事件、以用于登记、用于游说(lobby)、用于事件控制台、用于报告和用于将事件存档的功能的数据。该数据库可以包括可以提供给资产管理模块50a的资产数据44a、被提供给度量模块72的度量数据44b、被提供给事件管理模块50b的事件数据44c、被提供给呈现管理模块50c的呈现数据44d、被提供给事件登记模块80的事件用户数据44e、被提供给事件控制台模块76的显示元素数据44f和被提供给电子邮件警报模块74的电子邮件通知数据44g。数据库还可以存储被报告模块78用来生成关于事件和由系统提供的呈现的报告的数据。数据库还可以存储被联合模块82用来对现有呈现进行联合和复制的数据。
[0018]图5是图示出可以被系统呈现呈现内容的一个或多个用户92和利用系统来向用户92呈现呈现内容的一个或多个呈现者94利用的事件中心90的图。用户92可以与登记和游说模块80相交互,其允许用户向系统登记并调度呈现内容以进行观看。响应于成功登记,可以向用户呈现播放器页面96,诸如提供给用户的客户端计算机的网页,其提供用于呈现的音频和视频数据、幻灯片、轮询和用于该呈现的URL、聊天会话和用于特定呈现的问题和答案。播放器页面96中的数据是由网络服务器60、媒体服务器54和为呈现内容提供聊天功能的聊天服务器98提供的。用于直播事件呈现的呈现数据被呈现管理模块50c提供给服务器54、60和98。呈现者94可以利用事件管理模块50b来预留事件和/或配置事件。一旦事件被预留并配置,则呈现数据被转送给呈现管理模块50c。
[0019]图6是图示出可以结合元数据提取设备的在线呈现客户端100的示例的图。可以将事件客户端100实现为具有足以实现如下所述的客户端功能的计算能力的个人计算机、工作站、PDA、蜂窝式电话等。在图6中所示的示例中,事件客户端可以是典型的个人计算机,其还可以包括显示单元102,诸如CRT或液晶显示器等、机架104和一个或多个输入/输出设备106,其允许用户与客户端100相交互,诸如,例如键盘106a和鼠标106b。机架104还可以包括一个或多个处理器108、永久性存储设备110,诸如硬盘驱动器、光盘驱动器、磁带驱动器等、以及存储器112,诸如SRAM、DRAM或闪速存储器。在优选实施例中,可以将客户端实现为存储在永久性存储设备110中并随后被加载到存储器112中以由(一个或多个)处理器108执行的一件或多件软件。该存储器还可以包括诸如Windows的操作系统114和诸如微软 IE 浏览器(Microsoft Internet Explorer)、火狐浏览器(Mozilla Firefox)或网景浏览器(Netscape Navigator)的典型浏览器应用程序116及在浏览器应用程序内操作的事件控制台模块118(包括幻灯片、轮询、调查、URL、Q&A)。系统/设备的客户端侧被实现为HTML和Javascript代码,其在每个呈现期间/之前被下载/流式传输到客户端100,使得资产的同步不要求被下载到客户端的单独客户端软件。
[0020]现在描述上述呈现系统背景下的多数字流同步。流呈现包括音频或视频流,其中,流被递送给来自某种类型的流媒体服务器(例如,Flash媒体服务器(Media Server)>Windows 媒体服务器(Media Server)、Real 媒体服务器(Media Server)> Wowza 服务器等)的最终用户。音频或视频的源可以是电话呼叫、任何格式的预先记录音频或输入视频信号。通过将元数据如其正在被编码的那样嵌入流中来处理用于直播流事件的同步,这能够使用系统130来完成以便使得能够实现多个媒体流的同步作为如图7中所示的多数字媒体流同步的一部分。所述系统还能够用于点播(存档)流,因为同步数据已被系统嵌入流中。系统可以从呈现管理工具136 (其控制直播呈现)接收被馈送到编码器134 (例如,FlashWindows Media或Real Networks流编码器)中的输入流/信号132连同元数据,其中,元数据包括然后被编码器134编码/加密(诸如通过速记法)到流中的下一同步命令138。已编码流然后被馈送到媒体服务器140(例如,Flash、Windows Media或Real Networks媒体服务器),其向可以呈现主流的观众事件控制台118提供多个流(例如,幻灯片、轮询、调查、URL、辅助流和应用程序演示)。[0021]虽然现有解决方案看起来已尝试将元数据嵌入流本身中,但该机制必须利用由专有流格式(Flash、Windows Media、Real等)使能的元数据通道。在本公开的同步系统中,通过修改输出流本身一并将元数据作为加密的存储在流数据本身中,公开的同步系统去除了对任何单独元数据通道的依赖。本质上,同步命令(例如,哪个幻灯片或轮询将与视频帧(或音频分组)一起显示)被嵌入视频(或音频)本身内。作为结果,同步系统可以将新出现的H.264视频标准与HTML5标准一起使用一两者都没有指定元数据通道能力。因此,同步系统可以使用被发送到服从HTML5的浏览器中的流而不需要任何媒体播放器或插件,并将隐藏在流数据(诸如视频图像)中的同步命令解密。这些同步命令可以采取任何格式一虽然在本实施例中,我们使用URL来向观看事件控制台的观众传达该命令(现在显示此URL、现在示出此特定幻灯片、使预先配置的轮询出现在观众成员面前、开始播放短视频演示剪辑、停止播放剪辑、显示鼠标指针或白板等),其然后被浏览器中的应用程序代码解释以在浏览器上实现动作。浏览器动作除了其他以外还可以包括发起调查、翻转到呈现内容中的下一幻灯片、刷新或关闭浏览器、阻止特定用户并发起不同的URL。
[0022]点播媒体流同步
针对点播呈现,典型的现有方法必须使与各种元素相关联的定时是预先已知的,并且逻辑块体采取本地脚本语言(例如,Javascript)。其连续地访问和控制浏览器中的媒体播放器(Windows Media Player (Windows 媒体播放器)、Real Player (Real 播放器)、FlashPlayer (Flash播放器))以确定呈现的什么组成部分在任何给定时间应是可见的,并显示适当的内容。相比之下,如上所述,同步命令被隐藏在媒体本身中,并且能够从那里被提取以驱动呈现内容内的其余元素。
[0023]图8图示出用于媒体流同步的管理工具(称为“呈现管理器(在图7中136)”的用户界面150的示例。在本图中,跨顶部显示了各种标签一 “呈现(Present)”^幻灯片(Slides)”、“轮询(Polls)”、“URL”、“演示(Demo)”。这些标签中的每一个允许呈现者控制观众最终将在直播事件期间在其控制台上看到什么(并且对于存档版本而言将保持此同步)。“幻灯片”标签示出了来自上传呈现平台(例如,PowerPoint (演示文稿))的各种幻灯片的缩略图。呈现者能够预览幻灯片,并且判定将向观众“推出(Pushed)”哪一个。轮询或URL标签同样地允许呈现者添加该类型的内容并然后“推出”给观众。“演示”标签允许向观众推出短视频剪辑。当由呈现者“推出”某些东西时,数据经由HTTP被提交给weblogic服务器并进入数据库。编码器(图7:134)针对此类改变对数据库进行轮询,并通过操纵视频图像(帧)或音频数据并将此命令隐藏在其内部来将用于适当的“已推出(Pushed) ”动作的命令嵌入到流中。
[0024]系统将能够即时地(直播)操纵输出流,在其被传送至观众之前,并且然后能够对隐藏在视频内的信息进行解密以驱动富媒体呈现内的同步。这允许系统被用于基于标准的、无插件/专有视频播放器架构,具有用于服从HTML5的浏览器和H.264富媒体呈现的完全支持。另外,可以使用一般可用的工具来编辑诸如视频的流,并且其仍保持其嵌入的元数据和用以对富媒体呈现的元素进行驱动和同步的能力,因为元数据是流本身的一部分。
[0025]虽然前述内容已参考了本发明的特定实施例,但本领域的技术人员将认识到的是在不脱离本公开的原理和精神的情况下可以进行此实施例的修改,本公开的范围由所附权利要求限定。
【权利要求】
1.一种用于将同步代码编码到多个数字媒体流中、使得能够使所述多个数字媒体流同步的设备,该设备包括:编码器,接收数字媒体流;呈现管理工具,生成用于数字媒体流的一个或多个同步命令;以及所述编码器将所述一个或多个同步命令嵌入所述数字媒体流中,并且然后将嵌入的一个或多个同步命令和数字媒体流编码成可流式传输给用户的已编码数字媒体流,由此,可在没有单独元数据通道的情况下使已编码数字媒体流与多个数字媒体流同步。
2.权利要求1的设备,其中,每个数字媒体流是视频流、音频流和数字数据流中的一个。
3.权利要求1的设备,其中,每个同步命令是发起调查命令、翻转到下一呈现幻灯片命令、刷新浏览器命令、关闭浏览器命令、阻止特定用户命令和发起不同URL命令中的一个。
4.权利要求1的设备,其中,所述编码器在不需要单独元数据通道的情况下通过操纵数字媒体流将所述一个或多个同步命令直接加密到数字媒体流中。
5.一种用于将同步代码编码到多个数字媒体流中、使得能够使所述多个数字媒体流同步的方法,该方法包括:接收数字媒体流;生成用于数字媒体流的一个或多个同步命令;使用编码器将所述一个或多个同步命令嵌入数字媒体流中;以及使用编码器将嵌入的一个或多个同步命令和数字媒体流编码成可流式传输给用户的已编码数字媒体流,由此,可在没有单独元数据通道的情况下使已编码数字媒体流与多个数字媒体流同步。
6.权利要求5的方法,其中,每个数字媒体流是视频流、音频流和数字数据流中的一个。
7.权利要求5的方法,其中,每个同步命令是发起调查命令、翻转到下一呈现幻灯片命令、刷新浏览器命令、关闭浏览器命令、阻止特定用户命令和发起不同URL命令中的一个。
8.权利要求5的方法,其中,嵌入所述一个或多个同步命令还包括使用编码器将所述一个或多个同步命令加密到数字媒体流中。
9.一种 用于将多个数字媒体流同步、使得对于观众事件控制台而言所述多个数字媒体流是同步的设备,该设备包括:计算机上的观众事件控制台,能够用所述多个数字媒体流显示事件呈现;事件系统,可用观众事件控制台耦合到计算机,其具有编码器和媒体流式传输器,该编码器将每个数字媒体流编码以生成用于每个数字媒体流的已编码数字媒体流,该媒体流式传输器将多个已编码媒体流流式传输到观众事件控制台;其中,每个已编码数字媒体流还包括被嵌入数字媒体流和数字媒体流中的一个或多个同步命令;其中,所述观众事件控制台接收每个已编码数字媒体流并从每个已编码数字媒体流提取所述一个或多个同步命令,使得观众事件控制台基于每个已编码数字媒体流中的已提取的一个或多个同步命令使所述多个数字媒体流同步。
10.权利要求9的设备,其中,每个数字媒体流是视频流、音频流和数字数据流中的一个。
11.权利要求9的设备,其中,每个同步命令是发起调查命令、翻转到下一呈现幻灯片命令、刷新浏览器命令、关闭浏览器命令、阻止特定用户命令和发起不同URL命令中的一个。
12.权利要求9的设备,其中,所述编码器将所述一个或多个同步命令加密到数字媒体流中。
13.权利要求9的设备,其中,所述观众事件控制台还包括由计算机执行的一件软件。
14.权利要求9的设备,其中,所述观众事件控制台还包括在计算机上的浏览器内执行的一片代码。
15.一种用于将多个数字媒体流同步、使得对于观众事件控制台而言所述多个数字媒体流是同步的方法,该方法包括:使用事件系统中的编码器将每个数字媒体流编码以生成用于每个数字媒体流的已编码数字媒体流,其中,每个已编码数字媒体流还包括被嵌入数字媒体流和数字媒体流中的一个或多个同步命令;使用事件系统的媒体流式传输器将多个已编码媒体流流式传输到远程计算机上的观众事件控制台; 在远程计算机上的观众事件控制台上接收每个已编码数字媒体流;使用远程计算机上的观众事件控制台来从每个已编码数字媒体流提取一个或多个同步命令;以及在远程计算机上的观众事件控制台上基于每个已编码数字媒体流中的已提取的一个或多个同步命令使所述多个数字媒体流同步。
16.权利要求15的方法,其中,每个数字媒体流是视频流、音频流和数字数据流中的一个。
17.权利要求15的方法,其中,每个同步命令是发起调查命令、翻转到下一呈现幻灯片命令、刷新浏览器命令、关闭浏览器命令、阻止特定用户命令和发起不同URL命令中的一个。
18.权利要求15的方法,其中,将每个数字媒体流编码还包括使用编码器将所述一个或多个同步命令加密到数字媒体流中。
【文档编号】H04N5/932GK103535026SQ201280015643
【公开日】2014年1月22日 申请日期:2012年3月26日 优先权日:2011年3月29日
【发明者】M.马古什, J.萨哈西 申请人:翁24公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1