MP3

위키백과(百科), 우리 모두의 백과사전(百科事典).

MPEG-1 or MPEG-2 Audio Layer III
파일 확장자(擴張字) .mp3
인터넷 미디어 타입
audio/mpeg, [1] audio/MPA, [2] audio/mpa-robust [3]
개발(開發) 프라운호퍼 협회(協會)
오랑주
필립스
TDF 그룹
IRT
포맷 종류(種類) 오디오 압축(壓縮) 포맷

MP3 ( 엠피쓰리 또는 엠피스리(리) , MPEG-1 Audio Layer-3 또는 MPEG-2 Audio Layer-3, 문화어(文化語) : 엠피삼(三) [4] )는 MPEG-1 디지털 오디오 규격(規格)으로 개발(開發)된 손실(損失) 압축(壓縮) 오디오 코딩 포맷 이다. MP1, MP2를 개량(改良)하여 만들어져 가장 대중적(大衆的)인 음악(音樂) 파일 포맷 으로 여겨진다. 컴퓨터 디스크 등(等)의 PCM [5] MPEG-2 MP3는 압축(壓縮) 방식(方式)은 동일(同一)하지만, 비트율(率)이 낮은 매체(媒體)를 위한 낮은 고정(固定) 비트율, 다채널(多채널) 대응(對應)이 포함(包含)되어 있다. 이 형식(形式)은 유럽형(型) DVD에 채용(採用)되어 있다. 또한 ISO 표준(標準) 규격(規格)이 아닌 MPEG-2.5 Audio Layer 3이라는 것도 있으며, 저 비트레이트에서의 사용(使用)에 최적화(最適化)되어 있다.

개요(槪要) [ 편집(編輯) ]

MP3는 손실(損失) 오디오 압축(壓縮) 포맷이다. MP3는 PCM 오디오 데이터를 사람이 듣는 데 중요(重要)하지 않은 부분(部分)을 버리고 다시 표현(表現)한 것이다. ( JPEG 이미지의 손실압축기법(損失壓縮技法)과 비슷하다)

MP3에서 사용(使用)하는 기술(技術)의 대부분(大部分)은 음향심리학(音響心理學) 에서의 오디오 데이터의 어느 부분(部分)을 폐기(廢棄)할 것인가를 결정(決定)하는 데에 있다. [6] MP3 오디오는 각기(各其) 다른 비트레이트 로 압축(壓縮)된다. 데이터의 크기와 음질(音質)에 서로 관계(關係)가 있다. 다시 말해, 데이터의 크기가 커지면 음질(音質)은 좋아지는 반면(反面) 데이터의 크기가 작아지면, 음질(音質)과 성능(性能)은 떨어진다.

데이터 전송속도(電送速度)는 최대(最大) 320Kbps 가 최대(最大)이다.

역사(歷史) [ 편집(編輯) ]

개발(開發) [ 편집(編輯) ]

MPEG, MP3를 포함(包含)하여 최근(最近)의 손실(損失) 압축(壓縮)은 아르헨티나 부에노스 아이레스(Buenos Aires) 대학(大學) Oscar Bonello 교수(敎授)의 초기(初期) 연구(硏究)에 기본(基本)을 두고 있다. 그는 방송용(放送用) 라디오 자동화(自動化)를 위한 스튜디오 장비(裝備) 설계(設計)에 관련(關聯)이 있었다. 또한, 주된 연구(硏究) 분야(分野)인 음향심리학(音響心理學) 음향학(音響學) 을 대학(大學)에서 가르쳤다(실내 음향(音響) 디자인에 관(關)한 "Bonello Criterion"이라는 책(冊)을 낸 적도 있다.) 1983년(年), 그는 오디오 신호(信號)를 부호화(符號化)할 때 필요(必要)한 비트 스트림을 줄이기 위해 크리티컬 밴드 마스킹(Critical Band Masking) 원리(原理)를 사용(使用)하는 아이디어를 연구(硏究)하기 시작(始作)했다. 마스킹 원리(原理)는 1924년(年) 에 처음 개발(開發)되었으며 1959년(年) Egan-Hake와 Richard Ehmer에 의(依)해 더욱 발전(發展)되었다. Bonello의 연구(硏究)는 1987년(年) IBM 개인용(個人用) 컴퓨터 에서 하드웨어에 의(依)해 구현(具現)되며 실시간(實時間)으로 동작(動作)하는 세계(世界) 최초(最初)의 비트 압축(壓縮) 시스템을 만들어 냈다. 이것은 ECAM이라고 불렸다. 이 플러그인 카드와 관련(關聯)된 제어(制御) 소프트웨어는 완벽(完璧)히 동작(動作)하는 하나의 제품(製品)으로써 1988년(年) 오디컴(Audicom)이란 이름으로 처음 전시(展示)되었다. 그 뒤 1990년(年) 미국(美國) 아틀란타의 국제(國際) NAB 라디오 전시회(展示會)(Radio Exhibition)를 통해 세계(世界)에 알려졌다. 기본적(基本的)인 Bonello 구현(具現)은 현재(現在) MP3와 다른 시스템에서 쓰이고 있다. 그는 이 기술(技術)과 관련(關聯)하여 어떠한 특허(特許) 내는 것을 거절(拒絶)하였다.

