CN103444087A - 使用弹性代码与柔性源块映射进行编码和解码 - Google Patents

使用弹性代码与柔性源块映射进行编码和解码 Download PDF

Info

Publication number
CN103444087A
CN103444087A CN201280012542XA CN201280012542A CN103444087A CN 103444087 A CN103444087 A CN 103444087A CN 201280012542X A CN201280012542X A CN 201280012542XA CN 201280012542 A CN201280012542 A CN 201280012542A CN 103444087 A CN103444087 A CN 103444087A
Authority
CN
China
Prior art keywords
source
symbol
piece
matrix
coded identification
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.)
Granted
Application number
CN201280012542XA
Other languages
English (en)
Other versions
CN103444087B (zh
Inventor
迈克尔·G·卢比
帕扬·帕克扎德
穆罕默德·阿明·尚克罗拉喜
马克·瓦森
洛伦佐·维奇萨诺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103444087A publication Critical patent/CN103444087A/zh
Application granted granted Critical
Publication of CN103444087B publication Critical patent/CN103444087B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] 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
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • 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/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • 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
    • 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/0086Unequal error protection

Abstract

可通过将源符号指派到基块、将基块指派到源块以及将每一源块编码为编码符号而对数据编码,其中至少一对源块使得其具有与所述对的两个源块共同的至少一个基块以及与所述对的另一源块不同的至少一个基块。源块的所述编码可独立于其它源块的内容。可根据来自多个源块的编码符号集合来进行解码以恢复原始源符号的所要集合的全部,其中来自第一源块的编码符号的量小于所述第一源块中的源数据的量,且同样,来自第二源块的编码符号的量小于所述第二源块中的源数据的量。

Description

