Luận văn Phân tích và ứng dụng chuẩn MPEG

CHƯƠNG I : CÁC ĐẶC ĐIỂM CƠ BẢN CỦA ÂM THANH

Âm thanh được tạo bởi một thực thể dao động. Không có dao động thì không

có âm thanh. Thực thể dao động thì được gọi là nguồn âm. Nguồn âm làm cho

các phần tử của môi trường bên cạnh nó dao động. Các phần tử này lại làm cho

các phần tử kế nó dao động. Bằng cách này các phần tử của môi trường truyền

đến tai của người nghe. Khi chúng ta cảm nhận một âm thanh nào đó, các phần

tử dao động làm cho màng nhĩ của chúng ta cũng dao động. Các dao động này

được tiếp nhận và phân tích bởi bộ não của chúng ta.

Âm thanh có thể truyền qua môi trường không khí, nước hoặc các cấu trúc xây

dựng âm thanh truyền đi dưới dạng sóng âm, sự truyền âm thanh thực chất là

sự truyền năng lượng từ nơi này đến nơi khác.

I. CÁC ĐẶC TÍNH CƠ BẢN CỦA ÂM THANH

Bất kỳ âm thanh đơn giản nào chẳng hạn như một nốt nhạc đều có thể hoàn

toàn được mô tả bởi 3 đặc tính cảm nhận sau: cao độ (pitch ), cường độ

(intensity), âm sắc (timbre).

Những đặc tính này lần lượt tương ứng với các đặc tính vật lý sau của âm

thanh: tần số (frequency), biên độ (amplitude), sự cấu thành của các hài

(harmonic constitution).

1. Tần số sóng âm

Âm thanh được truyền đi dưới dạng sóng âm. Khi sóng âm truyền đi sự

truyền dao động của các phần tử dao động theo hướng truyền sóng. Sự dịch

chuyển của các phần tử của môi trường tạo ra các vùng có mật độ phần tử

cao thấp khác nhau. Các vùng có mật độ phần tử cao được gọi là các vùng

đậm đặc (compression). Các vùng có mật độ phần tử thấp được gọi là vùng

loãng (rarefaction).

Các vùng loãng và vùng đậm đặc lan truyền theo hướng truyền của sóng.

Các phần tử dao động không lan truyền theo hứơng truyền sóng, chúng dao

động xung quanh vị trí cân bằng của chúng. Mỗi một dao động hoàn chỉnh

được gọi là chu kỳ dao động (từ điểm bắt đầu của nó, tới một khoảng cách

tối đa theo một hứơng, sau đó trở về vị trí ban đầu, tới một khoảng cách

theo hướng ngược lại, và cuối cùng là trở về vị trí ban đầu ).

Số chu kỳ dao động được thực hiện trong một giây được gọi là tần số dao

động, đây cũng chính là tần số của âm thanh. Một trong những khác biệtPhân tích và ứng dụng chuẩn MP3

Trang 8

chính giữa hai âm thanh là sự khác biệt về cao độ, và cũng chính tần số của

âm thanh quyết định cao độ của nó .

Tần số được tính bằng Hertz (Hz), KiloHertz (kHz,1kHz=1000Hz) Một

người bình thường có thể nghe được các nguồn âm có dải tần số từ 20Hz

đến 20kHz.

2. Biên độ sóng âm

Biên độ sóng âm chính là khoảng cách dịch chuyển tối đa của các phần tử

dao động. Tương quan giữa biên độ sóng âm với các vùng loãng và vùng

đậm đặc .

Biên độ của sóng âm thể hiện mức độ dao động của các phần tử của môi

trường tạo nên sóng âm. Biên độ sóng âm càng lớn thì các phần tử dao động

có năng lượng càng lớn và âm thanh sẽ có cường độ càng lớn. Cường độ âm

thanh tỉ lệ nghịch với khoảng cách tính từ nguồn âm. Càng xa nguồn âm

cường độ âm thanh càng giảm, kết quả là tai ta nghe càng khó .

Cường độ âm được biểu diễn bởi mức áp suất âm thanh SPL (Sound

Pressure Level). Mức SPL của một nguồn âm nào đó được tính như sau:

SPL(dB)= 20 log(P/P0)

Trong đó P : áp suất của nguồn âm (N/m2)

P0: áp suất chuẩn qui chiếu, Po =2* 10-5 N/m2

