首页> 中国专利> 用于在设备布局中进行音频/视频流送的消息传递框架

用于在设备布局中进行音频/视频流送的消息传递框架

摘要

可在用于音频/视频流送的布局中管理资源。该布局包括音频/视频源和宿以及中间的分支设备。这些源、宿以及分支设备之间的消息可用于资源管理。

著录项

  • 公开/公告号CN102164071A

    专利类型发明专利

  • 公开/公告日2011-08-24

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201110037405.9

  • 发明设计人 S·坎布哈特拉;

    申请日2011-01-27

  • 分类号H04L12/56;H04L12/58;H04N21/63;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人毛力

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-07-08

    授权

    授权

  • 2011-10-05

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20110127

    实质审查的生效

  • 2011-08-24

    公开

    公开

说明书

背景技术

本发明一般涉及提供视频和音频数据的源和宿的设备。

DisplayPort(显示端口)是视频电子标准协会(VESA)的数字音频/视频互连标准。它允许视频和音频从计算机耦合到视频显示器或音频回放系统。DisplayPort连接器在主链路中支持1、2或4个数据对,该主链路还以每秒1.62、2.7或5.4吉比特的码元速率传输时钟和可任选的音频信号。1.1标准在2006年5月被批准,且在2009年宣布了数据率提高的1.2标准。该DisplayPort 1.2标准使1.1标准的带宽加倍。

利用DisplayPort 1.2标准,两个WQXGA监视器可从单个源链路接收音频/视频数据,或者四个WUXGA监视器可从单个源链路接收数据。此外,1.2标准允许可用于以通用串行总线(USB)外围设备数据传输、话筒音频传输或摄像机视频传输这几种应用为例的更高速AUX。

显示器或宿设备可直接或通过称为分支设备的设备连接至诸如个人计算机或消费电子设备的源设备。现有的许多类型的分支设备包括中继音频或视频信息的中继器、将音频或视频信息从一种格式转换成另一种格式的转换器、复制数据的复制器、以及将来自两个或更多个源设备的流作为输入并在其下游链路上传输这些流的集中器。诸如DisplayPort 1.2的接口标准允许一个链路上的多个流;在此情况下,这些两个或更多个输入流可被传输到单个下游链路上。一些集中器可以切换模式操作,即每次仅一个选定源可传输。

源、宿以及分支设备一起形成其中给定源可通过零个或更多个分支设备将视频流送至一个或更多个宿的布局。活动的视频数据流过连接各种设备类型的链路。每个链路受其带宽和其支持的流数量约束。宿将具有用来呈现流的有限数量的音频和视频端点。因此,基于该布局,可能存在可用视频或音频源的竞争。

图1中所示的一种此类布局可包括如图所示的两个源和五个宿。1号源想要将视频流送至1号宿,而2号源想要将视频流送至2号宿,2号分支与3号分支之间的链路是两个路径公用的。因此,在源处产生关于该竞争的问题,包括沿该路径的该链路或任何其它链路中有多少带宽可用。另一问题是可如何在该路径上保留资源。又一问题是可驱动多少音频/视频流。其它问题包括能如何管理对共享资源的访问以及如何传达错误。

附图简述

图1是根据一个实施例的音频/视频分配布局的示意图;

图2是根据一个实施例的用于枚举、提交和释放的序列图;

图3是分支设备的一个实施例的示意图;

图4是根据一个实施例的枚举软件的流程图;

图5是根据一个实施例的消息序列图;

图6是根据一个实施例的用于枚举路径资源的序列图;

图7是示出能如何为图6示出的布局建立各种显示配置的序列图;

图8是根据一个实施例的两个源与两个宿之间的可能映射的描绘;

图9是一个实施例的流程图;

图10是一个实施例的流程图;

图11是根据一个实施例的消息序列;

图12是根据一个实施例的上行动作路径消息序列;

图13是根据一个实施例的目的地序列的映射;

图14是根据一个实施例的上行链路动作路径消息的消息序列图;

图15是根据一个实施例的源与分支设备之间的连接的描绘;

图16是根据一个实施例的多个源与分支设备的描绘;

图17是根据一个实施例的具有两个视频端点的布局的描绘;以及

图18是一个实施例的流程图。

详细描述

