Ở 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.
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
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, 0i, j2n)
- Ảnh thủy vân là ảnh nhị phân, W=(wij 0, 1, 0i, jn)
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 hợp pháp hoặc đã sửa đổi sản phẩm gốc thành tác phẩm của mình (nhái sản phẩm).
3.2.2. Mô tả chức năng hệ thống
Hệ thống đƣợc xây dựng đảm bảo thực hiện các chức năng chính: tạo thủy vân, nhúng thủy vân, tách thủy vân và kiểm tra.
Hình 3.1. Sơ đồ chức năng hệ thống
a/ CHỨC NĂNG TẠO THỦY VÂN
Thủy vân là một ảnh: ảnh này có thể là một logo đặc trƣng cho công ty hoặc là
dấu vân tay đặc trƣng cho một cá nhân. Ảnh thủy vân phải có kích thƣớc nhỏ hơn nhiều so với ảnh gốc.
- Nếu ảnh thủy vân là ảnh đen trắng thì việc tạo thủy vân chỉ đơn thuần nhặt ra từng điểm ảnh để nhúng vào các khối ảnh. Nếu ảnh có kích thƣớc MxN thì chuỗi nhị phân biểu diễn cho ảnh nhị phân cần nhúng có độ dài là MxN bít.
- Nếu ảnh thủy vân là ảnh đa cấp xám: lấy giá trị của từng điểm ảnh theo cách duyệt ảnh từ trên xuống dƣới, từ trái qua phải xếp thành chuỗi số biểu diễn cho thủy vân cần nhúng. Mỗi số trong dãy số trên lại đƣợc chuyển thành một dãy 8 bit nhị phân. Vậy nếu ảnh có kích thƣớc MxN thì dãy thủy vân biểu diễn cho ảnh thủy vân có kích thƣớc là MxNx8 bits.
- Nếu ảnh thủy vân là ảnh 24 bits màu, mỗi thành phần mầu R, G, B chiếm 1 byte nhớ. Khi đó có 2 cách tạo thủy vân:
+ Một là tách riêng từng thành phần màu R, G, B. Mỗi thành phần mầu này tƣơng đƣơng với một ảnh đa cấp xám. Vậy một ảnh 24 bits màu sẽ tƣơng đƣơng với 3 ảnh đa cấp xám.
+ Hai là đặt từng nhóm 3 bytes một tƣơng ứng với mỗi một điểm ảnh của ảnh thủy vân liên tiếp để tạo ra chuỗi nhị phân tƣơng ứng. Nhƣ vậy, chuỗi bit tạo ra có độ dài là: MxNx3x8.
Vậy nếu chọn thủy vân là ảnh số thì phải tùy thuộc vào loại ảnh để chọn kích thƣớc thủy vân cho phù hợp vì lƣợng bits thủy vân nhúng đƣợc chỉ có giới hạn tùy thuộc vào từng thuật toán. Nhƣng nói chung tất cả các thuật toán đều không thể
HỆ THỐNG THỦY VÂN TẠO THỦY VÂN NHÚNG THỦY VÂN TÁCH
Thủy vân là chuỗi ký tự/ file văn bản: chứa các thông tin bản quyền nhƣ tên tác giả, số chứng minh thƣ, mã số bản quyền… Khi nhúng, mỗi ký tự này sẽ chuyển thành mã ASCII tƣơng ứng, sau đó đổi mã này thành chuỗi bít để đƣa vào ảnh cần nhúng. Rõ ràng so với thủy vân là ảnh thì thủy vân là ký tự có kích thƣớc nhẹ hơn rất nhiều. Nếu so với ảnh đa cấp xám thì mỗi ký tự tƣơng đƣơng với một điểm ảnh. Nếu so với ảnh 24 bít mầu thì mỗi điểm ảnh tƣơng đƣơng với 3 ký tự. Vì thế thủy vân là ký tự thì lƣợng thông tin nhúng đƣợc sẽ rất nhiều.
b/ CHỨC NĂNG NHÚNG THỦY VÂN
Sau khi tạo thủy vân chứa thông tin về bản quyền tác giả, hệ thống sẽ đƣa thủy vân này vào ảnh muốn bảo vệ bằng một trong các thuật toán thủy vân trong chƣơng 2. Kết quả ảnh sau khi nhúng đƣợc lƣu vào 1 file. Và đây là file mà tác giả sẽ đem cho ngƣời mua. Hay mỗi khi muốn tạo ra một bản copy hợp pháp tác giả sẽ lấy ảnh gốc, đƣa thông tin thủy vân vào hệ thống để tạo thủy vân, sau đó nhúng thủy vân vào ảnh gốc sẽ thu đƣợc một bản copy hợp pháp và có thể dễ dàng kiểm chứng nếu phát hiện có đối tƣợng tạo bản giả.
c/ CHỨC NĂNG TÁCH THỦY VÂN
Từ mỗi khối ảnh có thủy vân ta sẽ lấy ra đƣợc một số bit thủy vân. Ghép các bít này lại với nhau để đƣợc dãy bit. Thực hiện cắt từng đoạn 8 bit một của dãy bit này để thu đƣợc mã ASCII của ký tự hoặc giá trị mức xám của một điểm ảnh.
Với mục đích xác thực thông tin thì yêu cầu của hệ thống phải là thủy vân dễ vỡ. Khi đó chỉ việc so sánh thủy vân tách đƣợc từ ảnh nghi ngờ với thủy vấn gốc mà chủ sở hữu đang có, nếu không giống nhau thì có nghĩa là tác phẩm đã bị sửa chữa thông tin trái phép, không phải là sản phẩm nguyên bản của tác giả.
Với mục đích bảo vệ bản quyền thì yêu cầu của hệ thống phải là thủy vân bền vững. Nghĩa là dù sản phẩm có bị sửa chữa theo một hình thức nào đó (do các đối tƣợng nhái lại từ bản gốc) thì thủy vân vẫn đƣợc bảo vệ. Do đó, tác giả có thể tách thủy vân từ bản nghi ngờ ăn cắp bản quyền để chứng minh rằng đây là tác phẩm của mình đã bị chỉnh sửa (bản nhái lại).
Tất nhiên, mức độ bền vững của thủy vân tùy thuộc vào mức độ tấn công (mức độ chỉnh sửa). Nghĩa là, bức ảnh bị nghi ngờ có thể đã qua một số phƣơng pháp tấn công nào đó nhƣng trong giới hạn chịu đựng của hệ thống thì vẫn có thể tách đƣợc thủy vân, vƣợt quá giới hạn sẽ không tách đƣợc. Khi đó phải đánh giá đƣợc tính bền vững của thuật toán qua các phép tấn công, nghĩa là thuật toán cài đặt trong hệ thống có chịu đƣợc phép tấn công đó không và trong ngƣỡng nào thì còn chịu đựng đƣợc
d/ CHỨC NĂNG KIỂM TRA
Kiểm tra tính bền vững của các thuật toán thủy vân. Với chức năng này ngƣời sử dụng có thể kiểm tra xem thuật toán mình chọn có thể chống lại những biến đổi tấn công nhƣ: nén, nhiễu, tăng giảm độ sáng...từ đó có thể lựa chọn giải pháp hợp lý cho thuật toán nhúng thủy vân. Kẻ vi phạm bản quyền có thể dùng các tấn công trái phép để làm biến đổi dấu thủy vân. Nếu sau khi tấn công chất lƣợng ảnh thấp, không còn giá trị thƣơng mại thì thuật toán thành công về khía cạnh bền vững
3.3. Chương trình thử nghiệm
Thủy vân sử dụng trong chƣơng trình thực nghiệm là chuỗi ký tự. Chuỗi ký tự thủy vân đƣợc gõ trực tiếp vào mục “Nội dung thủy vân cần nhúng” hoặc chọn đƣờng dẫn đến file văn bản bằng nút Browse.
3.3.1. Chức năng nhúng thủy vân
- Mở ảnh gốc: chọn mục "Open” để mở một file ảnh cần nhúng thủy vân.