pdf 69 trang chauphong 20/08/2022 11721
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Phân tích và ứng dụng chuẩn MPEG", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Luận văn Phân tích và ứng dụng chuẩn MPEG

Luận văn Phân tích và ứng dụng chuẩn MPEG
Phân tích và ứng dụng chuẩn MP3 
Trang 1 
Luận văn 
Phân tích và ứng dụng 
chuẩn MPEG 
Phân tích và ứng dụng chuẩn MP3 
Trang 2 
MỤC LỤC 
Mục lục.. ..............................................................................................1 
Lời mở đầu ..................................................................................................5 
Các thuật ngữ thường dùng ...........................................................................6 
PHẦN 1 : LÝ THUYẾT ..............................................................................7 
 CHƯƠNG I: CÁC ĐẶC ĐIỂM CƠ BẢN CỦA ÂM THANH ...............7 
 I. Các đặc tính cơ bản của âm thanh ......................................................7 
 1. Tần số sóng âm ............................................................................7 
 2. Biên độ sóng âm ..........................................................................8 
 II. Khái quát về âm thanh số .................................................................9 
 1. Lấy mẫu rời rạc thời gian, tín hiệu audio tương tự .......................9 
 2. Lượng tử hoá và các mẫu rời rạc thời gian ...................................9 
 3. Tỉ số tín hiệu trên sai số (Signal-to-error ratio) ............................10 
 CHƯƠNG II: GIỚI THIỆU VỀ MPEG .................................................11 
 I. GIỚI THIỆU .....................................................................................11 
 1. MPEG là gì? ................................................................................11 
 2. So sánh các chuẩn MPEG: ...........................................................11 
 3. Âm thanh MPEG .........................................................................12 
 4. Hoạt động: ...................................................................................13 
 II. CÁC KHÁI NIỆM CƠ BẢN VỀ MPEG. .........................................14 
 1. Lược đồ mã hóa Perceptual Subband. ..........................................14 
 2. Giải thích về hiệu qủa che (masking effect). ................................14 
 a. Nén âm thanh MPEG. .............................................................15 
 b. Hiệu quả che. .........................................................................16 
 3. Các lớp âm thanh MPEG. ...........................................................17 
 a. Lớp I (Layer I)........................................................................18 
 b. Lớp II (Layer II) .....................................................................18 
 c. Lớp III (Layer III). .................................................................19 
 III. CÁC THÔNG SỐ DÙNG TRONG MPEG.......................................20 
 1. Mode. ..........................................................................................20 
 2. Sampling Frequency (tốc độ lấy mẫu). .........................................21 
 3. Bit Rate. ......................................................................................21 
CHƯƠNG III: MÃ HÓA THỤ CẢM .......................................................23 
 I. CƠ SỞ ÂM TÂM LÝ. ..........................................................................23 
 1. Ngưỡng nghe tuyệt đối (absolute threshold of hearing) . ..............23 
 2. Các băng tới hạn(critical bands) . .................................................23 
 3. Hiện tượng che (masking) . ..........................................................24 
Phân tích và ứng dụng chuẩn MP3 
Trang 3 
 II. MÃ HÓA BĂNG PHỤ . ........................................................................26 
 III. MÃ HOÁ BIẾN ĐỔI ...........................................................................26 
 IV. MÃ HOÁ MP3 ( MP3 ENCODING) . .................................................27 
 1. Phân tích phép biến đổi Fourier nhanh (FFT analysis) . ...............27 
 2. Ngưỡng che(Masking Threshold) . ..............................................28 
 3. Băng lọc phân tích (Analysis Filterbank) . ...................................28 
 4. MDCT với cửa sổ động . .............................................................28 
 5. Chia tỉ lệ và lượng tử hóa (Scaling và Quantization) . ..................29 
 6. Mã hóa Huffman và sinh ra dòng bit (Huffman Coding and 
Bitstream Generation) . ....................................................................30 
 7. Thông tin (Side Information) . .....................................................32 
