Phát hiện thuỷ vân

Một phần của tài liệu đồ án tốt nghiệp thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng theo mẫu (Trang 65 - 68)

Thuật toán phát hiện thuỷ vân sẽ lấy ra thuỷ vân đã nhúng nhờ các tham số bí mật gồm có: KS, m, ξ , c, T.

Thuật toán này bắt đầu bằng việc sinh các phần dữ liệu {S0 ,..., S m−1 } dựa vào bộ dữ liệu đã thuỷ vân D

W , khoá bí mật K S , và số phần dữ liệu đã phân 2

hoạch m là đầu vào của thuật toán phân hoạch dữ liệu (get_partitions). Mỗi phần sẽ mã hoá một bít thuỷ vân đơn. Để lấy ra bít đã nhúng, ta sử dụng lược đồ giải mã ngưỡng dựa vào ngưỡng tối ưu T làm cực tiểu hoá xác suất xảy ra

lỗi giải mã như đã trình bày trong mục 2.5. Nếu kích thước phân vùng dữ liệu nhỏ hơn ξ thì bít giải mã không được thực hiện, ngược lại nó được giải mã nhờ lược đồ giải mã ngưỡng.

Vì thuỷ vân W = bl −1 ,...,

b0 được nhúng nhiều lần trong bộ dữ liệu, mỗi bít thuỷ vân được lấy ra nhiều lần ở nơi bít bi được lấy ra từ phần S

k

với

k modl = i . Các bít lấy ra được giải mã nhờ kỹ thuật chọn theo đa số. Mỗi bít

m

bi được lấy ra

l lần .

Thuật toán phát hiện thuỷ vân như sau:

Thuật toán: detect_watermark

Đầu vào: Tập dữ liệu đã nhúng thủy vân DW ,m,c,ξ, KS ,T , Độ dài thủy vân l

Đầu ra: Thủy vân thu được WD 1. Đặt ones[0, …, l-1] ← 0 2. Đặt zeros[0, …, l-1] ← 0 3. S0, …, Sm-1 ← get_partitions(Dw, Ks, m) 4. for j=0, …, m-1 5. if S j ≥ ξ 6. i ← j mod l

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên t nu . e du . v n

7.value ← Θ(Si ,0, c) 8. if value T * 9. ones[i] ← ones[i] + 1 10. else 11. zeros[i] ← zeros[i] + 1 12. for j=0 , …, l-1 13. if ones[j] > zeros[j] 14. WD|j| ← 1

15. else if ones[j] < zeros[j] 16. WD|j| ← 0

17. else

18.WD|j| ← x 19. return WD

Trường hợp quan hệ đa thuộc tính bền vững thuỷ vân được tăng lên do nhúng thuỷ vân trong nhiều thuộc tính.

Một phần của tài liệu đồ án tốt nghiệp thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng theo mẫu (Trang 65 - 68)

Tải bản đầy đủ (DOCX)

(85 trang)
w