| [ KAIST ] in KIDS 글 쓴 이(By): chosta (Uncle Cho) 날 짜 (Date): 2003년 2월 12일 수요일 오전 08시 02분 57초 제 목(Title): Re: MP3와 인간의 뇌 인간의 뇌보다도 귀의 한계라고 생각하고 싶군요. perception compression.. 제가 익숙한 표현은 psycho-acoustic coding인데요.. sony의 MiniDisc 에서 쓰는 ATRAC, 그리고 요즘 널리 쓰이는 mp3가 다 이를 바탕으로 하고 있습니다. (frequency domain translation 방식이 DCT/ MDCT 등 약간 다릅니다.) compression 원리는 세가지로 기억하고 있는데,, (가물가물) 1) temporal masking 2) spectral masking , 3) 귀의 different sensitivity vs frequency를 exploit하는 것입니다. 1)temporal masking effect은 지적해준신대로,, 소리하나가 크게 나고 그 다음에 나는 약한 소리는 귀가 잘 못듣는다는 것입니다. 이것이 forward temporal masking이구요. backward temporal masking은 그 반대.. 약한 소리가 나고 그 다음 큰 소리가 나면 그 전에 났던 약한소리는 잘 못듣는다는 (못 들었다는것?)것이죠. 음의 강약, 주파수에 따라,forward temporal masking은 300ms정도 까지도 가능하고,, backward는 약 3ms정도 가능하다고 기억하고 있습니다. (숫자가 정확하게 기억나지는 않지만,, backward/forward temporal masking를 이용할수 있는 시간이 order magnitude difference였던것은 확실합니다.) 2)spectral masking은 time domain이 아닌 frequency domain에서 생각하면 쉽습니다. 1kHz에서 큰 소리가 났다면, 2kHz에서 나는 약한 소리는 잘 못듣습니다. 그 이유중 하나는 1kHz에서 난 소리의 spectrum의 skirt가 2kHz를 덮어버린 다는 것이죠. (음악에서 ideal sine wave는 찾아보기 힘들죠) 3) 귀의 sensitivity 사람 귀는 20-20,000kHz 까지가 가청주파수라고 하지만, 모든 대역의 주파수를 똑같은 크기로 듣는것이 아닙니다. 약 4kHz근처의 소리를 가장 잘 듣죠. 그리고 10kHz넘어가면 잘 못듣습니다. (이러한 sensitivity가 대략 30-40dB이상 차이나고, 대충 sensitivity vs frequency curve를 그리면 U-shape 이 나옵니다.) 이를 이용해서 frequency 대역마다 different quantization level를 쓰면 더 효율적이겠죠. 위 세가지를 주 성분으로해서, quantize시키고, variable length coding 같은것을 짬뽕시켜 coding하면 귀로 구분할 수 없지만 5배이상 압축에 CD quality와 같은 (44.1kHz-16bit sampling) 음질을 만들수 있습니다... 예전(95년)에 mpeg2 decoder중 일부를 chip으로 개발하면서 mpeg layer 3 audio (mp3) 를 portable CD player나 walkman처럼 만들어 팔면 좋겠다는 생각을 한적이 있었는데요. (그 당시 mp3의 compression과 음질에 놀라) 주위 사람들과 의논해본 결과,, 여러 가지 때문에 성공하지 못 할거라는 -음반 시장의 압력, CD writer 부재 (그당시는 별로 보급되지 않았었죠), 비싼 memory 값 등등 - 결론을 내리고 그냥 접었는데,, 3-4년후 막 상품이 쏟아져 나오더군요.. 실제로,, mp3 decoder같은 경우,, 기술이라고 할 것이 거의 없습니다. 그냥 open source인 mpeg layer manual 받아서 그대로 coding하면 끝이죠.. |