MPEG-1 Audio Layer 2 인코딩은 독일(獨逸) Deutsche Forschungs- und Versuchsanstalt fur Luft- und Raumfahrt (나중에는 Deutsches Zentrum fur Luft- und Raumfahrt , German Aerospace Center로 불림) 소속(所屬) Egon Meier-Engelen가 관리(管理)하는 디지털 오디오 방송(放送) (Digital Audio Broadcast) 프로젝트로 시작(始作)되었다. 이 프로젝트는 일반적(一般的)으로 EU-147(1987년(年)부터 1994년(年)까지 운영(運營)됨)로 알려진 유레카(EUREKA) 연구(硏究) 프로그램의 한 부분(部分)으로써 유럽 연합(聯合)의 재정(財政) 지원(支援)을 받았다.

독일(獨逸)의 Erlangen-Nuremberg 대학(大學) 박사(博士) 연구생인(硏究生人) Karlheinz Brandenburg는 1980년대(年代) 초반(初盤) 디지털 음악(音樂) 압축(壓縮)에 대(對)한 연구(硏究)를 시작(始作)했다. 그는 어떻게 사람들이 음악(音樂)을 인지(認知)하는지에 초점(焦點)을 맞추고 있었다. 1989년(年) 에 그의 박사(博士) 연구(硏究)는 완성(完成)되었으며 Erlangen-Nuremberg에서 조교수(助敎授)가 되었다. 그 뒤 프라운호퍼 게셀샤프트 ( 1993년(年) Karlheinz Brandenburg는 Fraunhofer Institute의 staff로 합류(合流))에서 과학자(科學者)들과 함께 음악(音樂) 압축(壓縮)에 관(關)한 연구(硏究)를 이어나갔다.

1991년(年) 적용(適用)할 수 있는 두 개(個)의 제안(提案)이 있었으나 Philips(네덜란드),CETT(프랑스), Institut fur Rundfunktechnik(독일(獨逸))이(李) 제안(提案)한 Musicam 기술(技術)은 높은 음질(音質)의 압축(壓縮) 오디오를 인코딩하는 경우(境遇)에 아주 적은 계산(計算) 능력(能力)으로 소화(消化)해 낼 뿐만 아니라 명료(明瞭)함과 오류(誤謬) 내구성(耐久性) 때문에 채택(採擇)되었다. 서브밴드 인코딩(sub-band encoding)에 기반(基盤)을 둔 Musicam 포맷은 MPEG 오디오 압축(壓縮) 포맷(샘플 레이트, 프레임 구조(構造), 헤더, 프레임 당(黨) 샘플 수(數))의 기반(基盤)을 마련하는 데 주요(主要)한 역할(役割)을 했다. 그 기술(技術)과 아이디어들은 ISO MPEG Audio Layer I과 Layer II, Layer III(MP3) 형식(形式)의 정의(定義)에 모두 추가(追加)되어 있다. Honnover 대학(大學)의 Mussmann 교수(敎授)가 주도(主導)하며 Leon van de Kerkhof(Layer I)와 Gerhard Stoll(Layer II)의 책임하(責任下)에 표준(標準)이 수정(修正)되었다.

