MỘT SỐ KHÁI NIỆM TỔNG QUAN
TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH
1.1.1 Định nghĩa giấu tin trong ảnh
Giấu tin trong ảnh là một kỹ thuật giấu hoặc nhúng một lượng thông tin số nào đó vào trong một ảnh số
1.1.2 Mục đích của giấu tin
Có 2 mục đích chính của giấu thông tin:
Bảo mật cho những thông tin được giấu
Bảo mật cho chính các đối tượng giấu tin
Sự khác biệt giữa hai mục đích này là rõ ràng, và thực tế cho thấy chúng đã phát triển thành hai lĩnh vực riêng biệt với những yêu cầu và tính chất khác nhau.
Hình 1.1: Hai lĩnh vực chính của kỹ thuật giấu tin
Kỹ thuật giấu tin mật (Steganography) là phương pháp nhằm đảm bảo an toàn và bảo mật cho thông tin được giấu Các kỹ thuật này tập trung vào việc tối ưu hóa lượng thông tin có thể giấu, đồng thời làm cho người khác khó phát hiện ra sự tồn tại của thông tin ẩn bên trong.
Kỹ thuật thủy vân số (Watermarking) được sử dụng để bảo mật cho các đối tượng chứa thông tin nhạy cảm Công nghệ này đảm bảo tính bền vững, khẳng định quyền sở hữu bản quyền và hỗ trợ trong việc phát hiện các hành vi xuyên tạc thông tin.
Data Hiding Giấu thông tin
1.1.3 Các yêu cầu đối với giấu tin trong ảnh
Những yêu cầu cơ bản đối với giấu tin trong ảnh :
Tính ẩn của giấu tin được chèn vào ảnh: Sự hiện diện của giấu tin trong ảnh không làm ảnh hưởng tới chất lượng của ảnh đã chèn tin
Tính bền của giấu tin cho phép thông tin được bảo vệ và duy trì qua các phép biến đổi ảnh, biến dạng hình học, cũng như các hình thức tấn công cố ý khác.
Tính an toàn: không thể xoá được tin ra khỏi ảnh trừ khi ảnh được biến đổi tới mức không còn mang thông tin
1.1.4 Đặc trƣng và tính chất của kỹ thuật giấu tin trong ảnh
Kỹ thuật giấu tin trong ảnh đóng vai trò quan trọng trong lĩnh vực giấu tin, với nhiều phương pháp khác nhau tùy thuộc vào loại phương tiện chứa Ảnh là dạng dữ liệu tĩnh, không thay đổi theo thời gian, và có nhiều định dạng khác nhau, mỗi định dạng sở hữu những đặc tính riêng Do đó, các kỹ thuật giấu tin trong ảnh thường tập trung vào việc khai thác các đặc trưng và tính chất cơ bản của dữ liệu ảnh.
Phương tiện có chứa dữ liệu tri giác tĩnh
Dữ liệu gốc của ảnh là tĩnh và không thay đổi theo thời gian, bất kể thông tin có được giấu trong ảnh hay không Điều này khác biệt với dữ liệu âm thanh và video, vì khi nghe hoặc xem, dữ liệu gốc liên tục thay đổi theo cảm nhận của con người qua các đoạn, bài hay cảnh khác nhau.
Kỹ thuật giấu phụ thuộc ảnh
Kỹ thuật giấu tin được điều chỉnh theo từng loại ảnh, bao gồm ảnh đen trắng, ảnh xám và ảnh màu, với các phương pháp riêng biệt phù hợp với đặc trưng của mỗi loại ảnh.
Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh gốc
Các kỹ thuật giấu tin trong dữ liệu ảnh phải đảm bảo rằng những thay đổi trên ảnh là rất nhỏ, khó nhận ra bằng mắt thường, nhằm bảo vệ an toàn cho thông tin được giấu Nhiều kỹ thuật đã tận dụng các đặc điểm của hệ thống thị giác con người, chẳng hạn như khả năng cảm nhận sự biến đổi độ chói kém hơn so với biến đổi màu sắc, và sự nhạy cảm thấp nhất đối với màu xanh da trời trong ba màu cơ bản.
Giấu thông tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước ảnh
Các thuật toán giấu thông tin được thực hiện trên dữ liệu ảnh, bao gồm phần header, bảng màu và dữ liệu ảnh, do đó kích thước ảnh trước và sau khi giấu thông tin vẫn giữ nguyên Đảm bảo chất lượng ảnh sau khi giấu tin là yêu cầu quan trọng, ảnh phải không bị biến đổi dễ dàng so với ảnh gốc Đối với ảnh màu hoặc ảnh xám, việc thay đổi giá trị của các pixel không làm giảm chất lượng ảnh nhiều, giúp thông tin giấu khó bị phát hiện Ngược lại, với ảnh đen trắng, mỗi pixel chỉ có hai giá trị, nên việc thay đổi một bit có thể dễ dàng bị phát hiện Vì vậy, yêu cầu đối với các thuật toán giấu thông tin trong ảnh màu và ảnh đen trắng là khác nhau; thuật toán cho ảnh màu tập trung vào việc giấu nhiều thông tin, trong khi thuật toán cho ảnh đen trắng chú trọng vào việc làm cho thông tin giấu khó bị phát hiện nhất.
Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh
Phương pháp giấu thông tin trong ảnh dựa trên việc điều chỉnh giá trị các bit theo quy tắc nhất định, cho phép giải mã thông tin khi cần Tuy nhiên, nếu có bất kỳ biến đổi nào làm thay đổi giá trị bit, thông tin giấu sẽ bị sai lệch Nhờ vào đặc điểm này, việc giấu thông tin trong ảnh không chỉ giúp bảo mật mà còn có tác dụng nhận thực và phát hiện sự xuyên tạc thông tin.
Vai trò của ảnh gốc khi giải tin
Các kỹ thuật giấu tin cần xác định rõ liệu có cần ảnh gốc trong quá trình lọc ảnh để trích xuất thông tin hay không Thông thường, các phương pháp giấu tin mật không yêu cầu ảnh gốc để giải mã Thông tin được giấu trong ảnh sẽ đi kèm với dữ liệu của ảnh, cho phép giải mã chỉ với ảnh đã chứa thông tin giấu mà không cần so sánh với ảnh gốc.
1.1.5 Các phương pháp giấu tin
Các phương pháp giấu tin trong ảnh hiện nay đều thuộc vào một trong ba nhóm:
Giấu tin trong miền quan sát
Phương pháp nhúng thông tin vào các bít có trọng số thấp của ảnh, thường áp dụng cho ảnh bitmap không nén và ảnh dùng bảng màu Ý tưởng chính là thay đổi các bít có trọng số thấp của ảnh vỏ bọc bằng các bít của tin mật, giúp ẩn thông tin mà không làm ảnh hưởng đến chất lượng hình ảnh, vì mắt người khó nhận ra sự khác biệt này.
Các phương pháp dựa vào kỹ thuật biến đổi ảnh, ví dụ biến đổi từ miền không gian sang miền tần số
Các phương pháp sử dụng mặt nạ giác quan
Dựa trên nguyên lý đánh lừa hệ thống giác quan của con người, "mặt nạ" đề cập đến hiện tượng mà mắt người không thể nhận biết một tín hiệu nếu nó xuất hiện song song với một tín hiệu khác nhất định.
Nếu phân chia các phương pháp theo định dạng ảnh thì có hai nhóm chính:
Nhóm phương pháp phụ thuộc định dạng ảnh có đặc điểm là thông tin giấu dễ bị tổn thương bởi các phép biến đổi ảnh Trong nhóm này, các phương pháp được chia theo dạng ảnh, bao gồm phương pháp cho ảnh dựa vào bảng màu và ảnh JPEG.
Các phương pháp độc lập với định dạng ảnh tập trung vào việc biến đổi ảnh để ẩn giấu thông tin bên trong Chúng có thể sử dụng các hệ số biến đổi khác nhau, cho phép tạo ra nhiều phương pháp giấu tin tương ứng với số lượng phép biến đổi ảnh có sẵn.
Phương pháp biến đổi theo miền không gian
Phương pháp biến đổi theo miền tần số (DCT)
Các biến đổi hình học
CẤU TRÚC CHUNG CỦA ẢNH BITMAP
1.2.1 Tổng quan về ảnh Bitmap Để thực hiện việc giấu tin trong ảnh, trước hết ta phải nghiên cứu cấu trúc của ảnh và có khả năng xử lý được ảnh tức là phải số hoá ảnh Quá trình số hoá các dạng ảnh khác nhau và không như nhau Có nhiều loại ảnh đã được chuẩn hoá như: JPEG, PCX, BMP, GIF, IMG… Sau đây là cấu trúc ảnh *.BMP
Mỗi file ảnh BMP gồm 3 phần:
Cấu trúc cụ thể của ảnh:
BitmapHeader (54 byte) chứa thông tin cơ bản về tệp ảnh và các thuộc tính chính của ảnh Dưới đây là bảng chi tiết các thông tin có trong BitmapHeader.
Bảng 1.1: Bảng chi tiết những thông tin trong BitmapHeader
Byte Đặt tên Ý nghĩa Giá trị
1 - 2 ID Nhận dạng file „BMP‟ hay 19778
3 – 6 File_Size Kích thước File Kiểu Long trong turbo C
7 – 10 Reserved Dành riêng Mang giá trị 0
11 – 14 OffsetBit Byte bắt đầu vùng dữ liệu
Offset của byte bắt đầu vùng dữ liệu
15 -18 Isize Số byte cho vùng info 40 byte
19 – 22 Width Chiều rộng của ảnh
23 – 26 Height Chiều cao của ảnh BMP Tính bằng pixel
27 – 28 Planes Số planes màu Cố định là 1
29 – 30 bitCount Số bít cho một pixel Có thể là 1,4,6,16,24
31-34 Compression Kiểu nén dữ liệu 0: Không nén
1: Nén 8bits/pixel 2: Nén 4bits/pixel
35 -38 ImageSize Kích thước ảnh Tính bằng byte
39 – 42 XpelsPerMeter Độ phân giải ngang Tính bằng pixel/metr
43 – 46 YpelsPerMeter Độ phân giải dọc Tính bằng pixel/metr
47 – 50 ColorsUsed Số màu sử dụng trong ảnh
51 – 54 ColorsImportant Số màu được sử dụng khi hiện ảnh
Thành phần BitCount trong cấu trúc BitmapHeader xác định số bit cho mỗi điểm ảnh và số lượng màu tối đa của hình ảnh Các giá trị mà BitCount có thể nhận bao gồm nhiều tùy chọn khác nhau.
1: Bitmap là ảnh đen trắng, mỗi bit biểu diễn 1 điểm ảnh Nếu bit mang giá trị 0 thì điểm ảnh là đen, bit mang giá trị 1 điểm ảnh là điểm trắng
4: Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit
8: Bitmap là ảnh 256 màu, mỗi điểm ảnh biểu diễn bởi 1 byte
16: Bitmap là ảnh highcolor, mỗi dãy 2 byte liên tiếp trong bitmap biểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ của một điểm ảnh
24: Bitmap là ảnh true color (2 24 màu), mỗi dãy 3 byte liên tiếp trong bitmap biểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ (RGB) của một điểm ảnh
Thành phần ColorUsed trong cấu trúc BitmapHeader xác định số lượng màu trong bảng màu được sử dụng để hiển thị bitmap Nếu giá trị của thành phần này là 0, bitmap sẽ sử dụng số màu tối đa tương ứng với giá trị của BitCount.
Palette màu (bảng màu): bảng màu của ảnh, chỉ những ảnh lớn hơn hoặc bằng 8 bit màu mới có Palette màu
BitmapData là phần thông tin ảnh nằm ngay sau palette màu trong ảnh BMP, chứa giá trị màu của từng điểm ảnh Các dòng ảnh được lưu từ dưới lên trên, trong khi các điểm ảnh được lưu từ trái sang phải Mỗi giá trị điểm ảnh là một chỉ số trỏ tới phần tử màu tương ứng trong palette màu.
PNG là một định dạng hình ảnh sử dụng phương pháp nén dữ liệu tiên tiến mà không làm mất dữ liệu gốc, được phát triển để cải thiện và thay thế định dạng GIF Định dạng này không yêu cầu giấy phép sáng chế và được hỗ trợ bởi thư viện libpng, một thư viện độc lập cung cấp các hàm C để quản lý hình ảnh PNG.
Tập tin PNG bắt đầu với một chuỗi 8 byte ký hiệu (89 50 4E 47 0D 0A 1A) trong hệ thống cơ số 16, bao gồm chữ "PNG" và hai dấu xuống dòng Cấu trúc của tập tin này được thiết kế để chứa thông tin về hình ảnh thông qua các thành phần, cho phép định dạng PNG tương thích với các phiên bản cũ Mỗi thành phần trong tập tin đều chứa dữ liệu quan trọng về hình ảnh.
PNG là cấu trúc như một chuỗi các thành phần, mỗi thành phần chứa kích thước, kiểu, dữ liệu, và mã sửa lỗi CRC ngay trong nó
Chuỗi được đặt tên bằng 4 chữ cái, có sự phân biệt giữa chữ hoa và chữ thường Điều này giúp bộ giải mã nhận diện bản chất của chuỗi khi không thể nhận dạng chính xác.
Việc viết hoa chữ cái đầu trong chuỗi thiết yếu là rất quan trọng, vì nếu không, nó sẽ trở nên ít cần thiết hơn Chuỗi thiết yếu cung cấp thông tin cần thiết để đọc tệp; nếu bộ giải mã không nhận diện được chuỗi này, quá trình đọc tệp sẽ bị hủy bỏ.
Định dạng PNG mang lại nhiều ưu điểm vượt trội so với các định dạng phổ biến như JPG, GIF và BMP, đặc biệt là trong môi trường đồ họa web.
Hình ảnh PNG hiện nay được xem là định dạng có dung lượng nhỏ nhất trong số các định dạng ảnh phổ biến, điều này rất quan trọng khi sử dụng trên môi trường web.
- Độ sâu của màu: Ảnh PNG hỗ trợ đến true color 48bit màu Trong khi đó ảnh gif chỉ ở mức 256 màu.
BIẾN ĐỔI CONTOURLET (CONTOURLET TRANSFORM)
Biến đổi contourlets là một sự mở rộng của biến đổi wavelets hai chiều, cho phép phân tích ở nhiều mức độ khác nhau và sử dụng các băng lọc hướng Khác với wavelets chỉ có các hướng phân tích cơ bản là ngang, dọc và chéo, contourlets phát triển thành nhiều hướng khác nhau, cung cấp tỉ lệ khung linh hoạt Điều này giúp contourlets biểu diễn hiệu quả các đường biên trơn, đặc trưng cho ảnh tự nhiên Sự khác biệt giữa biến đổi contourlet và wavelet được minh họa rõ ràng qua hình 1.4.
Biến đổi wavelet sử dụng các nét bút hình vuông dọc theo đường cong với kích thước khác nhau, giúp nắm giữ cấu trúc đa phân giải của wavelets Tuy nhiên, để đạt được độ chính xác cao hơn trong việc vẽ đường cong, biến đổi contourlet áp dụng các hình kéo dài theo nhiều hướng, cho phép tính linh động và dễ uốn nén hơn Biến đổi contourlet khai thác các phân đoạn đường cong để thực hiện cục bộ, mang lại khả năng xử lý ảnh đa phân giải hiệu quả hơn, đặc biệt khi đường cong không theo chiều ngang hay dọc.
Biến đổi contourlet sử dụng tháp Laplacian để phát hiện các đoạn đường cong, kết hợp với bộ lọc có hướng nhằm liên kết các điểm không liên tục thành cấu trúc tuyến tính Quá trình này có thể được thực hiện lặp đi lặp lại để đạt được khai triển đa mức và đa hướng.
1.3.3 Tháp Laplacian - Laplacian Pyramid (LP)
Một cách để đạt được phân rã đa mức (multiscale) là sử dụng một cấu trúc tháp Laplacian (LP) được giới thiệu bởi Burt và Adelson
Phân rã LP tạo ra một tần số thấp (lowpass) được lấy mẫu xuống từ tín hiệu gốc và một tín hiệu băng tần (bandpass) thể hiện sự khác biệt giữa tín hiệu gốc và tín hiệu dự đoán Kết quả của tín hiệu băng tần được minh họa trong hình 1.5(a).
Hình 1.5 Lược đồ tháp LP (a) phân tích, và (b) xây dựng lại[10]
H và G là các bộ lọc phân tích và tổng hợp, trong khi M là ma trận lấy mẫu, như thể hiện trong hình 1.5 Quá trình này có thể được lặp lại trên phiên bản thô, với đầu ra là các xấp xỉ thô 'a' và 'b', trong đó 'b' chứa sự khác biệt giữa tín hiệu gốc và tín hiệu dự đoán Ảnh gốc được "cuốn lại" với một Gaussian kernel, tạo ra một phiên bản lọc lowpass của ảnh gốc Laplacian được tính bằng sự khác biệt giữa ảnh gốc và ảnh lọc lowpass, và quá trình này tiếp tục để tạo ra một tập hợp các ảnh lọc bandpass Do đó, LP là một tập hợp các bộ lọc bandpass thu được từ việc lặp lại các bước này nhiều lần Khi các ảnh này được xếp chồng lên nhau, kết quả tạo thành một cấu trúc dữ liệu tháp hình nón như thể hiện trong hình 1.6.
Hình 1.6 Cấu trúc tháp Laplacian
Tháp Laplacian là công cụ hữu ích trong việc biểu diễn ảnh dưới dạng dãy ảnh bandpass, với mỗi ảnh được lấy mẫu tại mật độ thưa hơn Phương pháp này thường được áp dụng trong xử lý ảnh và nhận dạng nhờ vào khả năng giảm thiểu tính toán Mặc dù có nhược điểm là lấy mẫu chồng ẩn, nhưng tháp Laplacian vẫn nổi bật với đặc tính phân biệt, khi mỗi mức tháp chỉ tạo ra một ảnh bandpass mà không bị hiện tượng đổi tần Ngược lại, trong lược đồ wavelet, hiện tượng đổi tần xảy ra ở kênh highpass sau khi lấy mẫu, dẫn đến việc phản chiếu phổ ảnh Tháp Laplacian khắc phục điều này bằng cách chỉ lấy mẫu ở kênh tần thấp.
1.3.4 Dàn lọc có hướng – Directional Filter Bank (DFB)
Năm 1992, Bamberger và Smith đã phát triển dàn lọc có hướng 2-D (DFB) nhằm tối ưu hóa quá trình nén dữ liệu mà vẫn đảm bảo chất lượng tái thiết hoàn hảo Dàn lọc này sử dụng phương pháp lấy mẫu tới hạn để phân rã hình ảnh thành các thành phần theo lũy thừa của hai hướng bất kỳ DFB được thực hiện hiệu quả thông qua phân tích cấu trúc cây nhị phân l cấp, tạo ra 2^l băng con với phân vùng tần số hình V, như minh họa trong hình 1.7.
Hình 1.7 Phân vùng con tần số DFB với l=3
Xây dựng gốc của DFB liên quan đến việc điều chỉnh ảnh đầu vào và sử dụng các dàn lọc quincunx (QFB) với bộ lọc hình thoi Để đạt được phân vùng con tần số mong muốn, cần theo dõi một cây phức tạp mở rộng quy tắc để định hướng tốt hơn các băng con DFB được thiết kế để nắm giữ các thành phần tần số cao của ảnh, nhưng xử lý kém các thành phần tần số thấp Các phân vùng con tần số có thể "thoát" vào các băng con có hướng, do đó DFB không cung cấp một khai triển phân tán hiệu quả cho ảnh Để cải thiện điều này, các tần số thấp sẽ được loại bỏ trước khi áp dụng DFB Việc kết hợp DFB với sơ đồ đa mức cho phép phân rã subband thêm nữa trên các ảnh bandpass, giúp thu giữ thông tin có hướng hiệu quả Sơ đồ này có thể lặp lại nhiều lần trên các ảnh thô, dẫn đến cấu trúc dàn lọc có lặp đôi, gọi là dàn lọc có hướng cấu trúc tháp (PDFB), phân rã ảnh thành các subbands có hướng tại nhiều mức khác nhau.
Thuật toán biến đổi contourlet Đầu vào: vào Chọn số phân rã và hướng ở mỗi cấp
Chon bộ lọc đẻ tính toán các phân rã và hướng
Tính toán phân rã của một ảnh
Tính toán phân rã hương của ảnh bandpass
Lặp lại hai bước trên đến khi số phân rã tháp và hướng được hoàn thành Đầu ra: ảnh được xây dựng lại
1.4 Đo độ đánh giá PSNR
Chất lượng hình ảnh sau khi thực hiện giấu tin được đánh giá dựa trên chỉ số PSNR (Tỷ số tín hiệu đỉnh trên nhiễu) Tỷ số này phản ánh mối quan hệ giữa tín hiệu mong muốn và mức độ nhiễu, giúp xác định độ rõ nét và độ trung thực của ảnh đã được xử lý.
PSNR (Peak Signal-to-Noise Ratio) được xác định dựa trên lỗi bình phương trung bình (MSE - Mean Squared Error) giữa hai hình ảnh bitmap I và K, trong đó I là hình ảnh gốc và K là hình ảnh chứa tin nhắn, với kích thước m x n.
2 m i n j j i KR j i nR IR MSER mR
2 m i n j j i KG j i nR IG MSEG mR
2 m i n j j i KB j i nR IB MSEB mR n MSEB m
PSNR được tính như sau :
Giá trị tối đa của pixel trong ảnh, ký hiệu là MAX I, đạt 255 khi các pixel được biểu diễn bằng 8 bits Trong trường hợp tổng quát, khi tín hiệu được biểu diễn bằng B bits trên một đơn vị lấy mẫu, MAX I được tính bằng công thức 2 B −1.
Thông thường, khi PSNR đạt từ 40dB trở lên, hệ thống mắt người gần như không thể phân biệt giữa ảnh gốc và ảnh khôi phục PSNR càng cao, chất lượng ảnh khôi phục càng tốt; khi hai hình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR sẽ tiến đến vô hạn Đơn vị đo PSNR là dB (Decibel).
ĐỘ ĐÁNH GIÁ PSNR
2.1.1 Kỹ thuật giấu tin trên miền contourlet
Kỹ thuật giấu tin trên miền contourlet (CTT) được Sushil Kumar và S.K Muttoo đề xuất vào tháng 6 năm 2011 Phương pháp này cho phép nhúng thông tin vào các băng tần của hệ số CTT thông qua kỹ thuật LSB và ngưỡng.
Kỹ thuật giấu tin trên miền contourlet (CTT) bắt đầu bằng việc mã hóa thông tin mật bằng T-mã, sau đó nhúng vào 4 băng con theo chiều ngang và dọc của hình ảnh đã được biến đổi CTT 2 mức thông qua phương pháp LSB và Ngưỡng Sau khi hoàn tất việc nhúng dữ liệu, thực hiện biến đổi ngược CTT để thu được hình ảnh mang thông tin mật (stego).
Hình 2.1 hệ số khi thực hiện CTT 2 mức
Kỹ thuật LSB được sử dụng để nhúng dữ liệu vào các bit ít quan trọng của điểm ảnh, giúp đảm bảo rằng quá trình nhúng không làm giảm chất lượng hình ảnh.
Công thức x' = x - x mod 2^k + b cho phép thay thế k bit LSB của giá trị x ban đầu để tạo ra giá trị biến đổi x' Trong đó, b là thông tin mật được giấu, và thông tin mật này có thể được tách ra bằng cách sử dụng b = x' mod 2^k.
KỸ THUẬT GIẤU TIN TRÊN MIỀN CONTOURLET
GIỚI THIỆU
2.1.1 Kỹ thuật giấu tin trên miền contourlet
Kỹ thuật giấu tin trên miền contourlet (CTT) được Sushil Kumar và S.K Muttoo đề xuất vào tháng 6 năm 2011 Phương pháp này sử dụng kỹ thuật nhúng thông tin vào các băng tần của hệ số CTT thông qua phương pháp LSB và ngưỡng, nhằm nâng cao khả năng bảo mật thông tin.
Kỹ thuật giấu tin trên miền contourlet (CTT) bắt đầu bằng việc mã hóa thông tin mật bằng T-mã Thông tin này sau đó được nhúng vào 4 băng con theo chiều ngang và dọc của hình ảnh đã được biến đổi CTT 2 mức thông qua phương pháp LSB và Ngưỡng Cuối cùng, sau khi hoàn tất quá trình nhúng dữ liệu, thực hiện biến đổi ngược CTT sẽ thu được ảnh chứa thông tin mật (stego).
Hình 2.1 hệ số khi thực hiện CTT 2 mức
Kỹ thuật LSB cho phép nhúng dữ liệu vào các bit ít quan trọng của điểm ảnh, giúp đảm bảo rằng quá trình nhúng không làm giảm chất lượng hình ảnh đáng kể.
Công thức x' = x - x mod 2^k + b được sử dụng để thay thế k bit LSB của giá trị x, trong đó b là thông tin mật cần giấu Giá trị x' là kết quả biến đổi từ x, và thông tin mật có thể được tách ra bằng b = x' mod 2^k.
Kỹ thuật ngưỡng được giới thiệu bởi Xuân và cộng sự, bắt đầu với việc xác định một giá trị ngưỡng T Để nhúng dữ liệu vào bốn subbands của hệ số CTT, ta so sánh giá trị của hệ số x với T theo công thức đã được đề xuất.
Để khôi phục hình ảnh ban đầu, mỗi hệ số tần số cao được xác định bởi ngưỡng T và bit thông điệp b có thể được phục hồi về giá trị ban đầu bằng cách sử dụng các công thức liên quan đến hệ số tần số ban đầu x và hệ số tần số thay đổi x'.
2.1.2 Sơ đồ quá trình giấu tin
Nhúng dữ liệu dùng phương pháp LSB và ngưỡng
Biến đổi ngược contourlet 2 mức
Thông điệp được mã hóa bởi T-mã Ảnh gốc Ảnh giấu tin Thông điệp
THUẬT TOÁN GIẤU VÀ TÁCH TIN TRỀN MIỀN CTT
Input : o Ảnh xám 8 bit o Thông điệp cần giấu
Bước 2 : Mã hóa thông điệp bằng T-mã
Bước 3: Đọc bản mã hóa và chuyển đổi nó thành mã ASCII Sau đó, chuyển đổi mã ASCII sang dạng nhị phân và lưu vào mảng b Tiếp theo, lấy chiều dài chuỗi bit L và chuyển L thành chuỗi bit để lưu vào mảng c.
Bước 4 : Thực hiện biến đổi contourlet 2 mức thu được 1 tần thấp -lowpass (y0) và 4 băng con -subbands (y1,y2,y3,y4)
Khôi phục hệ số CTT bằng pp ngưỡng
Giải mã bởi T-mã Ảnh giấu tin Ảnh gốc
Biến đổi ngược contourlet 2 mức Tách lấy thông điệp
Bước 5 : Lấy ra miền giá trị của hệ số ,thực hiện nhúng vào 4 – subbands ( y1, y2 ,y3, y4), làm tròn hệ số
Bước 6 : Nhúng chiều dài L vào y1 bằng phương pháp LSB và ngưỡng
Bước 7 : Nhúng thông điệp vào 3 – subbands còn lại y2, y3,y4 bằng phương pháp LSB và ngưỡng
Bước 8 : Thực hiện biến đổi ngược contourlet ta thu được ảnh mang thông điệp
2.2.1.2 sơ đồ thuật toán Đọc ảnh
Thực hiên biến đổi CTT ngược
Giấu c vào miền y1 bằng pp LSB và ngưỡng
Giấu b vào miền y2,y3,y4 bằng pp LSB và ngưỡng
L=length (b) chuyển L sang nhị phân lưu vào mảng c
Chuyển thành nhị phân lưu vào mảng b
Mã hóa thông điệp bằng T-mã
Thực hiện CTT 2 mức Bắt đầu
Kết thúc Ảnh giấu tin
2.2.1.3 Sơ đồ giấu tin bằng phương pháp LSB và ngưỡng
Kết thúc x = x + T ; x= 2*x+b; x, b, T ; abs(x)=T yes no x x : Hệ số contourlet b : Chuỗi bít thông điệp
Output : o Ảnh gốc o Thông điệp
Bước 1 : Đọc ảnh giấu tin
Bước 2 : Thực hiện CTT 2 mức
Bước 3 : Lấy ra giá trị của 4 băng con (subbands), y1, y2, y3, y4 làm tròn hệ số
Bước 4 : Tách lấy chiều dài L từ y1 bằng phương pháp LSB và ngưỡng , chuyển
L từ nhị phân sang thập phân
Bước 5: Tách thông điệp từ ba subbands còn lại (y2, y3, y4) sử dụng phương pháp LSB và ngưỡng, sau đó chuyển đổi chuỗi bit thông điệp sang dạng thập phân và từ thập phân sang ký tự ASCII để giải mã thông điệp bằng T-mã Bước 6: Khôi phục hệ số CTT thông qua phương pháp ngưỡng.
Bước 7 : Thực hiện CTT ngược ta thu được ảnh gốc
2.2.2.2 Sơ đồ thuật toán Đọc ảnh
Thực hiên biến đổi CTT ngược
T-mã thu đươc thông điệp
Khôi phục hệ số bằng pp ngưỡng
Chuyển b từ dạng nhị phân sang ký tự (thu được bản mã)
Tách chuỗi bit thông điệp từ y2,y3,y4 (bằng pp LSB và ngưỡng ) lưu vào b
Tách lấy L từ y1, chuyển L sang hệ thập phân
Thực hiện CTT 2 mức Bắt đầu
2.2.2.3 Sơ đồ tách tin và khôi phục ảnh bằng phương pháp LSB và ngưỡng
2*T+1