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.

The Synchronization between camera and projector via video port

Other Parts Discussed in Thread: DLP4500

Dear all,

I have a question about the synchronization between camera and projector.

I use labview to come up changing patterns as pattern source. The changing patterns come through HDMI into the projector.DLP4500 is set to pattern mode via video port. The Vsync period is 16667 us and the pattern exposure is 9000 us.I only  use G0 as pattern sequence and "Trigger 2 pattern per pulse " is set to 12. So ,the camera triggered by trigger out 2 is triggered once every 200ms.

Return to labview, I make the pattern change once every 200ms . 

Theoretically,the camera and the projector can be synchronized.When the pattern changes,the camera takes one photo.However, the result is not so and has some laws.In most cases,it  works normal in first 3 photos but the forth one is the same as the previous one. Then it repeats  in this cycle.

How can i make them totally synchronized?

In other posts ,I find they use API to project. I wonder if i can project video via API(and how).

Thank you in advance for your attention

Jiong

  • Hello Jiong,

    Let explain what I think you are trying to do and please correct me if I misunderstood.

    You'd like to use the HDMI port from your PC to supply image data to the LightCrafter 4500 every 200ms. The problem you're seeing is that on the fourth photo is actually the same pattern as the third. 

    Unfortunately synchronizing data of a video port from a computer can be very difficult since the operating system controls the video steam. The API does not contain a method to send video through the HDMI port because video streaming is typically unique to the host system.

    I do have some questions about your sequence though that may help solve your problem. I believe you are using binary patterns, so let me know if this assumption is incorrect. How many patterns are you using in your sequence?  If you have 24 or less, you should combine these binary patterns into a single 24bit image. Then create your pattern sequence to use each bitplane on the image rather than G0 alone. If your sequence only expects a single VSYNC the controller will ignore the extra VSYNCs while it is running. This would guarantee that the same pattern is not displayed twice.

    Are you using the GUI or your own application code to control the LightCrafter 4500?

    Let me know if that makes sense or if I should explain it further!

    Best regards,

    Blair

  • Hello Blair, 

    Most of your assumption is correct. I was using binary patterns and the number of patterns is more than 24. In fact,it is more than 2048 and can be more,so we choose video port to project.

     If you have 24 or less, you should combine these binary patterns into a single 24bit image. Then create your pattern sequence to use each bitplane on the image rather than G0 alone.  ”

    This method uses video port or flash?

    “ If your sequence only expects a single VSYNC the controller will ignore the extra VSYNCs while it is running.  ”

     What do you mean? I cannot understand well.

    Are you using the GUI or your own application code to control the LightCrafter 4500? ”

    I was using the GUI to control the LightCrafter 4500.

     

    Yesterday,I tried this method again and found things have changed.In most time,the photo taken by the camera was synchronized with the projected pattern.But when the projecting time being long,it would miss one or repeat once. As I set trigger out2 to 12,I wonder if there is some problem in trigger out 2.Is it using a counter?

    Best regards,

    Jiong

  • Hello Jiong,

    Please see my responses below.

    1. This method uses video port or flash?
      1. This method works for both data sources.
    2. What do you mean? I cannot understand well.
      1. The computer outputs a 60fps (typically) video stream from the HDMI port which means the VSYNC is also 60Hz. If you you change the frame rate of your video out to say 30fps the VSYNC would then be 30Hz. The issue using a video source from a computer is the the OS controls the video output and user apps cannot easily control when video frames are updates. 
      2. Based on the description of your sequence settings, every pattern you are projecting is expecting data from a new frame which means its looks for a VSYNC pulse. If you can't control the timing of the video output this could lead to incorrect images being projected.
    3. As I set trigger out2 to 12,I wonder if there is some problem in trigger out 2.Is it using a counter?
    1. If your pattern sequence only has a single pattern, this should be set to 1. Set your pattern exposure and period to 200ms and the trigger output will be as expected.

    I recommend combining your binary images into the composite image and create a sequence to access the individual patterns within. Use the "Create Images" tool within the "Image / Firmware" tab of the GUI to create the composite images. After you create this image, set it as the image displayed from your computer. When you create your pattern sequence you'll need to remember the bitplanes you stored each pattern in to create your pattern sequence.

    Best regards,

    Blair