Leon Van de Kerkhof(네덜란드), Gerhard Stoll(독일(獨逸)), Leonardo Chiariglione(이탈리아), Yves-Franc,ois Dehery(프랑스), Karlheinz Brandenburg(독일(獨逸))들로 구성(構成)된 연구(硏究) 모임은 Musicam과 ASPEC으로부터 아이디어를 가져오는 한편(한便) 그들 스스로의 아이디어를 덧붙이기도 하였다. 그래서 192Kbps의 MP2와 같은 음질(音質)의 128kbps를 만들어 내는 방법(方法)을 만들어냈다.

모든 알고리즘은 1991년(年) 에 승인(承認)되었으며 1992년(年) , MPEG의 첫 번째(番째) 표준(標準) 모음(母音)들 중(中)의 한 부분(部分)으로써 완성(完成)시켰다. 그 뒤 1993년(年) International Organization for Standardization(ISO)/International Electrotechnical Commission(IEC) 11172-3 에서 국제(國際) 표준(標準)이 되었다.

MPEG 오디오에 대(對)한 더 많은 연구(硏究)가 1994년(年) 에 이루어졌다. 그것은 MPEG-2 라고 하는 MPEG의 2번째(番째) 세트 가운데 한 부분(部分)이었으며 1995년(年) 발행(發行)된 국제(國際) 표준(標準) International Organization for Standardization(ISO)/International Electrotechnical Commission(IEC) 13818-3 로써 공식적(公式的)으로 더 알려지게 된다.

인코더의 압축(壓縮) 효율(效率)은 일반적(一般的)으로 비트 레이트에 따라 결정(決定)된다. 왜냐하면 압축율(壓縮率)은 입력신호(入力信號)의 샘플링 레이트와 비트 깊이에 의존(依存)하기 때문이다. 그러나 보통(普通) CD 매개변수(媒介變數)를 레퍼런스(44.1kHz, 2 채널, 1채널 당(黨) 16 비트 또는 2x16 비트)로 사용(使用)하여 압축율(壓縮率)을 나타내곤 한다. 때로는 디지털 오디오 테이프(DAT) SP가 매개변수(媒介變數)로 쓰이기도 한다.(48kHz, 2x16 비트). 이것을 레퍼런스로 사용(使用)한 압축률(壓縮率)은 더 높아서 손실(損失) 인코더에서 "압축률(壓縮率)(compression ratio)"이란 단어(單語)를 무색(無色)하게 만들기도 한다.

Karlheinz Brandenburg MP3의 압축(壓縮) 알고리즘을 평가(評價)하기 위해 선택(選擇)했던 노래가 Suzanne Vega의 노래 Tom's Diner이다. 이 노래는 부드럽고 단조로웠기 때문에 재생(再生)하는 동안 압축(壓縮) 포맷에서의 잘못된 부분(部分)을 듣기가 쉬웠다. 어떤 사람들은 농담(弄談) 삼아 Suzanne Vega를 "MP3의 어머니"라 하기도 한다.

오늘날의 MP3에 VBR(Variable Bit Rate) 기술(技術)은 프라운호퍼사(社)가 아닌 Xing에서 추가(追加)한 기술(技術)이다 하지만 Xing Encoder 1.5에서는 16kHz가 잘리는 버그가 있었으나 추후(追後) 개선(改善)되었다.

대중화(大衆化) [ 편집(編輯) ]

1994년(年) 7월(月) 7일(日), Fraunhofer Society는 I3enc라는 첫 번째(番째) MP3 소프트웨어를 선보였다. 그 뒤 1995년(年) 7월(月) 14일(日) .mp3라는 확장자(擴張字)가 Fraunhofer팀에 의(依)해 정의(定義)되었다.(이전까지는 .bit로 사용(使用)되었었다) 첫 번째(番째) 실시간(實時間) MP3 플레이어 프로그램(1995년(年) 9월(月) 9일(日) 발표(發表))과 함께 많은 사람들이 그들의 PC에서 MP3를 인코딩하고 재생(再生)할 수 있게 되었다. 그 때까지는 아주 작은 용량(容量)의 하드 디스크였기 때문에(~500MB) 컴퓨터에서 음악(音樂)을 듣기 위해서는 비악기(非樂器) 기반(基盤) 음악(音樂)(non-instrument based Music)을 저장(貯藏)해야 했다.

MP2 [ 편집(編輯) ]

