Você está na página 1de 80

Phan tch va ng dung chuan MP3

MUC LUC
Muc luc..............................................................1 Li m au..........................................................5 Cac thuat ng thng dung...........................................6 PHAN 1 : LY THUYET............................................7 CHNG I: CAC AC IEM C BAN CUA AM THANH 7 I. Cac ac tnh c ban cua am thanh......................7 1. Tan so song am................................................7 2. Bien o song am...............................................8 II. Khai quat ve am thanh so...................................9 1. Lay mau ri rac thi gian, tn hieu audio tng t 9 2. Lng t hoa va cac mau ri rac thi gian 9 3. T so tn hieu tren sai so (Signal-to-error ratio) 10 CHNG II: GII THIEU VE MPEG........................11 I. GII THIEU.................................................................11 1. MPEG la g?.............................................................11 2. So sanh cac chuan MPEG:..................................11 3. Am thanh MPEG.....................................................12 4. Hoat ong:.............................................................13 II. CAC KHAI NIEM C BAN VE MPEG.....................14 1. Lc o ma hoa Perceptual Subband................14 2. Giai thch ve hieu qua che (masking effect).....14 a. Nen am thanh MPEG........................................15 b. Hieu qua che....................................................16 3. Cac lp am thanh MPEG....................................17 a. Lp I (Layer I).....................................................18 b. Lp II (Layer II)...................................................18 c. Lp III (Layer III).................................................19 III. CAC THONG SO DUNG TRONG MPEG..................20 1. Mode........................................................................20 2. Sampling Frequency (toc o lay mau)..............21 3. Bit Rate....................................................................21 CHNG III: MA HOA THU CAM..........................23

Trang 1

Phan tch va ng dung chuan MP3 I. C S AM TAM LY...................................................23 1. Ngng nghe tuyet oi (absolute threshold of hearing) ..................................................................................23 2. Cac bang ti han(critical bands) .......................23 3. Hien tng che (masking) ....................................24 II. MA HOA BANG PHU ..................................................26 III. MA HOA BIEN OI ...................................................26 IV. MA HOA MP3 ( MP3 ENCODING) .................................27 1. Phan tch phep bien oi Fourier nhanh (FFT analysis) .................................................................................27 2. Ngng che(Masking Threshold) ...........................28 3. Bang loc phan tch (Analysis Filterbank) ............28 4. MDCT vi ca so ong .....................................28 5. Chia t le va lng t hoa (Scaling va Quantization) ..........................................................................29 6. Ma hoa Huffman va sinh ra dong bit (Huffman Coding and Bitstream Generation) ..............................30 7. Thong tin (Side Information) .................................32 CHNG IV: GIAI MA MPEG1 LP 3.....................33 I. GIAI MA MP3 (MP3 DECODING) .....................................33 1. nh dang khung (Frame Format) .........................33 a. Tieu e ............................................................34 b. Thong tin (side infomation)...............................38 c. D lieu chnh (main data).................................39 d. D lieu phu (Ancillary Data) ..........................40 2. Giai ma Huffman..................................................40 3. Lng t hoa lai (requantization) ......................41 4. Sap xep lai th t ( reordering) .......................42 5. Giai ma stereo .....................................................42 a.Giai ma Stereo MS ...........................................42 b.Giai ma cng o stereo ..............................43 6. Giam biet danh (Alias Redution) .........................43 7. IMDCT ......................................................................44 8. Khoi loc a pha tong hp ( Synthesis Polyphase Filterbank) ..............................................................................46 II. NHN CHUNG VE HIEU QUA CAC GIAI THUAT GIAI MA MP3 ...................................46 1 . Giai ma Huffman ................................................46 2 . Bo lng t hoa lai (Requantizer) ...................48 3. Phep bien oi cosin ri rac cai tien ao ngc (IMDCT) .......................................................................51 4. Bang loc a pha ( Polyphase Filterbank) ..............53

Trang 2

Phan tch va ng dung chuan MP3 PHAN 2: XAY DNG PHAN MEM.........................57 CHNG I:GIAO DIEN VA THUYET MINH CHNG TRNH 57 1. Thanh SkinProgress ................................................58 2. Nut Minimize .........................................................58 3. Nut Colse................................................................58 4. Timer........................................................................58 5. Tong thi gian .....................................................58 6 .Nut Open................................................................58 7 .Nut Play..................................................................58 8. Nut Pause...............................................................59 9. Nut Stop ................................................................59 10. Thanh tien trnh ..................................................59 11................................................................................. Nut Volume ..........................................................................59 CHNG II : LU O GIAI THUAT VA CAU TRUC D LIEU................................................................60 I. S O KHOI.................................................................60 II. LU O GIAI THUAT ...............................................61 III. CAU TRUC D LIEU ..............................................63 1. File Agrs.h................................................................63 a. Lp MPArgs .......................................................63 b. Cau truc MPInfo ...............................................66 c. Cau truc frame.................................................66 2. File Common.h ........................................................67 a. Cau truc ID3TagStruct.....................................67 b. Cau truc gr_info_s............................................67 c. Cau truc bandInfoStruct ..................................68 d. Cau truc III_sideinfo.........................................68 3. File Elsound.h...........................................................69 a. Cau truc esInputMode......................................69 b. Cau truc esOutputMode...................................69 c. Cau truc esPlayerMode....................................69 d. Cau truc esPlayerError ....................................69 4. File Huffman.h..........................................................70 IV. NH NGHA................................................................70 1. Cac nh ngha dung trong tap tin <Common.h> 70 2. Cac nh ngha dung trong Player.h...................71 3. Cac nh ngha dung trong Resource.h..............71

Trang 3

Phan tch va ng dung chuan MP3 PHAN 3 : TONG KET.............................................72 Tai lieu tham khao 73

Trang 4

Phan tch va ng dung chuan MP3

LI M AU
Trong thi ai bung no cua cong nghe thong tin, viec truyen tai d lieu la nhu cau can thiet. ac biet la viec gi d lieu theo ng Internet, v chat lng ng truyen thap nen can phai nen d lieu nho gon e thuan li cho viec upload hay download. oi vi lnh vc am nhac cung vay, nhu cau gi tang bai hat cho nhau , nghe nhac trc tuyen tren mang rat pho bien v vay viec nen file nhac vo cung can thiet e tiet kiem ng truyen, thi gian va tien bac. e giai quyet van e nay MPEG co rat nhieu chuan e nen nh MPEG 1, MPEG 2, dung e nen file theo nhieu cach khac nhau. Mot trong nhng chuan pho bien la chuan MPEG 1, trong khuon kho e tai nay chung em ch tm hieu ve chuan MPEG 1 Layer 3 hay con goi la mp3 va minh hoa bang mot chng trnh giai ma file mp3, sau o phat ra loa.

Trang 5

Phan tch va ng dung chuan MP3

CAC THUAT NG THNG DUNG


MDCT Modified Discrete Cosine Transform. IMDCT Inverse Modified Discrete Cosine Transform. Sample rate Toc o lay mau. FFT Fast Fourier Transform. DFT Discrete Fourier Transform. Signal-to-noise (S/N) T so gia tn hieu va nhieu. CRC Cyclic Redundancy Check . ADC Analog to Digital Converter. CODEC CODer/DECoder. CPU Central Processing Unit. DCT Discrete Cosine Transform . DSP Digital Signal Processor. FS Sampling Frequency, e.g. 44100 Hz for CD audio. FIFO First in, first out. FLOP Floating-point operation. FPU Floating point unit. Hardware math acceleration. inside a CPU. ISO International Standards Organisation. MFLOPS Million floating-point operations per second. MPEG Motion Picture Expert Group. Working group within ISO. PCM Pulse Code Modulation. Output from an ADC.

Trang 6

Phan tch va ng dung chuan MP3

PHAN I : LY THUYET CHNG I : CAC AC IEM C BAN CUA AM THANH


Am thanh c tao bi mot thc the dao ong. Khong co dao ong th khong co am thanh. Thc the dao ong th c goi la nguon am. Nguon am lam cho cac phan t cua moi trng ben canh no dao ong. Cac phan t nay lai lam cho cac phan t ke no dao ong. Bang cach nay cac phan t cua moi trng truyen en tai cua ngi nghe. Khi chung ta cam nhan mot am thanh nao o, cac phan t dao ong lam cho mang nh cua chung ta cung dao ong. Cac dao ong nay c tiep nhan va phan tch bi bo nao cua chung ta. Am thanh co the truyen qua moi trng khong kh, nc hoac cac cau truc xay dng am thanh truyen i di dang song am, s truyen am thanh thc chat la s truyen nang lng t ni nay en ni khac.

I. CAC AC TNH C BAN CUA AM THANH


Bat ky am thanh n gian nao chang han nh mot not nhac eu co the hoan toan c mo ta bi 3 ac tnh cam nhan sau: cao o (pitch ), cng o (intensity), am sac (timbre). Nhng ac tnh nay lan lt tng ng vi cac ac tnh vat ly sau cua am thanh: tan so (frequency), bien o (amplitude), s cau thanh cua cac hai (harmonic constitution).

1. Tan so song am
Am thanh c truyen i di dang song am. Khi song am truyen i s truyen dao ong cua cac phan t dao ong theo hng truyen song. S dch chuyen cua cac phan t cua moi trng tao ra cac vung co mat o phan t cao thap khac nhau. Cac vung co mat o phan t cao c goi la cac

Trang 7

Phan tch va ng dung chuan MP3 vung am ac (compression). Cac vung co mat o phan t thap c goi la vung loang (rarefaction). Cac vung loang va vung am ac lan truyen theo hng truyen cua song. Cac phan t dao ong khong lan truyen theo hng truyen song, chung dao ong xung quanh v tr can bang cua chung. Moi mot dao ong hoan chnh c goi la chu ky dao ong (t iem bat au cua no, ti mot khoang cach toi a theo mot hng, sau o tr ve v tr ban au, ti mot khoang cach theo hng ngc lai, va cuoi cung la tr ve v tr ban au ). So chu ky dao ong c thc hien trong mot giay c goi la tan so dao ong, ay cung chnh la tan so cua am thanh. Mot trong nhng khac biet chnh gia hai am thanh la s khac biet ve cao o, va cung chnh tan so cua am thanh quyet nh cao o cua no . Tan so c tnh bang Hertz (Hz), KiloHertz (kHz,1kHz=1000Hz)Mot ngi bnh thng co the nghe c cac nguon am co dai tan so t 20Hz en 20kHz.

2. Bien o song am
Bien o song am chnh la khoang cach dch chuyen toi a cua cac phan t dao ong. Tng quan gia bien o song am vi cac vung loang va vung am ac . Bien o cua song am the hien mc o dao ong cua cac phan t cua moi trng tao nen song am. Bien o song am cang ln th cac phan t dao ong co nang lng cang ln va am thanh se co cng o cang ln. Cng o am thanh t le nghch vi khoang cach tnh t nguon am. Cang xa nguon am cng o am thanh cang giam, ket qua la tai ta nghe cang kho . Cng o am c bieu dien bi mc ap suat am thanh SPL (Sound Pressure Level). Mc SPL cua mot nguon am nao o c tnh nh sau: SPL(dB)= 20 log(P/P0)

Trang 8

Phan tch va ng dung chuan MP3 Trong o P : ap suat cua nguon am (N/m2) P0: ap suat chuan qui chieu, Po =2* 10-5 N/m2

Am thanh

Ngng lang Tieng th tham Phong thu am Noi bnh thng Tieng la het Tieng xe tai Nhac rock Ngng cam nhan Ngng au thanh.

