CN110192348B - 将数据片段分成包以用于信道编码 - Google Patents

将数据片段分成包以用于信道编码 Download PDF

Info

Publication number
CN110192348B
CN110192348B CN201880007647.3A CN201880007647A CN110192348B CN 110192348 B CN110192348 B CN 110192348B CN 201880007647 A CN201880007647 A CN 201880007647A CN 110192348 B CN110192348 B CN 110192348B
Authority
CN
China
Prior art keywords
packets
packet
original
data
transmission
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.)
Active
Application number
CN201880007647.3A
Other languages
English (en)
Other versions
CN110192348A (zh
Inventor
余明超
马克·克雷格·雷德
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Priority to CN202310646880.9A priority Critical patent/CN116527203A/zh
Publication of CN110192348A publication Critical patent/CN110192348A/zh
Application granted granted Critical
Publication of CN110192348B publication Critical patent/CN110192348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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/0045Arrangements at the receiver end
    • 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/0096Channel splitting in point-to-point links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

与前向错误校正并行地在多个通信信道上发射数据。确定经优化数目以将给定大小的数据片段分割成所述经优化数目的相同大小的原始包,方法是通过减少发射由于所述分割而添加到所述原始包的虚设数据、添加到通信包以支持解码的数据字段和在发射的终止之前预期经由多个并行信道发射的冗余包的成本,以及随原始包数目而变增加的计算成本。通过将所述原始包分布到所述副本作为初始包且通过鉴于假设在每一经信道编码包的发射之前已接收的包而拒绝无用的经信道编码包来产生所述后续经信道编码包,而产生包的副本。

Description

将数据片段分成包以用于信道编码
相关申请案
本申请要求2017年1月20日提交且标题为“优化将数据片段分割成数据包以用于信道编码的系统和方法(SYSTEMS AND METHODS TO OPTIMIZE PARTITIONING OF A DATASEGMENT INTO DATA PACKETS FOR CHANNEL ENCODING)”的第15/411,097号美国专利申请案的申请日的权益,所述美国专利申请案的整个公开内容以引用的方式并入本文。
技术领域
本文揭示的至少一些实施例涉及对数据进行编码以用于在不具有完全保真度的通信系统上的可靠且高效的发射,所述通信系统例如具有用于使用前向错误校正技术进行通信的并行信道的通信系统。
背景技术
前向错误校正(FEC)是一种通常用于校正在通信信道上的数据发射中的错误的译码技术。使用FEC,发送方在通信数据流中提供冗余数据,以使接收方能够检测接收到的数据中的错误和/或从正确接收的数据中恢复原始数据的副本,而不需要进行从接收方到发送方的反向通信来请求重新发射缺失数据或接收到的具有错误的数据。
FEC通过使用算法将原始信息变换成经信道编码输出来添加冗余数据。原始信息可或可不照字面地呈现在经编码输出中。包含未修改输入的输出是系统性的,而不包含未修改输入的输出是非系统性的。接收方对非系统性输出进行解码以从接收到的输出重新组合原始信息。无速率擦除码有可能从给定的原始符号集产生无限编码符号序列,使得可从大小等于或大于原始符号的数目的编码符号子集中恢复原始符号。无速率FEC不具有固定码率。
标题为“用于多路径流式传输的基于FEC的可靠传输控制协议(FEC-basedReliable Transport Control Protocols for Multipath Streaming)”的第9,413,494号美国专利揭示了经前向错误校正数据经由多个并行网络路径从服务器装置到客户端装置的发射。客户端装置向服务器装置报告网络路径中的数据的丢失,以重新发射在网络路径中丢失的数据。
标题为“用于可靠地传送实时数据流的内容的系统和方法(System and Methodfor Reliably Communicating the Content of a Live Data Stream)”的第7,249,291号美国专利揭示了使用多个信道向接收方发射实时数据流的方法,其中前向错误校正算法适用于产生经FEC编码的块。
标题为“链式反应码的系统性编码和解码(Systematic Encoding and Decodingof Chain Reaction Codes)”的第9,236,885号美国专利揭示了在某些应用中,首先发射源符号然后通过发送输出符号来继续发射可为优选的。此译码系统被称为系统性译码系统。
标题为“在HTTP服务器当中分配源数据和修复数据的内容递送系统(ContentDelivery System with Allocation of Source Data and Repair Data among HTTPServers)”的第9,015,564号美国专利揭示了以源形式存储内容的源服务器、产生和存储修复符号的广播服务器以及当来自多个接收器的字节范围请求重叠时请求广播修复数据的修复服务器。
标题为“将分布式存储用于其最大带宽的方法和系统(Methods and Systems forusing a Distributed Storage to its Maximum Bandwidth)”的第2010/0094955号美国专利申请公开案揭示了一种方法,所述方法用以产生存储在多个存储装置中的数据片段的多个经译码分级副本。将完全下载经译码副本子集以用于数据恢复,且如果恢复失败,那么将完全下载更多译码副本。
标题为“优选地在流式传输系统中应用的分布方法(Distribution Method,Preferably Applied in a Streaming System)”的第8,078,746号美国专利揭示了一种方法,其在网络的对等接收器处产生它们已接收的广播数据部分的经FEC译码的馈送包,以使得所有对等接收器可从任何其它对等接收器下载足够的馈送包以恢复整个广播数据。
标题为“喷泉前向错误校正码在多链路多路径移动网络中的应用(Applicationof Fountain Forward Error Correction Codes in Multi-link Multi-path MobileNetworks)”的第8,996,946号美国专利揭示了一种方法,其产生数据片段的不同的运行中FEC编码包且通过与接收器耦合的不同的不可靠路径发送这些包,直到接收器已确认或超时为止。
标题为“用于通过网络译码改善通信性能的方法和设备(Method and Apparatusfor Improving Communication Performance through Network Coding)”的第2014/0269289号美国专利申请公开案揭示了一种方法,其产生数据片段的不同的运行中网络译码编码包且通过与接收器耦合的不同的不可靠路径发送这些包。接收器可将中间反馈发送给发射器以管理重新发射。倘若数据片段不可被完全恢复,则将尝试部分恢复。
标题为“源块大小选择(Source Block Size Selection)”的第9,455,750号美国专利揭示了选择源块大小以减少通信系统中的接收开销的技术,其将媒体流分割为选定大小的源块,将源块中的每一个划分为源符号,所述源符号经编码以产生用于在网络上发射的修复符号。
上文识别的专利文献的全部公开内容在此以引用的方式并入本文中。
附图说明
实施例是作为实例而非对附图的图的限制来说明,在图中类似参考编号指示类似元件。
图1展示根据一个实施例的用以在多个并行信道上经由FEC发射数据片段的技术。
图2展示根据一个实施例的用以使用初始系统性阶段在多个并行信道上经由FEC发射数据片段的技术。
图3展示根据一个实施例的用以使用与其基本集线性无关的经编码包在多个并行信道上经由FEC发射数据片段的技术。
图4展示根据一个实施例的在多个并行信道上的系统性包的调度。
图5展示根据一个实施例的对经信道编码包的组合物的识别。
图6展示根据一个实施例的用以使用多个信道发射数据包的系统。
图7展示根据一个实施例的用以产生经信道编码包的方法。
图8展示根据一个实施例的发射数据片段的方法。
图9说明在数据通信中用于通过将数据片段划分为多个数据包以用于前向错误控制来发射数据片段的开销成本。
图10说明一个实施例的通信包的数据结构。
图11说明在使用前向错误校正技术的数据片段发射中的各种成本考虑。
图12展示根据一个实施例的发射数据片段的方法。
图13展示可在其上实施本发明的方法的数据处理系统。
具体实施方式
以下描述及图式是说明性的且不应理解为限制性。描述许多特定细节为提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本发明中对一个或一实施例的参考未必参考同一实施例;且此类参考意味着至少一个。
本文中所公开的至少一些实施例提供在如图1中所说明的系统中提高经由多个通信信道进行数据发射的效率、可靠性和总体速度的解决方案。数据发射技术使用无速率FEC技术,其将原始数据片段分割成等长的原始包并从原始包的各种子集的线性组合中产生经信道译码包。
图1展示根据一个实施例的用以在多个并行信道上经由FEC发射数据片段的技术。
在图1中,经由多个并行通信信道(105、107,...,109)发射数据片段(111)。并行通信信道(105、107,...,109)的使用大体上提高了发射数据片段(111)的总体速度。
然而,个别通信信道(105、107,...,109)的实际性能可在发射时发生变化。在信道(例如,105、107,...,或109)中的一或多个中发射的包可具有比经由其它信道(例如,105、107,...,或109)发射的其它包更长的随机延迟。因此,在发射时随机化在接收方装置中从信道(105、107,...,109)接收的组合的包集的序列。
因此,挑战是在减少的冗余数据和缩短的时间段的情况下调度包以用于在通信信道(105、107,...,109)中发射,在所述缩短的时间段期间,经由并行通信信道(105、107,...,109)接收足够数目个有用包,以用于与原始数据片段(111)相同的经恢复数据片段(113)的重构。
在图1中,将数据片段(111)分割(101)或划分成具有相同长度的多个包(121、123、125,...,127)。可填补虚设字节,使得包(121、123、125,...,127)具有相同长度且因此允许前向错误校正技术的使用。使用前向错误校正技术,系统信道对原始包(121、123、125,...,127)进行编码(103),以产生数据片段(111)的不同的经信道编码副本(115、117,...,119),其在副本(115、117,...,119)中携载相应信道(105、107,...,119)的冗余信息。
举例来说,在图1中,使用典型前向错误校正技术产生的典型经信道编码包(例如,131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,或159)是原始包(121、123、125,...,127)的随机子集的预定功能。所述预定功能通常产生原始包(121、123、125,...,127)的子集的线性组合(例如,通过异或(XOR)运算)作为经信道编码包。当经由信道(105、107,...,109)接收足够数目个经信道编码包时,可经由相应前向错误校正技术对接收到的经信道编码包集进行解码,以提供原始包(121、123、125,...,127)集和因此提供经恢复数据片段(113)。
在图1中,个别信道(例如,105、107,...,或109)可能在数据发射质量方面是可靠的(例如,使用可靠的协议)。当存在缺失包或接收到具有错误的包时,可使用适当协议请求通过任何信道(例如,105、107,...,或109)重新发射缺失包或具有错误的包。然而,信道(例如,105、107,...,或109)的速度性能可能不一致,这会引起重新发射的延迟和重复。本文中所公开的实施例提供通过减少重复(和因此无用)的数据和缩短用于发射足够的有用包集以恢复数据片段(113)的时间段来提高系统的性能的解决方案。
在一些情况下,需要使用单独的发射器来通过信道(105、107,...,109)彼此独立地发送副本(115、117,...,119)。发射器可能不与彼此通信以协调其副本(115、117,...,119)的发射。图1的系统经配置以使得当接收方装置从信道(105、107,...,109)接收足够包的组合集时,接收方装置可从接收到的包的组合集产生与原始数据片段(111)相同的经恢复数据片段(113),而无须等待完成副本(115、117,...,119)发射。接收方装置可仅在完成副本(115、117,...,119)发射之前终止其接收操作和/或请求终止发射操作。
举例来说,当针对经恢复数据片段(113)接收足够包的组合集时,接收方装置向发射系统提供指示以终止信道(105、107,...,109)中副本(115、117,...,119)的其余包的发射,使得网络资源可用于其它发射任务。
举例来说,接收方装置可使用信道(115、117,...,119)请求耦合到信道(115、117,...,119)的相应发射器终止其副本(例如,115、117,...,119)的发射。替代地,接收方装置可使用信道(105、107,...,109)中的一个或单独通信信道通知集中式服务器,所述服务器接着进一步通知耦合到相应信道(115、117,...,119)的相应发射器以终止其发射。
图1的系统可通过将原始包作为初始包(或前导包)分布在副本(115、117,...,119)中来进一步改进,所述副本在相应副本(115、117,...,119)的经信道编码包(或非系统性)的发射之前发射,如图2中所说明。
替代地或组合地,图1的系统可通过在使用前向错误校正技术随机选择原始包以用于信道编码时拒绝经信道编码包,鉴于在此类包的发射之前已经或可能被接收方装置接收的包基本集,所述经信道编码包不会或不大可能有助于经恢复数据片段(113)。因此,减少数据冗余,而不影响前向错误校正的性能,如图3中所说明。
一般来说,可组合图2和图3的技术。
另外,对于给定数目个原始包(121、123、125,...,127)和给定数目个信道(例如,105、107,...,109),系统可预先确定经信道编码包(131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,159)的组合物。经信道编码包(131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,或159)的组合物识别用以产生经信道编码包的原始包(121、123、125,...,127)子集的一/多个标识。举例来说,在无原始包的实际数据的情况下,可基于原始包(121、123、125,...,127)的序列中的序列/位置编号(或另一类型的识别符号)来识别原始包(121、123、125,...,127)中的每一个。可在无原始包的实际数据的情况下存储经编码副本(115、117,...,119)的经信道编码包(131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,159)的组合物。当原始包(121、123、125,...,127)的实际数据可用时,检索经信道编码包(131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,159)的组合物以组合由组合物识别的相应原始包(121、123、125,...,127)以产生相应经信道编码包(131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,159)。
举例来说,在发射时,发射器接收原始包(121、123、125,...,127)集和经信道编码包(例如,131、133、135,...,139;141、143、145,...,149;...;或151、153、157,...,159)的经调度序列的组合物的序列。发射器根据组合物组合原始包(121、123、125,...,127)以恰好在发射所产生包之前产生相应经信道编码包以供在相应信道(例如,105、107,...,或109)上发射。因此,当接收方装置发信号通知提前终止发射时,无须实际上产生和/或存储其余经信道编码包。
图2展示根据一个实施例的用以使用初始系统性阶段在多个并行信道上经由FEC发射数据片段的技术。举例来说,图2的技术可用于图1中所说明的系统。
在图2中,经调度以经由相应信道(例如,105、107,...,109)发射的每一副本(例如,115、117,...,或119)具有经调度包(121、127、135,...,139;123、143、145,...,149;...;或125、153、157,...,159)的序列。副本(115、117,...,119)具有对应于原始包(121、123、125,...,127)集的初始包(121、123,...,125、127)集。
在信道(105、107,...,109)中的每一个中,在相应副本(例如,115、117,...,119)的其它包之前发射相应副本(例如,115、117,...,119)的初始包。举例来说,在副本X(115)的包(135,...,139)的发射之前发射副本X(115)的初始包(121、127);在副本Y(117)的包(143、145,...,149)的发射之前发射副本Y(117)的初始包(123);且在副本Z(119)的包(153、155,...,159)的发射之前发射副本Z(119)的初始包(125)。
通过将原始包(121、123、125,...,127)集分布到副本(115、117,...,119)来产生/识别初始包(121、123,...,125、127)。
举例来说,当信道(105、107,...,109)具有相同标称/平均/预期发射速度时,原始包(121、123、125,...,127)可基本上均匀地分布到副本(115、117,...,119)。举例来说,原始包(121、123、125,...,127)可根据轮选方案一次一个地分布到副本,直到所有原始包(121、123、125,...,127)均分布到副本(115、117,...,119)为止。替代地,系统计算原始包的平均数目(例如,通过将包的数目除以信道的数目并取结果的整数部分),将原始包的平均数目指派到每一副本,并将其余未指派的包一次一个地随机分布到副本(115、117,...,119),直到所有原始包(121、123、125,...,127)均被指派为止。
在信道(105、107,...,109)具有基本上不同的标称/平均/预期发射速度的情况中,原始包(121、123、125,...,127)可以大致等于其标称/平均/预期发射速度的比率的比率分布到副本(115、117,...,119)。
在所有原始包已作为副本(例如,115、117,...,119)的初始包分布后,经信道编码包(例如,135、143、145,...,149、153、157,...,159)被产生且添加到副本(例如,115、117,...,119)。给定副本(例如,115)的每一经信道编码包(例如,135)可从所有原始包(例如,121、123、125,...,127)的随机选定子集的线性组合产生。
优选地,给定副本(例如,115)的每一经信道编码包(例如,135)可从由除了给定副本(例如,115)之外的其它副本(例如,117,...,119)携载的原始包(例如,123、125)的随机选定子集的线性组合产生。换句话说,由给定副本(例如,115)携载的原始包(例如,121、127)集不用于此给定副本(例如,115)的经信道编码包(例如,135,...,139)的产生。这是因为到接收到此给定副本(例如,115)的经信道编码包(例如,135)的时候,接收方装置将已经接收此给定副本(例如,115)所携载的所有原始包(例如,121、127)。排除这些原始包将降低计算复杂度和产生无用经信道编码包的概率。
图3展示根据一个实施例的用以使用与其基本集线性无关的经信道编码包在多个并行信道上经由FEC发射数据片段的技术。举例来说,图3的技术可用于图1和/或2中所说明的系统中。
在图3中每一信道(105、107,...,109)内的数据包的发射是可靠的。因此,在信道(例如,105)中的后续包(例如,135)的发射时,接收方装置已正确地接收在后续包(例如,135)之前已在同一信道(例如,105)中发射的数据包(例如,131、133)。因此,与接收的数据包(例如,131、133)线性相依的后续经信道编码包(例如,135)的候选者是无用的且可被拒绝。
此外,到信道(例如,105)中的后续包(例如,135)的发射的时候,很可能接收方装置已接收在其它信道(例如,107,...,109)中发射的初始包(例如,141,...,151)。后续包(例如,135)可被视为具有包(131、133、141,...,151)的基本集(161),其包含同一信道(例如,105)中经调度以在其它信道(例如,107,...,109)的后续包(例如,135)和初始包(例如,141,...,151)之前发射的所有包(例如,131、133),所述初始包很可能在后续包(例如,135)的发射之前已经由其它信道(例如,107,...,109)到达接收方装置。与基本集线性相依的后续包(例如,135)的候选者很可能是无用的且因此可以被拒绝。
为了确保/改进经信道编码包(135)的有用性,图3的系统经配置以识别后续经信道编码包(135)以使得其与包(131、133、141,...,151)的基本集(161)线性无关,其中基本集(161)包含在后续经信道编码包(135)之前在副本(115)中调度的所有包(例如,131、133),以及其它副本(117,...,119)的某些初始包(例如,141,...,151)。
在针对后续包(135)的基本集(161)确定其它副本(117,...,119)的初始包(例如,141,...,151)时,假定基本集(161)不足以产生经恢复数据片段(113),这触发在信道(105)中发射后续包(135)的需要。因此,基本集(161)经识别以包含比整个原始包(121、123、125,...,127)集更少的包。
此外,假定其它信道(例如,107,...,109)已根据其标称/平均/预期发射速度的比率发射其初始包。举例来说,当其它信道(例如,107,...,109)具有相等的标称/平均/预期发射速度时,针对后续包(135)的基本集(161)从其它副本(例如,117,...,119)选择相同数量的初始包。
举例来说,针对副本(115)的后续包(135)的基本集(161)可以如下方式选择其它副本(117,...,119)的初始包(例如,141,...,151)。系统通过将原始包(121、123、125,...,127)的数目减少副本(115)中的初始包的数目直到并包含后续包(135)来确定将要在其它副本(117,...,119)中发射的剩余包数目。系统接着将剩余包数目分布到其它副本(117,...,119)(例如根据其标称/平均/预期发射速度的比率)。分布到其它副本(117,...,119)的包的数目识别包含在副本(115)的后续包(135)的基本集(161)中的其它副本(117,...,119)的初始包(例如,141,...,151)的对应数目。
举例来说,存在K个原始包(121、123、125,...,127);后续包(135)是副本(115)中的第k个包;且系统使用M个信道(105、107,...,109)并行地分别发射M个副本(115、117,...,119)。将要被分布到其它副本(117,...,119)的剩余包数目是(K-k)个。当其它信道(107,...,109)具有相同标称/平均/预期发射速度时,其它副本(例如,117,...,119)具有其相应副本(117,...,119)的平均(K-k)/(M-1)个初始包被选择为用于后续包(135)的基本集(161)。当(K-k)/(M-1)不是整数,且d是最接近(K-k)/(M-1)但不大于(K-k)/(M-1)的整数时,可选择基本集(161)以包含其它副本(例如,117,...,119)中的每一个的初始d个包。任选地,基本集(161)可进一步包含来自其它副本(例如,117,...,119)中的(K-k)-d*(M-1)个随机选择的副本的额外初始包。
此外,当信道(105、107,...,109)具有相同标称/平均/预期发射速度时,从每一其它副本(例如,117,...,119)选择的初始包的数目不超过k-1,因为在信道(105)中的第k个包的发射时,每一其它副本(例如,117,...,119)的不超过k-1个包预期已经通过每一其它信道(107,...,109)发射。
经信道编码包的组合物可用以识别后续包(135)的候选者是否与基本集(161)线性相依。经信道编码包(例如,135)的组合物识别在经信道编码包(例如,135)的产生中使用的原始包(121、123、125,...,127)的子集。更具体地,经信道编码包(例如,135)的组合物识别原始包(121、123、125,...,127)中的哪些在经信道编码包(例如,135)的产生中使用且哪些未使用。举例来说,经信道编码包的组合物可由符号的向量表示,其中向量的第i个符号当在经信道编码包的产生中未使用第i个原始包时为零,或当在经信道编码包的产生中使用第i个原始包时为一。
可选择后续包(135)使得后续包(135)的组合物向量与基本集(161)中的包(131、133、141,...,151)的组合物向量线性无关。举例来说,当前向错误校正技术用以选择原始包(121、123、125,...,127)的随机子集以产生后续包(135)时,系统检查随机子集是否具有与基本集(161)中的包的组合物线性无关的组合物;如果是,那么将随机子集视为后续包(135)的组合物;否则,所述随机子集被拒绝,并选择另一随机子集。
由于在副本(例如,115)中经调度的每一后续包(例如,135)与在同一副本(例如,115)中在后续包之前经调度的包至少线性无关,因此副本(例如,115)至多需要相同计数的包(例如,131、133、135,...,139)作为原始包(121、123、125,...,127)。
图4展示根据一个实施例的在多个并行信道上的系统性包的调度。举例来说,图4的调度技术可用于图2的系统中。
在图4中,通过将原始包(121、123,...,125、127)集轮选分配(163)到副本(115、117,...,119)来产生副本(115、117,...,119)的初始包(121、123,...,125、127)。如上文所论述,可根据用以并行地发射副本(115、117,...,119)的信道的标称/平均/预期发射速度的比率来执行轮选分配(163)。
可在无原始包(121、123,...,125、127)的实际数据的情况下执行轮选分配(163)。初始系统性包(121、123,...,125、127)的组合物识别照字面地复制到相应初始系统性包(121、123,...,125、127)中的相应原始包(121、123,...,125、127)。
一般来说且更优选,可使用任何前向错误校正技术以如图3或图5中所说明的方式产生副本(115、117,...,119)的后续经信道编码包。
图5展示根据一个实施例的对经信道编码包(143)的组合物(166)的识别。举例来说,图5的调度技术可与图3或图4的技术组合使用。尽管图5说明副本(115、117,...,119)的初始包集是原始包的实例,但图5的方法也可适用于副本(115、117,...,119)中的经信道编码初始包的使用。
在图5中,基本集(165)经识别用于经调度以在副本(117)中的包(123)之后发射的包(143)。基本集(165)不足以重构原始包(121、123,...,125、127)的整个集;且如果副本(115、117,...,119)是使用多个信道(例如,105、107,...,109)并行地发射,则基本集(165)包含在将发射包(143)时预期(或最可能)已在接收方装置中接收的包。上文结合图3论述了用以识别基本集(165)的方法的实例。
在图5中,基本集(165)中的包的组合物被用以识别经信道编码包(143)的组合物(166)。具体地,通过从原始包(121、123,...,125、127)随机地选择(167)子集(例如,根据前向错误校正技术的分布功能)而产生组合物(166)。在图5中,组合物(166)中的实线加框包(例如,121,...,125)被说明为经选择用于产生经信道编码包(143)的子集的包;且组合物(166)中的虚线加框包(例如,123,...,127)被说明为未经选择用于产生经信道编码包(143)的包。在图5中,重复子集的随机选择(例如,根据预定分布功能)直到选定子集的组合物向量与基本集(165)中的包(例如,121、123,...,125)的组合物向量线性无关为止。经信道编码包(143)的选择的组合物(166)确保包(143)是有用的,且因此当在信道解码期间其与基本集(165)中的包(121、123,...,125)组合使用时不是冗余的。由于在选择后续经信道编码包的组合物期间前置滤波至少一些无用包,因此技术提高了在经信道编码副本(115、117,...,119)的发射期间网络信道的使用效率。
另外,为了降低计算复杂度,可选择组合物(166)使得在组合物(166)中选择的用以计算副本(117)的经信道编码包(143)的包(例如,121,...,125)不包含经调度以在经信道编码包(143)之前在副本(117)中发射的原始包(例如,123)和/或不包含基本集(165)中的原始包(121、123,...,125)。举例来说,组合物(166)的包的随机选择可限于不包含副本(117)的前导原始包(例如,123)和/或基本集(165)中的原始包(121、123,...,125)的原始包的子集,以降低信道编码时的计算复杂度和产生与基本集(165)线性相依的组合物的概率。
可存储组合物(166)作为中间结果以使得在当实际包(143)将使用(例如,用于在通信信道上的发射)时的稍后时间,组合物(166)可用以选择原始包,所述原始包经组合(169)(例如,经由异或(XOR)或另一线性组合功能)以产生经信道编码包(143)的内容。
由于后续包(143)的调度不需要原始包(121、123,...,125、127)的实际数据/内容,因此可基于已在副本(115、117,...,119)中经调度的包的存储组合物来以类似方式执行另外后续包的原始包(121、123,...,125、127)的选择(167)。因此,在无实际包数据/内容的情况下,可为预定数目个原始包(121、123,...,125、127)预先计算和存储副本(115、117,...,119)中的所有包的组合物。这允许在发射之前和在包(121、123,...,125、127)的内容变得可用之前调度包。在发射时,发射器检索在相应副本(例如,117)中经调度的包的组合物并根据组合物(例如,166)组合原始包以及时产生包(例如,143)以用于发射。
图6展示根据一个实施例的用以使用多个信道发射数据包的系统。举例来说,图6的系统可经实施以使用图1、2和/或3的技术。
在图6中,调度器(225)基于从其产生经信道编码包(例如,255、257,...,259)的原始包(121、123、125,...,127)的数目(221)以及将用于经信道编码包(例如,255、257,...,259)的发射的信道(105、107,...,109)的数目(223),来计算经信道编码包(例如,255、257,...,259)的组合物的序列(235、237,...,239)。
举例来说,可使用图4的方法确定序列(235、237,...,239)的初始经信道编码包的组合物;且可使用图5的方法确定序列(235、237,...,239)的后续经信道编码包的组合物。
替代地,可基于随机过程而不使用图4和/或图5的方法来确定序列(235、237,...,239)的初始经信道编码包和/或序列(235、237,...,239)的后续经信道编码包中的至少一些的组合物。
在图6中,组合物的序列(235、237,...,239)被提供到与相应信道(105、107,...,109)耦合的发射器(245、247,...,249)以用于相应经信道编码包(255、257,...,259)的发射。发射器(245、247,...,249)接收原始包(121、123、125,...,127)的相同副本。使用组合物的相应序列(235、237,...,239),发射器(245、247,...,249)将预先确定的功能(例如,XOR)应用到在相应组合物中识别的原始包,以产生经信道编码包(255、257,...,259)的序列供发射到接收方装置(229)。
优选地,发射器(245、247,...,249)中的每一个产生用于在序列中的后续经信道编码包已经通过相应信道(例如,105、107,...,109)成功发射之前调度的经信道编码包之后的序列(例如,235、237,...,或239)的后续经信道编码包。
替代地,经信道编码包(例如,255、257,...,259)可在发射之前预先产生。举例来说,调度器(225)可产生经信道编码包(例如,255、257,...,259)的序列且将经信道编码包(例如,255、257,...,259)直接提供到发射器(例如,245、247,...,249),而不是提供原始包(121、123、125,...,127)和经信道编码包(255、257,...,259)的组合物的序列(235、237,...,239)的组合。在一些实例中,一些发射器(例如,247)经配置以接收序列经信道编码包(例如,257),而其它发射器(例如,245)经配置以接收组合物的序列(例如,235)和原始包(例如,121、123、125,...,127)以在其发射期间在运行中产生经信道编码包(例如,255)。
在图6中,发射器(245、247,...,249)使用信道(105、107,...,109)以并行地发射经信道编码包(255、257,...,259)。然而,归因于实时性能变化,可部分地随机化由接收方装置(229)从信道(105、107,...,109)获得的接收到的包(227)的序列。当接收方装置(229)经由信道(105、107,...,109)的任何组合接收足够数目个经信道编码包时,接收方装置(229)可使用前向错误校正技术来完全恢复原始包(121、123、125,...,127)的序列以用于信道解码。
图6的系统允许发射器(245、247,...,249)在不彼此协调的情况下发射其相应的经编码包(255、257,...,259)序列。经编码包(例如,255、257,...,259)的序列(例如,235、237,...,239)是预定的且在发射期间不改变。因此,不需要从接收方装置(229)到发射器(245、247,...,249)的反向通信和/或用于协调跨信道(105、107,...,109)产生经信道编码包的调度器(225)。
任选地,在接收到的包(227)集足以恢复原始包(121、123、125,...,127)的原始序列之后和在相应发射器(245、247,...,249)完成其经编码包的全序列(235、237,...,239)的发射之前,接收方装置(229)个别地请求发射器(245、247,...,249)中的至少一些终止其发射。
接收方装置可将任何接收到的原始包依次递送到应用程序(例如,视频播放器),确定接收到的经信道编码包中的任一个是否是有用的,且如果已接收到足够有用的包,那么其使得跨并行信道(105、107,...,109)的发射终止,并应用FEC解码以恢复所有原始包(121、123、125,...,127)。
图7展示根据一个实施例的用以产生经信道编码包的方法。举例来说,图6的调度器(225)可使用图7的方法来确定/选择(167)图5中所说明的包(143)的组合物(166)或产生图3中所说明的后续包(135)。
在图7中,调度器(225)经配置以:确定(171)经调度以在第一信道(例如,105)中在经信道编码包(135)之前发射的第一数目的包(例如,131、133);以及确定(173)经调度以在第二信道(例如,107,...,109)中发射的第二数目的包(例如,141,...,151)。第一数目的包(例如,131、133)和第二数目的包(例如,141,...,151)形成基本集(161),其中基本集(161)中的包(例如,131、133、141,...,151)少于将经由第一和第二信道(例如,105、107,...,109)发射的原始包(例如,121、123、125,...,127)的总数目。
调度器(225)识别(175)原始包(121、123,...,127)的随机选择的子集以用于根据前向错误校正译码方法产生经编码包(例如,135)。如果确定(177)子集与基本集(161)线性相依(例如基于其组合物向量),那么拒绝所述子集;且计算装置识别(175)另一随机选择的子集,直到确定(177)子集与基本集(161)中的包(例如,131、133、141,...,151)线性无关为止。子集的识别提供经调度以在第一信道(例如,105)中在第一数目的包(例如,131、133)之后发射的经编码包(例如,135)的组合物。
在图7中,调度器(225)(或发射器(245、247,...,249)或另一装置)从用于在第一信道(105)中在第一数目的包(例如,131、133)之后发射的子集的线性组合(例如,XOR)产生(179)经编码包(135)。
图8展示根据一个实施例的发射数据片段的方法。举例来说,图8的方法可在图6中所说明的系统中实施。
在图8中,调度器(225)经配置以通过使用轮选方法(163)将原始包(121、123,...,125、127)分布到信道来调度(181)原始包(121、123,...,125、127)的序列在多个信道(105、107,...,109)中的发射。优选地,分布到多个信道(105、107,...,109)的原始包(121、123,...,125、127)用作在发射其它后续非系统性经信道编码包之前经调度以在相应信道中发射的系统性经信道编码包。
在图8中,对于将在信道中的每一相应信道(例如,105)中发射的每一后续包(例如,135),调度器(225)识别包(例如,131、133、141,...,151)的基本集(例如,161),其可包含经调度以用于在后续包(例如,135)之前在相应信道(例如,105)中发射的所有包(例如,131、133)和任选地经调度以用于在除用于后续包(例如,135)的相应信道(例如,105)外的信道(例如,107,...,109)中的每一者中并行发射的一或多个包(例如,141,...,151)。
在图8中,调度器(225)针对后续包(例如,135)识别(185)原始包(例如,如通过图5中的后续包(例如,143)的组合物(166)所识别的123,...,125、127)的子集,以使得子集的组合物向量与基本集中的包的组合物向量线性无关。可根据前向错误校正技术随机选择子集,直到子集具有与基本集中的包的组合物线性无关的组合物为止。
在图8中,调度器(225)针对后续包(例如,135)存储(187)原始包的子集的标识作为后续包(例如,135)的组合物。
在接收(189)原始包(121、123、125,...,127)之后,调度器(225)(或发射器(例如,245),或另一装置)根据存储的标识或后续包(例如,135)的存储的组合物来线性地组合(191)原始包的子集,以产生后续包(例如,135)。
在经调度以用于在后续包(例如,135)之前在相应信道(例如,105)中发射的包(例如,131、133)的发射之后,发射器(例如,245)在相应信道(例如,105)中发射(193)后续包(例如,135)。
在一个方面中,一种在计算设备中实施的方法包含:由计算设备从数据片段(111)产生具有相同长度的多个第一数据包(121、123、125,...,127)以经由多个并行通信信道(105、107,...,109)发射;以及由计算设备(例如,使用调度器(225))从第一数据包(121、123、125,...,127)识别分别用于所述多个并行通信信道(105、107,...,109)的多个包序列(115、117,...,119)。所述多个包序列中的每一相应序列(例如,115)包含:一个或多个初始包(例如,131),其为原始包(121、123、125,...,127)且经调度以在相应序列(例如,115)中的后续包(例如,133、135,...,139)之前发射;以及后续包(例如,135),其为原始包(例如,121、123,...,127)的子集的线性组合。所述方法还包含由计算设备(例如,使用发射器(245、247,...,249))分别在所述多个并行通信信道(105、107,...,109)中发射包的所述多个序列(115、117,...,119)。
在发射期间,耦合到多个并行通信信道(105、107,...,109)的接收方装置(229)经配置以确定经由并行通信信道(105、107,...,109)接收的接收到的包(227)集是否足以重构数据片段(111)。响应于确定接收到的包(227)集足以重构数据片段(111),接收方装置(229)直接终止经信道编码包的序列的发射。替代地,接收方装置(229)向计算设备发射指示符以停止经信道编码包的序列的发射。
在方面的一个实施例中,后续包(135)是根据前向错误校正技术产生,其中原始包(121、123、125,...,127)的随机选择的子集是经由预定功能(例如,线性组合、异或(XOR)运算)组合。
在方面的一个实施例中,所述方法包含根据轮选调度(163)将所述多个原始包(例如,121、123、125,...,127)分布到分别用于所述多个并行通信信道(例如,105、107,...,109)的所述多个包序列(例如,115、117,...,119)。替代地,所述方法包含将所述多个原始包(例如,121、123、125,...,127)循序地分布到用于所述多个并行通信信道(例如,105、107,...,109)的所述多个包序列(例如,115、117,...,119)。
在方面的一个实施例中,将后续包(例如,135)选择为与包含原始包(例如,131)且经调度以在后续包(135)之前在相应信道(例如,105)中发射的包(例如,131、133)线性无关。可进一步将后续包选择为与在除其中发射后续包(135)的相应信道(例如,105)外的所述多个并行通信信道(例如,107,...,109)中发射的另外的包(例如,141,...,151)线性无关。
在另一方面中,一种在计算设备中实施的方法包含:由计算设备从数据片段(111)产生具有相同长度的多个原始包(121、123、125,...,127)以经由多个并行通信信道(105、107,...,109)发射;以及由计算设备(例如,使用调度器(225))从原始包识别分别用于所述多个并行通信信道(105、107,...,109)的多个包序列(115、117,...,119)。所述多个包序列中的每一相应序列(例如,115)包含后续包(例如,135),其经调度以在所述多个并行通信信道中的相应信道(例如,105)中发射且与经调度以在后续包(例如,135)之前在相应信道(例如,105)中发射的包(例如,131、133)线性无关。此外,后续包(例如,135)是原始包(例如,121、123、125,...,127)的子集的线性组合。所述方法还包含由计算设备(例如,使用发射器(245、247,...,249))分别在所述多个并行通信信道(105、107,...,109)中发射包的所述多个序列(115、117,...,119)。在发射期间,耦合到多个并行通信信道(105、107,...,109)的接收方装置(229)经配置以确定经由并行通信信道(105、107,...,109)接收的接收到的包(227)集是否足以重构数据片段(111);且响应于确定接收到的包(227)集足以重构数据片段(111),接收方装置(229)直接终止经信道编码包的序列的发射。替代地,接收方装置(229)向计算设备发射指示符以停止序列(115、117,...,119)的其余部分的发射。
在这个方面的一个实施例中,进一步将后续包(135)选择为与在除其中发射后续包(135)的相应信道(105)外的所述多个并行通信信道(107,...,109)中发射的另外的包(例如,141,...,151)线性无关。举例来说,所述另外的包(例如,141,...,151)均匀分布于除其中发射后续包(135)的相应信道(105)外的所述多个并行通信信道(例如,107,...109)中。
在这个方面的一个实施例中,用于其它信道(例如,107,...,109)的另外的包(141,...,151)和经调度以在后续包(135)之前在相应信道(105)中发射的包(例如,131、133)形成包的基本集(161);基本集(161)经选择为具有比所述多个原始包(121、123、125,...,127)少的包;且将后续包(135)选择为与数据包的基本集线性无关。
在这个方面的一个实施例中,后续包(例如,135)是根据前向错误校正技术产生,所述技术根据预定分布随机地选择原始包(121、123、125,...,127)的子集,且使用线性函数(例如,异或(XOR))组合原始包(121、123、125,...,127)的子集。重复随机选择,直到选择的子集与基本集(161)线性无关为止。
在此方面的一个实施例中,方法进一步包含:根据轮选调度(163)将多个原始包(121、123、125,...,127)分布到多个包序列(115、117,...,119)作为包序列(115、117,...,119)的初始包。替代地,方法进一步包含:将多个原始包(121、123、125,...,127)循序地分布到多个包序列(115、117,...,119)作为包序列(115、117,...,119)的初始包。
在另一方面中,一种在计算设备中实施的方法包含:由计算设备(例如,使用调度器(225)识别包的多个序列(115、117,...,119)的组合物(例如,166)以分别经由多个并行通信信道(例如,105、107,...,109)发射以将预定数目的具有相同长度的原始包(121、123、125,...,127)传送到接收方装置(229)。所述多个包序列中的每一相应包(例如,143)的组合物(例如,166)包含原始包(121、123、125,...,127)当中的每一包的标识,其将用以产生相应包(例如,143);且所述多个序列中的每一相应序列(例如,117)包含作为由后续包(143)的组合物(例如,166)识别的原始包(例如,121、123,...,125、127)的子集的线性组合的至少一个后续包(143)以实现前向错误校正。计算设备存储经信道编码包(例如,131、133、135,...,139;141、143、145,...,149;151、153、155,...,159)的组合物的序列(235、237,...,239)。在接收数据片段(111)之后,计算设备从数据片段(111)产生预定数目的原始包(121、123、125,...,127)并检索组合物的序列(235、237,...,239)以根据组合物从原始包(121、123、125,...,127)产生经信道编码包。计算设备使用发射器(235、237,...239)分别在多个并行通信信道(105、107,...,109)中发射经信道编码包(255、257,...,259)的所述多个序列。在发射期间,接收方装置(229)确定经由并行通信信道(105、107、109)接收的接收包(227)的当前集是否足以重构数据片段(101);且如果是,则接收方装置(229)直接终止信道(105、107,...,109)中的每一个中的剩余包的发射,或(例如,经由发射器245、247,...,249)向计算设备发射指示符以停止信道(105、107,...,109)中的每一个中的剩余包的发射。
在此方面的一个实施例中,序列(115、117,...,119)的识别包含起初根据轮选或循序调度(163)将多个原始包(121、123、125,...,127)分布到多个序列(115、117,...,119),作为序列(115、117,...,119)的初始包。
在此方面的一个实施例中,基于对由相应经信道编码包的组合物识别的原始包(121、123、125,...,127)的子集应用的异或(XOR)操作根据组合物从原始包(121、123、125,...,127)产生经信道编码包。
在此方面的一个实施例中,后续包(143)的组合物(166)是随机选择的原始包(121、123、125,...,127)子集;且选择随机选择的子集使得其具有与以下各项的组合物线性无关的组合物:在后续数据包(143)所属的相应序列(117)中排队在后续数据包(143)之前的包(123);以及排队在除后续数据包(143)所属的相应序列(117)外的多个序列(115、119,...)中的一或多个初始包(121、125,...)。
在图6的系统和/或上文所论述的方法中使用的调度器(225)、发射器(245、247,...,249)、接收方装置(229)和/或其它装置可使用如图13中所图示的具有更多或更少组件的数据处理系统来实施。
上文所论述的通信系统(例如,如图1、2、3或6中所图示)或使用前向错误校正的其它通信系统的性能可通过调整/优化给定数据片段(111)经分割成的包(121、123、125,...,127)的数目而经优化或改进以用于所述数据片段(111)的发射。
当数据片段(111)被分割成不同数目的包(121、123、125,...,127)以用于使用前向错误校正技术的发射时,所述发射具有不同的数据通信开销和/或计算开销。开销的成本可经评估为随着在分割给定大小的数据片段(111)中使用的包的数目而变。随后从成本函数确定在分割数据片段(111)中使用的包的经优化数目。
图9说明在数据通信中用于通过将数据片段划分为多个数据包以用于前向错误控制来发射数据片段的开销成本。
在图9中,数据片段(111)具有L的数据大小(例如,当系统中的数据通信的最小单位是字节时以字节测得)。当数据片段(111)被分割成相等大小P的K个包时,包(121、123、125,...,127)的大小的总和(例如,K*P)通常不等于数据片段(111)的大小L;且因此,包(121、123、125,...,127)中的一些或全部具有添加于其中的虚设数据(例如,具有零、一或随机数据)以确保包(121、123、125,...,127)具有相同大小P。由于填补带来的数据包(121、123、125,...,127)中的开销(231、233、235,...,237)的总和提供数据开销(241)的大小(例如,K*P-L)。
当数据片段(111)的数据(221、223、225,...,227)分布到K个数据包(121、123、125,...,127)时,数据包(121、123、125,...,127)的最小大小P是大于或等于L/K的最小整数。
相等长度的数据(221、223、225,...,227)可从数据片段(111)分布到包(121、123、125,...,127),以使得包中的开销(231、233、235,...,237)(例如,呈经填补的零、一或随机数据的形式)具有相等长度。
替代地,不同包(例如,121、123、125,...,127)可具有不同大小的开销(231、233、235,...,237)。举例来说,除最后包(127)外的包(121、123、125,...)中的每一个在一个布置中不具有开销;且最后包(127)携载整个数据开销(241)(例如,K*P-L,其中P至少是大于或等于L/K的最小整数)。
发射数据开销(241)是通过将数据片段(111)划分为相同长度的包(121、123、125,...,127)来发射数据片段(111)以用于使用前向错误校正技术的信道编码的额外成本。
具有数据开销(241)的原始包(121、123、125,...,127)可用以产生用于在并行信道(105、107,...,109)上发射的副本(115、117,...,119)中的包,如图1-8中所图示。
图10说明一个实施例的通信包的数据结构。
举例来说,通信包(243)可用以发射图1、2或3中所示出的副本(115、117,...,119)中的典型包或图6中所示出的经信道编码包(225、257,...,259)中的一个。
在图10中,通信包(243)包含多个数据字段以提供可用于解码的信息。举例来说,除用于具有大小P的经译码数据有效负载(257)的字段之外,通信包(243)还包含指定包的数目K(251)、经译码数据有效负载(257)中的经填补零(或一,或随机数据,或虚设数据)的数目(253)以及用以从包(121、123、125,...,127)产生经译码数据有效负载(257)的系数向量(255)(例如,经信道编码包(143)的组合物(166))的字段。
系数向量(255)识别经信道编码包(243)的组合物向量(例如,166)。如由包数目K(251)的字段识别的系数向量(255)的前K个位分别对应于K个原始包(121、123、125,...,127)。当系数向量(255)中的第i位具有第一值(例如,1)时,包(121、123、125,...,127)中的第i个包用以产生经由通信包(243)发射的经译码数据有效负载(257);且当系数向量(255)中的第i位具有第二值(例如,0)时,包(121、123、125,...,127)中的第i个包不用以产生经由通信包(243)发射的经译码数据有效负载(257)。用于提供信息以帮助接收方装置(229)对经译码数据有效负载(例如,257)进行解码的数据字段(251、253和255)是通信包(243)中的开销(245)。
经译码数据有效负载(257)中的包数目K(251)和经填补零(一、随机数据或虚设数据)的数目(253)可针对用以发射副本(例如,115、117,...,119)中的包的每一通信包进行发射。在其它实施方案中,经译码数据有效负载(257)中的包数目K(251)和经填补零(或一或随机数据)的数目(253)针对副本(例如,115、117,...,119)中的每一个仅发射一次以减少开销。在其它实施方案中,可包含用于每一通信包(243)的额外数据字段。
包数目K(251)通常限于小于预定限值(例如,256)。因此,用于包数目K(251)的数据字段的大小是预定的(例如,1个字节),不会随包数目K(251)改变。此外,用于经填补零(或一或随机数据)的数目(253)的数据字段具有不会随包数目K(251)而变的预定大小(例如,4个字节)。
然而,系数向量(255)的字段的大小通常随包数目K(251)而变。举例来说,系数向量(255)的最小大小Q(例如,以字节计)与大于或等于K/8的最小整数相等。
图11说明在使用前向错误校正技术的数据片段发射中的各种成本考虑。
在图11中,将具有大小L的数据片段(111)分割(101)为具有相等大小P的原始包(121、123、125,...,127)导致如图9中所图示的数据开销(241)。发射经填补零(一、随机数据或虚设数据)的成本对应于数据开销(241)的发射成本。
在图11中,使用前向错误校正技术发射每一包(例如,131、133、135,...,139;141、143、145,...,149;...;151、153、157,...,或159)导致额外数据字段(例如,图10中所示出的251、253、255)的发射且因此导致开销(245)。发射用以携载副本(115、117,...,119)中的相应数据包的每一通信包(243)中的开销的成本对应于发射通信包开销的成本。
在图11中,在将原始包编码(103)为包(115、117,...,119)和/或解码副本以产生经恢复数据片段(113)中存在前向错误校正技术的计算成本。计算成本通常随着数据片段(111)经分割成的原始包数目K(251)而变。当FEC中使用喷泉码时,计算复杂性的成本通常大约是log(K)。替代地,计算复杂性的成本函数可在经验上测得,或通过使数据点集弯曲而导出。
此外,由于通信系统中的不确定性(例如,信道中的随机延迟),在接收方装置(229)获得足够包用于解码(104)且接着阻止剩余包的进一步发射之前,接收方装置(229)将从信道(105、107,...,109)中的每一个接收的包的实际数目是随机的。这在所接收包的有用性中引入不确定性,其造成在接收方装置(229)接收到足够数目(例如,K)的有用包以用于产生经恢复数据片段(113)且因此终止发射之前经由信道(105、107,...,109)整体地传送多于K个通信包。经由系统发射的额外通信包的确切数目随着通信系统中的不确定性(例如,在发射副本的包时信道中的随机延迟)而变。超过包数目K的额外通信包的估计(或平均数,或上限)可用以确定发射冗余包(不是用于解码经信道编码包的有用包)的成本。
举例来说,当副本(115、117、119)是使用轮选(或循序)分配(163)方案产生(例如,如图4中所图示)且后续经信道编码包经产生为与其基本集线性无关(例如,如图5中所图示)时,在发射可终止之前,预期在通信系统中在并行通信信道(1105、107,...,109)上发射不超过K+d个通信包(例如,d=3)。因此,发射冗余包的成本可经估计为额外d个通信包的大小。
举例来说,当将大小L的数据片段分割(101)为K个原始包(121、123、125,...,127)时,每一原始包(121、123、125,...,127)的最小大小P是大于或等于L/K的最小整数。因此,用于通信包的经译码数据有效负载(257)的字段具有大小P。用于系数向量(255)的字段具有大小Q,其至少是大于或等于K/8的最小整数。当通信包使用一个字节发射包数目(251),使用四个字节发射经填补零数目(253)(或经填补一、随机数据或虚设数据)时,通信包(243)的大小是(5+Q+P)。当使用K+d(例如,d=3)个通信包(243)发射数据片段以便接收方装置(229)产生经恢复数据片段(113)时,所发射通信包的总大小是(5+Q+P)*(K+d);且包含用于发射数据开销(241)的成本、用于发射通信包开销(245)的成本以及用于发射在终止之前发射的冗余包的成本的带宽成本与(5+Q+P)*(K+d)成比例。FEC编码(103)和/或解码(104)的成本通常与L*log(K)成比例。
FEC编码(103)和/或解码(104)的成本以及通信的成本(例如,数据开销(241)、通信包开销(245)、冗余包)可具有不同权重。可将不同权重指派于计算成本和通信成本以产生数目K的组合成本函数,以将数据片段(111)分割(101)为原始K个包(121、123、125,...,127)。可从用于数据片段(111)的分割(101)的成本函数确定经优化的K。
图12展示根据一个实施例的发射数据片段的方法。
在图12中,在接收(261)将划分成原始包(121、123、125,...,127)以用于使用前向错误校正(FEC)译码技术的发射的数据片段(111)的大小L之后,计算装置经配置以通过将数据片段(111)划分成预定数目K的原始包(121、123、125,...,127)而使用FEC译码技术计算(263)发射数据片段(111)的成本。成本可包含如图9中所图示的数据开销(241)的通信成本、如图10中所图示的通信包(243)中的开销(245)的通信成本、如图11中所图示且结合其论述的FEC译码技术的计算成本,和/或如图11中所图示且结合其论述的冗余包的通信成本。
在图12中,计算装置调整(265)数目K以识别用以最小化发射数据片段的成本的数目K'。
在识别数目K'之后,计算装置将大小L的数据片段(111)划分(267)成数目K'的原始包(121、123、125,...,127),从数目K'的原始包(121、123、125,...,127)产生(269)经信道编码包(例如,131、133、135,...,139;141、143、145,...149;...;151、153,...,159),且使用多个并行通信信道(105、107,...,109)发射(271)经信道编码包(例如,131、133、135,...,139;141、143、145,...149;...;151、153,...,159)。
举例来说,图12的方法可实施于图11中所示出的系统中。将经由并行通信信道(105、107,...,109)发射的包的副本(115、117,...,119)可使用图2或3的技术产生,其中系统性包的分布可使用图4的技术执行,且后续经信道编码包的组合物可使用图5的技术来识别。此外,可以如图6中所图示的方式预先计算组合物。
在一些实施方案中,针对随大小L的数据片段(111)经分割(101)成的原始包的数目K而变的成本来导出显式表达式。可导出显式函数以计算随将发射的数据片段(111)的大小L而变的经优化K'。
在一些实施方案中,随用于特定通信系统的数据片段(111)的大小L而变预先计算经优化K'的表(例如,具有用于在信道(105、107,...,109)上的通信的通信成本和用于FEC编码(103)和/或解码(104)的计算成本的其唯一权重。随后,可从表查找针对特定数据片段(111)的给定大小L的经优化K'。
在一些实施方案中,使用经验公式(例如,从K'对L的表的曲线拟合产生)计算从数据片段(111)的给定大小L的划分的经优化数目K'。
在一些实施方案中,鉴于可用于使用FEC技术发射数据片段(111)的通信系统的成本特性,针对具有大小L的数据片段(111)的发射及时计算经优化K'。
在一个方面中,一种在计算设备中实施的方法包含:计算设备中接收将由计算设备发射的大小L的数据片段(111);以及由计算设备通过优化发射数据片段(111)的成本而确定数目K,以使得数据片段(111)划分成数目K的原始包(121、123、125,...,127),基于所述原始包产生经信道编码包(例如,图2或5中的143)以用于使用前向错误校正技术的发射。可以使用任何优化技术从发射数据片段(111)的成本的函数搜索和/或计算最佳K。
在方面的一个实施例中,在确定最佳K之后,计算设备将具有大小L的数据片段(101)分割(101)成数目K的原始包(121、123、125,...,127),使用前向错误校正技术从原始包(121、123、125,...,127)产生包的多个副本(115、117,...,119),且分别使用多个并行通信信道(105、107,...,109)向接收方装置(229)发射包的所述多个副本(115、117,...,119)。接收方装置(229)确定经由并行通信信道(105、107,...,109)接收的包的接收集是否足以产生经恢复数据片段(113),且如果是,则当在接收方装置中已经从信道(105、107,...,109)接收足够数目的有用包时造成副本(115、117,...,119)的发射的终止。
针对优化考虑的发射成本可包含:用于添加到原始包(121、123、125,...,127)以使得原始包具有相同大小P的虚设数据(例如,开销241)的第一数据发射成本;用于在通信包(例如,243)中添加以能够使用前向错误校正技术进行解码(例如,开销245)的通信字段(例如,251、253、255)中的数据的第二数据发射成本;和/或用于预期在发射的终止之前将发射到接收方装置(229)的冗余通信包的第三数据发射成本。可基于在副本(115、117,...,119)的发射终止之前预期将经由并行信道(105、107,...,109)发射的最大(或平均,或预期)冗余通信包的计数而估计第三数据发射成本。当使用如图1-5中所图示的用于产生副本(115、117,...,119)的技术时,所述计数通常是三,使用各自可以可靠地发射数据但可具有不同和/或变化的发射速度的通信信道。
此外,针对优化考虑的发射成本可包含与前向错误校正技术的应用相关联的计算成本,其通常与原始包(121、123、125,...,127)的数目K的对数函数成比例。
通常,原始包的数目K限于不超过256。可个别地计算针对K的不同值的成本以找到最小化发射成本的最佳K。
当使用图4的技术时,通过根据轮选方案或循序方案将原始包(121、123,...,125、127)分布到副本作为副本(115、117,...,119)的初始/前导包,可从原始包(121、123,...,125、127)产生所述多个副本(115、117,...,119)。
当使用图5的技术时,通过选择原始包的子集(例如,如通过图5中的组合物(166)所识别)以使得所述子集与副本(115、117,...,119)中的包的基本集(165)线性无关,可从原始包(121、123,...,125、127)产生所述多个副本(115、117,...,119)。后续经信道编码包(例如,143)是从所述子集产生以用于在所述多个副本(例如,115、117,...,119)中的特定副本(117)中发射。所述基本集包含特定副本的经调度以在后续经信道编码包(143)之前发射的一或多个包(例如,123)。所述基本集可进一步至少包含所述多个副本中的每一个中的初始包(例如,副本(115)中的包(121)、副本(119)中的包(125))。优选地,所述子集不包含分配给特定副本(117)的任何原始包(例如,123)。
举例来说,后续经信道编码包(143)可从所述子集中的包的异或产生;且根据预定分布随机地选择所述子集。可重复所述随机选择直到选择的子集与基本集(165)线性无关和/或不包含分配给特定副本(117)的任何原始包和/或不包含基本集(165)中的任何原始包为止。
本公开包含上文所论述的方法,经配置以执行方法的计算设备,和存储指令的计算机存储媒体,所述指令在计算设备上被执行时使计算设备执行所述方法。
图13展示可在其上实施本发明的方法的数据处理系统。虽然图13说明计算机系统的各种组件,但其并不意图表示任何特定架构或组件互连方式。一个实施例可使用具有比图13中所展示的组件少或多的组件的其它系统。
在图13中,数据处理系统(200)包含互连件(201)(例如,总线和系统核心逻辑),其互连微处理器(203)和存储器(211)。在图13的实例中,微处理器(203)耦合到高速缓冲存储器(209)。
在一个实施例中,互连件(201)将微处理器(203)和存储器(211)互连在一起且还经由I/O控制器(207)将它们互连到输入/输出(I/O)装置(205)。I/O装置(205)可包含显示装置及/或外围装置,例如鼠标、键盘、调制解调器、网络接口、打印机、扫描器、摄像机及所属领域中已知的其它装置。在一个实施例中,当数据处理系统为服务器系统时,I/O装置(205)中的一些(例如打印机、扫描器、鼠标及/或键盘)是任选的。
在一个实施例中,互连件(201)包含通过各种桥接器、控制器和/或适配器彼此连接的一或多个总线。在一个实施例中,I/O控制器(207)包含用于控制USB外围装置的USB(通用串行总线)适配器,及/或用于控制IEEE-1394外围装置的IEEE-1394总线适配器。
在一个实施例中,存储器(211)包含以下各者中的一或多者:ROM(只读存储器)、易失性RAM(随机存取存储器)及非易失性存储器,例如硬盘驱动器、快闪存储器等。
易失性RAM通常实施为要求持续功率以便更新或维持存储器中的数据的动态RAM(DRAM)。非易失性存储器通常是磁性硬盘驱动器、磁性光盘驱动器、光盘驱动器(例如,DVDRAM),或即使在从系统移除电力之后也维持数据的其它类型的存储器系统。非易失性存储器也可为随机存取存储器。
非易失性存储器可为与数据处理系统中的其余组件直接耦合的本地装置。也可使用远离系统的非易失性存储器,例如通过例如调制解调器或以太网接口的网络接口耦合到数据处理系统的网络存储装置。
在此描述中,一些功能及操作描述为由软件代码执行或由软件代码引起以简化描述。然而,此表达也用于指定所述功能是由例如微处理器的处理器执行代码/指令产生。
替代性地或组合,如此处所描述的功能及操作可使用具有或不具有软件指令的专用电路实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)。可使用并无软件指令的固线式电路或结合软件指令实施实施例。因此,技术既不限于硬件电路及软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
虽然一个实施例可实施于全功能计算机及计算机系统中,但各种实施例能够分布为多种形式的计算产品,且能够不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都适用。
所公开的至少一些方面可至少部分体现于软件中。也就是说,响应于其处理器(例如微处理器)执行存储器(例如ROM、易失性RAM、非易失性存储器、高速缓存或远程存储装置)中所含有的指令序列,技术可进行于计算机系统或其它数据处理系统中。
经执行以实施实施例的常式可实施为操作系统或特定应用程序、组件、程序、物件、模块或被称作“计算机程序”的指令序列的部分。计算机程序通常包含计算机中的各种存储器及存储装置中在各种时间处的一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取及执行时导致计算机执行必需操作以执行涉及各种方面的元件。
机器可读媒体可用于存储当由数据处理系统执行时致使系统执行各种方法的软件和数据。可执行软件及数据可存储于包含例如ROM、易失性RAM、非易失性存储器及/或高速缓存的各种地点中。此软件及/或数据的部分可存储于这些存储装置中的任一者中。另外,数据及指令可从集中式服务器或对等网络获得。数据及指令的不同部分可在不同时间处及在不同通信会话或相同通信会话中从不同集中式服务器及/或对等网络获得。可在执行应用程序之前获得全部数据及指令。替代性地,可动态地、及时地,在需要执行时获得数据及指令的部分。因此,并不要求数据及指令在特定时刻处全部在机器可读媒体上。
计算机可读媒体的实例包含但不限于可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、软性和其它可装卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CD ROM)、数字通用光盘(DVD)等)以及其它媒体。计算机可读媒体可存储指令。
指令也可体现在数字及模拟通信链路中以用于电学、光学、声学或其它形式的传播信号,例如载波、红外信号、数字信号等。然而,例如载波、红外信号、数字信号等的传播信号并非有形机器可读媒体且不能经配置以存储指令。
大体来说,机器可读媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)存取的形式提供(即,存储和/或发射)信息的任何机构。
在各种实施例中,固线式电路可与软件指令组合使用以实施技术。因此,技术既不限于硬件电路及软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
其它方面
描述及图式是说明性的且不应理解为限制性。本发明说明本发明特征以使得所属领域的技术人员能够制造及使用技术。如本文中所描述,各种特征应按照相关于保密性、安全性、许可、同意、授权及其它的所有当前及未来规则、法律法规使用。描述许多特定细节为提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本发明中对一个或一实施例的参考未必参考同一实施例;且此类参考意味着至少一个。
本文中标题的使用仅是为了易于参考而提供,且不应以任何方式解释为限制本发明或以下权利要求书。
对“一个实施例”或“一实施例”的参考意味着结合实施例描述的特定特征、结构或特性包含于本发明的至少一个实施例中。说明书中各处出现的短语“在一个实施例中”未必都参考同一实施例,且未必都参考相互排斥其它实施例的单独或替代性实施例。此外,描述了各种特征,这些特征可以通过一个实施例而不通过其它实施例展现。类似地,描述各种要求,这些要求可针对一个实施例而非其它实施例。除非明确描述为排除及/或显而易见不相容,否则此处也包含此描述中描述的各种特征的任何组合。举例来说,上文结合“在一个实施例中”或“在一些实施例中”所描述的特征可全部任选地包含在一个实施方案中,例外是如从描述中显而易见的某些特征对其它特征的依赖性可能限制从实施方案中排除所选特征的选项,且如从描述中显而易见的某些特征与其它特征的不相容性可能限制将所选特征一起包含在实施方案中的选项。
上文论述的专利文献的公开内容据此以引用的方式并入本文中。
在前述说明书中,已参考本发明的具体示范性实施例描述了本发明。将显而易见的是,可在不脱离如所附权利要求书中阐述的更广精神及范围的情况下进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

