UVC는 USB 비디오 클래스를 의미합니다. USB 비디오 장치가 호스트와 통신하는 표준화된 방법을 정의합니다. UVC 호환 카메라는 이미 클래스 드라이버가 포함된 운영 체제에서 인식되는 경우가 많으며, 이것이 바로 UVC가 웹캠 및 내장 USB 카메라 모듈에 널리 사용되는 이유입니다.
제품 개발자의 주요 이점은 통합 속도입니다. 완전히 사용자 정의된 USB 비디오 드라이버를 생성하는 대신 애플리케이션은 운영 체제의 기존 비디오 프레임워크를 통해 카메라에 액세스할 수 있는 경우가 많습니다. 이는 빠른 평가가 중요한 프로토타입, 키오스크, 산업용 PC 및 임베디드 Linux 또는 Windows 장치에 유용합니다.
UVC는 카메라의 센서, 렌즈, FOV, 이미지 품질, 지원되는 해상도 또는 프레임 속도를 알려주지 않습니다. 또한 모든 선택적 컨트롤이 동일한 방식으로 구현된다는 보장도 없습니다. 두 대의 UVC 카메라는 서로 다른 형식, 노출 제어, 자동 초점 기능 또는 확장 장치를 노출할 수 있습니다.
따라서 'UVC 호환'은 전체 호환성 질문이 아닌 드라이버 클래스 질문에 대답합니다.
UVC 모듈은 MJPEG, YUY2 또는 기타 형식을 출력할 수 있습니다. 이로 인해 대역폭과 처리 요구 사항이 달라집니다. 예를 들어, 분명히 높은 4K 프레임 속도는 MJPEG에서만 사용할 수 있는 반면, 압축되지 않은 YUY2는 더 낮은 해상도나 프레임 속도로 제한됩니다.
사양을 읽을 때 항상 해상도와 프레임 속도 및 형식을 연결하십시오.
대부분의 주류 데스크톱 운영 체제는 UVC를 지원하지만 임베디드 호스트는 커널 버전, USB 컨트롤러 동작, 사용 가능한 대역폭 및 애플리케이션 프레임워크가 여전히 다를 수 있습니다. 카메라는 올바르게 열거되지만 호스트가 이를 유지할 수 없기 때문에 원하는 모드를 제공하지 못할 수 있습니다.
특히 고해상도 또는 다중 카메라 설계의 경우 정확한 대상 보드 및 운영 체제를 테스트하십시오.
표준 UVC 컨트롤에는 카메라에 따라 밝기, 대비, 노출 또는 초점이 포함될 수 있습니다. 외부 트리거, 독점 ISP 설정 또는 센서 레지스터와 같은 보다 전문화된 기능에는 공급업체별 제어가 필요할 수 있습니다. 장치가 UVC이기 때문에 자동으로 사용할 수 없습니다.
인터페이스 버전, 지원되는 해상도, 프레임 속도, 비디오 형식 및 사용 가능한 컨트롤의 5가지 항목을 확인하세요. 그런 다음 호스트 OS, 케이블 길이 및 다른 USB 장치가 동일한 컨트롤러를 공유하는지 확인하십시오. 이는 통합 노력에 대한 현실적인 시각을 제공합니다.
Windows 노트북은 UVC 카메라를 즉시 인식할 수 있는 반면, 내장형 Linux 보드는 동일한 장치를 열거하지만 커널, USB 컨트롤러 또는 디코더 제한으로 인해 요청된 4K 모드를 제공하지 못할 수 있습니다. 두 경우 모두 카메라는 여전히 UVC입니다. 이는 클래스 드라이버 지원과 애플리케이션 수준 성능이 두 개의 별도 레이어라는 점을 상기시켜 주는 유용한 정보입니다.
OEM 검증, 테스트 카메라 검색, 모드 협상, 재연결 및 최종 애플리케이션이 사용할 정확한 캡처 프레임워크를 위해.
UVC는 중요한 비디오 장치 동작을 표준화하지만 공급업체는 다양한 컨트롤과 확장 장치를 노출할 수 있습니다. 외부 트리거, 독점 ISP 튜닝 또는 비정상적인 센서 모드는 표준 제어 범위를 벗어날 수 있습니다. 프로젝트가 특수 기능에 의존하는 경우 UVC가 이를 처리한다고 가정하는 대신 호스트가 해당 기능에 어떻게 액세스하는지 물어보세요.
일반적으로 드라이버 작업이 줄어들지만 정확한 호스트 OS, USB 컨트롤러, 비디오 모드 및 선택적 컨트롤은 여전히 검증이 필요합니다.
아니요. UVC는 장치 클래스입니다. USB2.0 및 USB3.x는 전송 인터페이스와 대역폭을 설명합니다.
예, 모듈에 자동 초점 하드웨어가 포함되어 있고 관련 컨트롤을 노출하는 경우 가능합니다. UVC 자체에는 자동 초점이 필요하지 않습니다.