
小安派摆件
前言
01
02
起初由于微控制器单元(MCU)的内存限制以及误把mjpeg编码器看成了解码器的原因,只实现了一个基础版本
https://www.bilibili.com/video/BV16e411k7Fc
这个版本没有视频压缩功能,且图像分辨率相当低,仅为60x70像素。之后通过研究写了一个基于RLE和帧间差分的视频压缩。
图像分辨率:150x175,RGB565
压缩前:19425000
压缩后:3296167(16.97%)
和7z、xz等无损压缩还有很大差距,但是胜在解压简单,执行快速,只需要几行代码就可以解压缩。
03
04
LVGL高速刷新图片问题
LVGL在高速刷新图片上有些性能问题,直接使用lcd_draw_picture_blocking会好很多。
图像清晰度及色彩
帧间差分是后一图像减去前一图像,反了的话图像会有残影(如下图,图为视频播放截图)。
差分算法还有一定的改进空间,比如为像素色彩加上一个阈值,过滤相似颜色,这样作为有损压缩,对于视频应该也是可以接受的。
对于彩色图像,整体执行rle效果不佳,因为主体部分色彩连续相同的概率不大,但是对于背景纯色压缩效果极好,因此仅对于背景色进行rle压缩。
因为人物动作主要在中间部分,所以主体部分通过帧间差分后会产生较多的被删除区域,针对这些区域做rle也会有不错的效果。
目前算法针对背景色和帧间差分存储了16bit长的行程信息,后续采用varint可能会更优。
芯片存储
芯片的flash是8M,但是bsp默认是4m。论坛找到了相关说明:
https://bbs.ai-thinker.com/forum ... 003&highlight=flash

但是bsp默认size是4m,于是应用patch修改。

这样可以方便存下更多视频。
微信改版,容易错过最新资讯和福利?
快将“安信可科技”设为星标⭐
可以第一时间接收小安的推送!
▼

Ai-M61/M62系列模组支持CAN接口了?
星闪网卡:Wi-Fi6+SLE+BLE,三模合一Linux网卡
安信可更多产品信息可进入以下链接查阅:
●开发资料:https://docs.ai-thinker.com/
●官方教程:https://blog.csdn.net/Boantong_
●安信可官网:www.ai-thinker.com
●安信可社区:https://bbs.ai-thinker.com
●业务咨询请联系:18022036575




