1. Trang chủ
  2. » Luận Văn - Báo Cáo

đề tài nén âm thanh ffile wav theo chuẩn mpeg

73 345 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 1,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sự phát triển ồ ạt này đã dẫn tới ngành công nghệ phần cứng đã không thể đáp ứng được những đòi hỏi về lưu trữ, đồng hành với sự phát triển này là mạng máy tính đó chính là Internet ngày

Trang 1

Bình

Mục lục 1

Lời nói đầu 3

PHẦN I LÝ THUYẾT 4

CHƯƠNG 1 CÁC KIẾN THỨC CƠ BẢN VỀ ÂM THANH 5

I NHỮNG KHÁI NIỆM CƠ BẢN - SÓNG CƠ 6

1.1 Sự hình thành sóng trong môi trường đàn hồi 6

1.2 Các đặc trưng của sóng 7

1.3 Phương trình sóng 8

II SÓNG ÂM VÀ ĐẶC TÍNH ÂM THANH 8

2.1 Dao động âm và sự truyền dao động 8

2.2 Đơn vị vật lý của âm thanh 9

2.3 Đặc tính sinh lý về sự cảm thụ âm 12

CHƯƠNG 2 WAVE FILE 16

I MULTIMEDIA WINDOWS 16

II CẤU TRÚC WAVE FILE 17

2.1 RIFF file 17

2.2 Cấu trúc File Wave 17

III ĐỌC RIFF FILES 21

CHƯƠNG 3 LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ 25

I TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC 25

1 Giới thiệu 25

2 Đáp ứng xung trong hệ TTBB 25

3 Tính chất của tổng chập của hệ TTBB 26

4 Hệ nhân quả 27

5 Tính ổn định 27

6 Phương trình sai phân tuyến tính hệ số hằng 28

7 Biểu diễn các hệ rời rạc trong miền tần số 28

8 Định lý lấy mẫu Shannon 30

II PHÉP BIẾN ĐỔI FOURIER RỜI RẠC 30

1 Chuỗi Fourier rời rạc của tín hiệu rời rạc tuần hoàn 30

2 Biến đổi Fourier rời rạc của tín hiệu có độ dài hữu hạn 31

3 Phép biến đổi nhanh Fourier (FFT) 32

CHƯƠNG 4 GIỚI THIỆU VỀ MPEG 33

I GIỚI THIỆU 33

1 MPEG là gì? 33

2 So sánh các chuẩn MPEG 33

3 Am thanh MPEG 34

4 Các khái niệm cơ bản 35

5 Hoạt động 38

II CÁC KHÁI NIỆM TRONG ÂM THANH MPEG 40

1 Lược đồ mã hóa Perceptual Sub-band 40

2 Giải thích hiệu qủa che (masking efficiency) 41

3 Các lớp của âm thanh MPEG 43

III CÁC THÔNG SỐ 45

CHƯƠNG 5 CÁC GIẢI THUẬT NÉN ÂM THANH 50

I LÝ THUYẾT THÔNG TIN 50

II CÁC GIẢI THUẬT NÉN KHÔNG CÓ TỔN THẤT 51

Trang 2

1 Mã hóa Huffman 51

2 Mã hóa Huffman sửa đổi 53

3 Mã hóa số học 54

4 Giải thuật Lempel-Ziv-Welch (LZW) 55

III CÁC GIẢI THUẬT NÉN CÓ TỔN THẤT 57

1 Các phương pháp nén âm thanh đơn giản 57

2 Nén âm thanh dùng mô hình âm tâm lý 57

3 Nén âm thanh theo chuẩn MPEG 58

PHẦN II THIẾT KẾ CHƯƠNG TRÌNH 60

CHƯƠNG 6 LƯU ĐỒ GIẢI THUẬT VÀ CẤU TRÚC DỮ LIỆU 61

I SƠ ĐỒ KHỐI 61

II CẤU TRÚC DỮ LIỆU VÀ ĐỊNH NGHĨA 62

CẤU TRÚC DỮ LIỆU 62

Các cấu trúc về file 62

Các cấu trúc về dòng bít dữ liệu 63

Các cấu trúc để định dạng dòng bít dữ liệu 63

Các cấu trúc huffmancodetab 67

Các cấu trúc tính MDCT 67

Các cấu trúc scalefac_struct 67

B CÁC ĐỊNH NGHĨA 68

Các định nghĩa dùng trong truy xuất dữ liệu 68

Các định nghĩa dùng trong tính toán FFT 68

Các định nghĩa dùng trong định dạng dòng dữ liệu 68

Các định nghĩa dùng trong bộ mã hoá Huffman 68

Các định nghĩa dùng trong phân tích dữ liệu 69

Các định nghĩa dùng trong mô hình âm tâm lý 69

Các định nghĩa dùng trong truy xuất nhập dữ liệu 69

Các định nghĩa dùng trong cấu trúc file Wave và file Mpeg 69

III LƯU ĐỒ 71

CHƯƠNG 7: GIAO DIỆN VÀ THUYẾT MINH CHƯƠNG TRÌNH 75

GIỚI THIỆU 75

GIAO DIỆN 75

III.CHƯƠNG TRÌNH 77

TÀI LIỆU THAM KHẢO 87 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 và ngày càng phong phú, đa dạng các loại hình giải trí như: trò chơi điện tử, nghe nhạc xem phim, xem

ca nhạc(video), và đặc biệt là những trong chơi dạng không gian ba chiều Sự phát triển ồ ạt này đã dẫn tới ngành công nghệ phần cứng đã không thể đáp ứng được những đòi hỏi về lưu trữ, đồng hành với sự phát triển này là mạng máy tính đó chính là Internet ngày càng phát triển số lượng người tham gia truy cập ngày càng lớn và nhu cầu của họ thì ngày càng phong phú và đa dạng về tất cả các loại hình

Trang 3

Bình

nói trên Do đó tốc độ truy cập, tốc độ truyền tải trên mạng được quan tâm hơn để cho người dùng không phải sốt ruột ngồi chờ những trang web mà mình truy cập,

họ không phải bực mình khi download những file âm thanh và những bài hát mà

họ ưa thích vì đường truyền quá chậm trong khi công nghệ phần cứng đã phát triển mạnh Chính vì vậy các nhà nghiên cứu phần mềm đã chú ý đến việc phát triển phần mềm để hỗ trợ phần cứng Họ đã tạo ra những chương trình phần mềm

hỗ trợ tích cực phần cứng, từ đó đã ra đời những phần mềm nén âm thanh, hình ảnh, nén video, tách âm thanh từ những file video…để tạo ra những dạng âm thanh, hình ảnh, video như mindi, mpeg, mp3, mp4… những file ảnh dạng gif, jpeg…với dung lượng lưu trữ vô cùng nhỏ mặc dù chất lượng có giảm đi đôi chút nhưng không đáng kể so với những gì nó đạt được để truyền tải, truy cập nhanh hơn

Sự tồn tại của chuẩn JPEG (Joint Photographic Experts Group) chỉ để giảm tốc độ bit và chủ yếu phục vụ cho hình ảnh, rõ ràng là không đủ đáp ứng cho hình ảnh động có kèm âm thanh Để đáp ứng nhu cầu của thị trường, một nhóm các chuyên gia về hình ảnh động (Moving Picture Experts Group), gọi tắt là MPEG, được thành lập để nghiên cứu đưa ra những lược đồ mã hóa phù hợp cho việc truyền hình ảnh động và ghi lại chúng theo tiêu chuẩn trong các thiết bị lưu trữ số như CD-ROM, Video CD

