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.

VPFE VPBE DM6437

Hi,

I have a question: in my application I'm implementing a real time inspection system, I acquire image from cmos sensor and I visualize output on a screen. I'm started from ccsudio example, all works correctly. I have also to implement some Image processing algorithm but just now I see that the system is not real time, I notice a perceptible delay in the output image. It's corretc to implement a video task with acquisition of from VPFE and visualization on VPBE? There is a more efficient method? Also because I have to implement some heavy computational routine, and I want to introduce a task to send some image on ethernet.

  thanks

 

David

  • DavidGarcia said:
    I have also to implement some Image processing algorithm but just now I see that the system is not real time, I notice a perceptible delay in the output image.

    I think one of us is misinterpreting what you mean by "real-time." To me, real-time in a system infers that the system is able to keep up with its processing/data transmission needs without dropping samples/frames. I think you are suggesting that "real-time" means that as soon as an object moves the camera captures it, the processor processes it, and the display displays it instantaneously. There is always a latency involved in each of these stages as it takes time for the data to transfer into the DSP, get processed, and transfer back out. That is why you see the display updating shortly after the object moves. This does not mean that frames are dropped.

    DavidGarcia said:
    It's corretc to implement a video task with acquisition of from VPFE and visualization on VPBE? There is a more efficient method?
    Using the VPFE and VPBE is the most efficient method of acquiring video data on this device and sending data out to a display. The VPBE is not necessary if you are only sending the image out over Ethernet.

  • Yes, sorry for "real time " word!!! In my progect it seems that some frames are lost, because video output on display is not  fluent, continous! Also with the example project of evm6437 I notice this effect, and I connect to VPFE a S-VIDEO input from TV decoder(not a CMOS with probably low frame rate)! I know about VPBE, but I have to also in some situation frames to a remote PC with TCP.

    Thanks,

       David

  • DavidGarcia said:
    In my progect it seems that some frames are lost, because video output on display is not  fluent, continous! Also with the example project of evm6437 I notice this effect

    Which example project are you seeing this frame dropping in? In general a straight up loop back from capture to display should not be dropping frames though it will generally have a couple of frames delay, so the input and the output may not appear to be in perfect sync. If you have a heavy video processing algorithm built into your FVID_exchange loop you can cause the system to drop frames, essentially any time that either the capture FVID_exchange or the display FVID_exchange are not serviced in time for the next frame than you will end up with a frame dropped. If you have other tasks in the systems such as a network transmit you can structure your code such that the FVID_exchange loop has a higher priority to avoid dropping frames on the loop through, is this the sort of solution you are looking for?

  • I'm using rawcapture example. Ok I have understand, but how I can set priority in FVID_exchange task if my image elaboration is inside in this loop? Just now I notice dropped frames and I have not yet implemented a network task.

    regads,

      David

  • DavidGarcia said:
    how I can set priority in FVID_exchange task if my image elaboration is inside in this loop?

    If the algorithm is inside the loop and the algorithm is not happening fast enough than there is no priority you can change to avoid the dropped frames. What you can do depends on how necessary it is that your image processing algorithm happen on every single frame that is displayed, if you need to run your algorithm on every frame that is displayed than all you could do is optimize the algorithm to take less time.

    If your algorithm does not need to run on every single frame that is displayed than you could use a seperate task of lower priority for the algorithm to process while leaving your FVID_exchange loop in the higher priority task so it can continue to pass through frames even while the processing is happening. You would have to work out some inter task communication (such as the SEM or MBX modules described in SPRU403) to manage getting new frames into the processing task, and may want to double buffer a queue of frames to process so that the processing task can continually process independently of the FVID_exchange loop task. Note that this implementation may lower the rate of processed frames due to the overhead of copying the frame buffers from the FVID_exchange task to be used in the process task, however it should allow a continual flow of frames from capture to display.  

  • I have got 2 DM6437 (one is transmitter and other Receiver )

    Both has been connected to LAN.

    With the help of one DM 6437 i captured a video and passed it via LAN , made it as preview  in the GUI (Hosp application ) , at the receiver side.

    There is no option for the real time utilization of that incoming video, so that i stored it in Hard Disk at the receiver side.

     my doubt is, i need to visualize the incoming Video in the screen via DM6437 in the receiver side, in a real time cases.

    That is , i need to modify the HOST application (GUI), so that  while capturing video at the transmitter side, i need to visualize it in the receiver side , via DM6437 in the two extreme side.

    i need to modify GUI or any development in program coding section part ?

    Kindly help me !!!!!!!!!!!