用于对数据进行译码的简约状态装置以及方法 本发明涉及用于对数据进行译码的装置与方法,具体地说,本发明涉及通过对编码器所有可能状态之外的某些状态产生累积的条件概率(ACP)来对数据进行译码的简约状态装置与方法。
传统的卷积编码器用移位寄存器和多个加法器对信息位编码。图1概示了传统的1/2速率卷积编码器。如此图所示,传统的卷积编码器100包括由一批相互串联的存储单元M0~M7组成的移位寄存器11,以及耦合到移位寄存器11上用来产生第一和第二系数C0与C1的第一和第二加法器10与12。各个存储单元M0~M7为一位存储器,用于存储对它的一位输入同时将业已存储于其中的位移位到下一个一位存储器。
由于移位寄存器11中有8个一位存储单元M0-M1。移位寄存器11就有256个可能状态(从状态0到状态255)。名词“状态”指移位寄存器11在给定时间的内容。已知当移位寄存器11的先前状态的到达信息位(即业已输入到第一存储器单元M0的位)为零时,此移位寄存器11的状态为偶状态,而当移位寄存器11的先前状态的到达信息位为1时,此移位寄存器11的状态为奇状态。
图1中地传统卷积编码器100按如下方式操作。待编码的信息位按一次一位输入第一存储单元M0中。通常是一次处理一组信息位(例如196位)。输入到编码器100的各个新的信息位推入到移位存储器11的第一存储单元M0内,与此同时,第一存储单元M0的先前内容移位到第二存储单元M1,第二存储单元M1的先前内容移位到第三存储单元M2、第三存储单元M2的先前内容移位到第四存储单元M3,等等。控制器(未图示)按预定时间间隔产生时钟信号来移位存储单元M0~M7中的位。
第一加法器10将存储于存储单元M0、M1、M2、M4、M6与M7中存储的位与移位存储器11的到达信息位相加,产生第一系数C0。第二加法器12将存储于存储单元M1、M2、M3与M7中的位与到达信息位相加,产生第二系数C1。根据这一过程,当一位信息数据输入编码器100后,就有一对系数C0与C1从编码器100输出作为编码数据。这样,编码器100便具有1/2处理速率。尽管传统的1/2速率卷积编码器100已如上述,但具有其他处理速率例如1/3、2/3等,也是本项技术中周知的。
由编码器100产生的第一和第二系数C0与C1(编码数据)通过通信信道到达另外的编码器/译码器,但在此过程中,编码数据由于位错乱的影响而降低了可靠性。例如,当编码数据通过通信信道时,某些零(“0”)位会变成1(“1”)位或是反之,导致错误的系数CC0与CC1作为编码数据传输,且为传统的卷积译码器译码。
为了对错乱的系数CC0与CC1进行译码,传统的卷积译码器要假设编码器100的移位寄存器11的所有可能状态,以去确定原有的未错乱系数C0和C1。如果能确定取编码器100输出的原有系数C0与C1,就可恢复精确的数据作为译码数据。
图2示明用来对编码数据例如错乱的系数CC0与CC1进行译码的传统卷积译码器200的框图。译码器200包括状态计数器20、先前状态定位器22、第一和第二编码器24A和24B、模2单元26、第一和第二量化器28A和28B、第一和第二加法器30A与30B、最大值选择器32、存储单元34以及译码单元36,它们按图示连接。
状态计数器20对各对错乱系数CC0与CC1从状态0计数到状态255,包括传统编码器100中移位寄存器的所有256可能状态。由状态计数器20计数状态时是根据存储单元34产生的时钟信号进行。先前状态定位器22根据各个现行状态计数值按已知方法确定两种可能的先前状态(即图1所示移位寄存器11的存储单元M0~M7的两种可能内容)。这两种可能的先前状态之一输出给第一编码器24A,而另一个可能的先前状态则输出给第二编码器24B。
模2单元26从状态计数器20接收状态计数值并根据各个状态计数值产生0或1。从模2单元26输出的0与1表示要由译码器200所恢复的可能信息位(0与1)。
各第一与第二编码器24A与24B接收来自模2单元26的位以及由先前状态定位器22确定的两种可能先前状态之一,以产生理论系数TC0与TC1。对于第一和第二编码器24A与24B的各个输入,第一编码器24A产生一对第一理论系数TC0与TC1。这一过程对256个可能态的各个重复,使得从第一与第二编码器24A和24B的各个顺序地输出256对理论系数TC0与TC1。
第一和第二量化器28A和28B的各个对于各个状态计数值接收一对理论系数TC0和TC1以及输入译码器200的编码数据位(成对的错乱系数CC0和CC1)。各第一和第二量化器28A和28B当假定未错乱的系数C0与C1输出到译码器200时,即根据顺序地接收到的成对理论系数TC0与TC1确定各对错乱系数CC0和CC1的条件概率,然后将这些条件概率定量化为一定的级数,例如32级或64级。由各第一和第二量化器28A和28B输出的量化值则指明各对输入的错乱系数CC0与CC1与256对理论系数TC0和TC1所匹配的合适程度。这样,传统的卷积编码器100便通过测定其全部256个可能状态的条件概率而进行全面的检索算法。
每当从量化器28A和28B输出量化值时,各第一和第二加法器30A和30B便将当前的量化值与存储单元34中存储的相应累积量化值(即ACP)相加,生成更新的ACP。最大值选择器32于给定的时间从加法器30A与30B接收两个ACP,相互比较这两个ACP并选择其中较大的一个。所选定的ACP以后称之为优胜ACP,而形成此优胜ACP的先前状态以后即称之为优胜先前状态(PS)。此优胜的ACP与PS输出给存储单元34,在此,优胜ACP便置换与当前状态计数值相对应的存储单元34的数据片中当前存储的ACP。
如果编码器100一次处理196个信息位组,存储单元34就必须对196个信息位的各个存储0~225个可能的ACP,同时必须用最大值选择器32的输出来更新所有256个ACP。为了进行上述过程且是由译码单元36进行上述过程,存储单元34除了用来存储优胜ACP的其他存储器阵列外,还需要有存储优胜PS的256×196存储器阵列。图2A例示了用来存储优胜PS的存储单元34中的256×196存储器阵列34a。如图2A所示,存储单元34的存储器阵列34a包括256行(R0-R255)和196列(C0-C195)。各行号代表当前状态值而各列号代表196个信息位中的位。对各个信息位(即各列)来说,存储单元34在其阵列34a中存储着与整个256可能态对应的PS。例如,如果当前状态为零(即R0),第196信息位为译码器200译码,而这特定当前状态的优胜PS已为最大值选择器200确定为3时,则将这个3的优胜PS存储于阵列34a的数据片(R0,C195)中。
一旦阵列34a中的片填满,译码单元36便用阵列34a开始恢复原来的信息位。译码单元35首先从阵列34a的片(R0,C195)检索3的优胜PS。由于优胜PS等于3,译码单元36便进到下一列C194的行R3并由此检索1的优胜PS。由于优胜PS在此等于1,译码单元36便进到下一列C193的行R1并由此检索225的优胜PS。由于优胜PS现在等于255,译码单元36便进到下一列C192的行R255并由此检索62的PS。这一过程一直重复到检索到最后一列C0。由于这一检索过程结果,译码单元便依序集合了196个整数。取决于这196个整数的各个是奇数或偶数,而从译码单元36输出零(0)或1(1)位作为表示原来的196信息位的译码数据。
如上所述,传统的译码器需要大型的存储器阵列(例如256×196)来存储编码器所有可能状态的PS。但通常,在译码器中采用这么大型的存储器阵列在经济上是不可行的。此外,随着时间流逝,一个数据组的长度以及可能状态的数目势必增加,需要有极大的存储器。但即使是在此种系统中可用大的存储器,由于必须对编码器的所有可能状态计算ACP,用传统的卷积译码器来进行全面的检索算法也是极其费时的。
本发明是针对这样的用于对数据进行译码的简约状态装置和方法,由于产生的累积条件概率(ACP)较少,它们可采用较小容量的存储装置来存储与ACP有关的优胜先前状态以进行数据的译码。这种简约状态装置与方法根据控制信号,对于各编码数据,从编码器的所有可能状态只选择某些当前状态,同时对于所选择的当前状态产生ACP。对于各个未选择的当前状态,则输出预定的量化值(PQV)。将此ACP与PQV同阈值比较。如果ACP/PQV≥阈值,则将一与此ACP/PQV有关的PS存储于第一存储器阵列中。第二存储器阵列则存储其中存储有优胜PS的第一存储器阵列的位置信息。从第一存储器阵列的各列中,根据从先前一列中所选的值,从第一存储器阵列的各列来选择其中的一个存储值。将这些选出的值变换为0位或1位,并把变换的数据位作为译码数据输出。这样,本发明只对于所有可能状态中选出的某些状态产生ACP,因而只需较小容量的存储器来存储与ACP有关的PS。此外,由于是去检索减少了个数的状态来产生译码数据,本发明便提供了较快的译码过程。
根据下面所给的详细说明以及仅用作解释目的的附图,当比较全面地理解本发明,各附图中的相对应部件以相同的标号注明。
图1概示传统的卷积编码器;
图2是传统的卷积编码器的框图;
图2A例示图2中传统译码器所用的存储器阵列;
图3是依据本发明一实施例的卷积译码器的框图;
图4示明图3中译码器的状态选择器的框图;
图5A和5B例示图3中第一存储器单元的存储器阵列;
图6示明图3中译码器的阈值估算器的框图;
图7A与7B例示图6中所示阈值估算器的计数器阵列;
图8A例示图3中译码器的第二存储单元的第一存储器阵列;而
图8B与8C例示在不同时间的图3的译码器中第二存储器单元的第二存储器阵列。
下面的详细说明涉及本发明的用于进行数据译码的译码器及其方法。在本装置与本方法中,只在编码装置的所有可能状态中检索某些状态(例如最可能发生的状态),以减少译码器的存储器容量和提高译码器的译码速度。此外,本发明的方法可以用计算机、计算机程序等实施。
下面参考图3-8B说明本发明的译码器的操作与结构。这一例子中的本发明的译码器对于从编码器的8位移位寄存器,例如图1所示的移位寄存器(具有256个可能状态)输出的编码数据(成对的错乱系数CC0和CC1)进行译码。但是本发明的装置与方法也可用来对由其他类型的编码器或不同容量的移位寄存器所生成的其他编码数据进行译码。
图3示明本发明的译码器300的框图。如图3所示,译码器300包括状态计数器40、先前状态定位器42、状态选择器46、模2单元48、多个编码器50A和50B、多个量化器52A与52B、多个加法器54A与54B、最大值选择器58、第一存储单元60A、第二存储单元60B、比较器62、阈值估算器64以及译码单元68。状态计数器40可以是本项技术中周知的移位寄存器,而先前状态定位器42、模2单元48、编码器50A与50B、量化器52A与52B、加法器54A与54B以及最大值选择器58则是如图1所示的周知器件。
状态计数器40根据第一存储器单元60A产生的时钟信号,从可能状态0计数到可能状态255。状态计数器40可以是本项工艺中周知的移位寄存器或其他计数装置。尽管此状态计数器40在本例中是计数256个可能状态,但取决于编码器的容量等,可以计数不同数目的可能状态。状态计数器40将各个状态计数值输出给模2单元48和先前状态定位器42。对于各个状态计数值,先前状态定位器42确定两个可能的事前状态PS1与PS2。如果当前状态为“N”而可能状态总数为“M”,则由本项技术可知,对应的两个可能先前状态为“N/Z”和“(N+M)/2”。例如设状态计数器40从状态4移位到状态5前把状态5作为当前状态计数输出,先前状态定位器42便决定了与此当前状态(状态5)对应的两个可能先前状态是“状态2”(2≈5/2)和“状态130”(130≈(5+256)/2)。如本例中所示,如果相除结果为小数则对此小数作4舍5入。
先前状态定位器42这时便通过第一和第二输入线路70A、70B,将两个可能事先状态PS1和PS2(例如状态2和状态130)分别输出给状态选择器46。图4示明状态选择器46的详细框图。
如图4所示,状态选择器46包括第一和第二发送器73A和73B以及分别与此相连的第一和第二存储器75A和75B。此第一和第二发送器73A和73B可以由本项技术中周知的逻辑门集实现。此第一和第二存储器75A和75B于其中预存储一预定的量化值(PQV)。此PQV可以是不同于(最好是低于)第一存储单元60A中存储的任何ACP(256个状态)的任何值。本例中,此PQV是负数例如-1,而存储于第一存储单元60A中的所有ACP则是非负数。但根据本发明,其他的数也可以用作PQV。
状态选择器46通过第一和第二输入线路70A和70B,对于由状态计数器40所计数的256个状态中的各个,接收一对可能的先前状态PS1和PS2(例如状态2和状态130)。由第一存储单元60A将起动信号ENA或阻断信号DIS通过连接器71同时施加给状态选择器46的第一和第二发送器73A和73B。
如果第一发送器73A从第一存储单元60A接收到起动信号ENA,此第一发送器73A即通过第一传输线路72A将第一可能先前状态PSI(例如状态2)发送给第一编码器50A。类似地,当第二发送器73B从第一存储单元60A接收到起动信号ENA,此第二发送器73B便将第二可能先前状态PS2(例如状态130)通过第二传输线路72B发送给第二编码器50B。于此同时,此第一和第二发送器73A和73B便分别禁止使用第一和第二存储器75A和75B,使得不会有数据从存储器75A和75B输出。
如果第一发送器73A从第一存储器60A接收到禁止信号DIS,此第一发送器73A便禁止使用传输线路72A同时起动第一存储器75A,用以将第一存储器75A中预存储的PQV通过第一连接线74A输出给最大值选择器58。于此同时,当第二发送器73A从第二存储单元60B接收到禁止信号DIS后,此第二发送器73B便禁止使用第二传输线路72B,且同时起动第二存储器75B将第二存储器75B中预存储的同一PQV通过第二连接线74B输出给最大值选择器58。
于是,与某些当前状态所对应的成对的先前可能状态PSI和PS2,便分别从状态选择器46通过第一和第二传输线路72A和72B传送给第一和第二编码器50A和50B。未选择的成对的先前可能状态PSI和PS2则为状态选择器46抛弃,代替的是将存储器75A和75B中预存储的PQV通过第一和第二连接线74A和74B传送给最大值选择器58。
模2单元48从状态计数器40接收状态计数值,并根据各个状态计数值生成任何的奇数或偶数例如0或1。比方说,如果接收到奇数状态计数值则模2单元48便产生0,而如果接收到偶数状态计数值则态计数值便产生1。用模2单元48输出的0和1代表要为译码器300所恢复的可能信息位(0和1)。在本例中,假定当前状态计数是5(状态5),模2单元48便为编码器50A和50B产生1。
第一编码器50A从模2单元48接收位(例如1)而从状态选择器46接收第一可能先前状态PSI(即状态2),同时根据这些输入产生第一对理论系数TC0与TC1。第二编码器50B从模2单元48接收相同的位(即1)而从状态选择器46接收第二先前状态PS2(例如状态130),同时根据这些输入产生第二对理论系数TC0和TC1。上述过程对于状态选择器46所选择的各对可能先前状态重复。
第一量化器52A从第一编码器50A接收理论系数TC0和TC1,而编码的数据位(例如错乱的系数CC0和CC1)从外部输入译码器300进行译码。类似地,此第二量化器52B则从第二编码器50B接收理论系数TC0和TC1,同时接收到错乱系数CC0和CC1。各第1和第2量化器52A和52B根据相应的编码器50A和50B所产生的成对理论系数TC0和TC1,确定各对错乱系数CC0与CC1的条件概率,然后将各条件概率量化成预定的级数,例如32级、64级等,以产生量化值。例如,若是由状态选择器46在全部256个可能状态中选择约40个状态(这产生出与此40个选择状态相对应的约80个先前状态),各量化器52A、52B对于各对错乱系数CC0与CC1为每40个选择状态产生80个量化值。这些量化值表明了这对错乱的系数CC0和CC1同各对理论系数TC0和TC1相匹配的程度。
当任何时候有量化的值从各个量化器52A和52B输出时,各个第一和第二加法器54A和54B便将当前的量化值与第一存储单元60A中所存储的对应的累积量化值(即ACP)相加。
从例示本发明第一存储单元60A的存储器阵列的图5A和图5B中,可更好地理解存储于第一存储单元60A中的数据。如这两个图所示,第一存储单元60A包括着具有由指标IN1标明的数据区92的第一存储器阵列90,以及具有由指标IN2标明的数据区95的第二存储器阵列93。指标IN1和IN2的指数代表可能的256个(指数0~指数255)状态,使得这种指数与当前状态计数对应。在数据压92中存储着与指数0~指数255相对应的成对的ACP和先前状态PS(ACP0、ACP1、ACP2、…、ACP255;PS0、PS1、PS2、…、PS255),在此存储PQV来代替依赖于此状态选择器46的ACP。第二存储器阵列93在其数据区95中存储着根据所述指数的各当前状态的条件概率(CP0、CP1、CP2、…、CP255)。这些值在当前状态的ACP刚经过更新时输出给加法器54A与54B。此外,存储单元60A还包括根据阵列90中存储的数据将起动信号ENS和禁止信号DIS输出给状态选择器46的其他电路。如果PQV存储于与当前状态计数匹配的指数相对应的数据区中,则输出禁止信号DIS到状态选择器46。不然,存储单元60A将起动信号输出给状态选择器46。
例如,设当前状态计数是5(状态5),它生成状态2与状态130作为对应的先前状态,对应于指数2(由于先前状态=2)的ACP2和对应于指数130(由于另一先前状态=130)的ACP130分别从第一存储器阵列90输送给第一和第二加法器。此第一和第二加法器54A和54B然后输出一对新的ACP给最大值选择器58。此量大选择器58使两个ACP相互比较,选择两个ACP中的较大的以产生优胜ACP,而用此优胜ACP替代当前存储于第一存储器阵列90中指数5(当前状态)之下的ACP/PQV。如果最大值选择器46对于当前状态计数接收了预存储于状态选择器46的存储器75A和75B中的PQV,此最大值选择器58便以PQV更新当前存储于指数5之下的ACP/PQV。
由于本例中设想有256个可能状态,第一存储器阵列90是256×2阵列,第二存储器阵列93是256×1阵列。但是,取决于编码器的容量和此编码器处理的数据组的长度,对于第一存储器单元60A可以采用具有不同尺寸的存储器阵列。一旦由第一存储单元60A产生并处理了与所有256个指数相对应的数据,此第一存储单元60A便产生一控制信号给状态计数器50,而对下一对错乱系数CC0与CC1再次开始从0起始的计数过程。本例中,由于所处理的编码数据组一次具有196个信息位,上述过程进行196次。
存储于第一存储单元60的数据区92中所有256个ACP/PQV数据顺序地输出给阈值估算器64。图6示明了图3的阈值估算器64的详细框图。如图6所示,阈值估算器64包括:数字化装置80,用来将对应于256个状态的256个ACP/PQV数字化为或量化为某些预设的值;计数器阵列84,它应用ACP/PQV来产生累积值;以及阵列存取逻辑(AAL)单元86,用来根据所输入的阈值设定值(TSV)来从计数器阵列84存取指数,同时把此指数作为阈值h输出。此AAL单元86可以用本项技术中周知的逻辑门的集合实现。
阈值估算器64的数字化装置80从第一存储单元60A的数据区92接收256组数据,量化这些数据至预定的级数,然后将这些量化值输出给计数器阵列84。计数器阵列84包括第一计数器阵列110和第二计数器阵列113,如图7A与7B所示。第一计数器阵列110包括有用来存储与指标IN3的指数相对应的数据的数据区112。类似地,第二计数器阵列113包括有用来存储与指标IN4的指数相对应的数据的数据区115。指标IN3和IN4的指数对应于数字化装置80输出的可能量化值的范围。例如,如果能从数字化装置80输出的可能量化值范围是从0到100,则指标IN3和IN4的指数即顺序地从0至100,例如图7A中所示。
第一计数器阵列110从数字化装置80接收这256个量化值,并对这256个量化值中各个量化值所发生的次数进行计数。例如图7A所示,如果存在五个量化值“0”、两个量化值“1”、三个量化值“2”、…、六个量化值“97”、零个量化值“98”、三个量化值“99”和一个量化值“100”时,则第一计数器阵列110便于数据区中存储分别与指数“0、1、2、…、97、98、99、100”对应的值“5、2、3、…、6、0、3、1”。
然后,第二个计数器阵列113存取在数据区112中所存储的数据,从最后的指数即指数100起,并将这种数据累积于数据区115。例如,第二计数器阵列113存储与指标IN3的指数100相对应的值“1”,值“4”(=1+3)对应于指数99,值“4”(=4+0)对应于指数98、值“10”(=4+6)对应于指数97,等。这种过程一直继续到存取对应于第一阵列110的指数0的数据。完成这一过程时,第二计数器阵列113在本例中将使得值“256”存储于数据区115中处于第二计数器阵列113的指数96和指数0之间的某处。
AAL单元86从用户或外部源接收TSV。用户可以通过控制输入到AAL单元86中TSV的值来控制第二存储单元60B的容量。AAL单元86由第二计数器阵列113于第二计数器阵列113的数据区115中检索与此TSV匹配的数据。如果不存在精确匹配,AAL单元86则寻求与此TSV最接近的数据。一旦找到这种匹配数据,AAL单元86便将此指数作为阈值h输出给比较器62。例如,如果TSV=9,则ALL单元86便从阵列113中选择指数97,因为它的对应数据“10”是此TSV的最接近匹配。结果,本例中,h=97输出给比较器62。
除阈值h外,比较器62对于所有256个指数顺序地接收第一存储单元60A的数据区92中所存数据(ACP或PQV、PS)。由于这类数据是顺序地接收的,比较器62便将阈值h与所接收的ACP/PQV比较。如果所接收的ACP/PQV≥阈值h,则与此ACP/PQV相对应的PS便传送给第二存储单元60B。不然,则废弃此所接收的数据而比较与下一指数相对应的数据,进行类似的处理。
图8A与8B例示了本发明的第二存储单元60B的存储器阵列。如图所示,第二存储单元60B包括第一存储器阵列120和第二存储器阵列122。本例中,根据TSV且设此196个信息位是在一个过程中译码的,同时第一存储器阵列120具有的规格例如为64×196,第二存储器阵列122具有的规格例如为256×2;但是,取决于TSV和/或其他因素例如数据组长度,也可采用具有各种不同规格的存储器阵列。第一存储器阵列120的各列表示待恢复的196个信息位之一。
下面例示将数据存在于本发明的第二存储单元60B中的方法。
第一和第二存储阵列120和122在存储任何数据之前由预定的数例如-1初始化。这就是说,由-1标明的任何数据片是空的。对应于通过比较器62比较试验的ACP的优胜PS,顺序地输出并存储于从数据片(R0,C0)起始并沿行方向往下进行到(例如在列C0中的R1、R2、R3、…、R63)的第一存储器120中。各个优胜的PS与一特定的当前状态相关,而阵列120则按一次一列处理,这里的一列表示似恢复的一个信息位。这就是说,一旦处理完一列中的所有优胜PS后,即处理下一相邻列的所有的优胜PS,一直进行到最后一列(例C195)处理完。
例如,假定处理阵列120的列C3而比较器的输出是:当前状态=12,优胜PS=6。由于列C3(3=奇数)是奇数列,即检索第二存储器阵列122的第二列CC1。但如果当前所加工的第一阵列120的这一列是偶数列,则开始检索第二存储器阵列122的第一列CC0。
由于优胜PS=6,则列CC1中的行RR6定位且对其中存储的值存取。于此同时,第二阵列122的指数(即行数)表示优胜PS。在片(RR6,CC1)中,存储值3。这表明了优胜PS为6在第一阵列120中的存储处。由于行RR6中存储的值是3,等于6的优胜PS便存储于第一阵列120的行R3(3=阵列192中存储的值)、列C3中。然后,存储于片(RR3,CC1)中的值3变到-2(如图8C所示,指明已占用,而由于当前状态=12,对列CC0中的行RR12进行存取。这就是说,此时第二阵列122的指数表示了当前状态的计数。在片(RR12,CC0)中,存储同一值3。
当对于所有优胜ACP如上所述处理了阵列120的列C3后,即处理下一列C4。由于列C4是偶数列,首先对阵列92的列CC0进行存取。若比较器62输出当前状态=24和优胜PS=12,则存取片(RR12,CC0)中存储的值。此时,第二阵列122的指数表示优胜PS。由于值3存储于片(RR12,CC0)中,如图8C所示,为12的优胜PS便存储于第一阵列120的行R3(3=阵列122中存储的值)、列C4中。然后,片(RR12,CC0)中的值变为表明已占有的-2,而值3存储于片(RR24,CC1)中用于下一列处理。上述过程一直继续到第一阵列120的最后一列C195已被完全处理。然后,译码单元68从最后一列到第一列(C195到C0)存取第一阵列120中存储的优胜PS,恢复原来的信息位。
用第一阵列120中存储的数据来产生译码信息位的操作如下。
译码单元68检索阵列120的值为零的最后一列C195,这是因为任何数据组的最后状态由于8个尾部位从传统上周知为零的缘故。一旦在行R0中发现了零值,则选此零值用于信息位位置#195。然后,译码单元68移到下一个左列,读取其中存储的值,即移至片(R1,C194)。此译码单元68移到下一个左列并读取它找出的各个值,直到检测到-1。在本例中,值-1表明空缺的片是位于片(R1,C194)。然后从行R0向下列行R64来检索列R195,直至发现另一个零。沿此过程,在片(R2,C195)中发现另一个零。这时的译码单元68移到下一左列并读取值128和64,直至其位于列C192中的-1。此时检索列C193,从行R0向下列R64,直至找出另一个64。另一个64发现于片(R5,C193)中。此译码单元68再下移并读取值32与144,直到找到-1。这一过程一直继续到从列C0读出值。
这样,译码单元68集中了196个整数,根据此整数为奇或偶而生成0或1作为译码数据。例如,如果此整数为奇数,则译码单元的输出1,而如果此整数为偶数,则译码单元68输出0,使得这196个信息位从译码单元作为译码数据输出。本例中,由于整数0、128、64、32、144…均于阵列120中找到,便从译码单元68输出数据0、0、0、0、0…作为译码数据。
根据本译码装置与方法,可以采用较小的存储器和执行简约状态的检索算法,从而能降低这种装置和方法的费用,提高这种装置和方法的操作速度。