Tài liệu Mã hóa shanon fano-huffman



Công nghệ thông tin (CNTT-IT) được mệnh danh là ngành của mọi ngành. Thực vậy, ta có thể thấy hầu hết mọi ngành, nghề đều ít nhiều có ứng dụng CNTT vào công việc của nó. 

Bảo mật thông tin, nén dữ liệu là công việc cần thiết trong ngành CNTT. Từ thời xa xưa, con người đã biết gìn giữ thông tin trong quân sự, trong chiến tranh nhằm làm cho thông tin được an toàn, không lọt vào tay đối phương. Muốn vậy, con người có nhiều cách để làm cho thông tin truyền đi được gọn nhẹ và an toàn khi lưu thông. Để thông tin đến tay người nhận một cách bí mật, gọn gàng nhất thì họ phải nén thông tin lại hay dùng các ký hiệu đặc biệt có qui ước trước.

Ngày nay với sự tiến bộ của khoa học kỹ thuật, CNTT được nâng lên một tầm cao mới. Mọi ngành, nghề đều phải ứng dụng CNTT một cách triệt để để phát triển một cách tốt nhât. Ngay như cả cụm từ “Chính phủ điện tử” mà ta thường nghe cho ta thấy tầm quan trọng của việc đưa CNTT vào cuộc sống. Không nằm ngoài sự phát triển có tính qui luật chung của xã hội, CNTT đã và đang làm hết sức mình để phát triển ngày một tốt hơn, nhanh hơn, nhẹ hơn, gọn hơn …. CNTT và Viễn thông có mối liên hệ tương đối chặt chẽ với nhau. Một trong những tiêu chí giúp ngành CNTT phát triển là sử dụng công nghệ bảo mật, nén dữ liệu, thông tin trong lưu trữ và truyền thông.

Trong kỹ thuật truyền số liệu, bảo mật và nén dữ liệu (nguồn tin) truyền đi là 2 vấn đề quan trọng, nhiều cơ sở lý thuyết về mã hóa nguồn cho ta thấy tầm quan trọng của việc mã hóa và nén dữ liệu. Các thuật toán nén dữ liệu đã ra đời từ rất lâu như mã nén Shannon-Fano, Huffman hay Lempel Ziv Welch (LZW) được cho là kinh điển của công nghệ nén dữ liệu.

Trong bài luận văn này, em sẽ trình bày đôi nét về các thuật toán nén dữ liệu thông dụng hiện nay và so sánh tính hiệu quả của việc nén một số loại dữ liệu khác nhau giữa 2 loại mã nén Shannon-Fano và Huffman. Phần mô phỏng tính hiệu quả của 2 loại mã nén thông dụng này em sẽ trình bày bằng chương trình được viết trên nền tảng ngôn ngữ lập trình C và C++.


LINK DOWNLOAD



Công nghệ thông tin (CNTT-IT) được mệnh danh là ngành của mọi ngành. Thực vậy, ta có thể thấy hầu hết mọi ngành, nghề đều ít nhiều có ứng dụng CNTT vào công việc của nó. 

Bảo mật thông tin, nén dữ liệu là công việc cần thiết trong ngành CNTT. Từ thời xa xưa, con người đã biết gìn giữ thông tin trong quân sự, trong chiến tranh nhằm làm cho thông tin được an toàn, không lọt vào tay đối phương. Muốn vậy, con người có nhiều cách để làm cho thông tin truyền đi được gọn nhẹ và an toàn khi lưu thông. Để thông tin đến tay người nhận một cách bí mật, gọn gàng nhất thì họ phải nén thông tin lại hay dùng các ký hiệu đặc biệt có qui ước trước.

Ngày nay với sự tiến bộ của khoa học kỹ thuật, CNTT được nâng lên một tầm cao mới. Mọi ngành, nghề đều phải ứng dụng CNTT một cách triệt để để phát triển một cách tốt nhât. Ngay như cả cụm từ “Chính phủ điện tử” mà ta thường nghe cho ta thấy tầm quan trọng của việc đưa CNTT vào cuộc sống. Không nằm ngoài sự phát triển có tính qui luật chung của xã hội, CNTT đã và đang làm hết sức mình để phát triển ngày một tốt hơn, nhanh hơn, nhẹ hơn, gọn hơn …. CNTT và Viễn thông có mối liên hệ tương đối chặt chẽ với nhau. Một trong những tiêu chí giúp ngành CNTT phát triển là sử dụng công nghệ bảo mật, nén dữ liệu, thông tin trong lưu trữ và truyền thông.

Trong kỹ thuật truyền số liệu, bảo mật và nén dữ liệu (nguồn tin) truyền đi là 2 vấn đề quan trọng, nhiều cơ sở lý thuyết về mã hóa nguồn cho ta thấy tầm quan trọng của việc mã hóa và nén dữ liệu. Các thuật toán nén dữ liệu đã ra đời từ rất lâu như mã nén Shannon-Fano, Huffman hay Lempel Ziv Welch (LZW) được cho là kinh điển của công nghệ nén dữ liệu.

Trong bài luận văn này, em sẽ trình bày đôi nét về các thuật toán nén dữ liệu thông dụng hiện nay và so sánh tính hiệu quả của việc nén một số loại dữ liệu khác nhau giữa 2 loại mã nén Shannon-Fano và Huffman. Phần mô phỏng tính hiệu quả của 2 loại mã nén thông dụng này em sẽ trình bày bằng chương trình được viết trên nền tảng ngôn ngữ lập trình C và C++.


LINK DOWNLOAD

M_tả
M_tả

Không có nhận xét nào: