小安派擺件
由安信可社區用戶(ID:feilong)制作
前言
不知道有多少人和筆者一樣,被一首“蘿莉搖”洗腦過?打開短視頻總會看到這首BGM和MV的二創。
于是筆者萌生了制作一個相關擺件的想法,這些就用小安派來做個“蘿莉搖”擺件,讓洗腦來的更徹底!
01視頻演示
https://www.bilibili.com/video/BV12C4y1Q7dD
02相關教程
起初由于微控制器單元(MCU)的內存限制以及誤把mjpeg編碼器看成了解碼器的原因,只實現了一個基礎版本
https://www.bilibili.com/video/BV16e411k7Fc
這個版本沒有視頻壓縮功能,且圖像分辨率相當低,僅為60x70像素。之后通過研究寫了一個基于RLE和幀間差分的視頻壓縮。
圖像分辨率:150x175,RGB565
壓縮前:19425000
壓縮后:3296167(16.97%)
和7z、xz等無損壓縮還有很大差距,但是勝在解壓簡單,執行快速,只需要幾行代碼就可以解壓縮。
03相關代碼
github:
https://github.com/feilongfl/aipi-eyes-loli
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修改。
這樣可以方便存下更多視頻。
審核編輯 黃宇
-
芯片
+關注
關注
459文章
51901瀏覽量
433397 -
解碼器
+關注
關注
9文章
1161瀏覽量
41542
發布評論請先 登錄
相關推薦
零基礎開發小安派-Eyes-S1 進階篇 ——通過屏幕輸入連接 Wi-Fi

用小安派 DSL做一個天氣站

零基礎開發小安派-Eyes-S1【進階篇】——初識 LVGL 并搭建最小工程

零基礎開發小安派-Eyes-S1——初識LVGL并搭建最小工程
使用小安派DSL制作天氣站

零基礎開發小安派-Eyes-S1 外設篇——DAC

零基礎開發小安派-Eyes-S1外設篇——I2S

電子DIY作品 小安派R1做個86盒中控

零基礎開發小安派-Eyes-S1【外設篇】——FLASH

零基礎開發小安派-Eyes-S1 外設篇 ——I2C

零基礎開發小安派-Eyes-S1外設篇——GPIO中斷編程

零基礎開發小安派-Eyes-S1外設篇——GPIO 輸入輸出

評論