使用弹性代码与柔性源块映射进行编码和解码
交叉参考
本专利申请案涉及以下共同待决的美国专利申请案,所述申请案中的每一者与本申请案同时申请,且已转让给本申请案的受让人,且明确地以引用的方式并入本文中:
马克沃森(Mark Watson)等人的题为“用于包含FEC的改进的无线电链路协议的组帧(Framing for an Improved Radio Link Protocol Including FEC)”的美国专利申请案,代理人案号为092888U1;以及
迈克尔G卢比(Michael G.Luby)等人的题为“用于改进的无线电链路协议的前向错误校正调度(Forward Error Correction Scheduling for an Improved Radio Link Protocol)”的美国专利申请案,代理人案号为092888U2。
以下颁发的专利明确地以引用的方式并入本文中以用于所有目的:
萧克罗雷希(Shokrollahi)等人于2005年6月21日颁发的题为“链反应代码的系统性编码和解码(Systematic Encoding and Decoding of Chain Reaction Codes)”的第6,909,383号美国专利(下文中称为“萧克罗雷希-系统性”);以及
萧克罗雷希等人于2005年2月15日颁发的题为“用于通过去活来对链反应代码解码的系统和过程(Systems and Processes for Decoding Chain Reaction Codes ThroughInactivation)”的第6,856,263号美国专利(下文中称为“萧克罗雷希-去活”)。
技术领域
本发明大体上涉及用于在时间和/或空间上对数据编码以用于经由信道传输且对所述数据解码的方法、电路、设备和计算机程序代码,其中预期删除和/或错误,且更明确地说,涉及用于使用源块对数据编码的方法、电路、设备和计算机程序代码,所述源块与其它源块重叠且可部分地或全部地与其它源块共同扩张。
背景技术
经由通信信道在发送器与接收者之间传输文件已成为大量文献的主题。优选地,接收者希望以某种程度的确定性接收由发送器经由信道传输的数据的确切复本。在信道不具有完美保真度的情况下(其涵盖大多数所有物理上可实现的系统),一个关注问题为如何处理在传输中丢失或错乱的数据。丢失数据(删除)常常比损坏的数据(错误)容易处理,这是因为接收者始终无法了解损坏的数据何时是错误地接收的数据。已开发许多错误校正代码以校正删除和/或错误。通常,基于关于正传输数据且正传输数据的性质所通过的信道的无保真性的某一信息而选择所使用的特定代码。举例来说,在已知信道具有长的无保真性周期的情况下,突发错误代码可能极适于所述应用。在预期仅具有短的不常见错误的情况下,简单的奇偶校验码可能为最好的。
在特定应用中,需要处置一种以上服务级别。举例来说,广播装置可能广播两种服务级别,其中仅能够接收一种级别的装置接收可接受的数据集合,且能够接收第一级别和第二级别的装置使用第二级别来改进第一级别的数据。此情形的实例为FM无线电,其中一些装置仅接收单耳信号且其它装置接收所述单耳信号和立体声信号。此方案的一个特性是:在无较低层的情况下,高层通常并非有用的。举例来说,如果无线电接收次要立体声信号而非基础信号,那么将不会发现次要立体声信号特别有用,而如果发生相反情形,且接收主要级别而非次要级别,那么可提供至少一些有用信号。为此,常常将主要级别视为比次要级别更值得保护。在FM无线电实例中,将主要信号比次要信号更接近基带来发送,从而使得主要信号更稳健。
类似概念存在于数据输送和广播系统中,其中第一级别的数据输送是针对基本信号且第二级别是针对增强层。实例为H.264可缩放射频译码(SVC),其中连同增强层一起发送H.264基础相容流。实例为1兆位/秒(mbps)基础层和1mbps增强层。一般来说,如果接收器能够对所有基础层解码,那么接收器可提供有用输出,且如果接收器能够对所有增强层解码,那么接收器可提供改进的输出,然而,如果接收器无法对所有基础层解码,那么对增强层解码通常并不会提供任何有用信息。
常常使用前向错误校正(“FEC”)来提高接收器恢复经传输的数据的能力。在FEC的情况下,发射器或针对发射器操作的某一操作、模块或装置将对待传输的数据编码,使得接收器能够从经传输的经编码数据恢复原始数据,甚至在存在删除和或错误的情况下也如此。
由于一个层对另一层的损失效应的差异,不同译码可能用于不同层。举例来说,基础层的数据可能用表示基础层中的数据的FEC译码的额外数据来传输,接着用表示基础层和增强层中的数据的FEC译码的额外数据来传输增强层的数据。通过此方法,后一FEC译码可提供额外保证:可在接收器处成功地对基础层解码。
虽然此类分层方法在某些应用中可能为有用的,但其在其它应用中可能非常有限。举例来说,对于使用从两个或两个以上层中的一者产生的一些编码符号以及从所述两个或两个以上层的组合产生的其它编码符号而有效地对所述两个或两个以上层的联合解码,上述方法可能为不切实际的。
发明内容
可通过将源符号指派到基块、将基块指派到源块以及将每一源块编码为编码符号而对数据编码,其中至少一对源块使得其具有与所述对的两个源块共同的至少一个基块以及与所述对的另一源块不同的至少一个基块。源块的所述编码可独立于其它源块的内容。可根据来自多个源块的编码符号集合来进行解码以恢复原始源符号的所要集合的全部,其中来自第一源块的编码符号的量小于所述第一源块中的源数据的量,且同样,来自第二源块的编码符号的量小于所述第二源块中的源数据的量。
在特定实施例中,编码器可将源符号编码为编码符号,且解码器可从合适数目个编码符号来对那些源符号解码。来自每一源块的编码符号的数目可小于所述源块中的源符号的数目,且仍允许完整的解码。
在更特定实施例中,其中第一源块包括第一基块,且第二源块包括第一基块和第二基块,解码器可从来自第一源块的编码符号集合和来自第二源块的编码符号集合恢复第一基块和第二基块的全部,其中来自所述第一源块的编码符号的量小于第一源块中的源数据的量,且同样,来自所述第二源块的编码符号的量小于第二源块中的源数据的量,其中解码过程中的符号运算的数目实质上小于第二源块中的源符号的数目的平方。
附图说明
图1为根据本发明的方面的使用弹性代码的通信系统的框图。
图2为根据本发明的方面的使用弹性代码的解码器的实例的框图,所述解码器用作接收器的部分。
图3更详细地说明可能为图1中所展示的编码器或编码器阵列中的一个编码器单元的编码器。
图4说明根据弹性代码的源块映射的实例。
图5说明为前缀代码且G=4的弹性代码。
图6说明用修复符号的块进行的操作。
作为附录A附加的内容为表示关于删除信道的斯理篇-伍夫(Slepian-Wolf)型问题的论文,其中使用编码器/解码器系统的特定实施例,有时使用本发明的细节,也包含若干特殊情况以及一些实际应用(例如,流式传输)中的替代解决方案。应理解,附录A中所描述的特定实施例并非本发明的限制性实例,且本发明的一些方面可能使用附录A的教示而其它方面可能不使用附录A的教示。还应理解,附录A中的限制性陈述可能关于特定实施例的要求为限制性的,且此类限制性陈述可能关于或可能不关于所主张的发明且,因此,权利要求语言无需通过此类限制性陈述来限制。
为了促进理解,除了在适当的情况下可添加后缀以区分诸图所共有的相同元件以外,在可能的情况下使用相同参考数字来指明此类元件。图式中的图像经简化以用于说明性目的且未必按比例绘制。
随附图式说明本发明的示范性配置且,因而,不应被视为限制本发明的范围,本发明可准许其它同等有效的配置。相应地,预期,一些配置的特征可有益地并入于其它配置中,而无进一步叙述。
具体实施方式
本发明不限于经传输的特定类型的数据。然而,在本文中的实例中,将假定:通过一序列的一个或一个以上源符号来表示可经传输的数据,且每一源符号具有特定大小,有时以位来测量。虽然并非要求,但在这些实例中,源符号大小也为编码符号的大小。符号的“大小”可以位来测量,而不管符号实际上是否分裂成位流,其中当从2M个符号的字母表中选择符号时,符号具有M个位的大小。
在本文中所使用的术语中,通过若干个源符号来表示待传送的数据,其中K用以表示所述数目。在一些情况下,预先已知K。举例来说,当待传送的数据为具有未知大小的文件以及具有为源符号大小的整数倍的大小的文件时,K将仅为作为所述倍数的整数。然而,也可能为以下情况:在传输之前并不知道K,或在已经开始传输之后才知道K。举例来说,在发射器正传输数据流的情况下,这是因为发射器接收数据且并不具有关于数据流何时可能结束的指示。
编码器基于源符号而产生编码符号。本文中,常常将编码符号的数目称作N。在于给定K的情况下N固定的情况下,编码过程具有编码率r=K/N。信息论成立:如果所有源符号值同等地可能,那么K个源符号的完美恢复需要接收至少K个编码符号(假定相同大小用于源符号与编码符号)以便完全恢复所述K个源符号。因此,使用FEC的译码率通常小于1。在许多情况下,较低译码率允许更多冗余且因此更多可靠性,但以较低带宽和可能增加的计算努力为代价。一些代码对于每个编码符号需要比其它编码符号多的计算且对于许多应用,编码和/或解码的计算成本将招致有用实施与不实用实施之间的差异。
每一源符号具有值和在待传输的数据内的位置,且其可存储在含有特定源符号的值的表示的发射器和/或接收器、计算机可读存储器或其它电子存储器内的各处。同样地,每一编码符号具有值和索引,索引用以区分一个编码符号与另一编码符号,且也可以计算机可读或电子可读形式来表示。因此,应理解,符号与其物理表示常常可在描述中互换地使用。
在系统性编码器中,源符号为编码符号的部分且并非源符号的编码符号有时被称作修复符号,这是因为其可在解码器处用以“修复”归因于损失或错误产生的损坏,即,其可有助于恢复丢失的源符号。取决于所使用的代码,可完全从所接收的编码符号恢复源符号,所接收的编码符号可能为所有修复符号或一些源符号和一些修复符号。在非系统性编码器中,编码符号可能包含源符号中的一些源符号,但有可能所有编码符号为修复符号。为了不必使用单独的术语用于系统性编码器和非系统性编码器,应理解,术语“源符号”指代表示待传输或提供到目的地的数据的符号,而术语“编码符号”指代由编码器产生以便改进面对错误或损失时的可恢复性的符号,不管那些编码符号为源符号还是修复符号。在一些情况下,在将数据呈现给编码器之前,预先处理源符号,在所述情况下,编码器的输入可能被称作“输入符号”以区分源符号。当解码器对输入符号解码时,通常需要额外步骤以变成源符号,此情形通常为解码器的最终目标。
一个有效代码是简单的奇偶校验码,但稳健性常常不足。可能使用的另一代码是无速率代码,例如,描述于卢比(Luby)的第6,307,487号美国专利(所述专利已转让给本申请案的受让人,且明确地以引用的方式并入本文中,在下文中称为“卢比I”)中的链反应代码,以及如描述于萧克罗雷希等人的第7,068,729号美国专利(所述专利已转让给本申请案的受让人,且明确地以引用的方式并入本文中,在下文中称为“萧克罗雷希I”)中的多级链反应。
如本文中所使用,术语“文件”指代存储在一个或一个以上源处且将作为单元递送到一个或一个以上目的地的任何数据。因此,来自文件服务器或计算机存储装置的文档、图像和文件均为可递送的“文件”的实例。文件可具有已知大小(例如,存储在硬磁盘上的1兆字节图像)或可具有未知大小(例如,取自流式传输源的输出的文件)。总之,文件为一序列源符号,其中每一源符号具有在文件中的位置和值。
如本文中所使用,术语“文件”也可能指代待传输的其它数据,所述数据未经组织或序列化成线性位置集合,而是可改为表示可在多个维度上具有排序的数据,例如,平面贴图数据,或根据优先级沿着时间轴以及沿着其它轴线组织的数据,例如,经分层且具有依赖彼此以用于呈现的多个层的视频流式传输数据。
传输是通过信道将数据从一个或一个以上发送器传输到一个或一个以上接收者以便递送文件的过程。发送器有时也被称作发射器。如果一个发送器通过完美信道连接到任何数目个接收者,那么所接收数据可为输入文件的确切复本,如同将正确地接收所有数据一样。此处,假定:信道并非完美的,此情况为大多数真实信道的情况。在许多信道缺陷中,两个有关的缺陷是数据删除和数据不完整性(其可被视为数据删除的特殊情况)。数据删除发生在信道丢失或丢弃数据时。数据不完整性发生在以下情形:接收者直到已经传递数据中的一些数据时才开始接收数据时,接收者在传输结束之前停止接收数据时,接收者选择仅接收所传输数据的一部分时,和/或接收器间歇地停止和再次开始接收数据时。
如果使用包网络,那么将一个或一个以上符号或符号的可能部分包含在用于传输的包中,且假定已正确地接收每一包或根本不接收每一包。传输可为“可靠的”,此情形在于:接收者与发送器在面对故障时将彼此对应,直到接收者对结果满意为止;或为不可靠的,此情形在于:接收者必须处理由发送器提供的内容且因此有时可能失败。在FEC的情况下,发射器通过提供额外信息或其类似者来对数据编码,以补偿可能在传输中丢失的信息,且通常在确切了解错误之前进行FEC编码,从而试图预先防止错误。
一般来说,通信信道是连接发送器与接收者以用于进行数据传输的信道。通信信道可为实时信道,其中在信道得到数据时,信道将数据从发送器移动到接收者,或通信信道可能为存储信道,其在数据从发送器到接收者的传输中存储数据中的一些或全部。后者的实例为磁盘存储器或其它存储装置。在所述实例中,产生数据的程序或装置可被视为将数据传输到存储装置的发送器。接收者为从存储装置读取数据的程序或装置。发送器用以将数据带到存储装置上的机制、存储装置自身以及接收者用以从存储装置得到数据的机制共同形成信道。如果存在所述机制或存储装置可能丢失数据的机会,那么所述情形将被视为通信信道中的数据删除。
“删除代码”为将K个源符号集合映射到较大(>K)的编码符号集合的代码,具有可从编码符号的一些适当子集恢复原始源符号的属性。编码器将进行操作以从其提供的源符号产生编码符号,且将根据其提供或编程以实施的删除代码进行此操作。如果删除代码为有用的,如果碰巧在接收器/解码器处接收的编码符号的子集具有大于或等于源符号(“理想”代码)的大小的大小,或至少此情形应以相当高的概率成立,那么可从所述子集恢复原始源符号(或在一些情况下,少于完整的恢复但足以满足特定应用的需要)。在实践中,“符号”通常为字节的集合,可能为几百个字节,且所有符号(源符号和编码符号)为相同大小。
“块删除代码”为将源符号(“块”)的一组特定不相交子集中的一者映射到每一编码符号的删除代码。当从一个块产生编码符号集合时,所述编码符号可彼此组合使用以恢复所述一个块。
编码符号的“范围”为产生编码符号所来自的块和编码符号用以解码的块,其中其它编码符号组合使用。
给定编码符号的“邻域集合”为编码符号直接依赖的符号的块内的源符号的集合。邻域集合可能为编码符号的范围的非常稀疏子集。由于效率和其它原因,许多块删除代码(包含链反应代码(例如,LT代码)、LDPC代码以及多级链反应代码(例如,速龙代码(Raptor code)))使用稀疏技术来产生编码符号。关于稀疏性的测量的一个实例为编码符号依赖的邻域集合中的符号的数目与块中的符号的数目的比率。举例来说,在块包括256个源符号(k=256)且每一编码符号为所述256个源符号中的两者和五者之间的XOR(异或)运算的情况下,比率将在2/256与5/256之间。类似地,在K=1024且每一编码符号为正好三个源符号的函数(即,每一编码符号的邻域集合具有正好三个成员)的情况下,那么比率为3/1024。
对于例如速龙代码的一些代码,并不直接从块的源符号产生编码符号,而是改为从自身从块的源符号产生的其它中间符号产生编码符号。在任一情况下,对于速龙代码,邻域集合可比所述编码符号的范围(其等于块中的源符号的数目)的大小小得多。在这些情况下,其中有效的编码和解码为关注问题且所得代码构造为稀疏的,编码符号的邻域集合可比其范围小得多,且不同的编码符号可具有不同邻域集合,甚至在从相同范围产生时也如此。
由于块删除代码的块为不相交的,因此从一个块产生的编码符号无法用以恢复来自不同块的符号,这是因为其不含有关于其它块的信息。通常,代码的设计、用于此类不相交块删除代码的编码器和解码器归因于代码的性质而以某种方式表现。如果简单地修改编码器/解码器以考虑非不相交块,即,在块的范围可能与另一块的范围重叠的情况下,从重叠块产生的编码符号将不可用于有效地从块的联合恢复源符号,即,在使用编码符号的小邻域集合对重叠块解码时,解码过程并不允许有效地使用编码符号的小邻域集合。因此,在经应用以对重叠块解码时,块删除代码的解码效率比这些代码在经应用以对其经设计以用于的块解码(即,对不相交块解码)时的解码效率差得多。
“系统性代码”为编码符号集合含有源符号自身的代码。在此上下文中,在源符号与“修复符号”之间可能存在区别,其中后者指代编码符号而不是匹配源符号的那些符号。在使用系统性代码且正确地接收所有编码符号的情况下,在接收器处不需要额外符号(修复符号),但如果在传输中丢失或删除了一些源符号,那么可使用修复符号来修复此类情形以使得解码器可恢复遗失的源符号。如果编码符号包括修复符号且源符号并非直接为编码符号的部分,那么将代码视为“非系统性的”。
记住这些定义,现在将描述各种实施例。
用于弹性代码的编码器/解码器的概述
在编码器中,从源符号、输入参数、编码规则以及可能的其它考虑因素产生编码符号。在本文中所描述的基于块的编码的实例中,编码符号可依赖的此源符号集合被称作“源块”,或者,被称作编码符号的“范围”。因为编码器是基于块的,所以给定编码符号仅依赖一个源块内的源符号(以及可能的其它细节),或者,仅依赖其范围内的源符号,且并依赖在其源块或范围之外的源符号。
块删除代码可用于允许有效编码,以及有效解码。举例来说,一旦接收器成功地恢复给定源块的所有源符号,接收器便可暂停处理对所述源块内的源符号编码的所有其它所接收的编码符号,且改为集中于其它源块的编码符号。
在简单的块删除编码器中,可能将源数据划分成固定大小的、连续且非重叠源块,即,每一源块具有相同数目个源符号,在源块范围内的所有源符号在源数据中在位置上邻近且每一源符号属于正好一个源块。然而,对于某些应用,此类约束可能降低性能,减少稳健性,和/或添加编码和/或解码的计算努力。
弹性删除代码以若干种方式不同于块删除代码。一种方式是:在面对重叠块的联合时,弹性删除代码编码器和解码器更有效地操作。对于本文中所描述的弹性删除代码方法中的一些方法,所产生的编码符号为稀疏的,即,其邻域集合比其范围的大小小得多,且当使用从重叠的范围(块)的组合产生的编码符号来对范围的联合解码时,对应解码器过程不仅为有效的(在解码过程中充分利用编码符号的稀疏性,且用于解码的符号运算的数目实质上小于求解稠密方程组所需的符号运算的数目),而且具有小的接收开销(恢复范围的联合所需的编码符号的数目可能等于或不大于范围的联合的大小)。举例来说,当从K个源符号的块产生编码符号时,即,当编码符号具有范围K时,每一编码符号的邻域集合的大小可能为K的平方根。接着,从由两个重叠块产生的编码符号恢复所述两个块的联合所需的符号运算的数目可能比K′的平方小得多,其中所述两个块的联合包括K′个源符号。
在本文中所描述的弹性删除译码的情况下,源块不需要为大小固定的,可能有可能包含非邻近位置,以及允许源块重叠,使得给定源符号由一个以上源块“包封”。
在下文所描述的编码器的实施例中,待编码的数据为有序的多个源符号,且编码器确定表示源符号的“基块”的分界使得每一源符号由一个基块涵盖(或获得关于所述情形的确定),以及源块的确定和分界,其中源块包封一个或一个以上基块(以及所述基块中的源符号)。在每一源块包封正好一个基块的情况下,结果类似于常规块编码器。然而,当源块能够彼此重叠使得某一基块可能在一个以上源块中,使得两个源块在其交集处具有至少一个基块,且两个源块的联合包含比所述源块中的任一者中的源符号多的源符号时,在译码中存在若干个有用且未预期的益处。
如果编码使得可从由源块对中的第一源块产生的第编码符号集合与由源块对中的第二源块产生的第二编码符号集合的组合恢复由源块对的联合表示的源数据的部分,那么可能有可能使用比在使用更简单的编码过程的情况下可能需要的所接收符号少的所接收符号来解码。在此编码过程中,在一些情况下,所得编码符号可组合使用以用于有效地恢复一个以上源块的源符号。
下文提供关于此情形的原因的说明,但首先,将描述实施的实例。应理解,这些实施可以硬件、由处理器或计算机执行的程序代码、在通用计算机上运行的软件或其类似者来进行。
弹性代码理想恢复属性
对于块代码,理想恢复是从由块产生的K个编码符号的任何所接收集合来恢复块的K个源符号的能力。众所周知的,存在具有此理想恢复属性的块代码。举例来说,用作删除代码的里德所罗门(Reed-Solomon)代码展现此理想恢复属性。
可能针对弹性代码定义类似的理想恢复属性。假设弹性代码通信系统经设计使得接收器接收编码符号的某一集合(其中信道可能造成编码符号中的一些编码符号的损失,因此确切集合可能无法在编码器处指定)且接收器试图恢复所有原始源符号,其中在编码器处从重叠范围集合产生编码符号。重叠范围使得从重叠的源符号的多个源块产生所接收的编码符号,其中每一所接收的编码符号的范围为所述源块中的一者。换句话说,从T个块(范围)的集合b1,b2,K,br产生编码符号,其中从所述T个块(范围)中的正好一者产生每一编码符号。
在此上下文中,对于任何S,使得1≤S≤T,对于{1,K,T}的所有子集{i1,K,is},如果以下情形成立,那么可将弹性删除代码的理想恢复属性描述为从所接收的编码符号的子集E恢复T个块的集合的能力:对于所有s,使得1≤s≤S,对于{i1,K,iS}的所有子集{i1′,K,is′},从中的任一者产生的E中的符号的数目至多为的联合的大小,且从中的任一者产生的E中的符号的数目等于
Figure BDA0000379714970000103
的联合的大小。应注意,E可为所接收的编码符号的子集,即,在评估此理想恢复定义以查看是否可恢复特定的块(范围)集合时,可能不考虑一些所接收的编码符号。
理想地,块(范围)集合的恢复应为计算上有效的,例如,解码过程使用的符号运算的数目可能与经恢复的范围的联合中的源符号的数目成线性比例,与二次方程成对比。
应注意,虽然本文中的一些描述可能描述用于弹性删除代码编码、处理、解码等的方法和过程,所述方法和过程在一些情况下实现上文所描述的理想恢复属性,在其它情况下,仅实现弹性代码的理想恢复和效率属性的紧密近似,但仍将所述方法和过程视为在弹性删除代码编码、处理、解码等的定义内。
系统概述
图1为使用弹性代码的通信系统100的框图。
在系统100中,弹性代码块映射器(“映射器”)110产生基块到源块的映射,且有可能也产生基块的分界。如图1中所展示,通信系统100包含映射器110、用于源块映射的存储器115、编码器阵列或编码器120、用于对符号编码的存储器125,以及发射器模块130。
映射器110根据各种输入以及其中所表示的可能的规则集合而确定哪些源块将与哪些基块对应,且将对应存储在存储器115中。如果此过程为确定性的且可重复的过程,那么可在解码器处运行相同过程以获得此映射,但如果此过程为随机的或并非完全确定性的,那么可将关于映射如何发生的信息发送到目的地以允许解码器确定所述映射。
如所展示,在此实施例中使用输入集合(决不需要为详尽的),以用于控制映射器110的操作。举例来说,在一些实施例中,映射可能依赖源符号自身的值、源符号的数目(K)、作为输入(而不是完全在映射器110内部产生)提供的基块结构、接收器反馈、数据优先级信号,或其它输入。
作为实例,映射器110可能经编程以创建具有包封的源块,所述包封依赖于作为映射器110的输入提供的基块边界的特定指示。
源块映射也可能依赖于接收器反馈。在发射器容易得到接收器反馈且接收器指示对数据的成功接收的情况下,此情形可能为有用的。因此,接收器可能用信号向发射器通知接收器已接收并恢复直到第i个符号的所有源符号,且映射器110可能进行响应而更改源块包封以排除在第i个符号之前到达的完全恢复的基块,此情形可节省发射器以及接收器处的计算努力和/或存储。
源块映射可依赖于数据优先级输入,所述数据优先级输入用信号向映射器110通知针对不同源块或基块使数据优先级值变化。此情形的实例使用情况是在以下情况下:其中发射器正传输数据且接收到关于经传输的数据的优先级比其它数据低的信号,在所述情况下,可以较低优先级数据为代价针对较高优先级数据增加译码和稳健性。在以下应用中,此情形将为有用的:在例如地图显示器的应用中,其中最终用户可能在载入地图时移动“感兴趣的焦点”;或在视频应用中,其中最终用户在传输视频序列期间快进或快退。
在任一情况下,编码器阵列120使用源块映射以及源符号值和用于编码的其它参数来产生编码符号,所述编码符号存储在存储器125中以用于最终由发射器模块130传输。当然,应理解,系统100可完全以软件来实施,所述软件读取源符号值和其它输入且产生所存储的编码符号。因为编码器阵列可得到源块映射且编码符号可独立于不在与所述编码符号相关联的源块内的源符号,所以编码器阵列120可包括各自对不同源块操作的多个独立操作编码器。还应理解,在一些应用中,紧接在产生每一编码符号之后或几乎紧接在产生每一编码符号之后发送每一编码符号,且因此可能不存在对存储器125的需要,或可能在传输编码符号之前仅在短持续时间内将编码符号存储在存储器125内。
现参看图2,展示目的地处用作接收器的部分的解码器的实例。如此处所说明,接收器200包含接收器模块210、用于所接收的编码符号的存储器220、解码器230、用于经解码的源符号的存储器235,以及对应源块映射存储器215。未展示的内容为接收关于如何创建源块映射的信息所需的任何连接(如果发射器需要所述连接)。
接收器模块210从发射器接收信号,可能包含删除、损失和/或遗失数据,从所接收的信号导出编码符号,且将编码符号存储在存储器220中。
解码器230可读取可得到的编码符号、来自存储器215的源块映射,以基于映射、可得到的编码符号以及存储器235中的先前经解码符号来确定可从编码符号对哪些符号解码。可将解码器230的结果存储在存储器235中。
应理解,用于所接收的经编码符号的存储器220以及用于经解码的源符号的存储器235可能由共同存储器元件来实施,即,其中解码器230将解码结果保存在与用以解码的所接收的编码符号相同的存储区域中。还应从本发明理解,编码符号和经解码源符号可存储在易失性存储器中,例如,随机存取存储器(RAM)或高速缓冲存储器,尤其在于编码符号首次到达时与经解码数据将供其它应用使用时之间存在短延迟的情况下。在其它应用中,将符号存储在不同类型的存储器中。
图3更详细地说明编码器300,其可能为图1中所展示的编码器或编码器阵列中的一个编码器单元。在任一情况下,如所说明,编码器300具有符号缓冲器305,源符号的值存储在符号缓冲器305中。在说明中,可一次存储所有K个源符号,但应理解,编码器也可同等地对具有少于全部源符号的符号缓冲器起作用。举例来说,可能用仅含有相当于一个源块价值的源符号或甚至相当于少于整个源块价值的源符号的符号缓冲器来执行产生编码符号的给定操作。
符号选择器310从符号缓冲器305中的源符号位置中的一到K中选择,且运算符320对对应于源符号的操作数进行运算且借此产生编码符号。在特定实例中,符号选择器310使用稀疏矩阵来从经产生的编码符号的源块或范围中选择符号,且运算符320通过对符号执行逐位异或(XOR)运算来对选定的符号进行运算以获得编码符号。除XOR之外的其它运算是可能的。
如本文中所使用,作为针对特定编码符号的操作数的源符号被称作所述编码符号的“相邻者”,且依赖于给定源符号的所有编码符号的集合被称作所述源块的邻域。
当运算为XOR时,如果编码符号的所有其它相邻者源符号可得到,那么可简单地通过对编码符号和其它相邻者执行XOR运算,从编码符号来恢复为所述编码符号的相邻者的源符号。此情形可使得有可能对其它源符号解码。其它运算可能具有相似的功能性。
在己知相邻者关系的情况下,将存在源符号和编码符号的曲线图,以表示编码关系。
弹性代码的细节
弹性代码具有优于块代码或卷积码或网络代码的许多优点,且容易允许经译码的内容基于在编码期间所接收的反馈而改变。归因于块代码对整个数据块译码的要求,块代码为有限的,但随着编码继续进行而对数据的不同部分译码可为有利的,基于信道的己知的错误条件和/或反馈,考虑:在许多应用中,归因于时序约束,例如,当流式传输数据时,在可恢复所有数据之前按前缀次序恢复数据为有用的。
卷积码通过按预定样式化方式将修复符号添加到数据流而对所述流提供某种保护,例如,基于预定样式以预定速率将修复符号添加到流。卷积码并不允许任意的源块结构,其也不提供灵活性以从源数据的不同部分产生变化量的编码符号,且其也以许多其它方式而为有限的,包含恢复属性以及编码和解码的效率。
网络代码提供对通过多种中间接收器传输的数据的保护,且每一个此类中间接收器接着基于其所接收的内容而对额外编码数据编码且传输额外编码数据。网络代码并不提供灵活性以确定源块结构,也不存在比强力好的已知的有效编码和解码程序,且网络代码也以许多其它方式而为有限的。
弹性代码提供合适级别的数据保护,同时允许实时流式传输体验,即,在给定当前错误条件的情况下(归因于经引入以保护从而免于错误条件的译码),在过程中引入尽可能少的等待时间。
如所解释,弹性代码为满足以下情形的代码:其中每一编码符号可依赖于源符号的任意子集。一种类型的一般性弹性代码为弹性弦代码,其中源符号按序列布置且每一编码符号是从连续源符号集合产生的。下文更详细地解释弹性弦代码。
弹性代码的其它实施例为也为线性代码的弹性代码,即,其中每一编码符号为其所依赖的源符号的线性总和,且GF(q)线性代码为满足以下情形的线性代码:其中任何编码符号的构造中的源符号的系数为有限域GF(q)的成员。
如本文中所描述的使用弹性代码的编码器和解码器以及通信系统提供使等待时间和带宽开销最小化的良好平衡。
用于多优先级译码的弹性代码用途
弹性代码也可用于需要递送包括多个部分的对象的通信系统中,因为所述部分可具有不同的递送优先级,其中静态地或动态地确定所述优先级。
静态优先级的实例将为经分割成不同部分以按依赖于所述部分的优先级而递送的数据,其中不同部分可在逻辑上相关或依赖于彼此(在时间或某一其它因果关系维度上)。在此情况下,协议可能不具有从接收器到发送器的反馈,即,为开环。
动态优先级的实例将为满足以下情形的协议:当最终用户动态地且不可预测地集中于地图改变的不同部分时,动态地分成几部分地将二维地图信息递送到最终用户。在此情况下,待递送的地图的不同部分的优先级基于仅基于协议过程期间的反馈而已知的未知的先验优先级而改变,例如,反应于改变的网络条件、接收器输入或兴趣或其它输入。举例来说,最终用户可基于其当前地图视图中的信息以及其个人倾向和/或目标而改变其在将查看地图的哪一接下来的部分方面的兴趣。可将地图数据分割成象限,且在每一象限内,分割成不同的细化级别,且因此可能存在针对每一象限的每一级别的基块,且源块可能包括一个或一个以上基块的联合,例如,一些源块可能包括与一个象限内的不同的细化级别相关联的基块的联合,而其它源块可能包括与一个细化级别的邻近象限相关联的基块的联合。此为闭环协议的实例。
使用弹性删除译码的编码器
本文中所描述的编码器使用新颖的译码,所述新颖的译码允许对数据的任意子集编码。举例来说,一个修复符号可对一个数据符号集合编码,而第二修复符号可对第二数据符号集合编码,按以下方式进行:使得所述两个修复符号可从其范围的交集中的两个源符号的损失来恢复,且每一修复符号可从来自数据符号的在其范围内但不在另一修复符号的范围内的一个数据符号的损失来恢复。弹性代码的一个优点在于:其可提供恢复能力与端到端等待时间之间的弹性折衷。此类代码的另一个优点在于其可用以按以下方式保护不同优先级的数据:使得可组合仅针对最高优先级数据提供的保护与针对整个数据提供以恢复整个数据的数据,甚至在针对最高优先级数据提供的修复并非单独足够用于恢复最高优先级数据时的情况下也如此。
在不存在反馈的情况下以及在协议内存在反馈的情况下,这些代码可用于完整协议设计中。在协议内存在反馈的情况下,可基于反馈而动态地改变代码以提供所提供的保护与添加的等待时间(归因于译码)的最好组合。
可通过具有单个的源范围(每一源符号仅属于一个源块)将块代码视为使用弹性代码的退化情况。在弹性代码的情况下,源范围确定可为完全灵活的,源符号可属于多个源范围,可即时地确定源范围,以不同于预先定义的规则样式的样式,通过源数据的基础结构确定,通过输送条件或其它因素确定。
图4说明实例,其中下行方框表示源符号且符号上方的大括号指示源块的包封。在此实例中,存在三个源块且因此将存在三个经编码块,针对所述源块中的每一者编码的经编码块。在此实例中,如果源块由基块形成,那么可存在五个基块,其中基块分界用箭头来指示。
一般来说,使用弹性代码的编码器和解码器将操作,其中源符号中的每一者在一个基块内但可在一个以上源块或源范围中,其中源块中的一些源块重叠且在一些情况下,至少并非完全为其它源块的子集,即,存在至少两个源块,所述至少两个源块具有一些共同的源符号,而且每一源块具有存在于所述源块中的一者中但不存在于所述源块中的另一者中的一些源符号。源块是产生修复符号所来自的单元,即,修复符号的范围,使得一个源块的修复符号可独立于不在所述源块中的源符号,借此允许使用源块的经编码、所接收和/或修复符号对所述源块的源符号解码,而不需要解码器存取另一源块的经编码、所接收或修复符号。
源块的范围的样式可为任意的,和/或可依赖于目的解码器的需要或请求。在一些实施中,可即时地确定源范围,通过源数据的基础结构确定,通过输送条件确定,和/或通过其它因素确定。可从给定源块产生的修复符号的数目可针对每一源块而相同,或可变化。从给定源块产生的修复符号的数目可基于译码率而固定或可独立于源块,如在链反应代码的情况下。
在传统块代码或链反应代码的情况下,由解码器组合彼此使用以恢复源符号的修复符号通常从单个源块产生,而在本文中所描述的弹性代码的情况下,可从源数据的任意部分以及从源数据的重叠部分产生修复符号,且源符号到源块的映射可为灵活的。
选定设计考虑因素
有效的编码和解码为弹性代码设计中的主要关注问题。举例来说,理想效率可能见于可使用若干个符号运算解码的弹性代码中,所述弹性代码在经恢复的源符号的数目上为线性的,且因此使用实质上比强力方法少的符号运算用于恢复的任何解码器为优选的,其中强力方法通常需要在经恢复的源符号的数目上为二次的若干个符号运算。
用最少的接收开销解码也是目标,其中可将“接收开销”表示为实现先前所描述的理想恢复属性所需的额外编码符号的数目,解码器需要超过所述数目。此外,得到保证的恢复或高概率恢复或非常高可能性的恢复或大体上高的可靠性恢复为优选的。换句话说,在一些应用中,目标不需要为完全恢复。
弹性代码可用于若干环境中。举例来说,在分层译码的情况下,提供第一修复符号集合以保护较高优先级数据块,而第二修复符号集合保护较高优先级数据块与较低优先级数据块的组合,在解码处需要较少符号且如果分别对较高优先级数据块编码且分别对较低优先级数据块编码。一些已知代码提供分层译码,但常常以未能实现重叠源块的联合的有效解码和/或未能实现高可靠性恢复为代价。
下文所描述的基于弹性窗口的代码可同时实现重叠源块的联合的有效且高可靠性解码,且还可在分层译码的情况下进行此操作。
结合网络译码
在另一环境中,使用网络译码,其中起始节点将源数据的编码发送到可经历不同损失样式的中间节点,且中间节点将从所接收的编码数据的部分产生的编码数据发送到目的节点。目的节点可接着通过对从多个中间节点接收的所接收的编码数据解码而恢复原始源数据。可在网络译码协议内使用弹性代码,其中所得解决方案提供原始源数据的有效且高可靠性恢复。
弹性弦代码的简单构造
为了解释的目的,假定编码器如下产生修复符号集合,其提供弹性弦代码的简单构造。可扩展此简单构造以提供未必为弹性弦代码的弹性代码,在所述情况下,修复符号以及其邻域集合或范围的识别为此处所描述的识别的扩展。用GF(256)中的元素产生m×n矩阵A。用Aij表示第i行和第j列的元素,且用Sj(j=0,1,2,...)表示源符号。接着,对于任何元组(e,l,i),其中e、l和i为整数,e≥l>0且0≤i<m,且修复符号Re,l,i具有如在方程1中阐述的值。
R e , l , i = Σ j = e - l + 1 j = e A ij S j mod n (方程1)
应注意,对于待良好定义的Re,l,i,应指定符号乘以GF(256)的元素的乘法的概念和符号的求和的概念。在实例中,在本文中,将GF(256)的元素表示为八进制数且将可为一序列八进制数的每一符号视为GF(256)的一序列元素。符号乘以域元素的乘法需要符号的每一元素乘以相同域元素的乘法。符号的求和简单地为由待求和的符号中的对应域元素的总和的串联形成的符号。
针对给定修复符号的出现于方程1中的源符号集合被称为修复符号的“范围”,而具有针对所述修复符号中的每一者的出现于方程1中的给定源符号的修复符号集合被称作给定源符号的“邻域”。因此,在此构造中,修复符号的邻域集合与修复符号的范围相同。
代码的编码符号则包括源符号加上修复符号,如本文中所定义,即,经构造的代码为系统性的。
考虑矩阵A的两个替代构造,其对应于两个不同的弹性代码。对于“随机弦代码”,从GF(256)的非零元素中伪随机地选择A的元素。应理解,贯穿本文,除非另外指示,否则在描述为随机地选择的情况下,应假定:伪随机选择包含于所述描述中且,更一般来说,可伪随机地执行随机操作。对于“柯西弦代码”,如方程2中所展示来定义A的元素,其中k=255-m,且g(x)为八进制数表示为x的有限域元素。
A ij = ( g ( j mod k ) ⊕ g ( 255 - i ) ) - 1 (方程2)
对来自使用弹性弦代码的简单构造的编码的符号解码
又关于编码符号自身,解码器存取每一符号的识别信息,所述识别信息可仅为索引,即,对于源符号Sj,识别信息为索引j。对于修复符号Re,l,i,识别信息为三元组(e,l,i)。当然,解码器也存取矩阵A。
对于每一所接收的修复符号,解码器确定识别信息,且如果源符号值己知,那么使用源符号值从方程1计算所述修复符号的值,且如果源符号值未知,那么使用零符号从方程1计算所述修复符号的值。当将如此计算的值添加到所接收的修复符号时,假定修复符号经正确地接收,结果为修复符号的范围或邻域中的剩余的未知源符号的总和。
为了简单起见,此描述对解码器编程以试图恢复在至少一个所接收的修复符号的范围内的所有未知源符号。在阅读本发明后,应显而易见,如何修改解码器以恢复少于全部的未知源符号,或以高概率但少于确定性地恢复所有未知源符号,或其组合。
在此实例中,假设t为在所接收的修复符号的范围的联合中的未知源符号的数目,且假设j0,j1,K,jt-1为所述未知源符号的索引。假设u为所接收的修复符号的数目且将所接收的修复符号表示(任意地)为R0,K,Ru-1
构造具有项目Epq的u×t矩阵E,其中Epq为方程1中的针对修复符号Rp的源符号的系数,或在
Figure BDA0000379714970000172
不出现于方程中的情况下,Epq为零。接着,如果
Figure BDA0000379714970000173
为遗失源符号的向量,且R=(R0,Λ,Ru-1)T为在应用步骤1之后的所接收的修复符号的向量,那么将满足方程3中的表达式。
R=E·S    (方程3)
如果E并不具有秩u,那么存在可移除而不改变E的秩的一行E。移除所述一行E,将u递减一且将剩余修复符号重新编号,使得方程3仍成立。重复此步骤,直到E具有秩u为止。
如果u=t,那么完全解码是可能的,E为满秩正方形,且因此为可逆的。由于E为可逆的,因此可从E-1R找到S,且解码完成。如果u<t,那么在不接收额外源符号和/或源符号的此子集的修复符号或具有关于来自某一其它途径的源符号的其它信息的情况下完全解码是不可能的。
如果u<t,那么假设E′为满秩的E的u×u子矩阵。在合适的列排列的情况下,可将E写为(E′|U),其中U为u×(t-u)矩阵。将方程3的两边乘以E′-1,可获得方程4中的表达式,方程4提供针对对应于E-1R的行(其中E′-1U为零)的源符号的解决方案。
E′-1·R=(I|E′-1·U)·S    (方程4)
如果接收到其它修复符号和/或源符号,那么方程4允许更简单地恢复剩余源符号。
源符号的其它部分的恢复可能为有可能的,甚至在恢复在至少一个所接收的修复符号的范围内的所有未知源符号为不可能的时也如此。举例来说,可能为以下情况:尽管一些未知源符号在至少一个所接收的修复符号的范围内,但存在不足的修复符号来恢复未知源符号,或修复符号与未知源符号之间的方程中的一些方程为线性依赖的。在这些情况下,可能有可能仅使用具有在源符号的较小子集内的范围的所述修复符号来至少恢复源符号的所述较小子集。
使用弹性弦代码的简单构造的基于流的解码器
在“流”操作模式中,源符号形成流,且在产生修复时经由源符号的后缀产生修复符号。此基于流的协议使用上文所描述的弹性弦代码的简单构造。
在解码器处,源符号和修复符号逐个地到达,可能具有某种重新排序,且源符号或修复符号一到达,解码器就可识别任何丢失的源符号是否变得可解码,接着对此源符号解码且将此源符号递送到解码器的输出。
为了实现此目的,解码器维持矩阵(I|E′-1·U),且根据下文的程序,每次接收到新的源符号或修复符号时,更新此矩阵(I|E′-1·U)。
假设D表示“解码矩阵”(I|E′-1·U)。假设Dij表示位置(i,j)处的元素,D*j表示D的第j列,且Di*表示D的第i行。
在下文所描述的程序中,解码器对解码矩阵执行各种运算。对修复符号执行等效运算以实现解码。这些运算可与矩阵运算同时执行,但在一些实施中,将这些运算延迟,直到在下文所描述的“恢复符号”程序中恢复实际源符号为止。
在接收到源符号后,如果源符号为遗失源符号
Figure BDA0000379714970000181
中的一者,那么解码器移除D的对应列。如果经移除的列为前u列中的一者,那么解码器识别与具有经移除的列中的非零元素的行相关联的修复符号。解码器接着针对此修复符号的接收重复下文所描述的程序。如果经移除的列并非前u列中的一者,那么解码器执行下文所描述的“恢复符号”程序。
在接收到修复符号后,首先,解码器针对当前未知的每一源符号将新的列添加到D,在新的修复符号的范围内且并非已与D的列相关联。接下来,解码器针对所接收的修复符号将新的行Du*添加到D,将来自方程1的系数填入此行。
对于从0到u-1(包含0和u-1)的i,解码器用(Du*-Dui·Di*)替换Du*。此步骤导致消除Du*的前u个元素(即,减少到零)。如果在此消除步骤之后Du*为非零的,那么解码器执行列交换(在必要的情况下),使得Duu为非零的且用(Duu -1·Du*)替换Du*
对于从u-1到0(包含u-1和0)的i,解码器用(Di*-Diu·Du*)替换Di*。此步骤导致消除列u的元素(即,减少到零)(除了行u之外)。
矩阵现在再次呈形式(I|E′-1·U),且解码器可设置u:=u+1。
为了执行“恢复符号”程序,解码器考虑为零的E′-1·U的每一行,或如果E′-1·U为空,那么考虑D的所有行。可恢复D的所述行中列为非零的源符号。通过对修复符号执行所存储的运算序列来实现恢复。具体来说,当解码器用(Di*-α·Di*)替换行Di*时,其也用(Ri-α·Ri)替换对应修复符号Ri,且当用(α·Di*)替换行Di*时,其用α·Ri替换修复符号Ri
应注意,执行运算的次序为重要的且所述次序与执行矩阵运算的次序相同。
一旦已执行运算,接着针对为零的E′-1·U的每一行,对应修复符号现在具有等于在D的所述行中列为非零的源符号的值的值,且因此恢复所述符号。可接着将此行和列从D中移除。
在一些实施中,仅在识别可恢复至少一个符号时执行符号运算。针对D的所有行执行符号运算,但可能并不导致恢复所有遗失符号。解码器因此追踪哪些修复符号已“经处理”以及哪些符号“未经处理”,且在执行进一步矩阵运算时,小心地保持经处理的符号为最新的。
在此“流”模式中,弹性代码的属性在于:依赖性可无限地伸展到过去且因此解码矩阵D可任意大地生长。实际上,实施应设置对D的大小的限制。在实际应用中,常常存在针对任何给定源符号的递送的“截止时间”,即,在所述时间之后,符号对上部协议层无用,或在所述时间之后,告知上部层无论如何继续进行而无丢失的符号。
可基于此约束而设置D的最大大小。然而,对于弹性代码解码器来说,保持可用以恢复给定源符号的信息可为有利的,即使所述符号从未递送到应用程序也如此。这是因为替代方案是丢弃具有对所讨论的源符号的依赖性的所有修复符号,且可为以下情况:所述修复符号中的一些修复符号可用以恢复截止时间未过期的不同源符号。
对D的大小的替代限制与存储在弹性代码解码器中的信息的总量有关。在一些实施中,在循环缓冲器中缓冲所接收的源符号且保持已经递送的符号,这是因为随后解译所接收的修复符号可能需要这些符号(例如,计算上述方程1中的值)。当最后丢弃源符号时(归因于缓冲器满了),有必要丢弃(或处理)范围包含所述符号的任何(未经处理的)修复符号。给定此事实,以及源缓冲器大小,可能应设置矩阵D的大小以适应预期被接收的范围均在源缓冲器内的最大数目个修复符号。
替代实施是根据上文所描述的理想恢复属性仅在存在成功解码的可能性时来构造矩阵D。
计算复杂性
上文所描述的代码的计算复杂性受符号运算支配。
符号的加法可为对符号的逐位异或。此操作可在一些处理器上通过使用宽寄存器(例如,遵循x86架构的CPU上的SSE寄存器)有效地来实现,所述宽寄存器可同时对64位或128位数据执行XOR运算。然而,符号乘以有限域元素的乘法常常必须逐字节地来执行,这是因为处理器一般并不提供用于有限域运算的本机指令且因此必须使用查找表,这意味着每一字节乘法需要若干个处理器指令,包含存取存储器而不是处理数据。
在编码器处,使用上述方程1来计算每一修复符号。此操作涉及l个符号乘法以及l-1个符号加法,其中l为修复符号范围内的源符号的数目。如果每一源符号通过正好r个修复符号来保护,那么总的复杂性为O(r·k)个符号运算,其中k为源符号的数目。或者,如果每一修复符号具有具l个源符号的范围或邻域集合,那么每个所产生的修复符号的计算复杂性为O(l)个符号运算。如本文中所使用,应将表达式O()理解为常规的“属于函数一类的”。
在解码器处,存在复杂性的两个分量:所接收的源符号的消除以及丢失的源符号的恢复。第一分量等效于编码操作,即,O(r·k)符号运算。第二分量对应于由u×u矩阵E的倒置产生的符号运算,其中u为丢失的源符号的数目,且因此具有复杂性为O(u2)个符号运算。
对于低损失速率,u小且因此,如果在解码器处使用所有修复符号,那么编码复杂性和解码复杂性将类似。然而,由于复杂性的主要分量与修复符号的数目成比例,因此如果并非使用所有修复符号,那么复杂性应降低。
如上文所说明,在实施中,将修复符号的处理延迟,直到已知可恢复数据为止。此情形使符号运算最小化且因此使代码的计算要求最小化。然而,此情形导致解码活动的突发。
替代实施可通过在符号到达时执行对所接收的源符号的消除操作(使用方程1)而解决计算负荷。此情形导致对所有修复符号执行消除操作,即使修复符号并非全部使用也如此,此情形导致较高的(但更稳定的)计算复杂性。为了使此情形成为可能,解码器必须预先具有关于将产生哪些修复符号的信息,而这在所有应用中可能并非有可能的。
解码概率
理想地,每个修复符号由于其范围中的所有源符号在其经接收之前已经恢复或接收而明显为冗余的或可用于恢复丢失的源符号。此情形成立的频率取决于代码的构造。
当新的所接收的修复符号导致在消除步骤后将零行添加到D时,可在解码器逻辑中检测到与此理想的偏差。此类符号不载送新的信息到解码器,且因此将其丢弃以避免不必要的处理。
在随机GF(256)代码实施的情况下,基于以下事实,此可为256中大致1个修复符号的情况:在将新的随机行添加到满秩GF(256)的u×u+1矩阵时,所得u×u矩阵不具有满秩的概率为1/256。
在柯西代码实施的情况下,当用作块代码时且在源符号和修复符号的总数小于256时,故障概率为零。此类代码等效于里德所罗门代码。
块模式结果
在用作块代码(即,产生全部具有等于k个源符号的全集合的范围的许多修复符号)的弹性弦代码的测试(针对固定块大小(k=256)和修复量(r=8))中,编码速度和解码速度针对高于约200字节的变化的块大小而大约相同,但速度针对低于约200字节的块大小而降低。这有可能是因为在低于200字节的符号(或取决于条件而为某一其它阈值)时,确定符号运算所需的逻辑的开销实质上与符号运算本身相当,但针对较大符号大小,符号运算本身为主要的。
在其它测试中,针对固定的块和符号大小的随着修复开销(r/k)而变的编码和解码速度展示:编码和解码复杂性与修复符号的数目成比例(且因此速度与1/r成比例)。
流模式结果
当损失率比开销小得多时,平均等待时间较低,但其随着损失率接近代码开销而快速增加。这是所预期的,因为当损失率比开销小得多时,多数损失可使用单个修复符号来恢复。随着损失率增加,我们更经常遭遇到以下情况:其中在单个修复符号的范围内发生多个损失,且此要求使用更多修复符号。
可能发生的另一细调是考虑使修复符号的跨度变化的效应(所述跨度为在修复符号的范围中或邻域集合中存在多少个源符号),所述跨度在上述实例中为256。针对固定开销而减小跨度可减少保护每一源符号的修复符号的数目,且因此可预期此将增加残余误码率。然而,减小跨度还可降低编码器与解码器两者处的计算复杂性。
作为喷泉块代码(Fountain Block Code)的基于窗口的代码
在许多编码器和解码器中,分配给编码和解码的计算能力的量和时间是有限的。举例来说,在解码器处于电池供电的手持式装置中的情况下,解码应为有效的且不需要过量的计算能力。编码和解码操作所需的计算能力的一个测量是对特定符号集合解码所需的符号运算(将两个符号相加、相乘、异或(XOR)运算、复制等)的数目。代码应鉴于此而经设计。虽然确切运算数目可能并未预先已知,但由于其可基于哪些编码符号经接收以及多少个编码符号经接收而变化,所以常常可能确定平均情况或最坏情况且相应地对设计进行配置。
本段描述新类型的喷泉块代码(本文中称作“基于窗口的代码”),其为下文进一步描述的展现有效编码和解码的一些方面的弹性代码中的一些弹性代码的基础。基于窗口的代码在首次描述时为非系统性代码,但在下文进一步描述时,存在用于将此变换为系统性代码的若干方法,这在阅读本发明后将显而易见。在此情况下,每一编码符号的范围是K个源符号的整个块,但每一编码符号的邻域集合更为稀疏(由B<<K个相邻者组成),且不同编码符号的邻域集合通常为非常不同的。
考虑K个源符号的块。编码器如下工作。首先,编码器在每一侧上用B个零符号填充(逻辑上或实际上)所述块以形成K+2B个符号的扩展块X0,X1,K,XK+2B-1,即,前B个符号和后B个符号为零符号,且中间K个符号为源符号。为产生编码符号,编码器随机地选择开始位置t(在1与K+B-1之间),且从合适的有限域(例如,GF(2)或GF(256))随机地或伪随机地选择值α0,K,αB-1。接着由编码器使用方程5的公式来计算编码符号值ESV,在此情况下,在扩展块中的位置t到t+B-1中的符号中选择所产生编码符号的领域集合。
ESV = &Sigma; j = 0 B - 1 &alpha; j &CenterDot; X t + j     (方程5)
解码器在接收到至少K个编码符号后在扩展块中的源符号的位置上使用往复扫描(to-and-fro sweep)以进行解码。第一扫描是从第一位置的源符号到所述块的最后位置的源符号,使源符号s与编码符号e(其可恢复源符号s)匹配,以及消除对可用以恢复稍后位置中的源符号的编码符号的s的依赖性,以及将s对e的贡献(contribution)调整为仅s。第二扫描是从最后位置的源符号到所述块的第一位置的源符号,消除对用以恢复先前位置的源符号的编码符号的源符号s的依赖性。在成功的往复扫描后,每一源符号的经恢复的值为其所匹配的编码符号的值。
对于第一扫描过程,解码器获得所有所接收的编码符号的集合E。对于扩展块内的位置i=B,K,B+K-1中的每一源符号s,解码器选择编码符号e且接着将e匹配到s且从E删除e,编码符号e在E中的所有编码符号(其在其相邻者集合中具有s)中具有最早的相邻者末端位置。此选择是在那些编码符号e当中进行的,其中s对e的贡献在当前线性方程集合中为非零的,即,s对e的贡献为β·s,其中β≠0。如果不存在s的贡献为非零的编码符号e,那么由于s不能经解码,因此解码失败。一旦源符号s与编码符号e匹配,便从集合E移除编码符号e,使用高斯消除来消除s对E中的所有编码符号的贡献,且通过将e乘以s对e的贡献的系数的倒数而将s对e的贡献调整为仅s。
解码器的第二扫描过程如下工作。对于源位置i=K-1,K,0,中的每一源符号s,使用高斯消除来消除s对E中匹配到i之前的位置的源符号的所有编码符号的贡献。
解码当且仅当所接收编码符号所界定的线性方程系统具有秩K的情况下才成功地完全恢复所有源符号,即,如果所接收编码符号具有秩K,那么保证上述解码过程恢复所述块的K个源符号。
每个所产生编码符号的符号运算的数目为B。
编码符号的有效范围(reach)经界定为作为编码符号的相邻者的第一位置与作为编码符号的相邻者的最后位置之间的扩展块内的位置集合。在上述构造中,每一编码符号的有效范围的大小为B。解码符号运算的数目受用于解码的编码符号的有效范围的大小的总和约束。这是因为(顺便说一句,设计了上文描述的匹配过程):在解码过程期间从不扩展编码符号有效范围,且每一解码符号运算使编码符号有效范围的大小的总和减一。此意指用于对K个源符号解码的符号运算的数目为O(K·B)。
在基于窗口的代码的计算复杂性与其恢复属性之间存在折衷。通过简单分析可展示:如果B=O(K1/2)且如果有限域大小经选择为足够大(例如,O(K)),那么所述块的所有K个源符号可以高概率而从K个所接收的编码符号恢复,且故障概率随着每一额外接收的编码符号而快速降低。当GF[2]或GF[256]分别用作有限域且B=O(K1/2)时,基于窗口的代码的恢复属性类似于随机GF[2]代码或随机GF[256]代码的属性。
可使用类似分析来展示:如果B=O(ln(K/δ)/ε),那么在已接收K·(1+ε)个编码符号后,所述块的所有K个源符号可以至少概率1-δ来恢复。
如所属领域的技术人员将认识到,存在本文所描述的基于窗口的代码的许多变化。作为一个实例,代替创建K+2B个符号的扩展块,可改为从K个源符号直接产生编码符号,在此情况下,针对每一编码符号在0与K-1之间随机地选择t,且接着如方程6中所示来计算编码符号值。针对此经修改的基于窗口的块代码进行解码的一种方式是使用类似于上文描述的程序的解码程序,不同之处在于:在开头,K个源符号的连续集合B为“去活的”,所述解码如先前所述而继续进行,假定这些B个去活的源符号值为已知的,形成编码符号与B个去活的源符号之间的B×B方程系统并求解,且接着基于此以及往复扫描的结果,来求解剩余K-B个源符号。在萧克罗雷希去活中描述了此工作方式的细节。
ESV = &Sigma; j = 0 B - 1 &alpha; j &CenterDot; X ( t + j ) mod K     (方程6)
系统性基于窗口的块代码
上文描述的基于窗口的代码为非系统性代码。系统性基于窗口的代码可由这些非系统性基于窗口的代码构造,其中如此构造的系统性代码的效率和恢复属性与构造其的非系统性代码的效率和恢复属性非常类似。
在典型实施中,将K个源符号放置在由非系统性代码产生的前K个编码符号的位置处,对其解码以获得扩展块,且接着针对来自经解码扩展块的系统性代码而产生修复符号。在萧克罗雷希系统性中描述了此工作方式的细节。下文描述关于此基于窗口的块代码的简单且优选的此类系统性代码构造。
对于作为喷泉块代码的上文描述的非系统性基于窗口的代码,用以产生前K个编码符号以便构造系统性代码的优选方式如下。代替选择前K个编码符号的1与K+B-1之间的开始位置t,改为进行以下操作。假设B′=B/2(不失一般性地假定B为偶数)。针对前K个编码符号而选择t=B′,B′+1,K,B′+K-1。对于前K个编码符号的产生,所述产生确切地如上文所描述,可能除了以下情况之外(如果这已经不是个案):选择系数αB’为有限域的非零元素(使此系数非零确保解码过程可从此编码符号恢复对应于此系数的源符号)。顺便构造了这些编码符号,总是可能从这些前K个编码符号而恢复所述块的K个源符号。
系统性代码编码构造如下。将K个源符号的值放置在根据非系统性基于窗口的代码的先前段落中所描述的过程而产生的前K个编码符号的位置处,使用所述非系统性基于窗口的代码的往复解码过程来对扩展块的K个源符号解码,且接着使用应用到含有由往复解码过程产生的经解码源符号的扩展块的非系统性基于窗口的代码来产生任何额外修复符号。
源符号到编码符号的映射应使用K的随机排列来确保连续源符号的突发的损失(以及其它损失样式),不影响扩展块从编码符号的任何部分的可恢复性,即,源符号和修复符号的接收的任何样式和混合。
系统性解码过程为系统性编码过程的镜像。使用所接收的编码符号来通过使用非系统性基于窗口的代码的往复解码过程来恢复扩展块,且接着将非系统性基于窗口的编码器应用到扩展块来对任何遗失的源符号(即,遗失的前K个编码符号中的任一者)编码。
此系统性编码与解码的方法(其中解码发生在编码器处,且编码发生在解码器处)的一个优点在于:可使用两边一致的过程来创建系统性符号和修复符号。实际上,编码器的产生编码符号的部分甚至无需知道编码符号中的K个将碰巧确切匹配原始K个源符号。
作为喷泉弹性代码的基于窗口的代码
可将基于窗口的代码喷泉块代码用作构造喷泉弹性代码的基础,所述喷泉弹性代码为有效的且具有良好的恢复属性。为了简化构造的描述,在存在相等大小的多个基块X1,K,XL时描述构造,即,L个基块中的每一者包括K个源符号。所属领域的技术人员将认识到,可将这些构造和方法扩展到所述基块并非全部具有相同大小时的情况。
如先前描述,源块可包括L个基块的任何非空子集的联合。举例来说,一个源块可包括第一基块,且第二源块可包括第一和第二基块,且第三源块可包括第二和第三基块。在一些情况下,基块中的一些或全部具有不同的大小,且源块中的一些或全部具有不同大小。
编码器如下工作。首先,对于每一基块Xi,编码器在每一侧上用B个零符号填充(逻辑上或实际上)所述块以形成K+2B个符号的扩展块
Figure BDA0000379714970000251
,即,前B个符号和后B个符号为零符号,且中间K个符号为基块Xi的源符号。
编码器如下产生针对源块S的编码符号,其中S包括L′个基块,且不失一般性地假定这些为基块X1,K,XL′。编码器随机地选择开始位置t(在1与K+B-1之间,且针对所有i=1,K,L′),从合适的有限域(例如,GF(2)或GF(256))随机地选择值
Figure BDA0000379714970000252
对于每一i=1,K,L′,编码器基于相同的开始位置t而产生编码符号值,即,如方程7中所示。
ESV i = &Sigma; j = 0 B - 1 &alpha; j i &CenterDot; X t + j i     (方程7)
接着,针对源块的所产生的编码符号值ESV仅为ESVi在i=1,K,L′内的符号有限域总和,即,如方程8中所示。
ESV = &Sigma; i = 1 , K , L &prime; ESV i     (方程8)
假设使用解码器来对基块的子集解码,且不失一般性地假定存在基块X1,K,XL′。为恢复这些L′个基块中的源符号,解码器可使用由包括子集X1,K,XL′的联合的源块产生的任何所接收编码符号。为促进有效解码,解码器布置解码矩阵,其中矩阵的行对应于可用于解码的所接收编码符号,且其中矩阵的列对应于以交错次序布置的基块X1,K,XL′的扩展块:
X 0 1 , X 0 2 , K , X 0 L &prime; , X 1 1 , X 1 2 , K , X 1 L &prime; , K , X K + 2 B - 1 1 , X K + 2 B - 1 2 , K , X K + 2 B - 1 L &prime;
类似于用于喷泉块代码的先前描述的往复解码器,解码器在上述矩阵中的列位置中使用往复扫描来进行解码。第一扫描是从矩阵的最小列位置到最大列位置,使对应于所述列位置的源符号s与可恢复其的编码符号e匹配,以及消除对可用以恢复对应于稍后列位置的源符号的编码符号的s的依赖性,以及将s对e的贡献调整为仅s。第二扫描是从矩阵的最大列位置到最小列位置,从所述块的最后位置的源符号到第一位置的源符号,消除对用以恢复先前位置的源符号的对应于编码符号的所述列位置的源符号s的依赖性。在成功的往复扫描后,每一源符号的经恢复的值为其所匹配的编码符号的值。
对于第一扫描过程,解码器获得可用于对基块X1,K,XL′解码的所有所接收的编码符号的集合E。对于对应于L′个基块中的一者的源符号s的每一位置i=L′·B,...,L′·(B+K)-1,解码器选择编码符号e且接着将e匹配到s且从E删除e,编码符号e在E中的所有编码符号(其在其相邻者集合中具有s)中具有最早的相邻者末端位置。此选择是在那些编码符号e当中进行的,其中s对e的贡献在当前线性方程集合中为非零的,即,s对e的贡献为β·s,其中β≠0。如果不存在s的贡献为非零的编码符号e,那么由于s不能经解码,因此解码失败。一旦源符号s与编码符号e匹配,便从集合E移除编码符号e,使用高斯消除来消除s对E中的所有编码符号的贡献,且通过将e乘以s对e的贡献的系数的倒数而将s对e的贡献调整为仅s。
解码器的第二扫描过程如下工作。对于对应于L′个基块中的一者的源符号的每一位置i=L′·(B+K)-1,...,L′·B,使用高斯消除来消除s对E中匹配到对应于i之前的位置的源符号的所有编码符号的贡献。
解码当且仅当所接收编码符号所界定的线性方程系统具有秩L′·K的情况下才成功地完全恢复所有源符号,即,如果所接收编码符号具有秩L′·K,那么保证上述解码过程恢复L′个基块的L′·K个源符号。
每个所产生编码符号的符号运算的数目为B·V,其中V为产生编码符号的源块所包封的基块的数目。
编码符号的有效范围经界定为对应于解码矩阵中相邻者源符号的最小列位置与对应于相邻者源符号的最大列位置之间的列位置集合。根据编码过程和解码矩阵的属性,编码符号的有效范围大小在上述解码过程中至多为B·L′。解码符号运算的数目至多为编码符号的有效范围的大小的总和,因为根据上述匹配过程的属性,编码符号的有效范围从未由于解码符号运算而扩展超出其原始有效范围,且每一解码符号运算使编码符号有效范围的大小的总和减一。此意指用于对L′个基块中的N=K·L′个源符号解码的符号运算的数目为O(N·B·L′)。
在基于窗口的代码的计算复杂性与其恢复属性之间存在折衷。通过简单分析可展示:如果B=O(ln(L)·K1/2)且如果有限域大小经选择为足够大(例如,O(L·K)),那么所述L′个基块的所有L′·K个源符号可以高概率而恢复(如果先前描述的理想恢复弹性代码的恢复条件由L′个基块的所接收编码符号满足),且故障概率随着每一额外接收的编码符号而快速降低。当GF[2]或GF[256]分别用作有限域且B=O(ln(L)·K1/2)时,基于窗口的代码的恢复属性类似于随机GF[2]代码或随机GF[256]代码的属性。
可使用类似分析来展示:如果B=O(ln(L·K/δ)/ε),那么在以下条件下L′个基块的所有L′·K个源符号可以至少1-δ的概率来恢复。假设T为源块的数目,从所述源块产生可用于对L′个基块解码的所接收编码符号。接着,由T个源块产生的所接收编码符号的数目应为至少L′·K·(1+ε),且对于所有S≤T,由S个源块的任何集合产生的编码符号的数目应至多为所述S个源块的联合中的源符号的数目。
上文描述的基于窗口的代码为非系统性弹性代码。系统性基于窗口的喷泉弹性代码可由这些非系统性基于窗口的代码构造,其中如此构造的系统性代码的效率和恢复属性与构造其的非系统性代码的效率和恢复属性非常类似,类似于上文针对作为喷泉块代码的基于窗口的代码而描述的系统性构造。在萧克罗雷希系统性中描述了此工作方式的细节。
如所属领域的技术人员将认识到,存在本文所描述的基于窗口的代码的许多变化。作为一个实例,代替创建每一弹性块的K+2B个符号的扩展块,可改为从作为产生编码符号的源块的部分的每一基块的K个源符号而直接产生编码符号,在此情况下,针对每一编码符号在0与K-1之间随机地选择t,且接着类似于方程6中所示针对每一此类基块来计算编码符号值。
针对此经修改的基于窗口的块代码解码的一种方式是使用类似于上文描述的程序的解码程序,不同之处在于:在开头,L′·K个源符号的连续集合L′·B为“去活的”,所述解码如先前所述而继续进行,假定这些L′·B个去活的源符号值为已知的,形成编码符号与L′·B个去活的源符号之间的L′·B×L′·B方程系统并求解,且接着基于此以及往复扫描的结果,来求解剩余L′·(K-B)个源符号。在萧克罗雷希去活中描述了此工作方式的细节。
存在上文基于窗口的代码的许多其它变化。举例来说,可能放松以下条件:每一基块包括相同数目个源符号。举例来说,在编码过程期间,用于对每一基块编码的B的值可与所述基块中的源符号的数目成比例。举例来说,假设第一基块包括K个源符号,且第二基块包括K′个源符号,且假设μ=K/K′为所述块的大小的比率。接着,用于第一基块的值B和用于第二基块的对应值B′可满足:B/B′=μ。在此变化中,两个基块内用于计算基块对由包封两个基块的源块产生的编码符号的贡献的开始位置可不同,例如,编码过程可在0与1之间均匀地选择值
Figure BDA0000379714970000271
且接着使用第一基块的开始位置
Figure BDA0000379714970000272
且使用第二基块的开始位置
Figure BDA0000379714970000273
(其中将这些值向上取整到最近整数位置)。在此变化中,当在解码器处形成包括来自经解码的基块中的每一者的交错符号的解码矩阵时,可以使得对应于第一基块的位置的频率与对应于第二基块的位置的频率的比率为μ的方式进行交错,例如,如果第一基块的大小是第二基块的大小的两倍,那么对应于第一基块的列位置为对应于第二基块的列位置的两倍,且此条件对于解码矩阵内的列位置的任何连续集合是成立的(模数四舍五入误差)。
如所属领域的技术人员将认识到,还存在许多其它变化。举例来说,可在解码器处使用解码矩阵的稀疏矩阵表示,而不是必须存储和处理完整的解码矩阵。这可实质上降低解码的存储和时间复杂性。
其它变化也是可能的。举例来说,编码可包括两种类型的编码符号的混合物:大部分的如上文描述而产生的第一类型的编码符号,以及少数的随机稀疏产生的第二类型的编码符号。举例来说,第一类型的编码符号的分数可为1-K-1/3且每一第一类型的编码符号的有效范围可为B=O(K1/3),且第二类型的编码符号的分数可为K-1/3且每一第二类型的编码符号的相邻者的数目可为K2/3。两种类型的编码符号的此类混合物的一个优点在于:当与仅使用一种类型的B=O(K1/2)相比而使用两种类型时,用以确保成功解码的用于第一类型的B的值可实质上较小,例如,B=O(K1/3)。
解码过程经修改而使得,在第一步骤中,将上文描述的往复解码过程应用到第一类型的编码符号,当解码坚持允许解码继续时使用去活解码来去活源符号。接着,在第二步骤中,使用第二类型的编码符号来恢复经去活的源符号值,且接着在第三步骤中,使用这些经求解编码符号值连同往复解码的第一步骤的结果来求解剩余的源符号值。此修改的优点在于:在不使恢复属性降级的情况下,编码和解码复杂性实质上得以改进。使用两种以上类型的编码符号的其它变化也是可能的,以进一步在不使恢复属性降级的情况下改进编码和解码复杂性。
理想恢复弹性代码
本段落描述实现先前描述的理想恢复弹性代码属性的弹性代码。此构造适用于源块满足以下条件的情况:源符号可按次序布置而使得每一源块中的源符号为连续的,且因此,对于任何第一源块以及对于任何第二源块,在第一源块中但不在第二源块中的源符号全部在第二源块之前或全部在第二源块之后,即,不存在第一源块的一些符号在第二源块之前且第一源块的一些符号在第二源块之后的第一源块和第二源块。为了简洁起见,在本文将此类代码称作无子集弦弹性代码或“NSCE代码”。NSCE代码包含前缀弹性代码。
应理解,本文中“构造”可涉及可抽象地考虑的数学概念,但可将此类构造应用于有用的目的和/或用于变换数据、电信号或物品。举例来说,可通过编码器执行构造,编码器设法对数据的符号编码以用于传输到接收器/解码器,所述接收器/解码器继而将对编码进行解码。因此,本文所描述的发明(即使在所述描述集中在数学方面的情况下)可以编码器、解码器、编码器与解码器的组合、所述编码器和/或解码的过程来实施,且本发明还可通过存储在计算机可读媒体上的程序代码来实施,所述程序代码供硬件和/软件使用,其将致使所述程序代码经执行和/或解译。
在NSCE代码的实例构造中,使用具有nc(n)个域元素的有限域,其中c(n)=O(nC),其中C为源块的数目。所述构造的概要如下,且一般所属领域的技术人员在阅读所述概要后将显而易见实施。在一些情况下,此构造可经最优化以进一步减小(至少在某种程度上)所需的有限域的大小。
在概要中,n为待编码和解码的源符号的数目,C为用于编码过程中的源块(也称作弦)的数目,c(n)为大约为nC的某一预定值。由于弦为用于产生修复符号的n个源符号的子集(恰当与否),且“块”为从同一域内产生的符号集合,因此在所使用的弦与所使用的块之间存在一对一对应。现将参考编码器或解码器来描述这些元素的使用,但应理解,可由两者来执行类似步骤,即使并未明确陈述也如此。
编码器将管理可在1到C的范围内且指示正经处理的当前块/弦的变数j。编码器通过一些逻辑或计算而针对每一块j确定源符号的数目kj以及与块j相关联的编码符号的数目nj。编码器接着可构造用于块j的kj×nj柯西矩阵Mj。基本有限域用以表示柯西矩阵所需的域的大小因此为所有j上的kj+nj的最大值。假设q为此基域中的元素的数目。
编码器在具有qD个元素的较大域F内工作,其中D大约为qC。假设ω为具有度数D的F的元素。编码器使用(至少逻辑上)ω的幂以更改待用以计算编码符号的矩阵。对于C个块中的块1,保持矩阵M1不修改。对于块2,将对应于第i源符号的M2的行乘以ωi。对于块j,将对应于第i源符号的Mj的行乘以ωi.q(j),其中q(j)=qj-2
假设经修改的矩阵为M′1,K,M′C。这些矩阵为用以产生C个块的编码符号的矩阵。这些矩阵的关键属性根据下文解释的观察而如下。
假设接收器已接收由各种块产生的编码符号的某种混合。接收器可能想要确定矩阵M的对应于源符号和所接收的编码符号的行列式是否为非零的。
考虑所接收编码符号与源符号之间的二分图(其中自然地界定邻近关系),即,如果源符号是产生编码符号的块的部分,那么在编码符号与源符号之间存在边缘。如果在此图内存在匹配(其中所有源符号经匹配),那么源符号应可从所接收编码符号解码,即M的行列式不应为零。接着,通过源符号匹配到编码符号的块的方式的“签名”来对每一匹配进行分类,例如,签名(1,1,3,2,3,1,2,3)指示:在此匹配中,第一源符号匹配到块1中的编码符号,第二源符号匹配到块1中的编码符号,第三源符号匹配到块3中的编码符号,第四源符号匹配到块2中的编码符号,等等。接着,可根据匹配的签名而对匹配进行分割,且可将M的行列式看作这些签名所界定的矩阵的行列式的总和,其中每一此类签名行列式对应于柯西矩阵且因此不为零。然而,所述签名行列式可互相清零。
通过构造经修改矩阵M′1,K,M′C,结果为:存在独特具有ω的最大幂作为对应于签名的行列式的系数的签名,且此意指M的行列式并非为零,这是因为此独特签名的行列式不能通过任何其它行列式来清零。这是所述块的弦结构的重要之处。
假设第一块对应于源符号内首先开始(以及结束)的弦,且一般地,假设块j对应于源块内作为开始(以及结束)的第j弦的弦。由于不存在子集弦,因此如果任一个块在第二块之前开始,那么其还必须在第二块之前结束,否则第二块为子集。
接着,解码器处置匹配,其中第一块的所有编码符号匹配到源符号的前缀,其中第二块的所有编码符号匹配到源符号的下一前缀(排除源符号匹配到第一块),等等。更明确地说,此匹配将具有签名e1 1,接着为e2 2,接着为e3 3等,其中ei为将用以对由块i产生的源符号解码的编码符号的数目。此匹配具有独特具有ω的最大幂作为系数(类似于在针对二弦情况的定理1中使用的自变量)的签名,即,对应于源编码符号与所接收编码符号之间的有效匹配的任何其它签名将具有ω的较小幂作为系数。因此,行列式必须为非零的。
关于弦弹性代码的一个缺点出现在子集存在的情况下,即,在另一弦内含有一个弦的情况下。在此类情况下,不能保证解码器总是找到每一块的编码符号经贪婪使用的匹配,即,至少根据源符号的原始排序而在第一源符号上使用块1的全部,接着为块2等等。
在一些情况下,源符号可经重新排序以获得非包含型(non-contained)弦结构。举例来说,如果根据源符号的原始排序的弦集使得每一后续弦含有所有先前弦,那么可将源符号重新排序而使得所述结构具有前缀代码,即,从内向外重新排序所述源符号,使得第一源符号为所有弦内部的源符号,接着为除了最小弦之外的所有弦内部的源符号,接着为除了最小两个弦之外的所有弦内部的源符号,等等。通过此重新排序,可应用上述构造以获得具有理想恢复属性的弹性代码。
弹件代码使用情况的实例
在一个实例中,编码器/解码器经设计以处理预期条件,例如,用于包的400ms的往返时间(RTT)、1Mbps(位/秒)的递送速率以及128字节的符号大小。因此,发送器每秒发送近似1000个符号(1000符号/秒×128字节/符号×8位/字节=1024Mbps)。假定一些轻微损失(例如,至多5%)且有时较重损失(例如,高达50%)的中等损失条件。
在一个方法中,在每G个源符号后插入修复符号,且在最大等待时间可为与G个符号一样小以从损失恢复的情况下,X=1/G为允许发送的不可恢复任何源符号的修复符号的分数。G可基于当前损失条件、RTT和/或带宽而改变。
考虑图5中的实例,其中弹性代码为前缀代码,且G=4。依序展示源符号,且展示修复符号,其中带括号的标签表示修复符号应用到的源块。
如果所有损失在开头处连续开始,且丢失了一个符号,那么所引入的等待时间至多为G,而如果丢失了两个符号,那么所引入的等待时间至多为2×G,且如果丢失了i个符号,那么所引入的等待时间至多为i×G。因此,损失的量线性地影响了所引入的等待时间。
因此,如果可允许冗余开销限于5%,那么G=20,即,针对每20个源符号发送一个修复符号。在上述实例中,每1ms发送一个符号,使得在每一修复符号之间将意味20ms,且恢复时间针对两个丢失符号将为40ms,针对三个丢失符号为60ms,等等。请注意,通过在这些条件中仅使用ARQ,恢复时间为至少400ms,RTT。
在所述实例中,修复符号的块是所有先前发送符号的集合。在允许从接收器返回的简单报告的情况下,可修改所述块以排除已被接收或不再需要的较早的源符号。图6中展示实例,其为图5中展示的实例的变化。
在此实例中,假定编码器从发送器接收最小的相关源索引的SRSI指示符。SRSI可在每次所有先前源符号经接收或不再需要时增加。接着,编码器不需要具有依赖于具有低于SRSI的索引的源符号的任何修复符号,此节省了计算。通常,SRSI为紧接在已恢复的源符号的最大前缀之后的源符号的索引。发送器接着从自接收器接收的最大SRSI到源符号的最后发送的索引来计算修复符号的范围。这导致了与无反馈版本确切相同的恢复属性,但减轻了发送器和接收器处的复杂性/存储器要求。在图6的实例中,SRSI=5。
通过反馈,可更有效地使用前缀弹性代码,且反馈降低了复杂性/存储器要求。当发送器得到指示损失的反馈时,其可相应地调整修复符号的范围。因此,为了组合前向错误校正和反应性错误校正,额外最优化是可能的。举例来说,可调谐前向错误校正(FEC)而使得可允许冗余开销足够高而主动地恢复多数损失,但不会太高而引入过多开销,而反应性校正是针对较多罕见损失。由于多数损失通过使用FEC而得以快速恢复,因此多数损失可经恢复而没有RTT等待时间惩罚。虽然反应性校正具有RTT等待时间惩罚,但其使用较罕见。
变化
源块映射指示源符号的哪些块用于确定编码符号集合的值(其可为一般或较特别的修复符号中的编码符号)。更明确地说,源块映射可存储在存储器中且指示多个基块的盘区(extent),且指示所述基块中的哪些基块在哪些源块的“范围内”。在一些情况下,至少一个基块是在一个以上源块中。在许多实施中,编码器或解码器的操作可独立于源块映射,因此允许任意的源块映射。因此,虽然可使用预定义的规则样式,但其为不需要的,且实际上,可通过输送条件或通过其它因素来根据源数据的基础结构来确定源块范围。
在一些实施例中,编码器和解码器可应用错误校正弹性译码而非仅弹性擦除译码。在一些实施例中,使用分层译码,其中修复符号的一个集合保护较高优先级数据的块,且修复符号的第二集合保护较高优先级数据的块与较低优先级数据的块的组合。
在一些通信系统中,网络译码与弹性代码组合,其中起始节点发送源数据的编码到中间节点,且中间节点发送由中间节点接收的编码数据的部分产生的编码数据,中间节点可能由于设计或归因于信道错误而未得到全部源数据。目的节点接着通过对从中间节点接收的编码数据解码而恢复原始源数据,且接着再次对此解码以恢复源数据。
在使用弹性代码的一些通信系统中,可支持各种应用,例如,当文件/流的前缀需要在其全部可用之前发送时的用于文件递送/流式传输的渐进式下载。此类系统还可用于PLP替换或用于对象输送。
所属领域的技术人员将进一步了解,在阅读本发明后,结合本文揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路和步骤。此类功能性是实施为硬件或是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员对于每一特定应用可以变化的方式实施所描述的功能性,但此类实施决策不应被解释为引起与本发明的示范性实施例的范围的偏离。
结合本文所揭示的实施例所描述的各种说明性逻辑块、模块和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其经设计以执行本文所描述的功能的任何组合来实施或执行。通用处理器可为微处理器,但在替代实施例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的组合,或任何其它此类配置。
可直接以硬件、以由处理器执行的软件模块或以上述两者的组合来体现结合本文所揭示的实施例而描述的方法或算法的步骤。软件模块可驻留于随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬磁盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。将示范性存储媒体耦合到处理器,使得所述处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻留于ASIC中。ASIC可驻留于用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留于用户终端中。
在一个或一个以上示范性实施例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么可将功能作为计算机可读媒体上的一个或一个以上指令或代码而加以存储或传输。计算机可读媒体包含计算机存储媒体与包含促进将计算机程序从一处传送到另一处的任何媒体的通信媒体两者。储存媒体可以是可由计算机存取的任何可用媒体。以实例说明且非限制性的,此类计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载送或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接可适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术而从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光盘、光学光盘、数字多功能光盘(DVD)、软盘和Blu-RayTM光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各物的组合也应包含在计算机可读媒体的范围内。
提供所揭示示范性实施例的先前描述以使得任何所属领域的技术人员能够进行或使用本发明。所属领域的技术人员将易于显而易见对这些示范性实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所定义的一般原理可适用于其它实施例。因此,本发明并不既定限于本文中所展示的实施例,而应符合与本文中所揭示的原理及新颖特征一致的最广范围。

