1. Trang chủ >
  2. Công nghệ thông tin >
  3. Hệ thống thông tin >

CHƯƠNG 1: TỔNG QUAN VỀ NÉN DỮ LIỆU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (285.77 KB, 35 trang )


thậm chí cả độ phức tạp tính toán. Thí dụ như nén phục vụ trong truyền dữ liệu: vấn đề

đặt ra là hiệu quả nén có tương hợp với đường truyền không.

Cũng cần phân biệt dữ liệu với nén băng truyền. Mục đích chính của nén là giảm

lượng thông tin dư thừa và dẫn tới giảm kích thước dữ liệu. Tuy vậy, đôi khi quá trình

nén cũng làm giảm băng truyền tín hiệu số hóa thấp hơn so với truyền tín hiệu tương

tự.

1.2. Mục đích của nén dữ liệu

Một trong những chức năng chính của máy tính là xử lý dữ liệu và lưu trữ. Bên

cạnh việc xử lý nhanh, người ta còn quan tâm đến việc lưu trữ được nhiều dữ liệu

nhưng lại tiết kiệm được vùng nhớ và giảm chi phí lưu trữ. Về mặt lý thuyết thì các

thiết bị lưu trữ là không có giới hạn nhưng ngày nay do nhu cầu xử lý nhiều tập tin,

nhiều loại dữ liệu trong cùng một tệp do vậy mà kích thước tệp trở nên khá lớn.

Ngày nay, những lợi ích Internet cung cấp rất đa dạng và phong phú trên các lĩnh

vực khác nhau của xã hội như cung cấp, trao đổi thông tin giữa các máy tính, giữa máy

tính với server hoặc giữa các server với nhau. Điều này dẫn đến phải làm như thế nào

để giảm thiểu thời gian, chi phí sử dụng để trao đổi dữ liệu trên mạng. Nó cũng đồng

nghĩa với việc bên cạnh nâng cao chất lượng của các thiết bị truyền dữ liệu trên mạng

thì mặt khác chúng ta phải nghĩ ra một phương pháp nào để việc truyền dữ liệu có hiệu

quả hơn.

Tất cả những vấn đề trên nảy sinh ra khái niệm nén dữ liệu. Một trong những

hình thức nén dữ liệu đầu tiên là hệ chữ Braille, là một hệ chữ dùng phương pháp mã

hóa ký hiệu cho người mù có thể đọc và viết. Ngày nay, nén dữ liệu mang lại nhiều lợi

ích khác nhau mà điển hình là:

-



Đối với việc tìm kiếm thì đôi khi tìm kiếm thông tin trên dữ liệu nén lại nhanh

hơn so với việc tìm kiếm thông tin trên dữ liệu không nén vì do dữ liệu lưu



-



trữ ít nên số phép toán để tìm kiếm giảm và lượng thông tin cao.

Nén dữ liệu đặc biệt hiệu quả với việc truyền dữ liệu trên mạng. Khi nén dữ

liệu thì chi phí cho việc truyền dữ liệu trên mạng giảm, mặt khác tốc độ

đường truyền sẽ tăng lên vì cùng một lượng thông tin đó thời gian truyền dữ

liệu sẽ giảm.



Do đó, với những ưu điểm trên thì việc nén dữ liệu là giải pháp hợp lý nhất nhằm

mục đích giảm chi phí cho người sử dụng.

5



Tóm lại, những lợi ích mà nén dữ liệu mang lại xoay quanh vấn đề tiết kiệm tối

đa chi phí cho việc mua các thiết bị lưu trữ dữ liệu và cho việc luân chuyển thông tin

trên mạng.

1.3. Các loại dư thừa dữ liệu

Thông thường, hầu hết các tập tin trong máy tính có rất nhiều thông tin dư thừa,

việc thực hiện nén tập tin thực chất là mã hoá lại các tập tin để loại bỏ các thông tin dư

thừa. Việc xác định bản chất các kiểu dư thừa dữ liệu rất có ích cho việc xây dựng các

phương pháp nén dữ liệu khác nhau. Nói một cách khác, các phương pháp nén dữ liệu

khác nhau là do sử dụng các kiểu dư thừa dữ liệu khác nhau. Có thể phân thành 4 kiểu

dư thừa chính:

• Sự phân bố ký tự

Trong một dãy ký tự, có một số ký tự có tần suất xuất hiện nhiều hơn một số

dãy khác. Do vậy, ta có thể mã hóa dữ liệu một cách cô đọng hơn. Các dãy ký tự có

tần suất cao được thay bởi một từ mã nhị phân với số bit nhỏ; ngược lại các dãy có

tần suất thấp được mã hóa bởi từ mã có nhiều bit hơn. Đây chính là bản chất của

phương pháp mã hóa Hufman.

• Sự lặp lại của các ký tự

Trong một số tình huống như dữ liệu ảnh, ký hiệu bít “0” hay bít “1” được lặp

