压缩运行10到20个高度冗余的图像与压缩库?

时间:2010-10-27 00:11:59

标签: encoding image-processing h.264 mpeg

我将从低分辨率相机每分钟左右生成一次图像。我想拍摄10到20张图像并压缩它们,以便在带宽有限的频道上进行传输。我已经看过使用x264,但感觉就像杀了。

鉴于我的图像是320x240,帧之间具有高度冗余,那么最好的方法是什么?

编码不一定非常快,更多的是在嵌入式设备上实现难度与总文件大小减少之间取得平衡。

我将完全控制查看软件,因此使用某些压缩方案的修改版本就可以了。

我将使用freeRTOS

4 个答案:

答案 0 :(得分:1)

一种简单而强大的方法是将每个帧编码为JPEG。这可以表示为M-JPEG流。压缩通常是不错的,即使不是最佳的。如果这对你来说足够好,那就去吧。

答案 1 :(得分:0)

该设备是否有libavcodec端口?我认为它内置了一个h.264编码器。我不认为h.264是矫枉过正的。

定义“带宽有限”。如果你有足够的带宽以每像素1比特(每帧每分钟160字节,1帧/分钟频率)发送,你不需要超越jpeg。如果你的数量甚至更少,则需要进行时间压缩(某种类型的MPEG)。

答案 2 :(得分:0)

为什么x264过度杀伤?它是一个非常高效的编码器,如果你想利用时空冗余,你需要使用像H.264这样的压缩算法而不是一堆JPEG。

答案 3 :(得分:0)

在嵌入式系统中,H.264 是一种过度杀伤,因为编码需要计算,因此解码也是如此。使用ffmpeg更重要(因而也是矫枉过正)的事实是ffmpeg有150多个奇怪的编解码器。因此移植它们也成为一个问题。

更简单的方法是查看系统中IJG's是否可移植。 (因此发现它在各种平台上都是最便携的。

在这种情况下,您可以在连续帧之间应用简单的帧差异,并为它们制作单独的JPEG。如果存在redundency,则后续的JPEG将会小得多。

在进行移植之前,您应该检查冗余是否确实有助于降低比特率。

相关问题