Thuật toán DCT3

Một phần của tài liệu Hệ thống thủy vân số và ứng dụng (Trang 42)

L ỜI CAM ĐOAN

2.3.5.Thuật toán DCT3

a/ Ý tưởng

Trong thuật toán DCT 3 này tác giả Benham [18 ] lựa chọn vị trí nhúng tin có sự loại bỏ các khối không phù hợp. Các khối bị loại bỏ là các khối nhẵn hoặc khối sắc

không cao. Các khối đƣợc chọn nhúng thủy vân là các khối sắc lớn.

Khối nhẵn: chúng ta có thể phát hiện ra các khối này bằng cách đếm số lƣợng

hệ số cao tần có giá trị là “0”. Nếu tất cả các hệ số này hay chỉ cần tồn tại ít nhất 1 hệ số ở nửa trên của đƣờng zig-zắc bằng “0” thì khối đó đƣợc xem là khối nhẵn.

Khối sắc: đƣợc phát hiện bằng cách tìm giá trị tuyệt đối lớn nhất của hệ số AC

tần số thấp. Ngƣỡng đƣợc sử dụng là 100.

Thuật toán sử dụng 3 hệ số để nhúng 1 bit.

b/ Quá trình nhúng thủy vân

Để nhúng bit si vào trong khối, 3 hệ số chọn ngẫu nhiên cb(ji,1 ,ki,1), cb(ji,2,ki,2), cb(ji,3,ki,3) phải thỏa mãn ràng buộc theo từng cặp, giả sử :

cb(ji,1 ,ki,1) - cb(ji,2,ki,2)> nếu si=0

cb(ji,1 ,ki,1) - cb(ji,2,ki,2)< nếu si=1

cb(ji,2 ,ki,2) - cb(ji,3,ki,3)> nếu si=0

cb(ji,2 ,ki,2) - cb(ji,3,ki,3)< nếu si=1

cb(ji,1 ,ki,1) - cb(ji,3,ki,3)< nếu si=1

Nếu thay đổi một trong 3 hệ số là quá lớn thì đơn giản là bỏ qua khối đó và bit đó sẽ đƣợc nhúng vào khối tiếp theo. H là hệ số có giá trị cao nhất trong 3 hệ số, M là hệ số ở giữa, L là hệ số thấp nhất.

Bảng 2.3. Minh họa thuật toán DCT3

Bit thủy vân cb(ji,1 ,ki,1) cb(ji,2 ,ki,2) cb(ji,3,ki,3)

1 H M L 1 M H L 1 H H L 0 M L H 0 L M H 0 L L M Bỏ qua H L M Bỏ qua L H M Bỏ qua M M M

c/ Quá trình tách thủy vân

Lặp lại các vị trí nhúng tƣơng ứng và các hệ số đã chọn. Lấy thủy vân theo điều kiện:

si =0 nếucb(ji,1 ,ki,1) > cb(ji,2,ki,2)

si =1 nếucb(ji,1 ,ki,1) < cb(ji,2,ki,2)

d/ Nhận xét

Độ trung thực của ảnh thủy vân bằng thuật toán này cao do thuật toán sử dụng 3 hệ số thỏa mãn ràng buộc để nhúng 1 bit nên khó phát hiện sự thay đổi của ảnh.

2.4. Các thuật toán dựa trên DWT

Các thuật toán này sử dụng phƣơng pháp biến đổi sóng nhỏ rời rạc DWT (Descrete Wavelet Transform) để chuyển miền không gian ảnh sang miền đa phân giải. Tính đa phân giải của sóng nhỏ hữu ích trong việc phân phối thông tin vào đối tƣợng bao phủ trong khi vẫn đảm bảo tính chất bền vững và chất lƣợng hiển thị. DWT đƣợc dùng nhƣ một tiêu chuẩn trong nén JPEG200. Trong nhiều ứng dụng, DWT tỏ ra ƣu thế hơn so với DCT do đặc tính đa phân giải.

2.4.1. Phép biến đổi sóng nhỏ DWT

