Ngày nay, thế giới kỹ thuật số kết nối mọi người bằng cách sử dụng các thiết bị cầm tay như điện thoại di động và máy tính bảng. Điều này cũng đã dẫn đến sự gia tăng chia sẻ dữ liệu đòi hỏi phải quản lý lưu trữ đĩa hiệu quả. Hơn nữa, việc chia sẻ dữ liệu nhanh chóng và hiệu quả qua Internet đòi hỏi các kích thước tệp phải nhỏ nhất có thể. Định dạng tệp nén Cung cấp các thuật toán nén mất và không mất mát để nén dữ liệu. Những trợ giúp này trong việc giảm sử dụng lưu trữ đĩa và truyền dữ liệu nhanh qua Internet. Trong bài viết này, hãy để cố gắng có được kiến thức về các thuật toán nén được sử dụng rộng rãi nhất và các loại của chúng.
Thuật toán nén không mất
Như tên ngụ ý các thuật toán nén không tổn thất thuộc về một danh mục thuật toán nén dữ liệu nén các tệp mà không mất bất kỳ nội dung nào của chúng. Điều đó có nghĩa là các thuật toán nén không mất mát có thể xây dựng lại chính xác dữ liệu gốc từ dữ liệu nén. Nhiều thuật toán khác nhau được thiết kế với một loại dữ liệu đầu vào điển hình hoặc bằng cách giả sử về loại dự phòng mà dữ liệu không nén có thể chứa. Sau đây là một lời giải thích ngắn gọn về một số thuật toán nén không mất mát được sử dụng rộng rãi nhất:
BZIP2
Thuật toán này sử dụng thuật toán bánh xe Burrows với mã hóa RLE và Huffman để nén dữ liệu. Nó được sử dụng để nén các tệp mà không cần lưu trữ chúng. Các tệp nén thường được lưu với tiện ích mở rộng .bz2.
Huffman mã hóa
Thuật toán này dựa trên một phương thức cụ thể để chọn danh tính cho từng ký hiệu, dẫn đến mã tiền tố. Mã hóa Huffman là một phương pháp phổ biến như vậy để tạo mã tiền tố. Các tệp nén với các tiện ích mở rộng như. MPQ,. ACE,. JPEG,. PNG,. mã hóa.
Lempel-Ziv nén
Thuật toán nén này còn được gọi là LZ77 và LZ78 là hai thuật toán nén dữ liệu không mất. Sự kết hợp của các thuật toán này dựa trên nhiều biến thể bao gồm LZW, LZSS, LZMA và các loại khác. Cả hai đều là các lập trình viên từ điển về mặt lý thuyết. Trong quá trình nén, LZ77 duy trì một cửa sổ trượt. Sau đó hoặc sau đó nó được chứng minh là tương đương với từ điển rõ ràng được xây dựng bởi LZ78. Do đó, chúng trở nên tương đương với việc giải nén toàn bộ dữ liệu. Các tệp với. LZMA,. LZO,. Lz,.
Dự đoán bằng cách kết hợp một phần (ppm)
** Dự đoán bằng cách kết hợp một phần**còn được gọi là PPM là một thuật toán nén dựa trên mô hình dự đoán và bối cảnh. Để dự đoán biểu tượng tiếp theo trong một luồng, các mô hình PPM sử dụng một tập hợp các ký hiệu trước đó trong luồng ký hiệu không nén. Thuật toán PPM hỗ trợ các tệp ZIP và 7Z.
Mã hóa độ dài chạy (RLE)
Thuật toán này còn được gọi là thuật toán nén RLE lossless dựa trên các chuỗi chứa cùng giá trị dữ liệu xảy ra trong nhiều yếu tố dữ liệu liền kề. Các chuỗi này được gọi là chạy. RLE được lưu trữ mỗi lần chạy dưới dạng giá trị dữ liệu và đếm. Điều này có lợi cho dữ liệu chứa nhiều lần chạy, chẳng hạn như hình ảnh đồ họa đơn giản, ví dụ: Bản vẽ, biểu tượng, dòng và hình ảnh động. Các tệp với. PSD,. PSB,. TGA Phần mở rộng được hỗ trợ bởi RLE
Thuật toán nén mất
Các thuật toán nén mất là một bước đi trước để giảm kích thước lưu trữ của các tệp. Trong khi đó, mất một số thông tin được chấp nhận là bỏ chi tiết không cần thiết. Các thuật toán nén dữ liệu mất được hình thành bởi nghiên cứu về cách mọi người hiểu dữ liệu. Hầu hết các thuật toán nén tổn thất đều dựa trên mã hóa biến đổi. Một số thuật toán nén tổn thất nổi tiếng được giải thích ngắn gọn dưới đây:
Biến đổi cosine rời rạc (DCT)
Biến đổi cosin rời rạc (DCT) là một chuỗi các điểm dữ liệu hạn chế về tổng số các hàm cosine dao động ở các tần số khác nhau. Nó được sử dụng trong hầu hết các phương tiện kỹ thuật số, bao gồm các hình ảnh kỹ thuật số như JPEG, HEIF, J2K, EXIF và DNG.
Nén sóng con
Nén sóng con là một thuật toán nén mất mát được sử dụng phổ biến nhất trong nén hình ảnh. Thuật toán này sử dụng một nguyên tắc gọi là mã hóa biến đổi trong đó biến đổi wavelet được áp dụng ban đầu. Điều này tạo ra nhiều hệ số như có pixel trong hình ảnh. Vì thông tin tập trung thống kê chỉ trong một vài hệ số, các hệ số này có thể được nén dễ dàng hơn. Việc triển khai đáng chú ý là JPEG 2000, DJVU và ECW cho hình ảnh tĩnh.
Nén nhận thức Cartesian (CPC)
Sự nén mất mát này còn được gọi là CPC được tạo ra để nén cao hình ảnh raster đen trắng từ các lần quét lưu trữ. Thuật toán thường được sử dụng trong phân phối web của các tài liệu pháp lý, bản đồ cốt truyện địa lý và các kế hoạch thiết kế.
Nén fractal
Nén Fractal là một thuật toán nén mất cho hình ảnh kỹ thuật số dựa trên fractal. Thuật toán phù hợp cho hình ảnh và kết cấu tự nhiên, dựa vào các phần của một hình ảnh tương tự như các phần khác của cùng một hình ảnh. Các thuật toán fractal chuyển đổi các phần này thành các mã fractal được sử dụng để tạo lại hình ảnh được mã hóa.
Phần kết luận {#Phần kết luận.wp-block-heading}
Trong bài viết này, bạn đã tìm hiểu về các thuật toán nén, các loại chính của chúng và các thuật toán nén thường được sử dụng. Không cần thiết phải giữ kiến thức trong tâm trí của bạn về tất cả các thuật toán nén. Nhưng nếu bạn cần tạo ra một bài thuyết trình thông minh về chủ đề về sự mất mát khác nhau hoặc không có tổn thất khác nhau, bạn có thể nhận được sự giúp đỡ từ đây. Do đó, đánh dấu trang blog này như một tài liệu tham khảo.