CN101861709B - 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置 - Google Patents

用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置 Download PDF

Info

Publication number
CN101861709B
CN101861709B CN200780101553.4A CN200780101553A CN101861709B CN 101861709 B CN101861709 B CN 101861709B CN 200780101553 A CN200780101553 A CN 200780101553A CN 101861709 B CN101861709 B CN 101861709B
Authority
CN
China
Prior art keywords
error correction
correction coding
content
multicast
layer
Prior art date
Application number
CN200780101553.4A
Other languages
English (en)
Other versions
CN101861709A (zh
Inventor
吴明全
刘航
Original Assignee
汤姆森特许公司
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 汤姆森特许公司 filed Critical 汤姆森特许公司
Priority to PCT/US2007/022453 priority Critical patent/WO2009054822A1/en
Publication of CN101861709A publication Critical patent/CN101861709A/zh
Application granted granted Critical
Publication of CN101861709B publication Critical patent/CN101861709B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1812Hybrid protocols
    • H04L1/1819Hybrid protocols with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Abstract

描述了一种用于增加多播可靠性的方法和装置,包括:从第一多播组接收内容和多个前向纠错编码分组的第一层;以及加入附加的多播组,以便接收前向纠错编码分组的附加层之一以及所述内容、连同所述多个前向纠错编码分组的另一附加层。

Description

用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置

技术领域

[0001] 本发明涉及无线通信网络,更具体地涉及通过应用前向纠错和自动重复请求的组合来增加多播应用的可靠性。

背景技术

[0002] 如在这里所使用的,“内容”用于包括音频、视频、以及包括任何多媒体数据的任何其它形式的数据。术语视频和内容在这里可互换地使用。如这里所使用的,“/”表示用于相同或者相似组件或者结构的可供选择的名称。也就是说,这里所使用的“/”可被当作“或”的含义。

[0003] 无线局域网(WLAN)由于其灵活性和低成本已在家庭、酒店、校园、以及诸如机场和火车站之类的其它热点被广泛使用。尽管在大多数情况下用户连接到WLAN以浏览网站或者检查电子邮件,但是对于WLAN支持实时多媒体流传输存在正在增长的需要。然而,无线信道可能经受多径衰落以及干扰,其可能导致随机和突发分组丢失并且影响流传输应用的内容回放质量。为了提高可靠性,可以使用诸如前向纠错(FEC)和/或自动重复请求(ARQ)之类的纠错方案。在FEC中,与原始/源媒体分组/数据一起发送奇偶分组。然而,由于每个移动设备可能经历不同的信道状况,因此难以判断要发送多少FEC。较低的FEC可能导致较差的保护,并且丢失的分组/数据可能不能够被恢复。较高的FEC可能导致更多的开销并且浪费网络带宽。本发明描述了一种自适应方法,其给予客户端/移动设备适当的保护,同时有效地使用带宽资源。

[0004] 使用ARQ用于纠错,客户端/移动设备的数据/分组恢复可能经受较长的往返(round trip)时间延迟。在多播应用中,ARQ也可能造成反馈爆炸(feedback explosion)问题。然而,在往返时间延迟较短并且使用适当的反馈抑制算法时,ARQ仍是对于实时内容流传输来说可行的纠错方案。

[0005] FEC是用于改进多播应用的可靠性的有效方式。可以在应用层处利用多种FEC方案,以用于分组级纠错。候选方案包括具有/不具有随机交织的Pro-MPEG和Reed-Solomon (RS)。所有的FEC方案都具有优点和缺点。Pro-MPEG是非常轻型的方案,因为其仅利用XOR运算,而其纠错能力相应地受限制。Pro-MPEG不能纠正一些错误模式(errorpattern),即使分组丢失并不高。RS在大多数情况下与基于XOR的FEC方案相比具有更好的纠错能力,因为RS不依赖错误模式地工作。利用RS的成本增加了计算资源。然而,在一些情况下,RS与基于XOR的FEC方案相比具有更低的性能,因为RS (n,k)码在FEC编码块中的η个编码分组中有多于n-k个分组丢失的情况下完全失效。在存在多于n-k个分组丢失时,基于XOR的FEC仍可以纠正部分失去的分组/数据。

[0006] FEC的问题是首先要判断要发送多少FEC。在多播应用中,不同的移动设备可能具有不同的信道状况和丢失率。单个静态FEC不能满足所有移动设备的需求。在现有技术中引入了与可缩放源编码(scalable source coding)相结合的分层的FEC,以改进有线网络中的带宽使用效率和服务质量。然而,现有技术方案未考虑ARQ重新传送(retransmission)。如果接收机的分组丢失大于FEC码的能力,则不能恢复丢失的分组。此夕卜,接收机不能得到其需要的FEC分组的确切数量,因为其在各层中以不连续数目的FEC分组得到FEC。另外,现有技术的分层的方案未考虑多媒体会话的多个轨道之间的同步。例如,在多媒体会话中,经常存在音频轨道和视频轨道,在使用相同的FEC块大小的情况下,视频轨道与音频轨道相比具有高得多的比特率,对于音频轨道而言填满FEC缓存器将花费长得多的时间。

[0007] 在一种现有技术解决方案中,设置将用于在FEC块中进行FEC编码的分组的最大数目(maxK)。在缓存器中用于一轨道的视频(音频)分组的数目达到maxK时,执行基于这些视频(音频)分组的FEC编码。同时,无论在其它音频(视频)轨道缓存器中有多少分组,也执行基于其它轨道的音频(视频)媒体分组的FEC编码。由于N和K两者对于不同的FEC块来说都不是固定的,因此N和K必须被包括在FEC首部中,由此,信息被传递给客户端。

[0008] 在现有技术中,在从客户端到服务器的平均往返时间较低并且多播会话中客户端的数目较低时,在多播中使用了 ARQ。通常,实施反馈抑制以避免反馈爆炸的问题。在现有技术的混合ARQ方案中,客户端/移动设备发送对于其需要用于解码FEC块的奇偶分组的数目的请求,而不是对于原始媒体分组的序列号的请求。重新传送的奇偶分组在多播会话中被多播到所有客户端。奇偶分组可以由不同的客户端/移动设备使用以恢复不同的丢失。

[0009] 不同的情形(scenario)可以使用不同的纠错方案。在一些情况下,FEC可能更有效,而在其它情况下,ARQ可能是更好的选择。对于所有的应用情形提供单个解决方案将是有利的。

发明内容

[0010] 本发明描述了一种用于通过应用前向纠错和自动重复请求的组合来增加WLAN中的多播应用的可靠性的自适应方法。在无线广播/多播系统中,分组/数据可能经受由于多径衰落、干扰、移交(handoff)情况等的随机和突发丢失。为了提高可靠性,可以采用诸如前向纠错(FEC)和自动重复请求(ARQ)之类的纠错方案。组合FEC和ARQ存在优点。组合FEC和ARQ可以增加系统实施灵活性并且提高系统在特定情形下的性能。本发明了描述了一种组合的方案,在这里将其表不为合并的混合ARQ方案或者mhARQ方案。在本发明的mhARQ系统中,FEC分组被编码并且被划分为一个或者多个自适应FEC多播组以及一个ARQ多播组。WLAN广播/多播系统可以由此被配置以在多播应用中使用ARQ或者自适应FEC或者它们两者。

[0011] 描述了一种用于增加多播可靠性的方法和装置,包括从第一多播组接收内容和多个前向纠错编码分组的第一层,并且加入附加的多播组,以便接收前向纠错编码分组中的附加层之一和内容、连同多个前向纠错编码分组中的另一附加层。还描述了一种用于增加多播可靠性的方法和系统,包括生成多个层的前向纠错编码分组,传送内容和所述多个前向纠错编码分组的第一层,应请求而传送所述多个前向纠错编码分组的第二层,在接收到自动重复请求消息时传送所述多个前向纠错编码分组的第三层,并且在接收到自动重复请求内容请求时重新传送内容和所述多个前向纠错编码分组的第四层。

[0012] 应注意:每一层的FEC分组可以是多个多播组。也就是说,上述第二层实际上可以是通过多个多播组传送的若干子层。对于第二层,存在或者可以存在若干多播组。对于每个多播组,延迟时间是不同的(并且是可配置的)。客户端/移动设备不需要加入此层中的所有多播组,而是仅需要加入客户端/移动设备需要以便接收对于恢复内容来说足够的FEC/奇偶分组的多播组。

附图说明

[0013] 在结合附图阅读以下具体描述时,从以下具体描述中最好地理解本发明。附图包括在下面简要描述的以下各图:

[0014] 图1示出了用于热点多媒体内容无线LAN播送(经由无线LAN(WLAN)的多播)应用的典型的WLAN视频分发系统。

[0015] 图2示出了三种类型的用于源流的FEC组。

[0016] 图3是本发明的合并的混合ARQ方法的客户端/移动设备的的示意图/框图。

[0017] 图4A、4B、4C和4D合起来是客户端代理模块中的处理的三个线程的流程图。

[0018] 图5是本发明的客户端侧代理的数据结构的图。

[0019] 图6是本发明的合并的混合ARQ方法的服务器侧的示意图/框图。

具体实施方式

[0020] 不同的情形可以使用不同的纠错方案。在一些情况下,FEC可能更有效,而在其它情况下,ARQ可能是更好的选择。在一些情形下,可以将这两个方案组合在一起以提高性能。对于所有的应用情形提供单个解决方案将是有利的。

[0021] 本发明描述了一种用于通过应用前向纠错和自动重复请求的组合来增加WLAN中的多播应用的可靠性的自适应方法。在无线广播/多播系统中,分组/数据可能经受由于多径衰落、干扰、移交情况等的随机和突发丢失。组合FEC和ARQ存在优点。组合FEC和ARQ可以增加系统实施灵活性并且提高系统在特定情形下的性能。在本发明的mhARQ系统中,FEC分组被编码并且被划分为一个或者多个自适应FEC多播组以及一个ARQ多播组。WLAN广播/多播系统可以由此被配置以在多播应用中使用ARQ或者自适应FEC或者它们两者。也就是说,本发明是对于多播多媒体内容应用的单个集成数据/分组恢复解决方案。如这里所使用的,除非另外指示,术语“组”表示多播组。

[0022] 图1示出了用于热点多媒体内容无线LAN播送(经由无线LAN(WLAN)的多播)应用的典型的WLAN分发系统。内容服务器(要求的内容105和实况内容110)通过高速以太网LAN 125连接到无线接入点120a、120b。内容服务器(要求的内容(C0D)、实况内容)105、110将一个或多个节目(音频和/或视频)经由高速有线网络多播到无线接入点120a、120b。执行应用层FEC,并且通过流传输服务器115以无延迟和有延迟FEC多播组发送FEC分组,以提供错误恢复能力。接入点120a、120b将内容经由无线链路135以多播分发给无线设备130a、130b、130c、130d。无线设备130a、130b、130c、130d的用户可以观看一个或者多个节目,并且同时接入因特网140。对于因特网140的接入是经由无线链路135、适当的WLAN接入点120a和120b、高速以太网LAN 125以及以太网开关145、通信链路150以及可能有防火墙155进行的。ARQ服务器160从客户端/移动设备接收NACKS并且发送ARQFEC分组。在一些情况下,ARQ服务器和流传输服务器可以共同位于一个装置/机器/设备中。如果有延迟FEC分组不足以恢复丢失的/损坏的分组/数据,则客户端/移动设备经由IGMP加入ARQ FEC组。

[0023] 用于内容/源/视频/音频流的FEC分组被划分为不同的层。以不同的多播组传送每个层。如图2所示,存在三种类型的用于源流的FEC组:

[0024] •无延迟FEC组:这些组中的FEC分组相对于内容/源未被延迟,即,这些FEC分组一生成就被发送。为了随机丢失恢复,客户端/移动设备基于其“长期”信道状况加入一个或者多个无延迟FEC组。如果成员数(membership)是静态的或者“半静态的”(以分钟表示),则客户端/移动设备不需要加入有延迟FEC组或者发送ARQ。无延迟FEC减少来自客户端/移动设备的反馈流量。

[0025] •有延迟FEC组:这些组中的FEC分组的传送相对于媒体分组被延迟可配置的时间。使用因特网组管理协议(IGMP),客户端/移动设备在无延迟FEC分组不足以恢复数据/内容丢失的情况下动态地(每FEC块)加入/离开有延迟FEC组。如果加入时间大于内容和有延迟FEC之间的时移,则对应的奇偶分组将被接收以由客户端/移动设备恢复丢失的内容/数据分组。为了节省无线带宽,如果没有与AP/路由器120a、120b相关联的客户端/移动设备加入多播组,则用于此特定组的有延迟FEC数据将不通过所述AP/路由器在无线网络中传送。

[0026].ARQ FEC组:ARQ FEC组中的FEC数据根据来自客户端/移动设备的NACK而发送。客户端/移动设备将NACK发送给ARQ服务器,并且在有延迟FEC分组不足以恢复丢失的分组/数据的情况下经由IGMP加入对应的ARQ FEC组。

[0027].ARQ源/内容组:如果丢失的分组的数目超过阈值,则ARQ服务器可以以多播组重新传送媒体分组的原始块。原因是FEC分组用于要么恢复所有丢失的/损坏的分组/数据,要么一点也不恢复丢失的/损坏的分组/数据。在存在许多丢失的/损坏的媒体分组/数据时,接收机至少能够接收重新传送的媒体分组中的一些。

[0028] 为了灵活性,可以配置无延迟FEC组和有延迟FEC组的数目、内容流和有延迟FEC流之间的时移、以及无延迟FEC组、有延迟FEC组以及ARQ FEC组中的FEC的量。

[0029] 可用的商用和免费软件内容/视频播放器,例如、Quicktime、ThomsonMultimediaApplication Framework (MMAF)、以及 VideoLAN Client (VLC)播放器,不支持 FEC。对于商用播放器,源代码通常不可用。即使免费软件的源代码可用,也难以将FEC并入每个免费软件播放器并且维护和更新源代码。本发明包括如图3所示的客户端代理架构。客户端代理可以与任何商用和免费软件视频播放器一起工作,而不需要改变播放器代码。客户端代理从不同的多播组接收媒体和FEC分组,加入以及离开FEC多播组,将ARQNACK发送到ARQ服务器,接收重新传送的FEC和媒体分组,恢复丢失的媒体分组,并且通过通信接口(communication socket)将经过恢复的媒体分组发送到播放器。

[0030] 仍旧参照图3,客户端/移动设备经由WLAN接口 305 (经由WLAN接入点120a、120b)从内容服务器 105、110接收内容。客户端/移动设备可以同时是通过共用的用户数据报协议/因特网协议(m)P/IP)协议栈315的多个多播组(内容、FEC、有延迟FEC、ARQ FEC、ARQ源/内容)的成员,所述多个多播组中的每一个由分开的流(310a、310b)指示。在共用的UDP/IP协议栈315处,内容320和FEC分组325被分开并且进入本发明的FEC客户端代理模块330。可以将经过恢复的内容存储在存储系统335中,该存储系统335可以包括诸如盘、磁带、CD、存储器、DVD等之类的任何形式的存储装置,以用于以后的回放,或者可以经由通信接口将经过恢复的内容发送到播放器(或者任何合适的并且可用的显示设备)355,所述通信接口包括Μ)Ρ/ΙΡ协议栈340和345以及显示设备355处的UDP/IP协议栈350。