Phần trình bày của luận văn chỉ nằm trong khuôn khổ "Am thanh" Do đó mọi vấn

đề liên quan tới hình ảnh sẽ không được đề cập tới, dù chuẩn MPEG là dùng cho

cả âm thanh và hình ảnh.

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.

Trang 4

PHẦN I

LÝ THUYẾT CƠ BẢN

Trang 5

Bình

CHUƠNG 1 .CÁC KIẾN THỨC CƠ BẢN VỀ ÂM THANH.

I NHỮNG KHÁI NIỆM CƠ BẢN - SÓNG CƠ

1.1 Sự hình thành sóng trong môi trường đàn hồi.

a Định nghĩa:

Các môi trường chất khí, chất lỏng, chất rắn là môi trường đàn hồi.

Môi trường đàn hồi có thể coi là những môi trường liên tục gồm những phân tử liên kết chặt chẽ với nhau, lúc bình thường mỗi phân tử có một vị trí cân bằng bền.

b Sự hình thành sóng trong môi trường đàn hồi:

Do tính chất của môi trường đàn hồi, cho nên nếu tác dụng lên phân tử nào đó của môi trường thì phân tử này rời khỏi vị trí cân bằng bền.

Do tương tác, các phân tử lân cận một mặt kéo phân tử A về vị trí cân bằng, mặt khác nhận một phần năng lượng do phân tử A truyền sang, do đó cũng dao động theo, hiện tượng này xảy ra liên tiếp tạo thành sóng Sóng đàn hồi (sóng cơ) là sự lan truyền dao động trong môi trường đàn hồi Sóng cơ không thể truyền được trong chân không, vì chân không không phải là môi trường đàn hồi.

Cần lưu ý trong khi truyền dao động, các phân tử của môi trường không di chuyển theo các dao động được lan truyền mà chỉ dao động quanh vị trí cân bằng của nó.

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.

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 lỏng và chất khí là những môi trường đó.

Trang 6

- Khi bị biến dạng nén hay căng mà trong môi trường có các lực đàn hồi xuất hiện thì trong môi trường đó có thể truyền được sóng dọc Chẳng hạn khi bị nén, chất lỏng hay chất khí sẽ tăng áp suất, lực nén giữ vai trò lực đàn hồi.

Như vậy trong chất lỏng và chất khí chỉ có sóng dọc truyền được, còn trong chất rắn có thể truyền được cả hai loại sóng.

1.2 Các đặc trưng của sóng.

a Vận tốc truyền sóng (C) :

Là quãng đường mà sóng truyền được trong một đơn vị thời gian.

b Bước sóng λ :

Là quãng đường mà sóng truyền được sau một thời gian bằng 1 chu kỳ T Như vậy

λ là khoảng cách bé nhất giữa các phân tử dao động cùng pha Theo định nghĩa ta

có : λ = CT.

c Chu kỳ và tần số:

Chu kỳ T là thời gian cần thiết để sóng truyền được 1 bước sóng λ

Tần số f là số chu kỳ thực hiện được trong 1 giây :

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.

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

Trang 7

Bình

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 đàn hồi như không khí dưới dạng sóng đàn hồi gọi là sóng âm Sóng âm đến kích động màng nhĩ tai gây cảm giác về âm, do đó cần phân biệt hai loại đại lượng về âm:

- Đại lượng âm khách quan: những đại lượng thuần túy vật lý, không phụ thuộc vào tai người.

- Đại lượng âm chủ quan: những đại lượng tâm lý vật lý phụ thuộc vào tai người 2.2.1 Đơn vị âm khách quan:

b Cường độ âm (I):

- Cường độ âm ở một điểm nào đó trên phương đã cho trong trường âm là số năng lượng âm đi qua đơn vị diện tích của mặt S vuông góc với phương truyền âm, tại điểm đó trong đơn vị thời gian.

- Một vài cường độ âm đáng chú ý:

Người nói thường I = 2.10 -3 W/m 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

γ = Cp/Cv = 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 Pmin = 2.10 -4 µbar

Cường độ âm nhỏ nhất Imin =

10 -16 W/cm 2

- Ap suất âm và cường độ âm lớn nhất mà tai người có thể chịu được là:

Pmax = 2.10 2 µ bar

Trang 8

Imax = 10 -4 W/cm 2

- Công suất âm nhỏ nhất có thể nghe thấy được Wmin = 10 -12 Watt.

2.2.2 Đơn vị âm chủ quan:

Tai người trung bình có thể nhận được những sóng âm có tần số từ 16 đến 20000

Hz, hiệu qủa này có liên quan tới khả năng sinh lý của tai người.

Như vậy, âm thanh là một hiện tượng tâm lý vật lý, không phải bất cứ sóng âm nào tới tai cũng gây ra cảm giác âm thanh như nhau Am có tần số khác nhau gây ra cảm giác khác nhau.

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” Am 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:

Po = 2.10 -5 N/ m 2

Io =

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 âm không tỉ

lệ thuận với cường độ âm của âm đó Khi cường độ âm tăng từ Io tới I thì cảm giác nghe to tăng tỉ lệ với lg(I/Io) Do đó người ta dùng thang lô-ga-rít cơ số 10 để đo mức cảm giác so với mức ngưỡng.

Mức ngưỡng gọi là mức zero qui ước :

lg(I/Io) = lg(10 -12 / 10 -12 ) = 0 bel.

Đơn

vị là Bel hay db 10db = 1 bel.

b Mức cường độ âm (LI):

Nếu gọi I là cường độ âm của âm đang xét và Io là cường độ âm của mức zero qui ước của âm chuẩn thì mức cường độ âm LI bằng :

LI = 10lg(I/Io) db

Trang 9

Bình

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à f1, một âm khác tần số là f2 (f2 > f1) thì f2 / f1 = 2 x

Khi x=1 tức f2 / f1 = 2 gọi là 1 quãng tần số (hay 1 ốc-ta).

Khi x=1/2 tức f2 / f1 = 1.41 gọi là nửa ốc-ta.

Khi x=1/3 tức f2 / f1 = 1.26 gọi là 1/3 ốc-ta.

- Mức áp suất âm của 1 ốc-ta bằng mức áp suất âm của 1/2 ốc-ta cộng thêm 3db.

- Mức áp suất âm của 1 ốc-ta bằng mức áp suất âm của 1/3 ốc-ta cộng thêm 5db.

Vì quãng tần số của một âm qui định độ cao của âm đó nên còn gọi là quãng độ cao Theo tập quán âm nhạc thì quãng độ cao gọi là quãng 8 (bát độ).

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:

- 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:

Trang 10

- Để biểu thị mức to trên cảm giác chủ quan, ta dùng đại lượng “mức to”, đơn vị là

“Fôn” với định nghĩa như sau :

Fôn là mức to của âm chuẩn, về giá trị bằng mức áp suất âm của âm chuẩn tức là : L = 20lg P/Po (Fôn).

- Vậy mức to của một âm bất kỳ đo bằng Fôn, về giá trị bằng mức áp suất âm của

âm chuẩn đo bằng db có cùng mức to với âm đó Thí dụ: âm có tần số 500 Hz mức

áp suất âm bằng 25 db và âm có tần số 50 Hz mức áp suất âm bằng 64 db sẽ có cùng mức to bằng 20 Fôn, bằng mức to của âm 1000 Hz mức áp suất bằng 20 db.