根据一些实施例,特定消息可在提供和接收视频和音频数据的设备之间交换。沿源与宿设备之间的路径设备可响应于这些消息采取协调动作。消息可被发送至由其地址指定的目标目的地。如图2所示,可使用消息ENUM_PATH_RESOURCES(枚举路径资源)、COMMIT_PATH_RESOURCES(提交路径资源)以及RELEASE_PATH_RESOURCES(释放路径资源)。例如,在DisplayPort规范中,这些消息可在AUX信道上发送。

在消息传输之前产生地址空间。每个源10将ENUM_PATH_RESOURCE消息18发送至期望宿16,以枚举主链路带宽和流数量。紧靠期望宿16在上游的分支设备14以可用带宽(BW=x)和流数量(#STREAMS=s)作出响应,如20处所示。在该回复向上游进一步传播之前,上游分支12改变来自下游分支14的可用带宽(BW=x′)和流数量(#STREAMS=s′),以反映可从下游路径获得的内容,如22处所示。

最终,源10获得路径资源。该消息在控制总线(诸如DisplayPort上的AUX)上发送,但该查询是针对主链路资源的。在控制总线上无带宽保留,且控制消息在该布局中的设备之间交换,即使在一个或两个源要求得到全部主链路资源时也是如此。

作为该消息的处理的一部分,每个设备可能需要沿指定路径训练主链路,以确定作为下游链路可用的带宽的量。作为该过程的一部分,还枚举音频资源。这是为了确定可用于在任何给定时刻进行流送的端点的数量。

链路带宽枚举馈入诸如视频模式枚举的操作系统操作中。基于此以及终端用户对要排除的视频模式的异步选择,可如下地利用COMMIT_PATH_RESOURCES消息24完成提交过程。枚举带宽在提交时间可能不可用。例如,不同的源可在任何给定时间向同一宿发送不同的ENUM_PATH_RESOURCES消息。它们也可对具有有共同链路的路径的不同宿发送该消息。作为示例,1号源枚举、接着2号源枚举、接着1号源提交的序列之后是例如2号源提交,该2号源提交由于之前1号源提交而失败。

源10向宿16发送COMMIT_PATH_RESOURCE消息24。该消息具有所需带宽和流数量。沿指定路径的所有设备(例如分支12和14)为该源保留资源。回复26和28可指示成功或失败。

每个设备仅在能成功提交所需资源时传播COMMIT_PATH_RESOURCES 24。除了来自不同源设备的独立资源提交之外,有可能沿该路径的中间链路会重新训练至较低带宽,从而提供失败的另一原因。链路训练是为了使发射机或接收机对一电气配置达成协议而执行的握手。为考虑设备的布局,该概念被扩展至整个路径,其中该路径上的每个链路需要以称为路径训练的协作方式被训练。

一些设备在下游设备提交失败之前可能已经成功地提交用于视频流的资源。为了释放这些资源,该源设备可在接收COMMIT_PATH_RESOURCES的失败之后发出RELEASE_PATH_RESOURCES 30消息。

活动视频在COMMIT_PATH_RESOURCES成功完成之后开始。反之,当该流将被终止时,该源发出RELEASE_PATH_RESOURCES 32以在沿该路径的设备处实现已提交资源的释放。

参照图3,源10、宿16以及在图3中示为34的分支设备12或14中的每一个包括处理器36。该处理器可耦合至接收机38和发射机40。在一个实施例中,处理器36还可耦合至存储体42,该存储体42存储包括枚举软件44的软件。因此,存储体42可以是存储由处理器36执行的指令的计算机可读介质。该存储体42可以是半导体、光或磁存储器。

在一个实施例中,图4所示的枚举序列可以是软件,但也可以用硬件或固件来实现。菱形46处的检查确定分支设备是否已接收到枚举消息。如果为是,则消息接收分支设备用接收设备的可用带宽和可用流数量对上游的分支设备作出回复。

如果接收设备在一段时间之后未接收枚举消息,则菱形50处的检查步骤确定非接收设备是否为从下游设备接收指定带宽和流数量的消息的上游设备。如果为是,则上游设备修改反映其能力所需的接收带宽和流数量。然后它按照需要将原始带宽和流数量或经修改的数值发送至下一分支或源,如框54所指示。

参照图5,用于添加或删除流的消息序列图包括具有适当的流标识符的源60和两个宿62、64。宿1 62的标识符是“1”,且宿2 64的标识符是1.2。每个设备包括标注为“1”或“2”的端口。

然后,参照图6,描绘了源1 60、分支+宿1 62以及宿2 64之间的序列图。AUX指的是控制信道,而主链路指的是数据信道。

例如,诸如图5中所示的布局中的每个链路可由独立的控制和数据信道组成,且这些连接是点对点的。能够利用寻址和路由机制在控制信道上向任何设备发送消息。该过程在涉及源处的流的本地唯一标识符以及映射表和集中器的维护,如图6所示。

在地址生成阶段期间,通过发送地址生成消息66使布局中的每个设备对地址达成协议。然后该源经由标示为AUX的控制信道向分支+宿1 62发送ENUM_PATH_RESOURCES消息68。它还经由控制路径向分支+宿1 62发送COMMIT_PATH_RESOURCES消息70。

绑定是布局中的设备对下一流的目的地达成协议的过程。绑定过程在枚举之后通过源想要传输新的流、向用本地唯一流标识符标识(例如用1.2标识宿2)的所需目的地宿设备发出ADD_STREAM(添加流)消息72开始。沿从源60到宿设备64的路径的所有设备将该流标识符和接收到该流的输入端口(例如1或2)记在其映射表中。

每个分支设备62执行输入流标识符(其本身为ID 1)向输出流标识符(宿2 64为1.2)的映射。在缺少多个源时,输入流标识符与输出流标识符相同。每个分支设备也将输出流标识符和输出端口号记在其映射表中。

最终,分支设备将该消息向前转发至如该消息中包含的路由/地址所指示的目的地,假定对那些设备无其它资源约束,如74所示。在此类资源约束的情况下,分支设备简单地将否定应答发送至源。该消息在所需目的地处结束。如果宿设备能接收该流,则它用确认76向该源作出响应。否则,该宿设备发送否定应答。然后该宿知道它需要消耗数据信道上的下一个新流。所有分支设备将确认78向上传播回该源。

一旦接收到确认,该源设备就在它的通向期望目的地的其链路的数据信道上发出新的流80。该分支设备沿着其映射表中记住的用于新流的路径路由该流,如82处所示。该宿设备知道它需要基于之前接收的消息消耗该新流,并在显示器上呈现该流。

解除绑定或删除通过发送至期望目的地的具有相同流标识符的删除流消息84、86来执行。这使该宿设备预期流停止,且使分支设备相应地改变它们的映射表。删除流消息的确认消息的接收触发该源停止在数据信道上发送流。

在图7中,可为图4中所示的布局建立各种显示配置。“单显示器”配置就是呈现视听数据的一个显示设备。它使用已经描述过的消息72、74、80、82、84以及86。“克隆模式”配置是发送相同内容92以在两个监视器或显示设备上显示的配置。“扩展桌面”是其中在两个监视器上显示不同图像94、96的替代双显示器配置。

当该布局中存在多个源(如图8所示的源1 98和源2 100)时,每个源可在重叠的路径上同时发出具有同一流标识符(在此情况下为#1)的ADD_STREAM消息。在该情况下,在用于这些新流的重叠路径上的集中器分支设备102仅传播一个源(在此情况下为源1)的ADD_STREAM消息,同时阻塞其它消息。即,一次只能添加一个新流。在未被阻塞的源的消息已经在数据信道上传递之后,传播用于被阻塞源的附加ADD_STREAM消息。

在分支设备104上存在多个输入端口的情况下,分配下一可用流标识符,且分支设备在其映射表108中记住输入流标识符和端口号至其输出流标识符和端口号。

作为一种使用情况,可添加新流。集中器分支设备在看到具有不活动标识符的添加流消息时向其映射表中添加新条目。如果需要,则它为该流产生新的输出标识符,并在传播ADD_STREAM消息时使用该新输出标识符。集中器分支设备可在其映射表中添加该标识符的目的地地址。另一使用情况是经扩展的现有流。如果同一源通过另一ADD_STREAM消息向已经活动的流添加第二宿,则集中器分支设备将不在其映射表中添加新条目,因为已经创建的该映射仍然有效。然而,该集中器仍将第二目的地地址添加至其映射表中的输入标识符。

又一使用情况是从流去除宿。集中器在接收用于活动标识符的具有宿的地址的删除流消息时标记该宿的地址以供从目的地设备的清单中删除。随后,当该集中器从宿设备接收删除流确认消息时,它利用映射表将该消息传播回源,以改变将由该源识别的标识符。然后该集中器从其映射表中删除用于该流的宿的地址。如果该宿是接收具有该标识符的流的最后一个宿,则该集中器从其映射表中删除该条目。否则,如果存在消耗具有该标识符的流的至少一个其它宿,则不删除映射表中的条目。

参照图9,描绘了根据实现上述绑定的一个实施例的序列110。该序列可用软件、硬件或固件来实现。在软件实施例中,该序列可通过由诸如图3所示的用于分支设备34的处理器36的处理器所执行的指令来实现。在此类情况下,该序列可被存储在存储体42上。

最初,分支设备接收ADD_STREAM消息,如框112所示。它将来自该消息的STREAM_ID(流ID)和输入端口存储在其映射表中,如框114所示。然后,分支设备将输入STREAM_ID映射至输出STREAM_ID,如框116所指示。它将输出STREAM_ID和输出端口号存储在其映射表中,如框118所示。然后它向前转发该消息,如框120所示。最终,如果该消息被成功传递,则将从下游设备接收到确认消息,且分支设备向上游转发该确认消息,如框122所指示。

在一些实施例中,如图10所示的消息传递框架124可允许沿路径的所有设备的动作或仅目的地设备进行的动作。消息具有标识符,且当每个新消息被定义时分配新的标识符。消息的定义包括确定它是路径消息还是目的地消息。路径消息具有两种类型,取决于动作执行的方向,在向下至宿的路径的情况下它是下行动作路径消息,或在向上至源设备的路径的情况下它是上行动作路径消息。这些消息可由该布局中的任何设备发起。每个消息具有目的地地址和关联的路由信息。

如图10所示的消息传递框架124可用软件、硬件或固件来实现。例如,它可用存储于计算机可读介质上的指令形式的软件来实现,该计算机可读介质例如图3所示的设备34中的存储体42,该设备34例如可以是分支设备或宿设备。

根据一个实施例,图10中所示的序列通过从上游设备接收消息开始,如框126所示。接收该消息的设备例如可以是分支设备或宿设备。无论接收设备是否是最终目的地,它都获得消息定义,如框128所示。然后,在菱形130中,该设备检查以确定消息定义是否表明上行动作消息。如果是,则该设备在接收该消息时执行该消息中请求的动作,如框132所指示。

否则,它不是上行动作消息,则菱形134处的检查确定它是否是下行动作消息。如果它是下行动作消息,则如框136所指示,这些动作在确认时执行,而不是在接收到消息时执行。

反之,如果它不是下行动作消息,则如菱形138中所确定地,如果它是目的地消息,则仅当接收该消息的设备是最终目的地时才执行该动作,如框140所示。

该消息传递框架使设备能在已连接视听源、分支以及宿设备的点对点布局中的指定路径上执行协调动作。该框架可用于包括布局发现、地址生成、路由、绑定和流管理、资源管理以及功率管理的各种操作。

如图11所示的下行动作消息如下地工作。在发送消息之前,源110执行所需的任何消息专属动作119。该消息112仅在源动作成功时才被发送。如基于地址/路由信息所确定地,该源设备通过在其下游端口上发送消息来将消息发送至目的地设备。接收该消息的每个分支设备114或116或宿118执行如该消息类型所要求的动作119。一旦动作在目的地(例如宿118)成功完成,则该目的地用确认(ACK)120作出响应。该确认被向上传播回源。

上行动作消息122如图12所描绘地工作。在这里,动作119作为确认120的一部分进行。

目的地消息如图13所描绘地工作。动作119仅由目的地执行,该目的地在本示例中为宿118。该路径中的其它设备简单地转发该消息和确认。

在图14中示出将下行动作路径消息用于路径训练,路径训练是在路径上训练所有链路。在图13中,每个设备处的动作119是链路训练。所使用的消息是TRAIN_LINKS_ON_PATH(在路径上训练链路),尽管也可使用任何其它消息。在图13中,在分支116处引导该消息。

图15是被实现为上行动作消息时的TRAIN_LINKS_ON_PATH的消息序列图。在这里,动作119均作为确认120的一部分存在。

接口专属的框架可使源设备能确定通过不同路径枚举的功能是同一设备的部分。DisplayPort标准是“接口”的一个示例。用于枚举的不同路径可以是:a)以不同接口类型为特征的路径或b)同一接口类型内的不同路径。该框架使设备能结合和诸如通用串行总线(USB)的其它技术支持的容器标识符主动性一起使用,且为已连接设备实现以设备为中心而不是以功能为中心的用户接口。