Claims (51)

1.一种用于对将经由有可能引入错误或删除的通信信道而传输的数据编码的方法,其中源数据由有序的多个源符号表示,且所述源数据可从经传输的编码符号而恢复,所述方法包括:
识别所述有序多个源符号中的每一符号的基块,其中所述经识别基块为共同涵盖待编码的所述源数据的多个基块中的一者;
根据多个源块且针对每一基块识别包封所述基块的至少一个源块,其中所述多个源块包含至少一对源块,所述至少一对源块具有存在由所述对的两个源块包封的至少一个基块以及针对所述对的每一源块而言由所述源块包封而不由所述对的另一源块包封的至少一个基块的特性;以及
根据编码过程对所述多个源块中的每一者编码,从而产生编码符号,其中所述编码过程对一个源块操作以产生编码符号,其中所述编码符号独立于来自基块的未被所述一个源块包封的源符号的源符号值,其中所述编码使得确保由所述源块对的联合表示的所述源数据的部分可从由所述对的第一源块产生的第一编码符号集合与由所述对的第二源块产生的第二编码符号集合的组合恢复,其中所述第一集合中的编码符号的量小于所述第一源块中的源数据的量,且所述第二集合中的编码符号的量小于所述第二源块中的源数据的量。
2.根据权利要求1所述的方法,其中所述编码过程使得:当所述编码符号和所述源符号具有相同大小时,当所述第一编码符号集合包括M1个编码符号时,所述第一源块包括N1个源符号,所述第二编码符号集合包括M2个编码符号,所述第二源块包括N2个源符号,以及当所述第一源块与所述第二源块的交集包括N3个源符号时,其中N3大于零,如果针对M1<N1且M2<N2的值的至少一些组合而言M1+M2=N1+N2-N3,那么确保所述源块对的所述联合的可恢复性超出预定的阈值概率。
3.根据权利要求2所述的方法,其中如果针对使得M1≤N1且M2≤N2的M1和M2的值的所有组合而言M1+M2=N1+N2-N3,那么确保所述源块对的所述联合的所述可恢复性超出预定阈值概率。
4.根据权利要求2所述的方法,其中如果针对使得M1≤N1且M2≤N2的M1和M2的值的所有组合而言M1+M2=N1+N2-N3,那么所述源块对的所述联合的所述可恢复性是确定的。
5.根据权利要求2所述的方法,其中如果针对M1和M2的值的至少一些组合而言M1+M2大于N1+N2-N3的量小于预定百分比但M1+M2小于N1+N2,那么确保所述源块对的所述联合的可恢复性具有高于预定阈值概率的概率。
6.根据权利要求1所述的方法,其中由源块产生的至少一个编码符号等于来自由所述源块表示的所述源数据的所述部分的源符号。
7.根据权利要求1所述的方法,其中所述编码使得确保由所述对的所述第一源块表示的所述源数据的所述部分可从由所述第一源块产生的第三编码符号集合恢复,其中所述第三集合中的编码符号的量不大于所述第一源块中表示的源数据的所述量。
8.根据权利要求1所述的方法,其中所述编码使得确保由所述对的所述第一源块表示的所述源数据的所述部分可从由所述第一源块产生的第三编码符号集合恢复的概率高于预定阈值概率,其中所述第三集合中的编码符号的所述量仅稍大于所述第一源块中表示的源数据的所述量。
9.根据权利要求1所述的方法,其中可由每一源块产生的独特编码符号的数目独立于所述源块的大小。
10.根据权利要求1所述的方法,其中可由每一源块产生的独特编码符号的所述数目取决于所述源块的所述大小。
11.根据权利要求1所述的方法,其中在开始编码之前执行识别符号的基块。
12.根据权利要求1所述的方法,其中在开始编码之前执行识别基块的源块。
13.根据权利要求1所述的方法,其中在针对每一源符号识别基块之前或在针对所述源块中的每一者确定所述经包封基块之前或在产生所有所述源数据或使所有所述源数据可用之前,产生至少一个编码符号。
14.根据权利要求1所述的方法,其进一步包括:
接收接收器反馈,所述接收器反馈表示正接收编码符号或已接收编码符号的解码器处的结果;以及
调整以下各项中的一者或一者以上:基块中的源符号的成员、包封源块中的基块的成员、每个基块的源符号的数目、源块中的符号的数目,和/或由源块产生的编码符号的数目,其中至少部分基于所述接收器反馈而进行所述调整。
15.根据权利要求14所述的方法,其中调整包含确定新的基块或改变先前所确定基块中的源符号的成员。
16.根据权利要求14所述的方法,其中调整包含确定新的源块或改变先前所确定源块的基块的包封。
17.根据权利要求1所述的方法,其进一步包括:
接收表示对所述源数据的变化的数据优先级偏好的数据优先级偏好信号;以及
调整以下各项中的一者或一者以上:基块中的源符号的成员、包封源块中的基块的成员、每个基块的源符号的数目、源块中的符号的数目,和/或由源块产生的编码符号的数目,其中至少部分基于所述数据优先级偏好信号而进行所述调整。
18.根据权利要求1所述的方法,其中由每一源块包封的所述基块中的源符号的所述数目如在所述源块中的两者或两者以上之间为独立的。
19.根据权利要求1所述的方法,其中经识别为基块的源符号在所述有序的多个源符号内并非连续的。
20.根据权利要求1所述的方法,其中经识别为基块的所述源符号在所述有序的多个源符号内为连续的。
21.根据权利要求20所述的方法,其中经识别为由源块包封的所述基块的源符号在所述有序的多个源符号内为连续的。
22.根据权利要求1所述的方法,其中可针对源块而产生的编码符号的所述数目独立于可针对其它源块而产生的编码符号的所述数目。
23.根据权利要求1所述的方法,其中针对给定源块而产生的编码符号的所述数目独立于由所述给定源块包封的所述基块中的源符号的所述数目。
24.根据权利要求1所述的方法,其中编码包括:
针对每一编码符号确定从有限域选择的系数集合;
产生所述编码符号作为由单个源块所包封的一个或一个以上基块的源符号的组合,其中部分通过所述系数集合来界定所述组合。
25.根据权利要求1所述的方法,其中用以从源块产生编码符号的符号运算的数目比由所述源块表示的所述源数据的所述部分中的源符号的所述数目少得多。
26.一种用于对经由有可能包含错误或删除的通信信道而接收的数据解码以恢复由源符号集合表示的源数据的方法,所述方法包括:
识别每一源符号的基块,其中所述经识别基块为共同涵盖所述源数据的多个基块中的一者;
根据多个源块且针对每一基块识别包封所述基块的至少一个源块,其中所述多个源块包含至少一对源块,所述至少一对源块具有存在由所述对的两个源块包封的至少一个基块以及针对所述对的每一源块而言由所述源块包封而不由所述对的另一源块包封的至少一个基块的特性;以及
接收多个所接收符号;
针对每一所接收符号,识别源块,所述所接收符号为所述源块的编码符号;以及
对来自所述多个所接收符号的源符号集合解码,其中确保由所述源块对的联合表示的所述源数据的部分可从对应于由所述对的第一源块产生的编码符号的所接收符号的第一集合与对应于由所述对的第二源块产生的编码符号的所接收符号的第二集合的组合恢复,其中所述第一集合中的所接收符号的量小于所述第一源块中的源数据的量且所述第二集合中的所接收符号的量小于所述第二源块中的源数据的量。
27.根据权利要求26所述的方法,其中如果N1为所述第一源块的所述源数据中的源符号的数目,如果N2为所述第二源块的所述源数据中的源符号的数目,如果N3为所述第一源块与所述第二源块的交集中的源符号的数目且N3大于零,如果所述编码符号与所述源符号具有相同大小,如果R1为所接收符号的所述第一集合中的所接收符号的数目,如果R2为所接收符号的所述第二集合中的所接收符号的数目,那么,如果针对使得R1<N1且R2<N2的R1和R2中的至少一个值而言R1+R2=N1+N2-N3,那么确保对来自R1个所接收符号的所述第一集合和来自R2个所接收符号的所述第二集合的所述源块对的所述联合的解码超出预定阈值概率。
28.根据权利要求27所述的方法,其中如果针对使得R1≤N1且R2≤N2的所有值而言R1+R2=N1+N2-N3,那么确保对所述源块对的所述联合的解码超出预定阈值概率。
29.根据权利要求27所述的方法,其中如果针对R1≤N1且R2≤N2的所有值而言R1+R2=N1+N2-N3,那么对所述源块对的所述联合的解码为确定的。
30.根据权利要求26所述的方法,其中由所述对的所述第一源块表示的所述源数据的所述部分可从由所述第一源块产生的第三编码符号集合恢复,其中所述第三集合中的编码符号的量不大于所述第一源块中表示的源数据的所述量。
31.根据权利要求26所述的方法,其中可由每一源块产生的独特编码符号的数目独立于所述源块的大小。
32.根据权利要求26所述的方法,其中在开始编码之前执行识别源符号的基块以及识别基块的源块中的至少一者。
33.根据权利要求26所述的方法,其中在针对每一源符号识别基块之前及/或在针对所述源块中的每一者确定所述经包封基块之前,产生至少一些编码符号。
34.根据权利要求26所述的方法,其进一步包括:
基于哪些所接收符号已经接收到和/或在接收器处需要所述源数据的哪个部分和/或数据优先级偏好而确定表示解码器处的结果的接收器反馈;以及
输出所述接收器反馈,使得其可用于更改编码过程。
35.根据权利要求26所述的方法,其中由每一源块包封的所述基块中的源符号的所述数目如在所述源块中的两者或两者以上之间为独立的。
36.根据权利要求26所述的方法,其中经识别为基块的所述源符号在有序的多个源符号内为连续的。
37.根据权利要求26所述的方法,其中经识别为由源块包封的所述基块的源符号在所述有序的多个源符号内为连续的。
38.根据权利要求26所述的方法,其中解码进一步包括:
针对每一所接收的符号而确定选自有限域的系数集合;以及
使用针对一个以上所接收符号的所述系数集合来对来自所述一个以上所接收符号或先前经解码的源符号的至少一个源符号解码。
39.根据权利要求26所述的方法,其中用以恢复一个或一个以上源块的联合的符号运算的数目比由所述源块的所述联合表示的所述源数据的所述部分中的源符号的所述数目的平方少得多。
40.一种编码器,其对用于经由有可能引入错误或删除的通信信道而传输的数据编码,所述编码器包括:
输入端,其用于接收由有序的多个源符号表示的源数据,且所述源数据可从经传输的编码符号恢复;
存储器,其用于多个基块中的至少一部分,其中每一基块包括所述有序的多个源符号中的一个或一个以上源符号的表示;
逻辑映射,其以机器可读形式而存储或可根据逻辑指令而产生,将多个源块中的每一者映射到一个或一个以上基块,其中所述多个源块包含至少一对源块,所述至少一对源块具有存在由所述对的两个源块包封的至少一个基块以及针对所述对的每一源块而言由所述源块包封而不由所述对的另一源块包封的至少一个基块的特性;
存储器,其用于经编码的块;以及
一个或一个以上编码器,每一编码器对源块的源符号编码以形成多个编码符号,其中给定编码符号独立于来自不同于对源符号编码的所述源块的源块的源符号值,使得确保由所述源块对的联合表示的所述源数据的部分可从由所述对的第一源块产生的第一编码符号集合与由所述对的第二源块产生的第二编码符号集合的组合恢复,其中所述第一集合中的编码符号的量小于所述第一源块中的源数据的量,且所述第二集合中的编码符号的量小于所述第二源块中的源数据的量。
41.根据权利要求40所述的编码器,其中如果所述编码符号和所述源符号具有相同大小,那么所述第一集合中的编码符号的数目加上所述第二集合中的编码符号的数目不大于由所述源块对的所述联合表示的所述源数据的所述部分中的源符号的数目。
42.根据权利要求40所述的编码器,其中由所述对的所述第一源块表示的所述源数据的所述部分可从由所述第一源块产生的第三编码符号集合恢复,其中所述第三集合中的编码符号的量不大于所述第一源块中表示的源数据的所述量。
43.根据权利要求40所述的编码器,其中可由每一源块产生的独特编码符号的数目独立于所述源块的大小。
44.根据权利要求40所述的编码器,其进一步包括:
输入端,其用于接收接收器反馈,所述接收器反馈表示正接收编码符号或已接收编码符号的解码器处的结果;以及
逻辑,其用于调整以下各项中的一者或一者以上:基块中的源符号的成员、包封源块中的基块的成员、每个基块的源符号的数目、源块中的符号的数目,和/或由源块产生的编码符号的数目,其中至少部分基于所述接收器反馈而进行所述调整。
45.根据权利要求40所述的编码器,其进一步包括:
输入端,其用于接收表示对所述源数据的变化的数据优先级偏好的数据优先级偏好信号;以及
逻辑,其用于调整以下各项中的一者或一者以上:基块中的源符号的成员、包封源块中的基块的成员、每个基块的源符号的数目、源块中的符号的数目,和/或由源块产生的编码符号的数目,其中至少部分基于所述数据优先级偏好信号而进行所述调整。
46.根据权利要求40所述的编码器,其中由每一源块包封的所述基块中的源符号的所述数目如在所述源块中的两者或两者以上之间为独立的。
47.根据权利要求40所述的编码器,其中经识别为基块的所述源符号在所述有序的多个源符号内为连续的。
48.根据权利要求40所述的编码器,其中经识别为由源块包封的所述基块的源符号在所述有序的多个源符号内为连续的。
49.根据权利要求40所述的编码器,其中可针对源块而产生的独特编码符号的所述数目独立于可针对其它源块而产生的编码符号的所述数目。
50.根据权利要求40所述的编码器,其中针对给定源块而产生的独特编码符号的所述数目独立于由所述给定源块包封的所述基块中的源符号的所述数目。
51.根据权利要求40所述的编码器,其进一步包括:
存储器,其用于针对多个所述编码符号中的每一者而选自有限域的系数集合;以及
逻辑,其用于产生所述编码符号作为由单个源块所包封的一个或一个以上基块的源符号的组合,其中部分通过所述系数集合来界定所述组合。
CN201280012542.XA 2011-02-11 2012-02-10 使用弹性代码与柔性源块映射进行编码和解码 Expired - Fee Related CN103444087B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/025,900 US9270299B2 (en) 2011-02-11 2011-02-11 Encoding and decoding using elastic codes with flexible source block mapping
US13/025,900 2011-02-11
PCT/US2012/024755 WO2012109614A1 (en) 2011-02-11 2012-02-10 Encoding and decoding using elastic codes with flexible source block mapping