1993년(年) 10월(月), MP2(MPEG-1 Audio Layer 2)파일이 인터넷에 모습을 드러냈다. MP2는 Xing MPEG Audio Player를 사용(使用)하여 재생(再生)할 수 있었다. 그 뒤 MAPlay라고 하는 Tobias Banding의 유닉스 프로그램(1994년(年) 2월(月) 22일(日) 초기(初期) 버전 발표(發表). 마이크로소프트 윈도우에서 동작(動作)하는 버전도 있음)을 사용(使用)하여 재생(再生)하기도 했다. 초창기(草創期) MP2를 만들어 내는 프로그램은 Xing가 유일(唯一)하게 가능(可能)하였으며 cdda2wav라든지, CD 오디오에서 웨이브 형태(形態)의 오디오 파일을 만들어내는 CD 리퍼 같은 것들이 함께 쓰였다. Internet Underground Music Archive (IUMA)는 온라인 음악(音樂)의 대변화(大變化)의 시작점(始作點)을 인정(認定)하기 시작(始作)했다. IUMA는 MP3와 웹이 대중화(大衆化)되기 앞서, 인터넷의 고품질(高品質) 음악(音樂) 웹 사이트였다. 그들은 MP3와 웹이 대중화(大衆化)되기 앞서 MP3 레코딩에 관(關)한 수천(數千)가지의 권한(權限)을 제공(提供)했다.

인터넷 [ 편집(編輯) ]

1995년(年) 전반기(前半期)부터 1990년(年) 후반기(後半期)까지. MP3는 인터넷에서 퍼지기 시작(始作)했다. MP3의 대중성(大衆性)은 널소프트(Nullsoft)의 오디오 플레이어인 윈앰프(1997년(年) 발표(發表))와 유닉스 오디오 플레이어인 mpg123, 그리고 네트워크 P2P 파일 공유(共有) 프로그램인 냅스터(1999년(年) 발표(發表))의 출현(出現)과 함께 빠르게 성장(成長)해 나갔다. 이 프로그램들은 사용자(使用者)들로 하여금 MP3 공유와 수집(蒐集), 제작(製作), 재생(再生)을 보다 쉽게 해주도록 하였다.

작은 크기의 MP3파일은 P2P를 이용(利用)하여 음악(音樂)을 광범위(廣範圍)하게 공유(共有)할 수 있게 하였다. 그것은 이전(以前)까지는 불가능(不可能)한 것이었다. 그렇게 무료(無料)로 음악(音樂)을 공유(共有)하는 것은 음반(音盤) 판매(販賣)를 감소시킨다고 주장(主張)하는 주(主)된 레코드 회사(會社)들은 냅스터에 법적소송(法的訴訟)을 걸어 냅스터를 폐쇄(閉鎖)시켰다. 그리고 파일 공유(共有)에 적극적(積極的)으로 참여(參與)한 개인(個人) 사용자(使用者)들에 대(對)해서도 법적(法的) 소송(訴訟)을 걸었다.

MP3의 대중성(大衆性)에 반(反)하여, 온라인 소매상인(小賣商人)들은 소유권(所有權)이 있는 포맷을 사용(使用)하기 시작(始作)했다. 그 포맷은 DRM 로 암호화(暗號化)되어 있어서 사용자(使用者)들이 레코드 회사(會社)에 의(依)해 특별히(特別히) 인증(引證)되지 않은 경로(經路)로 구매(購買)된 음악(音樂)을 사용(使用)하는 것을 막았다. 레코드 회사(會社)들은 P2P로 네트워크에서 파일 공유(共有)되어 사용(使用)하는 것을 막기 위해 이것은 꼭 필요(必要)한 것이라 주장(主張)했다. 그러나 이것은 또 다른 문제(問題)가 있었다. 바로 사용자(使用者)들이 정식(正式)으로 구입(購入)한 노래를 다른 형태(形態)의 장치(裝置)에서 재생(再生)하는 것까지 막아 버린 것이었다.(이를테면, MP3 플레이어에서는 재생(再生)할 수 있지만 개인용(個人用) 컴퓨터에서는 재생(再生)하지 못한다든지) eMusic과 같은 곳은 MP3 포맷으로 서비스를 계속(繼續)하여 어떤 장치(裝置)에서든지 사용자(使用者)들이 음악(音樂)을 들을 수 있게 하고 있다. 하지만 이런 일들이 있어도 꾸준히 판매(販賣)가 늘어났지만 이런 일이 많아지고 계속(繼續)되자 점점(漸漸) 판매(販賣)가 줄어들었다.

