一种数据块的编译码方法及装置

文档序号:1775028 发布日期:2019-12-03 浏览:7次 >En<

阅读说明:本技术 一种数据块的编译码方法及装置 (A kind of coding and decoding method and device of data block ) 是由 李庆华 王希 王文静 于 2018-05-25 设计创作,主要内容包括:本发明涉及计算机技术,特别涉及一种数据块的编译码方法及装置,用以解决编译码过程中存在的数据缓存量大,处理时延较大的问题。该方法为:在编码阶段,采用了并行方式进行CB级的CRC编码,以及采用迭代方式进行TB级的CRC编码,从而有效提高了编码速度,降低处理时延,而在译码阶段,确定各个数据块通过CB级的CRC校验后,仅保留每个数据块的摘要信息,以完成最终的TB级的CRC检验,从而有效降低缓存数据量,同时也降低了处理时延。(The present invention relates to computer technology, in particular to the coding and decoding method and device of a kind of data block are big to existing data buffer storage amount during solving coding and decoding, the larger problem of processing delay.This method are as follows: in coding stage, CB grades of CRC coding is carried out using parallel mode, and processing delay is reduced to effectively increase coding rate using the CRC coding that iterative manner carries out TB grades, and in the decoding stage, after determining each data block by CB grades of CRC check, only retain the summary info of each data block, to complete the CRC check of final TB grade, to which buffer data size be effectively reduced, while also reducing processing delay.)

一种数据块的编译码方法及装置

技术领域

本发明涉及计算机技术,特别涉及一种数据块的编译码方法及装置。

背景技术

在传输的数据传输系统中,发送端通常会采用分层方式进行数据传输,即在每一层的传输数据中添加特定的校验和,因此,接收端在处理时,通常需要在高层缓存低层的全部数据,用于本层的校验,这必然会带来数据缓存量大,处理时延较大的问题。

例如,对于编码过程而言,发送端会先对初始传输数据进行全体循环冗余校验(Cyclic Redundancy Check,CRC)编码,并在传输数据后添加传输块(Transfer Block,TB)级的CRC校验码,获得目标传输数据,然后,再对目标传输数据进行分段,并针对每一段数据再进行CRC编码,分别获得每一段数据编码块(Code Block,CB)级的CRC校验码,然后,再进行传输。这种处理方式,需要两倍的CRC处理时长,会在编码过程中造成数据缓存量大,处理时延较大的问题。

又例如,对于译码过程而言,接收端对针对每一段数据独立进行CB级的CRC校验,校验完毕后,会将各段数据进行缓存,然后,统一进行TB级的CSC校验。这种处理方式,会将接收的全体目标传输数据在一直缓存在处理单元中,从而也会造成数据缓存量大,处理时延较大的问题。

有鉴于此,需要设计一种新的数据块的编译码方法,以克服上述缺陷。

发明内容

本发明实施例提供一种数据块的编译码方法及装置,用以解决编译码过程中存在的数据缓存量大,处理时延较大的问题。

本发明实施例提供的具体技术方案如下:

一种数据块的编码方法,包括:

发送端获取目标传输数据,并将所述目标传输数据划分为n个数据块,其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;

发送端针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;

发送端针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。

可选的,所述发送端采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码,包括:

针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。

可选的,所述发送端针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,包括:

所述发送端获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;

所述发送端针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。

可选的,所述发送端根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码,包括:

所述发送端获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;

所述发送端针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。

可选的,所述发送端在对所述第n个数据块进行TB级的CRC编码以及CB级的CRC编码之后,进一步包括:

将编码完毕的所述目标传输数据,发往接收端。

一种数据块的译码方法,应用于上述编码方法,包括:

接收端针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;

所述接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。

可选的,进一步包括:

所述接收端确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。

可选的,所述接收端针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验,包括:

所述接收端丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;

所述接收端对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;

所述接收端将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;

所述接收端确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。

可选的,进一步包括:

若所述接收端确定所述目标CRC校验结果不为零,则通知接收端进行TB级重新传输整个的目标传输数据。

