Một phương pháp thủy vân thuận nghịch mới dựa trên dịch chuyển histogram
TÓM TẮT - Bài báo đề xuất một phương pháp thủy vân thuận nghịch mới dựa trên dịch chuyển histogram (DCH). Trong
khi hầu hết các phương pháp thủy vân dựa trên DCH không có khả năng đóng gói mọi thông tin cần thiết về ảnh gốc vào ảnh thủy
vân, nên ở giai đoạn khôi phục chúng phải sử dụng một số thông tin phụ về ảnh gốc, thì phương pháp đề xuất đã khắc phục được
nhược điểm trên và không cần sử dụng bất kỳ thông tin phụ nào về ảnh gốc để khôi phục dấu thủy vân cũng như ảnh gốc. Các
phương pháp thủy vân như vậy gọi là có tính đóng gói hoặc độc lập thông tin phụ. Giải pháp đóng gói được sử dụng ở đây là kết
hợp kỹ thuật chèn bít thấp và dịch chuyển histogram. Ảnh gốc được chia thành hai miền: miền đầu gồm một số ít điểm ảnh được sử
dụng để nhúng thông tin phụ bằng kỹ thuật chèn bít thấp, miền thứ hai gồm phần còn lại của ảnh, dùng để nhúng dấu thủy vân theo
phương pháp DCH. So sánh với các phương pháp độc lập thông tin phụ khác, phương pháp đề xuất có khả năng nhúng cao hơn và
độ phức tạp tính toán thấp hơn. Ưu điểm của giải pháp đóng gói đề xuất là đơn giản, hiệu quả và có thể dễ dàng áp dụng đối với
hầu hết các phương pháp thủy vân DCH khác.
Tóm tắt nội dung tài liệu: Một phương pháp thủy vân thuận nghịch mới dựa trên dịch chuyển histogram
Kỷ yếu Hội nghị Quốc gia lần thứ VIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 9-10/7/2015 DOI: 10.15625/vap.2015.000180 MỘT PHƯƠNG PHÁP THỦY VÂN THUẬN NGHỊCH MỚI DỰA TRÊN DỊCH CHUYỂN HISTOGRAM Nguyễn Kim Sao 1, Lê Quang Hòa2, Phạm Văn Ất1 1 Đại học Giao thông Vận tải Hà Nội 2 Đại học Bách khoa Hà Nội nksao@utc.edu.vn, hoa.lequang1@hust.edu.vn, phamvanat83@vnn.vn TÓM TẮT - Bài báo đề xuất một phương pháp thủy vân thuận nghịch mới dựa trên dịch chuyển histogram (DCH). Trong khi hầu hết các phương pháp thủy vân dựa trên DCH không có khả năng đóng gói mọi thông tin cần thiết về ảnh gốc vào ảnh thủy vân, nên ở giai đoạn khôi phục chúng phải sử dụng một số thông tin phụ về ảnh gốc, thì phương pháp đề xuất đã khắc phục được nhược điểm trên và không cần sử dụng bất kỳ thông tin phụ nào về ảnh gốc để khôi phục dấu thủy vân cũng như ảnh gốc. Các phương pháp thủy vân như vậy gọi là có tính đóng gói hoặc độc lập thông tin phụ. Giải pháp đóng gói được sử dụng ở đây là kết hợp kỹ thuật chèn bít thấp và dịch chuyển histogram. Ảnh gốc được chia thành hai miền: miền đầu gồm một số ít điểm ảnh được sử dụng để nhúng thông tin phụ bằng kỹ thuật chèn bít thấp, miền thứ hai gồm phần còn lại của ảnh, dùng để nhúng dấu thủy vân theo phương pháp DCH. So sánh với các phương pháp độc lập thông tin phụ khác, phương pháp đề xuất có khả năng nhúng cao hơn và độ phức tạp tính toán thấp hơn. Ưu điểm của giải pháp đóng gói đề xuất là đơn giản, hiệu quả và có thể dễ dàng áp dụng đối với hầu hết các phương pháp thủy vân DCH khác. Từ khóa - giấu tin, thủy vân thuận nghịch, dịch chuyển histogram, chèn bít thấp. I. GIỚI THIỆU Thủy vân (watermarking) là kỹ thuật nhúng một dãy bít (thường gọi là dấu thủy vân) vào ảnh số nhằm xác thực và bảo vệ bản quyền sản phẩm ảnh. Thủy vân truyền thống chỉ có thể trích được dấu thủy vân mà không cho phép khôi phục ảnh gốc, tuy nhiên đối với nhiều trường hợp, việc sử dụng ảnh gốc là điều bắt buộc như các ứng dụng trong quân sự, giáo dục, y tế. Chính vì vậy, hướng nghiên cứu thủy vân thuận nghịch ngày càng được quan tâm. Thủy vân thuận nghịch là kỹ thuật thủy vân mà ngoài việc trích chọn dấu thủy vân còn khôi phục được ảnh gốc ban đầu. Các hướng nghiên cứu chính của thủy vân thuận nghịch cho đến nay bao gồm: nén bảo toàn, mở rộng hiệu, dịch chuyển histogram (viết tắt là DCH), phép biến đổi nguyên, sử dụng đặc trưng JPEG, cộng modulo, dự báo. Thủy vân thuận nghịch dựa trên nén bảo toàn [3], thực hiện nén dãy bít thấp của các điểm ảnh để tạo không gian dư thừa, sau đó dùng không gian này để lưu trữ dấu thủy vân. Nhóm phương pháp sử dụng các phép biến đổi nguyên như tương phản [2], wavelet nguyên [13] ứng dụng các phép biến đổi nguyên khả nghịch để biến đổi không gian ảnh, dữ liệu được nhúng trên miền biến đổi, ảnh gốc được khôi phục bằng phép biến đổi ngược. Phương pháp mở rộng hiệu [11] là phương pháp hiệu quả và được các nhà khoa học rất quan tâm. Hiệu hai điểm ảnh liên tiếp sẽ được mở rộng sang trái và thực hiện nhúng một bít thủy vân vào vị trí bên phải. Trong phương pháp sử dụng các đặc trưng JPEG [1,6,12], các khối DCT lượng tử thường chứa những phần tử 0 và được sử dụng để nhúng các bít thủy vân. Ở giải pháp cộng Modulo 256 [15], thủy vân được tạo ra bằng cách cộng modulo 256 giữa ảnh gốc và dấu thủy vân. Gần đây, xuất hiện các phương pháp thủy vân dựa trên các ma trận sai số dự báo so với ảnh gốc ban đầu [10]. Theo [7], tiêu chí quan trọng để so sánh, đánh giá các phương pháp thủy vân thuận nghịch là khả năng nhúng, chất lượng ảnh và độ phức tạp tính toán. Nếu như phương pháp mở rộng hiệu [11] có khả năng nhúng tin cao thì trái lại thủy vân dựa trên DCH [4,5,8,9] có chất lượng ảnh tốt hơn. Các phương pháp thủy vân thuận nghịch dựa trên DCH thường thực hiện như sau: Đầu tiên bằng cách DCH để tạo ra một cặp hai điểm ảnh liên tiếp ܽ và ܾ sao cho ݄ሺܽሻ lớn và ݄ሺܾሻ bằng 0 (݄ሺݔሻ là histogram của ảnh tại điểm ݔ). Sau đó nhúng một dãy bít thủy vân có độ dài ݄ሺܽሻ trên các điểm ảnh có giá trị bằng ܽ. Các phương pháp này cho chất lượng ảnh tốt, vì các điểm ảnh chỉ thay đổi tối đa một đơn vị. Tuy nhiên để khôi phục thủy vân và ảnh gốc cần biết ܽ, mà giá trị này rất khó tích hợp (đóng gói) trong ảnh thủy vân. Giữa người gửi và người nhận ảnh thủy vân phải trao đổi một thông tin phụ (giá trị ܽ). Ngoài ra, việc không đóng gói được mọi thông tin cần thiết vào ảnh thủy vân còn dẫn đến các hạn chế khác như không cho phép áp dụng thủy vân nhiều mức cũng như không thể sử dụng lược đồ khóa công khai. Gần đây đã có một số phương pháp nhằm khắc phục nhược điểm nêu trên: Hwang và các cộng sự [5] (sau đây gọi là phương pháp Hwang) đã xây dựng các cặp ܽ, ܾ đặc biệt để sau khi nhúng thủy vân, giá trị của chúng vẫn không 452 MỘT PHƯƠNG PHÁP THỦY VÂN THUẬN NGHỊCH MỚI DỰA TRÊN DỊCH CHUYỂN HISTOGRAM thay đổi. Do đó ܽ có thể được xác định từ ảnh thủy vân. Masaaki Fujiyoshi [4] (sau đây gọi là phương pháp MF) sử dụng phương pháp DHC như của Ni và cộng sự [9] để xác định ܽ, ܾ và đưa ra một quan hệ giữa histogram của ảnh gốc và ảnh thủy vân tại các điểm ܽ, ܾ. Giá trị ܽ được xác định bằng cách dò tìm các điểm ảnh thỏa mãn quan hệ trên. Cả hai phương pháp này đều có nhược điểm là tốn nhiều thời gian cho việc tìm ܽ và khả năng nhúng không cao. Trong bài báo này, chúng tôi đưa ra một phương pháp tích hợp ܽ vào ảnh bằng cách chia ảnh thành miền 8 điểm ảnh (miền nhỏ) và miền còn lại (miền lớn). Các giá trị ܽ, ܾ được xác định bằng kỹ thuật DCH trên miền lớn (chứ không phải trên toàn ảnh). Giá trị ܽ (gồm 8 bít) được nhúng vào miền nhỏ theo kỹ thuật chèn bít thấp. Bằng cách này, việc xác định ܽ từ ảnh thủy vân rất đơn giản và nhanh chóng. Giải pháp này có thể dễ dàng ứng dụng để cải tiến hầu hết các phương pháp thủy vân DCH đã biết với mục đích đóng gói sản phẩm. Các phương pháp mà việc khôi phục dấu thủy vân và ảnh gốc không cần sử dụng thông tin phụ đi kèm, trong [4] gọi là độc lập thông tin phụ (free from side information), ở đây chúng tôi gọi là tích hợp hay đóng gói. Bằng cả phân tích lý thuyết và thực nghiệm đã chứng tỏ phương pháp đề xuất có tốc độ thực hiện nhanh hơn (khối lượng tính toán ít hơn), khả năng nhúng cao hơn so với các phương pháp Hwang và MF. Cũng cần nhận xét rằng, các phương pháp thủy vân thuận nghịch nói chung và các phương pháp thủy vân thuận nghịch dựa trên dịch chuyển histogram nói riêng thuộc loại dễ vỡ nên các bài báo liên quan đều không xét tính bền vững của các phương pháp này. Nội dung tiếp theo của bài báo được tổ chức như sau: mục II trình bày những kiến thức cơ sở về phương pháp thủy vân thuận nghịch dựa trên DCH. Mục III giới thiệu các công trình liên quan gồm hai phương pháp Hwang và MF. Mục IV trình bày phương pháp đề xuất. Mục V đánh giá so sánh phương pháp đề xuất với các phương pháp liên quan bằng phân tích lý thuyết và thử nghiệm trên máy tính, cuối cùng là kết luận ở mục VI. II. NHỮNG KIẾN THỨC CƠ SỞ Bài báo này chỉ xét các ảnh đa cấp xám có giá trị điểm ảnh trong miền ु: ु = ሼݔ ݊݃ݑݕê݊ |0 ݔ 255ሽ Một ảnh đa cấp xám ܫ kích cỡ ܯ ൈܰ có thể xem như một ma trận cấp ܯ ൈܰ (ܯ hàng, ܰ cột) gồm các phần tử ܫሺ݅, ݆ሻ thuộc ु. Nhiều khi chỉ cần xét một miền con ܬ nào đó của ܫ, và ký hiệu ܲሺܬሻ là tập cặp chỉ số ሺ݅, ݆ሻ thuộc ܬ. Khi đó: ܲሺܫሻ = ሼሺ݅, ݆ሻ|1 ݅ ܯ, 1 ݆ ܰሽ, ܲሺܬሻ ⊆ ܲሺܫሻ Dưới đây sẽ trình bày khái niệm histogram, cặp histogram và phương pháp thủy vân dựa trên DCH đối với ảnh ܫ. A. Histogram và cặp histogram Histogram của ảnh ܫ (hoặc của miền con ܬ) tại điểm ݔ ∈ ु, ký hiệu ݄ሺݔሻ, là số điểm ảnh của ܫ (hoặc của ܬ) có giá trị bằng ݔ. Theo [14] hai giá trị ܽ, ܾ liên tiếp (ܾ = ܽ 1 hoặc ܽ െ 1) trên miền ु được gọi là một cặp histogram nếu: ݄ሺܽሻ 0, ݄ሺܾሻ = 0 Dưới đây ܽ và ݄ሺܽሻ được gọi là đỉnh và chiều cao của cặp ሺܽ, ܾሻ. Mỗi điểm ảnh ሺ݅, ݆ሻ ∈ ܲሺܫሻ có giá trị ܫሺ݅, ݆ሻ = ܽ có thể nhúng được một bít ݓ theo công thức: ܫᇱሺ݅, ݆ሻ = ቄܽ ݊ếݑ ݓ = 0ܾ ݊ếݑ ݓ = 1 Khi đó, thuật toán khôi phục ݓ và ܫሺ݅, ݆ሻ từ ܫ′ሺ݅, ݆ሻ đơn giản như sau: ܫሺ݅, ݆ሻ = ܽ, if ܫ’ሺ݅, ݆ሻ = ܽ then ݓ = 0 else ݓ = 1. Nhận xét 2.1: Bằng việc sử dụng cặp histogram ሺܽ, ܾሻ có thể nhúng thuận nghịch một dãy ݄ሺܽሻ bít trên các điểm ảnh ሺ݅, ݆ሻ có giá trị ܫሺ݅, ݆ሻ = ܽ. Đôi khi để cho gọn ta nói nhúng ݄ሺܽሻ bít trên cặp histogram ሺܽ, ܾሻ. Nhận xét 2.2: Sau khi nhúng, số điểm ảnh có giá trị bằng ܽ giảm khoảng một nửa (giả định số bít 0 và 1 trong dãy thủy vân xấp xỉ bằng nhau), nên ݄ሺܽሻ giảm một nửa. Hay nói cách khác: ݄′ሺܽሻ ൎ 12݄ሺܽሻ trong đó ݄’ là histogram của ảnh thủy vân ܫ’ Nguyễn Kim Sao, Lê Quang Hòa, Phạm Văn Ất 453 B. Dịch chuyển histogram Giả sử điểm ảnh ܽ có ݄ሺܽሻ 0. Để tạo cặp histogram ሺܽ, ܽ െ 1ሻ có thể sử dụng kỹ thuật DCH như sau: Đầu tiên tìm điểm ݖ ൏ ܽ có ݄ሺݖሻ = 0, sau đó DCH trên đoạn ሾݖ 1, ܽ െ 1ሿ sang trái theo thuật toán for ሺ݅, ݆ሻ ∈ ܲሺܫሻ and ܫሺ݅, ݆ሻ ∈ ሾݖ 1, ܽ െ 1ሿ ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ െ 1 End Tương tự để tạo cặp histogram ሺܽ, ܽ 1ሻ có thể làm như sau: Đầu tiên tìm điểm ݖ ܽ có ݄ሺݖሻ = 0, sau đó DCH trên đoạn ሾܽ 1, ݖ െ 1ሿ sang phải theo thuật toán: for ሺ݅, ݆ሻ ∈ ܲሺܫሻ and ܫሺ݅, ݆ሻ ∈ ሾܽ 1, ݖ െ 1ሿ ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ 1 End Nhận xét 2.3: Ảnh sau khi DCH sang trái có thể dễ dàng khôi phục bằng phép dịch chuyển sang phải và ngược lại. C. Các phương pháp thủy vân thuận nghịch dựa trên dịch chuyển histogram Các phương pháp này dựa trên kỹ thuật DCH để tạo ra các cặp histogram, sau đó nhúng thủy vân trên các cặp histogram nhận được. Để tạo ra một cặp histogram, theo như mục II.B, cần có một điểm ݖ với ݄ሺݖሻ = 0. Nếu không tồn tại điểm ݖ như vậy, có thể chọn ݖ ൏ ܽ (hoặc ݖ ܽ) có ݄ሺݖሻ nhỏ nhất, thường ký hiệu là ݉݅݊ܮ ሺ݄ặܿ ܴ݉݅݊ሻ. Khi đó, muốn khôi phục ảnh, cần bổ sung giá trị ݉݅݊ܮ ሺ݄ặܿ ܴ݉݅݊ሻ và vị trí các điểm ảnh ܫሺ݅, ݆ሻ có giá trị bằng ݉݅݊ܮ ሺ݄ặܿ ܴ݉݅݊ሻ vào trước dấu thủy vân để tạo thành một dãy bít cần nhúng. Dãy bít thực nhúng, ký hiện ܤ, sẽ gồm tập thông tin bổ trợ ܪ và dấu thủy vân ܹ: ܤ = ܪ⨁ܹ Các phương pháp dựa trên DCH khác nhau chủ yếu ở cách tạo ra các cặp histogram có chiều cao lớn để tăng khả năng nhúng tin. Nhóm các phương pháp này có ưu điểm là chất lượng ảnh thủy vân tốt vì giá trị các điểm ảnh chỉ phải thay đổi tối đa một đơn vị. Để khôi phục dãy bít đã nhúng ܤ và ảnh gốc cần phải biết đỉnh của các cặp histogram. Thông tin này khó có thể đưa vào ܪ để tích hợp trong ảnh thủy vân nên thường phải trao đổi bên ngoài. Như vậy, nếu chỉ biết ảnh thủy vân thì vẫn chưa thể thực hiện được việc khôi phục cần thiết. Hầu hết các phương pháp thủy vân đều mắc phải nhược điểm này. Gần đây, có một số công trình nghiên cứu khắc phục được nhược điểm nêu trên như các phương pháp Hwang và MF. Tuy nhiên các phương pháp này vẫn còn tồn tại một số hạn chế về khả năng nhúng tin và độ phức tạp tính toán như sẽ trình bày dưới đây. III. NHỮNG CÔNG TRÌNH LIÊN QUAN A. Phương pháp Hwang Hwang và các cộng sự, trước tiên tìm điểm ݁ܽ݇ đạt cực đại histogram: ݄ሺ݁ܽ݇ሻ = ݉ܽݔሼ݄ሺݔሻ|ݔ ∈ ुሽ (nếu tồn tại nhiều điểm cực đại thì chọn điểm đầu tiên). Sau đó DCH sang trái và sang phải để tạo thành các cặp histogram (݁ܽ݇ െ 1, ݁ܽ݇ െ 2) và (݁ܽ݇ 1, ݁ܽ݇ 2), cuối cùng sử dụng các cặp trên để nhúng dãy bít thủy vân. Bằng cách tạo ra hai cặp histogram đặc biệt như trên, giá trị ݁ܽ݇ không thay đổi sau khi thủy vân. Do đó, có thể tính được peak từ ảnh thủy vân ܫ’ theo công thức: ݄′ሺ݁ܽ݇ሻ = ݉ܽݔሼ݄′ሺݔሻ|ݔ ∈ ुሽ (3.1) Từ đó xác định các đỉnh ݁ܽ݇ െ 1, ݁ܽ݇ 1 của các cặp histogram và khôi phục được dấu thủy vân cũng như ảnh gốc ban đầu. Nhận xét 3.1: Khả năng nhúng (số bít) của phương pháp Hwang trên ảnh ܫ, ký hiệu ܥ, theo nhận xét 2.1 bằng: ܥ = ݄ሺ݁ܽ݇ െ 1ሻ ݄ሺ݁ܽ݇ 1ሻ Nhận xét 3.2: Theo nhận xét 2.2, nếu tiếp tục nhúng trên ܫ’ (nhúng mức 2) thì khả năng nhúng ܥᇱ chỉ bằng khoảng một nửa ܥ: ܥᇱ ൎ 1 2ܥ 454 MỘT PHƯƠNG PHÁP THỦY VÂN THUẬN NGHỊCH MỚI DỰA TRÊN DỊCH CHUYỂN HISTOGRAM B. Phương pháp MF Phương pháp MF tìm điểm cực đại histogram ݁ܽ݇ như bước đầu của phương pháp Hwang. Sau đó DCH trái để được cặp histogram ሺ݁ܽ݇, ݁ܽ݇ െ 1ሻ và thực hiện nhúng tin trên cặp histogram tìm được. Để tìm giá trị ݁ܽ݇ từ ảnh thủy vân, M. Fujiyoshi dựa trên tính chất sau của ݁ܽ݇: ݄ᇱሺ݁ܽ݇ െ 1ሻ ݄ᇱሺ݁ܽ݇ሻ = ݄ሺ݁ܽ݇ሻ (3.2) Giá trị ݄ሺ݁ܽ݇ሻ được đưa vào 16 bít đầu của tập ܪ. Nói cách khác, ݄ሺ݁ܽ݇ሻ được biến đổi thành một dãy 16 bit nhị phân và được nhúng vào 16 điểm ảnh đầu của ܫ có giá trị bằng ݁ܽ݇ theo thuật toán trong mục II.A. Việc xác định peak được thực hiện bằng cách duyệt từng giá trị ݔ trên miền ु, ứng với mỗi ݔ, trích 16 bít đầu tiên từ các điểm ảnh ܫ′ሺ݅, ݆ሻ có giá trị bằng ݔ hoặc ݔ െ 1 theo thuật toán trong mục II.A. Gọi ݃ሺݔሻ là giá trị trích được, nếu ݄ᇱሺݔ െ 1ሻ ݄ᇱሺݔሻ = ݃ሺݔሻ thì ݔ thỏa mãn điều kiện (3.2), nên có thể xem đó là ݁ܽ݇. Từ đỉnh ݁ܽ݇ tìm được, dễ dàng khôi phục được dấu thủy vân và ảnh gốc. Phương pháp MF có khả năng nhúng không cao do chỉ sử dụng một cặp histogram, việc xác định ݁ܽ݇ bằng cách dò từng bước như trên tốn khá nhiều thời gian. Ngoài ra, do có thể còn có các giá trị khác ݁ܽ݇ cũng thỏa mãn điều kiện (3.2), nên không thể khẳng định chắc chắn giá trị nhận được theo cách trên đúng là ݁ܽ݇ cần tìm. Nhận xét 3.3: Khả năng nhúng của MF trên ܫ, ký hiệu ܥ và khả năng nhúng trên ܫ’, ký hiệu ܥᇱ được tính theo các công thức ܥ = maxሼ݄ሺݔሻ|ݔ ∈ ुሽ ܥᇱ = maxሼ݄′ሺݔሻ|ݔ ∈ ुሽ Vì chiều cao cực đại của ݄’ xấp xỉ bằng ݄, nên ܥᇱ gần bằng ܥ. IV. PHƯƠNG PHÁP ĐỀ XUẤT Ý tưởng phương pháp đề xuất là chia ảnh ܫ thành 2 miền: ܫଵ gồm 8 điểm ảnh và ܫଶ là phần còn lại. Sau đó xây dựng histogram ݄ሺݔሻ trên ܫଶ. Việc nhúng tin được thực hiện bằng phương pháp DCH trên ܫଶ (chứ không phải trên ܫ), còn giá trị ݁ܽ݇ được được lưu trữ trên các bít thấp của ܫଵ. Chi tiết thuật toán như sau: A. Thuật toán nhúng thủy vân Bước 1: Chia ảnh thành 2 miền ܫଵ và ܫଶ. Ở đây ܫଵ gồm 8 điểm ảnh đầu của ܫ, ܫଶ là phần còn lại. Tuy nhiên, về nguyên tắc, ܫଵ gồm 8 điểm ảnh bất kỳ. Cũng có thể dùng một khóa ngẫu nhiên để chọn các điểm ảnh cho ܫଵ. Bước 2: Xây dựng histogram ݄ሺݔሻ trên ܫଶ và xác định các giá trị ݁ܽ݇,݉݅݊ܮ và ܴ݉݅݊ theo các công thức: ݄ሺ݁ܽ݇ሻ ݄ሺ݁ܽ݇ 1ሻ = ݉ܽݔሼ݄ሺݔሻ ݄ሺݔ 1ሻ|ݔ ∈ ु/ሼ255ሽሽ ݄ሺ݉݅݊ܮሻ = ݉݅݊ሼ݄ሺݔሻ|ݔ ∈ ሾ0, ݁ܽ݇ሿ, ݔ ∈ ुሽ ݄ሺܴ݉݅݊ሻ = ݉݅݊ሼ݄ሺݔሻ|ݔ ∈ ሾ݁ܽ݇, 255ሿ, ݔ ∈ ुሽ Bước 3: Xác định tập thông tin bổ trợ ܪ: Tham số Ý nghĩa Độ dài bít lưu trữ ܸ 8 bít thấp của miền ܫଵ 8 ݉݅݊ܮ Điểm cực tiểu bên trái 8 ܥ Số điểm cực tiểu bên trái 8 ܯ Vị trí các điểm ảnh có giá trị bằng minL 9 ൈ 2 ൈ ܥ ܴ݉݅݊ Điểm cực tiểu bên phải 8 ܥோ Số điểm cực tiểu bên phải 8 ܯோ Vị trí các điểm ảnh có giá trị bằng minR 9 ൈ 2 ൈ ܥோ Bước 4: Xác định dãy bít thực nhúng: ܤ = ܪ⨁ܹ Ở đây, ܹ là dãy bít thủy vân có độ dài: ݏ݅ݖ݁ሺܹሻ = ݄ሺ݁ܽ݇ሻ ݄ሺ݁ܽ݇ 1ሻ െ ݏ݅ݖ݁ሺܪሻ Bước 5: Nhúng giá trị ݁ܽ݇ bằng cách chèn vào các bít thấp của miền ܫଵ. Kết quả được miền ܫଵᇱ Bước 6: Tạo các cặp histogram ሺ݁ܽ݇, ݁ܽ݇ െ 1ሻ và ሺ݁ܽ݇ 1, ݁ܽ݇ 2ሻ bằng cách dịch chuyển histogram như sau: Nguyễn Kim Sao, Lê Quang Hòa, Phạm Văn Ất 455 for ሺ݅, ݆ሻ ∈ ܲሺܫଶሻ and ܫሺ݅, ݆ሻ ∈ ሾ݉݅݊ܮ 1, ݁ܽ݇ െ 1ሿ ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ െ 1 End và for ሺ݅, ݆ሻ ∈ ܲሺܫଶሻ and ܫሺ݅, ݆ሻ ∈ ሾ݁ܽ݇ 2,ܴ݉݅݊ െ 1ሿ ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ 1 end Bước 7: Nhúng dãy bít ܤ = ܾଵܾଶ ܾ (ܮ = ݏ݅ݖ݁ሺܤሻ) trên các điểm ảnh có giá trị bằng ݁ܽ݇ hoặc ݁ܽ݇ 1 như sau: ݇ = 0, for ሺ݅, ݆ሻ ∈ ܲሺܫଶሻ and ܫሺ݅, ݆ሻ ∈ ሾ݁ܽ݇, ݁ܽ݇ 1ሿ ݇ = ݇ 1 if ܾ = 0 then ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ Else if ܫሺ݅, ݆ሻ = ݁ܽ݇ then ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ െ 1 else ܫ′ሺ݅, ݆ሻ = ܫሺ݅, ݆ሻ 1 end end end Sau khi thực hiện bước 7 được ܫଶᇱ . Ảnh thủy vân ܫ′gồm 2 miền ܫଵᇱ và ܫଶᇱ . Nhận xét 4.1: Sau khi nhúng thủy vân, các điểm ảnh bị biến đổi gồm: Các điểm trong ܫଵ và các điểm trong ܫଶ có giá trị thuộc khoảng ሾ݉݅݊ܮ,ܴ݉݅݊ሿ. B. Thuật toán khôi phục thủy vân và ảnh gốc Dấu thủy vân ܹ và ảnh gốc ܫ được khôi phục từ ảnh thủy vân ܫᇱ theo các bước: Bước 1: Chia ảnh ܫ′ thành hai miền ܫଵᇱ và ܫଶᇱ như trong thuật toán nhúng. Bước 2: Trích 8 bít thấp của miền ܫଵᇱ để được ݁ܽ݇ Bước 3: Dựa vào ݁ܽ݇ để trích dãy bít ܤ được nhúng trong miền ܫଶᇱ như sau: ݇ = 0, for ሺ݅, ݆ሻ ∈ ܲሺܫଶሻ and ܫሺ݅, ݆ሻ ∈ ሾ݁ܽ݇ െ 1, ݁ܽ݇ 2ሿ ݇ = ݇ 1 if ܫ′ሺ݅, ݆ሻ ∈ ሾ݁ܽ݇, ݁ܽ݇ 1ሿ then ܾ = 0 else ܾ=1 end end Bước 4: Tách ܤ để nhận được tập thông tin bổ trợ ܪ và dấu thủy vân ܹ Bước 5: Sử dụng ܪ để khôi phục ảnh gốc 5.1: Khôi phục ܫଵ: Chèn giá trị ܸ vào các bít thấp của miền ܫଵᇱ 456 MỘT PHƯƠNG PHÁP THỦY VÂN THUẬN NGHỊCH MỚI DỰA TRÊN DỊCH CHUYỂN HISTOGRAM 5.2: Khôi phục các điểm trong ܫଶ có giá trị thuộc khoảng ሾ݉݅݊ܮ,ܴ݉݅݊ሿ. for ሺ݅, ݆ሻ ∈ ܲሺܫଶᇱሻ and ܫ′ሺ݅, ݆ሻ ∈ ሾ݉݅݊ܮ 1,ܴ݉݅݊ െ 1ሿ if ܫ′ሺ݅, ݆ሻ ൏ ݁ܽ݇ ܫሺ݅, ݆ሻ = ܫ′ሺ݅, ݆ሻ 1 else if ܫ′ሺ݅, ݆ሻ ݁ܽ݇ 1 then ܫሺ݅, ݆ሻ = ܫ′ሺ݅, ݆ሻ െ 1 end end 5.3: Khôi phục các điểm trong ܫଶ có giá trị bằng ݉݅݊ܮ,ܴ݉݅݊ for ሺ݅, ݆ሻ ∈ ܲሺܫଶᇱሻ and ܫ′ሺ݅, ݆ሻ ∈ ሼ݉݅݊ܮ,ܴ݉݅݊ሽ if ሺ݅, ݆ሻ ∈ ܯ⋃ ܯோ then ܫሺ݅, ݆ሻ = ܫ′ሺ݅, ݆ሻ else if ܫᇱሺ݅, ݆ሻ = ݉݅݊ܮ then ܫሺ݅, ݆ሻ = ܫᇱሺ݅, ݆ሻ 1 else ܫሺ݅, ݆ሻ = ܫᇱሺ݅, ݆ሻ െ 1 end end end C. Ví dụ Để hiểu rõ hơn về phương pháp đề xuất, chúng tôi trình bày một ví dụ trong đó ܫ cho trong hình 1 và ܹ là một dãy 8 bít: 00001111 6 5 5 8 7 5 5 5 1 6 5 6 5 5 5 6 5 6 5 7 5 6 6 7 4 5 5 5 2 4 6 5 9 5 6 6 9 6 5 5 6 5 6 5 3 6 8 2 6 7 5 5 5 5 5 6 11 6 6 6 5 6 6 6 6 5 6 6 6 8 6 5 5 5 6 5 5 6 5 6 6 6 0 5 6 3 5 6 6 5 6 4 4 8 6 5 4 5 1 6 5 6 5 5 5 6 5 6 5 8 5 6 6 8 3 5 5 5 1 3 6 5 10 5 6 6 10 6 5 5 6 5 6 5 2 6 9 1 6 8 5 5 5 5 5 6 11 6 6 6 5 6 6 6 6 5 6 6 6 9 6 5 5 5 6 5 5 6 5 6 6 6 0 5 6 2 5 6 6 5 6 4 4 8 6 5 4 5 1 7 4 7 4 5 4 6 5 6 5 8 5 6 6 8 3 5 5 4 1 3 6 5 10 5 6 6 10 6 5 4 6 5 6 5 2 6 9 1 6 8 5 5 4 5 5 6 11 6 6 7 5 6 7 6 6 5 6 7 6 9 7 5 5 5 6 5 5 6 5 6 6 6 0 5 6 2 4 7 7 4 Hình 1. Ảnh gốc Hình 2. Ảnh sau khi chèn peak vào I1 và dịch chuyển histogram trên I2 (các số nghiêng là số bị biến đổi) Hình 3. Ảnh thủy vân (các số đậm là các số có biến đổi) Bước 1: ܫଵ gồm 8 điểm ảnh đầu của ܫ (8 ô màu xám), ܫଶ là phần còn lại. Bước 2: Histogram ݄ሺݔሻ trên ܫଶ và các đại lượng liên quan: ݔ 0 1 2 3 4 5 6 7 8 9 10 11 12 255 ݄ሺݔሻ 1 1 2 2 2 32 34 3 2 2 0 1 0 0 ݁ܽ݇ = 5 (biểu diễn nhị phân là 00000101); ݉݅݊ܮ = 1; ܴ݉݅݊ = 10. Bước 3: Tập thông tin bổ trợ ܪ: Tham số ܸ ݉݅݊ܮ=1 ܥ=1 ܯ={(1,9)} ܴ݉݅݊=10 ܥோ=0 ܯோ rỗng Nhị phân 11110100 00000001 00000001 000000001000001001 00001010 00000000 Bước 4: Dãy bít thực nhúng (có độ dài bằng ݄ሺ5ሻ ݄ሺ6ሻ = 66): ܤ = ܪ⨁ܹ= 111101000000000100000001000000001000001001000010100000000000001111 Nguyễn Kim Sao, Lê Quang Hòa, Phạm Văn Ất 457 Bước 5: Nhúng giá trị ݁ܽ݇ (00000101) bằng cách chèn vào các bít thấp của miền ܫଵ. Kết quả được miền ܫଵᇱ 6 4 4 8 6 5 4 5 Bước 6: Tạo các cặp histogram ሺ5, 4ሻ và ሺ6,7ሻ bằng cách DCH, kết quả được ma trận ở hình 2. Bước 7: Nhúng dãy bít ܤ trên các điểm ảnh có giá trị bằng 5 hoặc 6 được ảnh thủy vân như hình 3. V. SO SÁNH PHƯƠNG PHÁP ĐỀ XUẤT VỚI CÁC PHƯƠNG PHÁP HWANG VÀ MF Mục này sẽ so sánh các phương pháp bằng cả phân tích lý thuyết và thực nghiệm trên máy tính. A. Phân tích lý thuyết 1. Khả năng nhúng Đối với phương pháp đề xuất, khả năng nhúng ܥđ௫ trên ܫ và ܥđ௫ᇱ trên ܫ’ được tính theo các công thức: ܥđ௫ = ݉ܽݔሼ݄ሺݔሻ ݄ሺݔ 1ሻ|ݔ ∈ ुሽ ܥđ௫ᇱ = ݉ܽݔሼ݄′ሺݔሻ ݄′ሺݔ 1ሻ|ݔ ∈ ुሽ Từ đó và các nhận xét 3.1, 3.2, 3.3 có thể rút ra các kết luận sau: a. Khả năng nhúng của phương pháp đề xuất trên ảnh gốc ܫ (nhúng mức 1) lớn hơn phương pháp Hwang không nhiều và xấp xỉ hai lần phương pháp MF b. Khả năng nhúng của phương pháp đề xuất trên ảnh thủy vân ܫ’ (nhúng mức 2) lớn hơn khoảng hai lần cả hai phương pháp Hwang và MF Kết luận này phù hợp với kết quả thực nghiệm trong mục V.B. 2. Độ phức tạp tính toán Ba phương pháp chỉ khác nhau ở việc xác định giá trị ݁ܽ݇ từ ảnh thủy vân, vì vậy chỉ cần tập trung đánh giá khối lượng tính toán của công đoạn tìm ݁ܽ݇ trong các phương pháp. - Phương pháp Hwang: Để xác định ݁ܽ݇ theo công thức (3.1), trước tiên cần sử dụng ܯ ൈܰ phép cộng để xây dựng histogram ݄’ của ảnh ܫ’ (cỡ ܯ ൈܰ). Sau đó, thực hiện 256 phép so sánh để xác định cực đại của ݄’ሺݔሻ. Như vậy, khối lượng tính toán để xác định ݁ܽ݇ của Hwang gồm: (ܯ ൈܰ) phép cộng và 256 phép so sánh. - Phương pháp MF: Trong phương pháp này, cũng cần sử dụng ܯ ൈܰ phép cộng để xây dựng histogram ݄’ሺݔሻ. Sau đó, với mỗi ݔ thuộc ु, cần kiểm tra điều kiện: ݄ᇱሺݔ െ 1ሻ ݄ᇱሺݔሻ = ݃ሺݔሻ (4.1) Để xác định 16 bít của ݃ሺݔሻ cần duyệt trên ảnh ܫ’ (kích thước ܯ ൈܰ) để tìm ra 16 phần tử có giá trị bằng ݔ hoặc ݔ െ 1 (gặp ݔ lấy bít 0, gặp ݔ െ 1 lấy bít 1). Việc này cần trung bình ሺ16 ܯ ൈ ܰሻ/2 phép so sánh. Sau đó cần 15 phép dịch chuyển và 15 phép cộng để chuyển 16 bít ra dạng thập phân. Vậy để xác định ݃ሺݔሻ cần thực hiện: ሺ16 ܯ ൈ ܰሻ/2 phép so sánh, 15 phép dịch chuyển và 15 phép cộng. Sau khi có ݃ሺݔሻ, cần thêm một phép cộng và một phép so sánh để kiểm tra điều kiện (4.1). Trung bình cần duyệt khoảng 256/2 giá trị ݔ (một nửa số phần tử của ु). Từ đó suy ra khối lượng tính toán để xác định ݁ܽ݇ của MF khoảng: ሺܯ ൈ ܰ 128 ൈ 16ሻ phép cộng, 128 ൈ 15 phép dịch chuyển và 64 ൈ ሺ18 ܯ ൈ ܰሻ phép so sánh. - Phương pháp đề xuất: Giá trị ݁ܽ݇ được trích ra từ 8 điểm ảnh của ܫ’, vì vậy chỉ cần sử dụng: 8 phép trích bít thấp, 7 phép dịch chuyển và 7 phép cộng. Từ các phân tích trên, có thể kết luận: khối lượng tính toán của phương pháp đề xuất ít hơn nhiều so với cả hai phương pháp Hwang và MF. Điều này hoàn toàn phù hợp với kết quả thử nghiệm trong phần V.B. 3. Chất lượng ảnh Do khả năng nhúng của các phương pháp khác nhau, nên không thể dùng tiêu chuẩn PSNR để so sánh chất lượng ảnh của chúng. Để khách quan, ở đây sử dụng hệ số biến đổi ảnh (số điểm ảnh cần thay đổi để nhúng 1 bít) là tiêu chí so sánh chất lượng ảnh. Chúng ta nhận thấy, ảnh bị thay đổi là do dịch chuyển histogram. Ngoài ra, số điểm ảnh cần dịch chuyển tỷ lệ thuận với số bít nhúng được. Từ đó suy ra hệ số biến đổi ảnh của cả ba phương pháp trên là tương đương. B. Thử nghiệm Để minh họa các kết quả phân tích lý thuyết, chúng tôi tiến hành thử nghiệm trên bộ ảnh mẫu trong [16]. Các ảnh từ hình 4 đến hình 8 có kích thước 512x512, hình 9 có kích thước 256x256 và hình 10 có kích thước 1024x1024. 4 D L 1 đ 58 ấu thủy vân enovo Ideapa H Hìn . So sánh kh Khả nă ây. Nhận x Ở mức Ở mức ܹ lấy từ ảnh d S410p. ình 4. Lena h 8. Tiffany ả năng nhúng ng nhúng tin STT 1 2 3 4 5 6 7 STT 1 Le 2 Pe 3 Tif 4 Bo 5 Sa 6 Sig 7 Ai Tổ ét 5.1: Từ các 1, gấp 1.02 lầ 2, gấp 1.97 lầ MỘT PHƯƠ nhị phân hình H tin của mỗi phươ Bảng Ảnh thử ng Lena Pepper Tiffany Boat Sailboat Sight Airport Tổng Bảng 2. Ảnh thử nghiệ na pper fany at ilboat ht rport ng bảng trên có n so với Hwa n so với Hwa NG PHÁP THỦ 11. Chương ình 5. Pepers Hình 9. Sight ng pháp trên 1. Khả năng n hiệm H Khả năng nhú m Hw 27 26 29 38 35 10 226 393 thể kết luận: ng và gấp 2 s ng và gấp 1.9 Y VÂN THUẬN trình viết bằn H Hình từng ảnh ở m húng tin trên ả Số bít nhú wang 5535 5263 5788 7592 7109 2232 44894 78413 ng tin trên ảnh Số bít nhún ang 37 28 02 47 43 96 39 92 khả năng nhú o với MF. 5 so với MF. NGHỊCH MỚI g ngôn ngữ M ình 6. Sailboa 10. A ức 1 và mức nh gốc ܫ (mức ng tối đa của c MF 2919 2712 2956 3906 3707 1200 22723 40123 thủy vân ܫ’ (mứ g tối đa của các MF 2803 2662 2934 3836 3657 1165 22673 39730 ng của phươn DỰA TRÊN DỊC atLab R2012 t irport Hìn 2 được trình 1) ác lược đồ Đề xuấ 5696 5854 5854 7738 7364 2331 45395 80232 c 2) lược đồ Đề xuất 5421 5243 5785 7556 6739 2298 44385 77427 g pháp đề xuấ H CHUYỂN H a và chạy trê Hình 7. Boat h 11. W mark bày trong hai t t ISTOGRAM n máy tính t ater bảng dưới Nguyễn Kim Sao, Lê Quang Hòa, Phạm Văn Ất 459 Ở cả hai mức, gấp 1.34 lần so với Hwang và gấp 1.97 so với MF. 2. So sánh thời gian xác định ݁ܽ݇ từ ảnh thủy vân Bảng dưới đây thống kê thời gian xác định ݁ܽ݇ từ ảnh thủy vân của mỗi phương pháp trên các ảnh gốc khác nhau. Bảng 3. Thời gian xác định ݁ܽ݇ STT Ảnh thử nghiệm Thời gian trích giá trị peak (tính bằng micro giây) Hwang MF Đề xuất 1 Lena 6700 949500 7.5 2 Pepper 6600 491200 7.4 3 Tiffany 6600 1891400 7.5 4 Boat 6600 579900 7.5 5 Sailboat 6700 635700 7.5 6 Sight 1600 186100 7.5 7 Airport 29100 89700 7.5 Tổng 63900 4823500 52.4 Nhận xét 5.2: Bảng 3 cho thấy, thời gian dò tìm ݁ܽ݇ của phương pháp Hwang và MF phụ thuộc vào kích thước ảnh, của phương pháp đề xuất độc lập với kích thước ảnh. Nhận xét 5.3: Thời gian dò tìm giá trị ݁ܽ݇ của phương pháp Hwang gấp khoảng 1219 lần và của phương pháp MF gấp 92051 lần so với phương pháp đề xuất. 3. So sánh hệ số biến đổi ảnh Bảng dưới đây thống kê số phần tử cần biến đổi để nhúng một bít của mỗi phương pháp trên các ảnh thử nghiệm. Bảng 4. Hệ số biến đổi ảnh STT Ảnh thử nghiệm Hệ số biến đổi ảnh Hwang MF Đề xuất 1 Lena 46.73 65.68 45.91 2 Pepper 49.23 34.88 44.69 3 Tiffany 43.10 53.22 44.01 4 Boat 33.71 54.92 33.58 5 Sailboat 36.10 51.61 35.33 6 Sight 28.84 6.93 28.06 7 Airport 44.67 10.05 22.62 Trung bình 40.34 39.61 36.31 Bảng 4 cho thấy, hệ số biến đổi ảnh giữa các phương pháp có sự chênh lệch không nhiều, song ở mức trung bình, phương pháp đề xuất có sự biến đổi ảnh thấp hơn. VI. KẾT LUẬN Bài báo đề xuất một phương pháp thủy vân thuận nghịch có tính chất độc lập thông tin phụ (đóng gói ảnh thủy vân) bằng giải pháp kết hợp nhúng bít thấp và dịch chuyển histogram. Từ ảnh thủy vân có thể trích dấu thủy vân và khôi phục ảnh gốc mà không cần thông tin phụ kèm theo. Giải pháp đề xuất có thể dễ dàng sử dụng cho hầu hết các phương pháp thủy vân thuận nghịch DCH đã biết nhằm đóng gói ảnh thủy vân. So với các phương pháp cùng có tính chất đóng gói hiện có, phương pháp đề xuất có khả năng nhúng tin cao hơn và thời gian thực hiện nhanh hơn. VII. TÀI LIỆU THAM KHẢO [1] Almohammad, Adel, Gheorghita Ghinea, and Robert M. Hierons. "JPEG steganography: a performance evaluation of quantization tables." Advanced Information Networking and Applications, 2009. AINA'09. International Conference on. IEEE, 2009. [2] Coltuc, Dinu, and J-M. Chassery. "Very fast watermarking by reversible contrast mapping." Signal Processing Letters, IEEE 14.4 pp.255-258, 2007 460 MỘT PHƯƠNG PHÁP THỦY VÂN THUẬN NGHỊCH MỚI DỰA TRÊN DỊCH CHUYỂN HISTOGRAM [3] Fridrich, Jessica, Miroslav Goljan, and Rui Du. "Invertible authentication."Photonics West 2001-Electronic Imaging. International Society for Optics and Photonics, 2001. [4] Fujiyoshi, Masaaki. "A Histogram shifting-based blind reversible data hiding method with a histogram peak estimator." Communications and Information Technologies (ISCIT), 2012 International Symposium on. IEEE, 2012. [5] Hwang, JinHa, JongWeon Kim, and JongUk Choi. "A reversible watermarking based on histogram shifting." Digital Watermarking. Springer Berlin Heidelberg, pp. 348-361, 2006. [6] Iwata, Motoi, Kyosuke Miyake, and Akira Shiozaki. "Digital steganography utilizing features of JPEG images." IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 87.4, pp.929-936, 2004. [7] Khan, Asifullah, et al. "A recent survey of reversible watermarking techniques."Information Sciences 279 pp.251- 272, 2014. [8] Kuo, Wen-Chung, Dong-Jin Jiang, and Yu-Chih Huang. "Reversible data hiding based on histogram." Advanced Intelligent Computing Theories and Applications. With Aspects of Artificial Intelligence. Springer Berlin Heidelberg, pp.1152-1161, 2007. [9] Ni, Zhicheng, et al. "Reversible data hiding." Circuits and Systems for Video Technology, IEEE Transactions on 16.3: pp.354-362, 2006. [10] Ou, Bo, Yao Zhao, and Rongrong Ni. "Reversible watermarking using prediction error histogram and blocking." Digital Watermarking. Springer Berlin Heidelberg, pp.170-180, 2011. [11] Tian, Jun. "Reversible data embedding using a difference expansion." IEEE Trans. Circuits Syst. Video Techn. 13.8, pp. 890-896, 2003. [12] Đỗ Văn Tuấn, Nguyễn Kim Sao, Nguyễn Thanh Toàn, Phạm Văn Ất, “Một sơ đồ nhúng tin thuận nghịch mới trên ảnh JPEG”, Tạp chí Công nghệ thông tin và truyền thông, pp.41-52, 2014 [13] Xuan, Guorong, et al. "Reversible data hiding using integer wavelet transform and companding technique." Digital Watermarking. Springer Berlin Heidelberg, pp.115-124, 2005. [14] Xuan, Guorong, et al. "Optimum histogram pair based image lossless data embedding." Transactions on Data Hiding and Multimedia Security IV. Springer Berlin Heidelberg, pp. 84-102, , 2009 [15] Zhang, Weiming, Biao Chen, and Nenghai Yu. "Improving various reversible data hiding schemes via optimal codes for binary covers." Image Processing, IEEE Transactions on 21.6, pp.2991-3003, 2012 [16] Signal & Image Processing Institude, University of Southern California, “The USC-SIPI Image Database”,
File đính kèm:
- mot_phuong_phap_thuy_van_thuan_nghich_moi_dua_tren_dich_chuy.pdf