Sự khác nhau giữa giấu tin trong ảnh đen trắng với ảnh màu

Một phần của tài liệu Luận văn công nghệ thông tin xây dựng ứng dụng giấu tin trong ảnh (Trang 31 - 61)

7. Kết cấu của đề tài

2.2.3.Sự khác nhau giữa giấu tin trong ảnh đen trắng với ảnh màu

Khởi nguồn của giấu thông tin trong ảnh là thông tin được giấu trong các ảnh màu hoặc ảnh xám, trong đó mỗi pixel ảnh mang nhiều giá trị, được biểu diễn bằng nhiều bit. Với ảnh đó thì việc thay đổi một giá trị nhỏ ở một pixel thì chất lượng ảnh gần như không thay đổi, và khả năng bị phát hiện rất thấp dưới con mắt người bình thường. Do đó hệ thống thị giác của con người cũng đóng một vai trò quan trọng trong việc bảo đảm tính không nhìn thấy thông tin được giấu trên ảnh. Với những ảnh mà mỗi điểm ảnh chỉ mang một giới hạn nhỏ các giá trị thì việc giấu thông tin trong ảnh đảm bảo tính vô hình của thông tin che giấu là một công việc khó khăn hơn nhiều. Đặc biệt với ảnh đen trắng, mỗi điểm ảnh chỉ mang một trong hai giá trị trắng hoặc đen. Vậy thì khi thay đổi giá trị một pixel từ đen thành trắng hoặc ngược lại thì rất dễ bị phát hiện. Một số thuật toán khác thì giấu chất lượng ảnh tốt hơn nhưng lượng thông tin giấu được ít và quá đơn giản không đảm bảo được độ an toàn thông tin. Bảng sau sẽ liệt kê những khác nhau cơ bản giữa giấu thông tin trong ảnh đen trắng và ảnh màu.

Giấu thông tin trong ảnh đen trắng Giấu thông tin trong ảnh màu hoặc ảnh xám

Thông tin giấu ít hơn Thông tin giấu nhiều hơn

Có cùng kích cỡ với ảnh

Khả năng bị phát hiện phương tiện có giấu thông tin cao hơn ảnh màu

Khả năng bị phát hiện thấp

Độ an toàn thông tin thấp do dễ bị phát hiện có thông tin chứa thông tin bên trong

Độ an toàn cao

Các thuật toán giấu ít, phức tạp Nhiều thuật toán và có nhiều hướng mở

rộng phát triển. Như áp dụng giải thuật di truyền.

Bảng 2.2 : Sự khác nhau giữa giấu thông tin trong ảnh đen trắng và ảnh màu

Ảnh gốc Ảnh có giấu tin

Ảnh gốc Ảnh có chứa tin

Hình 2.3: Ảnh đen trắng sau khi giấu cùng một lượng thông tin như ảnh màu nhưng chất lượng kém hơn.

2.3. Tiểu kết

Thuật toán giấu tin là phần cốt lõi trong một hệ giấu tin trong ảnh. Trong chương này nhóm đã xác định được thuật toán giấu tin LSB để sử dụng trong chương trình.

Chương tiếp theo, nhóm sẽ trình bày về các loại ảnh và chọn ra loại ảnh làm môi trường chứa thông tin cần giấu.

CHƢƠNG 3: TỔNG QUAN VỀ ẢNH BITMAP

Hiện nay, có rất nhiều định dạng ảnh như JPEG, PNG, GIF hay BITMAP. Tùy thuộc vào nhu cầu sử dụng hàng ngày mà ta dùng các loại ảnh thích hợp. Đối với môi trường mạng và thiết kế web đòi hỏi sự nhanh chóng cho sự truy cập từ các máy khách tới máy chủ nhưng chất lượng ảnh không được quá kém nên JPEG và PNG có thể đáp ứng nhu cầu này.

