Thuật toán phát triển nhúng thuỷ vân trong miền tần số giữa

Một phần của tài liệu BÁO CÁO TIỂU LUẬN THỦY VÂN TRONG ẢNH SỐ (Trang 26 - 29)

Thuật toán nhúng thủy vân trong miền tần số giữa được nhiều nhà nghiên cứu cải tiến, dưới đây trình bày thuật toán phát triển cho nhúng thuỷ vân trong miền tần số của ảnh, giải tần được sử dụng để chứa tín hiệu thuỷ vân cũng là miền tần số ở giữa của các khối DCT 8×8. Trong đó, các khối DCT 8×8 là những khối ảnh cùng kích thước đã được chọn ra ngẫu nhiên từ ảnh ban đầu và được áp dụng phép biến đổi cosin rời rạc DCT để chuyển sang miền tần số. Mỗi tín hiệu thuỷ vân sẽ được chứa trong một khối. Quá trình nhúng mỗi bit thuỷ vân si vào khối DTC được thực hiện bằng cách chọn ra hai hệ số thuộc miền tần số giữa, giả sử là b(u,v) và b(p,q), bit được nhúng sao cho trong khối DCT luôn thoả:

b(u,v) - b(p,q) > k, b(u,v) > b(p,q) nếu si = 0

b(u,v) - b(p,q) <= k, b(u,v)< b(p,q) nếu si = 1 k ở đây được hiểu là hệ số tương quan giữa tính ẩn và tính bền vững của thuỷ vân.

2.2.1 Thuật toánInput: Input:

Watermark: Một chuỗi các bit S hoặc một ảnh nhị phân W Một ảnh F

Output:

Một ảnh sau khi thuỷ vân, F’ Khoá để giải mã K

2.2.2 Quá trình nhúng thuỷ vân

Một ảnh có kích thước m×n sẽ được chia thành (m×n)/64 khối 8×8, mỗi bit của thuỷ vân sẽ được giấu trong một khối.

Chọn một khối bất kì B và biến đổi DCT khối đó thu được B’

Chọn hai hệ số ở vị trí bất kì trong miền tần số ở giữa của khối B’, giả sử đó là

b’(i,j)b’(p,q).

Bit si sẽ được nhúng sao cho thoả mãn điều kiện:

b(u,v) - b(p,q) > k, b(u,v) > b(p,q) nếu si = 0

b(u,v) - b(p,q) <= k, b(u,v)< b(p,q) nếu si = 1 Trong trường hợp bit cần giấu là 0 mà b(u,v) < b(p,q), hoặc bit cần giấu là 1 mà

b(u,v)> b(p,q) thì thực hiện đổi chỗ hai phần tử này.

Nếu b(u,v) > b(p,q)b(u,v) – b(p,q) < k thì tăng b(u,v) lên k/2 đồng thời giảm

b(p,q) đi k/2.

Tương tự, nếu b(u,v) <= b(p,q)b(p,q) – b(u,v) < k thì tăng b(p,q) lên k/2 đồng thời giảm b(u,v) đi k/2.

Biến đổi IDCT trên các khối đã nhúng thuỷ vân Ghép các khối để được ảnh chứa thuỷ vân.

2.2.3 Quá trình tách thuỷ vân

Biến đổi DCT khối ảnh đã nhúng thuỷ vân và vị trí hai hệ số đã biến đổi, giả sử đó là các phần tử b(u,v)b(p,q). Nếu b(u,v) > b(p,q) thì bít đã giấu được là bit 0, ngược lại tách bit 1.

2.2.4 Kết quả thực nghiệm

Chạy thử với ảnh gốc là ảnh đa cấp xám BUOM.bmp kích thước 512×512 pixel, thuỷ vân là một ảnh nhị phân WTM_DCT.bmp kích thước 40×25 pixel, hệ số k lần lượt được chọn là 10, 14, 18, và 50. Tất cả các trường hợp thuỷ vân tách ra từ ảnh gốc đã nhúng thuỷ vân có độ lệch không đáng kể so thuỷ vân gốc. Kết quả nhúng và tách thuỷ vân tương ứng được trình bày trong hình 2.4

Ảnh gốc 512×512 Ảnh thuỷ vân gốc 64×64 Ảnh gốc đã nhúng thuỷ vân; psnr=22.77 Ảnh thuỷ vân tách được; sr=1.0

Hình 2.4 Kết quả nhúng và tách thuỷ vân với k = 50 ảnh gốc đa cấp xám

Chạy thử với ảnh gốc là ảnh màu NhaMoi.bmp kích thước 512×512 pixel, thuỷ vân là một ảnh nhị phân WTM_DCT.bmp kích thước 40×25 pixel. Kết quả cho chất lượng ảnh thuỷ vân và thuỷ vân tách được tương đương với kết quả thử nghiệm trên ảnh đa cấp xám. Kết quả nhúng và tách thuỷ vân ứng với k=50 được trình bày trong hình 2.5 Ảnh gốc 512×512 Ảnh thuỷ vân gốc 64×64 Ảnh gốc đã nhúng thuỷ vân; psnr=35.749 Ảnh thuỷ vân tách được; sr=1.0

Hình 2.5 Kết quả nhúng và tách thuỷ vân với k = 50 ảnh gốc là ảnh màu

Chúng tôi thử nghiệm tiếp với các phép tấn công thông thường trên ảnh chứa thuỷ vân, kết quả cho thấy, với thuật toán cải tiến, thuỷ vân có tính bền vững rất cao trước các tấn công: resize, imadjust, histogram, Blurring, Adding Gaussian Noise, JPEG Compression, ... Thuỷ vân tách được qua nén JPEG với ảnh đa cấp xám ở các mức nén khác nhau được trình bày trong hình 2.6

Q=50; sr=1.0 Q=25; sr=1.0 Q=20; sr=0.943 Q=15; sr=0.813

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu BÁO CÁO TIỂU LUẬN THỦY VÂN TRONG ẢNH SỐ (Trang 26 - 29)