0
Tải bản đầy đủ (.pdf) (86 trang)

Khoảng cách Housdorff và không gian metric Housdorff

Một phần của tài liệu NGHIÊN CỨU VỀ PHƯƠNG PHÁP TRONG PHÂN MẢNH FRACTAL IMAGE CODING ÁP DỤNG CHO KỸ THUẬT NÉN ẢNH (Trang 31 -31 )

1. Nội dung thiết kế tốt nghiệ p:

2.1.2 Khoảng cách Housdorff và không gian metric Housdorff

2 tập A, B ∈ X khoảng cách giữa hai tập A, B là: h(A, B).

Định lý 2: Khoảng cách Housdorff là một metric trong không gian K các tập con compact khác rỗng của không gian ( X,d ).

2.1.3 Lƣợc đồ hàm lặp

Một đặc tính quan trong của các Fractal là tính tự đồng dạng, tức là cấu tạo từ những bộ phận đều lặp lại y hệt cấu trúc toàn thể. Dựa vào qui luật cấu thành đó

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 28

ta có xây dựng Fractal theo một thủ tục lặp, có thể coi đó như là mã di truyền của Fractal vì nó chứa tất cả thông tin cơ bản quyết định cấu trúc Fractal.

Xét một số hữu hạn các ánh liên tục Si : X→X, i=1,2,…,m. Trong đó X là một không gian metric. Ta có thể xác định một ánh xạ mới từ K → K như sau:

S : K → K S(A) ⟼ .

Thật vậy: vì Si liên tục nên ta có Si (A) ∈ K ⇒ . ∈ K.

Một tập F: X gọi là bất biến đối với S nếu: F = S(F) hay F = . Một ánh xạ P: D → D được gọi là phép co nếu:

0 ≤ c ≤ 1| d(P(x), P(y)) ≤ cd(x, y) x,y D ( 2-2 ).

c: gọi là hệ số co của P.

Một ánh xạ P: D→D được gọi là phép đồng dạng nếu:

0 ≤ c ≤ 1| d(P(x), P(y)) = cd(x, y) x,y D. ( 2-3 )

c: gọi là hệ số đồng dạng của P.

Phép đồng dạng là trường hợp riêng của phép co. Một họ các phép co thường được gọi là một lược đồ hàm lặp (viết tắt là IFS – Iterated Function System).

Định lý 3: Si : X→X là ánh xạ co với hệ số co là ci , i=1,2,…,m. X là không gian metric. d( Si (x), Si (y)) ≤ ci d(x, y) ∀ x, y∈ X.

Thì ánh xạ S : K → K S(A) ⟼ .

Là ánh xạ co theo tỉ lệ c = max{ci , i=1,2,…,m}.

h(S(A), S(B)) ≤ ch(A, B) A, B K. ( 2-4 )

Trong không gian metric đủ (X, d), một họ ánh xạ co Si: X → X

Ánh xạ S: K→ K (K là không gian các tập con compact khác rống cua X) Trong đó: S(A) = . , với A K.

Tồn tại duy nhất F∈ K sao cho: F=S(F). (F là điểm bất động của S) Nếu E K thoả mãn: Si(E) E, i=1,2,…,m. thì:

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 29

h(Sk(E), F) → 0 khi k →+∞

Trong đó: S0(E) = E, Sk(E) = S(Sk-1(E)) với k = 1,2,…,m ( 2-5 )

Việc giải bài toán ngược (inverse problem) là quá trình tìm lại hệ hàm lặp mà điểm bất động của nó xấp xỉ với bức ảnh đích cần mã hóa trong một không gian metric thích hợp (chẳng hạn như không gian (K, h)). Vậy mọi bức ảnh đều có thể xấp xỉ được bởi một hệ hàm lặp hay không? Hay nói cách khác " Cho một tập compact E ≠ ∅ và số ε > 0, có tìm được một hệ hàm lặp f sao cho d (E, f(E) ) < ε ? ". Ta có định lý sau đây:

Định lý 4: Với mỗi tập con compact không rỗng E của Rn và với mỗi số ε >0 tuỳ ý đều có những phép đồng dạng S1, S2,…, Sm mà tập bất biến F của nó thoả mãn:

h(E, F) < ε. ( 2-6 ) (h là Hausforff metric).

Từ định lý trên ta có mọi tập compact E ⊂ Rn đều có thể xấp xỉ sát tuỳ ý đến tập bất biến F của hệ hàm lặp f và định lý là cơ sở quan trọng để xây dựng thuật toán mã hóa và nén ảnh Fractal. Có thể coi f(E) = là hợp của các bản sao thu nhỏ của E được gọi là "collage" của E và d(E, f(E)) gọi là "collage distance". Với "collage distance" càng nhỏ thì f(E) càng gần E (trong trường hợp E là tập bất biến của f thì "collage distance" bằng 0) từ đó chúng ta có thể xây dựng tập E từ chính những bản sao thu nhỏ của nó.