一种数据块的编码装置,包括:

第一编码单元,用于获取目标传输数据,并将所述目标传输数据划分为n个数据块,其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;

第二编码单元,用于针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;

第三编码单元,用于针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。

可选的,采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第二编码单元用于:

针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。

可选的,所述针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第三编码单元用于:

获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;

针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。

可选的,所述根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码时,所述第三编码单元用于:

获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;

针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。

可选的,所述第三编码单元进一步用于:

在对所述第n个数据块进行TB级的CRC编码以及CB级的CRC编码之后,将编码完毕的所述目标传输数据,发往接收端。

一种数据块的译码装置,应用于上述编码装置,包括:

第一译码单元,用于针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;

第二译码单元,用于接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。

可选的,所述第二译码单元进一步用于:

用于确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。

可选的,针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验时,所述第一译码单元用于:

丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;

对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;

将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;

确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。

可选的,所述第一译码单元进一步用于:

交互单元,用于在确定所述目标CRC校验结果不为零时,通知接收端进行TB级重新传输整个的目标传输数据。

一种存储介质,存储有用于实现数据块的编码的程序,所述程序被处理器运行时,执行以下步骤:

获取目标传输数据,并将所述目标传输数据划分为n个数据块,其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;

针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;

针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。

一种通信装置,包括一个或多个处理器;以及

一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。

一种存储介质,应用于上述的存储介质,存储有用于数据块的译码的程序,所述程序被处理器运行时,执行以下步骤:

针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;

确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。

一种通信装置,包括一个或多个处理器;以及

一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。

本发明有益效果如下:

本发明实施例中,在编码阶段,发送端将目标传输数据划分为n个数据块后,针对前n-1个数据块,各自独立并行进行CB级的CRC编码,以及采用迭代方式进行TB级的CRC编码,而第n个数据块,则先进行TB级的CRC编码,然后,再进行CB级的CRC编码。这样,由于部分编码过程采用了并行方式及迭代方式进行处理,从而有效提高了编码速度,降低处理时延。

而在译码阶段,接收端针对每个数据块进行独立的CB级的CRC校验以及TB级的CRC校验,并只缓存TB级的CRC校验结果,至少丢弃前n-1个数据块中的传输数据。这样,仅保留每个数据块的摘要信息即可完成最终的TB级的CRC检验,从而有效降低缓存数据量,同时也降低了处理时延。

附图说明

图1为本发明实施例中发送端对数据块进行编码流程图;

图2为本发明实施例中编码阶段数据块划分示意图;

图3为本发明实施例中接收端对数据块进行译码流程图;

图4为本发明实施例中译码阶段数据块划分示意图;

图5为本发明实施例中发送端功能结构示意图;

图6为本发明实施例中接收端功能结构示意图。

具体实施方式

为了解决编译码过程中存在的数据缓存量大,处理时延较大的问题,本发明实施例中,在编码阶段并行独立处理,在译码阶段,仅保存分段的CRC校验结果,而不缓存原始传输数据,从而降低了数据缓存量降低,减小了处理时延。

下面结合附图对本发明优选的实施方式作出进一步详细说明。

本发明实施例中,在编码阶段,发送端会将目标传输数据划分为n个数据块,并且除最后一个数据块之外第1个至第n-1个数据块,并行进行TB级的CRC编码和CB级的CRC编码,生成相应的CB级的校验码和TB级的校验码而针对第n个数据块,则基于第1个至第n-1个数据块的CB级的CRC校验码和TB级的CRC校验码,进行TB级的CRC编码和CB级的CRC编码,获得第n个数据块的CB级的CRC校验码和TB级的CRC校验码。

具体的,参阅图1所示,本发明实施例中,发送端针对数据块进行编码的详细流程如下:

步骤100:发送端将初始传输数据(即TB)进行CRC编码,获得相应的TB级的CRC校验码,简称为TB_CRC,并将获得的TB_CRC与初始传输数据进行合并,获得目标传输数据。