인코딩 [ 편집(編輯) ]

MPEG-1 표준(標準)은 MP3의 정확(正確)한 정의(定義)는 포함(包含)하고 있지 않지만 음향심리학(音響心理學)적 예제 모델과, 비율(比率) 반복(反復), 비규범적(非規範的)인 부분(部分)을 제공(提供)하고 있다. 현재(現在)에는, 구현(具現)에 대(對)한 부분(部分)은 매우 진부(陳腐)하다고 암시(暗示)하고 있다. 표준(標準) 구현자(具現者)(표준(標準)에 따른 개발(開發)을 하는 개발자(開發者))들은 RAW 음원(音源)에 독립적(獨立的)인 알고리즘을 만드는 데 노력(努力)하고 있다.

인코딩 과정중(過程中) 576회(回)의 시간(時間) 도메인 샘플들이 576개(個)의 주파수(周波數) 도메인 샘플로 변환(變換)된다.(이부분은 실세계(實世界)에서 음원(音源)과 컴퓨터 상(上)의 음원(音源)의 원리(原理)를 비교(比較)해보면 이해(理解)할 수 있음) 만약(萬若) 시간(時間)이 매우 짧다면, 576개(個) 대신(代身)에 192개(個)의 샘플만 추출(抽出)될 수도 있다.(음원의 엔코딩 시간(時間)이 여유롭지 못할때). 이럴 때는 잠시(暫時)동안의 약간(若干)의 노이즈가 동반(同伴) 될 수 있다.(Jit)

결론적으로, 많은 MP3 인코더들이 존재(存在)하는데, 모두 생성(生成)하는 품질(品質)은 다를 수 있다. 그들에 대(對)한 비교결과(比較結果)는 유효(有效)하며, 사용자(使用者)에게 가장 편(便)한 인코더를 선택(選擇)하는 것이 최선(最善)의 방법(方法)이다. 매우 높은 비트레이트 샘플링에 요구(要求)되는 숙련(熟鍊)된 사용방법(使用方法)은 낮은 비트레이트에서는 요구(要求)되지 않는다.

파일 구조(構造) [ 편집(編輯) ]

MP3 파일은 여러 블럭들의 집합(集合)으로 이루어져 있다. 블럭에는 ID3v1, ID3v2 등(等)의 태그들과 AAU(Audio Access Unit)들로 이루어져 있다. 특히(特히) ID3v2 태그는 선택적(選擇的)으로 여러개(個) 들어갈 수 있다.

ID3v2 AAU AAU ... AAU APE Tags Lyrics3v2 ID3v1

AAU [ 편집(編輯) ]

Audio Access Unit의 약자(略字)로서 실제(實際) 음향(音響) 데이터를 담고있다. AAU는 또 다시 여러개(個)의 블럭으로 나뉜다.

헤더
Header
CRC 사이드 인포메이션
Side information
메인 데이터
Main Data
부가(附加) 데이터
Ancillary Data

AAU의 길이는 다음과 같다.

AAU's size = 144 * bitrate / frequency + paddingbit (byte)

만약(萬若), 비트 레이트가 448,000 bit/s 이고 주파수(周波數)가 48,000Hz, 패딩 비트가 on(true 또는 1)이라면

AAU's size = 144 * 448,000 / 48,000 + 1 = 1,345 byte

가 된다.

비트레이트와 주파수(周波數), 패딩 비트 정보(情報)는 헤더로부터 가져 올 수 있다.

헤더 [ 편집(編輯) ]

헤더에는 하나의 AAU 블럭을 디코딩 하기 위해 필요(必要)한 기본적(基本的)인 정보(情報)를 담고 있다. 모든 AAU 마다 헤더를 가지고 있으므로 AAU는 독립적(獨立的)으로 디코딩 될 수 있지만 대개(大槪) 하나의 MP3에는 동일(同一)한 헤더를 가지고 있으므로 디코더는 주로(主로) 맨 첫번째(番째) 헤더만을 읽는다.

