Phương pháp mã hoá và nén âm thanh theo chuẩn Mpeg potx - Pdf 12

Website: http://www.tailieu.vn

Phương pháp mã hoá và
nén âm thanh theo
chuẩn Mpeg
Website: http://www.tailieu.vn

Lời nói đầu

Công nghệ thông tin là ngành công nghiệp mũi nhọn của thế giới nói
chung và của việt nam nói riêng, nó đã phát triển mạnh mẽ không ngừng trong
những năm gần đây. Khi đời sống được nâng lên khoa học kỹ thuật phát triển
nhu cầu về giải trí cũng đa dạng lên, các loại hình giải trí không ngừng gia tăng

Mục tiêu của đề tài chủ yếu chỉ để tìm hiểu về các phương pháp mã hoá
và nén âm thanh theo chuẩn Mpeg, từ đó dựa trên một số source code (viết bằng
C) đã có trên mạng Internet viết lại bằng ngôn ngữ Visual C++, nhằm hiểu sâu
hơn về giải thuật, đồng thời tạo ra một giao diện thân thiện hơn.
Do trình độ và kiến thức có hạn nên không tránh khỏi những thiếu sót, em
kính mong thầy tham gia và giúp đỡ em để em hoàn thành được tốt hơn.
Em xin chân thành cám ơn thầy đã tạo điều kiện thuân lợi nhất giúp em
hoàn thành báo cáo này.

Website: http://www.tailieu.vn
c. Một số khái niệm về sóng:
 Nguồn sóng: là ngoại vật gây ra kích động sóng.
 Tia sóng: là phương truyền sóng.
 Môi trường sóng: là không gian mà sóng truyền qua.
 Mặt sóng: là mặt chứa những điểm (phân tử) có cùng trạng thái
dao động tại một thời điểm nào đó. Tia sóng luôn vuông góc với mặt
sóng.
Website: http://www.tailieu.vn

 Sóng cầu: mặt sóng là những mặt cầu phân bố đều trong không
gian, tâm là nguồn sóng. Trong môi trường đồng chất và đẳng hướng sẽ
có sóng cầu. Đối với sóng cầu tia sóng trùng với bán kính của mặt cầu.
 Sóng phẳng: mặt sóng là những mặt phẳng song song nhau, tia
sóng vuông góc với mặt sóng. Nếu nguồn sóng ở rất xa môi trường đang
xét thì mặt sóng có thể coi là những mặt phẳng song song.
 Sóng dọc: là sóng trong đó các phân tử của môi trường dao động
quanh vị trí cân bằng trên phương trùng với tia sóng. Khi có sóng dọc,
trên phương của tia sóng các phân tử của môi trường khi thì bị nén chặt,
khi thì giãn ra làm cho các phân tử của môi trường có chỗ dày chỗ thưa.
 Sóng ngang: là sóng trong đó các phân tử của môi trường dao
động quanh vị trí cân bằng trên phương vuông góc với tia sóng.
d. Nguyên nhân gây ra sóng ngang và sóng dọc:
 Tùy tính chất của môi trường đàn hồi mà trong đó có thể xuất
hiện sóng ngang hay sóng dọc.
- Khi một lớp của môi trường bị lệch đối với lớp khác làm xuất hiện
các lực đàn hồi có xu hướng kéo lớp bị lệch về vị trí cân bằng thì trong
môi trường đó có thể truyền được sóng ngang. Vậy vật rắn là một môi
trường có tính chất đó.
- Nếu trong môi trường không có các lực đàn hồi khi các lớp song
song bị lệch đối với nhau thì sóng ngang không thể hình thành được. Chất

 Đối với sóng cầu thì biên độ a của dao động sóng tại vị trí cách
nguồn bằng bán kính r, tỉ lệ nghịch với r, phương trình sóng có dạng:
X =
a
/
r
sin(t – r/c)
II. SÓNG ÂM.
2.1. Dao động âm và sự truyền dao động.
 Sóng âm là một loại sóng cơ có biên độ dao động nhỏ mà thính
