6/11/2019

샤나인코더, 음성코덱 관련 몇 가지 찾아본 내용: aac 코덱과 he aac, he aac v2를 사용할 떄

오랜만에 인코딩하다 보니 잊고 있었던 게 있다.
음성코덱의 품질 이야기. 이런 젠장.. 이 생각을 하고 트랜스코딩들어갔어야 했는데..

샤나인코더 옵션쪽은 프로그램을 실행하면 하단에 뜨는, 샤나인코더 게시판 최신글목록을 클릭해서 검색하는것이 좋다. (프로그램 제작자가 잘 만든 기능이다) 물론, 구글 검색도 무방.

이것저것 적다 보니 질문은 세 가지로 정리되었다.

1. 샤나인코더는 고음질 aac 코덱을 사용하는가
2. LC AAC, HE AAC, HE AAC v2를 사용해야 하는 경우는 어떻게 구별하는가
3. HE AAC v2로 64kbps인코딩한 파일은 HE AAC로 64kbps인코딩한 파일보다 음질이 떨어지는가


단, 내용은 최신버전이 아닌 글도 있으니까, 최신버전 사용자는 그건 확인.

AAC 코덱(LC, HE-AAC, HE-AACv2), OPUS 코덱에서 효율적인 비트레이트 구간 - 샤나 2014.10.20
이건 샤나인코더한정이 아니라, 출처가 있음. 원 출처에서 나온 저 그래프가 나무위키에 올라가면서 국내에선 꽤 퍼진 것.
https://hydrogenaud.io/index.php/topic,102051.0.html

위 그림에서  AAC+SBR이 HE AAC, AAC+SBR+PS가 HE AAC v2다.
HE AAC v2의 평가는 40kHz정도에서 HE AAC에 추월당한다.
HE AAC의 평가는 80kHz정도에서 LC AAC에 추월당한다.
Opus는 다른 출처에선 모든 대역폭에서 최강! 이런 그림도 있지만 이 그림에선 48kHz 정도에서 AAC를 앞지른다.
1. 사용한 샘플은 음성이 아니라 음악일 것이다.
2. 평가라는 건 종합적인 점수일 것이다. 즉, 대역폭 컷오프가 있어도 종합점수는 높을 수 있다.

http://forum.doom9.org/showthread.php?p=1784666
이 그래프에선, lc aac가 128kbps이상에서 완전 추월,
he aac는 he aac v2를 64kbps정도에서 추월.

프라운호퍼 연구소 그림
https://www.iis.fraunhofer.de/en/ff/amm/prod/kommunikation/komm/aaceld.html
여기에선 48kHz부터 HE AAC가 추월, 96kbps부터 LC AAC가 추월한다.
(단, 프라운호퍼 AAC 코덱은 애플코덱에 버금가는 좋은 평가를 받는다)
질문. 이전 버전과 겹치는 비트레이트에서 겹치는 주파수 대역에서는 이전 버전과 같은 품질인가?

질문: 샤나인코더 4.9 버전 기준으로, aac, he aac, he aac v2인코딩할 때 사용하는 라이브러리는 옛날에 악명높던 ffmpeg faac인코더인가, 아니면 훨씬 나은 것인가.

몇 년 전까지, AAC코덱 중 가장 좋은 것은, 이삼 년 전까지는 애플 AAC코덱. 샤나인코더에서 기본 설치되지 않은 외부 코덱을 사용하려면 그 코덱을 다운받고 프리셋을 직접 만들어주어야 할 것 같은데.. 되는 지는 더 알아보지 않았다.
https://shana.pe.kr/shanaencoder_qa/9024
샤나인코더는 ffmpeg 바탕이다 보니 거기 들어 있는 코덱을 지원함.

샤나인코더 라이센스 정보를 보면 libfdk도 언급돼 있다. 4.0버전 업뎃목록
libfdk-aac0. 설치폴더 이 파일이 있는 데 보면 txt가 있다.


FFmpeg supports two AAC-LC encoders (aac and libfdk_aac) and one HE-AAC (v1/2) encoder (libfdk_aac).
https://trac.ffmpeg.org/wiki/Encode/AAC

Guidelines for high quality lossy audio encoding
https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio
"libfdk_aac default AAC LC profile – recommended range ≥ 128Kbps; see AAC Encoding Guide.
libfdk_aac -profile:a aac_he_v2 – usable range ≤ 48Kbps CBR. Transparency: Does not reach transparency. Use AAC LC instead to achieve transparency
libfdk_aac -profile:a aac_he – usable range ≥ 48Kbps and ≤ 80Kbps CBR. Transparency: Does not reach transparency. Use AAC LC instead to achieve transparency"