Đối với giấu tin trong ảnh ta cần đảm bảo các yêu cầu như an toàn vào bảo mật thông tin và một điều không kém quan trọng là số lượng thông tin được giấu càng nhiều càng tốt. Do đó, định dạng ảnh BITMAP có cấu trúc ảnh cố định với vùng dữ liệu ảnh giúp thỏa mãn những yêu cầu trên.

3.1. Sơ lƣợc về các loại ảnh JPEG, GIF, PNG

Ảnh JPEG

JPEG (tiếng Anh, viết tắt cho Joint Photographic Experts Group) là một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần. Tuy nhiên ảnh sau khi giải nén sẽ khác với ảnh ban đầu. Chất lượng ảnh bị suy giảm sau khi giải nén. Sự suy giảm này tăng dần theo hệ số nén. Tuy nhiên sự mất mát thông tin này là có thể chấp nhận được và việc loại bỏ những thông tin không cần thiết được dựa trên những

nghiên cứu về hệ nhãn thị của mắt người.[14]

Phần mở rộng của các file JPEG thường có dạng .JPEG, .JFIF, .JPG, hay .JPE; dạng .JPG là dạng được dùng phổ biến nhất. Hiện nay dạng nén ảnh JPEG rất được phổ biến trong điện thoại di động cũng như những trang thiết bị lưu giữ có dung lượng nhỏ

Ảnh GIF

GIF (viết tắt của Graphics Interchange Format; trong tiếng Anh nghĩa là "Định dạng trao đổi hình ảnh") là một định dạng tập tin hình ảnh bitmap cho các hình ảnh dùng ít hơn 256 màu sắc khác nhau và các hoạt hình dùng ít hơn 256 màu cho mỗi khung hình. GIF là định dạng nén dữ liệu đặc biệt hữu ích cho việc truyền hình ảnh

qua đường truyền lưu lượng nhỏ. Định dạng này được CompuServe cho ra đời vào

năm 1987 và nhanh chóng được dùng rộng rãi trên World Wide Web cho đến nay.[13]

Tập tin GIF dùng nén dữ liệu bảo toàn trong đó kích thước tập tin có thể được giảm mà không làm giảm chất lượng hình ảnh, cho những hình ảnh có ít hơn 256 màu. Số lượng tối đa 256 màu làm cho định dạng này không phù hợp cho các hình chụp (thường có nhiều màu sắc), tuy nhiên các kiểu nén dữ liệu bảo toàn cho hình chụp nhiều màu cũng có kích thước quá lớn đối với truyền dữ liệu trên mạng hiện nay. Định dạng JPEG là nén dữ liệu thất thoát có thể được dùng cho các ảnh chụp, nhưng lại làm giảm chất lượng cho các bức vẽ ít màu, tạo nên những chỗ nhòe thay cho các đường sắc nét, đồng thời độ nén cũng thấp cho các hình vẽ ít màu. Như vậy, GIF thường được dùng cho sơ đồ, hình vẽ nút bấm và các hình ít màu, còn JPEG được dùng cho ảnh chụp.

Định dạng GIF đã được đăng ký sở hữu trí tuệ bởi Unisys, và những ai muốn viết chương trình để tạo ra hoặc hiển thị tập tin GIF phải trả tiền bản quyền. Tiêu chuẩn định dạng PNG đã ra đời để thay thế GIF, giảm các hạn chế luật pháp và hạn chế công nghệ. Nay giấy phép sở hữu trí tuệ của Unisys đã hết hạn, nhưng PNG vẫn được ưa chuộng do có nhiều tính năng kỹ thuật vượt trội, và đã trở thành định dạng phổ biến thứ 3 trên mạng. (adsbygoogle = window.adsbygoogle || []).push({});

Ảnh PNG

PNG (từ viết tắt trong tiếng Anh của Portable Network Graphics; chính thức đọc như "pinh") là một dạng hình ảnh sử dụng phương pháp nén dữ liệu mới - không làm mất đi dữ liệu gốc. PNG được tạo ra nhằm cải thiện và thay thế định dạng ảnh GIF với một định dạng hình ảnh không đòi hỏi phải có giấy phép sáng chế khi sử dụng. PNG được hỗ trợ bởi thư viện tham chiếu libpng, một thư viện nền tảng độc lập bao

