Tài liệu Phương pháp mã hoá và nén âm thanh theo chuẩn Mpeg: ... Ebook Phương pháp mã hoá và nén âm thanh theo chuẩn Mpeg
89 trang |
Chia sẻ: huyen82 | Lượt xem: 1676 | Lượt tải: 0
Tóm tắt tài liệu Phương pháp mã hoá và nén âm thanh theo chuẩn Mpeg, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Muïc luïc 1
Lôøi noùi ñaàu 3
PHAÀN I . LYÙ THUYEÁT 4
CHÖÔNG 1. CAÙC KIEÁN THÖÙC CÔ BAÛN VEÀ AÂM THANH 5
I. NHÖÕNG KHAÙI NIEÄM CÔ BAÛN - SOÙNG CÔ 6
1.1. Söï hình thaønh soùng trong moâi tröôøng ñaøn hoài 6
1.2. Caùc ñaëc tröng cuûa soùng. 7
1.3. Phöông trình soùng. 8
II. SOÙNG AÂM VAØ ÑAËC TÍNH AÂM THANH. 8
2.1 Dao ñoäng aâm vaø söï truyeàn dao ñoäng. 8
2.2 Ñôn vò vaät lyù cuûa aâm thanh. 9
2.3. Ñaëc tính sinh lyù veà söï caûm thuï aâm. 12
CHÖÔNG 2. WAVE FILE. 16
I. MULTIMEDIA WINDOWS. 16
II. CAÁU TRUÙC WAVE FILE. 17 2.1 RIFF file. 17
2.2 Caáu truùc File Wave. 17
III. ÑOÏC RIFF FILES 21
CHÖÔNG 3. LYÙ THUYEÁT XÖÛ LYÙ TÍN HIEÄU SOÁ 25
I. TÍN HIEÄU VAØ HEÄ THOÁNG RÔØI RAÏC 25
1. Giôùi thieäu 25
2. Ñaùp öùng xung trong heä TTBB 25
3. Tính chaát cuûa toång chaäp cuûa heä TTBB 26
4. Heä nhaân quaû 27
5. Tính oån ñònh 27
6. Phöông trình sai phaân tuyeán tính heä soá haèng 28
7. Bieåu dieãn caùc heä rôøi raïc trong mieàn taàn soá 28
8. Ñònh lyù laáy maãu Shannon 30
II. PHEÙP BIEÁN ÑOÅI FOURIER RÔØI RAÏC 30
1. Chuoãi Fourier rôøi raïc cuûa tín hieäu rôøi raïc tuaàn hoaøn 30
2. Bieán ñoåi Fourier rôøi raïc cuûa tín hieäu coù ñoä daøi höõu haïn 31
3. Pheùp bieán ñoåi nhanh Fourier (FFT) 32
CHÖÔNG 4. GIÔÙI THIEÄU VEÀ MPEG. 33
I. GIÔÙI THIEÄU. 33 1. MPEG laø gì? 33 2. So saùnh caùc chuaån MPEG 33 3. Aâm thanh MPEG 34 4. Caùc khaùi nieäm cô baûn 35
5. Hoaït ñoäng 38
II. CAÙC KHAÙI NIEÄM TRONG AÂM THANH MPEG 40 1. Löôïc ñoà maõ hoùa Perceptual Sub-band 40 2. Giaûi thích hieäu quûa che (masking efficiency) 41
3. Caùc lôùp cuûa aâm thanh MPEG 43
III. CAÙC THOÂNG SOÁ. 45
CHÖÔNG 5. CAÙC GIAÛI THUAÄT NEÙN AÂM THANH 50
I. LYÙ THUYEÁT THOÂNG TIN 50
II. CAÙC GIAÛI THUAÄT NEÙN KHOÂNG COÙ TOÅN THAÁT 51
1. Maõ hoùa Huffman 51
2. Maõ hoùa Huffman söûa ñoåi 53
3. Maõ hoùa soá hoïc 54
4. Giaûi thuaät Lempel-Ziv-Welch (LZW) 55
III. CAÙC GIAÛI THUAÄT NEÙN COÙ TOÅN THAÁT 57
1. Caùc phöông phaùp neùn aâm thanh ñôn giaûn 57
2. Neùn aâm thanh duøng moâ hình aâm taâm lyù 57
3. Neùn aâm thanh theo chuaån MPEG 58
PHAÀN II. THIEÁT KEÁ CHÖÔNG TRÌNH 60
CHÖÔNG 6. LÖU ÑOÀ GIAÛI THUAÄT VAØ CAÁU TRUÙC DÖÕ LIEÄU 61
I. SÔ ÑOÀ KHOÁI. 61
II. CAÁU TRUÙC DÖÕ LIEÄU VAØ ÑÒNH NGHÓA 62
CAÁU TRUÙC DÖÕ LIEÄU 62
Caùc caáu truùc veà file 62
Caùc caáu truùc veà doøng bít döõ lieäu 63
Caùc caáu truùc ñeå ñònh daïng doøng bít döõ lieäu 63
Caùc caáu truùc huffmancodetab. 67
Caùc caáu truùc tính MDCT 67
Caùc caáu truùc scalefac_struct 67
B. CAÙC ÑÒNH NGHÓA 68
Caùc ñònh nghóa duøng trong truy xuaát döõ lieäu 68
Caùc ñònh nghóa duøng trong tính toaùn FFT 68
Caùc ñònh nghóa duøng trong ñònh daïng doøng döõ lieäu 68
Caùc ñònh nghóa duøng trong boä maõ hoaù Huffman 68
Caùc ñònh nghóa duøng trong phaân tích döõ lieäu 69
Caùc ñònh nghóa duøng trong moâ hình aâm taâm lyù 69
Caùc ñònh nghóa duøng trong truy xuaát nhaäp döõ lieäu 69
Caùc ñònh nghóa duøng trong caáu truùc file Wave vaø file Mpeg 69
III. LÖU ÑOÀ 71
CHÖÔNG 7: GIAO DIEÄN VAØ THUYEÁT MINH CHÖÔNG TRÌNH 75
GIÔÙI THIEÄU 75
GIAO DIEÄN 75
III.CHÖÔNG TRÌNH 77
TAØI LIEÄU THAM KHAÛO 87
Lôøi noùi ñaàu
Coâng ngheä thoâng tin laø ngaønh coâng nghieäp muõi nhoïn cuûa theá giôùi noùi chung vaø cuûa vieät nam noùi rieâng, noù ñaõ phaùt trieån maïnh meõ khoâng ngöøng trong nhöõng naêm gaàn ñaây. Khi ñôøi soáng ñöôïc naâng leân khoa hoïc kyõ thuaät phaùt trieån nhu caàu veà giaûi trí cuõng ña daïng leân, caùc loaïi hình giaûi trí khoâng ngöøng gia taêng vaø ngaøy caøng phong phuù, ña daïng caùc loaïi hình giaûi trí nhö: troø chôi ñieän töû, nghe nhaïc xem phim, xem ca nhaïc(video), vaø ñaëc bieät laø nhöõng trong chôi daïng khoâng gian ba chieàu. Söï phaùt trieån oà aït naøy ñaõ daãn tôùi ngaønh coâng ngheä phaàn cöùng ñaõ khoâng theå ñaùp öùng ñöôïc nhöõng ñoøi hoûi veà löu tröõ, ñoàng haønh vôùi söï phaùt trieån naøy laø maïng maùy tính ñoù chính laø Internet ngaøy caøng phaùt trieån soá löôïng ngöôøi tham gia truy caäp ngaøy caøng lôùn vaø nhu caàu cuûa hoï thì ngaøy caøng phong phuù vaø ña daïng veà taát caû caùc loaïi hình noùi treân. Do ñoù toác ñoä truy caäp, toác ñoä truyeàn taûi treân maïng ñöôïc quan taâm hôn ñeå cho ngöôøi duøng khoâng phaûi soát ruoät ngoài chôø nhöõng trang web maø mình truy caäp, hoï khoâng phaûi böïc mình khi download nhöõng file aâm thanh vaø nhöõng baøi haùt maø hoï öa thích vì ñöôøng truyeàn quaù chaäm trong khi coâng ngheä phaàn cöùng ñaõ phaùt trieån maïnh. Chính vì vaäy caùc nhaø nghieân cöùu phaàn meàm ñaõ chuù yù ñeán vieäc phaùt trieån phaàn meàm ñeå hoã trôï phaàn cöùng. Hoï ñaõ taïo ra nhöõng chöông trình phaàn meàm hoã trôï tích cöïc phaàn cöùng, töø ñoù ñaõ ra ñôøi nhöõng phaàn meàm neùn aâm thanh, hình aûnh, neùn video, taùch aâm thanh töø nhöõng file video…ñeå taïo ra nhöõng daïng aâm thanh, hình aûnh, video nhö mindi, mpeg, mp3, mp4… nhöõng file aûnh daïng gif, jpeg…vôùi dung löôïng löu tröõ voâ cuøng nhoû maëc duø chaát löôïng coù giaûm ñi ñoâi chuùt nhöng khoâng ñaùng keå so vôùi nhöõng gì noù ñaït ñöôïc ñeå truyeàn taûi, truy caäp nhanh hôn.
Söï toàn taïi cuûa chuaån JPEG (Joint Photographic Experts Group) chæ ñeå giaûm toác ñoä bit vaø chuû yeáu phuïc vuï cho hình aûnh, roõ raøng laø khoâng ñuû ñaùp öùng cho hình aûnh ñoäng coù keøm aâm thanh. Ñeå ñaùp öùng nhu caàu cuûa thò tröôøng, moät nhoùm caùc chuyeân gia veà hình aûnh ñoäng (Moving Picture Experts Group), goïi taét laø MPEG, ñöôïc thaønh laäp ñeå nghieân cöùu ñöa ra nhöõng löôïc ñoà maõ hoùa phuø hôïp cho vieäc truyeàn hình aûnh ñoäng vaø ghi laïi chuùng theo tieâu chuaån trong caùc thieát bò löu tröõ soá nhö CD-ROM, Video CD..
Phaàn trình baøy cuûa luaän vaên chæ naèm trong khuoân khoå "Aâm thanh". Do ñoù moïi vaán ñeà lieân quan tôùi hình aûnh seõ khoâng ñöôïc ñeà caäp tôùi, duø chuaån MPEG laø duøng cho caû aâm thanh vaø hình aûnh.
Muïc tieâu cuûa ñeà taøi chuû yeáu chæ ñeå tìm hieåu veà caùc phöông phaùp maõ hoaù vaø neùn aâm thanh theo chuaån Mpeg, töø ñoù döïa treân moät soá source code (vieát baèng C) ñaõ coù treân maïng Internet vieát laïi baèng ngoân ngöõ Visual C++, nhaèm hieåu saâu hôn veà giaûi thuaät, ñoàng thôøi taïo ra moät giao dieän thaân thieän hôn.
Do trình ñoä vaø kieán thöùc coù haïn neân khoâng traùnh khoûi nhöõng thieáu soùt, em kính mong thaày tham gia vaø giuùp ñôõ em ñeå em hoaøn thaønh ñöôïc toát hôn.
Em xin chaân thaønh caùm ôn thaày ñaõ taïo ñieàu kieän thuaân lôïi nhaát giuùp em hoaøn thaønh baùo caùo naøy.
PHAÀN I
LYÙ THUYEÁT CÔ BAÛN
CHUÔNG 1. CAÙC KIEÁN THÖÙC CÔ BAÛN VEÀ AÂM THANH.
I. NHÖÕNG KHAÙI NIEÄM CÔ BAÛN - SOÙNG CÔ
1.1. Söï hình thaønh soùng trong moâi tröôøng ñaøn hoài.
a. Ñònh nghóa:
Caùc moâi tröôøng chaát khí, chaát loûng, chaát raén laø moâi tröôøng ñaøn hoài.
Moâi tröôøng ñaøn hoài coù theå coi laø nhöõng moâi tröôøng lieân tuïc goàm nhöõng phaân töû lieân keát chaët cheõ vôùi nhau, luùc bình thöôøng moãi phaân töû coù moät vò trí caân baèng beàn.
b. Söï hình thaønh soùng trong moâi tröôøng ñaøn hoài:
Do tính chaát cuûa moâi tröôøng ñaøn hoài, cho neân neáu taùc duïng leân phaân töû naøo ñoù cuûa moâi tröôøng thì phaân töû naøy rôøi khoûi vò trí caân baèng beàn.
Do töông taùc, caùc phaân töû laân caän moät maët keùo phaân töû A veà vò trí caân baèng, maët khaùc nhaän moät phaàn naêng löôïng do phaân töû A truyeàn sang, do ñoù cuõng dao ñoäng theo, hieän töôïng naøy xaûy ra lieân tieáp taïo thaønh soùng. Soùng ñaøn hoài (soùng cô) laø söï lan truyeàn dao ñoäng trong moâi tröôøng ñaøn hoài. Soùng cô khoâng theå truyeàn ñöôïc trong chaân khoâng, vì chaân khoâng khoâng phaûi laø moâi tröôøng ñaøn hoài.
Caàn löu yù trong khi truyeàn dao ñoäng, caùc phaân töû cuûa moâi tröôøng khoâng di chuyeån theo caùc dao ñoäng ñöôïc lan truyeàn maø chæ dao ñoäng quanh vò trí caân baèng cuûa noù.
c. Moät soá khaùi nieäm veà soùng:
Nguoàn soùng: laø ngoaïi vaät gaây ra kích ñoäng soùng.
Tia soùng: laø phöông truyeàn soùng.
Moâi tröôøng soùng: laø khoâng gian maø soùng truyeàn qua.
Maët soùng: laø maët chöùa nhöõng ñieåm (phaân töû) coù cuøng traïng thaùi dao ñoäng taïi moät thôøi ñieåm naøo ñoù. Tia soùng luoân vuoâng goùc vôùi maët soùng.
Soùng caàu: maët soùng laø nhöõng maët caàu phaân boá ñeàu trong khoâng gian, taâm laø nguoàn soùng. Trong moâi tröôøng ñoàng chaát vaø ñaúng höôùng seõ coù soùng caàu. Ñoái vôùi soùng caàu tia soùng truøng vôùi baùn kính cuûa maët caàu.
Soùng phaúng: maët soùng laø nhöõng maët phaúng song song nhau, tia soùng vuoâng goùc vôùi maët soùng. Neáu nguoàn soùng ôû raát xa moâi tröôøng ñang xeùt thì maët soùng coù theå coi laø nhöõng maët phaúng song song.
Soùng doïc: laø soùng trong ñoù caùc phaân töû cuûa moâi tröôøng dao ñoäng quanh vò trí caân baèng treân phöông truøng vôùi tia soùng. Khi coù soùng doïc, treân phöông cuûa tia soùng caùc phaân töû cuûa moâi tröôøng khi thì bò neùn chaët, khi thì giaõn ra laøm cho caùc phaân töû cuûa moâi tröôøng coù choã daøy choã thöa.
Soùng ngang: laø soùng trong ñoù caùc phaân töû cuûa moâi tröôøng dao ñoäng quanh vò trí caân baèng treân phöông vuoâng goùc vôùi tia soùng.
d. Nguyeân nhaân gaây ra soùng ngang vaø soùng doïc:
Tuøy tính chaát cuûa moâi tröôøng ñaøn hoài maø trong ñoù coù theå xuaát hieän soùng ngang hay soùng doïc.
- Khi moät lôùp cuûa moâi tröôøng bò leäch ñoái vôùi lôùp khaùc laøm xuaát hieän caùc löïc ñaøn hoài coù xu höôùng keùo lôùp bò leäch veà vò trí caân baèng thì trong moâi tröôøng ñoù coù theå truyeàn ñöôïc soùng ngang. Vaäy vaät raén laø moät moâi tröôøng coù tính chaát ñoù.
- Neáu trong moâi tröôøng khoâng coù caùc löïc ñaøn hoài khi caùc lôùp song song bò leäch ñoái vôùi nhau thì soùng ngang khoâng theå hình thaønh ñöôïc. Chaát loûng vaø chaát khí laø nhöõng moâi tröôøng ñoù.
- Khi bò bieán daïng neùn hay caêng maø trong moâi tröôøng coù caùc löïc ñaøn hoài xuaát hieän thì trong moâi tröôøng ñoù coù theå truyeàn ñöôïc soùng doïc. Chaúng haïn khi bò neùn, chaát loûng hay chaát khí seõ taêng aùp suaát, löïc neùn giöõ vai troø löïc ñaøn hoài.
Nhö vaäy trong chaát loûng vaø chaát khí chæ coù soùng doïc truyeàn ñöôïc, coøn trong chaát raén coù theå truyeàn ñöôïc caû hai loaïi soùng.
1.2. Caùc ñaëc tröng cuûa soùng.
a. Vaän toác truyeàn soùng (C) :
Laø quaõng ñöôøng maø soùng truyeàn ñöôïc trong moät ñôn vò thôøi gian.
b. Böôùc soùng l:
Laø quaõng ñöôøng maø soùng truyeàn ñöôïc sau moät thôøi gian baèng 1 chu kyø T. Nhö vaäy l laø khoaûng caùch beù nhaát giöõa caùc phaân töû dao ñoäng cuøng pha. Theo ñònh nghóa ta coù : l = CT.
c. Chu kyø vaø taàn soá:
Chu kyø T laø thôøi gian caàn thieát ñeå soùng truyeàn ñöôïc 1 böôùc soùng l.
Taàn soá f laø soá chu kyø thöïc hieän ñöôïc trong 1 giaây :
F = 1/T (Hz)
1.3. Phöông trình soùng.
· Soùng phaúng truyeàn doïc theo phöông OY vôùi vaän toác C thì phöông trình soùng bieåu thò moái quan heä giöõa ñoä chuyeån dôøi X cuûa phaân töû dao ñoäng keå töø vò trí caân baèng vôùi thôøi gian t vaø khoaûng caùch y ñeán caùc vò trí caân baèng caùc phaân töû dao ñoäng treân phöông truyeàn soùng nhö sau :
X = asinw(t – y/c)
Neáu soùng phaúng truyeàn theo höôùng ngöôïc vôùi höôùng tính khoaûng caùch y thì :
X = asinw(t + y/c)
Ñoái vôùi soùng caàu thì bieân ñoä a cuûa dao ñoäng soùng taïi vò trí caùch nguoàn baèng baùn kính r, tæ leä nghòch vôùi r, phöông trình soùng coù daïng:
X = a/r sinw(t – r/c)
II. SOÙNG AÂM.
2.1. Dao ñoäng aâm vaø söï truyeàn dao ñoäng.
· Soùng aâm laø moät loaïi soùng cô coù bieân ñoä dao ñoäng nhoû maø thính giaùc nhaän bieát ñöôïc. Thí duï dao ñoäng phaùt ra töø daây ñaøn, maët troáng.. ñang rung ñoäng. Soùng aâm laø moät loaïi soùng cô neân moïi khaùi nieäm vaø hieän töôïng veà dao ñoäng vaø soùng cô treân ñaây ñeàu aùp duïng cho soùng aâm.
Trong khoâng khí cuõng nhö trong moïi chaát khí khaùc, nhöõng dao ñoäng truyeàn ñi döôùi daïng soùng doïc, khi ñeán tai ngöôøi nhöõng dao ñoäng coù taàn soá töø 16 ñeán 20000 Hz seõ gaây caûm giaùc ñaëc bieät veà aâm.
Caùc dao ñoäng ñaøn hoài coù taàn soá f>20.000 Hz laø soùng sieâu aâm.
Caùc dao ñoäng ñaøn hoài coù taàn soá f<16 Hz laø soùng haï aâm
Moãi aâm coù moät taàn soá rieâng, ñôn vò cuûa taàn soá laø heùc (Hz) vôùi ñònh nghóa:”Heùc laø taàn soá cuûa moät quùa trình dao ñoäng aâm trong ñoù moãi giaây thöïc hieän ñöôïc moät dao ñoäng”.
1 Heùc (Hz) = 1 dao ñoäng / 1 giaây
Vieäc phaân chia soùng haï aâm, soùng sieâu aâm vaø soùng aâm (aâm thanh) lieân quan tôùi khaû naêng sinh lyù cuûa thính giaùc
2.2. Ñôn vò vaät lyù cuûa aâm thanh.
AÂm thanh hay tieáng ñoäng maø con ngöôøi nhaän bieát ñöôïc do taùc ñoäng cuûa soùng aâm leân maøng nhó tai.
Caùc dao ñoäng aâm phaùt ra töø nguoàn lan truyeàn trong moâi tröôøng ñaøn hoài nhö khoâng khí.. döôùi daïng soùng ñaøn hoài goïi laø soùng aâm. Soùng aâm ñeán kích ñoäng maøng nhó tai gaây caûm giaùc veà aâm, do ñoù caàn phaân bieät hai loaïi ñaïi löôïng veà aâm:
- Ñaïi löôïng aâm khaùch quan: nhöõng ñaïi löôïng thuaàn tuùy vaät lyù, khoâng phuï thuoäc vaøo tai ngöôøi.
- Ñaïi löôïng aâm chuû quan: nhöõng ñaïi löôïng taâm lyù vaät lyù phuï thuoäc vaøo tai ngöôøi.
2.2.1. Ñôn vò aâm khaùch quan:
a. Aùp suaát aâm:
Khi soùng aâm tôùi moät maët naøo ñoù, do caùc phaân töû moâi tröôøng dao ñoäng taùc duïng leân maët ñoù moät löïc gaây ra aùp suaát. Aùp suaát ôû ñaây laø aùp suaát dö do soùng aâm gaây ra ngoaøi aùp suaát khí quyeån.
Trong phaïm vi nghe ñöôïc, aùp suaát aâm trong khoaûng töø 2.10-4 ñeán 2.102 mbar, cheânh leäch 106 laàn, ñoù laø moät phaïm vi raát roäng.
b. Cöôøng ñoä aâm (I):
- Cöôøng ñoä aâm ôû moät ñieåm naøo ñoù treân phöông ñaõ cho trong tröôøng aâm laø soá naêng löôïng aâm ñi qua ñôn vò dieän tích cuûa maët S vuoâng goùc vôùi phöông truyeàn aâm, taïi ñieåm ñoù trong ñôn vò thôøi gian.
- Moät vaøi cöôøng ñoä aâm ñaùng chuù yù:
Ngöôøi noùi thöôøng I = 2.10-3 W/m2
Coøi oâ-toâ I = 5 W/m2
Coøi baùo ñoäng I = 3.000 W/m2
- Trong ñieàu kieän chuaån (to = 20oC, aùp suaát 760mmHg):
Vaän toác aâm trong khoâng khí : C = 340 m/s
r = 0,00121 gr/cm3.
g = Cp/Cv = 1,4
- Trong tính toaùn ngöôøi ta quy öôùc laáy aâm ñôn taàn soá f = 1000 Hz laøm chuaån ñeå so saùnh (goïi laø aâm chuaån).
- Ñoái vôùi aâm chuaån, trong phaïm vi nghe ñöôïc
AÙp suaát aâm nhoû nhaát Pmin = 2.10-4 mbar
Cöôøng ñoä aâm nhoû nhaát Imin = 10-16 W/cm2.
- Aùp suaát aâm vaø cöôøng ñoä aâm lôùn nhaát maø tai ngöôøi coù theå chòu ñöôïc laø:
Pmax = 2.102 mbar
Imax = 10-4 W/cm2.
- Coâng suaát aâm nhoû nhaát coù theå nghe thaáy ñöôïc Wmin = 10-12 Watt.
2.2.2. Ñôn vò aâm chuû quan:
Tai ngöôøi trung bình coù theå nhaän ñöôïc nhöõng soùng aâm coù taàn soá töø 16 ñeán 20000 Hz, hieäu quûa naøy coù lieân quan tôùi khaû naêng sinh lyù cuûa tai ngöôøi.
Nhö vaäy, aâm thanh laø moät hieän töôïng taâm lyù vaät lyù, khoâng phaûi baát cöù soùng aâm naøo tôùi tai cuõng gaây ra caûm giaùc aâm thanh nhö nhau. Aâm coù taàn soá khaùc nhau gaây ra caûm giaùc khaùc nhau.
Cöôøng ñoä aâm nhoû nhaát cuûa moät soùng aâm xaùc ñònh maø tai ngöôøi nghe thaáy ñöôïc goïi laø “Ngöôõng nghe”. Aâm coù taàn soá khaùc nhau giaù trò ngöôõng nghe cuõng khaùc nhau. Tai ngöôøi thính nhaát vôùi aâm coù taàn soá trong khoaûng töø 1000 ñeán 3000 Hz, trong phaïm vi naøy cöôøng ñoä aâm ngöôõng nghe nhoû nhaát. Nhöõng taàn soá khaùc, tai keùm thính hôn, ngöôõng nghe coù giaù trò lôùn hôn.
Ñoái vôùi aâm chuaån, cöôøng ñoä vaø aùp suaát ôû ngöôõng nghe baèng:
Po = 2.10-5 N/ m2.
Io = 10-12 W/m2.
Do caûm giaùc aâm thanh phuï thuoäc vaøo ñaëc tính sinh lyù cuûa tai ngöôøi, cho neân phaûi coù moät soá ñaïi löôïng ñaëc tröng cho caûm giaùc aâm thanh phuï thuoäc vaøo tai ngöôøi, nhöõng ñaïi löôïng nhö vaäy goïi laø ñaïi löôïng aâm chuû quan.
a. Bel vaø decibel (db):
Theo ñònh lyù sinh lyù cuûa Vebe-Feùcne, caûm giaùc nghe to ñoái vôùi moät aâm khoâng tæ leä thuaän vôùi cöôøng ñoä aâm cuûa aâm ñoù. Khi cöôøng ñoä aâm taêng töø Io tôùi I thì caûm giaùc nghe to taêng tæ leä vôùi lg(I/Io). Do ñoù ngöôøi ta duøng thang loâ-ga-rít cô soá 10 ñeå ño möùc caûm giaùc so vôùi möùc ngöôõng.
Möùc ngöôõng goïi laø möùc zero qui öôùc :
lg(I/Io) = lg(10-12/ 10-12) = 0 bel.
Ñôn vò laø Bel hay db. 10db = 1 bel.
b. Möùc cöôøng ñoä aâm (LI):
Neáu goïi I laø cöôøng ñoä aâm cuûa aâm ñang xeùt vaø Io laø cöôøng ñoä aâm cuûa möùc zero qui öôùc cuûa aâm chuaån thì möùc cöôøng ñoä aâm LI baèng :
LI = 10lg(I/Io) db
I tính baèng W/m2.
c. Möùc aùp suaát aâm (Lp):
Möùc aùp suaát aâm suy daãn töø möùc cöôøng ñoä aâm Lp = 20lg(P/Po) db.
Trong ñoù:
P :aùp suaát aâm coù ích cuûa aâm ñang xeùt (N/m2)
Po:aùp suaát aâm cuûa aâm chuaån ôû ngöôõng nghe.
Thöïc teá aùp suaát aâm laø ñaïi löôïng cô baûn hôn cöôøng ñoä aâm, neân thöôøng duøng möùc aùp suaát aâm sau ñoù suy ra möùc cöôøng ñoä aâm. Ñôn vò chung laø bel hay db. Ñôn vò naøy cuõng duøng ñeå ño möùc coâng suaát, möùc naêng löôïng aâm.
Vaøi möùc aùp suaát aâm ñaùng chuù yù :
Noùi chuyeän thöôøng : 30db.
Noùi chuyeän to : 70db.
2.2.3. Quaõng ñoä cao (quaõng taàn soá):
· Quaõng taàn soá cuûa hai aâm laø khoaûng caùch taàn soá cuûa hai aâm ñoù. Neáu moät aâm taàn soá laø f1, moät aâm khaùc taàn soá laø f2 (f2 > f1) thì f2 / f1 = 2x.
Khi x=1 töùc f2 / f1 = 2 goïi laø 1 quaõng taàn soá (hay 1 oác-ta).
Khi x=1/2 töùc f2 / f1 = 1.41 goïi laø nöûa oác-ta.
Khi x=1/3 töùc f2 / f1 = 1.26 goïi laø 1/3 oác-ta.
- Möùc aùp suaát aâm cuûa 1 oác-ta baèng möùc aùp suaát aâm cuûa 1/2 oác-ta coäng theâm 3db.
- Möùc aùp suaát aâm cuûa 1 oác-ta baèng möùc aùp suaát aâm cuûa 1/3 oác-ta coäng theâm 5db.
Vì quaõng taàn soá cuûa moät aâm qui ñònh ñoä cao cuûa aâm ñoù neân coøn goïi laø quaõng ñoä cao. Theo taäp quaùn aâm nhaïc thì quaõng ñoä cao goïi laø quaõng 8 (baùt ñoä).
Chaúng haïn aâm LA, taàn soá f=440 Hz taêng 1 baùt ñoä laø taêng gaáp ñoâi taàn soá, töùc laø 880 Hz.
Trong thöïc teá thöôøng gaëp nhöõng aâm phöùc taïp bao goàm nhieàu taàn soá. Taäp hôïp taát caû nhöõng taàn soá caáu taïo trong moät aâm thanh goïi laø “taàn phoå” cuûa aâm ñoù, taàn phoå coù theå giaùn ñoaïn hay lieân tuïc. Moät aâm coù taàn phoå lieân tuïc ñöôïc ñaëc tröng baèng “Möùc taàn phoå B” vôùi ñònh nghóa:
- Möùc taàn phoå laø möùc aùp suaát aâm trong chieàu roäng cuûa daûi taàn soá baèng 1.
- Moät aâm coù möùc taàn phoå B khoâng ñoåi vôùi moïi taàn soá goïi laø tieáng oàn traéng.
- Moät aâm coù taàn phoå giaùn ñoaïn ñöôïc ñaëc tröng baèng “möùc daûi taàn soá” vôùi ñònh nghóa: möùc daûi taàn soá laø möùc aùp suaát aâm trong chieàu roäng cuûa daûi taàn soá lôùn hôn 1 Hz.
2.3. Ñaëc tính sinh lyù veà söï caûm thuï aâm thanh.
2.3.1. Möùc to, ñoä to, möùc aâm caûm giaùc:
Möùc aùp suaát aâm, möùc cöôøng ñoä aâm treân ñaây vöøa mang tính chaát chuû quan vöøa mang tính chaát khaùch quan vì nhöõng ñaïi löôïng naøy xaùc ñònh töø nhöõng ñaïi löôïng thuaàn tuùy vaät lyù. Vaán ñeà coù yù nghóa to lôùn trong thöïc teá laø caàn bieát ñöôïc söùc maïnh cuûa aâm thanh ño baèng tai ngöôøi.
Möùc to, ñoä to cuûa moät aâm laø söùc maïnh caûm giaùc do aâm thanh gaây neân trong tai ngöôøi, noù khoâng nhöõng phuï thuoäc vaøo aùp suaát aâm maø coøn phuï thuoäc vaøo taàn soá cuûa aâm ñoù. Thí duï 2 aâm coù taàn soá 100 Hz vaø 1000 Hz aùp suaát aâm ñeàu baèng 0,02 mbar nhöng nghe to nhoû khaùc nhau, aâm 1000 Hz nghe to hôn aâm 100 Hz. Muoán nghe to baèng aâm 1000 Hz thì aâm 100 Hz phaûi coù aùp suaát baèng 0,25 mbar. Nhö vaäy tai ngöôøi khoâng nhaïy ñoái vôùi aâm 100 Hz baèng aâm 1000 Hz. Taàn soá caøng thaáp tai ngöôøi caøng keùm nhaïy.
a. Möùc to:
- Ñeå bieåu thò möùc to treân caûm giaùc chuû quan, ta duøng ñaïi löôïng “möùc to”, ñôn vò laø “Foân” vôùi ñònh nghóa nhö sau :
Foân laø möùc to cuûa aâm chuaån, veà giaù trò baèng möùc aùp suaát aâm cuûa aâm chuaån töùc laø :
L = 20lg P/Po (Foân).
- Vaäy möùc to cuûa moät aâm baát kyø ño baèng Foân, veà giaù trò baèng möùc aùp suaát aâm cuûa aâm chuaån ño baèng db coù cuøng möùc to vôùi aâm ñoù. Thí duï: aâm coù taàn soá 500 Hz möùc aùp suaát aâm baèng 25 db vaø aâm coù taàn soá 50 Hz möùc aùp suaát aâm baèng 64 db seõ coù cuøng möùc to baèng 20 Foân, baèng möùc to cuûa aâm 1000 Hz möùc aùp suaát baèng 20 db.
- Muoán bieát möùc to cuûa moät aâm baát kyø phaûi so saùnh vôùi aâm chuaån.
- Ñoái vôùi aâm chuaån, möùc to ôû ngöôõng nghe laø 0 Foân, ngöôõng choùi tai laø 120 Foân.
- Cuøng moät giaù trò aùp suaát, aâm taàn soá caøng cao, möùc to caøng lôùn.
b. Ñoä to:
- Khi so saùnh aâm naøy to hôn aâm kia bao nhieâu laàn, duøng khaùi nieäm “ñoä to” ñôn vò laø “Soân” vôùi ñònh nghóa nhö sau:
Soá löôïng Soân bieåu thò soá laàn maïnh hôn cuûa moät aâm naøo ñoù so vôùi aâm chuaån maø tai ngöôøi coù theå phaân bieät ñöôïc.
- Ñoä to laø moät thuoäc tính cuûa thính giaùc, cho pheùp phaùn ñoaùn tính chaát maïnh yeáu cuûa aâm thanh. Caên cöù vaøo ñoä to maø saép xeáp aâm töø nhoû tôùi to.
- Möùc to taêng 10 Foân thì ñoä to taêng gaáp ñoâi vaø ngöôïc laïi.
2.3.2. Aâm ñieäu vaø aâm saéc:
AÂm ñieäu chæ aâm cao hay thaáp, traàm hay boång. AÂm ñieäu chuû yeáu phuï thuoäc vaøo taàn soá cuûa aâm, taàn soá caøng cao, aâm nghe caøng cao, taàn soá caøng thaáp aâm nghe caøng traàm.
AÂm saéc chæ saéc thaùi cuûa aâm du döông hay thoâ keäch, thanh hay reø, trong hay ñuïc. AÂm saéc phuï thuoäc vaøo caáu taïo cuûa soùng aâm ñieàu hoøa, bieåu thò baèng soá löôïng caùc loaïi taàn soá, cöôøng ñoä vaø söï phaân boá cuûa chuùng quanh aâm cô baûn. AÂm saéc coù quan heä maät thieát vôùi cöôøng ñoä, aâm ñieäu vaø thôøi gian aâm vang, söï tröôûng thaønh vaø taét daàn cuûa tröôøng aâm.
Khi hai ca só cuøng haùt moät caâu ôû cuøng moät ñoä cao, ta vaãn phaân bieät ñöôïc gioïng haùt cuûa töøng ngöôøi. Khi ñaøn ghi-ta, saùo, keøn.. cuøng taáu leân moät ñoaïn nhaïc ôû cuøng moät ñoä cao, ta vaãn phaân bieät ñöôïc tieáng cuûa töøng nhaïc cuï. Moãi ngöôøi, moãi nhaïc cuï phaùt ra nhöõng aâm coù saéc thaùi khaùc nhau maø tai ta phaân bieät ñöôïc. Ñaëc tính ñoù cuûa aâm chính laø aâm saéc.
AÂm saéc laø moät ñaëc tính sinh lyù cuûa aâm, ñöôïc hình thaønh treân cô sôû caùc ñaëc tính vaät lyù cuûa aâm laø taàn soá vaø bieân ñoä. Thöïc nghieäm chöùng toû raèng khi moät nhaïc cuï phaùt ra moät aâm coù taàn soá f1 thì ñoàng thôøi cuõng phaùt ra caùc aâm coù taàn soá f2=2f1, f3=3f1...
AÂm coù taàn soá f1 goïi laø aâm cô baûn hay hoïa aâm thöù nhaát, caùc aâm coù taàn soá f2 , f3 .. goïi laø caùc hoïa aâm thöù hai, thöù ba... AÂm cô baûn bao giôø cuõng maïnh nhaát, caùc hoïa aâm coù taùc duïng quyeát ñònh aâm saéc cuûa aâm cô baûn, giuùp ta phaân bieät caùc nguoàn aâm khaùc nhau. Chaúng haïn tieáng ñaøn Pi-a-noâ vaø tieáng saùo tuy cuøng moät aâm cô baûn nhöng laïi raát deã phaân bieät, nguyeân nhaân laø do soá löôïng, caáu truùc nhöõng hoïa aâm quanh aâm cô baûn cuûa chuùng khaùc nhau. Hoïa aâm caøng nhieàu aâm nghe caøng du döông phong phuù.
3. Thính giaùc ñònh vò (hieäu öùng Stereo):
Khi nghe aâm tuy maét khoâng nhìn thaáy nguoàn aâm nhöng coù theå xaùc ñònh chính xaùc vò trí cuûa nguoàn aâm. Ñaëc ñieåm naøy laø keát quûa cuûa hai taùc duïng:
- Do cöôøng ñoä, ñoä to, aâm saéc cuûa aâm ñeán hai tai khoâng gioáng nhau.
- Do aâm ñeán hai tai leäch pha nhau, vì thôøi gian ñeán hai tai khoâng gioáng nhau.
Cöôøng ñoä, ñoä to cuûa aâm ñeán hai tai cheânh leäch nhau laø do nhieãu xaï gaây ra. AÂm coù taàn soá f < 1000 Hz söï cheânh leäch cöôøng ñoä do nhieãu xaï gaây ra raát beù nhöng ôû nhöõng taàn soá cao, söï cheânh leäch naøy coù theå ñaït tôùi 20 - 30 db.
Do khaû naêng ñònh vò cuûa tai nhö vaäy cho neân khi nghe aâm coù theå taäp trung chuù yù vaøo nguoàn aâm caàn nghe, boû qua moät caùch töï nhieân nhöõng aâm khoâng caàn nghe. Nhôø hieäu quûa naøy maø tieáng oàn bò phuû laáp hoaëc giaûm nhoû moät caùch töï nhieân. Neáu chæ nghe aâm moät tai thì hieäu quûa naøy maát.
4. Nghe aâm vaø cheânh leäch thôøi gian:
Töông töï nhö taùc duïng löu aûnh cuûa maét, tai ngöôøi cuõng coù taùc duïng löu aâm.
Thí nghieäm vôùi nhieàu thính giaùc bình thöôøng cho thaáy raèng, neáu hai aâm nhö nhau ñeán tai ngöôøi caùch nhau < 50 ms thì tai ngöôøi khoâng phaân bieät ñöôïc, nghe nhö moät aâm duy nhaát.
CHÖÔNG 2. TAÄP TIN DAÏNG SOÙNG (WAVE FILE).
I. MULTIMEDIA WINDOWS
Töø phieân baûn Windows 3.1, Multimedia ñaõ trôû thaønh moät tính naêng cuûa Windows. Multimedia Windows ñaõ boå sung moät tính naêng môùi: ñoù laø söï ñoäc laäp thieát bò trong vieäc xöû lyù aâm thanh. Söï ñoäc laäp thieát bò naøy theå hieän qua boä API (Applycation Program Interface – Boä giao dieän laäp trình öùng duïng). Boä API ñoäc laäp veà thieát bò ñoái vôùi phaàn cöùng vaø ñoù laø moät chöùc naêng quan troïng cuûa Windows. Ngöôøi laäp trình seõ laäp trình ñieàu khieån phaàn cöùng treân Windows döïa treân chöùc naêng cuûa phaàn cöùng hôn laø caùc chi tieát cuï theå cuûa noù. Caùc nhaø cung caáp phaàn cöùng chæ caàn cung caáp moät boä ñieàu khieån thieát bò (device driver) cho Windows, nhôø ñoù moät öùng duïng treân Windows coù theå ñieàu khieån phaàn cöùng thoâng qua Windows API.
· Vôùi Multimedia Windows, haõng Microsoft ñaõ thöïc hieän ñöôïc ba ñieàu :
· Ñònh nghóa moät tieâu chuaån phaàn cöùng toái thieåu cho loaïi maùy Multimedia PC (vieát taét laø MPC). Tieâu chuaån naøy döïa treân chöùc naêng toång quaùt hôn laø saûn phaåm cuï theå. Ví duï neáu PC coù theâm oå ñóa CD-ROM vaø moät card aâm thanh thì trôû thaønh MPC caáp 1.
· Microsoft ñaõ cung caáp phaàn meàm Multimedia Extension cho Windows 3.0 vaø ñaõ ñöôïc gheùp luoân vaøo heä ñieàu haønh Windows töø phieân baûn 3.1. Phaàn meàm naøy bao goàm caùc boä ñieàu khieån thieát bò daønh cho vieäc truy xuaát ñeán caùc phaàn cöùng gaén theâm vaøo MPC.
· Microsoft ñöa ra coâng cuï phaùt trieån Multimedia Development Kit (MDK). Laäp trình vieân keát hôïp coâng cuï treân vôùi boä Windows Software Development Kit (SDK) ñeå vieát caùc öùng duïng veà Multimedia.
Coù hai daïng xöû lyù aâm thanh soá hoùa treân Windows. Loaïi thöù nhaát microsoft goïi laø “Wave Form Audio” (Aâm thanh daïng soùng), döïa treân nguyeân taéc soá hoùa soùng aâm, MPC löu chuùng treân boä nhôù hay taäp tin .WAV treân ñóa. Caùc döõ lieäu soá naøy coù theå thoâng qua phaàn cöùng bieán ñoåi laïi thaønh aâm thanh.
Daïng thöù hai laø MIDI. Khaùc vôùi aâm thanh daïng soùng, MIDI chæ löu laïi nhöõng thoâng ñieäp ñieàu khieån boä toång hôïp phaùt ra aâm thanh. Do ñoù kích thöôùc cuûa taäp tin .MID nhoû hôn nhieàu so vôùi taäp tin.WAV.
II. CAÁU TRUÙC WAVE FILE.
1. RIFF file.
Wave File laø taäp tin chöùa caùc döõ lieäu cuûa maãu aâm thanh ñaõ ñöôïc soá hoùa. Phöông phaùp soá hoùa aâm thanh hieän nay laø phöông phaùp PCM. Phöông phaùp naøy seõ laáy maãu aâm thanh vôùi taàn soá khoaûng 11.025 kHz cho ñeán 44.1 kHz. Moãi laàn laáy maãu, soá lieäu naøy laïi ñöôïc löôïng töû hoùa baèng moät hay hai byte cho moät maãu aâm thanh. Nhö vaäy taàn soá laáy maãu caøng cao, soá byte duøng löôïng töû hoùa caøng nhieàu thì aâm thanh phaùt laïi caøng trung thöïc, nhöng laïi taêng soá byte caàn löu tröõ. Vôùi moät maãu aâm thanh phaùt ra trong moät phuùt caàn phaûi löu tröõ ít nhaát 660 kB. Ñoù laø lyù do taïi sao caùc File Wave luoân coù kích thöôùc khaù lôùn so vôùi MIDI File.
Caáu truùc cuûa Wave File thuoäc vaøo lôùp file ñöôïc söû duïng bôûi caùc haøm Multimedia cuûa Windows: ñoù laø RIFF FILE. RIFF laø chuõ vieát taét cuûa Resource Interchange File Format (daïng file trao ñoåi taøi nguyeân). Moät RIFF file goàm moät hoaëc nhieàu loaïi chunks, trong moãi chunk laïi chöùa con troû chæ ñeán chunk keá tieáp. Moãi chunk bao goàm loaïi chunk vaø döõ lieäu theo sau loaïi chunk ñoù. Moät öùng duïng muoán ñoïc RIFF file coù theå ñi qua laàn löôït töøng chunk, ñoïc döõ lieäu ôû chunk noù quan taâm vaø coù theå boû qua caùc chunk maø noù khoâng quan taâm, moät chunk cuûa RIFF file luoân baét ñaàu bôûi moät header coù caáu truùc nhö sau:
Typedef struct
{
FOURCC ckid;
DWORD ckSize;
} CK;
Tröôøng FOURCC coù 4 bytes chæ ra loaïi chunk. Ñoái vôùi File Wave, tröôøng naøy coù giaù trò laø “WAVE”. Neáu loaïi chunk ít hôn 4 kyù töï thì caùc kyù töï coøn laïi beân phaûi seõ ñöôïc ñeäm theâm vaøo caùc khoaûng traéng. Caàn chuù yù laø caùc kyù töï trong FOURCC coù phaân bieät chöõ hoa vaø chöõ thöôøng.
Tröôøng DWORD chöùa kích thöôùc vuøng döõ lieäu cuûa chunk, vuøng döõ lieäu naøy naèm ngay sau header vaø coù kích thöôùc laø ckSize bytes.
Chunk coù theå chöùa caùc subchunks. Subchunk cuõng laø moät chunk.
Moät RIFF file luoân baét ñaàu baèng moät chunk loaïi “RIFF”.
2. Caáu truùc Wave file.
Wave file baét ñaàu laø chunk loaïi “RIFF”.
Hai subchunk trong wave chunk ñaëc taû thoâng tin veà aâm thanh cuûa wave file vaø tieáp ñoù laø döõ lieäu cuûa töøng subchunk. Ñoù laø subchunk “fmt” vaø subchunk “data”.
a. subchunk “fmt”:
Döõ lieäu cuûa “fmt” chunk laø ñoái töôïng WAVEFORMAT coù caáu truùc nhö sau:
Typedef struct waveformat_tag
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT;
- wFormatTag thöôøng coù giaù trò laø WAVE_FORMAT_PCM ñöôïc ñònh nghóa trong taäp tin MMSYSTEM.H nhö sau :
#define WAVE_FORMAT_PCM 1
Giaù trò naøy baùo cho phaàn meàm ñang ñoïc Wave File bieát kieåu maõ hoùa döõ lieäu aâm thanh sang döõ lieäu soá laø kieåu maõ hoùa PCM. Hieän nay ñaây laø kieåu maõ hoùa duy nhaát cuûa Wave file.
- nChannels: coù hai giaù trò baèng 1 cho aâm thanh mono vaø baèng 2 cho aâm thanh stereo.
- nSamplesPerSec: cho bieát toác ñoä laáy maãu, coù caùc giaù trò:
11025 -- 11.025 kHz
22050 -- 22.050 kHz
44100 -- 44.100 kHz
- nAvgBytesPerSec: cho bieát soá bytes yeâu caàu trung bình trong moät giaây ñeå phaùt laïi maãu döõ lieäu cuûa soùng aâm.
- nBlockAlign: cho bieát soá byte duøng ñeå chöùa moät maãu aâm thanh. Nhö vaäy maãu 8 bit hay ít hôn seõ yeâu caàu 1 byte, maãu 9 ñeán 16 bit seõ yeâu caàu 2 bytes. Neáu aâm thanh laø Stereo thì yeâu caàu gaáp 2 laàn soá byte duøng cho aâm thanh mono.
Ta thaáy trong WAVEFORMAT chöa coù thoâng tin veà soá bit duøng ñeå löôïng töû hoùa moät maãu döõ lieäu cuûa soùng aâm. Thöïc teá Wave File seõ xaùc laäp soá bit duøng cho moät maãu döõ lieäu baèng moät tröôøng gaén vaøo cuoái caáu truùc cuûa WAVEFORMAT. Caáu truùc ñoù nhö sau:
Typedef struct pcmwaveformat_tag
{
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT;
- wBitsPerSample: cho bieát soá bit trong moät maãu döõ lieäu. Chuù yù raèng caùc maãu döõ lieäu vaãn phaûi löu tröõ ôû daïng byte hoaëc word. Do ñoù, neáu moät Wave File duøng 12 bit ñeå löôïng töû hoùa moät maãu soùng aâm thì seõ phaûi löu tröõ 4 bit thöøa khoâng duøng ñeán.
b. Subchunk “data”.
Döõ lieäu cuûa “data” subchunk cuûa wave file chöùa caùc soá lieäu cuûa aâm thanh ñaõ ñöôïc soá hoùa. Ñoái vôùi maãu aâm thanh._. 8 bit, döõ lieäu cuûa “data” subchunk bao goàm caùc giaù trò 1 byte (coù giaù trò töø 0 – 255) cuûa caùc maãu aâm thanh. Ñoái vôùi maãu aâm thanh 16 bits, moãi maãu döõ lieäu goàm 2 bytes (coù giaù trò töø – 32768 ñeán 32767). Ñieàu naøy khoâng coù nghóa laø file wave 16 bits seõ nghe to hôn 256 laàn file wave 8 bits, maø noù coù nghóa laø aâm thanh ñöôïc löôïng töû hoùa chính xaùc hôn, nghe trung thöïc hôn.
Trong maãu mono 8 bits, döõ lieäu cuûa subchunk “data” goàm chuoãi caùc giaù trò 1 byte. Vôùi stereo 8 bits, moãi maãu goàm 2 bytes, döõ lieäu seõ ñöôïc saép xeáp xen keõ (interleave), vôùi byte ñaàu (byte chaün) laø maãu aâm thanh cuûa keânh beân traùi, byte sau (byte leû) laø cuûa keânh beân phaûi.
Toùm laò caáu truùc cuûa Wave File nhö sau:
Kích thöôùc (soá byte)
Giaù trò
Teân tröôøng
4
“RIFF”
4
Kích thöôùc file RIFF
4
“WAVE”
4
“fmt”
4
Kích thöôùc subchunk “fmt”
2
Kieåu maõ hoùa döõ lieäu cuûa file wave (thöôøng laø PCM)
WORD nFormatTag
2
Soá keânh : 1 - mono
2 - stereo
WORD nChannels
4
Soá maãu/1giaây
DWORD nSamplesPerSec
4
Soá bytes/1giaây
DWORD nAvgBytesPerSec
2
Soá byte/1maãu
DWORD nBlockAlign
2
Soá bit/1maãu
WORD wBitsPerSample
4
“data”
4
Kích thöôùc döõ lieäu
III. ÑOÏC RIFF FILES
Ñeå laøm vieäc vôùi file RIFF, ta phaûi môû noù vaø “descend” vaøo chunk maø ta caàn. Ñieàu naøy coù nghóa laø ta caàn phaûi ñònh vò ñöôïc chunk naøy, roài chuyeån con troû file vaøo ñaàu khoái döõ lieäu cuûa chunk. Khi laøm vieäc xong vôùi 1 chunk, ta phaûi “ascend” ra khoûi chunk vaø “descend” xuoáng chunk khaùc.
Caùc haøm duøng xöû lyù RIFF file ñeàu coù tieàn toá laø mmio vaø laøm vieäc vôùi file handle daïng HMMIO, ñeå baét ñaàu, ta phaûi môû file baèng ñoaïn maõ sau:
HMMIO h;
If ((h=mmioOpen(path,NULL,MMIO_READ))==NULL)
{
/*baùo loãi*/
return(0);
}
Thoâng soá path chöùa ñöôøng daãn cuûa file wave. Côø MMIO_READ baùo cho mmioOpen môû file ñeå ñoïc. Ta cuõng coù theå môû noù ñeå ghi baèng thoâng soá MMIO_WRITE hay caû ñoïc vaø ghi baèng thoâng soá MMIO_READWRITE. Neáu môû file thaønh coâng, mmioOpen seõ traû veà moät handle loaïi HMMIO. Neáu thaát baïi, noù seõ traû veà trò NULL. Sau khi môû file xong, ta baét ñaàu ñònh vò WAVE chunk baèng ñoaïn maõ sau:
MMCKINFO mmParent;
MmParent.fccType=mmioFOURCC(‘W’,’A’,’V’,’E’);
If (mmioDescend(h,(LPMMCKINFO)&mmParent, NULL,
MMIO_FINDRIFF))
{
mmioClose(h,0);
/* baùo loãi */
return(0);
}
Caáu truùc cuûa MMCKINFO chöùa caùc thoâng tin veà chunk. Noù ñöôïc ñònh nghóa trong MMSYSTEM.H nhö sau:
Typedef struct
{
FOURCC ckid;
DWORD cksize;
FOURCC fcctype;
DWORD dwDataOffset;
DWORD dwFlags;
} MMCKINFO;
Ñeå “ñi vaøo” moät chunk, ta cho tröôøng ckid cuûa MMCKINFO ôû loaïi chunk maø ta muoán ñònh vò. Coù moät macro thöïc hieän vieäc naøy laø mmioFOURCC. Sau ñoù goïi haøm mmioDescend ñeå ñònh vò chunk. Neáu ñònh vò thaønh coâng, haøm naøy traû veà zero vaø ñoái töôïng MMCKINFO truyeàn cho haøm seõ ñöôïc ñieàn vaøo caùc thoâng tin veà chunk.
Tröôøng cksize ñònh nghóa kích thöôùc tính baèng byte cuûa chunk.
Ñoái soá thöù ba cuûa mmioDescend laø côø MMIO_FINDRIFF. Côø naøy chæ thò cho mmioDescend tìm moät file coù ID laø RIFF vôùi loaïi chunk ñöôïc xaùc ñònh bôûi ckid. Neáu muoán tìm moät chunk trong Wave file ta cho côø naøy laø MMIO_FINDCHUNK.
Sau khi ñi vaøo WAVE chunk, ta baét ñaàu ñi vaøo fmt subchunk cuûa noù:
MMIOCKINFO mmSub;
MmSub.ckid=mmioFOURCC(‘f’,’m’,’t’);
If (mmioDescend(h,(LPMMCKINFO)& mmSub,
(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK))
{
mmioClose(h,0);
/* baùo loãi */
return(0);
}
Ñeán ñaây ta ñaõ coù theå baét ñaàu ñoïc döõ lieäu töø Wave File. Ñoaïn maõ sau ñoïc ñoái töôïng PCMWAVEFORMAT töø fmt subchunk:
PCMWAVEFORMAT waveformat;
Int n;
n = min ((unsigned int)mmSub.cksize,
sizeof(PCMWAVEFORMAT));
if(mmioRead(h,(HPSTR)&waveformat,
(long)n) !=(long)n)
{
/* baùo loãi */
return(0L);
}
if(waveformat.wf.wFormatTag !=WAVE_FORMAT_PCM)
{
/* baùo loãi */
mmioClose(h,0);
return(0L);
}
Ñoái soá ñaàu tieân cuûa mmioRead laø handle cuûa file ñang ñoïc. Ñoái soá thöù hai laø con troû xa troû tôùi vuøng ñeäm ñeå chöùa döõ lieäu. Ñoái soá thöù ba laø soá byte caàn ñoïc. Haøm naøy seõ traû veà soá byte thöïc söï ñoïc ñöôïc.
Sau khi ñaõ ñoïc noäi dung cuûa chunk, ta ñi ra khoûi chunk ñeå chuaån bò ñoïc chunk keá tieáp:
MmAscend(h,(LPMMCKINFO)&mmSub,0);
Ñoái soá thöù hai cuûa mmAscend laø ñoái töôïng MMCKINFO cuûa chunk maø ta “ñi ra”. Ñoái soá thöù ba laø ñoái soá giaû.
Coâng vieäc coøn laïi laø ñoïc döõ lieäu maõ hoùa maãu aâm thanh cuûa Wave file vaøo boä nhôù. Chuù yù raèng giaù trò cksize traû veà bôûi mmioDescend ñöôïc söû duïng ñeå xaùc ñònh kích thöôùc vuøng ñeäm caàn caáp phaùt ñeå chöùa döõ lieäu.
GLOBALHANDLE wavehandle;
HPSTR wavepointer;
MmSub.ckid=mmioFOURCC(‘d’,’a’,’t’,’a’);
If(mmioDescend(h,(LPMMCKINFO)&mmSub,
(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK))
{
mmioClose(h,0);
/* baùo loãi */
return(0);
}
if((wavehandle=GlobalAlloc(GMEM_MOVEBLEIGMEM_
SHARE, mmSub.cksize))==NULL)
{
mmioClose(h,0);
/* baùo loãi */
return(0);
}
if(wavepointer=(HPSTR)GLOBALLOCK(WAVEHANDLE))
==null)
{
GlobalFree(wavehandle);
mmioClose(h,0);
/* baùo loãi */
return(0);
}
if(mmioRead(h,wavepointer,mSub.cksize) !=
mSub.cksize)
{
GlobalUnlock(wavehandle);
GlobalFree(wavehandle);
mmioClose(h,0);
/* baùo loãi */
return(0);
}
GlobalUnlock(wavehandle);
CHÖÔNG 3. LYÙ THUYEÁT XÖÛ LYÙ TÍN HIEÄU SOÁ.
I. TÍN HIEÄU VAØ HEÄ THOÁNG RÔØI RAÏC
1. Giôùi thieäu
Tín hieäu laø bieåu hieän vaät lyù cuûa thoâng tin, thöôøng laø thoâng tin veà traïng thaùi hay haønh vi cuûa moät heä vaät lyù naøo ñoù. Veà maët toaùn hoïc, tín hieäu ñöôïc coi laø haøm cuûa cuûa moät hay vaøi bieán ñoäc laäp. Ví duï: tín hieäu aâm thanh laø söï thay ñoåi aùp suaát khoâng khí theo thôøi gian; tín hieäu hình aûnh laø haøm ñoä saùng theo hai bieán khoâng gian..
Theo qui öôùc chung, tín hieäu ñöôïc coi laø haøm theo moät bieán ñoäc laäp vaø laø bieán thôøi gian.
Tín hieäu soá (Digital signal) laø tín hieäu rôøi raïc (theo bieán ñoäc laäp thôøi gian) ñoàng thôøi coù bieân ñoä cuõng rôøi raïc hoùa (löôïng töû hoùa).
2. Ñaùp öùng xung trong heä tuyeán tính baát bieán.
Tín hieäu vaøo x(n) ñöôïc goïi laø taùc ñoäng, tín hieäu ra y(n) ñöôïc goïi laø ñaùp öùng cuûa heä xöû lyù. Ta coù quan heä:
T : pheùp bieán ñoåi
Moät heä thoáng laø tuyeán tính neáu thoûa nguyeân lyù xeáp choàng: giaû söû y1(n) vaø y2(n) laø ñaùp öùng cuûa heä töông öùng vôùi taùc ñoäng vaøo laø x1(n) vaø x2(n). Heä laø tuyeán tính neáu vaø chæ neáu :
Nhö vaäy, moät heä tuyeán tính coù theå xöû lyù toång taùc ñoäng nhö laø caùc taùc ñoäng naøy ñöôïc xöû lyù ñoäc laäp, sau ñoù caùc ñaùp öùng töông öùng seõ ñöôïc coäng laïi.
Moät tín hieäu x(n) baát kyø coù theå bieåu dieãn :
Do vaäy ñoái vôùi heä tuyeán tính:
hk(n) goïi laø ñaùp öùng xung cuûa heä ñoái vôùi taùc ñoäng laø xung d(n-k)
Theo coâng thöùc treân, heä tuyeán tính vaãn coøn tuøy thuoäc vaøo thôøi ñieåm taùc ñoäng k. Moät heä tuyeán tính laø baát bieán(theo thôøi gian) neáu tín hieäu vaøo bò dòch ñi moät ñoaïn thôøi gian laø k thì tín hieäu ra cuõng chæ dòch moät ñoaïn k, töùc moïi hk(n) trôû thaønh h(n-k).
Nhö vaäy moïi heä tuyeán tính baát bieán ñeàu ñöôïc ñaëc tröng hoaøn toaøn baèng ñaùp öùng h(n), bieát h(n) ta hoaøn toaøn tính ñöôïc ñaùp öùng y(n) cuûa tín hieäu vaøo x(n).
Coâng thöùc treân coøn ñöôïc goïi laø Toång chaäp (convolution sum) cuûa hai tín hieäu x(n) vaø h(n), vaø coøn ñöôïc kyù hieäu:
3. Tính chaát cuûa toång chaäp cuûa heä TTBB
Tính giao hoaùn:
=
Tính phaân phoái:
Nhö vaäy, töø tính chaát giao hoaùn, ta thaáy raèng: hai heä TTBB coù ñaùp öùng xung laø h1(n) vaø h2(n) ñöôïc maéc noái tieáp nhau seõ töông ñöông vôùi moät heä coù ñaùp öùng xung:
vaø thöù töï maéc noái tieáp khoâng quan troïng.
Töø tính chaát phaân phoái, hai heä TTBB maéc song song nhau seõ töông ñöông vôùi moät heä coù ñaùp öùng xung baèng toång hai ñaùp öùng xung:
4. Heä nhaân quaû (causal system)
Caùc heä coù tín hieäu ra chæ phuï thuoäc vaøo tín hieäu trong quaù khöù vaø hieän taïi ñöôïc goïi laø caùc heä nhaân quaû, töùc phaûi coù taùc ñoäng vaøo (nguyeân nhaân) thì môùi coù taùc ñoäng ra (keát quaû).
Ñònh lyù: Heä tuyeán tính baát bieán (TTBB) laø nhaân quaû neáu ñaùp öùng xung h(n) = 0 vôùi moïi n<0.
Ñoái vôùi moät heä TTBB vaø nhaân quaû, daïng chung cuûa coâng thöùc toång chaäp
hoaëc vieát caùch khaùc:
Neáu ñaùp öùng xung h(n) coù ñoä daøi höõu haïn N thì:
Môû roäng cho tín hieäu: tín hieäu nhaân quûa laø tín hieäu baét ñaàu khaùc 0 töø thôøi ñieåm 0.
x(n)
khi n<0
khi n³0
5. Tính oån ñònh.
Ñònh nghóa: moät heä laø oån ñònh neáu ñaùp öùng cuûa heä luoân bò chaën ñoái vôùi taùc ñoäng vaøo bò chaën.
Ñònh lyù: Moät heä TTBB laø oån ñònh neáu vaø chæ neáu ñaùp öùng xung thoûa maõn ñieàu kieän sau:
6. Phöông trình sai phaân tuyeán tính heä soá haèng
Ta chæ khaûo saùt caùc heä thoáng tuyeán tính baát bieán vaø coù theå ñaëc tröng bôûi caùc phöông trình sai phaân coù heä soá haèng. Moái lieân heä giöõa tín hieäu vaøo x(n) vaø tín hieäu ra y(n) coù daïng nhö sau:
Trong ñoù taäp caùc heä soá ak vaø br ñaëc tröng cho heä TTBB.
7. Bieåu dieãn caùc heä rôøi raïc trong mieàn taàn soá.
7.1. Pheùp bieán ñoåi Fourier cuûa tín hieäu rôøi raïc.
Vôùi tín hieäu vaøo x(n)= ejwn (coù taàn soá w=2pf) vaø ñaùp öùng xung h(n), ta coù tín hieäu ra:
Haøm H(ejw) goïi laø ñaùp öùng taàn soá cuûa heä, bieåu dieãn ñaùp öùng cuûa heä thoáng theo haøm cuûa taàn soá ñoái vôùi daõy taùc ñoäng ejwn, noù cho bieát söï thay ñoåi veà bieân ñoä vaø pha theo taàn soá khi tín hieäu ñi qua heä.
H(ejw) laø moät haøm soá phöùc vaø coù theå bieåu dieãn theo phaàn thöïc vaø aûo:
H(ejw)= Hr(ejw)+ jHi(ejw). (r: real; i: image)
Hoaëc theo bieân ñoä vaø pha:
H(ejw)= | H(ejw)| ejargH(ejw ) (0£w£2p).
H(ejw) laø haøm lieân tuïc theo w vaø tuaàn hoaøn vôùi chu kyø 2p. Ta coù theå khai trieån noù thaønh chuoãi Fourier, ngöôïc laïi h(n) coù theå ñöôïc tính toaùn töø H(ejw) baèng caùc coâng thöùc tính heä soá khai trieån chuoãi Fourier:
Trong ñoù :
Bieán ñoåi Fourier cuûa daõy rôøi raïc:
Ñoái vôùi tín hieäu tuaàn hoaøn
7.2. Pheùp bieán ñoåi Fourier thuaän.
7.3. Pheùp bieán ñoåi Fourier nghòch.
7.4. Phoå bieân ñoä, phoå pha vaø phoå naêng löôïng
Do X(f) laø moät haøm phöùc neân ta coù theå bieåu dieãn döôùi daïng modul vaø argument:
Haøm modul X(f) theo f ñöôïc goïi laø phoå bieân ñoä cuûa tín hieäu x(n), coøn haøm q(f)=arg[X(f)] ñöôïc goïi laø phoå pha.
Cuoái cuøng f(f)=|X(f)|2 ñöôïc goïi laø phoå naêng löôïng, bieåu dieãn söï phaân boá theo taàn soá cuûa naêng löôïng tín hieäu x(n).
8. Ñònh lyù laáy maãu Shannon
Moät tín hieäu töông töï xa(t) coù daûi phoå höõu haïn vôùi giôùi haïn treân laø Fmax(Hz) (töùc laø phoå baèng 0 khi f naèm ngoaøi daûi - Fmax.. Fmax). Ta seõ chæ coù theå khoâi phuïc laïi xa(t) moät caùch chính xaùc töø caùc maãu xa(n.Ts) neáu nhö :
Fs ³ 2Fmax
hay Ts £ 1/(2Fmax).
Khoâi phuïc laïi tín hieäu töông töï töø tín hieäu laáy maãu:
Ta coù theå khoâi phuïc laïi tín hieäu xa(t) baèng caùch cho tín hieäu laáy maãu ñi qua moät maïch loïc (töông töï) thoâng thaáp lyù töôûng (low-pass filter) coù ñaùp öùng taàn soá Hlp(f) vôùi taàn soá caét laø fc = Fs/2. Phoå cuûa tín hieäu xa(t) seõ ñöôïc loïc laïi chính xaùc chæ vôùi ñieàu kieän :
Fs ³ 2Fmax
Nghóa laø thoûa maõn ñònh lyù laáy maãu. Khi ñoù trong khoâng gian taàn soá:
Xa(f) = X(f).Hlp(f)
Coøn trong khoâng gian thôøi gian:
Xa(t) = x(nTs)*hlp(t)
Trong ñoù hlp(t) laø ñaùp öùng xung cuûa maïch loïc thoâng thaáp lyù töôûng coù bieân ñoä daûi thoâng laø Ts.
II. PHEÙP BIEÁN ÑOÅI FOURIER RÔØI RAÏC
1. Chuoãi Fourier rôøi raïc cuûa tín hieäu rôøi raïc tuaàn hoaøn
Tín hieäu tuaàn hoaøn xp(n) laø tuaàn hoaøn vôùi chu kyø N neáu:
xp(n)= xp(n+N), vôùi moïi n.
Ñoái vôùi tín hieäu rôøi raïc, ta khai trieån Fourier theo haøm:
xk(n) = ej(2pk/N)n , k=0,±1, ±2..
Caùc haøm ñieàu hoøa phöùc rôøi raïc chæ coù N tín hieäu phaân bieät nhau vì tín hieäu sai khaùc nhau laø boäi cuûa N thì ñeàu nhö nhau:
xk(n) = xk±N(n) = xk±2N(n) = ej(2pk/N)n
Ñoái vôùi tín hieäu tuaàn hoaøn vaø rôøi raïc xp(n), ta coù chuoãi Fourier rôøi raïc (DFS):
k=N
Trong ñoù caùc heä soá ak laø caùc heä soá khai trieån chuoãi Fourier rôøi raïc hay coøn ñöôïc goïi laø caùc vaïch phoå cuûa tín hieäu tuaàn hoaøn.
2. Bieán ñoåi Fourier rôøi raïc cuûa tín hieäu coù ñoä daøi höõu haïn(DFT:Discrete Fourier Transform)
Vieäc bieåu dieãn Fourier cho tín hieäu rôøi raïc coù ñoä daøi höõu haïn goïi laø pheùp bieán ñoåi Fourier rôøi raïc (DFT).
Tín hieäu coù ñoä daøi höõu haïn laø tín hieäu coù giaù trò khaùc 0 trong moät khoaûng höõu haïn thôøi gian naøo ñoù, vaø baèng 0 trong khoaûng coøn laïi. Ñaây laø loaïi tín hieäu toàn taïi trong thöïc teá vì chuùng ta chæ coù theå quan saùt moïi tín hieäu trong moät khoaûng thôøi gian laø höõu haïn töø N1 ñeán N2. Ñeå ñôn giaûn hoaù, ta coù theå qui öôùc tín hieäu x(n) toàn taïi trong khoaûng thôøi gian: 0 £ n £ M-1, töùc laø :
M = N2 - N1+1.
Vôùi tín hieäu x(n) naøy ñöôïc duøng nhö laø moät chu kyø tín hieäu, ta coù theå xaây döïng tín hieäu xp(n) tuaàn hoaøn vôùi chu kyø N baèng caùch xeáp choàng tuaàn hoaøn:
Neáu N ³ M thì khoâng xaûy ra hieän töôïng truøm thôøi gian giöõa caùc phaàn cuûa xp(n).
Do xp(n) chæ coù duy nhaát moät caùch bieåu dieãn chuoãi Fourier rôøi raïc neân x(n) cuõng vaäy. Töø chuoãi Fourier ta tính ra ñöôïc 1 chu kyø tín hieäu cuûa xp(n), trong ñoù coù x(n):
xp(n) 0 £ n £ N-1
x(n)=
0 n coøn laïi.
3. Pheùp bieán ñoåi nhanh fourier
Fast Fourier Transform (FFT) laø moät giaûi thuaät raát hieäu quaû ñeå tính DFT. Coâng thöùc bieán ñoåi DFT:
Ñaët Wnk =
Chia DFT thaønh 2 phaàn :
Kyù hieäu thaønh phaàn chaün laø xev vaø leû laø xod, ta vieát laïi:
, k = 0..N-1
Ñeå tính X(k) chæ caàn tính trong nöûa chu kyø N/2.
Xev(k) vaø Xod(k) tuaàn hoaøn vôùi chu kyø N/2: Xev(k) = Xev(k - N/2), N/2 £ k £ N-1.
CHÖÔNG 4. GIÔÙI THIEÄU VEÀ MPEG.
I. GIÔÙI THIEÄU.
1. MPEG laø gì?
MPEG, vieát taét cuûa cuïm töø “Moving Picture Experts Group”, laø moät nhoùm chuyeân nghieân cöùu phaùt trieån caùc tieâu chuaån veà hình aûnh soá vaø neùn aâm thanh theo chuaån ISO/IEC. Ngaøy nay, nhoùm laøm vieäc MPEG ñaõ phaùt trieån vaø phaùt haønh caùc tieâu chuaån MPEG-1, MPEG-2 vaø MPEG-4. Chuaån MPEG-3 ñöôïc keát hôïp vaøo MPEG-2 vaø khoâng coøn taùch rieâng nöõa. Nhoùm MPEG hieän nay ñaõ phaùt trieån ñeán chuaån MPEG-7. MPEG chæ laø moät teân rieâng, teân chính thöùc cuûa noù laø : ISO/IEC JTC1 SC29 WG11.
ISO : International Organization for Standardization
IEC : International Electro-technical Commission
JTC1 : Joint Technical Committee 1
SC29 : Sub-committee 29
WG11: Work Group 11 (moving picture with audio).
2. So saùnh caùc chuaån MPEG:
MPEG-1 ñònh nghóa moät tieâu chuaån cho vieäc löu tröõ vaø phuïc hoài caùc hình aûnh ñoäng vaø aâm thanh treân caùc thieát bò löu tröõ. Tieâu chuaån naøy ñònh nghóa raèng hình aûnh ñöôïc phaùt laïi ôû toác ñoä 30 frames moät giaây vaø aâm thanh ñöôïc phaùt laïi ôû chaát löôïng nhö CD-audio, ñoä phaân giaûi hình aûnh laø 352 x 240. Chuaån MPEG-1 ñöôïc duøng ñieån hình trong caùc phaàn meàm huaán luyeän baèng maùy tính, caùc game haønh ñoäng trong maùy tính, video chaát löôïng VHS, Karaoke..
MPEG-2 ñònh nghóa cho moät tieâu chuaån kyõ thuaät truyeàn hình soá. Chuaån MPEG-2 khaéc phuïc moät vaøi nhöôïc ñieåm cuûa chuaån MPEG-1. Ví duï, MPEG-2 coù theå taïo hình aûnh lôùn gaáp 4 laàn MPEG-1 vôùi ñoä neùt cao hôn vaø roõ hôn (720 x 480 vaø 1280 x 720). Caùc ñaëc tính cuûa MPEG-2 bao goàm hình aûnh chaát löôïng cao vaø aâm thanh noåi..
MPEG-3 ñònh nghóa moät tieâu chuaån cho High Difinition Television (HDTV), laø theá heä tieáp theo cuûa coâng ngheä truyeàn hình theo ñònh daïng soá ñaày ñuû. Tieâu chuaån naøy ñaõ khoâng ñöôïc phaùt trieån hoaøn thieän vaø cuoái cuøng ñöôïc keát hôïp vaøo vôùi chuaån MPEG-2. MPEG-3 ñi ñeán muïc tieâu laø caùc öùng duïng HDTV vôùi kích thöôùc maãu leân ñeán 1920x1080x30 Hz vaø ñöôïc maõ hoaù ôû toác ñoä bit 20 ñeán 40 Mbits/s. Cuoái cuøng ngöôøi ta ñaõ nhaän ra raèng vôùi moät vaøi ñieàu chænh thích hôïp, MPEG-1 vaø MPEG-2 laøm vieäc raát toát ñoái vôùi HDTV.
MPEG-4 ñònh nghóa moät tieâu chuaån cho caùc öùng duïng Multi-media. Ñaëc bieät noù ñònh nghóa tieâu chuaån truyeàn cho doøng phöùc taïp caùc hình aûnh, aâm thanh vaø döõ lieäu ñoà hoaï vaø vieäc taùi hôïp chuùng treân thieát bò thu. MPEG-4 ñöôïc phaùt trieån theo 2 giai ñoaïn, 1 vaø 2. Chuaån MPEG-4 ñònh nghóa caùc ñoái töôïng hình aûnh maø trong ñoù caùc phaàn cuûa moät caûnh coù theå ñöôïc thao taùc trong khi nhöõng phaàn khaùc vaãn khoâng ñoåi.
MPEG-5 vaø MPEG-6 vaãn chöa ñöôïc coâng boá.
MPEG-7 ñònh nghóa moät tieâu chuaån veà vieäc bieåu dieãn noäi dung cho caùc nghieân cöùu thoâng tin hình aûnh vaø aâm thanh. Teân chính thöùc laø “Multimedia Content Description Interface”. Muïc tieâu cuûa MPEG-7 laø chuaån hoaù vieäc bieåu dieãn caùc moâ taû veà noäi dung nghe nhìn. Tuy nhieân chuaån khoâng ñònh nghóa caùc coâng cuï ñeå nhaän ra noäi dung nghe nhìn thaät söï.
3. AÂm thanh MPEG.
Khaû naêng cuûa aâm thanh MPEG, veà cô baûn, aâm thanh MPEG seõ laøm giaûm kích thöôùc löu tröõ 1 taâp tin aâm thanh ñi raát nhieàu. Moät ñóa Audio-CD löu tröõ ñöôïc khoaûng 650 Mbyte döõ lieäu aâm thanh thoâ vôùi caùch maõ hoùa 16 bit (bitdepth) vaø taàn soá laáy maãu (sample rate) 44.1 kHz. Neáu ñem phaùt ra thì cuõng chæ ñöôïc 60 ñeán 72 phuùt.
- bitdepth: moâ taû möùc bieân ñoä lôùn nhaát maø moät maãu aâm thanh coù theå ñaït tôùi. Ví duï: 8 bit = 256 möùc, 16 bit = 65536 möùc, veà hình aûnh thì ñoù chính laø ñoä phaân giaûi.
- sample rate: moâ taû soá maãu aâm thanh ñöôïc laáy trong 1 giaây. Ví duï: 22 kHz = 22.000 maãu/1giaây.
Phöông phaùp coå ñieån ñeå giaûm kích thöôùc löu tröõ laø giaûm löôïng thoâng tin. Neáu ñoåi caùch löu tröõ aâm thanh töø 16 bit sang 8 bit chuùng ta coù theå giaûm kích thöôùc löu tröõ ñi 1 nöûa, tuy nhieân nhö theá chaát löôïng aâm thanh cuõng seõ giaûm ñi 1 nöûa.
Hình 4.1
4. Caùc khaùi nieäm trong aâm thanh MPEG.
a. Hieäu öùng che (masking): noùi ñôn giaûn laø aâm lôùn aùt aâm beù, aâm maïnh aùt aâm yeáu.
b. Ngöôõng nghe vaø möùc nhaïy caûm.
· Thí nghieäm: ñaët moät ngöôøi trong phoøng yeân tónh. Taêng möùc to cuûa aâm 1kHz leân cho ñeán ngay khi coù theå nghe ñöôïc roõ raøng. Laëp laïi thí nghieäm vôùi caùc taàn soá khaùc nhau, ta veõ ñöôïc ñoà thò sau:
Hình 4.2
· “Ngöôõng nghe” : laø möùc maø döôùi noù 1 aâm thanh khoâng theå nghe ñöôïc. Noù thay ñoåi theo taàn soá aâm thanh, vaø dó nhieân giöõa moãi ngöôøi khaùc nhau. Haàu heát moïi ngöôøi ñeàu nhaïy caûm ôû möùc 2 ñeán 5 kHz. Moät ngöôøi coù nghe ñöôïc aâm thanh hay khoâng tuøy thuoäc vaøo taàn soá cuûa aâm vaø ñoä to cuûa aâm ñoù ôû treân hay döôùi ngöôõng nghe taïi taàn soá ñoù. Tai nhaïy caûm ôû möùc 2 ñeán 5 kHz .
· Ngöôõng nghe cuõng coù tính thích nghi, thay ñoåi coá ñònh bôûi aâm thanh maø ta nghe ñöôïc. Ví duï, moät cuoäc noùi chuyeän bình thöôøng trong moät phoøng thì coù theå nghe ñöôïc roõ raøng ôû ñieàu kieän bình thöôøng. Tuy nhieân, cuõng cuoäc troø chuyeän ñoù naèm trong vuøng laân caän cuûa nhöõng tieáng oàn lôùn, nhö laø tieáng oàn do moät chieác phaûn löïc bay ngang beân treân, laø hoaøn toaøn khoâng theå nghe ñöôïc do luùc naøy ngöôõng nghe ñaõ bò sai leäch. Khi chieác phaûn luïc ñaõ ñi roài thì ngöôõng nghe trôû laïi bình thöôøng. Aâm thanh maø ta khoâng theå nghe ñöôïc do söï thích nghi ñoäng cuûa ngöôõng nghe goïi laø bò “che” (masked).
c. Che taàn soá (Frequency Masking)
Thí nghieäm:
· Phaùt ra 1 aâm coù taàn soá 1 kHz vôùi möùc to coá ñònh laø 60dB, goïi laø “aâm che” (masking tone). Phaùt ra moät aâm khaùc (goïi laø test tone) ôû möùc taàn soá khaùc (ví duï 1.1kHz), vaø taêng möùc to cuûa aâm naøy cho ñeán khi coù theå nghe ñöôïc noù (phaân bieät ñöôïc aâm 1.1 kHz vaø aâm che 1kHz).
· Laøm laïi thí nghieäm vôùi caùc aâm thöû (test tone) vaø veõ ra moät ngöôõng maø taïi ñoù caùc aâm thöû baét ñaàu coù theå phaân bieät ñöôïc:
Hình 4.3
· Laøm thí nghieäm vôùi caùc “masking tones” coù caùc taàn soá khaùc nhau, ta coù ñöôïc hình veõ:
Hình 4.4
d. Che nhaát thôøi. (che thôøi gian)
· Neáu ta nghe moät aâm thanh lôùn, roài ngöng noù laïi, maõi moät luùc sau ta môùi coù theå nghe ñöôïc moät aâm laân caän nhoû hôn .
· Thí nghieäm: phaùt ra moät aâm che “masking tone” coù taàn soá 1kHz ôû möùc 60dB, keøm moät aâm thöû (test tone) 1.1kHz ôû möùc 40dB. Ta khoâng nghe ñöôïc aâm thöû naøy (noù ñaõ bò che).
Döøng aâm che laïi, ñôïi moät luùc (delay time) ta döøng tieáp aâm thöû (test tone).
Ñieàu chænh thôøi gian delay ñeå cho ta vöøa coù theå nghe ñöôïc aâm chuû (ví duï khoaûng 5ms).
Laëp laïi thí nghieäm cho caùc möùc to khaùc nhau cuûa aâm thöû, ta veõ ñöôïc ñoà thò sau:
Hình 4.5
· Laøm thí nghieäm töông töï vôùi caùc taàn soá khaùc nhau cho aâm thöû. Hieäu quûa che ñöôïc veõ nhö hình.
Hình 4.6
5. Hoaït ñoäng:
· Khi ñöa ra phöông phaùp maõ hoùa aâm thanh, neàn taûng vaãn laø yeáu toá “heä thoáng nghe” cuûa con ngöôøi. Thaät khoâng may ñoù khoâng phaûi 1 thieát bò hoaøn haûo ñeå nhaän bieát aâm thanh nhöng laø thieát bò duy nhaát chuùng ta coù ñöôïc. Nhöng chuùng ta coù theå chuyeån nhöõng khuyeát ñieåm cuûa noù thaønh öu ñieåm : ñoù laø ñaëc tính phi tuyeán cuûa ngöôõng nghe vaø khaû naêng thích hôïp cuûa noù.
· MPEG hoaït ñoäng döïa treân heä thoáng nghe cuûa con ngöôøi, ñoù laø caûm giaùc veà aâm mang ñaëc tính sinh lyù vaø taâm lyù.
· Aâm thanh CD ghi laïi taát caû taàn soá, keå caû nhöõng taàn soá bò ‘che’.
· Aâm thanh MPEG chæ ghi laïi nhöõng taàn soá maø tai ngöôøi coù theå nghe.
· Nhö vaäy, MPEG seõ boû qua nhöõng thoâng tin khoâng quan troïng. Döïa treân nghieân cöùu veà nhaän thöùc aâm thanh cuûa con ngöôøi, boä maõ hoùa seõ quyeát ñònh nhöõng thoâng tin naøo laø caên baûn vaø nhöõng thoâng tin naøo coù theå boû qua.
· Hieäu quûa naøy laø bao quaùt nhöng ñaëc bieät quan troïng trong aâm nhaïc. Neáu trong moät daøn nhaïc coù moät nhaïc cuï chôi cöïc maïnh, laøm aùt tieáng cuûa caùc nhaïc cuï khaùc ta khoâng theå nghe ñöôïc. Nhöng maùy thaâu aâm vaãn ghi laïi ñaày ñuû taát caû taàn soá cuûa taát caû nhaïc cuï, nghóa laø thieát bò thaâu aâm hoaøn toaøn khoâng coù khaû naêng thích nghi ñoäng nhö con ngöôøi. Nhöng khi phaùt laïi, ta vaãn khoâng nghe ñöôïc aâm thanh cuûa nhöõng nhaïc cuï bò aùt. Vì vaäy vieäc löu tröõ/ghi laïi nhöõng taàn soá naøy laø thöøa, laøm chieám dung löôïng khaù nhieàu. Caùch ghi aâm tuyeán tính treân ñóa CD laø hoaøn toaøn khoâng hieäu quûa veà khía caïnh naøy. Do ñoù thay vì phaûi ghi laïi thoâng tin cuûa nhöõng aâm khoâng nghe ñöôïc, ta seõ daønh choã cho caùc aâm coù theå nghe ñöôïc. Theo caùch naøy, dung löôïng cuûa thieát bò ghi aâm caàn thieát coù theå xem nhö giaûm ñi maø khoâng laøm giaûm chaát löôïng aâm thanh.
· Tröôùc khi chuùng ta nghe ñöôïc ñieàu gì, thoâng tin seõ ñöôïc phaân tích bôûi boä naõo cuûa chuùng ta. Naõo boä seõ dòch aâm thanh vaø loïc boû nhöõng thoâng tin khoâng caàn thieát. Kyõ thuaät aâm thanh MPEG laøm vieäc naøy thay theá cho naõo boä. Nhö vaäy, nhöõng thoâng tin leõ ra phaûi ñöôïc loïc bôûi naõo boä baây giôø khoâng coøn caàn phaûi löu tröõ chieám giöõ khoâng gian ñóa nöõa.
II. CAÙC KHAÙI NIEÄM CÔ BAÛN VEÀ MPEG.
1. Löôïc ñoà maõ hoùa Perceptual Subband.
Boä maõ hoùa aâm thanh theo “perceptual subband” phaân tích lieân tuïc caùc tín hieäu vaøo vaø xaùc ñònh ra ñöôøng cong che (masking curve), ñoù laø möùc ngöôõng maø nhöõng aâm thanh ôû döôùi noù khoâng theå nghe ñöôïc bôûi heä thoáng nghe cuûa con ngöôøi.
Hình 4.7
Tín hieäu vaøo ñöôïc chia thaønh 1 soá daûi taàn soá, goïi laø “subband”. Moãi tín hieäu “subband” ñöôïc löôïng töû hoùa theo caùch maø söï löôïng töû hoùa tieáng oàn ñöôïc baét ñaàu bôûi vieäc maõ hoùa seõ khoâng vöôït quùa ñöôøng cong che cuûa subband ñoù. Söï löôïng töû hoùa phoå tieáng oàn vì theá thích nghi ñoäng vôùi phoå cuûa tín hieäu.Thoâng tin treân boä soá hoùa ñöôïc duøng trong moãi subband ñöôïc truyeàn doïc theo caùc maãu subband ñöôïc maõ hoùa. Boä giaûi maõ seõ giaûi maõ doøng bit (bitstream) maø khoâng caàn phaûi bieát caùch maø boä maõ hoùa xaùc ñònh nhöõng thoâng tin naøy. Ñieàu naøy cho pheùp boä maõ hoùa hoaït ñoäng vôùi nhöõng möùc ñoä khaùc nhau veà chaát löôïng vaø ñoä phöùc taïp, vaø cuõng cho pheùp söï phaùt trieån trong töông lai cuûa boä maõ hoùa.
2. Giaûi thích veà hieäu quûa che (masking effect).
a. Neùn aâm thanh MPEG.
MPEG coù theå neùn 1 doøng bit 32 kbit/s ñeán 384 kbit/s. Moät doøng bit aâm thanh PCM thoâ thì khoaûng 705 kbit/s, do ñoù tæ soá neùn toái ña coù theå laø 22. Tæ soá neùn bình thöôøng laø 1:6 hay 1:7. 96 kbit/s laø xem nhö trong suoát cho haàu heát caùc muïc ñích thöïc teá. Coù nghóa raèng ta khoâng caàn phaûi löu taâm ñeán baát kyø söï khaùc bieät naøo giöõa tín hieäu goác vaø tín hieäu neùn ñoái vôùi nhaïc pop hay nhaïc rock’n roll. Ñoái vôùi moät soá öùng duïng khaùc nhö laø hoøa taáu piano, toác ñoä bit coù theå leân tôùi 128 kbit/s.
Ñeå ñaït ñöôïc tæ soá neùn naøy, ñoái vôùi aâm thanh, veà cô baûn ta coù hai choïn löïa: hoaëc giaûm soá laàn laáy maãu, hoaëc giaûm soá bit ñeå löôïng töû hoaù. Con ngöôøi coù theå nghe aâm thanh vôùi taàn soá töø 20 Hz ñeán 20 kHz. Theo thuyeát cuûa Nyquist, ta phaûi laáy maãu aâm thanh ôû taàn soá toái thieåu laø hai laàn taàn soá cao nhaát maø ta muoán phaùt laïi. Taàn soá laáy maãu 44,1 kHz laø thích hôïp. Vaán ñeà coøn laïi laø phaûi choïn soá bit cho moät maãu maõ hoùa laø bao nhieâu. Thoâng thöôøng laø 16 bit.
Lyù do ñeå choïn con soá 16 bit baét nguoàn töø tæ soá tín hieäu vaø nhieãu (s/n). Nhieãu noùi ôû ñaây sinh ra do quùa trình soá hoùa. Cöù moãi bit theâm vaøo, ta coù tæ soá s/n toát hôn 6dB (ñoái vôùi tai ngöôøi, 6 dB töông öùng vôùi möùc to gaáp ñoâi). Aâm thanh CD ñaït tôùi khoaûng 90 dB s/n. Möùc naøy phuø hôïp vôùi phaïm vi ñoäng cuûa tai ngöôøi coøn toát. Nghóa laø ta khoâng theå nghe ñöôïc baát kyø nhieãu naøo ñeán töø baûn thaân heä thoáng. Ñieàu gì xaûy ra neáu ta laáy maãu vôùi 8 bit? Ta seõ nghe thaáy raát nhieàu tieáng soâi trong baûn ghi. Deã daøng nghe thaáy nhieãu trong khoaûng nghæ cuûa baûn nhaïc hoaëc giöõa caùc töø neáu ta ghi aâm moät gioïng noùi.
b. Hieäu quûa che.
Giaû söû coù moät aâm maïnh vôùi taàn soá 1000Hz, vaø moät aâm keøm theo coù taàn soá 1100Hz nhöng vôùi cöôøng ñoä aâm nhoû hôn 18dB. Ta seõ khoâng theå nghe thaáy aâm naøy vì noù ñaõ bò che hoaøn toaøn bôûi aâm chuû 1000Hz. Noùi moät caùch khaùc, moät aâm thanh yeáu gaàn moät aâm thanh maïnh seõ bò che. Neáu coù moät aâm thanh khaùc taàn soá 2000Hz cuõng coù möùc to thaáp hôn aâm 1000Hz laø 18dB thì ta seõ nghe ñöôïc aâm naøy. Ñeå khoâng nghe ñöôïc aâm naøy ta phaûi giaûm möùc to cuûa aâm naøy xuoáng coøn thaáp hôn 45dB so vôùi aâm chuû 1000Hz. Hieäu quûa che coù yù nghóa raèng ta coù theå gia taêng möùc oàn neàn xung quanh moät aâm maïnh maø vaãn khoâng nghe ñöôïc tieáng oàn vì chuùng seõ bò che hoaøn toaøn. Taêng möùc oàn neàn coøn coù nghóa laø duøng ít bit ñeå soá hoùa. Vaø ñieàu naøy cuõng gioáng nhö laø ta ñaõ neùn aâm thanh vaäy.
Baây giôø haõy xem boä maõ hoaù aâm thanh MPEG hoaït ñoäng nhö theá naøo. Boä maõ hoùa chia phoå taàn soá (20Hz ñeán 20kHz) thaønh 32 daûi nhoû (sub-band). Moãi sub-band giöõ 1 phaàn nhoû cuûa phoå. Trong vuøng treân cuûa sub-band 8 ta phaùt moät aâm coù taàn soá 1000Hz vôùi möùc to 60dB. Boä maõ hoùa seõ tính toaùn hieäu quûa che cuûa aâm naøy vaø nhaän ra raèng coù moät ngöôõng che cho toaøn boä sub-band thöù 8 (taát caû nhöõng aâm coù cuøng taàn soá). Ngöôõng che naøy thaáp hôn aâm phaùt ra 35 dB. Tæ soá s/n coù theå chaáp nhaän ñöôïc laø 60 - 35 = 25 dB, töông ñöông vôùi 4 bit. Ngoaøi ra noù coøn aûnh höôûng treân caùc sub-band 9-13 vaø 5-7 vôùi hieäu quûa che giaûm daàn töø sub-band 8. Hôn nöõa, boä maõ hoùa cuõng xem xeùt möùc ñoä nhaïy caûm cuûa tai ñoái vôùi caùc taàn soá khaùc nhau. Tai ngöôøi ít nhaïy caûm vôùi caùc taàn soá cao vaø thaáp. Noù nhaïy caûm nhaát ñoái vôùi taàn soá 2-4 kHz, cuøng daûi taàn soá vôùi tieáng noùi con ngöôøi.
Caùc sub-band neân phuø hôïp vôùi tai ngöôøi., nghóa laø moãi sub-band caàn coù caùc taàn soá coù cuøng caùc tính chaát aâm hoïc taâm lyù. Trong MPEG layerII, moãi sub-band coù ñoä roäng 625Hz, do ñoù caàn phaûi coù nhöõng boä loïc baêng thoâng phöùc taïp. Ñeå caùc boä loïc ñôõ phöùc taïp, ngöôøi ta theâm FFT (Fast Fourie Transform) vaøo song song vôùi boä loïc vaø söû duïng caùc thaønh phaàn phoå töø FFT nhö laø caùc thoâng tin theâm vaøo boä maõ hoùa. Baèng caùch naøy ta seõ laáy maät ñoä bit cao hôn ñoái vôùi caùc taàn soá thaáp maø tai ngöôøi nhaïy caûm hôn.
Coøn nhieàu vaán ñeà caàn phaûi baøn tôùi. Chuùng ta chæ môùi giaûi thích söï che ñoàng boä, hieäu quûa che coøn xaûy ra tröôùc vaø sau moät aâm maïnh.
3. Caùc lôùp cuûa aâm thanh MPEG.
Coù nhieàu söï nhaàm laãn veà lôùp aâm thanh MPEG. Taát caû caùc lôùp ñeàu döïa treân cuøng moät löôïc ñoà maõ hoùa (maõ hoùa theo nhaän thöùc). Möùc ñoä phöùc taïp cuûa boä maõ hoùa vaø giaûûi maõ tuyø thuoäc vaøo moãi lôùp. Sau ñaây laø hình aûnh cho thaáy tæ soá neùn maø ta caàn phaûi ñaït tôùi 100% chaát löôïng CD vôùi caùc boä maõ hoùa vaø giaûi maõ khaùc nhau.
Hình 4.8
Sau ñaây laø chi tieát veà caùc lôùp.
a. Lôùp I (Layer I):
Ñaây laø lôùp ñôn giaûn nhaát phuø hôïp cho öùng duïng cuûa ngöôøi duøng. Moâ hình aâm hoïc taâm lyù cuûa lôùp naøy chæ söû duïng caùc taàn soá che. Ñieàu naøy coù nghóa raèng noù seõ boû qua caùc taàn soá bò khuaát sau caùc taàn soá khaùc. Phaïm vi toác ñoä bit töø 32 kbit/s (mono) ñeán 448 kbit/s (stereo). Tuøy thuoäc vaøo möùc ñoä phöùc taïp cuûa boä maõ hoùa, moät aâm thanh chaát löôïng cao (gaàn vôùi aâm thanh CD) yeâu caàu toác ñoä bit khoaûng 256 - 384 kb/s treân moät chöông trình stereo. Khoâng neân maõ hoùa vôùi möùc neùn cao hôn 384 kb/s. Ñoä phöùc taïp cuûa boä giaûi maõ thaáp, ñoä phöùc taïp cuûa boä maõ hoùa cao hôn 1.5 - 3 laàn. Lôùp I ñöôïc duøng nhieàu trong DDC vaø Solid State Audio.
b. Lôùp II (Layer II):
Lôùp II ñeà nghò möùc ñoä neùn cao hôn lôùp I va._.
Các file đính kèm theo tài liệu này:
- LV0874.doc