- Muốn biết mức to của một âm bất kỳ phải so sánh với âm chuẩn.

- Đối với âm chuẩn, mức to ở ngưỡng nghe là 0 Fôn, ngưỡng chói tai là 120 Fôn.

- Cùng một giá trị áp suất, âm tần số càng cao, mức to càng lớn.

b Độ to:

- Khi so sánh âm này to hơn âm kia bao nhiêu lần, dùng khái niệm “độ to” đơn vị

là “Sôn” với định nghĩa như sau:

Số lượng Sôn biểu thị số lần mạnh hơn của một âm nào đó so với âm chuẩn mà tai người có thể phân biệt được.

- Độ to là một thuộc tính của thính giác, cho phép phán đoán tính chất mạnh yếu của âm thanh Căn cứ vào độ to mà sắp xếp âm từ nhỏ tới to.

- Mức to tăng 10 Fôn thì độ to tăng gấp đôi và ngược lại.

2.3.2 Am điệu và âm sắc:

Âm điệu chỉ âm cao hay thấp, trầm hay bổng Âm điệu chủ yếu phụ thuộc vào tần

số của âm, tần số càng cao, âm nghe càng cao, tần số càng thấp âm nghe càng trầm.

Âm sắc chỉ sắc thái của âm du dương hay thô kệch, thanh hay rè, 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 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.

Trang 11

Bình

- 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 xạ gây ra Âm có tần số f < 1000 Hz sự chênh lệch cường độ do nhiễu xạ gây ra rất bé nhưng ở những tần số cao, sự chênh lệch này có thể đạt tới 20 - 30 db.

Do khả năng định vị của tai như vậy cho nên khi nghe âm có thể tập trung chú ý vào nguồn âm cần nghe, bỏ qua một cách tự nhiên những âm không cần nghe Nhờ hiệu qủa này mà tiếng ồn bị phủ lấp hoặc giảm nhỏ một cách tự nhiên Nếu chỉ nghe âm một tai thì hiệu qủa này mất.

4 Nghe âm và chênh lệch thời gian:

Tương tự như tác dụng lưu ảnh của mắt, tai người cũng có tác dụng lưu âm.

Thí nghiệm với nhiều thính giác bình thường cho thấy rằng, nếu hai âm như nhau đến tai người cách nhau < 50 ms thì tai người không phân biệt được, nghe như một

âm duy nhất.

Trang 12

CHƯƠNG 2 TẬP TIN DẠNG SÓNG (WAVE FILE).

I MULTIMEDIA WINDOWS