SPL(dB ) im 0 10 20 60 80 90 100 120 140

Mot so mc SPL cua vai dang am

II. KHAI QUAT VE AM THANH SO


1. Lay mau ri rac thi gian, tn hieu Audio

tng t
Tn hieu audio tng t thay oi lien tuc theo thi gian, ngha la bien bo cua tn hieu thay oi lien tuc theo thi gian. Lay mau tn hieu audio tng t la xac nh bien o cua tn hieu nhng thi iem theo nhng khoang thi gian cach ieu nhau v vay cac mau la cac xung co bien o nhat nh. Khoang thi gian cach eu nay goi la chu ky lay mau Ts , tan so lay mau (toc o lay mau ) fs = (1 / Ts). 2. Lng t hoa va cac mau ri rac thi

gian

Trang 9

Phan tch va ng dung chuan MP3

Lng t hoa la bieu dien bien o cua cac xung tn hieu thanh 1 gia tr so s dung he thong so nh phan. Ngi ta dung mot t ( word) co o dai n bit e bieu dien cac gia tr o. So bits n c chon tuy thuoc vao gia tr cua cac mau va n c goi la o phan giai lng t hoa( quantization resolution). Gia tr cua 1 word xac nh 1 mc lung t hoa (quantization level) va o chenh lech gia 2 mc lien tiep goi la khoang lng t hoa (quantization interval). V du: ta s dung n=8 bit e bieu dien cac gia tr ien the lien tuc t 0 -> 25,5 V nh sau: V1=0 th word= 0000 0000 ( mc 0) V2=0,1 th word= 0000 0001 ( mc 1) V3 = 0,2 th word= 0000 0010 ( mc 2) . V255= 25,5 th word =1111 1111 (mc 255) Gia s ta co Va =0,15 V th word mc 1 (0000 0001 ) hoac mc 2 (0000 0010) tuy thuoc vao s la chon cua chung ta. Nhng neu V a =0.12 th no thuoc mc 1 v gan gia tr mc 1 hn. Cac gia tr lng t hoa ch la xap x gan bang gia tr thc te cua cac mau. o sai biet gia gia tr lng t hoa va gia tr thc c goi la sai so lng t hoa ( quantization error). 3. T so tn hieu tren sai so (Signal-to-error

ratio)
e anh gia chat lng cua he thong lng t hoa, mot thong so quan trong c nh ngha la t so cua bien o tn hieu cc ai tren sai so lng t hoa cc ai, t so nay c goi la t so t hieu tren sai so (S/E).

Trang 10

Phan tch va ng dung chuan MP3

CHNG II: GII THIEU VE MPEG


I. GII THIEU
1. MPEG la g? MPEG, viet tat cua cum t Moving Picture Experts Group, la 1 nhom chuyen nghien cu phat trien cac tieu chuan ve hnh anh so va nen am thanh theo chuan ISO/IEC. Ngay nay, nhom lam viec MPEG a phat trien va phat hanh cac tieu chuan MPEG1, MPEG-2 va MPEG-4. Chuan MPEG-3 c ket hp vao MPEG-2 va khong con tach rieng na. Nhom MPEG hien nay a phat trien en chuan MPEG-7. MPEG ch la mot ten rieng, ten chnh thc cua no la : ISO/IEC JTC1 SC29 WG11. ISO : International Organization for Standardization (To chc chuan quoc te) IEC : International Electro-technical Commission (Hoi ong ky thuat ien t quoc te ) JTC1 : Joint Technical Committee 1 (Hoi ong ky thuat lien hp 1)

Trang 11

Phan tch va ng dung chuan MP3 SC29 : Sub-committee 29 (Hoi ong phu 29) WG11: Work Group 11 (moving picture with audio). (Nhom lam viec 11) 2. So sanh cac chuan MPEG MPEG-1 nh ngha mot tieu chuan cho viec lu tr va phuc hoi cac hnh anh ong va am thanh tren cac thiet b lu tr. Tieu chuan nay nh ngha rang hnh anh c phat lai toc o 30 frames mot giay va am thanh c phat lai chat lng nh CD-audio, o phan giai hnh anh la 352 x 240. Chuan MPEG-1 c dung ien hnh trong cac phan mem huan luyen bang may tnh, cac game hanh ong trong may tnh, video chat lng VHS, Karaoke.. MPEG-2 nh ngha cho mot tieu chuan ky thuat truyen hnh so. Chuan MPEG-2 khac phuc mot vai nhc iem cua chuan MPEG-1. V du, MPEG-2 co the tao hnh anh ln gap 4 lan MPEG-1 vi o net cao hn va ro hn (720 x 480 va 1280 x 720). Cac ac tnh cua MPEG-2 bao gom hnh anh chat lng cao va am thanh noi.. MPEG-3 nh ngha mot tieu chuan cho High Difinition Television (HDTV), la the he tiep theo cua cong nghe truyen hnh theo nh dang so au u. Tieu chuan nay a khong c phat trien hoan thien va cuoi cung c ket hp vao vi chuan MPEG-2. MPEG-3 nham en muc tieu la cac ng dung HDTV vi kch thc mau len en 1920x1080x30 Hz va c ma hoa toc o bit 20 en 40 Mbits/s. Cuoi cung ngi ta a nhan ra rang vi mot vai ieu chnh thch hp, MPEG-1 va MPEG-2 lam viec rat tot oi vi HDTV. MPEG-4 nh ngha mot tieu chuan cho cac ng dung Multi-media. ac biet no nh ngha tieu chuan truyen cho dong phc tap cac hnh anh, am thanh va d lieu o hoa va viec tai hp chung tren thiet b thu. MPEG-4 c phat trien theo 2 giai oan, 1 va 2. Chuan MPEG-4 nh ngha cac oi tng hnh anh ma trong o cac phan cua mot canh co the Trang 12

Phan tch va ng dung chuan MP3 c thao tac trong khi nhng phan khac van khong oi. MPEG-5 va MPEG-6 van cha c cong bo. MPEG-7 nh ngha mot tieu chuan ve viec bieu dien noi dung cho cac nghien cu thong tin hnh anh va am thanh. Ten chnh thc la Multimedia Content Description Interface. Muc tieu cua MPEG-7 la chuan hoa viec bieu dien cac mo ta ve noi dung nghe nhn. Tuy nhien chuan khong nh ngha cac cong cu e nhan ra noi dung nghe nhn that s. 3. Am thanh MPEG Ve c ban, am thanh MPEG se lam giam kch thc lu tr 1 tap tin am thanh i rat nhieu. Mot a Audio-CD lu tr c khoang 650 Mbyte d lieu am thanh tho vi cach ma hoa 16 bit (bitdepth) va tan so lay mau (sample rate) 44.1 kHz. Neu em phat ra th cung ch c 60 en 72 phut. bitdepth: mo ta mc bien o ln nhat ma mot mau am thanh co the at ti. V du : 8 bit = 256 mc, 16 bit = 65.536 mc, ve hnh anh th o chnh la o phan giai. sample rate: mo ta so mau am thanh c lay trong 1 giay. V du : 22 kHz = 22.000 mau / 1giay. Phng phap co ien e giam kch thc lu tr la giam lng thong tin. Neu oi cach lu tr am thanh t 16 bit sang 8 bit chung ta co the giam kch thc lu tr i 1 na, tuy nhien nh the chat lng am thanh cung se giam i 1 na.

Trang 13

Phan tch va ng dung chuan MP3

4. Hoat ong Khi a ra phng phap ma hoa am thanh, nen tang van la yeu to he thong nghe cua con ngi. That khong may o khong phai 1 thiet b hoan hao e nhan biet am thanh nhng la thiet b duy nhat chung ta co c. Nhng chung ta co the chuyen nhng khuyet iem cua no thanh u iem : o la ac tnh phi tuyen cua ngng nghe va kha nang thch hp cua no. MPEG hoat ong da tren he thong nghe cua con ngi, o la cam giac ve am mang ac tnh sinh ly va tam ly. Am thanh CD ghi lai tat ca tan so, ke ca nhng tan so b che. Am thanh MPEG ch ghi lai nhng tan so ma tai ngi co the nghe. Nh vay, MPEG se bo qua nhng thong tin khong quan trong. Da tren nghien cu ve nhan thc am thanh cua con ngi, bo ma hoa se quyet nh nhng thong tin nao la can ban va nhng thong tin nao co the bo qua. Hieu qua nay ac biet quan trong trong am nhac. Neu trong mot dan nhac co mot nhac cu chi cc manh, lam at tieng cua cac nhac cu khac ta khong the nghe c. Nhng may thau am van ghi lai ay u tat ca tan so cua tat ca nhac cu, ngha la thiet b thau am hoan Trang 14

Phan tch va ng dung chuan MP3 toan khong co kha nang thch nghi ong nh con ngi. Nhng khi phat lai, ta van khong nghe c am thanh cua nhng nhac cu b at. V vay viec lu tr / ghi lai nhng tan so nay la tha, lam chiem dung lng kha nhieu. Cach ghi am tuyen tnh tren a CD la hoan toan khong hieu qua ve kha canh nay. Do o thay v phai ghi lai thong tin cua nhng am khong nghe c, ta se danh cho cho cac am co the nghe c. Theo cach nay, dung lng cua thiet b ghi am can thiet co the xem nh giam i ma khong lam giam chat lng am thanh. Trc khi chung ta nghe c ieu g, thong tin se c phan tch bi bo nao cua chung ta. Nao bo se dch am thanh va loc bo nhng thong tin khong can thiet. Ky thuat am thanh MPEG lam viec nay thay the cho nao bo. Nh vay, nhng thong tin le ra phai c loc bi nao bo bay gi khong con can phai lu tr chiem gi khong gian a na.

II. CAC KHAI NIEM C BAN VE MPEG


1. Lc o ma hoa Perceptual Subband Bo ma hoa am thanh theo perceptual subband phan tch lien tuc cac tn hieu vao va xac nh ra ng cong che (masking curve), o la mc ngng ma nhng am thanh di no khong the nghe c bi he thong nghe cua con ngi.

Trang 15

Phan tch va ng dung chuan MP3

Tn hieu vao c chia thanh 1 so dai tan so, goi la subband. Moi tn hieu subband c lng t hoa theo cach ma s lng t hoa tieng on c bat au bi viec ma hoa se khong vt qua ng cong che cua subband o. S lng t hoa pho tieng on v the thch nghi ong vi pho cua tn hieu. Thong tin tren bo so hoa c dung trong moi subband c truyen doc theo cac mau subband c ma hoa. Bo giai ma se giai ma dong bit (bitstream) ma khong can phai biet cach ma bo ma hoa xac nh nhng thong tin nay. ieu nay cho phep bo ma hoa hoat ong vi nhng mc o khac nhau ve chat lng va o phc tap, va cung cho phep s phat trien trong tng lai cua bo ma hoa. 2. Giai thch ve hieu qua che (masking effect) a. Nen am thanh MPEG

Trang 16

Phan tch va ng dung chuan MP3 MPEG co the nen 1 dong bit 32 kbit/s en 384 kbit/s. Mot dong bit am thanh PCM tho th khoang 705 kbit/s, do o t so nen toi a co the la 22. T so nen bnh thng la 1:6 hay 1:7. 96 kbit/s la xem nh trong suot cho hau het cac muc ch thc te. Co ngha rang ta khong can phai lu tam en bat ky s khac biet nao gia tn hieu goc va tn hieu nen oi vi nhac pop hay nhac rockn roll. oi vi mot so ng dung khac nh la hoa tau piano, toc o bit co the len ti 128 kbit/s. e at c t so nen nay, oi vi am thanh, ve c ban ta co hai chon la: hoac giam so lan lay mau, hoac giam so bit e lng t hoa. Con ngi co the nghe am thanh vi tan so t 20 Hz en 20 kHz. Theo thuyet cua Nyquist, ta phai lay mau am thanh tan so toi thieu la hai lan tan so cao nhat ma ta muon phat lai. Tan so lay mau 44,1 kHz la thch hp. Van e con lai la phai chon so bit cho mot mau ma hoa la bao nhieu. Thong thng la 16 bit. Ly do e chon con so 16 bit bat nguon t t so tn hieu va nhieu (S/N). Nhieu noi ay sinh ra do qua trnh so hoa. C moi bit them vao, ta co t so S/N tot hn 6dB (oi vi tai ngi, 6 dB tng ng vi mc to gap oi). Am thanh CD at ti khoang 90 dB S/N. Mc nay phu hp vi pham vi ong cua tai ngi con tot. Ngha la ta khong the nghe c bat ky nhieu nao en t ban than he thong. ieu g xay ra neu ta lay mau vi 8 bit? Ta se nghe thay rat nhieu tieng soi trong ban ghi. De dang nghe thay nhieu trong khoang ngh cua ban nhac hoac gia cac t neu ta ghi am mot giong noi. b. Hieu qua che Gia s co mot am manh vi tan so 1000Hz, va mot am kem theo co tan so 1100Hz nhng vi cng o am nho hn 18dB. Ta se khong the nghe thay am nay v no a b che hoan toan bi am chu 1000Hz. Noi mot cach khac, mot am thanh yeu gan mot am thanh manh se b che. Neu co mot am thanh khac tan so 2000Hz cung co mc to thap hn am 1000Hz la 18dB th

Trang 17

Phan tch va ng dung chuan MP3 ta se nghe c am nay. e khong nghe c am nay ta phai giam mc to cua am nay xuong con thap hn 45dB so vi am chu 1000Hz. Hieu qua che co y ngha rang ta co the gia tang mc on nen xung quanh mot am manh ma van khong nghe c tieng on v chung se b che hoan toan. Tang mc on nen con co ngha la dung t bit e so hoa. Va ieu nay cung giong nh la ta a nen am thanh vay. Bay gi hay xem bo ma hoa am thanh MPEG hoat ong nh the nao. Bo ma hoa chia pho tan so (20Hz en 20kHz) thanh 32 dai nho (subband). Moi sub-band gi 1 phan nho cua pho. Trong vung tren cua sub-band 8 ta phat mot am co tan so 1000Hz vi mc to 60dB. Bo ma hoa se tnh toan hieu qua che cua am nay va nhan ra rang co mot ngng che cho toan bo sub-band th 8 (tat ca nhng am co cung tan so). Ngng che nay thap hn am phat ra 35 dB. T so S/N co the chap nhan c la 60 - 35 = 25 dB, tng ng vi 4 bit. Ngoai ra no con anh hng tren cac sub-band 9-13 va 5-7 vi hieu qua che giam dan t sub-band 8. Hn na, bo ma hoa cung xem xet mc o nhay cam cua tai oi vi cac tan so khac nhau. Tai ngi t nhay cam vi cac tan so cao va thap. No nhay cam nhat oi vi tan so 2-4 kHz, cung dai tan so vi tieng noi con ngi. Cac sub-band nen phu hp vi tai ngi, ngha la moi sub-band can co cac tan so co cung cac tnh chat am hoc tam ly. Trong MPEG layer II, moi sub-band co o rong 625Hz, do o can phai co nhng bo loc bang thong phc tap. e cac bo loc phc tap, ngi ta them FFT (Fast Fourier Transform) vao song song vi bo loc va s dung cac thanh phan pho t FFT nh la cac thong tin them vao bo ma hoa. Bang cach nay ta se lay mat o bit cao hn oi vi cac tan so thap ma tai ngi nhay cam hn. Con nhieu van e can phai ban ti. Chung ta ch mi giai thch s che ong bo, hieu qua che con xay ra trc va sau mot am manh.

Trang 18

Phan tch va ng dung chuan MP3

3. Cac lp am thanh MPEG


Co nhieu s nham lan ve lp am thanh MPEG. Tat ca cac lp eu da tren cung mot lc o ma hoa (ma hoa theo nhan thc). Mc o phc tap cua bo ma hoa va giai ma tuy thuoc vao moi lp. Sau ay la hnh anh cho thay t so nen ma ta can phai at ti 100% chat lng CD vi cac bo ma hoa va giai ma khac nhau.

Sau ay la chi tiet ve cac lp. a. Lp I (Layer I) ay la lp n gian nhat phu hp cho ng dung cua ngi dung. Mo hnh am hoc tam ly cua lp nay ch s dung cac tan so che. ieu nay co ngha rang no se bo qua cac tan so b khuat sau cac tan so khac. Pham vi toc o bit t 32 kbit/s (mono) en 448 kbit/s (stereo). Tuy thuoc vao mc o phc tap cua bo ma hoa, mot am thanh chat lng cao (gan vi am thanh CD) yeu cau toc o bit khoang 256 - 384 kb/s tren mot chng trnh stereo. Khong nen ma hoa vi mc nen cao hn 384 kb/s. o phc tap cua bo giai ma thap, o phc tap cua bo ma hoa cao

Trang 19

Phan tch va ng dung chuan MP3 hn 1.5 - 3 lan. Lp I c dung nhieu trong DDC va Solid State Audio. b. Lp II (Layer II) Lp II e ngh mc o nen cao hn lp I va mc o loc sau hn. No co nhng ng dung so cho ca am thanh chuyen nghiep va nghiep d, nh qua ai phat thanh, TiViPham vi toc o bit t 32 192 kb/s cho am thanh mono, va t 64 - 384 kb/s cho am thanh stereo. Tuy thuoc vao mc o phc tap cua bo ma hoa, mot am thanh chat lng cao (gan vi am thanh CD) yeu cau toc o bit khoang 256 - 384 kb/s tren mot chng trnh stereo. Mc o phc tap cua bo giai ma 25% cao hn so vi lp I, va bo ma hoa co mc phc tap cao hn 2 - 4 lan. c. Lp III (Layer III) Lp III con a ra mc o nen va loc cao hn ca lp II va s dung mot bo ma hoa Huffman.

Complexity Layer Encoder I II III 1.5 3 24 > 7.5 Decoder 1 1.25 2.5

Trong bang tren, o phc tap cua bo giai ma lp I c dung e so sanh vi lp II va III. Lp III la chuan hieu qua nhat va a tr thanh chuan trong thc te cho viec ma hoa chat lng am thanh. Lap luan nay danh rieng cho viec thc thi lp III cua chuan MPEG 1 c goi la MP3. Nhng cai thien cua lp 3 so vi lp 1 va lp 2:

Trang 20

Phan tch va ng dung chuan MP3 Giam s chong pho :Lp 3 cung cap phng phap x ly cac gia tr MDCT e loai bo s d tha do s chong lap gia cac bang. Lng t hoa phi tuyen :Bo lng t hoa lp 3 nang cac loi vao cua no len nang lng trc khi lng t hoa e cung cap t so tn hieu tren nhieu (SNR) cao hn. Ma hoa entropy cac gia tr d lieu : Lp 3 s dung ma Huffman e ma hoa cac mau lng t hoa cho viec nen d lieu tot hn . S dung mot bo d tr bit (bit reservoir): Dong bit lp 3 phu hp hn vi o dai thay oi cua d lieu c nen. Cung giong nh lp 2, khung d lieu lp 3 co 1152 mau. Lp 3 khong giong lp 2 cho d lieu ma hoa khong nhat thiet phai va van trong mot khung co nh. Bo ma hoa co the lay hoac mn cac bit t bo d tr bit neu can thiet . S phan bo nhieu hay s phan bo bit : Qua trnh phan bo bit trong lp 1 va lp 2 ch xap x lng nhieu gay bi lng t hoa theo so bit cho trc. Bo ma hoa lp 3 s dung mot vong lap phan bo nhieu. Theo cach nay , cac bo lng t hoa c thay oi theo th t , va lng t hoa co c la do tnh toan va c phan bo cho moi bang phu.

III. CAC THONG SO DUNG TRONG MPEG Chuan MPEG cho phep ta chon la cac thong so cho viec nen am thanh tot nhat phu hp vi ng dung ma ta s dung. Lc o ma hoa cho cac loai la tong quat. Cac thong so co the chon la trong bo ma hoa MPEG bao gom : Mode, Sampling frequency, bitrate, va Layer.

1. Mode
Chuan MPEG co 4 che o:

Trang 21

Phan tch va ng dung chuan MP3 Mono. Dual channel. Stereo. Intensity Stereo (con goi la Joint Stereo). Che o Mono ro rang c dung cho am thanh 1 kenh. e chon che o cho cac ng dung 2 kenh, au tien ta phai xac nh au la tn hieu trai va au la tn hieu phai e chia chung ra thanh 2 files khac nhau, nham sau nay ta co the lam viec oc lap tren kenh trai hoac phai. Luc o ta se chon che o Mono. Neu 2 kenh khong can hoat ong oc lap, ta chon Stereo, Dual hay Intensity Stereo e tao mot file duy nhat. Che o Stereo hay kenh Dual la hoan toan ong nhat khi chung cung sinh ra mot file duy nhat cho tn hieu stereo. Tuy nhien mot bit ch th se nhan dang xem mot file la che o nao va co the c dung cho nhng ap dung nao. Che o Intensity Stereo xem xet s d tha gia cac kenh trai va phai nham toi u ma. Chat lng cua Intensity Stereo thay oi theo noi dung cua tn hieu a ma hoa. Tuy nhien no ac biet thch hp cho toc o truyen bit thap.

2. Sampling Frequency (toc o lay mau)


Mot so toc o lay mau: 32 kHz, 44.1 kHz va 48 kHz oi vi MPEG 1 (Tieu chuan ISO/IEC 11172-3). 16 kHz, 22.05 kHz va 24 kHz oi vi MPEG 2 (Tieu chuan ISO/IEC 13818-3). Khi chon la toc o lay mau can xem xet cac van e: Tan so lay mau cang ln th cang nghe thuan tai (o dai frame nho hn).

Trang 22

Phan tch va ng dung chuan MP3 Bang thong tn hieu gii han mc 15 kHz khi lay mau toc o 32 kHz va 8 kHz toc o 16 kHz. Tan so lay mau (kHz) va toc o cua am thanh ma hoa (kbps) co the chon oc lap. Tan so lay mau 44.1 kHz hay 22.05 kHz la khong thiet thc cho viec chon loc v o dai frame (byte) la thay oi. Nhng file c lay mau nhng tan so khac nhau th rat kho khan khi hoa tron. Khi dung ngo nhap so AES/EBU, tan so lay mau b co nh bi tn hieu nhap. Neu khong bat buoc, Digigram yeu cau lay mau 48 kHz hoac 44.1 kHz cho phat thanh hay ng dung multimedia. Neu ta phai s dung toc o bit thap cho s truyen co hieu qua, toc o 24 kHz la thch hp.

3. Bit Rate
Moi Layer va che o co nhieu cach chon la toc o bit (bit rate). Viec chon toc o bit tuy thuoc trc tien vao chat lng am yeu cau. Bang thong tn hieu la hep hn neu toc o bit thap, khien cho no khong thc te oi vi mot so ng dung. Toc o bit c o theo kilobits / sec(kbps). Khi chon la toc o bit can xem xet cac van e: Tai 128 kbps tren moi kenh (hay 256 kbps stereo), chat lng am thanh CD se at c vi Layer I hay Layer II. Tai 192 kbps tren moi kenh, chat lng am thanh la hoan toan trong suot. Toc o 128 kbps / kenh c dung pho bien nhat trong phat thanh. No tng ng vi t so nen 1:6 toc o lay mau 48 kHz. Toc o thap hn 128 kbps / kenh c dung trong cac ng dung yeu

Trang 23

Phan tch va ng dung chuan MP3 cau t so nen ln hn do gii han cua bang thong truyen hay thiet b lu tr. Mot so toc o bit cung cap bi chuan am thanh MPEG : MPEG 1: 32 kHz, 44.1 kHz and 48 kHz - Layer I : 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 kbps. Nhng toc o nay la co the che o Mono hay stereo.. - Layer II : 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 kbps. 32, 48, 56, 80 kbps ch co the che o Mono; 64, 96, 112, 128, 160, 192 kbps co the ca hai che o Mono va Stereo;224, 256, 320, 384 kbps ch co the che o Stereo.

Trang 24

Phan tch va ng dung chuan MP3

CHNG III: MA HOA THU CAM


I . C S AM TAM LY
Cac thuat toan ma hoa thu cam eu da tren mo hnh tiep nhan am thanh e toi u hieu qua ma hoa. o chnh la tai ngi , s cam nhan am thanh b anh hng bi cac tnh chat che. Am tam ly hoc la 1 lnh vc khoa hoc nghien cu va giai thch s cam nhan am thanh cua tai ngi oi vi s kch thch cua nguon am. Cac phng phap ma hoa thu cam eu da vao cac nguyen ly c ban cua am tam ly hoc nh :ngng nghe, cac bang ti han, hien tng che. Cac phng phap nay loai bo cac thanh phan d tha khong nghe c cua tn hieu audio e giam bt d lieu trong qua trnh nen. 1.

Ngng nghe tuyet oi (absolute threshold of hearing)


Ngng nghe tuyet oi la mc nang lng can thiet cua mot tone thuan ( mc o cho trc ) e ma no co the nghe c trong mot moi trng khong co tieng on.

2.

Cac bang ti han (critical bands)


Cac nghien cu thc te cho thay tai ngi co the cam nhan c cac nguon am co tan so t 20 Hz en 20KHz. Ngoai ra , tai ngi con c coi la bo phan tch pho oi vi pho tan nghe c. Tai ngi c coi la 1 bang loc (filter bank) gom nhieu mach loc thong dai vi cac bang thong co o rong khac nhau, no ac trng cho kha nang phan giai am thanh cua tai ngi. Cac bang nay c goi la bang ti han, chung co o rong thay oi theo tan so t thap en cao. Tren thc te co 25 bang ti han c qui c theo bang cac bang ti han di , moi bang co mot tan so trung tam. o rong cua moi bang co the c tnh xap x nh sau : BWc (f)=25+75[1+1.4(f/1000)2]0.69 (HZ) Mot bang ti han co o rong la mot Bark(at theo ten cua nha khoa hoc Barkhausen). Ham sau ay cho phep chuyen t giai tan so sang giai Bark:

Trang 25

Phan tch va ng dung chuan MP3 Z(f) = 13arctan(0.00076f) + 3.5arctan[(f/75000)2]

(Bark)

Tai ngi co kha nang phan tch thi gian tan so, kha nang nay tao ra cac hien tng che ong thi va khong ong thi. Cac hien tng nay c s dung bi cac bo ma hoa e xac nh cac thanh phan d tha nham loai bo, khong ma hoa chung.

Bang ti han 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Tan so trung tam 50 150 250 350 450 570 700 840 1000 1170 1370 1600 1850 2150 2500 2900 3400 4000 4800 5800 7000 8500 10500 13500 18755

o rong (Hz) 100 100 100 110 120 140 150 160 190 210 240 280 320 380 450 550 700 900 1100 1300 1800 2500 3500 6550

Tan so di (Hz) 100 200 300 400 510 630 770 920 1080 1270 1470 1720 2000 2320 2700 3150 3700 4400 5300 6400 7700 9500 12000 15500

Tan so tren (Hz) 100 200 300 400 510 630 770 920 1080 1270 1470 1720 2000 2320 2700 3150 3700 4400 5300 6400 7700 9500 12000 15500 22050

Bang cac bang ti han 3. Hien tng che( masking)

Trang 26

Phan tch va ng dung chuan MP3 Hien tng che xay ra khi mot hoac nhieu nguon am b lam cho khong nghe c do s co mat cua mot nguon am khac. Tn hieu che cac tn hieu khac c goi la cac thanh phan che (masker), cac tn hieu b che th goi la cac thanh phan b che (maskee). o chenh lech gia thanh phan che va ngng che (do tan so va mc ap suat am thanh cua thanh phan che quyet nh) goi la t so tn hieu tren che SMR (Signal-tomasking ratio). Thong so nay rat quan trong trong phng phap ma hoa thu cam. Hien tng che co 2 loai : che ong thi va che khong ong thi. Hien tng che ong thi : xay ra khi nhieu nguon am tac ong vao tai ngi. Mac du pho tan am thanh co the cha nhieu hien tng che ong thi phc tap, v muc tieu nh dang sai dang ma hoa, ta ch can quan tam en 3 loai che ong thi : nhieu che tone , tone che nhieu, nhieu che nhieu. Nhieu che tone (Noise-Masking-Tone, NMT) : v du nh 1 nhieu bang thong hep (co bang thong la 1 Bark) che mot tone vi ieu kien la tone b che co mc SPL nho hn ngng do nhieu che quyet nh. Tone che nhieu (Tone Masking - Noise, TMN): V du nh 1 tone tan so trung tam cua 1 bang nhieu (bang thong la 1 Bark) che bang nhieu o khi mc SPL cua bang nhieu thap hn mc ngng do tone che quyet nh . Nhieu che nhieu (Noise - Masking Noise, NMN): ay la trng hp ma 1 nhieu bang thong hep b che bi 1 bang nhieu khac. Hien tng che khong ong thi :xay ra khi cac tone (hoac nhieu) c phat len ong thi nhng gan nhau theo thi gian. Hien tng tien che xay ra khi mot tone (hoac nhieu) b che bi mot tone (hoac nhieu) xay ra sau. Tng t, hien tng hau che khi mot tone xay ra trc che mot tone xay ra sau o. Bo ma hoa thu cam phan tch thanh phan tan so va bien o cua tn hieu audio vao va so sanh vi mo hnh am sinh ly cua tai ngi. Bo ma hoa loai bo

Trang 27

Phan tch va ng dung chuan MP3 cac thanh phan d tha khong can thiet ( phan tai ngi khong cam nhan c) v vay giam 1 lng ang ke d lieu can ma hoa. Ve mat ly thuyet, phng phap nay lam hao hut thong tin nhng tai ngi van khong cam thay c s suy giam chat lng tn hieu audio.

Trang 28

Phan tch va ng dung chuan MP3

II. MA HOA BANG PHU


Trong phng phap ma hoa bang phu tn hieu Audio c cho vao 1 bang loc gom M mach loc thong dai chiem ay pho tan nghe c. Mo hnh am tam ly c s dung e tnh toan ngng che cho moi bang phu. Loi ra cua moi mach loc c lay mau ti han, va c lng t hoa va ma hoa mot cach rieng biet. Viec lng t hoa cua moi bang phu c da tren t so nang lng nh tren mc che (o chenh lech gia thanh phan cac mc SPL cao nhat va ngng che) tnh c cho moi bang phu. T so nay c s dung bi bo phan phoi bit e phan bo so bit can thiet cho viec lng t hoa moi bang phu, cac thanh phan thap hn ngng che th khong c ma hoa. Cuoi cung cac mau lng t hoa c ong thanh cac khung d lieu, trong khung co kem theo cac d lieu phu khac. Phan mach giai ma th n gian hn do no khong can mo hnh am tam ly. Cac khung d lieu c m ra, cac mau bang phu th c giai ma va uc phan tch tan so thi gian e tao lai tn hieu audio ban au. II.

MA HOA BIEN OI
Trong phng phap ma hoa bien oi cac mau Audio trong mien thi gian c chuyen sang mien tan so nh cac phep bien oi toan hoc. Cac bo ma hoa co the s dung cac phep bien oi nh phep bien oi Fourier ri rac DFT (Discrete Fourier Transform) hoac MDCT. Cac he so co c t cac phep bien oi c lng t hoa va ma hoa da tren mo hnh am tam ly, cac thanh phan b che c loai bo. ng tren quan iem thong tin, s bien oi lam giam Entropy cua tn hieu cho phep ma hoa hieu qua hn. Trong cac bo ma hoa bien oi thch nghi, mot mo hnh c s dung e lng t hoa thch nghi moi bang phu, nhng cac he so trong moi bang c lng t hoa vi cung so bit. Thuat toan phan phoi bit tnh toan nhieu lng t hoa trong moi bang e co c

Trang 29

Phan tch va ng dung chuan MP3 t so S/N can thiet cho viec che. Trong vai trng hp toc o bit loi ra co the thay oi. Trc khi truyen i , d lieu thng c nen vi phng phap ma hoa Entropy, chang han nh ma hoa Huffman. Mo hnh ma hoa thch nghi c minh hoa nh hnh sau:

Audio_vao Audio ra

Bo em, Bien oi

Lng t hoa thch nghi

Ma hoa Entrop

FFT va mo hnh am tam ly III.

Tnh toan ngng che Bo ma hoa bien oi thch nghi

MA HOA MP3 ( MP3 ENCODING)

Tn hieu vao bo ma hoa la bo ieu bien ma xung bnh thng (PCM) c phan chia vao khung co 1152 mau. Khung nay c chia lam hai granules, moi granule la 576 mau. Khung c gi en ca hai khoi bien oi Fourier nhanh (FFT) va bang loc phan tch. 1. Phan tch phep bien oi Fourier nhanh

(FFT analysis)

Trang 30

Phan tch va ng dung chuan MP3 Khoi FFT chuyen 576 mau en mien tan so s dung phep bien oi Fourier.

Trang 31

Phan tch va ng dung chuan MP3

2. Ngng che (Masking Threshold) Thong tin tan so t khoi FFT c s dung e lien ket mo hnh am tam ly e xac nh ngng che cho tat ca cac tan so. Ngng che c ap dung vao bo lng t hoa e xac nh so bit can thiet ma hoa cho moi mau. Chung thng xem xet lieu s chuyen oi ca so co can thiet trong khoi bien oi cosin ri rac cai tien (MDCT). 3. Bang loc phan tch (Analysis Filterbank) Bang loc phan tch bao gom 32 bang thong loc bang nhau. au ra cua bang loc la 1 mau ti han. Ngha la moi granules gom 576 mau, co 18 mau ra t 32 bang thong loc, ma a ra tong cong la 576 mau subband. 4. MDCT vi ca so ong Mau subband c bien oi en mien tan so thong qua MDCT. MDCT thc hien 18 mau (khoi dai ) cung thi iem e at o phan giai tan so cao, thc hien 6 mau (khoi ngan ). Do co s chong ca so len nhau 50% nen kch thc ca so la 36 mau cho khoi dai va 12 mau cho khoi ngan. Khoi ngan cai thien o phan thi gian tot hn e dung cho cac tn hieu chuyen tiep va lam nho tieng vang lai. Khoi dai cho phep o phan giai tan so tot hn. Lp 3 co 3 mode chon khoi : 2 mode khi tat ca cac loi ra cua bang loc eu qua c bien oi MDCT, va 1 mode hon hp khi 2 bang tan thap s dung khoi dai con 30 bang tan cao s dung khoi ngan . Trc moi t MDCT xuat ra subband, moi subband cu phai nghch ao tan so (nhan -1) e dong pho xuat hien theo th t tang dan. Khi ma hoa thu cam entropy vt qua gia tr 1800 se xac nh hang so. Khoi loc MDCT se c chuyen en ca so ngan. e duy tr thuoc tnh tai tao lai cua MDCT, s chuyen oi gia khoi ngan va