Biến đổi tín hiệu chỉ là dạng biểu diễn khác của tín hiệu. Nó không làm thay đổi nội dung thông tin của tín hiệu. Thông thƣờng, mỗi sóng là một hàm dao động của thời gian hoặc không gian và tuần hoàn. Sóng nhỏ là sóng cục bộ, chúng có năng lƣợng tập trung ở thời gian hoặc không gian và thích hợp để phân tích tín hiệu tạm thời. DWT sử dụng sóng nhỏ của năng lƣợng hữu hạn.

Hình 2.8. Sự khác nhau giữa sóng(a) và sóng nhỏ(b)

Trong phân tích sóng nhỏ, tín hiệu đƣợc phân tích nhiều lần với hàm sóng nhỏ và sự biến đổi đƣợc tính toán với mỗi phần đƣợc tạo ra. Với tần số cao, biến đổi sóng nhỏ cho độ phân dải rất tốt về thời gian và độ phân dải không tốt về tần số. Với tần số thấp, biến đổi sóng nhỏ cho độ phân dải tốt về tần số và độ phân dải không tốt về thời gian. (adsbygoogle = window.adsbygoogle || []).push({});

DWT là chủ đề rất lớn. Ở đây chỉ tập trung vào những vấn đề của DWT mà có liên quan đến vấn đề ta đang quan tâm là thủy vân. Hai vấn đề chung của tất cả các thuật toán biến đổi sang miền tần số là biến đổi thuận và biến đổi ngƣợc. Ở đây ta thảo luận về ảnh có kích thƣớc NxN.

DWT (Discrete Wavelet Transformation) sử dụng để biến đổi dữ liệu mẫu thành hệ số sóng nhỏ.

IDWT (Inverse Discrete Wavelet Transformation) dùng để biến đổi ngƣợc hệ số sóng nhỏ thành dữ liệu mẫu gốc.

Ý tưởng của DWT cho tín hiệu một chiều: tín hiệu đƣợc chia thành 2 phần, phần tần số cao và phần số thấp. Thành phần tần số thấp lại đƣợc chia tiếp thành hai phần có tần số cao và thấp. Với các bài toán nén và thủy vân thƣờng áp dụng không quá năm lần bƣớc phân chia trên. Ngoài ra, từ các hệ số DWT, ta có thể tạo lại ảnh ban đầu bằng IDWT.

Có thể mô tả bằng toán học DWT và IDWT nhƣ sau: Gọi   k jkw ke h H() là lọc thông thấp và   k jkw ke g G() là lọc thông cao thỏa mãn một vài điều kiện cho việc tái xây dựng ảnh ban đầu.

