Serialization 量化的DCT系数如何在JPEG中序列化?

Serialization 量化的DCT系数如何在JPEG中序列化?,serialization,compression,jpeg,image-compression,Serialization,Compression,Jpeg,Image Compression,我在几十篇文章、科学论文和玩具实现中读到,JPEG压缩的步骤大致如下 采用8x8离散余弦变换 除以量化矩阵 四舍五入到整数 游程长度&Hufmann 然后,反过来也差不多。到目前为止,我发现在这个主题的所有内容中都遗漏了数据量和相应的序列化 似乎隐式地假定所有系数都存储为无符号字节。然而,据我所知,直流系数在0-255范围内,而交流系数可以为负。AC系数是否在±255或±127范围内,或其他范围内 以紧凑的方式存储这些系数的常用方法是什么?阅读的第一手资料当然是ITU-T.81标准文件。 看起来

我在几十篇文章、科学论文和玩具实现中读到,JPEG压缩的步骤大致如下

  • 采用8x8离散余弦变换
  • 除以量化矩阵
  • 四舍五入到整数
  • 游程长度&Hufmann
  • 然后,反过来也差不多。到目前为止,我发现在这个主题的所有内容中都遗漏了数据量和相应的序列化

    似乎隐式地假定所有系数都存储为无符号字节。然而,据我所知,直流系数在0-255范围内,而交流系数可以为负。AC系数是否在±255或±127范围内,或其他范围内


    以紧凑的方式存储这些系数的常用方法是什么?

    阅读的第一手资料当然是ITU-T.81标准文件。 看起来第一个谷歌链接指向付费墙。。但它位于w3站点上:

  • 获取8位输入样本(0..255)
  • 减去128(-128..127)
  • N*N fDCT,其中N=8
  • 输出可以有log2(N)+8位=11位(-1024..1023)

  • DC系数存储为差分,因此它们可以有12位。

    编码过程取决于您是进行顺序扫描还是逐行扫描。编码过程的细节太复杂,无法在这里给出答案

    我强烈推荐这本书:


    这是我所知道的唯一一个用简单的英语解释JPEG端到端的来源。

    据我所知,该标准是在付费墙后面。谢谢