[0031] 在内容服务器侧,在执行FEC编码操作之前,对特定数目的媒体分组(K个)进行缓存。多媒体内容可以包括多个轨道,例如视频轨道和音频轨道。对于每个轨道分别执行FEC编码操作。不同的媒体轨道具有不同的比特率,通常视频与音频相比具有更高的比特率。对于视频和音频两者使用相同的FEC块大小将在接收机处产生音频/视频同步问题。例如,在视频缓存器中的视频分组的数目达到K时,对于这些分组执行FEC编码,将视频FEC分组送出,并且清空缓存器以用于下一块;同时,音频缓存器中的音频分组的数目在其达到K之前可能仍需要等待一未指定的时间。一种途径是对于视频和音频使用不同的块大小。然而,对于特定块大小的视频,如何为音频选择块大小是一个设计问题。不同的内容可能需要音频和视频轨道之间的不同的块大小配对。即使对于相同的内容,可变比特率的内容在不同时刻对于音频和视频可能需要不同的K。[0032] 对于可变比特率的流,用于将固定数目的媒体分组填充到缓存器中的时间可能变化。为了进一步防止由于FEC缓存可能引起的回放抖动,在本发明中为FEC块设置最大缓存时间(maxT)。如果用于视频或者音频FEC缓存器中的第一分组的缓存时间等于或者大于maxT,或者用于缓存器中的一轨道的视频(或者音频)分组的数目达到maxK(最大缓存器大小),则执行对于多媒体内容的视频轨道和音频轨道两者的分组的FEC编码。