Từ phiên bản Windows 3.1, Multimedia đã trở thành một tính năng của Windows Multimedia Windows đã bổ sung một tính năng mới: đó là sự độc lập thiết bị trong việc xử lý âm thanh Sự độc lập thiết bị này thể hiện qua bộ API (Applycation Program Interface – Bộ giao diện lập trình ứng dụng) Bộ API độc lập về thiết bị đối với phần cứng và đó là một chức năng quan trọng của Windows Người lập trình sẽ lập trình điều khiển phần cứng trên Windows dựa trên chức năng của phần cứng hơn là các chi tiết cụ thể của nó Các nhà cung cấp phần cứng chỉ cần cung cấp một bộ điều khiển thiết bị (device driver) cho Windows, nhờ đó một ứng dụng trên Windows có thể điều khiển phần cứng thông qua Windows API.

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” (Am 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 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 cao, số byte dùng lượng tử hóa càng nhiều thì âm thanh phát lại càng trung thực, nhưng lại tăng số byte cần lưu trữ Với một mẫu âm thanh phát ra trong một phút cần phải lưu trữ ít nhất 660 kB Đó là lý do tại sao các File Wave luôn có kích thước khá lớn so với MIDI File.

Cấu trúc của Wave File thuộc vào lớp file được sử dụng bởi các hàm Multimedia của Windows: đó là RIFF FILE RIFF là chũ viết tắt của Resource Interchange File Format (dạng file trao đổi tài nguyên) Một RIFF file gồm một hoặc nhiều loại chunks, trong mỗi chunk lại chứa con trỏ chỉ đến chunk kế tiếp Mỗi chunk bao gồm loại chunk và dữ liệu theo sau loại chunk đó Một ứng dụng muốn đọc RIFF

Trang 13

Bình

file có thể đi qua lần lượt từng chunk, đọc dữ liệu ở chunk nó quan tâm và có thể

bỏ qua các chunk mà nó không quan tâm, một chunk của RIFF file luôn bắt đầu bởi một header có cấu trúc như sau:

Typedef struct

{ FOURCC ckid;

DWORD ckSize;

} CK; Trường FOURCC có 4 bytes chỉ ra loại chunk Đối với File Wave, trường này có giá trị là “WAVE” Nếu loại chunk ít hơn 4 ký tự thì các ký tự còn lại bên phải sẽ được đệm thêm vào các khoảng trắng Cần chú ý là các ký tự trong FOURCC có phân biệt chữ hoa và chữ thường.

Trường DWORD chứa kích thước vùng dữ liệu của chunk, vùng dữ liệu này nằm ngay sau header và có kích thước là ckSize bytes.

Chunk có thể chứa các subchunks Subchunk cũng là một chunk.

Một RIFF file luôn bắt đầu bằng một chunk loại “RIFF”.

2 Cấu trúc Wave file.

Wave file bắt đầu là chunk loại “RIFF”.

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

Trang 14

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.

- nBlockAlign: cho biết số byte dùng để chứa một mẫu âm thanh Như vậy mẫu 8 bit hay ít hơn sẽ yêu cầu 1 byte, mẫu 9 đến 16 bit sẽ yêu cầu 2 bytes Nếu âm thanh

là Stereo thì yêu cầu gấp 2 lần số byte dùng cho âm thanh mono.

Ta thấy trong WAVEFORMAT chưa có thông tin về số bit dùng để lượng tử hóa một mẫu dữ liệu của sóng âm Thực tế Wave File sẽ xác lập số bit dùng cho một mẫu dữ liệu bằng một trường gắn vào cuối cấu trúc của WAVEFORMAT Cấu trúc đó như sau:

Typedef struct pcmwaveformat_tag

{ WAVEFORMAT wf;

WORD wBitsPerSample;

Dữ liệu của “data” subchunk của wave file chứa các số liệu của âm thanh đã được

số hóa Đối với mẫu âm thanh 8 bit, dữ liệu của “data” subchunk bao gồm các giá trị 1 byte (có giá trị từ 0 – 255) của các mẫu âm thanh Đối với mẫu âm thanh 16 bits, mỗi mẫu dữ liệu gồm 2 bytes (có giá trị từ – 32768 đến 32767) Điều này không

có nghĩa là file wave 16 bits sẽ nghe to hơn 256 lần file wave 8 bits, mà nó có nghĩa

là âm thanh được lượng tử hóa chính xác hơn, nghe trung thực hơn.

Trong mẫu mono 8 bits, dữ liệu của subchunk “data” gồm chuỗi các giá trị 1 byte Với stereo 8 bits, mỗi mẫu gồm 2 bytes, dữ liệu sẽ được sắp xếp xen kẽ (interleave), với byte đầu (byte chẵn) là mẫu âm thanh của 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:

Trang 15

III ĐỌC RIFF FILES

Để làm việc với file RIFF, ta phải mở nó và “descend” vào chunk mà ta cần Điều này có nghĩa là ta cần phải định vị được chunk này, rồi chuyển con trỏ file vào đầu khối dữ liệu của chunk Khi làm việc xong với 1 chunk, ta phải “ascend” ra khỏi chunk và “descend” xuống chunk khác.

Các hàm dùng xử lý RIFF file đều có tiền tố là mmio và làm việc với file handle dạng HMMIO, để bắt đầu, ta phải mở file bằng đoạn mã sau:

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 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’);

Trang 16

If (mmioDescend(h,(LPMMCKINFO)&mmParent, NULL,

MMIO_FINDRIFF))

{ mmioClose(h,0);

/* báo lỗi */

return(0);

cksize;

FOURCC

fcctype;

DWORD

dwDataOffset;

DWORD

dwFlags;

} MMCKINFO;

Để “đi vào” một chunk, ta cho trường ckid của MMCKINFO ở loại chunk mà ta muốn định vị Có một macro thực hiện việc này là mmioFOURCC Sau đó gọi hàm mmioDescend để định vị chunk Nếu định vị thành công, hàm này trả về zero và đối tượng MMCKINFO truyền cho hàm sẽ được điền vào các thông tin về chunk Trường cksize định nghĩa kích thước tính bằng byte của chunk.

Đối số thứ ba của mmioDescend là cờ MMIO_FINDRIFF Cờ này chỉ thị cho mmioDescend tìm một file có ID là RIFF với loại chunk được xác định bởi ckid Nếu muốn tìm một chunk trong Wave file ta cho cờ này là MMIO_FINDCHUNK Sau khi đi vào WAVE chunk, ta bắt đầu đi vào fmt subchunk của nó:

MMIOCKINFO mmSub;

MmSub.ckid=mmioFOURCC(‘f’,’m’,’t’);

If (mmioDescend(h,(LPMMCKINFO)& mmSub,

(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK))

Trang 17

Bình

{ mmioClose(h,0);

/* báo lỗi */

return(0);

if(mmioRead(h,(HPSTR)&waveformat,

(long)n) !=(long)n)

{

/* báo lỗi */

return(0L);

} if(waveformat.wf.wFormatTag !=WAVE_FORMAT_PCM)

{ /* 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:

GLOBALHANDLE wavehandle;

Trang 18

HPSTR wavepointer;

MmSub.ckid=mmioFOURCC(‘d’,’a’,’t’,’a’);

If(mmioDescend(h,(LPMMCKINFO)&mmSub,

(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK))

{

mmioClose(h,0);

/* báo lỗi */

return(0);

}

if((wavehandle=GlobalAlloc(GMEM_MOVEBLEIGMEM_

SHARE, mmSub.cksize))==NULL)

{

mmioClose(h,0);

/* báo lỗi */

return(0); } if(wavepointer=(HPSTR)GLOBALLOCK(WAVEHANDLE))

==null) {

GlobalFree(wavehandle);

mmioClose(h,0);

/* báo lỗi */

return(0); } if(mmioRead(h,wavepointer,mSub.cksize) !=

mSub.cksize)

{

GlobalUnlock(wavehandle);

GlobalFree(wavehandle);

mmioClose(h,0);

/* báo lỗi */

return(0);

Trang 19

Bình

}

GlobalUnlock(wavehandle);

Trang 20

CHƯƠNG 3 LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ.

I TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC

1 Giới thiệu

Tín hiệu là biểu hiện vật lý của thông tin, thường là thông tin về trạng thái hay hành vi của một hệ vật lý nào đó Về mặt toán học, tín hiệu được coi là hàm của của một hay vài biến độc lập Ví dụ: tín hiệu âm thanh là sự thay đổi áp suất không khí theo thời gian; tín hiệu hình ảnh là hàm độ sáng theo hai biến không gian

Theo qui ước chung, tín hiệu được coi là hàm theo một biến độc lập và là biến thời gian.

Tín hiệu số (Digital signal) là tín hiệu rời rạc (theo biến độc lập thời gian) đồng thời

có biên độ cũng rời rạc hóa (lượng tử hóa).

2 Đáp ứng xung trong hệ tuyến tính bất biến.

Tín hiệu vào x(n) được gọi là tác động, tín hiệu ra y(n) được gọi là đáp ứng của hệ

Như vậy, một hệ tuyến tính có thể xử lý tổng tác động như là các tác động này được

xử lý độc lập, sau đó các đáp ứng tương ứng sẽ được cộng lại.

Một tín hiệu x(n) bất kỳ có thể biểu diễn :

= ∑=∞−∞ −

k

k n k x n

hk(n) gọi là đáp ứng xung của hệ đối với tác động là xung δ (n-k)

Theo công thức trên, hệ tuyến tính vẫn còn tùy thuộc vào thời điểm tác động k Một hệ tuyến tính là bất biến(theo thời gian) nếu tín hiệu vào bị dịch đi một đoạn thời gian là k thì tín hiệu ra cũng chỉ dịch một đoạn k, tức mọi hk(n) trở thành h(n-k).

Như vậy mọi hệ tuyến tính bất biến đều được đặc trưng hoàn toàn bằng đáp ứng h(n), biết h(n) ta hoàn toàn tính được đáp ứng y(n) của tín hiệu vào x(n)

Trang 21

Bình

y(n)=x(n)*h(n) =∑∞ −∞ = − k k n h k x( ) ( )

) ( * ) (n x n h = ∑∞

−∞ = − = k k n x k h( ) ( ) Tính phân phối:

[ ( ) ( )] ( )* ( ) ( )* ( ) * ) (n h1 n h2 n x n h1 n x n h2 n x + = + Như vậy, từ tính chất giao hoán, ta thấy rằng: hai hệ TTBB có đáp ứng xung là h1(n) và h2(n) được mắc nối tiếp nhau sẽ tương đương với một hệ có đáp ứng xung: h(n)=h1(n)*h2(n) và thứ tự mắc nối tiếp không quan trọng Từ tính chất phân phối, hai hệ TTBB mắc song song nhau sẽ tương đương với một hệ có đáp ứng xung bằng tổng hai đáp ứng xung: ) ( ) ( ) (n h1 n h2 n h = + ) ( ) ( ) ( ) ( 2 1 y n n h n h n x = +

) ( ) ( ) ( ) (n h1 n h2 n y n x = + + 4 Hệ nhân quả (causal system) Các hệ có tín hiệu ra chỉ phụ thuộc vào tín hiệu trong quá khứ và hiện tại được gọi là các hệ nhân quả, tức phải có tác động vào (nguyên nhân) thì mới có tác động ra (kết quả) Định lý: Hệ tuyến tính bất biến (TTBB) là nhân quả nếu đáp ứng xung h(n) = 0 với mọi n<0 Đối với một hệ TTBB và nhân quả, dạng chung của công thức tổng chập

∑∞ −∞ = − = k k n h k x n y( ) ( ) ( ) hoặc viết cách khác:

∑∞

= − = 0 ) ( ) ( ) ( k k h k n x n y Nếu đáp ứng xung h(n) có độ dài hữu hạn N thì: ∑−

= − = 1 0 ) ( ) ( ) ( N k k h k n x n y Mở rộng cho tín hiệu: tín hiệu nhân qủa là tín hiệu bắt đầu khác 0 từ thời điểm 0 =0 khi n<0 0 khi n≥ 0

5 Tính ổn định.x(n)

Trang 22

Định nghĩa: một hệ là ổn định nếu đáp ứng của hệ luôn bị chặn đối với tác động vào bị chặn.

Định lý: Một hệ TTBB là ổn định nếu và chỉ nếu đáp ứng xung thỏa mãn điều kiện

6 Phương trình sai phân tuyến tính hệ số hằng

Ta chỉ khảo sát các hệ thống tuyến tính bất biến và có thể đặc trưng bởi các

phương trình sai phân có hệ số hằng Mối liên hệ giữa tín hiệu vào x(n) và tín hiệu

ra y(n) có dạng như sau:

M r r

k y n k b x n r a

)()

(

Trong đó tập các hệ số ak và br đặc trưng cho hệ TTBB.

7 Biểu diễn các hệ rời rạc trong miền tần số.

7.1 Phép biến đổi Fourier của tín hiệu rời rạc.

e k h k

n x k h n

H(e jω) là một hàm số phức và có thể biểu diễn theo phần thực và ảo:

H(e jω)= Hr(e jω)+ jHi(e jω) (r: real; i: image)

Hoặc theo biên độ và pha:

H(e jω)= | H(e jω)| e jargH(ejω ) (0≤ω≤ 2π).

H(e jω) là hàm liên tục theo ω và tuần hoàn với chu kỳ 2π Ta có thể khai triển nó thành chuỗi Fourier, ngược lại h(n) có thể được tính toán từ H(e jω) bằng các công thức tính hệ số khai triển chuỗi Fourier:

j h n e e

k e A t

Đối với tín hiệu tuần hoàn

= ∫+

T t

T jk

Trang 23

7.4 Phổ biên độ, phổ pha và phổ năng lượng

Do X(f) là một hàm phức nên ta có thể biểu diễn dưới dạng modul và argument: .

[ ( ) ]

arg

|)(

|

)

(f X f e j X f

Hàm modul X(f) theo f được gọi là phổ biên độ của tín hiệu x(n), còn hàm

θ(f)=arg[X(f)] được gọi là phổ pha.

Cuối cùng φ (f)=|X(f)|2 được gọi là phổ năng lượng, biểu diễn sự phân bố theo tần

số của năng lượng tín hiệu x(n).

8 Định lý lấy mẫu Shannon

Một tín hiệu tương tự xa(t) có dải phổ hữu hạn với giới hạn trên là Fmax(Hz) (tức là phổ bằng 0 khi f nằm ngoài dải - Fmax Fmax) Ta sẽ chỉ có thể khôi phục lại xa(t) một cách chính xác từ các mẫu xa(n.Ts) nếu như :

Fs ≥ 2Fmax

hay

Ts ≤ 1/(2Fmax).

Khôi phục lại tín hiệu tương tự từ tín hiệu lấy mẫu:

Ta có thể khôi phục lại tín hiệu xa(t) bằng cách cho tín hiệu lấy mẫu đi qua một mạch lọc (tương tự) thông thấp lý tưởng (low-pass filter) có đáp ứng tần số Hlp(f) với tần số cắt là fc = Fs/2 Phổ của tín hiệu xa(t) sẽ được lọc lại chính xác chỉ với điều kiện :

II PHÉP BIẾN ĐỔI FOURIER RỜI RẠC

1 Chuỗi Fourier rời rạc của tín hiệu rời rạc tuần hoàn

Tín hiệu tuần hoàn xp(n) là tuần hoàn với chu kỳ N nếu:

xp(n)= xp(n+N), với mọi n.

Đối với tín hiệu rời rạc, ta khai triển Fourier theo hàm:

ξ k(n) = e j(2πk/N)n , k=0,±1, ±2

Các hàm điều hòa phức rời rạc chỉ có N tín hiệu phân biệt nhau vì tín hiệu sai khác nhau là bội của N thì đều như nhau:

Trang 24

là các vạch phổ của tín hiệu tuần hoàn.

2 Biến đổi Fourier rời rạc của tín hiệu có độ dài hữu hạn(DFT:Discrete Fourier Transform)

Việc biểu diễn Fourier cho tín hiệu rời rạc có độ dài hữu hạn gọi là phép biến đổi Fourier rời rạc (DFT).

Tín hiệu có độ dài hữu hạn là tín hiệu có giá trị khác 0 trong một khoảng hữu hạn thời gian nào đó, và bằng 0 trong khoảng còn lại Đây là loại tín hiệu tồn tại trong thực tế vì chúng ta chỉ có thể quan sát mọi tín hiệu trong một khoảng thời gian là hữu hạn từ N1 đến N2 Để đơn giản hoá, ta có thể qui ước tín hiệu x(n) tồn tại trong khoảng thời gian: 0 ≤ n ≤ M-1, tức là :

=

i

p n x n iN

Nếu N ≥ M thì không xảy ra hiện tượng trùm thời gian giữa các phần của xp(n).

Do xp(n) chỉ có duy nhất một cách biểu diễn chuỗi Fourier rời rạc nên x(n) cũng vậy Từ chuỗi Fourier ta tính ra được 1 chu kỳ tín hiệu của xp(n), trong đó có x(n): xp(n) 0 ≤ n

N-1

x(n)=

0 n còn lại.

3 Phép biến đổi nhanh fourier

Fast Fourier Transform (FFT) là một giải thuật rất hiệu quả để tính DFT Công thức biến đổi DFT:

)

()

(

N k

N kn j

e n x k

Đặt W nk =

N kn j

e (2π )/

∑−

=

= 10)

()

k

nk W n x k

X

Chia DFT thành 2 phần :

Trang 25

= /2 10

1 2 / 0

) 1 2 (

2 (2 1)

)

