이 페이지에서는 우수한 사용자 환경을 보장하기 위해 Google Meet Media API 클라이언트 동영상 코덱의 기본 요구사항을 제공합니다.
기능 요구사항
이 섹션에서는 코덱 유형 및 기능의 요구사항을 지정합니다.
| 기능 | 요구사항 | ||
|---|---|---|---|
| 프로필 | AV1 | VP9 | VP8 |
Main |
Profile 0 |
해당 사항 없음 | |
| 확장성 | 디코더는 지정된 코덱 유형 및 프로필의 코딩 사양에 필요한 경우 시간 확장성, 공간 확장성 또는 둘 다 지원해야 합니다. | ||
| 원시 동영상 형식 |
코덱은 홀수 해상도 (예: 프레임 너비 또는 높이가 2의 배수가 아닌 경우, 예를 들어 133 × 141)를 처리할 수 있어야 합니다. 크로마 하위 샘플링 형식의 경우 차원당 크로마 샘플 수는 루마 샘플 수에서 파생될 때 반올림해야 합니다. 자르기, 패딩 또는 크기 조정을 허용하지 않습니다. 출력 프레임의 해상도는 입력 프레임의 해상도와 일치해야 합니다. |
||
운영 요구사항
이 섹션에서는 동영상 코덱이 작동할 것으로 예상되는 다양한 조건의 요구사항을 지정합니다. 이러한 요구사항을 위반하면 코덱 사용이 일부 시나리오로 제한될 수 있지만 반드시 사용이 차단되는 것은 아닙니다. 예를 들어 최대 코덱 인스턴스 수가 필요한 수보다 적은 경우 코덱은 다른 유형 또는 구현의 코덱과 함께 계속 사용할 수 있습니다.
| 매개변수 | 요구사항 | |||
|---|---|---|---|---|
| 최소 해상도(픽셀) | ≤ 128 × 128 | |||
| 최대 해상도(픽셀) | ≥ 2880 × 1800 | |||
| 최소 프레임 속도(FPS) | ≤ 1 | |||
| 최대 프레임 속도(FPS) | ≥ 30 | |||
| 최소 비트 전송률(kbps) | ≤ 30 | |||
| 최대 비트 전송률(kbps) | ≥ 5000 | |||
| 최대 디코더 인스턴스 | ≥ 3 | |||
| 최대 총 디코딩 처리량(초당 픽셀 수) | ≥ 3 × 2880 × 1880 × 30 | |||
성능 요구사항
이 섹션에서는 코덱 성능에 관한 요구사항을 지정합니다. 이러한 요구사항을 위반하면 사용자 환경에 상당한 영향을 미칠 수 있으며 코덱 사용이 거의 확실히 차단됩니다.
| 매개변수 | 요구사항 |
|---|---|
| 최대 프레임 간 처리 시간(초) | ≤ 1 / max(30, encode_target_frame_rate_fps) |
| 최대 키프레임 처리 시간(초) | ≤ 2 / max(30, encode_target_frame_rate_fps) |
프레임 처리 시간은 두 이벤트 간의 시간 차이입니다. 1) 코덱이 프레임을 전달하고 2) 코덱이 프레임을 수신합니다. 평균 프레임 처리 시간은 최소 10프레임 을 포함하는 최소 10초 기간의 슬라이딩 윈도우에서 계산됩니다. 최대 프레임 처리 시간은 모든 개별 프레임 처리 시간 값 중에서 가장 높은 값입니다.
처리량은 삭제된 프레임을 포함하여 처리된 프레임 수를 두 이벤트 간의 시간 델타로 나눈 값으로 계산됩니다. 1) 코덱이 마지막 프레임을 전달하고 2) 코덱이 첫 번째 프레임을 전달합니다.
테스트 사례
다음은 사용할 수 있는 테스트 사례입니다.
| 테스트 | |
|---|---|
| 디코딩 처리량 | 최대 3개의 2880 × 1880 × 30 스트림을 동시에 디코딩하고 디코더가 성능 요구사항을 위반하지 않는지 확인합니다. |
| 디코더 적합성 |
미리 인코딩된 비트스트림 집합을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력과 일치해야 합니다 (libvpx의 경우 VP8 및 VP9, libaom의 경우 AV1).
|
| 시간 확장성 | 시간 레이어가 여러 개 (2개 및 3개)인 동영상을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력과 일치해야 합니다. |
| 공간 확장성 | 공간 레이어가 여러 개 (2개 및 3개)인 동영상을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력과 일치해야 합니다. |