Lược đồ nhúng tin thuận nghịch CLTT

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 67)

Lược đồ nhúng tin thuận nghịch CLTT [18] được đề xuất dựa trên ý tưởng của Iwata [39]. Với mỗi khối DCT lượng tử của thành phần Y, lược đồ [18] nhúng tối đa 9 bít dữ liệu trên 9 đường chéo song song với đường chéo chính như Hình 3.5.

H1 H3 H5 H7 H9 H2 H4 H6 H8

Hình 3.5. Các đường chéo của khối DCT lượng tử.

Gọi 𝐷𝑖 = (𝑑1, … , 𝑑𝑘𝑖) với 1 ≤ 𝑖 ≤ 9, là dãy hệ số trên đường chéo 𝐻𝑖 theo thứ tự từ dưới lên trên như Hình 3.5, 𝑏𝑖 là số phần tử 0 liên tiếp tối đa của 𝐷𝑖 tính từ hệ số

𝑑1, với 0 ≤ 𝑏𝑖 ≤ 𝑘𝑖. Lược đồ CLTT chọn ra các dãy 𝐷𝑖 có 𝑏𝑖 ≥ 2 để nhúng một bít dữ liệu bằng cách biến đổi tối đa hai phần tử của dãy. Nội dung của lược đồ CLTT gồm 3 thuật toán: nhúng tin, trích tin và khôi phục ảnh gốc.

3.2.2.1. Thuật toán nhúng tin

Thuật toán nhúng bít dữ liệu 𝑤𝑖 vào dãy 𝐷𝑖 = (𝑑1, … , 𝑑𝑘𝑖) có 𝑏𝑖 ≥ 2 bằng cách biến đổi hệ số 𝑑𝑏𝑖−1 thành 𝑑𝑏′𝑖−1 theo công thức:

𝑑𝑏′𝑖−1 = {1 hoặc − 1,0, nếu 𝑤nếu 𝑤𝑖 = 1

61

Để tránh sự nhập nhằng (nhầm lẫn) trong quá trình trích tin và khôi phục ảnh gốc, thuật toán thực hiện bước tiền xử lý đối với các dãy 𝐷𝑖 (với 1 ≤ 𝑖 ≤ 9) theo 3 luật biến đổi như sau:

Luật A. Nếu 2 ≤ 𝑏𝑖 ≤ 𝑘𝑖 − 2 và 𝐷𝑖 có dạng (𝑑1, … , 𝑑𝑏𝑖, 𝑥, 0,∗∗∗) với 𝑥 ≠ 0 thì:

𝑑𝑏′𝑖+1 = {𝑑𝑏𝑖+1+ 1 , nếu 𝑑𝑏𝑖+1 > 0 𝑑𝑏𝑖+1− 1 , nếu 𝑑𝑏𝑖+1 < 0

Luật B. Nếu 𝑏𝑖 = 0 và 𝐷𝑖 có dạng (𝑥, 0,∗∗∗) với 𝑥 ≠ 0 thì:

𝑑1′ = {𝑑1+ 1 , nếu 𝑑1 > 0 𝑑1− 1 , nếu 𝑑1 < 0

Luật C. Nếu 𝑏𝑖 = 1 và 𝐷𝑖 có dạng (0, 𝑥, 0,∗∗∗) với 𝑥 ≠ 0 thì:

𝑑2′ = {𝑑2+ 1 , nếu 𝑑2 > 0 𝑑2− 1 , nếu 𝑑2 < 0

(ký tự * đại diện cho giá trị nguyên tùy ý).

Để tiện theo dõi thuật toán, ta xét ví dụ nhúng dãy bít dữ liệu 𝑤 = (010110)

vào khối DCT lượng tử trên Hình 3.4. Kết quả tiền xử lý và nhúng tin trình bày trong Bảng 3.1.

Bảng 3.1. Kết quả tiền xử lý và nhúng tin trên khối DCT lượng tử ở Hình 3.4 của lược đồ CLTT (k là không nhúng tin).

𝐃𝐢 Dãy hệ số lượng tử

gốc 𝐛𝐢 Kết quả tiền xử lý 𝐰𝐢 Dãy hệ số lượng tử sau

khi nhúng tin (𝐃𝐢′) 𝐷1 (0,0,-1,-2,-1,2,-34) 2 (0,0,-1,-2,-1,2,-34) 0 (0,0,-1,-2,-1,2,-34) D2 (0,0,0,0,1,-4,-41) 4 (0,0,0,0,1,-4,-41) 1 (0,0,1,0,1,-4,-41) D3 (0,0,1,0,2,-7,-24) 2 (0,0,2,0,2,-7,-24) 0 (0,0,2,0,2,-7,-24) D4 (0,0,1,-2,2,-1) 2 (0,0,1,-2,2,-1) 1 (1,0,1,-2,2,-1) D5 (0,1,0,-1,-1,-20) 1 (0,2,0,-1,-1,-20) k (0,2,0,-1,-1,-20) D6 (-1,-1,2,2,11) 0 (-1,-1,2,2,11) k (-1,-1,2,2,11) D7 (1,0,1,11,-15) 0 (2,0,1,11,-15) k (2,0,1,11,-15) D8 (0,0,1,-2) 2 (0,0,1,-2) 1 (1,0,1,-2) D9 (0,0,13,35) 2 (0,0,13,35) 0 (0,0,13,35)

62

Theo kết quả thực nghiệm trong [18], chất lượng ảnh chứa tin của lược đồ CLTT khá tốt. Tuy nhiên theo [16], khả năng nhúng tin của lược đồ [18] còn hạn chế.

3.2.2.2. Thuật toán trích tin

Trên mỗi khối DCT lượng tử của ảnh chứa tin, thuật toán xác định các dãy

𝐷𝑖′ = (𝑑1′, … , 𝑑𝑘′𝑖) với 1 ≤ 𝑖 ≤ 9 theo Hình 3.5. Ngoài việc trích bít dữ liệu 𝑤𝑖 từ dãy 𝐷𝑖′, thuật toán còn xác định vị trí nhúng tin 𝑧𝑖 để phục vụ quá trình khôi phục ảnh gốc.

Với mỗi dãy 𝐷𝑖′ = (𝑑1′, … , 𝑑𝑘′𝑖), gọi 𝑝𝑖 là vị trí đầu tiên để 𝑑𝑝′𝑖 khác 0 tính từ 𝑑1′,

1 ≤ 𝑝𝑖 ≤ 𝑘𝑖. Khi đó, tham số 𝑧𝑖 và bít dữ liệu 𝑤𝑖 (trường hợp 𝐷𝑖′ có nhúng tin) được xác định bằng 1 trong 6 luật sau:

Luật 1. Nếu 𝑑𝑝′𝑖 = ±1 và 𝑑𝑝′𝑖+1 = 0, thì 𝑤𝑖 = 1 và 𝑧𝑖 = 𝑝𝑖. (adsbygoogle = window.adsbygoogle || []).push({});

Luật 2. Nếu 𝑑𝑝′𝑖 = ±1 , 𝑑𝑝′𝑖+1 ≠ 0 và 𝑝𝑖 ≥ 3, thì 𝑤𝑖 = 0 và 𝑧𝑖 = 𝑝𝑖− 2.

Luật 3. Nếu 𝑑𝑝′𝑖 = ±1, 𝑑𝑝′𝑖+1≠ 0 và 𝑝𝑖 ≤ 2, thì 𝐷𝑖′ không chứa tin.

Luật 4. Nếu 𝑑𝑝′𝑖 ≠ ±1 và 𝑝𝑖 ≥ 3, thì 𝑤𝑖 = 0 và 𝑧𝑖 = 𝑝𝑖 − 2.

Luật 5. Nếu 𝑑𝑝′𝑖 ≠ ±1 và 𝑝𝑖 ≤ 2, thì 𝐷𝑖′ không chứa tin.

Luật 6. Nếu không tồn tại 𝑝𝑖 (𝑑𝑗′ = 0 với 𝑗 = 1, … , 𝑘𝑖) thì 𝑤𝑖 = 0 và 𝑧𝑖 = 𝑘𝑖− 1.

Dựa vào nội dung thuật toán nhúng tin 3.2.2.1 và các Luật1, Luật 2, Luật4, Luật 6 của thuật toán ta dễ dàng thấy: trong trường hợp 𝐷𝑖′ có nhúng tin, giá trị hệ số 𝑑𝑧′𝑖

chính là bít đã nhúng. Nói cách khác, 𝑧𝑖 là vị trí đã nhúng bít 𝑤𝑖.

3.2.2.3. Thuật toán khôi phục ảnh gốc

Thuật toán khôi phục ảnh gốc được thực hiện sau khi đã hoàn thành quá trình trích tin trên các dãy 𝐷𝑖′ = (𝑑1′, … , 𝑑′𝑘𝑖). Dựa vào vị trí nhúng tin 𝑧𝑖, thuật toán khôi phục dãy hệ số DCT lượng tử gốc 𝐷𝑖 = (𝑑1, … , 𝑑𝑘𝑖) gồm hai bước:

Bước 1: Khôi phục tại vị trí nhúng tin (trường hợp 𝐷𝑖′ có nhúng tin):

𝑑𝑧𝑖 = 0

Bước 2: Khôi phục các trường hợp đã xử lý nhập nhằng bằng 1 trong 3 luật sau:

Luật 1. Nếu 𝐷𝑖′ có nhúng tin, 4 ≤ z𝑖 + 3 ≤ 𝑘𝑖 và 𝑑𝑧′𝑖+3 = 0 , thì hệ số 𝑑𝑧𝑖+2 được tính theo công thức:

63

𝑑𝑧𝑖+2 = {𝑑′𝑧𝑖+2− 1, nếu 𝑑𝑧′𝑖+2 > 0 𝑑𝑧′𝑖+2+ 1, nếu 𝑑𝑧′𝑖+2 < 0

Luật 2. Nếu 𝐷𝑖′ không nhúng tin và hai hệ số (𝑑1′, 𝑑2′) của 𝐷𝑖′ có dạng (𝑥, 0) với

𝑥 ≠ 0, thì hệ số 𝑑1 được tính:

𝑑1 = {𝑑𝑑1′ − 1, nếu 𝑑1′ > 0

1′ + 1, nếu 𝑑1′ < 0

Luật 3. Nếu 𝐷𝑖′ không nhúng tin và ba hệ số (𝑑1′, 𝑑2′, 𝑑3′) của 𝐷𝑖′ có dạng

(0, 𝑥, 0) với 𝑥 ≠ 0, thì hệ số 𝑑2 được tính:

𝑑2 = {𝑑𝑑2′ − 1, nếu 𝑑2′ > 0

2

′ + 1, nếu 𝑑2′ < 0

Các hệ số còn lại của dãy 𝐷𝑖 có giá trị tương ứng với các hệ số trong 𝐷𝑖′.

Xét ví dụ minh họa thuật toán trích tin, thuật toán khôi phục ảnh gốc của lược đồ CLTT ứng với các tập hệ số DCT lượng tử chứa tin trong Bảng 3.1. Kết quả thực hiện trình bày trong Bảng 3.2.

Bảng 3.2. Kết quả trích tin và khôi phục ảnh gốc của lược đồ CLTT (k là không nhúng tin).

𝐃𝐢′ Dãy hệ số lượng tử chứa tin 𝐩𝐢 𝐰𝐢 𝐳𝐢 Dãy hệ số lượng tử gốc

𝐷1′ (0,0,-1,-2,-1,2,-34) 3 0 1 (0,0,-1,-2,-1,2,-34) 𝐷2′ (0,0,1,0,1,-4,-41) 3 1 3 (0,0,0,0,1,-4,-41) 𝐷3′ (0,0,2,0,2,-7,-24) 3 0 1 (0,0,1,0,2,-7,-24) 𝐷4′ (1,0,1,-2,2,-1) 1 1 1 (0,0,1,-2,2,-1) 𝐷5′ (0,2,0,-1,-1,-20) 2 k (0,1,0,-1,-1,-20) 𝐷6′ (-1,-1,2,2,11) 1 k (-1,-1,2,2,11) 𝐷7′ (2,0,1,11,-15) 1 k (1,0,1,11,-15) 𝐷8′ (1,0,1,-2) 1 1 1 (0,0,1,-2) 𝐷9′ (0,0,13,35) 3 0 1 (0,0,13,35)

Các số liệu trong Bảng 3.2 cho thấy, ngoài việc trích được dãy bít đã nhúng (adsbygoogle = window.adsbygoogle || []).push({});

𝑤 = (010110) lược đồ CLTT còn khôi phục thành công các dãy hệ số DCT lượng tử gốc như trên Hình 3.4.

64

3.2.3.Lược đồ nhúng tin thuận nghịch LS

Với mục đích nâng cao khả năng nhúng tin, Lin và cộng sự [16] đề xuất mô hình nhúng tin thuận nghịch hai lớp theo sơ đồ:

Ảnh gốc Biến đổi DCT Lượng tử hóa Mở rộng hiệu

CLTT Giải lượng tử

Biến đổi IDCT Ảnh chứa tin

Hình 3.6.Sơ đồ nhúng tin thuận nghịch của lược đồ LS.

Giống như lược đồ CLTT, lược đồ LS cũng xét 9 dãy hệ số DCT lượng tử theo các đường chéo như Hình 3.5. Mỗi dãy hệ số 𝐷𝑖 (1 ≤ 𝑖 ≤ 9) lược đồ LS thực hiện nhúng tin hai lớp như Hình 3.6: trước tiên dùng phương pháp mở rộng hiệu [33] để nhúng một bít trên hai hệ số DCT lượng tử lân cận, sau đó sử dụng lược đồ CLTT để nhúng thêm một bít.

Theo kết quả thực nghiệm trong [16], khả năng nhúng tin của lược đồ LS được cải thiện hơn so với lược đồ CLTT, nhưng chất lượng ảnh lại giảm đáng kể.

3.3. Đề xuất lược đồ thủy vân thuận nghịch mới trên ảnh JPEG

Dựa trên ý tưởng của các lược đồ [16,18,39], phần này đề xuất lược đồ thủy vân thuận nghịch mới trên ảnh JPEG (lược đồ đề xuất 3.3), các bít của dấu thủy vân được nhúng trên các khối hệ số DCT lượng tử của thành phần Y (thành phần chói). Trên mỗi khối, lược đồ đề xuất xét các dãy 𝐷𝑖 (1 ≤ 𝑖 ≤ 5) theo Hình 3.5. Nội dung lược đồ gồm hai thuật toán: nhúng dấu thủy vân, trích dấu thủy vân và khôi phục ảnh gốc.

3.3.1.Thuật toán nhúng dấu thủy vân

Trên mỗi dãy 𝐷𝑖 = (𝑑1, … , 𝑑𝑘𝑖) với 1 ≤ 𝑖 ≤ 5, gọi 𝑞𝑖 là vị trí đầu tiên mà 𝑑𝑞𝑖

khác 0 tính từ 𝑑1. Trong trường hợp, mọi hệ số của 𝐷𝑖 đều bằng 0 thì chọn 𝑞𝑖 = 𝑘𝑖+ 1. Với 𝑞𝑖 ≥ 2, thuật toán nhúng một hoặc hai bít dấu thủy vân (𝑤1𝑤2) vào dãy 𝐷𝑖 để nhận được 𝐷𝑖′ = (𝑑1′, … , 𝑑𝑘′𝑖). Nội dung thuật toán gồm các bước:

Bước 1: Xử lý nhập nhằng: Nếu 1 ≤ 𝑞𝑖 ≤ 𝑘𝑖 thì:

65

𝑑𝑞′𝑖 = {𝑑𝑞𝑖 + 1, nếu 𝑑𝑞𝑖 > 0 𝑑𝑞𝑖 , nếu 𝑑𝑞𝑖 < 0

Bước 2: Nhúng tin,xét các trường hợp:

T/h1: Nếu 𝑞𝑖 = 1 thì không nhúng tin trên dãy 𝐷𝑖.

T/h2: Nếu 𝑞𝑖 = 2 thì nhúng bít 𝑤1 theo công thức:

𝑑1′ = 𝑤1

T/h3: Nếu 𝑞𝑖 > 2 thì nhúng hai bít 𝑤1𝑤2 theo công thức:

𝑑𝑞′𝑖−1 = 𝑤1 và 𝑑q′𝑖−2 = 𝑤2

Để tiện theo dõi thuật toán, xét ví dụ nhúng dãy bít thủy vân 𝑤 = (010110101)

vào khối DCT lượng tử trên Hình 3.4. Kết quả thực hiện trình bày trong Bảng 3.3.

Bảng 3.3.Kết quả nhúng dãy bít dấu thủy vân trên khối DCT lượng tử ở Hình 3.4 của lược đồ đề xuất trên ảnh JPEG.

𝑫𝒊 Dãy hệ số lượng tử gốc 𝐪𝐢 Dãy bít

nhúng

Dãy hệ số lượng tử sau khi nhúng tin (𝑫𝒊′) 𝐷1 (0,0,-1,-2,-1,2,-34) 3 01 (1,0,-1,-2,-1,2,-34) 𝐷2 (0,0,0,0,1,-4,-41) 5 01 (0,0,1,0,2,-4,-41) 𝐷3 (0,0,1,0,2,-7,-24) 3 10 (0,1,2,0,2,-7,-24) 𝐷4 (0,0,1,-2,2,-1) 3 10 (0,1,2,-2,2,-1) 𝐷5 (0,1,0,-1,-1,-20) 2 1 (1,2,0,-1,-1,-20) (adsbygoogle = window.adsbygoogle || []).push({});

Từ các số liệu trên Bảng 3.1 và Bảng 3.3 cho thấy, cùng một khối DCT lượng tử trên Hình 3.4, thuật toán đề xuất nhúng được 9 bít trong khi lược đồ CLTT chỉ nhúng được 6 bít. Nếu xét riêng 6 bít nhúng đầu tiên, thuật toán đề xuất đã biến đổi 5 đơn vị hệ số lượng tử trong khi lược đồ CLTT cần biến đổi tới 6 đơn vị hệ số lượng tử. Do vậy, chất lượng ảnh chứa tin của lược đồ đề xuất tốt hơn lược đồ CLTT. Điều này sẽ được trình bày trong mục phân tích các lược đồ và thực nghiệm.

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

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

3.3.3.Phân tích khả năng nhúng tin và chất lượng ảnh thủy vân

Theo [9,41,50], đối với các lược đồ thủy vân thuận nghịch thì khả năng nhúng và chất lượng ảnh là hai tính chất quan trọng. Để phân tích, so sánh khả năng nhúng tin và chất lượng ảnh giữa lược đồ CLTT với lược đồ đề xuất, luận án sử dụng thư viện ảnh [29] bằng cách chọn ngẫu nhiên 10.000 khối DCT lượng tử của 50 ảnh thuộc các dạng: ảnh thông thường (common images), ảnh có kết cấu phức tạp (texture images), ảnh có độ sáng cao (high – tone images), ảnh có độ sáng thấp (low-tone images) và ảnh có nhiều vùng phẳng (flat region images). Dựa trên các khối DCT lượng tử được chọn, trong thực nghiệm thống kê số lượng đường chéo (theo Hình 3.5) ứng với từng dạng xử lý khác nhau của các lược đồ. Để biểu thị các dạng đường chéo, dưới đây dùng các ký hiệu: 𝑥, 𝑥+, 𝑥−, 𝑦 và 0 để biểu thị số nguyên khác 0, số nguyên dương, số nguyên âm, số nguyên và số 0. Ngoài ra dùng ký hiệu

𝐎 để biểu thị một dãy số 0 liên tiếp có độ dài lớn hơn bằng 2.

Ví dụ dạng đường chéo 𝐱𝐱𝐲 biểu thị các đường chéo có hai phần tử đầu (tính từ dưới lên) khác 0, phần tử thứ 3 có thể bằng 0 hoặc khác 0; dạng đường chéo 𝐎𝐱𝟎

biểu thị các đường chéo có một dãy ít nhất 2 phần tử đầu bằng 0 liên tiếp, sau đó là một phần tử khác 0 và một phần tử bằng 0.

Mỗi khối DCT lượng tử, trong thực nghiệm khảo sát 9 đường chéo ứng với lược đồ CLTT và 5 đường chéo đối với lược đồ đề xuất 3.3. Kết quả khảo sát trình bày trong Bảng 3.5 và Bảng 3.6.

Bảng 3.5. Kết quả khảo sát 9 đường chéo trên 10.000 khối DCT lượng tử theo lược đồ CLTT. (adsbygoogle = window.adsbygoogle || []).push({});

Dạng đường chéo (1) (2) (3) (4) (5) (6)

xxy x0y 0xx 0x0 Oyy Ox0

Số đường chéo 8527 6459 7224 4520 56473 6797

Bảng 3.6. Kết quả khảo sát 5 đường chéo trên 10.000 khối DCT lượng tử theo lược đồ đề xuất trên ảnh JPEG.

Dạng đường chéo (1) (2) (3) (4) (5) (6)

𝐱+ 𝐱− 𝟎𝐱+ 𝟎𝐱− 𝐎𝐱+ 𝐎𝐱−

68

Dưới đây sẽ phân tích khả năng nhúng tin và chất lượng ảnh của hai lược đồ dựa vào số liệu trên Bảng 3.5, Bảng 3.6.

3.3.3.1. Phân tích khả năng nhúng tin

Gọi 𝑁𝐶𝐿𝑇𝑇, 𝑁Đ𝑋 là số bít tối đa mà lược đồ CLTT và lược đồ đề xuất 3.3 có thể nhúng được trên 10.000 khối DCT lượng tử được chọn ngẫu nhiên. Lược đồ CLTT nhúng được 1 bít vào một đường chéo có dạng như cột (5) hoặc cột (6) của Bảng 3.5. Từ đó suy ra:

𝑁𝐶𝐿𝑇𝑇 = 63270

Trong khi lược đồ đề xuất nhúng được 2 bít vào một đường chéo có dạng như cột (5) hoặc cột (6), và nhúng được 1 bít vào một đường chéo có dạng như cột (3) hoặc cột (4) của Bảng 3.6. Từ đó suy ra:

𝑁Đ𝑋 = 89436

Như vậy, số bít nhúng trung bình trên một khối của các lược đồ CLTT và lược đồ đề xuất lần lượt là:

𝐴𝐶𝐿𝑇𝑇 =63270

10000 = 6.327 (3.1) 𝐴Đ𝑋 =89436

10000= 8.944 (3.2)

Từ (3.1) và (3.2) suy ra, khả năng nhúng tin trên 10.000 khối DCT lượng tử được chọn ngẫu nhiên từ nhiều dạng ảnh khác nhau của lược đồ đề xuất cao hơn khoảng 1.4 lần so với lược đồ CLTT.

3.3.3.2. Phân tích sự thay đổi của khối DCT lượng tử

Theo lược đồ CLTT, khi gặp một đường chéo thuộc các cột (2), (4) và (6) của Bảng 3.5 thì cần biến đổi một phần tử (bằng cách tăng hoặc giảm 1) của khối để tránh sự nhập nhằng. Vậy số phần tử cần thay đổi là:

𝑈𝐶𝐿𝑇𝑇 = 6459 + 4520 + 6797 = 17776

Ngoài ra, khi nhúng (chèn) các bít thủy vân 𝑤𝑖 vào các phần tử 0 của dãy: nếu

𝑤𝑖 = 1 thì một phần tử của dãy sẽ bị thay đổi từ 0 sang 1 hoặc -1. Giả sử dãy 𝑤𝑖 có phân phối đều thì số phần tử cần thay đổi để nhúng dãy bít dấu thủy vân sẽ bằng 31635. Như vậy, để nhúng được 63270 bít thì lược đồ CLTT cần thay đổi 49411 phần tử của các khối DCT lượng tử. Vậy hệ số biến đổi 𝑅 (số phần tử cần biến đổi để nhúng một bít) của lược đồ CLTT là:

69

𝑅𝐶𝐿𝑇𝑇 =49411

63270= 0.781 (3.3)

Bằng cách lập luận tương tự suy ra, đối với lược đồ đề xuất 3.3, để nhúng được 89436 bít dấu thủy vân cần biến đổi 23802 phần tử để tránh nhập nhằng và biến đổi 44718 phần tử khi chèn dãy bít dấu thủy vân có phân phối đều. Vây hệ số biến đổi

𝑅 của lược đồ đề xuất 3.3 là:

𝑅Đ𝑋 = 23802 + 44718

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

Từ (3.3) và (3.4) suy ra, khi nhúng cùng một dãy bít dấu thủy vân (có phân phối đều) trên 10000 khối DCT lượng tử được chọn ngẫu nhiên từ nhiều dạng ảnh khác nhau, thì lược đồ đề xuất gây ra một sự thay đổi nhỏ hơn so với lược đồ CLTT. Điều này dẫn đến chất lượng ảnh của lược đồ đề xuất sẽ được cải thiện hơn so với lược đồ CLTT. Kết luận này phù hợp với kết quả thực nghiệm trên bộ ảnh mẫu.

3.3.3.3. Phân tích chất lượng ảnh

Có thể dễ dàng nhận thấy, so với các phần tử cần thay đổi (trong khối DCT lượng tử) của lược đồ CLTT, thì các phần tử cần thay đổi của lược đồ đề xuất thường có xu hướng nằm phía trên của khối và ứng với các hệ số lượng tử nhỏ hơn (tính chất

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 67)