Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
852,79 KB
Nội dung
Luận văn
Tìm hiểumộtsốphương
pháp nénảnh
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
1
MỞ ĐẦU
Ngày nay, cùng với sự phát triển không ngừng của khoa học và công
nghệ thì máy tính đóng vai trò ngày càng quan trọng và không thể thiếu
trong cuộc sống xã hội loài người. Việc trao đổi thông tin của con người
trong tất cả các ngành, các lĩnh vực của đời sống ngày càng trở nên cần thiết
cùng với sự ra đời và phát triển của mạng Internet.
Xử lý ảnh là một ngành khoa học còn tương đối mới mẻ so với nhiều
ngành khoa học khác như
ng nó đang được tập trung nghiên cứu và phát
triển vì những ứng dụng thực tiễn của nó trong nhiều ngành , lĩnh vực khác
nhau. Trong đó “Nén ảnh” là một phần của xử lý ảnh có ứng dụng to lớn
trong truyền thông và trong lưu trữ, đã có rất nhiều phươngphápnénảnh
được ra đời và không ngừng được cải tiến để ngày càng hoàn thiện đem lại
hiệu quả nén cao và cho chất lượng ảnhtốt nh
ất. Trong đồántốtnghiệp
“TÌM HIỂUMỘTSỐPHƯƠNGPHÁPNÉN ẢNH” được sự hướng dẫn
của PGS .TS . Ngô Quốc Tạo em đã đi sâu nghiên cứu mộtsốphươngpháp
nén ảnh phổ biến như : mã loạt dài RLE, HUFFMAN, LZW, JPEG và
phương phápnénảnh JPEG2000 dựa trên biến đổi Wavelet với những đặc
tính vượt trội so với các chuẩn nén trước đó đem lại hiệu quả nén cao , cho
ảnh nén chất lượng t
ốt và nhiều những ưu điểm khác mà các chuẩn nén
trước đó không thể có.
Nội dung đồántốtnghiệp bao gồm các phần chính như : chương một
giới thiệu tổng quan về xử lý ảnh, mục đích chương này là giới thiệu mộtsố
khái niệm cần biết về ảnhsố và xử lý ảnh số. Chương hai sẽ giới thiệu một
số phươngphápnén
ảnh và cách phân loại các phươngphápnén ảnh.
Chương ba sẽ giới thiệu về chương trình thử nghiệm và kết quả đạt đựơc
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
2
của chương trình. Cuối cùng sẽ là phần kết luận đánh giá kết quả nghiên cứu
thu được và hướng phát triển của đề tài.
CHƯƠNG I:
GIỚI THIỆU TỔNG QUAN VỀ NÉNẢNH
I.1.Giới thiệu về ảnhsố và xử lý ảnh số:
I.1.1.Ảnh số:
Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc tín hiệu số. Trong
biểu diễn số của các ảnh đa mức xám, mộtảnh được biểu diễn dưới dạng
một ma trận hai chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám hay
cường độ của ảnh tại vị trí đó. Mỗi phần tử trong ma trận
được gọi là một
phần tử ảnh, thông thường kí hiệu là PEL (Picture Element) hoặc là điểm
ảnh (Pixel).
- Với ảnh đa cấp xám: Nếu dùng 8 bit (1 byte) để biểu diễn mức xám, thì
số các mức xám có thể biểu diễn được là 2
8
hay 256. Mỗi mức xám được
biểu diễn dưới dạng là mộtsố nguyên nằm trong khoảng từ 0 đến 255, với
mức 0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn cho mức
cường độ sáng nhất.
- Với ảnh màu: Cách biểu diễn cũng tương tự như với ảnh đen trắng, chỉ
khác là các số tại mỗi phần tử c
ủa ma trận biểu diễn cho ba màu riêng rẽ
gồm: đỏ (red), lục (green) và lam (blue). Để biểu diễn cho một điểm ảnh
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
3
màu cần 24 bit, 24 bit này được chia thành ba khoảng 8 bit. Mỗi khoảng này
biểu diễn cho cường độ sáng của một trong các màu chính.
Hình 1.1 Biểu diễn của một mức xám của ảnh số.
I.1.2.Xử lý ảnh số:
Xử lý ảnh là một khoa học mặc dù còn tương đối mới so với nhiều
ngành khoa học khác ,nhất là trên quy mô công nghiệp. Xử lý ảnhsố có rất
nhiều ứng dụng như làm nổi các ảnh trong y học, khôi phục lại ảnhdo tác
động của khí quyển trong thiên văn học, tăng cường độ phân giải của ảnh
truyền hình mà không cần thay đổi cấu trúc bên trong của hệ thống chuyển
tả
i, nénảnh trong khi truyền đi xa hoặc lưu trữ.
Các giai đoạn chính trong xử lý ảnh có thể được mô tả trong hình sau:
Độ sáng trung bình trong mỗi hình
chữ nhật = giá trị một điểm ảnh.
Pixel
or PEL
CAMERA
SENSOR
Thu nhận
ảnh
Số
Phân
t
í
ch
ả
nh
Hệ quyết
định
Nhận
d
ạn
g
Lưu
t
r
ữ
Lưu
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
4
I.2.Mục đích và sự cần thiết của “ nénảnh ”:
Nénảnh là một kỹ thuật mã hoá các ảnhsố hoá nhằm giảm số lượng
các bit dữ liệu cần thiết để biểu diễn ảnh. Mục đích là giảm đi những chi phí
trong việc lưu trữ ảnh và chi phí thời gian để truyền ảnh đi xa trong truyền
thông nhưng vẫn đảm bảo được chất lượng của ảnh. 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.Vì thế 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ốc nhưng vẫn thỏa mãn chất lượng yêu
cầu. Dưới đây là ví dụ về lưu trữ ảnhsố và truyền đi xa với đường truyền
9600 baud (9600 bps) để thấy rõ sự cần thiết của việc nén ảnh:
• Ảnh đa cấp xám hay ảnh 256 màu có kích thước 800 x 600, 8 bit/điểm
ảnh, cần 3.840.000 bit lưu trữ và mất 6.67 phút để truyền.
• Ảnh màu RGB (24 bit/điểm ảnh ) cùng độ phân giải như vậy cần hơn
10 triệu bit để lưu trữ và 20 phút để truyền.
• Một phim âm bản có kích thước 24 × 36 mm (35 mm) chia bằng các
khoảng cách nhau 12 àm, vào khoảng 3000 × 2000 điểm, 8 bit / pixel, yêu
cầu 48 triệu bit cho lưu giữ ảnh và 83 phút để truyền.
Qua ví dụ trên ta thấy nhiều vấn đề trong việc lưu trữ và truyền tải ảnh
số hoá. Nénảnh có nhiều ứng dụng trong thực tế như : truyền các văn bản
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
5
đồ hoạ qua đường điện thoại (Fax), nénảnh trong y tế và truyền hình
cáp….Chính sự ứng dụng trong nhiều lĩnh vực của nénảnh cùng với sự tiến
bộ trong lĩnh vực vi điện tử dẫn đến sự ra đời các chuẩn nén ảnh.
Nénảnh đạt được bằng cách loại bỏ các phần dư thừa trong ảnh đã
được số hoá. Dư thừ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:
• Dư thừa thông tin về không gian : trong một bức ảnh luôn tồn tại sự
tương quan giữa các điểm ảnh cạnh nhau.
• Dư thừa thông tin về cấp xám :là dư thừa dựa vào sự tương quan giữa
các màu sắc cạnh nhau.
• Dư thừa thông tin về thời gian : Trong một chuỗi ảnh video, tồn tại sự
tương quan giữa các điểm ảnh của các frame khác nhau .
I.3.Các khái niệm cơ bản:
• Pixel (picture element) : phần tử ảnhẢnh trong thực tế là mộtảnh liên tục về không gian và về giá trị độ
sáng. Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh.
Như vậy mộtảnh là một tập hợp các pixel. Mỗi pixel là gồm một cặp toạ độ
x, y và màu. Cặp toạ độ x,y tạo nênđộ phân giải (resolution). Màn hình máy
tính có nhiều loại với độ
phân giải khác nhau: 320 x 200, 640x350,
800x600, 1024x768,…
• Mức xám (Graylevel)
Mức xám là kết quả sự mã hoá tương ứng của mỗi cường độ sáng của
mỗi điểm ảnh với một giá trị số – kết quả của quá trình lượng hoá .
• Dữ liệu
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
6
Trong một bài toán, dữ liệu bao gồm một tập các phần tử cơ sở mà ta gọi
là dữ liệu nguyên tử. Nó có thể là một chữ số, một ký tự, nhưng cũng có
thể là một con số, một từ, điều đó phụ thuộc vào từng bài toán.
• Nén dữ liệu
Nén dữ liệu là quả trình giảm dung lượng thông tin “dư thừa” trong dữ
liệu gốc và làm cho lượng thông tin thu được sau nén thường nhỏ hơn dữ
liệu gốc rất nhiều. Do vậy, tiết kiệm được bộ nhớ và giảm thời gian trao đổi
dữ liệu trên mạng thông tin mà lại cho phép chúng ta khôi phục lại dữ liệu
ban đầu.
• Tỷ lệ nén
Tỷ lệ nén là một trong các đặc trưng quan trọng của mọi phươngpháp
nén. Tỷ lệ nén được định nghĩa như sau:
Tỷ lệ nén = 1/r*%
với r là tỷ sốnén được định nghĩa:
r = kích thước dữ liệu gốc / kích thước dữ liệu nén.
Như vậy hiệu suất nén = (1- tỷ lệ nén)*100%.
Đối vơi ảnh tĩnh, kích thước
chính là số bit biểu diễn toàn bộ bức ảnh.
Đối với ảnh video, kích thước chính là số bit để biểu diễn một khung
hình video (video frame).
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
7
CHƯƠNG II:
CÁC PHƯƠNGPHÁPNÉNẢNH
II.1.Cách phân loại các phươngphápnén ảnh:
II.1.1.Cách phân loại dựa vào nguyên lý nén:
Nén bảo toàn thông tin (losses compression): bao gồm các phươngpháp
nén mà sau khi giải nén sẽ thu đựơc chính xác dữ liệu gốc.Tuy nhiên nén
bảo toàn thông tin chỉ đạt hiệu quả nhỏ so với phươngphápnén không bảo
toàn thông tin.
Nén không bảo toàn thông tin (lossy compression): bao gồm các phương
pháp nén sau khi giải nén sẽ không thu được dữ liệu như bản gốc. Các
phương pháp này được gọi là “tâm lý thị giác” đó là lợi dụng tính chất của
mắt người chấp nhận một số
vặn xoắn trong ảnh khi khôi phục lại.Phương
pháp này luôn đem lại hiệu quả cao do loại bỏ đi những thông tin dư thừa
không cần thiết.
II.1.2.Cách phân loại dựa vào cách thức thực hiện nén:
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
8
Phươngpháp không gian (Spatial Data Compression ): các phươngpháp
này thực hiện nén bằng cách tác động trực tiếp lên việc lấy mẫu của ảnh
trong miền không gian.
Phươngpháp sử dụng biến đổi (Transform Coding): gồm các phương
pháp tác động lên sự biến đổi của ảnh gốc chứ không tác động trực tiếp.
II.1.3.Cách phân loại dựa vào lý thuyết mã hoá:
Các phươngphápnén thế hệ thứ nhất: gồm các phươngpháp có mức độ
tính toán đơn giản như lấy mẫu , gán từ mã,….
Các phươngphápnén thế hệ thứ hai: gồm các phươngpháp dựa vào
mức độ bão hoà của tỷ lệ nén bằng cách sử dụng các phép toán tổ hợp đầu
ra một cách hợp lý hoặc sử dụng biểu diễn ảnh như : phươngpháp kim tự
tháp Laplace, phươngpháp d
ựa vào vùng gia tăng, phươngpháp tách hợp.
II.1.4.Quá trình nén và giải nén :
Gồm 2 công đoạn :
Nén : dữ liệu gốc qua bộ mã hoá dữ liệu , bộ mã hoá này thực hiện nén
dữ liệu đến một mức thích hợp cho việc lưu trữ và truyền dẫn thông tin. Quá
trình này sẽ thực hiện việc loại bỏ hay cắt bớt những dư thừa của ảnh để thu
được thông tin cần thiết nhưng vẫn đảm bảo được chất lượ
ng ảnh.
Giải nén : dữ liệu nén đi qua bộ giải mã dữ liệu, bộ giải mã sẽ thực
hiện giải nén để thu được dữ liệu gốc ban đầu.Việc giải nén này thường phải
dựa vào các thông tin đi kém theo dữ liệu nén ,tuỳ thuộc vào kiểu nén hay
phương phápnén mà dữ liệu giải nén được có hoàn toàn giống với dữ liệu
gốc ban đầu hay không.
Đồ ántốtnghiệpTìmhiểumộtsốphươngphápnénảnh
Sinh viên thực hiện : Tạ Minh Thắng CT 702
Trang :
9
Tóm lại quá trình nén và giải nén dữ liệu có thể mô tả một cách tóm
tắt theo sơđồ dưới đây:
Hình 2.1 : Quá trình nén và giải nén
II.2.Phương pháp mã hoá độ dài loạt RLE:
Mã hoá theo độ dài loạt RLE (Run Length Encoding) là mộtphươ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ị.
II.2.1.Nguyên tắc :
Nguyên tắc của phươngpháp này là phát hiện một loạt các điểm ảnh lặp
lạ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
Quá trình nén
Quá trình giải nén
Dữ liệu
ố
Dữ liệu
[...]... 063524 9 Sinh viên thực hiện : Tạ Minh Thắng CT 702 20 1 8 Trang : ĐồántốtnghiệpTìmhiểumộtsốphươngphápnénảnh Hình 2.3 : Quá trình tạo cây nhị phân Ta có cây mã Huffman tương ứng như sau : 0 1 Sinh viên thực hiện : Tạ Minh Thắng CT 702 21 0 Trang : Đồántốtnghiệp Tìm hiểumộtsốphươngphápnénảnh Bảng từ mã gán cho các kí tự số như sau: Kí tự Mã 0 1 6 001 3 011 5 0001 2 0100 4 00000 1 01010.. .Đồ ántốtnghiệp Tìm hiểumộtsốphươngphápnénảnh Đối với ảnh đen trắng chỉ sử dụng 1 bit để biểu diễn 1 điểm ảnh thì phươngphá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... CT 702 25 Trang : Đồántốtnghiệp Tìm hiểumộtsốphươngphápnénảnh return true; } II.4 .Phương pháp mã hoá LZW: Khái niệm nén từ điển được Jocob Lempe và Abraham Ziv đưa ra lần đầu tiên năm 1977 sau đó phát triển thành một họ giải thuật nén từ điển LZ Năm 1984 Welch đã cải tiến giải thuật LZ thành giải thuật mới hiệu quả hơn và được đặt tên là LZW ( Lempe – Ziv - Welch) Phươngpháp này xây dựng... từ điển Sinh viên thực hiện : Tạ Minh Thắng CT 702 27 Trang : Đồántốtnghiệp • Tìmhiểumộtsốphươngphápnénảnh Từ mã thứ 257 chứa mã kết thúc thông tin (EOI - End Of Information) Thông thường một file ảnh GIF có thể chứa nhiều mảnh ảnh, mỗi mảnh ảnh này sẽ được mã hoá riêng Chương trình giải mã sẽ lặp đi lặp lại thao tác giải mã từng ảnh cho đến khi gặp mã kết thúc thông tin thì dừng lại • Các... 31 Trang : Đồántốtnghiệp Tìm hiểumộtsốphươngphápnénảnh • Giải nén dữ liệu bằng LZW: Giải thuật giải nén gần như ngược với giải thuật nén Với giải thuật nén, một từ mã ứng với một chuỗi sẽ được ghi ra tệp khi chuỗi ghép bởi chuỗi trên với ký tự vừa đọc chưa có mặt trong từ điển Người ta cũng cập nhật ngay vào từ điển từ mã ứng với chuỗi tạo bởi chuỗi cũ với ký tự vừa đọc Ký tự này đồng thời... tương quan này để có được hiệu quả nén cao , bằng việc áp dụng e(i) = d(i) –d(i-1) sẽ thu được : 5 2 2 2 2 5 10 10 10 10 -3 5 5 5 5 5 5 5 5 5 Áp dụng phươngphápnén loạt dài ta dễ dàng thu được : (5 1)( 2 4)(5 1)(10 5)(-3 1)(5 9) II.2.2.Thuật toán: Thuật toán như sau : Sinh viên thực hiện : Tạ Minh Thắng CT 702 11 Trang : Đồántốtnghiệp Tìm hiểumộtsốphươngphápnénảnh • Tiến hành duyệt trên từng... thực hiện : Tạ Minh Thắng CT 702 16 Trang : ĐồántốtnghiệpTìmhiểumộtsốphươngphápnénảnh } if ((SecondByte % 2) == 1) if (!fil.get(ch)) return FALSE; } } else { for (BYTE i = 0; i < FirstByte; i++) pDest[paddedwidth * y + x++] = SecondByte; } } return FALSE; } II.3 .Phương pháp mã hoá Huffman: II.3.1 Nguyên tắc: Phươngpháp mã hoá Huffman là phươngpháp dựa vào mô hình thống kê Người ta tính... vào từ điển giải nén • Hàm AddToDictionary() : Hàm làm chức năng cập nhật mẫu mới vào phần tử tiếp theo trong từ điển Nếu từ điển đã đầy nó sẽ gửi ra mã xoá CC và gọi đến hàm InitDictionary() để khởi tạo lại từ điển II.4.3 .Một số thủ tục chương trình : Sinh viên thực hiện : Tạ Minh Thắng CT 702 33 Trang : ĐồántốtnghiệpTìmhiểumộtsốphươngphápnénảnh • Chương trình nénphươngpháp LZW : BOOL... lại Người ta cũng phải dựa vào bảng mã tạo ra trong giai đoạn nén (bảng này được lưu trữ trong cấu trúc đầu của tệp nén cùng với dữ liệu nén) Ví dụ: Một tệp bất kỳ có tần suất xuất hiện của các kí tự số như bảng sau Ký tự Tần suất 0 1532 Sinh viên thực hiện : Tạ Minh Thắng CT 702 18 Trang : ĐồántốtnghiệpTìmhiểumộtsốphươngphápnénảnh 1 152 2 323 3 412 4 226 5 385 6 602 7 92 8 112 9 87 Bảng... OHE 260 LL 263 HEL 262 OH 264 LLO 259 EL 265 OHE 76 L 266 CodeWord String ELL EOI Sinh viên thực hiện : Tạ Minh Thắng CT 702 29 Trang : ĐồántốtnghiệpTìmhiểumộtsốphươngphápnénảnh Chuỗi thu được sau giải nén :”HELLOHELLOHELL” II.4.2 Thuật toán: • Thuật toán nén bằng LZW: InitDictionary() Output(Clear_Code) OldStr = NULL WHILE ( Input ) { NewChar = GetNextChar() NewStr = OldStr + NewChar IF .
Luận văn
Tìm hiểu một số phương
pháp nén ảnh
Đồ án tốt nghiệp Tìm hiểu một số phương pháp nén ảnh
Sinh viên thực hiện : Tạ Minh. độ sáng của
mỗi điểm ảnh với một giá trị số – kết quả của quá trình lượng hoá .
• Dữ liệu
Đồ án tốt nghiệp Tìm hiểu một số phương pháp nén ảnh
Sinh