(c) (d)
Hình 3.8. (a) Ảnh LyTieuLong.bmp, (b) ảnh thông điệp, (c) Histogram của ảnh trước khi giấu tin, (d) Histogram của ảnh sau khi giấu tin
3.3.3.2. Kỹ thuật giấu tin dựa trên các hệ số DWT nguyên
Cũng xuất phát từ yêu cầu khôi phục ảnh gốc sau khi tách thông điệp mất mát ít thông tin vào năm 2006 Xuan và các đồng nghiệp đề xuất kỹ thuật giấu IWH (Integer Wavelet Histogram) [10] sử dụng phương pháp dịch chuyển histogram của các hệ số biến đổi DWT nguyên (IWH). Sau khi thực hiện biến đổi Wavelet sẽ được bốn băng tần. Họ thực hiện nhúng vào băng 3 băng tần cao nơi mà được cho là ít ảnh hưởng đến ảnh gốc. Dưới đây là mô tả tóm tắt kỹ thuật giấu tin IWH:
Quá trình gi u tinấ
Giả sử có một chuỗi thông điệp M gồm m bit. M sẽ được giấu vào ảnh theo các bước sau:
(1). Đặt một ngưỡng T>0 là hệ số IWT sao cho số hệ số IWT trong 3 giải băng tần cao thuộc [-T, T] là lớn hơn số bit m. Đặt Peak=T.
(2). Thực hiện tính histogram của các hệ số IWT, sau đó dịch chuyển histogram (có giá trị lớn hơn Peak) sang bên phải bằng cách tăng một đơn vị để tạo ra một điểm zezo tại vị trí có giá trị Peak+1. Sau đó nhúng thông điệp vào vị trí này. Quét toàn bộ các hệ số IWT trong các băng tần cao, khi gặp một hệ số IWT có giá trị bằng Peak, kiểm tra bit thông điệp cần giấu, nếu là bit 1 thì hệ số này sẽ được tăng lên một (nghĩa là Peak+1), nếu bit cần giấu là 0 thì hệ số được giữ nguyên.
(3). Nếu còn chưa giấu hết các bit thông điệp, thì đặt Peak=(-Peak), thực hiện dịch chuyển histogram của các IWH có giá trị nhỏ hơn Peak sang bên trái bằng cách trừ các hệ số IWH một đơn vị, tạo ra một điểm zezo tại vị trí (-Peak-1). Sau đó nhúng thông điệp vào vị trí này.
(4). Nếu đã nhúng hết các bit thông điệp thì ghi lại điểm dừng S=Peak. Ngược lại, điểm Peak = (-Peak-1) quay trở lại bước (2) để tiếp tục giấu các bit thông điệp còn lại.
Quá trình tách dữ liệu
Tách thông điệp là quá trình ngược lại của quá trình giấu tin. Giả sử vị trí điểm dừng là S, ngưỡng là T. Quá trình tách dữ liệu được thực hiện như sau:
1. Đặt Peak = S.
2. Giả sử Peak > 0. Quét toàn bộ các hệ số IWH tại các băng tần cao. Khi gặp một hệ số có IWH bằng Peak+1, thì bit 1 được tách ra và hệ số IWH này sẽ giảm xuống
thành Peak. Nếu gặp một hệ số có IWh bằng Peak thì bit 0 được tách ra. Quá trình tách cho đến khi vị trí histogram của Peak+1 trở thành điểm zezo. Sau đó dịch chuyển histogram của các vị trí có giá trị lớn hơn Peak+1 về bên trái bằng cách trừ đi một đơn vị.
3. Nếu số bit dữ liệu tách ra còn ít hơn m thì đặt Peak=-Peak. Tiếp tục tách dữ liệu cho đến khi histogram của IWH tại vị trí Peak-1 trở thành zezo. Sau đó dịch chuyển histogram của các điểm có giá trị nhỏ hơn Peak-1 sang bên phải một đơn vị để phủ vào vị trí zezo.
4. Nếu các bit thông điệp đã được tách hết, quá trình giấu tin dừng lại, ngược lại đặt Peak=-Peak+1, quay trở lại bước (2) để tiếp tục tách thông điệp.
Cuối cùng sau khi tách thông điệp chúng ta sẽ nhận được ảnh khôi phục xấp xỉ ảnh ban đầu. Hình 3.9 là một số hình ảnh minh họa histogram của ảnh sau khi giấu thông điệp với các ngưỡng chọn ban đầu khác nhau.