Xử lý và TTDPT 17/03/22

Tóm tắt ngắn:
- Bài giảng giới thiệu về các phương pháp nén ảnh, tập trung vào hai loại chính: nén không tổn hao và nén tổn hao.
- Các kỹ thuật nén không tổn hao được đề cập bao gồm DPCM (Điều chế xung mã sai phân). Nén tổn hao sử dụng biến đổi DCT (Biến đổi Cosin rời rạc) để chuyển ảnh từ miền không gian sang miền tần số, cho phép loại bỏ thông tin dư thừa (vùng phẳng, chi tiết bề mặt) trước khi mã hóa (ví dụ: chuẩn JPEG).
- Ứng dụng chính là giảm dung lượng ảnh mà vẫn giữ được chất lượng chấp nhận được (trong trường hợp nén tổn hao). Quá trình nén ảnh JPEG được trình bày chi tiết.
- Các quá trình được mô tả kỹ lưỡng bao gồm biến đổi DCT, lượng tử hóa, và mã hóa Huffman (gián tiếp thông qua bảng mã).
Tóm tắt chi tiết:
Bài giảng được chia thành các phần chính sau:
Phần 1: Giới thiệu về nén ảnh: Bài giảng bắt đầu bằng việc phân loại phương pháp nén ảnh thành hai loại: nén không tổn hao (không mất thông tin) và nén tổn hao (mất một phần thông tin). DPCM được giới thiệu như một ví dụ về phương pháp nén không tổn hao, dựa trên việc dự đoán giá trị điểm ảnh và mã hóa sai số dự đoán. "Khi mã hóa một điểm ảnh, người ta dự đoán ra giá trị của nó... mã hóa sự khác biệt giữa giá trị thực và giá trị dự đoán... lỗi dự đoán này sẽ nhỏ hơn rất nhiều so với giá trị thực."
Phần 2: Nén ảnh tổn hao (JPEG): Phần này tập trung vào nén tổn hao, đặc biệt là chuẩn JPEG. Ý tưởng chính là loại bỏ thông tin dư thừa không ảnh hưởng nhiều đến thị giác con người. Ba đặc trưng của ảnh được nhắc đến: cạnh, chi tiết bề mặt, và vùng phẳng. Việc loại bỏ thông tin được ưu tiên theo thứ tự: vùng phẳng, bề mặt, và cuối cùng là cạnh. Tuy nhiên, việc xác định các đặc trưng này trực tiếp từ dữ liệu ảnh thô là khó khăn.
Phần 3: Biến đổi DCT: Để giải quyết vấn đề trên, biến đổi DCT được sử dụng để chuyển ảnh sang miền tần số. "Phép biến đổi DCT chuyển những giá trị của mỗi điểm ảnh thành các giá trị khác... hệ số DC mang thông tin cạnh, các hệ số AC mang thông tin texture và vùng phẳng." Trong miền tần số, việc loại bỏ thông tin dư thừa trở nên dễ dàng hơn, bằng cách loại bỏ các hệ số AC có giá trị nhỏ.
Phần 4: Lượng tử hóa và mã hóa: Sau biến đổi DCT, quá trình lượng tử hóa được thực hiện bằng cách chia các hệ số DCT cho các phần tử của một ma trận lượng tử. Quá trình này làm giảm giá trị các hệ số, đặc biệt là các hệ số AC, dẫn đến giảm dung lượng ảnh. Sau đó, các hệ số được mã hóa, sử dụng một bảng mã tương tự như mã hóa Huffman, nhưng do số lượng giá trị lớn nên sử dụng bảng mã đã được tạo sẵn.
Phần 5: Giải mã và minh họa: Quá trình giải mã ngược lại với quá trình nén, bao gồm giải mã, biến đổi DCT ngược, và tái tạo ảnh. Chất lượng ảnh sau giải mã sẽ thấp hơn ảnh gốc do mất mát thông tin trong quá trình nén. Các hình ảnh minh họa cho thấy sự khác biệt giữa ảnh gốc và ảnh đã được nén, cho thấy sự mất mát chi tiết, đặc biệt ở vùng phẳng và texture.
Phần 6: Cải thiện chất lượng ảnh nén: Thảo luận về cách cải thiện chất lượng ảnh nén, tập trung vào việc giữ lại nhiều hệ số AC hơn. Chia nhỏ khối ảnh (ví dụ từ 8x8 xuống 4x4) không cải thiện đáng kể chất lượng vì bản chất thông tin vẫn được giữ lại tương tự.
Phần 7: Chi tiết kỹ thuật về DCT: Phần này đi sâu vào công thức toán học của biến đổi DCT, minh họa bằng ví dụ cụ thể với ma trận 2x2. Công thức tổng quát và công thức rút gọn được trình bày.
Phần 8: Mã hóa hệ số DC: Mô tả chi tiết cách mã hóa hệ số DC bằng phương pháp DPCM, sử dụng sự khác biệt giữa giá trị DC hiện tại và giá trị DC của khối trước đó. Các giá trị này được mã hóa bằng bảng mã.
Phần 9: Mã hóa hệ số AC: Giải thích cách mã hóa hệ số AC, bao gồm việc sử dụng các cặp mã (Run-length, Category) để biểu diễn số lượng số 0 liên tiếp và phân nhóm của hệ số AC. EOB (End of Block) được sử dụng để đánh dấu kết thúc khối. Một ví dụ cụ thể được trình bày để minh họa quá trình mã hóa.
Bài giảng kết thúc bằng việc hướng dẫn sinh viên thực hành tính toán DCT, lượng tử hóa và mã hóa cho một ví dụ cụ thể.