DANH SÁCH CÁC HÌNH ẢNH Hình 1.1 Mô hình quá trình xử lý thông tin tổng quát 6 Hình 1.2 Minh họa phương pháp biến đổi BWT nghịch 12 Hình 1.5 Xác suất và khoảng con khởi tạo của biểu 21 Hì
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
HOÀNG PHƯƠNG THẢO
TÌM HIỂU VÀ PHÁT TRIỂN KỸ THUẬT TRUYỀN TIN
THEO HƯỚNG BIẾN ĐỔI DỮ LIỆU
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2016
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
HOÀNG PHƯƠNG THẢO
TÌM HIỂU VÀ PHÁT TRIỂN KỸ THUẬT TRUYỀN TIN
THEO HƯỚNG BIẾN ĐỔI DỮ LIỆU
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ CHUYÊN NGÀNH: 60 48 01 01
LUẬN VĂN THẠC SỸ: KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS TSKH NGUYỄN XUÂN HUY
THÁI NGUYÊN - 2016
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng các kết quả nghiên cứu được trình bày trong luận văn này là hoàn toàn mới, do bản thân tôi tự làm, dưới sự hướng dẫn của PGS.TSKH Nguyễn Xuân Huy
Các số liệu và kết quả nêu trong luận văn là trung thực, có nguồn trích dẫn
và chưa từng được tác giả nào khác công bố trong bất kì công trình nào khác
Thái Nguyên, ngày 12 tháng 5 năm 2016
HỌC VIÊN
Hoàng Phương Thảo
Trang 4LỜI CẢM ƠN
“ Người thầy vẫn lặng lẽ đi về sớm trưa Từng ngày giọt mồ hôi rơi đầy trang giấy … Thầy vẫn đứng bên sân trường năm ấy Dõi theo bước em trong cuộc đời Dẫu đếm hết sao trời đêm nay Dẫu đếm hết lá mùa thu rơi Nhưng ngàn năm, làm sao em đếm hết công ơn người thầy”
Trích ca khúc “Người thầy” sáng tác Nguyễn Nhất Huy
Em xin được gửi lời cảm ơn sâu sắc tới thầy PGS.TSKH Nguyễn Xuân Huy - Viện Công nghệ thông tin người đã dẫn dắt và định hướng cho em tìm hiểu và phát triển về lĩnh vực biến đổi thông tin trong kỹ thuật truyền tin Thầy đã luôn tận tình giúp
đỡ, giảng giải cho em trong mỗi bài học để em có thể nghiên cứu và hoàn thành luận văn này
Em trân trọng gửi lời cảm ơn đến các thầy cô trong và ngoài nhà trường đã cung cấp kiến thức, tài liệu học tập, tài liệu tham khảo và luôn tạo điều kiện thuận lợi cho quá trình học tập, rèn luyện của bản thân em
Em xin cảm ơn các Phòng, Ban, Khoa, đặc biệt là Khoa sau đại học trường Đại học Công nghệ thông tin và truyền thông Thái Nguyên đã hỗ trợ, hướng dẫn em trong suốt quá trình học tập, kể từ ngày đầu nhập học cho đến hôm nay
Sau cùng, em xin gửi lời cảm ơn sâu sắc tới gia đình, Ban lãnh đạo trường Cao đẳng nghề Hòa Bình, các bạn học cùng lớp, các bạn đồng nghiệp đã giúp đỡ về vật chất, động viên về tinh thần, dành thời gian cho em tham gia khóa học cùng lo lắng, chia sẻ vui buồn với em trong quãng thời gian em đi học
Thái Nguyên, ngày 12 tháng 5 năm 2016
HỌC VIÊN Hoàng Phương Thảo
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v
DANH SÁCH CÁC BẢNG BIỂU vi
DANH SÁCH CÁC HÌNH ẢNH viii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Nhiệm vụ nghiên cứu 2
4 Hướng nghiên cứu của đề tài 2
5 Những nội dung nghiên cứu chính 2
6 Phương pháp nghiên cứu 3
7 Ý nghĩa khoa học của đề tài 4
CHƯƠNG 1: THÔNG TIN VÀ QUÁ TRÌNH TRUYỀN TIN 5
1.1 Tổng quan về thông tin 5
1.1.1 Một số khái niệm về thông tin 5
1.1.2 Lượng tin - đơn vị đo lượng tin 5
1.1.3 Sơ đồ tổng quát của một quá trình xử lý thông tin 6
1.1.4 Sự trùng lặp thông tin 7
1.2 Tìm hiểu một số kỹ thuật biến đổi dữ liệu 9
1.2.1 Kỹ thuật biến đổi Burrows-Wheeler 9
1.2.1.1 Tư tưởng 9
1.2.1.2 Thuật toán Burrows-Wheeler 9
1.2.2 Kỹ thuật biến đổi Move-To-Front 15
1.2.2.1 Tư tưởng 15
1.2.2.2 Thuật toán Move-To-Front 16
1.3 Mã hóa Entropy 18
1.3.1 Mã hóa Huffman 18
1.3.2 Mã hóa số học 20
Trang 61.4 Mã hóa độ dài (RLE) 21
1.5 Khảo sát đặc thù truyền tin 22
1.5.1 Quá trình truyền tin 23
1.5.2 Truyền tin số 25
1.6 Kết luận 26
CHƯƠNG 2: TRUYỀN TIN KẾT HỢP VỚI KỸ THUẬT 27
BIẾN ĐỔI DỮ LIỆU 27
2.1 Các phương pháp biến đổi dữ liệu 27
2.1.1 Phương pháp Entropy 27
2.1.2 Phương pháp biến đổi dữ liệu Burrow-Wheeler 30
2.2 Mô hình truyền tin kết hợp với biến đổi dữ liệu 37
2.3 Lợi ích của kỹ thuật biến đổi dữ liệu khi truyền tin 48
2.4 Một số phát triển với kỹ thuật biến đổi BWT và MTF 49
2.4.1 Sự đảo ngược tần số 52
2.4.2 Phương pháp đếm trọng số (WFC) 53
2.4.3 Giai đoạn EC 54
2.4.4 Lược đồ biến đổi dữ liệu 55
2.4.5 So sánh tỷ lệ và thời gian thực hiện 57
2.5 Kết luận 59
CHƯƠNG 3 : CÀI ĐẶT VÀ THỬ NGHIỆM 60
3.1 Dữ liệu mẫu 60
3.2 Cài đặt thử nghiệm 61
3.3 Nhận xét và đánh giá kết quả thử nghiệm 61
3.4 Kết luận và hướng phát triển 68
3.4.1 Kết luận 68
3.4.2 Hướng phát triển của đề tài 68
TÀI LIỆU THAM KHẢO 69
Tài liệu tiếng việt 69
Tài liệu tiếng anh 69
Các trang web 70
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
BWT Burrows - Wheeler Transform Biến đổi Burrows - Wheeler
WFC Weighted Frequency Count Đếm trọng số tần số
LUA List Update Algorithm Thuật toán cập nhập danh sách GST Global Structure Transformation Chuyển đổi cấu trúc tổng thể
Trang 8DANH SÁCH CÁC BẢNG BIỂU
Bảng 1.1 Thể hiện các thông tin dự báo thời tiết diễn ra trong các
ngày của một tuần
8
Bảng 1.3 Kết quả sắp xếp theo thứ tự từ điển dãy cho
“ABBAANDPANAMA”
13
Bảng 1.9 Mô tả các trường hợp xuất hiện các ký hiệu khi nén 23 Bảng 2.1 Bảng tần xuất số lần xuất hiện của dãy số 27 Bảng 2.2 Bảng tần xuất số lần xuất hiện tăng dần của dãy số 27
Bảng 2.5 Kết quả sắp xếp theo thứ tự tăng dần trong bảng mã ASCII 31-32
Bảng 2.9 Kết quả thực nghiệm quy trình nén và truyền 38 Bảng 2.10 Kết quả thực nghiệm quy trình biến đổi và truyền 44 Bảng 2.11 Kết quả thực nghiệm quy trình kết hợp Nén-Biến đổi-Truyền 45-46 Bảng 2.12 Những giá trị trung bình rx và thời gian thực hiện theo giây
cho những giai đoạn MTF và WFC
49
Bảng 2.14 Những giá trị trung bình rx và thời giang thực hiện theo giây 52
Trang 9cho những giai đoạn MTF và WFC Bảng 2.15 Thể hiện các bước nén khối dữ liệu
"abracadabraabracadabra"
55
Bảng 2.16 Tỉ lệ nén kết hợp biến đổi với Calgary Corpus 56 Bảng 2.17 Thời gian thực hiện với Calgary Corpus theo giây 57
Bảng 3.2 Kết quả cài đặt thử nghiệm nén Huffman và phép biến đổi
BWT với Huffman
65
Trang 10DANH SÁCH CÁC HÌNH ẢNH
Hình 1.1 Mô hình quá trình xử lý thông tin tổng quát 6 Hình 1.2 Minh họa phương pháp biến đổi BWT nghịch 12
Hình 1.5 Xác suất và khoảng con khởi tạo của biểu 21
Hình 2.1 Minh họa nén theo phương pháp Huffman 28
Hình 2.3 Kết quả thực nghiệm biến đổi BWT nghịch 33 Hình 2.4 Quy trình truyền dữ liệu kết hợp với các phép biến đổi 37 Hình 2.5 Quá trình phát triển kỹ thuật nén BWT 48
Hình 2.7 Lược đồ nén dữ liệu của Burrows-Wheeler 53 Hình 3.1a Kết quả cài đặt thử nghiệm thuật toán kỹ thuật biến đổi
BWT khi nạp trực tiếp dữ liệu
60
Hình 3.1b Kết quả cài đặt thử nghiệm thuật toán kỹ thuật biến đổi
BWT khi nạp một file dữ liệu
60
Hình 3.2a Kết quả cài đặt thử nghiệm thuật toán kỹ thuật biến đổi
MTF khi nạp trực tiếp dữ liệu
61
Hình 3.2b Kết quả cài đặt thử nghiệm thuật toán kỹ thuật biến đổi
MTF khi nạp một file dữ liệu
61
Hình 3.3a Kết quả cài đặt thử nghiệm với thuật toán nén 62
Trang 11Huffman khi nạp file dữ liệu mẫu “Mylib.h”
Hình 3.3b Kết quả cài đặt thử nghiệm kết hợp BWT và Huffman
từ file dữ liệu mẫu “Mylib.h”
62
Hình 3.4a Kết quả cài đặt thử nghiệm với thuật toán nén
Huffman khi nạp file dữ liệu mẫu “index.html”
63
Hình 3.4b Kết quả cài đặt thử nghiệm kết hợp BWT và Huffman
từ file dữ liệu mẫu “index.html”
63
Hình 3.5a Kết quả cài đặt thử nghiệm với thuật toán nén
Huffman khi nạp file dữ liệu mẫu“Point.xls”
63
Hình 3.5b Kết quả cài đặt thử nghiệm kết hợp BWT và Huffman
từ file dữ liệu mẫu “Point.xls”
64
Hình 3.5a Kết quả cài đặt thử nghiệm với thuật toán nén Huffman
khi nạp file dữ liệu mẫu “NhietDo092015.dat”
64
Hình 3.5b Kết quả cài đặt thử nghiệm kết hợp BWT và Huffman
từ file dữ liệu mẫu “NhietDo092015.dat”
65
Trang 12MỞ ĐẦU
1 Lý do chọn đề tài
Trong thời đại hiện nay, sự bùng nổ của cuộc cách mạng khoa học kỹ thuật - công nghệ, đặc biệt với những thành tựu trong các lĩnh vực điện tử, tin học, truyền thông, con người đã xây dựng và thực hiện được bước tiến đáng kể trong sự nghiệp công nghiệp hóa, hiện đại hóa Việc áp dụng nhanh chóng các thành tựu của khoa học công nghệ đã góp phần nâng cao chất lượng các sản phẩm và hiệu quả của các lĩnh vực ngày càng trở nên cấp thiết
Thông tin tiềm tàng khắp mọi nơi trong xã hội, đó là các nguồn thông tin về giá vàng, thị trường chứng khoán, dự báo thời tiết, thông tin về các tổ chức, các hoạt động kinh tế xã hội, thông tin về khoa học công nghệ, nhưng đó chỉ là thông tin ở dạng tiềm năng Thông tin chỉ có giá trị và ý nghĩa khi nó được truyền đi, phổ biến
và được sử dụng Có thể nói bản chất của thông tin nằm trong sự giao lưu của nó
Do đó thông tin luôn phát triển gắn liền với truyền tin
Nhịp độ cuộc sống hiện đại, tính phức tạp của công việc và tốc độ trong giao dịch đòi hỏi sự giao lưu nhanh chóng của các dịch vụ thuộc lĩnh vực công nghệ thông tin, truyền tin đã làm tăng nhu cầu của các loại hình thông tin, truyền tin trong các tổ chức quốc gia cũng như các tổ chức quốc tế Việc tổ chức các dịch vụ hiện đại dựa vào các hệ thống điều khiển nhằm thu thập và xử lý thông tin qua các phương tiện truyền tin, các kỹ thuật truyền tin
Các hình thức truyền tin thông dụng như video, âm thanh, hình ảnh, văn bản,
đã trở nên khá phổ biến trong xã hội Truyền tin là một phương tiện và cũng là nhịp cầu liên kết giữa con người, các lĩnh vực trong xã hội với nhau Nhưng hiện tại việc trao đổi thông tin vẫn còn nhiều giới hạn bởi chất lượng thông tin, kích thước gói tin, tốc độ truyền tin, và khả năng bảo mật của thông tin chưa hoàn toàn đáp ứng người dùng Vì vậy kỹ thuật truyền tin theo hướng biến đổi dữ liệu ra đời với mong muốn là thu nhỏ dung lượng các gói tin, chuyển tin chuẩn xác với nội dung ban đầu, giúp cho quá trình truyền thông tin nhanh hơn, không gian lưu trữ trên đĩa ít hơn
Trang 13Với mong muốn thực hiện việc biến đổi tin và truyền tin trong khoảng thời gian ngắn, kích thước gói tin nhỏ, chất lượng tin tốt Học viên lựa chọn đề tài luận
văn “Tìm hiểu và phát triển kỹ thuật truyền tin theo hướng biến đổi dữ liệu” Với đề
tài này, học viên nghiên cứu hai kỹ thuật biến đổi cơ bản là: Kỹ thuật biến đổi dữ liệu Burrows-Wheeler, Move-To-Front kết hợp với thuật toán nén Huffman
2 Nhiệm vụ nghiên cứu
- Tìm hiểu tổng quan về thông tin, truyền tin, kỹ thuật biến đổi dữ liệu Burrows-Wheeler, kỹ thuật biến đổi dữ liệu Move-To-Front
- Cài đặt thử nghiệm kỹ thuật biến đổi Burrows-Wheeler và kỹ thuật biến đổi Move-To-Front kết hợp với thuật toán nén Huffman
Đưa ra kết quả đối sánh quá trình truyền tin và biến đổi thông tin khi kết hợp kỹ thuật biến đổi dữ liệu Burrows-Wheeler và kỹ thuật biến đổi Move-To-Front với thuật toán nén Huffman
3 Đối tượng và phạm vi nghiên cứu
Tập trung vào nghiên cứu:
- Tư tưởng của kỹ thuật biến đổi Burrows-Wheeler và Move-To-Front
- Thuật toán biến đổi Burrows-Wheeler và Move-To-Front
- Các ví dụ cụ thể áp dụng thuật toán biến đổi Burrows-Wheeler và To-Front và thuật toán nén Huffman
Move Những lợi ích riêng của từng kỹ thuật biến đổi BurrowsMove Wheeler và kỹ thuật biến đổi Move-To-Front
4 Hướng nghiên cứu của đề tài
- Tìm hiểu về thông tin và quá trình truyền tin
- Nghiên cứu về mã hóa dữ liệu
- Tìm hiểu truyền tin theo các kỹ thuật biến đổi dữ liệu
- Cài đặt thử nghiệm
5 Những nội dung nghiên cứu chính
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo
Trang 14Nội dung cơ bản của luận văn được trình bày như sau:
Chương 1: Thông tin và quá trình truyền tin
Trong chương này học viên trình bày những khái niệm cơ sở, ý tưởng, thuật toán liên quan thông tin, truyền tin Ngoài ra, học viên có nêu thêm một số khái niệm liên quan đến thông tin, nén dữ liệu và đưa ra một số ví dụ, dẫn chứng cụ thể
để dẫn dắt vấn đề cho luận văn
Chương 2: Truyền tin kết hợp với kỹ thuật biến đổi dữ liệu
Trong chương 2 học viên chứng minh một số kỹ thuật biến đổi dữ liệu cơ bản bằng cách áp dụng thuật toán đã trình bày tại chương 1 để thực hiện các ví dụ cụ thể
Kết hợp các kỹ thuật biến đổi dữ liệu, nén dữ liệu để thực hiện mô hình theo
4 quy trình chính để áp dụng kỹ thuật biến đổi dữ liệu BWT, MTF và phương pháp
nén dữ liệu Entropy để chứng minh kết quả đạt được của luận văn
Chương 3: Cài đặt và thử nghiệm
Chương trình cài đặt và thử nghiệm sử dụng các chương trình chính sau:
* Kỹ thuật biến đổi: Burrows - Wheeler và Move - To - Front
* Thuật toán nén: Huffman
Áp dụng mô hình biến đổi dữ liệu kết hợp thành các quy trình thực hiện dựa trên cơ sở lý thuyết, đã cài đặt chuyển đổi thử nghiệm dữ liệu thực
6 Phương pháp nghiên cứu
Về lý thuyết:
- Tìm hiểu thông tin và quá trình truyền tin
- Tìm hiểu nén dữ liệu, thuật toán nén Huffman
- Nghiên cứu truyền tin theo các kỹ thuật biến đổi dữ liệu Wheeler và Move-To-Front
Burrows- Về thử nghiệm:
- Sử dụng ngôn ngữ lập trình Dev C++ xây dựng và cài đặt thử nghiệm chương trình nén dữ liệu theo kỹ thuật biến đổi Burrows-Wheeler, kỹ thuật Move-To-Front kết hợp với thuật toán nén Huffman
Trang 15- Nhận xét, đánh giá kết quả thử nghiệm
7 Ý nghĩa khoa học của đề tài
Theo các nghiên cứu về biến đổi dữ liệu, học viên phân tích các đặc tính của
dữ liệu đã được biến đổi khi truyền tin và hy vọng đưa ra một số mô hình để đạt được sự biểu diễn ngắn gọn hơn, chuẩn xác hơn Điều này làm gia tăng sự đa dạng của mô hình dữ liệu và những kỹ thuật biến đổi dữ liệu
Luận văn tập trung vào xây dựng cơ sở khoa học cho việc truyền tin theo kỹ thuật biến đổi dữ liệu Burrows-Wheeler với kỹ thuật Move-To-Front kết hợp thuật toán nén Huffman xây dựng ứng dụng, thử nghiệm để tìm ra phương pháp truyền tin hiệu quả nhất
Trang 16CHƯƠNG 1: THÔNG TIN VÀ QUÁ TRÌNH TRUYỀN TIN
1.1 Tổng quan về thông tin
1.1.1 Một số khái niệm về thông tin
Thông tin được tổ chức tuân theo một số quan hệ logic nhất định, trở thành một bộ phận của tri thức, đòi hỏi phải được khai thác và nghiên cứu một cách hệ thống Trong hoạt động của con người thông tin được thể hiện qua nhiều hình thức
đa dạng và phong phú như: Con số, chữ viết, âm thanh, hình ảnh v.v
Từ Latin “Information”, gốc của từ hiện đại “information” (thông tin) có hai nghĩa Một, nó chỉ một hành động rất cụ thể là tạo ra một hình dạng (forme) Hai, tuỳ theo tình huống, nó có nghĩa là sự truyền đạt một ý tưởng, một khái niệm hay một biểu tượng Tuy nhiên cùng với sự phát triển của xã hội, khái niệm thông tin cũng phát triển theo
Thông tin tồn tại khách quan, có thể ghi lại và truyền đi Những điều mà ta gặp hàng ngày như thông tin dự báo thời tiết, tin điện sắp sửa tăng giá, lịch tập huấn của đội tuyển bóng đá Việt Nam, thị trường chứng khoán, giá vàng, chính là thông tin Việc chúng ta ghi lại những điều này ra giấy, đó là chúng ta ghi lại thông tin Còn việc chúng ta nói với mọi người những điều này hoặc đưa cho mọi người xem những điều này, đó là truyền tin
1.1.2 Lượng tin - đơn vị đo lượng tin
Khi nào thì lượng tin bằng không, hay nói cách khác, khi nào thì các thông
tin được coi là không có nghĩa? Đó chính là những điều hiển nhiên, chắc chắn, ai cũng biết (Điều này tương đương với việc hệ thống chỉ có một trạng thái)
Ví dụ về lượng tin bằng không: Ai đó thông báo rằng, “ngày mai mặt trời lại mọc ở hướng Đông đấy” Thông báo đó hầu như không đem lại thông tin gì mới cả,
ai cũng biết điều này vậy kết quả là không
Tuy nhiên, điều càng bất ngờ, khó xảy ra thì lượng tin càng cao Ví dụ, tin
về thiên tai sóng thần tại châu Á, tin về toà tháp đôi của Mỹ bị đổ thu hút sự quan
Trang 17tâm của rất nhiều người bởi đây đều là những điều hoàn toàn bất ngờ, rất khó xảy
ra Như vậy, có thể nói rằng: Lượng tin tỷ lệ nghịch với xác suất của sự kiện[4]
Vậy trong máy tính, các thông tin được biểu diễn bằng hệ đếm nhị phân Tuy chỉ dùng 2 ký hiệu số là ‘0’ và ‘1’ mà ta gọi là bit nhưng hệ nhị phân đã giúp máy tính biểu diễn - xử lý được trên hầu hết các loại thông tin mà con người hiện đang
sử dụng như văn bản, hình ảnh, âm thanh, video,
1.1.3 Sơ đồ tổng quát của một quá trình xử lý thông tin
Mọi quá trình xử lý thông tin bằng máy tính hay bằng con người đều được thực hiện theo một qui trình sau :
Dữ liệu (data) được nhập ở đầu vào (input) Máy tính hay con người sẽ thực hiện quá trình xử lý nào đó để nhận được thông tin ở đầu ra (output) Quá trình nhập
dữ liệu, xử lý và xuất thông tin đều có thể được lưu trữ (Hình 1.1)
Hình 1.1 Mô hình quá trình xử lý thông tin tổng quát
Việc xử lý thông tin bao gồm 3 quy trình sau:
- Quy trình thu nhận thông tin: Nạp, ghi nhớ thông tin vào vùng nhớ trong não hoặc các vật lữu trữ trung gian ( giấy, đĩa từ,…)
- Quy trình tìm kiếm thông tin: Nhớ lại thông tin trong vùng nhớ đã lưu, hoặc thu thập, truy tìm thông tin trong các vật lưu trữ thông tin
- Quy trình biến đổi thông tin: Các hoạt động xử lý, biến đổi thông tin dẫn đến việc thay đổi thông tin, tao ra thông tin mới
Từ mô hình trên ta nhận thấy rằng mỗi hệ thống truyền tin đều có đặc trưng riêng nhưng có một số đặc tính chung cho tất cả các hệ thống Đặc trưng chung có tính nguyên lý là tất cả các hệ thống truyền tin đều nhằm mục đích truyền tải thông
Trang 18tin từ điểm này đến điểm khác Trong các hệ thống truyền tin, thường gọi thông tin
là dữ liệu hay thông điệp
Để truyền tin hiệu quả thì giữa bên phát và bên thu phải hiểu thông điệp muốn truyền và phải có khả năng biến đổi thông điệp, dịch thông điệp chính xác
Đặc trưng toàn quá trình truyền tin của một hệ thống được xác định và bị giới hạn riêng của nguồn tin, của môi trường truyền và đích thu Nhìn chung, dạng thông tin cần truyền quyết định kiểu nguồn tin, môi trường và đích thu
Ví dụ 1.1: Giả sử ta có một văn bản gốc với nội dung “abbaandpanama”, ta
cần chuyển văn bản này đến một vị trí khác Ta thực hiện như sau:
Dữ liệu vào Input S = “abbaandpanama”, sau quá trình biến đổi và truyền ta thu được bản mã dữ liệu đích Output L = “mbanpabanaaad”, với khóa D = 2 Từ khóa D = 2 sau khi giải mã ta thu được dữ liệu đích Output S’ = “abbaandpanama”
- Quy trình truyền thông tin: Truyền hoặc dẫn thông tin từ nơi này sang nơi khác, từ đối tượng này sang đối tượng khác
- Quy trình lý giải, suy luận thông tin: Các hoạt động mang tính trí tuệ và sáng tạo như phân tích, so sánh, lý giải, suy luận, đối chiếu, đánh giá vai trò, ý nghĩa của thông tin[4]
1.1.4 Sự trùng lặp thông tin
Thông tin trùng lặp có thể là một số thông tin được che dấu, một số cơ sơ dữ liệu chung, một số các ký tự giống nhau, một số cấu trúc tương đương trong tự nhiên… Xét một số ví dụ đơn giản sau đây:
Ví dụ 1.2: Xét chuỗi ký tự S = “panama”
Để biểu diễn chuỗi ký tự S = “panama” theo cách thông thường cần 48 bits Như vậy, với chuỗi ký tự S ta có thể lưu ở bảng ký hiệu mới với mã tương ứng cho từng ký hiệu là p = 100, n = 101, m = 11, a = 0 Vậy để biểu diễn chuỗi ký tự S lúc này ta chỉ cần 11 bits Tuy nhiên còn có nhiều cách khác để có thể giảm bớt số bit
của các ký tự bằng cách thay đổi độ dài từ mã vẫn luôn đảm bảo dữ liệu chính xác
Ví dụ 1.3: Xâu “ bananaaaaaa” có 8 biểu tượng ‘a’ và hai biểu tượng ‘n’
Trang 19được lặp lại liên tục
Ví dụ 1.4: Xem xét một văn bản với các từ được lặp lại như sau:
"nguoi oi nguoi o dung ve nguoi ve em chang cho ve
em nam vat ao em de lam tho tho nay nguoi o nguoi ve nguoi di di mai chang ve nguoi oi"
Ở đây có các từ được lặp lại đó là : Từ "nguoi" 7 lần, từ "ve" 5 lần, từ "em"
3 lần, từ "oi" 2 lần, từ "o" 2 lần, từ "tho" 2 lần, từ "chang" 2 lần
Ví dụ 1.5: Xét thông tin dự báo thời tiết của tỉnh Hòa Bình trong tuần một của tháng 9
năm 2015 Tính trung bình một ngày thông tin dự báo thời tiết báo nhiệt độ 3 lần (sáng, chiều và đêm) Trong đó một tuần bằng 7 ngày Vậy số lượt báo nhiệt độ trong
7 ngày x 3 = 21 lần báo nhiệt độ
Giả sử tính trung bình và làm tròn nhiệt độ mỗi ngày sẽ cho ta một dãy thông tin Những thông tin về nhiệt độ biến động trong ngày được cập nhật, và cần phải được truyền tin ngay khi xuất hiện thông tin dự báo nhiệt độ mới chứ không để có đủ lượng thông tin về bảng đo nhiệt độ của một tuần ta mới nén để gửi đi Với bảng thông số nhiệt độ như sau:
Bảng 1.1 Thể hiện các thông tin dự báo thời tiết diễn ra trong các ngày của một tuần
Ngày Chủ nhật Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7
Dựa vào bảng nhiệt độ trên, ta thấy các thông số về nhiệt độ dự báo 23, 24, 25,
26, 27 được lặp lại rất nhiều lần Vì vậy để thuận tiện cho quá trình truyền thông tin, chúng ta cần áp dụng một số kỹ thuật biến đổi thông tin kết hợp với nén thông tin
Trang 20trước khi truyền tin Mục đích chính nhằm rút ngắn thời gian truyền tin và chiếm không gian lưu trữ ít hơn
1.2 Tìm hiểu một số kỹ thuật biến đổi dữ liệu
Với phương hướng của đề tài, học viên áp dụng hai kỹ thuật biến đổi chính
đó là: Kỹ thuật biến đổi Burrows-Wheeler, kỹ thuật biến đổi Move-To- Front và kết hợp phương pháp Entropy trong quá trình thực hiện
1.2.1 Kỹ thuật biến đổi Burrows-Wheeler
Các BWT dựa vào thứ tự từ điển phân loại các biểu tượng theo thứ tự quay vòng của một chuỗi Các hoạt động của BWT tốt nhất có thể được giải thích thông qua một số ví dụ cụ thể bằng kỹ thuật biến đổi BWT thuận và BWT ngược[11]
1.2.1.2 Thuật toán Burrows-Wheeler
Burrows-Wheeler thuận
Input: BWT(S)// Dữ liệu vào: Chuỗi văn bản, âm thanh, hình ảnh,…
Output: L, D
// L = Dữ liệu ra; D = Chỉ số xác định lưu trữ vị trí ký tự đầu tiên của S
Phương pháp: BWT tạo ra các khối dữ liệu bằng cách hoán vị vòng tròn ký tự
ký tự đầu tiên của khối xuống cuối khối và thu được ma trận X[n×n], mỗi hàng của
Trang 21Bước 2: Sắp xếp lại các dòng của ma trận theo thứ tự từ điển
Bước 3: Tạo ra khối dữ liệu mới L là cột cuối cùng của ma trận Giá trị D lưu trữ vị trí ký tự đầu tiên của S, D là nguồn gốc để khôi phục L thành S
Bước 4: Số D là vị trí của S trong dãy được sắp xếp
Tổng quát BWT: BWT (S) = (L, D)
Biến đổi BWT thuận về bản chất liên quan đến việc sắp xếp tất cả các phép quay của xâu đầu vào, kỹ thuật biến đổi BWT thực hiện việc nhóm các ký tự xuất hiện trong các ngữ cảnh tương tự lại với nhau bằng cách tạo ra tất cả các thay đổi về phép quay vòng của chuỗi dữ liệu và liệt kê chúng theo thứ tự; sau mỗi lần thay đổi, phần tử đầu tiên của dãy cũ sẽ được chuyển về vị trí cuối cùng của dãy mới
Xét ví dụ 1.6: Giả sử ta có một văn bản gốc với nội dung:
“ABBAANDPANAMA” Tức là Input : S = “ABBAANDPANAMA”
Áp dụng thuật toán BWT và công thức tổng quát, ta thưc hiện quay chuỗi
“ABBAANDPANAMA” Ta được thông tin như bảng 1.2:
Bảng 1.2 Quá trình quay chuỗi “ABBAANDPANAMA”
Sắp xếp theo chuỗi ký tự từ điển như bảng 1.1 cho kết quả của việc sắp xếp
X và được dãy kết quả đầu ra là Y.[12]
Trang 22Bảng 1.3 Kết quả sắp xếp theo thứ tự từ điển dãy cho “ABBAANDPANAMA”
Phương pháp: Kết quả BWT thuận cho ta cho ta mảng L và giá trị D Từ L ta
có thể suy ra được F Để có thể suy từ L ra S, ta phải tìm mối quan hệ giữa L và F Với mỗi ký tự trong L ta đều suy ra ký tự tiếp theo của S từ F căn cứ vào chỉ số, bởi
vì quá trình chuyển đổi BWT là quá trình hoán vị vòng quanh S
Trang 23Giả sử ta biết ký tự s i trong L có vị trí là u (s i = L[u]), ta cũng biết ký tự tiếp theo trong S là s i+1 = F[u] Ta đã biết được s i+1 thì cũng biết được s i+2, tương tự như
vậy ta sẽ suy ra được S Hình 1.2 minh họa quá trình này
Hình 1.2 Minh họa phương pháp biến đổi BWT nghịch Giá trị D cho ta biết ký tự đầu tiên của S trong L và ký tự tiếp theo của S trong F Như vậy ta cần một mảng phụ để lưu trữ chỉ số của từng ký tự trong L khi sắp xếp Ta định nghĩa mảng S’ để lưu trữ
Xét tiếp ví dụ 1.6: Sau khi biến đổi BWT thuận ta được kết quả là một sâu mới L = “MBANPABANAAAD” Sắp xếp theo thứ tự từ điển cho ta sâu F =
“AAAAAABBDMNP”[13]
Thuật toán
1 Có L và chỉ số chính D
2 Viết chuỗi L và F cùng với các chỉ số
Vậy ta được kết quả như bảng dưới đây:
Trang 243 Tạo một “véc tơ biến đổi” F[i]
Để tính được giá trị của F[i], chúng ta dựa vào vị trí của ký tự đó trong chuỗi
F Giả sử chuỗi ký tự đó xuất hiện thứ n trong chuỗi F; ta quét chuỗi L để tìm sự xuất hiện của ký tự thứ n trong chuỗi F và kết quả nhận về là SA[n]
F[0] A thứ 1 trong F L[2] A thứ 1 trong L => SA[0] = 2
F[1] A thứ 2 trong F L[5] A thứ 2 trong L => SA[1] = 5
F[2] A thứ 3 trong F L[7] A thứ 3 trong L => SA[2] = 7
F[3] A thứ 4 trong F L[9] A thứ 4 trong L => SA[3] = 9
F[4] A thứ 5 trong F L[10] A thứ 5 trong L => SA[4] = 10
F[5] A thứ 6 trong F L[11] A thứ 6 trong L => SA[5] = 11
F[6] B thứ 1 trong F L[1] B thứ 1 trong L => SA[6] = 1
F[7] B thứ 2 trong F L[6] B thứ 2 trong L => SA[7] = 6
F[8] D thứ 1 trong F L[12] D thứ 1 trong L => SA[8] = 12
F[9] M thứ 1 trong F L[0] M thứ 1 trong L => SA[9] = 0
F[10] N thứ 1 trong F L[3] N thứ 1 trong L => SA[10] = 3
F[11] N thứ 2 trong F L[8] N thứ 2 trong L => SA[11] = 8
F[12] P thứ 1 trong F L[4] P thứ 1 trong L => SA[12] = 4
Theo thuật toán nghịch của kỹ thuật biến đổi BWT để khôi phục lại được
chuỗi ký tự ban đầu, ta cần sử dụng chỉ số chính với D = 2 Vậy ta khởi tạo giá trị với chỉ số chính thuộc D trong chuỗi L [bắt đầu với chỉ số chính] và thiết lập các chỉ
số SA, sau đó quay vòng lặp cho đến khi kết quả được chỉ số chính một lần nữa.[13]
Quy trình giải mã:
Trang 26Index = 7 L[7] = A SA[7] = 6
Index = 2 - Primary index readched, end of string
Output: ABBAANDPANAMA
Ngoài ra còn có thể thực hiện quy trình giải mã tìm kiếm quay chuỗi biến đổi
thuật toán BWT nghịch theo phương pháp của hình 1.2
Hình 1.3 Mô tả quá trình biến đổi BWT nghịch Vậy kết quả là: Output S’ = “A 3 B 2 B 1 A 2 A 6 N 2 DPA 5 N 1 A 4 MA 1 ”
Đây chính là chuỗi ký tự ban đầu : S = S’ = “ABBAANDPANAMA”
1.2.2 Kỹ thuật biến đổi Move-To-Front
1.2.2.1 Tư tưởng
Move-To-Front (MTF) là một phương pháp dịch chuyển các ký hiệu về vị trí đầu tiên trong dãy ký tự cần mã, điều này chứng tỏ trong dãy ký tự cần mã có nhiều
ký tự giống nhau thì sẽ có mã là 0 Vậy kết quả đầu ra sẽ cho ta nhiều ký hiệu có mã
là 0 Để làm sáng tỏ điều này, ta xét bảng chữ cái gồm có các chữ cái
Trang 27“ABCDEFGHIJKLMNOPQRSTUVWXYZ” tạo thành mảng Mỗi lần dịch chuyển
để đọc một ký tự thì ký tự đó được đưa về đầu mảng và có mã là 0
Cụ thể ta xét kỹ thuật biến đổi MTF thuận và MTF nghịch và cùng làm rõ
trong ví dụ của một xâu đầu vào là một xâu đầu ra của kỹ thuật biến đổi BWT: L =
1.2.2.2 Thuật toán Move-To-Front
Bước 1: Đọc ký tự từ khối dữ liệu nguồn T
Bước 2: Ghi ký tự từ vị trí xuất hiện ch trong bảng mã vào khối dữ liệu đích D
Bước 3: Di chuyển ký tự lên đầu bảng mã
Bước 4: Lặp lại các bước trên cho đến khi kết thúc khối dữ liệu nguồn
Xét tiếp ví dụ 1.6
Ta xét một xâu đầu vào là một xâu đầu ra của kỹ thuật biến đổi BWT:
Theo BWT (“ABBAANDPANAMA”) = (“MBANPABANAAAD”, 2)
Với bảng chữ cái 26 ký tự: T = ABCDEFGHIJKLMNOPQRSTUVWXYZ Ta
sắp xếp quay theo bảng dưới đây :
Trang 28Bảng 1.6 Mô tả quá trình biến đổi MTF thuận
Sau khi dùng kỹ thuật biến đổi dữ liệu MTF với kết quả đầu vào:
Input(R) = “MBANPABANAAAD”, ta được kết quả đầu ra:
Output(D) = “12|2|2|13|15|2|3|1|3|1|0|0|6”
MTF (“MBANPABANAAAD”) = (12, 2, 2, 13, 15, 2, 3, 1, 3, 1,0, 0,6)
Move-To-Front nghịch
Không giống như kỹ thuật biến đổi BWT nghịch, MTF nghịch đơn giản hơn
về cách thực hiện trong thuật toán
Thuật toán:
Bước 1: Đọc ký tự từ khối dữ liệu nguồn R
Bước 2: Ghi ký tự từ vị trí xuất hiện ch trong bảng mã vào khối dữ liệu đích D
Bước 3: Di chuyển ký tự lên đầu bảng mã
Bước 4: Lặp lại các bước trên cho đến khi kết thúc khối dữ liệu và được khối
dữ liệu mới R’ (R’ = L)
Xét tiếp ví dụ 1.6: Từ kết quả mã của MTF thuận ta có khối dữ liệu cần giải
mã Input(R) = “12|2|2|13|15|2|3|1|3|1|0|0|6”
Với bảng chữ cái 26 ký tự: T = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”
áp dụng thuật toánMTF nghịch ta được kết quả như bảng dưới đây :
Trang 29Bảng 1.7 Mô tả quá trình biến đổi MTF nghịch
1.3.1 Mã hóa Huffman
Mã hóa Huffman được coi là phương pháp nén tốt, sử dụng các ký hiệu trong văn bản gốc để nén dữ liệu Trong bất cứ văn bản nào đều có các ký tự có số lần xuất hiện nhiều hơn so với các ký tự khác Ví dụ như trong tiếng Anh, các chữ cái A, E, N, H, T thường xuyên xuất hiện nhiều hơn các chữ cái J, Q, X
Xét các chữ cái có độ dài từ mã là 8-bits theo bảng mã ASCII Ý tưởng của
thuật toán Huffman là xét các chữ cái có tần số xuất hiện nhiều hơn sẽ có độ dài từ
mã ngắn hơn, các chữ cái xuất hiện ít hơn sẽ có độ dài từ mã dài hơn Do đó tổng
số bit của dữ liệu nén được sẽ giảm đáng kể so với dữ liệu nguồn
Mã Huffman là kỹ thuật nén dữ liệu dựa trên xác suất xuất hiện của các ký hiệu trong khối dữ liệu Các ký hiệu xuất hiện thường xuyên sẽ cần ít bít để biểu diễn hơn so với các ký hiệu không thường xuyên xuất hiện Để biểu diễn được các bit nhị phân này, ông đề xuất cách tổ chức ký hiệu trên cây nhị phân dựa vào tần
Trang 30suất xuất hiện các ký hiệu Xét chuỗi ký hiệu “ABBAANDPANAMA” được trình bày cụ thể hơn trong mục 2.1.1 tại chương 2 của luận văn này Bảng 1.8 mô tả về
từ mã và độ dài từ mã tương ứng với mỗi ký hiệu xuất hiện trong mỗi
Ví dụ 1.7: Xét một dãy gồm 6 biểu tượng: Xác suất xuất hiện của 6 biểu
tượng được cho như hình dưới đây:
Hình 1.4a Mã hóa Huffman
Trước tiên, mã Huffman tính tổng đồng thời hai biểu tượng có xác suất nhỏ
nhất thành một biểu tượng mới với một xác suất mới (0,06 + 0,04 = 0,1), lặp lại quá trình đó cho đến khi chỉ còn một biểu tượng và xác suất bằng 1
Bước ngược lại để mã hóa mỗi xác suất với mã nhị phân bắt đầu với nguồn nhỏ nhất và làm trở lại nguồn ban đầu như hình 1.3b
Trang 31Hình 1.4b Mã hóa Huffman ngược
1.3.2 Mã hóa số học
Nén số học là một dạng biến đổi từ mã bằng phương pháp Entropy được sử dụng trong nén dữ liệu không mất mát thông tin Thông thường một chuỗi các ký
tự được biểu diễn với một số lượng bít nhất định cho mỗi ký tự Ví dụ như 8-bits
đối với các ký tự mã ASCII Khi chuỗi ký tự đó được chuyển đổi sang dưới dạng
mã số học, các ký tự thường xuyên xuất hiện sẽ được lưu với số bit ít hơn so với các ký hiệu không xuất hiện thường xuyên Mã số học khác với một số dạng mã Entropy khác như mã Huffman Mã số học mã hóa toàn bộ thông điệp thành số
thực n chính xác đơn (single number) (0.0≤ n < 1.0)
Mã hóa số học dựa trên xác suất xuất hiện của các biểu tượng trong thông điệp,
quá trình bắt đầu với nửa khoảng [0,1), các biểu tượng có xác suất xuất hiện của
chúng được đặt vào trong một khoảng con gồm tần số mà nó giữ trong thông điệp
Ví dụ 1.8: Giả sử ta mã hóa một dãy a 1 a 2 a 3 a 4 với xác suất được cho trong hình 1.4
Hình 1.5 Xác suất và khoảng con khởi tạo của biểu
Vì biểu tượng đầu tiên của thông điệp đang được mã hóa, khoảng thông điệp
khởi tạo được thu hẹp với [0.0, 0.2) Tiếp theo chia khoảng thông điệp thành
Trang 32khoảng con nhỏ hơn với biểu tượng tiếp theo a 2 , cung cấp một khoảng con [0.04, 0.08) Với biểu tượng tiếp theo a 3 ,khoảng được phân chia thành một khoảng con
mới với [0.056, 0.072) Tiếp tục quá trình này, ta được khoảng cuối cùng [0.0688, 0.06752) Dãy các biểu tượng có thể được mã hóa với bất kỳ số nào trong biểu diễn
khoảng dữ liệu[3]
Hình 1.5 cho ta thấy quá trình cơ bản của mã hóa số học Đó là 5 biểu tượng
của thông điệp và 4 biểu tượng nguồn của dữ liệu được mã hóa
Hình 1.6 Mã hóa số học
1.4 Mã hóa độ dài (RLE)
RLE (Run Length Encoding) là phương pháp mã hóa độ dài ký hiệu Thuật toán này nhận biết các ký hiệu xuất hiện thường xuyên liên tục và ghi nhận độ dài
của các ký hiệu này
RLE rất có hiệu quả trong nén dữ liệu đối với dữ liệu xuất hiện liên tiếp các
ký hiệu như hình ảnh; Trong hình ảnh, ví dụ như màu nền của một bức tranh có rất nhiều màu trùng nhau đứng cạnh nhau Còn trong văn bản thì rất ít xuất hiện liên tiếp ký hiệu Vì vậy thuật toán RLE được sử dụng ngay sau phương pháp BWT Bởi
vì phương pháp BWT tạo ra rất nhiều các ký hiệu lặp lại liên tiếp
Ý tưởng chính của phương pháp RLE rất đơn giản, nếu có ‘aaaaaaa’ thì ta kết xuất ra ‘aa’ và số lần xuất hiện ký hiệu này
aaaaaaaa
3 byte
Trang 33Hình 1.7 Phương pháp nén RLE (1)
Ở đây byte thứ ba trong dữ liệu nén là ký hiệu có số thứ tự trong bảng mã là
6 Nghĩa là ta coi số lần ký hiệu lặp là một byte nếu số lần lặp nhỏ hơn 256 Nếu số lần lặp là lớn hơn 256 thì ta kết xuất ký hiệu gốc và số lần lặp là 255, sau đó phải ghi nhận số lần lặp mới với ký hiệu gốc này Điều này minh họa như sau:
Hình 1.8 Phương pháp nén RLE (2)
Vấn đề nảy sinh đối với các ký hiệu không lặp lại thì ta không nên nén chúng
Trong bảng 1.9 mô tả chi tiết với các trường hợp xuất hiện ký hiệu khác nhau[3]:
Bảng 1.9 Mô tả các trường hợp xuất hiện các ký hiệu khi nén
Dữ liệu nguồn Dữ liệu nén
1.5 Khảo sát đặc thù truyền tin
Theo nghĩa thông thường, thông tin là điều hiểu biết về một sự kiện, một hiện tượng nào đó, thu nhận được qua khảo sát, đo lường, trao đổi, nghiên cứu, v.v…Kỹ thuật về thông tin được phát triển đầu tiên là kỹ thuật truyền tin Việc nghiên cứu lý thuyết truyền tin vào cuối những năm 40 đã làm cho thông tin trở thành đối tượng của nghiên cứu khoa học
Thông tin thường bao gồm các hoạt động như: Thu thập, lựa chọn, sắp xếp, lưu trữ, tìm kiếm, chế biến, truyền đưa, khai thác và sử dụng thông tin Một quá trình gồm các hoạt động đó nhằm đạt được một số mục đích nhất định thường gọi chung là quá trình xử lý thông tin
Dữ liệu là những tín hiệu bao gồm có con số, chữ viết, âm thanh, hình ảnh, sắc màu,… Khi các dữ liệu được tập hợp lại có hệ thống, chúng giúp con người nhận biết về một vật thể, một sự kiện, một hiện tượng, thì trở thành thông tin
Trang 34Thông tin thường được biểu diễn qua các hình thức, các dữ liệu có hệ thống như các chuỗi dữ liệu, lời nói, câu viết, âm thanh, hình ảnh,
Lượng thông tin tùy thuộc vào độ dài ngắn của hình thức biểu diễn nó Lượng thông tin chưa nói lên chất lượng của thông tin Thông tin có nhiều mức độ chất lượng khác nhau Các dữ liệu thu thập ban đầu qua các cuộc điều tra, khảo sát được tập hợp lại để giúp con người hay máy nhận biết về một sự vật hiện tượng nào
đó Qua đó phân tích, xử lý những thông tin có giá trị hơn, hiểu được bản chất, sự việc, hiện tượng Biết xử lý khối lượng lớn thông tin có thể tìm ra các mối liên hệ bên trong, các đặc tính có tính quy luật lúc đó thông tin trở thành tri thức, ở mức cao hơn xử lý thông tin có thể đưa ra các dự báo để giải quyết sự việc, hiện tượng
“nhanh”, “kịp thời”, “chính xác” từ đó tùy thuộc vào bản chất dữ liệu để lựa chọn cách thức truyền tin
1.5.1 Quá trình truyền tin
Quá trình truyền tin là quá trình truyền thông tin từ nơi này đến nơi khác theo yêu cầu xa, nhanh, đúng đủ (chính xác) Ba yêu cầu giản dị này không phải luôn được mọi người hiểu chính xác và lịch sử cũng đòi hỏi bao cuộc cách mạng kỹ thuật mới ngày càng thực hiện tốt hơn những điều này Để thực hiện những điều
này chúng ta cần trả lời 3 câu hỏi sau: Thế nào là nhanh? Thế nào là kịp thời? Thế nào là đúng đủ [1]?
Nhanh ở đây không phải là tốc độ ánh sáng Nhanh ở đây là tốc độ truyền tin,
nó thể hiện việc đáp ứng thời gian thực đối với yêu cầu sử dụng
Kịp thời trong truyền tin là những thông tin được gửi và nhận đúng lúc trong
những sự việc xảy ra gấp gáp nhưng kịp thời phản ánh sự việc, hiện tượng Ví dụ:
Khi nhận được thông báo về dự báo thời tiết, “có bão” những con thuyền đã di chuyển từ khơi xa về gần bờ, cơn bão mới ập đến thì đó được gọi là “kịp thời” nhận
và xử lý thông tin
Đúng đủ trong truyền tin là một khái niệm luôn được quan tâm, nhưng nó
cũng không được hiểu với nghĩa tuyệt đối một trăm phần trăm Mà được hiểu với tỷ
lệ sai số ít nhất khi người sử dụng có thể chấp nhận được
Hạn chế đối với 3 yêu cầu truyền tin nói trên chính là các yếu tố công suất, độ rộng băng tần kênh truyền và can nhiễu (ở đây mới đề cập đến can nhiễu do ồn chứ chưa nói đến các can nhiễu đặc thù khác ảnh hướng đến tryền tin như can nhiễu do
Trang 35chuyển động, do hiệu ứng đa đường truyền…) Công suất phát tin càng lớn, thì càng truyền tin đi xa hơn Băng truyền dẫn càng rộng thì tốc độ thông tin càng nhanh
Bên cạnh ba yêu cầu truyền tin nói trên thuần túy mang tính kỹ thuật, còn có một yêu cầu nữa cũng không thể thiếu khi thiết kế các mô hình tryền tin là yêu cầu
về kinh tế, hiệu suất và giá thành Yêu cầu này cũng thường xuyên được phân tích gắn liền với những yêu cầu kỹ thuật
Để bắt đầu ta nêu ra một hệ thống truyền tin tiêu biểu như hình 1.9 Hệ thống
này luôn có 3 phần cơ bản đó là: Bộ phát, kênh truyền và bộ thu Bộ phát chuyển tín hiệu tệp tin tạo ra từ một nguồn tin thành tín hiệu phát dạng thích hợp để truyền được trên kênh truyền Tín hiệu thu được sau kênh truyền là một phiên bản của tín hiệu phát bị làm méo do kênh truyền Nhiệm vụ của bộ thu là phải tạo lại tín hiệu gốc (tín hiệu tin) như bên phát từ phiên bản nhận được này, rồi từ đó tạo lại bản tin
Hình 1.9 Các bộ phận của một hệ truyền tin
Phần này đưa ra một số những khảo sát chính liên quan đến quá trình phát triển của kỹ thuật truyền tin:
Tiếng nói: Tiếng nói hay ngôn ngữ nói đóng vai trò nền tảng trong thông tin
xã hội Đó là phương tiện truyền tin thô sơ nhất, nó không lưu trữ được thông tin theo thời gian và khả năng truyền rất hạn chế trong không gian Tuy nhiên, mỗi con người chúng ta tồn tại rất lâu nhờ phương thức truyền tin này
Chữ viết: Chữ viết hay văn tự được ghi lại ngôn ngữ nói đó là một thứ kỹ thuật cách mạng Nhờ đó ghi lại được các thông tin Ngày nay, sau khi ra đời chữ viết đã được dùng làm kỹ thuật truyền thông, do đó nó biến đổi sâu sắc các phương thức giao lưu, các phương thức truyền thông tin giúp con người trao đổi thông tin từ xa, truyền tin qua mạng,
Trang 36 Hình ảnh: Hình ảnh thường được biểu diễn bằng mảng hai chiều các điểm ảnh mà mỗi điểm ảnh được kết hợp với mã màu của nó Trong ngôn ngữ hình ảnh, mỗi điểm ảnh diễn tả một sự việc, hiện tượng, và đại diện cho thông tin, nội dung tin muốn truyền đi
Video: Thể hiện được rõ nét quá trình thông tin truyền tin dưới dạng tiếng nói, chữ viết và hình ảnh Phương thức truyền tin dạng video được tổng hợp
từ ba phương thức truyền: Tiếng nói, chữ viết, âm thanh
Sau khi được xử lý (lưu trữ, biến đổi, truyền thông) thông tin này lại được chuyển thành dạng thông tin mà mỗi con người hay máy có thể tiếp nhận được mà không giảm chất lượng của thông tin ban đầu
Việc ghi thông tin bằng kỹ thuật số là một bước tiến rất dài so với kỹ thuật tương đồng (analogue) dựa vào tín hiệu cơ hoặc tín hiệu điện
1.5.2 Truyền tin số
Truyền tin số có nhiều ưu điểm hơn kỹ thuật tương tự, trong đó chỉ sử dụng một hữu hạn dạng sóng (ký hiệu truyền tách biệt nhau) để truyền tin Mỗi dạng sóng truyền trong một khoảng thời gian xác định gọi là chu kỳ ký hiệu và là đại diện truyền của một dữ liệu tin[6] Ví dụ văn bản tiếng anh dùng 26 chữ cái, bộ đếm dùng 10 số, bản nhạc dùng 7 nốt và vài ký hiệu bổ sung,…
Khi vận dụng lý thyết thông tin vào kỹ thuật truyền tin số thường có những vấn đề sau đây đặt ra:
Bản tin phải được biểu diễn (mã nguồn) với một số ít ký hiệu nhất, theo mã nhị phân thì tức là cần ít bit nhất Lý thuyết thông tin cho một giới hạn dưới về số bit tối thiểu cần để biểu diễn[6]
Khi truyền tin mã nguồn cần được bổ sung thêm các bit (dư thừa) mà điều này làm tăng tốc độ bit, để có thể giảm được lỗi truyền bản tin (gọi
là kỹ thuật mã kênh điều khiển lỗi), song có một giới hạn trên về tốc độ truyền mà vượt qua nó không thể diều khiển lỗi được, đó là dung năng kênh qui định bởi độ rộng băng tần kênh truyền và tỷ số tín hiệu/ồn
C = Blog2 (1 + SNR) b/s Trong đó:
+ B là độ rộng băng tần kệnh truyền
Trang 37+ SNR là tỷ số công suất tín hiệu trên công suất ồn
+ C là giới hạn trên đối với tốc độ truyền tin cậy tính bằng bit/giây
Công thức này cho thấy có sự chuyển đổi giữa B và SNR Đồng thời cả ba yếu tố: Công suất, độ rộng băng tần và ồn kệnh cùng tham gia qui định mức độ
“nhanh” của truyền tin như đã nêu ở trên
1.6 Kết luận
Trong chương này học viên trình bày những khái niệm cơ sở, ý tưởng, thuật toán liên quan thông tin, truyền tin Ngoài ra, học viên có nêu thêm một số khái niệm liên quan đến thông tin, nén dữ liệu và đưa ra một số ví dụ, dẫn chứng cụ thể
để dẫn dắt vấn đề cho luận văn
Trang 38CHƯƠNG 2: TRUYỀN TIN KẾT HỢP VỚI KỸ THUẬT
BIẾN ĐỔI DỮ LIỆU
Mỗi quy trình truyền tin được trình bày cụ thể dựa trên các kỹ thuật biến đổi
dữ liệu BWT, MTF kết hợp với mã hóa EC (Entropy Coding) Chúng biến đổi làm thay đổi dữ liệu đầu vào (Input) và cho kết quả đầu ra (Output) tốt hơn qua 4 quy trình chính trong chương II và mỗi quy trình sẽ xử lý, biến đổi một khối dữ liệu đầu vào cho các giai đoạn tiếp theo để được kết quả tối ưu nhất
2.1 Các phương pháp biến đổi dữ liệu
2.1.1 Phương pháp Entropy
Áp dụng phương pháp nén Huffman: Khi xét một nguồn tin các ký hiệu không phải xuất hiện với các tần suất như nhau mà có một số ký hiệu xuất hiện thường xuyên hơn những ký hiệu khác Phương pháp mã hóa Huffman được xây dựng dựa trên các đặc điểm này Thay vì phải dùng một số bit nhất định để biểu diễn các ký hiệu (ví dụ như bảng mã ASSCII) Mã hóa Huffman sẽ biểu diễn bằng
số bit (độ dài từ mã) khác nhau Phương pháp mã hóa này dựa trên mô hình thống
kê có nghĩa là dựa vào xác suất có được từ mô hình thống kê, các ký hiệu có tần suất xuất hiện cao sẽ được mã hóa ít bit hơn những ký hiệu có tần suất thấp Hay nói cách khác những ký hiệu có tần suất càng lớn thì độ dài từ mã càng ngắn và ngược lại[4]
Dữ liệu vào của thuật toán Huffman là chuỗi ký tự Dữ liệu ra là chuỗi các bit nhị phân tương ứng với chuỗi ký tự vào Để giải quyết bài toán này ta xét thuật toán nén Huffman:
Đọc dữ liệu vào: Tổ chức dữ liệu vào sao cho có thể đọc được từng cụm số ở chuỗi ký tự vào (định dạng tệp tin dưới dạng byte) mỗi tin đọc vào là một byte có mã tương ứng trong bảng mã ASCII
Mã hóa mỗi ký tự vào: Xây dựng cây nhị phân theo nguyên tắc sau:
+ Sắp xếp danh sách L các ký hiệu tăng dần theo tần số xuất hiện
+ Coi mỗi ký hiệu là một nút lá của cây nhị phân, mỗi nút lá là một cây con
Trang 39+ Kết hợp hai cây con có gốc là giá trị tần số xuất hiện của hai cây con
này, sau đó bổ sung vào danh sách L theo thứ tự tăng dần của tần số xuất
hiện Thực hiện bước này cho đến khi chỉ còn một gốc
Kết xuất từ mã cho mỗi ký tự vào (nén): Trong quá trình duyệt nếu đi
sang cây con trái ta có bit 0, còn nếu đi sang cây con phải ta có bit 1
Đường đi từ nút gốc tới nút lá là một độ dài từ mã
Các từ mã tương ứng mỗi ký hiệu được xác định dựa vào cấu trúc cây mã
Đối với mã ASSCII sẽ dùng 8 bits để biểu diễn chuỗi ký hiệu Theo phương pháp
mã hóa Huffman ta xây dựng cây nhị phân cho khối dữ liệu đầu vào là:
Ví dụ 2.1: Giả sử ta truyền thông tin về dự báo thời tiết của tỉnh Hòa Bình 7
ngày trong tháng 9 năm 2015 Mỗi ngày dự báo thời tiết 3 lần như thế là số lần
truyền tin đi là 21 lần vậy ta có dãy số cần truyền: 23 25 22 23 26 23 24 27 24 25 28
24 25 27 24 26 28 25 23 25 23
Xây dựng bảng tần số xuất hiện nhiệt độ của các con số:
Bảng 2.1 Bảng tần xuất số lần xuất hiện của dãy số
Ta có thể sắp xếp các số theo tần số xuất hiện tăng dần:
Bảng 2.2 Bảng tần xuất số lần xuất hiện tăng dần của dãy số
Dựa trên kết quả sắp tăng dần số lần xuất hiện của bảng 2.2 ta minh họa nén
cây Huffman như hình dưới đây:
Trang 40Hình 2.1 Minh họa nén theo phương pháp Huffman Trên mỗi nhánh của cây nhị phân ta gán các giá trị 0 và 1 vào cây Giá trị 0 gán cho nhánh bên trái, giá trị 1 gán cho nhánh bên phải Sau khi gán xong giá trị 0
và 1 ta được cây nhị phân như sau, hay còn được gọi là cây Huffman
Hình 2.2 Cây Huffman