본문 바로가기
IT생활

HEVC, AV1 고급 코덱의 반복 패턴을 이용한 예측 기반 압축 기법

by 우물 밖 개구리. 2025. 2. 14.
반응형

반복되는 패턴이 왼쪽으로 이동하면서 특정 장애물을 통과하는 경우에도 효율적인 동영상 압축이 가능합니다.

이러한 영상에서는 기존의 예측 기반 비디오 압축 기법지능형 블록 분할 및 참조 프레임 활용을 통해 효율적인 압축을 수행할 수 있습니다.


🔹 1. 반복 패턴을 이용한 예측 기반 압축 기법

비디오 압축 코덱(예: H.264, HEVC, AV1 등)은 이전 프레임의 정보를 기반으로 현재 프레임을 예측하여 데이터량을 줄이는 방식을 사용합니다.
반복되는 패턴이 왼쪽으로 이동하는 경우, **시간 축(Temporal Domain)에서의 모션 예측(Motion Prediction)**이 효과적으로 동작할 수 있습니다.

주요 기술:

  • 모션 보상(Motion Compensation, MC)
    • 이전 프레임에서 움직이는 패턴을 예측하여 현재 프레임을 재구성.
  • 모션 벡터(Motion Vector, MV)
    • 반복되는 패턴의 움직임을 기록하여, 새로운 데이터를 저장하지 않고 기존 데이터를 참조.

➡ 예제: 패턴이 왼쪽으로 x 픽셀만큼 일정하게 이동하면,
코덱은 이전 프레임의 데이터를 그대로 사용하면서 모션 벡터만 갱신하여 압축 효율을 높임.


🔹 2. 장애물(Obstacles)이 있는 경우 압축 효율 최적화

반복되는 패턴이 중간에 장애물을 통과하는 경우, 단순한 모션 예측만으로는 압축 효율이 낮아질 수 있습니다.
이때 활용할 수 있는 기술은 다음과 같습니다.

주요 기술:
1️⃣ 스킵 블록(Skip Mode)

  • 장애물이 없는 영역에서는 모션 벡터만 사용하고, 새로운 데이터 저장 없이 복원.
    2️⃣ Adaptive Block Partitioning (적응형 블록 분할)
  • HEVC(2013), AV1(2018) 등의 최신 코덱은 비정형적 구조를 가진 객체(예: 장애물)를 감지하여,
    큰 블록과 작은 블록을 효율적으로 배치해 압축 성능을 최적화.
    3️⃣ Overlays & Compound Prediction (복합 예측 기법)
  • AV1, HEVC에서는 장애물의 영향을 최소화하기 위해 여러 개의 프레임을 합성하여 최적의 데이터 사용.

➡ 예제:

  • 배경(반복되는 패턴)은 그대로 유지하면서,
  • 장애물만 새롭게 인코딩하여 압축률을 극대화.

🔹 3. 블록 기반 압축에서의 장애물 처리 기법

대부분의 최신 코덱(HEVC, AV1, VVC 등)은 **블록 기반(BCT, Block Coding Techniques)**으로 동작합니다.
즉, 화면을 작은 블록 단위(CTU, Coding Tree Unit)로 나누고, 블록별로 최적의 압축 방식을 선택합니다.

블록 기반 장애물 처리 기법:

  • 장애물이 포함된 블록은 새롭게 부호화(Intra Prediction)
  • 나머지 배경은 기존 프레임을 참조(Inter Prediction)
  • 기존 패턴이 유지되면서도, 장애물 부분만 새롭게 부호화하여 불필요한 비트 낭비 방지

➡ 예제:
장애물이 프레임 중앙을 지나가는 경우, 좌우 블록을 독립적으로 처리하여 전체적인 압축률을 유지.


🔹 4. 인코딩 최적화 설정 (HEVC, AV1)

인코딩 시 반복되는 패턴을 최적화하고, 장애물 처리 성능을 높이기 위해 다음 설정을 조정할 수 있습니다.

✔ HEVC (x265) 설정 예시

ffmpeg -i input.mp4 -c:v libx265 -preset slow -crf 22 \
    -x265-params "bframes=6:ref=5:aq-mode=3:rd=6:psy-rd=2.0:psy-rdoq=1.5:limit-modes=1" \
    output.mp4
  • bframes=6:ref=5 → 참조 프레임 개수 증가 (더 많은 과거 데이터를 활용)
  • aq-mode=3 → Adaptive Quantization (AQ) 활성화
  • rd=6:psy-rd=2.0:psy-rdoq=1.5 → 장애물 처리 성능 개선을 위한 RD 최적화

✔ AV1 (SVT-AV1) 설정 예시

svt-av1 -i input.y4m -b output.ivf --preset 4 \
    --enable-tpl-la 1 \
    --enable-overlays 1 \
    --keyint 240 \
    --scd 1 \
    --aq-mode 2
  • --enable-tpl-la 1 → Long-Term Reference (LTR) 프레임 활성화
  • --enable-overlays 1 → 장애물 영향을 최소화하기 위해 프레임 합성
  • --scd 1 → Scene Change Detection (SCD) 활성화

🔹 5. 결론

반복되는 패턴이 있는 경우, 모션 예측(Motion Prediction)과 LTR 프레임을 활용하면 매우 높은 압축 효율 가능
장애물이 있을 때는 Adaptive Block Partitioning과 Overlays를 활용하여 장애물만 새롭게 부호화
HEVC(x265)와 AV1(SVT-AV1, libaom-AV1)에서 LTR과 Adaptive Encoding을 조정하면 더욱 최적화된 압축 가능

즉, 반복되는 패턴이 존재하고 장애물이 중간에 위치하는 경우에도 최신 비디오 코덱을 활용하면 높은 압축률을 유지하면서도 품질 저하를 최소화할 수 있습니다. 🚀

반응형