控制通信网络中的流送延迟的制作方法

文档序号:7993467阅读:303来源:国知局
控制通信网络中的流送延迟的制作方法
【专利摘要】提供了用于减少流送传输期间的延迟的技术。一种方法可以包括在单向传输上的文件递送(FLUTE)封装引擎(310,400)处接收HTTP上动态自适应流送(DASH)数据分段(308)的流。该方法可以包括基于这些DASH数据分段来建立第一分段群,以及生成信息的第一表。该方法可以包括传送第一表(430b)和第一分段群(430a),以及基于这些DASH数据分段来建立第二分段群,该第二分段群包括第一分段群中所包括的DASH数据分段的部分交叠。该方法可以包括生成信息的第二表(430b);以及传送第二表和包括来自第二群的、不是第一群的一部分的DASH数据分段的分段集合(430a)。
【专利说明】控制通信网络中的流送延迟
[0001]相关申请的交叉引用
[0002]本专利申请要求于2011年10月13日提交的题为“CONTROLLING STREAMING DELAYIN NETWORKS (控制网络中的流送延迟)”的临时申请N0.61/546,964的优先权,该临时申请被转让给本申请受让人并因而通过援引全部明确纳入于此。
【背景技术】
[0003]领域
[0004]本公开的诸方面可以涉及在传送信息时减少延迟。更具体地,本公开的诸方面可以涉及减少端对端内容(诸如视频)传输中的延迟,该延迟可归因于通过单向传输上的文件递送(FLUTE)环境在HTTP上的动态自适应流送(DASH)中的FLUTE封装引擎。
[0005]背景
[0006]无线通信网络被广泛部署以提供诸如语音、视频、分组数据、消息接发、广播等各种通信服务。这些无线网络可以是能够通过共享可用的网络资源来支持多个用户的多址网络。这类多址网络的示例包括码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交FDMA (OFDMA)网络、以及单载波FDMA (SC-FDMA)网络。
[0007]无线通信网络可包括能够支持数个用户装备(UE)(亦称为移动实体)通信的数个基站。UE可经由下行链路和上行链路与基站通信。下行链路(或即前向链路)是指从基站至UE的通信链路,而上行链路(或即反向链路)是指从UE至基站的通信链路。如本文中所使用的,“基站”意指演进型B节点(eNB)、B节点、归属B节点、或者无线通信系统的类似网络组件。
[0008]作为全球移动通信系统(GSM)和通用移动电信系统(UMTS)的演进,第3代伙伴项目(3GPP)长期演进(LTE)代表了蜂窝技术中的主要进步。LTE物理层(PHY)提供了在基站(诸如演进型B节点(eNB))与移动实体(诸如UE)之间传达数据和控制信息两者的高效方式。在先前的应用中,用于促成多媒体的高带宽通信的方法是单频网络(SFN)操作。SFN利用无线电发射机(诸如举例而言,eNB)来与订户UE通信。在单播操作中,每个eNB被控制为传送携带定向至一个或多个特定订户UE的信息的信号。单播信令的专属性使得能够实现人对人服务,诸如举例而言,语音呼叫、文本消息接发、或视频呼叫。
[0009]在广播操作中,广播区域中的若干eNB可以同步方式广播信号,该广播信号携带能由该广播区域中的任何订户UE接收和访问的信息。广播操作的通用性使得在传送公众感兴趣的信息(例如,事件相关的多媒体广播)方面实现更高效率。随着关于事件相关的多媒体和其他广播服务的需求和系统能力的增长,系统运营商已对在3GPP网络中利用广播操作方面显现出增长的兴趣。过去,3GPP LTE技术主要被用于单播服务,由此留下了对于与广播信令相关的改善和增强的机会。
[0010]对内容(诸如视频内容)的传输可以在通信网络中通过各种方法来执行。在视频内容的情形中,例如,视频信息从视频源至显示器的传输可以尤其经由单播传输和多播/广播传输进行。单播传输针对特定目标的接收设备。为了获得单播传输,目标设备可以具有带有视频源地址的统一资源定位符(“URL”),并且可以生成HTTP获取命令,该目标设备可以将该HTTP获取命令发送给视频源(通常为服务器)以促成视频文件的下载。
[0011]用于在单播环境中传送视频的已知方法是通过HTTP上的动态自适应流送(DASH)进行的。在单播中使用DASH获得整个文件。DASH可以将该视频文件转换成被称为DASH分段的较小组件,这些组件可在接收设备处重新组装以显示期望的视频。
[0012]当诸如演进型多媒体广播/单播服务(eMBMS)中的多播或广播传输被发送给多个接收设备时,这些传输呈现不同的考虑因素。在这些环境中,接收设备的调制解调器可以在相关联的系统实际采取措施以获得信息之前获得该信息。该收到信息可以本地存储在接收设备的本地高速缓存中。当系统(通常在应用层处)生成URL以获得该信息时,所生成的URL可以指向本地高速缓存而不是如单播环境中那样指向服务器。
[0013]与单向传输上的文件递送(FLUTE)相组合地利用的DASH是已用于多播环境的一种方法体系。在此方法体系中,视频内容可被转换成DASH分段。较小的DASH分段群可被FLUTE封装引擎(FPE)累积,该FPE进而可以将DASH分段转换成FLUTE分组以供传输。在此环境中使用FLUTE上的DASH可能导致延迟问题以及视频内容显示中的中断。
[0014]概述
[0015]以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在标识出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以作为稍后给出的更加详细的描述之序。
[0016]公开了用于控制单播和多播/广播传输中的流送延迟的装置和方法。根据一个方面,一种用于发送数据分段的方法包括:接收数据分段的流;基于数据分段来建立第一分段群;生成信息的第一表,该信息包括第一分段群中的各个分段的一个或多个属性;传送第一表和第一分段群;基于数据分段来建立第二分段群,该第二分段群包括第一分段群中所包括的数据分段的部分交叠;生成信息的第二表,该信息包括第一和第二分段群中的各个分段的一个或多个属性;以及传送第二表和包括来自第二群的、不是第一群的一部分的数据分段的分段集合。
[0017]根据另一方面,一种用于发送数据分段的方法包括:接收数据分段的流;将该流的个体分段编组成大小为NS的分段群,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的一个或多个中间群;为该一个或多个中间群中的第一中间群生成包括该第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性的信息的表;以及传送该表和包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合。
[0018]根据另一方面,一种用于发送数据分段的系统包括:用于基于接收到的数据分段的流来建立第一分段群的装置;用于生成信息的第一表的装置,该信息包括第一分段群中的各个分段的一个或多个属性;用于传送第一表和第一分段群的装置;用于基于数据分段来建立第二分段群的装置,该第二分段群包括第一分段群中所包括的数据分段的部分交叠;用于生成信息的第二表的装置,该信息包括第一和第二分段群中的各个分段的一个或多个属性;以及用于传送第二表和包括来自第二群的、不是第一群的一部分的数据分段的分段集合的装置。
[0019]根据另一方面,一种用于发送数据分段的系统包括:用于基于接收到的数据分段的流来将个体分段编组成大小为NS的分段群的装置,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的中间群;用于为第一中间群生成包括该第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性的信息的表的装置;以及用于传送该表和包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合的装置。
[0020]根据又一方面,一种用于发送数据分段的系统包括:至少一个处理器,其配置成接收数据分段的流;基于数据分段来建立第一分段群;生成信息的第一表,该信息包括第一分段群中的各个分段的一个或多个属性;传送第一表和第一分段群;基于数据分段来建立第二分段群,该第二分段群包括第一分段群中所包括的数据分段的部分交叠;生成信息的第二表,该信息包括第一和第二分段群中的各个分段的一个或多个属性;以及传送第二表和包括来自第二群的、不是第一群的一部分的数据分段的分段集合;以及耦合至该至少一个处理器的用于存储数据的存储器。
[0021]根据另一方面,一种用于发送数据分段的系统包括:至少一个处理器,其配置成接收数据分段的流;将该流中的个体分段编组成大小为NS的分段群,这些分段群包括第一群、最后群、和在第一分段群与最后分段群之间的中间群;为第一中间群生成包括该第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性的信息的表;传送该表和包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合;以及耦合至该至少一个处理器的用于存储数据的存储器。
[0022]根据另一方面,一种用于管理数据分段的传输的计算机程序产品包括计算机可读介质,该计算机可读介质包括用于执行以下操作的代码:接收数据分段的流;基于数据分段来建立第一分段群;生成信息的第一表,该信息包括第一分段群中的各个分段的一个或多个属性;传送第一表和第一分段群;基于数据分段来建立第二分段群,该第二分段群包括第一分段群中所包括的数据分段的部分交叠;生成信息的第二表,该信息包括第一和第二分段群中的各个分段的一个或多个属性;以及传送第二表和包括来自第二群的、不是第一群的一部分的数据分段的分段集合。
[0023]根据另一方面,一种用于管理数据分段的传输的计算机程序产品包括计算机可读介质,该计算机可读介质包括用于接收数据分段的流的代码。该计算机可读介质可以进一步包括用于将该流中的个体分段编组成大小为NS的分段群的代码,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的中间群。该计算机可读介质可以进一步包括用于为第一中间群生成包括该第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性的信息的表的代码。该计算机可读介质可以进一步包括用于传送该表以及包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合的代码。
[0024]应理解,根据以下详细描述,其他方面对于本领域技术人员而言将变得明显,在以下详细描述中以解说方式示出和描述了各个方面。附图和详细描述应被认为在本质上是解说性而非限制性的。
[0025]附图简述
[0026]图1是根据本公开的一方面可在其中使用本发明的实施例的网络的示例。
[0027]图2是概念性地解说根据本公开的一个方面配置的基站/eNB和UE的设计的框图。
[0028]图3是概念性地解说eMBMS中FLUTE上的DASH的示例性实施例的框图。[0029]图4是根据本公开的一个方面的FLUTE封装引擎的框图。
[0030]图5是根据本公开的一个方面的由图4的FLUTE封装引擎执行的方法体系的流程图。
[0031]图6A是根据本公开的一个方面的按照图5的方法体系来将DASH分段编组成分段群的框图。
[0032]图6B解说根据图6A的示例的示例性FDT实例。
[0033]图7是概念性地解说利用图4的FLUTE封装引擎的eMBMS中FLUTE上的DASH的框图。
[0034]图8示出根据本公开的一个方面的用于控制流送延迟的示例性方法体系。
[0035]图9示出根据本公开的另一方面的控制流送延迟的另一示例性方法体系。
[0036]图10是例如根据图8的方法体系的本公开的一个方面的另一示例性实施例的框图。
[0037]图11是例如根据图9的方法体系的本公开的一个方面的另一示例性实施例的框图。
[0038]详细描述
[0039]以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将明显的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
[0040]本文中所描述的诸技术可用于各种无线通信网络,诸如CDMA、TDMA, FDMA, OFDMA,SC-FDMA及其他网络。术语“网络”和“系统”常可互换地使用。CDMA网络可实现诸如通用地面无线电接入(UTRA)、CDMA2000等无线电技术。UTRA包括宽带CDMA (WCDMA)和其它CDMA变体。CDMA2000涵盖IS-2000、IS-95和IS-856标准。TDMA网络可实现诸如全球移动通信系统(GSM)之类的无线电技术。OFDMA网络可实现诸如演进型UTRA(E-UTRA)、超移动宽带(UMB)、IEEE802.1l(W1-Fi)、IEEE802.16 (WiMAX)、IEEE802.20、Flash-OFDM 等无线电技术。UTRA和E-UTRA是通用移动电信系统(UMTS)的部分。3GPP长期演进(LTE)和高级 LTE(LTE-A)是使用 E-UTRA 的新 UMTS 版本。UTRA、E-UTRA, UMTS, LTE、LTE-A 以及 GSM在来自名为“第三代伙伴项目”(3GPP)的组织的文献中描述。CDMA2000和UMB在来自名为“第三代伙伴项目2”(3GPP2)的组织的文献中描述。本文所描述的诸技术可被用于以上所提及的无线网络和无线电技术以及其他无线网络和无线电技术。为了清楚起见,以下针对LTE来描述这些技术的某些方面,并且在以下大部分描述中使用LTE术语。
[0041]在以下讨论中,具体地讨论视频内容的传输。然而,应当理解,视频仅是一个示例,本发明的概念不必限于该示例,并且这些概念可适用于其他类型的内容。
[0042]图1示出了无线通信网络100,其可以是LTE网络。无线网络100可包括数个eNBllO和其他网络实体。eNB可以是与UE通信的站并且也可被称为基站、B节点、接入点、或其他术语。每个eNBllOa、110b、IlOc可提供对特定地理区域的通信覆盖。在3GPP中,术语“蜂窝小区”取决于使用该术语的上下文可指eNB的覆盖区和/或服务该覆盖区的eNB子系统。
[0043]eNB可提供对宏蜂窝小区、微微蜂窝小区、毫微微蜂窝小区、和/或其他类型蜂窝小区的通信覆盖。宏蜂窝小区可覆盖相对较大的地理区域(例如,半径为数千米的区域),并且可允许无约束地由具有服务订阅的UE接入。微微蜂窝小区可覆盖相对较小的地理区域并且可允许无约束地由具有服务订阅的UE接入。毫微微蜂窝小区可覆盖相对较小的地理区域(例如,住宅)并且可允许有约束地由与该毫微微蜂窝小区有关联的UE (例如,封闭订户群(CSG)中的UE、该住宅中用户的UE等)接入。用于宏蜂窝小区的eNB可被称为宏eNB。用于微微蜂窝小区的eNB可被称为微微eNB。用于毫微微蜂窝小区的eNB可被称为毫微微eNB或家用eNB (HeNB)。在图1中所示的示例中,eNBllOa、IlOb和IlOc可以分别是宏蜂窝小区102a、102b和102c的宏eNB。eNBllOx可以是服务UE120x的微微蜂窝小区102x的微微eNB。eNBllOy和IlOz可以分别是毫微微蜂窝小区102y和102z的毫微微eNB。一eNB可支持一个或多个(例如,三个)蜂窝小区。
[0044]无线网络100还可包括中继站110r。中继站是从上游站(例如,eNB或UE)接收数据和/或其他信息的传输并向下游站(例如,UE或eNB)发送该数据和/或其他信息的传输的站。中继站还可以是为其他UE中继传输的UE。在图1中所示的示例中,中继站IlOr可与eNBllOa和UE120r进行通信以促成eNBllOa与UE120r之间的通信。中继站也可被称为中继eNB、中继等。
[0045]无线网络100可以是包括例如宏eNB、微微eNB、毫微微eNB、中继等不同类型的eNB的异构网络。这些不同类型的eNB可具有不同的发射功率电平、不同的覆盖区、以及对无线网络100中的干扰的不同影响。例如,宏eNB可具有高发射功率电平(例如,20瓦),而微微eNB、毫微微eNB和中继可具有较低的发射功率电平(例如,I瓦)。
[0046]无线网络100可支持同步或异步操作。对于同步操作,各eNB可以具有相似的帧定时,并且来自不同eNB的传输可以在时间上大致对齐。对于异步操作,各eNB可以具有不同的帧定时,并且来自不同eNB的传输可能在时间上并不对齐。本文中描述的诸技术可用于同步和异步操作两者。
[0047]网络控制器130可耦合至一组eNB并提供对这些eNB的协调和控制。网络控制器130可经由回程与eNBllO进行通信。各eNBllO还可例如直接、或者经由无线或有线回程间接地彼此进行通信。
[0048]各UE120可分散遍及无线网络100,并且每个UE可以是驻定的或移动的。UE也可被称为终端、移动站、订户单元、台等。UE可以是蜂窝电话、个人数字助理(PDA)、无线调制解调器、无线通信设备、手持式设备、膝上型计算机、无绳电话、无线本地环路(WLL)站、或其他移动实体。UE可以能够与宏eNB、微微eNB、毫微微eNB、中继、或其他网络实体进行通信。在图1中,具有双箭头的实线指示UE与服务eNB之间的期望传输,服务eNB是被指定在下行链路和/或上行链路上服务该UE的eNB。具有双箭头的虚线指示UE与eNB之间的干扰性传输。
[0049]LTE在下行链路上利用正交频分复用(OFDM)并在上行链路上利用单载波频分复用(SC-FDM)。OFDM和SC-FDM将系统带宽划分成多个(K个)正交副载波,这些副载波也常被称为频调、频槽等。每个副载波可用数据来调制。一般而言,调制码元在OFDM下是在频域中发送的,而在SC-FDM下是在时域中发送的。毗邻副载波之间的间距可以是固定的,且副载波的总数(K)可取决于系统带宽。例如,对于系统带宽1.25、2.5、5、10或20兆赫兹(MHz),K可分别等于128、256、512、1024或2048。系统带宽还可被划分成子带。例如,子带可覆盖1.08MHz,并且对于1.25,2.5,5,10或20MHz的系统带宽,可分别有1、2、4、8或16个子带。
[0050]图2示出了可以对应于图1中的基站/eNB之一和UE之一的基站/eNBllO和UE120的设计的示例的框图。对于受约束关联的情景,基站110可以是图1中的宏eNBllOc,并且UE120可以是UE120y。基站110也可以是某一其他类型的基站。基站110可装备有天线234a到234t,并且UE120可装备有天线252a到252r。
[0051]在基站110处,发射处理器220可接收来自数据源212的数据和来自控制器/处理器240的控制信息。控制信息可用于PBCH、PCFICH、PHICH、PDCCH等。数据可用于PDSCH等。处理器220可处理(例如,编码和码元映射)数据和控制信息以分别获得数据码元和控制码元。处理器220还可生成(例如,用于PSS、SSS、以及因蜂窝小区而异的参考信号的)参考码元。发射(TX)多输入多输出(MMO)处理器230可在适用的情况下对数据码元、控制码元、和/或参考码元执行空间处理(例如,预编码),并且可将输出码元流提供给调制器(MOD) 232a到232t。每个调制器232可处理各自的输出码元流(例如,针对OFDM等)以获得输出采样流。每个调制器232可进一步处理(例如,转换至模拟、放大、滤波、及上变频)该输出采样流以获得下行链路信号。来自调制器232a到232t的下行链路信号可以分别经由天线234a到234t被发射。
[0052]在UE120处,天线252a到252r可接收来自基站110的下行链路信号并可分别向解调器(DEMOD) 254a到254r提供所接收到的信号。每个解调器254可调理(例如,滤波、放大、下变频、以及数字化)各自收到的信号以获得输入采样。每个解调器254可进一步处理输入采样(例如,针对OFDM等)以获得收到码元。MMO检测器256可获得来自所有解调器254a到254r的收到码元,在适用的情况下对这些收到码元执行MMO检测,并且提供检出码元。接收处理器258可处理(例如,解调、解交织、以及解码)这些检出码元,将经解码的给UE120的数据提供给数据阱260,并且将经解码的控制信息提供给控制器/处理器280。
[0053]在上行链路上,在UE120处,发射处理器264可接收并处理来自数据源262的(例如,用于PUSCH的)数据以及来自控制器/处理器280的(例如,用于I3UCCH的)控制信息。处理器264还可生成参考信号的参考码元。来自发射处理器264的码元可在适用的情况下由TX MIMO处理器266预编码,进一步由调制器254a到254r处理(例如,针对SC-FDM等),并且向基站110传送。在基站110处,来自UE120的上行链路信号可由天线234接收,由解调器232处理,在适用的情况下由MMO检测器236检测,并由接收处理器238进一步处理以获得经解码的由UE120发送的数据和控制信息。处理器238可将经解码的数据提供给数据阱239并将经解码的控制信息提供给控制器/处理器240。
[0054]控制器/处理器240和280可以分别指导基站110和UE120处的操作。基站110处的处理器240和/或其他处理器和模块可执行或指导用于本文所描述的技术的各种过程的执行。UE120处的处理器280和/或其他处理器和模块也可执行或指导这些功能框的执行、和/或用于本文中所描述的技术的其他过程的执行。存储器242和282可分别存储用于基站110和UE120的数据和程序代码。调度器244可调度UE以进行下行链路和/或上行链路上的数据传输。
[0055]在一种配置中,用于无线通信的UE120可包括:用于检测在UE的连接模式期间来自干扰基站的干扰的装置、用于选择干扰基站的让步资源的装置、用于获得物理下行链路控制信道关于该让步资源的差错率的装置、以及可响应于该差错率超过预定水平而执行的用于声明无线电链路故障的装置。在一方面,上述装置可以是被配置成执行由前述装置叙述的功能的处理器、控制器/处理器280、存储器282、接收处理器258、MMO检测器256、解调器254a、以及天线252a。在另一方面,前述装置可以是配置成执行由前述装置叙述的功能的模块或任何设备。
[0056]DASH的性质在于,每个DASH分段可通过标识符来访问,该标识符例如统一资源定位符(URL)(在以下讨论中,将使用“URL”,但是应当理解本发明不必限于“URL”)。现在参照图3,示出了用于在eMBMS中通过FLUTE上的DASH来向显示器322发送视频内容302的示例性架构。视频编码器304 (例如,用于视频的MPEG2、MPEG4、H.264,H.265编解码器)可以接收视频内容302并且可以输出经编码视频内容305。经编码视频内容可以具有固定的历时。DASH编码器306可以接收经编码视频内容305并且可以输出针对DASH(例如,3GPP自适应HTTP流送(也可称为3GP-DASH))格式化的DASH视频分段308。
[0057]由视频编码器304和DASH编码器306提供的编码可能花费约t秒,其中t是由视频编码器304和DASH编码器306编码的相应的底层视频内容(的一部分)的历时。因此,藉由非限定性示例,对于两秒钟的视频内容302,可能花费约两秒钟来输出对应于这两秒钟的视频内容的DASH分段308。编码时间的大部分一般而言可被视频编码器304占据。
[0058]FLUTE封装引擎(FPE) 310可以接收DASH分段308并且可以将它们转换成FLUTE分组312。广播-多播服务中心(“BM-SC”) 314可以接收FLUTE分组312并且可以将它们广播至UE接收机316。所接收到的FLUTE分组312可以在缓冲器318处接收、在解码器320处解码、并且在显示器322上显示。UE接收机316、缓冲器318、解码器320、和/或显示器322可以是关于图1和图2讨论的UE120的一部分。
[0059]为了使FLUTE分组312与DASH分段308相关,FPE310可以为每个分段指派一个传输对象标识符(TOI);—个分段可以被认为是一个文件,并且分段URL可以与由该TOI标识的FLUTE文件的文件名相同。当FPE310聚集多个DASH分段308时,FPE310可以生成文件递送表(FDT)实例以描述那些DASH分段308的属性。以下关于图6B来描述示例性FDT实例。属性可以包括文件名(例如,由URL指定)、文件类型(例如,文件的MME媒体类型)、文件的大小、文件的编码格式、和/或文件的消息摘要。FDT可以是由FPE310发送的FLUTE分组312的一部分。
[0060]以上方法体系的问题在于,DASH格式化和FLUTE封装是顺序的,从而延迟可与FPE310在生成FDT实例之前必须接收的DASH分段308的数目成比例。另外,延迟可与DASH分段308的历时t成比例。在实况流送广播系统中,端对端延迟可能一般需要保持在预定的时间限制内,该预定的时间限制可以例如在移动设备处按照系统要求和/或最终用户体验来确定。端对端延迟可以被认为是馈送到网络侧(例如,图3中的点A)的视频编码器中的视频内容与UE接收机侧(例如,图3中的点B)的内容显示之间的时间延迟。该延迟可以取决于3个参数:FPE310可聚集的DASH分段308的数目NS,那些DASH分段308的历时t,以及多播信道(“MCH”)调度时段(MSP)。MSP可以由BM-SC通过多播控制信道(MCCH)上的MBSFN区域配置RRC消息来给出。
[0061]例如,在第一示例配置中,FPE310被配置成聚集5个DASH分段,其中每个DASH分段具有两秒钟的历时。在第二示例配置中,FPE310被配置成聚集3个DASH分段,其中每个DASH分段具有两秒钟的历时。在第三示例配置中,FPE310被配置成聚集5个DASH分段,其中每个DASH分段具有一秒钟的历时。在第一示例中,端对端延迟与10秒钟成比例,因为有5个DASH分段,其中每个分段具有2秒钟历时。在第二示例中,端对端延迟与6秒钟成比例,并且在第三示例中,端对端延迟与5秒钟成比例。这三个示例配置示出端对端延迟可以通过减少由FPE310聚集的DASH分段的数目和减少每个DASH分段的历时中的一者或两者来减少。基于时间要求或约束,每个群所聚集的DASH分段的数目或者DASH分段的历时可被确定落在时间要求内(即,小于或等于时间延迟限制)。例如,对于10秒钟端对端延迟的时间要求,一个示例配置包括每个群聚集4个DASH分段,其中每个DASH分段的历时为两秒钟,从而产生8秒钟的端对端延迟。时间要求可涉及初始延迟(或者启动延迟),该初始延迟是节目开始时间与用户在显示器上看到内容的时间之间的时间延迟。例如,当用户在节目开始时间首先调谐到一信道时,用户基于第一分段群的延迟来等待内容。另外,第二时间要求可涉及信道切换延迟(例如,用户在从一个信道切换至另一信道时所体验到的时间延迟)。信道切换延迟可与SGO和每个DASH分段的历时成比例。例如,当用户调谐至已经在流送内容的信道时,该用户可能体验到信道切换延迟。例如,用户可在两个DASH分段群已被传送之后调谐到该信道。由用户体验到的最大信道切换延迟可以与由SGO确定的DASH分段的数目以及每个DASH分段的历时成比例。平均而言,信道切换延迟是最大信道切换延迟的一半,因为用户可能在DASH分段群的传输时段期间的任何时间进行调谐。在相关方面,与在MSP中调度经聚集DASH分段相关联的延迟可增加端对端延迟。
[0062]在广播/多播环境中,调谐至相同信道的所有用户接收相同的内容。不同的用户可以在不同的时间调谐至该信道。在例如图3的环境中,用户调谐到信道的初始延迟可以在O到NS*t+MSP的范围内;平均延迟可以为(NS*t+MSP)/2。在最差情形情景中,如果与一个或多个DASH分段308相对应的FDT实例错过当前MSP传输窗达较窄的余量,则相应的FLUTE分组312可能不得不等待下一个MSP窗被传送。这可导致用户的显示器322处的视频回放的中断。
[0063]由FPE310引起的延迟可以通过减少FPE310可以聚集的DASH分段308的数目(理论上可以减少到I个分段)来减少。然而,相应FDT实例本身的创建和传输向系统呈现开销,该开销可能抵消将获得的益处。类似地,较小的历时值t可以缩短延迟,但是这可能降低编码效率。对于实况或流送视频,这可能造成困难,因为信息是在较小的DASH分段308群中发送的,在最初调谐至特定信道或者在信道之间切换时该较小的DASH分段群可能生成延迟。
[0064]另一困难是丢失FDT实例的潜在性。每个FDT实例是自包含的并且可以包括为从本地高速缓存播放视频所需要的相应DASH分段308的URL。如果FDT实例丢失,则系统可能不具有为显示相应DASH分段308所需要的信息。
[0065]现在参照图4,示出了 FLUTE封装引擎(FPE) 400。FPE400和(经由通信端口 450)从FPE400出现的FLUTE分组430可以分别替代图3中的FPE310和FLUTE分组312。
[0066]FPE400可以包括缓冲器410,该缓冲器410可以从DASH编码器306接收DASH分段308并且可以保持某个数目η的此类分段。缓冲器410可以是FIFO缓冲器,并且η可以大于或等于FPE400可以聚集的DASH分段308的最小群大小。例如,如果FPE400被配置成聚集最多3个DASH分段308,则缓冲器410可以具有大于或等于3的大小η。等于3或更大的缓冲器410大小使缓冲器410能够存储要由FPE400处理的3个或更多个DASH分段。
[0067]缓冲器410可以由生成器420经由通信端口 440访问。生成器420可以具有两个协作部分,即FLUTE封装器420a和FDT生成器420b,并且负责两个相关的操作:(I)FLUTE封装器420a可以包括用于将DASH分段308封装到包含分段的FLUTE分组430a中的功能,以及(2) FDT生成器420b可以包括用于生成与FLUTE分组430a相对应的包含FDT实例的FLUTE分组430b的功能。在此上下文中,FLUTE封装器420a和FDT生成器420b可以指独立的硬件和/或软件组件,并且可以是正在运行两个相关的或独立的软件程序的单个集成电路(IC)。
[0068]生成器420还可以接收以下内容作为数据输入:(I)与FPE400可以聚集的DASH分段308的数目相对应的值NS,以及(2)表示分段的偏移值的分段群(“SG”)偏移量(SGO)。NS的值可以影响呈现开始之前的初始延迟。SGO可以是前一 SG的起始分段号与当前SG的起始分段号之间的偏移量,并且可以影响信道切换延迟。与FPE400可以聚集的DASH分段308的数目相对应的值NS可被配置成减少呈现之前的初始延迟。SGO可被配置成减少信道切换延迟。初始延迟和信道切换延迟可以与传输调度时段有关。出于以下讨论的原因,SGO可以小于NS。
[0069]NS和SGO两者可以根据系统要求来预先配置。然而,本公开并不被如此限定,并且任一值可以是固定的和/或可以通过自动或手动操纵来改变。
[0070]生成器420可以通过结合电子计算机硬件(诸如经由经预编程的集成电路(IC))操作的软件来实现。然而,可以使用其他软件、硬件和/或固件配置。另外,生成和封装操作可以在单个组件中执行、或者(在软件和/或硬件层处)分散在多个组件之中。本公开不限于生成器420的任何特定架构。
[0071]由生成器420的示例性实施例执行的操作将参照图5和图6A来描述。图5是操作的流程图,并且图6A概念性地示出该流程图的实现可如何针对NS = 3和SGO = 2的值应用于一系列DASH分段308。这些值仅是示例性的,并且可以选择任何恰适的值。
[0072]应当理解,可以参照诸如图5、8和9之类的流程图来更好地领会可根据所公开的主题内容来实现的方法体系。为解释简明起见,诸方法体系可被示出和描述为一系列动作/操作。然而,所要求保护的主题内容不受操作的数目或次序的限制,因为一些操作可按不同的次序和/或与本文中所描绘和描述的其他操作基本上同时发生。不仅如此,实现本文中描述的方法体系可能并不需要所解说的全部操作。应当领会,与各操作相关联的功能性可由软件、硬件、其组合或任何其他合适的手段(例如,设备、系统、过程、或组件)来实现。另外,还应领会,在本说明书通篇公开的方法体系能够作为经编码指令和/或数据被存储在制品上以便于将此类方法体系传送和转移到各种设备。本领域技术人员将理解和领会,方法可被替换地表示为诸如状态图中那样的一系列相互关联的状态或事件。
[0073]在以下讨论中,示例性值被选择为每个群3个DASH分段(S卩,NS = 3)并且分段群偏移量为2 (即,SGO = 2)。对于第一 DASH分段群,实例号可被定义为I (即,k= I)。实例号可以递增直至所有DASH分段被编组到一起。在第一群中,起始分段号为1(即,BSN[1]=D并且结束分段号为3( S卩,ESN[1] = 3)。被处理并且被添加至第一群的DASH分段的数目可以从O开始并且增加至3(即,NSG[1] =0到3)。在3个DASH分段被编组到一起之后,该过程行进至第二 DASH分段群。
[0074]对于第二 DASH分段群,实例号可被定义为2 (即,k = 2)。在第二群中,起始分段号为3(即,BSN[2] =3)并且结束分段号为5(即,ESN[2] =5)。可以注意到,尽管来自第一群的结束分段号为3,但是第二群的起始分段号为3而不是4。因为起始分段号是基于SGO和前一群的起始分段号来确定的,所以起始分段号不是从前一群的结束分段号得出的。在此示例中,SGO被选择为2。因此,第二群的起始分段号(3)是第一群的起始分段号(I)加上SGO(2)。被处理并且被添加至第二群的DASH分段的数目可以从O开始并且增加至3 (即,NSG [2] = O到3)。在3个DASH分段被编组到一起之后,该过程行进至下一 DASH分段群。
[0075]SGO可以有益地用于满足切换延迟时间要求。基于切换延迟时间要求,SGO可被确定以满足时间要求(即,延迟等于或小于时间限制)。时间要求可以与信道切换延迟有关。SGO影响信道切换延迟,因为SGO决定前一 SG的起始分段号与当前SG的起始分段号的偏移量。SGO可以决定多少新的分段可被添加至每个FLUTE封装。新的分段的数目也可以影响用户在调谐到现有节目时感受到的信道切换时间延迟,其中信道切换时间延迟是必须满足的另一时间约束。如果添加两个新的分段并且每个分段具有两秒钟的历时,则信道切换延迟可以为约4秒钟(SG0*t+MSP)并且平均为两秒钟(SG0*t+MSP)/2。
[0076]现在参照图5,可以在S510初始化系统。在初始化期间可以建立4个变量:(I)实例变量k,(2)起始分段号BSN[k],(3)结束分段号ESN[k],(4)以及用于群中的分段数的计数器NSG [k]。
[0077]在初始化时,在S510,在一实施例中,对于第一实例而言k= I,对于第一 DASH分段308而言BSN[1] = I, ESN[1] = NS,并且第一群中的分段数NSG[1] =0。此外,在此实施例中,所有分段群可被认为都是空的。
[0078]S512、S516、S517、S518和S520可以共同定义可聚集DASH分段308以供封装的方法体系中的递归操作。在S512,可以检查缓冲器410以了解其是否为空。若否,则在S516,可以作出关于下一 DASH分段308是新的分段还是先前已从缓冲器410检索的分段的确定。如果下一 DASH分段先前已被检索,则控制可行进至S518。如果下一 DASH分段是新的分段,则在S517,可以从缓冲器410检索下一 DASH分段308 ;如以上所讨论的,缓冲器410可以是FIFO缓冲器,从而所检索的DASH分段308简单地是缓冲器存储中的下一分段,但是也可以使用其他的缓冲器和方法。控制可以随后行进至S518。
[0079]在S518,该分段可被认为添加至分段群,并且计数器NSG[k = I]可以递增I。在S520,控制可以确定该群中的分段数是否等于NS。若否,则控制可以返回到S512以添加更多分段。
[0080]以上过程在图6A中经由将分段累积到第一群SG[k = I] ( BP, SGl)中来反映。如以上所提及的,对于图6A中的示例,NS = 3。由此,步骤S512、S516、S517、S518和S520可以循环三次以将3个分段(分段1-3)添加至SG[k = I]。
[0081]回来参照图5,在S522,可以基于该实例是第一实例(k = I)还是稍后的实例来采取不同的行动。如果该实例是第一实例(这是图6A的相应讨论中的当前状态),则在S524,生成器420可以(a)将所有累积的DASH分段308封装到FLUTE分组430a中,并且(b)生成相应的FDT实例430b,该FDT实例430b可描述相应的FLUTE分组430内的所有分段的FDT属性。FLUTE分组430a和相应的FDT实例430b可以随后在S524从生成器420经由通信端口 450发送至BM-SC314以分派给UE供在显示设备上显示。在图6A的示例中,分段1_3可以是FLUTE分组430a的内容,并且与其相关的FDT信息可以在相应的FDT实例430b中找到。
[0082]控制可以随后行进至S526,在此系统可以为下一 FDT实例作准备。实例计数器k可以递增I。该新实例的起始分段号BSN[k]可以递增SGO的值(S卩,BSN[k] = BSN[k-l]+SG0)。该新实例的结束分段号可被设为该起始分段号的值+NS-1 ( S卩,ESN[k] = BSN[k]+NS-l)。计数器NSG可以返回到O。
[0083]控制可以随后返回到S512,在此系统可以开始针对下一 SG再次将DASH分段308累积到FLUTE分组中。然而,因为(a)起始分段号BSN被递增SGO而不是NS,并且(b) SGO可以小于NS,所以经累积的DASH分段308可以包括已在先前的FLUTE分组430中发送的至少一个DASH分段308加上至少一个新的DASH分段308。这可以通过回来参照图6A针对k=2的第二实例SG2的内容来看出。由于在图6A的示例中NS = 3并且SGO = 2,因而分段群SG2可以从分段3开始并且包括分段3,该分段3先前已从缓冲器410检索并且包括在已分派的分段群SGl中。
[0084]处理可以经由S512、S516、S517、S518和S520递归地继续以将该分段群与总数为NS的顺序DASH分段308相关联。在图6A中,在NS = 3并且第一分段被分段3占据的情况下,两个或更多个DASH分段308可能一般需要被添加至分段群SG2,该分段群SG2可以由此增长成包括分段4和分段5。
[0085]如从以上内容可见,在SG0〈NS时使开始分段计数递增SGO可以使FPE400考虑先前已处理的DASH分段308。这与图3的示例相反,在图3中分段计数可能已前进至序列中的下一分段并且可能由此未包括对前一分段的考虑。
[0086]在S520确定分段群为满之后,控制可以行进至S522。当该实例不是第一实例(k古I)时,系统可以在S552生成FDT实例430b,该FDT实例430b可以描述当前SG [k]与前一 SG[k-l]两者的FDT属性。在图6A的示例中,对于第二实例k = 2, SGl包括分段1_3并且SG2包括分段3-5。FDT实例[k = 2]可以因此描述分段1_5的FDT属性。注意,对分段3的描述可能需要仅被包括一次,这是因为在相同FDT实例内对该描述的重复是不必要的。因此,FDT[k]可以描述 SG[k] U SG[k_l]。
[0087]系统在S551或S552还可以为SG[k]中的DASH分段308准备FLUTE分组430a。尽管分段群SG[k]可能具有被指派给它的总共NS个DASH分段308,但是不必重新发送先前已传送的DASH分段308。在图6A的示例中,对于第二实例(k = 2),SG2可被指派分段3-5。然而,由于分段3先前已随SGl发送,因而可以不必重新发送分段3,并且由此可以将分段3从SG2中排除。SG2可以因此仅包括分段4和5。生成器420可以因此准备仅具有为当前分段群新收集的那些DASH分段308的FLUTE封装430a。这可以被认为是SG[k]-(SG[k] nSG[k-l])。FLUTE分组430a可以按照S524发送以供在显示器322处显示。
[0088]以上处理可以贯穿整个内容流递归地继续。关于图6A的示例,对于下一实例k =3,FDT[k = 3]实例430b可以描述分段3_7的FDT属性,并且相应的FLUTE分组430a可以包括分段6和7。
[0089]最终,整个内容流可以结束,以使得在缓冲器410中可以不再有要发送的任何DASH分段308。当内容流结束时,缓冲器410可以为空,并且可以在S512中检测到空缓冲器状态。由于每个分段包含t秒的经编码内容,因而处理(例如,在S516、S517、S518)每个分段所需的时间不太可能超过t秒。假定可以每隔t秒生成一 DASH分段,则至少等待分段历时的两倍或者更一般地等待n*t(n>l)秒可以避免缓冲器欠载运行情况。在等待n*t秒之后,如果缓冲器为空,则内容流已结束。作为示例,等待时段可被选为2t秒,但是可以恰适地使用任何时间。在S514,在等待时段之后可以随后检查缓冲器410的状态;这可以经由与缓冲器410相关联的状态标志或者其他已知的用于确定缓冲器的状态的方法进行,并且本公开不限于任何特定类型的藉以检查缓冲器的状态的方法体系。
[0090]如果到等待时段结束为止都没有出现分段,则分段的不存在可以指示视频流的结束。控制可行进至S515,其可进行检查以查看是否有已被累积到最后一个群从而等待发送的任何未完结的DASH分段308。如果没有已被累积到最后一个群的未完结的DASH分段308 (在最后一个DASH分段308与最后一个分段群的最后一个时隙重合的情况下可能是这种情形),则该过程可以结束。如果有分段要被发送,则控制可以行进至与以上讨论的步骤S522和S524平行的步骤S530和S532。一旦在S532发送了最后一个分段,则该过程可以结束。
[0091]图6B解说根据图6A的示例的示例性FDT实例430b’。FDT提供了一种用于描述与要被递送的文件相关联的各种属性的手段。FDT实例430b’可以包括报头620以及关于相关联文件的文件属性630、640、650。属性可以包括文件名(例如由URL指定)、文件类型(例如,文件的MIME媒体类型)、文件的大小、文件的编码格式、和/或文件的消息摘要。在图6A中所解说的示例中,SGl的FDT实例430b包括分段1_3。FDT实例430b’可以对应于图6A中的SGl的FDT实例430b。分别关于分段1、分段2和分段3提供文件属性630、640、650。关于分段I的文件属性630可以包括分段I的URL(或URI)、分段I的MME类型、分段I的文件大小、分段I的文件压缩算法、以及分段I的MD5摘要。关于分段2的文件属性640可以包括分段2的URL、分段2的MME类型、分段2的文件大小、分段2的文件压缩算法、以及分段2的MD5摘要。关于分段3的文件属性650可以包括分段3的URL、分段3的MIME类型、分段3的文件大小、分段3的文件压缩算法、以及分段3的MD5摘要。对于视频内容,这三个分段的MME媒体类型可以是相同的。
[0092]以上实施例可提供各种优点。例如,当FDT实例携带由该FDT实例描述的所有分段的URL时,传输期间该实例的丢失可以暗示由该实例描述的所有分段的丢失。在本文中的各种实施例中,FDT实例可以包含作为其他FDT实例的重复的信息;这可以提供减轻特定FDT实例的丢失的后果的冗余度。
[0093]另一优点可以是端对端延迟的减少。在图5中,由封装和发送FLUTE封装造成的延迟是群中DASH分段308的数目以及那些封装的历时(NS.t)。然而对于结合图4_6所讨论的实施例,延迟可以基于SG偏移值和那些分段的历时(SGO -t)。如果SG0〈NS,则相应的延迟较短。在图6A的其中NS = 3并且SGO = 2的示例中,延迟可以基于2t而不是3t。这可以改进FLUTE分组430可能在所分配的传输窗内抵达BM-SC314的概率。
[0094]以上实施例可以向在显示器322上查看视频内容的最终用户提供各种优点。如以上所讨论的,FDT实例的丢失可能导致不能够访问FDT实例描述的底层视频内容,这可能导致显示器322上的视频回放中的间隙。就FDT实例可以包含作为其他FDT实例的重复的信息而言,冗余可以降低显示器322处的视频回放中的任何中断的可能性。[0095]对最终用户的另一潜在优点可以是在SG0〈NS的情况下减少最初调谐至信道或者切换信道时的延迟。如以上所讨论的,用户使用例如与图3 —致的架构调谐到信道的初始延迟可以在O到NS*t+MSP的范围内,其中平均延迟为(NS*t+MSP)/2。使用本文中各种实施例的方法体系(例如,图4-6),用户调谐到现有信道的信道切换延迟可以在O到SG0*t+MSP的范围内,其中平均延迟为(SG0*t+MSP)/2。
[0096]如以上所提及的,FPE400和从FPE400出现的FLUTE分组430可以分别替代图3中的FPE310和FLUTE分组312。这可以在图7中解说的实施例中反映。图3(和图7)中示出的其余组件的操作可以一般地与在利用FPE400时相同,但是如以上所讨论的,图7中的FLUTE分组430可以包括与图3的实施例中的FLUTE分组不同的信息。
[0097]图8示出可以例如由生成器420执行的用于控制流送延迟的示例性方法体系。方法800可以包括在802接收数据分段的流。该方法可以包括在804基于这些数据分段来建立第一分段群。该方法可以包括在806生成信息的第一表,该信息包括第一分段群中的各个分段的一个或多个属性。该方法可以包括在808传送第一表和第一分段群。该方法可以包括在810基于这些数据分段来建立第二分段群,该第二分段群包括第一分段群中所包括的数据分段的部分交叠。该方法可以包括在812生成信息的第二表,该信息包括第一和第二分段群中的各个分段的一个或多个属性。该方法可以包括在814传送第二表以及包括来自第二群的、不是第一群的一部分的数据分段的分段集合。
[0098]图9示出可以例如由生成器420执行的用于控制流送延迟的另一示例性方法体系。方法900可以包括在902接收数据分段的流。该方法可以包括在904将该流中的个体分段编组成大小为NS的分段群,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的一个或多个中间群。该方法可以包括在906为该一个或多个中间群中的第一中间群生成信息的表,该信息包括第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性。该方法可以包括在908传送该表以及包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合。
[0099]现在参照图10,在设备1000处示出本公开的另一示例性实施例。设备1000可以实现图8的方法体系。设备1000可以包括用于基于所接收到的数据分段的流来建立第一分段群的模块1020。此类模块1020的非限定性示例可以是生成器420。如以上所讨论的,生成器420可以接收DASH分段308并且将它们作为FLUTE分组430a中的分段群SG[k]来发送。作为非限定性示例,图6A解说了其中FLUTE封装器420a可以接收分段1_3并且可以将分段1-3指派给SGl的示例。如以上所讨论的,生成器420的此功能性可以是硬件和/或软件,并且可以包括一个或多个处理器和/或一个或多个存储器。
[0100]该设备可以包括用于生成信息的第一表的模块1030,该信息包括第一分段群中的各个分段的一个或多个属性。此类模块1020的非限定性示例可以是生成器420。如以上所讨论的,FDT生成器420b可以准备FDT实例[k] 230b,该FDT实例[k] 230b描述被指派给分段群SG[k]的DASH分段308。作为非限定性示例,图6A解说了生成器420可以如何接收分段1-3、可以如何最终将分段1-3指派给SG1、以及可以如何准备描述分段1-3的属性的实例FDT[1]。如以上所讨论的,生成器420的此功能性可以是硬件和/或软件,并且可以包括一个或多个处理器和/或一个或多个存储器。
[0101]该设备可以包括用于传送第一表和第一分段群的模块1040。模块1040的非限定性示例可以是或者可以包括FPE400的数据输出和/或以上所示出和所讨论的其他组件。
[0102]该设备可以包括用于基于这些数据分段来建立第二分段群的模块1050,该第二分段群包括第一分段群中所包括的数据分段的部分交叠。此类模块1020的非限定性示例可以是生成器420。如以上所讨论的,生成器420可以准备FDT实例[k]430b,该FDT实例[k]430b描述被指派给分段群SG[k]的DASH分段308。作为非限定性示例,图6A解说了生成器420可以如何接收分段1-5以及可以如何最终将分段1-3指派给SGl并且将分段3_5指派给SG2。如以上所讨论的,生成器420的此功能性可以是硬件和/或软件,并且可以包括一个或多个处理器和/或一个或多个存储器。
[0103]该设备可以包括用于生成信息的第二表的模块1060,该信息包括第一和第二分段群中的各个分段的一个或多个属性。此类模块1060的非限定性示例可以是生成器420。如以上所讨论的,生成器420可以接收DASH分段308并且可以将它们作为FLUTE分组430a中的分段群SG[k](例如,关于图6A描述的SGl和SG2)来发送。生成器420还可以生成可以描述SG[k] U SG[k-l]的属性的FDT实例[k]430(b)。藉由非限定性示例,图6A解说了生成器420可以如何接收分段1-5以及可以如何生成描述分段1-5的相应FDT实例。如以上所讨论的,生成器420的此功能性可以是硬件和/或软件,并且可以包括一个或多个处理器和/或一个或多个存储器。
[0104]该设备可以包括用于传送第二表以及包括来自第二群的、不是第一群的一部分的分段的分段集合的模块1070。模块1070的非限定性示例可以是或者可以包括FPE400的连接端口 450和/或以上所示出和所讨论的其他组件。该设备可以包括连接至这些模块和/或可以提供这些模块中的任何模块的功能性的处理器1080和/或存储器1090。
[0105]组件1020-1070可以包括用于基于所接收到的数据分段的流来建立第一分段群的装置。例如,用于建立第一群的装置可以被配置成确定与接收数据分段的流和传送关于数据分段的信息的表有关的时间约束。例如,用于建立第一群的装置可以被配置成基于时间约束来确定第一群的数据分段的数目。组件1020-1070可以包括用于生成信息的第一表的装置,该信息包括第一分段群中的各个分段的一个或多个属性;用于传送第一表和第一分段群的装置;用于基于数据分段来建立第二分段群的装置,该第二分段群包括第一分段群中所包括的数据分段的部分交叠。例如,用于建立第二群的装置可以被配置成确定与接收数据分段的流和传送关于数据分段的信息的表有关的时间约束。例如,用于建立第二群的装置可以被配置成基于时间约束来确定第二群的数据分段的数目。组件1020-1070可以包括用于生成信息的第二表的装置,该信息包括第一和第二分段群中的各个分段的一个或多个属性;以及用于传送第二表和包括来自第二群的、不是第一群的一部分的分段的分段集合的装置。这些装置可以包括或者可以不包括运行算法的至少一个控制处理器(例如,图10的处理器1080)。该算法可以包括基于所接收到的数据分段的流来建立第一分段群。该算法可以包括生成信息的第一表,该信息包括第一分段群中的各个分段的一个或多个属性。该算法可以包括传送第一表和第一分段群。该算法可以包括基于数据分段来建立第二分段群,该第二分段群包括第一分段群中所包括的数据分段的部分交叠。该算法可以包括生成信息的第二表,该信息包括第一和第二分段群中的各个分段的一个或多个属性。该算法可以包括传送第二表以及包括来自第二群的、不是第一群的一部分的分段的分段集合。
[0106]现在参照图11,在设备1100处示出本公开的另一示例性实施例。设备1100可以实现图9的方法体系。该设备可以包括用于基于所接收到的数据分段的流来将个体分段编组成大小为NS的分段群的模块1120,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的一个或多个中间群。此类模块1120的非限定性示例可以是生成器420。如以上所讨论的,生成器420可以接收DASH分段308并且将它们作为FLUTE分组430a中的分段群SG[k]来发送。如以上所讨论的,生成器420的此功能性可以是硬件和/或软件,并且可以包括一个或多个处理器和/或一个或多个存储器。
[0107]设备1100可以包括用于为第一中间群生成信息的表的模块1130,该信息包括该第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性。此类模块1130的非限定性示例可以是生成器420。如以上所讨论的,生成器420可以接收DASH分段308并且将它们作为FLUTE分组430a中的分段群SG[k]来发送。生成器420还可以生成可以描述SG[k] U SG[k-l]的属性的FDT实例[k]430(b)。如以上所讨论的,生成器420的此功能性可以是硬件和/或软件,并且可以包括一个或多个处理器和/或一个或多个存储器。
[0108]设备1100可以包括用于传送该表以及包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合的模块1140。模块1140的非限定性示例可以是或者可以包括FPE400的输出的连接端口 450和/或以上所示出和所讨论的其他组件。设备1100可以包括连接至这些模块和/或可以提供这些模块中的任何模块的功能性的处理器1150和/或存储器1160。
[0109]组件1120-1140可以包括用于基于所接收到的数据分段的流来将个体分段编组成大小为NS的分段群的装置,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的中间群。例如,用于编组个体分段的装置可被配置成确定与编组个体分段有关的时间约束。例如,用于编组个体分段的装置可被配置成基于时间约束来确定NS。组件1120-1140可以包括用于为第一中间群确定信息的表的装置,该信息包括第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性;以及用于传送该表和包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合的装置。这些装置可以包括或者可以不包括运行算法的至少一个控制处理器(例如,图11的处理器1150)。该算法可以包括基于所接收到的数据分段的流来将个体分段编组成大小为NS的分段群,这些分段群包括第一群、最后群、以及在第一分段群与最后分段群之间的中间群。该算法可以包括为第一中间群生成信息的表,该信息包括该第一中间群和该流中前一紧邻群中的各个分段的一个或多个属性。该算法可以包括传送该表以及包括来自第一中间群的、不是前一紧邻群的一部分的数据分段的分段集合。
[0110]虽然以上实施例是关于通过eMBMS的FLUTE上的DASH来描述的,但是本发明并不被如此限定。任何恰适的协议、架构和/或网络均可使用。另外,虽然本申请是关于利用多播的环境来描述的,但是可以使用单播、多播和/或广播中的任一者。
[0111]本领域技术人员将可理解,信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示。
[0112]技术人员将进一步领会,结合本文公开所描述的各种解说性逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地阐明硬件与软件的这一可互换性,各种说明性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
[0113]结合本文的公开所描述的各种解说性逻辑框、模块、以及电路可用被设计成用于执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器或任何其它此类配置。
[0114]结合本文的公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
[0115]在一个或多个示例性设计中,所描述的功能可以在硬件、软件、固件、或其任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被通用或专用计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码手段且能被通用或专用计算机、或者通用或专用处理器访问的任何其他介质。另外,任何连接可在涉及所传送信号的非瞬态存储的程度上被正当地称为计算机可读介质。例如,在信号留存在存储介质或设备存储器上的传输链中达任何非瞬态时间长度的程度上,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波等无线技术从web站点、服务器或其它远程源传送而来的,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电以及微波等无线技术就被包括在介质的定义里。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述组合应被包括在计算机可读介质的范围内。
[0116]提供对本公开的先前描述是为了使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说可以是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
【权利要求】
1.一种用于发送数据分段的方法,包括: 接收数据分段的流; 基于所述数据分段来建立第一分段群; 生成信息的第一表,该信息包括所述第一分段群中的各个分段的一个或多个属性; 传送所述第一表和所述第一分段群; 基于所述数据分段来建立第二分段群,所述第二分段群包括所述第一分段群中所包括的数据分段的部分交叠; 生成信息的第二表,该信息包括所述第一分段群和所述第二分段群中的各个分段的一个或多个属性;以及 传送所述第二表以及包括来自所述第二群的、不是所述第一群的一部分的数据分段的分段集合。
2.如权利要求1所述的方法,其特征在于,进一步包括: 确定接收所述数据分段的流中的一个数据分段群与传送所述第一表之间的一个时间约束,其中所述建立所述第一分段群进一步基于所确定的时间约束;以及 确定接收所述数据分段的流中的另一数据分段群与传送所述第二表之间的另一时间约束,其中所述建立所述第二分段群进一步基于所述另一时间约束。
3.如权利要求2所述的方法,其特征在于: 所述建立所述第一分段群进一步包括确定所述第一群的数据分段的数目; 所述建立所述第二分段群进一步包括确定所述第二群的数据分段的数目。
4.如权利要求1所述的方法,其特征在于,所述数据分段是DASH分段。
5.如权利要求1所述的方法,其特征在于,所述第一表和所述第一分段群是FLUTE分组。
6.如权利要求1所述的方法,其特征在于,所述数据分段的流包括视频数据。
7.如权利要求6所述的方法,其特征在于,所述视频数据以MPEG2、MPEG4、H.264或者H.265中的一者来编码。
8.如权利要求1所述的方法,其特征在于,所述一个或多个属性中的一属性是URL。
9.如权利要求1所述的方法,其特征在于,进一步包括: 基于所述数据分段来建立第三分段群,所述第三分段群包括所述第二分段群中所包括的数据分段的部分交叠; 生成信息的第三表,该信息包括所述第二分段群和所述第三分段群中的各个分段的一个或多个属性;以及 传送所述第二表以及包括来自所述第三分段群的、不是所述第一分段群或所述第二分段群的一部分的分段的分段集合。
10.一种用于发送数据分段的方法,包括: 接收数据分段的流; 将所述流的个体数据分段编组成大小为NS的分段群,所述分段群包括第一群、最后群、以及在所述第一分段群与所述最后分段群之间的一个或多个中间群; 为所述一个或多个中间群中的第一中间群生成信息的表,所述信息包括所述第一中间群和所述流中前一紧邻群中的各个分段的一个或多个属性;以及传送所述表以及包括来自所述第一中间群的、不是所述前一紧邻群的一部分的数据分段的分段集合。
11.如权利要求10所述的方法,其特征在于,所述数据分段是DASH分段。
12.如权利要求10所述的方法,其特征在于,所述第一表和所述分段集合是FLUTE分组。
13.如权利要求10所述的方法,其特征在于,所述数据分段的流包括视频数据。
14.如权利要求10所述的方法,其特征在于,所述一个或多个属性中的一属性是URL。
15.一种用于发送数据分段的系统,包括: 用于基于所接收到的数据分段的流来建立第一分段群的装置; 用于生成信息的第一表的装置,该信息包括所述第一分段群中的各个分段的一个或多个属性; 用于传送所述第一表和所述第一分段群的装置; 用于基于所述数据分段来建立第二分段群的装置,所述第二分段群包括所述第一分段群中所包括的数据分段的部分交叠; 用于生成信息的第二表的装置,该信息包括所述第一分段群和所述第二分段群中的各个分段的一个或多个属性;以及 用于传送所述第二表以及包括来自所述第二群的、不是所述第一群的一部分的数据分段的分段集合的装置。
16.如权利要求15所述的系统,其特征在于,进一步包括: 用于确定接收所述数据分段的流中的一个数据分段群与传送所述第一表之间的一个时间约束的装置,其中所述建立所述第一分段群进一步基于所确定的时间约束;以及 用于确定接收所述数据分段的流中的另一数据分段群与传送所述第二表之间的另一时间约束的装置,其中所述建立所述第二分段群进一步基于所述另一时间约束。
17.如权利要求16所述的系统,其特征在于: 所述建立所述第一分段群进一步包括确定所述第一群的数据分段的数目; 所述建立所述第二分段群进一步包括确定所述第二群的数据分段的数目。
18.一种用于发送数据分段的系统,包括: 用于基于所接收到的数据分段的流来将个体分段编组成大小为NS的分段群的装置,所述分段群包括第一群、最后群、以及在所述第一分段群与所述最后分段群之间的中间群; 用于为第一中间群生成信息的表的装置,所述信息包括所述第一中间群和所述流中前一紧邻群中的各个分段的一个或多个属性;以及 用于传送所述表以及包括来自所述第一中间群的、不是所述前一紧邻群的一部分的数据分段的分段集合的装置。
19.一种用于发送数据分段的系统,包括: 至少一个处理器,配置成: 接收数据分段的流; 基于所述数据分段来建立第一分段群; 生成信息的第一表,该信息包括所述第一分段群中的各个分段的一个或多个属性;传送所述第一表和所述第一分段群; 基于所述数据分段来建立第二分段群,所述第二分段群包括所述第一分段群中所包括的数据分段的部分交叠; 生成信息的第二表,该信息包括所述第一分段群和所述第二分段群中的各个分段的一个或多个属性;以及 传送所述第二表以及包括来自所述第二群的、不是所述第一群的一部分的数据分段的分段集合;以及耦合至所述至少一个处理器的用于存储数据的存储器。
20.如权利要求19所述的系统,其特征在于,所述至少一个处理器被进一步配置成: 确定接收所述数据分段的流中的一个数据分段群与传送所述第一表之间的一个时间约束,其中建立所述第一分段群进一步基于所确定的时间约束;以及 确定接收所述数据分段的流中的另一数据分段群与传送所述第二表之间的另一时间约束,其中建立所述第二分段群进一步基于所述另一时间约束。
21.如权利要求20所述的系统,其特征在于: 建立所述第一分段群进一步包括确定所述第一群的数据分段的数目; 建立所述第二分段群进一步包括确定所述第二群的数据分段的数目。
22.如权利要求19所述的系统,其特征在于,所述数据分段是DASH分段。
23.如权利要求19所述的系统,其特征在于,所述第一表和所述第一分段群是FLUTE分组。
24.如权利要求19所述的系统,其特征在于,所述数据分段的流包括视频数据。
25.如权利要求19所述的系统,其特征在于,所述一个或多个属性中的一属性是URL。
26.如权利要求19所述的系统,其特征在于,所述至少一个处理器被进一步配置成: 基于所述数据分段来建立第三分段群,所述第三分段群包括所述第二分段群中所包括的数据分段的部分交叠; 生成信息的第三表,该信息包括所述第二分段群和所述第三分段群中的各个分段的一个或多个属性;以及 传送所述第二表以及包括来自所述第三分段群的、不是所述第一分段群或所述第二分段群的一部分的分段的分段集合。
27.一种用于发送数据分段的系统,包括: 至少一个处理器,配置成: 接收数据分段的流; 将所述流的个体分段编组成大小为NS的分段群,所述分段群包括第一群、最后群、以及在所述第一分段群与所述最后分段群之间的中间群; 为第一中间群生成信息的表,所述信息包括所述第一中间群和所述流中前一紧邻群中的各个分段的一个或多个属性;以及 传送所述表以及包括来自所述第一中间群的、不是所述前一紧邻群的一部分的数据分段的分段集合;以及 耦合至所述至少一个处理器的用于存储数据的存储器。
28.如权利要求27所述的系统,其特征在于,所述分段是DASH分段。
29.如权利要求27所述的系统,其特征在于,所述第一表和所述分段集合是FLUTE分组。
30.如权利要求27所述的系统,其特征在于,所述数据分段的流包括视频数据。
31.如权利要求27所述的系统,其特征在于,所述一个或多个属性中的一属性是URL。
32.一种用于管理数据分段的传输的计算机程序产品,包括: 计算机可读介质,包括用于执行以下动作的代码: 接收数据分段的流; 基于所述数据分段来建立第一分段群; 生成信息的第一表,该信息包括所述第一分段群中的各个分段的一个或多个属性; 传送所述第一表和所述第一分段群; 基于所述数据分段来建立第二分段群,所述第二分段群包括所述第一分段群中所包括的数据分段的部分交叠; 生成信息的第二表,该信息包括所述第一分段群和所述第二分段群中的各个分段的一个或多个属性;以及 传送所述第二表以及包括来自所述第二群的、不是所述第一群的一部分的数据分段的分段集合。
33.如权利要求32所述的计算机程序产品,其特征在于,所述计算机可读介质进一步包括用于执行以下动作的代码: 确定接收所述数据分段的流中的一个数据分段群与传送所述第一表之间的一个时间约束,其中所述建立所述第一分段群进一步基于所确定的时间约束;以及 确定接收所述数据分段的流中的另一数据分段群与传送所述第二表之间的另一时间约束,其中所述建立所述第二分段群进一步基于所述另一时间约束。
34.如权利要求33所述的计算机程序产品,其特征在于, 所述建立所述第一分段群进一步包括确定所述第一群的数据分段的数目; 所述建立所述第二分段群进一步包括确定所述第二群的数据分段的数目。
35.一种用于管理数据分段的传输的计算机程序产品,包括: 计算机可读介质,包括用于执行以下动作的代码: 接收数据分段的流; 将所述流的个体分段编组成大小为NS的分段群,所述分段群包括第一群、最后群、以及在所述第一分段群与所述最后分段群之间的中间群; 为第一中间群生成信息的表,所述信息包括所述第一中间群和所述流中前一紧邻群中的各个分段的一个或多个属性;以及 传送所述表以及包括来自所述第一中间群的、不是所述前一紧邻群的一部分的数据分段的分段集合。
【文档编号】H04L29/06GK103959738SQ201280058774
【公开日】2014年7月30日 申请日期:2012年10月12日 优先权日:2011年10月13日
【发明者】J·S·肖赫, 李国钧, R·纳拉亚南, G·卡帕里, S·M·弗罗尔, S·马赫施瓦瑞, T·M·纳加拉 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1