4 Các yêu cầu cơ bản của hệ thống thủy vân
4.7 Thủy vân trên miền DCT
Hiện nay phương pháp thủy vân có thể nhóm thành phương pháp miền không
gian và phương pháp miền chuyển đổi. Trong miền không gian, chúng ta nhúng thủy vân bằng cách thay đổi trực tiếp giá trị các pixel của ảnh gốc. Trong miền chuyển đổi, trước tiên áp dụng chuyển đổi đối với ảnh gốc và sau đó nhúng thủy vân vào hệ số chuyển đổi. Có ba phương pháp chuyển đổi miền không chính,
Transform (DCT) và Discrete Wavelet TransForm (DWT). Nhúng thủy vân trong miền chuyển đổi có thểlàm tăng độ bền vững cho thủy vân.
DCT có thể áp dụng cho toàn bộ ảnh hay một khối (8x8 pixel), nhưng thủy vẩn trên các khối 8x8 pixel tốt hơn so với toàn bộảnh. DCT cho phép một bức ảnh chia thành các vùng tần số: tần số thấp, tần số trung bình và tần số cao (hình 3.4 đối với khối DCT 8x8).
Hình 8. Vùng tần số DCT
Thủy vân trong vùng có hệ số tần số thấp có thể làm giảm chất lượng của ảnh,
trong khi đó tần số cao làm cho thủy vân dễ dàng bị mất sau khi lọc hay nén ảnh.
Do đó để cân bằng giữa độ trung thực của ảnh và độ bền vững thủy vân, hầu hết các kỹ thuật đều nhúng thủy vân vào miền có hệ số tần số trung bình.
Thuật toán
Có ba giai đoạn: tạo thủy vân, nhúng thủy vân, phát hiện thủy vân.
4.7.1 Tạo thủy vân
Kích thước thủy vân khoảng 25% so với kích thước ảnh gốc, do đó nếu kích
thước ảnh là n1xn2 pixel thì thủy vân có kích thức khoảng n1xn2. Thủy vân là một Tần số thấp Tần số trung
chuỗi số thực được lựa chọn theo một phân phối chuẩn với giá trị trung bình bằng 0
và phương sai bằng 1, ký hiệu N(0,1).
Trước tiên, tạo một thủy vân công khai Wp có độ dài n theo phân phối chuẩn N(0,1).
Wp=(Wp(1), Wp(2),…, Wp(n)).
Tiếp theo, chúng ta xây dựng một thủy vân bí mật Ws bằng cách hoán vị Wp theo một bảng hoán vị S.
Ws=(Ws(1), Ws(2),…, Ws(n))=(Wp(S(1)), Wp(S(3)),…, Wp(S(n))).
Thủy vân được nhúng vào ảnh là sự kết hợp tuyến tính của thủy vân công khai và thủy vân bí mật. Được tính theo công thức: We=(1-α).Ws+α.Wp. với 0<α<1.
4.7.2 Nhúng thủy vân Hình 9. Quá trình nhúng thủy vân Ảnh gốc Các khối ảnh Các khối DCT Các khối đã nhúng thủy vân Các khối đã biến đổi IDCT Ảnh đã nhúng thủy vân Thủy vân Tách khối Biến đổi DCT Nhúng thủy vân Biến đổi IDCT Ghép ảnh
Ảnh gốc được chia thành các khối nhỏ với 8x8 pixel, rồi áp dụng DCT cho từng khối. Sau đó biến đổi các ma trận dữ liệu 8x8 thành mảng theo đường zigzag như
trong hình 3.5. Từ mảng vừa biến đổi ta tiến hành trích xuất các phần tử thuộc hệ số
tần số trung bình. Giả sử ta trích xuất được dãy số thực x.
Hình 10. Biến đổi zigzag
Nhúng thủy vân We vào x theo công thức sau:
x(i) = x(i) + We(i).
Cuối cùng, bằng cách biến đổi IDCT với khối vừa nhúng We ta có ảnh đã nhúng thủy vân.
4.7.3 Phát hiện thủy vân
Hình 11. Quá trình phát hiện thủy vân
Phát hiện thủy vân được thực hiện theo các bước sau.
- Ảnh được chia thành các khối nhỏ 8x8 pixel. - Áp dụng DCT cho mỗi khối.
- Biến đổi các ma trận dữ liệu 8x8 thành mảng theo đường zigzag như trong
hình 3.5.
- Từ mảng vừa biến đổi ta tiến hành trích xuất các phần tử thuộc hệ số tần số
trung bình. Giả sử ta trích xuất được dãy số thực x.
- Tính sựtương quan giữa x và thủy vân công khai Wp theo công thức:
1 1 ( ).W ( ) N p i c x i i N
- c được so sánh với ngưỡng T. Nếu c>T thì ta nói rằng có tồn tại một thủy
vân được giấu, ngược lại nếu c<T thì ta nói rằng không tồn tại thủy vân. Với
ngưỡng T là là một giá trịthu được từ kiểm tra thực nghiệm.
Ảnh cần kiểm tra thủy vân
Các khối ảnh
Các khối DCT Khóa công khai
Hệ sốtương quan c Kết luận Tách ảnh Biến đổi DCT Tính toán c Thực nghiệm
Chương 4.XÂY DỰNG PHẦN MỀM GIẤU TIN MẬT VÀ BẢO VỆ
BẢN QUYỀN ẢNH SỐ
Dựa trên các kết quả tìm hiều, phân tích trong Chương 2 và Chương 3, nội dung
chương này tập trung trình bày kết quả cài đặt hai modules phần mềm để giấu tin
mật và bảo vệ bản quyền ảnh số. Toàn bộ mã nguồn của chương trình được cài viết
trên nền lập trình Microsoft Visual studio 2010.
1. Mô hình xử lý hệ thống
Đối với các hệ thống giấu tin mật và bảo vệ quyền tác giả ảnh sốthường gồm hai quá trình: Nhúng tin và tách tin hoặc xác định bản quyền. Hai quá trình này
được diễn ra bởi hai nhóm người dùng khác nhau. Nội dung phần này sẽ trình bày chi tiết mô hình xử lý của hệ thống ở mức đỉnh và dưới đỉnh.
1.1Sơ đồ mức đỉnh
Dựa trên sự phân tích vềngười dùng, mô hình xử lý mức đỉnh của hai modules
như hình sau:
Giấu tin mật
Người gửi Người nhận
1.2 Sơ đồ mức dưới đỉnh 1.2.1. Module giấu tin mật Nhúng tin mật Người gửi Ảnh gốc Tin mật Khóa K, W Ảnh chứa tin Bảo vệ quyền tác giả
Tác giả Người kiểm tra quyền tác giả
Hình 13. Hệ thống bảo vệ quyền tác giả
1.2.2. Module bảo vệ quyền tác giả
Nhúng thủy vân
Tác giả
Ảnh gốc
Giấu thủy vân Khóa công khai
Ảnh thủy vân Tách tin mật Người nhận Tin mật Khóa K, W Ảnh chứa tin Hình 15. Hệ thống tách tin mật
2. Một số giao diện phần mềm
2.1Giao diện nhúng giấu thủy vân
Kiểm tra thủy vân
Người kiểm tra
Khóa công khai
Ảnh thủy vân Yes/No