专利名称:变长编码数据发送装置的制作方法
技术领域:
本发明涉及一种用于对变长编码所得的数据块的不同位长度进行伪定长处理,成为恒定的长度水平,并在该状态下将数据块发送出去用的变长编码数据块发送装置。
变长编码是一种编码方法,为了减少码的数量,按照各种数据项出现的频率,分别把具有不同位长度的码赋给不同的数据。因此,只有正确地读出位串,才能实现以下目标尽管经过变长编码处理的码的结束位置彼此不同,各个码仍能正确解码和正确识别各码的结束位置,因为解码过程是在与特定的码的长度相当的位置上读出该位的时刻进行的。
如果变长编码数据在传送时出现错码,编码数据就像具有不同的码长度一样,解码就不会正确。结果,甚至在错码恢复了很长时间之后,仍旧失步(失去同步),因而仍以错误的方式进行解码。这在实际上使编码信号的质量大大降低。作为防止这种由于错码而失步可能带来的有害作用的方法之一,有David Redmil在题为“坚固的影象和视频编码的结构”(2nd International Workshopon Mobil Multi media Communication(MoMuC),April 1995)印刷品中讨论的方法,其中对变长编码数据块的组,求出变长编码数据块位长度的平均值,使得在任何一个选定的组中,每个数据块的位长度相等。这样平均之后,每个块的位长度是固定的,使得每个块都有伪固定长度,然后在这种状态下发送每个数据块。在该印刷品中,将变长编码数据块适当地分割成几块,使每个分割后的数据项具有预定的长度,以获取变长码在数据传送中的性质和特性的好处。这样分割的编码数据,在解码过程中,通过判断该码能否解码来检测码的结束,然后恢复成它们原来的变长码。
现参照图9介绍这个方法。现假定有N个变长编码数据块,而且每个变长编码数据块i的位长度为bi(0≤i≤N-1)。还应指出,在下文中任何数值包括i都假定是N的模数。
首先,在发送N个变长编码数据块之前,求出平均值s≥(1/N)sumbi(式中sum是一个操作符,表示i=0至N-1的和)。
然后,设想有N个槽,每个具有位长度s。下文描述的各个操作阶段均针对这些槽。在第一阶段,如S1所示,把构成变长编码数据块i(0≤i≤N-1)的每一位填入构成每一槽i(0≤i≤N-1)的每一位的位置。这时,对于满足bi<s的块i,槽i具有多余的位(就是说,槽i具有多余的空间来接受额外的位)。另一方面,对于满足bi>S的块i,不能将全部位填入槽i。如果某些块位太多,填不下,过程便转入第二阶段。在第二阶段,对于块i填不下的那些位,如S2所示,作一个判断,看它们能否填入下一个槽(就是说,相邻的槽)。如果准备赋给下一个槽i+1的块i+1的位长度满足bi+1<S,槽i+1填完块i+1的位之后还有空位,所以,槽i填不下而溢出的多余位填入这个空位。如果还剩下一个块,其位在槽i+1的空位还填不下,过程便进入第三阶段,如S3所示,将剩下多余的位填入槽i+1的下一个槽i+2。如果这样的填入操作重复最多N次,N块的位可填入这些槽中。结果得到的数据,可作为N个位长度如S4所示的伪定长码(下文称为“定长数据块”)处理。
这样,使每个变长编码数据块具有伪定长度,然后,在该状态下,将具有伪定长度的每个编码数据块发送出去,并在接收侧解码。在这里,一个接一个地到达接收侧的定长数据块便包括了变长编码数据块。为了检测出变长编码数据块的结束,从前面的描述可以看出,变长编码数据块的顶部必然占据收到的定长数据块的顶部。相应地,在接收侧,收到的码的解码总是从定长数据块的起始时刻开始的。
当一个变长编码数据块的解码结束,就开始下一个变长编码数据块的解码。但是,对于跨越几个槽并在此状态下发送的变长编码数据块,即使最后第s个槽的位解码都完成之后,其解码过程还没有完成。因此,鉴于这一事实,对于接收时就跨越几个槽的变长编码数据块,只有要求的槽数(就是说,该数据块跨越的槽数)准备好接收该变长编码数据块的所有的位,解码过程才能进行。就是说,为了解码,每个阶段的过程用如下方式进行。首先,假定有位长度s的N个槽,并假定收到的定长数据块分别填入这些槽中。在第一阶段,解码过程从每个槽的顶位位置开始。这时,假如有一个槽的解码过程尚未完成,在第s位之前的某个位置,过程进到第二阶段。在第二阶段,对解码过程尚未完成的槽i进行检查,看下一个槽i+1的解码过程是否完成,并判断块i+1是否满足bi+1<s。如果判断得出肯定的结果,就将槽i+1的剩余区域的位加到槽i,再对槽i进行解码。如果尽管加了槽i+1的位解码过程仍未完成,则过程进到第三阶段,将下一个槽i+2的位加到槽i。如果这个加位的操作反复进行的次数等于发送数据时的次数,就能得到原来的N个变长编码数据块。
如前所述,变长编码数据块是作为具有s*N位的伪定长数据块形成的,并连同值s一起发送的。对于准备在槽开始的定时发送的每一块,即使前一块出现了传送差错,也不会出现本来是会由于传送差错而出现的失步,而且解码也会按正常的时序完成。就是说,即使中途出现差错,对于处在解码时间的每一个块,都能得到正确的同步。这样,就能在很大的程度上避免出现解码错误。
另一方面,除了刚才指出的获得正确同步的方法以外,作为有效地避免由于数据传送时信号出错而使编码信号质量降低的一个方法,或许会想到纠错码的应用。作为应用纠错码的一种方法,除了对全部数据都应用不变的纠错码的方法以外,纠错码的纠错能力部分改变的位选择纠错方法是有效的。这个方法对于在数据的不同部分具有不同的错码灵敏度(差错灵敏度)的数据特别有效。这个位选择纠错方法称为BS-FEC(位选择前向纠错法)或UEP(不等差错保护法),下文就称位选择前向纠错法。详见,例如,H.Suda和T.Miki所著“地面移动式无线电频道用差错保护的16K位/秒声音传送”印刷品(IEEEJ-SAC,vol.6,No.2,pp.346-352,1988)。
现假定,如前所述,在使用使变长编码数据块具有伪定长度并在此状态下将其发送的方法时,发现有一个其位长度显著地超过其他变长编码数据块的变长编码数据块j。构成这样一个变长编码数据块j的不同的位分布到槽j以外的其他多个槽中。因为这些位填充各槽后面的空位,而不是填充各槽的前导区域,它们会受到数据传送时每个定长数据块错码引起的失步的有害影响。正如从前面所作的讨论可以看出的,上述传统传送方法有着这种致命的缺点如果有某些变长编码数据块的位长度显著地大于其他变长编码数据块,变长编码数据块由于错码造成的有害影响会更大。
另外,假定一种情况,即数据在其具有伪定长度的状态下准备发送时使用纠错码。在这种情况下,最好不对全部数据采用恒定的纠错码,因为有时数据的不同部分具有不同的差错灵敏度。在这样的一种情况下,数据变得不必要地盈余,从而降低传送效率。采用位选择前向纠错法时,对于码长和码的结构由于对数据所施加的变长编码而发生变化的这样的数据,变得有必要作为附加数据同时发送纠错码的应用模式,这种应用模式对应于该数据和该数据的差错灵敏度。另外,如果差错灵敏度随次要数据项而有所不同,就有必要较频繁改变纠错码。正如前面讨论的,传统工艺碰到了这样一个问题,即当使用纠错码时,如果差错灵敏度随数据的不同部分而不同时,就难以进行有效的操作。
本发明的第一个目的是,为了排除上述问题,提供一种变长编码数据发送装置,其中通过对变长编码数据块进行伪定长处理,总能排除错码由于失步而发生的有害影响。本发明的另一个目的是,提供一种通过改进能达到第一目的的变长编码数据发送装置而获得的变长编码数据发送装置,以便以更有效的方式进行纠错。
因此,根据本发明的一个方面,提供一种变长编码数据发送装置,它包括用于对每个由多个准备发送的变长编码数据块组成的块组,计算对应于准备发送的各变长编码数据块的位长度的阈值的阈值算术计算装置;用于判断每个变长编码数据块是否具有超过阈值的位长度的判断装置;以及用于当该判断装置的判断结果是肯定时,将其位长度超过阈值的变长编码数据块分割成多个数据块,并将这些数据块送回原来的块组的分块装置;利用通过所述分块装置所得的数据块和每块组的其余变长编码数据块构成其位长度取平均值的定长数据块,并加以发送,从而使数据按每个定长数据块进行同步。
在传统技术中,因为甚至对那些位长度显著地大于其他块的块也原样地进行固定长度处理,使得这样特长的块分布入多个槽中,并在此状态下进行发送。相应地,当特长数据块解码时,其他块错码就会对它产生严重的有害影响,并难以获得能够防止失步出现的好处。相反,按照本发明的指导,变长编码数据发送装置将这种特长块分割成多个块,最后固定长度。因此,可以排除解码数据的质量由于错码因特长块分布入多个块而引起的有害影响而下降的问题。结果,就能防止失步的出现。
从本发明的另一个方面,提供一种变长编码数据发送装置,它包括用于对每个由多个准备发送的变长编码数据块组成的块组,计算对应于准备发送的各变长编码数据块的位长度的阈值的阈值算术计算装置;用于判断每个变长编码数据块是否具有超过阈值的位长度的判断装置;以及用于将其位长度超过阈值的变长编码数据块从该变长编码数据块所属的块组中分离出来,从而使分离出来的数据块组成一个新的数据块组的组分离装置;利用每个块组的变长编码数据块构成其位长度取平均值的定长数据块并加以发送,从而使数据按每个定长数据块进行同步。
按照如此设计的装置,位长度明显地大于其他变长编码数据块的变长编码数据块从原来所属的块组中移入另一个组,最后再单独定长。因此,可以排除解码数据的质量由于错码因特长块分布入多个块而引起的有害作用而下降的问题。结果,就能防止失步的出现。
在按照本发明的变长编码数据发送装置中,所述阈值算术计算装置最好根据从属于每个块组的变长编码数据块的位长度平均值计算阈值。
根据本发明的又一方面,提供一种变长编码数据发送装置,它包括用于利用每个由多个准备发送的变长编码数据块组成的块组的变长编码数据块,构成其位长度等于平均长度水平的定长数据块的定长处理装置;用于计算说明每个变长编码数据块被该定长处理装置分布到多少个定长数据块中去的分布数的分布数算术计算装置;用于将其分布数超过预定阈值的变长编码数据块分割成多个数据块,并将这些数据块送回原来的块组的分块装置;所述定长处理装置对所述分块装置处理过的每个块组重新形成定长数据块,所述数据块以定长数据块的形式发送,并对每个定长数据块进行同步。
在如此设计的装置中,将位长度明显地大于其他变长编码数据块的变长编码数据块分割成多个块,最后固定长度。因此,可以排除解码数据的质量由于错码因特长块分布入多个块而引起的有害影响而下降的问题。结果,就能防止失步的出现。
根据本发明的又一方面,提供一种变长编码数据发送装置,它包括用于利用由多个准备发送的变长编码数据块组成的块组的变长编码数据块,构成其位长度等于平均长度水平的定长数据块的定长处理装置;用于计算说明每个变长编码数据块被该定长处理装置分布到多少个定长数据块中去的分布数的分布数算术计算装置;用于将其分布数超过阈值的变长编码数据块从该变长编码数据块所属的块组中分离出来,从而使分离出来的数据块组成一个新的数据块组的组分离装置;所述定长处理装置对所述组分离装置处理过的每个块组重新形成定长数据块,所述数据块以定长数据块的形式发送,并对每个定长数据块进行同步。
同样,在如此设计的装置中,把位长度明显地大于其他变长编码数据块的变长编码数据块从原来所属的块组中移入另一个组,最后再单独定长。因此,可以排除解码数据的质量由于错码因特长块分布入多个块而引起的有害影响而下降的问题。结果,就能防止失步的出现。
按照本发明的又一方面,提供一种变长编码数据发送装置,它包括用于将多个准备发送的变长编码数据块按其位长度分类成几个块组的块分组装置;利用每个块组的变长编码数据块构成其位长度取平均值的定长数据块并加以发送,从而使数据按每个定长数据块进行同步。
在传统技术中,形成块组时,不管位长度并原样地进行定长处理。相反,按照上述装置,变长编码数据块按其位长度进行分组并进行定长处理。由于这种安排,可以减小属于各块组的那些块的位长度之间的差。所以,位长度显著地大于其他变长编码数据块的块就难以在块组中存在。因此,可以排除特长块的解码过程数据的质量由于错码因分布入多个块而引起的有害影响而下降的问题。结果,就能防止失步的出现。
按上述发明的变长编码数据发送装置最好还包括以这样的方式实现差错恢复的装置,使得在每个定长数据块中数据对错码的灵敏度呈阶梯型改变,并且在由多个定长数据块组成的每个块组中,纠错能力也呈阶梯型改变,而差错恢复是从构成每个块组的每个定长数据块的最高位开始的。
由于上述结构,基于数据对差错的灵敏度的不同的纠错能力的差错恢复可以从每块的第一位开始。结果,不必附加数据就能实现有效的差错恢复。
图1是方块图,说明以动画编码传送装置的形式实现本发明第一种方式的配置;图2是解释上述方式的操作及效果的图形;图3是方块图,说明经过修改的上述方式的一个例子;图4是方块图,说明以动画编码传送装置的形式实现本发明第二种方式的配置;图5是方块图,说明经过修改的上述第二种方式的一个例子;图6是方块图,说明以动画编码传送装置的形式实现本发明第三种方式的配置;图7是方块图,说明以纠错编码系统的形式实现本发明第四种方式的配置;
图8是说明缓冲区26和纠错编码线路27中的数据读出方向和纠错能力的示意图。
图9是用于解释变长编码伪定长处理的方法的示意图。
为了更好地理解本发明,现在来描述实现本发明的几种方式。但是,应该指出,这样的实施例仅仅说明实现本发明的一种方式,本发明并不限于这些实施例。相反,如有必要,在不离开本发明的范围的情况下,可以作出种种改变。
A.实现本发明的第一种方式图1表示将本发明应用于动画编码传送装置的实现本发明的一种方式。该动画编码传送装置包括用来对从输入端子1输入的动画数据进行压缩和变长编码处理的动画数据压缩/编码装置2,和连接到该动画数据压缩/编码装置2上并设计成能使从动画数据压缩/编码装置一个接一个地输出的变长编码块变成具有伪固定长度,并在此状态下将这些块输出的伪定长处理装置7。动画数据压缩/编码装置2包括块化线路3、正交变换线路4、量化线路5和变长编码线路6。伪定长处理装置7包括缓冲区8、阈值算术计算装置9、判断线路10、分块线路11、定长处理线路12和多路切换线路13。
这里所用的动画数据压缩/编码装置2的一个例子,可以是根据例如,ITU-T建议H.261“p*64K位/秒音频视频服务用视频编码”(1995年三月)制造的一类装置。
下面将要叙述这种动画编码传送装置的操作。
构成动画的一系列动画数据帧逐渐通过输入端子1输入动画数据压缩/编码装置2的分块线路3。分块线路把这些对应的各帧的动画数据分成多个对应于预定象素数的块。然后,正交变换线路4对这些块的每一个进行二维正交变换。接着,对每一块求出对应于每一块的转换系数。量化线路5对对应于各块的转换系数进行量化。然后,这样地量化后的转换系数由变长编码线路逐块进行变长编码,并以变长编码数据块的形式输出。
如上所述由动画数据压缩/编码装置2一个接一个地输出的变长编码数据块,输入伪定长处理装置7。众多变长编码数据块构成块组,将每个块组的数据储存在存储器8内。这里,假定采用,例如,根据ITU-T建议H.261制作的一类装置,作为动画数据压缩/编码装置2,作为准备输入的数据块的单元和由这些数据块构成的块组,可以分别采用宏块和块组。然后,阈值算术输出电路9对储存在缓冲区8中的每个块组求出下列数值。
a.构成有关块组的每个变长编码数据块的位长度。
b.构成有关块组的每个变长编码数据块的平均位长度。
c.对应于平均位长度的阈值。
这个阈值是,例如,平均位长度的三倍。
然后,在判断线路10中,作出每个变长编码数据块是否具有其位长度明显长于其余这些变长编码数据块的判断。这个判断是通过由阈值算术计算线路9求出的阈值和准备判断的块的位长度的比较作出的。被判断为具有比当时的阈值更大的位长度的变长编码数据块,在分块线路11中被分割成位长度较小的数据块,然后,送回缓冲区内这些数据原来从属的块组。
在这里,分块线路11把块分成几个相等的部分,使得每个分出来的块部分的位长度可以比该块的平均位长度短,并输出对什么块进行分割和分成几块的信息(下文称此信息为“分割信息”)。除了此例所示的分割成相等的几个部分以外,分块线路11当然也可以用其他许多方法来分割块。在这里重要的是,在发送方(编码方)和接收方(解码方)之间要有某种通知或默契,使得接收方能以与发送方进行分割的方法充分配合的方法来对编码的数据进行解码。
分块线路11也可以把每个块都分成比块小的变长编码数据单元,如果这样较小的单元存在的话。在这种情况下,所需要的分割信息仅仅是关于对什么块进行了分割的信息。
这样,阈值算术计算线路9、判断线路10和分块线路11反复进行预定的程序,直至有关块组中不再含有其位长度远比其余这些变长编码数据块长的变长编码数据块。
此后,对于每个块组,存在缓冲区8中的变长编码数据块都供给定长线路12。定长线路12对变长编码数据块进行伪定长处理。然后,多路切换线路13将数据块连同分割信息进行多路切换。
按照这个传统的方法,存在缓冲区8中的变长编码数据块直接送往定长线路12,在这里使数据块具有伪固定长度。相应地,正如S11指出的,在有某些位长度显著大于其余这些变长编码数据块的变长编码数据块时,习惯做法是,如S12所示,把这种非常长的变长编码数据块分散到许多个槽中。结果,在这个例子中,如果块0至N-1的任何一个出错,都会对特长数据块的解码过程产生不利影响。与此相反,按照实施本发明的这种方式,在数据块送往定长线路12之前,变长编码数据块要经过阈值算术计算线路9、判断线路10和分块线路11的处理。由于这种安排,其位长度显著大于其余这些变长编码数据块的变长编码数据块,如S13所示,首先被分割成多个位长度较小的数据块,此后,送往定长线路12,在这里,数据块的长度,如S14所示,是固定的。相应地,被分割的特长数据块,至少在其余变长编码数据块出错时,不大可能受到不利影响,也不出现按照传统方法要碰到的问题。
虽然在这里略去了有关的描述,但解码系统完成与编码系统的过程相反的过程。在解码系统中,被分割的块根据多路切换的分割信息连接起来,从而获得原来的影象数据。
图3表示另一个例子,其中图1系统中的分块线路11被分组线路15代替。在这种情况下,在判断线路10中被判断为其位长度比阈值大的变长编码数据块,在分组线路15中被从原来所属的块组中分离出来,集中在一起组成单独的新块组,以便在这种状态下送回缓冲区8。然后,在定长线路12中使老的块组与具有较长位长度的块组各自具有伪固定长度。在这里,后一种块组只收集位长度较长的变长编码数据块。相应地,变长编码数据块的位长度的平均值理所当然地变得比以前的块组大。因此,后来的块组是以比以前的块组位长度大得多的定长数据块的形式发送的。
在实施本发明的这种方式中,多路切换线路11对块的分割信息进行多路切换,并在前述的状态下发送。但若由于动画数据压缩/编码装置2给出的块的性质或特性(例如帧间和帧内编码上的差异),使块的分割或分离是均匀地完成的,分割(或分离)信息的多路切换就不必要了。
采用这种方式时,伪定长处理的目标单元用“块”的形式表示。但应指出,这种单元可以是任何希望的变长编码或其码组。
另外,在这种方式下,描述的是动画数据。但应指出,本发明并不限于动画数据,而同样可以普遍地应用于变长编码数据。
B.实现本发明的第二种方式图4表示按照实现本发明的第二种方式的动画编码传送装置。动画数据压缩/编码装置2用与图1相同的方法构成。这种方式下,伪定长处理装置16如图4所示,包括缓冲区17、定长线路18、分布数算术计算装置19、判断装置20、分块线路21和多路切换线路22。
采用上述配置时,变长编码数据块输入伪定长处理装置16,变长编码数据块在这里形成块组。然后数据块按每个块组存入缓冲区17。然后,缓冲区17中的变长编码数据块按每个块组一个接一个地送到定长线路18,从而形成具有均匀一致的位长度的定长数据块。
根据定长线路18中的处理,分布数算术计算线路19求出下列数值。
a.表示构成每个块组的变长编码数据块分布到多少个定长数据块上的分布数,b.构成每个块组的变长编码数据块的平均位数。
然后,判断线路20判断对于构成每个块组的变长编码数据块的分布数是否太多。判断是通过将分布数算术计算线路19求得的分布数与预设的阈值加以比较而作出的。阈值预设为,例如,长度为固定时总槽数的2/3。分块线路21将被判断为分布数大于该阈值的变长编码数据块分割成多个位长度较小的数据块,并将这些数据块送回存于缓冲区17的原块组。
这里,分块线路21把数据块等分成几块,使得每块的位长度小于各块的平均位长度,然后将关于哪些块被分割以及它们被分割成多少块的信息输出。
只要可能,分块线路21就可以将数据块分割成比块小的变长编码数据单元。在这种情况下,分割信息可能只是关于哪些块被分割的信息。
分块工作完成后,构成该块组的变长编码数据块重新进行定长处理和判断。
如果判断线路判断该块组的全部变长编码数据块的分布数都小于阈值,则多路切换线路22将这些长度固定的数据块连同分割信息一起以发送数据的形式输出至输出端14。
采用传统技术时,定长线路18使储存在缓冲区17中的变长编码数据块变成具有伪固定长度,然后直接以发送数据的形式输出。与此相反,按照实施本发明的这种方式,分布数算术计算线路19、判断线路20和分块线路21作出判断,看是否作出了适当的定长处理,亦即检查定长处理完成之后是否存在其位分布在许多定长数据块中的变长编码数据块。如果检查结果是存在,则对有关的这些数据块再进行分割。这样做,即使有位长度显著地大于其他变长编码数据块的变长编码数据块,而且几乎所有的位都分布在其他定长数据块中,也能避免错码由于对变长编码数据块采用伪定长处理方法而产生的有害影响。
尽管在这里略去了有关描述,但是通过在解码系统中进行寻找,与编码系统中的过程正相反的过程,再根据经过多路切换的块分割信息将曾经分割开的那些数据块结合起来,就可以得到原来的影象数据。
图5表示一个例子,其中图4配置中的分块线路21为组分离线路23所代替。在这个例子中,那些在判断线路20中被判断为具有大于阈值的分布数的块,在组分离线路23中分离出来组成一个新的组,并被送回缓冲区17。此后,在定长处理线路18中重新使老的组和超过阈值的组具有伪固定长度。
虽然人为定长处理的单元用块表示,但这个单元可以改为任何希望采用的变长码或变长码组。
在这种实现本发明的方式下,描述的是动画数据,但应指出,本发明并不限于动画数据,而同样可以普遍地应用于变长编码数据。
c.实现本发明的第三种方式图6是方框图,表示按照实现本发明的第三种方式的动画编码发送装置。在本图中,动画数据压缩/编码装置2具有与图1相同的配置。这种方式下,伪定长处理装置30与图1的不同,它包括缓冲区31、位长度/顺序算术计算线路32、阈值算术计算线路33、组分类线路34、定长处理线路35和多路切换线路36。
采用上述配置时,如前所述,变长编码数据块从动画数据压缩/编码装置2输出,以可以构成多个块组的块为单元,输入伪定长处理装置30,并存入缓冲区31中。然后,位长度/顺序算术计算线路32检测存在缓冲区31中每个变长编码数据块的位长度,并按位长度顺序地安排这些数据块。然后,阈值算术计算线路33根据这个信息而确定用于把这些块分为预定的几个组的阈值。
这个阈值,例如,按如下方法建立。首先,按位长度较长的顺序形成组。为了对组进行分类,对处于较低顺序的块预先求出位长度差。然后,分类在位长度差最大的两块之间进行,接着分类在位长度差次最大的两块之间进行,如此等等。然后将位于组分类的边界上的块的顺序号用作阈值。这时,可以建立一个规则,规定在选择阈值时,不应选择具有相邻的顺序的相邻的块,以免建立只包括一个块的组和包括大部分块的组。
然后,组分类线路34根据这样选出的阈值把这些块分入几个组。组分类线路34在进行组分类时,向多路切换线路36输出说明哪个块分类入哪一组的组分类信息。当组分类完成时,变长编码数据块从组分类线路34送回缓冲区31,并逐组送往定长处理线路35。定长处理线路35对数据块进行定长处理。然后,多路切换线路36对具有伪定长度的数据,连同组分类信息数据一起进行多路切换,送往输出端子37。
采用传统技术时,块是不论储存在缓冲区31的变长编码数据块的位长度而进行分组的,然后直接发送给定长处理线路35,接着使之具有伪定长度。与此相反,按照实施本发明的这个方式,变长编码数据块按照位长度,通过长度/顺序算术计算线路32、阈值算术计算线路33和组分类线路34分成几组,然后才发送给定长处理线路35。这样做,既然属于不同块组的块的位长度差可以减小,位长度显著地大于其他变长编码数据块的那些块就变得难以存在于每一个块组中。结果,位长度显著地长于其他块的变长编码数据块出现错码而造成特长数据块解码过程出现有害影响的问题就不大可能出现。
尽管在这里略去了有关描述,但是通过在解码系统中执行与编码系统中的过程正相反的过程,再根据经过多路切换的组分类信息将曾经分成几个组的数据块从新安排成原来的顺序,就可以得到原来的影象数据。
在实施本发明的这个方式中,组分类首先是在已经安排好具有较大位长度的块之中,在位长度差最大的的那两个块之间完成的。但是,组分类并不限于此,任何其他适用的组分类算法都可以采用,例如,预先建立块组的数目,然后进行组分类,使得每个块组中的块数相等。
在实施本发明的这个方式中,伪定长处理的目标单元用“块”表示,但应指出,这个单元可以是任何希望采用的变长编码数据或变长编码数据组。
在这种方式下,描述的是动画数据,但应指出,本发明并不限于动画数据,而同样可以普遍应用于变长编码数据。
另外,在实施本发明的这个方式中,可以从实施本发明的第一或第二种方式中,选择其一,与之结合。按照这样的配置,即便是一个块组中出现位长度显著地长于其他变长编码数据块的数据块,特长数据块解码时,其他块出现错码造成有害影响的问题也能避免。
d.实现本发明的第四种方式图7表示纠错编码系统,用来纠正从图1至图6所示类型的位长度伪定长处理的编码系统输出的传送数据的错码。
具有伪定长度的传送数据从输入端子24输入至纠错编码装置25。这样输入的数据,长度固定的块,逐组存入缓冲区26。然后,在纠错能力/缓冲区数据读出控制线路28的控制下,按预定的式样,对缓冲区26执行数据读出程序。所有以组的形式存在缓冲区的块,逐渐读出,先读最高位,然后,在纠错编码线路27中进行纠错编码处理。纠错是这样执行的,使得靠近块尾的区域的那些位纠错能力较低。例如,J.Hagenauer在其所写的“速率兼容的穿孔卷积码(RCPC码)及其应用”(IEEE Trans.On Communications,COM-26,pp.389-400,April 1988)中就描述了这样一种纠错方法。
图8描述数据的读出方法和当时的纠错能力的程度。一般,数据是按图8水平箭头的方向读出,首先读块1。但是,在纠错编码过程中,数据沿图8垂直箭头所指的方向。图8剖面线的密度表示纠错能力的高低。这就是说,每一块的每一位,从前导头开始,每个C1位,C2位,……CM,都是以不同的编码因子进行纠错处理的。这时,因为位是按图8垂直箭头所指的方向读出的,所以,同时以其自己的编码因子接受纠错编码过程的位数为N*Ci位。
在图7所示的纠错编码线路27处理的那些数据,以最终发送数据的形式输出至输出端29。
采用传统方法时,当完成某种纠错处理时,块往往是不应有地盈余,难以得到有效的差错恢复。采用位前向纠错编码(B-FEC)时,需要发送诸如编码式样等附加信息。另外,对于每一块纠错能力要频繁地变化。
按照本发明,数据以这样的方式进行安排,使得每块的灵敏度呈阶梯形增加。另外,因为经过伪定长处理位长度是固定的,这是很清楚的。为了得到这一特点的好处,所有的块都从最高位读出,并对于预定的每一段,使得它们分别编码成具有不同的纠错能力。这样,按照本发明,不必发送诸如编码式样等附加信息和频繁地改变纠错能力,就可以有效地进行差错恢复。
权利要求
1.一种变长编码数据发送装置,其特点在于它包括用于对每个由多个准备发送的变长编码数据块组成的块组、计算对应于准备发送的各变长编码数据块的位长度的阈值的阈值算术计算装置,用于判断每个变长编码数据块是否具有超过阈值的位长度的判断装置,以及用于当该判断装置的判断结果是肯定的时,将其位长度超过阈值的变长编码数据块分割成多个数据块,并将数据块送回原来的块组的分块装置,利用通过所述分块装置所得的数据块和每块组的其余变长编码数据块构成其位长度取平均值的定长数据块并加以发送,从而使数据按每个定长数据块进行同步。
2.一种变长编码数据发送装置,其特点在于它包括用于对每个由多个准备发送的变长编码数据块组成的块组、计算对应于准备发送的各变长编码数据块的位长度的阈值的阈值算术计算装置,用于判断每个变长编码数据块是否具有超过阈值的位长度的判断装置,以及用于将其位长度超过阈值的变长编码数据块从该变长编码数据块所属的块组中分离出来,从而使分离出来的数据块组成一个新的数据块组的组分离装置,利用每个块组的变长编码数据块构成其位长度取平均值的定长数据块并加以发送,从而使数据按每个定长数据块进行同步。
3.根据权利要求1的变长数据发送装置,其特点在于其中所述阈值算术计算装置根据从属于每个块组的变长编码数据块的位长度平均值计算阈值。
4.根据权利要求2的变长数据发送装置,其特点在于其中所述阈值算术计算装置根据从属于每个块组的变长编码数据块的位长度平均值计算阈值。
5.一种变长数据发送装置,其特点在于它包括用于利用每个由多个准备发送的变长编码数据块组成的块组的变长编码数据块,构成其位长度等于平均长度水平的定长数据块的定长处理装置,用于计算说明每个变长编码数据块被该定长处理装置分布到多少个定长数据块中去的分布数的分布数算术计算装置,用于将其分布数超过预定阈值的变长编码数据块分割成多个数据块,并将这些数据块送回原来的块组的分块装置,所述定长处理装置对所述分块装置处理过的每个块组重新形成定长数据块,所述数据块以定长数据块的形式发送,并对每个定长数据块进行同步。
6.一种变长数据发送装置,其特点在于它包括用于利用每个由多个准备发送的变长编码数据块组成的块组的变长编码数据块,构成其位长度等于平均长度水平的定长数据块的定长处理装置,用于计算说明每个变长编码数据块被该定长处理装置分布到多少个定长数据块中去的分布数的分布数算术计算装置,用于将其分布数超过阈值的变长编码数据块从该变长编码数据块所属的块组中分离出来,从而使分离出来的数据块组成一个新的数据块组的组分离装置,所述定长处理装置对所述组分离装置处理过的每个块组重新形成定长数据块,所述数据块以定长数据块的形式发送,并对每个定长数据块进行同步。
7.一种变长编码数据发送装置,其特点在于它包括用于将多个准备发送的变长编码数据块按其位长度分为几个块组的块分组装置,利用每个块组的变长编码数据块构成其位长度取平均值的定长数据块,并加以发送,从而使数据按每个定长数据块进行同步。
8.根据权利要求1至7中的一项的变长数据发送装置,其特点在于它还含有用于这样进行差错恢复的装置,使得在每个定长数据块中数据出现错码的灵敏度呈阶梯型改变,并且在由多个定长数据块组成的每个块组中纠错能力呈阶梯型改变,而差错恢复是从构成每个块组的每个定长数据块的最高位开始。
全文摘要
若使变长码具有伪固定长度并发送,可避免由错码造成失步而出现有害影响,但若定长处理对象包括位长度特长的变长编码块,就难以有此优点。本发明的目的是排除此缺陷。为发送变长编码块,阀值算术计算线路(9)根据每个块组的变长编码块位长度平均值求出阀值,判断线路(10)判断变长编码块位长度是否超过此阀值。分块线路11将位长度超过此阀值者分成位长度较小的块。这样获得的每块的位长度固定地都等于平均长度并以此发送。
文档编号H04N7/52GK1143861SQ96108888
公开日1997年2月26日 申请日期1996年7月26日 优先权日1995年8月3日
发明者安达悟, 三木俊雄, 大矢智之, 河原敏朗 申请人:Ntt移动通信网株式会社