Hiện đã có một số kỹ thuật được đề xuất để khắc phục những vấn đề trên ví dụ như mã hóa thông tin, chữ ký số, RSA, giấu tin trong các sản phẩm đa phương tiện.. Nội dung luận văn được trì
Trang 1Phạm Trung Thành
TÌM HIỂU CÁC KỸ THUẬT GIẤU TIN TRONG ẢNH
Chuyên ngành: Khoa học máy tính
Trang 21.2.2 Phân loại các kỹ thuật giấu tin: 7
1.2.3 Vài nét về lịch sử giấu tin: 9
1.3 Mô hình kỹ thuật giấu tin 10
1.4 Một số ứng dụng đang được triển khai: 12
1.5 Giấu thông tin trong dữ liệu đa phương tiện: 14
1.5.1 Giấu thông tin trong ảnh: 14
1.5.2 Giấu thông tin trong audio: 15
1.5.3 Giấu thông tin trong video 16
1.6 Độ an toàn của một hệ thống giấu tin 17
1.7 Các tấn công trên hệ giấu tin 18
CHƯƠNG 2 CÁC TÍNH CHẤT VÀ ĐẶC TRƯNG CỦA GIẤU THÔNG TIN TRONG ẢNH 19
2.1 Giấu thông tin trong ảnh, những đặc trưng và tính chất 19
2.2 Giấu thông tin trong ảnh đen trắng, ảnh màu và ảnh đa cấp xám 21
2.3 Hệ thống thị giác người và các mô hình màu của ảnh 23
2.4 Biểu diễn ảnh trên máy tính: 27
2.4.1 Ảnh vector 29
2.4.2 Ảnh mành 30
2.5 Các định dạng ảnh thông dụng 32
2.5.1 Định dạng ảnh IMG 32
2.5.2 Định dạng ảnh PCX 33
2.5.3 Định dạng ảnh TIFF (Targed Image File Format) 33
2.5.4 Định dạng ảnh GIF (Graphics Interchanger Format) 34
2.6 Nén ảnh 34
2.6.1 Tỉ lệ nén (Compression rate) 35
2.6.2 Một số phương pháp nén ảnh 35
2.7 Một số tiêu chí đánh giá kỹ thuật giấu thông tin trong ảnh số 38
2.7.1 Tính vô hình 38
2.7.2 Khả năng giấu thông tin 38
2.7.3 Chất lượng của ảnh có giấu thông tin 38
2.7.4 Tính bền vững của thông tin được giấu 39
2.7.5 Thuật toán và độ phức tạp tính toán 39
2.8 Một số chương trình giấu tin trong ảnh 40
2.8.1 Hide And Seek V4.1 40
2.8.2 Stego Dos 40
2.8.3 White Noise Storm 40
2.8.4 S – Tools for Windows 40
2.9 Các kỹ thuật xử lí điểm ảnh: 41
CHƯƠNG 3 MỘT SỐ THUẬT TOÁN GIẤU THÔNG TIN 43
Trang 33.1 Giới thiệu 43
3.2 Thuật toán giấu thông tin trong khối bit 45
3.2.1 Kỹ thuật giấu tin ngây thơ 45
3.2.2 Kỹ thuật giấu tin Wu - Lee 50
3.2.3 Kỹ thuật giấu tin Chen – Pan – Tseng 53
3.3 Thuật toán giấu thông tin thay thế bit có trọng số thấp nhất 57
3.3.1 Thuật toán 59
3.3.2 Phân tích, đánh giá thuật toán 61
3.4 Một số kỹ thuật giấu tin khác 61
3.4.1 Kỹ thuật giấu tin dựa trên bảng màu 62
3.4.2 Kỹ thuật trải phổ (Spread Spectrum Communication) 62
3.4.3 Kỹ thuật dùng hệ số DCT (Discrete Cosine Transform) 63
CHƯƠNG 4 TRIỂN KHAI ỨNG DỤNG 64
4.1 Phân tích và định rõ yêu cầu 64
4.2 Yêu cầu về cấu hình hệ thống 64
4.3 Thiết kế chương trình 64
4.4 Hướng dẫn sử dụng chương trình 65
4.5 Kết quả thử nghiệm 67
4.6 Hướng phát triển tiếp theo 69
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71
Tiếng Việt 71
Tiếng Anh 71
Trang 4MỞ ĐẦU
Sự ra đời và tiến bộ vượt bậc của công nghệ thông tin được đánh giá là động lực chính của sự thay đổi, là bước ngoặt trong lịch sử phát triển của xã hội, đưa thế giới chuyển từ kỷ nguyên công nghiệp sang kỷ nguyên thông tin và phát triển nền kinh tế tri thức Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong cuộc sống của nhân loại Hàng loạt máy móc và các thiết bị số hiện đại như máy tính cá nhân, máy ảnh kỹ thuật số, máy quét, máy in, máy ghi âm kỹ thuật số đã ra đời đem lại nhiều tiện ích cho người sử dụng Đi kèm theo những phần mềm xử lý tiện ích là vấn nạn vi phạm bản quyền, ăn cắp thông tin, truy cập trái phép ngày càng tinh vi và khó kiểm soát Hiện đã có một số kỹ thuật được đề xuất để khắc phục những vấn đề trên ví dụ như mã hóa thông tin, chữ ký số, RSA, giấu tin trong các sản phẩm đa phương tiện
Kỹ thuật giấu tin được biết đến bởi hai lĩnh vực chủ yếu là Steganography (giấu tin mật) và Watermarking (thủy vân) Steganography là kỹ thuật giấu tin mật vào các dữ liệu truyền thông (Ảnh, văn bản, nhạc, phim ) để chuyển tải đến người nhận mà thứ ba không thể biết đến sự tồn tại của thông tin mật trong quá trình truyền Kỹ thuật Steganography cũng làm thay đổi tư duy trong lĩnh vực bảo mật thông tin bởi tính khả thi của việc ẩn một lượng thông tin mật trong một dữ liệu thông thường mà khó bị phát hiện bằng giác quan của con người Bên cạnh đó Watermarking được sử dụng chủ yếu trong lĩnh vực bảo vệ bản quyền sản phẩm số bằng cách đưa thông tin bản quyền như tên tác giả, logo vào sản phẩm Với sự tồn tại của thông tin thủy vân nhà sản xuất có thể chứng minh được nguồn gốc của sản phẩm khi sản phẩm được phát tán không hợp pháp Cả hai kỹ thuật được sử dụng với các mục đích khác nhau song chúng đều có đặc điểm chung là giấu thông tin vào sản phẩm số sao cho không bị phát hiện bởi người thứ ba trong quá trình trao đổi thông tin trên mạng
Hiện nay kỹ thuật giấu thông tin mật đã được quan tâm, nghiên cứu và được triển khai ứng dụng rộng rãi trong các cơ quan quân sự, ngoại giao, an ninh, giáo dục và cả các doanh nghiệp khi cần trao đổi các thông tin quan trọng
Trang 5Xuất phát từ những nhu cầu trên, học viên quyết định lựa chọn đề tài “Tìm hiểu các kỹ thuật giấu tin trong ảnh” nhằm nghiên cứu, đánh giá các kỹ thuật giấu tin trong ảnh và chọn lựa một vài các kỹ thuật giấu tin tốt để cài đặt thử nghiệm và
so sánh đánh giá
Nội dung luận văn được trình bày trong bốn chương:
Chương 1 trình bày một số khái niệm cơ bản của kỹ thuật giấu thông tin; phân loại các kỹ thuật giấu tin; những ứng dụng cơ bản; mô hình tổng quát của kỹ thuật giấu tin và một vài phần mềm giấu tin hiện có
Chương 2 trình bày các nghiên cứu về kỹ thuật giấu tin trong môi trường ảnh; sự khác biệt của kỹ thuật giấu tin trong các loại ảnh khác nhau; các tính chất và yêu cầu của hệ giấu tin trong ảnh
Chương 3 khảo sát, đánh giá, so sánh một số kỹ thuật giấu thông tin cơ bản
Chương 4 phát triển một chương trình giấu tin thử nghiệm sử dụng hai kỹ thuật giấu tin “Ngây Thơ” và Chen - Pan - Tseng Đánh giá và so sánh chất lượng của hai kỹ thuật này
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ GIẤU THÔNG TIN
1.1 Giới thiệu chung:
Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong
xã hội và trong cuộc sống của chúng ta Những thuận lợi mà thông tin kỹ thuật số mang lại cũng sinh ra những thách thức và cơ hội cho quá trình đổi mới Sự ra đời những phần mềm có tính năng rất mạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máy ghi âm kỹ thuật số, v.v , đã được sáng tạo trên cơ sở thoả mãn thế giới tiêu dùng rộng lớn, để xử lý và thưởng thức các dữ liệu
đa phương tiện (multimedia data) Mạng Internet toàn cầu đã hình thành một xã hội
ảo nơi diễn ra quá trình trao đổi thông tin trong mọi lĩnh vực chính trị, quân sự, quốc phòng, kinh tế, thương mại…Chính trong môi trường mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn
đề an toàn thông tin như nạn ăn cắp bản quyền, nạn xuyên tạc thông tin, truy nhập thông tin trái phép v.v Tìm giải pháp cho những vấn đề nêu trên không chỉ tạo điều kiện đi sâu vào lĩnh vực công nghệ phức tạp đang phát triển rất nhanh này mà còn dẫn đến những cơ hội phát triển kinh tế
Giải pháp nào cho những vấn đề trên ?
Trong một quá trình phát triển lâu dài, nhiều phương pháp bảo vệ thông tin đã được đưa ra, trong đó giải pháp dùng mật mã học là giải pháp được ứng dụng rộng rãi nhất Các hệ mật mã đã được phát triển nhanh chóng và được ứng dụng rất phổ biến cho đến tận ngày nay Thông tin ban đầu được mã hoá thành các ký hiệu vô nghĩa, sau đó sẽ được lấy lại thông qua việc giải mã nhờ khoá của hệ mã Đã có rất nhiều những hệ mã phức tạp được sử dụng như DES, RSA, Các phương pháp này trong thực tế tỏ ra rất hiệu quả và được ứng dụng phổ biến
Tuy nhiên trong luận văn không đi sâu nghiên cứu về các hệ mật mã mà chỉ tiếp cận với một phương pháp đã và đang được nghiên cứu, phát triển ở nhiều nước trên thế giới, đó là phương pháp che giấu thông tin Phương pháp này còn mới và
Trang 7phức tạp, ứng dụng trong an toàn và bảo mật thông tin, đang được xem như một công nghệ chìa khoá cho vấn đề bảo vệ bản quyền, nhận thực thông tin và điều khiển truy cập …
Để bảo đảm an toàn cho nội dung của thông tin, người ta thường sử dụng phương pháp mã hoá thông tin, nhằm giấu đi ý nghĩa của nó Để giữ bí mật cho thông tin, người ta tìm ra cách che giấu đi sự hiện diện của nó Xu hướng hiện nay
là kết hợp hai kỹ thuật: mã hóa thông tin sau đó che giấu thông tin Mã hoá và che giấu thông tin có quan hệ chặt chẽ với nhau Nhiều ý tưởng của kỹ thuật mật mã (Cryptography) rất hữu ích trong những công việc che giấu sự hiện hữu của thông tin Nghiên cứu việc kết hợp hai kỹ thuật mật mã và che giấu dữ liệu, nhằm khắc phục những nhược điểm hoặc những hạn chế của từng loại, cho phép xây dựng những hệ thống bảo mật, an toàn cho việc chuyển tải dữ liệu trên các phương tiện thông tin đại chúng
Hình 1 Phân cấp các lĩnh vực nghiên cứu của mật mã học
Giấu thông tin, xét theo khía cạnh tổng quát cũng là một hệ mã mật, nhằm đảm bảo tính an toàn thông tin Phương pháp này ưu điểm là làm vô hình nội dung thông tin được chứa trong bức ảnh, đó chính là biện pháp hữu hiệu, hạn chế tối đa được
sự phá hoại của những tên tin tặc (hacker) Việc gửi đi những bức ảnh thông thường
sẽ không gây ra sự tò mò, chú ý của những tên tin tặc
1.2 Giấu thông tin và vài nét về lịch sử của nó
Trang 8Giấu thông tin là một kỹ thuật nhúng (giấu) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác
Kỹ thuật giấu thông tin nhằm hai mục đích đảm bảo an toàn và bảo mật thông tin: một là bảo mật cho dữ liệu được đem giấu, hai là bảo mật cho chính đối tượng được dùng để giấu tin Hai mục đích khác nhau này dẫn đến hai khuynh hướng kỹ thuật chủ yếu của giấu tin Khuynh hướng thứ nhất là giấu tin mật (steganography) Khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu được nhiều và quan trọng là làm người khác khó phát hiện được một đối tượng có bị giấu tin bên trong hay không Khuynh hướng thứ hai là thuỷ vân số (watermarking) Khuynh hướng thuỷ vân số có miền ứng dụng lớn hơn nên được quan tâm nghiên cứu nhiều hơn và thực tế đã có rất nhiều kỹ thuật thuộc về khuynh hướng này Thuỷ vân số tập trung vào việc sử dụng kỹ thuật giấu tin, dùng thông tin giấu để bảo vệ sản phẩm thông tin số như ảnh, audio hay video Nổi bật nhất là ứng dụng trong bảo
vệ bản quyền
1.2.2 Phân loại các kỹ thuật giấu tin:
Do kỹ thuật giấu thông tin số mới được hình thành trong thời gian gần đây nên
xu hướng phát triển vẫn chưa ổn định Nhiều phương pháp mới, theo nhiều khía cạnh khác nhau đang và sẽ được đề xuất, bởi vậy chưa thể có được một định nghĩa chính xác, một sự đánh giá phân loại rõ ràng Một số tác giả đã đưa ra các cách đánh giá phân loại, thậm chí các định nghĩa, nhưng không lâu sau lại có các định nghĩa khác, một sự phân loại khác được đề xuất Sơ đồ phân loại trên hình 2 được Fabien A P Petitcolas đưa ra năm 1999, sau hội nghị quốc tế lần thứ hai về giấu tin năm 1998 và đã được chấp nhận rộng rãi trong giới nghiên cứu [3]
Trang 9Hình 2 Phân loại các kỹ thuật giấu thông tin
Sơ đồ phân loại này như một bức tranh khái quát về ứng dụng và kỹ thuật giấu thông tin Dựa trên việc thống kê sắp xếp khoảng 100 công trình đã công bố trên một số tạp chí, cùng với thông tin về tên và tóm tắt nội dung của khoảng 200 công trình đã công bố trên internet, có thể chia lĩnh vực giấu dữ liệu ra làm hai hướng
lớn, đó là watermarking và steganography Nếu như watermark quan tâm nhiều
đến các ứng dụng giấu các mẩu tin ngắn nhưng đòi hỏi độ bền vững lớn của thông tin cần giấu (trước các biến đổi thông thường của tệp dữ liệu môi trường) thì
steganography lại quan tâm tới các ứng dụng che giấu các bản tin đòi hỏi mật độ và
dung lượng càng lớn càng tốt Đối với từng hướng lớn này, quá trình phân loại theo các tiêu chí khác có thể tiếp tục được thực hiện, ví dụ dựa theo ảnh hưởng các tác động từ bên ngoài có thể chia watermark thành hai loại, một loại bền vững với các tác động sao chép trái phép, loại thứ hai lại cần tính chất hoàn toàn đối lập, phải dễ
bị phá huỷ trước các tác động nói trên Cũng có thể chia watermark theo đặc tính, một loại cần được che dấu để chỉ có một số những người tiếp xúc với nó có thể thấy được thông tin, loại thứ hai đối lập, cần được mọi người nhìn thấy
watermarking
Thuỷ vân số
Fragile Watermarking
Thuỷ vân “dễ vỡ”
Giấu thông tin
Robust Copyright marking
Thuỷ vân bền vững
steganography
Giấu tin mật
Imperceptible Watermarking
Thuỷ vân ẩn
Visible Watermarking
Thuỷ vân hiện
Intrinsic
Giấu tin có xử lý Giấu tin đơn thuần Pure
Trang 10Steganography Watermarking
- Tập trung vào việc giấu được càng
nhiều thông tin càng tốt, ứng dụng trong
truyền dữ liệu thông tin mật
- Cố gắng làm nhỏ nhất những ảnh
hưởng đến chất lượng của đối tượng vỏ
để không bị chú ý đến dữ liệu đã được
giấu trong đó
- Thay đổi stego-object cũng làm cho dữ
liệu giấu bị sai lệch (nhất là ứng dụng
trong nhận thực thông tin)
- Không cần giấu nhiều thông tin, chỉ cần lượng thông tin nhỏ đặc trưng cho bản quyền của người sở hữu
- Trong trường hợp thuỷ vân nhìn thấy thì thuỷ vân sẽ hiện ra
- Thuỷ vân phải bền vững với mọi tấn công có chủ đích hoặc không có chủ
đích vào sản phẩm
Bảng 1 Phân biệt giữa Steganography và Watermarking
1.2.3 Vài nét về lịch sử giấu tin:
Từ Steganography bắt nguồn từ thời Hi Lạp cổ và được sử dụng cho tới ngày
nay, nó có nghĩa là tài liệu được phủ (covered writing) Các câu chuyện kể về kỹ thuật giấu thông tin được truyền qua nhiều thế hệ Có lẽ những ghi chép sớm nhất
về kỹ thuật giấu thông tin (thông tin được hiểu theo nghĩa nguyên thủy của nó) thuộc về sử gia Hi Lạp Herodotus Khi bạo chúa Hi Lạp Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ năm trước Công Nguyên, ông ta đã gửi một thông báo bí mật cho con rể của mình là Aristagoras ở Miletus Histiaeus đã cạo trọc đầu của một
nô lệ tin cậy và xăm một thông báo trên da đầu của người nô lệ ấy Khi tóc của người nô lệ này mọc đủ dài người nô lệ được gửi tới Miletus
Câu chuyện khác về thời Hi Lạp cổ đại cũng do Herodotus ghi lại Môi trường
để ghi văn bản chính là các viên thuốc được bọc trong sáp ong Demeratus, một người Hi Lạp, cần thông báo cho Sparta rằng Xerxes định xâm chiếm Hi Lạp Để tránh bị phát hiện, anh ta đã bóc lớp sáp ra khỏi các viên thuốc rồi khắc thông báo lên bề mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một lớp sáp mới Những viên thuốc được chuyển công khai và lọt qua mọi sự kiểm soát một cách dễ dàng
Trang 11Kỹ thuật giấu tin dùng mực không màu phổ biến ở thế kỷ 17 của Wilkins (1614 - 1672), là phương tiện hữu hiệu cho bảo mật thông tin trong một thời gian dài, cảtrong thời gian chiến tranh thế giới II Trước đó, người Romans cổ đã biết sử dụng những chất sẵn có như nước quả, sữa để viết các thông báo bí mật giữa những hàng văn tự thông thường Khi bị hơ nóng, những thứ mực không nhìn thấy này trở nên sẫm màu và có thể đọc được
Những ví dụ trên cho thấy ý tưởng về che giấu thông tin đã có từ rất sớm, được
sử dụng nhiều trong đời thường, tuy nhiên chưa được chú ý phát triển như một ngành khoa học Xuất phát từ nhu cầu về bảo mật thông tin cùng những phát minh khoa học của nhân loại, những thành tựu mà công nghệ thông tin đem lại đã tạo ra các môi trường giấu tin hết sức tiện lợi và phong phú Những năm 1990 trở lại đây, giấu thông tin số mới thật sự nhận được sự quan tâm của các nhà nghiên cứu, các tổ chức, các trường đại học và các viện công nghệ thông tin trên toàn thế giới Có rất nhiều công trình nghiên cứu về kỹ thuật giấu thông tin đã được công bố và áp dụng trong mọi lĩnh vực, nhất là trong thương mại điện tử
1.3 Mô hình kỹ thuật giấu tin
Mô hình của kỹ thuật giấu tin cơ bản được trình bày trên hình vẽ sau:
Hình 3 Lược đồ chung cho quá trình giấu thông tin
Hình vẽ trên biểu diễn quá trình giấu thông tin cơ bản Phương tiện chứa bao gồm các đối tượng được dùng làm môi trường để giấu tin như văn bản, ảnh, audio, video…, dữ liệu giấu là một lượng thông tin mang ý nghĩa nào đó, tuỳ thuộc vào
M
Trang 12
nhờ một bộ nhúng, bộ nhúng là những chương trình, những thuật toán để giấu tin và được thực hiện với một khoá bí mật giống như các hệ mật mã cổ điển Sau khi giấu tin ta thu được phương tiện chứa đã mang thông tin và phân phối sử dụng trên mạng
Trên hình vẽ:
a) Secret Message (M): thông tin cần giấu
b) Cover Data (I): dữ liệu phủ, môi trường giấu tin
c) Embedding Algorithm (E): bộ mã hóa / giải mã là những chương trình,
những thuật toán nhúng tin
d) Key (K): khóa bí mật, sử dụng trong kỹ thuật giấu tin
e) Stego Data (S): dữ liệu mang tin mật
f) Control (C): Kiểm tra thông tin sau khi giải mã
Thông tin được giấu vào phương tiện chứa, theo một thuật toán, sử dụng khóa
bí mật dùng chung giữa người gửi và người nhận tin
Hình 4 Lược đồ của quá trình giải mã thông tin
Hình vẽ 4 chỉ ra các công việc giải mã thông tin đã giấu Sau khi nhận được đối tượng có giấu thông tin, quá trình giải mã được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khoá của quá trình nhúng Kết quả thu được gồm phương tiện chứa gốc và thông tin đã giấu Bước tiếp theo thông tin giấu
sẽ được xử lí kiểm định so sánh với thông tin giấu ban đầu
S
Trang 131.4 Một số ứng dụng đang được triển khai: [10]
- Bảo vệ bản quyền tác giả (copyright protection): Là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số (digital watermarking) - một dạng của phương pháp giấu tin Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả (người ta gọi nó là thuỷ vân - watermark) sẽ được nhúng vào trong các sản phẩm, thuỷ vân đó chỉ một mình người chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh chứng cho bản quyền sản phẩm Giả sử có một thành phẩm dữ liệu dạng đa phương tiện như ảnh, âm thanh, video và cần được lưu thông trên mạng Để bảo vệ các sản phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để “dán tem bản quyền” vào sản phẩm này Việc dán tem chính là việc nhúng thuỷ vân, cần phải đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm nhận sản phẩm Yêu cầu
kỹ thuật đối với ứng dụng này là thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thuỷ vân này mà không được phép của người chủ sở hữu thì chỉ có cách là phá huỷ sản phẩm
Trang 14Hình 6 Ảnh có chứa thông tin của người chủ sở hữu
- Nhận thực thông tin hay phát hiện xuyên tạc thông tin (authentication and tamper detection):
Một tập các thông tin sẽ được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi hay không Các thuỷ vân được ẩn để tránh sự tò mò của kẻ thù, hơn nữa việc làm giả các thuỷ vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần được xem xét Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được các thay đổi (ví dụ như phân biệt xem một đối tượng đa phương tiện chứa thông tin giấu đã bị thay đổi, xuyên tạc nội dung hay là chỉ bị nén mất dữ liệu) Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin cao và thuỷ vân không cần bền vững
Hình 7 Rất khó phát hiện ảnh nào là giả mạo
- Giấu vân tay hay dán nhãn (fingerprinting and labeling):
Thuỷ vân trong những ứng dụng này được sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó Ví dụ như các vân khác nhau sẽ được nhúng vào các bản copy khác nhau của thông tin gốc trước khi chuyển cho nhiều người
Trang 15Với những ứng dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thuỷ vân tránh sự xoá giấu vết trong khi phân phối
- Điều khiển truy cập (copy control):
Các thuỷ vân trong những trường hợp này được sử dụng để điều khiển truy cập đối với các thông tin Các thiết bị phát hiện ra thuỷ vân thường được gắn sẵn vào trong các hệ thống đọc ghi Ví dụ như hệ thống quản lí sao chép DVD đã được ứng dụng ở Nhật Các ứng dụng loại này cũng yêu cầu thuỷ vân phải được bảo đảm an toàn và cũng sử dụng phương pháp phát hiện thuỷ vân đã giấu mà không cần thông tin gốc
- Giấu tin mật (steganography): Là ứng dụng giấu một lượng thông tin mật, quan trọng vào bên trong một đối tượng vỏ nhằm che giấu, truyền thông bí mật điểm - điểm Các thông tin giấu được trong những trường hợp này càng nhiều càng tốt, việc giải mã để nhận được thông tin cũng không cần phương tiện chứa gốc ban đầu Các yêu cầu mạnh về chống tấn công của kẻ thù không cần thiết lắm thay vào đó là thông tin giấu phải được giấu kín
1.5 Giấu thông tin trong dữ liệu đa phương tiện:
1.5.1 Giấu thông tin trong ảnh:
Hiện nay, giấu thông tin trong ảnh chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện, bởi lượng thông tin được trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật Chính vì thế mà vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học, và viện nghiên cứu trên thế giới
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi
và không ai biết được đằng sau ảnh đó mang những thông tin có ý nghĩa Ngày nay, khi ảnh số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh đã đem lại rất
Trang 16nhiều ứng dụng quan trọng, trên nhiều lĩnh vực trong đời sống xã hội Ví dụ, ở các nước phát triển, chữ kí tay đã được số hoá và lưu trữ để sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính; nó được dùng để nhận thực trong các thẻ tín dụng của người tiêu dùng Phần mềm WinWord của MicroSoft cũng cho phép người dùng lưu trữ chữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn bản để đảm bảo tính an toàn của thông tin Tài liệu sau đó được truyền trực tiếp qua máy fax hoặc lưu truyền trên mạng Theo đó, việc nhận thực chữ kí, xác nhận thông tin đã trở thành một vấn đề cực kì quan trọng khi mà việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia, tổ chức nào Các loại thông tin quan trọng rất dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Việc nhận thực cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng, cấp thiết Đặc điểm vô hình của giấu thông tin trong ảnh là một cách truyền thông tin mật cho nhau mà người khác không thể biết được Gần đây báo chí đã đưa tin vụ việc ngày 11-9 gây chấn động nước Mỹ và toàn thế giới, chính tên trùm khủng bố quốc tế Osma BinLaden đã dùng cách thức giấu thông tin trong ảnh để liên lạc với đồng bọn, và hắn đã qua mặt được Cục tình báo trung ương Mỹ CIA và các cơ quan an ninh quốc tế Sau vụ này, việc nghiên cứu các vấn đề liên quan đến giấu thông tin trong ảnh đã rất được quan tâm
1.5.2 Giấu thông tin trong audio:
Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu, đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc Để đảm bảo yêu cầu này, kỹ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS (Human Vision System) Trong khi đó kỹ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính giác - HAS (Human Auditory System) Vấn đề khó khăn ở đây là hệ thống thính giác của con người có thể nghe được các tín hiệu ở các giải tần rộng và công suất lớn, đã gây khó khăn cho các phương pháp giấu tin trong audio Rất may
Trang 17là HAS lại kém trong việc phát hiện sự khác biệt các giải tần và công suất Điều này
có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin Vấn đề khó khăn thứ hai đối với giấu thông tin trong audio là kênh truyền tin Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin Các phương pháp giấu thông tin trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người
1.5.3 Giấu thông tin trong video
Cũng giống như giấu thông tin trong ảnh hay trong audio, giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả Một
ví dụ là các hệ thống chương trình trả tiền xem theo đoạn với các video clip (pay per view application) Các kỹ thuật giấu tin trong video cũng được phát triển mạnh
mẽ và cũng theo hai khuynh hướng là thuỷ vân số và data hiding Một phương pháp giấu tin trong video được đưa ra bởi Cox là phương pháp phân bố đều Ý tưởng cơ bản của phương pháp là phân phối thông tin giấu dàn trải theo tần số của dữ liệu chứa gốc Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các hệ số truyền sóng riêng để giấu tin Các thuật toán khởi nguồn là các kỹ thuật cho phép giấu văn bản vào trong video, thời gian gần đây các kỹ thuật đã cho phép giấu cả âm thanh
và hình ảnh vào video Phương pháp của Swanson là phương pháp giấu theo khối, mỗi khối 8 x 8 giấu được hai bit thông tin Gần đây nhất là phương pháp của Mukherjee, giấu audio vào video sử dụng cấu trúc lưới đa chiều
Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không chỉ riêng gì dữ liệu đa phương tiện như ảnh, audio hay video Gần đây, đã có một số nghiên cứu giấu tin trong cơ sở dữ liệu quan hệ và cơ sở dữ liệu XML Chắc chắn sau này còn tiếp tục phát triển tiếp
Trang 181.6 Độ an toàn của một hệ thống giấu tin
Việc phá vỡ một hệ thống giấu tin thông thường gồm ba phần: phát hiện, giải tin và huỷ thông tin đã giấu Một hệ thống giấu tin mật được gọi là thực sự an toàn khi kẻ tấn công không phát hiện được sự tồn tại của thông tin giấu trong một đối tượng chứa Trong khi phát triển một hệ giấu tin mật, người ta phải luôn luôn cho rằng kẻ tấn công có năng lực tính toán và sẵn sàng làm đủ mọi cách để phá vỡ tính
an toàn của hệ thống Nếu kẻ tấn công không thể chắc chắn một đối tượng có được giấu tin hay không thì theo lý thuyết, hệ thống đó là an toàn
Cachin đã đưa ra mô hình lý thuyết cho một hệ thống giấu tin an toàn Ý tưởng chủ đạo của mô hình lý thuyết này là: Một đối tượng chứa được chọn để giấu tin C
có phân phối xác suất PC (phân phối xác suất ở đây được hiểu là phân phối xác suất các giá trị rời rạc của dữ liệu đối tượng chứa, ví dụ như đối với ảnh là các giá trị điểm ảnh.) Sau khi giấu tin, phân phối xác suất của C bị thay đổi thành PS. Sử dụng định nghĩa về mối quan hệ entropy D(P1||P2) giữa hai xác suất P1 và P2 trên tập Q:
để đo sự sai lệch của P2 so với P1, áp dụng tính sự ảnh hưởng của quá trình giấu tin làm thay đổi PS so với PC:D(PC||PS)
Định nghĩa hệ thống giấu tin an toàn tuyệt đối:
Cho σ là một hệ giấu tin mật, PS là phân phối xác suất của đối tượng đã giấu tin được truyền trên kênh, và PC là phân phối xác suất của C Khi đó σ được gọi là an toàn ε nếu:
D(PC||PS) ≤ ε và an toàn tuyệt đối nếu ε = 0
Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không chỉ riêng cho dữ liệu đa phương tiện Gần đây, đã có một số nghiên cứu giấu tin trong
cơ sở dữ liệu quan hệ Chắc chắn hướng nghiên cứu này còn tiếp tục phát triển
P P
P D
)(
)(log)()
2
||
1(
2
1 2 1
Trang 191.7 Các tấn công trên hệ giấu tin
Tấn công trên đối tượng đã giấu tin [9] là những phép biến đổi sao cho có thể làm mất thông tin giấu Các kỹ thuật tấn công phân làm hai nhóm chính:
• Một là biến đổi tạo nhiễu đối với dữ liệu đã được giấu tin
• Hai là làm mất tính đồng bộ giữa đối tượng vỏ và thông tin giấu để không thể khôi phục lại tin đã giấu
Biến đổi tín hiệu: làm nhiễu, làm sắc,
biến đổi tương phản… Giảm dữ liệu: cropping, sửa histogram Tạo nhiễu: nhiễu cộng, nhiễu nhân Biến đổi Affine cục bộ, toàn cục
Nén mất thông tin Chuyển đổi giữa tín hiệu
tương tự số
Bảng 2 Một số kiểu tấn công điển hình
Còn rất nhiều các kiểu tấn công khác Câu hỏi đặt ra là liệu có thể tồn tại một
hệ giấu tin bền vững trước các tấn công trên? Đến nay, vẫn chưa tìm được một hệ giấu tin nào bền vững trước tất cả mọi kiểu tấn công Mỗi hệ giấu tin chỉ cố gắng đạt được sự bền vững trước một số tấn công cơ bản Tính chất bền vững của hệ giấu tin được nghiên cứu kỹ trong ứng dụng thuỷ vân số, còn trong giấu tin mật, hệ giấu tin chỉ cần an toàn theo nghĩa khó phát hiện có thông tin giấu bên trong một đối tượng Thực tế, bất kỳ một phép biến đổi nào cũng có thể làm thay đổi thông tin giấu
Trang 20CHƯƠNG 2 CÁC TÍNH CHẤT VÀ ĐẶC TRƯNG CỦA GIẤU THÔNG
TIN TRONG ẢNH
Lần lượt tìm hiểu những nội dung sau:
Giấu thông tin trong ảnh - những đặc trưng và tính chất
Giấu thông tin trong ảnh đen trắng và ảnh màu, ảnh đa cấp xám
Các cấu trúc ảnh Bitmap, PCX, IMG
Một số kỹ năng xử lí ảnh trong kỹ thuật giấu thông tin mật (Seganography) 2.1 Giấu thông tin trong ảnh, những đặc trưng và tính chất
Các kỹ thuật giấu tin phần lớn tập trung vào giấu thông tin trong ảnh Mỗi phương tiện chứa khác nhau sẽ có những kỹ thuật giấu khác nhau Đối tượng ảnh là một đối tượng dữ liệu tri giác tĩnh, nghĩa là dữ liệu tri giác không biến đổi theo thời gian (không giống như audio và video) Có nhiều định dạng cũng như tính chất của các ảnh khác nhau nên các kỹ thuật giấu tin trong ảnh có những đặc trưng và các tính chất cơ bản sau đây:
Phương tiện chứa có dữ liệu tri giác tĩnh:
Dữ liệu gốc ở đây là dữ liệu của ảnh tĩnh, dù đã giấu thông tin vào trong ảnh hay chưa thì khi người ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian, khác với dữ liệu audio hay là video, khi nghe hay xem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo các đoạn hay các bài, các cảnh
Sự khác biệt này ảnh hưởng lớn đến các kỹ thuật giấu thông tin trong ảnh với kỹ thuật giấu thông tin trong audio hay video
Kỹ thuật giấu phụ thuộc ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Chẳng hạn như đối với ảnh đen trắng, ảnh xám hay ảnh màu ta cũng có những kỹ thuật riêng do các loại ảnh có những đặc trưng khác nhau Ảnh nén và ảnh không nén cũng áp dụng những
kỹ thuật giấu tin khác nhau vì ảnh nén có thể làm mất thông tin khi nén ảnh…
Trang 21Kỹ 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
Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao cho bằng mắt thường không thể nhận ra được sự thay đổi đó vì có như thế thì mới đảm bảo được độ an toàn cho thông tin giấu Rất nhiều các kỹ thuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn như mắt người cảm nhận
về sự biến đổi về độ chói kém hơn sự biến đổi về màu hay cảm nhận của mắt về màu xanh da trời (blue) là kém nhất trong ba màu cơ bản RGB…
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 phép toán thực hiện công việc giấu thông tin sẽ được thực hiện trên dữ liệu của ảnh Dữ liệu ảnh bao gồm cả phần header, bảng màu (có thể có) và dữ liệu ảnh Khi giấu thông tin, các phương pháp giấu đều biến đổi các giá trị của các bit trong dữ liệu ảnh chứ không thêm vào hay bớt đi dữ liệu ảnh Do vậy mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau
Đảm bảo yêu cầu chất lượng ảnh sau khi giấu thông tin:
Đây là yêu cầu quan trọng đối với giấu thông tin trong ảnh Sau khi giấu thông tin bên trong, ảnh phải đảm bảo được yêu cầu không bị biến đổi để có thể bị phát hiện dễ dàng so với ảnh gốc Yêu cầu này khá đơn giản đối với ảnh màu hoặc ảnh xám bởi mỗi một pixel ảnh (Picture element) được biểu diễn bởi nhiều bit, nhiều giá trị và khi thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh không thay đổi, thông tin giấu khó bị phát hiện Đối với ảnh đen trắng thì việc giấu thông tin phức tạp hơn nhiều, vì mỗi pixel ảnh đen trắng chỉ gồm hai giá trị hoặc trắng hoặc đen, và nếu ta biến đổi một bit từ đen thành trắng thì rất dễ bị phát hiện Do đó yêu cầu đối với các thuật toán giấu thông tin trong ảnh màu hay ảnh xám và giấu thông tin trong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu, các thuật toán chú trọng vào việc làm sao cho giấu được càng nhiều thông tin càng tốt thì các thuật
Trang 22toán áp dụng cho ảnh đen trắng lại tập trung vào việc làm thế nào để thông tin giấu khó bị phát hiện
Vì phương pháp giấu ảnh dựa trên việc điều chỉnh các giá trị của các bit theo một qui tắc nào đó và khi giải mã sẽ theo các giá trị đó để tìm được thông tin giấu, cho nên nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị của các bit thì sẽ làm cho thông tin giấu bị sai lệch Chính đặc điểm này mà giấu thông tin trong ảnh
có tác dụng nhận thực và phát hiện xuyên tạc thông tin
Đa số các kỹ thuật giấu tin mật thường không cần ảnh gốc khi giải mã Thông tin được giấu trong ảnh sẽ được mang cùng với dữ liệu ảnh, khi giải mã chỉ cần ảnh
đã mang thông tin giấu mà không cần dùng đến ảnh gốc để so sánh đối chiếu Trên đây là những tính chất và đặc điểm cơ bản chung của giấu tin trong ảnh Riêng đối với ứng dụng giấu tin mật (steganography) thì các tính chất ẩn, lượng thông tin giấu và độ an toàn là ba tính chất quan trọng nhất
2.2 Giấu thông tin trong ảnh đen trắng, ảnh màu và ảnh đa cấp xám
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 loại ảnh này, một thay đổi giá trị nhỏ ở mỗi pixel hầu như không làm thay đổi chất lượng ảnh và khả năng bị phát hiện dưới sự quan sát của mắt thường
là rất thấp 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 đảm bảo tính ẩn của thông tin giấu trong ảnh là công việc rất khó khăn Đặc biệt đối với ảnh đen trắng, mỗi điểm ảnh chỉ mang một trong hai giá trị trắng hoặc đen, việc thay đổi giá trị một pixel từ đen thành trắng hoặc ngược lại, rất dễ bị phát hiện Số lượng thuật toán giành cho giấu tin trong ảnh đen trắng chưa nhiều và vẫn chưa đạt được kết quả mong muốn Có thuật toán giấu được nhiều thông tin vào ảnh thì chất lượng ảnh lại kém và dễ bị phát hiện Một số thuật toán khác khi giấu tin cho 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 cho thông tin
Trang 23Ảnh đen trắng Ảnh màu hoặc ảnh xám Thông tin giấu ít hơn so với ảnh màu có
Khả năng bị phát hiện trong ảnh 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 bên trong Độ an toàn cao
Các thuật toán thường phức tạp và
không nhiều
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 3 Sự khác nhau giữa giấu thông tin trong ảnh đen trắng và ảnh màu
Hình 8 Ảnh màu sau khi giấu tin rất khó phát hiện sự thay đổi.
a) Ảnh đen trắng gốc 480 x 480 b) Ảnh sau khi giấu 100 bit tin Hình 9 Ảnh đen trắng sau khi giấu cùng một lượng thông tin như ảnh màu,
cho chất lượng ảnh kém hơn (xuất hiện nhiều chấm đen lạ)
Trang 24
a) Ảnh gốc b) Nhiễu 2 điểm c) Nhiễu 5 điểm
Hình 10 Nhiễu (n) xuất hiện trên ảnh khi có sự thay đổi giá trị bit
2.3 Hệ thống thị giác người và các mô hình màu của ảnh
Hiểu biết về hệ thống thị giác người sẽ góp một phần không nhỏ trong việc cải tiến và nâng cấp các thuật toán về giấu tin trong ảnh
Để nhận biết một ảnh, não người phải xử lý các thông tin thu nhận như vị trí không gian, đường nét, màu sắc (độ chói, độ tương phản, tần số, ) của ảnh
Ánh sáng trắng hay là dải sóng mà mắt người có thể cảm nhận được, khi đi qua lăng kính được phân tích thành những ánh sáng đơn sắc có phổ màu từ tím đến
đỏ, với dải bước sóng tương ứng từ 400 - 700 nm Ánh sáng màu là tổ hợp của ánh sáng đơn sắc Mắt người chỉ có thể cảm nhận được vài chục màu, song lại có thể phân biệt được tới hàng ngàn màu khác nhau trong không gian màu Có ba thuộc tính chủ yếu trong cảm nhận màu [2]:
- Sắc màu (Hue): dùng để phân biệt sự khác nhau giữa các màu
- Mức bão hòa (Saturation): chỉ ra mức độ thuần của một màu hay khoảng cách của màu tới điểm có cường độ cân bằng
- Độ sáng (Lightness): mô tả cường độ (intensity) sáng, là ánh sáng phản xạ nhận được từ đối tượng Thỉnh thoảng thuật ngữ Brightness (độ phát sáng) được dùng thay cho độ sáng, nó mô tả cường độ ánh sáng do đối tượng tự phát ra
Trang 25400 500 600 700
Với nguồn sáng đơn sắc, sắc màu tương ứng với bước sóng (là bước sóng của màu chủ đạo khi ta nhìn vào tia sáng, là yếu tố phân biệt màu sắc) Theo Maxwell, trong võng mạc mắt người có ba loại tế bào thần kinh hình nón cảm thụ
ba màu cơ bản ứng với ba phổ hấp thụ S1(), S2() và S3(); min = 380 nm, max =
780 nm
Khi đặt các vật sát cạnh nhau, có kích thước đủ nhỏ và màu sắc khác nhau, mắt người không phân biệt được ranh giới giữa các màu, mà chỉ cảm nhận được một màu mới, là hỗn hợp của các màu thành phần Đó là nguyên lý pha màu được biết đến từ thời cổ đại với các sắc tố màu cơ bản là đỏ (Red), lục (Green) và lam (Blue),
có bước sóng tương ứng trong khoảng từ 580, 545 và 440 nm
Hình 11 Phụ thuộc cảm nhận của mắt và bước sóng
Với nguồn sáng không đổi, độ cảm nhận của mắt người trong khoảng hai màu vàng, lục hay tương ứng với bước sóng 550 nm là rõ nhất Đường đồ thị về tương quan cảm nhận là tổng của 3 đường đồ thị thành phần (RGB)
Khi các màu phân biệt chỉ dựa trên sắc màu, cách biệt bước sóng giữa các màu khác nhau sẽ thay đổi từ 10 nm Ngoại trừ các đỉnh của đồ thị, hầu hết các khoảng phân biệt theo sắc màu là 4 nm Mắt người sẽ cảm nhận kém đi nếu sắc màu
Bước sóng (nm)
Trang 262 2 2
B G R
R + G + B = 1
Mô hình hệ toạ độ ba màu (tương ứng với hệ toạ độ xyz), phù hợp với cách biểu diễn điểm ảnh màu trên màn hình CRT (Cathod ray tube) của máy tính Gam màu thể hiện trong hệ màu RGB được xác định bằng những đặc tính phát quang của các chất phốt pho trong màn hình CRT Không gian màu RGB là một tập các màu thành phần sắp xếp theo hình lập phương trong hệ trục toạ độ Đề các Đường chéo chính (d) của khối lập phương với sự cân bằng về số lượng từng màu gốc tương ứng với các mức độ xám, trong khoảng từ đen (A) đến trắng (W)
Hình 12 Mô hình không gian màu RGB trong toạ độ Đề các
Blue Xanh lam
(0,0,1) Xanh lam
(1,0,0) Đỏ
Green Xanh lục (0,1,0) Xanh lục
(0,0,0) Đen
(1,1,1) Trắng (1,0,1) Tím
(0,1,1) Tím xanh
(1,1,0) Vàng
Trang 27Ngoài mô hình màu RGB định hướng phần cứng được sử dụng rộng rãi còn
mô hình màu CMY sử dụng cho một số thiết bị in màu CMY là phần bù tương ứng cho các màu đỏ, lục, lam nên còn được gọi là các phần bù loại trừ của màu gốc Tập hợp màu thành phần biểu diễn trong hệ toạ độ Đề các cho mô hình màu CMY cũng giống như cho mô hình màu RGB ngoại trừ màu trắng (ánh sáng trắng) được thay thế là màu đen (không có ánh sáng) ở tại nguồn sáng Các màu thường được tạo thành bằng cách loại bỏ hoặc được bù từ ánh sáng trắng hơn là được thêm vào những màu tối Mô hình màu CMY áp dụng cho các thiết bị in màu trên giấy như máy in phun [6]
Trang 28R - 1 1 1
Y M C
Hình 14 Sự pha màu của mô hình cộng tính (a) và mô hình loại trừ (b)[6]
Công thức biến đổi màu từ RGB sang CMY là :
Trên thực tế tồn tại nhiều mô hình màu khác nhau, nhưng để thể hiện màu sắc của đối tượng trên màn hình đồ hoạ thì các giá trị màu của các hệ khác nhau cần được chuyển sang giá trị RGB tương ứng
2.4 Biểu diễn ảnh trên máy tính:
Ảnh trong thực tế được thu nhận từ nhiều nguồn khác nhau, như dùng máy quay (camera), máy quét (scanner), vệ tinh, là ảnh liên tục về không gian và về giá trị độ sáng Để có thể xử lý ảnh bằng máy tính cần phải tiến hành số hoá ảnh Trong quá trình số hoá, các tín hiệu liên tục được biến đổi thành các tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hoá về không gian) và lượng hoá (chuyển đổi
Trang 29tín hiệu tương tự sang tín hiệu số) thành phần giá trị mà về nguyên tắc bằng mắt thường không phân biệt được hai điểm kề nhau Trong quá trình này, người ta sử dụng khái niệm điểm ảnh, mỗi điểm ảnh được xác định bởi toạ độ và màu Một pixel có thể được lưu trữ trên 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256 màu),
16 (ảnh 65536 màu) hay 24 bit (16 triệu màu)
Hình 15 Thành phần cơ bản của hệ thống giao diện, tín hiệu hiện trên màn hình máy tính và sự thu nhận hình ảnh của mắt người
Ảnh số thường được biểu diễn theo dạng bảng hai chiều gồm m hàng và n cột, một điểm ảnh được ký hiệu I(x,y) Như vậy, một ảnh là tập hợp của nhiều điểm ảnh
Ta nói ảnh gồm M x N điểm ảnh Thường giá trị của M được chọn bằng N, để thuận lợi cho quá trình xử lý
Căn cứ vào phương pháp xử lý các dữ liệu trong hệ thống, người ta phân biệt
ra hai hệ thống: đồ hoạ vector (Geometry Based Graphic) và đồ hoạ điểm (Sample Based Graphic) Ảnh biểu diễn trên máy tính vì thế cũng được chia thành hai loại: ảnh vector và ảnh mành Người ta có thể lưu cả hai dạng ảnh trên vào tệp Metafile, gồm các chuẩn WPG, Mac PICT, CGM Các phần mềm như Photoshop, Corel Draw có thể xử lý trên các loại ảnh đã nêu
Các nút
chỉnh
Bàn phím nhập liệu bằng tay
Trang 302.4.1 Ảnh vector
Ảnh Vectơ được tạo mới từ rất nhiều đối tượng khác nhau Đối tượng Vectơ được xác định bởi các hàm toán học mà không phải là các điểm ảnh, ảnh vectơ cho chất lượng ảnh cao hơn ảnh Bitmap Các đối tượng cơ bản bao gồm đường thẳng, đường cong và một số hình toán học gốc với các thuộc tính màu sắc, độ dày đường thẳng Ảnh vector được lưu trữ dưới dạng một hàm rời rạc f(x,y) Ví dụ r(x,y), g(x,y), b(x,y) trong đó x,y là toạ độ của điểm ảnh còn f là giá trị màu của ảnh, hay line 200,50,136,227,black: vẽ đường thẳng màu đen với các cặp toạ độ bắt đầu và kết thúc
Đặc điểm của ảnh vector:
- Đối với ảnh vectơ chúng ta có thay đổi thuộc tính mà còn có thể thay đổi hình dạng và sự hiển thị ảnh qua các điểm nút của ảnh
- Ảnh vectơ cho phép biến đổi theo tỷ lệ do đó chúng không phụ thuộc vào độ phân giải Ta có thể tăng giảm kích thước cả trên màn hình hay khi in mà không ảnh hưởng tới chất lượng ảnh
- Có thể quan sát ảnh ở nhiều góc độ khác nhau một cách dễ dàng bằng cách thay đổi điểm nhìn và góc nhìn
- Một ưu điểm nổi bật khác của ảnh vectơ là chúng không hạn chế về hình dạng các điểm như trong ảnh bitmap Đối tượng vectơ này có thể thay thế hoàn toàn bởi đối tượng vectơ khác
Các ảnh loại này có thể được tạo từ các phần mềm ứng dụng như Office, AutoCad-DXF, CorelDRAW, Adobe Illustrator…
Ảnh vector gồm các phần:
Tiêu đề đầu (header): Lưu trữ cấu trúc của ảnh, kích thước thay đổi phụ
thuộc loại dữ liệu lưu trữ
Dữ liệu (data): Công thức toán học biểu diễn các thành phần đối tượng
Trang 31 Tiêu đề cuối (footer): Ghi số lượng các đối tượng trong ảnh
2.4.2 Ảnh mành
Ảnh Bitmap được xây dựng từ các điểm ảnh màu (pixels) là một khối nhỏ màu hình chữ nhật Tất cả các điểm màu được sắp xếp với nhau theo một trật tự tạo thành ảnh Có hai phương pháp để tạo ra các điểm ảnh:
- Phương pháp thứ nhất, dùng phần mềm vẽ trực tiếp từng điểm ảnh một, ví sử dụng phần mềm Paint
- Phương pháp thứ hai là số hoá các ảnh thu từ thiết bị quang học, ví dụ sử dụng phần mềm Photo shop Các định dạng ảnh BMP, PCX, TIFF có cấu trúc theo kiểu này
Thành phần cơ bản của ảnh mành gồm:
Tiêu đề đầu (Header): thông tin về ảnh (kích thước, định dạng, )
Bảng màu (Palette): cho những ảnh nhỏ hơn hoặc bằng 8 bit màu
Dữ liệu (Data): nằm ngay sau phần bảng màu của ảnh, chứa giá trị màu của điểm ảnh
Tiêu đề cuối (Footer)
Tiêu đề đầu: lưu cấu trúc của ảnh dưới dạng nhị phân hay mã ASCII
Bảng màu: là mảng một chiều, chứa chỉ mục các màu của ảnh Mỗi điểm ảnh có lưu
con trỏ đến chỉ mục trên bảng màu Kích thước của bảng màu được tính từ độ sâu điểm ảnh (pixel depth), ví dụ:
4 bit pixel: 3 byte /màu x 24 màu = 48 B
8 bit pixel: 3 byte /màu x 28 màu = 768 B
16 bit pixel : 3 byte /màu x 216 màu = 196608 B = 192 KB Bảng màu có thể được bố trí:
- Theo điểm ảnh (pixel orientiert): (RGB) (RGB) (RGB)
- Theo mặt phẳng màu (Plane orientiert): (RRRR GGGG BBBB)
Trang 32Dòng quét 0 Dòng quét 1 Dòng quét 2
Bảng màu có thể không sắp xếp hay được sắp xếp thứ tự theo gam màu, theo
Dữ liệu: nội dung của ảnh, được lưu theo hai phương pháp
- Dòng quét (scan line)
- Mặt phẳng màu riêng (Planar data)
Phương pháp chung để lấy mẫu là quét ảnh theo hàng và mã hoá từng hàng Điểm ảnh có thể được lưu theo cách như mô tả ở hình 17 và 18
Hình 17 Quét các dòng liên tiếp
Trang 33Hình 18 Quét dải các dòng liên tiếp (2 dòng 1 dải)
Tiêu đề cuối: chứa các thông tin đặc biệt như tính tương thích với các phiên bản cũ
+ 4 bytes tiếp: mô tả kích cỡ pixel
+ 2 bytes tiếp : số pixel trên một dòng ảnh
+ 2 bytes cuối: số dòng ảnh trong ảnh
Ảnh IMG được nén theo từng dòng Mỗi dòng bao gồm các gói (pack) Các dòng giống nhau cũng được nén thành một gói Có 4 loại gói sau:
Loại 1: Gói các dòng giống nhau
Quy cách gói tin này như sau: 0x00 0x00 0xFF Count Ba byte đầu cho biết
Dòng quét 1 Dòng quét 2 Dòng quét 3 Dải 1
Dải 2
Trang 34 Loại 2: Gói các dãy giống nhau
Quy cách gói tin này như sau: 0x00 Count Byte thứ hai cho biết số các dãy giống nhau được nén trong gói Độ dài của dãy ghi ở đầu tệp
Loại 3: Dãy các pixel không giống nhau, không lặp lại và không nén được
Qui cách như sau: 0x80 Count Byte thứ hai cho biết độ dài dãy các pixel không giống nhau không nén được
Loại 4: Dãy các pixel giống nhau
Tuỳ theo các bit cao của byte đầu được bật hay tắt Nếu bit cao được bật (giá trị 1) thì đây là gói nén các bytes chỉ gồm bit 0, số các byte được nén được tính bởi
7 bit thấp còn lại Nếu bit cao tắt (giá trị 0) thì đây là gói nén các byte gồm toàn bit
1 Số các byte được nén được tính bởi 7 bit thấp còn lại
Các gói tin của file IMG phong phú như vậy là do ảnh IMG là ảnh đen trắng,
do vậy chỉ cần 1 bit cho 1 pixel thay vì 4 hoặc 8 như đã nói ở trên Toàn bộ ảnh chỉ
có những điểm sáng và tối tương ứng với giá trị 1 hoặc giá trị 0 Tỷ lệ nén của kiểu định dạng này là khá cao
2.5.2 Định dạng ảnh PCX
Định dạng ảnh PCX là một trong những định dạng loại cổ điển nhất Nó sử dụng phương pháp mã hoá loạt dài RLC (Run-Length-Encoded) để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Tệp PCX gồm 3 phần: đầu tệp (header), dữ liệu ảnh (image data) và bảng màu mở rộng Thực tế, phương pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG
Định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác đơn giản, cho phép nén và giải nén nhanh Tuy nhiên vì cấu trúc của nó cố định nên trong một số trường hợp nó làm tăng kích thước lưu trữ
2.5.3 Định dạng ảnh TIFF (Targed Image File Format)
Kiểu định dạng TIFF được thiết kế để làm nhẹ bớt các vấn đề liên quan đến việc mở rộng tệp ảnh cố định Về cấu trúc, nó cũng gồm 3 phần Dữ liệu chứa trong
Trang 35tệp thường được tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh Cách tổ chức này làm giảm bộ nhớ cần thiết cho việc đọc tệp Việc giải nén được thực hiện theo bốn kiểu khác nhau được lưu trữ trong byte dấu hiệu nén Mặc
dù file ảnh TIFF là dùng để giải quyết vấn đề khó mở rộng của file PCX Tuy nhiên, với cùng một ảnh thì việc dùng file PCX chiếm ít không gian nhớ hơn
2.5.4 Định dạng ảnh GIF (Graphics Interchanger Format)
Cách lưu trữ kiểu PCX có lợi về không gian lưu trữ: với ảnh đen trắng kích thước tệp có thể nhỏ hơn bản gốc từ 5 đến 7 lần; với ảnh 16 màu, kích thước ảnh nhỏ hơn kích thước ảnh gốc 2 - 3 lần, có trường hợp kích thước ảnh xấp xỉ bằng ảnh gốc; với ảnh 256 màu thì nó bộc lộ rõ khả năng nén rất kém Điều này có thể lý giải như sau: khi số màu tăng lên, các loạt dài xuất hiện ít hơn và vì thế, lưu trữ theo kiểu PCX không còn lợi nữa
Định dạng ảnh GIF do hãng Computer Incorporated (Mỹ) đề xuất lần đầu tiên vào năm 1990 Với định dạng GIF, khi số màu trong ảnh càng tăng thì ưu thế của định dạng GIF càng nổi trội Những ưu thế này có được là do GIF tiếp cận các thuật toán nén LZW Dạng ảnh GIF cho chất lượng cao, độ phân giải đồ hoạ tốt, cho phép hiển thị trên hầu hết các phần cứng đồ hoạ
2.5.5 Định dạng ảnh JPEG (Joint Photographic Experts Group)
JPEG viết tắt của Joint Photographic Experts Group, một tổ chức tạo ra định dạng ảnh đồ họa JPEG sử dụng thuật toán nén mất thông tin Ảnh JPEG có tối đa 16 triệu màu (24-bit), cung cấp thông tin định rõ tỷ lệ, mức độ nén, cho phép lưu lại từng phần trên trang Web gọi là một "progressive JPEG."
2.6 Nén ảnh
Sau bước số hoá, ảnh sẽ được lưu trữ hay chuyển sang giai đoạn phân tích Để tiết kiệm bộ nhớ máy tính, người ta chỉ lưu các đặc tả đặc trưng của ảnh như biên ảnh (boundary) hay các vùng ảnh (region) Công việc này được gọi là "nén dữ liệu" hay giảm độ dư thừa, mã hoá ảnh gốc
Trang 36% 100
r
1 nÐn lÖ
TØ
Nén dữ liệu là quá trình làm giảm lượng thông tin "dư thừa" trong dữ liệu gốc,
do vậy lượng thông tin thu được sau nén thường nhỏ hơn dữ liệu gốc rất nhiều (khoảng 10%), những kỹ thuật nén mới như fratal cho tỉ lệ nén đến 30% Tuỳ thuộc vào ứng dụng để chọn thuật toán nén theo một số các chỉ tiêu như:
mã ngắn, các ký tự có tần xuất thấp từ mã dài Nói một cách khác, các ký tự có tần xuất càng cao được gán mã càng ngắn và ngược lại Rõ ràng với cách thức này, ta
đã làm giảm chiều dài trung bình của từ mã hoá bằng cách dùng chiều dài biến đổi Tuy nhiên, trong một số tình huống khi tần suất là rất thấp, ta có thể không được lợi một chút nào, thậm chí còn bị thiệt một ít bit
Kích thước ảnh sau nén = Tổng (số phần tử x độ dài bit tương ứng)
qu¶
HiÖu
Trang 37Thuật toán bao gồm 2 bước chính:
- Giai đoạn tính tần suất của các ký tự trong dữ liệu gốc: Duyệt tệp gốc một cách tuần tự từ đầu đến cuối để xây dựng bảng mã Tiếp sau đó là sắp xếp lại bảng
mã theo thứ tự tần suất giảm dần
- Giai đoạn thứ hai: mã hoá Duyệt bảng tần suất từ cuối lên đầu để thực hiện ghép 2 phần tử có tần suất thấp nhất thành một phần tử duy nhất Phần tử này có tần xuất bằng tổng 2 tần suất thành phần Tiến hành cập nhật lại bảng và đương nhiên loại bỏ 2 phần tử đã xét Quá trình được lặp lại cho đến khi bảng chỉ có một phần
tử Quá trình này gọi là quá trình tạo cây mã Huffman vì việc tập hợp được tiến hành nhờ một cây nhị phân với 2 nhánh Phần tử có tần suất thấp ở bên phải, phần
tử kia ở bên trái Với cách tạo cây này, tất cả các bit dữ liệu/ ký tự là nút lá; các nút trong là các nút tổng hợp Sau khi cây đã tạo xong, người ta tiến hành gán mã cho các nút lá Việc mã hoá rất đơn giản: mỗi lần xuống bên phải ta thêm 1 bit "1" vào
từ mã; mỗi lần xuống bên trái ta thêm 1 bit "0" Tất nhiên có thể làm ngược lại, chỉ
có giá trị mã thay đổi còn tổng chiều dài là không đổi Cũng chính do lý do này mà cây có tên gọi là cây mã Huffman như trên đã gọi
Giải nén:
Quá trình giải nén tiến hành theo chiều ngược lại khá đơn giản Người ta cũng phải dựa vào bảng mã tạo ra trong giai đoạn nén (bảng này được giữ lại trong cấu trúc đầu của tệp nén cùng với dữ liệu nén)
- Phương pháp nén loạt dài RLC (Run Length Coding):
Phương pháp mã hoá loạt dài lúc đầu được phát triển dành cho ảnh số 2 mức: mức đen (1) và mức trắng (0) như các văn bản trên nền trắng, trang in, các bức vẽ
kỹ thuật
Nguyên tắc của phương pháp là phát hiện một loạt các bít lặp lại, thí dụ như một loạt các bit 0 nằm giữa hai bit 1, hay ngược lại, một loạt bit 1 nằm giữa hai bit
0 Phương pháp này chỉ có hiệu quả khi chiều dài dãy lặp lớn hơn một ngưỡng nào
đó Dãy các bit lặp gọi là loạt hay mạch (run) Tiếp theo, thay thế chuỗi đó bởi một