Well, this is interesting. Among the rumors surrounding the next generation XBox and ancillary technology is the suggestion that the next-gen Kinect will not use USB to interface with the console. Apparently the resolution of the Kinect 2 will be so high that USB cannot handle the throughput. From Eurogamer:
The current Kinect is hamstrung by having to pass data to the Xbox 360 through ageing USB technology – an issue discussed by Eurogamer last year.
When Kinect launched in November 2010 the depth sensor was set at a 30 frames per second limit and a 320×240 resolution limit. The issue relates to the USB controller interface, which is capable of around 35MB/s, but it only uses around 15/16MB/s. This artificial limit is in place because multiple USB devices can be used at once on an Xbox 360.
Kinect 2, however, can feed the next Xbox more information, and thus a higher resolution CCD [charge-coupled device].
“It can be cabled straight through on any number of technologies that just take phenomenally high res data straight to the main processor and straight to the main RAM and ask, what do you want to do with it?” our source said.
I wonder what kind of bus system they’re going to use to move all that data. More to the point, I wonder if said bus will be encrypted.
What do you think?
Adafruit has had paid day off for voting for our team for years, if you need help getting that going for your organization, let us know – we can share how and why we did this as well as the good results. Here are some resources for voting by mail, voting in person, and some NY resources for our NY based teams as well. If there are additional resources to add, please let us know – adafruit.com/vote
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
Why not usb 3?
I was thinking the same thing John.
I find it odd that they using a controller that tops off at 35MB/s which is almost 1/2 the speed of the USB 2 spec, and to cap it off even more.
USB 3.0 with its up to 5Gbit/s(640MB/s), 400MB/s with overhead, transfer speed should be more then enough. But another option is the Thunderbolt port which is a display port and pci-e adapter in one so it has direct access to memory.
Either option is viable along with many others. we will have to wait until something is officially announced.
Not sure where you get “35MB/s is almost 1/2 the speed of USB 2 spec”. USB 2.0 is 480Mbps, with an 8b/10b encoding. That means it’s absolute maximum line rate is 48MB/sec. Once you take into account protocol overhead you *might* get 40MB/sec, and 35MB/sec is not unrealistic given the turnaround times involved in getting buffers to/from the USB SIEs on either side of the cable (interrupt latency, etc). On top of that, USB spec actively splits up the bandwidth between devices so one can’t starve out the others, and this is enforced by the host, not the devices.
Assuming Microsoft doesn’t want to just invent a new protocol, there aren’t too many options for them to choose from that can meet this data rate.
The interesting hint is in the phrase: “It can be cabled straight through on any number of technologies that just take phenomenally high res data straight to the main processor and straight to the main RAM”. To maintain high throughput without loading down the main processor, they might be looking into protocols that can do direct-memory access. Firewire supports this (although DMA is the source of pretty much all FW-based security hacks), but USB 3.0 does not support DMA. Thunderbolt, since it is based on PCI-Express, also allows DMA, and would be a natural fit for a new, high bandwidth device, whereas Firewire is probably going to lose even more marketshare.
So if I were to bet, I would predict the next Kinect sensor will use Thunderbolt, if they really want DMA, otherwise they’ll just cram it into USB 3.0 and force one of the CPU cores to waste some time managing the link.
My worry is that if the raw image data is getting dumped to the processor to deal with, then it won’t matter if we can reverse engineer/tap into that data stream, we’ll still have to recode all of the image processing algorithms from scratch, instead of relying on the preprocessing that the kinect currently does. As such, it’ll be much more difficult to do anything useful with that data without.
Where they get 320×240? May be 640×480?
Primesense is Israeli. They should go with WIFI. Or even put a cellphone in it and sell it at apple store for 150$. It’s been out for a while
And it’s still 150, I bet you can get a clone in Shenzhen market for 20$.
And even up 10 years after xbox1 came out it was still 200$, then they stopped making games and the dev died, no more ultimate media player . ttyl xbmp. Maximize profit, minimize utility
My guess would be they invent their own protocol, and integrate Kinect 2 deeper into the next-gen XBox. There’s no real reason to use USB, it’s not like the Kinect is designed to connect to anything but that XBox, why bother with the overhead of controllers, the awkward protocols, special ASICs when you can just dump the raw data into the main CPU and use software? (The next-gen XBox will definitely have more than 3 cores, they can set aside one for Kinect processing and not worry about firmware upgrades).
The only reason this Kinect uses USB is because it was designed for the existing XBox, so they only could use its existing multi-purpose port… (and these were designed for game controllers, maybe a shitty webcam, so they probably don’t have 480MBit/s controllers, and definitely no USB3)
I hope they use USB3 and not Thunderbolt, which is a DRM infested piece of junk.