CN102195743B - 动态实时喷泉码编码方案 - Google Patents

动态实时喷泉码编码方案 Download PDF

Info

Publication number
CN102195743B
CN102195743B CN 201010128298 CN201010128298A CN102195743B CN 102195743 B CN102195743 B CN 102195743B CN 201010128298 CN201010128298 CN 201010128298 CN 201010128298 A CN201010128298 A CN 201010128298A CN 102195743 B CN102195743 B CN 102195743B
Authority
CN
China
Prior art keywords
degree
original symbol
symbol
coding
data source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 201010128298
Other languages
English (en)
Other versions
CN102195743A (zh
Inventor
祝峰
谷源涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN 201010128298 priority Critical patent/CN102195743B/zh
Publication of CN102195743A publication Critical patent/CN102195743A/zh
Application granted granted Critical
Publication of CN102195743B publication Critical patent/CN102195743B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的动态实时喷泉码编码方法包括:在数据源(s)对K个原始符号通过喷泉码编码生成任意多个编码符号,通过具有丢包率(e)的数据链路(L)传输至客户端(C),且客户端(C)需要通过解码恢复出所述K个原始符号的情况下;根据数据在所述数据源处产生的顺序,将所述K个原始符号分别编号为1:K,其中,当在准备生成第i个编码符号时所述数据源处已存在的原始符号的数量mi有mi=K时,确定所述数据源处已存在完整的待编码数据分组,并采用与传统喷泉码一致的编码方式;当mi<K时,采用度选择策略以及符号选择策略,以使得在所述数据源处刚刚产生完毕K个原始符号的时刻已经完成的编码符号所实际实现的度频率分布逼近于传统LT码采用的度分布d(x)且每个所述原始符号被选择的频率也近似相等。

Description

动态实时喷泉码编码方案
技术领域
本发明涉及动态实时喷泉码编码方案,包括信道编码、可靠数据传输、前向纠错码、喷泉码。
背景技术
数据通过信道进行传输时,由于噪声、干扰的存在或信道本身的不稳定性,使得数据接收方接收到的数据有可能与数据发送方发出的原始数据不完全一致,即误码。在这种情况下,如果直接发送原始数据而不进行任何保护,数据接收方将无法获得原始数据的全部信息。为了弥补信道内在的误码特性,保证数据接收方能够通过接收到的数据完全正确地恢复原始数据,需要采用信道编码对数据进行保护。
喷泉码是一种用来解决数据在二进制删除信道中可靠传输问题的无比率前向纠错码。喷泉码以符号作为最小数据单元,K个原始符号构成一个数据分组,其中K称为分组长度。一个数据分组的K个原始符号经喷泉码编码可以生成无穷个编码符号,用以在信道中传输。对于理想喷泉码概念,任一数据接收者只需成功接收到任意K个相异的编码符号,即可成功解码恢复出整个数据分组。
LT码是第一个实用的对于理想喷泉码的近似。LT码的每个编码符号都是通过以下步骤生成的:首先根据度分布随机选取一个度d,然后在K个原始符号中随机选取d个,并将这d个原始符号进行按位异或运算生成编码符号。出于运算复杂度的考虑,LT码的解码方法常常采用置信传播迭代算法。Raptor码在LT码的基础上做了一定改进。在Raptor码中,首先对原始符号使用LDPC码进行预编码生成中间符号,再对中间符号应用LT码生成编码符号。
传统的喷泉码编码方案,无论是LT码还是Raptor码,都需要分组长度K较大时才能获得较好的性能,因此,在使用传统喷泉码进行编码时,往往要积攒一定数量的待编码数据后才开始进行编码。而在有些实际应用中,编码端的数据是随时间逐渐产生的,如本地实时生成,或以流的形式从网络中接收而得。在这些情形下,如果每次都等待生成整个待编码数据分组后,才开始进行喷泉码编码和数据发送,将会引入较大的延时。尤其对于独占信道,在这段等待时间内信道将会闲置,从而降低了信道利用率。
发明内容
针对传统喷泉码编码方案的缺陷,本发明提出一种动态实时喷泉码编码方案,其主要特点是可以在待编码数据产生的过程中实时地利用已有数据进行喷泉码编码,并通过设计合适的度选取策略以及符号选取策略,达到比传统喷泉码更优的延时性能。
根据本发明的一个方面,提供了一种动态实时喷泉码编码方法,其特征在于:
在数据源对K个原始符号通过喷泉码编码生成任意多个编码符号,通过具有丢包率(e)的数据链路传输至客户端,且客户端需要通过解码恢复出所述K个原始符号的情况下,
根据数据在所述数据源处产生的顺序,将所述K个原始符号分别编号为1:K,其中
当在准备生成第i个编码符号时所述数据源处已存在的原始符号的数量mi有mi=K时,确定所述数据源处已存在完整的待编码数据分组,并采用与传统喷泉码一致的编码方式;
当mi<K时,采用度选择策略以及符号选择策略,以使得在所述数据源处刚刚产生完毕K个原始符号的时刻已经完成的编码符号所实际实现的度频率分布逼近于传统LT码采用的度分布d(x)且每个所述原始符号被选择的频率也近似相等。
根据本发明的一个进一步的方面,当mi<K时的所述度选取策略包括确定一个基于度的期望符号数Cd(x),该期望符号数表述若此次选取的度为x0,则至少需要总共生成Cd(x0)个编码符号,才能使得实际实现的度频率分布中度x0的频率等于所述传统LT码采用的度分布d(x)。
根据本发明的一个进一步的方面,所述动态实时喷泉码编码方法进一步包括选取
deg ( i ) = arg [ min 1 ≤ x ≤ m i C d ( x ) ]
作为当前编码所使用的度。
根据本发明的一个进一步的方面,所述基于度的期望符号数数Cd(x)具有诸如下式的形式
C d ( x ) = n d ( x ) + 1 d ( x ) , x = 1,2 , K , m i
其中nd(x)表示在已经生成的编码符号中,每个度被选择的次数,且x=1,2,K,mi
根据本发明的一个进一步的方面,所述动态实时喷泉码编码方法当mi<K时的所述符号选取策略包括:使得每个原始符号以近似相等的频率被选取。
根据本发明的一个进一步的方面所述使得每个原始符号以近似相等的频率被选取的处理包括:
当此次使用的度为deg(i)时,选取{ns(x),x=1,2,K,mi}中最小的deg(i)个值所对应的原始符号,作为此次生成编码符号所使用的原始符号,其中用ns(x)表示在已经生成的编码符号中每个原始符号被选择的次数。
附图说明
图1显示了根据本发明的一个实施例的应用场景。
图2显示了根据本发明的一个实施例的编码方案的设计流程。
图3显示了根据本发明的一个实施例的动态实时喷泉码编码方案与传统LT编码的延时性能比较。
图4显示了不同的丢包率下,对于动态实时喷泉码编码方案和传统LT编码,客户端处已解码恢复的原始符号数量与时间的关系。
具体实施方式
针对传统喷泉码编码方案的缺陷,本发明提出一种动态实时喷泉码编码方法,其主要特点是可以在待编码数据产生的过程中实时地利用已有数据进行喷泉码编码,并通过设计合适的度选取策略以及符号选取策略,达到比传统喷泉码更优的延时性能。
场景描述
设有数据源S,客户端C,S与C之间存在数据链路L。S需要将一定量的数据通过L传输至C,并使用喷泉码作为信道编码。S处的数据是随时间逐渐产生的,如本地实时生成,或以流的形式从网络中接收而得。喷泉码的原始符号与编码符号大小均为B,P个编码符号组成一个数据包,即每个数据包的大小为P×B。L对于大小为P×B的数据包的丢包率为e。喷泉码的分组长度为K,S需要传输的数据量为N个喷泉码数据分组。整个应用场景如图1所示。
方案设计
根据本发明的一个实施例,考虑一个喷泉码数据分组,S对K个原始符号通过喷泉码编码生成任意多个编码符号,通过丢包率为e的L传输至C,C需要通过解码恢复出K个原始符号。用d(x)表示传统LT码采用的度分布,即可靠孤波分布,其中x=1,2,K,K。
根据数据在S处产生的顺序,将K个原始符号分别编号为1:K。mi表示在准备生成第i个编码符号时,S处已存在的原始符号数量。当mi=K时,表示S处已存在完整的待编码数据分组,此时采用与传统喷泉码一致的编码方式;当mi<K时,采用本发明的度选择策略以及符号选择策略,其设计目标是使得在S处刚刚产生完毕K个原始符号的时刻,已经完成的编码符号所实际实现的度频率分布逼近于d(x),每个原始符号被选择的频率也近似相等。下面介绍mi<K时的度选取策略以及符号选取策略。
●mi<K时的度选取策略
用nd(x)表示在已经生成的编码符号中,每个度被选择的次数,其中x=1,2,K,mi。Cd(x)称为基于度的期望符号数,由下式计算而得
C d ( x ) = n d ( x ) + 1 d ( x ) , x = 1,2 , K , m i
Cd(x)的意义是,若此次选取的度为x0,那么至少需要总共生成Cd(x0)个编码符号,才能使得实际实现的度频率分布中度x0的频率等于d(x0)。因此Cd(x)越小,表示此时度x的频率与d(x)差距越大。因此,选取
deg ( i ) = arg [ min 1 ≤ x ≤ m i C d ( x ) ]
作为此次使用的度。
●mi<K时的符号选取策略
用ns(x)表示在已经生成的编码符号中,每个原始符号被选择的次数。由于目标是使得每个原始符号以近似相等的频率被选取,因此若此次使用的度为deg(i),只需选取{ns(x),x=1,2,K,mi}中最小的deg(i)个值所对应的原始符号,作为此次生成编码符号所使用的原始符号。
除上述度选取策略以及符号选取策略的改进之外,本专利提出的动态实时喷泉码编码方案的其他方面,如由原始符号生成编码符号的计算方法,以及喷泉码解码方法,与传统LT码均一致。整个编码方案的流程如图2所示。
本节中通过仿真实验的方式,给出了本专利提出的动态实时喷泉码编码方案的一种具体实施方式,并将其延时性能与传统LT编码进行比较。其中,延时定义为从S开始生成待编码数据开始,到C成功解码恢复出全部数据为止,所需的时间。在本例中,假设S以恒定的编码间隔进行编码,因此,延时用编码间隔的倍数表示。对于动态实时喷泉码编码方案,延时即为C成功解码恢复出全部数据前,S共发送的编码符号数;对于传统LT编码,延时还包括S处等待生成整个待编码数据分组,即K个原始符号所花费的时间。忽略链路L的传输延时以及喷泉码编解码本身耗费的时间。
仿真实验中各变量设置如下。喷泉码的原始符号与编码符号大小B=1字节,每个数据包包含的编号符号数P=1。链路L的丢包率从0%~90%依次变化。喷泉码的分组长度K=5000,S需要传输的喷泉码数据分组数N=1。
动态实时喷泉码编码方案与传统LT编码的延时性能如图3所示。其中,延时对喷泉码分组长度K作了归一化。从图3中可以看出,在各种丢包率下,动态实时喷泉码编码方案都具有比传统LT编码更小的延时。随着丢包率的增加,二者变得越来越接近,这是由于丢包率越高,在S处产生完整的待编码分组之前生成的编码符号中能够由S通过L成功传输至C的越少,动态实时喷泉码编码方案与传统LT编码的差异性就越小。
表1给出了不同的丢包率下,动态实时喷泉码编码方案的延时性能,相对于传统LT编码的改善程度。
  丢包率   0%   10%   20%   30%   40%   50%   60%   70%   80%   90%
  改善程度   51.4%   38.9%   37.2%   35.0%   33.0%   29.9%   26.3%   20.9%   16.6%   8.9%
表1  动态实时喷泉码编码方案的延时性能相对于传统LT编码的改善程度
图4给出了不同的丢包率下,对于动态实时喷泉码编码方案和传统LT编码,C处已解码恢复的原始符号数量与时间的关系,其中时间用编码间隔的倍数表示,并且时间和已解码恢复的原始符号数量都对喷泉码分组长度K作了归一化。

Claims (5)

1.一种动态实时喷泉码编码方法,其特征在于:
在数据源(s)对K个原始符号通过喷泉码编码生成任意多个编码符号,通过具有丢包率(e)的数据链路(L)传输至客户端(C),且客户端(C)需要通过解码恢复出所述K个原始符号的情况下,
根据数据在所述数据源处产生的顺序,将所述K个原始符号分别编号为1~K,其中
当在准备生成第i个编码符号时所述数据源处已存在的原始符号的数量mi有mi=K时,确定所述数据源处已存在完整的待编码数据分组,并采用与传统喷泉码一致的编码方式;
当mi<K时,采用度选择策略以及符号选择策略,以使得在所述数据源处刚刚产生完毕K个原始符号的时刻已经完成的编码符号所实际实现的度频率分布逼近于传统LT码采用的度分布d(x)且每个所述原始符号被选择的频率也近似相等,
当mi<K时的所述度选择策略包括:确定一个基于度的期望符号数Cd(x),该期望符号数表述若此次选取的度为x0,则至少需要总共生成Cd(x0)个编码符号,才能使得实际实现的度频率分布中度x0的频率等于所述传统LT码采用的度分布d(x0)。
2.根据权利要求1所述的动态实时喷泉码编码方法,其特征在于进一步包括选取
deg ( i ) = arg [ min 1 &le; x &le; m i C d ( x ) ]
作为当前编码所使用的度。
3.根据权利要求1所述的动态实时喷泉码编码方法,其特征在于所述基于度的期望符号数Cd(x)具有下式的形式
C d ( x ) = n d ( x ) + 1 d ( x ) , x = 1,2 , . . . , m i
其中nd(x)表示在已经生成的编码符号中,每个度被选择的次数,且x=1,2,…,mi
4.根据权利要求2所述的动态实时喷泉码编码方法,其特征在于当mi<K时的所述符号选择策略包括:使得每个原始符号以近似相等的频率被选取。
5.根据权利要求4所述的动态实时喷泉码编码方法,其特征在于所述使得每个原始符号以近似相等的频率被选取的处理包括:
当此次使用的度为deg(i)时,选取{ns(x),x=1,2,…,mi}中最小的deg(i)个值所对应的原始符号,作为此次生成编码符号所使用的原始符号,其中用ns(x)表示在已经生成的编码符号中每个原始符号被选择的次数。
CN 201010128298 2010-03-17 2010-03-17 动态实时喷泉码编码方案 Expired - Fee Related CN102195743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010128298 CN102195743B (zh) 2010-03-17 2010-03-17 动态实时喷泉码编码方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010128298 CN102195743B (zh) 2010-03-17 2010-03-17 动态实时喷泉码编码方案

Publications (2)

Publication Number Publication Date
CN102195743A CN102195743A (zh) 2011-09-21
CN102195743B true CN102195743B (zh) 2013-08-21

Family

ID=44603179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010128298 Expired - Fee Related CN102195743B (zh) 2010-03-17 2010-03-17 动态实时喷泉码编码方案

Country Status (1)

Country Link
CN (1) CN102195743B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694636B (zh) * 2012-06-15 2015-07-29 北京交大微联科技有限公司 采用喷泉码的harq技术的发送、接收方法及系统
CN109905162B (zh) * 2017-12-11 2021-06-01 国广融合(北京)传媒科技发展有限公司 文件发送、接收方法及终端
CN109005011B (zh) * 2018-08-10 2021-03-12 深圳市智慧海洋科技有限公司 一种用于水声网络的数据传输方法、系统及可读存储介质
CN110535563B (zh) * 2019-08-30 2020-06-19 西安交通大学 一种基于喷泉码控制与数据互锁的无线安全传输方法
CN114915377B (zh) * 2022-05-12 2024-04-02 中国人民解放军国防科技大学 一种基于喷泉码的联盟链存储系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350699A (zh) * 2008-09-05 2009-01-21 清华大学 一种基于增量喷泉的信息分发方法
CN101548498A (zh) * 2006-11-29 2009-09-30 艾利森电话股份有限公司 具有线性独立数据分组编码的可靠多播

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178535B2 (en) * 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US8111757B2 (en) * 2007-09-28 2012-02-07 Motorola Mobility, Inc. Method and apparatus for video signal processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101548498A (zh) * 2006-11-29 2009-09-30 艾利森电话股份有限公司 具有线性独立数据分组编码的可靠多播
CN101350699A (zh) * 2008-09-05 2009-01-21 清华大学 一种基于增量喷泉的信息分发方法

Also Published As

Publication number Publication date
CN102195743A (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
CN102164026B (zh) 基于深空通信环境下的喷泉码编译方法
CN101459430B (zh) 低密度生成矩阵码的编码方法及装置
CN103618585B (zh) 一种基于置信传播算法的联合多用户检测和译码方法
CN102195743B (zh) 动态实时喷泉码编码方案
CN110326221A (zh) 一种用于为极化码生成有序序列的方法
CN106130687B (zh) 衰落信道下基于译码比特可靠性的Polar码删余方法
CN101425871A (zh) 多元纠错码发射接收装置及数据传输系统以及相关方法
CN101227193B (zh) 一种低密度校验码的编解码装置和方法
CN107332570B (zh) 分段级联Hash序列的极化码编码方法
CN103731239A (zh) 一种适用于向量处理器的通用crc并行计算部件及方法
CN106254030B (zh) 无速率Spinal码的双向编译码方法
CN108809518A (zh) 用于降低错误性能的级联Spinal码构建方法
CN106209305A (zh) 一种多址信道下的喷泉码译码方法
CN105515728A (zh) 一种基于滑动窗口的网络编码方法
CN103338046A (zh) 码率兼容的ldpc-rs二维乘积码的编码与译码方法
Cyriac et al. Polar code encoder and decoder implementation
CN104378122B (zh) 一种可变长度Turbo码的编译方法
CN110191248B (zh) 一种基于反馈的Bats Code的无人机图像传输方法
CN109361492B (zh) 一种联合物理层网络编码和极化码的高性能译码方法
CN103532674A (zh) 一种基于复杂网络的文件传输编码方法
CN104135347B (zh) 认知网络中基于联合格成型技术的脏纸编码和译码方法
CN109660265A (zh) 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法
CN107181567B (zh) 一种基于门限的低复杂度mpa算法
CN101630999A (zh) 一种用于二元擦除信道前向纠错的喷泉编解码方法
CN103501182A (zh) 一种卷积码生成多项式的盲估计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130821

Termination date: 20170317

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