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 đó chính là mạng Internet với số lượng người
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN -
NGUYỄN THỊ NAM
MỘT SỐ PHƯƠNG PHÁP NÉN ÂM THANH VÀ XÂY DỰNG CHƯƠNG TRÌNH
THỬ NGHIỆM
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Tin học
Người hướng dẫn khoa học ThS LƯU THỊ BÍCH HƯƠNG
Trang 2LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của cô
giáo Th.S Lưu Thị Bích Hương, khoa Công nghệ thông tin, trường Đại học
Sư phạm Hà Nội 2
Trong suốt thời gian thực hiện khóa luận, mặc dù rất bận rộn trong công việc nhưng cô vẫn dành nhiều thời gian và tâm huyết trong việc hướng dẫn em Cô cung cấp cho em rất nhiều hiểu biết về một lĩnh vực mới khi em mới bắt đầu bước vào thực hiện khóa luận
Em cũng xin chân thành cảm ơn các thầy, cô giáo trong khoa Công nghệ thông tin, cũng như các thầy, cô giáo trong trường đã giảng dạy và giúp
đỡ em trong 4 năm học vừa qua Chính các thầy, cô giáo đã xây dựng cho chúng em những kiến thức nền tảng và kiến thức chuyên môn để em có thể hoàn thành khóa luận tốt nghiệp và chuẩn bị cho những công việc của mình sau này
Cuối cùng em xin bày tỏ lòng biết ơn tới gia đình và bạn bè đã giúp đỡ động viên em rất nhiều trong suốt quá trình học tập để em có thể thực hiện tốt khóa luận này
Tuy đã có những cố gắng nhất định nhưng do thời gian và trình độ có hạn nên chắc chắn khóa luận này còn nhiều thiếu sót và hạn chế Kính mong nhận được sự góp ý của thầy, cô giáo và các bạn
Hà Nội, tháng 05 năm 2014
Sinh viên
Nguyễn Thị Nam
Trang 3LỜI CAM ĐOAN
Tên em là: NGUYỄN THỊ NAM
Sinh viên lớp: K36 – Tin học, khoa Công nghệ thông tin, trường Đại học Sư phạm Hà Nội 2
Em xin cam đoan:
1 Đề tài “Một số phương pháp nén âm thanh và xây dựng chương trình thử nghiệm” là sự nghiên cứu của riêng em, dưới sự hướng dẫn của cô
giáo Th.S Lưu Thị Bích Hương
2 Khóa luận hoàn toàn không sao chép của tác giả nào khác
Nếu sai em xin hoàn toàn chiu trách nhiệm
Hà Nội, tháng 05 năm 2014 Người cam đoan
Nguyễn Thị Nam
Trang 4MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4
1.1 Lý thuyết xử lý tín hiệu số 4
1.1.1 Tín hiệu và hệ thống rời rạc 4
1.1.2 Phép biến đổi Fourier rời rạc 9
1.2 Các khái niệm về âm thanh 11
1.2.1 Sóng cơ 11
1.2.2 Sóng âm 14
1.3 Nén âm thanh 21
CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP NÉN ÂM THANH 23
2.1 Các phương pháp nén không có tổn thất 23
2.1.1 Mã hóa Huffman 25
2.1.2 Mã Huffman sửa đổi 27
2.1.3 Mã hóa số học 28
2.1.4 Giải thuật Lempel-Ziv-Welch (LZW) 28
2.2 Các phương pháp nén có tổn thất 31
2.2.1 Các phương pháp nén âm thanh đơn giản 33
2.2.2 Nén âm thanh dùng mô hình âm - tâm lý 33
2.2.3 Nén âm thanh MPEG 34
2.3 Nén âm thanh file *.WAV theo chuẩn MPEG 36
2.3.1 Tập tin dạng sóng (WAVE FILE) 36
2.3.2 MPEG 43
Trang 5CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 59
3.1 Bài toán 59
3.2 Xây dựng chương trình 59
3.2.1 Giới thiệu chương trình 59
3.2.2 Thiết kế giao diện 59
3.2.3 Kết quả thực nghiệm 63
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
1 Kết luận 65
2 Hướng phát triển 65
TÀI LIỆU THAM KHẢO 67
Trang 6DANH MỤC CÁC HÌNH
Hình 2.1: Định dạng dòng dữ liệu bit 26
Hình 2.2: Ngưỡng che trên thước đo băng giới hạn 34
Hình 2.3: Định dạng dòng dữ liệu bit 35
Hình 2.4: Khả năng của âm thanh MPEG ứng với các tần số lấy mẫu tại các bit khác nhau 45
Hình 2.5: Hiệu ứng che (Masking) 46
Hình 2.6: Đồ thị ngưỡng nghe với các tần số khác nhau 46
Hình 2.7: Đồ thị thí nghiệm che tần số với âm thử có tần số 1KHz 47
Hình 2.8: Đồ thị thí nghiệm che tần số với âm thử có tần số 1KHz 48
Hình 2.9: Đồ thị thí nghiệm che nhất thời cho các mức to khác nhau của âm thử 48
Hình 2.10: Đồ thị thí nghiệm che nhất thời cho âm thử với các tần số khác nhau 49
Hình 2.11: Lược đồ mã hóa âm thanh theo Perceptual Subband 50
Hình 2.12: Tỉ số nén 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 53
Hình 3.1: Form giao diện chương trình 60
Hình 3.2: Form chọn tệp tin cần nén 60
Hình 3.3: Form tệp tin âm thanh cần nén 61
Hình 3.4: Form chọn địa chỉ cần lưu file nén 61
Hình 3.5: Form định chỉ số tốc độ bit của tập tin đích 62
Hình 3.6: Form chọn tần số lấy mẫu của tập tin đích 62
Hình 3.7: Giao diện của quá trình nén thành công 63
Hình 3.8: Thông tin của tập tin trước khi nén 63
Hình 3.9: Thông tin của tập tin sau khi nén 64
Trang 7DANH MỤC CÁC BẢNG
Bảng 2.1: Cấu trúc của WAVE FILE 40Bảng 2.2: Chi tiết về các lớp 54Bảng 2.3: Độ phân giải các lớp 57
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
DFT Discrete Fourier Transform DFS Discrete Fourier Series DCT Discrete Cosine Transform FFT Fast Fourier Transform PCM Pulse Code Modulation WAV WAVE: WAVE Form Audio File Format FLAC Free Lossless Audio Codec
ALAC Apple Lossless Audio Codec APE Monkey‟s Audio
MP3 Moving Picture Experts Group 1 Layer 3 ACC Advanced Audio Coding
WMA Windows Media Audio LZW Lempel Ziv Welch DRM Digita Rights Management LPC Linear Predictive Coding CELP Code Excited Linear Predictor API Applycation Program Interface RIFF Resource Interchange File Format DVD Digital Versatile Disc
MDK Multimedia Development Kit SDK Software Development Kit
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
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 và đặc biệt là những trò 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 đó chính là mạng Internet với số lượng người tham gia truy cập ngày càng lớn, 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 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 để người dùng không phải sốt ruột ngồi chờ tải những trang web mà mình truy cập, không phải cảm thấy khó chịu khi tải xuống những tập tin â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 cho phần cứng, từ
đó đã ra đời những phần mềm nén âm thanh, nén hình ảnh, nén video, tách âm thanh từ những tệp tin video… để tạo ra những dạng âm thanh, hình ảnh, video như: MINDI, MPEG, MP3, MP4…; những tệp tin ả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
Trong nghiên cứu về nén âm thanh, người ta đã từng biết đến các chuẩn nén khá phổ biến như: MPEG, MP3, JPEG Hiện nay, con người đã nghiên cứu và đưa ra rất nhiều thuật toán nén nhằm đáp ứng các yêu cầu khác nhau
Trang 10trong thực tiễn Xuất phát từ những yêu cầu đó, tính năng của mỗi chương trình nén cũng khác nhau Tuy nhiên, tất cả các thuật toán nén đó vẫn phải dựa trên các tiêu chí như: tỉ lệ nén, tốc độ nén, khả năng nén, hiệu suất nén và chất lượng âm thanh sau khi nén
Từ hướng tiếp cận trên, đồng thời với mong muốn tiếp cận với các công nghệ mới, bổ sung các kiến thức về khoa học kỹ thuật hiện đại, cũng như tổng kết những kỹ năng, kiến thức trong suốt quá trình học tập tại trường,
em xin chọn đề tài “Một số phương pháp nén âm thanh và xây dựng chương trình thử nghiệm”
2 Mục tiêu nghiên cứu
Mục tiêu của luận văn là tìm hiểu về các phương pháp mã hóa và nén
âm thanh Đồng thời xây dựng một chương trình nén âm thanh file *.WAV theo chuẩn MPEG trên nền Framework.Net với ngôn ngữ lập trình C#
3 Nhiệm vụ nghiên cứu
Nghiên cứu, tìm hiểu một số phương pháp nén âm thanh cơ bản Đi sâu nghiên cứu phương pháp nén âm thanh theo chuẩn MPEG
4 Đối tượng nghiên cứu
Đối tượng nghiên cứu của khóa luận là các phương pháp nén âm thanh
5 Phạm vi nghiên cứu
Chương trình nén âm thanh được xây dựng để ứng dụng trong việc tạo
ra các phần mềm hỗ trợ phần cứng Nén âm thanh được sử dụng trong mã hóa MP3, internet radio, đĩa CD nhằm giảm kích thước của tín hiệu Trong phạm vi khóa luận này, em đi nghiên cứu về một số phương pháp nén âm thanh cơ bản, đồng thời xây dựng chương trình nén nhằm giảm dung lượng của một tập tin âm thanh có phần mở rộng là WAV và thu được một tập tin khác sau khi nén có phần mở rộng là MP3
Trang 116 Phương pháp nghiên cứu
a Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết và các biện pháp cần thiết để giải quyết các vấn đề của khóa luận
b Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn
c Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
7 Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học: Thuật toán nén âm thanh file WAVE theo chuẩn MPEG được tìm hiểu, nghiên cứu sẽ bổ sung thêm một phương pháp về nén
âm thanh
Ý nghĩa thực tiễn: Chương trình thực nghiệm nếu thành công sẽ góp một phần nhỏ trong lĩnh vực nén âm thanh nhằm giảm tốc đô truy cập, tốc độ truyền tải trên mạng, để người dùng không phải cảm thấy khó chịu khi tải xuống những tập tin âm thanh và những bài hát mà họ ưa thích vì đường truyền quá chậm
8 Bố cục của khóa luận
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, khóa luận gồm các chương sau:
Chương 1: Cơ sở lý thuyết
Chương 2: Một số giải thuật nén âm thanh
Chương 3: Xây dựng chương trình thử nghiệm
Trang 12là hàm 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)
b Đá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ệ xử lý Ta có quan hệ:
( ))
(n T x n
Trong đó: T là phép biến đổi x ( n ) y ( n )
Một hệ thống là tuyến tính nếu thỏa nguyên lý xếp chồng: Giả sử y1(n)
và y2(n) là đáp ứng của hệ tương ứng với tác động vào là x1(n) và x2(n) Hệ là tuyến tính nếu và chỉ nếu:
a.x1(n) b.x2(n) a.y1(n) b.y2(n)
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
Trang 13Một tín hiệu x(n) bất kỳ có thể biểu diễn:
Trong đó: 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)
Công thức trên còn đƣợc gọi là Tổng chập của hai tín hiệu x(n) và h(n)
và còn đƣợc ký hiệu:
) (
* ) ( ) ( n x n h n
c Tính chất của tổng chập của hệ tuyến tính bất biến
Tính giao hoán:
) (
* ) ( ) ( n x n h n
x( ) ( )
) (
* ) ( n x n h
h( ) ( )
Tính phân phối:
( ) ( ) ( ) * ( ) ( ) * ( )
* ) ( n h1 n h2 n x n h1 n x n h2 n
Trang 14Như vậy, từ tính chất giao hoán ta thấy rằng: Hai hệ tuyến tính bất biến
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:
) (
* ) ( )
( 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ệ tuyến tính bất biến 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
)()(
)()
(
2
1
n y n h
n h n
) ( ) ( )
( )
( n h1 n h2 n y n
d 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 là nhân quả nếu đáp ứng xung h(n) = 0
( )
(
k
k h k n x n
( )
(
N
k
k h k n x n
y
Trang 15Mở rộng cho tín hiệu: tín hiệu nhân quả là tín hiệu bắt đầu khác 0 từ thời điểm 0
Định lý: Một hệ tuyến tính bất biến là ổn định nếu và chỉ nếu đáp ứng
xung thỏa mãn điều kiện sau:
f 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:
k y n k b x n r a
)()
(
Trong đó: Tập các hệ số ak và br đặc trưng cho hệ tuyến tính bất biến
g Biểu diễn các hệ rời rạc trong miền tần số
Phép biến đổi Fourier của tín hiệu rời rạc:
Với tín hiệu vào x(n)= ejn (có tần số =2f) và đáp ứng xung h(n), ta
có tín hiệu ra:
) ( )
( n ejn H ej
Hàm H(ej) gọi là đáp ứng tần số của hệ, biểu diễn đáp ứng của hệ thống theo hàm của tần số đối với dãy tác động ejn, nó cho biết sự thay đổi về biên độ và pha theo tần số khi tín hiệu đi qua hệ
H(ej) là một hàm số phức và có thể biểu diễn theo phần thực và ảo:
Trang 16H(ej)= Hr(ej)+ jHi(ej)
Hoặc theo biên độ và pha:
H(ej)= | H(ej)| ejargH(ej ) (02)
H(ej) 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(ej) bằng các công thức tính hệ số khai triển chuỗi Fourier:
2
1)(
e n h e
k e A t
T jk
T A
0
0
) / 2 (
.)
e k x e
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:
X (f) = |X (f)| ej arg [ X (f)]
Trang 17Hà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)
h Đị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 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: Fs 2Fmax
Nghĩa là thỏa mãn định lý lấy mẫu Khi đó trong không gian tần số:
Xa(f) = X(f).Hlp(f) Còn trong không gian thời gian:
Xa(t) = x(nTs)*hlp(t) Trong đó: hlp(t) là đáp ứng xung của mạch lọc thông thấp lý tưởng có biên độ dải thông là Ts
1.1.2 Phép biến đổi Fourier rời rạc
a 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) = ej(2k/N)n, k=0,1, 2
Trang 18Cá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:
k(n) = k N(n) = k 2N(n) = ej(2k/N)nĐối với tín hiệu tuần hoàn và rời rạc xp(n), ta có chuỗi Fourier rời rạc (DFS):
b 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à:
M = N2 - N1+1
Với tín hiệu x(n) này đƣợc dùng nhƣ là một chu kỳ tín hiệu, ta có thể xây dựng tín hiệu xp(n) tuần hoàn với chu kỳ N bằng cách xếp chồng tuần hoàn:
Trang 19x n = xp(n) 0 ≤ n ≤ N − 1
0 n còn lại
c 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:
10
/ ) 2 (
).
( )
(
N
k
N kn j
e n x k
0
) 1 2 ( 2
)
12()
2()
nk
W n x k
1 2 /
0 2
)
()
nk N
ev n W x n W x
k X
) ( )
( )
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
Trang 20 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 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
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ó
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
Trang 21Só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
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 đó
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
b Các đặc trưng của sóng
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ướ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
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:
f = 1/T (Hz)
Trang 22y thì:
X = asin(t + y/c) Đối với sóng cầu thì biên độ a của dao động sóng tại vị trí cách nguồn bằng bán kính r, tỉ lệ nghịch với r, phương trình sóng có dạng:
X = a/r sin(t – r/c)
1.2.2 Sóng âm
a Dao động âm và sự truyền dao động
Sóng âm là một loại sóng cơ có biên độ dao động nhỏ mà thính giác nhận biết được Thí dụ: Dao động phát ra từ dây đàn, mặt trống đang rung động Sóng âm là một loại sóng cơ nên mọi khái niệm và hiện tượng về dao động và sóng cơ trên đây đều áp dụng cho sóng âm
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 > 20000 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 quá trình dao động âm trong đó mỗi giây thực hiện được một dao động”
1 Héc (Hz) = 1 dao động / 1 giây Việc phân chia sóng hạ âm, sóng siêu âm và sóng âm (âm thanh) liên quan tới khả năng sinh lý của thính giác
Trang 23b Đơ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
Đại lượng âm khách quan
Áp suất âm
Khi sóng âm tới một mặt nào đó, do các phân tử môi trường dao động tác dụng lên mặt đó một lực gây ra áp suất Áp suất ở đây là áp suất dư do sóng âm gây ra ngoài áp suất khí quyển
Trong phạm vi nghe được, áp suất âm trong khoảng từ 2.10-4 đến 2.102
bar, chênh lệch 106 lần, đó là một phạm vi rất rộng
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/m2 Còi ô-tô: I = 5 W/m2 Còi báo động: I = 3.000 W/m2 Trong điều kiện chuẩn (to = 20oC, áp suất 760mmHg):
Vận tốc âm trong không khí: C = 340 m/s
= 0,00121 gr/cm3
Trang 24 = 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/cm2
Áp suất âm và cường độ âm lớn nhất mà tai người có thể chịu được là:
Pmax = 2.102bar
Imax = 10-4 W/cm2Công suất âm nhỏ nhất có thể nghe thấy được Wmin = 10-12 Watt
Đơ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 quả 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 Âm 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” Âm có tần số khác nhau giá trị ngưỡng nghe cũng khác nhau Tai người có thể nghe rõ 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/ m2
Io = 10-12 W/m2
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
Trang 25Bel 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ôgarit
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
P: áp suất âm có ích của âm đang xét (N/m2)
Po: áp suất âm của âm chuẩn ở ngưỡng nghe Thực tế áp suất âm là đại lượng cơ bản hơn cường độ âm, nên thường dùng mức áp suất âm sau đó suy ra mức cường độ âm Đơn vị chung là bel hay db Đơn vị này cũng dùng để đo mức công suất, mức năng lượng âm
Vài mức áp suất âm đáng chú ý:
Nói chuyện thường: 30db Nói chuyện to : 70db
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 = 2x
Khi x = 1 tức f2 / f1 = 2 gọi là 1 quãng tần số (hay 1 ốc-ta)
Trang 26Khi 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
- 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
c Đặc tính sinh lý về sự cảm thụ âm thanh
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
Trang 27Mứ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, 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
â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à
Trang 28- Độ 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
Âm đ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 Pianô 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ú
Trang 29 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 quả của hai tác dụng:
- Do cường độ, độ to, âm sắc của âm đến hai tai không giống nhau
- Do hai âm đến hai tai lệch pha nhau, vì thời gian đến 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 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 quả 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 quả này mất
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
1.3 Nén âm thanh
Nén âm thanh là một dạng của nén dữ liệu, nhằm giảm kích thước của tín hiệu, trong đó lượng dữ liệu trong một dạng sóng được ghi lại giảm xuống mức độ khác nhau và như thế trong quá trình nén sẽ có hoặc không có một số mất mát về chất lượng của âm thanh Nén âm thanh được sử dụng trong mã hóa MP3, internet radio, đĩa CD
Âm thanh số là âm thanh được ghi trên đĩa CD và định dạng tệp tin âm thanh WAV được sử dụng chuẩn định dạng Pulse - Code Modulation (PCM) PCM là những tín hiệu âm thanh gốc và hoàn toàn không được nén
Trang 30Theo chuẩn PCM, mỗi giây âm thanh đƣợc lấy mẫu với tần số lấy mẫu 44.1KHz, mỗi mẫu đƣợc diễn tả bởi 16 bit dữ liệu Có nghĩa trong 1 phút nhạc / âm thanh có: 44100 đợt lấy mẫu x 2 kênh trái phải x 2 bytes (vì 16 bit
= 2 bytes) x 60 giây = 10.584.000 bytes = 10.1 Mb
Tóm lại, 1 giây của âm thanh gốc sẽ có bitrate là 1411 kbps
Có 2 loại nén âm thanh: Nén âm thanh không có tổn thất dữ liệu (Lossless compression) và nén âm thanh có tổn thất dữ liệu (Lossy compression)
Trang 31CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP NÉN ÂM THANH
2.1 Các phương pháp nén không có tổn thất
Hàng ngày, trong quá trình làm việc với máy tính, để nén một tệp tin tài
liệu gửi cho đồng nghiệp, đã có rất nhiều người sử dụng Zip hoặc Rar làm
định dạng nén
Tệp tin tài liệu được nén, sau khi qua Zip hoặc Rar sẽ trở nên nhỏ hơn
rất nhiều nhưng khi người nhận nhận được tệp tin, người dùng sẽ giải nén và
có được tệp tin tài liệu gốc đã tạo Thực chất, đó là việc tìm ra những quy luật
lặp của dữ liệu và qua đó tìm một cách hiển thị khác tối ưu hơn, tốn ít dữ liệu
hơn
Như vậy, khi người nhận nhận tệp tin và giải nén, Zip và Rar đóng
nhiệm vụ sử dụng những chuỗi dữ liệu nén đó tập hợp và tạo lại tệp tin gốc
ban đầu
Đó cũng là mục đích của định dạng âm thanh nén không mất dữ liệu
(lossless) Với cấu trúc trên của Zip hoặc Rar thì bạn có thể thấy rõ rằng: Đối
với nén âm thanh không có tổn thất thì đầu vào là âm thanh gốc của CD, cố
gắng tìm ra những quy luật âm thanh và sau đó thực hiện quá trình nén Việc
nén này là không cao vì dữ liệu âm thanh rất đa dạng và sử dụng nhiều dữ
liệu Hiện tại, mức độ nén cao nhất có thể của kĩ thuật nén không có tổn thất
bằng khoảng 1/3 dung lượng của âm thanh gốc Do đó, mỗi album lossless sẽ
có dung lượng khoảng 200 đến 300 Mb
Khi giải nén hoặc khi nghe lossless điều chắc chắn đạt được đó chính là
tín hiệu gốc của âm thanh CD (44.1KHz, 16bit, 1411Kbps) Điều này giúp
cho mọi người yêu âm nhạc luôn đòi hỏi âm thanh trung thực nhưng không có
điều kiện có CD gốc hoặc muốn sử dụng máy tính làm nơi lưu trữ albums
Các định dạng file âm thanh dạng Lossless như: FLAC, ALAC, APE
Trang 32+ FLAC
FLAC (Free Lossless Audio Codec) là một định dạng dùng để nén các
dữ liệu âm thanh Không giống như định dạng MP3, ACC hay Vorbis, FLAC
là một kỹ thuật nén âm thanh nhưng không làm mất thông tin Cũng như mọi
kỹ thuật nén nói chung, lợi ích lớn nhất của FLAC là làm giảm đáng kể nhu cầu về khả năng đường truyền và dung lượng lưu trữ Các nguồn âm thanh thông thường khi nén với FLAC sẽ giảm kích thước từ 30 đến 40 phần trăm
FLAC là một định dạng khá được ưa chuộng hiện nay và cũng có khá nhiều máy nghe nhạc hỗ trợ định dạng này, việc giải mã FLAC không phụ thuộc vào quá trình mã hóa, tức là mã hóa chậm nhưng giải mã vẫn khá nhanh Hiện nay, FLAC có 9 mức chia theo mức độ từ 0 - 8 và bitrate giao động trong khoảng 600 - 1100 kbps, mức càng cao thì thời gian mã hóa càng lâu để dung lượng giảm xuống Điểm đặc biệt khiến FLAC dần trở thành một chuẩn nén âm thanh được ưa chuộng là khi một nguồn âm thanh (đĩa CD, băng từ, đĩa than ) được nén dưới dạng FLAC, khi cần có thể được giải nén
để tái tạo bản sao có chất lượng y như bản gốc FLAC vừa thích hợp cho việc thưởng thức hàng ngày và vừa thích hợp cho việc lưu trữ âm thanh lâu dài
+ ALAC
ALAC (Apple Lossless Audio Codec) có đuôi là m4a, định dạng này được sáng lập bởi Apple, dành riêng cho các thiết bị của họ, sau này nó trở nên phổ biến hơn khi được sử dụng trên các thiết bị của hãng khác, tuy nhiên vẫn không phổ biến như FLAC hay APE
Về cơ bản, ALAC của Apple giống như FLAC, là chuẩn lossless thông dụng hiện nay, nó cho phép chuyển đổi các bản nhạc gốc thành nhạc số nén nhưng không làm giảm chất lượng âm thanh, mất dữ liệu nhạc so với nhạc MP3 hay các định dạng nén khác Bởi vậy, ALAC cũng là định dạng được nhiều người chơi âm thanh và nghe nhạc chất lượng cao ưa chuộng Tuy
Trang 33nhiên, các thiết bị của Apple lại có hạn chế với người dùng khi không sử dụng được định dạng này hoặc phải cài thêm phần mềm mới từ hãng thứ ba
+ APE
APE cũng là một định dạng lossless thông dụng được phát triển bởi Monkey‟s Audio (có đuôi là APE) Tuy nhiên, nó chưa phổ biến trên các máy MP3 bằng FLAC vì một bộ xử lý âm thanh giải mã MP3 là hiển nhiên và việc giải mã FLAC không phức tạp hơn MP3
Nguyên lý
Nguyên lý của phương pháp Huffman là mã hóa các bytes trong tệp dữ liệu nguồn bằng biến nhị phân Nó tạo mã độ dài biến thiên là tập hợp các bits Đây là phương pháp nén kiểu thống kê, những ký tự xuất hiện nhiều hơn
Trang 34Bước 3: Nhóm no tin cuối thành một tin phụ, tin này có xác suất bằng tổng tin thành phần Mỗi tin thành phần được đánh dấu bằng một ký hiệu mã
Bước 4: Xếp các tin còn lại và tin phụ theo thứ tự xác suất giảm dần Bước 5: Nhóm m tin cuối thành một tin phụ
Bước 6: Lặp lại bước 4 và 5 cho đến khi toàn bộ nguồn tin thành một tin Bước 7: Lặp từ mã cho tin xi Từ mã của tin xi là dãy các ký hiệu mã dùng để đánh dấu xi mà các tin phụ có chứa xi theo thứ tự từ lần tạo nhóm cuối cùng
Xét ví dụ
Thống kê lượng tin:
Ký hiệu A B C D E
Số lần 15 7 6 6 5 Khi đó ta có: X = {A, B, C, D, E}
Trang 352.1.2 Mã Huffman sửa đổi
Các giải thuật trên đây yêu cầu kiến thức về thống kê là điều mà khó
có thể thực hiện (Ví dụ: âm thanh, hình ảnh sống )
Ngay cả khi nếu điều đó là có thể làm được thì chi phí cho nó khá nặng, đặc biệt khi có nhiều bảng phải được truyền mà mô hình non-order() được sử dụng, nghĩa là việc đưa vào tính toán sự ảnh hưởng của các ký hiệu trước đó với xác suất của ký hiệu hiện hành
Giải pháp đưa ra là dùng giải thuật sửa đổi cho thích hợp Việc mã hóa Huffman sửa đổi được khảo sát sau đây với ý tưởng là làm thế nào có thể áp dụng vào các giải thuật nén thích hợp khác
While ((c = decode (input)) != eof) {
Trang 36Trong suốt quá trình cập nhật, cây Huffman sẽ được duy trì tính kế thừa, các nút (nút trong và nút lá) được sắp xếp theo thứ tự tăng dần của trọng lượng
Khi cần thiết trao đổi, nút xa nhất với trọng lượng W được trao đổi với nút mà trọng lượng của nó tăng lên 1 đơn vị W+1
Lưu ý: Nếu nút trọng lượng W có cây con bên dưới nó thì cây con đó cũng phải dời cùng với nó
Giả sử mẫu tự là [X,Y] và P(X) = 2/3, P(Y) = 1/3
Nếu ta chỉ quan tâm với chiều dài mã hóa là 2 thông điệp, thì ta có thể ánh xạ tất cả thông điệp có thể có vào những đoạn trong phạm vi [0 1]
XX XY XY YY
Để mã hóa thông điệp, chỉ dùng vừa đủ số bit cần thiết cho mỗi đoạn Tương tự, ta có thể ánh xạ tất cả chiều dài 3 thông điệp vào các đoạn trong [0 1]
Nói chung, số bit được xác định bằng kích thước của đoạn
Ví dụ: Đoạn đầu tiên là 8/27, cần 2 bit 2/3 bit cho mỗi ký tự
Đoạn cuối là 1/27, cần 5 bit
Vậy cần -[logp] bit để biểu diễn cho đoạn có kích thước p và ý tưởng
để xác định xác suất là dùng mô phỏng: Bắt đầu bằng việc đoán tần số của một ký hiệu, cập nhật tần số cho mỗi ký hiệu mới
2.1.4 Giải thuật Lempel-Ziv-Welch (LZW)
LZW là một phương pháp nén được phát minh bởi Lempel - Zip và Welch
Nó hoạt động dựa trên một ý tưởng rất đơn giản là người mã hoá và người giải mã
Trang 37cùng xây dựng bảng mã Bảng mã này không cần được lưu kèm với dữ liệu trong quá trình nén, mà khi giải nén, người giải nén sẽ xây dựng lại nó
Ưu điểm của phương pháp nén LZW là bên nhận có thể tự xây dựng bảng mã mà không cần bên gửi phải gửi kèm theo bản tin nén
Nhược điểm của thuật toán này là tốn nhiều bộ nhớ, khó thực hiện dựa
trên các mảng đơn giản (bé hơn 64KB)