假想fec解码器和用于解码控制的信令的制作方法

文档序号:7537390阅读:209来源:国知局
专利名称:假想fec解码器和用于解码控制的信令的制作方法
技术领域
本发明总地涉及媒体服务,并且具体地涉及这样的发射机,其将流媒体和解码信号传送到接收机以用于解码处理。
背景技术
假设有一种产生媒体分组流的媒体服务器。分组流已经将一些严格的相对定时与每个分组相关联。在将重建的分组流转发到接收机处的媒体客户端之前,需要在接收机处重建这种精确的相对定时。例如,可能需要维持恒定的比特率。可以连同所述分组流一起发送由FEC解码器生成的一些奇偶校验数据。当应用 FEC时,编码器存储一定量的分组以生成修复数据。针对其而生成修复数据的数据集合被称为源块(source block)。要被存储以生成源块的数据量和存储的持续时间可以是灵活的。此外,在媒体分组被转发到复用器之前,来自一个源块的媒体分组可以与来自其他源块的分组进行交织,所述复用器将数据和FEC数据进行复用,然后在信道上发射它们, 这可能会丢失一些分组。此外,可以通过FEC编码处理来改变数据分组的传输顺序。假设每个分组具有足够的信息来标识类型、源块号以及在源块中的位置。其中可以应用这些过程的一些实例如下-具有应用层FEC的MBMS流传送[3GPPTS^. 346],其中,可以在单个源块中插入灵活数量的UDP有效载荷(payload)-IPTV 中的应用层 FEC,例如在 DVB-IPTV[ETSI TS102 034 vl. 3. 1]附件 E 中-DVB-SH 中的 MPE-IFEC,与如文献 DVB TM-·中所规定的 Reed-Solomon 码或 Raptor码一同使用-如草案ETSIEN XXXXXX中规定的DVB-RCS中的链路层FEC-MediaFlo, TIA-1099,与......一同使用-其他在接收机处,FEC解码器收集从特定源块接收到的源和修复数据,并使用该信息来重建源块中的源分组。对于利用生成的FEC修复分组来恢复丢失分组的解码器来说,该解码器存储接收到的数据分组和修复分组。只有解码器已经等待了足够长时间,使得与一个源块相关联的可能的所有数据分组和所有修复分组都已经被接收到,该解码器才能确保已经最充分地利用了所传送的信息。此外,FEC解码器应该保证它会重建源数据的相对定时。为了确保重建发生,利用这些信息的解码器需要-必须在解码器中对某源块的分组进行缓冲的最大时间-确保可以存储所有接收到的源和修复数据的足够的存储空间。发射机用信号向解码器通知下面这两个值,或者解码器被用这两个值预先配置-初女台缓冲延迟 min-buffer-time-最大缓冲大小 max-buffer-size现在,FEC解码器在获取流后进行如下动作在接收到第一个数据分组的情况下, 它将该数据分组存储在FEC解码器中并持续精确的min-buffer-time,并考虑针对该源块接收到的所有数据来尝试恢复该源块中的源分组。无论解码是否成功,FEC解码器都在 min-buffer-time之后释放所接收到的第一个数据分组,然后在将进一步的数据分组释放到媒体客户端的过程中维持严格定时。通过这样的处理,FEC解码器保证-它可以对所有未来的分组实现严格定时-它的max-buffer-size足够用来处理接收到的所有数据分组。因此,发送方的任务是,确保它的操作、FEC编码、延迟、交织以及复用能使得解码器通过执行上述动作可以实现所述任务。上述解码器动作被称为“假想(hypothetical) FEC解码器”,并且发射机确保所发射的源+FEC流可以被假想FEC解码器以参数(min-buffer-time、max-buffer-size)进行处理,并确保输出流可以具有与原始媒体流同样严格的相对定时,并且未曾丢失分组。

发明内容
一种通信系统,其中,发射机将使用FEC编码的媒体流发射到接收机,所述通信系统包括在所述发射机处的至少一个假想FEC解码器,所述假想FEC解码器用于对在所述发射机处编码的所述媒体流进行解码。所述发射机在考虑到所述至少一个假想FEC解码器的输出的情况下确定提供给所述接收机的优化信号,并向所述接收机用信号通知这些优化信号。所述优化信号可以包括媒体消费减慢(slowdown)信号、对可变缓冲参数的指示和/或对FEC与源数据排序的指示。以下详细描述将与附图一同提供对本发明的特性和优点的更好理解。


