一种译码方法及设备转让专利

申请号 : CN201810278777.2

文献号 : CN110324111B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牛凯董超杨星

申请人 : 华为技术有限公司

摘要 :

一种译码方法及设备,用以降低译码方法的计算复杂度以及降低译码时延。该方法为:译码设备从译码节点队列中抽取度量值最优的第一判决比特,所述第一判决比特为第一译码节点的判决比特;其中,所述译码节点队列中包含一个或多个译码节点信息,所述译码节点信息包括译码节点在译码码树上的层数、译码节点的判决比特和度量值三者的对应关系;所述译码设备基于所述第一判决比特进行第二译码节点的判决,获得所述第二译码节点的判决结果,所述第二译码节点在译码码树的层数位于所述第一译码节点在所述译码码树的层数的下一层;所述译码设备基于所述第二译码节点的判决结果,更新所述译码节点队列。

权利要求 :

1.一种译码方法,其特征在于,包括:

译码设备从译码节点队列中抽取度量值最优的第一判决比特,所述第一判决比特为第一译码节点的判决比特;其中,所述译码节点队列中包含一个或多个译码节点信息,所述译码节点信息包括译码节点在译码码树上的层数、译码节点的判决比特和度量值三者的对应关系;

所述译码设备基于所述第一判决比特进行第二译码节点的判决,获得所述第二译码节点的判决结果,所述第二译码节点在译码码树的层数位于所述第一译码节点在所述译码码树的层数的下一层;

所述译码设备基于所述第二译码节点的判决结果,更新所述译码节点队列。

2.如权利要求1所述的方法,其特征在于,所述译码节点队列从队尾到队首的译码节点信息中的度量值依次变优;

译码设备从译码节点队列中抽取度量值最优的第一判决比特,包括:所述译码设备从译码节点队列中抽取队首的译码节点信息中的第一判决比特。

3.如权利要求1或2所述的方法,其特征在于,所述译码设备基于所述第二译码节点的判决结果,更新所述译码节点队列,包括:若所述第二译码节点为固定比特节点,所述译码设备在所述译码节点队列中添加一条译码节点信息,其中,固定比特节点的判决比特为预设的固定位比特值;

若所述第二译码节点为信息比特节点,所述译码设备在所述译码节点队列中添加两条译码节点信息,其中,信息比特节点的判决比特包括0和1。

4.如权利要求1或2所述的方法,其特征在于,所述译码设备基于所述第一判决比特进行第二译码节点的判决,包括:所述译码设备在判断第一译码节点被抽取判决比特的次数不超过路径宽度L时,基于所述第一判决比特进行第二译码节点的判决。

5.如权利要求1或2所述的方法,其特征在于,所述方法还包括:若所述第二译码节点位于所述译码码树的最后一层,且更新后的译码节点队列中度量值最优的判决比特为所述第二译码节点的第二判决比特,则:所述译码设备从更新后的译码节点队列中抽取所述第二判决比特,根据所述第二判决比特依次向上取所述译码码树上的父节点,直到所述译码码树的第一层为止,根据所述第二判决比特的值以及各个父节点的值,获得候选译码序列。

6.如权利要求5所述的方法,其特征在于,所述方法还包括:所述译码设备对所述候选译码序列进行校验,若校验通过,则所述候选译码序列为译码结果;若校验不通过,则从抽取所述第二判决比特后的译码节点队列抽取度量值最优的第三判决比特,并基于所述第三判决比特进行比特判决以及译码节点队列的更新。

7.如权利要求1、2或6所述的方法,其特征在于,所述方法还包括:若所述译码节点队列为空,则所述译码设备确定译码失败。

8.一种译码设备,其特征在于,包括:

抽取单元,用于从译码节点队列中抽取度量值最优的第一判决比特,所述第一判决比特为第一译码节点的判决比特;其中,所述译码节点队列中包含一个或多个译码节点信息,所述译码节点信息包括译码节点在译码码树上的层数、译码节点的判决比特和度量值三者的对应关系;

判决单元,用于基于所述第一判决比特进行第二译码节点的判决,获得所述第二译码节点的判决结果,所述第二译码节点在译码码树的层数位于所述第一译码节点在所述译码码树的层数的下一层;

更新单元,用于基于所述第二译码节点的判决结果,更新所述译码节点队列。

9.如权利要求8所述的设备,其特征在于,所述译码节点队列从队尾到队首的译码节点信息中的度量值依次变优;

所述抽取单元用于:

从译码节点队列中抽取队首的译码节点信息中的第一判决比特。

10.如权利要求8或9所述的设备,其特征在于,所述更新单元用于:若所述第二译码节点为固定比特节点,在所述译码节点队列中添加一条译码节点信息,其中,固定比特节点的判决比特为预设的固定位比特值;

若所述第二译码节点为信息比特节点,在所述译码节点队列中添加两条译码节点信息,其中,信息比特节点的判决比特包括0和1。

11.如权利要求8或9所述的设备,其特征在于,所述判决单元用于:在判断第一译码节点被抽取判决比特的次数不超过路径宽度L时,基于所述第一判决比特进行第二译码节点的判决。

12.如权利要求8或9所述的设备,其特征在于,若所述第二译码节点位于所述译码码树的最后一层,且更新后的译码节点队列中度量值最优的判决比特为所述第二译码节点的第二判决比特,则所述抽取单元还用于:从更新后的译码节点队列中抽取所述第二判决比特;

所述译码设备还包括获取单元,用于根据所述第二判决比特依次向上取所述译码码树上的父节点,直到所述译码码树的第一层为止,根据所述第二判决比特的值以及各个父节点的值,获得候选译码序列。

