Đăng ký Đăng nhập
Trang chủ Các phương pháp giấu tin trong ảnh...

Tài liệu Các phương pháp giấu tin trong ảnh

.PDF
44
806
121

Mô tả:

Các phương pháp giấu tin trong ảnh
CHƯƠNG I : TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ĐA PHƯƠNG TIỆN Đa phương tiện (Multimedia) là nhiều hệ thống truyền thông, các dữ liệu hay các thông tin đa phương tiện gồm: text (văn bản), graphic (hình họa), animation (hoạt ảnh), Image(ảnh chụp), video, audio. 1.1. Giấu tin trong dữ liệu đa phương tiện: Giấu tin như thế nào? Cùng với sự phát triển của Internet và các phương tiện multimedia, nhiều vấn đề như: ăn cắp bản quyền, xuyên tạc thông tin, truy cập thông tin trái phép… cũng tăng theo, đòi hỏi phải tìm ra các giải pháp mới, hữu hiệu cho an toàn và bảo mật thông tin. Một trong các giải pháp nhiều triển vọng là giấu tin(Data Hiding), đã và đang được nghiên cứu và ứng dụng. Giấu thông tin là kỹ thuật nhúng(embedding) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác. Sự khác biệt giữa mã hóa thông tin và giấu thông tin là mã hóa làm cho các thông tin hiện rõ là nó có được mã hóa hay không, còn với giấu thông tin thì sẽ khó phát hiện ra được rằng có thông tin giấu bên trong. Yêu cầu cơ bản của việc 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. Hiện tại thì giấu tin chia làm hai hướng lớn, đó là watermark(thủyvân), và steganography. Phương pháp thủy vân quan tâm đến ứ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. Trong khi đó, phương pháp Steganography quan tâm tới ứng dụng che giấu các bản tin đòi hỏi độ bí mật và dung lượng càng lớn càng tốt. Mục đích của giấu tin có hai khía cạnh chính: Trang 1 Bảo mật cho dữ liệu đem giấu(embedded data), chẳng hạn như giấu thông tin mật trong một đối tượng nào đó sao cho người khác không phát hiện được. Đảm an toàn bảo mật cho chính đối tượng được dùng để giấu dữ liệu vào(host data) Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như trong dữ liệu đa phương tiện (text, image, audio, video), trong các sản phẩm phần mềm, và gần đây là trong cơ sở dữ liệu quan hệ, trong đó thì dữ liệu đa phương tiện chiếm tỉ lệ chủ yếu trong kỹ thuật giấu TIN 1.2. Phương pháp giấu tin 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ã mật đã đượ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 sẽ đượ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, NAPSACK...và phương pháp này đã được chứng minh thực tế là rất hiệu quả và được ứng dụng phổ biến. Nhưng ở đây ta không định nói về các hệ mã mật mà ta tìm hiểu về một phương pháp đã và đang được nghiên cứu và ứng dụng rất mạnh mẽ ở nhiều nước trên thế giới đó là phương pháp giấu tin (data hiding). Đây là phương pháp mới và phức tạp, nó đ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 … ứng dụng trong an toàn và bảo mật thông tin. Vậy lịch sử của phương pháp giấu tin như thế nào? Đầu tiên các câu chuyện kể về kĩ thuật giấu thông tin được truyền qua nhiều thế hệ, ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về trước nhưng kĩ thuật này được dùng chủ yếu trong quân đội và trong các cơ quan tình báo. Mãi cho tới vài thập niên gần đây, giấu thông tin mới nhận được sự quan tâm của các nhà nghiên cứu và các viện công nghệ thông tin với rất nhiều công trình nghiên cứu. Cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng Trang 2 của mạng truyền thông là nguyên nhân chính dẫn đến sự thay đổi này. Những phiên bản sao chép hoàn hảo, các kĩ thuật thay thế, sửa đổi tinh vi cộng với sự lưu thông phân phối trên mạng của các dữ liệu đa phương tiện đã sinh ra rất nhiều những vấn đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép…đây là lúc công nghệ giấu tin được chú ý và phát triển. Giấu thông tin là một kĩ thuật nhúng thông tin vào trong một nguồn đa phương tiện gọi là các phương tiện chứa mà không gây ra sự nhận biết về sự tồn tại của thông tin giấu. Phương pháp giấu tin là làm cho người ta khó có thể biết được có thông tin giấu bên trong đó do tính chất ẩn của thông tin được giấu. 1.2.1.Mục đích của giấu tin Giấu tin có hai mục đích: - Bảo mật cho những dữ liệu được giấu - Bảo đảm an toàn (bảo vệ bản quyền) cho chính các đối tượng chứa dữ liệu giấu trong đó. Có thể thấy hai mục đích này hoàn toàn trái ngược nhau và dần phát triển thành hai lĩnh vực với những yêu cầu và tính chất khác nhau. Giấu thông tin Giấu tin bí mật (Steganography) Thuỷ vân số (Watermarking) Hình 1.1: Hai lĩnh vực chính của kỹ thuật giấu thông tin Kỹ thuật giấu thông tin bí mật (Steganography): với mục đích đảm bảo an toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để có thể giấu được nhiều thông tin nhất. Thông tin mật được giấu kỹ trong một đối tượng khác sao cho người khác không phát hiện được. Trang 3 Kỹ thuật giấu thông tin theo kiểu đánh giấu (watermarking) để bảo vệ bản quyền của đối tượng chứa thông tin tập trung đảm bảo một số các yêu cầu như đảm bảo tính bền vững… đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số. 1.2.2. Mô hình kỹ thuật giấu thông tin cơ bản Để thực hiện giấu tin cần xây dựng được các thủ tục giấu tin. Các thủ tục này sẽ thực hiện nhúng thông tin cần giấu vào môi trường giấu tin. Các thủ tục giấu tin thường được thực hiện với một khóa giống như các hệ mật mã để tăng tính bảo mật. Sau khi giấu tin ta thu được đối tượng chứa thông tin giấu và có thể phân phối đối tượng đó trên kênh thông tin. Để giải mã thông tin cần nhận được đối tượng có chứa thông tin đã giấu, sử dụng thủ tục giải mã cùng với khóa đã dung trong quá trình giấu để lấy lại thông tin. Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trình trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như hình 1.2 trong đó: - Thông tin cần giấu tuỳ theo mục đích của người sử dụng, nó có thể là thông điệp (với các tin bí mật) hay các logo, hình ảnh bản quyền. - Phương tiện chứa: các file ảnh, text, audio… là môi trường để nhúng tin - Bộ nhúng thông tin: là những chương trình thực hiện việc giấu tin - Đầu ra: là các phương tiện chứa đã có tin giấu trong đó Thông tin giấu Phân phối Phương tiện chứa(audio, ảnh, video) Bộ nhún g thôn g tin Trang 4 Khóa giấu tin Phương tiện chứa đã được giấu tin Hình 1.2: Lược đồ chung cho quá trình giấu tin Tách thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại với đầu ra là các thông tin đã được giấu vào phương tiện chứa. Phương tiện chứa sau khi tách lấy thông tin có thể được sử dụng, quản lý theo những yêu cầu khác nhau. Khóa giấu tin Phương tiện chứa đã được giấu tin Bộ giải mã tin Thông tin giấu Trang 5 Phương tiện chứa (audio, ảnh, video) Kiể m địn h Hình 1.3: Lược đồ chung cho quá trình giải mã Hình vẽ 1.3 chỉ ra các công việc giải mã thông tin đã giấu. Sau khi nhận được đối tượng phương tiện chứa 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 ban đầu. 1.2.3.Phân loại các kỹ thuật giấu tin a. Giấu tin trong ảnh: Hiện nay giấu thông tin trong ảnh là một bộ phận chiếm tỉ lệ lớn nhất trong các chưng trình ứng dụng 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 tò 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…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à nhiều viện nghiên cứu trên thế giới. Trang 6 Khi giấu thông tin trong ảnh, 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à gần như khi nhìn binh thường vào ảnh đó chúng ta không thể phát hiện ra rằng đằng sau ảnh là khối thông tin được ẩn trong đó. Ngày nay khi ảnh số được sử dụng rất phổ biến thì giấu thông tin trong ảnh là một công nghệ đem lại rất nhiều tác dụng quan trọng trên nhiều lĩnh vực trong đời sống xã hội. Ví dụ như đối với các nước phát triển, chữ kí tay đã được số hóa 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 chho phép người dùng lưu trữ chữ lí 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, qua mạng theo đó việc nhận thực chữ kí, xác thực 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 nào, tổ chức nào. Thêm vào đó lại có rất nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này được số hóa và lưu trữ trong hệ thống máy tính hay trên mạng. Chú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. Và một đặc điểm của giấu thông tin trong ảnh đó là thông tin được giấu trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó như là một cách mà truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu thông tin thì chất lượng ảnh gần như không thay đổi đặc biệt đối với ảnh mầu hay ảnh xám. 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ế. Trang 7 Chắc chắn sau vụ việc này, thì việc nghiên cứu các vấn đề liên quan đến giấu thông tin trong ảnh sẽ rất được quan tâm. b. Giấu thông tin trong audio: Giấu thông tin trong audio mang những đặc điểm khác so 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. Khác với kĩ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác thì 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. Một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn nên đã gây khó dễ đối với các phương pháp giấu tin trong audio. Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dả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. Ví dụ để nhúng một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình thường thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s. 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. c. Giấu tin trong video: Cũng như giấu 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 phương pháp giấu tin trong viedeo đượ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 gốc. Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các hệ Trang 8 số truyền sóng riêng để giấu tin. Trong các thuật toán khởi nguồn thường thi các kĩ thuật cho phép giấu các ảnh vào trong video nhưng thời gian gần đây các kĩ thuật cho phép giấu cả âm thanh và hình ảnh trong video. Như phương pháp của Swanson đã sử dụng phương pháp giấu theo khối, phương pháp này đã giấu được hai bít vào khối 8*8; hay gần đây nhất là phương pháp của Mukherjee là kĩ thuật giấu trong audio và video sử dụng cấu trúc lưới đa chiều…Kĩ thuật giấu thông tin trong video áp dụng cả những đặ điểm về thị giác và thính giác của con người. d.Giấu thông tin trong văn bản dạng text Giấu tin trong văn bản dạng text khó thực hiện hơn do đó ít các thông tin dư thừa, để làm được điều này người ta phải khéo léo khai thác các dư thừa tự nhiên của ngôn ngữ. Một cách khác là tận dụng các định dạng văn bản (mã hoá thông tin vào khoảng cách giữa các từ hay các dòng văn bản). Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không riêng gì dữ liệu đa phương tiện như ảnh, audio, video. Gần đây đã có một số nghiên cứu giấu tin trong cơ sở dữ liệu quan hệ, các gói IP truyền trên mạng chắc chắn sau này còn tiếp tục phát triển tiếp cho các môi trường dữ liệu số khác. 1.2.4. Phân loại theo cách thức tác động lên các phương tiện Phương pháp chèn dữ liệu: Phương pháp này tìm các vị trí trong file dễ bị bỏ qua và chèn dữ liệu cần giấu vào đó, cách giấu này không làm ảnh hưởng gì tới sự thể hiện các file dữ liệu ví dụ như được giấu sau các ký tự EOF. Phương pháp tạo các phương tiện chứa: Từ các thông điệp cần chuyển sẽ tạo ra các phương tiện chứa để phục vụ cho việc truyền thông tin đó, từ phía người nhận dựa trên các phương tiện chứa này sẽ tái tạo lại các thông điệp. 1.2.5. Phân loại theo các mục đích sử dụng - Giấu thông tin bí mật: đây là ứng dụng phổ biến nhất từ trước đến nay, đối với giấu thông tin bí mật người ta quan tâm chủ yếu tới các mục tiêu: Trang 9 + Độ an toàn của giấu tin - khả năng không bị phát hiện của giấu tin. + Lượng thông tin tối đa có thể giấu trong một phương tiện chứa cụ thể mà vẫn có thể đảm bảo an toàn + Độ bí mật của thông tin trong trường hợp giấu tin bị phát hiện - Giấu thông tin bí mật không quan tâm tới nhiều các yêu cầu bền vững của phương tiện chứa, đơn giản là bởi người ta có thể thực hiện việc gửi và nhận nhiều lần một phương tiện chứa đã được giấu tin - Giấu thông tin thuỷ vân: do yêu cầu bảo vệ bản quyền, xác thực… nên giấu tin thuỷ vân có yêu cầu khác với giấu tin bí mật. Yêu cầu đầu tiên là các dấu hiệu thuỷ vân đủ bền vững trước các tấn công vô hình hay cố ý gỡ bỏ nó. Thêm vào đó các dấu hiệu thuỷ vân phải có ảnh hưởng tối thiểu (về mặt cảm nhận) đối với các phương tiện chứa. Như vậy các thông tin cần giấu càng nhỏ càng tốt. Tuỳ theo các mục đích khác nhau như bảo vệ bản quyền, chống xuyên tạc nội dung, nhận thực thông tin,… thuỷ vân cũng có các yêu cầu khác nhau Các kỹ thuật giấu tin mới được phát triển mạnh trong khỏang mười năm trở lại đây nên việc phân loại các kỹ thuật còn chưa hoàn toàn thống nhất. Sơ đồ phân loại do F.Petitcolas đưa ra năm 1999 được nhiều người chấp nhận. Information hiding Giấu thông tin Steganography Giấu tin mật Watermarking Thuỷ vân số Robust Watermarking Thuỷ vân bền vững Fragile Watermarking Thuỷ vân dễ vỡ Trang 10 Visible Watermarking Thuỷ vân hiển thị Imperceptible Watermarking Thuỷ vân ẩn Hình 1.4. Phân loại các kỹ thuật giấu tin. Theo sơ đồ đây, giấu tin được chia thành hai hướng chính là giấu tin mật và thủy vân số. Giấu tin mật quan tâm chủ yếu đến lượng tincos thể giấu, còn thủy vân số lại quan tâm chủ yếu đến tính bền vững của thông tin giấu. trong từng hướng chính lại chia ra các hướng nhỏ hơn, chẳng hạn với thủy vân số thì có thủy vân bền vững và thủy vân dễ vỡ. Thủy vân bền vững cần bảo toàn được các thông tin thủy vân trước các tấn công như dịch chuyển, cắt xén, xoay đối với ảnh. Ngược lại, thủy vân dễ vỡ cần phải dễ bị phá hủy khi gặp các sự tấn công nói trên. 1.3. Một số ứng dụng đang được triển khai 1.3.1. Bảo vệ bản quyền tác giả (copyright protection): Đây 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 hay 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 Trang 11 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òn cách là phá huỷ sản phẩm. 1.3.2. 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 nên được ẩn để tránh được 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. 1.3.3. 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. Vớ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. 1.3.4. Đ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. Trang 12 CHƯƠNG II: TÌM HIỂU CÁC PHƯƠNG PHÁP GIẤU TIN TRONG ẢNH 2.1. Các định dạng ảnh thường được sử dụng để giấu tin. Cấu trúc ảnh nói chung gồm 3 phần chính: Header, dữ liệu, bảng màu. Tuy nhiên mỗi loại ảnh có những đặc trưng khác nhau, định dạnh một số loại ảnh cơ bản: Trang 13 2.1.1. Định dạng ảnh IMG. Ảnh IMG là ảnh đen trắng. Phần đầu của ảnh IMG có 16 byte chứa các thông tin cần thiết: + 6 byte đầu: dùng để đánh dấu định dạng ảnh IMG. Giá trị của 6 byte này viết 0x0001 0x0008 0x0001. + 2 byte tiếp theo: chứa độ dài mẫu tin. Đó là độ dài của dãy các byte kề liền nhau mà dãy này sẽ được lặp lại một số lần nào đó. Số lần lặp này sẽ được lưu trữ trong byte đếm. Nhiều dãy giống nhau được lưu trong một byte. Đó là cách lưu trữ nén. + 4 byte tiếp: mô tả kích cỡ pixel. + 2 byte tiếp: số pixel trên một dòng ảnh. + 2 byte 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. 2.1.2. Định dạng ảnh PCX. Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất. Nó sử dụng phương pháp mã loạt dài RLE để 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. 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. 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. Cấu trúc tệp ảnh dạng PCX Header 128 bytes Dữ liệu ảnh nén Bảng màu mở rộng Trang 14 Hình 2.1: Cấu trúc ảnh PCX Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bố như sau: + 1 byte: chỉ ra kiểu định dạng. Nếu là kiểu PCX/PCC nó có giá trị là 0Ah. + 1 byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau: - 0: version 2.5. - 2: version 2.8 với bảng màu. - 3: version 2.8 hay 3.0 không có bảng màu. - 5: version 3.0 có bảng màu. + 1 byte: chỉ ra phương pháp mã hoá. Nếu là 0 thì mã hoá theo phương pháp BYTE PACKED, nếu không là phương pháp RLE. + 1 byte: số bit cho một điểm ảnh plane. + 1 word: toạ độ góc trái trên của ảnh. Với kiểu PCX nó có giá trị là (0,0); còn PCC thì khác (0,0). + 1 word: toạ độ góc phải dưới. + 1 word: kích thước bề rộng và bề cao của ảnh. + 1 word: số điểm ảnh. + 1 word: độ phân giải màn hình. + 1 word. + 48 byte: chia thành 16 nhóm, mỗi nhóm 3 byte. Mỗi nhóm này chứa thông tin về một thanh ghi màu. Như vậy ta có 16 thanh ghi màu. + 1 byte: số bit plane mà ảnh sử dụng. Với ảnh 16 màu, giá trị này là 4, với ảnh 256 màu (1 pixel/ 8 bit) thì số bit plane lại là 1. Trang 15 + 1 byte: số bytes cho một dòng quét ảnh. + 1 word: kiểu bảng màu. + 58 byte: không dùng. Tóm lại, đị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. 2.1.3. Định dạng ảnh TIFF. Cấu trúc gồm có 3 phần: - Phần header IFH (Image File Header) có trong tất cả các tệp TIFF và gồm 8 byte. + 1 word: chỉ ra kiểu tạo tệp trên máy tính. + 1 word: version. + 2 word: giá trị Offset theo byte tính từ đầu file tới cấu trúc IFD. - Phần thứ hai IFD (Image File Directory): Nó không ở ngay sau IFH mà vị trí của nó được xác định bởi trường offset trong đầu tệp. Một IFD gồm: + byte: chứa các DE (Directory Entry). + 12 byte là các DE xếp liên tiếp. Mỗi DE chiếm 12 byte. + 4 byte: chứa Offset trỏ tới IFD tiếp theo. - Cấu trúc phần dữ liệu thứ 3: Các DE Các DE có độ dài cố định 12 byte và gồm 4 phần. + 2 byte: chỉ ra dấu hiệu mà ảnh đã được xây dựng. + 2 byte: kiểu dữ liệu của tham số ảnh. + 4 byte trường độ dài. + 4 byte đó là Offset tới điểm bắt đầu dữ liệu thực liên quan tới dấu hiệu, tức là dữ liệu liên quan với DE không phải lưu trữ vật lý cùng với nó nằm ở một Trang 16 vị trí nào đó trong file. Dữ liệu chứa trong tệ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. 2.1.4.Định dang ảnh GIF. Ảnh GIF (Graphics Interchange Format) 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 thường dùng cho sơ đồ, hình vẽ, nút bấm và các hình màu. 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ỏ. Đây là một giải pháp tốt cho hình ảnh trên mạng, cho các hoạt hình nhỏ và ngắn. GIF sử dụng thuật toán nén LOSS LESS (Không mất dữ liệu), điều đó cho phép chúng tạo ra kích thước nhỏ mà không bị mất hoặc mờ bất kỳ chi tiết nào của ảnh dữ liệu GIF note GIF header (7 byte) Globel Palette Header Image (10 byte) Palette of Image (nếu có) Data of Image 1 ‘,’ ký tự liên kết Trang 17 ………………….. ‘;’ terminator Hình 2.2: Cấu trúc ảnh Gif Chữ ký của ảnh. Bộ mô tả hiển thị. Bản đồ màu tổng thể. Mô tả một đối tượng của ảnh. - Dấu phân cách. - Bộ mô tả ảnh. - Bản đồ màu cục bộ. - Dữ liệu ảnh. Phần mô tả này lặp lại n lần nếu ảnh chứa n đối tượng. - Phần đầu cuối ảnh GIF (terminator). + Chữ ký của ảnh GIF có giá trị là GIF87a. Nó gồm 6 ký tự, 3 ký tự đầu chỉ ra kiểu định dạng, 3 ký tự sau chỉ ra version của ảnh. + Bộ hình thị: chứa mô tả các thông số cho toàn bộ ảnh GIF: Độ rộng hình raster theo pixel: 2 byte. Độ cao hình raster theo pixel: 2 byte. Các thông tin và bản đồ màu, hình hiển thị,… Thông tin màu nền: 1 byte. Phần chưa dùng: 1 byte. + Bản đồ màu tổng thể: mô tả bộ màu tối ưu đòi hỏi khi bit M=1. Trang 18 Khi bộ màu tổng thể được thể hiện, nó sẽ xác định ngay bộ mô tả hiển thị ở trên và bằng 2m, với m là lượng bit trên một pixel, 3 byte (biểu diễn cường độ màu của 3 màu cơ bản Red-Green-Blue). Cấu trúc của khối này như sau: Bit Thứ tự byte Mô tả Màu Red 1 Giá trị màu đỏ theo index 0 Màu Green 2 Giá trị màu xanh lục theo index 0 Màu Blue 3 Giá trị màu xanh lơ theo index 0 Màu Red 4 Giá trị màu đỏ theo index 1 Màu Green 5 Giá trị màu xanh lục theo index 1 Màu Blue 6 Giá trị màu xanh lơ theo index 0 Hình 2.3: Cấu trúc của khối bản đồ màu tổng thể + Bộ mô tả ảnh: định nghĩa vị trí thực tế và phần mở rộng của ảnh trong phạm vi không gian ảnh đã có trong phần mô tả hiển thị. Nếu ảnh biểu diễn theo ánh xạ màu cục bộ thì cờ định nghĩa phải được thiết lập. Mỗi bộ mô tả ảnh được chỉ ra bởi ký tự kết nối ảnh. Ký tự này chỉ được dùng khi định dạng GIF có từ 2 ảnh trở lên. Ký tự này có các giá trị 0x2c (ký tự dấu phẩy). Khi ký tự này được đọc qua, bộ mô tả ảnh sẽ được kích hoạt. Bộ mô tả ảnh gồm 10 byte và có cấu trúc như sau: Các bit Thứ tự Mô tả byte 0010110 1 Ký tự liên kết ảnh (‘) Căn trái 2,3 Pixel bắt đầu ảnh tính từ trái hình hiển thị 4,5 Pixel cuối ảnh bắt đầu tính từ đỉnh trên hình hiển ảnh Căn đỉnh trên Độ rộng thị 6,7 Độ rộng ảnh tính theo pixel Trang 19 ảnh Độ cao ảnh 8,9 Chiều cao ảnh tính theo pixel MI000pixel 10 Khi bit M=0 sử dụng bảng màu tổng thể. M=1 sử dụng bản đồ màu cục bộ. I = 0: định dạng ảnh theo thứ tự liên tục. I = 1: định dạng ảnh theo thứ tự xen kẽ pixel + 1: số bit/pixel của ảnh này. Hình 2.4: Cấu trúc bộ mô tả ảnh + Bản đồ màu cục bộ: chỉ được chọn khi bit M của byte thứ 10 là 1. Khi bản đồmàu được chọn, bản đồ màu sẽ chiếu theo bộ mô tả ảnh mà lấy vào cho đúng. Tại phần cuối ảnh, bản đồ màu sẽ lấy lại phần xác lập sau bộ mô tả hiển thị. Các tham số này không những chỉ cho biết kích thước ảnh theo pixel mà còn chỉ ra số thực thể bản đồ màu của nó. + Dữ liệu ảnh: chuỗi các giá trị có thứ tự của các pixel màu tạo nên ảnh. Các pixel được xếp liên tục trên một dòng ảnh, từ trái qua phải. Các dòng ảnh được viết từ trên xuống dưới. + Phần kết thúc ảnh: cung cấp tính đồng bộ cho đầu cuối của ảnh GIF. Cuối của ảnh sẽ xác định bởi kí tự “;” (0x3b). Định dạng GIF có rất nhiều ưu điểm và đã được công nhận là chuẩn để lưu trữ ảnh màu thực tế (chuẩn ISO 0918-1). 2.1.5. Định dạng ảnh .JPEG Đây cũng là một định dạng ảnh phổ biến được sử dụng, nhưng đặc điểm của loại ảnh này là đây là loại ảnh nén. Ảnh JPEG là một trong những định dạng của phương pháp nén ảnh JPEG(Joint Photographic Experts Group). Do đó sự mất mát thông tin có thể xảy ra khi tiến hành nén và sau giải nén thì tập tin ảnh sẽ khác với ảnh ban đầu, chất lượng ảnh bị suy giảm khi giải nén, sự suy giảm này tăng theo hệ số nén. Ưu điểm của loại tập tin ảnh này là nếu được giấu tin thì có thể truyền Trang 20
- Xem thêm -

Tài liệu liên quan