giới thiệu về mã hoá entropy và nén dữ liệu

11 2K 10
giới thiệu về mã  hoá  entropy và  nén dữ liệu

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

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

Thông tin tài liệu

giới thiệu mã hoá entropy nén liệu giới thiệu mã hoá entropy nén liệu Bởi: phạm văn GIỚI THIỆU VỀ MÃ HOÁ ENTROPY VÀ NÉN DỮ LIỆU Chủ đề phần trước thuộc chương mã hoá tín hiệu nguồn Đó kỹ thuật chuyển đổi tín hiệu tượng tự sang tín hiệu số Phần phần mã hoá entropy Đây phương pháp kết hợp từ dạng số với thông tin truyền Ta thấy liên kết thực phương cách làm giảm thiểu chiều dài thông tin truyền Trong phần 7.8, ta nghiên cứu mã hoá kiểm soát lỗi Phương pháp khác so với mã hoá entropy Ngay trường hợp nhiễu thêm vào, mã hoá entropy phải thiết kế cẩn thận để tránh nhiều lỗi giải mã Vấn đề số liên quan đến khái niệm giải đoán Giả sử có tin cần truyền tin mã hoá sang số nhị phân sau: M1 = M2 = 10 M3= 01 M4 = 101 Giả sử ta hệ thống thu nhận kết 101 Ta kết M4 thông tin ghép M2 M1 M1 M3 Do lựa chọn từ mã cho mã mà giải đoán mã Một mã giải đoán cách từ mã tạo nên bắt đầu (được xem tiền tố) bât kỳ từ mã khác Vì thế, mã thông tin sau ví dụ giải đoán M1=1 M2=01 M3=001 M4=0001 Đặc tính giới hạn tiền tố đầy đủ không cần thiết cho khả giải mã Ví dụ khá, mã: 1/11 giới thiệu mã hoá entropy nén liệu M1=1 M2=10 M3=100 M4=1000 Là giải đoán được, từ mã tiền tố từ mã khác bên phải Sự khác yếu ví dụ ví dụ trước chỗ không từ mã hình thành tổ hợp từ mã khác Tuy nhiên điều bất lợi Mã giải đoán không xảy Giả sử ta máy thu nhận mã 10 Đến ta thấy hai bit nhận kế tiếp, ta nhận thông tin M2, M3, M4 Ví dụ 7.8: Những mã sau giải đoán nhất? Hãy xác định chúng xảy 0, 01, 001, 0011, 101 110, 111, 101, 01 0, 01, 011, 0110111 Giải: Đây không giải đoán từ từ sau gởi thành chuỗi 0101 diễn giải 01 01 Đó hai lần truyền từ thứ hai Đây giải đoán tất từ bắt đầu với số có chiều dài Nếu chuỗi bit không bắt đầu với số 1, ta biết từ có hai bit Mã này, xảy tức không từ mã tiền tố từ khác Đây giải đoán tất từ bắt đầu với số zero, số zero không lập lại từ tổ hợp từ khác Nó không xảy từ ba từ tiền tố từ sau khác MÃ HOÁ ENTROPY (entropy coding) Vấn đề ta quan tâm tìm mã giải đoán với chiều dài nhỏ Điều cho phép truyền với tốc độ lớn kênh Việc kiểm tra mã trình bày rõ ràng phần Những tin khác mã hoá thành từ có chiều dài khác Khi nói chiều dài mã, ta phải chiều dài trung bình từ mã Trị trung bình tính toán cách lấy xác suất tin Rõ ràng thuận lợi gán từ mã ngắn cho hầu hết tin có Mã Morse theo quy luật cách gán từ mã ngắn ký tự E 2/11 giới thiệu mã hoá entropy nén liệu Một định lý tồn thuyết mã hoá nhiễu Định lý phát biểu rằng: chữ mã hoábằng số nhị phân, chiều dài từ mã trung bình, lớn với entropy Người ta định nghĩa entropy Trong pi xác suất tin thứ i Giá trị log2(1/pi) hiểu nội dung thông tin đơn vị bit Entropy lượng tin trung bình tin Gọi chiều dài từ trung bình n, định lý xác định công thức sau: Ví dụ 7.9: Tìm chiều dài trung bình nhỏ mã với tin với xác suất lần lược 1/8, 1/8, ¼ ½ Giải: Theo mã hoá entropy ta có: 1/8 x + 1/8 x +1/4 x + ½ x = 1.75 bits Đây chiều dài trung bình nhỏ mã Ta ý mã là: M1 = 000, M2 = 001, M3=01, M4 =1 Mã giải đoán có chiều dài trung bình 1.75 bits CÁC MÃ CÓ CHIỀU DÀI THAY ĐỔI (variable length codes) Nếu tin truyền với xác suất không tức từ mã chọn có chiều dài không nhau, chiều dài mã trung bình ngắn Ví dụ giả sử ta có tin với xác suất lần lược 1/8, 1/8, ¼, ½ (giống ví dụ 7.9) Một phương pháp để mã hoá tin sang từ nhị phân sử dụng 00, 01, 10 11 để gửi tin với chiều dài trung bình bit Chiều dài trung bình cho bởi: 1/8 x + 1/8 x +1/4 x + ½ x = 1.75 bits Ta mã hoá nhiều tin sang từ mã ngắn Trong trường hợp đặc biệt chiều dài từ trung bình hợp với entropy Vì ta tìm mã với chiều dài trung bình nhỏ 3/11 giới thiệu mã hoá entropy nén liệu Một phương pháp bắt nguồn từ mã có chiều dài thay đổi bắt đầu với mã có chiều dài thay đổi nhiều nhóm mở rộng Ví dụ bắt đầu với mã bít ta có hai từ mã và mở rộng cho là: 100, 101, 110 111 Năm từ mã là: 100 101 110 111 Một phương pháp khác bắt đầu với từ mã bit 00, 01, 10, 11 mở rộng cho từ mã sang hai từ Nếu 01 chọn cho việc mở rộng, ta có mã từ 00 010 011 10 11 Câu hỏi có nhiều cách để thực mở rộng mà cho kết với chiều dài trung bình nhỏ Ta trình bày hai cách để tìm cách có hiệu từ mã có chiều dài thay đổi Đó dùng mã Hufman mã Shannon-Fano Mã Huffman cung cấp kỹ thuật tổ chức cho việc tìm từ mã có chiều dài thay đổi cho tập tin Ta trình bày bước thực ví dụ sau đây: Giả sử ta muốn mã hoá từ s1, s2, s3, s4, s5 với xác suất lần lược 1/16, 1/8, ¼, 1/16, ½ Trình tự mã Huffman thiết lập qua bước sau đây: Bước 1: Sắp xếp tin theo xác suất giảm dần Nếu có xác suất nhau, chọn từ trước 4/11 giới thiệu mã hoá entropy nén liệu Bước 2: Kể từ đáy lên, tổ hợp hai xác suất cuối thành xác suất với xác suất tổng hai xác suất cần ghép Ta xếp lại có xác suất thấy cần thiết Và ta xếp theo giảm dần Chú ý xác suất cuối cột bên phải tổ hợp s1 s4 Bước 3: Tiếp tục kết nối bước cột bên phải hai xác suất Bước 4:Gán từ mã cách bắt đầu bên phải với MSB (the most significant bit) Di chuyển sang bên trái gán cho bit khác có phân chia xảy Những bit gán , gạch bảng sau: 5/11 giới thiệu mã hoá entropy nén liệu Cuối từ mã xác định sau: S1 -> 1110 S2 -> 110 S3 -> 10 S4 -> 1111 S5 -> Chú ý điểm có hai cách gán Nếu có ba nhiều xác suất thấp nhau, việc chọn lựa tổ hợp tuỳ ý Chiều dài trung bình là: Nếu mã hoá khối sử dụng, ta cần bit cho tin chiều dài trung bình Entropy mã xác định: H= 2/16 log(16) + 1/8 log(8) + ¼ log(4) + 1/2g(2) = 15/8 bits Kết giống chiều dài trung bình mã Huffman Vì thế, thủ tục Huffman sinh mã có hiệu cao Điều tạo kết tất xác suất tin bội ½ Điều bất lợi mã Huffman ta bắt đầu gán từ mã toàn tiến trình tổ hợp hoàn tất Đó cột phải khai triển trước từ mã gán Tiến trình mã hoá thường thực máy vi tính chuyên dụng Mã Shannon-Fanno giống mã Huffman Sự khác chủ yếu thao tác thường tiến lùi Vì yêu cầu lưu trữ, xem thư giản mã thực dễ Nó thường dẫn đến chiều dài trung bình giống mã Huffman Các kết mã hoá Shannon-Fano không luôn tốt mã Huffman Ta minh hoạ lại kỹ thuật ví dụ Ta dùng ví dụ giống mã Huffman trình bày phần trước chương Bước 1: Sắp xếp tin theo xác suất giảm dần Nếu có nhiều xác suất nhau, chọn từ trước 6/11 giới thiệu mã hoá entropy nén liệu Bước 2: Chia tin thành tập có xác suất ngang Ta bắt đầu đỉnh đáy chia nhóm hai tập hợp Ta tìm xác suất tổng cộng tập hợp tập hợp Ta chọn đường chia cho kết nằm xác suất gần Trong trường hợp đường phân cách nằm mẫu tin dầu tiên Kết xác suất cho mẫu tin ½ minh hoạ Bây ta gán giá trị zero cho tất phần tử hai tập hợp giá trị cho tất thành phần khác (đây tuỳ chọn) Giả sử ta chọn cho tập hợp cho tập hợp Nếu tập hợp chứa mẫu tin, tiến trình xử lý cho tập hợp kết thúc Vì từ mã hoá dùng để gửi s5 ta không cần xem lại tiến trình Ta tập trung vào tập hợp khác ;ăpklại tiến trình chia nhỏ Sau lần chia nhỏ ta có: H Chú ý xác suất phần đường phân cách phần đường ¼ Ta cộng bit thứ hai cho từ mã (cộng cho từ mã đường phân cách giá trị cho đường ấy) Bởi có mẫu tin đường phân cách nên ta kết thúc mã s3 10 Tiếp tục chia nhỏ với tập hợp đường phân cách ta có: 7/11 giới thiệu mã hoá entropy nén liệu Kết từ mã là: S1 -> 1110 S2 -> 110 S3 -> 10 S4 -> 1111 S5 -> Quan sát kết ta thấy hoàn toàn giống với kết dùng với mã Huffman Ta minh hoạ hai kỹ thuật để rút ngắn tập hợp tin thành mã nhị phân hiệu Ta giả sử tin cho chúng không tổ hợp thành mã Nếu tin tổ hợp được, hiệu nhiều Ta minh hoạ điều ví dụ với hai tin Giả sử tin có xác suất lần lược là: S1 -> 0.9 S2 -> 0.1 Thì Entropy tính là: H= -0.9 log 0.9-0.1 log 0.1 = 0.47 bit Vì ta hy vọng đạt mã có chiều dài gần với giá trị Tuy nhiên ta sử dụng kỹ thuật Huffman mã Shannon-Fano cho kết quảlà gán giá trị vào từ mã giá trị cho từ mã khác Chiều dài trung bình thường bit tin Điều này, nhiều hai lần Entropy 8/11 giới thiệu mã hoá entropy nén liệu Giả sử ta tổ hợp tin thành cặp Sau ta có tập hợp hai tin Điều không phụ thuộc vào tin Các tập hợp xác suất kết là: S1S1 0.81 S1S2 0.09 S2S1 0.09 S2S2 0.01 Nếu sử dụng phương pháp Shannon-Fano ta gán từ mã sau: S1S1 0.81 S1S2 0.09 10 S2S1 0.09 110 S2S2 0.01 111 Chiều dài từ trung bình thường xác định sau: Vì tin tổ hợp thể hai số tin gốc, ta chia số cho hai, tìm 0.645 bit dùng để gửi số tin gốc Bây giả sử ta kết hợp tin thời điểm để có xác suất tin từ mã sau: S1S1S1 0.729 S1S1S2 0.081 100 S1S2S1 0.081 101 S1S2S2 0.009 11100 S2S1S1 0.081 110 S2S1S2 0.009 11101 9/11 giới thiệu mã hoá entropy nén liệu S2S2S1 0.009 11110 S2S2S2 0.001 11111 Chiều dài trung bình mã 1.598 bits Vì chiều dài trung bình cho tin gốc là: Chú ý ta kết hợp nhiều tin, chiều dài trung bình tiến gần đến Entropy Chiều dài trung bình với Entropy xác suất nghịch đảo bội Khi nhiều tin kết hợp, xác suất tiến đến gần NÉN DỮ LIỆU (data compression) Nén liệu thuật ngữ dùng rộng rãi kỹ thuật làm giảm số bit truyền cho tin Mã hoá Entropy dạng nén liệu Sự thành công kỹ thuật nén liệu, phụ thuộc vào thuộc tính thông tin Ví dụ mã hoá Entropy trở nên hiệu xác suất tin không Những kỹ thuật khác mà ta mô tả phụ thuộc vào thuộc tính tin Tức chúng phụ thuộc vào biểu tượng xảy trật tự tiên đoán Bây ta xem mã hoá ảnh ti vi Giả sử, ảnh ti vi chứa 426 điểm ảnh nhìn thấy (pixel) đường quét ngang Nếu ta nói ti vi trắng đen cần gửi độ sáng (độ chói) điểm ảnh Giả sử ta định truyền bits thông tin Thế thì, ta lượng tử độ sáng 27 128 mức khác Điều thể chất lượng độ phân giải cao Ta cần x 426 2982 bits để truyền thông tin cho đòng cách sử dụng PCM Một ảnh ti vi chuẩn thường chứa mộ chuỗi điểm ảnh gần với độ sáng Khi ta theo dấu đường quét ngang ta thấy hàng trăm điểm ảnh có độ sáng giống (giả sử có hình hình phông nền, giống giả sử ta gửi đoạn văn giống nhau) Trong trường hợp ta sử dụng kỹ thuật nén liệu (được hiểu mã run-length) để làm giảm số bit truyền tín hiệu Thay gửi độ sáng cho điểm ảnh, ta gửi vị trí bắt đầu độ sáng điểm ảnh số điểm ảnh có độ sáng với độ sáng Để gửi vị trí ta cần bits thông tin 29 = 512 có 426 vị trí khác Vì ta cần bits cho vị trí bits cho độ sáng (tổng cộng 16 bits) Thí dụ 10 điểm ảnh lân cận có độ sáng, ta cần 10 x = 70 bits để gửi thông tin cách độc lập Nhưng với 16 bit để gửi chúng dùng mã run-length Khái niệm dẫn đến tiết kiệm mở rộng sang hai hướng 10/11 giới thiệu mã hoá entropy nén liệu Một bất lợi mã run-length tín hiệu liệu xảy với tốc độ không đồng Đó bit không mã hoá gửi với tốc độ không đổi Tuy nhiên, cách mã hoá vùng sáng lớn cho kết liệu truyền với nhịp thấp Vì hệ thống đòi hỏi vùng đệm Một thiếu sót lỗi truyền hệ thống có nhớ Một bit lỗi hệ thống dùng PCM để gửi riêng thông tin điểm ảnh gây lỗi độ sáng cho riêng điểm ảnh Nhưng mã run-length dùng, bit lỗi ảnh hưởng đến toàn độ sáng đường quét Ta dùng tiên đoán dạng nén liệu Nếu giá trị liệu tiên đoán từ giá trị giá trị trước không cần gửi tất liệu Chỉ cần giá trị liệu cộng thêm số thông số đủ để giúp cho việc tiên đoán 11/11 [...].. .giới thiệu về mã hoá entropy và nén dữ liệu Một trong những bất lợi của mã run-length là tín hiệu dữ liệu xảy ra với tốc độ không đồng đều Đó là những bit không mã hoá được gửi đi với tốc độ không đổi Tuy nhiên, bằng cách mã hoá các vùng sáng đều lớn sẽ cho kết quả dữ liệu truyền với nhịp thấp hơn Vì thế hệ thống đòi hỏi một vùng đệm... một lỗi độ sáng cho riêng điểm ảnh đó Nhưng nếu mã run-length được dùng, một bit lỗi có thể ảnh hưởng đến toàn bộ độ sáng của đường quét Ta có thể dùng sự tiên đoán trong các dạng nén dữ liệu Nếu các giá trị của dữ liệu tiếp theo có thể được tiên đoán từ các giá trị hiện tại và các giá trị trước đó thì không cần gửi tất cả dữ liệu Chỉ cần các giá trị dữ liệu hiện tại cộng thêm một số thông số chính đủ ... đến gần NÉN DỮ LIỆU (data compression) Nén liệu thuật ngữ dùng rộng rãi kỹ thuật làm giảm số bit truyền cho tin Mã hoá Entropy dạng nén liệu Sự thành công kỹ thuật nén liệu, phụ thuộc vào thuộc... bits Ta mã hoá nhiều tin sang từ mã ngắn Trong trường hợp đặc biệt chiều dài từ trung bình hợp với entropy Vì ta tìm mã với chiều dài trung bình nhỏ 3/11 giới thiệu mã hoá entropy nén liệu Một... dùng mã run-length Khái niệm dẫn đến tiết kiệm mở rộng sang hai hướng 10/11 giới thiệu mã hoá entropy nén liệu Một bất lợi mã run-length tín hiệu liệu xảy với tốc độ không đồng Đó bit không mã hoá

Ngày đăng: 31/12/2015, 16:38

Mục lục

  • giới thiệu về mã hoá entropy và nén dữ liệu

  • GIỚI THIỆU VỀ MÃ HOÁ ENTROPY VÀ NÉN DỮ LIỆU.

    • MÃ HOÁ ENTROPY (entropy coding)

    • CÁC MÃ CÓ CHIỀU DÀI THAY ĐỔI (variable length codes)

    • NÉN DỮ LIỆU (data compression)

Tài liệu cùng người dùng

Tài liệu liên quan