【问题标题】:How are quantized DCT coeffiecients serialised in JPEG?如何在 JPEG 中序列化量化的 DCT 系数?
【发布时间】:2018-07-08 10:56:17
【问题描述】:

看过几十篇文章、科学论文和玩具实现,JPEG压缩的步骤大致如下

  1. 采取 8x8 DCT
  2. 除以量化矩阵
  3. 四舍五入到整数
  4. 游程和霍夫曼

然后反过来几乎是一样的。到目前为止,我发现的有关该主题的所有内容都遗漏了数据的大小和相应的序列化。

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

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

【问题讨论】:

    标签: serialization compression jpeg image-compression


    【解决方案1】:

    第一手资料当然是ITU-T T.81标准文件。 看起来第一个 Google 链接指向付费墙。不过,它在 w3 网站上:https://www.w3.org/Graphics/JPEG/itu-t81.pdf

    1. 采用 8 位输入样本 (0..255)
    2. 减去 128 (-128..127)
    3. 执行 N*N fDCT,其中 N=8
    4. 输出可以有 log2(N)+8 bits = 11 bits (-1024..1023)

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

    【讨论】:

    • 据我所知,该标准位于付费墙后面。谢谢!
    【解决方案2】:

    编码过程取决于您使用的是顺序扫描还是逐行扫描。编码过程的细节过于复杂,无法在此处给出答案。

    我强烈推荐这本书:

    https://www.amazon.com/Compressed-Image-File-Formats-JPEG/dp/0201604434/ref=sr_1_2?ie=UTF8&qid=1531091178&sr=8-2&keywords=JPEG&dpID=5168QFRTslL&preST=_SX258_BO1,204,203,200_QL70_&dpSrc=srch

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多