Kết quả thực nghiệm cho thấy việc sử dụng ảnh đen trắng làm ảnh mụi trường đem lại hiệu quả rất thấp vỡ việc biến đổi điểm ảnh. Vỡ việc biến đổi cỏc điểm ảnh từ đen sang trắng hoặc từ trắng sang đen rất dễ tạo ra cỏc hiện tượng nhiễu ảnh và dễ bị phỏt hiện bởi hệ thống thị giỏc của con người. Hơn nữa ảnh đen trắng cung cấp mụi trường giấu dữ liệu tương đối nhỏ. Vớ dụ 1 bức ảnh đen trắng cỡ 300*300 pixel chỉ cú thể lưu trữ được 90KB lưu lượng dữ liệu. Trong khi một bức ảnh 24 màu cỡ tương tự cú thể lưu trữ được 2000KB. Vỡ thế người ta đó khắc phục hạn chế này bằng cỏch sử dụng ảnh màu hoặc ảnh đa cấp xỏm làm mụi trường che giấu thụng tin.
Đối với việc chọn ảnh màu hay ảnh đa cấp xỏm làm ảnh mụi trường ta cần thực hiện một bước xử lý nữa. Trước hết ta quan tõm đến khỏi niệm bit đặc trưng. LSB là bit cú ảnh hưởng ớt nhất đến việc quyết định màu sắc của điểm ảnh, tức là điểm ảnh mới sẽ tương đối gần với điểm ảnh cũ, và khụng cú sự sai khỏc là mấy. LSB của 1 điểm ảnh cũng tương tự như số hàng đơn vị của 1 số tự nhiờn, thay đổi nú sẽ khụng làm ảnh hưởng nhiều đến số hàng chục và hàng trăm. Việc xỏc định LSB của 1 điểm ảnh phụ thuộc vào định dạng của ảnh và số bit màu dành cho mỗi điểm ảnh. Ảnh màu và ảnh đa cấp xỏm cho hiệu quả hơn so với ảnh đen trắng, vỡ việc thay đổi bit ớt đặc trưng nhất trong ảnh này giường như khụng làm thay đổi màu sắc của điểm ảnh . Đối với ảnh 16 hoặc 24 bit màu, việc xỏc định bớt LSB là tương đối đơn giản. Tuy nhiờn đối với ảnh nhỏ hơn hoặc bằng 8 bit màu (những ảnh cú sử dụng bảng màu ) thỡ việc xỏc định trở nờn khú khăn hơn. Khú khăn này sẽ được khắc phục nếu ta sắp xếp lại bảng màu của ảnh hoặc sử dụng những màu khụng dựng đến trong bảng màu của ảnh nhỏ hơn hoặc bằng 8 bit màu.
Ảnh đa cấp xỏm: Đối với ảnh đa cấp xỏm, thỡ ảnh màu của nú đó được sắp xếp, tức là những cặp màu trong bảng màu cú chỉ số chờnh lệch càng it thỡ nú càng giống nhau. Vỡ vậy đối với ảnh đa cấp xỏm bit LSB là bit thứ cuối cựng của điểm ảnh
Quỏ trỡnh tỏch cỏc bit LSB của ảnh đa cấp xỏm và thay đổi cỏc bit này bằng thuật toỏn giấu tin trong ảnh đen trắng sẽ làm cho chỉ số màu của điểm ảnh bị thay đổi tăng hoặc giảm 1 đơn vị. Do đú điểm ảnh mới sẽ cú độ sỏng tối của ụ màu liền trước hoặc liền sau của điểm ảnh cũ. Bằng mắt thường thỡ rất khú cú thể nhận ra sự thay đổi này, thực nghiệm cho thấy ngay cả khi ta đảo bộ cỏc bit cuối của điểm ảnh trong 1 ảnh 8 bit cấp xỏm cũng khụng gõy ra sự khỏc nhau nhiều. Vỡ vậy đối với mỗi ảnh ta chỉ cần thay đổi nhiều nhất 2 điểm ảnh cũng khụng làm xuất hiện sự sai khỏc giữa ảnh cũ và ảnh mới
Ảnh nhỏ hơn hoặc bằng 8 bit màu:Những ảnh thuộc loại này gồm cú ảnh 16 màu (4
bit màu ) và ảnh 256 màu (8 bit màu). Khỏc với ảnh đa cấp xỏm, ảnh này cú số bit màu nhỏ hơn hoặc bằng 8, ảnh loại này khụng phải lỳc nào cũng được sắp xếp bảng màu. Những màu liền kề nhau trong bảng màu cú thể rất khỏc nhau, chẳng hạn như màu đen và màu trắng vẫn cú thể được xếp cạnh nhau. Vỡ vậy việc xỏc định bit LSB của ảnh này là rất khú, nếu ta chỉ làm như đối với ảnh xỏm, tức là lấy bit cuối cựng của mỗi điểm ảnh làm ảnh thứ cấp thỡ thay đổi 0 thành 1 hoặc ngược lại 1 thành 0 trờn ảnh thứ cấp thỡ cú thể làm cho màu của điểm ảnh cũ và mới là khỏc nhau rất nhiều dự chỉ số màu của nú chỉ là tăng hoặc giảm mà thụi.
Để khắc phục hiện tượng này thỡ ta tiến hành sắp xếp lại bảng màu của ảnh mụi trường sao cho 2 màu liờn tiếp gần nhau khỏc nhau it nhất, bằng cỏch so sỏnh thành phần màu của từng cặp điểm màu với nhau. Tuy nhiờn màu của điểm ảnh là 1 vector 3 thành phần khụng sắp xếp thứ tự, nờn việc so sỏnh chỉ mang tớnh chất tương đối.
Quỏ trỡnh sắp xếp lại bảng màu tiến hành như sau:
Bước 1: Chọn bất kỡ 1 màu trong bảng màu giả sử là màu A(x, y, z) để đưa lờn vị trớ
đầu tiờn trong bảng màu trong đú x là thành phần Red, y là Green, z là Blue
Bước 2: Duyệt tất cả cỏc màu cũn lại trong bảng màu, với mỗi màu B(m, n, p) chưa
được sắp ta tớnh đại lượng
s(A,B) = sqrt[(x-m)2 + (y-n)2 + (z-p)2 ]
Bước 3: Chọn màu B cú s(A, B) nhỏ nhất để xếp cạnh màu A trong bảng màu. Quay
lại bước 2 để tiếp tục tỡm màu chưa được sắp xếp gần nhất với B
Bước 4: Quỏ trỡnh kết thỳc khi mọi màu trong bảng màu đó được sắp xếp
Sau khi sắp xếp lại bảng màu ta lại thay đổi chỉ số của mỗi điểm màu trong ảnh màu của điểm khụng bị thay đổi. Chẳng hạn sau khi sắp xếp lại bảng màu, màu cú chỉ số 15
trong bảng màu cũ sẽ mang chỉ số 80 trong bảng màu mới, khi đú mọi điểm ảnh mang giỏ trị là 15 phải được đổi thành 80. So với ảnh 16 và 24 bit màu thỡ ảnh 8 bit màu cũng như ảnh 4 bit màu khú giấu thụng tin hơn, vỡ việc thay đổi dự chỉ là 1 bit trờn 1 điểm ảnh cũng dẫn đến sự thay đổi nhận thấy được về màu sắc của điểm ảnh cho dự là bảng màu của điểm ảnh đó được sắp xếp. Tuy nhiờn dựa vào đặc điểm là khụng phải ảnh nào cũng sử dụng hết tất cả cỏc màu trong bảng màu để hiển thị ảnh, ta cú thể sử dụng những màu khụng dựng đến, kết hợp với việc sắp xếp bảng màu để làm mịn ảnh kết quả
Để biết được những màu nào được dựng và những màu nào khụng được dựng ta duyệt lại toàn bộ màu trong bảng màu và đỏnh dấu những màu cú chỉ số xuất hiện trong dữ liệu ảnh Giả sử bảng màu cú 1 màu C khụng dựng đến, với mỗi điểm màu A khi tỡm được điểm màu B cú sử dụng trong bảng mà để sắp xếp cạnh A mà giỏ trị s(A, B) vẫn cũn lớn hơn 1 ngưỡng nào đú ta sẽ chốn ụ màu C vào ụ màu A và B đồng thời đổi lại màu của ụ C sao cho giống với ụ A và B nhất cú thể. Trong trường hợp số màu được sử dụng nhỏ hơn hoặc bằng 86 màu (đối với ảnh 256 màu) hay nhỏ hơn hoặc bằng 6 màu (đối với ảnh 16 màu) thỡ việc sắp xếp lại bảng màu cho ta kết quả giấu tin rất đẹp.
Hỡnh 13: Bảng mầu trước và sau khi sắp xếp của một ảnh
Khi đú quỏ trỡnh sắp lại bảng màu được tiến hành như sau:
Bước 1: Duyệt bảng màu để xỏc định màu nào được sử dụng và màu nào khụng
được dựng
Bước 2: Sắp xếp màu cú sử dụng vào cỏc vị trớ 3*k của bảng màu với k=1, 2,
3……(vị trớ đầu tiờn trong bảng màu là vị trớ 0)
Chốn cỏc ụ màu khụng dựng tới vào cỏc vị trớ cũn lại của bảng màu
Bước 3:Với mỗi ảnh màu A(x, y, z) cú thể sử dụng đến, nằm ở vị trớ 3*k của bảng
màu mới, ta copy màu A vào ụ màu nằm ở vị trớ 3*k +1 và vị trớ 3*k -1
Bước 4: Chớnh lại chỉ số màu ở mỗi điểm ảnh để thu được ảnh mới giống hệt ảnh cũ Bước 5: Quỏ trỡnh sắp xếp lại bảng màu sẽ cho ta một ảnh mới khụng hề khỏc ảnh cũ
khi hiển thị. Tuy nhiờn cần cú sự khỏc nhau về mặt giỏ trị. Tiến hành giấu tin trờn ảnh thứ cấp của ảnh vừa thu được bằng cỏch tỏch bit cuối cựng của mỗi điểm ảnh. Việc đảo bit
trờn ảnh thứ cấp làm cho giỏ trị tăng hoặc giảm 1 đơn vị, tức là điểm ảnh mới sẽ mang màu của ụ cú chỉ số là 3*k+1 hoặc 3*k -1 (giỏ trị cũ là 3*k) nhưng cả 2 ụ này đều cú màu như của ụ 3*k nờn màu của ảnh ko cú sự thay đổi so với ảnh cũ. Như vậy kết quả khụng cú nhiễu và ảnh sẽ giống hệt nhau
Một hướng khỏc đối với giấu tin trong ảnh nhỏ hơn hoặc bằng 8 bit màu là ta sẽ giấu tin vào bảng màu. Tức là thay vỡ tỏch cỏc bit LSB của điểm ảnh ta sẽ tỏch bit LSB của bảng màu và thực hiện giấu tin trờn cỏc bit vừa thu được.Quỏ trỡnh này cũng tương tự như khi ta giấu tin vào ảnh 24 bit màu với kớch thước là 256 màu (8 bit màu) do đú lượng thụng tin giấu được sẽ rất it bị giới hạn do kớch thước của bảng màu. Chẳng hạn đối với ảnh 8 bit màu ta chọn kớch thước là 10*10 và r=4, lấy mỗi ụ màu ra bit LSB ta sẽ chỉ giấu được 1 lượng thụng tin cực đại là 28 bit bằng thuật toỏn trờn. Tuy nhiờn giải phỏp này cũng cú những hạn chế vỡ ảnh kết quả cú bảng màu đặc biệt sẽ gõy ra nghi ngờ bởi sự giống nhau của 3 ụ màu liờn tiếp. Hơn nữa bảng màu cú thể bị sắp xếp lại bởi cỏc phần mềm xử lý trong quỏ trỡnh hiển thị hay lưu lại ảnh dẫn đến thụng tin giấu cú thể sẽ bị mất đi và khụng khụi phục lại được
Ảnh hi-color (16 bit màu):Ảnh 16 bit màu thực tế chỉ cú thể dựng được 15 bit màu
cho mỗi điểm ảnh, trong đú 5 bit biểu diễn cường độ tương đối của màu đỏ, 5 bit biểu diễn cường độ tương đối của màu xanh lục, 5 bit biểu diễn cường độ tương đối của màu xanh lam. Cũn lại 1 bit khụng dựng đến là bit cao nhất của bye thứ 2 trong mỗi cặp 2 bye biểu diễn một điểm ảnh. Đú chớnh là bit LSB của ảnh 16 bit màu, việc thay đổi những bit này khụng làm ảnh hưởng đến màu sắc của những điểm ảnh trong ảnh mụi trường. Do đú ta sẽ dựng những điểm này để tạo thành ảnh thứ cấp sau đú biến đổi để thu được ảnh kết quả khụng hề cú nhiễu. Tuy nhiờn nếu chỉ dựng những điểm này để tạo ảnh thứ cấp thỡ lượng thụng tin giấu vào sẽ bị hạn chế. Chẳng hạn mỗi ảnh 256 màu kớch thước 200*200 pixel cú số màu được sử dụng nhỏ hơn hoặc bằng 86 màu sẽ giấu được lượng thụng tin mà ảnh 16 bit màu cựng kớch thước giấu được. Trong khi kớch thước tớnh bằng byte của ảnh 256 màu chỉ bằng 1 nửa của ảnh 16 bit màu, thờm nữa là cả 2 kết quả này cựng cho kết quả khụng nhiễu. Để tăng lượng thụng tin giấu được trong ảnh 16 bit màu thỡ ta cú thể lấy nhiều hơn 1 bit từ mỗi điểm ảnh. Nếu ta đỏnh số cho 16 bit của 2 byte biểu diễn điểm ảnh này theo thứ tự là ở byte thứ nhất ta đỏnh số từ 1 đến 8, ở byte thứ 2 ta đỏnh số tiếp tục là 9 đến 16 thỡ ta sẽ cú thể chọn cỏc vị trớ 1, 6, 11 để tạo thành ảnh thứ cấp để tiến hành giấu tin. Khi trả ảnh thứ cấp cho ảnh mụi trường ta cũng tiến hành trả đỳng cỏc vị trớ mà ta vừa lấy ra
Ảnh true color (24 bit màu): Ảnh true color sử dụng 3 byte cho mỗi điểm ảnh, mỗi
byte biểu diễn 1 thành phần trong cấu trỳc RGB, trong mỗi byte cỏc bit thấp càng ớt ảnh hưởng đến màu của điểm ảnh. Vỡ vậy bit cuối cựng của mỗi byte trong phần dữ liệu ảnh
là cỏc bit LSB của ảnh true color. Để tăng lượng thụng tin giấu vào ảnh mụi trường từ mỗi byte của ảnh true color ta sẽ lấy nhiều hơn 1 bit để tạo ra ảnh thứ cấp, thụng thường thỡ cũng chỉ nờn lấy nhiều nhất 4 bit của mỗi byte để ảnh khụng bị nhiễu đỏng kể khi đú lượng thụng tin tối đa cú thể giấu trong ảnh cũng cú thể tăng lờn gấp 4 lần so với lượng thụng tin tối đa cú thể giấu trong ảnh đú nếu chỉ lấy 1 bit cuối cựng của từng byte, do đú lượng thụng tin giấu được trong ảnh màu là tương đối lớn. Giả sử 1 bức ảnh Kodak photo CD cú kớch thước là 2048* 3072 pixel (24 bit màu) theo định dạng RGB cú thể giấu được 180.000 byte dữ liệu nếu ta tỏch mỗi byte biểu diễn 1 thành phần màu của mỗi điểm ảnh ra 2 bit
2.3.4.2 Thuật toỏn giấu tin trong ảnh màu và ảnh đa cấp xỏm
2.3.4.2.1 Giấu tin trong cỏc định dạng ảnh dựng bảng màu:
í tưởng: Ảnh sử dụng bảng màu thường gồm 2 phần: thứ nhất là 1 bảng màu xỏc định N màu và 1 danh sỏch cặp chỉ số (i, ci ) gỏn vector màu ci cho mỗi chỉ mục i , thứ 2 là phần dữ liệu ảnh thực sự được gỏn chỉ số màu cho mỗi điểm chứ ko phải là 1 màu cụ thể. Với cỏch biểu diễn này thỡ ảnh nhỏ sẽ cú dung lượng giảm đỏng kể. Cỏc định dạng chủ yếu của dạng này là ảnh GIF và ảnh BMP
Thuật toỏn:Đối với loại ảnh này, do cú cấu tạo dữ liệu đặc biệt nờn ta cú thể tiến
hành giấu tin trong cỏc bảng màu, dựa vào sự sắp xếp trờn bảng màu. Trong ảnh cú N màu thỡ sẽ cú N! cỏch sắp xếp cỏc màu trong bảng màu, và nú cũng đủ lớn để ta mó húa 1 thụng điệp cỡ nhỏ. Tuy nhiờn cỏch sắp xếp này cũng cú những nhược điểm đú là khi ta vụ tớnh sắp xếp lại cỏc màu trong bảng màu thỡ thụng tin cũng sẽ khụng cũn ý nghĩa gỡ nữa, mặc dự là ảnh khụng hề bị tỏc động gỡ.
Phương phỏp giấu tin bằng cỏch thay đổi giỏ trị cỏc bit LSB cú thể sử dụng tốt đối với loại này. Nhưng việc sắp xếp lại bảng màu sao cho cỏc màu gần giống nhau thỡ xếp gần nhau thỡ phụ thuộc vào cảm nhận của con người.Vỡ cấu trỳc dữ liệu của ảnh này khụng phụ thuộc vào cỏc giỏ trị lõn cận nhau mà phụ thuộc vào cảm nhận màu sắc của con người, nếu khi thay đổi bit LSB thỡ giỏ trị màu của 1 điểm ảnh sẽ thay đổi rất ớt. Việc sắp xếp lại bảng màu phụ thuộc vào độ cảm nhận màu sắc của mắt người, phải lựa chọn màu sắc, phải lựa chon sắp xếp theo thành phần sao cho mắt người cú cảm nhận về sự thay đổi màu sắc là kộm nhất và tốt nhất là để mắt người khụng cảm nhận cú sự thay đổi về màu sắc trong ảnh cũ và ảnh mới. Sau khi sắp xếp người ta cú thể lựa chọn cỏc bit LSB để thay đổi. Cỏc thay đổi của giỏ trị màu sẽ ỏnh xạ lờn 1 màu mới mà màu đú gần với màu ban đầu hơn và sự thay đổi đú khụng làm cho mắt người cú thể cảm nhận được
Nhận xột: Cỏc định dạng ảnh màu cú sử dụng bảng màu trước đõy được sử dụng khỏ nhiều do ưu điểm của nú là kớch thước nhỏ. Nhưng gần đõy cỏc nhà nghiờn cứu đó đề xuất rất nhiều thuật toỏn nộn mạnh, cho phộp ảnh màu chất lượng cao và nhiều màu nhưng dung lượng thấp. Vỡ vậy cỏc màu cú sử dụng bảng màu đang dần dần ớt được sử dụng và vỡ thế mà phương phỏp giấu tin trờn chỳng cũng ớt dần.
2.3.4.2.2 Giấu tin trong cỏc ảnh màu thụng thường
í tưởng:Với kĩ thuật giấu tin bằng cỏch thay đổi bit LSB, người ta cú thể thay đổi
khụng chỉ 1 bit mà cũn cú thể nhiều hơn để tăng thờm tỉ lệ tin được giấu. Cỏc nghiờn cứu cho rằng thị giỏc con người cảm nhận rất kem với màu xanh dương, tức là ta cú thể thay đổi nhiều hơn mà vẫn đảm bảo mắt người khú cú thể cảm nhận được
Thuật toỏn: Như đó trỡnh bày ở trờn thỡ ảnh màu là mụi trường rất lý tưởng để tiến
hành giấu tin. Đối với thuật toỏn thay đổi LSB ta tiến hành thay đổi theo quy tắc, sau đú ghộp ngược trở lại, tựy theo kớch thước của thụng điệp và kớch thước của ảnh mà ta cú thể