JPEGLS có 2 quá trình cơ bản là dự đoán và mã hóa.Quá trình dự đoán được thực hiện trong khối Predictor, sử dụng thuật toán LOCOI.Quá trình mã hóa được thực hiện trong khối Golomb Coder, sử dụng mã hóa không tổn hao RiceGolomb.
Xử lý liệu đa phương tiện Đề tài : Nội dung trình bày Phân tích sơ đồ thuật toán Ứng dụng đánh giá kết MSSV Họ Tên Công việc 20114630 Trần Trọng Dũng Sơ đồ khối chức kỹ thuật nén ảnh JPEG-LS 20112140 Nguyễn Thanh Tùng Giải thuật LOCO-I giải thuật mã hóa không tổn hào Rice-Golomb Đinh Hông Đạt Mã hóa loạt dài RLE Hoàng Đình Hiệp Ứng dụng Sơ đồ thực kỹ thuật nén ảnh JPEG-LS • Khối Gradient Các gradient định nghĩa sau : g1= d-b , g2=b-c , g3=c-a • Khối Flat Region • Khối Run Counter • Khối Run Coder • Khối Fixed Predictor • Khối Adaptive Correction • Khối Context Modeler • Khối Golomb Coder JPEG-LS JPEG-LS có trình dự đoán mã hóa Quá trình mã hóa thực khối Golomb Coder, sử dụng mã hóa không tổn hao Rice-Golomb Quá trình dự đoán thực khối Predictor, sử dụng thuật toán LOCO-I LOCO-I Loco-I: LOw COmplexity LOssless COmpression for Images – Nén ảnh không tổn hao với độ phức tạp thấp Được đề xuât HP Labs năm 1996, M.J Weinberger, G Seroussi G Sapiro phát triển Là thuật toán có độ phức tạp thấp, dựa bối cảnh thuật toán nén ảnh không tổn hao LOCO-I Quá trình dự đoán giá trị pixel X dựa giá trị pixel lân cận biết A, B C Giá trị X (Px) dự đoán sau: Px = Giá trị Px dùng cho khối Adaptive Correction tính toán sai khác so với giá trị X thực ảnh ban đầu Gọi giá trị sai khác ΔX Giá trị sai khác ΔX mã hóa khối Golomb Coder Thuật toán Rice-Golomb Giá trị ΔX số thập phân, sử dụng tham số m để chia ΔX thành phần: - Q (quotient): thương phép chia ΔX cho m - R (remainder): số dư phép chia Khi ΔX biểu diễn dạng: Quá trình mã hóa Các kí hiệu: - m: tham số mã hóa - q: phần thương s chia cho m - r: phần dư s chia cho m - s: giá trị biến cần mã hóa - k: số bit dùng để mã hóa phần dư r Đầu vào: Số nguyên s cần mã hóa tham số mã hóa m Đầu ra: Chuỗi nhị phân giá trị mã hóa s Quá trình mã hóa Thuật toán: B1: Tính k = ⌈log2(m)⌉ (số nguyên bé không bé log2(m)) B5: Nếu r < t mã hóa r dạng nhị phân sử dụng k-1 bit Kết mã hóa số nguyên s B2: Tính r = s mod m (số dư s chia cho m) B3: Tính t = 2k – m B4: Mã hóa phần thương q sử dụng mã unary (Mã unary số nguyên N biểu diễn dạng N bit kết thúc bit 0) Ngược lại tính r = r + t sau mã hóa r dạng nhị phân sử dụng k bit Quá trình mã hóa Ví dụ: Mã hóa số s = 37 với tham số m = B1: k = ⌈log2(m)⌉ = ⌈log2(7)⌉ = Như mã Golomb s = 37 với tham số m = 111110011 B2: r = 37mod7 = B3: t = 23 – = B4: q = 32div7 = Mã unary giá trị q = 111110 B5: r = > t => r = r + t = + = Mã nhị phân r = sử dụng k = bit 011 Quá trình giải mã Đầu vào: Chuỗi nhị phân cần giải mã tham số mã hóa m Đầu ra: Giá trị giải mã (s) Thuật toán: B1: Tính k = ⌈log2(m)⌉ (số nguyên bé không bé log2(m)) B4: Gán cho x giá trị giá trị thập phân (k – 1) bit giá trị đầu vào B5: Nếu x < t s = s×m + x B2: Tính t = 2k – m B3: Đặt s = số lượng bit liên tiếp gặp bit giá trị đầu vào B6: Ngược lại thì: x = x×2 + bit đầu vào s = s×m + x – t Quá trình giải mã Ví dụ: Giải mã 111110011 với tham số m = B1: k = ⌈log2(m)⌉ = ⌈log2(7)⌉ = B2: t = 2k – m = 23 – = B3: s = (111110011) B4: x = 012 = 110 B5: x = [...]... cho m - s: giá trị biến cần mã hóa - k: số bit dùng để mã hóa phần dư r Đầu vào: Số nguyên s cần mã hóa và tham số mã hóa m Đầu ra: Chuỗi nhị phân là giá trị mã hóa của s Quá trình mã hóa Thuật toán: B1: Tính k = ⌈log2(m)⌉ (số nguyên bé nhất không bé hơn log2(m)) B5: Nếu r < t thì mã hóa r dưới dạng nhị phân sử dụng k-1 bit Kết quả mã hóa số nguyên s là B2: Tính r = s mod m...• Khối Context Modeler • Khối Golomb Coder JPEG- LS JPEG- LS có 2 quá trình cơ bản là dự đoán và mã hóa Quá trình mã hóa được thực hiện trong khối Golomb Coder, sử dụng mã hóa không tổn hao Rice-Golomb Quá trình dự đoán được thực hiện trong khối Predictor, sử dụng thuật toán LOCO-I LOCO-I Loco-I: LOw COmplexity LOssless COmpression for Images – Nén ảnh không tổn hao với độ phức tạp thấp Được... dư của s chia cho m) B3: Tính t = 2k – m B4: Mã hóa phần thương q sử dụng mã unary (Mã unary của một số nguyên N được biểu diễn dưới dạng N bit 1 và kết thúc bằng 1 bit 0) Ngược lại tính r = r + t sau đó mã hóa r dưới dạng nhị phân sử dụng k bit Quá trình mã hóa Ví dụ: Mã hóa số s = 37 với tham số m = 7 B1: k = ⌈log2(m)⌉ = ⌈log2(7)⌉ = 3 Như vậy mã Golomb của s = 37 với tham số m = 7 là 111110011... Mã unary giá trị q = 5 là 111110 B5: r = 2 > t => r = r + t = 2 + 1 = 3 Mã nhị phân của r = 3 sử dụng k = 3 bit là 011 Quá trình giải mã Đầu vào: Chuỗi nhị phân cần giải mã và tham số mã hóa m Đầu ra: Giá trị giải mã được (s) Thuật toán: B1: Tính k = ⌈log2(m)⌉ (số nguyên bé nhất không bé hơn log2(m)) B4: Gán cho x giá trị bằng giá trị thập phân của (k – 1) bit tiếp theo trong giá trị đầu vào... Giá trị sai khác ΔX sẽ được mã hóa trong khối Golomb Coder Thuật toán Rice-Golomb Giá trị của ΔX là một số thập phân, sử dụng một tham số m để chia ΔX thành 2 phần: - Q (quotient): thương của phép chia ΔX cho m - R (remainder): số dư trong phép chia trên Khi đó ΔX sẽ được biểu diễn dưới dạng: Quá trình mã hóa Các kí hiệu: - m: tham số mã hóa - q: phần thương của s chia... chuỗi mới (10 5) (5 19) (7 0) (8 23) Tỷ số nén = 30/8 =2.5 Với loạt ảnh đen trắng chỉ sử dụng 1 bit để biểu diễn 1 điểm ảnh VD : Cho một 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... Khối run coder 1 Kỹ thuật RLE - Nén dữ liệu hàng loạt RLE là phương pháp nén không mất dữ liệu RLE hoạt động bằng cách tìm loạt dữ liệu liền nhau lặp lại trong chuỗi dữ liệu thành một dữ liệu đại diện khác, mục đích là để giảm kích thước dữ liệu gốc 2 RLE trong nén ảnh - RLE là ứng viên tự nhiên trong việc nén dữ liệu đồ họa a, Nguyên tắc - Phát hiện một loạt các điểm ảnh lặp lại liên tiếp VD : Cho... Weinberger, G Seroussi và G Sapiro phát triển Là thuật toán có độ phức tạp thấp, dựa trên bối cảnh và là thuật toán nén ảnh không tổn hao LOCO-I Quá trình dự đoán giá trị của pixel X sẽ dựa trên 3 giá trị pixel lân cận đã biết là A, B và C Giá trị của X (Px) được dự đoán như sau: Px = Giá trị Px được dùng cho khối Adaptive Correction tính toán sai khác so với giá trị X thực của ảnh ban đầu Gọi... đến khi gặp bit 0 trong giá trị đầu vào B6: Ngược lại thì: x = x×2 + bit tiếp theo trong đầu vào s = s×m + x – t Quá trình giải mã Ví dụ: Giải mã 111110011 với tham số m = 7 B1: k = ⌈log2(m)⌉ = ⌈log2(7)⌉ = 3 B2: t = 2k – m = 23 – 7 = 1 B3: s = 5 (111110011) B4: x = 012 = 110 B5: x = 1 ... < t mã hóa r dạng nhị phân sử dụng k-1 bit Kết mã hóa số nguyên s B2: Tính r = s mod m (số dư s chia cho m) B3: Tính t = 2k – m B4: Mã hóa phần thương q sử dụng mã unary (Mã unary... dạng: Quá trình mã hóa Các kí hiệu: - m: tham số mã hóa - q: phần thương s chia cho m - r: phần dư s chia cho m - s: giá trị biến cần mã hóa - k: số bit dùng để mã hóa. .. Golomb Coder JPEG-LS JPEG-LS có trình dự đoán mã hóa Quá trình mã hóa thực khối Golomb Coder, sử dụng mã hóa không tổn hao Rice-Golomb Quá trình dự đoán thực khối Predictor, sử dụng thuật