此4张表是理论表,不是针对某张图片的特定表。如程序不统计生成某图片的专用霍夫曼表,应该也可用理论表代用。
1.亮度DC表
左边第一列是二进制位数,就是对此位数编码
中间一列是生成比特流的位数,右边是生成的比特流。
2.色度DC表
3.亮度AC表
4. 色度AC表
下面就是利用这4张表转换生成亮度,色度的DC,AC比特流
下面两张表是用jpeg文件头的形式显示的表格。
AC 表被编码的数值是两部分组成的,高4比特是0的个数 (a,b)对中的a,低4节为b的二进制位数。
对于DC表,直接用if一一例举出现就行了。主要是AC表的编程。AC两张表输出都是162个数,这162个数的比特流从1位到16位都有。
看了AC两张表,最多的是16位的比特流。
AC表的输入为0的个数和二进制位数两个参数,输出为比特流和比特流宽度。
两个AC表中的162个数就是两个输入参数组成的一个字节的值。