Video overlay of hundreds of "small" bitmaps (~100 X 100 pixels) on a 1080p hdmi

I have a binary bitmap to be used as a display for a monitor that will drive a digital micromirror display (DMD) over an HDMI input.  The DMD chip is 1920 X 1080 pixels.

Initially, the pixel bitmap will be all zero (= all mirrors in the "off" position on the DMD).

Roughly 10 times per second, I want to overlay a new bitmap consisting of roughly 100 duplicate pixel arrays (say ~100X100 pixels each) each with a different XY center.  All pixels are either 0 or 1 at all times and the size/shape of this replicated unit can be predefined.

I need to use an existing bus that I have (USB, SPI, or I2C) in an effort to avoid an FPGA or a similar approach needing firmware development (e.g., Cypress FX3 or similar).

I don't want to use a built-in monitor (e.g., HDMI or DisplayPort) for streaming the images, but I could constantly project a black background (1920 X 1080 again) over an HMDI monitor as an input stream to an overlay IC needed.

I see that the ADV8005 may be able to do something like this, but can it handle the on-the-fly nature of the 100X100 bitmaps that I want to display?

Other approaches welcome (aside from FPGA of FX3 type stuff) Slight smile



  • 0
    •  Analog Employees 
    on Aug 5, 2020 11:30 AM 5 months ago


     ADV8005 offers all these possibilities as it can overlay an external video over main video and also has an internal OSD engine to display custom menu with embedded external video.
     The link to DDR2 memory through SPI can be used to load video frames for a small preview of video or live streaming.
    While video frame rate, quality and size will be limited by SPI speed and available DDR2 DMA speed in ADV8005, small lower quality preview window can be displayed.
    A new Analog devices wiki page has been created with more information on ADV8005 PIP, Please refer below



  • Thanks for the info.  I have looked at the datasheet and had some questions.  

    Going through SPI will be too slow, unfortunately.

    How about a solution where I write a bunch of 1080p frames to a DDR2 buffer (via an FX3 for example), then use an ADVXXX IC to take that data from the DDR and stream the frames over RGB888 or HDMI output in "small" video segments that are ~300 frames each?

    Bonus points if the IC needs no video input (or if we could just feed it a dummy 1080p "all 0" data at all times).

    I saw that the ADV7186 is in this ballpark?  Any ideas?


  • +1
    •  Analog Employees 
    on Aug 6, 2020 11:03 AM 5 months ago in reply to gt5659a


     The only ADC decoder part we have that can supports OSD functionality is ADV7186 and its automotive qualified one. This part however is only supported though certain opportunities and this part is recommended for new design however but is still under NDA and we can talk about it on the Forum, Please contact your local ADI sales office for further information on using ADV7186 for your application.

     But PIP overlay ,We can support only through ADV8005/8003.