【问题标题】:Getting JPEG Redundant Data获取 JPEG 冗余数据
【发布时间】:2011-10-22 21:13:11
【问题描述】:

我正在做一些与图像压缩相关的项目,我需要一种方法来保存在 JPEG 压缩中丢失的数据(如每像素位数......)。我想我需要为此构建一个自定义 libjpeg。感谢有关该主题的任何建议/帮助(甚至可能指导修改源代码中的哪些部分)。

提前致谢!

编辑:为了澄清我自己,我不打算嵌入隐藏信息。我正在寻找一种在 JPEG 压缩期间丢失数据的方法。我也可以通过重新压缩 JPEG 图像(从 90 到 80)丢失数据。

【问题讨论】:

    标签: c image jpeg libjpeg


    【解决方案1】:

    如果您需要将私有数据嵌入到 JPEG 比特流中,您可能需要利用 APPn 标记。它们的优点很少:

    • 图像仍可读取并与现有软件兼容
    • 格式非常简单,您可以保留 libjpeg 或您喜欢的另一个 JPEG 库,直接添加/读取修改比特流的数据

    JPEG File Interchange Format 正在使用APP0APP1,您可以阅读详细信息,还有更多可用的标记,例如APP2,您可以将它们用于您的目的。

    【讨论】:

    • 我正在尝试在某些研究项目的 JPEG 压缩过程中获取丢失的数据。我需要易于处理的数据(例如每像素位数、矩阵等)。
    • 我明白了,问题实际上是不同的。至于测量压缩损失部分,为什么不使用现有的JPEG压缩库,将压缩图像解压并从原始图像中减去呢?无需深入研究 JPEG 压缩代码,这会让您有所不同吗?
    【解决方案2】:

    在 jpeg 压缩中至少有四个步骤可能会丢失信息。我真不知道你在说什么。如果要测量丢失的信息,只需压缩/解压缩并与原始信息进行比较即可。

    我猜您想将 RGB 编码为标准 JFIF,然后在颜色转换、二次采样中丢失信息,之后您必须进行 FDCT,我认为这不完全可逆,因此您在该步骤中丢失信息并且然后你有量化步骤。除非您有包含所有量化表的量化表,否则您也会在那里丢失信息。

    总结一下:

    1. 颜色转换
    2. 下采样
    3. FDCT/IDCT
    4. 量化

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      相关资源
      最近更新 更多