例如,参阅图2所示,假设初始传输数据(即TB)的长度为A bits,进行TB级的CRC编码后,初始传输数据与TB_CRC进行合并后,目标传输数据的长度为B bits。

步骤110:发送端将目标传输数据划分为n个数据块。

例如,参阅图2所示,发送端将目标传输数据划分为n个数据块,其中,每个数据段的数据长度为K bits。

步骤120:发送端针对第1个至第n-1个数据块,并行针对每一个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码,简称为CB_CRC。

步骤130:发送端针对第1个至第n-1个数据块,采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码,简称TB_CRC’。

其中,所谓采用迭代方式依次针对每一个数据块进行TB级的CRC编码,是指:采用串行流水方式,针对第i个数据块(1≤i≤n-1)进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码。

本发明实施例中,发送端针对第1个至第n-1个数据块,获得n-1个相应的TB_CRC’。

步骤130:发送端针对第n个数据块,先进行TB级的CRC编码,获得相应的TB级的CRC校验码。

具体的,发送端针对第n个数据块,先获取第n个数据块中除了目标传输数据对应的TB级的CRC校验码(即TB_CRC)之外的部分传输数据,然后针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码(TB_CRC’),进行TB级的CRC编码,获得相应的TB级的CRC,简称TB_CRC”,

本发明实施例中,参阅图2所示,上述部分传输数据,即是指最后一个数据块中除了TB_CRC之外的CB部分,由于TB_CRC是针对初始传输数据的全体进行CRC编码获得的CRC校验码,因此,在针对最后第n个数据块中的传输数据进行CRC编码时,要先把TB_CRC刨除。

步骤140:发送端根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。

具体的,发送端会获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据,然后,再针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。

至此,目标传输数据已经全部编码完毕,发送端可以将编码后的目标传输数据发往接收端。

相应的,对应于上述编码过程,本发明实施例中,在译码阶段,接收端对每个数据块独立进行CB级的CRC校验,而在全体数据块均通过CB级的CRC校验后,丢弃相关数据,再基于每个数据块的TB级的CRC校验码,进行TB级的CRC校验,从而仅缓存TB级的CRC校验结果。

具体的,参阅图3所示,本发明实施例中,接收端针对数据块进行译码的详细流程如下:

步骤300:接收端接收经编码的目标传输数据,所述目标传输数据中包含有n个数据块。

进一步地,所述目标传输数据中还包含有每一个数据块对应的TB级的CRC校验码(即,TB_CRC’)和CB级的CRC校验码(即,CB_CRC),进一步地,还包括,目标传输数据对应的TB级的CRC校验码(即,TB_CRC)。

步骤310:接收端针对第1个至第n个数据块,分别根据相应的CB级的CRC校验码进行CB级的CRC校验。

具体的,以任意一个数据块(以下称为第i个数据块)为例,可以将第i个数据块的CB级校验多项式定义为CB_CRC(i),将第i个数据块的CB_CRC代入CB_CRC(i)后,若CB_CRC(i)取值为0,则确定第i个数据块通过CB级的CRC校验,即数据块正确;

确定任意一个数据块未通过CB级的CRC校验时,需要通知发送端重新所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。

步骤320:接收端确定所有n个数据块均通过CB级的CRC校验时,至少丢弃所述前n-1个数据块中的传输数据,并针对第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。

本发明实施例中,接收端只有确定所有n个数据块均通过CB级的CRC校验时,才会继续进行TB级的CRC校验,具体过程如下:

首先,接收端针对第1个至第n-1个数据块,均丢弃其中的传输数据,具体的,参阅图4所示,接收端将前n-1个数据块,均设定为[0,CB_CRC(i),NULL],可选的,如图4所示,还可以进一步丢弃第1个至第n-1个数据块各自对应的CB级的CRC校验码,这样,可以进一步降低缓存数据量。

然后,接收端将所述前n-1个数据块对应的TB级的CRC校验码(即TB_CRC’)进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验(如,采用CRC-24A算法),获得一个24bit的TB级的初始CRC校验结果,可选的,记为TB_CRC_BUF,然后,将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验(如,采用CRC-24A算法),获得最终的TB级的目标CRC校验结果,可选的,记为TB_CRC_FINAL。

