본문 바로가기
IT생활

동영상 인코딩에서 Spatial AQ (공간 적응형 양자화)와 Temporal AQ (시간 적응형 양자화)에 대한 설명

by 우물 밖 개구리. 2025. 1. 23.
반응형


Spatial AQ (공간 적응형 양자화)

Spatial AQ 모드는 프레임의 공간적 특성을 기반으로 QP(Quality Parameter) 값을 조정합니다.

  • 복잡도가 낮고 평탄한 영역은 복잡도가 높은 세부 영역보다 품질 차이를 시각적으로 더 잘 인식할 수 있습니다.
    따라서, 이러한 평탄한 영역에 추가 비트를 할당하며, 이는 높은 공간적 세부 정보를 가진 영역의 비트를 희생하여 이루어집니다.
  • 장점: Spatial AQ는 인코딩된 영상의 시각적 품질을 향상시킵니다.
  • 단점: 필요한 비트 재분배로 인해 대부분의 경우 PSNR(객관적 품질 평가 지표)이 떨어질 수 있습니다.
    따라서 PSNR 기반 평가를 수행할 때는 이 기능을 끄는 것이 권장됩니다.

Spatial AQ 사용 방법

  1. 초기화 시 설정:
    NV_ENC_INITIALIZE_PARAMS::encodeconfig->rcParams.enableAQ = 1 로 설정하여 Spatial AQ를 활성화합니다.
  2. 강도 조정:
    NV_ENC_INITIALIZE_PARAMS::encodeconfig->rcParams.aqStrength를 설정하여 QP 조정 강도를 제어할 수 있습니다.
    • 범위: 1 (최소 조정) ~ 15 (가장 강한 조정)
    • 별도로 설정하지 않을 경우, 드라이버가 자동으로 강도를 선택합니다.

Temporal AQ (시간 적응형 양자화)

Temporal AQ는 시퀀스의 시간적 특성에 따라 인코딩 QP를 조정합니다.

  • 역할:
    • 움직임이 거의 없거나 적은 영역이지만 공간적 세부 정보가 많은 영역의 품질을 개선합니다.
    • 이러한 영역은 미래 프레임의 참조로 사용되므로, 참조 프레임 내에서 추가 비트를 할당하여 전체 인코딩된 영상의 품질을 향상시킵니다.
    • 예: 정지된 고해상도 배경은 Temporal AQ 활성화 시 가장 큰 이점을 얻을 수 있습니다.

장점

  • 참조 프레임의 품질을 개선하여 전체 영상 품질을 높입니다.
  • 움직임이 적은 영역에 대해 비트를 효율적으로 배분합니다.

단점

  1. 비트 소비 변동:
    • Temporal AQ 활성화 시, GOP(Group of Pictures) 내에서 프레임당 비트 소비의 변동성이 커질 수 있습니다.
    • I/P-프레임은 평균 P-프레임 크기보다 더 많은 비트를 소비하고, B-프레임은 더 적은 비트를 소비할 수 있습니다.
    • GOP 레벨에서는 목표 비트레이트가 유지되지만, GOP 내 각 프레임 크기가 일정해야 하는 경우 Temporal AQ 사용은 비추천됩니다.
  2. 성능 저하 가능성:
    • 일부 복잡도 계산은 CUDA에서 수행되며, 해상도와 콘텐츠에 따라 CUDA 성능에 영향을 미칠 수 있습니다.
    • 아주 약간의 성능 저하가 발생할 수 있습니다.

Temporal AQ 사용 방법

  1. 사용 가능 여부 확인:
    • API NvEncGetEncodeCaps를 호출하여 현재 하드웨어가 Temporal AQ를 지원하는지 확인합니다.
    • NV_ENC_CAPS_SUPPORT_TEMPORAL_AQ 값으로 확인.
  2. 초기화 시 설정:
    • NV_ENC_INITIALIZE_PARAMS::encodeconfig->rcParams.enableTemporalAQ = 1로 활성화.
  3. CUDA 처리 능력 필요:
    • Temporal AQ는 CUDA 사전 처리를 사용하며, 해상도와 콘텐츠에 따라 CUDA 처리 성능에 의존합니다.