Trang 32

Phan tch va ng dung chuan MP3 khoi dai khong the tc th, v vay co ca so chuyen oi t dai en ngan, t ngan en dai.

Chieu dai cua khoi ngan bang 1/3 khoi dai. Trong che o khoi ngan, 3 khoi ngan thay the 1 khoi dai ma khong ke en loai ca so ap dung, so dong MDCT con lai khong oi. Cho 1 khoi rieng biet cua d lieu, tat ca cac kenh khoi loc co the cung kieu khoi MDCT ( dai hoac ngan) hoac 1 mode khoi hon hp ni ma subband tan so nho hn 2 cho phep khoi dai trong khi con lai dai tren 30 co khoi ngan. Che o hon hp cung cap o phan giai tan so tot hn cho tan so thap hn trong khi duy tr o phan giai thi gian cao hn. MDCT bien oi tn hieu am thanh vao mien tan so, sinh ra biet danh c a vao bi mau con trong khoi loc co the thoat khoi tng phan (partially cancelled). 5. Chia t le va lng t hoa (Scaling va

Quantization)
Ngng che c s dung e tnh toan co bao nhieu bit can thiet trong moi bang ti han e ma hoa

Trang 33

Phan tch va ng dung chuan MP3 mau sao cho nhieu lng t hoa khong the nghe c. Bo ma hoa thng s dung toc o bit phu hp vi yeu cau. Ma hoa Huffman la mot phan cua phep lap bi v no khong co kha nang xac nh so bit can thiet cho viec ma hoa. 6. Ma

hoa Huffman va sinh ra dong bit (Huffman Coding and Bitstream Generation)

Mau lng t hoa la lu tr va ma hoa Huffman trong dong bit doc theo he so t le va thong tin (side infomation). Huffman la phng phap ma hoa khong mat d lieu dung t ma (codeword) e lu tr bit nh phan cua symbol. V du cac symbol A, B, C, D c ma hoa thong qua cac code word nh sau: Symb ol A B C D Code word 0 10 110 111

Symbol A va B c phan biet thong qua chieu dai cua t ma tng ng la 0 va 10. The manh cua cua ma hoa Huffman la tat ca code word co kha nang giai ma ong nhat ( uniquely decodable). V vay trnh t ma hoa cua cac bit la: 01101110100 tng ng vi chuoi d lieu: ACDABA Giai thuat ma hoa Huffman da tren mo hnh cay ma hoa (coding tree) dung e phan biet cac symbol thong qua code word. Symbol nao co xac suat cao th code word ngan, ngc lai symbol co xac suat thap th code dai hn. Trnh t thc hien theo cac bc sau: Sap xep so lan xuat hien ( xac suat) cac symbol theo th t giam dan.

Trang 34

Phan tch va ng dung chuan MP3 Noi 2 symbol lai vi nhau theo th t t tren xuong e tao symbol mi. Tiep tuc bc 2 cho en khi con lai 1 symbol vi xac suat la 1. Tien hanh anh so cho cay ma hoa, bat au t goc (symbol co xac suat la 1) tr len pha tren th anh so 0 ngc lai t goc i xuong ta anh so 1. V du ta co chuoi can ma hoa la EXAMPLE OF HUFFMAN CODING. au tien ta tnh xac suat cua tng symbol trong chuoi ky t. Symb ol E X A M P L O F H U C D I N G space Xac suat 2/25 1/25 2/25 2/25 1/25 1/25 2/25 3/25 1/25 1/25 1/25 1/25 1/25 2/25 1/25 3/25

Trang 35

Phan tch va ng dung chuan MP3 Tiep tuc sap xep cac symbol theo xac xuat giam dan.

7. Thong tin (Side Information) Thong tin cha cac thong so ieu khien thao tac giai ma nh la s la chon bang Huffman, chuyen oi ca so, ieu khien o li (gain control).

Trang 36

Phan tch va ng dung chuan MP3

CHNG IV: GIAI MA MPEG1 LP 3


I. GIAI MA MP3 (MP3 DECODING)
S o cau truc :

1. nh dang khung (Frame Format) Khung la mot khai niem trung tam khi giai ma dong bit MP3. No bao gom 1152 mau n hoac mau mien tan so, c chia hai granules moi granules gom 576 mau. Moi granules c chia lam 32 khoi subband co 18 dong tan so.

Trang 37

Phan tch va ng dung chuan MP3

Pho tan so dao ong t 0 ti FS/2 Hz. Subband phan chia pho thanh 32 phan bang nhau. Moi subband cha 18 mau ma a c bien oi en mien tan so bang phep bien oi MDCT. 576 dong tan so trong mot granule c phan chia vao trong 21 he so t le c thiet ke e phu hp tan so bang ti han cang gan cang tot. Dai he so t le c s dung chnh cho viec lng t hoa lai (requantization) cua cac mau. Khung (frame) bao gom 4 phan: tieu e (header), thong tin (side infomation), d lieu chnh (main data), d lieu phu thuoc (ancillary data):

Chieu dai cua khung co nh cho toc o bit phu hp ,vi o lech co the la mot byte e duy tr o chnh xac toc o bit.

a. Tieu e
File MPEG c xay dng t nhng phan t nho hn goi la khung, khung la 1 muc oc lap. Moi khung gom header va thong tin am thanh. V vay ban co the cat 1 phan nao o cua file MPEG va

Trang 38

Phan tch va ng dung chuan MP3 hat trc tiep. Nhng lp III th khong ung nh vay. Hng en to chc d lieu ben trong MPEG Version 1 Layer III, khung thng le thuoc vao nhng thanh phan khac va khong the cat ra hat trc tiep c. Khi ban muon oc thong tin ve file MPEG thong thng ch oc ve khung au tien, ve header va cho rang nhng khung khac cung tng t. ieu nay co the khong ung trong moi trng hp. File MPEG co toc o bit khac nhau co the c s dung th goi la chuyen oi toc o bit (bitrate switching) co ngha la toc o bit chuyen oi doc theo noi dung cua khung. Vi cach nay toc o bit thap hn co the c s dung trong khung ma khong lam giam chat lng am thanh. Khung co c che kiem tra loi CRC. Bo kiem tra loi dai 16 bit . Neu co loi xay ra th c lu tr trong phan header. Sau khi kiem tra loi, co the tnh chieu dai cua khung va s dung no neu can nhng thong tin khac ve header hay tnh CRC cua khung. Tieu e co chieu dai 4 bytes (32 bits) va cha thong tin ve lp , toc o bit, tan so mau va che o stereo c mo ta cu the nh sau:

AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM


Sign Lengt Positio Description h n

Trang 39

Phan tch va ng dung chuan MP3


(bits) (bits) A B

11 2

(31ong bo khung( tat ca cac bit 21) eu c at trang thai 1) (20,19) MPEG Audio version ID 00 - MPEG Version 2.5 01 Bit d tr 10 - MPEG Version 2 (ISO/IEC 13818-3) 11 - MPEG Version 1 (ISO/IEC 11172-3)

(18,17) Phan mo ta Layer 00 d tr 01 - Layer III 10 - Layer II 11 - Layer I (16) Bit bao ve 0 kiem tra loi CRC (16bit CRC follows header) 1 - khong kiem tra. (15,12) Ch so toc o bit V1,L V1,L V1,L V2,L V2, L2 & bits 1 2 3 1 L3 000 free Free Free free Free 0 000 32 32 32 32 8 1 001 64 48 40 48 16 0 001 96 56 48 56 24 1 010 128 64 56 64 32 0 010 160 80 64 80 40 1 011 192 96 80 96 48 0 011 224 112 96 112 56 1 100 256 128 112 128 64 0 100 288 160 128 144 80 1

Trang 40

Phan tch va ng dung chuan MP3 101 0 101 1 110 0 110 1 111 0 111 1 320 192 160 160 96 352 224 192 176 112 384 256 224 192 128 416 320 256 224 144 448 384 320 256 160 bad Bad bad bad Bad

V1 - MPEG Version 1 V2 - MPEG Version 2 va Version 2.5 L1 - Layer I L2 - Layer II L3 - Layer III "free" : format tuy y. "bad" :gia tr khong c phep s dung. File MPEG co toc o bit thay oi (VBR). Moi khung co the c tao ra vi toc o bit khac nhau va c s dung trong tat ca cac lp( giai ma lp 3 cung dung phng phap nay). (11,10) Ch so tan so toc o mau bit MPEG1 s 44100 00 Hz 48000 01 Hz 32000 10 Hz 11 Reserv.
1 G (9)

MPEG2

22050 Hz 24000 Hz 16000 8000 Hz Hz reserv. reserv.

MPEG2. 5 11025 H z 12000 H z

Bit em (padding bit) 0 - khung khong s dung bit em

Trang 41

Phan tch va ng dung chuan MP3 1 - khung s dung bit em vi 1 khe cam m phu. Cach tnh chieu dai khung : trc tien ta hay phan biet kch thc khung va chieu dai khung. Kch thc khung la so mau co trong 1 khung . thong thng lp I co 384 mau, lp II va III co 1152 mau. Chieu dai khung la chieu dai cua khung khi a nen xong va c tnh tren slot. lp I , 1 slot co 4 byte con lp II va III ch co 1 byte. Chieu dai khung co the thay oi thong qua bo em hoac s bien oi toc o bit. Lp I : FrameLengthIn Bytes = (12 * BitRate / SampleRate + Padding) * 4 Lp II va III: FrameLengthIn Bytes = 144 * BitRate / SampleRate + Padding
H I 1 2 (8) (7,6)

Bit danh rieng. Channel Mode 00 - Stereo 01 - Joint stereo (Stereo) 10 - Dual channel (2 mono channels) 11 Single channel (Mono)
Mode m rong (ch s dung trong Joint stereo) Ban quyen 0 - Audio khong ban quyen 1 Audio co ban quyen Nguyen ban 0 ban phu media 1 ban goc media Tam quan trong (Emphasis) 00 - none 01 - 50/15 ms 10 bit d tr 11 - CCIT J.17

J K L M

2 1 1 2

(5,4) (3) (2) (1,0)

b. Thong tin (side infomation)

Trang 42

Phan tch va ng dung chuan MP3 Phan thong tin cha thong tin can thiet e giai ma d lieu chnh nh : la chon bang Huffman, he so t le, cac thong so lng t hoa lai va s la chon ca so. Thong tin phu dai 17 byte kenh n, 32 byte kenh oi. Main data begin (1 ) ( 2) SI granules 0 SI granules 1

Main data begin: iem bat cha nhng d lieu chnh cua khung SI granules 0 : thong tin ve frame v tr th 0 SI granules 1 : thong tin ve frame v tr th 1 (1): Bit dung rieng ( private bits) do ngi s dung nh ngha. (2): Thong tin ve viec la chon he so t le.

Trang 43

Phan tch va ng dung chuan MP3

c. D lieu chnh (main data)


