도전! 오그 369

들어가기 전에

안녕하세요, 검은해입니다.. : )

이번에는 더블 블라인드 테스트에 대해 얘기를 해보려 합니다.

손실압축은, 인간의 감각은 불완전하다는 사실을 대전제로 두고 있습니다. 소리나 영상을 디지털 방식으로 저장하려면 정보량이 엄청나 막대한 양의 공간이 필요하지만, 사람의 감각의 특징을 역이용해서, 잘 안보이거나 잘 안들리는 정보를 제거하고, 정보를 압축하면서 생기는 부산물을 안보이거나 안들리는 곳에 숨기면, 저장되는 정보량을 감쪽같이 줄일 수 있다는 것입니다. 그렇다면 손실압축의 결과물을 비교하기 위해서는 어떤 장비를 사용해야 할까요? 정답은 바로 인간의 감각기관인 눈과 귀입니다. 안들리는 것을 느끼기 위해 파형, 스펙트럼, 스펙트로그램등을 분석하시는 것은 손실압축의 원래 목적에 어긋나는 것입니다.

그런데 음질을 판단할 때 귀로 판단해야 한다고는 하지만, 무작정 들어보는 것 만으로는 올바른 결론을 내릴 수가 없습니다. 주관적인 모든 판단에서와 마찬가지로 착각이나 편견으로 인해 관측결과가 사실과 어긋날 수 있기 때문입니다. 기존 선입견등에 의해 차이가 없어야 하는 것들이 예전과 다르게 느껴지기도 하고, 서로 다른 두가지가 동일하게 느껴지기도 하죠. 선입견으로 인한 이러한 착각을 배제하기 위해서는 간단하게, 선입견을 가지지 않도록 조치를 하면 됩니다. 첫째로 청취자는 자기가 어떤 소리를 듣고 있는지 모르는 상태에서 비교를 시작하면 돼요. 이러한 상태의 비교를 블라인드 테스트라고 합니다.

청취자가 자기가 듣고 있는 소리가 무엇인지 모르는 상태에서 하는 비교를 싱글 블라인드 테스트라고 합니다. 그럼 싱글 말고 더블은 없느냐고요? 있어요. ^_^; 둘째 줄을 눈여겨 보셨으면 눈치채셨을지도 모르지만 더블 블라인드 테스트라는 것이 있습니다. 청취자 뿐만 아니라, 음악을 틀어주는 사람도 각 곡의 정체를 모르는 사람일 때의 비교를 더블 블라인드 테스트라고 합니다. 결과에 대한 판단은 제3자가 청취자의 반응을 기록해놨다가 나중에 판단해야 하겠죠. 음악을 틀어주는 사람의 작은 태도 하나하나도 편견이나 착각의 원인이 될 수 있기 때문에 더블 블라인드 테스트는 꼭 필요합니다.

그렇다면 더블 블라인드 테스트로 무엇을 비교해야 할까요? Q3 오그와 Q6 오그요? Q6 오그와 Q9 오그요? 압축 파일을 직접 비교하시면 안되고, 압축 전의 원본과 압축 후의 사본을 비교하시는 방법을 택해주셔야 합니다. 오그 압축의 목적은 “원본과 귀로 구별할 수 없는 사본”을 얻는 것이고, 원본과 귀로 구별할 수 없는 지 있는 지 알기 위해서는 원본과 비교해주셔야지 사본끼리 비교하시면 곤란합니다.

다음 링크들도 참고해주시면 감사하겠습니다.

준비

정확성도 떨어지고 근거도 희박한 그래프 비교나, 편견이 끼어들 수 있는 단순 청취 말고, 순수히 인간의 귀만을 사용하여 음질을 판단하는 방법인 더블 블라인드 테스트에 관심이 생겨서, 배치 파일을 만들게 되었습니다. 아래 링크된 ABC/HR, ABX 프로그램은 인터넷의 ff123님께서 만드신 프로그램이며, GNU LGPLv2.1 라이센스 하에 배포됩니다. oggenc, oggdec는 GNU GPLv2 라이센스 하에 배포됩니다.