Claims (20)

1.一种在计算设备中实施的方法,所述方法包括:
在所述计算设备中接收将由所述计算设备发射的数据片段的大小;
由所述计算设备通过优化发射所述数据片段的成本而确定一数目,其中所述数据片段划分成所述数目的原始包,基于所述原始包产生经信道编码包以用于使用前向错误校正技术的发射;
由所述计算设备将所述数据片段划分成所述数目的原始包;
由所述计算设备使用所述前向错误校正技术从所述原始包产生多个包副本;以及
由所述计算设备向接收方装置使用多个并行通信信道发射所述多个包副本,其中所述接收方装置确定经由所述并行通信信道接收的所接收包集是否足以重构所述数据片段,且响应于所述所接收包集足以重构所述数据片段的确定而造成所述发射的终止。
2.根据权利要求1所述的方法,其中所述发射成本包含用于添加到所述原始包以使得所述原始包具有相同大小的虚设数据的第一数据发射成本。
3.根据权利要求2所述的方法,其中所述发射成本包含用于在通信包中添加以能够使用所述前向错误校正技术进行解码的通信字段中的数据的第二数据发射成本。
4.根据权利要求3所述的方法,其中所述发射成本包含用于在所述发射的所述终止之前预期发射到所述接收方装置的冗余通信包的第三数据发射成本。
5.根据权利要求4所述的方法,其中所述发射成本包含与所述前向错误校正技术的应用相关联的计算成本。
6.根据权利要求5所述的方法,其中所述原始包数目限于不超过256。
7.根据权利要求5所述的方法,其中在计算所述成本中使用的所述冗余通信包的计数是三个。
8.根据权利要求5所述的方法,其中与所述前向错误校正技术的应用相关联的所述计算成本与所述原始包数目的对数函数成比例。
9.根据权利要求5所述的方法,其中所述从所述原始包产生所述多个包副本包含根据轮选方案或循序方案将所述原始包分布到所述副本。
10.根据权利要求9所述的方法,其中所述从所述原始包产生所述多个包副本包含:
将所述原始包的子集选择为与所述副本中的包的基本集线性无关;以及
从所述子集产生经信道编码包以用于在所述多个包副本中的第一副本中发射。
11.根据权利要求10所述的方法,其中所述基本集包含所述第一副本的经调度以在所述经信道编码包之前发射的一或多个包。
12.根据权利要求11所述的方法,其中所述基本集至少包含所述多个包副本中的每一者中的初始包。
13.根据权利要求11所述的方法,其中所述子集不包含分配给所述第一副本的任何原始包。
14.根据权利要求11所述的方法,其中所述经信道编码包是从所述子集的异或产生。
15.根据权利要求11所述的方法,其中根据预定分布随机地选择所述子集。
16.一种存储指令的非暂时性计算机存储媒体,所述指令当由计算设备执行时致使所述计算设备执行方法,所述方法包括:
在所述计算设备中接收将由所述计算设备发射的数据片段的大小;
由所述计算设备通过优化发射所述数据片段的成本而确定一数目,其中所述数据片段划分成所述数目的原始包,基于所述原始包产生经信道编码包以用于使用前向错误校正技术的发射;
由所述计算设备将所述数据片段划分成所述数目的原始包;
由所述计算设备使用所述前向错误校正技术从所述原始包产生多个包副本;以及
由所述计算设备向接收方装置使用多个并行通信信道发射所述多个包副本,其中所述接收方装置确定经由所述并行通信信道接收的所接收包集是否足以重构所述数据片段,且响应于所述所接收包集足以重构所述数据片段的确定而造成所述发射的终止。
17.一种计算设备,其包括:
至少一个微处理器;以及
存储指令的存储器,所述指令经配置以指示所述至少一个微处理器:
在所述计算设备中接收将由所述计算设备发射的数据片段的大小;
由所述计算设备通过优化发射所述数据片段的成本而确定一数目,其中所述数据片段划分成所述数目的原始包,基于所述原始包产生经信道编码包以用于使用前向错误校正技术的发射;
由所述计算设备将所述数据片段划分成所述数目的原始包;
由所述计算设备使用所述前向错误校正技术从所述原始包产生多个包副本;以及
由所述计算设备向接收方装置使用多个并行通信信道发射所述多个包副本,其中所述接收方装置确定经由所述并行通信信道接收的所接收包集是否足以重构所述数据片段,且响应于所述所接收包集足以重构所述数据片段的确定而造成所述副本的发射的终止。
18.根据权利要求17所述的计算设备,其中所述发射成本包含:
用于添加到所述原始包以使得所述原始包具有相同大小的虚设数据的第一数据发射成本;
用于在通信包中添加以能够使用所述前向错误校正技术进行解码的通信字段中的数据的第二数据发射成本;以及
用于在所述发射的所述终止之前预期发射到所述接收方装置的冗余通信包的第三数据发射成本。
19.根据权利要求18所述的计算设备,其中所述发射成本进一步包含与所述前向错误校正技术的应用相关联的计算复杂性的成本。
20.根据权利要求19所述的计算设备,其中所述第三数据发射成本是基于在所述副本的所述发射的所述终止之前预期发射的最大冗余通信包的计数。
CN201880007647.3A 2017-01-20 2018-01-05 将数据片段分成包以用于信道编码 Active CN110192348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310646880.9A CN116527203A (zh) 2017-01-20 2018-01-05 将数据片段分成包以用于信道编码

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/411,097 US10361817B2 (en) 2017-01-20 2017-01-20 Systems and methods to optimize partitioning of a data segment into data packets for channel encoding
US15/411,097 2017-01-20
PCT/US2018/012648 WO2018136246A1 (en) 2017-01-20 2018-01-05 Data segment into packets for channel encoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310646880.9A Division CN116527203A (zh) 2017-01-20 2018-01-05 将数据片段分成包以用于信道编码