đi lặp lại một số lần. Kỹ thuật nén dùng trong trường hợp này là thay dãy lặp đó bởi

dãy mới gồm 2 thành phần: số lần lặp và ký hiệu dùng để mã. Phương pháp mã hóa

kiểu này có tên là mã hóa loạt dài RLC (Run Length Coding).

• Những mẫu sử dụng tần suất

Có thể có dãy ký hiệu nào đó xuất hiện với tần suất tương đối cao. Do vậy, có

thể mã hóa bởi ít bit hơn. Đây là cơ sở của phương pháp mã hóa kiểu từ điển do

Lempel – Ziv đưa ra và có cải tiến vào năm 1977, 1978 và do đó có tên gọi là

phương pháp nén LZ77, LZ78. Năm 1984, Terry Welch đã cải tiến hiệu quả hơn và

đặt tên là LZW (Lempel – Ziv - Welch).

• Độ dư thừa vị trí

Do sự phụ thuộc lẫn nhau của dữ liệu, đôi khi biết được ký hiệu (giá trị) xuất

hiện tại một vị trí, đồng thời có thể đoán trước sự xuất hiện của các giá trị ở các vị

trí khác nhau một cách phù hợp. Chẳng hạn, ảnh biểu diễn trong dạng lưới hai

chiều, một số điểm ở hàng dọc trong một khối dữ liệu lại xuất hiện trong cùng vị trí

6



ở các hàng khác nhau. Do vậy, thay vì lưu trữ dữ liệu ta chỉ cần lưu trữ vị trí hàng

và cột. Phương pháp nén dựa trên sự dư thừa này gọi là phương pháp mã hóa dự

đoán.

Cách đánh giá độ dư thừa như trên hoàn toàn mang tính trực quan nhằm biểu thị

một cái gì đó xuất hiện nhiều lần. Đối với dữ liệu ảnh, ngoài đặc thù chung đó nó còn

có những đặc thù riêng. Thí dụ như có ứng dụng không cần toàn bộ dữ liệu thô của

ảnh mà chỉ cần có các thông tin đặc trưng biểu diễn ảnh như biên ảnh hay vùng đồng

nhất. Do vậy, có những phương pháp nén riêng cho ảnh dựa vào biến đổi ảnh hay dựa

vào biểu diễn ảnh.

1.4. Một số vấn đề gặp phải khi nén dữ liệu

- Các thuật toán thực hiện trước hết phải giảm chi phí lưu trữ.

- Các thuật toán được thực hiện nhanh, hiệu quả.

Nhìn chung không có phương phát nén tổng quát nào cho kết quả tốt đối với tất

cả các loại tập tin. Với nhiều loại thông tin khác nhau mà ta có các kỹ thuật nén khác

nhau, có hiệu quả khác nhau. Ví dụ như nén tệp văn bản thường tiết kiệm 20% - 50%,

còn đối với tập tin nhị phân khoảng 50% - 90%, tuy nhiên đối với các tập tin ngẫu

nhiên thì lượng không gian tiết kiệm được rất ít hoặc hầu như không tiết kiệm được

( chẳng hạn như tệp *.exe,…). Do dữ liệu có độ dư thừa khác nhau nên mỗi phương

pháp nén nếu áp dụng không đúng sẽ trở nên không cần thiết và không có độ linh hoạt.

1.5. Quá trình nén và giải nén

Quá trình nén và giải nén dữ liệu là một quá trình gồm 2 công đoạn:

- Công đoạn nén: dữ liệu gốc qua bộ mã hóa dữ liệu, bộ mã hóa này thực hiện nén

dữ liệu đến một mức thích hợp cho việc lưu trữ và truyền dẫn thông tin. Quá

trình này sẽ thực hiện việc loại bỏ hay cắt bớt những dữ liệu dư thừa để thu được

thông tin cần thiết nhưng vẫn đảm bảo chất lượng.

- Công đoạn giải nén: dữ liệu nén đi qua bộ giải mã dữ liệu, bộ giải mã thực hiện

giải nén để thu được dữ liệu gốc ban đầu. Việc giải nén này thường phải dựa vào

các thông tin đi kèm theo dữ liệu nén, tùy thuộc vào kiểu nén hay phương pháp

nén mà dữ liệu giải nén được có hoàn toàn giống với dữ liệu gốc ban đầu hay

không.

Tóm lại quá trình nén và giải nén dữ liệu có thể mô tả một cách tóm tắt theo sơ

đồ dưới đây:



7



Sơ đồ nén và giải nén dữ liệu



8



CHƯƠNG 2: CÁC PHƯƠNG PHÁP NÉN DỮ LIỆU

2.1.



Phân loại các phương pháp nén



Có nhiều cách phân loại các phương pháp nén khác nhau.

2.1.1. Cách thứ nhất dựa vào nguyên lý nén

• Nén không tổn hao (Lossless compression):

Gồm các phương pháp nén mà sau khi giải nén ta thu được chính xác dữ liệu

