执行网络实时通信的方法和装置转让专利

申请号 : CN201710962485.6

文献号 : CN108809924B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张廷焕李钟垀

申请人 : 韩华泰科株式会社

摘要 :

公开执行网络实时通信的方法和装置。一种执行与外部网络浏览器的实时通信的方法包括:对外部网络浏览器传送信令以启动通过网络的实时通信;在执行信令传送之后,基于给定的实时网络协议对编码的媒体数据进行打包;对打包的媒体数据进行解包以获得编码的媒体数据;通过将编码的媒体数据传输到外部网络浏览器来执行通过网络的实时通信。

权利要求 :

1.一种执行与外部网络浏览器的实时通信的方法,所述方法包括以下步骤:通过网络实时通信器,对外部网络浏览器传送信令以启动通过网络的实时通信;

通过网络实时通信器,根据信令传送的结果,向流服务器请求打包的媒体数据;

通过接收所述请求的流服务器,基于给定的实时网络协议对编码的媒体数据进行打包,编码的媒体数据包括基于给定的媒体压缩标准编码的媒体数据;

通过网络实时通信器,对打包的媒体数据进行解包以从打包的媒体数据获得编码的媒体数据;

通过网络实时通信器,将编码的媒体数据传输到外部网络浏览器来执行通过网络的实时通信,其中,响应于在信令传送期间选择给定的媒体压缩标准,通过网络实时通信器请求打包的媒体数据。

2.根据权利要求1所述的方法,其中,对打包的媒体数据进行解包的步骤包括:通过网络实时通信器,从打包的媒体数据的净荷获得编码的媒体数据。

3.根据权利要求2所述的方法,还包括以下步骤:通过网络实时通信器,读取存储在内部存储器中的设置信息以确定所述给定的实时网络协议,其中,通过网络实时通信器,根据确定的实时网络协议来识别打包的媒体数据的净荷。

4.根据权利要求1所述的方法,其中,执行实时通信的步骤包括:通过流服务器,对编码的媒体数据进行重新打包;

通过网络实时通信器,将包括编码的媒体数据的重新打包的媒体数据传输到外部网络浏览器。

5.根据权利要求1所述的方法,还包括以下步骤:通过使用硬件媒体编码器对媒体源进行编码以产生编码的媒体数据。

6.根据权利要求1所述的方法,其中,实时通信包括网络实时通信。

7.根据权利要求1所述的方法,其中,所述给定的实时网络协议是实时传输协议、实时流传输协议以及实时消息传输协议中的一种。

8.根据权利要求1所述的方法,其中,编码的媒体数据基于视频压缩标准H.263、H.264、H.265、VP8、VP9以及AOMdeia Video 1中的一个。

9.一种执行与外部网络浏览器的网络实时通信的方法,所述方法包括以下步骤:通过网络实时通信器,对外部网络浏览器传送信令以启动网络实时通信;

通过网络实时通信器,基于对信令传送步骤的响应,向流传输服务器请求打包的媒体数据,其中,打包的媒体数据包括基于给定的媒体压缩标准编码的媒体数据;

通过网络实时通信器,将从打包的媒体数据获得的编码的媒体数据传输到外部网络浏览器来执行网络实时通信,其中,响应于在信令传送期间选择给定的媒体压缩标准,通过网络实时通信器请求打包的媒体数据。

10.根据权利要求9所述的方法,还包括以下步骤:通过网络实时通信器,从与流传输服务器相关联的外部源装置接收对应于流传输服务器的实时网络协议的信息,其中,

通过网络实时通信器,从打包的媒体数据的净荷获得编码的媒体数据;

通过网络实时通信器,根据接收到的信息来识别打包的媒体数据的净荷。

11.根据权利要求9所述的方法,还包括以下步骤:通过网络实时通信器读取存储在内部存储器中的设置信息以确定对应于流传输服务器的实时网络协议,其中:

通过网络实时通信器,从打包的媒体数据的净荷获得编码的媒体数据;

通过网络实时通信器,根据确定的实时网络协议来识别打包的媒体数据的净荷。

12.根据权利要求9所述的方法,其中,当信令传送的结果指示外部网络浏览器支持所述给定的媒体压缩标准时,通过网络实时通信器,请求打包的媒体数据。

13.根据权利要求12所述的方法,其中,所述给定的媒体压缩标准是视频压缩标准H.263、H.264、H.265中的一个。

14.根据权利要求9所述的方法,还包括以下步骤:当信令传送的结果指示外部网络浏览器支持不同于所述给定的媒体压缩标准的另一媒体压缩标准时,通过网络实时通信器,接收媒体源。

15.根据权利要求14所述的方法,还包括以下步骤:通过媒体编码器,基于所述另一媒体压缩标准对媒体源进行编码;

通过网络实时通信器,将基于所述另一媒体压缩标准的编码的媒体源传输到外部网络浏览器来执行网络实时通信。

16.一种执行与外部网络浏览器的网络实时通信的源装置,所述源装置包括:媒体编码器,被配置为处理媒体源以产生编码的媒体数据;

网络实时通信器,被配置为:

对外部网络浏览器传送信令;

根据信令传送的结果,向流服务器请求打包的媒体数据;

对打包的媒体数据进行解包以从打包的媒体数据获得用于网络实时通信的编码的媒体数据,流服务器,被配置为:

根据对外部网络浏览器传送信令的响应,基于给定的实时网络协议对编码的媒体数据进行打包,编码的媒体数据包括基于给定的媒体压缩标准编码的媒体数据;

其中,响应于在信令传送期间选择给定的媒体压缩标准,通过网络实时通信器请求打包的媒体数据。

17.根据权利要求16所述的源装置,其中:编码的媒体数据基于第一媒体压缩标准;

流服务器被配置为:

当信令传送的结果指示外部网络浏览器支持第一媒体压缩标准时,对编码的媒体数据进行打包。

18.根据权利要求16所述的源装置,其中,网络实时通信器还被配置为:当信令传送的结果指示外部网络浏览器支持不同于第一媒体压缩标准的第二媒体压缩标准时,接收媒体源以执行网络实时通信。

19.根据权利要求18所述的源装置,其中,媒体编码器还被配置为:基于第二媒体压缩标准对接收到的媒体源进行编码;

网络实时通信器还被配置为:使用基于第二媒体压缩标准的编码的媒体数据来执行网络实时通信。

