Nhập môn Xử lý ảnh Tìm hiểu và khảo sát, xây dựng ứng dụng thử nghiệm của phương pháp nén từ điển LZWNhập môn xử lý ảnh ứng dụng phương pháp nén từ điển LZWKhảo sát và ứng dụng thử nghiệm phương pháp nén từ điển LZW
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG I: TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ 3
I XỬ LÝ ẢNH SỐ LÀ GÌ? 3
II CÁC ỨNG DỤNG CỦA XỬ LÝ ẢNH SỐ 3
III CÁC BƯỚC CƠ BẢN TRONG XỬ LÝ ẢNH SỐ 3
IV CÁC THÀNH PHẦN CỦA MỘT HỆ THỐNG XỬ LÝ ẢNH 5
CHƯƠNG II: TỔNG QUAN VỀ PHƯƠNG PHÁP NÉN TỪ ĐIỂN LZW 6
I NÉN DỮ LIỆU 6
II TỔNG QUAN VỀ NÉN TỪ ĐIỂN LZW 6
CHƯƠNG III: THUẬT TOÁN 8
II MÃ HÓA (ENCODING) 9
III GIẢI MÃ (DECODING) 10
IV BIẾN THIÊN ĐỘ RỘNG (VARIABLE-WIDTH CODES) 11
V THỨ TỰ ĐÓNG GÓI (PACKING ORDER) 12
CHƯƠNG IV: VÍ DỤ 14
I MÃ HÓA 15
II GIẢI MÃ 16
CHƯƠNG V: XÂY DỰNG ỨNG DỤNG 19
I MÃ HÓA 19
II GIẢI MÃ 22
III KIỂM TRA 24
IV UPDATE 24
KẾT LUẬN 25
TÀI LIỆU THAM KHẢO 26
Trang 2LỜI NÓI ĐẦU
Cách mạng công nghệ 4.0 đang ngày càng phát triển kéo theo những sự thay đổivượt bậc trong cuộc sống của con người Đứng trước thời đại công nghệ số, người ngườinhà nhà đều có trong tay những thiết bị công nghệ thông minh phục vụ cho cả nhữngcông việc thiết yếu thường nhật, như việc gửi thông tin hay truyền tải dữ liệu, hình ảnh
mà không cần phải tốn công sức và thời gian chờ đợi chỉ bằng một nút click Tuy nhiên,song song với việc đem lại những thuận lợi rõ rệt trong cuộc sống hằng ngày của lĩnh vựccông nghệ thông tin thì đây đồng thời cũng lại là những thách thức lớn của quá trình pháttriển
Ngày nay, chúng ta có thể dễ dàng bắt gặp hình ảnh con người chia sẻ với nhaukhông chỉ là thông tin mà còn kèm theo những hình ảnh sinh động được lưu giữ lại mỗingày thông qua Internet và mạng không dây Việc làm này tuy nhanh gọn nhưng chấtlượng hình ảnh được truyền đi đôi khi lại gặp nhiều rắc rối khi hình ảnh truyền đi có dunglượng quá lớn và chất lượng hình ảnh giảm đi qua mỗi lần chia sẻ, đòi hỏi việc xử lý ảnhphải thật tốt để không gặp phải những vấn đề trên Cũng chính vì vậy mà phương phápnén ảnh được ra đời với kỹ thuật mã hóa các ảnh số hóa nhằm giảm số lượng các bit dữliệu cần thiết để biểu diễn ảnh, giúp giảm đi những chi phí trong việc lưu trữ ảnh và chiphí thời gian để truyền ảnh đi xa trong truyền thông nhưng vẫn đảm bảo được chất lượngcủa hình ảnh Một trong những phương pháp nổi bật chính là phương pháp nén từ điểnLZW Đây cũng chính là đề tài nhóm 12 chúng em sẽ nói đến trong bài báo cáo này
Do kiến thức còn hạn hẹp nên bài báo cáo của chúng em còn nhiều thiếu xót, vìvậy, chúng em rất mong nhận được sự góp ý của thầy và các bạn để bài báo cáo của nhómđược hoàn thiện hơn
Chúng em xin chân thành cảm ơn!
Trang 3CHƯƠNG I: TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ
I XỬ LÝ ẢNH SỐ LÀ GÌ?
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Tuy mới mẻ so vớinhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trungtâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó
Xử lý ảnh là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sởkhác Đầu tiên phải kể đến Xử lý tín hiệu số là môn học hết sức cơ bản cho xử lý tín hiệuchung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữuhạn… Thứ hai là các công cụ toán như Đại số tuyến tính, sác xuất, thống kê Bên cạnh đócòn là một số kiến thức cần thiết như Trí tuệ nhân tạo, Mạng nơ ron nhân tạo cũng được
đề cập trong quá trình phân tích và nhận dạng ảnh
II CÁC ỨNG DỤNG CỦA XỬ LÝ ẢNH SỐ
1.2.1 Biến đổi ảnh (Image Transform)
Trong xử lý ảnh, do số điểm ảnh lớn hơn các tính toán nhiều (độ phức tạp tính toáncao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán lâu Người ta sử dụng các phéptoán tương đương hoặc biến đổi sang miền xử lý khác để dễ tính toán Sau khi xử lý dễdàng hơn được thực hiện, dùng biến đổi ngược để đưa về miền xác định ban đầu Cácbiến đổi thường gặp trong xử lý ảnh bao gồm:
- Biến đổi Fourier, Cosin, Sin
- Biến đổi (mô tả) ảnh bằng tích chập, tích Kronecker (theo xử lý số tín hiệu)
- Các biến đổi khác như KL (Karhumen Love), Hadamard
1.2.2 Nén ảnh
Ảnh dù ở dạng nào vẫn chiếm không gian nhớ rất lớn Khi mô tả ảnh, người ta đưa
kỹ thuật nén ảnh vào Các giai đoạn có thể chia ra thế hệ 1, thế hệ 2 Hiện nay, các chuẩnMPEG được dùng với ảnh đang phát huy hiệu quả
III CÁC BƯỚC CƠ BẢN TRONG XỬ LÝ ẢNH SỐ
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượngảnh và phân tích ảnh
Trang 4Các bước cơ bản trong xử lý ảnh
1.3.1 Thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera làloại tương tự, cũng có loại camera đã số hóa là loại photodiot tạo cường độ sáng tại mỗiđiểm ảnh Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều Chấtlượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phongcảnh)
1.3.2 Tiền xử lý (Image Processing)
Sau bộ thu nhận, ảnh có thể nhiễu, độ tương phản thấp nên cần đưa vào bộ tiền xử
lý để nâng cao chất lượng Bộ tiền xử lý giúp lọc nhiễu ảnh, nâng độ tương phản để làmảnh rõ hơn, nét hơn
1.3.3 Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễnphân tích, nhận dạng ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
vì đây là phần phức tạp nhất trong xử lý ảnh, dễ gây lỗi và làm mất độ chính xác của ảnh
1.3.4 Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn)cộng với mã liên kết các vùng lân cận Việc biến đổi các số liệu này thành dạng thích hợp
là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi
là trích chọn đặc trưng (Feature election) gắn với việc tách các đặc tính của ảnh dưới dạngcác thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượngkhác trong phạm vi ảnh nhận được
1.3.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Trang 5Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng cách
so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước Nội suy là phán đoán theo ýnghĩa trên cơ sở nhận dạng Có nhiều cách phân loại ảnh khác nhau Theo lý thuyết vềnhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
Nhận dạng theo tham số
Nhận dạng theo cấu trúc
1.3.6 Cơ sở tri thức (Knowledge Base)
Ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểmảnh, môi trường để thu nhận ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý vàphân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử
lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của conngười Hiện nay, nhiều khâu cũng đã được xử lý theo phương pháp trí tuệ con người, do
đó các cơ sở tri thức được phát huy
IV CÁC THÀNH PHẦN CỦA MỘT HỆ THỐNG XỬ LÝ ẢNH
Các thành phần chính của hệ thống xử lý ảnh
Theo quan điểm của hệ thống xử lý trên máy tính số, hệ thống xử lý ảnh bao gồm:các đầu đo (thu nhận ảnh), bộ số hóa, máy tính số, bộ hiển thị và bộ nhớ
Trang 6CHƯƠNG II: TỔNG QUAN VỀ PHƯƠNG PHÁP NÉN TỪ ĐIỂN LZW
I NÉN DỮ LIỆU
Nén dữ liệu nhằm làm giảm lượng thông tin “dư thừa” trong dữ liệu gốc và do vậy,lượng thông tin thu được sau khi nén thường nhỏ hơn dữ liệu gốc rất nhiều Đối với dữliệu ảnh, kết quả thường là 10:1 Một số phương pháp có thể cho kết quả cao hơn Do bản
chất của kỹ thuật này nên nén dữ liệu còn có một số tên gọi khác như: giảm độ dư thừa
hay mã hóa ảnh gốc Vì kỹ thuật nén phụ thuộc vào nhiều yếu tố và bản chất của dữ liệugốc nên cho đến nay vẫn chưa có phương pháp nén nào được coi là phương pháp vạnnăng (Universal), dù đã có rất nhiều kỹ thuật nén đã được công bố trong suốt hai thập kỷphát triển
Nói riêng về nén ảnh, đây là một kỹ thuật mã hóa các ảnh số hóa nhằm giảm sốlượng các bit dữ liệu cần thiết để biểu diễn ảnh Nén ảnh đạt được bằng cách loại bỏ cácphần dư thừa trong ảnh đã được số hóa Đó có thể là dư thừa thông tin về không gian, dưthừa về cấp xám hay dư thừa về thời gian
Ngày nay, nén ảnh được áp dụng rất nhiều vào thực tế, điển hình như việc truyềntải các văn bản đồ họa hay hình ảnh thông qua Internet và mạng không dây, giúp giảm chiphí trong việc lưu trữ và gửi hình ảnh, cũng như tiết kiệm thời gian khi truyền tải ảnh đi
xa mà chất lượng hình ảnh vẫn được đảm bảo
Nén ảnh thực hiện được là do một thực tế: thông tin trong bức ảnh không phải làngẫu nhiên mà có trật tự, tổ chức Do đó, nếu bóc tách được tính trật tự, cấu trúc đó thì sẽbiết phần thông tin nào quan trọng nhất trong bức ảnh để biểu diễn và truyền đi với sốlượng ít bit hơn so với ảnh gốc mà vẫn đảm bảo tính đầy đủ của thông tin Ở bên nhận,quá trình giải mã sẽ tổ chức, sắp xếp lại được bức ảnh xấp xỉ gần chính xác so với ảnh gốcnhưng vẫn thỏa mãn chất lượng yêu cầu
II TỔNG QUAN VỀ NÉN TỪ ĐIỂN LZW
LZW (Lempel – Ziv – Welch) là phương pháp nén dữ liệu được đặt tên dựa theo 3nhà phát minh Abraham Lempel, Jacob Ziv và Terry Welch Năm 1978, hai nhà khoa họcLempel và Ziv lần đầu tiên đưa ra khái niệm nén từ điển, sau đó phát triển thành họ giải
Trang 7thuật nén từ điển và đặt tên là LZ Năm 1984, Terry Welch đã cải tiến giải thuật này trởnên hiệu quả hơn và đổi tên thành LZW.
LZW là phương pháp nén không gây mất thông tin khi cho phép dữ liệu gốc đượcxây dựng lại hoàn toàn từ dữ liệu nén, nói cách khác, sau khi giải nén ta thu được chínhxác dữ liệu gốc Nó hoạt động dựa trên một ý tưởng rất đơn giản và có tiềm năng thônglượng rất cao trong việc triển khai phần cứng khi để người mã hóa và người giải mã cùngxây dựng bảng mã Bảng mã này không cần được lưu kèm với dữ liệu trong quá trình nén,
mà khi giải nén, người giải nén sẽ xây dựng lại nó
Cụ thể, phương pháp LZW dựa trên việc xây dựng từ điển lưu cácchuỗi ký tự đã từng xuất hiện trong văn bản với tần suất lặp lại cao,những “chuỗi ký tự” xuất hiện sau đó sẽ được thay thế bằng từ mãtương ứng mỗi khi gặp lại chúng Giải thuật LZW hay hơn các giải thuậtnén khác ở kỹ thuật tổ chức từ điển cho phép nâng cao tỷ lệ nén
Thuật toán được ứng dụng rộng rãi khi nén tệp trên hệ điều hành Unix, dùng chotất cả các loại file nhị phân Nó thường được dùng để nén các loại văn bản,ảnh đen trắng, ảnh màu… và là chuẩn nén cho các dạng ảnh GIF,TIFF… Mức độ hiệu quả của LZW không phụ thuộc vào số bit màu củaảnh
Trang 8CHƯƠNG III: THUẬT TOÁN
I PHƯƠNG PHÁP VÀ Ý TƯỞNG
Phương pháp nén LZW hoạt động theo nguyên tắc là tạo ra một từ điển động theo
dữ liệu của file ảnh, hay xây dựng một từ điển lưu các mẫu có tần suất xuất hiện cao trong
ảnh Từ điển là tập hợp của những cặp từ vựng và nghĩa của nó Trong đó, từ vựng sẽ là các từ mã được sắp xếp theo thứ tự nhất định Nghĩa là một chuỗi con trong dữ liệu ảnh
Từ điển được xây dựng đồng thời với quá trình đọc dữ liệu Sự có mặt của mộtchuỗi con trong từ điển khẳng định rằng chuỗi đó đã từng xuất hiện trong phần dữ liệu đãđọc
Do kích thước bộ nhớ không phải là vô hạn và để đảm bảo được tốc độ tìm kiếm,
từ điển chỉ giới hạn 4096 phần tử dùng để lưu lớn nhất là 4096 giá trị của các từ mã Nhưvậy độ dài lớn nhất của từ mã là 12 bit (4096 = 212)
Ý tưởng của thuật toán được phát triển theo nguyên lý tạo ra một dãy mã với cấutrúc có dạng như sau:
Khoá Ý nghĩa Ghi chú
Trang 9 256 từ mã đầu tiên theo thứ tự từ 0 đến 255, chứa các số nguyên từ 0 đến
255 miêu tả một dãy ký tự thay thế cho ký tự 8 bit tương ứng 256 ký tự này
- Từ mã thứ 257 chứa mã kết thúc thông tin (EOI - End OfInformation) Mã này có giá trị là 257 Một file ảnh có thể chứanhiều ảnh (ví dụ ảnh GIF), khi đó mỗi ảnh sẽ được mã hóa riêng và
mã EOI dùng để xác định điểm kết thúc thông tin của 1 ảnh Chươngtrình giải mã sẽ lặp đi lặp lại các thao tác giải mã từng ảnh cho đếnkhi gặp mã kết thúc thông tin thì dừng lại
- Các từ mã còn lại (từ 258 đến 4095) chứa các mẫu lặp lại trong ảnh.Các mã này được sinh ra trong quá trình mã hoá 512 phần tử đầutiên của từ điển biểu diễn bằng 9 bit Các từ mã từ 512 đến 1023 biểudiễn bởi 10 bit, từ 1024 đến 2047 biểu diễn bởi 11 bit và từ 2048 đến
4095 biểu diễn bởi 12 bit
Mỗi bước trong khi nén, byte nhập vào được tập hợp lại thành một chuỗicho đến khi ký tự tiếp theo sẽ tạo thành một chuỗi chưa tồn tại trong từ điển,
và một mã mới cho chuỗi được tạo sẽ được thêm vào từ điển, mã này sẽđược xuất ra file output
II MÃ HÓA (ENCODING)
Thuật toán cấp cao của mã hóa được hiển thị như sau:
Bước 1: Khởi tạo từ điển chứa tất cả chuỗi có một ký tự
Bước 2: Tìm chuỗi W dài nhất trong từ điển đối chiếu với dữ liệu nhập hiệntại
Bước 3: Xuất vị trí từ điển cho W ra file output và xóa W khỏi dữ liệu nhập
Trang 10 Bước 4: Thêm W và ký tự tiếp theo trong dữ liệu nhập vào từ điển
Bước 5: Chuyển sang bước 2
Một từ điển được khởi tạo để chứa các chuỗi ký tự đơn tương ứng với tất cả các ký
tự đầu vào khả thi (không có gì khác ngoại trừ các mã rõ ràng và dừng nếu chúng đangđược sử dụng) Thuật toán hoạt động bằng cách quét qua các chuỗi đầu vào cho các chuỗicon liên tục dài hơn cho đến khi nó tìm thấy một chuỗi không có trong từ điển Khi tìmthấy chuỗi như vậy, nó được ghi vào chuỗi không có ký tự cuối cùng
Nói một cách dễ hiểu, LZW bắt đầu bởi 1 từ điển 256 kí tự (trong trường hợp sửdụng bảng mã 8 bits) và sử dụng chúng như tập kí tự chuẩn Sau đó, mỗi lần đọc nó đọc 8bits và mã hóa thành con số tương ứng với chỉ mục của kí tự đó trong từ điển Mỗi khiLZW đi qua 1 chuỗi con mới thì nó thêm chuỗi con đó vào từ điển
Mỗi khi nó đi qua 1 chuỗi con mà nó đã thấy trước đó, nó chỉ đọc thêm 1 kí tự mớinữa và cộng với chuỗi con đã biết để tạo ra 1 chuỗi con mới Lần tiếp theo LZW bắt gặpmột chuỗi con đã có, nó chỉ có việc sử dụng số chỉ mục tương ứng trong từ điển
Thường thì người ta sẽ định sẵn số lượng lớn nhất các từ trong từ điển (giả sử4096), vì thế, việc nén LZW không làm tiêu tốn hết toàn bộ bộ nhớ Vì vậy mã của cácchuỗi con trong ví dụ này là 12 bits (212 = 4096) Cần thiết phải lập mã dài hơn số bits của
một kí tự (12 và 8 bits), do đó khi rất nhiều chuỗi con lặp lại sẽ được thay thế bởi một mã
duy nhất thì việc nén được thực hiện
Bằng cách này, các chuỗi liên tiếp dài hơn được ghi trong từ điển và được cungcấp cho lần mã hóa tiếp theo dưới dạng các giá trị đầu ra đơn Thuật toán hoạt động tốtnhất trên dữ liệu với các mẫu lặp lại, do đó, các phần ban đầu của thông điệp sẽ thấy ítnén hơn Tuy nhiên, khi thông báo ấy tăng lên, tỷ lệ nén có xu hướng tiệm cận đến mứctối đa (tức là, hệ số nén hoặc tỷ lệ được cải thiện trên đường cong tăng dần và khôngtuyến tính, tiếp cận mức tối đa theo lý thuyết trong một khoảng thời gian giới hạn)
III GIẢI MÃ (DECODING)
Quá trình giải mã LZW cũng không có gì phức tạp Thêm vào đó nó lại có nhiềulợi thế vì không cần một từ điển hay những thông tin tạp phí cần thiết cho quá trình giảinén Một từ điển mới đồng nhất với từ điển gốc đã tạo trong khi nén được tái tạo lại trongquá trình giải nén này Quá trình mã hóa và giải mã cần phải sử dụng cùng một từ điểnkhởi đầu
Trang 11Thuật toán giải mã hoạt động bằng cách đọc một giá trị từ dữ liệu đầu vào (dữ liệunhập) đã mã hóa và xuất ra chuỗi con tương ứng với từ điển đã được khởi tạo Tại cùngmột thời điểm, nó thu được giá trị tiếp theo từ dữ liệu nhập, ký tự đầu tiên của chuỗi connày được cộng thêm vào chuỗi đang làm việc Chuỗi mới tạo ra được thêm vào từ điển(hoàn toàn giống với quá trình mã hóa) Chuỗi đã được giải mã lại trở thành chuỗi đanglàm việc, ký tự đầu tiên của chuỗi nhận được khi mã hóa ký tự tiếp theo và cứ thế quátrình này được tiếp tục
Sau đó, trình giải nén xử lý giá trị nhập tiếp theo, quá trình lặp cho đến khi dữ liệunhập không còn, tại thời điểm giá trị nhập cuối cùng được mã hóa không còn bất kỳ giá trịnào thêm vào từ điển
Bằng cách này, bộ giải mã xây dựng một từ điển giống với từ điển được bộ mã hóa
sử dụng và sử dụng nó để giải mã các giá trị đầu vào tiếp theo Vì vậy, từ điển đầy đủkhông cần phải được gửi cùng với dữ liệu được mã hóa mà chỉ cần từ điển ban đầu chứacác chuỗi ký tự đơn là đủ (thường được xác định trước trong bộ mã hóa và bộ giải mãthay vì được gửi một cách rõ ràng với dữ liệu được mã hóa)
IV BIẾN THIÊN ĐỘ RỘNG (VARIABLE-WIDTH CODES)
Biến thiên độ rộng hay các mã có chiều rộng thay đổi là khoảng rộng của dãy bitchứa các mã đã được mã hóa trong vùng nhớ máy tính
Trong biến thiên độ rộng, nếu sử dụng các mã có độ rộng biến thiên, bộ mã hóa và
bộ giải mã phải cẩn thận để thay đổi chiều rộng tại cùng một điểm trong dữ liệu được mãhóa, hoặc chúng sẽ không chấp nhận về nơi ranh giới giữa các mã riêng lẻ nằm trong
luồng Trong bản chuẩn, trình nén mã sẽ tăng độ rộng p lên p+1 khi một chuỗi ω+s
không tồn tại trong từ điển (vì vậy, một mã phải được thêm vào), nhưng giá trị tiếp theo
có thể thêm trong bảng lại là 2 p (mã đầu tiên yêu cầu p+1 bit) Bộ mã hóa phát ra mã cho
ω ở độ rộng p (vì mã đó không yêu cầu p + 1 bit), và sau đó tăng độ rộng mã để mã tiếp theo được phát ra sẽ rộng p + 1 bit.
Bộ giải mã luôn là một mã phía sau bộ mã hóa trong việc xây dựng bảng Vì vậy,
khi nó nhận thấy mã cho ω, nó sẽ tạo một mục nhập cho mã 2 p - 1 Vì đây là điểm mà bộ
mã hóa sẽ tăng chiều rộng mã, bộ giải mã phải tăng chiều rộng ở đây là tốt nhất: tại thời
điểm mà nó tạo ra mã lớn nhất sẽ phù hợp với bit p.
Tuy nhiên, một số thuật toán mã hóa tăng độ rộng mã triển khai sớm và sau đóphát ra ω ở chiều rộng mới thay vi chiều rộng cũ Điều này được gọi là "thay đổi sớm", nó
Trang 12gây ra rất nhiều nhầm lẫn rằng Adobe – hãng phần mềm hàng đầu của Mỹ giờ đây chophép cả hai phiên bản trong các tệp PDF, nhưng nó bao gồm một cờ rõ ràng trong phầntiêu đề của mỗi luồng nén LZW cho biết rằng liệu thay đổi ban đầu có được sử dụng haykhông Ngoài các định dạng tệp đồ họa có khả năng sử dụng nén LZW, dạng TIFF sửdụng thay đổi sớm, trong khi đó dạng GIF và các dạng khác thì không.
Khi bảng mã được xóa để đáp ứng với một mã rõ ràng, cả bộ mã hóa và bộ giải mãđều thay đổi độ rộng của mã sau khi mã rõ ràng trở lại chiều rộng mã ban đầu, và bắt đầuvới mã ngay sau mã rõ ràng
V THỨ TỰ ĐÓNG GÓI (PACKING ORDER)
Vì các mã được phát ra thường không nằm trên ranh giới byte, bộ mã hóa và bộgiải mã phải đồng ý về cách mã được đóng gói thành byte Với hai phương thức phổ biếnnhư sau:
LBS-first (Least sagnificant bit first: bit ít quan trọng nhất đầu tiên):
- Trong máy tính, LBS là vị trí bit trong một số nguyên nhị phân chogiá trị đơn vị, nghĩa là xác định xem số đó là chẵn hay lẻ LBS đôikhi cũng được gọi là bit thứ tự thấp hoặc bit ngoài cùng bên phải, doquy ước trong ký hiệu vị trí viết các chữ số ít quan trọng hơn ở bênphải
- Trong gói LBS-first, mã đầu tiên được căn chỉnh sao cho bit ít quantrọng nhất của mã rơi vào bit ít quan trọng nhất của luồng byte đầutiên, và nếu mã có nhiều hơn 8 bit thì thứ tự các bit còn lại được cănchỉnh với các bit quan trọng nhất của byte tiếp theo Các mã tiếp tụcđược đóng gói với LBS đi vào bit ít quan trọng nhất chưa được sửdụng trong luồng byte hiện tại, và tiến hành thêm các byte tiếp theonếu cần thiết
- Tệp GIF sử dụng thứ tự đóng gói của LBS-first
MBS-first (Most sagnificant bit first: bit quan trọng nhất đầu tiên):
- Trong máy tính, MBS là bit quan trọng nhất còn gọi là bit bậc cao, làmột số bit trong một số nhị phân có giá trị lớn nhất MBS đôi khiđược gọi là bit thứ tự cao hoặc bit ngoài cùng bên trái do quy ướctrong ký hiệu vị trí viết các chữ số quan trọng ở bên trái
Trang 13- Gói MBS-first căn chỉnh mã đầu tiên để bit quan trọng nhất của nórơi vào MBS của luồng byte đầu tiên, tràn ra liên kết với MBS củabyte tiếp theo Mã tiếp theo được viết bằng MBS đi vào bit quantrọng nhất chưa được sử dụng trong luồng byte hiện tại.
- Tệp TIFF và PDF sử dụng thứ tự đóng gói của MBS-first