【问题标题】:Lossless codec for bayer data拜耳数据的无损编解码器
【发布时间】:2012-07-14 02:04:32
【问题描述】:

我正在使用大量以 BG 拜耳模式拍摄的相机。

现在,每次我记录一些数据时,我都会以原始拜耳模式将其保存到磁盘的 avi 容器中。问题是,这确实会在一段时间后加起来。经过一年的研究,我拥有接近 4TB 的数据...

所以我正在寻找一种无损编解码器来压缩这些数据。我知道我可以使用 libx264(带 --qp 0)或 huffYUV、dirac 或 jpeg2000,但它们都假设你有 RGB 或 YUV 数据。将 Bayered 数据转换为 RGB,然后对其进行压缩很容易,但如果您首先将数据增加三倍,则有点违背了压缩的目的。这也意味着 debayering 引入的去马赛克人工制品也将在我的源数据中,这也不是太大。最好有一个可以直接处理拜耳数据的编解码器。

更好的是,该解决方案将涉及 gstreamer(或 ffmpeg)已经支持的编解码器,因为那是我已经在使用的。

【问题讨论】:

    标签: opencv ffmpeg gstreamer codec lossless-compression


    【解决方案1】:

    一个相当晚的建议,可能对其他人有用..

    它有助于将拜耳模式解交织成四个象限,然后将该图像视为灰度图像。子图像(例如左上角的所有红色像素)的空间分辨率只有一半,但它们的像素相关性更高。这会导致使用附近像素的预测器的残差更低,从而获得更好的压缩比。 我已经看到这种对 12 位原始相机数据的无损压缩达到了 2-3 倍。

    【讨论】:

    • 只是评论说这对我没有太大影响(从数量上看,中位数改进是 1%;最好的情况小 5%,最坏的情况大 7%,超过约 450 个视频帧) .例如将原始/原始拜耳图案图像编码为无损 JPEG 2000 编码图像需要原始大小的 42%(即 2.4 倍压缩),而在每个象限中具有通道的版本对于该图像仅小 3%
    • 感谢您分享您的号码。是的,一个缺点是象限边界是预测不佳的不连续性(压缩成本很高)。另一种选择是将每个 2x2 模式视为一个半分辨率 R、G、B 像素(将传递给传统的 RGB 编解码器)。另一个拜耳样本 G2(或者更好的是,G-G2)可以用灰度编码器存储。这允许跨像素通道去相关。
    • 同意边界,但我希望它们占据像素的一小部分,因此不会太重要。此外,我碰巧测试的图像大多是对称的,所以不应该有太多的不连续性
    • 有趣的“半分辨率”像素想法,你知道第二个绿色通道是否可以存储在同一个文件/流中(我是 jpeg2000 格式的新手)?我尝试过使用单独的文件,但似乎没有帮助;我还尝试了一种将 G 通道的平均值存储在 RGB 图像中的变体,然后将增量作为灰度,似乎为我的一半图像节省了 7%,但我正在努力解决使这个可逆的数学问题(我的幼稚版本失去了LSB)
    • JPEG XL 确实支持这个(“额外通道”),不确定 J2K。很高兴听到 mean+delta 有帮助。为了可逆性,我认为平均值和增量都需要额外的精度 - 平均值基本上是解释为一个小数位的定点数的总和。
    【解决方案2】:

    如果商业解决方案没问题,请查看Cineform。我已经将他们的 sdk 用于自定义视频压缩器,效果很好,而且他们有一些很棒的工具来处理原始视频。

    或者,如果您更喜欢开源路线,请查看Elphel JP4

    【讨论】:

    • 自从 Cineform 以open source 发布以来,恢复这个答案。
    【解决方案3】:

    我从 Wikipedia 学到的所有关于 Bayer 模式的知识,但转换为 RGB 不是更多的是去隔行而不是三倍吗?红色和蓝色的分辨率不会下降 4 倍,绿色的分辨率不会下降 2 倍吗?如果是这样,像无损 jpeg 这样的无损图像压缩方案可能就是这样。

    【讨论】:

    • 使用 BG Bayer 过滤器,基本上每个像素的绿色为 4 位,蓝色为 2bpp,红色为 2bpp,总共 8bpp。现在,如果你将这个去马赛克到 BGR,结果通常是 24bpp(每种颜色 8 个),因此数据量增加了三倍。确实,实际信息是一样的。
    • 由于我所知道的大多数无损视频编解码器(HuffYUV、ffv1、..)的压缩率只有 3 左右,因此压缩 BGR 版本与存储原始拜耳数据相比没有任何优势。将拜耳数据压缩为灰度值,通常会导致压缩比约为 2,我认为必须有更好的编解码器。 (为什么这个评论字符限制?)
    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 2017-10-26
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2016-01-03
    相关资源
    最近更新 更多