13.如权利要求12所述的设备,其特征在于,所述设备还包括校验单元,用于对所述候选译码序列进行校验,若校验通过,则所述候选译码序列为译码结果;若校验不通过,则所述抽取单元还用于从抽取所述第二判决比特后的译码节点队列抽取度量值最优的第三判决比特,所述判决单元基于所述第三判决比特进行比特判决以及所述更新单元译码节点队列的更新。

14.如权利要求8、9或13所述的设备,其特征在于,所述抽取单元还用于:若所述译码节点队列为空,则所述译码设备确定译码失败。

15.一种译码设备,其特征在于,包括:

存储器,用于存储程序;

处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1~8任一项所述的方法。

16.如权利要求15所述的设备,其特征在于,所述译码设备为芯片或集成电路。

17.一种译码设备,其特征在于,包括:

输入接口电路,用于获取待译码信息;

逻辑电路,用于基于获取的待译码信息执行所述权利要求1~8任一项所述的方法,得到译码结果;

输出接口电路,用于输出译码结果。

18.一种芯片,其特征在于,包括:

存储器,用于存储程序;

处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1~8任一项所述的方法。

19.一种芯片,其特征在于,包括:

输入接口电路,用于获取待译码信息;

逻辑电路,用于基于获取的待译码信息执行所述权利要求1~8任一项所述的方法,得到译码结果;

输出接口电路,用于输出译码结果。

说明书 :

一种译码方法及设备

技术领域

[0001] 本申请实施例涉及编译码技术领域,尤其涉及一种译码方法及设备。

背景技术

[0002] 无线通信的快速演进预示着未来第五代(5th generation,5G)通信系统将呈现出一些新的特点,最典型的三个通信场景包括增强型移动互联网(enhance  mobile broadband,eMBB)、海量机器连接通信(massive machine type communication,mMTC)和高可靠低延迟通信(ultra reliable low latency communication,URLLC),这些通信场景的需求将对现有长期演进(long term evolution,LTE)技术提出新的挑战。信道编码作为最基本的无线接入技术,是满足5G通信需求的重要研究对象之一。极化码(Polar Codes)在5G标准中被选作控制信道编码方式。极化码也可以称为Polar码,是第一种、也是已知的唯一一种能够被严格证明“达到”信道容量的信道编码方法。在不同码长下,尤其对于有限码,Polar码的性能远优于Turbo码和低密度奇偶校验码(low density parity check,LDPC)码。另外,Polar码在编译码方面具有较低的计算复杂度。这些优点让Polar码在5G中具有很大的发展和应用前景。
[0003] 在Polar码的译码方法中,现有的一种逐比特消除译码方法(Successive Cancellation,SC)的译码过程为:接收到待译码信息(包括信息比特和固定比特)后,对于待译码信息中信息比特,逐个计算每一个信息比特的对数似然比(Log Likelihood Ratio,LLR),进行逐比特判决,若信息比特的LLR>0,则译码结果为0,若信息比特的LLR<0,则译码结果为1,对于待译码信息中的固定比特,无论LLR为多少译码结果都置为0,按顺序依次译出所有的比特,前一个译码比特的结果作为后一个译码比特计算的一个输入,一旦判错,会导致错误扩散,且没有机会挽回,因此译码性能不高。为解决这一问题,在逐次消除列表算法(Successive Cancellation List,SCL)中,SCL算法在译码每个信息比特时,将0和1对应的译码结果都保存作为2个分支译码路径(简称路径分裂),图1为SCL算法中的译码路径示意图,如图1所示,每一层代表1个译码比特,若译码结果为0,则沿着左子树发展路径,若译码结果为1,则沿着右子树发展路径,当译码路径的总数超过预设的路径宽度L(一般L=2l)时,选择出路径度量(Path Metric,PM)值最佳的L条路径保存并继续发展路径以译出后续的译码比特,其中的PM值用于判断路径的好坏,PM值通过LLR计算得出。对于每一级的译码比特,对L条路径的PM值按照从小到大排序,并通过PM值筛选出正确的路径,如此反复,直到译完最后一个比特。
[0004] 在实际应用中,译码比特的数目是非常大的,使用SCL译码方法,对于每一个译码比特,都要计算每一个译码比特下所有路径的PM值,并对所有路径根据PM值进行一次排序,其计算复杂度和由于排序带来的译码时延都很高。

发明内容