2.2 Nén ảnh mức xám theo phƣơng pháp phân mảnh

2.2.1 Định nghĩa ảnh xám

Ảnh xám hay gọi là ảnh đen trắng chỉ bao gồm 2 màu: màu đen và màu trắng. Phân mức đen trắng đó thành L mức.

- Nếu sử dụng số bít B = 2bit để mã hóa mức đen trắng( hay mức xám) thì chỉ có 2 mức 0 và 1, với mức 1 ứng với màu sáng còn mức 0 ứng với màu tối. - L ≥ 3 ta có ảnh đa mức xám đặc biệt nếu sử dụng số bít B = 8 bit thì L =

= 256 mức. Như vậy số các mức xám có thể biểu diễn được là 256. Mỗi mức xám được biểu diễn dưới dạng là một số nguyên nằm trong khoảng từ 0 đến

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 30

255, với mức 0 biểu diễn cho cường độ tối nhất và 255 biểu diễn cho mức cường độ sáng nhất.

Đồ án sử dụng ảnh đa mức xám 8 bit như dưới hình 2-1.

Hình 2-1 Ảnh xám Lenna 64x64

Với:

Bảng 2-1 Thông số ảnh Lenna 64x64

Ảnh xám Số bít trên 1 pixel Giá trị

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 31

2.2.2 Mã hóa theo phƣơng pháp phân chia cây tứ phân

2.2.2.1 Quá trình mã hóa theo phƣơng pháp phân chia cây tứ phân

Hình 2-2 Một phân chia cây tứ phân là một đại diện của một ảnh

Trong nén ảnh theo phương pháp phân mảnh, một ảnh được chia thành một tập R gồm các range block vuông kích thước n x n không chồng lấn lên nhau. Một tập D khác bao gồm các domain block vuông có kích thước 2n x 2n.

Đối với mỗi Ri ∈ R, phương pháp nén này tìm trong toàn bộ tập D để tìm ra một Di ∈ D sao cho nó giống range block Ri nhất. Từ đó nó cũng tìm ra các hệ số si và oi cho mỗi phép biến đổi Wi của ánh xạ từ Di sang Ri:

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 32

0

0

i

d

i

b

i

c

i

a

z

y

x

i

w

( 2-7 ) Trong đó: si biểu thị độ tương phản

oi biểu thị độ sáng của phép biến đổi

z là mức xám của một pixel tại vị trí (x,y) [3].

Đối với mỗi Di ∈ D , si và oi được sử dụng để tính toán rms khác nhau, từ đó chọn được Di với rms nhỏ nhất thỏa mãn yêu cầu đưa ra [3]. Tập hợp các phép biến đổi Wi được gọi là W đây là biến đổi dùng để mã hóa ảnh. Ảnh f thỏa mãn

 f

W

f

được gọi là điểm bất động của phép biến đổi W. Nếu phép biến đổi W là

phép biến đổi co thì f

là duy nhất và là một ảnh xấp xỉ ảnh ban đầu, do đó quá trình giải mã dựa trên cơ sở này.

Khi tập R lớn thì số lượng phép so sánh cũng rất lớn. Do đó, cách phân chia ảnh sao cho giảm số lượng phép so sánh nhưng vẫn giữ được chất lượng ảnh sau khi khôi phục đóng vai trò rất quan trọng trong nén ảnh theo phương pháp Fractal. Có rất nhiều cách phân chia ảnh rất tốt. Trong khuôn khổ đồ án này, em sử dụng phương pháp lược đồ cây tứ phân( quadtree partition). Trong phương pháp này thì một block vuông lớn hơn kích thước nhỏ nhất trong ảnh sẽ được chia thành 4 block vuông kích thước bằng nhau( không chồng lấn lên nhau) khi entropy của nó lớn hơn mức entropy cho phép hoặc không có domain block nào thỏa mãn mức lỗi rms [3].

Sau khi quét tất cả các range block, phương pháp này không lưu trữ toàn bộ các hệ số trong (2.7). Các hệ số si và oi được lượng tử hóa và lưu trữ với số bít nhất định. Trong đồ án này, em sử dụng 4 bít cho si và 7 bít cho oi. Thay vì lưu trữ các hệ số khác, em lưu trữ vị trí của Ri, Di và kích thước của Di cũng như hướng liên quan tới thông tin quay hoặc trượt [3].

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 33

2.2.2.2 Sơ đồ thực hiện quá trình mã hóa

Hình 2-3 Thuật toán mã hóa ảnh xám theo phương pháp phân mảnh

START

ec, GT NN, GT LN Quadt ree dept h và các t hông số khác Mở và đọc input file Tính domain sums và đưa vào tất cả thông tin về domains vào trong