각설하고.. 위에 있는 링크를 통해서, ABC/HR, ABX 프로그램(182kB)과 10메가 짜리 wav 파일, 그리고 ogg-369.zip을 받아주세요. 먼저 첫째 프로그램을 적당한 곳에 풀어주신 후, 같은 곳에 ogg-369.zip도 풀어주세요.

혹시 compilation.wav링크를 클릭하셨을 때 404 에러가 나온다면 주소 표시줄에서 www를 westfish로 바꾸고 엔터를 눌러보세요.

어디어디\bin
어디어디\sound
어디어디\369_comp.bat
어디어디\369_conf.txt
어디어디\readme.htm
어디어디\abchr.exe
어디어디\c.wav
어디어디\license.txt
어디어디\sample_config.txt
어디어디\bin\Copying.gpl.txt
어디어디\bin\oggdec101.exe
어디어디\bin\oggenc101.exe

저렇게 파일들이 보이면 정상입니다. 새로 생긴 sound 디렉터리에 compilation.wav를 넣어주신 다음에, 압축이 풀린 곳에서 369_comp.bat를 찾아 실행시켜 주시면 인코딩 과정과 디코딩 과정을 거치게 됩니다. 무사히 디코딩까지 끝나면 abchr.exe를 실행시켜 주세요. 자, 프로그램 창이 뜨면 메뉴에서 File / Open Test File을 골라주시고, 369_conf.txt를 열어주세요.

ABC/HR 비교

자, 이제 블라인드 테스트를 시작할 준비는 끝났습니다. 화면에 보시면 1번부터 3번까지, 재생 버튼이 세개씩 있는 세개의 그룹이 생겼을거에요. 각 그룹마다 점수를 매길 수 있는 슬라이드 바가 두개씩 있고, 재생 버튼이 세개씩 있어요.

검은색 화살표 두개중 하나를 누르면 원본이 연주되고, 나머지 하나를 누르면 압축본이 연주되는데, 무작위로 섞여 있기 때문에 들어보기 전에는 오른쪽, 왼쪽 중에 어느쪽이 원본인지 짐작을 할 수 없습니다. 파란색 화살표를 누르시면 원본이 연주돼요.

1, 2, 3번 그룹 중에, 하나는 -q3, 하나는 -q6, 하나는 -q9이 섞여 있어요. 단, 완전히 랜덤하기 때문에 어느게 어떤 그룹에 들어 있는지는 들어보기 전에는 알 수 없습니다.

밑에 보시면 뭔가 회색 막대 비슷한 것이 보이시죠? 마우스로 크기를 조정하시면, 재생되는 범위가 바뀝니다. 범위는 편하신 대로 줄여 놓으세요. 특정 부분을 집중적으로 반복해 들으실 때 쓰셔도 좋습니다.

그룹마다 왼쪽, 오른쪽, 원본을 번갈아가며 열심히 들어보시고 왼쪽과 오른쪽 중에 어느쪽이 원본일까를 알아맞춰 보세요. 원본이 아닌것 같은 쪽에 점수를 매겨 주세요. 완벽하면 5점, 차이가 느껴지지만 불쾌할 정도는 아니면 4점, 약간 불쾌하시면 3점, 불쾌 하시면 2점, 진짜 짜증나서 못들어주시겠으면 1점.

각 그룹마다 점수를 매겨 주세요. 세 그룹 다 하셔도 되고 하나만 하셔도 됩니다. 점수를 매기신 후에는, 원하신다면 메모지 모양 아이콘을 클릭하시고 느낀 점을 메모하실 수 있어요. 답안지 겸 정답지에 메모가 같이 인쇄되어 나오므로 하시는게 좋아요. 채점을 끝내신 후에, 메뉴에서 File / Save Test Results를 선택하시면 답안지를 저장하실 수 있습니다.

정답지를 보고 결과를 맞춰보세요. 잘 맞히셨나요? 메모 내용은 잘 맞나요, 아니면 엉뚱한(?) 내용인가요? ^^;