[0033] 对于实时应用,使用变量N和K可以解决音频和视频同步问题,但是可能造成额外的编码和解码开销,因为用于不同的N和K的生成矩阵是不同的,并且创建生成矩阵在计算上是非常耗资源的(computationally expensive)。为了提高编码和解码效率,在本发明中maxK和maxN是固定的。该生成矩阵是基于maxK和maxN两者创建的,并且在服务器侧和客户端侧两者上仅初始化一次。由此,可以基于收缩/截短码(punctured/shortened code)使用初始的生成矩阵来生成所有的(N,K) 5马,其中K ( maxK,并且N≤maxN,所述收缩/截短码显著减少编码和解码时间。

[0034] 客户端代理330的功能细节在图4A、图4B、图4C和图4D中详细示出。客户端代理的功能/动作/步骤可以以以下方式实施:软件、硬件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)、或上述方式的任何组合或者任何适当的部件。客户端代理接收并且缓存接收到的FEC和媒体分组,基于分组丢失估计信道状况。如果客户端代理不能从FEC块恢复原始消息,则客户端代理将加入有更多延迟的FEC组,和/或发送对于重新传送更多的FEC或者原始媒体分组的ARQ请求。ARQ反馈抑制算法也在客户端代理处实施。如果一些分组丢失/损坏,但是FEC块可被解码,则客户端代理将从奇偶(FEC)分组恢复丢失的/损坏的分组,并且向播放器发送经过恢复的媒体分组。如果分组丢失/损坏,并且客户端代理不能解码FEC分组,则在缓存器定时器到期时,即使一些媒体分组丢失并且不能被恢复,客户端代理也将向播放器发送接收到的媒体分组。

[0035] 通过三个分开的线程执行客户端代理的任务。主线程将接收并且缓存媒体/奇偶分组。主线程还将接收并且处理来自多播组中的其它客户端/移动设备的ARQ请求。主线程也将执行信道估计,自适应FEC处理和FEC解码。分别由第二和第三线程执行ARQ处理和分组转发(packet forwarding)。

[0036] 返回参照一起示出在图3的客户端代理模块330处实行的方法的图4A、图4B、图4C以及图4D。图4A是主例程,并且源缓存器在405处初始化。在410处,调用分组转发进程(第二)线程。在415处,初始化ARQ事件队列。在420处,调用ARQ事件进程(第三)线程。最后,在425处,调用处理媒体分组接收、媒体分组的缓存以及错误恢复等的主/第

一线程。

[0037] 图4B是由图3的客户端代理模块330实行的方法的主/第一线程的流程图。在430处,接收分组。在435处,估计信道状况。在440处,执行测试以确定接收到的分组是否是FEC分组。如果接收到的分组是FEC分组,则在465处处理分组。在客户端/移动设备接收到奇偶(FEC)分组时,客户端/移动设备从FEC块首部得到有关此奇偶分组所属的(其中包括奇偶/FEC分组的)FEC块的所有信息。客户端/移动设备首先检查是否已经给FEC块分配了块数据结构。如果尚未分配块数据结构,则分配块数据结构。根据FEC块的基础序列号将FEC块插入到数据结构(例如,链接的列表)中。FEC块的基础序列号是属于此FEC块的(包括在此FEC块中的)媒体分组的最小序列号。在已经分配了 FEC块之后,客户端/移动设备观察源缓存器并且标注属于此FEC块的媒体分组,并且更新对应于此块的信息(诸如丢失了多少分组、丢失了哪些分组等)。在485处执行测试以确定FEC块是否是可解码的。在已经分配了 FEC块之后,客户端/移动设备能够观察源缓存器,检索对应于此块的信息(诸如丢失了多少分组、丢失了哪些分组等),并且在FEC解码进程中使用所检索的信息。如果FEC块不是可解码的,则在495处调用自适应FEC算法。也就是说,客户端代理加入有延迟FEC多播组,并且请求有延迟FEC分组。然后,在497处执行测试以确定是否需要ARQ。如果有延迟FEC分组不足以恢复丢失的/损坏的分组/数据,则将需要ARQ。这里,ARQ包括ARQFEC分组以及ARQ源/内容分组请求。这包括加入ARQ FEC以及ARQ源/内容多播组。如果需要ARQ,则在499处将ARQ请求插入ARQ事件队列。然后,处理返回430。如果不需要ARQ,则处理然后返回到430。

[0038] 如果FEC块是可解码的,则在490处将经过恢复的(多个)分组插入源缓存器。丢弃在FEC已被解码之后接收到的媒体或者FEC分组。在将用于FEC块的所有媒体分组送出到显示器时,FEC块结构被清空,并且存储器被释放。然后,在491处激活自适应FEC以判断客户端是否接收到了不必要的奇偶分组以及是否需要离开/退出已经加入的FEC组。然后,处理返回到430。

