首页> 中国专利> 最新组播加入的快速频道切换

最新组播加入的快速频道切换

摘要

在因特网协议电视(IPTV)系统中,特别处理体验最新组播加入的快速频道切换(FCC)事务,从而允许系统提供在期望的范围内的最大多数组播加入。在FCC事务期间,诸如机顶盒(STB)的用户接口设备能够确定其在间隙可被预测出现在从FCC单播到组播的切换中之前能够等待多长时间加入新频道的组播流。如果STB在所确定的时间之前还没有加入组播流,则调用恢复过程,在该恢复过程中,STB向FCC服务器发送重新开始RESTART请求,然后FCC服务器增加FCC单播的速率,如同FCC事务重新开始一样,从而允许切换无缝地发生。该方案减少了每个FCC事务的需求,考虑了更大的灵活性并降低了成本。

著录项

  • 公开/公告号CN102422649A

    专利类型发明专利

  • 公开/公告日2012-04-18

    原文格式PDF

  • 申请/专利权人 阿尔卡特朗讯公司;

    申请/专利号CN201080020303.X

  • 发明设计人 R·海米-科恩;J·P·海恩;

    申请日2010-04-29

  • 分类号H04N21/6405(20110101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人刘薇;杨晓光

  • 地址 法国巴黎

  • 入库时间 2023-12-18 04:59:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-04

    未缴年费专利权终止 IPC(主分类):H04N21/6405 专利号:ZL201080020303X 申请日:20100429 授权公告日:20140604

    专利权的终止

  • 2019-06-14

    专利权的转移 IPC(主分类):H04N21/6405 登记生效日:20190528 变更前: 变更后: 申请日:20100429

    专利申请权、专利权的转移

  • 2014-06-04

    授权

    授权

  • 2012-05-30

    实质审查的生效 IPC(主分类):H04N21/6405 申请日:20100429

    实质审查的生效

  • 2012-04-18

    公开

    公开

说明书

技术领域

本发明通常涉及因特网协议电视(IPTV),更具体地,涉及快速频道 切换(FCC)方法和装置。

背景技术

在典型的通过数字用户线(DSL)或光纤提供因特网协议电视(IPTV) 的信号分发系统中,订户或用户被提供诸如机顶盒(STB)或接收器的接 口设备,用于与例如包括DSL接入复用器(DSLAM)的网络设备进行通 信。接口设备被配置为接收并处理与用户所选择的频道对应的内容流,以 在电视等上呈现。

为了在IPTV系统中接收指定的所选择的频道,用户接口设备通常加 入与所选择的频道对应的组播流。这是有问题的,因为在频道切换命令的 用户输入与新频道的可解码的组播数据的接收之间存在较大延迟,通常是 几秒。由于解码视频流通常是递归的过程,即,解码一个帧取决于以前所 解码的帧,解码必须在“入口点”开始,在该“入口点”不需要在先的帧。 因此,一旦STB加入新频道的组播,则它必须等待流中的下一个入口点以 便开始解码。然而,在这样的入口点之间的间隔可能是几百毫秒或甚至几 秒。这是频道切换中延迟的主要原因。在该频道切换延迟周期期间,显示 设备的屏幕通常是空白或固定的,这在快速切换频道时对于观众来说是非 常烦人的。

在IPTV中用于解决频道切换延迟的问题的一种方法已经在分布式系 统中配置了快速频道切换(FCC)服务器。FCC服务器缓存每个频道的最 近几秒的内容流。响应于用户的频道切换命令的输入,用户的STB向FCC 服务器发送FCC请求。FCC服务器以单播向STB发送来自新频道的短视 频流以用于立即重放,该短视频流在过去(在当前组播分组后)的某个入 口点开始。FCC服务器以比频道的数据速率快的数据速率向STB发送数 据,在这种情况下,在几秒钟后,FCC服务器“追上”该频道的组播流。 STB在其接收了第一个单播分组后立刻开始播放新频道,因此,频道切换 看起来很快。一旦FCC服务器“追上”组播,则它向STB发信号以加入 新频道的组播流。STB加入组播,并继续从组播流中播放。该传统方法的 示例性实施的描述可以在美国专利申请No.2005/0081244“Fast Channel  Change(快速频道切换)”中找到。

通常,用户的环路(在STB与DSLAM之间)是有限带宽的。如果 FCC服务器与组播并行地以频道的数据速率向STB发送FCC单播,则可 能发生分组丢失。为了防止出现这种情况,服务器在向STB发信号以加入 组播之后立刻将单播速率降低到频道数据速率的几分之一。因此,在从接 收“加入组播”信号开始直到开始接收组播输入为止的时间期间,STB以 明显比其消耗数据的速率低的速率接收数据,,并具有在服务器单播速率 比频道数据速率高时以前已经积聚的从缓冲器中获得的平衡。为了防止 STB中的缓冲器在开始解码组播流之前被用尽,服务器必须以足够长的延 迟选择开始点。

然而,传统的FCC方法的重大缺陷在于每个FCC事务的数据量对于 组播加入时间的易变性是非常敏感的,组播加入时间即从发送加入请求开 始直到接收第一个组播分组为止的时间。该间隔可以被建模为具有长尾分 布的随机变量,其可在几毫秒到几百毫秒之间变化。同样,对于组播加入 时间的所有情况提供传统的FCC系统会导致FCC事务周期的很大增加, 而这对于大多数情况是不需要的,并使得扩大FCC系统以处理更大数量的 FCC事务更难。

另一个解决频道切换延迟问题的方法依赖于到用户的高带宽链路。通 常,使用更大的带宽会缓解该问题,但由于分布式系统的局限性,额外的 带宽可能不可得或者不划算。

因此,有一种未解决的在用户切换在IP网络环境中分发的视频的频道 时充分降低FCC服务器所发送的单播流的周期和数据量的需求。

发明内容

本发明在示例性实施例中提供了改进的用于在IPTV系统或其它类型 的信号分发系统中的快速频道切换的技术。

在本发明的快速频道切换(FCC)过程的示例性实施例中,在FCC 服务器已经完成向诸如机顶盒(STB)的用户接口设备的单播传输并且STB 已经请求加入新频道的组播流之后,STB被配置为预测其是否在分组用尽 实际发生之前至少某个间隔(例如,几百毫秒)将用完分组。如果STB预 测其将用完,则离开组播并向FCC服务器发送在此被称为重新开始 (RESTART)消息的消息。响应于RESTART消息,FCC服务器将其输 出数据速率增加到比组播速率快的单播水平。当FCC服务器追上组播时, 向STB发信号以加入新频道的组播,事务如以前一样继续。

这种示例性的恢复过程的实施允许对绝大多数普通情况而不是最坏情 况设计FCC服务器。在组播加入时间超过所设计的加入时间的少数情况 下,恢复过程将重新开始FCC事务,以防止在从FCC单播到组播的切换 中的间隙。在其它好处方面,该方案允许FCC单播流与组播流之间更小的 初始延迟、每个FCC事务发送更少的数据、更快的FCC事务和改进的可 扩展性,而无需要求到用户的高带宽。

根据下面的附图和描述,本发明的实施例的上述和其它方面、特征和 好处将是显而易见的。

附图说明

现在参照附图仅仅作为例子描述根据本发明的实施例的装置和/或方 法的一些实施例,其中:

图1是本发明可被全部或部分地实施的示例性环境的示意性表示;

图2是表示图1的环境中的FCC事务的过程的图形化图表;

图3是用于处理FCC事务的示例性恢复过程的流程图,其中,组播加 入没有及时发生以确保从FCC单播到组播的无缝切换;

图4是表示图3的示例性恢复过程已被调用的FCC事务的过程的图形 化图表;

图5是另一个用于处理FCC事务的示例性恢复过程的流程图,其中, 组播加入没有及时发生以确保从FCC单播到组播的无缝切换。

具体实施方式

在本说明书中,假定读者熟悉诸如基于IP的视频网络的数字分布式系 统的基本操作原理和结构。在此将结合信号分发系统和相关的快速频道切 换(FCC)处理技术的示例性实施例描述本发明。然而,应当理解,本发 明并不限于使用所描述的特定系统和技术,而相反更一般地应用于任何期 望提供改进的FCC请求的处理的信号分发系统。例如,虽然在此主要在 IPTV系统的上下文中进行描述,但本发明的技术也可直接适用于其它类 型的信号分发系统,例如包括蜂窝系统。另外,虽然在此主要在视频的上 下文中进行描述,但本发明的技术也可应用于任何类型的流内容,例如包 括音频或者音频和视频。

图1是本发明可全部或部分地实现的示例性环境100的示意性表示。 环境100包括内容分发网络110,其在本实施例中是基于因特网协议(IP) 的宽带网络。例如,内容分发网络100可以是电缆、卫星、数字用户线 (DSL)、光纤到户、数据和/或任何上述类型的内容分发网络的组合。网 络100的各部分可以是有线或无线的,并具有任何适当的拓扑结构。内容 分发网络100还可包括或连接到其它网络,诸如因特网或内部网。网络100 可包括任何类型的适合于传输与电视服务的提供相关联的信号的通信网 络,并且本发明并不限于此。例如,网络100的各部分可包括局域网、广 域网、因特网等。对于本领域的普通技术人员来说显然的,各种可选的装 置都是可能的。

在网络100中,包含编码内容的组播视频流通常从一个或多个内容源 115分发,内容源115可另外包括传统的服务提供商设备,例如包括数据 转发器系统、卫星、服务器等。网络100包括诸如路由器和交换机120、 130的网络单元和诸如数字用户线复用器(DSLAM)140的用于向诸如机 顶盒(STB)150的多个用户接口设备分发视频流的多个节点的组合。为 了简化起见,在图1中示出了从一个内容源115经一个DSLAM 140到一 个STB 150的一个路径。粗箭头表示下行链路数据流,而细箭头表示上行 链路控制消息,诸如频道切换请求。

为了示例性实施例的目的,用户接口设备150被假定为机顶盒(STB), 但在其它实施例中,可包括例如以任何形式组合的接收机、计算机、蜂窝 手持终端或其它基于处理器的设备。这种设备在此也被称为用户接口设备 或“客户机”,并可被实现为单独的设备,诸如STB、卫星接收机(未示 出)、调制解调器(未示出)或其它连接到诸如TV的显示设备160的设 备。用户接口设备150还可与诸如TV、计算机(未示出)或监视器(未 示出)的具有用于渲染并显示内容(音频和/或视频内容)的屏幕的显示设 备集成或者是这样的显示设备的一部分。该类型的指定设备允许一个或多 个用户经由信号分发系统访问被传递到设备的内容流。STB 150可具有传 统的硬件设备,例如包括连接到存储器的处理器和用于将所接收的内容流 转换成适合于设备160显示的形式的解码器152。存储器可包括随机存取 存储器(RAM)、只读存储器(ROM)或其它类型的存储设备以及这些 设备的部分或组合。存储器的一部分可包括输入缓冲器151,用于存储从 分发网络110接收的内容流并优选地以固定的比特率将其提供给解码器 152。处理器和存储器用于存储和执行一个或多个用于实现在此公开的快速 频道切换技术的接口设备部分的软件程序。存储器可被看作在此也称为计 算机可读的存储介质的例子。

网络100还包括至少一个快速频道切换(FCC)服务器125,其被设 置在内容源115与DSLAM 140之间的某个中间点处。如以下更详细地说 明的,FCC服务器125经由DSLAM 140向STB 150提供单播视频流。FCC 服务器125从内容源115接收组播流,并缓存该组播流以用于在需要时作 为单播流提供。在传统的系统中,单个FCC服务器125将参加与多个STB 的多个FCC事务,通常是同时参加。为了简化说明,在此描述在一个FCC 服务器与一个STB之间的FCC事务。

在图1的示意性表示中,路由器120代表在去往STB 150和FCC服 务器125的组播路由中的最后一个公共路由器。路由器130代表在组播路 由和去往STB 150的FCC单播路由中的第一个公共路由器。路由器120 和130可以是相同的网络单元。虚线和点线箭头表明中间可能有未在图1 中示出的中间网络单元(路由器、交换机)。

虽然被示为分开的单独的设备,但FCC服务器125可在具有一个或多 个系统的其它服务器的通用处理平台上实现,或者可被分布在多个这种处 理平台上。另外,虽然图1仅示出单个DSLAM 140、一对路由器/交换机 120、130和单个FCC服务器125,但是,特定实施例当然可包括多个这样 的单元。系统100还可包括在这种系统的传统实现中找到的其它类型的单 元,诸如交换机、内容服务器、广告服务器等。

虽然在此参照DSLAM讨论并描述了实施例,但本领域的普通技术人 员容易知道,本发明可用于与任何类型边缘节点相结合,包括服务器、路 由器、交换机、卫星发射机和其它适合于从网络的边缘向终端用户分发内 容的节点。在本实施例中,DSLAM 140是提供内容分发网络110到STB 150 的接口并可被传统地实现的网络单元。

STB 150经由可以是DSL、电缆、光纤或无线链路或任何其它合适的 连接的点对点双向连接145连接到DSLAM 140。来自网络110的内容流 被DSLAM 140传递给STB 150。STB 150向DSLAM 150传输控制消息, 诸如频道切换请求消息。频道切换的请求从STB 150到达DSLAM 140, 然后DSLAM 140将它们传送到FCC服务器125。

当FCC服务器125接收频道切换请求时,它开始以单播形式向STB 150流传输所请求的频道数据几秒钟的时间。最初,只是STB 150所接收 的数据流,这样,FCC服务器125可利用对STB可用的全部带宽。在某 一点,FCC服务器125指示STB 150加入新频道的组播流,并且有时在这 之后FCC服务器125终止单播流。一旦STB 150开始接收组播流,或者 在这之前某个时间,单播流的比特率必须相应地降低,以避免连接145超 载和导致分组丢失。这暗示单播FCC流传输的两个阶段:第一个阶段使用 全部的可用带宽,而在后一个阶段,单播流与组播流共享带宽。为了进一 步优化,引入中间阶段,其表示从加入组播流的指示从FCC服务器125 发送开始直到组播流开始到达STB 150为止所经过的间隔的最小时段,在 该时段内,单播数据速率等于频道数据速率。

图2表示在STB 150与FCC服务器125之间FCC事务中的流传输的 上述阶段。虚线201代表指定内容流中组播分组到达FCC服务器125。这 些组播分组持续地到达FCC服务器。在任何指定的时间点,FCC服务器 使最后几秒钟的组播传输缓存即存储在存储器中。实线曲线202代表从 FCC服务器125到STB 150的单播分组传输。点线203代表从缓冲器151 到STB 150的解码器152的分组的输出。在图2中,数据速率被标准化, 以致组播数据速率是1(如由线201表示的),如同从输入缓冲器151到 STB 150的解码器152的数据速率(线203)。另外,为了简化说明,进 行如下简化假定:所有数据流具有不变的比特率,并且没有任何抖动;忽 略数据流可包括离散分组的事实,并且每个数据流被认为是连续的比特流 (诸如“分组”的术语用于表明数据流中的特定点);不产生缺损(denting) (服务器在单播流中不跳帧);一旦STB 150加入组播,则每个组播分组 同时到达STB 150和FCC服务器125;从FCC服务器到STB的单播的传 输延迟被忽略不计;在FCC服务器和STB处的处理时间忽略不计;STB 在它从FCC服务器接收到第一个单播分组时立即开始解码新频道。

如图2所示,阶段1在时间T1开始,在FCC服务器125处接收FCC 请求。由于在FCC服务器125处的处理延迟被假定忽略,因此,只要FCC 服务器125接收到FCC请求,它就开始向STB 150单播流传输所请求的 频道数据。通过单播发送的分组从FCC服务器的缓存器中获取,这些分组 从服务器在时间T0接收的分组开始(应当注意,服务器在时间T0接收的 分组必须是入口点)。T1与T0之间的差Ds是进入组播分组与输出单播分 组之间的初始时间间隔。下面更详细地说明该时间间隔的确定。

在阶段1期间的单播流传输的速率是1+E,其中E是突发系数(E>0)。 以比1高的速率从FCC服务器125发送数据是可能的,因为该发送在是在 FCC服务器处接收组播之后的时期Ds的点开始。优选地,选择E,以致 1+E是用于向STB 150流传输数据的可用带宽。由于FCC服务器的输出 数据速率1+E比输入速率1高,因此,进入组播分组与输出单播分组之间 的间隔在阶段1期间减小。通常,阶段1的周期可以是几秒钟。

当到达FCC服务器125的组播流与离开服务器的单播流之间的时间间 隔变成零时,即,当进入分组实质上只要被FCC服务器接收就从FCC服 务器向STB 150发送时,FCC服务器125指示STB加入组播。接着,STB 150在时间T2向DSLAM 140发送因特网组管理协议(IGMP)加入请求。 这标志阶段2的开始。在从STB 150在时间T2发送IGMP加入请求开始 直到STB 150接收第一个组播分组的时间为止存在间隔TJ。间隔TJ,也 称为组播加入时间,是随请求而变化的随机变量。它具有最小值TJmin,但 它的分布具有长尾,并且TJ具有高的最大值。下面详细说明FCC事务中 组播加入时间的重要性和它的可变性。

阶段2是从时间T2开始并持续TJmin的间隔。在阶段2期间,FCC服 务器125不必与组播共享带宽,但它不能够以比1快的速率发送数据,因 为在追上组播后,服务器不能以比其接收分组的速率快的速率发送分组。 因此,FCC服务器125在不超过TJmin的时段持续地以速率1向STB 150 发送数据,其中该时段通常不超过几十毫秒。在图2中,为了清楚地说明, TJmin的相对大小被夸大了。

如图2所示,当时段TJmin届满时,FCC服务器125减小到STB 150 的单播流的速率,即使STB可能直到稍后的某个时间T2+TJ才实际开始接 收组播流。在时间T2+TJmin处单播速率的降低标志阶段3的开始。从时间 T2+TJ开始,STB 150从FCC服务器125接收单播流以及组播流。因此, 组播流和单播流的总比特率不超过可用带宽1+E,优选地,FCC服务器125 在阶段3期间降低单播速率。注意,FCC服务器125直到在事实发生之后 才确切地知道STB 150何时开始接收组播流。因此,优选地,FCC服务器 125在STB可开始接收组播的最早时间即T2+TJmin降低速率。

在图2中的每个时间点,曲线202与线203之间水平方向上的差是在 STB 150处接收单播分组与向STB解码器152提供分组之间的时间间隔。 在时间T3,曲线202和线203相会,并且该时间间隔基本为零。正如可从 图2中看出:

T3=T2+TJmin+DS1-E---(1)

如果单播流继续而超过了该时间点,则单播分组将在它们会被解码器152 需要的时间之后到达STB 150,即,太晚了而没有用。最后一个可用的单 播分组用点212表示,其对应于曲线202和线203的交叉点。FCC服务器 125可使用公式1计算T3,并在不晚于时间T3时停止单播流,其中时间 T3标志阶段3的结束。通常,阶段3的周期是几百毫秒。应当注意,在设 计好的系统中,FCC服务器120通常直到时间T3为止才继续单播。通常, STB 150接收第一个组播分组,并向FCC服务器125报告与该第一个组播 分组对应的时间。服务器保持流传输,直到它以单播发送相同的分组,然 后停止。

为了避免STB 150所解码的数据流中的任何间隔,需要进行从单播到 组播流的无缝切换。可以看出,关于是否发生无缝切换的重要的决定因素 是组播加入时间TJ。下面将描述无缝切换的条件。

假定D1和B1分别是在阶段1中发送的数据的持续时间和数据量。由 于数据速率被标准化,以致组播数据速率是1,因此,B1以时间单位给出, 代表在该时间长度内通过组播传输的数据量。阶段1从初始时间间隔(组 播到达FCC服务器125与从FCC服务器125中分组单播之间的时间间隔) DS开始,并在该时间间隔降低到零时结束。由于在阶段1期间,FCC服务 器125以速率1+E发送数据并以速率1接收数据,因此,D1和B1可如下 确定:

D1=DSE---(2)

B1=D1(1+E)=DS(1+E)E---(3)

在时间T1,STB 150开始解码与在时间T0的组播数据对应的单播数据, 由于STB以速率1解码数据,因此,STB可在任意指定的时间点持续地解 码是在组播流后DS的数据(注意,在图2中,线203与线201平行,并且 在时间上偏移间隔DS)。因此,在时间T2之前,当单播流已经追上组播 流且阶段1结束时,STB缓冲器151已经积累了数据量DS。缓冲器151 在阶段2期间维持该水平,其中,在阶段2期间,进入缓冲器的输入速率 等于输出到解码器152的输出速率。然而,在阶段3期间,单播数据以速 率E到达,但被STB 150以速率1解码。因此,假定0<E<1,则在阶段3 开始后,STB缓冲器151将在时间被耗尽。在缓冲器151被耗尽时解 码的单播分组对应于DS之前的组播分组;即,在阶段3开始后,在时间 FCC服务器125所接收的组播分组。因此,为了在 STB 150处具有从单播流到组播流的无缝转换,组播加入应当在阶段3开 始后不晚于V的时间完成(即,第一个组播分组应当由STB接收)。换 句话说,为了避免在STB解码器处FCC事务中的间隔,组播加入时间TJ应当满足以下条件:

TJTJmin+V=TJmin+DS(E1-E)---(4)

在该不等式中,TJ和E是不容易更改或者可超出FCC系统设计者的 控制的网络参数,在这种情况下,仅有的确保不出现间隔的方法通常是增 加DS,以致即使对于TJ的最大可能的值,公式4的条件也满足。根据公 式2和3可以看出,这会导致阶段1的周期和在该阶段期间发送的数据量 成比例地增加。

如上所述,组播加入时间TJ是具有长尾分布的随机变量,并且会偶尔 具有大的最大值。同样,对于TJ的最大可能的值要求从单播到组播的无缝 切换是不可能或不切实际的;即,对于公式4的条件总是被满足。这样做 可使得单播流的持续时间和以单播发送的数据量对于大规模运行(即,并 行地运行许多FCC会话)太大。

在示例性系统中,指定了TJ的最大值,在此称为HJ,对于该最大值, 切换以指定的(优选地,高的)概率被期望是无缝的。换句话说,选择DS, 以致如果加入时间TJ不超过HJ,则从单播到组播的切换将以指定概率是 无缝的。优选地,选择HJ,以致TJ>HJ的概率小(例如,小于5%)。然 而,如果加入时间TJ确实超过HJ,则如以下所描述的实现的过程可处理 这种情况以提供无缝切换。在示例性实施例中,HJ具有几百毫秒的值。

图3是可由STB 150执行的用于处理FCC事务的过程的示例性实施 例的流程图。在步骤301,在STB 150处,响应于频道切换命令,FCC请 求经由DSLAM 140向FCC服务器125发送。FCC服务器125响应性地 以某个初始时间间隔DS向STB 150单播数据,并在302,STB以速率1+E 接收该单播流。如上面参照图2所描述的,这发生在阶段1。在303,FCC 事务进入到阶段2,其从STB响应于来自FCC服务器的消息而在时间T2发送组播加入请求开始。

一旦STB 150已发送组播加入请求,则将存在时间T2+Jmax,在该时 间之前,如果STB还没有接收到第一个组播分组,则STB可预测它将在 FCC单播在时间T3结束时用完数据。换句话说,如果组播加入时间TJ超 过Jmax,则将在提供给STB解码器152的流中出现间隔。如图2所示,Jmax=TJmin+V,并且“预警”时间W是在T2+Jmax(此时,很清楚有问题) 开始而在时间T3(此时,发生数据的用尽)结束的间隔的长度。预警时间 W实质上独立于数据速率,并且通常是几百毫秒长。注意,在上述简化假 定的情况下,W≈DS。如图2所示,时间T2+Jmax对应于上述的最后一个 可用的单播分组(用点212表示)的组播到达FCC服务器125。

在304,根据下面的公式,STB 150基于其缓冲器151在时间T2处的 水平即B(T2)和突发速率E确定Jmax

Jmax=TJmin+B(T2)(E1-E)---(5)

如上所述,在阶段2期间,STB缓冲器151的水平基本上不变,并在阶段 3开始消耗,以致它将在阶段3开始后在时间为空。

由STB 150用于计算Jmax的公式5的参数可通过多种合适的装置获得。 由于在时间T2处的STB缓冲器水平可被期望在阶段2期间基本上是不变 的,因此,缓冲器水平可被确定,例如,如果在阶段2期间,缓冲器水平 出现变化,则只要STB 150从FCC服务器125接收加入组播的消息,就 在阶段2的后期或在阶段3开始后不久,在表面上获得更准确的水平。(注 意,通过等待直到阶段3,更新的突发速率E的估计也可获得并用于确定 Jmax。)参数TJmin可以在STB 150中提供,或者STB可以通过跟踪从它 接收加入组播的信号的时间开始直到单播数据速率正好降低到1为止的间 隔来估计。在阶段3,突发速率E可通过提供或者根据进入数据速率或在 时间T2+JJmin后的缓冲器151的消耗速率来估计而对STB已知。可选择地, 参数DS、TJmin、E的任何一个或全部可由FCC服务器传送。例如,这些 值可以包括在FCC服务器向STB发送的加入组播的消息中。

在305,当STB 150继续从FCC服务器125接收单播流时,等待加入 组播;即,等待接收第一个组播流分组。在306,当等待加入组播时,STB 150监控自发送加入请求以来已经流逝的时间。如果该时间还未超过在304 确定的Jmax,则STB在继续接收FCC单播流时继续等待组播流。如果组 播流在所流逝的时间超过Jmax之前开始,则在阶段3中操作正常地进行, 如307所示。然后,阶段3在308结束,此时,来自FCC服务器125的单 播流结束。

然而,如果在306确定自加入请求被发送以来所流逝的时间已经超过 Jmax并且组播流的接收还没有开始,则操作进行到309。这时,STB 150 知道它将在FCC单播结束的时间之前用完数据,并作为响应,采取先发制 人的动作以防止这种情况。这种情形在图4中说明。在309,STB 140通 过向DSLAM 140发送IGMP“离开(leave)”消息来离开组播组,并且 优选地,等待一小段时间(例如,大约100毫秒)以证实组播流已被停止; 即,在发送IGMP“leave”消息后没有组播分组到达。随后,在311,STB 向FCC服务器125发送重新开始(RESTART)消息。参照图4,这在或 者大约在时间T2+Jmax[B(T2)]发生。(为了简化说明,图4没有示出上述的离 开组播与发送RESTART之间的等待时间。)RESTART消息作为加入同 一信道的附加请求。在从STB 150接收到RESTART消息后,FCC服务 器125将恢复到新的“阶段1”,在图4中称为阶段1a,但无需后退(back  off);它只是将有效数据速率增加到1+E,并从它当前在单播流中的点开 始保持单播流传输数据到STB 150(图3,步骤302)。

RESTART消息及其实现可以被结合,例如作为现有或新的FCC协议 或标准的增强,或者作为专有方案的一部分。

一旦组播与单播之间的间隔(再次)靠近,则FCC服务器将指示STB 加入组播,并继续进行与第一次尝试相同的过程,以期望这次第一个组播 分组将更快到达。如图4所示,STB在时间T2a发送组播加入请求(图3, 步骤303)。这标志着新的“阶段2”的开始,其在图4中称为阶段2a。 如同在阶段2中一样,在阶段2a期间,单播速率降低到1,直到间隔TJmin在时间T2a+TJmin已流逝。

如前所述,在阶段2a期间内的某个时间或者在阶段3a开始时,根据 公式5,STB 150将基于其缓冲器151在时间T2a的水平确定Jmax的新值(图 3,304)。该新值在图4中被示为Jmax[B(T2a)]。注意,时间T2a+Jmax[B(T2a)]对 应于最后一个可用的单播分组(用点212a表示)的组播到达FCC服务器。 然后,STB 150再次等待组播开始(305,306)。其间,阶段2a在时间 T2a+Jmax[B(T2a)]到达终点,称为阶段3a的新的“阶段3”开始。如同在阶段 3中一样,单播速率在阶段3a中降低到E。

在图4所示的情形中,STB 150在时间点T2a+TJ,在时间间隔Jmax[B(T2a)] 届满前,开始接收组播流。如上所述,在阶段3a中,STB接收组播流和 单播流(图3,307),直到单播在时间T3a结束(308)。

由于非常长的组播加入时间不是很常见,因此,组播加入时间将多于 两次或至多三次连续地超过所期望的加入时间的概率实质上可忽略。

实施示例性恢复过程允许参数HJ被设置得较低;即,使得设计FCC 系统以用于组播加入时间TJ中的较小变化成为可能。如上所述,为了具有 无缝切换,公式4的条件必须得到满足。重新配置公式4的各项:

DS(1-EE)(TJ-TJmin)---(6)

如公式6所示,对于加入时间TJ,无缝切换所需要的DS的最小值直 接与差TJ-TJmin有关。在传统的系统中,由于没有诸如上述的重新开始过 程,因此,DS必须被设置成覆盖TJ的分布的较宽范围(例如99.5%), 以便提供可接受的FCC性能。实施诸如如上所述的重新开始过程允许DS被设置成更小的值,因为可以提供TJ的分布的更小范围(例如95%)。 加入时间超过该范围的FCC事务(例如,事务的剩余5%)可以使用恢复 过程处理。因此,降低HJ的要求使得在实质上降低每个FCC事务的周期 和FCC单播中所要求的数据量成为可能。这使得每个FCC事务更少需求, 从而增加可用性和可被指定FCC服务器支持的FCC请求的数量,也从而 降低与实现具有FCC功能的系统相关的成本。

图5是FCC事务的另一个示例性实施例的流程图,其中,STB在它 等待加入组播时重复地更新Jmax的估计(304,305和306)。这允许通过 观察STB缓冲器随时间的消耗率来更准确地估计临界时间点 T2a+Jmax[B(T2a)],并且在诸如没有缺损(denting)的某些上述简化假定不能 维持的情形下特别有用。在这些情况下,曲线202可能不是严格的分段线 性,并且距离临界时间点越近,越能被更好地估计。

本发明的实施例的期望的目标是减小FCC事务的阶段1的周期D1的 平均值和在阶段1中传输的单播数据量的平均值B1。根据组播加入时间的 实际分布来优化参数HJ(正常操作的最大可允许组播加入时间)的选择有 助于实现该目的。HJ选择得太高会导致不必要地增加DS,从而也导致不 必要地增加D1和B1(公式2和3),而HJ选择得太低会导致太多的FCC 事务经历恢复过程,诸如上述的重新开始过程,并导致与其相关联的开销。 然而,由于IGMP工作的方式,流行的频道可能具有比较少被观看的频道 更短的组播加入时间。另外,在使用的高峰期,由于IGMP加入请求可能 在被处理之前在队列中被延迟更长的时间,因此,组播加入时间可能更长。 因此,根据本发明的示例性实施例,优选地,HJ自适应于频道、时间和/ 或使用率。换句话说,HJ并进而DS的值根据频道、时间和/或使用率选择。

在示例性的实施例中,如上所述,FCC事务采取重新启动过程的概率 在任何指定时间t在FCC服务器中被估计为Pt。概率Pt可例如通过考虑 固定周期的时间间隔(例如10秒)并且在每个间隔内计算使用重新开始过 程的FCC事务的数量与在该间隔内FCC事务的总数量之间的比来估计。 如果概率Pt超过某个预设的目标概率Pd(例如5%),则增加HJ(和DS), 如果Pt<Pd,则降低HJ(和DS)。

当最小化在FCC事务期间传输的数据的平均持续时间或者平均数据 量的目标概率Pd已知并且当Pd不随时间变化时,上述的过程应当能够很 好地工作。然而,如果不是这样,则可以代替使用诸如以下描述的过程以 最小化在FCC事务期间传输的数据的平均持续时间或者平均数据量。

首先,服务器可直接估计组播加入时间的分布。如上所述,在每个FCC 事务中,客户机通常在它接收到第一个组播分组时向FCC服务器报告,这 允许服务器确定每个FCC事务的组播加入时间。FCC服务器可使用这些 值以估计特定频道的组播加入时间的当前分布,例如,通过在指定时间间 隔内(例如,最后60秒)生成特定频道的所有组播加入时间的柱状图。

使用所估计的组播加入时间分布,服务器可根据该分布设置TJmin的 值。对于DS的任何值,可以确定所对应的值和Jmax=TJmin+V。使 用该Jmax和组播加入时间的分布,可对于该DS的特定值确定重新开始的 概率Pd

如图4所示,在阶段3期间,进入STB缓冲器151的单播速率是E, 而输出到解码器152的输出速率是1。如果客户机发送重新开始RESTART 消息,则它在阶段3开始后的时间V发送。当阶段3开始时,进入单播与 组播之间的间隙是零;在阶段3开始后,单播以速率E接收,而组播以速 率1进行。因此,在时间间隔V期间,进入单播与组播之间的间隙是 V(1-E)=DSE。这是在阶段1a开始时单播相对于组播的延迟,并且它对应 于在阶段1开始时的初始延迟DS。使用用于导出公式2和3的相同推理, 但用DSE代替DS,则在阶段1a期间传输的数据的持续时间和数据量分别 如下给出:

D1a=DSEE=DS---(7)

B1a=DSE(1-E)E=DS(1+E)---(8)

如果需要更多的RESTART请求,则在每个RESTART请求后的第一 个阶段传输的数据的持续时间和数据量也分别是D1a和B1a。对于估计以单 播传输的数据的总持续时间和数据量,在每个RESTART之后的初始阶段 2和3以及阶段2a和3a可以被忽略,因为它们的周期通常比阶段1和1a 的周期短很多。(为了说明的目的,这些阶段的周期在图2和4中被夸大 了)。另外,由于在阶段2、2a和3、3a中更低的数据速率,与阶段1、 1a相比,在这些阶段中传输的数据量甚至更低。基于这些简化假定,所期 望的总持续时间Dexp和所期望的发送的总数据量Bexp如下给出:

Dexp=D1+D1aΣi=1Pdi=D1+D1aPd1-Pd=Ds(1E+Pd1-Pd)---(9)

Bexp=B1+B1aΣi=1Pdi=B1+B1aPd1-Pd=DS(1+E)(1E+Pd1-Pd)---(10)

因此,对于任何DS的值,FCC服务器可分别根据等式9和10确定Dexp和Bexp。当FCC服务器接收对特定频道的FCC请求时,考虑在缓冲器中 的入口点。通常,这种入口点的数量非常少,通常少于10个。每个这种入 口点对应于一个DS的值。FCC服务器可对每个入口点计算Dexp和/或Bexp并选择产生最低值的入口点。

如果在特定实施例中需要或期望更高的准确性,则可以计算Dexp和 Bexp的更准确的估计,其考虑了所有阶段的贡献。在这种情况下,在公式9 和10中的D1和B1会被替换成用于阶段1、2和3的总周期和总单播数据 量的对应表达式,并且D1a和B1a会被替换成用于阶段1a、2a和3a的总周 期和总单播数据量的对应表达式。

应当理解,上述的特定例子和对应的假定并不是本发明的限制。例如, 在其它实施例中,以上的假定是不需要的。另外,如上所述的FCC处理的 特定阶段、参数和其它特征在可选的实施例中可以被改变。本发明可在其 它特定装置和/或方法中体现。所描述的实施例在所有方面都被认为是用于 说明而非限制。特别地,本发明的范围由后附的权利要求而不是说明书或 附图限定。在权利要求的等同的含义和范围内的所有变化都包含在它们的 范围中。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号