图1是示出常规通信系统的方框图。图2是示出使用假想解码器的常规通信系统的方框图。图3是示出通信系统的方框图,在该系统中,发射机使用多个假想解码器来确定解码优化信号以将它们提供给解码器。图4是示出DVB-H解码的方框图。
4
图5是示出DVB-SH解码的方框图。
具体实施例方式本文描述了改善的通信系统。在该系统中,发射机使用假想解码器来估计解码器的性能,并由此确定解码器优化参数,然后所述优化参数与媒体流一同被传送到解码器,并被解码器用来对媒体流进行解码并播放该媒体流。在常规的“假想FEC解码器”系统中,使用前向纠错并且在发射机处对数据流进行编码,数据流通过假想FEC解码器,从而发射机将知道如何进行解码,例如,是否可以在最小缓冲时间(min-buffer-time)和最大缓冲大小(max-buffer-size)的条件下对特定流成功解码。在3GPP TS26. 346,条款8. 2. 2. 11中规定了这种假想FEC解码器的一个实例。在操作中,一旦接收机接入新的流(例如,开始监听新的信道等)并开始使用它的FEC解码器来处理该流,在接收到第一个源分组之后,在允许消费该媒体流(例如, 通过将该流转发至耦合到接收机或接收机的部分的媒体客户端,来进行回放)之前,接收机需要至少等待min-buffer-time。因此,由于媒体流也需要媒体解码器来进行处理,所以直到将诸如视频帧或音频采样这样的第一媒体呈现给用户所经过的时间至少为 min-buffer-time。这对用户感受有负面影响,并且在许多情况中可能认为这是不可接受的,在min-buffer-time被制定得较大以给出良好多集的系统中尤其如此。解码器可以决定对该第一个分组进行缓冲并持续短于min-buffer-time,在这种情况下,可以减小信道切换延时,但是解码器可能完全不知道该决定对于未来流畅显示的后果。可能的情况是,解码器不能利用所传送的FEC分组,或者源分组不能被及时从FEC解码器释放以确保严格定时。下面描述了几种用于提升性能的方案。这些方案中的一些可能处于上面的信令框架(signaling framework)中,但是还需要编码器或解码器处的动作。而其他方案添加了新的信令,充分定义了解码器需要的动作。一些方面还解决了接收机的共存,其中,被称为遗留接收机的一些接收机遵从上面关于初始缓冲的规定,而其他接收机可以通过使用与该流一同提供的、而被遗留接收机忽略的一些附加元数据,以不同方式来处理接收到的源+FEC 流。给出的编码器/解码器可以使用这些方案中的一种,或者组合这些方案。方案1 较短的初始缓冲和播出(Dlayout)的减慢解码器可以决定应用一些动作来较早地(例如提早earlier-decoding-time)释放第一媒体分组,然后应用某些手段使其可以在某段时间后达到min-buffer-time。可能的情况是,最初在一个源块中并不是所有数据都可以用于恢复。然而,例如通过将媒体有效载荷减低某个百分比,可以确保在某段时间后,通过该减慢处理获得剩余时间min-buffer-t ime-earlier-decoding-time,并且在这一时刻之后,可以进行正常播出和继续并获得对应于源块的所有数据。然而,编码器可能并不希望解码器对某些内容采取这些动作。例如,对于诸如音乐这样的特定媒体内容来说,减慢处理可能有不可接受的感受,并且发射机可以阻止解码器进行该处理,或者它可以指定最大减慢百分比。为此,发射机可以在设置中添加一些附加的元数据,其指定了 -在使用减慢处理的情况下的最小初始缓冲延迟,min-buffer-time-s1 owdown
-内容的最大减慢,max-slowdown-percentage可能仅使用这两个值中的一个。然后,支持提早播出和减慢处理的接收机至少等待min-buffer-time-slowdown (如果指定了的话),并且至多可以将媒体播出减慢 max—slowdown-percentage。方案2:用于各随机接入点(random access point)的不同的最小缓冲时间一般来说,开始播出流的媒体解码器需要流中的随机接入点。随机接入点可以包括H. 264/AVC中的瞬时解码器刷新点Qnstantaneous Decoder Refresh point),以及开始对该流进行解码所需的其他信息。针对所有随机接入点(RAP)的最小缓冲时间可以短于在设置中为所有分组所指定的通用min-buffer-time。因此,在接入任意随机接入点的情况中,可以添加附加信令,其指定最小缓冲时间 min-buffer-time-rap0可以将其添加到信令中,并且理解消息的接收机可以使用该缓冲时间min-buffer-time-rap来替代min-buffer-time。在任何情况中,编码器必须保证所传送的源+FEC流满足这种特性。在进一步的方法中,min-buffer-time可能不是适用于RAP接入点的通用值,但是可以在指定的min-buffer-time-rap-x中用每个RAP发送元数据,从而对于RAP来说,初始缓冲时间可以更短。这两种方法都可以通过数据的发送方侧的重排序来支持,例如,源数据在发送方中被延迟,而FEC数据在属于该源块的源数据之前被发送出去,或者与其交织。77 3 用于不同初始质量的不同的Jl小缓7中时丨、曰 此外,可以以这样的方式发送源数据,S卩,非常迟地发送最重要的数据,而较早地发送该源块中比较不重要的数据。在这种情况中,可以指定几个min-buffer-time值,每个值针对切换之后不同的质量。因此,在解码器处可以用不同方式处理单个源+FEC流、乃至每个随机接入点,并且切换之后的初始缓冲时间和初始质量可以由接收机决定。例如,发射机可以同时用信号通知-min-buffer-time-low-quality,其指示低切换质量,例如,在这种情况中有时仅播放音频,而有时呈现低质量的帧。-min-buffer-time-medium-quality,其指示一些中等质量,例如,初始时某种降低的播出帧率。-min-buffer-time-no-fec,其指示在最初并不需要FEC的情况下(例如,因为已经在源数据之前发送了 FEC)的初始缓冲时间。-min-buffer-time,如上面所指示的遗留时间。接收机可以根据一些用户偏好、接收条件或其他接收机内部信息,来选择适当的值。这些值可以仍是针对整个流的通用值,或者可以是用于每个随机接入点的特定值。在任何情况中,编码器应该保证流符合所指示的值。舰上述技术可以用于DVB-H或DVB-SH,以提供无抖动的回放。在遗留接收机的情况下,发射机应该仅确保时间分片的基本流使得最大MDB缓冲大小不会被超出。然而,在接收机可以理解用信号通知的min-buffer-time的情况中,min-buffer-time可以用来优化体验。发射机用信号通知甚至在一个流上也可能时常变化的max-buffer-size、和也可以变化的min-buffer-time。这些优化信号可以是从假想FEC解码器确定的,每个假想FEC解码器可以使用不同优化进行操作,从而接收机处的解码器可以被提前告知特定优化选择的可能影响。实际上,发射机可以对接收机说“如果你使用优化技术A来对我发你的流进行解码,那么如果你提供了大小为S的缓冲并延迟了缓冲时间T再进行消费,则你应该状况良好”,并且,因为发射机已经针对一种或更多种技术使用了它的假想FEC解码器,所以发射机将知道S和T的值。该信息可以在会话描述协议(SDP)块中被传送到接收机。常规SDP的一个实例为
V=0
O=ghost 2890844526 2890842807 IN IP6 2001:210:1:2240:96FF:FE25:8EC9
S=3GPP MBMS Streaming FEC SDP Example
i=Example of MBMS streaming SDP file
U=http://www. infoserver. example. com/ae600
e=ghost@mai1server, example, com
C=IN IP6 FFlE:03AD::7F2E:172A:1E24
t=3034423619 3042462419
b=AS: 15
a=FEC-declaration:0 encoding-id = 1
a=FEC-0TI-extension:0 ACAEAA ==
a=mbms_repair:0 min-buffer-time = 2600
a=source-filter:incl IN IP6*2001:210:1:2:240:96FF:FE25:8EC9
m=application 4006 UDP/MBMS-REPAIR *
b=AS: 15
a=FEC :0
a=mbms-flowid:l = FFlE:03AD::7F2E:172A:1E24/4002,
2=FF1E:03AD: :7F2E:172A:lE24/4003,3 = FF1E:03AD: :7F2E:172A:1E24/4004,
4=FFlE:03AD::7F2E:172A:1E24/4005,5 = FFlE:03AD::7F2E:172A:1E24/,2269
用于处理解码器优化信令的SDP可以表现为
方案1的SDP实例媒体播出的减慢
V=0
O=ghost 2890844526 2890842807 IN IP6 2001:210:1:2240:96FF:FE25:8EC9
S=3GPP MBMS Streaming FEC SDP Example
i=Example of MBMS streaming SDP file
U=http://www. infoserver. example. com/ae600
e=ghost@mai1server, example, com
C=IN IP6 FFlE:03AD::7F2E:172A:1E24
t=3034423619 3042462419
b = AS: 15a = FEC-declaration 0 encoding-id = 1a = FEC-0TI-extension:0 ACAEAA ==a = mbms-repair:0 min-buffer-time = 2600a = mbms-repair : 0 min-buffer-time-slowdown = 13 0 0 max-slowdown-percentage = 10
0104]a=source-filter:incl IN IP6^20012101224096FFFE258EC90105]m=application 4006 UDP/MBMS-REPAIR *0106]b=AS: 150107]a=FEC :00108]a=mbms-flowid:l = FFlE03AD7F2E172A1E24/4002,0109]2=FFlE03AD7F2E172A1E24/4003,3 = FFlE03AD7F2E172A:1E24/4004,0110]4=FFlE03AD7F2E172A1E24/4005,5 = FF1E:03AD::7F2E172A:1E24/々2690111]方案2的SDP实例用于所有随机接入点减小的缓冲时间0112]V=00113]O=ghost 2890844526 2890842807 IN IP6 2001:210:1:2:240:96FF:FE25:8EC90114]S=3GPP MBMS Streaming FEC SDP Example0115]i=Example of MBMS streaming SDP file0116]U=http://www. infoserver. example. com/ae6000117]e=ghost@mai1server, example, com0118]C=IN IP6FF1E:03AD::7F2E:172A:1E240119]t=3034423619 30424624190120]b=AS: 150121]a=FEC-declaration:0 encoding-id = 10122]a=FEC-0TI-extension:0 ACAEAA ==0123]a=mbms-repair:0 min-buffer-time = 26000124]a=mbms-repair:0 min-buffer-time—rap = 20000125]a=source-filter:incl IN IP6^2001:210:1:2:240:96FF:FE25:8EC90126]m=application 4006UDP/MBMS-REPAIR *0127]b=AS: 150128]a=FEC :00129]a=mbms-flowid:l = FFlE:03AD::7F2E:172A:1E24/4002,0130]2=FFlE:03AD::7F2E:172A:1E24/4003,3 = FFlE:03AD::7F2E:172A:1E24/4004,0131]4=FFlE:03AD::7F2E:172A:1E24/4005,5 = FF1E:03AD::7F2E172A:1E24/々2690132]方案3的SDP实例用于相反发送顺序的缓冲时间0133]V=00134]O=ghost 2890844526 2890842807 IN IP6 2001:210:1:2:240:96FF:FE25:8EC90135]S=3GPP MBMS Streaming FEC SDP Example0136]i=Example of MBMS streaming SDP file0137]U=http://www. infoserver. example. com/ae6000138]e=ghost@mai1server, example, com0139]C=IN IP6 FFlE:03AD::7F2E:172A:1E240140]t=3034423619 30424624190141]b=AS: 150142]a=FEC-declaration:0 encoding-id = 10143]a=FEC-0TI-extension:0 ACAEAA ==0144]a=mbms_repair:0 min-buffer-time = 40000145]a=mbms_repair:0 min-buffer-time-low-quality = 10000146]a=mbms_repair:0 min-buffer-time-medium-quality = 20000147]a=mbms_repair:0 min-buffer-time—no-fec = 30000148]a=source-filter:incl IN IP6^2001:210:1:2:240:96FF:FE25:8EC90149]m=application 4006 UDP/MBMS-REPAIR *0150]b=AS: 150151]a=FEC :00152]a=mbms-flowid:l = FFlE:03AD::7F2E:172A:1E24/4002,0153]2=FF1E:03AD: :7F2E:172A:lE24/4003,3 = FF1E:03AD: :7F2E:172A:1E24/,4004,0154]4=FFlE:03AD::7F2E:172A:1E24/4005,5 = FFlE:03AD::7F2E:172A:1E24/22690155]注意,因为将忽略不理解的SDP属性,所以所有这三种方案都支持向后兼容.可能
的情况时,使用假想FEC解码器或者以其他方式来生成这些用信号通知的优化参数。在一些实施例中,在源数据之前发送FEC数据,这可以缩短最小缓冲时间,尽管 FEC并不是一切换之后马上可用。如果发射机用信号通知允许提早播出,则某个更短的缓冲时间(例如, min-buffer-time-no-FEC < min-buffer-time)可以用来使得切换之后能够更快显示。 min-buffer-time-no-FEC的值可以被用信号通知给接收机,或者可以是特定于接收机实现的。为了利用完整的FEC能力,接收机应该获得一些缓冲时间,即min-buffer-time-min-buffer-time-no-FEC time,并且合理的方式将逐渐增加数据分组的缓冲时间,直到达至Ij min-buffer-time。在不延迟消费的情况下获得缓冲时间的一种方式是将播出速度降低某个因子,并将剩余时间用于数据。例如,有一种可以适用于slow-down-time的减慢因子,其中s low-down-time = (m in-buffer-time-m in-buffer-time-no-fee)/ (1-slowdown-factor)这些因子可以包括在SDP中,从而,可以添加一种、两种或所有三种优化信号来改善信道切换,而不必改变仅理解常规处理的遗留接收机的程序。在一些变化中,并不存在向后兼容性。方案1允许较早地开始解码,然后应用诸如媒体播出减慢这样的动作,以最终实现解码。提供信令来直接允许该方案,或者以兼容于遗留方案或使用常规媒体播出减慢的方式来允许该方案。
9
方案2提出一种方案,即如果特定点需要比流中其他点更短的初始缓冲,则在该流中添加用于特定点的附加信令。如果该流是随机接入点,则可以缩短信道切换时间。可以针对所有特定点一次完成该信令,或者甚至可以针对每个点单独完成该信令(这可以更进一步缩短初始缓冲)。假如交换发送顺序,以便先进接收机可以受益于较短的初始缓冲,则方案3用信号通知缓冲要求。在阅读本公开内容之后,本领域技术人员可以想见进一步的实施例。在其他实施例中,可以有益地对上面公开的发明做出组合或子组合。出于说明的目的,示出了组件的示例性配置,并且应该理解,在本发明的可替换实施例中可以设想出组合、添加、重配置等。因此,尽管参照示例性实施例描述了本发明,但是本领域技术人员将认识到多种修改都是可能的。例如,可以使用硬件组件、软件组件和/或其任意组合实现本文描述的处理。因此,说明书和附图应该视为说明性的而不是限制性的。然而,将显而易见的是,在不偏离如权利要求书中所阐述的本发明的广泛精神和范围的情况下,可以对本发明做出各种修改和改变,并且本发明是要覆盖落入所附权利要求书的范围内的所有修改和等同物。
权利要求
1.一种通信系统,其中,发射机将使用FEC编码的媒体流发射到接收机,所述通信系统包括在所述发射机处的至少一个假想FEC解码器,用于对在所述发射机处编码的所述媒体流进行解码;所述发射机处的、用于在考虑到所述至少一个假想FEC解码器的输出的情况下确定提供给所述接收机的优化信号的逻辑;以及在所述发射机处的、用于向所述接收机用信号通知所述优化信号的逻辑。
2.如权利要求1所述的通信系统,其中,所述优化信号包括媒体消费的减慢。
3.如权利要求1所述的通信系统,其中,所述优化信号包括对可变缓冲参数的指示。
4.如权利要求1所述的通信系统,其中,所述优化信号包括对FEC和源数据排序的指
全文摘要
一种通信系统,其中,发射机将使用FEC编码的媒体流发射到接收机,所述通信系统包括在所述发射机处的至少一个假想FEC解码器,所述假想FEC解码器用于对在所述发射机处编码的所述媒体流进行解码。所述发射机在考虑到所述至少一个假想FEC解码器的输出的情况下确定提供给所述接收机的优化信号,并向所述接收机用信号通知这些优化信号。所述优化信号可以包括媒体消费减慢信号、对可变缓冲参数的指示和/或对FEC与源数据排序的指示。
文档编号H03M13/27GK102217221SQ200980121141
公开日2011年10月12日 申请日期2009年6月12日 优先权日2008年6月12日
发明者M·G·卢比, T·施托克哈默 申请人:数字源泉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1