버전: 1.2.1
최종 업데이트: 2024년 6월 14일
Legend
| 제품 동사 | 개발 작업 |
|---|---|
| 'MUST' | 필수 제품 요구사항 |
| 'SHOULD' | 선택적 추천 |
| 'MAY' | 참고사항 |
개요
이 문서에서는 ChromeOS 호환 USB 헤드셋이 충족하는 요구사항을 설명합니다. 이 사양은 WWCB 제품이나 Chromebook과 함께 설계되고 인증된 제품에는 적용되지 않습니다.
USB
보안
2.4GHz 무선 동글
- 2.4GHz 무선 기기는 상자에 포함된 수신기 (동글)와만 자동 페어링됩니다.
- 헤드셋을 다른 수신기와 페어링하거나 새 헤드셋을 기존 수신기와 페어링하려면 사용자 작업 (기기 또는 앱을 통해)이 필요합니다.
- 앱에서 헤드셋/수신기 페어링을 변경해야 하는 경우 앱은 확장 프로그램을 통해 ChromeOS에서 실행되어야 합니다. 앱은 WebUSB/WebHID를 사용하는 웹 앱일 수도 있습니다.
- 확장 프로그램을 통해 페어링이 구현된 경우 확장 프로그램은 USB 포트에만 액세스할 수 있어야 합니다. 콘텐츠 스크립트가 명시적으로 허용되지 않습니다.
펌웨어 및 커넥터
- 헤드셋은 올바른 오디오 인터페이스(0x01) 설명자가 있는 오디오 기기로 선언해야 합니다.
- 입력 및 출력 터미널 모두에 해당하는 설명자가 하나 있어야 합니다.
- USB 오디오 클래스 (UAC) 터미널 유형
- 헤드셋(0x0402)
- SpeakerPhone (0x0403~0x0405) 입니다.
- USB 오디오 클래스 (UAC) 터미널 유형
- 입력 및 출력 터미널 모두에 해당하는 설명자가 하나 있어야 합니다.
- 버튼이 있는 경우 HID로 선언해야 합니다.
- 헤드셋은 WWCB 펌웨어 및 커넥터 요구사항을 충족해야 합니다.
소프트웨어
형식
오디오 형식을 참고하세요.
입력 및 출력 오디오 인터페이스 설명자가 모두 있는 기기
오디오 인터페이스 설명자 예
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
입력과 출력의 샘플링 비율이 다른 경우 기기는 동시에 다른 샘플링 비율로 재생과 캡처를 지원할 수 있어야 합니다.
그렇지 않으면 기기는 AudioStreaming 인터페이스 설명어 -> tSamFreq에 동일한 값을 반영해야 합니다.
48k USB 오디오 출력 샘플링 레이트의 예
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT(Output) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data44.1k USB 오디오 입력 샘플링 레이트의 예
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 In(Input) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data
HID 코드
- 각 HID 이벤트는 한 번에 하나의 이벤트만 전송할 수 있습니다.
- 버튼을 누르면 올바른 이벤트 코드와 해당 이벤트 코드가 수신되어야 합니다.
- 예를 들어 볼륨을 높입니다. evtest는 볼륨 업 이벤트 하나만 관찰할 수 있으며 코드는
KEY_VOLUME_UP이어야 합니다.
- 예를 들어 볼륨을 높입니다. evtest는 볼륨 업 이벤트 하나만 관찰할 수 있으며 코드는
- 다음 기능을 제공하도록 설계된 인터페이스가 있는 경우 USB 주변기기는 USB.org HID 사양에 따라 해당 HID 이벤트를 내보내거나 수신하는 것을 지원해야 합니다.
고객 페이지 (0x0c)
| 키 이름 | HID 사용 ID | 사용량 유형 |
|---|---|---|
KEY_PLAY |
0x0b0 |
OOC |
KEY_PAUSE |
0x0b1 |
OOC |
KEY_NEXTSONG |
0x0b5 |
OSC |
KEY_PREVIOUSSONG |
0x0b6 |
OSC |
KEY_STOPCD |
0x0b7 |
OSC |
KEY_PLAYPAUSE |
0x0cd |
OSC |
KEY_PREVIOUSSONG |
0x0b6 |
OSC |
KEY_MUTE |
0x0e2 |
OOC |
KEY_VOLUMEUP |
0x0e9 |
RTC |
KEY_VOLUMEDOWN |
0x0ea |
RTC |
전화 통신 페이지 (0x0b)
| 키 이름 | HID 사용 ID | 사용량 유형 |
|---|---|---|
| 후크 스위치 | 0x20 |
OOC |
| 벨소리 장치 | 0x9e |
OOC |
LED 페이지 (0x08)
| 키 이름 | HID 사용 ID | 사용량 유형 |
|---|---|---|
| 음소거 | 0x09 |
OOC |
| 통화 종료 | 0x17 |
OOC |
| 벨소리 | 0x18 |
OOC |
잭 감지
USB 기기가 USB Audio Class (UAC)를 지원하지 않으면 ChromeOS 시스템 트레이에 항상 출력 노드가 표시됩니다. 하지만 USB 기기가 UAC를 지원하는 경우 기기가 삽입될 때 시스템이 3.5mm 오디오 잭을 올바르게 감지할 수 있습니다.
오디오 형식
| 재생 | 녹화 | |
|---|---|---|
| 샘플링 레이트 | 16kHz 이상 | 16kHz 이상 |
| 형식 | S16_LE | S16_LE |
- 채널 번호와 구성이 올바르지 않습니다.
- 헤드셋에서 지원한다고 선언한 모든 샘플링 비율이 올바르게 작동해야 합니다.
- 측정된 비율과 샘플링 비율 간의 편차는 0.1% 이하여야 합니다.
- 측정된 비율의 선형 회귀의 표준 오류는 30 미만이어야 합니다.
헤드셋은 지원한다고 어설션하는 다양한 샘플링 레이트에서 재생 또는 캡처를 지원해야 합니다.
예를 들어 44.1kHz 미만의 오디오를 재생하면서 동시에 48kHz 미만의 음성을 캡처합니다.
- 그렇지 않으면 시스템 측에서 이를 방지하기 위해 ChromeOS에서 특정 구성 파일을 추가해야 합니다.
오디오 품질
캡처 경로 - 음소거
- 사용자가 오디오 기기를 음소거할 수 있는 인터페이스가 있는 경우 다음을 충족해야 합니다.
- 다음의 영향을 받지 않는 방식으로 음소거 상태를 유지합니다.
- 기기 열기 및 닫기
- 다른 입력 기기로 전환
오디오 지연 시간
지연 시간
- 출력 지연 시간
- 오디오 재생은 재생을 시작하는 사용자 작업 후 500ms 이내에 시작되어야 합니다.
- 기기 OEM이 이 요구사항을 충족하지 않을 때 에코가 발생하지 않음을 증명할 수 있는 경우 면제를 요청할 수 있습니다.
- 오디오 재생은 재생을 시작하는 사용자 작업 후 500ms 이내에 시작되어야 합니다.
A/V 동기화
- 오디오 재생은 동영상 재생과 동기화되어야 합니다. 오디오 재생이 동영상보다 ≤25ms 앞서거나 동영상보다 ≤95ms 뒤처질 수 있습니다.
업데이트 기록
| 날짜 | 버전 | 참고 |
|---|---|---|
| 2024-06-14 | 1.2.1 | ChromeOS 호환 사양에서 파생됨 초기 파트너 사이트 게시 |
| 2022-09-01 | 1.2 | 관련 WWCB 사양 v1.2 |
| 2022-06-06 | 1.1 | 관련 WWCB 사양 v1.1 |
| 2020-09-21 | 1.0 | 관련 WWCB 사양이 생성되었습니다. |