Cha nhng thong tin ve he so t le (scale factor), mau subband c ma hoa (coded subband samples), d lieu ho tr (auxiliary data). Phan d lieu chnh cha he so t le ma hoa va dong tan so ma hoa Huffman, chieu dai phu thuoc vao toc o bit va chieu dai cua d lieu phu. Chieu dai cua phan he so t le phu thuoc vao he so t le co c s dung lai hay khong va tng t oi vi chieu dai ca so (dai hay ngan). He so t le c s dung trong bo lng t hoa cua mau. Yeu cau bit ma hoa Huffman bien oi theo thi gian trong suot tien trnh ma hoa. nh dang toc o bit bien oi co the c s dung e x ly ieu nay nhng toc o bit phu hp th thng yeu cau cho mot ng dung. Bo ma hoa thc hien tren khoi d lieu dai 1152 mau. Khi chieu dai d lieu ma hoa nho hn trung bnh so bit can thiet, bo ma hoa a phan kch thc d ra nay vao bo d tr ( reservoir). Khi kch thc bo ma hoa qua ln se mn lai nhng bit d nay. Bo ma hoa ch co the mn bit d t khung trc no (past frame), khong the mn c t khung sau no (future frame) . V vay co mot ky thuat d tr bit c nh ngha ma khong cho phep s dung kho d lieu chnh trong mot khung e c dung trong 2 khung lien tiep nhau :

Trang 44

Phan tch va ng dung chuan MP3

Trong v du nay frame 1 s dung bit t frame 0 va frame 1. Frame 2 s dung bit t frame1. Frame 3 yeu cau cao hn s dung bit t frame1, 2va 3. Cuoi cung frame 4 ch s dung bit tai frame 4. Tham so main _data_begin trong thong tin cho biet nhng bit t khung pha trc can thiet hay khong. Tat ca d lieu cho mot khung c lu tr trong khung trc o. Kch thc ln nhat cua kho lu tr bit la 511 byte. d. D lieu phu (Ancillary Data) Phan d lieu nay do ngi dung nh ngha , khong can thiet e giai ma d lieu audio. 2. Giai ma Huffman e giai ma Huffman chung ta bat au i t goc cua cay nh phan Huffman. Neu gap bit 1 th i sang ben phai, ngc lai gap bit 0 th sang ben trai cho en khi gap nut la th dng.

Trang 45

Phan tch va ng dung chuan MP3 V du ta co 1 chuoi bit 00110, bit au la 0 nen ta i sang trai en nut F4. V cha la nut la nen tiep tuc bit th 2 (cung i sang trai) en nut F2 , bit th 3 la 1 nen chuyen hng sang phai. Tai ay v en nut la nen xuat ra k t i. Tiep tuc giai ma 2 bit con lai 10, trc tien v la bit 1 nen ta i sang phai en nut F3, tiep tuc bit 0 i sang trai en nut la => xuat ra ky t a.

Trang 46

Phan tch va ng dung chuan MP3 Thc thi qua trnh giai ma { //trc tien chung ta kiem tra xem nut hien tai la nut la hay nut trung gian //neu la nut trung gian th kiem tra chieu dai bit tm kiem phai nho hn 8 if( node->value != 256 ) { // Neu la nut la th xuat ra ky t return node->value; } else { //chung ta ang ung tai node trung gian ( fictive node), tiep tuc i sang //phai hay trai tuy thuoc vao bit ke tiep //tra ve gia tr byte c giai ma if( get_bit() == 0) { // i sang ben trai return ( huffman_decode_byte( node->left_node ) ); } else { // i sang ben phai return ( huffman_decode_byte( node->right_node ) ); } } } 3. Lng t hoa lai (requantization) Khoi lng t hoa lai s dung he so t le e bien oi gia tr ma hoa Huffman isi thanh gia tr pho xri s dung cong thc sau: byte huffman_decode_byte ( pointer to binary tree node )

Trang 47

Phan tch va ng dung chuan MP3

C: dai toan cuc va dai he so t le phu thuoc he so at c t thong tin phu va he so t le.

4. Sap xep lai th t ( reordering)


Bo lng t hoa lai phai sap xep lai th t theo bang he so t le s dung ca so ngan. Trong v du sau ay co 1 bang gom 18 mau cha 3 ca so cua 6 mau.

Nhng ca so ngan c sap xep lai theo th t trong bo ma hoa e ma hoa Huffman hieu qua hn, bi v mau gan nhau (sample close) trong mien tan so( thap hoac cao) co cung gia tr. 5. Giai ma stereo Dong bit nen co the ho tr 1 hoac 2 kenh audio trong 4 che o: Mot che o monophonic cho kenh am thanh n. Mot che odual_momophonic cho 2 kenh am thanh oc lap. Mot che ostereo cho nhng kenh stereo ma nhng bit dung chung nhng khong c s dung ma hoa joint_stereo. Mot che o joint_stereo ma co nhng thuan li ve moi tng quan gia nhng kenh stereo (MS stereo) hoac khong thch hp oi vi nhng pha khac nhau gia cac kenh (cng o stereo) hoac ca hai. a. Giai ma Stereo MS Trang 48

Phan tch va ng dung chuan MP3

Trong che o kenh trai va phai c chuyen oi vao tong (M), sai phan (difference) (S) cua 2 kenh. Trong o tong tn hieu co nhieu thong tin hn tn hieu sai phan. e giai ma kenh trai va phai co the c tai tao lai bang cong thc:

Giai ma am thanh (stereo) Trong o: i la ch so dong tan so. Va viec x ly MS stereo la nen khong ton that. b. Giai ma cng o stereo Bo giai ma tai tao lai kenh trai va phai da tren tn hieu n L+R (L i) c chuyen oi trong kenh trai va s can bang ma c chuyen oi thay v dung he so t le (isratio sfb ) cho kenh phai.

Giai ma joint stereo Trong o : ispossfb : gii han trong khoang 0 ->6. V the tan() c thay the bang bang co san. 6. Giam biet danh (Alias Redution) Giam biet danh c yeu cau e loai bo hieu ng biet danh cua khoi loc a pha trong bo ma hoa (khong ng dung cho granule s dung khoi ngan). Giam biet danh gom 8 buttrefly cho moi subband.

Trang 49

Phan tch va ng dung chuan MP3

Moi butterfly chong biet danh luan phien (rotation) c ap dung en 1 trong 8 cap thiet ke cua dong quang pho. No khong anh hng hoan toan en thuoc tnh tai cau truc (reconstructor) cua khoi loc, nhng cai tien he so nen cua bo ma hoa bang cach co gang cha nang lng trong moi subband. Mot granule anh xa en mien thi gian - tan so cua khung d lieu vao. Khong giong nh vung thi gian - tan so thong thng no c sap xep lai cho giam biet danh , au tien sap xep trong mien tan so va sau o tiep tuc trong mien thi gian. V vay 18 mau trong mien thi gian cua moi subband c nhom lai vi nhau. Butterfly c ap dung cho moi mau luan phien trong moi subband luan phien. Bo ma hoa a g bo iem nay e ao ngc MDCT e tai cau truc mau subband trong he thong giam alias cho tai cau truc bang khoi loc tong hp. Bo giai ma butterfly cung tng t tr phi co s bien oi trong k hieu. 7. IMDCT

Trang 50

Phan tch va ng dung chuan MP3 IMDCT( Inverse Modified Discrete Cosine Transform)bien oi vach pho (Xk) thanh khoi loc a pha mau subband (Si )

Bien oi IMDCT n=12 : khoi ngan n=36: khoi dai. Trong khoi dai IMDCT xuat ra 36 gia tr cho 18 gia tr vao. au xuat c lay ca so phu thuoc vao kieu khoi (bat au, lng trung bnh, ket thuc), na au (first haft) c chong len nhau, na sau c lu vao khoi. oi vi khoi ngan 3 lan bien oi c thc hien e sinh ra 12 gia tr xuat. Ba vector c lay ca so va chong len nhau. Co 6 gia tr 0 noi vao vector ket qua cho nen vector co o dai 36.

Bo xuat ra t IMDCT la 18 mau mien thi gian cho 32 khoi subband.

Trang 51

Phan tch va ng dung chuan MP3

8. Khoi

loc a pha tong hp Polyphase Filterbank)

