Thuật toán DCT3

Một phần của tài liệu Tìm hiểu phương pháp thủy vân số thuận nghịch và xây dựng ứng dụng (Trang 41)

Mô tả thuật toán:

Trong thuật toán DCT 3 này tác giả Benham 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.

Quá trình 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,1 ,ki,1) - cb(ji,3,ki,3)> nếu si=0

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.

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

Bảng 1.2: Minh họa thuật toán DCT3

Quá trình trích để lấy lại thông tin:

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)

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.

Một phần của tài liệu Tìm hiểu phương pháp thủy vân số thuận nghịch và xây dựng ứng dụng (Trang 41)