[0005] 本申请实施例提供一种译码方法及设备,用以降低译码方法的计算复杂度以及降低译码时延。
[0006] 本申请实施例提供的具体技术方案如下:
[0007] 第一方面,提供一种译码方法,该译码方法通过译码设备实现。具体为:从译码节点队列中抽取度量值最优的第一判决比特,基于所述第一判决比特进行第二译码节点的判决,获得所述第二译码节点的判决结果,基于所述第二译码节点的判决结果,更新所述译码节点队列。其中,所述第一判决比特为第一译码节点的判决比特,所述译码节点队列中包含一个或多个译码节点信息,所述译码节点信息包括译码节点在译码码树上的层数、译码节点的判决比特和度量值三者的对应关系,第二译码节点在译码码树的层数位于所述第一译码节点在所述译码码树的层数的下一层。通过本申请实施例提供的译码方法,对于中短码长的PSCL算法,可以显著降低计算复杂度,并且译码性能不会损失,PSCL算法是一种在SCL算法基础上的降低复杂度的高效改进算法。在传统的基于LLR度量的搜索宽度为L的SCL译码算法基础上进行深度优先搜索,避免了不可靠路径的继续延伸,省去了不必要的计算量;同时,采用Trellis图和优先级队列两种数据结构分别存储不同信息,两种结构交互的译码方式,保证了在相对传统SCL译码算法性能无损失的条件下,能极大降低计算复杂度,且在高信噪比条件下时延和计算复杂度接近于传统SC算法。
[0008] 在一个可能的设计中,所述译码节点队列从队尾到队首的译码节点信息中的度量值依次变优;那么,从译码节点队列中抽取度量值最优的第一判决比特,就可以理解为:从译码节点队列中抽取队首的译码节点信息中的第一判决比特。通过按照度量值优劣的顺序排列,将度量值最优的排在队首,就可以每次从队首抽取最优的判决比特,放入格图进行下一个译码节点的判决。
[0009] 在一个可能的设计中,若所述第二译码节点为固定比特节点,在所述译码节点队列中添加一条译码节点信息,其中,固定比特节点的判决比特为预设的固定位比特值;例如,固定位比特值为0。若所述第二译码节点为信息比特节点,所述在所述译码节点队列中添加两条译码节点信息,其中,信息比特节点的判决比特包括0和1。
[0010] 在一个可能的设计中,在判断第一译码节点被抽取判决比特的次数不超过路径宽度L时,基于所述第一判决比特进行第二译码节点的判决。相对应的,若判断第一译码节点被抽取判决比特的次数超过路径宽度L,则继续抽取下一个译码节点信息。在传统的基于LLR度量的搜索宽度为L的SCL译码算法基础上进行深度优先搜索,避免了不可靠路径的继续延伸,省去了不必要的计算量。
[0011] 在一个可能的设计中,在Trellis图中存放中间LLR和部分和比特值。
[0012] 具体的,Trellis图每个节点最多存储L份数据,取代传统SCL的L条路径的存储方式。
[0013] 在一个可能的设计中,译码过程数据交互通过优先级节点指导下的相应Trellis节点数据的读取和存储来进行。
[0014] 在一个可能的设计中,若所述第二译码节点位于所述译码码树的最后一层,且更新后的译码节点队列中度量值最优的判决比特为所述第二译码节点的第二判决比特,则所述从更新后的译码节点队列中抽取所述第二判决比特,根据所述第二判决比特依次向上取所述译码码树上的父节点,直到所述译码码树的第一层为止,根据所述第二判决比特的值以及各个父节点的值,获得候选译码序列。
[0015] 在一个可能的设计中,对所述候选译码序列进行校验,若校验通过,则所述候选译码序列为译码结果;若校验不通过,则从抽取所述第二判决比特后的译码节点队列抽取度量值最优的第三判决比特,并基于所述第三判决比特进行比特判决以及译码节点队列的更新。
[0016] 在一个可能的设计中,若所述译码节点队列为空,则所述确定译码失败。
[0017] 第二方面,提供一种译码设备,该设备具有实现上述第一方面和第一方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0018] 在一个可能的设计中,当所述功能的部分或全部通过硬件实现时,所述译码设备包括:输入接口电路,用于获取待译码信息;逻辑电路,用于执行上述第一方面和第一方面的任一种可能的设计中所述的行为;输出接口电路,用于输出译码结果。
[0019] 可选的,所述译码设备可以是芯片或者集成电路。
[0020] 在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述译码设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述译码设备可以实现如上述第一方面和第一方面的任一种可能的设计中所述的方法。
[0021] 可选的,上述存储器可以是物理上独立的单元,也可以与处理器集成在一起。
[0022] 在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述译码设备包括处理器。用于存储程序的存储器位于所述译码设备之外,处理器通过电路/电线与存储器连接,用于读取并执行所述存储器中存储的程序。
[0023] 第三方面,提供了一种通信系统,该通信系统包括网络设备和终端,所述网络设备、所述终端均可以执行如上述第一方面或可能的设计所述的方法。
[0024] 第四方面,提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述第一方面或可能的设计所述的方法的指令。
[0025] 第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或可能的设计所述的方法。

附图说明

[0026] 图1为现有技术中SCL译码方法示意图;
[0027] 图2为现有技术中SC译码方法示意图;
[0028] 图3为本申请实施例中通信系统架构示意图;
[0029] 图4为本申请实施例中部分译码过程示意图;
[0030] 图5为本申请实施例中译码方法过程示意图;
[0031] 图6为本申请实施例中码树示意图;
[0032] 图7~图15为本申请实施例中一种示例的译码过程各步骤的示意图;
[0033] 图16为本申请实施例中PSCL算法与SCL算法译码性能对比示意图;
[0034] 图17为本申请实施例中码长为256比特PSCL算法与SCL算法复杂度对比示意图;
[0035] 图18为本申请实施例中码长为512比特PSCL算法与SCL算法复杂度对比示意图;
[0036] 图19为本申请实施例中码长为1024比特PSCL算法与SCL算法复杂度对比示意图;
[0037] 图20为本申请实施例中译码设备的结构示意图之一;
[0038] 图21为本申请实施例中译码设备的结构示意图之二;
[0039] 图22为本申请实施例中译码设备的结构示意图之三。

具体实施方式