Publications (2)

Publication Number Publication Date
CN103444087A true CN103444087A (zh) 2013-12-11
CN103444087B CN103444087B (zh) 2018-02-09

Family

ID=45688299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280012542.XA Expired - Fee Related CN103444087B (zh) 2011-02-11 2012-02-10 使用弹性代码与柔性源块映射进行编码和解码

Country Status (6)

Country Link
US (1) US9270299B2 (zh)
EP (1) EP2673885A1 (zh)
JP (1) JP5863200B2 (zh)
KR (1) KR101554406B1 (zh)
CN (1) CN103444087B (zh)
WO (1) WO2012109614A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106416085A (zh) * 2014-05-23 2017-02-15 富士通株式会社 运算电路、编码电路以及解码电路
CN106612433A (zh) * 2015-10-22 2017-05-03 中国科学院上海高等研究院 一种层析式编码译码方法
CN109923810A (zh) * 2016-08-15 2019-06-21 高通股份有限公司 在加载所有输入比特之前输出用于传输的码字比特
CN110138451A (zh) * 2018-02-08 2019-08-16 华为技术有限公司 一种用于无线光通信的方法及通信装置
WO2021179287A1 (en) * 2020-03-13 2021-09-16 Qualcomm Incorporated Raptor code feedback

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
KR101143282B1 (ko) 2002-10-05 2012-05-08 디지털 파운튼, 인크. 연쇄 반응 코드의 체계적 인코딩 및 디코딩
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
KR101205758B1 (ko) 2004-05-07 2012-12-03 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
CN101686107B (zh) * 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
TWI445323B (zh) * 2010-12-21 2014-07-11 Ind Tech Res Inst 資料傳送的混合式編解碼裝置與方法
JP5529177B2 (ja) * 2011-01-19 2014-06-25 ネイバー ビジネス プラットフォーム コーポレーション P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US20140006536A1 (en) * 2012-06-29 2014-01-02 Intel Corporation Techniques to accelerate lossless compression
KR101425506B1 (ko) * 2012-09-22 2014-08-05 최수정 보완적인 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치
US10015486B2 (en) * 2012-10-26 2018-07-03 Intel Corporation Enhanced video decoding with application layer forward error correction
US9363131B2 (en) 2013-03-15 2016-06-07 Imagine Communications Corp. Generating a plurality of streams
EP2846469A1 (en) * 2013-09-10 2015-03-11 Alcatel Lucent Rateless encoding
US10021426B2 (en) * 2013-09-19 2018-07-10 Board Of Trustees Of The University Of Alabama Multi-layer integrated unequal error protection with optimal parameter determination for video quality granularity-oriented transmissions
TWI523465B (zh) * 2013-12-24 2016-02-21 財團法人工業技術研究院 檔案傳輸系統和方法
KR102093206B1 (ko) 2014-01-09 2020-03-26 삼성전자주식회사 데이터 인코딩 방법 및 전자장치
US9496897B1 (en) * 2014-03-31 2016-11-15 EMC IP Holding Company LLC Methods and apparatus for generating authenticated error correcting codes
JP2016126813A (ja) 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置
US10089189B2 (en) 2016-04-15 2018-10-02 Motorola Solutions, Inc. Devices and methods for receiving a data file in a communication system
EP3447943B1 (en) * 2016-05-11 2021-04-07 Huawei Technologies Co., Ltd. Data transmission method, device and system
US10516710B2 (en) * 2017-02-12 2019-12-24 Mellanox Technologies, Ltd. Direct packet placement
US10210125B2 (en) 2017-03-16 2019-02-19 Mellanox Technologies, Ltd. Receive queue with stride-based data scattering
CN107040787B (zh) * 2017-03-30 2019-08-02 宁波大学 一种基于视觉感知的3d-hevc帧间信息隐藏方法
US20180367589A1 (en) * 2017-06-14 2018-12-20 Mellanox Technologies, Ltd. Regrouping of video data by a network interface controller
US11252464B2 (en) * 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US10367750B2 (en) 2017-06-15 2019-07-30 Mellanox Technologies, Ltd. Transmission and reception of raw video using scalable frame rate
CN107748650B (zh) * 2017-10-09 2020-07-03 暨南大学 一种网络编码集群存储系统中基于锁机制的数据重建策略
US11762557B2 (en) 2017-10-30 2023-09-19 AtomBeam Technologies Inc. System and method for data compaction and encryption of anonymized datasets
US11722265B2 (en) * 2020-07-17 2023-08-08 Qualcomm Incorporated Feedback design for network coding termination in broadcasting

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1317070A1 (en) * 2001-12-03 2003-06-04 Mitsubishi Electric Information Technology Centre Europe B.V. Method for obtaining from a block turbo-code an error correcting code of desired parameters
CN101102115A (zh) * 2006-07-03 2008-01-09 国际商业机器公司 编码和解码分组信息的方法、编码器和解码器