2()

n

N n

k n N

nk

W n x k

)

()

n

N n

nk N od

nk N

x k

X

)(.)

()

Để tính X(k) chỉ cần tính trong nửa chu kỳ N/2.

Xev(k) và Xod(k) tuần hoàn với chu kỳ N/2: Xev(k) = Xev(k - N/2), N/2 ≤ k ≤ N-1.

Trang 26

CHƯƠNG 4 .GIỚI THIỆU VỀ MPEG.

I GIỚI THIỆU.

1 MPEG là gì?

MPEG, viết tắt của cụm từ “Moving Picture Experts Group”, là một nhóm chuyên nghiên cứu phát triển các tiêu chuẩn về hình ảnh số và nén âm thanh theo chuẩn ISO/IEC Ngày nay, nhóm làm việc MPEG đã phát triển và phát hành các tiêu chuẩn MPEG-1, MPEG-2 và MPEG-4 Chuẩn MPEG-3 được kết hợp vào MPEG-2

và không còn tách riêng nữa Nhóm MPEG hiện nay đã phát triển đến chuẩn MPEG-7 MPEG chỉ là một tên riêng, tên chính thức của nó là : 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 sánh các chuẩn MPEG:

MPEG-1 định nghĩa một tiêu chuẩn cho việc lưu trữ và phục hồi các hình ảnh động

và âm thanh trên các thiết bị lưu trữ Tiêu chuẩn này định nghĩa rằng hình ảnh được phát lại ở tốc độ 30 frames một giây và âm thanh được phát lại ở chất lượng như CD-audio, độ phân giải hình ảnh là 352 x 240 Chuẩn MPEG-1 được dùng điển hình trong các phần mềm huấn luyện bằng máy tính, các game hành động trong máy tính, video chất lượng VHS, Karaoke