CHƯƠNG IV: GIẢI MÃ MPEG1 LỚP 3 .................................................33 
 I. GIẢI MÃ MP3 (MP3 DECODING) . .....................................................33 
 1. Định dạng khung (Frame Format) . ..............................................33 
 a. Tiêu đề . .................................................................................34 
 b. Thông tin (side infomation). ..................................................38 
 c. Dữ liệu chính (main data) .......................................................39 
 d. Dữ liệu phụ (Ancillary Data) . ...............................................40 
 2. Giải mã Huffman .........................................................................40 
 3. Lượng tử hoá lại (requantization) . ...............................................41 
 4. Sắp xếp lại thứ tự ( reordering) . ..................................................42 
 5. Giải mã stereo . ............................................................................42 
 a.Giải mã Stereo MS . ................................................................42 
 b.Giải mã cường độ stereo . ........................................................43 
 6. Giảm biệt danh (Alias Redution) . ...............................................43 
 7. IMDCT . ......................................................................................44 
 8. Khối lọc đa pha tổng hợp ( Synthesis Polyphase Filterbank) . ......46 
 II. NHÌN CHUNG VỀ HIỆU QUẢ CÁC 
 GIẢI THUẬT GIẢI MÃ MP3 . .......................................................46 
 1 . Giải mã Huffman . ......................................................................46 
 2 . Bộ lượng tử hóa lại (Requantizer) . .............................................48 
 3. Phép biến đổi cosin rời rạc cải tiến đảo ngược (IMDCT) ............51 
 4. Băng lọc đa pha ( Polyphase Filterbank) . ....................................53 
PHẦN 2: XÂY DỰNG PHẦN MỀM .........................................................57 
 CHƯƠNG I:GIAO DIỆN VÀ THUYẾT MINH CHƯƠNG TRÌNH ....57 
 1. Thanh SkinProgress ...................................................................58 
 2. Nút Minimize .............................................................................58 
 3. Nút Colse.....................................................................................58 
 4. Timer ...........................................................................................58 
 5. Tổng thời gian ............................................................................58 
 6 .Nút Open .....................................................................................58 
Phân tích và ứng dụng chuẩn MP3 
Trang 4 
 7 .Nút Play ......................................................................................58 
 8. Nút Pause ....................................................................................59 
 9. Nút Stop .....................................................................................59 
 10. Thanh tiến trình .......................................................................59 
 11. Nút Volume .............................................................................59
 CHƯƠNG II : LƯU ĐỒ GIẢI THUẬT VÀ CẤU TRÚC DỮ LIỆU .....60 
 I. SƠ ĐỒ KHỐI .......................................................................................60 
 II. LƯU ĐỒ GIẢI THUẬT ....................................................................61 
 III. CẤU TRÚC DỮ LIỆU .....................................................................63 
 1. File Agrs.h ...................................................................................63 
 a. Lớp MPArgs ..........................................................................63 
 b. Cấu trúc MPInfo ....................................................................66 
 c. Cấu trúc frame ........................................................................66 
 2. File Common.h ...........................................................................67 
 a. Cấu trúc ID3TagStruct............................................................67 
 b. Cấu trúc gr_info_s ..................................................................67 
 c. Cấu trúc bandInfoStruct .........................................................68 
 d. Cấu trúc III_sideinfo ..............................................................68 
 3. File Elsound.h..............................................................................69 
 a. Cấu trúc esInputMode ............................................................69 
 b. Cấu trúc esOutputMode..........................................................69 
 c. Cấu trúc esPlayerMode ...........................................................69 
 d. Cấu trúc esPlayerError ..........................................................69 
 4. File Huffman.h ............................................................................70 
 IV. ĐỊNH NGHĨA ...................................................................................70 
 1. Các định nghĩa dùng trong tập tin .........................70 
 2. Các định nghĩa dùng trong Player.h .............................................71 
 3. Các định nghĩa dùng trong Resource.h .........................................71 
PHẦN 3 : TỔNG KẾT ................................................................................72 
 Tài liệu tham khảo ..............................................................................73 
