Is Xbox 360 holding back Kinect?
USB "technicalities" blamed.
Blitz Games founder Phillip Oliver says that the "technicalities of the Xbox" are holding back Kinect from providing higher resolution images. Talking about Blitz's new game, Yoostar, with Gamesindustry.biz, Oliver describes how Microsoft added a digital zoom to the Kinect feature-set as the full high resolution image was not available for the developers to access themselves.
"So what we wanted to do was, instead of asking the player to get closer to the camera, was zoom the camera into where they were," Oliver explains, talking about how Yoostar handles close-up shots of the player.
"The Kinect camera is quite a high res camera, so we actually asked that we have access to the higher res picture. But they can't give the full resolution picture, at the full frame-rate, because of the USB 2.0 connection. It's just the technicalities of the Xbox.
"So what we said was, we just need to access a section, a piece of the image and bring that through in a higher resolution. Effectively a digital zoom. Which they gave us. That's an excellent feature. So now you don't even have to get into frame yourself. The camera can select the right bit of the high res picture and zoom in itself."
Oliver's comments may obliquely address one of the most curious technical mysteries surrounding Kinect. Hackers have interfaced their PCs with Kinect and attained a full 640x480 resolution from both the RGB camera, and the infra-red depth sensor (which I tested myself with the OpenKinect driver installed on my laptop - download it, it's way cool!). However, Microsoft's own spec says that the depth image's resolution is limited to a quarter of what the hackers are getting via their own experimentation: 320x240. Update: Kinect hacker Hector Martin has confirmed to Digital Foundry full 640x480 from both sensors at 30FPS via his driver, with throughput in the region of 20MB/s.
The question is, why? One decent theory is that while the depth sensor may format in a 640x480 res, the actual sensor resolution quality may be somewhat lower - you see this a lot with the CMOS sensors on so-called HD camcorders. Downscaling (if you can call it that) the depth image may address this, save data throughput and save depth image processing to boot: a worthwhile compromise in minimising the use of console resources.
However, Oliver's comments about USB being the issue brought to mind a previous DF article: our analysis of the USB flash storage update Microsoft added to the 360 dashboard. We saw a limit of around 16MB/s copying from hard disk to USB storage, even when using an ultra-fast SSD as our target drive. This is somewhat at odds with the PC, where you would expect the same HDD to flash operation to top out at just over 30MB/s - pretty much the "real world" limit of USB 2.0. A USB to USB copy operation saw that 16MB/s drop to 10MB/s, perhaps suggesting that the bandwidth of the available ports is shared.
So when Phillip Oliver talks about the "technicalities of the Xbox", you have to wonder if Microsoft's own USB 2.0 controller is allocating certain amounts of available bandwidth for different purposes - after all, in theory that single chip has to handle Kinect, flash drives (which support game installs, remember), WiFi adaptors and wired controllers - all simultaneously. It'll also be curious to test out whether the Xbox 360S has the same bandwidth cap issue on USB transfers, or whether the USB architecture was upgraded in order to accommodate the more numerous ports the new unit has.
You may also like...
-
Gravity Rush Review 48
-
Sony patents method to interrupt your gaming with an ad 107
-
Wii U Aliens: Colonial Marines is best-looking version because of console's "more modern tech" 74
-
Kingdoms of Amalur: Reckoning needed to sell 3 million to break even 65
-
Activision vs. Vince Zampella and Jason West: Inside the game industry trial of the decade 70
-
Skyrim gets mounted combat in new update 53
-
Arma 3 in-engine footage shows off lighting tech 18
-
App of the Day: Go Robo! 2
-
Dirt Showdown Review 89
-
Ghost Recon: Future Soldier Review 132
-
Minecraft overtakes Black Ops on XBL activity chart 25
-
Minecraft total sales hit 9.2 million 8
-
FIFA has a new world champion 8
-
How the Darksiders 2 delay benefits you 9
-
Tony Hawk's Pro Skater HD soundtrack listing revealed 18
Comments (38) Latest comment 1 year ago
Comments for this article are now closed, but please feel free to continue chatting on the forum!
Comment below viewing threshold Show
Ah well.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Yeah probably Kinect on PC will be able to do a lot more with mega processing power available.
Then again Kinect is doing what it should do on 360. What kind of weird article is this anyway?
Comment below viewing threshold Show
Comment below viewing threshold Show
Kinect and what processor??
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
If the 360's USB is limited to 16MB/s, doesn't that mean you'll never be able to make use of a faster than 16MB/s internet connection? Surely that means the Zune HD video is limited to 16MB/s (which is my current connection speed).
I'd be interested to know whether devs could use JUST the depth sensor and get the higher resolution, while negating the RGB image?
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
In any chain of devices that are sending data to each other, one of the parts of the chain will be the slowest, and consequently affect the data available (per unit of Time) that is available to the other devices in the chain (this is kind of obvious, right).
What we have here is a chain in which the communciation bus between devices is the slowest link.... which is really not that uncommon.
I guess what we also have in the mix is that all the USB ports on a 360 seem to be on one controller, meaning they can't all run at full pelt. But its a console, and part of any console's design is to be cost effective. Using a controller per port would be pricey (remember the PS3 dropping from 4 ports to 2 - it wasn't the ports themselves that cost money, it was the second controller behind them) so its naturally not going to be built that way.
All that is going on here is someone looked at a bunch of technologies combined, and said "if you changed that bit there for something else, the whole system would be better". Well, of course.
Comment below viewing threshold Show
In truth, I only barely know wtf I am going on about. Consider it to be thinking out loud
Comment below viewing threshold Show
The Hub uses all of them, so theoretically the two cameras (not including the projector - of course) at their lower resolution take up the total 16MB/s. What is either of the above games dropped use of the mic, doesn't that leave more bandwidth for the cameras?
Didn't the Kinect only gain the mics recently? Maybe MS decided that the higher res cameras were worth losing in favour of the mic(s). Surely, they could theoretically allows devs to choose which parts to make use of?
It's possible that future games do a lot of than we're getting now.
Comment below viewing threshold Show
Sorry if I'm taking over this thread, I find the device really interesting.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
edit: can't type...
Comment below viewing threshold Show
I've heard that the slim 360 supplies power as well, so you don't need a separate PSU. Not sure about transfer speed, but I think it is kind of academic. A dev can't make a game that only works on the new slim system, so any advantages it might bring in this area probably can't be realised.
Comment below viewing threshold Show
My guess would be that camera systems like this work by analysing pixels (I'm sure groups are analysed, and all sorts of other clover codey stuff, but essentially pixels are "looked at"
Comment below viewing threshold Show
That theory suggests analysing 3x the pixels may equate to as much as 3x the lag? Though I guess it depends on the speed of the internal processor. Analysing a lower res image may still take the same time as a higher res image.
Reading every 3rd pixel is sort of what it's doing now with the lower res.
Comment below viewing threshold Show
"That theory suggests analysing 3x the pixels may equate to as much as 3x the lag?"
I wouldn't be so bold as to suggest the degree by which the work would be increased. I think words like "more" and "less" are about as much as my experience will allow me to use with any kind of authority.
"Reading every 3rd pixel is sort of what it's doing now with the lower res."
If you only did one pass, that might be true. But you missed out the bit in my theory that said you zoom in for a closer look. If you start with a 320x240 source, you can't get any more detail than it provides. However, if you start with a 640x480 image, scan every 3rd pixel for changes (movement in other words), and then do a second pass analysing the pixels that surround ONLY the ones that showed change in the first pass, you get the same potential level of detail without wasting time analysing parts of the image that have already been identified as "still".
Comment below viewing threshold Show
Absolutely, though if part of the issue is to do with throttling the bandwidth of a USB port (as the analysis suggests), that is something that could be different on a customisable platform such as a PC, as the vendor could simply demand that the peripheral have its own USB controller (impractical as that may be).
Comment below viewing threshold Show
Serve my curiosity; what is your experience?
Comment below viewing threshold Show
I expect the xbox is limited to 320x240 to limit the processing power the xbox loses to the camera.
First prototypes of Kinect did have a better processor, but it was too expensive to release as an add on so it was removed.
Comment below viewing threshold Show
Comment below viewing threshold Show
...
HANG ON A MINUTE
Comment below viewing threshold Show
Comment below viewing threshold Show
Tee hee. You're terrible, Muriel.
Comment below viewing threshold Show
if i remember correctly, xbox 360 USB 1 and USB 2 (2 ports on front) yes its slow.
But the USB 0 (the USB port on back, near Ethernet) is a lot faster.
@article about the "high resolution".
it make me thinking what IF, kinect sensor (camera) is actually really high resolution. Maybe more than the current 640x480pixels.
But for some reasons, MS decided to stream :
RGB @ 640x480 @ 30fps and
Depth @ 640x480 @30fps
but also for some reason, MS decided to downscale the depth from 640x480@30fps to 320x240@30fps in "game mode".
this make me wonder, what if kineck kamera is both high-res (maybe 1.3MP or more?), also what if the depth also capable projecting higher resolution "Dots" (higher dpi).
so when Kinect is fully hacked, installed custom firmware (or something), PC can stream ONLY the depth sensor. Thus USB 2.0 bandwidth will still sufficient for maybe about 1MP depth image.
i wish MS if really support the "hacks/mods", MS release the real tech spec of kinect, etc.
give some web page containing knowlege base or something, etc
Comment below viewing threshold Show
I'm actually a designer, but I've quite a technical background from other jobs. I can't write code well enough to do it for a living (translation: these days, I can't write functional code at all), but I understand a lot of the logic behind it.
"So you're only looking at the person within the image and analysing those pixels?"
Pretty much yeah. I think that initially its just about "which pixels have changed and which haven't", but eventually (assuming that your furniture stays still and you move about) it will boil down to "we know the player is in this area, so we'll only bother looking at that area in detai, unless we see drastic changes during our first pass" as you say. This will be done over and over of course, every frame perhaps.
I think face recognition in particular works this way. You scan the whole image very quickly, dismiss the bits you know for sure aren't a face, and then go in for a "closer look" at the bits to that MIGHT be a face, to see for sure. I guess you could do this several times, increasing the detail but reducing the area examined with each successive pass.
Analogy (perhaps patronisingly simple - apologies). You are looking out of a tall building next to a field. You've been asked to identify cows. You have a pair of binoculars. So you look down at the field using your naked eyes, and you are able to see black dots on a green field. You dismiss the green bits ('cos you know cows aren't green), but you note the position of the black dots. You then use your binoculars to look at the black dots, to see which of them are cows and which are something else.
By this method you can find cows in a very large area without wasting too much time. If you had no binoculars (the 320x240 situation) you would likely miss cows, or mis-identify things as cows that were not. If you were ONLY allowed to use your binoculars (the single pass 640x480 situation) you would find all the cows, but it would take ages as you would also be looking in detail at lots of empty grass.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
I hope if they insist on motion gaming next gen, MS will make something more akin to Wii/Move to go with Xbox720 - THAT is the only way forward for things like FPS and immersion/feedback. Waving around in thin air while looking at a static display (with no controller) is retarded. If it had a HMD full stereoscopic and wide FOV *THEN* they may be onto something (personally I'd still feel better in a gyroscope ala lawnmower man than making dangerous wankerish movements in my everyday living space).
This is one heck of an ill thought out product!
Comment below viewing threshold Show