Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Line buffering #2

Closed
Juninho99 opened this issue May 4, 2024 · 1 comment
Closed

Line buffering #2

Juninho99 opened this issue May 4, 2024 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Juninho99
Copy link
Collaborator

Juninho99 commented May 4, 2024

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:

  • Upon receiving pixel data from the camera, it is stored in a First-In-First-Out (FIFO) buffer.
  • As each line of pixel data is completed in the FIFO buffer, it is read out for transmission via HDMI.
  • To accommodate the speed mismatch between writing and reading operations, a full line buffer (1280 pixels in our case) is maintained, ensuring a continuous stream of data for HDMI transmission.

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:

  • Investigate the root cause of FIFO overflow/underflow and its impact on image transmission.
  • Experiment with different FIFO management strategies to optimize data flow and minimize buffer inconsistencies.
  • Evaluate the effectiveness of proposed solutions through simulations and real-world testing.
@Juninho99 Juninho99 changed the title Line/frame buffering Line buffering May 4, 2024
@chili-chips-ba
Copy link
Owner

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.

@chili-chips-ba chili-chips-ba added the documentation Improvements or additions to documentation label Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants