chili-chips-ba / openeye-CamSI

A truly opensource camera serial interface. No frills. No backdoors that compromise security. Outstanding signal integrity. Hi-rez video pipeline with remote connectivity. For Sony, Series7 & open FPGA makers on limited budget. Augments openXC7 CI/CD, challenging its timing-savvy. Promotes the lesser-known EU boards.
https://nlnet.nl/project/TISG
14 stars 4 forks source link

Line buffering #2

Closed Juninho99 closed 1 month ago

Juninho99 commented 2 months ago

Overview: In our project focused on transmitting images from a camera through an FPGA to a screen via HDMI, we encountered memory constraints when attempting to store entire frames. To address this, we implemented a line buffering approach, where a specialized debayer module was developed to store and process image data line by line. This issue aims to document the line buffering technique employed and its integration into the project.

Background: Traditionally, frame buffering involves storing an entire frame of image data in memory before transmitting it to the display. However, due to memory limitations, this approach was not feasible for our application. Instead, we opted for line buffering, which involves storing and processing image data one line at a time. This not only reduces memory requirements but also facilitates real-time processing and transmission of images.

Line Buffer Implementation: The line buffering mechanism consists of a dedicated module responsible for managing image data from the camera. This module operates as follows:

Objective: This issue aims to address the FIFO overflow/underflow problem encountered during the line buffering implementation and propose potential solutions to mitigate its impact on image quality and stability.

Next Steps:

chili-chips-ba commented 1 month ago

Now that we have a solution that's proven to work on the actual hardware, upon creating a representative sim testcase, consider closing this issue.