ABX 비교

창 오른쪽 위에 보시면 ABX라고 나오죠? 그걸 클릭해 보세요. A 선택, B 선택이 나오는데 A쪽에서는 Original, 즉 원본을 골라 주세요. B에서는 Sample 1, 2, 3 중에 원하시는 것을 고르세요. 1은 -q3, 2는 -q6, 3은 -q9입니다.

A화살표를 클릭하시면 원본이 재생되고, B화살표를 클릭하시면 압축본(?)이 재생될 거에요. X화살표를 클릭하시면 둘 중 하나가 랜덤하게 재생 됩니다. 그럼 X는 A일까요, B일까요? 알아 맞춰 보세요. 밑에서 X is A, 혹은 X is B를 골라주시고, Next Trial을 클릭해 주세요. (여기서도 밑의 회색 막대를 사용하여 재생 범위를 바꾸실 수 있어요.)

Next Trial을 클릭하실 때마다 오른쪽의 수치가 자꾸 바뀌죠? 꾸준히 정답을 맞추셔서 높은 정답률을 얻어내시는 것이 이 ABX 블라인드 테스트의 목표입니다. 원본과 -q9의 ABX 구분에서 100%에 가까운 정답률을 내실 수 있다면 황금귀를 가지셨다고 자신하셔도 좋습니다. 원본과 -q3의 ABX에서 50%에 가까운 정답률을 내신다면 막귀라는 사실에 자부심을 가지세요. 막귀는 작은 파일에도 만족할 수 있어서 행복(?)합니다.

p값은 ABX의 정답률이 찍기에 의한 것인지 아닌지의 확률을 나타내주는 값인데요, 12번 이상 시도하셔서 p 값을 0.05 이하로 확실히 낮춰주시면 성공이에요. 즉, 95%의 확실성으로 ABX에 성공하셔야 정말로 두가지 음질을 구분하실 확률이 충분히 높은 것으로 인정해드린다는 거에요.

이론적 배경

ABX 비교의 통계 이론에 대해 관심 있으신 분만 읽어주세요. 이 부분은 안읽고 넘기셔도 됩니다. ABX 통계의 기반 원칙은 통계학에서 얘기하는 귀무가설과 대립가설등과 연관이 깊습니다. 카이 스퀘어 (ϗ²) 테스트, 피어슨의 exact test, 이산확률분포등과 관련이 있어요. ABX를 요구하는 측에서는 “두 집단 간에는 차이가 없다”라는 가설을 귀무가설로 세우고 있는 것이 보통입니다. ABX를 시도하는 사람은 귀무가설을 기각시키고 싶어하죠. 귀무가설을 기각시키기 위해서는 귀무가설의 반대가 참이라는, 즉 대립가설이 참이라는 유력한 증거가 필요합니다.

ABX등의 집단간 통계비교에서 p는 유의확률, 기각력을 의미합니다. 집단간의 차이가 우연이 아님이 확실하면 확실할수록 p는 0에 가까워집니다. 이 p가 미리 정해둔 값인 0.01이나 0.05보다 작게 나온다면 “두 집단 간에는 차이가 없다”는 가설을 뒤집고 “청취자는 정말로 음질 구분을 할 수 있는 것”이라는 주장을 펼칠 수 있는 거죠. 만약 p가 미리 정해둔 값인 0.01이나 0.05보다 크게 나온다면 현재 상황이 우연이 아니라는 증거를 충분히 모으지 못한 것이 되어 버립니다. p가 1에 가깝게 나온다면 완전 우연이라고 봐도 별 무리가 없을 것입니다.

마치며

도전! 오그 369 테스트가, 여러분께서 코덱들이나 설정값을 비교하는데에 도움이 되었으면 좋겠습니다. 369_conf.txt이나 369_comp.bat 내용을 읽어보시면 테스트를 수정하시려면 어떻게 하셔야 하는지 쉽게 아실 수 있을 거에요.