专利名称:差分编码与解码方法以及相应的电路的制作方法
技术领域:
本发明涉及一种用于差分编码与解码的方法和电路。
通常用来减少所传输的信息量的一种方法是求传输信号与它的预测信号之间的差分。
这里面产生的问题,在于输入信号被限定在某一数值幅度内时,那么通过求输入信号和预测信号之间的差分而得到的信号会有一个两倍的幅度。
人们已经知道一些能够将差分信号维持在原信号的幅度之内的简单算法。
本发明的一个目的就是提供一种能够有效地减少传输冗余信息的差分编码与解码的方法。
为此,根据本发明的编码方法构成如权利要求1所述,解码方法构成如权利要求8所述,相应的电路构成如权利要求9和10所述,而本方法对视频信号的一个应用特例则如权利要求3所述。
根据下面的叙述,本发明将变得更容易理解些。
差分编码是以求出输入信号和它的预测信号之间的差分代替直接对输入信号编码的一种特殊型式的编码。
为要预测输入信号,可以使用任何型式的预测器,在最简单的情形,用前面已经编过码的数值作为预测信号。
假定输入信号数值包括在集合(一幅值,……,幅值-1)中,幅值是一个正整数,其结果是,这一信号和它的预测信号之间的差分有一个双倍数的幅值。
因此,产生的问题就是如何能将差分信号导入原幅度内。
这里所述的算法可由文献得知,是维持差分信号在原幅度信号内的最简单的方法。
令Val为被预测的样本数值pred为预测数值算式如下<pre listing-type="program-listing"><![CDATA[Δ=val-pred;if(Δ<-range)Δ=Δ+2 range;elseif(Δ>range-1)Δ=Δ-2range;]]></pre>在其一个实施例中,本发明除维持差分信号的数值在原幅值之内外,还对它执行进一步的压缩。
基本的想法是,给定预测的信号,就这样规定差分数值,使它具有尽可能靠近预测值的较小数值,这样一来,就对更多可能出现的数值赋以较小的数字。
算式如下<pre listing-type="program-listing"><![CDATA[Δ=val-pred;rangeΔ=range;if(pred>0)rangeΔ=range-pred-1;else if(pred<0)rangeΔ=range+pred;if(Δ>rangeΔ)if((Δ-rangeΔ+1)mod 2==0)sn=-1;else if((ΔrangeΔ+1)mod 2==1)sn=+1;Δ=( rangeΔ+(Δ-rangeΔ+1)/2)sn;]]></pre>
如果输入信号长时间为零,对前面的零信号的差分运算势必删去一些存在的零。
保持这一零序列是适当的,这是由于在后面可能发生的信息压缩中,这些零能以一种很有效的方式编码。
在本发明的另一个实施例中,通过执行一种当信号值为零时的信号绝对编码法,即使工作在差分方式下,零的数目也维持不变。
算式如下<pre listing-type="program-listing"><![CDATA[if(val==0)Δ=0;else if(pred==0)Δ=val;else if(pred>0) Δ=val-pred; if((Δ≥0)∨(Δ<-pred))Δ=Δ+1;else if(pred<0) Δ= val-pred;if((Δ≤0)∨(Δ>-pred))Δ=Δ-1;]]></pre>在这里没有引入对差分信号幅度的任何控制,不过,前面叙述的算法能够扩广到这里来。
现在将叙述上面提到的方法对视频信号的一个应用。
系统的基本部件是使较高能量变换系数的变化幅度得以减小的预测器,被传输的差分信号具有对后面的编码很方便的统计特性。
此方法应用于对视频图像成分即亮度和色度的编码,其中需要用到DCT(离散余弦变换)。
一幅数字图像由若干行组成,每一行又由一般称为“像素”的若干个小点组成。
这里所讲的视频编码技术,先将图像分解成8×8像素的方阵,然后对每一个方阵应用二维DCT,这样的操作就使得在每个方阵中占着空间的冗余像素减少了。
在这里,每个方阵内的DCT系数互不相关;但相邻的方阵之间的冗余关系仍可看得出来。
在本发明的方法中,沿着图像的色条来研究各方阵,特别是,每一色条的第一个方阵未经任何处理就传输了,从第二个方阵开始应用本发明的方法,以达到减小高加权系数的数值。
本算法只考虑每个8×8变换方阵的第一列系数;这些系数一般都是那些加权比较高的,这是由于它们在隔行扫描中代表最重要的帧频率的关系。
因此,当一个人处理当前方阵的时候,他知道整个前一个方阵以及当前方阵除了有待估算的第一列系数之外的全部系数。
本方法的要点是对当前方阵与前一方阵之间的边界链接波形(在区间定义域中)为要做到这一点,前一方阵作列的逆变换并定出最后一列;当前方阵也作列的逆变换以定出第一列,不过在这一情形下,第一列的DCT系数不知道,因而作为未知数出现在逆变式中。
在这里,通过链接共同边界上的两个列(在区间定义域中)使得两个方阵连续。
由这样得出的方程组求得第一列的各未知项。
整个这一过程全都包括在下面的计算中PRx0=Cx0pre-Cx1pre-Cx1att+Cx2pre-Cx2att]]>-Cx3pre-Cx3att+Cx4pre-Cx4att]]>-Cx5pre-Cx5att+Cx6pre-Cx6att]]>-Cx7pre-Cx7att]]>X=0,...,7其中PRx0为当前方阵指标为X,0的DCT系数的预测值。
Cprexy为前一方阵指标为x,y的DCT系数。
Cattxy为当前方阵指标为x,y的DCT系数。
从真值中减去这样得到的预测值,并将差分传送出去。
注意,通过上面的公式估算的值也可以假定为允许幅度以外的数值在这一情形下,仅出现最近端的饱和。
下一步的要点是为每一对同调系数引进适当的加权系数。这样,特别是在图像从一个方阵到另一个方阵改变太多时,就认为对边界上列的链接不正确,这样的校正过程特别对高阶系数是必不可少的。
在这一情形下,公式变为PRx0=K0Cx0pre-K1(Cx1pre+Cx1att)+K2(Cx2pre-Cx2att)]]>-K3(Cx3pre+Cx3att)+K4(Cx4pre-Cx4att)]]>-K5(Cx5pre+Cx5att)+K6(Cx6pre-Cx6att)]]>-K7(Cx7pre+Cx7att)]]>X=0,...,7其中Kx为加权系数。
根据所做的模拟试验,发现此系统的性能对加权系数的变化并不很敏感,因此把它们选得全都相等,并用基波的两个功率之和给出的数,以简化相应的硬件。
在这一情况下,所估计的值一般都要占用一个大于允许值的比特数,由一种简单的平均饱和量化法把信号再重新导入正确的幅度。
通过下面两种不同的算法从真值减去预测值,一种是在/DCT系数具有00指标时,一种适用于其他系数。
当DCT系数的指标为00时,使用所述的第一种算法,能使预测误差幅度减小,事实上,这类系数具有准平均的概率分布;对预测值的差分运算则将这样的分布变换为更适于连续编码的拉普拉斯分布。
对其他所要预测的系数,由于它们长时间为零,则使用保持各个零的差分算法。
在高阶系数的情形,这样求出的预测值达不到有效压缩信号,在这样的情况下,系数未经任何处理就传送了。
至于说到差分信号解码,只要对编码算法中所述的那些执行反演运算就足够了。
实现根据本发明所述的方法的电路至少包括一个预测器,一个加法器(或减法器),以及例如像数字信号处理器这样能够执行计算的机构。
在最简单的情形,预测器可以是就像一根延迟线,并输出前面已传送的数值。
显然,如上所述的方法和电路的若干变例不管怎样,完全属于本发明的范围之内都是可以接受的。
权利要求
1.一种差分信号编码方法,其求出一个输入信号与它的预测值之间的差分并使差分信号的数值维持在原来幅度之内,其特征在于对差分数值这样编码,即对更多可能出现的数值赋以较小的数字。
2.根据权利要求1或2的方法,其特征在于信号为零时执行信号的绝对编码法。
3.根据权利要求1或2的方法,其特征在于差分信号来自一个视频信号。
4.根据权利要求3的方法,其特征在于为计算各预测值,考虑各用于计算预测值的y行x列视频信号方阵,并计算所述方阵的离散余弦变换。
5.根据权利要求4的方法,其特征在于仅考虑所述方阵的第一列系数。
6.根据权利要求5的方法,其特征在于区间定义域的共同边界上的两列是链接的。
7.根据权利要求6的方法,其特征在于区间定义域的共同边界上的两列的链接是通过引入适当的加权系数完成的。
8.一种对差分信号解码的方法,其方法是求出一个输入信号与它的预测值之和并使差分信号值维持在原来幅度之内,其特征在于它根据前面各权利要求的反演方法对信号解码。
9.一种编码电路,包括一个预测器、一个减法电路、一个数字信号处理器、一个输入信号、一个预测信号,数字信号处理器加在输入信号和预测信号之间的差分信号上,其特征在于所述处理器根据要求1至7的编码方法处理信号。
10.一种解码电路,包括一个预测器、一个加法电路、一个数字信号处理器、一个输入信号、一个预测信号,所述数字信号处理器的馈入信号是一个输入信号与预测信号之和,其特征在于所述处理器根据权利要求8的解码方法处理信号。
全文摘要
公开了一种用于差分编码和解码的方法和相关电路,差分编码是一种特殊的编码,不是直接对输入信号编码,而是求出输入信号和预测信号之间的差分。这样减少了要传输的信息。本发明的方法进一步减少了信号冗余及要传输的信息。
文档编号H04N7/34GK1121759SQ94191941
公开日1996年5月1日 申请日期1994年4月29日 优先权日1993年4月29日
发明者西尔维奥·卡奇, 莫里早·拉泽 申请人:阿尔卡塔尔有限公司