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) 5,000개 이상
최대 디코더 인스턴스 ≥ 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 스트림을 동시에 디코딩하고 디코더가 성능 요구사항을 위반하지 않는지 확인합니다.
디코더 적합성 사전 인코딩된 비트스트림 집합을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력 (VP8 및 VP9의 경우 libvpx, AV1의 경우 libaom)과 일치해야 합니다.
시간적 확장성 여러 시간 레이어 (2 및 3)를 사용하여 동영상을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력과 일치해야 합니다.
공간 확장성 여러 공간 레이어 (2 및 3)가 있는 동영상을 디코딩합니다. 테스트 디코더의 출력은 참조 디코더의 출력과 일치해야 합니다.