[0039] 如果接收到的分组不是FEC分组,则在445处执行测试以确定接收到的分组是否是媒体分组。如果接收到的分组是媒体分组,则在470处处理该媒体分组。在客户端/移动设备接收到媒体分组时,根据序列号将接收到的媒体分组插入到数据结构(例如,链接的列表)中。如果在已经分配了 FEC块之后,接收到属于该FEC块的媒体分组,则客户端/移动设备能够基于媒体分组的序列号、以及FEC块的基础序列号与N和K来从链接的列表中定位此FEC块结构。客户端/移动设备标注此媒体分组并且更新FEC块信息。然后,处理前进到485。

[0040] 还可能是这样的情况:用于特定FEC块的奇偶分组(例如在移交中)完全丢失。客户端/移动设备可能不能够获得有关属于此FEC块的媒体分组的任何FEC信息。如果最后一个未标注的媒体分组和第一个未标注的媒体分组之间的差超过特定阈值(例如,K的估计值的3/2倍),则客户端/移动设备断定用于这些媒体分组的所有FEC分组丢失/损坏(FEC块是不可解码的)。然后,客户端/移动设备将激活本发明的自适应FEC算法或者ARQ请求处理,而不需要任何有关这些媒体分组的FEC信息。

[0041] 如果接收到的分组不是媒体分组,则在450处执行测试以确定接收到的分组是否是ARQ分组。如果接收到的分组是ARQ分组,则在475处执行ARQ抑制以防止ARQ反馈爆炸问题。然后,处理返回到430。

[0042] 如果接收到的分组不是ARQ分组,则在455处执行测试以确定接收到的分组是否是RTCP分组。如果接收到的分组是RTCP分组,则在480处处理该RTCP分组。接收到的RTCP分组根据它们被接收的时刻而被插入到源缓存器中,因为RTCP分组中的序列号不是根据RTP分组指派的。然后,处理返回到430。如果接收到的分组不是RTCP分组,则在460处丢弃接收到的分组。然后,处理返回到430。

[0043] 图4C是由图3的客户端代理模块330实行的方法的第二线程的流程图。第二线程处理源分组转发。在433处,执行测试以确定源缓存器是否是空的。如果源缓存器是空的,则处理返回,并且处于等待状态,直至源缓存器不再是空的为止。可以基于某一时刻或者任何其它便利的因素执行在433处的测试,使得可以做出关于源缓存器的状态的确定。如果源缓存器不是空的,则在443处执行测试以确定头分组(head packet)的分组缓存时间是否已到期。头分组是缓存器中要处理的下一分组。由于本发明的方法可以使用链接的列表数据结构,因此,缓存器中的下一分组可以不是结构中的下一分组,但是要处理的下一分组可以是由链接的列表指针所指向的下一分组。如果缓存时间已经到期,则在453处将头分组转发给媒体播放器或者媒体显示设备。也就是说,如果接收到的媒体或者RTCP分组在缓存器中保留长于时间T的时间,则客户端/移动设备将该分组转发给媒体播放器。在463处将指向头分组的指针设置为指向源缓存器中的下一分组。然后,处理返回到433。如果头分组缓存时间尚未到期,则处理返回到433。

[0044] 图4D是由图3的客户端代理模块330实行的方法的第三线程的流程图。第三线程处理ARQ处理。在437处,执行测试以确定事件队列缓存器是否是空的。如果事件队列缓存器是空的,则处理返回,并且处于等待状态,直至事件队列缓存器不再是空的为止。可以基于某一时刻或者任何其它便利的因素执行在437处的测试,使得可以做出关于事件队列缓存器的状态的确定。如果事件队列缓存器不是空的,则在447处执行测试以确定头事件定时器(head event timer)是否到期。头事件定时器是用于处理事件队列中的下一事件的定时器。如果头事件定时器已经到期,则在457处送出ARQ请求。在467处将头事件定时器设置为指向事件队列中的下一事件。然后,处理返回到437。如果头事件定时器尚未到期,则处理返回到437。

[0045] 图5中示出了客户端侧处的主数据结构。客户端/移动设备在会话中维持用于媒体流的每个轨道的源缓存器(媒体缓存器)。源缓存器缓存T秒的媒体分组。可以使用链接的列表数据结构实施源缓存器。下面描述的本发明的数据结构被图4A、图4B、图4C、以及图4D的进程使用。所述数据结构被在时间上的多个点处使用,并且用于图4A、图4B、图4C、以及图4D的进程中的多个目的。

[0046] FEC块包括一个或者多个媒体分组(上至k个媒体分组)。由此,假定媒体分组属于FEC块。FEC块还包括一个或者多个FEC (奇偶)分组(上至(n_k)个奇偶/FEC分组)。由此,假定FEC/奇偶分组属于FEC块。这里,η是FEC块大小,k是FEC块中的媒体分组的数目。如果已经分配了媒体分组所属的FEC块,则标注该媒体分组。由此,如果已经分配了FEC块,则客户端/移动设备能够基于媒体分组的序列号、以及FEC块的基础序列号与N和K来从链接的列表中定位此FEC块结构。

[0047] 在本发明的实施中,在服务器侧处的FEC编码期间,未修改媒体分组。将有关FEC编码参数的所有信息包括在FEC分组中。该实施是后向兼容的,因为即使客户端/移动设备不支持FEC,其仍可以加入媒体多播组,接收媒体分组,并且回放接收到的内容。

[0048] 在客户端/移动设备接收到媒体分组时,根据如505a、505b、…、505 α +1中所示的序列号将接收到的媒体分组插入到源缓存器数据结构(例如,链接的列表)中。如果尚未分配接收到的媒体分组所属的FEC块数据结构,则客户端/移动设备不具有有关此媒体分组所属的FEC块的信息。媒体分组不包括任何有关FEC块的信息。而且,本发明在FEC编码中不使用固定的N和Κ(而MaxN和MaxK是固定的),不能从序列号中导出FEC块索引信息。如果不存在有关媒体分组所属的FEC块的信息,则不标注媒体分组。

[0049] 应注意:也将用于媒体轨道的实时传输控制协议(RTCP)分组插入到对应的源缓存器数据结构(例如,链接的列表)中。RTCP分组中的序列号不是根据RTP分组分配的。而根据RTCP分组被接收的时刻将RTCP分组插入到源缓存器中。

[0050] 如果媒体或者RTCP分组在缓存器中保留大于预定的或者可配置的时间T的时间,则客户端/移动设备将分组发送给媒体播放器。

[0051] 客户端/移动设备也维持FEC块缓存器数据结构。此数据结构也可以被实施为链接的列表,该链接的列表 中的每个元素是FEC块数据结构,该FEC块数据结构包括诸如基础序列号、N和K等之类的有关FEC块的所有信息。

[0052] 在客户端/移动设备接收到奇偶(FEC)分组时,客户端/移动设备从FEC块首部得到有关此奇偶分组所属的FEC块的所有信息。客户端/移动设备首先检查是否已经给FEC块分配了块数据结构。如果尚未分配块数据结构,则分配块数据结构。FEC块数据结构被根据如510a、510b、510P+l中所示的其基础序列号而插入到数据结构(例如,链接的列表)中。FEC块的基础序列号是属于此FEC块的媒体分组的最小序列号。在已经分配了 FEC块之后,客户端/移动设备观察源缓存器并且标注属于此FEC块的媒体分组,并且更新对应于此块的信息(诸如丢失了多少分组、丢失了哪些分组等)。在本发明的自适应FEC中使用该信息。还在FEC解码(图4B的485和490)中使用该信息。随后,如果对于此FEC块接收到媒体分组或者FEC分组,则相应地更新此块的信息。