1 byte 1 1 1 1 1 1 1 1
2 byte 1 1 1 1 1 0 1 1
3 byte 1 1 1 1 1 0 1 1
4 byte 1 1 1 1 1 0 1 1
MP3 Sync Word 모두 1로 설정(設定)되어 프레임의 시작(始作)을 알린다. [7]
Version
Value Version
00 MPEG 2.5
01 Reserved
10 MPEG 2
11 MPEG 1
Layer
Value Layer
00 Reserved
01 Layer III
10 Layer II
11 Layer I
Error Protection CRC 오류(誤謬) 체크 프레임의 존재(存在) 유무(有無)를 나타낸다.
Value Chucksum
0 on
1 off
Bit rate (단위(單位)는 Kbit)
Value MPEG-1 Layer I MPEG-1 Layer II MPEG-1 Layer III MPEG-2, MPEG-2.5
Layer I Layer II, III
0000 free free free free free
0001 32 32 32 32 8
0010 64 45 40 48 16
0011 96 56 45 56 24
0100 128 64 56 64 32
0101 160 80 64 80 40
0110 192 96 80 96 48
0111 224 112 96 112 56
1000 256 128 112 128 64
1001 288 160 128 144 80
1010 320 192 160 160 96
1011 352 224 192 176 112
1100 384 256 224 192 128
1101 416 320 256 224 144
1110 448 384 320 256 160
1111 bad bad bad bad bad

MPEG1 Layer II에서는 다음과 같이 비트레이트에 따라 허용(許容)되는 모드가 정(定)해져 있다. (MPEG 2와 2.5에서는 해당(該當) 없음 [8] )

Bitrate Allowed modes
free all
32 single channel
48 single channel
56 single channel
64 all
80 single channel
96 all
112 all
128 all
160 all
192 all
224 stereo, intensity stereo, dual channel
256 stereo, intensity stereo, dual channel
320 stereo, intensity stereo, dual channel
384 stereo, intensity stereo, dual channel
Frequency
Value MPEG 1 MPEG 2 MPEG 2.5
00 44100 22050 11025
01 48000 24000 12000
10 32000 16000 8000
11 reserved reserved reserved
Padding bit
Value Padded
0 false
1 true
Priv bit 별도(別途)로 쓰이지 않는다.
Channel Mode 채널 모드에 대(對)한 정보(情報)를 담고있다.
Value Mode
00 Stereo
01 Joint Stereo
10 Dual Channel(DualMono)
11 Single Channel(Mono)
Mode Extension Joint Stereo의 경우(境遇)에만 쓰이다.
Value Layer I Layer II Layer III
Intensity stereo MS stereo
00 subbands 04 to 31 off off
01 subbands 08 to 31 on off
10 subbands 12 to 31 off on
11 subbands 16 to 31 on on
Copyright 저작권(著作權)의 보호(保護)를 받고 있는지 아닌지에 대(對)한 정보(情報)를 담고있다.
특별히(特別히) 사용(使用)되지 않는다.
Value Copyrighted
0 false
1 true
Original 원본(元本) 자료(資料)인지 아닌지에 대(對)한 정보(情報)를 담고있다.
특별히(特別히) 사용(使用)되지 않는다.
Value Copied
0 true
1 false
Emphasis
Value Emphasis
00 none
01 50/15 ms
10 reserved
11 CCIT J.17

CRC [ 편집(編輯) ]

CRC는 프레임의 오류(誤謬)를 검사(檢査)하기 위한 데이터를 담고 있다. 대부분(大部分)의 MP3 파일에는 존재(存在)하지 않는다. [9] 헤더에서 "Error Protection" 이 "on" 일때만 존재(存在)한다.

총(總) 16 bit(2 byte)의 길이를 갖는다.

사이드 인포메이션 [ 편집(編輯) ]

사이드 인포메이션(Side information) 은 인코딩된 메인 데이터를 디코딩 하는데 필요(必要)한 정보(情報)를 가지고 있다. 사이드 인포메이션의 길이는 다음과 같다.

Mode MPEG-1 MPEG-2, MPEG-2.5
Stereo, Joint Stereo, Dual (Dual Channel) 32 byte 17 byte
Mono (Single Channel) 17 byte 9 byte

사이드 인포메이션은 다음과 같이 구성(構成)되어 있다.

