kinect-mssdk-openni-bridge Supplemental Diagrams Tomoto Shimizu Washio tomoto@gmail.com Twitter: @tomoto335e (en) / @tomoto335 (ja) Rev 1: 9/15/2012 Problem SensorKinect Driver and K4W Driver cannot coexist OpenNI App KinectSDK App UserID+ Skeleton Image Depth OpenNI FW User ID Image Depth Skeleton NITE User Node Avin2’s SensorKinect Image Node Depth Node SensorKinect Driver Kinect SDK Image Stream Depth Stream K4W Driver Skeleton Stream Bridge Solution Bridge alters SensorKinect by providing OpenNI-complient nodes that wrap Kinect SDK, so that OpenNI/KinectSDK apps can coexist OpenNI App KinectSDK App UserID+ Skeleton Image UserID+ Skeleton Depth OpenNI FW User ID Image Depth Skeleton NITE User Node Kinect SDK Bridge Image Node Depth Node User Node Image Stream Depth Stream Skeleton Stream K4W Driver Kinect Studio .xed Bridge Solution (cont.) App can apply NITE’s algorithms (e.g. User node) upon Bridge’s Depth node App can choose either User node of NITE’s or bridge’s ◦ User “query” on node creation ◦ Bridge’s User node works by itself but requires no depth node ◦ App can even use both at the same time if needed Compatible with recording/playback with Kinect Studio ◦ Because it is totally transparent under Kinect SDK ONI Recording Recorder node can apply on bridges Depth and Image node ◦ So XED -> ONI conversion is possible OpenNI App UserID+ Skeleton Image OpenNI FW .oni UserID+ Skeleton Depth Recorder Node NITE User Node Image Depth Node User ID Skeleton Kinect SDK Bridge Image Node Depth User Node Image Stream Depth Stream Skeleton Stream K4W Driver Kinect Studio .xed ONI Playback Bridge does not do anything with ONI playback ◦ Kinect SDK’s skeleton tracking cannot be applied on ONI OpenNI App UserID+ Skeleton Image Depth OpenNI FW Skeleton User ID NITE Depth User Node Mocks .oni Image Node Depth Node Image Kinect SDK Bridge Image Node Depth Node User Node I D K4W Driver S Misc Audio node is supported ◦ Wrapping DMO Device node is supported ◦ App can choose one of multiple connected Kinect Sensors ◦ Kind of hack, not perfect at all Design policy ◦ Stay upon Kinect SDK as possible rather than working around it