[0053] 如果在已经分配了 FEC块之后接收到属于该FEC块的媒体分组,则客户端/移动设备能够基于该媒体分组的序列号、以及FEC块的基础序列号与N和K来从链接的列表中定位此FEC块结构。客户端/移动设备标注此媒体分组并且更新FEC块信息。

[0054] FEC块数据结构包括指向属于此块的所有媒体分组的指针的阵列。该FEC块数据结构还包括用于存储用于此块的FEC分组的解码缓存器。还在该解码缓存器中分配执行FEC解码所需要的存储器缓存器。

[0055] 如果FEC块是可解码的,则执行FEC解码并且将经过恢复的媒体分组插入到源缓存器中。丢弃在FEC块已经被解码之后接收到的媒体或者FEC分组。在用于FEC块的所有媒体分组都被送出到显示器时,FEC块结构被清空,并且存储器被释放。

[0056] 还可能是这样的情况:用于特定FEC块的奇偶分组(例如在移交中)完全丢失。客户端/移动设备可能不能够获得有关这些媒体分组的任何FEC信息。客户端/移动设备还保持指针指向源缓存器中的第一个未标注的媒体分组,在图5中,pkt-(a+1)是该第一个未标注的媒体分组。

[0057] 如果最后一个未标注的媒体分组和第一个未标注的媒体分组之间的差超过特定阈值(例如,K的估计值的3/2倍),则客户端/移动设备断定用于这些媒体分组的所有FEC分组丢失/损坏(FEC块是不可解码的)。然后,客户端/移动设备将激活本发明的自适应FEC算法或者ARQ请求处理,而不需要任何有关这些媒体分组的FEC信息。由于在本发明中K不是固定的,因此客户端/移动设备保持K的平均值的估计。

[0058] 每个客户端/移动设备维持事件队列数据结构。事件可以是ARQ处理事件,其包括用于客户端/移动终端发送ARQ请求或者处理ARQ抑制的所有信息。根据如515a、515b、…、515 Y+1中所示的每个事件的到期时间将它们插入到事件队列中。事件也可以是检查事件。例如,在客户端/移动设备发送ARQ请求之后,客户端/移动设备可以将检查事件插入到事件队列中,以用于客户端/移动设备在以后检查以确定其是否已经接收到了重新传送奇偶分组以及其是否能够解码FEC块。如果客户端/移动设备未接收到并且未解码重新传送分组,则客户端/移动设备可以发送另一 ARQ请求。

[0059] 多播会话具有由media_group表示的一个媒体组。多播会话中的每个媒体轨道也具有多个FEC组。FEC组的数目例如对于上面讨论的音频和视频轨道可以是不同的。对于每个媒体轨道分别部署自适应FEC和ARQ算法。在下面的讨论中,假定多播会话仅具有一个媒体轨道,从而描述自适应FEC和ARQ算法。对于具有多个轨道的多媒体会话,可以对于每个轨道使用该方法。

[0060] 假定流具有总共(m+1)个FEC组(组(O)、组(I)、…、组(m)),组(O)到组(m_l)是自适应FEC组,组(m)用于ARQ。在媒体组(无延迟FEC组)之后立即发送第一 FEC组。客户端将总是加入媒体组以及第一 FEC组。在下文中,组编号用于指明与该组相关联的参数。例如,组⑴的开销将是overhead (i),组⑴的延迟将是delay (i)。如果FEC码具有块大小n,则每个块中的消息码元的数目将是:

Figure CN101861709BD00141

[0062] 每个组中的奇偶码元的数目是:

[0063] num_parity (i) = overhead(i)*k

[0064] 客户端/移动设备将接收到的FEC块的平均丢失率以及其方差分别估计为avg_loss_rate 以及 avg_variance。

[0065] 在客户端/移动设备接收到用于FEC块的第一 FEC分组时,这意味着客户端/移动设备已经接收到当前FEC块的最后的媒体分组/码元。

[0066] 客户端/移动设备从FEC首部提取有关此FEC块的所有信息,并且具有关于对于此FEC块是否已经丢失了任何媒体分组以及已经丢失了多少分组的知识。此信息用于更新平均丢失和方差的估计。此时,如果客户端/移动设备已经接收到了对于解码当前的FEC块来说足够的分组/码元,则客户端/移动设备不需要加入任何新的FEC组或者发送ARQ请求。然而,如果客户端/移动设备加入了更多的FEC组,则客户端/移动设备可以接收冗余的奇偶分组/码元。也就是说,客户端/移动设备可以接收比该客户端/移动设备所需要的更多的奇偶分组/码元。客户端可能需要离开(退出)那些FEC组。

[0067] 假定客户端没有接收到对于解码当前的FEC块来说足够的码元。丢失的媒体/消息码元的数目是:lost_msg = k-recv_msg(接收到的消息)。客户端/移动设备需要判断其需要加入的FEC组的数目。一个实施例是一次加入所有的组。第二个实施例是首先加入一个附加的FEC组。在某一延迟之后,客户端/移动设备然后检查以确定其是否已经接收到了对于解码FEC块来说足够的分组/码元。如果否,则客户端/移动设备加入下一 FEC组。

[0068] 在第一实施例中,可以由下式来估计所需的码元的数目:

[0069] req_sym = lost_msg*(l+avg_loss_rate) + a *avg_variance

[0070] 在无线网络中,分组丢失方差可以非常大。由此,在大多数时间,客户端/移动设备可能过高估计所需要的奇偶码元。然而,仍然可能过低估计所请求的码元,其导致(多个)不可解码的FEC块。客户端/移动设备需要加入的组的数目则将是:

[0071]

Figure CN101861709BD00151

[0072] 在客户端/移动设备加入多播FEC组时,客户端/移动设备需要指定该客户端/移动设备应当保持加入此组的持续时间。这由grp_expire参数指定。

[0073] grp_expire (i) = current_time (当前时间)+delay (i)+Te i ^ m-1 (2)