사이드 인포메이션의 구조(構造) [10]
Name Bits
Single channel Dual channel
main_data_begin 9
private_bits 5 3
scfsi 1 * 4 1 * 4 * 2 (8)
Side Information for granule 1 59 59 * 2 (118)
Side Information for granule 2 59 59 * 2 (118)
total 136 (17 byte) 256 (32 byte)

만약(萬若), MP3가(街) 듀얼 채널 이라면 위에 보이는 것처럼 하나의 granule 은(銀) 두개(個)로 나뉘어 하나는 좌측(左側), 나머지 하나는 우측(右側) 채널에 대(對)한 사이드 인포메이션을 담게 된다.

하나의 채널에 대(對)한 사이드 인포메이션은 다음과 같이 구성(構成)되어 있다.

Name Bits
part2_3_length 12
big_values 9
global_gain 8
scalefac_compress 4
window_switching_flag 1
if window_switching_flag == 1 block_type 2
mixed_block_flag 1
table_select 2 * 5
subblock_gain 3 * 3
if window_switching_flag == 0 table_select 3 * 5
region0_count 4
region1_count 3
preflag 1
scalefac_scale 1
count1table_select 1
total 59

main_data_begin

메인 데이터의 시작점(始作點)을 가리키는 포인터이다. 다음 프레임의 헤더의 sync word 로부터 음(音)의 바이트 오프셋이다. [10]

private_bits

개인적(個人的)인 목적(目的)으로 사용(使用)할 수 있는 비트이다. 이 비트의 또 다른 역할(役割)은 사이드 인포메이션의 크기를 바이트 단위(單位)로 맞춰주는 역할(役割)을 한다. 싱글 채널의 경우(境遇) 17 바이트로, 듀얼 채널의 경우(境遇) 32 바이트로 크기를 맞추어 준다. [10]

scfsi

1 비트로 구성(構成)되어 있으며 granule에 스케일 팩터 선택(選擇) 정보(情報)를 제공(提供)하며 scfsi_band 로 그 값을 전달(傳達)한다. [10]
scfsi_band는 21개(個)의 주파수(周波數) 영역(領域)을 네 개(個)의 그룹으로 나눈것으로 다음과 같다.
주파수(周波數) 영역(領域) [10]
Group Scalefactor band
0 0 ~ 5
1 6 ~ 10
2 11 ~ 15
3 16 ~ 20

part2_3_length

이 값은 스케일 팩터 허프만 부호화(符號化) 를 위해 사용(使用)되는 메인 데이터의 비트수(數)를 부호(富豪)없는 정수(淨水) 로 가지고 있다. 하나의 granule 은 하나의 채널에 대(對)한 사이드 인포메이션을 제공(提供)하는데 예(例)를 들면, 싱글채널의 경우(境遇) 두개(個)의 granule이 있고 하나의 granule에는 하나의 채널이 존재(存在)한다. 그러므로 총(總) 채널의 개수(個數)는 두 개(個)이며 사이드 인포메이션 또한 두 개(個) 존재(存在)한다. 각각(各各)의 채널의 크기는 그에 해당(該當)하는 사이드 인포메이션의 part2_3_length 에 저장(貯藏)되어 있다. [10]

big_values

global_gain

양자화(量子化) 스탭 사이즈는 이 값을 통해 알 수 있으며 역양자화(逆量子化) 공식(公式)은 역양자화(逆量子化) 블럭 안에서 찾을 수 있다.

scalefac_compress

스케일 팩터 디코딩에 필요(必要)한 정보(情報)의 비트 수(數)를 밝혀 내는데 쓰인다. 스케일 팩터 대역폭(帶域幅)으로 변환(變換)될 정보(情報)의 비트 수(數)는 slen1 과 slen2 라는 변수(變數) 값으로 나타낸다. block_type 변수(變數)에 따라 다양하게 나타날 수 있으며 그에 대(對)한 값은 아래 표(表)에서 찾을 수 있다.
scalefac_compress slen1 slen2
0 0 0
1 0 1
2 0 2
3 0 3
4 3 0
5 1 1
6 1 2
7 1 3
8 2 1
9 2 2
10 2 3
11 3 1
12 3 2
13 3 3
14 4 2
15 4 3
만약(萬若) block_type 이 0, 1, 3 이라면 slen1 은 0~10, slen2는 11~20의 대역폭(帶域幅)으로 변환(變換)된다.
만약(萬若) block_type 이 2 이고 mixed_block_flag 가 0 이라면 slen1 은 0~5, slen2는 6~11의 대역폭(帶域幅)으로 변환(變換)된다.
만약(萬若) block_type 이 2 이고 mixed_block_flag 가 1 이라면 slen1 은 0~7(긴 범위(範圍)) 또는 3~5(짧은 범위(範圍)), slen2는 6~11의 대역폭(帶域幅)으로 변환(變換)된다.

