CN102017617B - 广播信道上的快速信道切换和高质量流保护 - Google Patents

广播信道上的快速信道切换和高质量流保护 Download PDF

Info

Publication number
CN102017617B
CN102017617B CN200980116202.XA CN200980116202A CN102017617B CN 102017617 B CN102017617 B CN 102017617B CN 200980116202 A CN200980116202 A CN 200980116202A CN 102017617 B CN102017617 B CN 102017617B
Authority
CN
China
Prior art keywords
symbol
data
physical layer
block
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200980116202.XA
Other languages
English (en)
Other versions
CN102017617A (zh
Inventor
M·G·卢比
T·施托克哈默
M·A·舒克罗莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Digital Fountain Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Fountain Inc filed Critical Digital Fountain Inc
Publication of CN102017617A publication Critical patent/CN102017617A/zh
Application granted granted Critical
Publication of CN102017617B publication Critical patent/CN102017617B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

针对流和对象传递应用两者,用信号表示在多个物理层块中发送源块,使用最小附加开销并且在一些情况中不使用开销来发送物理层块中的交错源块,用信号表示符号如何与产生所述符号的源块相关联,以及表示源块的优先级化的数据的发送和指示。可以在一个或多个信道上组织并且发送流以便改善传递流的质量,同时使所需的信道资源量和接收机功率资源量最小化或者改善。

Description

广播信道上的快速信道切换和高质量流保护
本申请要求2008年5月7日递交的标题为“Fast Channel Zapping andHigh Quality Streaming Protection over a Broadcast Channel”的美国临时申请No.61/051,325的权益。
技术领域
本发明整体涉及流和对象传递并且更具体而言涉及使用FEC在较不可靠的信道上传递流和对象以保护所传递的流的质量。
背景技术
考虑在信道上发送流数据(典型的是音频和/或视频数据但是还可以是诸如遥感勘测数据之类的其它类型的数据)已经是一种常用手段。一个主要的考虑是为了确保所传递的流的质量够高,例如,以便全部或大部分原始流数据都被传递到接收机或接收机组,或者以便在接收机或接收机组处播放出的视频质量足够高。例如,用于传递流数据的信道可以不是完全可靠的,例如,在传输中有一部分数据丢失或被损坏。通常在这种情况下需要采取其它措施来克服传递降级,以实现高质量的传递,其中,所述措施可以包括例如在物理层对原始数据流应用FEC以防止分组损坏,或者在链路层、传输层或应用层对原始数据流应用FEC以防止分组丢失。其它措施包括使用重传策略来重传丢失或损坏的数据,例如,链路层重传协议或应用层重传协议。
设计该***时的另一个主要考虑是,例如,从末端用户首次请求开始观看视频流到开始显示该视频流所花的时间量,或者由用户请求所触发的停止显示当前视频流并且开始显示新的视频流所花的时间量。该时间量通常被称为信道切换时间。典型地,信道切换时间越小则末端用户的体验越好,并且因此总服务越有价值。例如,通常的要求是信道切换时间尽可能的小,例如,小于一秒钟。
当在没有反向信道的高度可靠的信道上传递流,或者当在较不可靠的信道上传递流并且当存在可用于请求丢失数据的重传的反向信道时,通常有可能实现这种信道切换时间和高质量的流传递,但是,当在较不可靠的信道上传递流并且当反向信道不能用于增强可靠性时通常是个挑战,并且改为使用FEC可能是更合适的。
最近,考虑将FEC码用于传输期间的流媒体保护已经成为一种常用手段。当在分组网络(其实例包括因特网和诸如3GPP、3GPP2和DVB的组所标准化的那些无线网络)上进行发送时,将源流按照其产生或者获得的样子放在分组中,因此该分组可以以产生或获得该源流的次序将该源流携带到接收机。在FEC码对这些类型的情况的典型应用中,FEC码被用于向包含源流的原始源分组增加额外的修复分组,这些修复分组具有这样一种特性,当发生源分组丢失时接收的修复分组可用于恢复丢失的源分组中所包含的数据。在其它实例中,有可能发生部分分组丢失,即,接收机可能丢失分组的一部分而接收到该分组的其它部分,因此在这些实例中,完整或部分接收修复分组可用于恢复完整或部分丢失源分组。在其它实例中,发送的数据可能发生其它类型的损坏,例如,比特值可能翻转,因此,修复分组可用于纠正这种损坏并且尽可能准确地恢复源分组。在其它实例中,不一定以离散的分组来发送源流,而是可以例如作为连续的比特流来发送。
可用于提供对源流的保护的FEC码有很多实例。Reed-Solomon码是用于通信***中的纠删错的公知代码。对于例如分组数据网上的纠删,Reed-Solomon码的一种公知的有效实现是使用Cauchy-Vandermonde矩阵,该Cauchy-Vandermonde矩阵如L.Rizzo在Computer CommunicationReview,27(2):24-36(1997年4月)的“Effective Erasure Codes for ReliableComputer Communication Protocols”(下文中将其称为“Rizzo”)和J.Bloemer、M.Kalfane、R.Krp、M.Karpinski、M.Luby和D.Zuckerman在Technical ReportTR-95-48,International Computer Science Institute,Berkeley,California,(1995)的“An XOR-Based Erasure-Resilient Coding Scheme”(下文中将其称为“XOR-Reed-Solomon”)中所述。FEC码的其它实例包括LDPC码、连锁反应码和多级连锁反应码,分别例如美国专利No.6,307,487(下文中称为“Luby I”)和美国专利公布号No.2003/0058958(下文中称为“Shokrollahi I”)中所述的那些,为了一切目的将它们并入本文。
在“Rizzo”和“XOR-Reed-Solomon”中描述了Reed-Solomon码的变形的FEC解码过程的实例。在这些实例中,一旦接收到足够的源和修复数据分组就应用解码。该解码过程可能是计算密集的,并且取决于可获得的CPU资源,相对于分组块中的媒体所跨越的时间长度,完成该过程可能花费相当多的时间。
在许多应用中,将分组进一步分割成符号,将FEC过程应用在符号上。符号可以具有任意大小,但是符号的大小通常最多等于分组的大小。在下文中,我们将包括编码块的符号称为“源符号”,将在FEC过程期间产生的符号称为“编码符号”。对于一些FEC码,特别是Reed-Solomon码,编码和解码时间随着每个源块的编码符号的数量增长而不切实际地增长。因此,在实践中,对于每个源块可以产生的编码符号的总数通常具有上限,例如,255个。由于符号通常被放到不同的分组有效载荷中,所以这有时候对源块的编码的最大长度设定了实际的上限,例如,如果分组有效载荷最多是1024个字节,那么编码源块最多可以是255KB(千字节),并且如果每个符号是在独立的分组中发送的则其还当然是源块本身的大小的上限。
由于对于相同的带宽开销来说,与对在较小的时间间隔上发送的数据块施加FEC码相比,对在较大的时间间隔上发送的数据块施加FEC码通常能够提供更好的保护,所以,通常希望对在很大的时间段上发送的流中的数据块施加FEC编码和解码。这是因为许多信道受到时间相关的丢失和/或损坏特性,例如,数据很可能突发丢失,或者很可能有一些短的时间段,其信道特性比在其它短时间间隔上差得多。
使用应用于在较大时间间隔上发送的数据块的FEC编码的挑战在于其可能不利地影响信道切换时间。例如,在接收机处,在接收到整个编码数据块的足够的数据之后,才可能完整地恢复并且播放该编码数据块。因此,如果FEC编码数据块是在较大的时间间隔上发送的,那么信道切换时间可能高得难以接受。
在较大时间间隔上发送FEC编码数据块的同时实现短的信道切换时间的一种方法是以如下次序对数据进行排序:将FEC编码数据中最重要的数据最后发送,最不重要的数据最先发送。例如,处于一切目的并入本文的标题为“Forward Error Correcting(FEC)Coding and Streaming”(下文中称为“FEC流”)的美国专利申请No.11/423,391中描述了用于在发送源块的源数据之前发送FEC修复数据的方法,从而使得即使接收机在源块的中间加入到流中,该接收机也能够接收源块的一部分源数据,并且开始将其发送到例如媒体播放器进行播放,从而使信道切换时间最小化。
另一个考虑是使头部数据所使用的用于标识要发送的实际数据的信道资源的数量最小化。通常,头部数据通常是开销,其负面地影响可用于传递数据的容量的量。例如,如果使用4个字节的头部数据来标识每100个实际数据字节,那么头部开销高达4%。希望尽可能地将头部开销最小化,尤其是对于流和对象传递应用,但是更一般性地是对于任意数据传递应用。
描述了在要求短的信道切换时间的情况下,当不使用反向信道来增强可靠性时,允许在较不可靠的信道上传递高质量流的方法、过程和装置。将实现给定的可靠等级所需的物理资源(例如,头部开销和FEC头部)最小化也极为重要。
发明内容
实施例给出了使用FEC码在信道上发送和接收流数据以提供高质量传递并且允许短的信道切换时间的新颖的方法和过程。描述了在针对流和对象传递两者的***中使所需的头部开销最小化的新颖的信号发送方法。还描述了用于对流进行发送和保护的新颖的配置。
下文的详细描述和附图将提供本发明的性质和优点的更好理解。
附图说明
图1是根据本发明的一个实施例的通信***的方框图。
图2是用于例示已知***的接收机延迟的组分的图。
图3是例示当在发送对应的源符号之前发送FEC修复符号时的接收机延迟的组分的图,其中所述FEC修复符号是根据该对应的源符号产生的。
图4是示出了一个实施例如何将数据优先级化到子块中并且将子块映射到优先级化的发送顺序的方框图。
图5是示出了一个实施例如何基于将整个子块映射到每个物理层块来将子块映射到物理层块的方框图。
图6是示出了一个实施例如何将子块映射到物理层块的方框图,其中,将相等数量的子块数据映射到每个物理层块并且子块有时候被分割到多个物理层块上。
具体实施方式
本文所述实施例提供了针对流和对象传递应用两者来说,用信号表示在多个物理层块中发送源块的新颖的方法。这些信号发送方法包括使用最小附加开销以及在一些情况中不使用开销,来在物理层块中发送交错的源块,发送符号如何与产生所述符号的源块相关的指示,以及发送源块的优先级化的数据的指示。描述了在一个或多个信道上组织并且发送流的其他方法,所述方法提高了传递流的质量,同时最小化或者改善所需的信道资源量和接收机功率资源量。
以下,将携带数据的网络假设为是基于分组的,以便简化本文的描述,可以认识到,本领域的熟练技术人员可以容易地看出本文所述的过程和方法如何应用于诸如连续比特流网络之类的其它类型传输网络。以下,假设用FEC码来提供对分组中的丢失分组或丢失部分数据的保护以便简化本文的描述,可以认识到,本领域的熟练技术人员可以容易地看出本文所述的过程和方法如何应用于诸如比特翻转之类的其它类型的数据传输损坏。
图1是使用连锁反应编码的通信***100的方框图。在通信***100中,向输入符号产生器110提供输入文件101或输入流105。输入符号产生器110根据该输入文件或输入流产生一个或多个输入符号的序列(IS(0),IS(1),IS(2),……),其中,每个输入符号具有值和位置(在图1中表示为加括号的整数)。输入符号的可能的值,即,它的符号***(alphabet),典型地是2M个符号的符号***,从而每个输入符号编码了M比特的输入文件。通常通过使用通信***100来确定M的值,但是通用***可以包括针对输入符号产生器110的符号大小输入,从而M对于不同的使用而不同。输入符号产生器110的输出被提供给编码器115。
密钥产生器120为要由编码器115产生的每个输出符号产生密钥。根据以下方法中的一种来产生每个密钥:Luby I或Shokrollahi I,或者任何其他类似的能够确保为同一输入文件或者流中的数据块产生的密钥的一大部分都是独特的而不管它们是使用这个还是另一密钥产生器来产生的的方法。例如,密钥产生器120可以使用计数器125的输出、唯一的流识别器130和/或随机发生器135的输出的组合来产生每个密钥。密钥产生器120的输出被提供给编码器115。在其它实例中,例如一些流应用中,密钥集合可以是固定的并且可以再次用于流中的每个数据块。
编码器115根据密钥产生器120所提供的每个密钥I,根据输入符号产生器所提供的输入符号,产生值为B(I)的输出符号。每个输出符号的值是基于它的密钥并且基于一个或多个输入符号(在本文中称为输出符号的“关联输入符号”或干脆称为它的“关联”)的一些函数来产生的。M典型地,但并非总是,对于输入符号和输出符号是相同的,即,它们俩编码了相同数量的比特。
在一些实施例中,编码器使用K个输入符号来选择关联。如果K不是预先已知的,比如输入是流并且K可能在流中的每个块之间变化,那么K可以仅仅是个估计。值K还可以被编码器115用于为输入符号分配存储器。
编码器115将输出符号提供给发送模块140。还从密钥产生器120向发送模块140提供每个该输出符号的密钥。发送模块140发送输出符号,并且取决于所使用的密钥方法,发送模块140还可以在信道145上向接收模块150发送关于所发送的输出符号的密钥的一些数据。假设信道145是删除信道,但是这不是通信***100正常操作的要求。模块140、145和150可以是任意合适的硬件组件、软件组件、物理介质或者它们的任意组合,只要发送模块140可用于向信道145发送输出符号以及关于它们的密钥的任意所需数据并且接收模块150可用于从信道145接收符号以及可能的一些关于它们的密钥的数据。如果K的值被用于确定关联则可以在信道145上发送K的值,或者K的值可以由编码器115和解码器155协商预先设置。
信道145可以是实时信道,例如,通过因特网的路径,或者从电视发射机到电视接收者的广播链路,或者从一个点到另一个点的电话连接,或者,信道145可以是存储信道,例如,CD-ROM,盘驱动器、网站等等。信道145甚至可以是实时信道与存储信道的组合,例如,当一个人通过电话线从个人计算机向因特网服务提供商(ISP)发送输入文件时所形成的信道,该输入文件被存储在网站服务器上并且然后通过因特网发送到接收者。
在信道145包括分组网络的情况下,通信***100可能不能够假设在通过信道145的传输中能够保持任意两个或多个分组的相对次序。因此,输出符号的密钥可以使用一个或多个上述密钥方案来确定,而不必通过输出符号离开接收模块150的次序来确定。
接收模块150向解码器155提供输出符号,并且向密钥再生器160提供接收模块150所接收的关于这些输出符号的密钥的任意数据。密钥再生器160重新产生用于接收到的输出符号的密钥并且向解码器155提供这些密钥。解码器155使用密钥再生器160所提供的密钥以及对应的输出符号来恢复输入符号(还是IS(0),IS(1),IS(2),……)。解码器155将所恢复的输入符号提供给输入文件重新汇编器165,输入文件重新汇编器165产生输入文件101的副本170或者输入流105的副本175。
当用在媒体流应用中时,形成源媒体流的源分组有时候被集合成组,称为源块。例如,源块可以是跨越固定的时间长度的一组源分组,并且例如,Reed-Solomon删除码可以独立地应用于这些源块,以产生修复分组,所述修复分组与源块的原始源分组一起被发送到接收机。
在接收机处,可以随着源分组的到达,将源流连续地分割成源块,然后针对每个源块产生修复分组并且发送该修复分组。优选地,尤其对于直播的或交互式的流应用,将由于使用FEC码而增加的总的端到端延迟最小化,并且如果FEC方案的总设计使得在发送源分组之前在发送机处该源分组的延迟尽可能的小并且使用尽可能小的总延迟来发送源块的全部源分组和修复分组,则这是优选的。如果FEC编码流的速率尽可能的平滑,即,FEC编码流速率的波动尽可能的小或者至少没有放大原始源流中已有的波动,则这也是优选的,因为这使得FEC编码流的带宽使用更具有可预测性并且将使对网络和对其它可能的竞争流的影响最小化。如果当发送源块的分组时,在该源块的分组中发送的数据在时间段上尽可能均匀地分布,则这也是优选的,因为这提供了防止突发丢失的最佳保护。
在接收机处,如果分组丢失了或者接收有误(例如,使用CRC校验来检查或丢弃),那么假设已经接收到足够的修复分组,则可以使用该修复分组来恢复一个或多个丢失的源分组。
在一些应用中,将分组进一步分割成符号,对所述符号应用FEC过程。对于一些FEC码,特别是Reed-Solomon码,编码和解码时间随着每个源块的编码符号的数量的增长而不切实际地增长,并且对于每个源块可能产生的编码符号的总数通常具有上限。由于在应用层使用时,符号通常被放到不同的分组有效载荷中,这对源块的编码的最大长度设定了实际的上限,并且其还当然是源块本身的大小的上限。
对于许多应用,当要在很长的时间段上提供保护时或者当媒体流速率很高时,在比每个分组携带一个符号所能支持的源块大小更大的源块大小上提供保护是有利的。在这些情况中,使用更短的源块并且将来自不同源块的源分组进行交错提供了能够使来自单个源块的源分组分布在更大的时间段上的方案。另一种相关方法是将不能装入分组的更长的符号形成更大的源块,并且将所述符号分割成可以放入连续分组中的子符号。通过使用该方法,可以支持更大的源块,其代价是对于符号可能具有不同的子符号丢失或损坏模式。然而,在信道呈现出突发或强烈相关的损坏的许多情况中,构成一个符号的子符号的丢失或损坏是高度相关的,从而当使用该方法时有时候所提供的FEC保护仅具有很小的降级。
术语
FEC码
在本文描述中,我们假设要编码的数据(源数据)已被分解成相等长度的“符号”,其可以具有任意长度(小到单个比特)。可以在数据网络上以分组的形式携带符号,其中在每个分组中明确地携带或隐含有符号的总数。在一些情况中,源分组有可能不是符号长度的倍数,在这种情况中,该分组中的最后一个符号可能被截去了。在这种情况中,为了FEC编码的目的,隐含地假设用固定的比特模式(例如,零值比特)来拉长该最后一个符号,从而,即使在分组中没有携带这些比特,接收机也仍然可以将该截短的符号填充成完整的符号。在其它实施例中,可以将该固定的比特模式放在分组中,从而将该符号有效地拉长成与该分组长度相等的长度。通常可以以比特来衡量符号的大小,其中符号大小为M比特并且该符号是从2M个符号的符号***中选择的。还设想了非二进制数据,但是,优选地是二进制比特,因为它们更常用。
在本文中我们为流所考虑的FEC码典型的是***FEC码,即,包括源块的源符号作为源块编码的一部分,从而发送源块。***FEC码然后根据源符号的源块产生一些修复符号,然后,源符号和修复符号的组合成为为该源块所发送的编码符号。一些FEC代码具有有效地产生需要数量的修复符号的能力。这种代码被称为“信息增加码”和“喷泉码(fountain codes)”,这些代码的实例包括“连锁反应码”和“多级连锁反应码”。
诸如Reed-Solomon码之类的其它FEC码实际上仅可以根据有限数量的源符号产生有限数量的修复符号。对于这些类型的代码,源块可能仍然相对较大,其中源块被分割成大小足够长的符号,从而源块的源符号的数量最多是源符号的实际数量的上限,并且根据源块产生的修复符号的期望数量最多是修复符号的实际数量的上限。在这些符号比物理层分组传输的合适大小更大的情况中,可以将该符号进一步分割成子符号,可以在这种分组中单独携带子符号。为了简化后续的描述,将符号典型地描述为不可分割的单元,然而在本说明书的许多情况中符号可以分割成子符号并且结果所得的方法和过程与使用符号的描述相当类似。
还存在许多其它用于在分组中携带符号的方法,并且虽然下文的描述为了简化起见使用该实例,但是这并不意味着其是限制性或者全面性的。在下述描述的上下文中,术语“分组”并不意指被限于为仅仅字面上表示作为单个数据单元来发送。而是其意图包括更广泛的概念,以定义可以作为或者不作为单个数据单元来发送的符号或部分符号的逻辑集合。
除了符号丢失之外,还可能有其它形式的数据损坏,例如,处于传输中的符号改变它们的值或者以其它方式受到损坏,下文所述的方法同等地应用于这些形式。因此,虽然以下的描述通常描述符号丢失,但是该方法很好地等效应用于其它类型的损坏以及除了FEC删除码之外的其它类型的FEC码,例如,FEC纠错码和FEC校验和码和FEC验证码。
为了对源流提供FEC保护,源流可以是一个或多个逻辑流的组合,其实例是音频RTP流和视频RTP流的组合、MIKEY流和RTP流的组合、两个或更多个视频流的组合以及控制RTCP业务和RTP流的组合。随着源流以例如源比特流、源符号流或者源分组流的格式到达发送机,发送机可以将该流缓存到源块中并且根据源块产生修复流。发送机将源流和修复流例如安排在要在分组网络上发送的分组中并且进行发送。FEC编码流是组合的源和修复流。接收机接收该FEC编码流,该FEC编码流可能例如由于丢失或比特翻转而受到损坏。接收机试图重构源流的部分或全部原始源块,并且使得例如媒体播放器在接收机可获得原始源流的这些重构部分。
对于流应用,存在若干个关键参数和若干个关键度量,其中,所述关键参数是在设计如何使用FEC码来保护源流时的输入,所述关键度量对于优化非常重要。
在该设计中的两个关键输入参数是保护周期和保护量。源块的发送机保护周期是发送从该源块产生的符号的持续时间。源块的保护量是为该源块所发送的FEC修复符号的数量,表示为该源块中的源符号数量的分数或百分数。例如,如果保护周期是2秒钟并且保护量是20%并且在源块中具有10000个源符号,那么在2秒钟的时间窗上发送该源块的10000个源符号和2000个修复符号。每个源块的保护周期和保护量两者都会随着源块的不同而不同。例如,当源块优选地不横跨在源流中的某些源分组之间时,例如,当第一分组是MPEG2视频流中的图像群(GOP)的最后一个分组并且第二连续分组是下一个GOP的第一个分组时,则源块可以在第一分组之后第二分组之前终止,即使这发生在保护周期结束之前。这允许FEC保护块与视频编码块对准,这可以具有许多优点,包括可以将由于视频缓存和FEC缓存所导致的接收机延时最小化。在其它应用中,出于多种原因,对于每个连续的源块一直维持相同的保护周期和/或源块大小是有利的。在下文的许多描述中,为了简化起见,保护周期和保护量两者被假设为对于每个后续源块是相同的。对于本领域的熟练技术人员来说,应该很清楚这不是限制性的,因为人们在读完本说明书之后可以容易地确定当保护量或者保护周期或者这两者随着源块的不同而不同时,以及当源块大小变化时,如何应用本文所述的过程和方法。
为了简化一些后续描述,通常假设原始流的源符号以稳定速率到达要执行FEC编码的发送机,并且一旦接收机首次使得源符号在该接收机处可用,接收机就以相同的稳定速率使得后续源符号可用,假设接收到的源符号所来自的第一源块中不存在源符号丢失并且在每个后续源块中编码符号丢失最多是允许进行成功的FEC解码的最大可能量。该简化假设不是后文所述的过程和方法的操作或设计中所固有的,并且其绝非意图将这些过程限制于该假设,仅仅引入该假设以作为简化该过程和方法的一些特性的描述的工具。例如,对于可变速率的流,对应的条件是接收机获得源符号的速率与源符号到达发送机的速率相同或者近乎相同。
对最小化至关重要的一些关键度量包括发送机延时,它是发送机所引入的延时。对于诸如直播视频流或者交互式应用(如视频会议)之类的一些应用,希望将发送机延时最小化。有助于将发送机延时最小化的总设计的一个方案是使得发送机按照源符号到达发送机的相同次序来发送所述源符号。稍后描述将发送机延时最小化的其它设计方案。
另一个重要的度量是信道切换时间。这是当接收机加入或者请求该流并且首次开始从该流接收编码符号的时间直到接收机首次可从该流获得源符号的时间之间的时间。通常,希望将信道切换时间最小化,因为其将在接收机处用于在由解码器解码并且传递符号之前存储所述符号的存储器要求最小化,并且这还将加入流与该流首次开始可用(例如用于视频流重放)之间的时间量最小化。
对于许多已知的***,用于最小化信道切换时间的一种重要的方案是使得发送机维持源符号的原始发送次序。在后文的段落中,我们描述用于对块中的源符号进行排序和编码的新颖的方法,以便应用FEC码,并且以将信道切换时间最小化的方式来发送每个源块的编码数据。
如我们现在所述的,对于许多已知的***,信道切换时间典型地包括多个组分。在图2中显示了被分割成顺序的源块的流的这些组分的一个实例。图2显示了可用于典型的IPTV部署中的设计,其中,每个保护周期有单个源块,每个源块的源符号之后立即发送该源块的修复符号,并且该实例显示了接收机在源块的开头加入该流的情况。在该实例中,信道切换时间的两个组分是保护周期和解码延时。接收机保护周期是这样一种时间,在该时间期间接收机对来自源块的接收编码符号进行缓存。注意,如果发送机与接收机之间的信道在每个比特、字节、符号或分组从发送机到达接收机所花的时间量方面没有任何变化,则发送机保护周期和接收机保护周期是相同的。因此,在实践中,由于网络定时在传递时的变化,所以发送机保护周期可能与接收机保护周期不同。为了简化描述,我们在下文中假设发送机保护周期和接收机保护周期对于每个源块都是相同的,并且我们对发送机保护周期和接收机保护周期同义地使用术语“保护周期”,即,我们假设网络传递时间对于所有数据是相同的,并且我们注意到本领域的熟练技术人员可以对本文所述的方法和装置做出必要的改变,以考虑发送机保护周期和接收机保护周期由于网络传递波动而导致的差异。
在这些已知的***中,接收机延时的保护周期组分是必须具有的,因为即使在第一源块中没有任何源符号丢失,也必须使得至少延迟该保护周期之后才可获得该源符号,以便当在后续源块中存在编码符号丢失时确保所有后续源符号的平滑源符号传递。在该保护周期期间,源块的部分或大部分或全部FEC解码可以与编码符号的接收同时发生。在保护周期结束时,可以具有附加FEC解码,该附加FEC解码发生在可以从接收机获得源块的第一个源符号之前,并且在图2中将该时间周期标记为解码延时。另外,即使在可以获得第一源符号之后,在可以获得源块的第二和后续源符号之前也可能会有附加的FEC解码。为了简单起见,在图2中没有显示所述附加的FEC解码,并且在该实例中假设有足够多的可用CPU资源以足够快的速率解码第一源符号之后的所有源符号。
在这些已知的***中,当接收机刚好在源块的中间加入该流时,只要发送机维持源分组的原始发送次序,那么信道切换时间可以与保护周期加上当来自该第一部分源块的源符号没有丢失时的解码延时一样小。因此,对于这些已知的***,希望发送机维持源符号的原始发送次序。
流方法的另一个目的是最小化FEC端到端延时,这是当源分组在应用FEC编码之前已在发送机处准备发送的时间与当源分组在已经应用了FEC解码之后可用于在接收机处重放的时间之间,由于使用FEC所引入的最糟的总延时。
流方法的另一个目的是将使用FEC时的发送速率的波动最小化。该目的的一个原因是因为在分组网络中,在容量有限的网络的一些点处,由于流的发送速率的峰值与其它业务的峰值重合而造成拥塞或者缓冲器过载,发送速率波动的流会更容易受到分组丢失的影响。FEC编码流的速率波动最起码不应该比原始源流的速率波动还差,并且优选地,应用于原始源流的FEC保护越多,则FEC编码流的速率波动变得越小。作为特殊情况,如果原始流以恒定速率发送,那么FEC编码流也应该以尽可能接近常数的速率来发送。
流方法的另一个目的是为了能够在接收机处使用尽可能简单的逻辑。在许多情况中这是很重要的,因为接收机可以被内置在计算、存储和其它资源容量有限的设备中。并且,一些情况下在传输中可能存在显著的符号丢失或损坏,并且因此接收机可能必须从灾难性的丢失或损坏情况中进行恢复,在灾难性的丢失或损坏情况中,当条件改善时几乎没有或者完全没有上下文来理解流的接收该从哪里继续。因此,接收机的逻辑越简单和越鲁棒则接收机将能够越快速并且越可靠地开始从接收的流中恢复源流的源符号并且使其再次可用。
当在较大的时间段上将要为一个源块发送的FEC编码数据与为其它源块发送的数据交错地发送时,该源块的FEC编码数据的发送应该在时间上尽可能均匀地发出,以确保对信道中的丢失和损坏得到可能的最好防范。
源块的数据发送应该使得接收机可以及时地以预定优先级次序恢复源块的源数据。
应该用尽可能少的与流相关联的头部信息来发送为流所发送的数据,以便最小化头部开销。优选地,没有头部信息与流一起发送,并且从***中嵌入的其它信息导出或者已经能够得到一些或者全部头部信息,并且/或者可以从其它信息(例如,该信息到达接收机的时刻)推断一些或者全部头部信息。
在接下来的段落中,我们描述满足一些或全部这些目的的方法、过程和装置。
改进的发送和接收方法和装置
在一些情况中,可以对将要作为块来传递的数据进行优先级化。在其它情况中,无需对将要作为块来传递的数据进行优先级化。在任意情况中,将原始数据流分割成源块,对每个这种源块产生FEC修复数据,然后将每个这种源块的编码数据(包括原始源块数据和根据该源块产生的FEC修复数据)扩展在比源块的原始播放时间更长的时间上(并且因此,后续源块的编码数据彼此交错)。在这些情况中,应用的FEC码可以是删除码,其对于流中的数据对数据丢失的防范高达希望的保护量,但是也设想了其它类型的FEC码,例如,作为纠错码的FEC码或者可以用于验证数据完整性的FEC码。在这些情况中,用于发送流的每个源块的编码数据的时间(被称为保护周期)越长并且编码数据在该保护周期上的分布越均匀,则应用层FEC码对分组丢失所提供的防范级别越好。
在本发明的一个实施例中,在物理信道中以在本文中被称为物理层分组的相等大小的片(例如,每片120个字节)来发送编码数据。物理层分组可以具有物理层FEC码,该物理层FEC码被应用于物理层分组以便保护每个物理层分组免受损坏。在一些情况中,大量物理层分组被分割成时隙,每个时隙具有相同数量的物理层分组,例如,512个物理层分组。有时候可以使用物理层的协议来区别并且唯一地标识每个时隙中的物理层分组。在这些情况中,可以将FEC符号直接映射到物理层分组,并且,很大程度上或者完全可以通过用于确定物理层分组的身份的方法来确定标识哪个符号是在哪个物理层分组中携带的,这减少或者完全排除了对于在每个物理层分组中与符号数据一起携带符号标识数据的需要。在一些情况中,优选地在物理层分组中与符号一起携带部分符号标识数据或者关于根据流的哪个部分或者哪个源块产生该符号的一些信息。例如,对于121字节的物理层分组,可以存在1字节的这种符号标识数据,并且符号大小可以是剩下的120个字节,然而,可以根据与符号一起携带在物理层分组中的符号标识数据和用于唯一地标识物理层分组的方法的组合,来完全地确定符号是如何根据原始源符号流产生的,其中所述用于唯一地标识物理层分组的方法可以例如通过物理层分组在帧中的位置和/或通过包含物理层分组的帧的标识符和/或通过物理层分组和/或包含物理层分组的帧的接收的定时来进行标识。例如,该1字节的标识符可以标识该符号所来自的源块部分,其中,例如,通过该源块部分的数据处于哪个优先级,和/或通过源符号来自多个流中的哪个流,来标记源块的不同部分。
如果修复分组是在源分组之前发送的,例如,如在“FEC流”中所述的,则可以对上述过程进行某些改进。该方法的代价是在发送机处引入附加延迟,因为源分组通常被保存在缓冲器中以便在修复分组之后发送。作为另一个实例,可以根据全部或部分源块来产生修复数据。例如,可以根据整个源块产生部分修复数据,并且可以根据源块的一个或多个其它优先级层产生其它部分。如果在物理层分组或应用层分组(其可以扩展多个物理层分组)中与符号一起携带有符号标识数据,那么修复符号的该符号标识数据的一部分可以标识其是根据源块的哪个部分产生的。
信号发送方法
在一些实施例中,对于每个符号,可以使用与该符号相关联的头部数据(例如一个字节的头部数据)来发送关于该符号的信息,例如,当有多个流时的流标识符,当源块要在多个物理层块上发送时的段标识符,当源块包括多个子块时的子块标识符,符号根据源块中的符号的符号次序在源块中的位置,等等。在一些实施例中,可以与物理层分组中的每个符号一起发送一些或全部该头部数据。在其它实施例中,每个符号的头部数据大部分或者全部都是从其它信息导出的,并且没有或几乎没有头部数据与物理层分组中的每个符号一起发送。
源块中的符号
优选地,源块的符号次序是明确或者隐含地确定的,并且在发送机和接收机处的次序相同。对于流或者对象传递应用,该次序的某些其它优选特性是有益的。例如,一个优选特性可以是源块的符号次序使得所有源符号排在最前面其后紧接着所有修复符号。另一个实例是符号按照源块的子块结构所确定的次序来排列,例如,与源块的第一子块相关联的所有符号排在最前面,与源块的第二子块相关联的所有符号排在第二顺序,以此类推。如前所述,符号还可以包括多个子符号。
源块中的ESI
ESI(编码符号标识符)是用于,在一些情况中结合诸如源块中的源符号数量之类的其它信息,确定如何从源块产生符号的任意标识符。ESI可以明确地用于在发送机处产生符号或者在接收机处标识和/或恢复符号,或者可以隐含地使用ESI。优选地,以这样一种方式对每个源块的符号进行排序,在该方式中发送机和接收机可以根据给定符号在符号次序中的位置来确定该符号的ESI。例如,如果对于一个源块,该符号是符号次序中的第j个符号,那么情况可能是该符号的ESI是j,其中j是正整数。
优选地,但非排它地,可以通过发送机和接收机两者容易地计算符号的ESI与符号次序之间的映射。例如,已排序的符号集合的连续的ESI可以是0、1、2、3、……、j、j+1,以此类推,即,ESI是从零开始的连续的整数,并且因此,在该情况中符号位置与ESI一样。作为另一个实例,已排序的符号集合的连续的ESI可以是5、10、15、20、……、5*j、5*(j+1),以此类推。存在许多其它用于确定ESI到已排序的符号集合的映射的方法,只要给定符号次序中的符号位置,该方法就允许发送机和接收机两者确定给定符号的ESI。优选地,可以使用通过发送机和接收机两者容易地计算的ESI序列来表示与源块相关联的符号的符号次序。
物理层块中的物理层分组
当在物理层块中发送物理层分组时,通常可以通过总架构的特性来确定物理层块中的物理层分组的次序。并且,可以通过发送机和接收机例如基于定时信息和物理层信令来确定一个物理层块与另一个物理层块的差异。可以使用多种不同的方法(包括线性同余映射),或者使用一种确保连续的符号被映射到将在物理层块的发送中以时间分集的方式发送的物理层分组的映射,来将已排序符号映射到物理层分组,例如,每个连续的符号被映射到在物理层块的发送中在不同的时间象限中所发送的物理层分组,或者连续的符号被映射到很大程度上使用分集的频率集合来发送的物理层分组。要在物理层块中发送的已排序的符号集合可以包括:与第一段标识符相关联的符号,其后紧接着与第二段标识符相关联的符号,其后紧接着与第三段标识符相关联的符号,以此类推,其中段标识符的总数可以是一个或者多个。在与每个段标识符相关联的符号之中,可以通过连续递增的ESI来对符号进行排序。优选的特性是使得已排序符号与物理层块中的物理层分组之间的映射是(明确地或者隐含地)已知的并且易于由发送机和接收机确定。
如前所述,符号可以包括多个子符号,其中每个物理层分组可能能够携带一个或多个子符号,但是可能长度不足以携带一个符号。在这些情况中,可以容易地对前述用于将符号映射到物理层分组的方法和过程进行修改,以进一步考虑到这个问题。例如,可以修改ESI以不仅标识符号而且标识符号中的特定子符号,例如,ESI是符号和子符号两者的标识符。作为另一个实例,映射可以使得总是连续地发送符号的子符号,并且从已排序符号到物理层分组的映射标识携带符号的第一子符号的物理层分组。
在一些情况中,在物理层块中有大量信令数据可用,例如,根据物理层分组在物理层块中的位置来导出符号的ESI或者符号在该符号次序中的位置的能力,物理层块标识符以及物理层块头部信息中所携带的其它信息。
在本发明的一些实施例中,在每个物理层分组中以最少量的头部标识数据来携带一个符号,可以是源符号或者修复符号。使用发送机和接收机都公知的过程,将源块的已排序的符号集合顺序地映射到物理层块中的物理层分组。例如,可以将已排序的512个符号的集合顺序地映射到512个物理层分组。可以在发送机处确定符号的次序,并且将其明确地带外传输到接收机,或者优选地通过用于确定每个块的符号的次序的预定过程在发送机和接收机之间隐含地传送。当来自多个源块的符号要映射到同一物理层块中的物理层分组时,如果源块已排序,那么可以使用该符号相对于每个源块的次序与源块的次序一起来确定要映射到物理层块中的物理层分组的所有符号的次序。在其它实施例中,在每个物理层分组中携带多个符号。在其它实施例中,符号可以跨越多个物理层分组,例如,当符号被分割成子符号并且在物理层分组中携带每个子符号时。本领域熟练技术人员将认识到,本文所述过程和方法还可以应用于其它实施例。
在一些实施例中,物理层块可以是在不同层的块,例如,逻辑块或数据,或者应用限定的数据块或者传输快或者介质层块。并且,物理层分组可以是传输分组或者逻辑分组或者应用分组或者介质层分组。本领域的熟练技术人员将认识到,这些实施例可以具有许多实质上等效的变形。
可以在多个物理层块中发送与源块相关联的源符号和修复符号。可以使用源符号或修复符号的段标识符来指示相对于携带源块的任意符号的第一物理层块,该符号是在哪个物理层块中携带的,优选地以逆序。例如,与在携带该源块的任意符号的最后一个物理层块中所携带的源块相关联的所有符号可以具有段标识符0,而与每个在先物理层块中的源块相关联的所有符号的段标识符可以比携带该源块的任意符号的后续物理层块中的段标识符大1。注意,在携带特定源块的符号的物理层块之中,不是所有连续的物理层块都可以携带该源块的符号,例如,第一物理层块可以携带源块的符号,接下来的第二物理层块可以不携带该源块的任何符号,而再接下来的第三物理层块可以携带该源块的符号。在其它情况中,可以通过指示例如物理层分组次序中的物理层分组位置或者作为段边界指示符(其用于指示一个源块的一个段的结束和另一个源块的新段的开始)的物理层块,来传送源块的段结构。例如,对于具有2000个物理层分组的物理层块,其中,前500个物理层分组对应于来自第一源块的段,接下来600个物理层分组对应于来自第二源块的段,并且其余900个物理层分组对应于来自第三源块的段,可以使用段边界指示符500、600来指示第一源块的段对应于前500个物理层分组,第二源块的段对应于接下来600个物理层分组,第三源块的段对应于其余900个物理层分组。可替换地,段边界标识符可以以符号为单位来表示,并且可以相对于物理层块中的符号的次序来确定。
在一些优选实施例中,在每个物理层块中最多存在一个与每个段标识符相关联的源块,并且因此可以使用段标识符来唯一地将该符号与不同的源块区分开,并且因此在这些情况中,段标识符还被用作为用于区别物理层块中所携带的符号的源块标识符。在其它实施例中,通过其它方式来携带符号的源块标识符,例如,通过将源块标识符包括在与每个符号相关联的头部数据中,或者通过将源块标识符包括在与每个物理层块相关联的头部数据中。存在其它变形,其中源块标识符不必在物理层块的头部中携带,而是可以改为在包含多个物理层块的头部信息的单独的物理层块的其它地方(例如在控制数据流中)携带,或者经由其它网络发送。本领域的熟练技术人员将认识到许多其它类似的变形。
子块
编码或未编码的源块可以包括多个子块,例如,子块对应于与源块相关联的不同的源符号和修复符号,其中该源符号和修复符号对应于所述符号的逻辑关联部分。例如,包括第一子块的第一源和/或修复符号集合可以对应于这样一种源块部分,该源块部分可用于对与该源块相关联的视频部分呈现较低分辨率的视频,而包括第二子块的第二源和/或修复符号集合结合一些或全部第一子块一起使用时,可以对与源块相关联的视频部分呈现较高分辨率的视频。作为另一个实例,子块标识符可以标识与源块相关联的一些或全部修复符号,或者子块标识符可以标识与源块相关联的一些或全部源符号。在一些情况中,可以通过用号码明确地标记每个子块来表示子块标识符。例如,源块的第一子块可以具有子块标识符0,而源块的第二子块可以具有子块标识符1。在其它情况中,可以通过指示例如ESI或者在符号次序中作为子块边界指示符(其指示ESI或符号次序中一个子块的结束和一个新子块的开始)的符号位置,来表示子块结构。例如,对于具有900个源符号和100个修复符号的源块,其中,符号的ESI是从零开始的连续整数,并且其中,第一子块包括源符号并且第二子块包括修复符号,子块边界指示符900可用于指示第一子块对应于ESI从0到899的符号,第二子块从ESI为900的符号开始。源或修复符号的子块标识符指示该符号是哪个子块的一部分。
头部数据与每个符号一起发送的方法
在一个实施例中,与每个符号相关联的、要在物理层分组中与该符号一起发送的头部数据包括段标识符、子块标识符和ESI。例如,如果可能的段标识符的数量是8个并且可能的子块标识符的数量是8个并且ESI的数量是1024,那么对于每个符号,16个比特或等效的2个字节的头部数据就足够了。在物理层块中的每个物理层分组中,物理层分组的内容包括符号以及与该符号相关联的头部数据,其中头部数据包括段标识符和子块标识符。
在该实施例中,接收机可以如下处理接收到的物理层块中的物理层分组。在接收到物理层块中的物理层分组之后,接收机根据与其能够读取的每个物理层分组中的符号相关联的头部数据进行确定。根据该头部数据,接收机可以确定物理层分组中所包含的符号的段标识符、子块标识符和ESI。根据该段标识符,接收机可以从可能的源块中确定该符号与哪个源块相关联。根据该子块标识符,接收机可以从源块的可能子块中确定该符号与哪个子块相关联。根据该ESI,接收机可以确定该符号与源块以及与源块的子块的关系,其中该ESI可用于确定符号在源块中的符号位置,并且/或者可用于在FEC解码时从接收到的修复符号和其它源符号中恢复丢失的源符号。
然后,接收机可以基于该信息,决定某些动作。例如,接收机可以将与符号相关联的子块数据用于不同的目的。例如,子块数据可以被部分用于确定如何进行FEC解码以恢复一些或全部源块。例如,子块数据还可以用于确定应该向上层应用(例如,接收机中的多媒体播放器处理)传递哪部分数据,以便支持接收机中更高级别的功能,例如,以确定将所恢复的源块的哪部分作为整体传递给多媒体播放器以供多媒体播放。例如,当接收机接收到第一物理层块时,与第一段标识符相关联的符号部分可以与第一子块相关联,该第一子块可以被传递到多媒体播放器以便播放与第一段标识符相关联的源块所关联的低质量视频部分。接收机还可以决定保存所提取和/或所恢复的、与具有除了第一段标识符之外的段标识符的源块相关联的符号,以便将它们与后续物理层块中接收的相同源块的符号进行组合,并且组合这些符号以便FEC编码和/或传递给媒体播放器,有可能以符号子块或者符号子块集合为单位。
本领域的熟练技术人员将认识到,上述实施例存在各种变形和组合。例如,与符号一起发送的符号头部数据可以包括段标识符和子块标识符而没有ESI。作为另一个变形的实例,在头部数据中只与符号一起发送ESI,并且如果使用的话可以根据其它数据来确定诸如段标识符或子块标识符之类的其它数据。
作为另一个变形的实例,与每个符号相关联的头部数据可以不包括子块标识符。在该情况中,例如,可以通过导出的ESI隐含地确定子块标识符,或者子块标识符与源块的段重合,或者不使用子块。
作为另一个变形的实例,与每个符号相关联的头部数据可以不包括段标识符。在该情况中,例如,可以通过在每个物理层块中分配固定数量的物理层分组来隐含地确定段标识符,或者子块与段重合,或者不使用段。
作为另一个变形的实例,与每个符号相关联的头部数据还可以包括流标识符。在该情况中,流标识符可以确定一个符号与几个流中的哪个流相关联,例如,音频流或视频流。注意,流标识符可以被其它标识符管辖(scope),例如,如果流是逻辑相连的,比如用于同一节目段的音频和视频流,那么例如子块标识符可以管辖一些或全部流标识符。注意,流标识符还可以管辖其它标识符,例如,如果流是逻辑独立的,比如用于不同节目段的音频/视频流,那么例如流标识符可以管辖一些或全部子块标识符。
没有头部数据与每个符号一起发送的方法
在另一个实施例中,不存在与物理层分组中所携带的符号相关联的头部数据。而是,可以改为在物理层块的头部数据中携带一些最小数据。该最小数据可以包括例如,段表格,其中,段表格的每行对应于段标识符,段标识符包括该物理层块中所携带的源块段的符号数量以及在该物理层块中所携带的源块段的全部符号之中、第一符号在该源块段的符号次序中的ESI。在一些实施例中可以不包括段中的符号的数量,例如,因为每个段中的符号的数量在全部物理层块中总是相同的。
在一些实施例中,在同一段标识符用于同一物理层块中的两个或更多个源块的情况下,段表格可以改为是源块表格。
该最小数据还可以包括,例如,子块表格,其指示在物理层块中携带了每个源块的哪个子块的符号。该子块表格可以有许多形式,例如,子块信息可以被追加到段表格中的每个合适的段标识符行,或者作为另一个实例,子块信息可以被存储到独立的表格中。在一些实施例中,可以不包括子块表格,例如因为未使用子块或者因为子块信令是在更高的应用层处理的。
在该实施例中,接收机可以如下处理接收到的物理层块中的物理层分组。接收机从物理层块头部数据中读取段表格和/或子块表格并对其进行存储。接收机可以根据该段表格确定与源块的每个段(其中用物理层块来携带该段的符号)相关联的符号数量和初始ESI。根据携带符号的物理层分组的位置的物理层标识,根据包含与每个段相关联的该数量和初始ESI的段表格,并且根据物理层块中所包含的源块的所有段中的组合的已排序符号集合到物理层分组的映射,接收机可以确定该符号的ESI以及该符号与哪个源块相关联。根据子块表格,接收机可以用类似的方式确定该符号与源块的哪个子块相关联。
根据ESI,接收机可以确定该符号与源块以及与源块的子块的关系,其中ESI可用于确定符号在源块中的符号位置,并且/或者用于在FEC解码时从接收到的修复符号中恢复未接收到的源符号以及其它源符号。
接收机然后可以基于该信息,决定某些动作,包括以上针对本文所述的“头部数据与每个符号一起发送”方法所述的那些动作。
本领域的熟练技术人员将认识到,上文存在许多变形。作为一个变形的实例,与每个符号相关联的头部数据可以包括子块标识符,例如,将每个物理层分组的一个字节的一部分用于该目的。在一些情况中,由于子块结构跨越整个源块,而源块的数据的发送可以在若干物理层块上,这可能是优选的,并且因此在与每个符号一起发送的头部数据中携带子块标识符可以允许在源块传输的中间加入该信道的接收机快速地理解源块的子块结构。
作为另一个实例,可以不使用子块。
作为另一个实例,与每个物理层分组相关联的头部数据可以例如作为同一物理层块中的独立的数据来发送,或者可以通过其它手段传输给接收机,例如,在接收机可获得的控制信道中发送,或者作为另一个实例,在包含多个物理层块的头部信息的独立的物理层块中发送,或者作为另一个实例经由另一个网络来发送。
作为另一个实例,与每个符号相关联的头部数据可以包括流标识符。在该情况中,流标识符可以确定一个符号与几个流中的哪个流相关联,例如,音频流或视频流。注意,流标识符可以被其它标识符管辖,例如,如果流是逻辑相连的,比如用于同一节目段的音频和视频流,那么例如子块标识符可以管辖一些或全部流标识符。注意,流标识符也可以管辖其它标识符,例如,如果流是逻辑独立的,比如用于不同节目段的音频/视频流,那么例如流标识符可以管辖一些或全部子块标识符。流标识符还可以按照类似于以上针对段标识符和子块标识符所述的格式,包括在物理层块的头部数据中,在该情况中,不必为了将流结构传输到接收机而将流标识符包括在与每个符号相关联的头部数据中。
作为一个实例,假设每个源块的段的数量是4,子块的数量是3,每个物理层块的物理层分组的数量是512,并且有三个大小为100字节的符号每个包括在300字节的每个物理层分组中,因此,物理层块包含3*512=1536个符号。然后,针对特定的第一物理层块的第一段表格和针对第二物理层块的第二段表格可以如图3中所示,其中,在第一物理层块之后连续地发送第二物理层块。在该实例中,可以不在段表格中明确地携带段标识符,而是改为通过该表格中的行号来暗示,即,行j对应于段标识符j。
在第一段表格中,标识符为0的段的符号数量为450,其由150个物理层分组携带,其中前450个符号根据已排序符号到物理层分组的映射来进行映射。在该实例中,段标识符为0的符号的ESI是从0到449的连续整数。标识符为1的段的符号的数量为300,其由开始150个物理层分组之后的100个物理层分组携带,这300个符号根据已排序符号到物理层分组的映射来进行映射。在该实例中,段标识符为1的符号的ESI是从420到719的连续整数。
在第二段表格中,标识符为0的段的符号的数量为420,其由140个物理层分组携带,前420个符号根据已排序符号到物理层分组的映射来进行映射。注意,对于j=0、1、2,第一段表格中段标识符为j的源块可以与第二段表格中段标识符为j+1的源块相同。因此,在这种映射之下,第一段表格中标识符为j的段的初始ESI是初始ESI与第二段表格中标识符为j+1的段的符号数量之和。
存在无需在物理层块的头部中携带数据的其它变形,而是改为在诸如控制数据流之类的其它地方、在包含多个物理层块的头部信息的独立的物理层块中或者经由其它网络来携带数据。本领域的熟练技术人员将认识到上述方法的许多其它变形。
到和来自FEC有效载荷ID的映射
对于标准中描述的许多应用层FEC码,例如,如IETF RFC 5052(因特网工程任务组要求注解5052)和IETF RFC 5053(因特网工程任务组要求注解5053)中所述的,典型地,FEC有效载荷ID(标识符)与应用层分组中发送的符号或符号组或子符号组相关联。对于最简单的情况,当FEC有效载荷ID与符号相关联时,FEC有效载荷ID包括用于产生符号的源块号码、符号的ESI,并且在一些情况中还有具有最小关联ESI的修复符号的初始ESI(并且该初始ESI可以被看作为子块标识符,用于标识源符号是第一子块的一部分并且修复符号是第二子块的一部分)。
在一些上述方法和过程中,FEC有效载荷ID不与每个符号一起发送,而是描述了将与每个符号一起发送的头部数据的数量最小化以便将信道容量最大化的其它手段。在一些情况中,在发送机将发送格式从使用FEC有效载荷ID的格式转换成使用用于向接收机传递该信息的上述手段的格式是有用的。在一些情况中,在发送机将发送格式从使用用于向接收机传递该信息的上述手段的格式转换成使用FEC有效载荷ID的格式也是有用的。例如,可能已开发了使用FEC有效载荷ID来标识符号的软件,并且很方便使用该软件所产生的输出符号流和相关联的头部数据来产生与使用上述手段的发送格式兼容的输出符号流和关联数据。
可以从以上提供的描述中容易地导出到和来自FEC有效载荷ID格式的映射方法。
发送配置以优化信道切换
对于将要在信道上发送的优先级化的流(其中,要发送的数据被分割成不同的物理层块,例如,帧或超帧),要为源块发送的符号数据可以以它们的优先级的逆序,按照优先级化的方式在多个这种物理层块上交错。例如,如“FEC流”中所述的,可以在源块的源数据之前发送源块的修复数据,以便在这些描述的上下文中降低信道切换时间。可以将包括处于源块的给定优先级等级的数据的数据一起聚合到子块中。例如,继续上述实例,可以将修复符号视为较低优先级子块,将源符号视为第二高优先级子块,并且因此,可以在较高优先级子块之前发送较低优先级子块。
图4示出了实施例可以如何将数据优先级化到子块中并且将子块映射到优先级化的发送次序的实例。在图4中,用各种数据块和数据子块来表示数据流470。例如,数据流470被显示为具有音频块450和各种视频块(例如,I帧(ZI)410)和各种符号数据子块(例如,P1-Px 420-422、b1-bz 430-435和B1-By 440-442)。在图4中,P1 420表示流中的最高优先级子块,其后分别紧接着b1-bz 430-435、B1-By 440-442、P2-Px 421-422、音频块450和I帧(ZI)410。给定这些优先级等级,可以将流的块和子块排列为如发送配置480所示。可以在传输的开头向接收机发送最低优先级的块(ZI 410),而最后发送最高优先级的数据(P1 420)。另外,当创建优先级化的发送次序时还可以考虑各种子块之间的依赖关系。例如,根据一些实施例,子块b1、B1和b2可以依赖于P1。在这些实施例中,在发送P1之前发送这些依赖的子块是有利的。因此,一旦接收到P1,P1中的全部数据和它的全部依赖子块可以迅速变得在接收机处可用。在确定了发送配置之后,可以使用该发送配置将数据相应地划分成不同的物理层块。
用于将优先级化的子块映射到物理层块中的一个方法是将子块映射到每个物理层块中。图5显示了该方法的一个实施例。图5显示了数据集合500,其被分解到各个物理层块501-504。图5中的块被表示成是沿箭头509所指示的方向发送的。例如,物理层块501在物理层块504之前发送(并且因此,在物理块504之前发送),并且在物理层块501中,节580在节520之前发送。如图5中所示,一些数据500被放到物理层块501-504的每一个中。为了清楚起见,将数据500中的每个数据段仅显示为被放到物理层块501-504的其中一个中,即使每个段被放到每个物理层块的对应的节中。FEC数据510被放到物理层块的520-523处;P1数据420被放到物理层块的540-543处;b1-bz数据430-435被放到物理层块的530-533处;B1-By数据440-442被放到物理层块的550-553处;P2-Px数据421-422被放到物理层块的560-563处;音频数据450被放到物理层块的570-573处;I帧(ZI)410被放到物理层块的580-583处。按照图5中所示的方式将子块映射到物理层块的一个优势在于在接收机处的播放行为将更具有可预测性,因为每个优先级群的段将包含在每个物理层块中。然而,每个物理层块中的各个段将典型地具有不同的大小,因为各个优先级等级将典型地包含不同的数据量。这可以由于在接收机处对数据进行拆包的处理更加复杂而在接收机处导致潜在的性能问题,并且由于不同的段大小而可能存在斯达混合(stat-muxing)问题。
另一个方法是尽可能均匀地在不同的物理层块上分布符号数据,因为该方法通常对信道损害提供最好的保护。图6显示了该方法的一个实施例的实例。图6显示了数据集合600,其被分解成各种物理层块601-604。图6中的块被表示成沿箭头609所指示的方向发送。例如,物理层块601在物理层块604之前发送(并且因此,在物理块604之前发送),并且在物理层块601中,节640在节610之前发送。如图6中所示,符号数据中的各种数据优先级被一起聚合到块605-608中。这些块650-608依次被映射到等量的物理层块601-604。为了清楚起见,将数据600的每个段仅显示为被放到物理层块601-604的其中一个中,即使每个段被放到每个物理层块的对应的节中。例如,块605被映射到610-613;块606被映射到620-623;块607被映射到630-633;块608被映射到640-643。图6中所示的映射导致一些子块被分割到多个群之间。例如,数据段B1-By 440-442中的数据可以包括在块606和607两者中。另外,给定的物理块可以不包含来自特定优先级的任何数据。例如,块601可以在610不包含任何FEC 510数据,而块604可以在块613不包含来自P1 420的任何数据。图6中所示的方法的一个优势在于由于物理层块的段具有相同的大小,所以接收机将需要更少的处理来对段进行拆包。这可能导致接收机性能改善。另外,统一的段大小使得斯达混合更容易。然而,由于对任意给定的物理层块中所将包含的确切的优先级可能得不到任何保证,所以在接收机处的播放行为将较不可预测。
映射数据时的一个关注是在第一物理层块中发送足够多源块的高优先级数据,以便允许接收机在接收到该高优先级数据之后尽快开始播放。在一些源块的高优先级数据应当在接收机接收到第一物理层块之后可用的情况下,实现该关注的一种方法是以对编码或未编码源块中的数据进行优先级化,使得高优先级数据的数量最多是要为源块发送的数据的总数的1/N,其中N是要为源块发送数据的物理层块的数量。通常,如果要求前J个优先级的数据必须在接收机接收到K个物理层块之后对于一些第一源块可用,那么如果前J个优先级中的数据所占的分数最多是K/N则这是可实现的。
优选分割策略的一个实例如下,不管是否应用了上述方法都可以使用该实例。假设所发送的源块数据将要在N个物理层块中发送,其中所发送的数据包括源块的源符号和根据要发送的源块所产生的FEC修复符号(如果有的话)。假设所发送的源块数据被划分成K个优先级,其中对于j=1、……、K,用优先级j来发送的部分是P_j。
如上所述,可以将用优先级j来发送的数据聚合到子块中,称其为子块j。然后,在最后一个物理层块中发送的那部分发送数据可以是P_1和1/N中的最大值,即,在最后一个物理层块N中发送最高优先级子块1中的全部数据以及有可能的一些剩余数据。令M_1为该最大值,并且令L_1=1-M_1是在最后一个物理层块N中发射了M_1部分数据之后还要在物理层块N-1、……、1中发送的剩余部分数据。然后,在物理层块N-1中发送的那部分发送数据可以是P_1+P_2-M_1和1/N-1中的最大值,即,在最后两个物理层块中发送全部最高优先级子块和次最高优先级子块以及有可能的一些剩余数据。这是假设在接收到两个物理层块之后要在接收机处播放前两个优先级的数据。
可以扩展该方法,以确定在每个物理层块中发送哪个发送数据。还可以将该方法扩展成这样一种情况,在该情况中接收机播放发送源块数据的接收机要求是不同的,例如,在接收到3个物理层块而不是2个物理层块之后才播放优先级2的发送数据。可以根据需要修改上述方法,以在同一物理信道上复用许多不同的流或流束,其中,使用每个物理层块中可用的空间量来确定要在每个块中发送每个流或流束的发送数据的每个优先级中的多少。
注意,上述优先级不必描述完整的次序,即,该优先级可以是部分排序,在该情况中,以哪个次序放置优先级化的数据会存在多种选择,并且,事实上在一些实施例中就优先级而言无法比较的优先级化的数据可以在发送次序中混在一起。
如上所述,可以使用本文所述的任意改进的发送和接收方法和过程来实现所提出的这些发送配置中的任意一个,例如,ESI,包括与每个符号一起发送的头部数据或者没有头部数据与每个符号一起发送等等。
源块的部分FEC编码
可以从整个源块产生FEC修复数据,并且如果从源块接收到的源符号加上从源块产生的修复符号足够多,则FEC修复数据可以提供恢复整个或绝大部分源块的能力。可以仅从部分源块产生FEC修复数据,例如,可以从源块的第一部分产生一组FEC修复数据,可以从源块的第二部分产生第二组FEC修复数据。作为一个实例,源块的第二部分可以包括源块的第一部分加上源块的一些附加部分。假设源块的源符号被划分成低优先级源子块和高优先级源子块。那么,可以从该高优先级源子块产生FEC修复符号的第一子块,并且从该低优先级源子块与该高优先级源子块的结合产生FEC修复符号的第二子块。然后,子块的发送次序可以是:FEC修复符号的第二子块、低优先级源子块、FEC修复符号的第一子块、高优先级源子块。在该情况中,如果接收机仅接收全部或部分高优先级源子块,那么其可以尝试立即将其播出,只要没有太多损坏。如果接收机接收到FEC修复符号的全部或部分第一子块和高优先级源子块,那么接收机可以尝试使用FEC修复符号的第一子块来恢复高优先级源子块,只要没有太多损坏。如果接收机接收到全部或部分低优先级源子块、FEC修复符号的第一子块和高优先级源子块,那么接收机可以尝试使用FEC修复符号的第一子块来恢复高优先级源子块的损坏的部分,然后向媒体播放器发送低优先级源子块的接收的部分和高优先级源子块的恢复的部分。如果接收机接收到全部4个子块的全部或一部分,那么接收机可以使用全部FEC修复符号来恢复全部源符号。
注意,上述方法用来分别在每个子块上提供FEC保护可以是更优选的,例如,更优选的可以是改为使得FEC修复符号的第二子块保护整个源块而不仅仅是低优先级源子块。例如,假设两个源子块中的每一个分别包括100个源符号,并且两个FEC修复子块中的每一个分别包括50个修复符号。使用上述方法,即使当高优先级源子块中有60个源符号丢失了并且低优先级源子块中有30个源符号丢失了,也可以允许恢复整个源块,然而,如果两个源子块是由两个FEC修复子块独立地保护的,那么高优先级子块的恢复是不可能的(丢失了源子块的60个源符号,仅有50个修复符号来保护子块)。例如,可以使用Reed-Solomon码来实现该FEC保护,其中实验表明当以上述方式使用Reed-Solomon码来保护重叠的子块时,Reed-Solomon码展现出近乎理想的恢复特性。
在横跨很长时间周期的保护导致偶尔超出整个数据接收时间周期的情况下,用这些方法来进行保护也是有用的。改为在较短的块上提供FEC保护,然后在包括该较短的块的较长块上提供FEC保护可以是更优选的。这样,如果该超出在相邻时间周期中没有造成过多丢失,那么横跨较短的块的FEC保护可以允许恢复那些短块,然而,横跨更长的块的附加的FEC保护允许在更长的时间周期上有更多丢失。
接收多个物理层块流
对于在物理层块的单个流上发送逻辑相连的流的流应用,整个物理信道可以包括多个这种物理层块流。例如,每个物理层块流可以有256Kbps或者1Mbps,然而,可以存在50个这种流,从而在该实例中整个可用物理信道可以是12.5到50Mbps。
典型地,由于各种不同的原因,包括功率问题和存储器问题,接收机一次可以接收其中一个物理层块流。然而,接收机接收多个物理层块流可以是有利的。例如,如果接收机接收全部该流,那么从一个流到另一个流的信道切换几乎可以立即发生,并且可以从最高优先级的开头播放接收机将要移动到的新流,因为在接收机将信道改变到该流之前,新流的全部数据早已到达了一段时间了。即使流是使用具有较长保护周期的FEC保护来保护的,或者如果该流是以高度压缩的方式来编码的视频,例如,当视频流中的更新帧(有时候被称为I帧,有时候被称为IDR帧(独立数据更新帧))由于它们的大小过大而不常发送时,这也是正确的。这典型地意味着在高度压缩的视频流中GOP(图像群)所跨越的时间可以相当大。例如,视频流的GOP时长可以是10秒钟,并且可以提供FEC保护以保护10秒钟的整个GOP。在该情况中,不使用其中一些上述方法,其中尽可能迅速地显示来自该流的高优先级数据,然后还显示越来越低的优先级数据以增强播放质量,如果接收机一次仅接收一个信道则信道切换时间可以高达10秒钟,然而如果接收机接收全部信道则信道切换时间可以几乎是瞬间的。
当考虑到接收机同时接收多个物理层分组流的技术方案时,可能有一些优化。例如,接收机仅需要对当前正在向例如用于播放的媒体播放器进行发送的流进行FEC解码,例如,执行纠错解码或者删除保护解码。可以存储其它流的数据,并且仅在接收机改变信道时对其它流的数据进行FEC解码,然后FEC解码可以非常迅速地发生在已为新信道所接收的数据上,以便几乎立即开始媒体播放。
作为另一种可能的优化,当接收机一次仅接收一个流时,可以存在冗余数据,该冗余数据包括在这样一种流中,其中如果当接收机首次加入该流时该接收机已经具有该流的之前的部分可用于播放则不需要该流。该冗余数据的实例可以是低质量视频IDR帧,低质量视频IDR帧非常常见地独自包括在视频流中以使得接收机可以加入流并且可以几乎立即播放一些流,即使以降低的质量来播放。如果接收机具有该流的之前的部分,包括高质量IDR帧和早先发送的全部后续帧,那么可以无需包括常有的低质量IDR帧。低质量IDR帧可能使用相当大量的可用带宽,例如,如果每个低质量IDR帧是3KB并且在256Kbps的流中每秒钟发送一次低质量IDR帧,则低质量IDR帧使用超过9%的可用带宽。如果接收机在信道改变到接收机所要改变到流之前就在接收该流的数据,则低质量IDR帧不是必需的。
侦听物理层块的多个流的一个缺点是比侦听单个流在接收机处使用更多功率。另外,与单个流相比,需要更多的存储器和其它资源来存储从多个流接收的数据。存在一些最小化这些缺点的方法。其中一个这种方法是以如下方式来在可用的流上全局地组织逻辑和/或数据,在该方式中接收机一次仅需要接收少量流以实现以上益处。
例如,如果存在用于预测接收机最有可能将信道改变到哪个流的逻辑,那么该逻辑可使得接收机在实际改变到这些可能信道之前就接收该信道。
作为另一个实例,可以组织物理层块流中的数据,使得存在一个物理层块流携带用于全部其它视频流的全部IDR帧,称其为IDR流,然后每个其它物理层块流携带其中一个视频流的、除了该视频流的IDR帧之外的全部数据。在该实例中,接收机可能正在接收当前正被媒体播放器播放的视频流的当前物理层块流,同时(总是或者在恰当的时候立即)接收IDR流。因此,接收机可以使得全部或者其中一些视频流的IDR帧变得可用,其中,接收机可以将其用于在以缩略图信道指南模式显示关于可获得的全部或者其中一些视频流的信息时进行播放,或者将其用于在接收机处做出信道改变时开始显示新视频流。可以始终接收IDR流,或者可以间歇性地接收IDR流,例如,仅从包含用于当前播放的视频流的IDR帧的IDR流接收物理层块。在所有情况中,如果希望就可以在每个物理层块流上提供FEC保护。这些方法的一个优势在于接收机在任意时间点上最多接收两个物理层块流并且仍然获得同时接收全部物理层块信道所具有的全部或大部分优势。
虽然针对示例性的实施例描述了本发明,但是本领域的熟练技术人员将认识到可以有大量修改。例如,可以使用硬件组件、软件组件和/或它们的组合来实现本文所述的过程。例如,本文所述的方法可以体现在包括用于指导计算机的处理器执行该方法的计算机可执行代码的计算机刻度介质上,例如,CD-ROM、DVD等等。因此,虽然针对示例性的实施例来描述本发明,但是应该明白本发明并非意图覆盖落入附属权利要求的范围内的全部修改和等效物。

Claims (19)

1.一种用于通过广播信道传递数据流的电子传递***,其中,所述广播信道是用于将信号从一个或多个源传送到多个接收机的信道,其中,每个接收机试图接收基本上相同的信号,所述电子传递***包括:
发送机***,其在物理层块的物理层分组中发送所述数据流的数据,其中,指示所发送的数据如何与所述数据流相关的指示至少部分地基于所述物理层块,
其中,将所发送的数据组织到数据的源块中的符号中,并且其中,所述指示包括符号与源块之间的关联,并且
其中,能够至少部分地根据所述物理层块的头部中的信息来导出所述指示。
2.如权利要求1所述的电子传递***,其中,指示所发送的数据如何与所述数据流相关的指示至少部分地基于所述物理层块中的头部中的信息,其中,所述发送机***配置所述物理层块的所述头部以包括所述指示。
3.如权利要求1所述的电子传递***,其中,指示所发送的数据如何与所述数据流相关的指示至少部分地基于所述物理层分组中的头部中的信息。
4.如权利要求1所述的电子传递***,其中,所述指示包括指示如何从源块产生符号的指示。
5.如权利要求4所述的电子传递***,其中,所述指示是编码符号标识符,其中,至少部分地在物理层块的头部中携带所述编码符号标识符。
6.如权利要求4所述的电子传递***,其中,所述指示是编码符号标识符,其中,在控制数据信道中携带所述编码符号标识符。
7.如权利要求4所述的电子传递***,其中,根据物理层块的头部来确定符号与源块之间的关联。
8.如权利要求4所述的电子传递***,其中,所发送的数据符号包括从源块产生的FEC修复数据。
9.如权利要求4所述的电子传递***,其中,在单个物理层块的流中发送多个逻辑数据流。
10.如权利要求4所述的电子传递***,其中,在多个物理层块的流上发送所发送的数据的符号。
11.如权利要求4所述的电子传递***,其中,至少部分地在携带所发送的数据的符号的物理层分组中携带指示所发送的数据的符号如何与所述数据流的流数据或对象数据相关的指示。
12.如权利要求4所述的电子传递***,其中,将为源块所发送的数据组织到具有不同优先级的不同子块中。
13.如权利要求12所述的电子传递***,其中,根据物理层块的头部来确定源块的子块结构的指示。
14.如权利要求12所述的电子传递***,其中,根据物理层块中所携带的物理层分组的头部来确定源块的子块结构的指示。
15.如权利要求12所述的电子传递***,其中,所发送的数据符号包括根据不同的子块以及子块的组合所产生的FEC修复数据。
16.如权利要求12所述的电子传递***,其中,使用具有优先级的子块来确定所述子块的发送次序。
17.如权利要求12所述的电子传递***,其中,使用具有优先级的子块将所述子块映射到所述物理层块。
18.如权利要求17所述的电子传递***,其中,映射到所述物理层块的具有优先级的子块是被分割到不同的物理层块之间的。
19.一种在用于通过广播信道传递数据流的电子传递***中从发送机向接收机发送数据的方法,其中,所述广播信道是用于从一个或多个源向多个接收机传送信号的信道,其中,每个接收机试图接收基本上相同的信号,所述方法包括:
在物理层块的物理层分组中从所述发送机发送所述数据流的数据,其中,指示所发送的数据如何与所述数据流相关的指示至少部分地基于所述物理层块,
其中,将所发送的数据组织到数据的源块中的符号中,并且其中,所述指示包括符号与源块之间的关联,并且
其中,能够至少部分地根据所述物理层块的头部中的信息来导出所述指示。
CN200980116202.XA 2008-05-07 2009-05-07 广播信道上的快速信道切换和高质量流保护 Expired - Fee Related CN102017617B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5132508P 2008-05-07 2008-05-07
US61/051,325 2008-05-07
PCT/US2009/043184 WO2009137705A2 (en) 2008-05-07 2009-05-07 Fast channel zapping and high quality streaming protection over a broadcast channel

Publications (2)

Publication Number Publication Date
CN102017617A CN102017617A (zh) 2011-04-13
CN102017617B true CN102017617B (zh) 2014-08-13

Family

ID=41265414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980116202.XA Expired - Fee Related CN102017617B (zh) 2008-05-07 2009-05-07 广播信道上的快速信道切换和高质量流保护

Country Status (14)

Country Link
US (1) US20100017686A1 (zh)
EP (1) EP2286585A4 (zh)
JP (2) JP5847577B2 (zh)
KR (1) KR101367886B1 (zh)
CN (1) CN102017617B (zh)
AU (1) AU2009244223B2 (zh)
BR (1) BRPI0912524A2 (zh)
CA (1) CA2723386A1 (zh)
IL (1) IL208689A0 (zh)
MX (1) MX2010012117A (zh)
RU (1) RU2010150108A (zh)
TW (1) TW201014366A (zh)
UA (1) UA95881C2 (zh)
WO (1) WO2009137705A2 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2348640B1 (en) 2002-10-05 2020-07-15 QUALCOMM Incorporated Systematic encoding of chain reaction codes
EP1646173A1 (en) * 2003-07-15 2006-04-12 Sony Corporation Radio communication system, radio communication device, radio communication method, and computer program
US7418651B2 (en) 2004-05-07 2008-08-26 Digital Fountain, Inc. File download and streaming system
JP5550834B2 (ja) 2006-02-13 2014-07-16 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
AU2008298602A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9136981B2 (en) * 2010-03-03 2015-09-15 Qualcomm Incorporated Block aggregation of objects in a communication system
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US8438420B1 (en) 2010-06-30 2013-05-07 Emc Corporation Post access data preservation
US9235585B1 (en) 2010-06-30 2016-01-12 Emc Corporation Dynamic prioritized recovery
US9697086B2 (en) 2010-06-30 2017-07-04 EMC IP Holding Company LLC Data access during data recovery
US9367561B1 (en) 2010-06-30 2016-06-14 Emc Corporation Prioritized backup segmenting
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US20120208580A1 (en) * 2011-02-11 2012-08-16 Qualcomm Incorporated Forward error correction scheduling for an improved radio link protocol
US8958375B2 (en) * 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
KR20120137198A (ko) * 2011-06-11 2012-12-20 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
US10498359B2 (en) 2011-07-14 2019-12-03 Microsoft Technology Licensing, Llc Correction data
GB2492830B (en) 2011-07-14 2018-06-27 Skype Correction data
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
JP5860673B2 (ja) 2011-11-07 2016-02-16 日東電工株式会社 粘着剤組成物、粘着剤層、粘着剤層付偏光板および画像形成装置
KR102028948B1 (ko) * 2011-11-08 2019-10-17 삼성전자주식회사 멀티미디어 통신 시스템에서 어플리케이션 계층-순방향 오류 정정 패킷 송/수신 장치 및 방법
KR101656969B1 (ko) 2011-11-21 2016-09-12 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 계층 인식 순방향 에러 정정을 위한 인터리빙
JP5875106B2 (ja) 2011-11-24 2016-03-02 日東電工株式会社 粘着剤組成物、粘着剤層、粘着剤層付偏光板および画像形成装置
CN108600786A (zh) * 2011-11-30 2018-09-28 三星电子株式会社 用于发送/接收广播数据的装置和方法
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
JP5425258B2 (ja) * 2012-04-16 2014-02-26 日東電工株式会社 粘着剤組成物、粘着剤層、粘着剤層付偏光フィルムおよび画像形成装置
KR101961736B1 (ko) 2012-04-23 2019-03-25 삼성전자 주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
KR101757994B1 (ko) * 2012-07-10 2017-07-13 브이아이디 스케일, 인크. 품질 주도형 스트리밍
KR101812218B1 (ko) 2013-01-18 2018-01-30 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 데이터스트림들 중에서 동기화된 시작 심벌 식별자들을 갖는 적어도 두 개의 데이터스트림으로부터의 심벌들을 갖는 소스 블록들을 사용하는 순방향 오류 정정
CA2911498C (en) 2013-05-22 2018-05-01 Woosuk Kwon Method and apparatus for processing signaling data between layers in ip-based digital broadcasting system
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9578074B2 (en) 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9596280B2 (en) 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
KR102208814B1 (ko) * 2014-03-28 2021-01-28 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US9455750B2 (en) 2014-07-28 2016-09-27 Qualcomm Incorporated Source block size selection
RU2666326C2 (ru) * 2014-07-29 2018-09-06 Хуавей Текнолоджиз Ко., Лтд. Устройство и способ шифрования и передачи данных
US20160323063A1 (en) * 2015-05-01 2016-11-03 Qualcomm Incorporated Bundled Forward Error Correction (FEC) for Multiple Sequenced Flows
CN115567755A (zh) 2017-06-02 2023-01-03 Vid拓展公司 下一代网络上的360度视频递送
KR101870750B1 (ko) * 2017-12-28 2018-06-26 오픈스택 주식회사 패킷 전송 순서 재배열을 이용한 영상 인코딩 장치 및 그 동작 방법
US11863317B2 (en) * 2021-08-25 2024-01-02 BitRipple, Inc. Methods for reliable low latency data delivery using erasure codes and feedback

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005020499A1 (en) * 2003-08-20 2005-03-03 Siemens Aktiengesellschaft Method for multislot transmission
CN1791260A (zh) * 2004-12-13 2006-06-21 上海贝尔阿尔卡特股份有限公司 传输多媒体广播/多播业务告知指示的方法和设备
WO2006135221A1 (en) * 2005-06-17 2006-12-21 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving broadcast data in a mobile communication system
CN1930823A (zh) * 2004-03-29 2007-03-14 英特尔公司 具有至少一个或多个可配置的无线电的存取点
CN1951038A (zh) * 2004-05-07 2007-04-18 三星电子株式会社 用于在无线通信***中发送和接收广播服务数据的方法和***
CN101072227A (zh) * 2006-05-11 2007-11-14 华为技术有限公司 一种视频广播***中的发送***、方法和接收***

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
KR100607934B1 (ko) * 1999-08-27 2006-08-03 삼성전자주식회사 광대역 무선 통신에서의 링크 계층의 오류 제어방법 및 이를위한 기록 매체
US6633564B1 (en) * 1999-09-22 2003-10-14 Nortel Networks Limited Method and apparatus for inserting packets into a data stream
US6845105B1 (en) * 2000-09-28 2005-01-18 Telefonaktiebolaget Lm Ericsson Method and apparatus for maintaining sequence numbering in header compressed packets
US7136395B2 (en) * 2000-11-30 2006-11-14 Telefonaktiebolaget L M Ericsson (Publ) Method and system for transmission of headerless data packets over a wireless link
US7289497B2 (en) * 2001-07-03 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Implicit packet type identification
KR100602633B1 (ko) * 2003-11-08 2006-07-19 삼성전자주식회사 패킷의 헤더를 압축하는 방법 및 그 장치
US7418651B2 (en) * 2004-05-07 2008-08-26 Digital Fountain, Inc. File download and streaming system
ATE484157T1 (de) * 2004-05-13 2010-10-15 Qualcomm Inc Synchronisierung von audio und video daten in einem drahtlosen nachrichtenübertragungssystem
WO2006038054A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Packet transmission using error correction of data packets
US7751324B2 (en) * 2004-11-19 2010-07-06 Nokia Corporation Packet stream arrangement in multimedia transmission
EP1884055A4 (en) * 2005-05-19 2011-12-28 Nokia Corp SYSTEM AND METHOD FOR PROVIDING UNREAL ERROR PROTECTION FOR PRIORITY TRADEMARK DATAGRAMS IN A DVB-H TRANSMISSION SYSTEM
CN1917411B (zh) * 2005-08-16 2012-03-07 中兴通讯股份有限公司 一种实现多载波高速下行分组接入的***和方法
US7676733B2 (en) * 2006-01-04 2010-03-09 Intel Corporation Techniques to perform forward error correction for an electrical backplane
EP1969857B1 (en) * 2006-01-05 2012-03-28 Telefonaktiebolaget LM Ericsson (publ) Media container file management
US8065582B2 (en) * 2006-02-13 2011-11-22 Digital Fountain, Inc. FEC streaming with aggregation of concurrent streams for FEC computation
AU2008298602A1 (en) * 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US20090094356A1 (en) * 2007-10-09 2009-04-09 Nokia Corporation Associating Physical Layer Pipes and Services Through a Program Map Table

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005020499A1 (en) * 2003-08-20 2005-03-03 Siemens Aktiengesellschaft Method for multislot transmission
CN1930823A (zh) * 2004-03-29 2007-03-14 英特尔公司 具有至少一个或多个可配置的无线电的存取点
CN1951038A (zh) * 2004-05-07 2007-04-18 三星电子株式会社 用于在无线通信***中发送和接收广播服务数据的方法和***
CN1791260A (zh) * 2004-12-13 2006-06-21 上海贝尔阿尔卡特股份有限公司 传输多媒体广播/多播业务告知指示的方法和设备
WO2006135221A1 (en) * 2005-06-17 2006-12-21 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving broadcast data in a mobile communication system
CN101072227A (zh) * 2006-05-11 2007-11-14 华为技术有限公司 一种视频广播***中的发送***、方法和接收***

Also Published As

Publication number Publication date
WO2009137705A3 (en) 2010-02-11
TW201014366A (en) 2010-04-01
US20100017686A1 (en) 2010-01-21
EP2286585A2 (en) 2011-02-23
KR101367886B1 (ko) 2014-02-26
RU2010150108A (ru) 2012-06-20
BRPI0912524A2 (pt) 2015-10-13
CN102017617A (zh) 2011-04-13
JP2011523806A (ja) 2011-08-18
EP2286585A4 (en) 2015-06-17
MX2010012117A (es) 2010-12-01
AU2009244223B2 (en) 2013-02-14
CA2723386A1 (en) 2009-11-12
JP5847577B2 (ja) 2016-01-27
WO2009137705A2 (en) 2009-11-12
AU2009244223A1 (en) 2009-11-12
IL208689A0 (en) 2010-12-30
JP2015222954A (ja) 2015-12-10
UA95881C2 (ru) 2011-09-12
KR20110015615A (ko) 2011-02-16

Similar Documents

Publication Publication Date Title
CN102017617B (zh) 广播信道上的快速信道切换和高质量流保护
JP5442816B2 (ja) 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
CN100592670C (zh) 一种在iptv网络中动态自适应前向差错控制的***及方法
US9350488B2 (en) Content delivery system with allocation of source data and repair data among HTTP servers
US7751324B2 (en) Packet stream arrangement in multimedia transmission
US8990663B2 (en) Method to support forward error correction for real-time audio and video data over internet protocol networks
CN101675594B (zh) 动态流交织和基于子流的递送
US9237101B2 (en) Generating and communicating source identification information to enable reliable communications
CN101272495A (zh) 用于传输基于分组的图像帧的方法和装置
US20100263007A1 (en) Method and Apparatus for Increasing Quality of IPTV Transmission
EP2774347A2 (en) Content delivery system with allocation of source data and repair data among http servers
US10469202B2 (en) Fec mechanism based on media content
WO2010124651A1 (zh) 前向纠错方法、装置和***
JP2005012753A (ja) パケット中継装置及びその方法と、パケット受信装置及びその方法と、パケット中継プログラム及びそのプログラムを記録した記録媒体と、パケット受信プログラム及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1156770

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180413

Address after: American California

Patentee after: Qualcomm Inc.

Address before: American California

Patentee before: Digital Fountain Inc.

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1156770

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140813

Termination date: 20190507