CN109155707B - 在多播网络中请求数据重传 - Google Patents
在多播网络中请求数据重传 Download PDFInfo
- Publication number
- CN109155707B CN109155707B CN201780025525.2A CN201780025525A CN109155707B CN 109155707 B CN109155707 B CN 109155707B CN 201780025525 A CN201780025525 A CN 201780025525A CN 109155707 B CN109155707 B CN 109155707B
- Authority
- CN
- China
- Prior art keywords
- multicast
- data packet
- data packets
- receiver
- transmitter
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1896—ARQ related signaling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1838—Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
- H04L1/1851—Time-out mechanisms using multiple timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
Abstract
本发明涉及一种在网络中请求重传由多播发送器最初发送的丢失数据分组的方法,所述多播发送器在所述网络中多播数据分组,所述方法由第一多播接收器执行并且包括以下步骤:‑当在多播发送器与第一多播接收器之间的数据链路上检测到(201)至少一个数据分组的丢失时,设定(206)计时器值并启动(207)计时器;‑当检测到(208)计时器达到所设定的计时器值时,经由上行控制链路向多播发送器发送(209)非确认消息,如果至少一个丢失数据分组先前未由多播发送器重传,则该非确认消息包括所述至少一个丢失数据分组的标识符。
Description
技术领域
本发明总体上涉及特别是在视频流媒体(video streaming)应用中重传多播数据分组。
背景技术
在本部分中描述的方法可以被执行,但不必是之前已设想或执行的方法。因此,除非在此另外表明,本部分中描述的方法不是本申请中的权利要求的现有技术,并且不因为被包含在本部分中而承认为现有技术。
多播是一种广泛使用的技术,尤其适用于视频流媒体,如互联网协议电视(Internet Protocol TeleVision(IPTV))。
多播避免了由于朝向接收器的单播数据流聚合所造成的带宽浪费。
在无线网络中,多播数据分组通常由物理层以鲁棒且稳健的模式发出,因为分组应当由多播数据流的任何订户接收,并且因为分组不能通过MAC重传方案重传。
与单播数据分组相反,多播数据分组以非确认模式发出,这意味着接收器在接收到数据分组时不会发送确认。
还可以选择物理层的鲁棒发送,因为发送器具有关于接收器中的接收状况的较少信息。因此,实现有效的链路自适应机制非常困难,因为它可能例如在单播流量的情况存在。
然而,即使利用非常鲁棒的物理模式,由于无线电信道变化和阴影效应,也可能会发生一些分组丢失。
这种分组丢失例如对于诸如智能电话或触摸板的小型手持装置尤其常见。
分组丢失对显示给用户的视频质量有害,因为它们被变换成音频和视频伪像。
为此,需要为多播视频数据流引入有效的重复机制,以改善用户体验的音频/视频质量。
在视频编码中,编解码器将图片排列为一连串帧内和帧间编码帧。
一组图片GOP是编码视频流内的一组连续图片。GOP可以包含以下帧类型:
-I帧,或帧内编码帧,其是独立于所有其它图片或帧来进行编码的图片。每个 GOP都以I帧开始;
-P帧,或预测编码帧,其包含关于先前解码的I帧或P帧的运动补偿差异信息;
-B帧,或双向预测编码帧,其包含关于先前和将来解码帧的运动补偿差异信息。为了避免传播错误,B帧通常不用作基准帧。
在优选实现中,多播数据链路可以通过IETF RTP(实时传输协议)协议传输。即使HTTP(超文本传输协议)协议经常用于视频发送,特别是用于互联网流媒体应用和通用即插即用UPnP应用,该协议也不适用,因为其依赖于与多播不兼容的TCP。相反,IPTV通过UDP协议依靠IETF RTP进行数据传输。
可以通过诸如实时传输控制协议RTCP的控制协议来增强数据传输,以允许按可扩展至大型多播网络的方式来监测数据传送,并提供最低限度的控制和识别功能。
RTP和RTCP在IETF RFC 3550中得到标准化。
RTCP还由IETF RFC 4585扩展,以便支持用于接收器的即时反馈的消息,特别是否定确认NACK消息。在RFC 6642中,引入了称作“第三方丢失报告”TPLR的新消息,以减少在多个接收器经历相同分组丢失时所导致的NACK消息的数量。“反馈风暴(feedback storm)”麻烦的影响也可能在无线网络中产生冲突。因此需要设计机制来避免它。
多媒体流的发送通常依赖于广泛使用的RTP/RTCP协议,特别是对于IPTV设备来说。
与HTTP不同,RTP/RTCP数据流通过UDP数据报输送,因此无法保证送达和分组顺序。然而,UDP数据报可以通过有线或无线网络进行多播。
在802.11(Wi-Fi)无线网络中,多播流可以按和广播流相同的方式发送:它们由应用提供商AP发送,没有任何确认策略(NoAck策略)和利用与任何接收器兼容的物理层模式。由于多播数据分组不重复,因而,物理层模式非常稳健,以便即使在无线电条件差的情况下也确保大多数接收器的良好接收。
然而,稳健的物理层模式不足以处理阴影效应或快速无线电信道变化。
与视频点播(VoD)应用不同,实况视频流播接收器不支持长时间缓冲区。与多个接收器联接的短时间缓冲区防止使用重传方案。
音频/视频解码器可以抵御数据错误,但其会导致视频帧丢失和/或视频/音频伪像。
因无线网络而造成的一连串分组丢失可以对音频/视频质量产生巨大影响,尤其是在丢失分组输送I帧时。实际上,在该情况下,所有GOP都将受到影响,并且在几秒钟期间将会看到许多伪像。
发明内容
[技术问题]
因此,在多播数据流的背景下需要有效且鲁棒的重传方法。
[问题的解决方案]
为解决这些需要中的至少一些,本发明第一方面涉及一种在网络中请求由多播发送器最初发送的丢失数据分组的重传的方法,所述多播发送器在所述网络中多播数据分组,所述方法由第一多播接收器执行并且包括以下步骤:
-在检测到所述多播发送器与所述第一多播接收器之间的数据链路上丢失至少一个数据分组时,设定计时器值并启动计时器;
-在所述计时器达到所设定的计时器值之后,经由上行控制链路向所述多播发送器发送非确认消息,如果至少一个丢失数据分组先前未由所述多播发送器重传,则所述非确认消息包括所述至少一个丢失数据分组的标识符。
在发送NACK消息之前设定计时器使能避免网络不必要地超载。实际上,在多播系统中,很可能其它接收器已经历相同丢失。这在无线多播的背景下甚至更加严重。因此,在计时器期满之前,可以接收缺失的数据分组,因为其先前已被另一多播接收器请求。另选地,可以接收丢失信息消息,其表示所述丢失数据分组将按多播重传(针对所有接收器),因为几个接收器已请求重传所述丢失数据分组。
根据本发明的一些实施方式,所述数据分组可以按序号排序,并且可以通过接收具有与已接收分组的最高序号不连续的序号的数据分组来检测所述丢失数据分组。
这使能快速确定分组的丢失并因此更有效地进行重传请求。
作为补充,所述第一多播接收器可以保持接收窗口,所述接收窗口具有窗口底部和窗口末端,所述窗口底部可以是所述至少一个丢失分组的序号当中的最低序号,并且所述窗口末端可以是已接收数据分组的最高序号加一。
保持接收窗口使能接收不按次序的分组,并因此限制了请求重传的数据分组的数量。
仍作为补充,当接收到具有与所述窗口底部相对应的序号的第一数据分组时,将所述第一数据分组和接收到的连续数据分组发送到应用单元并且更新所述窗口底部。
这使能连续更新所述接收窗口并即时(on-the-fly)处理数据流。
仍作为补充,如果所述窗口底部等于所述窗口末端,则可以停用所述计时器。
这使能限制第一多播接收器所消耗的处理资源。
根据一些实施方式,当检测到丢失至少一个数据分组时,所述第一多播接收器可以基于所述接收窗口的填充率并且基于前一数据分组和下一数据分组的相应状态,确定所丢失的数据分组是否是单个分组丢失。在确定是单个分组丢失时,可以将所述计时器值除以预定系数。
这使能增强重传请求方法的效率。根据一些实施方式,所述非确认消息包括所述接收窗口的全部丢失分组的标识符。根据一些实施方式,所述方法还可以包括:当检测到所述接收窗口的一组数据分组与相应的经过时间戳相关联时:
-将所述一组数据分组发送到应用单元;
-从所述接收窗口丢弃所述一组数据分组;以及
-更新所述接收窗口。
这使能重新同步所述接收窗口,而不会使音频/视频质量降低太大。实际上,所述应用单元可以实现弹性的视频或音频编码,而且即使一些数据分组缺失也可以使用可用信息。
根据一些实施方式,所述计时器值由所述多播接收器在最小值至最大值之间的范围内随机抽取。
这使能避免由其它多播接收器发送的NACK消息之间的时间冲突,因为其降低了将两个NACK消息同时发送到所述多播发送器的概率。
作为补充,基于由所述多播接收器接收到的n个最近数据分组的平均分组间时间来计算所述最小值,n是大于或等于1的整数。
这使能确保在将NACK消息发送给多播发送器之前,由第一多播接收器接收至少一个下一数据分组,所述下一数据分组可能是NACK消息中要请求重传的丢失数据分组之一。
根据一些实施方式,所述数据分组可以由所述第一多播接收器解码以构建视频/音频帧,并且可以基于与所述窗口底部的所述数据分组相对应的帧的第一呈现时间戳值与当前播放帧的第二呈现时间戳值之间的差来设定所述最大值。
这使能确保在接收到重传的数据分组之后才显示其携带的内容。因此,视频/音频质量得到改善。
根据一些实施方式,所述第一多播接收器还可以在多播下行控制链路上从所述多播发送器接收丢失报告消息,所述丢失报告消息标识将由所述多播发送器与单播模式和多播模式当中的传输模式相关联地重传的数据分组。如果给定数据分组被标识成按多播模式重传并且如果所述给定数据分组属于检测到的至少一个丢失数据分组,则所述非确认消息不包括所述给定数据分组的标识符。
这使能避免为已经被安排按多播重传的数据分组发送不必要的NACK消息。这减少了网络负载。
根据一些实施方式,所述多播接收器还可以在多播下行控制链路上从所述多播发送器接收丢失报告消息,所述丢失报告消息标识将由所述多播发送器与单播模式和多播模式当中的传输模式相关联地重传的数据分组。如果给定数据分组被标识成按单播模式重传并且如果所述给定数据分组属于检测到的至少一个丢失数据分组,则可以将至少包括所述给定数据分组的标识符的所述非确认消息发送到所述多播发送器,不需要等待所述计时器达到所设定的计时器值。
这使能向多播发送器指出第一接收器也缺失了给定数据分组。作为反应,所述多播发送器可以决定改变给定数据分组的重传模式以按多播方式发送,因此提高了该方法的效率。
根据一些实施方式,所述数据分组可以由所述第一多播接收器解码以构建视频/音频帧,并且所述第一多播接收器还可以在多播下行控制链路上从所述多播发送器接收内容信息消息,所述内容信息消息将每个数据分组与下列类型当中的视频/音频帧的帧类型相关联:帧内编码帧、音频帧、预测编码帧、双向预测编码帧。针对所述至少一个检测到的丢失分组当中的每个丢失分组,可以由所述多播接收器基于所述内容信息消息来确定所关联的帧类型。在所述非确认消息中标识的所述丢失数据分组基于它们各自的关联帧类型来给予优先级。
这使能优先化对音频/视频质量具有重大影响的数据分组的重传。
本发明第二方面涉及一种包括其上存储有计算机程序指令的计算机可读介质的计算机程序产品,该计算机程序指令可加载到计算装置中并且适于在加载到所述计算装置中并通过其执行时,使该计算装置执行根据本发明第一方面所述的方法的步骤。
本发明第三方面涉及一种用于在网络中请求重传由多播发送器最初发送的丢失数据分组的多播接收器,所述多播发送器在所述网络中多播数据分组,所述多播接收器包括处理器,该处理器被设置用于:
在所述多播发送器与第一多播接收器之间的数据链路上检测至少一个数据分组的丢失;
当检测到所述丢失时,设定计时器值并启动计时器;
在所述计时器达到所设定的计时器值之后,经由所述多播接收器的网络接口并且在上行控制链路上向所述多播发送器发送非确认消息,如果至少一个丢失数据分组先前未由所述多播发送器重传,则所述非确认消息包括所述至少一个丢失数据分组的标识符。
本发明的第四方面涉及一种包括根据本发明的第三方面所述的至少一个多播接收器以及多播发送器的系统。
本发明在附图的图中通过示例而非限制的方式进行了例示,其中,相同标号表示相似部件。
附图说明
-图1表示根据本发明一些实施方式的多播系统;
-图2是例示根据本发明一些实施方式的用于请求数据分组的重传的方法的流程图;
-图3例示了根据本发明一些实施方式的多播接收器的接收窗口;
-图4是例示根据本发明一些实施方式的多播接收器的计时器的状态的流程图;
-图5是根据本发明一些实施方式的、用于请求数据分组的重传的交换图;
-图6是示出分组接收以及显示由接收分组所携带的帧的定时图;
-图7示出了根据本发明一些实施方式的多播接收器的结构;
-图8是例示根据本发明一些实施方式的重传方法的图示交换;
-图9是例示根据本发明一些实施方式的重传方法的图示交换;以及
-图10是根据本发明一些实施方式的多播发送器的详细结构。
具体实施方式
图1例示了根据本发明实施方式的系统。
该系统包括多播发送器10,多播发送器10可以访问要发送到接收器的多播内容。为此,多播发送器10连接至诸如无线站(例如,802.11站)的第一站11,第一站11 可以被视为多播发送器10的外部接口。
在本发明中,数据分组表示音频/视频多媒体内容的音频/视频帧。数据分组由多播发送器10经由第二站12发送到第一多播接收器14,并且经由第三站13发送到第二多播接收器15。
为了多媒体内容的传输,本发明可以引入:
-用于数据传输和重传的一个单向多播数据链路18;
-用于重传目的的n个单向单播数据链路19.1-19.2,n是多播接收器的数量(图 1上所示示例中为2);
-用于CONTENT-INFO消息的传输的一个单向多播控制链路20(下行链路),CONTENT-INFO消息是将在下文中描述的新消息;
-用于反馈消息的传输的n个单向控制链路21.1-21.2(上行链路)。
因此,重传方案无论是在单播模式下经由数据链路19.1-19.2,还是在多播模式下经由单向多播数据链路18,都可以重传数据分组。
多播接收器14和15可以将接收到的分组传送至相应的应用单元16和17,它们被配置成从数据分组中提取视频-音频帧,以将其呈现给用户(例如,在诸如屏幕的显示单元上)。
为此,发送到应用16和17的数据分组是没有任何丢失的按次序的数据分组,除非数据分组中的一个的头部中指示的呈现时间戳已过去。在该情况下,具有期满的时间戳的数据分组被传送至它们各自的应用单元并被多播接收器丢弃。实际上,应用单元可以实现弹性的视频或音频编码,而且即使一些部分缺失也可以使用可用信息。然后,多播接收器可以尝试重新同步至下一个帧内编码视频帧。
要发送按次序的分组,多播接收器14和15可以保持接收窗口,其将在下文中描述。
在优选实施方式中,数据链路18、19.1以及19.2通过IETF RTP协议传输。然而,对本发明中使用的协议没有限制。
控制链路20、21.1以及21.2可以通过IETF RTCP协议传输,可选地,通过利用在下文中称作“内容信息消息”的新分组类型来扩展该协议。
可以通过多播数据链路18或者通过单播数据链路19.1和19.2中的一些来执行数据分组的重传,例如取决于由数据分组传输的音频/视频帧的重要性,和/或取决于要重传的丢失分组的数量和分发。
使用数据多播链路18进行重传允许在几个接收器缺失相同数据分组时节省带宽,并且还加强了传输鲁棒性。因此,当所有接收器或大多数的接收器经历了相同的数据分组丢失时,优选地使用多播重传。例如,对于Wi-Fi小区的情况来说,如果所考虑的Wi-Fi小区安装在诸如公共汽车或有轨电车的运输车辆内,则多播接收器可能遭受因固定Wi-Fi小区而造成的扰动。
当仅一个多播接收器或少数多播接收器经历一些错误时,使用单播数据链路19.1和19.2来进行重传更有效,因为可以选择适合于接收器的物理层发送模式,这在带宽方面成本较低。
多播控制链路20可以由多播发送器10用于发送不同的控制消息,诸如丢失报告消息和内容信息消息。
丢失报告消息(例如,如先前引入的TPLR消息)可以指示已由至少一个多播接收器请求重传的数据分组的标识符。另外,丢失报告消息可以指示由多播发送器10 在多播模式和单播模式中为每个标识的数据分组选择的重传模式。
内容信息消息可以由多播发送器10周期性地发送,并且它们指示与数据分组的序号相关联的音频/视频帧信息。音频/帧信息包括音频帧类型、帧内编码帧类型、预测帧类型以及双向预测帧类型当中的帧类型。
内容信息消息还可以可选地包括多播发送器10的传输窗口状态,诸如较低和较高的序号以及关联时间戳。如下说明的,当发生太多错误时,该信息对于多播接收器丢弃数据分组并以较高优先级请求携带音频帧和视频帧内编码帧的数据分组是有用的。
如下文所述,多播接收器14和15负责选择请求重传的数据分组。
图2是例示根据本发明一些实施方式的请求重传的方法的步骤的流程图。该方法在多播接收器14和15之一中执行。
在步骤200,经由多播数据链路18从多播发送器10接收数据分组。所接收的数据分组可以根据例如通过该数据分组的头部中的序号来标识。
在步骤201,多播接收器确定所有分组是否按顺序(意味着接收窗口是空的)以及接收到的分组的序号是否延续先前接收到的数据分组的序号。
如果是,则在步骤202将数据分组转发至应用单元16或17。
否则,在步骤203,基于接收到的数据分组来更新接收窗口。
图3例示了根据本发明一些实施方式的多播接收器的接收窗口。
接收窗口304使能标识尚未发送给应用单元的接收分组303的序号以及缺失或丢失分组302的序号。因此,当没有收到丢失的数据分组时,可以将接收窗口304视为可存储具有不连续序号SN的数据分组的存储器池。
当接收窗口为空时,在乱序地接收到数据分组时,即,在接收到的数据分组不延续发送给应用单元的最后分组时,可以标识丢失的数据分组。
接收窗口304包括:窗口300的底部,所述底部对应于丢失数据分组302的最低序号;以及窗口301的末端,所述末端对应于接收到的数据分组的最高序号加1。
在步骤203更新接收窗口304包括在接收窗口中添加最近接收到的数据分组并重新计算窗口300的底部或窗口301的末端。例如,如果接收到的数据分组对应于窗口 300的底部,则将所有连续接收到的数据分组发送到应用单元16或17,并且将窗口 300的底部更新成接收窗口304的下一个丢失数据分组的序号。
在步骤204,检查是否丢失至少一个数据分组,这意味着接收窗口不为空。
如果没有,则在步骤203的更新之后没有数据分组缺失,这意味着接收窗口是空的,并且窗口301的末端等于窗口300的底部。因此,在步骤212停用计时器(将在下文中描述),并且该方法返回步骤200以接收新的数据分组。
如果接收窗口不为空,则在步骤205检查计时器是否活动(被启动)。
根据本发明来使用计时器。例如,计时器从值0开始,然后达到计时器值TNACK。
如果计时器已启动,则该方法直接进入下文描述的步骤208。
否则,在步骤206设定(或抽取(draw))计时器值TNACK。计时器值TNACK可以预先固定。然而,根据本发明的有利实施方式,在步骤206随机抽取计时器值TNACK。例如,TNACK可以在最小值TMin至最大值TMax之间的范围[TMin;TMax]内抽取。
在步骤207,启动(启用)计时器。
在步骤208,检查计时器是否已达到计时器值TNACK。从图2中的步骤208的右角离开并再次进入步骤208时的箭头显示出步骤208是连续步骤。实际上连续检查计时器,直到在步骤200接收到新分组或者直到达到计时器值TNACK为止。
如果没有,则该方法返回至步骤200,直到从多播发送器接收到新的数据分组为止。
否则,如果计时器已达到计时器值TNACK,则在步骤209,经由上行控制链路21.1 或21.2向多播发送器发送非确认消息,该非确认消息包括接收窗口304的至少一个丢失数据分组的标识符。该非确认消息还可以包括接收窗口304的所有缺失(丢失) 数据分组的所有标识符。数据分组的标识符没有限制。例如,数据分组可以通过它们各自的序号来标识。
接着,在步骤210,例如在范围[TMin;TMax]内抽取新的计时器值TNACK,并且在步骤211,重新启动计时器。该方法然后返回至步骤200。
参照图4总结了计时器的启用和停用。
图4是例示根据本发明一些实施方式的计时器的不同状态的流程图。
在初始状态400,没有数据分组缺失,并且接收窗口304为空。在初始状态,停用计时器。
根据转变401,检测到数据分组丢失(或者检测到几个数据分组丢失)。然后可以使指示缺失数据分组的数量的计数器递增,抽取计时器值TNACK,该计时器被启动并且执行到等待状态402的转变。当然,创建用于对缺失数据分组的数量进行计数的计数器是可选的,因为可从接收窗口304得到缺失分组的数量,其是定期更新的。
在等待状态402,可能发生几次转变。
根据转变403,检测到新的数据分组丢失,然后将指示缺失数据分组的数量的计数器递增,并且多播接收器保持在等待状态402。
根据转变404,接收之前在接收窗口304中缺失的重传数据分组,更新接收窗口,但更新的接收窗口304不为空。然后将指示缺失数据分组的数量的计数器递减,并且多播接收器保持在等待状态402。
根据转变405,计时器达到设定的计时器值TNACK。然后,发送非确认消息,抽取新的计时器值TNACK并重新启动计时器。多播接收器保持在等待状态402。
根据转变406,接收之前在接收窗口304中缺失的重传数据分组,更新接收窗口304,并且更新的接收窗口304为空。然后,多播接收器从等待状态402转变成初始状态400。
根据转变407,可以决定丢弃操作,因为位于窗口300的底部与窗口301的末端之间的数据分组的时间戳已经过去。接收窗口304被更新并变为空。然后,多播接收器从等待状态402转变成初始状态400。
根据转变408,决定丢弃操作,因为位于窗口300的底部与较高序号之间的数据分组的时间戳已经过去。所述较高的序号小于窗口301的末端。通过取消时间戳已经过的数据分组来更新接收窗口304,但更新的接收窗口304不为空。然后,按缺失的丢弃分组的数量来减小指示缺失数据分组的数量的计数器,并且多播接收器保持在等待状态402。
在执行转变407和408时,可以将丢弃的数据分组发送给应用单元16或17。实际上,如前所述,应用单元可以实现弹性的视频或音频编码,而且即使一些数据分组缺失也可以使用可用信息。然后,多播接收器可以尝试重新同步至下一个帧内编码视频帧。
图5是例示根据本发明一些实施方式的用于请求数据分组重传的方法的定时图。
该定时图示出了多播发送器10、第一多播接收器14以及第二多播接收器15之间的交换。
数据分组由它们各自的序号来标识。
第一多播接收器14和第二多播接收器15二者正确地接收到数据分组1和2。然而,第一多播接收器14未接收到数据分组3。因此,在接收到数据分组4时,第一多播接收器14检测到数据分组3缺失,并相应地更新其接收窗口。第一多播接收器 14还抽取计时器值并启动计时器。
第一和第二多播接收器二者未接收到数据分组6。仅第二多播接收器15未接收到数据分组7。
在接收到数据分组7时,因为数据分组7与先前发送给应用单元16的数据分组 5不连续,第一多播接收器14检测到数据分组6丢失,并且更新其接收窗口304。
在接收到数据分组7之后,第一多播接收器的计时器达到计时器值TNACK,并因此将标识缺失的数据分组3和6的确认消息发送给多播发送器10。
然后,发送器在多播数据链路18上重传数据分组3和6。另选地,并且如下说明的,数据分组3和6可以经由单播数据链路19.1仅发送到第一多播接收器14。
在接收到数据分组8时,第二多播接收器15检测到分组6和7丢失,更新其接收窗口304,抽取计时器值TNACK并启动计时器。
在接收到分组3和6时,第一多播接收器14更新其接收窗口。在接收到数据分组6之后,接收窗口为空,并且在第一多播接收器14中不再有分组缺失,因此停用其计时器。
第二多播接收器15可以忽略先前已由第二多播接收器15接收到的数据分组3。
在第二多播接收器15接收数据分组9期间,第二多播接收器15的计时器达到计时器值TNACK,因此第二多播接收器15向多播发送器10发送非确认消息。因为多播发送器10已重传了先前丢失的分组6,所以该非确认仅包括数据分组7的标识符。然后抽取新的计时器值并重新启动(或重新初始化)计时器。
多播发送器10重传数据分组7。在接收到数据分组7时,第二多播接收器15更新其接收窗口304,接收窗口304变为空,然后停用计时器。
链路问题也可能存在于上行控制链路21.1和21.2上,并且非确认消息可能丢失。然而,由多播接收器启动的计时器确保在计时器期满之后,如果某些数据分组仍然缺失,则将发送新的非确认消息。
在图5上示出的实施方式中,在接收到非确认消息之后,多播发送器10立即发送所标识的数据分组。然而,在一些实施方式中,可以延迟重传,如下文说明的那样。
当多播接收器在NACK消息中请求重传过旧的数据分组时,建议多播发送器10 在多播控制链路20上发送内容信息消息,以通知多播接收器14和15有关发送窗口的状态。
在接收到该内容信息消息时,多播接收器14或15可以决定通过丢弃一些数据分组来清除其接收窗口的一部分,以使窗口的底部向前移动至内容信息消息中所指示的下一恢复点。该下一恢复点例如可以是对应于帧内编码帧的数据分组,或者可以对应于发送窗口的窗口底部。这使得能够取消累积的延迟,并且能够重新启动分组传送而不会因新的未恢复错误而连续中断。
当多播接收器14或15接收到其接收窗口之外的数据分组时,也可以执行相同的清除操作。当窗口因位于窗口底部的数据分组的连续错误而未向前移动时,可能会发生这种情况。
如上说明的,可以在范围[TMin;TMAX]内抽取计时器值TNACK。
可以基于窗口底部的数据分组所携带的帧的呈现时间戳(PTS)值与当前播放帧的PTS之间的差来设定最大值TMax。实际上,数据分组可以存储在应用单元16或17 的视频缓冲器(高速缓存)中,并且音频/视频解码器以一定量的延迟来播放从所述数据分组获得的帧。这为多播接收器提供了一些时间来接收携带下一音频/视频帧的数据分组。
图6例示了分别示出了多播接收器对数据分组的接收以及解码器上的输出的两个并行时间线。
第一分组的接收与视频显示的开始之间的时间差600对应于解码器的视频缓存深度。
三个数据分组602.1携带第一帧603.1,五个数据分组602.2携带第二帧603.2,五个数据分组602.3携带第三帧603.3,以及四个分组602.4携带第四帧603.4。
如图6所示,携带给定帧的数据分组的接收完成与给定帧的显示之间的时间差601.1到601.4减少直到变为负,这意味着必须延迟第四帧603.4的显示。
为避免这种情况,如上所述地设定最大值TMax。
多播接收器也可以设定最小值TMin,使得持续时间TMin覆盖至少几个数据分组的接收。
由于可以使利用可变比特率对原始音频/视频内容进行编码,因而作为接收两个连续数据分组之间经过的时间的分组间时间可以是可变的。
从而,多播接收器可以保持最后n个接收到的连续数据分组的平均分组间时间。可以基于平均分组间时间来计算最小值TMin。例如,其可以是平均分组间时间的整数倍。
下面,对根据本发明的方法的进一步可选改进进行描述。
根据一些实施方式,多播接收器可以决定在计时器达到设定的计时器值TNACK之前发送非确认消息。
例如,接收窗口的填充率和连串数据分组错误的平均大小可以是用于检测单个分组丢失的准确指示符。接收窗口的填充率可以是发送窗口中接收到的数据分组与缺失数据分组的比率。
因此,当检测到单个数据分组丢失时,可以将计时器值TNACK除以预定系数,以便加速非确认消息的发送。
而且,在从多播发送器接收到丢失报告消息时,调整包含要包括在待发送的下一非确认消息中的数据分组的标识符的分组缺失列表,使得多播接收器不再请求已安排多播重传的数据分组。因此,分组缺失列表对应于接收窗口的丢失分组,其中不包括已请求重传的丢失数据分组。
例如,如果第二多播接收器15请求重传给定数据分组,则多播发送器10可以多播丢失报告消息,丢失报告消息指示要在多播模式中重传给定数据分组。因此,即使在第一多播接收器14也检测到给定数据分组丢失的情况下,因为该给定数据分组已被请求重传,第一多播接收器14不在非确认消息中包括给定数据分组的标识符。
根据另一实施方式,如果丢失报告消息指示以单播模式重传给定数据分组(针对已请求重传的另一多播接收器),并且如果多播接收器确定给定数据分组属于缺失分组列表,则多播接收器立即发送非确认消息来请求重传给定数据分组,而不等待计时器达到计时器值TNACK。这允许优化单播/多播选择过程到发送器,其使能节省一些带宽资源。
根据一些实施方式,在非确认消息中请求的丢失数据分组可以由多播接收器根据它们携带的音频/视频帧的类型来进行排序。
例如,基于多播发送器在丢失报告消息中宣布的重传数据分组的数量,多播接收器可以决定限制非确认消息中包括的丢失数据分组的标识符的数量。
数据分组可以按优先级分类:
1)已在一个丢失报告消息中宣布以单播模式重传的数据分组。实际上,如上说明的,在该情况下,可以在不等待计时器达到计时器值TNACK的情况下发送非确认消息;
2)携带帧内编码视频帧或音频帧的分组;
3)携带视频预测帧的分组;
4)携带视频双向预测帧的分组。
在携带预测或双向预测帧的分组当中,可以赋予遭受最少数据分组丢失的帧优先级。
出于例示的目的而给出以上分类。当然,可以改变数据分组类型的次序。例如,可以在携带帧内编码视频帧的分组之前或之后对音频帧进行分类。
多播接收器可以基于由多播发送器10周期性发送的内容信息消息来推断分组与帧类型之间的关联。
这使能限制针对最重要的数据分组的重传次数。实际上,重传的分组的总数优选地不超过流平均带宽(stream average bandwidth)的给定百分比(例如10%),以保持系统效率。
而且,多播接收器优选地不请求重传携带具有与当前解码帧的PTSd相比太高的PTSN的音频/视频帧n的数据分组。为此可以考虑往返时间(RTT)、重传所需最小时间TRtxMin(下文说明)以及时间余量σ。
例如,可以应用以下公式来检查数据分组是否符合重传条件:
PTSN<PTSd-TRtxMin-RTT-σ。
图7示出了根据本发明一些实施方式的多播接收器700。例如,多播接收器700 可以是第一多播接收器14或第二多播接收器15。
多播接收器700包括随机存取存储器703和处理器702,随机存取存储器703可以存储用于执行以上参照图2和图4时所述的方法的步骤的指令。
多播接收器700还可以包括数据库704,数据库704用于存储由根据本发明的方法产生的数据。例如,数据库704可以存储接收窗口并且可选地存储缺失数据分组列表。
多播接收器包括用于与多播发送器10通信的网络接口701。网络接口701也可以位于站12中。在该情况下,接收器14和站12可以在多播接收器700中组合在一起。网络接口701可以是无线接口,如IEEE 802.11接口。网络接口701可以接收由网络发送器10在链路18、19或20上传送的数据或控制消息。网络接口701还可以将NACK消息发送给网络发送器10。
多播接收器700还包括输出接口705,输出接口705用于将按次序的分组发送到应用单元,并且更一般地,与应用单元通信(例如,以获得当前播放帧的PTS)。
下面,对由多播发送器10执行的重传进行描述。
如前所述,多播发送器10可以在多播控制链路20上周期性地发送内容信息消息,以通知每个多播接收器14和15有关多播数据分组所携带的内容。然而,由于多播控制链路20可能容易出错,因而重复几次相同内容信息消息是有用的,以使每个多播接收器可以访问该内容信息消息所携带的信息。
丢失报告消息(例如,TPLR消息)可以由多播发送器10通过多播控制链路20 发出,以向每个多播接收器14和15通知有关将要重传的数据分组。TPLR消息在RFC 6642中标准化。如上提到,可以扩展TPLR消息以报告被安排重传的每个数据分组的发送模式(多播或单播)。
计时器值TTPLR和关联的发送器计时器可以用于管理TPLR消息的发出。在通过单播控制信道21.1和21.2之一接收到NACK消息时,多播发送器可以更新待重传的数据分组的内部列表,如果发送器计时器已达到计时器值TTPLR,则可以发送新的 TPLR消息。
然后重新启动发送器计时器,并利用限定的值来重置TTPLR。多播发送器10在实际重传所请求的数据分组之前等待最小持续时间TRtxMin。
这使得多播发送器10能够时让任何多播接收器14和15在接收到TPLR消息时有机会发送立即NACK消息(例如,如果TPLR消息指示给定消息的安排的单播发送,并且如果在接收TPLR消息的多播接收器中缺失该给定消息)。
当请求重传的数据分组属于一连串错误(意味着连续数据分组缺失)或者被几个多播接收器请求时,多播发送器10可以安排以多播模式重传数据分组。否则,可以将数据分组安排成以单播模式重传给请求的多播接收器。
当将多播模式用于重传时,数据分组可以与同一数据流中第一次发送的数据分组复用,以优化第2层的带宽使用,如标准IEEE 801.11e引入的TxOp机制所提出的那样。
优选地,多播发送器10可以确保重传的数据分组的总数不超过预定阈值,该阈值可以与媒体流比特率成比例。因而,多播发送器10可不重传一些请求的数据分组。
数据分组被安排重传的顺序:
-携带视频帧内编码帧或音频帧的数据分组;
-携带视频预测帧的数据分组;
-携带视频双向预测帧的数据分组。
在一优先级别内,数据分组可以根据它们各自的序号进行排序和重传。
为例示,图8是例示根据本发明第一示例的由多播发送器10执行的重传方法的流程图。
第一多播接收器14由其标号14表示,第二多播接收器15由其标号15表示,并且多播发送器10由其标号10表示。
在步骤801,第二多播接收器15经由发送到多播发送器10的NACK消息请求重传数据分组4到7。
在接收到NACK消息时,多播发送器为数据分组4到7选择重传模式。由于丢失的数据分组4到7对应于一连串的错误,因而可以决定多播重传数据分组4到7。
然后,在多播控制链路20上将TPLR消息发送到所有多播接收器,TPLR消息指示已安排多播重传分组4到7。
与此并行地,在步骤802发出TPLR消息之后,在步骤810.1,启动发送器计时器TTPLR。
在步骤803按多播重传数据分组4之前,多播发送器10在还在步骤811.1等待持续时间TRtxMin。
然后,在步骤804,多播发送器10按多播重传数据分组5。
在步骤805,第一多播接收器14向多播发出器发送NACK消息,请求重传数据分组3。
多播发送器10为数据分组3选择重传模式:例如单播。
因为在此期间,发送器计时器已期满(已达到TTPLR值),所以在步骤806,在多播控制链路20上多播新的TPLR消息,其指示数据分组3的安排的重传采用单播,而数据分组6和7的安排的重传采用多播。
与此并行地,在步骤806发出TPLR消息之后,在步骤810.2启动发送器计时器。
在步骤807按单播向第一多播接收器14重传数据分组3之前,多播发送器10 在还在步骤811.2等待持续时间TRtxMin。
在步骤808,数据分组6按多播重传,并且在步骤809,数据分组7按多播重传。
图9是例示根据第二示例的由多播发送器10执行的重传方法的流程图。
再次,第一多播接收器14由其标号14表示,第二多播接收器15由其标号15 表示,并且多播发送器10由其标号10表示。
在步骤901,第二多播接收器15经由发送给多播发送器10的NACK消息请求重传数据分组4、7、10及15。
在接收到NACK消息时,多播发送器为数据分组4、7、10选择重传模式:因为它们不对应于一连串错误并且因为仅被一个多播接收器请求,所以选择单播模式。
然后,多播发送器10以多播模式向所有接收器发送TPLR消息,TPLR消息指示数据分组4、7及10将以单播模式重传。多播发送器还可以为数据分组15选择重传模式。例如,数据分组15被安排为以多播模式重传,例如,因为其携带了具有高优先级的帧。
在接收到TPLR消息时,第一多播接收器14向多播发出器10发送第二NACK 消息,请求对数据分组3、7及10进行重传。在TPLR消息之后立即发送第二NACK 消息,因为第一多播接收器缺失了数据分组7和10,并且这些数据分组被安排为仅按单播模式重传(针对请求的第二多播接收器15)。
在此期间未重传数据分组4,因为在接收第一NACK消息与接收第二NACK消息之间经过的时间小于TRtxMin。
与此并行地,在步骤902发出TPLR消息之后,在步骤914.1启动发送器计时器。因为当第二NACK消息在步骤903中被接收到时,计时器尚未期满,所以在步骤903 之后不发送新的TPLR消息。
在步骤903接收到第二NACK消息时,在步骤904按单播向第一多播接收器14 重传数据分组3之前,多播发送器10还在步骤913.1等待持续时间TRtxMin。
在步骤906,数据分组7按多播模式重传给所有多播接收器,因为已有至少两个多播接收器请求了重传。
在步骤907,数据分组10按多播模式重传给所有多播接收器,因为已有至少两个多播接收器请求了重传。
在步骤908,第一多播接收器14向多播发出器10发送第三NACK消息,请求重传分组18和22。
多播发送器10为数据分组18和22选择重传模式:例如,单播模式。
因为在此期间,发送器计时器已经期满(已经达到TTPLR值),所以在步骤909,在多播控制链路20上多播新的TPLR消息,TPLR消息指示数据分组15的安排的重传采用多播,而数据分组18和22的安排的重传采用单播。
与此并行地,在步骤909发出TPLR消息之后,在步骤914.2启动发送器计时器。
在步骤910按多播重传数据分组15之前,多播发送器10还在步骤913.2等待持续时间TRtxMin。
在步骤911,数据分组18按单播重传给第一多播接收器14,并且在步骤912,数据分组22按单播重传给第一接收器14。
图10例示了根据本发明一些实施方式的多播发送器10。
多播发送器10包括随机存取存储器1003和处理器1002,随机存取存储器1003 可以存储用于执行上述步骤的指令(特别是参照图8和图9)。
多播发送器10还可以包括数据库1004,数据库1004用于存储由根据本发明的方法产生的数据。例如,数据库1004可以存储发送窗口。
多播发送器10包括用于与多播接收器通信的网络接口1001。网络接口1001也可以位于站11中。在该情况下,站11可以集成在多播发送器10中。网络接口1001 可以是无线接口,如IEEE 802.11接口。网络接口1001可以在链路18、19或20上发送数据分组或控制消息。网络接口1001还可以从多播接收器14和15接收NACK 消息。
本发明还可以嵌入计算机程序产品中,计算机程序产品包括能够实现本文所述方法的所有特征,并且其在被加载到信息处理系统中时,使该信息处理系统成为可能。在当前背景下,计算机手段或计算机程序是指旨在使具有信息处理能力的系统直接或者在转换成另一语言之后执行特定功能的一组指令的、采用任何语言、代码或记法的任何表达。此类计算机程序可以被存储在计算机或机器可读介质上,其允许从该介质读取数据、指令、消息或消息分组,以及其它机器可读信息。计算机或机器可读介质可以包括非易失性存储器,如ROM、闪速存储器、盘驱动器存储器、CD-ROM,以及其它永久性存储部。另外,计算机或机器可读介质例如可以包括易失性存储器,如 RAM、缓冲区、高速缓冲存储器,以及网络电路。而且,计算机或机器可读介质可以在暂态介质中包括计算机或机器可读信息,如允许装置读取此类计算机或机器可读信息的网络链路和/或网络接口,包括有线网络或无线网络。
诸如“包括(comprise)”、“包括(include)”、“并入(incorporate)”、“包含(contain)”、“是(is)”以及“具有(have)”的表达在解释本描述及其相关权利要求时要以非排它方式解释,即,被解释为允许未明确定义的其它项目或组件也将存在。对单数的引用也应被解释为对复数的引用,反之亦然。
虽然已经例示并描述了目前被认为是本发明的优选实施方式的内容,但本领域技术人员应当明白,在不脱离本发明的真实精神的情况下,可以进行各种其它修改,并且可以替换等同物。另外,在不脱离本文所述中心发明概念的情况下,可以进行许多修改以使适应针对本发明的教导的特定情况。而且,本发明的实施方式可以不包括上述所有特征。因此,本发明不是旨在限制于所公开的特定实施方式,而是本发明包括落入如上面广义定义的本发明范围内的所有实施方式。
本领域技术人员将容易清楚,在不脱离本发明的范围的情况下,可以修改本描述中公开的各种参数并且可以组合所公开和/或要求保护的各种实施方式。
[工业应用]
本发明的方法、计算机程序产品、多播接收器,以及系统适用于多种领域的多播网络。
Claims (15)
1.一种在网络中请求重传由多播发送器最初发送的丢失数据分组的方法,所述多播发送器在所述网络中多播数据分组,所述方法由第一多播接收器执行并且包括以下步骤:
-当在所述多播发送器与所述第一多播接收器之间的数据链路上检测到至少一个数据分组的丢失时,设定计时器值并启动计时器;
-当检测到所述计时器达到所设定的计时器值时,经由上行控制链路向所述多播发送器发送非确认消息,如果至少一个丢失数据分组先前未由所述多播发送器重传并未被所述第一多播接收器接收到,则所述非确认消息包括所述至少一个丢失数据分组的标识符;
其中,所述第一多播接收器还在多播下行控制链路上从所述多播发送器接收丢失报告消息,所述丢失报告消息标识将由所述多播发送器与单播模式和多播模式当中的传输模式相关联地重传的数据分组,
其中,如果给定数据分组被标识为按照多播模式重传并且所述给定数据分组属于检测到的所述至少一个丢失数据分组,则所述非确认消息不包括所述给定数据分组的标识符;如果给定数据分组被标识成按照单播模式重传并且所述给定数据分组属于检测到的所述至少一个丢失数据分组,则将至少包括所述给定数据分组的标识符的所述非确认消息发送给所述多播发送器,而不等待所述计时器达到所设定的计时器值。
2.根据权利要求1所述的方法,其中,所述数据分组按照序号排序,并且其中,由于接收到具有不与已接收分组的最高序号连续的序号的数据分组而检测到所述丢失数据分组。
3.根据权利要求2所述的方法,其中,所述第一多播接收器保持具有窗口底部和窗口末端的接收窗口,其中,所述窗口底部是所述至少一个丢失数据分组的序号当中的最低序号,其中,所述窗口末端是已接收数据分组的最高序号加一。
4.根据权利要求3所述的方法,其中,当接收到具有与所述窗口底部相对应的序号的第一数据分组时,将所述第一数据分组和接收到的连续数据分组发送到应用单元,并且更新所述窗口底部。
5.根据权利要求4所述的方法,其中,如果所述窗口底部等于所述窗口末端,则停用所述计时器。
6.根据权利要求3至5中任一项所述的方法,其中,当检测到至少一个数据分组的丢失时,所述第一多播接收器基于所述接收窗口的填充率并且基于前一数据分组和下一数据分组的相应状态,确定所述丢失数据分组是否是单个分组丢失,并且其中,在确定是单个分组丢失时,将所述计时器值除以预定系数。
7.根据权利要求3至5中任一项所述的方法,其中,所述非确认消息包括所述接收窗口的全部丢失数据分组的标识符。
8.根据权利要求3至5中任一项所述的方法,其中,所述方法还包括,当检测到所述接收窗口的一组数据分组与相应的经过时间戳相关联时:
-将所述一组数据分组发送到应用单元;
-从所述接收窗口丢弃所述一组数据分组;以及
-更新所述接收窗口。
9.根据权利要求3所述的方法,其中,所述计时器值由所述第一多播接收器在最小值至最大值之间的范围内随机抽取。
10.根据权利要求9所述的方法,其中,基于由所述第一多播接收器接收到的n个最近数据分组的平均分组间时间来计算所述最小值,n是大于或等于1的整数。
11.根据权利要求9或10所述的方法,其中,所述数据分组由所述第一多播接收器解码以构建视频/音频帧,并且其中,基于和所述窗口底部的所述数据分组相对应的帧的第一呈现时间戳值与当前播放的帧的第二呈现时间戳值之间的差来设定所述最大值。
12.根据权利要求1所述的方法,其中,所述数据分组由所述第一多播接收器解码以构建视频/音频帧,并且其中,所述第一多播接收器还在多播下行控制链路上从所述多播发送器接收内容信息消息,所述内容信息消息与具有下列类型当中的视频/音频帧的帧类型的各个数据分组相关联:帧内编码帧、音频帧、预测编码帧、双向预测编码帧,
其中,针对检测到的至少一个丢失分组当中的每个丢失分组,所述第一多播接收器基于所述内容信息消息来确定所关联的帧类型,
其中,基于所述非确认消息中标识的所述丢失数据分组各自的关联帧类型来使所述丢失数据分组优先。
13.一种计算机可读介质,所述计算机可读介质存储有计算机程序指令,所述计算机程序指在由处理器执行时,使所述处理器执行根据权利要求1至12中任一项所述的方法。
14.一种多播接收器,所述多播接收器用于在网络中请求重传由多播发送器最初发送的丢失数据分组,所述多播发送器在所述网络中多播数据分组,所述多播接收器包括处理器,所述处理器被设置为:
在所述多播发送器与所述多播接收器之间的数据链路上检测至少一个数据分组的丢失;
当检测到所述丢失时,设定计时器值并启动计时器;
在所述计时器达到所设定的计时器值之后,经由所述多播接收器的网络接口在上行控制链路上向所述多播发送器发送非确认消息,如果至少一个丢失数据分组先前未由所述多播发送器重传并未被所述多播接收器接收到,则所述非确认消息包括所述至少一个丢失数据分组的标识符,
其中,所述处理器还被配置为:
在多播下行控制链路上从所述多播发送器接收丢失报告消息,所述丢失报告消息标识将由所述多播发送器与单播模式和多播模式当中的传输模式相关联地重传的数据分组,
其中,如果给定数据分组被标识为按照多播模式重传并且所述给定数据分组属于检测到的所述至少一个丢失数据分组,则所述非确认消息不包括所述给定数据分组的标识符;如果给定数据分组被标识成按照单播模式重传并且所述给定数据分组属于检测到的所述至少一个丢失数据分组,则将至少包括所述给定数据分组的标识符的所述非确认消息发送给所述多播发送器,而不等待所述计时器达到所设定的计时器值。
15.一种包括多播发送器和至少一个权利要求14所述的多播接收器的系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16305653.4A EP3252979B1 (en) | 2016-06-03 | 2016-06-03 | Requesting retransmission of data in a multicast network |
EP16305653.4 | 2016-06-03 | ||
PCT/JP2017/020733 WO2017209308A1 (en) | 2016-06-03 | 2017-05-29 | Requesting retransmission of data in a multicast network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109155707A CN109155707A (zh) | 2019-01-04 |
CN109155707B true CN109155707B (zh) | 2021-03-09 |
Family
ID=56134277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780025525.2A Expired - Fee Related CN109155707B (zh) | 2016-06-03 | 2017-05-29 | 在多播网络中请求数据重传 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10715284B2 (zh) |
EP (1) | EP3252979B1 (zh) |
JP (1) | JP6685621B2 (zh) |
CN (1) | CN109155707B (zh) |
WO (1) | WO2017209308A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10990349B2 (en) * | 2017-09-29 | 2021-04-27 | Apple Inc. | Wireless audio splitter |
US11493621B2 (en) * | 2018-11-09 | 2022-11-08 | Apple Inc. | Secure multicast/broadcast ranging |
CN111786748B (zh) * | 2019-08-29 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 数据重传方法和系统、网卡、装置、服务器和存储介质 |
CN112533154B (zh) * | 2019-09-19 | 2022-04-22 | 成都鼎桥通信技术有限公司 | 数据处理方法、装置和存储介质 |
US11452166B2 (en) * | 2019-11-07 | 2022-09-20 | Qualcomm Incorporated | Discontinuous reception operation for new radio multicast communications |
CN112532349B (zh) * | 2020-11-24 | 2022-02-18 | 广州技象科技有限公司 | 基于解码异常的数据处理方法及装置 |
CN114584262B (zh) * | 2020-11-30 | 2024-04-16 | 华为技术有限公司 | 数据传输方法和相关设备 |
KR20220124031A (ko) | 2021-03-02 | 2022-09-13 | 삼성전자주식회사 | 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법 |
US20230319125A1 (en) * | 2022-03-29 | 2023-10-05 | Nokia Technologies Oy | Two-way delay budget for interactive services |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969623A2 (en) * | 1998-06-29 | 2000-01-05 | Microsoft Corporation | Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems |
CN101296161A (zh) * | 2007-04-26 | 2008-10-29 | 华为技术有限公司 | 一种数据重传的方法、系统、装置、接收设备及发送设备 |
CN101627569A (zh) * | 2007-03-06 | 2010-01-13 | 汤姆逊许可公司 | 自适应及可伸缩的包纠错装置和方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6587985B1 (en) * | 1998-11-30 | 2003-07-01 | Matsushita Electric Industrial Co., Ltd. | Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure |
JP3450771B2 (ja) * | 1998-11-30 | 2003-09-29 | 松下電器産業株式会社 | データ伝送方法,及びデータ送信装置 |
US6807578B2 (en) * | 2001-03-14 | 2004-10-19 | International Business Machines Corporation | Nack suppression for multicast protocols in mostly one-way networks |
US20030206549A1 (en) * | 2002-05-03 | 2003-11-06 | Mody Sachin Satish | Method and apparatus for multicast delivery of information |
US7526523B2 (en) * | 2002-06-21 | 2009-04-28 | British Telecommunications Public Limited Company | Timer-based feedback in multicast communication |
EP1746773A1 (en) * | 2004-06-02 | 2007-01-24 | Matsushita Electric Industrial Co., Ltd. | Radio transmission method |
US7681101B2 (en) * | 2007-04-16 | 2010-03-16 | Cisco Technology, Inc. | Hybrid corrective scheme for dropped packets |
US20080253369A1 (en) * | 2007-04-16 | 2008-10-16 | Cisco Technology, Inc. | Monitoring and correcting upstream packet loss |
EP2026491A1 (en) * | 2007-08-13 | 2009-02-18 | Panasonic Corporation | Soft-buffer management of a re-transmission protocol for unicast and multicast transmissions |
JP2013197909A (ja) * | 2012-03-21 | 2013-09-30 | Ricoh Co Ltd | 無線通信方法及び無線通信システム |
CN105519057B (zh) * | 2014-02-26 | 2019-04-26 | 华为技术有限公司 | 一种多播发送装置、多播接收装置和多播传输确认方法 |
CN105357577A (zh) * | 2014-08-22 | 2016-02-24 | 中兴通讯股份有限公司 | 一种丢包重传方法及装置 |
US9806896B2 (en) * | 2014-09-30 | 2017-10-31 | Nicira, Inc. | Optimized message retransmission mechanism for distributed storage virtualization directory system |
CN104579602A (zh) * | 2014-12-25 | 2015-04-29 | 华中科技大学 | 一种lte中的广播组播重传方法 |
CN105120371B (zh) * | 2015-08-24 | 2018-07-03 | 北京星网锐捷网络技术有限公司 | 用于wlan内组播视频传输的控制方法、控制设备及传输系统 |
CN109327288B (zh) * | 2015-12-14 | 2023-11-10 | 华为技术有限公司 | 数据传输加速方法、装置及系统 |
-
2016
- 2016-06-03 EP EP16305653.4A patent/EP3252979B1/en not_active Not-in-force
-
2017
- 2017-05-29 US US16/087,421 patent/US10715284B2/en active Active
- 2017-05-29 WO PCT/JP2017/020733 patent/WO2017209308A1/en active Application Filing
- 2017-05-29 CN CN201780025525.2A patent/CN109155707B/zh not_active Expired - Fee Related
- 2017-05-29 JP JP2018539176A patent/JP6685621B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969623A2 (en) * | 1998-06-29 | 2000-01-05 | Microsoft Corporation | Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems |
CN101627569A (zh) * | 2007-03-06 | 2010-01-13 | 汤姆逊许可公司 | 自适应及可伸缩的包纠错装置和方法 |
CN101296161A (zh) * | 2007-04-26 | 2008-10-29 | 华为技术有限公司 | 一种数据重传的方法、系统、装置、接收设备及发送设备 |
Also Published As
Publication number | Publication date |
---|---|
JP6685621B2 (ja) | 2020-04-22 |
EP3252979A1 (en) | 2017-12-06 |
US10715284B2 (en) | 2020-07-14 |
WO2017209308A1 (en) | 2017-12-07 |
EP3252979B1 (en) | 2019-01-30 |
CN109155707A (zh) | 2019-01-04 |
US20190109678A1 (en) | 2019-04-11 |
JP2019505126A (ja) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109155707B (zh) | 在多播网络中请求数据重传 | |
US10645448B2 (en) | Buffer-aware transmission rate control for real-time video streaming system | |
JP4623616B2 (ja) | データ伝送方法および装置 | |
KR101644215B1 (ko) | 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치 | |
US9306708B2 (en) | Method and apparatus for retransmission decision making | |
KR100537499B1 (ko) | 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법 | |
US20050036546A1 (en) | Video data transmission method and apparatus | |
US9525874B2 (en) | Transmitting apparatus and transmission method | |
US10230651B2 (en) | Effective intra-frame refresh in multimedia communications over packet networks | |
WO2010048825A1 (zh) | 丢包抑制重传的方法、网络节点和系统 | |
CN101800632A (zh) | 用户数据报协议传输模式下丢包补偿方法与装置 | |
CN108881941B (zh) | 用于利用部分可靠的发射来流式传输低延迟、高分辨率视频的方法及系统 | |
Sze et al. | Network-Driven Layered Multicast with IPv6 | |
JP2003198612A (ja) | パケット通信ネットワークにおけるファイル転送方法 | |
CHOW | TCP-friendly Video Transmission Over the Internet | |
KR20050023429A (ko) | 우선 순위화 송신 패킷의 적응성 드롭핑 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
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: 20210309 |