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