요약

  • Spatial AQ는 정적 공간적 품질 최적화에 유리하지만 PSNR 감소 가능.
  • Temporal AQ는 움직임이 적은 영역의 품질을 강화하지만 비트레이트 변동성과 약간의 성능 저하를 동반.
  • 두 설정은 콘텐츠 특성에 따라 선택적으로 사용해야 하며, 하드웨어 및 비트레이트 요구 사항에 맞게 조정해야 합니다.

 

 

Adaptive Quantization (AQ) 옵션에서 TemporalSpatial을 모두 비활성화하고 Off로 설정하면 다음과 같은 결과를 얻을 수 있습니다:


1. 인코딩 품질

  • Temporal AQ 비활성화
    • 움직임이 적거나 정적인 영역(예: 배경)의 품질 최적화가 이루어지지 않습니다.
    • 이로 인해, 프레임 간 참조가 중요한 움직임이 적은 세부 영역에서 전체적으로 품질 저하가 발생할 수 있습니다.
    • 움직임이 적은 영역의 비트 효율이 떨어져, 필요 이상으로 비트가 사용될 가능성이 높습니다.
  • Spatial AQ 비활성화
    • 프레임 내에서 복잡도가 낮은 평탄한 영역(예: 하늘, 벽)의 품질이 상대적으로 낮아질 수 있습니다.
    • 고복잡도 영역과 저복잡도 영역 간 품질 불균형이 발생할 가능성이 높습니다.
    • 시각적으로 중요한 세부 사항을 강조하지 않고, 단순히 전체적으로 동일한 QP를 적용합니다.

2. 비트레이트 효율성

  • Adaptive Quantization은 비트레이트를 프레임이나 영역 특성에 맞게 재분배하여 효율을 높이는 역할을 합니다.
    • Off로 설정하면, 이러한 최적화 없이 전체 프레임에 동일한 기준으로 비트를 할당합니다.
    • 결과적으로 비트레이트 효율이 떨어질 가능성이 높으며, 영상 품질 대비 파일 크기가 증가하거나 동일 비트레이트에서 품질 저하가 발생할 수 있습니다.

3. PSNR 및 SSIM 같은 품질 지표

  • PSNR(객관적 화질 평가 지표)와 SSIM(구조적 유사도 지표) 등의 점수는 Off로 설정했을 때 높을 수 있습니다.
    • 이유: 비트가 균일하게 분배되므로, 일부 고품질 영역이 비트를 많이 차지하는 대신 전체적으로 비슷한 품질을 유지합니다.
    • 그러나 실제 **시각적 품질(Visual Quality)**은 Adaptive Quantization을 사용한 경우보다 낮게 느껴질 수 있습니다.

4. 적합한 경우

  • Adaptive Quantization을 Off로 두는 것이 유리한 경우:
    • PSNR 또는 SSIM 기반 평가가 중요한 경우: 이러한 지표는 Adaptive Quantization 사용 시 낮아질 수 있기 때문입니다.
    • 콘텐츠가 매우 균일하고 복잡도가 낮은 경우: 프레임 내 또는 프레임 간 품질 재분배가 크게 필요하지 않은 경우.
    • 고정된 비트레이트(CBR)로 매우 안정적인 비트 사용이 필요한 경우: Adaptive Quantization은 프레임 간 비트 변동을 유발할 수 있습니다.

결론

  • Adaptive Quantization을 Off로 두면 프레임이나 시퀀스 특성에 기반한 최적화가 이루어지지 않아, 영상 품질이 덜 정교하거나 비효율적으로 비트레이트를 사용할 수 있습니다.
  • 대부분의 경우 Temporal 또는 Spatial AQ를 활성화하여 시각적 품질을 개선하고 비트 효율을 높이는 것이 권장됩니다.
  • 특별한 이유(예: PSNR/SSIM 중심 평가 또는 단순한 콘텐츠)를 제외하고는 Off로 설정하지 않는 것이 좋습니다.
반응형