window_switching_flag

이 값이 셋 되어 있으면 block_type, mixed_block_flag, subblock_gain 값 또한 셋 된다. 셋 되어 있지 않으면 block_type 값은 0 이 된다.

block_type

각(各) granule 에 쓰일 윈도우의 종류(種類)를 나타낸다. 윈도우의 종류(種類)는 아래 표(表)에 있다.
block_type window type
0 reserved
1 start block
2 3 short windows
3 end

mixed_block_flag

각기(各其) 다른 주파수(周波數)들이 각기(各其) 다른 윈도우 타입과 함께 변환(變換)될 지에 대(對)한 정보(情報)를 나타낸다. 이 값이 셋 되어 있지 않으면 모든 주파수(周波數)들은 block_type 에 명시(明示)된 종류(種類)에 따라 변환(變換) 되지만, 값이 셋 되어 있다면 가장 낮은 두 개(個)의 부분대역폭(部分帶域幅)은 normal window와 함께 변환되며 나머지 부분(部分) 대역폭(帶域幅)들은 block_type 에 명시(明示)된 대로 변환(變換)된다.

table_select

subblock_gain

region0_count , region1_count

preflag

scalefac_scale

count1table_select

메인 데이터 [ 편집(編輯) ]

인코딩된 실제(實際) 데이터를 담고있다. 사이드 인포메이션을 바탕으로 디코딩 되어야만 실제(實際) 사용(使用) 가능(可能)한 데이터가 될 수 있다. 허프만 디코딩 , 스케일 팩터 디코딩 로 변환(變換)해야 한다.

메인 데이터의 구조(構造) [11]
Main data
Granule Granule
Left Channel Right Channel Left Channel Right Channel
Scale Factor Huffman Coded Bits Scale Factor Huffman Coded Bits Scale Factor Huffman Coded Bits Scale Factor Huffman Coded Bits

부수(附隨) 데이터 [ 편집(編輯) ]

Ancillary Data(부수적(附隨的) 데이터)는 말 그대로 부수적(附隨的)인 정보(情報)를 담고 있으며 사용자(使用者)가 임의(任意)로 사용(使用)할 수 있다. 부수(附隨) 데이터는 프레임 내(內)에서 크기가 명확(明確)하게 표기(表記)되어 있지 않으며, 허프만 코드 정보(情報)가 끝나는 부분(部分)과 다음 프레임의 메인 데이터 시작(始作) 포인터가 가리키고 있는 부분(部分)과의 거리(距離)가 부수(附隨) 데이터의 크기가 된다.

APE Tag [ 편집(編輯) ]

APE 태그는 가수(歌手), 앨범명(名), 곡(曲)의 제목등(題目等)의 메타데이터를 추가(追加)하기 위한 태그 포맷이다.

Lyrics3v2 [ 편집(編輯) ]

Lyrics3v2 태그는 가사(歌詞)와 노래 정보등(情報等)을 담기 위한 태그 포맷이다.

ID3v1 [ 편집(編輯) ]

MP3 파일의 맨 끝에 존재(存在)하며 128 byte 길이의 태그이다. "TAG"라는 문자열(文字列)로 시작(始作)하여 쉽게 찾을 수 있다.

8 byte T A G Title 30 byte
16 byte
24 byte
32 byte
40 byte Artist 30 byte
48 byte
56 byte
64 byte Album
72 byte 30 byte
80 byte
88 byte
96 byte Year 4 byte
104 byte Comment 30 byte
112 byte
120 byte
128 byte Genre

참고(參考) 자료(資料) [ 편집(編輯) ]

같이 보기 [ 편집(編輯) ]

각주(各州) [ 편집(編輯) ]