2.3.1. Phương pháp biến đổi miền tần số DCT d. Thuật toán giấu tin vào hệ số DCT - Đối với ảnh JPEG, dữ liệu gốc là các bảng DCT sau khi được lượng tử hóa. - Mỗi bảng chứa 64 hệ số, mỗi hệ số là số nguyên có giá trị nằm trong đoạn [- 2048;2047]. - Đặc điểm của bảng DCT là càng về cuối bảng thì các giá trị có xu hướng nhỏ dần. - Có nhiều thuật toán khác nhau có thể áp dụng để giấu tin vào hệ số DCT như: • LSB: Least Significant Bit • Jsteg • F3, F4 • Pixel Swap Embedding Trong những phần sau sẽ sử dụng thuật toán LSB để minh họa - Đầu vào LSB: • Các hệ số DCT đã được lượng tử hóa (C50 đã thu được ở bước trên) • Thông điệp giấu : 010 - Đầu ra LSB: ảnh chứa thông điệp - Trong quá trình giấu tin sử dụng LSB cần lưu ý: • Ảnh dùng để giấu tin có kích thước rất lớn (bao gồm nhiều khối 8x8pixel có được nhiều ma trận lượng tử C khác nhau • Thông thường người giấu tin sẽ tách chuỗi tin cần giấy ra các ký tự và giấu mỗi ký tự vào mỗi ma trận Ci • Không chắn chắn được tọa độ DC trong mỗi ma trận là như nhau nên cần tìm ra các LSB của bit đó áp dụng thuật toán zigzac - 3 pixel cuối cùng của dãy sẽ ứng với các số 0 trong ma trận C 50 thuộc phần DC ( là phần sẽ giấu tin) Đổi giá trị 3 pixel này bằng 3 bit của bản rỏ ban đầu (010) Kết quả thu được ma trận mới: e. Phục hồi ảnh - Sau khi đã giấu tin vào các hệ số của bảng lượng tử hóa, người ta tiến hành phục hồi ảnh sử dụng công thức sau: R i j = Qi j * C i j Trong đó: Qi j là ma trận lượng tử đã được sử dụng ở trên (Q50) Ci j là kết quả đã được giấu tin ở trên (C50LSB) - Cuối cùng ta thực hiện IDCT ma trận R theo công thức sau: Nnew = round(T’RT) + 128 ta thu được ảnh mới:
- So sánh 2 ma trận điểm ảnh N và Nnew ta thấy có rất ít thông số bị thay đổi.