Phân tích và ứng dụng chuẩn MP3 
Trang 5 
LỜI MỞ ĐẦU 
Trong thời đại bùng nổ của công nghệ thông tin, việc truyền tải dữ liệu là nhu 
cầu cần thiết. Đặc biệt là việc gởi dữ liệu theo đường Internet, vì chất lượng 
đường truyền thấp nên cần phải nén dữ liệu nhỏ gọn để thuận lợi cho việc 
upload hay download. Đối với lĩnh vực âm nhạc cũng vậy, nhu cầu gởi tặng bài 
hát cho nhau , nghe nhạc trực tuyến trên mạng rất phổ biến vì vậy việc nén file 
nhạc vô cùng cần thiết để tiết kiệm đường truyền, thời gian và tiền bạc. 
Để giải quyết vấn đề này MPEG có rất nhiều chuẩn để nén như MPEG 1, 
MPEG 2, dùng để nén file theo nhiều cách khác nhau. Một trong những 
chuẩn phổ biến là chuẩn MPEG 1, trong khuôn khổ đề tài này chúng em chỉ 
tìm hiểu về chuẩn MPEG 1 Layer 3 hay còn gọi là mp3 và minh hoạ bằng một 
chương trình giải mã file mp3, sau đó phát ra loa. 
Phân tích và ứng dụng chuẩn MP3 
Trang 6 
 ... U TRÚC DỮ 
LIỆU 
I. SƠ ĐỒ KHỐI 
 Start Init_ MPEGDecoder() 
Khởi tạo input stream record 
 Chuẩn bị vùng đệm 
 Chuẩn bị thiết bị phát 
 S 
 Đ 
Thay đổi hay giữ 
nguyên cấu hình 
InitStream() 
Reset vị trí dòng 
bit về zero 
Reset_Stream() 
Đặt input file; 
Mở input file và kiểm tra 
OpenNew(); 
Lấy vào cấu hình mặc 
định 
Dùng bảng mã Huffman 
để giải mã dòng 
bit,thông tin dữ liệu và 
hệ số tỉ lệ 
III_scale_factor_1() 
III_scale_factor_2() 
III_side_info_1() 
III_side_info_2() 
memset() 
ReadFrame()0 
Lượng tử hóa lại và sắp xếp 
lại thông tin dữ liệu 
III_dequantize_sample() 
III_dequantize_sample_ms() 
Reset thiết bị phát 
Kết thúc 
do_layer3() 
AudioFlush() 
Phân tích và ứng dụng chuẩn MP3 
Trang 58 
Qua biến đổi IMDCT 
II. LƯU ĐỒ GIẢI THUẬT 
Lưu đồ giãi thuật của tần lọc đa pha khi tổng hợp subband (Subband 
Synthesis) dùng phép biến đổi cosin rời rạc nhanh 32_điểm (32_point Fast 
DCT ) 
Giải mã âm thanh 
III_i_stereo() 
Giảm bớt biệt danh 
III_antialias() 
Tổng hợp lại các tầng 
lọc đa pha 
SynthesisFilterInit() 
Đưa ra thiết bị phát 
(right+left) 
Phân tích và ứng dụng chuẩn MP3 
Trang 59 
 S 
 Đ 
 S 
 Đ 
 Sk = Các mẫu subband (Subband Samples) 
Begin 
i=0 
k=0 
i<31 
End 
k<31 
V’i =
31
0k
S
kcos[π/64(2k-1)i] 
k++ 
i++ 
Phân tích và ứng dụng chuẩn MP3 
Trang 60 
Sơ đồ giải thuật của tần lọc đa pha sau khi tổng hợp 32 subband : 
 S 
 Đ 
 S 
 Đ 
 Sk = Các mẫu subband (Subband Samples) 
