嗨,我在执行以下操作时遇到问题:
DPCM----> Entropy Coding
My DPCM predictor is
AB
CX
X=0.75A-0.5B+0.75C
public static int[][] predictor(int[][] copy, int wt, int ht)
{
int[][] error=new int[ht][wt];
//error[0][0]=copy[0][0];
for(int i=0;i<ht;i++)
{
for(int j=0;j<wt;j++)
{
if(j==0&&i==0)
error[i][j]=copy[0][0];
else if (j==0&&i!=0)
error[i][j]=copy[i][j]-copy[i-1][j];
else if(i==0&&j!=0)
error[i][j]=copy[i][j]-copy[i][j-1];
else
error[i][j]=copy[i][j]-(int)(0.75*copy[i][j-1]-0.5*copy[i-1] [j]+0.75*copy[i-1][j-1]);
}
}
我已经实现了这一点,并将错误存储在二维数组中。
在此之后,我需要进行修改后的霍夫曼编码(代码簿大小为 128)所以我没有得到修改后的霍夫曼编码是否要对错误值进行?这也可以是负数 代码簿大小实际上是什么意思?您的帮助将不胜感激!