【电子DIY作品】粛聖!! 小安派レクイエム☆ | 小安派S1

[复制链接]
查看1283 | 回复12 | 2023-12-19 20:58:11 | 显示全部楼层 |阅读模式
本帖最后由 feilong 于 2023-12-21 19:17 编辑

基于小安派的萝莉摇摆件

1.png 2.png 3.png

视频
https://www.bilibili.com/video/BV12C4y1Q7dD

最近迷上了萝莉摇,于是萌生了制作一个相关摆件的想法。
起初,由于微控制器单元(MCU)的内存限制
以及我误吧mjpeg编码器看成了解码器的原因,
我只实现了一个基础版本,https://www.bilibili.com/video/BV16e411k7Fc
这个版本没有视频压缩功能。
这个版本的图像分辨率相当低,仅为60x70像素。

之后周日在家研究了一天,写了一个基于RLE和帧间差分的视频压缩,

图像分辨率:150x175,RGB565
压缩前:19425000
压缩后:3296167(16.97%)

和7z、xz等无损压缩还有很大差距,但是胜在解压简单,执行快速,
只需要几行代码就可以解压缩。

github:
https://github.com/feilongfl/aipi-eyes-loli
最近没时间清理代码,比较乱...

做的过程中踩了几个坑:
1. LVGL在高速刷新图片上有些性能问题,直接使用lcd_draw_picture_blocking会好很多
2. 帧间差分是后一图像减去前一图像,反了的话图像会有残影,大概这样
4.png

因为是录了微信视频给朋友,所以截图上带了个播放按钮

这个差分算法还有一定的改进空间,比如为像素色彩加上一个阈值,过滤相似颜色,这样作为有损压缩,对于视频应该也是可以接受的。

3. 对于彩色图像,整体执行rle效果不佳,因为主体部分色彩连续相同的概率不大,但是对于背景纯色压缩效果极好,因此仅对于背景色进行rle压缩,

因为人物动作主要在中间部分,所以主体部分通过帧间差分后会产生较多的被删除区域,针对这些区域做rle也会有不错的效果。
目前算法针对背景色和帧间差分存储了16bit长的行程信息,后续采用varint可能会更优。

4. 这个芯片的flash是8M,但是bsp默认是4m

我找了很多资料,没找到这个芯片的具体型号(没仔细找)
翻了半天没找着这个芯片size的具体说明。

但是翻了下论坛,找到了https://bbs.ai-thinker.com/forum ... 003&highlight=flash
5.png

但是bsp默认的size是4m,于是应用下面patch修改。
6.png

这样可以存下更多视频



本帖被以下淘专辑推荐:

回复

使用道具 举报

干簧管 | 2023-12-19 21:01:54 | 显示全部楼层
厉害
回复

使用道具 举报

san | 2023-12-19 23:59:40 | 显示全部楼层
回复

使用道具 举报

lazy | 2023-12-20 08:35:46 | 显示全部楼层
回复

使用道具 举报

bzhou830 | 2023-12-20 08:39:39 | 显示全部楼层
选择去发光,而不是被照亮
回复

使用道具 举报

爱笑 | 2023-12-20 08:48:02 | 显示全部楼层
哈哈哈看标题我还以为乱码了,好可爱!
用心做好保姆工作
回复 支持 反对

使用道具 举报

WT_0213 | 2023-12-20 09:01:36 | 显示全部楼层
二次元小萝莉
回复 支持 反对

使用道具 举报

大白 | 2023-12-20 14:08:49 | 显示全部楼层
存了一个小视频进flash?
回复 支持 反对

使用道具 举报

feilong | 2023-12-20 15:33:52 | 显示全部楼层
大白 发表于 2023-12-20 14:08
存了一个小视频进flash?

是的
回复 支持 反对

使用道具 举报

Yhue | 2023-12-20 17:19:13 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则