<< return to Pixycam.com

FPS via USB, Frame compression, USB device ?

Hello folks,

  • whats the updatrate (fps) over USB ? It’s usb 2.0 ?

  • I am still quite unfamiliar with USB, looking at you’re usb implementation it looks like a vendor specific usb device?

  • Does pixy support any vide or framecompression to increase the framerate via usb?

I assume you do not support image compression, do you think it’s even feasible with the arm cortex? I am looking for an opensource/openhardware project with at least 20-30 FPS over USB. I played with a OV7670 and a Cortex M4 Board. However, I struggled with the USB implmentation (on cortex and host with usb).

Regards
Christoph

Hi Christoph,

  • I haven’t measured the video frame rate over USB lately, so I’ll have to get back to you on that. Yes, it is USB 2.0.
  • Pixy will show up on your computer as a Charmed Labs device. It uses the open source “libusb”:http://www.libusb.org/ library.
  • We haven’t implemented any frame compression, but I suspect that Pixy’s processor isn’t fast enough to make this worthwhile. The time it would take to compress the frame would be better spent sending the raw data over the USB. This is mostly a gut feeling, so I could easily be wrong. Its definitely worth looking in to further.

I hope this helps!

Scott

To follow up on the FPS over USB - we’re able to send over 50 FPS over USB, but the problem currently is memory. We only have one framestore, which limits us to 25 FPS. You grab a frame, store it, and start sending it, but meanwhile you can’t grab another frame… ,etc. Might be able to rearrange things to work around this limit.

Scott

Scott Robinson wrote:

To follow up on the FPS over USB - we’re able to send over 50 FPS over USB, but the problem currently is memory. We only have one framestore, which limits us to 25 FPS. You grab a frame, store it, and start sending it, but meanwhile you can’t grab another frame… ,etc. Might be able to rearrange things to work around this limit.

Thanks for the reply.

First of all im not good with usb, I was unsuccessfull to implement it myself on a cortex m4. From my understanding the framerate depends on the host anyway, still the device must be fast enough to satisfy the desired feed.

However: USB 2.0 gives you 480kbit/s or 60MB/s. 50Frames of 1280*800px at 8bit/px gives 51.2 MB/s. One application AN57294 from cypriss states the effective data rate is 53 MB/s … close call :wink:

I want to do some stereovision stuff with 10-20 FPS and look for similar projects, so image compression would help alot to reduce the bandwith.

btw: thats maybe an idea for the next pixy iteration. Object recognition combined with a stereo position measurement system. The Arduino folks would love you :wink:

Regards
Christoph

I would love to see someone use Pixy for stereovision applications. If I ever find the time, I was hoping to see how well visual odometry would work with Pixy. I’d probably need to take quite a few shortcuts to make it fast enough, but its worth a shot. Definitely keeping it in mind for the next Pixy!

Good luck!

Scott