Meet Media API의 동영상 코덱 요구사항

이 페이지에서는 우수한 사용자 환경을 보장하기 위해 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개)인 동영상을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력과 일치해야 합니다.