Mã hoá theo độ dài loạt RLE (Run Length Encoding) là một 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 đối với ảnh nhị phân). Loạt được định nghĩa là dãy các phần tử điểm ảnh (pixel) liên tiếp có cùng chung một giá trị. Nguyên tắc của phương pháp này là phát hiện một loạt các điểm ảnh lặplại liên tiếp.
Ví dụ :110000000000000011.
Ta thấy điểm ảnh có giá trị 0 xuất hiện nhiều lần liên tiếp thay vì phải lưu trữ toàn bộ các điểm ảnh có giá trị 0 ta chỉ cần lưu trữ chúng bằng cách sử dụng các cặp (độ dài loạt, giá trị).
Ví dụ:
Cho một chuỗi nguồn d:
d =5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 0 0 0 0 0 0 0 23 23 23 23 23 23 23 23 Ta sẽ có chuỗi mới: (10 5) (5 19) (7 0) (8 23)
Tỷ số nén = 20/ 8 = 2.5
Đối với ảnh đen trắng chỉ sử dụng 1 bit để biểu diễn 1 điểm ảnh thì phương pháp này tỏ ra rất hiệu quả ta thấy điều đó qua ví dụ sau.
Cho một chuỗi nguồn d:
000000000000000111111111100000000001111111111000000000000000 Ta có chuỗi mới :(15, 10, 10, 10, 15)
Tỷ số nén = 60 bit / (5*4 bit) = 3 ( chỉ sử dụng 4 bit để thể hiện độ dài loạt và không thể hiện giá trị loạt vì ảnh đen trắng chỉ có 2 giá trị bit là 0 hoặc là 1)
41
+ Đối với ảnh chiều dài của một dãy lặp có thể lớn hơn 255, nếu ta dùng 1byte để lưu trữ chiều dài thì sẽ không đủ. Giải pháp được dùng là tách chuỗiđó thành 2 chuỗi: Một chuỗi có chiều dài là 255, chuỗi kia có chiều dài cònlại.
+ Phương pháp nén RLE chỉ đạt hiệu quả khi chuỗi lặp lớn hơn 1 ngưỡng nhất định nào đó hay nói các khác trong ảnh cần nén phải có nhiều điểm ảnhkề nhau có cùng giá trị màu. Do đó phương pháp này không đem lại cho ta kết quả một cách ổn định vì nó phụ thuộc hoàn toàn vào ảnh nén chỉ thích hợp cho những ảnh đen trắng hay ảnh đa cấp xám.
Ví dụ:
Ta có một chuỗi nguồn: d=5 7 9 11 13 18 28 38 48 58 30 35 40 45 Chuỗi kết quả sau khi mã hoá :
1 5 1 7 1 9 1 11 1 3 1 18 1 28 1 38 1 48 1 58 1 30 1 35 1 40 1 45 Tỷ số nén = 14/28=0,2
Như vậy chuỗi sau khi mã hoá đã lớn hơn nhiều chuỗi nguồn ban đầu.