gồm các hàm của C để quản lý các hình ảnh PNG.[15]

Những tập tin PNG thường có phần mở rộng là PNG và đã được gán kiểu chuẩn MIME là image/png (được công nhận vào ngày 14 tháng 10 năm 1996).

Động cơ thúc đẩy cho việc tạo ra định dạng PNG bắt đầu vào khoảng đầu năm 1995, sau khi Unisys công bố họ sẽ áp dụng bằng sáng chế vào thuật toán nén dữ liệu LZW- được sử dụng trong định dạng GIF. Thuật toán được bảo vệ bởi bằng công nhận độc quyền sáng tạo ở trong nước Mỹ và tất cả các nước trên thế giới. Tuy nhiên, cũng đã có một số vấn đề với định dạng GIF khi cần có một số thay đổi trên hình ảnh, nhất

giới hạn của nó là 256 màu trong thời điểm máy tính có khả năng hiển thị nhiều hơn 256 màu đang trở nên phổ biến. Mặc dù định dạng GIF có thể thể hiện các hình ảnh động, song PNG vẫn được quyết định là định dạng hình ảnh đơn (chỉ có một hình duy nhất). Một người "anh em" của nó là MNG đã được tạo ra để giải quyết vấn đề ảnh động. PNG lại tăng thêm sự phổ biến của nó vào tháng 8 năm 1999, sau khi hãng Unisys huỷ bỏ giấy phép của họ đối với các lập trình viên phần mềm miễn phí, và phi thương mại.

3.2. Cấu trúc ảnh Bitmap

3.2.1. Tổng quan về ảnh Bitmap

Trong đồ họa máy vi tính, BMP, còn được biết đến với tên tiếng Anh khác là Windows bitmap, là một định dạng tập tin hình ảnh khá phổ biến. Các tập tin đồ họa lưu dưới dạng BMP thường có đuôi là .BMP hoặc .DIB (Device Independent Bitmap).[12]

Số bit trên mỗi điểm ảnh (bit per pixel), thường được ký hiệu bởi n. Một ảnh BMP n-bit có màu. Giá trị n càng lớn thì ảnh càng có nhiều màu, và càng rõ nét hơn. Giá trị tiêu biểu của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256 màu), 16 (ảnh 65536 màu) và 24 (ảnh 16 triệu màu). Ảnh BMP 24-bit có chất lượng hình ảnh trung thực nhất.

Đặc điểm nổi bật nhất của định dạng BMP là tập tin hình ảnh thường không được nén bằng bất kỳ thuật toán nào. Khi lưu ảnh, các điểm ảnh được ghi trực tiếp vào tập tin - một điểm ảnh sẽ được mô tả bởi một hay nhiều byte tùy thuộc vào giá trị n của ảnh. Do đó, một hình ảnh lưu dưới dạng BMP thường có kích cỡ rất lớn, gấp nhiều lần so với các ảnh được nén (chẳng hạn GIF, JPEG hay PNG).

Định dạng BMP được hỗ trợ bởi hầu hết các phần mềm đồ họa chạy trên Windows, và cả một số ứng dụng chạy trên MS-DOS. Ngay từ Windows 3.1, Microsoft đã cho ra đời phần mềm PaintBrush, một phần mềm hỗ trợ vẽ hình ảnh đơn giản và lưu hình ảnh được vẽ dưới dạng BMP 16 hay 256 màu. Tuy nhiên, do kích thước tập tin ảnh BMP quá lớn, định dạng BMP không phù hợp để trao đổi hình ảnh qua mạng Internet (do hạn chế về tốc độ truyền dữ liệu). Do đó, các trang web thường sử dụng ảnh dạng GIF, JPEG hay PNG. Các định dạng này hỗ trợ các thuật toán nén hình ảnh, vì vậy có thể giảm bớt kích cỡ của ảnh.