giác nhận biết được. Thí dụ dao động phát ra từ dây đàn, mặt trống đang
rung động. Sóng âm là một loại sóng cơ nên mọi khái niệm và hiện tượng
về dao động và sóng cơ trên đây đều áp dụng cho sóng âm.
Website: http://www.tailieu.vn

 Trong không khí cũng như trong mọi chất khí khác, những dao
động truyền đi dưới dạng sóng dọc, khi đến tai người những dao động có
tần số từ 16 đến 20000 Hz sẽ gây cảm giác đặc biệt về âm.
 Các dao động đàn hồi có tần số f>20.000 Hz là sóng siêu âm.
 Các dao động đàn hồi có tần số f<16 Hz là sóng hạ âm
 Mỗi âm có một tần số riêng, đơn vị của tần số là héc (Hz) với
định nghĩa:”Héc là tần số của một qúa trình dao động âm trong đó mỗi
giây thực hiện được một dao động”.
1 Héc (Hz) = 1 dao động / 1 giây
 Việc phân chia sóng hạ âm, sóng siêu âm và sóng âm (âm thanh)
liên quan tới khả năng sinh lý của thính giác
2.2. Đơn vị vật lý của âm thanh.
 Âm thanh hay tiếng động mà con người nhận biết được do tác
động của sóng âm lên màng nhĩ tai.
 Các dao động âm phát ra từ nguồn lan truyền trong môi trường

2
Còi ô-tô I = 5 W/m
2

Còi báo động I = 3.000 W/m
2
- Trong điều kiện chuẩn (t
o
= 20
o
C, áp suất 760mmHg):
Vận tốc âm trong không khí : C = 340 m/s
 = 0,00121 gr/cm
3
.
 = C
p
/C
v
= 1,4
- Trong tính toán người ta quy ước lấy âm đơn tần số f = 1000 Hz
làm chuẩn để so sánh (gọi là âm chuẩn).
- Đối với âm chuẩn, trong phạm vi nghe được
Áp suất âm nhỏ nhất P
min
= 2.10
-4
bar
Cường độ âm nhỏ nhất I
min

có tần số khác nhau gây ra cảm giác khác nhau.
Website: http://www.tailieu.vn

 Cường độ âm nhỏ nhất của một sóng âm xác định mà tai người
nghe thấy được gọi là “Ngưỡng nghe”. Aâm có tần số khác nhau giá trị
ngưỡng nghe cũng khác nhau. Tai người thính nhất với âm có tần số trong
khoảng từ 1000 đến 3000 Hz, trong phạm vi này cường độ âm ngưỡng
nghe nhỏ nhất. Những tần số khác, tai kém thính hơn, ngưỡng nghe có giá
trị lớn hơn.
 Đối với âm chuẩn, cường độ và áp suất ở ngưỡng nghe bằng:
P
o
= 2.10
-5
N/ m
2
.
I
o
= 10
-12
W/m
2
.
 Do cảm giác âm thanh phụ thuộc vào đặc tính sinh lý của tai
người, cho nên phải có một số đại lượng đặc trưng cho cảm giác âm thanh
phụ thuộc vào tai người, những đại lượng như vậy gọi là đại lượng âm chủ
quan.
a. Bel và decibel (db):
Theo định lý sinh lý của Vebe-Fécne, cảm giác nghe to đối với một

I tính bằng W/m
2
.
c. Mức áp suất âm (Lp):
Mức áp suất âm suy dẫn từ mức cường độ âm Lp = 20lg(P/P
o
) db.
Trong đó:
Website: http://www.tailieu.vn

P :áp suất âm có ích của âm đang xét (N/m2)
P
o
:áp suất âm của âm chuẩn ở ngưỡng nghe.
Thực tế áp suất âm là đại lượng cơ bản hơn cường độ âm, nên
thường dùng mức áp suất âm sau đó suy ra mức cường độ âm. Đơn vị
chung là bel hay db. Đơn vị này cũng dùng để đo mức công suất, mức
năng lượng âm.
Vài mức áp suất âm đáng chú ý :
Nói chuyện thường : 30db.
Nói chuyện to : 70db.
2.2.3. Quãng độ cao (quãng tần số):
 Quãng tần số của hai âm là khoảng cách tần số của hai âm đó.