[0074] 其中Te是可配置的参数,例如Te = 500ms。如果客户端/移动设备加入所有的自适应FEC组,但仍不能解码FEC块,则客户端/移动设备将需要发送ARQ请求。对了处理反馈爆炸,不立即发送ARQ请求。将ARQ请求定时器插入到事件队列中,将定时器的到期时间设置在(K-lostjnsghT^^P (K-lost_msg+l)*Ts之间。这样,已经丢失了大多数分组的客户端/移动设备首先将发送ARQ请求。ARQ请求将被多播到ARQ请求多播组。其它的客户端/移动设备在接收到此ARQ请求时将把接收到的ARQ请求中的所请求的奇偶分组的数目与其自身需要进行比较。如果由另一客户端/移动设备请求的奇偶分组的数目大于其自身请求,则客户端/移动设备将抑制其自身ARQ请求并且等待以得到将具有比其需要的更多的奇偶分组的多播。

[0075] 在第二实施例中,客户端/移动设备首先加入一个附加的有延迟FEC组。设置定时器。该定时器应当在下一有延迟FEC组的延迟时间之前的某一时刻到期。如果客户端/移动设备然后确定其仍不能解码FEC块,则客户端/移动设备具有用于加入下一 FEC组的时间。例如,如果IGMP加入等待时间在几毫秒到大约50毫秒之间,将定时器到期时间指定为下一 FEC组延迟时间之前的Tx = IOOms:

[0076] timer_expire (i) = current_time+delay(i+1)-Tx (3)

[0077] 其中Tx是可配置的参数。再一次,如果已经加入了 FEC组,则客户端/移动设备仅需要更新该组的到期时间,但定时器仍需要被设置。在客户端/移动设备已经加入了最后的自适应FEC组、但仍不能解码FEC块时,客户端/移动设备将需要发送ARQ请求。

[0078] 在一些情形下,如果FEC块中丢失的媒体分组的数目超过阈值(例如,K的50%),则发送ARQ以仅请求奇偶分组可能不是有效的。在此情况下,客户端/移动设备可以发送ARQ以请求重新传送原始媒体分组。

[0079] 如果客户端/移动设备接收到了对于解码FEC块来说足够的分组/码元,或者如果客户端/移动设备需要与由其已经加入的FEC组提供的奇偶码元相比较少的奇偶码元,则客户端/移动设备需要检查其是否应当离开(退出)一个或者多个FEC多播组。公式(I)给出了客户端/移动设备应当加入的FEC组的数目,如果当前加入的组的数目I大于g,则客户端/移动设备应当离开组(g+Ι)到组(I)。为了减少加入和离开的数目,引入了另一个参数。令

Figure CN101861709BD00161

[0081] 以及t = max(g, h),如果I > t,则客户端/移动设备离开组(t+Ι)到组⑴。

[0082] 图6是本发明的合并的混合ARQ方法的服务器侧的示意图/框图。具体地,图6描绘本发明的流传输服务器115和ARQ服务器160。如上所述,可以将流传输服务器和ARQ服务器放置在不同的机器上,或者使它们共同位于一个机器上。流传输服务器115以内容RTP (媒体)分组的形式从内容服务器105和/或实况内容服务器110接收内容。FEC模块605向FEC块分配这些媒体分组,并且FEC/奇偶分组被生成并且添加到FEC块,使得在FEC块中存在k个媒体分组和(n-k)个奇偶/FEC分组。将FEC/奇偶分组分为各层,所述各层表示在FEC块(包括媒体和无延迟FEC分组)不足以恢复内容的情况下可由客户端/移动设备请求和使用的增加的奇偶/FEC。客户端/移动设备通过加入提供附加的FEC的多播组来请求附加的FEC。在需要附加的FEC的情况下将其存储于延迟缓存器610中。将所有的数据(媒体、无延迟FEC、以及有延迟FEC)经由UDP/IP/以太网协议栈615转发给客户端/移动设备。

[0083] 由流传输服务器115将内容(媒体分组)转发给ARQ服务器160。流传输服务器115还将ARQ FEC组中的FEC分组转发给ARQ服务器160。经由UDP/IP/以太网协议栈620将内容和ARQ FEC分组两者转发给混合ARQ进程模块625。在客户端/移动终端发送对于重新传送FEC分组或者内容分组的NACK请求时,客户端/移动设备加入ARQ重新传送多播组,以便接收FEC分组或者内容分组的重新传送。存在若干类型的NACK/ARQ请求。在一种类型的NACK/ARQ请求中,客户端/移动设备请求其需要的数目的FEC分组;在另一种类型的NACK/ARQ请求中,客户端/移动设备请求ARQ服务器重新传送特定的内容分组。在此情况下,NACK/ARQ请求包括客户端/移动设备需要的内容分组的序列号。第三种类型的NACK/ARQ请求是前两种NACK/ARQ请求的组合。在第三种情况下,客户端/移动设备请求一定数目的FEC分组以及一些内容分组。在从客户端/移动终端接收到NACK时,ARQ组的原始内容或者FEC分组的重新传送由混合ARQ进程模块625处理,并且由UDP/IP/以太网协议栈620传送。

[0084] 应理解:可以以各种形式的硬件、软件、固件、专用处理器、或者它们的组合来实施本发明。优选地,将本发明实施为硬件和软件的组合。此外,优选地将软件实施为切实地包含在程序存储设备上的应用程序。该应用程序可以被上载到包含任何适当的架构的机器并且由其执行。优选地,该机器被实施在计算机平台之上,该计算机平台具有诸如一个或者多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口之类的硬件。该计算机平台还可以包括操作系统和微指令代码。这里描述的各种进程和功能可以为微指令代码的一部分或者为应用程序的一部分(或者其组合),其经由操作系统执行。另外,诸如附加的数据存储设备以及打印设备之类的各种其他的外围设备可以连接到该计算机平台。

[0085] 还应理解:由于在附图中描绘的一些系统构成组件和方法步骤优选地以软件实施,因此系统组件(或者进程步骤)之间的实际连接可以取决于本发明被编排的方式而不同。给出这里的教学,相关领域的普通技术人员将能够设想本发明的这些和类似的实施或

者配置。

Claims (37)

1.一种用于增加多播可靠性的方法,所述方法包括: 生成多个层的前向纠错编码分组; 接收对于加入第一多播组、以便接收内容和所述多个层的前向纠错编码分组的第一层的请求; 传送所述内容和所述多个所述前向纠错编码分组的所述第一层; 在所述内容不能从来自所述第一多播组的所述内容以及多个所述前向纠错编码分组的所述第一层恢复的情况下,接收对于加入第二多播组以便接收所述多个层的前向纠错编码分组的第二层的请求; 在接收到请求时传送所述多个前向纠错编码分组的所述第二层,其中延迟所述多个前向纠错编码分组的所述第二层的所述传送; 在接收到自动重复请求消息时传送所述多个前向纠错编码分组的第三层;并且在接收到自动重复请求内容请求时重新传送所述内容和所述多个前向纠错编码分组的第四层。
2.根据权利要求1所述的方法,还包括:在所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、以及所述多个前向纠错编码分组的所述第二层恢复的情况下,接收对于加入第三多播组以便接收所述多个层的前向纠错编码分组的第三层的请求,其中延迟所述多个前向纠错编码分组的所述第三层的所述传送。
3.根据权利要求1所述的方法,还包括:在所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、所述多个前向纠错编码分组的所述第二层、以及所述多个前向纠错编码分组的所述第三层恢复的情况下,接收自动重复请求否定应答,并且接收对于加入第四多播组以便接收重新传送的丢失的内容以及所述多个层的前向纠错编码分组的第四层的请求,其中延迟`所述丢失的内容以及所述多个层的前向纠错编码分组的所述第四层的所述重新传送。
4.根据权利要求3所述的方法,其中由自动重复请求服务器重新传送所述丢失的内容以及所述多个前向纠错编码分组的所述第四层。
5.根据权利要求1所述的方法,其中由流传输服务器传送所述多个前向纠错编码分组的所述第二层。
6.根据权利要求1所述的方法,其中所述多个前向纠错编码分组的所述第二层在时间上延迟可配置的时间段。
7.根据权利要求1所述的方法,其中在所述多个层中的每一层处应用的前向纠错编码的量是可配置的。
8.根据权利要求1所述的方法,其中所述内容包括多个媒体轨道。
9.一种用于增加多播可靠性的系统,包括: 用于生成多个层的前向纠错编码分组的部件; 用于接收对于加入第一多播组、以便接收内容和所述多个层的前向纠错编码分组的第一层的请求的部件; 用于传送所述内容和所述多个前向纠错编码分组的所述第一层的部件; 用于在所述内容不能从来自所述第一多播组的所述内容以及多个前向纠错编码分组的所述第一层恢复的情况下、接收对于加入第二多播组以便接收所述多个层的前向纠错编码分组的第二层的请求的部件;以及 用于在接收到所述请求时传送所述多个前向纠错编码分组的所述第二层的部件,其中延迟所述多个前向纠错编码分组的所述第二层的所述传送; 用于在接收到自动重复请求消息时传送所述多个前向纠错编码分组的第三层的部件;以及 用于在接收到自动重复请求内容请求时重新传送所述内容以及所述多个前向纠错编码分组的第四层的部件。
10.根据权利要求9所述的系统,还包括用于在所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、以及所述多个前向纠错编码分组的所述第二层恢复的情况下、接收对于加入第三多播组以便接收所述多个层的前向纠错编码分组的第三层的请求的部件,其中延迟所述多个前向纠错编码分组的所述第三层的所述传送。
11.根据权利要求9所述的系统,还包括用于在所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、所述多个前向纠错编码分组的所述第二层、以及所述多个前向纠错编码分组的所述第三层恢复的情况下,接收对于加入第四多播组以便接收所述内容以及所述多个层的前向纠错编码分组的第四层的请求的部件,其中延迟所述内容以及所述多个层的前向纠错编码分组的所述第四层的所述传送。
12.根据权利要求9所述的系统,其中由自动重复请求服务器重新传送所述内容和所述多个前向纠错编码分组的所述第四层。
13.根据权利要求9所述的系统,其中由流传输服务器传送所述多个前向纠错编码分组的所述第二层。
14.根据权利要求9所`述的系统,其中所述多个前向纠错编码分组的所述第二层中的每一个前向纠错编码分组在时间上被延迟可配置的时间段。
15.根据权利要求9所述的系统,其中在所述多个层中的每一层处应用的前向纠错编码的量是可配置的。
16.根据权利要求9所述的系统,其中所述内容包括多个媒体轨道。
17.一种用于增加多播可靠性的方法,所述方法包括: 加入第一多播组以便接收内容和多个前向纠错编码分组的第一层; 从第一多播组接收内容和多个前向纠错编码分组的第一层;并且 加入附加的多播组,以便接收前向纠错编码分组的附加层之一以及所述内容、连同所述多个前向纠错编码分组的另一附加层, 其中在时间上延迟可配置的时间段而接收所述多个前向纠错编码分组的所述附加层中的第一个附加层,并且其中所述可配置的时间段大于加入所述附加的多播组所需的时间段。
18.根据权利要求17所述的方法,其中如果所述内容不能从来自第一多播组的所述内容以及多个前向纠错编码分组的所述第一层恢复,则执行所述加入动作。
19.根据权利要求17所述的方法,还包括加入所述第一多播组,以便接收所述内容以及所述多个前向纠错编码分组的所述第一层。
20.根据权利要求18所述的方法,其中如果所述内容不能从所接收到的内容以及所述多个前向纠错编码分组的所述第一层恢复,则加入第二多播组以便接收所述多个前向纠错编码分组的第二层。
21.根据权利要求20所述的方法,其中如果所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、以及所述多个前向纠错编码分组的所述第二层恢复,则加入第三多播组以便接收所述多个前向纠错编码分组的第三层。
22.根据权利要求21所述的方法,其中如果所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、所述多个前向纠错编码分组的所述第二层、以及所述多个前向纠错编码分组的所述第三层恢复,则加入第四多播组以便接收丢失的内容以及所述多个前向纠错编码分组的第四层。
23.根据权利要求22所述的方法,其中如果丢失的内容分组的数目超过阈值,则作出加入所述第四多播组的决定,所述方法还包括传送自动重复请求否定应答。
24.根据权利要求17所述的方法,还包括将经过恢复的内容转发给播放设备。
25.根据权利要求18所述的方法,其中所述动作由客户端代理模块执行。
26.根据权利要求17所述的方法,其中同时加入多个附加的多播组。
27.根据权利要求17所述的方法,其中所述内容包括多个媒体轨道。
28.一种用于增加多播可靠性的装置,包括: 用于加入第一多播组以便接收内容和多个前向纠错编码分组的第一层的部件; 用于从第一多播组接收内容和多个前向纠错编码分组的第一层的部件; 用于加入附加的多播组、以便接收前向纠错编码分组的附加层之一以及所述内容、连同所述多个前向纠错编码分`组的另一附加层的部件, 其中在时间上延迟可配置的时间段而接收所述多个前向纠错编码分组的所述附加层中的第一个附加层,并且其中所述可配置的时间段大于加入所述第一个附加的多播组所需的时间段。
29.根据权利要求28所述的装置,还包括用于加入所述第一多播组、以便接收所述内容以及所述多个前向纠错编码分组的所述第一层的部件。
30.根据权利要求28所述的装置,其中如果所述内容不能从所接收到的内容以及所述多个前向纠错编码分组的所述第一层恢复,则激活用于加入第二多播组、以便接收所述多个前向纠错编码分组的第二层的部件。
31.根据权利要求30所述的装置,其中如果所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、以及所述多个前向纠错编码分组的所述第二层恢复,则激活用于加入第三多播组、以便接收所述多个前向纠错编码分组的第三层的部件。
32.根据权利要求31所述的装置,其中如果所述内容不能从所接收到的内容、所述多个前向纠错编码分组的所述第一层、所述多个前向纠错编码分组的所述第二层、以及所述多个前向纠错编码分组的所述第三层恢复,则激活用于加入第四多播组、以便再次接收所述内容并且接收所述多个前向纠错编码分组的第四层的部件。
33.根据权利要求32所述的装置,其中如果丢失的内容分组的数目超过阈值,则作出加入所述第四多播组的决定,所述装置还包括用于传送自动重复请求否定应答的部件。
34.根据权利要求28所述的装置,还包括用于将经过恢复的内容转发给播放设备的部件。
35.根据权利要求28所述的装置,包括客户端代理模块。
36.根据权利要求28所述的装置,其中同时加入多个多播组。
37.根据权利要求28所述的`装置,其中所述内容包括多个媒体轨道。
CN200780101553.4A 2007-10-23 2007-10-23 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置 CN101861709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2007/022453 WO2009054822A1 (en) 2007-10-23 2007-10-23 Method and apparatus for adaptive forward error correction with merged automatic repeat request for reliable multicast in wireless local area networks

Publications (2)

Publication Number Publication Date
CN101861709A CN101861709A (zh) 2010-10-13
CN101861709B true CN101861709B (zh) 2014-06-11

Family

ID=40032454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780101553.4A CN101861709B (zh) 2007-10-23 2007-10-23 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置

Country Status (6)

Country Link
US (1) US8499212B2 (zh)
JP (1) JP5591708B2 (zh)
KR (2) KR101571145B1 (zh)
CN (1) CN101861709B (zh)
BR (1) BRPI0722125B1 (zh)
WO (1) WO2009054822A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881309B2 (en) * 2008-03-04 2014-11-04 Microsoft Corporation Systems for finding a lost transient storage device
EP2131516A1 (en) * 2008-06-04 2009-12-09 THOMSON Licensing A cell dependent multi-group hybrid automatic repeat request method for multicast in wireless networks
US8489954B2 (en) * 2008-08-29 2013-07-16 Ntt Docomo, Inc. Method and apparatus for reliable media transport
CN101729228B (zh) * 2008-10-31 2014-04-16 华为技术有限公司 丢包抑制重传的方法、网络节点和系统
CN101902315B (zh) * 2009-06-01 2013-04-17 华为技术有限公司 基于前向纠错的重传方法、设备和通信系统
US8306049B2 (en) 2010-02-22 2012-11-06 Microsoft Corporation Multicast subscription based on forward error correction
US8839078B2 (en) * 2010-03-05 2014-09-16 Samsung Electronics Co., Ltd. Application layer FEC framework for WiGig
US8489948B2 (en) * 2010-04-02 2013-07-16 Nokia Corporation Methods and apparatuses for facilitating error correction
JP5748471B2 (ja) * 2010-12-14 2015-07-15 キヤノン株式会社 配信装置、配信方法、プログラム
KR101781159B1 (ko) 2010-12-20 2017-09-22 한국전자통신연구원 데이터 분배 서비스에서 경량 멀티캐스트를 제공하는 방법 및 장치
KR20120112981A (ko) * 2011-04-04 2012-10-12 고려대학교 산학협력단 데이터 프레임의 재전송 감소 방법 및 이를 위한 수신 노드
EP3171603A1 (en) * 2011-07-06 2017-05-24 SK Planet Co., Ltd. Method, and device and method for estimating high-speed movement for image encoding
US9060252B2 (en) 2012-07-31 2015-06-16 International Business Machines Corporation Rate adaptive transmission of wireless broadcast packets
JP2014068295A (ja) * 2012-09-27 2014-04-17 Kddi Corp 無線環境に適したマルチキャストデータを配信する配信サーバ、システム及びプログラム
US10356143B2 (en) * 2012-10-10 2019-07-16 Samsung Electronics Co., Ltd. Method and apparatus for media data delivery control
US9059847B2 (en) 2013-04-26 2015-06-16 International Business Machines Corporation Reliable multicast broadcast in wireless networks
US9560172B2 (en) * 2013-05-06 2017-01-31 Alcatel Lucent Stateless recognition of keep-alive packets
KR102017719B1 (ko) 2013-05-23 2019-10-21 한국전자통신연구원 멀티캐스트 장치 및 그 방법
WO2015026186A1 (ko) * 2013-08-23 2015-02-26 삼성전자 주식회사 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
US10075266B2 (en) * 2013-10-09 2018-09-11 Qualcomm Incorporated Data transmission scheme with unequal code block sizes
KR20160004628A (ko) * 2014-07-03 2016-01-13 삼성전자주식회사 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치
US9756098B2 (en) * 2014-09-15 2017-09-05 Verizon Digital Media Services Inc. Multi-tenant over-the-top multicast
US9781488B2 (en) * 2015-07-30 2017-10-03 Adi Rozenberg Controlled adaptive rate switching system and method for media streaming over IP networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
WO2006109105A1 (en) * 2005-04-12 2006-10-19 Stmicroelectronics S.R.L. Method and system for controlling transmission of multicast packets over a local area network, related network and computer program product therefor

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3127440B2 (ja) * 1995-10-23 2001-01-22 日本電信電話株式会社 誤り回復装置
US6101180A (en) * 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
US7006530B2 (en) * 2000-12-22 2006-02-28 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US7095729B2 (en) 2000-12-22 2006-08-22 Intel Corporation Method for multimedia communication over packet channels
JP2002359641A (ja) * 2001-05-31 2002-12-13 Matsushita Electric Ind Co Ltd ファイル配信システム、ファイル配信サーバ装置、及び受信クライアント装置
DE60219588T2 (de) * 2002-02-04 2008-01-10 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zur Unterscheidung von Paketverlusten
JP2004201111A (ja) 2002-12-19 2004-07-15 Ntt Docomo Inc マルチキャストパケット配信システム、方法及びプログラム
US7451381B2 (en) * 2004-02-03 2008-11-11 Phonex Broadband Corporation Reliable method and system for efficiently transporting dynamic data across a network
WO2006009105A1 (ja) 2004-07-20 2006-01-26 Matsushita Electric Industrial Co., Ltd. 映像処理装置およびその方法
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
JP4645281B2 (ja) * 2005-04-19 2011-03-09 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP4666309B2 (ja) 2006-03-07 2011-04-06 日本放送協会 送信装置、受信装置、中継装置及びパケット伝送システム
US7774672B2 (en) * 2006-07-07 2010-08-10 Scientific-Atlanta, Llc Requesting additional forward error correction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
WO2006109105A1 (en) * 2005-04-12 2006-10-19 Stmicroelectronics S.R.L. Method and system for controlling transmission of multicast packets over a local area network, related network and computer program product therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗云峰等.基于FEC/ARQ的流媒体可靠实时通信.《武汉大学学报(理学版)》.2002,第48卷(第5期),第626~630页. *

Also Published As

Publication number Publication date
KR20100070361A (ko) 2010-06-25
KR101571145B1 (ko) 2015-11-23
CN101861709A (zh) 2010-10-13
US20100260180A1 (en) 2010-10-14
US8499212B2 (en) 2013-07-30
WO2009054822A1 (en) 2009-04-30
BRPI0722125A2 (pt) 2014-04-08
JP2011501613A (ja) 2011-01-06
BRPI0722125B1 (pt) 2020-03-03
JP5591708B2 (ja) 2014-09-17
KR20140098259A (ko) 2014-08-07

Similar Documents

Publication Publication Date Title
US10034058B2 (en) Method and apparatus for distributing video
US9608767B2 (en) Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction
KR101735435B1 (ko) 멀티미디어 스트리밍 서비스 제공 방법 및 장치
CN102017491B (zh) 无线网络的组播中调节前向纠错的方法和系统
CN101529907B (zh) 减少信道改变时间的装置和方法
US8239558B2 (en) Transport mechanisms for dynamic rich media scenes
CA2649667C (en) Seamless handover of multicast sessions in internet protocol based wireless networks using staggercasting
EP1346578B1 (en) Method for multimedia communication over packet channels
US20140181611A1 (en) System and Method for Mitigating Burst Noise in a Communications System
US8787153B2 (en) Forward error correction based data recovery with path diversity
US7089478B2 (en) FEC block reconstruction system, method and computer program product for mitigating burst noise in a communications system
KR100537499B1 (ko) 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
CN102687448B (zh) 网络中可靠实时数据流传输的高效应用层自动重复请求重发的方法
DE602004007329T2 (de) Zuverlässiges Multimedia Streaming mit wiederholten Übertragungen
RU2369040C2 (ru) Буферизация при потоковой передаче данных
Gogate et al. Supporting image and video applications in a multihop radio environment using path diversity and multiple description coding
US7584404B2 (en) Method and apparatus for multimedia communication over packet channels
CN1864359B (zh) 用于广播和组播内容跨小区边界和/或不同传送方案之间的无缝传送的方法和相关装置
EP2061174B1 (en) Data communication system, data transmitting device and method, using probe packets and having a transmission buffer control
EP1328096B1 (en) Multimedia data packet communication with data type identifiers
ES2681671T3 (es) Procedimiento y dispositivo para distribuir información durante el suministro de difusión
US7711839B2 (en) Device and method for the preparation of sending data and corresponding products
US9225357B2 (en) Data packet transmission/reception apparatus and method
US7681101B2 (en) Hybrid corrective scheme for dropped packets
US8351363B2 (en) Method and apparatus for enhanced file distribution in multicast or broadcast

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190530

Address after: France

Patentee after: Interactive Digital CE Patent Holding Company

Address before: I Si Eli Murli Nor, France

Patentee before: Thomson Licensing Corp.