III. CẤU TRÚC DỮ LIỆU 
1. File Agrs.h 
a. Lớp MPArgs 
Sử dụng : khai báo các biến cần thiết cho quá trình lấy file vào , xuất 
file ra thiết bị phát , truy xuất các thông tin về cấu hình file. Vị trí 
player hiện tại trong frame, vị trí bắt đầu khung, kết thúc khung. 
Ngoài ra còn lưu trữ tốc độ lấy mẫu, kích thước buffer. 
class MPArgs { 
public: 
 unsigned long CurrentPos; // Vị trí player hiện tại trong 
frames 
Begin 
i=0 
k=0 
i< 64 
End 
k<31 
Vi =
31
0k
S
kcos[(16+i)(2k+i)π/64] 
k++ 
i++ 
Phân tích và ứng dụng chuẩn MP3 
Trang 61 
 unsigned long StartFrame, StartPos, 
 EndFrame, EndPos; 
 unsigned long SampleRate; // Tốc độ lấy mẫu 
 unsigned long BufferSize; // Kích thước của buffer xuất 
 unsigned long Buffers; // Số buffers 
 long Channels; // Channels(1=mono;2=stereo) 
 long AudioBits; // Số Bits trên sample(mẫu) ví dụ 16 
bit 
 long AudioDevice; // Số thiết bị audio sẽ được mở ra 
 long AudioMode; // Kiểu Audio (ví dụ 16bit tín hiệu) 
long ScaleFactor; // Hệ số tỉ lệ output 
 long ForceFreq; 
 bool TryResync; // Resync on bad data? 
 bool Seekable; 
 bool IsVBR; //Dùng xác định chiều dài của stream 
 bool UseHdrCB; // Dùng xuất ra header 
 char *InName; // Đưa tên file vào stream 
 char *OutName; // Xuất ra tên file 
 long OutDeviceNum; // Số thiết bị xuất ra MMSystem 
 long ForceMono; // Force mono output? 
 long Force8bit; // Force 8-Bit output? 
 long ForceStereo; // Force stereo output? 
 long DownSample; // 
 long PlayPriority; // thực thi thread ưu tiên 
 void *Player; 
 void *Decoder; 
 esInputMode InputMode; 
 esOutputMode OutputMode; 
 WaveOutCB BufferCB; 
 WaveOutActionCB OutActionCB; 
 InFileOpenCB InOpenCB; 
 InFileCloseCB InCloseCB; 
 InFileGetSizeCB InGetSizeCB; 
 InFileSeekCB InSeekCB; 
 InFileReadCB InReadCB; 
 // Người dùng định nghĩa dữ liệu xuất 
 unsigned long OutCBData; 
 // Người dùng định nghĩa dữ liệu nhập 
 unsigned long InCBData1; 
 unsigned long InCBData2; 
 HWND wnd; 
//Gán các hằng cho các đối tượng 
 MPArgs() { 
Phân tích và ứng dụng chuẩn MP3 
Trang 62 
 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; 
 } 
 ~MPArgs() { 
 if (InName) free(InName); 
 if (OutName) free(OutName); 
 } 
}; 
b. Cấu trúc MPInfo 
Lưu trữ các thông tin về header của frame. 
struct MPInfo { 
 long stereo_mode; 
 long layer; 
Phân tích và ứng dụng chuẩn MP3 
Trang 63 
 long bitrate; 
 long frequency; 
}; 
c. Cấu trúc frame 
Sử dụng lưu trữ các thông tin về header của 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; 
 long mode; 
 long mode_ext; 
 long copyright; 
 long original; 
 long emphasis; 
}; 
2. File Common.h 
Trong chương trình các cấu trúc này dùng ở giai đoạn lấy thông tin dữ liệu vào 
giải mã thông tin các thông tin cần thiết như :hệ số tỉ lệ ,lượng tử hóa lại các 
mẫu , âm thanh (stereo), giảm bớt biệt danh. 
a. Cấu trúc ID3TagStruct 
Phân tích và ứng dụng chuẩn MP3 
Trang 64 
struct ID3TagStruct { 
 char TagHeader[3]; 
 char Title[30]; 
 char Artist[30]; 
 char Album[30]; 
 char Year[4]; 
 char Comment[30]; 
 unsigned char Genre; 
}; 
b. Cấu trúc gr_info_s 
Lưu trữ các thông số về phương pháp mã hoá 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; 
 unsigned scalefac_scale; 
 unsigned count1table_select; 
 real *full_gain[3]; 
 real *pow2gain; 
}; 
c. Cấu trúc bandInfoStruct 
struct bandInfoStruct { 
 int longIdx[23]; 
 int longDiff[22]; 
 int shortIdx[14]; 
 int shortDiff[13]; 
}; 
d. Cấu trúc III_sideinfo 
struct III_sideinfo 
Phân tích và ứng dụng chuẩn MP3 
Trang 65 
{ 
 unsigned main_data_begin; 
 unsigned private_bits; 
 struct { 
 struct gr_info_s gr[2]; 
 } ch[2]; 
}; 
3. File Elsound.h 
Dùng các cấu trúc này trong chương trình để lưu trữ các biến điều khiển và 
các biến dùng để lưu trữ lỗi. Ngoài ra còn lưu trữ mode hiện tại là Closed, 
Opened,Ready, Stopped, Playing, Change, Paused để hiểu được chương 
trình đang xử lý ở trạng thái nào. 
a. Cấu trúc esInputMode 
enum esInputMode { 
 imFile, 
 imCallback 
}; 
b. Cấu trúc esOutputMode 
enum esOutputMode { 
 omMMSystem, 
 omWaveFile, 
 omDirectSound, 
 omCallback 
}; 
c. Cấu trúc esPlayerMode 
enum esPlayerMode { 
 pmClosed, 
 pmOpened, 
 pmReady, 
 pmStopped, 
 pmPlaying, 
 pmChange, 
 pmPaused 
}; 
d. Cấu trúc esPlayerError 
Phân tích và ứng dụng chuẩn MP3 
Trang 66 
enum esPlayerError { 
 peNoError, 
 peNotImplemented, // không thực thi 
 peIncorrectMode, // không đúng mode cho việc thực thi hoạt 
động 
 peInternalError, // không cấp phát được nguồn tài nguyên 
hoặc resource 
 peInvalidHandle, // xử lý đối tượng player sai 
 peInputError, 
 peOutputError, 
 peNoMemory, 
 peNoResources, 
 peNoCallback 
}; 
4. File Huffman.h 
Sử dụng trong quá trình giải mã theo giải thuật Huffman gồm: bảng 
Huffman, linbit. 
struct newhuff 
{ 
 unsigned int linbits; 
 short *table; 
}; 
IV. ĐỊNH NGHĨA 
1. Các định nghĩa dùng trong tập tin 
#define COMMON_H 
#define real double 
#define NEW_DCT9 
#define M_PI 3.14159265358979323846 
#define M_SQRT2 1.41421356237309504880 
#define SBLIMIT 32 
#define SCALE_BLOCK 12 
#define SSLIMIT 18 
2. Các định nghĩa dùng trong Player.h 
//Định nghĩa che header 
#define HDRCMPMASK 0xfffffd00 
Phân tích và ứng dụng chuẩn MP3 
Trang 67 
//Kích thước tối đa của frame 
#define MAXFRAMESIZE 1792 
#define MPG_MD_STEREO 0 
#define MPG_MD_JOINT_STEREO 1 
#define MPG_MD_DUAL_CHANNEL 2 
#define MPG_MD_MONO 3 
3. Các định nghĩa dùng 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 
Phân tích và ứng dụng chuẩn MP3 
Trang 68 
 PHẦN 3 :TỔNG KẾT 