Family Cites Families (517)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3909721A (en) 1972-01-31 1975-09-30 Signatron Signal processing system
US4365338A (en) 1980-06-27 1982-12-21 Harris Corporation Technique for high rate digital transmission over a dynamic dispersive channel
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4589112A (en) 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4901319A (en) 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB8815978D0 (en) 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5136592A (en) 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US5455823A (en) 1990-11-06 1995-10-03 Radio Satellite Corporation Integrated communications terminal
US5164963A (en) 1990-11-07 1992-11-17 At&T Bell Laboratories Coding for digital transmission
US5465318A (en) 1991-03-28 1995-11-07 Kurzweil Applied Intelligence, Inc. Method for generating a speech recognition model for a non-vocabulary utterance
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
EP0543070A1 (en) 1991-11-21 1993-05-26 International Business Machines Corporation Coding system and method using quaternary codes
US5371532A (en) 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5425050A (en) 1992-10-23 1995-06-13 Massachusetts Institute Of Technology Television transmission system using spread spectrum and orthogonal frequency-division multiplex
US5372532A (en) 1993-01-26 1994-12-13 Robertson, Jr.; George W. Swivel head cap connector
EP0613249A1 (en) 1993-02-12 1994-08-31 Altera Corporation Custom look-up table with reduced number of architecture bits
DE4316297C1 (de) 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
AU665716B2 (en) 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
US5590405A (en) 1993-10-29 1996-12-31 Lucent Technologies Inc. Communication technique employing variable information transmission
JP2576776B2 (ja) 1993-11-10 1997-01-29 日本電気株式会社 パケット伝送方法・パケット伝送装置
US5517508A (en) 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5432787A (en) 1994-03-24 1995-07-11 Loral Aerospace Corporation Packet data transmission system with adaptive data recovery method
US5757415A (en) 1994-05-26 1998-05-26 Sony Corporation On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5739864A (en) 1994-08-24 1998-04-14 Macrovision Corporation Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal
US5568614A (en) 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
JPH11505685A (ja) 1995-04-27 1999-05-21 トラスティーズ・オブ・ザ・スティーブンス・インスティテュート・オブ・テクノロジー 時間限界マルチメディアネットワークアプリケーションのための高保全性伝送
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US5805825A (en) 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5754563A (en) 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
KR0170298B1 (ko) 1995-10-10 1999-04-15 김광호 디지탈 비디오 테이프의 기록 방법
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US6012159A (en) 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6044485A (en) 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US5946357A (en) 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
US5983383A (en) 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
EP0854650A3 (en) 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Method for addressing a service in digital video broadcasting
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
DE19716011A1 (de) 1997-04-17 1998-10-22 Abb Research Ltd Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen
US6226259B1 (en) 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5970098A (en) 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
WO1998053454A1 (fr) 1997-05-19 1998-11-26 Sanyo Electric Co., Ltd. Modulation et demodulation numeriques
US6128649A (en) 1997-06-02 2000-10-03 Nortel Networks Limited Dynamic selection of media streams for display
US6081907A (en) 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US5917852A (en) 1997-06-11 1999-06-29 L-3 Communications Corporation Data scrambling system and method and communications system incorporating same
KR100240869B1 (ko) 1997-06-25 2000-01-15 윤종용 이중 다이버서티 시스템을 위한 데이터 전송 방법
US6175944B1 (en) 1997-07-15 2001-01-16 Lucent Technologies Inc. Methods and apparatus for packetizing data for transmission through an erasure broadcast channel
US5933056A (en) 1997-07-15 1999-08-03 Exar Corporation Single pole current mode common-mode feedback circuit
US6047069A (en) 1997-07-17 2000-04-04 Hewlett-Packard Company Method and apparatus for preserving error correction capabilities during data encryption/decryption
US6904110B2 (en) 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6178536B1 (en) 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
FR2767940A1 (fr) 1997-08-29 1999-02-26 Canon Kk Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
EP0903955A1 (en) 1997-09-04 1999-03-24 STMicroelectronics S.r.l. Modular architecture PET decoder for ATM networks
US6088330A (en) 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6272658B1 (en) 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6081918A (en) 1997-11-06 2000-06-27 Spielman; Daniel A. Loss resilient code with cascading series of redundant layers
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
JP3472115B2 (ja) 1997-11-25 2003-12-02 Kddi株式会社 マルチチャンネルを用いるビデオデータ伝送方法及びその装置
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6243846B1 (en) 1997-12-12 2001-06-05 3Com Corporation Forward error correction system for packet based data and real time media, using cross-wise parity calculation
US6849803B1 (en) 1998-01-15 2005-02-01 Arlington Industries, Inc. Electrical connector
US6097320A (en) 1998-01-20 2000-08-01 Silicon Systems, Inc. Encoder/decoder system with suppressed error propagation
US6226301B1 (en) 1998-02-19 2001-05-01 Nokia Mobile Phones Ltd Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system
US6141788A (en) 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6278716B1 (en) 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
US6459811B1 (en) 1998-04-02 2002-10-01 Sarnoff Corporation Bursty data transmission of compressed video data
US6185265B1 (en) 1998-04-07 2001-02-06 Worldspace Management Corp. System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload
US6067646A (en) 1998-04-17 2000-05-23 Ameritech Corporation Method and system for adaptive interleaving
US6018359A (en) 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
US6445717B1 (en) 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
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
US6937618B1 (en) 1998-05-20 2005-08-30 Sony Corporation Separating device and method and signal receiving device and method
US6333926B1 (en) 1998-08-11 2001-12-25 Nortel Networks Limited Multiple user CDMA basestation modem
EP1110344A1 (en) 1998-09-04 2001-06-27 AT&T Corp. Combined channel coding and space-block coding in a multi-antenna arrangement
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US6704370B1 (en) 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA
IT1303735B1 (it) 1998-11-11 2001-02-23 Falorni Italia Farmaceutici S Acidi ialuronici reticolati e loro usi medici.
US6408128B1 (en) 1998-11-12 2002-06-18 Max Abecassis Replaying with supplementary information a segment of a video
US6483736B2 (en) 1998-11-16 2002-11-19 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
JP2000151426A (ja) 1998-11-17 2000-05-30 Toshiba Corp インターリーブ・デインターリーブ回路
US6166544A (en) 1998-11-25 2000-12-26 General Electric Company MR imaging system with interactive image contrast control
US6876623B1 (en) 1998-12-02 2005-04-05 Agere Systems Inc. Tuning scheme for code division multiplex broadcasting system
ES2185244T3 (es) 1998-12-03 2003-04-16 Fraunhofer Ges Forschung Aparato y procedimiento para transmitir informacion y aparato y procedimiento para recibir informacion.
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US6223324B1 (en) 1999-01-05 2001-04-24 Agere Systems Guardian Corp. Multiple program unequal error protection for digital audio broadcasting and other applications
JP3926499B2 (ja) 1999-01-22 2007-06-06 株式会社日立国際電気 畳み込み符号軟判定復号方式の受信装置
US6618451B1 (en) 1999-02-13 2003-09-09 Altocom Inc Efficient reduced state maximum likelihood sequence estimator
US6041001A (en) 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
AU2827400A (en) 1999-03-03 2000-09-21 Sony Corporation Transmitter, receiver, transmitter/receiver system, transmission method and reception method
US6785323B1 (en) 1999-11-22 2004-08-31 Ipr Licensing, Inc. Variable rate coding for forward link
US6466698B1 (en) 1999-03-25 2002-10-15 The United States Of America As Represented By The Secretary Of The Navy Efficient embedded image and video compression system using lifted wavelets
JP3256517B2 (ja) 1999-04-06 2002-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 符号化回路、回路、パリティ生成方法及び記憶媒体
US6609223B1 (en) 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
DE60028120T2 (de) 1999-05-06 2006-12-28 Sony Corp. Datenverarbeitungsverfahren und -gerät, Datenwiedergabeverfahren und -gerät, Datenaufzeichnungsmedien
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
US6154452A (en) 1999-05-26 2000-11-28 Xm Satellite Radio Inc. Method and apparatus for continuous cross-channel interleaving
US6229824B1 (en) 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
JP2000353969A (ja) 1999-06-11 2000-12-19 Sony Corp デジタル音声放送の受信機
US6577599B1 (en) 1999-06-30 2003-06-10 Sun Microsystems, Inc. Small-scale reliable multicasting
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6643332B1 (en) 1999-07-09 2003-11-04 Lsi Logic Corporation Method and apparatus for multi-level coding of digital signals
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6430233B1 (en) 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
JP4284774B2 (ja) 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
JP2003510734A (ja) 1999-09-27 2003-03-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストリーミングのエミュレート用ファイル分割
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
US20050160272A1 (en) 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US6523147B1 (en) 1999-11-11 2003-02-18 Ibiquity Digital Corporation Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
US6678855B1 (en) 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US6798791B1 (en) 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
US6487692B1 (en) 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder
US6965636B1 (en) 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
WO2001057667A1 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
US7304990B2 (en) * 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
JP2001251287A (ja) 2000-02-24 2001-09-14 Geneticware Corp Ltd ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
DE10009443A1 (de) 2000-02-29 2001-08-30 Philips Corp Intellectual Pty Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals
US6384750B1 (en) 2000-03-23 2002-05-07 Mosaid Technologies, Inc. Multi-stage lookup for translating between signals of different bit lengths
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
WO2001076077A2 (en) 2000-03-31 2001-10-11 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
US6473010B1 (en) 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US8572646B2 (en) 2000-04-07 2013-10-29 Visible World Inc. System and method for simultaneous broadcast for personalized messages
JP4640723B2 (ja) 2000-04-08 2011-03-02 オラクル・アメリカ・インコーポレイテッド 複数クライアントへの単一メディア・トラックのストリーミング
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6742154B1 (en) 2000-05-25 2004-05-25 Ciena Corporation Forward error correction codes for digital optical network optimization
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
GB2366159B (en) 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US6834342B2 (en) 2000-08-16 2004-12-21 Eecad, Inc. Method and system for secure communication over unstable public connections
KR100447162B1 (ko) 2000-08-19 2004-09-04 엘지전자 주식회사 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법
JP2002073625A (ja) 2000-08-24 2002-03-12 Nippon Hoso Kyokai <Nhk> 放送番組に同期した情報提供の方法、サーバ及び媒体
US7340664B2 (en) 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US7151754B1 (en) 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US7031257B1 (en) 2000-09-22 2006-04-18 Lucent Technologies Inc. Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol
US6486803B1 (en) 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
US7490344B2 (en) 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
US6411223B1 (en) 2000-10-18 2002-06-25 Digital Fountain, Inc. Generating high weight encoding symbols using a basis
US7613183B1 (en) 2000-10-31 2009-11-03 Foundry Networks, Inc. System and method for router data aggregation and delivery
US6694478B1 (en) 2000-11-07 2004-02-17 Agere Systems Inc. Low delay channel codes for correcting bursts of lost packets
US6732325B1 (en) 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US20020133247A1 (en) 2000-11-11 2002-09-19 Smith Robert D. System and method for seamlessly switching between media streams
US7072971B2 (en) 2000-11-13 2006-07-04 Digital Foundation, Inc. Scheduling of multiple files for serving on a server
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
AU2002220927B2 (en) 2000-12-15 2006-03-16 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
ES2342357T3 (es) 2000-12-15 2010-07-06 British Telecommunications Public Limited Company Transmision y recepcion de material de audio y/o video.
US6850736B2 (en) 2000-12-21 2005-02-01 Tropian, Inc. Method and apparatus for reception quality indication in wireless communication
US7143433B1 (en) 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20020085013A1 (en) 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US20080059532A1 (en) 2001-01-18 2008-03-06 Kazmi Syed N Method and system for managing digital content, including streaming media
DE10103387A1 (de) 2001-01-26 2002-08-01 Thorsten Nordhoff Windkraftanlage mit einer Einrichtung zur Hindernisbefeuerung bzw. Nachtkennzeichnung
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
KR100464360B1 (ko) 2001-03-30 2005-01-03 삼성전자주식회사 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US6785836B2 (en) 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
US6820221B2 (en) 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7010052B2 (en) 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7035468B2 (en) 2001-04-20 2006-04-25 Front Porch Digital Inc. Methods and apparatus for archiving, indexing and accessing audio and video data
TWI246841B (en) 2001-04-22 2006-01-01 Koninkl Philips Electronics Nv Digital transmission system and method for transmitting digital signals
US20020191116A1 (en) 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US6497479B1 (en) 2001-04-27 2002-12-24 Hewlett-Packard Company Higher organic inks with good reliability and drytime
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7076478B2 (en) 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928603B1 (en) 2001-07-19 2005-08-09 Adaptix, Inc. System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system
US6961890B2 (en) 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
US7110412B2 (en) 2001-09-18 2006-09-19 Sbc Technology Resources, Inc. Method and system to transport high-quality video signals
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US6990624B2 (en) 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7363354B2 (en) 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
US7003712B2 (en) 2001-11-29 2006-02-21 Emin Martinian Apparatus and method for adaptive, multimode decoding
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
KR100931915B1 (ko) 2002-01-23 2009-12-15 노키아 코포레이션 비디오 코딩시 이미지 프레임들의 그루핑
EP1472847A1 (en) 2002-01-30 2004-11-03 Koninklijke Philips Electronics N.V. Streaming multimedia data over a network having a variable bandwidth
US7249291B2 (en) 2002-02-15 2007-07-24 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
FR2837332A1 (fr) 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
MXPA04010058A (es) 2002-04-15 2004-12-13 Nokia Corp Capa logica de protocolo de radioenlace (rpl) de una estacion de comunicaciones.
US6677864B2 (en) 2002-04-18 2004-01-13 Telefonaktiebolaget L.M. Ericsson Method for multicast over wireless networks
JP3629008B2 (ja) 2002-04-19 2005-03-16 松下電器産業株式会社 データ受信装置及びデータ配信システム
JP3689063B2 (ja) 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7177658B2 (en) 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US7200388B2 (en) 2002-05-31 2007-04-03 Nokia Corporation Fragmented delivery of multimedia
EP2278720B1 (en) 2002-06-11 2013-12-25 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation
WO2003105484A1 (en) 2002-06-11 2003-12-18 Telefonaktiebolaget L M Ericsson (Publ) Generation of mixed media streams
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
WO2004019521A1 (ja) 2002-07-31 2004-03-04 Sharp Kabushiki Kaisha データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
CN100542157C (zh) 2002-08-13 2009-09-16 诺基亚公司 符号交织
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
WO2004030273A1 (ja) 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
KR101143282B1 (ko) 2002-10-05 2012-05-08 디지털 파운튼, 인크. 연쇄 반응 코드의 체계적 인코딩 및 디코딩
JP2004135013A (ja) 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 伝送装置及び伝送方法
FI116816B (fi) 2002-10-14 2006-02-28 Nokia Corp Median suoratoisto
US7289451B2 (en) 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
US8320301B2 (en) 2002-10-25 2012-11-27 Qualcomm Incorporated MIMO WLAN system
AU2003269352A1 (en) 2002-10-30 2004-05-25 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
WO2004047455A1 (en) 2002-11-18 2004-06-03 British Telecommunications Public Limited Company Transmission of video
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7086718B2 (en) 2002-11-23 2006-08-08 Silverbrook Research Pty Ltd Thermal ink jet printhead with high nozzle areal density
JP2004192140A (ja) 2002-12-09 2004-07-08 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004193992A (ja) 2002-12-11 2004-07-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US8135073B2 (en) 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US7164882B2 (en) 2002-12-24 2007-01-16 Poltorak Alexander I Apparatus and method for facilitating a purchase using information provided on a media playing device
WO2004068715A2 (en) 2003-01-29 2004-08-12 Digital Fountain, Inc. Systems and processes for fast encoding of hamming codes
US7756002B2 (en) 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7525994B2 (en) 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
US7062272B2 (en) 2003-02-18 2006-06-13 Qualcomm Incorporated Method and apparatus to track count of broadcast content recipients in a wireless telephone network
EP1455504B1 (en) 2003-03-07 2014-11-12 Samsung Electronics Co., Ltd. Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method
JP4173755B2 (ja) 2003-03-24 2008-10-29 富士通株式会社 データ伝送サーバ
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
JP2004343701A (ja) 2003-04-21 2004-12-02 Matsushita Electric Ind Co Ltd データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム
US7408486B2 (en) 2003-04-21 2008-08-05 Qbit Corporation System and method for using a microlet-based modem
US7113773B2 (en) 2003-05-16 2006-09-26 Qualcomm Incorporated Reliable reception of broadcast/multicast content
JP2004348824A (ja) 2003-05-21 2004-12-09 Toshiba Corp Eccエンコード方法、eccエンコード装置
EP1632081B1 (en) 2003-05-23 2016-08-17 Kirusa, Inc. A method and system for communicating a data file over a network and teleconferencing over a telephony network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006514806A (ja) 2003-06-07 2006-05-11 サムスン エレクトロニクス カンパニー リミテッド マルチメディアデータの提供装置及びその提供方法並びにその方法を記録した記録媒体
KR101003413B1 (ko) 2003-06-12 2010-12-23 엘지전자 주식회사 이동통신 단말기의 전송데이터 압축/해제 방법
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
RU2265960C2 (ru) 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US20050004997A1 (en) 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US8149939B2 (en) 2003-07-07 2012-04-03 Samsung Electronics Co., Ltd. System of robust DTV signal transmissions that legacy DTV receivers will disregard
US7254754B2 (en) 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
KR100532450B1 (ko) 2003-07-16 2005-11-30 삼성전자주식회사 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들
US20050028067A1 (en) 2003-07-31 2005-02-03 Weirauch Charles R. Data with multiple sets of error correction codes
US8694869B2 (en) 2003-08-21 2014-04-08 QUALCIMM Incorporated Methods for forward error correction coding above a radio link control layer and related apparatus
IL157886A0 (en) 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
IL157885A0 (en) 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
EP2426940A1 (en) 2003-09-15 2012-03-07 The DirecTV Group, Inc. Method and system for adaptive transcoding and transrating in a video network
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
DE60307852D1 (de) 2003-09-30 2006-10-05 Ericsson Telefon Ab L M In-place Entschachtelung von Daten
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
EP1673690B1 (en) 2003-10-14 2010-08-25 Panasonic Corporation Data converter
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US7168030B2 (en) 2003-10-17 2007-01-23 Telefonaktiebolaget Lm Ericsson (Publ) Turbo code decoder with parity information update
US8132215B2 (en) 2003-10-27 2012-03-06 Panasonic Corporation Apparatus for receiving broadcast signal
JP2005136546A (ja) 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
DE602004011445T2 (de) 2003-11-03 2009-01-15 Broadcom Corp., Irvine FEC-Dekodierung mit dynamischen Parametern
JP4787167B2 (ja) 2003-12-01 2011-10-05 デジタル ファウンテン, インコーポレイテッド サブシンボル・ベース符号を使用する消去からのデータの保護
US7428669B2 (en) 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7590118B2 (en) 2003-12-23 2009-09-15 Agere Systems Inc. Frame aggregation format
JP4536383B2 (ja) 2004-01-16 2010-09-01 株式会社エヌ・ティ・ティ・ドコモ データ受信装置およびデータ受信方法
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
JP4321284B2 (ja) 2004-02-03 2009-08-26 株式会社デンソー ストリーミングデータ送信装置、および情報配信システム
US7599294B2 (en) 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
US20050207392A1 (en) 2004-03-19 2005-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using RLP
US7240236B2 (en) 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
WO2005096301A1 (en) 2004-03-30 2005-10-13 Koninklijke Philips Electronics N.V. System and method for supporting improved trick mode performance for disc-based multimedia content
TW200534875A (en) 2004-04-23 2005-11-01 Lonza Ag Personal care compositions and concentrates for making the same
FR2869744A1 (fr) 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
KR101205758B1 (ko) 2004-05-07 2012-12-03 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7376150B2 (en) 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
WO2006020826A2 (en) 2004-08-11 2006-02-23 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
JP4405875B2 (ja) 2004-08-25 2010-01-27 富士通株式会社 エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2006074335A (ja) 2004-09-01 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 伝送方法、伝送システム及び伝送装置
JP4576936B2 (ja) 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
JP2006115104A (ja) 2004-10-13 2006-04-27 Daiichikosho Co Ltd 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置
US7529984B2 (en) 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
US7751324B2 (en) 2004-11-19 2010-07-06 Nokia Corporation Packet stream arrangement in multimedia transmission
EP1815684B1 (en) 2004-11-22 2014-12-31 Thomson Research Funding Corporation Method and apparatus for channel change in dsl system
JP5425397B2 (ja) 2004-12-02 2014-02-26 トムソン ライセンシング 適応型前方誤り訂正を行う装置及び方法
KR20060065482A (ko) 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
JP2006174045A (ja) 2004-12-15 2006-06-29 Ntt Communications Kk 画像配信装置、プログラム及び方法
JP2006174032A (ja) 2004-12-15 2006-06-29 Sanyo Electric Co Ltd 画像データ伝送システム、画像データ受信装置及び画像データ送信装置
US7398454B2 (en) 2004-12-21 2008-07-08 Tyco Telecommunications (Us) Inc. System and method for forward error correction decoding using soft information
JP4391409B2 (ja) 2004-12-24 2009-12-24 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
CN101116306A (zh) 2005-02-08 2008-01-30 艾利森电话股份有限公司 在分组交换网络上的按需多频道流会话
US7822139B2 (en) 2005-03-02 2010-10-26 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence
US20090222873A1 (en) 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
US7418649B2 (en) 2005-03-15 2008-08-26 Microsoft Corporation Efficient implementation of reed-solomon erasure resilient codes in high-rate applications
US7219289B2 (en) 2005-03-15 2007-05-15 Tandberg Data Corporation Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same
US7450064B2 (en) 2005-03-22 2008-11-11 Qualcomm, Incorporated Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system
JP4487028B2 (ja) 2005-03-31 2010-06-23 ブラザー工業株式会社 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム
US7715842B2 (en) 2005-04-09 2010-05-11 Lg Electronics Inc. Supporting handover of mobile terminal
EP1869891A4 (en) 2005-04-13 2014-06-11 CODING, STORAGE AND SIGNALING OF SCALABILITY INFORMATION
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
KR20100037659A (ko) 2005-05-24 2010-04-09 노키아 코포레이션 디지털 방송에서 계층적인 전송/수신을 위한 방법 및 장치
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
US20070006274A1 (en) 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
JP2007013675A (ja) 2005-06-30 2007-01-18 Sanyo Electric Co Ltd ストリーミング配信システム及びサーバ
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20070022215A1 (en) 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
ATE514246T1 (de) 2005-08-19 2011-07-15 Hewlett Packard Development Co Andeutung von verlorenen segmenten über schichtgrenzen
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US20070067480A1 (en) 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US20070078876A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
US7720062B2 (en) 2005-10-05 2010-05-18 Lg Electronics Inc. Method of processing traffic information and digital broadcasting system
US7164370B1 (en) 2005-10-06 2007-01-16 Analog Devices, Inc. System and method for decoding data compressed in accordance with dictionary-based compression schemes
CN100442858C (zh) 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
JP4456064B2 (ja) 2005-12-21 2010-04-28 日本電信電話株式会社 パケット送信装置、受信装置、システム、およびプログラム
DK1969857T3 (da) 2006-01-05 2012-07-16 Ericsson Telefon Ab L M Styring af filer indeholdende mediedata
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US8767818B2 (en) 2006-01-11 2014-07-01 Nokia Corporation Backward-compatible aggregation of pictures in scalable video coding
KR100934677B1 (ko) 2006-01-12 2009-12-31 엘지전자 주식회사 다시점 비디오의 처리
WO2007086654A1 (en) 2006-01-25 2007-08-02 Lg Electronics Inc. Digital broadcasting system and method of processing data
RU2290768C1 (ru) 2006-01-30 2006-12-27 Общество с ограниченной ответственностью "Трафиклэнд" Система медиавещания в инфраструктуре оператора мобильной связи
US7262719B2 (en) 2006-01-30 2007-08-28 International Business Machines Corporation Fast data stream decoding using apriori information
GB0602314D0 (en) 2006-02-06 2006-03-15 Ericsson Telefon Ab L M Transporting packets
US8990153B2 (en) 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
JP5237119B2 (ja) 2006-02-08 2013-07-17 トムソン ライセンシング ラプターコードをデコードする方法及び装置
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
US20090100496A1 (en) 2006-04-24 2009-04-16 Andreas Bechtolsheim Media server system
US20080010153A1 (en) 2006-04-24 2008-01-10 Pugh-O'connor Archie Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
TWM302355U (en) 2006-06-09 2006-12-11 Jia-Bau Jeng Fixation and cushion structure of knee joint
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
JP4982563B2 (ja) 2006-07-20 2012-07-25 サンディスク コーポレイション 向上されたavプレーヤ装置、並びにそれを使用したコンテンツ配信のシステムおよび方法
US7711797B1 (en) 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
US8209736B2 (en) 2006-08-23 2012-06-26 Mediatek Inc. Systems and methods for managing television (TV) signals
CA2661578C (en) 2006-08-24 2014-06-17 Nokia Corporation System and method for indicating track relationships in media files
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
EP2084928B1 (en) 2006-10-30 2017-08-23 LG Electronics Inc. Method of performing random access in a wireless communication system
JP2008118221A (ja) 2006-10-31 2008-05-22 Toshiba Corp 復号装置及び復号方法
WO2008054100A1 (en) 2006-11-01 2008-05-08 Electronics And Telecommunications Research Institute Method and apparatus for decoding metadata used for playing stereoscopic contents
US8345743B2 (en) 2006-11-14 2013-01-01 Qualcomm Incorporated Systems and methods for channel switching
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
EP4184341A1 (en) 2007-01-05 2023-05-24 DivX, LLC Video distribution system including progressive playback
CN101669323A (zh) 2007-01-09 2010-03-10 诺基亚公司 用于在mbms文件修复中支持文件版本控制的方法
WO2008084876A1 (en) 2007-01-11 2008-07-17 Panasonic Corporation Method for trick playing on streamed and encrypted multimedia
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
EP1994721A4 (en) 2007-01-12 2013-09-25 Univ Kyung Hee Univ Ind Coop Group PACKET FORMAT OF A NETWORK ABSTRACTION LAYER UNIT, ALGORITHM AND VIDEO ENCODING AND DECODING APPARATUS USING THE SAME, QOS CONTROL ALGORITHM AND IPV6 LABEL SWITCHING APPARATUS USING THE FORMAT
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
US8135071B2 (en) 2007-01-16 2012-03-13 Cisco Technology, Inc. Breakpoint determining for hybrid variable length coding using relationship to neighboring blocks
US7721003B2 (en) 2007-02-02 2010-05-18 International Business Machines Corporation System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client
US7805456B2 (en) 2007-02-05 2010-09-28 Microsoft Corporation Query pattern to enable type flow of element types
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080232357A1 (en) 2007-03-19 2008-09-25 Legend Silicon Corp. Ls digital fountain code
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
US8275002B2 (en) 2007-05-14 2012-09-25 Samsung Electronics Co., Ltd. Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service
BRPI0811117A2 (pt) 2007-05-16 2014-12-23 Thomson Licensing Aparelho e método para codificar e decodificar sinais
WO2008153294A2 (en) 2007-06-11 2008-12-18 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image
WO2009001313A2 (en) 2007-06-26 2008-12-31 Nokia Corporation System and method for indicating temporal layer switching points
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
JP2009027598A (ja) 2007-07-23 2009-02-05 Hitachi Ltd 映像配信サーバおよび映像配信方法
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
JP5027305B2 (ja) * 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US8233532B2 (en) 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
KR101446359B1 (ko) 2007-10-09 2014-10-01 삼성전자주식회사 이동 통신 시스템에서 맥 프로토콜 데이터 유닛의 생성과 분리 장치 및 방법
US8635360B2 (en) 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US20090125636A1 (en) 2007-11-13 2009-05-14 Qiong Li Payload allocation methods for scalable multimedia servers
EP2215595B1 (en) 2007-11-23 2012-02-22 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
US8543720B2 (en) 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
TWI355168B (en) 2007-12-07 2011-12-21 Univ Nat Chiao Tung Application classification method in network traff
JP5385598B2 (ja) 2007-12-17 2014-01-08 キヤノン株式会社 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
EP2086237B1 (en) 2008-02-04 2012-06-27 Alcatel Lucent Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions
US8151174B2 (en) 2008-02-13 2012-04-03 Sunrise IP, LLC Block modulus coding (BMC) systems and methods for block coding with non-binary modulus
US7984097B2 (en) 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US20090257508A1 (en) 2008-04-10 2009-10-15 Gaurav Aggarwal Method and system for enabling video trick modes
CN103795511B (zh) 2008-04-14 2018-05-01 亚马逊技术股份有限公司 一种在基站接收上行链路传输的方法及基站
US20100049865A1 (en) 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
EP2286585A4 (en) 2008-05-07 2015-06-17 Digital Fountain Inc FAST CHANNEL CHANGE AND HIGH QUALITY CONTINUOUS FLOW BROADCAST PROTECTION ON A BROADCAST CHANNEL
WO2009140208A2 (en) 2008-05-12 2009-11-19 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5022301B2 (ja) 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US7949775B2 (en) 2008-05-30 2011-05-24 Microsoft Corporation Stream selection for enhanced media streaming
US20100011274A1 (en) 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US8539092B2 (en) 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
US20100153578A1 (en) 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US8638796B2 (en) 2008-08-22 2014-01-28 Cisco Technology, Inc. Re-ordering segments of a large number of segmented service flows
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US20100169458A1 (en) 2008-12-31 2010-07-01 David Biderman Real-Time or Near Real-Time Streaming
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
US9036714B2 (en) 2009-01-26 2015-05-19 Thomson Licensing Frame packing for video coding
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
US8903895B2 (en) 2009-07-22 2014-12-02 Xinlab, Inc. Method of streaming media to heterogeneous client devices
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US20120151302A1 (en) 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
CA2772100C (en) 2009-09-02 2016-06-28 Hang Zhang Mac packet data unit construction for wireless systems
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9438861B2 (en) 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
EP2491495A4 (en) 2009-11-04 2013-01-02 Huawei Tech Co Ltd SYSTEM AND METHOD FOR DIFFUSION OF CONTINUOUS MULTIMEDIA CONTENT
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
EP2510669A4 (en) 2009-12-11 2013-09-18 Nokia Corp DEVICE AND METHODS FOR DESCRIBING SYNCHRONIZATION REPRESENTATIONS IN CONTINUOUSLY TRANSMITTED MULTIMEDIA FILES
JP5996439B2 (ja) 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
KR101709903B1 (ko) 2010-02-19 2017-02-23 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 적응화를 위한 방법 및 장치
JP5071495B2 (ja) 2010-03-04 2012-11-14 ウシオ電機株式会社 光源装置
ES2845643T3 (es) 2010-03-11 2021-07-27 Electronics & Telecommunications Res Inst Método y aparato de emisión y recepción de datos en un sistema MIMO
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US20120208580A1 (en) 2011-02-11 2012-08-16 Qualcomm Incorporated Forward error correction scheduling for an improved radio link protocol
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1317070A1 (en) * 2001-12-03 2003-06-04 Mitsubishi Electric Information Technology Centre Europe B.V. Method for obtaining from a block turbo-code an error correcting code of desired parameters
CN101102115A (zh) * 2006-07-03 2008-01-09 国际商业机器公司 编码和解码分组信息的方法、编码器和解码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D.J.C.MACKAY: "Fountain codes", 《IEE PROCEEDINGS ONLINE NO.20050237》, 31 December 2005 (2005-12-31) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106416085A (zh) * 2014-05-23 2017-02-15 富士通株式会社 运算电路、编码电路以及解码电路
CN106612433A (zh) * 2015-10-22 2017-05-03 中国科学院上海高等研究院 一种层析式编码译码方法
CN106612433B (zh) * 2015-10-22 2019-11-26 中国科学院上海高等研究院 一种层析式编码译码方法
CN109923810A (zh) * 2016-08-15 2019-06-21 高通股份有限公司 在加载所有输入比特之前输出用于传输的码字比特
CN109923810B (zh) * 2016-08-15 2021-10-15 高通股份有限公司 用于无线通信的方法和装置以及计算机可读介质
CN110138451A (zh) * 2018-02-08 2019-08-16 华为技术有限公司 一种用于无线光通信的方法及通信装置
CN110138451B (zh) * 2018-02-08 2020-12-04 华为技术有限公司 一种用于无线光通信的方法及通信装置
US11165504B2 (en) 2018-02-08 2021-11-02 Huawei Technologies Co., Ltd. Wireless optical communication method and communications apparatus
WO2021179287A1 (en) * 2020-03-13 2021-09-16 Qualcomm Incorporated Raptor code feedback