Publications (2)

Publication Number Publication Date
CN110192348A CN110192348A (zh) 2019-08-30
CN110192348B true CN110192348B (zh) 2023-06-13

Family

ID=62907192

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880007647.3A Active CN110192348B (zh) 2017-01-20 2018-01-05 将数据片段分成包以用于信道编码
CN202310646880.9A Pending CN116527203A (zh) 2017-01-20 2018-01-05 将数据片段分成包以用于信道编码

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310646880.9A Pending CN116527203A (zh) 2017-01-20 2018-01-05 将数据片段分成包以用于信道编码

Country Status (4)

Country Link
US (2) US10361817B2 (zh)
EP (1) EP3571769B1 (zh)
CN (2) CN110192348B (zh)
WO (1) WO2018136246A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9921752B2 (en) * 2012-05-04 2018-03-20 Netapp, Inc. Systems, methods, and computer program products providing read access in a storage system
US10361817B2 (en) * 2017-01-20 2019-07-23 Dolby Laboratories Licensing Corporation Systems and methods to optimize partitioning of a data segment into data packets for channel encoding
US10862620B2 (en) 2017-09-25 2020-12-08 Dolby Laboratories Licensing Corporation Systems and methods to optimize the load of multipath data transportation
US11202268B2 (en) * 2018-05-25 2021-12-14 Solid, Inc. Distributed antenna system and method of operation thereof
CN110401703B (zh) * 2019-07-10 2021-10-15 东华大学 基于多级网络编码的云存储数据恢复方法
GB2595638B (en) * 2020-05-20 2023-07-26 Canon Kk Method for PDCP network coding in 5G-Ran or 4G E-Utran
CN112383313B (zh) * 2020-10-10 2023-08-04 中科驭数(北京)科技有限公司 一种并行数据解码装置及方法
WO2022133039A1 (en) * 2020-12-16 2022-06-23 Dolby Laboratories Licensing Corporation Multisource media delivery systems and methods
CN115695560A (zh) * 2021-07-23 2023-02-03 伊姆西Ip控股有限责任公司 内容分发方法、电子设备和计算机程序产品
CN116318524A (zh) * 2021-12-21 2023-06-23 华为技术有限公司 一种数据编码方法及通信装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023533B2 (en) * 2006-12-25 2011-09-20 Sony Corporation Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
CN104303421A (zh) * 2012-03-12 2015-01-21 通维数码公司 用于对动态变化数字数据信道的最大利用的方法及设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326798B2 (en) * 1998-07-16 2019-06-18 Grid7, LLC System and method for secure data transmission and storage
US7593380B1 (en) * 1999-03-05 2009-09-22 Ipr Licensing, Inc. Variable rate forward error correction for enabling high performance communication
US7249291B2 (en) * 2002-02-15 2007-07-24 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
US7660245B1 (en) * 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
US20080189429A1 (en) * 2007-02-02 2008-08-07 Sony Corporation Apparatus and method for peer-to-peer streaming
EP2180710A1 (en) * 2008-10-27 2010-04-28 Thomson Licensing Method for processing a stream of multiplexed packets transporting multimedia data according to an MPEG-2 type format
US20100260266A1 (en) * 2009-04-10 2010-10-14 Qualcomm Incorporated Fec alternatives to the reed-solomon outer code
WO2011044919A1 (en) * 2009-10-14 2011-04-21 Nec Europe Ltd. Method for network coding transmission
US8601334B2 (en) * 2011-05-10 2013-12-03 At&T Intellectual Property I, L.P. System and method for delivering content over a multicast network
TW201306527A (zh) * 2011-07-29 2013-02-01 Ralink Technology Corp 利用相異網路傳送一封包之方法
US20140143820A1 (en) * 2012-11-19 2014-05-22 Videolink Llc Internet-Based Video Delivery System
US9185529B2 (en) * 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
US9717015B2 (en) * 2014-07-03 2017-07-25 Qualcomm Incorporated Rate control for wireless communication
US10581554B2 (en) * 2017-01-13 2020-03-03 Dolby Laboratories Licensing Corporation Systems and methods to generate copies of data for transmission over multiple communication channels
US10361817B2 (en) * 2017-01-20 2019-07-23 Dolby Laboratories Licensing Corporation Systems and methods to optimize partitioning of a data segment into data packets for channel encoding
US10862620B2 (en) * 2017-09-25 2020-12-08 Dolby Laboratories Licensing Corporation Systems and methods to optimize the load of multipath data transportation
US10630315B2 (en) * 2017-09-29 2020-04-21 Intel Corporation Technologies for applying a redundancy encoding scheme to segmented network packets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023533B2 (en) * 2006-12-25 2011-09-20 Sony Corporation Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
CN104303421A (zh) * 2012-03-12 2015-01-21 通维数码公司 用于对动态变化数字数据信道的最大利用的方法及设备

Also Published As

Publication number Publication date
US10361817B2 (en) 2019-07-23
EP3571769A1 (en) 2019-11-27
CN110192348A (zh) 2019-08-30
EP3571769B1 (en) 2024-02-28
WO2018136246A1 (en) 2018-07-26
US20180212713A1 (en) 2018-07-26
EP3571769A4 (en) 2020-10-28
US11012190B2 (en) 2021-05-18
US20190349134A1 (en) 2019-11-14
CN116527203A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
CN110192348B (zh) 将数据片段分成包以用于信道编码
CN113612585B (zh) 用于优化多路径数据传输的负载的系统和方法
CN114696955B (zh) 生成用于在多个通信信道上发射的数据副本的系统和方法
US7057534B2 (en) Information additive code generator and decoder for communication systems
IL144594A (en) Group chain response encoder, having a variable number of input data for each group output code

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