Tôi có một ứng dụng được nhúng nơi máy quét hình ảnh gửi đi một luồng các pixel 16 bit sau đó được ghép thành hình ảnh thang độ xám. Vì tôi cần lưu cả dữ liệu này cục bộ và chuyển tiếp nó sang giao diện mạng, tôi muốn nén luồng dữ liệu để giảm dung lượng lưu trữ cần thiết và băng thông mạng.Nén hình ảnh không bị mất khi đang bay
Có một thuật toán đơn giản mà tôi có thể sử dụng để nén dữ liệu pixel không bị mất không?
Lần đầu tiên tôi nghĩ về tính toán sự khác biệt giữa hai pixel liên tiếp và sau đó mã hóa sự khác biệt này bằng mã Huffman. Thật không may, các điểm ảnh là số lượng 16-unsigned unsigned vì vậy sự khác biệt có thể là bất cứ nơi nào trong phạm vi -65535 .. +65535 dẫn đến độ dài từ mã tiềm năng khổng lồ. Nếu một vài từ mã thực sự dài xuất hiện trong một hàng, tôi sẽ chạy vào các vấn đề tràn bộ đệm.
Cập nhật: nền tảng của tôi là một FPGA
Tôi có cùng một vấn đề, không phải trên FPGA nhưng sử dụng một ARM và dữ liệu của tôi là 12 bit. Bạn đã sử dụng cái gì? – user4749