list A

Phân loại domains

Đưa vào trong list B khác

Đóng gói dữ liệu vào trong output

file Phân chia range thành 4 phần bằng nhau và mỗi phần coi như 1 range mới

Phân chia Quadtree ảnh thành các ranges

Phân loại từng range một Chạy hết list B So sánh range với tất cả các domains của cùng lớp để tìm lỗi rms nhỏ nhất rms < ec or size Ri <= t min si, oi và symmetry operation Range cuối Mã hóa fractal, phân chia quadtree và những biến khác STOP Yes Yes No No

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 34

- Các tham số ban đầu:

o Mức ngưỡng rms:

o Độ sâu lớn nhất của phương pháp chia cây tứ phân

o Độ sâu nhỏ nhất của phương pháp chia cây tứ phân.

o Loại domain pool được chọn.

o Giá trị s lớn nhất được cho phép:

o Số lượng classes được so sánh với 1 range. - Quá trình mã hóa một ảnh bao gồm dữ liệu như sau:

o Phân chia cây tứ phân cuối cùng của ảnh

o Giá trị sioi đối với mỗi range.

o Đối với mỗi range một domain được ánh xạ tới nó.

o Phần tử đối xứng được dùng để ánh xạ những pixel domain với pixel range.

- Mô tả sơ đồ thực hiện quá trình mã hóa như trên hình 2-3:

o Gán giá trị cho các tham số nêu trên

o Đọc ảnh đầu vào

o Phân chia ảnh thành các domain và tính toán domain sum sau đó đưa tất cả các thông tin về domain vào trong list A.

o Phân loại domain, đưa thông tin vào trong list B và đóng gói dữ liệu vào trong output file

o Phân chia cây tứ phân ảnh thành các ranges

o Phân loại các range, đối với mỗi range so sánh với tất cả các domain của cùng lớp để tìm lỗi rms nhỏ nhất bằng cách chạy hết list B.

o Kiểm tra điều kiện: rms < hoặc min Ri tmin :

 Sai: tiếp tục phân chia range thành 4 phần tư bằng nhau và mỗi phần coi như 1 range mới và quay lại bước trên

 Đúng: tính toán các giá trị sioi cũng như phần tử đối xứng.

o Chạy cho đến range cuối cùng:

 Chưa đúng: quay lại so sánh với tất cả các domains của cùng lớp để tìm rms nhỏ nhất.

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 35

 Đúng: lấy các dữ liệu cần thiết như trên.

o Dừng quá trình mã hóa.

2.2.3 Giải mã theo phƣơng pháp phân chia cây tứ phân

2.2.3.1 Quá trình giải mã theo phƣơng pháp phân chia cây tứ phân

Ảnh khôi phục được tạo ra bởi việc lặp phép biến đổi

W

từ một ảnh ban đầu bất kì. Đối với mỗi cặp ( Ri , Di )lấy dữ liệu từ file nén, domain Di được lấy mẫu con bằng cách lấy trung bình mỗi sub-block vuông 2 x 2 không chồng lấn lên nhau. Sau đó, giá trị mỗi pixel trong domain lấy mẫu con nhân với si rồi cộng thêm oi và được đặt tại vị trí trong range tương ứng Ri được xác định bởi hướng. Quá trình này được lặp lại cho tới khi ảnh khôi phục là tĩnh( điểm bất động f là xấp xỉ ).

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 36

2.2.3.2 Sơ đồ thực hiện quá trình giải mã

Hình 2-4 Thuật toán giải mã ảnh xám theo phương pháp phân mảnh

START Đọc thông tin header( chính là output file) Áp dụng phép biến đổi 10 lần Smoothing STOP No Postprocessing Ảnh được giải Yes Lặp quá trình giải

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 37

Mô tả sơ đồ thực hiện quá trình giải mã như trên hình 2-4: - Load output file( kết quả của quá trình mã hóa ảnh). - Tạo các bộ nhớ đệm cho hình ảnh range và domain. - Lặp quá trình giải mã như đã nêu ở trên 10 lần.

- Thực hiện quá trình postprocessing: sửa đổi chỉ các pixel ở phần biên của các range blocks, sử dụng trung bình có trọng lượng của các giá trị. Nếu giá trị của các pixel trên kích thước của một biên là ab, những giá trị này được thay thế bởi

a + * b với . Các range blocks ở mức độ sâu lớn nhất trong cây tứ phân được lấy trung bình còn ở các mức còn lại thì . Đó chính là quá trình smoothing.

- Quá trình giải mã kết thúc, thu được ảnh đã được giải mã.

2.2.4 Phƣơng pháp nâng cao tốc độ trong mã hóa ảnh theo phƣơng

pháp phân mảnh

