混合串行和并行流信道绑定架构的制作方法

文档序号:7997107阅读:298来源:国知局
混合串行和并行流信道绑定架构的制作方法
【专利摘要】本发明提供了混合串行和并行流信道绑定架构。不同的数据通信架构向消费者分发包括音频和视频内容在内的各种内容。采用信道绑定的架构分发比任何单个通信信道可以承载的更多带宽。在一些实现方式中,信道绑定可以用于对混合串行和并行流的信道进行绑定。
【专利说明】混合串行和并行流信道绑定架构
[0001]相关申请的交叉参考
[0002]本申请要求以下申请的优先权并将其结合于此作为参考:2012年11月9日提交的美国专利申请第13/673,276号,2012年6月25日提交的题为“ChannelBonding-Audio-Visual Broadcast”的美国临时专利申请序列号61/663,878,以及2012年3 月 11 日提交的题为 “Method and Apparatus for Using Multiple Physical Channelsfor Audio-Video Broadcasting and Multicasting” 的临时申请序列号 61/609,339。
【技术领域】
[0003]本公开涉及音频和视频通信技术。特别地,本公开涉及混合串行和并行流信道的信道绑定。
【背景技术】
[0004]在个人和公共部门需求的极大驱动下,智能电话、个人计算机、互联网电视和媒体播放器、以及无论是家庭、商业、或政府的社会各部分的许多其他装置中,已经实现了电子和通信技术的快速发展。这些装置都具有消费大量音频和视频内容的潜力。同时,数据网络已被开发为示图以多种不同方式向装置分发内容。进一步提高至装置的内容分发将不仅有助于继续推动对于装置的需求,还有助于推动对于向装置进行供给的内容分发服务的需求。

【发明内容】

[0005](I) 一种系统,包括:
[0006]输入接口 ;
[0007]至单独通信信道的输出接口 ;以及
[0008]与所述输入接口和所述输出接口通信的逻辑,所述逻辑被配置为:
[0009]确定将哪些所述通信信道一起用作绑定信道组;
[0010]从所述输入接口获得源数据;
[0011]在所述输出接口中分配信道绑定信息;以及
[0012]在所述绑定信道组的通信信道中分配所述源数据,其中,所述输出接口的第一输出接口是串行接口,所述输出接口的第二输出接口是并行接口。
[0013](2)根据(I)所述的系统,其中,所述并行接口具有时钟同步的多条通信线路。
[0014](3)根据(I)所述的系统,其中,所述逻辑被配置为分析所述源数据并将所述源数据分派为通信单位。
[0015](4)根据(I)所述的系统,其中,所述逻辑被配置为基于分派至通信单位的所述源数据,将所述通信单位分配至所述串行接口。
[0016](5)根据(I)所述的系统,其中,在多个并行通信线路中的每个中分配所述通信单位。[0017](6)根据(I)所述的系统,其中,所述逻辑被配置为在所述绑定信道组中以循环方式分配数据。
[0018]( 7)根据(I)所述的系统,其中,所述信道绑定信息包括标记数据包。
[0019](8)根据(I)所述的系统,其中,所述源数据包括视频流数据包。
[0020](9) 一种接收器系统,包括:
[0021 ] 连接至单独通信信道的输入接口,其中,所述输入接口的第一输入接口是串行接口,所述输入接口的第二输入接口是并行接口 ;
[0022]连接至输出通信信道的输出接口;以及
[0023]与所述输入接口和所述输出接口通信的逻辑,所述逻辑被配置为:
[0024]确定将哪些所述通信信道一起用作绑定信道组;
[0025]从所述单独通信信道获得数据;
[0026]识别从所述输入接口接收的信道绑定信息;以及
[0027]基于所述信道绑定信息,以预定顺序排列来自所述通信信道的所述数据。
[0028](10)根据(9)所述的系统,其中,所述并行接口具有时钟同步的多条通信线路。
[0029](11)根据(9)所述的系统,其中,在多条并行通信线中的每一条中分配数据块。
[0030](12)根据(9)所述的系统,其中,所述源数据包括视频流数据包。
[0031](13)根据(9)所述的系统,其中,所述系统包括具有多个单频带调谐器和宽带调谐器的机顶盒。
[0032](14)根据(13)所述的系统,其中,所述多个单频带调谐器生成被解调并提供到所述逻辑的单独串行数据流。
[0033](15)根据(13)所述的系统,其中,所述宽带调谐器生成被解调并多路复用到所述并行接口中的宽带数据流,其中,所述逻辑与所述并行接口通信以接收宽带数据。
[0034](16) 一种方法,包括:
[0035]获得由统计多路复用器创建的数据包流;
[0036]将所述数据包流分成通信单位;
[0037]识别一组可用通信信道中的通信信道的绑定信道组,其中,所述绑定信道组的第一通信信道是串行通信信道,所述绑定信道组的第二通信信道是并行通信信道;
[0038]在所述绑定信道组中分配信道绑定信息;以及
[0039]在所述绑定信道组中分配所述通信单位。
[0040](17)根据(16)所述的方法,其中,所述并行接口具有时钟同步的多条通信线路。
[0041](18)根据(16)所述的方法,其中,所述逻辑被配置为分析所述源数据并将所述源数据分派为所述通信单位。
[0042](19)根据(16)所述的方法,其中,所述逻辑被配置为基于分派为所述通信单位的源数据,将所述通信单位分配至所述并行接口。
[0043](20)根据(19)所述的方法,其中,在多条并行通信线路的每个中分配所述通信单位。
【专利附图】