3.2.2. Cấu trúc ảnh Bitmap

Cấu trúc tập tin ảnh BMP bao gồm 4 phần:

 Bitmap Header (14 bytes): giúp nhận dạng tập tin bitmap.

 Bitmap Information (40 bytes): lưu một số thông tin chi tiết giúp hiển thị

ảnh.

 Color Palette (4*x bytes), x là số màu của ảnh: định nghĩa các màu sẽ được sử dụng trong ảnh.

 Bitmap Data: lưu dữ liệu ảnh.

Bitmap Header

Phần này có độ lớn cố định là 14 bytes, phần này dùng để mô tả thông tin chung về tệp như kiểu tệp, độ lớn và một số thông tin liên qua đến tệp.

Offset(byte) Giá Trị ngh a

1 „B‟ Định dạng kiểu tệp

2 „M‟ Định dạng kiểu tệp

3->6 Unsigned long Kích thước tệp

7->10 Zero Reserved

11->14 Unsigned long Địa chỉ phần dữ liệu

Bảng 3.1 : Bitmap Header

Trong phần Bitmap Header có mô tả thông tin về độ dài tệp , thông tin này thực sự cần thiết với mọi chương trình .Tuy nhiên qua thực nghiệm thấy rằng với một số tệp thông tin này không chính xác. Do đó trong báo cáo đưa cách tính kích thước tệp bitmap thông qua công thức:

Tệp_Size=Sizeof(Bitmap Header ) + Sizeof(Bitmap Infor) + Sizeof(Pallete) + Sizeof(Data) (adsbygoogle = window.adsbygoogle || []).push({});

Địa chỉ vị (offset) của vùng dữ liệu có thể được xác định thông qua công thức : Địa chỉ vùng data = 54+ Sizeof(Pallete)

Đối với ảnh đen trắng và ảnh màu có số lượng màu lớn hơn 256 thì giá trị địa chỉ cố định là 54.

Bitmap Information

Phần Bitmap Infor dùng để mô tả thông tin về ảnh đang dùng được lưu trữ trong tệp kích thước của phần này cố định là 40 byte.

Ý nghĩa và giá trị của từng trường trong vùng Bitmap Infor được mô tả chi tiết trong bảng :

Offset(byte) Giá Trị ngh a

1->4 40 Số lượng byte của vùng

bitmap info

5->8 Unsigned long Độ rộng của ảnh tính theo

Pixel

9->12 Unsigned long Độ cao của ảnh tính theo

Pixel

13->14 1 Number of Color Plans

15->16 Unsigned long Số bit để biểu diễn 1 pixel

17->20 Unsigned long Kiểu nén

21->24 Unsigned long Độ lớn của ảnh (byte)

25->28 Unsigned long Độ phân giải của ảnh theo

chiều ngang

29->32 Unsigned long Độ phân giải của ảnh theo

33->36 Unsigned long Số lượng màu trong bảng màu

37->40 Unsigned long Số màu quan trọng

Bảng 3.2: Bitmap Information

Color Palette (Bảng màu)

Tiếp theo là Palette màu của BMP, gồm nhiều bộ có kích thước 4 byte xếp liền nhau theo cấu trúc Blue-Green-Red và một Byte dành riêng cho Itensity. Kích thước của vùng Palette màu bằng 4 x số màu của ảnh. Nếu số bits màu của ảnh (byte 15-16 của Info là 24 hoặc 32 thì không có vùng Palette). Vì Palette màu của màn hình có cấu tạo theo thứ tự Red-Green-Blue nên khi đọc Palette màu của ảnh BMP vào ta phải chuyển đổi lại cho phù hợp. Số màu của ảnh được biết dựa trên số Bits cho 1 pixel cụ thể là:

Nếu là ảnh 24 bit, th ì ColorTable không được biểu diễn.

Nếu là ảnh 8 bit thì ColorTable chứa 256 “entries” với mỗi “entry” chứa 4 byte của dữ liệu. 3 byte đầu tiên là giá trị cường độ màu Blue, Green, Red. Byte cuối cùng không được sử dụng và bằng zero.

