UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor ugur
Visitor
905 Views
Registered: ‎03-13-2018

Oculus RIft CV1 to ZCU102 with reVISION Getting Started Guide 2017.4

Jump to solution

Hi all,

 

for a research project I want connect my Oculus Rift CV1 with Xilinx ZCU102 where I'm currently running the reVISION Getting Started Guide 2017.4. On my PC I get Oculus CV1 to run but I want to attach to my FPGA board. My goal is to capture a video from a camera attached to the ZCU102 and display it in the Oculus CV1. Do you have any experience on how I could do that?

 

Any help is appreciated!

 

Thank you very much!

 

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
Scholar austin
Scholar
1,131 Views
Registered: ‎02-27-2008

Re: Oculus RIft CV1 to ZCU102 with reVISION Getting Started Guide 2017.4

Jump to solution

In reVision,

 

You target what you want to the PL.  Then rebuild.  If the video in video out is left in c/c++, I expect even the pass through is slow.  The prebuilt optical flow has a pass-through (all in hardware).  That should be as fast as can be (with this architecture of waiting until a frame is in DDR memory - see below).

 

The pass-through mode (video in to video out) uses some programmable logic for the MIPI camera, then goes to a PS AXI port.  The pass-through gathers video frames, writes them to DDR memory, then fetches them to display on the HDMI or DP display ports.  I suspect that there is no way to reduce the latency in all that as the frame rate is used to change pointers to frames to be displayed.  So the control of what to display waits for an entire frame to be written to DDR memory, before it updates the pointer for data to be sent to the display.  Look at the optical flow c/c++ code.  Not too hard to find where the pointers get updated by the frame rate of frames written into the DDR.

 

 

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
4 Replies
Scholar austin
Scholar
872 Views
Registered: ‎02-27-2008

Re: Oculus RIft CV1 to ZCU102 with reVISION Getting Started Guide 2017.4

Jump to solution

u,

 

Looks like you have a lot of work to do.

 

Unknown if the zcu102 HDMI supports the video format and rates, certainly the board has USB 2, and USB capabilities, but the drivers to integrate the VR headset certainly are not in reVision (nor are they likely to ever be for a crowd funded VR headset).

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Visitor ugur
Visitor
859 Views
Registered: ‎03-13-2018

Re: Oculus RIft CV1 to ZCU102 with reVISION Getting Started Guide 2017.4

Jump to solution
Hi!

I know I know :((
But I dont want to give up yet. First I try to implement a low latency (<30ms) video transmission. For that I‘ve bought a Leopard Imaging cam (IMX274) which was suggested in the reVision TRD. However, I attached the cam and sawa video on my desktop bit with a latency of 70ms. The video transmission in the TRD is using the Processor, I think this is the reason why its so slow. Is there a reference design which implements the video transmission from this cam only over the fpga to achieve low latency?

Any help appreciated! 🙏🙏
0 Kudos
Scholar austin
Scholar
1,132 Views
Registered: ‎02-27-2008

Re: Oculus RIft CV1 to ZCU102 with reVISION Getting Started Guide 2017.4

Jump to solution

In reVision,

 

You target what you want to the PL.  Then rebuild.  If the video in video out is left in c/c++, I expect even the pass through is slow.  The prebuilt optical flow has a pass-through (all in hardware).  That should be as fast as can be (with this architecture of waiting until a frame is in DDR memory - see below).

 

The pass-through mode (video in to video out) uses some programmable logic for the MIPI camera, then goes to a PS AXI port.  The pass-through gathers video frames, writes them to DDR memory, then fetches them to display on the HDMI or DP display ports.  I suspect that there is no way to reduce the latency in all that as the frame rate is used to change pointers to frames to be displayed.  So the control of what to display waits for an entire frame to be written to DDR memory, before it updates the pointer for data to be sent to the display.  Look at the optical flow c/c++ code.  Not too hard to find where the pointers get updated by the frame rate of frames written into the DDR.

 

 

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Moderator
Moderator
807 Views
Registered: ‎11-09-2015

Re: Oculus RIft CV1 to ZCU102 with reVISION Getting Started Guide 2017.4

Jump to solution

Hi @ugur,

 

If everything is clear for you, please close the topic by marking a reply as accepted solution.

Thanks and Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos