您好,我在实现以下代码时遇到问题:
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),所以我不能得到的是修改的霍夫曼编码是对误差值进行的吗?这也可以是负的,实际上代码簿大小是什么意思?您的帮助将不胜感激!
发布于 2013-01-10 21:21:10
在传真机上使用改进的霍夫曼编码对白色上的黑色图像进行编码。你将有两个霍夫曼表,一个用于黑色运行,另一个用于白色运行,这与均方Error.Even无关,尽管它可能与均方误差相关,但使用均方误差的目的是消除负值,因此使用简单的误差度量(如减法)将不起作用。正如你可能已经注意到的,你将会有较少的黑色运行的比特率和更多的白色运行的比特率。码字长度意味着每个码向量的大小,另一方面,码本大小意味着拓扑中的向量数量。
https://stackoverflow.com/questions/10122378
复制相似问题