Nếu một âm tần số là f
1
, một âm khác tần số là f
2
(f
2
> f

 Chẳng hạn âm LA, tần số f=440 Hz tăng 1 bát độ là tăng gấp đôi
tần số, tức là 880 Hz.
 Trong thực tế thường gặp những âm phức tạp bao gồm nhiều tần
số. Tập hợp tất cả những tần số cấu tạo trong một âm thanh gọi là “tần
phổ” của âm đó, tần phổ có thể gián đoạn hay liên tục. Một âm có tần phổ
liên tục được đặc trưng bằng “Mức tần phổ B” với định nghĩa:
Website: http://www.tailieu.vn

- Mức tần phổ là mức áp suất âm trong chiều rộng của dải tần số
bằng 1.
- Một âm có mức tần phổ B không đổi với mọi tần số gọi là tiếng
ồn trắng.
- Một âm có tần phổ gián đoạn được đặc trưng bằng “mức dải tần
số” với định nghĩa: mức dải tần số là mức áp suất âm trong chiều rộng của
dải tần số lớn hơn 1 Hz.
2.3. Đặc tính sinh lý về sự cảm thụ âm thanh.
2.3.1. Mức to, độ to, mức âm cảm giác:
 Mức áp suất âm, mức cường độ âm trên đây vừa mang tính chất
chủ quan vừa mang tính chất khách quan vì những đại lượng này xác định
từ những đại lượng thuần túy vật lý. Vấn đề có ý nghĩa to lớn trong thực
tế là cần biết được sức mạnh của âm thanh đo bằng tai người.
 Mức to, độ to của một âm là sức mạnh cảm giác do âm thanh
gây nên trong tai người, nó không những phụ thuộc vào áp suất âm mà
còn phụ thuộc vào tần số của âm đó. Thí dụ 2 âm có tần số 100 Hz và
1000 Hz áp suất âm đều bằng 0,02 bar nhưng nghe to nhỏ khác nhau, âm
1000 Hz nghe to hơn âm 100 Hz. Muốn nghe to bằng âm 1000 Hz thì âm
100 Hz phải có áp suất bằng 0,25 bar. Như vậy tai người không nhạy đối
với âm 100 Hz bằng âm 1000 Hz. Tần số càng thấp tai người càng kém
nhạy.
a. Mức to:

trong hay đục. Âm sắc phụ thuộc vào cấu tạo của sóng âm điều hòa, biểu
thị bằng số lượng các loại tần số, cường độ và sự phân bố của chúng
quanh âm cơ bản. Âm sắc có quan hệ mật thiết với cường độ, âm điệu và
thời gian âm vang, sự trưởng thành và tắt dần của trường âm.
 Khi hai ca sĩ cùng hát một câu ở cùng một độ cao, ta vẫn phân
biệt được giọng hát của từng người. Khi đàn ghi-ta, sáo, kèn cùng tấu lên
một đoạn nhạc ở cùng một độ cao, ta vẫn phân biệt được tiếng của từng
Website: http://www.tailieu.vn

nhạc cụ. Mỗi người, mỗi nhạc cụ phát ra những âm có sắc thái khác nhau
mà tai ta phân biệt được. Đặc tính đó của âm chính là âm sắc.
 Âm sắc là một đặc tính sinh lý của âm, được hình thành trên cơ
sở các đặc tính vật lý của âm là tần số và biên độ. Thực nghiệm chứng tỏ
rằng khi một nhạc cụ phát ra một âm có tần số f1 thì đồng thời cũng phát
ra các âm có tần số f2=2f1, f3=3f1
 Âm có tần số f1 gọi là âm cơ bản hay họa âm thứ nhất, các âm
có tần số f2 , f3 gọi là các họa âm thứ hai, thứ ba Âm cơ bản bao giờ
cũng mạnh nhất, các họa âm có tác dụng quyết định âm sắc của âm cơ
bản, giúp ta phân biệt các nguồn âm khác nhau. Chẳng hạn tiếng đàn Pi-a-
nô và tiếng sáo tuy cùng một âm cơ bản nhưng lại rất dễ phân biệt,
nguyên nhân là do số lượng, cấu trúc những họa âm quanh âm cơ bản của
chúng khác nhau. Họa âm càng nhiều âm nghe càng du dương phong phú.
3. Thính giác định vị (hiệu ứng Stereo):
 Khi nghe âm tuy mắt không nhìn thấy nguồn âm nhưng có thể
xác định chính xác vị trí của nguồn âm. Đặc điểm này là kết qủa của hai
tác dụng:
- Do cường độ, độ to, âm sắc của âm đến hai tai không giống nhau.
- Do âm đến hai tai lệch pha nhau, vì thời gian đến hai tai không
giống nhau.
 Cường độ, độ to của âm đến hai tai chênh lệch nhau là do nhiễu

 Với Multimedia Windows, hãng Microsoft đã thực hiện được ba
điều :
 Định nghĩa một tiêu chuẩn phần cứng tối thiểu cho loại máy
Multimedia PC (viết tắt là MPC). Tiêu chuẩn này dựa trên chức năng tổng
quát hơn là sản phẩm cụ thể. Ví dụ nếu PC có thêm ổ đĩa CD-ROM và
một card âm thanh thì trở thành MPC cấp 1.
 Microsoft đã cung cấp phần mềm Multimedia Extension cho
Windows 3.0 và đã được ghép luôn vào hệ điều hành Windows từ phiên
bản 3.1. Phần mềm này bao gồm các bộ điều khiển thiết bị dành cho việc
truy xuất đến các phần cứng gắn thêm vào MPC.
 Microsoft đưa ra công cụ phát triển Multimedia Development Kit
(MDK). Lập trình viên kết hợp công cụ trên với bộ Windows Software
Development Kit (SDK) để viết các ứng dụng về Multimedia.
 Có hai dạng xử lý âm thanh số hóa trên Windows. Loại thứ nhất
microsoft gọi là “Wave Form Audio” (Aâm thanh dạng sóng), dựa trên
nguyên tắc số hóa sóng âm, MPC lưu chúng trên bộ nhớ hay tập tin
Website: http://www.tailieu.vn

.WAV trên đĩa. Các dữ liệu số này có thể thông qua phần cứng biến đổi
lại thành âm thanh.
 Dạng thứ hai là MIDI. Khác với âm thanh dạng sóng, MIDI chỉ
lưu lại những thông điệp điều khiển bộ tổng hợp phát ra âm thanh. Do đó
kích thước của tập tin .MID nhỏ hơn nhiều so với tập tin.WAV.
II. CẤU TRÚC WAVE FILE.
1. RIFF file.
Wave File là tập tin chứa các dữ liệu của mẫu âm thanh đã được số
hóa. Phương pháp số hóa âm thanh hiện nay là phương pháp PCM.
Phương pháp này sẽ lấy mẫu âm thanh với tần số khoảng 11.025 kHz cho
đến 44.1 kHz. Mỗi lần lấy mẫu, số liệu này lại được lượng tử hóa bằng
một hay hai byte cho một mẫu âm thanh. Như vậy tần số lấy mẫu càng

Hai subchunk trong wave chunk đặc tả thông tin về âm thanh của
wave file và tiếp đó là dữ liệu của từng subchunk. Đó là subchunk “fmt”
và subchunk “data”.
a. subchunk “fmt”:
Dữ liệu của “fmt” chunk là đối tượng WAVEFORMAT có cấu trúc
như sau:
Typedef struct waveformat_tag
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT;
- wFormatTag thường có giá trị là WAVE_FORMAT_PCM được
định nghĩa trong tập tin MMSYSTEM.H như sau :
#define WAVE_FORMAT_PCM 1
Website: http://www.tailieu.vn

Giá trị này báo cho phần mềm đang đọc Wave File biết kiểu mã
hóa dữ liệu âm thanh sang dữ liệu số là kiểu mã hóa PCM. Hiện nay đây
là kiểu mã hóa duy nhất của Wave file.
- nChannels: có hai giá trị bằng 1 cho âm thanh mono và bằng 2
cho âm thanh stereo.
- nSamplesPerSec: cho biết tốc độ lấy mẫu, có các giá trị:
11025 11.025 kHz
22050 22.050 kHz
44100 44.100 kHz
- nAvgBytesPerSec: cho biết số bytes yêu cầu trung bình trong một
giây để phát lại mẫu dữ liệu của sóng âm.

kênh bên trái, byte sau (byte lẻ) là của kênh bên phải. Tóm laị cấu trúc của Wave File như sau:

ch thước
(số byte)
Giá trị Tên trường
4

“RIFF”4 Kích thước file RIFF4 “WAVE”
4 “fmt”
4 Kích thước subchunk
“fmt”

2 Kiểu mã hóa dữ liệu
của file wave (thường là
PCM)
WORD
nFormatTag
2 Số kênh : 1 - mono
2 - stereo
WORD
nChannels

/*báo lỗi*/
return(0);
}
Thông số path chứa đường dẫn của file wave. Cờ MMIO_READ
báo cho mmioOpen mở file để đọc. Ta cũng có thể mở nó để ghi bằng
thông số MMIO_WRITE hay cả đọc và ghi bằng thông số
MMIO_READWRITE. Nếu mở file thành công, mmioOpen sẽ trả về một
Website: http://www.tailieu.vn