Bitmap Data

Vùng dữ liệu ảnh là giá trị của điểm ảnh , kích thước của vùng dữ liệu ảnh phụ thuộc vào độ rộng , chiều cao và kiểu ảnh. Với ảnh 8 bit màu thì ta có công thức

Sizeof(Data)=Width * Height

Với ảnh có số màu lớn hơn 256 ta có công thức (adsbygoogle = window.adsbygoogle || []).push({});

Sizeof(Data)=Width * Height * Bit_Number_of_Pixel

Vậy tại vùng Data là giá trị các thành phần màu cơ bản , số lượng bit dùng để biểu diễn giá trị cho từng thành phần màu có thể sẽ khác nhau phụ thuộc vào chất lượng ảnh. Ảnh 24 bit mỗi thành phần màu đựơc lưu trữ bởi 8 bit và thứ tự lưu trữ là B, G, R.

3.3. Khái niệm về ảnh trắng đen, đa cấp xám và ảnh màu. 3.3.1. Ảnh đen trắng và đa cấp xám. 3.3.1. Ảnh đen trắng và đa cấp xám.

Ảnh đen trắng chỉ bao gồm 2 màu: màu đen và màu trắng. Người ta phân mức đen trắng đó thành L mức nếu sử dụng số bit B=8 bít để mã hóa mức đen trắng (hay mức xám) thì L được xác định :

L=2B

Nếu L bằng 2, B=1, nghĩa là chỉ có 2 mức: mức 0 và mức 1, còn gọi là ảnh nhị phân. Mức 1 ứng với màu sáng, còn mức 0 ứng với màu tối. Nếu L lớn hơn 2 ta có ảnh đa cấp xám. Nói cách khác, với ảnh nhị phân mỗi điểm ảnh được mã hóa trên 1 bit, còn với ảnh 256 mức, mỗi điểm ảnh được mã hóa trên 8 bit. Như vậy, với ảnh đen trắng: nếu dùng 8 bit (1 byte) để biểu diễn mức xám, số các mức xám có thể biểu diễn được là 256. Mỗi mức xám được biểu diễn dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 255, với mức 0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng nhất.

Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như các phần tử logic. Ứng dụng chính của nó được dùng theo tính logic để phân biệt đối tượng ảnh với nền hay để phân biệt điểm biên với điểm khác.

3.3.2. Ảnh màu

Ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản: đỏ (R), lục (G), lơ (B) và thường thu nhận trên các dải băng tần khác nhau. Với ảnh màu, cách biểu diễn cũng tương tự như với ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng rẽ gồm: đỏ (red), lục (green) và lam (blue). Để biểu diễn cho một điểm ảnh màu cần 24 bit. 24 bit này được chia thành ba khoảng 8 bit. Mỗi màu cũng phân thành L cấp màu khác nhau (thường L=256). Mỗi khoảng này biểu diễn cho cường độ sáng của một trong các màu chính.

Do đó, để lưu trữ ảnh màu người ta có thể lưu trữ từng màu riêng biệt, mỗi màu lưu trữ như một ảnh đa cấp xám. Do đó, không gian nhớ dành cho một ảnh màu lớn gấp 3 lần một ảnh đa cấp xám cùng kích cỡ.

3.4. Tiểu kết

Như vậy, chúng ta đã tìm hiểu qua các loại định dạng ảnh. Từ đó xác định ảnh môi trường phục vụ cho quá trình giấu tin là định dạng ảnh Bitmap nhóm nghiên cứu sẽ bắt đầu tiến hành xây dựng chương trình.

Chương sau sẽ giới thiệu về cách xây dựng chương trình và những chức năng mà chương trình hỗ trợ.

CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH

Sau khi tìm hiểu để có được những kiến thức cần thiết về phương pháp giấu tin

Một phần của tài liệu Luận văn công nghệ thông tin xây dựng ứng dụng giấu tin trong ảnh (Trang 31 - 61)