위의 " "인용부분과 일치하는 그림.
https://www.reddit.com/r/audiophile/comments/18b0yg/aac_vs_heaac_what_is_the_difference_which_should/
http://i231.photobucket.com/albums/ee166/img_f/figure_1.png
그럼 낮은 비트레이트에선 속편하게 HE AAC v2만 쓰고 HE AAC는 무시해도 되나? 요즘은 코덱지원은 웬만하면 할 테니. 설명을 보면
HE AAC는 SBR이란 알고리즘을 더해서 효율을 높였음.
HE AAC v2는 PS란 알고리즘을 더해 스테레오채널간 손실압축을 더함. 즉 같은 비트레이트에서 HE AAC v2에서는 스테레오 분리도를 떨어뜨리는 대신 거기서 버린 정보량만큼을 HE AAC 의 다른 부분 음질을 향상시키는 데 썼다고 보면 될 듯. 그래서 HE AAC V2는 반드시 스테레오로 인코딩하도록 되어 있다.

글의 말미에서,
HE AAC V2는 ~48kHz까지인 낮은 비트레이트에서,
HE AAC는 ~96kHz(사람에 따라서는 80kHz)까지인 중간 비트레이트에서
그냥  AAC는 그 위에서 사용한다고 말함.

여기서 질문. 64bkps HE AAC V2 인코딩한 결과물을 Spek으로 볼  때 원본처럼 20kHz까지 올라가 있는데, 반면 128kbps LC AAC 인코딩한 결과물은 Spek으로 볼 때 훨씬 낮은 대역에서 잘려나간 걸 볼 수 있다. 그래도 128kbps LC AAC가 품질이 낫다고 말할 수 있는가? 128kbps가 비트레이트가 두 배니 재현한 대역폭에서는 훨씬 고품질이겠지만, 잘라내버린 부분은? 그럼 64kbps HE AAC V2의 16~20kHz 그림은 다 아티팩트로 간주해야 하는가? 또는 그렇게 간주해도 무방한가?

알아볼 것.

https://amvidia.com/guides/audio-conversion/m4a-mp4-settings
AAC-LC. 모노 80kbps, 스테레오 128kbps에서 거의 시디음질을 목표
AAC-HE. 위엣것보다 더 낮은 비트레이트 최적화. AAC-LC보다 30%압축향상.
AAC-HE. 위엣것보다 더 낮은 비트레에트 최적화. v2 AAC-HE보다 50%압축향상.

: 기술은 발전하고 더 복잡한 함수를 쓰고 더 복잡한 계산을 해서 더 적은 용량으로 비슷한 음질을 낼 수 있게 하는 것이 그 방향. 하지만 저 셋은 아직 장단점이 있어 공존하고 있음. 그 특징을 알고 골라써야 할 포인트는 있음.


이런 용도에는 읽을거리가 많은 나무위키 AAC항목, Opus 항목, 프라운호퍼 lidfdk - ffmpeg,

Opus 코덱과 다른 코덱 비교
http://www.opus-codec.org/comparison/
http://listening-test.coresv.net/results.htm
http://listening-tests.hydrogenaud.io/igorc/aac-96-a/index.htm
아쉽게도 32~64kbps 영역을 언급한 것은 첫 그래프뿐이다. 100kbps 내외.

64kbps 이하로 HE AAC v2인코딩한 것이 Opus 보다 나쁠까?


댓글 없음:

댓글 쓰기

ABC



어제 한 일, 하지 않은 일이 오늘 해야 할 일을 결정한다. 미뤄둔 일은 반드시 새끼친다. - ?

훌륭한 서비스에 대한 결과로 주어지는 것이 이윤이다. - 헨리 포드

생각날 때 귀찮더라도 백업해라. 내일 웃는다. - ?

매사 최적화는 좋은 습관이다. 시간을 가장 귀중히 여기는 습관은 더 좋다. - ?

네가 지금 자면 꿈을 꿀 것이다. 그러나 네가 지금 노력하면 꿈을 이룰 것이다. - ?

마감이 되어 급하게 일하는 것은, 밤새 술마시고 시험치는 것과 같다. 최선을 다해 시험봤을 지는 몰라도, 최선을 다해 공부하지는 않았다. 사는 것도 마찬가지다. 얄팍한 머리와 요행을 믿고 임기응변하는 데 맛들인다면, 인생도 어느덧 그렇게 끝난다. - ascii

위대한 생각을 길러라. 우리는 무슨 짓을 해도 생각보다 높은 곳으로는 오르지 못한다. - B. 디즈레일리

꿈의 크기는 자신이 성취할 수 있는 한계를 뛰어넘어야 합니다. 꿈에 압도되지 않는다면 그 꿈은 크지 않은 겁니다. - 앨런 존슨 설리프