该框架可包括通过一组container_ID(容器_ID)寄存器展示的16字节全局唯一标识符(GUID)(其在DisplayPort的情况下可以是DisplayPort配置数据(DPCD))。该DPCD实质上是用于状态检查、命令传达以及提供用于中断的上下文的一组寄存器。分支设备、复合宿设备以及具有多传输的任何设备上都可支持container_ID寄存器。

具有给定数量的视频端点的宿设备预期用该数量的扩展显示标识数据(EDID)结构作出响应。该EDID数据结构告知源有关监视器的能力。EDID是VESA标准。当宿设备具有集成通用串行总线(USB)或集线器设备时,该宿的全局唯一标识符匹配该USB设备或集线器的容器描述符中的全局唯一标识符。不论访问集成到该设备中的所有功能所经过的接口类型如何,这些功能都宣称同一全局唯一标识符。在具有多个视频端点的宿中,来自每个地址的container_ID寄存器返回同一全局唯一标识符。对于该布局中的每个设备,源设备读取该全局唯一标识符作为布局发现过程的一部分。如果该设备包含全局唯一标识符,则源设备读取该全局唯一标识符以确定该同一设备是否已经从多个路径或通过多个接口被访问。

否则,源设备通过一些接口专用手段推断在同一物理设备中的功能。在该接口是DisplayPort标准的情况下,该推断可基于下游设备的相对地址(RAD)。当面对设备布局时,发起通信的每个设备需要为目的地设备产生在网络中有效的地址。该地址被称为相对地址,因为每个设备所产生的地址是有效的,但可能与另一源针对同一目的地所产生的地址不同。然后,该源从每个相对地址读取EDID。产生全局唯一标识符并使其与通过EDID标识的设备相关联。所产生的全局唯一标识符与操作系统中的容器标识符框架一起使用。