[0040] 本申请提供一种译码方法及设备,用以降低译码的运算复杂度,在保证译码性能的基础上降低译码时延。其中,方法和装置是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
[0041] 以下,对本申请中的部分用语和Polar码的基础知识进行解释说明,以便于本领域技术人员理解。
[0042] 1)Polar码
[0043] Polar码的编码策略利用无噪信道传输用户有用的信息,全噪信道传输约定的信息或者不传信息。Polar码也是一种线性块码,其编码矩阵为GN,编码过程为 其中 是一个二进制的行矢量,长度为N(即码长);GN是一个N×N的矩阵,且
定义为log2N个矩阵F2的克罗内克(Kronecker)乘积。上述矩阵
[0044] Polar码的编码过程中, 中的一部分比特用来携带信息,称为信息比特集合,这些比特的索引的集合记作 另外的一部分比特设置为接收端和发送端预先约定的固定值,称之为固定比特集合或冻结比特集合(frozen bits),其索引的集合用 的补集 表示。Polar码的编码过程相当于: 这里,GN(A)是GN中由集合中的索引对应的那些行得到的子矩阵,GN(AC)是GN中由集合 中的索引对应的那些行得到的子矩阵。 为 中的信息比特集合,数量为K; 为 中的固定比特集合,其数量为(N-K),是已知比特。这些固定比特通常被设置为0,但是只要接收端和发送端预先约定,固定比特可以被任意设置。从而,Polar码的编码输出可简化为: 这里 为
中的信息比特集合, 为长度K的行矢量,即 |·|表示集合中元素的个数,K为信息块大小, 是矩阵GN中由集合 中的索引对应的那些行得到的子矩阵, 是一个
K×N的矩阵。
[0045] Polar码的构造过程即集合 的选取过程,决定了Polar码的性能。Polar码的构造过程通常是,根据母码码长N确定共存在N个极化信道,分别对应编码矩阵的N个行,计算极化信道可靠度,将可靠度较高的前K个极化信道的索引作为集合 的元素,剩余(N-K)个极化信道对应的索引作为固定比特的索引集合 的元素。集合 决定了信息比特的位置,集合 决定了固定比特的位置。
[0046] 2)现有的SC译码方法
[0047] 接收到信号后,逐个计算信息比特的LLR,若信息比特的LLR>0,则译码结果为0,若信息比特的LLR<0,则译码结果为1,固定比特无论LLR为多少译码结果都置为0。图2为SC译码计算过程示意图,以译码比特为4个为例,图2中共有8个计算节点,其中有4个F节点,4个G节点,F节点和G节点分别对应F函数和G函数。F节点的计算需要其右侧2项LLR输入,G节点的计算需要其右侧2项LLR输入以及上一级的输出也作为输入,只有输入项计算完成后,才能计算输出。按照上述计算规则,图2中从右侧接收信号开始,按序计算8个节点,获得的译码比特依次为①→②→③→④,至此译码完成。
[0048] 3)现有的SCL译码方法
[0049] 具体如图1所示的方法中的描述,在此不再赘述。
[0050] 4)结合图4来介绍一下Trellis图(以下还可称为格图)。Trellis图用于译码运算中。如图4所示,右侧为LLR输入侧,或者称为码字侧;左侧为信息侧,或者称为译码比特侧。yi为待译码信息,ui为译码比特。从译码开始,层级依次为s=4、s=3、s=2、s=1和s=0。假设待译码信息的长度N=16,若采用现有的SCL译码方法,则在s=4的层级上,待译码信息对应的16个LLR进行F/G运算,得到s=3的层级上的8个LLR。则s=3的层级上的8个LLR继续进行F/G运算,得到s=2的层级上的4个LLR,s=2的层级上的4个LLR继续进行F/G运算,得到s=1的层级上的2个LLR,s=1的层级上的2个LLR继续进行F/G运算,得到s=0的层级上的1个LLR,在s=0的层级上逐比特分裂路径。从译码开始,Trellis图从码字侧读入LLR,并进行概率传递,得到第一个译码比特的LLR值,对LLR值进行判决,得到第一个译码比特的译码结果,第一个译码比特的判决比特值作为第二个译码比特的输入,进行第二个译码比特的计算,直到计算完s=0层级上的所有译码比特。译码比特中包含固定比特和信息比特,固定比特位置无论LLR为多少判决比特值都为0。信息比特位置的判决比特值可以有0和1两种,因此可以分裂为两个路径。
[0051] 5)译码节点、译码节点队列
[0052] s=0的层级中每一个译码比特的位置为一个译码节点,译码节点又包括固定比特节点和信息比特节点。译码节点队列为一个动态队列,译码节点队列可以为空集,也可以包含一个或多个译码节点信息。一条译码节点信息中可以但不限于包含以下任意一种或多种信息:其一、该译码节点在译码比特侧的译码顺序。信息侧的译码比特有一个译码顺序,按照译码顺序逐个计算译码比特,前一个译码比特的译码结果作为下一个译码比特的输入。结合图1所示的SCL算法,每一层代表1个译码比特,第几层代表第几个译码比特,译码节点在译码比特侧的译码顺序又可以理解为译码码树上的层数。其二、译码节点的判决比特值。
如果译码节点为固定比特节点,则固定比特节点的判决比特值为0;如果译码节点为信息比特节点,则信息比特节点的判决比特值可以分裂为0和1两个值。其三、路径度量(Path Metric,PM)值。即,译码节点在取上述判决比特值时所得的PM值。
[0053] 举例来说,译码节点的译码顺序用i来表示,如果极化码码长N为8,则i的取值范围可以为[0,7],译码节点的判决比特用u来表示,PM值用M来表示,那么一条译码节点信息可以表示为“i=0u=0M=0.89”,译码节点的译码顺序为0,即首个译码节点,译码节点的判决比特为0,PM值为0.89。
[0054] 本申请实施例中,译码节点队列中包含的一个或多个译码节点信息可以被抽取,被抽取的译码节点信息在译码节点队列中被删除,被抽取的译码节点信息用于格图中的迭代运算,以获得下一个译码节点的判决比特,译码设备根据下一译码节点的判决比特获得一条或两条新的译码节点信息,将新的译码节点信息存入译码节点队列中。当译码节点队列中最后一条译码节点信息被抽取后,译码节点队列中可以为空集或者说为空。动态的译码节点队列中的译码节点信息按照PM值的优劣进行排序,例如,译码节点队列中位于队首的译码节点信息中的PM值最优,从队尾到队首的译码节点信息中PM值依次变优。
[0055] 这里需要说明的是,PM越优表明路径越可靠,按照不同的算法,PM值越大表示PM值越优,或者,PM值越小表示PM越优。本申请实施例中以PM值越小表示PM值越优为例进行介绍。PM值的计算采用现有技术中的计算方式,本申请实施例中不再说明。
[0056] 5)在本申请的描述中,字符“/”一般表示前后关联对象是一种“或”的关系。“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
[0057] 下面将结合附图,对本申请实施例进行详细描述。
[0058] 以下介绍一下本申请实施例适用的通信系统架构。
[0059] 图3示出了本申请实施例提供的译码方法适用的一种可能的通信系统的架构,参阅图3所示,通信系统300中包括:网络设备301和一个或多个终端302。当通信系统300包括核心网时,网络设备301还可以与核心网相连。网络设备301可以与IP网络303进行通信,例如,IP网络303可以是:因特网(internet),私有的IP网,或其它数据网等。网络设备301为覆盖范围内的终端302提供服务。例如,参见图3所示,网络设备301为网络设备301覆盖范围内的一个或多个终端302提供无线接入。除此之外,网络设备之间的覆盖范围可以存在重叠的区域,例如网络设备301和网络设备301’。网络设备之间还可以互相通信,例如,网络设备301可以与网络设备301’之间进行通信。
[0060] 网络设备301是本申请应用的通信系统中将终端302接入到无线网络的设备。网络设备301为无线接入网(radio access network,RAN)中的节点,又可以称为基站,还可以称为RAN节点(或设备)。目前,一些网络设备301的举例为:gNB/NR-NB、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wifi)接入点(access point,AP),或5G通信系统或者未来可能的通信系统中的网络侧设备等。
[0061] 终端302,又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音和/或数据连通性的设备。例如,终端302包括具有无线连接功能的手持式设备、车载设备等。目前,终端302可以是:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环、计步器等),车载设备(例如,汽车、自行车、电动车、飞机、船舶、火车、高铁等)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、智能家居设备(例如,冰箱、电视、空调、电表等)、智能机器人、车间设备、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端,或智慧家庭(smart home)中的无线终端、飞行设备(例如,智能机器人、热气球、无人机、飞机)等。
[0062] 本申请实施例提供的译码方法可以由网络设备301来执行,也可以由终端302来执行。本申请实施例提供的译码方法可以适用于各种无线通信场景,可以但不限于包括适用于增强型移动互联网(enhance mobile broadband,eMBB)、海量机器连接通信(massive machine type communication,mMTC)和高可靠低延迟通信(ultra reliable low latency communication,URLLC)的场景。
[0063] 以下简单介绍一下本申请实施例的基本思想。
[0064] 本申请实施例提供的译码方法,主要在传统的基于LLR度量的搜索宽度为L的SCL译码算法基础上进行深度优先搜索,避免了不可靠路径的继续延伸,省去了不必要的计算量。采用Trellis图T和译码节点队列Q两种数据结构分别存储不同信息,通过两种数据结构交互的译码方式,有助于在相对于传统SCL译码算法性能无损失的条件下,降低计算复杂度,且在高信噪比条件下时延和计算复杂度接近于传统SC算法。本申请实施例提供的译码方法可以称为优先级串行抵消列表(PSCL,Priority Successive Cancellation List)方法。
[0065] 如图5所示,本申请实施例提供的译码方法的具体过程如下所述,该译码方法的执行主体为译码设备,译码设备可以是发送端,也可以是接收端,结合图3的系统架构来说,译码设备可以为网络设备301,也可以为终端302。
[0066] 以下描述中,任意至少两个连续的步骤均可以单独形成本申请实施例需要保护的方案,例如,S502~S504形成一组方案,其余步骤为可选步骤。
[0067] S500、初始化过程。获取极化码的码长N,信息比特的长度K,搜索宽度或者路径宽度为L,对待译码信息对应的N个LLR逐层级进行F/G运算,直到得到第一个译码节点的判决比特。将第一个译码节点的译码节点信息存入译码节点队列。
[0068] 具体的,固定比特可以固定设置为0,如果第一译码节点为固定比特节点,则判决结果为0。如果第一译码节点为信息比特节点,则判决结果为0和1两种可能,每一种可能的判决结果对应一种PM值。在得到第一个译码节点的判决比特后,将第一个译码节点的译码顺序、第一个译码节点的判决比特和对应的PM值作为译码节点信息存入译码节点队列。
[0069] S501、判断译码节点队列是否为空,若是,则执行S509,否则执行S502。
[0070] 译码节点队列用Q来表示。判断Q是否等于空集。
[0071] S502、从译码节点队列中抽取度量值最优的判决比特。
[0072] 这里可以记为第一判决比特,第一判决比特为第一译码节点的判决比特。
[0073] 例如,译码节点队列中总是保持度量值最优的判决比特对应的译码节点信息位于队首,则译码设备抽取队首的译码节点信息。抽取优先级队列 中的首节点p0,
[0074] S503、基于第一判决比特进行第二译码节点的判决,获得第二译码节点的判决结果。
[0075] 具体的,在抽取队首的译码节点信息后,将第一判决比特的值代入格图中进行迭代运算,通过逐层的F/G运算后,得到第二译码节点的判决比特,这里可以记为第二判决比特。
[0076] 按照译码顺序,第二译码节点实际上是第一译码节点的下一个译码节点,在译码码数上,第二译码节点的层数位于第一译码节点的层数的下一层。
[0077] 其中,这里的判决结果可以是指第二判决比特,或者也可以包括第二判决比特对应的PM值。
[0078] S504、基于第二译码节点的判决结果,更新译码节点队列。
[0079] 具体的,将第二译码节点的译码顺序、第二判决比特和对应的PM值作为第二译码节点信息存入译码节点队列。在存入的过程中,PM值的顺序将第二译码节点信息存入译码节点队列中的对应位置。若第二译码节点为固定比特节点,则在译码节点队列中添加一条译码节点信息,其中,固定比特节点的判决比特为0和1中的其中一个值,一般固定比特节点的判决比特均为0,即第二判决比特为0;若第二译码节点为信息比特节点,译码设备在译码节点队列中添加两条译码节点信息,其中,信息比特节点的判决比特包括0和1,即第二判决比特为0和1。
[0080] 需要说明的是,S501~S504是循环执行的过程,每个循环过程中,抽取的是译码节点队列中的度量值最优的判决比特,并根据抽取的判决比特代入格图中计算下一个译码节点,这里所述的“第一译码节点”和“第二译码节点”仅是为了区分译码顺序相邻的两个译码节点,并非两个特定的译码节点的限制,同样,“第一判决比特”和“第二判决比特”为本次抽取的判决比特和下一次计算的判决比特的区分说明,并非两个特定的判决比特的限制。
[0081] S505、判断第二译码节点是否位于译码码树上的最后一层,并判断更新后的译码节点队列中度量值最优的判决比特是否为第二判决比特,若两个判断结果均为是,则执行S506;否则执行返回执行S501。
[0082] S506、从更新后的译码节点队列中抽取第二判决比特,根据第二判决比特依次向上取译码码树上的父节点,直到译码码树的第一层为止,根据第二判决比特的值以及各个父节点的值,获得候选译码序列。
[0083] S507、对候选译码序列进行校验,若校验通过,则执行S08;
[0084] 若校验不通过,则返回执行S501,在译码节点队列不为空,则继续执行S502及后续步骤,具体的,从抽取第二判决比特后的译码节点队列抽取度量值最优的判决比特,为方便说明,这里可以称为第三判决比特,相当于S502中的第一判决比特。基于第三判决比特进行比特判决以及译码节点队列的更新。
[0085] S508、输出该候选译码序列为译码结果。
[0086] S509、译码失败。
[0087] 具体的,译码节点队列为空,说明根据抽取的最后一个判决比特获得的候选译码序列校验也未通过,则判定为译码失败。
[0088] 本申请实施例中,若译码节点的译码顺序用i来表示,i=0~(N-1)或者i=1~N。i值越大译码顺序越靠后。由于译码设备总是抽取译码节点队列中PM值最优的判决比特,但是PM值最优的判决比特对应的译码节点不一定是译码顺序最靠后的。例如,当前译码节点队列存在译码节点顺序为i1、i2、i3、i4、i5的译码节点,i1、i2、i3、i4、i5依次增大。译码节点队列中PM值最优的判决比特为译码节点顺序为i2的译码节点的判决比特,则抽取该PM值最优的判决比特后,代入格图中迭代计算,通过逐层级的F/G运算得到译码节点顺序为i3的译码节点的判决比特,可以认为在计算完译码节点顺序为i5的译码节点的判决比特之后,又返回执行不同路径的译码节点顺序为i3的译码节点的判决比特。因此,每个译码节点顺序的译码节点被抽取判决比特的次数可能不止一次,但是每个译码节点顺序的译码节点被抽取判决比特的次数不能超过L次,L为路径宽度。通过本申请实施例的方法,相应的显示在译码码树上表现为,每一条路径拓展的深度可能是不同的。举个简单的例子,如图6所示,假设码长为4,由于所涉及的码长较短,此例中不限制搜索宽度L,即L=+∞。以根节点为起点,第1次判决之后得到两条译码节点信息,生成路径为(0)与(1),度量值分别为0.55和0.45。抽取度量值较大的判决比特(0)继续进行第二层译码节点的判决,得到(00)和(01)。继续抽取具有最大度量值的(1)进行第二层译码节点的判决,得到(10)和(11)。抽取具有最大度量值的(10)进行第三层译码节点的判决,抽取具有最大度量值的(100)进行第四层译码节点的判决,第四层译码节点的判决比特0的PM值为最优,到达最后一层,对该序列进行校验,校验成功后输出该序列为译码结果。
[0089] 基于此,在S502和S503之间,还可以加上一个判断的步骤,具体为:判断第一译码节点被抽取判决比特的次数是否超过路径宽度L,若是,则返回执行S501,否则,执行S503。
[0090] 以下结合具体的例子对上述提供的译码方法作进一步说明。
[0091] 假设极化码码长N为8,信息比特的长度K为4,最大搜索宽度L为4。
[0092] 以下图7~图15表征了译码的过程详解,在图7~图15中,右侧为信道侧,左侧为信源侧,优先级队列也就是译码节点队列。优先级队列用于存储译码节点信息,从队尾到队首PM值依次变小,PM值越小代表路径越可靠。发送端和接收端提前约定好4个固定比特节点和4个信息比特节点的位置。如图7中图例所示,空心圆圈代表固定比特位节点(或者称为固定位节点),实心圆圈代表信息比特位节点(或者称为信息位节点),中间层级上的圆圈为中间值节点,中间值节点上方的数字代表该节点存储不同路径比特数,中间值节点下方的数字代表该节点存储不同路径的LLR数。向左实线箭头代表中间LLR值更新,向右实线箭头代表中间比特值更新,向左虚线箭头代表译码节点信息插入译码节点队列,向右虚线箭头代表从译码节点队列中抽取译码节点信息。译码节点的顺序用i来表示,i取值为[0,7],判决比特用u来表示,u可以取值为0、1。PM值用M来表示。
[0093] 如图7所示,初始化,获取极化码码长N为8,信息比特的长度K为4,最大搜索宽度L为4。在信道侧输入N个LLR,N个LLR逐层级进行F/G运算,得到第一个译码节点的LLR值,由于第一个译码节点为固定比特节点,则进行比特判决后第一个译码节点的判决比特为0。计算所得PM值为0.89。第一个译码节点的顺序记为i=0,第一个译码节点的译码节点信息可以包括i=0,u=0,M=0.89。将第一个译码节点的译码节点信息存入译码节点队列的队首,此时译码节点队列中只有第一个译码节点的译码节点信息。
[0094] 如图8所示,从译码节点队列的队首抽取译码节点信息。将比特判决值(即判决比特)存入信源侧的第一个译码节点的位置。
[0095] 译码节点信息被抽取后,在译码节点队列中将该译码节点信息删除,此时如图9所示,译码节点队列又变为空。
[0096] 如图10所示,将抽取的译码节点信息放入第一个译码节点的位置后,在格图中进行迭代运算,进行中间信息传递,直到得到第二个信源侧译码节点的LLR值,由于第二个译码节点也是固定比特节点,因此,对第二个译码节点进行比特判决后得到的判决比特为0。计算所得PM值为1.24。第二个译码节点的顺序记为i=1,第二个译码节点的译码节点信息可以包括i=1,u=0,M=1.24。将第二个译码节点的译码节点信息来更新译码节点队列,由于抽取第一个译码节点信息后译码节点队列为空,因此此时将第二个译码节点的译码节点信息存入译码节点队列的队首后,译码节点队列中只有一个第二个译码节点的译码节点信息。
[0097] 类似的,第三个译码节点为固定比特节点,采用同样的方式获得第三个译码节点的判决比特,将第三个译码节点的译码节点信息存入译码节点队列。第三个译码节点的译码顺序用i=2表示,抽取第三个译码节点的译码节点信息,放入格图中第三个译码节点的位置后,进行中间信息传递,得到第四个信源侧译码节点的LLR值,第四个译码节点是信息比特节点,因此,对第四个译码节点进行比特判决后得到两个判决比特值,0和1,计算得到两个相应的PM值。具体如图11所示,第四个译码节点对应两个译码节点信息:i=3,u=0,M=1.89;i=3,u=1,M=11.03。将第四个译码节点的两个译码节点信息存入译码节点队列中,由于存入前译码节点队列为空,此时译码节点队列中只有这两个译码节点信息,按照PM值的大小排序将i=3,u=0,M=1.89的译码节点信息放入队首,i=3,u=1,M=11.03的译码节点信息放入队尾。下一步,抽取位于队首的i=3,u=0,M=1.89的译码节点信息,将u=0代入信源侧第四个译码节点的位置,进行中间信息传递,得到第五个译码节点的LLR值,第五个译码节点为固定位节点,因此对第五个译码节点进行比特判决后得到判决比特值为0。
计算得到PM值为12.49。第五个译码节点对应的译码节点信息为:i=4,u=0,M=12.49。
[0098] 如图12所示,将第五个译码节点译码节点信息为:i=4,u=0,M=12.49存入译码节点队列中,此时译码节点队列中有两个PM值排序的译码节点信息。继续抽取位于队首的i=3,u=1,M=11.03的译码节点信息,抽取完的译码节点度列如图13所示,由于第四个译码节点被抽取了2次判决比特,小于路径宽度L,所以将u=1代入信源侧第四个译码节点的位置,进行中间信息传递,得到第五个译码节点的LLR值,第五个译码节点为固定位节点,因此对第五个译码节点进行比特判决后得到判决比特值为0,计算所得PM值为17.84,如图14所示,按照判决结果更新译码节点队列,由于上次抽取完i=3,u=1,M=11.03的译码节点信息后译码节点队列中只剩下第五个译码节点译码节点信息为:i=4,u=0,M=12.49,存入本次第五个译码节点的译码节点信息后,译码节点队列中只有两条译码节点信息:i=4,u=0,M=12.49,i=4,u=0,M=17.84。
[0099] 类似的,继续抽取位于队首的译码节点信息:i=4,u=0,M=12.49,将判决比特u=0代入格图进行迭代运算。重复之处不再赘述。
[0100] 如图15所示,将第八个译码节点的译码节点信息存入译码节点队列之后,译码节点信息的排序如图15中译码节点队列所示,位于队首的译码节点信息为:i=7,u=0,M=12.55。由于位于队首的译码节点信息为第八个译码节点的信息,第八个译码节点为信源侧最后一个译码节点,位于码树上的最后一层,抽取第八个译码节点的译码节点信息后,将第八个译码节点的判决比特u=0代入格图中的信源侧,依次向上取译码码树上的父节点,得到候选的译码序列00010110,如果编码侧采用校验方式,则将候选的译码序列进行校验,例如CRC校验,校验成功后输出译码结果00010110。
[0101] 若校验不成功,则继续抽取译码节点队列中位于队首的译码节点信息i=4,u=0,M=17.84,将判决比特u=0代入格图进行迭代运算,获得第六个译码节点的判决比特,继续按照PM值的顺序更新译码节点队列。
[0102] 若在某一次校验不成功时,译码节点队列为空,中没有可继续抽取的译码节点信息,则判定为译码失败。
[0103] 以下通过性能仿真图来说明一下本申请实施例提供的译码方法的效果。
[0104] 仿真中对不同码长下的PSCL算法与传统SCL算法的复杂度和性能进行了比较,仿真在加性高斯白噪声(Additive White Gaussian Noise,AWGN)信道下进行。使用8比特CRC进行辅助校验。最大路径宽度为32,码率为0.5。
[0105] 如图16所示,如图例形状的各个曲线分别代表了在1024,512,256码长下PSCL算法的性能与传统SCL算法的误码率曲线。从图16中可以看出,仿真验证PSCL算法与传统SCL算法性能完全一致,因此保证了低复杂度算法的性能。
[0106] 图17、图18、图19分别对比了码长为256,512,1024比特时PSCL算法与传统SCL算法的计算复杂度。横坐标为不同信噪比条件,纵坐标通过乘加操作数量反映算法的平均复杂度。从图17、图18、图19中可以看出,信噪比越高时,PSCL算法的复杂度越低,优势越明显,低信噪比时PSCL算法计算复杂度趋近于SCL算法,而高信噪比时则趋近于SC算法。
[0107] 下面给出不同码长,不同搜索宽度的PSCL算法的复杂度降低情况,如表1所示。
[0108] 表1
[0109]
[0110] 从表1中看出,相同搜索宽度,码长越短,复杂度降低程度越大。对于中短码长的极化码,使用常用的路径搜索宽度配置下,计算复杂度至少能降低20%,且大部分译码器工作条件下,计算复杂度可以降低50%以上,在高信噪比下计算复杂度降低能够达到90%以上。总体来说,对于中短码长的PSCL算法,可以显著降低计算复杂度,并且译码性能不会损失,因此PSCL算法是一种在SCL算法基础上的降低复杂度的高效改进算法。
[0111] 本申请实施例,通过译码节点队列存储译码节点信息,只记录对应节点在码树上的位置,对应比特值与度量值,并非存储整条译码路径。译码节点队列优先级队列按度量值升序排列,每次从队首读取节点,插入节点时按序插入。在格图中存放中间LLR和部分和比特值,每个节点最多存储L份数据,取代传统SCL算法中L条路径的存储方式,译码过程数据交互通过优先级节点指导下的相应Trellis节点数据的读取和存储来进行。通过本申请实施例提供的译码方法,对于中短码长的PSCL算法,可以显著降低计算复杂度,并且译码性能不会损失,PSCL算法是一种在SCL算法基础上的降低复杂度的高效改进算法。在传统的基于LLR度量的搜索宽度为L的SCL译码算法基础上进行深度优先搜索,避免了不可靠路径的继续延伸,省去了不必要的计算量;同时,采用Trellis图 和优先级队列 两种数据结构分别存储不同信息,两种结构交互的译码方式,保证了在相对传统SCL译码算法性能无损失的条件下,能极大降低计算复杂度,且在高信噪比条件下时延和计算复杂度接近于传统SC算法。
[0112] 基于上述申请实施例提供的译码方法,如图20所示,本申请实施例还提供一种译码设备2000,译码设备2000用于执行上述申请实施例提供的译码方法,该译码设备2000包括:
[0113] 抽取单元2001,用于从译码节点队列中抽取度量值最优的第一判决比特,第一判决比特为第一译码节点的判决比特;其中,译码节点队列中包含一个或多个译码节点信息,译码节点信息包括译码节点在译码码树上的层数、译码节点的判决比特和度量值三者的对应关系;
[0114] 判决单元2002,用于基于第一判决比特进行第二译码节点的判决,获得第二译码节点的判决结果,第二译码节点在译码码树的层数位于第一译码节点在译码码树的层数的下一层;
[0115] 更新单元2003,用于基于第二译码节点的判决结果,更新译码节点队列。
[0116] 可选的,译码节点队列从队尾到队首的译码节点信息中的度量值依次变优。
[0117] 抽取单元2001用于:从译码节点队列中抽取队首的译码节点信息中的第一判决比特。
[0118] 可选的,更新单元2003用于:若第二译码节点为固定比特节点,在译码节点队列中添加一条译码节点信息,其中,固定比特节点的判决比特为预设的固定位比特值;若第二译码节点为信息比特节点,在译码节点队列中添加两条译码节点信息,其中,信息比特节点的判决比特包括0和1。
[0119] 可选的,判决单元2002用于:在判断第一译码节点被抽取判决比特的次数不超过路径宽度L时,基于第一判决比特进行第二译码节点的判决。
[0120] 可选的,若第二译码节点位于译码码树的最后一层,且更新后的译码节点队列中度量值最优的判决比特为第二译码节点的第二判决比特,则抽取单元2001还用于:从更新后的译码节点队列中抽取第二判决比特;译码设备2000还包括获取单元2004,用于根据第二判决比特依次向上取译码码树上的父节点,直到译码码树的第一层为止,根据第二判决比特的值以及各个父节点的值,获得候选译码序列。
[0121] 可选的,译码设备2000还包括校验单元2005,用于对候选译码序列进行校验,若校验通过,则候选译码序列为译码结果;若校验不通过,则抽取单元2001还用于从抽取第二判决比特后的译码节点队列抽取度量值最优的第三判决比特,判决单元2002基于第三判决比特进行比特判决以及更新单元2003译码节点队列的更新。
[0122] 需要说明的是,本申请实施例中图20所示的译码设备对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0123] 基于上述实施例提供的译码方法的同一发明构思,如图21所示,本申请实施例中还提供一种译码设备2100,该译码设备2100用于执行上述实施例提供的译码方法。上述实施例提供的译码方法中的部分或全部可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,译码设备2100包括:输入接口电路2101,用于获取待译码信息;逻辑电路2102,用于执行上述实施例提供的译码方法;输出接口电路2103,用于输出译码结果。
[0124] 可选的,译码设备2100在具体实现时可以是芯片或者集成电路。
[0125] 可选的,当上述实施例提供的译码方法中的部分或全部通过软件来实现时,如图22所示,译码设备2200包括:存储器2201,用于存储程序;处理器2202,用于执行存储器2201存储的程序,当程序被执行时,使得译码设备2200可以实现上述实施例提供的译码方法。
[0126] 可选的,上述存储器2201可以是物理上独立的单元,也可以与处理器2202集成在一起。
[0127] 可选的,当上述实施例提供的译码方法中的部分或全部通过软件实现时,译码设备2200也可以只包括处理器2202。用于存储程序的存储器2201位于译码设备2200之外,处理器2202通过电路/电线与存储器2201连接,用于读取并执行存储器2201中存储的程序。
[0128] 处理器2202可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
[0129] 处理器2202还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
[0130] 存储器2201可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器2201也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器2201还可以包括上述种类的存储器的组合。
[0131] 本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例提供的译码方法。
[0132] 本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的译码方法。
[0133] 本申请实施例提供的任一种译码设备还可以是一种芯片。
[0134] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0135] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0136] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0137] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0138] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0139] 显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。