( Synthesis

Khoi loc a pha tong hp bien oi 32 khoi subband cua 18 mau mien thi gian trong moi granule en 18 khoi cua 32 mau PCM. Khoi loc hoat ong tren 32 mau tai cung 1 thi iem, 1 trong so khoi subband c minh hoa theo hnh di ay:

32 gia tr subband c bien oi thanh 64 gia tr vector V s dung bien the cua IMDCT (ma tran). Vector V c at vao hang i FIFO lu tr 16 vector cuoi cung. Vector U c tao ra t 32 khoi thanh phan trong FIFO, ca so D c ap vao vector U e sinh ra vector W. Mau tai tao lai se thu c t vector W bang cach phan tch no thanh 16 vector co kch c 32 va tnh tong cac vector o.

II. NHN CHUNG VE HIEU QUA CAC GIAI THUAT GIAI MA MP3

Trang 52

Phan tch va ng dung chuan MP3 1 . Giai ma Huffman nh ngha :

Bo giai ma Huffman chuyen oi cac ma co chieu dai thay oi trong dong bit thanh cac vach pho. Giai ma dung 32 bang co nh t chuan ([1]) cha thong tin ve qua trnh ma hoa a c tien hanh nh the nao. Dong bit trong vung thong tin c dung e chon la cac bang cho cac phan khac nhau cua pho tan so. Co mot c che ac biet trong bo giai ma dung cho viec giai ma cac gia tr ln. T ma co chieu dai thay oi dai nhat cho moi bang la 19 bit. Ch co 16 bang khac nhau c nh ngha theo chuan . Tm kiem cay nh phan :

Cac bang giai ma Huffman co the chuyen thanh trong cac cay nh phan. Moi cay the hien mot bang cu the. Nhng cay c duyet qua theo tng bit trong dong bit , trong o 0 i ben trai va 1 i ben phai. Toan bo t ma c giai ma mot cach ay u khi gap mot nut la. Cac nut la cha cac gia tr cua ng pho . Lookup) : Bang tm kiem trc tiep (Direct Table

oi vi phng phap bang tm kiem trc tiep, bo giai ma s dung cac bang ln. Chieu dai cua moi bang la 2b , trong o b la so bit ln nhat trong t ma dai nhat cua bang o . e giai ma mot t ma, bo giai ma oc b bit, cac bit nay c dung nh mot ch so trc tiep tro vao bang. Trong bang, moi muc cha mot

Trang 53

Phan tch va ng dung chuan MP3 gia tr ng pho va thong tin ve chieu dai thc cua t ma. Giai ma theo cum (Clustered Decoding) :

Phng phap giai ma theo cum ket hp phng phap cay nh phan va bang tm kiem trc tiep . Mot so bit co nh (v du nh 4) c oc t dong bit va c dung nh mot ch so tm kiem trong mot bang. Moi phan t bang cha mot miss bit hay mot hit bit cho biet lieu t ma a c giai ma ay u cha . Neu mot hit bit c phat hien gia tr c oc t phan t bang cung nh so bit ma c dung cho t ma. Neu la miss bit giai ma tiep tuc bang cach dung thong tin t phan t bang e xac nh can bao nhieu bit them na e oc t dong bit dung cho ch so tiep theo, cung nh a ch bat au cua bang ke tiep c dung. 2 . Bo lng t hoa lai (Requantizer) nh ngha :

Cong thc cua lng t hoa lai mo ta viec x ly e nh t le lai oi vi d lieu a c ma hoa Huffman. o li toan cuc va o li cua khoi con anh hng tat ca cac gia tr trong mot ca so thi gian. Ngoai ra, cac he so t le va c hieu chnh o li trong moi bang he so t le . Sau ay la phng trnh lng t hoa lai cua cac ca so ngan. Gia tr c ma hoa Huffman tai ch so tai bo em th i c goi la isi , ngo vao cua khoi sap th t lai th i c goi la xri : Dung cho khoi ngan :

Trang 54

Phan tch va ng dung chuan MP3

A=global_gain [gr]-210 (8)*subblock_gain[window][gr] B=scalefac_multiplier*scalefac_s[gr][ch][sfb] [window] Cho khoi dai, cong thc la:

A=global_gain [gr]-210

B=scalefac_multiplier*scalefac_l[gr][ch][sfb]+ preflag[gr]*pretab[sfb]
preflag[sfb], c s dung cho viec khuyech ai bang he so t le tan so cao. Gia tr 210 la mot hang so can e chia t le cac mau. Gia tr cao nhat cua isi la 8206, khong la 8191 nh a nh bi chuan [1]. Nguyen nhan la do bo giai ma cap them 15 vao gia tr cua linbits. Linbits co the dai 13 bit do o co ga tr cao nhat la 213 1 = 8191 cho moi phan linbits . Thc hien :

Ca hai ham mu isi4/3 va 2A,B rat kho tnh neu dung ham th vien toan hoc chuan pow(). Ngay ca khi dung n v x ly dau cham ong (FPU) hay DSP viec tnh toan cung khong phai n gian . Ham isi4/3 trong bo lng t hoa lai chap nhan 8207 gia tr khac nhau. Bang tm kiem se nhanh, nhng oi hoi khoang 256 kbits bo

Trang 55

Phan tch va ng dung chuan MP3 nh, chung ta se tm mot thuat toan c e cap trong muc phng phap Newton di ay. Ham 2 0.25 * A * 2 -B khong chap nhan hn 384 gia tr khac nhau. ieu o co ngha la bang tm kiem se la s la chon tot nhat, lu y rang bang co the tao ra tham ch nho hn (196 gia tr ) bang cach lam tron gia tr nho (< 2-35) khi ham giam xuong gan zero bi v khong anh hng en ket qua cuoi cung. Tiem can da tren bang y=x4/3( Tablebased Approach for y=x4/3): Bang tm kiem cho ham y=x4/3 co the thc hien de dang. Bang nay co the gop vao nh mot phan cua d lieu khi tao, hoac no co the c tao ra tai thi iem thc thi neu ham pow() co san . Neu co u bo nh bang tm kiem co the bao gom gia tr am cua isi . ieu nay se tang toc o viec giai ma . Phng phap Newton cho y=x4/3 (Newtons Method for y=x4/3): Ham y= x4/3 c viet lai thanh y3-x4=0. Dang nay co the thch hp vi phng phap Newton tm kiem no se cho gia tr y xap x vi x4/3. Ket qua cua ham c tnh thong qua viec lap i lap lai qua trnh giam sai so | y-x4/3| :

Trang 56

Phan tch va ng dung chuan MP3 Cong thc c viet lai thanh dang th hai e tranh s c luc dau cham ong. Gia tr bat au la y0 cua cong thc lap anh hng en so lan lap can thiet e at c o chnh xac mong muon. Vi ng dung, o chnh xac ln hn 16 bits xem nh co hieu qua. Mot gia tr khi au tot cua y0 c tnh toan thong qua ham a thc y0 = a0 + a1 * x + a2 * x2 . Ham nay c thiet ke tng t vi y=x4/3 cang gan cang tot vi 0< x < 8207.

4. Phep bien oi cosin ri rac cai tien ao ngc (IMDCT)


nh ngha :

IMDCT bien oi cac mau subband t mien tan so sang mien thi gian. Bieu thc phan tch cua IMDCT la :

Gia tr cua n trong bieu thc co the la 12 cho khoi ngan hoac la 36 cho khoi dai. au ra t IMDCT phai c lay ca so vi mot ham co nh c nap chong vi d lieu t khoi trc. Thc hien :

Thao tac IMDCT th rat kho tnh toan e tien hanh nh c nh ngha bi chuan. Mot bang tm kiem co the c dung e thay the cho ham cos() , nhng vong lap ben trong phng trnh van con oi hoi viec x ly. Thay v chung ta se khao sat giai thuat nhanh hn cho IMDCT muc di.

Trang 57

Phan tch va ng dung chuan MP3 Cac ham ca so c thay the bang mot bang tm kiem 4 kbits. Tnh toan trc tiep ( Direct calculation) :

T tnh toan trc tiep IMDCT de thc hien bi v no ch bao gom hai vong lap for n gian. Mot bang tm kiem co the c dung e thay the cho ham cos() goi ben trong vong lap. Thc hien IMDCT nhanh ( Fast IMDCT implementation ): Marovich a neu ra trong [2] rang phng phap cua Konstantinides ve viec tang toc o tnh toan cua ma tran bang loc a pha cung co the dung cho IMDCT 12 va 36 iem :

Ket qua N iem tng ong vi IMDCT N iem nh c nh ngha trong chuan. ieu nay ch can tnh 6 va 8 iem tng ng. Nhng iem nay co the c tnh toan t cach tnh IDCT sa oi bang cach s dung phng phap Lee-style : phan tch

Trang 58

Phan tch va ng dung chuan MP3 cac bien oi 6 va 18 iem thanh cac nhan IDCT 3, 4 va 5 iem. Phep bien oi 6 iem cua khoi ngan c phan tch thanh 2 phep bien oi 3 iem co the c c lng trc tiep .

Phep bien oi 18 iem cho khoi dai cung c phan tch theo mo hnh tng t thanh hai phan 9 iem. Cac phan 9 iem nay sau o c tach ra na thanh mot phan 4 iem va mot phan 5 iem e c c lng cach trc tiep. 5.

Bang loc a pha ( Polyphase Filterbank)


nh ngha :

Tan loc a pha chuyen oi cac mau trong mien thi gian t phep bien oi IMDCT trong moi subband thanh mau PCM. S chuyen oi gan 3 bc sau ay: Ma tran cac mau cua 32 subband sinh ra 64 gia tr vector V Tien hanh ca so cua mau c chon t c che vao trc ra trc (FIFO) cua vector V vi mot ca so khong oi D sinh ra mot vector W

Trang 59

Phan tch va ng dung chuan MP3 Tong cong vector W vi chnh no sinh ra 32 mau PCM au ra . Bc 2 va 3 tren th de thc hien, ac biet trong DSP do no co kha nang nh v a ch ac biet. Bc 1 cung de thc hien do no c nh ngha bi chuan :

Trang 60

Phan tch va ng dung chuan MP3 Di ay la hai cach tnh dung cho bc 1 Tnh toan trc tiep :

S tnh toan trc tiep cua thao tac ma tran th de thc hien bi no ch bao gom hai vong lap for. Thc hien DCT nhanh 32 iem ( 32 point fast DCT implementation): Konstantinides a ch ra trong chuan [2] rang thao tac ma tran trong bc 1 co the c cai tien thc te bang cach dung bien oi DCT nhanh 32 iem va mot vai thao tac sao chep d lieu :

S the hien oi xng trong thao tac ma tran

Trang 61

Phan tch va ng dung chuan MP3

32 subband.

iem

DCT

cho

tong

hp

Mot trong nhng giai thuat DCT nhanh thong dung dung cho 2m iem c mo ta bi tac gia Lee trong [3]. Phep bien oi c phan tch thanh 2 phan chan le:

Trang 62

Phan tch va ng dung chuan MP3

Giai thuat DCT nhanh cua Lee Cac phan chan va le lai co the c phan tch theo cach tng t cho en khi cac phan u nho e co the tnh toan thong qua s c lng trc tiep. V du nh khi N = 2.

Trang 63

Phan tch va ng dung chuan MP3

PHAN 2: XAY DNG PHAN MEM CHNG I : GIAO DIEN VA THUYET MINH CHNG TRNH

Giao dien la cong cu tr giup ac lc cho ngi s dung. Nhng phan mem co giao dien tot luon c a chuong. o cung chnh la u iem tuyet vi cua Windows. Lap trnh trong Windows ho tr nhng cong cu cho phep ta tao ra nhng giao dien rat de dang va bat mat. Tuy nhien, thiet ke giao dien e cho ai cung co the s dung c va khong b nham lan khong phai la chuyen de dang. No oi hoi ta phai co mot cai nhn bao quat, tham ch phai hieu sau ve giai thuat cua chng trnh th mi co the loai tr nhng sai lam khi s dung. Lap trnh trong Windows la lap trnh theo tnh huong. Moi nut nhan, o oi thoai tren giao dien eu co the c truy cap ti bat ky luc nao ma khong theo mot trnh t nhat nh. Giao dien bao gom cac phan nh hnh ve sau:

Trang 64

Phan tch va ng dung chuan MP3

1. Thanh SkinProgress
Thanh nay dung e hien th ten bai hat va ten ca s hat bai hat nay, bi v ay la chng trnh nghe nhac mp3 nen uoi mac nh la .mp3 . 2. Nut Minimize Nut nay co tac dung thu nho ca so chng trnh va hien th tren thanh Toolbars. Khi can phong to ca so len ch can nhap chuot vao phan thu nho tren thanh Toolbars . 3. Nut Colse Dung e ong ca so chng trnh . 4. Timer Hien th thi gian a thc thi chng trnh di dang phut : giay. 5. Tong thi gian Hien th tong so thi gian ma chng trnh phai thc thi, di dang phut : giay. 6 .Nut Open M ra danh sach cac bai hat cho ngi s dung chon la (ch chon c 1 bai hat). Do co s dung hieu ng di chuyen chuot nen khi ra chuot en nut Open se chuyen sang mau vang . Khi a chon 1 bai hat cu the nao o th 3 nut con lai Play, Pause, Stop mi co tac dung ( luc khi ong chng trnh do cha chon bai hat nen 3 nut nay khong nhan c). 7 .Nut Play Thc hien giai ma file .mp3 va phat ra loa bai hat o.

Trang 65

Phan tch va ng dung chuan MP3 8. Nut Pause Tam dng chng trnh ang hat , e tiep tuc hat ta nhan nut Play. 9. Nut Stop Dng chng trnh ang hat, e phat lai bai hat mi ta chon ten bai hat t nut Open, sau o nhan nut Play. 10. Thanh tien trnh Hien th tien trnh thc thi bai hat. Luc bai hat ket thuc cung la luc thanh tien trnh nay lap ay. Khi kch chuot en au th thc thi bai hat tai thi iem va kch chuot . 11. Nut Volume Dung e ieu chnh am thanh ln hay nho tuy theo nhu cau cua ngi s dung( ieu chnh vong tron cang to th am thanh cang ln).

Trang 66

Phan tch va ng dung chuan MP3

CHNG II : LU O GIAI THUAT VA CAU TRUC D LIEU


I. S O KHOI
Lay vao cau hnh mac nh Thay oi hay gi nguyen cau hnh
at input file; M input file va kiem tra OpenNew();

Start Init_ MPEGDecoder()

InitStream()

Khi tao input stream record


Chuan b vung em

memset()

AudioFlush() phat ReadFrame()< >0 do_layer3() Dung bang ma Huffman e giai ma dong bit,thong tin d lieu va he so t le III_scale_factor_1() III_scale_factor_2() III_side_info_1()

Chuan b thiet b

S Reset v tr dong bit ve zero Reset_Stream() Reset thiet b phat Ket thuc

Lng t hoa lai va sap xep lai thong tin d lieu


III_dequantize_sample() Trang 67 III_dequantize_sample_

Phan tch va ng dung chuan MP3

Giai ma am thanh III_i_stereo()

Giam bt biet danh III_antialias() Qua bien oi IMDCT

Tong hp lai cac tang loc a pha


SynthesisFilterInit() a ra thiet b phat (right+left)

II. LU O GIAI THUAT


Lu o giai thuat cua tan loc a pha khi tong hp subband (Subband Synthesis) dung phep bien oi cosin ri rac nhanh 32_iem (32_point Fast DCT )

Trang 68

Phan tch va ng dung chuan MP3

Begin i=0 S

i++

i<3 1 k=0 S k< 31

End

Vi =

S
k=0

31

cos[/64(2k-1)i]

k++

Samples)

