具体实施方式
本发明所描述的帧内预测方法以基于块的方式操作,并可应用于包括例如从左到右、从上到下地逐行扫描的N×M块的图像帧。显然,与本发明结合也可以采用其它的扫描方向。在相同帧中采用先前已重建的块来为各帧内编码块进行空间预测。可以采用任何适当的方法、例如采用DCT对残差进行压缩,如现有标准中一样。还应理解,根据本发明的方法可以同样好地应用于单色和彩色图像。
根据本发明的系统由两个主要部分组成,如图2所示。首先,通过对相邻的重建块进行分类来执行预测方法的适当子集的上下文相关的选择17。其次,采用所选子集中的一种预测方法来构造18预测块,并将预测方法发信号给解码器。
预测方法子集的上下文相关的选择包括可能的相邻块的方向性分类、方向性类别到上下文类别的映射以及适当预测方法子集的上下文相关的选择。
在下文中,参考图1所示的数字图像传输设置来描述传输系统中的数字图像帧的发送和接收。在提供输入数据2、例如数字摄像机的输出时,当前帧到达传输系统1。当前帧可以整体地提供(即,包括N×M个图像块的完整帧),在这种情况下帧被存储,或者,传输系统1可以逐块地接收输入数据。此帧的各块被逐个送到加法器4中,在这里,例如通过从预测块中减去此帧的一个块来计算块的预测误差。预测误差在编码器5中被编码,并在解码器6中被解码。在加法器7中已解码的预测误差与预测块相加,其结果存储在帧存储器8中。根据本发明的方法执行空间预测的预测估算器3从帧存储器8中接收用于预测的块。
为了形成新的预测块,预测估算器3检查在当前块的可能相邻块中是否存在着一定的方向性。此方案在图3a中说明。标号C表示当前块,标号L表示当前块的第一相邻块,标号U表示当前块的第二相邻块。在本发明的这个有利实施例中,第一相邻块位于当前块C的左边,第二相邻块位于当前块C的上方。如果扫描顺序与从左到右、从上到下的顺序不同,那么第一相邻块L和第二相邻块U不必分别在当前块C的左边和上方。相邻块L、U是已经重建的与当前块U相邻的块。在本发明的一些实施例中,可以将两个以上的块进行分类并用于为当前块C选择预测方法。但是,在本发明的优选实施例的下列描述中,可以在检查中为各个块C对最多为两个的相邻块L、U进行分类。此外,只有存在相邻块L或U,才进行分类。如果当前块不具有任何相邻块,那么在预测方法的上下文相关的选择过程中将其视为“非内部”,这将在下文中详细说明。
预测也可以用这样的方式来实现,即只使用已经重建的内编码块来进行预测。在这种情况下,内编码块以外的所有块被视为“非内部”。
第一相邻块L和第二相邻块U根据块内的图像细节的方向性来分类。如图2所示,方向性分类器19采用像素值梯度来分析相邻块的方向性。结果,各相邻块被映射20到输出类别中。在本发明的有利实施例中存在11个这种输出类别,但是显然输出类别的数目可以变化。有利的是,输出类别包括8个对应于边缘取向k·22.5°,k=0,1,...,7的方向性类别D0-D7和3个对应于平的、光滑纹理和粗糙纹理块的无方向性类别D8-D10。在本发明的另一实施例中,方向性类别的数目及其定义方式可以改变。
在图1的系统中,预测估算器3首先检查是否存在第一相邻块L和/或第二相邻块U。如果这些块中任一个都不存在,那么相邻块被定义为C0块(“非内部”),即当前块C位于帧的边缘或角上,或者位于由内部块组成的区域的边缘或角上。然后,预测估算器3为当前块C选择一个适当的预测方法,这将在下文中详细说明。另外,预测估算器3计算与一个或多个块L、U相关的梯度信息。
存在多种适用于计算梯度信息的方法。下面描述一种有利的方法。首先,块L、U的平均绝对方向的梯度gk,k=0,1,...,7被定义为:
其中N为块的大小,I(x,y)代表像素强度值。附标x,y指块内像素的坐标,k表示边缘取向。预测估算器3根据上述公式来计算梯度值gk。
采用梯度值gk,可以将坡降rk,k=0,1,...,7定义为在一定方向上的梯度值与正交方向上的梯度值之比:
(2)
根据在(1)和(2)中定义的绝对梯度值gk和坡降rk,有利地根据下述分类步骤1-12,采用作为阈值的一些数值来进行块的分类。此分类处理将各相邻块分类到第一组块类型D0-D10之一。本发明不限于在所述算法中使用的值,但是下述步骤的算法中采用的值是首选的。此方法也可应用于任何块大小。
在本发明的这个有利实施例中,分类阶段包括13个步骤,但显然分类阶段也可包括不同数目的步骤。
步骤1
在此步骤中检查块的平坦度。预测估算器3计算梯度值g0和g4。这些值对应于水平(0°)和垂直(90°)图像细节的梯度值。如果g0≤2.0且g4≤2.0,则块被分类为类别D8,初始分类处理终止。否则,执行分类步骤2。
步骤2
在此步骤中对块的平坦度进行进一步检查。计算其余的梯度值gk,并确定最大梯度值gmax=max{gk}。将最大梯度值gmax与2.5相比。如果gmax≤2.5,则块被分类为类别D8,初始分类处理终止。否则,此方法从步骤3继续进行。
步骤3
在步骤3中进行明确的方向性检查。计算坡降rk,并确定最小坡降rmin=min{rk}。当找到最小坡降时,定义相应的下标kmin。如果rmin≤0.15,则块被分类为相应的类别Dkmin,此方法从步骤12继续进行,否则,此方法从步骤4继续进行。
步骤4
在步骤4中进行纹理的检查。将最小坡降rmin与0.6相比。如果rmin≥0.6,则此方法从步骤13继续进行,否则,此方法从下一步骤继续进行。
步骤5
在步骤5中检查两个最小的坡降,确定它们是否明显地不同。按升序r(0)≤r(1)≤r(2)≤...≤r(7)对坡降rk进行排序。而且坡降下标按照排序后的顺序k(0),k(1),k(2),...,k(7)来重新排序。如果r(1)-r(0)<(r(2)-r(1))/3,则接着执行第6分类步骤,否则此方法从第10分类步骤继续进行。
步骤6
在步骤6中检查最小坡降,确定它是否对应于方向性类别D2或D6,以及最小坡降是否足够小。预测估算器3首先检查坡降r(0)的下标是2还是6,其中将第一坡降r(0)与0.6相比较。如果r(0)∈{rk|k=2,6}且r(0)<0.6,那么块被分类为与类别Dk(0)相对应。此方法从步骤12继续进行。否则,此方法从步骤7继续进行。
步骤7
在步骤7中,预测估算器3首先检查第二坡降r(1)的下标是2还是6,其中将第一坡降r(0)与0.6相比较。如果r(1)∈{rk|k=2,6}且r(0)<0.6,那么块被分类为与类别Dk(1)相对应。此方法从步骤12继续进行。否则,此方法从步骤8继续进行。
步骤8
在步骤8中检查最小坡降,确定它是否对应于方向性类别D1、D3、D5或D7,以及最小坡降是否足够小。将第一坡降r(0)与0.5相比较。如果r(0)∈{rk|k=1,3,5,7}且r(0)<0.5,那么块被分类为与类别Dk(0)相对应。此方法从步骤12继续进行。否则,此方法从步骤9继续进行。
步骤9
在步骤9中检查第二坡降,确定它是否对应于方向性类别D1、D3、D5或D7,以及最小坡降是否足够小。若r(1)∈{rk|k=1,3,5,7},则将第一坡降r(0)与0.5相比。如果r(0)<0.5,那么块被分类为与类别Dk(1)相对应。此方法从步骤12继续进行。否则,此方法从步骤10继续进行。
步骤10
至此尚未发现方向性,因而可以采用与步骤3中所用的阈值相比(稍微)高一些的阈值来检查方向性。这意味着进行更不确定的检查。步骤10采用下述表1中定义的阈值T1。将T1值与第一坡降相比较。如果r(0)小于表1中定义的T1,则块被分类为对应于类别Dk(0),此方法从步骤12继续进行。否则方法从步骤11继续进行。
表1
| r<sub>(0)</sub>的取向关系 | T<sub>1</sub> |
| r<sub>(0)</sub>∈{r<sub>k</sub>|k=2,6} | 0.5 |
| r<sub>(0)</sub>∈{r<sub>k</sub>|k=1,3,5,7} | 0.4 |
| r<sub>(0)</sub>∈{r<sub>k</sub>|k=0,4} | 0.3 |
步骤11
至此尚未发现方向性,因此在步骤11中检查最小的三个坡降,确定它们是否相邻以及最小坡降是否在中间。在这种情况下,可以采用与步骤3中所用的阈值相比更高一些的阈值来检查方向性。这意味着进行更不确定的检查。步骤11采用以下表2中定义的阈值T2。这样,如果与第二坡降r(1)和第三坡降r(2)相对应的方向性和与第一坡降r(0)相对应的方向性最邻近,而且r(0)小于表2中定义的T2,则块被分类为对应于类别Dk(0),此方法从步骤12继续进行。否则方法从步骤13继续进行。
表2
| r<sub>(0)</sub>的取向关系 | T<sub>2</sub> |
| r<sub>(0)</sub>∈{r<sub>k</sub>|k=2,6} | 0.6 |
| r<sub>(0)</sub>∈{r<sub>k</sub>|k=1,3,5,7} | 0.5 |
| r<sub>(0)</sub>∈{r<sub>k</sub>|k=0,4} | 0.4 |
步骤12
步骤12进行检查:分类确实是根据带有一定取向而不是纹理的图像的边缘的。步骤12采用下述表3中定义的阈值T3。表3中只示出两种可能的块大小(8×8,4×4)的值,但实际的实施例中,还可以有其它的块大小,其中定义了T3的各个值。在步骤12中检查最小梯度值gmin=min{gk}。根据块的分类和大小,从表3中选择阈值T3。如果gmin≤T3,则初始分类处理结束。否则,方法从步骤13继续进行。
表3
| 块的分类 | 用于4×4块的T<sub>3</sub> | 用于8×8块的T<sub>3</sub> |
| D2和D6 | 9.0 | 7.0 |
| D1、D3、D5和D7 | 11.5 | 9.0 |
| D0、D4 | 14.0 | 11.0 |
步骤13
步骤13进行检查,确定纹理是光滑的还是粗糙的。将最大梯度值gmax与10.0相比较。如果gmax≤10.0,则块被分类为D9。否则,块被分类为D10。如果光滑纹理和粗糙纹理映射到相同的上下文类别中,那么步骤13不是必需的。
接着为当前块C进行适当预测方法的选择21。在本发明的优选实施例中,选择阶段在映射阶段之前进行。映射的目的是减小实现的内存消耗。一些方向性类别可以映射在一起。由映射阶段所产生的类别被称为上下文类别,它们以标号C1-C6来表示。在本发明的这个优选实施例中,对角的类别组合成两个另外的类别,一个对应于从左下方到右上方的对角性,另一个对应于从左上方到右下方的对角性。
缓和与陡峭的对角类别D5、D6和D7映射到第一对角上下文类别C4。类似地,类别D1、D2和D3映射到第二对角上下文类别C2。另外,光滑纹理类别D9和粗糙纹理类别D10一起映射而产生纹理上下文类别C6。此映射表示于图4中。
除了这六个上下文类别C1-6之外,还有一个用于“非内部”块的上下文类别C0。通常,“非内部”块是不存在的块,即当块C处于图像边界处。如果以这样的方式执行预测,使得只有内编码块用作参考,那么“非内部”块的定义延伸到那些不是内编码的块。
在本发明的优选实施例中,总共有13种用于8×8块的不同预测方法,在图5a-5p中示出。可以类似的方式得到用于其它块大小和上下文类别的预测方法。在各示例中,预测以因果方式来进行,采用相邻的已重建的内编码块L、U、UL、UR作为参考。用于预测的区域取决于如图3a和3b所示的预测方法,其中块C为待编码的当前块。在预测方法P1-P12的情况中,块中可用于预测的区域是被四个相邻块L、UL、U、R所覆盖的区域,如图3b所示。对于预测方法P13来说,此区域较大,如图3c所示。应理解,在本发明的其它实施例中,预测方法的数量、用作预测参考的块以及用于进行预测的这些块内的像素均可变化。
在根据本发明的方法的有利实施例中,定义了用于各上下文类别组合的预测方法的子集,在各子集中对预测方法按优先顺序排列(分等级)。然后,从预测方法的子集中选择用于预测当前块C的内容的预测方法。一个子集内的预测方法互不相同,并且对应于在获得相邻块如L和U的特定分类时最可能为块C提供准确预测的那些预测方法。
有效的是,将第一相邻块L和第二相邻块U的上下文分类的结果相结合,即在为块C选择预测方法时这两者均被考虑。预测方法的子集是根据相邻块L、U的上下文信息从表4中选择的。表4中的各行为相邻块L、U的一对上下文类别定义了预测方法子集以及子集中预测方法的优先级(等级)。等级评定用于简化预测方法的上下文相关的信号传送,这将在下文中介绍。例如,如果第一相邻块L分类成上下文类别C2,第二相邻块U分类成上下文类别C4,那么此组合的子集包括预测方法P1、P9、P5、P13、P7和P6(按等级评定顺序)。预测估算器3还从此子集中选择最适宜的预测方法,这将在下文中进行详细描述。 表4
下面更详细地描述所定义的预测方法。
预测方法P1
预测方法P1从块L、UL、U和UR的平均像素值中预测块C的平均像素值。重建的块L、UL和U的平均像素值dL、dUL和dU以整数除法来计算,其定义为:
其中N为块的大小,I(x,y)表示像素强度值,“//”表示舍位到整数值的除法。块C的平均像素值dC根据以下一组规则(下面以伪码的形式写出)来预测:
如果所有块L、U和UL存在,那么
如果dL=dU=dUL则dC=dUL
否则如果dUL=dU则dC=dL
否则如果dUL=dL则dC=dU
否则如果dL=dU,那么
如果色度预测,则dC=dL
否则如果|dUL-dL|<4则dC=s(dL+dU-dUL)
否则dC=dL
否则如果dUL<dL<dU则dC=dU
否则如果dUL<dU<dL则dC=dL
否则如果dU<dL<dUL则dC=dU
否则如果dL<dU<dUL则dC=dL
否则如果dL<dUL<dU或dU<dUL<dL则
dC=s(dL+dU-dUL)
否则如果块L和U存在,则dC=(dL+dU+1)//2
否则如果块L和UL存在,则dC=dL
否则如果块U和UL存在,则dC=dU
否则如果块L存在,则dC=dL
否则如果块U存在,则dC=dU
否则如果块UL存在,则dC=dUL
否则 dC=p
其中p为可能的像素值范围中间的值、如128,“//”表示舍位除法,s为裁剪函数,它将值限制在像素值的可能范围内,比如在采用亮度/色度值的8位表示的系统中,在0和255之间。结果,C的预测块中填充了具有由dC给定的恒定值的像素。预测方法P1在图5a中示出。
预测方法P2-P4
预测方法P2到P4通过将图像细节从右上方向延伸到块C内来预测块C内的对角形状。通过将块U和UR边界处的参考像素值复制到块C中来进行预测,分别如图5b、5c、5d所示。标记为灰色的参考像素与一个或多个预测像素相连。连接以带有点的线来标示,从而指示了相连的预测像素。参考像素值被复制到所有相连的预测像素中。
由于可能无法使用一个或多个参考块,即它们的上下文类别可能为C0,因此预测按下述规则来进行。
规则1
如果块U和UR都被分类到类别C1-C6之一中,那么分别如图5b、5c和5d所示进行像素预测。对于预测方法P2(图5b),可为不带有块UR内的任何对应参考像素的像素有利地分配块UR内最右边的参考像素的值。
规则2
如果块U被分类到类别C1-C6之一中,而块UR被分类为C0,那么如图5b、5c和5d所示,对具有块U内的参考像素的像素进行像素预测。其余的像素有利地设为参考块U的右下角内的像素值。
规则3
如果块U被分类为C0,那么当前块C内有利地填充具有恒定值的像素,该值基本上在像素值的可能动态范围的中间,例如128(在采用8位亮度/色度值表示的系统中)。
预测方法P5和P9
预测方法P5(图5e)和P9(图5i)通过从上方或左边将图像细节延伸到当前块C内来预测当前块C内的垂直和水平形状。根据所选择的方法(P5或P9),将块U或L的边界处的参考像素值复制到当前块C,如图5e和5i所示。
如果参考块的上下文类别为C0,那么当前块C最好填充具有恒定值的像素,该值基本上位于像素值的可能动态范围的中间、如128(在采用8位亮度/色度值表示的系统中)。
预测方法P6、P7和P8
预测方法P6、P7和P8通过从左上方将图像细节延伸到当前块C内来预测当前块C中的对角形状,分别如图5f、5g和5h所示。按照以下规则,通过将块L、UL和U的边界处的参考像素值复制到当前块C内来进行预测。
规则1
如果所有块L、UL和U被分类成类别C1-C6之一,那么如图5f、5g和5h所示进行当前块C的像素预测。
规则2
如果块UL和U被分类成类别C1-C6中的一个,而块L被分类成C0,那么如图5f、5g和5h所示对当前块C内具有块UL和L内的参考像素的那些像素进行当前块C的像素预测。当前块C内的剩余像素最好被分配块UL内参考像素区域的左下角内的像素值。
规则3
如果块L和UL被分类成类别C1-C6之一,而块U被分类成C0,那么如图5f、5g和5h所示,对当前块C内具有块L和UL内的参考像素的那些像素进行当前块C的像素预测。当前块C内的剩余像素最好被分配块UL内参考像素区域的右上角中的像素值。
规则4
如果块L和U被分类成类别C1-C6之一,而块UL被分类成C0,那么如图5f、5g和5h所示,对当前块C内具有块L和U内的参考像素的那些像素进行当前块C的像素预测。带有块UL内的参考像素的像素如图5n、5o和5p所示地进行预测。在方法P7的情况中,预测像素值是四舍五入到最接近的整数值的两个参考像素值的平均值,如图5o所示。
规则5
如果块L被分类成类别C1-C6中的一个,而块UL和U被分类成C0,那么如图5f、5g和5h所示,对当前块C内具有块L内的参考像素的那些像素进行当前块C的像素预测。当前块C内的剩余像素最好被分配块L中参考像素区域的右上角中的像素值。
规则6
如果块UL被分类成类别C1-C6中的一个,而块L和U被分类成C0,那么如图5f、5g和5h所示,对当前块C内具有块UL内的参考像素的那些像素进行当前块C的像素预测。具有块L中的参考像素的当前块C的像素最好被分配块UL中的下/左参考像素的值。具有块U中的参考像素的当前块C的像素被分配块UL内的上/右参考像素的值。
规则7
如果块U被分类成类别C1-C6中的一个,而块L和UL被分类成C0,那么如图5f、5g和5h所示,对当前块C内具有块U中的参考像素的那些像素进行当前块C的像素预测。当前块C的剩余像素最好被分配块U中参考像素区域的左下角内的像素值。
规则8
如果所有块L、UL和L分类成C0,那么当前块C最好填充具有恒定值的像素,该值基本上在像素值的可能动态范围的中间、如128(在采用8位亮度/色度值表示的系统中)。
预测方法P10、P11和P12
预测方法P10到P12通过将图像细节从左边延伸到当前块C内来预测当前块C内的对角形状,分别如图5j、5k和5l所示。根据下述规则通过将块L边界处的参考像素值复制到当前块C中来进行预测。
规则1
如果块L被分类成类别C1-C6中的一个,那么如图5j、5k和5l所示,进行当前块C的像素预测。不带有块L内的参考像素的当前块C的像素最好填充参考像素区域的右下角内的像素值。
规则2
如果块L分类成C0,那么当前块C最好填充具有恒定值的像素,该值基本上在像素值的可能范围的中间、如128(在采用8位亮度/色度值表示的系统中)。
预测方法P13
预测方法P13通过检查是否存在着具有基本上与当前块C的像素值相对应的值的像素范围,从相邻图像内容中预测当前块C的内容。当前块C的预测是通过复制来自搜索范围SR内的参考块B的已重建的像素值来进行,如图5m所示。搜索范围SR由水平(x)和垂直(y)位移表来定义。各对水平位移和相应的垂直位移值(x,y)定义了当前块C的左上角和参考块B的左上角的坐标之间的位移矢量。预测只对与完全在帧的重建部分内的参考块B对应的那些位移是允许的。在表9a和9b中表示了8×8块的采用了512种位移的位移对的示例。在此示例中,表的扫描顺序是逐行从左上方到右下方。在本发明的另一实施例中,此搜索范围可与图5m所示不同,和/或参考块B和当前块之间的位移也可不同地定义。
所允许的位移表对编码器和解码器均为已知的,允许所选参考块位置的上下文相关的信号发送。
存在多种可选方法来从预测方法的子集中选择预测方法。例如,可以定义成本函数以便评估所用子集的不同预测方法的有效性。成本函数可根据有关在采用特定预测方法预测当前块C时产生的误差的信息来计算。此误差表示实际像素值和重建像素值之间的差异。一般,对当前块C中各像素的误差值平方后并相加在一起,产生整个块的平方误差测量值。成本函数还可包括与比特数有关的信息、即与将信息传输给接收器所需的比特率的信息。成本函数的元素、尤其是比特率还可以进行加权以强调它们。成本函数的一个示例为:
Cx=D+λR, (4)
其中成本Cx定义为与各预测方法有关的失真D和速率R的加权和,λ为加权因子。如果传输系统的带宽有限,那么加权值一般比较大带宽时的大。可对不同预测方法计算公式(4)的值,最好选择产生成本函数的最小值的预测方法。
另外,也可以在传输给接收器之前对预测误差信息进行编码。有利的是,存在一种为各预测方法定义的编码方法的子集。具体地说,可选择编码方法以使对预测误差进行编码所需的比特数最小。例如,可以检查编码方法的有效性(比特率)。
如果预测误差相对较小,可完全不必传输预测误差信息。
再次参考图1和2,一旦为预测当前块C选择了合适的预测方法,预测估算器3就根据所选的预测方法进行空间预测22。预测估算器3将重建的块引向加法器4,在那里从当前块C的实际内容中减去重建的块,从而产生当前块的预测误差信息。
编码器1将有关所选预测方法的信息发送23给多路复用器9,如果是采用方法P13,则还伴随着位移信息。有利的是,所选的预测方法由其在适合于所述相邻块(U,L)的特定组合的预测方法的子集中的等级来表示。信息的编码最好采用变长编码来进行。
此信息还传输给接收器10,在此处多路分用器11将所接收的信息多路分用。在接收器10把预测信息发往预测器16。接收器10还包括帧存储器14,已重建的块保存于此。当一个新的编码块到达接收器时,预测器16为接收的当前块C的相邻块U,L进行分类步骤,以便将它们分成方向性类别,如上所述。然后预测器16将分类信息映射为上下文类别C1-C6。此后预测器16还检查预测方法的等级。接收器10包含表4和5的信息,其中预测器16可以根据上下文类别组合及等级确定正确的预测方法。
当已经确定预测方法时,预测器16可以重建当前块C并将其保存在帧存储器14中。在还接收到预测误差信息的情况下,此信息首先在解码器12中解码,如有必要,还与重建块C的像素值相结合。这时当前块C就准备发往接收器的输出端15。
如果当前块C的预测方法为P13,当前块C的重建以稍微不同的方式进行。在这种情况下,接收器10还必须对位移信息进行解码,其中位移信息用于从帧存储器14中的已重建像素值中复制当前块C的像素值。
预测方法的信号传送最好是基于表5中定义的上下文相关的代码。在选择了合适的预测方法后,编码器1发送与上下文相关的子集中所选预测方法的等级对应的变长码字。在表5中列出了代表各预测方法等级的变长码字的有利示例。例如,如果第一相邻块L被分类成上下文类别C3,第二相邻块U被分类成上下文类别C1,而且从预测方法的子集中为此组合选择预测方法P9,那么相应的等级为2。然后,对应于此等级的码字为“01”。
表5
| 等级 | 代码 | 长度 |
| 1 | 1 | 1 |
| 2 | 01 | 2 |
| 3 | 0000 | 4 |
| 4 | 0001 | 4 |
| 5 | 0010 | 4 |
| 6 | 0011 | 4 |
接收器10知道表4的内容,即它知道哪一预测方法对应于各种可能的上下文(相邻块L和U的类别的组合)中的各个等级。由于接收器10可得到与预测估算器3相同的上下文信息,因此接收器10可将接收的码字所代表的等级与正确的预测方法相联系,并根据此方法进行块C的空间预测。
在本发明的一个有利实施例中,与预测方法P13有关的水平和垂直位移的信号发送如下地执行:
步骤1
从表9a、9b中给出的顺序表中去除与部分地或全部地位于帧外的参考块B相对应的水平和垂直位移对(X(i),Y(i))。有效对的数目由Nv表示,在去除后仍保留的有效对的顺序表由Lv表示。
步骤2
计算与在步骤1中生成的表Lv中的所选块B相对应的等级r(它是1,2,...,Nv其中之一)。
步骤3
根据在步骤1中确定的等级r的值,按照表6来计算下标1的值。
步骤4
采用表6中列出的值来计算下标2=r-低偏移(下标1)的值。
表6
| 等级r的范围 | 下标<sub>1</sub> | 低偏移(下标<sub>1</sub>) | 高偏移(下标<sub>1</sub>) | 辅助长度(下标<sub>1</sub>) |
| 1,...,2 | 1 | 1 | 2 | 1 |
| 3,...,4 | 2 | 3 | 4 | 1 |
| 5,...,6 | 3 | 5 | 6 | 1 |
| 7,...,8 | 4 | 7 | 8 | 1 |
| 9,...,12 | 5 | 9 | 12 | 2 |
| 13,...,16 | 6 | 13 | 16 | 2 |
| 17,...,24 | 7 | 17 | 24 | 3 |
| 25,...,32 | 8 | 25 | 32 | 3 |
| 33,...,48 | 9 | 33 | 48 | 4 |
| 49,...,64 | 10 | 49 | 64 | 4 |
| 65,...,96 | 11 | 65 | 96 | 5 |
| 97,...,128 | 12 | 97 | 128 | 5 |
| 129,...,192 | 13 | 129 | 192 | 8 |
| 193,...,256 | 14 | 193 | 256 | 6 |
| 257,...,384 | 15 | 257 | 384 | 7 |
| 385,...,512 | 16 | 385 | 512 | 7 |
步骤5
接着,如下计算可变比特。如果Nv<高偏移(下标1),那么最好采用公式:比特=[log2(1+Nv-低偏移(下标1))]来计算可变比特的值,其中[x]表示大于或等于x的最接近的整数。否则,比特=辅助长度(下标1)。
步骤6
根据Nv的值,采用表7和表8中给出的相应的变长编码对下标为下标1的变量进行编码。此码字被发送给解码器,后者在图6中以块CW1表示。
步骤7
如果可变比特不为零,则采用与可变比特的值对应的比特数来对下标2的二进制表示进行编码,此码字被发送给接收器,在图6中以块CW2示出。
表7
表8
X[512]=
| -8 | -8 | -8 | -1 | -10 | -8 | 0 | 1 | -16 | -9 | -8 | -8 | -18 | -8 | -12 | -11 |
| -14 | -11 | -19 | -15 | -10 | -10 | -9 | -16 | -9 | -9 | -14 | -13 | -13 | -2 | -12 | -11 |
| -8 | 3 | -15 | 0 | -19 | -15 | -3 | 0 | -10 | 11 | 2 | -13 | -11 | 0 | -12 | -19 |
| 1 | -18 | -17 | -11 | -10 | -14 | -1 | 18 | -7 | -5 | -12 | -10 | -8 | -13 | -9 | -9 |
| 0 | -14 | 21 | 5 | -3 | 10 | -10 | -15 | -14 | -13 | 19 | -11 | -10 | -11 | 14 | 0 |
| -19 | -13 | -16 | 4 | -12 | -4 | -16 | 3 | 12 | -13 | -19 | 7 | -19 | -13 | -4 | -15 |
| -10 | 1 | -12 | -17 | 0 | 0 | -16 | -16 | -15 | -11 | 1 | -16 | -18 | -12 | -8 | -18 |
| -15 | -6 | 0 | -13 | -18 | -2 | 16 | 17 | -12 | -9 | 2 | 8 | -12 | 16 | 18 | -9 |
| -19 | -19 | 4 | -11 | -18 | -18 | 0 | 15 | 15 | 19 | -6 | -14 | 16 | 14 | -16 | 8 |
| 146 | -17 | 4 | 0 | -1 | -12 | 16 | -17 | -8 | -16 | -16 | -1 | -15 | -1 | -18 | -17 |
| 5 | 6 | 4 | 8 | 5 | -11 | -16 | -2 | -7 | 2 | -14 | 4 | -17 | -13 | -2 | 13 |
| -5 | -18 | -19 | -17 | -9 | -6 | -16 | 13 | -15 | 0 | 13 | -19 | 6 | -5 | -14 | -5 |
| 1 | -19 | -1 | -17 | -12 | -13 | -6 | 12 | -8 | -13 | -14 | 3 | 17 | -14 | -14 | -11 |
| 12 | -1 | 5 | -11 | -2 | -4 | 3 | -1 | -2 | 5 | -9 | 1 | -12 | 14 | 9 | 1 |
| -9 | 20 | -19 | 18 | -17 | -1 | -12 | -3 | 4 | -17 | 13 | -12 | -17 | -5 | -4 | -17 |
| 4 | -8 | 9 | 1 | -15 | 8 | 7 | -1 | 13 | 8 | -3 | -6 | -3 | -12 | -16 | -13 |
| -5 | 16 | -13 | 15 | -19 | -15 | 2 | 12 | 11 | -15 | 14 | -15 | -5 | 7 | 11 | -15 |
| -4 | 20 | -7 | 4 | 17 | 15 | -14 | 3 | -10 | -14 | -15 | -15 | 14 | 1 | -11 | 12 |
| 10 | 14 | 5 | 13 | -9 | -3 | -12 | 17 | -17 | -11 | 9 | -3 | -1 | 3 | 11 | -18 |
| -18 | -8 | -3 | 7 | -4 | -13 | -14 | -17 | 8 | 8 | -10 | -6 | 16 | -7 | 19 | -8 |
| 1 | -10 | 19 | 6 | 10 | 4 | 13 | 20 | 3 | 8 | -18 | 4 | 15 | 1 | -8 | -11 |
| -2 | -6 | 3 | 6 | -14 | 9 | -16 | -2 | -14 | -8 | 6 | -7 | -17 | 7 | 6 | 16 |
| -13 | 5 | 5 | 4 | -10 | -3 | -13 | 10 | 17 | 2 | 6 | 11 | -13 | -9 | -16 | -14 |
| -7 | -2 | 6 | -18 | 9 | -8 | -11 | -7 | -7 | 8 | 5 | 9 | -3 | 6 | -12 | -7 |
| -4 | 12 | 12 | -8 | -6 | -9 | -11 | 12 | -5 | 12 | -11 | 4 | -14 | 8 | 10 | 5 |
| 19 | -4 | -12 | -2 | -3 | -4 | 7 | 12 | 14 | 15 | -6 | 7 | 7 | 4 | 11 | 11 |
| -18 | -6 | -7 | 18 | 10 | -10 | -10 | 2 | -1 | -10 | -8 | 2 | -9 | 13 | 11 | 11 |
| 17 | 15 | 13 | 2 | 10 | -7 | -10 | 14 | -2 | 4 | 5 | 12 | -3 | -4 | 17 | -5 |
| 7 | 10 | 13 | 3 | 6 | -6 | -6 | -11 | 9 | 9 | 2 | -9 | -12 | 3 | -9 | -10 |
| 6 | 3 | 14 | 11 | 9 | 8 | -5 | -7 | 10 | 7 | -12 | 14 | 1 | 5 | -13 | 2 |
| -11 | 18 | 11 | 12 | -4 | -5 | -9 | -10 | -9 | 16 | 7 | 15 | 9 | 9 | 10 | 2 |
| 18 | 10 | 8 | 10 | 15 | -15 | 3 | -5 | -9 | 7 | -2 | 2 | 9 | 6 | 11 | -10 |
表9a
Y[512]=
| -1 | -2 | -3 | -8 | -2 | 0 | -8 | -8 | 0 | -2 | -4 | -6 | 0 | -5 | 0 | -2 |
| 0 | 0 | -1 | 0 | -1 | 0 | -4 | -1 | -1 | 0 | -3 | -2 | 0 | -8 | -2 | -1 |
| -7 | -8 | -2 | -14 | 0 | -4 | -8 | -18 | -7 | -8 | -8 | -3 | -5 | -16 | -1 | -4 |
| -19 | -13 | 0 | -8 | -6 | -2 | -19 | -8 | -8 | -8 | -9 | -4 | -8 | -1 | -5 | -3 |
| -15 | -6 | -8 | -8 | -9 | -8 | -3 | -5 | -8 | -6 | -10 | -3 | -5 | -4 | -8 | -12 |
| -7 | -10 | -15 | -8 | -4 | -8 | -2 | -9 | -9 | -5 | -10 | -8 | -3 | -11 | -9 | -6 |
| -8 | -11 | -7 | -3 | -10 | -13 | -8 | -3 | -3 | -6 | -16 | -12 | -3 | -3 | -9 | -4 |
| -1 | -8 | -9 | -7 | -5 | -10 | -8 | -8 | -5 | -7 | -9 | -8 | -6 | -9 | -13 | -6 |
| -2 | -5 | -9 | -9 | -1 | -10 | -11 | -16 | -8 | -9 | -9 | -4 | -12 | -10 | -4 | -9 |
| -5 | -4 | -10 | -17 | -16 | -19 | -11 | -6 | -19 | -9 | -10 | -9 | -16 | -12 | -8 | -8 |
| -19 | -8 | -17 | -19 | -10 | -7 | -11 | -14 | -19 | -10 | -1 | -19 | -2 | -8 | -9 | -11 |
| -19 | -7 | -8 | -1 | -8 | -19 | -7 | -16 | -8 | -19 | -9 | -11 | -9 | -10 | -11 | -12 |
| -18 | -6 | -11 | -11 | -10 | -14 | -10 | -19 | -18 | -18 | -10 | -16 | -12 | -5 | -7 | -12 |
| -8 | -18 | -17 | -15 | -12 | -19 | -18 | -10 | -11 | -9 | -10 | -13 | -13 | -11 | -8 | -12 |
| -15 | -9 | -9 | -10 | -10 | -17 | -12 | -16 | -12 | -14 | -8 | -8 | -7 | -9 | -17 | -12 |
| -12 | -16 | -16 | -9 | -11 | -17 | -19 | -14 | -18 | -16 | -12 | -14 | -15 | -18 | -6 | -4 |
| -17 | -10 | -9 | -9 | -12 | -14 | -12 | -10 | -19 | -12 | -17 | -7 | -11 | -12 | -16 | -9 |
| -13 | -8 | -9 | -16 | -14 | -10 | -13 | -11 | -14 | -12 | -10 | -13 | -16 | -10 | -19 | -13 |
| -12 | -12 | -15 | -17 | -16 | -10 | -17 | -10 | -5 | -16 | -18 | -18 | -13 | -19 | -9 | -6 |
| -2 | -17 | -19 | -11 | -10 | -15 | -15 | -18 | -14 | -18 | -19 | -17 | -15 | -13 | -8 | -14 |
| -14 | -11 | -12 | -14 | -11 | -13 | -14 | -10 | -10 | -10 | -9 | -14 | -12 | -17 | -10 | -18 |
| -13 | -12 | -17 | -18 | -14 | -10 | -14 | -19 | -9 | -12 | -10 | -11 | -9 | -9 | -16 | -14 |
| -13 | -16 | -12 | -10 | -9 | -14 | -12 | -15 | -13 | -16 | -12 | -18 | -17 | -13 | -13 | -16 |
| -12 | -15 | -17 | -11 | -17 | -15 | -13 | -15 | -17 | -15 | -11 | -15 | -17 | -11 | -14 | -14 |
| -14 | -14 | -15 | -13 | -16 | -18 | -17 | -16 | -15 | -17 | -14 | -15 | -17 | -18 | -19 | -13 |
| -11 | -16 | -16 | -16 | -11 | -15 | -15 | -12 | -9 | -13 | -18 | -16 | -13 | -18 | -17 | -10 |
| -12 | -11 | -10 | -12 | -9 | -15 | -13 | -14 | -15 | -17 | -11 | -18 | -9 | -13 | -14 | -15 |
| -11 | -11 | -15 | -11 | -17 | -16 | -12 | -15 | -18 | -11 | -14 | -18 | -13 | -18 | -9 | -13 |
| -17 | -14 | -12 | -14 | -19 | -13 | -15 | -10 | -9 | -12 | -19 | -17 | -15 | -12 | -14 | -16 |
| -15 | -15 | -14 | -11 | -11 | -11 | -14 | -18 | -10 | -10 | -11 | -13 | -15 | -18 | -16 | -15 |
| -11 | -11 | -12 | -11 | -11 | -16 | -11 | -10 | -12 | -13 | -14 | -14 | -14 | -19 | -16 | -13 |
| -9 | -18 | -12 | -13 | -15 | -15 | -13 | -18 | -19 | -18 | -17 | -17 | -13 | -13 | -13 | -18 |
表9b
由于解码器可以得到有效位移矢量的顺序表,因此它能够将所接收的码字所表示的等级与正确的位移矢量联系起来。
执行本发明的预测方法的块最好在适合处理数字信号的数字信号处理器或相应的通用装置中实现,这些装置可被编程,以便把预定的处理功能用在作为输入数据接收的信号上。根据本发明的测量可以在单独的信号处理器中进行,或者它们可以是还包括其它信号处理配置的信号处理器的操作的一部分。
可采用存储媒体来存储软件程序,程序包括用于执行本发明方法的机器可执行步骤。在本发明的有利实施例中,软件程序可以从存储媒体中读取到包括可编程装置、如用于执行本发明方法的处理器的设备中。
被设计成用作便携式视频电信装置并应用本发明的方法的移动终端24最好至少包括用于显示图像的显示装置25、用于捕捉和再现音频信息的音频装置26、用于输入比如用户指令的键盘27、可与移动网络通信的无线电部分28、用于控制装置操作的处理装置29、用于存储信息的存储装置30,最好还包括用于拍摄图像的摄像机31。
本发明不限于以上给出的实施例,而是可以在所附权利要求书的范围内进行修改。