CurveCodec 2: 학습된 엔트로피 모델을 사용한 골격 비의존적 애니메이션 압축
요약
CurveCodec 2는 골격 움직임의 중복성을 활용하여 애니메이션 압축 효율을 높인 코덱입니다. 이 코덱은 로그 맵상의 곡선을 인코딩하고, 양자화 및 엔트로피 코딩을 통해 잔차를 효과적으로 압축합니다. 최악 사례와 평균 계약 조건 모두에서 기존 프로덕션 코덱(ACL) 대비 높은 압축률과 낮은 디코딩 지연 시간을 달성했습니다.
핵심 포인트
- 골격 움직임의 중복성을 활용하여 애니메이션 압축 효율을 극대화함.
- 로그 맵상의 곡선 인코딩, 양자화 및 엔트로피 코딩 방식을 사용함.
- 최악 사례 조건에서 ACL 대비 최대 0.37배의 바이트 절감 효과를 보임.
- CPU 코어 하나로 디코딩 가능하며 재훈련 없이 새로운 종에 적용할 수 있음.
골격 움직임은 매 프레임마다 모든 관절의 변환(transform)으로 저장되지만, 그 대부분은 움직임 자체보다는 신체에 의해 암시됩니다. 압축은 몸체가 알려진 경우에도 움직임이 여전히 무엇을 말해야 하는지를 묻는 한 가지 방법이며, 프로덕션 코덱은 명시된 오차 범위 내에서 모든 골격에 대해 이에 답해야 합니다. 우리의 이전 코덱인 CurveCodec은 희소 앵커(sparse anchors)에 대한 학습된 사전 분포(learned prior)를 사용하여 현대 게임 엔진의 프로덕션 라이브러리인 ACL의 평균 오차와 일치했지만, ACL의 최악 사례는 아니었으며 페이로드(payload)를 비트가 아닌 부동 소수점(floats)으로 계산했습니다. 여기서 우리는 골격 움직임의 중복성(redundancy)이 어디에 있는지, 그리고 코덱의 어떤 부분이 학습된 모델이 담당해야 하는지를 묻습니다. 측정 결과는 세 가지 답변을 제시합니다. 프로덕션 정밀도에서 가장 큰 절감은 각 양자화 곡선(quantized curve)을 자체 과거로부터 예측하는 것에서 나오고, 두 번째는 계층 구조를 따라 관절별로 폐쇄 루프(closed loop)를 선택하여 코딩하지 않을 샘플을 선택하는 것입니다. 이러한 인코더가 남기는 간격에 대해서는 수백만 개의 훈련 샘플에 대한 최단 이웃 오라클(nearest-neighbour oracle)이 선형 보간법(linear interpolation)보다 나을 것이 없으며, 우리가 시도한 어떤 학습된 중간값 생성기(learned in-betweener)도 그만한 가치를 제공하지 못했습니다. 네트워크가 배우는 것은 코덱이 전송해야 하는 잔차(residuals)의 분포입니다. CurveCodec 2는 모든 서브 트랙(sub-track)을 로그 맵(log map)상의 곡선으로 인코딩하고, 폐쇄 루프에서 양자화하며, 비트-정확한 정수 추론(integer inference)이 플랫폼 전반에 걸쳐 가능한 작은 학습 모델 하에서 잔차를 엔트로피 코딩하여 속도-왜곡 선택 키(rate-distortion-selected keys)로 얇게 만듭니다. 디코딩된 모든 클립에는 두 가지 계약 조건이 검증됩니다: ACL 자체의 명시된 허용 오차 내 관절별 최악 사례, 또는 클립당 ACL의 평균 오차입니다. 33개 데이터셋에서 가져온 4,472개의 클립으로 구성된 홀드아웃 테스트 세트에서 CurveCodec 2는 최악 사례 계약 조건 하에 ACL의 기본 정밀도인 0.01 cm에서 0.37배의 바이트가 필요하며, 평균 계약 조건 하에 0.1 cm에서는 0.22배이며, 하나의 CPU 코어에서 디코딩되고 재훈련 없이 학습 데이터셋에 없는 종(species)으로 전송됩니다. 프로젝트 페이지: https://rubbly.cn/publications/curvecodec/
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.GR (Graphics)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기