Thuật toán trích dấu thủy vân và khôi phục ảnh gốc

Một phần của tài liệu Kỹ thuật thủy vân và mật mã học trong xác thực, bảo vệ bản quyền dữ liệu đa phương tiện (Trang 72)

Thuật toán thực hiện trên các khối DCT lượng tử của ảnh chứa dấu thủy vân. Mỗi khối, thuật toán xét các dãy 𝐷𝑖′ = (𝑑1′, … , 𝑑′𝑘𝑖) với 1 ≤ 𝑖 ≤ 5. Gọi 𝑠𝑖 là vị trí đầu tiên mà 𝑑𝑠′𝑖 ≥ 2 hoặc 𝑑′𝑠𝑖 < 0 tính từ 𝑑1′. Trường hợp mọi hệ số của 𝐷𝑖′ đều có

66

giá trị 0 thì chọn 𝑠𝑖 = 𝑘𝑖+ 1. Nội dung thuật toán trích dấu thủy vân và khôi phục dãy 𝐷𝑖 = (𝑑1, … , 𝑑𝑘𝑖) từ dãy 𝐷𝑖′= (𝑑1′, … , 𝑑𝑘′𝑖) gồm hai bước:

Bước 1: Trích dãy bít dấu thủy vân, xét các trường hợp:

T/h 1: Nếu 𝑠𝑖 < 2 thì 𝐷𝑖′ không chứa tin.

T/h 2: Nếu 𝑠𝑖 = 2 thì bít tin nhúng 𝑤1 = 𝑑1′.

T/h 3: Nếu 𝑠𝑖 > 2 thì hai bít tin nhúng 𝑤1𝑤2 xác định theo công thức:

𝑤1 = 𝑑𝑠′𝑖−1 và 𝑤2 = 𝑑𝑠′𝑖−2

Bước 2: Khôi phục dãy 𝐷𝑖 = (𝑑1, … , 𝑑𝑘𝑖) từ 𝐷𝑖′theo công thức:

𝑑ℎ = {

0, nếu ℎ < 𝑠𝑖 𝑑ℎ′ − 1, nếu ℎ = 𝑠𝑖 và 𝑑ℎ′ > 0

𝑑ℎ′, các trường hợp còn lại

với ℎ = 1, … , 𝑘𝑖.

Để tiện theo dõi thuật toán, xét ví dụ trích dãy bít thủy vân và khôi phục ảnh gốc ứng với các dãy hệ số lượng tử chứa dãy bít dấu thủy vân trong Bảng 3.3. Kết quả thực hiện thuật toán trình bày trong Bảng 3.4.

Bảng 3.4.Kết quả trích dãy bít dấu thủy vân và khôi phục các dãy hệ số lượng tử gốc của lược đồ đề xuất trên ảnh JPEG.

𝑫𝒊′ Dãy hệ số lượng tử

chứa tin 𝒔𝒊 Dãy bít trích

được

Dãy hệ số lượng tử sau khôi phục (𝑫𝒊) 𝐷1′ (1,0,-1,-2,-1,2,-34) 3 01 (0,0,-1,-2,-1,2,-34) 𝐷2′ (0,0,1,0,2,-4,-41) 5 01 (0,0,0,0,1,-4,-41) 𝐷3′ (0,1,2,0,2,-7,-24) 3 10 (0,0,1,0,2,-7,-24) 𝐷4′ (0,1,2,-2,2,-1) 3 10 (0,0,1,-2,2,-1) 𝐷5′ (1,2,0,-1,-1,-20) 2 1 (0,1,0,-1,-1,-20)

Các số liệu trên Bảng 3.3 và Bảng 3.4 cho thấy, ngoài việc trích được dãy bít thủy vân đã nhúng, thuật toán còn khôi phục thành công khối DCT lượng tử gốc. Điều này cũng đồng nghĩa với việc lược đồ đề xuất có khả năng khôi phục ảnh gốc từ ảnh thủy vân.

67

Một phần của tài liệu Kỹ thuật thủy vân và mật mã học trong xác thực, bảo vệ bản quyền dữ liệu đa phương tiện (Trang 72)