A Parallel Optimization Design for Demosaicing

A Parallel Optimization Design for Demosaicing


Summary

Verilog,Modelsim, Quarus II, FPGA

  • 使⽤ FPGA 实现去⻢赛克&中值滤波的硬件结构,使⽤ wujian100 作为控制模块
  • 增加并⾏去⻢赛克模块节约了 40%的 Liner-Buffer(相较传统架构)

Background

Bilinear是比较常见的Demosaicing算法。当我们先做Demosaicing再做中值滤波时,由于rwa2rgb过程会使数据信息密度降低(10bit raw -> 3*8bit rgb),采用3组Demosaicing算子并行运算可以减少40% Liner-Buffer使用


Main Idea

Liner-Buffer Architecture


通过6组同步RAM实现5组异步Line-Buffer


Demosaicing Architecture

  • 使用5x3的Demosaicing-Mask,将其拆分为3个3x3的Mask(数据复用的思想)分别输入到3个并行的Demosaicing模块中。
  • 输出的3个rgb数据分别进入中值滤波器中,与相邻时钟进入的数据一起进行3x3的中值滤波。

Implementation of RISC-V CPU

本次project我们使用集成了RISC-V CPU的SoC(wujian100)进行模块控制


Overview & Pipeline

加入pipeline设计,用少量的buffer的代价实现低能耗


Outcome

Comparation of Line-Buffer size between Tradition and Parallel algorithm

Line-Buffer size Tradition Parallel
Demosacing 4 of 10bit*W 4 of 10bit*W
Median Filter 2 of 30bit*W 2 of 10bit*W
Totally 100bit*W 60bit*W

新的设计节约了40%的寄存器开销

Junzhuo Zhou

HaoYu lab, SUSTech