Do số lượng các phép so sánh rất lớn nên thời gian mã hóa rất lâu. Để giảm thời gian này, một số phương pháp đã được đưa ra trong thời gian gần đây. Những phương pháp này dựa trên cách tiếp cận đó là phân loại hoặc đặc tính vector hoặc cả hai [3][4][5][6]. Do 2 cách tiếp cận sau yêu cầu bộ nhớ lớn để chạy nên đồ án này chỉ thực hiện các phương pháp dựa trên cách tiếp cận đầu tiên gồm của Fisher và Hurtgen. Trong các phương pháp này, đối với mỗi range, chỉ tìm domain phù hợp nhất trong cùng loại. Vì vậy mà số lượng các phép so sánh giảm đáng kể.

Theo Fisher, mỗi block vuông được chia thành 4 phần. Với mỗi phần tư, ta tính toán các giá trị pixel trung bình Ai và phương sai Vi với i14. Có 3 xu hướng có thể xảy ra phụ thuộc vào giá trị pixel trung bình. Cách này chia tập các domain block thành 3 nhóm lớn, đối với mỗi nhóm có 24 cách sắp xếp khả thi khác nhau của phương sai và được định nghĩa là 24 nhóm con [3][4].

Nhóm lớn 1: A1A2A3A4 Nhóm lớn 2: A1A2A4A3

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 38

Nhóm lớn 3:

A1A4A2A3

Theo Hurtgen, mỗi block vuông được chia thành 4 phần không chồng lấn và rồi ta cũng tính toán các giá trị pixel trung bình và phương sai của nó. Mỗi phần tư được đánh dấu với 1 bít “1” nếu giá trị trung bình của pixel lớn hơn trung bình của tất cả và “0” nếu ngược lại [4]. Do đó ta có 15 nhóm lớn từ “0000” đến “1110” ( loại bởi vì ko thể xảy ra “1111”). Và tương tự mỗi nhóm lớn được phân chia tiếp thành 24 nhóm nhỏ. Cuối cùng, ta có 360 nhóm tất cả.

2.3 Nén ảnh màu theo phƣơng pháp phân mảnh

Phần này trình bày về ảnh màu được hình thành như thế nào và sử dụng nén ảnh theo phương pháp phân mảnh đối với ảnh màu như thế nào.

Qua nhiều công trình nghiên cứu thực nghiệm về cảm nhận màu sắc của hệ thống thị giác, nhà bác học người Đức H. Grassmann đã đưa ra bốn định luật về trộn màu:

- Định luật 1: Bất kỳ một màu sắc nào cũng có thể được tạo bằng cách trộn 3 màu cơ bản độc lập tuyến tính với nhau.

- Định luật 2: Sự biến đổi liên tục của các hệ số công suất của các màu cơ bản sẽ dẫn đến sự biến đổi liên tục của màu sắc tổng hợp, nó chuyển từ màu này sang màu khác.

- Định luật 3: Màu sắc tổng hợp của nhiều nguồn sáng chỉ xác định bởi các thành phần màu sắc của từng nguồn sáng chứ không phụ thuộc vào thành phần phổ của chúng.

- Định luật 4: Độ chói của màu tổng hợp bằng tổng số độ chói của các thành phần màu.

Dựa trên các định luật trên các không gian màu được sinh ra. Sau đây là một số không gian màu được dùng để biểu diễn ảnh màu sử dụng trong quá trình nén ảnh theo phương pháp phân mảnh.

Đặng Thị Xuân – ĐTVT_KSTN_K52 Trang 39

2.3.1 RGB ( Red, Green, Blue)

Mắt người có các tế bào cảm quang có hình nón nên còn được gọi là tế bào hình nón, các tế bào này thông thường có phản ứng cực đại với ánh sáng vàng - xanh lá cây (tế bào hình nón L), xanh lá cây (tế bào hình nón M) và xanh lam (tế bào hình nón S) tương ứng với các bước sóng khoảng 564 nm, 534 nm và 420 nm. Mặc dù biên độ cực đại của các phản xạ của các tế bào cảm quang không diễn ra ở các bước sóng của màu "đỏ", "xanh lá cây" và "xanh lam", nhưng ba màu này được chọn để mô tả như là các màu gốc vì chúng có thể sử dụng một cách tương đối độc lập để kích thích ba loại tế bào cảm quang. Mô hình màu RGB là mô hình trong đó ánh sáng đỏ, xanh lá cây và xanh lam được tổ hợp với nhau theo nhiều phương thức khác nhau để tạo thành các màu khác trong ảnh cũng như video số. Thường thi 8 bít

Một phần của tài liệu NGHIÊN CỨU VỀ PHƯƠNG PHÁP TRONG PHÂN MẢNH FRACTAL IMAGE CODING ÁP DỤNG CHO KỸ THUẬT NÉN ẢNH (Trang 31 -31 )

×