Đây là chương trình phân tích và viết ứng dụng về chuẩn mp3, nhưng 
chương trình chỉ ở giai đoạn giải mã file mp3 và phát ra loa , chúng em 
chỉ tìm hiểu được những chức năng đơn giản như : 
 Mở file mp3, phát ra loa file đó. 
 Tạm dừng file mp3 đang phát . 
 Ngừng file đang phát và chọn file mới để phát chẳng hạn. 
 Người sử dụng chương trình chỉ mở và phát ra loa được một file 
duy nhất và sau đó người sử dụng phải mở lại một file mp3 khác. 
 Điều chỉnh được volume . 
 Điều khiển được tiến trình của bài hát. 
 Hiện được tổng thời gian và vị trí thời gian hiện tại của mỗi bài 
hát . 
 Hạn chế 
 Vì thời gian có hạn nên chương trình còn nhiều hạn chế : 
 Chưa có chức năng bass, treble hay điều chỉnh độ cân bằng 
(balance). 
 Chưa chọn được danh sách nhiều bài hát và phát liên tục các bài 
hát đó . 
 Chưa có chức năng lặp lại một bài hát, vv 
 Hướng phát triển 
Trong tương lai chúng em sẽ phát triển thành chương trình nghe nhạc mp3 
hoàn thiện hơn , sẽ có nhiều chức năng hơn như : 
 Chọn được một danh sách các file mp3 và phát liên tục các file 
mp3 đó. 
 Hay điều chỉnh được bass, treble, hay điều chỉnh được độ cân bằng 
của volume. 
 Lặp lại một bài hát hay các chức năng khác như trong những 
chương trình nghe nhạc phổ biến hiện nay như :Winamp, Herosoft 
,.. 
 TÀI LIỆU THAM KHẢO 
 Ken C. Pohlmann, “ Principles of Digital Audio” , McGraw Hill – 2000. 
 Trang web  
 K.Lagerström, “Design and Implementation of MPEG-1 Layer III Audio 
Decoder” , April 2001. 
Phân tích và ứng dụng chuẩn MP3 
Trang 69 
[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 . 

File đính kèm:

  • pdfluan_van_phan_tich_va_ung_dung_chuan_mpeg.pdf