MCUCoder: Adaptive Bitrate Learned Video Compression for IoT Devices
Ali Hojjat, Janek Haberer, Olaf Landsiedel
TL;DR
The paper addresses efficient video compression for IoT edge devices with severe memory and bandwidth constraints. It proposes MCUCoder, an ultra-lightweight adaptive bitrate encoder that orders latent channels by importance via biased dropout training and transmits the first k channels according to available bandwidth, paired with INT8 quantization for CMSIS-NN acceleration. The approach yields substantial bitrate reductions (about 55% in MS-SSIM BD-rate on MCL-JCV and UVG) while maintaining energy efficiency comparable to JPEG, and supports progressive bitrate streaming suitable for fluctuating networks. This work demonstrates the feasibility of real-time, adaptive video transmission on MCU-class hardware and provides open-source code for deployment on edge devices.
Abstract
The rapid growth of camera-based IoT devices demands the need for efficient video compression, particularly for edge applications where devices face hardware constraints, often with only 1 or 2 MB of RAM and unstable internet connections. Traditional and deep video compression methods are designed for high-end hardware, exceeding the capabilities of these constrained devices. Consequently, video compression in these scenarios is often limited to M-JPEG due to its high hardware efficiency and low complexity. This paper introduces , an open-source adaptive bitrate video compression model tailored for resource-limited IoT settings. MCUCoder features an ultra-lightweight encoder with only 10.5K parameters and a minimal 350KB memory footprint, making it well-suited for edge devices and MCUs. While MCUCoder uses a similar amount of energy as M-JPEG, it reduces bitrate by 55.65% on the MCL-JCV dataset and 55.59% on the UVG dataset, measured in MS-SSIM. Moreover, MCUCoder supports adaptive bitrate streaming by generating a latent representation that is sorted by importance, allowing transmission based on available bandwidth. This ensures smooth real-time video transmission even under fluctuating network conditions on low-resource devices. Source code available at https://github.com/ds-kiel/MCUCoder.
