FFmpeg 9.1, 역대 최고 AAC 인코더 등장!

by DD
2시간 전
조회수 4

FFmpeg 9.1에 역대 최고 성능의 AAC 인코더가 새롭게 추가됨

PNS, TNS, I/S, M/S 코딩 도구를 재설계하여 음질을 대폭 향상시킴

48kHz 오디오 표준에 최적화되었으나, 44.1kHz 및 96kHz도 지원함

커뮤니티에서는 Opus 대비 성능48kHz 표준 논쟁이 활발함

새로운 AAC 인코더의 기술적 혁신

개발자 'lynne'은 FFmpeg의 AAC 인코더를 완전히 재설계했다고 밝혔다. 특히 비트 예산(Bit Budget) 기반의 RDO(Rate-Distortion Optimization)를 도입하고, PNS(Perceptual Noise Substitution), TNS(Temporal Noise Shaping), I/S(Intensity Stereo), M/S(Mid/Side Stereo) 등 다양한 코딩 도구를 최적화했다. 이를 통해 기존 인코더 대비 Zimtohrli 및 ViSQOL 메트릭에서 압도적인 성능 향상을 달성했다고 주장한다. 특히 다른 인코더들이 TNS만 사용하는 것과 달리, 모든 코딩 도구를 활용하여 경쟁 우위를 확보했다는 점이 주목된다.

48kHz 표준 최적화와 커뮤니티 논쟁

새 인코더가 48kHz 오디오 샘플링 레이트에 최적화되었다는 점이 논란의 중심이 되었다. 개발자는 48kHz가 2026년의 표준이며 리샘플링 비용이 적다고 주장했지만, 커뮤니티에서는 여전히 44.1kHz 오디오가 보편적이라는 반론이 제기되었다. 개발자는 44.1kHz에서도 좋은 성능을 보이며, 손실 압축 시에는 48kHz로 리샘플링 후 인코딩하는 것을 권장한다고 설명했다. 이는 오디오 표준화(Audio Standardization)실제 사용 환경(Real-world Usage) 간의 간극을 보여주는 사례다.

Opus 대비 성능 및 메트릭 분석

벤치마크 결과, 새로운 FFmpeg AAC 인코더는 64kbps에서 Opus 대비 우수한 성능을 보였다. 특히 128kbps 이상에서는 Opus를 제외한 모든 AAC 인코더를 능가하는 결과를 나타냈다. 개발자는 Zimtohrli 메트릭이 고비트레이트에서 포화되는 경향이 있어 ViSQOL을 보조 지표로 사용했으며, 이 규칙 하에서 Opus를 제외한 모든 비교에서 승리했다고 밝혔다. 이는 오디오 코덱 성능 평가 방법론(Audio Codec Evaluation Methodology)의 중요성을 시사한다.

PNS 디코더 버그와 인코더 우회 전략

FFmpeg의 AAC 디코더가 스테레오 PNS(Stereo PNS) 관련 버그를 가지고 있으며, 이로 인해 다른 AAC 디코더에도 문제가 발생할 수 있다는 점이 지적되었다. 개발자는 이 버그를 인코더 레벨에서 우회(Workaround)하는 방식으로 해결했다고 밝혔다. 다른 인코더들은 PNS를 사용하지 않아 이 문제가 발견되지 않았으나, 새로운 인코더는 PNS를 적극 활용하므로 해당 버그가 드러나게 되었다. 이는 레거시 코드(Legacy Code)와의 호환성 문제새로운 기능 도입 시 발생하는 예상치 못한 부작용(Unforeseen Side Effects)을 보여준다.

사용자 피드백과 잠재적 아티팩트

일부 사용자는 새로운 인코더에서 '틱킹(Ticking)' 또는 '메탈릭(Metallic)' 노이즈와 같은 아티팩트를 보고했다. 특히 특정 샘플에서 TNS(Temporal Noise Shaping)를 비활성화했을 때 문제가 사라지거나, 다른 인코더 대비 음질이 저하된다는 피드백이 있었다. 개발자는 이러한 문제를 해결하기 위해 TNS 파라미터 조정을 제안했으며, 사용자들에게 원본 샘플과 함께 해당 라인의 통계 정보를 제공해 줄 것을 요청했다. 이는 실제 환경에서의 디버깅(Real-world Debugging)청취 테스트(Listening Tests)의 중요성을 강조한다.

FFmpeg 9.1's new AAC encoder

댓글 0

첫 번째 댓글을 남겨보세요!