因此,在一些实施例中,该EDID包含唯一序列号。如果这个无效,则与多个EDID相关联的同一全局唯一标识符存在变化,从而导致糟糕的用户体验。

源与分支设备之间的多个连接在图16中示出。在该情况下,该源为该宿设备产生两个地址,因为存在通往该宿的两条路径。由于该源通过两条路径读取同一全局唯一标识符,所以它能够推断这两条路径读取同一宿设备。在该全局唯一标识符已经丢失的情况下,源从可能相同的两条路径读取EDID、产生全局唯一标识符、并将该全局唯一标识符与宿设备关联。然后将该标识符返回给操作系统。

图17示出具有两个视频端点的示例。该源的序列如下。该源重新产生两个地址,该宿设备中的每个视频端点各一个。该源读取来自每个视频端点地址的寄存器的容器标识符。因为该宿具有与其连接的两个接口,所以该框架需要宿中存在全局唯一标识符,且需要该全局唯一标识符在两个接口中相同。该源检测该全局唯一标识符相同,并推断这两个视频端点是同一物理设备的一部分。

参照图18,根据一个实施例,序列150可由按照图3中所示形式的源来实现。在一些实施例中,图18所示的序列可用软件、硬件或固件来实现。在软件实施例中,它可通过由诸如处理器36的处理器执行并存储在存储设备42上的指令序列来实现。

在初始枚举或布局发现阶段,读取布局中的每个设备的标识符(框152)。换言之,该源获得该布局中的设备的标识符。该标识符可以是本文中已经讨论的任一标识符。然后该源建立经由路径通往该源下游的目的地的连接,如框154所示。然后该源将该连接路径中的设备的标识符进行比较,如框156中所示。如框158所确定,如果这些标识符匹配,则该源断定具有匹配标识符的路径设备是同一分支或宿设备的一部分。因此,在一些实施例中,当两个设备具有相同标识符时可能产生的不明确性可容易地解决。

在本说明书通篇中对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明包含的至少一个实现中。因此,短语“一个实施例”或“在一实施例中”的出现不一定指代同一实施例。此外,特定特征、结构或特性可按照与所说明的特定实施例不同的其他适当形式来创立,而且所有此类形式可包含在本申请的权利要求中。

虽然已经关于有限个实施例描述了本发明,但本领域技术人员将会理解从中得出的多种修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号