Berglogic, Limited

ASIC/SoC Design and Production Services

Huffman IP Core for FPGA


        Huffman-diff is a BergLogic-proprietary lossless image compression algorithm, characterized by low resource usage and low latency. It combines differential encoding with color-index construction to compress image data (similar in spirit to DSC). In the differential step, the transmitter computes the difference between each target pixel and its neighbors; the receiver reconstructs the target by adding the transmitted difference back to neighboring pixel data. Because adjacent pixels typically have similar values, the differences cluster tightly around small values — a distribution ideal for Huffman coding. Color-index construction applies standard Huffman coding to the differential data; more frequent symbols get shorter codes. Transmitting only the indices (not the original data) achieves compression. The Huffman-diff algorithm is best suited to simple content or images with large uniform-color regions.

BergLogic Huffman-Diff compression result
BergLogic Huffman-Diff before compression

        1080p 60fps (uncompressed rate: 2986 Mb/s)

       

BergLogic Huffman-Diff compression result
BergLogic Huffman-Diff before compression

         1080p 60fps (uncompressed rate: 2986 Mb/s)

Huffman technical specifications
  • •   Compression ratio: 12.5%–80%; measured average around 60%
  • •   Total encode + decode latency: choose 0 ms or 1/4 frame (e.g. 4.125 ms at 60 fps). 0 ms latency uses a pre-built color index; 1/4-frame latency uses a real-time computed color index for better compression.
  • •   Input formats: RGB, YUV444, YUV422, YUV420
  • •   Bit depths: 8 / 10 / 12 bit
  • •   Resolutions: 720p, 1080p, 4K
  • •   Max throughput: 4K-YUV444-60fps
  • •   Resource usage (Xilinx): encoder 15K LUT + 60 BRAM; decoder 50K LUT + 90 BRAM
  • •   Supports forcing the bitrate to fit within a specified network interface bandwidth (visually-lossless mode). Typical use: lossless real-time image transport over LAN. A 1080p@30fps YUV444 8-bit stream over single gigabit Ethernet — Huffman-diff compresses the bitrate from 1.49 Gb/s to under 0.895 Gb/s; a 4K@60fps YUV444 8-bit stream over single 10 GbE — Huffman-diff compresses the bitrate from 11.9 Gb/s to under 7.14 Gb/s.
© Copyright - Berglogic, Limited      BergLogic: Building 9, Floor 7, Shenzhen Bay Tech Eco-Park, Shenzhen            Phone: +86 755-26928530 粤ICP备2021019798号