handle loại HMMIO. Nếu thất bại, nó sẽ trả về trị NULL. Sau khi mở file
xong, ta bắt đầu định vị WAVE chunk bằng đoạn mã sau:
MMCKINFO mmParent;
MmParent.fccType=mmioFOURCC(‘W’,’A’,’V’,’E’);
If (mmioDescend(h,(LPMMCKINFO)&mmParent, NULL,
MMIO_FINDRIFF))
{
mmioClose(h,0);
/* báo lỗi */
return(0);
}
Cấu trúc của MMCKINFO chứa các thông tin về chunk. Nó được
định nghĩa trong MMSYSTEM.H như sau:
Typedef struct
{
FOURCC ckid;
DWORD cksize;
FOURCC fcctype;
DWORD dwDataOffset;
DWORD dwFlags;
} MMCKINFO;

sizeof(PCMWAVEFORMAT));
if(mmioRead(h,(HPSTR)&waveformat,
(long)n) !=(long)n)
{
/* báo lỗi */
return(0L);
}
if(waveformat.wf.wFormatTag !=WAVE_FORMAT_PCM)
{
Website: http://www.tailieu.vn

/* báo lỗi */
mmioClose(h,0);
return(0L);
}
Đối số đầu tiên của mmioRead là handle của file đang đọc. Đối số
thứ hai là con trỏ xa trỏ tới vùng đệm để chứa dữ liệu. Đối số thứ ba là số
byte cần đọc. Hàm này sẽ trả về số byte thực sự đọc được.
 Sau khi đã đọc nội dung của chunk, ta đi ra khỏi chunk để chuẩn
bị đọc chunk kế tiếp:
MmAscend(h,(LPMMCKINFO)&mmSub,0);
Đối số thứ hai của mmAscend là đối tượng MMCKINFO của
chunk mà ta “đi ra”. Đối số thứ ba là đối số giả.
 Công việc còn lại là đọc dữ liệu mã hóa mẫu âm thanh của
Wave file vào bộ nhớ. Chú ý rằng giá trị cksize trả về bởi mmioDescend
được sử dụng để xác định kích thước vùng đệm cần cấp phát để chứa dữ
liệu.
GLOBALHANDLE wavehandle;
HPSTR wavepointer;
MmSub.ckid=mmioFOURCC(‘d’,’a’,’t’,’a’);

{
GlobalUnlock(wavehandle);
GlobalFree(wavehandle);
mmioClose(h,0);
/* báo lỗi */
return(0);
}
GlobalUnlock(wavehandle);


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status