MPEG-2 định nghĩa cho một tiêu chuẩn kỹ thuật truyền hình số Chuẩn MPEG-2 khắc phục một vài nhược điểm của chuẩn MPEG-1 Ví dụ, MPEG-2 có thể tạo hình ảnh lớn gấp 4 lần MPEG-1 với độ nét cao hơn và rõ hơn (720 x 480 và 1280 x 720) Các đặc tính của MPEG-2 bao gồm hình ảnh chất lượng cao và âm thanh nổi

MPEG-3 định nghĩa một tiêu chuẩn cho High Difinition Television (HDTV), là thế

hệ tiếp theo của công nghệ truyền hình theo định dạng số đầy đủ Tiêu chuẩn này

đã không được phát triển hoàn thiện và cuối cùng được kết hợp vào với chuẩn MPEG-2 MPEG-3 đi đến mục tiêu là các ứng dụng HDTV với kích thước mẫu lên đến 1920x1080x30 Hz và được mã hoá ở tốc độ bit 20 đến 40 Mbits/s Cuối cùng người ta đã nhận ra rằng với một vài điều chỉnh thích hợp, MPEG-1 và MPEG-2 làm việc rất tốt đối với HDTV.

MPEG-4 định nghĩa một tiêu chuẩn cho các ứng dụng Multi-media Đặc biệt nó định nghĩa tiêu chuẩn truyền cho dòng phức tạp các hình ảnh, âm thanh và dữ liệu

đồ hoạ và việc tái hợp chúng trên thiết bị thu MPEG-4 được phát triển theo 2 giai đoạn, 1 và 2 Chuẩn MPEG-4 định nghĩa các đối tượng hình ảnh mà trong đó các phần của một cảnh có thể được thao tác trong khi những phần khác vẫn không đổi MPEG-5 và MPEG-6 vẫn chưa được công bố.

MPEG-7 định nghĩa một tiêu chuẩn về việc biểu diễn nội dung cho các nghiên cứu thông tin hình ảnh và âm thanh Tên chính thức là “Multimedia Content

Trang 27

Bình

Description Interface” Mục tiêu của MPEG-7 là chuẩn hoá việc biểu diễn các mô

tả về nội dung nghe nhìn Tuy nhiên chuẩn không định nghĩa các công cụ để nhận

ra nội dung nghe nhìn thật sự

3 Âm thanh MPEG.

Khả năng của âm thanh MPEG, về cơ bản, âm thanh MPEG sẽ làm giảm kích thước lưu trữ 1 tâp tin âm thanh đi rất nhiều Một đĩa Audio-CD lưu trữ được khoảng 650 Mbyte dữ liệu âm thanh thô với cách mã hóa 16 bit (bitdepth) và tần số lấy mẫu (sample rate) 44.1 kHz Nếu đem phát ra thì cũng chỉ được 60 đến 72 phút

- bitdepth: mô tả mức biên độ lớn nhất mà một mẫu âm thanh có thể đạt tới Ví dụ:

8 bit = 256 mức, 16 bit = 65536 mức, về hình ảnh thì đó chính là độ phân giải.

- sample rate: mô tả số mẫu âm thanh được lấy trong 1 giây Ví dụ: 22 kHz = 22.000 mẫu/1giây.

Phương pháp cổ điển để giảm kích thước lưu trữ là giảm lượng thông tin Nếu đổi cách lưu trữ âm thanh từ 16 bit sang 8 bit chúng ta có thể giảm kích thước lưu trữ

đi 1 nửa, tuy nhiên như thế chất lượng âm thanh cũng sẽ giảm đi 1 nửa.

Hình 4.1

4 Các khái niệm trong âm thanh MPEG.

a Hiệu ứng che (masking): nói đơn giản là âm lớn át âm bé, âm mạnh át âm yếu.

Trang 28

b Ngưỡng nghe và mức nhạy cảm.

Thí nghiệm: đặt một người trong phòng yên tĩnh Tăng mức to của âm 1kHz lên cho đến ngay khi có thể nghe được rõ ràng Lặp lại thí nghiệm với các tần số khác nhau, ta vẽ được đồ thị sau:

Hình 4.2

“Ngưỡng nghe” : là mức mà dưới nó 1 âm thanh không thể nghe được Nó thay đổi theo tần số âm thanh, và dĩ nhiên giữa mỗi người khác nhau Hầu hết mọi người đều nhạy cảm ở mức 2 đến 5 kHz Một người có nghe được âm thanh hay không tùy thuộc vào tần số của âm và độ to của âm đó ở trên hay dưới ngưỡng nghe tại tần số đó Tai nhạy cảm ở mức 2 đến 5 kHz

Ngưỡng nghe cũng có tính thích nghi, thay đổi cố định bởi âm thanh mà ta nghe được Ví dụ, một cuộc nói chuyện bình thường trong một phòng thì có thể nghe được rõ ràng ở điều kiện bình thường Tuy nhiên, cũng cuộc trò chuyện đó nằm trong vùng lân cận của những tiếng ồn lớn, như là tiếng ồn do một chiếc phản lực bay ngang bên trên, là hoàn toàn không thể nghe được do lúc này ngưỡng nghe đã

bị sai lệch Khi chiếc phản lục đã đi rồi thì ngưỡng nghe trở lại bình thường Am thanh mà ta không thể nghe được do sự thích nghi động của ngưỡng nghe gọi là bị

“che” (masked).

c Che tần số (Frequency Masking)

Thí nghiệm:

Phát ra 1 âm có tần số 1 kHz với mức to cố định là 60dB, gọi là “âm che”

(masking tone) Phát ra một âm khác (gọi là test tone) ở mức tần số khác (ví dụ 1.1kHz), và tăng mức to của âm này cho đến khi có thể nghe được nó (phân biệt được âm 1.1 kHz và âm che 1kHz).

Làm lại thí nghiệm với các âm thử (test tone) và vẽ ra một ngưỡng mà tại đó các âm thử bắt đầu có thể phân biệt được:

Trang 29

d Che nhất thời (che thời gian)

Nếu ta nghe một âm thanh lớn, rồi ngưng nó lại, mãi một lúc sau ta mới có thể nghe được một âm lân cận nhỏ hơn

Thí nghiệm: phát ra một âm che “masking tone” có tần số 1kHz ở mức 60dB, kèm một âm thử (test tone) 1.1kHz ở mức 40dB Ta không nghe được âm thử này (nó đã bị che).

Dừng âm che lại, đợi một lúc (delay time) ta dừng tiếp âm thử (test tone).

Điều chỉnh thời gian delay để cho ta vừa có thể nghe được âm chủ (ví dụ khoảng 5ms).

Lặp lại thí nghiệm cho các mức to khác nhau của âm thử, ta vẽ được đồ thị sau:

Trang 30

MPEG hoạt động dựa trên hệ thống nghe của con người, đó là cảm giác về âm mang đặc tính sinh lý và tâm lý.

Am thanh CD ghi lại tất cả tần số, kể cả những tần số bị ‘che’.

Am thanh MPEG chỉ ghi lại những tần số mà tai người có thể nghe

Như vậy, MPEG sẽ bỏ qua những thông tin không quan trọng Dựa trên nghiên cứu về nhận thức âm thanh của con người, bộ mã hóa sẽ quyết định những thông tin nào là căn bản và những thông tin nào có thể bỏ qua.

Trang 31

Bình

