2014-07-18 4 views
0

kinect 장치와 다른 USB 웹캠이 모두 포함 된 프로젝트를 진행하고 있습니다. kinect 부분과 웹캠 부분은 별도로 만들어져 예상대로 작동했지만 통합 단계에서만 내 kinect 장치를 동일한 컴퓨터에 연결할 때마다 내 웹캠이 작동하지 않는다는 것을 알게되었습니다.Kinect 장치로 인해 웹캠과 충돌이 발생합니다

Kinect 장치는 Microsoft Kinect SDK를 사용하여 실행되며 웹캠은 DirectShow를 사용하는 OpenCV를 사용하여 연결하여 연결을 용이하게합니다.

나는 virtualdub과 DirectShow를 통해 웹캠에 액세스 할 수있는 다른 방법, 그리고 키 넥트가 분리 될 때 작동 할 때마다 같은 다른 프로그램을 사용했는데, 키 넥트가 연결되면 작동을 멈 춥니 다.

나는 그것이 줄 알았는데 뭔가를하고있다 웹캠의 전력 부족으로 인해 DirectShow는 비디오 스트림을 얻을 수 없어도 웹캠을 인식 할 수있었습니다. 웹캠과 kinect 장치는 컴퓨터의 다른 두면에 있으므로 두 가지가 서로 가까이 있지 않습니다. 웹캠에는 외부 전원 공급 장치가 없으며 USB 케이블 만 사용하여 실행되지만 외부 전원 공급 USB 허브를 사용하여 웹캠을 실행하려고했지만 문제가 여전히 존재합니다.

Kinect 장치가 웹캠과 동시에 연결될 때 Directshow가 웹캠 연결을 망칠 수있는 원인은 무엇입니까? DirectShow에서 웹캠의 문제를 확인하는 방법이 있습니까?

+1

[USBView] (http://www.uwe-sieber.de/usbtreeview_e.html)를 사용하여 두 가지 USB 장치에 대한 기술 정보를 게시 할 수 있습니다. 예를 들면 그들이 동일한 내부 usb 허브에 있는지보기 위하여. (결합 된 대역폭은 USB 연결에 비해 너무 높을 수 있습니다.) – wimh

답변

0

다음은 부분 답변입니다. 문제는 PC에 USB 호스트 컨트롤러 세트가 있다는 것입니다. 장치 관리자에서 "범용 직렬 버스 컨트롤러"트리의 목록을 볼 수 있습니다. PC에는 "USB2 Enhanced Host Controller"및 "USB Universal Host Controller"항목이 하나만 있습니다. 장치가로드되면 Windows 커널은 장치에 필요한 호스트 컨트롤러를 결정합니다. 예를 들어, 프린터의 대역폭 요구가 낮고 Universal 호스트도 좋습니다. 모든 카메라와 Kinect 장치에는 Enhanced 호스트가 필요하므로 웹캠과 Kinect는 모두 동일한 호스트에서 실행됩니다. Kinect LED는 뚜렷한 프로세스가 없어도 깜박이며, Kinect 드라이버가 USB 대역폭의 일부 (또는 많은 부분)를 사용하고있는 것으로 생각됩니다. 나는 USB 패킷 모니터 응용 프로그램을 연결할 때까지 확실히 말할 수 없다. Kinect가 대역폭을 사용하고 있다면 DirectShow 응용 프로그램이 웹캠에 액세스 할 수있는 이유가 설명됩니다.

그럼 어떻게해야합니까?

여기에는 두 개의 구형 듀얼 XEON 워크 스테이션 (HP 및 Dell)이 있으며 여기에는 하나의 Enhanced Host 및 여러 Universals가있는 동일한 Intel 88201 칩셋이 사용됩니다. 범용 호스트에 Enhanced 드라이버를로드 할 수 없습니다. 새로운 Acer 랩탑에는 여러 개의 고급 호스트가 있으며 웹캠에서 비디오를 스트리밍하고 Kinect에서 스트림을 동시에 표시 할 수 있습니다.

유일한 해결책은 Enhanced 드라이버를 지원하는 다른 PCI 또는 PCI-e USB2 또는 USB3 카드입니다. 자세한 내용을 제공하는 웹 사이트의 Tech Note를 준비 중입니다.

S D PiXCL Automation Technologies, Canada.