This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Streaming from GPU slicer with external trigger - Video or Pattern Sequence mode?

Other Parts Discussed in Thread: DLPC350

Hi Everyone,

I read through the manual and forums trying to figure out the best approach for the following application:

We have a GPU slicer that can output frames over HDMI and we can specify the number of channels. Our goal is to use the 4500 to display a low bit color video at 240hz.  (maybe 5 bit or 6 bit color whatever we can support)

We need to output an external trigger to tell a micro-controller to trigger another peripheral device at the beginning of each new 4 frame sequence - running at 60hz.  I would be happy to use the Vsync signal in video-mode if that was possible - but it seems like external output triggers are only possible in pattern sequence mode. 

Here are my questions:
a) Can I use the external output triggers when in video mode or only in "pattern sequence mode"?

b) Is the streaming over HDMI in "pattern sequence mode" the same speed as "video mode" ? 

c) Can you access the Vsync trigger on the 4500 and use this to sync external devices when in video mode? Or is this a bad way of thinking about video vs. pattern sequence modes?

Thank you in advance... 

  • Hi Seth Hunter,

    a). Currently the External triggers available in Pattern Sequence Mode only.

    b). Yes. Both can at 120Hz speed.

    There is difference in number of bits displayed in either mode and the quality of the video output.

    Video Mode - It is not a pixel accurate, the 24-bit R8G8B8 data is goes through image enhancement algorithms and optimization to display good looking image (for eyes). Also please be aware that there is hard-coded Video Sequence which allocates frame time between Red, Green, and Blue as 35%, 45%, 20% respectively. In this mode of operation, both DMD and LEDs are modulated to display good looking images for eyes.

    Pattern Sequence Mode - It is pixel accurate mode,  by this very nature of pixel accuracy, for example, to display perfect 8-bit grayscale it would require 4.8ms, and at 120Hz video rate, this means maximum only two channel from RGB 24-bit port can be displayed since the available time is just 8.33ms we could display only two channel 8-bit data. In this mode of operation, ONLY DMD is modulated and the LEDs are held ON during entire 8-bit pattern exposure. Also image enhancement algorithms are turned off.

    c) Sure, you can access the VSync as it is to drive external devices. You will get once every 8.3ms at 120Hz.

    To help us better understand, I have couple of questions -

    1. 5bit or 6bit color video at 240Hz - So is correct assumption that your end application for visual purpose to be be looked by the naked eyes? The reason behind the question is the Video Sequence currently offerred is hard coded for RGB 888 payload accepts upto 120Hz fps.

    2. you mentioned 4 frame sequence, do you mean 6x4 = 24bit and 5x4 = 20 (which is less than 24bit). Since we have only R G B color LEDs how you would like to display 4 frames, for example 6-bit each for each color? Which color you would like to apply for 4th frame?

    If there is anything you would like to discuss offline you are very welcome, please send me a friends request, we will discuss further.

    Regards,

    Sanjeev

     

  • Hi Sanjeev,

    Thanks for writing back so promptly. Your answers are very helpful.

    a) So I can access the Vsync trigger in "video mode"? From the board or by hacking HDMI?

    b) This application is for the naked eye - humans in visual spectrum. My goal is to generate a video that is played on 4 different planes in sequence. I want to maintain 60hz for my "sequence sweeps". But now I need to output a new frame 240x per sec. So - thus the debate between video mode and sequence mode. How would you approach this?

    c) My first thought is If video mode supports RGB 888 at 120hz. could it support RGB 444 at 240hz? Reading the manual, section 3.2.2 says that video mode takes 24,20, 16, 10, and 8 bit data from the 24bit RGB interface, I assume this means that you specify one of those data formats and no other formats are supported.

    d) If in Pattern sequence mode, I would like to display the sequences as close to color as possible. So if my 4 frames all start at full color I'd like to down sample them to a format that can be supported by the DLPC350. So a naïve calculation: at 240 hz I have 4.16ms to display information in this mode. I might be able to stream 8 bit image per frame and use 3-3-2 bit RGB from here: en.wikipedia.org/.../List_of_monochrome_and_RGB_palettes but I would not benefit from any of the video correction algorithms available in video mode - and who knows how it would look...

    Thank you for helping me think through this based on your experience.
  • Hello Seth,

    #a. Yes, you can hack the VSync from the O/P of the TFPxxx TI DVI receiver chip on the EVM board.

    #b. Ideally for human visual spectrum Video Mode is preferred. For your specific requirement this option is not possible currently. So my suggestion is to use Pattern Sequence Mode as immediate step. Once we complete the evalaution we can probably think about supporting in Video Mode.

    #c. Not currently. We don't have things in place to configure DLPC350 in display incoming RGB888 24-bit pixel data into two RGB444 12-bit frames. As I mentioned in (#b) above Pattern Sequence is the way to go.

    #d. You referred to 4 frames initally and also talked about RGB 3-3-2 8-bit per frame which gives 3 frames per 24-bit data input at 120Hz. So my response is for 3-3-2 8-bit per frame with payolad carrying 3 video frames on 24-bit interface,

    so with 3 frames on 24-bit port = 120x3 = 360Hz or 2 frames on 24-bit port = 120x2 = 240Hz possible.

    For 240Hz the frame time,

    3-3-2 frame time >> 4.1675ms

    this can be divided into 

    >> 1.5628ms Red 3-bit
    >> 1.5628ms Green 3-bit
    >> 1.0418ms Blue 2-bit

    The incoming RGB888 24-bit video must be mapping to 3:3:2 in the following order by  referring to DLPC350 Programmer's Guide Table 2-69, we can program 3bit:3bit:2bit Video as pRed:pGrn:pBlu. Key here is that your processor needs send 3:3:2 bits at positions displayed below for interpretation by the DLPC350.

    Frame #1 3-3-2:  

    pRed[3] = R[3:1]

    pGrn[3]  = R[6:4]

    pBlu[2]  = R7, R0 - 2bit grayscale will created from two 1-bit

    Frame #2 3-3-2:

    pRed[3] = G[2:0]

    pGrn[3]  = G[5:3]

    pBlu[2]  = G[7:6]

    Frame #3 3-3-2:

    pRed[3] = B[4:2]

    pGrn[3]  = B[7:5]

    pBlu[2]  =  B[1:0]

    You have to define pattern sequence accordingly then you would be able to display the 240Hz or 360Hz  3:3:2 RGB video output format.

    Let me know if it helps.

    Regards,
    Sanjeev

  • Sanjeev,

    Thank you for this reply - this helps us understand what our options are moving forward and how to think about streaming in "sequence mode". I will do some experiments based on these guidelines and assess the requirements for the system - if we can use video mode that would be preferable but it looks like sequence mode is the way to go for now.

    When you said "once we complete evaluation" did you mean TI finishes evaluating the 4500? At this point you may consider extending video mode to support lower bitrate color for high speed projection?

    Thank you,
    Seth
  • Hello Seth,

    Actually 'we' i mean both of us :), no, currently TI side we are not started looking into the new request.

    Since this is going to be a new request for the chipset and requires some study on enabling or implementing the feature, before we take this support; we have to justify the business case for it. My suggestion at this point is to start evaluating Pattern Sequence, once we are done with step, based on the opportunity we can discuss about addressing new request.

    Regards,

    Sanjeev