【附图说明】
[0044]参照以下的附图和说明书,将更好地理解本发明。在附图中,相同参考标号表示贯穿不同示图中的对应部分。
[0045]图1示出了采用信道绑定的内容分发(content delivery)架构的实例。
[0046]图2示出了针对使用信道绑定的内容分发的逻辑的实例。
[0047]图3示出了采用信道绑定的内容分发架构的实例。
[0048]图4示出了针对使用信道绑定的内容分发的逻辑的实例。
[0049]图5示出了时序实例。
[0050]图6示出了采用信道绑定的内容分发架构的实例。
[0051]图7示出了针对使用信道绑定的内容分发的逻辑的实例。
[0052]图8示出了分发器(distributor)的示例实现方式。
[0053]图9示出了整理器(collator)的示例实现方式。
[0054]图10示出了在传输层以下(例如,在数据链路层)执行信道绑定的内容分发架构的实例。
[0055]图11示出了数据链路层的信道绑定的实例。
[0056]图12示出了数据链路层的信道绑定的实例。
[0057]图13示出了数据链路层可以实现用于数据链路层的信道绑定的逻辑实例。
[0058]图14示出了数据链路层可以实现用于数据链路层的信道解绑定的逻辑实例。
[0059]图15示出了图6的内容分发架构的示例变形例。
[0060]图16示出了图7的内容分发架构的示例变形例。
[0061]图17是具有绑定的串行和并行信道的示意机顶盒。
[0062]图18是用于绑定串行和并行信道的示意信道绑定系统。
【具体实施方式】
[0063]图1示出了示例性内容分发架构100。架构100将来自源102的数据(例如,音频流和视频流)分发至目的地104。源102可以包括卫星、电缆、或其他媒体提供商,并且例如可以表示向消费者分发内容的前端分发中心。例如,当数据为音频/可视化编程时,源102可以接收运动图像专家组2 (MPEG2)传输流(TS)数据包128形式的数据。目的地104可以是家庭、商业、或其他位置,例如,其中机顶盒处理由源102发送并从其接收的数据。
[0064]源102可以包括统计多路复用器106和分发器108。统计多路复用器106有助于通过减少源传输流(STS)IlO中的空闲时间来进行有效数据传输。在这方面,统计多路复用器106可以将来自多个输入源的数据交织在一起以形成传输流110。例如,统计多路复用器106可以在高比特率节目信道(program channel)中分配额外STS110带宽,在低比特率节目信道中分配相对低带宽,以提供按照任何所需质量级别向目的地104以各种比特率分发各种不同类型数据所需的带宽。因此,统计多路复用器106非常灵活地在任意数量的输入源间划分STSllO的带宽。
[0065]图1中给出了若干输入源:源1,源2,源n。这种承载任意类型的音频、视频、或其他类型数据(例如,网页或文件传输数据)的输入源可以是任意数量。源数据的具体实例包括用于数字电视(例如,单个电视节目或电视台)的MPEG或MPEG2TS数据包、以及4K X 2K高效视频编码(HVEC)视频(例如,H.265/MPEG-H)数据,但输入源可以提供任意类型的输入数据。源数据(例如,MPEG2数据包)可以包括指示数据包中的数据所属的具体节目(例如,哪个电视台)的节目标识符(PID)。
[0066]STSllO的数据率可能超过源102与目的地104之间的任意一个或多个通信链路的传输能力。例如,STSllO数据率可以超过自源102引出的特定电缆通信信道所支持的数据率。为了帮助将聚合带宽的STSllO分发到目的地104,源102包括馈送多个单独通信信道的绑定信道组112的调制器130和分发器108。换句话说,源102在形成绑定信道组112的多个输出通信信道(并且该多个输出通信信道一起提供用于将STSllO中的数据通信至目的地104的带宽)之间分配聚合带宽的STSl 10。
[0067]分发器108可以按照硬件、软件、或者这两者实现。分发器108可以确定在哪个通信信道上发送STSllO中的哪个数据。如下面更详细说明的,分发器108可以将STSllO分成一个或多个数据包块。基于将要承载块的通信信道、块中的节目内容、或者基于在分发器108中实现的任意其他所需块确定因素,该块的大小可能随时间而改变。分发器108可以将任何特定的块转发到针对分发器108已经决定会将该特定块分发到目的地104的信道的调制器。
[0068]在这方面,绑定信道组112中的多个单独通信信道提供了聚合量的带宽,其可能小于、等于、或超过STSllO的聚合带宽。一个实例是,可以是三个30Mbs的物理电缆信道从源102延伸至目的地104,其聚合地操作高达90Mbs。绑定信道组112中的通信信道可以是任意类型的通信信道,包括拨号(例如,56Kbps)信道、ADSL或ADSL2信道、同轴电缆信道、诸如802.lla/b/g/n信道或60GHz WiGig信道的无线信道、有线电视信道、WiMAX/IEEE802.16信道、光纤、IOBase TUOOBase TUOOOBase T、电力线、或其他类型的通信信道。
[0069]绑定信道组112通过适于绑定信道组112中的通信信道的任意数量的传输机制114行进到目的地104。分发机制144可以包括物理电缆(例如,光纤或有线电视电缆)、无线连接(例如,卫星、微波连接、802.11 a/b/g/n连接)、或这些连接的任意组合。
[0070]在目的地104,绑定信道组112输入到单独信道解调器116。信道解调器116恢复源102在每个通信信道上发送的数据。整理器118收集解调器116恢复的数据,并且可以创建目的地传输流(DTS) 120。DTS120可以是从作为整理器118所排序的单个通信信道中恢复的一个或多个数据包流。
[0071]目的地104还包括传输入站处理器(TIP) 122。该TIP122处理DTS120。例如,TIP122可以独立于其他信道为每个信道执行节目标识符(PID)过滤。为此,TIP122可以识另Ij、选择存在于DTS120中的、来自选定节目(例如,选定节目“j”)的数据包并将其输出,并且丢掉或丢弃针对其他节目的数据包。在图1示出的实例中,TIP122已经恢复了节目“j”,其对应于最初由源I提供的节目。TIP122将恢复的节目提供到任意期望的端点124,诸如电视机、笔记本电脑、移动电话、以及个人计算机。例如,目的地104可以是机顶盒,并且解调器116、整理器118、以及TIP122中的一些或全部可以在机顶盒中实现为硬件、软件、或者这两者。
[0072]源102和目的地104可以交换配置通信126。配置通信126可以例如以与节目信道指南信息相同或相似的方式,使用上述的任意通信信道类型,在源102和目的地104之间的带外或带内信道上传播。配置通信的一个实例是从源102到目的地104的消息,该消息将绑定信道组112的参数传达到目的地104。更特别地,配置通信126可以指定:绑定在一起的通信信道的数量;绑定的通信信道的标识符;绑定的通信信道将承载的节目类型;标记数据包格式;块、节目数据包、或标记数据包大小;块、节目数据包、或标记数据包PID或序列号信息、或有助于在目的地104处理绑定的信道组112的其他任何块或绑定配置信息。从目的地104到源102的配置通信消息的一个实例是指定了如下各项的配置通信:目的地104可以将其作为合格绑定信道处理的通信信道的数量;合格绑定信道的标识符;关于解调器116状态的状态信息,例如,解调器不工作进而其对应的通信信道不应包含在绑定信道组中;影响比特率或带宽的信道条件;或者源102和分发器108可能认为影响从源到绑定信道组的数据处理的任何其他信息。
[0073]图2示出了针对使用信道绑定的内容分发的逻辑200的实例,其中,上述架构100可以按硬件、软件、或这两者实现。以下特别参照标记数据包或其他选项提供了另外的详细实例。
[0074]在图2中,输入源接收节目数据(202)。该节目数据可以从任何内容提供商接收,并且可以包括任何所需音频、视频、或数据内容,包括有线电视节目、流媒体音乐、文件传输数据,这仅仅是三个实例。输入源将节目数据提供到统计多路复用器106 (204),其多路复用该节目数据,以生成源传输流(STS) 110 (206)。
[0075]源102将STSllO提供到分发器108(208)。分发器108读取绑定配置参数(210)。绑定配置参数可以指定:绑定信道组112中的通信信道的数量、可以包含在绑定信道组112中的通信信道、可以包含在绑定信道组112中的通信信道的类型、符合绑定条件的节目源、通信信道和节目源何时可用于信道绑定以及可以使用多久、绑定适应标准、以及可以影响分发器108如何以及何时在绑定信道组112的通信信道上推送节目数据的任何其他参数。分发器108将节目数据发送到绑定信道组112中的通信信道(212)。以下提供了分发器108如何完成这个的具体实例。源102因此可以通过绑定信道组112中的多个通信信道向目的地104通信节目数据(214)。
[0076]在目的地104,解调器116在通信信道上接收节目数据(218)。解调器116将恢复的节目数据(优选地在缓冲之后)提供到整理器118。整理器118分析组信息、序列信息、PID、以及从通信信道上到达的数据包获得的任何其他所需信息,并且整理器从恢复的节目数据创建目的地传输流(DTS) 120 (220)。例如,DTS120可以按照与STSllO相同的顺序传达节目数据包。
[0077]整理器118将DTS120提供到TIP122(222)。TIP122读取数据选择参数(224)。例如,数据选择参数可以指定哪个音频/视频节目是需要的并且该参数可以从观看者输入、从自动选择程序或进程(例如,在数字视频记录器)、或以其他方式获得。因此,TIP122过滤DTS120,以恢复与数据选择参数匹配(例如,通过PID过滤)的节目数据包(226)。TIP222因此生成包括针对选定的节目的输出数据包的内容输出。TIP122将生成的内容分发到消费该内容的任何所需装置124,诸如电视机、智能手机、个人计算机、或其他装置。
[0078]以下描述了若干信道绑定处理选项。一些选项参考在通信信道上去往目的地104的数据流中插入的标记数据包(MP)。例如,标记数据包可以是MPEG2TS数据包,具有将其标记为MP的标识符。在第一选项中,分发器108例如以循环的方式以每个信道为单位添加标记数据包。在第二选项中,分发器108以循环方式在块的边缘以每个块为单位来生成并添加标记。在第三选项中,当来自同一节目的数据包将被路由到多个通信信道时,每个数据包都接收节目ID和序列ID,进而不需要标记数据包。在第四选项中,在网络层下面(例如,在数据链路层)定义的网络帧中的备用位将信道绑定信息承载到源104。
[0079]关于第一选项,图3示出了采用信道编码的内容分发机制300的另一实例。在架构300中,标记数据包(MP)源302将MP馈送到统计多路复用器106。MP源302能够以任意频率提供标记数据包。例如,MP源302可以在从源接收的每“n”个非标记数据包、每“k”ms、或者以一些其他时间或数据包间隔频率,为绑定信道组112中的每个通信信道提供标记数据包。时间或数据包间隔,“n”或“k”可以是任意所需值,例如,从n=l个数据包到好几万个数据包,或者k=lms至I秒。在其他实现方式中,分发器108生成MP,而不是在STSllO中接收MP。
[0080]较少的标记数据包消耗较少的信道带宽,留下更多空间用于节目数据。然而,更多的标记数据包增大了目的地104适应节目数据的变化的能力,包括允许整理器108更快速地在绑定信道组112上同步多个数据流,允许通过TIP122的更快节目信道变化,并且便于更快适应绑定信道组112的配置变化。标记数据包可以根据任何所需的参数而改变。这种参数的实例包括可用缓冲器大小;从传输误差或其他传输问题恢复的恢复时间的目标、平均、或最坏情况;目标节目信道改变延迟或其他类型延迟;以及目标节目帧大小。
[0081]在图3中,分发器108基于循环将数据包推送到调制器130,从任意所需的调制器30开始。更具体地,分发器108可以基于循环将数据包通信到绑定信道组112中的各通信信道,一次一个数据包。在以下描述的其他实现方式中,可以每次n个数据包来完成循环分配,其中,“n”大于I。然而,对于图3中示出的实例,分发器108在构成绑定信道组112的通信信道上以循环方式每次推送一个数据包。因此,对于STSllO数据包流的给定实例{MP-0,MP-1, MP-2, 1-0,1-1,2-1,2-2,n_0},分发器 108 推送:
[0082]MP-O到信道1、MP-1到信道2、MP-2到信道3 ;然后
[0083]pktl-0到信道l、pktl-l到信道2、pkt2_l到信道3 ;然后
[0084]pkt2-2到信道1、pkt n-0到信道2,等等。
[0085]MP源302可以按照选择的优先级级别(诸如最高可用优先级级别、或者比从节目源到达的任何其他数据包更高的优先级级别)将MP提供到统计多路复用器106。此外,在MP集合中的MP的数量可以与绑定信道组112中的通信信道的数量匹配。例如,当在绑定信道组112中有七个(7)通信信道时,MP源302可以向统计多路复用器106提供七个最高优先级MP。统计多路复用器106然后可以在STSllO之后立即输出高优先级MP,使得七个MP的组顺序到达分发器108。按组循环分配的结果是,七个标记数据包中的每个都被正确地推送到绑定信道组112中的七个通信信道中的一个,以对跟随各MP的节目数据包的流进行标记。
[0086]统计多路复用器106或分发器108或MP源302可以给予MP特殊标识符,诸如将MP标记为标记数据包的唯一 PID (例如,MARKER_PID)。在MP中可以存在任何其他所需内容。例如,MP可以包括信道号和组号。信道号可以标识发送MP的通信信道(例如,三个通信信道的绑定信道组112的信道0、1、或2)。信道号提供了序列号类型,其按分发器108发送节目数据包的顺序识别第一、第二、第三等通信信道。换句话说,信道号标识了向绑定信道组中的通信信道分配节目数据包的绑定信道顺序。
[0087]组号可以识别任何特定MP所属的MP集合,并且源102可以用每个新的MP集合(例如,当在绑定信道组112中有三个通信信道时,每三个MP)来递增组号。例如,当抖动或偏移大于插入的数据包之间的间隙时,组号还可以便于数据包对准。
[0088]值得注意的是,分发器108不需要具有MP的任何特殊知晓。相反,分发器108可以基于循环向通信信道推送数据包,而不用知道或了解正在发送什么类型的数据包。然而,在其他实现方式中,实际上,分发器108可以分析并操纵其分配的数据包,例如,从而插入或修改MPS中的字段。另外,分发器108可以生成MP,而不是从STSllO接收MP。
[0089]目的地104处理标记数据包,并且可以按照来自解调器116的固定顺序对准数据包,以形成DTS120。目的地104可以包括先进先出(FIFO)缓冲器104,或者其他类型的存储器,以对通信信道的抖动/偏移、各通信信道中的数据包接收产生的误对准进行计数。FIF0304可以是整理器304的一部分或者可以单独实现。可以为每个通信信道提供FIFO,例如,以在接收侧提供并行缓冲器的集合。
[0090]在目的地104,整理器108可以在接收到来自每个信道的MP之前丢弃所有数据包。整理器118检查每个信道中的标记数据包的组号,并且丢弃数据包,直到整理器118已经在每个通信信道上都找到具有匹配组号的标记数据包。当组号不匹配时,这可能是给整理器118的指示:抖动大于标记数据包之间的间隙。
[0091]标记数据包中的信道号指定了整理器118将从其获得数据包的通信信道的顺序。控制器118以与源102的循环分配匹配的循环方式获得数据包。在绑定信道组112中有三个通信信道的实例中,整理器118可以从承载了 MP序列号零的通信信道获得数据包开始,然后移动到承载了 MP序列号一的通信信道并获得数据包,然后移动到承载了 MP序列号二的通信信道并获得数据包,然后以循环方式返回到序列号为零的通信信道。整理器118从而产生对应于STSllO的DTS120。TIP122然后可以从DTS120提取所选择的节目。
[0092]图4示出了针对使用信道绑定进行内容分发的逻辑400的实例,其可以按硬件、软件、或者这两者实现。输入源接收节目数据(402),另外,MP源302可以提供MP (404)。输入源和MP源将节目数据和MP提供到统计多路复用器106 (406),其多路复用节目数据和MP,以生成源传输流(STS) 110 (408)。
[0093]特别地,MP可以具有高优先级,使得统计多路复用器106在其他节目数据包之前无间隙地顺序将MP插入到STSllO中。STSllO被提供到分发器108 (410)。分发器108读取绑定配置参数(412)。绑定配置参数可以指定分发器108应当采用循环分配方法,并且可以指定循环分配参数。这种参数的实例包括循环分配块大小,例如,每个通信信道一次“r”个数据包(例如,“r”=l),在该情况下,分发器108应当执行循环技术,或者任何其他循环参数。如上所述,绑定配置参数还可以指定绑定信道组112中的通信信道的数量、可以包含在绑定信道组112中的通信信道、可以包含在绑定信道组112中的通信信道的类型、符合绑定条件的节目源、通信信道和节目源何时可以用于信道绑定以及可以使用多久、以及可能影响分发器108如何在绑定信道组112中的通信信道上推送节目数据的任何其他参数。
[0094]分发器108将节目数据推送到绑定信道组112中的通信信道(414)。源102因此通过绑定信道组112中的多个通信信道向目的地104通信节目数据(416)。
[0095]更特别地,分发器108可以按照循环方式向通信信道推送节目数据包。在一个实现方式中,循环方法是一次一个数据包的方法。换句话说,分发器108可以从STSllO获得每个数据包(当“r”=l时),并将其顺序推送到下一通信信道。这样,分配了来自STSllO的顺序的MP序列,每个通信信道一个MP,之后是一个或多个节目数据包。MP从而有效地为目的地104标记了 MP之后的节目数据包。在预定数量的节目数据包之后,MP源提供了随后在通信信道上分配的另一组MP,并且重复该循环。
[0096]在目的地104,解调器116在通信信道上接收节目数据(420)。解调器116将恢复的节目数据提供到缓冲器(例如,FIF0304),以帮助解决通信信道上的抖动/偏移(422)。经缓冲的数据被提供到整理器118,其可以从缓冲器拉出数据包,以关于MP同步。整理器118分析组信息、顺序信息、PID、以及从MP和节目数据包获得的任何其他所需信息,以在MP上同步。该同步可以包括在绑定信道组112中的每个通信信道上找到同一组号的连续MP。整理器118然后可以通过将绑定信道组112中的通信信道上的数据包以循环方式添加至DTS120以便从恢复的节目数据创建目的地传输流DTS120 (424),按由MP中指定的信道号指定的顺序进行。例如,DTS120可以按照与STSllO相同的顺序来传达节目数据包。
[0097]整理器118将DTS120提供到TIP122(426)。TIP122读取信道选择参数(428)。例如,信道选择参数可以指定需要哪个节目,并且该参数可以从观看者输入、从自动选择程序或处理获得(例如,在数字视频记录器中),或者以其他方式获得。因此,TIP122过滤DTS120,以恢复与信道选择参数匹配(例如,通过PID过滤)的节目数据包(430)。TIP122因此生成包括所选择节目的输出数据包流的内容输出。TIP122将所生成的内容分发到消费该内容的任何所需装置124,诸如电视机、智能电话、个人计算机、或任何其他装置。
[0098]图5示出了时序实例500,其显示在一些实现方式中源102可以解决调制器130中的发送时钟变化。图5示出了发送缓冲器502,其每个都可以提供一些预定深度,诸如至少信道时序变化的深度(例如,200ms)。一个实例是,可以预期通信信道具有相同的额定载荷速率,例如,38.71Mb/s。此外,假设每个调制器中的发送时钟是独立的,并且可以有正200ppm或负200ppm的变化。
[0099]因此,在最坏的情况下,绑定信道组中的两个信道可以具有400ppm的时钟差。如图5的实例中示出的,信道I到信道2的时序差是200ppm,并且信道I和信道“m”之间的时序差是400ppm。400ppm的时序差可以相当于每2500个输出数据包中的一个188字节MPEG2TS数据包。
[0100]因此,源102可以每2500个数据包在信道“m”上插入补偿数据包(其可以具有NULL内容),以占据额外的输出数据包,并且出于相同原因,每5000个数据包在信道2上插入补偿数据包。例如,补偿数据包可以在MP之前出现,或者出现在输出数据流中的任何其他位置。目的地104可以识别并丢弃补偿数据包(或任何其他类型的抖动/偏移补偿数据包)。
[0101]源102可以实现缓冲反馈504。缓冲反馈504通知分发器108关于发送缓冲器502中的缓冲深度。当缓冲器108空运行时,或者在其他时间,分发器108例如可以在MP之前插入补偿数据包。
[0102]图6示出了采用信道绑定的内容分发架构600的另一实例。在该第二选项中,架构600包括在通信信道上以所谓的块的通信单位(但是任何其他术语也可以指通信单位)来发送数据的分发器108。块可以包括来自任意节目源的一个或多个数据包。例如,块可以是I个数据包,10个数据包,100个数据包,27个数据包,10000个数据包,IOOms的数据包,20ms的数据包,30ms的视频数据,5s的音频数据,或任何其他数量或定时的数据包或音频/可视化内容。[0103]对于任何通信信道,分发器108可以使用相同或不同的块大小。此外,响应于对任何所需块大小标准的分析,分发器108可以在任何时间改变块大小。块大小标准的一个实例是目的地104的所需信道变化速度。随着块中的数据包数量增大,目的地104可能需要在到达下一块边界之前丢弃更多数据包、找到匹配MP、并且能够同步到接收的通信信道。块大小还可以取决于压缩视频速度或帧大小,以及从传输误差或其他传输问题恢复的目标、平均、或最坏情况恢复时间。
[0104]在图6的实例中,统计多路复用器106从输入源l*"“n”接收节目数据包。节目数据包可以是MPEG2TS数据包或任何其他类型的数据包。统计多路复用器106从节目数据包创建STSl 10,并且STSllO因此具有根据节目流的统计特性从各输入源多路复用到STSllO中的特定顺序的数据包。
[0105]为了说明的目的,图6示出了分发器108已经确定在通信信道上发送的前六个块。特别地,前三个块是两数据包块602、604、和606。下两个块是一数据包块608和610。下一个块是两数据包块612。
[0106]分发器108生成块之前的MP。然而,替代方案也是可以的,以下参照图15和16描述了一些。分发器108可以在通信信道上进行MP以及块的通信(例如,以循环方式)。在图6的实例中,以信道1、信道1、信道m,然后返回到信道I的循环序列,分发器108向每个通信信道发送MP (例如,MP-O, MP-1、和MP-2),后面是MPO、MP-1、和MP2之后的两数据包块。分发器108可以从任何特定通信信道开始该顺序。
[0107]如图6所示,通信信道如下从信道I开始以循环方式接收MP和块:
[0108]信道I =MP-O ;信道 2 =MP-1 ;信道 3:MP-2
[0109]信道1:±夹602 ;信道2:±夹604 ;信道3:±夹606
[0110]信道I:MP-4 ;信道 2:MP-5 ;信道 3:MP_6
[0111]信道1:块608 ;信道2:块610 ;`信道3:块612
[0112]由于块的边界用MP标记,因此分发器108可以插入补偿数据包(例如,NULL数据包),而不会影响信道绑定。换句话说,每个通信信道都可以具有其自己的唯一载荷速率。此外,传输期间的MPEG2TS错误不会影响其他数据包。
[0113]如上所述,每个MP可以包括信道号和组号。信道号和组号可以采用多种形式,并且一般而言,提供顺序指示符。例如,在块大小是100个数据包并且有三个通信信道A、B、和C的实例中,分发器108按照以下顺序进行处理:C、B、A、C、B、A…。在前100个数据包块之前到来的第一 MP集合可以每个都指定组号零。在组零中,通信信道C上的第一 MP具有信道号零,通信信道B上的第二 MP具有信道号一,并且通信信道A上的第三MP具有信道号
二。对于下一组100个数据包的块,接下来三个MP的MP组号可以增大到1,并且信道号再次从零到二。
[0114]在目的地104,解调器116从每个通信信道接收MP和块。再次,可以提供单独FIF0204来帮助补偿抖动和偏移。
[0115]整理器118接收MP,并且在整理器118发现同一组号的MP并且在作为绑定信道组112的一部分的通信信道中按顺序时,对接收的数据流进行同步。一旦整理器118进行了同步,其按组号和信道号的顺序获得MP之后的每个块。这样,整理器118构造对应于STSllO的DTS120。如上所述,TIP122对MPEG2TS数据包执行PID过滤,以恢复任何所需的节目j,并且可以丢弃其他数据包。
[0116]图7示出了针对使用信道绑定进行内容分发的逻辑700的实例,其可以在上述示例架构600中以硬件或软件实现。输入源接收节目数据(702)。输入源将节目数据提供到统计多路复用器106 (704),其多路复用节目数据,以生成源传输流(STS)110 (706)。分发器 108 接收 STSllO (708)。
[0117]分发器108还读取绑定配置参数(710)。例如,绑定配置参数可以指定分发器108应当采用循环分配方法,并且可以指定循环分配参数。这种参数的实例包括循环分配块大小,例如,每个通信信道一次“r”个数据包(例如,r=100)、每个通信信道的块大小、或者块大小随时间的变化、或者源102可以监控并随时间调整的根据块大小因素的变化(在该情况下,分发器108应当执行循环技术),或者任何其他循环参数。如上所述,绑定配置参数还可以指定绑定信道组112中的通信信道的数量、可以包括在绑定信道组112中的通信信道、可以包括在绑定信道组112中的通信信道的类型、可以符合绑定条件的节目源、通信信道和节目源何时可用于信道绑定以及可以使用多久、以及可能影响分发器108如何在绑定信道组112的通信信道上推送节目数据的任何其他参数。
[0118]在该选项中,分发器针对分发器通过绑定信道组112中的单个通信信道发送的节目数据包的块生成MP (712)。因此,例如,当绑定配置参数指示100个数据包的块大小时,分发器针对通信信道上向下通信的每100个节目数据包生成MP。如上面说明的,MP可以包括诸如组号和信道号的同步数据。另一个实例是,MP可以包括诸如时间戳、时间码、或其他时序基准测量的时序数据。
[0119]分发器108将MP和节目数据发送到绑定信道组112中的通信信道(714)。分发器108按照节目数据包的通信单位(例如,按照节目数据包的块)以循环方式发送MP和节目数据。源102因此在绑定信道组112的多个通信信道上将节目数据通信到目的地104(716)。
[0120]更特别地,分发器108能够以循环方式按块将节目数据包发送到通信信道。换句话说,分发器108可以从STSllO获得节目数据包块,并且以预定循环顺序(例如,如在绑定配置参数中指定的)将其发送到绑定信道组112中的下一通信信道。这样,MP被分配到通信信道,其后是由MP用组号和信道号标记的节目数据包的块。节目数据包包括标识每个数据包所属的节目的PID信息。MP因此有效地为目的地104标记了 MP之后的节目数据包。在每个节目数据包块之后,分发器108提供随后在通信信道上分配的另一组MP,并且重复该循环。块大小可以随时间和通信信道而改变。此外,源102可以将配置通信至目的地104,以向目的地104提供对绑定配置和绑定配置的变化(包括块大小)的意见。
[0121]在目的地104,解调器116在通信信道上接收节目数据(718)。解调器116将恢复的节目数据提供到缓冲器(例如,FIF0304)以帮助解决通信信道上的抖动/偏移(720)。缓冲的数据被提供到整理器118,其可以将数据包从缓冲器拉出,以关于MP同步。整理器118分析组信息、序列信息、PIDJPW MP和节目数据包获得的任何其他所需信息,以关于MP同步。同步可以包括在绑定信道组112中的每个通信信道上找到同一组号的连续MP。
[0122]整理器118然后通过以循环方式将绑定信道组112的通信信道上的数据包添加至DTS120而从所恢复的节目数据创建目的地传输流DTS120 (722)。特别地,整理器118以循环方式将绑定信道组112中的通信信道上的按节目数据包块的数据包添加至DTS120。因此,例如,DTS120可以按照与节目数据包在STSllO中存在的相同顺序将该节目数据包传送到 TIP122。
[0123]整理器118将DTS120提供到TIP122 (724),其读取信道选择参数(726)。例如,信道选择参数可以指定需要哪个节目,并且该参数可以从观看者输入、从自动选择程序或处理获得(例如,在智能电话内容记录应用程序中)、或者以其他方式获得。因此,TIP122过滤DTS120,以恢复与信道选择参数匹配(例如,通过PID过滤)的节目数据包(728)。TIP122因而生成内容输出,该内容输出包括针对所选择的节目的输出数据包流。TIP122将所生成的内容分发到消费该内容的任何所需装置124,诸如电视机、智能手机、个人计算机、或任何其他装置。
[0124]简要地说一下图15,该图示出了图6中的内容分发架构600的示例变形例架构1500。在一个变形例中,分发器例如可以改为向调制器130发布MP生成信号(例如,MP生成信号1502、1504、1506)。MP生成信号1502可以是命令消息、信号行、或者导致接收解调器生成例如在块边界插入到数据包流中的MP的其他输入。MP可以包括任何所需的同步信息,包括时间戳、时间码、组号、信道号等。调制器可以生成同步信息,或者分发器108可以将同步信息连同MP生成信号一起提供到调制器。
[0125]在另一变形例中,分发器108生成MP,并且调制器130也生成MP。例如,分发器108可以针对CH2的调制器生成MP,并且将MP生成信号发送到针对其他信道的调制器。其他替代方案是分发器108有时候为一些调制器生成MP,并在其他时间将MP生成信号发送到那些调制器。分发器108是否生成MP可以取决于可用于分发器108的MP能力信息。例如,绑定配置参数710可以指定哪些调制器能够生成MP、何时生成、以及在何种条件下生成。然后,分发器108可以在对应的时间或者在对应条件下将MP生成信号发送到这些调制器。此夕卜,调制器可以与分发器108通信,以指定MP生成能力、以及关于这些能力的条件,诸如何时以及在何种条件下调制器可以生成MP、以及调制器需要来自分发器108的何种信息以生成MP。
[0126]简要说一下图16,该图示出了上述架构的内容分发逻辑1600。在上述架构中(例如,1500和600),图16再次示出了分发器108可以生成MP、调制器130可以生成MP、或者二者都可以生成MP。例如,图16示出,对于CHl的调制器,分发器108例如在块边界生成MP(1602)。分发器108还为CHm的调制器生成MP (1606)。然而,对于CH2的调制器,分发器108向针对CH2的调制器发送MP生成信号和任何所需的同步信息(1604)。因此,针对CH2的调制器针对其从分发器108接收到的块生成其自己的MP。还应当注意,任何调制器还可以与分发器108通信,以指定MP生成能力、以及关于这些能力的条件,包括何时以及在何种条件下调制器可以生成MP、以及调制器需要来自分发器108的何种信息来生成MP。
[0127]现在到图8,该图示出了分发器800的示例实现方式。分发器108包括STS输入接口 802、系统逻辑804、以及用户接口 806。另外,分发器800包括调制器输出接口,诸如标记为808、810、和812的那些。例如,STS输入接口 802可以是高带宽(例如,光纤)输入接口。调制器输出接口 808至812向在通信信道上驱动数据的调制器馈送数据。例如,调制器输出接口 808至812可以是串行或并行总线接口。
[0128]系统逻辑804以硬件、软件、或者这两者实现,以结合分发器108的操作描述的任何逻辑(例如,参照图1至7和10)实现。一个实例是,系统逻辑804可以包括一个或多个处理器814以及程序和数据存储器816。例如,程序和数据存储器816持有数据包分配指令818和绑定配置参数820。
[0129]处理器814执行数据包分配指令818,并且绑定配置参数820将处理器814将要执行的信道绑定的类型通知处理器。结果,处理器814可以通过数据包分配实现循环数据包或者通过上述逐块分配实现循环块,包括MP生成、或任何其他信道绑定分配模式。分发器800可以接受来自用户接口 806的输入,以改变、观看、添加、或删除任何绑定配置参数820或任何信道绑定状态信息。
[0130]图9示出了整理器900的示例实现方式。整理器900包括DTS输出接口 902、系统逻辑904、以及用户接口 906。另外,整理器900包括解调器输入接口,诸如标记为908、910、912的那些。例如,DTS输出接口 902可以是到TIP122的高带宽(例如,光纤)输出接口。解调器输出接口 908至912向整理器系统逻辑馈送数据,该整理器系统逻辑将根据从解调器输入接口 908至912接收的数据创建DTS120。例如,解调器输入接口 908至912可以是串行或并行总线接口。
[0131]系统逻辑904以硬件、软件、或者这两者、结合整理器118的操作描述的任何逻辑(例如,参照图1至7和10)实现。一个实例是,系统逻辑904可以包括一个或多个处理器914以及程序和数据存储器916。例如,程序和数据存储器916保存数据包恢复指令918和绑定配置参数920。
[0132]处理器914执行数据包恢复指令918,并且绑定配置参数920将处理器914将要处理的信道绑定的类型通知处理器。结果,处理器914可以通过数据包接收实现循环数据包或者通过上述逐块接收实现循环块,包括MP同步、或任何其他信道绑定恢复逻辑。整理器900可以接受来自用户接口 906的输入,以改变、观看、添加、或删除任何绑定配置参数920以指定哪些信道有资格用于信道绑定,或者设置、观看、或改变任何其他信道绑定状态信息。
[0133]上述架构还可以包括源102和目的地104之间的网络节点。网络节点的类型可以是数据包交换机、路由器、集线器、或其他数据流量处理逻辑。网络节点可以知道其在入站侧和出站侧连接到的通信信道。因此,网络节点可以接收信道绑定组中的任意集合的通信信道,但是不需要在出站方向具有匹配集合的通信信道。在该情况下,网络节点可以过滤所接收的通信信道流量,以丢弃网络节点不具有对应出站通信信道的数据包,同时在其具有连接的出站通信信道上传递剩余的流量。
[0134]与上述内容相呼应,信道绑定可以在广播、多播、或甚至单播环境中发生。在广播环境中,源102可以将节目数据包和MP发送到附接到通信信道的每个端点,诸如在广泛分布的家庭有线服务中。然而,在多播环境中,源102可以将节目数据包和MP分发给连接至通信信道的一组特定端点。在这方面,源102可以在数据包中包括寻址信息,诸如互联网协议(IP)地址或以太网地址,以具体标识预期的接收方。在单播环境中,源102可以使用寻址信息在绑定信道组112上向单个目的地发送节目数据包和MP。
[0135]第三选项是在源102向节目数据包添加信道绑定数据字段。信道绑定数据字段可以添加到数据包报头、载荷、或者这两者。信道绑定数据字段可以为目的地104标识如何将接收的数据包排序以创建DTS120。在这方面,信道绑定数据字段可以包括PID信息、顺序信息、信道号信息、组号信息、或整理器118可以分析用于确定DTS120中的数据包输出顺序的其他数据。[0136]在一些实现方式中,通信前端可以定义每个源将采用的节目数据包,因此具有在节目数据包中创建信道绑定字段的灵活性。在其他实现方式中,源102向现有数据包定义插入信道绑定数据(可以使用传统数据字段的一部分用于该新目的)。例如,在一些实现方式中,每个节目都可以从多个MPEG2PID形成,每个MPEG2TS数据包的大小是188字节。当在不同通信信道上路由来自同一节目的数据包时,源102可以使用MPEG2TS数据包中的报头或载荷字段从而在MPEG2TS数据包中承载信道绑定字段(例如,PID和序列号)。
[0137]一个实例是,源102可以将节目ID (PID)和序列号添加到节目数据包作为信道绑定数据。PID可以是标识了 16个不同节目中的一个的4比特字段。序列号可以是标识了4096个序列值中的一个的12比特字段。在该实现方式中,源102不需要发送MP。相反,插入到节目数据包的信道绑定信息(例如,PID和序列号)为目的地104提供了用于构造DTS120的信息。更具体地,整理器118标识了 PID以及针对每个PID具有顺序序列号的数据包,并且以正确的数据包序列创建了 DTS120。
[0138]此外,源102还可以将信道绑定数据插入到低层数据包。例如,替代(或者,为了提供冗余,另外地)发送在传输层或传输层以上定义的MP,源102可以改为将信道绑定数据插入定义在传输层以下的帧,诸如数据链路层帧或物理层帧。一个实例是,数据链路层帧可以是低密度奇偶校验(LDPC)帧,物理层帧可以是前向纠错(FEC)帧。
[0139]由于这种帧是在数据链路层定义的,因此较高层可能不知道这些帧或者其格式,并且一般不处理这种帧。然而,包括传输层在内的较高级别层可以向数据链路层提供绑定信息,这便于数据链路层处理信道绑定数据。这种绑定信息的实例包括所需的信道绑定数据的量和类型,包括定义、大小、以及信道号和序列号字段的序列编号、所需的块大小、个数、要绑定的通信信道的标识和类型、或者任何其他信道绑定信息。
[0140]更详细的,在一些通信架构中,数据链路层数据包具有备用、保留、或其他形式的辅助比特。与使辅助位字段保持未使用不同,系统102可以将信道绑定数据插入这些辅助比特字段中。在其他实现方式中,数据链路层可以定义其自身的特殊数据包格式,其包括专为信道绑定数据分配的比特字段。
[0141]图10示出了在传输层下面(例如,在数据链路层或物理层)执行信道绑定的内容分发架构1000的实例。为了说明的目的,图10扩展了图6的实例,但是较低层的信道绑定可以发生在任何内容分发架构中。在图10中,分发器108的协议栈包括多个层,包括物理(PHY)层1002、数据链路层1004、传输层1006、以及所需的任何其他层1008。一个实例是,协议栈可以遵循开放系统互连(OSI)模型,并且可以承载信道绑定信息的数据链路层和物理层结构可以包括例如前向纠错(FEC)帧、PHY帧、MAC帧、低密度奇偶校验(LDPC)帧、或IP数据报帧。然而,任何其他协议栈和结构类型都可以适当地替代,用于处理节目数据包所在级别之下的级别的信道绑定。
[0142]STSllO将节目数据包提供到分发器108。协议栈处理节目数据包。特别地,数据链路层1004构造封装了节目数据包和信道绑定数据的低级别帧,并且通过绑定信道组112的通信信道发送。低级别帧的一个实例是数据链路帧1010。在该实例中,数据链路帧1010包括信道编码(CB)数据、数据链路帧(DLF)数据、以及节目数据包(具体地,第一块602)。DLF数据可以包括按照已经定义的数据链路层数据包格式的信息字段。CB数据可以包括信道号和组号信息或能够以其他方式承载MP的任何其他信息。[0143]如上面提到的,较高级别的层(例如,传输层1006或其他层1008)可以就数据链路层帧中包括什么绑定信息为数据链路层1004提供指导。然而,这不是必需的。数据链路层可以自己进行分析并且自己决定在数据链路层帧中添加什么信道绑定数据。在这方面,数据链路层可以读取信道绑定配置参数。数据链路层还可以与目的地104交换配置通信126,包括与目的地104的数据链路层、传输层、或其他层的配置通信126。
[0144]在目的地104,协议帧1012处理从解调器116接收的数据。特别地,协议栈1012可以包括数据链路层1014。数据链路层1014接收数据链路层帧(例如,帧1010),以提取节目数据包和信道绑定数据。整理器118然后可以如上所述处理信道绑定数据,以同步绑定信道组112中的通信信道并构建DTS120。
[0145]图11示出了使用数据链路层帧1100的信道绑定的实例。例如,数据流1102表示分包之前的源数据。例如,数据流1102可以是由视频摄像机、麦克风生成的数据或者磁盘驱动器上的文件中的字节。内容提供商生成例如MPEG2TS数据包1106形式的分包流1104。数据包1106可以有许多不同形式,并且在图11中示出的实例中,数据包1106包括循环冗余校验(CRC)数据1108 (例如,在报头中)和载荷1110。
[0146]图11还示出了数据链路层帧1112。在该实例中,数据链路层帧1112包括报头1114和载荷1116。报头1114可以包括字段,在字段中,虽然其被预定义用于其他目的,但是数据链路层1004插入诸如信道号和组号的信道绑定数据。图11示出了如下的实例,其中,数据链路层帧1112包括MATYPE字段1118 (例如,2字节)、UPL字段1200 (例如,2字节)、DFL字段1122 (例如,2字节)、SYNC字段1124 (例如,I字节)、SYNCD字段1126 (例如,2字节)、以及CRC字段1128(例如,I字节)。该特殊帧格式在DVB S2编码和调制标准中有进一步描述。特别地,数据链路层1104可以将信道绑定信息插入到MATYPE字段1118。
[0147]数据链路层112的成帧使得节目数据包一般被封装进数据链路帧1112的载荷1116中,而信道绑定信息被添加到报头1204。然而,值得注意的是,分包流1104没有必要与数据链路层帧1112对准。这在图11中用虚线示出,数据链路层帧1112在节目数据包中断开。欠对准可能是由于协议栈中的各层之间的时序和数据包大小不匹配导致的,还因为数据流1102并不必遵循任何固定的时序参数或数据格式。
[0148]在一些实现方式中,该架构可以通过插入任何期望长度的数据包(例如,NULL数据包)、填充节目数据包(例如,利用NULL数据)、截断节目数据包(或者丢弃节目数据包数据)、完全丢弃节目数据包、或以其他方式来有助于对准。数据链路层1004可以执行对准,以将整数个节目数据包嵌合到数据链路层帧。在一些实现方式中,数据链路层1004可以与协议栈中的其他层、或者源102中的其他逻辑通信,以关于时序、对准、块大小、或其他可以便于数据链路层的信道绑定和对准的绑定参数提供指导。
[0149]图12示出了使用数据链路层帧1200的信道绑定实例。与图11相同,在图12中,例如,数据流1102表示分包之前的源数据,并且分包的数据流1104从数据流1102产生。数据链路层帧1202包括报头1204和载荷1206。然而,在图12中,数据链路层帧1202被设计为包括专门用于信道绑定信息的字段。在图12的实例中,报头1204包括信道绑定字段11208和信道绑定字段21210。其他报头字段1212承载其他报头信息。在数据链路层帧的报头或载荷字段中可以存在任意数量和长度的信道绑定字段,以保持任何所需的信道绑定信息。[0150]图13示出了源102中的数据链路层可以实现用于数据链路层的信道绑定的逻辑1300的示例。数据链路层可向更高层提供反馈(1302)。该反馈可以通知更高级别层关于对准、时序、或影响节目数据包如何断开或嵌合于数据链路层数据包中的其他考虑因素。
[0151]数据链路层从更高级别层接收节目数据包(1304)。如果数据链路层会强制对准,则其可以填充节目数据包、插入对准数据包、或者甚至丢弃数据包或数据包的一部分,使得节目数据包按照对应于所选择的信道绑定配置(例如,包括块大小)的方式嵌合在数据链路层帧中(1306)。数据链路层将信道绑定信息插入到数据链路层帧中(1308)。在一些实现方式中,源102的协议栈不针对信道绑定信息生成单独的标记数据包。即,低级别的通信帧(例如,数据链路层帧)在通信帧中定义的特定字段中承载信道绑定信息,使得不需要信道绑定信息的单独封装(例如,封装到标记数据包中)。换一种方式表达,数据链路层帧可以具有少一层的封装,例如,将信道绑定信息直接封装到低级别的通信帧中,而不是例如将信道绑定信息首先封装到定义的MP中(例如,在与节目数据包相同的协议级别)然后将MP封装到通信帧中的多级封装。
[0152]数据链路层还将节目数据包或数据包的块插入到数据链路层帧中。例如,节目数据包可以存在于数据链路层帧的载荷字段中。标记信息可以指定哪些数据包存在于带有该标记信息的数据链路层帧中(1310)。数据链路层然后在作为绑定信道组112的一部分的通信信道上传输数据链路层帧。
[0153]图14示出了源102中的数据链路层可以实现用于数据链路层的信道解绑定的逻辑1400的实例。数据链路层接收数据链路层帧(1402)。数据链路层从数据链路层帧提取节目数据包和信道绑定信息(1404)。可以丢弃节目数据包中的任何填充数据或填充数据包(1406)。
[0154]如上所述,目的地104分析信道绑定信息,以同步多个通信信道(1408)。因此,例如,目的地可以与多个通信信道上的信道绑定序列信息对准。一旦同步,例如,通过将块循环添加到来自数据链路层帧的DTS120,目的地104可以构造由数据链路层帧中的信道绑定信息通知的DTS120 (1410)。
[0155]MP的一个示例格式如下:
[0156]CBM_PID:信道绑定标记PID,其可以是针对标记数据包的保留PID值。在一些实现方式中,尽管数据包的一些或全部内容将专用于MP数据而不是例如节目数据,但是MP可以包括适配层信息并遵循MPEG2TS数据包结构。可以如下分配MP中的字节(仅仅是一个实例):
[0157]Byte#l:0x47(MPEG2TS 预定义同步字节)
[0158]Byte#2/3: CBM_PID+TEI=0, PUSI=O,优先级=1
[0159]Byte#4:SC= ‘bOO’AFC= ‘blI (无载荷),CC=OxO
[0160]Byte#5:Adaptation_length= ‘dl83
[0161]Byte#6:Flags=0x02,例如,仅存在私有数据
[0162]Byte#7: Private data_length= ‘dl81
[0163]Byte#8:信道绑定组中的信道号
[0164]Byte#9/10:CBM_Sequence_Number(CBM_SN)
[0165]Byte#l1/12/13/14:CBM_SIZE[0166]在IS0/IEC13818-1, 2.4.3.2 节,“Transport Stream packet layer” 中进一步描述了该通用的MPEG2TS数据包语法。
[0167]一些实现方式可以便于绑定具有非常不同的拓扑的信道。过去,接口策略的差异可能已经鼓励绑定系统中的类似信道拓扑。使用不同拓扑作为单个逻辑单元,可以通过信道绑定提供一定的好处。在某些实现方式中,可以通过将串行和并行信道两者绑定为单个逻辑信道来获得优势。
[0168]这里已经描述了若干信道绑定处理选项。在第一选项中,分发器108例如以循环方式以每个信道为单位来添加标记数据包。在第二选项中,分发器108例如以循环方式以每个块为单位在块边界生成并添加标记。在第三选项中,当来自同一节目的数据包将被路由到多个通信信道时,每个数据包都接收节目ID和序列ID,进而不需要标记数据包。在第四选项中,在网络层下面(例如,在数据链路层)定义的网络帧中的备用比特承载至源104的信道绑定信息。可能存在进一步的其他选项。然而,这些技术的任何架构或特征可以与所讨论的用混合串行和并行流的信道绑定的实现方式结合在一起使用。
[0169]图17是被配置为接收绑定在一起的并行和串行信道上传输的数据的机顶盒的示意图。机顶盒1700包括一系列调谐器1712、1714、1716、1718。虽然示出了四个调谐器,但是调谐器的数量是可扩展的,因此,可以一起使用更多或更少的调谐器。每个调谐器1712、1714、1716、和1718可以独立的运行来接收特定频带信号。
[0170]调谐器1712可以接收数据,并将数据传输到解调器1722。解调器1722然后将解调数据传输到传输单元1732中的带内接口块1734。带内接口块1734可以识别信道中的标记数据包。使用标记数据包中的信息,带内接口块1734可以在缓冲器1760中按原始顺序存储数据包,用于进一步的传输。
[0171]调谐器1714以类似的方式与调制器1724进行数据通信,然后,解调器数据被提供到传输层1732的带内接口块1736。调谐器1716、1718以相同的方式分别将接收的数据提供至解调器1726和解调器1728。来自解调器1726的解调器数据和来自解调器1728的解调器数据分别被提供到传输层1732中的带内接口块1738和带内接口块1740。带内接口块1736、1738、和1740识别标记数据包,并将接收的数据包按顺序存储到缓冲器1740中用于进一步传输。在每个元件之间,以串行方式提供从调谐器到解调器、到带内接口块、以及到缓冲器1760的各数据流。
[0172]此外,由调谐器1712传输的数据的流动完全独立于由调谐器1714传输的数据。这样,来自每个调谐器1712、1714、1716、和1718的数据都被单独处理,直到其在缓冲器1760
中被重组。
[0173]另外,机顶盒1700可以包括宽带调谐器1720。宽带调谐器1720可以生成彼此独立的多个信道。这样,来自宽带调谐器1720的第一信道可以提供到解调器1750,而来自宽带调谐器1720的第二信道可以提供到解调器1752。来自解调器1750的解调器数据可以提供到多路复用器1754。来自解调器1752的解调器数据以相同方式被提供到多路复用器1754。
[0174]多路复用器1754将数据分配到串行接口,其中,来自同一数据包的数据可以在时钟同步的多条线路上同时传输。例如,可以使用八条并行线路,其中,一个字节可以在八条线路上传输,每条线路一个比特。这样,可以在单个时钟周期中传输整个字节。多路复用器1754可以将并行数据传输到传输单元1732的多解调器接口块1756。多解调器接口块1756为每个多解调器接口识别数据流(例如,通信单位)中的标记数据包信息并且在缓冲器1760中存储每个数据包,使得数据可以与由其他带内接口块1734、1736、1738、和1740中的每个所存储的数据组合,以生成单个输出数据流1764。
[0175]鉴于图17中提供的实例,可以理解,在其他应用中,混合串行和并行流也可以被信道绑定。图18是使用并行和串行信道的示意信道绑定系统。数据源可以将数据流1810提供到信道绑定装置1812。信道绑定装置1812可以包括分发器1850,其被配置为向绑定在一起的可用信道中的一个分配数据包。如在别处描述的,可以按照通信单位(例如,块)分配数据包。信道绑定装置1850可以向对应于每个通信信道的调制器/多路复用器1824、1834、1844、1846分配数据包和/或通信单位。对于示出的实例,绑定装置1812可以通过第一并行信道1820、第二并行信道1830、第一串行信道1840、和/或第二串行信道1842进行通信。
[0176]串行和/或并行信道中的每个都可以单独计时。此外,每个并行信道都包括时钟同步的多条线路。例如,并行信道1820包括线路1820a、1820b、1820c、和1820d,其中,如参考标号1822所示,信道1820的每条线路都共同计时。如参考标号1832所示,信道1830以相同的方式包括时钟同步的线路1830a、1830b、1830c、和1830d。
[0177]如在整个说明书中所描述的,绑定装置1812可以通过信道绑定逻辑地使用全部的信道1820、1830、1840、1842作为单个信道1844。因此,信道绑定装置1812可以包括用于每个信道的缓冲器,例如,作为每个信道的调制器1824、1834、1844、1842的一部分。分发器1850可以分析诸如缓冲器填满度的网络特征,并确定通信单位的大小,以提供每个通信信道的对应缓冲器。例如,并行信道1820和1830可以比串行信道1840和1842更快地传输数据。这样,相比于串行信道1842、1844,分发器1850可以为并行信道1820和1823提供更大的通信单位(更多数据包)。
[0178]在一些实现方式中,信道绑定装置1812可以是前端,接收装置1814可以是路由器或机顶盒。在其他实现方式中,信道绑定装置1812可以是家庭网络上的装置(例如,网关、路由器、机顶盒),而接收装置1814可以是家庭网络上的另一装置。例如,多室数字录像机(DVR)可以通过绑定信道与机顶盒通信,反之亦然。在另一实现方式中,信道绑定装置1812可以是与接收装置1814通信的机顶盒中的解调器芯片,诸如后台芯片。因此,并行和串行流能够以各种粒度级别绑定在一起用于各种应用。
[0179]在硬件、软件、以及硬件和软件的许多不同组合中,上述方法、装置、和逻辑可以按照许多不同方式来实现。例如,系统的全部或一部分可以包括控制器、微处理器中的电路或特定用途集成电路(ASIC),或者可以用分立的逻辑或部件来实现,或者是其他类型的模拟或数字电路组合,组合在单个集成电路上或分布在多个集成电路中。上述逻辑的全部或部分可以实施为由处理器、控制器、或其他处理装置执行的指令,并且可以存储在有形或非临时性地机器可读或计算机可读介质中,诸如闪存、随机存取存储器(RAM)或只读存储器(ROM)、可擦除可编程只读存储器(EPR0M)、或诸如光盘只读存储器(⑶ROM)的机器可读介质、或磁盘或光盘。因此,诸如计算机程序产品的产品可以包括存储介质和介质上存储的计算机可读指令,当在端点、计算机系统、或其他装置中执行时,使得装置根据任意以上描述执行操作。[0180]架构的处理能力可以分布在可选地包括多个分布式处理系统的多个系统部件中,诸如分布在多个处理器和存储器中。参数、数据库、和其他数据结构可以单独存储和管理、可以并入到单个存储器或数据库中、可以以许多不同方式逻辑地和物理地组织、并且可以以多种方式来实现,包括诸如链表、哈希表、或隐式存储机制的数据结构。程序可以是单个程序、单独程序的一部分(例如,子例程),或者以多种不同方式来实现,诸如在例如共享库(例如,动态链路库(DLL))的库中。例如,DLL可以存储执行任意上述处理的代码。虽然已经描述了本法发明的各实现方式,但是对于本领域普通技术人员来说,显然,在本发明的范围内,有更多的实现方式和实现是可能的。因此,本发明仅由所附权利要求及其等同物限制。
【权利要求】
1.一种系统,包括: 输入接口 ; 至单独通信信道的输出接口;以及 与所述输入接口和所述输出接口通信的逻辑,所述逻辑被配置为: 确定将哪些所述通信信道一起用作绑定信道组; 从所述输入接口获得源数据; 在所述输出接口中分配信道绑定信息;以及 在所述绑定信道组的通信信道中分配所述源数据,其中,所述输出接口的第一输出接口是串行接口,所述输出接口的第二输出接口是并行接口。
2.根据权利要求1所述的系统,其中,所述并行接口具有时钟同步的多条通信线路。
3.根据权利要求1所述的系统,其中,所述逻辑被配置为分析所述源数据并将所述源数据分派为通信单位。
4.根据权利要求1所述的系统,其中,所述逻辑被配置为基于分派至通信单位的所述源数据,将所述通信单位分配至所述串行接口。
5.根据权利要求1所述的系统,其中,在多个并行通信线路中的每个中分配所述通信单位。
6.根据权利要求1所述的系统,其中,所述逻辑被配置为在所述绑定信道组中以循环方式分配数据。
7.根据权利要求1所述的系统,其中,所述信道绑定信息包括标记数据包。
8.根据权利要求1所述的系统,其中,所述源数据包括视频流数据包。
9.一种接收器系统,包括: 连接至单独通信信道的输入接口,其中,所述输入接口的第一输入接口是串行接口,所述输入接口的第二输入接口是并行接口; 连接至输出通信信道的输出接口 ;以及 与所述输入接口和所述输出接口通信的逻辑,所述逻辑被配置为: 确定将哪些所述通信信道一起用作绑定信道组; 从所述单独通信信道获得数据; 识别从所述输入接口接收的信道绑定信息;以及 基于所述信道绑定信息,以预定顺序排列来自所述通信信道的所述数据。
10.一种方法,包括: 获得由统计多路复用器创建的数据包流; 将所述数据包流分成通信单位; 识别一组可用通信信道中的通信信道的绑定信道组,其中,所述绑定信道组的第一通信信道是串行通信信道,所述绑定信道组的第二通信信道是并行通信信道; 在所述绑定信道组中分配信道绑定信息;以及 在所述绑定信道组中分配所述通信单位。
【文档编号】H04N21/63GK103634615SQ201310076623
【公开日】2014年3月12日 申请日期:2013年3月11日 优先权日:2012年3月11日
【发明者】拉杰什·马米德瓦尔, 陈学敏, 阿南德·唐格勒, 侯靖 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1