若TB_CRC_FINAL的取值0,则表示目标传输数据整体上通过TB级的CRC校验,若TB_CRC_FINAL的取值0不为零,则接收端需要通知发送端进行TB级重传,即重新传输整个的目标传输数据。

显然,在进行TB级的CRC校验时,接收端仅根据CB级的CRC校验结果对TB级的校验码进行拼接,从而形成了完整的目标传输数据的等效摘要,并通过对等效摘要进行TB级的CRC校验,实现针对目标传输数据的整体校验。

本发明实施例中,是将所述TB级的初始CRC校验结果与第n个数据块进行拼接后,进行TB级的CRC校验的。另一实现方式下,可选的,也可以将所述TB级的初始CRC校验结果,与第n个数据块中除了目标传输数据对应的TB级的CRC校验码(即,TB_CRC)之外的传输数据进行拼接后,再进行TB级的CRC校验,此时获得的TB级的CRC校验结果可记为TB_CRC_FINAL’,若TB_CRC_FINAL等于TB_CRC,则表示表示目标传输数据整体上通过TB级的CRC校验,若TB_CRC_FINAL不等于TB_CRC,则接收端需要通知发送端进行TB级重传,即重新传输整个的目标传输数据。

基于上述实施例,参阅图5所示,本发明实施例中,发送端至少包括第一编码单元51、第二编码单元52和第三编码单元53,其中,

第一编码单元51,用于获取目标传输数据,并将所述目标传输数据划分为n个数据块,其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;

第二编码单元52,用于针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;

第三编码单元53,用于针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。

可选的,采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第二编码单元52用于:

针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。

可选的,所述针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第三编码单元53用于:

获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;

针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。

可选的,所述根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码时,所述第三编码单元53用于:

获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;

针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。

可选的,所述第三编码单元53进一步用于:

在对所述第n个数据块进行TB级的CRC编码以及CB级的CRC编码之后,将编码完毕的所述目标传输数据,发往接收端。

相应的,参阅图6所示,本发明实施例中,接收端至少包括第一译码单元61和第二译码单元62,其中,

第一译码单元61,用于针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;

第二译码单元62,用于接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。

可选的,所述第二译码单元62进一步用于:

用于确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。

可选的,针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验时,所述第一译码单元61用于:

丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;

对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;

将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;

确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。

可选的,所述第一译码单元61进一步用于:

交互单元,用于在确定所述目标CRC校验结果不为零时,通知接收端进行TB级重新传输整个的目标传输数据。

本发明实施例提供一种存储介质,存储有用于实现数据块的编码的程序,所述程序被处理器运行时,执行以下步骤:

获取目标传输数据,并将所述目标传输数据划分为n个数据块,其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;

针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;

针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。

本发明实施例提供一种通信装置,包括一个或多个处理器;以及

一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。

本发明实施例提供一种存储介质,应用于上述的存储介质,存储有用于数据块的译码的程序,所述程序被处理器运行时,执行以下步骤:

针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;

确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。

本发明实施例提供一种通信装置,包括一个或多个处理器;以及

一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。

综上所述,本发明实施例中,在编码阶段,发送端将目标传输数据划分为n个数据块后,针对前n-1个数据块,各自独立并行进行CB级的CRC编码,以及采用迭代方式进行TB级的CRC编码,而第n个数据块,则先进行TB级的CRC编码,然后,再进行CB级的CRC编码。这样,由于部分编码过程采用了并行方式及迭代方式进行处理,从而有效提高了编码速度,降低处理时延。

而在译码阶段,接收端针对每个数据块进行独立的CB级的CRC校验以及TB级的CRC校验,并只缓存TB级的CRC校验结果,至少丢弃前n-1个数据块中的传输数据。这样,仅保留每个数据块的摘要信息即可完成最终的TB级的CRC检验,从而有效降低缓存数据量,同时也降低了处理时延。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种确定传输优先级的方法、装置和计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类