ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • I2S
    Electron/오디오 2020. 7. 23. 13:30

    I2S

     

    출처: m.blog.naver.com/prnbada7/221194850771

     

    I2S

    ​1.기술의 탄생​I2S(Inter-IC Sound, Integrated Interchip Sound)는 I2C와 여러 모로 유사하...

    blog.naver.com

    prnbada7  2018. 1. 27. 17:12

     

    ### "초연결사회의 탄생 (모든 것은 어떻게 연결되었나)(위키미디어)"가 출간되었습니다.

     

    1.기술의 탄생

    I2S(Inter-IC Sound, Integrated Interchip Sound)는 I2C와 여러 모로 유사하다. 첫째, 인쇄 회로 기판위의 집적 회로 간 연결을 위해서 만들어진 규격이며, 둘째는 버스 시스템을 기반으로 직렬 통신을 사용하고(시리얼 버스), 셋째는 필립스에서 만들어진 규격이다.

    차이점이라면, 첫째, I2C는 범용 데이터 전송을 위해서 만들어진 규격이라면 I2S는 오디오 데이터를 전송하기 위해서 만들어진 규격이라는 점, 둘째는 I2C는 데이터 전송을 위해서 단 2개의 라인이 필요한데, I2S는 3개의 라인이 필요하다는 점, 셋째는 I2C는 독자적으로 사용이 될 수 있지만, I2S의 경우 환경 설정을 해 줄 별도의 커넥비티비가 필요하고, 일반적으로 I2C가 그 역할을 담당한다. 따라서, 일반적으로 오디오 데이터를 전송하는 I2S와 일반 데이터를 전송하는 I2C가 쌍을 이루어서 제품에서 사용이 된다. 넷째, 마스터에 대한 정의가 다른데, I2C에서는 데이터 전송을 시작할 수 있으면 마스터라고 부르지만, I2S에서는 클럭을 내보는 역할을 담당하는 기기를 마스터라고 부른다. 그리고, I2S에서는 슬레이브라는 개념은 없으며, 데이터를 보내는 트랜스미터(Transmitter)와 데이터를 받는 리시버(receiver)가 있다. 다섯째, I2C는 데이터가 양방향으로 이동할 수 있는 반이중모드가 가능하지만, I2S는 단방향 통신만 가능하다.

    [그림 1] I2S와 I2C

    2.기술의 내용

    1) 네트워크 구성

    I2S는 버스 구조를 갖기 때문에 여러 대의 장치가 연결이 될 수 있다. 오디오 신호를 전송하는 기기(트랜스미터, Transmitter)와 오디오 신호를 수신하는 기기(리시버, Receiver)외에 마스터 클럭을 제공하는 기기(컨트롤러, Controller)가 연결될 수 있고, 또는 오디오 신호를 외부로부터 받아들일 수 있는 마이크 장치가 버스에 연결될 수 있다. 일반적으로 트랜스미터는 CPU, 혹은 마이크로 프로세서에 해당하고, 리시버는 디지털 신호를 아날로그 신호로 변환하여 스피커로 보내 주는 오디오 장치에 해당한다.

    마스터 클럭을 제공하는 컨트롤러는 별도로 존재할 수도 있고, 트랜스미터나 리시버가 그 역할을 겸할 수도 있다. 이 경우에는 네트워크가 일대일 구성을 이루게 된다.

    [그림 2] I2S 네트워크 구성

    2) 연결 라인의 구성

    3개의 라인으로 구성이 되는데, 첫째는 클럭 라인으로 SCK(Serial Clock), 또는 BCLK(Bit Clock)로 표시한다. 동기식 통신에서 사용되는 클럭이다. 둘째는 오디오의 왼쪽 채널과 오른쪽 채널을 구분할 수 있는 좌우 채널 선택 클럭 라인으로 LRCLK(Left Right Clock), 또는 FS(Frame Select), WS(Word Select)라고 표시한다. 좌우 채널은 일정한 주기로 반복이 되기 때문에 클럭으로 표기하기도 한다. 셋째는 시리얼 데이터 라인으로 SD(Sound Data, Serial Data), SDATA, SDINT, SDOUT으로 표시한다.

    I2S규격에는 포함되어 있지 않지만, 실제 제품에서 흔히 사용되는 네번째 라인이 있다. 마스터 클럭이라고 불리는 신호선으로 좌우 채널 선택 클럭(LRCLK)의 256배에 해당하는 클럭을 사용한다. 오디오 집적 회로는 이 신호에 동기화하여 작동이 된다. 원래 집적 회로들은 내부에 클럭 발생 장치를 갖고 있는데, 별도로 외부의 클럭을 사용하는 것은 전송되는 데이터가 오디오라는 특수성때문이다. 즉, 오디오 데이터는 끊김이 없이 일정한 속도로 흘러 가야 하며, 만약 그렇지 못하면, 스피커를 통해서 재생되는 중, 소리가 끊기거나 튀는 소리 등, 비정상적인 소리가 발생할 수 있기 때문이다. 이러한 현상을 방지하기 위해서 시스템 내부의 모든 부품이 일사 분란하게 동작하여야 하며, UART 설명할 때 비유로 들었던 전투선의 북소리와 같은 역할을 마스터 클럭이 담당하게 된다.

    3) 버전과 데이터의 전송 속도

    일반적인 데이터를 전송하는 UART, I2C, SPI와 달리 오디오 데이터를 전송하는 I2S는 전송하는 데이터가 어떻게 생성되었는지에 따라서 데이터의 전송 속도가 정해진다. I2S는 디지털 오디오 데이터를 전송하는 커넥티비티이므로 디지털 오디오 데이터가 어떠한 특성을 갖느냐가 중요하다. 예를 들어 디지털 오디오 데이터가 고음질이라면, 초당 전송해야 하는 데이터 양을 많아 질 것이고, 그렇다면 데이터의 전송 속도도 올라가야 한다. 반면, 저음질의 오디오 데이터라면, 초당 전송해야 하는 데이터 양은 적을 것이며, 그렇다면 데이터의 전송 속도는 낮아질 것이다. 이러한 현상은 데이터의 전송과 스피커를 통한 출력이 동기화되어야 하기 때문에 발생한다. 아무리 빨리 데이터를 보낼 수 있다고 하더라도 스피커로 출력되는 데이터의 양을 이미 정해져 있기 때문이다. 반면, 고음질의 데이터의 경우에는 한번에 스피커로 출력할 수 있는 데이터의 양이 많다는 것을 의미하는데, 만약 충분한 커넥티비티가 데이터 전송 속도를 갖지 못한다면, 스피커에서는 계속해서 음이 끊기는 현상이 나타나게 될 것이다.

    구체적으로 데이터의 전송 속도를 결정짓는 디지털 오디오의 특성은 다음과 같은 두 가지 요소가 중요한데, 첫째는 샘플링 레이트(sampling rate)이고, 둘째는 비트 깊이(bit depth)이다.

    아날로그 신호를 디지털 신호로 변환하기 위해서는 일정한 주기로 신호의 크기를 측정하는 표본화(sampling) 작업을 한다. 이러한 표본화 작업을 초당 몇번 수행하는지를 나타내는 척도가 샘플링 레이트이다. 샘플링 레이트는 임의의 값을 가질 수 있으나, 일반적으로 사용되는 값들이 있는데, 그중에서도 8kHz, 44.1kHz, 48kHz등이 대표적으로 자주 사용이 된다.

    8kHz의 경우에는 사람의 음성만을 샘플링의 대상으로 삼는 경우에 적합하다. 왜냐하면 사람의 음성의 경우 대부분의 에너지가 100Hz 부터 4kHz사이에 집중되기 때문이다. 표본화 정리(sampling theorem) 또는 나이퀴스트-섀넌 표본화 정리(Nyquist-Shannon sampling theorem)에 의하면, 표본화 주파수가 신호의 대역의 두 배 이상이라면 표본으로부터 연속 시간 기저 대역 신호를 완전히 재구성할 수 있으므로, 4kHz의 2배에 해당하는 8kHz 표본화를 사용하는 것이다. 대표적인 사용 예가 전화기 시스템이다. 단, 일반 가정용 전화기에서 디지털화되는 것은 아니며, 표본화는 전화국이 갖고 있는 백본망에서 이루어진다. 일반 가정용 전화기는 아날로그이며, 사용자의 음성은 아날로그 구리선을 통해서 전화국까지 전송이 된다.

    일반전화기보다는 넓은 대역폭을 가질 수 있는 VoIP(Voice over IP)의 경우에는 8kHz와 16kHz중에서 선택하여 사용할 수 있다.

    44.1kHz는 CD(Compact Disc)가 나오면서 유명해진 샘플링 레이트이다. 8kHz나 48kHz처럼 소수점이 없이 딱 떨어지는 자연수가 아닌, 애매한 숫자로 정해졌는데, 이 수치는 소니에서 처음 사용되기 시작하였고, 이후 업계의 표준이 되었다. 왜 44.1kHZ가 되었는지에 대해서 규격을 만든 사람들로부터의 명확한 설명은 없고, 다만 후세 사람들의 해석만 있을 뿐이다. 첫번째 해석은 다음과 같다. 사람이 들을 수 있는 가청주파수는 20Hz ~ 20000Hz이고, 나이퀴스트-섀넌 표본화 정리에 의하면 20000 x 2 = 40kHz로 표본화를 하면 원래의 소리를 만들어 복원해 낼 수 있다. 그런데, 표본화 작업을 진행하기 전에 20kHz이하의 신호만을 얻기 위해서 저역 필터(low pass filter)를 사용해야 한다. 이 저역 필터가 20kHz에서 정확하게 신호를 잘라 내서 20kHz이하의 신호만 통과시켜야 하는데, 이는 현실적으로 불가능하다. 약간의 여유를 두어서 20kHz이상의 신호도 일부 저역 필터를 통과할 수 있도록 해야 하는데, 그렇다면 어느 정도까지 여유를 둘 것인가가 문제가 된다. 여유 구간(Transition band)를 짧게 잡을 수록 구현 비용이 높아지게 된다. 따라서 경제성을 고려해서 선택한 여유 구간의 길이가 2.05kHz이다. 그 결과 샘플링의 대상이 되는 주파수 구간은 20Hz~22050Hz가 된 것이고, 이를 나이퀴스트-섀넌 표본화 정리에 적용하면, 샘플링 레이트는 22050 x 2 = 44.1kHz가 되어야 한다.

    두번째 해석은 당시의 비디오 표준과 관련이 있다. 오디오는 혼자 존재할 수 있어도, 비디오는 항상 오디오가 같이 있어야 한다(무성영화에도 음악은 있었다). 따라서 오디오 규격을 만들 때, 비디오 규격과 공존할 수 있는 포맷이라면 효율적이라는 것을 생각해 볼 수 있다. CD가 나올 당시의 비디오 포맷은 PAL/NTSC가 있었는데, PAL의 경우에는 초당 50개의 필드(짝수번째의 라인, 혹은 홀수번째 라인으로 구성되는 프레임)가 있었고, 필드마다 294개의 라인 있었고(즉 프레임에는 588개의 라인이 있었음), 필드마다 3번씩 샘플링을 했으므로, 이들을 모두 곱하면 초당 44100번의 샘플링 회수가 나온다.

    294 active lines/field × 50 fields/second × 3 samples/line = 44,100 samples/second

    NTSC의 경우에는 초당 60개의 필드(짝수번째의 라인, 혹은 홀수번째 라인으로 구성되는 프레임)가 있었고, 필드마다 245개의 라인 있었고(즉 프레임에는 588개의 라인이 있었음), 필드마다 3번씩 샘플링을 했으므로, 이들을 모두 곱하면 초당 44100번의 샘플링 회수가 나온다.

    245 active lines/field × 60 fields/second × 3 samples/line = 44,100 samples/second

    다시 한번 밝히는 바, 위의 해석은 후대 사람들에 의해 만들어진 것이며, 이에 대해서 소니의 개발 당사자들 한번도 44.1kHz의 배경에 대해서 언급한 적이 없다고 한다. 이후 44.1kHz 는 CD 의 보급과 함께 오디오 신호의 대표적인 샘플링 레이트가 되었다.

    1987년에 소니에 의해서 DAT(Digital Audio Tape) 표준이 소개되면서, 48kHz의 샘플링 레이트가 사용되기 시작하였다. 48 kHz는 44.1kHz보다 여유있는 저역필터(low pass filter)사용이 가능해졌다. DVD와 블루레이는 48kHz의 샘플링 레이트만 사용한다.

    [표] 샘플링 레이트

    샘플링 레이트

    이용

    8,000 Hz

    표준 전화, 암호화된 워키토키, 무선 인터콤, 무선 마이크로폰 전송에 사용.

    11,025 Hz

    서브우퍼 대역 주파수 오디오 분석을 위한 MPEG 오디오, 낮은 품질의 PCM에 사용됨.

    16,000 Hz

    VoIP에서 사용(대역폭이 충분한 경우)

    22,050 Hz

    낮은 품질의 PCM과 MPEG 오디오, 그리고 낮은 주파수 에너지의 오디오 분석을 위해 사용됨.

    32,000 Hz

    미니DV 디지털 비디오캠코더, 고품질 디지털무선 마이크로폰 등 CD 수준의 품질이 요구되지 않은 경우에 일반적으로 사용됨. 1980년대 FM 라디오에서 사용됨(영국과 일본).

    37,800 Hz

    CD-XA 오디오

    44,056 Hz

    NTSC를 위한 디지털 오디오에 사용.

    44,100 Hz

    오디오 CD, MPEG-1 오디오(VCD, SVCD, MP3)에서 사용됨. 믹서, 이퀄라이저, 압축기, 리버브, 크로스오버, 녹음 장치, CD 품질 암호화 무선 마이크로폰에서 사용됨

    47,250 Hz

    닛폰 컬럼비아가 개발한 세계 첫 상용 PCM 소리 녹음기에 사용

    48,000 Hz

    테입 레코더, 비디오 서버, 비전 믹서 등 전문 디지털 영상 장비에 사용되는 표준 오디오 샘플링 레이트. 이 샘플링 레이트는 22 kHz 주파수 응답으로 전송할 수 있으며 25, 30, 24 FPS와 마찬가지로 29.97 FPS NTSC 영상으로 작동하기 때문에 채택된다.

    50,000 Hz

    3M과 사운드스트림에서 70년대 후반의 첫 상용 디지털 오디오 녹음기.

    50,400 Hz

    미쓰비시 X-80 디지털 오디오 녹음기가 사용하는 샘플링 레이트.

    88,200 Hz

    CD를 위해 사용할 때에 몇몇 전문 녹음 장비가 사용하는 샘플링 레이트.

    96,000 Hz

    DVD-Audio, 몇몇 LPCM DVD 트랙, 블루레이 디스크 오디오 트랙, HD DVD 오디오 트랙. 대부분의 전문 오디오 장비는 믹서, 이퀄라이저, 압축기, 리버브, 크로스오버, 녹음 장치에서 사용.

    176,400 Hz

    CD 제작을 위한 HDCD 녹음기와 다른 전문 소프트웨어에 사용되는 샘플링 레이트.

    192,000 Hz

    DVD 오디오, 몇몇 LPCM DVD 트랙, 블루레이 디스크 오디오 트랙, HD DVD 오디오 트랙, HD 오디오 녹음 기기 및 오디오 편집 소프트웨어.

    352,800 Hz

    1비트 DSD가 편집에 적합하므로 수퍼 오디오 CD를 기록하고 편집하는데 사용

    2,822,400 Hz

    SACD(Super Audio CD)에서 사용됨.주파수 범위 20 Hz – 50 kHz를 지원.

    둘째, 디지털 오디오의 중요한 속성은 비트 깊이(bit depth)이다. 샘플링 레이트에 따라서 얻어진 신호의 크기를 몇 비트로 표현할 것인가를 나타낸다. 흔히 이를 양자화(Quantization)라고 한다. 보다 많은 비트를 사용해서 표현할수록 더 섬세한 신호의 크기를 표현할 수 있고, 극단적인 경우에는 한 비트로 신호가 있고 없고를 나타낼 수도 있다. 일반적으로 많이 사용되는 비트 깊이는 8비트, 16비트, 24비트 등이다. CD는 16비트를 사용하며, DVD-Audio는 16, 20, 24 비트를 사용할 수 있었다(DVD-Audio는 2007년부로 사장되었다). 아래에는 BD-ROM에서 사용되고 있는 오디오들의 샘플링 레이트와 비트 깊이를 나타낸다.

    [표] 샘플링 레이트와 비트 깊이

     

    LPCM (Linear PCM)

    돌비 디지털

    돌비 디지털 플러스

    돌비 TrueHD (무손실)

    DTS 디지털 서라운드

    DTS-HD (무손실)

    Dynamic Resolution Adaptation

    비트/샘플

    16, 20, 24

    16-24

    16-24

    16-24

    16, 20, 24

    16-24

    16

    샘플 주파수

    48 kHz, 96 kHz, 192 kHz

    48 kHz

    48 kHz

    48 kHz, 96 kHz, 192 kHz

    48 kHz

    48 kHz, 96 kHz, 192 kHz

    48 kHz

    이제는 I2S의 데이터의 전송 속도를 알아 볼 시간이 되었다. I2S는 오디오 신호를 전송하는 것이므로, 스피커를 통해서 소리가 출력되는 속도와 동일한 속도로 데이터의 전송이 이루어져야 한다. 더 빨라도 안 되고, 더 늦어도 안된다. 마스터 클럭을 통해서 데이터의 전송 속도와 오디오 집적 회로의 동작 클럭을 일치시키는 것도 이러한 이유 때문이다.

    먼저, CD 의 음원을 전송하는 경우이다. 샘플링 레이트가 44.1kHz 이므로, 초당 44100번의 샘플링이 있었으며, 샘플링된 신호는 16비트로 양자화되었으므로 1초에 전송해야 할 데이터는 44100 x 16 비트 = 705,600 비트이다. 이것은 모노(mono)인 경우이다. 만약 스테레오의 경우라면 왼쪽과 오른쪽 마이크를 통해서 샘플링된 신호가 각각 존재하므로, 1초에 전송해야 할 데이터는 모노의 2배에 해당하므로 44100 x 16비트 x 2 채널 = 1,411,200 비트가 된다. 즉, CD음원을 전송하는 경우 I2S의 데이터 전송 속도는 1.411 Mbits/s가 된다. 이런 식으로 전송하는 오디오 음원의 제작 방법에 따라서 I2S의 데이터 전송 속도는 달라지게 된다.

    3.기술의 동작

    1) 데이터의 전송

    데이터의 전송을 위해서 세 개의 라인을 통해서 동기화된 출력이 필요하다. 첫째는 클럭 신호를 통해서, 오디오 데이터의 송신기와 수신기가 데이터를 주고 받기 위한 동기화를 하게 된다. 클럭 신호는 I2S 버스 시스템에 연결되어 있는 기기 중에서 한 곳에서 생성이 된다. 앞에서 설명한 것과 같이 클럭을 생성하는 장치를 마스터라고 한다.

    클럭은 32KHz, 44.1KHz, 48KHz 또는 이들의 배수에 해당하는 값을 사용한다. 이유는 이미 앞에서 설명한 것과 같이 전송되는 데이터가 오디오이므로, 스피커를 통해서 출력하는 속도와 같아야 한다. 32KHz, 44.1KHz, 48KHz는 일반적으로 디지털 오디오 음원에 사용되는 샘플링 레이트이다. CD 음원을 사용하는 경우라면, 음원의 샘플링 레이트가 44.1KHz 이고, 16비트로 구성되며, 왼쪽 스피커/오른쪽 스피커(L/R)신호로 구성이 되므로, 사용되는 클럭은 44.1KHz x 16 비트 x 2 채널= 1.4112MHz이다.

    둘째는 오디오가 스테레오의 경우라면, 좌우 채널 선택을 해주어야 한다. 즉, 현재 전송하고자 하는 오디오 신호가 왼쪽 채널인데, 오른쪽 채널인지를 리시버에게 알려주어야 한다. 그래야만 리시버는 자신에게 연결되어 있는 2개의 스피커 중 올바른 쪽으로 소리를 출력할 수 있다. 구체적으로 트랜스미터는 좌우 채널 선택 클럭 신호를 low신호로 바꾸고, 왼쪽 채널 신호를 전송한다. 그 다음 좌우 채널 선택 클럭 신호를 high신호로 바꾸고 오른쪽 채널 신호를 전송한다. 좌우 채널 선택은 일정한 주기로 반복이 된다.

    셋째는 오디오 데이터를 전송한다. 오디오 데이터의 길이는 앞에서 살펴 본 비트 깊이(bit depth)에 따라 다르다. 데이터의 길이는 28비트까지 조정이 가능하다. 아래의 그림은 16비트 길이의 경우와 24비트 길이의 경우를 예시하고 있다.

    [그림 3] I2S의 데이터 전송 타이밍

    2) 데이터 프레임

    I2S는 오디오 데이터의 전송이 목적이기 때문에 데이터 프레임이란 다름 아닌 오디오 데이터를 담기 위한 포맷이며, 왼쪽과 오른쪽 채널의 구분이 있으나, 데이터의 포맷은 동일하다.

    4.기술의 구현

    1) 안드로이드에서의 I2S

    아래는 스마트 폰을 비롯하여 안드로이드가 탑재되는 기기에서 사용되는 I2S 버스 시스템의 일반적인 블록도이다. 전화 통화를 지원하기 위해서 기본적으로 마이크와 스피커가 탑재되어 있고, 마이크는 아날로그 신호를 디지털 신호로 변환하는 작업을 맡고, 스피커는 DAC(Digital Analog Converter)를 통해서 디지털 신호를 아날로그 신호로 변환한다.

    [그림 4] 안드로이드에서의 I2S 연결

    아래의 소스 코드는 안드로이드에서 I2S 통신을 하기 위한 환경 설정 부분이다.

    private static final AudioFormat AUDIO_FORMAT_STEREO =

    new AudioFormat.Builder()

    .setChannelMask(AudioFormat.CHANNEL_IN_STEREO) // 2 channels

    .setEncoding(AudioFormat.ENCODING_PCM_16BIT) // 16-bit samples

    .setSampleRate(44100) // 44.1kHz

    .build();

    2) TDM

    I2S는 두 채널의 오디오 신호, 즉 왼쪽 스피커를 위한 채널과 오른쪽 스피커를 위한 채널를 전송하기 위한 규격이다. 그러나, 현실에서는 훨씬 많은 채널을 전송해야 할 필요가 있다. 서라운드 효과를 위해서 기본적으로 5.1채널이 요구되며, 보다 실감나는 효과를 위해서 7.1 채널도 사용이 된다. 이들은 왼쪽 스피커, 오른쪽 스피커 이외에도 후방의 좌우에 스피커를 각각 배치하며, 전방의 좌우 스피커에 사이에 센터 스피커를 배치한다. 그리고, 서브 우퍼가 연결이 된다. 이렇게 설치되어 있는 모든 스피커들에게 동일한 타이밍으로 오디오 신호를 전송해야만 올바른 소리를 들을 수 있다.

    이 문제를 해결하기 위해서 I2S규격과 유사한 방식을 사용하는데, 이러한 방식을 TDM(Time Division Multiplexed)라고 한다. 이름에서도 짐작할 수 있듯이, 하나의 물리 채널을 이용하여 여러 개의 오디오 채널을 전송하기 위해, 각각의 오디오 채널에게 일정한 간격으로 시간을 할당하는 방식이다. I2S도 좌우 채널이 일정한 간격으로 각자의 오디오 신호를 전송하므로, TDM방식이라고 볼 수 있다. 다만, I2S는 단 2개의 오디오 채널만 사용되므로 5.1채널의 6채널보다 시간적으로 여유롭게 물리 채널을 사용할 수 있다.

    TDM은 표준규격이 존재하지 않는다. 따라서 제조업체에 따라서 다양한 형태로 구현이 된다. 그러나, 기본적인 동작 방식은 거의 동일하다. I2S와 같이 데이터 전송을 위한 연결 라인, 동기 신호를 보내는 클럭 라인, 그리고, 프레임 동기화 신호를 전송하는 라인으로 구성이 된다.

    [참고] 샘플링 레이트와 비트 레이트

    I2S 의 데이터 전송 속도를 설명하면서, 샘플링 레이트를 이용해서 초당 전송되는 데이터의 량, 즉 비트 레이트를 구했다. CD의 경우에는 44.1kHZ 의 샘플링 레이트일 경우, 1.411mbps 의 비트 레이트가 나오는 것을 확인하였다. 이 수식에는 중요한 단서가 있는데, 그것은 압축되지 않은 음원이라는 사실이다. 따라서 샘플링에서 만들어 낸 비트 수 만큼 스피커로 전송을 하게 되고, 샘플링 레이트와 비트 레이트는 배수의 관계를 갖게 된다.

    그러나, 음원이 압축이 되면 이야기는 상황이 복잡해 진다. 먼저 mp3의 경우를 보자. CD에서 추출한 원본 데이터는 비록 초당 1,411mbps의 데이터를 갖고 있다고 하더라도 mp3로 압축이 되면, 일반적으로 용량은 10분의 1로 줄어든다. 그리고 압축을 풀더라도 원래의 데이터를 복원할 수 없다. Mp3 의 컨셉 자체가 인간이 잘 인지할 수 없는 영역에 있는 오디오 데이터는 버리는데 있기 때문이다. 따라서, mp3에 있어서는 샘플링 레이트가 중요한 것이 아니라, 압축한 결과 초당 얼마만큼의 데이터를 보유하고 있는가를 나타내는 비트 레이트가 중요해지고, 더 이상 샘플링 레이트는 의미가 없다. 샘플링 레이트가 88.2kHz이더라도, 44.1kHz인 경우보다 초당 갖고 있는 데이터의 양은 더 적을 수 있으므로, 오디오의 품질이 더 좋다고 할 수 없다.

    아래는 mp3가 가질 수 있는 비트 레이트를 보여주고 있다. mp3의 최고 비트레이트가 320 kbit/s이므로 CD의 비트 레이트인 1.411mbit/s 보다 훨씬 낮다. 일반적으로 스마트폰에 담아서 다니는 mp3의 경우 파일의 크기가 대략 3.5MB 인데, 대부분 192 kbit/s의 비트 레이트를 갖고 있다. 이 경우 원래의 음원은 대략 30MB 의 크기를 갖는다.

    [표] 비트 레이트

    마지막으로 살펴 볼 내용은 mp3와 I2S의 관계이다. 결론부터 보자면, mp3는 I2S를 통해서 직접 전송이 될 수는 없다. I2S 는 PCM 데이터, 즉 압축되지 않은 오디오 데이터만을 전송한다. 따라서 mp3는 CPU에 의해서 메모리에서 PCM데이터 형태로 변환이 된 후에 I2S를 통해서 스피커로 전송이 된다.

     

    출처: m.blog.naver.com/prnbada7/221194850771

Designed by Tistory.