gốc. Tuy nhiên, nén không tổn hao chỉ đạt hiệu quả nhỏ so với phương pháp nén tổn

hao. Các thuật toán nén không tổn hao được dùng để nén các file như: file thực thi,

file văn bản, word, excel,… Các loại dữ liệu này không thể sai lệch dù chỉ một bit,

nhất là các file chương trình.

Các thuật toán nén không tổn hao cơ bản:

1. Run – length encoding (RLE): Phương pháp nén ảnh dựa trên sự cắt bớt

các dư thừa về không gian (một vài hình ảnh có vùng màu lớn không đổi

đặc biệt là ảnh nhị phân)

2. Dictionary coders

3. LZ – 77 & LZ – 78

4. LZW

5. Burrows and Wheeler transform (BWT)

6. Prediction by partial matching (PPM)

7. Context mixing (CM)

8. Entropy encoding

9. Huffman coding

10. Adaptive Huffman

11. Arithematic

12. Shannon – Fano coding

13. Range coding

• Nén tổn hao (Lossy compression):

Gồm các phương pháp nén mà sau khi giải nén ta không thu được dữ liệu như

bản gốc. Đối với tín hiệu âm thanh, hình ảnh, video, kiểu nén tổn hao thường được

sử dụng. Âm thanh và video có thể nén xuống còn 5% so với kích thước gốc, tai và

mắt người khó có thể phát hiện được sự thất thoát dữ liệu này. Trong nén ảnh,

người ta gọi là các phương pháp “tâm lý thị giác”. Các phương pháp này lợi dụng

tính chất của mắt người, chấp nhận một số vặn xoắn trong ảnh khi khôi phục lại.

Tuy nhiên, các phương pháp này chỉ có hiệu quả khi mà độ vặn xoắn là chấp

nhận được bằng mắt thường hay với dung sai nào đó.

9



Trong thực tế, các file hình ảnh, âm thanh hay video được lưu trữ trên máy tính

đều đã được nén có tổn hao để tiết kiệm dung lượng và băng thông. Đối lập với nén

không tổn hao, các phương pháp nén có tổn hao thường gây giảm chất lượng rất

nhanh khi thực hiện nén và giải nén đệ qui nhiều lần. Các mẫu hình ảnh, âm thanh

sẽ được chia thành các phần nhỏ và được biến đổi qua miền khác. Các hệ số biến

đổi này sẽ được lượng tử hóa sau đó được mã hóa bằng mã Huffman hoặc mã hóa

số học.

Các mẫu hình ảnh, âm thanh trước được sử dụng để dự đoán các mẫu tiếp theo.

Sai số giữa dữ liệu dự đoán và dữ liệu thực sẽ được lượng tử hóa rồi mã hóa. Ưu

điểm của nén tổn hao so với nén không tổn hao là nén tổn hao trong nhiều trường

hợp cho tỷ lệ nén cao hơn rất nhiều so với bất cứ thuật toán nén không tổn hao được

biết, trong khi vẫn đảm bảo được chất lượng. Nén tổn hao thường được sử dụng để

nén ảnh, âm thanh, video. Âm thanh có thể nén với tỷ lệ 10:1 mà hầu như không

giảm chất lượng. Video có thể nén với tỷ lệ 300:1 với chất lượng giảm ít.

Các chuẩn nén tổn hao:

1. JPEG (Joint Photographic Experts Group): Phương pháp nén ảnh tĩnh với tỷ lệ

nén lên đến 20 -1 mà không làm mất thông tin đáng kể.

2. LZW (Lempel – Ziv - Welch): Giải thuật này được dùng trong nhiều định

dạng nén, kể cả định dạng có thể trao đổi đồ họa và Tag Image File Format mà

ta thường gọi là TIFF.

3. MPEG (Moving Pictures Experts Group): Phương pháp nén tổn hao dùng cho

video. MPEG -1 dùng cho CD – ROM và video CD. MPEG -2 nén video cho

truyền hình thông thường và độ nét cao.

4. MP3 (MPEG Audio Layer 3): Công nghệ nén âm thanh sử dụng một phần

chuẩn MPEG – 1 để nén âm thanh chất lượng CD với hệ số 12.

5. Fractal: Phương pháp nén tổn hao dữ liệu cho ảnh màu, rất phù hợp với những

đối tượng tự nhiên, tỷ lệ nén có thể lên đến 100 – 1.

6. Wavelet: Phương pháp nén tổn hao sử dụng hàm toán học để nén hình ảnh với

tỷ lệ lớn hơn các phương pháp khác, có thể đạt ¼ kích thước của cùng bức ảnh

nén bằng JPEG.

7. Window Media Technology: Sản phẩm của Microsoft, cho chất lượng âm

thanh tốt hơn MP3 đối với tập tin cùng kích thước, cũng như chất lượng video

gần bằng DVD.

2.1.2. Cách thứ hai dựa vào cách thức thực hiện nén

10



Xem Thêm
Tải bản đầy đủ (.doc) (35 trang)

×