20.根据权利要求18所述的源装置,其中,网络实时通信器被配置为:从打包的媒体数据的净荷获得编码的媒体数据;

将编码的媒体数据传输到外部网络浏览器以执行网络实时通信。

说明书 :

执行网络实时通信的方法和装置

[0001] 本申请要求于2017年5月2日提交的第62/500,390号美国临时专利申请和于2017年8月24日提交的第15/685,538号美国非临时专利申请的优先权和权益,所述美国专利申请出于所有目的通过引用包含于此,如同在这里被全面阐述。

技术领域

[0002] 本发明整体涉及用于通过网络提供编码的多媒体通信的装置和方法,更具体地讲,涉及一种具有提高的编码效率的例如经由网络实时通信来传输编码的媒体数据的源装置、网络系统和方法。

背景技术

[0003] 一些通信服务提供商和企业已经基于被称为网络实时通信(WebRTC)的协议配置实时通信应用。WebRTC是用于将实时多媒体通信能力(诸如,语音通话、视频聊天、点对点文件共享等)嵌入到网络浏览器的开放互联网标准,并且实现源装置和接收装置之间的浏览器至浏览器实时通信。对于具有支持的网络浏览器的任何装置,WebRTC能够使用应用编程接口(API)为装置配备实时通信能力,而不需要用户下载嵌入软件。WebRTC在两个网络浏览器之间建立连接,并且创建用于对等节点之间的数据交换的信道。
[0004] 当执行WebRTC时,接收装置可具有足够的硬件资源来处理从源装置接收到的媒体数据。例如,即使具有高性能处理器的接收装置(诸如,便携式计算机、个人数字助理(PDA)以及智能电话)经由软件对媒体数据进行解码,接收装置也可平滑地播放媒体数据。在另一方面,源装置可不具有硬件资源,从而无法处理媒体数据。例如,如果源装置经由软件对媒体数据进行编码,则源装置可能具有低性能处理器并且可能无法不平滑地或有效地对将被传输的媒体数据进行编码。在这种情况下,WebRTC和源装置的整体操作和/或性能可能劣化并且可能降低期望的实时通信的质量和/或效率。
[0005] 在本背景技术部分公开的上述信息仅用于增强对本发明构思的背景技术的理解,因此,上述信息可包含不形成本领域普通技术人员已知的现有技术的信息。

发明内容

[0006] 根据本发明的原理构造的源装置和网络系统以及采用本发明的原理的方法提高实时通信(诸如,WebRTC)的效率和/或质量。这可通过具有提高的编码效率的源装置来实现。例如,根据本发明的原理构造的源装置的网络实时通信器通过流传输服务器来接收编码的媒体数据。
[0007] 根据本发明的原理构造的装置和系统还可在不需要接收装置的用户下载和安装嵌入软件的情况下实现点对点WebRTC。
[0008] 另外的多个方面将在下面的具体实施方式中部分地阐述,部分将通过本公开而明显,或者可通过本发明构思的实施来了解。
[0009] 根据本发明的一方面,一种执行与外部网络浏览器的实时通信的方法包括以下步骤:对外部网络浏览器传送信令以启动通过网络的实时通信;在执行信令传送之后,基于给定的实时网络协议对编码的媒体数据进行打包;对打包的媒体数据进行解包以获得编码的媒体数据;通过将编码的媒体数据传输到外部网络浏览器来执行通过网络的实时通信。
[0010] 对打包的媒体数据进行解包的步骤可包括:从打包的媒体数据的净荷获得编码的媒体数据。
[0011] 所述方法还可包括以下步骤:读取存储在内部存储器中的设置信息以确定所述给定的实时网络协议。可根据确定的实时网络协议来识别打包的媒体数据的净荷。
[0012] 执行实时通信的步骤可包括:对编码的媒体数据进行重新打包;将包括编码的媒体数据的重新打包的媒体数据传输到外部网络浏览器。
[0013] 所述方法还可包括以下步骤:通过使用硬件媒体编码器对媒体源进行编码以产生编码的媒体数据。
[0014] 实时通信可包括网络实时通信(WebRTC)。
[0015] 所述给定的实时网络协议可以是实时传输协议(RTP)、实时流传输协议(RTSP)以及实时消息传输协议(RTMP)中的一种。
[0016] 编码的媒体数据可以基于视频压缩标准H.263、H.264、H.265、VP8、VP9以及AOMdeia Video 1(AV1)中的一个。
[0017] 根据本发明的另一方面,一种执行与外部网络浏览器的网络实时通信的方法包括以下步骤:对外部网络浏览器传送信令以启动网络实时通信;基于对信令传送步骤的响应,向流传输服务器请求打包的媒体数据,其中,打包的媒体数据包括基于给定的媒体压缩标准编码的媒体数据;通过将从打包的媒体数据获得的编码的媒体数据传输到外部网络浏览器来执行网络实时通信。
[0018] 所述方法还可包括以下步骤:从与流传输服务器相关联的外部源装置接收对应于流传输服务器的实时网络协议的信息。可从打包的媒体数据的净荷获得编码的媒体数据,并且可根据接收到的信息来识别打包的媒体数据的净荷。
[0019] 所述方法还可包括以下步骤:读取存储在内部存储器中的设置信息来确定对应于流传输服务器的实时网络协议。可从打包的媒体数据的净荷获得编码的媒体数据,并且可根据确定的实时网络协议来识别打包的媒体数据的净荷。
[0020] 当信令传送的结果指示外部网络浏览器支持所述给定的媒体压缩标准时,可请求打包的媒体数据。
[0021] 所述给定的媒体压缩标准可以是视频压缩标准H.263、H.264、H.265中的一个。
[0022] 所述方法还可包括以下步骤:当信令传送的结果指示外部网络浏览器支持不同于所述给定的媒体压缩标准的另一媒体压缩标准时,接收媒体源。
[0023] 所述方法还可包括以下步骤:基于所述另一媒体压缩标准对媒体源进行编码;通过将基于所述另一媒体压缩标准的编码的媒体源传输到外部网络浏览器来执行网络实时通信。
[0024] 根据本发明的另一方面,一种执行与外部网络浏览器的网络实时通信的源装置包括:媒体编码器,被配置为处理媒体源以产生编码的媒体数据;至少一个处理器,被配置为:对外部网络浏览器传送信令;根据对外部网络浏览器传送信令的响应,基于给定的实时网络协议对编码的媒体数据进行打包;对打包的媒体数据进行解包以获得用于网络实时通信的编码的媒体数据。
[0025] 编码的媒体数据可基于第一媒体压缩标准。所述至少一个处理器可被配置为:当信令传送的结果指示外部网络浏览器支持第一媒体压缩标准时,对编码的媒体数据进行打包。
[0026] 所述至少一个处理器还可被配置为:当信令传送的结果指示外部网络浏览器支持不同于第一媒体压缩标准的第二媒体压缩标准时,接收媒体源以执行网络实时通信。
[0027] 所述至少一个处理器还可被配置为:基于第二媒体压缩标准对接收到的媒体源进行编码;使用基于第二媒体压缩标准的编码的媒体数据来执行网络实时通信。
[0028] 所述至少一个处理器可被配置为:从打包的媒体数据的净荷获得编码的媒体数据;将编码的媒体数据传输到外部网络浏览器以执行网络实时通信。
[0029] 根据本发明的另一方面,一种执行与外部网络浏览器的网络实时通信的源装置包括:媒体编码器,处理媒体源以产生编码的媒体数据;流传输服务器,支持基于给定的实时网络协议的编码的媒体数据的打包;网络实时通信器,对外部网络浏览器传送信令,以用于网络实时通信。并且基于对外部网络浏览器传送信令的响应向流传输服务器请求打包的媒体数据。网络实时通信器通过使用打包的媒体数据来执行网络实时通信。
[0030] 根据本发明的原理,一种执行网络实时通信的源装置和方法具有提高的编码效率和兼容性。
[0031] 上面的总体描述和下面的详细描述是示例性和说明性的,并且意在提供请求保护的主题的进一步说明。

