1

嗨,我在执行以下操作时遇到问题:

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)所以我没有得到修改后的霍夫曼编码是否要对错误值进行?这也可以是负数 代码簿大小实际上是什么意思?您的帮助将不胜感激!

4

1 回答 1

0

改进的霍夫曼编码在传真机上用于将黑色图像编码为白色。您将有两个霍夫曼表,一个用于黑色运行,一个用于白色运行,这与均方误差无关。即使它可能与之相关,使用 MSE 的目的是消除负值,因此使用简单的错误减法等度量将不起作用。您可能已经注意到,黑色运行的比特率较低,而白色运行的比特率较高。码字长度是指每个码向量的大小,另一方面,码本大小是指拓扑中向量的数量。

于 2013-01-10T13:21:09.573 回答