Sk = Cac mau subband (Subband

Trang 69

Phan tch va ng dung chuan MP3 S o giai thuat cua tan loc a pha sau khi tong hp 32 subband :
Begin i=0 S End

i++

i< 64 k=0 S k< 31

Vi =

S
k=0

31

cos[(16+i)(2k+i)/64]

k++

Samples)

Sk = Cac mau subband (Subband

III. CAU TRUC D LIEU 1. File Agrs.h


a. Lp MPArgs S dung : khai bao cac bien can thiet cho qua trnh lay file vao , xuat file ra thiet b phat , truy xuat cac thong tin ve cau hnh file. V tr player hien tai trong frame, v tr bat au khung, ket thuc khung. Ngoai ra con lu tr toc o lay mau, kch thc buffer.

Trang 70

Phan tch va ng dung chuan MP3 class MPArgs { public: unsigned long CurrentPos; // V tr player hien tai trong frames unsigned long StartFrame, StartPos, EndFrame, EndPos; unsigned long SampleRate; // Toc o lay mau unsigned long BufferSize; // Kch thc cua buffer xuat unsigned long Buffers; // So buffers long Channels; // Channels(1=mono;2=stereo) long AudioBits; // So Bits tren sample(mau) v du 16 bit long AudioDevice; // So thiet b audio se c m ra long AudioMode; // Kieu Audio (v du 16bit tn hieu) long ScaleFactor; // He so t le output long ForceFreq; bool TryResync; // Resync on bad data? bool Seekable; bool IsVBR; //Dung xac nh chieu dai cua stream bool UseHdrCB; // Dung xuat ra header char *InName; // a ten file vao stream char *OutName; // Xuat ra ten file long OutDeviceNum; // So thiet b xuat ra MMSystem long ForceMono; // Force mono output? long Force8bit; // Force 8-Bit output? long ForceStereo; // Force stereo output? long DownSample; // long PlayPriority; // thc thi thread u tien void *Player; void *Decoder; esInputMode InputMode; esOutputMode OutputMode; WaveOutCB BufferCB; WaveOutActionCB OutActionCB; InFileOpenCB InOpenCB; InFileCloseCB InCloseCB; InFileGetSizeCB InGetSizeCB;

Trang 71

Phan tch va ng dung chuan MP3 InFileSeekCB InSeekCB; InFileReadCB InReadCB; // Ngi dung nh ngha d lieu xuat unsigned long OutCBData; // Ngi dung nh ngha d lieu nhap unsigned long InCBData1; unsigned long InCBData2; HWND wnd; //Gan cac hang cho cac oi tng MPArgs() { InName = NULL; OutName= NULL; OutDeviceNum = 0; BufferedInput = true; CurrentPos = 0; StartPos = 0; EndPos = 0; DownSample = 0; ForceStereo = 0; AudioBits = 16; SampleRate = 44100; Channels = 2; AudioMode = 1; AudioDevice = 0; BufferSize = 16384; Buffers = 8; BufferCB = NULL; UseHdrCB = false; TryResync = TRUE; Seekable = true; Force8bit = 0; ForceFreq = -1; ForceMono = 0; ScaleFactor = 32768; PlayPriority= THREAD_PRIORITY_NORMAL; OutCBData = 0; InCBData1 = 0; InCBData2 = 0; OutActionCB = NULL; BufferCB = NULL; wnd = 0; }

Trang 72

Phan tch va ng dung chuan MP3

};

~MPArgs() { if (InName) free(InName); if (OutName) free(OutName); }

b. Cau truc MPInfo


Lu tr cac thong tin ve header cua frame. struct MPInfo { long stereo_mode; long layer; long bitrate; long frequency; };

c. Cau truc frame


S dung lu tr cac thong tin ve header cua file nh: syncword, id, layer, error protection,bitrare index, sampling frequency, padding bit, private bit, mode, mode extension, copyright, emphasis, original/copy. struct frame { synthProc synth; synth_monoProc synth_mono; long stereo; long jsbound; long single; long II_sblimit; long lsf; long mpeg25; long down_sample; long header_change; unsigned long block_size; long lay; long WhatLayer; long error_protection; long bitrate_index; long sampling_frequency; long padding; long extension;

Trang 73

Phan tch va ng dung chuan MP3 long long long long long mode; mode_ext; copyright; original; emphasis;

};

2. File Common.h
Trong chng trnh cac cau truc nay dung giai oan lay thong tin d lieu vao giai ma thong tin cac thong tin can thiet nh :he so t le ,lng t hoa lai cac mau , am thanh (stereo), giam bt biet danh.

a. Cau truc ID3TagStruct


struct ID3TagStruct { char TagHeader[3]; char Title[30]; char Artist[30]; char Album[30]; char Year[4]; char Comment[30]; unsigned char Genre; };

b. Cau truc gr_info_s


Lu tr cac thong so ve phng phap ma hoa Huffman. struct gr_info_s { int scfsi; unsigned part2_3_length; unsigned big_values; unsigned scalefac_compress; unsigned block_type; unsigned mixed_block_flag; unsigned table_select[3]; unsigned subblock_gain[3]; unsigned maxband[3]; unsigned maxbandl; unsigned maxb; unsigned region1start; unsigned region2start; unsigned preflag;

Trang 74

Phan tch va ng dung chuan MP3 unsigned scalefac_scale; unsigned count1table_select; real *full_gain[3]; real *pow2gain; }; c. Cau truc bandInfoStruct struct bandInfoStruct { int longIdx[23]; int longDiff[22]; int shortIdx[14]; int shortDiff[13]; };

d. Cau truc III_sideinfo


struct III_sideinfo { unsigned main_data_begin; unsigned private_bits; struct { struct gr_info_s gr[2]; } ch[2]; };

3. File Elsound.h
Dung cac cau truc nay trong chng trnh e lu tr cac bien ieu khien va cac bien dung e lu tr loi. Ngoai ra con lu tr mode hien tai la Closed, Opened,Ready, Stopped, Playing, Change, Paused e hieu c chng trnh ang x ly trang thai nao.

a. Cau truc esInputMode


enum esInputMode { imFile, imCallback };

b. Cau truc esOutputMode


enum esOutputMode { omMMSystem, omWaveFile, Trang 75

Phan tch va ng dung chuan MP3 omDirectSound, omCallback };

c. Cau truc esPlayerMode


enum esPlayerMode { pmClosed, pmOpened, pmReady, pmStopped, pmPlaying, pmChange, pmPaused };

d. Cau truc esPlayerError


enum esPlayerError { peNoError, peNotImplemented, // khong thc thi peIncorrectMode, // khong ung mode cho viec thc thi hoat ong peInternalError, // khong cap phat c nguon tai nguyen hoac resource peInvalidHandle, // x ly oi tng player sai peInputError, peOutputError, peNoMemory, peNoResources, peNoCallback };

4. File Huffman.h
S dung trong qua trnh giai ma theo giai thuat Huffman gom: bang Huffman, linbit. struct newhuff { unsigned int linbits; short *table; };

Trang 76

Phan tch va ng dung chuan MP3 IV. NH NGHA

1. Cac nh ngha dung trong tap tin <Common.h>


#define COMMON_H #define #define #define #define #define #define #define real double NEW_DCT9 M_PI 3.14159265358979323846 M_SQRT2 1.41421356237309504880 SBLIMIT 32 SCALE_BLOCK 12 SSLIMIT 18

2. Cac nh ngha dung trong Player.h


//nh ngha che header #define HDRCMPMASK 0xfffffd00 //Kch thc toi a cua frame #define MAXFRAMESIZE 1792 #define #define #define #define MPG_MD_STEREO 0 MPG_MD_JOINT_STEREO 1 MPG_MD_DUAL_CHANNEL 2 MPG_MD_MONO 3

3. Cac nh ngha dung trong Resource.h #define BUTTON_PLAY 1 #define BUTTON_EJECT 2 #define BUTTON_STOP 3 //#define BUTTON_SAVE 4 #define BUTTON_PAUSE 4 #define BUTTON_EXIT 5 #define BUTTON_MINIMIZE 6 #define BUTTON_PLAYLIST 7 #define TEXT_SONG 8 #define TEXT_LEN 9 #define TEXT_POS 10 #define IDD_MPEGPLAYER_DIALOG 102 #define IDR_MAINFRAME 128 #define ID_LOADSKIN 32771

Trang 77

Phan tch va ng dung chuan MP3

Trang 78

Phan tch va ng dung chuan MP3

PHAN 3 :TONG KET


ay la chng trnh phan tch va viet ng dung ve chuan mp3, nhng chng trnh ch giai oan giai ma file mp3 va phat ra loa , chung em ch tm hieu c nhng chc nang n gian nh : M file mp3, phat ra loa file o. Tam dng file mp3 ang phat . Ngng file ang phat va chon file mi e phat chang han. Ngi s dung chng trnh ch m va phat ra loa c mot file duy nhat va sau o ngi s dung phai m lai mot file mp3 khac. ieu chnh c volume . ieu khien c tien trnh cua bai hat. Hien c tong thi gian va v tr thi gian hien tai cua moi bai hat .

Han che
V thi gian co han nen chng trnh con nhieu han che : Cha co chc nang bass, treble hay ieu chnh o can bang (balance). Cha chon c danh sach nhieu bai hat va phat lien tuc cac bai hat o . Cha co chc nang lap lai mot bai hat, vv Hng phat trien Trong tng lai chung em se phat trien thanh chng trnh nghe nhac mp3 hoan thien hn , se co nhieu chc nang hn nh : Chon c mot danh sach cac file mp3 va phat lien tuc cac file mp3 o. Hay ieu chnh c bass, treble, hay ieu chnh c o can bang cua volume.

Trang 79

Phan tch va ng dung chuan MP3 Lap lai mot bai hat hay cac chc nang khac nh trong nhng chng trnh nghe nhac pho bien hien nay nh :Winamp, Herosoft ,..

TAI LIEU THAM KHAO


Ken C. Pohlmann, Principles of Digital Audio , McGraw Hill 2000. Trang web http://www_mp3-tech_org.

K.Lagerstrm, Design and Implementation of MPEG-1 Layer III Audio Decoder , April 2001.

[1] ISO/IEC 11 172-3, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s - Part 3: Audio, .rst edition, Aug. 1993. [2] S. Marovich, Faster MPEG-1 Layer III Audio Decoding, HP Laboratories Palo Alto, June 2000. [3] B.G. Lee, FCT - A Fast Cosine Transform, IEEE International Conference on Acoustics, Speech and Signal Processing San Diego 1984, pp. 28A.3.1-28A3.4, March 1984. Design and Implementation of an MP3 Decoder May 2001 44 .

Trang 80

Você também pode gostar