附图说明

[0032] 被包括以提供对本发明构思的进一步理解的附图包含在本说明书中,并且构成本说明书的一部分,附图示出本发明构思的示例性实施例,并且与说明书一起用于解释本发明构思的原理。
[0033] 图1是示出根据本发明的原理构造的用于在源装置和接收装置之间执行WebRTC的网络系统的示例性实施例的框图。
[0034] 图2是示出根据本发明的原理构造的源装置的示例性实施例的框图。
[0035] 图3是示出根据本发明的原理的操作源装置的示例性方法的流程图。
[0036] 图4是示出根据本发明的原理的操作网络实时通信器的示例性方法的流程图。
[0037] 图5是示出可被执行以实现点对点WebRTC的示例性信令传送的流程图。
[0038] 图6是示出用于接收和处理打包的媒体数据的示例性准备操作的流程图。
[0039] 图7是示出适用于实现源装置的示例性实施例的示例性计算机系统的框图。
[0040] 图8是示出根据本发明的原理构造的源装置的另一示例性实施例的框图。
[0041] 图9是示出根据本发明的原理的操作网络实时通信器的另一示例性方法的流程图。
[0042] 图10是示出根据本发明的原理构造的源装置的另一示例性实施例的框图。
[0043] 图11是示出根据本发明的原理的操作网络实时通信器的另一示例性方法的流程图。
[0044] 图12是示出包括源系统的示例性网络系统的框图。
[0045] 图13是示出根据本发明的原理构造的源系统的示例性实施例的框图。
[0046] 图14是示出图13的源系统的修改的实施例的框图。

具体实施方式

