2.2.1. Ý tưởng
Lược đồ SVD-n sẽ thực hiện nhúng 1 bit của dấu thủy vân vào tất cả các phần tử nằm trên đường chéo chính của ma trận D.
2.2.2. Quá trình nhúng thủy vân
Quá trình nhúng thủy vân của lược đồ SVD-n cũng bao gồm 4 bước như trong lược đồ SVD-1. Tuy nhiên có một sự thay đổi thuật toán nhúng thủy vân tại Bước 3 như sau:
Bước 3: Nhúng bit wi vào Di để nhận Di’:
Bước 3.1: Tính:
𝑥𝑖 = ∥ 𝑋𝑖 ∥ +1 𝑘𝑖 = ⌊𝑥𝑖
𝑞⌋
Trong đó véc tơ Xigồm các phần từ trên đường chéo của ma trận Di :
Xi = (Di(1,1), Di(2,2),…,Di(s,s)), với s=min(m,n). Bước 3.2: Điều chỉnh ki:
Trường hợp wi=1:
Nếu ki lẻ thì ki = ki+1. Ngược lại ki không thay đổi. Trường hợp wi = 0:
Nếu ki chẵn thì ki = ki +1. Ngược lại ki không thay đổi.
Bước 3.3: Điều chỉnh Di thành Di’: 𝑥𝑖′ = 𝑞 × 𝑘𝑖 +𝑞 2 𝑋𝑖′ = 𝑋𝑖×𝑥𝑖 ′ 𝑥𝑖
thu được ma trận Di’ với đường chéo là véc tơ Xi'.
Ghi chú: Trong lược đồ [6], hệ số lượng tử q được tính theo Ii. Ở đây để đơn giản và tiện so sánh với các lược đồ trong mục 4, q được xem là cố định.
2.2.3. Quá trình trích thủy vân
Tương tự lược đồ SVD-1, quá trình trích thủy vân của lược đồ SVD-n cũng gồm 4 bước như thuật toán trích thuỷ vân của lược đồ SVD-1, chỉ khác ở Bước 3 như sau:
Bước 3: Xác định bit 𝑤𝑖∗từ đường chéo của 𝐷𝑖∗:
Bước 3.1: Tính:
𝑥𝑖∗=∥ 𝑋𝑖∗ ∥ +1 𝑘𝑖∗ = ⌊𝑥𝑖
∗ 𝑞⌋
𝑋𝑖∗= (𝐷𝑖∗(1,1), 𝐷𝑖∗(2,2), … , 𝐷𝑖∗(𝑠, 𝑠))
Bước 3.2: Xác định wi*:
𝑤𝑖∗ = {0 𝑛ế𝑢 𝑘𝑖
∗ 𝑚𝑜𝑑 2 = 1 1 𝑛ế𝑢 𝑘𝑖∗ 𝑚𝑜𝑑 2 = 0
Tiếp tục thực hiện Bước 4 như trong lược đồ SVD-1, chúng ta sẽ tìm được dấu thủy vân W.