Một tín hiệu F(n) có thể đƣợc phân tích đệ quy nhƣ sau:

) ( ) ( 2 1 k h f n f n j k n low j   và f 1 (k) g 2 f (n) n j k n high j   Trong đó, j=J+1, J,…, J0

J+1 là chỉ số mức phân giải cao còn J0 là chỉ số mức phân giải thấp. Các hệ số: f 0 (k), f 0 (k), f 1(k),..., f high(k) J low J high J low J  đƣợc gọi là các hệ

số của tín hiệu F(n), với f low0 (k)

J là phần tử nhỏ nhất (xấp xỉ) của F(n) và f high(k)

J là phần chi tiết của F(n) tại các dải tần khác nhau. Tín hiệu ban đầu F(n) đƣợc xây dựng lại từ các hệ số DWT bằng cách đệ quy nhƣ sau:

) ( . . ) (n h 2 f 1 g 2 f 1 k f high j k k n k j k k n low J      

Để đảm bảo quan hệ giữa DWT và IDWT, H() và G() phải thỏa mãn điều kiện trực giao sau : | H()|2 + |G()|2=1.

Biến đổi DWT và IDWT cho mảng hai chiều mxn: định nghĩa tƣơng tự bằng cách thực hiện các biến đổi một chiều DWT và IDWT cho mỗi chiều tƣơng ứng.

a/ Xử lý phân tách

Ảnh đƣợc lọc thông cao và thông thấp giữa các dòng. Kết quả lọc của mỗi lần đƣợc lấy mẫu hai lần theo thông cao và thông thấp. Hai tín hiệu con này tƣơng ứng với thành phần tần số cao và thành phần tần số thấp giữa các dòng. Mỗi tín hiệu con này một lần nữa đƣợc lọc thông cao và thông thấp, nhƣng lần này là giữa các cột. Kết quả này một lần nữa đƣợc lấy mẫu

.

Hình 2.9. Sơ đồ phân tách ảnh 2 chiều

Ở bƣớc này dữ liệu gốc đƣợc phân thành 4 ảnh con, mỗi ảnh có kích thƣớc N/2xN/2 chứa thông tin về các thành phần tần số khác nhau.

Hình 2.10. Thể hiện bước phân tách ảnh 2 chiều

LL là kết quả lọc thông thấp cả dòng và cột, chứa thành phần miêu tả thô về ảnh. Do đó LL còn đƣợc gọi là xấp xỉ của ảnh. HH là kết quả lọc thông cao theo cả hàng và cột và nó chứa thành phần tần số cao của tín hiệu tƣơng tự. HL và LH là kết quả của lọc thông thấp một chiều và lọc thông cao ở chiều còn lại. LH chứa thông tin chi tiết theo chiều đứng, tƣơng ứng với cung ngang. HL biểu diễn thông tin chi tiết theo chiều ngang từ cung đứng. Tất cả 3 thành phần con: HL, LH, HH đƣợc gọi là nhánh con chi tiết vì nó bổ sung chi tiết tần số cao cho ảnh xấp xỉ.

b. Xử lý ghép

Thông tin từ 4 ảnh con đƣợc lấy mẫu và lọc ngƣợc giữa các cột. Kết quả thu đƣợc một lần nữa đƣợc lấy mẫu và lọc ngƣợc với bộ lọc ngƣợc. Kết quả cuối cùng thu đƣợc chính là ảnh gốc. Ở đây không có sự mất mát thông tin trong quá trình phân tách cũng nhƣ quá trình ghép để thu đƣợc ảnh gốc.

Hình 2.11. Sơ đồ bước xử lý ghép ảnh 2 chiều

c/ Các kiểu phân tách

Với DWT có thể phân tách ảnh nhiều lần. Có thể tiếp tục phân tách cho đến khi tín hiệu đƣợc phân tách toàn bộ hoặc để ngƣời dùng tự động ngắt quá trình phân tách một cách thủ công. Với các ứng dụng nén và thủy vân, thông thƣờng quá trình phân tách không thực hiện quá 5 lần. Hai cách phân tách thƣờng đƣợc sử dụng là phân tách kiểu hình chóp và phân tách kiểu đóng gói

Phân tách sóng nhỏ kiểu hình chóp

Là kiểu phân tách đơn giản và phổ biến nhất. Với cách phân tách này, ta chỉ tiến hành phân tách tiếp cho thành phần con LL. Hình 2.15. thể hiện lƣợc đồ phân tách của 3 mức. Ở mỗi mức¸ chi tiết của mỗi thành phần là kết quả cuối cùng của mức đó, nhƣng chỉ có thành phần xấp xỉ là LL đƣợc phân tách tiếp.

Hình 2.12. Lược đồ sau ba mức phân tách theo kiểu hình chóp

Ở mức phân tách sâu nhất sẽ có một ảnh con xấp xỉ và 9 nhánh con ở các mức khác nhau. Sau khi phân tách thành phần LL, có tất cả D(L)=3*L+1 nhánh con. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.13. Kết quả phân tách và ảnh nhận được sau 3 lần phân tách kiểu hình chóp

Phân tách sóng nhỏ kiểu đóng gói

Kiểu phân tách này không hạn chế số lần phân tách với từng thành phần ảnh, ở mỗi lần phân tách tất cả các thành phần con đều đƣợc phân tách. Hình 2.11 thể hiện lƣợc đồ của kiểu phân tách đóng gói qua hai lần phân tách.

Hình 2.14. Lược đồ qua hai lần phân tách kiểu đóng gói.

Thể kiện kết quả trên ảnh 2 chiều sau 2 lần phân tách kiểu đóng gói nhƣ sau:

Hình 2.15. Kết quả phân tách và ảnh nhận được sau 2 lần phân tách kiểu đóng gói

2.4.2. Thuật toán DWT1

a/ Ý tưởng

Dựa trên kỹ thuật biến đổi sóng nhỏ hai tác giả Raval Mehul và Rege Priti đã đề xuất kỹ thuật thủy vân sử dụng phép biến đổi sóng nhỏ hai chiều để phân tích ảnh

gốc thành bốn băng LL, HL, LH và HH rồi nhúng tín hiệu thủy vân thứ nhất vào băng LL, nhúng một thủy vân khác vào băng HH. Kết quả thử nghiệm cho thấy thủy vân bền vững trƣớc một số phép xử lý ảnh thông thƣờng.

b) Quá trình nhúng thủy vân Input:

- Thủy vân: hai ảnh nhị phân J, K kích thƣớc N x N - Một ảnh chứa I kích thƣớc 4N x 4N

Output:

Ảnh chứa đã nhúng thủy vân I’

Cách thực hiện:

- Sử dụng phép biến đổi sóng nhỏ hai chiều mức hai đối với I

- Nhúng thủy vân J vào băng LL2, nhúng thủy vân K vào băng HH2 bởi công thức : Vi,j’=Vi,j+Wi,j. Với Vi,j là hệ số tƣơng ứng trong LL2 và HH2; 

là hệ số tƣơng quan giữa tính ẩn và tính bền vững của thủy vân.

- Sử dụng phép biến đổi ngƣợc IDWT để tổng hợp lại đƣợc ảnh chứa thủy vân.

c/ Quá trình tách thủy vân

- Sử dụng phép biến đổi sóng nhỏ hai chiều mức hai đối với ảnh gốc I và ảnh chứa thủy vân I’.

- Từ kết quả phân tích trên, tính giá trị lệch giữa các điểm tƣơng ứng thuộc các băng LL2, HH2 của ảnh chứa thủy vân và ảnh gốc rồi chia cho  để đƣợc bit tƣơng ứng thuộc ảnh thủy vân: Wi,j’= (Vi,j - Vi,j)/ .

- Kiểm định, đánh giá thủy vân tách đƣợc với thủy vân gốc.

d/ Kết quả

Qua thử nghiệm, kỹ thuật thủy vân của Raval Mehul va Rege Prit cho kết quả thủy vân bền vững trƣớc một nhóm các biến đổi thông thƣờng đối với ảnh chứa thủy vân. Thủy vân nhúng ở băng LL bền vững trƣớc một nhóm các phép biến đổi, trong khi thủy vân nhúng ở băng HH lại bền vững trƣớc một nhóm các biến đổi khác. Điều đó thể hiện, thủy vân đƣợc nhúng ở các băng khác nhau thể hiện tính bền vững khác nhau trƣớc các tấn công vào hệ thủy vân. Nhƣ vậy, có thể sử dụng thủy vân nhúng vào tất cả cá băng trong phép phân tích sóng nhỏ để có thể tìm đƣợc sự bền vững ở ít nhất một trong các băng trƣớc các tấn công hoặc có thể xây dựng một phƣơng pháp nhúng kết hợp vào các băng để tìm một thủy vân tổng hợp từ các băng đã nhúng.

Quá trình tách thủy vân ở đây đƣợc yêu cầu sử dụng cả ảnh gốc và ảnh chứa thủy vân.

2.4.3. Thuật toán DWT2

Ở thuật toán DWT1 sử dụng phép biến đổi sóng nhỏ hai chiều để phân tích ảnh gốc thành các băng tần khác nhau, rồi nhúng tín hiệu thủy vân vào một hoặc một số các băng tần. Theo cách đó, thủy vân có thể bền vững trƣớc một số tấn công nhƣng lại kém bền vững với một nhóm các tấn công khác. Khắc phục yếu điểm trên, trong thuật toán này, các tác giả Peining Tao và Ahmet M. Eskicioglu [4] đã nhúng tín hiệu thủy vân vào cả bốn băng tần trong phép phân tích sóng nhỏ, mỗi băng tần có thể sử dụng các hệ số khác nhau.

a/ Quá trình nhúng thủy vân Input:

- Ảnh gốc I=(aij, 0i, j2n) (adsbygoogle = window.adsbygoogle || []).push({});