Hiệu qủa này là bao quát nhưng đặc biệt quan trọng trong âm nhạc Nếu trong một dàn nhạc có một nhạc cụ chơi cực mạnh, làm át tiếng của các nhạc cụ khác ta không thể nghe được Nhưng máy thâu âm vẫn ghi lại đầy đủ tất cả tần số của tất

cả nhạc cụ, nghĩa là thiết bị thâu âm hoàn toàn không có khả năng thích nghi động như con người Nhưng khi phát lại, ta vẫn không nghe được âm thanh của những nhạc cụ bị át Vì vậy việc lưu trữ/ghi lại những tần số này là thừa, làm chiếm dung lượng khá nhiều Cách ghi âm tuyến tính trên đĩa CD là hoàn toàn không hiệu qủa

về khía cạnh này Do đó thay vì phải ghi lại thông tin của những âm không nghe được, ta sẽ dành chỗ cho các âm có thể nghe được Theo cách này, dung lượng của thiết bị ghi âm cần thiết có thể xem như giảm đi mà không làm giảm chất lượng âm thanh.

Trước khi chúng ta nghe được điều gì, thông tin sẽ được phân tích bởi bộ não của chúng ta Não bộ sẽ dịch âm thanh và lọc bỏ những thông tin không cần thiết

Kỹ thuật âm thanh MPEG làm việc này thay thế cho não bộ Như vậy, những thông tin lẽ ra phải được lọc bởi não bộ bây giờ không còn cần phải lưu trữ chiếm giữ không gian đĩa nữa.

II CÁC KHÁI NIỆM CƠ BẢN VỀ MPEG.

1 Lược đồ mã hóa Perceptual Subband.

Bộ mã hóa âm thanh theo “perceptual subband” phân tích liên tục các tín hiệu vào

và xác định ra đường cong che (masking curve), đó là mức ngưỡng mà những âm thanh ở dưới nó không thể nghe được bởi hệ thống nghe của con người.

Trang 32

Hình 4.7

Tín hiệu vào được chia thành 1 số dải tần số, gọi là “subband” Mỗi tín hiệu

“subband” được lượng tử hóa theo cách mà sự lượng tử hóa tiếng ồn được bắt đầu bởi việc mã hóa sẽ không vượt qúa đường cong che của subband đó Sự lượng tử hóa phổ tiếng ồn vì thế thích nghi động với phổ của tín hiệu.Thông tin trên bộ số hóa được dùng trong mỗi subband được truyền dọc theo các mẫu subband được

mã hóa Bộ giải mã sẽ giải mã dòng bit (bitstream) mà không cần phải biết cách mà

bộ mã hóa xác định những thông tin này Điều này cho phép bộ mã hóa hoạt động với những mức độ khác nhau về chất lượng và độ phức tạp, và cũng cho phép sự phát triển trong tương lai của bộ mã hóa.

2 Giải thích về hiệu qủa che (masking effect).

a Nén âm thanh MPEG.

MPEG có thể nén 1 dòng bit 32 kbit/s đến 384 kbit/s Một dòng bit âm thanh PCM thô thì khoảng 705 kbit/s, do đó tỉ số nén tối đa có thể là 22 Tỉ số nén bình thường

là 1:6 hay 1:7 96 kbit/s là xem như trong suốt cho hầu hết các mục đích thực tế Có nghĩa rằng ta không cần phải lưu tâm đến bất kỳ sự khác biệt nào giữa tín hiệu gốc

và tín hiệu nén đối với nhạc pop hay nhạc rock’n roll Đối với một số ứng dụng khác như là hòa tấu piano, tốc độ bit có thể lên tới 128 kbit/s.

Để đạt được tỉ số nén này, đối với âm thanh, về cơ bản ta có hai chọn lựa: hoặc giảm số lần lấy mẫu, hoặc giảm số bit để lượng tử hoá Con người có thể nghe âm thanh với tần số từ 20 Hz đến 20 kHz Theo thuyết của Nyquist, ta phải lấy mẫu âm

Trang 33

Bình

thanh ở tần số tối thiểu là hai lần tần số cao nhất mà ta muốn phát lại Tần số lấy mẫu 44,1 kHz là thích hợp Vấn đề còn lại là phải chọn số bit cho một mẫu mã hóa

là bao nhiêu Thông thường là 16 bit.

Lý do để chọn con số 16 bit bắt nguồn từ tỉ số tín hiệu và nhiễu (s/n) Nhiễu nói ở đây sinh ra do qúa trình số hóa Cứ mỗi bit thêm vào, ta có tỉ số s/n tốt hơn 6dB (đối với tai người, 6 dB tương ứng với mức to gấp đôi) Am thanh CD đạt tới

khoảng 90 dB s/n Mức này phù hợp với phạm vi động của tai người còn tốt Nghĩa

là ta không thể nghe được bất kỳ nhiễu nào đến từ bản thân hệ thống Điều gì xảy

ra nếu ta lấy mẫu với 8 bit? Ta sẽ nghe thấy rất nhiều tiếng sôi trong bản ghi Dễ dàng nghe thấy nhiễu trong khoảng nghỉ của bản nhạc hoặc giữa các từ nếu ta ghi

âm một giọng nói.

b Hiệu qủa che.

Giả sử có một âm mạnh với tần số 1000Hz, và một âm kèm theo có tần số 1100Hz nhưng với cường độ âm nhỏ hơn 18dB Ta sẽ không thể nghe thấy âm này vì nó đã

bị che hoàn toàn bởi âm chủ 1000Hz Nói một cách khác, một âm thanh yếu gần một âm thanh mạnh sẽ bị che Nếu có một âm thanh khác tần số 2000Hz cũng có mức to thấp hơn âm 1000Hz là 18dB thì ta sẽ nghe được âm này Để không nghe được âm này ta phải giảm mức to của âm này xuống còn thấp hơn 45dB so với âm chủ 1000Hz Hiệu qủa che có ý nghĩa rằng ta có thể gia tăng mức ồn nền xung quanh một âm mạnh mà vẫn không nghe được tiếng ồn vì chúng sẽ bị che hoàn toàn Tăng mức ồn nền còn có nghĩa là dùng ít bit để số hóa Và điều này cũng giống như là ta đã nén âm thanh vậy.

Bây giờ hãy xem bộ mã hoá âm thanh MPEG hoạt động như thế nào Bộ mã hóa chia phổ tần số (20Hz đến 20kHz) thành 32 dải nhỏ (sub-band) Mỗi sub-band giữ

1 phần nhỏ của phổ Trong vùng trên của sub-band 8 ta phát một âm có tần số 1000Hz với mức to 60dB Bộ mã hóa sẽ tính toán hiệu qủa che của âm này và nhận

ra rằng có một ngưỡng che cho toàn bộ sub-band thứ 8 (tất cả những âm có cùng tần số) Ngưỡng che này thấp hơn âm phát ra 35 dB Tỉ số s/n có thể chấp nhận được là 60 - 35 = 25 dB, tương đương với 4 bit Ngoài ra nó còn ảnh hưởng trên các sub-band 9-13 và 5-7 với hiệu qủa che giảm dần từ sub-band 8 Hơn nữa, bộ mã hóa cũng xem xét mức độ nhạy cảm của tai đối với các tần số khác nhau Tai người

ít nhạy cảm với các tần số cao và thấp Nó nhạy cảm nhất đối với tần số 2-4 kHz, cùng dải tần số với tiếng nói con người.

