I am trying to transfer Xbox Kinect video over a local network. I wrote a socket class that will send at about 25 megabits per second with a good connection and about 1 megabits per second with a bad connection. It will be on the robot, so I will shoot for 1 Mbps, and I would like to get 15 FPS with a minimum delay. Getting the YUV format from the camera (http://msdn.microsoft.com/en-us/library/jj131027.aspx) requires 4 bits per pixel. I will cut the resolution to 320 x 240. So let me do the math for the frame (320 * 240 * 4/1024/1024) = 0.29296875 Mb, which means that I can transmit at 3.4 FPS if I can send only 1 Mbps, so I need to reduce the byte array to about a fifth. I reviewed this before, but it actually takes longer to compress an array of bytes, send it and then decompress the array than to send raw data. Is there a good algorithm fast enough for this?
source share