2012-07-14 81 views
3

我正在使用大量的摄像头,它们本身捕获BG拜耳模式。拜尔数据的无损编解码器

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

所以我正在寻找一个无损编解码器来压缩这些数据。我知道我可以使用libx264(使用--qp 0)或huffYUV,dirac或jpeg2000,但他们都假设你有RGB或YUV数据。将bayered数据转换为RGB并将其压缩很容易,但如果您首先将数据三倍化,则会压缩压缩的目的。这也意味着通过debayering引入的demoasmaking文物也会出现在我的源数据中,这也不算太好。有一个编解码器可以直接处理bayered数据,这将是很好的。

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

回答

1

我所了解的关于拜耳模式我从维基百科学到的知识,但不是转换到RGB更多的隔行扫描而不是三倍?红色和蓝色的分辨率是否降低了4倍,绿色的降低了2倍?如果是这样,像无损JPEG等无损图像压缩方案可能是正确的。

+0

对于BG拜尔滤波器,基本上每个像素有4位用于绿色,2bpp用于蓝色,2bpp用于红色,总共为8bpp。现在,如果您将这个解拼为BGR,结果通常为24bpp(每种颜色8个),因此数据量为三倍。事实上,实际的信息是一样的。 – vhdirk 2012-07-16 08:29:50

+0

由于我了解的大多数无损视频编解码器(HuffYUV,ffv1,..)只有3左右的压缩比,因此压缩BGR版本与存储原始拜耳数据相比没有任何优势。 将拜耳数据压缩为灰度值,通常会导致压缩比大约为2,并且我认为必须有更好的编解码器。 (为什么这个评论char限制?) – vhdirk 2012-07-16 08:33:55

1

如果商业解决方案没问题,请查看Cineform。我已经将他们的sdk用于定制的视频压缩器,并且它的工作效果非常好,并且他们有一些用于处理原始视频的优秀工具。

或者,如果您更愿意使用开源路由,请检查Elphel JP4

+0

自Cineform作为[开源](https://github.com/gopro/cineform-sdk)发布以来,恢复此答案。 – Duvrai 2018-01-30 14:00:13

1

较晚的建议,对别人也许有用..

它有助于贝尔图案解交织成四个象限,然后把该图像为灰度。子图像(例如,左上角的所有红色像素)具有空间分辨率的一半,但是它们的像素更高度相关。这导致使用附近像素的预测因子的残差更低,并因此导致更好的压缩比。 我已经看到这在12位原始相机数据上达到2-3x无损压缩。