无损预测编码

时间:2012-04-12 11:10:56

标签: huffman-code

您好我在实施以下方面遇到了问题:

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]);

      }
  }

我实现了这个,并将错误存储在2d数组中。

在此之后我需要做修改后的霍夫曼编码(代码簿大小为128) 所以我得到的是修改后的霍夫曼编码是对错误值进行的吗?这也可能是消极的 实际上代码簿大小意味着什么? 非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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