Các sub-band nên phù hợp với tai người., nghĩa là mỗi sub-band cần có các tần số

có cùng các tính chất âm học tâm lý Trong MPEG layerII, mỗi sub-band có độ rộng 625Hz, do đó cần phải có những bộ lọc băng thông phức tạp Để các bộ lọc đỡ phức tạp, người ta thêm FFT (Fast Fourie Transform) vào song song với bộ lọc và

sử dụng các thành phần phổ từ FFT như là các thông tin thêm vào bộ mã hóa Bằng cách này ta sẽ lấy mật độ bit cao hơn đối với các tần số thấp mà tai người nhạy cảm hơn.

Còn nhiều vấn đề cần phải bàn tới Chúng ta chỉ mới giải thích sự che đồng bộ, hiệu qủa che còn xảy ra trước và sau một âm mạnh.

3 Các lớp của âm thanh MPEG.

Có nhiều sự nhầm lẫn về lớp âm thanh MPEG Tất cả các lớp đều dựa trên cùng một lược đồ mã hóa (mã hóa theo nhận thức) Mức độ phức tạp của bộ mã hóa và giải mã tuỳ thuộc vào mỗi lớp Sau đây là hình ảnh cho thấy tỉ số nén mà ta cần phải đạt tới 100% chất lượng CD với các bộ mã hóa và giải mã khác nhau

Trang 34

448 kbit/s (stereo) Tùy thuộc vào mức độ phức tạp của bộ mã hóa, một âm thanh chất lượng cao (gần với âm thanh CD) yêu cầu tốc độ bit khoảng 256 - 384 kb/s trên một chương trình stereo Không nên mã hóa với mức nén cao hơn 384 kb/s Độ phức tạp của bộ giải mã thấp, độ phức tạp của bộ mã hóa cao hơn 1.5 - 3 lần Lớp I được dùng nhiều trong DDC và Solid State Audio.

so với lớp I, và bộ mã hóa có mức phức tạp cao hơn 2 - 4 lần.

c Lớp III (Layer III).

Lớp III còn đưa ra mức độ nén và lọc cao hơn cả lớp II và sử dụng một bộ mã hóa Huffman.

Trang 35

Bình

Trong bảng trên, độ phức tạp của bộ giải mã lớp I được dùng để so sánh

III CÁC THÔNG SỐ DÙNG TRONG MPEG.

Chuẩn MPEG cho phép ta chọn lựa các thông số cho việc nén âm thanh tốt nhất phù hợp với ứng dụng mà ta sử dụng Lược đồ mã hóa cho các loại là tổng quát Các thông số có thể chọn lựa trong bộ mã hóa MPEG bao gồm: Mode, Sampling frequency, bitrate, và Layer.

Intensity Stereo (còn gọi là Joint Stereo).

Chế độ Mono rõ ràng được dùng cho âm thanh 1 kênh.

Để chọn chế độ cho các ứng dụng 2 kênh, đầu tiên ta phải xác định đâu là tín hiệu trái và đâu là tín hiệu phải để chia chúng ra thành 2 files khác nhau, nhằm sau này

ta có thể làm việc độc lập trên kênh trái hoặc phải Lúc đó ta sẽ chọn chế độ Mono Nếu 2 kênh không cần hoạt động độc lập, ta chọn Stereo, Dual hay Intensity Stereo

để tạo một file duy nhất.

Chế độ Stereo hay kênh Dual là hoàn toàn đồng nhất khi chúng cùng sinh ra một file duy nhất cho tín hiệu stereo Tuy nhiên một bit chỉ thị sẽ nhận dạng xem một file là ở chế độ nào và có thể được dùng cho những áp dụng nào

Chế độ Intensity Stereo xem xét sự dư thừa giữa các kênh trái và phải nhằm tối ưu

mã Chất lượng chủ quan của Intensity Stereo thay đổi theo hình ảnh stereo của tín hiệu đã mã hóa Tuy nhiên nó đặc biệt thích hợp cho tốc độ truyền bit thấp.

b Sampling Frequency (tốc độ lấy mẫu).

Một số tốc độ lấy mẫu:

32kHz, 44.1kHzvà 48kHz đối với MPEG1 (Tiêu chuẩn ISO/IEC 11172-3).

16kHz, 22.05kHzvà24kHz đối với MPEG2 (Tiêu chuẩn ISO/IEC13818-3).

Khi chọn lựa tốc độ lấy mẫu cần xem xét các vấn đề:

Tần số lấy mẫu càng lớn thì chất lượng âm thanh càng cao(độ dài frame nhỏ hơn).

Băng thông tín hiệu giới hạn ở mức 15 kHz khi lấy mẫu ở tốc độ 32 kHz và 8 kHz ở tốc độ 16 kHz.

Tần số lấy mẫu (kHz) và tốc độ của âm thanh mã hóa (kbps) có thể chọn độc lập.

Tần số lấy mẫu 44.1 kHz hay 22.05 kHz là không thiết thực cho việc chọn lọc vì

độ dài frame (byte) là thay đổi.

Những file được lấy mẫu ở những tần số khác nhau thì rất khó khăn khi hòa trộn.

Khi dùng đường nhập số AES/EBU, tần số lấy mẫu bị cố định bởi tín hiệu nhập Nếu không bắt buộc, Digigram yêu cầu lấy mẫu ở 48 kHz hoặc 44.1 kHz cho phát thanh hay ứng dụng multimedia Nếu ta phải sử dụng tốc độ bit thấp cho sự truyền

có hiệu qủa, tốc độ 24 kHz là thích hợp

Trang 36

c Bit Rate.

Mỗi Layer và chế độ có nhiều cách chọn lựa tốc độ bit (bit rate) Việc chọn tốc độ bit tùy thuộc trước tiên vào chất lượng âm yêu cầu Băng thông tín hiệu là hẹp hơn nếu tốc độ bit thấp, khiến cho nó không thực tế đối với một số ứng dụng Tốc độ bit được đo theo kilobits/sec(kbps).

Khi chọn lựa tốc độ bit cần xem xét các vấn đề:

Tại 128 kbps trên mỗi kênh (hay 256 kbps stereo), chất lượng âm thanh CD sẽ đạt được với Layer I hay Layer II.

Tại 192 kbps trên mỗi kênh, chất lượng âm thanh là hoàn toàn trong suốt Tốc độ 128 kbps/kênh được dùng phổ biến nhất trong phát thanh Nó tương ứng với tỉ số nén 1:6 ở tốc độ lấy mẫu 48 kHz Tốc độ thấp hơn 128 kbps/kênh được dùng trong các ứng dụng yêu cầu tỉ số nén lớn hơn do giới hạn của băng thông truyền hay thiết bị lưu trữ

Một số tốc độ bit cung cấp bởi chuẩn âm thanh MPEG :

Chuẩn MPEG có ba layer.

Khi chọn lựa tốc độ bit cần xem xét các vấn đề:

Ở cùng tốc độ bit, Layer II mang lại chất lượng âm thanh tốt hơn Layer I Kết luận này là chủ quan, vì sự chênh lệch là rất khó phân biệt ở tốc độ bit 128 kbps và lớn hơn.

Dùng Layer I thì việc chọn lọc chính xác hơn Layer II bởi vì độ phân giải của Layer I gấp ba lần Layer II.

Resolution Table

Sampling

frequency

Layer I (384 samples)

Layer II (1152 samples)

Ngày đăng: 12/04/2015, 14:13

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w