- Ảnh thủy vân là ảnh nhị phân, W=(wij 0, 1, 0i, jn)

Output:

Ảnh chứa đã đƣợc nhúng thủy vân IW

Cách thực hiện:

- Thực hiện phép biến đổi sóng nhỏ DWT mức một để phân tích ảnh gốc I. - Sửa các miền tần số Vij tƣơng ứng với các băng LL, HL, LH, và HH:

- k ij k ij k ij w V W V ,   ; với i,j=1,….,n; k=1, 2, 3, 4

- Thực hiện phép biến đổi ngƣợc IDWT đối với các băng đã sửa đổi tƣơng ứng trong bƣớc thứ 2 để đƣợc ảnh chứa đã nhúng thủy vân IW.

b/ Quá trình tách thủy vân Input:

Ảnh chứa đã nhúng thủy vân, ảnh gốc

Output:

Thủy vân là ảnh nhị phân W*

Cách thực hiện:

- Thực hiện phép biến đổi sóng nhỏ DWT mức một để phân tích ảnh gốc I và ảnh đã nhúng thủy vân (có thể đã qua xử lý).

; / ) ( * , * k k ij k ij w k ij V V W    với i, j=1,…,n; k=1, 2, 3, 4 - Nếu Wij* 0.5 thì lấy Wij* 1 ngƣợc lại lấy *

ij

W =0.

d/ Kết quả

Với kỹ thuật nhúng thủy vân sử dụng phép biến đổi sóng nhỏ trên đây, thủy vân sau khi đƣợc nhúng ở băng tần thấp thì bền vững đối với một nhóm các tấn công, trong khi thủy vân đƣợc nhúng ở băng tần cao lại bền vững trƣớc một nhóm các tấn công khác, thủy vân nhúng trong những băng tần giữa cũng bền vững với một số tấn công.

CHƢƠNG3. XÂY DỰNGỨNG DỤNG

3.1. Phát biểu bài toán

Trong thực tế, việc mua bán, phân phối tác phẩm ảnh số đƣợc coi là hợp pháp khi tuân thủ theo nguyên tắc: bên mua sẽ trả tiền để nhận đƣợc các bản sao hợp pháp sản phẩm của bên bán và bên mua không đƣợc sửa chữa thông tin của sản phẩm. Nhƣng trong quá trình phân phối, bên bán phát hiện các sản phẩm của mình bị bên sửa chữa, bị nghi ngờ là sao chép không hợp pháp. Vậy làm thế nào để tác giả chứng minh đƣợc điều đó nhằm bảo vệ thành quả lao động của mình?

Từ thực tế trên đặt ra bài toán là làm thế nào để bên bán có thể xác thực đƣợc thông tin của bản sao đã bán và bảo vệ bản quyền cho tác phẩm của mình.

3.2. Phân tích bài toán

3.2.1.Đặc tả yêu cầu người sử dụng

Có thể giải quyết bài toán trên bằng công nghệ thủy vân số. Quá trình bảo vệ bản quyền ảnh số bằng thủy vân nhƣ sau:

+ Chủ sở hữu bức ảnh số sẽ gửi các thông tin bí mật của mình cho hệ thống để tạo thủy vân và yêu cầu hệ thống nhúng thủy vân vào ảnh gốc của mình.

+ Hệ thống thủy vân tiến hành tạo và nhúng thủy vân cho chủ sở hữu.

+ Khi có tranh chấp về vấn đề bản quyền, chủ sở hữu ảnh phải cung cấp ảnh có nghi ngờ sao chép trái phép cho hệ thống thủy vân để xác định nguồn gốc ảnh. Hệ thống thủy vân sẽ tách thủy vân từ ảnh nghi ngờ này. Sau đó, so sánh thủy vân nhận đƣợc với thủy vân mà chủ sở hữu cung cấp. Nếu hai thủy vân do hệ thống trích ra và thủy vân do chủ sở hữu cung cấp trùng nhau thì ngƣời này đúng là chủ sở hữu của tác phẩm, ngƣợc lại chủ sở hữu trên là giả mạo và đã vi phạm sao chép sản phẩm không

Một phần của tài liệu Hệ thống thủy vân số và ứng dụng (Trang 42)