Nén theo mã hóa quan hệ

Một phần của tài liệu Giáo trình truyền số liệu cđ kỹ thuật cao thắng (Trang 51 - 52)

Một phương pháp khác được sử dụng khi truyền dữ liệu số học kế tiếp chỉ khác nhau phần

nhỏ về giá trị là chỉ gửi lượng khác nhau giữa các giá trị này cùng với một giá trị tham khảo. Điều này được gọi là mã hóa quan hệ và nó có thể đem lại hiệu quả đặc biệt trong các ứng dụng ghi nhân dữ liệu.

Ví dụ: nếu giám sát từ xa mục nước của dòng sông thường đọc mức nước theo các khoảng thời gian định trước . để tối thiểu thời gian cần truyền thay vì truyền giá trị chỉ mưc nước

tuyệt đối, chúng ta chỉ cần truyền đi các giá trị khác nhau.

4.3.4 Nén bằng cách bỏ bớt các ký tự giống nhau (mã hoá độ dài loạt Run-Length Encoding)

Thông thường dữ liệu được truyền thường xuất hiện chuỗi lặp lại các ký tự giống nhau. Thiết bị điều khiển tại máy phát sẽ quét nội dung của dữ liệu trước khi truyền nếu gặp một chuỗi ký tự liên tiếp giống nhau thì chúng sẽ được thay thế bởi một cặp số và ký tự.

Ví dụ, xét chuỗi sau: AAAABBBAABBBBBCCCCCCCCDABCBAAABBBBCCCD

Chuỗi này gồm bốn chữ A theo sau bởi ba chữ B rồi lại theo sau bởi hai chữ A, rồi lại theo sau bởi năm chữ B...Do đó có thể sử dụng phương pháp mã hoá độ dài loạt để mã hóa. Vì vậy

chuỗi kí tự trên được mã hoá lại như sau:

4A3BAA5B8CDABCB3A4B3CD. "4A" có nghĩa là "bốn chữ A"... Chú ý là không nên mã hoá các loạt chạy có độ dài 1 hoặc 2 vì cần đến hai kí tự để mã hoá. Ðối với các tập tin nhị phân ý tưởng ở đây là lưu lại các độ dài loạt bằng cách tận dụng sự kiện các loạt chạy có thay đổi giữa 0 và 1. Ví dụ dãy nhị phân 1010 được biểu diễn bởi cặp số đếm và ký tự thì là như sau 11101110 nhưng để tránh phải lưu chính các số 0 và 1 đó, một phiên bản được tinh chế của phương pháp này được dùng đã thu được sự tiết kiệm đáng kể, lúc này dãy nhị phân trên sẽ được biểu diễn là 1010 (tiết kiệm được 4 ký tự dùng làm số đêm). Có nghĩa là ta tiết kiệm

các bit trên một loạt chạy chỉ khi độ dài của đường chạy là lớn hơn số bit cần để biễu diễn

chính nó trong dạng nhị phân. Việc mã hoá độ dài loạt cần đến các biễu diễn riêng biệt cho tập tin và cho bản đã được mã hoá của nó, vì vậy nó không thể dùng cho mọi tập tin, ví dụ, phương pháp nén tập tin kí tự sẽ không dùng được đối với các chuỗi kí tự có chứa số. Nếu dùng những kí tự khác để mã hoá các số đếm, thì nó sẽ không làm việc với các chuỗi chứa các

CHƯƠNG 4: XỬ LÝ SỐ LIỆU TRUYỀN

46

kí tự đó. Ví dụ như ta phải mã hoá bất kì kí tự nào trong một bảng chữ cái cố định bằng cách chỉ dùng các kí tự từ bảng chữ cái đó.

Giả định rằng ta chỉ có 26 chữ cái trong bảng chữ cái (và cả khoảng trống) để làm việc. Ðể có thể dùng vài chữ cái để biểu diễn các số và các kí tự khác biểu diễn các phần tử của chuỗi sẽ được mã hoá, ta phải chọn một kí tự được gọi là kí tự "Escape". Mỗi một sự xuất hiện của kí tự đó báo hiệu rằng hai chữ cái tiếp theo sẽ tạo thành một cặp (số đếm, kí tự) với các số đếm được biểu diễn bằng cách dùng kí tự thứ i của bảng chữ cái để biểu diễn số i. Vì vậy, chuỗi ví dụ của chúng ta sẽ được biểu diễn như sau với Q được xem là các kí tự "Escape"

QDABBBAABQHCDABCBAAAQDBCCCD

(QDA có nghĩa là 4 chữ A…, QHC có nghĩa là 8 chữ C… )

Tổ hợp của kí tự "Escape", số đếm và một kí tự lặp lại được gọi là một dãy Escape. Chú ý

rằng không đáng để mã hoá các đường chạy có chiều dài ít hơn bốn kí tự, vì ít nhất là cần đến ba kí tự để mã hoá bất kì một loạt chạy nào.

Trong trường hợp bản thân kí tự "Escape" xuất hiện trong dãy kí tự cần mã hoá ta sử phải dụng một dãy "Escape" với số đếm là 0 (kí tự space) để biểu diễn kí tự cho "Escape".. ví dụ khi viết QEQCA (5 chữ Q, 1 chữ C 1 chữ A nhưng cũng có thể hiểu là 5 chữ Q, 3 chữ A), lúc này muốn biểu diễn 5 chữ Q, 1 chữ C 1 chữ A thì phải viết là Q0QQ0QQ0QQ0QQ0QCA ??? (trời đất!!!!!!) Như vậy trong trường hợp kí tự "Escape" xuất hiện nhiều thì có thể sẽ làm cho tập tin nén phình to hơn trước

Các loạt chạy dài có thể được cắt ra để mã hoá bằng nhiều dãy Escape, ví dụ, một loạt chạy gồm 51 chữ A sẽ được mã hoá như QZAQYA (z = 26, y = 25).

Phương pháp mã hoá độ dài loạt thường được áp dụng cho các tập tin đồ hoạ bitmap vì ở đó thường có các mảng lớn cùng màu được biểu diễn dưới dạng bitmap là các chuỗi bit có đường

chạy dài. Trên thực tế, nó được dùng trong các tập tin .PCX, .RLE.

Một phần của tài liệu Giáo trình truyền số liệu cđ kỹ thuật cao thắng (Trang 51 - 52)