Also Published As

Publication number Publication date
JP5863200B2 (ja) 2016-02-16
US20120210190A1 (en) 2012-08-16
JP2014505450A (ja) 2014-02-27
EP2673885A1 (en) 2013-12-18
US9270299B2 (en) 2016-02-23
WO2012109614A1 (en) 2012-08-16
KR20130125813A (ko) 2013-11-19
KR101554406B1 (ko) 2015-09-18
CN103444087B (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
CN103444087A (zh) 使用弹性代码与柔性源块映射进行编码和解码
KR101143282B1 (ko) 연쇄 반응 코드의 체계적 인코딩 및 디코딩
RU2554556C2 (ru) Способы и устройство, использующие коды с fec с постоянной инактивацией символов для процессов кодирования и декодирования
Mercier et al. A survey of error-correcting codes for channels with symbol synchronization errors
US10270468B2 (en) Method for file updating and version control for linear erasure coded and network coded storage
US7644335B2 (en) In-place transformations with applications to encoding and decoding various classes of codes
WO2004028074A1 (ja) 量子鍵配送方法および通信装置
GB2527602A (en) Galois field coding techniques
Yuan et al. On systematic LT codes
Talari et al. LT-AF codes: LT codes with alternating feedback
Gadouleau et al. Binary codes for packet error and packet loss correction in store and forward
KR20150074887A (ko) 분산 lt 부호의 차수 분포 최적화 방법
Lázaro et al. A rate-compatible solution to the set reconciliation problem
Mazumdar et al. Local recovery properties of capacity achieving codes
WO2008043315A1 (fr) Procédé et système d&#39;application à la transmission de données de la technologie de code de correction d&#39;erreurs
Liao et al. A generalized design of distributed rateless codes with decreasing ripple size for multiple-access relay networks
Kovačević et al. Coding for the permutation channel with insertions, deletions, substitutions, and erasures
TWI674766B (zh) 低密度奇偶檢查碼之編碼及解碼方法
Li et al. New Upper Bounds on the Error Probability under ML Decoding for Spinal Codes and the Joint Transmission-Decoding System Design
Indela et al. Network routing over erasure channels using systematic rateless codes
Gabrys et al. Reconciling similar sets
Li Capacity assurance in hostile networks
JP2017143343A (ja) データ処理装置、通信システムおよびデータ処理方法
KR20170075127A (ko) 패킷손실 복구처리를 위한 경량화된 채널코딩 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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

Granted publication date: 20180209

Termination date: 20190210

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