[0047] 在以下描述中,为了解释的目的,阐述大量特定细节以提供各种示例性实施例的全面的理解。然而,应该清楚,可在没有这些具体细节或者具有一个或多个等同的布置的情况下,实施各种示例性实施例。在其他情况下,以框图的形式示出公知的结构和装置以避免不必要的模糊各种示例性实施例。
[0048] 当元件或层被称为“在”另一元件或层“上”、“连接到”或者“结合到”另一元件或层时,所述元件或层可“直接在”所述另一元件或层“上”、“直接连接到”或者“直接结合到”所述另一元件或层,或者可存在中间元件或层。然而,当元件或层被称为“直接在”另一元件或层“上”、“直接连接到”或者“直接结合到”另一元件或层时,不存在中间元件或层。为了本公开的目的,“X、Y和Z中的至少一个”以及“从包含X、Y和Z的组中所选择的至少一个”可被解释为只有X、只有Y、只有Z,或者X、Y和Z中的两个或更多个的任何组合,例如,XYZ、XY、YZ以及ZZ。相同的标号始终指示相同的元件。如这里所使用的,术语“和/或”包括一个或多个相关联的列出的项目的任何组合以及所有组合。
[0049] 尽管这里可使用术语“第一”、“第二”等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语用于将一个元件、组件、区域、层和/或部分与另一元件、组件、区域、层和/或部分区分开来。因此,在不脱离本公开的教导的情况下,以下讨论的第一元件、组件、区域、层和/或部分可被称为第二元件、组件、区域、层和/或部分。
[0050] 这里使用的术语是为了描述特定实施例的目的,并不意在限制。如这里所使用的,除非上下文明确另有指示,否则单数形式也意在包括复数形式。此外,当在本说明书使用术语“包括”和/或“包含”时,指定存在叙述的特征、整体、步骤、操作、元件、组件和/或它们的组,但并不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。
[0051] 除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语)具有与本公开作为一部分的领域的普通技术人员通常理解的含义相同的含义。除非在这里明确地定义,否则术语(诸如在通用字典中定义的术语)应被解释为具有与它们在相关领域的上下文中的含义一致的含义,而不被解释为理想化或过于形式化的意义。
[0052] 图1是示出根据本发明的原理构造的用于在源装置110和接收装置120之间执行WebRTC的网络系统100的示例性实施例的框图。网络系统100可包括或实现多个装置、服务器和/或软件组件,所述多个装置、服务器和/或软件组件运行以执行根据所描述的原理和示例性实施例的各种方法。可以理解,图1中示出的说明性的装置和/或服务器可以以其他方式配置,并且由装置和/或服务器提供的操作和服务器可针对所描述的示例性实施例被组合或者分开,并且可由更多数量或者更少数量的装置和/或服务器来执行。一个或多个装置和/或服务器可由相同的或不同的实体来操作和/或维持。
[0053] 参考图1,网络系统100可包括网络105、源装置110、接收装置120以及信令服务器130。源装置110和接收装置120均可包括一个或多个处理器、存储器以及用于执行指令(诸如,存储在一个或多个计算机可读介质上的程序代码和/或数据)以实现这里描述的各种应用和步骤的其他适当的组件。例如,指令可存储在网络系统100的各种组件的内部和/或外部的一个或多个计算机可读介质中。
[0054] 源装置110和接收装置120连接到网络105。网络105可以是可由源装置110、接收装置120以及信令服务器130访问的公共网络、一个或多个专用网络、有线网络、无线网络、其他适当类型网络以及它们的组合中的至少一个。源装置110和接收装置120可具有有线通信能力和无线通信能力中的至少一种,并且可通过网络105互相通信。源装置110和接收装置120实时地执行点对点通信(诸如网络实时通信(WebRTC))。源装置110将包括但不限于多媒体数据的媒体数据(包括音频数据和视频数据中的至少一个)传输到参与特定媒体共享会话的接收装置120。媒体数据可在接收装置120的显示器中播放。即,接收装置120可在它的显示器和音频设备上渲染接收到的媒体数据。
[0055] 例如,源装置110可包括可通过网络105将媒体数据传输到接收装置120的互联网协议(IP)相机、网络录像机、网络相机等中的至少一个。例如,接收装置120可包括可在它的显示器和音频设备上播放接收到的媒体数据的便携式计算机、个人数字助理(PDA)、智能电话、平板PC、视频游戏装置、电视机、台式电脑、监视器、投影仪等。
[0056] 源装置110包括与接收装置120的网络浏览器125执行WebRTC的网络实时通信器115。网络实时通信器115可参与通过信令服务器130对接收装置120的网络浏览器125的信令传送,以启动WebRTC。例如,网络实时通信器115可经由信令传送来定义WebRTC的点对点连接的媒体共享会话。在信令传送期间,如下面讨论的图5中所示,信令服务器130可将来自源装置110的消息中继到接收装置120,并且还可将来自接收装置120的消息中继到源装置
110。在信令传送期间,网络实时通信器115可与接收装置120的网络浏览器125交换媒体能力,诸如,用于对媒体数据进行编码以及对媒体数据进行解码的可用的媒体压缩标准和比特率、媒体数据的分辨率等。在信令传送期间,网络实时通信器115还可与接收装置120的网络浏览器125交换用于在网络105中识别网络实时通信器115以及网络浏览器125的候选,诸如,IP地址和端口。
[0057] 在成功执行信令传送之后,网络实时通信器115可捕获由源装置110的内部组件产生的媒体数据,并且可将媒体数据实时地传输到接收装置120的网络浏览器125,以执行WebRTC。网络浏览器125可在接收装置120的显示器和音频设备上渲染接收到的媒体数据。
[0058] 图2是示出根据本发明的原理构造的源装置110的示例性实施例的框图。
[0059] 参考图2,源装置110可包括存储器111、媒体编码器112、流传输服务器113以及网络实时通信器115。
[0060] 存储器111可以是本领域已知或者以后开发的任何存储器装置或系统的形式并且可存储包括视频源和音频源中的至少一个的媒体源。源装置110还可包括提供视频数据的至少一个相机以及提供音频数据的至少一个麦克风。例如,相机可包括将通过透镜输入的光学信号转换成电信号以产生视频数据的图像传感器。图像传感器可以是本领域已知或者以后开发的可将光信号转换成电信号的半导体装置,诸如,电荷耦合器件(CCD)、互补型金属氧化物半导体(CMOS)等。例如,麦克风可将声音转换成电信号以产生音频数据。产生的视频数据和音频数据可由源装置110的一个或多个处理器处理以提供视频源和音频源。
[0061] 媒体编码器112基于给定的媒体压缩标准对媒体源进行编码并且产生编码的媒体数据ECMD。在一个或多个示例性实施例中,媒体编码器可基于视频压缩标准H.263、H.264、H.265、VP8、VP9、AOMedia Video 1(AV1)等中的一个来对媒体源进行编码。例如,媒体编码器112可与存储器111集成在片上系统中,并且可对存储在存储器111中的媒体源进行编码以产生编码的媒体数据ECMD。
[0062] 响应于网络实时通信器115的请求,流传输服务器113接收编码的媒体数据ECMD并且对编码的媒体数据ECMD进行打包。流传输服务器113可包括媒体捕获驱动器(MCD)113a。媒体捕获驱动器113a可请求媒体编码器112对媒体源进行编码,并且可捕获编码的媒体数据ECMD。流传输服务器113可基于实时网络协议(诸如,实时传输协议(RTP)、实时流传输协议(RTSP)、实时消息传输协议(RTMP)等)来对编码的媒体数据ECMD进行打包。打包的媒体数据PKMD可以是对应于实时网络协议的特定格式。打包的媒体数据PKMD可包括对应于实时网络协议的头以及编码的媒体数据。
[0063] 流传输服务器113可与流传输客户端服务器(诸如,在图1中示出的连接到网络105的云服务器)通信。流传输服务器113可对编码的媒体数据ECMD进行打包并将打包的媒体数据PKMD传输到流传输客户端服务器以进行上传。
[0064] 源装置110还包括网络实时通信器115。网络实时通信器115提供使得源装置110能够执行与接收装置120的网络浏览器125的点对点通信的WebRTC。接收装置120的网络浏览器125还提供使得接收装置120能够执行与网络实时通信器115的点对点通信而不需要下载和安装嵌入软件的WebRTC。
[0065] 根据示出的实施例,网络实时通信器115从流传输服务器113接收打包的媒体数据PKMD,并且使用打包的媒体数据PKMD来执行WebRTC。如参考图1所述,网络实时通信器115可在对网络浏览器125的信令传送被成功执行之后执行WebRTC。
[0066] 网络实时通信器115包括流传输客户端(STRC)115a。流传输客户端115a可向流传输服务器请求打包的媒体数据PKMD。流传输服务器113可响应于所述请求使用媒体捕获驱动器113a来捕获编码的媒体数据ECMD并且产生打包的媒体数据PKMD。这样,流传输客户端115a可从流传输服务器113接收打包的媒体数据PKMD。
[0067] 网络实时通信器115可对打包的媒体数据PKMD进行解包以获得编码的媒体数据ECMD。在一个或多个示例性实施例中,网络实时通信器115可读取设置信息(诸如,存储在源装置110的存储器111或者另一内部存储器中的配置文件),并且可确定哪个实时网络协议已被用于打包的媒体数据PKMD。网络实时通信器115可基于设置信息来解析(或识别)打包的媒体数据PKMD的净荷。网络实时通信器115可丢弃打包的媒体数据PKMD的头,并且从打包的媒体数据PKMD的净荷获得编码的媒体数据ECMD。
[0068] 网络实时通信器115将编码的媒体数据ECMD传输到接收装置120的网络浏览器125以执行WebRTC。当从网络实时通信器115接收到编码的媒体数据ECMD时,接收装置120的网络浏览器125可基于通过信令传送确定的媒体压缩标准来对编码的媒体数据ECMD进行解码,并且可在接收装置120的显示器和音频设备上渲染解码的媒体数据。
[0069] 媒体编码器112可以是硬件编码器。在这种方式下,存储器111和媒体编码器112可包括在硬件层中,并且流传输服务器113和网络实时通信器115可包括在软件层中。然而,源装置110的示例性实施例不限于此。例如,媒体编码器112可经由软件、固件或它们的组合来实现。在这种方式下,对应的程序代码(或软件)可被加载到源装置110的存储器111或者另一内部存储器,并且编码优化的一个或多个处理器可执行程序代码的指令以实现媒体编码器112。
[0070] 网络实时通信器115可经由一个或多个处理器(参见,图7中的1200)执行的软件来实现。如果网络实时通信器115对媒体源进行编码以用于WebRTC,则需要相对多的硬件资源来对媒体源进行编码。例如,当源装置110包括具有相对低的运算性能的处理器,并且处理器执行程序代码(或软件)来实现网络实时通信器115时,处理器的大部分硬件资源可用于对媒体源进行编码。在这种情况下,WebRTC可能不被平滑地或有效地执行,并且源装置110的整体操作性能会降低。例如,源装置110可以是包括具有低运算性能的处理器的IP相机、网络录像机、网络相机等中的一个。
[0071] 媒体编码器112可以是硬件编码器或者可以经由编码优化的一个或多个处理器执行的软件来实现,以提供提高的编码性能。例如,媒体编码器112可集成在提供对媒体源进行编码的功能的片上系统(“SoC”)上,并且SoC可被嵌入在源装置110中。根据示出的实施例,网络实时通信器115通过流传输服务器113从媒体编码器112接收编码的媒体数据ECMD。因此,网络实时通信器115不需要执行对媒体数据进行编码所需要的功能,但是可在对媒体数据进行打包之后从流传输服务器113获得编码的媒体数据ECMD,以便有效地进行传输。因此,即使网络实时通信器115经由软件实现并且执行软件的处理器具有相对低的运算性能,网络实时通信器115也可有效地执行WebRTC,并且源装置110可具有提高的编码效率。
[0072] 媒体编码器112可以以各种方式实现并且被嵌入在源装置110中。例如,媒体编码器112可以是各种硬件编码器中的一种或者可经由如上所述的一个或多个处理器执行的软件来实现。在这种情况下,如果网络实时通信器115直接从媒体编码器112接收编码的媒体数据ECMD,而不是通过流传输服务器113接收编码的媒体数据ECMD,则网络实时通信器115应该被适当地设计为与各种类型的媒体编码器112相兼容,并且能够直接从媒体编码器112请求和接收编码的媒体数据ECMD。这样的系统的示例在图10中示出。
[0073] 因为源装置110包括能够将编码的媒体数据ECMD从媒体编码器112上传到连接到网络105的流传输客户端服务器(诸如,云服务器)的流传输服务器113,所以还可利用流传输服务器113来获得编码的媒体数据ECMD以用于WebRTC。根据示出的实施例,网络实时通信器115从流传输服务器113请求打包的媒体数据PKMD,并且处理打包的媒体数据PKMD以获得编码的媒体数据ECMD。假设流传输服务器113基于通常预先确定的实时网络协议(诸如,RTP、RTSP以及RTMP)中的一种来对编码的媒体数据ECMD进行打包,则可考虑实时网络协议来设计网络实时通信器115,从而提高网络实时通信器115的兼容性。此外,由于网络实时通信器115和对等装置的兼容性提高,所以网络实时通信器115以及包括网络实时通信器115的源装置110的开发成本可降低。
[0074] 图3是示出根据本发明的原理的操作源装置100的示例性方法的流程图。
[0075] 参考图2和图3,在步骤S110,执行与接收装置120的网络浏览器125的信令传送步骤。在信令传送期间,网络实时通信器115与接收装置120的网络浏览器125协商应用于将被传输到网络浏览器125的媒体数据的媒体压缩标准。网络实时通信器115可与网络浏览器125协商,从而选择媒体编码器112支持的媒体压缩标准。
[0076] 在步骤S120,基于给定的媒体压缩标准在媒体编码器112对媒体源进行编码。给定的媒体压缩标准可以是在信令传送期间协商的媒体压缩标准。
[0077] 在步骤S130,基于实时网络协议在流传输服务器113对编码的媒体数据ECMD进行打包。流传输服务器113可捕获由媒体编码器112产生的编码的媒体数据ECMD,并且可基于若干实时网络协议(诸如,RTP、RTSP以及RTMP)之中的实时网络协议来对编码的媒体数据ECMD进行打包。
[0078] 在步骤S140,对打包的媒体数据PKMD进行解包以获得编码的媒体数据ECMD。网络实时通信器115可基于对应于流传输服务器113的实时网络协议来执行解包(或者包分割),并且可从打包的媒体数据PKMD的净荷获得编码的媒体数据ECMD。
[0079] 在步骤S150,通过使用编码的媒体数据ECMD,与接收装置120的网络浏览器125执行WebRTC。网络实时通信器115可以以WebRTC的特定格式来对编码的媒体数据ECMD进行重新打包,并且将重新打包的媒体数据传输到接收装置120的网络浏览器125。
[0080] 接收装置120的网络浏览器125可对重新打包的媒体数据进行解包,并且可对编码的媒体数据ECMD进行解码以播放媒体。
[0081] 图4是示出根据本发明的原理的操作网络实时通信器115的示例性方法的流程图。图5是示出可被执行以实现点对点WebRTC的示例性信令传送的流程图。图6是示出用于接收和处理打包的媒体数据的示例性准备操作的流程图。
[0082] 参考图2和图4,在步骤S210,执行对接收装置120的网络浏览器的信令传送。在信令传送中,网络实时通信器115可与接收装置120的网络浏览器125交换会话描述协议的消息。可在网络实时通信器115和网络浏览器125二者接入信令服务器130之后执行信令传送。
[0083] 参考图5,建立用于WebRTC的点对点通信的媒体共享会话的信令传送可包括步骤S311至S318。在步骤S311,网络浏览器125可将会话描述协议的提议发送到信令服务器130,所述提议通知媒体能力(诸如,可用于网络浏览器125的至少一个媒体压缩标准以及媒体数据的分辨率)。在步骤S312,信令服务器130可将来自网络浏览器125的提议中继到网络实时通信器115。在步骤S313,网络实时通信器115可将会话描述协议的应答发送到信令服务器130,所述应答通知媒体能力(诸如,可用于网络实时通信器115和/或源装置110的媒体压缩标准以及分辨率)。由应答表示的可用的媒体压缩标准可包括对应于嵌入在源装置110中的媒体编码器112的媒体压缩标准。在步骤S314,信令服务器130可将应答中继到网络浏览器
125。即,通过步骤S311至S314,网络实时通信器115和网络浏览器125可协商包括媒体压缩标准的媒体数据的媒体能力。
[0084] 在步骤S315,网络浏览器125可发送用于在网络105中识别网络浏览器125的候选(诸如,IP地址和端口,通过所述IP地址和端口来执行WebRTC)。在步骤S316,信令服务器130可将网络浏览器125的候选中继到网络实时通信器115。在步骤S317,网络实时通信器115还可发送用于在网络105中识别网络实时通信器115的候选。在步骤S318,信令服务器130可将网络实时通信器115的候选中继到网络浏览器125。在一个或多个示例性实施例中,网络实时通信器115和网络浏览器125均可使用NAT会话穿透效用(STUN)服务器来确定候选。例如,STUN服务器可响应于来自网络实时通信器115以及网络浏览器125的请求返回候选。通过步骤S315至S318,网络实时通信器115以及网络浏览器125中的每个可指定IP地址和端口,通过所述IP地址和端口来执行WebRTC。
[0085] 在示出的实施例中,网络浏览器125发送提议,然后网络实时通信器115响应于提议发送应答。然而,示例性实施例不限于此,并且步骤S311至S318可被不同地改变。例如,网络实时通信器115可发送提议以启动信令传送,并且网络浏览器125可响应于提议来发送应答。
[0086] 在步骤S320,在成功执行信令传送之后,网络实时通信器115和网络浏览器125可基于WebRTC来执行点对点通信。
[0087] 返回参考图4,在步骤S220,向流传输服务器113请求打包的媒体数据PKMD。网络实时通信器115从流传输服务器113接收包括编码的媒体数据ECMD的打包的媒体数据PKMD。
[0088] 在步骤S230,对打包的媒体数据进行解包以获得编码的媒体数据ECMD。网络实时通信器115可基于流传输服务器113的实时网络协议来解析打包的媒体数据PKMD的净荷并从净荷提取编码的媒体数据ECMD。
[0089] 在执行步骤S220或步骤S230之前,参考图6,网络实时通信器115可确定流传输服务器113的实时网络协议(S410)。根据实时网络协议的确定,网络实时通信器115可解析打包的媒体数据PKMD的净荷。在一个或多个示例性实施例中,网络实时通信器115可从源装置110的任何类型的内部存储器(参见图7中的1300和1600)或者从与源装置110相关联的任何类型的外部存储器来读取设置信息(诸如,配置文件),并且可基于读取的设置信息来确定流传输服务器113的实时网络协议。在另一示例性实施例中,网络实时通信器115可在若干实时网络协议下顺序地调用流传输服务器,并且可根据是否接收到对应的响应来确定流传输服务器113的实时网络协议。
[0090] 再次参考图4,在步骤S240,通过使用编码的媒体数据ECMD来执行WebRTC。网络实时通信器115可将编码的媒体数据ECMD传输到接收装置120的网络浏览器125。
[0091] 根据本发明的原理,包括网络实时通信器115的源装置110可通过使用用于WebRTC的由媒体编码器112编码的媒体数据ECMD而具有提高的编码效率。此外,可通过经由流传输服务器113提供编码的媒体数据ECMD来提高网络实时通信器115的兼容性。
[0092] 图7是示出适合于实现源装置110的示例性实施例的示例性计算机系统1000的框图。
[0093] 参考图7,计算机系统1000可包括总线1100、处理器1200、系统存储器1300、半导体芯片1400、媒体录像机1500、存储介质1600以及网络接口1700。
[0094] 总线1100或者其他通信机制连接计算机系统1000的各种组件,用于传送数据、信号和信息。可以是任何类型的通用或专用处理器的处理器1200可控制计算机系统1000的整体操作。系统存储器1300可存储将被处理器1200执行的信息和指令。系统存储器1300可包括随机存取存储器(RAM)、只读存储器(ROM)以及任何其他类型的计算机可读介质的任何组合。
[0095] 半导体芯片1400可连接到总线1100,并且提供编码的多媒体数据(参见图2中的ECMD)。半导体芯片1400可包括对媒体源进行编码的媒体编码器1410。媒体源和/或编码的媒体数据(参见图2中的ECMD)可存储在半导体芯片1400的内部存储器1420中或者存储在计算机系统1000的系统存储器1300中。可以预期,内部存储器1420和/或系统存储器1300可被设置为图2中示出的存储器111。
[0096] 在一个或多个示例性实施例中,媒体编码器1410可以是硬件编码器。在另一示例性实施例中,半导体芯片1400可包括执行对应于媒体编码器1410的程序代码的一个或多个处理器。在这种方式下,内部存储器1420可被设置为一个或多个处理器的工作存储器。
[0097] 系统存储器1300可存储当由处理器1200执行时提供功能的程序代码。程序代码可包括WebRTC模块1310,WebRTC模块1310用于提供处理打包的媒体数据(图2中的PKMD)、将编码的媒体数据传输到外部网络浏览器(参见图2中的120)的功能以及这里所公开的所有其他功能。当由处理器1200执行时,WebRTC模块1310可提供图2中示出的网络实时通信器115的功能。程序代码还可包括当由处理器1200执行时用于提供图2中示出的流传输服务器113的功能的流传输模块1320。程序代码还可包括用于提供附加功能的一个或多个附加功能模块。在一个或多个示例性实施例中,程序代码还可包括为计算机系统1000提供操作系统功能的操作系统模块。
[0098] 媒体录像机1500记录图像和/或声音以提供视频数据和/或音频数据。视频数据和/或音频数据可由处理器1200处理以提供媒体源。尽管图7示出媒体录像机1500包括在计算机系统1000中,但是示例性实施例不限于此。例如,媒体录像机可与计算机系统1000分离,但是可与网络通信。在这种方式下,计算机系统1000可经由网络接口1700从分离的媒体录像机接收视频数据和/或音频数据。
[0099] 存储介质1600可以是可由处理器1200访问的任何可用的媒体。存储介质1600可包括非易失性存储器(诸如,存储卡)。例如,存储介质1600可包括紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、安全数字(SD)卡、通用闪存(UFS)等中的至少一个。存储介质1600可包括可移动的存储器和固定的存储器。
[0100] 网络接口1700(或收发器)经由网络在计算机系统1000和其他装置之间发送和接收信号。网络可以是单个网络或者多个网络的组合。例如,网络可包括公共网络、一个或多个专用网络、无线网络和/或可由计算机系统1000访问的其他适当类型的网络以及图1的网络系统100的各种组件。
[0101] 在一个或多个示例性实施例中,计算机系统1000还可包括处理用户动作(诸如,从键盘选择按键、选择按钮、图像等)并且将对应的信号发送到总线1100的输入/输入组件。
[0102] 图8是示出根据本发明的原理构造的源装置210的另一示例性实施例的框图。
[0103] 参考图8,源装置210包括存储器211、媒体编码器212、流传输服务器213以及网络实时通信器215。存储器211、媒体编码器212和流传输服务器213可被配置为与参考图2描述的存储器111、媒体编码器112和流传输服务器113相同。因此,这些组件的描述是不必要的,并且为了清楚和简明将被省略。
[0104] 当网络实时通信器215执行对接收装置120的网络浏览器125的信令传送时,可选择不对应于媒体编码器212的媒体压缩标准。例如,在接收装置120的网络浏览器125不支持由媒体编码器212支持的媒体压缩标准的情况下,网络实时通信器215不能与网络浏览器125协商,使得媒体编码器212支持的媒体压缩标准被选择。在这种情况下,可选择不对应于媒体编码器212的另一媒体压缩标准。
[0105] 根据示出的实施例,网络实时通信器215根据信令传送结果向流传输服务器213请求打包的媒体数据PKMD。
[0106] 当在信令传送期间选择对应于媒体编码器212的媒体压缩标准时,网络实时通信器215的流传输客户端215a向流传输服务器213请求打包的媒体数据PKMD。响应于请求,流传输服务器213通过使用媒体捕获驱动器213a来捕获由媒体编码器212提供的编码的媒体数据ECMD并且产生打包的媒体数据PKMD。网络实时通信器215可通过流传输客户端215a接收打包的媒体数据PKMD,并且可通过使用打包的媒体数据PKMD来执行WebRTC。
[0107] 当在信令传送期间选择不对应于媒体编码器212的另一媒体压缩标准时,网络实时通信器215可直接从存储器211接收媒体源MS。网络实时通信器215还可包括媒体捕获驱动器215b。网络实时通信器215的媒体捕获驱动器215b可从存储器211捕获媒体源MS。网络实时通信器215可基于在信令传送期间选择的另一媒体压缩标准来对媒体源MS进行编码。网络实时通信器215可基于所述另一媒体压缩标准使用编码的媒体数据来执行WebRTC。
[0108] 图9是示出根据本发明的原理的操作网络实时通信器215的另一示例性方法的流程图。
[0109] 参考图8和图9,在步骤S510,执行对接收装置120的网络浏览器125的信令传送。在信令传送期间,选择将要应用于媒体数据的媒体压缩标准。
[0110] 在步骤S520,确定在信令传送期间所选择的媒体压缩标准是否对应于媒体编码器212。当所选择的媒体压缩标准对应于媒体编码器212时,媒体源可由具有相对高的处理速度的媒体编码器212进行编码。在一个或多个示例性实施例中,对应于媒体编码器212的媒体压缩标准可以是视频压缩标准H.263、H.264以及H.265中的至少一个。这样,当在信令传送期间所选择的媒体压缩标准对应于媒体编码器212时,可执行步骤S530和步骤S540。步骤S530和S540被描述为与图4中的步骤S220和S230相同。
[0111] 在步骤S550,当在信令期间所选择的媒体压缩标准不对应于媒体编码器212时,可捕获媒体源。在步骤S560,基于所选择的媒体压缩标准对捕获的媒体源进行编码。例如,由网络实时通信器215编码的媒体压缩标准可以是视频压缩标准VP8、VP9和AV1中的一个。
[0112] 在步骤S570,通过使用编码的媒体数据来执行WebRTC。网络实时通信器215可将编码的媒体数据传输到接收装置120的网络浏览器125。
[0113] 根据示出的实施例,当在信令传送期间所选择的媒体压缩标准不对应于媒体编码器212时,网络实时通信器215可对媒体源进行编码,以用于WebRTC。因此,可提供对于接收装置的各种网络浏览器具有相对高的兼容性的源装置。
[0114] 图10是示出根据本发明的原理构造的源装置310的另一示例性实施例的框图。
[0115] 参考图10,源装置310包括存储器311、媒体编码器312、流传输服务器313以及网络实时通信器315。存储器311、媒体编码器312以及流传输服务器313可被配置与参考图2描述的存储器311、媒体编码器312以及流传输服务器313相同。因此,这些组件的描述是不必要的,并且为了清楚和简明将被省略。
[0116] 除了还从媒体编码器312接收编码的媒体数据ECMD之外,网络实时通信器315可被配置为与参考图8描述的网络实时通信器215相同。网络实时通信器315可被设计为能够访问各种类型的媒体编码器中的至少一个。在这种方式下,当媒体编码312可访问时,网络实时通信器315的媒体捕获驱动器315b可从媒体编码器312捕获编码的媒体数据ECMD。
[0117] 图11是示出根据本发明的原理的操作网络实时通信器315的另一示例性方法的流程图。
[0118] 参考图10和图11,在步骤S610,执行对接收装置120的网络浏览器125的信令传送。
[0119] 在步骤S620,确定在信令传送期间所选择的媒体压缩标准是否对应于媒体编码器312。如果是,则执行步骤S630。在步骤S630,确定流传输服务器313是否存在。例如,如与参考图6的描述类似,网络实时通信器315可读取设置信息或者在若干实时网络协议下顺序地调用流传输服务器来确定流传输服务器313是否存在。当流传输服务器313存在时,执行步骤S640和步骤S650。步骤S640和S650被描述为与图4中的步骤S220和S230相同。
[0120] 当所选择的媒体压缩标准不对应于媒体编码器312时,执行步骤S660和S670。步骤S660和S670被描述为与图9中的步骤S550和S560相同。
[0121] 在步骤S680,确定媒体编码器312是否可访问。在步骤S690,当媒体编码器312可访问时,从媒体编码器312捕获编码的媒体数据ECMD。更详细地讲,当流传输服务器313不存在,而媒体编码器312被包括在各种类型的媒体编码器中的至少一个中时,网络实时通信器315可被设计为能够访问各种类型的媒体编码器中的所述至少一个,并且可捕获编码的媒体数据ECMD。例如,网络实时通信器315可从源装置310的内部存储器或者从与源装置310相关联的内部存储器读取设置信息,或者可顺序地调用一个或多个类型的媒体编码器,来确定源装置310是否包括可访问的媒体编码器。
[0122] 在步骤S700,通过使用编码的媒体数据来执行WebRTC。
[0123] 根据本发明的原理,当媒体编码器312可访问时,网络实时通信器315可从媒体编码器312捕获编码的媒体数据ECMD。因此,虽然包括网络实时通信器315的源装置310不包括流传输服务器313,但是源装置310可具有提高的编码效率,从而提高了网络实时通信器315对各种源装置的兼容性。
[0124] 图12是示出包括源系统410的示例性网络系统400的框图。
[0125] 参考图12,源系统410可经由网络405连接到接收装置420以及信令服务器430。
[0126] 源系统410包括提供媒体源的一个或多个源装置SD1至SDm以及与一个或多个源装置SD1至SDm通信的网络实时通信装置415。网络实时通信装置415将WebRTC功能提供给第一源装置SD1至第m源装置SDm。网络实时通信装置415通过信令服务器430执行对源装置420的网络浏览器425的信令传送。
[0127] 网络实时通信装置415可通过例如路由器之后的专用网络连接到第一源装置SD1至第m源装置SDm。因此,在执行信令传送之后,网络实时通信装置415可向第一源装置SD1至第m源装置SDm中的每一个请求打包的媒体数据。响应于请求,第一源装置SD1至第m源装置SDm均可将包括编码的媒体数据的打包的媒体数据提供给网络实时通信装置415。
[0128] 图13是示出根据本发明的原理构造的源系统410的示例性实施例的框图。
[0129] 参考图13,第一源装置SD1至第m源装置SDm中的每一个可包括存储器、媒体编码器以及流传输服务器。第一源装置SD1包括第一存储器511、第一媒体编码器512以及第一流传输服务器513。第二源装置SD2包括第二存储器521、第二媒体编码器522以及第二流传输服务器523。第m源装置SDm包括第m存储器5m1、第m媒体编码器5m2以及第m流传输服务器5m3。
[0130] 网络实时通信装置415可通过第一信道CH1至第m信道CHm分别与第一流传输服务器513至第m流传输服务器5m3通信。网络实时通信装置415以及源装置SD1至SDm可包括连接到第一信道CH1至第m信道CHm的网络端口。
[0131] 在执行对应的信令传送之后,网络实时通信装置415可向源装置的流传输服务器请求打包的媒体数据。接收请求的源装置的媒体编码器对存储器的媒体源进行编码并且产生编码的媒体数据。对应的流传输服务器对编码的媒体数据进行打包并且将打包的媒体数据传输到网络实时通信装置415的流传输客户端415a。图13示出第一媒体编码器512至第m媒体编码器5m2分别提供第一编码的媒体数据ECMD1至第m编码的媒体数据ECMDm,并且第一流传输服务器513至第m流传输服务器5m3分别将第一打包的媒体数据PKMD1至第m打包的媒体数据PKMDm传输到网络实时通信装置415。网络实时通信装置415可处理接收到的打包的媒体数据,并且可将编码的媒体数据传输到接收装置420的网络浏览器425以执行WebRTC。
[0132] 在一个或多个示例性实施例中,网络实时通信装置415可在接收第一打包的媒体数据PKMD1至第m打包的媒体数据PKMDm之前,从第一源装置SD1至第m源装置SDm接收第一流传输服务器513至第m流传输服务器5m3的实时网络协议的信息。
[0133] 图14是示出图13的源系统410的修改的实施例600的框图。
[0134] 参考图14,第一源装置SD1'至第m源装置SDm'中的每一个可包括存储器和媒体编码器。第一源装置SD1'包括第一存储器611以及第一媒体编码器612,第二源装置SD2'包括第二存储器621以及第二媒体编码器622,第m源装置SDm'包括第m存储器6m1以及第m媒体编码器6m2。
[0135] 流传输服务器713可包含在网络实时通信装置700中。网络实时通信装置700的流传输服务器713可通过第一信道CH1至第m信道CHm分别与第一源装置SD1'至第m源装置SDm'通信。流传输服务器713通过第一信道CH1至第m信道CHm分别接收第一编码的媒体数据ECMD1至第m编码的媒体数据ECMDm,并且将第一打包的媒体数据PKMD1至第m打包的媒体数据PKMDm提供给网络实时通信装置700的网络实时通信器715。
[0136] 在一个或多个示例性实施例中,图12和图13中的源装置SD1至SDm和SD1'至SDm'以及网络实时通信装置415和700可通过参考图7描述的计算机系统1000来实现。在这种方式下,源装置SD1至SDm以及SD1'至SDm'可选择性地包括根据图7中示出的所示实施例的流传输模块1320。网络实时通信装置415和700可不包括半导体芯片1400并且选择性地包括根据图7中示出的实施例的流传输模块1320。在一个或多个示例性实施例中,网络实时通信装置415和700的功能可由硬件装置提供。
[0137] 虽然这里已经描述了特定示例性实施例和实现方式,但是其他实施例和修改从本说明书将是清楚的。因此,本发明构思不限于这样的实施例,而是限于所提出的权利要求的更广泛的范围以及各种明显的修改和等同布置。